用於向閃速存儲器執行寫入的方法和設備的製作方法
2023-05-17 00:51:46 2
專利名稱:用於向閃速存儲器執行寫入的方法和設備的製作方法
技術領域:
本發明涉及用於向閃速存儲器執行寫入的一種方法和一種設備。
背景技術:
閃速技術廣泛用於例如存儲卡、USB驅動器、MP3播放器中,並且用作數位相機的圖像存儲器。閃速存儲器通常基於NAND或NOR結構。NAND最適於需要高容量數據存儲的閃速設備。NAND閃速設備通常包含用於例如在所謂的編程過程期間保持數據的數據寄存器,其中在編程過程中把數據實際地寫入閃速存儲器單元。
NAND閃速設備通常包含所謂的壞塊或壞頁,即包含一個或多個不能存儲信息的比特的頁,其中這些比特由於具有缺陷而不能使用。此外,NAND閃速存儲器要經受消耗,即逐漸地會出現越來越多的壞塊。由於這個和其它原因,可能出現不總是能夠成功地向塊寫入數據的狀態。對於普通的NAND閃速設備來說,數據手冊(data sheet)中定義了兩個針對編程時間的特殊界限典型編程時間和最大編程時間。典型編程時間被定義為在該時間內對所有頁中多於50%的部分進行編程(在規定的電壓電平和溫度下)。因此,在典型編程時間為上界的時間內執行了所有頁的編程過程中多於50%的部分。對於剩下的頁,把最大編程時間作為上界。例如,對於當今的MICRON NAND閃速設備來說,典型編程時間被規定為300μs,而最大編程時間被規定為700μs。
使用NAND閃速設備的應用程式負責跟蹤這種壞塊。然而,典型地能夠對好塊執行超過100,000至1,000,000次的擦除和重編程。隨著寫入/擦除周期數目的增大,設備的編程時間稍微減小,而且設備的壽命通常更多地由編程失敗之外的其它故障決定。
上文提到的不同的典型編程時間和最大編程時間歸因於所採用的編程驗證策略。這意味著在編程過程成功完成或出現超時之前,對數據比特進行編程的多種嘗試得以執行並得以驗證。這個編程驗證過程由內部控制邏輯自動地執行。
由於編程時間(即把一頁從數據寄存器寫入NAND閃速單元陣列所需的時間)的原因,NAND閃速存儲器具有內在的、不可忽略的等待時間。然而,成功的頁編程過程所經歷的編程時間不是完全可確定的,而是分布在一個範圍內,其中最大編程時間作為上界。因此,對於需要連續地存儲數據的應用來說,最大編程時間確定了能夠實現的有效數據速率。
來自Toshiba的「NAND flash Design Guide」提供了更多關於NAND閃速技術的信息,可以訪問www.data-io.com/pdf/NAND/Toshiba/NandDesignGuid.pdf.pdf。
發明內容
本發明所要解決的問題是提供一種用於減小閃速設備的有效編程時間的方法和結構。
另一個所要解決的問題是提供一種用於在閃速設備中存儲連續數據流的方法和結構,其中進行存儲的數據速率高於由所使用的閃速設備的最大編程時間產生的數據速率,而且不會干擾閃速設備內的編程驗證過程。
本發明利用了僅有非常少的存儲塊確實需要規定的最大編程時間這個事實,並提供了一種用於處理這些情況的方法和結構,從而要存儲的數據不會丟失。根據本發明,這些數據被存儲在緩衝存儲器中,而且之後被複製到閃速存儲設備中。這裡假定閃速存儲空間足以用於存儲數據。特別是當選擇明顯高於(例如10%)典型編程時間的有效編程時間(但相比於最大編程時間而言,更接近典型編程時間)時,編程失敗的可能性足夠低以便在緩衝存儲器中保持那些編程過程失敗的數據,並且之後把該數據複製到閃速存儲器中。
本發明的一方面提供了一種向閃速存儲器執行寫入的方法,其中閃速存儲器具有規定的最大編程時間和規定的典型編程時間,並提供一個或多個指示編程周期是否結束的信號,所述方法包括步驟規定有效編程時間,所述有效編程時間高於典型編程時間且低於最大編程時間;把第一數據寫入閃速存儲器的第一位置,在規定的有效編程時間後,對所述一個或多個指示編程周期是否結束的信號進行評估;如果編程周期結束,那麼把第二數據寫入閃速存儲器的第二位置;如果編程周期沒有結束,那麼把至少是第二數據寫入緩衝存儲器,並對緩衝存儲器中至少是第二數據進行標記使其不被覆寫;如果要存儲其它數據,那麼重複從把數據寫入閃速存儲器開始的上述步驟;確定閃速存儲器中的空閒位置,並且把至少是第二數據從緩衝器複製到閃速存儲器中所確定的位置,其中可以把所述數據從緩衝器中擦除。
本發明的一方面提供了一種用於向閃速存儲器執行寫入的設備,其中閃速存儲器具有規定的最大編程時間和規定的典型編程時間,並提供一個或多個指示編程周期是否結束的信號(例如狀態讀取、忙),所述設備包括用於規定有效編程時間的裝置,所述有效編程時間高於典型編程時間且低於最大編程時間;用於把第一數據寫入閃速存儲器的第一位置的裝置;用於在規定的有效編程時間後對所述一個或多個指示編程周期是否結束的信號進行評估的裝置;用於把第二數據寫入閃速存儲器的第二位置的裝置,其中如果先前的編程周期結束,則第二數據僅被寫入閃速存儲器;緩衝存儲器(例如足以用於多個頁的頁緩衝器);用於把至少是第二數據寫入緩衝存儲器的裝置;用於對緩衝存儲器中至少是第二數據進行標記的裝置,從而如果先前的編程周期沒有結束,使被標記的數據不被覆寫;用於確定閃速存儲器中的空閒位置的裝置(這可以是例如示出保留塊的表),以及用於把至少是第二數據從緩衝器複製到閃速存儲器中所確定的位置的裝置,其中可以把已複製的數據從緩衝器中擦除。
在一個實施例中,可以使用用於確定沒有其它要存儲的數據的裝置。
在優選實施例中,閃速存儲器是NAND閃速存儲器。
在一個實施例中,緩衝存儲器的大小等於或大於預期超過有效編程時間的閃速編程過程所涉及的數據的總量。在一個實施例中,緩衝存儲器的大小等於或大於以下兩項之和預期超過有效編程時間的閃速編程過程所涉及的數據的總量,以及預期將不會成功的閃速編程過程(根據閃速存儲器的正常行為)所涉及的數據的數量。
在一個實施例中,緩衝存儲器還用於存儲不成功的閃速編程過程所涉及的數據。
典型地,有效編程時間實際上為規定的最大編程時間的50%。
本發明還可以被理解為一種用於處理閃速設備中編程時間錯誤的方法和設備,其中閃速設備的訪問速度過快。
從屬權利要求、下文描述和附圖中公開了本發明的有利實施例。
參考附圖對本發明的典型實施例進行描述,附圖中圖1是具有附加的頁緩衝器的NAND閃速陣列的結構;圖2是閃速設備的簡化的邏輯訪問規範;圖3是單一的MICRON閃速設備的典型編程時間分布;圖4是具有相同類型的任意MICRON閃速設備組的典型編程時間分布;以及圖5是示出了閃速設備訪問和緩衝器訪問的時序圖。
具體實施例方式
圖1示出了具有N個NAND閃速設備和頁緩衝器的電路的結構,它可以用於存儲連續的實時數據流。使用公共的I/O地址和數據總線B以及控制信號C(例如閃速設備的單獨的晶片使能信號)把數據以頁的形式依次寫入(每一頁都以字節的方式依次寫入)閃速設備。也可以把數據寫入與閃速設備並行(邏輯上)連接的頁緩衝器。使用比規定的最大編程時間要短的編程時間來操作閃速設備,這導致了偶然會出現編程時間超出。根據本發明,至少把經歷了編程時間超出的數據之後的數據存儲在頁緩衝器中,之後把這些數據複製到閃速存儲器中的剩餘空閒位置中。
圖1和其它附圖對並行連接做了簡化。技術人員知曉閃速設備可能不能簡單地並聯,這對於緩衝存儲器也一樣。因此,所描述的結構應被理解為邏輯結構。
在本發明的一個實施例中,在正常操作期間被寫入閃速存儲器的所有數據也被寫入頁緩衝器。當編程過程成功完成時,頁緩衝器中的這些數據被覆寫或刪除。
在另一個實施例中,僅把沒有存儲在閃速存儲器中的數據寫入頁緩衝器,即只有閃速存儲器不能在規定的有效編程時間(小於閃速設備的規定的最大編程時間)內完成內部編程驗證過程的那些數據之後的數據。
圖2以典型的方式(簡化的邏輯方式)示出了用於連續地依次寫入數據流的多個設備,其中每一個閃速設備都需要寫入時間tWrite和編程時間。這個體系結構隱含地假定單一閃速設備的邏輯數據字寬或「帶寬」至少為在寫入時間(在這個示例中為63.5μs)中必須要存儲的數據的數量。雖然用於把數據塊存入閃速設備內部的數據寄存器的寫入時間tWrite是恆定的且對於具有相同類型的所有設備是相等的,然而用於把數據從數據存儲器存入閃速存儲器單元的編程時間對於每一個閃速設備#1,...,#13來說是不同的。此外,對於每一個具體的設備,編程時間對於以不可確定的方式進行的每一次(寫入)訪問來說是不同的。例如,儘管針對閃速設備#1的一次具體的寫入訪問的編程時間達到了所允許的最大編程時間tPROG,MAX,下一次寫入訪問可能(很可能會)佔用更少的時間,這是因為設備製造商所保證的典型編程時間要短得多(例如300μs)。
因此,在用於進行連續數據存儲的傳統系統的設計中,對於具體的閃速設備來說,相繼寫入訪問之間的時間等於或大於規定的最大編程時間tPROG,MAX,從而在圖2所示的示例中(未按合適比例繪製)需要13個閃速設備(即,需要12個設備來跨越每一單獨閃速設備的最大編程時間700/63.5=11.02)。
本發明使用減小的編程時間,這裡被稱作有效編程時間tPROG,eff,大小為例如400μs。儘管任意設備都可能需要大於有效編程時間的時間(上至最大編程時間),然而這種情況的可能性足夠低,所以在將要存儲的數據流結束之前能夠把所有受影響的頁存入頁緩衝器(與正常的商用設備的大小相同),然後把緩衝的數據轉移到閃速存儲器陣列中的剩餘位置中。
圖3示出了單一的MICRON閃速設備的典型編程時間分布(對數比例),對該設備規定了典型編程時間為300μs和最大編程時間為700μs。可以看出,僅有很少的(2-3%)編程過程超過了300μs的典型編程時間。這是常見的統計效應,所基於的事實是這是一個隨機樣本,而所規定的值是針對所有設備和較大的操作參數範圍。然而可以觀察到,出乎意料的是僅有非常少的編程過程(<0.002%)超過了350μs的編程時間,而超過425μs的編程時間的編程過程更少。在原理上,這個行為適用於所有類型的NAND閃速設備,也可以是來自其它製造商的設備。然而,可能出現具有tPROG,MAX的編程時間。
當考慮更多數目的樣本時,獲得了圖4所示的分布,它與單一設備的行為基本相符。對於頁來說,超過350μs的編程時間(僅為最大編程時間的一半)的可能性僅為大約1.3*10-3%或1.3*10-5。因此,不能被存儲的數據的數量很少,從而能夠在頁緩衝器中對其進行緩衝,其中頁緩衝器與閃速設備並聯(邏輯上)。例如在1GB的數據流中,被緩衝的數據的數量大概為13KB。
圖5以簡化的邏輯方式示出了根據本發明對閃速設備的訪問和對頁緩衝器的訪問的時序圖。在任意時間點t0,數據頁i作為當前數據而被存儲。選定並啟用閃速設備以存儲這些數據i(注意事實上不會連續地施加數據)。提供了狀態信號,在簡化的邏輯方式下給出的是具有可能值「高/真」和「低/假」的「忙」,以及具有一個可能值「OK」和其它「非OK」值的「狀態讀取」。在t0處,閃速設備通過其狀態信號指出該設備正在忙於存儲當前數據i。實際上如上文所述,閃速設備以兩個步驟來執行這個存儲,即首先把數據存儲在數據寄存器中,然後存入實際的閃速存儲器單元。這一點沒有詳細示出。同時,還把數據i作為「緩衝器數據」而存儲在頁緩衝器中。
在其它實施例中,不對這個時間點t0處的數據執行緩衝。為閃速設備規定了小於最大編程時間tPROG,MAX的有效編程時間tPROG,eff。經過這個時間(加上數據寄存器寫入時間),在t1處,下一個數據i+1到達而且必須被存儲。通常,先前的存儲(即編程)過程在時間t1已經完成,從而閃速設備可以繼續存儲新的數據i+1。然而,圖5示出了臨界情況,即閃速設備需要比有效編程時間更長的時間。因此,設備在下一個數據到達時的t1處仍處於忙狀態。然而根據本發明,新的數據i+1被寫入比閃速存儲器快得多的頁緩衝器。原理上,寫入頁緩衝器的時間不會比寫入閃速設備內的數據寄存器的時間長。注意寫入時間tWrite不同於通常為閃速設備規定的寫入周期時間tWriteCyctWrite=n*tWriteCyc,其中n≈2k字節。
在時間點t1處,明顯看出被寫入頁緩衝器的新數據i+1將不會立即存儲到閃速存儲器中,因此對這些數據做出標記,從而在存在足夠的時間把它們從頁緩衝器複製到閃速存儲器之前必須把它們存儲在緩衝器中。所述閃速存儲器可以是相同的或其它的閃速存儲器。所述標記包括被緩衝頁的次序、位置或時間信息,其中被緩衝頁是閃速編程失敗所涉及的頁。這個信息優選地存儲在各個控制器(對閃速設備和緩衝器的訪問進行控制)中,但是也可以存儲在緩衝器中。
在當前描述的實施例中,在當前周期tPROG,eff中,不再考慮對新的數據頁i+1進行存儲。在對該頁進行緩衝後,控制器略去用於把數據頁i+1存儲到閃速存儲器中的其它嘗試。在當前周期中(假定tPROG,eff≥tPROG,max/2),閃速存儲器的狀態信號在t12處指出先前的數據頁已經被成功存儲。
在另一個實施例中,能夠繼續存儲被緩衝的數據頁i+1。然而,由於I/O總線正在忙於其它設備的數據,所以這一點是困難的。
當針對這個閃速設備的下一個數據頁i+2在t2處出現時,可以按照上文所述來存儲數據,這是因為先前存儲的數據頁i的最大編程時間已經結束(假定tPROG,eff≥tPROG,max/2)。如果使用較短的有效編程時間,那麼最大編程時間在t2處還沒有結束,因此必須按照與先前的頁i+1相同的方式來處理下一個頁i+2,即下一個頁i+2必須被緩衝。
在一個實施例中,頁緩衝器以如下方式來存儲閃速編程時間超過tPROG,eff所涉及的數據頁(原理上)
表1典型的頁緩衝器使用(原理上)表1示出了頁緩衝器簡單的典型使用。
每一行表示在時間tWrite+tPROG,eff之後的頁緩衝器的狀態。第一緩衝頁用於對當前數據頁(即在當前也會被存儲到閃速存儲器的數據頁)進行緩衝。如果在必須存儲下一個數據頁(表1中的當前頁j+1)時閃速編程過程沒有成功,那麼在下一個更高的緩衝頁(緩衝頁#1)中對這個數據頁進行緩衝。假定tPROG,eff≥tPROG,max/2,當必須存儲下一個數據頁(j+3)時,已經經過了最大編程時間,從而這個下一數據頁(j+3)能夠重新使用第一緩衝頁(頁#0)。在發生下一個故障之前,把隨後的數據頁也存儲在這個緩衝頁(頁#0)中。
在表1中,數據頁j+5在下一個數據頁j+6到達時沒有被成功地存儲在頁緩衝器中,從而閃速存儲器通過其狀態信號指出所述閃速存儲器仍忙於先前的數據頁j+5。於是,緩衝控制器把下一個數據頁j+6在下一個空閒的緩衝頁(在這個示例中為緩衝頁#2)中進行緩衝。如上所述,其它隨後的數據頁可以再次被存儲在第一緩衝頁-頁#0中。
最後,在把最後的數據頁M-1存儲到閃速設備中後,緩衝器在「當前數據」頁之後的緩衝頁上包含了沒有被存儲到閃速設備中的所有數據頁,這是因為它們各自的先前頁超過了有效編程時間。然後,可以把這些頁複製到閃速存儲器中。需要這些頁的上述位置、次序或時間信息以重新構建數據流,因而也可以把這些信息存儲在閃速設備中。
所述過程沒有考慮完全由於壞塊而沒有完成閃速存儲的數據頁。這些頁也可以存儲在頁緩衝器中,而且這些頁的存儲過程可以與所述過程相疊加。在這種情況下,例如當前緩衝頁不會在編程失敗後被覆寫,而且頁緩衝器最終包含了沒有存儲在閃速存儲器中(不同的原因)的所有數據頁。
如上所述,在一個實施例中,頁緩衝器僅保持了那些不能被寫入閃速存儲器的數據頁。在其它實施例中,頁緩衝器可以額外地保持當前頁,其數目取決於比率tPROG,max/tPROG,eff。圖5示出了tPROG,max/2≤tPROG,eff<tPROG,max的情況。
例如,對於tPROG,max/3≤tPROG,eff<tPROG,max/2的情況,必須存儲至少兩個相繼的數據頁,而不僅是存儲一個。類似地,對於tPROG,max/4≤tPROG,eff<tPROG,max/3的情況,必須存儲至少三個相繼的數據頁。然而在當今的閃速設備和頁緩衝器大小的假定下,對於更高的比率來說,編程過程失敗的可能性過高。因此,從當今的觀點來看,針對這個實施例的有用配置是,對與每一超過tPROG,eff的頁,頁緩衝器緩衝1-3個頁。
本發明有助於有效減小NAND閃速設備的編程時間,即使對於具有實時約束的應用也一樣。這導致了為單一NAND閃速設備提供了更高的保證數據速率。就數據速率方面的擴展而言,為達到特定的保證數據速率,只需要較少的NAND閃速設備。
就數據速率方面的擴展而言,與傳統的現有技術相比,本發明允許以較少的NAND閃速設備來提供保證輸入數據速率,或利用給定數目的NAND閃速設備而提供比傳統的現有技術更高的保證數據速率。
利用測量,對當前的NAND閃速設備的性能進行評估並確定編程時間的實際分布。這些測量表明例如對於MICRON NAND閃速設備(具有300/700μs的典型/最大編程時間)來說,所有的頁編程中僅有1.3*10-3%超過了350μs(僅為最大編程時間的一半)的編程時間。根據這些測量可以得出結論有效地減小有效編程時間是合理的而且在技術上可行;即使減少到最大編程時間的一半也是可行的。
在下文中,本發明針對最大編程時間700μs被減小至有效編程時間350μs的情況進行說明。然而,本發明不限於這個具體的比率。使用這個比率,例如對於MICRON閃速設備來說數據速率可以增加大約80%。此外,下文假定頁緩衝器也用於存儲完全由於壞塊而沒有完成閃速存儲的頁。
對於要求保證數據速率的應用來說(例如實時數據流的存儲),通常需要以固定的時間間隔把數據頁存儲到NAND閃速設備中。用於開始把新的(下一個)頁存儲到同一NAND閃速設備中的間隔由以下來確定編程時間加上建立和定址時間以及把一個頁輸入數據寄存器所需的時間。利用狀態讀取操作,可以檢查頁編程操作是否仍在進行或已經成功完成。為了允許對不成功的頁編程(例如出現新的壞塊的情況下)進行處理,一種策略是把輸入當前選擇的NAND閃速設備的數據寄存器中的頁同時存儲在頁緩衝器中。當狀態讀取指示頁編程成功時,該頁可以從頁緩衝器中刪除或被其它頁覆寫。如果頁編程沒有成功,那麼該頁被保持在頁緩衝器中,直到完成數據流的存儲。然後,把該頁存儲在具有剩餘空閒存儲容量的NAND閃速設備中。為了保持頁的正確順序,必須記住後續頁的地址位置。可以在單獨的單元中完成這個步驟,或是在控制對不同閃速設備的訪問的控制器中完成。
當把最大編程時間減小為有效編程時間時,需要對超過編程時間的情況進行不同處理。因此,可以使用用於處理不成功頁編程的頁緩衝器用於處理超過有效編程時間的過程可以與用於處理不成功頁編程的過程相結合。可是一個主要的不同是如果頁編程操作超過了有效編程時間(在這個示例中為350μs),那麼需要對隨後的頁進行緩衝。此外,必須略去把隨後的頁輸入到(仍處於忙狀態的)NAND閃速設備的數據寄存器中。因此,該頁僅被存入頁緩衝器。然而在編程失敗的情況下,需要對當前頁進行緩衝。
下面是一個例子如果將要存儲在NAND閃速設備k中的第i頁超過了350μs的有效編程時間,那麼將要存儲到同一NAND閃速設備(設備k)中的第(i+1)頁將僅被存儲在頁緩衝器中。必須略去輸入到NAND閃速設備k的數據寄存器這個步驟。由於現在超過了初始最大頁編程時間700μs,因此第(i+2)頁可以再次被存入這個NAND閃速設備k。這意味著第i頁現在被存入設備k的閃速陣列,或是其「狀態讀取」信號指示不成功的頁編程過程。如果「狀態讀取」指示頁編程操作在有效編程時間結束後仍在進行,那麼這個頁編程操作超過了有效編程時間。當完成流存儲後,將會把頁緩衝器中的所有剩餘頁存儲到具有剩餘空閒存儲容量的那些NAND閃速設備中。可能需要確定這些設備,因為所存儲的數據的實際數量可能會有變化,或是一個或多個閃速設備的保留存儲空間。
對超過編程時間的那些情況進行處理需要足以存儲相應頁的頁緩衝器。上文提到的測量和計算表明可以根據數據頁大小、要存儲的數據的最大數量(即數據流長度)以及所使用的閃速設備超過選定的有效編程時間的可能性(它取決於選定的有效編程時間)來估計頁緩衝器中進行緩存的數據的期望數量。在上文所述的其它實施例中,還要考慮所使用的閃速設備的存儲失敗可能性。如上文所示,可以根據以下內容來選擇有效編程時間頁緩衝器具有合理的大小,而且系統仍能夠防止數據丟失。然而根據本發明,將會根據以下內容來選擇有效編程時間它處於為各個閃速設備所規定的典型編程時間與最大編程時間之間(與最大編程時間相比,通常更接近典型編程時間)。
在必須考慮實時約束(即保證數據速率)時(例如存儲連續的實時數據流),本發明特別有利。減小的有效編程時間減小了實現所需數據速率存儲所需要的NAND閃速設備的最小數目,同時所提出的結構和機制避免了數據丟失。
特別地,如果例如具有實時約束的應用要求保證數據速率,那麼必須考慮最大編程時間。因此,對於面向更高數據速率的存儲結構的擴展來說,最大編程時間確定了實現特定的保證數據速率所需的閃速設備的最小數目。這一點尤其對具有較小(受限)形狀因數的存儲系統是一種限制,因為這些系統典型地具有所能包含的閃速設備的數目上限。此外,閃速設備數目的增大還意味著系統存儲容量的增大,因此導致了更高的成本。
本發明不一定限於NAND閃速設備,也可以用於提供類似編程時間分布的其它存儲設備。
權利要求
1.一種向閃速存儲器執行寫入的方法,其中閃速存儲器具有規定的最大編程時間和規定的典型編程時間,並提供一個或多個指示編程周期是否結束的信號(狀態讀取、忙),所述方法包括步驟-規定有效編程時間(tPROG,eff),所述有效編程時間高於典型編程時間且低於最大編程時間;-把第一數據(i)寫入閃速存儲器;-在規定的有效編程時間(tPROG,eff)後,對所述一個或多個指示編程周期是否結束的信號(忙、狀態讀取)進行評估;-如果編程周期結束,那麼把第二數據寫入閃速存儲器;-如果編程周期沒有結束,那麼把至少是第二數據(i+1)寫入緩衝存儲器(頁緩衝器),並對緩衝存儲器中至少是第二數據進行標記使其不被覆寫;-如果要存儲其它數據,那麼重複從把數據寫入閃速存儲器開始的上述步驟;-確定閃速存儲器中的空閒位置;以及-把至少是第二數據從緩衝存儲器(頁緩衝器)複製到閃速存儲器中所確定的位置,其中可以把所述數據從緩衝存儲器中擦除。
2.根據權利要求1所述的方法,其中閃速存儲器是NAND閃速存儲器。
3.根據權利要求1或2所述的方法,其中緩衝存儲器(頁緩衝器)的大小等於或大於預期超過有效編程時間(tPROG,eff)的閃速編程過程所涉及的數據的總量。
4.根據權利要求1或2所述的方法,其中緩衝存儲器(頁緩衝器)還用於存儲失敗的閃速編程過程所涉及的數據。
5.根據權利要求1或2所述的方法,其中緩衝存儲器(頁緩衝器)的大小等於或大於以下兩項之和預期超過有效編程時間(tPROG,eff)的閃速編程過程所涉及的數據的總量,以及預期將不會成功的閃速編程過程所涉及的數據的數量。
6.根據權利要求1所述的方法,其中有效編程時間(tPROG,eff)實質上為規定的最大編程時間的50%。
7.一種用於向閃速存儲器執行寫入的設備,其中閃速存儲器具有規定的最大編程時間和規定的典型編程時間,並提供一個或多個指示編程周期是否結束的信號(狀態讀取、忙),所述設備包括-用於規定有效編程時間(tPROG,eff)的裝置,所述有效編程時間高於典型編程時間且低於最大編程時間;-用於把第一數據(i)寫入閃速存儲器的第一位置的裝置;-用於在規定的有效編程時間(tPROG,eff)後對所述一個或多個指示編程周期是否結束的信號(狀態讀取、忙)進行評估的裝置;-用於把第二數據寫入閃速存儲器的第二位置的裝置,其中如果先前的編程周期結束,則第二數據僅被寫入閃速存儲器;-緩衝存儲器(頁緩衝器);-用於把至少是第二數據(i+1)寫入緩衝存儲器(頁緩衝器)的裝置;-用於在先前的編程周期沒有結束的情況下通知緩衝存儲器中至少是第二數據不能被覆寫的裝置;-用於確定閃速存儲器中的空閒位置的裝置;以及-用於把至少是第二數據從緩衝存儲器(頁緩衝器)複製到閃速存儲器中所確定的位置的裝置,其中可以把所述數據從緩衝存儲器中擦除。
8.根據權利要求7所述的設備,其中緩衝存儲器的大小等於或大於預期超過有效編程時間(tPROG,eff)的閃速編程過程所涉及的數據的總量。
9.根據權利要求7或8所述的設備,其中緩衝存儲器(頁緩衝器)還用於存儲不成功的閃速編程過程所涉及的數據。
10.根據權利要求7至9中任意一項所述的設備,其中有效編程時間(tPROG,eff)實質上為閃速存儲器規定的最大編程時間的50%。
全文摘要
對於NAND閃速設備,數據手冊中定義了編程時間的兩個特殊界限其中對所有頁中多於50%的部分進行了編程的典型編程時間和最大編程時間。使用如下用於向閃速存儲器寫入的方法,能夠把最大編程時間減小至有效編程時間,該方法包括步驟規定典型編程時間與最大編程時間之間的有效編程時間;把第一數據寫入閃速存儲器;在經過有效編程時間後,檢查編程周期是否結束;若編程周期結束,把第二數據寫入閃速存儲器,若編程周期沒有結束,把至少是第二數據寫入緩衝存儲器,並對其進行標記以便不被覆寫;只要還有要存儲的數據,則重複上述步驟;確定閃速存儲器中的空閒位置;以及把至少是第二數據從緩衝存儲器複製到閃速存儲器中所確定的位置。
文檔編號G06F12/06GK101064193SQ20071009607
公開日2007年10月31日 申請日期2007年4月10日 優先權日2006年4月28日
發明者約恩·亞卡斯基, 馬爾科·呂特延 申請人:湯姆森許可貿易公司