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

寫(xiě)入非易失性存儲(chǔ)器的技術(shù)的制作方法

文檔序號(hào):6567971閱讀:223來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):寫(xiě)入非易失性存儲(chǔ)器的技術(shù)的制作方法
寫(xiě)入非易失性存儲(chǔ)器的技術(shù)
背景
本發(fā)明一般地涉及寫(xiě)入非易失性存儲(chǔ)器的技術(shù)。
諸如閃存之類(lèi)的非易失性半導(dǎo)體存儲(chǔ)器對(duì)需要在正常系統(tǒng)關(guān)機(jī)/休眠或掉電的 情況下保持?jǐn)?shù)據(jù)的應(yīng)用很有吸引力。于是,由閃存設(shè)備構(gòu)成的存儲(chǔ)器就可用于在磁 盤(pán)高速緩存或固態(tài)磁盤(pán)中存儲(chǔ)數(shù)據(jù)。雖然典型的閃存具有遠(yuǎn)快于磁性存儲(chǔ)設(shè)備的存 取時(shí)間,但是不同于磁性存儲(chǔ)設(shè)備,閃存的各單元通常無(wú)法在沒(méi)有首先被擦除的情 況下被重寫(xiě)。
作為一個(gè)更具體的實(shí)例,在將一位數(shù)據(jù)存儲(chǔ)在常規(guī)閃存單元內(nèi)之前,首先擦 除該單元。在此擦除狀態(tài)下,該單元指示一特定的邏輯狀態(tài),諸如邏輯"l"狀態(tài)。 在對(duì)該閃存單元的后續(xù)寫(xiě)操作中,如果要在該單元內(nèi)存儲(chǔ)邏輯l,則該單元的狀態(tài)
保持不變。然而,如果要在該單元內(nèi)存儲(chǔ)邏輯o,則編程該單元以將該單元改變?yōu)?br> 0邏輯狀態(tài)。于是,對(duì)閃存單元的典型寫(xiě)入通常涉及兩個(gè)存儲(chǔ)器操作擦除存儲(chǔ)單 元的第一操作;以及編程該存儲(chǔ)單元邏輯狀態(tài)的第二操作。這多個(gè)操作又造成了寫(xiě) 入閃存的總時(shí)間的增加。
于是,存在一種持續(xù)的需要,希望以更好的方式降低寫(xiě)入諸如閃存的非易失 性半導(dǎo)體存儲(chǔ)器的總時(shí)間。
附圖簡(jiǎn)述


圖1是根據(jù)本發(fā)明的實(shí)施例用于非易失性半導(dǎo)體存儲(chǔ)器的動(dòng)態(tài)尋址方案的圖示。
圖2是根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)器系統(tǒng)的框圖。
圖3和圖8是根據(jù)本發(fā)明實(shí)施例來(lái)描述在對(duì)非易失性半導(dǎo)體存儲(chǔ)器寫(xiě)操作方 面所使用的技術(shù)的流程圖。
圖4是根據(jù)本發(fā)明實(shí)施例存儲(chǔ)在非易失性存儲(chǔ)器的存儲(chǔ)位置內(nèi)的數(shù)據(jù)的圖示。
圖5是根據(jù)本發(fā)明實(shí)施例的邏輯-物理轉(zhuǎn)換表的圖示。
圖6是根據(jù)本發(fā)明實(shí)施例的空白池表的圖示。
圖7是根據(jù)本發(fā)明實(shí)施例的易失性元數(shù)據(jù)的圖示。
圖9是根據(jù)本發(fā)明實(shí)施例來(lái)描述一種用于在掉電后重構(gòu)該邏輯-物理轉(zhuǎn)換表的 中間表的圖示。
圖10是根據(jù)本發(fā)明實(shí)施例來(lái)描述一種用于在掉電后重構(gòu)該邏輯-物理轉(zhuǎn)換表 的技術(shù)的流程圖。
圖11是根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)的框圖。
詳細(xì)描述
根據(jù)在此描述的本發(fā)明的各實(shí)施例,為了在非易失性半導(dǎo)體存儲(chǔ)器(在此被 稱(chēng)為"非易失性存儲(chǔ)器")方面最小化存儲(chǔ)器的寫(xiě)入等待時(shí)間而使用動(dòng)態(tài)尋址。更 具體地,根據(jù)在此描述的本發(fā)明的各實(shí)施例,非易失性存儲(chǔ)器從軟件的觀點(diǎn)看,是 使用邏輯地址來(lái)尋址的。而從對(duì)存儲(chǔ)器執(zhí)行的物理讀取和寫(xiě)入操作的觀點(diǎn)看,動(dòng)態(tài) 尋址將邏輯地址轉(zhuǎn)換成或映射至存儲(chǔ)器的物理地址。動(dòng)態(tài)尋址不斷地改變邏輯和物 理地址之間的映射以確保每個(gè)邏輯寫(xiě)操作都能夠讓數(shù)據(jù)存儲(chǔ)在該非易失性存儲(chǔ)器 先前被擦除的位置(即,在不同的物理地址處)內(nèi)。于是,通過(guò)動(dòng)態(tài)尋址,每個(gè)邏 輯寫(xiě)操作均生成單個(gè)操作。這將與對(duì)非易失性存儲(chǔ)器使用兩次存取(一次是擦除/ 無(wú)效舊的物理位置,而另一次則是在新的預(yù)擦除物理位置上寫(xiě)入該數(shù)據(jù))的動(dòng)態(tài)尋 址相比較。
更具體地,參見(jiàn)圖l,根據(jù)本發(fā)明的某些實(shí)施例,動(dòng)態(tài)尋址方案10將非易失性 存儲(chǔ)器的物理地址分組成空白池20、有效池30和用過(guò)池40。空白池20表示未分 配的物理地址,其相關(guān)聯(lián)的存儲(chǔ)單元被擦除,正準(zhǔn)備被編程并由此準(zhǔn)備被分配邏輯 地址。有效池30表示與存儲(chǔ)有效數(shù)據(jù)并被分配邏輯地址的存儲(chǔ)單元相關(guān)聯(lián)的那些 物理地址。用過(guò)池40表示不再存儲(chǔ)有效數(shù)據(jù),不再與邏輯地址相關(guān)聯(lián)并且要被擦 除的那些物理地址。在使用塊擦除操作來(lái)擦除物理地址的鄰接塊(例如,頁(yè))時(shí), 用過(guò)池40的物理地址又被重新分組為空白池20。注意到塊擦除要比響應(yīng)于每次邏 輯寫(xiě)操作一次擦除一個(gè)物理地址更為有效,例如,非易失性存儲(chǔ)器(諸如,NAND 閃存)可能只允許塊擦除。
作為一個(gè)更為具體的示例,非易失性存儲(chǔ)器的示例性物理地址14 (與一組存 儲(chǔ)單元或存儲(chǔ)位置相關(guān)聯(lián))可以按如下的方式在空白池20、有效池30和用過(guò)池40 之間轉(zhuǎn)換。最初,諸如在結(jié)合非易失性半導(dǎo)體存儲(chǔ)器的系統(tǒng)啟動(dòng)時(shí)或在被擦除之后, 物理地址14屬于空白池20。換句話(huà)說(shuō),由于位于空白池20中,使得物理地址14 可用于分配一特定的邏輯地址。于是,當(dāng)數(shù)據(jù)被寫(xiě)入一特定邏輯地址時(shí),物理地址 14就被分配給該邏輯地址,使得該數(shù)據(jù)被存儲(chǔ)在物理地址14處;并且物理地址14
隨后變?yōu)橛行С?0的一部分。然而對(duì)物理地址14的另一寫(xiě)入在與物理地址14相
關(guān)聯(lián)的存儲(chǔ)單元未被擦除的情況下不能出現(xiàn)。因此,當(dāng)出現(xiàn)對(duì)同一邏輯地址的下一
寫(xiě)入時(shí),將另一物理地址分配給該邏輯地址,并且與該物理地址14相關(guān)聯(lián)的存儲(chǔ) 內(nèi)容就隨著物理地址14變?yōu)橛眠^(guò)池40的一部分而變?yōu)闊o(wú)效或"用過(guò)"。
與物理地址14相關(guān)聯(lián)的存儲(chǔ)單元沒(méi)有必要一變?yōu)?用過(guò)"就被立刻擦除,而 寧可在塊擦除操作中擦除這些存儲(chǔ)單元。此刻,物理地址14再次變?yōu)榭瞻壮?0 的一部分,并且可以被分配給另一邏輯地址。
參見(jiàn)圖2 ,根據(jù)本發(fā)明的某些實(shí)施例,存儲(chǔ)器系統(tǒng)50使用上述動(dòng)態(tài)尋址方案 IO并可以在有關(guān)諸如NAND閃存之類(lèi)的非易失性半導(dǎo)體大容量存儲(chǔ)存儲(chǔ)器54 (在 此稱(chēng)為"非易失性存儲(chǔ)器54")方面使用。非易失性存儲(chǔ)器54含有使用物理地址 尋址的物理存儲(chǔ)單元55的陣列。根據(jù)本發(fā)明的某些實(shí)施例,存儲(chǔ)器系統(tǒng)50的控制 器52通過(guò)在邏輯地址和物理地址空間之間的變換來(lái)執(zhí)行動(dòng)態(tài)尋址。更具體地,根 據(jù)本發(fā)明的某些實(shí)施例,控制器52耦合至諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)之 類(lèi)的易失性存儲(chǔ)器60,。易失性存儲(chǔ)器60存儲(chǔ)邏輯-物理轉(zhuǎn)換表(在此被稱(chēng)為"L2P 表62"),而該表由控制器52用于將邏輯地址映射至存儲(chǔ)器54的物理地址。該 映射不斷改變,由此使得控制器52不斷更新L2P表62以跟蹤每個(gè)邏輯地址到不 同物理地址的再映射。
同樣如圖2所描述,根據(jù)本發(fā)明的某些實(shí)施例,易失性存儲(chǔ)器60存儲(chǔ)空白池 表66,該表指示存儲(chǔ)器54的哪些物理地址被包括在空白池20內(nèi)(見(jiàn)圖1)。于是, 當(dāng)控制器52要對(duì)邏輯地址執(zhí)行寫(xiě)操作時(shí),控制器52通常會(huì)從空白池表66中選擇 一可用物理地址,更新L2P表62用以將該邏輯地址再映射至所選的物理地址,并 且在所選的物理地址處對(duì)非易失性存儲(chǔ)器54執(zhí)行相應(yīng)的寫(xiě)操作。
在可被存儲(chǔ)在易失性存儲(chǔ)器60中的其他數(shù)據(jù)中,根據(jù)本發(fā)明的某些實(shí)施例, 易失性存儲(chǔ)器60可以存儲(chǔ)元數(shù)據(jù)68,元數(shù)據(jù)68含有(連同其他可能的信息)與那些 被存儲(chǔ)在每個(gè)物理地址處的存儲(chǔ)器內(nèi)容的消耗狀態(tài)有關(guān)的信息。根據(jù)本發(fā)明的某些 實(shí)施例,對(duì)于非易失性存儲(chǔ)器54的每個(gè)可尋址位置而言,元數(shù)據(jù)68指示存儲(chǔ)在該 位置中的數(shù)據(jù)內(nèi)容是用過(guò)、有效還是空白。除了空白池表66、 L2P表62和元數(shù)據(jù) 68之外,易失性存儲(chǔ)器60還存儲(chǔ)程序指令70,這些指令在被執(zhí)行時(shí)會(huì)使得控制器 52執(zhí)行在此公開(kāi)的物理寫(xiě)入、地址轉(zhuǎn)換和掉電恢復(fù)技術(shù)中的一種或多種。
于是作為概括,控制器52使用易失性存儲(chǔ)器60來(lái)存儲(chǔ)指示邏輯-物理地址映 射的信息以及指示非易失性存儲(chǔ)器54的可尋址存儲(chǔ)位置的狀態(tài)的信息。相比于非 易失性存儲(chǔ)器(諸如存儲(chǔ)器54),在易失性存儲(chǔ)器60中存儲(chǔ)這些信息是有利的, 這是由于易失性存儲(chǔ)器60有著相對(duì)快的存取時(shí)間,從而給出較高的訪(fǎng)問(wèn)次數(shù)來(lái)維 持這些信息。易失性信息可以在例如關(guān)機(jī)、休眠、掛起或低功耗檢測(cè)等關(guān)鍵事件處 被存儲(chǔ)在非易失性存儲(chǔ)器內(nèi),并在隨后的重新啟動(dòng)/重新開(kāi)始的過(guò)程中從非易失性 存儲(chǔ)器內(nèi)恢復(fù)。然而, 一般而言,關(guān)于這一技術(shù)的潛在挑戰(zhàn)是存儲(chǔ)在易失性存儲(chǔ)器 60內(nèi)的信息在存儲(chǔ)器系統(tǒng)50掉電的情況下會(huì)丟失。雖然可以對(duì)易失性存儲(chǔ)器60 的內(nèi)容做出周期性地備份,但是這些備份本身對(duì)恢復(fù)丟失信息而言是不夠的。因此, 一旦從掉電中恢復(fù),如果沒(méi)有如下公開(kāi)的本發(fā)明的各特征,控制器52將會(huì)無(wú)從知 曉邏輯-物理映射以及非易失性存儲(chǔ)器54的各可尋址存儲(chǔ)位置的消耗狀態(tài),于是就 不能重構(gòu)存儲(chǔ)在易失性存儲(chǔ)器60中的信息。
允許控制器52重構(gòu)或恢復(fù)在掉電之前存儲(chǔ)在易失性存儲(chǔ)器60內(nèi)的信息的一 種可能的技術(shù)是一種在其中控制器52將所有需要的狀態(tài)信息保持在諸如非易失性 存儲(chǔ)器54之類(lèi)的非易失性存儲(chǔ)器內(nèi)的技術(shù)。作為一個(gè)更具體的示例,為了實(shí)現(xiàn)該 技術(shù),控制器52可以對(duì)每次邏輯寫(xiě)操作執(zhí)行對(duì)非易失性存儲(chǔ)器54的兩次寫(xiě)操作。 更具體地,使用該技術(shù),非易失性存儲(chǔ)器54可用于存儲(chǔ)當(dāng)前元數(shù)據(jù)狀態(tài)信息,以 指示某一特定物理單元當(dāng)前是有效還是用過(guò)的。因此,對(duì)于每次邏輯寫(xiě)操作而言, 控制器52可以寫(xiě)入新分配的物理地址并寫(xiě)入先前分配的物理地址以將該物理地址 標(biāo)記為用過(guò)。然而,這一安排的潛在困難是需要為每一單次邏輯寫(xiě)操作進(jìn)行兩次對(duì) 非易失性存儲(chǔ)器54的寫(xiě)操作,從而會(huì)增加存儲(chǔ)器54的寫(xiě)等待時(shí)間。
根據(jù)在此描述地本發(fā)明的實(shí)施例,控制器為每次邏輯寫(xiě)操作對(duì)非易失性存儲(chǔ) 器54執(zhí)行單次(例如,而非兩次)寫(xiě)操作。為了允許在掉電之后恢復(fù)存儲(chǔ)在易失 性存儲(chǔ)器60內(nèi)的信息(諸如,存儲(chǔ)在L2P表62和空白池表66中的那些信息), 控制器52在每次物理寫(xiě)操作中都在非易失性存儲(chǔ)器54內(nèi)存儲(chǔ)諸如時(shí)間戳或序號(hào)之 類(lèi)的順序信息。更具體地,根據(jù)本發(fā)明的某些實(shí)施例,控制器52為對(duì)非易失性存 儲(chǔ)器54的每次寫(xiě)操作生成一個(gè)全局序號(hào)??刂破?2為每次寫(xiě)操作遞增該全局序號(hào), 以使得該序號(hào)對(duì)寫(xiě)操作具有(例如)不斷增加的值。正如以下要描述的,這些序號(hào) 可由控制器52在掉電之后用于重構(gòu)在前寫(xiě)操作(發(fā)生在掉電之前)的時(shí)間線(xiàn),從 而確定非易失性存儲(chǔ)器54的哪些可尋址位置存儲(chǔ)了有效數(shù)據(jù)(并還藉此確定了哪 些位置存儲(chǔ)了用過(guò)的數(shù)據(jù))。
參見(jiàn)圖3,作為概括,根據(jù)本發(fā)明的某些實(shí)施例,控制器52—般在邏輯寫(xiě)操
作方面執(zhí)行方法74。依照該方法74,控制器52為不同的寫(xiě)操作向一邏輯地址分配 不同的物理存儲(chǔ)位置(框76)。于是,對(duì)于向某一特定邏輯地址的第一次寫(xiě)操作 而言,控制器52寫(xiě)入非易失性存儲(chǔ)器54的第一物理地址;對(duì)這一邏輯地址的下一 次寫(xiě)操作而言,控制器52寫(xiě)入非易失性存儲(chǔ)器54的第二物理地址。依照該方法 74,控制器52在該物理存儲(chǔ)位置內(nèi)存儲(chǔ)序號(hào)和邏輯地址(框78),它們共同地指 示被分配給該邏輯地址的最后物理存儲(chǔ)位置。如上所述,序號(hào)允許控制器52在掉 電出現(xiàn)之后重建易失性存儲(chǔ)器60內(nèi)的信息。
圖4描繪了根據(jù)本發(fā)明某些實(shí)施例可存儲(chǔ)在非易失性存儲(chǔ)器54的每個(gè)可尋址 存儲(chǔ)位置內(nèi)的示例性數(shù)據(jù)80。數(shù)據(jù)80包括作為相應(yīng)邏輯寫(xiě)操作的對(duì)象數(shù)據(jù)的內(nèi)容 數(shù)據(jù)82。數(shù)據(jù)80還包括元數(shù)據(jù)84,元數(shù)據(jù)84則包括與內(nèi)容數(shù)據(jù)82狀態(tài)有關(guān)的各 種信息。數(shù)據(jù)字段86和87是元數(shù)據(jù)84的一部分,它們分別指示與用于存儲(chǔ)內(nèi)容 數(shù)據(jù)82的寫(xiě)操作相關(guān)聯(lián)的序號(hào)和邏輯地址。對(duì)于其中非易失性存儲(chǔ)器54用作磁盤(pán) 高速緩存的應(yīng)用而言,元數(shù)據(jù)84可包括與相關(guān)聯(lián)的高速緩存線(xiàn)的狀態(tài)有關(guān)的數(shù)據(jù)。 于是,元數(shù)據(jù)84可存儲(chǔ)除了在此描述的示例性數(shù)據(jù)之外的其他和/或不同的數(shù)據(jù)。
此外,元數(shù)據(jù)84可以指示內(nèi)容數(shù)據(jù)82的消耗狀態(tài),正如內(nèi)容數(shù)據(jù)82是用過(guò) 的還是有效的。然而,所指示的消耗狀態(tài)可能不是當(dāng)前的,因?yàn)榭刂破?2不為每 次邏輯寫(xiě)操作而在先前被映射至該邏輯地址的物理地址處將該內(nèi)容標(biāo)記為用過(guò)。因 此,非易失性存儲(chǔ)器54的若干位置可含有指示同一邏輯地址并指示該關(guān)聯(lián)內(nèi)容數(shù) 據(jù)82有效的元數(shù)據(jù)84。易失性存儲(chǔ)器60內(nèi)所包含的該信息可由控制器52用于在 正常操作期間從用過(guò)的數(shù)據(jù)中挑揀出有效數(shù)據(jù);并且在掉電的情況下,控制器52 可以通過(guò)從非易失性存儲(chǔ)器54中讀取序號(hào)來(lái)從用過(guò)的數(shù)據(jù)中挑揀出有效數(shù)據(jù)并重 構(gòu)先前存儲(chǔ)在易失性存儲(chǔ)器60內(nèi)的信息,以使得存儲(chǔ)器系統(tǒng)50從掉電中恢復(fù)。
如上所述,序號(hào)是全局的,在本發(fā)明的某些實(shí)施例中,在這一點(diǎn)上不管邏輯 地址如何,對(duì)于向非易失性存儲(chǔ)器54的每次寫(xiě)入,序號(hào)都是不同的。然而,根據(jù) 本發(fā)明的其他實(shí)施例,序號(hào)對(duì)于每個(gè)邏輯地址而言可以是唯一的,藉此控制器52 可以在非易失性存儲(chǔ)器54內(nèi)存儲(chǔ)這些序號(hào)(在此稱(chēng)為"本地序號(hào)"),這些序號(hào) 各自都在相同的范圍上延伸,但可通過(guò)關(guān)聯(lián)的邏輯地址相互區(qū)別。于是可能的情況 是例如非易失性存儲(chǔ)器54為邏輯地址A存儲(chǔ)了邏輯序號(hào)"5",并為邏輯地址D 也存儲(chǔ)了邏輯序號(hào)"5"。使用本地序號(hào)的一個(gè)潛在缺點(diǎn)是需要有多個(gè)計(jì)數(shù)器而非 單個(gè)計(jì)數(shù)器(對(duì)于全局序號(hào)而言)用于生成有關(guān)各邏輯地址的序號(hào)。然而,使用本 地序號(hào)的潛在優(yōu)勢(shì)則在于元數(shù)據(jù)84內(nèi)相對(duì)應(yīng)的數(shù)據(jù)字段尺寸較小。
圖5描繪了根據(jù)本發(fā)明某些實(shí)施例的L2P表62。 L2P表62包括含有N個(gè)條 目94 (作為示例描繪的條目94l5 942. . .94N)的固定陣列93,其中每個(gè)條目都與一 特定邏輯地址相關(guān)聯(lián)并且存儲(chǔ)用于該邏輯地址的物理地址的指示。于是,為了檢索 用于某一邏輯地址的當(dāng)前物理地址,就通過(guò)邏輯地址指針91來(lái)索引固定陣列93 的各條目94。
如上所述,在數(shù)據(jù)被存儲(chǔ)在某一物理地址之后,存儲(chǔ)在相應(yīng)存儲(chǔ)位置內(nèi)的數(shù) 據(jù)就變?yōu)橛眠^(guò)的,于是相應(yīng)的物理地址對(duì)該邏輯地址而言就變?yōu)?無(wú)效"。于是, 根據(jù)本發(fā)明的某些實(shí)施例,條目94可以存儲(chǔ)預(yù)先確定的值(例如,全"l"的值) 以指示無(wú)效的物理地址。代替地,根據(jù)本發(fā)明的某些實(shí)施例,易失性元數(shù)據(jù)68可 以指示哪些物理地址是有效的而哪些是用過(guò)的;并且作為又一代替,在本發(fā)明的某
些實(shí)施例中,L2P表62可包括與各條目94相關(guān)聯(lián)的一位,用以指示相應(yīng)的物理地 址是無(wú)效還是有效。于是,許多變化都是可能的并且在所附權(quán)利要求的范圍內(nèi)。
圖6描繪了根據(jù)本發(fā)明某些實(shí)施例的空白池表66??瞻壮乇?6包括P個(gè)條目 100 (作為示例描繪的條目100h 1002...100P),其中每個(gè)條目含有作為空白池20 (見(jiàn)圖l)的一部分的存儲(chǔ)位置的物理地址??瞻壮乇?6的條目數(shù)P隨著各物理 地址不斷地由于新的寫(xiě)操作而從空白池表66中取出并在塊擦除操作之后被添加至 空白池表66而不斷變化。根據(jù)本發(fā)明的某些實(shí)施例,空白池表66可以包括先進(jìn)先 出(FIFO)緩沖器99或隊(duì)列(作為一個(gè)示例),其中在FIFO緩沖器99的一端添 加條目100,并且條目在該緩沖器另一端將條目分配給邏輯地址。其他的安排也是 可能的并且在所附權(quán)利要求的范圍之內(nèi)。
圖7描繪了根據(jù)本發(fā)明某些實(shí)施例的易失性元數(shù)據(jù)68??蓪⒁资栽獢?shù)據(jù)68 安排成包括Q個(gè)條目110 (描繪作為示例的條目110i, 1102...110q小110q)的固 定陣列109的形式,其中每個(gè)條目都與非易失性存儲(chǔ)器54的物理地址之一相關(guān)聯(lián)。 于是,可利用物理地址指針lll來(lái)索引各條目110。如圖7所描繪,每個(gè)條目110 可指示該相關(guān)聯(lián)的物理地址含有用過(guò)的還是有效的數(shù)據(jù)。此外,根據(jù)本發(fā)明的某些 實(shí)施例,每個(gè)條目110可以指示該相關(guān)聯(lián)物理地址是與一擦除還是空白存儲(chǔ)位置相 關(guān)聯(lián)。于是,許多變化都是可能的并且在所附權(quán)利要求的范圍內(nèi)。
參見(jiàn)圖8,控制器52 (參見(jiàn)圖2)通??梢皂憫?yīng)于邏輯寫(xiě)操作執(zhí)行方法150。 邏輯寫(xiě)操作以邏輯地址為目標(biāo)并且指示要被存儲(chǔ)在該邏輯地址處的數(shù)據(jù)。依據(jù)方法 150,控制器52如框152所述,諸如通過(guò)用邏輯地址從L2P表62(參見(jiàn)圖2)中査找
特定物理地址,來(lái)為該邏輯地址獲取一物理地址??刂破?2隨后判定(菱形框154)
該物理地址是否有效。這在正常操作中是很常見(jiàn)的情況,雖然一特定物理地址也可
以在存儲(chǔ)器系統(tǒng)50 (參見(jiàn)圖2)最初上電之后與空白池相關(guān)聯(lián)。
如果控制器52判定(菱形框154)當(dāng)前物理地址有效,則控制器52就在L2P 表62內(nèi)將當(dāng)前物理地址標(biāo)記為無(wú)效(框158)。于是,如果當(dāng)前物理地址正存儲(chǔ) 著有效數(shù)據(jù),那么依據(jù)在此討論的動(dòng)態(tài)尋址方案,則使用另一物理地址(如下進(jìn)一 步描述的)來(lái)存儲(chǔ)作為該當(dāng)前邏輯寫(xiě)操作的對(duì)象的數(shù)據(jù)。接下來(lái),控制器52更新 易失性元數(shù)據(jù)68以指示在當(dāng)前物理地址處的內(nèi)容數(shù)據(jù)82 (參見(jiàn)圖2和圖4)。
在框162之后或是在判定(菱形框154)當(dāng)前物理地址無(wú)效之后,控制器52 判定(菱形框160)是否是時(shí)候補(bǔ)充空白池20。例如,在本發(fā)明的某些實(shí)施例中, 控制器52可以監(jiān)視組成空白池20的物理地址的數(shù)量。一旦判定該數(shù)量已下降到預(yù) 定閾值之下,控制器52可采取行動(dòng)以補(bǔ)充空白池20。例如,這些動(dòng)作可以包括把 用過(guò)的單元重新定位(框164)至一鄰接塊內(nèi)。于是,這一重新定位可涉及把帶有 關(guān)聯(lián)更新的、有效的和用過(guò)的非易失性存儲(chǔ)器54的可尋址存儲(chǔ)位置移至易失性數(shù) 據(jù)60。 一旦該鄰接塊被建立,控制器52就如框160所述擦除該塊。隨后,控制器 52更新(框170)空白池表66。
無(wú)論控制器52是否補(bǔ)充空白池20,控制器52隨后都依據(jù)方法150,從空白 池20中檢索(框174)下一個(gè)物理地址(來(lái)代替當(dāng)前物理地址)并遞增(框178) 順序計(jì)數(shù)器。在結(jié)合圖8討論的實(shí)施例中假設(shè)使用全局順序計(jì)數(shù)器。然而,如上所 述,根據(jù)本發(fā)明的其他實(shí)施例,可將一個(gè)單獨(dú)的本地順序計(jì)數(shù)器用于每一個(gè)邏輯地 址。
控制器52隨后將內(nèi)容和元數(shù)據(jù)(包括序號(hào)和邏輯地址)寫(xiě)入(框180)這一 新物理地址。隨后,控制器52更新(框182) L2P表62,用以將這一新物理地址 映射至或分配給該邏輯地址。
為了在掉電后重構(gòu)L2P表62,控制器52使用臨時(shí)表190,在圖9中描述了該 臨時(shí)表190的一個(gè)示例性實(shí)施。表190包括N個(gè)二元組條目192 (作為示例描繪的 條目192h 1922 . . . 192Q),每一條目都與一特定邏輯地址相關(guān)聯(lián)。于是,控制器 52可出于查找一特定條目192的目的來(lái)使用邏輯地址指針197。根據(jù)本發(fā)明的某些 實(shí)施例,每個(gè)條目192包括為該邏輯地址指示一物理地址的字段194以及指示迄今 為止已被找出的最后(和最大)序號(hào)的字段196。因此,控制器52在其(在掉電 之后)掃描通過(guò)非易失性存儲(chǔ)器54時(shí)更新條目192,從而在該掃描結(jié)束時(shí),每個(gè)
條目192都為各自的邏輯地址指示最近用過(guò)的物理地址(即,該物理地址具有最高 的序號(hào))。
作為表190使用的一個(gè)更為具體的示例,根據(jù)本發(fā)明的某些實(shí)施例,控制器 52—般執(zhí)行如圖10所示的方法200。依照方法200,控制器52初始化(202)表 190。例如,這一初始化可以包括在與物理地址或最后序號(hào)不相對(duì)應(yīng)的(表190的) 每個(gè)條目192中存儲(chǔ)值(諸如,),以指示條目192的初始化狀態(tài)??刂破?52隨后從非易失性存儲(chǔ)器54的下一物理地址中讀取(框204)元數(shù)據(jù)。如果該元 數(shù)據(jù)指示存儲(chǔ)內(nèi)容無(wú)效,控制器52于是就判定(菱形框208)是否有另一物理地 址要被處理,如果是,則返回框204。根據(jù)本發(fā)明的某些實(shí)施例,空白池和用過(guò)池 的重構(gòu)也可以在同一遍中完成。
如果控制器52判定(菱形框206)內(nèi)容數(shù)據(jù)有效,控制器52于是就為與該物 理地址相關(guān)聯(lián)的特定邏輯地址從表190中檢索(框210)最后序號(hào)條目。于是,該 邏輯地址的指示就被存儲(chǔ)在非易失性存儲(chǔ)器54的存儲(chǔ)位置內(nèi)。如果控制器52判定 (菱形框214)序號(hào)有效(即,控制器52判定序號(hào)不是初始化的值),控制器52 于是就判定(菱形框216)當(dāng)前序號(hào)是否是該邏輯地址迄今為止最大的序號(hào)。如果 不是,則控制返回至菱形框208。否則,用于該邏輯地址的最后物理地址(諸如迄 今為止在掃描中指示的那樣)已被定位,并且控制器52在先前物理地址處寫(xiě)入元 數(shù)據(jù)(框220)以指示相應(yīng)的內(nèi)容數(shù)據(jù)是"用過(guò)的"。隨后,控制器52為該相對(duì) 應(yīng)的邏輯地址更新(框222)表190的字段194和196 (參見(jiàn)圖9)。控制隨后行 進(jìn)至菱形框208,在其中控制器52判定是否要處理另一物理地址。如果不是,則 控制器52就已完成該掃描,并且表190已被構(gòu)造。注意到表190的缺少的條目196 (參見(jiàn)圖9)組成了重構(gòu)的L2P表62。于是,根據(jù)本發(fā)明的某些實(shí)施例,控制器 52可以在重構(gòu)L2P表62的掃描完結(jié)時(shí)提取數(shù)據(jù)194。
存儲(chǔ)器系統(tǒng)50 (參見(jiàn)圖2)可以在各種不同的應(yīng)用中使用,于是本發(fā)明的許 多不同實(shí)施例都是可能的并且在所附權(quán)利要求的范圍內(nèi)。例如,根據(jù)本發(fā)明的某些 實(shí)施例,存儲(chǔ)器系統(tǒng)50可以是固態(tài)磁盤(pán),而在本發(fā)明的其他實(shí)施例中,存儲(chǔ)器系 統(tǒng)50可以是磁盤(pán)高速緩存或在用于多個(gè)磁盤(pán)或RAID巻的高速緩存。圖11描繪了 結(jié)合有存儲(chǔ)器系統(tǒng)50的計(jì)算機(jī)體系結(jié)構(gòu)250的一個(gè)示例性實(shí)施例。計(jì)算機(jī)體系結(jié) 構(gòu)250例如可用于臺(tái)式或膝上型計(jì)算機(jī)。
計(jì)算機(jī)系統(tǒng)250包括耦合至系統(tǒng)總線(xiàn)256的處理器252 (例如, 一個(gè)或多個(gè)微 處理器)。計(jì)算機(jī)系統(tǒng)250還可包括北橋或存儲(chǔ)器集線(xiàn)器260,其耦合至系統(tǒng)總線(xiàn)
256以建立處理器252與諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM) 60之類(lèi)的系統(tǒng)存儲(chǔ)器 之間的通信。根據(jù)本發(fā)明的某些實(shí)施例,DRAM60是易失性存儲(chǔ)器60的一個(gè)實(shí)施 例,雖然在本發(fā)明的其他實(shí)施例中也可以使用其他的易失性存儲(chǔ)器。DRAM 60可 以經(jīng)由存儲(chǔ)器總線(xiàn)262耦合至存儲(chǔ)器集線(xiàn)器260。在本發(fā)明的某些實(shí)施例中,存儲(chǔ) 器集線(xiàn)器260可以包括控制器52,雖然在本發(fā)明的其他實(shí)施例中,控制器52可以 與存儲(chǔ)器集線(xiàn)器260分開(kāi)。
如圖11所示,根據(jù)本發(fā)明的某些實(shí)施例,非易失性存儲(chǔ)器可以是NAND閃 存,雖然根據(jù)本發(fā)明的其他實(shí)施例也可在此處使用其他類(lèi)型的非易失性存儲(chǔ)器。例 如,在本發(fā)明的其他實(shí)施例中,可以使用鐵電聚合體存儲(chǔ)器(ferro-electric polymer memory)來(lái)代替NAND閃存。
在本發(fā)明的某些實(shí)施例中,存儲(chǔ)器集線(xiàn)器260可將諸如可以是外圍元件互連 (PCI)總線(xiàn)272和加速圖形端口 (AGP)總線(xiàn)270之類(lèi)的其他總線(xiàn)接口至系統(tǒng)總 線(xiàn)256。 PCI規(guī)范可以從俄勒岡97214波特蘭的PCI特殊利益集團(tuán)(PCI Spedal Interest Group)獲取。AGP在由加利福尼亞州圣克拉拉市的英特爾(Intel)公司于 1996年7月31日出版的加速圖形端口接口規(guī)范,版本l.O(Accelerated Graphics Port Interface Specification, Revision 1.0)中有詳細(xì)描述。PCI總線(xiàn)272例如可將網(wǎng)絡(luò)接 口卡(NIC)273耦合至PCI總線(xiàn)272;而AGP總線(xiàn)270則例如可將驅(qū)動(dòng)顯示器277 的顯示器驅(qū)動(dòng)器275耦合至系統(tǒng)總線(xiàn)256。
如圖11所示,根據(jù)本發(fā)明的某些實(shí)施例,存儲(chǔ)器集線(xiàn)器260可以耦合至南橋 或輸入/輸出(I/O)集線(xiàn)器280。 I/O集線(xiàn)器280例如可以提供對(duì)CD-ROM驅(qū)動(dòng)器 290和硬盤(pán)驅(qū)動(dòng)器292的接口 。此外,I/O集線(xiàn)器280可以提供對(duì)I/O擴(kuò)展總線(xiàn)282 的接口 。 I/O控制器284可以耦合至I/O擴(kuò)展總線(xiàn)282并接收來(lái)自鼠標(biāo)286和鍵盤(pán) 290的輸入數(shù)據(jù)。
注意到在圖11中所示的體系結(jié)構(gòu)僅僅是出于示例的目的,因?yàn)槠渌淖兓?是可能的并且在所附權(quán)利要求的范圍內(nèi)。
雖然已經(jīng)就有限數(shù)量的實(shí)施例公開(kāi)了本發(fā)明,但是從本公開(kāi)中獲益的本領(lǐng)域 普通技術(shù)人員將會(huì)從中認(rèn)識(shí)到各種修改和變化。所附權(quán)利要求旨在涵蓋落入本發(fā)明 真正精神和范圍內(nèi)的所有這些修改和變化。
權(quán)利要求
1.一種方法,包括執(zhí)行多次寫(xiě)操作以在不同的物理存儲(chǔ)位置內(nèi)存儲(chǔ)數(shù)據(jù),每一個(gè)所述物理存儲(chǔ)位置均與在所述物理存儲(chǔ)位置之間共同共享的一邏輯地址相關(guān)聯(lián);以及在所述物理存儲(chǔ)位置內(nèi)存儲(chǔ)順序信息以指示所述寫(xiě)操作的哪一次最后出現(xiàn)。
2. 如權(quán)利要求l所述的方法,其特征在于,所述順序信息包括全局序號(hào)、 本地序號(hào)和時(shí)間戳之一。
3. 如權(quán)利要求l所述的方法,其特征在于,還包括在所述物理存儲(chǔ)位置內(nèi)存儲(chǔ)所述邏輯地址以指示所述寫(xiě)操作的哪一次最 后出現(xiàn)。
4. 如權(quán)利要求1所述的方法,其特征在于,每個(gè)所述物理存儲(chǔ)位置均存儲(chǔ)有關(guān)所述邏輯地址的數(shù)據(jù)的不同版本。
5. 如權(quán)利要求l所述的方法,其特征在于,還包括在每個(gè)所述物理存儲(chǔ)位置內(nèi)均存儲(chǔ)所述邏輯地址的指示。
6. 如權(quán)利要求1所述的方法,其特征在于,所述物理存儲(chǔ)位置是非易失性存儲(chǔ)器的一部分,所述方法還包括響應(yīng)于每一次所述寫(xiě)操作,更新易失性存儲(chǔ)器中的狀態(tài)信息以指示所述物 理存儲(chǔ)位置的哪一個(gè)存儲(chǔ)有效數(shù)據(jù)。
7. 如權(quán)利要求1所述的方法,其特征在于,所述物理存儲(chǔ)位置是非易失性存儲(chǔ)器的一部分,所述方法還包括響應(yīng)于每一次所述寫(xiě)操作,更新邏輯-物理地址轉(zhuǎn)換表,所述邏輯-物理地 址轉(zhuǎn)換表指示所述邏輯地址和所述物理存儲(chǔ)位置之一之間的映射。
8. 如權(quán)利要求7所述的方法,其特征在于,還包括 在塊擦除操作中擦除所述被指示的物理存儲(chǔ)位置。
9. 如權(quán)利要求l所述的方法,其特征在于,還包括響應(yīng)于掉電,使用所述順序信息來(lái)重構(gòu)指示所述邏輯地址和所述物理存儲(chǔ) 位置之一之間映射的邏輯-物理轉(zhuǎn)換表。
10. 如權(quán)利要求l所述的方法,其特征在于,還包括 響應(yīng)于掉電,使用所述順序信息來(lái)判定所述物理存儲(chǔ)位置的哪些沒(méi)有存儲(chǔ) 有關(guān)所述邏輯地址的有效數(shù)據(jù)。
11. 如權(quán)利要求l所述的方法,其特征在于,還包括響應(yīng)于掉電,使用所述順序信息判定所述物理存儲(chǔ)位置的哪些處于空白狀 態(tài)以及所述物理存儲(chǔ)位置的哪些是用過(guò)的。
12. —種裝置,包括 非易失性存儲(chǔ)器;以及 耦合至所述存儲(chǔ)器的控制器,用于執(zhí)行多次寫(xiě)操作以在所述非易失性存儲(chǔ)器的不同的物理存儲(chǔ)位置內(nèi) 存儲(chǔ)數(shù)據(jù),每一個(gè)所述物理存儲(chǔ)位置均與在所述物理存儲(chǔ)位置之間共同共 享的一邏輯地址相關(guān)聯(lián);以及在所述物理存儲(chǔ)位置內(nèi)存儲(chǔ)順序信息以指示所述寫(xiě)操作的哪一次最 后出現(xiàn)。
13. 如權(quán)利要求12所述的裝置,其特征在于,所述順序信息包括全局序 號(hào)、本地序號(hào)和時(shí)間戳之一。
14. 如權(quán)利要求12所述的裝置,其特征在于,所述控制器在所述物理存 儲(chǔ)位置內(nèi)存儲(chǔ)所述邏輯地址。
15. 如權(quán)利要求12所述的裝置,其特征在于,每個(gè)所述物理存儲(chǔ)位置均存儲(chǔ)有關(guān)所述邏輯地址的數(shù)據(jù)的不同版本。
16. 如權(quán)利要求12所述的裝置,其特征在于,所述控制器在每個(gè)所述物 理存儲(chǔ)位置內(nèi)均存儲(chǔ)所述邏輯地址的指示。
17. 如權(quán)利要求16所述的裝置,其特征在于,還包括易失性存儲(chǔ)器,其中所述控制器響應(yīng)于每一次所述寫(xiě)操作,更新易失性存儲(chǔ)器中的狀態(tài)信息以 指示所述物理存儲(chǔ)位置的哪一個(gè)存儲(chǔ)有效數(shù)據(jù)。
18. 如權(quán)利要求16所述的裝置,其特征在于,還包括易失性存儲(chǔ)器,其中所述控制器響應(yīng)于每一次所述寫(xiě)操作,更新指示所述邏輯地址和所述物理 存儲(chǔ)位置之一之間映射的邏輯-物理地址轉(zhuǎn)換表。
19. 如權(quán)利要求12所述的裝置,其特征在于,所述控制器響應(yīng)于掉電, 使用所述順序信息來(lái)重構(gòu)指示所述邏輯地址和所述物理存儲(chǔ)位置之一之間映射的邏輯-物理轉(zhuǎn)換表。
20. —種系統(tǒng),包括 非易失性存儲(chǔ)器; 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器;以及 控制器,用于使用存儲(chǔ)在所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器內(nèi)的邏輯-物理地址轉(zhuǎn)換表來(lái)執(zhí) 行多次寫(xiě)操作以在所述非易失性存儲(chǔ)器的不同的物理存儲(chǔ)位置內(nèi)存儲(chǔ)數(shù) 據(jù),每一個(gè)所述物理存儲(chǔ)位置均與在所述物理存儲(chǔ)位置之間共同共享的一 邏輯地址相關(guān)聯(lián),以及在所述物理存儲(chǔ)位置內(nèi)存儲(chǔ)順序信息以指示所述寫(xiě)操作的哪一次最 后出現(xiàn)。
21. 如權(quán)利要求20所述的系統(tǒng),其特征在于,所述控制器響應(yīng)于掉電, 使用所述順序信息來(lái)重構(gòu)所述邏輯-物理地址轉(zhuǎn)換表。
22. 如權(quán)利要求20所述的系統(tǒng),其特征在于,所述控制器響應(yīng)于掉電, 使用所述順序信息來(lái)判定所述物理存儲(chǔ)位置的哪些沒(méi)有存儲(chǔ)有關(guān)所述邏輯地 址的有效數(shù)據(jù)。
23. —種包括存儲(chǔ)指令的計(jì)算機(jī)可訪(fǎng)問(wèn)存儲(chǔ)介質(zhì)的物品,當(dāng)所述指令被執(zhí) 行時(shí),使得所述計(jì)算機(jī)執(zhí)行多次寫(xiě)操作以在不同的物理存儲(chǔ)位置內(nèi)存儲(chǔ)數(shù)據(jù),每一個(gè)所述物理存 儲(chǔ)位置均與在所述物理存儲(chǔ)位置之間共同共享的一邏輯地址相關(guān)聯(lián);以及在所述物理存儲(chǔ)位置內(nèi)存儲(chǔ)順序信息以指示所述寫(xiě)操作的哪一次最后出現(xiàn)。
24. 如權(quán)利要求23所述的物品,其特征在于,所述存儲(chǔ)介質(zhì)存儲(chǔ)指令用 于在所述指令被執(zhí)行時(shí)使得所述計(jì)算機(jī)在每個(gè)所述物理存儲(chǔ)位置內(nèi)均存儲(chǔ)所 述邏輯地址的指示。
25. 如權(quán)利要求23所述的物品,其特征在于,所述存儲(chǔ)介質(zhì)存儲(chǔ)指令用 于在所述指令被執(zhí)行時(shí)使得所述計(jì)算機(jī)響應(yīng)于每一次所述寫(xiě)操作,更新易失性 存儲(chǔ)器中的狀態(tài)信息以指示所述物理存儲(chǔ)位置的哪一個(gè)當(dāng)前正與所述邏輯地 址相關(guān)聯(lián)。
26. 如權(quán)利要求23所述的物品,其特征在于,所述物理存儲(chǔ)位置是非易 失性存儲(chǔ)器的一部分,所述存儲(chǔ)介質(zhì)存儲(chǔ)指令用于在所述指令被執(zhí)行時(shí)使得所述計(jì)算機(jī)響應(yīng)于每一次所述寫(xiě)操作,更新指示所述邏輯地址和所述物理存儲(chǔ)位 置之一之間映射的邏輯-物理地址轉(zhuǎn)換表。
27. 如權(quán)利要求23所述的物品,其特征在于,所述存儲(chǔ)介質(zhì)存儲(chǔ)指令用 于在所述指令被執(zhí)行時(shí)使得所述計(jì)算機(jī)響應(yīng)于掉電,使用所述序號(hào)來(lái)重構(gòu)指示 所述邏輯地址和所述物理存儲(chǔ)位置之一之間映射的邏輯-物理轉(zhuǎn)換表。
28. 如權(quán)利要求23所述的物品,其特征在于,所述存儲(chǔ)介質(zhì)存儲(chǔ)指令用 于在所述指令被執(zhí)行時(shí)使得所述計(jì)算機(jī)響應(yīng)于掉電,使用所述順序信息來(lái)判定 所述物理存儲(chǔ)位置的哪些沒(méi)有存儲(chǔ)有關(guān)所述邏輯地址的有效數(shù)據(jù)。
29. 如權(quán)利要求23所述的物品,其特征在于,所述存儲(chǔ)介質(zhì)存儲(chǔ)指令用 于在所述指令被執(zhí)行時(shí)使得所述計(jì)算機(jī)響應(yīng)于掉電,使用所述序號(hào)來(lái)判定所述 物理存儲(chǔ)位置的哪些被擦除。
全文摘要
一種方法包括執(zhí)行多次寫(xiě)操作以在不同的物理存儲(chǔ)位置內(nèi)存儲(chǔ)數(shù)據(jù)。每一個(gè)物理存儲(chǔ)位置均與一個(gè)在這些物理存儲(chǔ)位置之間共同共享的邏輯地址相關(guān)聯(lián)。該方法包括在物理存儲(chǔ)位置內(nèi)存儲(chǔ)順序信息以指示寫(xiě)操作的哪一次最后出現(xiàn)。
文檔編號(hào)G06F12/02GK101208669SQ200680023264
公開(kāi)日2008年6月25日 申請(qǐng)日期2006年6月30日 優(yōu)先權(quán)日2005年6月30日
發(fā)明者J·馬修斯, R·法伯特, R·科爾森, S·特里卡 申請(qǐng)人:英特爾公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
佳木斯市| 阿鲁科尔沁旗| 凤城市| 永昌县| 北安市| 鄂尔多斯市| 建始县| 龙里县| 承德市| 太保市| 五莲县| 乡城县| 林西县| 平凉市| 蚌埠市| 芜湖县| 涞水县| 濉溪县| 保定市| 清徐县| 卓资县| 密云县| 军事| 久治县| 东明县| 怀仁县| 潍坊市| 唐海县| 晋江市| 平山县| 漯河市| 玛曲县| 泽州县| 佛教| 和静县| 布拖县| 乡宁县| 固原市| 射阳县| 文水县| 安达市|