[go: up one dir, main page]

TWI799067B - Semiconductor memory device and error detection and correction method - Google Patents

Semiconductor memory device and error detection and correction method Download PDF

Info

Publication number
TWI799067B
TWI799067B TW111100911A TW111100911A TWI799067B TW I799067 B TWI799067 B TW I799067B TW 111100911 A TW111100911 A TW 111100911A TW 111100911 A TW111100911 A TW 111100911A TW I799067 B TWI799067 B TW I799067B
Authority
TW
Taiwan
Prior art keywords
error detection
correction
correction function
data
ecc
Prior art date
Application number
TW111100911A
Other languages
Chinese (zh)
Other versions
TW202238607A (en
Inventor
葛西央倫
金子二四三
Original Assignee
華邦電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 華邦電子股份有限公司 filed Critical 華邦電子股份有限公司
Publication of TW202238607A publication Critical patent/TW202238607A/en
Application granted granted Critical
Publication of TWI799067B publication Critical patent/TWI799067B/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/109Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

A compatibility of error detection and correction capability and write or read performance is realized. A error detection and correction method of a flash memory of the present invention includes: a setting step of setting selection information for selecting a first error detection and correction function that performs 1-bit error detection and correction or a second error detection and correction function that performs multiple-bit error detection and correction; and an execution step of performing the first error detection and correction function or the second error detection and correction function based on the set selection information during a read operation or a write operation.

Description

半導體儲存裝置及錯誤檢測校正方法Semiconductor storage device and error detection and correction method

本發明是有關於一種反及(NAND)型快閃記憶體的半導體儲存裝置,且特別是有關於一種錯誤檢測校正功能的切換。The present invention relates to a semiconductor storage device of NAND type flash memory, and in particular relates to a switching of error detection and correction functions.

在NAND型的快閃記憶體中,由於反復進行資料的編程或抹除引起位元錯誤。作為此種位元錯誤的對策,在快閃記憶體搭載有錯誤檢測校正電路(以下稱為ECC(Error Correcting Code)電路)(例如專利文獻: 日本專利6744950號公報、日本專利6744951號公報)。In NAND flash memory, bit errors are caused by repeated programming or erasing of data. As a countermeasure against such bit errors, an error detection and correction circuit (hereinafter referred to as an ECC (Error Correcting Code) circuit) is mounted on the flash memory (for example, patent documents: Japanese Patent No. 6744950, Japanese Patent No. 6744951).

在圖1中示出以往的搭載有晶片上ECC功能的NAND型快閃記憶體的概略結構。快閃記憶體10包括:儲存單元陣列20、頁緩衝器/感測電路30、ECC電路40、以及輸入輸出電路50。ECC電路40包括:傳輸電路42、ECC核心44、錯誤暫存器46及寫入電路48。FIG. 1 shows a schematic structure of a conventional NAND flash memory equipped with an on-chip ECC function. The flash memory 10 includes: a storage cell array 20 , a page buffer/sensing circuit 30 , an ECC circuit 40 , and an input/output circuit 50 . The ECC circuit 40 includes: a transmission circuit 42 , an ECC core 44 , an error register 46 and a writing circuit 48 .

在讀出動作中,將從儲存單元陣列20的選擇頁讀出的資料保持在頁緩衝器/感測電路30,並將保持在頁緩衝器/感測電路30的資料經由傳輸電路42而傳輸至ECC核心44。ECC核心44對所傳輸的資料進行ECC運算,將由所述運算獲得的錯誤資訊保持在錯誤暫存器46。寫入電路48基於保持在錯誤暫存器46的錯誤資訊,將經校正的資料寫回至頁緩衝器/感測電路30。如此,在一頁的ECC處理結束後,按照行位址將保持在頁緩衝器/感測電路30的資料讀出至資料匯流排60,並將所讀出的資料提供至輸入輸出電路50。輸入輸出電路50從未圖示的輸入輸出端子將讀出資料輸出至外部。In the read operation, the data read from the selected page of the storage cell array 20 is held in the page buffer/sensing circuit 30, and the data held in the page buffer/sensing circuit 30 is transmitted through the transmission circuit 42. to ECC core 44. The ECC core 44 performs an ECC operation on the transmitted data, and stores the error information obtained by the operation in the error register 46 . The write circuit 48 writes the corrected data back to the page buffer/sense circuit 30 based on the error information held in the error register 46 . In this way, after the ECC processing of one page is completed, the data stored in the page buffer/sensing circuit 30 is read out to the data bus 60 according to the row address, and the read data is provided to the I/O circuit 50 . The input/output circuit 50 outputs the read data to the outside from an input/output terminal not shown.

在寫入動作中,將從外部輸入的應編程的資料保持在頁緩衝器/感測電路30,ECC核心44生成從頁緩衝器/感測電路30傳輸的資料的代碼(同位檢查位元),寫入電路48將所生成的代碼寫入至與頁緩衝器/感測電路30的備用區域對應的位置。在ECC處理後,將保持在頁緩衝器/感測電路30的資料編程至儲存單元陣列20。In the write operation, the data to be programmed input from the outside is held in the page buffer/sensing circuit 30, and the ECC core 44 generates a code (parity check bit) of the data transferred from the page buffer/sensing circuit 30 , the writing circuit 48 writes the generated code to a location corresponding to the spare area of the page buffer/sensing circuit 30 . After the ECC process, the data held in the page buffer/sensing circuit 30 is programmed into the memory cell array 20 .

若一頁的資料尺寸變大,則對與頁的讀出或寫入時間、或者與基於串列外設介面(Serial Peripheral Interface,SPI)的外部時鐘信號同步地進行多頁的連續讀出時的動作頻率帶來極大的影響。另外,通過流水線處理實現了高速化,但也導致晶片尺寸的增大,難以實現錯誤檢測校正能力與讀出性能的並存。When the data size of one page becomes larger, when multiple pages are continuously read in synchronization with the read or write timing of the page, or with an external clock signal based on the Serial Peripheral Interface (SPI) The frequency of action has a great influence. In addition, the speed-up has been achieved through pipeline processing, but this also leads to an increase in the wafer size, making it difficult to achieve both error detection and correction capability and readout performance.

本發明著眼于此種現有的問題,其目的在於提供一種實現錯誤檢測校正能力與寫入或讀出的性能的並存的半導體儲存裝置及錯誤檢測校正方法。The present invention focuses on such conventional problems, and an object of the present invention is to provide a semiconductor storage device and an error detection and correction method that realize coexistence of error detection and correction capability and writing or reading performance.

本發明的半導體儲存裝置的錯誤檢測校正方法包括:設定步驟,設定用於選擇進行m位元的錯誤檢測校正的第一錯誤檢測校正功能或進行n位元的錯誤檢測校正的第二錯誤檢測校正功能的選擇資訊(m、n為自然數,m<n);以及執行步驟,在讀出動作或寫入動作時,基於所述選擇資訊來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。The error detection and correction method of a semiconductor storage device according to the present invention includes: a setting step of setting a first error detection and correction function for selectively performing m-bit error detection and correction or a second error detection and correction function for performing n-bit error detection and correction Function selection information (m and n are natural numbers, m<n); and an execution step of executing the first error detection and correction function or the second error detection and correction function based on the selection information during a read operation or a write operation Two error detection and correction functions.

本發明的半導體儲存裝置包括:儲存單元陣列;錯誤檢測校正電路,包含進行m位元的錯誤檢測校正的第一錯誤檢測校正功能及進行n位元的錯誤檢測校正的第二錯誤檢測校正功能(m、n為自然數,m<n);設定暫存器,設定用於選擇所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能的選擇資訊;以及控制器,在讀出動作或寫入動作時,基於所述選擇資訊來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。The semiconductor storage device of the present invention includes: a memory cell array; an error detection and correction circuit including a first error detection and correction function for performing m-bit error detection and correction and a second error detection and correction function for performing n-bit error detection and correction ( m and n are natural numbers, m<n); set the temporary register, set the selection information for selecting the first error detection and correction function or the second error detection and correction function; and the controller, in the readout action Or during a writing operation, the first error detection and correction function or the second error detection and correction function is executed based on the selection information.

根據本發明,由於可選擇第一錯誤檢測校正功能或第二錯誤檢測校正功能,因此,例如可通過根據產品生命週期等切換錯誤檢測校正能力來實現與讀出或寫入動作的性能並存。According to the present invention, since the first error detection and correction function or the second error detection and correction function can be selected, for example, by switching the error detection and correction capability according to the product life cycle, it is possible to achieve coexistence with the performance of the read or write operation.

接著,參照附圖對本發明的實施方式進行詳細說明。本發明的半導體儲存裝置例如是NAND型快閃記憶體、或者嵌入此種快閃記憶體的微處理器(micro processor)、微控制器(micro controller)、邏輯、專用積體電路(Application Specific Integrated Circuit,ASIC)、對圖像或聲音進行處理的處理器、對無線信號進行處理的處理器。Next, embodiments of the present invention will be described in detail with reference to the drawings. The semiconductor storage device of the present invention is, for example, a NAND flash memory, or a microprocessor (micro processor), microcontroller (micro controller), logic, application specific integrated circuit (Application Specific Integrated Circuit) embedded in such a flash memory. Circuit, ASIC), a processor that processes images or sounds, and a processor that processes wireless signals.

圖2是表示本發明的實施例的NAND型快閃記憶體的內部結構的圖。快閃記憶體100包括:儲存單元陣列110,呈矩陣狀地排列有多個儲存單元;輸入輸出電路120,連接於外部輸入輸出端子,且將讀出資料輸出至外部或者導入從外部輸入的資料;ECC電路130,進行應編程的資料的錯誤校正代碼的生成或基於所述錯誤校正代碼所讀出的資料的錯誤檢測校正;位址暫存器140,經由輸入輸出電路120來接收位址資料;控制器150,基於經由輸入輸出電路120接收的命令(指令)或施加至控制端子的控制信號來對各部進行控制;字元線選擇電路160,基於來自位址暫存器140的列位址資訊Ax的解碼結果來進行塊的選擇或字元線的選擇;頁緩衝器/感測電路170,保持從儲存單元陣列110的選擇頁讀出的資料,或者保持要編程至選擇頁的資料;行選擇電路180,基於來自位址暫存器140的行位址資訊Ay的解碼結果來做行的選擇;以及設定暫存器190,設定關於多個錯誤檢測校正功能的選擇資訊。此處雖未圖示但快閃記憶體100包括內部電壓產生電路,所述內部電壓產生電路生成資料的讀出、編程(寫入)及抹除所需的電壓(編程電壓Vpgm、通過電壓Vpass、讀出電壓Vread、抹除電壓Vers)。另外,NAND型快閃記憶體100也可搭載用於實現與或非(NOR)型快閃記憶體的動作的相容性的SPI。FIG. 2 is a diagram showing an internal structure of a NAND flash memory according to an embodiment of the present invention. The flash memory 100 includes: a storage cell array 110, in which a plurality of storage cells are arranged in a matrix; an input-output circuit 120, connected to an external input and output terminal, and outputs read data to the outside or imports data input from the outside ECC circuit 130, the generation of the error correction code of the data that should be programmed or the error detection and correction of the data read based on the error correction code; the address temporary register 140 receives the address data through the input and output circuit 120 ; The controller 150 controls each part based on a command (command) received via the input and output circuit 120 or a control signal applied to the control terminal; the word line selection circuit 160 is based on the column address from the address register 140 The decoding result of the information Ax is used to select a block or a word line; the page buffer/sensing circuit 170 maintains the data read from the selected page of the storage cell array 110, or maintains the data to be programmed into the selected page; The row selection circuit 180 selects a row based on the decoding result of the row address information Ay from the address register 140; and the setting register 190 sets selection information about a plurality of error detection and correction functions. Although not shown here, the flash memory 100 includes an internal voltage generating circuit that generates voltages required for reading, programming (writing) and erasing data (programming voltage Vpgm, pass voltage Vpass , read voltage Vread, erase voltage Vers). In addition, the NAND-type flash memory 100 may be equipped with an SPI for realizing operation compatibility with a NOR-type flash memory.

儲存單元陣列110例如具有沿行方向配置的m個儲存塊BLK(0)、BLK(1)、…、BLK(m-1)。在一個儲存塊形成有多個NAND串,一個NAND串包括經串聯連接的多個儲存單元、位元線側選擇電晶體、以及源極線側選擇電晶體。位元線側選擇電晶體的汲極連接於所對應的一個全域位元線,源極線側選擇電晶體的源極連接於共用的源極線。儲存單元的閘極連接於所對應的字元線,位元線側選擇電晶體及源極線側選擇電晶體的各閘極分別連接於選擇閘極線SGD、選擇閘極線SGS。字元線選擇電路160基於列位址資訊Ax經由選擇閘極線SGD、選擇閘極線SGS而驅動位元線側選擇電晶體、源極線側選擇電晶體,來選擇塊或字元線。NAND串既可二維地形成於基板表面上,也可三維地形成於基板表面上。另外,儲存單元既可為儲存1位元(bit)(二值資料)的單層單元(Single Level Cell,SLC)型,也可為儲存多位元的類型。The memory cell array 110 has, for example, m memory blocks BLK( 0 ), BLK( 1 ), . . . , BLK(m−1) arranged in the row direction. A plurality of NAND strings are formed in one storage block, and one NAND string includes a plurality of storage cells connected in series, selection transistors on the bit line side, and selection transistors on the source line side. The drain of the selection transistor on the bit line side is connected to a corresponding global bit line, and the source of the selection transistor on the source line side is connected to a common source line. The gates of the memory cells are connected to the corresponding word lines, and the gates of the selection transistors on the bit line side and the selection transistors on the source line are respectively connected to the selection gate line SGD and the selection gate line SGS. The word line selection circuit 160 drives the bit line side selection transistor and the source line side selection transistor through the selection gate line SGD and the selection gate line SGS based on the column address information Ax to select a block or a word line. NAND strings can be formed on the substrate surface both two-dimensionally and three-dimensionally. In addition, the storage unit can be either a single level cell (Single Level Cell, SLC) type that stores 1 bit (binary data), or a type that stores multiple bits.

在讀出動作中,對位元線施加某正電壓,對選擇字元線施加某電壓(例如0 V),對非選擇字元線施加通過電壓Vpass(例如4.5 V),對選擇閘極線SGD、選擇閘極線SGS施加正電壓(例如4.5 V),使位元線側選擇電晶體、源極線側選擇電晶體接通,使共用源極線SL為0 V。在編程動作中,對選擇字元線施加高電壓的編程電壓Vpgm(例如15 V~20 V),對非選擇的字元線施加中間電位(例如10 V),使位元線側選擇電晶體接通,使源極線側選擇電晶體斷開,對位元線供給與資料“0”或“1”對應的電位。在抹除動作中,對塊內的選擇字元線施加0 V,對P阱施加高電壓(例如20 V)。In the read operation, a certain positive voltage is applied to the bit line, a certain voltage (such as 0 V) is applied to the selected word line, a pass voltage Vpass (such as 4.5 V) is applied to the non-selected word line, and a certain voltage Vpass (such as 4.5 V) is applied to the selected gate line. SGD and select gate line SGS apply a positive voltage (for example, 4.5 V), so that the select transistor on the bit line side and the select transistor on the source line side are turned on, so that the common source line SL is 0 V. In the programming action, a high-voltage programming voltage Vpgm (for example, 15 V to 20 V) is applied to the selected word line, and an intermediate potential (for example, 10 V) is applied to the non-selected word line to make the selection transistor on the bit line side When it is turned on, the select transistor on the source line side is turned off, and a potential corresponding to data "0" or "1" is supplied to the bit line. In the erase operation, 0 V is applied to the selected word line in the block, and a high voltage (for example, 20 V) is applied to the P well.

在某一形態中,ECC電路130如圖3所示那樣包括具有1位元的錯誤檢測校正功能的第一ECC部132、以及具有8位元的錯誤檢測校正功能的第二ECC部134。第一ECC部132使用漢明碼進行資料的編碼/解碼,第二ECC部134使用BCH碼進行資料的編碼/解碼。對第一ECC部132及第二ECC部134從控制器150分別供給第一致能信號EN_1及第二致能信號EN_2。第一ECC部132在第一致能信號EN_1為第一邏輯狀態時被致能,在第一致能信號EN_1為第二邏輯狀態時被禁能。第二ECC部134在第二致能信號EN_2為第一邏輯狀態時被致能,在第二致能信號EN_2為第二邏輯狀態時被禁能。第一ECC部132及第二ECC部134與所供給的內部時鐘信號CLK_ECC同步地進行ECC處理。In a certain form, the ECC circuit 130 includes a first ECC unit 132 having a 1-bit error detection and correction function, and a second ECC unit 134 having an 8-bit error detection and correction function, as shown in FIG. 3 . The first ECC unit 132 encodes/decodes data using Hamming codes, and the second ECC unit 134 encodes/decodes data using BCH codes. The first enable signal EN_1 and the second enable signal EN_2 are respectively supplied from the controller 150 to the first ECC unit 132 and the second ECC unit 134 . The first ECC unit 132 is enabled when the first enable signal EN_1 is in the first logic state, and disabled when the first enable signal EN_1 is in the second logic state. The second ECC unit 134 is enabled when the second enable signal EN_2 is in the first logic state, and disabled when the second enable signal EN_2 is in the second logic state. The first ECC unit 132 and the second ECC unit 134 perform ECC processing in synchronization with the supplied internal clock signal CLK_ECC.

設定暫存器190設定用於選擇第一ECC部132或第二ECC部134的動作的選擇資訊,並將其加以保持。表1是表示本發明的設定暫存器的一例。選擇資訊例如包括如表1所示那樣的1位元的旗標,旗標“0”規定第一ECC部132的選擇,旗標“1”規定第二ECC部134的選擇。在某一形態中,選擇資訊是在執行快閃記憶體100的通電(power on)序列時從熔絲唯讀記憶體(Read Only Memory,ROM)(熔絲記憶體單元)載入。在預設狀態或出廠時,在熔絲ROM中保存旗標“0”作為選擇資訊。在生命週期為初始或前半段時,記憶體單元的經年劣化相對較少,因此預測錯誤的發生頻度少。因此,選擇第一ECC部132作為初始設定。因此,在生命週期的前半段中,ECC處理時間短,從而讀出或寫入時間因ECC處理而變長的情況得到抑制。

Figure 02_image001
表1 The setting register 190 sets and holds selection information for selecting the operation of the first ECC unit 132 or the second ECC unit 134 . Table 1 shows an example of the setting register of the present invention. The selection information includes, for example, a 1-bit flag as shown in Table 1. The flag “0” specifies the selection of the first ECC unit 132 , and the flag “1” specifies the selection of the second ECC unit 134 . In one aspect, the selection information is loaded from a fuse read only memory (ROM) (fuse memory cell) during a power on sequence of the flash memory 100 . In a default state or when shipped from the factory, a flag “0” is stored in the fuse ROM as selection information. In the initial or first half of the life cycle, the memory cell deteriorates relatively less over the years, so prediction errors occur less frequently. Therefore, the first ECC unit 132 is selected as an initial setting. Therefore, in the first half of the life cycle, the ECC processing time is short, so that the read or write time is suppressed from becoming longer due to the ECC processing.
Figure 02_image001
Table 1

設定暫存器190能夠從外部訪問,使用者可使用規定的指令將設定在設定暫存器190的選擇資訊改寫。當經由輸入輸出電路120從主機電腦接收到設定暫存器的寫入指令及寫入資料後,控制器150將所述寫入資料寫入至設定暫存器190。由此,進行選擇資訊的改寫。當生命週期達到後半段而產生記憶體單元的經年劣化時,預測錯誤發生頻率會因此增加。為了應對此,通過選擇第二ECC部134,進行從單個位元的錯誤檢測校正功能向多位元的錯誤檢測校正功能的切換。由此,在生命週期的後半段,讀出或寫入的時間因ECC處理而變長,但相反,錯誤檢測校正能力增加,可靠性的下降得到抑制。The setting register 190 can be accessed from the outside, and the user can rewrite the selection information set in the setting register 190 by using a predetermined command. After receiving a write command and write data of the setting register from the host computer via the I/O circuit 120 , the controller 150 writes the write data into the setting register 190 . Thereby, selection information is rewritten. When the life cycle reaches the second half and the memory cells deteriorate over time, the frequency of prediction errors will increase accordingly. In order to cope with this, by selecting the second ECC unit 134, switching is performed from the single-bit error detection and correction function to the multi-bit error detection and correction function. Thus, in the second half of the life cycle, the time for reading or writing becomes longer due to ECC processing, but on the contrary, the error detection and correction capability increases and the decrease in reliability is suppressed.

控制器150包括微控制器或狀態機,並基於從外部接收的指令或控制信號,對快閃記憶體100的讀出、編程、抹除、錯誤檢測校正功能的切換等整體的動作進行控制。The controller 150 includes a microcontroller or a state machine, and controls overall operations of the flash memory 100 such as reading, programming, erasing, and switching of error detection and correction functions based on commands or control signals received from the outside.

接著,對ECC電路130的動作進行說明。在編程動作時,將從輸入輸出電路120輸入的資料保持在頁緩衝器/感測電路170,接著,將所保持的資料傳輸至ECC電路130。ECC電路130對所傳輸的資料進行ECC運算,生成錯誤校正代碼(例如,同位檢查位元),並將所生成的錯誤校正代碼寫回至頁緩衝器/感測電路170的備用區域。其後,將所輸入的資料及錯誤校正代碼編程至儲存單元陣列110的所選擇的頁。Next, the operation of the ECC circuit 130 will be described. During the programming operation, the data input from the I/O circuit 120 is held in the page buffer/sensing circuit 170 , and then the held data is transferred to the ECC circuit 130 . The ECC circuit 130 performs an ECC operation on the transmitted data, generates error correction codes (eg, parity check bits), and writes the generated error correction codes back to the spare area of the page buffer/sensing circuit 170 . Thereafter, the input data and error correction codes are programmed into the selected pages of the memory cell array 110 .

在讀出動作時,將從儲存單元陣列110的選擇頁讀出的資料傳輸至頁緩衝器/感測電路170,並保持在其中。接著,將所保持的資料傳輸至ECC電路130,ECC電路130基於錯誤校正代碼檢測有無錯誤,在檢測出錯誤的情況下,對資料的錯誤進行校正。錯誤的校正例如是通過將頁緩衝器/感測電路170中所保持的資料改寫來進行。其後,頁緩衝器/感測電路170中所保持的資料經由輸入輸出電路120而輸出至外部。During the read operation, the data read from the selected page of the storage cell array 110 is transmitted to the page buffer/sensing circuit 170 and stored therein. Next, the stored data is transmitted to the ECC circuit 130, and the ECC circuit 130 detects whether there is an error based on the error correction code, and corrects the data error if an error is detected. Error correction is performed, for example, by rewriting the data held in the page buffer/sensing circuit 170 . Afterwards, the data held in the page buffer/sensing circuit 170 is output to the outside through the I/O circuit 120 .

在圖4中示出了頁緩衝器/感測電路170的資料結構例。頁緩衝器/感測電路170例如包括:常規區域200,被分割成磁區0~磁區7這8個磁區;以及備用區域210,被分割成備用0、備用1、備用2、備用3這4個磁區。常規區域用於資料的儲存,常規區域200的一個磁區例如包含256位元組,常規區域200的8個磁區整體上保持約2K位元組的資料。An example of the data structure of the page buffer/sensing circuit 170 is shown in FIG. 4 . The page buffer/sensing circuit 170 includes, for example: a normal area 200 divided into 8 magnetic sectors 0 to 7; and a spare area 210 divided into spare 0, spare 1, spare 2, and spare 3 These 4 magnetic areas. The regular area is used for data storage. One magnetic sector of the regular area 200 contains 256 bytes, for example, and the 8 magnetic sectors of the regular area 200 hold about 2K bytes of data as a whole.

備用區域210的一個磁區例如包含16位元組,4個磁區(備用0~備用3)整體上保持64位元組的資料。在備用0中儲存有常規區域200的磁區0、磁區1的錯誤校正代碼,在備用1中儲存有常規區域200的磁區2、磁區3的錯誤校正代碼,在備用2中儲存有常規區域200的磁區4、磁區5的錯誤校正代碼,在備用3中儲存有常規區域200的磁區6、磁區7的錯誤校正代碼。One sector of the spare area 210 includes, for example, 16 bytes, and the four sectors (spare 0 to spare 3) hold data of 64 bytes as a whole. The error correction codes of the magnetic zone 0 and the magnetic zone 1 of the conventional area 200 are stored in the spare 0, the error correction codes of the magnetic zone 2 and the magnetic zone 3 of the regular zone 200 are stored in the spare 1, and the error correction codes of the magnetic zone 2 and the magnetic zone 3 of the normal zone 200 are stored in the spare 2, and The error correction codes of the magnetic sector 4 and the magnetic sector 5 of the normal area 200 are stored in the spare 3, and the error correction codes of the magnetic sector 6 and the magnetic sector 7 of the normal area 200 are stored.

ECC電路130包括:傳輸電路136,接收以磁區為單位傳輸的資料,並將其傳輸至ECC處理部135;ECC處理部135,包括具有1位元的錯誤檢測校正功能的第一ECC部132及具有8位元的錯誤檢測校正功能的第二ECC電路134;以及寫入電路138,將錯誤校正代碼寫入至備用區域210,或將所校正的資料寫入至常規區域200。The ECC circuit 130 includes: a transmission circuit 136, which receives data transmitted in units of magnetic sectors, and transmits it to the ECC processing unit 135; the ECC processing unit 135 includes a first ECC unit 132 with a 1-bit error detection and correction function and a second ECC circuit 134 with an 8-bit error detection and correction function; and a writing circuit 138 for writing error correction codes into the spare area 210 or writing corrected data into the regular area 200 .

控制器150基於設定暫存器190中所設定的選擇資訊(旗標),將致能信號EN_1、致能信號EN_2輸出至ECC電路130,並使第一ECC部132或第二ECC部134選擇性地運行。第一ECC部132使用漢明碼進行單個位元的錯誤檢測校正,第二ECC部134使用BCH碼進行8位元的錯誤檢測校正。第一ECC部132所需的時間比第二ECC部134所需的時間短,因此,在選擇了第一ECC部132時,與選擇了第二ECC部134時相比,可縮短讀出或寫入所需的時間,相反,在選擇了第二ECC部134時,與選擇了第一ECC部132時相比,可進行更多的錯誤位元的檢測校正。The controller 150 outputs the enable signal EN_1 and the enable signal EN_2 to the ECC circuit 130 based on the selection information (flag) set in the setting register 190, and enables the first ECC unit 132 or the second ECC unit 134 to select run aggressively. The first ECC unit 132 performs single-bit error detection and correction using Hamming codes, and the second ECC unit 134 uses BCH codes to perform 8-bit error detection and correction. The time required for the first ECC section 132 is shorter than the time required for the second ECC section 134. Therefore, when the first ECC section 132 is selected, compared with the time when the second ECC section 134 is selected, the read or write time can be shortened. In contrast to the time required for writing, when the second ECC unit 134 is selected, more error bit detection and correction can be performed than when the first ECC unit 132 is selected.

圖5是說明基於本發明第一實施例的ECC電路的錯誤檢測校正能力的切換動作的流程。在與儲存單元陣列110的使用者使用區域不同的熔絲ROM(例如,使用者無法訪問的區域)中保存ECC電路130的第一ECC部132或第二ECC部134的選擇資訊的初始值。選擇資訊的初始值設定第一ECC部132的選擇作為產品出廠時的資訊。在加電(power up)序列的執行時,將保存在熔絲ROM的選擇資訊載入至設定暫存器190(S100)。FIG. 5 is a flowchart illustrating the switching operation of the error detection and correction capability of the ECC circuit according to the first embodiment of the present invention. The initial value of the selection information of the first ECC unit 132 or the second ECC unit 134 of the ECC circuit 130 is stored in a fuse ROM different from the user-used area of the memory cell array 110 (for example, an area inaccessible to the user). The initial value of the selection information sets the selection of the first ECC unit 132 as information at the time of product shipment. When a power-up sequence is executed, the selection information stored in the fuse ROM is loaded into the setting register 190 ( S100 ).

控制器150參照設定暫存器190的選擇資訊,經由致能信號EN_1來致能第一ECC部132,並經由致能信號EN_2來禁能第二ECC部134。由此,在讀出或寫入動作時,所選擇的第一ECC部132運行,第二ECC部134不運行(S110)。The controller 150 refers to the selection information of the setting register 190 , enables the first ECC unit 132 through the enable signal EN_1 , and disables the second ECC unit 134 through the enable signal EN_2 . Thus, during the read or write operation, the selected first ECC unit 132 operates, and the second ECC unit 134 does not operate ( S110 ).

其後,使用者根據快閃記憶體的使用狀況,將設定暫存器190的選擇資訊改寫,以選擇第二ECC部134(S120)。當進行選擇資訊的改寫後,控制器150經由致能信號EN_1來禁能第一ECC部132,並經由致能信號EN_2來致能第二ECC部134。由此,在讀出或寫入動作時,所選擇的第二ECC部134運行,第一ECC部132不運行(S130)。Afterwards, the user rewrites the selection information in the setting register 190 according to the usage status of the flash memory, so as to select the second ECC unit 134 ( S120 ). After rewriting the selection information, the controller 150 disables the first ECC unit 132 through the enable signal EN_1 , and enables the second ECC unit 134 through the enable signal EN_2 . Accordingly, during the read or write operation, the selected second ECC unit 134 operates, and the first ECC unit 132 does not operate ( S130 ).

如此,根據本實施例,由於根據設定暫存器的選擇資訊來使第一ECC部132或第二ECC部134運行,因此可根據產品生命週期來選擇性地切換錯誤檢測校正能力,可最佳地管理錯誤檢測校正的處理時間,來抑制頁讀取時間或連續讀出的動作頻率的下降。即,在記憶體單元的經年劣化少的期間內,能夠縮短ECC處理所需的時間而實現讀出或寫入的高速化,另一方面,在記憶體單元的經年劣化變多的期間內,可增強錯誤校正能力而實現可靠性的提高。Thus, according to this embodiment, since the first ECC unit 132 or the second ECC unit 134 is operated according to the selection information of the setting register, the error detection and correction capability can be selectively switched according to the product life cycle, and optimal The processing time for error detection and correction is properly managed to suppress a decrease in the page reading time or the operation frequency of continuous reading. That is, during the period when the aging degradation of the memory cell is small, the time required for the ECC process can be shortened to achieve high-speed reading or writing. On the other hand, during the period when the aging degradation of the memory cell increases Within, the error correction capability can be enhanced to achieve improved reliability.

再者,設定暫存器190從熔絲ROM載入初始值,但此為一例,本實施例未必限定於此種形態。例如,設定暫存器190可利用儲存單元陣列110的使用者能夠使用的區域的一部分的記憶體空間,所述記憶體空間的預設值(抹除狀態)也可表示第一ECC部132的選擇。在此情況下,控制器150讀出所述記憶體空間的預設值,使第一ECC部132致能,並禁能第二ECC部134。在選擇第二ECC部134的情況下,使用者對所述記憶體空間的預設值進行編程,並將選擇資訊改寫。Furthermore, the initial value is loaded into the setting register 190 from the fuse ROM, but this is an example, and the present embodiment is not necessarily limited to this form. For example, the setting register 190 can utilize a part of the memory space of the area that the user of the storage cell array 110 can use, and the default value (erase state) of the memory space can also represent the first ECC part 132. choose. In this case, the controller 150 reads the preset value of the memory space, enables the first ECC unit 132 , and disables the second ECC unit 134 . When the second ECC unit 134 is selected, the user programs the default value of the memory space and rewrites the selection information.

接著,對本發明的第二實施例進行說明。在第一實施例中,在將動作從第一ECC部132切換至第二ECC部134的情況下,無法利用第二ECC部134對由第一ECC部132編碼的資料進行解碼。即,保存在儲存單元陣列110的由第一ECC部132生成的錯誤校正代碼無法由第二ECC部134解讀,因此在切換為第二ECC部134的情況下,必須將由第一ECC部132生成的錯誤校正代碼轉換為由第二ECC部134生成的錯誤校正代碼。Next, a second embodiment of the present invention will be described. In the first embodiment, when the operation is switched from the first ECC unit 132 to the second ECC unit 134 , the data encoded by the first ECC unit 132 cannot be decoded by the second ECC unit 134 . That is, the error correction code generated by the first ECC unit 132 stored in the memory cell array 110 cannot be deciphered by the second ECC unit 134, so when switching to the second ECC unit 134, the code generated by the first ECC unit 132 must be The error correction code of is converted into an error correction code generated by the second ECC section 134 .

因此,第二實施例利用快閃記憶體的回寫(copy back)功能,將由第一ECC部132處理的頁從儲存單元陣列讀出至頁緩衝器/感測電路170,並利用第一ECC部132對所讀出的資料進行解碼(即,進行錯誤檢測校正),進而利用第二ECC部134再次對經解碼的資料進行編碼來生成錯誤校正代碼,並將包含所生成的錯誤校正代碼的資料編程至儲存單元陣列的原始頁。Therefore, the second embodiment uses the copy back function of the flash memory to read the page processed by the first ECC unit 132 from the storage cell array to the page buffer/sensing circuit 170, and uses the first ECC The unit 132 decodes the read data (i.e., performs error detection and correction), and then uses the second ECC unit 134 to encode the decoded data again to generate an error correction code, and converts the code containing the generated error correction code Data is programmed into the original page of the memory cell array.

此種資料轉換是針對關於保存在儲存單元陣列110的第一ECC部132的所有資料實施。控制器150以不與快閃記憶體100的動作干涉的方式在後臺(background)自動地實施利用了回寫功能的資料轉換,或者在未進行讀出或寫入等動作的期間中自動地實施利用了回寫功能的資料轉換。另外,在某一形態中,可設為將表示資料轉換或未轉換的旗標保存在備用區域中,控制器150參照所述旗標進行資料轉換,並在轉換後將旗標改寫。This data conversion is performed on all data stored in the first ECC portion 132 of the storage cell array 110 . The controller 150 automatically executes data conversion using the write-back function in the background without interfering with the operation of the flash memory 100, or automatically executes data conversion while no operations such as reading or writing are being performed. Data conversion using the write-back function. In addition, in a certain form, a flag indicating data conversion or non-conversion may be stored in the spare area, and the controller 150 refers to the flag to perform data conversion, and rewrites the flag after conversion.

如此,根據本實施例,由於利用回寫功能自動地進行資料轉換,因此可順利地實施錯誤校正功能從第一ECC部132向第二ECC部134的切換。Thus, according to the present embodiment, since data conversion is automatically performed by using the write-back function, switching of the error correction function from the first ECC unit 132 to the second ECC unit 134 can be smoothly performed.

接著,對本發明的第三實施例進行說明。在本實施例中,根據位址空間來切換錯誤檢測校正能力。表2是表示本實施例的設定暫存器190的設定例。在設定暫存器190中預先設定位址空間和與其對應的旗標的關係。位址空間規定儲存單元陣列110的列位址的範圍,例如,對位址空間1分配旗標“0”,對位址空間2分配旗標“1”,對位址空間3分配旗標“0”。旗標“0”表示第一ECC部132的選擇,旗標“1”表示第二ECC部134的選擇,因此,在進行向位址空間1的讀出或寫入的情況下,選擇第一ECC部132,在進行向位址空間2的讀出或寫入的情況下,選擇第二ECC部134。

Figure 02_image003
表2 Next, a third embodiment of the present invention will be described. In this embodiment, the error detection and correction capability is switched according to the address space. Table 2 shows a setting example of the setting register 190 of this embodiment. The relationship between the address space and the corresponding flag is preset in the setting register 190 . The address space defines the range of the column address of the storage cell array 110, for example, the flag “0” is assigned to the address space 1, the flag “1” is assigned to the address space 2, and the flag “1” is assigned to the address space 3. 0". A flag "0" indicates selection of the first ECC unit 132, and a flag "1" indicates selection of the second ECC unit 134. Therefore, when reading or writing to the address space 1, the first ECC unit 132 is selected. The ECC unit 132 selects the second ECC unit 134 when reading or writing to the address space 2 is performed.
Figure 02_image003
Table 2

圖6是說明基於第三實施例的ECC電路的錯誤檢測校正能力的切換動作的流程。在進行讀出或寫入動作時,從外部經由輸入輸出電路120輸入用於讀出或寫入的指令或位址(S200)。FIG. 6 is a flowchart illustrating the switching operation of the error detection and correction capability of the ECC circuit according to the third embodiment. When performing a read or write operation, a command or an address for reading or writing is input from the outside through the input/output circuit 120 ( S200 ).

控制器150參照設定暫存器190,識別與所輸入的位址的列位址相當的位址空間的旗標(S210),按照所識別的旗標來選擇第一ECC部132或第二ECC部134,因此經由致能信號EN_1、致能信號EN_2來致能第一ECC部132或第二ECC部134。如此,在讀出動作或寫入動作時,由根據位址選擇的第一ECC部132或第二ECC部134來實施錯誤檢測校正(S230)。The controller 150 refers to the setting register 190, identifies the flag of the address space corresponding to the column address of the input address (S210), and selects the first ECC unit 132 or the second ECC according to the identified flag. part 134, so the first ECC part 132 or the second ECC part 134 is enabled via the enable signal EN_1 and the enable signal EN_2. In this way, during the read operation or the write operation, the error detection and correction is performed by the first ECC unit 132 or the second ECC unit 134 selected according to the address ( S230 ).

如此,根據本實施例,可根據位址空間來變更錯誤檢測校正能力。例如,可設為在如主機側電腦以塊為單位來管理儲存單元陣列的資料改寫次數或抹除次數那樣的情況下,以塊為單位來設定位址空間,在資料改寫次數或抹除次數達到一定以上時,將所述位址空間的旗標從“0”改寫為“1”。由此,可根據位址空間的記憶體單元的經年劣化來變更錯誤檢測校正能力。Thus, according to this embodiment, the error detection and correction capability can be changed according to the address space. For example, in the case where the computer on the host side manages the data rewriting times or erasing times of the storage unit array in units of blocks, the address space is set in units of blocks, and the number of times of data rewriting or erasing When the value exceeds a certain value, the flag of the address space is rewritten from "0" to "1". Thus, the error detection and correction capability can be changed according to the aging degradation of the memory cells in the address space.

接著,對第二ECC部134的具體例進行說明。第二ECC部134包括使用BCH代碼對資料進行編碼的編碼器、以及對經BCH編碼的資料進行解碼的解碼器。圖7的(A)是表示BCH解碼器的內部結構的方塊圖。BCH解碼器300包括:評價資料的校驗子的校驗子計算部310、計算錯誤位置多項式(error location polynomial,ELP)的歐幾裡得互除計算部320、計算錯誤位置多項式的根並搜索錯誤位置的錯誤位置搜索部330、以及基於搜索到的錯誤位置將所校正的資料寫回至頁緩衝器/感測電路170的錯誤位元校正部340。Next, a specific example of the second ECC unit 134 will be described. The second ECC section 134 includes an encoder that encodes material using a BCH code, and a decoder that decodes the BCH-encoded material. (A) of FIG. 7 is a block diagram showing an internal structure of a BCH decoder. The BCH decoder 300 includes: a syndrome calculation unit 310 for evaluating syndromes of data, a Euclidean mutual division calculation unit 320 for calculating error location polynomials (error location polynomials, ELPs), calculating roots of error location polynomials and searching for errors The error location search part 330 of the location, and the error bit correction part 340 writes the corrected data back to the page buffer/sensing circuit 170 based on the searched error location.

在BCH解碼器300,設置有用於接收重置信號RST、ECC運算用的時鐘信號CLK、致能信號ENABLE_IN、有效信號VALID_IN、資料DATA_IN的輸入端子。校驗子計算部310將表示其評價結果及歐幾裡得互除的計算開始的開始信號EUC_S輸出至歐幾裡得互除計算部320。歐幾裡得互除計算部320將錯誤位置多項式的計算結果與表示計算結束的結束信號EUC_E輸出至錯誤位置搜索部330。The BCH decoder 300 is provided with input terminals for receiving the reset signal RST, the clock signal CLK for ECC calculation, the enable signal ENABLE_IN, the valid signal VALID_IN, and the data DATA_IN. The syndrome calculation unit 310 outputs the evaluation result and a start signal EUC_S indicating the start of calculation of the Euclidean mutual division to the Euclidean mutual division calculation unit 320 . The Euclidean mutual division calculation unit 320 outputs the calculation result of the error position polynomial and an end signal EUC_E indicating the end of the calculation to the error position search unit 330 .

圖7的(B)是表示BCH解碼器的各部分的處理例的時序圖。t1表示校驗子計算部310的處理期間,t2表示歐幾裡得互除計算部320的處理期間,t3表示錯誤位置搜索部330的處理期間,t4表示錯誤位元校正部340的處理期間。(B) of FIG. 7 is a sequence diagram showing an example of processing in each part of the BCH decoder. t1 indicates the processing period of the syndrome calculation unit 310 , t2 indicates the processing period of the Euclidean mutual division calculation unit 320 , t3 indicates the processing period of the error location search unit 330 , and t4 indicates the processing period of the error bit correction unit 340 .

BCH解碼器300與所輸入的時鐘信號CLK同步地進行處理,通過致能信號ENABLE_IN轉變為H電平而能夠運行。在有效信號VALID_IN的H電平的期間中,保持在頁緩衝器/感測電路的資料從DATA_IN被導入至校驗子計算部310。當校驗子的計算結束時,校驗子計算部310輸出表示歐幾裡得的互除的開始的脈衝信號EUC_S,回應于此,歐幾裡得互除計算部320計算錯誤位置多項式。當錯誤位置多項式的計算結束時,歐幾裡得互除計算部320輸出表示其結束的脈衝信號EUC_E,回應於此,錯誤位置搜索部330搜索錯誤位置。錯誤位元校正部340經由輸出端子DATA_OUT將頁緩衝器/感測電路170的資料改寫。The BCH decoder 300 performs processing in synchronization with the input clock signal CLK, and can be operated when the enable signal ENABLE_IN transitions to H level. During the period of the H level of the valid signal VALID_IN, the data held in the page buffer/sensing circuit is imported from the DATA_IN to the syndrome calculation unit 310 . When the calculation of the syndrome ends, the syndrome calculation unit 310 outputs a pulse signal EUC_S indicating the start of the Euclidean mutual division, and in response to this, the Euclidean mutual division calculation unit 320 calculates the error position polynomial. When the calculation of the error location polynomial ends, the Euclidean mutual division calculation part 320 outputs a pulse signal EUC_E indicating the end, and in response thereto, the error location search part 330 searches for the error location. The error bit correction unit 340 rewrites the data of the page buffer/sensing circuit 170 through the output terminal DATA_OUT.

例如,在使用BCH代碼每528位元組進行8位元的錯誤檢測校正的情況下,校驗子計算需要149個時鐘週期,歐幾裡得互除計算需要82個時鐘週期,錯誤位置搜索需要143個時鐘週期,錯誤校正需要48個時鐘週期,整體上需要422個時鐘週期。在時鐘信號CLK的頻率為50 MHz時,時鐘的一個週期時間為20 ns,BCH代碼的解碼處理消耗8.44 μs。若頁緩衝器/感測電路170的一頁的大小為2K位元組,則需要約34 μs(1688個週期=422*4)。For example, in the case of error detection and correction of 8 bits per 528 bytes using the BCH code, syndrome calculation requires 149 clock cycles, Euclidean mutual division calculation requires 82 clock cycles, and error location search requires 143 clock cycles. clock cycles, 48 clock cycles for error correction, and 422 clock cycles overall. When the frequency of the clock signal CLK is 50 MHz, the cycle time of the clock is 20 ns, and the decoding process of the BCH code consumes 8.44 μs. If the size of one page of the page buffer/sensing circuit 170 is 2K bytes, it takes about 34 μs (1688 cycles=422*4).

另一方面,在進行使用漢明代碼的1位元的錯誤檢測校正的情況下,為了使校驗子計算與錯誤校正的結構簡單,2K位元組的錯誤檢測校正所需的時鐘週期數為330左右。若時鐘的一個週期時間為20 ns,則以約6.7 μs完成處理。若單純地與8位的BCH代碼相比,則利用約1/6的處理時間即可。在4K位元組的頁長度且陣列讀取時間為20 ns的情況下,在8位元的BCH代碼中,tRD2=(20 μs+34 μs*2)=88 μs,與此相對,在1位的漢明代碼中,tRD2=(20 μs+(6.7 μs*2)=34 μs,兩者的差非常大。因此,在使用BCH代碼的情況下,會對頁讀取時間(tRD2)或用於連續讀出動作的時鐘頻率的上限帶來影響。On the other hand, in the case of 1-bit error detection and correction using the Hamming code, the number of clock cycles required for 2K-byte error detection and correction is 330 or so. If one cycle time of the clock is 20 ns, the processing is completed in about 6.7 μs. When compared simply with the 8-digit BCH code, it is sufficient to use about 1/6 of the processing time. In the case of a page length of 4K bytes and an array read time of 20 ns, in an 8-bit BCH code, tRD2=(20 μs+34 μs*2)=88 μs, in contrast, at 1 In the Hamming code of the bit, tRD2=(20 μs+(6.7 μs*2)=34 μs, the difference between the two is very large. Therefore, in the case of using the BCH code, the page read time (tRD2) or It affects the upper limit of the clock frequency of the continuous read operation.

在所述實施例中,雙重地安裝將1位元的錯誤檢測校正功能(第一ECC部132)與8位元的錯誤檢測校正功能(第二ECC部134),但電路規模是8位元的錯誤檢測校正電路占主導地位,錯誤位元校正部340可重複地利用,因此,ECC電路130能夠僅通過對8位元的錯誤校正功能追加1位元的錯誤檢測校正電路的校驗子計算部來實現。因此,並不那麼影響對晶片尺寸的衝擊。In the above-described embodiment, a 1-bit error detection and correction function (first ECC unit 132 ) and an 8-bit error detection and correction function (second ECC unit 134 ) are dually implemented, but the circuit scale is 8 bits. The error detection and correction circuit is dominant, and the error bit correction unit 340 can be reused. Therefore, the ECC circuit 130 can calculate the syndrome by only adding a 1-bit error detection and correction circuit to the 8-bit error correction function. Department to achieve. Therefore, the impact on wafer size is not so affected.

在所述實施例中,例示了使用漢明碼的錯誤檢測校正與使用BCH碼的錯誤檢測校正,但此為一例,本發明也可應用於使用其他代碼的錯誤檢測校正。In the above-mentioned embodiments, the error detection and correction using the Hamming code and the error detection and correction using the BCH code are illustrated, but this is an example, and the present invention is also applicable to the error detection and correction using other codes.

進而,在所述實施例中,在第二ECC部134的BCH代碼中進行8位元的錯誤檢測校正,但此為一例,第二ECC部134的BCH代碼也可進行2位元、4位元或者16位元的錯誤檢測校正。進而,在所述實施例中,第一ECC部132進行了1位元的錯誤檢測校正,但此為一例,若存在基於第一ECC部132的錯誤檢測校正功能<基於第二ECC部134的錯誤檢測校正功能的關係,則第一ECC部132也可進行2位元以上的錯誤檢測校正。Furthermore, in the above-described embodiment, 8-bit error detection and correction is performed in the BCH code of the second ECC section 134, but this is an example, and the BCH code of the second ECC section 134 may also perform 2-bit or 4-bit error correction. 1-bit or 16-bit error detection correction. Furthermore, in the above-described embodiment, the first ECC unit 132 performs 1-bit error detection and correction, but this is an example. If there is an error detection and correction function based on the first ECC unit 132< In addition to the error detection and correction function, the first ECC unit 132 can also perform error detection and correction of more than 2 bits.

對本發明的優選實施方式進行了詳述,但本發明並不限定於特定的實施方式,能夠在權利要求書所記載的本發明的主旨的範圍內進行各種變形、變更。Preferred embodiments of the present invention have been described in detail, but the present invention is not limited to the specific embodiments, and various modifications and changes can be made within the scope of the present invention described in the claims.

10、100:快閃記憶體 20、110:儲存單元陣列 30、170:頁緩衝器/感測電路 40、130:ECC電路 42、136:傳輸電路 44:ECC核心 46:錯誤暫存器 48、138:寫入電路 50、120:輸入輸出電路 60:資料匯流排 132:第一ECC部 134:第二ECC部 135:ECC處理部 140:位址暫存器 150:控制器 160:字元線選擇電路 180:行選擇電路 190:設定暫存器 200:常規區域 210:備用區域 300:BCH解碼器 310:校驗子計算部 320:歐幾裡得互除計算部 330:錯誤位置搜索部 340:錯誤位元校正部 Ax:列位址資訊 Ay:行位址資訊 BLK(0)、BLK(1)、…、BLK(m-1):儲存塊 CLK:時鐘信號 CLK_ECC:內部時鐘信號 DATA_IN:資料 EN_1:第一致能信號 EN_2:第二致能信號 ENABLE_IN:致能信號 EUC_E:結束信號(脈衝信號) EUC_S:開始信號(脈衝信號) S100、S110、S120、S130、S200、S210、S220、S230:步驟 t1、t2、t3、t4:處理期間 VALID_IN:有效信號 10, 100: flash memory 20, 110: storage cell array 30, 170: page buffer/sensing circuit 40, 130: ECC circuit 42, 136: transmission circuit 44: ECC core 46: Error register 48, 138: write circuit 50, 120: input and output circuit 60: Data bus 132: The first ECC department 134: The second ECC part 135: ECC processing department 140: Address register 150: Controller 160: word line selection circuit 180: row selection circuit 190: set register 200: regular area 210: spare area 300: BCH decoder 310: Syndrome Calculation Department 320: Euclidean Mutual Division Calculation Department 330: wrong position search department 340: error bit correction unit Ax: column address information Ay: row address information BLK(0), BLK(1), ..., BLK(m-1): storage blocks CLK: clock signal CLK_ECC: internal clock signal DATA_IN: data EN_1: The first enable signal EN_2: The second enabling signal ENABLE_IN: enable signal EUC_E: end signal (pulse signal) EUC_S: start signal (pulse signal) S100, S110, S120, S130, S200, S210, S220, S230: steps t1, t2, t3, t4: during processing VALID_IN: valid signal

圖1是表示搭載現有的晶片上ECC功能的NAND型快閃記憶體的概略結構的圖。 圖2是表示本發明實施例的NAND型快閃記憶體的結構的方塊圖。 圖3是表示本發明實施例的ECC電路的內部結構的圖。 圖4是說明本發明第一實施例的ECC電路的動作的圖。 圖5是說明本發明第一實施例的ECC電路的錯誤檢測校正能力的切換動作的流程。 圖6是說明本發明第三實施例的ECC電路的錯誤檢測校正能力的切換動作的流程。 圖7的(A)、圖7的(B)是表示本發明實施例的ECC電路的解碼器的結構的方塊圖。 FIG. 1 is a diagram showing a schematic configuration of a conventional NAND flash memory equipped with an on-chip ECC function. FIG. 2 is a block diagram showing the structure of a NAND flash memory according to an embodiment of the present invention. FIG. 3 is a diagram showing an internal structure of an ECC circuit according to an embodiment of the present invention. FIG. 4 is a diagram illustrating the operation of the ECC circuit according to the first embodiment of the present invention. FIG. 5 is a flowchart illustrating the switching operation of the error detection and correction capability of the ECC circuit according to the first embodiment of the present invention. FIG. 6 is a flowchart illustrating the switching operation of the error detection and correction capability of the ECC circuit according to the third embodiment of the present invention. 7(A) and 7(B) are block diagrams showing the structure of a decoder of the ECC circuit according to the embodiment of the present invention.

S100、S110、S120、S130:步驟 S100, S110, S120, S130: steps

Claims (10)

一種錯誤檢測校正方法,其為半導體儲存裝置的錯誤檢測校正方法,包括:設定步驟,設定用於選擇進行m位元的錯誤檢測校正的第一錯誤檢測校正功能或進行n位元的錯誤檢測校正的第二錯誤檢測校正功能的選擇資訊,m、n為自然數,m小於n;以及執行步驟,在讀出動作或寫入動作時,基於所述選擇資訊來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能,其中,所述選擇資訊規定用於選擇所述第一錯誤檢測校正功能的儲存單元陣列的第一位址空間及用於選擇所述第二錯誤檢測校正功能的儲存單元陣列的第二位址空間,所述執行步驟基於與讀出動作或寫入動作的位址對應的所述第一位址空間或所述第二位址空間,來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。 An error detection and correction method, which is an error detection and correction method for a semiconductor storage device, comprising: a setting step of setting a first error detection and correction function for selecting m-bit error detection and correction or performing n-bit error detection and correction The selection information of the second error detection and correction function, m and n are natural numbers, and m is less than n; and the execution step is to execute the first error detection and correction based on the selection information during a read operation or a write operation function or the second error detection correction function, wherein the selection information specifies a first address space of a memory cell array for selecting the first error detection correction function and a first address space for selecting the second error detection correction function The second address space of the functional storage unit array, the execution step is based on the first address space or the second address space corresponding to the address of the read operation or the write operation, and executes the The first error detection correction function or the second error detection correction function. 如請求項1所述的錯誤檢測校正方法,其中,所述設定步驟能夠通過指令從外部變更所述選擇資訊。 The error detection and correction method according to claim 1, wherein the setting step can change the selection information from the outside through an instruction. 如請求項1所述的錯誤檢測校正方法,其中,所述錯誤檢測校正方法還包括轉換步驟,所述轉換步驟在切換從所述第一錯誤檢測校正功能向所述第二錯誤檢測校正功能的動作時,將寫入至儲存單元陣列的與所述第一錯誤檢測校正功能相關的第一資料轉換為與所述第二錯誤檢測校正功能相關的第二資料。 The error detection and correction method according to claim 1, wherein the error detection and correction method further includes a switching step, the switching step is switching from the first error detection and correction function to the second error detection and correction function During operation, the first data related to the first error detection and correction function written into the storage unit array is converted into the second data related to the second error detection and correction function. 如請求項3所述的錯誤檢測校正方法,其中,所述轉換步驟從所述儲存單元陣列將所述第一資料讀出至頁緩衝器/感測電路,使所述第二錯誤檢測校正功能運行而將所讀出的所述第一資料轉換為所述第二資料,並將經轉換的所述第二資料寫入至所述儲存單元陣列的原始位置。 The error detection and correction method according to claim 3, wherein the conversion step reads the first data from the storage cell array to the page buffer/sensing circuit, so that the second error detection and correction function and converting the read-out first data into the second data during operation, and writing the converted second data into the original position of the storage unit array. 如請求項1所述的錯誤檢測校正方法,其中,所述第一錯誤檢測校正功能是利用漢明碼進行1位元的錯誤檢測校正,所述第二錯誤檢測校正功能是利用博斯-查德胡裡-霍昆格姆碼進行2位元、4位元或8位元的錯誤檢測校正。 The error detection and correction method according to claim 1, wherein the first error detection and correction function uses Hamming code to perform 1-bit error detection and correction, and the second error detection and correction function uses Boss-Chard Holi-Hokungum codes perform 2-bit, 4-bit or 8-bit error detection and correction. 如請求項1所述的錯誤檢測校正方法,其中,所述儲存單元陣列是包含常規區域與備用區域的反及型的儲存單元陣列,在所述備用區域中儲存有通過所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能生成的同位檢查位元。 The error detection and correction method according to claim 1, wherein the storage cell array is an inverse-and type storage cell array including a normal area and a spare area, and stored in the spare area are data that pass the first error detection. The parity check bits generated by the correction function or the second error detection correction function. 一種半導體儲存裝置,包括:儲存單元陣列;錯誤檢測校正電路,包含進行m位元的錯誤檢測校正的第一錯誤檢測校正功能及進行n位元的錯誤檢測校正的第二錯誤檢測校正功能,m、n為自然數,m小於n;設定暫存器,設定用於選擇所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能的選擇資訊;以及控制器,在讀出動作或寫入動作時,基於所述選擇資訊來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能, 其中,所述控制器包括轉換部件,所述轉換部件在切換從所述第一錯誤檢測校正功能向所述第二錯誤檢測校正功能的動作時,將寫入至所述儲存單元陣列的與所述第一錯誤檢測校正功能相關的第一資料轉換為與所述第二錯誤檢測校正功能相關的第二資料。 A semiconductor storage device, comprising: a memory cell array; an error detection and correction circuit, including a first error detection and correction function for performing m-bit error detection and correction and a second error detection and correction function for performing n-bit error detection and correction, m , n is a natural number, m is less than n; set the temporary register, set the selection information for selecting the first error detection and correction function or the second error detection and correction function; and the controller, in the read operation or write When entering an action, execute the first error detection and correction function or the second error detection and correction function based on the selection information, Wherein, the controller includes a conversion unit, and when the conversion unit switches the operation from the first error detection and correction function to the second error detection and correction function, the data written into the storage unit array and the The first data related to the first error detection and correction function is converted into the second data related to the second error detection and correction function. 如請求項7所述的半導體儲存裝置,其中,所述設定暫存器能夠通過指令從外部變更所述選擇資訊。 The semiconductor storage device according to claim 7, wherein the setting register can change the selection information from the outside through an instruction. 如請求項7所述的半導體儲存裝置,其中,所述選擇資訊規定用於選擇所述第一錯誤檢測校正功能的所述儲存單元陣列的第一位址空間及用於選擇所述第二錯誤檢測校正功能的所述儲存單元陣列的第二位址空間,所述控制器基於與讀出動作或寫入動作的位址對應的所述第一位址空間或所述第二位址空間,來執行所述第一錯誤檢測校正功能或所述第二錯誤檢測校正功能。 The semiconductor storage device according to claim 7, wherein the selection information specifies a first address space of the storage cell array for selecting the first error detection and correction function and a first address space for selecting the second error detection and correction function. detecting and correcting the second address space of the storage cell array, the controller based on the first address space or the second address space corresponding to the address of the read operation or the write operation, to perform the first error detection and correction function or the second error detection and correction function. 如請求項7所述的半導體儲存裝置,其中,所述轉換部件從所述儲存單元陣列將所述第一資料讀出至頁緩衝器/感測電路,使所述第一錯誤檢測校正功能運行而對所讀出的所述第一資料進行解碼,進而利用所述第二錯誤檢測校正功能再次對經解碼的資料進行編碼來生成所述第二資料,並將所生成的所述第二資料寫入至所述儲存單元陣列的原始位置。 The semiconductor storage device according to claim 7, wherein the switching unit reads out the first data from the storage cell array to a page buffer/sensing circuit to operate the first error detection and correction function The read-out first data is decoded, and then the decoded data is encoded again by using the second error detection and correction function to generate the second data, and the generated second data Write to the original location of the storage cell array.
TW111100911A 2021-03-09 2022-01-10 Semiconductor memory device and error detection and correction method TWI799067B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-036890 2021-03-09
JP2021036890A JP2022137391A (en) 2021-03-09 2021-03-09 Semiconductor storage device and error detection/correction method

Publications (2)

Publication Number Publication Date
TW202238607A TW202238607A (en) 2022-10-01
TWI799067B true TWI799067B (en) 2023-04-11

Family

ID=83156961

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111100911A TWI799067B (en) 2021-03-09 2022-01-10 Semiconductor memory device and error detection and correction method

Country Status (5)

Country Link
US (1) US11755209B2 (en)
JP (2) JP2022137391A (en)
KR (1) KR102903201B1 (en)
CN (1) CN115050415B (en)
TW (1) TWI799067B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886289B2 (en) * 2021-11-11 2024-01-30 Samsung Display Co., Ltd. Display device
KR20240079388A (en) * 2022-11-29 2024-06-05 삼성전자주식회사 Memory controller and memory system
TWI836877B (en) * 2023-01-19 2024-03-21 群聯電子股份有限公司 Read voltage calibration method, memory storage device and memory control circuit unit
KR20250080933A (en) * 2023-11-29 2025-06-05 에스케이하이닉스 주식회사 Memory including ecc engine

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151301A1 (en) * 2010-12-10 2012-06-14 Kabushiki Kaisha Toshiba Semiconductor memory device
US20140380119A1 (en) * 2011-06-13 2014-12-25 Megachips Corporation Memory controller
US20200350929A1 (en) * 2017-09-20 2020-11-05 Toshiba Memory Corporation Memory system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0444950A (en) 1990-05-31 1992-02-14 Mitsubishi Materials Corp Can lid
JPH0444951A (en) 1990-06-08 1992-02-14 Toshiyoshi Okada Drink can with can lid and mouth cap not separable from each other
JP3223117B2 (en) * 1996-11-11 2001-10-29 大井電気株式会社 Wireless communication terminal
JP2000349652A (en) * 1999-06-07 2000-12-15 Hitachi Ltd Storage device provided with error correction means
JP2005268621A (en) 2004-03-19 2005-09-29 Toshiba Corp Semiconductor integrated circuit device
JP4695385B2 (en) 2004-11-30 2011-06-08 株式会社東芝 Memory card and card controller
KR100759441B1 (en) 2006-09-08 2007-09-20 삼성전자주식회사 Phase Change Memory Device Generates Step-Set Current
JP4672743B2 (en) * 2008-03-01 2011-04-20 株式会社東芝 Error correction apparatus and error correction method
JP5017407B2 (en) * 2010-03-24 2012-09-05 株式会社東芝 Semiconductor memory device
TWI497495B (en) 2012-07-02 2015-08-21 Winbond Electronics Corp Method and apparatus for reading nand flash memory
US9367391B2 (en) * 2013-03-15 2016-06-14 Micron Technology, Inc. Error correction operations in a memory device
US9520901B2 (en) 2014-03-06 2016-12-13 Kabushiki Kaisha Toshiba Memory controller, memory system, and memory control method
JP6131207B2 (en) * 2014-03-14 2017-05-17 ウィンボンド エレクトロニクス コーポレーション Semiconductor memory device
CN105321566B (en) * 2014-06-30 2019-07-12 华邦电子股份有限公司 Semiconductor memory device and programming method thereof
JP6258399B2 (en) * 2016-05-16 2018-01-10 ウィンボンド エレクトロニクス コーポレーション Semiconductor device
CN107611050B (en) 2017-09-26 2020-10-16 上海华虹宏力半导体制造有限公司 Wafer testing method
JP6913797B2 (en) 2018-08-31 2021-08-04 キオクシア株式会社 Information processing device
US10691537B2 (en) 2018-10-12 2020-06-23 Western Digital Technologies, Inc. Storing deep neural network weights in non-volatile storage systems using vertical error correction codes
KR102579014B1 (en) * 2018-11-06 2023-09-15 삼성전자주식회사 Error correction code decoder, semiconductor memory device and memory system
JP6744950B1 (en) 2019-05-21 2020-08-19 ウィンボンド エレクトロニクス コーポレーション Semiconductor device and continuous reading method
JP6744951B1 (en) 2019-05-24 2020-08-19 ウィンボンド エレクトロニクス コーポレーション Semiconductor device and continuous reading method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151301A1 (en) * 2010-12-10 2012-06-14 Kabushiki Kaisha Toshiba Semiconductor memory device
US20140380119A1 (en) * 2011-06-13 2014-12-25 Megachips Corporation Memory controller
US20200350929A1 (en) * 2017-09-20 2020-11-05 Toshiba Memory Corporation Memory system

Also Published As

Publication number Publication date
KR102903201B1 (en) 2025-12-23
JP2023120450A (en) 2023-08-29
US11755209B2 (en) 2023-09-12
CN115050415B (en) 2025-06-27
JP7583121B2 (en) 2024-11-13
TW202238607A (en) 2022-10-01
US20220291845A1 (en) 2022-09-15
JP2022137391A (en) 2022-09-22
CN115050415A (en) 2022-09-13
KR20220126629A (en) 2022-09-16

Similar Documents

Publication Publication Date Title
TWI799067B (en) Semiconductor memory device and error detection and correction method
KR100842680B1 (en) Error Correction Controller of Flash Memory Device and Memory System Including It
US8166371B2 (en) Semiconductor memory system and signal processing system
CN107845405B (en) Error correction code unit for flash memory device, self-test method and controller
TWI582779B (en) Read voltage level estimating method, memory storage device and memory controlling circuit unit
US11487614B2 (en) Semiconductor storing apparatus and readout method
US9093154B2 (en) Method, memory controller and system for reading data stored in flash memory
US20040030971A1 (en) Flash memory
JP6258399B2 (en) Semiconductor device
JP6164712B1 (en) Flash memory
US8990667B2 (en) Error check and correction circuit, method, and memory device
JP2022047393A (en) Memory system, semiconductor storage device, and data reading method
JP2010176761A (en) Semiconductor memory
JP2014033364A (en) Error detection and correction circuit and memory device
JP7700069B2 (en) Non-volatile memory
TWI753814B (en) Semiconductor storage apparatus and ecc related information reading method
JP2007104708A (en) Data processing method
JP4582078B2 (en) Memory controller, flash memory system, and flash memory control method
JP2013196721A (en) Semiconductor memory device