欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于在非易失性存儲(chǔ)設(shè)備中以冗余方式存儲(chǔ)數(shù)據(jù)塊的存儲(chǔ)控制器和系統(tǒng)的制作方法

文檔序號(hào):6738542閱讀:284來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于在非易失性存儲(chǔ)設(shè)備中以冗余方式存儲(chǔ)數(shù)據(jù)塊的存儲(chǔ)控制器和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于冗余并高效地存儲(chǔ)多個(gè)數(shù)據(jù)塊的方法,特別在數(shù)據(jù)塊是隨機(jī)的情況下,在多個(gè)獨(dú)立的可讀/寫(xiě)非易失性存儲(chǔ)設(shè)備中,所述設(shè)備把數(shù)據(jù)塊作為可以從該存儲(chǔ)設(shè)備中讀取或向該設(shè)備寫(xiě)入的最小數(shù)據(jù)量。所述方法存儲(chǔ)多個(gè)數(shù)據(jù)塊以及一個(gè)或多個(gè)與所述多個(gè)數(shù)據(jù)塊相關(guān)聯(lián)的錯(cuò)誤校驗(yàn)數(shù)據(jù)塊,其中每個(gè)數(shù)據(jù)塊存儲(chǔ)于單獨(dú)的非易失性存儲(chǔ)設(shè)備中,其中建立對(duì)塊的存儲(chǔ)進(jìn)行鏈接(link)的關(guān)聯(lián)映射(map)。本發(fā)明還涉及一種執(zhí)行前述方法的存儲(chǔ)控制器和具有執(zhí)行該方法的存儲(chǔ)控制器的存儲(chǔ)系統(tǒng)。
背景技術(shù)
每次存儲(chǔ)或讀取諸如一頁(yè)數(shù)據(jù)的數(shù)據(jù)塊的非易失性存儲(chǔ)設(shè)備是本領(lǐng)域所熟知的。例如,典型地,在每次讀/寫(xiě)操作中,NAND存儲(chǔ)設(shè)備可以在設(shè)備中存儲(chǔ)諸如4千字節(jié)的一頁(yè)數(shù)據(jù)。每次存儲(chǔ)或讀取數(shù)據(jù)塊的其他類(lèi)型的非易失性存儲(chǔ)設(shè)備,包括所謂的托管NAND(managed NAND)存儲(chǔ)設(shè)備,諸如可向 Santa Clara California 的 Greenliant Systems,Inc.購(gòu)買(mǎi)的NANDrive存儲(chǔ)設(shè)備。在諸如NANDrive存儲(chǔ)設(shè)備的托管NAND存儲(chǔ)設(shè)備中,控制器對(duì)原始(或非托管的)NAND存儲(chǔ)設(shè)備進(jìn)行控制,以使得諸如SATA (串行ATA)的標(biāo)準(zhǔn)接口可用于與NANDrive存儲(chǔ)設(shè)備對(duì)接。如本文使用的,術(shù)語(yǔ)“NAND存儲(chǔ)設(shè)備”指的是原始和托管NAND存儲(chǔ)設(shè)備二者。在NAND存儲(chǔ)設(shè)備中,非易失性存儲(chǔ)設(shè)備只能以每次多個(gè)數(shù)據(jù)塊的方式被寫(xiě)入或從中讀取。由于它們每次 讀回?cái)?shù)據(jù)塊的能力,NAND存儲(chǔ)設(shè)備對(duì)存儲(chǔ)大量數(shù)據(jù)是有用的。在現(xiàn)有技術(shù)中,因?yàn)镹AND存儲(chǔ)設(shè)備容易出現(xiàn)錯(cuò)誤,所以數(shù)據(jù)連同錯(cuò)誤校驗(yàn)比特一起被存入NAND存儲(chǔ)設(shè)備中。因而,從多個(gè)數(shù)據(jù)比特生成的一種已知的錯(cuò)誤校驗(yàn)比特是奇偶校驗(yàn)比特。其他類(lèi)型的錯(cuò)誤比特包括里德所羅門(mén)錯(cuò)誤比特和其他已知的類(lèi)型。數(shù)據(jù)比特和從數(shù)據(jù)比特所生成的錯(cuò)誤比特被提供給多個(gè)NAND存儲(chǔ)設(shè)備。一種存儲(chǔ)數(shù)據(jù)比特塊的現(xiàn)有技術(shù)的方法是將數(shù)據(jù)塊分成多個(gè)相等的數(shù)據(jù)子塊,其中提供到物理上不同的NAND存儲(chǔ)設(shè)備的每個(gè)數(shù)據(jù)子塊彼此不同。該關(guān)聯(lián)的錯(cuò)誤比特(用于多個(gè)數(shù)據(jù)子塊)被提供到另一個(gè)物理上不同的NAND存儲(chǔ)設(shè)備。因而,所有的數(shù)據(jù)比特和錯(cuò)誤比特塊都被提供到物理上不同的NAND存儲(chǔ)設(shè)備。被提供到每個(gè)不同的NAND存儲(chǔ)設(shè)備的數(shù)據(jù)子塊能以?xún)煞N方式之一被存儲(chǔ)。首先,當(dāng)在NAND存儲(chǔ)設(shè)備的緩沖器中接收到數(shù)據(jù)子塊時(shí),該數(shù)據(jù)子塊被存儲(chǔ)在NAND存儲(chǔ)單元塊中以用于存儲(chǔ)。這是浪費(fèi)的,因?yàn)樵摯鎯?chǔ)塊只包含子塊數(shù)據(jù)量??商鎿Q地,數(shù)據(jù)子塊能被保存在緩沖器中直到接收到另一個(gè)子塊(來(lái)自不同的數(shù)據(jù)塊),以此類(lèi)推,直到在緩沖器中接收到等于一個(gè)塊的數(shù)據(jù)量時(shí),在該情況下緩沖器中的整個(gè)數(shù)據(jù)塊(包括來(lái)自不同數(shù)據(jù)塊的多個(gè)子塊)可以存儲(chǔ)在一個(gè)存儲(chǔ)塊中。這種替代方法也不是最優(yōu)的,因?yàn)閿?shù)據(jù)被保存在緩沖器中,并且由于緩沖器通常是易失性存儲(chǔ)器,因此存在電源故障導(dǎo)致數(shù)據(jù)丟失的可能性。在讀回時(shí),一旦從一個(gè)NAND存儲(chǔ)設(shè)備讀出了存儲(chǔ)塊,必須對(duì)從該存儲(chǔ)塊中讀取的數(shù)據(jù)進(jìn)行解析以恢復(fù)所選擇的數(shù)據(jù)子塊。從物理上不同的NAND存儲(chǔ)設(shè)備讀出與選擇的塊相關(guān)聯(lián)的多個(gè)數(shù)據(jù)子塊(與相關(guān)聯(lián)的錯(cuò)誤比特一起)。把來(lái)自所有數(shù)據(jù)塊的數(shù)據(jù)與來(lái)自錯(cuò)誤塊的數(shù)據(jù)相比較以確定是否出現(xiàn)了錯(cuò)誤。為了這種方法正確地操作,在現(xiàn)有技術(shù)中,數(shù)據(jù)塊被分成多個(gè)子塊,然后帶有錯(cuò)誤比特塊,降低了存儲(chǔ)和讀取的數(shù)據(jù)的大小,這反過(guò)來(lái)降低了讀寫(xiě)效率。例如,如果數(shù)據(jù)塊為4千字節(jié),并且被存儲(chǔ)在8個(gè)NAND設(shè)備中。每個(gè)數(shù)據(jù)子塊為0.5千字節(jié)并且被存儲(chǔ)在NAND設(shè)備的每一塊中。當(dāng)讀出時(shí),如果需要8個(gè)數(shù)據(jù)塊或32千字節(jié),則八(8)個(gè)NAND設(shè)備中的每一個(gè)必須被讀取8次。來(lái)自八(8)個(gè)NAND設(shè)備的每一個(gè)中的每個(gè)子塊(0.5千字節(jié))的數(shù)據(jù)量必須組合成一個(gè)4千字節(jié)的塊。然而,讀取NAND設(shè)備所需的時(shí)間量歸因于建立命令操作所需的時(shí)間、讀取非易失性存儲(chǔ)單元陣列所需的時(shí)間和來(lái)自每個(gè)NAND設(shè)備的0.5千字節(jié)的實(shí)際傳送時(shí)間。建立命令操作的時(shí)間量和讀取陣列所需的時(shí)間量幾乎相同,不考慮要傳送的數(shù)據(jù)量。由于NAND設(shè)備的塊大小是增大的,使用把數(shù)據(jù)塊分為子塊并且把子塊存儲(chǔ)到NAND設(shè)備的塊的現(xiàn)有技術(shù)方法在讀取操作期間需要更多的時(shí)間。參見(jiàn)圖1,示出了現(xiàn)有技術(shù)的存儲(chǔ)系統(tǒng)10的示意性框圖以及其在存儲(chǔ)多個(gè)數(shù)據(jù)塊中出現(xiàn)的問(wèn)題。圖1示出了具有“邏輯地址1”、“邏輯地址2”、“邏輯地址3”等邏輯地址的八(8)個(gè)數(shù)據(jù)塊。存儲(chǔ)系統(tǒng)10還具有八個(gè)NAND存儲(chǔ)設(shè)備20 (a_h),分別示為“設(shè)備I”、“設(shè)備2”、“設(shè)備3”和“設(shè)備8”,以及用于存儲(chǔ)奇偶校驗(yàn)比特的第九NAND存儲(chǔ)設(shè)備20i。存儲(chǔ)控制器(未示出)控制設(shè)備20 (a-h)的操作,以及數(shù)據(jù)塊到各個(gè)設(shè)備20 (a-h)的定向,生成奇偶校驗(yàn)比特并且將奇偶校驗(yàn)比特存入設(shè)備20i。在現(xiàn)有技術(shù)中,當(dāng)接收到數(shù)據(jù)塊時(shí),諸如具有邏輯地址I的數(shù)據(jù)塊,存儲(chǔ)控制器將數(shù)據(jù)塊分為八個(gè)子塊,并且將每個(gè)子塊存入不同的NAND設(shè)備20 (a-h)中。從而,如圖1所示,具有邏輯地址I并且具有物理地址A的塊被分為八(8)個(gè)子塊,其中每個(gè)子塊存儲(chǔ)于不同的存儲(chǔ)設(shè)備20 (a-h)中。存儲(chǔ)控制器根據(jù)來(lái)自邏輯地址I的八個(gè)數(shù)據(jù)子塊生成奇偶校驗(yàn)比特子塊,并且將奇偶校驗(yàn)比特子塊存入設(shè)備9 20i。來(lái)自具有邏輯地址I的數(shù)據(jù)塊的所有八(8)個(gè)數(shù)據(jù)子塊(包括奇偶校驗(yàn)比特子塊則是九個(gè))都被存儲(chǔ)于具有物理地址A的NAND設(shè)備的塊中,雖然具有物理地址A的塊全都在不同的存儲(chǔ)器NAND設(shè)備20 (a-1)中,但是具有相同的物理地址。以相同的方式來(lái)存儲(chǔ)具有邏輯地址2的第二數(shù)據(jù)塊。數(shù)據(jù)塊被分為八(8)個(gè)子塊,但是都具有物理地址B,并且被存儲(chǔ)于NAND設(shè)備20 (a-h)中,其中與八(8)個(gè)數(shù)據(jù)子塊相關(guān)聯(lián)的奇偶校驗(yàn)比特被存儲(chǔ)于NAND設(shè)備20 ( i )中。在讀出時(shí),假定希望讀取具有邏輯地址3的邏輯地址的塊,那么存儲(chǔ)控制器使每個(gè)NAND存儲(chǔ)設(shè)備20 (a-h)從非易失性存儲(chǔ)單元中在與邏輯地址3相關(guān)聯(lián)的物理地址C讀取數(shù)據(jù)塊并且進(jìn)入在每個(gè)NAND存儲(chǔ)設(shè)備20 (a-h)內(nèi)的各自的緩沖器。其后,根據(jù)讀取的八個(gè)數(shù)據(jù)子塊來(lái)對(duì)具有邏輯地址3的邏輯地址的數(shù)據(jù)塊進(jìn)行組合,并且將該數(shù)據(jù)與來(lái)自設(shè)備20i的奇偶校驗(yàn)比特進(jìn)行比較,來(lái)確定是否存在任何錯(cuò)誤。此外,如果設(shè)備(a-h)中的任何一個(gè)檢測(cè)到錯(cuò)誤,則從NAND存儲(chǔ)設(shè)備20i中讀取與具有邏輯地址3的數(shù)據(jù)塊相關(guān)聯(lián)的奇偶校驗(yàn)比特塊,并且將其存入該設(shè)備的緩沖器。然后校正錯(cuò)誤,并且寫(xiě)回到有錯(cuò)誤的NAND存儲(chǔ)設(shè)備,并且從存儲(chǔ)系統(tǒng)10提供校正后的數(shù)據(jù)。如果不存在錯(cuò)誤,則從存儲(chǔ)系統(tǒng)10提供來(lái)自具有邏輯地址3的邏輯地址的塊的未校正的數(shù)據(jù)。如前所討論, 這些數(shù)據(jù)塊的存儲(chǔ)的問(wèn)題是當(dāng)NAND設(shè)備20提高了數(shù)據(jù)傳送速度并且降低了存儲(chǔ)讀取延遲時(shí),讀取開(kāi)銷(xiāo)使存儲(chǔ)系統(tǒng)的性能急劇下降。這導(dǎo)致讀取大量小數(shù)據(jù)塊的增大的時(shí)間和開(kāi)銷(xiāo)。用以上作為示例,如果希望從存儲(chǔ)系統(tǒng)10中讀取具有邏輯地址(1-8)的八(8)個(gè)數(shù)據(jù)塊,然后由上述討論可以看出,每個(gè)NAND設(shè)備20 (x)必須被讀取8次(即使我們假定所有八(8)個(gè)存儲(chǔ)設(shè)備20 (a-h)-包括用于存儲(chǔ)奇偶校驗(yàn)比特的NAND存儲(chǔ)設(shè)備20 (i))可以被同時(shí)讀取。八(8)個(gè)小塊讀取操作的每一個(gè),如前所討論,需要建立讀取操作的開(kāi)銷(xiāo)時(shí)間、讀取陣列的時(shí)間以及最終傳送來(lái)自于NAND設(shè)備20的數(shù)據(jù)的時(shí)間。當(dāng)NAND設(shè)備提高了陣列讀取延遲并且降低了傳送時(shí)間時(shí),這更成為一種瓶頸。

發(fā)明內(nèi)容
因此,在本發(fā)明中,公開(kāi)了一種在多個(gè)物理上不同的非易失性存儲(chǔ)設(shè)備中存儲(chǔ)多個(gè)數(shù)據(jù)塊的方法。每個(gè)物理上不同的非易失性存儲(chǔ)設(shè)備能夠被獨(dú)立地寫(xiě)入或從中讀取,其中,每個(gè)數(shù)據(jù)塊是能夠從非易失性存儲(chǔ)設(shè)備中讀取或向該設(shè)備寫(xiě)入的最小數(shù)據(jù)量。本發(fā)明的方法包括根據(jù)多個(gè)數(shù)據(jù)塊生成一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊。該方法進(jìn)一步包括在多個(gè)不同的物理非易失性存儲(chǔ)設(shè)備中存儲(chǔ)多個(gè)數(shù)據(jù)塊和一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊,其中每個(gè)數(shù)據(jù)塊在不同的物理存儲(chǔ)設(shè)備中。進(jìn)一步,多個(gè)數(shù)據(jù)塊被鏈接在地址映射中。本發(fā)明還涉及一種用于控制多個(gè)獨(dú)立的存儲(chǔ)設(shè)備的存儲(chǔ)控制器。所述存儲(chǔ)控制器具有處理器和用于存儲(chǔ)根據(jù)上述方法用于由處理器執(zhí)行的編程代碼的非易失性存儲(chǔ)器。最后,本發(fā)明涉及一種存儲(chǔ)系統(tǒng),該存儲(chǔ)系統(tǒng)具有多個(gè)獨(dú)立的存儲(chǔ)設(shè)備和上述用于控制多個(gè)存儲(chǔ)設(shè)備的存儲(chǔ)控制器。


圖1是根據(jù)現(xiàn)有技術(shù)的方法操作的存儲(chǔ)系統(tǒng)的框圖。圖2是用于運(yùn)行本發(fā)明的方法的存儲(chǔ)系統(tǒng)和存儲(chǔ)控制器的示意性框圖。圖3是用于實(shí)現(xiàn)本發(fā)明的方法的優(yōu)選實(shí)施例的映射表的圖。
具體實(shí)施例方式參見(jiàn)圖2,其示出了本發(fā)明的存儲(chǔ)系統(tǒng)50。在本發(fā)明的存儲(chǔ)系統(tǒng)50中,存儲(chǔ)控制器30控制多個(gè)NAND存儲(chǔ)設(shè)備20 (a_i),所述設(shè)備可以與圖10中所示的現(xiàn)有技術(shù)的NAND存儲(chǔ)設(shè)備相同。存儲(chǔ)控制器30包括處理器32和用于存儲(chǔ)由處理器32執(zhí)行的編程代碼的非易失性存儲(chǔ)器,通常是NOR存儲(chǔ)器。存儲(chǔ)于NOR存儲(chǔ)器34中的編程代碼使處理器32來(lái)運(yùn)行本發(fā)明的方法,以控制要被存儲(chǔ)在多個(gè)NAND存儲(chǔ)設(shè)備20 (a-1)中的多個(gè)數(shù)據(jù)塊的存儲(chǔ)。存儲(chǔ)控制器30可以是包含處理器32和非易失性存儲(chǔ)器34 二者的集成電路設(shè)備,存儲(chǔ)器34包含用于由處理器32執(zhí)行的編程代碼。參見(jiàn)圖3,其示出了在本發(fā)明的方法中由存儲(chǔ)控制器30維護(hù)的映射地址表。由存儲(chǔ)系統(tǒng)50接收到的每個(gè)數(shù)據(jù)塊具有相關(guān)聯(lián)的邏輯地址。當(dāng)每個(gè)數(shù)據(jù)塊被存儲(chǔ)系統(tǒng)50接收到時(shí),存儲(chǔ)控制器30分配與邏輯地址相關(guān)聯(lián)的物理地址。因而,例如,對(duì)于具有邏輯地址“a”的第一數(shù)據(jù)塊,存儲(chǔ)控制器30為該數(shù)據(jù)塊分配物理地址“I”。此外,邏輯地址a被分配到RAID組“I”。當(dāng)接收到另一個(gè)數(shù)據(jù)塊 時(shí),例如具有邏輯地址“X”的數(shù)據(jù)塊,為其分配物理地址“7”。分配給該塊的RAID組也是“I”。當(dāng)接收到具有邏輯地址“r”和“q”的塊時(shí),分別為其分配物理地址“ 19”和“3”,并且也為其分配RAID組“I”。來(lái)自邏輯地址“a”、“x” “r”和“q”的塊的數(shù)據(jù)然后被用于生成諸如奇偶校驗(yàn)比特的錯(cuò)誤校正比特塊,并且然后共同地將這些塊寫(xiě)入物理NAND設(shè)備20 (a-1),其中一個(gè)數(shù)據(jù)塊(包括錯(cuò)誤比特塊)進(jìn)入不同的設(shè)備20(a_i)中。將數(shù)據(jù)奇偶校驗(yàn)塊寫(xiě)入物理地址A,該地址是在設(shè)備20i中的地址,并且也被分配到RAID組“I”。用于將數(shù)據(jù)塊集合在相同RAID組內(nèi)的參數(shù)可以基于許多因素,例如在相同RAID組中的數(shù)據(jù)塊的物理地址(或邏輯地址)都涉及不同的NAND存儲(chǔ)設(shè)備20。因而,物理地址1、7、19、3和A指代每個(gè)NAND存儲(chǔ)設(shè)備20 (a_i)內(nèi)的地址。每個(gè)數(shù)據(jù)(或錯(cuò)誤校驗(yàn)數(shù)據(jù))塊將其地址(邏輯地址或物理地址)鏈接到相同RAID組內(nèi)的所有其他數(shù)據(jù)塊。進(jìn)一步地,該鏈接是循環(huán)的(cyclical),因?yàn)閺娜魏稳肟谶M(jìn)入地址映射表,都可以定位所有其他的數(shù)據(jù)(或錯(cuò)誤校驗(yàn)數(shù)據(jù))塊。通過(guò)循環(huán),這意味著即使一個(gè)鏈接斷了,仍然可以確定所有入口。例如,如果希望訪問(wèn)具有邏輯地址X的數(shù)據(jù)塊,(具有相應(yīng)的物理地址7),本發(fā)明的方法提供了到具有邏輯地址a (相應(yīng)的物理地址I)的鏈接。從邏輯地址a,可以確定其他塊的邏輯地址(和相應(yīng)的物理地址)。然而,如果前面提到的該鏈接斷了,那么從邏輯地址X(和物理地址7)可 以找到具有邏輯地址r (和物理地址19)的塊,并且從那里可以找到其余的邏輯地址(和相應(yīng)的物理地址)。因而,具有邏輯地址X的數(shù)據(jù)塊自動(dòng)地指向在相同RAID組中具有邏輯地址a等的另一個(gè)數(shù)據(jù)塊。當(dāng)然,如之前所指出的,該鏈接還可以通過(guò)物理地址的方式。當(dāng)從存儲(chǔ)系統(tǒng)50讀回時(shí),讓我們假定希望恢復(fù)具有邏輯地址X的數(shù)據(jù)塊。存儲(chǔ)控制器30參考如圖3所示的映射表,并且確定必須從中讀取塊的設(shè)備和物理地址,并且更高效地讀取數(shù)據(jù)塊,由于讀取的塊較大。如果在讀取操作期間出現(xiàn)錯(cuò)誤,那么存儲(chǔ)控制器30確定對(duì)于除了有錯(cuò)誤的設(shè)備之外的所有設(shè)備20 (a-1)應(yīng)該在物理地址1、7、19、3和A (其都涉及不同的設(shè)備20 (a-1))發(fā)起讀取操作。設(shè)備20 (a-1)全都彼此獨(dú)立地執(zhí)行它們各自的讀取操作,并且從非易失性存儲(chǔ)單元中在那些相應(yīng)的物理地址讀取數(shù)據(jù),并且然后將該數(shù)據(jù)存儲(chǔ)在該存儲(chǔ)設(shè)備20 (a-1)的緩沖器內(nèi)。來(lái)自存儲(chǔ)設(shè)備20i在物理地址A的奇偶校驗(yàn)比特然后被用于確定在來(lái)自物理地址7的塊的數(shù)據(jù)中是否存在錯(cuò)誤,所述塊是具有邏輯地址X的塊。如果不存在錯(cuò)誤,則從存儲(chǔ)系統(tǒng)50提供來(lái)自該邏輯塊X的數(shù)據(jù),由于那是被請(qǐng)求的數(shù)據(jù)塊。如果存在錯(cuò)誤,但是不在具有邏輯地址X的塊中,則從存儲(chǔ)系統(tǒng)50提供來(lái)自該邏輯地址X的數(shù)據(jù)。此外,然后校正包含錯(cuò)誤的存儲(chǔ)設(shè)備20中的緩沖器。然后指示該存儲(chǔ)設(shè)備20將其緩沖器內(nèi)的校正后的數(shù)據(jù)寫(xiě)回到設(shè)備20的非易失性存儲(chǔ)單元陣列中。然后用設(shè)備20中的校正后的數(shù)據(jù)的物理地址更新圖3的映射表。如果在具有邏輯地址X的塊中存在錯(cuò)誤,則校正來(lái)自邏輯地址X的數(shù)據(jù),并且然后從存儲(chǔ)系統(tǒng)50提供校正后的數(shù)據(jù)。此外,然后校正用于邏輯地址X的存儲(chǔ)設(shè)備20的緩沖器。然后指示該存儲(chǔ)設(shè)備20將其緩沖器內(nèi)的校正后的數(shù)據(jù)寫(xiě)回到設(shè)備20的非易失性存儲(chǔ)單元陣列中。然后用設(shè)備20中的校正后的數(shù)據(jù)的物理地址更新圖3的映射表。從前述可見(jiàn),本發(fā)明具有許多優(yōu)勢(shì)。特別地,在獨(dú)立接收到的數(shù)據(jù)塊被集合成RAID組并且由此形成一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)比特的情況下,并且在數(shù)據(jù)和錯(cuò)誤校驗(yàn)數(shù)據(jù)塊以一個(gè)塊在每個(gè)不同的存儲(chǔ)設(shè)備中的方式存儲(chǔ)于存儲(chǔ)設(shè)備20的情況下,RAID概念被繼續(xù),其導(dǎo)致數(shù)據(jù)讀出更準(zhǔn)確。此外,可以更高效地對(duì)NAND存儲(chǔ)設(shè)備進(jìn)行讀出,特別是當(dāng)NAND存儲(chǔ)設(shè)備持續(xù)提高存儲(chǔ)容量時(shí),連同更好的錯(cuò)誤檢測(cè)和校正,因?yàn)閱蝹€(gè)讀取操作導(dǎo)致整個(gè)數(shù)據(jù)塊被讀取,而不是現(xiàn)有技術(shù) 中 數(shù)據(jù)子塊被讀取。
權(quán)利要求
1.一種在多個(gè)物理上不同的非易失性存儲(chǔ)設(shè)備中存儲(chǔ)多個(gè)數(shù)據(jù)塊的方法,每個(gè)設(shè)備被獨(dú)立地寫(xiě)入或從中讀取,其中,每個(gè)數(shù)據(jù)塊是能夠從非易失性存儲(chǔ)設(shè)備中讀取或向該設(shè)備寫(xiě)入的最小數(shù)據(jù)量,所述方法包括: 根據(jù)多個(gè)數(shù)據(jù)塊生成一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊; 在所述多個(gè)不同的物理非易失性存儲(chǔ)設(shè)備中存儲(chǔ)所述數(shù)據(jù)的所述多個(gè)塊和所述一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊,其中數(shù)據(jù)塊在不同的物理存儲(chǔ)設(shè)備中;以及 將多個(gè)數(shù)據(jù)塊鏈接在地址映射中。
2.如權(quán)利要求1所述的方法,其中,所述生成步驟包括根據(jù)所述多個(gè)數(shù)據(jù)塊生成奇偶校驗(yàn)數(shù)據(jù)塊。
3.如權(quán)利要求1所述的方法,其中,所述鏈接步驟進(jìn)一步對(duì)所述多個(gè)數(shù)據(jù)塊和錯(cuò)誤校驗(yàn)數(shù)據(jù)塊進(jìn)行鏈接。
4.如權(quán)利要求3所述的方法,其中,所述多個(gè)數(shù)據(jù)塊和錯(cuò)誤校驗(yàn)數(shù)據(jù)塊中的每一個(gè)具有與之相關(guān)聯(lián)的地址,并且其中所述方法進(jìn)一步包括通過(guò)循環(huán)鏈接將所述多個(gè)數(shù)據(jù)塊和錯(cuò)誤校驗(yàn)數(shù)據(jù)塊的所述地址彼此關(guān)聯(lián),在循環(huán)鏈接中從塊的任何入口能夠找到所有其他塊。
5.如權(quán)利要求4所述的方法,其中,所述地址是邏輯地址。
6.如權(quán)利要求4所述的方法,其中,所述地址是物理地址。
7.一種用于控制在多個(gè)物理上不同的非易失性存儲(chǔ)設(shè)備中存儲(chǔ)多個(gè)數(shù)據(jù)塊的存儲(chǔ)控制器,每個(gè)非易失性存儲(chǔ)設(shè)備被獨(dú)立地寫(xiě)入或從中讀取,其中,每個(gè)數(shù)據(jù)塊是能夠從非易失性存儲(chǔ)設(shè)備中讀取或向該設(shè)備寫(xiě)入的最小數(shù)據(jù)量,所述存儲(chǔ)控制器包括: 處理器;以及 非易失性存儲(chǔ)器,存儲(chǔ)用于由所述處理器執(zhí)行的編程代碼,所述編程代碼用于根據(jù)多個(gè)數(shù)據(jù)塊生成一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊;并且用于在所述多個(gè)不同的物理存儲(chǔ)設(shè)備中存儲(chǔ)所述數(shù)據(jù)的所述多個(gè)塊和所述一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊,其中數(shù)據(jù)塊在不同的物理存儲(chǔ)設(shè)備中,并且用于將多個(gè)數(shù)據(jù)塊鏈接在地址映射中。
8.如權(quán)利要求7所述的存儲(chǔ)控制器,其中,所述用于生成一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊的編程代碼根據(jù)所述多個(gè)數(shù)據(jù)塊生成奇偶校驗(yàn)數(shù)據(jù)塊。
9.如權(quán)利要求7所述的存儲(chǔ)控制器,進(jìn)一步包括用于將所述多個(gè)數(shù)據(jù)塊的所述地址彼此鏈接在循環(huán)鏈接中的編程代碼,其中從塊的任何入口可以找到所有其他塊。
10.如權(quán)利要求9所述的存儲(chǔ)控制器,其中,所述用于對(duì)地址進(jìn)行鏈接的編程代碼對(duì)邏輯地址進(jìn)行鏈接。
11.如權(quán)利要求9所述的存儲(chǔ)控制器,其中,所述用于對(duì)地址進(jìn)行鏈接的編程代碼對(duì)物理地址進(jìn)行鏈接。
12.如權(quán)利要求7所述的存儲(chǔ)控制器,其中,處理器和所述非易失性存儲(chǔ)器在集成電路設(shè)備中形成。
13.如權(quán)利要求7所述的存儲(chǔ)控制器,其中,所述用于由所述處理器執(zhí)行的編程代碼進(jìn)一步包括編程代碼,用于使所述處理器從非易失性存儲(chǔ)設(shè)備中在期望地址讀取數(shù)據(jù)塊;在所述讀取步驟中出現(xiàn)錯(cuò)誤的情況下,使所述處理器讀取具有與期望地址相關(guān)聯(lián)的地址的數(shù)據(jù)塊和一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊;并且用具有與期望地址相關(guān)聯(lián)的地址的數(shù)據(jù)塊和一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊來(lái)校正已讀取的具有期望地址的數(shù)據(jù)塊。
14.一種存儲(chǔ)系統(tǒng),包括: 多個(gè)非易失性存儲(chǔ)設(shè)備,其中每個(gè)非易失性存儲(chǔ)設(shè)備能夠以數(shù)據(jù)塊的方式被獨(dú)立地寫(xiě)入或從中讀取,其中所述數(shù)據(jù)塊是能夠從非易失性存儲(chǔ)設(shè)備中讀取或向該設(shè)備寫(xiě)入的最小數(shù)據(jù)量; 控制器,用于控制在所述多個(gè)非易失性存儲(chǔ)設(shè)備中存儲(chǔ)多個(gè)數(shù)據(jù)塊,所述控制器包括: 處理器;以及 非易失性存儲(chǔ)器,存儲(chǔ)用于由所述處理器執(zhí)行的編程代碼,所述編程代碼用于根據(jù)多個(gè)數(shù)據(jù)塊生成一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊;并且用于在所述多個(gè)不同的物理存儲(chǔ)設(shè)備中存儲(chǔ)所述數(shù)據(jù)的所述多個(gè)塊和所述一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊,其中數(shù)據(jù)塊在不同的物理存儲(chǔ)設(shè)備中,所述編程代碼用于將多個(gè)數(shù)據(jù)塊鏈接在地址映射中。
15.如權(quán)利要求14所述的存儲(chǔ)系統(tǒng),其中,所述用于生成一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊的編程代碼根據(jù)所述多個(gè)數(shù)據(jù)塊生成奇偶校驗(yàn)數(shù)據(jù)塊。
16.如權(quán)利要求14所述的存儲(chǔ)系統(tǒng),其中,所述編程代碼用于將所述多個(gè)數(shù)據(jù)塊的所述地址彼此鏈接在循環(huán)鏈接中,其中從塊的任何入口可以找到所有其他的塊。
17.如權(quán)利要求16所述的存儲(chǔ)系統(tǒng),其中,所述用于對(duì)地址進(jìn)行鏈接的編程代碼對(duì)邏輯地址進(jìn)行鏈接。
18.如權(quán)利要求16所述的存儲(chǔ)系統(tǒng),其中,所述用于對(duì)地址進(jìn)行鏈接的編程代碼對(duì)物理地址進(jìn)行鏈接。
19.如權(quán)利要求14所述的存儲(chǔ)系統(tǒng),其中,處理器和所述非易失性存儲(chǔ)器在集成電路設(shè)備中形成。
20.如權(quán)利要求14所述的存儲(chǔ)系統(tǒng),其中,所述用于由所述處理器執(zhí)行的編程代碼進(jìn)一步包括編程代碼,用于使所述處理器從非易失性存儲(chǔ)設(shè)備中在期望地址讀取數(shù)據(jù)塊;在所述讀取步驟中出現(xiàn)錯(cuò)誤的情況下,使所述處理器讀取具有與期望地址相關(guān)聯(lián)的地址的數(shù)據(jù)塊和一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊;并且用具有與期望地址相關(guān)聯(lián)的地址的數(shù)據(jù)塊和一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊來(lái)校正已讀取的具有期望地址的數(shù)據(jù)塊。
21.一種對(duì)具有多個(gè)非易失性存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng)進(jìn)行操作的方法,其中,每個(gè)非易失性存儲(chǔ)設(shè)備能夠以數(shù)據(jù)塊的方式被獨(dú)立地寫(xiě)入或從中讀取,其中所述數(shù)據(jù)塊是能夠從非易失性存儲(chǔ)設(shè)備中讀取或向該設(shè)備寫(xiě)入的最小數(shù)據(jù)量;和用于控制在所述多個(gè)非易失性存儲(chǔ)設(shè)備中存儲(chǔ)多個(gè)數(shù)據(jù)塊的控制器,所述方法包括: 通過(guò)以下方式向所述存儲(chǔ)系統(tǒng)寫(xiě)入: 根據(jù)多個(gè)數(shù)據(jù)塊生成一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊; 將所述多個(gè)數(shù)據(jù)塊和所述一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊的地址彼此關(guān)聯(lián); 在所述多個(gè)不同的物理非易失性存儲(chǔ)設(shè)備中存儲(chǔ)所述數(shù)據(jù)的所述多個(gè)塊和所述一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊,其中數(shù)據(jù)塊在不同的物理非易失性存儲(chǔ)設(shè)備中; 通過(guò)以下方式從所述存儲(chǔ)系統(tǒng)中在期望地址讀取: 從非易失性存儲(chǔ)設(shè)備中讀取具有所述期望地址的數(shù)據(jù)塊; 讀取具有與所述期望地址相關(guān)聯(lián)的地址的數(shù)據(jù)塊和一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊;以及 用具有與期望地址相關(guān)聯(lián)的地址的數(shù)據(jù)塊和一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊來(lái)校正已讀取的具有期望地址的數(shù)據(jù)塊。
22.如權(quán)利要求21所述的方法,其中,所述生成步驟包括根據(jù)所述多個(gè)數(shù)據(jù)塊生成奇偶校驗(yàn)數(shù)據(jù)塊。
23.如權(quán)利要求21所述的方法,其中,所述關(guān)聯(lián)步驟將所述多個(gè)數(shù)據(jù)塊的邏輯地址彼此關(guān)聯(lián)。
24.如權(quán)利要求21所述的方法,其中,所述關(guān)聯(lián)步驟將所述多個(gè)數(shù)據(jù)塊的物理地址彼此關(guān)聯(lián)。
25.如權(quán)利要求21所述的方法,其中,所述讀取數(shù)據(jù)塊和一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊的步驟只在從非易失性存儲(chǔ)設(shè)備中讀取具有所述期望地址的數(shù)據(jù)塊的步驟引起錯(cuò)誤的情況 下執(zhí)行。
全文摘要
一種在多個(gè)物理上不同的非易失性存儲(chǔ)設(shè)備中存儲(chǔ)多個(gè)數(shù)據(jù)塊的方法,每個(gè)非易失性存儲(chǔ)設(shè)備被獨(dú)立地寫(xiě)入或從中讀取,其中,每個(gè)數(shù)據(jù)塊是能夠從非易失性存儲(chǔ)設(shè)備中讀取或向該設(shè)備寫(xiě)入的最小數(shù)據(jù)量。該方法包括根據(jù)多個(gè)數(shù)據(jù)塊生成一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊;并且在多個(gè)不同的物理非易失性存儲(chǔ)設(shè)備中存儲(chǔ)所述數(shù)據(jù)的多個(gè)塊和一個(gè)或多個(gè)錯(cuò)誤校驗(yàn)數(shù)據(jù)塊,其中數(shù)據(jù)塊在不同的物理存儲(chǔ)設(shè)備中。
文檔編號(hào)G11C11/34GK103229243SQ201180053770
公開(kāi)日2013年7月31日 申請(qǐng)日期2011年10月17日 優(yōu)先權(quán)日2010年11月8日
發(fā)明者S.阿亞 申請(qǐng)人:格林萊恩特有限責(zé)任公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
江陵县| 曲水县| 利辛县| 都昌县| 灵石县| 噶尔县| 高州市| 同仁县| 亚东县| 丰原市| 巫山县| 延津县| 朝阳市| 阿克苏市| 当雄县| 保德县| 巴中市| 溧阳市| 康马县| 平邑县| 古蔺县| 兴海县| 永安市| 建阳市| 定远县| 呼伦贝尔市| 富蕴县| 襄樊市| 泽州县| 凤城市| 玛纳斯县| 安吉县| 措勤县| 山西省| 陵水| 万全县| 双江| 上蔡县| 龙州县| 泸西县| 遂宁市|