專利名稱:控制非易失性存儲器的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種非易失性存儲器系統(tǒng)及非易失性存儲器系統(tǒng)的數(shù)據(jù)讀/寫方法, 該存儲器系統(tǒng)包括非易失性存儲器和可操作來執(zhí)行該存儲器的讀/寫控制的存儲器控制ο背景技術(shù)
已知與非(NAND)型閃速存儲器作為電可擦可編程非易失性半導(dǎo)體存儲器 (EEPROM)的一種。與或非(NOR)型相比,與非(NAND)型閃速存儲器的單位單元面積更小, 且易于實(shí)現(xiàn)大容量存儲。盡管可以擴(kuò)大對于在單元陣列和頁緩沖器之間同時地執(zhí)行讀/寫是有效的單元范圍(物理頁長度,以基本實(shí)現(xiàn)快速的讀/寫,但是與或非(NOR)型相比,每單元讀/寫速度較慢。
隨著這種性能的有效使用,在多種記錄介質(zhì)中,包括文件存儲器和存儲卡中,已采用與非(NAND)型閃速存儲器。
在存儲卡等中,非易失性存儲器和存儲器控制器被封裝在一起,以根據(jù)從主機(jī)饋送的命令和邏輯地址,執(zhí)行非易失性存儲器的讀/寫控制。例如,(JP2006/155335A)提出了,從主機(jī)饋送邏輯地址和扇區(qū)計(jì)數(shù)(sector count),以從多個扇區(qū)讀取數(shù)據(jù)。發(fā)明內(nèi)容
在一個方面,本發(fā)明提供一種可連接到主機(jī)設(shè)備的非易失性存儲器系統(tǒng)。該系統(tǒng)包括具有多個數(shù)據(jù)區(qū)的非易失性存儲器;以及可操作來控制對非易失性存儲器的讀取和寫入的存儲器控制器。該存儲器控制器根據(jù)從主機(jī)設(shè)備饋送的命令、扇區(qū)計(jì)數(shù)和扇區(qū)地址, 對非易失性存儲器中的所選數(shù)據(jù)區(qū)內(nèi)的多個扇區(qū)連續(xù)地執(zhí)行讀/寫。
在一個方面,本發(fā)明提供一種用于可連接到主機(jī)設(shè)備的非易失性存儲器系統(tǒng)的數(shù)據(jù)讀/寫方法。該系統(tǒng)包括具有多個數(shù)據(jù)區(qū)的非易失性存儲器和可操作來控制對非易失性存儲器的讀和寫操作的存儲器控制器。該方法包括提供來自主機(jī)設(shè)備的命令、扇區(qū)計(jì)數(shù)和扇區(qū)地址;以及在存儲器控制器的控制下,根據(jù)命令、扇區(qū)計(jì)數(shù)和扇區(qū)地址,對非易失性存儲器中的所選數(shù)據(jù)區(qū)內(nèi)的多個扇區(qū)連續(xù)地執(zhí)行讀/寫。
在另一個方面,本發(fā)明提供一種控制非易失性存儲器的方法,包括在命令鎖存使能信號(CLE)被置為有效的情況下將第一命令輸入所述非易失性存儲器;在輸入第一命令之后,在地址鎖存使能信號(ALE)被置為有效的情況下將數(shù)據(jù)傳送量輸入所述非易失性存儲器;在輸入所述數(shù)據(jù)傳送量之后,在命令鎖存使能信號(CLE)被置為有效的情況下將第二命令輸入所述非易失性存儲器。
圖1是說明根據(jù)本發(fā)明實(shí)施例的LBA-NAND存儲器系統(tǒng)結(jié)構(gòu)的視圖。
圖2是說明LBA-NAND存儲器的功能塊的視圖。
圖3是說明LBA-NAND存儲器中的存儲器單元陣列結(jié)構(gòu)的視圖。
圖4是說明LBA-NAND存儲器的管腳布置的視圖。
圖5是說明LBA-NAND存儲器的管腳名稱與功能的視圖。
圖6是說明LBA-NAND存儲器中記錄的系統(tǒng)數(shù)據(jù)的視圖。
圖7是說明LBA-NAND存儲器的操作模式以及命令的視圖。
圖8是說明LBA-NAND存儲器的操作模式當(dāng)中的切換的例子的視圖。
圖9是說明LBA-NAND存儲器的操作模式當(dāng)中的切換的另一例子的視圖。
圖10是說明LBA-NAND存儲器中的數(shù)據(jù)結(jié)構(gòu)的視圖。
圖IlA是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分1)。
圖IlB是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分2)。
圖IlC是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分3)。
圖IlD是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分4)。
圖IlE是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分5)。
圖IlF是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分6)。
圖IlG是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分7)。
圖IlH是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分8)。
圖IlI是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分9)。
圖IlJ是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分10)。
圖12是用于LBA-NAND存儲器的命令列表。
圖13是說明對LBA-NAND存儲器的各種信號的鎖存時序的圖。
圖14是說明以同樣方式的命令輸入周期(cycle)時序圖。
圖15是說明以同樣方式的用于節(jié)能模式的命令輸入周期時序的圖。
圖16是說明以同樣方式的在數(shù)據(jù)讀取之后的命令輸入時序的圖。
圖17是說明以同樣方式的地址輸入周期時序的圖。
圖18是說明以同樣方式的用于峰值電流減小模式的地址輸入周期時序的圖。
圖19是說明以同樣方式的數(shù)據(jù)輸入時序的圖。
圖20是說明以同樣方式的串行讀取時序的圖。
圖21是說明以同樣方式的狀態(tài)讀取時序的圖。
圖22是以同樣方式的讀取周期時序的圖。
圖23是說明以同樣方式的串行-EEP模式建立(set-up)時序的圖。
圖M是說明使用公共管腳從PNR模式和串行-EEP模式中選擇的例子視圖。
圖25是具有錯誤檢查的PNR模式中的時序圖(1_1)。
圖沈是具有錯誤檢查的PNR模式中的時序圖(1-2)。
圖27是具有錯誤檢查的PNR模式中的時序圖(1_3)。
圖28是具有錯誤檢查的PNR模式中的時序圖(1_4)。
圖29是具有錯誤檢查的PNR模式中的時序圖(1-5)。
圖30是PNR模式的流程圖。
圖31是缺省類型的MDA模式中的讀訪問的時序圖(在1個扇區(qū)的情況下)。
圖32是缺省類型的MDA模式中的讀訪問的時序圖(在256個扇區(qū)的情況下)。
圖33是缺省類型的MDA模式中的讀訪問的時序圖(在64K個扇區(qū)的情況下)。
圖34是在要使用終止命令中斷的MDA模式中的讀時序圖。
圖35是具有重傳請求的MDA模式中的讀時序圖。
圖36是在輸入終止命令之后重起動新的序列時的時序圖。
圖37是可選讀類型B(I)的MDA模式中的讀訪問的時序圖。
圖38是可選讀類型B(2)的MDA模式中的讀訪問的時序圖。
圖39是可選讀類型B(3)的MDA模式中的讀訪問的時序圖。
圖40是可選讀類型B(4)的MDA模式中的讀訪問的時序圖。
圖41是可選讀類型C(I)的MDA模式中的讀訪問的時序圖。
圖42是可選讀類型C(2)的MDA模式中的讀訪問的時序圖。
圖43是可選讀類型C(3)的MDA模式中的讀訪問的時序圖。
圖44是可選讀類型C(4)的MDA模式中的讀訪問的時序圖。
圖45是當(dāng)發(fā)生非法訪問(情況1)時MDA模式中的讀時序圖。
圖46是當(dāng)發(fā)生非法訪問(情況2)時MDA模式中的讀時序圖。
圖47是MDA模式中的寫訪問的時序圖(在1個扇區(qū)的情況下)。
圖48是MDA模式中的寫訪問的時序圖(在256個扇區(qū)的情況下)。
圖49是MDA模式中的寫訪問的時序圖(在64K個扇區(qū)的情況下)。
圖50是在要使用終止命令中斷的MDA模式中的寫訪問的時序圖。
圖51是具有數(shù)據(jù)重傳的MDA模式中的寫訪問的時序圖。
圖52是說明關(guān)于MDA模式寫的寫錯誤類型的視圖。
圖53是可選寫類型的MDA模式寫的時序圖。
圖54是當(dāng)發(fā)生非法訪問(情況1)時的MDA模式寫的時序圖。
圖55是當(dāng)發(fā)生非法訪問(情況2)時的MDA模式寫的時序圖。
圖56是缺省類型的PNA模式中的讀訪問的時序圖。
圖57是在要使用終止命令中斷的PNA模式中的讀訪問的時序圖。
圖58是具有重讀的PNA模式中的讀訪問的時序圖。
圖59是可選讀類型B(I)的PNA模式中的讀訪問的時序圖。
圖60是可選讀類型B(2)的PNA模式中的讀訪問的時序圖。
圖61是可選讀類型B(3)的PNA模式中的讀訪問的時序圖。
圖62是可選讀類型B(4)的PNA模式中的讀訪問的時序圖。
圖63是可選讀類型C(I)的PNA模式中的讀訪問的時序圖。
圖64是可選讀類型C(2)的PNA模式中的讀訪問的時序圖。
圖65是可選讀類型C(3)的PNA模式中的讀訪問的時序圖。
圖66是PNA模式中的讀訪問的時序圖。
圖67是在要使用終止命令中斷的PNA模式中的寫訪問的時序圖。6
圖68是關(guān)于與傳送錯誤相關(guān)聯(lián)的數(shù)據(jù)重傳的PNA模式中的寫訪問的時序圖。
圖69是可選寫類型的PNA模式中的寫訪問的時序圖。
圖70是缺省寫類型的VFA模式中的寫訪問的時序圖。
圖71是在要使用終止命令中斷的VFA模式中的讀時序圖。
圖72是用于重讀的VFA模式中的讀訪問的時序圖。
圖73是可選讀類型B(I)的VFA模式中的讀訪問的時序圖。
圖74是可選讀類型W2)的VFA模式中的讀訪問的時序圖。
圖75是可選讀類型B(3)的VFA模式中的讀訪問的時序圖。
圖76是可選讀類型B(4)的VFA模式中的讀訪問的時序圖。
圖77是可選讀類型C(I)的VFA模式中的讀訪問的時序圖。
圖78是可選讀類型以2)的VFA模式中的讀訪問的時序圖。
圖79是可選讀類型C(3)的VFA模式中的讀訪問的時序圖。
圖80是VFA模式中的寫訪問的時序圖(1個扇區(qū))。
圖81是VFA模式中的寫訪問的時序圖Q56個扇區(qū))。
圖82是在要使用終止命令中斷的VFA模式中的寫訪問的時序圖。
圖83是具有錯誤恢復(fù)的VFA模式中的寫訪問的時序圖。
圖84是可選寫類型的VFA模式中的寫訪問的時序圖。
圖85是包括錯誤處理的PNR模式中的流程視圖。
圖86是說明在讀訪問時包括錯誤處理的PNR、VFA、MDA模式中的流程的視圖。
圖87是說明在寫訪問時包括錯誤處理的PNR、VFA、MDA模式中的流程的視圖。
圖88是執(zhí)行用于將特定模式改變到MDA模式的改變命令的時序圖。
圖89是執(zhí)行用于將特定模式改變到PNA模式的改變命令的時序圖。
圖90是執(zhí)行用于將特定模式改變到VFA模式的改變命令的時序圖。
圖91是NOP命令的注冊(registration)的時序圖。
圖92是另一 NOP命令的注冊的時序圖。
圖93是與固件重加載命令相關(guān)的操作的時序圖。
圖94是繁忙/就緒改變命令的時序圖。
圖95是ID讀命令的時序圖。
圖96是狀態(tài)讀命令的時序圖。
圖97是密碼設(shè)置命令的時序圖。
圖98是VFA單元設(shè)置命令的時序圖。
圖99是固件更新執(zhí)行命令的時序圖。
圖100是地址復(fù)位命令的時序圖。
圖101是固件重加載命令的時序圖。
圖102是讀/寫終止命令的時序圖。
圖103是固件更新發(fā)送命令的時序圖。
圖104是說明主機(jī)I/O和LBA-NAND存儲器內(nèi)部操作之間關(guān)系的視圖。
圖105是說明固件更新中的錯誤處理流程的視圖。
圖106是數(shù)據(jù)刷新執(zhí)行命令的時序圖。
圖07是MDA區(qū)擦除命令的時序圖。
圖08是閃存高速緩存(flash cache)執(zhí)行命令的時序圖。
圖09是傳送協(xié)議設(shè)置命令的時序圖。
圖10是最小繁忙時間設(shè)置命令的時序圖。
圖11是節(jié)能模式設(shè)置命令的時序圖。
圖12是應(yīng)用了節(jié)能模式設(shè)置命令的讀時序圖。
圖13是應(yīng)用了節(jié)能模式設(shè)置命令的命令鎖存時序圖。
圖14是節(jié)能模式退出命令的時序圖。
圖15是地址信息獲取命令的時序圖。
圖16是最大容量信息獲取命令的時序圖。
圖17是管腳信息獲取命令的時序圖。
圖18是與讀重試命令相關(guān)的讀時序圖。
圖19是伴隨有狀態(tài)信息讀取的扇區(qū)讀類型A的時序圖。
圖20是伴隨有狀態(tài)信息讀取的扇區(qū)讀類型B的時序圖。
圖21是伴隨有狀態(tài)信息讀取的扇區(qū)讀類型C的時序圖。
圖22是伴隨有狀態(tài)信息讀取的扇區(qū)寫類型A的時序圖。
圖23是伴隨有狀態(tài)信息讀取的扇區(qū)寫類型B的時序圖。
圖24是用于說明PNR模式下的狀態(tài)信息讀取操作的圖形。
圖25是用于說明VFA/MDA模式下的狀態(tài)信息讀取操作的圖形。
圖26是用于說明啟動(boot)代碼維護(hù)模式下的狀態(tài)信息讀取操作的圖形。
圖27是共同地示出了 LBA-NAND存儲器的每種操作模式和波-模(wave-mode)切換的圖形。
具體實(shí)施方式
現(xiàn)在將參考附圖描述本發(fā)明的實(shí)施例。
[存儲器系統(tǒng)概述]
本實(shí)施例的非易失性存儲器系統(tǒng)用存儲模塊來配置,該存儲模塊包括一個或多個NAND型閃速存儲器,以及可操作來執(zhí)行存儲器的讀/寫控制的存儲器控制器。所有安裝的閃速存儲器可以由單個存儲器控制器控制作為邏輯存儲器,這在下面稱為邏輯塊地址 (Logical Block Address) NAND閃速存儲器(下面縮寫為LBA-NAND存儲器)。
LBA-NAND存儲器具有可根據(jù)命令改變的多個數(shù)據(jù)區(qū)(邏輯塊訪問區(qū))。具體地, 本實(shí)施例包括以下三個數(shù)據(jù)區(qū),該三個數(shù)據(jù)區(qū)基于數(shù)據(jù)的用途和可靠性來劃分。
(1)用于廠商(vender)應(yīng)用的程序區(qū)“廠商應(yīng)用程序固件區(qū)”,下面稱為“VFA”區(qū)。
(2)用于最終用戶應(yīng)用的程序區(qū),“音樂數(shù)據(jù)區(qū)”,下面稱為“MDA”區(qū)。
(3)用于記錄主機(jī)系統(tǒng)的啟動數(shù)據(jù)的系統(tǒng)數(shù)據(jù)記錄區(qū),除VFA和MDA區(qū)外的“純 NAND區(qū)”,下面稱為“PNA”區(qū)。
PNA區(qū)被給予普通訪問模式,用于根據(jù)輸入命令和地址執(zhí)行讀/寫操作(下面稱為 “PNA”模式),以及附加地在通電(power-on)時設(shè)置的兩種只讀模式。
一種模式是通電之后用第一 PNA讀模式命令的輸入設(shè)置的讀模式。這在下面稱為8“ PNR (純NAND讀取)”模式。
另一種模式是通電之后用第二 PNA讀模式命令的輸入設(shè)置的讀模式,用于與外部時鐘同步地在SPI (串行外圍接口)模式中的串行讀取。下面該模式被稱為“串行-EEP”模式。
對于讀取對LBA-NAND存儲器的讀/寫操作所需的系統(tǒng)數(shù)據(jù)和從LBA-NAND存儲器讀取主機(jī)本身的啟動數(shù)據(jù),這兩種讀模式是相同的。因此,PNR模式可以被解釋為在廣義上包含這兩種模式,而串行-EEP模式可以被認(rèn)為是PNR模式當(dāng)中的特定模式。
在通電之后自動地執(zhí)行的初始化操作(通電初始建立操作)中,從閃速存儲器自動地讀出存儲器控制器所需的系統(tǒng)數(shù)據(jù)(固件FW)和啟動數(shù)據(jù),并傳送到數(shù)據(jù)寄存器(緩沖器RAM)。例如,在存儲器控制器中制備的硬件序列發(fā)生器上,執(zhí)行該讀控制。
當(dāng)通電之后流逝一定的時間主機(jī)輸入命令時,建立PNR模式或串行-EEP模式,以讀出設(shè)置在LBA-NAND存儲器的數(shù)據(jù)寄存器中的系統(tǒng)數(shù)據(jù)。可以在數(shù)據(jù)被讀到主機(jī)中的PNR 區(qū)中之后(或與此并行地),啟動存儲器控制器。
除了在通電時用于PNR區(qū)的讀模式以外,還可以根據(jù)命令建立用于對PNA、MDA和 VFA區(qū)的讀和寫訪問的模式。下面,這些模式被稱為PNA訪問模式、MDA訪問模式和VFA訪問模式。
在應(yīng)用程序區(qū)中,或者VFA和MDA區(qū)中,讀/寫訪問的數(shù)據(jù)傳送單元是扇區(qū)(512 字節(jié)或5 字節(jié)),數(shù)據(jù)傳送格式是SSFDC(固態(tài)軟盤卡)格式。LBA-NAND存儲器使用扇區(qū)倍數(shù)來選擇使用訪問命令時可訪問的扇區(qū)數(shù)目。例如,用戶可以在1、4和8的扇區(qū)倍數(shù)當(dāng)中來選擇。
扇區(qū)計(jì)數(shù)(sector count)的使用允許每一個命令訪問許多連續(xù)的扇區(qū)??偠灾?,與該命令一起,主機(jī)設(shè)備提供表示數(shù)據(jù)量的扇區(qū)計(jì)數(shù)和扇區(qū)地址(邏輯地址)初始值, 以便可以從由此限定的多個扇區(qū)連續(xù)地讀取數(shù)據(jù),或?qū)?shù)據(jù)連續(xù)地寫入由此限定的多個扇區(qū)。
具體地,地址輸入由5個字節(jié)構(gòu)成,其中前半部分,2字節(jié)被分配給扇區(qū)計(jì)數(shù),而后半部分,3個字節(jié)被分配給扇區(qū)地址。該訪問模式允許使用地址條件ID命令識別扇區(qū)計(jì)數(shù)和扇區(qū)地址。地址輸入的字節(jié)數(shù)可擴(kuò)展。
為了改變LBA-NAND存儲器的模式,輸入模式改變命令??偠灾?,利用特定的命令的輸入,通電時的PNR模式或串行-EEP模式被改變?yōu)镸DA訪問模式。此外,特定的改變命令的輸入使得在PNR模式、VFA訪問模式和MDA訪問模式當(dāng)中改變。
在存儲器控制器處產(chǎn)生內(nèi)部芯片使能信號/CE。使用該信號控制每個閃速存儲器檢查。
LBA-NAND存儲器的擦除命令和復(fù)位命令是NOP。在發(fā)出該命令時,該控制什么都不執(zhí)行,并將就緒(Ready)返回到主機(jī)。
[LBA-NAND 存儲器結(jié)構(gòu)]
圖1示出了根據(jù)一實(shí)施例的非易失性存儲器系統(tǒng)或LBA-NAND存儲器20的結(jié)構(gòu)。 該存儲器20包括NAND型閃速存儲器芯片21和可操作來執(zhí)行用于存儲器的讀/寫控制的存儲器控制器22,兩者被一體地封裝。
閃速存儲器芯片21可以包括多個存儲器芯片。圖1示出了兩個存儲器芯片,芯片1、芯片2,在此情況下,這兩個存儲器芯片也可以由單個存儲器控制器22控制。存儲器芯片的最大可安裝數(shù)目可以根據(jù)調(diào)節(jié)器(regulator)的電流能力及其他因素決定,例如,可以是4個芯片。
存儲器控制器22是單芯片式控制器,其包括用于處理到閃速存儲器芯片21/來自閃速存儲器芯片21的數(shù)據(jù)傳送的NAND閃存接口 23 ;用于處理到主機(jī)設(shè)備/來自主機(jī)設(shè)備的數(shù)據(jù)傳送的主機(jī)接口 25 ;可操作來臨時地保持讀/寫數(shù)據(jù)等的緩沖器RAM 26 ;用來執(zhí)行數(shù)據(jù)傳送控制的MPU 24;以及用于NAND型閃速存儲器21中的固件(FW)的讀/寫序列控制等的硬件序列發(fā)生器27。
對于該LBA-NAND存儲器系統(tǒng)來說,由不同的芯片構(gòu)成存儲器芯片21和存儲器控制器22不是必需的。圖2示出了圖1的LBA-NAND存儲器20的功能塊結(jié)構(gòu),其中存儲器控制器22和存儲器芯片21的邏輯控制看起來在一起。圖3示出了其存儲器核心的單元陣列結(jié)構(gòu)。
存儲器單元陣列1包括多個串聯(lián)連接的電可擦可編程非易失性半導(dǎo)體存儲器單元(在所示的例子中,32個存儲器單元)M0-M31,以形成如圖3所示排列的多個NAND基本單元(NAND串)NU中的一個。
NAND基本單元NU具有經(jīng)由選擇柵極晶體管(selection gate transistor) Sl連接到位線BLo、BLe的一端和經(jīng)由選擇柵極晶體管S2連接到公共源極線CELSRC的另一端。 存儲器單元M0-M31具有分別連接到字線Wi)-WL31的控制柵。選擇柵極晶體管S1、S2具有連接到選擇柵極線S⑶、SGS的柵極。
沿字線排列的一組NAND基本單元構(gòu)成數(shù)據(jù)擦除最小單元或塊,并且沿位線布置多個這種塊BLKO-BLKn-I,如圖所示。
在位線BLo、BLe的一端布置感測放大器電路3,以服務(wù)單元數(shù)據(jù)讀和寫操作。在字線的一端布置行解碼器2,以有選擇地驅(qū)動字線和選擇柵極線。在所示的情況下,偶數(shù)位線BLe和相鄰的奇數(shù)位線BLo通過位線選擇器有選擇地連接到感測放大器電路3中的每個感測放大器SA。
通過輸入控制器13輸入命令、地址和數(shù)據(jù)。芯片使能信號/CE、寫使能信號/WE、 讀使能信號/RE及其他外部控制信號被輸入到邏輯電路14中,以用于時序控制。在命令解碼器8處將命令解碼。
控制器6可操作來執(zhí)行數(shù)據(jù)傳送的控制和寫/擦除/讀的序列控制。狀態(tài)寄存器 11可操作來向就緒/繁忙端子提供LBA-NAND存儲器20的就緒/繁忙狀態(tài)。除此以外,狀態(tài)寄存器12被制備來經(jīng)由1/0端口將存儲器20的狀態(tài)(通過/失敗,就緒/繁忙等)通知主機(jī)。
地址經(jīng)由地址寄存器5傳送到行解碼器2 (包括預(yù)行解碼器加和主行解碼器2b) 和列解碼器4。寫數(shù)據(jù)經(jīng)由1/0控制電路7和經(jīng)由控制電路6加載到感測放大器電路3(包括感測放大器3a和數(shù)據(jù)寄存器北)中。讀數(shù)據(jù)被經(jīng)由控制電路6和1/0控制電路7提供到外部。
為了根據(jù)不同的操作模式產(chǎn)生所需的高電壓,提供高壓發(fā)生器10。高壓發(fā)生器10 基于從控制電路6給出的指令,產(chǎn)生一定的高電壓。
圖4示出了該實(shí)施例的LBA-NAND存儲器中的封裝管腳布置,以及圖5概要示出了管腳名稱和功能。為了比較,這些圖示出了常規(guī)NAND型閃速存儲器SLC大區(qū)塊 (Large Block))中的封裝管腳布置。
輸入/輸出端口 I/01-I/08被用于以字節(jié)為基礎(chǔ)的命令、地址和數(shù)據(jù)的輸入/輸出。外部控制信號端子可以包括用于芯片使能信號/CE、寫使能信號/WE、讀使能信號/RE、 命令鎖存使能信號CLE、以及地址鎖存使能信號ALE的端子。
I/O信號是地址、數(shù)據(jù)或命令信號。命令鎖存使能(CLE)信號是用于控制LBA-NAND 存儲器中取(taking)操作命令的信號。當(dāng)響應(yīng)于寫使能(/WE)信號的上升或下降,該信號被設(shè)置為“高(H)”電平時,在LBA-NAND存儲器中可以取輸入/輸出端口 I/00-I/07上的數(shù)據(jù)作為命令數(shù)據(jù)。
地址鎖存使能(ALE)信號是用于控制在LBA-NAND存儲器中取地址數(shù)據(jù)的信號。當(dāng)響應(yīng)于寫使能(/WE)信號的上升或下降,該信號被設(shè)置為“高”電平時,在LBA-NAND存儲器中可以取輸入/輸出端口 I/00-I/07上的數(shù)據(jù)作為地址數(shù)據(jù)。
芯片使能(/CE)信號是設(shè)備選擇信號,以及當(dāng)在就緒狀態(tài)中設(shè)為“高”電平時,該信號建立低功率待機(jī)模式。
寫使能(/WE)信號是用于將數(shù)據(jù)從輸入/輸出端口 I/00-I/07取到設(shè)備中的信號。
讀使能(/RE)信號是用于允許輸入/輸出端口 I/00-I/07串行提供數(shù)據(jù)到外部的信號。
從主機(jī)設(shè)備看時,該實(shí)施例的存儲器具有與常規(guī)NAND型閃速存儲器相同的信號端子布置,以及作為一種特性,其可以象常規(guī)NAND型閃速存儲器一樣被處理。換句話說,圖 1所示的主機(jī)接口 25具有等同于NAND閃存接口 23的電氣結(jié)構(gòu)。
因此,除了從主機(jī)提供的地址不是NAND型閃速存儲器21上的物理地址而是邏輯地址之外,它可以象常規(guī)NAND型閃速存儲器一樣被處理。在MPU M處從主機(jī)提供的邏輯地址經(jīng)受地址轉(zhuǎn)換,以訪問NAND型閃速存儲器21。
“DATA”和“CLK”是串行-EEP模式中用于LBA-NAND存儲器20的操作的數(shù)據(jù)和時鐘端子,以及“/HOLD”是其暫停端子。
定制控制管腳“C0M0”、“C0M1”和“COME”被制備用于關(guān)于設(shè)備的當(dāng)前信息的請求和關(guān)于特殊的數(shù)據(jù)輸入/輸出的請求。
圖6示出了將被記錄在PNA區(qū)中的主機(jī)系統(tǒng)的系統(tǒng)數(shù)據(jù)(包括啟動數(shù)據(jù))的記錄狀態(tài)。該系統(tǒng)數(shù)據(jù)被記錄在閃速存儲器芯片21中的引導(dǎo)塊BLKO中。該系統(tǒng)數(shù)據(jù)被要求具有高可靠性,且因此特別給出以下考慮。
在塊中的字線mi)-WL31當(dāng)中,至少在兩端的字線WL0、WL31不被采用,因?yàn)猷徑谶x擇柵極晶體管的單元具有比其他單元更大的寫干擾。替換地,通過每隔一行或每隔幾行使用字線,可以保證高得多的數(shù)據(jù)可靠性。
該單元陣列具有多個同時讀/寫范圍,諸如,使用偶數(shù)位線BLe和一個字線選擇的偶數(shù)頁和使用奇數(shù)位線BLo和一個字線選擇的奇數(shù)頁。該系統(tǒng)數(shù)據(jù)僅僅被記錄在這些頁之一中(在該例子中,偶數(shù)頁)。每隔幾行使用位線對于進(jìn)一步增強(qiáng)可靠性也是有效的。
因?yàn)樽钚」に嚦叽?設(shè)計(jì)規(guī)則)被制作較小,相鄰單元之間的干擾引起較大的數(shù)據(jù)波動。因此,該實(shí)施例通過僅僅使用偶數(shù)頁或奇數(shù)頁,保證系統(tǒng)數(shù)據(jù)的可靠性。
例如,如果LBA-NAND存儲器是能在一個存儲器單元中儲存2位G個值)數(shù)據(jù)的多值存儲器,則2個頁地址,或較上頁和較下頁(lower page),被分配給該2位。即使當(dāng) LBA-NAND存儲器用來以此方式存儲多個值時,對于要求具有更高可靠性的系統(tǒng)數(shù)據(jù)部分也優(yōu)選應(yīng)用僅僅使用較下頁的二進(jìn)制存儲方案。
如圖6所示,僅僅偶數(shù)頁的較下頁被用于系統(tǒng)數(shù)據(jù)部分。
以包括冗余區(qū)的數(shù)據(jù)的形式,執(zhí)行串行-EEP模式中的系統(tǒng)數(shù)據(jù)的輸出。如果在讀取時發(fā)生某些符號(symbol)的數(shù)據(jù)錯誤,那么用備用塊來替換該數(shù)據(jù)。如果發(fā)生8個或更多個符號的數(shù)據(jù)錯誤,那么照原樣輸出未糾正的數(shù)據(jù),并就該狀態(tài)顯示讀錯誤。
[系統(tǒng)概述和模式改變]
圖7概括地示出了 LBA-NAND存儲器的系統(tǒng)概述。如上所述,該存儲器具有三個數(shù)據(jù)區(qū),或PNA、VFA和MDA區(qū),以及附加地具有控制器系統(tǒng)區(qū)。該控制器系統(tǒng)區(qū)是其中存儲 LBA-NAND存儲器中的存儲器控制器的固件(FW)的區(qū)域。
作為“純NAND”模式,有PNR模式,該P(yáng)NR模式是在通電時建立的用于PNA區(qū)的讀模式。使用命令<00h>-<Add>-<30h>建立PNR模式。在此情況下,地址<Add>是虛地址。
在該例子中,命令中的<h>表示十六進(jìn)制數(shù)。實(shí)際上,將8位信號“00000000”并行給到8輸入/輸出端口 1/00-107。
“LBA-NAND”模式的例子包括分別用于對PNA、VFA和MDA區(qū)進(jìn)行讀/寫訪問的PNA 訪問模式、VFA訪問模式和MDA訪問模式。
利用多個命令,執(zhí)行在PNR模式、PNA訪問模式、VFA訪問模式和MDA訪問模式之間改變。圖8和9示出了兩種模式變化視圖。
如圖8所示,禾Ij用COME = “L,,(或COME =“H,,)禾口 PNR模式命令 <00h>-<Add>-<30h>,在通電之后建立PNR模式。在完成PNR模式中作業(yè)之后,命令<FCh> 的輸入導(dǎo)致到MDA訪問模式的轉(zhuǎn)變。
此后,改變命令的輸入使得可以在訪問模式PNA-MDA-VFA當(dāng)中變化。
如圖9所示,利用COME = “H”,C0M0 = “H”和COMl = “L”,在通電之后建立串行-EEP模式。串行-EEP模式是其中PNR中可讀的數(shù)據(jù)也通過串行EEP接口提供到外部的模式。作為串行EEP接口,可以采用SPI接口。
同樣在此情況下,在完成作業(yè)之后,命令<FCh>的輸入導(dǎo)致到MDA訪問模式的轉(zhuǎn)變。此后,改變命令的輸入使得可以在訪問模式pna-MDA-VFA當(dāng)中改變。
[數(shù)據(jù)結(jié)構(gòu)]
圖10示出了不同的數(shù)據(jù)區(qū)中的數(shù)據(jù)結(jié)構(gòu)。
對于讀和寫兩者,PNA區(qū)中的數(shù)據(jù)被給予2112字節(jié)(2048字節(jié)+64字節(jié))的傳送單元。當(dāng)各項(xiàng)數(shù)據(jù)被串行輸出時,以扇區(qū)(=2112字節(jié))為基礎(chǔ),從第一扇區(qū)到第256扇區(qū),連續(xù)地提供它們,導(dǎo)致總共512KB( = 540,6278字節(jié))。
在1的扇區(qū)倍數(shù)(SM = 1)的情況下,VFA和MDA區(qū)被給予總共5 字節(jié)的傳送單元,包括以所示數(shù)據(jù)格式的512字節(jié)(數(shù)據(jù)體)和16字節(jié)(冗余數(shù)據(jù)),以用于讀和寫。在寫入時在主機(jī)設(shè)備中產(chǎn)生CRC數(shù)據(jù)和ECC數(shù)據(jù),而在讀取時在LBA-NAND存儲器的存儲器控制器中產(chǎn)生CRC數(shù)據(jù)和ECC數(shù)據(jù)。
在NAND型閃速存儲器中存儲512字節(jié)的一部分。在傳送的數(shù)據(jù)中,僅僅數(shù)據(jù)體被12寫入。實(shí)際上,在閃速存儲器中刪除了擴(kuò)展的16字節(jié),以及根據(jù)寫數(shù)據(jù)產(chǎn)生ECC碼,并與寫數(shù)據(jù)一起存儲。
在寫入的時候,在LBA-NAND存儲器的存儲器控制器中利用6字節(jié)的ECC數(shù)據(jù)檢查傳送的數(shù)據(jù)的正確性,以及在讀取的時候,在主機(jī)系統(tǒng)中利用6字節(jié)的ECC數(shù)據(jù)檢查傳送的數(shù)據(jù)的正確性。
除16字節(jié)的冗余數(shù)據(jù)外,也可以用512字節(jié)的傳送單元執(zhí)行讀/寫操作。這些可以使用用于指令數(shù)據(jù)結(jié)構(gòu)的修改或變化的配置命令來改變和設(shè)置。
SM = 4或8的扇區(qū)倍數(shù)導(dǎo)致2KB或4KB的數(shù)據(jù)傳送單元。這些通過重復(fù)SM = 1 數(shù)據(jù)格式四次或八次來產(chǎn)生。
在從主機(jī)更新控制器的固件(FW)的模式中,用如圖所示的5 字節(jié)的傳送單元執(zhí)行寫數(shù)據(jù)傳送。VFA區(qū)具有8MB的默認(rèn)數(shù)據(jù)大小,和具有可利用調(diào)整大小命令修改的以及以 256KB的容量修改單元可選擇至32MB的容量。要存儲的數(shù)據(jù)僅僅包括數(shù)據(jù)體,而冗余區(qū)數(shù)據(jù)不存儲。在數(shù)據(jù)寫入時輸入的ECC碼僅用于傳送數(shù)據(jù)的標(biāo)識,以及當(dāng)發(fā)生一位錯誤時被糾正。
按以下的命令序列設(shè)置調(diào)整大小/密碼。
調(diào)整大小:<00h>-<Config:A5>_< 新值1 字節(jié) >-< 虛3 字節(jié) >-<57h>
密碼改變:<00h>-<Config11>-< 舊的 PW(密碼)2 字節(jié) >-
(新的PW 2 字節(jié) >-<57h>
根據(jù)VFA區(qū)容量的增加或減小,MDA區(qū)的容量相應(yīng)地減小或增加。MDA訪問模式中的輸出格式是+16字節(jié)的SSFDC模式。在擴(kuò)展的16字節(jié)中,有效數(shù)據(jù)僅僅是6字節(jié)的ECC 數(shù)據(jù),而其他數(shù)據(jù)被忽略/無效。
[命令結(jié)構(gòu)]
圖11A-11J示出了不同的操作模式中的命令結(jié)構(gòu)。在這些圖中, 表示到 LBA-NAND存儲器的輸入,以及[]表示來自LBA-NAND存儲器的輸出。此外,(B2R)表示繁忙 /就緒信號RY/BY進(jìn)行到繁忙的轉(zhuǎn)變,然后返回到就緒。
PNR模式是這樣的一種讀模式,其不需要地址輸入,且地址被輸入作為虛的 (dummy)(圖IlA中的命令1)。在該P(yáng)NR模式中,用2112字節(jié)的單元從邏輯地址LBA = 0 起連續(xù)地讀出數(shù)據(jù)。
以如下的命令序列對于多個扇區(qū)連續(xù)地執(zhí)行MDA訪問模式中的讀/寫,在所述命令序列中,在命令之后,輸入扇區(qū)計(jì)數(shù)<SC>和扇區(qū)地址(初始值)<SA> (圖1IA中的命令 2)。
讀
(l)<00h>-(SC :2 字節(jié))_(SA :3 字節(jié))-<30h>-(B2R)-[數(shù)據(jù)]_· · · <00h>-(虛 Add)-<30h>-[數(shù)據(jù)]...;或
(2)<00h>-(SC 2 字節(jié))-(SA 3 字節(jié))-<30h>-(B2R)-[數(shù)據(jù)]-<F8h>-(B2R)-[數(shù)據(jù)]…;或
(3)<00h>-(SC 2 字節(jié))_(SA:3 字節(jié))-<30h>-(B2R)-[數(shù)據(jù)]-(B2R)-[數(shù)據(jù)]_(B2R)_[數(shù)據(jù)]...
寫
(1) <80h>- (SC :2 字節(jié))-(SA :3 字節(jié))-〈數(shù)據(jù) >-<10h>- (B2R) -· · · <80h>-(虛 Add)-〈數(shù)據(jù) >-<10h>-(B2R)...;或
(2)<80h>-(SC :2 字節(jié))_(SA :3 字節(jié))-〈數(shù)據(jù) >-<15h>-(B2R)-<F2h>-< 數(shù)據(jù) >-<10h>- (B2R) -<F2h>"< 數(shù)據(jù) >-<10h>" (B2R) · · ·
類似于MDA訪問模式,執(zhí)行PNA訪問模式(圖IlA中的命令3)。在寫入的時候, 利用42M字節(jié)的區(qū)域?qū)懭?112字節(jié)的寫數(shù)據(jù)/命令。在寫入的時候,所有數(shù)據(jù)被存儲有 ECC。
VFA訪問模式也類似于MDA訪問模式(圖1IA中的命令4)。
模式改變命令碼被制備分別用于從PNR模式到MDA訪問模式的改變、從串行-EEP 模式到MDA訪問模式的改變、以及在MDA訪問模式-PNA訪問模式-VFA訪問模式當(dāng)中的改變(圖IlA中的命令5)。
固件(FW)重加載命令,即,“Command-911”,圖IlA中的命令7,用于重讀閃速存儲器芯片中存儲的控制器的FW。當(dāng)存儲器控制器的操作變得無序時,需要緩沖器RAM的重新構(gòu)建,且因此執(zhí)行該命令。利用該命令,緩沖器RAM中的數(shù)據(jù)被備份,以及在執(zhí)行系統(tǒng)啟動之后,系統(tǒng)返回到MDA訪問模式。最小繁忙時間是1秒。
IF讀命令的執(zhí)行使得能夠讀出分配給各個I/O端口的ID碼,如圖IlB中的命令 9所示。具體地,根據(jù)ID碼,可以使用這些命令區(qū)別地讀出用于二進(jìn)制存儲類型的4(ibit NAND閃速存儲器(具有128K字節(jié)的擦除塊大小和I字節(jié)的頁長)的仿真的ID數(shù)據(jù)以及用于實(shí)際的LBA-NAND存儲器的ID數(shù)據(jù)。
如圖IlC所示,利用狀態(tài)讀命令,狀態(tài)信息可以被輸出到主機(jī)。具體地,如圖IlC 所示,可以使用這些命令選擇諸如一般的通過/失敗(Pass/hil)、傳送錯誤通過/失敗、就緒/繁忙的信息,和對于LBA-NAND獨(dú)特的特定的信息,例如節(jié)能模式、操作模式等等。除了就緒/繁忙端子以外,這些項(xiàng)狀態(tài)信息被提供到輸入/輸出端口 I/O。
至于與1/01和1/02相關(guān)的通過/失敗,前者當(dāng)使用一個命令傳送大量扇區(qū)時,以概要位(summary bit)表示命令的概要。相反,后者表示針對就在狀態(tài)檢查實(shí)施之前的數(shù)據(jù)傳送的通過/失敗的結(jié)果。兩者都包括傳送錯誤通過/失敗。
使用定制命令(custom command)執(zhí)行密碼的設(shè)置和修改(圖IlD中的命令11)。
VFA單元設(shè)置命令用于以256KB的單元將VFA區(qū)的容量大小設(shè)置直至32MB (圖IlD 中的命令12)。輸入值是256KB的整數(shù)倍(從“04h 00h”至“00h 00h")。該命令用來擦除舊的VFA數(shù)據(jù)和MDA數(shù)據(jù)。
FW更新執(zhí)行指令用來驗(yàn)證從主機(jī)更新到存儲器控制器的緩沖器RAM的FW數(shù)據(jù),并將它傳送和寫入NAND閃速存儲器中(圖IlD中的命令13. 1)。
地址復(fù)位命令用來清除扇區(qū)計(jì)數(shù)和扇區(qū)地址(圖IlD中的命令13. 2)。在完成該命令之后,系統(tǒng)返回到PNR模式,并可以從地址OOh起再次執(zhí)行PNR模式。在PNR中該命令是有效的。
Fff重加載命令被應(yīng)用來從閃速存儲器重讀取FW,并且當(dāng)來自主機(jī)的FW更新失敗時使用該FW重加載命令(圖IlD中的命令13. 3)。
終止命令用來強(qiáng)制終止讀/寫。一旦該命令被輸入,不再接收更多的新數(shù)據(jù),并且緩沖器RAM中留下的所有數(shù)據(jù)被寫入閃速存儲器中(圖IlD中的命令14)。在寫入完成之后,系統(tǒng)將“就緒”返回給主機(jī)。進(jìn)行寫入直到它通過。如果在寫時間tPROG中不能完成寫入,那么該控制轉(zhuǎn)到錯誤終止。
FW更新發(fā)送命令(圖IlD中的命令15)用來當(dāng)在發(fā)貨給用戶之后發(fā)現(xiàn)由FW引起的缺陷(bug)時更新FW。在用戶的設(shè)置過程中,制備FW重寫命令,以在市場上提供允許執(zhí)行容易的FW更新的環(huán)境。
在命令的操作序列中,在緩沖器RAM中更新數(shù)據(jù),然后驗(yàn)證該數(shù)據(jù)。該數(shù)據(jù)被以 511字節(jié)的間隔給予附加的CRC16數(shù)據(jù)。存儲器控制器執(zhí)行數(shù)據(jù)比較,以及,在失敗的情況下,存儲器控制器將傳送錯誤返回到主機(jī)。不執(zhí)行SSFDC的數(shù)據(jù)校正。
數(shù)據(jù)刷新(refresh)命令(圖IlD中的命令16)作為推薦的命令呈現(xiàn)給用戶。在此情況下,清楚地表示出有害影響(如電源中斷的可能性和功耗的問題)。
安全擦除命令(圖IlD中的命令17)是用來僅僅從閃速存儲器擦除MDA區(qū)中的整個數(shù)據(jù)的命令。
清刷(flush)高速緩存(閃存-高速緩存)命令(圖IlD中的命令18)是被推薦在斷電之前從主機(jī)發(fā)出的命令。這使得系統(tǒng)能夠終止控制器中的全部的未完成的處理,并將“就緒”返回到主機(jī)。
傳送協(xié)議設(shè)置命令(圖IlE中的命令19)用來修改系統(tǒng)中使用的條件。在表中示出了可修改的條件。
第一字節(jié)用來設(shè)置ECC/CRC16檢查/糾錯的條件以及傳送扇區(qū)大小(亦即,扇區(qū)倍數(shù))。當(dāng)用ECC檢查使能(ECC Check Enable)檢測錯誤位時,將傳送結(jié)果通知給狀態(tài)寄存器。利用在該階段的數(shù)據(jù)的重新傳送,可以寫入無錯誤的正確數(shù)據(jù)。
圖IlE的表中的第二字節(jié)用來設(shè)置可選的讀/寫風(fēng)格。具體地,作為讀風(fēng)格,與普通讀類型A相反,可以設(shè)置類型B,類型B借助于繼續(xù)命令<4 !/F8h>繼續(xù)讀操作。也可以在不使用繼續(xù)命令的情況下,設(shè)置類型C,借助于繁忙狀態(tài)信號(B2R)繼續(xù)讀取,以重復(fù) 21 )-[數(shù)據(jù)]- 210。
作為寫風(fēng)格,可以設(shè)置普通寫類型A和繼續(xù)寫操作而不包括地址輸入的類型B。
最小繁忙時間設(shè)置命令(圖IlF中的命令20)用來設(shè)置主機(jī)可檢測的最小繁忙時間,如表中所示。存儲器控制器將該繁忙時間設(shè)置得長于最小繁忙時間。
節(jié)能模式設(shè)置和取消命令(圖IlF中的命令21和圖IlG中的命令22)用來設(shè)置和取消LBA-NAND模塊的低功耗模式。
地址信息獲取命令(圖IlF中的命令23)用來提供地址空間信息,如表中所示。地址空間信息包括示出分別分配給扇區(qū)地址和扇區(qū)計(jì)數(shù)的字節(jié)數(shù)目的信息。
MDA區(qū)容量獲取命令(圖IlG中的命令24)用來標(biāo)識每個產(chǎn)品上的MDA區(qū)的分配大小。具體地,它被提供到輸入/輸出端口,作為用5-字節(jié)邏輯地址表示的最大地址。例如,在4G字節(jié)的情況下,形成5-字節(jié)數(shù)據(jù),如表中所示。
管腳信息獲取命令(圖1IH中的命令25)用來表示通過LBA-NAND模塊檢測的定制控制管腳的情況。具體地,COME、COMO、COMl的情況可以如表中所示。
還有其他命令,如通過模式(pass through mode)命令,用于通過直接通知NAND 閃速存儲器21從主機(jī)設(shè)備對LBA-NAND存儲器20中的主機(jī)I/F25的訪問來執(zhí)行模式改變, 而在控制器中不翻譯命令的含義(圖IlH中的命令沈);固件更新命令,用于在存儲器控制器中的MPU上固件的更新(圖IlH中的命令27);以及讀重試命令,用于指示重讀取(圖IlH 中的命令28)。
VFA單元獲取命令(圖IlI中的命令29)用來標(biāo)識每個產(chǎn)品上的VFA區(qū)的分配大
傳送協(xié)議獲取命令(圖IlI中的命令30)用來標(biāo)識LBA-NAND存儲器的數(shù)據(jù)傳送協(xié)議,如表中所示。
最小繁忙時間獲取命令(圖IlJ中的命令31),允許主機(jī)識別LBA-NAND存儲器的操作情況,如表中所示。
圖12概括地示出了上述命令。
[基本時序圖]
下面具體描述不同操作模式中的命令、地址和數(shù)據(jù)的輸入/輸出時序。
圖13是通常應(yīng)用于命令、地址和數(shù)據(jù)輸入的基本時序圖。地址鎖存使能ALE、命令鎖存使能CLE等被驗(yàn)證。然后,在等候一定的建立(set-up)時間之后,使寫使能/WE成為 “L”,以允許命令的信號輸入等。響應(yīng)于/WE到“H”的轉(zhuǎn)變,輸入信號被鎖存。
圖14是命令輸入的時序圖。在使命令鎖存CLE成為“H”之后,使芯片使能/CE成為“L”,地址鎖存使能ALE被無效,以及使寫使能/WE成為“L”,命令“CMD”被允許與/WE到 “H”的轉(zhuǎn)變同步地輸入。
圖15是用于節(jié)能模式的命令輸入的時序圖,該圖基本上與圖14相同。
圖16是數(shù)據(jù)讀取之后的下一個命令輸入的時序圖。夾在命令<00h>和<30h>之間的地址輸入允許數(shù)據(jù)讀取。然后,在一定的繁忙之后,輸入讀使能/RE,以允許與其同步地將讀數(shù)據(jù)DoutO-DoutN以扇區(qū)為基礎(chǔ)輸出。
此后,當(dāng)命令鎖存使能CLE再次成為“H”和寫使能/WE成為“L”時,允許輸入數(shù)據(jù)讀取之后的下一個命令<00h>。
圖17是地址輸入的時序圖。在地址鎖存使能ALE成為“H”之后和在“H”的持續(xù)時間期間,與寫使能/WE同步地輸入2字節(jié)SCO、SCl的扇區(qū)計(jì)數(shù)和3字節(jié)SAO、SA1、SA2的后續(xù)扇區(qū)地址。這允許在由扇區(qū)計(jì)數(shù)和扇區(qū)地址(初始值)決定的邏輯地址范圍內(nèi)進(jìn)行連續(xù)的數(shù)據(jù)訪問。
圖18是節(jié)能模式中的地址輸入的時序圖,該圖與圖17基本上相同。通過對命令鎖存使能CLE的有效時段(period) tADDP以及寫使能/WE的“H”和“L”電平的時段tWHP 和tWPP的選擇,可以設(shè)置節(jié)能模式。
圖19是數(shù)據(jù)輸入的時序圖。在命令和地址輸入之后,可以與寫使能/WE同步地輸入數(shù)據(jù)。
圖20是從單元陣列讀出并串行地讀到外部的數(shù)據(jù)的時序圖。從該單元陣列讀出的數(shù)據(jù)可以以1-字節(jié)為基礎(chǔ)與讀使能/RE同步地串行傳送并輸出。在該輸出操作過程中, 可以執(zhí)行對NAND閃速存儲器的寫操作,且由此LBA-NAND存儲器輸出“就緒”。
圖21是狀態(tài)數(shù)據(jù)(通過/失敗、就緒/繁忙等)的讀時序。與寫使能/WE同步地輸入狀態(tài)讀命令“CMD”。然后,可以與讀使能/RE同步地讀出狀態(tài)“ST”。
圖22示出了包含命令輸入和地址輸入的數(shù)據(jù)讀周期的時序圖。如先前描述,夾在第一命令<00h>和第二命令<30h>之間,扇區(qū)計(jì)數(shù)SC和扇區(qū)地址SA被輸入,以執(zhí)行對單元16陣列的讀操作。
然后,在一定的繁忙時間之后,利用讀使能/RE的切換(toggle),如圖20所述地串行輸出讀數(shù)據(jù)。
圖23示出了通電時的串行-EEP模式的建立時序。在通電時的初始建立之后,以及當(dāng)LBA-NAND存儲器變?yōu)榫途w時,識別定制控制管腳上的信號電平以用于模式設(shè)置。
具體地,利用COME = “H”,COMO = “H”和COMl = “L”,設(shè)置SPI模式(亦即,串行-EEP模式)。命令<FCh>的輸入取消該模式。
圖M概括地示出了用于PNR模式選擇的條件。串行-EEP模式用“具有SPI的 PNR"表示??梢詢H僅利用 COME = “L”,以及 COME = “H” 且 COMO = COMl = “H”,或者 COME =“H”且C0M0 = COMl = “L”來設(shè)置普通PNR模式。替換地,可以在這些定制控制管腳之一被開路及其他兩個管腳處于適當(dāng)?shù)碾娖綍r,實(shí)現(xiàn)設(shè)置。
[PNR模式讀時序]
圖25- 是PNR模式的時序圖,PNR模式是PNR區(qū)中在通電時的讀操作,圖25_28 示出了具有錯誤檢查的情況。在圖25-28當(dāng)中,圖25示出了無錯誤數(shù)據(jù)傳送。
如上所述,利用命令輸入和虛地址輸入,在一定的繁忙時間之后開始讀取。當(dāng)該狀態(tài)為通過(“P”)時,類似地重復(fù)相同的讀操作,直至第256個扇區(qū)。
圖沈示出了用于其中獲得了表示錯誤‘ ”的狀態(tài)的情況的一種處理方法。在收到錯誤“E”時,輸入地址清除命令“FFh”,以從第一地址再次執(zhí)行讀取。
圖27示出了類似地在獲得表示錯誤‘ ”的狀態(tài)時強(qiáng)制斷電、重新啟動以及再次讀取的例子。
圖觀示出了用于其中主機(jī)執(zhí)行數(shù)據(jù)檢查并檢測到數(shù)據(jù)傳送錯誤的情況的處理方法。在此情況下,主機(jī)在收到錯誤檢測時,輸入地址清除命令“FFh”,以從第一地址再次執(zhí)行讀取。
圖四示出了主機(jī)檢測數(shù)據(jù)傳送錯誤然后輸入該數(shù)據(jù)的相同扇區(qū)地址以再次讀取相同數(shù)據(jù)的情況的例子。
圖30示出了被概述為一系列流程的圖25-28中描述的PNR模式操作。該系統(tǒng)被起動(步驟Si),以及輸入命令和地址(步驟S》,以開始讀取。
如果利用狀態(tài)檢查檢測到錯誤(步驟S; ),那么執(zhí)行錯誤序列(步驟S4)。在此情況下,輸入地址清除命令“FFh”,以清除該地址,從而從頭重新開始讀操作。替換地,電源被關(guān)斷,以從頭重新開始讀操作。
如果在主機(jī)處利用傳送數(shù)據(jù)檢查檢測到錯誤(步驟S6),那么選擇處理方法(步驟 7),以執(zhí)行錯誤序列(步驟S4)或重新發(fā)送在相同的地址地?cái)?shù)據(jù)(步驟S5)。
如果在一個傳送單元的數(shù)據(jù)傳送中沒有錯誤,那么確定是否讀出了所有數(shù)據(jù)(步驟S8)。如果沒有,那么利用地址增加來重復(fù)相同的讀操作(步驟S9),直到所有數(shù)據(jù)被讀出ο
[MDA訪問模式· · ·用于讀取]
下面描述MDA訪問模式中的多種訪問時序。
圖31是其中從MDA區(qū)讀出一個扇區(qū)的情況的時序圖。如上所述,與命令一起,輸入扇區(qū)計(jì)數(shù)M和扇區(qū)地址(開始地址LBA)N。然后,在一定的繁忙之后,可以與讀使能/RE同步地讀出數(shù)據(jù)。
圖32是以同樣的方式連續(xù)地從第一扇區(qū)(LBA = 30h)到第256個扇區(qū)(LBA = 12Fh)進(jìn)行讀取的時序圖。在每個扇區(qū)讀取之后,輸入命令和地址,但是這是虛地址。根據(jù)最初輸入的扇區(qū)地址(初始值)和扇區(qū)計(jì)數(shù)連續(xù)地在內(nèi)部增加實(shí)際地址。
圖33是以同樣的方式從第一扇區(qū)(LBA = 30h)到第64K個扇區(qū)(LBA = 1002Fh) 連續(xù)讀取的時序圖。
圖34示出了在讀序列中在主機(jī)的待機(jī)(就緒)期間使用終止命令<FBh>中斷的讀操作。
圖35是在多扇區(qū)讀取過程中發(fā)生數(shù)據(jù)傳送錯誤的情況的處理視圖。當(dāng)主機(jī)檢測到數(shù)據(jù)傳送錯誤時,它發(fā)出重試命令<31h>,以請求LBA-NAND重新傳送。這使得能夠重讀相同的數(shù)據(jù)。
圖36是以同樣的方式發(fā)生數(shù)據(jù)傳送錯誤的情況的另一處理視圖。在此情況下,主機(jī)檢測到傳送錯誤,并發(fā)出終止命令<FBh>。這使得可以終止讀操作一次,然后利用讀命令和地址輸入再次讀出。
圖37-40是可選讀類型B的讀取的時序圖。
圖37是在使用傳送協(xié)議設(shè)置命令來設(shè)置可選讀類型B的情況下,亦即,在每個扇區(qū)數(shù)據(jù)讀取之后輸入繼續(xù)命令<reh>以繼續(xù)讀操作時的時序圖。如果輸入繼續(xù)命令時鐘超過輸出請求數(shù)目(扇區(qū)計(jì)數(shù)),那么輸出固定值<FFh>??傊?,LBA-NAND輸出固定值并變?yōu)榇龣C(jī)以等待從主機(jī)發(fā)送的終止命令。
圖38是類似地使用繼續(xù)命令<F8h>來繼續(xù)該讀操作和使用終止命令<FBh>來終止該繼續(xù)了的讀操作的情況的時序圖。
圖39是類似地使用繼續(xù)命令<F8h>來繼續(xù)該讀操作以及使用重試命令<31h>來重新傳送與前一讀取相同的扇區(qū)數(shù)據(jù)的情況的時序圖。
圖40是類似地使用繼續(xù)命令<F8h>來繼續(xù)該讀操作以及使用相同的繼續(xù)命令 <F8h>來執(zhí)行中斷以跳過(skip)數(shù)據(jù)讀操作的情況的時序圖。在該例子中,一個扇區(qū)包括 2112字節(jié)的數(shù)據(jù)D0-D2112。在第二扇區(qū)讀取過程中,就在數(shù)據(jù)D0-D256被讀出時輸入繼續(xù)命令<reh>,由此跳過該數(shù)據(jù)讀操作。
接下來參考圖41-44描述在MDA訪問模式中使用可選讀風(fēng)格C的讀訪問。
圖41-44是繼續(xù)讀操作而不是以扇區(qū)為基礎(chǔ)每個讀操作定位命令周期的情況的時序圖。圖41示出了僅僅利用讀使能/RE連續(xù)地執(zhí)行數(shù)據(jù)讀取,并且在/RE輸入超過輸出請求的數(shù)目時輸出固定值<F!^h>的例子。LBA-NAND存儲器輸出固定值,并等待從主機(jī)發(fā)送的終止命令。
圖42是在與圖41相同的讀操作中應(yīng)用終止命令<FBh>來終止讀操作的情況的時序圖。
圖43是例如在與圖41相同的讀操作中,主機(jī)檢測到數(shù)據(jù)傳送錯誤,然后發(fā)出數(shù)據(jù)傳送重試命令<31h>,并重新發(fā)送相同數(shù)據(jù)的情況的時序圖。
圖44是在與圖41相同的讀操作中,在應(yīng)用終止命令<FBh>來終止讀操作一次并發(fā)出新命令以再次執(zhí)行該讀操作的情況的時序圖。
圖45和46是在讀操作過程中發(fā)生非法訪問時MDA訪問模式中的讀取的時序圖。VFA訪問模式和PNA訪問模式對于該非法訪問具有相同規(guī)定(provisions)。
圖45涉及在執(zhí)行讀命令過程中輸入新命令而不終止命令的情況。在該例子中,在讀取LBA = 30h的扇區(qū)數(shù)據(jù)之后,輸入新命令和新地址。在此情況下,新地址被作為虛地址對待,并根據(jù)先前輸入的地址繼續(xù)執(zhí)行讀取。
圖46涉及在執(zhí)行讀命令過程中輸入新的寫命令而不終止命令的情況。在該例子中,先前的讀命令被自動地終止,以使該寫命令有效。
在SM = 4或8的扇區(qū)倍數(shù)的情況下,為了終止讀取并在小于扇區(qū)計(jì)數(shù)的級 (stage)上變換到下一個,需要發(fā)出終止命令。
[MDA訪問模式· · ·用于寫入]
接下來描述MDA訪問模式中的寫時序的例子。
圖47是MDA訪問模式中的一個扇區(qū)寫入的時序圖。寫命令和寫地址(亦即,扇區(qū)計(jì)數(shù)=1和扇區(qū)地址)被輸入,以及一個扇區(qū)的寫數(shù)據(jù)被輸入并寫入NAND閃速存儲器中。 在寫入過程中,“繁忙”被輸出到主機(jī)。
在寫入完成之后,狀態(tài)讀命令<70h>的輸入允許讀出狀態(tài)數(shù)據(jù)。
圖48是使用相同的開始邏輯地址LBA = 30h來連續(xù)地寫256個扇區(qū)的情況的時序圖,該256個扇區(qū)是利用扇區(qū)計(jì)數(shù)設(shè)置的。在根據(jù)狀態(tài)數(shù)據(jù)(“P”)確認(rèn)每個扇區(qū)寫入的通過之后,重復(fù)虛地址和寫數(shù)據(jù)輸入以用于至第256個扇區(qū)的連續(xù)寫入。
圖49是利用虛地址輸入到64K扇區(qū)的類似的連續(xù)寫的時序圖。
圖50涉及在從開始地址LBA = 30h開始的寫序列期間在就緒狀態(tài)(Ready)輸入終止命令<FM!>由此強(qiáng)制終止該寫序列的情況。
圖51是當(dāng)寫命令的狀態(tài)表示寫錯誤(‘ ”)時推薦的處理的時序圖。如果該寫錯誤是ECC不可校正的錯誤,那么如圖所示再次輸入相同的地址,以執(zhí)行重傳。
如圖52所示,多項(xiàng)寫狀態(tài)信息被分配給I/O端口,并分類為四種情況通過、ECC 可糾正的傳送錯誤、ECC不可糾正的傳送錯誤以及寫失敗。因此,這判定使得可以選擇執(zhí)行數(shù)據(jù)重寫或終止寫序列。
圖53是可選寫風(fēng)格的時序圖,該可選寫風(fēng)格允許用命令<80h>和數(shù)據(jù)輸入且不用虛地址輸入,來繼續(xù)進(jìn)行寫入。
圖M和55示出了發(fā)生非法訪問的情況。用于該非法訪問的處理方法可類似地應(yīng)用于PNA訪問模式和VFA訪問模式。
圖M涉及在執(zhí)行寫命令的過程中,不終止該命令而輸入新的寫命令和地址的情況。在此情況下,新的輸入地址被作為虛地址對待,且由此忽略該地址內(nèi)容。因此,對由最初輸入扇區(qū)計(jì)數(shù)和地址初始值決定的下一個扇區(qū)執(zhí)行寫入。
圖55涉及執(zhí)行寫命令過程中輸入讀命令的情況。在此情況下,LBA-NAND存儲器終止寫入,并執(zhí)行讀命令。
[PNA訪問模式...用于讀取]
在對PNA區(qū)進(jìn)行訪問的模式中,或PNA模式中,首先描述讀訪問。在PNA訪問模式中,訪問單元具有2KB( = 2112字節(jié))的扇區(qū)長度,256個扇區(qū)的最大扇區(qū)計(jì)數(shù),以及512KB 的最大容量(=540, 672字節(jié))。
圖56是輸入引導(dǎo)地址LBA = OOh以讀出256個扇區(qū)(亦即,整個PNA區(qū))的情況17/23 頁的時序圖。在2字節(jié)的扇區(qū)計(jì)數(shù)和3字節(jié)的扇區(qū)地址中,僅僅各個最先的一個字節(jié)<00h> 是有效的,其它字節(jié)是虛的。
圖57涉及在就緒狀態(tài)下輸入終止命令<FBh>以強(qiáng)制地終止讀操作的情況。
圖58涉及在就緒狀態(tài)輸入讀重試命令<31h>以再次輸出就在此之前的讀數(shù)據(jù)的情況。
圖59-65示出了 PNA訪問模式中的可選讀風(fēng)格。其中,圖59_62涉及其中應(yīng)用傳送協(xié)議設(shè)置命令來設(shè)置讀類型B的情況,亦即,使用繼續(xù)命令<F8h>來繼續(xù)該讀操作的情況。
在圖59中,在每個扇區(qū)數(shù)據(jù)讀取之后輸入繼續(xù)命令<reh>,以繼續(xù)該讀操作。如果輸入繼續(xù)命令時鐘超過輸出請求數(shù)目(扇區(qū)計(jì)數(shù)),那么輸出固定值<FFh>。如果LBA-NAND 存儲器輸出固定值,那么主機(jī)發(fā)送終止命令,以終止該命令。
圖60是類似地使用繼續(xù)命令<F8h>來繼續(xù)讀操作和使用終止命令<FBh>來終止該繼續(xù)了的讀操作的情況的時序圖。
圖61是類似地使用繼續(xù)命令<F8h>來繼續(xù)該讀操作以及輸入重試命令<31h>以重新傳送與就在此之前的讀取中的相同扇區(qū)數(shù)據(jù)的情況的時序圖。
圖62是類似地使用繼續(xù)命令<F8h>來繼續(xù)該讀操作以及使用相同的繼續(xù)命令 <F8h>來執(zhí)行中斷以跳過該數(shù)據(jù)讀操作的情況的時序圖。在該例子中,一個扇區(qū)包括2112 字節(jié)的數(shù)據(jù)D0-D2112。在第二扇區(qū)讀取過程中,就在數(shù)據(jù)D0-D256已被讀出時輸入繼續(xù)命令<reh>,由此跳過數(shù)據(jù)讀操作。
圖63-65涉及其中應(yīng)用傳送協(xié)議設(shè)置命令來設(shè)置讀類型C的情況,亦即,在不使用繼續(xù)命令<reh>的情況下繼續(xù)該讀操作的情況。
在圖63中,連續(xù)地重復(fù)扇區(qū)數(shù)據(jù)讀取,在其間夾著繁忙狀態(tài)信號。在超過扇區(qū)計(jì)數(shù)的情況下,輸出固定值<FFh>。在此情況下,LBA-NAND存儲器輸出固定值,以及主機(jī)發(fā)送終止命令,以終止該命令。
圖64是應(yīng)用類似的讀類型C來繼續(xù)該讀操作以及使用終止命令<FBh>來終止該繼續(xù)了的讀操作的情況的時序圖。
圖65是其中應(yīng)用類似的讀類型C來繼續(xù)該讀操作和輸入重試命令<31h>以重新傳送與就在此之前的讀取中的相同扇區(qū)數(shù)據(jù)的情況的時序圖。
[PNA訪問模式...用于寫入]
接下來描述PNA訪問模式的寫時序。
圖66是輸入引導(dǎo)地址LBA = OOh以對PNA區(qū)中的所有扇區(qū)Q56個扇區(qū))執(zhí)行寫入的情況的時序圖。在寫驗(yàn)證通過(“P”)的識別之后,與寫數(shù)據(jù)一起輸入虛地址,以執(zhí)行連續(xù)的寫入。
圖67是其中輸入終止命令<FBh>以強(qiáng)制終止寫入的情況的時序圖。
圖68示出了當(dāng)主機(jī)檢測到寫錯誤‘ ”時重新傳送的相同地址和數(shù)據(jù)以用于寫入的例子。
圖69是借助于利用傳送協(xié)議設(shè)置命令設(shè)置的可選寫風(fēng)格的寫入的時序圖。在此情況下,不輸入虛地址,連續(xù)地輸入寫數(shù)據(jù)使得寫數(shù)據(jù)被夾在繁忙信號之間,以對64K扇區(qū)執(zhí)行寫入。
[VFA訪問模式· · ·用于讀取]20
接下來描述VFA訪問模式中的讀時序。VFA區(qū)具有512字節(jié)(或5 字節(jié))的默認(rèn)數(shù)據(jù)長度。可以使用傳送協(xié)議改變命令將其改變?yōu)?KB( = 2112B 倍數(shù)=4)或4KB(= 4224B 倍數(shù)8)。在此情況下,可以判定擴(kuò)展的16字節(jié)的添加的適當(dāng)性,以及采用根據(jù)16字節(jié)的添加識別數(shù)據(jù)傳送系統(tǒng)的ECC功能的適當(dāng)性。
VFA區(qū)的容量可以使用VFA調(diào)整大小命令來調(diào)整大小。
圖70是其中輸入了開始地址LBA = OOh以對VFA的256個扇區(qū)執(zhí)行默認(rèn)讀類型的讀取的情況的時序圖。
圖71涉及在就緒狀態(tài)下輸入終止命令<FBh>以強(qiáng)制終止讀操作的情況。
圖72涉及在就緒狀態(tài)下輸入重試命令<31h>以再一次輸出就在此之前的讀數(shù)據(jù)的情況。
圖73-79示出了 VFA訪問模式中的可選讀風(fēng)格。其中,圖73_76涉及其中應(yīng)用傳送協(xié)議設(shè)置命令來設(shè)置讀類型B的情況,亦即,使用繼續(xù)命令<F8h>來繼續(xù)該讀操作。
在圖73中,在每個扇區(qū)數(shù)據(jù)讀取之后輸入繼續(xù)命令<reh>,以繼續(xù)該讀操作。如果輸入繼續(xù)命令時鐘超過輸出請求數(shù)目(扇區(qū)計(jì)數(shù)),那么輸出固定值<FFh>。LBA-NAND存儲器輸出固定值,以及主機(jī)發(fā)送終止命令,終止該命令。
圖74是類似地使用繼續(xù)命令<F8h>來繼續(xù)該讀操作和使用終止命令<FBh>來終止該繼續(xù)了的讀操作的情況的時序圖。
圖75是類似地使用繼續(xù)命令<F8h>來繼續(xù)該讀操作以及輸入重試命令<31h>以重新傳送與就在此之前的讀取中的相同扇區(qū)數(shù)據(jù)的情況的時序圖。
圖76是類似地使用繼續(xù)命令<F8h>來繼續(xù)該讀操作以及使用相同的繼續(xù)命令 <F8h>來執(zhí)行中斷以跳過數(shù)據(jù)讀操作的情況的時序圖。在該例子中,一個扇區(qū)包括5 字節(jié)的數(shù)據(jù)D0-D527。在第二扇區(qū)讀取過程中,就在數(shù)據(jù)D0-D256被讀出時輸入繼續(xù)命令<F8h>, 由此跳過該數(shù)據(jù)讀操作。
圖77-79涉及其中應(yīng)用傳送協(xié)議設(shè)置命令來設(shè)置讀類型C的情況,亦即,在不使用繼續(xù)命令<reh>的條件下繼續(xù)該讀操作的情況。
圖77涉及其中連續(xù)地重復(fù)扇區(qū)數(shù)據(jù)讀取,在其間夾著繁忙狀態(tài)信號的情況。
圖78是其中應(yīng)用終止命令<FBh>來終止類似讀類型C的繼續(xù)了的讀操作的情況的時序圖。
圖79是其中應(yīng)用類似的讀類型C來繼續(xù)讀操作以及輸入重試命令<31h>以重新傳送與就在此之前的讀取中的相同的扇區(qū)數(shù)據(jù)的情況的時序圖。
[VFA訪問模式· · ·用于寫入]
圖80涉及輸入開始地址LBA = OOh以對256個扇區(qū)執(zhí)行寫入的情況,圖80示出了命令、地址和一個扇區(qū)寫數(shù)據(jù)輸入。圖81示出在收到寫驗(yàn)證通過(“P”)時直至256個扇區(qū)的寫數(shù)據(jù)輸入。
圖82涉及其中在從開始地址LBA = 30h開始的寫序列過程中,在寫就緒狀態(tài) (Ready)下輸入終止命令<FBh>,由此終止該寫序列的情況。
圖83是當(dāng)寫命令的狀態(tài)指示寫錯誤(‘ ”)時的推薦的處理的時序圖。如果該寫錯誤是不可糾正的錯誤,那么如圖所示再次輸入相同的地址,以執(zhí)行重新傳送。
圖84是其中輸入用于每個扇區(qū)的寫數(shù)據(jù)而不輸入虛地址的可選寫風(fēng)格的時序圖。
[命令視圖概述]
圖85-87示出了上述讀/寫訪問的命令視圖概述。
圖85涉及在通電時設(shè)置PNR模式的情況。在建立(setup) PNR模式之后,輸入命令“CMD”和地址“ADD”,以及一定的繁忙時間流逝后,檢查狀態(tài)“ST”。
對于狀態(tài)錯誤提供兩種處理方法。一種是利用命令<F!^h>返回到初始PNR模式建立,以重試建立而不關(guān)閉電源(地址復(fù)位)的方法。另一種是關(guān)閉電源然后再次從通電開始的方法。
讀數(shù)據(jù)經(jīng)受傳送檢驗(yàn)。當(dāng)檢測到傳送錯誤時,相同數(shù)據(jù)被再一次傳送。
圖86涉及PNA、VFA、MDA訪問模式中的讀訪問。在使用初始命令開始建立之后,輸入命令和地址。然后,在一定的繁忙之后,檢查狀態(tài)“ ST ”。
對于狀態(tài)錯誤提供兩種處理方法。一種是利用命令<FFh>返回到初始建立,以重試建立(軟復(fù)位)的方法。另一種是發(fā)出終止命令<rah>并轉(zhuǎn)到初始命令的方法。
讀數(shù)據(jù)經(jīng)受傳送檢驗(yàn)。當(dāng)檢測到傳送錯誤時,相同數(shù)據(jù)被再一次傳送。
圖87涉及PNA、VFA、MDA訪問模式中的寫訪問。在使用初始命令開始建立之后,輸入命令、地址和寫數(shù)據(jù)。如果通過狀態(tài)“ST”的檢查,檢測到數(shù)據(jù)傳送錯誤,那么再次輸入該寫數(shù)據(jù)。
在寫序列期間中可以發(fā)出終止命令<FBh>,以終止該寫操作,并從頭開始重試它。
[其他命令序列]
下面描述其他命令序列的具體時序圖。圖88-90示出了用于模式改變的命令序列。
圖88示出了用于改變到MDA訪問模式的改變命令<FCh>的輸入時序。在一定的繁忙時段流逝后,模式被改變。這也可以用于(a)從PNA訪問模式或VFA訪問模式到MDA 訪問模式的改變;以及(b)退出PNR訪問模式或串行-EEP模式。在(a)的情況下,可以返回到原始模式。但是,在(b)的情況下,不可以返回到原始模式,因?yàn)樵寄J绞莾H在通電時可以設(shè)置的讀模式。
圖89示出了用于從MDA或VFA訪問模式到PNA訪問模式的改變的命令序列,而圖 90示出了用于從MDA或PNA訪問模式到VFA訪問模式的改變的命令序列。
圖91和92示出了在先前使用的命令當(dāng)中要被注冊為NOP命令的命令。在圖91 中,<60h>-<D0h>是在適當(dāng)?shù)牡刂飞献缘呐f的擦除命令。在圖91中,<FFh>是舊的復(fù)位命令,在PNR模式中使其有效作為地址復(fù)位命令(參見圖85)。
圖93示出了存儲器控制器所需的固件(FW)重加載命令<CMD>的序列。當(dāng)控制器接收該命令時,它終止當(dāng)前命令,并執(zhí)行從緩沖器RAM到閃速存儲器芯片的數(shù)據(jù)備份寫入 (步驟1)。此后,它從閃速存儲器芯片讀出FW,并傳送它以用于重加載(步驟2)。在執(zhí)行該命令之后,它執(zhí)行系統(tǒng)啟動,并返回到就緒狀態(tài)。
圖94示出了命令<FEh>的時序圖,該命令<FEh>用于在LBA-NAND存儲器陷于 (stuck)繁忙狀態(tài)時使LBA-NAND存儲器強(qiáng)制返回到就緒狀態(tài)。
圖95示出了 ID數(shù)據(jù)讀取命令序列,該ID數(shù)據(jù)讀取命令序列準(zhǔn)備了用于偽ID碼數(shù)據(jù)讀取的命令和用于如早先描述(參見圖11B)的從原始LBA--NAND存儲器讀取的ID碼的命令。
圖96示出了狀態(tài)讀取命令序列。LBA-NAND存儲器具有兩種狀態(tài)使用命令<70h> 輸出的一般狀態(tài);以及使用命令<71h>輸出的LBA-NAND專用狀態(tài),如圖IlC所示。
圖97是密碼設(shè)置命令的時序圖。默認(rèn)密碼是“FFhFFh”,以及在該時段期間,密碼鑒權(quán)功能被禁止。在使用該命令來設(shè)置用戶專用的密碼之后,密碼鑒權(quán)功能被使能。在執(zhí)行該命令時,優(yōu)選執(zhí)行狀態(tài)檢查。圖97示出了使用狀態(tài)命令<71h>獲得通過“P”的情況。
圖98是VFA單元設(shè)置命令的時序圖。如上所述,VFA區(qū)是可擴(kuò)展的??梢允褂迷撁顏砀淖僔FA區(qū)的容量。當(dāng)VFA區(qū)的容量增加時,MDA區(qū)失去該增加量的雙倍的容量。在執(zhí)行該命令時,也優(yōu)選執(zhí)行狀態(tài)檢查。圖98示出了使用狀態(tài)命令<71h>獲得通過“P”的情況。
圖99是在控制器中的FW更新之后的復(fù)位命令的時序圖。當(dāng)輸入該命令時,在緩沖器RAM中FW被刷新(步驟1),以及這被寫入在存儲器芯片中(步驟2)??梢允褂糜布蛄邪l(fā)生器27來控制到存儲器芯片中的這數(shù)據(jù)清刷(flush)。
圖100是地址清除命令<F!^h>的時序圖。該命令僅僅在PNR模式中是有效的。
圖101是FW重加載命令<FDh>的時序圖。借助于該命令,可以從清刷存儲器重讀 Fff,并將其加載到控制器中的緩沖器SRAM中。也可以使用硬件序列發(fā)生器27來控制該數(shù)據(jù)讀取和傳送。
圖102示出了用于終止當(dāng)前進(jìn)行的讀/寫的命令<FBh>的序列。該命令如下響應(yīng)。
在就緒時段中的數(shù)據(jù)讀取過程中,在完成數(shù)據(jù)輸出之后,數(shù)據(jù)緩沖器被清除 (clear)。如果正在輸入寫數(shù)據(jù),那么在將該接收的寫數(shù)據(jù)寫入清刷存儲器中之后,清除該數(shù)據(jù)緩沖器,以終止該命令。如果未在讀取數(shù)據(jù),那么清除數(shù)據(jù)緩沖器以終止該命令。如果沒有在輸入寫數(shù)據(jù),那么在將已經(jīng)接收的寫數(shù)據(jù)寫入清刷存儲器之后,清除數(shù)據(jù)緩沖器,以終止該命令。
在繁忙時段期間,不接受命令。
圖103是從主機(jī)到LBA-NAND存儲器的用于FW更新的數(shù)據(jù)傳送的命令序列。5 字節(jié)的數(shù)據(jù)結(jié)構(gòu)包含512字節(jié)數(shù)據(jù)體+2字節(jié)虛數(shù)據(jù)+2字節(jié)CRC16+11字節(jié)虛數(shù)據(jù)+1字節(jié)地址。最后的第5 字節(jié)對應(yīng)于地址。
數(shù)據(jù)總是經(jīng)受以5 字節(jié)為基礎(chǔ)倍數(shù)=4的數(shù)據(jù)傳送。該圖形示出了 I字節(jié)數(shù)據(jù)傳送單元,其中共同發(fā)送5字節(jié)地址和I字節(jié)數(shù)據(jù)。在所示的例子中,當(dāng)通過狀態(tài)檢查檢測到傳送錯誤“失敗(Fail),,時,相同數(shù)據(jù)被再次傳送。
在5字節(jié)地址中,第一、第二、第四和第五字節(jié)是虛的,而第三字節(jié)是碼頁(code page)。
圖104示出了控制器FW更新的序列。主機(jī)設(shè)備(音樂引擎)順序發(fā)送命令和FW 數(shù)據(jù)到LBA-NAND存儲器。當(dāng)LBA-NAND存儲器上的主機(jī)接口接收它們時,存儲器控制器將 FW下載在緩沖器SRAM中。
當(dāng)主機(jī)輸入復(fù)位命令<FAh>和LBA-NAND存儲器變?yōu)榉泵r,在緩沖器SRAM上刷新FW,并順序地寫入閃速存儲器中。
圖105示出了用于上述FW更新命令的錯誤處理的概述。在開始建立之后,第一命令和地址以及數(shù)據(jù)被傳送到LBA-NAND存儲器。根據(jù)狀態(tài)“ST”檢查該數(shù)據(jù)傳送,以及當(dāng)主機(jī)檢測到錯誤時,該數(shù)據(jù)經(jīng)受重新傳送。
在輸入第二命令之后,放入一定的繁忙時段,然后重復(fù)相同的操作。當(dāng)在最后的FW 更新狀態(tài)檢查中發(fā)現(xiàn)錯誤時,該命令被軟復(fù)位,以放棄FW更新。當(dāng)沒有發(fā)現(xiàn)錯誤時,發(fā)出用于在NAND閃速存儲器中寫FW的寫命令以更新FW。
圖106是數(shù)據(jù)刷新命令的時序圖。該命令用來識別閃速存儲器中記錄的數(shù)據(jù)的一致性。如果在驗(yàn)證-讀取數(shù)據(jù)中發(fā)現(xiàn)包含錯誤的塊,則用備用塊替換它,以及該原始塊被再用作備用塊。
該命令用作背景命令,并且就緒/繁忙管腳輸出就緒狀態(tài)。該命令的采用需要新建立數(shù)據(jù)刷新狀態(tài)命令和數(shù)據(jù)刷新終止命令。
圖107示出了用于為了安全從閃速存儲器擦除MDA區(qū)中的所有數(shù)據(jù)的命令。
圖108示出了用于終止LBA-NAND存儲器中執(zhí)行的所有處理的閃存高速緩存命令, 推薦在斷電之前輸入該命令??傊趫?zhí)行該命令<F9h>和一定的繁忙時段之后,建立就緒狀態(tài),以指示所有處理的終止。在該狀態(tài)下斷電可以避免由于在處理沒有完全終止的狀態(tài)下斷電所引起的系統(tǒng)問題。
圖109是傳送協(xié)議設(shè)置命令的時序圖。默認(rèn)數(shù)據(jù)傳送格式被以1扇區(qū)=528字節(jié)的形式ECC-糾正。配置命令隨后的數(shù)據(jù)輸入使得可以設(shè)置如圖IlD所示的數(shù)據(jù)傳送協(xié)議。
圖110是最小繁忙時間設(shè)置命令的時序圖。在配置命令之后1字節(jié)數(shù)據(jù)的輸入使得可以確定最小繁忙時間,如圖IlF所示。
圖111是節(jié)能模式設(shè)置命令的時序圖。該命令使讀/寫訪問進(jìn)入功耗比正常操作低的操作模式。
圖112涉及將節(jié)能模式特別應(yīng)用于讀操作的情況。節(jié)能模式的設(shè)置使得可以將繁忙時段設(shè)置得比正常情況更長。
圖113示出了另一節(jié)能模式設(shè)置方法。在節(jié)能模式命令和后續(xù)地址的輸入之后的繁忙時段與命令鎖存使能CLE的時序之間,設(shè)置偏移(offset)時間,以減小功耗。
圖114是節(jié)能模式退出命令的時序圖。該命令使得可以將節(jié)能模式復(fù)位到正常模式。
圖115是地址獲取命令的時序圖。該命令使得可以將在LBA-NAND存儲器的地址鎖存周期中的默認(rèn)情況通知主機(jī)。
圖116是最大容量獲取命令的時序圖。該命令使得可以使用5字節(jié)數(shù)據(jù)來表示 LBA-NAND存儲器所支持的MDA區(qū)和VFA區(qū)的總和的扇區(qū)總數(shù)。一個扇區(qū)包括512個字節(jié)。
圖117是管腳信息獲取命令的時序圖。該命令允許主機(jī)識別LBA-NAND存儲器中檢測的公共管腳(COME、C0M0、C0M1)上的電平。
圖118是讀數(shù)據(jù)重發(fā)送請求命令的時序圖。當(dāng)主機(jī)檢測到傳送失敗并輸入該命令 <31h>時,LBA-NAND存儲器重發(fā)送相同的讀數(shù)據(jù)。
[附加實(shí)施例]
圖119、120和121示出了應(yīng)用于MDA和VFA的三種類型扇區(qū)讀取的時序圖,S卩,分別為具有狀態(tài)信息“Matus_l”的類型A、B和C的時序圖。它們的每一個是通過2字節(jié)扇區(qū)計(jì)數(shù)SC和和3字節(jié)扇區(qū)地址AD指定開始地址的例子。
盡管傳送數(shù)據(jù)大小選自六個任選項(xiàng)512字節(jié)· N或(512+16字節(jié))·Ν(Ν=Ι,4,248)。在該例子中,N被設(shè)為4。數(shù)據(jù)長度中的+16字節(jié)是通過CRC、ECC等的傳送-數(shù)據(jù)校驗(yàn)位。
圖119中示出的類型A是其中在扇區(qū)N至N+3的數(shù)據(jù)讀取之后執(zhí)行虛扇區(qū)地址 <00h>-<xx>-<30h> (xx是5字節(jié)虛地址)的輸入及繼續(xù)后面的扇區(qū)讀取的例子。
圖120中所示的類型B是其中在扇區(qū)N至N+3的讀取之后通過輸入繼續(xù)命令 <reh>,繼續(xù)后面的扇區(qū)讀取的例子。
圖121中所示的類型C是其中在扇區(qū)N至N+3的讀取之后,在不輸入繼續(xù)命令 <F8h>的情況下,繼續(xù)后面的扇區(qū)讀取的例子。
圖119-121每個示出了其中除內(nèi)部就緒/繁忙以外,使用1/01至1/08當(dāng)中的I/ 06,自第一數(shù)據(jù)被讀取開始且直到到達(dá)扇區(qū)讀取的最后的數(shù)據(jù)包,在“Status_l”讀取中連續(xù)地指示繁忙狀態(tài)(1/06 =“0”)的例子。
“Matus_l”讀取用作后面的命令序列<70h>-BtatuS_l值]。
圖122和123示出了應(yīng)用于MDA和VFA的兩種類型扇區(qū)寫入的時序圖,S卩,分別為具有狀態(tài)信息“Matus_l”的類型A和B的時序圖。它們的每一個是通過2字節(jié)扇區(qū)計(jì)數(shù) SC和3-字節(jié)扇區(qū)地址AD指定開始地址的例子。
圖122中所示的類型A是其中在扇區(qū)N至N+3的數(shù)據(jù)寫入之后執(zhí)行虛扇區(qū)地址 <80h>-<xx>的輸入以及繼續(xù)后面的扇區(qū)寫入的例子。
圖123中所示的類型B是其中在扇區(qū)N至N+3的寫入之后在不輸入虛扇區(qū)地址的情況下繼續(xù)后面的扇區(qū)讀取的例子。
注意,狀態(tài)信息“Status_l”的讀模式包括在PNR模式(圖124)下的情況、在VFA/ MDA模式(圖125)下的情況、以及在啟動代碼維護(hù)模式下的情況(圖126)。
在每一種情況下,當(dāng)根據(jù)上述命令序列在讀取[MatUS_l值]之后連續(xù)地執(zhí)行數(shù)據(jù)讀取或?qū)懭霑r,需通過輸入<00h>返回到數(shù)據(jù)讀模式或數(shù)據(jù)寫模式。圖119-123中所示的狀態(tài)“Matus_l”是圖125中所示的狀態(tài),其中利用1/06,連續(xù)地顯示繁忙狀態(tài)至扇區(qū)讀取或扇區(qū)寫入的最后數(shù)據(jù)包。
利用“Matus_l”的1/06,主機(jī)可以檢測是否LBA-NAND存儲器系統(tǒng)正在進(jìn)行一系列扇區(qū)讀/寫操作,或LBA-NAND存儲器系統(tǒng)已經(jīng)完成這一系列操作并準(zhǔn)備就緒來執(zhí)行新操作。
例如,設(shè)想在多任務(wù)操作主機(jī)中運(yùn)行進(jìn)行扇區(qū)讀取的應(yīng)用程序的同時,產(chǎn)生具有高優(yōu)先級的新任務(wù),并試圖對LBA-NAND存儲器系統(tǒng)的新的訪問時的情況。在此情況下,如果“StatuS_l”的1/06是繁忙的,那么可以發(fā)出圖50中所示的終止命令<FBh>。然后,在完成了在處理的這一系列操作之后,可以開始對應(yīng)于該新任務(wù)的對LBA-NAND存儲器系統(tǒng)的訪問ο
[LBA-NAND 系統(tǒng)-概述]
圖127示出了 LBA-NAND存儲器的操作模式概述,包括如圖8和9所述的操作模式改變。在通電時的初始建立之后,輸入特定命令以設(shè)置PNR模式或串行-EEP模式,從而讀出PNA數(shù)據(jù),由此執(zhí)行啟動代碼加載和系統(tǒng)啟動。
可以使用改變命令<FCh>將PNR模式或串行-EEP模式改變?yōu)镸DA訪問模式。該改變命令可用來在對三個區(qū)域的訪問當(dāng)中,亦即在MDA訪問模式、PNA訪問模式和VFA訪問模式當(dāng)中,改變LBA-NAND訪問模式。在最后將來自緩沖器RAM的所有數(shù)據(jù)寫入閃速存儲器中的閃存高速緩存完成之后,終止這些訪問模式。
權(quán)利要求
1.一種控制非易失性存儲器的方法,包括在命令鎖存使能(CLE)信號被置為有效的情況下將第一命令輸入所述非易失性存儲器;在輸入第一命令之后,在地址鎖存使能(ALE)信號被置為有效的情況下將數(shù)據(jù)傳送量輸入所述非易失性存儲器;在輸入所述數(shù)據(jù)傳送量之后,在命令鎖存使能(CLE)信號被置為有效的情況下將第二命令輸入所述非易失性存儲器。
2.根據(jù)權(quán)利要求1的方法,其中,所述第一命令和第二命令指示所述非易失性存儲器執(zhí)行從其存儲器單元陣列的數(shù)據(jù)讀操作。
3.根據(jù)權(quán)利要求2的方法,進(jìn)一步包括在地址鎖存使能(ALE)信號被置為有效的情況下將數(shù)據(jù)傳送地址輸入所述非易失性存儲器。
4.根據(jù)權(quán)利要求3的方法,進(jìn)一步包括在輸入所述第二命令之后,從所述非易失性存儲器輸出由所述數(shù)據(jù)傳送量和數(shù)據(jù)傳送地址指定的數(shù)據(jù)。
5.根據(jù)權(quán)利要求4的方法,進(jìn)一步包括在輸出所述數(shù)據(jù)之后,將所述第一命令輸入所述非易失性存儲器;在輸入所述第一命令之后,將虛地址輸入所述非易失性存儲器;在輸入所述虛地址之后,將所述第二命令輸入所述非易失性存儲器;以及在輸入所述第二命令之后,從所述非易失性存儲器輸出與所述數(shù)據(jù)相連的下一個數(shù)據(jù)。
6.根據(jù)權(quán)利要求4的方法,進(jìn)一步包括在輸出所述數(shù)據(jù)之后,將繼續(xù)命令輸入所述非易失性存儲器;以及在輸入所述繼續(xù)命令之后,從所述非易失性存儲器輸出與所述數(shù)據(jù)相連的下一個數(shù)據(jù)。
7.根據(jù)權(quán)利要求4的方法,進(jìn)一步包括在輸出所述數(shù)據(jù)之后,在沒有輸入命令的情況下輸出與所述數(shù)據(jù)相連的下一個數(shù)據(jù)。
8.根據(jù)權(quán)利要求2的方法,進(jìn)一步包括 將狀態(tài)讀命令輸入所述非易失性存儲器;以及輸出除了就緒/繁忙(R/B)信號以外,指示所述非易失性存儲器是否正在執(zhí)行數(shù)據(jù)讀操作的狀態(tài)。
9.根據(jù)權(quán)利要求8的方法,其中, 所述狀態(tài)讀命令是<70h>。
10.根據(jù)權(quán)利要求2的方法,其中,所述非易失性存儲器是NAND型閃速存儲器。
11.根據(jù)權(quán)利要求1的方法,其中,所述第一命令和第二命令指示所述非易失性存儲器執(zhí)行到其存儲器單元陣列的數(shù)據(jù)寫操作。
12.根據(jù)權(quán)利要求11的方法,進(jìn)一步包括在地址鎖存使能信號(ALE)被置為有效的情況下將數(shù)據(jù)傳送地址輸入所述非易失性存儲器。
13.根據(jù)權(quán)利要求12的方法,進(jìn)一步包括在輸入所述第二命令之前,將由所述數(shù)據(jù)傳送量和數(shù)據(jù)傳送地址指定的數(shù)據(jù)輸入所述非易失性存儲器。
14.根據(jù)權(quán)利要求13的方法,進(jìn)一步包括在輸入所述第二命令以及就緒/繁忙(R/B)信號被無效之后,將所述第一命令輸入所述非易失性存儲器;在輸入所述第一命令之后,將虛地址輸入所述非易失性存儲器; 在輸入所述虛地址之后,將與所述數(shù)據(jù)相連的下一個數(shù)據(jù)輸入所述非易失性存儲器;以及在輸入所述下一個數(shù)據(jù)之后,將所述第二命令輸入所述非易失性存儲器。
15.根據(jù)權(quán)利要求13的方法,進(jìn)一步包括在輸入所述第二命令以及就緒/繁忙(R/B)信號被無效之后,將所述第一命令輸入所述非易失性存儲器;在輸入所述第一命令之后,在沒有輸入虛地址的情況下輸入與所述數(shù)據(jù)相連的下一個數(shù)據(jù);以及在輸入所述下一個數(shù)據(jù)之后,將所述第二命令輸入所述非易失性存儲器。
16.根據(jù)權(quán)利要求11的方法,進(jìn)一步包括 輸入狀態(tài)讀命令;以及輸出除了就緒/繁忙(R/B)信號以外,指示所述非易失性存儲器是否正在執(zhí)行數(shù)據(jù)寫操作的狀態(tài)。
17.根據(jù)權(quán)利要求16的方法,其中,所述狀態(tài)讀命令是<70h>。
18.根據(jù)權(quán)利要求11的方法,其中,所述非易失性存儲器是NAND型閃速存儲器。
全文摘要
一種控制非易失性存儲器的方法,包括在命令鎖存使能信號(CLE)被置為有效的情況下將第一命令輸入所述非易失性存儲器;在輸入第一命令之后,在地址鎖存使能信號(ALE)被置為有效的情況下將數(shù)據(jù)傳送量輸入所述非易失性存儲器;在輸入所述數(shù)據(jù)傳送量之后,在命令鎖存使能信號(CLE)被置為有效的情況下將第二命令輸入所述非易失性存儲器。
文檔編號G11C16/10GK102522118SQ20111029549
公開日2012年6月27日 申請日期2007年7月31日 優(yōu)先權(quán)日2006年7月31日
發(fā)明者助川博, 工藤靖雄, 河本和也 申請人:株式會社東芝