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

      用于向閃速存儲器執(zhí)行寫入的方法和設備的制作方法

      文檔序號:6608538閱讀:237來源:國知局
      專利名稱:用于向閃速存儲器執(zhí)行寫入的方法和設備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及用于向閃速存儲器執(zhí)行寫入的一種方法和一種設備。
      背景技術(shù)
      閃速技術(shù)廣泛用于例如存儲卡、USB驅(qū)動器、MP3播放器中,并且用作數(shù)碼相機的圖像存儲器。閃速存儲器通常基于NAND或NOR結(jié)構(gòu)。NAND最適于需要高容量數(shù)據(jù)存儲的閃速設備。NAND閃速設備通常包含用于例如在所謂的編程過程期間保持數(shù)據(jù)的數(shù)據(jù)寄存器,其中在編程過程中把數(shù)據(jù)實際地寫入閃速存儲器單元。
      NAND閃速設備通常包含所謂的壞塊或壞頁,即包含一個或多個不能存儲信息的比特的頁,其中這些比特由于具有缺陷而不能使用。此外,NAND閃速存儲器要經(jīng)受消耗,即逐漸地會出現(xiàn)越來越多的壞塊。由于這個和其它原因,可能出現(xiàn)不總是能夠成功地向塊寫入數(shù)據(jù)的狀態(tài)。對于普通的NAND閃速設備來說,數(shù)據(jù)手冊(data sheet)中定義了兩個針對編程時間的特殊界限典型編程時間和最大編程時間。典型編程時間被定義為在該時間內(nèi)對所有頁中多于50%的部分進行編程(在規(guī)定的電壓電平和溫度下)。因此,在典型編程時間為上界的時間內(nèi)執(zhí)行了所有頁的編程過程中多于50%的部分。對于剩下的頁,把最大編程時間作為上界。例如,對于當今的MICRON NAND閃速設備來說,典型編程時間被規(guī)定為300μs,而最大編程時間被規(guī)定為700μs。
      使用NAND閃速設備的應用程序負責跟蹤這種壞塊。然而,典型地能夠?qū)脡K執(zhí)行超過100,000至1,000,000次的擦除和重編程。隨著寫入/擦除周期數(shù)目的增大,設備的編程時間稍微減小,而且設備的壽命通常更多地由編程失敗之外的其它故障決定。
      上文提到的不同的典型編程時間和最大編程時間歸因于所采用的編程驗證策略。這意味著在編程過程成功完成或出現(xiàn)超時之前,對數(shù)據(jù)比特進行編程的多種嘗試得以執(zhí)行并得以驗證。這個編程驗證過程由內(nèi)部控制邏輯自動地執(zhí)行。
      由于編程時間(即把一頁從數(shù)據(jù)寄存器寫入NAND閃速單元陣列所需的時間)的原因,NAND閃速存儲器具有內(nèi)在的、不可忽略的等待時間。然而,成功的頁編程過程所經(jīng)歷的編程時間不是完全可確定的,而是分布在一個范圍內(nèi),其中最大編程時間作為上界。因此,對于需要連續(xù)地存儲數(shù)據(jù)的應用來說,最大編程時間確定了能夠?qū)崿F(xiàn)的有效數(shù)據(jù)速率。
      來自Toshiba的“NAND flash Design Guide”提供了更多關(guān)于NAND閃速技術(shù)的信息,可以訪問www.data-io.com/pdf/NAND/Toshiba/NandDesignGuid.pdf.pdf。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的問題是提供一種用于減小閃速設備的有效編程時間的方法和結(jié)構(gòu)。
      另一個所要解決的問題是提供一種用于在閃速設備中存儲連續(xù)數(shù)據(jù)流的方法和結(jié)構(gòu),其中進行存儲的數(shù)據(jù)速率高于由所使用的閃速設備的最大編程時間產(chǎn)生的數(shù)據(jù)速率,而且不會干擾閃速設備內(nèi)的編程驗證過程。
      本發(fā)明利用了僅有非常少的存儲塊確實需要規(guī)定的最大編程時間這個事實,并提供了一種用于處理這些情況的方法和結(jié)構(gòu),從而要存儲的數(shù)據(jù)不會丟失。根據(jù)本發(fā)明,這些數(shù)據(jù)被存儲在緩沖存儲器中,而且之后被復制到閃速存儲設備中。這里假定閃速存儲空間足以用于存儲數(shù)據(jù)。特別是當選擇明顯高于(例如10%)典型編程時間的有效編程時間(但相比于最大編程時間而言,更接近典型編程時間)時,編程失敗的可能性足夠低以便在緩沖存儲器中保持那些編程過程失敗的數(shù)據(jù),并且之后把該數(shù)據(jù)復制到閃速存儲器中。
      本發(fā)明的一方面提供了一種向閃速存儲器執(zhí)行寫入的方法,其中閃速存儲器具有規(guī)定的最大編程時間和規(guī)定的典型編程時間,并提供一個或多個指示編程周期是否結(jié)束的信號,所述方法包括步驟規(guī)定有效編程時間,所述有效編程時間高于典型編程時間且低于最大編程時間;把第一數(shù)據(jù)寫入閃速存儲器的第一位置,在規(guī)定的有效編程時間后,對所述一個或多個指示編程周期是否結(jié)束的信號進行評估;如果編程周期結(jié)束,那么把第二數(shù)據(jù)寫入閃速存儲器的第二位置;如果編程周期沒有結(jié)束,那么把至少是第二數(shù)據(jù)寫入緩沖存儲器,并對緩沖存儲器中至少是第二數(shù)據(jù)進行標記使其不被覆寫;如果要存儲其它數(shù)據(jù),那么重復從把數(shù)據(jù)寫入閃速存儲器開始的上述步驟;確定閃速存儲器中的空閑位置,并且把至少是第二數(shù)據(jù)從緩沖器復制到閃速存儲器中所確定的位置,其中可以把所述數(shù)據(jù)從緩沖器中擦除。
      本發(fā)明的一方面提供了一種用于向閃速存儲器執(zhí)行寫入的設備,其中閃速存儲器具有規(guī)定的最大編程時間和規(guī)定的典型編程時間,并提供一個或多個指示編程周期是否結(jié)束的信號(例如狀態(tài)讀取、忙),所述設備包括用于規(guī)定有效編程時間的裝置,所述有效編程時間高于典型編程時間且低于最大編程時間;用于把第一數(shù)據(jù)寫入閃速存儲器的第一位置的裝置;用于在規(guī)定的有效編程時間后對所述一個或多個指示編程周期是否結(jié)束的信號進行評估的裝置;用于把第二數(shù)據(jù)寫入閃速存儲器的第二位置的裝置,其中如果先前的編程周期結(jié)束,則第二數(shù)據(jù)僅被寫入閃速存儲器;緩沖存儲器(例如足以用于多個頁的頁緩沖器);用于把至少是第二數(shù)據(jù)寫入緩沖存儲器的裝置;用于對緩沖存儲器中至少是第二數(shù)據(jù)進行標記的裝置,從而如果先前的編程周期沒有結(jié)束,使被標記的數(shù)據(jù)不被覆寫;用于確定閃速存儲器中的空閑位置的裝置(這可以是例如示出保留塊的表),以及用于把至少是第二數(shù)據(jù)從緩沖器復制到閃速存儲器中所確定的位置的裝置,其中可以把已復制的數(shù)據(jù)從緩沖器中擦除。
      在一個實施例中,可以使用用于確定沒有其它要存儲的數(shù)據(jù)的裝置。
      在優(yōu)選實施例中,閃速存儲器是NAND閃速存儲器。
      在一個實施例中,緩沖存儲器的大小等于或大于預期超過有效編程時間的閃速編程過程所涉及的數(shù)據(jù)的總量。在一個實施例中,緩沖存儲器的大小等于或大于以下兩項之和預期超過有效編程時間的閃速編程過程所涉及的數(shù)據(jù)的總量,以及預期將不會成功的閃速編程過程(根據(jù)閃速存儲器的正常行為)所涉及的數(shù)據(jù)的數(shù)量。
      在一個實施例中,緩沖存儲器還用于存儲不成功的閃速編程過程所涉及的數(shù)據(jù)。
      典型地,有效編程時間實際上為規(guī)定的最大編程時間的50%。
      本發(fā)明還可以被理解為一種用于處理閃速設備中編程時間錯誤的方法和設備,其中閃速設備的訪問速度過快。
      從屬權(quán)利要求、下文描述和附圖中公開了本發(fā)明的有利實施例。


      參考附圖對本發(fā)明的典型實施例進行描述,附圖中圖1是具有附加的頁緩沖器的NAND閃速陣列的結(jié)構(gòu);圖2是閃速設備的簡化的邏輯訪問規(guī)范;圖3是單一的MICRON閃速設備的典型編程時間分布;圖4是具有相同類型的任意MICRON閃速設備組的典型編程時間分布;以及圖5是示出了閃速設備訪問和緩沖器訪問的時序圖。
      具體實施例方式
      圖1示出了具有N個NAND閃速設備和頁緩沖器的電路的結(jié)構(gòu),它可以用于存儲連續(xù)的實時數(shù)據(jù)流。使用公共的I/O地址和數(shù)據(jù)總線B以及控制信號C(例如閃速設備的單獨的芯片使能信號)把數(shù)據(jù)以頁的形式依次寫入(每一頁都以字節(jié)的方式依次寫入)閃速設備。也可以把數(shù)據(jù)寫入與閃速設備并行(邏輯上)連接的頁緩沖器。使用比規(guī)定的最大編程時間要短的編程時間來操作閃速設備,這導致了偶然會出現(xiàn)編程時間超出。根據(jù)本發(fā)明,至少把經(jīng)歷了編程時間超出的數(shù)據(jù)之后的數(shù)據(jù)存儲在頁緩沖器中,之后把這些數(shù)據(jù)復制到閃速存儲器中的剩余空閑位置中。
      圖1和其它附圖對并行連接做了簡化。技術(shù)人員知曉閃速設備可能不能簡單地并聯(lián),這對于緩沖存儲器也一樣。因此,所描述的結(jié)構(gòu)應被理解為邏輯結(jié)構(gòu)。
      在本發(fā)明的一個實施例中,在正常操作期間被寫入閃速存儲器的所有數(shù)據(jù)也被寫入頁緩沖器。當編程過程成功完成時,頁緩沖器中的這些數(shù)據(jù)被覆寫或刪除。
      在另一個實施例中,僅把沒有存儲在閃速存儲器中的數(shù)據(jù)寫入頁緩沖器,即只有閃速存儲器不能在規(guī)定的有效編程時間(小于閃速設備的規(guī)定的最大編程時間)內(nèi)完成內(nèi)部編程驗證過程的那些數(shù)據(jù)之后的數(shù)據(jù)。
      圖2以典型的方式(簡化的邏輯方式)示出了用于連續(xù)地依次寫入數(shù)據(jù)流的多個設備,其中每一個閃速設備都需要寫入時間tWrite和編程時間。這個體系結(jié)構(gòu)隱含地假定單一閃速設備的邏輯數(shù)據(jù)字寬或“帶寬”至少為在寫入時間(在這個示例中為63.5μs)中必須要存儲的數(shù)據(jù)的數(shù)量。雖然用于把數(shù)據(jù)塊存入閃速設備內(nèi)部的數(shù)據(jù)寄存器的寫入時間tWrite是恒定的且對于具有相同類型的所有設備是相等的,然而用于把數(shù)據(jù)從數(shù)據(jù)存儲器存入閃速存儲器單元的編程時間對于每一個閃速設備#1,...,#13來說是不同的。此外,對于每一個具體的設備,編程時間對于以不可確定的方式進行的每一次(寫入)訪問來說是不同的。例如,盡管針對閃速設備#1的一次具體的寫入訪問的編程時間達到了所允許的最大編程時間tPROG,MAX,下一次寫入訪問可能(很可能會)占用更少的時間,這是因為設備制造商所保證的典型編程時間要短得多(例如300μs)。
      因此,在用于進行連續(xù)數(shù)據(jù)存儲的傳統(tǒng)系統(tǒng)的設計中,對于具體的閃速設備來說,相繼寫入訪問之間的時間等于或大于規(guī)定的最大編程時間tPROG,MAX,從而在圖2所示的示例中(未按合適比例繪制)需要13個閃速設備(即,需要12個設備來跨越每一單獨閃速設備的最大編程時間700/63.5=11.02)。
      本發(fā)明使用減小的編程時間,這里被稱作有效編程時間tPROG,eff,大小為例如400μs。盡管任意設備都可能需要大于有效編程時間的時間(上至最大編程時間),然而這種情況的可能性足夠低,所以在將要存儲的數(shù)據(jù)流結(jié)束之前能夠把所有受影響的頁存入頁緩沖器(與正常的商用設備的大小相同),然后把緩沖的數(shù)據(jù)轉(zhuǎn)移到閃速存儲器陣列中的剩余位置中。
      圖3示出了單一的MICRON閃速設備的典型編程時間分布(對數(shù)比例),對該設備規(guī)定了典型編程時間為300μs和最大編程時間為700μs。可以看出,僅有很少的(2-3%)編程過程超過了300μs的典型編程時間。這是常見的統(tǒng)計效應,所基于的事實是這是一個隨機樣本,而所規(guī)定的值是針對所有設備和較大的操作參數(shù)范圍。然而可以觀察到,出乎意料的是僅有非常少的編程過程(<0.002%)超過了350μs的編程時間,而超過425μs的編程時間的編程過程更少。在原理上,這個行為適用于所有類型的NAND閃速設備,也可以是來自其它制造商的設備。然而,可能出現(xiàn)具有tPROG,MAX的編程時間。
      當考慮更多數(shù)目的樣本時,獲得了圖4所示的分布,它與單一設備的行為基本相符。對于頁來說,超過350μs的編程時間(僅為最大編程時間的一半)的可能性僅為大約1.3*10-3%或1.3*10-5。因此,不能被存儲的數(shù)據(jù)的數(shù)量很少,從而能夠在頁緩沖器中對其進行緩沖,其中頁緩沖器與閃速設備并聯(lián)(邏輯上)。例如在1GB的數(shù)據(jù)流中,被緩沖的數(shù)據(jù)的數(shù)量大概為13KB。
      圖5以簡化的邏輯方式示出了根據(jù)本發(fā)明對閃速設備的訪問和對頁緩沖器的訪問的時序圖。在任意時間點t0,數(shù)據(jù)頁i作為當前數(shù)據(jù)而被存儲。選定并啟用閃速設備以存儲這些數(shù)據(jù)i(注意事實上不會連續(xù)地施加數(shù)據(jù))。提供了狀態(tài)信號,在簡化的邏輯方式下給出的是具有可能值“高/真”和“低/假”的“忙”,以及具有一個可能值“OK”和其它“非OK”值的“狀態(tài)讀取”。在t0處,閃速設備通過其狀態(tài)信號指出該設備正在忙于存儲當前數(shù)據(jù)i。實際上如上文所述,閃速設備以兩個步驟來執(zhí)行這個存儲,即首先把數(shù)據(jù)存儲在數(shù)據(jù)寄存器中,然后存入實際的閃速存儲器單元。這一點沒有詳細示出。同時,還把數(shù)據(jù)i作為“緩沖器數(shù)據(jù)”而存儲在頁緩沖器中。
      在其它實施例中,不對這個時間點t0處的數(shù)據(jù)執(zhí)行緩沖。為閃速設備規(guī)定了小于最大編程時間tPROG,MAX的有效編程時間tPROG,eff。經(jīng)過這個時間(加上數(shù)據(jù)寄存器寫入時間),在t1處,下一個數(shù)據(jù)i+1到達而且必須被存儲。通常,先前的存儲(即編程)過程在時間t1已經(jīng)完成,從而閃速設備可以繼續(xù)存儲新的數(shù)據(jù)i+1。然而,圖5示出了臨界情況,即閃速設備需要比有效編程時間更長的時間。因此,設備在下一個數(shù)據(jù)到達時的t1處仍處于忙狀態(tài)。然而根據(jù)本發(fā)明,新的數(shù)據(jù)i+1被寫入比閃速存儲器快得多的頁緩沖器。原理上,寫入頁緩沖器的時間不會比寫入閃速設備內(nèi)的數(shù)據(jù)寄存器的時間長。注意寫入時間tWrite不同于通常為閃速設備規(guī)定的寫入周期時間tWriteCyctWrite=n*tWriteCyc,其中n≈2k字節(jié)。
      在時間點t1處,明顯看出被寫入頁緩沖器的新數(shù)據(jù)i+1將不會立即存儲到閃速存儲器中,因此對這些數(shù)據(jù)做出標記,從而在存在足夠的時間把它們從頁緩沖器復制到閃速存儲器之前必須把它們存儲在緩沖器中。所述閃速存儲器可以是相同的或其它的閃速存儲器。所述標記包括被緩沖頁的次序、位置或時間信息,其中被緩沖頁是閃速編程失敗所涉及的頁。這個信息優(yōu)選地存儲在各個控制器(對閃速設備和緩沖器的訪問進行控制)中,但是也可以存儲在緩沖器中。
      在當前描述的實施例中,在當前周期tPROG,eff中,不再考慮對新的數(shù)據(jù)頁i+1進行存儲。在對該頁進行緩沖后,控制器略去用于把數(shù)據(jù)頁i+1存儲到閃速存儲器中的其它嘗試。在當前周期中(假定tPROG,eff≥tPROG,max/2),閃速存儲器的狀態(tài)信號在t12處指出先前的數(shù)據(jù)頁已經(jīng)被成功存儲。
      在另一個實施例中,能夠繼續(xù)存儲被緩沖的數(shù)據(jù)頁i+1。然而,由于I/O總線正在忙于其它設備的數(shù)據(jù),所以這一點是困難的。
      當針對這個閃速設備的下一個數(shù)據(jù)頁i+2在t2處出現(xiàn)時,可以按照上文所述來存儲數(shù)據(jù),這是因為先前存儲的數(shù)據(jù)頁i的最大編程時間已經(jīng)結(jié)束(假定tPROG,eff≥tPROG,max/2)。如果使用較短的有效編程時間,那么最大編程時間在t2處還沒有結(jié)束,因此必須按照與先前的頁i+1相同的方式來處理下一個頁i+2,即下一個頁i+2必須被緩沖。
      在一個實施例中,頁緩沖器以如下方式來存儲閃速編程時間超過tPROG,eff所涉及的數(shù)據(jù)頁(原理上)

      表1典型的頁緩沖器使用(原理上)表1示出了頁緩沖器簡單的典型使用。
      每一行表示在時間tWrite+tPROG,eff之后的頁緩沖器的狀態(tài)。第一緩沖頁用于對當前數(shù)據(jù)頁(即在當前也會被存儲到閃速存儲器的數(shù)據(jù)頁)進行緩沖。如果在必須存儲下一個數(shù)據(jù)頁(表1中的當前頁j+1)時閃速編程過程沒有成功,那么在下一個更高的緩沖頁(緩沖頁#1)中對這個數(shù)據(jù)頁進行緩沖。假定tPROG,eff≥tPROG,max/2,當必須存儲下一個數(shù)據(jù)頁(j+3)時,已經(jīng)經(jīng)過了最大編程時間,從而這個下一數(shù)據(jù)頁(j+3)能夠重新使用第一緩沖頁(頁#0)。在發(fā)生下一個故障之前,把隨后的數(shù)據(jù)頁也存儲在這個緩沖頁(頁#0)中。
      在表1中,數(shù)據(jù)頁j+5在下一個數(shù)據(jù)頁j+6到達時沒有被成功地存儲在頁緩沖器中,從而閃速存儲器通過其狀態(tài)信號指出所述閃速存儲器仍忙于先前的數(shù)據(jù)頁j+5。于是,緩沖控制器把下一個數(shù)據(jù)頁j+6在下一個空閑的緩沖頁(在這個示例中為緩沖頁#2)中進行緩沖。如上所述,其它隨后的數(shù)據(jù)頁可以再次被存儲在第一緩沖頁-頁#0中。
      最后,在把最后的數(shù)據(jù)頁M-1存儲到閃速設備中后,緩沖器在“當前數(shù)據(jù)”頁之后的緩沖頁上包含了沒有被存儲到閃速設備中的所有數(shù)據(jù)頁,這是因為它們各自的先前頁超過了有效編程時間。然后,可以把這些頁復制到閃速存儲器中。需要這些頁的上述位置、次序或時間信息以重新構(gòu)建數(shù)據(jù)流,因而也可以把這些信息存儲在閃速設備中。
      所述過程沒有考慮完全由于壞塊而沒有完成閃速存儲的數(shù)據(jù)頁。這些頁也可以存儲在頁緩沖器中,而且這些頁的存儲過程可以與所述過程相疊加。在這種情況下,例如當前緩沖頁不會在編程失敗后被覆寫,而且頁緩沖器最終包含了沒有存儲在閃速存儲器中(不同的原因)的所有數(shù)據(jù)頁。
      如上所述,在一個實施例中,頁緩沖器僅保持了那些不能被寫入閃速存儲器的數(shù)據(jù)頁。在其它實施例中,頁緩沖器可以額外地保持當前頁,其數(shù)目取決于比率tPROG,max/tPROG,eff。圖5示出了tPROG,max/2≤tPROG,eff<tPROG,max的情況。
      例如,對于tPROG,max/3≤tPROG,eff<tPROG,max/2的情況,必須存儲至少兩個相繼的數(shù)據(jù)頁,而不僅是存儲一個。類似地,對于tPROG,max/4≤tPROG,eff<tPROG,max/3的情況,必須存儲至少三個相繼的數(shù)據(jù)頁。然而在當今的閃速設備和頁緩沖器大小的假定下,對于更高的比率來說,編程過程失敗的可能性過高。因此,從當今的觀點來看,針對這個實施例的有用配置是,對與每一超過tPROG,eff的頁,頁緩沖器緩沖1-3個頁。
      本發(fā)明有助于有效減小NAND閃速設備的編程時間,即使對于具有實時約束的應用也一樣。這導致了為單一NAND閃速設備提供了更高的保證數(shù)據(jù)速率。就數(shù)據(jù)速率方面的擴展而言,為達到特定的保證數(shù)據(jù)速率,只需要較少的NAND閃速設備。
      就數(shù)據(jù)速率方面的擴展而言,與傳統(tǒng)的現(xiàn)有技術(shù)相比,本發(fā)明允許以較少的NAND閃速設備來提供保證輸入數(shù)據(jù)速率,或利用給定數(shù)目的NAND閃速設備而提供比傳統(tǒng)的現(xiàn)有技術(shù)更高的保證數(shù)據(jù)速率。
      利用測量,對當前的NAND閃速設備的性能進行評估并確定編程時間的實際分布。這些測量表明例如對于MICRON NAND閃速設備(具有300/700μs的典型/最大編程時間)來說,所有的頁編程中僅有1.3*10-3%超過了350μs(僅為最大編程時間的一半)的編程時間。根據(jù)這些測量可以得出結(jié)論有效地減小有效編程時間是合理的而且在技術(shù)上可行;即使減少到最大編程時間的一半也是可行的。
      在下文中,本發(fā)明針對最大編程時間700μs被減小至有效編程時間350μs的情況進行說明。然而,本發(fā)明不限于這個具體的比率。使用這個比率,例如對于MICRON閃速設備來說數(shù)據(jù)速率可以增加大約80%。此外,下文假定頁緩沖器也用于存儲完全由于壞塊而沒有完成閃速存儲的頁。
      對于要求保證數(shù)據(jù)速率的應用來說(例如實時數(shù)據(jù)流的存儲),通常需要以固定的時間間隔把數(shù)據(jù)頁存儲到NAND閃速設備中。用于開始把新的(下一個)頁存儲到同一NAND閃速設備中的間隔由以下來確定編程時間加上建立和定址時間以及把一個頁輸入數(shù)據(jù)寄存器所需的時間。利用狀態(tài)讀取操作,可以檢查頁編程操作是否仍在進行或已經(jīng)成功完成。為了允許對不成功的頁編程(例如出現(xiàn)新的壞塊的情況下)進行處理,一種策略是把輸入當前選擇的NAND閃速設備的數(shù)據(jù)寄存器中的頁同時存儲在頁緩沖器中。當狀態(tài)讀取指示頁編程成功時,該頁可以從頁緩沖器中刪除或被其它頁覆寫。如果頁編程沒有成功,那么該頁被保持在頁緩沖器中,直到完成數(shù)據(jù)流的存儲。然后,把該頁存儲在具有剩余空閑存儲容量的NAND閃速設備中。為了保持頁的正確順序,必須記住后續(xù)頁的地址位置。可以在單獨的單元中完成這個步驟,或是在控制對不同閃速設備的訪問的控制器中完成。
      當把最大編程時間減小為有效編程時間時,需要對超過編程時間的情況進行不同處理。因此,可以使用用于處理不成功頁編程的頁緩沖器用于處理超過有效編程時間的過程可以與用于處理不成功頁編程的過程相結(jié)合??墒且粋€主要的不同是如果頁編程操作超過了有效編程時間(在這個示例中為350μs),那么需要對隨后的頁進行緩沖。此外,必須略去把隨后的頁輸入到(仍處于忙狀態(tài)的)NAND閃速設備的數(shù)據(jù)寄存器中。因此,該頁僅被存入頁緩沖器。然而在編程失敗的情況下,需要對當前頁進行緩沖。
      下面是一個例子如果將要存儲在NAND閃速設備k中的第i頁超過了350μs的有效編程時間,那么將要存儲到同一NAND閃速設備(設備k)中的第(i+1)頁將僅被存儲在頁緩沖器中。必須略去輸入到NAND閃速設備k的數(shù)據(jù)寄存器這個步驟。由于現(xiàn)在超過了初始最大頁編程時間700μs,因此第(i+2)頁可以再次被存入這個NAND閃速設備k。這意味著第i頁現(xiàn)在被存入設備k的閃速陣列,或是其“狀態(tài)讀取”信號指示不成功的頁編程過程。如果“狀態(tài)讀取”指示頁編程操作在有效編程時間結(jié)束后仍在進行,那么這個頁編程操作超過了有效編程時間。當完成流存儲后,將會把頁緩沖器中的所有剩余頁存儲到具有剩余空閑存儲容量的那些NAND閃速設備中??赡苄枰_定這些設備,因為所存儲的數(shù)據(jù)的實際數(shù)量可能會有變化,或是一個或多個閃速設備的保留存儲空間。
      對超過編程時間的那些情況進行處理需要足以存儲相應頁的頁緩沖器。上文提到的測量和計算表明可以根據(jù)數(shù)據(jù)頁大小、要存儲的數(shù)據(jù)的最大數(shù)量(即數(shù)據(jù)流長度)以及所使用的閃速設備超過選定的有效編程時間的可能性(它取決于選定的有效編程時間)來估計頁緩沖器中進行緩存的數(shù)據(jù)的期望數(shù)量。在上文所述的其它實施例中,還要考慮所使用的閃速設備的存儲失敗可能性。如上文所示,可以根據(jù)以下內(nèi)容來選擇有效編程時間頁緩沖器具有合理的大小,而且系統(tǒng)仍能夠防止數(shù)據(jù)丟失。然而根據(jù)本發(fā)明,將會根據(jù)以下內(nèi)容來選擇有效編程時間它處于為各個閃速設備所規(guī)定的典型編程時間與最大編程時間之間(與最大編程時間相比,通常更接近典型編程時間)。
      在必須考慮實時約束(即保證數(shù)據(jù)速率)時(例如存儲連續(xù)的實時數(shù)據(jù)流),本發(fā)明特別有利。減小的有效編程時間減小了實現(xiàn)所需數(shù)據(jù)速率存儲所需要的NAND閃速設備的最小數(shù)目,同時所提出的結(jié)構(gòu)和機制避免了數(shù)據(jù)丟失。
      特別地,如果例如具有實時約束的應用要求保證數(shù)據(jù)速率,那么必須考慮最大編程時間。因此,對于面向更高數(shù)據(jù)速率的存儲結(jié)構(gòu)的擴展來說,最大編程時間確定了實現(xiàn)特定的保證數(shù)據(jù)速率所需的閃速設備的最小數(shù)目。這一點尤其對具有較小(受限)形狀因數(shù)的存儲系統(tǒng)是一種限制,因為這些系統(tǒng)典型地具有所能包含的閃速設備的數(shù)目上限。此外,閃速設備數(shù)目的增大還意味著系統(tǒng)存儲容量的增大,因此導致了更高的成本。
      本發(fā)明不一定限于NAND閃速設備,也可以用于提供類似編程時間分布的其它存儲設備。
      權(quán)利要求
      1.一種向閃速存儲器執(zhí)行寫入的方法,其中閃速存儲器具有規(guī)定的最大編程時間和規(guī)定的典型編程時間,并提供一個或多個指示編程周期是否結(jié)束的信號(狀態(tài)讀取、忙),所述方法包括步驟-規(guī)定有效編程時間(tPROG,eff),所述有效編程時間高于典型編程時間且低于最大編程時間;-把第一數(shù)據(jù)(i)寫入閃速存儲器;-在規(guī)定的有效編程時間(tPROG,eff)后,對所述一個或多個指示編程周期是否結(jié)束的信號(忙、狀態(tài)讀取)進行評估;-如果編程周期結(jié)束,那么把第二數(shù)據(jù)寫入閃速存儲器;-如果編程周期沒有結(jié)束,那么把至少是第二數(shù)據(jù)(i+1)寫入緩沖存儲器(頁緩沖器),并對緩沖存儲器中至少是第二數(shù)據(jù)進行標記使其不被覆寫;-如果要存儲其它數(shù)據(jù),那么重復從把數(shù)據(jù)寫入閃速存儲器開始的上述步驟;-確定閃速存儲器中的空閑位置;以及-把至少是第二數(shù)據(jù)從緩沖存儲器(頁緩沖器)復制到閃速存儲器中所確定的位置,其中可以把所述數(shù)據(jù)從緩沖存儲器中擦除。
      2.根據(jù)權(quán)利要求1所述的方法,其中閃速存儲器是NAND閃速存儲器。
      3.根據(jù)權(quán)利要求1或2所述的方法,其中緩沖存儲器(頁緩沖器)的大小等于或大于預期超過有效編程時間(tPROG,eff)的閃速編程過程所涉及的數(shù)據(jù)的總量。
      4.根據(jù)權(quán)利要求1或2所述的方法,其中緩沖存儲器(頁緩沖器)還用于存儲失敗的閃速編程過程所涉及的數(shù)據(jù)。
      5.根據(jù)權(quán)利要求1或2所述的方法,其中緩沖存儲器(頁緩沖器)的大小等于或大于以下兩項之和預期超過有效編程時間(tPROG,eff)的閃速編程過程所涉及的數(shù)據(jù)的總量,以及預期將不會成功的閃速編程過程所涉及的數(shù)據(jù)的數(shù)量。
      6.根據(jù)權(quán)利要求1所述的方法,其中有效編程時間(tPROG,eff)實質(zhì)上為規(guī)定的最大編程時間的50%。
      7.一種用于向閃速存儲器執(zhí)行寫入的設備,其中閃速存儲器具有規(guī)定的最大編程時間和規(guī)定的典型編程時間,并提供一個或多個指示編程周期是否結(jié)束的信號(狀態(tài)讀取、忙),所述設備包括-用于規(guī)定有效編程時間(tPROG,eff)的裝置,所述有效編程時間高于典型編程時間且低于最大編程時間;-用于把第一數(shù)據(jù)(i)寫入閃速存儲器的第一位置的裝置;-用于在規(guī)定的有效編程時間(tPROG,eff)后對所述一個或多個指示編程周期是否結(jié)束的信號(狀態(tài)讀取、忙)進行評估的裝置;-用于把第二數(shù)據(jù)寫入閃速存儲器的第二位置的裝置,其中如果先前的編程周期結(jié)束,則第二數(shù)據(jù)僅被寫入閃速存儲器;-緩沖存儲器(頁緩沖器);-用于把至少是第二數(shù)據(jù)(i+1)寫入緩沖存儲器(頁緩沖器)的裝置;-用于在先前的編程周期沒有結(jié)束的情況下通知緩沖存儲器中至少是第二數(shù)據(jù)不能被覆寫的裝置;-用于確定閃速存儲器中的空閑位置的裝置;以及-用于把至少是第二數(shù)據(jù)從緩沖存儲器(頁緩沖器)復制到閃速存儲器中所確定的位置的裝置,其中可以把所述數(shù)據(jù)從緩沖存儲器中擦除。
      8.根據(jù)權(quán)利要求7所述的設備,其中緩沖存儲器的大小等于或大于預期超過有效編程時間(tPROG,eff)的閃速編程過程所涉及的數(shù)據(jù)的總量。
      9.根據(jù)權(quán)利要求7或8所述的設備,其中緩沖存儲器(頁緩沖器)還用于存儲不成功的閃速編程過程所涉及的數(shù)據(jù)。
      10.根據(jù)權(quán)利要求7至9中任意一項所述的設備,其中有效編程時間(tPROG,eff)實質(zhì)上為閃速存儲器規(guī)定的最大編程時間的50%。
      全文摘要
      對于NAND閃速設備,數(shù)據(jù)手冊中定義了編程時間的兩個特殊界限其中對所有頁中多于50%的部分進行了編程的典型編程時間和最大編程時間。使用如下用于向閃速存儲器寫入的方法,能夠把最大編程時間減小至有效編程時間,該方法包括步驟規(guī)定典型編程時間與最大編程時間之間的有效編程時間;把第一數(shù)據(jù)寫入閃速存儲器;在經(jīng)過有效編程時間后,檢查編程周期是否結(jié)束;若編程周期結(jié)束,把第二數(shù)據(jù)寫入閃速存儲器,若編程周期沒有結(jié)束,把至少是第二數(shù)據(jù)寫入緩沖存儲器,并對其進行標記以便不被覆寫;只要還有要存儲的數(shù)據(jù),則重復上述步驟;確定閃速存儲器中的空閑位置;以及把至少是第二數(shù)據(jù)從緩沖存儲器復制到閃速存儲器中所確定的位置。
      文檔編號G06F12/06GK101064193SQ20071009607
      公開日2007年10月31日 申請日期2007年4月10日 優(yōu)先權(quán)日2006年4月28日
      發(fā)明者約恩·亞卡斯基, 馬爾科·呂特延 申請人:湯姆森許可貿(mào)易公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1