TWI517176B - 降低nand快閃記憶體裝置與控制器之間匯流排流量的半導體記憶體裝置 - Google Patents
降低nand快閃記憶體裝置與控制器之間匯流排流量的半導體記憶體裝置 Download PDFInfo
- Publication number
- TWI517176B TWI517176B TW098108036A TW98108036A TWI517176B TW I517176 B TWI517176 B TW I517176B TW 098108036 A TW098108036 A TW 098108036A TW 98108036 A TW98108036 A TW 98108036A TW I517176 B TWI517176 B TW I517176B
- Authority
- TW
- Taiwan
- Prior art keywords
- error
- memory device
- semiconductor memory
- flash memory
- parity data
- Prior art date
Links
- 239000004065 semiconductor Substances 0.000 title claims description 64
- 238000012937 correction Methods 0.000 claims description 56
- 208000011580 syndromic disease Diseases 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 16
- 238000010845 search algorithm Methods 0.000 claims description 9
- 238000007689 inspection Methods 0.000 claims description 2
- 235000012431 wafers Nutrition 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 11
- 102100033270 Cyclin-dependent kinase inhibitor 1 Human genes 0.000 description 9
- 108091006627 SLC12A9 Proteins 0.000 description 9
- XNCSCQSQSGDGES-UHFFFAOYSA-N 2-[2-[bis(carboxymethyl)amino]propyl-(carboxymethyl)amino]acetic acid Chemical compound OC(=O)CN(CC(O)=O)C(C)CN(CC(O)=O)CC(O)=O XNCSCQSQSGDGES-UHFFFAOYSA-N 0.000 description 8
- 101000703242 Homo sapiens Regulator of G-protein signaling 9 Proteins 0.000 description 8
- 101001079096 Homo sapiens Regulator of G-protein signaling 9-binding protein Proteins 0.000 description 8
- 102100028148 Regulator of G-protein signaling 9-binding protein Human genes 0.000 description 8
- 201000011466 bradyopsia Diseases 0.000 description 8
- FCKYPQBAHLOOJQ-UHFFFAOYSA-N Cyclohexane-1,2-diaminetetraacetic acid Chemical compound OC(=O)CN(CC(O)=O)C1CCCCC1N(CC(O)=O)CC(O)=O FCKYPQBAHLOOJQ-UHFFFAOYSA-N 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241000124892 Barbus Species 0.000 description 1
- 101000692259 Homo sapiens Phosphoprotein associated with glycosphingolipid-enriched microdomains 1 Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3776—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- 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
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1525—Determination and particular use of error location polynomials
- H03M13/153—Determination and particular use of error location polynomials using the Berlekamp-Massey algorithm
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Description
本發明是有關於一種半導體記憶體裝置,且特別是有關於一種降低NAND快閃記憶體裝置與控制器之間匯流排流量的半導體記憶體裝置。
實例實施例是有關於一種半導體記憶體裝置,且特別是有關於一種於NAND快閃記憶體裝置與控制器之間使用協定(protocol)的半導體記憶體裝置,其可降低在支持內部拷貝回存(copy-back)之多階胞(multi-level cell)快閃記憶體裝置中匯流排流量時,有效地校正存在於單一區段中的多個錯誤位元。
當快閃記憶體裝置增加容量時,快閃記憶體裝置可以包括連接到單一匯流排BUS的多個晶片CIP1~CIPn,如圖1所示。晶片CIP1~CIPn可以共用連接到匯流排BUS的控制器CTRL。為了降低匯流排流量,上述多晶片形式快閃記憶體裝置可以支持內部拷貝回存。
由於當頁PAGEi拷貝到另一頁PAGEj時,如圖2所示,可使用包括在晶片中的頁緩衝器P_BUF,因此在內部拷貝回存是一種協定的情況下,可以不需要外部輸入/輸出(I/O)匯流排。
然而,傳統快閃記憶體裝置可使用包括在晶片外部的誤差校正電路來檢測與校正誤差,而誤差校正電路可以包括在如圖1所示之控制器CTRL中。一種傳統檢測與校正誤差的方法將被詳細地描述。
圖3為具有誤差校正電路與快閃記憶體裝置之傳統半導體晶片100的方塊圖。
參照圖3,半導體晶片100可以包括快閃記憶胞陣列120與誤差校正電路140。半導體晶片100可以經由匯流排200而連接到外部電路(未繪示)。誤差校正電路140可以包括NAND介面141、誤差校正編碼電路142與誤差校正解碼電路143。
誤差校正編碼電路142可以接收儲存於快閃記憶胞陣列中的正常資料(normal data)NDTA,並產生相應的同位資料(parity data)PDTA。正常資料NDTA與同位資料PDTA可以分別儲存於快閃記憶胞陣列120的正常資料區(未繪示)與同位資料區(未繪示)。
當從記憶胞陣列120讀取正常資料NDTA時,誤差校正解碼電路143可以檢測與校正該正常資料NDTA中的誤差。
在此例中,可以使用博斯-喬赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem,以下簡稱BCH)誤差校正演算法來執行誤差校正。BCH誤差校正演算法可校正資料區塊中誤差的多個位元,並從而廣泛地應用到通訊系統與記憶體系統的誤差校正。
特別地,就儲存多位元於一胞時所涉及的多階胞快閃記憶體來說,位元誤差很可能發生。因此,最好使用能校正誤差的多個位元的BCH誤差校正演算法來執行誤差校正。
使用BCH演算法來校正誤差,且特別是使用BCH 4148、4196碼資料(以下稱為BCH碼資料)以校正誤差來做詳細描述。然而,各實施例不限於即將描述的二元BCH碼資料的大小。
一般來說,在使用BCH演算法來校正誤差時,BCH碼資料可以使用誤差校正編碼器來產生,並使用誤差校正解碼器來解碼。詳細來說,BCH碼資料可由計算症候群(syndromes)來解碼、使用症候群來構成錯誤定位多項式(error locator polynomial)及藉由獲得錯誤定位多項式的根(root)來計算誤差位元的位置。特別地,為了解碼二元BCH碼資料,可以藉由將誤差位元的位元值反向來校正誤差。
圖4為BCH碼資料CDTA之格式的概念圖。
參照圖4,BCH碼資料CDTA可由512位元組(512-byte)正常資料NDTA與7位元組(7-byte)同位資料PDTA所構成。同位資料PDTA可由48位元(48-bit)同位資料與4位元(4-bit)虛設資料(dummy data)所構成。
圖5為儲存於NAND快閃記憶體裝置之一頁內之多片段(pieces)正常資料NDTA與多片段同位資料PDTA的格式的示意圖。
特別地,圖5為說明具有2R位元組正常資料範圍NStorage與64位元組同位資料範圍PStorage的頁PAGEn。於是,4個片段的512位元組正常資料DATA1~DATA4以及可分別對應於正常資料DATA1~DATA4的4個片段的同位資料PDTA1~PDTA4都儲存在頁PAGEn中。
同樣地,為了檢測與校正誤差,由於傳統快閃記憶體裝置需要經由匯流排來傳送正常資料和同位資料到記憶胞陣列與誤差校正電路或從記憶胞陣列與誤差校正電路接收正常資料和同位資料,因此會產生匯流排流量。於是,在傳統快閃記憶體裝置中的內部拷貝回存可能不是有效的。
實例實施例提供一種於NAND快閃記憶體與控制器之間使用一協定的半導體記憶裝置,當檢測與校正錯誤時降低匯流排流量。
根據實例實施例的概念,提供一種半導體記憶體裝置,其包括快閃記憶體裝置與控制器。
快閃記憶體裝置可以包括記憶胞陣列與錯誤校正編碼器。錯誤校正編碼器可以基於正常資料以產生第一同位資料來寫入到記憶胞陣列、可以比較第一同位資料與以儲存於記憶胞陣列中的正常資料來編碼的第二同位資料、並當誤差存在時可以輸出誤差信號。
控制器可以包括誤差位置檢測器,其回應於誤差校正編碼器所傳輸的誤差信號來檢測誤差位置。
半導體記憶體裝置可以包括多個快閃記憶體裝置,其中多個快閃記憶體裝置與控制器可以經由匯流排而連接。
誤差校正編碼器可回應於內部拷貝回存(copy-back)指令來檢測誤差是否存在。誤差校正編碼器可回應於讀取指令來檢測誤差是否存在。
誤差校正編碼器可以包括編碼單元,其產生第一同位資料與第二同位資料;比較單元,其比較第一同位資料與第二同位資料;以及檢查單元,其當第一同位資料與第二同位資料不同時輸出誤差信號。
誤差位置檢測器可以包括:症候群產生單元(syndrome generating unit),其回應於誤差信號而產生症候群;以及誤差位置搜尋器,其使用症候群來計算誤差位置。症候群產生單元可以產生有關多個並列位元的多個症候群。
誤差位置搜尋器可以包括Berlekamp-Massey操作器與秦式(以下簡稱Chien)搜尋器,分別使用Berlekamp-Massey演算法與Chien搜尋演算法來計算誤差位置。Chien搜尋器可以執行有關多個並列位元的Chien搜尋演算法。
快閃記憶體裝置可以進一步包括誤差校正器,其從誤差位置檢測器接收誤差位置,並經由使有關位元之位元值反向來校正誤差。
快閃記憶體裝置可以是NAND快閃記憶體裝置。
快閃記憶體裝置可以是多階胞快閃記憶體。
快閃記憶體裝置可以一次一區段為基礎(sector-by-sector basis)或一次一頁為基礎(page-by-page basis)來傳輸誤差信號到控制器。
根據實例實施例的另一概念,提供一種半導體記憶體裝置,其包括快閃記憶體裝置與控制器,而快閃記憶體裝置包括記憶胞陣列、誤差校正編碼器與症候群產生器(syndrome generator)。
記憶胞陣列可以包括多個資料頁。誤差校正編碼器可根據正常資料以產生第一同位資料來寫入到記憶胞陣列、可以比較第一同位資料與以儲存於記憶胞陣列中的正常資料來編碼的第二同位資料、且可以檢查誤差。症候群產生器可於第一同位資料與第二同位資料不同時產生症候群。
控制器可以包括誤差位置檢測器,其使用症候群產生器所傳輸的症候群來檢測誤差位置。
本文中揭露詳細實例實施例。然而,本文中所揭露之特定結構以及功能細節僅表示描述實例實施例之目的。然而,實例實施例可以許多替代形式來體現,且不應認為其限於本文中所陳述之實施例。
因此,雖然實例實施例可接受各種修改以及替代形式,但是其特定實施例在圖式中是藉由實例來展示且將在本文中加以詳細地描述。然而,應瞭解的是,不意欲將實例實施例限於所揭露之特別形式,相反地,實例實施例將涵蓋屬於實例實施例之精神以及範疇的所有修改、等效物以及替代形式。在諸圖之整個描述中,相同數字指相同元件。
應瞭解的是,儘管本文中可使用術語第一、第二等等來描述各種元件,但是此等元件不應受到此等術語之限制。此等術語僅是用於將一元件與另一元件區別開。舉例而言,在不脫離實例實施例之範疇的情況下,可將第一元件稱為第二元件,且類似地,可將第二元件稱為第一元件。如本文中所使用,術語“及/或”包括一或多個相關列出項之任何以及所有組合。
應瞭解的是,當將一元件稱為“連接”或“耦接”至另一元件時,其可直接連接或耦接至另一元件或可存在著介入元件(intervening element)。相反地,當將一元件稱為“直接連接”或“直接耦接”至另一元件時,不存在著介入元件。應以相同方式來解釋用於描述各元件之間之關係的其他詞語(意即,“在……之間”對“直接在……之間”、“鄰近”對“直接鄰近”,等等)。
本文中所使用之術語僅是出於描述特定實施例之目的,且不意欲限制實例實施例之實例實施例。如本文中所使用者,單數形式“一”(a、an)以及“所述”(the)亦意欲包括複數形式,除非本文另有明確指示。應進一步瞭解的是,術語“包括”(comprises、comprising、includes及/或including)在本文中使用時指定存在所敍述之特徵、整數、步驟、運作、元件、及/或組件,但不排除存在或添加一或多個其他特徵、整數、步驟、運作、元件、組件、及/或其族群。
也應當注意到在一些其他的實施例中,所記載的功能/行為可能出現脫離在圖式中所記載的順序。舉例來說,依靠有關的功能/行為,事實上連續地顯示兩張圖式可實質上並存地執行或是有時以相反順序執行。
圖6為根據實例實施例之半導體記憶體裝置600的示意圖。圖7是根據實例實施例所示圖6之半導體記憶體裝置600之誤差校正方法700的流程圖。
參照圖6與圖7,半導體記憶體裝置600可以包括快閃記憶體裝置620與控制器640。
快閃記憶體裝置620可以包括記憶胞陣列ARR、誤差校正編碼器ENC、頁緩衝器P_BUF與誤差校正器ECORR。快閃記憶體裝置620可以是NAND快閃記憶體裝置。另外,快閃記憶體裝置620可以是多階胞快閃記憶體裝置。
控制器640可以包括介面單元642、症候群產生器(syndrome generator)644、Berlekamp-Massey操作器646與Chien搜尋器648。
根據實例實施例,半導體記憶體裝置600可以包括多個晶片CIP1~CIPn,且晶片CIP1~CIPn可以各自包括快閃記憶體裝置620。根據實例實施例,晶片CIP1~CIPn可以連接到控制器640與匯流排,而此匯流排可以是晶片CIP1~CIPn所共用的。舉例來說,包括快閃記憶體裝置620的晶片CIP1~CIPn、與控制器640都可以經由匯流排以分別如同圖1所示的晶片CIP1~CIPn與控制器CTRL的方式而被連接。
誤差校正編碼器ENC可以比較第一同位資料PDATA1與第二同位資料PDATA2,並可以檢查誤差(操作S720)。根據實例實施例,第一同位資料PDATA1可相同於如圖4所示之同位資料PDTA,其可經由對正常資料NDTA進行編碼來產生而被寫入到記憶胞陣列ARR。另外,第二同位資料PDATA2可以是經由編碼該寫入到記憶胞陣列ARR中的正常資料NDTA所產生的同位資料。記憶胞陣列ARR可以包括多個資料頁。根據實例實施例,快閃記憶體裝置620可從記憶胞陣列ARR到頁緩衝器P_BUF移動一頁PAG來寫入或讀,並接著執行寫入或讀取操作。
當第一同位資料PDATA1與第二同位資料PDATA2不相同(在操作S720中的“YES”),誤差校正編碼器ENC可以輸出誤差信號XERR。此時,誤差信號XERR可以互斥或(XOR)於第一同位資料PDATA1與第二同位資料PDATA2之間。
另一方面,當第一同位資料PDATA1與第二同位資料PDATA2相同(在操作S720中的“NO”),則半導體記憶體裝置600可以執行相應輸入命令的操作(操作S730),並且可以輸出訊息“回報成功(Return Success)”(操作S742)。
在圖7中,可以輸入內部拷貝回存請求(亦即可以執行內部拷貝回存程序)。誤差校正編碼器ENC可回應於內部拷貝回存來檢查錯誤(操作S710)。半導體記憶體裝置600可以回應於如圖2所示的內部拷貝回存來儲存有關內部拷貝回存的頁到頁緩衝器並可檢測有關儲存在頁緩衝器中頁的誤差。
在另一實施例中,誤差校正編碼器ENC可回應於讀取操作的命令來檢查錯誤。根據實例實施例,圖6的半導體記憶體裝置600可以使用圖7之方法來檢測並校正錯誤。當誤差不存在或誤差已校正時,半導體記憶體裝置600可以執行讀取操作。再者,半導體記憶體裝置600可以使用分離命令(separate instruction)來檢查錯誤。
於是,由於根據實例實施例之快閃記憶體裝置可以自我檢測錯誤,因此傳輸與接收同位資料的匯流排流量的問題可以被克服。
參照圖6與圖7,控制器640可回應於誤差信號XERR來檢測誤差位置PERRS。誤差信號XERR可由介面單元642接收並傳送到症候群產生器644。症候群產生器644可回應於誤差信號來產生症候群SYN(操作S750)。
症候群SYN可以傳送到Berlekamp-Massey操作器646。Berlekamp-Massey操作器646可以使用Berlekamp-Massey演算法來計算誤差位置方程式EEQ(操作S760)。接著,Chien搜尋器648可以搜尋誤差位置PERRS(操作S770)。誤差位置PERRS可以使用Chien搜尋演算法來搜尋。Chien搜尋器648可以根據誤差位置方程式是否為“0”來搜尋誤差位置PERRS。
根據實例實施例,症候群產生器644可以產生有關多個並列位元的多個症候群。另外,Chien搜尋器648可以操作有關多個並列位元的Chien搜尋演算法。
如此,雖然根據實例實施例之快閃記憶體裝置可使用一種”誤差檢測與校正(error detection and correction,EDC)”誤差校正方法以一次一位元為基礎(bit-by-bit basis)來檢查誤差,但快閃記憶體裝置可同時檢測與校正誤差位置。根據實例實施例,在具有多階胞結構或高積體化的快閃記憶體裝置中,產生於單一區段中的多個位元可有效地校正誤差。
半導體記憶體裝置600之症候群產生器644、Berlekamp-Massey操作器646與Chien搜尋器648的操作已揭露於韓國專利申請第10-2007-0031929號中。於是,在此不再詳加說明。
參照圖6,包括在快閃記憶體裝置620中的誤差校正器ECORR可以接收誤差位置PERRS,並經由反向有關位元的位元值來校正錯誤(操作S780)。
當誤差校正(操作步驟S790的“YES”)時,半導體記憶體裝置600可以執行有關內部拷貝回存程序之輸入請求的操作(操作S730),並輸出訊息“回報成功”(操作S742)。另一方面,當誤差未校正(操作步驟S790的“NO”)時,半導體記憶體裝置600可以輸出訊息“回報失敗(Return Fail)”(操作S744)。
特別地,就上述圖7來說,誤差校正編碼器ENC可以一次一頁為基礎來檢查誤差,並傳送誤差到控制器。當誤差以一次一頁為基礎而被檢測出時,如圖7所示,控制操作可以是容易的。
然而,根據實例實施例的另一實施例,如圖9所示,誤差可以一次一區段(sector)為基礎來進行檢測,並且誤差可以傳送到控制器。在圖9的實施例中,以一次一區段為基礎來決定誤差是否存在(操作S920與S930)。當誤差未存在於有關區段(操作S930的“NO”)時,執行決定下一區段之誤差是否存在的操作直到所有區段被檢查為止(操作S960)。
當誤差未存在於任一區段且最後一區段已被檢查(操作S960的YES)時,快閃記憶體裝置可以執行有關內部拷貝回存程序之輸入請求的操作(操作S970),如圖7所示,並且輸出訊息“回報成功”(操作S980)。
另一方面,當誤差未存在於有關區段(操作S930的“YES”)時,快閃記憶體裝置可以產生關於有關區段的誤差信號(操作S940),如圖7所示,並且傳送誤差信號到控制器(操作S950)。根據實例實施例,誤差信號可以使用管線(pipe line)結構而傳送到控制器。如此,如圖9所示,當誤差以一次一區段為基礎被檢測出,使用基本上包括在快閃記憶體裝置中的區段管線(未繪示),將可改善誤差檢測速度。
圖8為根據實例實施例之半導體記憶體裝置800的示意圖。
參照圖8,圖8的半導體記憶體裝置800可以包括快
閃記憶體裝置820與控制器840。
快閃記憶體裝置820的安排實質上相似於圖6之半導體記憶體裝置600中的快閃記憶體裝置620,但是只有半導體記憶體裝置800中的快閃記憶體裝置820另外包括的症候群產生器SYN GET例外。
控制器840可以包括NAND介面842、Berlekamp-Massey操作器846與Chien搜尋器848,而NAND介面842、Berlekamp-Massey操作器846與Chien搜尋器848的操作方式實質上分別相似於圖6之半體體記憶體裝置中的切面單元642、Berlekamp-Massey操作器646與Chien搜尋器648。
於是,快閃記憶體裝置820可以包括誤差校正編碼器ENC與症候群產生器SYB GET。如此,因為快閃記憶體裝置820可以只經由匯流排來傳送與接受症候群SYN與誤差位置PERRS到控制器,因此可以降低匯流排流量。
由於半導體記憶體裝置800可檢測與校正錯誤實質上相似於圖6的半導體記憶體裝置600的方法,故在此不再贅述之。舉例來說,在半導體記憶體裝置800中,也可接收內部拷貝回存請求,並且可回應於讀取請求來檢查並校正錯誤。另外,半導體記憶體裝置800可以一次一區段為基礎或一次一頁為基礎來檢查錯誤。
雖然實例實施例揭露如上,相同的部分可在許多方面明顯地被改變。不認為此等變化脫離實例實施例的精神以及範疇,且熟習此項技術者顯而易見的是所有此等修改意欲包括於下列申請專利範圍之範疇內。
BUS...匯流排BUS
CIP1~CIPn...晶片
CTRL...控制器
P_BUF...頁緩衝器
PAGEi~PAGEj、PAGEn...頁
100...半導體晶片
120...快閃記憶胞陣列
140...誤差校正電路
200...匯流排
141...NAND介面
142...誤差校正編碼電路
143...誤差校正解碼電路
144...隨機存取記憶體區塊
145...旗標暫存器
300...控制電路
CDTA...BCH碼資料
PDTA...同位資料
NStorage...正常資料範圍
PStorage...同位資料範圍
DATA1~DATA4...正常資料
PDTA1~PDTA4...同位資料
600...半導體記憶體裝置
620、820...快閃記憶體裝置
ARR...記憶胞陣列
ENC...誤差校正編碼器
P_BUF...頁緩衝器
ECORR...誤差校正器
640、840...控制器
642...介面單元
644...症候群產生器
646、846‧‧‧Berlekamp-Massey操作器
648、848‧‧‧Chien搜尋器
XERR‧‧‧誤差信號
PERRS‧‧‧誤差位置
SYN‧‧‧症候群
EEQ‧‧‧誤差位置方程式
700‧‧‧半導體記憶體裝置之誤差校正方法的流程圖
S710、S720、S730、S742、S744、S750、S760、S770、S780、S790‧‧‧半導體記憶體裝置之誤差校正方法的流程圖的操作
842‧‧‧NAND介面
Error bits‧‧‧誤差位元
900‧‧‧另一半導體記憶體裝置之誤差校正方法的流程圖
S910、S920、S930、S940、S950、S960、S970、S980‧‧‧另一半導體記憶體裝置之誤差校正方法的流程圖的操作
圖1為半導體記憶體裝置包括多個晶片的示意圖。
圖2為包括在圖1晶片之快閃記憶體裝置中的內部copy-back協定。
圖3為具有誤差校正電路與快閃記憶體裝置之傳統半導體晶片的方塊圖。
圖4為BCH碼資料CDTA之格式的概念圖。
圖5為儲存於NAND快閃記憶體裝置之一頁內之多片段正常資料NDTA與多片段同位資料PDTA的格式的示意圖。
圖6為根據實例實施例之實施例之半導體記憶體裝置的示意圖。
圖7與圖9為根據實例實施例之實施例之圖6之半導體記憶體裝置之誤差校正方法的流程圖。
圖8為根據實例實施例之另一實施例之半導體記憶體裝置的示意圖。
600...半導體記憶體裝置
620...快閃記憶體裝置
ARR...記憶胞陣列
ENC...誤差校正編碼器
P_BUF...頁緩衝器
ECORR...誤差校正器
640...控制器
642...介面單元
644...症候群產生器
646...Berlekamp-Massey操作器
648...Chien搜尋器
XERR...誤差信號
PERRS...誤差位置
SYN...症候群
EEQ...誤差位置方程式
Claims (20)
- 一種半導體記憶體裝置,包括:一或多個快閃記憶體裝置,該一或多個快閃記憶體裝置包括:一記憶胞陣列,具有多個頁;以及一誤差校正編碼器,其組態成基於正常資料以產生第一同位資料來寫入到該記憶胞陣列、比較該第一同位資料與已儲存在該記憶胞陣列中的該正常資料而編碼的第二同位資料來檢測一誤差是否存在,並且依據該比較之結果來產生一誤差信號;以及一控制器,其位於該一或多個快閃記憶體裝置之外部,該控制器包括:一誤差位置檢測器,其組態成基於該誤差信號來檢測一誤差位置,該誤差信號從該一或多個快閃記憶體裝置傳輸而來,經過連接於該一或多個快閃記憶體裝置與該控制器之間的一匯流排。
- 如申請專利範圍第1項所述之半導體記憶體裝置,其中該誤差校正編碼器組態成當一誤差存在時輸出該誤差信號,並且該誤差位置檢測器組態成回應於該誤差信號來檢測該誤差位置。
- 如申請專利範圍第2項所述之半導體記憶體裝置,其中該一或多個快閃記憶體裝置是多個快閃記憶體裝置,並且該多個快閃記憶體裝置經由該匯流排連接到該控制器。
- 如申請專利範圍第2項所述之半導體記憶體裝置,其中該誤差校正編碼器組態成回應於一內部拷貝回存指令來檢測該誤差是否存在。
- 如申請專利範圍第2項所述之半導體記憶體裝置,其中該誤差校正編碼器組態成回應於一讀取指令來檢測該誤差是否存在。
- 如申請專利範圍第2項所述之半導體記憶體裝置,其中該誤差校正編碼器包括:一編碼單元,其組態成產生該第一同位資料與該第二同位資料;一比較單元,其組態成比較該第一同位資料與該第二同位資料;以及一檢查單元,其組態成當該第一同位資料與該第二同位資料不同時,輸出該誤差信號。
- 如申請專利範圍第2項所述之半導體記憶體裝置,其中該誤差位置檢測器包括:一症候群產生單元,其組態成回應於該誤差信號來產生一症候群;以及一誤差位置搜尋器,其組態成使用該症候群來計算一誤差位置。
- 如申請專利範圍第7項所述之半導體記憶體裝置,其中該症候群產生單元組態成產生有關多個並列位元的多個症候群。
- 如申請專利範圍第7項所述之半導體記憶體裝置, 其中該誤差位置搜尋器包括一Berlekamp-Massey操作器與一Chien搜尋器,該Berlekamp-Massey操作器與該Chien搜尋器組態成分別使用一Berlekamp-Massey演算法與一Chien搜尋演算法來計算該誤差位置。
- 如申請專利範圍第9項所述之半導體記憶體裝置,其中該Chien搜尋器組態成執行有關多個並列位元的該Chien搜尋演算法。
- 如申請專利範圍第2項所述之半導體記憶體裝置,其中該快閃記憶體裝置更包括一誤差校正器,其組態成從該誤差位置檢測器來接收該誤差位置,並且藉由反向一有關位元的一位元值來校正該誤差。
- 如申請專利範圍第2項所述之半導體記憶體裝置,其中該快閃記憶體裝置組態成一次一區段為基礎或一次一頁為基礎來傳送該誤差信號到該控制器。
- 如申請專利範圍第2項所述之半導體記憶體裝置,其中該快閃記憶體裝置是一NAND快閃記憶體裝置。
- 如申請專利範圍第1項所述之半導體記憶體裝置,其中該快閃記憶體裝置更包括一症候群產生器,其組態成當該第一同位資料與第二同位資料不同時,產生一症候群,並且該誤差位置檢測器組態成使用所產生的症候群來檢測一誤差位置。
- 如申請專利範圍第14項所述之半導體記憶體裝置,其中該誤差校正編碼器組態成回應於一內部拷貝回存指令來檢測該誤差是否存在。
- 如申請專利範圍第14項所述之半導體記憶體裝置,其中該誤差校正編碼器組態成回應於一讀取指令來檢測該誤差是否存在。
- 如申請專利範圍第14項所述之半導體記憶體裝置,其中誤差位置搜尋器包括一Berlekamp-Massey操作器與一Chien搜尋器,該Berlekamp-Massey操作器與該Chien搜尋器組態成分別使用一Berlekamp-Massey演算法與一Chien搜尋演算法來計算該誤差位置。
- 如申請專利範圍第17項所述之半導體記憶體裝置,其中該Chien搜尋器組態成執行有關多個並列位元的該Chien搜尋演算法。
- 如申請專利範圍第14項所述之半導體記憶體裝置,其中該快閃記憶體裝置更包括一誤差校正器,其組態成從該誤差位置檢測器來接收該誤差位置,並且經由反向一有關位元的一位元值來校正該誤差。
- 如申請專利範圍第14項所述之半導體記憶體裝置,其中該快閃記憶體裝置組態成一次一區段為基礎或一次一頁為基礎來傳送該誤差信號到該控制器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20080027364A KR101489827B1 (ko) | 2008-03-25 | 2008-03-25 | 낸드 플래시 메모리와 컨트롤러 간의 효율적인 프로토콜을사용하는 반도체 메모리 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200943311A TW200943311A (en) | 2009-10-16 |
TWI517176B true TWI517176B (zh) | 2016-01-11 |
Family
ID=41118983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098108036A TWI517176B (zh) | 2008-03-25 | 2009-03-12 | 降低nand快閃記憶體裝置與控制器之間匯流排流量的半導體記憶體裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8370699B2 (zh) |
KR (1) | KR101489827B1 (zh) |
TW (1) | TWI517176B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130049332A (ko) | 2011-11-04 | 2013-05-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
JP5674700B2 (ja) * | 2012-03-22 | 2015-02-25 | 株式会社東芝 | 符号化装置および符号化装置の制御方法、ならびに、記憶装置 |
JP2014057202A (ja) * | 2012-09-12 | 2014-03-27 | Samsung Electronics Co Ltd | 誤り検出訂正回路及び半導体メモリ |
KR102009437B1 (ko) | 2013-01-18 | 2019-08-13 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
US9904595B1 (en) * | 2016-08-23 | 2018-02-27 | Texas Instruments Incorporated | Error correction hardware with fault detection |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1173797A (ja) | 1997-08-27 | 1999-03-16 | Sony Corp | 記憶装置 |
JP3975245B2 (ja) * | 1999-12-16 | 2007-09-12 | 株式会社ルネサステクノロジ | 記録再生装置および半導体メモリ |
US7020826B2 (en) * | 2002-01-23 | 2006-03-28 | Thomson Licensing | Intra-decoder component block messaging |
KR100634414B1 (ko) * | 2004-09-06 | 2006-10-16 | 삼성전자주식회사 | 에러 검출용 패러티 발생기를 구비한 낸드 플래시 메모리 장치 및 그것의 에러 검출 방법 |
KR20070109686A (ko) | 2006-05-12 | 2007-11-15 | 주식회사 하이닉스반도체 | 멀티 레벨 셀 낸드 플래쉬 메모리에서 에러 정정 기법을사용한 개선된 카피백 동작 |
KR100891332B1 (ko) | 2007-03-30 | 2009-03-31 | 삼성전자주식회사 | 에러 정정 부호화기를 이용하여 에러를 체크하는 bch에러 정정 방법 및 회로 |
-
2008
- 2008-03-25 KR KR20080027364A patent/KR101489827B1/ko not_active IP Right Cessation
-
2009
- 2009-03-12 TW TW098108036A patent/TWI517176B/zh active
- 2009-03-17 US US12/382,466 patent/US8370699B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8370699B2 (en) | 2013-02-05 |
US20090249138A1 (en) | 2009-10-01 |
KR20090102115A (ko) | 2009-09-30 |
TW200943311A (en) | 2009-10-16 |
KR101489827B1 (ko) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8122328B2 (en) | Bose-Chaudhuri-Hocquenghem error correction method and circuit for checking error using error correction encoder | |
US8726140B2 (en) | Dummy data padding and error code correcting memory controller, data processing method thereof, and memory system including the same | |
US7844880B2 (en) | Error correction for flash memory | |
JP5043562B2 (ja) | エラー訂正回路、その方法及び前記回路を備える半導体メモリ装置 | |
JP2008299855A (ja) | エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法 | |
US8650458B2 (en) | Methods of encoding/decoding for error correction code utilizing interdependent portions of codewords and related circuits | |
US7231585B2 (en) | Error correction for flash memory | |
US9100054B2 (en) | Data processing systems and methods providing error correction | |
JP2008165808A (ja) | 誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置 | |
TWI517176B (zh) | 降低nand快閃記憶體裝置與控制器之間匯流排流量的半導體記憶體裝置 | |
US20140040699A1 (en) | Error check and correction circuit, method, and memory device | |
US9164831B2 (en) | Memory controller, semiconductor storage device, and decoding method | |
KR101157516B1 (ko) | 데이터 처리 효율을 향상시킨 bch 코덱 | |
US11972827B2 (en) | Semiconductor storage device and reading method | |
KR20210015087A (ko) | 오류 정정 회로, 이를 포함하는 메모리 컨트롤러 및 메모리 시스템 | |
KR101367351B1 (ko) | 분산형 ecc 프로세싱 시스템 및 방법 | |
US11424765B2 (en) | ECC decoders having low latency | |
JP7178465B1 (ja) | 半導体記憶装置 | |
JP2005011386A (ja) | 誤り訂正装置 | |
US10740176B2 (en) | Computing system with shift adjustable coding mechanism and method of operation thereof | |
KR101593519B1 (ko) | 플래시 메모리 시스템 및 그것의 암호화 방법 | |
JP2013069377A (ja) | 復号方法、復号装置および記憶装置 | |
JP2011029857A (ja) | フラッシュファイルシステムの誤り検出訂正機能 | |
JP2010140132A (ja) | メモリシステム及びメモリコントローラ | |
JP2011119019A (ja) | 誤り訂正装置および誤り訂正方法 |