TWI505088B - 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 - Google Patents
基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 Download PDFInfo
- Publication number
- TWI505088B TWI505088B TW102115170A TW102115170A TWI505088B TW I505088 B TWI505088 B TW I505088B TW 102115170 A TW102115170 A TW 102115170A TW 102115170 A TW102115170 A TW 102115170A TW I505088 B TWI505088 B TW I505088B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- storage
- portions
- threshold
- flash memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明關於一種記憶體,更特別地,關於具一有限生命週期的記憶體。
記憶體是現代企業計算系統性能的最受限制態樣之一。記憶體的一受限制態樣為許多類型的記憶體呈現有限制的生命週期。例如,每次抹除及重新寫入時,非揮發性記憶體(例如快閃記憶體)的生命週期會減少。隨著時間及數千個抹除及重新寫入,此快閃記憶體會變成越來越不可靠。
用於減少記憶體生命週期的一普通先前技術是耗損調平(Wear Leveling)。耗損調平允許以概略相等的時間數將一儲存裝置中的區塊予以抹除及寫入。此可避免一區塊較常使用、到達生命結束、及必須停止使用的情況。此減少整個裝置的儲存能力。雖然該等儲存裝置可具有預留區塊,但是該等預留區塊會用盡,且裝置的記憶體容量會下降,以致於無法使用此儲存裝置。
記憶體代理商時常保證記憶體的特定百分比預期壽命。例如,一
快閃記憶體代理商可保證在100,000程控與抹除週期(即是持久性)之後,基於過度的錯誤修正需求,小於1%的區塊將無法使用。在此情況中,該等錯誤修正需求可針對該快閃裝置加以設定成每512個位元組有一單一位元錯誤。一些最近發展的裝置具有非常低的持久性。這些裝置需要非常大的錯誤修正需求。
此外,記憶體區塊的生命週期可變化。結果,使用使許多程控抹除週期均衡之耗損調平,當只有一指定的百分比區塊是不良(例如,1%)時,一儲存裝置可到達生命的結束。然而,多數在儲存裝置中包括的區塊可仍然發揮功能。
如此,需要用於處理有關先前技術的這些及/或其他議題。
本發明提供一種用以基於寫入頻率,將資料寫至不同儲存裝置之系統、方法及電腦程式產品。操作上,寫入資料的頻率可加以識別。此外,基於該頻率,選擇從複數個不同類型的儲存裝置寫入資料。
500‧‧‧系統
501‧‧‧主機處理器
502‧‧‧匯流排
504‧‧‧主記憶體
506‧‧‧圖形處理器
508‧‧‧顯示器
510‧‧‧輔助儲存裝置
第一圖顯示根據一具體實施例之用於增加複數個記憶體區塊的生命週期之方法。
第二圖顯示根據另一具體實施例之用於增加複數個記憶體區塊的生命週期之技術。
第三圖顯示根據另一具體實施例之用於增加複數個記憶體區塊的生命週期之方法。
第四圖顯示根據一具體實施例之基於寫入頻率,將資料寫至不同儲存裝置之方法。
第五圖說明可實施各種不同先前具體實施例的各種不同架構及或功能性之示例性系統。
第一圖顯示根據一具體實施例之用於增加複數個記憶體區塊的生命週期之方法100。影響複數個記憶體區塊的生命週期之至少一因素可加以識別。請參見步驟102。此外,基於該至少一因素,可選擇要寫入的複數個區塊。請參見步驟104。
在目前描述的範圍中,記憶體的生命週期可包括記憶體在任何持續期間內呈現任何想要可用性程度。例如,在各種不同具體實施例中,此生命週期可包括(但必定不限於)一想要的生命週期、一實際的生命週期、一估計的生命週期等。此外,可用性的程度是指任何可用性相關的參數,例如仍可操作的組件(例如區塊、單元等)之百分比、仍可操作的記憶體或組件之可信度、及/或有關此的任何其他參數。
此外,在各種不同具體實施例中,記憶體可包括(但未限於)機械式儲存裝置(例如,磁碟機等)、固態儲存裝置(例如動態隨機存取記憶體(DRAM,“Dynamic Random Access Memory”)、快閃記憶體等)、及/或任何其他儲存裝置。在記憶體包括快閃記憶體的情況中,快閃記憶體可包括(但未限於)單層式儲存(SLC,“Single-Level Cell”)裝置、多層式儲存(MLC,“Multi-Level Cell”)裝置、NOR快閃記憶體、NAND快閃記憶體、MLC NAND快閃記憶體、SLC NAND快閃記憶體等。在一具體實施例中,非揮發性記憶體裝置可包括每單元單位元NOR快閃記憶體、每單元多位元NOR快閃記憶體、每單元單位元NAND快閃記憶體、及每單元多位元NAND快閃記憶體之至少一者。
此外,在目前描述的範圍中,該因素可包括可直接或間接影響記憶體區塊的生命週期之任何因素。例如,在各種不同具體實施例中,該等因素可包括(但未限於)涉及記憶體區塊之至少一者的讀取操作期間之錯誤數(例如偵測、修正等)、一程式操作與涉及記憶體區塊之至少一者的讀取操作之間的持續時間;抹除記憶體區塊之至少一者的次數;抹除記憶體區塊之至少一者所需的持續時間、程控記憶體區塊之
至少一者的持續時間、程控記憶體區塊之至少一者所需的重新嘗試數、記憶體區塊之至少一者的一頁之介入讀取數、記憶體的相鄰頁之介入讀取數、記憶體之結構與組織、及/或符合上述定義之任何其他因素。記憶體區塊使用的歷史還可儲存。在此情況中,使用的歷史可用來決定因素。
更多說明資訊現將按使用者的期望,描述關於可以或無法實施參考先前架構的各種不同選擇性架構及特徵。應該特別注意,下列資訊之闡述只是說明,且不應以任何方式構成限制。下列任一特徵可選擇性合併在一起不論是否排除其他描述之特徵。
第二圖顯示根據另一具體實施例之用於增加複數個記憶體區塊的生命週期之技術200。技術200還可在第一圖的細節之範圍中實施。當然(然而),技術200可在任何想要的環境中實施。亦應該注意,上述定義可在目前的描述中應用。
如圖所示,複數個記憶區塊204的持久性202係可監督。在此情況中,第二圖的長條係代表一特別區塊204的寫入次數。在目前描述的範圍中,持久性202是指每一記憶體區塊204的寫入與抹除週期數。因此,持久性202係對應至記憶體區塊204的使用。在一具體實施例中,寫入及/或抹除的次數可受監督及記錄。
藉由監督區塊204寫入次數,可決定哪些區塊為較常使用。在一具體實施例中,此監督可用來決定區塊204之任一者的寫入次數是否超過一臨限206。此外,此監督允許使用上的均等化,以致於當特定區塊的寫入次數到達臨限206時,其他低於臨限206的區塊可用於寫入。例如,區塊寫入及回收的順序可改變,以將區塊之間的持久性值的任何差異減至最少。
操作上,影響複數個記憶體204區塊生命週期的至少一因素可加以識別及/或監督。要寫入的複數個區塊然後可基於該至少一因素加以
選取。在各種不同具體實施例中,可能有多個因素指出來區塊204的生命週期狀態。在一具體實施例中,因素可包括與該等區塊204之每一者有關的修正錯誤數。例如,此修正的錯誤可對應至資料的讀取。
在各種不同情況,因素可能受到複數個其他因素的影響。例如,修正的錯誤數可能受到從程式操作至讀取使用多少時間、及執行多少個讀取的影響。此外,一區塊抹除及程控的次數亦可能影響修正的錯誤數。
當然,許多其他因素亦可能影響修正錯誤量。在各種不同具體實施例中,這些因素可對應至區塊204使用的時間、寫入的頻率、操作率、允許的操作總數、與生命週期的持續時間等。當然,此示例性態樣之闡述只為了說明之目的,而可能影響記憶體區塊預期壽命的因素可對應至任何態樣。
在一具體實施例中,一分數可用來決定是否改變要寫入及回收的區塊204之順序。例如,基於至少一因素的每一區塊204可具有一對應的分數功能。該分數功能可用來決定區塊204之每一者的分數。
此分數可用來減少在區塊204的分數功能間的值之差異。該分數還可基於影響區塊204的生命週期之一因素。該分數還可基於影響區塊204的生命週期的複數個因素。
例如,在兩記憶體區塊的情況中,一記憶體區塊可具有超過臨限206的分數,而一記憶體區塊可具有低於臨限206的分數。在此情況中,該等分數之每一者可對應至影響該等區塊生命週期的至少一因素。應該注意,該等分數可對應至一些影響該等區塊生命週期之因素,如上所述。
在一具體實施例中,該等分數係表示一值,該值係對應至有關區塊生命預期的至少一因素。在此情況中,該等值的差異可反映區塊預期壽命的差異。因此,兩區塊可相等。
在一具體實施例中,均等化可包括利用(例如寫入)低於臨限206的區塊,但不利用超過臨限206的區塊。在當兩區塊對應至相等或接近等值之前,這是可能發生。此時,臨限206可增加,之後任一記憶體區塊可繼續被利用。
最初,所有區塊204可低於臨限206。當一區塊超過臨限206時,可將該區塊標示或識別為超過臨限206。然後,在區塊到達或超過臨限206之前,可利用低於臨限206下的區塊204。
上述動作可在低於臨限206的所有區塊204被運用殆盡之前。此時,一新的臨限的設定使得全部現有區塊204是低於此新的臨限。此可在區塊204的生命週期期間一直重複。
可選擇地,可用空間的計數百分比可使用在均等化各區塊204間的變異,以最小化抹除及寫入區塊204之總數。此外,各種不同其他技術可用來減少抹除及寫入的區塊總數、以及使區塊間的變異(即是區塊回收)均等。此外,各種不同其他均等技術可用來使區塊204間的變異均等。
在一具體實施例中,多個記憶體模組可使用在一系統。在此情況中,記憶體模組可包括具有不同生命週期的記憶體模組。同樣地,系統的總記憶體生命週期可高達記憶體的生命週期之總數,而不只是侷限於具有最小生命週期的記憶體模組。
在一具體實施例中,一生命週期估計器模組可用來接收命令,這些命令可用來經由一儲存匯流排接收與一系統的控制器進行溝通。生命週期估計器模組可計算一估計的生命週期,假設透過該匯流排接收的命令有被執行。在一具體實施例中,一生命週期估計器可用來監督寫入次數、及/或影響記憶體區塊204的生命週期之其他因素。該生命週期估計器模組還可用來設定臨限206。
當然,臨限206可使用多種技術予以設定。在一具體實施例中,
臨限206可為一預先決定的臨限。在另一具體實施例中,臨限206可動態設定。該臨限還可與記憶體區塊204之至少一者有關的裝置之生命週期(例如預期生命週期、或是想要的生命週期等)有直接關聯。
在一具體實施例中,一儲存裝置間冗餘能力可用於減少費用及改良性能。在此具體實施例中,基於有關生命週期的任何因素,資料可在個別儲存裝置之間移動。例如,一情況係涉及該等儲存裝置之一第一者,相較於該等儲存裝置之一第二者的資料,該第一儲存裝置包括較時常覆寫的一組資料。在此情況中,在超過有關生命週期的至少一因素的臨限之後,此資料可從該第一儲存裝置移至該第二儲存裝置,且自此以後,該第一儲存裝置、或關於其的一或多個區塊/模組可用來儲存較不常寫入的資料或不再進一步使用。
為了這個目的,儲存裝置生命週期可適當分配,避免一儲存裝置或儲存裝置的一部分相對於該組其他儲存裝置的過早時間點上失效。當然,目前技術不僅可在不同儲存裝置之中應用,而且可應用在一部分不同裝置間。為了這個目的,任何記憶體組件的生命週期能夠以此方式加以處理。
第三圖顯示根據另一具體實施例之用於增加複數個記憶體區塊的生命週期之方法300。方法300可在第一圖至第二圖的功能性之情況下實施。當然(然而),方法300可在任何想要的環境中實施。亦應該注意,上述定義可在目前的描述中應用。
如圖所示,一臨限的定義使得所有記憶體的區塊低於該臨限。請參見步驟302。在一具體實施例中,該臨限可對應至該等區塊的使用。例如,當使用區塊時,有關區塊的使用值可接近該臨限。在另一具體實施例中,該臨限可對應至與該組區塊的預期壽命有關的至少另一因素。
例如,該臨限可對應至該等區塊的修正錯誤數。在此情況中,當
使用區塊時,有關該等區塊的修正錯誤數值可接近該臨限。當然,該臨限可對應至影響該等區塊生命週期的一些因素。
一旦確認該等區塊低於一最初的臨限,可決定的是否需要回收一區塊。請參見步驟304。例如,若因素指出一區塊或一組區塊超過該臨限、或與其他區塊不成比例地使用,可決定需要回收該區塊或數個區塊。
在目前描述的範圍中,藉由垃圾收集、讀取擾動、數據淨化、修正的錯誤數、或其他事件所引起的區塊回收是指基於至少一因素以使區塊之間的變異均等。例如,在各種不同具體實施例中,該區塊回收可包括基於一些因素以使該等區塊間的變異均等,該等因素可為:在一讀取/寫入期間偵測的錯誤數、在一讀取/寫入期間修正的錯誤數、抹除區塊的時間長度、區塊程控的時間長度、程式化期間所利用的輸入數、一頁面的介入讀取數、一相鄰頁面的介入讀取數、一區塊的抹除與程控週期數、及/或任何其他因素。
若決定需要回收一區塊,低於該臨限的區塊中之所有區塊可配置成將要寫入。請參見步驟306。例如,低於一臨限的區塊可用在一記憶體操作,而不只是超過該臨限的區塊組中的區塊或多個區塊。
一旦低於該臨限的區塊組中之所有區塊配置成將要寫入,然後決定任何區塊是否超過該臨限。請參見步驟308。例如,設定成低於該臨限的區塊中之所有區塊可寫入直到一區塊超過該臨限之前。
若決定一區塊已超過該臨限,該區塊可置入對應至包含有超過該臨限的之區塊組中。請參見步驟310。若區塊未超過該臨限,該區塊可保留在設定成低於該臨限的區塊中,並可繼續利用。
然後,決定是否用盡所有低於臨限的區塊。請參見步驟312。換句話說,決定是否原先在低於該臨限的區塊之區塊組中的所有區塊均被包括在超過該臨限之區塊集中。
若所有低於該臨限的區塊已用盡,可設定新的臨限,並將全部現有區塊定義成低於新的臨限。請參見步驟314。一旦已設定新的臨限,再次決定是否需要回收區塊。此動作可在記憶體區塊的生命週期上持續進行。
應該注意,新的及最初的臨限可基於各種不同標準而設定。例如,臨限可基於區塊的預期使用而設定。在一具體實施例中,臨限可為一預先決定的臨限。在另一具體實施例中,臨限可基於記憶體區塊使用而決定。
第四圖顯示根據一具體實施例之基於一寫入頻率,將資料寫至不同儲存裝置之方法400。方法400還可在第一圖至第三圖的功能性與架構的情況下實施。當然(然而),方法400可在任何想要的環境中實施。亦應該注意,上述定義可在目前的描述中應用。
如圖所示,資料寫入的頻率可加以識別。請參見步驟402。此外,複數個不同類型的儲存裝置可基於該頻率而選用來寫入資料。請參見步驟404。
在一具體實施例中,該選擇可基於一臨限。例如,若資料寫入的頻率超過一臨限,一特定的儲存裝置可選用來寫入該資料。不同類型的儲存裝置還可包括一SLC和一MLC裝置、一MLC和具不同持久性的MLC、SLC和DRAM、MLC和DRAM。當然,在各種不同其他具體實施例中,不同類型的儲存裝置可包括任何數量的裝置,包括各種不同類型的記憶體。
在另一具體實施例中,至少兩不同類型記憶體可整合在一裝置。例如,快閃MLC和SLC記憶體可組合在一裝置上。如另一範例所示,兩不同類型快閃MLC可整合在一裝置中。在仍然另一範例中,一裝置中的混合記憶體類型係為可程式化。在一情況中,有關SLC快閃記憶體的儲存裝置的一部分可程式化決定,且有關MLC快閃記憶體的儲存
裝置的一部分可程式化決定。
如一特定範例所示,可決定來自一特別應用或程式的資料可使用高頻率寫入。在此情況中,一SLC裝置可選擇寫入該資料。另一方面,可決定來自一特別應用或程式、或磁碟的特定位置、或來自特別存取模式的資料可使用低頻率寫入。在此情況中,一MLC裝置可選用來寫入該資料。當然,這只是一範例,因為任何數量的裝置可基於識別的頻率加以選取。
在一具體實施例中,一生命週期的估計器模組可用來經由一儲存匯流排接收與一系統的控制器進行溝通的命令。該生命週期估計器模組可監督頻率、以及計算估計的生命週期,假設透過該匯流接收的命令被執行。當然,頻率能夠以多種方式決定,且未限於藉由生命週期估計器模組加以識別。
在各種不同具體實施例中,在前面具體實施例中提到的記憶體可包括一機械式儲存裝置(例如一磁碟機,包括一SATA磁碟機、一SAS磁碟機、一光纖通道磁碟機、IDE磁碟機、ATA磁碟機、CE磁碟機、USB磁碟機、智慧卡磁碟機、MMC磁碟機等)、及/或一非機械式儲存裝置(例如以半導體為主等)。此非機械式記憶體可例如包括揮發性或非揮發性記憶體。在各種不同具體實施例中,非揮發性記憶體裝置可包括快閃記憶體(例如每單元單位元NOR快閃記憶體、每單元多位元NOR快閃記憶體、每單元單位元NAND快閃記憶體、每單元多位元NAND快閃記憶體、每單元多層式及/或多位元NAND快閃記憶體、大區塊快閃記憶體、電阻式記憶體、相變記憶體、磁性記憶體等)。雖然在此闡述了各種不同記憶體的範例,但是應該注意,各種不同原則可適用於由於在此執行的各種不同操作所導致減少生命週期之任何類型記憶體。
第五圖說明可實施各種不同先前具體實施例的各種不同架構及/
或功能之示例性系統500。例如,示例性系統500可代表在一些先前具體實施例中闡述的電腦。上面闡述的各種不同裝置可甚至為系統500的一組件。
如圖所示,一系統500之提供包括至少一主機處理器501,主機處理器501連接至一通信匯流排502。系統500亦包括主記憶體504。控制邏輯(軟體)與資料是儲存在可採用隨機存取記憶體(RAM,“Random Access Memory”)形式的主記憶體504。
系統500亦包括一圖形處理器506與一顯示器508,即是一電腦監視器。系統500亦可包括一輔助儲存裝置510。輔助儲存裝置510包括例如一硬碟機及/或一可移除儲存磁碟機,代表一軟碟機、一磁帶機、一光碟機等。可移除儲存磁碟機能夠以熟知的方式從可移除儲存模組讀取、及/或寫入該可移除儲存模組。
電腦程式、或電腦控制邏輯演算法可儲存在主記憶體504及/或輔助儲存裝置510。當電腦程式執行時,此電腦程式可使系統500執行各種不同功能。記憶體504、儲存裝置510及/或任何其他儲存裝置是電腦可讀媒體之可能範例。
在一具體實施例中,各種不同先前圖式的架構及/或功能可在主機處理器501、圖形處理器506、輔助儲存裝置510、一可為主機處理器501和圖形處理器506二者能力之至少一部分積體電路(未在圖顯示)、一晶片組(即是一組積體電路,其係設計為可執行相關功能等的模組予以銷售)、及/或用於此目的之任何其他積體電路的情況下實施。
各種不同先前圖式的架構及/或功能可在一般電腦系統、一電路板系統、一專屬於娛樂目的之遊戲機控制系統、一應用特殊系統、及/或任何其他期望系統的範圍中實施。例如,系統500可採用一桌上型電腦、膝上型電腦、及/或任何其他類型邏輯的形式。系統500可採用各種不同其他裝置的形式,包括(但未限於)一個人數位助理(PDA,
“Personal Digital Assistant”)裝置、一行動電話裝置、一電視機等。
此外,雖然未在圖式中顯示,但是系統500可耦合至一網路(例如一電信網路、區域網路(LAN,“Local Area Network”)、無線網路、廣域網路(WAN,“Wide Area Network”),例如網際網路、對等網路、電纜網路等),供通信目的使用。
雖然上面已描述各種不同具體實施例,但是應該瞭解,這些不同具體實施例只經由範例描述,而不是限制。因此,一較佳具體實施例的廣度及範疇應不受到上述任一示例性具體實施例的限制,而是只根據下列申請專利範圍及其同等物的定義。
Claims (23)
- 一種基於寫入頻率將資料寫入記憶體不同部份之方法,其包含:監視寫入資料至一記憶體之多個部份之多個頻率值,該記憶體包含複數個儲存技術,每一部份包含該等儲存技術之一特定儲存技術且具有一個別生命週期;及基於該等部份之持久性值之差異、該等監視頻率值之差異及該等個別生命週期之差異,動態地管理該等部分被寫入及該等部份被回收之一順序以將該等部份個別預期壽命相等化。
- 如申請專利範圍第1項之方法,其中該動態地管理步驟係至少部份地基於一臨限。
- 如申請專利範圍第2項之方法,更包含一步驟決定該臨限。
- 如申請專利範圍第3項之方法,其中若該寫入至該等部份之一第一部份之資料之頻率超過該臨限,將該資料寫至該等部份之一第二部份。
- 如申請專利範圍第4項之方法,其中該第一部份包含該等儲存技術之一單層式單元SLC儲存技術。
- 如申請專利範圍第3項之方法,其中若寫入至該等部份之一第一部份之資料之該頻率不超過該臨限,將該資料寫至該等部份之一第二部份。
- 如申請專利範圍第6項之方法,其中該第一部份包含該等儲存技術之一多層式單元MLC儲存技術。
- 如申請專利範圍第1項之方法,其中該複數個儲存技術包含單層式單元SLC快閃記憶體儲存技術及多層式單元MLC快 閃記憶體儲存技術,且該SLC快閃記憶體及該MLC快閃記憶體儲存技術係整合在一裝置內。
- 如申請專利範圍第8項之方法,更包含以程式方式判定該等部份之至少一者之該特定儲存技術。
- 如申請專利範圍第1項之方法,其中該複數個儲存技術包含兩不同類型的單層式單元SLC快閃記憶體儲存技術,且該兩不同類型的SLC快閃記憶體儲存技術係整合在一裝置內。
- 如申請專利範圍第1項之方法,其中該等部份之一第一者包含一單層式單元SLC儲存技術且該等部份之一第二者包含一多層式單元(MLC)儲存技術,且該第一部份之該監視頻率值係相對高而該第二部份之該監視頻率值係相對低。
- 如申請專利範圍第11項之方法,其中該SLC及該MLC儲存技術係整合在一裝置內。
- 如申請專利範圍第1項之方法,更包含至少部份地基於該等監視頻率值及該等個別生命週期,動態地選擇將被寫入之該等部份。
- 如申請專利範圍第1項之方法,其中該複數個儲存技術包含一固態儲存技術。
- 如申請專利範圍第14項之方法,其中該固態儲存技術包含快閃記憶體技術。
- 如申請專利範圍第15項之方法,其中該快閃記憶體技術包括NAND快閃記憶體。
- 如申請專利範圍第1項之方法,其中該監視至少部份地經由一生命週期預測器模組,該等部份對應多個儲存裝置,且該生命週期預測器模組至少部份地基於多個儲存命令計算該等儲存裝置之多個經預測生命週期。
- 如申請專利範圍第1項之方法,其中該等部份包含一第一部份,該第一部份包含具有一第一持久性之多層式單元MLC儲存技術且一第二部份具有一第二持久性之MLC儲存技術。
- 如申請專利範圍第1項之方法,其中該等部份包含一包含單層式單元SLC儲存技術之第一部份及一包含多層式單元MLC儲存技術之第二部份,且該動態地管理包含當被寫入資料之頻率係至少一特定值時選擇該第一部份及當相反情況時選擇該第二部份。
- 如申請專利範圍第1項之方法,其中動態地管理係進一步考慮下列任何一者或多者:對該等部份之一者之至少一部份執行一寫入操作之一時間長度,關於該等部份之一者之至少一部份之經修正錯誤的數目,及關於該等部份之一者之至少一部份之介入讀取之數目。
- 一種具有一組指令儲存於其中的非暫態電腦可讀媒體,當由一處理器執行時使得該處理器執行多個功能,其包含:監視將資料寫入一記憶體之多個部份之多個頻率值,該記憶體包含複數個儲存技術,每一部份包含該等儲存技術之一特定儲存技術且具有一個別生命週期;及基於該等部份之持久性值之差異、該等監視頻率值之差異及該等個別生命週期之差異,動態地管理該等部分被寫入及該等部份被回收之一順序以將該等部分個別預期壽命相等化。
- 一種基於寫入頻率將資料寫入記憶體不同部份之裝置,其包含: 監視構件,用於監視寫入資料至一記憶體之多個部份之多個頻率值,該記憶體包含複數個儲存技術,每一部份包含該等儲存技術之一特定儲存技術且具有一個別生命週期;及管理構件,用以基於該等部份之持久性值之差異、該等監視頻率值之差異及該等個別生命週期之差異,動態地管理該等部分被寫入及該等部份被回收之一順序以將該等部份個別預期壽命相等化。
- 如申請專利範圍第22項之裝置,其中至少該監視構件係耦合在一系統與該記憶體之間。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/942,640 US7849275B2 (en) | 2007-11-19 | 2007-11-19 | System, method and a computer program product for writing data to different storage devices based on write frequency |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201333696A TW201333696A (zh) | 2013-08-16 |
TWI505088B true TWI505088B (zh) | 2015-10-21 |
Family
ID=40643192
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102115170A TWI505088B (zh) | 2007-11-19 | 2008-11-18 | 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 |
TW097144479A TWI420303B (zh) | 2007-11-19 | 2008-11-18 | 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097144479A TWI420303B (zh) | 2007-11-19 | 2008-11-18 | 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7849275B2 (zh) |
JP (1) | JP5819610B2 (zh) |
CN (1) | CN101874239B (zh) |
TW (2) | TWI505088B (zh) |
WO (1) | WO2009067138A1 (zh) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7747813B2 (en) * | 2006-11-24 | 2010-06-29 | Sandforce, Inc. | Multi-memory device system and method for managing a lifetime thereof |
US7809900B2 (en) * | 2006-11-24 | 2010-10-05 | Sandforce, Inc. | System, method, and computer program product for delaying an operation that reduces a lifetime of memory |
US7904619B2 (en) | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for reducing memory write operations using difference information |
US7904672B2 (en) | 2006-12-08 | 2011-03-08 | Sandforce, Inc. | System and method for providing data redundancy after reducing memory writes |
KR101498673B1 (ko) * | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
KR101413736B1 (ko) * | 2007-09-13 | 2014-07-02 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
US7849275B2 (en) * | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
US7903486B2 (en) | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
TWI352354B (en) * | 2007-12-31 | 2011-11-11 | Phison Electronics Corp | Method for preventing read-disturb happened in non |
TWI373768B (en) * | 2008-02-05 | 2012-10-01 | Phison Electronics Corp | System, controller and method for data storage |
US8554983B2 (en) | 2008-05-27 | 2013-10-08 | Micron Technology, Inc. | Devices and methods for operating a solid state drive |
US8060719B2 (en) | 2008-05-28 | 2011-11-15 | Micron Technology, Inc. | Hybrid memory management |
KR101038167B1 (ko) | 2008-09-09 | 2011-05-31 | 가부시끼가이샤 도시바 | 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법 |
JP2011022933A (ja) * | 2009-07-17 | 2011-02-03 | Toshiba Corp | メモリ管理装置を含む情報処理装置及びメモリ管理方法 |
JP5192352B2 (ja) | 2008-10-30 | 2013-05-08 | 株式会社日立製作所 | 記憶装置及びデータ格納領域管理方法 |
US20100146187A1 (en) * | 2008-12-05 | 2010-06-10 | Grimsrud Knut S | Endurance management technique |
KR101015655B1 (ko) * | 2009-05-29 | 2011-02-22 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 구동 방법 |
WO2010144587A2 (en) * | 2009-06-12 | 2010-12-16 | Violin Memory, Inc. | Memory system having persistent garbage collection |
JP5322978B2 (ja) * | 2010-03-04 | 2013-10-23 | 株式会社東芝 | 情報処理装置及び方法 |
JP2011186554A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
JP2011186555A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
JP2011186563A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
US8140712B2 (en) * | 2009-07-17 | 2012-03-20 | Sandforce, Inc. | System, method, and computer program product for inserting a gap in information sent from a drive to a host device |
JP2011186561A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
JP2011186559A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
CN102473140B (zh) | 2009-07-17 | 2015-05-13 | 株式会社东芝 | 存储器管理装置 |
JP2011186558A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
JP2011186562A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
US8516166B2 (en) | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
US7948798B1 (en) | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
JP5330136B2 (ja) * | 2009-07-22 | 2013-10-30 | 株式会社東芝 | 半導体記憶装置 |
CN102142277A (zh) * | 2010-01-28 | 2011-08-03 | 深圳市江波龙电子有限公司 | 一种存储器及存储器读写控制方法及系统 |
US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
US8458417B2 (en) * | 2010-03-10 | 2013-06-04 | Seagate Technology Llc | Garbage collection in a storage device |
CN101794199A (zh) * | 2010-03-26 | 2010-08-04 | 山东高效能服务器和存储研究院 | 基于高速磁盘缓存的计算机磁盘性能加速方法 |
US9183134B2 (en) | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
JP5553309B2 (ja) * | 2010-08-11 | 2014-07-16 | 国立大学法人 東京大学 | データ処理装置 |
US9037778B2 (en) * | 2010-08-20 | 2015-05-19 | Samsung Electronics Co., Ltd. | Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US11614893B2 (en) * | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
WO2012148828A2 (en) | 2011-04-26 | 2012-11-01 | Lsi Corporation | Variable over-provisioning for non-volatile storage |
CN102184229B (zh) * | 2011-05-11 | 2013-05-01 | 中国科学院软件研究所 | 一种海量rfid标签信息的内存数据存储方法 |
WO2012159024A1 (en) * | 2011-05-19 | 2012-11-22 | Oracle International Corporation | Techniques for automatic data placement with compression and columnar storage |
US20120317337A1 (en) * | 2011-06-09 | 2012-12-13 | Microsoft Corporation | Managing data placement on flash-based storage by use |
US9417803B2 (en) * | 2011-09-20 | 2016-08-16 | Apple Inc. | Adaptive mapping of logical addresses to memory devices in solid state drives |
JP5853596B2 (ja) * | 2011-10-31 | 2016-02-09 | 沖電気工業株式会社 | 半導体ディスク寿命監視装置 |
KR20130060791A (ko) * | 2011-11-30 | 2013-06-10 | 삼성전자주식회사 | 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브 |
US9329948B2 (en) | 2012-09-15 | 2016-05-03 | Seagate Technology Llc | Measuring cell damage for wear leveling in a non-volatile memory |
US9218881B2 (en) * | 2012-10-23 | 2015-12-22 | Sandisk Technologies Inc. | Flash memory blocks with extended data retention |
KR20150049772A (ko) * | 2013-10-31 | 2015-05-08 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작 방법 |
US9558124B2 (en) | 2013-11-08 | 2017-01-31 | Seagate Technology Llc | Data storage system with passive partitioning in a secondary memory |
US9229640B2 (en) | 2013-11-15 | 2016-01-05 | Microsoft Technology Licensing, Llc | Inexpensive solid-state storage by throttling write speed in accordance with empirically derived write policy table |
US9348520B2 (en) | 2014-03-24 | 2016-05-24 | Western Digital Technologies, Inc. | Lifetime extension of non-volatile semiconductor memory for data storage device |
TWI517165B (zh) * | 2014-03-31 | 2016-01-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US9690696B1 (en) | 2014-05-14 | 2017-06-27 | Western Digital Technologies, Inc. | Lifetime extension of memory for data storage system |
JP6139807B2 (ja) | 2014-12-04 | 2017-05-31 | 株式会社東芝 | ストレージ装置、ストレージ装置の制御方法、及びプログラムを記憶するコンピュータ読み取り可能な不揮発性記憶媒体 |
CN104461754B (zh) * | 2014-12-10 | 2018-06-19 | 福州瑞芯微电子股份有限公司 | 一种监控eMMC的方法和装置 |
CN106294202A (zh) * | 2015-06-12 | 2017-01-04 | 联想(北京)有限公司 | 一种数据存储方法和装置 |
CN105117175B (zh) * | 2015-08-18 | 2018-02-02 | 重庆大学 | 一种基于软件编译层的可变电阻式存储器磨损均衡方法 |
US11294588B1 (en) * | 2015-08-24 | 2022-04-05 | Pure Storage, Inc. | Placing data within a storage device |
US11625181B1 (en) | 2015-08-24 | 2023-04-11 | Pure Storage, Inc. | Data tiering using snapshots |
US20170068467A1 (en) * | 2015-09-04 | 2017-03-09 | HGST Netherlands B.V. | Wear management for flash memory devices |
US10222982B2 (en) * | 2016-02-10 | 2019-03-05 | Ricoh Company, Ltd. | Lifetime management device and lifetime management method |
KR102523967B1 (ko) * | 2016-03-25 | 2023-04-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 |
CN106502594A (zh) * | 2016-10-31 | 2017-03-15 | 维沃移动通信有限公司 | 一种数据处理方法及终端 |
US10289548B1 (en) * | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for garbage collection in a storage system which balances wear-leveling and performance |
US11210166B1 (en) * | 2017-12-22 | 2021-12-28 | Pliops Ltd. | Efficient redundancy management in key-value NAND flash storage |
US11269747B2 (en) * | 2018-03-08 | 2022-03-08 | Symbol Technologies, Llc | Method, system and apparatus for assessing application impact on memory devices |
TWI707230B (zh) | 2018-11-22 | 2020-10-11 | 瑞昱半導體股份有限公司 | 電腦系統、記憶體管理方法與非暫態電腦可讀取媒體 |
CN111240576A (zh) * | 2018-11-28 | 2020-06-05 | 瑞昱半导体股份有限公司 | 计算机系统、存储器管理方法与非暂态计算机可读介质 |
US11237955B2 (en) | 2019-10-28 | 2022-02-01 | Samsung Electronics Co., Ltd. | Memory device, method of operating memory device, and computer system including memory device |
KR20210050635A (ko) | 2019-10-28 | 2021-05-10 | 삼성전자주식회사 | 메모리 장치, 및 이를 포함하는 컴퓨터 시스템 |
US20210382818A1 (en) * | 2020-06-08 | 2021-12-09 | Western Digital Technologies, Inc. | Solid-State Storage Devices that Reduce Read Time for Read Time-Sensitive Data |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200537510A (en) * | 2003-11-19 | 2005-11-16 | Sandisk Corp | Compressed event counting technique and application to a flash memory system |
US20060080359A1 (en) * | 2004-10-13 | 2006-04-13 | Microsoft Corporation | Electronic labeling for offline management of storage devices |
US20070180186A1 (en) * | 2006-01-27 | 2007-08-02 | Cornwell Michael J | Non-volatile memory management |
TW200735124A (en) * | 2006-03-03 | 2007-09-16 | Sunplus Technology Co Ltd | Wear leveling method and apparatus for nonvolatile memory |
Family Cites Families (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6008A (en) * | 1849-01-09 | Pkoto-litho | ||
US7018A (en) * | 1850-01-15 | File for keeping papers | ||
JPH03250499A (ja) * | 1990-02-27 | 1991-11-08 | Nec Corp | データ記憶回路 |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
US5768182A (en) | 1991-05-21 | 1998-06-16 | The Regents Of The University Of California | Ferroelectric nonvolatile dynamic random access memory device |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
JP2610737B2 (ja) | 1991-12-20 | 1997-05-14 | シャープ株式会社 | 記録再生装置 |
US5315602A (en) | 1992-08-12 | 1994-05-24 | Digital Equipment Corporation | Optimized stripe detection for redundant arrays of disk drives |
US5341339A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
US5337275A (en) | 1992-10-30 | 1994-08-09 | Intel Corporation | Method for releasing space in flash EEPROM memory array to allow the storage of compressed data |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
JPH08124393A (ja) * | 1994-10-20 | 1996-05-17 | Fujitsu Ltd | データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置 |
DE19540915A1 (de) | 1994-11-10 | 1996-05-15 | Raymond Engineering | Redundante Anordnung von Festkörper-Speicherbausteinen |
US5568423A (en) * | 1995-04-14 | 1996-10-22 | Unisys Corporation | Flash memory wear leveling system providing immediate direct access to microprocessor |
US5805809A (en) * | 1995-04-26 | 1998-09-08 | Shiva Corporation | Installable performance accelerator for maintaining a local cache storing data residing on a server computer |
US5621687A (en) * | 1995-05-31 | 1997-04-15 | Intel Corporation | Programmable erasure and programming time for a flash memory |
US5835935A (en) * | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US5956473A (en) * | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
US5963970A (en) * | 1996-12-20 | 1999-10-05 | Intel Corporation | Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields |
JP3358795B2 (ja) | 1997-03-27 | 2002-12-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディスクドライブ装置及びその制御方法 |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
JPH11110297A (ja) * | 1997-10-03 | 1999-04-23 | Hitachi Ltd | メモリ内蔵型1チップコンピュータ |
JP3898305B2 (ja) * | 1997-10-31 | 2007-03-28 | 富士通株式会社 | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 |
US6305014B1 (en) | 1998-06-18 | 2001-10-16 | International Business Machines Corporation | Lifetime-sensitive instruction scheduling mechanism and method |
JP2002524796A (ja) | 1998-09-04 | 2002-08-06 | オツトー ミユレル, | 制限された消去頻度のメモリのアクセス制御 |
US6395194B1 (en) * | 1998-12-18 | 2002-05-28 | Intersurface Dynamics Inc. | Chemical mechanical polishing compositions, and process for the CMP removal of iridium thin using same |
FR2787601A1 (fr) * | 1998-12-22 | 2000-06-23 | Gemplus Card Int | Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire |
US6145069A (en) | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
US6314026B1 (en) | 1999-02-08 | 2001-11-06 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor device using local self boost technique |
US6298415B1 (en) | 1999-02-19 | 2001-10-02 | International Business Machines Corporation | Method and system for minimizing writes and reducing parity updates in a raid system |
US6195727B1 (en) | 1999-03-31 | 2001-02-27 | International Business Machines Corporation | Coalescing raid commands accessing contiguous data in write-through mode |
JP2001067881A (ja) * | 1999-08-30 | 2001-03-16 | Toshiba Corp | 連想記憶装置及び記憶媒体 |
JP2000112818A (ja) * | 1999-09-03 | 2000-04-21 | Matsushita Graphic Communication Systems Inc | フラッシュメモリ制御装置及び方法 |
US6405295B1 (en) * | 1999-09-07 | 2002-06-11 | Oki Electric Industry, Co., Ltd. | Data storage apparatus for efficient utilization of limited cycle memory material |
JP3937214B2 (ja) * | 1999-09-17 | 2007-06-27 | 株式会社ルネサステクノロジ | エラー訂正回数を記録する記憶装置 |
US7130807B1 (en) | 1999-11-22 | 2006-10-31 | Accenture Llp | Technology sharing during demand and supply planning in a network-based supply chain environment |
US20050160218A1 (en) | 2004-01-20 | 2005-07-21 | Sun-Teck See | Highly integrated mass storage device with an intelligent flash controller |
JP2001306543A (ja) * | 2000-04-19 | 2001-11-02 | Nec Corp | マイクロコンピュータ及びフラッシュメモリのデータ書換え方法 |
US6484228B2 (en) | 2000-04-19 | 2002-11-19 | Motorola, Inc. | Method and apparatus for data compression and decompression for a data processor system |
US6256232B1 (en) | 2000-07-07 | 2001-07-03 | Institute For Information Industry | Data access method capable of reducing the number of erasing to flash memory and data patch and access device using the same |
JP2002074983A (ja) * | 2000-08-25 | 2002-03-15 | Nec Microsystems Ltd | 半導体集積回路 |
KR100388498B1 (ko) | 2000-12-30 | 2003-06-25 | 한국전자통신연구원 | 복수 개의 레이드를 구비한 계층적 레이드 시스템 |
GB2371886B (en) | 2001-01-31 | 2005-06-22 | Hewlett Packard Co | Storage apparatus |
US6732221B2 (en) * | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
TW520514B (en) | 2001-08-02 | 2003-02-11 | Macronix Int Co Ltd | Circuit and method of qualification test for non-volatile memory |
US6948026B2 (en) * | 2001-08-24 | 2005-09-20 | Micron Technology, Inc. | Erase block management |
US6717847B2 (en) * | 2001-09-17 | 2004-04-06 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US20030058681A1 (en) * | 2001-09-27 | 2003-03-27 | Intel Corporation | Mechanism for efficient wearout counters in destructive readout memory |
US7000063B2 (en) * | 2001-10-05 | 2006-02-14 | Matrix Semiconductor, Inc. | Write-many memory device and method for limiting a number of writes to the write-many memory device |
US20030084397A1 (en) | 2001-10-31 | 2003-05-01 | Exanet Co. | Apparatus and method for a distributed raid |
US6735673B2 (en) | 2002-01-10 | 2004-05-11 | Hewlett-Packard Development Company, L.P. | Apparatus and methods for cache line compression |
US6640283B2 (en) | 2002-01-16 | 2003-10-28 | Hewlett-Packard Development Company, L.P. | Apparatus for cache compression engine for data compression of on-chip caches to increase effective cache size |
US6606273B1 (en) | 2002-04-11 | 2003-08-12 | Advanced Micro Devices, Inc. | Methods and systems for flash memory tunnel oxide reliability testing |
JP2003316664A (ja) | 2002-04-24 | 2003-11-07 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6775751B2 (en) | 2002-08-06 | 2004-08-10 | International Business Machines Corporation | System and method for using a compressed main memory based on degree of compressibility |
KR100484485B1 (ko) | 2002-10-01 | 2005-04-20 | 한국전자통신연구원 | 비휘발성 메모리에의 데이터 저장 방법 및 장치 |
US6910106B2 (en) | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
US20040135903A1 (en) | 2002-10-11 | 2004-07-15 | Brooks Lane C. | In-stream lossless compression of digital image sensor data |
CA2408979A1 (en) | 2002-10-18 | 2004-04-18 | Richard Egon Schauble | Tamper-evident use-indicating odometer and engine-timer |
US7096313B1 (en) * | 2002-10-28 | 2006-08-22 | Sandisk Corporation | Tracking the least frequently erased blocks in non-volatile memory systems |
US7035967B2 (en) * | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US6973531B1 (en) * | 2002-10-28 | 2005-12-06 | Sandisk Corporation | Tracking the most frequently erased blocks in non-volatile memory systems |
US7103732B1 (en) * | 2002-10-28 | 2006-09-05 | Sandisk Corporation | Method and apparatus for managing an erase count block |
ATE372578T1 (de) * | 2002-10-28 | 2007-09-15 | Sandisk Corp | Automatischer abnutzungsausgleich in einem nicht- flüchtigen speichersystem |
US6985992B1 (en) * | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
US6831865B2 (en) * | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US6925523B2 (en) * | 2003-03-03 | 2005-08-02 | Agilent Technologies, Inc. | Managing monotonically increasing counter values to minimize impact on non-volatile storage |
WO2004095201A2 (en) * | 2003-04-09 | 2004-11-04 | Intervideo Inc. | Systems and methods for caching multimedia data |
JP2004310650A (ja) * | 2003-04-10 | 2004-11-04 | Renesas Technology Corp | メモリ装置 |
US7320100B2 (en) | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
JP4783545B2 (ja) * | 2003-05-21 | 2011-09-28 | パナソニック株式会社 | 部品実装装置 |
US7213102B2 (en) | 2003-06-26 | 2007-05-01 | International Business Machines Corporation | Apparatus method and system for alternate control of a RAID array |
US7606929B2 (en) * | 2003-06-30 | 2009-10-20 | Microsoft Corporation | Network load balancing with connection manipulation |
GB0320494D0 (en) | 2003-09-02 | 2003-10-01 | Ibm | Methods apparatus and controllers for a raid storage system |
US7143238B2 (en) | 2003-09-30 | 2006-11-28 | Intel Corporation | Mechanism to compress data in a cache |
US20070067366A1 (en) | 2003-10-08 | 2007-03-22 | Landis John A | Scalable partition memory mapping system |
US7032087B1 (en) * | 2003-10-28 | 2006-04-18 | Sandisk Corporation | Erase count differential table within a non-volatile memory system |
US8645622B2 (en) | 2003-11-18 | 2014-02-04 | International Business Machines Corporation | Method to protect data on a disk drive from uncorrectable media errors |
US8140860B2 (en) | 2003-12-15 | 2012-03-20 | International Business Machines Corporation | Policy-driven file system with integrated RAID functionality |
US7480760B2 (en) | 2003-12-17 | 2009-01-20 | Wegener Communications, Inc. | Rotational use of memory to minimize write cycles |
JP4357304B2 (ja) * | 2004-01-09 | 2009-11-04 | 株式会社バッファロー | 外部記憶装置 |
US7595796B2 (en) | 2004-04-23 | 2009-09-29 | Hewlett-Packard Development Company, L.P. | Optimizing lifetime of a display |
US7353423B2 (en) | 2004-09-24 | 2008-04-01 | International Business Machines Corporation | System and method for improving the performance of operations requiring parity reads in a storage array system |
US20060080515A1 (en) | 2004-10-12 | 2006-04-13 | Lefthand Networks, Inc. | Non-Volatile Memory Backup for Network Storage System |
WO2006052897A2 (en) | 2004-11-08 | 2006-05-18 | Innopath Software, Inc. | Reorganizing images in static file system differencing and updating |
US20060123312A1 (en) | 2004-11-19 | 2006-06-08 | International Business Machines Corporation | Method and system for increasing parallelism of disk accesses when restoring data in a disk array system |
US7433994B2 (en) | 2004-12-07 | 2008-10-07 | Ocz Technology Group, Inc. | On-device data compression to increase speed and capacity of flash memory-based mass storage devices |
US7224604B2 (en) | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
US7447078B2 (en) * | 2005-04-01 | 2008-11-04 | Sandisk Corporation | Method for non-volatile memory with background data latch caching during read operations |
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
US20070124648A1 (en) | 2005-10-31 | 2007-05-31 | Ajay Dholakia | Data protection method |
US7797611B2 (en) | 2005-11-14 | 2010-09-14 | International Business Machines Corporation | Creating an error correction coding scheme and reducing data loss |
US7457178B2 (en) * | 2006-01-12 | 2008-11-25 | Sandisk Corporation | Trimming of analog voltages in flash memory devices |
KR100735437B1 (ko) | 2006-03-07 | 2007-07-04 | 삼성전자주식회사 | 이동통신 단말기에서의 레이드 시스템 및 방법 |
US8848789B2 (en) | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
US7653778B2 (en) | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
US8412682B2 (en) | 2006-06-29 | 2013-04-02 | Netapp, Inc. | System and method for retrieving and using block fingerprints for data deduplication |
US7555575B2 (en) | 2006-07-27 | 2009-06-30 | Hitachi, Ltd. | Method and apparatus for migrating data between storage volumes of different data pattern |
US7561482B2 (en) | 2006-09-07 | 2009-07-14 | Sandisk Corporation | Defective block isolation in a non-volatile memory system |
WO2008063647A2 (en) | 2006-11-24 | 2008-05-29 | Sandforce Inc. | Delaying an operation that reduces a lifetime of memory |
WO2008073219A1 (en) | 2006-12-08 | 2008-06-19 | Sandforce, Inc. | Data redundancy in a plurality of storage devices |
US20080183963A1 (en) | 2007-01-31 | 2008-07-31 | International Business Machines Corporation | System, Method, And Service For Providing A Generic RAID Engine And Optimizer |
KR100854032B1 (ko) * | 2007-02-09 | 2008-08-26 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 저장 방법 |
US20090055682A1 (en) | 2007-07-18 | 2009-02-26 | Panasas Inc. | Data storage systems and methods having block group error correction for repairing unrecoverable read errors |
US7903486B2 (en) | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
US7849275B2 (en) * | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
US7870105B2 (en) | 2007-11-20 | 2011-01-11 | Hitachi, Ltd. | Methods and apparatus for deduplication in storage system |
US9183133B2 (en) | 2007-11-28 | 2015-11-10 | Seagate Technology Llc | System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory |
US20090271659A1 (en) | 2008-04-24 | 2009-10-29 | Ulf Troppens | Raid rebuild using file system and block list |
-
2007
- 2007-11-19 US US11/942,640 patent/US7849275B2/en not_active Expired - Fee Related
-
2008
- 2008-10-23 JP JP2010534014A patent/JP5819610B2/ja not_active Expired - Fee Related
- 2008-10-23 CN CN200880116826.7A patent/CN101874239B/zh not_active Expired - Fee Related
- 2008-10-23 WO PCT/US2008/012033 patent/WO2009067138A1/en active Application Filing
- 2008-11-18 TW TW102115170A patent/TWI505088B/zh not_active IP Right Cessation
- 2008-11-18 TW TW097144479A patent/TWI420303B/zh not_active IP Right Cessation
-
2010
- 2010-11-30 US US12/956,926 patent/US8230184B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200537510A (en) * | 2003-11-19 | 2005-11-16 | Sandisk Corp | Compressed event counting technique and application to a flash memory system |
US20060080359A1 (en) * | 2004-10-13 | 2006-04-13 | Microsoft Corporation | Electronic labeling for offline management of storage devices |
US20070180186A1 (en) * | 2006-01-27 | 2007-08-02 | Cornwell Michael J | Non-volatile memory management |
TW200735124A (en) * | 2006-03-03 | 2007-09-16 | Sunplus Technology Co Ltd | Wear leveling method and apparatus for nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
TWI420303B (zh) | 2013-12-21 |
TW200928734A (en) | 2009-07-01 |
US20090132778A1 (en) | 2009-05-21 |
CN101874239A (zh) | 2010-10-27 |
CN101874239B (zh) | 2018-01-30 |
US8230184B2 (en) | 2012-07-24 |
JP5819610B2 (ja) | 2015-11-24 |
US20110276745A1 (en) | 2011-11-10 |
TW201333696A (zh) | 2013-08-16 |
JP2011503768A (ja) | 2011-01-27 |
WO2009067138A1 (en) | 2009-05-28 |
US7849275B2 (en) | 2010-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI505088B (zh) | 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 | |
TWI474335B (zh) | 增加記憶體的複數區塊的生命週期的系統、方法及電腦程式產品 | |
KR102429792B1 (ko) | 정적 및 동적 셀을 갖는 하이브리드 캐시를 갖는 메모리 장치 및 전자 시스템 및 관련 방법 | |
JP5413572B2 (ja) | メモリストレージ装置及びその制御方法 | |
US8103820B2 (en) | Wear leveling method and controller using the same | |
US8356152B2 (en) | Initiative wear leveling for non-volatile memory | |
JP2011503741A5 (zh) | ||
JP2011503768A5 (zh) | ||
WO2015057458A1 (en) | Biasing for wear leveling in storage systems | |
US9424177B2 (en) | Clock switching method, memory controller and memory storage apparatus | |
JP2018073240A (ja) | 制御回路、半導体記憶装置、及び半導体記憶装置の制御方法 | |
US20110087828A1 (en) | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |