国产精品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>

      用于模擬每單元單個位的nand閃存的每單元多個位的nand閃存的控制器的制作方法

      文檔序號:6749978閱讀:145來源:國知局
      專利名稱:用于模擬每單元單個位的nand閃存的每單元多個位的nand閃存的控制器的制作方法
      技術領域
      本公開一般涉及閃存器件,并更具體地涉及通過一種類型的NAND閃存器件(例如 每單元多個位(Multiple Bit per Cell) ( “MBC”)閃存器件)來模擬另一類型的NAND閃 存器件(例如每單元單個位(Single Bit per Cell) ( “SBC”)閃存器件)。
      背景技術
      多年來已知閃存器件、一種非易失存儲器器件。閃存器件包括存儲器單元的陣列, 其中每個存儲器單元由通常具有浮置柵極區(qū)、漏極區(qū)和源極區(qū)的半導體晶體管來實現(xiàn)。存 儲器單元可以具有通過控制在浮置柵極內存儲的電荷量來實現(xiàn)的兩個或更多不同的狀態(tài)。 即,每個狀態(tài)與存儲在浮置柵極內的不同電荷量相關。為了實際使用存儲器單元,其每個狀 態(tài)與二進制值相關。一種閃存器件是基于公知為“每單元單個位”(SBC)的技術的,其意味著SBC存儲 器器件中的每個存儲器單元存儲一位。每單元存儲一位意味著該單元被配置為處于(即存 儲)兩種可能狀態(tài)之一。通常,該單元的一個狀態(tài)與存儲在該單元的浮置柵極中的零電荷 相關。該狀態(tài)是該單元的“未寫入”狀態(tài),并且通常這表示二進制數(shù)字“1”。該單元的另一 狀態(tài)通常與浮置柵極中的某些負電荷量相關。該狀態(tài)是該單元的“已寫入”狀態(tài),并且通常 這表示二進制數(shù)字“0”。浮置柵極中的負電荷的存在導致該單元的晶體管的閾值電壓增加, 以及由此,必須被施加到晶體管的控制柵極以便致使晶體管導電的電壓增加。閃存器件能夠執(zhí)行三種操作向存儲器單元中寫(由于歷史原因,經(jīng)常稱作“編 程”)數(shù)據(jù)、從存儲器單元讀數(shù)據(jù)、以及從存儲器單元擦除數(shù)據(jù)。這些操作由外部主機設備 發(fā)起,但是由控制器本地處理。向存儲器單元中寫二進制數(shù)字(即“0”或“1”)涉及改變晶 體管的浮置柵極中的電荷以由此改變該單元的閾值電壓。讀取存儲在存儲器單元中的二進 制數(shù)字涉及檢查該單元的閾值電壓的電平-如果閾值電壓處于較高狀態(tài),則將位值譯為邏 輯值“0”。但是,如果閾值電壓處于較低狀態(tài),則將位值譯為邏輯值“1”。實際上,不需要準 確地讀取該單元的閾值電壓。而是,正確地標識該單元當前處于兩個狀態(tài)中的哪一個狀態(tài) 就足夠了。為了實現(xiàn)這點,必須將單元的閾值電壓與其值在兩個狀態(tài)之間的參考電壓相比 較,并確定該單元的閾值電壓是在參考值以下還是以上。對于許多種閃存,例如NAND閃存,不能在各個存儲器單元上進行寫和擦除操作, 而是,在各組存儲器單元上進行這些操作。在“頁”上進行寫操作,“頁”相對小(對于NAND 閃存器件來說,通常是512字節(jié)、2K字節(jié)或者4K字節(jié)),而在“塊”上進行擦除操作,“塊”大 于頁(對于NAND閃存器件來說,通常是32K字節(jié)或128K字節(jié))。另一種閃存器件是基于公知為“每單元多個位”(MBC)的技術。在MBC存儲器器件 中,每個存儲器單元存儲N位(N≥ 2),這意味著MBC存儲器單元被配置為存儲狀態(tài)。 例如,存儲2位的存儲器單元存儲四個狀態(tài),其每個與四個二進制值“00”、“01”、“10”、“11”
      之一相關。
      由于單元的狀態(tài)由該單元的閾值電壓表示,因此存儲兩位的MBC單元支持該單元 的閾值電壓的四個不同范圍。對于SBC單元,MBC單元的每個狀態(tài)實際上是一個電壓范圍 而不是單個電壓。當讀取單元的內容(即所存儲的二進制值)時,該單元的閾值電壓必須 與校正電壓范圍正確地相關。例如在Harari的美國專利No. 5434825中討論了 MBC快閃器 件。當最初構思閃存技術的概念時,MBC NAND快閃器件相對不成熟,而SBC器件很普 遍。因此,利用閃存技術的主機的傳統(tǒng)設計是面向SBC的,這導致其與MBC器件不兼容。因 此,即使MBC NAND技術已經(jīng)成熟、比SBC器件更具成本效率(至少在每美元的兆字節(jié)方面) 并已經(jīng)在市場上可獲得,但是基于MBC的NAND器件也不能由符合SBC的主機設備使用,這 阻止了 MBC技術的進一步發(fā)展,即使MBC器件比SBC器件提供了每個相同物理區(qū)域的更多 存儲容量。即使包含使用每單元的相同數(shù)量的位來存儲數(shù)據(jù)的存儲器單元,如果存儲器件 是由不同的存儲器廠商供應的,因為不存在對于NAND接口的標準,并且不同的廠商可以并 且確實使用不同種類的NAND接口,因此也可能存在其他的技術不匹配??朔思嫒菪詥栴}(即,使得MBC快閃器件和符合SBC的主機能夠彼此交互)并 不容易,因為SBC器件和MBC器件在幾個技術方面中本質不同。例如,SBC器件和MBC器件 利用不同大小的數(shù)據(jù)頁和數(shù)據(jù)塊。另外,因為SBC單元的兩個狀態(tài)之間的電壓間隔(“誤差 余量”)大于在MBC的每兩個相鄰狀態(tài)之間存在的誤差余量,因此SBC單元提供了更高水平 的可靠性,由于此原因,通常使用SBC單元來引導(boot)計算機系統(tǒng)。為了補償其相對低 的可靠性,MBC器件使用更強的誤差校正方案,例如更強的糾錯碼(ECC)。隨著SBC閃存器件提供了更高的可靠性和更快的響應性,已經(jīng)做出努力來將SBC 的能力與MBC組合。但是,這些努力指向僅改善MBC閃存器件的特定技術方面。一些現(xiàn)有 技術致力于引導方面,即其提供在MBC閃存器件中的特定區(qū)域中存儲初始化(即引導)程 序,以獲得與由“真正的” SBC技術提供的可靠性類似的引導可靠性。其他現(xiàn)有技術致力于 可靠性方面,并提供了更強的誤差校正機制。其他現(xiàn)有技術致力于響應速度方面并允許在 MBC器件中專用和使用SLC緩存,等等。但是,現(xiàn)有技術未教導將SBC數(shù)據(jù)寫入MBC閃存器 件中作為常規(guī)MBC數(shù)據(jù),或者從MBC數(shù)據(jù)中讀取SBC數(shù)據(jù)。

      發(fā)明內容
      結合意為示例和圖示而非在范圍上限制的系統(tǒng)、工具和方法來描述和圖示以下示 例實施例及其方面。作為本公開的一部分,提供了一種用于將主機數(shù)據(jù)寫入到閃存器件中的方法,該 方法包括通過閃存器件的控制器從主機設備接收寫指令,用于將主機數(shù)據(jù)寫入被分組成 單獨可寫的器件頁的NAND閃存單元陣列中??刂破骺梢詫⒅鳈C數(shù)據(jù)與補充數(shù)據(jù)集合,由此 創(chuàng)建可存儲在所述器件頁中的一個或多個中的器件數(shù)據(jù),然后將所述器件數(shù)據(jù)寫入所述器 件頁中的一個或多個中。作為本公開的一部分,提供了一種用于從閃存器件讀取主機數(shù)據(jù)的方法,該方法 包括步驟從主機設備接收讀指令,用于從被分組成單獨可讀的器件頁的NAND閃存單元的 陣列中讀取主機數(shù)據(jù),所述主機數(shù)據(jù)是被存儲在器件頁中的器件數(shù)據(jù)的一部分;從所述器 件數(shù)據(jù)解析所述主機數(shù)據(jù);以及將解析的主機數(shù)據(jù)發(fā)送到主機設備。
      作為本公開的一部分,提供了一種執(zhí)行用于從閃存器件擦除主機數(shù)據(jù)的擦除指令 的方法,該方法包括步驟從主機設備接收擦除指令,用于從被分組成可單獨擦除的器件塊 的NAND閃存單元的陣列中擦除主機數(shù)據(jù),所述主機數(shù)據(jù)是被存儲在器件塊中的器件數(shù)據(jù) 的一部分;將所述主機數(shù)據(jù)標記為被擦除;以及向主機設備發(fā)送主機數(shù)據(jù)已經(jīng)被擦除的消 息。該方法還可以包括實際擦除包含主機數(shù)據(jù)的器件塊的步驟。作為本公開的一部分,提供了一種用于閃存器件的控制器,其實現(xiàn)寫入、讀取和擦 除方法。該控制器可以包括主機NAND接口,用于從NAND主機設備接收主機數(shù)據(jù);以及數(shù) 據(jù)集合器,用于將主機數(shù)據(jù)與補充數(shù)據(jù)集合,由此創(chuàng)建器件數(shù)據(jù)。該控制器可以將器件數(shù)據(jù) 寫入與閃存器件相關的NAND閃存單元的陣列的器件頁中。該控制器還包括數(shù)據(jù)解析器,用 于當控制器執(zhí)行數(shù)據(jù)寫入操作時,解析補充數(shù)據(jù),并當控制器執(zhí)行數(shù)據(jù)讀取操作時,解析主 機數(shù)據(jù)。主機數(shù)據(jù)可以被構造用于按每單元M位地存儲數(shù)據(jù)的存儲器單元的NAND陣列,并 且NAND閃存單元可以被設計為按每單元N位地存儲數(shù)據(jù),其中N和M是整數(shù)并且N大于M0 在一個示例實施例中,N等于2并且M等于1。在另一示例實施例中,N等于4并且M等于 1。在另一示例實施例中,N等于4并且M等于2。除了以上所述的示例方面和實施例以外,通過參考附圖并通過學習以下詳細描 述,進一步的方面和實施例將變得顯而易見。


      在參考的附圖中圖示了示例實施例。意要在此公開的示例實施例是圖示的而不 是限制性的。但是,當結合附圖閱讀時,參考以下詳細描述可以更好地理解本公開,在附圖 中圖1示意性圖示了根據(jù)本公開的一個示例實施例的閃存器件;圖2示出了根據(jù)本公開的一個示例實施例的用于由閃存器件處理主機命令序列 的示例方法;以及圖3示出了根據(jù)本公開的示例實施例的偽PPP的使用。將認識到,為了簡化并清楚圖示,圖中所示的元件不是必須按比例繪出的。此外, 在認為適當時,可以在各圖中重復參考標記以指示相同、相應或者類似的元件。
      具體實施例方式通過參考本發(fā)明的示例實施例的此具體實施方式
      ,將更好地理解權利要求書。此具體實施方式
      不是意要限制本發(fā)明的范圍而是提供示例。如上所述,NAND閃存器件被設計為在分別處理的頁中存儲數(shù)據(jù)。取決于主機設備 所發(fā)起的操作的類型(即,將主機數(shù)據(jù)寫到閃存器件中、從閃存器件中讀取主機數(shù)據(jù)或者 從閃存器件中擦除主機數(shù)據(jù)),“分別處理的頁”可以指代“分別可寫”或者“分別可讀”的 頁。當涉及“擦除”操作時,按塊來擦除數(shù)據(jù),其中每個塊由幾頁構成。“頁”的大小和塊的 大小取決于NAND閃存器件的類型,并且如上所述,由同一閃存器件處理各種大小的數(shù)據(jù)頁 并不容易,因為通常NAND閃存器件被設計或者至少被最優(yōu)化用于特定的頁和塊大小。由于 此原因,被設計用于某種頁大小的主機設備通常不能、至少不能高效地與被設計用于不同
      6頁大小的閃存器件交互。通常,源自主機設備的“命令序列,,可以包括數(shù)據(jù)(下文中稱為“主機數(shù)據(jù)”)、與 閃存器件內的物理頁相關的邏輯頁地址以及用于閃存器件使用該邏輯地址將主機數(shù)據(jù)寫 到物理頁中的寫指令。通過將主機邏輯地址映射到相應器件頁的邏輯地址、然后將器件頁 的邏輯地址映射到器件頁的物理地址來執(zhí)行從主機邏輯地址到器件頁的物理地址的映射。 或者,“命令序列”可以包括邏輯地址和用于閃存器件使用該邏輯地址從閃存器件的物理頁 中讀取主機數(shù)據(jù)的讀指令,或者包括邏輯地址和用于使用該邏輯地址從閃存器件中擦除主 機數(shù)據(jù)的擦除指令?!懊钚蛄小边€可以包括可以由閃存器件使用的管理數(shù)據(jù)和其他類型的 數(shù)據(jù)或信息。從主機設備轉發(fā)到閃存器件的命令序列在下文中被稱為“主機命令序列”。因 為在NAND快閃器件中,數(shù)據(jù)被分組成頁,可以說“主機數(shù)據(jù)”被分組成“主機頁”。圖1示出了根據(jù)本公開的一個示例實施例的閃存器件(在102示出)。NAND閃存 系統(tǒng)100包括NAND主機設備101和NAND閃存器件102,該NAND閃存器件102與主機設備 101接口。閃存器件102包括主機接口(I/F) 105、控制器103和用于按每單元N位來存儲 數(shù)據(jù)的NAND存儲器單元130的陣列,其中N等于或大于2。主機設備101經(jīng)由主機I/F 105將主機命令序列轉發(fā)(在104示出)到閃存器件 102。主機命令序列包括用于存儲在閃存器件102中的主機數(shù)據(jù),該主機數(shù)據(jù)被分組成小于 器件頁的大小的、按主機大小的頁。例如,如果主機設備101是被設計為與SBC閃存器件交 互的SBC器件,則主機數(shù)據(jù)具有SBC數(shù)據(jù)的大小和其他特性,同樣,主機命令序列是或者類 似于SBC命令序列。SBC頁的大小通常小于4K字節(jié)(例如2K字節(jié))??纱鎯υ诖鎯ζ鲉卧嚵?30中的數(shù)據(jù)在下文中被稱作“器件數(shù)據(jù)”,而在存儲器 單元陣列130內的用于存儲器件數(shù)據(jù)的存儲器單元的組在此被稱為“器件頁”。器件頁具有 與其相關的指示頁在存儲器單元陣列130內的相對位置的物理地址以及指示由主機設備 101所認知的頁的相對位置的邏輯地址兩者。通常,使用翻譯表來將一種類型的地址翻譯成 另一類型。例如,如果閃存器件是MBC器件,則器件頁具有MBC頁的大小和其他特性,同樣,作 為可由控制器103內部使用的命令序列的器件命令序列被構建或者構造(format)為符合 MBC技術。MBC頁的大小通常至少是4K字節(jié)。注意,在本公開的背景下,無論所涉及的技術 如何(例如SBC、MBC等),主機數(shù)據(jù)都小于器件數(shù)據(jù)。閃存器件通常包括整體快閃控制器(在圖1中未示出),用于管理存儲器器件與其 主機設備之間的數(shù)據(jù)交換以及各種內部處理(例如磨損均衡(wear leveling))。如果閃存 器件和其主機設備使用相同的頁大小和相同的塊大小而工作,則閃存器件可以不使用諸如 圖1的控制器103的控制器而與其主機設備交互。但是,本公開適用于符合不同技術(例 如SBC vs. MBC)的主機設備101和閃存器件102,而且還適用于基于相同技術(例如MBC) 但使用不兼容的NAND接口的主機設備和閃存器件。如上所述,主機設備101可以符合SBC 技術,而閃存器件102可以符合MBC技術??刂破?03按如下所述的方式來解決主機101 和閃存器件102之間的技術差異??刂破?03包括主機命令解析器(parser) ( “HCP”)110、控制電路150、數(shù)據(jù)集合 器(aggregator) 120和數(shù)據(jù)解析器140。HCP 110連接到(在106示出)主機I/F 105、數(shù) 據(jù)集合器120 (在121示出)和控制電路150 (在151示出)。數(shù)據(jù)集合器120可以連接到諸如RAM 160的隨機存取存儲器(“RAM”)以臨時存儲主機數(shù)據(jù)以及可能的其他數(shù)據(jù)(例 如啞數(shù)據(jù)(dummy data))。數(shù)據(jù)集合器120連接到(在142示出)數(shù)據(jù)解析器140。數(shù)據(jù) 集合器120和數(shù)據(jù)解析器140連接到NAND存儲器單元陣列130 (分別在131和141示出)。 “ 數(shù)據(jù)”指的是可由控制器103標識為除了表示在器件頁內的空閑空間外不具有任何含義 的數(shù)據(jù)的特定數(shù)據(jù),并且不可由諸如主機設備101的外部設備訪問??刂破?03被適配或配置為經(jīng)由主機I/F 105從主機設備101接收主機命令序 列(例如SBC命令序列)來處理主機數(shù)據(jù),該主機數(shù)據(jù)可能是SBC數(shù)據(jù)。主機命令解析器 (HCP) 110被適配或配置為從該主機命令序列產(chǎn)生器件命令序列以與可應用于存儲器單元 陣列130的器件頁操作(例如MBC操作)一致地處理該主機數(shù)據(jù)。“處理主機數(shù)據(jù)”在此指 的是如下情況其中,主機命令序列可能實際上包括用于存儲在(寫入或被編程到)閃存器 件中的主機數(shù)據(jù),或者主機數(shù)據(jù)已經(jīng)被存儲在閃存器件中并需要從存儲器單元陣列130中 讀出或擦除。主機命令解析器(HCP) 110通過將主機命令序列解析為主機操作碼(opcode) (“HOC”)111、主機邏輯地址(“HLA”)112和主機數(shù)據(jù)113,(如需要的話)翻譯可由閃存 器件102使用的操作碼,來產(chǎn)生器件命令序列。如下所述處理從主機命令序列解析的數(shù)據(jù) (即主機數(shù)據(jù))?!爸鳈C數(shù)據(jù)”可以指與要處理(即,寫入、讀取或擦除)的數(shù)據(jù)相關的數(shù)據(jù)、 元數(shù)據(jù)和/或管理數(shù)據(jù)。替換實施例可以包括更多、更少、其他的或者功能上等效的模塊、組件或元件。例 如,傳統(tǒng)的閃存器件包括快閃管理器,即管理入口(ingress)和出口(egress)數(shù)據(jù)以及諸 如磨損均衡、邏輯地址到物理地址的翻譯和反過來的翻譯的其它內部處理的一種控制器。 因此,圖1的控制器103可以是與快閃管理器交互的單獨的器件,或者快閃管理器的功能性 可以被集成、嵌入或結合到控制器103中。盡管在圖1中被示出為單獨的組件,但是主機接 口 105可以是控制器103的構成部分。盡管在圖1中被示出為控制器103的構成部分,但 是RAM 160或翻譯表154或者兩者可以存在于控制器103的外部?!皩憽辈僮魅绻跈z查了主機操作碼111后,HCP 110確定主機命令序列包括將主機數(shù)據(jù)寫 入存儲器單元陣列130中的寫指令,則如果該寫指令不是兼容存儲器器件的,則HCP 110將 主機的寫命令翻譯成可由閃存器件102使用的寫指令。否則(即,不需要指令翻譯),控制 電路150可以照原樣利用該主機寫指令。從而,HCP 110將原始寫指令或(即如果該寫指 令不可由閃存器件102使用)其翻譯轉發(fā)(在151示出)到控制電路150。然后控制電路 150可以控制數(shù)據(jù)集合器120的操作(在153示出)以及如需要的話還可以控制數(shù)據(jù)解析 器140的操作(在152示出),以遵循主機設備發(fā)出的寫指令。參考標記170指定在所接收的主機命令序列中的從主機設備101接收的示例主機 數(shù)據(jù)。如果操作碼111是寫指令,這意味著控制器103必須將主機數(shù)據(jù)170寫到存儲器單 元陣列130中。在這些情況下,HCP 110將作為示例主機數(shù)據(jù)113的主機數(shù)據(jù)170轉發(fā)(在 121示出)到數(shù)據(jù)集合器120用于處理。參考標記173、174和175指定僅具有與器件頁相同大小(例如4KB)的器件數(shù)據(jù) 能被寫入的、或者能從其讀取具有與器件頁相同大小的數(shù)據(jù)的示例器件頁。為了簡化,圖1 僅示出了三個示例器件頁(即器件頁173、174和175),而實際上存儲器單元陣列130將具有大量器件頁。因為主機數(shù)據(jù)170小于器件頁(例如器件頁175),并且由于與每個頁大小 相關的各種技術復雜性,主機數(shù)據(jù)170不能照原樣被寫入存儲器單元陣列130中,而是必須 在控制器103將其寫入存儲器單元陣列130中之前被控制器103處理。為了將主機數(shù)據(jù)170 (或者用于該主題的任何其他主機數(shù)據(jù))寫入存儲器單元陣 列130中,控制器103包括數(shù)據(jù)集合器120,其被適配或配置為創(chuàng)建可存儲在存儲器單元陣 列130中的一個或多個器件頁中、例如在器件頁175中的器件數(shù)據(jù)。數(shù)據(jù)集合器120通過 將主機數(shù)據(jù)170與補充數(shù)據(jù)集合來創(chuàng)建器件數(shù)據(jù)。在完成數(shù)據(jù)集合處理后,數(shù)據(jù)集合器120 將新創(chuàng)建的器件數(shù)據(jù)寫到(在131示出)例如器件頁173、174和175中的一個或多個中。數(shù)據(jù)集合器120可以使用各種選擇將主機數(shù)據(jù)與補充數(shù)據(jù)集合。根據(jù)第一選擇, 補充數(shù)據(jù)是從主機設備101接收的并被在閃存器件102中排隊的其他主機數(shù)據(jù)。該選擇包 含等待直到從主機設備101接收到足夠數(shù)量的新主機數(shù)據(jù)并將其在例如隨機存取存儲器 (RAM) 160中排隊。在沒有足夠數(shù)量的主機數(shù)據(jù)被排隊在閃存器件102中的情況下,可以采用第二選 擇,其包含從存儲器單元陣列130中讀取剩余的補充數(shù)據(jù)。為了便于第二選擇,控制電路 150向數(shù)據(jù)解析器140發(fā)送(在152示出)器件頁173、174和175的與需要的一樣多的物 理地址,數(shù)據(jù)解析器140可以從這些物理地址讀取剩余的補充數(shù)據(jù)(即使不存在不足夠數(shù) 量的主機數(shù)據(jù)被排隊在閃存器件102中的情況也能夠采用此第二選擇)。數(shù)據(jù)解析器140 通過使用物理地址從被尋址的器件頁提取相應的器件數(shù)據(jù)來從存儲器單元陣列130讀取 數(shù)據(jù)。如果要讀取的數(shù)據(jù)是主機數(shù)據(jù),則數(shù)據(jù)解析器140從器件數(shù)據(jù)解析主機數(shù)據(jù)。第三選擇包含僅在規(guī)定的時間段內沒有主機數(shù)據(jù)到達的情況下從存儲器單元陣 列130提取補充數(shù)據(jù)。第四選擇包含將當前接收的主機數(shù)據(jù)臨時存儲在存儲器單元陣列 130中的某器件頁中(即器件頁173、174、175或任何其他的器件頁中),并在接收到附加的 主機數(shù)據(jù)后,稍后將該當前接收的主機數(shù)據(jù)與補充數(shù)據(jù)集合。關于器件頁的物理地址,如果控制電路150例如通過使用翻譯表154發(fā)現(xiàn)潛在的 補充數(shù)據(jù)被存儲在一個具體器件頁中,則控制電路150可以僅將該具體器件頁(例如器件 頁175)的物理地址發(fā)送(在152示出)到數(shù)據(jù)解析器140。但是,如果控制電路150發(fā)現(xiàn) 潛在的補充數(shù)據(jù)被分布在存儲器單元陣列130內的幾個器件頁之中,則控制電路150將分 別對應于這幾個器件頁的幾個物理地址發(fā)送(在152示出)到數(shù)據(jù)解析器140。然后,數(shù)據(jù)解析器140利用從控制電路150發(fā)送的物理地址從存儲器單元陣列130 中提取(在141示出)器件數(shù)據(jù),數(shù)據(jù)解析器140可以從該器件數(shù)據(jù)中解析所需的補充數(shù) 據(jù)。然后,數(shù)據(jù)解析器140可以將該補充數(shù)據(jù)轉發(fā)(在142示出)到數(shù)據(jù)集合器120,該數(shù) 據(jù)集合器120將其與主機數(shù)據(jù)集合由此創(chuàng)建新的器件數(shù)據(jù)。然后,數(shù)據(jù)集合器120將該器 件數(shù)據(jù)寫到(在131示出)已經(jīng)從控制電路150發(fā)送了(在153示出)其物理地址的目標 器件頁中(例如器件頁175),以由此完成“寫”指令111。注意,如以下結合圖3所討論的, 該補充數(shù)據(jù)可以是 數(shù)據(jù)。即,要存儲在器件頁中的主機數(shù)據(jù)可以與 數(shù)據(jù)集合,并且該器 件頁將被控制器103認為是僅包含主機數(shù)據(jù)。通過示例,示出示例器件頁175包含主機數(shù) 據(jù)176、主機數(shù)據(jù)177和啞數(shù)據(jù)178。在此示例中,數(shù)據(jù)集合器120接收了主機數(shù)據(jù)176并 決定等待附加的主機數(shù)據(jù)177,然后將主機數(shù)據(jù)176和主機數(shù)據(jù)177兩者寫入閃存單元陣 列130中。在等待附加的主機數(shù)據(jù)(即主機數(shù)據(jù)177)時,數(shù)據(jù)集合器120將主機數(shù)據(jù)176臨時保存在RAM 160中。然后,數(shù)據(jù)集合器120接收了主機數(shù)據(jù)177,并將主機數(shù)據(jù)176與 主機數(shù)據(jù)177以及啞數(shù)據(jù)178集合。最終,數(shù)據(jù)集合器120將得到的集合數(shù)據(jù)寫到器件頁 175中,如圖1所示。注意,代替將器件頁的物理地址發(fā)送到數(shù)據(jù)解析器140 (如152所示)以及數(shù)據(jù)集 合器120 (如153所示),控制電路150可以使用器件頁的物理地址來從存儲器單元陣列130 中讀取感興趣的器件數(shù)據(jù),并視具體情況將其發(fā)送到數(shù)據(jù)解析器140或者數(shù)據(jù)集合器120?!白x”操作如果接收的操作碼111被控制電路150譯為“讀”指令,則控制電路150執(zhí)行“讀” 指令,在其器件控制電路150將主機邏輯地址112翻譯成存儲器單元陣列130內的器件頁 (下文中被稱為“被請求的器件頁”)的物理地址,其中應該從該器件頁讀取主機數(shù)據(jù)(下 文中被稱為“被請求的主機數(shù)據(jù)”)。因為主機數(shù)據(jù)被存儲在器件頁中作為器件數(shù)據(jù)的一部 分,因此需要從存儲在所涉及的器件頁中的器件數(shù)據(jù)解析被請求的主機數(shù)據(jù)(即要讀取的 主機數(shù)據(jù))。因此,控制電路150將被請求的器件頁的物理地址轉發(fā)(在152示出)到數(shù)據(jù) 解析器140。然后,數(shù)據(jù)解析器140利用被請求的器件頁的物理地址來讀取(在141示出) 被請求的器件數(shù)據(jù)。然后,數(shù)據(jù)解析器140從提取的器件數(shù)據(jù)中解析被請求的主機數(shù)據(jù),并 經(jīng)由主機I/F 105將被請求的主機數(shù)據(jù)發(fā)送(在143示出)到主機設備101,以由此完成 “讀”命令111。注意,代替將被請求的器件頁的物理地址發(fā)送到數(shù)據(jù)解析器140 (如152所示),控 制電路150可以使用被請求的器件頁的物理地址來取得被請求的器件數(shù)據(jù)并將其發(fā)送到 數(shù)據(jù)解析器140?!安脸辈僮魅绻邮盏牟僮鞔a111被控制電路150譯為“擦除”指令,則控制電路150執(zhí)行 “擦除”指令。不同于對“頁”執(zhí)行的“寫”和“讀”操作,在NAND閃存器件中按“塊”地擦除 數(shù)據(jù)?!爸鳈C塊”由多個主機頁構成,并且“器件塊”由多個器件頁構成。因此,如果控制電 路150標識擦除主機數(shù)據(jù)的擦除指令,則控制電路150查考翻譯表154,以得到存儲了包括 要被擦除的主機數(shù)據(jù)的器件數(shù)據(jù)的存儲器單元陣列130中的器件塊的地址。然后,控制電 路150在翻譯表154中將主機數(shù)據(jù)標記為被擦除,并向主機設備101發(fā)送消息主機數(shù)據(jù)已 經(jīng)被擦除。控制電路150實際上可以稍后在適當?shù)臅r間或者方便時從存儲器單元陣列130 擦除主機數(shù)據(jù)。為了實際擦除主機數(shù)據(jù),控制電路150將與主機數(shù)據(jù)相關的主機邏輯地址 112翻譯成包含該主機數(shù)據(jù)的器件塊的相應物理地址,然后控制電路154擦除該器件塊。圖2示出了根據(jù)本公開的用于由閃存器件處理主機命令序列的示例方法。將結合 圖1描述圖2,并假設主機設備101符合SBC技術,而閃存器件102符合MBC技術。如上所 述,不解決使設備相互區(qū)別的各個技術方面,SBC主機設備和MBC閃存器件不能交互。除了 區(qū)別頁的大小和塊的大小之外,在SBC閃存器件中在新數(shù)據(jù)被寫入頁之前擦除該整個頁。 然而,如果新數(shù)據(jù)可以被寫到該頁中的足夠大的空閑空間中,可以省略“擦除”步驟,這是本 領域中通常稱為部分頁編程(“PPP”)的特征。與SBC閃存器件相反,MBC閃存器件總是在 新數(shù)據(jù)可以被寫入頁中之前擦除該整個頁。另外,SBC閃存器件將數(shù)據(jù)隨機地寫入頁中,而 MBC閃存器件按順序將數(shù)據(jù)寫入頁中,即數(shù)據(jù)被寫入頁0中,然后寫入頁1中、頁2中,等等。 如以上結合圖1所述,控制器103通過使用主機命令解析器110、數(shù)據(jù)集合器120和數(shù)據(jù)解析器140來解決這些技術差別。在步驟201,NAND閃存器件102的控制器103從主機設備101接收(在圖1中的 104示出)主機命令序列,在此示例中該主機命令序列是SBC命令序列。在步驟202,主機 命令解析器(HCP) 110將SBC命令序列解析為SBC操作碼111、SBC邏輯地址112和主機數(shù) 據(jù)113,在此示例中該主機數(shù)據(jù)113是SBC數(shù)據(jù)。在步驟203,檢查操作碼是否是“寫”指令。 如果SBC操作碼是“寫”指令(在203示出為“是”),則在步驟204,控制電路150指令(在 153示出)數(shù)據(jù)集合器120集合或合并SBC數(shù)據(jù)113與可能是其他SBC數(shù)據(jù)的補充數(shù)據(jù), 以由此創(chuàng)建可存儲在MBC單元陣列130的一個或多個器件頁中的器件數(shù)據(jù)(在此示例中是 MBC數(shù)據(jù))。由于控制電路150指令(在153示出)數(shù)據(jù)集合器120將包括SBC數(shù)據(jù)的所 創(chuàng)建的器件數(shù)據(jù)(即MBC數(shù)據(jù))寫入MBC單元陣列130的(一個或多個)器件頁中,因此 在步驟205,SBC數(shù)據(jù)被寫入(一個或多個)相應的MBC頁中。補充數(shù)據(jù)可以是從主機設備101接收并被排隊在閃存器件102中的其他主機數(shù) 據(jù)。補充數(shù)據(jù)可以是已經(jīng)被存儲在NAND閃存單元陣列130中作為其他器件數(shù)據(jù)的一部分 并從其解析的主機數(shù)據(jù)。補充數(shù)據(jù)可以是啞數(shù)據(jù)。關于寫操作,存儲器單元陣列130的器 件頁被分組成塊并在每個塊內以邏輯的方式(logically-wise)相繼被寫入,使得這些器 件頁的物理地址不一定連續(xù)。換句話說,數(shù)據(jù)可以被寫入不連續(xù)的、零散的或者不規(guī)則放置 的器件頁中,并且存儲在不連續(xù)的、零散的或者不規(guī)則放置的器件頁中的數(shù)據(jù)就像它們被 存儲在連續(xù)的器件頁中那樣被導入(introduce)主機設備。響應于主機設備101使用PPP方案寫入或試圖寫入主機數(shù)據(jù),可以使用偽部分頁 編程(“PPP”)方案由控制器103將主機數(shù)據(jù)寫入閃存單元陣列130中。使用偽PPP方案 包括使用啞數(shù)據(jù)作為補充數(shù)據(jù)??梢杂煽刂破?03將主機數(shù)據(jù)寫入例如與已經(jīng)被寫入的器 件頁不相鄰的器件頁中,以改善電力故障保護。但是,如果SBC操作碼111不是“寫”指令(在步驟203處示出為“否”),則在步 驟204,檢查操作碼是否是“讀”指令。如果SBC操作碼是用于從存儲器單元陣列130中讀 取SBC數(shù)據(jù)的“讀”指令(在步驟206處示出為“是”),其中SBC數(shù)據(jù)是存儲在器件頁中的 MBC數(shù)據(jù)的一部分,則在步驟207,控制電路150命令(在152示出)數(shù)據(jù)解析器140從存 儲器單元陣列130中讀取(示出在141)MBC數(shù)據(jù),并從該MBC數(shù)據(jù)解析SBC數(shù)據(jù)。在步驟 208,控制電路150命令(示出在152)數(shù)據(jù)解析器140將解析的SBC數(shù)據(jù)發(fā)送到主機設備 101,以由此完成讀操作。但是,如果SBC操作碼111不是“讀”指令(在206處示出為“否”),則操作碼111 是用于從存儲器單元陣列130擦除SBC數(shù)據(jù)的“擦除”指令,其中SBC數(shù)據(jù)是存儲在器件塊 中的MBC數(shù)據(jù)的一部分。在步驟209,控制器103將SBC數(shù)據(jù)內部地(例如,在翻譯表154 中)標記為被擦除,并向主機設備101發(fā)送消息SBC數(shù)據(jù)已經(jīng)被擦除。在可選步驟210,控 制器103在使用邏輯地址112來標識包含該SBC數(shù)據(jù)的MBC塊的相應物理地址后,從該MBC 塊中實際擦除該SBC數(shù)據(jù)。注意,通過使用諸如圖1的控制器103的控制器,SBC主機設備可以與MBC閃存器 件工作(即,向MBC閃存器件發(fā)出“寫”、“讀”和“擦除”指令),就像MBC閃存器件是SBC閃 存器件一樣。還注意,本公開不限于與NAND MBC閃存器件工作的NAND SBC主機設備。本 公開還適用于任意的NAND主機設備和NAND閃存器件,假如主機數(shù)據(jù)被分組成小于器件頁的主機頁。例如,如果與MBC主機設備相關的數(shù)據(jù)頁小于與MBC閃存器件相關的數(shù)據(jù)頁,則 本公開適用于與MBC閃存器件工作的MBC主機設備。樽擬SBC部分頁編稈(“PPP”)圖3示出了根據(jù)本公開的部分頁編程(“PPP”)的示例模擬,這是由SBC閃存器件 使用的特征。如果主機器件101 (根據(jù)一個示例,其是SBC器件)希望使用PPP,其可以正常 使用它,并且閃存器件102將通過使用偽-PPP方案來響應由主機設備發(fā)出的結果“寫”指 令,如下所述。通常,如果主機設備希望將各種數(shù)據(jù)元素寫在一個邏輯SBC頁中,則偽PPP 方案包含將這些數(shù)據(jù)元素寫在MBC閃存器件中的單個物理MBC頁中。將結合圖1描述圖3。為了簡化,將假設主機設備101是SBC器件(即,其處理被 分組成SBC頁的數(shù)據(jù)),并且閃存器件102是MBC器件。主機設備101將SBC數(shù)據(jù)(被指定 為310、311和312)發(fā)送到閃存器件102,每次一個數(shù)據(jù)元素。因為SBC主機器件可以使用 部分頁編程(PPP),因此圖3圖示了 MBC閃存器件102可以如何處理PPP,即使傳統(tǒng)MBC閃 存器件未被設計來應對這些操作。為了主機設備101將SBC數(shù)據(jù)310發(fā)送到MBC閃存器件102,主機設備101將示 例SBC數(shù)據(jù)310寫到其邏輯地址是301的SBC頁中,并在時間tl,按相應的“寫”命令序列 將SBC頁301發(fā)送到嵌入的閃存器件102中。數(shù)據(jù)頁301內的存儲空間320是無數(shù)據(jù)的或 空的,并且在SBC存儲器件中,可以單獨將附加的數(shù)據(jù)寫入頁301中而不用擦除數(shù)據(jù)310,由 于這個原因,按在此所述的方式將數(shù)據(jù)寫入頁301中被稱為“部分頁編程”。MBC閃存器件 102經(jīng)過主機接口 105接收數(shù)據(jù)310,并具有幾種選擇來將數(shù)據(jù)310寫入MBC單元陣列130 中以完成由主機設備101發(fā)出的寫命令。一種選擇包含使用數(shù)據(jù)集合器120來將數(shù)據(jù)310 與補充數(shù)據(jù)集合,以由此建立可以被寫入存儲器單元陣列130的MBC頁中的數(shù)據(jù)結構(即 器件數(shù)據(jù))。根據(jù)此選擇,且如上所述,補充數(shù)據(jù)可以是仍要在輸出器件102中被接收的其 他主機數(shù)據(jù),或者是被排隊在閃存器件102中的主機數(shù)據(jù),或者是已經(jīng)被存儲在存儲器單 元陣列130中的數(shù)據(jù)。將要在以下詳細描述的第二選擇是按類似PPP的方式(類似PPP操 作在此被稱為“偽-PPP”)通過閃存器件102處理數(shù)據(jù)310。為了實現(xiàn)偽PPP選擇,數(shù)據(jù)310 可以被存儲在MBC頁330中,同時使得存儲空間331為空,或者數(shù)據(jù)集合器120可以將數(shù)據(jù) 310與啞數(shù)據(jù)集合以創(chuàng)建MBC數(shù)據(jù),并將創(chuàng)建的MBC數(shù)據(jù)寫入存儲器單元陣列130中。在時間t2,SBC主機設備101將數(shù)據(jù)311寫入邏輯頁301中的空閑空間320中,并 將頁301發(fā)送到閃存器件102來存儲。將數(shù)據(jù)311寫入頁301中得到頁301中的更小的空 閑空間(在321示出)。因為在一些MBC閃存器件中,物理頁可以被寫入僅一次而不首先擦 除它們,因此即使存儲器單元陣列130中的物理頁330仍然具有空閑空間(即空間331), 但數(shù)據(jù)311也不能被寫入物理頁330中。即,根據(jù)圖3所示的示例,使得閃存器件將當前接 收的數(shù)據(jù)寫入存儲器單元陣列130中的新的空閑MBC物理頁中。但是為了按類似PPP操作 的方式動作,數(shù)據(jù)解析器140從物理頁330中提取數(shù)據(jù)310,并且數(shù)據(jù)集合器120將其與當 前接收的數(shù)據(jù)311相集合(即將其附于(append to)當前接收的數(shù)據(jù)311)。然后,數(shù)據(jù)集 合器120將數(shù)據(jù)310和所附的數(shù)據(jù)311寫入存儲器單元陣列130內的新的空閑物理頁340 中。同樣,當主機設備101在時間t3向閃存器件102發(fā)送數(shù)據(jù)312時,即使物理頁340仍 然具有足夠的空閑空間(即空間341),數(shù)據(jù)312也不能被寫入物理頁340中。而是,數(shù)據(jù)解 析器140從物理頁340中提取數(shù)據(jù)310和數(shù)據(jù)311,并且數(shù)據(jù)集合器120將數(shù)據(jù)310和數(shù)據(jù)311與所接收的數(shù)據(jù)312集合(即將其附于所接收的數(shù)據(jù)312)。然后,數(shù)據(jù)集合器120將 數(shù)據(jù)310、數(shù)據(jù)311和新附上的數(shù)據(jù)312寫入存儲器單元陣列130內的新的空閑MBC物理頁 350中。作為操作的替換模式,數(shù)據(jù)310、311和312可以分別被寫入物理頁330、340和350 中,然后,數(shù)據(jù)集合器120可以將其集合并全部寫入存儲器單元陣列130內的新的空閑物理 頁中。物理MBC頁330、340和350物理上彼此相鄰,因為根據(jù)圖3的示例,MBC頁連續(xù)被寫 入。如果諸如主機設備101的主機設備使用部分編程(即PPP)來將與數(shù)據(jù)310、311 和312類似的各個數(shù)據(jù)元素寫入與邏輯頁301類似的邏輯頁中,則其可能就像所包含的閃 存器件(即閃存器件102)是SBC閃存器件那樣而進行。所包含的閃存器件然后將通過使 用上述的偽PPP方案來將各個主機設備數(shù)據(jù)元素寫入相同的物理MBC頁中(在此示例中寫 入MBC頁350中)來響應主機發(fā)出的寫指令。注意,主機設備101不知道偽PPP方案,并且 就主機設備101而言,閃存器件102已經(jīng)將數(shù)據(jù)元素310、311和312寫入一個物理SBC頁 中??刂破?03維持用于將來自主機設備101的SBC頁的邏輯地址翻譯為存儲器單元 陣列130內的MBC頁(即器件頁)的物理地址的翻譯表154。通過使用翻譯表154,控制器 103追蹤存儲器單元陣列130內的器件頁的物理地址,它們用于存儲數(shù)據(jù),并且控制器103 在每次數(shù)據(jù)解析器140從存儲器單元陣列130提取數(shù)據(jù)或者數(shù)據(jù)集合器120向存儲器單元 陣列I30中寫入數(shù)據(jù)時更新翻譯表154。另外,就在從主機設備接收到存儲器命令時,或者 響應于這樣的命令,控制器103可能偶爾需要臨時或永久地、全部或部分地在存儲器單元 陣列130中重新排列或重新定位器件數(shù)據(jù)。在這樣做時,控制器103利用在重新排列和重 新定位數(shù)據(jù)時所包含的臨時和最終的邏輯和物理地址或其部分來更新翻譯表154。在閃存 管理的背景下處理翻譯表本身是本領域公知的,因此在此不再詳細描述。頁間依賴性、P/E周期和可靠性在閃存中,每個快閃單元可以存儲的位越多,存在越多的操作問題,這需要解決以 便使得快閃單元有用。盡管下面將參照MBC閃存和SBC閃存,但是同樣的原理適用于每單 元存儲兩位的MBC器件和每單元存儲多于兩位的MBC器件。關于頁間依賴性,MBC閃存器件在電力故障期間易于出現(xiàn)致命的數(shù)據(jù)寫/讀錯誤。 這部分地由于兩頁之間的物理接近(closeness)。另一方面,SBC閃存器件較不易于出現(xiàn)這 樣的錯誤。因此,不像SBC主機器件那樣,MBC主機器件需要采取特別的預防措施來應對電 力故障。因此,如果SBC主機器件按連續(xù)主機頁的形式發(fā)送主機數(shù)據(jù),則數(shù)據(jù)集合器將主機 頁寫入物理器件頁的特別序列中(通常是不相鄰的),使得電力故障的影響將被最小化。換 句話說,連續(xù)接收的主機頁不一定按照連續(xù)器件頁的順序被存儲在器件頁中。有時(即取 決于主機設備發(fā)送的數(shù)據(jù)的類型),將需要內部地備份數(shù)據(jù)的至少一部分,作為應對電力故 障的另外手段。關于編程/擦除(P/E)周期和可靠性,MBC閃存中的成功P/E周期的最大數(shù)量比 SBC閃存中的低得多,并且其可靠性不利地受較低數(shù)量的P/E周期影響。一些SBC主機器 件使用中等的或較不嚴格的閃存管理算法,因為假設SBC器件提供更高的P/E限制和更好 的可靠性,這對于許多類型的SBC閃存是成立的。因此,控制電路150致使主機數(shù)據(jù)按照如 下方式被傳送到存儲器單元陣列130中的器件頁結果將是輸出到SBC主機器件的P/E周
      13期的數(shù)量增加。換句話說,通過使用在翻譯表154中保存的信息,控制電路150標識每個 器件頁經(jīng)歷了多少P/E周期,然后控制電路150致使數(shù)據(jù)集合器120將主機數(shù)據(jù)寫入磨損 (worn-out)較小的器件頁中。否則(如果控制器103未進行上述預防步驟),在所謂的“標 準”SLC閃存中,SBC主機設備在稍后可能希望讀取的數(shù)據(jù)將比預期的快得多地被破環(huán)?!案?快”意味著在更少的P/E周期中。閃存器件的可靠性取決于不同于P/E周期的其他因素。例如,其取決于錯誤的數(shù) 量和閃存單元保留數(shù)據(jù)的能力。為了達到主機設備期望的可靠性,控制電路150可能必須 使用一個或多個內部參數(shù)(即與器件頁的功能有關的參數(shù))來重新定位存儲器單元陣列 130內的器件數(shù)據(jù)。為了便于上述的預防手段(即將各個主機數(shù)據(jù)寫入物理器件頁的特定序列中,將 主機數(shù)據(jù)傳送到器件頁,以及重新定位器件頁內的器件數(shù)據(jù)),數(shù)據(jù)集合器采用相應的映射 算法,并用所包含的邏輯和物理地址以及與數(shù)據(jù)位置有關的信息來更新翻譯表154,與數(shù)據(jù) 位置有關的信息與上述的各個性能方面相關。 在本發(fā)明的說明書和權利要求書中,每個動詞“包含”、“包括”和“具有”及其變化 形式用于指示動詞的一個或多個賓語不是必須是該動詞的一個或多個主語的元件、組件、 要素或部分的完整列舉。在此使用冠詞“一個”來指代一個或多于一個(即至少一個)的冠詞的語法對象, 這取決于上下文。通過示例,取決于上下文,“一個要素”可以移位一個或多于一個的要素。在此使用術語“包括”意味短語“包括但不限于”,并可與其互換地使用。在此使用術語“或者”和“和”意味術語“和/或”,并且可與其互換地使用,除非上 下文另外明確指出。在此使用術語“諸如”意味短語“諸如但不限于”,并可與其互換地使用。因此描述了本發(fā)明的示例實施例,將對本領域技術人員顯而易見的是,所公開的 示例實施例的修改將在本發(fā)明的范圍內。例如,主機設備不是必須是SBC主機設備,因為本 公開加以必要的修正同樣可適用于其他類型的主機設備和其他類型的NAND快閃器件。從 而,盡管以上未特別描述,但是仍然意圖并暗示所公開的發(fā)明的另外的替換、修改和改進在 本發(fā)明的精神和范圍內。
      1權利要求
      一種將主機數(shù)據(jù)寫入閃存器件中的方法,該方法包括a)通過閃存器件的控制器從主機設備接收寫指令,用于將主機數(shù)據(jù)寫入被分組成單獨可寫的器件頁的NAND閃存單元的陣列中;b)通過控制器將主機數(shù)據(jù)與補充數(shù)據(jù)相集合,由此創(chuàng)建可存儲在所述器件頁的一個或多個中的器件數(shù)據(jù);以及c)通過控制器將所述器件數(shù)據(jù)寫入所述器件頁的一個或多個中。
      2.根據(jù)權利要求1所述的方法,其中所述補充數(shù)據(jù)是從主機設備接收的并被排隊在閃 存器件中的其他主機數(shù)據(jù)。
      3.根據(jù)權利要求1所述的方法,其中所述補充數(shù)據(jù)是作為其他器件數(shù)據(jù)的一部分已經(jīng) 被存儲在NAND閃存單元的陣列中并從該其他器件數(shù)據(jù)解析出的主機數(shù)據(jù)。
      4.根據(jù)權利要求1所述的方法,其中所述器件頁被分組成塊,并在每個塊內以邏輯的 方式相繼被寫入,使得其物理地址不一定是連續(xù)的。
      5.根據(jù)權利要求1所述的方法,其中響應于主機設備使用部分頁編程方案寫入主機數(shù) 據(jù),通過控制器使用偽部分頁編程方案將所述主機數(shù)據(jù)寫入到閃存單元中。
      6.根據(jù)權利要求5所述的方法,其中通過控制器使用偽部分頁編程方案包括使用 數(shù) 據(jù)作為補充數(shù)據(jù)。
      7.根據(jù)權利要求1所述的方法,其中所述主機數(shù)據(jù)被控制器寫入到與已經(jīng)被寫入的器 件頁不相鄰的器件頁中。
      8.一種用于從閃存器件讀取主機數(shù)據(jù)的方法,該方法包括a)從主機設備接收讀指令,用于從被分組成單獨可讀的器件頁的NAND閃存單元的陣 列中讀取主機數(shù)據(jù),所述主機數(shù)據(jù)是被存儲在器件頁中的器件數(shù)據(jù)的一部分;b)從所述器件數(shù)據(jù)解析所述主機數(shù)據(jù);以及c)將解析的主機數(shù)據(jù)發(fā)送到主機設備。
      9.一種執(zhí)行用于從閃存器件擦除主機數(shù)據(jù)的擦除指令的方法,該方法包括a)從主機設備接收擦除指令,用于從被分組成可單獨擦除的器件塊的NAND閃存單元 的陣列中擦除主機數(shù)據(jù),所述主機數(shù)據(jù)是被存儲在器件塊中的器件數(shù)據(jù)的一部分;b)將所述主機數(shù)據(jù)標記為被擦除;以及c)向主機設備發(fā)送主機數(shù)據(jù)已經(jīng)被擦除的消息。
      10.根據(jù)權利要求9所述的方法,還包括c)擦除包含所述主機數(shù)據(jù)的器件塊。
      11.一種用于閃存器件的控制器,該控制器包括a)主機NAND接口,被適配為從主機設備接收主機數(shù)據(jù);以及b)數(shù)據(jù)集合器,被適配為將主機數(shù)據(jù)與補充數(shù)據(jù)集合,由此創(chuàng)建器件數(shù)據(jù),并被適配為 將器件數(shù)據(jù)寫入與閃存器件相關的NAND閃存單元的陣列的器件頁中。
      12.根據(jù)權利要求11所述的控制器,其中所述補充數(shù)據(jù)是從主機設備接收的并被排隊 在閃存器件中用于存儲在NAND閃存單元的陣列中的其他主機數(shù)據(jù)。
      13.根據(jù)權利要求11所述的控制器,還包括c)數(shù)據(jù)解析器,被適配為從器件數(shù)據(jù)中解析補充數(shù)據(jù)。
      14.根據(jù)權利要求13所述的控制器,其中所述補充數(shù)據(jù)是從器件數(shù)據(jù)解析的其他主機數(shù)據(jù)。
      15.根據(jù)權利要求12所述的控制器,其中所述數(shù)據(jù)解析器還被適配為在從主機設備接 收到用于讀取給定的主機數(shù)據(jù)的命令時從器件數(shù)據(jù)中解析該給定的主機數(shù)據(jù)。
      16.根據(jù)權利要求11所述的控制器,其中器件頁被分組成器件塊,以及其中所述數(shù)據(jù) 集合器還被適配為在每個塊內以邏輯的方式將數(shù)據(jù)相繼寫入器件頁中,使得其物理地址不一定連續(xù)。
      17.根據(jù)權利要求11所述的控制器,其中在從主機設備接收到擦除給定的主機數(shù)據(jù)的 指令時,由控制器將該給定的主機數(shù)據(jù)標記為“被擦除”,并且向主機設備發(fā)送給定的主機 數(shù)據(jù)已經(jīng)被擦除的消息。
      18.根據(jù)權利要求11所述的控制器,還包括c)控制電路,被適配為響應于主機設備使用部分頁編程方案寫入主機數(shù)據(jù),使用偽部 分頁編程方案將主機數(shù)據(jù)寫入閃存單元陣列中。
      19.根據(jù)權利要求18所述的控制器,其中在使用偽部分頁編程方案時,所述控制電路 使用tt數(shù)據(jù)作為補充數(shù)據(jù)。
      20.根據(jù)權利要求18所述的控制器,其中所述控制電路被適配為在從主機設備接收到 擦除給定的主機數(shù)據(jù)的指令時,將該給定的主機數(shù)據(jù)標記為被擦除,并向主機設備發(fā)送給 定的主機數(shù)據(jù)已經(jīng)被擦除的消息。
      21.根據(jù)權利要求11所述的控制器,其中所述主機數(shù)據(jù)被構造用于按每單元M位地存 儲數(shù)據(jù)的存儲器單元的陣列,以及其中所述閃存器件的存儲器單元陣列按每單元N位地存 儲數(shù)據(jù),其中N和M是整數(shù)并且N大于M。
      22.根據(jù)權利要求21所述的控制器,其中N等于2并且M等于1。
      23.根據(jù)權利要求21所述的控制器,其中N等于4并且M等于1。
      24.根據(jù)權利要求21所述的控制器,其中N等于4并且M等于2。
      全文摘要
      一種用于模擬每單元單個位的NAND閃存器件的每單元多個位的NAND閃存器件的控制器。該控制器可以包括主機NAND接口,用于從NAND主機設備接收主機數(shù)據(jù);以及數(shù)據(jù)集合器,用于將主機數(shù)據(jù)與補充數(shù)據(jù)集合,由此創(chuàng)建可被存儲在NAND閃存器件的NAND閃存單元的陣列的器件頁中的器件數(shù)據(jù)。在創(chuàng)建器件數(shù)據(jù)后,控制器將器件數(shù)據(jù)寫入NAND閃存單元的器件頁中。該控制器還包括數(shù)據(jù)解析器,用于當控制器執(zhí)行數(shù)據(jù)讀取操作時,從器件數(shù)據(jù)解析主機數(shù)據(jù)。如需要,控制器使用數(shù)據(jù)解析器以在控制器執(zhí)行數(shù)據(jù)寫入操作時,從器件數(shù)據(jù)解析補充數(shù)據(jù)。
      文檔編號G11C16/10GK101946286SQ200880126592
      公開日2011年1月12日 申請日期2008年1月8日 優(yōu)先權日2007年12月27日
      發(fā)明者丹·英巴, 奧里·斯特恩, 沙哈·巴-奧爾, 阿朗·馬庫 申請人:桑迪士克以色列有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1