JP5306745B2 - フラッシュメモリの管理方法及びフラッシュメモリデバイス - Google Patents
フラッシュメモリの管理方法及びフラッシュメモリデバイス Download PDFInfo
- Publication number
- JP5306745B2 JP5306745B2 JP2008228035A JP2008228035A JP5306745B2 JP 5306745 B2 JP5306745 B2 JP 5306745B2 JP 2008228035 A JP2008228035 A JP 2008228035A JP 2008228035 A JP2008228035 A JP 2008228035A JP 5306745 B2 JP5306745 B2 JP 5306745B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- error
- data
- spare
- flash memory
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
ホストからの読み出し命令を受けたとき、エラー訂正回路によって得られるbitエラー数が、前記エラー訂正回路の能力値n(nは正の整数)より小さい閾値m(mは正の整数,m<n)以上であったときに、当該エラーを起こしたデータを含むブロックの全データをエラー訂正して予備ブロックにコピーした後、前記エラーを起こしたデータを含むブロックを不良ブロックとしてブロック管理テーブルを更新し、前記予備ブロックの残数が予備ブロック管理手段に設定された閾値に至った後、前記エラー訂正回路によって得られるbitエラー数が閾値m以上n未満であったときに当該エラーを起こしたデータを含むブロックの全データをエラー訂正してリフレッシュし、閾値nに至ったときは当該エラーを起こしたデータを含むブロックの全データをエラー訂正して前記予備ブロックにコピーした後、前記エラーを起こしたデータを含むブロックを不良ブロックとして前記ブロック管理テーブルを更新するフラッシュメモリの管理方法を提供する。
本構成では、エラー訂正回路により得られるbitエラー数の閾値を2個設け、その閾値に基づいて、予備ブロックの残数が閾値に至る前後で不良ブロックの処理方法を変えることにより、リードディスターブエラーによるデータ破壊を効率よく、且つ確実に防止するとともに、メモリデバイスの寿命を延ばすことが可能となる。即ち、予備ブロックの残数が閾値に至る前は、不良ブロックを予備ブロックに代替するポイントを、マージンを持たせてエラー訂正回路の能力値n(訂正可能な上限値)よりも低いbitエラー数閾値mに設定することにより、データ破壊を確実に防止することができる。また、リフレッシュを行わないので、ホストからのメモリアクセスの一時的な中断を回避することができる。予備ブロックの残数が閾値に至った後は、予備ブロックに代替するポイントをnとし、m以上n未満のときはリフレッシュを実行する。このことにより、今まで不良ブロックとして捨てていたブロックを、有効なブロックとして扱うことができ、延いてはフラッシュメモリの寿命を延ばすことが可能となる。
予備ブロックの残数が予備ブロック管理手段に設定された閾値に至った以降のリフレッシュは、データが書き込まれていない未使用の領域を使用して行われる。即ち、エラーを起こしたデータを含むブロックの全データを、エラーを起こしたデータに関してデータ誤りの訂正を行った後、未使用の領域であるユーザ領域中の空きブロック若しくは予備ブロックにコピーし、元のブロックの全データを消去し、ユーザ領域中の空きブロック若しくは予備ブロックとしてブロック管理テーブルを更新する。コピーのために読み出されたデータは一旦バッファに保存され、その後ユーザ領域中の空きブロック若しくは予備ブロックに転送される。データのコピー完了後に、元のブロックのデータを消去し、ユーザ領域中の空きブロック若しくは予備ブロックとすることにより、コピーの途中で突然の電源遮断が起こっても、データは元のブロックに保存されており消失しない。これにより、メモリデバイスの信頼性を高めることが可能となる。
これにより、ブロック管理テーブルの更新を行わずにリフレッシュすることが可能となる。
図1は、本発明におけるフラッシュメモリデバイスのシステム基本構成図である。本発明は、NAND型フラッシュメモリ12(本明細書において、特に必要のない限り、単に“フラッシュメモリ”という)とフラッシュメモリ12にデータの書き込みや読み出しを実行するコントローラ11からなるフラッシュメモリデバイス2と、フラッシュメモリデバイス2にデータの書き込みや読み出しのコマンドを発行するホスト1を基本構成として有するシステムで実行され得る。尚、コントローラ11には、必要に応じRAM13を接続する。フラッシュメモリデバイス2とホスト1は、例えばMPEG音楽プレーヤのように、所定の機器として一体に構成されていてもよいし、ホスト1がPCで構成され、フラッシュメモリデバイス2がPCとUSB接続される機器のように、別体で構成してもよい。近年では、ハードディスクの置き換えとして、SSD(Solid
State Drive)のように、複数のフラッシュメモリ12とコントローラ11とRAM13とが一体に構成され、PCとIDE接続される機器もある。
以下、図2、図5及び図6を用いて、ブロックの管理方法について説明する。
図6は、ブロックの管理方法を示すフローチャートである。先ず、ST1で、フラッシュメモリデバイス2がホスト1から読み出し命令を受けると読み出しが開始される。次に、コントローラ11に設けられたエラー訂正回路15によってエラーチェックが行われ(ST2)、エラーがあるかないか判断し(ST3)、エラーがない場合は、フラッシュメモリに12記憶されているユーザデータをそのままホスト1へ送出し(ST15)、読み出しを完了する。
デバイス使用開始直後は、不良ブロックが発生する確率が低く、予備ブロックを殆ど使用しないため、予備ブロック残数は100%に近い値を示し、その後デバイスの使用回数が増加してくると、不良ブロックの代替が行われて予備ブロックが少なくなり、予備ブロック残数は50%に近づく。尚、図6において、予備ブロック残数の閾値を50%として説明するが、実際にはブロック数で設定している。
デバイス使用開始から時間が経過してくると、不良ブロックが発生する確率が高くなり、予備ブロック残数は50%以下となり、更にデバイスを使用し続けると0%となる。
図6に示すST12におけるリフレッシュのやり方の第1の例について、図3を用いて説明する。今、メモリセルアレイ23に示すBlock3(error)34でbitエラーが発生しているとする。読み出しの際、エラー訂正回路15によりbitエラーを訂正してから、Block3(error)34の全データを、一旦、RAM13に設けたバッファに読み出した後、メモリセルアレイ23に示すユーザ領域中の空きブロックであるBlock2(empty)33に転送する。その後、Block3(error)34はその全データを消去し、ユーザ領域中の空きブロックとしてブロック管理テーブル14を更新し、Block3をメモリセルアレイ24に示すBlock3(empty)39の状態にする。それと同時に、Block2をメモリセルアレイ24に示すBlock2(valid)38の状態にする。尚、上記の例では、データの転送先をユーザ領域中の空きブロックとしたが、これに代えて予備ブロック(例えば、Block8000(reserve)35)をデータ転送先とし、転送元のブロック(Block3(error)34)はその全データを消去し、予備ブロックとしてブロック管理テーブル14を更新してもよい。ホスト1に対しては、前記バッファに一時保存しておいたデータを送出する。ホスト1へのデータの送出は、各不良ブロックの処理と同時に行なってもよい。
次に、リフレッシュのやり方の第2例について図4を用いて説明する。今、メモリセルアレイ25に示すBlock3(error)34でbitエラーが発生しているとする。読み出しの際、エラー訂正回路15によりbitエラーを訂正してから、Block3(error)34の全データを、一旦、RAM13に設けたバッファに読み出した後、Block3(error)34を消去する。そして、元のBlock3(error)34に転送する。この場合、説明の便宜上、ブロックの状態がメモリセルアレイ25に示すBlock3(error)34から、メモリセルアレイ26に示すBlock3(valid)40に変化しているが、Block3(error)34は、不良ブロック処理前の状態であり、有効ブロックである。つまり、データを元のブロックに書き戻しているにすぎないため、ブロック管理テーブル14の更新を行う必要はない。尚、この場合もホスト1に対しては、前記バッファに一時保存しておいたデータを送出すればよい。ホスト1へのデータの送出は、各不良ブロックの処理と同時に行なってもよい。
2 フラッシュメモリデバイス
11 コントローラ
12 NAND型フラッシュメモリ
13 RAM
14 ブロック管理テーブル
15 エラー訂正回路
16 予備ブロック管理手段
Claims (9)
- ホストからの読み出し命令を受けたとき、エラー訂正回路によって得られるbitエラー数が、前記エラー訂正回路の能力値n(nは正の整数)より小さい閾値m(mは正の整数,m<n)以上であったときに、当該エラーを起こしたデータを含むブロックの全データをエラー訂正して予備ブロックにコピーした後、前記エラーを起こしたデータを含むブロックを不良ブロックとしてブロック管理テーブルを更新し、前記予備ブロックの残数が予備ブロック管理手段に設定された閾値に至った後、前記エラー訂正回路によって得られるbitエラー数が閾値m以上n未満であったときに当該エラーを起こしたデータを含むブロックの全データをエラー訂正してリフレッシュし、閾値nに至ったときは当該エラーを起こしたデータを含むブロックの全データをエラー訂正して前記予備ブロックにコピーした後、前記エラーを起こしたデータを含むブロックを不良ブロックとして前記ブロック管理テーブルを更新することを特徴とするフラッシュメモリの管理方法。
- 前記リフレッシュは、前記エラー訂正回路によりエラー訂正した後、当該エラーを起こしたデータを含むブロックの全データを、一旦バッファに読み出してからユーザ領域中の空きブロック若しくは予備ブロックに転送し、前記エラーを起こしたデータを含むブロックはその全データを消去し、ユーザ領域中の空きブロック若しくは予備ブロックとして前記ブロック管理テーブル更新することを特徴とする請求項1記載のフラッシュメモリの管理方法。
- 前記リフレッシュは、前記エラー訂正回路によりエラー訂正した後、当該エラーを起こしたデータを含むブロックの全データを一旦バッファに転送し、該ブロックを消去後、バッファから該ブロックに書き戻すことを特徴とする請求項1記載のフラッシュメモリの管理方法。
- 予備ブロック残数が閾値に至った段階で、表示手段を駆動し若しくはホストに通知すすることを特徴とする請求項1乃至請求項3いずれか1項記載のフラッシュメモリの管理方法。
- ホストからの読み出し命令を受けたとき、エラー訂正回路によって得られるbitエラー数が、前記エラー訂正回路の能力値n(nは正の整数)より小さい閾値m(mは正の整数,m<n)以上であったときに、当該エラーを起こしたデータを含むブロックの全データをエラー訂正して予備ブロックにコピーした後、前記エラーを起こしたデータを含むブロックを不良ブロックとしてブロック管理テーブルを更新し、前記予備ブロックの残数が予備ブロック管理手段に設定された閾値に至った後、前記エラー訂正回路によって得られるbitエラー数が閾値m以上n未満であったときに当該エラーを起こしたデータを含むブロックの全データをエラー訂正してリフレッシュし、閾値nに至ったときは当該エラーを起こしたデータを含むブロックの全データをエラー訂正して前記予備ブロックにコピーした後、前記エラーを起こしたデータを含むブロックを不良ブロックとして前記ブロック管理テーブルを更新することを特徴とするフラッシュメモリデバイス。
- 前記リフレッシュは、前記エラー訂正回路によりエラー訂正した後、当該エラーを起こしたデータを含むブロックの全データを、一旦バッファに読み出してからユーザ領域中の空きブロック若しくは予備ブロックに転送し、前記エラーを起こしたデータを含むブロックはその全データを消去し、ユーザ領域中の空きブロック若しくは予備ブロックとして前記ブロック管理テーブル更新することを特徴とする請求項5記載のフラッシュメモリデバイス。
- 前記リフレッシュは、前記エラー訂正回路によりエラー訂正した後、当該エラーを起こしたデータを含むブロックの全データを一旦バッファに転送し、該ブロックを消去後、バッファから該ブロックに書き戻すことを特徴とする請求項5記載のフラッシュメモリデバイス。
- 表示手段をさらに有し、予備ブロック残数が所定数に至った段階で、該表示手段を駆動することを特徴とする請求項5乃至請求項7いずれか1項記載のフラッシュメモリデバイス。
- 予備ブロック残数が所定数に至った段階で、ホストに通知することを特徴とする請求項5乃至請求項7いずれか1項記載のフラッシュメモリデバイス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008228035A JP5306745B2 (ja) | 2008-09-05 | 2008-09-05 | フラッシュメモリの管理方法及びフラッシュメモリデバイス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008228035A JP5306745B2 (ja) | 2008-09-05 | 2008-09-05 | フラッシュメモリの管理方法及びフラッシュメモリデバイス |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010061507A JP2010061507A (ja) | 2010-03-18 |
JP5306745B2 true JP5306745B2 (ja) | 2013-10-02 |
Family
ID=42188216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008228035A Active JP5306745B2 (ja) | 2008-09-05 | 2008-09-05 | フラッシュメモリの管理方法及びフラッシュメモリデバイス |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5306745B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5517184B2 (ja) * | 2008-09-26 | 2014-06-11 | Necエンベデッドプロダクツ株式会社 | フラッシュメモリの延命装置、その方法及びそのプログラム |
JP5473623B2 (ja) * | 2010-01-15 | 2014-04-16 | キヤノン株式会社 | データ記録装置及びその制御方法 |
JP5455689B2 (ja) * | 2010-02-03 | 2014-03-26 | キヤノン株式会社 | 記録装置及び方法 |
JP5981906B2 (ja) * | 2013-12-17 | 2016-08-31 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
KR20220103205A (ko) | 2017-12-29 | 2022-07-21 | 마이크론 테크놀로지, 인크. | 정정 불가능 ecc |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3242890B2 (ja) * | 1998-12-16 | 2001-12-25 | 株式会社ハギワラシスコム | 記憶装置 |
JP2003085054A (ja) * | 2001-06-27 | 2003-03-20 | Mitsubishi Electric Corp | フラッシュメモリを搭載した半導体記憶装置における装置寿命警告発生システムとその方法 |
JP4034949B2 (ja) * | 2001-09-06 | 2008-01-16 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
JP5016027B2 (ja) * | 2006-05-15 | 2012-09-05 | サンディスク コーポレイション | 最終期を計算する不揮発性メモリシステム |
-
2008
- 2008-09-05 JP JP2008228035A patent/JP5306745B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010061507A (ja) | 2010-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8230161B2 (en) | Data backup method for a flash memory and controller and storage system using the same | |
JP4675984B2 (ja) | メモリシステム | |
US10013307B1 (en) | Systems and methods for data storage devices to use external resources | |
US8935466B2 (en) | Data storage system with non-volatile memory and method of operation thereof | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
US8271515B2 (en) | System and method for providing copyback data integrity in a non-volatile memory system | |
EP2162822B1 (en) | Emerging bad block detection | |
JP4524309B2 (ja) | フラッシュメモリ用のメモリコントローラ | |
TW201916018A (zh) | 資料儲存裝置與將資料寫入記憶體裝置之方法 | |
JP5990430B2 (ja) | Ssd(ソリッドステートドライブ)装置 | |
US20140379972A1 (en) | Memory device, control method for the memory device, and controller | |
US20100199020A1 (en) | Non-volatile memory subsystem and a memory controller therefor | |
JP2010015197A (ja) | ストレージ制御装置、データ復元装置およびストレージシステム | |
JP2009129070A (ja) | フラッシュメモリ記憶装置の制御方法、その方法を用いたフラッシュメモリ記憶装置及びストレージシステム | |
TWI389122B (zh) | 用來存取一快閃記憶體之方法以及相關之記憶裝置及其控制器 | |
TWI501252B (zh) | 用於控制保留區的固態儲存系統及其控制方法 | |
JP2008198310A (ja) | ビットエラーの修復方法および情報処理装置 | |
TW201411343A (zh) | 資料儲存裝置與快閃記憶體控制方法 | |
TWI554886B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
US20100306447A1 (en) | Data updating and recovering methods for a non-volatile memory array | |
JP5306745B2 (ja) | フラッシュメモリの管理方法及びフラッシュメモリデバイス | |
JP2009211215A (ja) | メモリシステム | |
US8607123B2 (en) | Control circuit capable of identifying error data in flash memory and storage system and method thereof | |
US9223688B2 (en) | Data storing method and memory controller and memory storage device using the same | |
JP2007310916A (ja) | メモリカード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20110810 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110905 |
|
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: 20130528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130626 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5306745 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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |