對存儲在閃存中的數(shù)據有地址ram的模擬電可擦存儲器的制造方法
【專利摘要】本發(fā)明涉及對存儲在閃存中的數(shù)據有地址RAM的模擬電可擦存儲器。存儲器系統(tǒng)包括存儲器控制器、耦合于所述存儲器控制器的地址隨機存取存儲器(RAM)、以及耦合于所述存儲器控制器的非易失性存儲器。所述非易失性存儲器有地址部分和數(shù)據部分。所述非易失性存儲器的所述地址部分給所述存儲器控制器提供了數(shù)據部分地址和有效數(shù)據的數(shù)據部分地址。所述存儲器控制器加載所述數(shù)據部分地址并將其存儲在有效數(shù)據的所述查找地址限定的位置處的地址RAM內。所述存儲器控制器使用所述數(shù)據部分地址,以及所述地址RAM內的數(shù)據塊的位置,以將所述數(shù)據塊定位在所述非易失性存儲器數(shù)據部分內。所述存儲器控制器使用所述數(shù)據部分地址,以及所述地址RAM內的所述數(shù)據塊地址的位置,以將所述數(shù)據塊定位在所述非易失性存儲器數(shù)據部分內。
【專利說明】對存儲在閃存中的數(shù)據有地址RAM的模擬電可擦存儲器
【技術領域】
[0001]本發(fā)明通常涉及存儲系統(tǒng),更具體地說,涉及模擬電可擦(EEE)存儲器。
【背景技術】
[0002]模擬電可擦(EEE)存儲器通常使用隨機存取存儲器(RAM)和非易失性存儲器,例如被電可擦合并以給與該RAM有可比大小的存儲器提供帶有超過普通非易失性存儲器的增強的忍耐力的存儲系統(tǒng)的閃存存儲器。這是通過使用遠遠大于RAM的非易失性存儲器實現(xiàn)的,但EEE存儲器的操作就像它僅僅是RAM的大小。因此EEE存儲器模擬從被EEE存儲器使用的但是在忍耐力方面有增加的尺寸減小的電可擦存儲器。
[0003]EEE存儲器使用RAM以顯示模擬存儲器的內容,但是當刻意的模擬EE編程變得大時開始變得沒有競爭性。RAM模擬意味著通過基于方法論的搜索的緩慢的訪問時間。
[0004]因此,有必要提供改進了上述描述的問題的EEE存儲器以允許非易失性存儲器能夠與電可擦只讀存儲器(EEPROM)競爭。
【專利附圖】
【附圖說明】
[0005]本發(fā)明通過舉例說明并不被附圖所限制。在附圖中,相同的參考符號表示相同的元素。對圖中的元素的示出是為了簡便和清晰并不一定按比例繪制。
[0006]圖1以方框圖的形式示出了對從閃存存儲器陣列讀取數(shù)據有用的系統(tǒng)的實施例。
[0007]圖2示出了可以被用在圖1的系統(tǒng)中的全地址記錄的實施例。
[0008]圖3示出了可以被用在圖1的系統(tǒng)中的地址系統(tǒng)記錄的實施例。
[0009]圖4示出了可以被用在圖1的系統(tǒng)中的地址隨機存取存儲器的實施例。
[0010]圖5示出了可以被用在圖1的系統(tǒng)中的閃存存儲器陣列的數(shù)據部分的實施例。
[0011]圖6示出了可以被用在圖5的閃存存儲器陣列的數(shù)據部分的記錄狀態(tài)格式的實施例。
[0012]圖7示出了可以被用在圖5的閃存存儲器陣列的數(shù)據部分的數(shù)據塊的格式的實施例。
[0013]圖8以方框圖的形式示出了對將數(shù)據寫入閃存存儲器陣列有用的系統(tǒng)的另一實施例。
[0014]圖9以流程圖的形式示出了一種使用圖8的系統(tǒng)執(zhí)行寫入操作的方法的實施例?!揪唧w實施方式】
[0015]一方面,模擬電可擦(EEE)存儲器有被分成多個分區(qū)的非易失性存儲器(NVM)和用于存儲NVM地址信息的隨機存取存儲器(RAM)。地址信息被存儲在一種類型的RAM存儲器中;所述RAM存儲器允許在兩個時鐘周期內訪問保持在NVM中的數(shù)據記錄。NVM和地址RAM相互協(xié)作以防止可能在電涌或在記錄生成期間的降落期間發(fā)生的數(shù)據丟失。結合突發(fā)程序模式,分布式壓縮/擦除操作可以被實施以允許對命令的快速響應。參照附圖和以下的說明書可對此有更好的理解。
[0016]在一個實施例中,閃存存儲器被用作NVM。在一個例子中,正如本發(fā)明所使用的,編程指將邏輯電平“O”存儲到位單元,而擦除指將邏輯電平“ I ”存儲到位單元。然而,在替代實施例中,編程可以指將邏輯電平“ I ”存儲到位單元,而擦除可以指將邏輯電平“O”存儲到位單元。邏輯電平“O”也可以被稱為邏輯低,而邏輯電平“I”也可以被稱為邏輯高。
[0017]當將信號、狀態(tài)位、或類似的裝置分別變?yōu)槠溥壿嬚婊蜻壿嫾贍顟B(tài)的時侯,術語“斷言”或“設置”和“否定”(或“去斷言”或“清除”)在本發(fā)明中被使用。如果邏輯真狀態(tài)是邏輯電平“I”,邏輯假狀態(tài)是邏輯電平“O”。如果邏輯真狀態(tài)是邏輯電平“0”,邏輯假狀態(tài)是邏輯電平“I”。
[0018]圖1以方框圖的形式示出了對從閃存存儲器108讀取數(shù)據有用的處理系統(tǒng)100的實施例,包括處理器102、以及使用非易失性閃存存儲器陣列108和地址RAM106的EEE存儲器系統(tǒng)114。EEE存儲器系統(tǒng)114包括存儲器控制器104、地址RAM106、以及閃存陣列108(也可以被稱為NVM陣列,其中任何類型的NVM可以代替閃存存儲器被使用)。閃存陣列108可以包括一個或多個數(shù)據段110和一個或多個地址系統(tǒng)112??梢员徽J為是易失性存儲器的RAM106雙向耦合于存儲器控制器104。存儲器控制器104被耦合以接收來自處理器102的全地址記錄和來自地址系統(tǒng)112的更新的數(shù)據塊地址。存儲器控制器104被進一步耦合以給地址RAM106提供查找地址以及給門116提供相應的數(shù)據部分位置。重置信號被提供給處理器102和存儲器控制器104。該重置信號例如可以是系統(tǒng)100的全局重置信號。門116接收來自地址RAM106的數(shù)據部分地址,并且將數(shù)據部分地址和數(shù)據塊中的相應的位置進行合并,并且發(fā)送合并的地址/塊位置信號以訪問相應的數(shù)據塊和在數(shù)據段110中的特定數(shù)據塊內的位置。
[0019]處理器102可以是任何類型的處理器,例如微處理器、數(shù)字信號處理器等,或者可以是任何其它類型的可以訪問EEE存儲器系統(tǒng)114的互連主機。系統(tǒng)100也可以包括圖1中未顯示的部件,例如系統(tǒng)總線或其它形式的互連,例如交叉開關(crossbar)、點至點連接、以及光纖和無線傳輸部件、其它存儲器、一個或多個附加處理器、一個或多個外圍設備、一個或多個輸入/輸出(I/O)設備等等?;蛘撸到y(tǒng)100中不存在其它模塊或部件。
[0020]在操作中,處理器102可以將訪問請求(讀取或寫入訪問請求)發(fā)送到存儲器系統(tǒng)114。包括全地址,并且在寫訪問的情況下與寫數(shù)據相關的來自處理器102的訪問請求被提供給存儲器控制器104。全地址包括查找地址和與查找地址相關聯(lián)的數(shù)據塊中的相應的位置。地址RAM106包括將查找地址轉化成相應的數(shù)據部分地址的表。在讀訪問的情況下,數(shù)據段110給處理器104提供了對應于全地址指定的位置的數(shù)據。在寫訪問的情況下,數(shù)據段110將接收到的寫數(shù)據在接收到的地址位置存儲為新的記錄。在寫訪問的情況下,存儲器控制器104可以檢測閃存陣列108的更新并且給地址RAM106提供來自地址系統(tǒng)112的更新的數(shù)據塊地址。
[0021]作為帶有使用32位記錄的地址系統(tǒng)112的例子,前16位可以在128K EEE圖像內容納64字節(jié)的位置。低16位指向數(shù)據部分110內的64字節(jié)塊的物理位置。對于帶有64字節(jié)塊的128K EEE圖像,8K閃存存儲器將包括2K用于地址系統(tǒng)112內的地址位置。整個系統(tǒng)可以包括兩個或多個EEE圖像,并且對每EEE圖像需要8k的閃存存儲器。
[0022]所有64字節(jié)塊的物理地址被轉移到對應于高位字中的64字節(jié)偏移的地址處的地址RAM。使用測試邏輯,轉移過程可以自動進行,其中在8K地址系統(tǒng)112內每記錄耗費I個周期。因此,對帶8Κ地址系統(tǒng)112的系統(tǒng)更新地址RAM106對25mHz的時鐘速率將需要IOus0
[0023]數(shù)據部分110中的塊可以以兩個自動化步驟讀作標準的電可擦編程只讀存儲器,所述兩個自動化步驟包括(I)從查找地址中去除高地址位以確定地址RAM106中的數(shù)據部分地址,以及(2)將數(shù)據部分地址和數(shù)據部分110中的數(shù)據位置進行合并以訪問數(shù)據部分110中的特定數(shù)據。每自動化步驟需要I個時鐘周期。
[0024]圖2示出了可以被用在圖1的系統(tǒng)100的全地址200的實施例。全地址200連同讀取或寫入請求從處理器102發(fā)送到存儲器控制器104并且包括查找地址和要訪問的數(shù)據塊內的位置。查找地址被轉化成地址RAM106中的數(shù)據部分地址。數(shù)據部分地址和在數(shù)據塊中的位置被門116進行合并并且被用于訪問閃存陣列108的數(shù)據部分110中的數(shù)據塊中的特定位置。
[0025]圖3示出了可以被用在圖1的系統(tǒng)100中的地址系統(tǒng)記錄300的實施例。地址系統(tǒng)記錄300是可以在地址系統(tǒng)112 (圖1)中實現(xiàn)的多地址系統(tǒng)記錄300的其中一個,并且可以包括查找地址字段、數(shù)據部分地址字段、狀態(tài)字段、以及塊選擇字段。來自查找地址字段的信息和在數(shù)據塊中的位置由地址RAM106提供以填充記錄300中的查找地址和數(shù)據部分地址字段。記錄300中的狀態(tài)字段和數(shù)據部分地址字段的信息由存儲器控制器104提供。合格的狀態(tài)位可以被使用以確定地址系統(tǒng)112中的記錄的存在,所以全部O可以表示沒有記錄。
[0026]圖4示出了可以被用在圖1的系統(tǒng)中的地址RAM106的實施例,包括查找地址(O)至(η)和相應的數(shù)據部分地址(O)至(η)的表。當?shù)刂稲AM106從存儲器控制器104接收查找地址時,地址RAM106檢索相應的數(shù)據部分地址并且將數(shù)據部分地址發(fā)送到門116。注意,在數(shù)據塊中的數(shù)據部分地址和位置可以被單獨發(fā)送到數(shù)據部分110,而不是通過門116。查找地址和數(shù)據部分地址的數(shù)量和大小可以基于閃存陣列110的大小。
[0027]圖5示出了可以被用在圖1的系統(tǒng)100中的閃存存儲器陣列108的數(shù)據部分110的實施例,包括狀態(tài)記錄500和數(shù)據塊(O)至(N)。狀態(tài)記錄500可以包括分區(qū)識別字段502、記錄狀態(tài)字段504-508、以及未使用字節(jié)510。分區(qū)識別字段502識別閃存存儲器陣列108中的分區(qū)。記錄狀態(tài)字段504-508包括關于至閃存存儲器陣列108中的相應的塊的寫入是否被啟動或被完成的信息。
[0028]圖6示出了可以被用在圖5的閃存存儲器陣列108的數(shù)據部分110中的記錄狀態(tài)字段504-508的格式的實施例。作為例子,記錄狀態(tài)字段508可以有4個位,其中2個位被保留以表示操作(例如寫入命令)是否已被啟動,并且其它2個位表示該操作是否已被完成。記錄狀態(tài)字段504-508的其它合適格式可以被使用。
[0029]未使用的字節(jié)510可以被用作附加塊的記錄狀態(tài)字段,追蹤分區(qū)擦除計數(shù),或保留未使用,這取決于數(shù)據部分110的大小。
[0030]圖7示出了可以被用在圖5的閃存存儲器陣列108的數(shù)據部分110中的數(shù)據塊
(O)的格式的實施例。注意,相同的格式可以被用于數(shù)據塊(I)至(η)。通過使用數(shù)據部分地址,數(shù)據塊(O)被訪問,并且正如門116 (圖1)或其它合適技術或機械裝置所提供的,通過使用數(shù)據塊(O)中的位置,數(shù)據塊(O)中的每字節(jié)可以被訪問。雖然數(shù)據塊(O)被顯示為有64字節(jié),數(shù)據塊(O)、以及數(shù)據塊(I) - (η)可以有任何合適數(shù)量的字節(jié)。
[0031]圖8以方框圖的形式示出了對將數(shù)據寫入閃存存儲器108有用的系統(tǒng)100的另一實施例。處理器102提供了連同地址一起被寫入的數(shù)據以將數(shù)據寫入存儲器控制器104。存儲器控制器104將數(shù)據發(fā)送到閃存陣列108中的數(shù)據部分110的所需地址。狀態(tài)信息,例如特定數(shù)據塊的寫入是否已被啟動或已被完成,也被發(fā)送到數(shù)據部分110。查找和數(shù)據部分地址和狀態(tài)信息也可以被發(fā)送到閃存陣列108的地址系統(tǒng)112以追蹤數(shù)據部分110。存儲器控制器104也可以與地址RAM106進行通信以在系統(tǒng)重置或需要對一個或多個查找地址和/或相應的數(shù)據部分地址進行更新的其它事件之后提供更新的數(shù)據塊地址。
[0032]圖9示出了一種使用圖8的系統(tǒng)100執(zhí)行寫入操作的方法900的實施例的流程圖。過程902可以包括生成包括將數(shù)據寫入閃存陣列108的記錄命令。記錄命令可以通過連同數(shù)據和來自處理器102的地址一起給存儲器控制器104發(fā)送命令被生成。
[0033]過程904可以包括確定記錄狀態(tài)字段504-508 (圖5)的設置以表示寫入操作正在進行,并且一旦寫入操作完成,更新的數(shù)據在相應的塊中是可用的。
[0034]過程906可以包括編程或寫入數(shù)據塊。注意,數(shù)據可以被寫入閃存陣列中的單一位,或突發(fā)編程模式可以被使用以通過地址寫入一組位,假定起始位被寫入由地址識別的塊中。作為過程906的一部分,相應的記錄狀態(tài)字段502-508也可以被寫入數(shù)據部分110。與突發(fā)寫入操作相反,單一寫入操作可以被使用以寫入記錄狀態(tài)字段502-508的其中一個。
[0035]過程908可以包括將數(shù)據部分地址和在數(shù)據塊中的位置寫入地址系統(tǒng)112。數(shù)據部分地址和在數(shù)據塊中的位置對應于被寫入數(shù)據部分110的數(shù)據。注意,不需要搜索來確定數(shù)據部分地址,因為使用地址系統(tǒng)112中的查找地址,信息可以很容易地被確定。
[0036]在過程909,存儲器控制器104改變記錄狀態(tài)來完成并且將更新的記錄狀態(tài)發(fā)送到閃存陣列108。
[0037]過程910可以包括確定壓縮或擦除操作是否將被執(zhí)行。根據壓縮操作將在過程910被執(zhí)行的確定,過程912可以根據預定的壓縮算法壓縮輸入數(shù)據,由此減小存儲在存儲器塊中的數(shù)據大小。根據擦除操作將在過程910被執(zhí)行的確定,過程914執(zhí)行擦除操作;在該操作期間,存儲在單一塊中的一個或多個頁面中的數(shù)據按順序被擦除。
[0038]在過程912或914被執(zhí)行之后,或在過程910確定沒有壓縮或擦除操作要通過寫入操作被執(zhí)行之后,過程916包括使用來自地址系統(tǒng)112的更新的查找地址更新存儲器控制器104和地址RAM106。
[0039]作為例子,下面的表I顯示了執(zhí)行方法900所需的時間:
[0040]表1:過程900的各自部分所需的例子時間
【權利要求】
1.一種存儲器系統(tǒng),包括: 存儲器控制器; 耦合于所述存儲器控制器的地址隨機存取存儲器(RAM);以及 耦合于所述存儲器控制器的非易失性存儲器(NVM); 其中: 所述非易失性存儲器具有地址部分和數(shù)據部分; 所述非易失性存儲器的所述地址部分向所述存儲器控制器提供數(shù)據部分地址和有效數(shù)據的查找地址; 所述存儲器控制器加載所述數(shù)據部分地址并將其存儲在有效數(shù)據的所述查找地址限定的位置處的所述地址RAM內;以及 所述存儲器控制器使用數(shù)據部分地址,以及所述地址RAM內的數(shù)據塊地址的位置,以將數(shù)據塊定位在所述非易失性存儲器的所述數(shù)據部分內。
2.根據權利要求1所述的存儲器系統(tǒng),還包括耦合于所述非易失性存儲器的所述數(shù)據部分的處理器,其中: 響應于所述處理器提供的系統(tǒng)地址,所述地址RAM向所述非易失性存儲器提供來自由查找地址選擇的地址RAM中的位置的數(shù)據部分地址。
3.根據權利要求2所述的存儲器系統(tǒng),其中所述系統(tǒng)地址包括識別所述地址RAM內的位置的所述查找地址。`
4.根據權利要求2所述的存儲器系統(tǒng),其中所述系統(tǒng)地址還包括數(shù)據部分地址,所述存儲器系統(tǒng)還包括將從所述地址RAM提供的數(shù)據部分地址和所述數(shù)據塊內的所述位置進行結合以從所述數(shù)據部分選擇有效數(shù)據的邏輯門。
5.一種操作具有非易失性存儲器(NVM)的存儲器系統(tǒng)的方法,包括: 識別所述NVM內的第一 NVM位置,其中所述第一 NVM位置具有第一有效數(shù)據; 在地址RAM的第一隨機存取存儲器(RAM)位置內加載所述第一 NVM位置的地址; 提供用于選擇所述第一 RAM位置的系統(tǒng)地址; 響應于用于選擇所述第一 RAM位置的所述系統(tǒng)地址,從所述地址RAM向所述NVM提供所述第一 NVM位置的所述地址;以及 響應于從所述地址RAM接收所述第一 NVM位置的所述地址,提供來自所述第一 NVM位置的所述第一有效數(shù)據。
6.根據權利要求5所述的方法,其中: 識別所述第一 NVM位置的步驟的進一步特征在于,所述第一 NVM位置具有附加有效數(shù)據;以及 提供所述系統(tǒng)地址的步驟的進一步特征在于,所述系統(tǒng)地址具有用于選擇所述第一RAM位置的第一部分和用于從所述第一有效數(shù)據和所述附加有效數(shù)據之中選擇所述第一有效數(shù)據的第二部分。
7.根據權利要求6所述的方法,還包括: 將所述第一有效數(shù)據和所述附加有效數(shù)據寫入所述NVM位置作為突發(fā)操作的一部分。
8.根據權利要求7所述的方法,還包括: 通過將有效數(shù)據從包括無效數(shù)據的分區(qū)復制到只包括所述有效數(shù)據的一個或多個分區(qū)中來壓縮所述NVM內的所述有效數(shù)據;以及 改變只包括所述無效數(shù)據的所述分區(qū)中的每一個的狀態(tài)指示器。
9.根據權利要求5所述的方法,還包括: 通過相應的系統(tǒng)地址向所述存儲器控制器提供要寫入所述NVM的第二有效數(shù)據;以及 使用所述NVM的地址系統(tǒng)將所述第二有效數(shù)據寫入所述NVM的數(shù)據部分內的第二 NVM位置。
10.根據權利要求9所述的方法,還包括通過所述第二有效數(shù)據的所述位置加載所述地址RAM。
11.根據權利要求10所述的方法,還包括: 提供對應于所述第二有效數(shù)據的所述地址; 從所述地址RAM獲得所述第二有效數(shù)據的所述位置;以及 向所述NVM提供從所述地址RAM獲得的所述第二有效數(shù)據的所述位置以從所述NVM獲得所述第二有效數(shù)據。
12.根據權利要求11所述的方法,其中所述第二有效數(shù)據是從NVM的所述數(shù)據部分獲得的。
13.根據權利要求12所述的方法,其中所述數(shù)據部分包括狀態(tài)信息。
14.根據權利要求13所述的方法,其中所述數(shù)據部分包括數(shù)據塊,其中訪問位置是識別所述數(shù)據塊和所述數(shù)據塊內的位置的組合。
15.根據權利要求14所述的方法,其中在讀取期間,所述數(shù)據塊內的所述位置由所述系統(tǒng)地址提供,并且所述數(shù)據塊的識別來自所述地址RAM。
16.—種存儲器系統(tǒng),包括: 具有數(shù)據部分和地址系統(tǒng)的非易失性存儲器; 根據系統(tǒng)地址將數(shù)據寫入所述數(shù)據部分的數(shù)據處理器; 存儲器控制器,耦合于所述非易失性存儲器和所述處理器,用于接收所述系統(tǒng)地址和所述數(shù)據; 地址隨機存取存儲器(RAM),耦合于所述存儲器控制器,提供對應于系統(tǒng)地址的查找地址; 其中: 所述存儲器控制器向所述地址系統(tǒng)提供所述查找地址,并且將數(shù)據寫入通過所述查找地址選擇的所述數(shù)據部分中的位置。
17.根據權利要求16所述的方法,其中所述數(shù)據部分存儲狀態(tài)信息。
18.根據權利要求17所述的方法,其中所述數(shù)據部分存儲分區(qū)ID信息。
19.根據權利要求16所述的方法,其中: 所述數(shù)據處理器根據系統(tǒng)地址從所述數(shù)據部分讀取數(shù)據; 所述存儲器控制器從對應于系統(tǒng)地址的所述地址RAM獲得數(shù)據部分地址,并且向所述地址系統(tǒng)提供所述數(shù)據部分地址以識別所述數(shù)據部分中的位置用于讀??;以及所述數(shù)據部分從對應于所述數(shù)據部分地址的位置向所述處理器提供數(shù)據。
20.根據權利要求19所述的方法,其中所述數(shù)據部分具有數(shù)據塊,并且所述地址各自具有數(shù)據塊部分和數(shù)據塊部分中的位置。
21.根據權利要求20所述的方法,其中在讀取期間,所述非易失性存儲器接收選擇地址,所述選擇地址是來自所述系統(tǒng)地址的數(shù)據塊內的所述位置和來自所述RAM地址的所述數(shù)據塊部分的組合。
【文檔編號】G11C16/14GK103514953SQ201310247508
【公開日】2014年1月15日 申請日期:2013年6月21日 優(yōu)先權日:2012年6月22日
【發(fā)明者】R·S·斯考勒, F·K·小巴克爾, R·J·西茲代克 申請人:飛思卡爾半導體公司