TWI607442B - 用於適應性地程式化或抹除快閃記憶體區塊的方法、系統和電腦可讀取媒體 - Google Patents
用於適應性地程式化或抹除快閃記憶體區塊的方法、系統和電腦可讀取媒體 Download PDFInfo
- Publication number
- TWI607442B TWI607442B TW102111841A TW102111841A TWI607442B TW I607442 B TWI607442 B TW I607442B TW 102111841 A TW102111841 A TW 102111841A TW 102111841 A TW102111841 A TW 102111841A TW I607442 B TWI607442 B TW I607442B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- voltage
- pulse
- age
- determining
- 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/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/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明所敘述之實施例一般係關於非揮發性記憶體,例如快閃(flash)記憶體。
快閃記憶體不需具備電力來保存儲存於其中之資訊,而因此被認為是「非揮發性的」。據此,快閃記憶體對於包含例如可移動式儲存裝置以及行動運算裝置的許多種類之裝置變得日漸受到歡迎。不像其他非揮發性記憶體其為單次寫入(one-time programmable,OTP),快閃記憶體能藉由記憶體控制器而被覆寫(overwritten)。典型地,資料係藉由抹除快閃記憶體之內容然後寫入至其為快閃記憶體之一部分(例如,快閃記憶體之「區塊(block)」)而整體代表希望被儲存之資料而儲存在快閃記憶體中。事實上,係施加電壓至快閃記憶體以抹除其內容。該抹除快閃記憶體之區塊以及程式化在該區塊中所選擇之單元(cell)係稱為「程式化/抹除週期(programmable/erase cycle)」或「P/E週期」。
當快閃記憶體經歷較多P/E週期時,某些該快閃記憶體之理想特性將傾向於降低。舉例而言,該快閃記憶體可能無
法不具備電力而將其內容儲存一段無限長的時間。此外,該快閃記憶體之程式化及抹除的特性亦可能降低。特別是,快閃記憶體可能需要更高的電壓以抹除該記憶體之內容。
本發明所描述之實施例包含用於可適性程式化或抹除快閃記憶體之區塊的方法、系統、以及電腦可讀取媒體。在實施例中,係提供一種程式化或抹除快閃記憶體之區塊之內容的方法。該方法包括:基於該區塊之年齡判定脈衝之電壓,該脈衝係用於程式化或抹除該區塊;以及輸出該脈衝至該區塊的至少一部份。該脈衝係使用來程式化或抹除該區塊。
在另一實施例中,係提供一種用於程式化或抹除快閃記憶體之區塊的內容的系統。該系統包括處理器以及與所述處理器溝通之記憶體。該記憶體儲存用於命令所述處理器以基於該區塊之年齡判定脈衝之電壓以及輸出該脈衝至該區塊的至少一部份的複數個處理指令。該脈衝係用於程式化或抹除該區塊。
在又一實施例中,係提供一種電腦可讀取媒體。該電腦可讀取媒體帶有一個或多個指令之一個或多個序列,用於藉由在一個或多個處理器執行以實施一種程式化或抹除非揮發性記憶體之區塊之內容的方法,當藉由一個或多個處理器執行時,該指令造成該一個或多個處理器基於該區塊之年齡判定脈衝之電壓以及輸出該脈衝至該區塊的至少一部份的複數個處理指令。該脈衝係用於程式化或抹除該區塊。
伴隨著下列之本發明的實施方式,此些及其他優點與特徵將變得明顯。注意在發明內容及摘要部分中可能闡明由發明人深思熟慮而得的一個或多個、但並非全部之本發明的實施例。
100、400、510、520、530、540、600、610‧‧‧圖示
200‧‧‧快閃記憶體系統
210‧‧‧記憶體控制器
212‧‧‧處理器
214‧‧‧唯讀記憶體
216‧‧‧電壓產生器
218‧‧‧查詢表
220‧‧‧快閃記憶體
222、222a-h‧‧‧區塊
300‧‧‧流程圖
302、304、306‧‧‧步驟
402‧‧‧測試脈衝
附圖(其結合本文並形成說明書的一部分)例示了本發明,並且與實施方式一起進一步用於說明本發明的原理,以及使本領域中具有通常知識者能夠製造和使用本發明。
第1圖係為例示用於抹除快閃記憶體區塊之靜態脈衝列的圖示;第2圖係為依據本發明之實施例的快閃記憶體系統之方塊圖;第3圖係為依據本發明之實施例以提供用於適應性地程式化或抹除快閃記憶體區塊之範例步驟的流程圖;第4圖係為依據本發明之實施例之例示範例脈衝列的圖示;以及第5及6圖係為依據本發明之實施例之例示靜態與適應性技術之效果的圖示。
將參照附圖描述本發明的實施方式。在附圖中,相同的參考標號表示相同或功能上相同的元件。此外,參考標號最左邊的數字表示該參考標號第一次出現所在的圖。
將理解實施方式部分(而非摘要和發明說明部份)係意圖被使用於解釋申請專利範圍。摘要和發明說明部份可以闡明由發明人深思熟慮而得的一個或多個、但並非全部之本發明的實施例,且因此,不意圖以任何方式限定本發明和所附之申請專利範圍。
快閃記憶體係為一種非揮發性記憶體,於其中電荷係典型地儲存於「儲存節點(storage node)」中,該儲存節點可為但不限於浮動多晶矽閘極或電荷捕捉層(charge trap layer)。為了程式化該單元,係施加相對高之電壓至該電晶體控制閘極(透過該記憶體之字元線(word line)),其造成電荷開始在該儲存節點中累積。該單元係藉由施加相對中等之電壓至該控制閘極(透過該記憶體之字元線)來讀取並判斷該單元是否導通電流。在實施例中,該儲存節點係介於該控制閘極與該氧化物層之間。因此,累積在該儲存節點中之電荷有效地增大了該單元之低限電壓。理想地,在程式化該單元之後,該單元之低限電壓係增加超過在該讀取操作期間所施加之中間電壓(intermediate voltage),從而創造其能夠在該讀取操作期間被量測的兩種狀態(即,導通與非導通)。
典型地係藉由施加相對高的電壓至該單元的控制閘極而抹除該快閃記憶體單元,該電壓具有與該程式化電壓相反之極性。亦可藉由施加高電壓至該快閃記憶體單元之井(well)來完成該抹除操作。在如此做時,目前在該儲存節點上之電荷係被移出,且當在該讀取操作期間施加中間電壓時,該單元導通電流。因此,在程式化狀態中,該單元具有0的邏輯值(非導通),且在抹除狀態中,該單元具有1的邏輯值(導通)。
快閃記憶體典型地係由數個固定大小之記憶體區塊所組成。舉例而言,且不以此為限,各該區塊可具有1百萬位元(megabit,Mbit)之大小。在此處其他區塊大小為可能且能思及的。邏輯0可被程式化為一區塊之選擇性的或「隨機」的位元。然而,邏輯1能被寫入區塊的唯一方法係為抹除整個區塊。因此,當將
資料寫入至快取記憶體區塊時,在大多數情況下必須完成兩項操作。首先,抹除該區塊(例如,藉由寫入邏輯1至該區塊之各單元)。接著,藉由寫入邏輯0至該區塊之特定單元以將該區塊程式化為特定狀態。此成對操作,亦即抹除及程式化,係稱為「P/E週期」。在其寫入命令僅要求由邏輯1至邏輯0之轉換之不太可能發生的事件中,該寫入命令可被替代為僅實施程式化操作。
理想地,快閃記憶體區塊能夠無限的循環。亦即,快閃記憶體區塊使用相同之電壓水準而能無限次的程式化及抹除。然而,事實上快閃記憶體之效能會退化。舉例而言,當區塊係曝露於更多之P/E週期時,構成該區塊之單元傾向於捕捉電荷。此些被捕捉之電荷造成該單元需要更高電壓水準之電壓來抹除。
為了抹除快閃記憶體之區塊,典型地藉由記憶體控制器輸出電壓脈衝列(voltage pulse train)至該區塊。第1圖顯示例示用於抹除快閃記憶體區塊之靜態脈衝列的圖示100。如第1圖所示,該脈衝列包含三組脈衝:具有V1之電壓者、具有V2之電壓者、及具有V3之電壓者。在該脈衝列之各脈衝之後,該記憶體控制器判斷在該區塊中之全部單元是否已被抹除。舉例而言,該記憶體控制器可將該單元之低限電壓與預定電壓進行比較以判斷該區塊是否已被抹除。若確認該區塊已被抹除,則之後無額外之脈衝被輸出至該區塊。否則,在該脈衝列中的下一個脈衝係輸出至該區塊。
因此,如第1圖之範例所示,在具有V1之電壓的三個脈衝不成功之後,該些脈衝之電壓係增加至V2。在三個此種脈
衝不成功之後,該些脈衝之電壓係增加至V3。各電壓水準之數值以及在各電壓水準之脈衝的數目係為靜態的。即,傳統上,該電壓水準及在各電壓水準之脈衝的數目二者係提前決定且不再改變的。
雖然在第1圖中所例示之靜態方法典型地最終將造成該區塊被抹除,但一些早期之脈衝可能被「浪費」。即,該脈衝列之一些早期之脈衝在該快閃記憶體區塊之單元的狀態上可能不具有可察覺到的效應。舉例而言,請參照第1圖,若一區塊之大部分單元具有足夠之經捕獲之電荷,故需要在V3之脈衝來抹除,在電壓V1及V2之脈衝將可能在該區塊之單元的狀態上可能不具有可察覺到的效應。此些浪費之脈衝可增加抹除該區塊需要的時間。當該區塊老化時(即,當其經歷更多P/E週期時),在脈衝具有足夠電壓前需要輸出更多脈衝至該區塊。因此,浪費之脈衝的數目增加且可能造成抹除操作未能滿足基本效能需求(例如,在5ms內抹除或在一些其他規定的時間間隔內)。
在此處所述之實施例中,係提供一種用於程式化或抹除快閃記憶體區塊之適應性技術。舉例而言,在實施例中,可判定該區塊之「年齡(age)」,且該年齡可用來判定並設定脈衝列之第一脈衝的電壓。在實施例中,該快閃記憶體區塊之年齡係指該區塊所退化的程度;年齡亦為區塊之用量的測量標準。快閃記憶體區塊之年齡係通常為其所經歷之P/E週期的數目的函數。因此,通常以P/E週期量化年齡。然而,如下所提醒,可使用其他量測標準來量化該快閃記憶體區塊之年齡。藉由適性調整傳給將被程式化或抹除之個別快閃記憶體區塊的脈衝列,此處所描述之
技術能顯著地降低程式化或抹除快閃記憶體區塊所需要之時間。
第2圖顯示依據本發明之實施例的快閃記憶體系統200之方塊圖。系統200包含記憶體控制器210以及快閃記憶體220。記憶體控制器210包含處理器212、唯讀記憶體(read only memory,ROM)214、以及電壓產生器216。在實施例中,該記憶體控制器210可以包含處理器212、唯讀記憶體214、以及電壓產生器216之微控制器而實現。
在第2圖之例子中,該快閃記憶體220包含八個區塊222a-h(全體稱為「區塊222」),然而本領域中具有通常知識者將了解該快閃記憶體220可包含任意數量之任何大小的區塊。各區塊包含其儲存資訊的個別位元的單元。此些單元(例如但不以此為限)係以浮動閘極金氧化物半導體(MOS)電晶體來實現。在顯示於第2圖之實施例中,ROM 214可儲存查詢表(lookup table)218。額外的或替代的,該區塊222之區塊可儲存查詢表218。此外,本領域中具有通常知識者將了解雖然第2圖顯示電壓產生器216被包含在記憶體控制器210之中,電壓產生器216亦可與該記憶體控制器210分開地實施。該系統200之操作將參考流程圖300而進一步的詳細描述,如下所述。
快閃記憶體系統200可被包含在任何需要非揮發性記憶體之系統、次系統、裝置或模組中,現在已知或未來將發展的,包含但不限於電腦、智慧型手機、儀器、消費性產品、嵌入式系統、移動裝置、通訊系統/裝置等等,以及任何其他資料處理模組和包含此等資料處理模組之系統。應了解到本發明之實施例係適用於前述內容。
第3圖顯示依據本發明之實施例,以提供用於適應性地程式化或抹除非揮發性(例如,快閃)記憶體區塊之範例步驟的流程圖300。基於以下敘述,其他結構上或操作上之實施例對本領域具有通常知識者而言將為明顯的。顯示於第3圖中的步驟並不需要依所顯示之順序而發生。第3圖之步驟係於以下詳細地描述。
在步驟302中,判定該區塊之年齡。舉例而言,在第2圖中,記憶體控制器210能判定該快閃記憶體220之區塊222a之年齡。在實施例中,記憶體控制器210可藉由輸出測試脈衝至區塊222a並量測在區塊222a之結果來判斷區塊222a之年齡。量測在區塊222a之結果的一種例子係為在該測試電壓被區塊222a接收之後,分析區塊222a之單元的低限電壓。以下係提供分析區塊222a之單元的低限電壓的兩種不同範例實施例。在第一實施例中,藉由施加一個或多個預定電壓至該區塊222a的字元線以將複數個不同之預定電壓與該單元之低限電壓進行比較。在第二實施例中,係施加預定電壓至該區塊222a的字元線並判定其具有高於該預定電壓之低限電壓的單元之數目的總數(例如,藉由判定哪些單元未導通電流)。此些實施例之各者將於以下更加詳細的描述。本領域中具有通常知識者應了解在不悖離本發明之範圍及精神之下,其他量測在快閃記憶體區塊上之測試脈衝的影響的技術可能被使用。
注意到一單元之低限電壓係為其必須被施加於該單元以使該單元導通電流之電壓。舉例而言,在該區塊222a之單元係以浮動閘極MOS電晶體而實現的實施例中,該單元之低限電壓
係為必須被施加於該控制閘極以使其導通電流之電壓。如上所提醒,在浮動閘極MOS電晶體中,該電晶體之低限電壓的值係依據在該電晶體之該浮動閘極上的電荷的存在而改變。
在分析該區塊222a之單元的低限電壓的第一實施例中,記憶體控制器210可將該區塊222a之單元的低限電壓與複數個預定電壓進行比較。在實施例中,ROM記憶體214或該區塊222a之區塊(例如,區塊222b)可能儲存三個預定電壓,此處稱為Vp1、Vp2及Vp3,且Vp1<Vp2<Vp3。在此實施例中,記憶體控制器210可判斷該單元之低限電壓落入哪個範圍,例如,小於Vp1、位於Vp1及Vp2之間、位於Vp2及Vp3之間、或大於Vp3。在實施例中,係指派該區塊之年齡至各範圍。因此,藉由判斷該低限電壓落入哪個範圍,本發明之實施例能判斷該區塊222a之年齡。在實施例中,記憶體控制器210可使用包含在查詢表218中的資訊將所判定之範圍映射至特定的年齡。替代地,該低限電壓落入其中之該範圍本身可被用來量化區塊222a之年齡。
在實施例中,在比較該複數個預定電壓與該單元之低限電壓的過程中,記憶體控制器210執行了該些預定電壓的搜尋以判定該些電壓的何者係大於該區塊222a的全部低限電壓以及該些電壓的何者係小於或等於該區塊222a的全部低限電壓。在實施例中,該搜尋可為二元搜尋(binary search)。舉例而言,記憶體控制器210可以Vp2開始其搜尋,依據與Vp2之比較的結果,可將該區塊222a之單元的低限電壓與Vp1或Vp3的任一者進行比較。
在實施例中,為了執行該單元之低限電壓及該預定電壓之間的比較,記憶體控制器210可將該預定電壓輸出至該區
塊222a之字元線。在該區塊222a之單元係以浮動閘極MOS電晶體而實現的實施例中,該字元線係耦接至該單元之控制閘極。因此,藉由施加特定電壓至該字元線並判定哪個單元導通電流,記憶體控制器210可以判定哪個單元具有高於該預定電壓的低限電壓以及哪個單元具有小於或等於該預定電壓的低限電壓。
可依據快閃記憶體區塊的效能退化模型或快閃記憶體區塊之退化的真實實驗來決定該複數個預定電壓。在實施例中,該複數個預定電壓可儲存在記憶體控制器210之ROM記憶體214中或該區塊222之另一區塊中(例如,在製造(manufacture)中)。
在分析該區塊222a之單元的低限電壓的第二實施例中,並非將區塊222a之單元的低限電壓與複數個預定電壓進行比較,記憶體控制器210可依據其具有在預定電壓之上的低限電壓之單元的數目(或等於、在預定電壓之下)來判定該年齡。一旦此等單元之數目的總數被判定,記憶體控制器210可使用在查詢表218中的資訊將該總數映射至特定的年齡值。替代地,具有大於(或小於)該特定低限電壓的低限電壓之單元的數目(即,該總數)本身可被用來量化區塊222a之年齡。此外,如上所提醒的,在讀取操作期間,記憶體控制器210可輸出相對的中間電壓至該區塊222a之字元線並判定哪個單元導通電流。因此,在實施例中,該預定電壓可為在讀取操作期間施加至該字元線的電壓。
在另一實施例中,可藉由判斷該區塊222a已經歷之P/E週期的數目來判定該區塊222a之年齡。舉例而言,每次記憶體控制器210在區塊222a執行一個P/E週期,記憶體控制器210可以增加一次計數器。該計數器可被儲存在指定的複數個單元
中。該指定的複數個單元可包含在區塊222a、另一個區塊(例如,區塊222b)、或位於區塊222之外的複數個單元中。在其他實施例中,該指定的複數個單元可包含在上述的組合中,例如,一個或多個區塊222、另一個區塊、位於區塊222之外的複數個單元之組合。
在寫入區塊222a之前,記憶體控制器210可藉由存取該指定的複數個單元之內容來判定該區塊222a之年齡。額外的或替代的,記憶體控制器210可寫入用以抹除區塊222a的最後脈衝列之第一脈衝的電壓及/或其開始抹除區塊222a的時間(或脈衝總數)。在又另一實施例中,可儲存在最後一個P/E週期所使用之脈衝列之最終脈衝的電壓。如上所提醒的,抹除該區塊所需要之電壓增加,常造成較長的脈衝列。因此,該脈衝列之該第一脈衝之電壓以及該最後一個P/E週期期間抹除區塊222a所需要之時間亦可被用來量化區塊222a之年齡。亦可儲存該區塊222a之年齡,例如,以允許用於區塊222a之年齡之適應性地程式化或抹除。
回到顯示於第3圖中的流程圖300,在步驟304中,係基於該區塊之年齡判定該脈衝列之初始脈衝之電壓。舉例而言,在第2圖中,記憶體控制器210可基於所判定之該區塊222a的年齡判定該脈衝列之第一脈衝之電壓。舉例而言,記憶體控制器210可使用查詢表218將該區塊222a之年齡映射至該脈衝列之初始脈衝之電壓。舉例而言,藉由使用模擬的或實驗上判定之快閃記憶體區塊的特性以判定抹除具有既定年齡之區塊所需要的電壓水準可決定在該查詢表218之中的資訊。舉例而言,在製造程序之測試階段期間,可測試該區塊222a。所產生之測試結果可與
先前設定至模型結合以判定抹除具有既定年齡之區塊所需要的電壓水準。
在步驟306中,輸出該脈衝列至該區塊的至少一部份。舉例而言,在第2圖中,記憶體控制器210可輸出脈衝列至該區塊222a的至少一部份。在實施例中,在程式化操作期間,可輸出該脈衝列至其將被程式化的該區塊222a的特定部份。另一方面,在抹除操作期間,可輸出該脈衝列至整個該區塊222a。
依據實施例,在該脈衝列中的第一脈衝具有在步驟304中所判定之電壓。在實施例中,記憶體控制器210之處理器212可控制電壓產生器216以產生該脈衝列以使該第一脈衝具有所判定之電壓。在實施例中,該電壓產生器可包含數個電壓調節器,其可藉由在電壓產生器216及/或藉由處理器212中的控制電路來控制。
在實施例中,依據該區塊222a的年齡,亦可增加該脈衝列之其他脈衝的電壓水準。舉例而言,若在該第一脈衝之後,記憶體控制器210判定該區塊222a之內容未被完全抹除,記憶體控制器可輸出具有相同電壓水準之另一個脈衝作為第一脈衝。在位於該第一脈衝之電壓水準的數個脈衝未能完全抹除該區塊222a之內容之後,記憶體控制器210可能輸出具有關於該第一脈衝之電壓水準而增加之電壓的另一個脈衝。在該電壓水準中的增加量可為靜態的或適應性的。舉例而言,記憶體控制器210可基於該區塊222a的年齡來判定該增加量。亦可靜態地或適應性地判定對該電壓水準的任何額外的增加量。此外,亦可靜態地或適應性地判定各電壓水準之脈衝數目。即,在特定電壓水準的脈衝數目可
為靜態的(例如,儲存在ROM 214中)或可藉由記憶體控制器210基於該區塊222a的年齡來判定。舉例而言,查詢表218可能儲存識別用於依據該區塊222a的年齡之脈衝序列(sequence of pulses)的脈衝數目之資訊。
如上所述,記憶體控制器210可完成一個或多個步驟302至306。在實施例中,電腦程式及/或演算法可儲存在記憶體控制器210之ROM 214中,其使記憶體控制器210能夠完成步驟302至306。在另一實施例中,該電腦程式/演算法可儲存在其他電腦程式/演算法產品中,包含但不限於,主要儲存裝置(primary storage device)(例如,任何種類之隨機存取記憶體)、次要儲存裝置(secondary storage device)(例如,硬碟、軟性磁碟、CD ROMS、壓縮碟(ZIP disk)、磁帶(tape)、磁性儲存裝置、及光學儲存裝置、MEMS、奈米科技儲存裝置等等)。在又一實施例中,記憶體控制器210可實施為硬體狀態機器(hardware state machine),例如,透過可程式邏輯(programmable logic)。
第4圖顯示依據本發明之實施例之例示範例脈衝列的圖示400,其可由記憶體控制器210所產生。如第4圖所示,在開端時,記憶體控制器210可產生測試脈衝402。如上所提醒並參考流程圖300中的步驟302,可使用測試脈衝來判定該區塊222a的年齡。基於該區塊222a的年齡,記憶體控制器210可判定該脈衝列之該第一脈衝的電壓應該從V1(例如,顯示在第1圖中的傳統脈衝列所使用的值)增加至V1 *。如第4圖所示,記憶體控制器210藉由△V的值有效地增加該第一脈衝的電壓。在如此做時,記憶體控制器210降低了該脈衝列之該第一脈衝可能被浪費的可能
性。在實施例中,V1 *可能相等於V2,即,在該靜態方法中的第二組脈衝的電壓。此外,如第4圖所示,該脈衝列之其餘脈衝(若需要)亦可由△V增加至V2 *的值或由一些其他靜態地或適應性地判定的數量。
第5圖依據本發明之實施例之例示使用與上述之靜態方法相反之包含在流程圖300中之適應性方法之效果的圖示510-540。圖示510及520分別例示使用包含在流程圖300中之適應性方法以及傳統靜態方法對相對年輕之區塊的抹除。如圖示510及520所示,該靜態及該適應性方法係大約同等有效率地運作。事實上,若該區塊係相對的「年輕」,例如,經歷相對小的P/E週期之數目,在該適應性方法及該靜態方法中之初始脈衝的電壓在所示之例子中將為相似的。因此,在此例子中,該二方法將展現相似的效能。
圖示530及540分別例示該適應性方法以及該靜態方法對相對年老之區塊的抹除。已判斷該區塊之年齡後,該適應性方法係以具有V1 *而非V1之電壓開始。如圖示530所示,在應用V1 *之電壓之後,如此做造成尚未被抹除之單元的數目立即下降。反之,如圖示540所示,使用靜態方法,當未造成尚未被抹除之單元的數目有可察覺的降低時,該第二及第三脈衝係有效地被浪費了。事實上,當該靜態方法需要接近八個脈衝來達到相同程度之抹除時,藉由該第三脈衝,該適應性方法已幾乎抹除了整個區塊。因此,顯示在第5圖之例子中的圖示510-540顯示對於相對年老的快閃記憶體區塊而言,參考第3圖所述之該適應性方法降低了抹除一區塊所需要之脈衝的數量,從而降低了抹除該區
塊所需要的時間。
第6圖顯示依據本發明之實施例之進一步例示包含在第3圖中之適應性方法之效果的圖示600及610。圖示600及610例示了作為既定區塊已經歷之P/E週期之數目的函數之不同脈衝的電壓。圖示600例示該靜態方法之使用,且該圖示610例示該適應性方法之使用。如圖示600所示,在該靜態方法中的脈衝之電壓係靜態地由V1增加至V3。即,在各電壓水準之脈衝數目係為常數(即,在第6圖之實施例係為在各電壓水準有二脈衝)。此外,圖示600亦例示其發生在各脈衝之後的驗證(verification)。舉例而言,如圖示600所示,在該區塊到達C1週期之前,僅需要一個脈衝來抹除該區塊。然而,當該區塊老化,需要更多的脈衝來抹除該區塊。事實上,一旦該區塊經歷過C5週期,係需要6個脈衝來抹除該區塊。此時,在並未可察覺地影響該區塊的狀態下,該第一脈衝(例如,在電壓水準V1之第一及第二脈衝以及在電壓水準V2之第三及第四脈衝)係為浪費的。
相對於參考圖示600所述的該靜態方法,圖示610所示之該適應性方法可以從V1至V3調整在該脈衝列中之該第一及後續脈衝的值。特別是,如圖示610所示,一旦該區塊經歷過C2週期,係需要第二脈衝來抹除該區塊。然而,一旦該區塊經歷過C2週期,該脈衝列之該第一脈衝的電壓係增加至V2,且僅需要一個脈衝來抹除該區塊。同樣地,一旦該區塊到達C3週期,再度需要第二脈衝來抹除該區塊。然而,一旦該區塊經歷過C4週期,該第一脈衝之電壓再度依據該區塊之年齡而增加。以此方法,該適應性技術可依據該區塊之年齡在該第一脈衝之中達到電壓水準
V3。反之,如圖示600所示,不管該區塊之年齡,直到第五脈衝之前該電壓水準V3均不會被達成。
本領域中具有通常知識者將了解到此處所提供之圖示600及610僅作為例示之用,而不意圖限制該申請專利範圍。舉例而言,在其他實施例中,週期C1-C5之間的相對關係可變動。舉例而言,在該適應性方法中,該適應性方法中的該第一脈衝之電壓可以在該區塊經歷C2及C4週期之前增加。在此等實施例中,當該區塊到達C2或C4週期時,不需要兩個脈衝來抹除該區塊。更一般而言,該脈衝列之特定脈衝的電壓水準可在需要額外脈衝來抹除該區塊之前增加。
上述之實施例係著重在抹除快閃記憶體之區塊。然而,本領域中具有通常知識者基於此處所揭露者將了解該適應性技術亦可使用於程式化記憶體之區塊。舉例而言,可基於該快閃記憶體區塊之年齡判定用於程式化一單元之電壓。
又,雖然此處所描述之實施例以參考快閃記憶體,但本發明並不限於此些例子。反之,本發明係適用於其他種類之電腦記憶體。
本發明係借助例示其具體功能及其關係之實行的功能性建構模塊描述如上。為便於描述,本文係任意定義該些功能性建構模塊之邊界。只要其具體功能及其關係適當執行,可以定義替代之邊界。
之前具體實施方式的描述將充分揭示本發明的一般特性,使得無需過多實驗,且不背離本發明一般概念的情況下,其他人可通過應用本技術領域內的知識,很容易地針對各種應用
來修改和/或改變這些具體實施例。因此,基於本文給出的教示和指導,這種改變或修改意在處於所公開的實施例的等價物的涵義和範圍內。需要理解的是,本文的措辭和術語是為了描述而不是限制的目的,從而本說明書的術語和措辭應由技術人員根據教示和指導來理解。
本發明實施方式的外延和範圍不應受任何上述範例實施例限制,而應當僅根據所附申請專利範圍及其等效者來定義。
當前申請案中之申請專利範圍不同於原始申請案或其他相關申請案之申請專利範圍。因此,申請人廢除在原始申請案或關於當前申請案之任何相關申請案中所做出的申請專利範圍之範疇之任何否認聲明。因此,建議審查員可能需要重新視察任何此類先前否認聲明及使其避免的引用參考。另外,亦提醒審查員在當前申請案中所做出之任何否認聲明均不應被曲解於或違背於原始申請案。
200‧‧‧快閃記憶體系統
210‧‧‧記憶體控制器
212‧‧‧處理器
214‧‧‧唯讀記憶體
216‧‧‧電壓產生器
218‧‧‧查詢表
220‧‧‧快閃記憶體
222、222a-h‧‧‧區塊
Claims (19)
- 一種程式化或抹除非揮發性記憶體之區塊之內容的方法,其包括:至少基於被輸出至該非揮發性記憶體之該區塊之測試電壓脈衝之結果,來判定該區塊之年齡;基於該區塊之該年齡來判定脈衝之電壓;以及輸出該脈衝至該區塊的至少一部份以程式化或抹除該區塊的該至少一部份。
- 如申請專利範圍第1項所述之方法,其中,判定該區塊之該年齡之步驟包括:輸出該測試電壓脈衝至該區塊。
- 如申請專利範圍第2項所述之方法,其中,判定該區塊之該年齡之步驟復包括:將該區塊之單元的低限電壓與複數個預定電壓進行比較。
- 如申請專利範圍第3項所述之方法,其中,判定該區塊之該年齡之步驟復包括:判定該複數個預定電壓中之何者係小於或等於所有的低限電壓。
- 如申請專利範圍第2項所述之方法,其中,判定該區塊之該年齡之步驟復包括:判定包含該區塊中具有大於預定低限電壓的低限電壓的單元的數目的總數。
- 如申請專利範圍第1項所述之方法,其中,判定該區塊之該年 齡之步驟包括:存取特定之複數個單元之內容。
- 如申請專利範圍第6項所述之方法,其中,該特定之複數個單元係包含下列各者中之至少一者:該區塊、該非揮發性記憶體的第二區塊、或位於包括該非揮發性記憶體之複數個區塊之外的複數個區塊。
- 如申請專利範圍第6項所述之方法,其中,該特定之複數個單元儲存該區塊所經歷之程式化及/或抹除週期的次數。
- 如申請專利範圍第6項所述之方法,其中,該特定之複數個單元儲存下列各者中之至少一者:在該區塊之前一個程式化或抹除週期中,抹除或程式化該區塊之至少一部份所需要的時間;在該區塊之前一個程式化或抹除週期中,抹除或程式化該區塊之至少一部份所需要的脈衝總數;在該區塊之前一個程式化或抹除週期中所輸出之第一個程式化或抹除脈衝的電壓;在該區塊之前一個程式化或抹除週期中所輸出之最後一個程式化或抹除脈衝的電壓;或在該區塊之前一個程式化或抹除週期中所輸出之任何程式化或抹除脈衝的電壓。
- 如申請專利範圍第6項所述之方法,其中,該特定之複數個單元儲存在前一個程式化及/或抹除週期中所輸出之最後程式化或抹除脈衝的電壓。
- 如申請專利範圍第1項所述之方法,其中,該輸出之步驟包括:控制電壓產生器以產生該脈衝。
- 如申請專利範圍第1項所述之方法,其中,該輸出之步驟包括:輸出複數個脈衝,該複數個脈衝包含該脈衝。
- 一種程式化或抹除非揮發性記憶體之區塊之內容的系統,其包括:處理器;以及記憶體,係與該處理器溝通,該記憶體用於儲存複數個處理指令以命令該處理器進行:至少基於被輸出至該區塊之測試電壓脈衝之結果,來判定該區塊之年齡;基於該區塊之該年齡來判定脈衝之電壓;及輸出該脈衝至該區塊的至少一部份以程式化或抹除該區塊的該部份。
- 如申請專利範圍第13項所述之系統,其中,該系統包括微控制器,該微控制器包含該處理器以及該記憶體。
- 如申請專利範圍第13項所述之系統,其中,該記憶體包括特定之複數個單元。
- 如申請專利範圍第13項所述之系統,其中,該處理器復運作來:輸出該測試電壓脈衝至該區塊之該至少一部分。
- 如申請專利範圍第13項所述之系統,其中,該處理器復運作來:將該區塊之單元的低限電壓與複數個預定電壓進行比較。
- 一種電腦可讀取媒體,具有儲存於其中之一個或多個指令之一個或多個序列,用於由一個或多個處理器執行以實施對非揮發性記憶體之區塊之內容進行程式化或抹除的方法,該方法包括: 至少基於被輸出至該非揮發性記憶體之該區塊之測試電壓脈衝之結果,來判定該區塊之年齡;基於該區塊之該年齡來判定脈衝之電壓;以及輸出該脈衝至該區塊的至少一部份以程式化或抹除該區塊的該部份。
- 如申請專利範圍第18項所述之電腦可讀取媒體,該方法復包括:輸出測試脈衝至該區塊之該至少一部分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/437,324 US8724388B2 (en) | 2012-04-02 | 2012-04-02 | Adaptively programming or erasing flash memory blocks |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201349241A TW201349241A (zh) | 2013-12-01 |
TWI607442B true TWI607442B (zh) | 2017-12-01 |
Family
ID=49234844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102111841A TWI607442B (zh) | 2012-04-02 | 2013-04-02 | 用於適應性地程式化或抹除快閃記憶體區塊的方法、系統和電腦可讀取媒體 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8724388B2 (zh) |
JP (1) | JP6096882B2 (zh) |
KR (1) | KR101556611B1 (zh) |
CN (1) | CN104221091B (zh) |
TW (1) | TWI607442B (zh) |
WO (1) | WO2013151919A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7719876B2 (en) * | 2008-07-31 | 2010-05-18 | Unity Semiconductor Corporation | Preservation circuit and methods to maintain values representing data in one or more layers of memory |
US10643700B2 (en) | 2015-10-29 | 2020-05-05 | Micron Technology, Inc. | Apparatuses and methods for adjusting write parameters based on a write count |
CN108089994B (zh) * | 2018-01-04 | 2021-06-01 | 威盛电子股份有限公司 | 存储装置以及数据保存方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050162909A1 (en) * | 2001-10-05 | 2005-07-28 | Micron Technology, Inc. | Flash memory device with a variable erase pulse |
US20060193177A1 (en) * | 2003-05-08 | 2006-08-31 | Micron Technology, Inc.; | Position based erase verification levels in a flash memory device |
US20070217271A1 (en) * | 2006-03-20 | 2007-09-20 | Harold Kutz | Variable reference voltage circuit for non-volatile memory |
US20100002523A1 (en) * | 2006-11-22 | 2010-01-07 | Park Ki-Tae | Flash Memory Devices that Utilize Age-Based Verify Voltages to Increase Data Reliability and Methods of Operating Same |
US20100046305A1 (en) * | 2006-02-07 | 2010-02-25 | Micron Technology, Inc. | Erase operation in a flash drive memory |
US20100259994A1 (en) * | 2009-04-09 | 2010-10-14 | Nec Electronics Corporation | Flash memory and data erasing method of the same |
WO2010117807A2 (en) * | 2009-04-09 | 2010-10-14 | Sandisk Corporation | Two pass erase for non-volatile storage |
US8036035B2 (en) * | 2009-03-25 | 2011-10-11 | Micron Technology, Inc. | Erase cycle counter usage in a memory device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002208286A (ja) * | 2001-01-09 | 2002-07-26 | Sharp Corp | 不揮発性半導体記憶装置 |
US7397703B2 (en) * | 2006-03-21 | 2008-07-08 | Freescale Semiconductor, Inc. | Non-volatile memory with controlled program/erase |
JP2007323716A (ja) * | 2006-05-31 | 2007-12-13 | Renesas Technology Corp | 半導体集積回路 |
EP2062265B1 (en) * | 2006-09-12 | 2011-06-01 | Sandisk Corporation | Non-volatile memory and method for reduced erase/write cycling during trimming of initial programming voltage |
KR100960479B1 (ko) * | 2007-12-24 | 2010-06-01 | 주식회사 하이닉스반도체 | 플래시 메모리 장치 및 동작 방법 |
KR101454817B1 (ko) | 2008-01-11 | 2014-10-30 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 마모도 관리 방법 |
JP2011065687A (ja) * | 2009-09-15 | 2011-03-31 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8550405B2 (en) * | 2009-09-29 | 2013-10-08 | Busek Company, Inc. | Solar powered spacecraft power system for a hall effect thruster |
JP5484233B2 (ja) * | 2010-07-16 | 2014-05-07 | 株式会社日立製作所 | フラッシュメモリ劣化判定装置およびフラッシュメモリの劣化判定方法 |
-
2012
- 2012-04-02 US US13/437,324 patent/US8724388B2/en active Active
-
2013
- 2013-04-01 CN CN201380018825.XA patent/CN104221091B/zh active Active
- 2013-04-01 JP JP2015504651A patent/JP6096882B2/ja active Active
- 2013-04-01 WO PCT/US2013/034778 patent/WO2013151919A1/en active Application Filing
- 2013-04-01 KR KR1020147030822A patent/KR101556611B1/ko active IP Right Grant
- 2013-04-02 TW TW102111841A patent/TWI607442B/zh active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050162909A1 (en) * | 2001-10-05 | 2005-07-28 | Micron Technology, Inc. | Flash memory device with a variable erase pulse |
US20060193177A1 (en) * | 2003-05-08 | 2006-08-31 | Micron Technology, Inc.; | Position based erase verification levels in a flash memory device |
US20100046305A1 (en) * | 2006-02-07 | 2010-02-25 | Micron Technology, Inc. | Erase operation in a flash drive memory |
US20070217271A1 (en) * | 2006-03-20 | 2007-09-20 | Harold Kutz | Variable reference voltage circuit for non-volatile memory |
US7952942B1 (en) * | 2006-03-20 | 2011-05-31 | Cypress Semiconductor Corporation | Variable reference voltage circuit for non-volatile memory |
US20100002523A1 (en) * | 2006-11-22 | 2010-01-07 | Park Ki-Tae | Flash Memory Devices that Utilize Age-Based Verify Voltages to Increase Data Reliability and Methods of Operating Same |
US8036035B2 (en) * | 2009-03-25 | 2011-10-11 | Micron Technology, Inc. | Erase cycle counter usage in a memory device |
US20100259994A1 (en) * | 2009-04-09 | 2010-10-14 | Nec Electronics Corporation | Flash memory and data erasing method of the same |
WO2010117807A2 (en) * | 2009-04-09 | 2010-10-14 | Sandisk Corporation | Two pass erase for non-volatile storage |
Also Published As
Publication number | Publication date |
---|---|
US20130258775A1 (en) | 2013-10-03 |
CN104221091B (zh) | 2018-03-06 |
KR101556611B1 (ko) | 2015-10-02 |
WO2013151919A8 (en) | 2014-01-16 |
US8724388B2 (en) | 2014-05-13 |
TW201349241A (zh) | 2013-12-01 |
CN104221091A (zh) | 2014-12-17 |
JP2015512552A (ja) | 2015-04-27 |
KR20140134721A (ko) | 2014-11-24 |
JP6096882B2 (ja) | 2017-03-15 |
WO2013151919A1 (en) | 2013-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109328386B (zh) | 管理闪存存储器的刷新 | |
KR101323843B1 (ko) | 비-휘발성 메모리 셀들의 행동에 근거한 프로그래밍 방법 | |
KR100953063B1 (ko) | 불휘발성 메모리 장치의 소거 방법 | |
US9520184B2 (en) | Method for writing in-system programming code into flash memory for better noise margin | |
TW201040982A (en) | Method and system for adaptively finding reference voltages for reading data from a MLC flash memory | |
US9019780B1 (en) | Non-volatile memory apparatus and data verification method thereof | |
US9465539B2 (en) | Operation management in a memory device | |
US9342401B2 (en) | Selective in-situ retouching of data in nonvolatile memory | |
US20130159798A1 (en) | Non-volatile memory device and operating method thereof | |
JP2012022767A (ja) | 不揮発性メモリブロックのソフトプログラム | |
KR20120005834A (ko) | 반도체 메모리 장치 및 그 프로그램 방법 | |
TWI607442B (zh) | 用於適應性地程式化或抹除快閃記憶體區塊的方法、系統和電腦可讀取媒體 | |
CN114758689A (zh) | 用于非易失性存储器的擦除方法和上电修复方法 | |
EP2919236A1 (en) | One-time programming in reprogrammable memory | |
KR20090048102A (ko) | 불휘발성 메모리 장치의 소프트 프로그램 방법과 검증/독출방법 | |
CN103559911A (zh) | 一种提高芯片周期耐久性的方法 | |
JP2022525273A (ja) | 複数のビット線バイアス電圧を印加することによって、不揮発性メモリデバイスに書き込むための方法 | |
US9478294B2 (en) | Dummy memory erase or program method protected against detection | |
JP2009070531A (ja) | 半導体装置及びその制御方法 | |
JP2006190488A (ja) | 半導体記憶装置の書き込み方法 | |
TWI664633B (zh) | 記憶體裝置的程式化方法 | |
US8995198B1 (en) | Multi-pass soft programming | |
JP2013125575A (ja) | 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法 | |
TWI594248B (zh) | 記憶體裝置的刷新方法以及可調整刷新操作頻率的記憶體裝置 | |
CN106024062B (zh) | 一种非易失性存储器的数据读取装置及方法 |