CN113223601A - 一次写入型存储器码的纠错码管理的电路、系统和方法 - Google Patents

一次写入型存储器码的纠错码管理的电路、系统和方法 Download PDF

Info

Publication number
CN113223601A
CN113223601A CN202110583253.6A CN202110583253A CN113223601A CN 113223601 A CN113223601 A CN 113223601A CN 202110583253 A CN202110583253 A CN 202110583253A CN 113223601 A CN113223601 A CN 113223601A
Authority
CN
China
Prior art keywords
wom
ecc
bits
code
symbol
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202110583253.6A
Other languages
English (en)
Chinese (zh)
Inventor
S·张
Y·朱
C·彼特斯通
S·拉马斯瓦米
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN113223601A publication Critical patent/CN113223601A/zh
Pending legal-status Critical Current

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
    • 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
    • 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
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/1072Adding 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 multilevel memories
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes

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)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Read Only Memory (AREA)
CN202110583253.6A 2015-05-04 2016-05-04 一次写入型存储器码的纠错码管理的电路、系统和方法 Pending CN113223601A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/703,714 2015-05-04
US14/703,714 US9772899B2 (en) 2015-05-04 2015-05-04 Error correction code management of write-once memory codes
CN201680035012.5A CN107710163B (zh) 2015-05-04 2016-05-04 一次写入型存储器码的纠错码管理的电路、系统和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680035012.5A Division CN107710163B (zh) 2015-05-04 2016-05-04 一次写入型存储器码的纠错码管理的电路、系统和方法

Publications (1)

Publication Number Publication Date
CN113223601A true CN113223601A (zh) 2021-08-06

Family

ID=57217974

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110583253.6A Pending CN113223601A (zh) 2015-05-04 2016-05-04 一次写入型存储器码的纠错码管理的电路、系统和方法
CN201680035012.5A Active CN107710163B (zh) 2015-05-04 2016-05-04 一次写入型存储器码的纠错码管理的电路、系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680035012.5A Active CN107710163B (zh) 2015-05-04 2016-05-04 一次写入型存储器码的纠错码管理的电路、系统和方法

Country Status (4)

Country Link
US (2) US9772899B2 (enExample)
JP (1) JP6975047B2 (enExample)
CN (2) CN113223601A (enExample)
WO (1) WO2016179309A1 (enExample)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772899B2 (en) * 2015-05-04 2017-09-26 Texas Instruments Incorporated Error correction code management of write-once memory codes
DE102015113414B4 (de) * 2015-08-14 2023-02-23 Infineon Technologies Ag Fehlerkorrektur unter Verwendung von WOM-Codes
KR102645140B1 (ko) * 2018-12-06 2024-03-07 삼성전자주식회사 Fpga를 포함하는 메모리 시스템 및 이의 동작 방법
EP4060670B1 (en) * 2021-03-18 2025-07-30 Murata Manufacturing Co., Ltd. Multiple time programmable memory using one time programmable memory and error correction codes
TWI838137B (zh) * 2023-02-23 2024-04-01 大陸商集創北方(珠海)科技有限公司 具寫入保護功能的燒寫控制電路、電子晶片以及資訊處理裝置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020136068A1 (en) * 2000-12-20 2002-09-26 Widdershoven Franciscus Petrus Data processing device with a WOM memory
US20030115535A1 (en) * 2001-12-14 2003-06-19 March Roger W. Method for altering a word stored in a write-once memory device
US20090132758A1 (en) * 2007-11-20 2009-05-21 California Institute Of Technology Rank modulation for flash memories
US20100281340A1 (en) * 2009-04-30 2010-11-04 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
US20130166988A1 (en) * 2011-12-22 2013-06-27 Sandisk Technologies Inc. Multi-phase ecc encoding using algebraic codes
WO2014051611A1 (en) * 2012-09-28 2014-04-03 Duke University Systems for and methods of extending lifetime of non-volatile memory

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2285524B (en) * 1994-01-11 1998-02-04 Advanced Risc Mach Ltd Data memory and processor bus
KR100223634B1 (ko) * 1997-01-15 1999-10-15 윤종용 고속 데이타 처리 및 전송을 위한 에러정정용 메모리를 구비하는 시스템 디코더 및 에러정정용 메모리 제어방법
US6751769B2 (en) * 2000-06-06 2004-06-15 International Business Machines Corporation (146,130) error correction code utilizing address information
EP1233523A1 (en) * 2001-02-16 2002-08-21 Deutsche Thomson-Brandt Gmbh Method and apparatus for decoding error correction code
US7069494B2 (en) * 2003-04-17 2006-06-27 International Business Machines Corporation Application of special ECC matrix for solving stuck bit faults in an ECC protected mechanism
DE102005040916A1 (de) * 2005-08-30 2007-03-08 Robert Bosch Gmbh Speicheranordnung und Betriebsverfahren dafür
US7802169B2 (en) * 2005-12-12 2010-09-21 Mediatek Inc. Error correction devices and correction methods
CN102103558B (zh) * 2009-12-18 2013-09-18 上海华虹集成电路有限责任公司 一种带有写重传功能的多通道NANDflash控制器
CN102339648B (zh) * 2010-07-23 2014-07-09 北京兆易创新科技股份有限公司 一种检错/纠错校验模块的检测方法及装置
US9070427B2 (en) * 2010-08-13 2015-06-30 Sandisk Technologies Inc. Data coding using divisions of memory cell states
US8780620B2 (en) * 2010-09-20 2014-07-15 The Texas A&M University Information representation and coding for nonvolatile memories
US8959417B2 (en) * 2011-11-23 2015-02-17 Marvell World Trade Ltd. Providing low-latency error correcting code capability for memory
WO2013134735A1 (en) * 2012-03-08 2013-09-12 California Institute Of Technology Rank-modulation rewriting codes for flash memories
US9230652B2 (en) * 2012-03-08 2016-01-05 California Institute Of Technology Flash memories using minimum push up, multi-cell and multi-permutation schemes for data storage
US8914570B2 (en) * 2012-05-04 2014-12-16 International Business Machines Corporation Selective write-once-memory encoding in a flash based disk cache memory
WO2014116301A1 (en) 2013-01-24 2014-07-31 California Institute Of Technology Joint rewriting and error correction in write-once memories
KR102068519B1 (ko) * 2013-07-01 2020-01-21 삼성전자주식회사 저장 장치, 그것의 쓰기 방법 및 읽기 방법
WO2016123590A1 (en) * 2015-01-30 2016-08-04 California Institute Of Technology Rewriting flash memories by message passing
US9772899B2 (en) * 2015-05-04 2017-09-26 Texas Instruments Incorporated Error correction code management of write-once memory codes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020136068A1 (en) * 2000-12-20 2002-09-26 Widdershoven Franciscus Petrus Data processing device with a WOM memory
US20030115535A1 (en) * 2001-12-14 2003-06-19 March Roger W. Method for altering a word stored in a write-once memory device
US20090132758A1 (en) * 2007-11-20 2009-05-21 California Institute Of Technology Rank modulation for flash memories
US20100281340A1 (en) * 2009-04-30 2010-11-04 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
US20130166988A1 (en) * 2011-12-22 2013-06-27 Sandisk Technologies Inc. Multi-phase ecc encoding using algebraic codes
WO2014051611A1 (en) * 2012-09-28 2014-04-03 Duke University Systems for and methods of extending lifetime of non-volatile memory

Also Published As

Publication number Publication date
US10191801B2 (en) 2019-01-29
JP2018520410A (ja) 2018-07-26
US9772899B2 (en) 2017-09-26
US20160328289A1 (en) 2016-11-10
JP6975047B2 (ja) 2021-12-01
CN107710163A (zh) 2018-02-16
US20180011757A1 (en) 2018-01-11
WO2016179309A1 (en) 2016-11-10
CN107710163B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
US9673840B2 (en) Turbo product codes for NAND flash
US8769374B2 (en) Multi-write endurance and error control coding of non-volatile memories
KR100845529B1 (ko) 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US8732553B2 (en) Memory system and control method thereof
US10445175B2 (en) Controller and operating method thereof
US9471421B2 (en) Data accessing method, memory storage device and memory controlling circuit unit
CN106201763B (zh) 双模式纠错码/可写入一次存储器编解码器
CN113064547B (zh) 有局部顺序信息的校验矩阵的保护的数据存取方法及设备
KR20220045343A (ko) 데이터 처리 시스템 내 데이터 전송에서 발생한 에러를 정정하는 장치 및 방법
KR20120096213A (ko) 컨트롤러, 이의 동작방법, 및 상기 컨트롤러를 포함한 메모리 시스템
CN107710163B (zh) 一次写入型存储器码的纠错码管理的电路、系统和方法
KR20160090054A (ko) 플래시 메모리 시스템 및 그의 동작 방법
US10514980B2 (en) Encoding method and memory storage apparatus using the same
US10649841B2 (en) Supporting multiple page lengths with unique error correction coding via galois field dimension folding
US9954556B2 (en) Scheme to avoid miscorrection for turbo product codes
US10884858B2 (en) LDPC decoding device, memory system including the same and method thereof
US20190294497A1 (en) Method of implementing error correction code used by memory storage apparatus and memory storage apparatus using the same
CN111796774B (zh) 存储器控制方法、存储器存储装置及存储器控制器
US10528496B2 (en) Controller and operating method thereof
US9906241B2 (en) Apparatus and method for turbo product codes
KR102696725B1 (ko) Nand 플래시용 터보 프로덕트 코드
CN111406282B (zh) 一种用于存储设备的存储器控制电路
JP2007179480A (ja) メモリコントローラおよびフラッシュメモリシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination