TWI502590B - 藉由重寫更新延長快閃記憶體的資料保留 - Google Patents
藉由重寫更新延長快閃記憶體的資料保留 Download PDFInfo
- Publication number
- TWI502590B TWI502590B TW097150017A TW97150017A TWI502590B TW I502590 B TWI502590 B TW I502590B TW 097150017 A TW097150017 A TW 097150017A TW 97150017 A TW97150017 A TW 97150017A TW I502590 B TWI502590 B TW I502590B
- Authority
- TW
- Taiwan
- Prior art keywords
- unit
- stylized
- flash memory
- component
- memory
- Prior art date
Links
Classifications
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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/10—Programming or data input circuits
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3431—Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明係有關於藉由程式化狀態重寫(program state rewrite)提供快閃記憶體裝置的延長的資料保留。詳言之,本發明係有關於藉由例子的方式,使一個記憶體單元或一群記憶體單元可予以評估而判定該單元的程式化狀態(program state)。
記憶體裝置在現代電子裝置中有很廣泛的使用,包含像手機(cellular phone)、個人電腦、手提電腦、個人電子助理(personal digital assistant)、攝影機(camcorder)、錄音機、個人多媒體播放機(personal media player)、全球定位系統單元(global positioning system unit)、用於該類裝置的可攜式儲存硬碟(portable storage drive)等等。當記憶體裝置變的更小、製造上也變的更便宜並且能儲存更大量的資訊,使得它們成為現今電子科技重大部份中的實用產品。因此,當消費者對於電子記憶體的需求與銷售市場增加時便發展出更多的記憶體裝置科技以完全發揮在該類市場中的電子裝置的能力。例如,快閃記憶體就是可以儲存(store)、抹除(erase)和復原(restore)資料的電子記憶體媒體中的一型。此外,快閃記憶體不像某種形式的電子記憶體,它可以在沒有暴露到持續的電力時保留儲存的資料,並因此被稱為“非揮發性記憶體(non-volatile memory)”。快閃記憶體已經成為用於消費性電子裝置的熱門裝置,其部份導因於可抹除可程式化唯讀記憶體(erasable-programmable read only memory;EPROM)的高密度和低成本以及由電子可抹除可程式化唯讀記憶體(electronically erasable programmable read only memory;EEPROM)所帶來的電子可抹除性(electrical erasability)的結合。因此,該類記憶體已經變成作為儲存、傳輸、分享和維護資料的有用和熱門的機制。
為了進一步擴展快閃記憶體裝置的技術能力,新的技術設計典型上嘗試去強化快閃記憶體的效率。有個例子是,儲存在該類裝置上的數位資訊會隨著時間而劣化。更具體地,該類裝置典型上是有關稱為資料保留(data retention)的參數,該參數提供對於一旦資料寫進快閃記憶體,資料可以儲存多久的指示。例如,在快閃記憶體中的資料的典型儲存壽命可以從數年至長達10年。然而,某些應用對於儲存壽命非常敏感。例如,消費者通常希望家人與朋友的照片能保存數年、數十年或甚至更久。然而,那些照片的數位記錄會受到先前所提到的資料劣化的影響。所以,像快閃記憶體或類似的科技的數位儲存裝置的一大賣點是資料保留長度。
以下將顯示本發明的簡化摘要以提供對在此描述的某些態樣的基本瞭解。此摘要不是所揭露的內容之延伸概觀。它既不意欲辨識揭露內容的關鍵或重要元件也沒有意欲描繪本發明的範圍。它的唯一目的是要以簡化形式顯示揭露內容的一些概念並作為稍後所顯示的更細節的描述的前言。
在此揭露藉由程式化狀態重寫(program state rewrite)提供快閃記憶體裝置的資料保留的延長。例如,一個記憶體單元或一群記憶體單元可予以評估而判定該單元的程式化狀態。假使該單元是在相對於自然(natural)、已抹除或無程式化(non-programmed)狀態的程式化狀態(program state)中,電荷位準、電壓位準和/或類似物等等可予以重寫至關聯該程式化狀態的預設位準(default level)(例如,相對於關於資料損失的偏移位準(drifted level))。因此,可以避免需要重寫和抹除(erase)以更新單元程式化狀態並往往會劣化該記憶體單元的儲存能力的習知機制。
依據一個以上的其它態樣,一個單元或一群記憶體單元當它們在程式化時可予以時間戳記(time stamped)。例如,假如儲存在記憶體單元中的電荷的預設(default)、抹除位準(erased level)改變為電荷的非預設(non-default)、程式化位準(programmed level),當實行該類改變時的時間會被紀錄。此外,當該單元如在此所描述一般予以更新(refreshed)或藉由習知更新機制予以更新時,更新時間也會被紀錄。另外,在自從該程式化時間(programming time)(例如,當該單元最後一次程式化時的時間點)和/或最近的更新時間開始經過閥值時間(threshold time)後可實行該單元的自動改編(reprogram)。所以,本公開內容可提供週期性地更新一個以上的單元的程式化狀態以保存儲存資料的完整性並延長它的資料保留。
依據進一步的態樣,關聯一個單元或一群單元的讀取錯誤率(read error rate)可由閥值(threshold)予以監測與比較。假如該讀取錯誤率升高到預定閥值(predetermined threshold value)以上便可以假設該單元顯示有電荷損失(charge loss)。因此,可以判定該類單元的該程式化狀態並改編至相應該程式化狀態的適當的電荷(或例如電壓等等)位準。在該類方法中,儲存在該單元中的資料可予以更新同時縮小對該單元儲存資料的能力之有害影響(例如由習知程式化/抹除循環更新操作所顯示一般)。
依照另外其它的態樣,一個或一群單元可予以評估而判定它們是否在程式化狀態(programmed state)中。程式化單元的電荷或電壓位準可予以監測並與關聯該程式化狀態的預設電荷/電壓位準相比。假使該電荷或電壓位準偏移(drift)出該預設電荷/電壓位準的閥值範圍外,該單元可予以改編至該預設位準。藉由不預先抹除該單元而改編,可以減少對該單元儲存和保留資料的能力的有害影響。因此,關於該單元的全面性資料保留參數可以增強並同時維持儲存資料的完整性。
依照另外的其它態樣,單元改編牽涉注射電子(electron)或電洞(hole)以提升或降低電荷,如適合特定快閃記憶體科技的方式。例如,某些科技牽涉提升單元的電荷位準以程式化該單元。因此,該種的程式化單元具有較高的電荷位準。另外一方面,其它的科技牽涉注射電洞進入記憶體單元以降低該單元的電荷位準。當處於由降低的電荷位準(相較於自然(natural)或預設電荷位準)所代表的狀態中時該類的單元係認為被“程式化”。因此,此發明特徵可藉由注射電子或注射電洞而提供更新記憶體單元的程式化狀態以恢復關聯該程式化狀態的預設電荷位準。所以,本揭露內容之特徵提供用於多種快閃記憶體科技的延長資料保留,該多種快閃記憶體科技包含多種單位元(single-bit)和多位元(multi-bit)記憶體單元科技,例如科技、SLR(單位準單元;Single Level Cell)浮動柵(floating gate)科技、四類型(Quad)科技、3位元(tribit)科技或類似的科技,以及多種譬如NOR、NAND、AND、ORNANDTM
、DDR或相似架構或任何其適當的組合的快閃記憶體架構。
為了達成上述及相關目的,一個以上的態樣會包括在此之後完整描述和特別在專利保護範圍指出的特徵。以下描述和附加圖式詳細說明了該一個以上的態樣的部分例示態樣。然而這些態樣是表示多種態樣的原理的多種可應用的方式的一部份,並且該描述的態樣係意欲於包含所有該類的態樣和其相等物。
多種態樣現在參照圖式予以描述,其中,使用同樣的號碼來指稱所有同樣的元件。在以下描述中,為了解釋的目的提出了多個特定細節以提供對一個以上的態樣的通盤瞭解。然而明顯地,該種態樣可以不須這些特定細節而實施。在其它例子中,周知的結構和裝置係顯示在方塊圖形式中以幫助描述一種以上之態樣。
本發明內容提供一種機制,其藉由改編操作(reprogram operation)來更新儲存資料以延長快閃形式記憶體裝置的資料保留。典型的記憶體單元和/或記憶體單元控制器可依據特定快閃科技所採用的慣例,在記憶體單元中重新記錄(re-record)資料以抵銷電荷損失或電荷增益(charge gain)。依據習知機制,重新紀錄儲存資料典型上牽涉讀取資料、儲存資料在暫時的單元中、抹除記憶體單元的區塊(block),然後重新編寫(re-writing)先前程式化的單元以回復該類單元的電荷位準至預定的程式化狀態(參見以下)。然而,該種程式化/抹除循環會使記憶體單元劣化並造成它們的不穩定,降低該類單元儲存資料的能力。為了解決這個問題,本發明內容提供不用藉由抹除而改編(或只選擇性改編有損失電荷的單元)以更新儲存資料,在此會就細節加以描述。
典型的快閃形式記憶體(例如NOR、NAND、AND、ORNANDTM
、或等等)隨著時間會受到資料損失的傷害。資料是以在記憶體單元內的數位位元加以儲存。一個單元典型包含一個以上可保有電荷和/或容納電流的電晶體形式裝置。記憶體單元的非程式化(un-programmed)操作位準(例如原生(native)電壓閥值位準、原生電荷位準、原生電流位準等等)牽涉電荷、電壓和/或電流的特定位準。這個非程式化操作位準典型係關聯一個數位位元或一群數位位元的第一狀態(例如1)。記憶體單元也可程式化至另一個電荷/電壓/電流位準(例如注入電荷、電流、電壓等等)而可區別於抹除或非程式化操作位準以形成一個數位位元或一群數位位元的第二狀態(例如0)。雖然各種各樣的快閃記憶體科技存有不同的程式化狀態定義,但是抹除位準(例如1)可對應於非程式化狀態而其它不同的位準(例如關聯比該非程式化操作位準較高或較低的電荷/電壓/電流位準之0)可對應於程式化狀態。
雖然前面的描述只介紹單位元記憶體單元,但對於其它多位元記憶體單元構型之資料保留可以依照在此揭露的多種實施例加以延長。例如,雙位元(dual-bit)、三位元(tri-bit)、四位元(quad-bit)等等的多位元記憶體單元裝置可以包含在在此利用的名詞記憶體單元內。作為一個例子,至少有一種四位元記憶體單元構型(例如四類型快閃)可以在每半個單元中容納四種不同且電性相異的電荷、電壓和/或電流位準。具體而言,電荷的第一位準是處於非程式化操作位準的記憶體單元中儲存的典型電荷量,該第一位準可對應到無程式化狀態。電荷的第二位準是可分辨出高於該第一位準(例如藉由測量電性電荷量的典型機制)並可對應到第一程式化狀態。電荷的第三位準是可分辨出高於該第二位準並可對應到第二程式化狀態,以及電荷的第四位準是可分辨出高於該第三位準並可對應到第三程式化狀態。每個程式化狀態可以更新並回復至關聯該程式化狀態的預定電荷位準,就如同在此所敘述一般。因此,對於與在此描述的更新機制聯結的任何適當快閃科技,本說明書可提供強化的資料保留並增加耐久性(例如在明顯的記憶體劣化之前的程式化/抹除循環的數目增加)。
為了對前述內容提供進一步之說明,程式化快閃記憶體單元典型牽涉將與抹除狀態有關的標稱電荷/電壓和/或電流位準(以下稱為單元位準)改成與程式化狀態有關的非標稱(non-nominal)位準,或多位元單元科技的非標稱位準。該非標稱位準可對應到低於預設單元位準的電荷/電壓/和/或電流的預定量。記憶體單元的同作(concurrent)單元位準因此可對應到一個以上的程式化狀態(例如非預設(non-default)單元位準)或無程式化狀態(例如預設或標稱狀態、自然狀態或抹除狀態或類似術語)。
為了在記憶體單元晶片(chip)內儲存資料,有系統的設置多種記憶體單元和/或記憶體單元群組(例如程式化或抹除)以使用二進位位元(binary bits)或二進位位元群組來儲存資訊。要改變記憶體單元或記憶體單元群組(例如單元區塊(block)、或單元頁(page)等等)的程式化狀態,該單元先要予以抹除然後被選擇到的單元要予以程式化。依照用來定義程式化狀態和非程式化狀態的快閃科技和慣例,抹除係牽涉提高單元位準(例如注射電子、提高電壓和/或提高電流等等)或降低單元位準(例如注射電洞、降低電壓和/或降低電流等等)。例如,在自然操作位準的電荷/電壓/電流比程式化位準低的程式化單元中,其抹除係牽涉將該單元位準從該程式化位準降低到該自然操作位準。另一方面,在自然操作位準的電荷/電壓/電流比程式化位準高的程式化單元中,其抹除牽涉將該單元位準從該程式化位準提高到該自然操作位準等等。
快閃形式記憶體單元的一種共通性質是它們可以保持不論是預設或程式化電荷位準相當長的時間。例如,快閃記憶體單元保持程式或無程式單元狀態(例如對應於兩個以上的電性可分辨電流/電荷/電壓位準的其中之一)數年、數十年或更久是很典型的。然而,該樣地資料保留是有限制的。單元程式化位準會隨著時間劣化。例如,記憶體單元會隨著時間緩慢地損失儲存電荷。結果,程式化與非程式化狀態之間的差異性以及多個程式化狀態之間的差異性會隨著時間減弱而導致記憶體讀取錯誤(例如兩個單元位準重疊並使得兩個以上的二位字元(binary word)無法從彼此之間分別出來)和/或損失資料。
為了對抗關於資料損失的問題,假如該電荷掉落至低於該預設位準(例如3個單位的電荷),記憶體單元可予以更新使得對應至特定程式化狀態的預設電荷(例如5個單位的電荷)可以在該記憶體單元處更新。更新該記憶體單元的電荷位準可以延長儲存在該記憶體單元內的資料“壽命”,其係藉由將該記憶體單元的電荷位準回復至關聯該特定程式化狀態的可分辨值。如同之前所提,更新電荷的典型機制是先複製儲存資料至替換的記憶體(例如隨機存取記憶體(random access memory;RAM)),再抹除記憶體單元的群組(例如區塊或頁),然後將儲存在RAM中的資料重寫至該記憶體單元。這個程序構成一個程式化/抹除循環。然而不幸的是,該程式化/抹除循環對於記憶體單元的維持單元位準和避免單元位準損失的能力有害。因此,雖然程式化/抹除更新操作可以恢復在該記憶體單元中的資料,但也會造成該記憶體單元不穩定並降低保存該資料的能力。
本發明內容因此提供藉由改編資料單元來更新資料以取代利用完整程式化/抹除循環的重新紀錄儲存資料。因此,程式化/抹除循環對記憶體單元保存二進位資料的能力之有害影響(大部分導因於該抹除操作甚於該程式化操作)可以大幅降低。例如,可以達到提高記憶體單元的資料保留至10%以及更好的資料保留,100%或更高也有可能。另外,如在此揭露的更新該資料是比重新紀錄該資料還要快,因為不須要抹除操作。除了上述之外,每個單元的狀態可以在更新之前予以檢查,並且可以只有在該單元的同作程式化位準掉落出關聯程式化狀態的預設位準的閥值範圍外時選擇性地更新單元。因此,可以避免無關的程式化和抹除。
在此描述的改編更新操作可以週期性地施行,每天、每個禮拜、每個月等等。此外,在程式化單元之後所執行的改編更新操作數可設定上限(capped)(例如在一個操作、兩個操作、五個操作)。該上限可設定成期待能給予實質上最佳的資料保留結果的更新操作數目。替換地或額外地,當對應特定程式化狀態的記憶體單元位準低於預設位準而相差一閥值量時,可以施行該改編更新操作。例如,假使程式化狀態具有5單元電荷的預設位準,那麼閥值可以是+/-一單位(或例如+/-兩單位等等)。因此,假使該記憶體單元的電荷位準掉落至低於4單位之下,該單元可予以更新。依照另外的實施例,可以將改編更新操作當作記憶體單元或記憶體單元群組的讀取錯誤的函數而施行之。具體而言,假使讀取錯誤的數目或頻率提升到高於閥值位準(例如每512個位元組(byte)的讀取有一個位元錯誤等等),該用於單元或單元群組的重新更新可以適當地啟動。另外,假使發生上述的結合時可以施行改編更新操作。作為一個特定的例子,假使自從程式化的時間後經過一閥值時間,便可以量測單元以判定目前的單元位準。假使該單元位準掉落至低於關聯程式化狀態的閥值範圍以下,該單元接著會如同在此所描述般而更新。另外,假使相配至一個以上單元的讀取錯誤的閥值數目發生,便可量測該單元的單元位準並與該閥值範圍比較,同時假如需要的話予以更新(“選擇性更新”)。除上述之外,啟動更新的多種機制可以獨立地實施、互相結合地實施,或與一個以上的其它習知機制一起合邏輯地適當實施。
除了上述之外,實質上可提供優於執行完整改編/抹除操作以更新資料的習知機制的益處。增進快閃記憶體資料保留的習知機制端賴於最佳化(optimizing)記憶體單元構型(例如,在快閃記憶體單元的設計階段期間,記憶體單元材料層的結構、組成、指向、電源供應或等等或其組合的有形改變)。不會企圖在設計完成之後(post design)施行改良資料保留,部份的原因在於有些假設是記憶體單元的完整性是一個大部份由構型設計所影響的物理現象。然而,本發明的內容提供了一個機制,在設計完成之後增進用於快閃記憶體的資料保留和允許的程式化/抹除循環,並且因此不只是可以應用到新設計的快閃記憶體而且也可以藉由增加更新功能應用到既存的快閃記憶體,因而提供了該種裝置的特性上的實質益處。除了上述之外,還可以達到延長多種快閃記憶體的資料保留至10%以上;另外,咸信在某些條件下(例如,在譬如溫度、供應電源等等的適當操作條件下的某些快閃記憶體構型)可以達到延長資料保留至100%以上。因此,資料保留的益處是超乎預期的高,相對來說,由記憶體構型的改變(例如,在快閃記憶體設計階段期間)所導致的典型增益最多也只有個位數上的改進(例如,幾個百分比或更少)。
以下描述本發明的多種態樣。很明顯地,在此教示的內容可以多種形式來體現並且在此揭露的任何特定結構和/或功能僅只是作為代表。基於在此所教示的內容,本領域熟知此技術者應瞭解在此揭露的態樣可以與其它的態樣分別獨立實施並且兩個以上的這些態樣可以多種方式結合。例如,可以使用在此提出的任何數量之態樣而實施一系統和/或實行一方法。此外,可使用附加在或不同於在此提出的一個以上之態樣的其它結構和/或功能實施一系統和/或實行一方法。譬如有一例子,許多在此描述的方法、裝置和系統的描述內容是藉由改編操作的方式和控制該操作和/或啟動該操作的多種實施例更新快閃記憶體單元。本領域熟知此技術者應瞭解相似的技術也可以應用到其它電腦和/或儲存環境。
如同在本發明所使用的名稱“組件”、“系統”和等等是意欲要指稱關於電腦的實體,不論是硬體、軟體、執行的軟體、韌體(firmware)、中介軟體(middle ware)、微編碼(microcode)和/或其任何組合。例如,一個組件可以是(但不限於)在處理器(processor)上運行的程序、處理器、物件(object)、可執行(executable)、執行線程(thread of execution)、程式和/或電腦。一個以上的組件可以位在程序和/或執行線程之內以及一個組件可侷限在一部電腦上和/或分散在兩個以上的電腦之間。此外,這些組件可以從多種電腦可讀媒介(media)(該電腦可讀媒介具有多種資料儲存在其上)執行。該組件可以藉由區域(local)和/或遠距程序通訊,該區域和/或遠距程序為例如符合具有一個以上的資料封包(data packet)的訊號(例如,來自一個組件的資料藉由該訊號與位在區域系統、分散系統的其它組件互動,和/或跨越網路(例如網際網路(internet))藉由該訊號與其它系統互動)。另外,本領域熟知此技術者會瞭解,在此描述的系統組件可以重新安置和/或藉由額外的組件予以補充以促進達成多種態樣、目標、優點等等,該多種態樣、目標、優點等等是由提及的內容所描述並且不限於在給予的圖式中所提出的精確構制。
另外,與在此揭露的實施例聯結的多種說明的邏輯、邏輯方塊、模組和線路可以由以下物件來實施或執行:一般用途的處理器、數位訊號處理器(digital signal processor;DSP)、專用集成電路(application specific integrated circuit;ASIC)、場域可程式化閘陣列(field programmable gate array;FPGA)或其它可程式化邏輯裝置、離散閘(discrete gate)或電晶體邏輯、離散硬體組件或設計來執行在此描述的功能之以上的適當組合。一般目地的處理器可以是微處理器,但是另一方面,該處理器可以是任何習知處理器、控制器、微控制器或狀態機器(state machine)。處理器也可實施成電腦裝置的組合,例如,DSP和微處理器的組合、複數個微處理器、與DSP核心聯結的一個以上的微處理器或任何其它該類組構。另外,至少有一個處理器包括可操作來執行在此所述的一個以上的步驟和/或行動的一個以上的模組。
另外,在此描述的多種態樣或特徵的實施方式可以是方法、系統或使用標準程式化和/或工程技術的製品(article of manufacture)。此外,與在此揭露的態樣有關的方法或演算法的步驟和/或動作的施行可以直接在硬體中、在由處理器執行的軟體模組中、或在該兩者的組合中。另外,在某些態樣中,方法或演算法的步驟和/或動作可以屬於在機器可讀媒介(machine-readable medium)和/或電腦可讀媒介上的指令和/或編碼(code)的至少一個或任何組合或集合,以上皆可併入電腦程式化產品內。另外,在此使用的名稱“製品”是傾向於囊括可以從任何電腦可讀裝置、傳導性載體界面或媒介存取的電腦程式。例如,電腦可讀媒介包含但不限於磁儲裝置(例如硬碟、軟碟、磁帶...)、光學碟盤(例如,光碟(compact disk;CD)、多樣化數位光碟(digital versatile disk;DVD...)、聰明卡(smart card)和快閃記憶體裝置(例如卡(card)、條(stick)、隨身碟(key drive))。此外,在此描述的多種儲存媒介可代表用於儲存資訊的一個以上的裝置和/或其它機器可讀媒介。名稱“機器可讀媒介”包含但不限於能儲存、含有、和/或攜帶指令和/或資料的無線頻道和多種其它媒介。
除了上述之外,在此使用的名詞“例示(exemplary)”意指作為例子、範例或說明。在此描述為“例示”的任何態樣或設計並不必然解釋成比其它態樣或設計更佳或更有利。更具體上,使用例示一辭是傾向以有形的方式表示概念。如同使用在本發明中的名詞“或”是傾向於意指含入(inclusive)的“或”而不是排外的(exclusive)“或”。意思是,除非特別指出或從上下文可明白看出,“X採用A或B”傾向於意指任何的自然含入的排列。也就是在這個例子中,X可以採用A,或X可以採用B,或X可以同時採用A和B,因此,“X採用A或B”的聲明是符合任何的上述範例之條件。另外,在本說明書與隨附的申請專利範圍中所使用的冠詞“一個(a、an)”除非特別指出或從上下文可明白看出是指示單一形式,一般應解釋成意指“一個以上”。
參照第1圖其係說明實例系統100的方塊圖並依據專利範圍內容的一個以上的態樣而提供一個以上的快閃形式記憶體單元(106)的延長資料保留。診斷組件102可以判定快閃記憶體106的一個以上的單元的程式化狀態。例如,診斷組件102可監測和/或測量關聯一個單元或多組單元(例如一頁記憶體單元)的單元位準(例如,電荷、電壓、電流或等等的位準)並將測量的單元位準與關聯一個以上的程式化狀態的預設位準相比較。有一個較特殊的例子是,快閃記憶體106是一個單一位元快閃裝置,其具有記憶體單元不是在無程式化狀態(例如二進位的1狀態)就是在程式化狀態(例如二進位的“0”狀態)。在無程式化狀態中的記憶體單元具有預設的1個單位之電荷,並且該類記憶體單元在程式化狀態中會具有5個單位的電荷。因此,診斷組件102可以測量用於該類單元的電荷的同作位準,將該測量的的電荷位準與該預設位準相比較以及判定該類單元的狀態(例如,程式化或無程式化)。診斷組件102可提供程式化組件104在程式化狀態中的單元位址(address),或在無程式化狀態中的單元位址,或以上兩者。
程式化組件104可以重寫至少一個單元至關聯特定程式化狀態的預定值。例如,程式化組件104可以更新由診斷組件102辨識為在程式化狀態中的單元。更新該單元是由直接改編它們至相應該程式化狀態的預設單元位準所構成。為了延續上述的例子,程式化組件104可從該診斷組件102接收已辨識出是為程式化單元的單元位址(例如,為了辨識特定的一個單元或一群單元)。程式化組件104因此可以藉由設定該電荷(或例如電壓、電流或等等)至5單位(相應於該程式化狀態的該預設單元位準)而更新該程式化單元。因此,假如該單元開始損失電荷並朝向該無程式化狀態偏移(例如,假使該單元的電荷掉落至4個單位、3個單位或2個單位),設定該電荷至5個單位可造成該單元容易地從該無程式化狀態分別出來並有效地改編。
應要瞭解上述的更新程序提供的好處比習知更新機制更明顯。典型上,習知系統先抹除程式化單元並接著改編它們至預設的單元位準。典型上,當該快閃記憶體單元被抹除時資料必須暫時儲存在RAM中以保存該資料。儲存、抹除以及程式化需要比不須儲存在RAM中和不須抹除的改編更大量的能源。除了以上描述之外,完整的抹除/程式化循環會劣化記憶體單元的完整性,使得該記憶體單元較無法維持單元位準(以及例如更易受到單元位準損失的影響),並降低了長期的資料保留。此外,由該抹除操作而導致該劣化有不相稱的量,是甚於由該程式化操作所導致的。因此,本發明可在當於該單元之內更新資料時提供記憶體單元完整性的實質保存。結果是該單元可儲存資料經過更久的一段時間。此外,改編會增加由在快閃記憶體上的數位資料的正常操控(例如,牽涉改變儲存資料、從快閃記憶體的一部份移動資料至另一個部份、增加資料、刪除資料以及等等的寫和/或抹除)所導致的程式化/抹除循環的數目。所以,本發明可藉由實質限制在該快閃記憶體上所執行的抹除/程式化循環的數目而提供更長久的快閃記憶體壽命。
系統100也可包含記憶體控制器108,記憶體控制器108提供快閃記憶體106的典型的定址(addressing)、辨識和資料操控功能。應該要瞭解,雖然診斷組件102和程式化組件104係描述成從快閃記憶體106和記憶體控制器108分開,但是該組件102、104可位於接近快閃記憶體單元(106)的群組、接近記憶體控制器108、接近快閃記憶體模組(未描述)、或其組合、或從該類實體分離開。因此,系統100(以及本發明的其它系統和方法)不應詮釋成受限於隨附圖式中所顯示的組件102、104、106、108之圖畫配置。應該也要瞭解快閃記憶體106可包含多種快閃記憶體科技,該科技包含、浮動柵、四類型、3位元或相似的科技,以及多種快閃構型和/或界面如NOR、NAND、AND、ORNANDTM
、DDR等等。
依據另外的實施例,記憶體控制器108可以是整合在該快閃記憶體裝置中的內部控制器,或當作為與該快閃記憶體106接合(interface)的外部控制器(例如,位於該快閃記憶體裝置106的外部)。以該種角色,記憶體控制器108可命令該快閃記憶體106去執行針對一個以上的單元(106)的重寫操作以更新該單元的程式化狀態。此外,記憶體控制器108可命令快閃記憶體106如同在此所描述一般量測一個以上的單元的同作值、判定讀取錯誤率/頻率、或檢查時間戳記,和/或量測其組合並接著執行更新或選擇性更新有流失電荷的單元。另外,記憶體控制器108可命令快閃記憶體106報告有關該單元的資訊至該記憶體控制器108,例如讀取錯誤率/頻率、量測單元位準、自從先前的程式化或重寫操作的經過時間(elapsed time)、重寫指令的狀態或這些或相似操作的結合。
第2圖描述例示系統200的方塊圖,該系統200可藉由依據專利保護範圍的額外態樣之改編而更新快閃記憶體單元。系統200包含可判定快閃記憶體206單元的程式化狀態之診斷組件,以及藉由設定程式化單元的電荷位準大致上相等於關聯該程式化狀態的預設電荷位準(或用於多位準裝置的位準)而更新程式化單元的該程式化狀態之程式化組件204。此外,要完成設定該電荷位準至該預設電荷位準不須抹除該程式化單元。習知上,並不存在可於該單元設計及製造之後延長記憶體單元耐久性(例如,資料保留時間和/或程式化/抹除循環的數目)之機制。因此,假如實施在此描述的更新機制,系統200可以延長實際上任何的適當快閃記憶體裝置的資料保留。
系統200也可包含電壓源208和電流源210。依照該快閃記憶體206的構型,相應於程式化狀態(例如,非程式化、程式化、第一程式化狀態、第二程式化狀態等等)的單元程式化位準可以藉由將電荷儲存在該快閃記憶體206的單元中而建立。因此,電壓源208可設定該快閃記憶體206的單元至關聯程式化狀態的預定電壓值(例如,5伏特等等)以實現重寫/更新該單元的該程式化狀態。替換上或額外地,電流源210可以設定該快閃記憶體206的單元至關聯該程式化狀態的預定電荷或電流值(例如,5微庫侖(micro-coulomb)、100個電子(electron)或5毫安培(milliamp))以實現重寫/更新該單元的該程式化狀態。因此,系統200可符合利用不同手法以建立程式化狀態(例如,相對的電壓位準、相對的電荷位準等等)的各種快閃記憶體科技。
第3圖說明實例系統300的方塊圖,該系統300評估記憶體單元(306)的同時(contemporaneous)狀態並依照該評估狀態更新該單元(306)。特別是,假如單元位準從關聯程式化狀態的預設位準變化一閥值量,該單元可如同在此所描述一般(例如,參看之前的第1圖和第2圖)予以更新。因此,系統300可以量測和/或監測快閃記憶體裝置(306)的同時的單元位準並更新顯現資料損失特徵的記憶體單元以緩和實際的資料損失。
系統300包含評估模組502,該評估模組302可以判定快閃記憶體306的至少一個記憶體單元的同作值並將該同作值與關聯一個以上程式化狀態的預設值相比較。例如,假如記憶體單元具有兩個狀態,第1個狀態係相應至1伏特的單元位準(例如,無程式化狀態)而第2個狀態係相應至5伏特的單元位準(例如,程式化狀態),那麼,判定為5伏特的同作單元位準便是在該第2個狀態中。只要該同作單元電壓的量測可以與該第1個狀態有所分別,該記憶體單元可視為在該第2個、程式化狀態,而由該狀態所代表的資料或部份資料可視為未受損傷。然而,一旦開始發生電壓損失並且該同作單元位準開始從5伏特偏移朝向1伏特,則該第1個和第2個狀態會變成難以分辨,並且由該差異所代表的該資料或部份資料會遺失。
診斷組件304可接收由該評估模組所判定的該同作單元位準並且進一步比較該位準與預設位準,該預設位準係關聯一個以上的程式化狀態及該程式化狀態的閥值範圍。繼續以上的例子,假使判定出的單元位準是4伏特,便可假設具有該單元位準的記憶體單元是位在第2個狀態,但是已經發生了一些電荷損失。假使導致1伏特的單元位準的電荷損失是位在閥值允許電荷損失(例如,10%的電荷損失或等等)之外,那麼該記憶體單元(或例如,包含該記憶體單元的一頁記憶體單元)的位址會從診斷組件304轉交至程式化組件306使得記憶體單元可以被更新。
假如由該評估模組302和診斷組件304所判定的該單元的同作值是位在關聯程式化狀態的預設值的閥值範圍之外時,程式化組件306可重寫單元值至一個記憶體單元或一群記憶體單元。程式化組件306可以從診斷組件304接收該單元的位址。另外,依照特定的實施例,程式化組件306也可接收該單元要關聯的該狀態(例如,無程式化狀態、第一程式化狀態、第二程式化狀態等等),例如依照該快閃記憶體308的構型(例如單位元、多位元等等)之無程式化狀態、第一程式化狀態、第二程式化狀態等等。一旦接收到位址和/或程式化狀態,程式化組件304會設定一個記憶體單元或一群記憶體單元的該單元位準至關聯該程式化狀態的預定值。有一個特別的例子是,設定該單元位準係牽涉不須抹除該單元而程式化/編寫(writing)該單元至預設位準。因此,系統300可以監測單元位準並更新掉落至預設單元位準的閥值範圍之外的單元,並以相較於習知程式化/抹除循環技術是能保存記憶體單元完整性和延長資料保留之方式為之。
依據另外的實施例,系統300可以在從外在實體(310)收到更新形式的命令時處理(condition)更新和/或開始(initiate)更新。系統300可包含接收重寫/改編等等命令之輸入模組310,該命令係重寫/改編(或其它等等)該快閃記憶體306的一個以上的記憶體單元。系統300可在接收到該命令時處理所有的更新操作(例如,除了像上述的比較同作與預設單元位準的其它條件之外或以下描述的其它條件之外),或者可以基於接收到例外於其它條件的該命令時啟動更新,或者該兩者的組合。輸入模組310可以是進入記憶體單元控制模組(例如參見前述之第1圖的記憶體控制器108)的界面,使用者界面提供使用者控制的更新和/或於使用者同意或相似情形時處理更新。應該也要瞭解,依據某些實施例,在接收到更新/重寫命令時的處理更新可以由系統300予以暫停。因此,系統300可以“自動”模式操作,其中更新的施行是基於有關快閃記憶體308的因素,而以“控制輔助”模式操作時,更新是基於與從輸入組件310而來的更新命令相聯結的快閃記憶體308有關的因素,或是只基於接收到該更新命令(例如,“命令觸發(command-triggered)”模式)。
第4圖說明例示系統400的方塊圖,該系統400可以時間函數之方式自動更新記憶體單元(406)的程式化狀態,該時間係為自從該單元(406)的先前程式化後所經過的時間。例如,系統400可判定出快閃記憶體裝置(406)中在程式化狀態的單元,以及自從先前程式化操作之後所經過的時間量。假如該經過的時間比應用於一個單元或一群單元的閥值時間還要長的話,該單元會如在此所描述般予以更新。因此,系統400可隨著時間經過自動更新單元以對抗典型隨著時間而發生的電荷/電壓損失。
系統400包含程式化組件402,該程式化組件402可設定(例如,程式化/編寫等等)快閃記憶體406的記憶體單元至個別(distinct)的單元位準以在該快閃記憶體406之內呈現數位資訊。此外,快閃記憶體406的一個以上單元被程式化組件402程式化時,時間戳記組件402會記錄時間,並將該時間關聯於該程式化單元的位址。假如該單元被實質地程式化或改編/更新,該時間會予以刷新,並且該刷新的時間也可關聯於該程式化單元的位址。因此,程式化及更新事件的記錄和其所關聯的時間可以由系統400加以維持。
系統400也包含更新組件408,該更新組件408判定關聯一個以上的記憶體單元的經過時間(elapsed time)。例如,可藉由比較同作時間與先前所程式化的時間以判定經過時間,該先前程式化的時間係關聯於經由時間戳記組件404所記錄的該記憶體單元。另外,假使該經過時間提升到超過預定更新時間(例如,一分鐘、一小時、一天、一個禮拜、一個月等等),更新組件408可發出重寫命令(包含,例如,該單元的位址、需求的程式化狀態和/或該需求的程式化狀態的預設單元位準等等)至該程式化組件402。該重寫命令可引起該程式化組件402去更新該至少一個單元,例如,藉由設定該單元的單元位準至關聯程式化狀態的預設單元位準。因此,系統400在預定更新時間屆滿時會監測自從先前程式化該記憶體單元後的經過時間和/或自從該記憶體的最後一次更新後的時間。
依照進一步的實施例,該預定更新時間的建立和/或修改可基於關聯該快閃記憶體406的使用頻率和/或使用歷史。有一個特殊的例子是,已判定的單元電荷損失率、單元改編頻率和/或歷史、讀取/進入的頻率/歷史、或等等或其組合可以是個判定適當更新時間和/或調整該更新時間的因子,以提供更好的儲存資料完整性。因此,依照經過的程式化/更新時間並聯結可影響該記憶體單元穩定度的同時參數(contemporaneous parameter),系統400可如在此所描述般自動更新快閃記憶體單元(406)或單元(406)的群體。
第5圖描述實例系統500的方塊圖,該系統500評估記憶體單元的讀取錯誤並自動相應地更新該單元。系統500可判定經過一段時間的關聯記憶體單元的讀取錯誤數目,或在一群被讀取單元中的讀取錯誤數目,以及,假使讀取錯誤數目提升到超過閥值數目和/或頻率時,便改編該記憶體單元以更新儲存在該單元中的資料。因此,系統500以潛在的資料損失的函數之方式提供更新資料的機制。
系統500包含記憶體單元存取組件502,該存取組件502可追蹤讀取錯誤的數目和/或頻率,該讀取錯誤係關聯於儲存在該快閃記憶體506的一個以上的記憶體單元之內的讀取資料。讀取錯誤的發生,例如,假使嘗試要判定單元是否在非程式化狀態或程式化狀態中,而回覆不正確的結果。以不同的方式說明,假使同作單元位準(例如,電壓、電荷和/或電流的量)應當要讀取成程式化狀態(例如位元0)而卻讀取成非程式化狀態(例如位元1)或相反時,便導致了讀取錯誤。在多位準快閃記憶體中讀取錯誤的發生是在當讀取一個單元的程式化位準是被抹除或程式化至不同位準時。因此,記憶體單元存取組件502可包含錯誤檢測機制,該錯誤檢測機制辨識讀取錯誤的數目和/或頻率。該錯誤檢測機制將該數目或頻率比較於預定閥值(predefined threshold)。如此的讀取錯誤,例如,會將“0”(程式化狀態)讀取成“1”(非程式化狀態)。
由在記憶體單元存取組件502中的該錯誤檢測機制所判定的讀取錯誤的數目和/或頻率可以提供至記憶體單元整合組件504。該記憶體單元整合組件504會將該讀取錯誤的數目/頻率與預定閥值位準比較。假使該數目/頻率提升到超過該閥值位準,記憶體單元整合組件504可發出重寫命令至程式化組件508。如同在此所描述一般,該重寫命令會引起該程式化組件去更新與該讀取錯誤有關的該單元。更具體來說,該重寫命令包含該記憶體單元的位址和期待的程式化狀態和/或關聯該期待的程式化狀態的預設單元位準(例如,對於多位元快閃記憶體構型,可以提供特定的單元位準給每個記憶體單元/單元的群組和程式化狀態)。程式化組件508接著會辨識該特定的單元並設定關聯的單元位準去符合關聯載明於該重寫命令中的程式化狀態/單元位準之預定位準。因此,藉由直接設定單元位準至該預定單元位準,可以在沒有抹除該單元的情形下執行更新記憶體單元,因此相較於習知技術保存了單元的完整性、延長了資料保留並增加了關聯該單元的程式化/抹除循環的典型數目。
以上提到的系統係針對數個組件之間的互動來加以描述。應該要瞭解該系統和組件包含在此載明的那些組件或次組件(sub-component)、該在此載明的那些組件或次組件的其中一些、和/或額外組件。舉例來說,系統可包含診斷組件102、程式化組件104、輸入模組310、時間戳記組件404和更新組件408或這些及其它組件的不同組合。次組件也可實施成為傳達式地(communicatively)耦合其它組件的組件,而不是包含在母體組件之內的組件。另外應該注意,一個以上的組件可以合併入提供聚合功能的單一組件。例如,時間戳記組件404包含更新組件408或反過來,以促進記錄程式化的時間並藉由單一組件的方式判定經過時間及比較該經過時間與閥值時間。該組件也可與沒有在此特別描述但由本領域熟知該項技術者所知悉的一個以上之其它組件互動。
另外也會瞭解,以上所揭露的系統之各種部份以及以下的方法會包含或由下列物件所組成:人工智慧(artificial intelligence)或知識或規則基礎組件、次組件、程序、手段、法則或機制(例如支持向量機(support vector machine)、神經網路(neural network)、專家系統(expert system)、貝葉斯網(Bayesian belief network)、模糊邏輯(fuzzy logic)、資料融合引擎(data fusion engine)、分類器(classifier)...)。該組件,尤其(inter alias),以及除了已在此描述以外者,可自動化某些機制或程序的執行以使得部份的該系統和方法更具有適應性與效率和智慧。
以上述的例示系統之觀點,依照揭露的發明內容所實施的法則如參考第6至9圖的流程表將會有更好的瞭解。然而為了簡化解釋的目的,該法則係顯示及描述成一系列的方塊,要理解與瞭解到保護的發明內容並未由該方塊的順序所限制,因為某些方塊會以不同的順序來發生和/或與依照在此描述與敘述的其它方塊同時地發生。此外,並不是需要所有的說明方塊才能實施之後所描述的法則。另外,應該要進一步的瞭解在此之後所揭露及遍及此說明書的法則能夠被儲存在製品上以促進傳輸和轉送該法則至電腦。該所使用的名稱“製品”傾向於囊括可從任何電腦可讀裝置、傳導性載體界面或媒介存取的電腦程式。
第6圖說明例示法則的流程圖,該法則藉由更新儲存在該快閃記憶體的程式化單元中的資料以提供延長資料保留予快閃記憶體,而不需要該程式化單元在更新之前先予以抹除。方法600的步驟602可判定相應一個以上的程式化狀態的快閃裝置的一個記憶體單元或一群記憶體單元(例如,一頁和/或多頁)。例如,該程式化狀態的判定可以藉由量測該記憶體單元的同時的電壓、電流和/或電荷位準或其組合或類似物的組合。該同時位準可比較關聯一個以上程式化位準的一個以上預定預設位準。假使記憶體單元的量測單元位準是位在相應於特定程式化狀態的預定預設位準的閥值範圍之內,該記憶體單元可假設為程式化至該特定程式化狀態。
有一個說明上述內容的特定例子,四位元快閃記憶體可在半個單元中具有4個不同的狀態,一個相應記憶體單元電壓為1伏特的非程式化狀態,一個相應記憶體單元電壓為5伏特的第1程式化狀態,一個相應記憶體單元電壓為9伏特的第2程式化狀態,以及一個相應記憶體單元電壓為13伏特的第3程式化狀態。該相應的記憶體單元電壓位準是關聯該狀態的預設位準,如前所述,要在一給定時間點中判定單元是位在什麼程式化狀態,可測量該單元的電壓(和/或,例如,電流、電荷等等)並與該四位元單元的預設位準比較。假使該量測單元位準是相等於該預設位準的其中之一的閥值範圍或在之內(例如,1伏特或1.5伏特或等等),該單元便是在相應該預設位準的狀態中。依照前述的例子,假使該量測單元位準是6伏特而且該閥值範圍是1伏特,該量測單元便是位在第1程式化狀態中。
應該要瞭解,適當的電壓、電荷和/或電流位準可相應多種的記憶體單元狀態。例如,在前述的例子中所敘述的該四位元記憶體單元可以是在13伏特的無程式化狀態以及1伏特的第3程式化狀態。單元位準和程式化狀態也可能有其它的適當關聯;至少在理論條件下,該關聯係牽涉在程式化狀態的預設單元位準之間的至少一個可量測的差異性。除了上述所提,該閥值範圍可以是預定範圍或依據關聯快閃記憶體的多種操作條件來決定,該操作條件足以影響資料保留、儲存資料的能力、記憶體單元的完整性或等等。某些操作條件的例子包含同作的溫度、供應電源或其他關聯記憶體單元的適當的電性和/或熱特質、程式化和/或抹除操作的數目或頻率、進入/讀取頻率、更新頻率或其組合或類似物之組合。
在步驟604,方法600可程式化該快閃裝置的一個該記憶體單元或一群記憶體單元至預設值以更新該記憶體單元,該預設值係關聯於在參考號碼602處所判定的該程式化狀態。有一個特定的無限制(non-limiting)的例子,更新該記憶體單元可藉由直接程式化該單元至該預設值。例如,假使預設值是相應至5個微庫侖的電荷位準,該單元可直接程式化至5個微庫侖。依據某些實施例,程式化是特別地不須在該程式化之前抹除該單元而完成。結果是,可以降低由程式化/抹除循環所導致的記憶體單元完整性的損失。因此,該針對的法則600可藉由在資料更新期間降低記憶體單元完整性的損失而延長快閃記憶體單元的資料保留,以及增加關聯讀取和寫入資料至該快閃記憶體的允許之程式化/抹除循環的數目。
除了上述之外,可提供優於使用快閃設計改良來延長資料保留之實質益處。該設計改良端賴於改變記憶體單元構型(例如,在快閃記憶體單元的設計階段期間的記憶體單元材料層的結構、組成、定向、電供應源或等等或其組合之有形改變)以增進資料保留。不會企圖在設計完成之後施行增進資料保留的部份原因在於,有一個假設是該記憶體單元的完整性是受到構型設計所大幅影響的物理現象。然而,本發明提供的是一個在設計完成之後的機制以改進快閃記憶體的資料保留和程式化/抹除循環。因此,本發明的態樣不只是能應用在新設計的快閃記憶體,也可以應用在既存的快閃記憶體,本發明利用在此描述的更新過程提供實質的益處給該裝置的特性。此外,藉由實施在此揭露的法則可以達成在快閃記憶體資料保留和程式化/抹除操作中的無法預期的益處。具體而言,可以達成使多種快閃記憶體延長10%以上的資料保留。此外,據信在某些情況下(例如,在譬如溫度、供應電源、等等的適當操作條件下的某些快閃記憶體構型)可以達成延長100%以上的資料保留。因此,相較於由最近在記憶體單元構型中的改進(例如,在快閃記憶體設計階段期間)所導致的典型改良(例如,幾個百分比或更少),資料保留的益處是無法預期的高。
第7圖說明實例方法700的流程圖,該方法700基於同作電荷/電壓位準更新記憶體單元的程式化狀態。在步驟702,方法700可以依照在此所描述一般判定一個快閃裝置記憶體單元或一群的記憶體單元的同作值。在步驟704,方法700基於比較同作值和關聯該記憶體單元的預定狀態(例如,無程式化、程式化等等)的預定預設值可處理該記憶體單元的重寫和/或更新。在步驟706,如同在參考號碼704處所執行的處理之例子,假如該同作值不在該預設值的閥值內,方法700可以重寫和/或更新該記憶體單元。因此,例如假使精確/閥值範圍是5%並且同作值並非位於預設值的5%以內,那麼該同作值可視為不精確而更新至該預設值。
在步驟708,是在參考號碼704處所執行的處理的另一個例子,假使該同作值是位於該預設值的閥值範圍內時,方法700可以終止和/或放棄該記憶體單元的重寫和/或更新。例如,該閥值範圍可以是指示在該同作位準和該閥值位準之間的某種精確性位準的精確範圍。有另一個例子是,假使精確/閥值範圍是5%,那麼在預設值的5%內的同作值可視為是精確的並且是位於在參考號碼708處所指定的該預設值的閥值範圍內。應該要瞭解該連貫的例子僅只是一個可能的閥值範圍;任何用以與預設單元值(例如,依據單元值量測精度、操作條件或等等或其組合)比較,適用於判定精確度的可接受位準(例如,由快閃記憶體製造商所定義)的閥值範圍係併入本發明內。
第8圖描述實例方法800的流程圖,該方法800週期性地更新記憶體單元的程式化狀態。在步驟802,方法800可判定自從同時時間和最後一次程式化快閃記憶體裝置的一個以上的記憶體單元後的經過時間。該經過時間可以是自從施行如在此描述的最後一次更新操作(例如,藉由改編該單元至關聯程式化狀態的預設位準)後的時間、自從資料程式化至該單元的時間、或等等。在步驟804會做出判定該經過時間是否大於預設閥值時間。該預設閥值時間的建立可基於關聯該快閃記憶體裝置的操作狀況、和/或關聯該快閃記憶體裝置的程式化、抹除、讀取和或編寫頻率/歷史、或其組合或類似者的組合。假使在步驟804該經過時間大於該預設時間,則方法800可繼續至步驟806,在步驟806中該快閃裝置的該記憶體單元可重寫至關聯在此描述的程式化狀態的預設位準。假使,在步驟804,該經過時間被判定為短於該預設時間,則該方法800可繼續至步驟808,在步驟808中沒有執行任何重寫動作。因此,方法800提供更新記憶體單元資料(例如,沒有利用抹除脈衝/操作)的方式是依據自從該最後的程式化或更新操作後的經過時間而延長資料保留時間。
第9圖描述實例方法的流程圖,該方法基於讀取錯誤數目和/或頻率更新記憶體單元的程式化狀態。在步驟902,方法900依照在此描述一般和/或習知方式可判定關聯快閃記憶體裝置的一個以上的記憶體單元的讀取錯誤的數目和/或頻率。該讀取錯誤可針對特定事件而判定,例如時間中的預定點或基於關聯記憶體穩定性的該快閃裝置的適當操作的預定點(例如,當電源第一次供應至該快閃裝置、當電源最後一次供應至該快閃裝置、處於特別的操作溫度、當該單元最後一次被編寫、最後一次更新、最後一次程式化、最後一次抹除或其組合或類似者的組合)。在步驟904,方法900可做出判定讀取錯誤的數目是否大於讀取錯誤的預設數目(例如,基於需要的記憶體單元完整性)。假使在步驟904該讀取錯誤的數目/頻率大於該預設值,則方法900可以繼續至步驟906,在步驟906中該快閃裝置的記憶體單元如同在此描述一般被編寫至關聯程式化狀態的預設位準。假使在步驟904該讀取錯誤的數目/頻率並沒有大於該預設值,則方法900可繼續至步驟908,在步驟908不會執行重寫動作。如同所敘述一般,方法900可以更新快閃記憶體裝置的記憶體單元,其施行的方式係如關聯該單元/裝置的已判定讀取錯誤的數目/頻率之函數而改進資料保留和/或讀取/編寫循環。
為了提供額外的背景給該揭露內容的多種態樣,第10圖和第11圖以及接下來的討論傾向於提供適當環境的簡短、一般的描述,該環境其中可以實施該揭露內容的多種態樣。雖然上述內容是為運行於一部和/或多部電腦上的電腦程式的電腦可執行指令的一般敘述,熟知本領域之技術者可認知本發明也可結合其它程式模組而實施。
一般而言,程式模組包含可執行特定任務和/或實施特定抽象資料形式的常式(routine)、程式、組件、資料結構等等。此外,熟知本領域之技術者會瞭解本發明方法可以其它電腦系統構型實行,包含單一處理器或多重處理器電腦系統、微小計算裝置、大型電腦(mainframe computer)、以及個人電腦、手持計算裝置(例如,個人數位助理(personal digital assistant;PDA)、電話、手錶...)、以微處理器為基礎或可程式化的消費性或工業性電子裝置等等。該說明態樣也可實施於分散式計算環境,其中任務是藉由通過通訊網路連接的遠端處理裝置執行。然而,假使不是全部便是部分的本發明的態樣可在獨立的電腦上實施。在一個分散式計算環境中,程式模組可位在以下所描述的當地和遠端兩者的記憶體儲存裝置中。
參考第10圖,用於實施在此揭露的多種態樣的例示環境1010包含電腦1012(例如,桌上電腦、手提電腦、伺服器、手持裝置、可程式化消費性或工業性電子裝置...)。該電腦1012包含處理單元1014、系統記憶體1016和系統匯流排1018。該系統匯流排1018可耦接系統組件,包含但不限於將該處理單元1014耦接該系統記憶體1016。該處理單元1014可以是任何的多種微處理器,例如雙微處理器、四微處理器以及其它適合電腦環境1010的多重處理器構型。
該系統匯流排1018可以是任何多個形式的適當匯流排結構,包含記憶體匯流排或記憶體控制器、周邊匯流排或外部匯流排和/或區域匯流排,該區域匯流排使用任何適當種類的可獲得的匯流排構型,其包含但不限於11位元匯流排、工業標準構型(Industrial Standard Architecture;ISA)、微通道構型(Micro-Channel Architecture;MSA)、延展ISA(EISA)、智慧驅動電子裝置(Intelligent Drive Electronics;IDE)、VESA區域匯流排(VLB)、周邊組件互連(Peripheral Component Interconnect;PCI)、通用序列匯排流(Universal Serial Bus;USB)、先進圖像處理埠(Advanced Graphics Port;AGP)、個人電腦記憶卡國際組織匯流排(PCMCIA)以及小電腦系統界面(Small Computer System Interface;SCSI)。
該系統記憶體1016包含揮發性記憶體(volatile memory)1020和非揮發性記憶體(nonvolatile memory)1022。例如啟動(start-up)期間,含有基礎常式以在該電腦1012內的元件之間傳送資訊的基礎輸入/輸出系統(BIOS)是儲存在非揮發性記憶體1022中。藉由說明方式但非限制,非揮發性記憶體1022可包含唯讀式記憶體(read only memory;ROM)、可程式化ROM(PROM)、電子可程式化ROM(EPROM)、電子可抹除ROM(EEPROM)或快閃記憶體。揮發性記憶體1020包含隨機存取記憶體(random access memory;RAM),其作為外部快取記憶體(external cache memory)。藉由說明方式但非限制,RAM可以有許多形式,譬如同步RAM(synchronous RAM;SRAM)、動態RAM(dynamic RAM;DRAM)、同步DRAM(synchronous DRAM;SDRAM)、雙資料速率SDRAM(double data rate SDRAM;DDR SDRAM)、強化SDRAM(enhanced SDRAM;ESDRAM)、同步鍊結DRAM(Synchlink DRAM;SLDRAM)以及直接匯流排式RAM(direct Rambus RAM;DRRAM)。
電腦1012也包含可移除/非可移除、揮發性/非揮發性電腦儲存媒介。例如第10圖說明碟儲存(disk storage)1024。碟儲存1024包含但不限於例如以下的裝置:磁碟機、軟碟機、磁帶機、爵士可擴充硬盤(Jaz drive)、壓縮磁碟(Zip drive)、LS-100磁碟、快閃記憶體卡或記憶體條(memory stick)。此外,碟儲存1024可包含與其它儲存媒介分開或結合的儲存媒介,該其它儲存媒介包含但不限於例如以下的光碟機:光碟ROM裝置(compact disk ROM device;CD-ROM device)、CD可記錄光碟機(CD recordable drive;CD-R Drive)、CD可重寫光碟機(CD rewritable drive;CD-RW Drive)或多樣化數位光碟ROM光碟機(digital versatile disk ROM drive;DVD-ROM)。為了促進該碟儲存裝置1024至該系統匯流排1018的連結,典型使用譬如界面1026的可移除或非可移除界面。
要瞭解第10圖描述一軟體係作為介於使用者和在操作環境1010中所描述的基礎電腦資源之間的中間物。該軟體可包含操作系統1028。操作系統1028可儲存在碟儲存1024上,其作用為控制和分配該電腦系統1012的資源。系統應用1030通過程式模組1032和程式資料1034(儲存在系統記憶體1016中或在碟儲存1024上)利用操作系統1028的資源管理。要瞭解,可以多種操作系統或操作系統的組合實施本發明。
使用者可經過輸入裝置1036輸入命令或資訊進入該電腦1012。輸入裝置1036包含但不限於譬如以下所列的指向裝置:滑鼠、軌跡球(trackball)、指示筆(stylus)、接觸墊(touch pad)、鍵盤、麥克風、操縱桿、遊戲墊(game pad)、碟型衛星天線、掃描器、TV調頻卡、數位照相機、數位攝影機、網路攝影機等等。這些和其它輸入裝置藉由界面埠1038經過該系統匯流排1018而連接至該處理單元1014。界面埠1038包含例如序列埠、平行埠、遊戲埠以及通用序列匯排流(USB)。輸出裝置1040可以利用一些同樣形式的埠作為輸入裝置1036。因此,舉例來說,可使用USB埠以提供輸入至電腦1012和從電腦1012輸出資訊至輸出裝置1040。輸出轉接器1042說明其它的輸出裝置1040之間,某些輸出裝置1040譬如顯示器(例如,平面顯示器和CRT)、擴音器和印表機需要特別的轉接器。藉由說明方式但非限制,該輸出轉接器1042包含提供該輸出裝置1040與該系統匯流排1018之間的連結手段之影像和音效卡。應該注意提供輸入和輸出能力的其它裝置和/或裝置的系統,譬如遠端電腦1044。
電腦1012可對一個以上的遠端電腦(例如,遠端電腦1044)使用邏輯連接而在網路環境中操作。該遠端電腦1044可以是個人電腦、伺服器、路由器、網路PC、工作站、以微處理器為基礎的電器、同位體裝置(peer device)或其它常見的網路節點等等,並且典型包含先前描述與電腦1012相關的許多或所有的元件。為了簡明的目的,只說明有一個記憶體儲存裝置1046的遠端電腦1044。遠端電腦1044是經由網路界面1048而邏輯性連接至電腦1012並且接著實體上藉由通訊連結1050連接。網路界面1048囊括譬如區域網路(local-area network;LAN)和廣域網路(wide-area network;WAN)的通訊網路。LAN科技包含光纖分佈資料界面(Fiber Distributed Data Interface;FDDI)、銅分佈資料界面(Copper Distributed Data Interface;CDDI)、乙太網路(Ethernet)/IEEE802.3、訊標環(Token Ring)/IEEE802.5等等。WAN科技包含但不限於點對點(point-to-point)連結、電路切換(circuit-switching)網路像整合服務數位網路(Integrated Service Digital Network;ISDN)及其變形、封包切換(packet switching)網路和數位用戶線(Digital Subscriber Line;DSL)。
通訊連結1050意指採用來將該網路界面1048連結至該匯流排1018的硬體/軟體。雖然通訊連結1050係為了說明清楚而在電腦1012內部顯示,但是該通訊連結1050也可位在電腦1012之外。為了連結至該網路界面1048所必要的硬體/軟體包含(僅只為了例示的目的)內部和外部科技,例如:數據機(包含標準電話等級數據機(regular telephone grade modem)、有線電視數據機(cable modem)、電源線數據機和DSL數據機)、ISDN轉接器和乙太網路卡(Ethernet card)或組件。
第11圖是可與本發明互動的實例計算環境(sample-computing environment)1100的圖式方塊圖。例如,快閃裝置的同作狀態和/或程式脈衝的應用之量測的執行方式可以藉由遠端主從式界面(client/server interface),或可以藉由該主從式界面來執行在多種條件下(例如,經過時間、讀取錯誤的數目/頻率、閥值資料損失或等等)與該程式脈衝之處理相關的邏輯。該系統1100包含一個以上的客戶端1110。該客戶端1110可以是硬體和/或軟體(例如,線程(thread)、程序、計算裝置)。該系統1100也包含一個以上的伺服器1130。因此,其它模型之中,系統1100可對應至兩層(two-tier)主從模型或多層(multi-tier)模型(例如,客戶端、中層伺服器、資料伺服器)。該伺服器1130也可以是硬體和/或軟體(例如,線程、程序、計算裝置)。例如,該伺服器1130藉由採用本發明可收藏(house)線程以執行轉換。資料封包可能是客戶端1110與伺服器1130之間通訊形式的一種,該資料封包係適合用來在兩個以上的電腦程序之間傳送。
該系統1100包含採用來促進在該客戶端1110與該伺服器1130之間的通訊的通訊架構1150。該客戶端1110係操作性地(operatively)連接至一個以上的客戶端資料儲藏1140,該客戶資料儲存1140可採用來儲存該客戶端1110的區域資訊。同樣地,該伺服器1130係操作性地連接至一個以上的伺服器資料儲藏1140,該伺服器資料儲藏1140可用來儲存該伺服器1130的區域資訊。
以上的敘述包含專利範圍內容的態樣的例子。當然,不可能為了描述本專利範圍內容而描述每一種可想像的組件或法則的結合,但是熟知本領域技術者可認知本揭露內容的許多更進一步的組合和置換是有可能的。因此,本揭露內容意欲囊括在附加的申請專利範圍的精神和範圍內的所有替換、修改和變化。此外,對於在說明書或申請專利範圍中使用的名詞“包含(includes)”或“具有(has或having)”,其範圍係意欲具有包括(inclusive)的形式,像申請專利範圍中用來作為轉變字的名詞“包括(comprising)”的解釋。
100、300、500...實例系統
102、202、304...診斷組件
104、204、306、402、508...程式化組件
106、206、308、406、506...快閃記憶體
108...記憶體控制器
200、400...例示系統
208...電壓源
210...電流源
302...評估模組
310...輸入模組
404...時間戳記組件
408...更新組件
502...記憶體單元存取組件
504...記憶體單元整合組件
600、900...方法
602...參考號碼
604、702、704、706、708、802、804、806、808、902、904、906、908...步驟
700、800...實例方法
1012...電腦
1014...處理單元
1016...系統記憶體
1018...系統匯流排
1020...揮發性記憶體
1022...非揮發性記憶體
1024...碟儲存
1026...界面
1028...操作系統
1030...系統應用
1032...程式模組
1034...程式資料
1036...輸入裝置
1038...界面埠
1040...輸出裝置
1042...輸出轉接器
1044...遠端電腦
1046...記憶體儲存裝置
1048...網路界面
1050...通訊連結
1100...實例計算環境
1110...客戶端
1120、1130...伺服器
1140...客戶端資料儲藏
1150...通訊架構
第1圖說明實例系統的方塊圖,該系統可提供多種快閃記憶體的延長資料保留。
第2圖描述例示系統的方塊圖,該系統可提供多種快閃記憶體構型的延長資料保留。
第3圖說明實例系統的方塊圖,該系統評估記憶體單元的狀態並依照該評估狀態更新該單元。
第4圖說明例示系統的方塊圖,該系統自動以程式化的時間的函數方式更新記憶體單元的程式化狀態。
第5圖描述實例系統的方塊圖,該系統評估記憶體單元的讀取錯誤並自動相應地更新該單元。
第6圖說明例示方法的流程圖,該方法作為提供多種快閃記憶體的延長資料保留。
第7圖說明實例方法的流程圖,該方法基於同作電荷/電壓位準更新記憶體單元的程式化狀態。
第8圖描述實例方法的流程圖,該方法週期性地更新記憶體單元的程式化狀態。
第9圖描述實例方法的流程圖,該方法基於讀取錯誤數目和/或頻率更新記憶體單元的程式化狀態。
第10圖說明例示操作系統的方塊圖,該操作系統適合於施行和/或利用本發明內容的多種態樣。
第11圖描述例示遠端通訊環境的方塊圖,該遠端通訊環境是用於依照其它的態樣遙遠地改編記憶體單元。
100...實例系統
102...診斷組件
104...程式化組件
106...快閃記憶體
108...記憶體控制器
Claims (20)
- 一種提供延長的資料保留給程式化快閃記憶體裝置的系統,包括:診斷組件,判定快閃記憶體裝置的至少一個單元的一個以上程式化狀態的特定程式化狀態;程式化組件,將該至少一個單元選擇性重寫成與該一個以上程式化狀態的該特定程式化狀態相關聯的預定值,以回應重寫命令,其中,該程式化組件重寫該至少一個單元而未先抹除該至少一個單元,並且其中,該重寫命令指出該至少一個單元的該預定值及該特定程式化狀態;以及更新組件,判定該至少一個單元從該至少一個單元被程式化或被更新的時間起的經過時間,並且若該經過時間是大於預定更新時間且該快閃記憶體裝置的外部的輸入模組收到與使用者控制更新該至少一個單元相關聯的命令,則該更新組件發出該重寫命令至該程式化組件,其中,該預定更新時間係至少部分依據與該至少一個單元相關聯的電性性質而判定,並且其中,該更新組件暫停該重寫命令,以回應從該快閃記憶體裝置的外部的該輸入模組收到另一個命令。
- 如申請專利範圍第1項所述之系統,其中,該程式化組件復包括以下所列之至少其中一項:電壓源,藉由將該至少一個單元的電壓調整成與該一個以上程式化狀態的該特定程式化狀態相關聯的預 定電壓位準以將該至少一個單元重寫成該預定值;控制器,位於該快閃記憶體裝置的內部或外部,其中一者指示該快閃記憶體裝置量測該至少一個單元的同作程式化位準或指示該快閃記憶體裝置重寫該至少一個單元;或電流源,藉由將該至少一個單元的電荷調整成與該一個以上程式化狀態的該特定程式化狀態相關聯的預定電荷位準以將該至少一個單元重寫成該預定值。
- 如申請專利範圍第1項所述之系統,另包括評估模組,該評估模組判定該至少一個單元的同作電荷、電壓或電流值或其組合,並且比較該同作值與該一個以上程式化狀態的該特定程式化狀態的預定值。
- 如申請專利範圍第3項所述之系統,該程式化組件基於該同作值是否處於該預設值的閾值內而進行該至少一個單元的重寫。
- 如申請專利範圍第1項所述之系統,其中,另包括:該程式化組件組構成將多位準單元的至少一個單元重寫成複數個程式化狀態預設值的其中一者。
- 如申請專利範圍第1項所述之系統,另包括:時間戳記組件,該時間戳記組件記錄該快閃記憶體裝置的至少一個單元被程式化或更新、或二者皆有時之時間。
- 如申請專利範圍第1項所述之系統,另包括:記憶體單元存取組件,追蹤與讀取該至少一個程式 單元相關聯的讀取錯誤的數目或頻率;以及記憶體單元整合組件,若該讀取錯誤的數目或頻率上升大於預定位準,則該記憶體單元整合組件發出重寫命令至該程式化組件,導致該程式化組件重寫該至少一個單元。
- 如申請專利範圍第1項所述之系統,其中,另包括以下所列之至少其中一項:該診斷組件和該程式化組件合併在該快閃記憶體裝置之內;或該診斷組件或該程式化組件合併在記憶體控制器或重寫組件之內,該記憶體控制器及該重寫組件至少部份位於該快閃記憶體裝置的外部。
- 一種用以提供延長的資料保留給程式化快閃記憶體單元的方法,包括:判定快閃記憶體裝置的至少一個單元具有一個以上程式化狀態;判定同作時間與當該至少一個單元最後被程式化或更新或執行兩者的時間之間的經過時間;若該經過時間是大於預定重寫週期且該快閃記憶體裝置的外部的應用收到與使用者控制更新該至少一個單元相關聯的命令,則發出重寫命令,其中,該預定重寫時間係至少部分依據與該至少一個單元相關聯的電性性質而判定;暫停該重寫命令,以回應從該快閃記憶體裝置的外 部的該應用收到另一個命令;以及將該至少一個單元程式化為與該一個以上程式化狀態的特定程式化狀態相關聯的預定值,以回應該重寫命令,其中,將該至少一個單元程式化未先抹除該至少一個單元,並且其中,該重寫命令指出該至少一個單元的該預定值及該特定程式化狀態。
- 如申請專利範圍第9項所述之方法,另包括採取將電荷注入該至少一個單元連同程式化該至少一個單元。
- 如申請專利範圍第9項所述之方法,另包括採取將電洞注入該至少一個單元連同程式化該至少一個單元。
- 如申請專利範圍第9項所述之方法,另包括在程式化該至少一個單元之前,判定該至少一個單元的該特定程式化狀態的同作值。
- 如申請專利範圍第12項所述之方法,另包括基於該判定的同作值與該特定程式化狀態的預設值的比較而進行該至少一個單元的該程式化。
- 如申請專利範圍第12項所述之方法,另包括若該同作值是在該預設值的閾值內時,放棄程式化該至少一個單元。
- 如申請專利範圍第12項所述之方法,另包括若該同作值不是在該預設值的閾值內時,執行該至少一個單元的該程式化。
- 如申請專利範圍第9項所述之方法,另包括基於從外部診斷實體接收該重寫命令來進行該程式化。
- 如申請專利範圍第9項所述之方法,另包括:基於該經過時間與該預定重寫週期的比較而進行該程式化。
- 如申請專利範圍第9項所述之方法,另包括:判定與讀取該至少一個單元的該一個以上程式化狀態相關聯的讀取錯誤的數目;以及基於該讀取錯誤的數目與讀取錯誤的閾值數目的比較而進行該程式化。
- 如申請專利範圍第9項所述之方法,另包括採取該快閃記憶體裝置的外部的該應用以執行該程式化。
- 一種電腦程式化產品,包括:非暫態電腦可讀媒介,含有組構成引起電腦或電子裝置延長程式化快閃記憶體單元的資料保留的指令,包括:第一指令,組構成引起該電腦或電子裝置判定快閃記憶體裝置的至少一個單元是在一個以上程式化狀態的特定程式化狀態中;第二指令,組構成引起該電腦或電子裝置將該至少一個單元程式化為與該一個以上程式化狀態的該特定程式化狀態相關聯的預定值,以回應重寫命令,其中,將該至少一個單元程式化未先抹除該至少一個單元,並且其中,該重寫命令指出該至少一個單元的該預定值及該特定程式化狀態;以及第三指令,組構成引起該電腦或電子裝置判定判定 同作時間與當該至少一個單元最後被程式化或更新的時間之間的經過時間,並且若該經過時間是大於預定重寫時間且該快閃記憶體裝置的外部的輸入裝置收到與使用者控制更新該至少一個單元相關聯的命令,則發出該重寫命令,其中,該預定重寫時間係至少部分依據與該至少一個單元相關聯的電性性質而判定,並且其中,暫停該重寫命令,以回應從該快閃記憶體裝置的外部的該輸入裝置收到另一個命令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/961,772 US8938655B2 (en) | 2007-12-20 | 2007-12-20 | Extending flash memory data retension via rewrite refresh |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200935419A TW200935419A (en) | 2009-08-16 |
TWI502590B true TWI502590B (zh) | 2015-10-01 |
Family
ID=40427290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097150017A TWI502590B (zh) | 2007-12-20 | 2008-12-22 | 藉由重寫更新延長快閃記憶體的資料保留 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8938655B2 (zh) |
TW (1) | TWI502590B (zh) |
WO (1) | WO2009086177A1 (zh) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009187159A (ja) * | 2008-02-05 | 2009-08-20 | Toshiba Corp | メモリシステム |
US8276043B2 (en) * | 2008-03-01 | 2012-09-25 | Kabushiki Kaisha Toshiba | Memory system |
US9437312B2 (en) * | 2009-02-26 | 2016-09-06 | Sandisk Il Ltd. | Management of write-protected data in a semiconductor memory |
IES20100615A2 (en) * | 2009-09-23 | 2011-03-30 | Conor Maurice Ryan | A flash memory device and control method |
US8681558B2 (en) * | 2009-10-07 | 2014-03-25 | Spansion Llc | Parallel bitline nonvolatile memory employing channel-based processing technology |
US8612669B1 (en) * | 2010-06-28 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for performing data retention in solid-state memory using copy commands and validity and usage data |
KR101577721B1 (ko) | 2010-07-09 | 2015-12-29 | 삼성전자주식회사 | 메모리 시스템 및 그것의 리프레쉬 방법 |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US9324433B2 (en) * | 2011-04-25 | 2016-04-26 | Microsoft Technology Licensing, Llc | Intelligent flash reprogramming |
US8650353B2 (en) * | 2011-07-01 | 2014-02-11 | Intel Corporation | Apparatus, system, and method for refreshing non-volatile memory |
US8917559B2 (en) | 2012-04-04 | 2014-12-23 | Sandisk Technologies Inc. | Multiple write operations without intervening erase |
ITMI20120595A1 (it) * | 2012-04-12 | 2013-10-13 | St Microelectronics Srl | Gestione della cancellazione di pagine operative di un dispositivo di memoria flash tramite pagine di servizio |
US9361201B2 (en) * | 2012-08-07 | 2016-06-07 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
US10095705B2 (en) | 2012-09-24 | 2018-10-09 | Microsoft Technology Licensing, Llc | Integrated data retention policy for solid state and asymmetric access |
KR102048407B1 (ko) | 2012-10-19 | 2019-11-25 | 삼성전자주식회사 | 리프레쉬 어드레스 생성기 및 휘발성 메모리 장치 |
US8972652B2 (en) * | 2012-11-19 | 2015-03-03 | Spansion Llc | Data refresh in non-volatile memory |
CA2891355C (en) * | 2012-11-20 | 2022-04-05 | Charles I. Peddle | Solid state drive architectures |
US11037625B2 (en) | 2012-11-20 | 2021-06-15 | Thstyme Bermuda Limited | Solid state drive architectures |
US9627085B2 (en) * | 2012-11-29 | 2017-04-18 | Silicon Motion Inc. | Refresh method for flash memory and related memory controller thereof |
DE102012024772A1 (de) * | 2012-12-18 | 2014-06-18 | Giesecke & Devrient Gmbh | Verfahren zum Betreiben eines Teilnehmeridentifikationsmoduls sowie ein solches Teilnehmeridentifikationsmodul |
US9325321B2 (en) * | 2013-03-13 | 2016-04-26 | Microsemi SoC Corporation | Background auto-refresh apparatus and method for non-volatile memory array |
US9378830B2 (en) * | 2013-07-16 | 2016-06-28 | Seagate Technology Llc | Partial reprogramming of solid-state non-volatile memory cells |
KR101653293B1 (ko) * | 2013-08-15 | 2016-09-01 | 실리콘 모션 인코포레이티드 | 플래시 메모리의 재생 방법 및 이에 관한 메모리 컨트롤러 |
US9263158B2 (en) * | 2013-08-16 | 2016-02-16 | Seagate Technology Llc | Determining data retention time in a solid-state non-volatile memory |
JP6150669B2 (ja) * | 2013-08-22 | 2017-06-21 | キヤノン株式会社 | 情報処理装置、画像形成装置、及びその制御方法 |
US9342401B2 (en) | 2013-09-16 | 2016-05-17 | Sandisk Technologies Inc. | Selective in-situ retouching of data in nonvolatile memory |
US9208847B2 (en) * | 2013-10-30 | 2015-12-08 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory devices with improved refreshing operations |
US9087569B2 (en) * | 2013-11-26 | 2015-07-21 | Lenovo (Singapore) Pte. Ltd. | Non-volatile memory validity |
TWI503843B (zh) * | 2014-01-08 | 2015-10-11 | Winbond Electronics Corp | 適應性刷新裝置與方法 |
TWI582594B (zh) * | 2014-01-22 | 2017-05-11 | 群聯電子股份有限公司 | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 |
JP2015176628A (ja) * | 2014-03-17 | 2015-10-05 | 株式会社東芝 | 半導体記憶装置及びメモリコントローラ |
KR102147916B1 (ko) | 2014-04-14 | 2020-08-26 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 동작 방법 |
KR102248276B1 (ko) * | 2014-05-26 | 2021-05-07 | 삼성전자주식회사 | 스토리지 장치의 동작 방법 |
KR102148389B1 (ko) | 2014-06-11 | 2020-08-27 | 삼성전자주식회사 | 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법 |
KR102292172B1 (ko) | 2014-06-23 | 2021-08-25 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 메모리 컨트롤러의 동작 방법 |
US10353598B2 (en) * | 2014-10-06 | 2019-07-16 | Sandisk Technologies Llc | System and method for refreshing data in a memory device |
US9576649B2 (en) | 2015-03-31 | 2017-02-21 | Seagate Technology Llc | Charge loss compensation through augmentation of accumulated charge in a memory cell |
US9772901B2 (en) * | 2015-05-08 | 2017-09-26 | Nxp Usa, Inc. | Memory reliability using error-correcting code |
US9496043B1 (en) | 2015-06-24 | 2016-11-15 | International Business Machines Corporation | Dynamically optimizing flash data retention or endurance based on data write frequency |
FR3039922B1 (fr) * | 2015-08-06 | 2018-02-02 | Stmicroelectronics (Rousset) Sas | Procede d'ecriture dans une memoire du type eeprom et dispositif de memoire correspondant |
US9727261B2 (en) | 2015-09-24 | 2017-08-08 | Western Digital Technologies, Inc. | Weighted programming patterns in solid-state data storage systems |
US20170109101A1 (en) * | 2015-10-16 | 2017-04-20 | Samsung Electronics Co., Ltd. | System and method for initiating storage device tasks based upon information from the memory channel interconnect |
US9857999B2 (en) * | 2015-11-09 | 2018-01-02 | Western Digital Technologies, Inc. | Data retention charge loss sensor |
TWI584667B (zh) | 2015-11-27 | 2017-05-21 | 財團法人工業技術研究院 | 多請求的排程方法及排程裝置 |
KR102644275B1 (ko) | 2016-05-19 | 2024-03-06 | 삼성전자주식회사 | 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법 |
KR102181177B1 (ko) | 2016-07-29 | 2020-11-20 | 웨스턴 디지털 테크놀로지스, 인코포레이티드 | 비휘발성 메모리를 위한 비-바이너리 인코딩 |
TWI615849B (zh) * | 2017-03-16 | 2018-02-21 | 宇瞻科技股份有限公司 | 在非揮發性儲存裝置上提升資料耐久性之控制方法 |
US20190034118A1 (en) * | 2017-07-28 | 2019-01-31 | Macronix International Co., Ltd. | Data management method and system for memory device |
FR3072494B1 (fr) * | 2017-10-18 | 2020-06-19 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Dispositif et procede de controle des cycles de rafraichissement de donnees dans des memoires non-volatiles reprogrammables |
TWI648676B (zh) | 2017-11-30 | 2019-01-21 | 群聯電子股份有限公司 | 資料存取方法、記憶體控制電路單元以及記憶體儲存裝置 |
KR102507302B1 (ko) * | 2018-01-22 | 2023-03-07 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
US10872009B2 (en) * | 2018-02-08 | 2020-12-22 | Micron Technology, Inc. | Mitigating a voltage condition of a memory cell in a memory sub-system |
JP2019160359A (ja) * | 2018-03-09 | 2019-09-19 | 東芝メモリ株式会社 | 半導体メモリ装置 |
US11055226B2 (en) * | 2018-06-29 | 2021-07-06 | Intel Corporation | Mitigation of cache-latency based side-channel attacks |
US10692559B2 (en) | 2018-10-31 | 2020-06-23 | Micron Technology, Inc. | Performing an on demand refresh operation of a memory sub-system |
US11416733B2 (en) * | 2018-11-19 | 2022-08-16 | Google Llc | Multi-task recurrent neural networks |
TWI690860B (zh) * | 2019-01-04 | 2020-04-11 | 大陸商深圳衡宇芯片科技有限公司 | 訓練人工智慧估測儲存裝置的使用壽命的方法 |
US10839935B2 (en) * | 2019-02-05 | 2020-11-17 | International Business Machines Corporation | Dynamic redundancy for memory |
US11037641B1 (en) * | 2019-12-05 | 2021-06-15 | Sandisk Technologies Llc | Temperature and cycling dependent refresh operation for memory cells |
CN111859791B (zh) * | 2020-07-08 | 2023-12-26 | 上海威固信息技术股份有限公司 | 一种闪存数据保存错误率仿真方法 |
CN113724773B (zh) * | 2021-09-14 | 2024-03-26 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5365486A (en) * | 1992-12-16 | 1994-11-15 | Texas Instruments Incorporated | Method and circuitry for refreshing a flash electrically erasable, programmable read only memory |
WO1998028748A1 (en) * | 1996-12-20 | 1998-07-02 | Intel Corporation | Method and apparatus for improved data retention in nonvolatile memory via equalization of cell voltage levels |
US20020021599A1 (en) * | 2000-08-18 | 2002-02-21 | Trw Automotive Electronics & Components Gmbh & Co. Kg | System and method for safe high-temperature operation of a flash memory |
US20030227794A1 (en) * | 2002-06-05 | 2003-12-11 | Earl Ren D. | System and method for enabling chip level erasing and writing for magnetic random access memory devices |
US6751146B1 (en) * | 2003-01-07 | 2004-06-15 | Advanced Micro Devices, Inc. | System and method for charge restoration in a non-volatile memory device |
US20040179400A1 (en) * | 1995-01-31 | 2004-09-16 | Hitoshi Miwa | Clock synchronized nonvolatile memory device |
US6816409B2 (en) * | 2002-09-06 | 2004-11-09 | Sharp Kabushiki Kaisha | Non-volatile semiconductor memory device and rewriting method |
US20050243626A1 (en) * | 2004-04-29 | 2005-11-03 | M-Systems Flash Disk Pioneers Ltd. | Refreshing data stored in a flash memory |
US20070136509A1 (en) * | 2005-12-09 | 2007-06-14 | Msystems Ltd. | Method For Flash-Memory Management |
US20070263454A1 (en) * | 2006-05-15 | 2007-11-15 | Apple Inc. | Maintenance Operations for Multi-Level Data Storage Cells |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3976839B2 (ja) * | 1996-07-09 | 2007-09-19 | 株式会社ルネサステクノロジ | 不揮発性メモリシステムおよび不揮発性半導体メモリ |
DE69828966D1 (de) * | 1998-09-15 | 2005-03-17 | St Microelectronics Srl | Verfahren zum Schutz des Inhalts nichtflüchtiger Speicherzellen |
US7613043B2 (en) * | 2006-05-15 | 2009-11-03 | Apple Inc. | Shifting reference values to account for voltage sag |
US7568135B2 (en) * | 2006-05-15 | 2009-07-28 | Apple Inc. | Use of alternative value in cell detection |
US20080168215A1 (en) * | 2007-01-05 | 2008-07-10 | Anxiao Jiang | Storing Information in a Memory |
WO2008086233A1 (en) * | 2007-01-05 | 2008-07-17 | The Texas A & M University System, A Texas State Agency | Storing information in a memory |
US7808834B1 (en) * | 2007-04-13 | 2010-10-05 | Marvell International Ltd. | Incremental memory refresh |
-
2007
- 2007-12-20 US US11/961,772 patent/US8938655B2/en active Active
-
2008
- 2008-12-19 WO PCT/US2008/087800 patent/WO2009086177A1/en active Application Filing
- 2008-12-22 TW TW097150017A patent/TWI502590B/zh active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5365486A (en) * | 1992-12-16 | 1994-11-15 | Texas Instruments Incorporated | Method and circuitry for refreshing a flash electrically erasable, programmable read only memory |
US20040179400A1 (en) * | 1995-01-31 | 2004-09-16 | Hitoshi Miwa | Clock synchronized nonvolatile memory device |
WO1998028748A1 (en) * | 1996-12-20 | 1998-07-02 | Intel Corporation | Method and apparatus for improved data retention in nonvolatile memory via equalization of cell voltage levels |
US20020021599A1 (en) * | 2000-08-18 | 2002-02-21 | Trw Automotive Electronics & Components Gmbh & Co. Kg | System and method for safe high-temperature operation of a flash memory |
US20030227794A1 (en) * | 2002-06-05 | 2003-12-11 | Earl Ren D. | System and method for enabling chip level erasing and writing for magnetic random access memory devices |
US6816409B2 (en) * | 2002-09-06 | 2004-11-09 | Sharp Kabushiki Kaisha | Non-volatile semiconductor memory device and rewriting method |
US6751146B1 (en) * | 2003-01-07 | 2004-06-15 | Advanced Micro Devices, Inc. | System and method for charge restoration in a non-volatile memory device |
US20050243626A1 (en) * | 2004-04-29 | 2005-11-03 | M-Systems Flash Disk Pioneers Ltd. | Refreshing data stored in a flash memory |
WO2005106886A2 (en) * | 2004-04-29 | 2005-11-10 | M-Systems Flash Disk Pioneers Ltd. | Refreshing data stored in a flash memory |
US20070136509A1 (en) * | 2005-12-09 | 2007-06-14 | Msystems Ltd. | Method For Flash-Memory Management |
US20070263454A1 (en) * | 2006-05-15 | 2007-11-15 | Apple Inc. | Maintenance Operations for Multi-Level Data Storage Cells |
Also Published As
Publication number | Publication date |
---|---|
TW200935419A (en) | 2009-08-16 |
WO2009086177A1 (en) | 2009-07-09 |
US8938655B2 (en) | 2015-01-20 |
US20090161466A1 (en) | 2009-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI502590B (zh) | 藉由重寫更新延長快閃記憶體的資料保留 | |
US8767461B2 (en) | Non-volatile memory with dynamic multi-mode operation | |
US10359822B2 (en) | System and method for controlling power consumption | |
US7848152B1 (en) | Method and system for adaptively finding reference voltages for reading data from a MLC flash memory | |
US20110145483A1 (en) | Semiconductor memory device and method of processing data for erase operation of semiconductor memory device | |
US9983991B2 (en) | Data storage based on rank modulation in single-level flash memory | |
CN108932175B (zh) | 固态储存装置的控制方法 | |
US11500567B2 (en) | Configuring partitions of a memory sub-system for different data | |
KR20140133427A (ko) | 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기 | |
US9465539B2 (en) | Operation management in a memory device | |
US10650879B2 (en) | Device and method for controlling refresh cycles of non-volatile memories | |
US10761769B2 (en) | Accessible accumulated memory temperature readings in a memory sub-system | |
US10878910B2 (en) | Memory start voltage management | |
TW201310237A (zh) | 快閃記憶體儲存裝置 | |
US11742042B2 (en) | Program pulse control using environmental parameters | |
US11789862B2 (en) | Power-on-time based data relocation | |
CN113782082B (zh) | 一种闪存的二维磨损均衡方法及固态硬盘 | |
US20230395170A1 (en) | Adaptive calibration for threshold voltage offset bins |