TW201812564A - 記憶體裝置及其程式化方法 - Google Patents
記憶體裝置及其程式化方法 Download PDFInfo
- Publication number
- TW201812564A TW201812564A TW105142410A TW105142410A TW201812564A TW 201812564 A TW201812564 A TW 201812564A TW 105142410 A TW105142410 A TW 105142410A TW 105142410 A TW105142410 A TW 105142410A TW 201812564 A TW201812564 A TW 201812564A
- Authority
- TW
- Taiwan
- Prior art keywords
- data unit
- array
- data
- processed
- input data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2245—Memory devices with an internal cache buffer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
一種記憶體裝置包括:記憶體陣列,包括儲存資料的多個記憶體胞;感測電路,耦接至所述記憶體陣列以讀取儲存在所述記憶體陣列中的資料;資料暫存器,用於儲存欲寫入至所述記憶體陣列,資料處理器,以及控制單元中的資料。所述資料處理器用以接收欲寫入至所述記憶體陣列中的輸入資料單元,以及基於儲存在所述記憶體陣列中的陣列資料單元處理所述輸入資料單元,以產生已處理之資料單元。所述控制單元用以將所述已處理資料單元寫入至所述記憶體陣列中。
Description
本發明是有關於一種電子裝置,且特別是有關於一種記憶體裝置及所述記憶體裝置的程式化方法。
快閃記憶體裝置已在各種各樣的應用中得到採用。快閃記憶體裝置透過以程式化操作改變包含在快閃記憶體裝置中的多個記憶體胞的閥值電壓來儲存資料。快閃記憶體裝置必須具有可靠性,以使資料能夠正確地儲存在記憶體裝置中。
本發明提供一種記憶體裝置包括:記憶體陣列,包括儲存資料的多個記憶體胞;感測電路,耦接至所述記憶體陣列以讀取儲存在所述記憶體陣列中的資料;資料暫存器,用於儲存欲寫入至所述記憶體陣列,資料處理器以及控制單元中的資料。所述資料處理器用以接收欲寫入至所述記憶體陣列中的輸入資料單元,以及基於儲存在所述記憶體陣列中的陣列資料單元處理所述輸入資料單元,以產生已處理之資料單元。所述控制單元用以將所述已處理資料單元寫入至所述記憶體陣列中。
本發明還提供一種對記憶體陣列進行程式化的方法包括:接收欲寫入至所述記憶體陣列中的輸入資料單元;基於儲存在所述記憶體陣列中的陣列資料單元處理所述輸入資料單元,以產生已處理之資料單元;以及將所述已處理資料單元寫入至所述記憶體陣列中。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是說明根據所示出實施例的記憶體裝置100的示意圖。記憶體裝置100可為非揮發性記憶體裝置,例如快閃記憶體裝置、電阻式隨機存取記憶體(Resistive Random Access Memory,ReRAM)裝置、或磁阻式隨機存取記憶體(Magnetoresistive Random Access Memory,MRAM)裝置。記憶體裝置100包括記憶體陣列110、控制單元120、位址解碼器130、列選擇電路140、行選擇電路150、感測電路160、資料處理器170、及資料暫存器180。記憶體裝置100還包括用於與外部裝置(未示出)進行通信的多個接腳,例如時脈接腳(CLK)、晶片選擇接腳(CSb)、串列輸入接腳(SI)、串列輸出接腳(SO)、電源接腳(VCC)、及接地接腳(GND)。
記憶體陣列110包括在多個字元線(未示出)與多個位元線(未示出)之間排列成行與列的多個記憶體胞(未示出)。每一列記憶體胞的閘極共同地連接至所述多個字元線中的相應一條字元線。每一行記憶體胞連接至所述多個位元線中的相應一條位元線。
控制單元120耦接至所述多個接腳,且用以接收從所述外部裝置經由串列輸入接腳傳輸的命令、位址、及輸入資料,並回應於所述命令來控制記憶體裝置100的各種元件(例如位址解碼器130、列選擇電路140、行選擇電路150、感測電路160、及資料處理器170)的運行。在圖1所示的實施例中,控制單元120包括處理器122、儲存單元124、及電壓產生器126。儲存單元124用以儲存指令,所述指令由處理器122回應於所述命令來執行以控制記憶體裝置100的所述各種元件的運行。處理器122是可用以執行儲存在儲存單元124中的所述指令的通用處理器。電壓產生器126用以產生用於控制記憶體裝置100的所述各種元件的運行的各種電壓。在替代實施例中,控制單元120可包括用以控制記憶體裝置100的所述各種元件的運行的專用邏輯電路。
位址解碼器130耦接至控制單元120、列選擇電路140、及行選擇電路150,且用以接收從控制單元120傳遞的位址並對所接收的位址進行解碼以獲得記憶體陣列110中的列位址及行位址。位址解碼器130還用以將所述列位址傳遞至列選擇電路140以及將所述行位址傳遞至行選擇電路150。
列選擇電路140耦接至記憶體陣列110且用以從位址解碼器130接收所述列位址,並對記憶體陣列110的字元線供應字元線電壓以根據所述列位址來選擇至少一條字元線。
行選擇電路150耦接至記憶體陣列110且用以從位址解碼器130接收所述行位址,並對記憶體陣列110的位元線供應位元線電壓以根據所述行位址來選擇至少一條位元線。
感測電路160耦接至記憶體陣列110且用以讀取儲存在記憶體陣列110中的陣列資料,並將所述陣列資料傳遞至控制單元120或傳遞至資料處理器170。
資料處理器170耦接在控制單元120與感測電路160之間,且用以從控制單元120接收輸入資料及從感測電路160接收陣列資料、基於所述陣列資料處理所述輸入資料以產生已處理資料、及將所述已處理資料寫入至資料暫存器180中。
資料暫存器180耦接至資料處理器170並用以儲存欲寫入至記憶體陣列110中的資料。舉例來說,資料暫存器180儲存由資料處理器170產生的已處理資料。
儘管將控制單元120、位址解碼器130、列選擇電路140、行選擇電路150、感測電路160、資料處理器170、及資料暫存器180示出為單獨的組件,但所屬領域中的技術人員將認識到,可將各元件結合成一個電路。
圖2是說明根據所示出實施例對記憶體裝置100供應的用於對記憶體陣列110進行程式化的信號的時序圖。具體來說,對記憶體裝置100的晶片選擇接腳(CSb)供應晶片選擇信號200,並對記憶體裝置100的串列輸入接腳(SI)供應串列輸入信號210。
根據圖2,當將供應至晶片選擇接腳的晶片選擇信號200從高電壓準位驅動至低電壓準位時,包括指令序列250的串列輸入信號210被供應至記憶體裝置100的串列輸入接腳。指令序列250包括程式化指令252、位址254、及欲程式化至記憶體陣列110中的一系列(series)輸入資料單元258。程式化指令252、位址254、及所述一系列輸入資料單元258是從外部裝置串列地傳輸。在圖2所示的實施例中,程式化指令252是指示記憶體裝置100執行程式化操作的8位元指令碼“02h”。位址254由24位元的位址資料組成,且代表記憶體陣列110中的所述多個輸入資料單元258欲被程式化到的位置的初始位址n。所述一系列輸入資料單元258包括資料單元n(在圖2中表示為“Data n”)、資料單元n+1(在圖2中表示為“Data n+1”)、×××、資料單元n+i(在圖2中表示為“Data n+i”)。資料單元n欲程式化至記憶體陣列110中的與初始位址n對應的位置,資料單元n+1欲程式化至與位址n+1對應的位置,等等。所述多個輸入資料單元258中的每一輸入資料單元包括多個輸入資料位元。舉例來說,所述多個輸入資料單元258中的每一輸入資料單元包括8位元的“0”及“1”作為輸入資料位元。
在傳統的記憶體裝置中,當控制單元120接收到指令序列250時,控制單元120會將包含在指令序列250中的所述多個輸入資料單元258寫入至資料暫存器180中。接著,當將晶片選擇信號200從低電壓準位驅動至高電壓準位時,控制單元120將從由位址254代表的位置開始,執行嵌入式程式化操作以將輸入資料單元258中的每一輸入資料單元程式化至記憶體陣列110中。
一般來說,記憶體陣列110中的所述多個記憶體胞中的每一記憶體胞可為儲存一個資料位元“1”或“0”的單電壓準位胞元(single level cell,SLC)。如果記憶體裝置100是快閃記憶體裝置,則可通過程式化操作將儲存“1”的記憶體胞程式化為儲存“0”。在所述程式化操作之前,可執行擦除操作以對記憶體胞的區塊進行擦除來儲存“1”。然而,在某些情形中,當記憶體胞已儲存“0”時,外部裝置可能仍指示所述記憶體裝置將“0”程式化至所述記憶體胞中。這種情景被稱作“過度程式化”(over-programming)。記憶體胞的過多的過度程式化可使記憶體胞的完整性惡化。
為了避免過度程式化,根據本發明的實施例,在記憶體裝置100接收到所述整個系列的輸入資料單元258之後以及在嵌入式程式化操作期間,對在記憶體陣列110中的一組記憶體胞中所儲存的陣列資料單元進行檢查並將其與輸入資料單元258進行比較,且嵌入式程式化操作只將“0”程式化至儲存“1”的記憶體胞中。然而,所述檢查過程是費時的,且因此延長嵌入式程式化操作的過程。
相比之下,在根據以下所述實施例的程式化方法中,一旦對應的輸入資料單元被輸入至記憶體裝置100中,便對儲存在記憶體陣列110中的陣列資料單元進行讀取並將每一陣列資料單元與所述對應的輸入資料單元進行比較。圖3是說明根據這種實施例的對記憶體裝置100進行程式化的過程300的流程圖。過程300可由圖1所示的控制單元120執行。
參照圖3,在步驟310處,控制單元120接收從外部裝置傳輸的程式化指令。舉例來說,記憶體裝置100的控制單元120經由記憶體裝置100的串列輸入接腳來接收包含在指令序列250中的程式化指令252。
在步驟320處,控制單元120接收從所述外部裝置傳輸的初始位址。舉例來說,記憶體裝置100的控制單元120經由記憶體裝置100的串列輸入接腳來接收包含在指令序列250中的位址254。位址254代表記憶體陣列110中所述多個輸入資料單元258欲程式化至的位置的初始位址。
在步驟330處,控制單元120接收從所述外部裝置傳輸的一系列輸入資料單元,在接收所述一系列輸入資料單元的同時基於儲存在記憶體陣列110中的陣列資料單元處理所述輸入資料單元以產生已處理資料單元,並將所述已處理資料單元寫入至資料暫存器180中。舉例來說,記憶體裝置100的控制單元120可經由記憶體裝置100的串列輸入接腳接收包含在指令序列250中的所述多個輸入資料單元258。當控制單元120接收到所述輸入資料單元中的一個輸入資料單元時,控制單元120基於儲存在記憶體陣列110中的對應位置中的陣列資料單元處理所述輸入資料單元,並將所述已處理資料單元寫入至資料暫存器180中。參照圖4將提供關於步驟330的詳細說明。
在步驟340處,控制單元120執行程式化操作以從所述初始位址開始,將資料暫存器180中的已處理資料單元寫入至記憶體陣列110中。將參照圖5提供關於步驟340的詳細說明。在步驟340之後,過程300結束。
圖4是說明根據所示出實施例執行圖3中的步驟330的過程400的流程圖。過程400可由圖1所示的控制單元120執行。
如先前所闡述,在過程400開始之前,控制單元120已接收到從所述外部裝置傳輸的初始位址,且所述初始位址代表記憶體陣列110中所述多個輸入資料單元258欲程式化至的開始位置。假設在過程400開始時,所述初始位址是n。
在步驟410處,控制單元120接收從所述外部裝置傳輸的輸入資料單元。所述輸入資料單元與位址n相關聯。也就是說,所述輸入資料單元欲寫入至記憶體陣列110中的具有位址n的位置中。所述輸入資料單元包括固定數目的輸入資料位元。舉例來說,所述輸入資料單元包括8個輸入資料位元“01010010”,這8個輸入資料位元“01010010”欲寫入至記憶體陣列110中的具有位址n的多個記憶體胞中。
在步驟420處,控制單元120控制感測電路160以從記憶體陣列110的位址n讀取陣列資料單元。所述陣列資料單元包括固定數目的陣列資料位元,且具有與所述輸入資料單元相同的長度。所述陣列資料單元中的所述多個陣列資料位元分別對應於所述輸入資料單元中的所述多個輸入資料位元。舉例來說,所述陣列資料單元包括8個陣列資料位元(即,“00101010”)。
在步驟430處,控制單元120控制資料處理器170以基於所述陣列資料單元處理所述輸入資料單元來產生已處理資料單元。所述已處理資料單元包括分別與所述輸入資料單元中的所述多個輸入資料位元的對應的多個已處理資料位元。
在某些實施例中,當記憶體裝置100是快閃記憶體裝置時,資料處理器170將所述輸入資料單元中的每一輸入資料位元與所述陣列資料單元中的所述陣列資料位元中的對應的一個陣列資料位元進行比較。當所述輸入資料位元及所述陣列資料位元二者均為“0”時,資料處理器170將輸入資料位元從“0”變至“1”以產生已處理資料位元“1”作為對應的已處理資料位元。當在接下來的步驟中執行程式化操作時,僅將已處理資料位元“0”程式化至記憶體陣列中,而不對已處理資料位元“1”程式化。因此,作為在步驟430處處理所述輸入資料單元的結果,記憶體裝置100將僅對儲存陣列資料位元“1”的記憶體胞程式化“0”。
表1匯總了根據示例性實施例來處理輸入資料單元中的輸入資料位元的方案。 表 1
根據表1,當陣列資料位元是“0”且對應的輸入資料位元是“0”時,已處理資料位元將為“1”,從而將不會被程式化;當陣列資料位元是“0”且對應的輸入資料位元是“1”時,已處理資料位元將為“1”,從而將不會被程式化;當陣列資料位元是“1”且對應的輸入資料位元是“0”時,已處理資料位元將為“0”,從而將會被程式化;且當陣列資料位元是“1”且對應的輸入資料位元是“1”時,已處理資料單元中的資料位元將為“1”,從而將不會被程式化。
表2包括根據示例性實施例的輸入資料單元、陣列資料單元、已處理資料單元、以及所得資料單元(通過對已處理資料單元進行程式化的程式化操作而產生的儲存在對應的一組記憶體胞中的資料單元)。 表 2
如表2所示,當陣列資料單元是“10101010”且輸入資料單元是“01010010”時,已處理資料單元將為“01010111”。接著,在程式化操作之後,儲存在對應的一組記憶體胞中的資料單元將為“00000010”。
在步驟440處,控制單元120控制資料處理器170以將已處理資料單元寫入至資料暫存器180中,以及將被寫入至資料暫存器180中的已處理資料單元與位址n相關聯。
在步驟450處,控制單元120判斷當前輸入資料單元是否為所述一系列輸入資料單元258中的最後一個輸入資料單元。如果當前輸入資料單元不是所述一系列輸入資料單元258中的最後一個輸入資料單元(步驟450:否),則在步驟460處,控制單元120將位址n遞增1(即,遞增的位址n=n+1)。在步驟460之後,控制單元120返回至步驟410以接收與遞增的位址n相關聯的另一輸入資料單元。如果當前輸入資料單元是所述一系列輸入資料單元258中的最後一個輸入資料單元(步驟450:是),則過程400結束。
圖5是說明根據所示出實施例執行圖3中的步驟340的過程500的流程圖。過程500可由圖1所示的控制單元120執行。
在過程500開始時,控制單元120將當前位址設定為開始位址n,所述開始位址n是最初從外部裝置接收到的初始位址。在步驟510處,控制單元120從資料暫存器180讀取與位址n相關聯的已處理資料單元。在步驟512處,控制單元120將已處理資料單元寫入至記憶體陣列110的位址n處的一組記憶體胞中。
在步驟512期間,控制單元120將已處理資料單元中的所有已處理資料位元寫入至對應於位址n的所述一組記憶體胞中。在某些實施例中,當記憶體裝置100是快閃記憶體裝置時,如果已處理資料位元是“0”,則控制單元120對與所述已處理資料位元對應的記憶體胞施加程式化電壓以將“0”寫入至所述記憶體胞中;而如果已處理資料位元是“1”,則控制單元120不對所述對應的記憶體胞施加程式化電壓,且因此所述記憶體胞不被程式化且儲存在所述記憶體胞中的資料保持不變。
在步驟514處,控制單元120判斷當前位址n是否為結束位址。所述結束位址代表記憶體陣列110中所述最後一個已處理資料單元欲寫入至的位址。在某些實施例中,所述結束位址可包含在被供應至記憶體裝置100的串列輸入接腳的指令序列250中。在其他實施例中,控制單元120可包括計數器以對包含在指令序列250中的輸入資料單元258的數目進行計數,且當輸入資料單元258為包含在指令序列250中的最後一個單元時,控制單元120確定當前位址n是所述結束位址。如果當前位址n不是所述結束位址(步驟514:否),則在步驟516處,控制單元120將位址n遞增1(即,n=n+1)。在步驟516之後,控制單元120返回至步驟510以從資料暫存器180讀取與位址n相關聯的另一已處理資料單元。
如果當前位址n是結束位址(步驟514:是),則控制單元120確定已將資料暫存器180中的所有已處理資料單元寫入至記憶體陣列110的記憶體胞中。接著,控制單元120執行驗證過程以驗證已成功地將已處理資料單元寫入至記憶體陣列110的記憶體胞中。
具體來說,在步驟520處,控制單元120將當前位址重設成開始位址n,所述開始位址n為最初從外部裝置接收到的初始位址。在步驟522處,控制單元120從資料暫存器180讀取與位址n相關聯的已處理資料單元。在步驟524處,控制單元120控制感測電路160以讀取儲存在記憶體陣列110的位址n處的一組記憶體胞中的陣列資料單元。在步驟526處,控制單元120對所述陣列資料單元中的每一陣列資料位元與其在所述已處理資料單元中的對應的已處理資料位元進行比較,以確定儲存所述陣列資料單元的陣列資料位元的每一記憶體胞的驗證狀態。
表3匯總了確定記憶體胞的驗證狀態的方案。 表3
根據表3,如果陣列資料位元是“1”且其對應的已處理資料位元是“0”,則控制單元120確定儲存所述陣列資料位元的記憶體胞未通過驗證,且需要重新程式化。反之,如果陣列資料位元是“1”且其對應的已處理資料位元是“1”,則控制單元120確定儲存所述陣列資料位元的記憶體胞通過驗證,且不需要程式化操作。或者,如果陣列資料位元是“0”且其對應的已處理資料位元是“1”或“0”,則控制單元120也確定儲存所述陣列資料位元的記憶體胞通過驗證且不需要程式化操作。
在確定在位址n處的所述一組記憶體胞的驗證狀態之後,在步驟528處,控制單元120判斷所述一組記憶體胞中的所有記憶體胞是否均通過驗證。如果至少一個記憶體胞未通過驗證(步驟528:否),則在步驟530處,控制單元120將已處理資料單元寫入至記憶體陣列110的位址n處的所述一組記憶體胞中。接著,控制單元120進行至步驟532。如果所述一組記憶體胞中的所有記憶體胞均通過驗證(步驟528:是),則控制單元120直接進行至步驟532。
在步驟532處,控制單元120判斷位址n是否為結束位址。如果位址n不是結束位址(步驟532:否),則在步驟534處,控制單元120將所述位址n遞增1(即,遞增的位址n=n+1)。在步驟534之後,控制單元120返回至步驟522以從資料暫存器180讀取與位址n相關聯的另一已處理資料單元。如果位址n是結束位址(步驟532:是),則過程500結束。
在圖3、圖4、及圖5中闡述的事件的序列是示例性的且並不打算為限制性的。因此,在不背離所公開實施例的範圍的條件下,圖3、圖4、及圖5中所繪示的事件的特定次序可有所變化。此外,可並行地(即,彼此同時地)執行圖3、圖4、及圖5中所繪示的事件中的某些事件。舉例來說,參照圖4,可與從記憶體陣列110的位址n讀取陣列資料單元的步驟420同時地執行接收與位址n相關聯的輸入資料單元的步驟410。作為另一實例,處理與位址n相關聯的輸入資料單元的步驟430及將已處理資料單元寫入至資料暫存器180中的步驟440可彼此同時地及與接收與遞增的位址相關聯的輸入資料單元的步驟(即,在對位址n進行遞增(遞增的位址n=n+1)時在下一反覆運算中的步驟410)同時地執行。
圖6是根據以上參照圖3及圖4所述的示例性實施例的對記憶體裝置100執行的程式化過程的時序圖。根據圖6,當將供應至記憶體裝置100的晶片選擇接腳的晶片選擇信號600從高電壓準位驅動至低電壓準位時,控制單元120在時段t0處接收程式化指令“02h”,且在時段t1處接收位址n。在時段t2期間,控制單元120接收與位址n相關聯的輸入資料單元,並控制感測電路160從記憶體陣列110讀取與位址n相關聯的陣列資料單元。在時段t3期間,控制單元120接收與位址n+1相關聯的輸入資料單元,並控制資料處理器170處理與位址n相關聯的所述輸入資料單元以產生與位址n相關聯的已處理資料單元並且將與位址n相關聯的所述已處理資料單元寫入至資料暫存器180中,以及控制感測電路160從記憶體陣列110讀取與位址n+1相關聯的陣列資料單元。在時段t4及時段t5中的每一者期間,控制單元120均執行與在時段t3中相似的過程。接著,在時段t6期間,控制單元120接收與位址n+i相關聯的輸入資料單元,並控制資料處理器170處理與位址n+i-1相關聯的輸入資料單元以產生與位址n+i-1相關聯的已處理資料單元並且將與位址n+i-1相關聯的所述已處理資料單元寫入至資料暫存器180中,以及控制感測電路160從記憶體陣列110讀取與位址n+i相關聯的陣列資料單元。在時段t7期間,控制單元120控制資料處理器170處理與位址n+i相關聯的所述輸入資料單元以產生與位址n+i相關聯的已處理資料單元並且將與位址n+i相關聯的所述已處理資料單元寫入至資料暫存器180中。在時段t7之後,將晶片選擇信號600從低電壓準位驅動至高電壓準位,且接著控制單元120執行嵌入式程式化操作,例如參照圖5所述的操作。
在上述實施例中,已闡釋了其中僅可對記憶體胞程式化為“0”的快閃記憶體裝置作為實例。在其他實施例中,當記憶體裝置100是電阻式隨機存取記憶體裝置或磁阻式隨機存取記憶體裝置時,可通過寫入操作對記憶體胞寫入“1”或者“0”。一般來說,這種記憶體裝置(電阻式隨機存取記憶體裝置或磁阻式隨機存取記憶體裝置)的寫入操作可被劃分成寫入“1”操作及寫入“0”操作。所述寫入“1”操作在跳過輸入資料位元“0”的同時僅寫入輸入資料位元“1”。所述寫入“0”操作則在跳過輸入資料位元“1”的同時僅寫入輸入資料位元“0”。
根據本發明的實施例,當記憶體裝置(例如電阻式隨機存取記憶體裝置或磁阻式隨機存取記憶體裝置)接收到輸入資料單元時,記憶體裝置從包含在所述記憶體裝置中的記憶體陣列讀取陣列資料單元,並基於所述陣列資料單元處理輸入資料單元,以產生用於所述寫入“1”操作的第一已處理資料單元及用於所述寫入“0”操作的第二已處理資料單元。接著,記憶體裝置將第一已處理資料單元及第二已處理資料單元儲存至資料暫存器(例如,圖1中的資料暫存器180)中。隨後,記憶體裝置根據第一已處理資料單元執行所述寫入“1”操作,且根據第二已處理資料單元執行所述寫入“0”操作。
當產生第一已處理資料單元時,如果輸入資料位元及陣列資料位元二者均為“1”,則記憶體裝置將輸入資料位元從“1”變至“0”以產生已處理資料單元“0”。接著,當在接下來的步驟中執行寫入“1”操作時,將僅寫入已處理資料位元“1”,而不會寫入已處理資料位元“0”。這樣,將會避免對“1”的過度程式化。
當產生第二已處理資料單元時,如果輸入資料位元及陣列資料位元二者均為“0”,則記憶體裝置將輸入資料位元從“0”變至“1”以產生已處理資料單元“1”。接著,當在接下來的步驟中執行寫入“0”操作時,將僅寫入已處理資料位元“0”,而不會寫入已處理資料位元“1”。這樣,將會避免對“0”的過度程式化。
表4包括根據示例性實施例的陣列資料單元、輸入資料單元、第一已處理資料單元、第二已處理資料單元、及所得資料單元(通過寫入“1”操作及寫入“0”操作而產生的儲存在對應的一組記憶體胞中的資料單元)。 表 4
如表4所示,當陣列資料單元是“10101010”且輸入資料單元是“01011010”時,第一已處理資料單元將為“01010000”且第二已處理資料單元將為“010111111”。接著,在寫入“1”操作及寫入“0”操作之後,儲存在對應的一組記憶體胞中的資料單元將為與輸入資料單元相同的“01011010”。
在上述實施例中,已闡述了由8個資料位元組成的資料單元作為實例。現在對所屬領域中的技術人員而言將顯而易見,所公開實施例的記憶體裝置及程式化方法可應用至由大於或少於8個資料位元組成的資料單元。
此外,在上述實施例中,已闡述了其中各自儲存單個資料位元的單電壓準位記憶體胞作為實例。現在對所屬領域中的技術人員而言將顯而易見,所公開實施例的記憶體裝置及程式化方法可應用至各自儲存兩個或更多個資料位元的多電壓準位記憶體胞。
僅出於解釋目的,在本文中參照圖1所示組件闡述了某些方面及實施例。現在對所屬領域中的技術人員而言將顯而易見,所示組件的功能性可重疊且可存在於更少的或更大的數目的元件及元件中。再者,所示元件的功能性的全部或部分可共存在單個積體電路晶片上或可分佈在若干積體電路晶片中。此外,本文中所公開的實施例、特徵、方面、及原理可在各種環境中進行實作且不受所示環境的限制。
再者,可省略在圖3、圖4、及圖5中所繪示的某些過程階段且可在圖3、圖4、及圖5中實作附加的階段。此外,本文中所述的過程並不固有地涉及任何特定系統或設備且可由任何合適的元件組合進行實作。
根據所公開實施例的記憶體裝置及程式化方法比傳統技術具有優勢。第一,所述程式化方法在接收一系列輸入資料單元的同時(即,在嵌入式程式化操作之前)處理所述一系列輸入資料單元。因此,執行所述嵌入式程式化操作所需的時間減少。第二,所述程式化方法基於儲存在記憶體陣列110中的陣列資料單元處理輸入資料單元,因此避免了將“0”程式化為“0”的過度程式化方案。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧記憶體裝置
110‧‧‧記憶體陣列
120‧‧‧控制單元
122‧‧‧處理器
124‧‧‧儲存單元
126‧‧‧電壓產生器
130‧‧‧位址解碼器
140‧‧‧列選擇電路
150‧‧‧行選擇電路
160‧‧‧感測電路
170‧‧‧資料處理器
180‧‧‧資料暫存器
200、600‧‧‧晶片選擇信號
210‧‧‧串列輸入信號
250‧‧‧指令序列
252‧‧‧程式化指令
254‧‧‧位址
258‧‧‧輸入資料單元
300、400、500‧‧‧過程
310、320、330、340、410、420、430、440、450、460、510、512、514、516、520、522、524、526、528、530、532、534‧‧‧步驟
CLK‧‧‧時脈接腳
CSb‧‧‧晶片選擇接腳
GND‧‧‧接地接腳
SI‧‧‧串列輸入接腳
SO‧‧‧串列輸出接腳
t0、t1、t2、t3、t4、t5、t6、t7‧‧‧時段
VCC‧‧‧電源接腳
Data n~Data n+i‧‧‧資料單元
圖1是說明根據所示出實施例的記憶體裝置的示意圖。 圖2是說明根據所示出實施例對圖1所示記憶體裝置供應的用於對記憶體裝置進行程式化的信號的時序圖。 圖3是說明根據所示出實施例對圖1所示記憶體裝置進行程式化的過程的流程圖。 圖4是說明根據所示出實施例執行圖3所示過程中的步驟的過程的流程圖。 圖5是說明根據所示出實施例執行圖3所示過程中的另一步驟的過程的流程圖。 圖6是根據所示出實施例在記憶體裝置上執行的程式化過程的時序圖。
Claims (18)
- 一種記憶體裝置,包括: 記憶體陣列,包括儲存資料的多個記憶體胞; 感測電路,耦接至所述記憶體陣列以讀取儲存在所述記憶體陣列中的資料; 資料暫存器,用於儲存欲寫入至所述記憶體陣列中的資料; 資料處理器,用以: 接收欲寫入至所述記憶體陣列中的輸入資料單元;以及 基於儲存在所述記憶體陣列中的陣列資料單元處理所述輸入資料單元,以產生已處理資料單元;以及 控制單元,用以將所述已處理資料單元寫入至所述記憶體陣列中。
- 如申請專利範圍第1項所述的記憶體裝置,所述資料處理器用以,當接收欲寫入至所述記憶體陣列中的所述輸入資料單元並基於儲存在所述記憶體陣列中的陣列資料單元處理所述輸入資料單元以產生已處理資料單元時: 接收與初始位址相關聯的第一輸入資料單元; 從所述感測電路接收第一陣列資料單元,所述第一陣列資料單元儲存在所述記憶體陣列中的所述初始位址處; 基於所述第一陣列資料單元處理所述第一輸入資料單元,產生第一已處理資料單元;以及 將所述第一已處理資料單元寫入至所述資料暫存器中,並將所述第一已處理資料單元與所述初始位址相聯結。
- 如申請專利範圍第2項所述的記憶體裝置,所述第一輸入資料單元包括固定數目的輸入資料位元,所述第一陣列資料單元包括分別與所述第一輸入資料單元中的所述輸入資料位元對應的所述固定數目的陣列資料位元,且所述第一已處理資料單元包括分別與所述第一輸入資料單元中的所述輸入資料位元對應的所述固定數目的已處理資料位元,所述資料處理器用以,當基於所述第一陣列資料單元處理所述第一輸入資料單元以產生所述第一已處理資料單元時: 將所述第一輸入資料單元中的每一輸入資料位元與所述第一陣列資料單元中的所述陣列資料位元中的對應的一個陣列資料位元進行比較;以及 如果所述輸入資料位元及其對應的陣列資料位元二者均為“0”,則將所述輸入資料位元從“0”變至“1”,以產生已處理資料位元“1”作為對應的所述已處理資料位元。
- 如申請專利範圍第2項所述的記憶體裝置,所述資料處理器進一步用以: 對所述初始位址進行遞增,以產生遞增的位址; 接收與所述遞增的位址相關聯的第二輸入資料單元; 從所述感測電路接收第二陣列資料單元,所述第二陣列資料單元儲存在所述記憶體陣列中的所述遞增的位址處; 基於所述第二陣列資料單元處理所述第二輸入資料單元,以產生第二已處理資料單元;以及 將所述第二已處理資料單元寫入至所述資料暫存器中,並將所述第二已處理資料單元與所述遞增的位址相關聯。
- 如申請專利範圍第4項所述的記憶體裝置,所述資料處理器用以在與接收所述第二輸入資料單元相同的時間期間,基於所述第一陣列資料單元處理所述第一輸入資料單元,將所述第一已處理資料單元寫入至所述資料暫存器中,並從所述感測電路接收所述第二陣列資料單元。
- 如申請專利範圍第4項所述的記憶體裝置,所述多個已處理資料單元包括所述第一已處理資料單元及所述第二已處理資料單元。
- 如申請專利範圍第4項所述的記憶體裝置,所述控制單元進一步用以,當從所述初始位址開始將所述多個已處理資料單元寫入至所述記憶體陣列時: 從與所述初始位址相關聯的所述資料暫存器讀取所述第一已處理資料單元;以及 將所述第一已處理資料單元寫入至所述記憶體陣列中的所述初始位址處。
- 如申請專利範圍第7項所述的記憶體裝置,所述控制單元進一步用以: 對所述初始位址進行遞增; 從與所述遞增的位址相關聯的所述資料暫存器讀取所述第二已處理資料單元;以及 將所述第二已處理資料單元寫入至所述記憶體陣列中的所述遞增的位址處。
- 如申請專利範圍第1項所述的記憶體裝置,所述控制單元進一步用以對寫入至所述記憶體陣列中的所述資料進行驗證。
- 一種對記憶體陣列進行程式化的方法,包括: 接收欲寫入至所述記憶體陣列中的輸入資料單元; 基於儲存在所述記憶體陣列中的陣列資料單元處理所述輸入資料單元,以產生已處理資料單元;以及 將所述已處理資料單元寫入至所述記憶體陣列中。
- 如申請專利範圍第10項所述的方法,接收欲寫入至所述記憶體陣列中的輸入資料單元以及基於儲存在所述記憶體陣列中的陣列資料單元處理所述輸入資料單元以產生已處理資料單元的步驟包括: 接收初始位址; 接收與所述初始位址相關聯的第一輸入資料單元; 從所述記憶體陣列的所述初始位址讀取第一陣列資料單元; 基於所述第一陣列資料單元處理所述第一輸入資料單元,以產生第一已處理資料單元;以及 將所述第一已處理資料單元寫入至資料暫存器中,並將所述第一已處理資料單元與所述初始位址相聯結。
- 如申請專利範圍第11項所述的方法,所述第一輸入資料單元包括固定數目的輸入資料位元,所述第一陣列資料單元包括分別與所述第一輸入資料單元中的所述輸入資料位元對應的所述固定數目的陣列資料位元,且所述第一已處理資料單元包括分別與所述第一輸入資料單元中的所述輸入資料位元對應的所述固定數目的已處理資料位元,基於所述第一陣列資料單元處理所述第一輸入資料單元以產生所述第一已處理資料單元的步驟包括: 將所述第一輸入資料單元中的每一輸入資料位元與所述第一陣列資料單元中的所述陣列資料位元中的對應的一個陣列資料位元進行比較;以及 如果所述輸入資料位元及其對應的陣列資料位元二者均為“0”,則將所述輸入資料位元從“0”變至“1”以產生已處理資料位元“1”作為對應的所述已處理資料位元。
- 如申請專利範圍第11項所述的方法,還包括: 對所述初始位址進行遞增,以產生遞增的位址; 接收與所述遞增的位址相關聯的第二輸入資料單元; 從所述記憶體陣列的所述遞增的位址讀取第二陣列資料單元; 基於所述第二陣列資料單元處理所述第二輸入資料單元,以產生第二已處理資料單元;以及 將所述第二已處理資料單元寫入至所述資料暫存器中並將所述第二已處理資料單元與所述遞增的位址相關聯。
- 如申請專利範圍第13項所述的方法,所述處理所述第一輸入資料單元、寫入所述第一已處理資料單元、以及接收所述第二陣列資料單元是在與接收所述第二輸入資料單元相同的時間期間執行。
- 如申請專利範圍第13項所述的方法,所述多個已處理資料單元包括所述第一已處理資料單元及所述第二已處理資料單元。
- 如申請專利範圍第13項所述的方法,從所述初始位址開始將所述多個已處理資料單元寫入至所述記憶體陣列包括: 從與所述初始位址相關聯的所述資料暫存器讀取所述第一已處理資料單元;以及 將所述第一已處理資料單元寫入至所述記憶體陣列中的所述初始位址處。
- 如申請專利範圍第16項所述的方法,還包括: 對所述初始位址進行遞增; 從與所述遞增的位址相關聯的所述資料暫存器讀取所述第二已處理資料單元;以及 將所述第二已處理資料單元寫入至所述記憶體陣列中的所述遞增的位址處。
- 如申請專利範圍第10項所述的方法,還包括: 對寫入至所述記憶體陣列中的所述資料進行驗證。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/212,950 | 2016-07-18 | ||
US15/212,950 US10152276B2 (en) | 2016-07-18 | 2016-07-18 | Memory device including data processor and program method of same |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201812564A true TW201812564A (zh) | 2018-04-01 |
TWI640915B TWI640915B (zh) | 2018-11-11 |
Family
ID=60941026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105142410A TWI640915B (zh) | 2016-07-18 | 2016-12-21 | 記憶體裝置及其程式化方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10152276B2 (zh) |
CN (1) | CN107633863B (zh) |
TW (1) | TWI640915B (zh) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6028795A (en) * | 1985-09-24 | 2000-02-22 | Hitachi, Ltd. | One chip semiconductor integrated circuit device having two modes of data write operation and bits setting operation |
FR2743635B1 (fr) * | 1996-01-11 | 1998-03-06 | Sgs Thomson Microelectronics | Circuit de mesure de courant |
US7139003B1 (en) * | 2003-12-15 | 2006-11-21 | Nvidia Corporation | Methods of processing graphics data including reading and writing buffers |
KR100672150B1 (ko) * | 2005-02-23 | 2007-01-19 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치 및 그것의 페이지 버퍼 동작 방법 |
US8046527B2 (en) | 2007-02-22 | 2011-10-25 | Mosaid Technologies Incorporated | Apparatus and method for using a page buffer of a memory device as a temporary cache |
KR101517185B1 (ko) | 2008-04-15 | 2015-05-04 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN101819560B (zh) | 2009-02-27 | 2012-05-30 | 杭州晟元芯片技术有限公司 | 一种spi接口存储器执行程序方法和装置 |
US8266409B2 (en) * | 2009-03-03 | 2012-09-11 | Qualcomm Incorporated | Configurable cache and method to configure same |
JP4838399B2 (ja) * | 2010-03-30 | 2011-12-14 | パナソニック株式会社 | 不揮発性記憶装置及び不揮発性記憶装置への書き込み方法 |
KR20140076127A (ko) * | 2012-12-12 | 2014-06-20 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템 |
TWI503662B (zh) * | 2012-12-27 | 2015-10-11 | Ind Tech Res Inst | 記憶體控制裝置及方法 |
WO2014146027A2 (en) * | 2013-03-15 | 2014-09-18 | Gsi Technology, Inc. | Systems and methods involving data bus inversion memory circuitry, configuration and/or operation. |
US9263138B1 (en) * | 2014-09-30 | 2016-02-16 | Seagate Technology | Systems and methods for dynamically programming a flash memory device |
-
2016
- 2016-07-18 US US15/212,950 patent/US10152276B2/en active Active
- 2016-12-21 TW TW105142410A patent/TWI640915B/zh active
-
2017
- 2017-01-19 CN CN201710043193.2A patent/CN107633863B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107633863A (zh) | 2018-01-26 |
US20180018132A1 (en) | 2018-01-18 |
TWI640915B (zh) | 2018-11-11 |
US10152276B2 (en) | 2018-12-11 |
CN107633863B (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11955204B2 (en) | Apparatuses and methods for concurrently accessing different memory planes of a memory | |
US10453524B2 (en) | NAND flash memory device performing continuous reading operation using NOR compatible command, address and control scheme | |
CN107871525B (zh) | 半导体存储装置及连续读出方法 | |
US7290109B2 (en) | Memory system and memory card | |
CN107766171B (zh) | 与非型快闪存储器及其读出方法 | |
KR100645047B1 (ko) | 불휘발성 메모리 장치 및 그것의 고속 프로그램 방법 | |
JPWO2011043012A1 (ja) | 不揮発性半導体記憶装置、信号処理システム、及び信号処理システムの制御方法、並びに不揮発性半導体記憶装置の書き換え方法 | |
JP2009146474A (ja) | 不揮発性半導体記憶装置 | |
JP2006107719A (ja) | 不揮発性メモリ装置及びそれのプログラム方法 | |
JP2004095001A (ja) | 不揮発性半導体記憶装置、不揮発性半導体記憶装置組込システムおよび不良ブロック検出方法 | |
US10817189B2 (en) | Semiconductor memory device and operation setting method thereof | |
CN108022623B (zh) | 半导体存储装置及其读出方法 | |
JP6444475B1 (ja) | 半導体記憶装置 | |
US8238156B2 (en) | Nonvolatile semiconductor memory device and method of operating the same | |
US9105346B2 (en) | Semiconductor device and method for operating the same | |
TWI640915B (zh) | 記憶體裝置及其程式化方法 | |
JP2009032313A (ja) | 不揮発性半導体記憶装置及び不揮発性半導体記憶装置のテスト方法 | |
TWI776607B (zh) | 半導體裝置及連續讀出方法 | |
TWI794901B (zh) | 半導體記憶裝置 | |
KR100300864B1 (ko) | 불휘발성 메모리의 프로그래밍 장치 | |
JP2008004160A (ja) | 半導体集積回路装置 | |
JP2013182655A (ja) | 不揮発性メモリおよび半導体装置 |