專利名稱:非易失性存儲器系統(tǒng)及用于非易失性存儲器系統(tǒng)的數(shù)據(jù)讀/寫方法
技術(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ū)地址,對非易失
6性存儲器中的所選數(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í)行讀/寫。
圖l是說明根據(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)中的切換的另一例 子的視圖。
圖IO是說明LBA-NAND存儲器中的數(shù)據(jù)結(jié)構(gòu)的視圖。
圖IIA是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分
1) 。
圖IIB是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分
2) 。
圖IIC是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分
3) 。圖11D是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分4)。
圖IIE是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分 圖IIF是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分
6) 。
圖IIG是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分
7) 。
圖IIH是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分
8) 。
圖111是說明用于LBA-NAND存儲器的命令結(jié)構(gòu)的視圖(部分
9) 。
圖IIJ是說明用于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)時序的圖。
圖24是說明使用公共管腳從PNR模式和串行-EEP模式中選擇 的例子視圖。
圖25是具有錯誤檢查的PNR模式中的時序圖(1-1)。 圖26是具有錯誤檢查的PNR模式中的時序圖(1-2)。 圖27是具有錯誤檢查的PNR模式中的時序圖(1-3)。 圖28是具有錯誤檢查的PNR模式中的時序圖(1-4)。 圖29是具有錯誤檢查的PNR模式中的時序圖(1-5)。 圖30是PNR模式的流程圖。
圖31是缺省類型的MDA模式中的讀訪問的時序圖(在l個扇 區(qū)的情況下)。
圖32是缺省類型的MDA模式中的讀訪問的時序圖(在256個
扇區(qū)的情況下)。
圖33是缺省類型的MDA模式中的讀訪問的時序圖(在64K個
扇區(qū)的情況下)。
圖34是在要使用終止命令中斷的MDA模式中的讀時序圖。 圖35是具有重傳請求的MDA模式中的讀時序圖。 圖36是在輸入終止命令之后重起動新的序列時的時序圖。 圖37是可選讀類型B ( 1)的MDA模式中的讀訪問的時序圖。 圖38是可選讀類型B (2)的MDA模式中的讀訪問的時序圖。 圖39是可選讀類型B (3)的MDA模式中的讀訪問的時序圖。 圖40是可選讀類型B (4)的MDA模式中的讀訪問的時序圖。 圖41是可選讀類型C (1)的MDA模式中的讀訪問的時序圖。 圖42是可選讀類型C (2)的MDA模式中的讀訪問的時序圖。 圖43是可選讀類型C (3)的MDA模式中的讀訪問的時序圖。 圖44是可選讀類型C (4)的MDA模式中的讀訪問的時序圖。 圖45是當(dāng)發(fā)生非法訪問(情況l)時MDA模式中的讀時序圖。 圖46是當(dāng)發(fā)生非法訪問(情況2)時MDA模式中的讀時序圖。 圖47是MDA模式中的寫訪問的時序圖(在l個扇區(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ā)生非法訪問(情況l)時的MDA模式寫的時序圖。
圖55是當(dāng)發(fā)生非法訪問(情況2)時的MDA模式寫的時序圖。
圖56是缺省類型的PNA模式中的讀訪問的時序圖。
圖57是在要使用終止命令中斷的PNA模式中的讀訪問的時序圖。
圖58是具有重讀的PNA模式中的讀訪問的時序圖。 圖59是可選讀類型B ( 1)的PNA模式中的讀訪問的時序圖。 圖60是可選讀類型B (2)的PNA模式中的讀訪問的時序圖。 圖61是可選讀類型B (3)的PNA模式中的讀訪問的時序圖。 圖62是可選讀類型B (4)的PNA模式中的讀訪問的時序圖。 圖63是可選讀類型C (1)的PNA模式中的讀訪問的時序圖。 圖64是可選讀類型C (2)的PNA模式中的讀訪問的時序圖。 圖65是可選讀類型C (3)的PNA模式中的讀訪問的時序圖。 圖66是PNA;f莫式中的讀訪問的時序圖。
圖67是在要使用終止命令中斷的PNA模式中的寫訪問的時序圖。
圖68是關(guān)于與傳送錯誤相關(guān)聯(lián)的數(shù)據(jù)重傳的PNA模式中的寫訪 問的時序圖。
圖69是可選寫類型的PNA模式中的寫訪問的時序圖。 圖70是缺省寫類型的VFA模式中的寫訪問的時序圖。圖71是在要使用終止命令中斷的VFA模式中的讀時序圖。 圖72是用于重讀的VFA模式中的讀訪問的時序圖。 圖73是可選讀類型B (1)的VFA模式中的讀訪問的時序圖。 圖74是可選讀類型B (2)的VFA模式中的讀訪問的時序圖。 圖75是可選讀類型B (3)的VFA模式中的讀訪問的時序圖。 圖76是可選讀類型B (4)的VFA模式中的讀訪問的時序圖。 圖77是可選讀類型C (1)的VFA模式中的讀訪問的時序圖。 圖78是可選讀類型C (2)的VFA模式中的讀訪問的時序圖。 圖79是可選讀類型C (3)的VFA模式中的讀訪問的時序圖。 圖80是VFA模式中的寫訪問的時序圖(1個扇區(qū))。 圖81是VFA模式中的寫訪問的時序圖(256個扇區(qū))。 圖82是在要使用終止命令中斷的VFA模式中的寫訪問的時序圖。
圖83是具有錯誤恢復(fù)的VFA模式中的寫訪問的時序圖。
圖84是可選寫類型的VFA模式中的寫訪問的時序圖。
圖85是包括錯誤處理的PNR模式中的流程視圖。
圖86是說明在讀訪問時包括錯誤處理的PNR、 VFA、 MDA模
式中的流程的視圖。
圖87是說明在寫訪問時包括錯誤處理的PNR、 VFA、 MDA模
式中的流程的視圖。
圖88是執(zhí)行用于將特定模式改變到MDA模式的改變命令的時序圖。
圖89是執(zhí)行用于將特定模式改變到PNA模式的改變命令的時序圖。
圖卯是執(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í)行命令的時序圖。
圖107是MDA區(qū)擦除命令的時序圖。
圖108是閃存高速緩存(flash cache)執(zhí)行命令的時序圖。
圖109是傳送協(xié)議設(shè)置命令的時序圖。
圖IIO是最小繁忙時間設(shè)置命令的時序圖。
圖lll是節(jié)能模式設(shè)置命令的時序圖。
圖112是應(yīng)用了節(jié)能模式設(shè)置命令的讀時序圖。
圖113是應(yīng)用了節(jié)能模式設(shè)置命令的命令鎖存時序圖。
圖114是節(jié)能模式退出命令的時序圖。
圖115是地址信息獲取命令的時序圖。
圖116是最大容量信息獲取命令的時序圖。
圖117是管腳信息獲取命令的時序圖。
圖118是與讀重試命令相關(guān)的讀時序圖。
圖119是伴隨有狀態(tài)信息讀取的扇區(qū)讀類型A的時序圖。
圖120是伴隨有狀態(tài)信息讀取的扇區(qū)讀類型B的時序圖。
圖121是伴隨有狀態(tài)信息讀取的扇區(qū)讀類型C的時序圖。圖122是伴隨有狀態(tài)信息讀取的扇區(qū)寫類型A的時序圖。 圖123是伴隨有狀態(tài)信息讀取的扇區(qū)寫類型B的時序圖。 圖124是用于說明PNR模式下的狀態(tài)信息讀取操作的圖形。 圖125是用于說明VFA/MDA模式下的狀態(tài)信息讀取操作的圖形。
圖126是用于說明啟動(boc)t)代碼維護(hù)模式下的狀態(tài)信息讀取 操作的圖形。
圖127是共同地示出了 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í)行讀/
13寫操作(下面稱為"PNA"模式),以及附加地在通電(power-on)時 設(shè)置的兩種只讀模式。
一種模式是通電之后用第一 PNA讀模式命令的輸入設(shè)置的讀模 式。這在下面稱為"PNR (純NAND讀取)"模式。
另一種模式是通電之后用第二 PNA讀模式命令的輸入設(shè)置的讀 模式,用于與外部時鐘同步地在SPI (串行外圍接口 )模式中的串行 讀取。下面該模式被稱為"串行-EEP"模式。
對于讀取對LBA-NAND存儲器的讀/寫操作所需的系統(tǒng)數(shù)據(jù)和 從LBA-NAND存儲器讀取主機(jī)本身的啟動數(shù)椐,這兩種讀模式是相 同的。因此,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é)或528字節(jié)),數(shù)據(jù)傳送格式是SSFDC (固 態(tài)軟盤卡)格式。LBA-NAND存儲器使用扇區(qū)倍數(shù)來選擇使用訪問 命令時可訪問的扇區(qū)數(shù)目。例如,用戶可以在l、 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ī)?!禙8h、 (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ù)>國<1011>- ( B2R)...;或
(2) <80h>-(SC:2字節(jié))畫(SA:3字節(jié))-<數(shù)據(jù)>-<1511>畫(B2R)4211>誦<數(shù)據(jù)>-<1011>- ( B2R )《F2h〉《數(shù)據(jù)〉《10h》(B2R )…
類似于MDA訪問模式,執(zhí)行PNA訪問模式(圖IIA中的命令3)。在寫入的時候,利用4224字節(jié)的區(qū)域?qū)懭?112字節(jié)的寫數(shù)據(jù)/命令。在寫入的時候,所有數(shù)據(jù)被存儲有ECC。
VFA訪問模式也類似于MDA訪問模式(圖11A中的命令4)。模式改變命令碼被制備分別用于從PNR模式到MDA訪問模式的改變、從串行-EEP模式到MDA訪問模式的改變、以及在MDA訪問模式-PNA訪問模式-VFA訪問模式當(dāng)中的改變(圖11A中的命令5)。
固件(FW)重加載命令,"Command-911",圖11A中的命令7,用于重讀閃速存儲器芯片中存儲的控制器的FW。當(dāng)存儲器控制暴的操作變得無序時,需要緩沖器RAM的重新構(gòu)建,且因此執(zhí)行該命令。利用該命令,緩沖器RAM中的數(shù)據(jù)被備份,以及在執(zhí)行系統(tǒng)啟動之后,系統(tǒng)返回到MDA訪問模式。最小繁忙時間是l秒。
IF讀命令的執(zhí)行使得能夠讀出分配給各個I/O端口的ID碼,如圖11B中的命令9所示。具體地,根據(jù)ID碼,可以使用這些命令區(qū)別地讀出用于二進(jìn)制存儲類型的4Gbit NAND閃速存儲器(具有128K字節(jié)的擦除塊大小和2K字節(jié)的頁長)的仿真的ID數(shù)據(jù)以及用于實(shí)際的LBA-NAND存儲器的ID數(shù)據(jù)。如圖11C所示,利用狀態(tài)讀命令,狀態(tài)信息可以被輸出到主機(jī)。具體地,如圖11C所示,可以使用這些命令選擇諸如一般的通過/失敗(Pass/Fail)、傳送錯誤通過/失敗、就緒/繁忙的信息,和對于LBA-NAND獨(dú)特的特定的信息,例如節(jié)能模式、操作模式等等。除了就緒/繁忙端子以外,這些項(xiàng)狀態(tài)信息被提供到輸入/輸出端口 I/O。
至于與I/Ol和1/02相關(guān)的通過/失敗,前者當(dāng)使用一個命令傳送大量扇區(qū)時,以概要位(summary bit)表示命令的概要。相反,后者表示針對就在狀態(tài)檢查實(shí)施之前的數(shù)據(jù)傳送的通過/失敗的結(jié)果。兩者都包括傳送錯誤通過/失敗。
使用定制命令(custom command)執(zhí)4亍密碼的i殳置和修改(圖11D中的命令ll)。
VFA單元設(shè)置命令用于以256KB的單元將VFA區(qū)的容量大小設(shè)置直至32MB (圖11D中的命令12)。輸入值是256KB的整數(shù)倍(從"04h OOh"至"OOh OOh")。該命令用來擦除舊的VFA數(shù)據(jù)和MDA數(shù)據(jù)。
FW更新執(zhí)行指令用來驗(yàn)證從主機(jī)更新到存儲器控制器的緩沖器RAM的FW數(shù)據(jù),并將它傳送和寫入NAND閃速存儲器中(圖11D中的命令13.1)。
地址復(fù)位命令用來清除扇區(qū)計(jì)數(shù)和扇區(qū)地址(圖11D中的命令
13.2) 。在完成該命令之后,系統(tǒng)返回到PNR模式,并可以從地址00h起再次執(zhí)行PNR模式。在PNR中該命令是有效的。
FW重加載命令被應(yīng)用來從閃速存儲器重讀取FW,并且當(dāng)來自主機(jī)的FW更新失敗時使用該FW重加載命令(圖11D中的命令
13.3) 。
終止命令用來強(qiáng)制終止讀/寫。 一旦該命令被輸入,不再接收更多的新數(shù)據(jù),并且緩沖器RAM中留下的所有數(shù)據(jù)被寫入閃速存儲器中(圖11D中的命令14)。在寫入完成之后,系統(tǒng)將"就緒"返回給主機(jī)。進(jìn)行寫入直到它通過。如果在寫時間tPROG中不能完成寫入,那么該控制轉(zhuǎn)到錯誤終止。FW更新發(fā)送命令(圖11D中的命令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ù)被以512K字節(jié)的間隔給予附加的CRC16數(shù)據(jù)。存儲器控制器執(zhí)行數(shù)據(jù)比較,以及,在失敗的情況下,存儲器控制器將傳送錯誤返回到主機(jī)。不執(zhí)行SSFDC的數(shù)據(jù)校正。
數(shù)據(jù)刷新(refresh )命令(圖11D中的命令16 )作為推薦的命令呈現(xiàn)給用戶。在此情況下,清楚地表示出有害影響(如電源中斷的可能性和功耗的問題)。
安全擦除命令(圖11D中的命令17)是用來僅僅從閃速存儲器擦除MDA區(qū)中的整個數(shù)據(jù)的命令。
清刷(flush )高速緩存(閃存-高速緩存)命令(圖11D中的命令18 )是被推薦在斷電之前從主機(jī)發(fā)出的命令。這使得系統(tǒng)能夠終止控制器中的全部的未完成的處理,并將"就緒"返回到主機(jī)。
傳送協(xié)議設(shè)置命令(圖11E中的命令19)用來修改系統(tǒng)中使用的條件。在表中示出了可修改的條件。
第一字節(jié)用來設(shè)置ECC/CRC16檢查/糾錯的條件以及傳送扇區(qū)大小(亦即,扇區(qū)倍數(shù))。當(dāng)用ECC檢查使能(ECC Check Enable)檢測錯誤位時,將傳送結(jié)果通知給狀態(tài)寄存器。利用在該階段的數(shù)據(jù)的重新傳送,可以寫入無錯誤的正確數(shù)據(jù)。
圖11E的表中的笫二字節(jié)用來設(shè)置可選的讀/寫風(fēng)格。具體地,作為讀風(fēng)格,與普通讀類型A相反,可以設(shè)置類型B,類型B借助于繼續(xù)命令〈48h/F81^繼續(xù)讀操作。也可以在不使用繼續(xù)命令的情況下,設(shè)置類型C,借助于繁忙狀態(tài)信號(B2R)繼續(xù)讀取,以重復(fù)(B2R)-[數(shù)據(jù)]-(B2R)。
作為寫風(fēng)格,可以設(shè)置普通寫類型A和繼續(xù)寫操作而不包括地址輸入的類型B。
24最小繁忙時間設(shè)置命令(圖11F中的命令20)用來設(shè)置主機(jī)可 檢測的最小繁忙時間,如表中所示。存儲器控制器將該繁忙時間設(shè)置 得長于最小繁忙時間。
節(jié)能模式設(shè)置和取消命令(圖11F中的命令21和圖IIG中的命 令22)用來設(shè)置和取消LBA-NAND模塊的低功耗模式。
地址信息獲取命令(圖11F中的命令23)用來提供地址空間信 息,如表中所示。地址空間信息包括示出分別分配給扇區(qū)地址和扇區(qū) 計(jì)數(shù)的字節(jié)數(shù)目的信息。
MDA區(qū)容量獲取命令(圖11G中的命令24)用來標(biāo)識每個產(chǎn) 品上的MDA區(qū)的分配大小。具體地,它4皮提供到輸入/輸出端口 ,作 為用5-字節(jié)邏輯地址表示的最大地址。例如,在4G字節(jié)的情況下, 形成5-字節(jié)數(shù)據(jù),如表中所示。
管腳信息獲取命令(圖11H中的命令25 )用來表示通過 LBA-NAND模塊檢測的定制控制管腳的情況。具體地,COME、 COM0、 COM1的情況可以如表中所示。
還有其他命令,如通過模式(pass through mode)命令,用 于通過直接通知NAND閃速存儲器21從主機(jī)i殳備對LBA-NAND存 儲器20中的主機(jī)I/F25的訪問來執(zhí)行模式改變,而在控制器中不翻譯 命令的含義(圖11H中的命令26);固件更新命令,用于在存儲器 控制器中的MPU上固件的更新(圖11H中的命令27);以及讀重試 命令,用于指示重讀取(圖11H中的命令28 )。
VFA單元獲取命令(圖111中的命令29)用來標(biāo)識每個產(chǎn)品上 的VFA區(qū)的分配大小。
傳送協(xié)議獲取命令(圖111中的命令30)用來標(biāo)識LBA-NAND 存儲器的數(shù)據(jù)傳送協(xié)議,如表中所示。
最小繁忙時間獲取命令(圖11J中的命令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ù)讀取之后的下一個命令輸入的時序圖。夾在命令 <0011>和<3011>之間的地址輸入允許數(shù)據(jù)讀取。然后,在一定的繁忙之 后,輸入讀使能/RE,以允許與其同步地將讀數(shù)據(jù)DoutO-DoutN以扇 區(qū)為基義出輸出。
此后,當(dāng)命令鎖存使能CLE再次成為"H,,和寫使能/WE成為"L" 時,允許輸入數(shù)據(jù)讀取之后的下一個命令<0011>。
圖17是地址輸入的時序圖。在地址鎖存使能ALE成為"H,,之 后和在"H"的持續(xù)時間期間,與寫使能/WE同步地輸入2字節(jié)SC0、 SC1的扇區(qū)計(jì)數(shù)和3字節(jié)SA0、 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ù)可以以l-字節(jié)為基礎(chǔ)與讀使能/RE同步地串行 傳送并輸出。在該輸出操作過程中,可以執(zhí)行對NAND閃速存儲器的 寫操作,且由此LBA-NAND存儲器輸出"就緒"。
圖21是狀態(tài)數(shù)據(jù)(通過/失敗、就緒/繁忙等)的讀時序。與寫使 能/WE同步地輸入狀態(tài)讀命令"CMD"。然后,可以與讀使能/RE同 步地讀出狀態(tài)"ST"。
圖22示出了包含命令輸入和地址輸入的數(shù)據(jù)讀周期的時序圖。 如先前描述,夾在第一命令<0011>和第二命令<3011>之間,扇區(qū)計(jì)數(shù) SC和扇區(qū)地址SA被輸入,以執(zhí)行對單元陣列的讀操作。
然后,在一定的繁忙時間之后,利用讀使能/RE的切換(toggle), 如圖20所述地串行輸出讀數(shù)據(jù)。
圖23示出了通電時的串行-EEP模式的建立時序。在通電時的初 始建立之后,以及當(dāng)LBA-NAND存儲器變?yōu)榫途w時,識別定制控制 管腳上的信號電平以用于模式設(shè)置。
具體地,利用COME-"H", COM0—'H"和COMl-"L",設(shè)置 SPI模式(亦即,串行-EEP模式)。命令〈FCb的輸入取消該模式。
圖24概括地示出了用于PNR模式選擇的條件。串行-EEP模式 用"具有SPI的PNR,,表示??梢詢H僅利用COME="L,,,以及 COME="H"且 COMO=COM1="H,,, 或者 COME="H"且 COMO-COM1-"L"來設(shè)置普通PNR模式。替換地,可以在這些定制 控制管腳之一被開路及其他兩個管腳處于適當(dāng)?shù)碾娖綍r,實(shí)現(xiàn)設(shè)置。
PNR模式讀時序
圖25-28是PNR模式的時序圖,PNR模式是PNR區(qū)中在通電 時的讀操作,圖25-28示出了具有錯誤檢查的情況。在圖25-28當(dāng)中, 圖25示出了無錯誤數(shù)據(jù)傳送。
如上所述,利用命令輸入和虛地址輸入,在一定的繁忙時間之后 開始讀取。當(dāng)該狀態(tài)為通過("P")時,類似地重復(fù)相同的讀操作,直至第256個扇區(qū)。
圖26示出了用于其中獲得了表示錯誤"E,,的狀態(tài)的情況的一種 處理方法。在收到錯誤"E,,時,輸入地址清除命令"FFh",以從第一 地址再次執(zhí)行讀取。
圖27示出了類似地在獲得表示錯誤"E"的狀態(tài)時強(qiáng)制斷電、重 新啟動以及再次讀取的例子。
圖28示出了用于其中主機(jī)執(zhí)行數(shù)據(jù)檢查并檢測到數(shù)據(jù)傳送錯誤 的情況的處理方法。在此情況下,主機(jī)在收到錯誤檢測時,輸入地址 清除命令"FFh",以從第一地址再次執(zhí)行讀取。
圖29示出了主機(jī)檢測數(shù)據(jù)傳送錯誤然后輸入該數(shù)據(jù)的相同扇區(qū) 地址以再次讀取相同數(shù)據(jù)的情況的例子。
圖30示出了被概述為一系列流程的圖25-28中描述的PNR模式 操作。該系統(tǒng)被起動(步驟S1),以及輸入命令和地址(步驟S2), 以開始讀取。
如果利用狀態(tài)檢查檢測到錯誤(步驟S3),那么執(zhí)行錯誤序列 (步驟S4)。在此情況下,輸入地址清除命令"FFh",以清除該地址, 從而從頭重新開始讀操作。替換地,電源被關(guān)斷,以從頭重新開始讀 操作。
如果在主機(jī)處利用傳送數(shù)據(jù)檢查檢測到錯誤(步驟S6),那么 選擇處理方法(步驟7),以執(zhí)行錯誤序列(步驟S4)或重新發(fā)送在 相同的地址地數(shù)據(jù)(步驟S5 )。
如果在一個傳送單元的數(shù)據(jù)傳送中沒有錯誤,那么確定是否讀出 了所有數(shù)據(jù)(步驟S8)。如果沒有,那么利用地址增加來重復(fù)相同的 讀操作(步驟S9),直到所有數(shù)據(jù)被讀出。
MDA訪問模式…用于讀取] 下面描述MD A訪問模式中的多種訪問時序。 圖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ā)出重試命令<3111>,以請求 LBA-NAND重新傳送。這使得能夠重讀相同的數(shù)據(jù)。
圖36是以同樣的方式發(fā)生數(shù)據(jù)傳送錯誤的情況的另一處理視 圖。在此情況下,主機(jī)檢測到傳送錯誤,并發(fā)出終止命令〈FBh〉。這 使得可以終止讀操作一次,然后利用讀命令和地址輸入再次讀出。
圖37-40是可選讀類型B的讀取的時序圖。
圖37是在使用傳送協(xié)議設(shè)置命令來設(shè)置可選讀類型B的情況 下,亦即,在每個扇區(qū)數(shù)據(jù)讀取之后輸入繼續(xù)命令〈F81^以繼續(xù)讀操 作時的時序圖。如果輸入繼續(xù)命令時鐘超過輸出請求數(shù)目(扇區(qū)計(jì) 數(shù)),那么輸出固定值〈FFI^??傊琇BA-NAND輸出固定值并變?yōu)?待機(jī)以等待從主機(jī)發(fā)送的終止命令。
圖38是類似地使用繼續(xù)命令〈F8h〉來繼續(xù)該讀操作和使用終止 命令<1^11>來終止該繼續(xù)了的讀操作的情況的時序圖。
圖39是類似地使用繼續(xù)命令〈F81^來繼續(xù)該讀操作以及使用重 試命令<3111>來重新傳送與前一讀取相同的扇區(qū)數(shù)據(jù)的情況的時序 圖。
圖40是類似地使用繼續(xù)命令〈F8h〉來繼續(xù)該讀操作以及使用相 同的繼續(xù)命令〈F8b來執(zhí)行中斷以跳過(skip)數(shù)據(jù)讀操作的情況的 時序圖。在該例子中, 一個扇區(qū)包括2112字節(jié)的數(shù)據(jù)D0-D2112。在第二扇區(qū)讀取過程中,就在數(shù)據(jù)D0-D256被讀出時輸入繼續(xù)命令 <F8h>,由此跳過該數(shù)據(jù)讀操作。
接下來參考圖41-44描述在MDA訪問模式中使用可選讀風(fēng)格C 的讀訪問。
圖41-44是繼續(xù)讀操作而不是以扇區(qū)為基礎(chǔ)每個讀操作定位命令 周期的情況的時序圖。圖41示出了僅僅利用讀使能/RE連續(xù)地執(zhí)行 數(shù)據(jù)讀取,并且在/RE輸入超過輸出請求的數(shù)目時輸出固定值〈FF1^ 的例子。LBA-NAND存儲器輸出固定值,并等待從主機(jī)發(fā)送的終止 命令。
圖42是在與圖41相同的讀操作中應(yīng)用終止命令〈FB1^來終止讀
操作的情況的時序圖。
圖43是例如在與圖41相同的讀操作中,主機(jī)檢測到數(shù)據(jù)傳送錯 誤,然后發(fā)出數(shù)據(jù)傳送重試命令<3111>,并重新發(fā)送相同數(shù)據(jù)的情況 的時序圖。
圖44是在與圖41相同的讀操作中,在應(yīng)用終止命令〈FBb來終 止讀操作一次并發(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ā)出終止命令。
圖85-87示出了上述讀/寫訪問的命令視圖概述。
圖85涉及在通電時設(shè)置PNR模式的情況。在建立(setup ) PNR
沖莫式之后,輸入命令"CMD"和地址"ADD",以及一定的繁忙時間流
逝后,檢查狀態(tài)"ST"。
對于狀態(tài)錯誤提供兩種處理方法。 一種是利用命令〈FFh〉返回到
初始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)錯誤提供兩種處理方法。 一種是利用命令〈FF1^返回到 初始建立,以重試建立(軟復(fù)位)的方法。另一種是發(fā)出終止命令 〈FBh〉并轉(zhuǎn)到初始命令的方法。
讀數(shù)據(jù)經(jīng)受傳送檢驗(yàn)。當(dāng)檢測到傳送錯誤時,相同數(shù)椐被再一次傳送。
圖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模式。在U)的情況下,可以返回 到原始模式。但是,在(b)的情況下,不可以返回到原始模式,因 為原始模式是僅在通電時可以設(shè)置的讀模式。
圖89示出了用于從MDA或VFA訪問模式到PNA訪問模式的 改變的命令序列,而圖90示出了用于從MDA或PNA訪問模式到VFA 訪問模式的改變的命令序列。
圖91和92示出了在先前使用的命令當(dāng)中要被注冊為NOP命令的命令。在圖91中,<6011>-<0011>是在適當(dāng)?shù)牡刂飞献缘呐f的擦 除命令。在圖91中,〈FFb是舊的復(fù)位命令,在PNR模式中使其有 效作為地址復(fù)位命令(參見圖85)。圖93示出了存儲器控制器所需的固件(FW )重加載命令<0\ )> 的序列。當(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)使用命令<7011>輸出的一般狀態(tài);以及使用命令<7111>輸出的 LBA-NAND專用狀態(tài),如圖11C所示。圖97是密碼設(shè)置命令的時序圖。默認(rèn)密碼是"FFhFFh",以及在 該時段期間,密碼鑒權(quán)功能被禁止。在使用該命令來設(shè)置用戶專用的 密碼之后,密碼鑒權(quán)功能被使能。在執(zhí)行該命令時,優(yōu)選執(zhí)行狀態(tài)檢 查。圖97示出了使用狀態(tài)命令〈lb獲得通過"P"的情況。圖98是VFA單元設(shè)置命令的時序圖。如上所述,VFA區(qū)是可 擴(kuò)展的。可以使用該命令來改變VFA區(qū)的容量。當(dāng)VFA區(qū)的容量增 加時,MDA區(qū)失去該增加量的雙倍的容量。在執(zhí)4亍該命令時,也優(yōu) 選執(zhí)行狀態(tài)檢查。圖98示出了使用狀態(tài)命令〈71b獲得通過"P"的情 況。圖99是在控制器中的FW更新之后的復(fù)位命令的時序圖。當(dāng)輸 入該命令時,在緩沖器RAM中FW被刷新(步驟1),以及這被寫 入在存儲器芯片中(步驟2)??梢允褂糜布蛄邪l(fā)生器27來控制到37存儲器芯片中的這數(shù)據(jù)清刷(flush)。圖100是地址清除命令〈FFb的時序圖。該命令僅僅在PNR模 式中是有效的。圖101是FW重加載命令〈FDI^的時序圖。借助于該命令,可以 從清刷存儲器重讀FW,并將其加載到控制器中的緩沖器SRAM中。 也可以使用硬件序列發(fā)生器27來控制該數(shù)據(jù)讀取和傳送。圖102示出了用于終止當(dāng)前進(jìn)行的讀/寫的命令〈FBl^的序列。 該命令如下響應(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ù)傳 送的命令序列。528字節(jié)的數(shù)據(jù)結(jié)構(gòu)包含512字節(jié)數(shù)據(jù)體+2字節(jié)虛數(shù) 據(jù)+2字節(jié)CRC16+11字節(jié)虛數(shù)據(jù)+1字節(jié)地址。最后的第528字節(jié)對 應(yīng)于地址。數(shù)據(jù)總是經(jīng)受以528字節(jié)為基礎(chǔ)倍數(shù)=4的數(shù)據(jù)傳送。該圖形示 出了 2K字節(jié)數(shù)據(jù)傳送單元,其中共同發(fā)送5字節(jié)地址和2K字節(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ù)位命令〈FAl^和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í)行該命 令〈F9b和一定的繁忙時段之后,建立就緒狀態(tài),以指示所有處理的 終止。在該狀態(tài)下斷電可以避免由于在處理沒有完全終止的狀態(tài)下斷 電所引起的系統(tǒng)問題。圖109是傳送協(xié)議設(shè)置命令的時序圖。默認(rèn)數(shù)據(jù)傳送格式被以1 扇區(qū)=528字節(jié)的形式ECC-糾正。配置命令隨后的數(shù)據(jù)輸入使得可以 ^沒置如圖IID所示的數(shù)據(jù)傳送協(xié)議。圖110是最小繁忙時間設(shè)置命令的時序圖。在配置命令之后1 字節(jié)數(shù)據(jù)的輸入使得可以確定最小繁忙時間,如圖IIF所示。圖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、 COM0、 COM1)上 的電平。圖118是讀數(shù)據(jù)重發(fā)送請求命令的時序圖。當(dāng)主機(jī)檢測到傳送失 敗并輸入該命令<3111>時,LBA-NAND存儲器重發(fā)送相同的讀數(shù)據(jù)。[附加實(shí)施例圖119、 120和121示出了應(yīng)用于MDA和VFA的三種類型扇區(qū) 讀取的時序圖,即,分別為具有狀態(tài)信息"Status一l"的類型A、 B和C 的時序圖。它們的每一個是通過2字節(jié)扇區(qū)計(jì)數(shù)SC和和3字節(jié)扇區(qū) 地址AD指定開始地址的例子。盡管傳送數(shù)據(jù)大小選自六個任選項(xiàng)512字節(jié).N或(512+16字 節(jié))*N(N=I, 4, 8)。在該例子中,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ù)命令〈F8h、繼續(xù)后面的扇區(qū)讀取的例子。圖121中所示的類型C是其中在扇區(qū)N至N+3的讀取之后,在 不輸入繼續(xù)命令〈F8I^的情況下,繼續(xù)后面的扇區(qū)讀取的例子。圖119-121每個示出了其中除內(nèi)部就緒/繁忙以外,使用1/01至 1/08當(dāng)中的1/06,自第一數(shù)據(jù)被讀取開始且直到到達(dá)扇區(qū)讀取的最后 的數(shù)據(jù)包,在"StatusJ"讀取中連續(xù)地指示繁忙狀態(tài)(I/O6="0,,)的 例子。"Status—l"讀取用作后面的命令序列<70h>-[Status_l值。圖122和123示出了應(yīng)用于MDA和VFA的兩種類型扇區(qū)寫入 的時序圖,即,分別為具有狀態(tài)信息"Status一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)信息"StatusJ,,的讀模式包括在PNR模式(圖124) 下的情況、在VFA/MDA模式(圖125)下的情況、以及在啟動代碼 維護(hù)模式下的情況(圖126)。在每一種情況下,當(dāng)根據(jù)上述命令序列在讀取[StatusJ值之后 連續(xù)地執(zhí)行數(shù)據(jù)讀取或?qū)懭霑r,需通過輸入<0011>返回到數(shù)據(jù)讀模式 或數(shù)據(jù)寫模式。圖119-123中所示的狀態(tài)"StatusJ"是圖125中所示的 狀態(tài),其中利用1/06,連續(xù)地顯示繁忙狀態(tài)至扇區(qū)讀取或扇區(qū)寫入的 最后數(shù)據(jù)包。利用"Status 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中所示的終止命令〈FBb。然后,在完成了 在處理的這一系列操作之后,可以開始對應(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)啟動??梢允褂酶淖兠睢碏Ch〉將PNR模式或串行-EEP模式改變?yōu)?MDA訪問才莫式。該改變命令可用來在對三個區(qū)域的訪問當(dāng)中,亦即 在MDA訪問模式、PNA訪問模式和VFA訪問模式當(dāng)中,改變 LBA-NAND訪問模式。在最后將來自緩沖器RAM的所有數(shù)據(jù)寫入閃 速存儲器中的閃存高速緩存完成之后,終止這些訪問模式。
權(quán)利要求
1. 一種能夠連接到主機(jī)設(shè)備的非易失性存儲器系統(tǒng),包括具有多個數(shù)據(jù)區(qū)的非易失性存儲器;以及操作來控制對所述非易失性存儲器的讀和寫操作的存儲器控制器,其中,該存儲器控制器根據(jù)從主機(jī)設(shè)備饋送的命令、扇區(qū)計(jì)數(shù)和扇區(qū)地址,對該非易失性存儲器中的選定的數(shù)據(jù)區(qū)內(nèi)的多個扇區(qū)連續(xù)地執(zhí)行讀/寫操作。
2. 根據(jù)權(quán)利要求l的非易失性存儲器系統(tǒng),其中,作為所述多個 數(shù)據(jù)區(qū),提供第一應(yīng)用程序區(qū)、第二應(yīng)用程序區(qū)以及用于主機(jī)系統(tǒng)的 啟動數(shù)據(jù)記錄區(qū),該第一應(yīng)用程序區(qū)具有能夠根據(jù)容量改變命令的輸 入而增加/減小的容量,該第二應(yīng)用程序區(qū)具有響應(yīng)于所述第一應(yīng)用程 序區(qū)的容量的增加或減小而減小或增加的容量。
3. 根據(jù)權(quán)利要求2的非易失性存儲器系統(tǒng),其中該第一應(yīng)用程序 區(qū)是用于廠商應(yīng)用的程序區(qū),而該第二應(yīng)用程序區(qū)是用于最終用戶成 用的程序區(qū)。
4. 根據(jù)權(quán)利要求1的非易失性存儲器系統(tǒng),其中,所述非易失性 存儲器包括存儲器單元陣列,在該存儲器單元陣列中,排列具有多個 串聯(lián)連接的電可重寫非易失性存儲器單元的多個NAND基本單元,位 線經(jīng)由選擇柵極晶體管連接到NAND基本單元的一端,公共源極線經(jīng) 由選擇晶體管連接到NAND基本單元的另一端。
5. 根據(jù)權(quán)利要求4的非易失性存儲器系統(tǒng),其中,所述存儲器控 制器在所述啟動數(shù)據(jù)記錄區(qū)中執(zhí)行寫控制,以使得不執(zhí)行對鄰近該選 擇柵極晶體管的單元的寫入。
6. 根據(jù)權(quán)利要求4的非易失性存儲器系統(tǒng),其中,所述存儲器控 制器在啟動數(shù)據(jù)記錄區(qū)中執(zhí)行寫控制,以使得僅僅對所述存儲器單元 陣列的奇數(shù)頁和偶數(shù)頁其中之一執(zhí)行寫入。
7. 根據(jù)權(quán)利要求4的非易失性存儲器系統(tǒng),其中,所述非易失性 存儲器單元陣列被配置為每個非易失性存儲器單元存儲多值位的數(shù) 據(jù),以及所述存儲器控制器在啟動數(shù)據(jù)記錄區(qū)中執(zhí)行寫控制,以使得 每個非易失性存儲器單元執(zhí)行1位數(shù)據(jù)存儲。
8. 根據(jù)權(quán)利要求1的非易失性存儲器系統(tǒng),其中,所述存儲器控 制器包括執(zhí)行與所述非易失性存儲器的數(shù)據(jù)傳送的第 一接口 ; 執(zhí)行與所述主機(jī)設(shè)備的數(shù)據(jù)傳送的第二接口 ; 臨時保持由所述第一和第二接口傳送的數(shù)據(jù)的數(shù)據(jù)寄存器;以及 控制經(jīng)由所述第一和第二接口的數(shù)據(jù)傳送的處理單元。
9. 根據(jù)權(quán)利要求2的非易失性存儲器系統(tǒng),其中該第一和第二應(yīng) 用程序區(qū)具有讀/寫數(shù)據(jù)傳送單元,該讀/寫數(shù)據(jù)傳送單元能夠被設(shè)置 為利用扇區(qū)倍數(shù)的選擇而可變。
10. 根據(jù)權(quán)利要求1的非易失性存儲器系統(tǒng),其中,作為所述多 個數(shù)據(jù)區(qū),提供第一應(yīng)用程序區(qū)、第二應(yīng)用程序區(qū)、用于主機(jī)系統(tǒng)的 啟動數(shù)據(jù)記錄區(qū)、以及用于存儲器控制器的系統(tǒng)數(shù)據(jù)記錄區(qū),該第一 應(yīng)用程序區(qū)具有根據(jù)容量改變命令的輸入而增加/減小的容量,該第二 應(yīng)用程序區(qū)具有響應(yīng)于所述第一應(yīng)用程序區(qū)的容量的增加或減小而 減小或增加的容量。
11. 根據(jù)權(quán)利要求10的非易失性存儲器系統(tǒng),其中,在通電的時候,從所述啟動數(shù)據(jù)記錄區(qū)和系統(tǒng)數(shù)據(jù)記錄區(qū)自動地讀取數(shù)據(jù)到所述 存儲器控制器中,然后輸入讀命令以設(shè)置其中將所述啟動數(shù)據(jù)讀到主 機(jī)設(shè)備中的讀模式。
12. 根據(jù)權(quán)利要求10的非易失性存儲器系統(tǒng),其中,該第一和第 二應(yīng)用程序區(qū)具有讀/寫數(shù)據(jù)傳送單元,該讀/寫數(shù)據(jù)傳送單元能夠被 設(shè)置為利用扇區(qū)倍數(shù)的選擇而可變。
13. —種用于非易失性存儲器系統(tǒng)的數(shù)據(jù)讀/寫方法,該非易失性 存儲器系統(tǒng)包括具有多個數(shù)據(jù)區(qū)的非易失性存儲器以及操作來控制 對所述非易失性存儲器的讀和寫操作的存儲器控制器,該系統(tǒng)能夠連 接到主機(jī)設(shè)備,該方法包括從所述主機(jī)設(shè)備提供命令、扇區(qū)計(jì)數(shù)和扇區(qū)地址;以及 在所述存儲器控制器的控制下,根據(jù)命令、扇區(qū)計(jì)數(shù)和扇區(qū)地址,對所述非易失性存儲器中的選定的數(shù)據(jù)區(qū)內(nèi)的多個扇區(qū)連續(xù)地執(zhí)行讀/寫。
14. 根據(jù)權(quán)利要求13的用于非易失性存儲器系統(tǒng)的數(shù)據(jù)讀/寫方 法,其中,作為所述多個數(shù)據(jù)區(qū),提供第一應(yīng)用程序區(qū)、第二應(yīng)用程 序區(qū)、以及用于主機(jī)系統(tǒng)的啟動數(shù)據(jù)記錄區(qū),該第一應(yīng)用程序區(qū)具有 能根據(jù)容量改變命令的輸入而增加/減小的容量,該第二應(yīng)用程序區(qū)具 有響應(yīng)于所述第一應(yīng)用程序區(qū)的容量的增加或減小而減小或增加的 容量。
15. 根據(jù)權(quán)利要求13的用于非易失性存儲器系統(tǒng)的數(shù)據(jù)讀/寫方 法,其中所述第一和第二應(yīng)用程序區(qū)具有讀/寫數(shù)據(jù)傳送單元,該讀/ 寫數(shù)據(jù)傳送單元能夠被設(shè)置為利用扇區(qū)倍數(shù)的選擇而可變。
16.根據(jù)權(quán)利要求13的用于非易失性存儲器系統(tǒng)的數(shù)據(jù)讀/寫方 法,其中作為所述多個數(shù)據(jù)區(qū),提供第一應(yīng)用程序區(qū)、第二應(yīng)用程序 區(qū)、用于主機(jī)系統(tǒng)的啟動數(shù)據(jù)記錄區(qū)、以及用于存儲器控制器的系統(tǒng) 數(shù)據(jù)記錄區(qū),該第一應(yīng)用程序區(qū)具有根據(jù)容量改變命令的輸入而增加 /減小的容量,該第二應(yīng)用程序區(qū)具有響應(yīng)于所迷第一應(yīng)用程序區(qū)的容 量的增加或減小而減小或增加的容量。
全文摘要
一種非易失性存儲器系統(tǒng),包括具有多個數(shù)據(jù)區(qū)的非易失性存儲器;以及可操作來控制對所述非易失性存儲器的讀和寫操作的存儲器控制器。該存儲器控制器根據(jù)從主機(jī)設(shè)備饋送的命令、扇區(qū)計(jì)數(shù)和扇區(qū)地址,對該非易失性存儲器中的選定的數(shù)據(jù)區(qū)內(nèi)的多個扇區(qū)連續(xù)地執(zhí)行讀/寫操作。
文檔編號G06K19/07GK101506780SQ20078002781
公開日2009年8月12日 申請日期2007年7月31日 優(yōu)先權(quán)日2006年7月31日
發(fā)明者助川博, 工藤靖雄, 河本和也 申請人:株式會社東芝