JP3407317B2 - フラッシュメモリを使用した記憶装置 - Google Patents

フラッシュメモリを使用した記憶装置

Info

Publication number
JP3407317B2
JP3407317B2 JP31815992A JP31815992A JP3407317B2 JP 3407317 B2 JP3407317 B2 JP 3407317B2 JP 31815992 A JP31815992 A JP 31815992A JP 31815992 A JP31815992 A JP 31815992A JP 3407317 B2 JP3407317 B2 JP 3407317B2
Authority
JP
Japan
Prior art keywords
data
storage
deterioration
flash memory
stored
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 - Lifetime
Application number
JP31815992A
Other languages
English (en)
Other versions
JPH06124596A (ja
Inventor
国弘 片山
隆司 常広
健一 柿
武史 和田
毅 古野
隆 戸塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27459495&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3407317(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP31815992A priority Critical patent/JP3407317B2/ja
Publication of JPH06124596A publication Critical patent/JPH06124596A/ja
Application granted granted Critical
Publication of JP3407317B2 publication Critical patent/JP3407317B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は携帯用の小型情報処理機
器の補助記憶装置にかかり、特にフラッシュメモリを用
いた半導体ファイル記憶装置及びそれを搭載する情報機
器に関する。
【0002】
【従来の技術】情報機器の補助記憶装置の従来技術とし
ては磁気記憶装置が最も一般的であるが、磁気記憶装置
では書き込むファイルをセクタと呼ぶ記憶単位に分割
し、記憶媒体の物理的な位置に対応させて記憶する。す
なわちあるファイルの書き換えにおいては基本的に同一
位置に書き込みが行われ、書き込みデータが増えるとそ
の分だけ新たなセクタへの書き込みを行う。これに対し
別の補助記憶装置として光ディスク装置が挙げられる。
現在一般的な光ディスクは、書き込みが一回だけ可能で
消去は不可能である。従って一度書き込んだファイルの
書き換え時は実際には書き換えを行わず、別の領域に書
き込んで以前書き込んだデータは無効にして以後読み出
さないようにする。つまり磁気ディスク装置と異なり、
書き換えデータと記憶場所には全く関連性を持たせな
い、という方式で補助記憶装置の機能を果たしている。
以上のようなディスクを回転させて大容量のデータを高
速にアクセスし、補助記憶装置の機能を果たす記憶装置
に対し、半導体メモリを用いて補助記憶装置とする半導
体ファイル記憶装置が近年脚光を浴びている。特に電気
的に書き換えが可能な不揮発性メモリ(以下EEPRO
Mと記す)を用いたものが今後半導体ファイル記憶装置
の主流になると考えられる。それを実現する一つの技術
として特開平3−25798がある。これはEEPRO
Mを用いた記憶装置であり、EEPROMの欠点である
書き換え消去回数の制限を保護し、EEPROMを用い
て実用的な記憶装置を実現する方式である。その概要を
説明すると複数のメモリ素子を用意し、各素子の消去書
き換え回数を記録して管理し、EEPROMの書き換え
保証回数より小さなある規定回数に達したら用意してあ
ったメモリ素子に切り替えて使用することにより、記憶
データの保護を図るものである。
【0003】
【発明が解決しようとする課題】上記従来技術における
光ディスク装置の方式ではファイルの書替えがあるたび
に記憶領域をつぶしていくことになり、非常に大容量の
記憶媒体がないと記憶領域の確保ができない、という点
に問題がある。特にファイルの書替えが激しい情報機器
の記憶装置とする場合は、実際の記憶容量がそれほど大
きくなくても、記憶領域が大きくなってしまう。一方補
助記憶装置として最も一般的な磁気ディスク装置の場合
は、一度書き込んだファイルを書き替える場合、同じ領
域に新しいデータを書き込む。しかしこれをEEPRO
Mに応用すると、記憶しているファイルの一覧となるフ
ァイル(一般にはディレクトリファイルと呼ばれる)や
ファイルの記憶場所を参照するためのファイル(ファイ
ルアロケーションテーブル)等はデータのライトアクセ
スがあるたびに書替えが起こり、書替えが局所に集中す
る。これは書込み消去回数に制限のあるEEPROMに
おいては寿命を著しく短くすることになる。またEEP
ROMを適用した特開平3−25798においては、メ
モリ素子の劣化状態を消去回数により把握して壊れる前
に代替のメモリに切り替えるという方式を発明している
が、この方式では実際の記憶容量の倍以上のメモリ容量
を備える必要がある。すなわち代替のメモリは、最初に
使用するメモリが壊れるまでは全く使用しないし、また
壊れたメモリは壊れたあとは不必要になってしまう。こ
れは物理的体積、重量に非常に無駄が大きくなる。しか
も通常データの書き換えは全体的に起こる訳ではないた
め、部分的に劣化しているだけなのにメモリチップ全体
を非使用状態にしてしまうのは経済的に無駄が大きいと
言える。
【0004】
【課題を解決するための手段】EEPROMの一種であ
るフラッシュメモリはデータの電気的消去が可能であ
り、従って不揮発性メモリでありながらデータの書き換
えが可能である。そして消去単位が一般のEEPROM
と比較して大きなものであるため、セル構造が単純化さ
れ集積度を大きくすることができ、物理的にも経済的に
も他のメモリ素子よりも大容量の補助記憶装置に適して
いる。そこで欠点である消去回数の制限を保護すべく消
去の回数が極力少なくなる方法でデータの記憶と書き換
えを行うことにより他の補助記憶装置に置き換えて使用
することが可能となる。その手段としてデータの書き込
みは光ディスクと同様に記憶データと記憶場所には関連
性は持たせず、データの書き込みがあったらデータを書
き加えていくこととし、既に書き込んであるファイルの
書き換えが発生した場合は、古いファイルの記憶領域を
無効として消去可能領域にする。そしてあるタイミング
をもって無効領域のデータを消去するガーベイジコレク
ションを行う。ガーベイジコレクションは、消去単位が
大きく無効領域のデータとともに消去の必要がない有効
領域のデータを消去しなければならない時には、有効領
域のデータを別の記憶領域に移し、元の場所を消去して
新たな書き込み可能領域にする。さらに消去回数を管理
する消去回数管理テーブルを設け、ガーベイジコレクシ
ョンを行うごとに回数をインクリメントする。そしてあ
るブロックが規定した消去回数に達したら消去回数の少
ないブロックとのデータの交換を行う。
【0005】
【作用】上記手段によれば光デイスク装置のようにデー
タの書替えが起こるたびに記憶領域をつぶしていくこと
はなく、不必要になったデータを消去して記憶領域とす
ることができ、また磁気ディスクのように書替えが局所
に集中してフラッシュメモリの寿命を縮めることはな
い。たとえ書き込み領域が著しく小さくなり、さらに書
き替えるデータも非常に限られたものとなって、消去ブ
ロックが特定のブロックに集中しても、消去回数の多い
ブロックのデータと消去回数の少ないブロックのデータ
とを入れ替えることにより、頻繁に書替えが起こる領域
を固定せず、また書替えがあまり起こらない領域を固定
せずに全記憶領域を一律に使用する記憶方式を実現す
る。従ってメモリの劣化が鈍化し、代替メモリを備える
必要がなくなる。
【0006】
【実施例】以下に本発明の実施例を述べる。まず第1の
実施例を図1、図2、図3及び図4により説明する。図
1は第1の実施例を実現するためのハードウエア構成で
あり、図2は本実施例に用いるフラッシュメモリチップ
の内部構成を示した図であり、図3は格納データ管理の
メインルーチンのフローチャートであり、図4は消去管
理ルーチンのフローチャートである。
【0007】最初に図2によりフラッシュメモリの動作
について述べる。図中11はメモリチップ全体、12は
データ書き込み単位、13はデータ消去の最小単位で消
去ブロックと呼ぶこととする。フラッシュメモリは電気
的消去可能なPROMであり、一種のEEPROMであ
るが、ノーマルなEEPROMがデータの書き込み単位
と消去(書換え)単位が同一であるのに対し、フラッシ
ュメモリは書き込み単位より消去単位が極めて大きく、
一度書き込んだデータを書き換えるためには他の多くの
データも同時に消去しなければならない。その代りの利
点としてノーマルなEEPROMより集積度を高くで
き、大容量の記憶装置に適している。図2においてメモ
リチップ全体11が一つ以上の消去ブロック13に分割
されており、書き込み単位12が1ワード(メモリにお
けるワードでありメモリ構成に従う)であるのに対し、
消去ブロック13はそれより大きい領域となる。フラッ
シュメモリを補助記憶装置として用いる際には、磁気デ
ィスク装置の仕様に合わせ、512バイトを消去単位と
すると使いやすくなる。
【0008】次にこのメモリを用いた記憶装置の第1の
実施例のシステム構成とその動作を図1及び図3、図4
を用いて説明する。なお以下の説明ではファイルデータ
の記憶単位をセクタと呼ぶこととし、本実施例では1セ
クタが1消去ブロックと一致するものとする。図中、1
はファイルデータの記憶をするフラッシュメモリチップ
群、2はフラッシュメモリ1のアクセス信号を生成する
アクセスコントローラ、3は記憶データやステータスデ
ータを操作してフラッシュメモリによる外部記憶システ
ムを構築するマイクロプロセッサ、4はプロセッサ3を
動作させる制御プログラムを格納したプログラムメモ
リ、5はある論理アドレスで示されるセクタ(論理セク
タ)のデータがフラッシュメモリ1上のどこにマッピン
グされているかを参照するための論理セクタテーブル、
6はフラッシュメモリ1上の物理的なアドレスで示され
る物理セクタにマッピングされたファイルデータの論理
セクタ番号を参照するための物理セクタテーブル、7は
各物理セクタの消去回数の累計を記録する消去回数管理
テーブル、8は各物理セクタのステータスを参照するス
テータステーブル、9はデータの書き込みを高速化する
ために書き込みデータを一時的に保存するライトバッフ
ァである。次に動作を説明する。本システムに対しデー
タのアクセス要求をするシステム(ホストシステム)よ
りデータのリードアクセス要求があると、プロセッサ3
は論理セクタテーブル5を参照して該当する論理セクタ
が格納されている物理セクタを割り出し、その物理セク
タをアクセスして要求されたデータをホストシステムに
送出する。ホストシステムからのデータの書き込み要求
に対しては、図3のフローチャートを用いて説明する。
図3のフローチャートはプログラムメモリ4に格納され
ているプログラムのメインルーチンのフローチャートで
ありその流れを説明すると、まず、次のデータの書き込
みをするセクタを示す書き込みポインタが設定されてお
り、このポインタが示すセクタが書き込み可能な状態に
あるかをステータステーブル8により判別する(a)。
ステータステーブルでは消去回数が多くなり劣化して使
いものにならなくなったことを示すフラグやすでにデー
タが書き込まれていることを示すフラグがあり、これら
が立っていて書き込み不可能であれば次のセクタにポイ
ンタを移す(b)。そして書き込み可能であればそのセ
クタへのデータの書き込みを行う(c)。そして既に一
度書き込んだことのある論理セクタの書き換えである場
合は、前回書き込んだ当該論理セクタのデータはもはや
不要であるため、論理セクタテーブルより不要になった
データが書き込まれている物理セクタを捜し出してこれ
を消去し、同時に前回の書き込みの際に書いた物理セク
タテーブル6の内容を消去する(d)。セクタの消去が
行われたら消去管理ルーチンへ飛ぶ。消去管理ルーチン
については後述する。そして論理セクタテーブル5に書
き込みポインタの示す物理セクタ番号を、物理セクタテ
ーブル6には書き込みポインタの示す場所に書き込んだ
論理セクタ番号を書き込む(e)。なお(b)において
はデータが書き込まれているかの判断をステータステー
ブル8に書き込むことにしても良いし、物理セクタテー
ブル6により判断することもできる。物理セクタテーブ
ル6は未書き込みセクタである場合には全ビットHにす
るかあるいはLにすれば判別が容易になる。次に先述の
消去管理ルーチンについて図4を用いて説明する。まず
データを消去した物理セクタに対応する消去管理テーブ
ルの消去回数カウンタを1インクリメントし(a)、消
去回数が規定回数に達していなければメインルーチンに
復帰し、規定回数に達していたら、データの入替えを行
う(b)。データの入替えを行うためにはまず他の全セ
クタの消去管理テーブルを調べ、消去回数が最小でかつ
まだデータの入替えを行っていないセクタを捜しだす
(c)。捜し当てた消去回数が最小のセクタに格納され
ているデータを、先程消去を行ったセクタに書き込む
(d)。書き込みを行ったら両セクタのステータステー
ブルの入替えフラグを立てる(e)。この入替えフラグ
は、消去回数の少ない物理セクタが、本ルーチンにより
消去が頻繁に起こるようになるのに、それを示す手段が
ないと再び消去回数が少ないセクタに選ばれてしまうこ
とが考えられ、この時にデータを入れ替えた消去回数の
多いセクタは、また消去が頻繁に起こるようになってし
まう、ということが起こるのを防ぐものである。この入
替えフラグを立てたら、該当する論理セクタテーブルの
内容と物理セクタテーブルの内容を書き換える(f)。
以上が終了したらメインルーチンに復帰する。なお消去
回数が最小として選ばれたセクタは一度消去されること
になるため、消去管理テーブルの消去回数カウンタをイ
ンクリメントする必要がある。また入替えフラグは全て
のセクタのフラグが立ったらクリアされるか、あるいは
論理の判断を反転する。つまり1のとき入替えが行われ
たと判断していたものを0になったら入替えが行われた
ことにする。また(b)の規定回数は、フラッシュメモ
リの書換え可能回数の保証値より小さな値の倍数とすべ
きで、例えば10000回の保証回数であれば、100
0回の倍数回や、2000回、5000回の倍数回等が
適当である。このルーチンにより、限られたブロックに
消去が頻繁に起きたら消去回数の少ないブロックのデー
タと入替えをして、消去回数の多いブロックに消去があ
まり起きないセクタのデータを格納することにより、消
去回数の平均化を図るものである。これは通常の補助記
憶装置の格納データには大変効果があると考えられる。
例えばオペレーションシステムプログラムを格納した領
域ではデータの書換えは全く起きないが、アプリケーシ
ョンプログラムのデータとなるグラフィックデータやテ
キストデータの領域では頻繁にデータの書換えが起き
る。そのため消去回数の平均化を行わないと、システム
プログラム領域のメモリはデータが変化しようがないた
め、消去回数の増加による劣化は全く起きないことにな
り、それ以外のデータ領域のメモリは限られたメモリ空
間で頻繁に消去が行われ、消去回数を急増させることに
なる。つまり使用可能領域が少ない状態で特に大きな効
果があるといえる。
【0009】以上が第1の実施例の動作の説明である。
本実施例によればプロセッサを搭載したことによりプロ
グラムメモリの内容に従った細かな制御ができるように
なり、またライトバッファにより書き込みの高速化が図
れ、ステータステーブルを備えたことにより各セクタの
状態を記録するのに拡張性がある。そしてフラッシュメ
モリの寿命を延ばすために、消去回数を管理した最適な
ファイル管理が行える効果がある。
【0010】次に第2の実施例について図5、図6、図
7、図8及び図9を用いて説明する。図5は第2の実施
例におけるハードウエア構成であり、図6は本実施例に
おけるフラッシュメモリ内の記憶構成を示した図であ
り、図7はデータ書き込みのためのメインルーチンのフ
ローチャート、図8は不必要なデータを格納したセクタ
を未書き込みセクタにするための整理ルーチンのフロー
チャート、図9は消去回数の管理をする消去管理ルーチ
ンのフローチャートである。
【0011】まず図6により本実施例におけるフラッシ
ュメモリのチップとその使用法を説明する。図中、52
は第1の実施例で用いたセクタと呼ぶファイルデータを
記憶する記憶領域の単位である。53はデータ消去の最
小単位で消去ブロックと呼び、複数のセクタ52により
構成される。すなわち第1の実施例とは異なり消去ブロ
ック53とセクタ52の記憶容量は異なるものとする。
54はメモリチップ全体であり、図では複数の消去ブロ
ックにより構成されているが、1チップに1消去ブロッ
クであることも考えられる。本実施例ではセクタ単位に
ファイルデータの格納を行うが、そのファイルデータの
書換えの要求があって消去するためには他のセクタも同
時に消去されてしまうようなメモリチップに適応するも
のである。図5は本実施例のハードウエア構成で、図
中、41は書き込みデータの記憶領域であるフラッシュ
メモリで一つ一つはメモリチップ54である。42はフ
ラッシュメモリ41をアクセスするアクセスコントロー
ラ、43は記憶データやステータスデータを操作するプ
ロセッサ、44はプロセッサ3を動かすための制御プロ
グラムが格納されているプログラムメモリ、45はフラ
ッシュメモリ41の物理セクタ51が記憶している論理
セクタ番号を参照するための物理セクタテーブル、46
は記憶してある論理セクタ番号のデータがフラッシュメ
モリ1のどこの物理セクタに記憶されているかを参照す
るために物理セクタ番号が記録されている論理セクタテ
ーブル、47は各ブロックの消去回数を記録する消去管
理テーブル、48は各ブロックのステータスを記憶する
ステータステーブル、49は既書き込みセクタ数を参照
するための書き込みセクタ数テーブル、50は書き込み
の高速化を図るため、書き込みデータを一時的に保持す
るライトバッファ、51は整理ルーチンを行う際に用い
る整理バッファである。
【0012】次に動作を説明する。リードアクセス時は
第1の実施例同様、論理セクタテーブル45と物理セク
タテーブル46を参照して行う。一方ライトアクセス
は、図7を用いて説明すると、まず書き込みポインタを
設定し、その書き込みポインタで示されたブロックのス
テータステーブルを参照する(a)。すなわち本実施例
における書き込みポインタはブロック単位のポインタで
ある。そしてこわれていたら次のブロックにポインタを
移す(b)。こわれていなければそのブロックの書き込
みセクタ数テーブル49を参照する(c)。そして既に
ブロック内の全セクタが書き込み済であったら整理ルー
チンに飛ぶ。整理ルーチンについては後述する。もし未
書き込みセクタがあったらデータの書き込みを行い
(d)、該当する書き込みセクタ数テーブルを1インク
リメントする(e)。従って、例えば図6において一つ
前の書き込みを第1ブロックの第3物理セクタに書き込
んだ場合、次の書き込みは第1ブロックの第4物理セク
タに書き込みを行うことになる。実際のライトアクセス
制御はアクセスコントローラ2により行う。ここで書き
込みを行ったブロックのセクタが全て書き込まれてしま
ったら整理ルーチンに飛ぶ(f)。そして書き込み後は
物理セクタテーブルおよび論理セクタテーブルに書き込
んだセクタ番号をそれぞれ記録する(g)。もし以前に
書き込んでいる論理セクタの再書き込みであれば、以前
物理セクタテーブルに書き込んだ論理セクタ番号を消去
する。これはその物理セクタのデータは無効であること
を示すための動作である。なお(f)の動作は整理時間
短縮のために設けられておりフラッシュメモリの消去効
率を高くするためには行うべきでない。次に整理ルーチ
ンについて説明すると、整理ルーチンとは書き込みポイ
ンタの指し示すブロックがすでに全セクタ書き込まれて
おり、書き込み不可能である時の動作ルーチンである。
整理ルーチンが必要となる理由は、これまで説明した書
き込み方法では同じファイルのデータの書き替えにおい
て別の物理セクタへ書き込みを行う。すなわち書き換え
る前に書き込んだデータは不要となるがメモリ上には記
憶されたままであり消去すべきデータである。しかし不
要となるたびに消去していたのでは消去回数が有限であ
るフラッシュメモリにとっては寿命を短くすることにな
る。そこで整理ルーチンによって消去する。整理ルーチ
ンはブロックが書き込みデータで一杯になったときに行
う。整理の具体的な方法は、図8のフローチャートに従
って行う。以下フローチャート内の各部の説明をする。
整理ブロックの物理セクタテーブルを参照し、ブロック
内に消去可能なセクタすなわち他の物理セクタに新たに
書き換えられたため不必要となったセクタがないかをチ
ェックする(a)。消去可能なセクタが一つもなかった
らメインルーチンに復帰し、一つでもあったら整理を行
う。まず整理するブロック内のデータを整理バッファ5
1に退避し(b)、整理するブロックの消去を行う
(c)。消去を行ったら図9の消去管理ルーチンに飛ぶ
がこれについては後で説明する(d)。そして整理バッ
ファの中で必要なセクタだけを整理するブロックに復帰
させる(e)。復帰したときのセクタの位置は、元々の
場所に復帰させれば論理セクタテーブル45や物理セク
タテーブル46を書き換える必要がない。また復帰の際
にはそのブロックの若いセクタ番号から埋めていく方法
を取ると、次の新しいセクタの書き込みがし易くなる
が、論理セクタテーブル45と物理セクタテーブル46
を書き換える必要がある。いずれの場合も書き込みセク
タ数テーブルは復帰したセクタ数に書き換えることにな
る(f)。次に消去管理ルーチンについて説明する。図
9は消去管理ルーチンのフローチャートであり、基本的
には第1の実施例で説明したものと同様であるが、消去
の管理がセクタではなくブロック単位に行う点が異な
る。まず消去が行われたブロックの消去回数が一定数に
達したか、をチェックし(a)、もし達していなければ
このルーチンを脱出。達していたら(b)全ブロックの
消去回数を検索し、消去回数が最小のブロックを捜しだ
す(c)。整理を行ったブロックと消去回数が最小のブ
ロックが一致していなければこの2つのブロックのデー
タを入れ替える(d)。入替えには図5の整理データバ
ッファ51を利用する。そして入替えを行ったブロック
の入替えフラグを立てる(e)。消去回数カウンタをイ
ンクリメントするとともに論理セクタテーブル及び物理
セクタテーブルを書き換える(f)。以上が本実施例に
おける消去管理ルーチンの動作である。第1の実施例同
様このルーチンにより、限られたブロックに消去が頻繁
に起きたら消去回数の少ないブロックのデータと入替え
をして、消去回数の平均化を図るものである。
【0013】以上が第2の実施例の動作説明である。本
実施例によれば、消去ブロックが書き込むセクタの単位
としては大き過ぎるときに、消去ブロックを分割して効
率良く使える効果がある。
【0014】次に第3の実施例を図10、図11及び図
12を用いて説明する。本実施例においてはメモリチッ
プは第1の実施例と同様の図2の消去ブロックとセクタ
の容量が一致するものとするが、使用時は図10に示す
構成をとる。図中91は複数のセクタよりなるブロック
である。本実施例ではセクタと消去ブロックの単位が同
一であるため本実施例のブロック91は複数の消去ブロ
ックで構成されることになる。既出の他の番号は図2あ
るいは図6と同様のものである。ハードウエア構成は図
11に示したものであり図中101はブロック91ごと
の消去回数を記録した消去管理テーブルであり、詳細は
後述するが結果的にブロック91内の消去回数の累計を
記憶することになる。他は図1、図5と同様のものであ
る。図12は本実施例の消去管理ルーチンのフローチャ
ートであり、メインルーチンは図3と同様である。メイ
ンルーチンの動作は第1の実施例の説明に従うとして、
メインルーチンから消去管理ルーチンに飛んでからの動
作を図12により説明する。まず消去を行ったセクタを
含むブロックの消去管理テーブルの回数カウンタを1イ
ンクリメント(a)。消去回数が規定値に達したかを判
別し(b)、達していたら前ブロックの消去回数を調べ
て回数が最小で、かつまだデータの入替えを行っていな
いブロックを割り出し(c)、2つのブロックのデータ
を入替える(d)。そして入替えフラグを立てるととも
に(e)、各テーブルの内容を書き換える(f)。本実
施例の特徴はセクタ単位の消去ができるメモリにおいて
消去管理を複数のセクタで行うことにより、消去管理の
簡便化を図って、大きなファイルの書換えにおける待ち
時間の節約と、消去管理テーブルの削減ができるという
効果が期待できる。従って大容量の記憶装置で、消去管
理をセクタごとに行うことが困難な場合に適応する。
【0015】ところでこれまで説明した実施例で構成要
素となっていた論理セクタテーブル、物理セクタテーブ
ルなどのテーブルについて説明を加える。フラッシュメ
モリは不揮発性のメモリであるため、当然のことながら
本発明のシステムは非動作時には電源の供給を停止して
もフラッシュメモリ内のデータが失われることはない。
しかしながらいくらデータが保存されていても、テーブ
ルの内容が失われると、どのセクタに何のデータが格納
されているかがわからなくなり、フラッシュメモリ内の
データは正体不明の無意味なデータと化してしまう。そ
のためテーブルに格納されているデータも電源供給停止
後に保存されている必要がある。ただしテーブル内の全
てのデータを保存する必要はない。例えば論理セクタテ
ーブルのデータは物理セクタテーブルのデータから容易
に作成可能である。逆もまた可能であるのでつまりどち
らか一方のデータが保存されていれば良いことになる。
そこで物理セクタテーブルを電気的消去可能で書き込み
可能な不揮発性メモリ(EEPROM)に記憶し、論理
セクタテーブルは電源供給を開始するシステムの起動時
に論理セクタテーブルより作成することとする。こうす
ると論理セクタテーブルは揮発性のメモリを使用でき
る。またこれと同様に各ブロックの使用セクタ数テーブ
ルも物理セクタテーブルより作成可能であるため、シス
テムの起動時に揮発性メモリに作成する。これらのテー
ブルはメインシステムの主メモリ上に展開することも可
能である。その他のテーブルについては、消去管理テー
ブル、ステータステーブルがあるが、これらは他のテー
ブルからの作成は不可能であり、消去管理テーブルはデ
ータが失われるべきでないためEEPROMに記憶す
る。ステータステーブルはもう一度書き込みや消去をし
たときに得られるが、二度手間になるためEEPROM
に記憶すべきである。しかしメモリの節約のため揮発性
メモリに記憶することもできる。これらテーブルの記憶
媒体としては同じメモリに格納してチップ数を減らすこ
ともできる。例えば物理セクタテーブルと消去回数テー
ブルはどちらも不揮発性メモリに格納すべきであるた
め、同じEEPROMチップに格納してEEPROMは
1チップだけにすることができる。またプロセッサをワ
ンチップマイコンとした場合は、使用セクタ数テーブル
などの比較的小さなテーブルはワンチップマイコンに内
蔵されているRAMコアに格納する。これらをまとめた
第4の実施例の構成図を図13に示した。図中、111
はRAM、ROMを内蔵したワンチップマイコン、11
2はワンチップマイコン内のRAMコア、113はワン
チップマイコン内のROMコア、114はEEPROM
チップ、115はSRAMまたはDRAM、以下既出の
番号は、前述と同様のものである。RAMコア112に
は使用セクタ数テーブルを格納し、ROMコア113に
はマイコンの制御プログラムを格納し、EEPROM1
14には物理セクタテーブル及び消去管理テーブルを格
納し、RAM115には論理セクタテーブルを格納す
る。またRAM115の空き領域では図9で示した整理
ルーチンを行う際の整理データバッファ、及び書き込み
の高速化を図るライトバッファとしても用いることとす
る。このように本実施例によれば記憶媒体の特徴にあわ
せ、テーブル、バッファ類をまとめてチップ数の削減を
図ることができる。これに対し、図24はEEPROM
を省略した構成となる実施例である。これは第4の実施
例で説明した不揮発性のテーブルデータをフラッシュメ
モリ1に格納することにより実現する。図中、116は
フラッシュメモリ1内に設けたテーブル格納領域であ
る。ただしフラッシュメモリはテーブルデータのような
小さい単位のデータの更新には適さないため、フラッシ
ュメモリ1にテーブルのデータを格納するのは電源遮断
の直前とし、通常の使用状態においては揮発性のDRA
MやSRAM115に格納するものとする。つまり本発
明のシステムの電源を遮断する際に、RAM115の内
容のうち必要なデータをフラッシュメモリ1に転送して
から電源を遮断し、次に電源を投入した時にフラッシュ
メモリ1からRAM115にデータをロードしてから通
常の動作を開始する。従ってフラッシュメモリにはテー
ブル格納用の記憶領域116を常に確保しておく必要が
ある。ただしこの格納位置を固定とする必要はない。固
定としなかった場合はあらかじめテーブルを格納するア
ドレスを示す領域を設けておき、テーブルを格納したア
ドレスを常に記録しておくことにより、電源立ち上げ時
にテーブルの位置をサーチする必要がなくなる。
【0016】またさらにフラッシュメモリ自体の構成に
おける実施例を図14、図15、図16及び図23に示
した。図14はフラッシュメモリチップ内に消去ブロッ
ク単位にデータ領域と異なるテーブル用の記憶領域を持
たせたものであり、これに各ブロックごとの物理セクタ
テーブルや消去回数を書き込むことによりEEPROM
を省略できる。図中、131は消去ブロック、132は
消去ブロック131ごとに付加されるテーブル用の記憶
領域である。消去ブロック131に対応するテーブル1
32に格納されたデータは消去ブロック131と同一の
アドレスでアクセス可能とし、信号線による選択やモー
ドの選択によりファイルデータとテーブルのデータを出
し分ける。このようにするとデータ領域とテーブル領域
の寿命が一致し、データ領域131が使用可能なのに、
テーブルがこわれて使用不能に陥るということがなくな
る。データ領域とテーブル領域が接近していればその傾
向がさらに強くなる。そして消去ブロックごとにテーブ
ルを構成するためアドレスラインの共有化が簡単に実現
する。テーブル用の記憶領域132の一例を図23
(a)に示した。図中、133は消去単位1ブロック全
体を表し、134はブロック内のファイルデータ領域、
135はそのブロックの論理番号を格納する領域で8ビ
ットの記憶容量を持つ。136はそのブロックの状態を
示すステータステーブルで16ビットの容量である。ス
テータステーブル136の内容は、消去回数管理テーブ
ル、使用不能フラグ、入替え済みフラグ、訂正フラグ等
が挙げられる。このステータステーブル136で余った
ビットをブロック番号格納に用いることもできる。図2
3(b)はさらにエラー訂正領域を持たせたテーブル領
域132の一例であり、137はエラー訂正個所を示す
領域である。これは訂正能力に応じて記憶容量を設定す
ることとする。たとえば1ワード16ビットのワード構
成で、消去ブロックが512Bの構成のメモリチップに
対してエラー訂正領域が8ビットであれば、1ワード訂
正能力を持つ。つまり不良ビットの存在するワード番号
をここに書き込んでおき、訂正データを他の領域に書き
込んでおけば、読み出しの際にそのワードのデータを置
き換えてしまうことにより実現する。訂正データ領域を
このテーブル内に持たせてもよいし、他の記憶領域にま
とめておく方法もある。前者ではデータ訂正をテーブル
内で全てまかなうことができるが1ブロックごとに訂正
データ領域を持つこととなるためチップ全体で冗長領域
が大きくなってしまう。後者では訂正データが書き込ま
れている領域を示す手段が必要になり、また他の記憶領
域をアクセスするためアクセス時間が大きくなってしま
うが、訂正データ数に応じて冗長記憶領域を大きくも小
さくも設定できる。なお訂正データが書き込まれている
領域の指定はステータステーブル領域136の余りビッ
トを使用すると良い。また訂正データ領域の一例として
図15を用いて説明する。図15はデータの記憶領域と
は別に1バイトや1ワード等の細かい単位で書き込み消
去ができるEEPROMタイプの記憶領域138を持た
せたものであり、この領域を訂正データテーブルとし
て、訂正データを書き込んでおき訂正すべき個所のデー
タの読み出しの際に指定された位置のデータを読み出し
て置き換えることによりデータ訂正が実現する。また図
15は、テーブル領域の構成を、対応するデータ領域の
消去ブロックの付近に構成せず、一まとめにして同様の
効果を狙った実施例と考えることもできる。この場合図
内の構成要素は図14と同様であり、メモリセルの構成
がチップ内で一まとめになるため、図14のメモリセル
の構成より簡略化される効果がある。
【0017】また図16は別の構成のフラッシュメモリ
チップである。データの記憶領域141とは別に、デー
タを一時的に保持するバッファ領域142をメモリチッ
プ内に持たせたものであり、この部分は揮発性のメモリ
でもよい。143はクロック入力によりカウントアップ
するアドレスカウンタである。ライトアクセス時はライ
トデータをバッファ領域142に書き込み、アドレスを
入力することにより複数のデータを一気にデータ領域1
41に転送し書き込めるようにする。このようなメモリ
を用いれば書き込みの高速化を図る外付けのライトバッ
ファを省略できる。またリード時にも逆にデータ領域1
41からアドレスを入力することにより複数のデータを
一度にバッファ領域142に転送できれば、リードアク
セスも簡略化される。この場合バッファはシリアルアク
セスメモリとして連続アドレスの入力が必要でなく、内
部にアドレスカウンタ143を備え、クロックを入力す
れば内部のアドレスカウンタがカウントアップし、連続
した領域をアクセスしてデータを出力できるようにすれ
ばさらに使い勝手が良くなる。なおバッファ領域はセク
タを1単位として構成するのが最も効果的であり、1単
位分に限らず複数単位分構成するとバッファ効果を向上
させることができる。例えば1セクタが消去ブロック単
位であった場合、1セクタのデータを格納するバッファ
が1つ備えられていれば、1セクタの書き込み読み出し
が一度に行われるようになるが、複数備わっていれば複
数のセクタのデータの書き込みを受け入れることがで
き、また読み出しデータを用意することができる。そし
てこのバッファを利用すれば外付けの整理バッファも省
略できる効果がある。
【0018】次にこれまでの実施例で説明してきたフラ
ッシュメモリを用いた記憶装置を情報処理システムに応
用する実施例について説明する。図17はフラッシュメ
モリを用いた記憶装置(以下、フラッシュファイルシス
テムと称す)を情報処理システム(以下ホストと称す)
と接続するためのインタフェース回路を説明する図であ
り、図中201はホストの外部I/Oバスであり、標準
的なバスとしてはISA、EISA、マイクロチャネ
ル、SCSIなどのバスが挙げられる。202は標準バ
スを専用バスに変換するためのバスバッファあるいはバ
スコントローラであるが、これが省略されるシステムも
考えられる。これらに接続されているのはホスト側が自
システム内の主記憶装置あるいは拡張主記憶装置、表示
記憶装置等の記憶装置に記憶しきれないデータや電源遮
断後も保持したいデータなどを記憶するために設置して
いる外部記憶装置あるいは補助記憶装置である。フロッ
ピディスクドライブ203、ハードディスクドライブ2
04等が一般的であるが、それに加えフラッシュファイ
ルシステム205が接続されている。なおこれら全ての
補助記憶装置がホストシステムに接続される必要はな
く、ユーザが適宜選択して接続するものである。フラッ
シュファイルシステム205にはインタフェース回路2
06が付加されており、207はインタフェースレジス
タ群、208はインタフェースレジスタ群の中のレジス
タの一つであるコマンドレジスタ、209はインタフェ
ースレジスタ群のアドレスデコード回路、210はコマ
ンド割込み信号である。以下既出の番号はこれまでの説
明で述べてきたものと同様のものである。ただしプログ
ラムメモリ4に格納されているプログラムはこれまでの
説明で述べてきたファイルデータの制御、管理に加え、
ホストからのアクセス要求を中心としたコマンドへの対
応のプログラムが格納されている。ホストはホストバス
201を通して補助記憶装置にコマンドを出す。これは
インタフェース回路206内のインタフェースレジスタ
群207の一つであるコマンドレジスタ208にコマン
ドコードを書き込むことによって行なわれる。インタフ
ェースレジスタ群207は、ハードディスクドライブが
インタフェースレジスタとして持つレジスタを全て備
え、またレジスタの仕様も一致し、ホストからはハード
ディスクをアクセスするのと何ら変わらないようにして
いる。なおこのレジスタをフロッピディスクドライブや
光ディスクドライブ等、他の補助記憶装置のインタフェ
ースに合わせることも有効であると考える。あるいは複
数の補助記憶装置のインタフェースを同時にサポート
し、ホストからは別の補助記憶装置を利用しているよう
にみえるが、実際には1台のフラッシュファイルシステ
ムでまかなうというのはスペース的に非常に有効であ
る。さてコマンドレジスタ208はホストによりコマン
ドを書き込まれると割込み信号210をプロセッサ3に
対して発し、これを受けたプロセッサ3は書き込まれた
コマンドコードを解釈して、ホストのコマンド要求に応
える。なおインタフェースレジスタ群207やコマンド
は全てハードディスクドライブに対応するものである
が、記憶媒体が異なるものであるため、不必要なものや
処理が異なるものもある。例えばフォーマットは磁気デ
ィスク装置には不可欠のものであるが、半導体ディスク
ドライブでは不必要であるため、特に処理を行なわない
ようにしたり、単に規則的なデータに書き換えたりとい
った処理にする。以下、ファイルデータのリードライト
に関してはこれまでの実施例で説明したものと同様の動
作とする。なお図は第1の実施例を適用しているが、こ
れまで説明したあるいはこの後説明する他の実施例にそ
のまま適用することも可能である。
【0019】図18はフラッシュファイルシステムを補
助記憶装置とするパーソナルコンピュータの一例の構成
図である。図中、221は本情報機器のCPU、222
はコプロセッサ、223は本実施例の情報処理システム
内部に構築した標準I/Oバス、224は標準I/Oバス22
3を構築するバスユニット、225は主メモリや拡張メ
モリなど高速メモリをアクセスするメモリ制御ユニッ
ト、226は主メモリ、227は基本制御プログラムが
格納されたBIOS ROM、228はキーボードコン
トローラでこの先にはキーボードが接続されているもの
とする。229は表示アダプタでこの先には何らかの表
示装置が接続されているものとする。230は拡張メモ
リ、231はプリンタなどを接続するパラレルポートI/
F、232はマウスやRS232Cなどのシリアルポー
トI/F、233はフロッピディスクドライブ、234は
標準I/Oバス223より標準のHDDI/Fに変換するバッ
ファコントローラ、235はフラッシュファイルシステ
ムである。このフラッシュファイルシステム235の内
部は、これまでの実施例で示したものにより構成されて
おり、236はファイルアクセスを受け付けてデータの
受渡しを行なうI/Fユニットであり、図17におけるイ
ンタフェースレジスタ群207及びアドレスデコード2
09にあたる。237はフラッシュファイルシステム2
35内部のデータ管理や制御を行なうコントロールユニ
ットであり、図17におけるプロセッサ3及びプログラ
ムメモリ4、アクセスコントローラ2、ライトバッファ
9よりなる。238はファイルデータを格納するフラッ
シュメモリアレイ、239はデータ及びメモリ管理のた
めの情報を記憶するインフォメーションテーブルであ
り、図17におけるテーブル5、6、7、8を全て含む
ものである。次に動作を説明する。電源が投入されて動
作を開始するとまずCPU221はBIOS ROM2
27を標準I/Oバス223を通してアクセスし、初期診
断、初期設定を行なう。そして補助記憶装置からシステ
ムプログラムを主メモリ226にロードする。本実施例
では補助記憶装置としてフラッシュファイルシステム2
35を採用している。ただしCPU221は標準I/Oバ
ス223を通してHDDコントローラ234にHDDを
アクセスするものとして動作する。従ってフラッシュフ
ァイルシステム235は内部のI/Fユニット236によ
ってHDD完全互換のI/F機能をサポートしている。シ
ステムプログラムのロードが終了すると、ユーザの処理
要求に従い、処理を進めていく。なおユーザは標準I/O
バス223上のKBDC228や表示アダプタ229に
より処理の入出力を行ないながら作業を進める。そして
必要に応じてパラレルI/F231、シリアルI/F232に
接続された入出力装置を活用する。また本体上の主メモ
リ226では主記憶容量が不足する場合は、拡張RAM
230により主記憶を補う。ユーザがファイルを読み書
きしたい場合にはユーザはHDDが補助記憶装置である
ものとして補助記憶装置へのアクセスを要求し、フラッ
シュファイルシステム235はそれを受けてファイルデ
ータのアクセスを行なう。本実施例によれば標準的なパ
ーソナルコンピュータの標準的なI/Oバス上に、現在
最も一般的な補助記憶装置であるHDDを搭載している
かのように、フラッシュファイルシステムを採用してい
る。従って新しい記憶媒体としてフラッシュファイルシ
ステムを採用してもBIOS ROMやシステムプログ
ラムをHDDを搭載していたものに対し変更を加えなく
てもそのまま使用できる。なお上記実施例は標準的なパ
ーソナルコンピュータを例にしており、主メモリや拡張
メモリが標準I/Oバス上にあったり、コプロセッサや
パラレルI/F、シリアルI/Fが存在しない構成の情報機器
も考えられこれらに関しても本発明の適用が可能であ
る。
【0020】次にフラッシュメモリの不良発生に対処す
る実施例について図19を用いて説明する。フラッシュ
メモリは原理的に書き換え回数に限界があることはすで
に述べているが、書き換えによる劣化が進むとデータ消
去書き込みの消費時間が長くなり、またデータの保持信
頼性に問題が出てくる。そこでメモリの劣化により使用
すべきでない状態に達した、と判断されたときにはその
記憶領域あるいはメモリチップの使用を中止すべきであ
る。そしてそのような領域が増え、フラッシュファイル
システム全体の寿命が近づいたと判断されたときには、
そのフラッシュファイルシステムの使用を中止すべきで
ある。フラッシュメモリの劣化を検出する方法として
は、消去を繰返し行っても規定回数以内で消去が完全に
ならない、あるいは消去時間がある規定時間以上かかっ
てしまう、という消去不良から判断する方法。そして書
き込みを繰返し行っても規定回数以内で書き込みが完全
にならない、という書き込み不良から判断する方法。ま
た消去回数を管理して規定回数以上に達してしまったこ
とから判断する方法が考えられる。そして劣化して使用
不能に陥った記憶容量がある規定値に達したところでフ
ラッシュファイルシステムとしての寿命と判断する。図
19はそれをユーザに警告するための手段を実現する一
実施例であり、図中240はフラッシュファイルシステ
ム235内のコントローラが自システムの使用限界を認
識し、これをホストシステムに伝えるための割込み信号
であり、241は使用限界に達したことを示すエラー報
告レジスタである。ホストはHDDバッファ234を通
して割込み信号240を受けるとフラッシュファイルシ
ステム内のレジスタ241をアクセスして状況を把握
し、適宜ユーザに報告する。図20はこの動作を実現す
るソフトウェアをフローチャートで示したものであり、
(1)はフラッシュファイルシステム内でのチェックル
ーチンのフローチャート、(2)はホストシステムでの
ユーザへの警告プログラムのフローチャートである。図
の説明を兼ねながら動作説明を行なう。フラッシュファ
イルシステムのコントローラは使用限界に達したと見ら
れる記憶領域が検出できたらこのルーチンにジャンプし
てくる。そして使用限界の記憶領域の容量を加算してい
く(a)。そしてある限界値に達した場合(b)には、
自システム内のエラー報告レジスタにエラー内容として
使用限界に達したことを示す値を書き込む(c)。そし
てホストへの割込み信号を出力して(d)、本ルーチン
を終了する。なお(a)の容量の加算値はフラッシュメ
モリ内あるいは他のメモリに保持しておく必要がある。
また(b)の残り容量の限界値はシステムに応じて適宜
設定するものとする。さて(d)による割込み信号を受
けたホストシステムでは、区切りの良いところで処理を
中断し(2)のフローチャートで示したルーチンに入
り、まずフラッシュファイルシステム内のエラー報告レ
ジスタをアクセスし割込みを受けた理由を判別し
(e)、これがフラッシュファイルシステムの使用限界
に達したための使用中止要求であったら(f)、それ以
後のフラッシュファイルシステムのアクセスを禁止し
(g)、ユーザに警告する(h)。警告の方法として
は、情報機器の表示装置を利用したり警告インジケータ
を取り付けるなど視覚的に訴える方法と、警告音を発す
るなどの聴覚的に訴える方法が考えられる。また、書き
込みアクセスだけを禁止しリードアクセスは許可するよ
うにするとファイルデータのバックアップがとれるよう
になる。本実施例によればフラッシュファイルシステム
が使用限界に達したらすぐにユーザに知らせることがで
き、データの信頼性を増すことができる。別の実施例と
して図18における割込み信号240は設けずに、ホス
トシステムがアクセスの度にエラー報告レジスタを読み
出すこととして、図20(2)のルーチンを実行する。
本実施例によればホストシステムのハードウェア構成を
従来と全く変えずに、HDDをそのまま置き換えて、使
用限界報告ができる。また別の実施例としては、定期的
に保守プログラムをホストシステムで実行し、その際に
エラー報告レジスタ241を読み出して、使用限界に達
していないかをチェックすることにより、使用限界を認
識する。本実施例によればホストシステムのBIOSプ
ログラムやシステムプログラムに全く変更を加える必要
がない。
【0021】次に電源遮断時の処理に対応する実施例を
示す。本発明のフラッシュファイルシステムは基本的に
補助記憶装置であり、ホストシステムより電源を供給さ
れる構成が一般的である。しかし動作的にはホストとは
非同期であるため、ホストが非動作中にもフラッシュフ
ァイルシステムが動作している場合もある。しかしホス
トを扱うユーザがそれを認識していないとホストの電源
を落してしまい、動作中のフラッシュファイルシステム
への電源供給が停止してしまう、ということが起こり得
る。そこでこれに対応する発明の実施例を図21に示
す。図21はホストからの電源供給が停止した後も、フ
ラッシュファイルシステムが動作を続けられるようバッ
テリでバックアップ電源を供給する構成のシステムの図
であり、図中、251はホストとなるパーソナルコンピ
ュータ等の情報機器、252はフラッシュファイルシス
テム、253はバックアップ用のバッテリ、254はホ
スト251の電源が遮断されたときに、バッテリ253
の電力がホスト251に逆流しないための逆流遮断回路
である。255はホスト251からの電源供給が絶たれ
たことを検出する検出回路、256はその出力である検
出信号、257はバッテリ253のフラッシュファイル
システム252への電力供給を遮断する遮断回路、25
8はフラッシュファイルシステム252が処理途中であ
った処理を終了し、電源供給を必要としなくなったため
遮断回路257を動作させる遮断信号である。ホスト2
51から電源が供給されている間は、ホスト251の電
源によりフラッシュファイルシステムが駆動される。こ
れはバッテリ253の出力電圧とホスト251の供給電
圧をうまく調整することによりバッテリ253にトリク
ル充電を施すことができる。ただしバッテリ253が2
次電池でない場合には流入防止のダイオードなどを付加
する必要がある。そしてホスト251の電源が落されて
フラッシュファイルシステム252への電力供給が停止
されると、バッテリ253から電源が供給されてフラッ
シュファイルは動作を続けることができる。そして電源
遮断検出回路255が電源遮断を検出すると、検出信号
256によりフラッシュファイルシステムがこれを認識
し、処理中の作業を完了させ、その後電源遮断処理を行
う。電源遮断処理では最後に遮断信号258によりバッ
テリ遮断回路257を遮断させて、フラッシュファイル
システムの動作を終了する。なお逆流遮断回路254は
逆流防止用ダイオードを用いる方法が挙げられる。本実
施例によればホスト251はフラッシュファイルシステ
ムと信号上は完全に分離しているため、ホストのアクセ
ス要求によるデータのやりとりだけとなり、ホストの動
作停止はホスト内で閉じることができる。つまりホスト
はフラッシュファイルシステムを接続したことによるハ
ード上の変更の必要がない。
【0022】図22はホストの電源遮断に対応する別の
実施例である。ただし図22の例では実際にはホストの
電源による供給を続ける方式である。図中、258はホ
スト251からフラッシュファイルシステム252に供
給される電源ライン、259はフラッシュファイルシス
テム252が作業中であり、電源供給の必要があること
を示す電源ビジー信号である。ホスト251の電源回路
は電源スイッチがOFFになっても電源ビジー信号25
9がアクティブの間は電源供給を停止せずに、フラッシ
ュファイルシステムの処理が全て終了して電源ビジー信
号259がインアクティブになったら電源供給を停止す
る。つまりユーザにとってはホストの情報機器の電源ス
イッチを切り、電源を遮断してしまったものとした時で
も実動作上は遮断されずに、フラッシュファイルシステ
ム252の作業終了を待機する。本実施例によればフラ
ッシュファイルシステムの動作終了をホストが認識して
電源を制御することにより、バックアップ電源などが必
要なくフラッシュファイルシステムの電源回路の構成が
シンプルになる効果がある。
【0023】次に本発明の第5の実施例を述べる。図2
5は本発明を実現するためのハードウエア構成であり、
図26は本発明のフラッシュメモリ内の記憶構成を示し
た図であり、図27はデータ書き込みのためのフローチ
ャートである。便宜上図26より説明する。図中、31
1は512バイト(4キロビット)を単位とする記憶領
域で、実際にデータを書き込むセクタであるため物理セ
クタと呼ぶ。これに対し記憶データの供給側は、論理セ
クタと呼ぶ仮想のセクタによりデータを管理することと
する。全ての物理セクタ311および論理セクタにはそ
れぞれ相関性の全くない番号を付す。312はデータを
一括消去する単位となる消去ブロックであり、その容量
はメモリにより異なる。例えば消去ブロック単位が16
キロバイトであれば32物理セクタが1ブロックとな
る。313はメモリチップであり、消去単位16キロバ
イトで4メガビットのチップであれば32ブロック10
24セクタに区分けされる。チップ単位でしか消去でき
ないものは1チップ1ブロック、物理セクタごとに消去
できるものはブロック数と物理セクタ数は同一である。
フラッシュメモリは消去が行われたブロックに対して
は、そのブロック内においてランダムライトアクセスが
可能である。ただし一回書き込んだら次の消去を行わな
ければ書き込みはできない。従って複数セクタを1ブロ
ックとするメモリにおいては、各セクタが全て書き込ま
れてから消去すべきである。以下の説明においてはフラ
ッシュメモリは4メガビットのチップで、消去ブロック
が16キロバイト(128キロビット)のものを使用す
ることとする。図26はまさにその構成のメモリを図示
している。図25はこのメモリチップ313を用いた場
合のハードウエア構成で、図中301は書き込みデータ
の記憶領域であるフラッシュメモリ、302はフラッシ
ュメモリ301をアクセスするアクセスコントローラ、
303は記憶データやステータスデータを操作するプロ
セッサ、304は記憶してある論理セクタ番号のデータ
がフラッシュメモリ301のどこの物理セクタに記憶さ
れているかを参照するために物理セクタ番号が記録され
ている論理セクタテーブル、305はフラッシュメモリ
301の物理セクタ311が記憶している論理セクタ番
号を参照するための物理セクタテーブル、306は各ブ
ロックのステータスを記憶するブロックテーブルで、そ
のブロックが使用可能であるか、あるいはそのブロック
には何セクタ書き込まれているか、などが記録される。
307はフラッシュメモリは書き込み速度が読みだしに
比べ非常に遅いため、書き込みデータを一時的に保持し
てデータの供給側に速くバス権を復帰させるためのライ
トバッファである。308は後述の整理ルーチンにおい
て整理データを一時的に保持する整理データバッファで
ある。図27は図25の構成において書き込みを行うた
めの図25のプロセッサ303の動作を説明するフロー
チャートである。以下このフローチャートに従って動作
を説明する。書き込むデータを記憶する際は1セクタ=
512バイト単位により行う。すなわち512バイトに
満たないデータも512バイトの記憶領域に格納され
る。その1セクタ単位のデータに番号を付し、これを論
理セクタ番号とする。データの供給側はこの論理セクタ
番号だけを意識すればよいものとする。今、データ供給
側が1セクタの書き込みを要求したとすると、このデー
タに、ある論理セクタ番号を付し、以後このデータは書
替えが起こっても先の論理セクタ番号で扱われる。一方
データの記憶側ではこのデータの格納場所を決定する。
格納場所は書き込みポインタに指し示されたブロックの
未書き込みの最初のセクタである。つまり一つ前の書き
込みをした物理セクタの次のセクタである。例えば図2
6において一つ前の書き込みを第1ブロックの第3物理
セクタに書き込んだ場合、次の書き込みは第1ブロック
の第4物理セクタに書き込みを行うものとする。この際
のデータの格納場所の判断をプロセッサ303がブロッ
クテーブルをアクセスして行う。この作業がフロチャー
ト内の(a)である。(b)は書き込みに問題ない場合は
そのブロックの書き込みセクタ数をインクリメントして
データを書き込む。実際のライトアクセス制御はアクセ
スコントローラ302により行う。そして書き込み後は
物理セクタテーブルおよび論理セクタテーブルに書き込
んだセクタ番号をそれぞれ記録する。また以前に書き込
んでいる論理セクタの再書き込みであれば、物理セクタ
テーブルに以前書き込んだ論理セクタ番号を消去する。
これはその物理セクタのデータは無効であることを示す
ための動作である。(c)の整理ルーチンとは書き込み
ポインタの指し示すブロックがすでに全セクタ書き込ま
れており、書き込み不可能である時の動作ルーチンであ
る。これは後述の図28のフローチャートにより説明す
る。(d)はブロックがこわれていたり、整理ルーチン
に入った場合には書き込みが不可能であるため、そのブ
ロックへの書き込みを中止し、次のブロックへの書き込
みを行うための動作である。一方リードアクセスの際は
必要なデータが格納されている論理セクタ番号で論理セ
クタテーブルを参照し、物理セクタ番号を割り出して必
要なデータを読み出す。次に整理ルーチンについて説明
する。整理ルーチンが必要となる理由は、これまで説明
した書き込み方法では同じファイルのデータの書き替え
において別の物理セクタへ書き込みを行う。すなわち書
き替える前に書き込んだデータは不要となるがメモリ上
には記憶されたままであり消去すべきデータである。し
かし不要となるたびに消去していたのでは消去回数が有
限であるフラッシュメモリにとっては寿命を短くするこ
とになる。そこで整理ルーチンによって消去する。整理
ルーチンはブロックが書き込みデータで一杯になったと
きに行う。整理の具体的な方法は、図28のフローチャ
ートに従って行う。以下フローチャート内の各部の説明
をする。(a)整理するブロック内の全データを一度図
25の整理データバッファ308に退避する。(b)退
避し消去可能になったところでそのブロックを消去す
る。(c)整理データバッファにある各セクタの物理セ
クタテーブルを参照して、データが必要か不必要かを判
断する。(d)必要なデータであれば再びそのブロック
に書き込む。以上が本発明の一実施例の動作説明であ
る。本実施例によればフラッシュメモリの各消去ブロッ
クの消去が一部に集中せずに順番に行われるため、寿命
が延びるという効果が期待できる。また書き込みにおい
てフラッシュメモリの書き込み速度が遅いという欠点を
補う効果がある。また不必要なデータを効率的に消去す
るため、半導体ディスクとして常に記憶容量を保ってい
られる効果がある。
【0024】次に他の実施例を説明する。図29はフラ
ッシュメモリの劣化を判定する装置の1構成例であり、
図中401はフラッシュメモリセル、402は消去制御
の開始から終了するまでの時間を測定する消去時間測定
タイマ、403はフラッシュメモリセル401に書き込
まれているデータを消去するための制御を行う消去制御
回路、404はフラッシュメモリセル401の劣化度を
記憶する劣化度管理テーブル、405はこれらを統括制
御するコントローラ、406は劣化管理コントローラ4
05が消去制御回路403に消去を開始させる際に消去
時間測定タイマ402を同時に起動するための起動信
号、407は消去制御回路403が消去処理の終了を消
去時間測定タイマ402に知らせる終了信号、408は
消去時間測定タイマが測定した測定データである。図3
0は図29のコントローラ405の動作を説明するフロ
ーチャートであり、フラッシュメモリの劣化の判定をこ
のフローチャートに従って行う。次に動作を図29、図
30を用いて説明する。まずシステム全体の制御からあ
るメモリセル401に消去の動作が必要になったとき、
コントローラ405が消去要求を受ける(図30a)。
するとコントローラ405は消去制御回路403に消去
箇所と消去動作の開始を指示する(図30b)。これを
受けた消去制御回路403は該当するメモリセル401
の消去動作を開始する(図30c)。これと同時にコン
トローラ405は消去時間測定タイマ402を起動する
(図30d)。コントローラ405は消去終了まで待機
し、メモリ制御回路403がメモリセル401の消去を
完了すると、コントローラ405にそれを伝える(図3
0e)。コントローラ405は消去時間測定タイマ40
2を参照して消去に費やした時間を認識し、劣化の度合
いを判別してそれに応じた番号をその記憶領域に付す。
例えば劣化の度合いを8段階に分け、未使用状態と同様
な消去時間であれば"0"、劣化が進んで使用不可能な状
態を"7"としその間の段階を"1"から"6"の番号をあて
る。そしてその記憶領域に付した番号を劣化度管理テー
ブル404に格納する(図30f)。劣化度を8段階に
することにより、一つの記憶領域を1バイトに割り当て
られ、管理がし易くなる。各記憶領域の扱いは、この劣
化度管理テーブルをもとにする。劣化度が一つ進んでし
まった領域はその都度劣化の小さい領域のデータを転送
して劣化の進行をとめ、全記憶領域の劣化の平均化を図
る。また劣化が最終段階に達した領域は使用を禁止す
る。これは記憶システム全体を統括して制御するコント
ローラが行う処理である。この記憶システムのコントロ
ーラの動作フローを図31に示した。同図を追って順に
説明すると、ホストシステムから記憶システムにライト
アクセス要求があり、データの書き込みを行う際に記憶
システムのコントローラが消去動作を必要とすると判断
したら(図31a)、図29のコントローラ405に消
去と劣化管理の要求を出す(図31b)。消去動作が終
了すると、消去を行った記憶領域の劣化度を図29の劣
化度管理テーブル404により参照し(図31b)、劣
化が進んでいた場合は劣化が最も進んでおらず、かつ入
替えをまだ行っていない領域を探し出して(図31
c)、データを転送して入替えを行う(図31d)。こ
の劣化が最も進んでおらず、かつ入替えをまだ行ってい
ないという判断は、第1の実施例で説明した入換えフラ
グを利用した方が効率的である。これは一度上記入替え
処理を行った領域は、格納されているデータが劣化の進
まないデータ(書換えが起きにくいデータ)ではないた
め、劣化平均化の入換えに使用すべきではなく、入換え
フラグを立てて明示する。なお本実施例では記憶システ
ム全体の制御と劣化判定の装置における制御を分け、コ
ントローラを別のものにしているが、コントローラ40
5を記憶システムのコントローラと共用しても良い。ま
た消去時間測定タイマ402もハードウェアとして構成
されているが、コントローラによるソフト制御による消
去時間測定でもよい。記憶システムの部品点数削減を目
指すならこれらはなすべきことである。本実施例によれ
ば劣化管理のためのテーブルをこれまでの実施例で採用
していた消去管理テーブルに変えることができ、使用す
る記憶領域を飛躍的に節約することができる。しかもメ
モリの劣化という判定においては消去回数よりも消去時
間の方がより直接的な判定材料となるため、より正確な
劣化度の把握と、劣化の平均化が図れる効果がある。
【0025】次に図24の実施例を利用した消去回数管
理の別の実施例を図32により説明する。これまでの実
施例における消去回数管理の方法は、消去が行われると
1回ずつカウントアップして消去回数を細かく把握して
いたが、本実施例では消去回数管理テーブルの記憶容量
削減のため下位のビットを切り捨ててしまう。図24の
実施例では通常の使用状態においては消去回数をSRA
MやDRAMなどの揮発性メモリに最下位ビットまで格
納し、電源遮断時にフラッシュメモリに転送することと
していたが、この転送時に下位のビットから1ビット以
上を切り捨てる(図32a)。あるいは桁上げして転送
する(図32b)。なお捨ててしまう下位のビットは、
消去回数の把握による劣化の認識が確度を失わない程度
として、フラッシュメモリの消去回数の制限値により最
適値を考えるべきであり、ビット切捨てにより切り捨て
られてしまう消去回数の最大値がフラッシュメモリの消
去回数の保証値の1%を越えない程度とする。つまり消
去回数の保証値が1万回であれば、100回を越えない
6ビット(最大値63)を切捨ての限度とする。本実施
例によれば消去回数の把握が正確でなくなるが、誤差は
フラッシュメモリの消去回数の保証値の1%以下とした
ため、もともと保証値の確度が一桁程度の幅があること
から、消去が起きる傾向が強いデータか否かを判断する
ものであると考えれば、本質的な問題とはならない。こ
れにより消去回数の管理に使用するフラッシュメモリの
容量を削減することができる効果は大きい。
【0026】次にテーブル領域を削減するための他の実
施例を説明する。図33はこれまでの実施例で説明して
いる物理セクタテーブル及び論理セクタテーブルを省略
した記憶システムの構成図である。ただしこれらの代わ
りになるアドレス変換テーブル411を備える。他の既
出の番号はアドレス変換テーブル411は劣化度平均化
のためのデータ入替えを行っていない記憶領域のアドレ
ス入力に対しては変換を行わず、データ入替えを行って
いる記憶領域のアドレス入力に対しては、入れ替えた先
のアドレスを出力するテーブルである。従って物理セク
タテーブルや論理セクタテーブルを必要とせず、基本的
にはシステムからアクセス要求のあったアドレスをその
ままメモリ上の物理的なアドレスに対応してアクセス
し、その領域の劣化が進んで劣化度の平均化のためのデ
ータの入替えを行ったら、アドレス変換の対象となる。
本実施例は第1に実施例のような、ファイルデータの記
憶単位(セクタ)と消去単位が一致している場合にだけ
適用できる。そしてアドレス変換テーブルの容量は変換
可能にできる領域の容量に依存する。すなわちアドレス
変換テーブルの容量を小さくすれば変換を行える記憶容
量が小さくなり、大きな領域を確保すれば多くの領域の
アドレスを変換できるようになる。これはシステムの寿
命に直接関与する要因である。なお図33は第1の実施
例に改良を加えた形となっているが、消去管理テーブル
7の代わりに図29により説明した劣化度管理テーブル
を備えた実施例にも適用できる。本実施例によれば、デ
ータ管理が簡素化され、またテーブル領域を大きく削減
できる効果がある。
【0027】次に動作中を示すインジケータを設ける実
施例を説明する。図34は本実施例を示した内部構成例
を示した図であり、図17をもとにしており既出の番号
は図17と同様のものである。その他図中421はライ
トバッファ9からフラッシュメモリ1へのデータの転送
中を示すプロセッサ3の出力ポート信号、422は出力
ポート信号421により転送中であることを発光により
示すインジケータである。インジケータとしては発光ダ
イオードが適当である。図35は本実施例の外観図であ
り、(1)はカード形状の全体図、(2)は使用中の例
を示した図である。図中423は本発明の補助記憶装置
であるICカード、424はコネクタ、425は発光ダ
イオード、426はホストパソコンである。図34にお
いて標準IOバス201によりホストのパソコンが補助
記憶装置205に書き込みアクセス処理の要求をして来
ると、プロセッサ3はライトデータをライトバッファ9
に格納するよう処理する。そしてそれが完了すると標準
バス201に書き込み完了を示す信号を出力する。その
後、プロセッサ3はライトバッファ9に格納されたデー
タをフラッシュメモリ1に転送、格納する。この処理を
行っている間プロセッサ3は出力ポート信号421をア
クティブにしてインジケータ422を発光させる。そし
てライトバッファ9からフラッシュメモリ1への転送が
終了したらプロセッサ3は出力ポート421をインアク
ティブにしてインジケータ425の発光を停止する。図
35(1)はICカード形状で適用した例で、コネクタ
とは反対側の側面にインジケータ425を取付け、パソ
コン本体に取り付けた状態でインジケータ425の点灯
が確認できるようにしている。(2)はノート型パソコ
ンに実際に挿入した様子を示しており、ユーザはインジ
ケータ425の点灯、非点灯を確認しながら作業ができ
る。ただしユーザが点灯を確認しなければならないのは
基本的に電源を遮断するときだけである。本実施例によ
れば、回路構成が比較的単純であり、またインジケータ
の視認性が良くユーザの誤操作が防げる効果がある。
【0028】
【発明の効果】本発明によれば消去回数に限りがあるフ
ラッシュメモリを用いた補助記憶装置のデータ管理方式
において、特定の論理セクタアドレスの書換えが頻繁に
起きても物理的には同一の記憶領域を使用しないため、
また消去回数が多くなると消去回数の少ない領域のデー
タと入替えて消去回数の増加を平均化するため、システ
ムとして寿命が延びる効果がある。またデータメモリ素
子数は実際の記憶容量と一致する容量だけでよく冗長の
メモリ素子を必要としない。さらにメモリ内にデータ領
域だけでなく、情報を保持する領域や、データバッファ
領域をもたせることにより、周辺回路の素子数を減らし
システム全体の小型化に大きく貢献する。なおこのフラ
ッシュファイルシステムを搭載する情報機器はHDDを
補助記憶装置として動作するのに、実際にはフラッシュ
メモリを用いた記憶装置である、という構成にすること
により、一般的な情報機器のハードウェアを変更するこ
となしにフラッシュファイルシステムを補助記憶装置と
することができる。またフラッシュメモリの書き換え回
数に限界があることにより、記憶装置としての寿命が信
頼性に大きく関わるが、使用限界に達したことを認識し
ユーザに報告する機能を持たせ、記憶装置としての信頼
性を向上させることができる。またフラッシュメモリの
書き込み速度が遅いために、ホスト側が電源を落されて
もフラッシュファイルシステムとしては処理が残ってい
るときには、バックアップバッテリにより処理を継続し
たり、ホストの電源装置を適宜制御することにより、デ
ータの消失を防ぐことができる。またフラッシュメモリ
の劣化度を消去時間で診断し、劣化が激しくなったらあ
まり劣化していない領域の格納データを格納することに
より、劣化の進行を抑えることができる。フラッシュメ
モリの劣化は消去時間の長短で認識できるため、正確な
劣化の進行度を把握でき、また劣化の段階で記憶すれば
劣化度の情報の記憶を比較的少ない記憶容量で行うこと
ができる効果がある。また物理セクタテーブルや論理セ
クタテーブルを省略して、セクタ番号変換テーブルを備
えることにより、システムに応じてテーブル領域を節約
することができ、ファイルデータ以外の情報データの格
納領域を小さくできる効果がある。またインジケータを
補助記憶装置に設けることにより、ホストパソコンの表
示画面上のプロンプトだけでは補助記憶装置の動作状態
が不明であるため、先述のような電源制御を採用してい
ないシステムの場合には補助記憶装置の動作中に誤って
電源を落すのを未然に防ぐことができる。
【図面の簡単な説明】
【図1】本発明における第1の実施例のハードウエア構
成図。
【図2】本発明における第1の実施例のフラッシュメモ
リチップの記憶構成図。
【図3】本発明における第1の実施例の動作を示すメイ
ンルーチンのフローチャート
【図4】本発明における第1の実施例の消去管理動作を
示す消去管理ルーチンのフローチャート
【図5】本発明における第2の実施例のハードウエア構
成図。
【図6】本発明における第2の実施例のフラッシュメモ
リチップの記憶構成図。
【図7】本発明における第2の実施例の動作を示すメイ
ンルーチンのフローチャート
【図8】本発明における第2の実施例のセクタ整理動作
を示す整理ルーチンのフローチャート
【図9】本発明における第2の実施例の消去管理動作を
示す消去管理ルーチンのフローチャート
【図10】本発明における第3の実施例のハードウエア
構成図。
【図11】本発明における第3の実施例のフラッシュメ
モリチップの記憶構成図。
【図12】本発明における第3の実施例の消去管理動作
を示す消去管理ルーチンのフローチャート
【図13】本発明における第4の発明のハードウエア構
成図
【図14】消去ブロックごとにテーブルを持たせたフラ
ッシュメモリチップの構成図
【図15】データ領域とは別に情報を格納する領域を持
たせたフラッシュメモリチップの構成図
【図16】データ領域とは別にバッファ領域をもたせた
フラッシュメモリチップの構成図
【図17】本発明における第4の実施例のフラッシュフ
ァイルシステムのインターフェース部分のハードウエア
構成図。
【図18】本発明における第4の実施例のフラッシュフ
ァイルシステムを補助記憶装置とする情報機器の構成
図。
【図19】本発明における使用限界を報告する実施例の
構成図
【図20】本発明における使用限界を報告する実施例の
フローチャート
【図21】本発明におけるバックアップ電池を備えた実
施例の構成図
【図22】本発明における電源制御信号を備えた実施例
の構成図
【図23】データ領域とは別に情報格納領域をもたせた
フラッシュメモリのデータ格納の実施例
【図24】図13に対しEEPROMを省略した実施例
の構成図
【図25】本発明における第5の実施例のハードウエア
構成図。
【図26】本発明における第5の実施例のフラッシュメ
モリチップの記憶構成図。
【図27】本発明における第5の実施例の動作を示すメ
インルーチンのフローチャート
【図28】本発明における第5の実施例のセクタ整理動
作を示す整理ルーチンのフローチャート
【図29】時間による劣化の管理によりシステムの長寿
命化を図る実施例の構成図
【図30】図29の実施例における劣化管理コントロー
ラの動作フロー
【図31】図29の実施例における記憶システムコント
ローラの動作フロー
【図32】消去管理テーブルの記憶容量を節減する実施
例の説明図
【図33】セクタの管理テーブルの記憶容量をを節減す
るためにアドレス変換テーブルを採用した実施例の構成
【図34】補助記憶装置の動作中を示すインジケータを
設けた実施例の構成図
【図35】補助記憶装置の動作中を示すインジケータを
設けた実施例の外観図
【符号の説明】
1…フラッシュメモリ、3…プロセッサ、5…論理セク
タテーブル、6…物理セクタテーブル、7…消去回数管
理テーブル、8…ステータステーブル、9…ライトバッ
ファ、13…消去ブロック、49…書き込みセクタ数テ
ーブル、51…整理バッファ、52…物理セクタ、11
1…ワンチップマイコン、112…RAMコア、113
…ROMコア、114…EEPROM、115…DRA
MまたはSRAM、116…テーブル領域、132…テ
ーブル格納領域、142…バッファ領域、143…アド
レスカウンタ、207…I/Fレジスタ群、227…B
IOSROM、236…I/Fユニット、241…エラ
ー報告レジスタ、253…バックアップバッテリ、25
9…電源ビジー信号、402…消去時間測定タイマ、4
04…劣化度管理テーブル、411…アドレス変換テー
ブル、421…出力ポート信号 422…インジケータ、425…インジケータ(外観)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 柿 健一 神奈川県横浜市戸塚区吉田町292番地株 式会社日立製作所マイクロエレクトロニ クス機器開発研究所内 (72)発明者 和田 武史 東京都小平市上水本町五丁目20番1号株 式会社日立製作所半導体設計開発センタ 内 (72)発明者 古野 毅 東京都小平市上水本町五丁目20番1号株 式会社日立製作所半導体設計開発センタ 内 (72)発明者 戸塚 隆 東京都小平市上水本町五丁目20番1号株 式会社日立製作所半導体設計開発センタ 内 (56)参考文献 特開 平5−27924(JP,A) 特開 平7−191892(JP,A) 特開 平5−151097(JP,A) 特開 平5−198198(JP,A) 特開 平5−282880(JP,A) 特開 昭62−82600(JP,A) (58)調査した分野(Int.Cl.7,DB名) G11C 16/00 G06F 12/00

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の物理セクタを含むフラッシュメモリ
    と、 ホストシステムから指定される論理セクタ番号と該フラ
    ッシュメモリの該物理セクタごとに割り付けられた物理
    セクタ番号とを対応付ける論物対応手段と、 該ホストシステムから過去の書き込み要求の論理セクタ
    番号と同一の論理セクタ番号への書き込み要求があった
    場合に、過去の物理セクタ番号とは異なる別の物理セク
    タ番号の記憶領域に、該ホストシステムからの書き込み
    要求に伴うデータを書き込む制御部と、 該フラッシュメモリの最小消去単位毎に消去回数を記録
    した消去回数参照手段とを備え、 該制御部は、該記憶領域のデータの書き換えを行う毎に
    該消去回数参照手段の該消去回数をチェックし、該消去
    回数が該フラッシュメモリの書き換え保証回数よりも小
    さくなるように設定した規定値の整数倍に達した場合
    に、該規定値の整数倍に達した記憶領域に該消去回数が
    少ない記憶領域のデータを転送し書き込み、該消去回数
    が少ない記憶領域に別のデータを書き込むことを特徴と
    した記憶装置。
  2. 【請求項2】請求項1記載の記憶装置において、 該論物対応手段は、該物理セクタ番号に対応した物理セ
    クタの記憶領域に書き込まれているデータの該論理セク
    タ番号を登録した物理セクタ参照手段と、該論理セクタ
    番号のデータがどこの物理セクタの記憶領域に書き込ま
    れているかを該物理セクタ番号により登録した論理セク
    タ参照手段とを備えることを特徴とした記憶装置。
  3. 【請求項3】請求項1記載の記憶装置において、 該フラッシュメモリの最小消去単位の記憶領域ごとの状
    態を参照する状態参照手段を設けてあることを特徴とし
    た記憶装置。
  4. 【請求項4】請求項1記載の記憶装置において、 データがどの物理セクタに書き込むかを示す書き込みセ
    クタポインタを設け、 該書き込みセクタポインタをカウントアップまたはカウ
    ントダウンして該フラッシュメモリをアクセスすること
    を特徴とした記憶装置。
  5. 【請求項5】請求項2記載の記憶装置において、 該物理セクタ参照手段は、該フラッシュメモリに格納さ
    れ、 該論理セクタ参照手段は、揮発性記憶手段に格納され、 該ホストシステムの電源投入時に初期設定処理として、
    該不揮発性記憶手段の該物理セクタ参照手段の内容より
    該論理セクタ参照手段の内容を作り出して該揮発性記憶
    手段に格納することを特徴とした記憶装置。
  6. 【請求項6】複数の物理セクタを含むフラッシュメモリ
    と、 ホストシステムによって指定される論理セクタ番号と該
    フラッシュメモリの該物理セクタごとに割り付けられた
    物理セクタ番号とを対応付ける論物対応手段と、 該ホストシステムから過去の書き込み要求の論理セクタ
    番号と同一の論理セクタ番号への書き込み要求があった
    場合に、過去の物理セクタ番号とは異なる別の物理セク
    タ番号の記憶領域に、該ホストシステムからの書き込み
    要求に伴うデータを書き込む制御部と、 該ホストシステムからの書き込み要求されたデータを一
    時的に格納する第1の記憶手段と、 該フラッシュメモリの最小消去単位が該物理セクタの記
    憶容量より大きい場合、該最小消去単位の記憶領域を複
    数の物理セクタに分割し、ある物理セクタの消去を行う
    ために同一の最小消去単位の記憶領域に格納されている
    他の物理セクタのデータを一時的に退避するための第2
    の記憶手段を備え、 該第1の記憶手段と該第2の記憶手段を共用することを
    特徴とした記憶装置。
  7. 【請求項7】 フラッシュメモリと、 該フラッシュメモリに格納されているデータを一括消去
    するための最小単位である記憶領域ごとにメモリセルの
    劣化の度合いを診断する劣化診断手段と、 該劣化診断手段による診断結果を記憶する劣化度記憶手
    段と、 該劣化診断手段の診断結果と該劣化度記憶手段の記憶内
    容により該記憶領域に格納されている記憶内容を入れ換
    える記憶内容入換え手段とを備え、 該劣化診断手段は、該メモリセルの劣化を該フラッシュ
    メモリの記憶内容の消去に要する時間により診断するこ
    とを特徴とする記憶装置。
  8. 【請求項8】 フラッシュメモリと、 該フラッシュメモリに格納されているデータを一括消去
    するための最小単位である記憶領域ごとにメモリセルの
    劣化の度合いを診断する劣化診断手段と、 該劣化診断手段による診断結果を記憶する劣化度記憶手
    段と、 該劣化診断手段の診断結果と該劣化度記憶手段の記憶内
    容により該記憶領域に格納されている記憶内容を入れ換
    える記憶内容入換え手段とを備え、 該劣化診断手段は、該メモリセルの劣化を該フラッシュ
    メモリの格納データを一括消去する最小単位となる記憶
    領域ごとの消去回数により診断し、 該劣化度記憶手段は、該フラッシュメモリの一括消去の
    最小単位となる記憶領域ごとの消去回数を記憶し、さら
    に、記憶する該消去回数を下位のビットを1ビット以上
    切り捨てて記憶することを特徴とする記憶装置。
  9. 【請求項9】 フラッシュメモリと、 該フラッシュメモリに格納されているデータを一括消去
    するための最小単位である記憶領域ごとにメモリセルの
    劣化の度合いを診断する劣化診断手段と、 該劣化診断手段による診断結果を記憶する劣化度記憶手
    段と、 該劣化診断手段の診断結果と該劣化度記憶手段の記憶内
    容により該記憶領域に格納されている記憶内容を入れ換
    える記憶内容入換え手段とを備え、 該劣化度記憶手段は、記憶する劣化度を、フラッシュメ
    モリの記憶内容の消去に要する時間により2以上の段階
    に分け、その各段階に番号を対応して付し、その番号を
    記憶することを特徴とする記憶装置。
  10. 【請求項10】 フラッシュメモリと、 該フラッシュメモリの格納データを一括消去する最小単
    位となる記憶領域ごとの消去に費やす時間によりメモリ
    セルの劣化を診断する劣化診断手段と、 該消去に費やす時間により劣化の度合いを2以上の段階
    に分け、該段階に対応して番号を付し、これを記憶する
    劣化度記憶手段と、 該劣化診断手段により該劣化度記憶手段に記憶されてい
    た劣化の段階より劣化が1段階以上進んだと判断された
    ら、該劣化度記憶手段から劣化が低い段階にあって書き
    換えが起こりにくい記憶内容が格納されている記憶領域
    を探し出し、該記憶内容を該劣化の段階が一つ以上進ん
    だ記憶領域に転送することを特徴とした記憶内容入換え
    手段を備えることを特徴とする記憶装置。
JP31815992A 1991-11-28 1992-11-27 フラッシュメモリを使用した記憶装置 Expired - Lifetime JP3407317B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31815992A JP3407317B2 (ja) 1991-11-28 1992-11-27 フラッシュメモリを使用した記憶装置

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP3-314297 1991-11-28
JP31429791 1991-11-28
JP3175692 1992-02-19
JP4-31756 1992-02-19
JP23091492 1992-08-31
JP4-230914 1992-08-31
JP31815992A JP3407317B2 (ja) 1991-11-28 1992-11-27 フラッシュメモリを使用した記憶装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002320623A Division JP3587204B2 (ja) 1991-11-28 2002-11-05 記憶装置

Publications (2)

Publication Number Publication Date
JPH06124596A JPH06124596A (ja) 1994-05-06
JP3407317B2 true JP3407317B2 (ja) 2003-05-19

Family

ID=27459495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31815992A Expired - Lifetime JP3407317B2 (ja) 1991-11-28 1992-11-27 フラッシュメモリを使用した記憶装置

Country Status (1)

Country Link
JP (1) JP3407317B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631142B2 (en) 2006-04-28 2009-12-08 Kabushiki Kaisha Toshiba Method and apparatus for selectively storing data into cache or nonvolatile memory
US7941601B2 (en) 2006-01-17 2011-05-10 Kabushiki Kaisha Toshiba Storage device using nonvolatile cache memory and control method thereof

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822781A (en) * 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JP3782840B2 (ja) 1995-07-14 2006-06-07 株式会社ルネサステクノロジ 外部記憶装置およびそのメモリアクセス制御方法
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
JPH0997314A (ja) * 1995-09-28 1997-04-08 Canon Inc Icカード装置
JP3727983B2 (ja) * 1995-09-28 2005-12-21 キヤノン株式会社 電子カメラ
JPH0997218A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
JP3703181B2 (ja) * 1995-09-28 2005-10-05 キヤノン株式会社 フラッシュrom管理方法及び装置
JPH0997206A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
US6031758A (en) 1996-02-29 2000-02-29 Hitachi, Ltd. Semiconductor memory device having faulty cells
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
JP3534585B2 (ja) * 1997-10-21 2004-06-07 株式会社日立製作所 フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
JP3421581B2 (ja) 1998-06-29 2003-06-30 株式会社日立製作所 不揮発性半導体メモリを用いた記憶装置
FR2787601A1 (fr) * 1998-12-22 2000-06-23 Gemplus Card Int Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
JP2000295651A (ja) 1999-04-01 2000-10-20 Murata Mfg Co Ltd 無線通信装置
CN1088218C (zh) * 1999-11-14 2002-07-24 邓国顺 用于数据处理系统的快闪电子式外存储方法及其装置
JP4812192B2 (ja) * 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
JP4058322B2 (ja) 2002-10-07 2008-03-05 株式会社ルネサステクノロジ メモリカード
JP4696500B2 (ja) * 2004-08-24 2011-06-08 ソニー株式会社 メモリ管理方法および装置
JP4817836B2 (ja) 2004-12-27 2011-11-16 株式会社東芝 カードおよびホスト機器
JP4215746B2 (ja) 2005-05-20 2009-01-28 Necインフロンティア株式会社 情報処理装置および寿命監視方法
JP2007103640A (ja) * 2005-10-04 2007-04-19 Sony Corp 不揮発性半導体メモリデバイス
JP4836647B2 (ja) 2006-04-21 2011-12-14 株式会社東芝 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
US8234457B2 (en) * 2006-06-30 2012-07-31 Seagate Technology Llc Dynamic adaptive flushing of cached data
JP5102299B2 (ja) * 2006-09-28 2012-12-19 サンディスク テクノロジィース インコーポレイテッド メモリカードの寿命末期の回復およびサイズ変更
JP4912174B2 (ja) 2007-02-07 2012-04-11 株式会社日立製作所 ストレージシステム及び記憶管理方法
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
JP2009252255A (ja) 2008-04-01 2009-10-29 Renesas Technology Corp 不揮発性半導体記憶装置
JP2008217811A (ja) * 2008-04-03 2008-09-18 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
JP5384965B2 (ja) * 2009-02-23 2014-01-08 サトーホールディングス株式会社 プリンタ装置
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
JP2011070346A (ja) * 2009-09-25 2011-04-07 Toshiba Corp メモリシステム
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
JP6107802B2 (ja) * 2014-12-15 2017-04-05 コニカミノルタ株式会社 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム
JP6421042B2 (ja) * 2015-01-16 2018-11-07 ルネサスエレクトロニクス株式会社 情報処理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6282600A (ja) * 1985-10-08 1987-04-16 Nitto Kohki Co Ltd 電気的消去・書込み可能なメモリ装置
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JPH05151097A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
JP3178909B2 (ja) * 1992-01-10 2001-06-25 株式会社東芝 半導体メモリ装置
JP3251968B2 (ja) * 1992-01-20 2002-01-28 富士通株式会社 半導体記憶装置
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941601B2 (en) 2006-01-17 2011-05-10 Kabushiki Kaisha Toshiba Storage device using nonvolatile cache memory and control method thereof
US7631142B2 (en) 2006-04-28 2009-12-08 Kabushiki Kaisha Toshiba Method and apparatus for selectively storing data into cache or nonvolatile memory

Also Published As

Publication number Publication date
JPH06124596A (ja) 1994-05-06

Similar Documents

Publication Publication Date Title
JP3407317B2 (ja) フラッシュメモリを使用した記憶装置
KR960012360B1 (ko) 플래시메모리를 사용한 기억장치
US8031536B2 (en) Storage device employing a flash memory
JP3587204B2 (ja) 記憶装置
JP4086083B2 (ja) フラッシュメモリを備えた情報機器
JP3938208B2 (ja) フラッシュメモリを備えた情報機器
JP3826936B2 (ja) 記憶装置
JP4442708B2 (ja) フラッシュメモリを備えた情報機器
JP4396765B2 (ja) フラッシュメモリを備えた情報機器
JP2004303278A (ja) 情報処理システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120314

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 10