国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      群集的自動(dòng)對(duì)準(zhǔn)的制作方法

      文檔序號(hào):6553260閱讀:164來源:國知局
      專利名稱:群集的自動(dòng)對(duì)準(zhǔn)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般而言涉及非易失性存儲(chǔ)器系統(tǒng)的作業(yè),且更具體而言,涉及這些存儲(chǔ) 器系統(tǒng)內(nèi)的數(shù)據(jù)處理。
      背景技術(shù)
      目前,存在許多種成功得到商業(yè)應(yīng)用的非易失性存儲(chǔ)器產(chǎn)品,尤其是小形狀因子 卡形式的非易失性存儲(chǔ)器產(chǎn)品,其釆用形成于一個(gè)或一個(gè)以上集成電路芯片上的快閃
      EEPROM (電子可擦除可編程只讀存儲(chǔ)器)單元陣列。通常(但未必盡然)在單獨(dú)集 成電路芯片上的存儲(chǔ)器控制器介接以可移除方式連接有所述卡的主機(jī),并控制存儲(chǔ)器 陣列在所述卡內(nèi)的運(yùn)作。此控制器通常包含微處理器、某種非易失性只讀存儲(chǔ)器 (ROM)、易失性隨機(jī)存取存儲(chǔ)器(RAM)及一個(gè)或一個(gè)以上專用電路,例如一個(gè)可 在編程及讀取數(shù)據(jù)期間在數(shù)據(jù)經(jīng)過控制器時(shí)根據(jù)數(shù)據(jù)計(jì)算出糾錯(cuò)碼(ECC)的專用電 路。某些市面出售的卡為CompactFlashTM(CF)卡、多媒體卡(MMC)、安全數(shù)字(SD) 卡、個(gè)人標(biāo)簽(P-Tag)及存儲(chǔ)棒卡。主機(jī)包含個(gè)人計(jì)算機(jī)、筆記本計(jì)算機(jī)、個(gè)人數(shù)字 助理(PDA)、各種數(shù)據(jù)通信裝置、數(shù)字?jǐn)z像機(jī)、蜂窩式電話、可攜式聲訊播放器、汽 車音響系統(tǒng)、及相似類型的設(shè)備。于某些系統(tǒng)中,可移除式卡不包含控制器且主機(jī)控 制存儲(chǔ)器陣列在所述卡內(nèi)的運(yùn)作。此類型存儲(chǔ)器系統(tǒng)的實(shí)例包含智慧型媒體卡及xD
      卡。因此,可通過所述卡中控制器上的軟件或通過主機(jī)中的控制軟件來達(dá)成對(duì)存儲(chǔ)器 陣列的控制。除存儲(chǔ)器卡實(shí)施方案外,此類型的存儲(chǔ)器也可嵌裝于各種類型的主機(jī)系 統(tǒng)內(nèi)。于可移除式及嵌入式兩種應(yīng)用中,可根據(jù)由存儲(chǔ)器控制軟件實(shí)施的存儲(chǔ)方案將 主機(jī)數(shù)據(jù)存儲(chǔ)于存儲(chǔ)器陣列中。
      有兩種通用存儲(chǔ)單元架構(gòu)已付諸商業(yè)應(yīng)用NOR及NAND。于典型的NOR陣列 中,存儲(chǔ)單元連接于沿列方向延伸的毗鄰位線源極與漏極擴(kuò)散之間以使控制柵連接至 沿單元行延伸的字線。存儲(chǔ)單元包含定位于所述源極與漏極之間的單元通道區(qū)域至少
      一部分上方的至少一個(gè)存儲(chǔ)元件。存儲(chǔ)元件上經(jīng)編程的電荷電平因此控制單元的運(yùn)作 特征,因而可通過將適宜的電壓施加至尋址存儲(chǔ)單元來讀取所述單元。此類單元的實(shí) 例、其在存儲(chǔ)器系統(tǒng)中的應(yīng)用及其制造方法在第5,070,032、 5,095,344、 5,313,421、 5,315,541、 5,343,063、 5,661,053及6,222,762號(hào)美國專利中給出。
      NAND陣列則利用由如下構(gòu)成的串聯(lián)串多于兩個(gè)(例如16個(gè)或32個(gè))存儲(chǔ)單 元與一個(gè)或一個(gè)以上在個(gè)別位線與參考電位之間的選擇晶體管連接在一起以形成單元
      列。字線延伸跨越大量的這種列內(nèi)的單元。在編程期間,通過如下方式來讀取及驗(yàn)證 列中的個(gè)別單元強(qiáng)導(dǎo)通所述串中的剩余單元,以使流經(jīng)串的電流取決于尋址單元中 所存儲(chǔ)電荷的電平。NAND架構(gòu)陣列的實(shí)例及其作為存儲(chǔ)器系統(tǒng)的部分的運(yùn)作可在美
      國專利第5,570,315、 5,774,397、 6,046,935及6,522,580號(hào)中找到。
      上文所提及專利中所論述的當(dāng)前快閃EEPROM陣列的電荷存儲(chǔ)元件為最常用的 導(dǎo)電性浮柵,其通常由經(jīng)導(dǎo)電摻雜的多晶硅材料形成。適用于快閃EEPROM系統(tǒng)的另 一類型的存儲(chǔ)單元利用非導(dǎo)電性電介材料代替導(dǎo)電性浮柵以便以非易失性方式來存儲(chǔ) 電荷。其中,由氧化硅、氮化硅及氧化硅(ONO)形成的三層式電介材料夾于導(dǎo)電性 控制柵與存儲(chǔ)單元通道上方半導(dǎo)電性襯底的表面之間。通過如下方式編程所述單元 將電子從單元通道注入氮化物內(nèi),電子在氮化物中被捕集并存儲(chǔ)于有限的區(qū)域中,且 所述單元是通過將熱電洞注入氮化物內(nèi)而被擦除。數(shù)種采用電介存儲(chǔ)元件的特定單元 結(jié)構(gòu)及陣列闡述于Harari等人的第2003/0109093號(hào)美國專利公開案中。
      個(gè)別快閃EEPROM存儲(chǔ)單元在一電荷存儲(chǔ)元件或單元中存儲(chǔ)有一定量的電荷來 代表一個(gè)或一個(gè)以上數(shù)據(jù)位。存儲(chǔ)元件的電荷電平可控制其存儲(chǔ)單元的閾電壓(通常 稱作V-r),而所述閾電壓用作讀取所述單元的存儲(chǔ)狀態(tài)的基礎(chǔ)。閾電壓窗口通常劃分 成若干個(gè)范圍,其中一個(gè)范圍對(duì)應(yīng)于存儲(chǔ)單元的兩種或更多種狀態(tài)的每一狀態(tài)。這些 范圍由防護(hù)帶分離,防護(hù)帶包含允許確定個(gè)別存儲(chǔ)單元額存儲(chǔ)狀態(tài)的標(biāo)稱感測電平。 這些存儲(chǔ)電平的確會(huì)因在鄰近的或其它相關(guān)的存儲(chǔ)單元、頁面或塊中所實(shí)施的會(huì)干擾 電荷的編程、讀取或擦除作業(yè)而出現(xiàn)移位。因此,糾錯(cuò)碼(ECC)通常由控制器來計(jì)算
      并與被編程的主機(jī)數(shù)據(jù)一起存儲(chǔ)且如果需要,則在讀取期間用于驗(yàn)證所述數(shù)據(jù)并實(shí)施 某一等級(jí)的數(shù)據(jù)糾正。同樣,可通過將數(shù)據(jù)拷貝至其中以經(jīng)調(diào)整而處在其允許范圍內(nèi)
      的中心的電荷電平重新寫入數(shù)據(jù)的新位置,來將移位的電荷電平不時(shí)地恢復(fù)回到其狀 態(tài)范圍的中心。這可在導(dǎo)致電荷電平完全移出其所界定的范圍外且因此導(dǎo)致讀取錯(cuò)誤 數(shù)據(jù)的干擾作業(yè)前來實(shí)施。這個(gè)過程(稱作數(shù)據(jù)刷新或清除)闡述于美國專利第 5,532,962及5,909,449號(hào)中。
      如同在大多數(shù)集成電路應(yīng)用中一樣,對(duì)于快閃EEPROM存儲(chǔ)單元陣列,也存在 縮減構(gòu)建某些集成電路功能所需的硅襯底面積的壓力。人們不斷地期望增加在硅襯底 的既定面積中可存儲(chǔ)的數(shù)字?jǐn)?shù)據(jù)的量,以增加既定尺寸的存儲(chǔ)卡及其它類型封裝件的 存儲(chǔ)容量,或者既增加容量又減小尺寸。 一種增加數(shù)據(jù)存儲(chǔ)密度的方法是由每一存儲(chǔ) 單元及/或每一存儲(chǔ)單元或元件存儲(chǔ)多于一個(gè)數(shù)據(jù)位。這通過將一存儲(chǔ)元件的電荷電平 電壓范圍窗口劃分成多于兩種狀態(tài)來實(shí)現(xiàn)。使用四種此種狀態(tài)即能使每一存儲(chǔ)單元存 儲(chǔ)兩個(gè)數(shù)據(jù)位,使用八種狀態(tài)即能使每一存儲(chǔ)組件存儲(chǔ)三個(gè)數(shù)據(jù)位,依此類推。使用 浮柵之多狀態(tài)快閃EEPROM結(jié)構(gòu)及其運(yùn)作闡述于美國專利第5,043,940及5,172,338 號(hào)中,使用電介材料浮柵之結(jié)構(gòu)則闡述于前述美國專利公開申請(qǐng)案第2003/0109093號(hào) 中。出于各種原因,多狀態(tài)存儲(chǔ)單元陣列中的選定部分也可以兩種狀態(tài)(二進(jìn)制)運(yùn) 作,其運(yùn)作方式闡述于美國專利第5,930,167及6,456,528中。
      典型快閃EEPROM陣列中的存儲(chǔ)單元?jiǎng)澐殖扇舾蓚€(gè)可一起擦除的離散單元塊。 亦即,該擦除塊為擦除單位,亦即,可同時(shí)擦除的最小數(shù)量單元。每一塊通常存儲(chǔ)有 一個(gè)或一個(gè)以上數(shù)據(jù)頁面,頁面為最小編程及讀取單位,盡管也可在不同的子陣列或 平面中平行地編程或讀取多于一個(gè)頁面。每一頁通常存儲(chǔ)一個(gè)或一個(gè)以上數(shù)據(jù)扇區(qū),
      扇區(qū)的尺寸由主機(jī)系統(tǒng)界定。實(shí)例性扇區(qū)包含512個(gè)用戶數(shù)據(jù)字節(jié)(遵循一針對(duì)磁盤
      驅(qū)動(dòng)器制定的標(biāo)準(zhǔn))加上一定數(shù)量字節(jié)的關(guān)于用戶數(shù)據(jù)及/或存儲(chǔ)有用戶數(shù)據(jù)的塊的附
      加信息。這些存儲(chǔ)器通常配置為每一擦除塊內(nèi)具有16、 32或更多個(gè)頁,且每一頁存儲(chǔ) 一個(gè)或幾個(gè)主數(shù)據(jù)扇區(qū)。
      為提高在將用戶數(shù)據(jù)編程入存儲(chǔ)器陣列及自存儲(chǔ)器陣列讀取用戶數(shù)據(jù)期間之平 行性程度,所述陣列通常劃分成若干個(gè)子陣列,所述子陣列通常稱作平面,其包含其 自身之?dāng)?shù)據(jù)寄存器及其它電路來容許并行操作,從而可同時(shí)將數(shù)據(jù)扇區(qū)編程至若干個(gè) 或所有平面中的每一平面,或同時(shí)自若干或所有平面中的每一平面讀取數(shù)據(jù)扇區(qū)。單 個(gè)積體電路上的陣列可在物理上劃分為多個(gè)平面,或每一平面可由單獨(dú)的一個(gè)或一個(gè) 以上積體電路芯片構(gòu)成。此一存儲(chǔ)器構(gòu)建方案的實(shí)例闡述于美國專利第5,798,968及 5,890,192號(hào)中。
      于某些存儲(chǔ)器系統(tǒng)中,物理存儲(chǔ)單元也編組成兩個(gè)或兩個(gè)以上的區(qū)。區(qū)可為物理 存儲(chǔ)器或存儲(chǔ)器系統(tǒng)的任一經(jīng)分割的子組,邏輯塊地址的規(guī)定范圍即映射至所述子組 中。舉例而言,能夠存儲(chǔ)64兆字節(jié)數(shù)據(jù)的存儲(chǔ)器系統(tǒng)可分割成四個(gè)每一區(qū)存儲(chǔ)16兆
      字節(jié)數(shù)據(jù)的區(qū)。然后,也將邏輯塊地址劃分成四個(gè)群組, 一個(gè)群組指配給四個(gè)區(qū)中每 一個(gè)區(qū)的擦除塊。于典型實(shí)施方案中,邏輯塊地址受到限制以使其每一者的數(shù)據(jù)從不 寫入至單個(gè)物理區(qū)(所述邏輯塊地址即映射至其中)外面。于被劃分成平面(子陣列) 的存儲(chǔ)單元陣列中,每一平面具有其自己的尋址、編程及讀取電路,每一區(qū)較佳包含
      來自多個(gè)平面的擦除塊,通常來自每一平面的擦除塊數(shù)量相同。區(qū)主要用于簡化諸如 邏輯至物理轉(zhuǎn)換的地址管理,從而產(chǎn)生較小的轉(zhuǎn)換表、較少的保存這些表所需的RAM 存儲(chǔ)器、及較快的尋址存儲(chǔ)器當(dāng)前活動(dòng)區(qū)域的存取時(shí)間,但由于其限制性性質(zhì)而可導(dǎo) 致并非最優(yōu)的損耗平衡。
      為進(jìn)一步有效管理存儲(chǔ)器,擦除塊可連接在一起形成虛擬塊或元塊。亦即,可規(guī) 定每一元塊包含一個(gè)來自每一平面的擦除塊。元塊的使用闡述于美國專利6,763,424
      中,所述專利與本說明書中引用的其它專利及專利申請(qǐng)案一起以全文引用的方式并入 本文中。元塊由主機(jī)邏輯塊地址識(shí)別為編程及讀取數(shù)據(jù)的目的地。同樣,元塊的所有 擦除塊能夠一起擦除。與這些大塊及/或元塊一起運(yùn)作的存儲(chǔ)器系統(tǒng)中的控制器實(shí)施眾 多種功能,包含在從主機(jī)接收到的邏輯塊地址(LBA)與存儲(chǔ)單元陣列內(nèi)物理塊編號(hào) (PBN)之間的變換。所述塊內(nèi)的單個(gè)頁面通常由所述塊地址內(nèi)之的偏移來識(shí)別。地 址變換通常涉及到使用邏輯塊編號(hào)(LBN)及邏輯頁面的中間項(xiàng)。
      如果存儲(chǔ)器連接至主機(jī),則可能造成某種程度的低效率,這是因?yàn)榇鎯?chǔ)器系統(tǒng)及 主機(jī)使用不同的數(shù)據(jù)結(jié)構(gòu)。主機(jī)系統(tǒng)通常以群集的形式管理數(shù)據(jù),其中群集包含固定
      數(shù)量的扇區(qū)。通常,群集包含介于4個(gè)與64個(gè)之間的數(shù)據(jù)扇區(qū),雖然也可能包含其它
      數(shù)量的扇區(qū)。主機(jī)通常維持文件分配表(FAT),所述文件分配表在群集對(duì)群集基礎(chǔ)上記
      錄針對(duì)特定文件的數(shù)據(jù)分配。諸如那些可移除式存儲(chǔ)器卡的存儲(chǔ)器系統(tǒng)通常不將群集 用作數(shù)據(jù)單位。于一個(gè)實(shí)例中,數(shù)據(jù)群集由主機(jī)發(fā)送至存儲(chǔ)器卡而所述存儲(chǔ)器在將所
      述數(shù)據(jù)群集存儲(chǔ)于非易失性存儲(chǔ)器中時(shí)返回信號(hào)。然后,所述主機(jī)發(fā)送下一數(shù)據(jù)群集。 群集與用于存儲(chǔ)那些群集的頁面之間通常不存在對(duì)準(zhǔn)。這可能意味著單個(gè)數(shù)據(jù)群集的 編程可能需要兩次寫入作業(yè),這是因?yàn)榧词谷杭軌虮粚懭雴蝹€(gè)頁面內(nèi),所述群集也 會(huì)延伸至存儲(chǔ)器的兩個(gè)頁面內(nèi)。這會(huì)增加將數(shù)據(jù)編程至存儲(chǔ)器所需的時(shí)間。
      這個(gè)問題(群集從第一頁面延伸至第二頁面)的一種可能解決方案是將群集中要
      保存在第二頁面內(nèi)的部分保存于諸如隨機(jī)存取存儲(chǔ)器的(RAM)易失性存儲(chǔ)器內(nèi)并給主 機(jī)發(fā)送指示群集已寫入的信號(hào)。在接收到下一群集時(shí),可拷貝RAM內(nèi)的數(shù)據(jù)并將其 作為全頁面寫入的部分與新群集的一部分一起寫入至第二頁面。如之前所述,將下一 群集的剩余部分存儲(chǔ)于RAM內(nèi)。然而,根據(jù)某些標(biāo)準(zhǔn),不準(zhǔn)許以此方式將數(shù)據(jù)存儲(chǔ) 于RAM內(nèi),這是因?yàn)槿f一存儲(chǔ)器喪失電力,則存在丟失此數(shù)據(jù)的風(fēng)險(xiǎn)。
      另 一解決方案是實(shí)施偏移以使扇區(qū)的物理至邏輯映射改變恒定值以使群集邊界 與頁面邊界對(duì)準(zhǔn)。然而,如果主機(jī)系統(tǒng)(舉例而言)針對(duì)測試目的而改變?nèi)杭吔绲?位置,則數(shù)據(jù)將變得不對(duì)準(zhǔn)且對(duì)準(zhǔn)將需要移動(dòng)存儲(chǔ)器中存儲(chǔ)的所有數(shù)據(jù)。格式化過程 通常在不考慮諸如FAT拷貝數(shù)量及群集尺寸的先前格式參數(shù)的情況下實(shí)施。在格式化 期間不存在對(duì)群集與存儲(chǔ)器之間的最終偏移的直接控制。作為結(jié)果,在格式化后偏移 可能變得不同。因此,這種技術(shù)具有某些缺陷。
      因此,需要一種可使主機(jī)數(shù)據(jù)單元(例如,群集)與存儲(chǔ)器陣列的頁面對(duì)準(zhǔn)以使主 機(jī)數(shù)據(jù)單元的邊界與頁面邊界對(duì)準(zhǔn)的方法。還需要一種以如果移除電力則可保護(hù)主機(jī) 數(shù)據(jù)不丟失的方式實(shí)施此對(duì)準(zhǔn)的方法。還需要一種以靈活的方式實(shí)施此對(duì)準(zhǔn)并允許改 變主機(jī)所發(fā)送數(shù)據(jù)中的群集邊界位置的方法。

      發(fā)明內(nèi)容
      一種使用偏移使主機(jī)數(shù)據(jù)的群集與存儲(chǔ)器陣列的頁面對(duì)準(zhǔn)以便將數(shù)據(jù)存儲(chǔ)在存 儲(chǔ)器陣列的塊中的方法。使用偏移,使存儲(chǔ)在存儲(chǔ)器陣列中的位置處的扇區(qū)從其原本
      存儲(chǔ)的位置處位移??稍谥饓K基礎(chǔ)上實(shí)施偏移。因此,映射至所述存儲(chǔ)器陣列的特定 塊的邏輯地址(邏輯塊)范圍不存在改變,偏移僅會(huì)對(duì)數(shù)據(jù)在所述塊內(nèi)如何布置產(chǎn)生 影響。因此,如果從數(shù)據(jù)的一個(gè)部分至另一部分的偏移存在改變(舉例而言,如果主機(jī) 出于測試原因而改變?nèi)杭吔缥恢?,則可以不同的偏移寫入不同的部分。
      由于群集邊界通常不與邏輯塊邊界對(duì)準(zhǔn),因此邏輯塊通常以群集分段開始和結(jié)束 且在中間包含大量完整的群集。
      于一個(gè)實(shí)例中,在第一頁面結(jié)束處寫入來自邏輯塊開始的群集分段。然后,以對(duì)
      準(zhǔn)的方式將完整的群集寫入至后續(xù)頁面。隨后,將來自邏輯群組結(jié)束的群集分段寫入 至第一頁面,因此填充第一頁面。另一選擇為,可將來自邏輯塊開始的群集分段寫入 至所述塊的最后頁面,可將完整的群集寫入至剩余的頁面,且隨后將來自邏輯塊結(jié)束 的群集分段寫入至最終頁面。然而,某些存儲(chǔ)器設(shè)計(jì)不允許頁面被寫一次以上,這是 因?yàn)樵陔S后的寫入作業(yè)期間存在損壞先前所寫入數(shù)據(jù)的風(fēng)險(xiǎn)。同樣,某些設(shè)計(jì)不允許 不按順序填充頁面。
      于另一實(shí)例中,將來自邏輯塊開始的群集分段存儲(chǔ)于所述塊(群集分段要存儲(chǔ)于 其中)以外的暫存塊或另一位置內(nèi)。然后,將跟隨的完整群集以對(duì)準(zhǔn)的方式存儲(chǔ)于所 述塊的頁面中。將最終群集分段與來自邏輯塊的群集分段(其拷貝自暫存塊) 一起寫 入至所述塊的最終頁面。這個(gè)方案允許依序?qū)懭腠撁?,其中每一頁面僅被寫一次。
      本發(fā)明的技術(shù)可用于為一個(gè)擦除塊的塊或包含經(jīng)鏈接以形成元塊的多個(gè)擦除塊 的塊。所述技術(shù)可應(yīng)用于各種尺寸的群集和頁面且并非局限于其中群集尺寸與頁面尺 寸相同的情況。


      圖1A顯示包含存儲(chǔ)器控制器及存儲(chǔ)器陣列集成電路的存儲(chǔ)器系統(tǒng)。 圖1B顯示與圖1A的存儲(chǔ)器系統(tǒng)一起運(yùn)作的主機(jī)系統(tǒng)。 圖2顯示圖1A的存儲(chǔ)器陣列的實(shí)例性組織。
      圖3顯示實(shí)例性主機(jī)數(shù)據(jù)扇區(qū),其具有存儲(chǔ)于圖1A的存儲(chǔ)器陣列中的開銷數(shù)據(jù);
      圖4顯示圖1A的存儲(chǔ)器陣列的第二實(shí)例性組織;
      圖5顯示圖1A的存儲(chǔ)器陣列的第三實(shí)例性組織;
      圖6顯示圖1A的存儲(chǔ)器陣列的第三實(shí)例性組織的擴(kuò)展形式;
      圖7顯示存儲(chǔ)于存儲(chǔ)器陣列(例如,圖1A的那個(gè)存儲(chǔ)器陣列)內(nèi)的數(shù)據(jù)的邏輯 單元與物理位置之間的對(duì)應(yīng)關(guān)系。
      圖8A顯示根據(jù)本發(fā)明的實(shí)施例存儲(chǔ)于存儲(chǔ)器陣列內(nèi)的數(shù)據(jù)的邏輯單元與物理位 置之間的對(duì)應(yīng)關(guān)系。
      圖8B顯示圖8A實(shí)例中的邏輯至物理映射的偏移作業(yè)。
      圖9A顯示根據(jù)本發(fā)明的另一實(shí)施例存儲(chǔ)于存儲(chǔ)器陣列內(nèi)的數(shù)據(jù)的邏輯單元與物 理位置之間的對(duì)應(yīng)關(guān)系。
      圖9B顯示圖9A實(shí)例中的邏輯至物理映射的偏移作業(yè)。
      具體實(shí)施例方式
      存儲(chǔ)器架構(gòu)及其運(yùn)作
      首先參見圖1A,快閃存儲(chǔ)器包含存儲(chǔ)單元陣列及控制器。在所示實(shí)例中,兩個(gè) 集成電路裝置(芯片)11及13包含存儲(chǔ)單元陣列15及各種邏輯電路17。邏輯電路
      17通過數(shù)據(jù)、命令及狀態(tài)電路與單獨(dú)芯片上的控制器19介接,并也為陣列13提供尋 址、數(shù)據(jù)傳遞和感測、及其它支持。存儲(chǔ)器陣列芯片的數(shù)量可從一個(gè)至許多個(gè),此取 決于所提供的存儲(chǔ)容量。存儲(chǔ)單元陣列可位于單個(gè)芯片上或可由多個(gè)芯片上的存儲(chǔ)單 元構(gòu)成。或者,也可將控制器及部分或整個(gè)陣列組合至單個(gè)集成電路芯片上,但目前 此種選擇方案并不經(jīng)濟(jì)。
      典型的控制器19包含微處理器21、主要用于存儲(chǔ)韌體的只讀存儲(chǔ)器(ROM) 23 及緩沖存儲(chǔ)器(RAM) 25,所述緩沖存儲(chǔ)器25主要用于臨時(shí)存儲(chǔ)寫入或讀自存儲(chǔ)器 芯片11及13的用戶數(shù)據(jù)。緩沖存儲(chǔ)器25可為易失性或非易失性存儲(chǔ)器。電路27介 接存儲(chǔ)器陣列芯片,而電路29則通過連接31介接主機(jī)。
      圖1A存儲(chǔ)器的連接31與主機(jī)系統(tǒng)的連接31'配合,圖1B中給出了此配合的實(shí)例。 主機(jī)與圖1A的存儲(chǔ)器之間的數(shù)據(jù)傳遞是通過接口電路35實(shí)現(xiàn)的。典型的主機(jī)也包含 微處理器37、用于存儲(chǔ)韌體碼的ROM39及RAM41。其它電路及子系統(tǒng)43通常包含 大容量磁性數(shù)據(jù)存儲(chǔ)磁盤驅(qū)動(dòng)器、用于鍵盤的接口電路、監(jiān)視器及類似器件,此視特 定的主機(jī)系統(tǒng)而定。這些主機(jī)的某些實(shí)例包含桌上型計(jì)算機(jī)、膝上型計(jì)算機(jī)、手持式 計(jì)算機(jī)、掌上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、 MP3及其它聲訊播放器、數(shù)字?jǐn)z像 機(jī)、視訊攝像機(jī)、電子游戲機(jī)、無線及有線電話裝置、應(yīng)答機(jī)、錄音機(jī)、網(wǎng)絡(luò)路由器 及其它裝置。
      圖1A的存儲(chǔ)器可構(gòu)建為包含控制器的小型封閉卡且其所有的存儲(chǔ)器陣列電路裝 置均呈可以可移除方式與圖1B的主機(jī)連接的形式。亦即,配合的連接31與31'允許 斷開并被移至另一主機(jī),或通過將另一卡連接至主機(jī)來替換。另一選擇為,可將存儲(chǔ) 器陣列裝置封閉于一可以電方式及機(jī)械方式與包含控制器及連接31的卡相連的單獨(dú) 卡中。又一選擇為,可將圖1A的存儲(chǔ)器嵌入圖1B的主機(jī)內(nèi),其中連接31及31'為永 久制成。在此種情況下,存儲(chǔ)器通常與其它組件一起包含于主機(jī)的外殼內(nèi)。再一選擇 為,可將諸如存儲(chǔ)器芯片11的存儲(chǔ)器芯片直接連接至主機(jī)系統(tǒng)的連接31',而在其之 間不存在存儲(chǔ)器控制器。于此情況下,由主機(jī)系統(tǒng)的微處理器37來實(shí)施存儲(chǔ)器控制器 的功能。
      圖2圖解說明其中將存儲(chǔ)單元編組成擦除塊的存儲(chǔ)器陣列的一部分,其中每一擦 除塊的單元可作為單個(gè)擦除作業(yè)的部分而一起擦除(通常為同時(shí)擦除)。擦除塊為擦除
      的最小單位。
      圖2的個(gè)別存儲(chǔ)單元擦除塊的尺寸可各不相同,但一種市面上所采用的形式是在 個(gè)別擦除塊中包含單個(gè)數(shù)據(jù)扇區(qū)。此數(shù)據(jù)扇區(qū)的內(nèi)容圖解說明于圖3中。用戶數(shù)據(jù)51 通常為512個(gè)字節(jié)。除用戶數(shù)據(jù)51之外,還具有開銷數(shù)據(jù),開銷數(shù)據(jù)包含根據(jù)用戶數(shù) 據(jù)計(jì)算出的ECC53、關(guān)于扇區(qū)數(shù)據(jù)及/或關(guān)于其中編程扇區(qū)的擦除塊的參數(shù)55、及根 據(jù)參數(shù)55計(jì)算出的ECC57、及任何其它可能會(huì)包含的開銷數(shù)據(jù)。另一選擇為,可依 據(jù)用戶數(shù)據(jù)51及參數(shù)55兩者來計(jì)算單個(gè)ECC。
      參數(shù)55可包含關(guān)于所述擦除塊經(jīng)歷的編程/擦除循環(huán)次數(shù)的數(shù)量,這個(gè)數(shù)量在每
      一循環(huán)或某一循環(huán)數(shù)量之后更新。當(dāng)在損耗平衡算法中使用此經(jīng)歷數(shù)量時(shí),邏輯塊地 址規(guī)律地重新映射至不同的物理塊地址以平均對(duì)所有擦除塊的使用(損耗)。所述經(jīng)歷 數(shù)量的另一使用是根據(jù)不同擦除塊所經(jīng)歷的循環(huán)數(shù)量來改變電壓及其它編程、讀取及/ 或擦除參數(shù)。
      參數(shù)55也可包含有關(guān)位值的指示,所述位值被指配至存儲(chǔ)單元的存儲(chǔ)狀態(tài)的每 一存儲(chǔ)狀態(tài)(通常稱作其"旋轉(zhuǎn)")。此也會(huì)在損耗平衡方面具有有益的效果。也可在指
      示現(xiàn)狀或狀態(tài)的參數(shù)55中包含一個(gè)或一個(gè)以上旗標(biāo)。也可在參數(shù)55內(nèi)存儲(chǔ)要用于編
      程及/或擦除所述擦除塊的電壓電平的指示,這些電壓會(huì)在擦除塊經(jīng)歷所述循環(huán)次數(shù)及
      其它因素改變時(shí)得到更新。參數(shù)55的其它實(shí)例包含擦除塊內(nèi)任何缺陷單元的標(biāo)識(shí),
      映射至此物理塊內(nèi)的數(shù)據(jù)的邏輯地址、及假如主要擦除塊為缺陷時(shí)任一替代擦除塊的
      地址。在任一存儲(chǔ)器系統(tǒng)中所用使用的參數(shù)55的特定組合將因設(shè)計(jì)而異。同樣,也可 將某些或所有開銷數(shù)據(jù)存儲(chǔ)于專用于此功能的擦除塊中,而非存儲(chǔ)于包含用戶數(shù)據(jù)的 擦除塊或與開銷數(shù)據(jù)相關(guān)的擦除塊中。
      與圖2的單個(gè)數(shù)據(jù)扇區(qū)擦除塊不同的是圖4的多扇區(qū)擦除塊。實(shí)例性擦除塊59 (其仍為最小擦除單位)包含四個(gè)頁面0-3,其中每一頁面均為最小編程單位。在每 一頁面中均存儲(chǔ)有一個(gè)或一個(gè)以上主機(jī)數(shù)據(jù)扇區(qū),所述一個(gè)或一個(gè)以上主機(jī)數(shù)據(jù)扇區(qū) 通常與至少包含根據(jù)所述扇區(qū)的數(shù)據(jù)計(jì)算出的ECC的開銷數(shù)據(jù)一起存儲(chǔ),且可呈現(xiàn)圖 3的數(shù)據(jù)扇區(qū)的形式。
      重新寫入整個(gè)擦除塊的數(shù)據(jù)通常涉及將新數(shù)據(jù)編程至擦除塊池的可用擦除塊內(nèi), 然后擦除原始擦除塊并將其置于擦除池內(nèi)。當(dāng)更新少于擦除塊的所有頁面的數(shù)據(jù)時(shí), 通常將己更新的數(shù)據(jù)存儲(chǔ)于來自擦除塊池的擦除塊的頁面中,并將剩余的未改動(dòng)頁面 次原始擦除塊拷貝至新擦除塊中。然后,擦除原始擦除塊。此種大塊管理技術(shù)的變化 形式包含將已更新的數(shù)據(jù)寫入另一擦除塊的頁面中,但并不將數(shù)據(jù)移出原始擦除塊 或擦除之。此會(huì)產(chǎn)生多個(gè)具有相同邏輯地址之的頁面。其中,最新的數(shù)據(jù)頁面是通過 某些習(xí)知技術(shù)來識(shí)別,例如,通過記錄為扇區(qū)或頁面開銷數(shù)據(jù)中的字段的編程時(shí)間來 識(shí)別。
      另一多扇區(qū)擦除塊布置圖解說明于圖5中。此處,將整個(gè)存儲(chǔ)單元陣列在物理上 劃分成兩個(gè)或兩個(gè)以上平面,圖中顯示為四個(gè)平面0-3。每一平面均為存儲(chǔ)單元子陣 列,所述子陣列具有其自己的數(shù)據(jù)暫存器、感測放大器、尋址譯碼器及類似器件,以 便能夠基本獨(dú)立于其它平面運(yùn)作。所有平面均可設(shè)置于單個(gè)集成電路裝置上或多個(gè)裝 置上,其實(shí)例是由一個(gè)或一個(gè)以上不同的集成電路裝置形成每一平面。圖5的實(shí)例性 系統(tǒng)中的每一擦除塊均包含16個(gè)頁面P0-P15,每一頁面具有為一個(gè)、兩個(gè)或兩個(gè)以 上主機(jī)數(shù)據(jù)扇區(qū)及某些開銷數(shù)據(jù)的容量。
      再一存儲(chǔ)單元布置圖解說明于圖6中。每一平面包含大量擦除塊。為增加作業(yè)的 并行程度,以邏輯方式鏈接芯片的不同平面內(nèi)的或來自不同芯片的擦除塊以形成元塊。 一個(gè)此種元塊圖解說明于圖6中。每一元塊均可邏輯尋址,且存儲(chǔ)器控制器會(huì)指配并
      跟蹤形成個(gè)別元塊的擦除塊。主機(jī)系統(tǒng)提供呈現(xiàn)扇區(qū)流形式的數(shù)據(jù)。此扇區(qū)流被劃分 成邏輯塊。此處,邏輯塊為數(shù)據(jù)的邏輯單位,其包含與包含于存儲(chǔ)器陣列的元塊中相 同數(shù)量的數(shù)據(jù)扇區(qū)。存儲(chǔ)器控制器維持其中存儲(chǔ)每一邏輯塊的位置的記錄。圖6的此 邏輯塊61 (舉例而言)由邏輯塊地址(LBA)來識(shí)別,所述邏輯塊地址由控制器映射
      構(gòu)成元塊的塊的物理塊編號(hào)(PBN)。所述元塊中的所有塊可一起擦除,且通常同時(shí)編
      程及讀取來自每一塊的頁面??蓪碜圆⑿芯幊痰脑獕K的不同擦除塊的頁面群組視為 元頁面。可將此視為使用元塊架構(gòu)的存儲(chǔ)器系統(tǒng)的編程單位。使用大元頁面(其延伸 跨越元塊的多個(gè)擦除塊)編程數(shù)據(jù)提供高的并行程度且因此允許高的數(shù)據(jù)存儲(chǔ)速率。 于使用元塊架構(gòu)的系統(tǒng)中,形成元塊的擦除塊群組可作為單個(gè)擦除塊來處理且可 簡單地稱作塊。類似地,延伸跨越元塊的擦除塊的頁面群組可作為單個(gè)頁面(或元頁
      面)來處理。本申請(qǐng)案中所述的某些技術(shù)即可實(shí)施于鏈接擦除塊以形成元塊的架構(gòu)中 還可實(shí)施于那些不鏈接擦除塊以形成元塊的架構(gòu)中。因此,本申請(qǐng)案中所用措詞"塊" 可表示單個(gè)擦除塊或經(jīng)鏈接以形成元塊的擦除塊群組。類似地,本申請(qǐng)案中所用措詞
      "頁面"可表示個(gè)別擦除塊的頁面或延伸跨越元塊的擦除塊的元頁面。
      圖7顯示每元頁面具有四個(gè)扇區(qū)的元塊72中所存儲(chǔ)群集的不對(duì)準(zhǔn)實(shí)例。以一系 列群集的形式從主機(jī)接收數(shù)據(jù),其中每一群集包括4個(gè)扇區(qū)。群集K延伸跨越兩個(gè)邏 輯塊。因此,群集K的部分(扇區(qū)X-3至X-l)處在第一邏輯塊74中而群集K的部分(扇 區(qū)X)處在第二邏輯塊76中。由于扇區(qū)X為第二邏輯塊的第一扇區(qū),因此其存儲(chǔ)于元 塊72的第一頁面(頁面0)內(nèi)。當(dāng)扇區(qū)X被寫時(shí),可將指示完成群集K的寫入的信號(hào)發(fā) 送至主機(jī)。然后,主機(jī)可發(fā)送群集K+1。群集K+1的第一部分(扇區(qū)X+1、 X+2及X+3) 存儲(chǔ)于具有扇區(qū)X的頁面O內(nèi)。然而,由于頁面僅存儲(chǔ)4個(gè)數(shù)據(jù)扇區(qū),因此扇區(qū)X+4 必須存儲(chǔ)于下一頁面(頁面l)內(nèi)。扇區(qū)X+4可在寫入至頁面1之前存儲(chǔ)于緩沖器中。 因此,需要第二頁面寫入作業(yè)來存儲(chǔ)群集K+l。類似地,后續(xù)群集K+2至K+N/4各自 需要兩次寫入作業(yè),這是因?yàn)槊恳蝗杭瘯?huì)因群集與頁面之間的不對(duì)準(zhǔn)而延伸至兩個(gè)頁 面內(nèi)。邏輯塊76的最終群集(群集K+N/4)部分地寫入至第三元塊78的第一頁面。因 此,不對(duì)準(zhǔn)延續(xù)于整個(gè)后續(xù)元塊上。由于在此實(shí)例中每一群集需要兩次寫入作業(yè),因 此存儲(chǔ)數(shù)據(jù)的時(shí)間可明顯長于假如以單個(gè)寫入作業(yè)寫入每一群集的情況。若群集不包 含呈頁面形式的相同數(shù)量數(shù)據(jù),則也可能存在這個(gè)問題。舉例而言,如果群集小于頁 面,則某些群集可寫入單個(gè)頁面內(nèi)而其它群集延伸至兩個(gè)頁面中。如果群集大于頁面, 則某些頁面可僅包含來組一個(gè)群集的數(shù)據(jù)而某些群集包含來自兩個(gè)群集的數(shù)據(jù)。因此, 和兩個(gè)頁面一樣大的群集可能需要三次寫入作業(yè)。
      圖8A顯示根據(jù)本發(fā)明實(shí)施例的主機(jī)群集與元塊72頁面的對(duì)準(zhǔn)實(shí)例。如前所述, 主機(jī)以連續(xù)次序發(fā)送一系列數(shù)據(jù)群集K至K+N/4,供存儲(chǔ)于存儲(chǔ)器中。存儲(chǔ)器包含多 個(gè)元塊,其中元塊是由多個(gè)可一起編程及擦除的擦除塊所構(gòu)成。對(duì)應(yīng)于元塊的數(shù)據(jù)單 位為邏輯塊。數(shù)據(jù)群集K至K+N/4延伸跨越3個(gè)邏輯塊74、 76、 78。當(dāng)接收到群集 K的扇區(qū)X時(shí),將扇區(qū)X存儲(chǔ)于元塊72的第一頁面(頁面O)內(nèi)。圖中所示扇區(qū)X的位 置指示其處于頁面0內(nèi)的最后位置中。接下來,當(dāng)接收到群集K+1的扇區(qū)X+l至X+4
      時(shí),則將這些扇區(qū)存儲(chǔ)于頁面l內(nèi)。將群集K+1與頁面1對(duì)準(zhǔn)以使群集K與群集K+1 之間的邊界(扇區(qū)X與扇區(qū)X+l之間的邊界)位于頁面0與頁面1之間頁面邊界的處。 因此,群集K+1的開始開始于頁面1的開始處而群集K+1視為與頁面1對(duì)準(zhǔn)。于此實(shí) 例中,群集的尺寸與頁面的尺寸相同以使群集K+1適合頁面1,從而使群集K+1的結(jié) 束也與頁面1的結(jié)束相吻合。群集K+2同樣與頁面2對(duì)準(zhǔn)。類似地,后續(xù)群集K+3 至K+N/4-l與相應(yīng)頁面3至N/4-l對(duì)準(zhǔn)。在將群集K+N/4-l寫入至頁面N/4-l之后, 從主機(jī)接收群集K+N/4。扇區(qū)X+N-3、 X+N-2及X+N-l均存儲(chǔ)于具有扇區(qū)X的元塊 72的第一頁面(頁面0)內(nèi)。因此,元塊72具有第一頁面(頁面0),所述第一頁面包含 來自邏輯塊76的首部的部分群集及來自邏輯塊76的尾部的部分群集。
      所述元塊的其它頁面各自包含一個(gè)群集以使這些頁面的每一頁面僅需要一次寫 入作業(yè)。與某些現(xiàn)有技術(shù)系統(tǒng)相比,此可允許將數(shù)據(jù)更快地寫入至存儲(chǔ)器陣列。
      于此實(shí)例中,可根據(jù)當(dāng)前命令的第一邏輯地址與邏輯塊中第一扇區(qū)的邏輯地址之 間的差來計(jì)算偏移。用于計(jì)算此偏移的公式為
      偏移=
      當(dāng)前命令的
      '每頁面的' 扇區(qū)數(shù)量
      一(每頁面的扇區(qū)數(shù)量)
      、、第1邏輯地址,、 ,,
      因此,對(duì)于圖8A的實(shí)例而言,計(jì)算變成
      偏移={(乂-3)模(4)}-4=1-4=-3
      圖8B圖解說明當(dāng)邏輯塊76的扇區(qū)的邏輯至物理映射中存在偏移時(shí)圖8A的重新 對(duì)準(zhǔn)方案,其中X=0。替代將邏輯塊76的第一邏輯扇區(qū)(扇區(qū)X)寫入至元塊72內(nèi)的 第一物理地址,將第一邏輯扇區(qū)寫入至第四物理地址??蓪⑵湟暈榇松葏^(qū)映射中為 -3(減去三)的偏移,其中零偏移為第一邏輯扇區(qū)至第一物理位置的映射。也可將其視為 N-3的偏移,這是因?yàn)榇鎯?chǔ)于第一物理位置中的扇區(qū)為扇區(qū)N-3。還以-3的偏移寫入 后續(xù)扇區(qū)直到達(dá)到元塊72的結(jié)束。然后,將邏輯塊76的最后三個(gè)扇區(qū)X+N-3、 X+N-2 及X+N-l寫入至元塊72的開始。這些扇區(qū)也可視為在環(huán)繞元塊的邏輯地址處以-3的 偏移寫入(將邏輯塊的第一地址視為接續(xù)邏輯塊的最后地址).因此,可使用邏輯塊76的 偏移來找出存儲(chǔ)于元塊72內(nèi)的數(shù)據(jù)扇區(qū)而不需要逐扇區(qū)的數(shù)據(jù)檢索。使用此類偏移 (或頁面標(biāo)簽)將數(shù)據(jù)存儲(chǔ)于元塊中進(jìn)一步闡述于2003年12月30日申請(qǐng)的題目為 "Non-volatile memory and method with block management system"的第10/750,155號(hào)專 利申請(qǐng)案中,且所述申請(qǐng)案以全文引用的方式并入本文中。盡管圖8A及8B的實(shí)例顯 示三個(gè)扇區(qū)(X+N-3、 X+N-2及X+N-l),所述三個(gè)扇區(qū)從要存儲(chǔ)于元塊72開始處的邏 輯塊76的結(jié)尾環(huán)繞,但以此方式環(huán)繞的扇區(qū)數(shù)量可從一個(gè)扇區(qū)至三個(gè)扇區(qū)。既定邏輯 塊的偏移尺寸可從一個(gè)到另一個(gè)地小于頁面中的扇區(qū)數(shù)量。
      某些存儲(chǔ)器的設(shè)計(jì)不允許對(duì)塊的同一頁面實(shí)施多次寫入作業(yè)。于此類型存儲(chǔ)器 中, 一旦已將數(shù)據(jù)寫入至頁面,則這個(gè)頁面不再寫入附加的數(shù)據(jù),因?yàn)楹罄m(xù)的編程可
      損壞已存入的數(shù)據(jù)。于此類型的存儲(chǔ)器中,圖8A中所示的存儲(chǔ)方案不可行,因?yàn)樵?br> 編程扇區(qū)X后,不可能對(duì)頁面O中的扇區(qū)X+N-3、 X+N-2及X+N-1進(jìn)行后續(xù)編程。同 樣,于某些設(shè)計(jì)中,僅可以連續(xù)次序?qū)懭腠撁?。舉例而言,首先寫入頁面0,隨后為 頁面l、頁面2等等。在寫入頁面l后,則不可寫入頁面O,這是因?yàn)榇宋窗错樞?。?這些設(shè)計(jì)中,在寫入頁面1至頁面N/4-l后,則不可能在頁面0中寫入任何數(shù)據(jù)。
      圖9A顯示本發(fā)明的另一實(shí)施例,所述實(shí)施例使用暫存塊91來實(shí)施對(duì)準(zhǔn)方案以使 群集與頁面對(duì)準(zhǔn)。暫存塊的使用闡述于與本申請(qǐng)案同一天申請(qǐng)的題目為"Scmtch pad block"的代理人案號(hào)為SNDK.406US0的美國專利申請(qǐng)案中,所述專利申請(qǐng)案以全文引 用的方式并入本文中。如在先前實(shí)例中,從主機(jī)接收一系列主機(jī)數(shù)據(jù)群集(群集K至 K+N/4)供存儲(chǔ)于存儲(chǔ)器陣列中。群集K包含來自第一邏輯塊74的扇區(qū)X-3至X-l及 來自第二邏輯塊76的扇區(qū)X。扇區(qū)X-3至X-l存儲(chǔ)于與第一邏輯塊74相關(guān)聯(lián)的元塊(未 顯示)內(nèi)。在接收到扇區(qū)X時(shí),并非將其緊接著存儲(chǔ)于元塊72內(nèi)。而是將扇區(qū)X存儲(chǔ) 于另一位置處。于此實(shí)例中,所述位置處在暫存塊91中。所述暫存塊為存f諸器陣列中 用于將各種數(shù)據(jù)短期存儲(chǔ)于非易失性存儲(chǔ)器中的塊。由于扇區(qū)X存儲(chǔ)于非易失性存儲(chǔ) 器中,因此如果從存儲(chǔ)器系統(tǒng)中移除電力,則扇區(qū)X將不會(huì)丟失。另一選擇為,可將 扇區(qū)X存儲(chǔ)于某一其它非易失性存儲(chǔ)器內(nèi)或者如果準(zhǔn)許,存儲(chǔ)于易失性存儲(chǔ)器內(nèi)。在 將扇區(qū)X存儲(chǔ)于暫存塊91內(nèi)之后,接收群集K+1。群集K+1存儲(chǔ)于頁面0內(nèi)且與頁 面0對(duì)準(zhǔn)。因此,群集K與群集K+1之間的邊界與頁面0的開始邊界相吻合。由于在 此實(shí)例中群集的尺寸與頁面的尺寸相同,群集K+1準(zhǔn)確地適合頁面0且群集K+l的結(jié) 束與頁面O的結(jié)束相吻合。類似地,后續(xù)群集K+2至K+N/4-l被單個(gè)地寫入至頁面。 當(dāng)接收到群集K+N/4時(shí),來自群集K+N/4(其來自邏輯塊76)的三個(gè)扇區(qū)(扇區(qū)X+N-3、 X+N-2及X+N-1)與扇區(qū)X (其拷貝自暫存塊91) 一起寫入頁面N/4-l內(nèi)。因此,于此 實(shí)例中,元塊72內(nèi)的最后頁面包含來自邏輯塊76首部的群集分段及來自邏輯塊76 尾部的群集分段。于不需要依續(xù)寫入頁面且允許多次寫入至相同頁面的存儲(chǔ)器中,在 接收到扇區(qū)X時(shí)不再將其存儲(chǔ)于另一位置處而是直接寫入至頁面N/4-l。
      可根據(jù)群集邊界與頁面邊界之間的差來計(jì)算用于此實(shí)例的偏移。此可根據(jù)當(dāng)前命
      令的第一邏輯地址與邏輯塊開始的邏輯地址之間的差求出。于一實(shí)例中,可從如下公
      式計(jì)算偏移
      偏移=(當(dāng)前命令的第一邏輯地址)模(每頁面的扇區(qū)數(shù)量)
      因此,于圖9A中,當(dāng)前命令的第一邏輯地址為X-3。因此,所述偏移為 偏移KX-3)模(4)
      KX-4+l)模(4)
      =1
      于此實(shí)例中,用于對(duì)準(zhǔn)的偏移可為從一個(gè)扇區(qū)至三個(gè)扇區(qū)。通常,偏移可為從零 (如果接收到的群集具有與邏輯塊邊界相吻合的邊界位置)至小于每頁面扇區(qū)數(shù)量的最 大數(shù)量。
      圖9B圖解說明當(dāng)邏輯塊76的扇區(qū)的邏輯至物理映射中存在偏移時(shí)圖9A的重新 對(duì)準(zhǔn)方案,其中X=0。替代將邏輯塊76的第一邏輯扇區(qū)(扇區(qū)X)寫入至元塊72內(nèi)的 第一物理地址,將第一邏輯扇區(qū)寫入至最后物理地址??蓪⑵湟暈榇松葏^(qū)映^t中為1 (一)的偏移,其中環(huán)繞元塊的地址(將邏輯塊76的第一地址視為接續(xù)邏輯塊76的最 后地址)。也以為1的偏移寫入其它扇區(qū)。因此,接收第二扇區(qū)時(shí),扇區(qū)X+1去至第一 物理地址等??墒褂眠壿媺K76的偏移來找出存儲(chǔ)于元塊72中的數(shù)據(jù)而無需逐扇區(qū)的 數(shù)據(jù)檢索。使用此類型偏移(或頁面標(biāo)簽)在元塊中存儲(chǔ)數(shù)據(jù)進(jìn)一步闡述于第10/750,155 號(hào)專利申請(qǐng)案中。
      圖8及9的實(shí)例顯示各具有四個(gè)扇區(qū)的群集及頁面。然而,所闡述的原理可應(yīng)用 于各種尺寸的群集及頁面。群集可延伸于多個(gè)頁面上且仍與頁面對(duì)準(zhǔn)。舉例而言,如 圖10中所示,8個(gè)扇區(qū)的群集可與具有四個(gè)扇區(qū)的頁面對(duì)準(zhǔn)。圖10的群集完全占據(jù) 元塊72的2個(gè)頁面,其中假如未對(duì)準(zhǔn),則群集可延伸跨越3個(gè)頁面。因此,對(duì)準(zhǔn)可通 過將每群集的寫入次數(shù)從3減至2來改進(jìn)效率。于此實(shí)例中,每一群集邊界均與頁面 邊界相吻合,雖然并非每一頁面邊界均與群集邊界相吻合。
      群集可小于頁面而仍與頁面對(duì)準(zhǔn)。舉例而言,群集可包含16個(gè)扇區(qū)而頁面可包 含64個(gè)扇區(qū)。在不進(jìn)行對(duì)準(zhǔn)的情況下,某些群集可延伸跨越兩個(gè)頁面且需要兩次寫入 作業(yè)。在進(jìn)行對(duì)準(zhǔn)的情況下,這些群集寫入至單個(gè)頁面,因此改進(jìn)效率。于此實(shí)例中, 每一頁面邊界均與群集邊界相吻合,雖然并非每一群集邊界均與頁面邊界相吻合。
      可根據(jù)要寫入數(shù)據(jù)的開始地址與邏輯塊的開始地址之間的差來導(dǎo)出邏輯塊的偏 移。邏輯塊的開始將為頁面的開始且主機(jī)在群集的開始處開始寫入數(shù)據(jù)。因此,這兩 個(gè)地址之間的差給出群集邊界與邏輯塊邊界之間的差。當(dāng)將此差除以每頁面的扇區(qū)數(shù) 量時(shí),可根據(jù)余數(shù)來計(jì)算偏移。如果余數(shù)為零(所述差為整數(shù)頁面),則可將邊界視為 對(duì)準(zhǔn)。 一種存儲(chǔ)邏輯塊偏移的方法是記錄存儲(chǔ)于邏輯塊的第一物理地址內(nèi)的扇區(qū)的邏 輯地址。
      可根據(jù)存儲(chǔ)于存儲(chǔ)器內(nèi)的主機(jī)數(shù)據(jù)的第一扇區(qū)的邏輯地址來導(dǎo)出偏移。通常,于 DOS系統(tǒng)中,邏輯地址空間的第一部分專用于系統(tǒng)信息,例如根扇區(qū)、 一個(gè)或一個(gè)以 上文件分配表(FAT)、根目錄及子目錄。主機(jī)數(shù)據(jù)緊接著系統(tǒng)信息存儲(chǔ)以便在系統(tǒng)信息 的結(jié)束后第一群集開始。因此,如果已知系統(tǒng)信息的邏輯地址范圍,則可獲得第一群 集的開始位置??蓮母葏^(qū)中找出系統(tǒng)信息的邏輯地址范圍,所述根扇區(qū)記錄FAT(或 多個(gè)FAT)及目錄的位置。根扇區(qū)也指示每群集的扇區(qū)數(shù)量以便可從根扇區(qū)中獲得所有 的群集邊界位置。
      于某些系統(tǒng)中,存儲(chǔ)器陣列可分割成兩個(gè)或兩個(gè)以上分區(qū),在某些方面,所述分 區(qū)可單獨(dú)地運(yùn)作。所述陣列的個(gè)別分區(qū)可具有專用于所述分區(qū)的系統(tǒng)信息邏輯地址空 間的部分。于這些系統(tǒng)中,可根據(jù)存儲(chǔ)于分區(qū)中的主機(jī)數(shù)據(jù)的第一扇區(qū)位置為不同的 分區(qū)導(dǎo)出不同的偏移。因此,相同存儲(chǔ)器陣列內(nèi)的不同分區(qū)可以不同偏移來運(yùn)作,以 使每一分區(qū)以與頁面對(duì)準(zhǔn)的群集來存儲(chǔ)數(shù)據(jù)。
      根據(jù)本發(fā)明的一實(shí)施例,邏輯塊地址格式可包含邏輯塊的偏移(頁面標(biāo)簽)。因此, 無需讀取前面的塊,即可確定元塊中扇區(qū)的物理位置。
      由于為每一邏輯塊維持單獨(dú)偏移,因此不同的邏輯塊可具有不同的偏移。當(dāng)主機(jī) 改變?nèi)杭吔缥恢脮r(shí),對(duì)準(zhǔn)會(huì)因新數(shù)據(jù)而改變。其它元塊中先前寫入的數(shù)據(jù)可保持不 受干擾,這是因?yàn)樗鰯?shù)據(jù)無需以新的對(duì)準(zhǔn)重新寫入。 一個(gè)邏輯塊中的偏移改變未必 會(huì)影響鄰近的邏輯塊的偏移,這是因?yàn)槠苾H影響對(duì)應(yīng)邏輯塊的邏輯地址范圍內(nèi)的扇 區(qū)。相同邏輯地址范圍仍保持映射至特定邏輯塊以使偏移僅在所述范圍內(nèi)提供對(duì)準(zhǔn)。
      于另一實(shí)施例中,上述原理可應(yīng)用于邏輯群組的單位而非應(yīng)用于邏輯塊的單位。 于此實(shí)施例中,針對(duì)邏輯群組而非邏輯塊計(jì)算偏移。邏輯群組為數(shù)據(jù)單位,其保存等 于存儲(chǔ)器陣列的一個(gè)擦除塊中的數(shù)據(jù)的數(shù)據(jù)。因此,邏輯塊包含整數(shù)的邏輯群組。邏
      輯群組的詳細(xì)說明提供于2004年5月7日申請(qǐng)的題目為"Data boundary management" 的美國專利申請(qǐng)案10/841,118中,所述專利申請(qǐng)案以全文引用的方式并入本文中。于 某些存儲(chǔ)器系統(tǒng)中,可以邏輯群組為單位跟蹤存儲(chǔ)器內(nèi)數(shù)據(jù)的物理位置。在這些存儲(chǔ) 器系統(tǒng)中,可針對(duì)每一邏輯群組導(dǎo)出偏移。在這些系統(tǒng)中,邏輯群組地址格式可包含 用于所述邏輯群組的偏移且不同的邏輯群組可具有不同的偏移。于其它實(shí)施例中,可 針對(duì)具有少于塊內(nèi)數(shù)據(jù)的單位維持偏移。舉例而言,可使用包含塊的數(shù)據(jù)的一半、四
      分之一或某一其它份額的單位,其中針對(duì)每一單位導(dǎo)出不同的偏移。因此,數(shù)據(jù)可以 不同尺寸的單位對(duì)準(zhǔn)。
      于某些存儲(chǔ)器系統(tǒng)中,出于各種原因提供偏移。舉例而言,于第10/750,155號(hào)美 國專利申請(qǐng)案中,偏移允許迅速地寫入所接收的數(shù)據(jù)而無需首先拷貝數(shù)據(jù)扇區(qū)??蓪?這些偏移與根據(jù)本發(fā)明計(jì)算的偏移相結(jié)合以獲得用于數(shù)據(jù)存儲(chǔ)的最終偏移值。舉例而 言,如果接收到的數(shù)據(jù)具有在邏輯塊的邏輯地址范圍中間的邏輯地址,則可根據(jù)第一 偏移將所述數(shù)據(jù)寫入至元塊的開始。然而,附加的偏移可使數(shù)據(jù)與頁面邊界對(duì)準(zhǔn)以使 最終偏移由兩個(gè)分量構(gòu)成。
      雖然上文已全面闡述了各具體實(shí)施例,但也可使用各種修改形式、替代構(gòu)造及等 效形式。因此,上文說明及例示不應(yīng)視為限定由隨附權(quán)利要求書所界定的本發(fā)明的范 圍。
      權(quán)利要求
      1、一種在連接至主機(jī)的非易失性存儲(chǔ)器陣列中存儲(chǔ)可尋址數(shù)據(jù)包的方法,所述存儲(chǔ)器陣列具有塊的擦除單位,其中所述存儲(chǔ)器陣列的一個(gè)塊保持一個(gè)數(shù)據(jù)邏輯塊,由可尋址數(shù)據(jù)包形成的邏輯塊從第一可尋址數(shù)據(jù)包依序延伸至最后可尋址數(shù)據(jù)包,所述主機(jī)以群集為單位分配數(shù)據(jù),一群集包含多個(gè)可尋址數(shù)據(jù)包,所述方法包括針對(duì)從主機(jī)接收的供存儲(chǔ)于塊內(nèi)的數(shù)據(jù),確定邏輯塊邊界與群集邊界之間的偏移;根據(jù)所述偏移在所述塊內(nèi)選擇物理位置來寫入所述接收的數(shù)據(jù)的多個(gè)群集,以使個(gè)別群集邊界位于頁面邊界處;及將包含所述第一可尋址數(shù)據(jù)包的第一部分群集及包含所述最后可尋址數(shù)據(jù)包的最后部分群集寫入至所述塊的頁面。
      2、 如權(quán)利要求1所述的方法,其中將所述第一部分群集及所述最后部分群集寫 入至所述塊的最后頁面。
      3、 如權(quán)利要求2所述的方法,其中在寫入至所述塊的所述最后頁面前,將所述 第一部分群集存儲(chǔ)于所述元塊外面。
      4、 如權(quán)利要求1所述的方法,其中將所述第一部分群集及所述最后部分群集寫 入至所述塊的第一頁面。
      5、 如權(quán)利要求4所述的方法,其中將所述第一部分群集直接存儲(chǔ)在所述塊的所 述第一頁面內(nèi)且隨后也將所述最后部分群集存儲(chǔ)在所述塊的所述第一頁面內(nèi)。
      6、 如權(quán)利要求1所述的方法,其中所述塊由多個(gè)頁面組成且所述塊中除包含所 述第一及最后部分群集的所述頁面外的所有頁面均包含存儲(chǔ)時(shí)群集邊界位于頁面邊界 處的群集。
      7、 一種在具有頁面編程單元及塊擦除單元的非易失性存儲(chǔ)器陣列中存儲(chǔ)從主機(jī) 接收的數(shù)據(jù)群集的方法, 一群集包含由主機(jī)共同分配的多個(gè)可尋址數(shù)據(jù)單元, 一塊包 含多個(gè)頁面,所述方法包括從主機(jī)接收多個(gè)數(shù)據(jù)群集;將所述多個(gè)群集映射至所述存儲(chǔ)器陣列的塊而不考慮群集邊界的位置; 導(dǎo)出群集邊界與所映射塊邊界之間的偏移;及以取決于所述導(dǎo)出偏移的方式將映射至塊的群集及群集的部分存儲(chǔ)在所述塊內(nèi) 的頁面中,以使群集之間的邊界出現(xiàn)在頁面邊界處而無需修改群集至塊的映射。
      8、 如權(quán)利要求7所述的方法,其中映射至所述塊的所述群集部分為第一群集的 第一部分及第二群集的第二部分,所述第一及第二部分共同存儲(chǔ)于所述塊的頁面內(nèi)。
      9、 如權(quán)利要求8所述的方法,其中映射至所述塊的所述群集及群集部分為從第 一邏輯地址延伸至最后邏輯地址的順序數(shù)據(jù),所述第一部分包含所述第一邏輯地址且 所述第二部分包含所述最后邏輯地址。
      10、 如權(quán)利要求7所述的方法,其中記錄指示所述塊的所述偏移的值。
      11、 一種將包含預(yù)定群集邊界的數(shù)據(jù)存儲(chǔ)于非易失性存儲(chǔ)器陣列的元塊中的方 法,元塊包括兩個(gè)或兩個(gè)以上可并行編程及擦除的擦除塊,擦除塊為所述非易失性存 儲(chǔ)器陣列的最小擦除單位,邏輯塊由等于一個(gè)元塊中的數(shù)據(jù)的數(shù)據(jù)組成,邏輯群組由 等于一個(gè)擦除塊中的數(shù)據(jù)的數(shù)據(jù)組成,所述方法包括接收數(shù)據(jù)以供存儲(chǔ)于非易失性存儲(chǔ)器中,所述數(shù)據(jù)由多個(gè)依序可尋址數(shù)據(jù)包組成;將來自第一群集的第一一個(gè)或一個(gè)以上可尋址數(shù)據(jù)包存儲(chǔ)于第一位置中,所述第 一群集包含來自第一邏輯群組的所述第一一個(gè)或一個(gè)以上可尋址數(shù)據(jù)包且也包含來自第二邏輯群組的第二一個(gè)或一個(gè)以上可尋址數(shù)據(jù)包;將后續(xù)的依序可尋址數(shù)據(jù)包存儲(chǔ)于第一元塊的頁面中,以使頁面邊界出現(xiàn)在群集邊界處;將來自最后群集的第三一個(gè)或一個(gè)以上可尋址數(shù)據(jù)包與所述第一一個(gè)或一個(gè)以 上可尋址數(shù)據(jù)包一起存儲(chǔ)于所述元塊的頁面中,所述最后群集包含來自所述第一邏輯 群組的所述第三一個(gè)或一個(gè)以上可尋址數(shù)據(jù)包且還包含來自第三邏輯群組的第四一個(gè) 或一個(gè)以上可尋址數(shù)據(jù)包。
      12、 如權(quán)利要求11所述的方法,其中所述第一位置處于第二元塊內(nèi)。
      13、 如權(quán)利要求11所述的方法,其中所述第一位置為所述元塊的頁面且在將所 述第一一個(gè)或一個(gè)以上可尋址數(shù)據(jù)包寫入至所述元塊的頁面之后將所述第三一個(gè)或一個(gè)以上可尋址數(shù)據(jù)包寫入至所述元塊的所述頁面。
      14、 如權(quán)利要求11所述的方法,其中所述第一邏輯群組中的數(shù)據(jù)接續(xù)所述第二 邏輯群組中的數(shù)據(jù)而所述第三邏輯群組中的數(shù)據(jù)接續(xù)所述第一邏輯群組中的數(shù)據(jù)。
      15、 如權(quán)利要求11所述的方法,其中所述第一、第二及第三邏輯群組均在存儲(chǔ) 于所述第一元塊中的邏輯塊內(nèi)。
      16、 一種用于將主機(jī)發(fā)送的可尋址數(shù)據(jù)包存儲(chǔ)于非易失性存儲(chǔ)媒體中的存儲(chǔ)器系 統(tǒng),所述存儲(chǔ)器系統(tǒng)包括控制器,其從主機(jī)接收可尋址數(shù)據(jù)包,可尋址數(shù)據(jù)包形成由所述主機(jī)分配給文件 的群集,群集包含多個(gè)可尋址數(shù)據(jù)包,所述控制器將一系列依序可尋址數(shù)據(jù)包映射至 邏輯單元而不考慮群集位置;及非易失性存儲(chǔ)器陣列,其與所述控制器通信,所述非易失性存儲(chǔ)器陣列具有多個(gè) 擦除塊,擦除塊為所述存儲(chǔ)器陣列的最小擦除單元, 一個(gè)或一個(gè)以上擦除塊經(jīng)指配以 存儲(chǔ)所述邏輯單元,所述一個(gè)或一個(gè)以上擦除塊可一起編程及擦除,所述一個(gè)或一個(gè) 以上擦除塊包含用于存儲(chǔ)可尋址數(shù)據(jù)包的物理位置,所述用于存儲(chǔ)所述系列的可尋址 數(shù)據(jù)包中的個(gè)別可尋址數(shù)據(jù)包的物理位置經(jīng)選擇以為所述邏輯單元內(nèi)的群集提供群集 與頁面的對(duì)準(zhǔn),而不需修改被映射至所述邏輯單元的所述系列的可尋址數(shù)據(jù)包。
      17、 如權(quán)利要求16所述的存儲(chǔ)器系統(tǒng),其中包含所述邏輯單元內(nèi)的部分及在所 述邏輯單元以外的部分的群集具有所述邏輯單元內(nèi)的一起存儲(chǔ)于所述邏輯單元的頁面 中的未群集與頁面對(duì)準(zhǔn)的所述部分。
      18、 如權(quán)利要求17所述的存儲(chǔ)器系統(tǒng),其中群集尺寸等于頁面尺寸且所述邏輯單元內(nèi)的所述部分占據(jù)所述一個(gè)或一個(gè)以上擦除塊的完整頁面。
      19、 如權(quán)利要求16所述的存儲(chǔ)器系統(tǒng),其中所述一個(gè)或一個(gè)以上擦除塊由兩個(gè) 或兩個(gè)以上擦除塊的元塊組成且所述邏輯單元為邏輯塊。
      20、 如權(quán)利要求16所述的存儲(chǔ)器系統(tǒng),其中所述一個(gè)或一個(gè)以上擦除塊由一個(gè) 擦除塊組成且所述邏輯單元為邏輯群組。
      21、 如權(quán)利要求16所述的存儲(chǔ)器系統(tǒng),其中所述存儲(chǔ)器系統(tǒng)被囊封于以可移除 方式連接至主機(jī)的存儲(chǔ)器卡內(nèi)。
      全文摘要
      提供非易失性存儲(chǔ)器系統(tǒng)中群集與頁面的對(duì)準(zhǔn),所述非易失性存儲(chǔ)器系統(tǒng)以群集形式從主機(jī)接收數(shù)據(jù)并以頁面為單位將數(shù)據(jù)寫入至存儲(chǔ)器陣列。使用邏輯至物理數(shù)據(jù)映射中的偏移來實(shí)施每一塊內(nèi)的對(duì)準(zhǔn)。不同的塊可具有不同的偏移。當(dāng)主機(jī)發(fā)送具有不同群集邊界位置的數(shù)據(jù)時(shí),可以不同的偏移來寫入數(shù)據(jù)以使數(shù)據(jù)維持對(duì)準(zhǔn)。
      文檔編號(hào)G06F3/06GK101099125SQ200580042257
      公開日2008年1月2日 申請(qǐng)日期2005年11月30日 優(yōu)先權(quán)日2004年12月16日
      發(fā)明者瑟吉·阿納托利耶維奇·戈羅別茨, 艾倫·戴維·貝內(nèi)特 申請(qǐng)人:桑迪士克股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1