TWI437570B - 藉由編程準位的交換改善多位階單元的編程速度 - Google Patents
藉由編程準位的交換改善多位階單元的編程速度 Download PDFInfo
- Publication number
- TWI437570B TWI437570B TW099107013A TW99107013A TWI437570B TW I437570 B TWI437570 B TW I437570B TW 099107013 A TW099107013 A TW 099107013A TW 99107013 A TW99107013 A TW 99107013A TW I437570 B TWI437570 B TW I437570B
- Authority
- TW
- Taiwan
- Prior art keywords
- characters
- level
- programmed
- programming
- voltage level
- 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
- 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
-
- 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/5671—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 trapping in an insulator
-
- 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/12—Programming 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/32—Timing circuits
-
- 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/5644—Multilevel memory comprising counting devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Description
本發明的實施例係有關於一種半導體記憶體,且特別是關於一種編程(programming)半導體記憶體之方法。
電荷補捉記憶體(意指快閃記憶體)係廣泛地應用於各種電子裝置。例如相機,手機、個人數位助理,數據機及筆記型電腦等各類產品。電荷擷取記憶體可儲存相對大量的資料於相對的小空間。儲存於電荷補捉記憶體中的資料即使施加的電源消失仍可保持其完整性。
電荷補捉記憶單元可藉由修改與其相關的臨界電壓來被編程。藉由施加參考電壓及偵測電流準位可從記憶單元中讀取資料。單位階記憶單元(single-level cell SLC)可編程至二個可區別的臨界準位之一以儲存一位元資訊。當此記憶單元支援四或八個可區別的臨界準位,此記憶單元即可各別地儲存二或三位元的資料。可儲存超過一位元資料的記憶單元被視為多位階記憶單元(multi-level cell,MLC)。
編程(例如是寫入)電荷補捉記憶體所需時間可與從記憶體中讀取所需時間做相對地廣泛比較。當應用於資料需要被儘快儲存的相關電子裝置(例如數位相機),冗長的編程時間會妨礙記憶體的操作效率而降低電子裝置的整體效能。
所以存在於電荷補捉記憶體中減少編程時間的需求於先前的技術中。
本發明的實施例藉由提供編程多位階電荷補捉記憶體單元陣列的方法來滿足這個需求。根據此陣列的原始操作(例如是預定匹配定義),每一不同字元被匹配至不同的編程電壓準位,且具相同值的字元以相同的編程電壓準位被編程。根據本發明實施例的方法,接收一組待編程的字元,計算此組待編程字元中,每一不同字元的出現數以決定對應每一不同字元的頻率數,且修正匹配(根據陣列的原始操作),使得該些不同字元中至少一個的編程電壓準位被改變。
其它事情為相同,較高的編程電壓準位需要同量的較長編程時間。本發明實施例的特徵係以不增加編程此組待編程字元的時間之方式來修改匹配。根據此方法的一實現方式,此修改動作可實際上減少編程此組待編程字元所需要的時間。
本方法的一特別實施例藉由產生第一列表,該第一列表包括以電壓增加的順序排列之編程電壓準位,和產生第二列表,此第二列表包括以頻率數減少的順序排列之一些不同字元。在此,於第二列表的一些字元一對一對應於第一列表的一些編程電壓準位。第二列表中的每一字元關聯至第一列表中相對應的編程電壓準位,且依據對應的定義定義交換規則。
當已經或將會為了具有文法通順的功能說明之目的來描述裝置和方法,則可明顯的了解專利範圍,除非另有說明,否則藉由「方法」或「步驟」限制之解釋不被理解為任何必要限制方式,而是係被授與該意義的全部範圍和藉由在等效司法原則下專利範圍所提供的等效定義。
倘若依上下文、說明書和所屬技術領域中具有通常知識者的知識而言,於此敘述的任何特徵或特徵之組合將不致於造成相互不一致的情況下,任何於此敘述的任何特徵或特徵之組合皆屬於在本發明實施例的範圍。另外,任一特徵或特徵組合得以特別地從本發明的任一實施例中排除在外。為了概括說明本發明實施例,描述了本發明實施例中一些方面、優點和新穎特徵。當然,吾人當可明瞭不必將所有這些方面的觀點、優點或特徵包含於本發明任一特定的實施方式之中。鑑於下述詳細說明和其後的專利範圍,吾人當可提出本發明的其他優點及其他的方面。
以下將詳細提出本發明之較佳實施例,並伴隨圖式說明其範例。吾人應注意的是,圖式係以簡化形式出現,並非自動假設為作為所有實施例中的精確比例。於圖式及說明中盡可能利用相同或類似的標號來提及相同或類似的部件。這表示他們為本發明中不同方面的實現方式的範例,且根據一些但不是全部的實施例,預設為按比例。根據一些實現方式,當依比例解釋描述這些圖式中的架構,而在其它實現方式中則不用依比例解釋這些相同的架構。針對伴隨的圖式,揭露的內容中採用了指向性詞語,例如是頂、底、左、右、上、下、在上面、在上方、下、在下面、後面、以及前面,採用這些詞語的目的只為了方便和清楚說明而已。這些指向性詞語不應以任何方式用來作為限制本發明之範圍。可結合此領域之習知的各種積體電路技術來實作本發明的實施例,而且於此只包括了一些為了理解本明所需而實作上常用的步驟。一般來說,本發明的實施例能應用於半導體裝置和方法之領域。然而為了說明目的,以下的說明係針對一記憶體裝置和其相關方法。
電荷擷取記憶體單元(charge-trapping memory cells CTMCs)的陣列中,記憶體單元可藉由提供編程電壓和改變單元中的臨界電壓Vt
來被編程。更精確的說,編程電壓產生有足夠動能能量的電子以達到和變成擷取於單元中電晶體閘極,其中電子可影響單元中的臨界電壓Vt
。單位階CTMC可被編程至二編程(例如是編程電壓)準位其一,其中多位階CTMC可被編程至,例如是四、八、十六編程準位其一。
第1圖說明四位階CTMC的編程準位。根據說明範例,位階0的Vt
分佈係對應至未編程或抹除狀態,亦即位階0的臨界電壓Vt
對應至包含「均為1」的資料之多位階CTMC。於第1圖中,位階0的臨界電壓Vt
的數值可對應到一對二進位資料數值(例如是字元) 11,位階0的Vt
分佈可視為分佈5或分佈10其一。位階1的Vt
分佈的值15可對應到字元10,位階1的Vt
分佈的值15可能大於第一編程確認準位PV1 20但小於第二編程確認準位PV2 25。同樣的,例如是位階2的Vt
分佈的值30可對應到字元00,位階2的Vt
分佈的值30可能大於第二編程確認準位PV2 25但小於第三編程確認準位PV3 35。位階3的Vt分佈的值40可能大於第三編程確認準位PV3 35且可對應到字元01。一般而言,每一個2位元字元對應到(例如是匹配至)四編程準位之一。同樣的,3位元字元對應到八編程準位之一,且對於擁有較大數目的位元字元也是如此。
第1圖中所說明的字元與編程準位的關係可被稱為「編碼架構(code scheme)」(例如是晶片中的編碼架構),而編碼架構係用來規定輸入資料位元(例如是字元)怎麼被轉化(例如是儲存或編程)至實體記憶體(例如為編程準位)。例如,根據特定範例,字元11可對應到編程準位0,字元10可對應到編程準位1,以此類推。每一不同字元因此直接的(且唯一的)與不同編程準位相關聯(例如是匹配),這代表具相同值字元(例如是所有的字元10)於陣列中被編程至相同電壓準位。此詳細編碼架構於第1圖中說明,且第1圖可被認為是一個「原始」(例如是預定匹配定義或晶片特有)編碼架構的範例,此編碼架構定義字元和預定匹配定義所匹配之編程準位的對應關係,概述如下第1表:
此編碼架構係被稱為「原始」,因為此架構係直接的與CTMC陣列關聯,例如是對此陣列沒有考慮其它因素。當編程準位按升冪順序排列,可根據(下述的)相同順序排列其構成字元來定義編碼架構。例如,第1表的原始編碼架構可排列為{11,10,00,01}。於此揭露中,許多可能性的原始編碼架構可被寫為如第2表所繪示之{n0,n1,n2,n3}。
所揭露的範例,除非另有說明,否則{n0,n1,n2,n3}={11,10,00,01}。(本文中所使用排列於括號內的項目(例如是字元)之順序,除非另有說明,否則不可輕易變動。也就是說,若{a,b,c,d}={e,f,g,h},則可明瞭a=e,b=f,c=g,以及d=h。)
當然,可建構許多種四位階的原始編碼架構。也就是說,四可使用字元之一可被選為n0;則隨著n0選定,剩餘三字元中之一可被選為n1;以此類推。可發現存在4×3×2×1=4!=24種可能的4位階原始編碼架構。例如,其它可能的原始編碼架構包括{n0,n1,n2,n3}={00,01,10,11}和{n0,n1,n2,n3}={11,00,10,01}。本發明可幫助應用具有使用任一此類原有編碼架構的多位階CTMC記憶體裝置。進一步的說,對於此領域中具有通常知識者而言,可將描述於此之方法和裝置修改為應用具有使用8位階,16位階,以及更高位階的多位階CTMC陣列。
第2表第一列的字元,可被假想為指示配置於CTMC陣列內部的虛擬「微編程者」根據此字元(例如是下述原始編碼架構中的字元)來修改位於指定位址單元的Vt
。也就是說,當微編程者接收n0,它不會做任何事。當微編程者接收n1,它將修改位於指定位址單元的Vt
至準位1,以此類推。相反的,當從多位階CTMC陣列中讀取具有準位0單元的Vt
,將此Vt
讀為n0,而將具有準位1單元的Vt
讀為n1,以此類推。
編程多位階CTMC至特定編程準位,例如是PV1,可包括使用至少一脈衝的編程電壓(例如是單次脈衝)至單元的步驟,此單次脈衝被選擇以小量的電壓(例如是5mV)來增加單元的臨界電壓Vt
。可執行感測步驟以確定電晶體的臨界電壓係大於或等於PV1。上述操作可重覆,提供所需的額外單次脈衝,直到大於或等於情況滿足。驅動電路可用於提供編程電壓,而感測放大器(sense amplifier,SA)可用以執行感測步驟。根據示範實施例,每一SA有一對應的驅動器與其關聯。因此於陣列中每一單元藉由SA和對應驅動器可被編程至任一編程準位。
實務上的限制,例如是編程電流(program current)限制和抗噪性(noise immunity),將限制多位階CTMC架構中同一時間內可允許啟用的驅動器和SAs的數量。例如,實務上不可同時操作超過64個SAs和對應的驅動器。這個限定數量不是固定的。例如在另一實施例中,實務上有可能可同時使用128個SAs和對應的驅動器。
第2圖係說明編程多位階CTMC與準位3字元的已知方法的實施例之流程圖。例如,一組256個、512個、或是1024個四進位(例如是四準位)字元{11,10,00,01}(例如是1001110101…)(可根據第1表解釋CTMC)於步驟100中被接收。說明實施例中,此方法為了編程從此組已接收字元中選擇準位3的數值。於步驟105中,執行計算以計算出此組已接收字元中準位3字元(例如是10)的數目N3。根據基本實施例,128個SAs係為任一時間可被動用的SA數目。於步驟110,執行一測試動作以確定此組已接收字元中準位3字元的數量是否至少為128個。若如此,則選擇128個待編程至準位3的單元,且在步驟115藉由單次脈衝將所選擇的128個單元編程至陣列中128個所選定的準位3單元。在步驟120中,執行測試動作以確定所有128個所選擇的準位3單元實際上是否已完成Vt
至少為,例如是PV3,的要求。若非如此,則此單元可在步驟115中接收另一次單次脈衝,此115和120步驟被重覆直到此組中所有單元的Vt
係至少為PV3。則N3的數值可在步驟125中減少128,且此操作從步驟110重覆。當N3的數值變成小於128,則在步驟127執行測試動作以確定N3是否大於0。若如此,則執行步驟130和135(例如是上述步驟120和115)直到所有N3個單元已被編程至規定的準位。當再也沒有為在步驟110或步驟135中所確定之尚待編程至準位3的單位時,則此實施例完成。而編程單位至準位1和準位2的方法,對於此領域中具有通常知識者基於上述說明係顯而易見的。
使用,例如是128個SA/驅動,去完成編程記憶體裝置至準位k(k=1,2和3)之所需時間總量Tk
係至少近似下述乘積
1) Ts
,去執行每一單次脈衝且確認結果之所需時間總量,
2) Nk
,去完成編程單位至準位k之所需單次脈衝的數量,以及
3) [Nck
/128],其中Nck
係待編程至準位k的單位的數量,且包圍著「.」的運算[.]當「.」不是整數時,運算[.]的整數結果加1。例如,若Nck
=129,則[Nck
/128]=2,且若0<Nck
<=128,則[Nck
/128]=1。
T1
,T2
,以及T3
的方程式為:
T1
=Ts
*N1
*[Nc1
/128]
T2
=Ts
*N2
*[Nc2
/128]
T3
=Ts
*N3
*[Nc3
/128]
當比較T1
,T2
,以及T3
的數值時,Ts
為T1
,T2
,以及T3
所共有而可被忽略。考慮N1
,N2
,以及N3
,第3表列出實驗所得之Nk
(k=1,2,3)的最大,最小以及中間數值。編程單元至,例如是,編程準位3的動作可包括提供一具有相對低準位PV3’(例如是階段1)的第一次脈衝,之後提供具有相對高準位PV3(例如是階段2)的第二次脈衝,其中PV3’<PV3。編程時間或取樣窗的考量可能影響階段1與階段2編程準位的選擇。額外的階段(例如是階段3,階段4,…)在一些情況下可被使用。使用Nk
的中間數值且忽略Ts
T3
~160[NC3
/128]
T2
~144[NC2
/128]
T1
~112[NC1
/128]
其中「~」代表「成正比」。
基本範例中,考慮接收一組256個四進位(例如是2bit)字元,此256個四進位字元中有50個待編程至準位0、36個待編程至準位1、40個待編程至準位2、以及130個待編程至準位3。在這個範例中,
T3
~160×2=320
T2
~144×1=144
T1
~112×1=112,而合計編程時間需要T1
+T2
+T3
~320+144+112=576。
此基本範例中,此組字元若包含的是130個準位0而不是130個準位3的字元,則可減少或節省編程時間和資源。本發明實施例的特徵係試圖藉由一種方法,例如是再分配編程準位(而字元依此編程準位儲存),以達到此類減少或節省時間和資源的目的。舉例來說,再分配(例如是經過修正的匹配)可包括以可改善編程效率的方式來分配字元至編程電壓準位。以所舉的例子來說,所有130個01字元可被儲存為準位0而不是準位3。當然,此再分配動作基本上將需要一個或多個其它字元按照順序同樣的被再分配,以使字元和編程準位的關係維持其獨特性,將於下段說明。
第3圖係總結本發明實施例第一方法實施例的流程圖。一組四進位字元為了被編程至四位階CTMC陣列而於步驟140被接收。此組字元可包括,例如是256、512、1024或代表字元,例如是一部份的數位影像、通訊錄、或例如是另一組使用者或機器資料。在步驟145中,四個頻率數藉由計算此組不同字元11(NC11
),10(NC10
),00(NC00
),以及01(NC01
)的出現數來計算出。相對此基本範例,第4表列出第1表的字元,編程準位,以及相對每一字元的頻率數,如下:
觀察每一輸入資料/項目的資訊(例如是每一字元)和它是如何被儲存至記憶體,使用最高編程準位來儲存具有最多個的字元可能是浪費的。因此根據本發明實施例的一方面,沒有效率的範例藉由再分配字元至編程準位的方式來修正,例如出現數最高字元(例如是高頻率)、或沒有效率的分配(編碼)至高編程準位的字元,被再分配至較低編程準位。其後,當此組或此組中一部份的字元從CTMC陣列中被讀取,相反分配可恢復字元至它們最初格式。
步驟150中說明,於本範例的背景中,藉由根據字元的頻率數{NC11
,NC10
,NC00
,NC01
},再分配按頻率數降冪順序排列的字元至按電壓升冪順序排列的編程準位。再分配動作之後,一、二、或更多個字元與新編程準位有關聯。一般而言,編程準位以電壓增加的順序排列(根據第一列),而字元以頻率數減少的順序排列(根據第二列)以產生舉例說明用的資訊集合,相對基本範例,於第5表中列出其原始編碼架構以做為參考。
根據步驟155,交換規則藉由定義此組字元再分配的規則而建立,以減少或節省資源(例如是編程時間)。基本範例中,比較第4表與第5表,交換規則可被想像為列表顯示如下的第6表之「字元」列。
此交換規則於步驟165被使用,以編程此組字元至陣列。例如,相對於基本範例,01被編程為準位0,11被編程為準位1,00被編程為準位2(不變),以及10被編程為準位3。
在原始編碼架構下,將01寫至記憶體編程準位3130次係沒有效率的(尤其是既然其它編碼出現數皆小於50次)。較高/頻率數最高字元(例如是01)被匹配至較低/最低編程準位(例如是編程準位0)以節省資源。根據此範例另一方面,最低/較低頻率數字元(例如是10)被匹配至較高/最高編程準位(例如是編程準位3)以節省資源。該明瞭的是,根據本發明實施例的第一方法,修改字元與編程準位的匹配關係是不會增加編程一組待編程字元所需的單次脈衝的次數(編程時間)。
交換規則也可藉由基本範例中根據第一方法的實施例排列其字元{01,11,00,10}來定義,此實施例指定此規則使用於編程此組輸入資料(例如是字元)。一般來說,交換規則可簡單的包括排列出按編程電壓準位增加的順序分配的再分配字元。而在步驟165中根據交換規則編程此組字元。交換規則於步驟175可為被寫入至CTMC的控制資訊(例如是沒有提供至交換規則的字元)。另一種可被使用的版本係將按第6表說明順序排列的字元寫入至交換規則。於上述範例中,交換規則可被寫為一序列01110010的八位元(相同於四字元)。此八位元序列可被稱為「記錄位元」或「記錄碼」。該注意的是,八位元記錄碼根據第一方法可定義交換規則。
根據本發明實施例的第一方法,從已編程的CTMC陣列中讀取字元,其可使用的實施例和方法係總結於第4圖流程圖。此字元在步驟180可從陣列中被正常的讀取(例如是根據原始編碼架構)以產生一組或一組中某部份的已轉化字元,例如是字元根據交換規則編程但根據原始編碼架構讀取。交換規則可在步驟185中被讀取,且交換規則的反向(例如是相反或未轉化的版本)可在步驟190被應用至此組已轉化字元。也就是說,出現於此組以原始編碼架構表示的已轉化字元,可根據交換規則的對應字元所取代。舉個例子,{n0,n1,n2,n3}係於基本例子被{01,11,00,10}取代(第6表)。其後,「未轉化」的此組字元可在步驟195輸出。
根據本發明實施例的另一方面,第二方法可使用相對第一方法實施例之交換規則修改而成的交換規則。根據第二方法,交換規則簡單的定義字元再分配,此字元再分配動作編程高頻率數字元至準位0。再分配動作空出以前對應到高頻率數字元的編程準位(根據原始編碼架構),且也空出以前對應到編程準位0的字元。此再分配係藉由結合空出字元與空出編程準位來完成的。(若高頻率數字元已被分配至準位0,則沒有再分配被執行)也就是說,本發明實施例的第二方法再分配之前需要最多單次脈衝次數的字元至準位0,而準位0一點也不需要單次脈衝。
第5圖係總結第二方法實施例的流程圖。於步驟200,接收一組四位階字元,且在步驟205中計算四可區別的字元{11,10,00,01}中每一個的出現的次數{NC11
,NC10
,NC00
,NC01
}。在步驟210中,頻率數最高字元根據{NC11
,NC10
,NC00
,NC01
}被選定。交換規則於步驟215中構成,此交換規則再分配高頻率(例如是頻率數最高)字元至較低或最低準位(例如是準位0),因此空出之前分配到高頻率數字元的編程準位,和空出先前分配至準位0的字元。交換規則藉由簡單的再分配空出的字元至空出的編程準位來完成。此空出的字元於步驟225中根據交換規則被編程,且交換規則(例如是為一記錄碼)於步驟230中被寫入。記錄碼對應到交換規則的字元,根據第二方法,可構成二位元序列的記錄位元或同樣的二位元記錄碼,此二位元記錄碼記錄頻率數最高字元。於上述基本範例中,從第5圖實施例所產生的記錄碼可為01,以指出此組中01是被編程至準位0的字元。基本上,可明瞭之前被分配到準位0的字元係被編程至頻率數最高字元所空出的準位。
讀取已被編程的資料可藉由應用第4圖總結的方法與讀取根據第二方法在步驟185中解釋的交換規則來完成。
第6圖係可實現本發明第二方法的裝置實施例的方塊圖。實施例包括CTMC陣列300,用以根據預定匹配定義(例如是原始編碼架構{n0,n1,n2,n3})來與多位階(例如是四位階)字元被編程。說明實施例更包括輸入處理器305,其接收一組待編程字元,於圖中標識為Din[n:0],在它們被編程至CTMC陣列300前,根據第二方法來處理字元。輸入處理器305可包括最大搜尋模組(max finder module) 310、記錄碼暫存器320、以及第一層改變單元315。輸入處理器305中最大搜尋模組310可接收此組待編程字元且可搜尋此組待編程字元以發現頻率數最高字元(例如是此組字元中出現數最高字元)。被發現的頻率數最高字元可被儲存為交換規則(例如是記錄碼)於記錄碼暫存器320,且也可被傳送到第一層改變單元315,其應用交換規則至此組字元。例如,第一層改變單元315可從記錄碼暫存器320接收記錄碼,且可再分配此組字元中記錄碼的字元至準位0,且可再分配之前分配至位階0的字元至頻率數最高字元空出的準位。已修改的此組字元則可一般的被編程至CTMC陣列300,例如是根據原始編碼架構。
所說明的裝置更包括感測放大器325、第二層改變單元330、以及一輸出緩衝區335,而輸出緩衝區335用以輸出儲存於CTMC陣列300的字元。感測放大器325可根據位址或於位址暫存器中的位址範圍(沒有繪示)接收一組或一組中一部份的字元(可稱為「已轉換字元」),此字元對應到根據預定匹配定義和上述說明編程的字元。第二層改變單元330可從感測放大器325接收已轉化字元,且可從記錄碼暫存器320接收記錄碼。第二層改變單元330可藉由應用交換規則反轉化(例如是恢復)原始的該組輸入資料,而交換規則例如是藉由(a)已轉化的輸出資料中,取代符合記錄碼的字元為n0,以及(b)取代n0的字元為記錄碼。第二層改變單元330可傳送已恢復字元至輸出緩衝區335,其可輸出已恢復字元。
第7A圖係提供本發明實施例的實現方式之另一觀點的圖示。根據此觀點,在多位階(例如是4位階)電荷捕捉記憶體中編程準位0,1,2或3,根據本發明實施例的第一方法或第二方法其一,藉由一對一映射至各自的編程準位0’,1’,2’或3’。回到第4表所說明的範圍,準位0藉由映射器352被映射至準位1’;準位1藉由映射器352被映射至準位3’;準位2被映射至準位2’;以及準位3被映射至準位0’。藉由改變映射器352,本發明實施例的第二方法可被實現,使得準位3被映射至準位0’,以及準位0被映射至準位3’。準位1與2各別被映射至準位1’與2’。
第7B圖係可實現本發明第二方法的觀點之裝置的局部示意圖。所說明裝置可包括各別的第一、第二、與第三多工器360、365、以及370。每一個多工器可被用以接收二輸入訊號,對應到準位0的第一輸入訊號,以及對應到準位3(360),準位2(365)或準位1(370)中其一的第二輸入訊號。每一個多工器,更可藉由記錄碼輸入所控制,並根據準位3、準位2或準位1中任一個編程準位與準位0相交換,其中記錄碼可為1或0。例如,第一多工器360接收所輸入的準位0與準位3,準位0與準位3之一被選為3’,第一多工器360的輸出係根據控制輸入記錄碼3的狀態。當記錄碼3=0,準位3’可為準位3;當記錄碼3=1,準位3’可為準位0。同樣的,第二多工器365接收所輸入的的準位0與準位2,且根據控制輸入記錄碼2的狀態可選擇輸出準位2’為準位0或準位2。當記錄碼2=0,準位2’可為準位2;當記錄碼2=1,準位2’可為準位0。同樣的,準位1’的輸出根據記錄碼1的數值可為準位0或準位1其一。
第7C圖係根據本發明實施例的第二方法,來加快從多位階(例如是4位階)電荷捕捉記憶體中讀取速度的裝置之局部示意圖。所說明的裝置包括具有一對應到準位0’的輸入與對應到準位0、1、2以及3的四輸出之一的解多工器(demultiplexer) 375,對應到原始編程準位的準位0、1、2以及3在編程準位被交換使用前所使用,例如,第7B圖中的多工器360、365、以及370。輸入準位0’訊號根據4位元記錄碼[3:1]的數值可被映射至原始編程準位。記錄碼[3:1]的可允許數值為000、001、010、或100以選擇被映射至準位0’的原始編程準位。記錄碼[3:1]數值0表示在編程過程中沒有發生編程準位的交換。因此,在讀取時也不需要交換動作。
考慮編程的範例,參考第7B圖與第7C圖,假設對應到資料位元的準位1在輸入資料位元的收集中具有發生率的最大頻率。則,根據本發明的第二方法,對應到準位0的輸入字元可被編程為準位1字元,對應到準位1的輸入字元可被編程為準位0字元(例如,沒有全部編程),準位2輸入字元可被編程為準位2字元,以及準位3輸入字元可被編程為準位3。在第7B與第7C圖的語言中,記錄碼3=0、記錄碼2=0、以及記錄碼1=1表示準位3’=準位3、準位2’=準位2、準位1’=準位0(例如是沒有編程)。該明瞭的是,準位0’=準位1。
關於讀取已編程的資料,根據上述範例,參考第7C圖,記錄碼[3:1]=001,其導致解多工器375的輸出變為準位1。因此,從電荷捕捉記憶體所讀取的準位0資料係可被取代為對應至準位1的資料,且從電荷捕捉記憶體中所讀取的準位1資料可被取代為對應至準位0的資料。
雖然揭露於說明書的內容稱為一些說明實施例,該明瞭的是,這些實施例是以例子的方式呈現,而不是以構成限制的方式存在。此說明書的意義,是去涵蓋該領域中具有通常知識者利用與本發明相關的知識所能構成的實施例,以涵蓋所有針對本發明所做的修改、變動、組合、交換、刪除、替換、二者擇一以及實施例的同等物的範圍,本發明揭露的範圍不會互相獨立,而本發明的精神與範圍僅座落於專利範圍所限制的範圍裡。
100、105、110、115、120、125、127、130、135、140、145、150、155、165、175、180、185、190、195、200、205、210、215、225、230...流程步驟
5、10、15、30、40...分佈
20...第一編程確認準位
25...第二編程確認準位
35...第三編程確認準位
300...CTMC陣列
305...輸入處理器
310...最大搜尋模組
315...第一層改變單元
320...記錄碼暫存器
325...感測放大器
330...第二層改變單元
335...輸出緩衝區
352...映射器
360...第一多工器
365...第二多工器
370...第三多工器
375...解多工器
第1圖係說明用於四位階電荷補捉記憶體單元(charge-trapping memory cell CTMC)中編程電壓準位的分佈圖。
第2圖係總結編程四位階CTMC與位階3資料的已知方法的流程圖。
第3圖係說明根據本發明編程四位階CTMC的第一方法的實現方式的流程圖。
第4圖係描述根據第一方法來讀取已被編程的四位階CTMC的方法的實現方式之流程圖。
第5圖係解釋根據本發明編程四位階CTMC的第二方法的實現方式之流程圖。
第6圖係一裝置根據本發明用以從多位階CTMC中編程及讀取的方塊圖。
第7A圖係說明本發明的方法之圖示。
第7B圖係根據本發明的第二方法來實現編程準位交換的裝置之局部示意圖。
第7C圖係根據本發明的第二方法控制從多位階電荷捕捉記憶體所做讀取動作的裝置之示意圖。
140、145、150、155、165、175...流程步驟
Claims (20)
- 一種編程方法,包括:在一多位階電荷補捉記憶體單元陣列中,每一不同字元被匹配至不同的編程電壓準位,且具相同值的字元以相同的編程電壓準位被編程;接收一組待編程字元;計算該組待編程字元中,每一不同字元的出現數以決定對應該些不同字元的頻率數;以及修改匹配的關係,使得該些不同字元中至少一個的編程電壓準位被改變。
- 如申請專利範圍第1項所述之編程方法,其中:較高的編程電壓準位需要相稱地較長的編程時間;以及修改匹配的關係不會增加編程該組待編程字元所需的時間。
- 如申請專利範圍第2項所述之編程方法,其中修改匹配的關係會減少編程該組待編程字元所需的時間。
- 如申請專利範圍第1項所述之編程方法,其中修改匹配的關係的步驟包括:產生一第一列表,該第一列表包括以電壓增加的順序排列之編程電壓準位;產生一第二列表,該第二列表包括以頻率數減少的順序排列之該些不同字元,使得於該第二列表的該些不同字元一對一對應於該第一列表的該些編程電壓準位;以及將該第二列表中的每一字元關聯至該第一列表中相對應的編程電壓準位,且依據對應的關係定義一交換規則。
- 如申請專利範圍第4項所述之編程方法,更包括: 根據對應的關係來編程該組待編程字元;以及寫入該交換規則。
- 如申請專利範圍第5項所述之編程方法,更包括:讀取該交換規則;從該多位階電荷補捉記憶體單元陣列中,擷取該組已編程字元中的至少一部分;以及根據該交換規則,恢復該部分。
- 一種編程方法,包括:在一多位階電荷補捉記憶體單元陣列中,每一不同字元被匹配至不同的編程電壓準位,且具相同值的字元以相同的編程電壓準位被編程;接收一組待編程字元;一計算動作,計算該組待編程字元中,每一不同字元的出現數;以及一修改動作,修改匹配關係,使得至少一字元被匹配至一較低編程電壓準位。
- 如申請專利範圍第7項所述之編程方法,其中:該計算動作包括計算出一高頻率數字元;以及該修改動作包括匹配該高頻率數字元至一較低編程電壓準位。
- 如申請專利範圍第7項所述之編程方法,其中:在該修改動作前,一最低準位字元被匹配至一較低編程電壓準位;在該修改動作前,一高頻率數字元被匹配至一第一編程電壓準位; 該修改動作匹配該最低準位字元至該第一編程電壓準位;以及該方法更包括根據該修改動作匹配的關係來編程該組待編程字元。
- 如申請專利範圍第7項所述之編程方法,更包括:得到一交換規則;從該多位階電荷補捉記憶體單元陣列中,擷取該組已編程字元中的至少一部分;以及根據該交換規則,恢復該部分字元。
- 如申請專利範圍第7項所述之編程方法,其中該修改動作包括匹配一高頻率數字元至該多位階電荷補捉記憶體單元陣列的一最低編程電壓準位。
- 一種記憶體裝置,包括:一電荷補捉記憶體單元陣列,根據一預定匹配定義被用以儲存多位階資料,該預定匹配定義匹配不同字元與不同編程電壓準位;以及一處理器,接收一組待編程字元,該處理器被用以計算出該組待編程字元中的一高頻率數字元,且該處理器被用以改變該高頻率數字元的匹配定義,改編程該高頻率數字元至一較低編程電壓準位。
- 如申請專利範圍第12項所述之記憶體裝置,其中:每一不同字元被匹配至不同編程電壓準位;具相同值的字元以相同的編程電壓準位被編程;以及該處理器被用以計算出該組待編程字元中一頻率數最高字元,且該處理器被用以改變該頻率數最高字元的匹配定義,改編 程該頻率數最高字元至一較低編程電壓準位。
- 如申請專利範圍第13項所述之記憶體裝置,其中該處理器被用以改變該頻率數最高字元的匹配定義,改編程該頻率數最高字元至一最低編程電壓準位。
- 如申請專利範圍第12項所述之記憶體裝置,其中:每一不同字元被匹配至不同編程電壓準位;具相同值的字元以相同的編程電壓準位被編程;以及該處理器被用以改變該高頻率數字元的匹配定義,改編程該高頻率數字元至一最低編程電壓準位。
- 如申請專利範圍第12項所述之記憶體裝置,該處理器被用以將該高頻率數字元像記錄碼一樣寫入儲存器。
- 如申請專利範圍第12項所述之記憶體裝置,該處理器包括一最大搜尋模組,該最大搜尋模組被用以搜尋該組待編程字元以發現一頻率數最高字元,且該最大搜尋模組被用以將該頻率數最高字元像記錄碼一樣寫入儲存器,且該處理器更包括一第一層改變單元,該第一層改變單元被用以接收該組待編程字元和該記錄碼,且第一層改變單元修改該頻率數最高字元的匹配定義使得該頻率數最高字元被匹配至一最低編程電壓準位。
- 如申請專利範圍第12項所述之記憶體裝置,其中該電荷補捉記憶體單元陣列被用以儲存四位階資料。
- 如申請專利範圍第12項所述之記憶體裝置,更包括一記錄碼暫存器用以儲存該記錄碼。
- 如申請專利範圍第12項所述之記憶體裝置,更包括:一些感測放大器,用以根據該預定匹配定義從該多位階電荷補捉記憶體單元陣列中接收一組已編程字元;以及 一第二層改變單元,被用以從該些感測放大器中接收該組已編程字元和一記錄碼,以及根據該記錄碼恢復該組已編程字元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099107013A TWI437570B (zh) | 2010-03-10 | 2010-03-10 | 藉由編程準位的交換改善多位階單元的編程速度 |
US12/797,928 US8345476B2 (en) | 2010-03-10 | 2010-06-10 | Multi-level cell programming speed improvement through program level exchange |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099107013A TWI437570B (zh) | 2010-03-10 | 2010-03-10 | 藉由編程準位的交換改善多位階單元的編程速度 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201131567A TW201131567A (en) | 2011-09-16 |
TWI437570B true TWI437570B (zh) | 2014-05-11 |
Family
ID=44559846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099107013A TWI437570B (zh) | 2010-03-10 | 2010-03-10 | 藉由編程準位的交換改善多位階單元的編程速度 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8345476B2 (zh) |
TW (1) | TWI437570B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101518033B1 (ko) * | 2008-11-18 | 2015-05-06 | 삼성전자주식회사 | 멀티-레벨 비휘발성 메모리 장치, 상기 장치를 포함하는 메모리 시스템 및 그 동작 방법 |
KR20160024547A (ko) * | 2014-08-26 | 2016-03-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907855A (en) * | 1996-10-15 | 1999-05-25 | Micron Technology, Inc. | Apparatus and method for reducing programming cycles for multistate memory system |
US6728825B1 (en) * | 1996-10-15 | 2004-04-27 | Micron Technology, Inc. | Apparatus and method for reducing programming cycles for multistate memory system |
US6160739A (en) * | 1999-04-16 | 2000-12-12 | Sandisk Corporation | Non-volatile memories with improved endurance and extended lifetime |
JP4041076B2 (ja) * | 2004-02-27 | 2008-01-30 | 株式会社東芝 | データ記憶システム |
US7656705B2 (en) * | 2007-10-17 | 2010-02-02 | Spansion Llc | Fast single phase program algorithm for quadbit |
JP2010020715A (ja) * | 2008-07-14 | 2010-01-28 | Toshiba Corp | 半導体メモリコントローラおよび半導体メモリシステム |
US9378835B2 (en) * | 2008-09-30 | 2016-06-28 | Seagate Technology Llc | Methods and apparatus for soft data generation for memory devices based using reference cells |
KR101618313B1 (ko) * | 2009-06-15 | 2016-05-09 | 삼성전자주식회사 | 불휘발성 메모리 장치의 프로그램 방법 |
JP2011014179A (ja) * | 2009-06-30 | 2011-01-20 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8463985B2 (en) * | 2010-03-31 | 2013-06-11 | International Business Machines Corporation | Constrained coding to reduce floating gate coupling in non-volatile memories |
-
2010
- 2010-03-10 TW TW099107013A patent/TWI437570B/zh active
- 2010-06-10 US US12/797,928 patent/US8345476B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW201131567A (en) | 2011-09-16 |
US20110222341A1 (en) | 2011-09-15 |
US8345476B2 (en) | 2013-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6298249B2 (ja) | 不揮発性メモリ装置とそれを含むメモリシステム及びそれらのメモリブロック管理、消去、及びプログラム方法 | |
US8547742B2 (en) | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N | |
US11722323B2 (en) | Physical unclonable function with NAND memory array | |
KR101138512B1 (ko) | 제어기 성능 요구들에 기초하는 프로그래밍 | |
KR101120248B1 (ko) | 데이터 값들의 아날로그 통신을 이용하는 고체 상태 메모리 | |
US9921749B2 (en) | Memory system and method including determining a read voltage based on program order information and a plurality of mapping tables | |
US9582224B2 (en) | Memory control circuit unit, memory storage apparatus and data accessing method | |
US20160124641A1 (en) | Memory device, memory system, method of operating a memory device, and method of operating a memory system | |
JP2005518061A (ja) | マルチレベルフラッシュ半導体メモリの部分的ページプログラミング | |
CN107039072B (zh) | 非易失性存储器设备和非易失性存储器设备的操作方法 | |
US9418731B1 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN112506421B (zh) | 存储器控制器及其操作方法 | |
CN111383689A (zh) | 可调nand写入性能 | |
CN115080466B (zh) | 具有简化的高容量管芯和块管理的存储设备 | |
CN111312305A (zh) | 存储装置及其操作方法 | |
TWI437570B (zh) | 藉由編程準位的交換改善多位階單元的編程速度 | |
CN112289361B (zh) | 存储器装置及其操作方法 | |
KR20150142250A (ko) | 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법 | |
US20170062045A1 (en) | Multi-level flash storage device with minimal read latency | |
US11817154B2 (en) | Optimized threshold translation from serialized pipeline | |
CN110858501B (zh) | 存储器系统以及存储器系统的操作方法 | |
US20130170293A1 (en) | Hybrid multi-level cell programming sequences | |
US20180039429A1 (en) | Apparatus and method for programming non-volatile memory using a multi-cell storage cell group | |
CN108091364B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
KR20210000212A (ko) | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |