JP5780174B2 - 不良ビットエラーを処理するシステムおよび方法 - Google Patents
不良ビットエラーを処理するシステムおよび方法 Download PDFInfo
- Publication number
- JP5780174B2 JP5780174B2 JP2012028631A JP2012028631A JP5780174B2 JP 5780174 B2 JP5780174 B2 JP 5780174B2 JP 2012028631 A JP2012028631 A JP 2012028631A JP 2012028631 A JP2012028631 A JP 2012028631A JP 5780174 B2 JP5780174 B2 JP 5780174B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- page
- value
- data
- bad
- 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.)
- Expired - Fee Related
Links
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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/785—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
- G11C29/789—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
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)
- Read Only Memory (AREA)
Description
110 制御装置(主制御装置)、
120 メモリ装置(半導体不揮発性メモリ装置、フラッシュメモリ装置)、
112 読出モジュール、
114 書込モジュール、
116 不良ビット検出モジュール、
118 不良ビット修正モジュール、
122 ビット処理モジュール。
Claims (18)
- 半導体不揮発性メモリ装置と、この半導体不揮発性メモリ装置における不良ビットエラーを修正するための処理の少なくとも一部を実行する主制御装置とを備える不良ビットエラー処理システムにおいて、
前記半導体不揮発性メモリ装置は、複数のブロックに分割することができる記憶領域を有し、前記ブロックは、複数のページを有し、前記ページは、実質的なデータを格納する主データ領域と予備データ領域とを有し、前記予備データ領域は、前記主データ領域におけるひとつのビットがエラー状態にあるか否かを示す有効性ビットのフィールドと、前記主データ領域におけるエラー状態にある不良ビットを示す不良ビット位置のフィールドと、前記主データ領域におけるエラー状態にある不良ビットの適切な値を示す好適値のフィールドと、エラー状態にある不良ビットの修正値を示すユーザ値のフィールドとを含み、
前記主制御装置は、
前記半導体不揮発性メモリ装置から古いページを受け取り、前記ページがエラー状態であると検出された不良ビットを有しているか否かを決定する不良ビット検出モジュールと、
前記不良ビットの値を修正する不良ビット修正モジュールとを備え、
前記不良ビット修正モジュールは、
(a)前記半導体不揮発性メモリ装置に書込まれるべき新しいページを生成する手段と、
(b)エラー状態であると検出された不良ビットの位置を決定し、前記新しいページの前記不良ビットのフィールドにエラー状態であると検出された不良ビットの位置を記録する位置記録手段と、
(c)エラー状態であると検出された不良ビットの好適値を決定し、前記新しいページの前記好適値のフィールドに、エラー状態であると検出された不良ビットの前記好適値を記録する手段と、
(d)エラー状態であると検出された不良ビットのユーザ値を決定し、前記新しいページの前記ユーザ値のフィールドに、エラー状態であると検出された不良ビットの前記ユーザ値を記録する手段と、
(e)前記古いページの前記主データ領域に記録された実質的なデータに対応するビット列に前記好適値を挿入し、前記好適値が挿入された前記ビット列を前記新しいページの主データ領域に記録する手段と、
(f)前記古いページのアドレスに前記新しいページを格納する手段とを備えることを特徴とする不良ビットエラー処理システム。 - 前記不良ビット検出モジュールは、
(i)誤り訂正機能の仕組みが有効化されているときに、前記半導体不揮発性メモリ装置から前記古いページを読込み、前記古いページの前記主データ領域の内容を前記主データ領域における誤りの訂正がある値を示す予期データとして記録する手段と、
(ii)前記古いページを前記半導体不揮発性メモリ装置に書き戻す手段と、
(iii)誤り訂正機能の仕組みが無効化されているときに、前記半導体不揮発性メモリ装置から前記古いページを読込み、前記古いページの前記主データ領域の内容を前記主データ領域における誤りの訂正がない値を示す実データとして記録する手段と、
(iv)前記予期データを前記実データと比較する手段と、
(v)前記予期データが前記実データと一致しない場合に、前記古いページにおける検出されたビットがエラー状態にあることを決定する手段とを備えることを特徴とする請求項1に記載の不良ビットエラー処理システム。 - 前記不良ビット修正モジュールは、前記新しいページの前記好適値のフィールドに、エラー状態にあると検出された不良ビットの位置における前記予期データのひとつのビットの値を記録する手段と、前記新しいページの前記ユーザ値のフィールドに、エラー状態にあると検出された不良ビットの位置における前記実データのひとつのビットの値を記録する手段とを備えることを特徴とする請求項2に記載の不良ビットエラー処理システム。
- 前記不良ビット修正モジュールの前記位置記録手段は、前記予期データと前記実データとの上で排他的論理和演算を実行し、さらにその演算の結果の最下位ビットが1に等しくなるまで前記結果を1ビットずつシフトすることにより、前記古いページの前記主データ領域における検出された不良ビットの位置を決定し、前記最下位ビットが1に等しくなるまでにシフトされたビット数が検出された不良ビットの位置に等しいことを特徴とする請求項2または請求項3に記載の不良ビットエラー処理システム。
- さらに、書込まれるべきデータを書込まれるべきページに書込む書込モジュールを備え、
前記書込モジュールは、書込まれるべきページの有効性ビットを確認し、前記書込まれるべきページがエラー状態であることを前記有効性ビットが示す場合、書込まれるべきページのユーザ値のフィールドを設け、そのフィールドの値を、書込まれるべきページの不良ビット位置のフィールドに格納された不良ビット位置の値に対応して書込まれるべきデータにおけるビットの値とすることを特徴とする請求項1から請求項4のいずれかに記載の不良ビットエラー処理システム。 - さらに、(i)書込まれるべきデータに対応するビット列、(ii)前記不良ビット位置に対応する位置の値、および(iii)書込まれるべきページの前記不良ビット位置に位置するビットの前記好適値に対応する要求値を受取るビット処理モジュールを備え、
前記ビット処理モジュールは、書込まれるべきページの主領域が、そこに挿入された前記要求値をもつ書込まれるべきデータを含むように、前記書込まれるべきデータに、前記位置の値に対応するビット位置において、前記要求値を挿入することを特徴とする請求項5に記載の不良ビットエラー処理システム。 - さらに、半導体不揮発性メモリ装置から要求されたページを読み出す読出モジュールを備え、
前記読出モジュールは、要求されたページの有効性ビットを確認し、前記要求されたページがエラー状態であることを前記有効性ビットが示す場合、前記要求されたページのユーザ値のフィールドに格納された値、前記要求されたページの主領域に格納されたデータの列、および前記要求されたページの不良ビット位置のフィールドにおける値に対応する不良ビット位置に基づいて要求されたデータを生成することを特徴とする請求項1から請求項6のいずれかに記載の不良ビットエラー処理システム。 - さらに、(i)前記要求されたページの前記主領域に格納されたビット列、(ii)前記不良ビット位置、および(iii)前記ユーザ値を受取るビット処理モジュールを備え、
前記ビット処理モジュールは、前記要求されたデータが、そこに挿入された前記ユーザ値をもつ前記ビット列によって構成されるように、前記ビット列に、前記不良ビット位置に対応するビット位置において、前記ユーザ値を挿入することを特徴とする請求項7に記載の不良ビットエラー処理システム。 - 前記半導体不揮発性メモリ装置は、NAND型のフラッシュメモリ装置であることを特徴とする請求項1から請求項8のいずれかに記載の不良ビットエラー処理システム。
- 半導体不揮発性メモリ装置における不良ビットエラーを修正するための不良ビットエラー処理方法において、
前記半導体不揮発性メモリ装置は、複数のブロックに分割することができる記憶領域を有し、前記ブロックは、複数のページを有し、前記ページは、実質的なデータを格納する主データ領域と予備データ領域とを有し、前記予備データ領域は、前記主データ領域におけるひとつのビットがエラー状態にあるか否かを示す有効性ビットのフィールドと、前記主データ領域におけるエラー状態にある不良ビットを示す不良ビット位置のフィールドと、前記主データ領域におけるエラー状態にある不良ビットの適切な値を示す好適値のフィールドと、エラー状態にある不良ビットの修正値を示すユーザ値のフィールドとを含み、
前記不良ビットエラー処理方法は、
古いページを前記半導体不揮発性メモリ装置から受け取り、
ページがエラー状態であるとして検出された不良ビットを有するか否かを決定し、
検出されたビットがエラー状態である場合、前記不良ビットエラー処理方法は、さらに、
前記半導体不揮発性メモリ装置に書込まれるべき新しいページを生成し、
エラー状態であると検出された不良ビットの位置を決定し、前記新しいページの前記不良ビットのフィールドに前記エラー状態であると検出されたビットの位置を記録し、
前記エラー状態であると検出されたビットの好適値を決定し、前記新しいページの前記好適値のフィールドに、エラー状態であると検出された不良ビットの前記好適値を記録し、
エラー状態であると検出された不良ビットのユーザ値を決定し、前記新しいページの前記ユーザ値のフィールドに、エラー状態であると検出された不良ビットの前記ユーザ値を記録し、
前記古いページの前記主データ領域に記録された実質的なデータに対応するビット列に前記好適値を挿入し、前記好適値が挿入された前記ビット列を前記新しいページの主データ領域に記録し、
前記古いページのアドレスに前記新しいページを格納することを特徴とする不良ビットエラー処理方法。 - さらに、誤り訂正機能の仕組みが有効化されているときに、前記半導体不揮発性メモリ装置から前記古いページを読込み、
前記古いページの前記主データ領域の内容を前記主データ領域における誤りの訂正がある値を示す予期データとして記録し、
前記古いページを前記半導体不揮発性メモリ装置に書き戻し、
誤り訂正機能の仕組みが無効化されているときに、前記半導体不揮発性メモリ装置から前記古いページを読込み、前記古いページの前記主データ領域の内容を前記主データ領域における誤りの訂正がない値を示す実データとして記録し、
前記予期データを前記実データと比較し、
前記予期データが前記実データと一致しない場合に、前記古いページにおける前記検出されたビットがエラー状態にあることを決定することを特徴とする請求項10に記載の不良ビットエラー処理方法。 - さらに、前記新しいページの前記好適値のフィールドに、エラー状態にあると検出された不良ビットの位置における前記予期データのひとつのビットの値を記録し、前記新しいページの前記ユーザ値のフィールドに、エラー状態にあると検出された不良ビットの位置における前記実データのひとつのビットの値を記録することを特徴とする請求項11に記載の不良ビットエラー処理方法。
- 前記古いページの前記主領域における前記検出されたビットの位置を決定する工程は、前記予期データと前記実データとの上で排他的論理和演算を実行し、さらにその演算の結果の最下位ビットが1に等しくなるまで前記結果を1ビットずつシフトする工程を含み、前記最下位ビットが1に等しくなるまでにシフトされたビット数が前記検出されたビットの位置に等しいことを特徴とする請求項11または請求項12に記載の不良ビットエラー処理方法。
- さらに、書込まれるべきデータを書込まれるべきページに書込む工程を備え、
この書込む工程は、さらに、書込まれるべきページの有効性ビットを確認し、前記書込まれるべきページがエラー状態であることを前記有効性ビットが示す場合、書込まれるべきページのユーザ値のフィールドを設け、そのフィールドの値を、書込まれるべきページの不良ビット位置のフィールドに格納された不良ビット位置の値に対応して書込まれるべきデータにおけるビットの値とすることを特徴とする請求項10から請求項13のいずれかに記載の不良ビットエラー処理方法。 - さらに、(i)書込まれるべきデータに対応するビット列、(ii)前記不良ビット位置に対応する位置の値、および(iii)書込まれるべきページの前記不良ビット位置に位置するビットの前記好適値に対応する要求値を受取り、
書込まれるべきページの主領域が、そこに挿入された前記要求値をもつ書込まれるべきデータを含むように、前記書込まれるべきデータに、前記位置の値に対応するビット位置において、前記要求値を挿入することを特徴とする請求項14に記載の不良ビットエラー処理方法。 - さらに、半導体不揮発性メモリ装置から要求されたページを読み出す工程を備え、
この読み出す工程は、さらに、要求されたページの有効性ビットを確認し、前記要求されたページがエラー状態であることを前記有効性ビットが示す場合、前記要求されたページのユーザ値のフィールドに格納された値、前記要求されたページの主領域に格納されたデータの列、および前記要求されたページの不良ビット位置のフィールドにおける値に対応する不良ビット位置に基づいて要求されたデータを生成することを特徴とする請求項10から請求項15のいずれかに記載の不良ビットエラー処理方法。 - さらに、(i)前記要求されたページの前記主領域に格納されたビット列、(ii)前記不良ビット位置、および(iii)前記ユーザ値を受取り、
前記要求されたデータが、そこに挿入された前記ユーザ値をもつ前記ビット列によって構成されるように、前記ビット列に、前記不良ビット位置に対応するビット位置において、前記ユーザ値を挿入することを特徴とする請求項16に記載の不良ビットエラー処理方法。 - 前記半導体不揮発性メモリ装置は、NAND型のフラッシュメモリ装置であることを特徴とする請求項10から請求項17のいずれかに記載の不良ビットエラー処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/079875 | 2011-04-05 | ||
US13/079,875 US8560925B2 (en) | 2011-04-05 | 2011-04-05 | System and method for handling bad bit errors |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012221488A JP2012221488A (ja) | 2012-11-12 |
JP5780174B2 true JP5780174B2 (ja) | 2015-09-16 |
Family
ID=46967070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012028631A Expired - Fee Related JP5780174B2 (ja) | 2011-04-05 | 2012-02-13 | 不良ビットエラーを処理するシステムおよび方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8560925B2 (ja) |
JP (1) | JP5780174B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9471418B2 (en) * | 2007-06-19 | 2016-10-18 | Samsung Electronics Co., Ltd. | Memory system that detects bit errors due to read disturbance and methods thereof |
US8572466B2 (en) | 2011-06-06 | 2013-10-29 | Micron Technology, Inc. | Apparatuses, systems, devices, and methods of replacing at least partially non-functional portions of memory |
US8589726B2 (en) * | 2011-09-01 | 2013-11-19 | Infinidat Ltd. | System and method for uncovering data errors |
KR20130049332A (ko) * | 2011-11-04 | 2013-05-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US9235346B2 (en) | 2012-05-04 | 2016-01-12 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Dynamic map pre-fetching for improved sequential reads of a solid-state media |
US9337865B2 (en) | 2012-05-04 | 2016-05-10 | Seagate Technology Llc | Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders |
US9431110B2 (en) * | 2012-09-26 | 2016-08-30 | Intel Corporation | Column address decoding |
US8930778B2 (en) | 2012-11-15 | 2015-01-06 | Seagate Technology Llc | Read disturb effect determination |
JP6252489B2 (ja) * | 2012-12-19 | 2017-12-27 | 富士通株式会社 | 圧縮装置、圧縮方法、圧縮プログラム、伸張装置、伸張方法、伸張プログラム、および圧縮伸張システム |
JP6377751B2 (ja) * | 2013-09-24 | 2018-08-22 | インテル・コーポレーション | メモリ中のエラーを処理するためのエラー訂正ポインタの使用 |
US9720612B2 (en) * | 2015-04-30 | 2017-08-01 | Sandisk Technologies Llc | Biasing schemes for storage of bits in unreliable storage locations |
US9780809B2 (en) * | 2015-04-30 | 2017-10-03 | Sandisk Technologies Llc | Tracking and use of tracked bit values for encoding and decoding data in unreliable memory |
US11955187B2 (en) * | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US10394647B2 (en) * | 2017-06-22 | 2019-08-27 | International Business Machines Corporation | Bad bit register for memory |
US10725862B2 (en) * | 2018-07-06 | 2020-07-28 | Macronix International Co., Ltd. | Data recovery method to error correction code in memory |
JP6886547B1 (ja) | 2020-05-13 | 2021-06-16 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置およびecc関連情報の読出し方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6476338A (en) | 1987-09-18 | 1989-03-22 | Fujitsu Ltd | Duplexed file control system |
DE69033438T2 (de) * | 1989-04-13 | 2000-07-06 | Sandisk Corp., Santa Clara | Austausch von fehlerhaften Speicherzellen einer EEprommatritze |
JP2006048777A (ja) * | 2004-08-02 | 2006-02-16 | Toshiba Corp | Nandフラッシュメモリおよびデータ書き込み方法 |
US7945840B2 (en) * | 2007-02-12 | 2011-05-17 | Micron Technology, Inc. | Memory array error correction apparatus, systems, and methods |
JP2010140261A (ja) * | 2008-12-11 | 2010-06-24 | Nec Corp | 情報処理装置、エラー訂正方法及びプログラム |
KR101143397B1 (ko) * | 2009-07-29 | 2012-05-23 | 에스케이하이닉스 주식회사 | 페이지 복사 발생 빈도를 줄이는 반도체 스토리지 시스템 및 그 제어 방법 |
-
2011
- 2011-04-05 US US13/079,875 patent/US8560925B2/en not_active Expired - Fee Related
-
2012
- 2012-02-13 JP JP2012028631A patent/JP5780174B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012221488A (ja) | 2012-11-12 |
US8560925B2 (en) | 2013-10-15 |
US20120260148A1 (en) | 2012-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5780174B2 (ja) | 不良ビットエラーを処理するシステムおよび方法 | |
US7322002B2 (en) | Erasure pointer error correction | |
US8694855B1 (en) | Error correction code technique for improving read stress endurance | |
KR100331139B1 (ko) | 에러 위치지정 코드를 사용하여 멀티레벨 셀 메모리를 정정하는방법 및 장치 | |
JP5367835B2 (ja) | 不揮発性メモリにおけるデータ・エラー回復 | |
US8504884B2 (en) | Threshold voltage techniques for detecting an imminent read failure in a memory array | |
US7613982B2 (en) | Data processing apparatus and method for flash memory | |
US8095836B2 (en) | Time-based techniques for detecting an imminent read failure in a memory array | |
US8341491B2 (en) | System and method for providing data integrity in a non-volatile memory system | |
US20110239064A1 (en) | Management of a non-volatile memory based on test quality | |
US20150143188A1 (en) | Methods for accessing a storage unit of a flash memory and apparatuses using the same | |
US9189327B2 (en) | Error-correcting code distribution for memory systems | |
KR101512927B1 (ko) | 비휘발성 메모리의 페이지 관리 방법 및 장치 | |
US9721665B2 (en) | Data writing method and system | |
CN111831486B (zh) | 半导体装置和包括该半导体装置的半导体系统 | |
US7240272B2 (en) | Method and system for correcting errors in a memory device | |
US7490321B2 (en) | Method for updating firmware via determining program code | |
JP2004342112A (ja) | エラーチェック訂正技法を用いて不揮発性メモリユニットのデータ保持損に応答する装置及び方法 | |
JP4135413B2 (ja) | メモリチェックシステムおよびメモリチェック方法、信号処理装置および信号処理装置のメモリチェック方法、ならびに、メモリチェックプログラム | |
JP2002244932A (ja) | 制御装置 | |
JP2010079686A (ja) | データ処理装置、メモリ制御回路およびメモリ制御方法 | |
US7313648B2 (en) | Corruption tolerant method and system for deploying and modifying data in flash memory | |
KR101545077B1 (ko) | 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치 | |
US12079507B2 (en) | Storage device and method for modifying memory cells of a storage device | |
CN117909130A (zh) | 判定Flash扇区数据写入异常的方法、装置、存储介质和终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150610 |
|
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: 20150616 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150629 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5780174 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |