JPH0877074A - フラッシュメモリを用いた記憶装置システム - Google Patents
フラッシュメモリを用いた記憶装置システムInfo
- Publication number
- JPH0877074A JPH0877074A JP6215586A JP21558694A JPH0877074A JP H0877074 A JPH0877074 A JP H0877074A JP 6215586 A JP6215586 A JP 6215586A JP 21558694 A JP21558694 A JP 21558694A JP H0877074 A JPH0877074 A JP H0877074A
- Authority
- JP
- Japan
- Prior art keywords
- physical block
- erase count
- flash memory
- area
- data
- 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)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】論理アドレスと物理アドレスのマッピングを行
なうフラッシュメモリを用いた記憶装置において、マッ
ピングテーブルが失われたときに、高速にマッピングテ
ーブルを回復できるようにする。 【構成】全ての物理ブロック1110内にその物理ブロ
ックの管理に必要な物理ブロック管理情報1150を保
持しておく。何らかの原因によりマッピングテーブルが
破壊されたときには、全ての物理ブロック1110内に
保持されている物理ブロック管理情報1590を読み出
し、その情報に基づいてマッピングテーブルの回復を行
う。
なうフラッシュメモリを用いた記憶装置において、マッ
ピングテーブルが失われたときに、高速にマッピングテ
ーブルを回復できるようにする。 【構成】全ての物理ブロック1110内にその物理ブロ
ックの管理に必要な物理ブロック管理情報1150を保
持しておく。何らかの原因によりマッピングテーブルが
破壊されたときには、全ての物理ブロック1110内に
保持されている物理ブロック管理情報1590を読み出
し、その情報に基づいてマッピングテーブルの回復を行
う。
Description
【0001】
【産業上の利用分野】本発明は、情報処理システムなど
における記憶装置システムに係り、特に、メモリ素子と
してフラッシュメモリを用いた記憶装置に関する。
における記憶装置システムに係り、特に、メモリ素子と
してフラッシュメモリを用いた記憶装置に関する。
【0002】
【従来の技術】フラッシュメモリはROMのように不揮
発性でありながら、読み出しのみではなく、RAMのよ
うにデータの書き込みも可能な半導体メモリである。し
かしフラッシュメモリにはSRAMやDRAMにはな
い、以下のような特徴がある。
発性でありながら、読み出しのみではなく、RAMのよ
うにデータの書き込みも可能な半導体メモリである。し
かしフラッシュメモリにはSRAMやDRAMにはな
い、以下のような特徴がある。
【0003】(1)データの消去単位がビットやバイト
単位ではなく、セクタあるいはチップ単位である。
単位ではなく、セクタあるいはチップ単位である。
【0004】(2)消去回数の制限がある。
【0005】(3)SRAMやDRAMに比べて、消去
及び書き込みに時間かかる(数ミリ秒程度)。
及び書き込みに時間かかる(数ミリ秒程度)。
【0006】特に、消去回数に制限があるため、例え
ば、セクタ単位にデータの消去が可能なフラッシュメモ
リを用いた記憶装置では、ある特定の部分に対するデー
タの書き込みが集中して発生すると、その部分の消去回
数が他の部分よりも早く制限に達してしまうといったこ
とが起こり得る。このような問題に対処するために、例
えば、特開平5−241741号公報、あるいは、特開
平5−27924号公報には、ホストコンピューターの
指定する論理アドレスと記憶装置内の物理アドレスをマ
ッピングにより対応づけてアドレス指定し、特定の論理
アドレスへのデータ書き込みが集中的に発生しても、特
定の物理ブロックにデータの書き込みが集中しないよう
に、データの書き込み、消去の行われるブロックを分散
化するマッピング制御方法が開示されている。
ば、セクタ単位にデータの消去が可能なフラッシュメモ
リを用いた記憶装置では、ある特定の部分に対するデー
タの書き込みが集中して発生すると、その部分の消去回
数が他の部分よりも早く制限に達してしまうといったこ
とが起こり得る。このような問題に対処するために、例
えば、特開平5−241741号公報、あるいは、特開
平5−27924号公報には、ホストコンピューターの
指定する論理アドレスと記憶装置内の物理アドレスをマ
ッピングにより対応づけてアドレス指定し、特定の論理
アドレスへのデータ書き込みが集中的に発生しても、特
定の物理ブロックにデータの書き込みが集中しないよう
に、データの書き込み、消去の行われるブロックを分散
化するマッピング制御方法が開示されている。
【0007】例えば、特開平5−241741号公報で
は、マッピングテーブルをフラッシュメモリ上に保持し
ている。そして、そこに開示されるひとつの態様では、
フラッシュメモリの一部分が書き換えられたときにフラ
ッシュメモリ上のマッピングテーブルを更新している。
また、別の態様では、ホストコンピューターのRAM上
にマッピングテーブルを置くことが開示されている。
は、マッピングテーブルをフラッシュメモリ上に保持し
ている。そして、そこに開示されるひとつの態様では、
フラッシュメモリの一部分が書き換えられたときにフラ
ッシュメモリ上のマッピングテーブルを更新している。
また、別の態様では、ホストコンピューターのRAM上
にマッピングテーブルを置くことが開示されている。
【0008】また、特開平5−27924号公報におい
ては、フラッシュメモリの消去単位である物理ブロック
毎に、その物理ブロック自身の消去回数を保持してい
る。物理ブロックを消去するときには、物理ブロック内
に保持されている消去回数も消去されてしまうため、消
去前にいったん消去回数を読みだして他の物理ブロック
に保持しておき、その値に1を加えたものを、消去後に
元の物理ブロックに書き戻すことが開示されている。
ては、フラッシュメモリの消去単位である物理ブロック
毎に、その物理ブロック自身の消去回数を保持してい
る。物理ブロックを消去するときには、物理ブロック内
に保持されている消去回数も消去されてしまうため、消
去前にいったん消去回数を読みだして他の物理ブロック
に保持しておき、その値に1を加えたものを、消去後に
元の物理ブロックに書き戻すことが開示されている。
【0009】
【発明が解決しようとする課題】上述した従来技術で
は、何らかの原因によりマッピングテーブルが破壊され
た場合についての考慮がなされていない。このため、マ
ッピングテーブルが破壊されたような場合には、論理ブ
ロックと物理ブロックの対応付けを行うことができなく
なり、データをアクセスすることができなくなってしま
う。従来の磁気ディスク装置において、このような問題
を解決するための方法が、例えば、特開平3−5814
5号公報に開示されている。すなわち、特開平3−58
145号公報には、磁気ディスク装置のような直接アク
セス記憶装置(DASD)において、マッピングテーブ
ルが何らかの原因により破壊されてしまったときに、デ
ータに付加した管理情報からマッピングテーブルを再構
成する方法が開示されている。具体的には、まず、デー
タ書き込み時に、そのデータの末尾に外部記憶アドレス
等の、マッピングテーブルが再構成できるような情報
(SUFFIX)を付加する。そして、マッピングテー
ブルに不都合が生じたとき、データに付加したSUFF
IXを全て獲得し、マッピングテーブルの再構成を行
う。しかし、特開平3−58145号公報には、データ
に付加されたSUFFIXを、実際にディスク上でどの
ように配置させるかについての、具体的な開示はされて
いない。
は、何らかの原因によりマッピングテーブルが破壊され
た場合についての考慮がなされていない。このため、マ
ッピングテーブルが破壊されたような場合には、論理ブ
ロックと物理ブロックの対応付けを行うことができなく
なり、データをアクセスすることができなくなってしま
う。従来の磁気ディスク装置において、このような問題
を解決するための方法が、例えば、特開平3−5814
5号公報に開示されている。すなわち、特開平3−58
145号公報には、磁気ディスク装置のような直接アク
セス記憶装置(DASD)において、マッピングテーブ
ルが何らかの原因により破壊されてしまったときに、デ
ータに付加した管理情報からマッピングテーブルを再構
成する方法が開示されている。具体的には、まず、デー
タ書き込み時に、そのデータの末尾に外部記憶アドレス
等の、マッピングテーブルが再構成できるような情報
(SUFFIX)を付加する。そして、マッピングテー
ブルに不都合が生じたとき、データに付加したSUFF
IXを全て獲得し、マッピングテーブルの再構成を行
う。しかし、特開平3−58145号公報には、データ
に付加されたSUFFIXを、実際にディスク上でどの
ように配置させるかについての、具体的な開示はされて
いない。
【0010】また、特開平5−27924号公報に開示
される方法によりデータ消去時の消去回数を管理する場
合には、一時的に消去回数を他の物理ブロックに書き込
むために余計な時間を必要とし、物理ブロックの消去に
要する時間が長引いてしまうという問題があった。この
ような問題を解決するために、物理ブロックの消去時
に、RAMやCPUのレジスタに消去回数を保持するよ
うにすることが考えられる。しかし、この場合には、物
理ブロックの消去中に電源が遮断する等の事態が発生す
ると、消去回数が消失してしまうといった問題が生じる
ことになる。
される方法によりデータ消去時の消去回数を管理する場
合には、一時的に消去回数を他の物理ブロックに書き込
むために余計な時間を必要とし、物理ブロックの消去に
要する時間が長引いてしまうという問題があった。この
ような問題を解決するために、物理ブロックの消去時
に、RAMやCPUのレジスタに消去回数を保持するよ
うにすることが考えられる。しかし、この場合には、物
理ブロックの消去中に電源が遮断する等の事態が発生す
ると、消去回数が消失してしまうといった問題が生じる
ことになる。
【0011】本発明の目的は、マッピングテーブルが何
らかの原因により破壊された場合に、より高速にマッピ
ングテーブルを再構成することのできるフラッシュメモ
リを用いた記憶装置を提供することにある。
らかの原因により破壊された場合に、より高速にマッピ
ングテーブルを再構成することのできるフラッシュメモ
リを用いた記憶装置を提供することにある。
【0012】本発明の他の目的は、物理ブロックの消去
処理中にその物理ブロックの消去回数を失った場合に、
その消去回数を適当な値に回復することができるフラッ
シュメモリを用いた記憶装置を提供することにある。
処理中にその物理ブロックの消去回数を失った場合に、
その消去回数を適当な値に回復することができるフラッ
シュメモリを用いた記憶装置を提供することにある。
【0013】
【課題を解決するための手段】上記目的を達成するため
に、本発明による記憶装置システムは、所定の大きさか
らなる複数の物理ブロックで構成され、物理ブロックを
単位としてデータの消去が可能なフラッシュメモリと、
ホストコンピュータからのアクセス単位である論理ブロ
ックと、フラッシュメモリ上の物理ブロックとを対応づ
けるマッピングテーブルとを有する記憶装置システムに
おいて、フラッシュメモリ上の各物理ブロック内に、対
応する論理ブロック内のデータを格納するための第1の
領域と、マッピングテーブルの作成に必要な管理情報を
格納するための第2の領域とを備え、第2の領域に格納
される管理情報に基づいてマッピングテーブルを回復す
る手段を有する。
に、本発明による記憶装置システムは、所定の大きさか
らなる複数の物理ブロックで構成され、物理ブロックを
単位としてデータの消去が可能なフラッシュメモリと、
ホストコンピュータからのアクセス単位である論理ブロ
ックと、フラッシュメモリ上の物理ブロックとを対応づ
けるマッピングテーブルとを有する記憶装置システムに
おいて、フラッシュメモリ上の各物理ブロック内に、対
応する論理ブロック内のデータを格納するための第1の
領域と、マッピングテーブルの作成に必要な管理情報を
格納するための第2の領域とを備え、第2の領域に格納
される管理情報に基づいてマッピングテーブルを回復す
る手段を有する。
【0014】より好ましくは、マッピングテーブルの回
復手段は、マッピングテーブルの回復時に、各物理ブロ
ックからは、第2の領域に格納された管理情報のみを読
み出してマッピングテーブルの回復を行う。このため、
より具体的には、各物理ブロック内に、第2の領域内の
管理情報に対するECCが設けられる。
復手段は、マッピングテーブルの回復時に、各物理ブロ
ックからは、第2の領域に格納された管理情報のみを読
み出してマッピングテーブルの回復を行う。このため、
より具体的には、各物理ブロック内に、第2の領域内の
管理情報に対するECCが設けられる。
【0015】また、上記他の目的を達成するために、本
発明による記憶装置システムは、所定の大きさからなる
複数の物理ブロックで構成され、物理ブロックを単位と
してデータの消去が可能なフラッシュメモリを用い、物
理ブロックのそれぞれに、その物理ブロックの消去回数
が記録される記憶装置システムにおいて、フラッシュメ
モリ内に、各物理ブロックの消去回数を一括して保持す
る消去回数格納領域を備え、所定のタイミングで消去回
数格納領域に格納されている各物理ブロックの消去回数
を更新する手段とを有する。
発明による記憶装置システムは、所定の大きさからなる
複数の物理ブロックで構成され、物理ブロックを単位と
してデータの消去が可能なフラッシュメモリを用い、物
理ブロックのそれぞれに、その物理ブロックの消去回数
が記録される記憶装置システムにおいて、フラッシュメ
モリ内に、各物理ブロックの消去回数を一括して保持す
る消去回数格納領域を備え、所定のタイミングで消去回
数格納領域に格納されている各物理ブロックの消去回数
を更新する手段とを有する。
【0016】また、上記他の目的を達成するための他の
態様において、本発明による記憶装置システムは、所定
の大きさからなる複数の物理ブロックで構成され、該物
理ブロックを単位としてデータの消去が可能なフラッシ
ュメモリを用い、物理ブロックのそれぞれに、その物理
ブロックの消去回数が記録され、各物理ブロックの消去
回数を均等化するように前記フラッシュメモリへのデー
タの記憶を制御する記憶装置システムにおいて、いずれ
かの物理ブロックにおいて、その物理ブロック内に記録
された消去回数が失われたことに応じて、他の物理ブロ
ックの消去回数に基づいて前記消去回数が失われた物理
ブロックの消去回数を決定する手段を有する。
態様において、本発明による記憶装置システムは、所定
の大きさからなる複数の物理ブロックで構成され、該物
理ブロックを単位としてデータの消去が可能なフラッシ
ュメモリを用い、物理ブロックのそれぞれに、その物理
ブロックの消去回数が記録され、各物理ブロックの消去
回数を均等化するように前記フラッシュメモリへのデー
タの記憶を制御する記憶装置システムにおいて、いずれ
かの物理ブロックにおいて、その物理ブロック内に記録
された消去回数が失われたことに応じて、他の物理ブロ
ックの消去回数に基づいて前記消去回数が失われた物理
ブロックの消去回数を決定する手段を有する。
【0017】
【作用】各物理ブロック内に管理情報を設けることで、
マッピングテーブルが破壊されたような場合に、マッピ
ングテーブルの回復を行うことが可能になる。また、デ
ータと管理情報を同一の物理ブロックに格納すること
で、管理情報のみで一つの物理ブロックを占有すること
が無くなり、データの格納効率を良くすることができ
る。
マッピングテーブルが破壊されたような場合に、マッピ
ングテーブルの回復を行うことが可能になる。また、デ
ータと管理情報を同一の物理ブロックに格納すること
で、管理情報のみで一つの物理ブロックを占有すること
が無くなり、データの格納効率を良くすることができ
る。
【0018】さらに、マッピングテーブルの回復時に
は、各ブロック内のデータ領域の情報は用いる必要はな
い。従って、各物理ブロック内の管理情報だけを読み出
して、マッピングテーブルの回復を行うことで、高速な
マッピングテーブルの回復処理を実現することができ
る。また、管理情報のみに対するECCを設けること
で、管理情報のみを読み出した場合にも、読み出した管
理情報の読み出しエラーの検出、修正を行うことが可能
になる。
は、各ブロック内のデータ領域の情報は用いる必要はな
い。従って、各物理ブロック内の管理情報だけを読み出
して、マッピングテーブルの回復を行うことで、高速な
マッピングテーブルの回復処理を実現することができ
る。また、管理情報のみに対するECCを設けること
で、管理情報のみを読み出した場合にも、読み出した管
理情報の読み出しエラーの検出、修正を行うことが可能
になる。
【0019】また、フラッシュメモリ上に、各物理ブロ
ックの消去回数をまとめて格納する領域を設けて、この
領域に格納されている消去回数を所定のタイミングでア
ップデートすることにより、物理ブロック内に保持され
ている消去回数を失った物理ブロックがある場合に、消
去回数をまとめて格納した領域より、その物理ブロック
の消去回数を読み出すことで、その物理ブロックが消去
回数を失った時点の消去回数に近い消去回数値を得るこ
とができる。
ックの消去回数をまとめて格納する領域を設けて、この
領域に格納されている消去回数を所定のタイミングでア
ップデートすることにより、物理ブロック内に保持され
ている消去回数を失った物理ブロックがある場合に、消
去回数をまとめて格納した領域より、その物理ブロック
の消去回数を読み出すことで、その物理ブロックが消去
回数を失った時点の消去回数に近い消去回数値を得るこ
とができる。
【0020】あるいはまた、物理ブロックの消去回数が
あまりばらつかないようにデータの記憶制御を行う記憶
装置システムにおいては、物理ブロック内に保持しいる
消去回数が失われた物理ブロックの消去回数を、他の物
理ブロックの消去回数に基づいて算出することにより、
その物理ブロックの消去回数として適当な値を得ること
ができる。
あまりばらつかないようにデータの記憶制御を行う記憶
装置システムにおいては、物理ブロック内に保持しいる
消去回数が失われた物理ブロックの消去回数を、他の物
理ブロックの消去回数に基づいて算出することにより、
その物理ブロックの消去回数として適当な値を得ること
ができる。
【0021】
【実施例】図1は、本発明を適用した計算機システムの
構成図である。
構成図である。
【0022】1000は、記憶装置システムであり、ホ
ストコンピュータ1010に接続されている。記憶装置
システム1000は、ホストコンピューター1010と
の間でデータの受け渡しを行なうホストインターフェー
ス1020、記憶装置システム1000内で各種の制御
を行うCPU1050、CPU1050により実行され
る制御プログラムを格納するROM1040、制御プロ
グラムにより利用される各種のテーブルやバッファを格
納するRAM1030、及び、データを格納するフラッ
シュメモリ1060を含んで構成される。
ストコンピュータ1010に接続されている。記憶装置
システム1000は、ホストコンピューター1010と
の間でデータの受け渡しを行なうホストインターフェー
ス1020、記憶装置システム1000内で各種の制御
を行うCPU1050、CPU1050により実行され
る制御プログラムを格納するROM1040、制御プロ
グラムにより利用される各種のテーブルやバッファを格
納するRAM1030、及び、データを格納するフラッ
シュメモリ1060を含んで構成される。
【0023】図2は本実施例の記憶装置システム100
0において、ホストコンピューター1010から見た論
理ブロック空間と、実際のフラッシュメモリ上でデータ
を格納する物理ブロック空間との対応関係を示してい
る。図において、1140は物理ブロック空間であり、
それぞれデータのアクセス単位となる複数の論理ブロッ
ク1100から構成されている。1150は、物理ブロ
ック空間であり、論理ブロック1100と1対1で対応
している物理ブロック1110、論理ブロック空間11
40に対応する論理ブロック1100が存在しない空き
物理ブロック1110、及び、テーブル格納領域113
0から構成される。物理ブロック1110と論理ブロッ
ク1100は、後述する論理ブロックテーブルにより対
応付けられる。また、テーブル格納領域1130には、
消去回数テーブル1300を2つ、論理ブロックテーブ
ル1200、空き物理ブロック管理テーブル1400を
1つづつ格納している。
0において、ホストコンピューター1010から見た論
理ブロック空間と、実際のフラッシュメモリ上でデータ
を格納する物理ブロック空間との対応関係を示してい
る。図において、1140は物理ブロック空間であり、
それぞれデータのアクセス単位となる複数の論理ブロッ
ク1100から構成されている。1150は、物理ブロ
ック空間であり、論理ブロック1100と1対1で対応
している物理ブロック1110、論理ブロック空間11
40に対応する論理ブロック1100が存在しない空き
物理ブロック1110、及び、テーブル格納領域113
0から構成される。物理ブロック1110と論理ブロッ
ク1100は、後述する論理ブロックテーブルにより対
応付けられる。また、テーブル格納領域1130には、
消去回数テーブル1300を2つ、論理ブロックテーブ
ル1200、空き物理ブロック管理テーブル1400を
1つづつ格納している。
【0024】次に、図3〜図5を用いて、記憶装置シス
テム1000におけるマッピングテーブルについて説明
する。本実施例におけるマッピングテーブルは、論理ブ
ロックテーブル、消去回数テーブル、及び空き物理ブロ
ック管理テーブルから構成される。
テム1000におけるマッピングテーブルについて説明
する。本実施例におけるマッピングテーブルは、論理ブ
ロックテーブル、消去回数テーブル、及び空き物理ブロ
ック管理テーブルから構成される。
【0025】図3は、論理ブロックテーブルの論理的な
構成図である。論理ブロックテーブル1200は、論理
ブロック空間1140を構成する論理ブロック1100
と同数のエントリ1210を有している。エントリ12
10は、論理ブロック1100と1体1に対応してお
り、各エントリ1210には、対応する論理ブロック1
100のデータを格納している物理ブロック1120の
物理ブロック番号が格納される。論理ブロック1100
と物理ブロック1110の対応付けはこの論理ブロック
テーブル1200を参照して行なわれる。
構成図である。論理ブロックテーブル1200は、論理
ブロック空間1140を構成する論理ブロック1100
と同数のエントリ1210を有している。エントリ12
10は、論理ブロック1100と1体1に対応してお
り、各エントリ1210には、対応する論理ブロック1
100のデータを格納している物理ブロック1120の
物理ブロック番号が格納される。論理ブロック1100
と物理ブロック1110の対応付けはこの論理ブロック
テーブル1200を参照して行なわれる。
【0026】図4は、消去回数テーブルの論理的な構成
図である。消去回数テーブル1300は、物理ブロック
空間1150を構成する物理ブロック1110、及び空
き物理ブロック1120の総数に等しいエントリ131
0を有している。各エントリ1310には、物理ブロッ
ク1110、空き物理ブロック1120と1対1に対応
しており、それぞれ対応する物理ブロック1110、あ
るいは、空き物理ブロック1120の消去回数が格納さ
れる。
図である。消去回数テーブル1300は、物理ブロック
空間1150を構成する物理ブロック1110、及び空
き物理ブロック1120の総数に等しいエントリ131
0を有している。各エントリ1310には、物理ブロッ
ク1110、空き物理ブロック1120と1対1に対応
しており、それぞれ対応する物理ブロック1110、あ
るいは、空き物理ブロック1120の消去回数が格納さ
れる。
【0027】図5は、空き物理ブロック1110を管理
する空き物理ブロックテーブルの論理的な構成図であ
る。物理ブロック空間1150内の空き物理ブロック1
110は、空き物理ブロックキューと呼ばれる双方向連
結リストで管理される。空き物理ブロック管理テーブル
1400には、各空き物理ブロックを管理するエントリ
1420と、空きブロックキューの先頭となる物理ブロ
ックを管理するエントリ1420をポイントするための
エントリ1410からなる。エントリ1410には、空
きブロックキューの先頭となる物理ブロックを管理する
エントリ1420へのポインタがセットされる。また、
各空き物理ブロックを管理するエントリ1420には、
そのエントリが管理する物理ブロックを識別する物理ブ
ロック番号1430、空き物理ブロックキュー内で、そ
のエントリが管理する物理ブロックの前に位置する物理
ブロックを管理するエントリ1420へのポインタであ
る前方ポインタ1440、空き物理ブロックキュー内
で、そのエントリが管理する物理ブロックの後ろに位置
する物理ブロックを管理するエントリ1420へのポイ
ンタである後方ポインタ1450がセットされる。
する空き物理ブロックテーブルの論理的な構成図であ
る。物理ブロック空間1150内の空き物理ブロック1
110は、空き物理ブロックキューと呼ばれる双方向連
結リストで管理される。空き物理ブロック管理テーブル
1400には、各空き物理ブロックを管理するエントリ
1420と、空きブロックキューの先頭となる物理ブロ
ックを管理するエントリ1420をポイントするための
エントリ1410からなる。エントリ1410には、空
きブロックキューの先頭となる物理ブロックを管理する
エントリ1420へのポインタがセットされる。また、
各空き物理ブロックを管理するエントリ1420には、
そのエントリが管理する物理ブロックを識別する物理ブ
ロック番号1430、空き物理ブロックキュー内で、そ
のエントリが管理する物理ブロックの前に位置する物理
ブロックを管理するエントリ1420へのポインタであ
る前方ポインタ1440、空き物理ブロックキュー内
で、そのエントリが管理する物理ブロックの後ろに位置
する物理ブロックを管理するエントリ1420へのポイ
ンタである後方ポインタ1450がセットされる。
【0028】図6は、フラッシュメモリ1060上の物
理ブロック1110の論理的な構造を示している。物理
ブロック1110は、ホストコンピューター1010が
アクセスするデータを格納するデータ格納領域151
0、データ格納領域1510のデータ保証を行なうため
のECCを格納するデータECC領域1520、この物
理ブロック1110が消去されているかどうかを示すフ
ラグを格納する消去フラグ領域1530、この物理ブロ
ック1110に対応する論理ブロックを特定する情報
(論理ブロック番号)を格納する論理ブロック番号領域
1540、消去回数を保持しておくための消去回数領域
1550、この物理ブロック1110に格納されている
データのライト通番を格納するライト通番領域156
0、及び、後述する管理情報ECCを格納する管理情報
ECC領域1570からなる。これら各領域に格納され
る情報のうち、消去フラグ、論理ブロック番号、消去回
数、ライト通番をまとめて物理ブロック管理情報159
0と呼ぶ。物理ブロック管理情報1590は、マッピン
グテーブルを再構成する際に用いられる。管理情報EC
Cは物理ブロック管理情報1590のデータ保証を行な
う。
理ブロック1110の論理的な構造を示している。物理
ブロック1110は、ホストコンピューター1010が
アクセスするデータを格納するデータ格納領域151
0、データ格納領域1510のデータ保証を行なうため
のECCを格納するデータECC領域1520、この物
理ブロック1110が消去されているかどうかを示すフ
ラグを格納する消去フラグ領域1530、この物理ブロ
ック1110に対応する論理ブロックを特定する情報
(論理ブロック番号)を格納する論理ブロック番号領域
1540、消去回数を保持しておくための消去回数領域
1550、この物理ブロック1110に格納されている
データのライト通番を格納するライト通番領域156
0、及び、後述する管理情報ECCを格納する管理情報
ECC領域1570からなる。これら各領域に格納され
る情報のうち、消去フラグ、論理ブロック番号、消去回
数、ライト通番をまとめて物理ブロック管理情報159
0と呼ぶ。物理ブロック管理情報1590は、マッピン
グテーブルを再構成する際に用いられる。管理情報EC
Cは物理ブロック管理情報1590のデータ保証を行な
う。
【0029】本実施例において、通常のデータリード時
には、データECC領域1520に格納されているデー
タECCを用いてデータ誤りの発見と修正が行なわれ
る。また、マッピングテーブルの再構成の際に、物理ブ
ロック管理情報1590のみが読み出される時には、管
理情報ECCを用いてデータ誤りの発見と修正が行なわ
れる。
には、データECC領域1520に格納されているデー
タECCを用いてデータ誤りの発見と修正が行なわれ
る。また、マッピングテーブルの再構成の際に、物理ブ
ロック管理情報1590のみが読み出される時には、管
理情報ECCを用いてデータ誤りの発見と修正が行なわ
れる。
【0030】次に、本記憶装置システム1000の立ち
上げ時(電源オン時等)に制御プログラムにより実施さ
れる立ち上げ処理について説明する。
上げ時(電源オン時等)に制御プログラムにより実施さ
れる立ち上げ処理について説明する。
【0031】図7は立ち上げ処理のフローチャートであ
る。まず、フラッシュメモリ1060上に設けられてい
るテーブル格納領域1130内の情報を読み出し、RA
M1030上に格納する(ステップ2000)。そし
て、テーブルが完全だったかどうかを判定し(ステップ
2010)、完全であれば、ステップ2030にジャン
プする。完全でなければ、ステップ2020において、
後述するテーブル再生処理を行なった後、ステップ20
30に進む。
る。まず、フラッシュメモリ1060上に設けられてい
るテーブル格納領域1130内の情報を読み出し、RA
M1030上に格納する(ステップ2000)。そし
て、テーブルが完全だったかどうかを判定し(ステップ
2010)、完全であれば、ステップ2030にジャン
プする。完全でなければ、ステップ2020において、
後述するテーブル再生処理を行なった後、ステップ20
30に進む。
【0032】ステップ2030では、フラッシュメモリ
1060上のテーブル格納領域1130に格納されてい
る核テーブルを、2つある消去回数テーブル1300の
一方を除いて全て消去する。以上で、立ち上げ処理を終
了し、以後、制御プログラムは、ステップ2000でR
AM1030に格納した情報に基づいてフラッシュメモ
リ1060に格納されているデータの記憶制御を行う。
1060上のテーブル格納領域1130に格納されてい
る核テーブルを、2つある消去回数テーブル1300の
一方を除いて全て消去する。以上で、立ち上げ処理を終
了し、以後、制御プログラムは、ステップ2000でR
AM1030に格納した情報に基づいてフラッシュメモ
リ1060に格納されているデータの記憶制御を行う。
【0033】次に、本記憶装置システム1000の終了
処理時(電源オフ時等)に行われる終了処理ついて説明
する。
処理時(電源オフ時等)に行われる終了処理ついて説明
する。
【0034】図8は終了処理のフローチャートである。
終了処理では、まず、RAM1030上にある、論理ブ
ロックテーブル1200、消去回数テーブル1300、
空き物理ブロック管理テーブル1400をフラッシュメ
モリ1060上のテーブル格納領域1130に格納する
(ステップ2100)。そして、立ち上げ時に消去せず
においた古い消去回数テーブル1300を消去して、そ
れに代えて新しいもう一つの消去回数テーブル1300
をライトする。このように、消去回数テーブル1300
を2重化して管理することで、本記憶装置システム10
00から、消去回数テーブル1300が完全に消失する
ことを防ぐことができ、最悪の場合でも全ての物理ブロ
ックについて、最新の値ではないが、大体の消去回数を
得ることができる。
終了処理では、まず、RAM1030上にある、論理ブ
ロックテーブル1200、消去回数テーブル1300、
空き物理ブロック管理テーブル1400をフラッシュメ
モリ1060上のテーブル格納領域1130に格納する
(ステップ2100)。そして、立ち上げ時に消去せず
においた古い消去回数テーブル1300を消去して、そ
れに代えて新しいもう一つの消去回数テーブル1300
をライトする。このように、消去回数テーブル1300
を2重化して管理することで、本記憶装置システム10
00から、消去回数テーブル1300が完全に消失する
ことを防ぐことができ、最悪の場合でも全ての物理ブロ
ックについて、最新の値ではないが、大体の消去回数を
得ることができる。
【0035】次に、本記憶装置システム1000におけ
るマッピングテーブルの再生処理について説明する。
るマッピングテーブルの再生処理について説明する。
【0036】障害などにより正式な終了処理を行なわな
い状態で、電源をオフにしてしまったような場合には、
RAM1030上にあるマッピングテーブル1210が
失われてしまう。このような場合に、本実施例では、各
物理ブロック1110内に保持されている物理ブロック
管理情報1590を用いてマッピングテーブル1210
を回復する。
い状態で、電源をオフにしてしまったような場合には、
RAM1030上にあるマッピングテーブル1210が
失われてしまう。このような場合に、本実施例では、各
物理ブロック1110内に保持されている物理ブロック
管理情報1590を用いてマッピングテーブル1210
を回復する。
【0037】図9は失われたマッピングテーブル121
0を回復する処理のフローチャートを示す。まず、ステ
ップ2200で、RAM1030上のマッピングテーブ
ル1210を格納する領域をクリアする。ついで、ステ
ップ2210で、物理ブロック1110ごとに、後述す
るテーブル部分再生処理を行なう。そして、ステップ2
220でテーブル部分再生処理を行なっていない物理ブ
ロック1110がまだ残っているかどうか判定し、残っ
ていればステップ2210にジャンプして、それらにつ
いてテーブル部分再生処理を実施する。ステップ222
0で、残りの物理ブロック1110がないと判定されれ
ば、ステップ2230において、全ての物理ブロック1
110の消去回数1550の平均値を算出する。そし
て、ステップ2240において、RAM1030上の消
去回数テーブルで、値−1が入っているエントリに、平
均値を代入し、テーブル再生処理を終了する。
0を回復する処理のフローチャートを示す。まず、ステ
ップ2200で、RAM1030上のマッピングテーブ
ル1210を格納する領域をクリアする。ついで、ステ
ップ2210で、物理ブロック1110ごとに、後述す
るテーブル部分再生処理を行なう。そして、ステップ2
220でテーブル部分再生処理を行なっていない物理ブ
ロック1110がまだ残っているかどうか判定し、残っ
ていればステップ2210にジャンプして、それらにつ
いてテーブル部分再生処理を実施する。ステップ222
0で、残りの物理ブロック1110がないと判定されれ
ば、ステップ2230において、全ての物理ブロック1
110の消去回数1550の平均値を算出する。そし
て、ステップ2240において、RAM1030上の消
去回数テーブルで、値−1が入っているエントリに、平
均値を代入し、テーブル再生処理を終了する。
【0038】図10はテーブル部分再生処理のフローチ
ャートである。まず処理対象の物理ブロック1110内
にある物理ブロック管理情報1590をRAM1030
上にロードする(ステップ2300)。このとき、物理
ブロック管理情報1590のロードに失敗したかどうか
を判定し(ステップ2310)、失敗していれば、ステ
ップ2400にジャンプする。フラッシュメモリ106
0からの物理ブロック管理情報1590を読み出す際
に、エラーが発生したとしても、ECCによるデータ修
正ができれば、ロード成功とみなす。ロード処理に失敗
していなければ、ステップ2320において、後述する
消去回数獲得処理により消去回数を取得する。そして、
ステップ2330において、処理対象となっている物理
ブロック1110に対応する論理ブロック1100の、
論理ブロックテーブル1200のエントリがセットされ
ているかどうかを判定する。セットされていない場合に
は、ステップ2370にジャンプする。セットされてい
れば、ステップ2340において、いま処理対象となっ
ている物理ブロック1110の物理ブロック管理情報1
590として保持されているライト通番のほうが、論理
ブロックテーブル1200のエントリにより特定される
物理ブロック内の物理ブロック管理情報1590に含ま
れるライト通番との大きさを比較する。処理対象となっ
ている物理ブロックの物理ブロック管理情報1590に
含まれるライト通番の方が、論理ブロックテーブルから
求めた物理ブロックのライト通番よりも大きくなければ
ステップ2390にジャンプする。処理対象となってい
る物理ブロックの物理ブロック管理情報1590に含ま
れるライト通番の方が大きければ、ステップ2350に
おいて、論理ブロックテーブル1200から求めた物理
ブロック1110を消去し、消去回数に1を加える(た
だし、値−1の入っているエントリには加えないものと
する。)。そして、ステップ2360において、消去し
た物理ブロック1110を空き物理ブロックキュー14
10に接続する。次に、ステップ2370において、処
理対象となっている物理ブロックの物理ブロック番号を
論理ブロックテーブル1200の対応するエントリにセ
ットしてステップ2380に進む。
ャートである。まず処理対象の物理ブロック1110内
にある物理ブロック管理情報1590をRAM1030
上にロードする(ステップ2300)。このとき、物理
ブロック管理情報1590のロードに失敗したかどうか
を判定し(ステップ2310)、失敗していれば、ステ
ップ2400にジャンプする。フラッシュメモリ106
0からの物理ブロック管理情報1590を読み出す際
に、エラーが発生したとしても、ECCによるデータ修
正ができれば、ロード成功とみなす。ロード処理に失敗
していなければ、ステップ2320において、後述する
消去回数獲得処理により消去回数を取得する。そして、
ステップ2330において、処理対象となっている物理
ブロック1110に対応する論理ブロック1100の、
論理ブロックテーブル1200のエントリがセットされ
ているかどうかを判定する。セットされていない場合に
は、ステップ2370にジャンプする。セットされてい
れば、ステップ2340において、いま処理対象となっ
ている物理ブロック1110の物理ブロック管理情報1
590として保持されているライト通番のほうが、論理
ブロックテーブル1200のエントリにより特定される
物理ブロック内の物理ブロック管理情報1590に含ま
れるライト通番との大きさを比較する。処理対象となっ
ている物理ブロックの物理ブロック管理情報1590に
含まれるライト通番の方が、論理ブロックテーブルから
求めた物理ブロックのライト通番よりも大きくなければ
ステップ2390にジャンプする。処理対象となってい
る物理ブロックの物理ブロック管理情報1590に含ま
れるライト通番の方が大きければ、ステップ2350に
おいて、論理ブロックテーブル1200から求めた物理
ブロック1110を消去し、消去回数に1を加える(た
だし、値−1の入っているエントリには加えないものと
する。)。そして、ステップ2360において、消去し
た物理ブロック1110を空き物理ブロックキュー14
10に接続する。次に、ステップ2370において、処
理対象となっている物理ブロックの物理ブロック番号を
論理ブロックテーブル1200の対応するエントリにセ
ットしてステップ2380に進む。
【0039】一方、ステップ2390では、処理対象と
なっている物理ブロック1110を消去し、消去回数に
1を加え、ステップ2380にジャンプする。
なっている物理ブロック1110を消去し、消去回数に
1を加え、ステップ2380にジャンプする。
【0040】また、ステップ2310でロード処理に失
敗したと判定された場合には、ステップ2400で、消
去フラグ1530を調べてその物理ブロック1110が
消去済みの物理ブロック1110であるかどうか判定す
る。消去済みの物理ブロック1110であれば、ステッ
プ2420にジャンプする。消去されていない物理ブロ
ック1110であれば、ステップ2410でその物理ブ
ロック1110を消去する。そして、ステップ2420
で後述する消去回数獲得処理を行なって消去回数を取得
し、ステップ2380にジャンプする。
敗したと判定された場合には、ステップ2400で、消
去フラグ1530を調べてその物理ブロック1110が
消去済みの物理ブロック1110であるかどうか判定す
る。消去済みの物理ブロック1110であれば、ステッ
プ2420にジャンプする。消去されていない物理ブロ
ック1110であれば、ステップ2410でその物理ブ
ロック1110を消去する。そして、ステップ2420
で後述する消去回数獲得処理を行なって消去回数を取得
し、ステップ2380にジャンプする。
【0041】ステップ2380では、処理対象となって
いる物理ブロック1110の消去回数を消去回数テーブ
ル1300の対応するエントリにセットし、テーブル部
分再生処理を終了する。
いる物理ブロック1110の消去回数を消去回数テーブ
ル1300の対応するエントリにセットし、テーブル部
分再生処理を終了する。
【0042】図11は、テーブル部分再生処理のステッ
プ2320、あるいは、すてっぷ2420で行われる消
去回数獲得処理のフローチャートである。消去回数獲得
処理では、まず、ステップ2500において、処理対象
となっている物理ブロック内の物理ブロック管理情報1
590に含まれる消去回数を得る。そして、ステップ2
510において、消去回数が消去直後の値ではなく、正
しい値を得られたかどうかを判定する。正しい消去回数
が取得できていれば、消去回数獲得処理を終了する。
プ2320、あるいは、すてっぷ2420で行われる消
去回数獲得処理のフローチャートである。消去回数獲得
処理では、まず、ステップ2500において、処理対象
となっている物理ブロック内の物理ブロック管理情報1
590に含まれる消去回数を得る。そして、ステップ2
510において、消去回数が消去直後の値ではなく、正
しい値を得られたかどうかを判定する。正しい消去回数
が取得できていれば、消去回数獲得処理を終了する。
【0043】リードミスなども含めて消去回数について
正しい値が得られなかった場合には、ステップ2520
において、フラッシュメモリ上のテーブル格納領域11
30内の消去回数テーブル1300より、処理対象とな
っている物理ブロック1110の消去回数を得る。そし
て、ステップ2530において正しい値が得られたかど
うかを判定する。ここで、正しい消去回数が得られれば
消去回数獲得処理を終了する。
正しい値が得られなかった場合には、ステップ2520
において、フラッシュメモリ上のテーブル格納領域11
30内の消去回数テーブル1300より、処理対象とな
っている物理ブロック1110の消去回数を得る。そし
て、ステップ2530において正しい値が得られたかど
うかを判定する。ここで、正しい消去回数が得られれば
消去回数獲得処理を終了する。
【0044】ステップ2520でも正しい値が得られな
かった場合には、ステップ2540において、消去回数
をあり得ない値である−1として、消去回数獲得処理を
終了する。
かった場合には、ステップ2540において、消去回数
をあり得ない値である−1として、消去回数獲得処理を
終了する。
【0045】以上の実施例では、各物理ブロック内で、
データ格納領域と物理ブロック管理情報を格納した領域
とで、データ保証のためのECCをそれぞれ独立に設け
ているが、図12に示すように、データECC1520
に代えて、データ格納領域、及び物理ブロック管理情報
領域の両者を含むブロック全体の情報に対してECC
(物理ブロックECC1580)を設けるようにするこ
ともできる。このようにしたときには、データをリード
するときには物理ブロック全体の情報をリードする必要
があるが、物理ブロック管理情報については、データ格
納領域のデータを読み出すことなくエラーの検出、修正
を行うことができる。また、ECCの代わりにLRCを
用いても本発明を適用可能である。LRCはECCと違
い、データ訂正機能は持たないが、データの誤りは発見
することができる。
データ格納領域と物理ブロック管理情報を格納した領域
とで、データ保証のためのECCをそれぞれ独立に設け
ているが、図12に示すように、データECC1520
に代えて、データ格納領域、及び物理ブロック管理情報
領域の両者を含むブロック全体の情報に対してECC
(物理ブロックECC1580)を設けるようにするこ
ともできる。このようにしたときには、データをリード
するときには物理ブロック全体の情報をリードする必要
があるが、物理ブロック管理情報については、データ格
納領域のデータを読み出すことなくエラーの検出、修正
を行うことができる。また、ECCの代わりにLRCを
用いても本発明を適用可能である。LRCはECCと違
い、データ訂正機能は持たないが、データの誤りは発見
することができる。
【0046】また、上述の実施例では、フラッシュメモ
リ上にテーブル格納領域を確保し、記憶装置システムの
電源がオフ状態の間はそこにマッピングテーブルを格納
しており、電源瞬断等により、マッピングテーブルがテ
ーブル格納領域に格納する前に消失してしまった場合に
のみ、物理ブロック管理情報からマッピングテーブルを
再構成している。これに代えて、システムの立ち上げ時
に毎回、物理ブロック内の物理ブロック管理情報からマ
ッピングテーブルの再構成を行なうようにすることも可
能である。この場合には、フラッシュメモリ上のテーブ
ル格納領域には、消去回数テーブルのみを配置すればよ
く、データ格納領域をより広く確保することができる。
リ上にテーブル格納領域を確保し、記憶装置システムの
電源がオフ状態の間はそこにマッピングテーブルを格納
しており、電源瞬断等により、マッピングテーブルがテ
ーブル格納領域に格納する前に消失してしまった場合に
のみ、物理ブロック管理情報からマッピングテーブルを
再構成している。これに代えて、システムの立ち上げ時
に毎回、物理ブロック内の物理ブロック管理情報からマ
ッピングテーブルの再構成を行なうようにすることも可
能である。この場合には、フラッシュメモリ上のテーブ
ル格納領域には、消去回数テーブルのみを配置すればよ
く、データ格納領域をより広く確保することができる。
【0047】さらに、上述した実施例において、フラッ
シュメモリ上のテーブル格納領域を持たないようにする
こともできる。この場合は、立ち上げ処理時にマッピン
グテーブルの再構成を行うとともに、終了処理時に、消
去された物理ブロックの消去回数領域に消去回数を書き
込むようにする。ただし、この場合には、終了処理が行
われないまま電源の遮断等が発生すると、消去された物
理ブロックについての消去回数が失われてしまう。そこ
で、このような場合の再生処理では、他の物理ブロック
の消去回数を参照し、消去回数として適当な値を決定す
る。具体的には、他の物理ブロックの消去回数の平均
値、あるいは最大値等を消去回数として決定する。
シュメモリ上のテーブル格納領域を持たないようにする
こともできる。この場合は、立ち上げ処理時にマッピン
グテーブルの再構成を行うとともに、終了処理時に、消
去された物理ブロックの消去回数領域に消去回数を書き
込むようにする。ただし、この場合には、終了処理が行
われないまま電源の遮断等が発生すると、消去された物
理ブロックについての消去回数が失われてしまう。そこ
で、このような場合の再生処理では、他の物理ブロック
の消去回数を参照し、消去回数として適当な値を決定す
る。具体的には、他の物理ブロックの消去回数の平均
値、あるいは最大値等を消去回数として決定する。
【0048】さらにまた、上述の実施例では、フラッシ
ュメモリ内で、物理ブロックの消去回数を、物理ブロッ
ク内の物理ブロック管理情報と、テーブル格納領域の2
ヶ所に保持しているが、テーブル格納領域にのみ持つよ
うにすることもできる。このようにすると、テーブル格
納領域の消去回数テーブルがリードできないときには消
去回数が失われてしまうため信頼性が落ちるが、物理ブ
ロック内の管理情報量を減らすことができる。
ュメモリ内で、物理ブロックの消去回数を、物理ブロッ
ク内の物理ブロック管理情報と、テーブル格納領域の2
ヶ所に保持しているが、テーブル格納領域にのみ持つよ
うにすることもできる。このようにすると、テーブル格
納領域の消去回数テーブルがリードできないときには消
去回数が失われてしまうため信頼性が落ちるが、物理ブ
ロック内の管理情報量を減らすことができる。
【0049】
【発明の効果】本発明によれば、論理ブロックと物理ブ
ロックの対応付けを行うマッピングテーブルが失われた
時に、各物理ブロック内に設けた管理情報に基づいてマ
ッピングテーブルを高速に復元することができる。
ロックの対応付けを行うマッピングテーブルが失われた
時に、各物理ブロック内に設けた管理情報に基づいてマ
ッピングテーブルを高速に復元することができる。
【0050】また、消去回数を失ってしまった物理ブロ
ックがあっても、その物理ブロックの消去回数を適当な
値に回復することができる。
ックがあっても、その物理ブロックの消去回数を適当な
値に回復することができる。
【図1】本発明を適用した計算機システムの一実施例の
構成を示す構成図である。
構成を示す構成図である。
【図2】論理ブロック空間と物理ブロック空間の対応関
係図である。
係図である。
【図3】論理ブロックテーブルの論理的な構成図であ
る。
る。
【図4】消去回数テーブルの論理的な構成図である。
【図5】空き物理ブロック管理テーブルの論理的な構成
図である。
図である。
【図6】フラッシュメモリ上での物理ブロックの論理的
な構成図である。
な構成図である。
【図7】立ち上げ処理のフローチャートである。
【図8】終了処理のフローチャートである。
【図9】マッピングテーブル再構成処理のフローチャー
トである。
トである。
【図10】マッピングテーブル部分再構成処理のフロー
チャートである。
チャートである。
【図11】消去回数獲得処理のフローチャートである。
【図12】フラッシュメモリ上での物理ブロックの他の
一例を示す論理的な構成図である。
一例を示す論理的な構成図である。
Claims (10)
- 【請求項1】所定の大きさからなる複数の物理ブロック
で構成され、該物理ブロックを単位としてデータの消去
が可能なフラッシュメモリと、ホストコンピュータから
のアクセス単位である論理ブロックと、前記フラッシュ
メモリ上の物理ブロックとを対応づけるマッピングテー
ブルとを有する記憶装置システムにおいて、前記フラッ
シュメモリ上の各物理ブロック内に、対応する論理ブロ
ック内のデータを格納するための第1の領域と、前記マ
ッピングテーブルの作成に必要な管理情報を格納するた
めの第2の領域とを備え、前記第2の領域に格納される
前記管理情報に基づいて前記マッピングテーブルを回復
する手段を有することを特徴とする記憶装置システム。 - 【請求項2】前記回復する手段は、前記マッピングテー
ブルの回復の際、前記物理ブロックから前記第2の領域
に保持される前記管理情報のみを読み出すことを特徴と
する請求項1記載の記憶装置システム。 - 【請求項3】前記フラッシュメモリ内の各物理ブロック
は、前記第1の領域に格納されたデータに対する第1の
ECCと、前記第2の領域に格納された前記管理情報に
対する第2のECCとを有することを特徴とする請求項
1または2記載の記憶装置システム。 - 【請求項4】前記フラッシュメモリ内の各物理ブロック
は、該物理ブロック内の全ての情報に対する第1のEC
Cと、前記第2の領域内の管理情報に対する第2のEC
Cとを有することを特徴とする請求項1または2記載の
記憶装置システム。 - 【請求項5】前記フラッシュメモリは、前記マッピング
テーブルの内容を保持する格納領域を有し、前記記憶装
置システムはさらに、その立ち上げ時に前記格納領域に
格納されている内容を前記マッピングテーブルにセット
する手段と、該記憶装置システムの終了処理時に、前記
マッピングテーブルの内容を前記格納領域に格納する手
段とを有することを特徴とする請求項1記載の記憶装置
システム。 - 【請求項6】所定の大きさからなる複数の物理ブロック
で構成され、該物理ブロックを単位としてデータの消去
が可能なフラッシュメモリを用い、前記物理ブロックの
それぞれに、その物理ブロックの消去回数が記録される
記憶装置システムにおいて、前記フラッシュメモリ内に
各物理ブロックの消去回数を一括して保持する消去回数
格納領域を備え、所定のタイミングで前記消去回数格納
領域に格納されている各物理ブロックの消去回数を更新
する手段とを有することを特徴とする記憶装置システ
ム。 - 【請求項7】前記物理ブロック内に記録された消去回数
が失われた場合に、前記消去回数格納領域に保持される
消去回数に基づいて失われた消去回数の推測値を決定す
る手段を有することを特徴とする請求項6記載の記憶装
置システム。 - 【請求項8】所定の大きさからなる複数の物理ブロック
で構成され、該物理ブロックを単位としてデータの消去
が可能なフラッシュメモリを用い、前記物理ブロックの
それぞれに、その物理ブロックの消去回数が記録され、
各物理ブロックの消去回数を均等化するように前記フラ
ッシュメモリへのデータの記憶を制御する記憶装置シス
テムにおいて、いずれかの物理ブロックにおいて、その
物理ブロック内に記録された消去回数が失われたことに
応じて、他の物理ブロックの消去回数に基づいて前記消
去回数が失われた物理ブロックの消去回数を決定する手
段を有することを特徴とする記憶装置システム。 - 【請求項9】前記消去回数を決定する手段は、他の全て
の物理ブロックの消去回数の平均値を前記消去回数が失
われた物理ブロックの消去回数として決定することを特
徴とする請求項8記載の記憶装置システム。 - 【請求項10】前記消去回数を決定する手段は、他の全
ての物理ブロックの消去回数の中で最大の消去回数を前
記消去回数が失われた物理ブロックの消去回数として決
定することを特徴とする請求項8記載の記憶装置システ
ム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6215586A JPH0877074A (ja) | 1994-09-09 | 1994-09-09 | フラッシュメモリを用いた記憶装置システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6215586A JPH0877074A (ja) | 1994-09-09 | 1994-09-09 | フラッシュメモリを用いた記憶装置システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0877074A true JPH0877074A (ja) | 1996-03-22 |
Family
ID=16674892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6215586A Pending JPH0877074A (ja) | 1994-09-09 | 1994-09-09 | フラッシュメモリを用いた記憶装置システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0877074A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006504220A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける平均消去カウントの維持 |
JP2007179546A (ja) * | 2005-12-27 | 2007-07-12 | Samsung Electronics Co Ltd | 不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法 |
JP2007519083A (ja) * | 2003-10-28 | 2007-07-12 | サンディスク コーポレイション | 不揮発性メモリシステムのための内部メンテナンススケジュール要求 |
JP2007226806A (ja) * | 2006-02-24 | 2007-09-06 | Samsung Electronics Co Ltd | 非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法 |
JP2008181204A (ja) * | 2007-01-23 | 2008-08-07 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法 |
JP2009093529A (ja) * | 2007-10-11 | 2009-04-30 | Hitachi Ltd | 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム |
WO2013051062A1 (en) | 2011-10-05 | 2013-04-11 | Hitachi, Ltd. | Storage system and storage method |
JP2013235358A (ja) * | 2012-05-08 | 2013-11-21 | Hitachi Ulsi Systems Co Ltd | 記憶装置 |
JP2014139737A (ja) * | 2013-01-21 | 2014-07-31 | Dainippon Printing Co Ltd | 情報記録媒体、データ読み書き方法、及びデータ読み書きプログラム |
JP2016133874A (ja) * | 2015-01-16 | 2016-07-25 | ルネサスエレクトロニクス株式会社 | 情報処理装置及びフラッシュメモリ制御方法 |
-
1994
- 1994-09-09 JP JP6215586A patent/JPH0877074A/ja active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4758648B2 (ja) * | 2002-10-28 | 2011-08-31 | サンディスク コーポレイション | 不揮発性記憶システムにおける平均消去カウントの維持 |
JP2006504220A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける平均消去カウントの維持 |
JP2007519083A (ja) * | 2003-10-28 | 2007-07-12 | サンディスク コーポレイション | 不揮発性メモリシステムのための内部メンテナンススケジュール要求 |
JP4822440B2 (ja) * | 2003-10-28 | 2011-11-24 | サンディスク コーポレイション | 不揮発性メモリシステムのための内部メンテナンススケジュール要求 |
JP2007179546A (ja) * | 2005-12-27 | 2007-07-12 | Samsung Electronics Co Ltd | 不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法 |
US7716422B2 (en) | 2005-12-27 | 2010-05-11 | Samsung Electronics Co., Ltd. | Storage apparatus and method for using a non-volatile cache memory organized into stationary and non-stationary circular regions |
JP4531742B2 (ja) * | 2005-12-27 | 2010-08-25 | 三星電子株式会社 | 不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法 |
JP2007226806A (ja) * | 2006-02-24 | 2007-09-06 | Samsung Electronics Co Ltd | 非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法 |
JP2008181204A (ja) * | 2007-01-23 | 2008-08-07 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法 |
JP2009093529A (ja) * | 2007-10-11 | 2009-04-30 | Hitachi Ltd | 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム |
WO2013051062A1 (en) | 2011-10-05 | 2013-04-11 | Hitachi, Ltd. | Storage system and storage method |
JP2014517412A (ja) * | 2011-10-05 | 2014-07-17 | 株式会社日立製作所 | ストレージシステム及びストレージ方法 |
US8972651B2 (en) | 2011-10-05 | 2015-03-03 | Hitachi, Ltd. | Storage system and storage method |
US9529537B2 (en) | 2011-10-05 | 2016-12-27 | Hitachi, Ltd. | Storage system and storage method |
JP2013235358A (ja) * | 2012-05-08 | 2013-11-21 | Hitachi Ulsi Systems Co Ltd | 記憶装置 |
JP2014139737A (ja) * | 2013-01-21 | 2014-07-31 | Dainippon Printing Co Ltd | 情報記録媒体、データ読み書き方法、及びデータ読み書きプログラム |
JP2016133874A (ja) * | 2015-01-16 | 2016-07-25 | ルネサスエレクトロニクス株式会社 | 情報処理装置及びフラッシュメモリ制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3078946B2 (ja) | 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置 | |
US6625748B1 (en) | Data reconstruction method and system wherein timing of data reconstruction is controlled in accordance with conditions when a failure occurs | |
KR960001748B1 (ko) | 컴퓨터 시스템 동작방법과 컴퓨터 시스템용의 기억 장치 및 기억제어장치 | |
US6859888B2 (en) | Data storage array apparatus storing error information without delay in data access, and method, program recording medium, and program for the same | |
US5195100A (en) | Non-volatile memory storage of write operation identifier in data sotrage device | |
US5255270A (en) | Method of assuring data write integrity on a data storage device | |
JP3164499B2 (ja) | ディスクアレイにおけるパリティデータの無矛盾性保持方法 | |
US6795890B1 (en) | Data storage method, and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory | |
JP2000112831A (ja) | ディスク記録再生方法および装置 | |
US6457153B2 (en) | Storage device and storage subsystem for efficiently writing error correcting code | |
JPH0877074A (ja) | フラッシュメモリを用いた記憶装置システム | |
US6732290B1 (en) | Recovery system for raid write | |
US20040133741A1 (en) | Disk array apparatus and data writing method used in the disk array apparatus | |
JPH08115257A (ja) | 磁気ディスク制御装置 | |
JP3845239B2 (ja) | ディスクアレイ装置及びディスクアレイ装置における障害復旧方法 | |
US20070174739A1 (en) | Disk device, method of writing data in disk device, and computer product | |
JP2000137584A (ja) | 外部記憶装置の制御装置及び不良ブロック代替方法並びに不良ブロック代替制御プログラムを格納した記憶媒体 | |
JP2001035080A (ja) | ディスク制御装置および記録媒体 | |
JP3573599B2 (ja) | ディスクアレイにおけるデータ回復方法 | |
JPH10161942A (ja) | 情報記憶方法及び情報記憶装置及び情報処理装置 | |
JP2861846B2 (ja) | 磁気ディスク制御システム | |
JPS58175065A (ja) | 多重化ボリユ−ム処理方式 | |
JP3597550B2 (ja) | ディスクアレイ装置 | |
JP3597766B2 (ja) | ディスクアレイ装置の制御方法 | |
JP3178913B2 (ja) | 半導体ファイル装置 |