專利名稱:用于非易失性存儲(chǔ)器系統(tǒng)的多頁(yè)準(zhǔn)備命令的制作方法
技術(shù)領(lǐng)域:
本主題總地涉及受管理的非易失性存儲(chǔ)器(NVM)的訪問(wèn)和管理。
背景技術(shù):
閃存是一類電可擦除可編程只讀存儲(chǔ)器(EEPROM)。因?yàn)殚W存是非易失性的并且相對(duì)密集,所以它們被用于在手持式計(jì)算機(jī)、移動(dòng)電話、數(shù)字相機(jī)、便攜式音樂(lè)播放器和其他存儲(chǔ)方案(例如磁盤(pán))不適用的許多其他設(shè)備中存儲(chǔ)文件和其他持續(xù)性對(duì)象。NAND是能夠像諸如硬盤(pán)或存儲(chǔ)卡之類的塊器件那樣被訪問(wèn)的一類閃存。每個(gè)塊由若干頁(yè)(例如64-128頁(yè))構(gòu)成。典型的頁(yè)大小是4KB-8KB字節(jié)。NAND器件可具有多個(gè)管芯,其中每個(gè)管芯具有4096-8192個(gè)塊。與每個(gè)頁(yè)相關(guān)聯(lián)的是用于差錯(cuò)檢測(cè)和校正校驗(yàn)和的存儲(chǔ)的數(shù)個(gè)字節(jié)。讀取和編程是以頁(yè)為單位執(zhí)行的,擦除是以塊為單位執(zhí)行的,并且塊中的數(shù)據(jù)只能被順序?qū)懭?。NAND依賴于差錯(cuò)校正碼(ECC)來(lái)針對(duì)在正常器件操作期間可能翻轉(zhuǎn)的比特進(jìn)行補(bǔ)償。當(dāng)執(zhí)行擦除或編程操作時(shí),NAND器件可檢測(cè)未能編程或擦除的塊并將這些塊在不良?jí)K映射圖中標(biāo)記為不良的。數(shù)據(jù)可被寫(xiě)入到另一不同的、良好的塊,并且不良?jí)K映射圖被更新。受管理的NAND器件將原始NAND與存儲(chǔ)器控制器相組合以處理差錯(cuò)校正和檢測(cè), 以及NAND存儲(chǔ)器的存儲(chǔ)器管理功能。商業(yè)上,可在球柵陣列(BGA)封裝中或者支持標(biāo)準(zhǔn)化處理器接口的其他集成電路(IC)封裝(例如多媒體存儲(chǔ)卡(MMC)和安全數(shù)字(SD)卡)中獲得受管理的NAND。受管理的NAND器件可包括可利用一個(gè)或多個(gè)芯片選擇信號(hào)來(lái)訪問(wèn)的數(shù)個(gè)NAND器件或管芯。芯片選擇是在數(shù)字電子設(shè)備中用來(lái)從連接到同一總線的若干個(gè)芯片中選擇一個(gè)芯片的控制線。芯片選擇通常是大多數(shù)IC封裝上的命令管腳,該命令管腳將器件上的輸入管腳連接到該器件的內(nèi)部電路。當(dāng)芯片選擇管腳被保持在非活動(dòng)狀態(tài)中時(shí), 芯片或器件忽略其輸入管腳的狀態(tài)的變化。當(dāng)芯片選擇管腳被保持在活動(dòng)狀態(tài)中時(shí),芯片或器件就好像其是總線上的唯一芯片那樣作出響應(yīng)。開(kāi)放NAND閃存接口工作組(ONFI)為NAND閃存芯片開(kāi)發(fā)了一種標(biāo)準(zhǔn)化的低級(jí)別接口,以允許來(lái)自不同廠商的合格NAND器件之間的互操作性。ONFI規(guī)范版本1. 0規(guī)定 TS0P-48、WS0P-48、LGA-52和BGA-63封裝中的NAND閃存的標(biāo)準(zhǔn)物理接口(管腳輸出);用于讀取、寫(xiě)入和擦除NAND閃存芯片的標(biāo)準(zhǔn)命令集;以及用于自識(shí)別的機(jī)制。ONFI規(guī)范版本 2.0支持雙通道接口,其中奇數(shù)芯片選擇(也稱為芯片使能或“CE”)連接到通道1并且偶數(shù)CE連接到通道2。物理接口對(duì)于整個(gè)封裝不應(yīng)具有多于8個(gè)CE。雖然ONFI規(guī)范允許了互操作性,但當(dāng)前的ONFI規(guī)范并沒(méi)有充分利用受管理的 NAND方案。
發(fā)明內(nèi)容
公開(kāi)了用于非易失性存儲(chǔ)器系統(tǒng)的多頁(yè)準(zhǔn)備命令。多頁(yè)準(zhǔn)備命令提供可用于使非易失性存儲(chǔ)器器件為即將到來(lái)的多頁(yè)編程操作作準(zhǔn)備的數(shù)據(jù)。主機(jī)控制器可在多頁(yè)編程操作之前使用這些命令來(lái)優(yōu)化對(duì)多頁(yè)編程命令的使用。非易失性存儲(chǔ)器器件可使用這些命令來(lái)配置非易失性存儲(chǔ)器以為后續(xù)操作作準(zhǔn)備,例如為后續(xù)操作改變命令順序或使用最優(yōu)化的命令集。
圖1是包括耦合到受管理的NVM封裝的主機(jī)處理器的示例性存儲(chǔ)器系統(tǒng)的框圖。圖2示出了用于圖1的受管理的NVM封裝的示例性地址映射。圖3示出了包括不良?jí)K替換的圖2的地址映射。圖4示出了用于接收多頁(yè)準(zhǔn)備命令的NVM封裝。圖5是示例性多頁(yè)準(zhǔn)備操作的時(shí)序圖。圖6是主機(jī)控制器為多頁(yè)準(zhǔn)備命令處理執(zhí)行的示例性過(guò)程的流程圖。圖7是非易失性存儲(chǔ)器器件為多頁(yè)準(zhǔn)備命令處理執(zhí)行的示例性過(guò)程的流程圖。
具體實(shí)施例方式存儲(chǔ)器系統(tǒng)概述圖1是包括耦合到受管理的NVM封裝104 (例如NAND器件)的主機(jī)控制器102的示例性存儲(chǔ)器系統(tǒng)100的框圖。NVM封裝104可以是BGA封裝或其他IC封裝,包括多個(gè)NVM 器件108 (例如多個(gè)原始NAND管芯)。存儲(chǔ)器系統(tǒng)100可用在多種設(shè)備中,包括但不限于 手持式計(jì)算機(jī)、移動(dòng)電話、數(shù)字相機(jī)、便攜式音樂(lè)播放器、玩具、指狀驅(qū)動(dòng)器、電子郵件設(shè)備以及任何其他想要或需要非易失性存儲(chǔ)器的設(shè)備。就這里使用的而言,原始NVM是被外部主機(jī)處理器管理的存儲(chǔ)器器件或封裝,并且受管理的NVM是包括諸如差錯(cuò)校正、耗損均衡、 不良?jí)K管理等等之類的至少一個(gè)內(nèi)部存儲(chǔ)器管理功能的存儲(chǔ)器器件或封裝。在一些實(shí)現(xiàn)方式中,NVM封裝104可包括用于利用內(nèi)部芯片選擇信號(hào)通過(guò)內(nèi)部通道訪問(wèn)和管理NVM器件108的控制器106。內(nèi)部通道是控制器106與NVM器件108之間的數(shù)據(jù)路徑??刂破?06可執(zhí)行存儲(chǔ)器管理功能(例如耗損均衡、不良?jí)K管理)并且可包括用于檢測(cè)和校正數(shù)據(jù)差錯(cuò)(例如翻轉(zhuǎn)的比特)的差錯(cuò)校(ECC)引擎110。在一些實(shí)現(xiàn)方式中,ECC引擎110可實(shí)現(xiàn)為控制器106中的硬件組件或?qū)崿F(xiàn)為由控制器106執(zhí)行的軟件組件。在一些實(shí)現(xiàn)方式中,ECC引擎110可位于NVM器件108中。在一些實(shí)現(xiàn)方式中,主機(jī)控制器102和NVM封裝104可通過(guò)主機(jī)可見(jiàn)的通信通道 (“主機(jī)通道”)來(lái)傳輸信息(例如控制命令、地址、數(shù)據(jù))。主機(jī)通道可支持標(biāo)準(zhǔn)接口,例如原始NAND接口或雙通道接口,例如ONFI規(guī)范版本2. 0中描述的那種。主機(jī)控制器102還可提供主機(jī)芯片使能(CE)信號(hào)。主機(jī)CE是主機(jī)控制器102可見(jiàn)的,以便選擇主機(jī)通道。在示例性存儲(chǔ)器系統(tǒng)100中,NVM封裝104支持CE隱藏。CE隱藏允許了單個(gè)主機(jī) CE被用于NVM封裝104中的每個(gè)內(nèi)部通道,從而減少了支持NVM封裝104的接口所需要的信號(hào)的數(shù)目??衫玫刂房臻g和地址映射將存儲(chǔ)器訪問(wèn)映射到內(nèi)部通道和NVM器件108,如參考圖2和3所述??衫糜煽刂破?06生成的內(nèi)部CE信號(hào)來(lái)使能各個(gè)NVM器件108。示例性地址映射 圖2示出了用于圖1的受管理的NVM封裝104的示例性地址映射。具體地,該映射可用于包括多個(gè)管芯的受管理的NAND器件,其中每個(gè)管芯可能包括多個(gè)平面。在一些實(shí)擦除。CAU例如可以是單個(gè)平面或單個(gè)管芯。CAU大小是CAU中的可擦除塊的數(shù)目。將利用圖2的示例性存儲(chǔ)器體系結(jié)構(gòu)來(lái)描述映射。對(duì)于此示例性體系結(jié)構(gòu),塊大小被定義為可擦除塊中的頁(yè)的數(shù)目。在一些實(shí)現(xiàn)方式中,對(duì)于每4k字節(jié)的數(shù)據(jù),有16字節(jié)的元數(shù)據(jù)可用。其他存儲(chǔ)器體系結(jié)構(gòu)也是可能的。例如,元數(shù)據(jù)可被分配以更多或更少字節(jié)。圖2所示的地址映射允許了使用原始NAND協(xié)議來(lái)對(duì)NAND塊進(jìn)行讀取/編程/擦除并且允許了使能優(yōu)化性能的額外命令。NVM封裝104包括用于管理NAND的數(shù)據(jù)可靠性的 ECC引擎(例如ECC引擎110)。從而,主機(jī)控制器102不需要包括ECC引擎110或以其他方式出于可靠性目的處理數(shù)據(jù)。NVM封裝104將CAU定義為能夠與其他CAU同時(shí)或并行訪問(wèn)(例如將數(shù)據(jù)從NAND 存儲(chǔ)器單元移動(dòng)到內(nèi)部寄存器)的區(qū)域。在此示例性體系結(jié)構(gòu)中,假定所有CAU包括相同數(shù)目的塊。在其他實(shí)現(xiàn)方式中,CAU可具有不同數(shù)目的塊。以下的表I描述了用于訪問(wèn)CAU 中的頁(yè)的示例性行地址格式。表I-示例性行地址格式
R[X+Y:X+Z-1] R[X:X+Y-1]R
CAUWX參考表I,示例性的η比特(例如24比特)行地址可以按以下格式被呈現(xiàn)給NAND 器件中的控制器[CAU:塊頁(yè)]。CAU是表示管芯或平面的號(hào)碼(例如整數(shù))。“塊”是由 CAU號(hào)碼標(biāo)識(shí)的CAU中的塊偏移量,并且“頁(yè)”是由“塊”標(biāo)識(shí)的塊中的頁(yè)偏移量。例如,在每個(gè)塊有128頁(yè)、每個(gè)CAU有8192塊并且有6個(gè)CAU的器件中Χ將為7 (27 = 128),Y將為 13 (213 = 8192)并且 Z 將為 3 (22 < 6 < 23)。圖2所示的示例性的NVM封裝104包括兩個(gè)NAND管芯204a、204b,并且每個(gè)管芯具有兩個(gè)平面。例如,管芯204a包括平面206a、206b。并且,管芯204b包括平面206c、206d。 在此示例中,每個(gè)平面是一 CAU,并且每個(gè)CAU具有2048個(gè)多級(jí)別單元(MLC)塊,其中每個(gè)塊中有128頁(yè)。編程和擦除操作可在塊的跨度上執(zhí)行(每個(gè)CAU—個(gè)塊)??缍?stride) 被定義為塊的陣列,其中每個(gè)塊來(lái)自一不同的CAU。在所示出的示例中,“跨度0”定義了來(lái)自CAU 0-3中的每一個(gè)的塊0,“跨度1”定義了來(lái)自CAU 0-3中的每一個(gè)的塊1,“跨度2” 定義了來(lái)自CAU 0-3中的每一個(gè)的塊2,依此類推。NVM封裝包括NVM控制器202,NVM控制器202通過(guò)控制總線208和地址/數(shù)據(jù)總線210與CAU通信。在操作期間,NVM控制器202接收來(lái)自主機(jī)控制器(未示出)的命令, 并且響應(yīng)于命令,斷言控制總線208上的控制信號(hào)和地址/數(shù)據(jù)總線210上的地址或數(shù)據(jù)以對(duì)一個(gè)或多個(gè)CAU執(zhí)行操作(例如,讀取、編程或擦除操作)。在一些實(shí)現(xiàn)方式中,命令包括具有[CAU:塊頁(yè)]形式的行地址,如參考圖2所述。圖3示出了包括不良?jí)K替換的圖2的地址映射。在此示例中,主機(jī)控制器102針對(duì)NVM封裝104發(fā)出跨度地址。NVM封裝包括三個(gè)CAU,其中CAU之一在跨度塊偏移量中包括不良?jí)K?!翱缍?”地址通常將訪問(wèn)CAUO 塊4、CAUl 塊4和CAU2:塊4。然而,在此示例中,不良?jí)KCAUl 塊4被CAUl 塊2000所替換。用于接收多頁(yè)準(zhǔn)備命令的示例性NVM封裝圖4示出了用于接收多頁(yè)準(zhǔn)備 命令的NVM封裝。在一些實(shí)現(xiàn)方式中,NVM封裝400 包括控制器402,該控制器402維護(hù)從外部主機(jī)控制器(未示出)接收的多頁(yè)準(zhǔn)備命令的列表。這些命令可包括行地址[CAU:塊頁(yè)],控制器可使用該行地址來(lái)使CAU為多頁(yè)操作例如多頁(yè)編程操作作準(zhǔn)備。NVM封裝400可利用由多頁(yè)準(zhǔn)備命令提供的行地址來(lái)安排和使用最優(yōu)化的命令集來(lái)對(duì)頁(yè)編程或執(zhí)行其他操作。在一些實(shí)現(xiàn)方式中,在命令中使用3字節(jié)的地址來(lái)傳送兩件事·字節(jié)0-將使用該信息的命令,以及·字節(jié)1-2-地址計(jì)數(shù);在多頁(yè)操作中將訪問(wèn)的頁(yè)的數(shù)目。數(shù)據(jù)字節(jié)(輸入/寫(xiě)入)可用于傳送在即將到來(lái)的多頁(yè)操作中將使用的頁(yè)地址 (行)。地址計(jì)數(shù)和頁(yè)地址可以都是小端序的(little endian)。圖5是示例性多頁(yè)準(zhǔn)備操作的時(shí)序圖。在一些實(shí)現(xiàn)方式中,主機(jī)控制器可傳送多于3*N個(gè)字節(jié),其中N是要編程的頁(yè)的數(shù)目。在所示出的示例中,描述了多頁(yè)編程準(zhǔn)備操作。 也可使用其他類型的操作。第一代碼BOh指示了多頁(yè)編程準(zhǔn)備操作。CMD描述了主機(jī)控制器將用來(lái)利用數(shù)據(jù)對(duì)頁(yè)地址W-addr
、W-addr [1]和W_addr [2]編程的多頁(yè)編程命令。兩個(gè)字節(jié)計(jì)數(shù)_0和計(jì)數(shù)-1指示了計(jì)數(shù)后面的頁(yè)地址W-addr[X]的數(shù)目。在此示例中,在計(jì)數(shù)字節(jié)后面有3個(gè)頁(yè)地址。主機(jī)控制器可選擇在頁(yè)N之前終止編程操作(例如利用最后的命令)。NVM封裝于是可正確地結(jié)束操作。所有被傳送的頁(yè)可被編程。未被編程的頁(yè)可保持被擦除并且可在以后被編程。后跟代碼00h、00h、00h和40h的代碼77h表示確定頁(yè)是否被編程了的狀態(tài)請(qǐng)求命令。在多頁(yè)準(zhǔn)備操作之后,主機(jī)控制器可檢查操作狀態(tài)并根據(jù)狀態(tài)值來(lái)作出響應(yīng)或動(dòng)作。以下的表II規(guī)定了讀取操作狀態(tài)可返回的不同值以及對(duì)預(yù)期主機(jī)控制器將會(huì)做什么的說(shuō)明。表II-用于多頁(yè)準(zhǔn)備差錯(cuò)應(yīng)對(duì)的示例性狀態(tài)值
權(quán)利要求
1.一種方法,包括從主機(jī)控制器接收準(zhǔn)備命令;以及基于所述準(zhǔn)備命令配置非易失性存儲(chǔ)器以為所述非易失性存儲(chǔ)器上的后續(xù)操作作準(zhǔn)備。
2.如權(quán)利要求1所述的方法,其中,配置包括改變命令順序或使用優(yōu)化的命令集。
3.如權(quán)利要求1所述的方法,其中,所述命令是讀取命令或編程命令中的至少一個(gè)。
4.如權(quán)利要求1所述的方法,其中,所述命令是狀態(tài)請(qǐng)求命令。
5.如權(quán)利要求1所述的方法,其中,所述后續(xù)操作是多頁(yè)編程操作。
6.一種方法,包括向非易失性存儲(chǔ)器器件發(fā)送第一命令,所述第一命令可用于配置所述非易失性存儲(chǔ)器器件的非易失性存儲(chǔ)器以為所述非易失性存儲(chǔ)器上的后續(xù)操作作準(zhǔn)備;向所述非易失性存儲(chǔ)器器件發(fā)送第二命令以在所述非易失性存儲(chǔ)器上執(zhí)行所述操作;以及接收由所述操作產(chǎn)生的數(shù)據(jù)。
7.如權(quán)利要求6所述的方法,其中,配置包括改變命令順序或使用優(yōu)化的命令集。
8.如權(quán)利要求6所述的方法,其中,所述第一命令是讀取命令或編程命令中的至少一個(gè)。
9.如權(quán)利要求6所述的方法,其中,所述第一命令是狀態(tài)請(qǐng)求命令。
10.如權(quán)利要求6所述的方法,其中,所述第二命令是多頁(yè)編程操作。
11.一種系統(tǒng),包括接口,被配置用于從主機(jī)控制器接收準(zhǔn)備命令;以及耦合到所述接口的控制器,該控制器可用于基于所述準(zhǔn)備命令配置非易失性存儲(chǔ)器以為所述非易失性存儲(chǔ)器上的后續(xù)操作作準(zhǔn)備。
12.如權(quán)利要求11所述的方法,其中,配置包括改變命令順序或使用優(yōu)化的命令集。
13.如權(quán)利要求11所述的方法,其中,所述命令是讀取命令或編程命令中的至少一個(gè)。
14.如權(quán)利要求11所述的方法,其中,所述命令是狀態(tài)請(qǐng)求命令。
15.一種系統(tǒng),包括存儲(chǔ)多個(gè)命令的存儲(chǔ)器;以及耦合到所述存儲(chǔ)器的處理器,該處理器被配置用于向非易失性存儲(chǔ)器器件發(fā)送第一命令,所述第一命令可用于配置所述非易失性存儲(chǔ)器器件的非易失性存儲(chǔ)器以為所述非易失性存儲(chǔ)器上的后續(xù)操作作準(zhǔn)備;向所述非易失性存儲(chǔ)器器件發(fā)送第二命令以在所述非易失性存儲(chǔ)器上執(zhí)行所述操作;以及接收由所述操作產(chǎn)生的數(shù)據(jù)。
16.如權(quán)利要求15所述的系統(tǒng),其中,配置包括改變命令順序或使用優(yōu)化的命令集。
17.如權(quán)利要求15所述的系統(tǒng),其中,所述命令是讀取命令或編程命令中的至少一個(gè)。
18.如權(quán)利要求15所述的系統(tǒng),其中,所述命令是狀態(tài)請(qǐng)求命令。
19.如權(quán)利要求15所述的系統(tǒng),其中,所述后續(xù)操作是多頁(yè)編程操作。
20.一種方法,包括用于向非易失性存儲(chǔ)器器件發(fā)送第一命令的手段,所述第一命令可用于配置所述非易失性存儲(chǔ)器器件的非易失性存儲(chǔ)器以為所述非易失性存儲(chǔ)器上的后續(xù)操作作準(zhǔn)備;用 于向所述非易失性存儲(chǔ)器器件發(fā)送第二命令以在所述非易失性存儲(chǔ)器上執(zhí)行所述操作的手段;以及用于接收由所述操作產(chǎn)生的數(shù)據(jù)的手段。
全文摘要
公開(kāi)了用于非易失性存儲(chǔ)器系統(tǒng)的多頁(yè)準(zhǔn)備命令。多頁(yè)準(zhǔn)備命令提供可用于使非易失性存儲(chǔ)器器件為即將到來(lái)的多頁(yè)編程操作作準(zhǔn)備的數(shù)據(jù)。主機(jī)控制器可在多頁(yè)編程操作之前使用這些命令來(lái)優(yōu)化對(duì)多頁(yè)編程命令的使用。非易失性存儲(chǔ)器器件可使用這些命令來(lái)配置非易失性存儲(chǔ)器以為后續(xù)操作作準(zhǔn)備,例如為后續(xù)操作改變命令順序或使用最優(yōu)化的命令集。
文檔編號(hào)G06F12/02GK102422271SQ201080019954
公開(kāi)日2012年4月18日 申請(qǐng)日期2010年4月27日 優(yōu)先權(quán)日2009年5月6日
發(fā)明者丹尼爾·杰弗里·波斯特, 塔霍馬·托爾科斯, 威蒂姆·克梅爾尼特斯基, 安東尼·琺, 尼爾·雅各布·瓦卡拉特 申請(qǐng)人:蘋(píng)果公司