JP2010086404A - メモリの管理方法及びフラッシュメモリデバイス - Google Patents
メモリの管理方法及びフラッシュメモリデバイス Download PDFInfo
- Publication number
- JP2010086404A JP2010086404A JP2008256500A JP2008256500A JP2010086404A JP 2010086404 A JP2010086404 A JP 2010086404A JP 2008256500 A JP2008256500 A JP 2008256500A JP 2008256500 A JP2008256500 A JP 2008256500A JP 2010086404 A JP2010086404 A JP 2010086404A
- Authority
- JP
- Japan
- Prior art keywords
- block
- error
- flash memory
- data
- spare
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】予備ブロックの急激な減少を防止して、フラッシュメモリデバイスの安全な運用を図るためのメモリの管理方法及び該方法を使用するフラッシュメモリデバイスの提供。
【解決手段】
フラッシュメモリデバイスにエラー訂正回路とブロック管理手段とを設け、予備ブロックの残数がブロック管理手段に設定された閾値に至った後は、bitエラーのあったデータをエラー訂正してホストに送出するとともに、該エラーを生起したブロックをリフレッシュする。リフレッシュは当該ブロックのエラー訂正されたデータを含む全データを空きブロック若しくは予備ブロックに書き写し、元のブロックのデータを消去することにより実行する。又は、空きブロック若しくは予備ブロックに書き写してから元のブロックに書き戻すことにより実行する。
【選択図】 図5
【解決手段】
フラッシュメモリデバイスにエラー訂正回路とブロック管理手段とを設け、予備ブロックの残数がブロック管理手段に設定された閾値に至った後は、bitエラーのあったデータをエラー訂正してホストに送出するとともに、該エラーを生起したブロックをリフレッシュする。リフレッシュは当該ブロックのエラー訂正されたデータを含む全データを空きブロック若しくは予備ブロックに書き写し、元のブロックのデータを消去することにより実行する。又は、空きブロック若しくは予備ブロックに書き写してから元のブロックに書き戻すことにより実行する。
【選択図】 図5
Description
本発明は、フラッシュメモリの管理方法及び該方法を使用するフラッシュメモリデバイスに関する。
EEPROM(電気的にデータの消去及び書き換えが可能な不揮発性メモリ)の一種としてフラッシュメモリが知られている。取り分けNAND型フラッシュメモリは、安価で且つデータの書き込み時間が短いため、ハードディスクの置き換えや、各種コンテンツを格納する用途で使用されている。NAND型フラッシュメモリは、その構造上、製造段階で不良ブロックが存在する。また、書き込み回数や読み出し回数の増大によってもデータ化けが生じ、不良ブロックとなる。このため、不良ブロックが生じる度に、予め設けられた代替ブロック(予備ブロック)に置き換えられる。予備ブロックがゼロになると、もはやメモリは使用不可能となる。そのため、本出願人は、斯かる事態が発生する前にメモリを新品と交換させるべく、管理者に通知する記憶装置について提案している。
しかしながら、メモリが専らコンテンツを読み出す用途に使用されているような場合、リードディスターブエラーによりユーザデータ領域の多数のブロックが一度に不良ブロックになり、予備ブロックが急激に減少する可能性がある。斯かる場合には、管理者に通知しても、新品との交換に間に合わない事態も想定される。
特開2000−181805号公報
ここにおいて、本発明が解決すべき課題は、予備ブロックの急激な減少を防止して、フラッシュメモリデバイスの安全な運用を図るためのメモリの管理方法及び該方法を使用するフラッシュメモリデバイスの提供にある。その他の課題は、明細書、図面、特に特許請求の範囲から自ずと明らかとなろう。
上記課題解決のため、本発明が特許請求範囲において、上位概念から下位概念に亙り列挙する新規な特徴的構成を採用することにより、上記課題を解決する。即ち、本発明方法の第1の特徴は、ユーザデータ領域の他に予備ブロックと少なくとも一つ空きブロックを有するメモリと、エラー訂正回路とブロック管理手段とブロック管理テーブルとを有するコントローラと、前記ユーザデータ領域から読み出されたデータをホストに送出する前に一旦保存するRAMとを備えたフラッシュメモリデバイスのメモリ管理方法であって、予備ブロックの残数が前記ブロック管理手段に設定された閾値に至った後は、bitエラーを生起したデータを訂正してホストに送出するとともに、当該エラーを生起したデータを含むすべてのブロックをリフレッシュするメモリの管理方法の構成採用にある。
(作用)
従来は、予備ブロック残数に拘わらず、メモリから読み出したデータにbitエラー(ECCエラー)があった場合は、エラー訂正回路でエラー訂正したデータをホストに送出する。またbitエラーが閾値以上であった場合は、不良ブロックと看做し予備ブロックに置き換えている。しかし、頻繁にデータの読み出しが行われるようなシステムでは、ブロックに対する読み出し回数が増えるに従い、リードディスターブエラーが発生する。このため、本発明では、予備ブロック残数が閾値に至る前は従来通りの処理を行い、閾値に至った後はbitエラーの数に拘らず、エラーを生起したすべてのブロックにリフレッシュを実行する。リフレッシュを実行することにより、事後のbitエラー数を軽減することができるため、予備ブロック残数が閾値に至った後は、予備ブロックの減少速度が遅くなり、メモリの寿命延命を図ることができる。
従来は、予備ブロック残数に拘わらず、メモリから読み出したデータにbitエラー(ECCエラー)があった場合は、エラー訂正回路でエラー訂正したデータをホストに送出する。またbitエラーが閾値以上であった場合は、不良ブロックと看做し予備ブロックに置き換えている。しかし、頻繁にデータの読み出しが行われるようなシステムでは、ブロックに対する読み出し回数が増えるに従い、リードディスターブエラーが発生する。このため、本発明では、予備ブロック残数が閾値に至る前は従来通りの処理を行い、閾値に至った後はbitエラーの数に拘らず、エラーを生起したすべてのブロックにリフレッシュを実行する。リフレッシュを実行することにより、事後のbitエラー数を軽減することができるため、予備ブロック残数が閾値に至った後は、予備ブロックの減少速度が遅くなり、メモリの寿命延命を図ることができる。
この場合、リフレッシュを、エラーを生起したブロックの全データをエラー訂正してから空きブロック若しくは予備ブロックに書き写すことにより実行すれば、潜在的なエラーを含めてそのブロックの全てのエラーが訂正されるので、データの信頼性を高めることができる。
また、本発明方法の第2の特徴は、フラッシュメモリデバイスに表示手段を設け、予備ブロックの残数が所定数に至った段階で該表示手段を駆動するメモリの管理方法の構成採用にある。
(作用)
頻繁にデータの読み出しが行われるようなシステムにおいて、従来方法によれば、予備ブロックが急激に減少し、たとえ管理者に予備ブロックが残り少なくなったことを知らせても、新品との交換まで間に合わない事態も想定されるが、この構成によれば、管理者に通知した後、予備ブロックの減少速度を遅らせることができるので、斯かる事態を回避することができ、システムのより安全な運用を図ることができる。ここで“所定数”とは、予備ブロック残数閾値を複数設定した場合のいずれかである。
頻繁にデータの読み出しが行われるようなシステムにおいて、従来方法によれば、予備ブロックが急激に減少し、たとえ管理者に予備ブロックが残り少なくなったことを知らせても、新品との交換まで間に合わない事態も想定されるが、この構成によれば、管理者に通知した後、予備ブロックの減少速度を遅らせることができるので、斯かる事態を回避することができ、システムのより安全な運用を図ることができる。ここで“所定数”とは、予備ブロック残数閾値を複数設定した場合のいずれかである。
以下、本発明を実施するための最良の形態について図面を用いて説明するが、本発明は特許請求の範囲内において種々の形態を採ることができ、下記実施形態に限定されないことはいうまでもない。
(システム基本構成)
図1は、本発明におけるフラッシュメモリデバイスのシステム基本構成図である。本発明は、NAND型フラッシュメモリ12(本明細書において、特に必要のない限り、単に“フラッシュメモリ”という)とフラッシュメモリ12にデータの書き込みや読み出しを実行するコントローラ11からなるフラッシュメモリデバイス2と、フラッシュメモリデバイス2にデータの書き込みや読み出しのコマンドを発行するホスト1を基本構成として有するシステムにおいて実行され得る。コントローラ11には、フラッシュメモリ12から読み出されたデータをホスト1に送出する前に一旦保存するためのRAM13と、フラッシュメモリ12の状態を表示する表示手段としてのLED(Light Emitting Diode)17が接続されている。RAM13はコントローラ11の内部に設けてもよい。フラッシュメモリデバイス2とホスト1は、例えばMPEG音楽プレーヤのように、所定の機器として一体に構成されていてもよいし、ホスト1がPCで構成され、フラッシュメモリデバイス2がPCとUSB接続される機器のように、別体で構成してもよい。近年では、ハードディスクの置き換えとして、SSD(Solid
State Drive)のように、複数のフラッシュメモリ12とコントローラ11とRAM13とが一体に構成され、PCとIDE接続される機器でもよい。
図1は、本発明におけるフラッシュメモリデバイスのシステム基本構成図である。本発明は、NAND型フラッシュメモリ12(本明細書において、特に必要のない限り、単に“フラッシュメモリ”という)とフラッシュメモリ12にデータの書き込みや読み出しを実行するコントローラ11からなるフラッシュメモリデバイス2と、フラッシュメモリデバイス2にデータの書き込みや読み出しのコマンドを発行するホスト1を基本構成として有するシステムにおいて実行され得る。コントローラ11には、フラッシュメモリ12から読み出されたデータをホスト1に送出する前に一旦保存するためのRAM13と、フラッシュメモリ12の状態を表示する表示手段としてのLED(Light Emitting Diode)17が接続されている。RAM13はコントローラ11の内部に設けてもよい。フラッシュメモリデバイス2とホスト1は、例えばMPEG音楽プレーヤのように、所定の機器として一体に構成されていてもよいし、ホスト1がPCで構成され、フラッシュメモリデバイス2がPCとUSB接続される機器のように、別体で構成してもよい。近年では、ハードディスクの置き換えとして、SSD(Solid
State Drive)のように、複数のフラッシュメモリ12とコントローラ11とRAM13とが一体に構成され、PCとIDE接続される機器でもよい。
図2は、フラッシュメモリ12のブロック構成図である。フラッシュメモリ12は、ユーザデータ領域、予備領域、管理領域を有する。ユーザデータ領域は、主記憶領域とも呼ばれる。ユーザデータ領域を構成する物理ブロックは、論理ブロックと一対一に対応する関係を有し、その関係は論理/物理ブロック管理テーブルで管理され、その対応関係が変わると、随時該テーブルで更新される。予備ブロック(予備領域を構成するブロック)は、ユーザデータ領域を構成する物理ブロックが不良ブロックとなったときに使用される代替ブロックである。また、フラッシュメモリ22には空きブロックが少なくとも一つ確保される。この空きブロックは、通常、ユーザデータ領域の物理ブロックにデータを上書きするときに使用されるブロックである。この場合空きブロックは、予備ブロック同様、論理ブロックと関連付けされない。
本構成例では、物理ブロックは、Block0乃至Block8291の8292ブロックで構成され、その内Block0乃至Block8190がユーザデータ領域であり、Block8191が空きブロックであり、Block8192乃至Block8291が予備領域である。同図において、(valid)と記されたブロックがユーザデータ領域中の有効ブロックを表し、(empty)と記されたブロックが空きブロックを表し、(reserve)と記されたブロックが予備ブロックを表す。その他、不図示の管理領域を有する。
コントローラ11は、ブロック管理手段16とブロック管理テーブル14を含む。ブロック管理手段16は、ユーザデータ領域の物理ブロック番号と論理ブロック番号との関係を論理/物理ブロック管理テーブルで随時管理する。また空きブロックの物理ブロック番号及び予備ブロックの物理ブロック番号を把握するため、それぞれ不図示の空きブロックテーブル、予備ブロックテーブルで管理する。本願では論理/物理ブロック管理テーブル、空きブロックテーブル、予備ブロックテーブルを総称して、ブロック管理テーブル14というものとする。ブロック管理テーブル14はフラッシュメモリ12内に設けてもよい。なお、詳細は後述するが、本願のリフレッシュは、この空きブロック若しくは予備ブロックのいずれかを使用して実行する。
ブロック管理手段16は、さらにカウンター回路と、予備ブロックの残数の閾値を設定するための回路を有し、予備ブロックの残数と当該閾値とを比較判定する機能を有する。カウンター回路は予備ブロックの残数を計数するとともに、予備ブロックの残数を記憶する。ブロック管理手段16が、予備ブロック残数が予め設定されている所定の値以下であると判定すると、コントローラ11は表示手段を点灯させる。
更に、コントローラ11はエラー訂正回路(ECC)15を含む。エラー訂正回路15は、コントローラ11がホスト1から書き込み命令を受けると、エラーデータを復元するためのエラーチェックコードを生成する。そして、ユーザデータにエラーチェックコードを付加して、フラッシュメモリ12の書き込み及び読み出しの単位であるセクター内の冗長領域に記憶する。ホスト1から読み出し命令を受けたときは、エラー訂正回路15はフラッシュメモリ12から読み出したユーザデータをエラーチェックコードによりチェックし、bitエラーが検出されると、該bitエラーを訂正してホスト1に送出する。エラー訂正回路15は、エラー訂正可能なbit数(能力値という)が設定されており、この能力値を超えるともはやエラー訂正が不可能となる。そこで本発明では、安全を図るため、この能力値よりも小さい値を閾値(「badブロック閾値」という)として設定し、該閾値以上のbitエラーのあったブロックを不良ブロックと看做して、以下に説明するbadブロック処理を実行する。
まず、ホスト1からのデータ読み出しコマンドに対応して、bitエラーのあったデータはエラー訂正回路15により訂正してからRAM13を経由してホスト1に送出する。そしてbitエラーのあったブロックの全データをエラー訂正しながらRAM13に一時格納する。そして格納されたエラー訂正済のデータを予備ブロックにコピーし、ブロック管理テーブル14の一つである論理/物理ブロック管理テーブルを更新する。RAM13への格納及び予備ブロックへのコピーは、1ブロック分を一度に実行してもよいし、ページ単位で実行してもよい。これにより、予備ブロックであるコピー先のブロックをユーザデータ領域のブロックとし、不良ブロックをアドレスの対応付けのエントリーから外してホスト1からアクセス不可能にする。コントローラ11には、不図示のCPU並びに該CPUに実行させるためのプログラム(ファームウエア)が具備されており、エラー訂正回路15その他の処理を統括的に制御する。
(メモリの管理方法)
以下、本発明のメモリの管理方法例を説明する。以下の例では、予備ブロック数を100ブロック、予備ブロック残数の閾値を50ブロックとし、エラー訂正回路15の能力値を6bit、不良ブロックと看做すbitエラー数の最小値(badブロック閾値)を4ビットとする。予備ブロック残数が閾値50以下となったとき、LEDが点灯する。以下、図7及び図8を用いて、ブロックの管理方法について説明する。尚、以下の説明は、ホスト1がデバイスから専らデータの読み出しを行う場合の例である。
以下、本発明のメモリの管理方法例を説明する。以下の例では、予備ブロック数を100ブロック、予備ブロック残数の閾値を50ブロックとし、エラー訂正回路15の能力値を6bit、不良ブロックと看做すbitエラー数の最小値(badブロック閾値)を4ビットとする。予備ブロック残数が閾値50以下となったとき、LEDが点灯する。以下、図7及び図8を用いて、ブロックの管理方法について説明する。尚、以下の説明は、ホスト1がデバイスから専らデータの読み出しを行う場合の例である。
電源がONされシステムが駆動すると(ST1)、ブロック管理手段16は、該手段に設けられたカウンター回路に記憶された予備ブロックの残数と閾値とを比較判定する(ST2)。その結果、予備ブロックの残数が閾値(50ブロック)以下である場合、コントローラ11は表示手段であるLED17を点灯する(ST3)。
次にホスト1からデータ読み出しコマンドがないか判断し(ST4)、YESであれば、フラッシュメモリ12の指定されたアドレスからデータを読み出してエラー訂正回路15によってエラーチェックを行い(ST5)、エラーがあるか判断する(ST6)。エラーがない場合は、フラッシュメモリ12に記憶されているユーザデータをそのままホスト1へ送出し(ST10)、読み出しを完了する。
ST6において、エラーがあると判断されると、次にbitエラー数が6以下であるか判断する(ST7)。6を超える場合はエラー訂正回路15のエラー訂正能力を超えるため、ホスト1へエラーを返す(ST8)。6以下の場合は、エラー訂正回路15によりエラー訂正を行なって(ST9)データをホスト1へ送出する(ST11)。デバイス使用開始直後は、不良ブロックが発生する確率が低く、予備ブロックを殆ど使用しないため、予備ブロック残数は100に近い値を示し、その後デバイスの使用回数が増加してくると、不良ブロックの代替が行われて予備ブロックが少なくなり、予備ブロック残数は50に近づく。デバイス使用開始から時間が経過してくると、不良ブロックが発生する確率が高くなり、予備ブロック残数は50以下となり、更にデバイスを使用し続けると0となる。よって、予備ブロック残数が閾値に至っているか否か判断し(ST12)、閾値に至っていない場合(YES)は、さらにbitエラー数が4未満であるか判断し(ST13)、NO(bitエラー数が、4、5又は6)の場合は、badブロック処理を行なう(ST14)。ST14において、ブロック管理手段16のカウンター回路は、badブロック処理を1回行うごとに、予備ブロック残数を一つデクリメントする。YES、即ちbitエラー数が1乃至3の場合は何もしないで読み出しを完了する。
ST12で予備ブロック残数が閾値に至っている場合(NO)は、まずLED点灯済みか判断し(ST15)、NOであれば、LEDを点灯し(ST16)フラッシュメモリデバイス2の交換時期が近いことを管理者に知らせる。そしてエラーのあったブロックのリフレッシュを行い(ST17)、読み出しを完了する。LED点灯済の場合は、ST17に進む。即ち、予備ブロック残数が閾値に至った以降は、bitエラー数が1以上6以下のすべてのブロックをリフレッシュする。以上の処理をマップ状に表したものが図6である。
以下、リフレッシュの具体的やり方について説明するが、その前に図3乃至図5について説明する。図3、図4及び図5は、リフレッシュ前後のメモリの状態を表したものである。図3、図4及び図5は、それぞれリフレッシュの第1、第2 及び第3の例である。図3に示すメモリセルアレイ23、図4に示すメモリセルアレイ25、図5に示すメモリアレイセル27はリフレッシュ前の物理ブロックの状態を表す。図3に示すメモリセルアレイ24、図4に示すメモリセルアレイ26、図5におけるメモリアレイセル28はリフレッシュ後の物理ブロックの状態を表す。尚、いうまでもないが、メモリセルアレイ23乃至28は便宜上区別して表しているが、実質同一のものである。
(リフレッシュの方法例1)
図8のST17におけるリフレッシュのやり方の第1の例について、図3を用いて説明する。今、メモリセルアレイ23に示すBlock1(error)32でbitエラーが発生したとする。ホスト1にデータ転送後、Block1(error)32の全データをエラー訂正回路15によりbitエラーを訂正してから、一旦、RAM13に格納し、その後、メモリセルアレイ23に示す空きブロックであるBlock8191(empty)33にコピーする。その後、Block1(error)32はその全データを消去し、空きブロック(empty)として空きブロック管理テーブル14を更新する。これと同時に、Block8191をメモリセルアレイ24に示すBlock8191(valid)36の状態にして、ユーザデータ領域中の有効ブロックとし、論理/物理ブロック管理テーブルを更新する。尚、ホスト1に対しては、前記RAM13に一旦保存しておいたエラー訂正済みのデータを送出すればよい。ホスト1へのデータの送出は、リフレッシュの前でも後でもよい。同時に行なってもよい。以下の方法例においても同様であることは言うまでもない。
図8のST17におけるリフレッシュのやり方の第1の例について、図3を用いて説明する。今、メモリセルアレイ23に示すBlock1(error)32でbitエラーが発生したとする。ホスト1にデータ転送後、Block1(error)32の全データをエラー訂正回路15によりbitエラーを訂正してから、一旦、RAM13に格納し、その後、メモリセルアレイ23に示す空きブロックであるBlock8191(empty)33にコピーする。その後、Block1(error)32はその全データを消去し、空きブロック(empty)として空きブロック管理テーブル14を更新する。これと同時に、Block8191をメモリセルアレイ24に示すBlock8191(valid)36の状態にして、ユーザデータ領域中の有効ブロックとし、論理/物理ブロック管理テーブルを更新する。尚、ホスト1に対しては、前記RAM13に一旦保存しておいたエラー訂正済みのデータを送出すればよい。ホスト1へのデータの送出は、リフレッシュの前でも後でもよい。同時に行なってもよい。以下の方法例においても同様であることは言うまでもない。
(リフレッシュの方法例2)
次に、リフレッシュのやり方の第2例について、図4を用いて説明する。今、メモリセルアレイ25に示すBlock1(error)42でbitエラーが発生したとする。ホスト1にデータ転送後、Block1(error)42の全データをエラー訂正回路15によりbitエラーを訂正してから、一旦、RAM13に格納し、Block1(error)42の全データを消去する。そして、元のBlock1(error)42に書き戻す。この例では、データを元のブロックに書き戻しているにすぎないため、ブロック管理テーブル14の更新を行う必要はない。
次に、リフレッシュのやり方の第2例について、図4を用いて説明する。今、メモリセルアレイ25に示すBlock1(error)42でbitエラーが発生したとする。ホスト1にデータ転送後、Block1(error)42の全データをエラー訂正回路15によりbitエラーを訂正してから、一旦、RAM13に格納し、Block1(error)42の全データを消去する。そして、元のBlock1(error)42に書き戻す。この例では、データを元のブロックに書き戻しているにすぎないため、ブロック管理テーブル14の更新を行う必要はない。
(リフレッシュの方法例3)
リフレッシュのやり方の第3の例について、図5を用いて説明する。今、メモリセルアレイ27に示すBlock1(error)52でbitエラーが発生したとする。ホスト1にデータ転送後、Block1(error)52の全データをエラー訂正回路15によりbitエラーを訂正してから、一旦、RAM13に格納し、その後、メモリセルアレイ27に示す予備ブロックであるBlock8192(reserve)54にコピーする。これによりBlock8192はメモリセルアレイ28に示すように、有効ブロック56となり、論理/物理管理テーブルが更新される。また、Block1(error)52の全データは消去する。これによりBlock1はメモリセルアレイ28に示すように、予備ブロック(reserve)55となる。変更後の状態は予備ブロック管理テーブルに記録される。
リフレッシュのやり方の第3の例について、図5を用いて説明する。今、メモリセルアレイ27に示すBlock1(error)52でbitエラーが発生したとする。ホスト1にデータ転送後、Block1(error)52の全データをエラー訂正回路15によりbitエラーを訂正してから、一旦、RAM13に格納し、その後、メモリセルアレイ27に示す予備ブロックであるBlock8192(reserve)54にコピーする。これによりBlock8192はメモリセルアレイ28に示すように、有効ブロック56となり、論理/物理管理テーブルが更新される。また、Block1(error)52の全データは消去する。これによりBlock1はメモリセルアレイ28に示すように、予備ブロック(reserve)55となる。変更後の状態は予備ブロック管理テーブルに記録される。
上記LED表示において、予備ブロック残数閾値を複数設け、各段階で異なる態様で表示するようにしてもよい(例えば、注意、警告、緊急の3段階を定義する)。また、フラッシュメモリ12の交換時期が近いことをLED表示によって管理者に通知する他、フラッシュメモリデバイス2のコントローラ11がその旨をホスト1に通知するのでもよい。このようにすれば、所謂S・M・A・R・T方式により、種々の態様でシステム管理をより容易に行うことができる。また上記実施例の他、予備ブロック残数が閾値に至った後に、bitエラー数が4、5のブロックをbadブロック処理せずに、リフレッシュして使いまわしてもよい。このようにすれば、さらにフラッシュメモリ12の延命を図ることができる。
(発明の効果)
以上述べたように、本発明によれば、例えば専ら若しくは頻繁にデータの読み出しが実行されるようなシステムにおいて、予備ブロックの残数が閾値に至った後にbitエラーが検出された場合に、該エラーの生起されたブロックをすべてリフレッシュすることにより、事後発生するbitエラー数が減少する。即ち、予備ブロックの減少速度が遅くなることにより、フラッシュメモリの寿命延命を図ることができる。特にリフレッシュ(他のブロックへのデータの書き写し)を、エラー訂正を伴って実行すると、システムの信頼性を一層高めることができる。また、本発明によれば、予備ブロックの残数状態を管理者が知った後の、新品との交換時間を延ばすことができるため、システムのより安全な運用を図ることができる。
以上述べたように、本発明によれば、例えば専ら若しくは頻繁にデータの読み出しが実行されるようなシステムにおいて、予備ブロックの残数が閾値に至った後にbitエラーが検出された場合に、該エラーの生起されたブロックをすべてリフレッシュすることにより、事後発生するbitエラー数が減少する。即ち、予備ブロックの減少速度が遅くなることにより、フラッシュメモリの寿命延命を図ることができる。特にリフレッシュ(他のブロックへのデータの書き写し)を、エラー訂正を伴って実行すると、システムの信頼性を一層高めることができる。また、本発明によれば、予備ブロックの残数状態を管理者が知った後の、新品との交換時間を延ばすことができるため、システムのより安全な運用を図ることができる。
1 ホスト
2 フラッシュメモリデバイス
11 コントローラ
12 フラッシュメモリ
13 RAM
14 ブロック管理テーブル
15 エラー訂正回路
16 ブロック管理手段
17 LED
2 フラッシュメモリデバイス
11 コントローラ
12 フラッシュメモリ
13 RAM
14 ブロック管理テーブル
15 エラー訂正回路
16 ブロック管理手段
17 LED
Claims (11)
- ユーザデータ領域の他に予備ブロックと少なくとも一つ空きブロックを有するメモリと、エラー訂正回路とブロック管理手段とブロック管理テーブルとを有するコントローラと、前記ユーザデータ領域から読み出されたデータをホストに送出する前に一旦保存するRAMとを備えたフラッシュメモリデバイスのメモリ管理方法であって、
予備ブロックの残数が前記ブロック管理手段に設定された閾値に至った後は、bitエラーを生起したデータを訂正してホストに送出するとともに、当該エラーを生起したデータを含むすべてのブロックをリフレッシュすることを特徴とするメモリの管理方法。 - リフレッシュは、エラーを生起したブロックの全データをエラー訂正して一旦RAMに格納してから空きブロック若しくは予備ブロックにコピーし、当該エラーを生起したブロックはその全データを消去してから前記空きブロック若しくは前記予備ブロックとして、ブロック管理テーブルを更新することにより実行することを特徴とする請求項1記載のメモリの管理方法。
- リフレッシュは、エラーを生起したブロックの全データをエラー訂正して一旦前記RAMに格納し、該ブロックを消去後、前記RAMから該ブロックに書き戻すことにより実行することを特徴とする請求項1記載のフラッシュメモリの管理方法。
- フラッシュメモリデバイスは表示手段をさらに有し、予備ブロックの残数が所定数に至った段階で、該表示手段を駆動することを特徴とする請求項1乃至請求項3いずれか1項記載のメモリの管理方法。
- 予備ブロックの残数が所定数に至った段階で、該状態をホストに通知することを特徴とする請求項1乃至請求項3いずれか1項記載のメモリの管理方法。
- ユーザデータ領域の他に予備ブロックと少なくとも一つ空きブロックを有するメモリと、エラー訂正回路とブロック管理手段とブロック管理テーブルとを有するコントローラと、前記ユーザデータ領域から読み出されたデータをホストに送出する前に一旦保存するRAMとを備えたフラッシュメモリデバイスであって、
前記予備ブロックの残数が前記ブロック管理手段に設定された閾値に至った後は、前記エラー訂正回路でエラー訂正されたデータをホストに送出するとともに、当該エラーを生起したずべてのブロックをリフレッシュすることを特徴とするフラッシュメモリデバイス。 - ブロック管理テーブルは、論理/物理ブロック管理テーブル、空きブロック管理テーブル、及び予備ブロック管理テーブルの3種で構成されることを特徴とする請求項6記載のフラッシュメモリデバイス。
- リフレッシュは、エラーを生起したブロックの全データをエラー訂正して一旦RAMに格納してから空きブロック若しくは予備ブロックにコピーし、当該エラーを生起したブロックはその全データを消去してから前記空きブロック若しくは前記予備ブロックとして、ブロック管理テーブルを更新することにより実行することを特徴とする請求項6記載のフラッシュメモリデバイス。
- リフレッシュは、エラーを生起したブロックの全データをエラー訂正して一旦前記RAMに格納し、該ブロックを消去後、前記RAMから該ブロックに書き戻すことにより実行することを特徴とする請求項6記載のフラッシュメモリデバイス。
- 表示手段を更に有し、コントローラは、予備ブロックの残数が所定数に至った段階で、該表示手段を駆動することを特徴とする請求項6記載のフラッシュメモリデバイス。
- コントローラは、予備ブロックの残数が所定数に至った段階で、該状態をホストに通知することを特徴とする請求項6記載のフラッシュメモリデバイス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008256500A JP2010086404A (ja) | 2008-10-01 | 2008-10-01 | メモリの管理方法及びフラッシュメモリデバイス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008256500A JP2010086404A (ja) | 2008-10-01 | 2008-10-01 | メモリの管理方法及びフラッシュメモリデバイス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010086404A true JP2010086404A (ja) | 2010-04-15 |
Family
ID=42250274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008256500A Pending JP2010086404A (ja) | 2008-10-01 | 2008-10-01 | メモリの管理方法及びフラッシュメモリデバイス |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010086404A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9026892B2 (en) | 2012-04-13 | 2015-05-05 | Hitachi, Ltd. | Memory management method, storage device, and computer with the same |
US9804921B2 (en) | 2014-12-18 | 2017-10-31 | Panasonic Intellectual Property Management Co., Ltd. | Nonvolatile memory apparatus and control method of nonvolatile memory apparatus |
JP2021508140A (ja) * | 2017-12-29 | 2021-02-25 | マイクロン テクノロジー,インク. | 訂正不可能なecc |
-
2008
- 2008-10-01 JP JP2008256500A patent/JP2010086404A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9026892B2 (en) | 2012-04-13 | 2015-05-05 | Hitachi, Ltd. | Memory management method, storage device, and computer with the same |
US9804921B2 (en) | 2014-12-18 | 2017-10-31 | Panasonic Intellectual Property Management Co., Ltd. | Nonvolatile memory apparatus and control method of nonvolatile memory apparatus |
JP2021508140A (ja) * | 2017-12-29 | 2021-02-25 | マイクロン テクノロジー,インク. | 訂正不可能なecc |
US11694760B2 (en) | 2017-12-29 | 2023-07-04 | Micron Technology, Inc. | Uncorrectable ECC |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11914481B2 (en) | Hybrid memory system with configurable error thresholds and failure analysis capability | |
US8015371B2 (en) | Storage apparatus and method of managing data storage area | |
US8156393B2 (en) | Memory system | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
US8904261B2 (en) | Data management in solid state storage devices | |
JP5990430B2 (ja) | Ssd(ソリッドステートドライブ)装置 | |
TWI501252B (zh) | 用於控制保留區的固態儲存系統及其控制方法 | |
US9424131B2 (en) | Spatially decoupled redundancy schemes for a solid state drive (SSD) | |
US20160011937A1 (en) | Semiconductor memory device, memory controller, and control method of memory controller | |
US10437490B2 (en) | Reading of start-up information from different memory regions of a memory system | |
JP5306745B2 (ja) | フラッシュメモリの管理方法及びフラッシュメモリデバイス | |
JP2012128645A (ja) | メモリシステム | |
JP2010086404A (ja) | メモリの管理方法及びフラッシュメモリデバイス | |
JP2010086402A (ja) | メモリの管理方法及びフラッシュメモリデバイス | |
US8583968B2 (en) | Data storage apparatus and method for writing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20110810 |