TW201535399A - 半導體記憶裝置及nand型快閃記憶體的程式化方法 - Google Patents
半導體記憶裝置及nand型快閃記憶體的程式化方法 Download PDFInfo
- Publication number
- TW201535399A TW201535399A TW103135458A TW103135458A TW201535399A TW 201535399 A TW201535399 A TW 201535399A TW 103135458 A TW103135458 A TW 103135458A TW 103135458 A TW103135458 A TW 103135458A TW 201535399 A TW201535399 A TW 201535399A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- component
- stylized
- circuit
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1052—Bypassing or disabling error detection or correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/403—Error protection encoding, e.g. using parity or ECC codes
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- 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
- 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提供能夠維持資料可靠度且縮短程式化時間的半導體記憶裝置。本發明的快閃記憶體包括記憶體陣列100、分頁緩衝/感測電路160、連接至外部輸出入端的輸出入緩衝器110、進行資料的錯誤檢測修正的ECC電路120。程式化動作中,輸出入緩衝器110將程式化資料並列地載入分頁緩衝/感測電路160及ECC電路120。ECC電路120將ECC計算後產生的運算位元寫入分頁緩衝/感測電路160的備用領域。ECC處理結束後,保持於分頁緩衝/感測電路160的資料程式化至選擇的分面。
Description
本發明係有關於半導體記憶裝置的輸出入資料的錯誤檢測修正,且特別有關於NAND型快閃記憶體的輸入資料的錯誤檢測修正及其程式。
快閃記憶體、DRAM等的半導體裝置中,積體度逐年增加,要製造出良好或沒有缺陷的記憶元件變得困難。因此,在記憶體晶片上會利用一種冗餘機制,來補償在製造過程中發生的記憶體元件的物理性缺陷。例如,在一種冗餘機制中,藉由設置冗餘記憶體來補償具有物理性缺陷的記憶元件。而半導體記憶體除了使用冗餘記憶體來進行物理性補償外,也會使用錯誤檢測修正電路(ECC:Error Checking Correction)來做為軟體錯誤的處理對策。
NAND型快閃記憶體中,反覆地程式化或抹去資料,使得隧道絕緣層劣化造成電荷保持性變差、被隧道絕緣層所捕捉的電子使臨界值電壓產生變動,引起位元錯誤。專利文獻1中,搭載了錯誤檢測修正電路做為這種位元錯誤的處理對策。特別是,靠近塊選擇電晶體的記憶胞,由於微影蝕刻所形成的圖樣的不均勻或是擴散層形成時的離子注入的不均勻,使
得位元錯誤率有偏高的傾向,為了補償更多這樣的錯誤而儲存了ECC碼。
NAND型快閃記憶體有1個記憶胞儲存1位元的資料的類型,也有1個記憶胞儲存多位元的資料的類型。專利文獻2中,揭露了這種多位元的資料的錯誤修正機制。專利文獻3更揭露一種快閃記憶體,將ECC運算(ECC parity)附加於輸入的資料來產生ECC符號,將產生的ECC符號寫入實體記憶區塊,當從實體記憶區塊讀出的頁資料有錯誤時透過ECC符號來修正錯誤,將修正的錯誤數目到達門檻值以上的實體記憶區塊視為警告實體記憶區塊並登入表格,在資料寫入時降低選擇警告實體記憶區塊的優先順位。
專利文獻1:日本特開2010-152989號公報
專利文獻2:日本特開2008-165805號公報
專利文獻3:日本特開2010-79486號公報
第1圖說明將習知的ECC電路整合於晶片上的NAND型快閃記憶體的程式化動作例。從外部輸出入端輸入的程式化資料載入分頁緩衝/感測電路400。當載入結束時,傳送電路410接著將分頁緩衝/感測電路400保持的程式化資料傳送到ECC電路420。傳送電路410例如包括可在雙方傳輸資料的複數的傳輸電晶體,各電晶體被共通連接至各閘極的控制信號TG所驅動。ECC電路420將收到的資料進行ECC計算,產生錯誤修正符號(錯誤碼)。產生的錯誤修正符號被ECC電路420送回分頁緩衝/感測電路400的既定領域。之後,分頁緩衝/感測電路400
將輸入的程式化資料及錯誤修正符號程式化至記憶體陣列中被選擇的頁面。
然而,分頁緩衝/感測電路400往ECC電路420的資料的傳送時間可能變得比較大。假設分頁緩衝/感測電路400以區段單位來接收資料,而ECC電路420要對區段單位的資料進行ECC處理的話,程式化資料在分頁緩衝/感測電路400的全部的區段傳送結束為止都無法程式化。又,伴隨著高度積體化使得每1頁的位元數增加的話,資料傳送時間及ECC電路運算所需要的時間成比例地增加。因此,結果將造成程式化資料程式化至記憶體陣列的時間變長。
本發明為了解決上述習知的問題,而提供了一種半導體記憶裝置,能夠維持資料的可靠度並且嘗試使程式化動作高速化。
本發明的半導體記憶裝置包括:記憶體陣列;資料保持元件,保持從該記憶體陣列讀出的資料,或者是保持要寫入該記憶體陣列的資料;輸入元件;錯誤檢測修正元件,進行資料的錯誤檢測修正;供給元件,將來自該輸入元件的輸入資料並列地供給至該資料保持元件及該錯誤檢測修正元件;以及寫入元件,將該錯誤檢測修正元件處理來自該供給元件的資料而產生的錯誤修正符號寫入該資料保持元件。
半導體記憶裝置更包括:程式化元件,當元件該錯誤修正符號寫入該資料保持元件後,將保持於該資料保持元件的資料程式化至記憶體陣列。該程式化元件進行程式化時,
該供給元件將輸入該輸入元件的資料供給至該錯誤檢測修正元件。當該資料保持元件分割為複數個區段時,該供給元件將區段單位的資料提供至該錯誤檢測修正元件,該錯誤檢測修正元件以進行區段單位的資料的錯誤檢測修正。半導體記憶裝置更包括:資料傳送元件,設置於該資料保持元件及該錯誤檢測修正元件之間,其中該資料傳送元件會在讀出動作進行時將保持於該資料保持元件的資料傳送至該錯誤檢測修正元件,在程式化動作進行時不會將保持於該資料保持元件的資料傳送至該錯誤檢測修正元件。半導體記憶裝置更包括:控制元件,根據來自外部的指令控制程式化動作及讀出動作。該資料傳送元件被該控制元件所控制。該記憶體陣列是NAND型記憶陣列。
本發明的NAND型快閃記憶體的程式化方法包括:將從外部端輸入的程式化資料並列地載入分頁緩衝器及錯誤檢測修正電路;將該錯誤檢測修正電路產生的錯誤修正符號連結到該程式化資料,寫入該分頁緩衝器;以及將保持於分頁緩衝器的程式化資料及該錯誤修正符號程式化至記憶體陣列中被選擇的分頁。NAND型快閃記憶體的程式化方法更包括:根據外部輸入的指令來判定是否為程式化動作;以及當判定為程式化動作時,將該外部端輸入的程式化資料載入該錯誤檢測修正電路。
根據本發明,將輸入資料並列地載入資料保持元件及錯誤檢測修正元件,使錯誤檢測修正元件產生的錯誤修正符號寫入資料保持元件,因此不需要從資料保持元件往錯誤修正手段的實質的資料傳送,能夠嘗試縮短程式化的時間。
10‧‧‧快閃記憶體
100‧‧‧記憶體陣列
110、110-1~110-7‧‧‧輸出入緩衝器
112‧‧‧輸出緩衝器
114‧‧‧切換電路
120‧‧‧ECC電路
120A‧‧‧ECC電路/寫入電路
130‧‧‧位址暫存器
140‧‧‧控制器
150‧‧‧字元線選擇電路
160‧‧‧分頁緩衝/感測電路
170‧‧‧行選擇電路
180‧‧‧內部電壓產生電路
200‧‧‧傳送電路
300‧‧‧慣用領域
310‧‧‧備用領域
311~315‧‧‧領域
400‧‧‧分頁緩衝/感測電路
410‧‧‧傳送電路
420‧‧‧ECC電路
Di‧‧‧輸入資料
GBL‧‧‧位元線
MCi(i=0、1、...、31)‧‧‧記憶胞
NU‧‧‧NAND串列、串列單元
P0~P7‧‧‧外部輸出入端
SGD、SGS‧‧‧選擇閘極線
SL‧‧‧源極線
SW‧‧‧切換信號
TD‧‧‧位元線選擇電晶體
TS‧‧‧源極線選擇電晶體
TG‧‧‧控制信號(驅動信號)
Vers‧‧‧抹除電壓
Vpgm‧‧‧程式化電壓
Vpass‧‧‧通過電壓
Vread‧‧‧讀出通過電壓
WL‧‧‧字元線
第1圖係用來說明習知的NAND型快閃記憶體的輸入資料的動作。
第2圖係顯示本發明實施例的NAND型快閃記憶體的全體概略架構。
第3圖係顯示本發明實施例的記憶體陣列的NAND串列的架構的電路圖。
第4圖係顯示本發明實施例的快閃記憶體在程式化時施加於各部位的電壓的例子。
第5圖係說明輸入至本發明實施例的快閃記憶體的資料的流程。
第6圖係顯示本發明實施例的快閃記憶體的輸出入緩衝器的例子。
第7圖係說明本發明實施例的慣用領域的資料的ECC處理。
第8圖係說明本發明實施例的慣用領域的資料的ECC處理。
第9圖係說明本發明實施例的備用領域的資料的ECC處理。
第10圖係說明習知的快閃記憶體的程式化動作時的ECC處理的流程圖。
第11圖係說明本發明實施例的快閃記憶體的程式化動作時的ECC處理的流程圖。
接著,參照圖式詳細說明本發明的實施型態。在此,會以NAND型快閃記憶體為例。在圖式中為了容易了解而強調各部位,但必須留意圖式與實際的裝置尺寸不同。
本發明實施例的快閃記憶體的典型架構顯示於第2圖。然而,在此所示的快閃記憶體的架構僅為一例,本發明並不限定於這種架構。本實施例的快閃記憶體10包括:記憶體陣列100,由配置成行列狀的複數記憶胞所形成;輸出入緩衝器110,連接至外部輸出入端I/O並保持輸出入資料;ECC電路120,將對記憶體陣列100程式化的資料或從記憶體陣列100讀出的資料進行錯誤檢測、修正;位址暫存器130,接收來自輸出入緩衝器110的位址資料;控制器140,接收來自輸出入緩衝器110的指令資料或來自外部的控制信號,控制各部;字元線選擇電路150,接收來自位址暫存器130的列位址資訊Ax,將列位址資訊A解碼並根據解碼的結果來進行塊的選擇以及字元線的選擇等;分頁緩衝器/感測電路160,保持從字元線選擇電路150所選擇的頁所讀出的資料以及保持要寫入被選擇的頁的程式化資料;行選擇電路170,接收來自位址暫存器130的行位址資訊Ay,將行位址資訊Ay解碼並根據解碼的結果來進行分頁緩衝/感測電路160內的資料選擇;內部電壓產生電路180,產生資料的讀出、程式化、抹除等所需要的電壓(程式化電壓Vpgm、通過電壓Vpass、讀出通過電壓Vread、抹除電壓Vers等)。
記憶體陣列100具有配置於行方向的m個塊BLK(0)、BLK(1)、...、BLK(m-1)。靠近塊BLK(0)的一側配置有分頁緩衝/感測電路160。除了這種架構以外,是分頁緩衝/感測電路160也可以配置於塊的另一側的端部,或者是配置於兩側的端部。
1個記憶塊如第3圖所示,由複數個NAND串列單元NU,每個NAND串列單元NU由複數的記憶胞串聯而成。1個記憶塊內有n+1個串列單元NU排列於列方向。串列單元NU包括串聯的複數的記憶胞MCi(i=0、1、...、31)、連接於一側的端部上的記憶胞MC31的汲極端的選擇電晶體TD、連接於另一側的端部上的記憶胞MC0的源極端的選擇電晶體TS。選擇電晶體TD的汲極連接至對應的1條位元線GBL,選擇電晶體TS的源極連接至共通的源極線SL。
記憶胞MCi的控制閘極連接至字元線WLi,選擇電晶體TD、TS的閘極連接至與字元線WL平行的選擇閘極線SGD、SGS。字元線選擇電路150根據列位址Ax或變換的位址選擇塊時,透過塊的選擇閘極信號SGS、SGD來選擇地驅動選擇電晶體TD、TS。第3圖顯示典型的記憶胞單元的架構,記憶胞單元可以是NAND串列內包括1個或複數個虛擬記憶胞。
記憶胞典型來說為MOS架構,包含為形成於P井內的N型擴散領域的源極/汲極、形成於源極/汲極間的通道上的通道氧化層、形成於通道氧化層上的浮動閘極(電荷蓄積層)、以及透過介電體層形成於浮動閘極上的控制閘極。浮動閘極沒有蓄積電荷時,也就是資料「1」被寫入時,臨界電壓值是負
的狀態,記憶體為常開。浮動閘極有蓄積電荷時,也就是資料「0」被寫入時,臨界電壓值轉變為正,記憶體為常關。然而,記憶胞可以是儲存1位元的SLC型,也可以是儲存多位元的MLC型。
第4圖係顯示在快閃記憶體的各動作時所施加的偏壓電壓的例示的表格。讀出動作中,對位元線施加正的電壓,對被選擇的字元線施加電壓(例如0V),對非選擇的字元線施加通過電壓Vpass(例如4.5V),對選擇閘極線SGD、SGS施加正的電壓(例如4.5V),以開啟位元線選擇電晶體TD、源極線選擇電晶體TS,以及對共通源極線施加0V。程式化(寫入)動作中,對被選擇的字元線施加高電壓的程式化電壓Vpgm(15~20V),對非選擇的字元線施加中間電位(例如10V),開啟位元線選擇電晶體TD、關閉源極線選擇電晶體TS,並對位元線GBL施加對應於「0」或「1」的資料的電位。抹除動作中,對塊內被選擇的字元線施加0V,對P井施加高電壓(例如20V),將浮動閘極的電子拉出至基板,藉此以塊為單位抹除資料。
第5圖表示從本實施例的快閃記憶體10的外部輸出入端輸入的資料的流程。程式化動作時,由輸出入緩衝器110提供的輸入資料Di並列地載入分頁緩衝/感測電路160及ECC電路120。
ECC電路120藉由計算輸入資料Di,產生對輸入資料Di進行錯誤檢測修正所需要的錯誤修正符號或運算位元。ECC計算例如以漢明碼或里德-所羅門碼等習知的手法來進
行,將輸入的k位元或k位元組的輸入資料Di變換為p=k+q。本說明書中,將q稱為對輸入資料Di進行錯誤檢測修正所需要的錯誤修正符號或運算位元。在1個較佳的例子中,ECC電路120能夠包括將錯誤修正符號寫入分頁緩衝/感測電路160的備用領域用的寫入電路。然而,這個架構僅為一例,本發明並不限定於此。例如,可以與ECC電路120分開,另外準備用來寫入錯誤修正符號的寫入電路,也可以是傳送電路200所包括的寫入電路。
分頁緩衝/感測電路160與ECC電路120之間設置了傳送電路200。傳送電路200包括複數的並聯的傳送用電晶體,各傳送用電晶體的閘極共通地連接到驅動信號TG。驅動信號TG受控制器140驅動控制,H位準的驅動信號TG可將傳送用電晶體全部開啟,使得分頁緩衝/感測電路160與ECC電路120之間能夠雙方向地傳送資料。本實施例中需要留意的點是傳送電路200在讀出動作時可在分頁緩衝/感測電路160與ECC電路120之間進行雙方向的資料傳送,在程式化動作時,分頁緩衝/感測電路160與ECC電路120之間不進行實質的程式化資料的傳送。
程式化動作時,來自輸出入緩衝器110的輸入資料Di分別供給至分頁緩衝/感測電路160與ECC電路120。第6圖顯示輸出入緩衝器110的部份的內部架構的一例。輸出入緩衝器110包括複數的輸出緩衝器112、以及分別連接至複數的輸出緩衝器112的輸出端的切換電路114。切換電路114包括複數的電晶體,電晶體的一端連接至輸出緩衝器112,另一端連接至ECC電路,閘極連接至切換信號SW。切換信號SW被控制器140驅
動控制。也就是說,從外部輸入的程式化指令被控制器140解讀時,切換信號被驅動至H位準,電晶體一起開啟,來自輸出緩衝器112的輸入資料Di也供給至ECC電路。程式化動作以外時,切換信號SW被驅動至L位準,輸出緩衝器112與ECC電路120隔離。
往分頁緩衝/感測電路160及ECC電路120的輸入資料Di的傳送實質地在相同時間點結束。當資料傳送結束時,ECC電路進行ECC計算,將這邊產生的錯誤修正符號(運算位元)寫入分頁緩衝/感測電路160的既定領域。這段期間,傳送電路200不將輸入資料Di從分頁緩衝/感測電路160傳送往ECC電路120。
當ECC電路120產生的錯誤修正符號寫入分頁緩衝/感測電路160結束後,接著,保持於分頁緩衝/感測電路160的輸入資料Di以及1頁的份量的錯誤修正符號的資料程式化至記憶體陣列100中所選擇的分頁。
另一方面,在讀出動作中,從記憶體陣列100中所選擇的分頁讀出的資料傳送到分頁緩衝/感測電路160。接著,保持於分頁緩衝/感測電路160的資料經由傳送電路200傳送到ECC電路120。ECC電路120根據錯誤修正符號來判定有無程式化不良、或者是讀出不良,如果有上述不良造成的錯誤就使用錯誤修正符號來修正資料。經過ECC處理後的資料再次經過傳送電路200傳送到分頁緩衝/感測電路160,接著透過輸出入緩衝器110輸出至外部。
本實施例中,在程式化動作時,從外部輸出入端
輸入的資料並列地載入平行分頁緩衝/感測電路160及ECC電路120,因此能夠實質上省略資料從分頁緩衝/感測電路160往ECC電路傳送,藉此能夠大幅縮短程式化所需要的時間。
接著,以第7圖~第11圖說明本實施例更佳態樣。快閃記憶體10的外部輸出入端能夠以×1、×4、×8,但在此將說明快閃記憶體10具有×8的外部輸出入端的情況下的程式化動作時的輸入資料的處理。如第7圖所示,外部輸出入端P0~P7分別連接至I/O緩衝器110-0~110-7。程式化動作時,輸入外部輸出入端P0~P7的資料會並列地輸入I/O緩衝器110-0~110-7。
分頁緩衝/感測電路160具有分割為區段0~區段7的8個區段的慣用領域300、以及分割為備用0、備用1、備用2、備用3的4個區段的備用領域310。
常用領域300的1個區段例如由256位元組所構成,在這個情況下,慣用領域300的8個區段全體能夠保持2K位元組的程式化資料。備用領域310的1個區段例如由16位元組所構成,在這個情況下,4個區段(備用0~備用3)全體能夠保持64位元組的資料。備用領域310的1個區段例如具有:儲存用來識別包含了不良記憶體元件的不良記憶塊的資訊的領域311;儲存有關於使用者資料的資訊的領域312;儲存有關慣用領域300的2個區段的錯誤修正符號(運算位元)的領域313、314;以及持存備用領域310進行了ECC計算後的錯誤修正符號(運算位元)的領域315。備用領域310的備用0的區段中的領域313、314分別儲存慣用領域300的區段0、區段1的錯誤修正符號(運算位元),備用領域310的備用1的區段中的領域313、
314分別儲存慣用領域300的區段2、區段3的錯誤修正符號(運算位元)。同樣地,備用領域310的備用2的區段中的領域313、314分別儲存慣用領域300的區段4、區段5的運算位元,備用領域310的備用3的區段中的領域313、314分別儲存慣用領域300的區段6、區段7的運算位元。
慣用領域300的1個區段分配給8個外部輸出入端P-0~P-7,也就是輸出入緩衝器110-0~110-7。換言之,1個外部輸出入端分配了256位元(256bit×8=1區段)。第2圖所示的行選擇電路170將程式化動作時收到的行位址資訊Ay進行解碼,根據該解碼結果來選擇輸入至外部輸出入端P-0~P-7的資料所要載入的區段。第7圖顯示了外部輸出入端P-0~P-7所接收的資料根據行位址資訊Ay而載入區段0的例子。第8圖顯示了外部輸出入端P-0~P-7所接收的資料根據行位址資訊Ay而載入區段7的例子。
程式化動作時,輸出入端110-0~110-7藉由切換電路114的導通,將程式化資料分別輸出至分頁緩衝/感測電路160及ECC電路/寫入電路120A。此時,驅動信號TG被驅動至L位準,傳送電路200不傳送慣用領域300的寫入資料。
在顯示於此的例子中,ECC電路/寫入電路120A包括用來寫入錯誤修正符號的寫入電路。較佳的是ECC電路能夠對與慣用領域300的1個區段相等位元組數目的資料進行ECC計算。慣用領域300的1個區段有256位元組的話,ECC電路對256位元組的資料進行ECC計算,產生其錯誤修正符號。
ECC電路/寫入電路120A將產生的錯誤修正符號寫
入備用領域310中對應的區段的領域313或314。在第7圖所示的例子中,程式化資料Di載入慣用領域300的區段0,因此錯誤修正符號被寫入到備用0中儲存區段0的運算位元的領域313。在第8圖所示的例子中,程式化資料Di載入慣用領域300的區段7,因此錯誤修正符號被寫入到備用3中儲存區段7的運算位元的領域314。
第9圖顯示備用領域310的資料的ECC處理的例子。對慣用領域300的各區段完成ECC處理後,接著對備用領域310的各區段進行ECC處理。要對包含於備用領域310的1個區段內的哪一個資料進行ECC處理是任意的,但本例子中假設對領域312至領域314的資料進行ECC處理。因此,傳送電路200將備用0中的領域312至領域314的資料傳送到ECC電路/寫入電路120A。然後,經ECC處理而產生的錯誤修正符號被ECC電路/寫入電路120A寫入備用0中的領域315。對於其他的備用1至備用3也進行同樣的處理。
第10圖顯示習知的ECC處理的流程,第11圖顯示本實施例的ECC處理的流程。首先,說明習知的ECC處理動作。從外部控制器對快閃記憶體10供給外部控制信號、指令資料、位址資料及程式化資料。控制器140根據外部控制信號及指令資料而開始程式化動作。
當程式化資料(輸入資料Di)透過外部輸出入端及輸出入緩衝器110載入分頁緩衝/感測電路160後(S100),在控制器140的控制下程式化程序開始(S102)。被保持於分頁緩衝/感測電路160的區段0的資料透過傳送電路200傳送到ECC電
路120(S104)。接著,ECC電路120執行ECC計算(S106),並將在此產生運算位元寫入分頁緩衝/感測電路160的備用領域310(S108)。
接著,由控制器14判定是否有ECC未處理的區段(S110)。這樣一來,分頁緩衝/感測電路160的全部區段的資料都進行ECC處理,每個區段的運算位元寫入備用領域310中對應的區段的領域313、314。NAND型快閃記憶體以頁為單位進行程式化,但輸入的程式化資料的大小不一定要等於一頁,也就是,不一定要等於第7圖所示的慣用領域300的8個區段的大小。例如,程式化資料的大小能夠是1個區段的大小。通常從程式化干擾的觀點來看,允許連續地程式化同一頁的次數(NOP(Number of Program))有所限制,能對應此NOP分割1頁的資料來進行程式化。NOP為4時,1頁的資料可分為例如2個區段、1個區段、3個區段、2個區段輸入快閃記憶體10。
慣用領域的ECC處理結束後,接著進行備用領域的ECC處理。如第9圖所示,備用領域310的備用0的資料透過傳送電路200傳送到ECC電路/寫入電路120A(S112)。在此進行ECC處理後(S114),產生的運算位元透過寫入電路寫入備用0的領域315(S116)。判斷是否有ECC未處理的區段(S118),若有的話則重複步驟S112至S116。這樣一來,備用領域310的全部區段都進行了ECC處理。當保持於分頁緩衝/感測電路160的慣用領域300及備用領域310的全部資料的ECC處理結束後,保持於分頁緩衝/感測電路160的資料載入記憶體陣列中被選擇的分頁。
另一方面,本實施例的快閃記憶體10中,如第11圖所示,程式化資料載入分頁緩衝/感測電路160及ECC電路/寫入電路120A(S200)。載入完成後,開始程式化程序(S202)。
當程式化資料的載入一結束,ECC電路/寫入電路120A進行ECC處理(S204),產生的運算位元被ECC電路/寫入電路120A寫入備用領域310的領域313。假設程式化資料從區段0載入至區段7為止的話,從區段0至區段7為止的程式化資料的ECC計算會連續地進行,並且產生的運算位元會寫入備用領域310中對應的區段的領域313或314。
當從外部輸出入端的程式化資料的輸入一結束,備用領域310的備用0的ECC處理開始。備用領域310的ECC處理與第10圖所示的習知方法相同,故省略說明。
根據本實施例,程式化動作時,將從外部輸出入端輸入的程式化資料並列地輸入分頁緩衝/感測電路160及ECC電路/寫入電路120A雙方,因此不需要習知技術從分頁緩衝/感測電路160往ECC電路/寫入電路120A傳送程式化資料的動作,能夠省略該動作所需要的時間。因此,能夠提早對程式化資料進行ECC處理的開始時間。最終的結果就是能夠縮短將程式化資料程式化至選擇的頁的時間。
以上雖詳細說明本發明的實施型態,但本發明並不限定於上述的實施型態,只要符合申請專利範圍內所記載的發明要旨,本發明包括各種變形及變更。
100‧‧‧記憶體陣列
110‧‧‧輸出入緩衝器
120‧‧‧ECC電路
160‧‧‧分頁緩衝/感測電路
200‧‧‧傳送電路
Di‧‧‧輸入資料
TG‧‧‧控制信號(驅動信號)
Claims (10)
- 一種半導體記憶裝置,包括:記憶體陣列;資料保持元件,保持從該記憶體陣列讀出的資料,或者是保持要寫入該記憶體陣列的資料;輸入元件;錯誤檢測修正元件,進行資料的錯誤檢測修正;供給元件,將來自該輸入元件的輸入資料並列地供給至該資料保持元件及該錯誤檢測修正元件;以及寫入元件,將該錯誤檢測修正元件處理來自該供給元件的資料而產生的錯誤修正符號寫入該資料保持元件。
- 如申請專利範圍第1項所述之半導體記憶裝置,更包括:程式化元件,當元件該錯誤修正符號寫入該資料保持元件後,將保持於該資料保持元件的資料程式化至記憶體陣列。
- 如申請專利範圍第1項或第2項所述之半導體記憶裝置,其中該程式化元件進行程式化時,該供給元件將輸入該輸入元件的資料供給至該錯誤檢測修正元件。
- 如申請專利範圍第1至3項任一項所述之半導體記憶裝置,其中當該資料保持元件分割為複數個區段時,該供給元件將區段單位的資料提供至該錯誤檢測修正元件,該錯誤檢測修正元件以進行區段單位的資料的錯誤檢測修正。
- 如申請專利範圍第1至4項任一項所述之半導體記憶裝置,更包括: 資料傳送元件,設置於該資料保持元件及該錯誤檢測修正元件之間;其中該資料傳送元件會在讀出動作進行時將保持於該資料保持元件的資料傳送至該錯誤檢測修正元件,在程式化動作進行時不會將保持於該資料保持元件的資料傳送至該錯誤檢測修正元件。
- 如申請專利範圍第1至5項任一項所述之半導體記憶裝置,更包括:控制元件,根據來自外部的指令控制程式化動作及讀出動作。
- 如申請專利範圍第5項或第6項所述之半導體記憶裝置,其中該資料傳送元件被該控制元件所控制。
- 如申請專利範圍第1至7項任一項所述之半導體記憶裝置,其中該記憶體陣列是NAND型記憶陣列。
- 一種NAND型快閃記憶體的程式化方法,包括:將從外部端輸入的程式化資料並列地載入分頁緩衝器及錯誤檢測修正電路;將該錯誤檢測修正電路產生的錯誤修正符號連結到該程式化資料,寫入該分頁緩衝器;以及將保持於分頁緩衝器的程式化資料及該錯誤修正符號程式化至記憶體陣列中被選擇的分頁。
- 如申請專利範圍第9項所述之NAND型快閃記憶體的程式化方法,更包括:根據外部輸入的指令來判定是否為程式化動作;以及 當判定為程式化動作時,將該外部端輸入的程式化資料載入該錯誤檢測修正電路。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014051227A JP6131207B2 (ja) | 2014-03-14 | 2014-03-14 | 半導体記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201535399A true TW201535399A (zh) | 2015-09-16 |
TWI537970B TWI537970B (zh) | 2016-06-11 |
Family
ID=54069004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103135458A TWI537970B (zh) | 2014-03-14 | 2014-10-14 | 半導體記憶裝置及nand型快閃記憶體的程式化方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10068659B2 (zh) |
JP (1) | JP6131207B2 (zh) |
KR (1) | KR101731576B1 (zh) |
CN (1) | CN104916332B (zh) |
TW (1) | TWI537970B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI602055B (zh) * | 2015-12-17 | 2017-10-11 | 華邦電子股份有限公司 | 半導體儲存裝置及其編程方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017157257A (ja) | 2016-03-01 | 2017-09-07 | 東芝メモリ株式会社 | 半導体記憶装置及びメモリシステム |
JP6258399B2 (ja) * | 2016-05-16 | 2018-01-10 | ウィンボンド エレクトロニクス コーポレーション | 半導体装置 |
FR3052960B1 (fr) | 2016-06-24 | 2018-07-06 | Hermes Sellier | Boucle de ceinture et ceinture comportant une telle boucle |
JP6164712B1 (ja) * | 2016-08-18 | 2017-07-19 | ウィンボンド エレクトロニクス コーポレーション | フラッシュメモリ |
JP6293846B2 (ja) * | 2016-11-02 | 2018-03-14 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
CN109213436B (zh) * | 2017-06-30 | 2021-08-24 | 慧荣科技股份有限公司 | 降低快闪储存介面中传收数据错误方法及装置 |
US20210306006A1 (en) * | 2019-09-23 | 2021-09-30 | SK Hynix Inc. | Processing-in-memory (pim) devices |
JP7018089B2 (ja) * | 2020-04-02 | 2022-02-09 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および読出し方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4890287A (en) * | 1988-03-09 | 1989-12-26 | Magnetic Peripherals Inc. | On-the-fly error correction |
KR940004820B1 (ko) | 1991-12-30 | 1994-06-01 | 포항종합제철 주식회사 | 스테인레스강 정련로 슬래그의 분화방지방법 |
JP2003076605A (ja) * | 2001-08-31 | 2003-03-14 | Mitsubishi Electric Corp | ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法 |
JP4113225B2 (ja) * | 2006-04-28 | 2008-07-09 | 株式会社東芝 | 半導体装置 |
KR100845529B1 (ko) | 2007-01-03 | 2008-07-10 | 삼성전자주식회사 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
US7861139B2 (en) * | 2007-01-26 | 2010-12-28 | Micron Technology, Inc. | Programming management data for NAND memories |
US20090070655A1 (en) * | 2007-09-11 | 2009-03-12 | Silicon Motion, Inc. | Method for Generating an ECC Code for a Memory Device |
JP2010009141A (ja) * | 2008-06-24 | 2010-01-14 | Toshiba Corp | データ転送方法 |
JP2010079486A (ja) | 2008-09-25 | 2010-04-08 | Panasonic Corp | 半導体記録装置 |
JP2010146654A (ja) * | 2008-12-19 | 2010-07-01 | Toshiba Corp | メモリ装置 |
US8595593B2 (en) * | 2008-12-24 | 2013-11-26 | Hynix Semiconductor Inc. | Nonvolatile memory device having a copy back operation and method of operating the same |
JP2010152989A (ja) | 2008-12-25 | 2010-07-08 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP4793741B2 (ja) | 2009-07-24 | 2011-10-12 | エヌイーシーコンピュータテクノ株式会社 | 誤り訂正回路、誤り訂正方法 |
TW201201008A (en) | 2010-03-22 | 2012-01-01 | Mosaid Technologies Inc | Composite semiconductor memory device with error correction |
JP2012133843A (ja) * | 2010-12-21 | 2012-07-12 | Toshiba Corp | 半導体記憶装置 |
-
2014
- 2014-03-14 JP JP2014051227A patent/JP6131207B2/ja active Active
- 2014-10-14 TW TW103135458A patent/TWI537970B/zh active
- 2014-11-06 CN CN201410621476.7A patent/CN104916332B/zh active Active
- 2014-11-11 KR KR1020140156192A patent/KR101731576B1/ko active IP Right Grant
-
2015
- 2015-03-09 US US14/642,391 patent/US10068659B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI602055B (zh) * | 2015-12-17 | 2017-10-11 | 華邦電子股份有限公司 | 半導體儲存裝置及其編程方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101731576B1 (ko) | 2017-04-28 |
JP2015176616A (ja) | 2015-10-05 |
CN104916332A (zh) | 2015-09-16 |
TWI537970B (zh) | 2016-06-11 |
CN104916332B (zh) | 2018-10-30 |
KR20150107575A (ko) | 2015-09-23 |
US20150261605A1 (en) | 2015-09-17 |
US10068659B2 (en) | 2018-09-04 |
JP6131207B2 (ja) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI537970B (zh) | 半導體記憶裝置及nand型快閃記憶體的程式化方法 | |
KR101950758B1 (ko) | 반도체 장치 | |
US10395753B2 (en) | Semiconductor memory device and programming method thereof | |
US7589997B2 (en) | Non-volatile semiconductor memory device that performs data allocation | |
US20050268208A1 (en) | Semiconductor memory device and signal processing system | |
US10957415B2 (en) | NAND flash memory and reading method thereof | |
KR101967368B1 (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
JP2009140564A (ja) | Nand型フラッシュメモリおよびメモリシステム | |
JP6178909B1 (ja) | 不揮発性半導体記憶装置 | |
JP2009037619A (ja) | メモリシステム及びその読み出し方法 | |
US20180059936A1 (en) | Semiconductor memory device and memory system | |
JP5657079B1 (ja) | 半導体記憶装置 | |
JP2011181155A (ja) | 不揮発性半導体記憶装置及びメモリシステム | |
JP6115740B1 (ja) | 半導体記憶装置 | |
CN113010459A (zh) | 存储器系统、存储器控制器以及操作存储器系统的方法 | |
JP2009080884A (ja) | 不揮発性半導体記憶装置 | |
KR101651573B1 (ko) | 반도체 기억장치 및 그 프로그래밍 방법 | |
JP5710815B1 (ja) | 半導体記憶装置 | |
TWI539465B (zh) | 半導體儲存裝置及其冗餘方法 | |
TWI521530B (zh) | 半導體記憶裝置及其編程方法 | |
JP6293846B2 (ja) | 半導体記憶装置 | |
JP2013030251A (ja) | メモリシステム | |
JP2012212233A (ja) | 半導体記憶装置 | |
JP2013025827A (ja) | 半導体記憶装置 |