JP6975047B2 - ライトワンスメモリコードのエラー訂正コード管理 - Google Patents

ライトワンスメモリコードのエラー訂正コード管理 Download PDF

Info

Publication number
JP6975047B2
JP6975047B2 JP2017557908A JP2017557908A JP6975047B2 JP 6975047 B2 JP6975047 B2 JP 6975047B2 JP 2017557908 A JP2017557908 A JP 2017557908A JP 2017557908 A JP2017557908 A JP 2017557908A JP 6975047 B2 JP6975047 B2 JP 6975047B2
Authority
JP
Japan
Prior art keywords
wom
symbol
bits
ecc
code
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.)
Active
Application number
JP2017557908A
Other languages
English (en)
Japanese (ja)
Other versions
JP2018520410A (ja
JP2018520410A5 (enExample
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 JP2018520410A publication Critical patent/JP2018520410A/ja
Publication of JP2018520410A5 publication Critical patent/JP2018520410A5/ja
Application granted granted Critical
Publication of JP6975047B2 publication Critical patent/JP6975047B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/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)
JP2017557908A 2015-05-04 2016-05-04 ライトワンスメモリコードのエラー訂正コード管理 Active JP6975047B2 (ja)

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
PCT/US2016/030822 WO2016179309A1 (en) 2015-05-04 2016-05-04 Error correction code management of write-once memory codes

Publications (3)

Publication Number Publication Date
JP2018520410A JP2018520410A (ja) 2018-07-26
JP2018520410A5 JP2018520410A5 (enExample) 2019-06-13
JP6975047B2 true JP6975047B2 (ja) 2021-12-01

Family

ID=57217974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017557908A Active JP6975047B2 (ja) 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 大陸商集創北方(珠海)科技有限公司 具寫入保護功能的燒寫控制電路、電子晶片以及資訊處理裝置

Family Cites Families (25)

* 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
EP1346364B8 (en) * 2000-12-20 2013-01-09 Callahan Cellular L.L.C. Data processing device with a write once memory (wom)
EP1233523A1 (en) * 2001-02-16 2002-08-21 Deutsche Thomson-Brandt Gmbh Method and apparatus for decoding error correction code
US6901549B2 (en) * 2001-12-14 2005-05-31 Matrix Semiconductor, Inc. Method for altering a word stored in a write-once memory device
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
WO2009067633A1 (en) * 2007-11-20 2009-05-28 California Institute Of Technology Rank modulation for memory devices
US8341501B2 (en) * 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
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
US8645789B2 (en) * 2011-12-22 2014-02-04 Sandisk Technologies Inc. Multi-phase ECC encoding using algebraic codes
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
US9632866B2 (en) 2012-09-28 2017-04-25 Duke University Systems for and methods of extending lifetime of non-volatile 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

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
CN107710163A (zh) 2018-02-16
US20180011757A1 (en) 2018-01-11
WO2016179309A1 (en) 2016-11-10
CN113223601A (zh) 2021-08-06
CN107710163B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
US8769374B2 (en) Multi-write endurance and error control coding of non-volatile memories
KR100845529B1 (ko) 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US8635510B2 (en) Non-systematic coded error correction
US9673840B2 (en) Turbo product codes for NAND flash
US8065583B2 (en) Data storage with an outer block code and a stream-based inner code
US8732553B2 (en) Memory system and control method thereof
CN106201763B (zh) 双模式纠错码/可写入一次存储器编解码器
JP6975047B2 (ja) ライトワンスメモリコードのエラー訂正コード管理
KR20110073932A (ko) Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법
US8463985B2 (en) Constrained coding to reduce floating gate coupling in non-volatile memories
KR20220045343A (ko) 데이터 처리 시스템 내 데이터 전송에서 발생한 에러를 정정하는 장치 및 방법
CN101281788A (zh) 闪存系统及其控制方法
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
US20190294497A1 (en) Method of implementing error correction code used by memory storage apparatus and memory storage apparatus using the same
JP2021033530A (ja) メモリシステム
KR102696725B1 (ko) Nand 플래시용 터보 프로덕트 코드
CN114816827A (zh) 开机启动信息重建系统及内存装置启动信息重建方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20171106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190502

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200715

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201127

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211105

R150 Certificate of patent or registration of utility model

Ref document number: 6975047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250