亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

待調(diào)度驗(yàn)證的非易失性寫入緩沖器數(shù)據(jù)保留的制作方法

文檔序號(hào):6766344閱讀:144來(lái)源:國(guó)知局
待調(diào)度驗(yàn)證的非易失性寫入緩沖器數(shù)據(jù)保留的制作方法
【專利摘要】本申請(qǐng)公開了待調(diào)度驗(yàn)證的非易失性寫入緩沖器數(shù)據(jù)保留。方法和裝置用于在存儲(chǔ)器中管理數(shù)據(jù)。根據(jù)一些實(shí)施例,非易失性(NV)緩沖器適于存儲(chǔ)具有所選邏輯地址的輸入寫入數(shù)據(jù)。寫入電路適于當(dāng)在所述NV緩沖器中保留所述存儲(chǔ)的輸入寫入數(shù)據(jù)時(shí),向NV主存儲(chǔ)器傳輸所述輸入寫入數(shù)據(jù)的副本。驗(yàn)證電路適于在預(yù)定逝去時(shí)間間隔結(jié)束時(shí),執(zhí)行驗(yàn)證操作以驗(yàn)證所述輸入寫入數(shù)據(jù)的副本成功傳輸?shù)剿鯪V主存儲(chǔ)器。所述輸入寫入數(shù)據(jù)保留在所述NV緩沖器中直到驗(yàn)證成功傳輸。
【專利說(shuō)明】待調(diào)度驗(yàn)證的非易失性寫入緩沖器數(shù)據(jù)保留
[0001]發(fā)明概述
[0002]本發(fā)明的各個(gè)實(shí)施例一般涉及管理數(shù)據(jù)存儲(chǔ)設(shè)備中的數(shù)據(jù)。
[0003]根據(jù)一些實(shí)施例,非易失性(NV)緩沖器適于存儲(chǔ)具有所選邏輯地址的輸入寫入數(shù)據(jù)。寫入電路適于當(dāng)在所述NV緩沖器中保留所述存儲(chǔ)的輸入寫入數(shù)據(jù)時(shí),向NV主存儲(chǔ)器傳輸所述輸入寫入數(shù)據(jù)的副本。驗(yàn)證電路適于在預(yù)定逝去時(shí)間間隔結(jié)束時(shí),執(zhí)行驗(yàn)證操作以驗(yàn)證所述輸入寫入數(shù)據(jù)的副本成功傳輸?shù)剿鯪V主存儲(chǔ)器。
[0004]鑒于下文的詳細(xì)討論和附圖,可以理解表征本發(fā)明實(shí)施例的這些和其他特征以及方面。
[0005]附圖簡(jiǎn)述
[0006]圖1提供根據(jù)本發(fā)明的各種實(shí)施例的數(shù)據(jù)存儲(chǔ)設(shè)備的功能框圖表示。
[0007]圖2示出根據(jù)一些實(shí)施例的圖1的設(shè)備的各方面。
[0008]圖3示出來(lái)自圖2的閃速存儲(chǔ)器的閃速存儲(chǔ)器單元格。
[0009]圖4示意地表示了根據(jù)一些實(shí)施例的閃速存儲(chǔ)器單元格的陣列的一部分。
[0010]圖5示出圖2的閃速存儲(chǔ)器陣列的擦除塊。
[0011]圖6表示用于圖2的非易失性(NV)寫入緩沖器的自旋力矩轉(zhuǎn)移隨機(jī)存取存儲(chǔ)器(STRAM)單元格。
[0012]圖7示出用于圖2的非易失性(NV)寫緩沖器的阻抗隨機(jī)存取存儲(chǔ)器(RRAM)單元格。
[0013]圖8示出用于圖2的非易失性(NV)寫入緩沖器的相變隨機(jī)存取存儲(chǔ)器(PCRAM)單元格。
[0014]圖9是根據(jù)一些實(shí)施例的NV緩沖器的可重寫非易失性存儲(chǔ)器單元格的布置的示意圖。
[0015]圖10提供了使用圖9所配置的可改寫存儲(chǔ)單元格的NV緩沖器的示例性格式。
[0016]圖11示出根據(jù)一些實(shí)施例由圖2的設(shè)備執(zhí)行的示例性驗(yàn)證操作。
[0017]圖12示出根據(jù)一些實(shí)施例由圖2的設(shè)備執(zhí)行的比較運(yùn)算。
[0018]圖13示出了根據(jù)進(jìn)一步實(shí)施例由設(shè)備產(chǎn)生哈希值。
[0019]圖14示出根據(jù)一些實(shí)施例由圖3的電路產(chǎn)生的哈希值的使用。
[0020]圖15表示在根據(jù)一些實(shí)施例數(shù)據(jù)的不同寫入模式的使用。
[0021]圖16是根據(jù)本公開的各種實(shí)施例一般性表示可以執(zhí)行的步驟的DATAWRITE例程。
[0022]發(fā)明詳述
[0023]本發(fā)明總體上涉及到在數(shù)據(jù)存儲(chǔ)設(shè)備中管理數(shù)據(jù)。
[0024]非易失性(NV)存儲(chǔ)器傾向于以該方式存儲(chǔ)數(shù)據(jù):諸如從存儲(chǔ)設(shè)備去除電源之后,所存儲(chǔ)的數(shù)據(jù)保留在存儲(chǔ)器中,而不需要刷新操作以保持?jǐn)?shù)據(jù)狀態(tài)。
[0025]可以執(zhí)行寫入驗(yàn)證操作(有時(shí)被稱為讀/寫驗(yàn)證操作或簡(jiǎn)單地驗(yàn)證操作)以確保在寫操作期間數(shù)據(jù)已被成功地寫入到非易失性存儲(chǔ)器中。
[0026]通常,驗(yàn)證操作可必需暫時(shí)在本地緩沖存儲(chǔ)器中緩存數(shù)據(jù),將數(shù)據(jù)寫入到主存儲(chǔ)器,以使數(shù)據(jù)從局部緩沖器復(fù)制到主存儲(chǔ)器,從主存儲(chǔ)器讀取數(shù)據(jù)集,以及比較從主存儲(chǔ)器讀回的數(shù)據(jù)與在本地緩沖器中的原始數(shù)據(jù)集。如果兩個(gè)數(shù)據(jù)集匹配,寫入操作可以被驗(yàn)證為已取得成功,以及本地緩沖器中的原始數(shù)據(jù)集可以被拋棄或以其他方式丟棄,以為其他數(shù)據(jù)騰出空間。
[0027]如果在完成驗(yàn)證操作之前發(fā)生停電或其他干擾事件,或者如果在驗(yàn)證操作之前數(shù)據(jù)損壞或從本地緩存拋棄,如果寫操作是不成功的,數(shù)據(jù)可能會(huì)丟失。由于這些風(fēng)險(xiǎn),通常在將數(shù)據(jù)傳輸?shù)絅V主存儲(chǔ)器之前,使用非易失性(NV)本地緩沖器以臨時(shí)存儲(chǔ)高優(yōu)先級(jí)的寫入數(shù)據(jù)。
[0028]在NV緩沖器中緩沖輸入數(shù)據(jù)實(shí)質(zhì)上可以確保數(shù)據(jù)總是存儲(chǔ)在NV存儲(chǔ)器中,這往往會(huì)降低數(shù)據(jù)丟失的風(fēng)險(xiǎn)。此外,在NV緩沖器中緩沖輸入數(shù)據(jù)允許一旦主機(jī)接收數(shù)據(jù)則命令完成狀態(tài)安全地發(fā)往主機(jī)設(shè)備,允許隨后的寫入操作將數(shù)據(jù)移動(dòng)到NV主存儲(chǔ)器以便在更適當(dāng)?shù)臅r(shí)間執(zhí)行,而不需要寫入操作立刻給予響應(yīng)。
[0029]雖然可操作,仍然存在持續(xù)的需要用于改進(jìn)將寫入數(shù)據(jù)傳輸?shù)絅V主存儲(chǔ)器的方式。因此,本發(fā)明的各種實(shí)施例一般針對(duì)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中提高數(shù)據(jù)完整性和系統(tǒng)可靠性。
[0030]如下面所解釋的,各個(gè)實(shí)施例中通常采用NV主存儲(chǔ)器(諸如閃速存儲(chǔ)器),所述NV主存儲(chǔ)器存儲(chǔ)來(lái)自主機(jī)設(shè)備的用戶數(shù)據(jù)。NV寫入緩沖器用于臨時(shí)緩沖待傳輸?shù)街鞔鎯?chǔ)器的寫入數(shù)據(jù)。NV寫入緩沖器可采取非閃速NV結(jié)構(gòu),諸如磁性隨機(jī)存取存儲(chǔ)器(MRAM),自旋力矩轉(zhuǎn)移隨機(jī)存取存儲(chǔ)器(STRAM),阻抗隨機(jī)存取存儲(chǔ)器(RRAM),相變隨機(jī)存取存儲(chǔ)器(PCRAM),等等。
[0031]輸入的寫入數(shù)據(jù)被存儲(chǔ)在NV寫入緩沖器中,以及寫入操作被調(diào)度并執(zhí)行以從NV緩沖器向NV主存儲(chǔ)器復(fù)制寫入數(shù)據(jù)。一旦數(shù)據(jù)已被傳輸?shù)絅V主存儲(chǔ)器,啟動(dòng)預(yù)定的逝去時(shí)間間隔。
[0032]在一種方法中,可以通過(guò)使用定時(shí)器電路規(guī)定預(yù)定的逝去時(shí)間間隔,所述計(jì)時(shí)器電路啟動(dòng)時(shí)間間隔并一旦在所選時(shí)間量(例如,30秒,等等)過(guò)去時(shí)發(fā)送信號(hào)表示其完成。在另一種方法中,根據(jù)隨后訪問(wèn)命令(例如,讀取和/或?qū)懭朊?計(jì)數(shù),測(cè)量預(yù)定逝去時(shí)間間隔,以便接收X條訪問(wèn)命令(例如,10條命令等)以表示時(shí)間間隔。在后一種情況下,所測(cè)量的時(shí)間,該間隔期間經(jīng)過(guò)的測(cè)量時(shí)間相對(duì)于設(shè)備工作負(fù)載發(fā)生變化。
[0033]在逝去時(shí)間間隔結(jié)束時(shí),如果沒(méi)有接收中間更新寫入請(qǐng)求用于相關(guān)數(shù)據(jù),執(zhí)行驗(yàn)證操作以驗(yàn)證數(shù)據(jù)已成功寫入到NV主存儲(chǔ)器。如果寫入操作是成功的,NV緩緩沖器中的數(shù)據(jù)可以被拋棄,以為其它數(shù)據(jù)騰出空間。如果驗(yàn)證操作是不成功的,可以執(zhí)行另一次寫入操作或可以采取其他糾正措施。
[0034]如果在逝去時(shí)間間隔期間接收到中間寫入請(qǐng)求,系統(tǒng)可以檢查:新的寫入請(qǐng)求是否提供更新的寫入數(shù)據(jù)集。如果是這樣,則可以取消先前接收到數(shù)據(jù)集的調(diào)度驗(yàn)證操作,以及可以為新的寫入數(shù)據(jù)重新啟動(dòng)上述過(guò)程。
[0035]如果時(shí)間間隔期間對(duì)于待決寫入數(shù)據(jù)接收到中間讀取請(qǐng)求,讀取請(qǐng)求可以迅速地從NV緩沖器提供服務(wù)作為緩存命中。中間讀取和/或?qū)懭胝?qǐng)求的發(fā)生可引發(fā)一系列后處理活動(dòng),諸如改變緩存策略,寫入擴(kuò)增緩解,使用快速(“松散”)寫入,等等。
[0036]開始瀏覽圖1,可以理解各種實(shí)施例的這些和其他特征以及優(yōu)點(diǎn),圖1提供根據(jù)各種實(shí)施例構(gòu)建和操作的數(shù)據(jù)存儲(chǔ)設(shè)備。數(shù)據(jù)存儲(chǔ)設(shè)備100通常包括控制器102和存儲(chǔ)器模塊104。該控制器102提供設(shè)備100的頂級(jí)控制。存儲(chǔ)器模塊104從/向請(qǐng)求者實(shí)體存儲(chǔ)和檢索用戶數(shù)據(jù),諸如外部主機(jī)設(shè)備(未單獨(dú)列出)。在一些實(shí)施例中,控制器功能可以合并到存儲(chǔ)器模塊104中,使得單獨(dú)的控制器是不必要的。
[0037]為了提供具體示例,系統(tǒng)100被設(shè)想為基于閃速存儲(chǔ)器的存儲(chǔ)設(shè)備,諸如固態(tài)驅(qū)動(dòng)器(SSD),便攜式拇指驅(qū)動(dòng)器,記憶棒,存儲(chǔ)卡等。將理解的這僅僅是說(shuō)明性的而非限制性的,因?yàn)榇鎯?chǔ)器模塊104可以可替換地并入任何數(shù)量的不同類型的非易失性存儲(chǔ)器。
[0038]圖2示出根據(jù)一些實(shí)施例的圖1的設(shè)備100??刂破?02被描繪為具有合適編程的可編程處理器,所述合適編程存儲(chǔ)在本地存儲(chǔ)器中以指引俄主機(jī)設(shè)備的數(shù)據(jù)傳輸操作。存儲(chǔ)器模塊104包括接口( I/F)電路106,讀/寫/擦除(R/W/E)信道108,閃速存儲(chǔ)器陣列110,本地易失性緩沖器112和非易失性(NV)緩沖器114。
[0039]I/F電路106提供和主機(jī)的主接口通信,以接收和發(fā)送命令、狀態(tài)控制信息和數(shù)據(jù)。R/W/E信道108包括適當(dāng)?shù)男泻土序?qū)動(dòng)器以及其它解碼電路用于從閃速存儲(chǔ)器陣列110編碼、寫入和讀回?cái)?shù)據(jù)。信道108也在控制器102的指引下執(zhí)行其他操作(諸如碎片收集,緩存管理和驗(yàn)證操作)。
[0040]本地緩沖器112可以采用動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)或類似結(jié)構(gòu),并存儲(chǔ)與該閃速存儲(chǔ)器110相關(guān)聯(lián)的用戶數(shù)據(jù)和元數(shù)據(jù)。元數(shù)據(jù)可被存儲(chǔ)在閃速存儲(chǔ)器陣列110中,并當(dāng)必要時(shí)傳輸?shù)奖镜鼐彌_器112以支持各種訪問(wèn)(讀取和寫入)操作。
[0041]如下所述,一旦數(shù)據(jù)被復(fù)制到閃速存儲(chǔ)器110,NV緩沖器臨時(shí)存儲(chǔ)寫入數(shù)據(jù)候驗(yàn)證操作??梢栽O(shè)想:NV緩沖器112是可重寫的,從而數(shù)據(jù)可以被寫入到緩沖器中并然后根據(jù)需要改寫。
[0042]圖3示出來(lái)自閃速存儲(chǔ)器陣列110的閃速存儲(chǔ)單元120。半導(dǎo)體基板124中的摻雜區(qū)122形成由柵極結(jié)構(gòu)126橫跨的源和漏區(qū)122。該柵極結(jié)構(gòu)包括通過(guò)中間勢(shì)壘層132和134隔開的浮動(dòng)?xùn)艠O(FG)128和控制柵極(CG)130。關(guān)聯(lián)于在浮置柵極128上的電荷積累,數(shù)據(jù)被存儲(chǔ)到電池120格。
[0043]圖4示出排列為列136和行138的多個(gè)單元格120。每列136中的單元格120在NAND配置中互連并由單獨(dú)位線(BL) 140進(jìn)行存取。沿各行138的單元格120都連接到單獨(dú)字線(WL) 142,所述單獨(dú)字線142互連沿著相關(guān)行的每個(gè)單元格的控制柵極(GC) 130。
[0044]通過(guò)向位線140和字線142施加合適的電壓以將電荷從溝道遷移到各自的浮置柵極128而寫入(編程)單元格。單元格120的浮柵128上出現(xiàn)電荷增加閾值電壓,所述閾值電壓需要放置在控制柵130上以將單元格置于漏極-源極導(dǎo)通狀態(tài)。通過(guò)向各自的位線140和字線142施加連續(xù)電壓以檢測(cè)單元格轉(zhuǎn)換到導(dǎo)通狀態(tài)的閾值,而讀取(檢測(cè))編程狀態(tài)。
[0045]需要特殊的擦除操作以除去積累電荷并將單元格120返回到未擦除的初始化狀態(tài)。圖5示出從圖4提出的存儲(chǔ)器單元格120形成的擦除塊144。擦除塊144表示可一次受到擦除操作的存儲(chǔ)器單元格的最小分組。
[0046]該數(shù)據(jù)以頁(yè)146的形式存儲(chǔ)。擦除塊144總共有N個(gè)頁(yè)面,每個(gè)頁(yè)面存儲(chǔ)所選數(shù)據(jù)量(例如,4096比特等)。頁(yè)146對(duì)應(yīng)于存儲(chǔ)器單元格136的行;在單級(jí)單元格(SLC)記錄中,沿著所選行的每個(gè)單元格120存儲(chǔ)數(shù)據(jù)的單個(gè)頁(yè)面。在多級(jí)單元格(MLC)記錄中,沿著所選行的每個(gè)單元格120存儲(chǔ)兩(或更多)頁(yè)數(shù)據(jù)。一般情況下,每個(gè)單元格可通過(guò)提供2N不同積累的電荷水平而存儲(chǔ)多達(dá)N位數(shù)據(jù)。[0047]因?yàn)樵诓皇紫仁箚卧襁M(jìn)行擦除操作的情況下數(shù)據(jù)通常不能重寫到一組閃速存儲(chǔ)單元格120,因此與所選邏輯地址(例如,邏輯塊地址,LBA,等等)相關(guān)聯(lián)的每組數(shù)據(jù)一般被寫入到陣列中的新位置。例如,確定為L(zhǎng)BAX的數(shù)據(jù)塊可以被寫入圖5中的頁(yè)I。如果提供數(shù)據(jù)塊LBA X的隨后提交版本用于寫入,它可以被寫入新位置(例如,頁(yè)3,等等)。一般地,陣列110中的下一可用位置被選中用于寫入給定LBA的每個(gè)新版本。下一個(gè)可用位置可在相同擦除塊144中,或者更可能地,在最近分配的擦除塊144中。
[0048]元數(shù)據(jù)由設(shè)備100維護(hù)以跟蹤每個(gè)LBA的各種版本的位置。元數(shù)據(jù)可以包括一系列正向指針以管理每個(gè)LBA的最新版本位置。之前版本可被標(biāo)記為過(guò)時(shí)。當(dāng)在擦除塊中或由若干這樣的塊組成的較大碎片收集單元(GCU)中足夠水平的數(shù)據(jù)是陳舊的,擦除塊或GCU可進(jìn)行碎片收集處理,借此使得當(dāng)前版本數(shù)據(jù)遷移到新位置,擦除塊或GCU被擦除,并且擦除塊或GCU返回到以待分配的分配池用于存儲(chǔ)用戶數(shù)據(jù)的后續(xù)使用。
[0049]如上所述,圖2中的NV緩沖器114用于暫時(shí)緩沖輸入寫入數(shù)據(jù),所述輸入寫入數(shù)據(jù)將被寫入到陣列110中的一個(gè)或多個(gè)頁(yè)146。盡管不是必需的,但可以設(shè)想,NV緩沖器114將使用不同類型的固態(tài)非易失性存儲(chǔ)單元格結(jié)構(gòu)??梢允褂酶鞣N結(jié)構(gòu),例如但不限于由圖6-8所提出的。
[0050]圖6描述具有自旋力矩轉(zhuǎn)移隨機(jī)存取存儲(chǔ)器(STRAM)配置的存儲(chǔ)單元格150。該存儲(chǔ)單元格包括和開關(guān)設(shè)備154串聯(lián)的磁隧道結(jié)(MTJ) 152。該開關(guān)設(shè)備154被示為構(gòu)成金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)晶體管(M0SFET),但也可以使用其它形式的開關(guān)設(shè)備,包括諸如二極管的單向器件等。
[0051]MTJ152包括頂部和底部導(dǎo)電電極156和158,自由層160,參考層162以及介于中間的勢(shì)壘層164??梢允褂闷渌鸐TJ結(jié)構(gòu)。自由層160包括一層或多層具有可變磁取向的磁響應(yīng)材料。參考層包括一層或多層具有固定磁定向的磁響應(yīng)材料。參考層可以包括釘扎層(諸如永久磁鐵,合成反鐵磁(SAF)層等)以及被釘扎層,諸如通過(guò)釘扎層磁性定向的強(qiáng)磁性層。磁性取向的方向可垂直于或平行于通過(guò)MTJ152的電流方向。
[0052]所述MTJ結(jié)合自由層160相對(duì)于基準(zhǔn)層162的取向表現(xiàn)出不同的阻抗。在平行取向相對(duì)低的阻抗,其中所述自由層160被取向在和基準(zhǔn)層162的相同方向。在反平行取向提供相對(duì)高的阻抗,其中所述自由層160被取向在和基準(zhǔn)層162的相對(duì)方向。可以施加自旋扭矩電流以在平行和反平行方向之間轉(zhuǎn)換自由層。
[0053]存儲(chǔ)器單元150由多個(gè)控制線互連,包括位線(BL) 166,源極線(SL) 167和字線(WL)168。字線168操作為選擇線,從而使電流在所需方向通過(guò)位線166和源極線167之間的 MTJ152。
[0054]圖7提供阻抗性隨機(jī)存取存儲(chǔ)器(RRAM)單元格170。單元格170包括與圖6的開關(guān)裝置154組合的RRAM可編程元件172。頂部和底部導(dǎo)電電極174,176分離可構(gòu)成氧化物層或電解質(zhì)層的中間層。該中間層178通常具有相對(duì)高的阻抗。
[0055]在編程操作期間,啟動(dòng)可導(dǎo)致導(dǎo)電絲179形成的離子遷移,該導(dǎo)電絲179降低通過(guò)RRAM元件172的阻抗。通過(guò)向相應(yīng)字、位和源極線166、167和168施加編程電流序列而形成導(dǎo)電絲179??赏ㄟ^(guò)向單元格施加不同組合的電壓而使RRAM單元格170復(fù)位到其初始狀態(tài)??梢栽O(shè)想不一定形成導(dǎo)電絲的其他RRAM配置,諸如通過(guò)遷移離子或空穴橫跨勢(shì)壘或到中間結(jié)構(gòu)而導(dǎo)致元件182阻抗的可控變化從而進(jìn)行狀態(tài)改變的結(jié)構(gòu)。[0056]圖8示出相變隨機(jī)存取存儲(chǔ)器(PCRAM)單元格180。和以前一樣,電池180具有和圖6-7的開關(guān)設(shè)備154串聯(lián)的可編程元件182。頂部和底部電極184,186分離相變材料188。當(dāng)加熱到等于或高于其玻璃轉(zhuǎn)變溫度的溫度時(shí),相變材料是熱響應(yīng)性并過(guò)渡(熔化)。取決于該層188隨后冷卻的速度,該材料的至少一部分可利用具有相應(yīng)較高和較低阻抗的無(wú)定形或結(jié)晶狀態(tài)。圖8示出指示單元格180被編程為高阻抗?fàn)顟B(tài)的無(wú)定形區(qū)189。
[0057]但應(yīng)該理解:除了圖6-8所列舉的那些,可以利用其它形式的非易失性固態(tài)存儲(chǔ)器單元。圖9示出NV存儲(chǔ)器單元格190的一般使用,每個(gè)單元格都具有和開關(guān)設(shè)備(諸如設(shè)備154)組合的阻抗傳感元件(RSE) 192,其可對(duì)應(yīng)于圖6_8中元件152、172和182中所選擇的一個(gè)。單元格被排列成行和列,并經(jīng)由前述位166、源線167和字線168相互連接。
[0058]雖然不是必需的,可以設(shè)想:圖2中的NV緩沖114可采用圖9提出的結(jié)構(gòu)。NV緩沖器114本質(zhì)上是可重寫的,使得沿著每條字線168的每組單元格可經(jīng)配置以存儲(chǔ)待傳輸?shù)街鏖W速存儲(chǔ)器110的數(shù)據(jù),并然后當(dāng)需要時(shí)重寫新數(shù)據(jù),而不需要使得所述存儲(chǔ)器進(jìn)行擦除操作。
[0059]NV緩沖器114可具有比閃閃速存儲(chǔ)器110更快的數(shù)據(jù)I/O速率,以便需要時(shí)數(shù)據(jù)可以被快速地寫入和讀出NV緩沖器114,以支持所述閃速存儲(chǔ)器的存取操作。NV緩沖器114可經(jīng)配置以內(nèi)容可尋址存儲(chǔ)器(CAM)或類似緩存結(jié)構(gòu)的形式。圖10示出NV緩沖器114的示例性CAM結(jié)構(gòu)。CAM結(jié)構(gòu)最多可以存儲(chǔ)N個(gè)條目194。每個(gè)條目包括標(biāo)簽字段196中的標(biāo)識(shí)符標(biāo)記,以及字字段198中的字載荷。標(biāo)識(shí)符標(biāo)簽可以是LBA地址,以及字載荷可以是與LBA地址相關(guān)的相應(yīng)頁(yè)面數(shù)據(jù)。
[0060]圖11示出本發(fā)明的數(shù)據(jù)寫入管理電路200的各方面。電路200可以合并到以上討論的存儲(chǔ)器模塊104的各個(gè)方面以執(zhí)行驗(yàn)證和其他相關(guān)操作。為了本討論,可以設(shè)想:寫入數(shù)據(jù)集從主機(jī)提交到設(shè)備100用于寫入到主閃速存儲(chǔ)器陣列110。寫入數(shù)據(jù)被提供所選的邏輯塊地址,例如,LBA1001。在實(shí)踐中,可以理解:可以發(fā)出涉及將許多LBA數(shù)據(jù)寫入閃速存儲(chǔ)器的單條寫入請(qǐng)求(寫入命令)。
[0061]如該圖11所示,從主機(jī)接收的寫入數(shù)據(jù)臨時(shí)存儲(chǔ)在NV緩沖器114的可用條目194(圖10)中,以及輸入寫入數(shù)據(jù)的副本被寫入閃速存儲(chǔ)器陣列110的下一可用頁(yè)146 (圖5)。這些步驟如上面所討論的執(zhí)行,并且包括使用LBA量(1001)作為字段196中的相關(guān)條目和在字字段198中的用戶數(shù)據(jù)。可先于或隨后將寫入數(shù)據(jù)加載到NV緩沖器114而應(yīng)用編碼。將數(shù)據(jù)寫入到閃速存儲(chǔ)器陣列110包括:引用元數(shù)據(jù)以識(shí)別數(shù)據(jù)將被寫入的物理地址(例如,頁(yè)等),并向數(shù)據(jù)應(yīng)用適當(dāng)?shù)木幋a或其它處理用于存儲(chǔ)數(shù)據(jù)。該數(shù)據(jù)將相對(duì)于單元格128的相關(guān)浮柵上的累積電荷量而存儲(chǔ)到閃速存儲(chǔ)器單元120的所選行138。
[0062]一旦寫入數(shù)據(jù),定時(shí)器電路202啟動(dòng)預(yù)定逝去時(shí)間間隔的計(jì)數(shù)。間隔的長(zhǎng)度可以是任何合適的值,以及可以是幾秒鐘(例如3-5秒,等)或更多的數(shù)量級(jí)??梢赃x擇其它的持續(xù)時(shí)間,包括不同優(yōu)先級(jí)數(shù)據(jù)的不同延續(xù)時(shí)間。持續(xù)時(shí)間可進(jìn)一步根據(jù)設(shè)備100的工作載荷在操作過(guò)程中進(jìn)行自適應(yīng)改變。數(shù)據(jù)管理電路200進(jìn)一步調(diào)度在逝去時(shí)間間隔結(jié)束時(shí)要執(zhí)行的驗(yàn)證操作。
[0063]在一些實(shí)施例中,根據(jù)逝去時(shí)間經(jīng)過(guò)的間隔長(zhǎng)度可選擇為超過(guò)主存儲(chǔ)器(例如,閃存器110)的松散時(shí)間??梢岳斫?將數(shù)據(jù)寫入閃速存儲(chǔ)器涉及到電荷轉(zhuǎn)移到存儲(chǔ)器的浮柵結(jié)構(gòu),以及一旦電荷轉(zhuǎn)移完成,快閃單元格穩(wěn)定到最終積累的電荷狀態(tài)存在相對(duì)較短的持續(xù)時(shí)間。該時(shí)間間隔(對(duì)于當(dāng)前產(chǎn)生快閃存儲(chǔ)器單元,可能是大約30的持續(xù)時(shí)間或更多)在本文中稱為松弛時(shí)間。存儲(chǔ)器單元格的其它結(jié)構(gòu)可以具有不同的相關(guān)松散時(shí)間。通過(guò)選擇逝去時(shí)間間隔的持續(xù)時(shí)間超過(guò)該松散時(shí)間,可以在單元格的最終編程狀態(tài)已穩(wěn)定的時(shí)間點(diǎn)執(zhí)行驗(yàn)證操作。
[0064]在其它實(shí)施例中,定時(shí)器電路可以計(jì)數(shù)訪問(wèn)命令(例如,讀取和/或?qū)懭朊?以作為代替時(shí)間推移的度量。換句話說(shuō),可以相對(duì)于從主機(jī)設(shè)備接收到X條新訪問(wèn)命令來(lái)定義預(yù)定時(shí)間間隔,以便驗(yàn)證操作不被執(zhí)行,直到已經(jīng)接收(并且,在某些情況下提供服務(wù))X條命令。數(shù)X可以是任何復(fù)數(shù)整數(shù),諸如10,20,50等。將被理解的是:在這種情況下,間隔內(nèi)經(jīng)過(guò)的逝去時(shí)間的實(shí)際量將根據(jù)工作負(fù)載發(fā)生變化;在相對(duì)大量的I/O訪問(wèn)命令被提供服務(wù)的較高工作負(fù)載環(huán)境下,間隔內(nèi)經(jīng)過(guò)時(shí)間的實(shí)際總量將比具有相對(duì)較低數(shù)量的I/O訪問(wèn)命令的較低工作負(fù)載環(huán)境更短。
[0065]在該時(shí)間間隔期間,設(shè)備100以正常工作模式運(yùn)行并當(dāng)需要時(shí)服務(wù)其他的訪問(wèn)請(qǐng)求。一旦定時(shí)器電路202信號(hào)表示逝去時(shí)間間隔結(jié)束,所調(diào)度的驗(yàn)證操作開始(除了如下面討論的)。R/W/E信道108從閃速存儲(chǔ)器陣列110讀回在時(shí)間間隔開始時(shí)寫入的數(shù)據(jù)。讀回?cái)?shù)據(jù)可以臨時(shí)存儲(chǔ)在本地緩沖器112或某一其它合適位置中,包括需要時(shí)NV緩沖器。如果在寫入操作期間向數(shù)據(jù)應(yīng)用編碼,應(yīng)用合適的解碼(例如,誤差檢測(cè)和校正等),以便數(shù)據(jù)名義上具有和尚待在NV緩沖器114的寫入數(shù)據(jù)的相同狀態(tài)。
[0066]比較電路204使用任何數(shù)量的已知技術(shù)比較在NV緩沖器114中的原始寫入數(shù)據(jù)和讀回?cái)?shù)據(jù),包括應(yīng)用異或(XOR)運(yùn)算。
[0067]取決于驗(yàn)證操作的結(jié)果以及逝去時(shí)間間隔期間是否發(fā)生其他事件,許多不同的處理路徑被描繪在圖11中。
[0068]如果比較電路204確定兩個(gè)數(shù)據(jù)集匹配時(shí),寫入操作被驗(yàn)證為已成功以及寫入數(shù)據(jù)被隨后從NV緩沖器112刪除(拋棄),如在步驟206所描述。但應(yīng)該理解:如果在NV緩沖器112中有可用的高速緩存行194,數(shù)據(jù)不一定被立即刪除或覆蓋,而是可以當(dāng)高速緩存行隨后需要適應(yīng)新數(shù)據(jù)時(shí)被選擇重寫。將寫入數(shù)據(jù)留在NV緩存器中實(shí)質(zhì)上沒(méi)有增加處理成本,可以在過(guò)渡期間使得后續(xù)的讀取緩存命中。
[0069]如果比較電路204確定兩個(gè)數(shù)據(jù)集不匹配,則推定錯(cuò)誤已經(jīng)發(fā)生并如步驟208所指示的采取糾正操作。糾正操作可包括將數(shù)據(jù)重寫到閃速存儲(chǔ)器陣列110的新位置,并重復(fù)上述步驟。失敗可由于在閃速存儲(chǔ)器中的缺陷或其他異常狀態(tài),因此,也可以采取其它步驟。例如,向其中寫入數(shù)據(jù)的位置可進(jìn)行評(píng)估用于可能的釋放,等等。
[0070]圖11示出在210的其他處理路徑,指示由設(shè)備100從主機(jī)設(shè)備接收對(duì)于在NV緩沖器114 (例如LBA1001)中存儲(chǔ)的寫入數(shù)據(jù)的讀取請(qǐng)求的情況。如果是這樣,寫入數(shù)據(jù)的副本被輸出作為來(lái)自NV緩沖器114的讀回?cái)?shù)據(jù),并標(biāo)示為路徑211。這構(gòu)成高速緩存命中。
[0071]對(duì)于數(shù)據(jù)立即接收讀取請(qǐng)求的事實(shí)進(jìn)一步導(dǎo)致將數(shù)據(jù)分類為“熱”數(shù)據(jù),S卩,在主機(jī)中的數(shù)據(jù)目前展示比較高水平的關(guān)注。因此,LBA1001的熱寫入數(shù)據(jù)維護(hù)在NV緩沖器114中,以期望后續(xù)的高速緩存命中。如將理解的:高速緩存命中通常是理想的,因?yàn)橄嚓P(guān)的讀取請(qǐng)求可被滿足,而不需要從閃速存儲(chǔ)器陣列110讀出數(shù)據(jù),從而節(jié)省了時(shí)間和系統(tǒng)資源。
[0072]在此點(diǎn)也可以采取其他步驟,諸如將空間上或時(shí)間上相關(guān)于LBA1001的寫入數(shù)據(jù)的其他數(shù)據(jù)遷移到NV緩沖器114作為推測(cè)性讀取操作以進(jìn)一步支持潛在的高速緩存命中。空間地(空間)相關(guān)的數(shù)據(jù)可以是LBA序列(例如,個(gè)LBA1002,1003等)中的附近LBA。時(shí)間地(時(shí)間)相關(guān)的數(shù)據(jù)可是在和LBA1001相同時(shí)間寫入的LBA。
[0073]圖12表示可由數(shù)據(jù)管理電路200執(zhí)行的操作的相關(guān)序列。和以前一樣,LBA1001的寫入數(shù)據(jù)從主機(jī)接收,并儲(chǔ)存在NV緩沖器114以及復(fù)制到主閃速存儲(chǔ)器陣列110。在此時(shí),定時(shí)器電路202開始計(jì)數(shù)逝去時(shí)間間隔,以及一旦時(shí)間間隔完成調(diào)度要發(fā)生的驗(yàn)證操作。
[0074]然而,在完成逝去時(shí)間間隔之前,從主機(jī)接收對(duì)和LBA1001關(guān)聯(lián)的新的寫入請(qǐng)求,如標(biāo)示為路徑214。在這一點(diǎn),該電路200確定新的寫入數(shù)據(jù)是否不同于在NV緩沖器中的現(xiàn)有數(shù)據(jù)。比較電路204以類似于上面討論的圖11的比較方式比較這兩個(gè)數(shù)據(jù)集??刹捎迷S多不同的可能的處理路徑。
[0075]如由步驟216所示,如果兩個(gè)數(shù)據(jù)集匹配,則主機(jī)設(shè)備簡(jiǎn)單地提供相同數(shù)據(jù)的另一寫入請(qǐng)求,并且可忽略新的數(shù)據(jù)。避免相同數(shù)據(jù)集的重復(fù)寫入(寫入擴(kuò)增)可以有利地減少時(shí)間和系統(tǒng)資源的支出,并可減少磨損。
[0076]如果兩個(gè)數(shù)據(jù)集不匹配,如由步驟218所示,從NV緩存器114拋棄LBA1001的寫入數(shù)據(jù)的舊版本,停止定時(shí)器電路倒計(jì)時(shí),以及取消驗(yàn)證操作。因此如上所述,處理LBA1001的新的寫入數(shù)據(jù)集(包括新的時(shí)間間隔和調(diào)度的驗(yàn)證操作)。
[0077]可在步驟220應(yīng)用額外處理。因?yàn)樵谙鄬?duì)較短時(shí)間中已從主機(jī)接收多個(gè)寫入請(qǐng)求,數(shù)據(jù)可以被分類為如前的“熱”數(shù)據(jù)。在這種情況下,隨后接收的熱寫入數(shù)據(jù)集可以使用哈希和/或快速(松散)寫入進(jìn)行處理。
[0078]哈希發(fā)生器222如圖13所示。通常,哈希發(fā)生器222使用哈希函數(shù)以從輸入數(shù)據(jù)集生成一組哈希值。哈希函數(shù)可以表征為任何數(shù)量的不同類型的算法,這些算法將所選長(zhǎng)度的第一數(shù)據(jù)集(“密鑰”)映射到所選長(zhǎng)度的第二數(shù)據(jù)集(“哈希值”)。在許多情況下,所述第二數(shù)據(jù)集比所述第一數(shù)據(jù)集短。哈希發(fā)生器22所使用的的哈希函數(shù)應(yīng)該是變形的、引用透明的以及抗碰撞的。
[0079]變形涉及以如下方式改變哈希函數(shù)的輸入值:輸入值(密鑰)的內(nèi)容不能通過(guò)輸出哈希值的粗略檢查中而恢復(fù)。引用透明性是哈希函數(shù)的特性,以使得每次呈現(xiàn)相同的輸入值時(shí)產(chǎn)生相同的輸出哈希值。抗碰撞性是指示具有不同比特值的兩個(gè)輸入并不映射到相同輸出哈希值的特性。哈希發(fā)生器222所使用的的哈希函數(shù)或多個(gè)函數(shù)可以采用任意數(shù)量的形式,包括校驗(yàn)和、校驗(yàn)位、指紋、密碼功能、校驗(yàn)值等。
[0080]在一些實(shí)施例中,應(yīng)用Sha系列的哈希函數(shù)(諸如Sha256)。Sha256哈希的所選比特(諸如Sha哈希值的最不顯著位等)也可以用作哈希值。
[0081]哈希發(fā)生器222可經(jīng)配置以產(chǎn)生由系統(tǒng)需要的哈希值。如該圖13所示,在圖12的更新寫入數(shù)據(jù)的隨后寫入期間,哈希值并生成并和的更新寫入數(shù)據(jù)的副本一起存儲(chǔ)在閃存存儲(chǔ)器陣列110中。在隨后的驗(yàn)證操作期間,如上圖11所述比較發(fā)生。然而,并非比較輸入寫入數(shù)據(jù)的完成集合和讀回?cái)?shù)據(jù),而是由比較電路204比較相關(guān)的哈希值。以這種方式,可以執(zhí)行高效比較以驗(yàn)證數(shù)據(jù)成功寫入到閃速存儲(chǔ)器陣列110。
[0082]哈希值可以進(jìn)一步用于在寫入拒絕處理期間降低圖14提出的寫入擴(kuò)增。在圖14中,所選LBA (即LBA1001)的新版本的寫入數(shù)據(jù)被接收用于寫入到閃速存儲(chǔ)器陣列110,并暫時(shí)緩沖在NV緩沖器114中。元數(shù)據(jù)解碼電路224訪問(wèn)在閃速存儲(chǔ)器陣列110中存儲(chǔ)的元數(shù)據(jù),以確定所選LBA的先前存儲(chǔ)數(shù)據(jù)的位置并返回先前存儲(chǔ)的(舊)哈希值。
[0083]哈希發(fā)生器222產(chǎn)生新的哈希值用于輸入寫入數(shù)據(jù),以及比較電路204比較新的哈希值與舊的哈希值。如果哈希值匹配,則新版本的寫入數(shù)據(jù)僅僅是現(xiàn)有數(shù)據(jù)的副本存在統(tǒng)計(jì)地顯著概率。在這點(diǎn),可以像以前一樣拋棄新的寫入數(shù)據(jù),因?yàn)闆](méi)有必要存儲(chǔ)相同數(shù)據(jù)的新的重復(fù)的副本。如果在寫入拒絕過(guò)程需要進(jìn)一步的保證級(jí)別,可以通過(guò)檢索先前存儲(chǔ)的數(shù)據(jù)并使用XOR函數(shù)或類似地執(zhí)行完全的逐位比較繼續(xù)操作,如以上在圖11所討論的。
[0084]通過(guò)實(shí)施熱寫入數(shù)據(jù)(在驗(yàn)證操作的未決期間接收寫入請(qǐng)求的數(shù)據(jù))的哈希值,可以執(zhí)行重復(fù)數(shù)據(jù)的快速拒絕并減少寫入擴(kuò)增。
[0085]圖15說(shuō)明了如何使用松散寫入,該松散寫入可進(jìn)一步用于在隨后的寫入操作期間對(duì)于熱寫入數(shù)據(jù)實(shí)施。如圖15所示,R/W/E電路108包括適于接收多個(gè)輸入的控制電路226,該控制電路226包括快速(松散)寫入選擇信號(hào)通過(guò)路徑228和慢速(正常)寫入選擇信號(hào)通過(guò)路徑230。這些信號(hào)可以根據(jù)需要由數(shù)據(jù)管理器電路200生成并輸出。默認(rèn)設(shè)置為慢速(正常)寫入過(guò)程。
[0086]電路108在圖15中進(jìn)一步示出以包括電荷泵電路232和編程驗(yàn)證電路234。這些電路232、234是在控制電路226的控制之下。該電荷泵電路232通常操作以將電荷量子傳送到被編程的相關(guān)閃速存儲(chǔ)器單元120。編程校驗(yàn)電路234周期性地施加讀取驗(yàn)證閾值以評(píng)估在單元格120的浮柵128 (圖3)上累積的電荷總量。
[0087]在慢速(正常)寫入選擇模式下,電路232、234以正常方式工作用于向閃速存儲(chǔ)器單元施加電荷。在某些情況下,該操作可包括:在存儲(chǔ)設(shè)備(諸如電容器)上積累來(lái)自電壓源的電荷,并經(jīng)由相關(guān)位線和字線將電荷傳輸?shù)絾卧?20 (圖4),以逐步增加浮柵上累積的電荷量。編程校驗(yàn)電路可以在各電荷傳輸操作結(jié)束時(shí)運(yùn)行以評(píng)估單元格120的累積電荷總量??梢詰?yīng)用第一正常集合的處理參數(shù)(諸如閾值)以確保編程單元格上的電荷總量落在選定的范圍內(nèi)。
[0088]在快速(松散)寫入選擇模式下,除了以更快、更可控的方式,電路232、234如上操作。以精度為代價(jià),可以應(yīng)用一些技術(shù)以加快編程過(guò)程。電荷泵電路例如可經(jīng)配置以在每次傳輸期間比正常操作傳送更大量的電荷,和/或在由評(píng)價(jià)驗(yàn)證電路234評(píng)價(jià)之前可連續(xù)傳輸更大量的電荷集。
[0089]此外,當(dāng)判定編程操作是否已經(jīng)完成時(shí),該編程驗(yàn)證電路234可以使用第二組松散參數(shù)閾值??梢栽O(shè)想:松散寫入處理將傾向于比正常寫入處理更快地寫入數(shù)據(jù),并可能具有總功率的較低拉伸,但和使用正常處理編程相同單元格相比,最后編程的單元格往往表現(xiàn)出更大的電荷分布變化。
[0090]應(yīng)當(dāng)理解:對(duì)于熱寫入數(shù)據(jù)使用松散寫入的一個(gè)基礎(chǔ)在于,期望閃速存儲(chǔ)器陣列110中的數(shù)據(jù)持續(xù)時(shí)間可比正常數(shù)據(jù)基本上短。因此,該系統(tǒng)可容忍具有更大電荷分布變化的短期存儲(chǔ)數(shù)據(jù)。
[0091]圖16限定DATA WRITE例程300,一般性示出根據(jù)上述討論的步驟在寫入數(shù)據(jù)處理過(guò)程中可由設(shè)備100執(zhí)行的步驟。在步驟302從主機(jī)設(shè)備結(jié)合寫入請(qǐng)求(命令)接收寫入數(shù)據(jù)(諸如如上所述對(duì)于LBA1001的入數(shù)據(jù))。在步驟304,輸入寫入數(shù)據(jù)被存儲(chǔ)在可重寫非易失性(NV)緩沖器(諸如114)中。也可以采用寫回處理,以便向主機(jī)通知在該點(diǎn)數(shù)據(jù)已被成功寫入。[0092]該例程進(jìn)行步驟306,其中寫入數(shù)據(jù)從NV緩沖器復(fù)制到NV主存儲(chǔ)器(諸如閃存存儲(chǔ)器陣列110)。在步驟308啟動(dòng)定時(shí)器電路(諸如202)以啟動(dòng)預(yù)定逝去時(shí)間間隔。將會(huì)注意到:該計(jì)時(shí)器電路可以作為計(jì)數(shù)器以測(cè)量預(yù)選時(shí)間量的經(jīng)過(guò)??商鎿Q地,所述計(jì)時(shí)器電路可以計(jì)算由設(shè)備從主機(jī)接收的中間訪問(wèn)命令并一旦接收(并且,根據(jù)需要進(jìn)行處理)訪問(wèn)命令的預(yù)定次數(shù)X (例如X=10,等等)則結(jié)束該時(shí)間間隔。在步驟310調(diào)度校驗(yàn)操作用于在步驟306寫入的數(shù)據(jù),一旦逝去時(shí)間間隔已結(jié)束,驗(yàn)證操作試探性地發(fā)生。
[0093]例程接下來(lái)處理在逝去時(shí)間間隔過(guò)程中發(fā)生的事件(如果有的話)。確定步驟312詢問(wèn)是否(例如LBA1001)已接收寫入數(shù)據(jù)的讀取請(qǐng)求。如果是,則處理轉(zhuǎn)到步驟314,在該步驟314,該讀取請(qǐng)求被滿足作為來(lái)自NV緩沖器114的緩存命中,以及寫入數(shù)據(jù)被表示為熱數(shù)據(jù)用于將來(lái)的處理。在該點(diǎn)或在后面的處理中,空間上或時(shí)間上相鄰的數(shù)據(jù)可以被遷移到NV緩沖器114用于將來(lái)的緩存命中。此外,可制定緩存保留策略,以至于在驗(yàn)證操作成功結(jié)束后這些數(shù)據(jù)保持在NV緩沖器114中。
[0094]繼續(xù)例程,流程進(jìn)行到確定步驟316,該確定步驟316詢問(wèn)在該時(shí)間間隔期間是否接收到寫入請(qǐng)求。如果是,則例程轉(zhuǎn)到步驟318,它確定新的寫入請(qǐng)求是否是對(duì)于相同數(shù)據(jù)(例如,對(duì)于LBA1001)或新的寫請(qǐng)求是否是對(duì)于不同的數(shù)據(jù)集合。在后者的情況下,例程回到步驟306并寫入新的數(shù)據(jù)集合以及為新數(shù)據(jù)啟動(dòng)新的經(jīng)過(guò)時(shí)間間隔。可以設(shè)想:定時(shí)電路202可以對(duì)于任意數(shù)量的數(shù)據(jù)集同時(shí)管理任意數(shù)量的不同的重疊的經(jīng)過(guò)時(shí)間間隔。
[0095]如果新的寫入數(shù)據(jù)具有和待寫入數(shù)據(jù)的相同邏輯地址(例如,兩者都對(duì)于LBA1001),例程從步驟318進(jìn)行到步驟320,在步驟320,對(duì)各個(gè)數(shù)據(jù)集之間進(jìn)行比較。該操作在以上圖12中討論。如果在確定步驟222確定兩個(gè)數(shù)據(jù)集匹配,則在步驟324新的寫入數(shù)據(jù)可以被丟棄為不必要的。
[0096]如果寫入數(shù)據(jù)集不匹配,則可推定該新寫入數(shù)據(jù)集是更新數(shù)據(jù),或者最新版本的數(shù)據(jù),以及舊的數(shù)據(jù)集現(xiàn)在是舊的舊版本數(shù)據(jù)。在這種情況下,不需要進(jìn)一步執(zhí)行較舊數(shù)據(jù)的寫入驗(yàn)證。例程進(jìn)行到步驟326,在該步驟326,停止當(dāng)前的時(shí)間間隔,取消來(lái)自步驟310的調(diào)度驗(yàn)證操作,以及新的寫入數(shù)據(jù)被表示為熱數(shù)據(jù)。如以上在圖13-15中描述地,這可需要使用哈希值和/或松散寫入用于對(duì)相關(guān)LBA的后續(xù)寫入操作。
[0097]另一方面,如果隨著逝去時(shí)間間隔繼續(xù)進(jìn)行,沒(méi)有接收讀取請(qǐng)求(步驟312)和寫入請(qǐng)求(步驟316),例程進(jìn)行到確定步驟328,該確定步驟328確定逝去時(shí)間間隔是否已完成。如果不是,則例程循環(huán)返回,必要時(shí)處理任何接收的讀取和/或?qū)懭胝?qǐng)求。
[0098]在逝去時(shí)間間隔將已結(jié)束的某些點(diǎn),在該點(diǎn)處理由步驟328進(jìn)行到步驟330,在該步驟330執(zhí)行調(diào)度驗(yàn)證步驟,如圖11 一般性提出地。如果寫入驗(yàn)證成功,只要在過(guò)渡期間接收讀取請(qǐng)求,則可以從所述NV緩沖器拋棄寫入數(shù)據(jù)。該過(guò)程然后在步驟332結(jié)束,但可以理解的是,多個(gè)待寫入數(shù)據(jù)集可以同時(shí)進(jìn)行圖16的流程并相應(yīng)處理。
[0099]現(xiàn)在將理解的是:本文中所呈現(xiàn)的各種實(shí)施例可提供許多優(yōu)勢(shì)。使用NV緩存器以臨時(shí)緩沖輸入寫入數(shù)據(jù)可有助于減少功率損耗或其他異常事件情況下的數(shù)據(jù)丟失。使用定時(shí)器以延遲寫入驗(yàn)證處理可以使系統(tǒng)在更方便的時(shí)間調(diào)度驗(yàn)證操作,以及基于中間讀取和/或?qū)懭胝?qǐng)求而確定數(shù)據(jù)的相對(duì)狀態(tài)(例如,數(shù)據(jù)是否可以被看作是熱讀取數(shù)據(jù)和/或熱寫入數(shù)據(jù))。實(shí)際上,如果在時(shí)間間隔內(nèi)接收給定邏輯地址的更新數(shù)據(jù),則延遲允許執(zhí)行不必要的驗(yàn)證操作。[0100]將某些數(shù)據(jù)標(biāo)識(shí)為熱數(shù)據(jù)(熱讀取數(shù)據(jù)或熱寫入數(shù)據(jù))進(jìn)一步允許實(shí)施合適的緩存策略和寫入策略,諸如推測(cè)性讀取出棧、利用哈希值以及使用快速(松散)寫入??梢詼p少寫入擴(kuò)增,這可趨向于增加有效的數(shù)據(jù)I/o速率,并減少NV主存儲(chǔ)器的磨損。
[0101]雖然不是必要的限制,但可以設(shè)想:可重寫NV緩沖器(諸如但不限于RRAM,STRAM,PCRAM等)可以有利地?cái)U(kuò)展由不同結(jié)構(gòu)組成的NV主存儲(chǔ)器的操作性能,諸如可擦除閃速存儲(chǔ)器。可以使用其它類型的緩沖器和主存儲(chǔ)器。
[0102]已在前面的描述中列出本發(fā)明的多個(gè)實(shí)施例的多個(gè)特征和優(yōu)點(diǎn),以及結(jié)構(gòu)和功能細(xì)節(jié)。然而,該詳細(xì)描述僅是說(shuō)明性的,可在細(xì)節(jié)上進(jìn)行改變,特別是在本公開的原理內(nèi)在結(jié)構(gòu)和部件配置方面,以及本發(fā)明的全部范圍由在此標(biāo)識(shí)所附權(quán)利要求的術(shù)語(yǔ)的廣泛的一般含義表明。
【權(quán)利要求】
1.一種方法,包括: 在非易失性(NV)緩沖器中存儲(chǔ)輸入寫數(shù)據(jù),所述輸入寫數(shù)據(jù)具有相關(guān)聯(lián)的邏輯地址; 當(dāng)在所述NV緩沖器中保留所述存儲(chǔ)的輸入寫入數(shù)據(jù)時(shí),向NV主存儲(chǔ)器傳輸所述輸入寫入數(shù)據(jù)的副本;以及 在預(yù)定逝去時(shí)間間隔結(jié)束時(shí),執(zhí)行驗(yàn)證操作以驗(yàn)證所述輸入寫入數(shù)據(jù)的副本成功傳輸?shù)剿鯪V主存儲(chǔ)器。
2.如權(quán)利要求1所述的方法,其中所述NV緩沖器是可重寫固態(tài)存儲(chǔ)器,以及NV主存儲(chǔ)器是可擦固態(tài)存儲(chǔ)器。
3.如權(quán)利要求2所述的方法,其中,所述可重寫固態(tài)存儲(chǔ)器是自旋扭矩隨機(jī)存取存儲(chǔ)器(STRAM)、阻抗隨機(jī)存取存儲(chǔ)器(RRAM)或相變隨機(jī)存取存儲(chǔ)器(PCRAM)中選定的一個(gè),以及所述可擦除固態(tài)存儲(chǔ)器是閃速存儲(chǔ)器。
4.如權(quán)利要求1所述的方法,其中,響應(yīng)于在NV緩沖器中不存在與所述輸入寫入數(shù)據(jù)相關(guān)聯(lián)的中間寫入請(qǐng)求,執(zhí)行所述執(zhí)行步驟的寫入操作,并且其中響應(yīng)于在NV緩沖器中存在與所述輸入寫入數(shù)據(jù)相關(guān)聯(lián)的中間寫入請(qǐng)求,不執(zhí)行所述驗(yàn)證操作。
5.如權(quán)利要求1所述的方法,進(jìn)一步包括:響應(yīng)于在逝去時(shí)間間隔期間并在所述驗(yàn)證操作之前接收的讀取請(qǐng)求,從所述NV緩沖器向主機(jī)傳輸所述輸入寫入數(shù)據(jù)的副本,并在所述驗(yàn)證操作成功結(jié)束之 后,實(shí)施緩存保留策略的變化以在所述NV緩存器中保留所述輸入寫入數(shù)據(jù)。
6.如權(quán)利要求5所述的方法,進(jìn)一步包括:響應(yīng)于所述讀請(qǐng)求,向NV緩沖器傳輸空間上和/或時(shí)間上與所述輸入寫入數(shù)據(jù)相關(guān)的第二數(shù)據(jù)集,作為推測(cè)性數(shù)據(jù)出棧。
7.如權(quán)利要求1所述的方法,其中所述方法進(jìn)一步包括:在預(yù)定逝去時(shí)間間隔結(jié)束之前,接收具有和在所述NV緩沖器中所述輸入寫入數(shù)據(jù)不同的關(guān)聯(lián)邏輯地址的第二輸入寫入數(shù)據(jù)集,并且對(duì)于所述第二輸入寫入數(shù)據(jù)集重復(fù)存儲(chǔ),傳輸,發(fā)起和執(zhí)行步驟,以及其中對(duì)于所述NV緩沖器中的所述輸入寫入數(shù)據(jù)不執(zhí)行驗(yàn)證操作。
8.如權(quán)利要求1所述的方法,進(jìn)一步包括:響應(yīng)于所述輸入寫入數(shù)據(jù)時(shí)使用所選哈希函數(shù)產(chǎn)生哈希值,在NV主存儲(chǔ)器中存儲(chǔ)所述哈希值,并在隨后寫入拒絕處理中使用所存儲(chǔ)的哈希值,所述寫入拒絕處理涉及接收共享相關(guān)邏輯地址的第二輸入寫入數(shù)據(jù)集。
9.如權(quán)利要求1所述的方法,進(jìn)一步包括:響應(yīng)于共享相關(guān)邏輯地址的輸入寫入數(shù)據(jù)集合的接收頻率,使用松散寫入處理寫入所述輸入寫入數(shù)據(jù)。
10.如權(quán)利要求1所述的方法,進(jìn)一步包括:發(fā)起計(jì)時(shí)器以根據(jù)逝去時(shí)間的預(yù)選量表示預(yù)定逝去時(shí)間間隔。
11.如權(quán)利要求10所述的方法,其中,所述逝去時(shí)間的預(yù)選量經(jīng)選擇以超過(guò)和所述非易失性主存儲(chǔ)器相關(guān)聯(lián)的松散時(shí)間間隔。
12.如權(quán)利要求10所述的方法,其中,響應(yīng)于從主機(jī)設(shè)備收到第X訪問(wèn)命令,所述計(jì)時(shí)器結(jié)束預(yù)定時(shí)間間隔,其中,X是復(fù)數(shù)整數(shù)。
13.一種裝置,包括: 非易失性(NV)的緩沖器,適于存儲(chǔ)具有所選邏輯地址的輸入寫入數(shù)據(jù); 寫入電路,適于當(dāng)在所述NV緩沖器中保留所述存儲(chǔ)的輸入寫入數(shù)據(jù)時(shí),向NV主存儲(chǔ)器傳輸所述輸入寫數(shù)據(jù)的副本;以及驗(yàn)證電路,適于在預(yù)定逝去時(shí)間間隔結(jié)束時(shí),執(zhí)行驗(yàn)證操作以驗(yàn)證所述輸入寫入數(shù)據(jù)的副本成功傳輸?shù)剿鯪V主存儲(chǔ)器。
14.如權(quán)利要求13所述的裝置,其中,響應(yīng)于在逝去時(shí)間間隔期間接收具有所選邏輯地址的更新后的輸入寫入數(shù)據(jù),所述驗(yàn)證電路取消驗(yàn)證操作,所述NV緩沖器存儲(chǔ)更新后的輸入寫入數(shù)據(jù),以及所述寫入電路向所述NV主存儲(chǔ)器傳輸更新的輸入寫入數(shù)據(jù)的副本。
15.如權(quán)利要求14所述的裝置,進(jìn)一步包括哈希發(fā)生器,所述哈希發(fā)生器響應(yīng)于所述更新后的輸入寫入數(shù)據(jù)產(chǎn)生哈希值,所述寫入電路在所述NV主存儲(chǔ)器中存儲(chǔ)所產(chǎn)生的哈希值。
16.如權(quán)利要求15所述的裝置,其中響應(yīng)于在所述NV主存儲(chǔ)器中生成的哈希值和響應(yīng)于在所述NV緩沖器中更新后的輸入寫入數(shù)據(jù)產(chǎn)生的第二產(chǎn)生的哈希值的比較,所述驗(yàn)證電路對(duì)更新后的輸入寫入數(shù)據(jù)執(zhí)行驗(yàn)證操作。
17.如權(quán)利要求13所述的裝置,進(jìn)一步還包括讀取電路,該讀取電路響應(yīng)于接收請(qǐng)求具有所選邏輯地址的數(shù)據(jù)的讀取請(qǐng)求,傳輸所述輸入寫入數(shù)據(jù)的副本用于從所述NV緩沖器輸出到所述主機(jī),以及實(shí) 施緩存保持策略以在驗(yàn)證操作成功結(jié)束之后在所述NV緩沖器中保留所述輸入寫入數(shù)據(jù)。
18.如權(quán)利要求13所述的裝置,其中響應(yīng)于所述讀請(qǐng)求,所述讀取電路進(jìn)一步向所述NV緩沖器傳輸空間上和/或時(shí)間上與所述輸入寫入數(shù)據(jù)相關(guān)的第二數(shù)據(jù)副本集,作為推測(cè)性數(shù)據(jù)出棧。
19.如權(quán)利要求13所述的裝置,其中所述NV主存儲(chǔ)器包括具有多個(gè)閃速存儲(chǔ)單元格的閃速存儲(chǔ)器,其包括,以及所述寫入電路進(jìn)一步包括電荷泵,所述電荷泵通過(guò)在選定的快閃存儲(chǔ)器單元格集合的浮動(dòng)?xùn)沤Y(jié)構(gòu)存儲(chǔ)累積電荷,而將所述輸入寫入數(shù)據(jù)的副本存儲(chǔ)到所選的快閃存儲(chǔ)器單元格集合。
20.如權(quán)利要求19所述的裝置,其中所述電荷泵適于根據(jù)快速松散的寫入處理以及根據(jù)緩慢正常的寫入處理交替地存儲(chǔ)所述收集電荷,并且其中響應(yīng)于指示將所述輸入寫入數(shù)據(jù)分類為熱數(shù)據(jù)的控制信號(hào),所述電荷泵使用快速松散的寫入處理存儲(chǔ)所述累積電荷。
21.如權(quán)利要求13所述的裝置,進(jìn)一步包括定時(shí)器電路,適于響應(yīng)于所述輸入寫入數(shù)據(jù)的副本傳輸?shù)剿鯪V主存儲(chǔ)器而啟動(dòng)計(jì)數(shù)以表示預(yù)定逝去時(shí)間間隔。
22.如權(quán)利要求21所述的裝置,其中,所述定時(shí)器電路根據(jù)預(yù)選逝去時(shí)間量的經(jīng)過(guò)而表示預(yù)定逝去時(shí)間間隔。
23.如權(quán)利要求21所述的裝置,其中,響應(yīng)于從主機(jī)設(shè)備接收第X訪問(wèn)命令,所述定時(shí)器電路結(jié)束預(yù)定的逝去時(shí)間間隔,其中,X是復(fù)數(shù)整數(shù)。
24.如權(quán)利要求13所述的裝置,其中,所述預(yù)定逝去時(shí)間間隔相對(duì)于所接收的訪問(wèn)命令的工作量率而變化。
25.一種裝置,包括: 非易失性(NV)緩沖器,其包括配置成內(nèi)容可尋址存儲(chǔ)器(CAM)并適于存儲(chǔ)具有所選邏輯地址的輸入寫入數(shù)據(jù)的多個(gè)可重寫非易失性存儲(chǔ)器單元格; NV主存儲(chǔ)器,包括多個(gè)可擦閃存單元格; 寫入電路,其適于當(dāng)在所述NV緩沖器中保留所存儲(chǔ)的輸入寫入數(shù)據(jù)時(shí),向NV主存儲(chǔ)器傳輸所述輸入寫入數(shù)據(jù)的副本;以及定時(shí)器電路,其適于引發(fā)區(qū)別預(yù)定逝去時(shí)間間隔,以及 驗(yàn)證電路,響應(yīng)于在預(yù)定逝去時(shí)間間隔期間接收具有所選邏輯地址的更新后的寫入數(shù)據(jù),指示計(jì)時(shí)電路停止區(qū)別所述預(yù)定逝去時(shí)間間隔,并重新初始化定時(shí)器電路開始為更新后的寫入數(shù)據(jù)區(qū)別第二預(yù)定逝去時(shí)間間隔,并 且其中,所述驗(yàn)證電路,響應(yīng)于在預(yù)定逝去時(shí)間間隔期間不存在具有所選邏輯地址的更新后的數(shù)據(jù)寫入,在所述預(yù)定逝去時(shí)間間隔結(jié)束時(shí)執(zhí)行驗(yàn)證操作以驗(yàn)證輸入寫入數(shù)據(jù)的副本成功傳輸?shù)剿鯪V主存儲(chǔ)器。
【文檔編號(hào)】G11C16/10GK103985411SQ201410045411
【公開日】2014年8月13日 申請(qǐng)日期:2014年2月7日 優(yōu)先權(quán)日:2013年2月7日
【發(fā)明者】K·A·考密茨, R·J·高斯, A·克利亞, D·S·艾布森, J·D·珊薩姆 申請(qǐng)人:希捷科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1