專利名稱:用于從非易失性存儲(chǔ)器讀取數(shù)據(jù)的控制器的制作方法
技術(shù)領(lǐng)域:
本公開描述與固態(tài)驅(qū)動(dòng)器(SSD)相關(guān)的系統(tǒng)和技術(shù)。
背景技術(shù):
SSD為使用固態(tài)存儲(chǔ)器存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)設(shè)備。通常將非易失性存儲(chǔ)器(例如,基于NAND的閃存)用作具有SSD的存儲(chǔ)設(shè)備。操作耦合到非易失性存儲(chǔ)器設(shè)備的SSD 包括控制器,其被配置成向非易失性存儲(chǔ)器設(shè)備寫入數(shù)據(jù)和從非易失性存儲(chǔ)器設(shè)備取回?cái)?shù)據(jù)。通常將多個(gè)非易失性存儲(chǔ)器設(shè)備耦合到SSD控制器以增加SSD的數(shù)據(jù)吞吐量。將數(shù)據(jù)塊存儲(chǔ)在非易失性存儲(chǔ)器單元的扇區(qū)中。經(jīng)由SSD控制器中的通道,通過(guò)對(duì)操作耦合到每個(gè)通道的非易失性存儲(chǔ)器單元的扇區(qū)進(jìn)行掃描,SSD控制器能夠取回?cái)?shù)據(jù)塊的部分。在一些情況下,數(shù)據(jù)塊的全部或多個(gè)部分可集中于操作耦合到一個(gè)通道的非易失性存儲(chǔ)器單元的扇區(qū)中。
發(fā)明內(nèi)容
本說(shuō)明書描述了與用于從非易失性存儲(chǔ)器讀取數(shù)據(jù)的控制器相關(guān)的技術(shù)。所描述的系統(tǒng)和技術(shù)的創(chuàng)新方面可實(shí)施為包括緩沖器的設(shè)備,其中所述緩沖器被配置成持有對(duì)應(yīng)于命令的數(shù)據(jù)塊。所述命令標(biāo)識(shí)所述數(shù)據(jù)塊和將用于傳輸該標(biāo)識(shí)的數(shù)據(jù)塊的第一序列。所述數(shù)據(jù)塊的部分存儲(chǔ)在各自的非易失性存儲(chǔ)器單元中。所述設(shè)備包括數(shù)據(jù)取回器,被配置成響應(yīng)于所述命令從所述各自的非易失性存儲(chǔ)器單元中取回所述數(shù)據(jù)塊的所述部分。所述數(shù)據(jù)取回器被配置成以不同于所述第一序列的第二序列取回所述部分并將所述取回的數(shù)據(jù)塊的部分傳輸?shù)剿鼍彌_器。響應(yīng)于所述數(shù)據(jù)取回器已取回所述數(shù)據(jù)塊中所包括的所有部分的指示,所述緩沖器傳輸所述數(shù)據(jù)塊。本發(fā)明的此方面和其它方面可包括下列特征中的一個(gè)或多個(gè)。所述數(shù)據(jù)取回器可被配置成將對(duì)應(yīng)于第一命令的數(shù)據(jù)塊的部分與對(duì)應(yīng)于第二命令的數(shù)據(jù)塊的部分進(jìn)行交錯(cuò)。 每個(gè)非易失性存儲(chǔ)器單元可包括多個(gè)扇區(qū)。所述數(shù)據(jù)塊的所述部分可存儲(chǔ)在非易失性存儲(chǔ)器單元的扇區(qū)之間。所述數(shù)據(jù)取回器可被配置成以所述第二序列從所述扇區(qū)取回所述數(shù)據(jù)塊的部分。所述設(shè)備可進(jìn)一步包括序列器,其可被配置成接收所述第一序列,對(duì)以所述第二序列取回的所述數(shù)據(jù)塊進(jìn)行跟蹤,并且提供所述數(shù)據(jù)取回器已取回所述數(shù)據(jù)塊中所包括的所有部分的指示。所述設(shè)備可進(jìn)一步包括誤碼校驗(yàn)和校正單元,其操作耦合到所述數(shù)據(jù)取回器并且被配置成對(duì)所述數(shù)據(jù)取回器取回的所述數(shù)據(jù)塊的一個(gè)或多個(gè)部分進(jìn)行校驗(yàn),其中所述數(shù)據(jù)取回器以所述第二序列將所述數(shù)據(jù)塊的所述部分傳輸?shù)剿稣`碼校驗(yàn)和校正單元。所述誤碼校驗(yàn)和校正單元可操作耦合到所述序列器,并且可被配置成將指示所述數(shù)據(jù)塊的一部分無(wú)誤碼的信號(hào)傳輸?shù)剿鲂蛄衅鳌Mㄟ^(guò)對(duì)所述數(shù)據(jù)塊的每個(gè)部分確定所述誤碼校驗(yàn)和校正單元傳輸所述數(shù)據(jù)塊的所述部分的標(biāo)識(shí)符和指示所述部分無(wú)誤碼的信號(hào),所述序列器可對(duì)以所述第二序列取回的所述數(shù)據(jù)塊進(jìn)行跟蹤。所描述的系統(tǒng)和技術(shù)的另一個(gè)創(chuàng)新方面可實(shí)施為包括接收針對(duì)數(shù)據(jù)塊的命令的方法。所述命令標(biāo)識(shí)所述數(shù)據(jù)塊和將用于傳輸該標(biāo)識(shí)的數(shù)據(jù)塊的第一序列。所述數(shù)據(jù)塊的部分存儲(chǔ)在各自的非易失性存儲(chǔ)器單元中。所述方法包括通過(guò)處理電路以不同于所述第一序列的第二序列從所述各自的非易失性存儲(chǔ)器單元中取回所述數(shù)據(jù)塊的部分。將所述取回的數(shù)據(jù)塊存儲(chǔ)在緩沖器中。所述方法包括根據(jù)第二序列,確定所述取回的數(shù)據(jù)包括所述數(shù)據(jù)塊的所有部分;以及響應(yīng)于所述確定,引導(dǎo)所述緩沖器傳輸所述數(shù)據(jù)塊。本發(fā)明的此方面和其它方面可包括下列特征中的一個(gè)或多個(gè)??蓪?duì)以所述第二序列取回的所述數(shù)據(jù)塊的所述部分進(jìn)行跟蹤。可接收用于傳輸附加數(shù)據(jù)塊的附加命令。可并行取回對(duì)應(yīng)于所述命令的數(shù)據(jù)塊以及對(duì)應(yīng)于所述附加命令的附加數(shù)據(jù)塊。可將所述數(shù)據(jù)塊的部分與所述附加數(shù)據(jù)塊的部分進(jìn)行交錯(cuò)??蓪⑺鼋诲e(cuò)的部分存儲(chǔ)在緩沖器中??蓪⑺鋈』氐臄?shù)據(jù)塊的部分傳輸?shù)剿鼍彌_器。每個(gè)非易失性存儲(chǔ)器單元可包括多個(gè)扇區(qū)。可將所述數(shù)據(jù)塊的所述部分存儲(chǔ)在所述非易失性存儲(chǔ)器單元的扇區(qū)之間。取回所述數(shù)據(jù)塊的所述部分可包括以所述第二序列從所述扇區(qū)取回所述數(shù)據(jù)塊的所述部分??蓪?duì)數(shù)據(jù)塊的一個(gè)或多個(gè)部分進(jìn)行校驗(yàn)以確定所述取回的數(shù)據(jù)塊無(wú)誤碼??蓚鬏斨甘舅鰯?shù)據(jù)塊的一部分無(wú)誤碼的信號(hào)。所述跟蹤可包括通過(guò)對(duì)所述數(shù)據(jù)塊的每個(gè)部分確定可傳輸所述數(shù)據(jù)塊的部分的標(biāo)識(shí)符和指示所述部分無(wú)誤碼的信號(hào),對(duì)以所述第二序列取回的所述數(shù)據(jù)塊進(jìn)行跟
S示ο所描述的系統(tǒng)和技術(shù)可實(shí)施于電子電路、計(jì)算機(jī)硬件、固件、軟件或其組合,例如, 本說(shuō)明書中所公開的結(jié)構(gòu)裝置及其結(jié)構(gòu)等同物。這可包括至少一個(gè)計(jì)算機(jī)可讀介質(zhì),其體現(xiàn)為可操作以使一個(gè)或多個(gè)數(shù)據(jù)處理裝置(例如,包括可編程處理器的信號(hào)處理設(shè)備)執(zhí)行所述操作的程序。因此,從公開的方法、系統(tǒng)或裝置可實(shí)現(xiàn)程序?qū)嵤⑶覐墓_的系統(tǒng)、 計(jì)算機(jī)可讀介質(zhì)或方法可實(shí)現(xiàn)裝置實(shí)施。類似地,從公開的系統(tǒng)、計(jì)算機(jī)可讀介質(zhì)或裝置可實(shí)現(xiàn)方法實(shí)施,并且從公開的方法、計(jì)算機(jī)可讀介質(zhì)或裝置可實(shí)現(xiàn)系統(tǒng)實(shí)施。例如,下文公開的實(shí)施方式可實(shí)施于各種系統(tǒng)和裝置,包括但不限于,專用數(shù)據(jù)處理裝置(例如,無(wú)線接入點(diǎn)、遠(yuǎn)程環(huán)境監(jiān)控器、路由器、轉(zhuǎn)換器、計(jì)算機(jī)系統(tǒng)部件、介質(zhì)訪問(wèn)單元)、移動(dòng)數(shù)據(jù)處理裝置(例如,無(wú)線客戶端、移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、移動(dòng)計(jì)算機(jī)、數(shù)碼相機(jī))、通用數(shù)據(jù)處理裝置(例如,小型計(jì)算機(jī)、服務(wù)器、大型主機(jī)、超級(jí)計(jì)算機(jī))或其組合。因此,根據(jù)所描述的系統(tǒng)和技術(shù)的另一方面,系統(tǒng)可包括多個(gè)非易失性存儲(chǔ)器單元,被配置成存儲(chǔ)數(shù)據(jù)塊的部分;主機(jī),被配置成傳輸命令以接收存儲(chǔ)在所述非易失性存儲(chǔ)器單元的一個(gè)或多個(gè)中的一個(gè)或多個(gè)數(shù)據(jù)塊;以及控制器,被配置成在所述非易失性存儲(chǔ)器單元和所述主機(jī)之間傳輸數(shù)據(jù)。所述控制器可被配置成接收來(lái)自所述主機(jī)的命令,其中每個(gè)命令標(biāo)識(shí)數(shù)據(jù)塊和用于將所述數(shù)據(jù)塊傳輸?shù)剿鲋鳈C(jī)的第一序列,并行取回存儲(chǔ)在所述非易失性存儲(chǔ)器單元中的數(shù)據(jù)塊,其中以對(duì)應(yīng)的命令所標(biāo)識(shí)的不同于所述第一序列的第二序列取回一個(gè)或多個(gè)數(shù)據(jù)塊的部分;對(duì)于每個(gè)命令,確定取回的數(shù)據(jù)塊的部分包括所述塊中的所有數(shù)據(jù),并且響應(yīng)于所述確定傳輸所述取回的數(shù)據(jù)塊??蓪?shí)施本說(shuō)明書中所描述的主題的具體實(shí)施方式
以實(shí)現(xiàn)下列優(yōu)點(diǎn)中的一個(gè)或多個(gè)。本文所描述的技術(shù)可減少通道中帶寬的損耗,其中控制器通過(guò)所述通道取回?cái)?shù)據(jù)塊。此夕卜,所述技術(shù)可提高從非易失性存儲(chǔ)器單元取回?cái)?shù)據(jù)塊的效率。此外,可并行服務(wù)請(qǐng)求多個(gè)數(shù)據(jù)塊的命令。具體地,例如,當(dāng)大型數(shù)據(jù)塊均勻地分布在少于全部的通道中或集中在一個(gè)通道中時(shí),除用于所述大型數(shù)據(jù)塊的命令之外,可并行執(zhí)行多個(gè)命令。這樣,在服務(wù)于多通路中的單個(gè)大型命令的同時(shí),還可服務(wù)附加的命令。此可使得給定組的大型命令的執(zhí)行時(shí)間的最小化。此外,可提高SSD控制器的吞吐量。附圖及其后的描述給出了一個(gè)或多個(gè)實(shí)施的細(xì)節(jié)。從所述描述、附圖以及權(quán)利要求中可易于了解其它特征、目的和優(yōu)點(diǎn)。
圖1示出包括固態(tài)存儲(chǔ)器子系統(tǒng)的計(jì)算系統(tǒng)的示例;圖2示出固態(tài)控制器的示例;圖3示出在對(duì)兩個(gè)數(shù)據(jù)塊進(jìn)行取回的過(guò)程中的數(shù)據(jù)流的示例;圖4示出固態(tài)控制器所執(zhí)行的數(shù)據(jù)傳輸策略的示例;圖5示出固態(tài)控制器中的緩沖器的示例,其中所述固態(tài)控制器包括分配給用于標(biāo)識(shí)數(shù)據(jù)塊的命令的區(qū)域;圖6示出響應(yīng)于來(lái)自主機(jī)的命令從非易失性存儲(chǔ)器單元取回?cái)?shù)據(jù)的過(guò)程的示例; 以及圖7示出從通道到緩沖器的數(shù)據(jù)流的示例。
具體實(shí)施例方式圖1示出計(jì)算系統(tǒng)100的示例,其包括固態(tài)存儲(chǔ)器子系統(tǒng)150。系統(tǒng)100包括中央處理單元(CPU) 105 ;顯示設(shè)備110(例如,CRT(陰極射線管)或IXD(液晶顯示器)監(jiān)控器);輸入設(shè)備,例如鍵盤115;以及指點(diǎn)設(shè)備120(盡管圖1中示出為鼠標(biāo)設(shè)備,但是其可為其它指示設(shè)備)。系統(tǒng)100可包括一個(gè)或多個(gè)附加的處理器和一個(gè)或多個(gè)附加的輸入/輸出設(shè)備,例如,麥克風(fēng)、揚(yáng)聲器、打印機(jī)等。固態(tài)存儲(chǔ)器子系統(tǒng)150包括固態(tài)控制器155和閃存160,例如,NAND閃存。閃存 160可包括一個(gè)或多個(gè)單級(jí)單元(SLC)設(shè)備和/或多級(jí)單元(MLC)設(shè)備。固態(tài)存儲(chǔ)器子系統(tǒng)150可包括控制邏輯,可設(shè)計(jì)所述控制邏輯以允許固態(tài)存儲(chǔ)器子系統(tǒng)150向系統(tǒng)100加載操作系統(tǒng)和應(yīng)用軟件。固態(tài)存儲(chǔ)器子系統(tǒng)150被配置成與固態(tài)控制器155以多通道配置運(yùn)行。在這種配置中,響應(yīng)于接收到來(lái)自主機(jī)(例如CPU 10 的命令,控制器155通過(guò)多個(gè)通道在CPU 105 和閃存160之間并行傳輸數(shù)據(jù)以提供高數(shù)據(jù)吞吐量。例如,閃存160可包括操作耦合到多個(gè)NAND閃存單元(如參照?qǐng)D2和圖3所描述)的四個(gè)通道,其中每個(gè)通道可以約1.6(ibpS 的速率傳送數(shù)據(jù)。與閃存160從四個(gè)NAND閃存單元串行傳輸數(shù)據(jù)時(shí)控制器155可達(dá)到的吞吐量相比,在這種布置中,固態(tài)控制器155可達(dá)到的吞吐量將比前者大四倍。使用這里所描述的技術(shù),可提高固態(tài)控制器1 從與其耦合的多個(gè)NAND閃存單元取回?cái)?shù)據(jù)的效率。容易理解,系統(tǒng)100表示臺(tái)式個(gè)人計(jì)算機(jī),其可包括未示出的許多其它設(shè)備和子系統(tǒng),例如硬盤驅(qū)動(dòng)器、網(wǎng)絡(luò)接口和母板等。然而,此僅為其中可實(shí)施當(dāng)前公開的主題的較大系統(tǒng)的一個(gè)示例。這種較大設(shè)備和系統(tǒng)的其它示例包括膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、無(wú)盤迷你筆記本(sub-notebook)計(jì)算機(jī)以及可匹配入膝上型計(jì)算機(jī)上的PCI ExpressCard, PCIeMini插槽或臺(tái)式計(jì)算機(jī)上的PCIe插槽、但是卻呈現(xiàn)為另一個(gè)驅(qū)動(dòng)器的超細(xì)長(zhǎng)驅(qū)動(dòng)器。 示例還包括采用非易失性存儲(chǔ)器設(shè)備的智能電話、上網(wǎng)本、媒體播放器等。然而,盡管示出這些具體示例,但是應(yīng)理解,可使本文所描述的主題與許多不同類型的計(jì)算系統(tǒng)相兼容。此外,閃存160可包括許多不同類型的固態(tài)存儲(chǔ)設(shè)備,其中所述固態(tài)存儲(chǔ)設(shè)備能夠保持其數(shù)據(jù)而無(wú)需任何外部電源。此設(shè)備可包括閃存設(shè)備,例如BIOS芯片、 CompactFlash、SmartMedia、記憶棒、PCMCIA類型I和類型II存儲(chǔ)器卡、以及用于視頻游戲控制臺(tái)的存儲(chǔ)卡。此設(shè)備還可包括相變存儲(chǔ)器設(shè)備。圖2示出固態(tài)控制器250的示例??刂破?50被配置成操作耦合到主機(jī),例如,計(jì)算機(jī)系統(tǒng)的CPU 105。控制器接收來(lái)自主機(jī)的數(shù)據(jù)塊的命令,并且將由該命令標(biāo)識(shí)的數(shù)據(jù)塊傳輸?shù)街鳈C(jī)。例如,CPU 105將標(biāo)識(shí)數(shù)據(jù)塊的命令傳輸?shù)娇刂破?50,并且作為響應(yīng),控制器 250使用本文所描述的技術(shù)從多個(gè)非易失性存儲(chǔ)器單元取回該數(shù)據(jù)塊??刂破?50包括數(shù)據(jù)取回器210,例如,NFLASH,其被配置成取回?cái)?shù)據(jù)塊。數(shù)據(jù)存儲(chǔ)在多個(gè)非易失性存儲(chǔ)器單元(NVM) 214中,例如,NVM UNVM 2, NVM 3, NVM 4、. . . NVM η。 例如,將每個(gè)數(shù)據(jù)塊分成多個(gè)部分,并且將每個(gè)部分存儲(chǔ)在對(duì)應(yīng)NVM的扇區(qū)中。單個(gè)數(shù)據(jù)塊的所有部分無(wú)需存儲(chǔ)在相同的NVM中。相反地,所述部分可分布在多個(gè)NVM之間。數(shù)據(jù)取回器210包括多個(gè)通道216,其中通道216操作耦合到NVM 214。例如,如圖2所示,數(shù)據(jù)取回器210包括四個(gè)通道216。容易理解,數(shù)據(jù)取回器210可具有更多的通道,例如,五個(gè)或六個(gè),或更少的通道,例如,兩個(gè)或三個(gè)??蓪⑼ǖ?16操作耦合到一個(gè)或多個(gè)NVM 214。例如,將通道1 (216)耦合到NVM 1和2 (214),將通道2 (216)耦合到NVM 3 和Μ214)。將通道3 (216)耦合到一個(gè)或多個(gè)NVM 214 (未示出),并且將通道4 (216)耦合到NVM η(214)0每個(gè)NVM 214可包括多個(gè)扇區(qū),其中可物理存儲(chǔ)數(shù)據(jù)塊的一部分。數(shù)據(jù)取回器210被配置成從存儲(chǔ)有數(shù)據(jù)塊的一部分的NVM 214中的扇區(qū)取回所述數(shù)據(jù)塊的該部分??刂破?50進(jìn)一步包括緩沖器212,其配置成存儲(chǔ)取回的數(shù)據(jù)塊的部分。例如, 數(shù)據(jù)取回器210通過(guò)通道216從NVM取回?cái)?shù)據(jù)塊的部分,并且將取回的部分傳輸?shù)骄彌_器 212。緩沖器212充當(dāng)所述部分的臨時(shí)存儲(chǔ)單元。控制器250附加地包括序列器218,其被配置成對(duì)從NVM 214取回的所述數(shù)據(jù)塊的部分進(jìn)行跟蹤。具體地,序列器218被配置成對(duì)數(shù)據(jù)取回器210取回的部分進(jìn)行跟蹤并將其傳輸至緩沖器212。序列器218進(jìn)行此操作直至從NVM 214取回所述數(shù)據(jù)塊的所有部分。隨后,序列器218將指示(例如信號(hào))傳輸?shù)骄彌_器212以指示已取回?cái)?shù)據(jù)塊的所有部分。響應(yīng)于對(duì)來(lái)自序列器218的指示的接收,緩沖器212將取回的數(shù)據(jù)塊的部分傳輸?shù)街鳈C(jī)。在一些實(shí)施中,控制器250包括誤碼校驗(yàn)和校正單元220,其操作耦合到數(shù)據(jù)取回
8器210。誤碼校驗(yàn)和校正單元220對(duì)數(shù)據(jù)取回器210取回的數(shù)據(jù)塊的每個(gè)部分進(jìn)行校驗(yàn)以確定取回的部分無(wú)誤碼。誤碼校驗(yàn)和校正單元220還耦合到序列器218以傳輸指示取回的部分無(wú)誤碼的信號(hào)??上驍?shù)據(jù)塊的每個(gè)部分分配邏輯塊地址(LBA),其定義了如何以主機(jī)的使用順序存儲(chǔ)數(shù)據(jù)。在一些實(shí)施中,可將連續(xù)的部分存儲(chǔ)在連續(xù)的NVM中。備選地,可將連續(xù)的部分存儲(chǔ)在相同的NVM中。在另一種備選情況下,可將所述部分分布在NVM之間。此外,每個(gè) NVM包括多個(gè)扇區(qū),并且每個(gè)扇區(qū)被配置成物理存儲(chǔ)數(shù)據(jù)塊的一部分。因此,可將數(shù)據(jù)塊的部分分布在多個(gè)NVM中所包括的多個(gè)扇區(qū)之間。將參照下文的表2描述用于并行取回存儲(chǔ)在多個(gè)NVM之間的兩個(gè)數(shù)據(jù)塊的方法。 并行取回兩個(gè)數(shù)據(jù)塊意味著在各通路中在NVM的扇區(qū)上取回?cái)?shù)據(jù)塊的部分。換句話說(shuō),在取回第二塊的部分之前,數(shù)據(jù)取回器210不等待取回第一塊的所有部分。而是,數(shù)據(jù)取回器 210從NVM中的扇區(qū)取回所有兩個(gè)數(shù)據(jù)塊的部分。在下文的表2中,根據(jù)下列公約表示數(shù)據(jù)塊的部分“塊編號(hào)_部分編號(hào)”。塊編號(hào)對(duì)應(yīng)于命令,而部分編號(hào)對(duì)應(yīng)于數(shù)據(jù)塊的一部分的標(biāo)識(shí)符。在一些實(shí)施中,可以下文描述的描述符表示部分編號(hào)。
權(quán)利要求
1.一種設(shè)備,包括緩沖器,被配置成持有對(duì)應(yīng)于命令的數(shù)據(jù)塊,其中所述命令標(biāo)識(shí)所述數(shù)據(jù)塊和將用于傳輸所標(biāo)識(shí)的數(shù)據(jù)塊的第一序列,其中所述數(shù)據(jù)塊的部分存儲(chǔ)在各自的非易失性存儲(chǔ)器單元中;以及數(shù)據(jù)取回器,被配置成響應(yīng)于所述命令以不同于所述第一序列的第二序列從所述各自的非易失性存儲(chǔ)器單元中取回所述數(shù)據(jù)塊的部分,并將所述取回的數(shù)據(jù)塊的部分傳輸?shù)剿鼍彌_器;其中對(duì)以所述第二序列取回的所述數(shù)據(jù)塊進(jìn)行跟蹤;其中所述緩沖器響應(yīng)于所述數(shù)據(jù)取回器已取回所述數(shù)據(jù)塊中所包括的所述部分的指示而傳輸所述數(shù)據(jù)塊。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述緩沖器被配置成持有對(duì)應(yīng)于各自的命令的多個(gè)數(shù)據(jù)塊,以及其中所述數(shù)據(jù)取回器被配置成從所述多個(gè)數(shù)據(jù)塊的不同數(shù)據(jù)塊中并行取回不同的部分。
3.根據(jù)權(quán)利要求2所述的設(shè)備,其中所述數(shù)據(jù)取回器被配置成將對(duì)應(yīng)于第一命令的數(shù)據(jù)塊的部分與對(duì)應(yīng)于第二命令的數(shù)據(jù)塊的部分進(jìn)行交錯(cuò)。
4.根據(jù)權(quán)利要求1所述的設(shè)備,其中每個(gè)非易失性存儲(chǔ)器單元包括多個(gè)扇區(qū),所述數(shù)據(jù)塊的部分存儲(chǔ)在所述非易失性存儲(chǔ)器單元的扇區(qū)之間,以及其中所述數(shù)據(jù)取回器被配置成以所述第二序列從所述扇區(qū)取回所述數(shù)據(jù)塊的部分。
5.根據(jù)權(quán)利要求1所述的設(shè)備,進(jìn)一步包括序列器,其被配置成接收所述第一序列;跟蹤以所述第二序列取回的所述數(shù)據(jù)塊;以及提供所述數(shù)據(jù)取回器已取回所述數(shù)據(jù)塊中所包括的所有部分的指示;以及誤碼校驗(yàn)和校正單元,其操作耦合到所述數(shù)據(jù)取回器,并且被配置成對(duì)所述數(shù)據(jù)取回器取回的所述數(shù)據(jù)塊的一個(gè)或多個(gè)部分進(jìn)行校驗(yàn),其中所述數(shù)據(jù)取回器將所述數(shù)據(jù)塊的部分以所述第二序列傳輸?shù)剿稣`碼校驗(yàn)和校正單元。
6.根據(jù)權(quán)利要求5所述的設(shè)備,其中所述誤碼校驗(yàn)和校正單元操作耦合到所述序列器,并且被配置成將指示所述數(shù)據(jù)塊的部分無(wú)誤碼的信號(hào)傳輸?shù)剿鲂蛄衅?;以及其中通過(guò)對(duì)所述數(shù)據(jù)塊的每個(gè)部分確定所述誤碼校驗(yàn)和校正單元傳輸所述數(shù)據(jù)塊的所述部分的標(biāo)識(shí)符和指示所述部分無(wú)誤碼的信號(hào),所述序列器對(duì)以所述第二序列取回的所述數(shù)據(jù)塊進(jìn)行跟蹤。
7.一種方法,包括接收針對(duì)數(shù)據(jù)塊的命令,其中所述命令標(biāo)識(shí)所述數(shù)據(jù)塊和將用于傳輸該標(biāo)識(shí)的數(shù)據(jù)塊的第一序列,其中所述數(shù)據(jù)塊的部分存儲(chǔ)在各自的非易失性存儲(chǔ)器單元中;通過(guò)處理電路以不同于所述第一序列的第二序列從所述各自的非易失性存儲(chǔ)器單元中取回所述數(shù)據(jù)塊的部分,其中將所述取回的數(shù)據(jù)塊存儲(chǔ)在緩沖器中;根據(jù)所述第二序列確定所述取回的數(shù)據(jù)包括所述數(shù)據(jù)塊的部分;以及響應(yīng)于所述確定,引導(dǎo)所述緩沖器傳輸所述數(shù)據(jù)塊。
8.根據(jù)權(quán)利要求7所述的方法,進(jìn)一步包括對(duì)以所述第二序列取回的所述數(shù)據(jù)塊的所述部分進(jìn)行跟蹤。
9.根據(jù)權(quán)利要求7所述的方法,進(jìn)一步包括接收用于傳輸附加數(shù)據(jù)塊的附加命令;以及并行取回對(duì)應(yīng)于所述命令的數(shù)據(jù)塊和對(duì)應(yīng)于所述附加命令的附加數(shù)據(jù)塊。
10.根據(jù)權(quán)利要求9所述的方法,進(jìn)一步包括將所述數(shù)據(jù)塊的部分與所述附加數(shù)據(jù)塊的部分進(jìn)行交錯(cuò),其中將所述交錯(cuò)的部分存儲(chǔ)在所述緩沖器中。
11.根據(jù)權(quán)利要求7所述的方法,進(jìn)一步包括將所述取回的數(shù)據(jù)塊的部分傳輸?shù)剿鼍彌_器。
12.根據(jù)權(quán)利要求7所述的方法,其中每個(gè)非易失性存儲(chǔ)器單元包括多個(gè)扇區(qū),將所述數(shù)據(jù)塊的所述部分存儲(chǔ)在所述非易失性存儲(chǔ)器單元的扇區(qū)之間,其中取回所述數(shù)據(jù)塊的所述部分包括以所述第二序列從所述扇區(qū)取回所述數(shù)據(jù)塊的所述部分。
13.根據(jù)權(quán)利要求7所述的方法,進(jìn)一步包括對(duì)數(shù)據(jù)塊的一個(gè)或多個(gè)部分進(jìn)行校驗(yàn)以確定所述取回的數(shù)據(jù)塊無(wú)誤碼。
14.根據(jù)權(quán)利要求13所述的方法,進(jìn)一步包括傳輸指示所述數(shù)據(jù)塊的一部分無(wú)誤碼的信號(hào),其中所述跟蹤包括通過(guò)對(duì)所述數(shù)據(jù)塊的每個(gè)部分確定傳輸所述數(shù)據(jù)塊的所述部分的標(biāo)識(shí)符和指示所述部分無(wú)誤碼的信號(hào),對(duì)以所述第二序列取回的所述數(shù)據(jù)塊進(jìn)行跟蹤。
15.一種系統(tǒng),包括多個(gè)非易失性存儲(chǔ)器單元,被配置成存儲(chǔ)數(shù)據(jù)塊的部分;主機(jī),被配置成傳輸命令以接收存儲(chǔ)在所述非易失性存儲(chǔ)器單元的一個(gè)或多個(gè)中的一個(gè)或多個(gè)數(shù)據(jù)塊;以及控制器,被配置成在所述非易失性存儲(chǔ)器單元和所述主機(jī)之間傳輸數(shù)據(jù),所述控制器被配置成接收來(lái)自所述主機(jī)的命令,每個(gè)命令標(biāo)識(shí)數(shù)據(jù)塊和用于將所述數(shù)據(jù)塊傳輸?shù)剿鲋鳈C(jī)的第一序列;并行取回存儲(chǔ)在所述非易失性存儲(chǔ)器單元中的數(shù)據(jù)塊,其中以對(duì)應(yīng)的命令所標(biāo)識(shí)的不同于所述第一序列的第二序列取回一個(gè)或多個(gè)數(shù)據(jù)塊的部分;對(duì)于每個(gè)命令,確定所述取回的數(shù)據(jù)塊的部分包括所述塊中的數(shù)據(jù);以及響應(yīng)于所述確定,傳輸所述取回的數(shù)據(jù)塊。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述控制器進(jìn)一步被配置成將響應(yīng)于接收第一命令而取回的第一數(shù)據(jù)塊的部分與響應(yīng)于第二命令而取回的第二數(shù)據(jù)塊的部分進(jìn)行交錯(cuò), 其中將所述交錯(cuò)的部分存儲(chǔ)在所述緩沖器中。
17.根據(jù)權(quán)利要求15所述的系統(tǒng),其中每個(gè)非易失性存儲(chǔ)器單元包括多個(gè)扇區(qū),將所述數(shù)據(jù)塊的所述部分存儲(chǔ)在所述非易失性存儲(chǔ)器單元的扇區(qū)之間,以及所述控制器被配置成以所述第二序列從所述扇區(qū)取回所述數(shù)據(jù)塊的部分。
18.根據(jù)權(quán)利要求15所述的系統(tǒng),進(jìn)一步包括誤碼校驗(yàn)和校正單元,其操作耦合到所述控制器,用于對(duì)數(shù)據(jù)塊的一個(gè)或多個(gè)部分進(jìn)行校驗(yàn)以確定所述取回的數(shù)據(jù)塊無(wú)誤碼。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述誤碼校驗(yàn)和校正單元被配置成向所述緩沖器傳輸信號(hào),其中所述信號(hào)指示所述數(shù)據(jù)塊的部分無(wú)誤碼。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述控制器進(jìn)一步被配置成,通過(guò)對(duì)所述數(shù)據(jù)塊的每個(gè)部分確定所述數(shù)據(jù)塊的所述部分的標(biāo)識(shí)符和指示所述部分無(wú)誤碼的信號(hào),對(duì)以所述第二序列取回的所述數(shù)據(jù)塊進(jìn)行跟蹤。
全文摘要
本公開包括與固態(tài)驅(qū)動(dòng)器控制器相關(guān)的系統(tǒng)和技術(shù)。在一些實(shí)施中,設(shè)備包括緩沖器,其持有對(duì)應(yīng)于來(lái)自主機(jī)的命令的數(shù)據(jù)塊。所述命令標(biāo)識(shí)該數(shù)據(jù)塊和將用于傳輸該標(biāo)識(shí)的數(shù)據(jù)塊的邏輯序列。響應(yīng)于所述命令,該設(shè)備中所包括的數(shù)據(jù)取回器以不同于所述邏輯序列的取回序列從非易失性存儲(chǔ)器單元中取回所述數(shù)據(jù)塊的部分。當(dāng)所述設(shè)備接收到標(biāo)識(shí)多個(gè)數(shù)據(jù)塊的多個(gè)命令時(shí),所述設(shè)備通過(guò)取回這兩個(gè)命令標(biāo)識(shí)的數(shù)據(jù)塊的部分并行服務(wù)所述命令。
文檔編號(hào)G06F3/06GK102473078SQ201080035769
公開日2012年5月23日 申請(qǐng)日期2010年7月23日 優(yōu)先權(quán)日2009年8月11日
發(fā)明者L·恩古延, P·尼奧斯, S-H·F·奧, 黃政國(guó) 申請(qǐng)人:馬維爾國(guó)際貿(mào)易有限公司