TWI812295B - 記憶體裝置及其操作方法 - Google Patents
記憶體裝置及其操作方法 Download PDFInfo
- Publication number
- TWI812295B TWI812295B TW111122988A TW111122988A TWI812295B TW I812295 B TWI812295 B TW I812295B TW 111122988 A TW111122988 A TW 111122988A TW 111122988 A TW111122988 A TW 111122988A TW I812295 B TWI812295 B TW I812295B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- sub
- bits
- memory
- memory unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 9
- 230000015654 memory Effects 0.000 claims abstract description 201
- 239000000872 buffer Substances 0.000 claims description 51
- 238000011017 operating method Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000009826 distribution Methods 0.000 description 52
- 238000010586 diagram Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 1
Landscapes
- Logic Circuits (AREA)
- Electrotherapy Devices (AREA)
Abstract
本發明揭露一種記憶體裝置及其操作方法。記憶體裝置包括多個記憶單元及一控制邏輯電路。記憶單元可被配置為TLC、MLC或SLC。控制邏輯電路被配置以TLC編程方式編程MLC及SLC。
Description
本發明是有關於一種記憶體裝置及其操作方法。
三維(3D)非及(NAND)型快閃記憶體(flash memory)除了在XY平面上的陣列結構外,在Z軸的方向上通常會有立體堆疊的結構。受限製程技術,位於Z軸方向兩端(即頂端與底端)的記憶單元的元件特性通常較Z軸方向中段部分的記憶單元來得差。元件特性會影響記憶單元內儲存的資料的可靠度。因此,位於Z軸方向兩端的記憶單元通常會被配置以使得每個記憶單元儲存的位元數少於位於Z軸方向中段的記憶單元。傳統上,儲存不同位元數的記憶單元必須藉由使用不同的電路來進行編程。因此,記憶體裝置需要配置多個電路來對應記憶單元寫入不同位元數時的編程動作,十分浪費硬體空間並提高成本。
本發明一實施例係揭露一種記憶體裝置。記憶體裝置包括一記憶體控制器及一記憶體。記憶體控制器用以接收來自一主控制器的一寫入請求及一第一資料,並根據寫入請求發送指示一第一參數的一寫入命令,其中第一參數係代表每個記憶單元要寫入的二進制資料的位元數。記憶體耦接至記憶體控制器,且包括一記憶體陣列、至少一緩衝器及一控制邏輯電路。記憶體陣列包括複數個記憶單元。各記憶單元被配置以儲存最多N個位元的二進制資料,其中N為大於1的正整數。控制邏輯電路耦接至記憶體陣列及緩衝器,並用以執行:回應於寫入命令,當該第一參數為小於N的正整數K時,將第一資料每K個位元為一子資料,產生對應於各子資料(N-K)個位元的一偽資料(Pseudo data),並儲存子資料及偽資料至緩衝器;以及對於要被編程的各記憶單元,根據緩衝器中要寫入該記憶單元的K個位元的子資料及對應於要寫入記憶單元的子資料該(N-K)個位元的偽資料編程記憶單元,以致使記憶單元的一閾值電壓落於從2
N個電壓範圍選出的2
K個電壓範圍的其中之一,其中2
N個電壓範圍係一對一對應於N個位元的二進制資料包括的2
N種資料樣態。
本發明另一實施例係揭露一種記憶體裝置的操作方法。操作方法包括:接收來自一主控制器的一寫入請求及一第一資料;根據該寫入請求發送指示一第一參數的一寫入命令,其中該第一參數係代表每個記憶單元要寫入的二進制資料的位元數,其中各記憶單元被配置以儲存最多N個位元的二進制資料,N為大於1的正整數;回應於該寫入命令,當該第一參數為小於N的正整數K時,將該第一資料每K個位元為一子資料,產生對應於各該子資料(N-K)個位元的一偽資料,並儲存該些子資料及該些偽資料至至少一緩衝器;以及對於要被編程的各個記憶單元,根據該至少一緩衝器中要寫入該記憶單元的K個位元的該子資料及對應於要寫入該記憶單元的該子資料該(N-K)個位元的該偽資料編程該記憶單元,以致使該記憶單元的一閾值電壓落於從2
N個電壓範圍選出的2
K個電壓範圍的其中之一,其中該2
N個電壓範圍係一對一對應於N個位元的二進制資料包括的2
N種資料樣態。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
請參照第1圖,第1圖繪示根據本發明一實施例的記憶體裝置的方塊圖。記憶體裝置10包括一記憶體控制器102及一或多個記憶體(記憶體晶片)104。記憶體控制器102用以耦接至外部的一主控制器112,其中主控制器112例如是中央處理單元(Central Processing Unit,CPU)。記憶體晶片104耦接至記憶體控制器102。
記憶體晶片104包括一記憶體陣列106、緩衝器108-1~108-3及一控制邏輯電路110。記憶體陣列106可以是任何非揮發性記憶體陣列,例如是非及(NAND)型快閃記憶體、電阻式隨機存取記憶體(resistive random access memory,RRAM)、相變化記憶體(phase change memory,PCM)、磁阻式隨機存取記憶體(magnetoresistive RAM,MRAM)、電荷捕捉式記憶體(例如SONOS)等。在本實施例中,記憶體陣列106為三維NAND型快閃記憶體。緩衝器108-1~108-3例如是藉由閂鎖器(latch)來達成。控制邏輯電路110耦接至記憶體控制器102、記憶體陣列106及緩衝器108-1~108-3。控制邏輯電路110可包括對應於三層儲存單元(Triple Level Cell, TLC)編程的有限狀態機(finite state machine)的等效邏輯電路,控制邏輯電路110用以執行TLC的編程動作。
記憶體陣列106可用以儲存多個頁面(page)的資料。各記憶單元可被配置用以儲存至少一個位元的二進制資料(binary data)。例如,記憶單元可被配置為單層儲存單元(Single Level Cell, SLC)、雙層儲存單元(Multi Level Cell, MLC)、或TLC 。被配置為SLC的記憶單元(以下稱為SLC記憶單元)可儲存一個位元的二進制資料,例如0、1。被配置為MLC的記憶單元(以下稱為MLC記憶單元)可儲存二個位元的二進制資料,例如00、01、10、11。被配置為TLC的記憶單元(以下稱為TLC記憶單元)可儲存三個位元的二進制資料,例如000、001、010、011、100、101、110、111。TLC記憶單元所儲存的二進制資料的三個位元例如分別是低頁面(low page)的位元、中頁面(middle page)的位元、與高頁面(high page)的位元。
傳統上,記憶體晶片通常會配置三個相互獨立的控制邏輯電路以分別執行對應於SLC記憶單元、MLC記憶單元及TLC記憶單元的編程動作。
在本發明的一實施例中,藉由用來編程TLC記憶單元的控制邏輯電路,搭配下文描述的機制,可以達到以編程TLC記憶單元的控制邏輯電路,來進行MLC記憶單元及SLC記憶單元的編程動作。如此,可以有效地減少所需之成本,並減少所佔用的硬體空間。
請參照第2圖,第2圖繪示根據本發明一實施例的記憶體裝置的操作方法的流程圖。在步驟S201中,記憶體控制器102接收到來自外部的主控制器的寫入請求及待寫入的第一資料。第一參數代表每個記憶單元要寫入的位元數。寫入請求中包括第一參數。待寫入的第一資料為一或多個位元的二進制資料。
在步驟S202中,記憶體控制器102判斷此寫入請求中每個記憶單元所要寫入的位元數,亦即得到第一參數之值。當第一參數為3時(亦即每個要被編程的記憶單元係被配置為TLC記憶單元以儲存三個位元的資料),執行步驟S203,記憶體控制器102發送指示第一參數為3的TLC寫入命令,並且將待寫入的第一資料發送至控制邏輯電路110。
當第一參數為2(亦即每個要被編程的記憶單元係被配置為MLC記憶單元以儲存二個位元的資料),執行步驟S204,記憶體控制器102發送指示第一參數為2的MLC寫入命令,並且將待寫入的ˋ一資料發送至控制邏輯電路110。
當第一參數為1(亦每個要被編程的記憶單元係被配置為SLC記憶單元以儲存一個位元的資料),執行步驟S205,記憶體控制器102發送指示第一參數為1的SLC寫入命令,並且將待寫入的第一資料發送至控制邏輯電路110。
步驟S206中(狀況:TLC),控制邏輯電路110將待寫入的第一資料儲存至緩衝器108-1~108-3。如第3圖所示,假設待寫入的第一資料300為110011001010共十二位元,控制邏輯電路110將第一資料300由左至右每三個位元配置為一子資料,待寫入的第一資料可劃分為110、011、001、010共四筆子資料。每筆子資料需要使用一個TLC記憶單元來儲存,共需要使用四個TLC記憶單元來儲存此筆第一資料。第一資料110011001010會被分為1100、1100、1010,並分別被儲存至緩衝器108-1、108-2、108-3。
步驟S207中(狀況:MLC),控制邏輯電路110將待寫入的第一資料儲存至緩衝器108-1~108-3的其中之二,並根據待寫入資料產生一偽資料(pseudo data),將此偽資料儲存至緩衝器108-1~108-3的其中另一。如第4圖所示,假設待寫入的第一資料400為110011001010共十二位元,控制邏輯電路110將第一資料400由左至右每二個位元配置為一筆子資料,待寫入的第一資料可劃分為11、00、11、00、10、10共六筆子資料,每一筆子資料需要使用一個MLC記憶單元來儲存,共需要使用六個MLC記憶單元來儲存此筆第一資料。第一資料110011001010會被分為110011及001010,並分別配儲存至緩衝器108-1、108-2。在一實施例中,控制邏輯電路110例如將每一筆子資料輸入至一XNOR(反互斥或)邏輯閘以產生偽資料。XNOR邏輯閘係於兩個輸入端之輸入值為相異時,輸出邏輯值0;兩個輸入端之輸入值為相同時,則輸出邏輯值1。本例中,控制邏輯電路110將每一筆子資料輸入至XNOR邏輯閘以產生偽資料。例如,XNOR邏輯閘的兩個輸入端的輸入值為1和0時,XNOR邏輯閘的輸出端輸出0;XNOR邏輯閘的兩個輸入端的輸入值為0和1時,XNOR邏輯閘的輸出端輸出0;XNOR邏輯閘的兩個輸入端的輸入值為0和0時,XNOR邏輯閘的輸出端輸出1;而XNOR邏輯閘的兩個輸入端的輸入值為1和1時,則XNOR邏輯閘的輸出端輸出1。於本例中,上述之六筆子資料11、00、11、00、10、10係分別被輸入XNOR邏輯閘以產生偽資料。以第一筆子資料11為例,將1與1執行XNOR運算後,係得到1,以此類推。藉由這種方式可產生對應於六筆子資料11、00、11、00、10、10的偽資料1、1、1、1、0、0。並將所產生的偽資料1、1、1、1、0、0暫存至緩衝器108-3。
值得一提的是,XNOR邏輯閘通常屬於控制邏輯電路110或記憶體晶片104的其他電路固有的電路元件,因此無須消耗額外成本及硬體空間。
步驟S208中(狀況:SLC),控制邏輯電路110將待寫入的第一資料儲存至緩衝器108-1~108-3的其中之一,並產生偽資料,將偽資料分別儲存至緩衝器108-1~108-3的其中另二。如第5圖所示,假設待寫入的第一資料500為110011001010共十二位元,控控制邏輯電路110將第一資料500由左至右每一個位元配置為一筆子資料,共有十二筆筆子資料,需要使用十二個SLC記憶單元來儲存。控制邏輯電路110將子資料暫存至緩衝器108-1,並對應於每一筆子資料產生二個位元的偽資料,並將偽資料的二個位元分別暫存至緩衝器108-2、108-3。於如第5圖所示之例子中,係以所產生的偽資料係均為二個位元的二進制值11為例做說明。
步驟S209中,控制邏輯電路110以編程TLC記憶單元的方式根據緩衝器108-1~108-3的內容編程記憶體陣列106。需要注意的是,無論要被編程的目標記憶單元為SLC、MLC或TLC,步驟S209中皆會以編程TLC記憶單元的方式編程目標記憶單元。原理會在下文詳述。
首先要說明的是,「編程」係透過施加編程偏壓在記憶單元上,以將電子注入記憶單元來改變記憶單元的閾值電壓(Threshold voltage),使得被編程的記憶單元的閾值電壓落在多個電壓範圍中的一個,其中不同電壓範圍代表不同的資料樣態。「讀取」係施加一次或多次之讀取偏壓在記憶單元上,透過觀察記憶單元是否允許電流通過來判斷記憶單元的閾值電壓所在的電壓範圍,進而判斷所儲存的資料樣態。
請參照第6圖,第6圖繪示根據本發明一實施例的TLC記憶單元儲存的資料與閾值電壓分布的示意圖。第6圖為對應至(1, 2, 4)TLC伴碼(scramble)。(1, 2, 4)TLC伴碼係指在讀取TLC記憶單元時,第一次施加的讀取電壓的數量為一個(例如PVD),第二次施加的讀取偏壓的數量為二個(例如PVB及PVF),第三次施加的讀取偏壓的數量為四個(例如PVA、PVC、PVE及PVG)。第一次施加的讀取偏壓可用以判斷儲存於TLC記憶單元中的三個位元的資料的低頁面位元為0或1。第二次施加的讀取偏壓可用以判斷儲存於TLC記憶單元中的三個位元的資料的中頁面位元為0或1。第三次施加的讀取偏壓可用以判斷儲存於TLC記憶單元中的三個位元的資料的高頁面位元為0或1。
一個TLC記憶單元可儲存三個位元的二進制資料,三個位元的二進制資料的資料樣態包括111、110、100、101、001、000、010、及011。八個電壓範圍ER~PVA、PVA~PVB、PVB~PVC、PVC~PVD、PVD~PVE、PVE~PVF、PVF~PVG、及大於PVG係一對一的對應於此八種資料樣態,例如電壓範圍ER~PVA對應於二進制資料111,電壓範圍PVA~PVB對應於二進制資料110,以此類推,其中ER為初始電壓,即記憶單元被執行擦除操作後的電壓。本揭露中,第7~12圖中電壓範圍與資料樣態之間的對應關係,亦以此類推。分布610代表的是特定數量的TLC記憶單元經過編程後的閾值電壓在電壓範圍ER~PVA內的分布,分布62ER~680分別代表的是特定數量的TLC記憶單元經過編程操作後的閾值電壓在電壓範圍PVA~PVB、PVB~PVC、PVC~PVD、PVD~PVE、PVE~PVF、PVF~PVG、及大於PVG的分布。透過改變TLC記憶單元的閾值電壓,使得TLC記憶單元的閾值電壓落在此八個電壓範圍其中之一,也可視為落於分布61ER~680其中之一,即代表經過編程的TLC記憶單元儲存的是該電壓範圍(或該分布)所對應的資料。讀取時,控制邏輯電路110施加三次讀取偏壓以判斷TLC記憶單元的閾值電壓所落在的範圍為何,藉以判斷所儲存的資料為何。其中第一次施加的讀取偏壓是PVD以判斷最高有效位元(或低頁面之位元資料)為0或1,第二次施加的讀取偏壓是PVB及PVF以判斷中間位元(或中頁面之位元資料)為0或1,第三次施加的讀取偏壓是PVA、PVC、PVE及PVG,用以判斷最低有效位元(或高頁面之位元資料)為0或1。以第3圖的例子來說,控制邏輯電路110在步驟S209中根據緩衝器108-1~108-3中的第一筆子資料 (即位元資料110)編程一第一TLC記憶單元,以使得第一TLC記憶單元的閾值電壓落在電壓範圍PVA~PVB中(對應至分布620),根據緩衝器108-1~108-3中的第二筆子資料(即位元資料011)編程一第二TLC記憶單元,以使得第二TLC記憶單元的閾值電壓落在電壓範圍大於PVG中(對應至分布680),以此類推。
請參照第7圖,第7圖繪示根據本發明一實施例的MLC記憶單元儲存的資料與閾值電壓分布的示意圖。一個MLC記憶單元可儲存二個位元的二進制資料,二個位元的二進制資料的資料樣態包括11、10、00、01。在編程MLC記憶單元時,會從用於編程TLC記憶單元的八個閾值電壓範圍中選出四個,並一對一的對應於二個位元的二進制資料的四種資料樣態。本實施例中,係選出電壓範圍ER~PVA、PVB~PVC、PVD~PVE及PVF~PVG(對應至分布610、630、650及670)。偽資料的功用在於,為每一筆二個位元的子資料補上一個位元,以形成一筆三個位元的資料,以適用TLC的編程的運作。以第4圖為例,控制邏輯電路110在步驟S209中根據緩衝器108-1~108-3中的第一筆子資料(11)與一個位元的偽資料(1)的組合(即位元資料111)編程一第一MLC記憶單元,以使得第一MLC記憶單元的閾值電壓落在電壓範圍ER~PVA中(亦即位於分布710中,分布710係對應至分布610)。其中,偽資料係選擇為1的原因是分布710所對應之資料11係對應至分布610所對應之位元資料111的最高有效位元與中間位元(亦即低頁面的位元資料與中頁面的位元資料),需要額外加一個位元的1來對應於分布610所對應之資料111的最低有效位元(高頁面位元)。控制邏輯電路110根據緩衝器108-1~108-3中的第二筆子資料(00)與一個位元的偽資料(1)的組合(即位元資料001)編程一第二MLC記憶單元,以使得第二MLC記憶單元的閾值電壓落在電壓範圍PVD~PVE中(亦即位於分布750,分布750對應至分布650)。其中,偽資料係選擇為1的原因是分布750所對應之資料00係對應至分布650所對應之位元資料001的最高有效位元與中間位元(亦即低頁面的位元資料與中頁面的位元資料),需要額外加一個位元的1來對應於分布650所對應之資料001的最低有效位元(高頁面位元)。設計偽資料時,可先決定二個位元的二進制資料形成的四種資料樣態與選出的四個電壓範圍之間的對應關係,接著找出各個二個位元的資料樣態與對應的電壓範圍所對應的三個位元的資料樣態之間的差異。再根據此差異決定對應於各個二個位元的資料圖樣的偽資料。讀取時,控制邏輯電路110可施加二次讀取偏壓,第一次施加的讀取偏壓是PV2以判斷儲存的二個位元中的最高有效位元為0或1,第二次施加的讀取偏壓是PV1及PV3以判斷儲存的二個位元中的最低有效位元為0或1。
請參照第8圖,第8圖繪示根據本發明一實施例的SLC記憶單元儲存的資料與閾值電壓分布的示意圖。一個SLC記憶單元可儲存一個位元的二進制資料,一個位元的二進制資料的資料樣態包括0及1。在編程SLC記憶單元時會從用於編程TLC記憶單元的八個閾值電範圍中選出二個,並對應於一個位元的二進制資料的二種資料樣態。在本實施例中,電壓範圍ER~PVA(對應至分布610)及電壓範圍大於PVG(對應至分布680)係被選出。偽資料的功用在於,為每一筆一個位元的子資料補上二個位元以形成一筆三個位元的資料,以適用TLC的編程的運作。以第5圖為例,控制邏輯電路110在步驟S209中根據緩衝器108-1~108-3中的第一筆子資料(1)及二個位元的偽資料(11)的組合(即111)編程一第一SLC記憶單元以使得第一SLC記憶單元的閾值電壓落在電壓範圍ER~PVA(對應至分布810)中,根據緩衝器108-1~108-3中的第二筆子資料及二個位元的偽資料的組合(即111)編程一第二SLC記憶單元以使得第二SLC記憶單元的閾值電壓落在電壓範圍ER~PVA(對應至分布810)中,以此類推。設計偽資料時,可先決定一個位元的二進制資料形成的二種資料樣態與選出的二個電壓範圍之間的對應關係,接著找出各個一個位元的資料樣態與對應的電壓範圍所對應的三個位元的資料樣態之間的差異。再根據此差異決定對應於各個一個位元的資料圖樣的偽資料。讀取時,控制邏輯電路110可施加一次讀取偏壓,即讀取偏壓PV4,以判斷儲存的一個位元。
請參照第9圖,第9圖繪示根據本發明另一實施例的TLC記憶單元儲存的資料與閾值電壓分布的示意圖。第9圖為對應至(2, 3, 2)TLC伴碼。(2, 3, 2)TLC伴碼意指在讀取TLC記憶單元時,第一次施加的讀取電壓的數量為二個(例如PVA及PVE),第二次施加的讀取偏壓的數量為三個(例如PVB、PVD及PVF),第三次施加的讀取偏壓的數量為二個(例如PVC及PVG)。
為了方便說明,以下以閾值電壓的分布來代表對應的電壓範圍,例如分布910用來代表電壓範圍ER~PVA、分布920用來代表電壓範圍PVA~PVB,以此類推。本實施例中,編程MLC記憶單元時,分布910、930、950、970被選用來對應於00、01、10、11,如第10圖所示。緩衝器108-1可用以暫存每一筆子資料的最高有效位元,緩衝器108-3可用以暫存每一筆子資料的最低有效位元,緩衝器108-2可用以暫存的是對應於每一筆子資料的一個位元的偽資料,其中偽資料係藉由將各個二個位元的子資料進行XNOR運算而產生。編程SLC記憶單元時,分布910、960被選用來對應於0及1,如第11圖所示。緩衝器108-3可用以暫存子資料,緩衝器108-1、108-2可用以暫存對應於每一筆子資料的二個位元的偽資料。在第11圖中,每一筆子資料係被用作使用TLC編程方式所要求的三個位元的資料中的最低有效位元,而對應於每一筆子資料的二個位元的偽資料係被用作填補使用TLC編程方式所要求的三個位元的資料中的最高有效位元及中間位元。需要注意的是,根據選用的分布(電壓範圍)不同,偽資料所填補的位置也可以不同。如第12圖所示,在替代的實施例中,編程SLC記憶單元時,分布910、980被選用來對應於0及1。在此替代的實施例中,緩衝器108-2係用以暫存被用作使用TLC編程方式所要求的三個位元的資料的中間位元的子資料,而緩衝器108-1、108-3係用以暫存被當作使用TLC編程方式所要求的三個位元的資料的最高有效位元及最低有效位元的偽資料。
在不同的實施例中,記憶單元還可進一步被配置為四層儲存單元(quad level cell,QLC)或更高層的單元,而本發明可應用於此些實施例。在一通用實施例中,一個記憶單元可被配置以儲存最多N個位元的二進制資料,其中N為大於1的正整數。第2圖所示的操作方法在經過適當修改後即可適用於此通用實施例。
請參照第13圖,第13圖繪示根據本發明另一實施例的記憶體裝置的操作方法的流程圖。
在步驟S1301中,記憶體控制器接收來自外部的主控制器的寫入請求及第一資料。
在步驟S1302中,記憶體控制器判斷此寫入請求中每個記憶單元所要寫入的位元數(即第一參數)。當第一參數為N,執行S1303,記憶體控制器發送指示每個記憶單元寫入N個位元的寫入命令至控制邏輯電路,並將待寫入的第一資料發送至控制邏輯電路;當第一參數為K(K為小於N的正整數),執行S1304,記憶體控制器發送指示每個記憶單元寫入K個位元的寫入命令至控制邏輯電路,並將待寫入的第一資料發送至控制邏輯電路。
步驟S1305中,控制邏輯電路將待寫入的第一資料每N個位元為一筆子資料並儲存至至少一緩衝器。
步驟S1306中,控制邏輯電路將待寫入的第一資料每K個位元為一筆子資料,並儲存至緩衝器,並對應於每一筆子資料產生(N-K)個位元的偽資料,將偽資料儲存至緩衝器。
步驟S1307中,對於各個要被編程的記憶單元,控制邏輯電路根據緩衝器中要寫入該記憶單元的N個位元的子資料編程該記憶單元,以改變該記憶單元的閾值電壓以使該記憶單元的閾值電壓落於2
N個電壓範圍其中之一。
在步驟S1308中,對於各個要被編程的記憶單元,控制邏輯電路根據緩衝器中要寫入該記憶單元的K個位元的子資料及對應於該筆子資料的(N-K)個位元的偽資料編程該記憶單元,以改變該記憶單元的閾值電壓以使該記憶單元的閾值電壓落於從該2
N個電壓範圍選出的2
K個的其中之一。
需要注意的是,該2
N個電壓範圍係一對一對應於N個位元的二進制資料所包括的2
N種資料樣態。從該2
N個電壓範圍選出的2
K個電壓範圍係可預先決定並記錄在控制邏輯電路中。在一實施例中,從該2
N個電壓範圍選出的2
K個電壓範圍是不連續的,也就是任二個被選出的電壓範圍之間存在至少一個未被選出的電壓範圍,例如第7、8、10、11、12圖的實施例,以降低讀取時誤判的機率。在不同的實施例中,從該2
N個電壓範圍選出的2
K個電壓範圍或部分連續的,例如從第6圖的分布61ER~680中選出分布610、620來分別對應於SLC編程時的1及0。
請參照第14圖,第14圖繪示根據本發明又一實施例的QLC記憶單元儲存的資料與閾值電壓分布的示意圖。第14圖對應的是(1, 2, 4, 8) QLC伴碼。(1, 2, 4, 8) QLC伴碼係指在讀取QLC記憶單元時,第一次施加的讀取電壓的數量為一個,第二次施加的讀取偏壓的數量為二個,第三次施加的讀取偏壓的數量為四個,第四次施加的讀取偏壓的數量為八個。對應於分布141ER~1425的十六個電壓範圍一對一對應至四個位元的二進制資料的十六個資料樣態。接著,參照第15圖,第15圖繪示根據本發明又一實施例的MLC記憶單元儲存的資料與閾值電壓分布的示意圖。在本實施例中,對應於分布1410、1414、1418、1422薩個電壓範圍被選出做為MLC編程時的四個電壓範圍(或分布1510、1514、1518、1522),並一對一對應於二個位元的二進制資料的資料態樣。根據第14、15圖的實施例使用第13圖繪示的操作方法,即可以用以編程QLC記憶單元的控制邏輯電路編程MLC記憶單元。
需要注意的是,緩衝器的數量可以是一或多個,本發明不予以限定。
藉由本發明,對於可以支援每個記憶單元寫入最多N個位元的記憶裝置而言,可以節省下(N-1)個控制邏輯電路的面積。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10:記憶體裝置
102:記憶體控制器
104:記憶體晶片
106:記憶體陣列
108-1~108-3:緩衝器
110:控制邏輯電路
112:主控制器
S201~S209、S1301~S1308:步驟
300、400、500:第一資料
61ER~1522:分布
第1圖繪示根據本發明一實施例的記憶體裝置的方塊圖;
第2圖繪示根據本發明一實施例的記憶體裝置的操作方法的流程圖;
第3~5圖繪示將第一資料儲存至緩衝器的示意圖;
第6圖繪示根據本發明一實施例的TLC記憶單元儲存的資料與閾值電壓分布的示意圖;
第7圖繪示根據本發明一實施例的MLC記憶單元儲存的資料與閾值電壓分布的示意圖;
第8圖繪示根據本發明一實施例的SLC記憶單元儲存的資料與閾值電壓分布的示意圖;
第9圖繪示根據本發明另一實施例的TLC記憶單元儲存的資料與閾值電壓分布的示意圖;
第10圖繪示根據本發明另一實施例的MLC記憶單元儲存的資料與閾值電壓分布的示意圖;
第11圖繪示根據本發明另一實施例的SLC記憶單元儲存的資料與閾值電壓分布的示意圖;
第12圖繪示根據本發明又一實施例的SLC記憶單元儲存的資料與閾值電壓分布的示意圖;
第13圖繪示根據本發明另一實施例的記憶體裝置的操作方法的流程圖;
第14圖繪示根據本發明又一實施例的QLC記憶單元儲存的資料與閾值電壓分布的示意圖;
第15圖繪示根據本發明又一實施例的MLC記憶單元儲存的資料與閾值電壓分布的示意圖。
S1301~S1308:方法步驟
Claims (10)
- 一種記憶體裝置,包括: 一記憶體控制器,用以接收來自一主控制器的一寫入請求及一第一資料,並根據該寫入請求發送指示一第一參數的一寫入命令,其中該第一參數係代表每個記憶單元要寫入的二進制資料的位元數;以及 一記憶體,耦接至記憶體控制器,且包括: 一記憶體陣列,包括複數個記憶單元,各該記憶單元被配置以儲存最多N個位元的二進制資料,其中N為大於1的正整數; 至少一緩衝器;及 一控制邏輯電路,耦接至該記憶體陣列及該至少一緩衝器,並用以執行: 回應於該寫入命令,當該第一參數為小於N的正整數K時,將該第一資料每K個位元為一子資料,產生對應於各該子資料(N-K)個位元的一偽資料,並儲存該些子資料及該些偽資料至該至少一緩衝器;及 對於要被編程的各該記憶單元,根據該至少一緩衝器中要寫入該記憶單元的K個位元的該子資料及對應於要寫入該記憶單元的該子資料該(N-K)個位元的該偽資料編程該記憶單元,以致使該記憶單元的一閾值電壓落於從2 N個電壓範圍選出的2 K個電壓範圍的其中之一,其中該2 N個電壓範圍係一對一對應於N個位元的二進制資料包括的2 N種資料樣態。
- 如請求項1所述之記憶體裝置,其中從該2 N個電壓範圍選出的該2 K個電壓範圍係不連續的。
- 如請求項1所述之記憶體裝置,其中N為3,K為2,該控制邏輯電路係將各該子資料輸入至XNOR邏輯閘以產生對應於各該子資料的該偽資料。
- 如請求項1所述之記憶體裝置,其中N為3,K為1,該控制邏輯電路對應於各該子資料產生的偽資料為二個位元的二進制資料11。
- 如請求項1所述之記憶體裝置,其中該控制邏輯電路更用以執行: 回應於該寫入命令,當該第一參數為N時,將該第一資料每N個位元為一子資料,並儲存該些子資料至該至少一緩衝器;以及 對於要被編程的各該記憶單元,根據該至少一緩衝器中要寫入該記憶單元的N個位元的該子資料編程該記憶單元,以致使該記憶單元的一閾值電壓落於該2 N個電壓範圍的其中之一。
- 一種記憶體裝置的操作方法,包括: 接收來自一主控制器的一寫入請求及一第一資料; 根據該寫入請求發送指示一第一參數的一寫入命令,其中該第一參數係代表每個記憶單元要寫入的二進制資料的位元數,其中各記憶單元被配置以儲存最多N個位元的二進制資料,N為大於1的正整數; 回應於該寫入命令,當該第一參數為小於N的正整數K時,將該第一資料每K個位元為一子資料,產生對應於各該子資料(N-K)個位元的一偽資料,並儲存該些子資料及該些偽資料至至少一緩衝器;以及 對於要被編程的各個記憶單元,根據該至少一緩衝器中要寫入該記憶單元的K個位元的該子資料及對應於要寫入該記憶單元的該子資料該(N-K)個位元的該偽資料編程該記憶單元,以致使該記憶單元的一閾值電壓落於從2 N個電壓範圍選出的2 K個電壓範圍的其中之一,其中該2 N個電壓範圍係一對一對應於N個位元的二進制資料包括的2 N種資料樣態。
- 如請求項6所述之操作方法,其中從該2 N個電壓範圍選出的該2 K個電壓範圍係不連續的。
- 如請求項6所述之操作方法,其中N為3,K為2,各該子資料係被輸入至XNOR邏輯閘以產生對應於各該子資料的該偽資料。
- 如請求項6所述之操作方法,其中N為3,K為1,對應於各該子資料產生的偽資料為二個位元的二進制資料11。
- 如請求項6所述之操作方法,更包括: 回應於該寫入命令,當該第一參數為N時,將該第一資料每N個位元為一子資料,並儲存該些子資料至該至少一緩衝器;以及 對於要被編程的各該記憶單元,根據該至少一緩衝器中要寫入該記憶單元的N個位元的該子資料編程該記憶單元,以致使該記憶單元的一閾值電壓落於該2 N個電壓範圍的其中之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111122988A TWI812295B (zh) | 2022-06-21 | 2022-06-21 | 記憶體裝置及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111122988A TWI812295B (zh) | 2022-06-21 | 2022-06-21 | 記憶體裝置及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI812295B true TWI812295B (zh) | 2023-08-11 |
TW202401257A TW202401257A (zh) | 2024-01-01 |
Family
ID=88585813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111122988A TWI812295B (zh) | 2022-06-21 | 2022-06-21 | 記憶體裝置及其操作方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI812295B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200506626A (en) * | 2003-06-02 | 2005-02-16 | Emulex Design & Mfg Corp | Method and apparatus for local and distributed data memory access ("DMA") control |
CN109785887A (zh) * | 2017-11-14 | 2019-05-21 | 三星电子株式会社 | 非易失性存储器设备及其操作方法 |
TW202029189A (zh) * | 2018-07-19 | 2020-08-01 | 慧榮科技股份有限公司 | 快閃記憶體控制器、快閃記憶體模組以及電子裝置 |
CN114327367A (zh) * | 2022-03-07 | 2022-04-12 | 北京智芯微电子科技有限公司 | 伪数据处理方法、装置、执行单元以及处理器 |
US20220113896A1 (en) * | 2020-10-14 | 2022-04-14 | Samsung Electronics Co., Ltd. | Memory device, storage device including the same and method of operating the storage device |
-
2022
- 2022-06-21 TW TW111122988A patent/TWI812295B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200506626A (en) * | 2003-06-02 | 2005-02-16 | Emulex Design & Mfg Corp | Method and apparatus for local and distributed data memory access ("DMA") control |
CN109785887A (zh) * | 2017-11-14 | 2019-05-21 | 三星电子株式会社 | 非易失性存储器设备及其操作方法 |
TW202029189A (zh) * | 2018-07-19 | 2020-08-01 | 慧榮科技股份有限公司 | 快閃記憶體控制器、快閃記憶體模組以及電子裝置 |
TW202131164A (zh) * | 2018-07-19 | 2021-08-16 | 慧榮科技股份有限公司 | 快閃記憶體控制器以及用來存取快閃記憶體模組的方法 |
US20220113896A1 (en) * | 2020-10-14 | 2022-04-14 | Samsung Electronics Co., Ltd. | Memory device, storage device including the same and method of operating the storage device |
CN114327367A (zh) * | 2022-03-07 | 2022-04-12 | 北京智芯微电子科技有限公司 | 伪数据处理方法、装置、执行单元以及处理器 |
Also Published As
Publication number | Publication date |
---|---|
TW202401257A (zh) | 2024-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928140B2 (en) | Non-volatile memory device and method of operating the same | |
JP6202972B2 (ja) | メモリシステム及びそれの読み出し校正方法 | |
US20190147941A1 (en) | Managing refresh operations for a memory device | |
JP6298249B2 (ja) | 不揮発性メモリ装置とそれを含むメモリシステム及びそれらのメモリブロック管理、消去、及びプログラム方法 | |
US8788908B2 (en) | Data storage system having multi-bit memory device and on-chip buffer program method thereof | |
KR101556472B1 (ko) | 메모리의 동작 조건에 영향을 주는 파라미터를 포함하는 메모리 명령어 | |
US11164634B2 (en) | Non-volatile storage system with fast SLC operation | |
US7800943B2 (en) | Integrated circuit having a memory cell arrangement and method for reading a memory cell state using a plurality of partial readings | |
US8417879B2 (en) | Method for suppressing errors, and associated memory device and controller thereof | |
KR102025251B1 (ko) | 메모리 시스템 및 그것의 프로그램 방법 | |
US8432735B2 (en) | Memory system and related method of programming | |
KR102005888B1 (ko) | 불휘발성 메모리 장치 및 그것의 읽기 방법 | |
KR101923157B1 (ko) | 메모리 시스템 및 그것의 프로그램 방법 | |
KR20100096457A (ko) | 메모리 시스템 및 그것의 데이터 처리 방법 | |
KR20100058166A (ko) | 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 | |
US9466390B2 (en) | Nonvolatile memory system and programming method including a reprogram operation using a page buffer to reduce data load operations | |
JP2021131922A (ja) | プログラム(progam)検証スキップを備える不揮発性メモリ | |
KR20110114020A (ko) | 멀티-비트 메모리의 프로그램 방법 및 그것을 이용한 데이터 저장 시스템 | |
KR20200083917A (ko) | 버퍼 리셋 커맨드를 이용하는 메모리 관리 | |
TWI812295B (zh) | 記憶體裝置及其操作方法 | |
WO2023047149A1 (en) | Improved ecc configuration in memories | |
CN117316212A (zh) | 存储器装置及其操作方法 | |
US20230317131A1 (en) | Unbalanced programmed data states in memory | |
US20230410921A1 (en) | Three-bit-per-cell programming using a four-bit-per-cell programming algorithm | |
CN115910167A (zh) | 没有介于中间的擦除操作的存储器单元的多编程 |