KR20100111680A - 메모리 어레이의 에러 수정 방법 - Google Patents
메모리 어레이의 에러 수정 방법 Download PDFInfo
- Publication number
- KR20100111680A KR20100111680A KR1020107014864A KR20107014864A KR20100111680A KR 20100111680 A KR20100111680 A KR 20100111680A KR 1020107014864 A KR1020107014864 A KR 1020107014864A KR 20107014864 A KR20107014864 A KR 20107014864A KR 20100111680 A KR20100111680 A KR 20100111680A
- Authority
- KR
- South Korea
- Prior art keywords
- group
- ecc bits
- error correction
- correction algorithm
- memory cells
- 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.)
- Granted
Links
- 238000012937 correction Methods 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 claims description 34
- 230000000593 degrading effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
도 1a는, 메모리 어레이의 에러 수정을 위한 컴퓨터 시스템의 실시예의 블록도.
도 1b는, 에러 수정 알고리즘이 각각의 데이터 단위에 대해 3개의 세트의 ECC 비트를 발생시키도록 구현되는 도 1a의 메모리 어레이의 블록도.
도 2는, 예시적인 실시예에 따른, 메모리 어레이에 데이터를 기록하는 흐름도.
도 3은, 예시적인 실시예에 따른, 메모리 어레이로부터 데이터를 판독하는 흐름도.
Claims (15)
- 메모리 어레이에서의 에러를 수정하는 방법에 있어서,
(a) 표준 크기를 갖는 메모리 셀의 수정 가능한 그룹에서 제 1 비트 에러 레이트까지 에러를 수정하는 에러 수정 알고리즘을 제공하는 단계와,
(b) 상기 표준 크기보다 더 큰 제 1 크기를 갖는 제 1 그룹의 메모리 셀에 대응하는 정보를 갖는 제 1 세트의 ECC 비트를 발생시키는 단계와,
(c) 상기 제 1 그룹의 부분이고 상기 제 1 크기보다 더 작은 제 2 크기를 갖는 제 2 그룹의 메모리 셀에 대응하는 정보를 갖는 제 2 세트의 ECC 비트를 발생시키는 단계와,
(d) 상기 제 1 세트의 ECC 비트를 기반으로 하여 상기 제 1 그룹에서 에러를 수정하기 위하여 상기 에러 수정 알고리즘을 적용하는 단계와,
(e) 상기 제 1 세트의 ECC 비트를 기반으로 한 상기 에러 수정 알고리즘이 단계 (d)에서 실패하는지를 결정하는 단계와,
(f) 상기 에러 수정 알고리즘이 실패하는 경우에, 상기 제 2 세트의 ECC 비트를 기반으로 하여 상기 제 2 그룹에서 에러를 수정하기 위하여 상기 에러 수정 알고리즘을 적용하는 단계를
포함하는, 에러 수정 방법. - 제 1항에 있어서, (f) 상기 제 1 세트의 ECC 비트를 기반으로 하여 상기 제 1 그룹을 수정하는 단계를 더 포함하는, 에러 수정 방법.
- 제 1항에 있어서, (f) 상기 제 2 세트의 ECC 비트를 기반으로 하여 상기 제 2 그룹을 수정하는 단계를 더 포함하는, 에러 수정 방법.
- 제 1항에 있어서,
(f) 단계 (d)에서 상기 에러 수정 알고리즘의 상기 발생 이전에, 상기 제 2 그룹의 부분이고 상기 제 2 크기보다 더 작은 제 3 크기를 갖는 메모리 셀의 추가 그룹에 대응하는 정보를 갖는 추가 세트의 ECC 비트를 발생시키는 단계를 더 포함하는, 에러 수정 방법. - 제 4항에 있어서,
(g) 상기 제 2 세트의 ECC 비트를 기반으로 한 상기 에러 수정 알고리즘이 단계 (e)에서 실패하는 경우에, 상기 추가 세트의 ECC 비트를 기반으로 하여 상기 추가 그룹에서 에러를 수정하기 위하여 상기 에러 수정 알고리즘을 적용하는 단계를 더 포함하는, 에러 수정 방법. - 제 5항에 있어서,
(h) 상기 추가 세트의 ECC 비트를 기반으로 하여 상기 추가 그룹을 수정하는 단계를 더 포함하는, 에러 수정 방법. - 제 1항에 있어서, 단계 (e)가 적용됨으로써, 상기 제 1 그룹에서 상기 제 1 비트 에러 레이트보다 더 큰 제 2 비트 에러 레이트까지 에러를 수정하는, 에러 수정 방법.
- 메모리 어레이의 에러 수정을 위한 컴퓨터 시스템에 있어서,
표준 크기를 갖는 메모리 셀의 수정 가능한 그룹에서 제 1 비트 에러 레이트까지 에러를 수정할 수 있는 에러 수정 알고리즘과,
제 1 그룹의 메모리 셀에 대응하는 정보를 갖는 제 1 세트의 ECC 비트를 저장하고, 제 2 그룹의 메모리 셀에 대응하는 정보를 갖는 제 2 세트의 ECC 비트를 저장하도록 동작하는 메모리로서, 상기 제 1 그룹이 상기 표준 크기보다 더 큰 제 1 크기를 가지며, 상기 제 2 그룹이 상기 제 1 그룹의 부분이고 상기 제 1 크기보다 더 작은 제 2 크기를 갖는, 상기 메모리를
포함하고,
상기 에러 수정 알고리즘이 상기 제 1 세트의 ECC 비트를 기반으로 하여 상기 제 1 그룹에서 적용되는 상기 에러 수정 알고리즘이 실패하는 경우에 상기 제 2 세트의 ECC 비트를 기반으로 하여 상기 제 2 그룹에서 에러를 수정하도록 동작하는, 컴퓨터 시스템. - 제 8항에 있어서, 상기 메모리는 플래시 메모리인, 컴퓨터 시스템.
- 제 8항에 있어서, 상기 에러 수정 알고리즘은 또한 상기 제 1 세트의 ECC 비트를 기반으로 하여 상기 제 1 그룹을 수정하도록 동작하는, 컴퓨터 시스템.
- 제 8항에 있어서, 상기 에러 수정 알고리즘은 또한 상기 제 2 세트의 ECC 비트를 기반으로 하여 상기 제 2 그룹을 수정하도록 동작하는, 컴퓨터 시스템.
- 제 8항에 있어서, 상기 메모리는 상기 제 2 그룹의 부분이고 상기 제 2 크기보다 더 작은 제 3 크기를 갖는 메모리 셀의 추가 그룹에 대응하는 정보를 갖는 추가 세트의 ECC 비트를 저장하도록 동작하는, 컴퓨터 시스템.
- 제 12항에 있어서, 상기 에러 수정 알고리즘은 부가적으로 상기 제 2 세트의 ECC 비트를 기반으로 하여 상기 제 2 그룹에서 적용되는 상기 에러 수정 알고리즘이 실패하는 경우에 상기 추가 세트의 ECC 비트를 기반으로 하여 상기 추가 그룹에서 적용되도록 동작하는, 컴퓨터 시스템.
- 제 13항에 있어서, 상기 에러 수정 알고리즘은 또한 상기 추가 세트의 ECC 비트를 기반으로 하여 상기 추가 그룹을 수정하도록 동작하는, 컴퓨터 시스템.
- 제 8항에 있어서, 상기 에러 수정 알고리즘이 적용됨으로써, 상기 제 1 그룹에서 상기 제 1 비트 에러 레이트보다 더 큰 제 2 비트 에러 레이트까지 에러를 수정하는, 컴퓨터 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/951,455 US8234539B2 (en) | 2007-12-06 | 2007-12-06 | Correction of errors in a memory array |
US11/951,455 | 2007-12-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100111680A true KR20100111680A (ko) | 2010-10-15 |
KR101572038B1 KR101572038B1 (ko) | 2015-11-26 |
Family
ID=40365377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107014864A Expired - Fee Related KR101572038B1 (ko) | 2007-12-06 | 2008-10-07 | 메모리 어레이의 에러 수정 방법 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8234539B2 (ko) |
EP (1) | EP2218003B1 (ko) |
JP (1) | JP5529751B2 (ko) |
KR (1) | KR101572038B1 (ko) |
CN (1) | CN101889267B (ko) |
AT (1) | ATE506649T1 (ko) |
DE (1) | DE602008006455D1 (ko) |
WO (1) | WO2009072014A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010045262A1 (en) * | 2008-10-14 | 2010-04-22 | Wanova Technologies, Ltd. | Storage-network de-duplication |
US8276039B2 (en) * | 2009-02-27 | 2012-09-25 | Globalfoundries Inc. | Error detection device and methods thereof |
US8484536B1 (en) * | 2010-03-26 | 2013-07-09 | Google Inc. | Techniques for data storage, access, and maintenance |
US8719675B1 (en) | 2010-06-16 | 2014-05-06 | Google Inc. | Orthogonal coding for data storage, access, and maintenance |
US20120254686A1 (en) * | 2010-10-01 | 2012-10-04 | SIGLEAD Inc. | Non-volatile semiconductor memory devices and error correction methods |
US8589761B2 (en) | 2011-05-31 | 2013-11-19 | Micron Technology, Inc. | Apparatus and methods for providing data integrity |
US8621317B1 (en) | 2011-07-25 | 2013-12-31 | Google Inc. | Modified orthogonal coding techniques for storing data |
US8615698B1 (en) | 2011-09-28 | 2013-12-24 | Google Inc. | Skewed orthogonal coding techniques |
JP5768654B2 (ja) * | 2011-10-25 | 2015-08-26 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法 |
US8856619B1 (en) | 2012-03-09 | 2014-10-07 | Google Inc. | Storing data across groups of storage nodes |
US20140169102A1 (en) * | 2012-12-19 | 2014-06-19 | Western Digital Technologies, Inc. | Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems |
US9213595B2 (en) * | 2013-10-15 | 2015-12-15 | International Business Machines Corporation | Handling errors in ternary content addressable memories |
US9520901B2 (en) * | 2014-03-06 | 2016-12-13 | Kabushiki Kaisha Toshiba | Memory controller, memory system, and memory control method |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4712215A (en) * | 1985-12-02 | 1987-12-08 | Advanced Micro Devices, Inc. | CRC calculation machine for separate calculation of checkbits for the header packet and data packet |
US5233614A (en) * | 1991-01-07 | 1993-08-03 | International Business Machines Corporation | Fault mapping apparatus for memory |
KR950008789B1 (ko) * | 1992-07-30 | 1995-08-08 | 삼성전자주식회사 | 멀티-이씨씨(ecc)회로를 내장하는 반도체 메모리 장치 |
US5603001A (en) * | 1994-05-09 | 1997-02-11 | Kabushiki Kaisha Toshiba | Semiconductor disk system having a plurality of flash memories |
US5847577A (en) * | 1995-02-24 | 1998-12-08 | Xilinx, Inc. | DRAM memory cell for programmable logic devices |
US5905858A (en) * | 1996-11-01 | 1999-05-18 | Micron Electronics, Inc. | System for method memory error handling |
JPH10207726A (ja) * | 1997-01-23 | 1998-08-07 | Oki Electric Ind Co Ltd | 半導体ディスク装置 |
JP3184129B2 (ja) * | 1997-09-29 | 2001-07-09 | 甲府日本電気株式会社 | 記憶装置 |
US7099997B2 (en) * | 2003-02-27 | 2006-08-29 | International Business Machines Corporation | Read-modify-write avoidance using a boundary word storage mechanism |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US7350044B2 (en) * | 2004-01-30 | 2008-03-25 | Micron Technology, Inc. | Data move method and apparatus |
US7308638B2 (en) | 2004-06-29 | 2007-12-11 | Hewlett-Packard Development Company, L.P. | System and method for controlling application of an error correction code (ECC) algorithm in a memory subsystem |
US8055979B2 (en) * | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US7810017B2 (en) * | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
KR20090053960A (ko) * | 2006-04-06 | 2009-05-28 | 가부시키가이샤 어드밴티스트 | 시험 장치 및 시험 방법 |
US7840875B2 (en) * | 2006-05-15 | 2010-11-23 | Sandisk Corporation | Convolutional coding methods for nonvolatile memory |
CN100458718C (zh) * | 2006-12-29 | 2009-02-04 | 福昭科技(深圳)有限公司 | 一种闪存存储装置及其数据读取和写入方法 |
-
2007
- 2007-12-06 US US11/951,455 patent/US8234539B2/en active Active
-
2008
- 2008-10-07 CN CN2008801195122A patent/CN101889267B/zh not_active Expired - Fee Related
- 2008-10-07 EP EP08807915A patent/EP2218003B1/en not_active Not-in-force
- 2008-10-07 KR KR1020107014864A patent/KR101572038B1/ko not_active Expired - Fee Related
- 2008-10-07 AT AT08807915T patent/ATE506649T1/de not_active IP Right Cessation
- 2008-10-07 DE DE602008006455T patent/DE602008006455D1/de active Active
- 2008-10-07 WO PCT/IB2008/054108 patent/WO2009072014A1/en active Application Filing
- 2008-10-07 JP JP2010536553A patent/JP5529751B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
KR101572038B1 (ko) | 2015-11-26 |
JP5529751B2 (ja) | 2014-06-25 |
ATE506649T1 (de) | 2011-05-15 |
DE602008006455D1 (de) | 2011-06-01 |
JP2011507066A (ja) | 2011-03-03 |
EP2218003B1 (en) | 2011-04-20 |
CN101889267A (zh) | 2010-11-17 |
EP2218003A1 (en) | 2010-08-18 |
WO2009072014A1 (en) | 2009-06-11 |
US20090150747A1 (en) | 2009-06-11 |
CN101889267B (zh) | 2013-07-31 |
US8234539B2 (en) | 2012-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101572038B1 (ko) | 메모리 어레이의 에러 수정 방법 | |
US11392454B2 (en) | Memory controllers, memory systems and memory modules | |
JP5132687B2 (ja) | メモリにおけるキャッシュを利用した誤り検出及び訂正方法及び装置 | |
JP4192154B2 (ja) | エラー訂正のためのデータの分割 | |
US9158675B2 (en) | Architecture for storage of data on NAND flash memory | |
US8869007B2 (en) | Three dimensional (3D) memory device sparing | |
US9189327B2 (en) | Error-correcting code distribution for memory systems | |
US11030040B2 (en) | Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system | |
US20180157428A1 (en) | Data protection of flash storage devices during power loss | |
CN106469099B (zh) | 在应用wom码的情况下的错误纠正 | |
US10922025B2 (en) | Nonvolatile memory bad row management | |
US10901842B2 (en) | Memory system and operating method thereof | |
US9959166B2 (en) | Error correction for non-volatile memory | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
US11928027B1 (en) | System and method for error checking and correction with metadata storage in a memory controller | |
US11360853B2 (en) | Access method | |
CN110058955B (zh) | 具有错误纠正功能的内存和相关内存系统 | |
CN113986608B (zh) | 一种磁盘阵列数据恢复方法、系统、存储介质及设备 | |
CN112486416A (zh) | 数据处理方法、装置、存储介质及处理器 | |
JP2013218525A (ja) | 半導体記憶システム、メモリコントローラおよびメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20100705 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20131004 Comment text: Request for Examination of Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20141017 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20150826 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20151120 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20151123 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20190901 |