JPH10320984A - 記憶装置 - Google Patents

記憶装置

Info

Publication number
JPH10320984A
JPH10320984A JP12611297A JP12611297A JPH10320984A JP H10320984 A JPH10320984 A JP H10320984A JP 12611297 A JP12611297 A JP 12611297A JP 12611297 A JP12611297 A JP 12611297A JP H10320984 A JPH10320984 A JP H10320984A
Authority
JP
Japan
Prior art keywords
data
sector
memory
stored
area
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
Application number
JP12611297A
Other languages
English (en)
Inventor
Yasuto Nakai
康人 中井
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.)
Sharp Corp
Original Assignee
Sharp Corp
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
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP12611297A priority Critical patent/JPH10320984A/ja
Publication of JPH10320984A publication Critical patent/JPH10320984A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 データの書込み時にデータの消去回数を平準
化させる。 【解決手段】 フラッシュメモリ3は、物理セクタ毎に
データを個別に書込み、複数の物理セクタからなるブロ
ック毎に、データを消去する。全ブロックのうちの少な
くとも1つのブロックを予備状態にする。物理データの
書込み時には、データの一致の是非と上書きの可否と未
使用状態の物理セクタの有無とを判定し、データが一致
せずかつ上書きができない場合であって未使用状態の物
理セクタがないときだけ、無効状態の物理セクタを含む
最小の消去回数のブロックと予備状態のブロックとのデ
ータを入換える。さらに、全ブロックのうちで最大の消
去回数と最小の消去回数との差分が予め定める基準回数
以上であるとき、消去回数が最小であるブロックと予備
状態のブロックとのデータを入換える。これによって、
ブロックの消去回数が平準化される。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、書込み可能な不揮
発性メモリを用いた記憶装置に関する。
【0002】
【従来の技術】近年、ワードプロセッサ、パーソナルコ
ンピュータ、または電子手帳と呼ばれる携帯情報端末で
は、データを記憶させるための記憶装置に、フラッシュ
メモリが用いられる。フラッシュメモリは、データを電
気的に消去可能であってかつ書込み可能な不揮発性メモ
リの一種類であり、電力の供給の有無に拘わらず、記憶
内容を保持することができる。消去可能であって書込み
可能な不揮発性メモリには、他に、EPROM(Erasab
ie Progurammable Read Only Memory)、およびEEP
ROM(Electrically EPROM)が挙げられる。
【0003】フラッシュメモリでは、データの消去、い
わゆるイレースは、16kバイトまたは64kバイトか
らなるブロック単位で行われる。消去後、ブロックは初
期状態に戻り、このときブロックのビットはすべて1で
ある。データの書込みはバイト単位で行うことができ
る。データを書込む場合、フラッシュメモリに記憶され
たデータを消去することなく書込む上書きは、ビットを
1から0に書換えるときだけ行うことができる。ビット
を0から1に書換えるとき、上書きができないので、そ
のブロックのデータを消去してブロック全体を初期状態
に戻した後、ブロックに記憶させるべきデータを再度書
込む必要がある。
【0004】フラッシュメモリに16kバイトのデータ
を書込むための処理時間は、たとえば0.2秒以上〜
0.3秒以下である。また、フラッシュメモリから16
kバイトのブロックのデータを消去するための処理時間
は、たとえば約1秒である。ゆえに、フラッシュメモリ
にデータを記憶させる場合、ブロックの初期化のために
データの消去を行うとき、データを記憶させるための処
理全体の処理時間が、ブロックの初期化を行わずに上書
きだけによってデータを記憶させるときと比較して、格
段に長くなる。
【0005】また、フラッシュメモリは、各ブロックの
消去回数に予め制限がある。現行のフラッシュメモリで
は、消去の最大可能回数はたとえば10万回である。フ
ラッシュメモリ内の複数のブロックのうちのいずれか1
つのブロックの消去回数が最大可能回数を越えたとき、
そのフラッシュメモリは以後使用することができなくな
る可能性があるので、フラッシュメモリを交換する必要
がある。
【0006】データの書込みのための処理全体の処理時
間を短縮するための第1の従来技術が、特開昭62−2
89999号公報に開示される。本公報のデータの書込
み方法では、EEPROMであるデータメモリ部に記憶
されたデータを読出し、該データとデータメモリ部に書
込むべきデータとを比較する。両データが一致すると
き、データの書込み時間を短縮するために、そのデータ
をメモリに書込まない。このように、前記両データが一
致することは頻繁に起こらないので、この判定だけを行
っても、データの消去回数を大幅に減少させることは困
難である。
【0007】フラッシュメモリの使用時間、すなわち寿
命を延ばすための従来技術として、以下に示す第2〜第
8の従来技術が挙げられる。
【0008】第2の従来技術は、特開平7−45085
号公報に開示される。本公報のデータ書込み装置では、
EPROMのビットを1から0に書換える回数を減少さ
せるために、書込むべきデータのうちで0であるビット
の数が1であるビットの数より多いとき、該データの各
ビットの値を反転させた後に書込む。このデータ書込み
装置によってデータを書込んだEPROMからデータを
読出すとき、まず、ビットの反転の有無を判定し、その
判定結果に応答して、ビットを反転させてまたはそのま
ま出力する。このため、このEPROMからデータを読
出すための読出し装置の構成および読出し手法が複雑に
なる。
【0009】第3の従来技術は、特開平6−26658
7号公報に開示される。本公報のフラッシュメモリのフ
ァイル管理方式では、フラッシュメモリに既に書込まれ
たデータを再書込みするとき、消去回数を減少させるた
めに、そのデータの論理セクタに、そのデータが書込ま
れた物理セクタ以外の別の物理セクタを新たに割当てて
該別の物理セクタにデータを書込み、元の物理セクタを
使用済みセクタとする。これを繰返し、使用済みセクタ
の数が予め定める数以上になったとき、未使用セクタを
連続して配置させるために、論理セクタに割当てられた
物理セクタのデータだけを他の未使用セクタに順次書込
み、書込み終了後、論理セクタに割当てられた元の物理
セクタのデータを消去して、未使用セクタとする。この
ような並換えを行った場合、論理セクタと物理セクタと
の対応関係が変更されるので、並換え後に或る論理セク
タを指定してデータを読出させるには、論理セクタに割
当てられた変更後の物理セクタのアドレスを再計算しな
ければならない。ゆえに、読出しに時間がかかる。
【0010】第4の従来技術は、特開平6−95955
号公報に開示される。本公報のフラッシュ・ファイル・
システムは、フラッシュメモリへのデータの書換えを繰
返したためにフラッシュメモリ内でデータが記憶されな
い未使用ブロックが点在するとき、この未使用ブロック
を集めるように、ファイルシステムを再構築する。この
ファイルシステムでも、再構築後のフラッシュメモリか
らデータを読出すとき、所望のデータが記憶されたブロ
ックのアドレスが変更されているので、再度アドレスを
計算しなくてはならず、第3の従来技術と同様に、読出
しに時間がかかる。
【0011】第5の従来技術は、特開平8−16482
号公報に開示される。本公報の記憶装置は、ライト回
数、すなわち書込み回数が多く今後データの書換えがあ
ると予想される論理ブロックが、消去回数の多い物理ブ
ロックに割当てられている場合、その論理ブロックを、
書込み回数が少ない論理ブロックに割当てられかつ消去
回数の少ない物理ブロックに割当てる。このために、消
去回数が多い物理ブロックと消去回数が少ない物理ブロ
ックとの間で、記憶されたデータを交換する。この記憶
装置では、データ交換のための処理が複雑である。ま
た、データ交換時に、2つの物理ブロックのデータの消
去を行わなくてはならないので、交換のためにフラッシ
ュメモリのデータの消去回数が増加する。
【0012】第6の従来技術は、特開平4−22299
7号公報に開示される。本公報のメモリカードにおける
データ記録方法では、EEPROMであるメインメモリ
部のクラスタのうちの一部をデータを記録しない予備ク
ラスタとしておき、予備クラスタ以外の残余クラスタに
データを書込む。データ書換え時、書換え対象のクラス
タのデータの書換え回数が、予備クラスタのうちで書換
え回数が最小の予備クラスタの書換え回数よりも予め定
める回数以上大きいとき、メインメモリ部の特定の番地
にデータの書換えが集中することを防止するために、書
換え対象のクラスタの論理アドレスと前記最小の予備ク
ラスタの論理アドレスとを入換える。また、クラスタへ
のデータの書込み状態が不良であるときにも、該クラス
タの論理アドレスと予備クラスタの論理アドレスとを入
換える。このデータ記録方法では、データの書換え回数
をシステム管理用のメモリに記憶させるので、メモリカ
ード内に、フラッシュメモリ以外に前記メモリを備える
必要がある。ゆえに、メモリカードの構造が複雑にな
る。
【0013】第7の従来技術は、特開平4−31714
9号公報に開示される。本公報のEEPROMの管理方
式では、EEPROMのメモリ領域をブロック化し、そ
れらブロックの使用状況を表すデータ、および該ブロッ
クに記憶されたデータを指定して読出すためのデータ
を、EEPROM内に記憶させている。第8の従来技術
は、特開平8−273390号公報に開示される。本公
報のフラッシュメモリの消去回数の管理方法では、フラ
ッシュメモリ外部のハードウェアを小規模化するため
に、フラッシュメモリの各ブロック毎の消去回数を、フ
ラッシュメモリ自体に記憶させておく。これらの管理方
式および方法では、EEPROMおよびフラッシュメモ
リに、上述のデータおよび消去回数を書込む場合であっ
てデータの上書きができないとき、元のデータおよび消
去回数を消去した後に改めてデータを書込まなくてはな
らない。ゆえに、EEPROMおよびフラッシュメモリ
のデータの消去回数が増加する。
【0014】
【発明が解決しようとする課題】本発明の目的は、フラ
ッシュメモリの消去回数を減少させることができ、かつ
構造が簡単な記憶装置を提供することである。
【0015】
【課題を解決するための手段】本発明は、記憶すべきデ
ータを個別に書込み/消去可能な複数のメモリ領域を含
み、該メモリ領域のうちの少なくとも1つのメモリ領域
を、データを記憶させない予備領域とする不揮発性メモ
リと、各メモリ領域のデータの消去回数をそれぞれ計数
する計数手段と、計数手段によって計数された消去回数
のうちで最大の消去回数と最小の消去回数との差分が、
予め定める基準回数以上であるか否かを判定する消去回
数判定手段と、消去回数判定手段によって差分が基準回
数以上であると判定されたとき、消去回数が最小である
メモリ領域に記憶されたデータを予備領域に記憶させ、
前記差分が基準回数未満であると判定されたとき休止す
る平準化用転送制御手段と、平準化用転送制御手段がデ
ータを記憶させた後、消去回数が最小であるメモリ領域
に記憶されたデータを消去させて、該メモリ領域を予備
領域とする平準化用消去制御手段とを含むことを特徴と
する記憶装置である。
【0016】本発明に従えば、記憶装置は、上述のよう
に、データの書込み/消去が可能な不揮発性メモリを備
える。この不揮発性メモリは、一般的に、データの消去
回数に制限があり、或るメモリ領域のデータの消去回数
が予め定める上限回数以上になったときに、不揮発性メ
モリ全体が使用不可能になることがある。このため、不
揮発性メモリの各メモリ領域の消去回数がほぼ同じにな
るように、消去回数を平準化する必要がある。
【0017】平準化用転送制御手段は、上述のように、
最大の消去回数と最小の消去回数との差が基準回数以上
になるとき、消去回数が最小であるメモリ領域に記憶さ
れたデータを予備領域に記憶させ、消去回数が最小であ
るメモリ領域の記憶内容を消去する。この消去とは、不
揮発性メモリがフラッシュメモリまたはEEPROMで
あれば、いわゆるイレースである。これによって、消去
回数が最小だったメモリ領域と予備領域との記憶内容が
交換される。ゆえに前記予備領域が新たなメモリ領域に
なり、前記メモリ領域が新たな予備領域にされる。これ
は以下の2つの理由からである。
【0018】第1の理由は、各メモリ領域の消去回数を
平準化するためである。消去回数が最小だったメモリ領
域に記憶されたデータは、記憶装置の外部からのデータ
の書換えの指示が今まで殆どなく、今後も殆どないと予
想されるようなデータである。たとえば、予備領域のデ
ータの消去回数が最小の消去回数より大きく最大の消去
回数以下である場合、予備領域と消去回数が最小である
メモリ領域との記憶内容を上述のように入換えることに
よって、新たなメモリ領域には、データの書換えの指示
がほとんどないと予想されるデータが記憶される。ゆえ
に、以後、新たなメモリ領域の消去回数はほとんど増加
しないと考えられる。このような入換えを繰返すことに
よって、不揮発性メモリの全メモリ領域の消去回数を平
準化することができる。したがって、不揮発性メモリの
全メモリ領域のうちで一部のメモリ領域の消去回数が増
加して上限回数を越えることによって、不揮発性メモリ
が使用できなくなることを未然に防止することができ
る。したがって、不揮発性メモリの寿命を延ばすことが
できる。
【0019】第2の理由は、データの劣化を防止するた
めである。たとえばフラッシュメモリおよびEEPRO
Mでは、ビット毎に準備されたコンデンサの電荷の蓄積
の有無によって1と0とを表す。ゆえに、データが書込
まれてから過大に長い時間が経過したとき、コンデンサ
に蓄積された電荷が減少するために、データが劣化する
ことがある。他のメモリ領域と比較して消去回数が少な
いメモリ領域に記憶されたデータは、記憶装置の外部か
ら該データの書換えの指示が少ないデータであり、デー
タの書換えがほとんど行われないので、劣化する可能性
が高い。このようなデータを、消去回数に応答して上述
のように書直すことによって、データの劣化を未然に防
止する事ができる。
【0020】また、上述の入換えは、消去回数が最小で
あるメモリ領域と予備領域との間で行われるので、入換
えのためのデータの消去回数は1回である。ゆえに、消
去回数が最大であるメモリ領域と最小であるメモリ領域
との間でデータを入換えた従来技術と比較して、入換え
のために必要な消去回数を減少させることができる。ゆ
えに、不揮発性メモリの寿命をさらに延ばすことができ
る。
【0021】また本発明は、データを個別に書込み可能
な複数のセクタを含み、予め定める数のセクタからなる
メモリ領域毎にデータが消去される不揮発性メモリに、
データ供給手段から供給されたデータであってデータを
識別するための論理セクタ番号が付されたデータを記憶
させる記憶装置において、不揮発性メモリは、全メモリ
領域のうちの少なくとも1つをデータを記憶させない予
備領域とし、セクタ毎にデータの消去の許可/禁止が定
められ、複数のメモリ領域のうちで予備領域以外の残余
のメモリ領域内のセクタから、データ供給手段から供給
されたデータと同じ論理セクタ番号のデータを記憶した
セクタであって、セクタのデータの消去が禁止されたセ
クタを検索するデータ記憶セクタ検索手段と、データ記
憶セクタ検索手段によって検索されたセクタに記憶され
たデータと、データ供給手段から供給されたデータとが
一致するか否かを判定するデータ一致判定手段と、デー
タ記憶セクタ検索手段によって検索されたセクタに、デ
ータ供給手段から供給されたデータを、該セクタに記憶
されたデータを消去することなく書込むことができるか
否かを判定する上書き判定手段と、全メモリ領域のうち
で予備領域以外の残余のメモリ領域内のセクタから、デ
ータが記憶されていないセクタを検索する第1空きセク
タ検索手段と、データ一致判定手段によってデータが一
致しないと判定されかつ上書き判定手段によってデータ
の書込みができないと判定された場合であって第1空き
セクタ検索手段によってセクタが検索されないとき、全
メモリ領域のうちで予備領域以外の前記残余のメモリ領
域からデータの消去が許可されたセクタが含まれたメモ
リ領域を検索し、データ一致判定手段によってデータが
一致すると判定された場合、上書き判定手段によってデ
ータの書込みができると判定された場合、および第1空
きセクタ検索手段によってセクタが検索されたとき、メ
モリ領域の検索を休止するメモリ領域検索手段と、メモ
リ領域検索手段によって検索されたメモリ領域のうちで
データの消去が禁止されたセクタのデータを、予備領域
に記憶させる交換用転送制御手段と、交換用転送制御手
段がデータを記憶させた後、メモリ領域検索手段によっ
て検索されたメモリ領域の全セクタのデータを消去させ
て、該メモリ領域を予備領域にする交換用消去制御手段
と、交換用転送制御手段がデータを記憶させた後、全メ
モリ領域のうちで予備領域以外のメモリ領域のうちか
ら、データが記憶されないセクタを検索する第2空きセ
クタ検索手段と、データ一致判定手段によってデータが
一致すると判定された場合、データの書込みを休止し、
データが一致しないと判定されてかつ上書き判定手段に
よってデータを書込むことができると判定された場合、
データ記憶セクタ検索手段によって検索されたセクタに
データ供給手段から供給されたデータを書込み、データ
が一致しないと判定されてかつデータを書込むことがで
きないと判定された場合であって第1空きセクタ検索手
段によってセクタが検索されたとき、該セクタに前記デ
ータを書込んで該セクタのデータの消去を禁止しかつデ
ータ記憶セクタ検索手段によって検索されたセクタのデ
ータの消去を許可し、データが一致しないと判定されて
かつデータを書込むことができないと判定された場合で
あって第1空きセクタ検索手段によってセクタが検索さ
れないとき、第2空きセクタ検索手段によって検索され
たセクタに前記データを書込んで該セクタのデータの消
去を禁止し、かつデータ記憶セクタ検索手段によって検
索されたセクタのデータの消去を許可する書込み制御手
段とを含むことを特徴とする記憶装置である。
【0022】本発明に従えば、記憶装置は、上述のよう
な不揮発性メモリにデータを記憶させる。この不揮発性
メモリに既に書込まれたデータを書換える場合、本請求
項の記憶装置は、上述のように、データ一致の有無と上
書きの可否とを判定し、さらにデータの記憶されていな
いセクタを検索する。
【0023】データが一致している場合、上書きの可否
および第1空きセクタ検索手段によるセクタの検索の有
無に拘わらず、書込み制御手段は、データの書込み自体
を行わない。ゆえに、データの書換え時に、データ記憶
セクタ検索手段によって検索されたセクタに対して、デ
ータの消去とビットの状態の変更とを共に行わない。し
たがって、前記セクタにデータの書込み/消去に起因す
るストレスを全く与えない。これによって、前記セクタ
の消去回数と書込み回数との増加を防止することができ
る。
【0024】データが一致しておらずかつ上書きができ
る場合、第1空きセクタ検索手段によるセクタの検索の
有無に拘わらず、書込み制御手段は、データ供給手段か
ら与えられたデータを、データ記憶セクタ検索手段によ
って検索されたセクタに上書きによって書込む。このと
き、前記セクタのデータは消去されないので、このセク
タの消去回数を増加させることなく、データを書込むこ
とができる。
【0025】データが一致しておらずかつ上書きができ
ない場合であって、第1空きセクタ検索手段によってセ
クタが検索されたとき、書込み制御手段は、このセクタ
にデータ供給手段から供給されたデータを書込み、かつ
データ記憶セクタ検索手段によって検索されたセクタの
データの消去を許可する。これによって、たとえば、再
度、このデータがデータ供給手段から供給されたとき、
データ記憶セクタ検索手段は、上述のようにデータが書
込まれたセクタ、すなわち前回の書換え時に第1空きセ
クタ検索手段によって検索されたセクタを検索し、元々
データが記憶されていたセクタ、すなわち前回の書換え
時にデータ記憶セクタ検索手段によって検索されたセク
タを検索しない。これによって、上書きができない場合
であっても、データの消去を行うことなく、不揮発性メ
モリに記憶されたデータを書換えることができる。
【0026】データが一致しておらずかつ上書きができ
ない場合であって、第1空きセクタ検索手段によってセ
クタが検索されないとき、不揮発性メモリ内には、予備
領域以外にデータが記憶されていないセクタが存在しな
い。このときだけ、メモリ領域検索手段が、上述のメモ
リ領域を検索する。交換用転送制御手段と交換用消去制
御手段とは、メモリ領域検索手段によってメモリ領域が
検索されたときだけ動作し、上述のような動作によっ
て、メモリ領域検索手段によって検索されたメモリ領域
と予備領域とのデータを入換える。これによって、前記
メモリ領域は新たな予備領域になり、前記予備領域は新
たなメモリ領域になる。
【0027】このとき、データの消去が禁止されたセク
タのデータだけが予備領域に書込まれ、データの消去が
許可されたセクタのデータは書込まれない。ゆえに、新
たなメモリ領域では、データの消去が許可されていたセ
クタのデータだけが仮想的に消去されて初期状態に戻
り、データの消去が禁止されていたセクタがそのまま保
持される。これによって、新たなメモリ領域には、デー
タを記憶していないセクタが含まれることになる。第2
空きセクタ検索手段は、転送制御手段が動作したときだ
け動作し、前記セクタを検索する。書込み制御手段は、
第2空きセクタ検索手段によって検索されたセクタに、
データ供給手段から供給されたデータを書込み、データ
記憶セクタ検索手段によって検索されたセクタのデータ
の消去を許可する。以後、再度データの書換えをすると
きは、第1空きセクタ検索手段によって検索されたセク
タにデータを書込んだときと同様に処理される。
【0028】このように、本請求項の記憶装置では、不
揮発性メモリに既に記憶されたデータの書換えを行うと
き、上述のように3つの条件の有無に応答して、合計8
通りの場合に分けて処理を行う。このうち、データの書
換え時にデータの消去を行うのは、最後の1通りだけで
ある。ゆえに、データの書換えを行うとき、データの消
去回数を減少させることができる。
【0029】また、上述したように、データの書換えの
ためのデータの入換えを行った後に、請求項1で説明し
た消去回数の平準化のためのデータの入換えを行うこと
が考えられる。このとき、データの書換え時に予備領域
との間でデータの入換えを行うメモリ領域は、データの
書換えの対象であるデータを記憶したメモリ領域である
ので、そのデータは、頻繁にデータを書換えされる可能
性が高い。したがって、データの書換えのためのデータ
の入換えによってできた新たな予備領域は、データの消
去回数が多いと予想される。
【0030】このような予備領域に、請求項1のよう
に、データの消去回数が最小のメモリ領域に記憶された
データ、すなわちデータの書換えが少ないと予想される
データを記憶させることによって、データの消去回数が
多いメモリ領域の消去回数をがさらに増加することを未
然にかつ確実に防止することができる。また、消去回数
の平準化のためのデータの入換えの回数を減少させてデ
ータの消去回数を確実に平準化することができる。ゆえ
に、前記入換えのためのデータの消去回数を、請求項1
の処理を単独で行うときの消去回数よりも少させること
ができる。したがって、不揮発性メモリの寿命をさらに
延ばすことができる。
【0031】また本発明は、記憶すべきデータを個別に
書込み可能な複数のセクタを含み、複数のセクタからな
るメモリ領域毎にデータを消去し、全メモリ領域のうち
の少なくとも1つのメモリ領域をデータを記憶させない
予備領域とする不揮発性メモリと、データを転送するべ
きメモリ領域を指定する指定手段と、指定手段によって
指定されたメモリ領域に記憶されたデータを予備領域に
記憶させる転送制御手段と、転送制御手段がデータを記
憶させた後、指定手段によって指定されたメモリ領域に
記憶されたデータを消去させて、そのメモリ領域を予備
領域とする消去制御手段と、全メモリ領域のうちの予備
領域の有無を判定する予備領域判定手段と、予備領域判
定手段によって予備領域がないと判定されたとき、デー
タの消去が禁止されたセクタを含まないメモリ領域に記
憶されたデータを消去して、該メモリ領域を予備領域に
し、予備領域があると判定されたとき休止する予備領域
復旧手段とを含むことを特徴とする記憶装置である。
【0032】本発明に従えば、記憶装置は、指定手段に
よって指定されたメモリ領域と予備領域との間で、デー
タを入換える。また記憶装置は、予備領域判定手段と予
備領域復旧手段とを備える。これらの手段は、たとえ
ば、消去制御手段がデータを消去している途中に記憶装
置への電力供給が遮断された時点以後、再度電力供給が
開始されたときのために準備される。
【0033】データの消去の途中で電力供給が遮断され
て、そのまま電力供給が再開された場合、指定手段によ
って指定されたメモリ領域内にデータが消去されずに残
っている可能性がある。このとき、不揮発性メモリ内
に、予備領域が存在しない。ゆえに、予備領域判定手段
によって、予備領域の有無を判定させることによって、
電力供給の遮断時に、データの消去が完了していたか否
かを判定することができる。
【0034】予備領域がないと判定されたとき、データ
消去が途中で中断されたと考えられる。このとき、電力
供給が遮断されているので、たとえば記憶装置のバッフ
ァとして用いられるランダムアクセスメモリには、電力
遮断前の動作状態が記憶されていない。ゆえに、予備領
域復旧手段は、上述のように、データの消去が禁止され
たセクタを含まないメモリ領域のデータを強制的に消去
して、そのメモリ領域を予備領域にする。これによっ
て、電力遮断後に電力供給が復旧した場合、不揮発性メ
モリ内に、予備領域を復旧させることができる。
【0035】指定手段によって指定されるメモリ領域
は、具体的には、請求項1で説明した消去回数が最小で
あるメモリ領域であってもよい。また、請求項2のメモ
リ領域検索手段によって検索されたメモリ領域であって
もよい。すなわち、本請求項のデータの入換えは、消去
回数の平準化のための入換えであってもよく、データの
書換えのための入換えであってもよい。ゆえに、この請
求項を、請求項1および請求項2にさらに適用してもよ
い。このとき、データの消去回数をさらに減少させて、
不揮発性メモリの寿命をさらに延ばすことができる。
【0036】また本発明は、記憶すべきデータを個別に
書込み可能な複数のセクタを含み、複数のセクタからな
るメモリ領域毎にデータを消去する不揮発性メモリであ
って、全メモリ領域のうちの少なくとも1つのメモリ領
域を、データを記憶させない予備領域とし、各メモリ領
域毎に予備領域であることを表す状態から予備領域では
ないことを表す状態にビットを初期化することなく書換
え可能な領域使用フラグを記憶する不揮発性メモリと、
データを転送するべきメモリ領域を指定する指定手段
と、予備領域の領域使用フラグを予備領域ではないこと
を表す状態に書換えて、指定手段によって指定されたメ
モリ領域に記憶されたデータを、予備領域に記憶させる
転送制御手段と、転送制御手段がデータを記憶させた
後、指定手段によって指定されたメモリ領域に記憶され
たデータを消去させて、さらに領域使用フラグが予備領
域であることを表す状態に書換える消去制御手段と、領
域使用フラグが予備領域であることを表すメモリ領域の
有無を判定する予備領域判定手段と、予備領域判定手段
によって予備領域がないと判定されたとき、領域使用フ
ラグが初期状態であるメモリ領域の全セクタに記憶され
たデータを消去して、該メモリ領域を予備領域にし、予
備領域があると判定されたとき休止する予備領域復旧手
段とをさらに含むことを特徴とする記憶装置である。
【0037】本発明に従えば、請求項3の記憶装置と同
じ記憶装置において、各メモリ領域が予備領域であるか
否かを、上述の領域使用フラグによって表す。たとえ
ば、予備領域を検索するときは、記憶装置はこの領域使
用フラグを参照することによって、容易に予備領域を見
付けることができる。この領域使用フラグは、不揮発性
メモリの各メモリ領域に記憶されるので、記憶装置に電
力が供給されないときにも保持される。ゆえに、領域使
用フラグを記憶させるために記憶装置に電力を供給する
必要がなくなるので、記憶装置が消費する電力を削減す
ることができる。
【0038】また、領域使用フラグは、上述のようにビ
ットを初期化することなく書換え可能、すなわち上書き
可能である。したがって、領域使用フラグは、予備領域
であることを表す状態からそうでないことを表す状態に
変更されるとき、すなわち転送制御手段によって上述の
ように書換えられるとき、上書きによって書換えること
ができる。また、領域使用フラグを予備領域ではないこ
とを表す状態から予備領域であることを表す状態に書換
えるとき、すなわち消去制御手段によって書換えられる
とき、上書きができないので、領域使用フラグを一旦初
期状態に戻してから書換える必要がある。このとき、そ
の領域使用フラグを記憶するメモリ領域に記憶されたデ
ータを消去して該メモリ領域を初期状態に戻すので、領
域使用フラグも同時に初期状態に戻される。これによっ
て、領域使用フラグを書換えるためだけにメモリ領域の
データを消去する必要がない。ゆえに、領域使用フラグ
の書換えのために、そのメモリ領域のデータの消去回数
を増加させることを防止することができる。したがっ
て、不揮発性メモリの寿命をさらに延ばすことができ
る。
【0039】領域使用フラグは、データの消去が完了し
た段階で初めて、予備領域であることを表す状態に書換
えられる。ゆえに、データの消去の途中で電力供給が遮
断されてそのまま電力供給が再開された場合、不揮発性
メモリ内に、予備領域であることを表す領域使用フラグ
が存在しない。ゆえに、予備領域判定手段によって、領
域使用フラグを参照して予備領域の有無を判定させるこ
とによって、電力供給の遮断時に、データの消去が完了
していたか否かを判定することができる。
【0040】また、予備領域がないとき、データ消去が
途中で中断されたと考えられる。このとき、領域使用フ
ラグはデータの消去時に同時に初期状態に戻されるの
で、領域使用フラグが初期状態であるメモリ領域が、電
力遮断前にデータの消去対象となっていたメモリ領域で
あると考えられる。ゆえに、予備領域復旧手段は、領域
使用フラグを参照して、上述のように予備領域を復旧さ
せる。これによって、電力遮断前に行われていたデータ
の消去を、再度実行することができる。
【0041】また、領域使用フラグを用いてデータ消去
の完了の有無を判定する場合、消去制御手段の動作状態
を電力遮断時にも別途記憶させる必要がない。ゆえに、
電力遮断時の復旧のために動作状態を記憶させるための
手段をさらに備える必要がないので、記憶装置の構成が
さらに簡略化することができる。この請求項は、請求項
1またおよび請求項2にさらに適用してもよい。このと
き、データの消去回数をさらに減少させて、不揮発性メ
モリの寿命をさらに延ばすことができる。
【0042】また本発明は、データを個別に書込み可能
な複数のセクタを含み、複数のセクタからなるメモリ領
域毎にデータが消去される不揮発性メモリに、データ供
給手段から供給されたデータであってデータを識別する
ための論理セクタ番号が付加されたデータを記憶させる
記憶装置において、データ供給手段から供給されたデー
タとその論理セクタ番号とを、不揮発性メモリのうちで
データが記憶されていないセクタに記憶させ、該セクタ
のデータの消去を禁止し、さらに全セクタの中で該セク
タ以外の残余のセクタのうちで前記データの論理セクタ
番号と同一の論理セクタ番号を記憶したセクタのデータ
の消去を許可する書込み制御手段と、不揮発性メモリの
全セクタの中でデータの消去が禁止されたセクタのうち
に、同じ論理セクタ番号を記憶したセクタが複数あるか
否かを判定する重複セクタ判定手段と、重複セクタ判定
手段によって前記セクタが複数あると判定されたとき、
データが書込まれたタイミングが最も新しいセクタのデ
ータの消去を許可し、前記セクタがないと判定されたと
き休止するセクタ復旧手段をさらに含むことを特徴とす
る記憶装置である。
【0043】本発明に従えば、記憶装置は、データ供給
手段から供給されたデータとその論理セクタ番号とを、
書込み制御手段によって不揮発性メモリのうちでデータ
が記憶されていないセクタに書込み、さらに、このデー
タと同じ論理セクタ番号が記憶されたセクタのデータの
消去を許可する。これによって、不揮発性メモリに既に
記憶されたデータを書換えるとき、データの消去を行う
ことなく、データを書換えることができる。したがっ
て、データの消去回数を減少させることができる。この
データの書換えは、具体的には、請求項2で説明した手
法を用いて行われても良い。また、請求項1および請求
項2のデータの入換えであっても良い。
【0044】また、この記憶装置は、重複セクタ判定手
段とセクタ復旧手段とを含む。これらの手段は、たとえ
ば、記憶装置で、転送制御手段がデータを書込む途中に
記憶装置への電力供給が遮断された時点以後、再度電力
供給が開始されたときのために準備される。この時点で
は、データの転送元のメモリ領域、すなわち指定手段に
よって指定されたメモリ領域は未だ消去が許可されてい
ないので、同じ論理セクタ番号を記憶しかつ消去が禁止
されたメモリ領域が2つあることになる。ゆえに、重複
セクタ判定手段によって、このようなメモリ領域が複数
あるか否かを判定することによって、電力遮断時に、デ
ータの入換えが終了していたか否かを判定することがで
きる。セクタ復旧手段は、重複セクタ判定手段の判定結
果に応答して、上述のように動作する。これによって、
データの入換え途中に電力供給が遮断した後電力が再度
供給されたとき、不揮発性メモリを、電力遮断時に行わ
れていたデータの入換えが実施される前の状態に戻すこ
とができる。
【0045】また本発明は、データを個別に書込み可能
な複数のセクタを含み、複数のセクタからなるメモリ領
域毎にデータが消去される不揮発性メモリに、データ供
給手段から供給されたデータであってデータを識別する
ための論理セクタ番号が付加されたデータを記憶させる
記憶装置において、前記不揮発性メモリは、セクタ毎
に、データが書込まれたタイミングを表す世代フラグ
と、データの消去の許可/禁止を表しかつ禁止を表す状
態から許可を表す状態にビットを初期化することなく書
換え可能な識別フラグとを記憶し、不揮発性メモリのう
ちでデータが記憶されていないセクタに世代フラグを書
込み、データ供給手段から供給されたデータとその論理
セクタ番号を該セクタに書込み、該セクタの識別フラグ
を、禁止を表す状態に書換え、全セクタの中で該セクタ
を除く残余のセクタのうちで前記データの論理セクタ番
号と同一の論理セクタ番号を記憶したセクタに記憶され
た識別フラグを、許可を表す状態に書換える書込み制御
手段と、不揮発性メモリの全セクタの中で識別フラグが
データの消去の禁止を表すセクタのうちに、同じ論理セ
クタ番号を記憶したセクタが複数あるか否かを判定する
重複セクタ判定手段と、重複セクタ判定手段によって前
記セクタが複数あると判定されたとき、世代フラグによ
って表されるタイミングが最も新しいセクタの識別フラ
グを許可を表す状態に書換え、前記セクタがないと判定
されたとき休止するセクタ復旧手段をさらに含むことを
特徴とする記憶装置である。
【0046】本発明に従えば、データの書込みのタイミ
ングは世代フラグによって表され、セクタのデータの消
去の許可/禁止は、上述の識別フラグによって表され
る。ゆえに、たとえば、データの消去が許可されたセク
タを検索するとき、記憶装置はこの識別フラグを参照す
ることによって、容易に前記セクタを見付けることがで
きる。
【0047】また、識別フラグは、上述のようにビット
を初期化することなく書換え可能、すなわち上書き可能
である。したがって、識別フラグは、データの消去の禁
止をを表す状態から許可を表す状態に変更されるとき、
すなわち消去許可手段によって上述のように書換えられ
るとき、上書きによって書換えることができる。また、
識別フラグを禁止を表す状態に書換えるとき、すなわち
書込み制御手段によって書換えられるとき、上書きがで
きないので、識別フラグを一旦初期状態に戻してから書
換える必要がある。このとき、その識別フラグを記憶す
るセクタはデータが記憶されていない状態、すなわち初
期状態に既に戻されているので、識別フラグも既に初期
状態に戻されている。これによって、識別フラグを書換
えるためだけにセクタを初期状態に戻す必要がない。し
たがって、識別フラグの書換えのために、そのセクタを
含むメモリ領域のデータの消去回数を増加させることを
防止することができる。したがって、不揮発性メモリの
寿命をさらに延ばすことができる。
【0048】また、識別フラグと論理セクタ番号と世代
フラグとは、不揮発性メモリ自身に書込まれる。ゆえ
に、これらを記憶するためのメモリを別途設けた場合と
比較して、記憶装置の構造を簡略化することができる。
【0049】また本発明は、データを書込み可能な不揮
発性メモリと、不揮発性メモリにデータ供給手段から供
給され複数のデータからなるデータ群を記憶させる書込
み制御手段とを含む記憶装置において、不揮発性メモリ
は、データ群毎に、データ群の記憶開始を表す書込み開
始フラグと、データ群の記憶終了を表す書込み終了フラ
グとを記憶し、書込み制御手段がデータ群の記憶のため
の処理を開始するとき、書込み開始フラグを更新して、
不揮発性メモリに記憶させる書込み開始フラグ更新手段
と、書込み制御手段がデータ群の記憶のための処理を終
了したとき、書込み終了フラグを更新して、不揮発性メ
モリに記憶させる書込み終了フラグ更新手段と、不揮発
性メモリに記憶された書込み開始フラグと書込み終了フ
ラグとの更新回数がが一致したとき、データ群の記憶の
ための処理が最後まで終了したと判定し、更新回数が一
致しないとき、データ群の記憶のための処理が中断され
たと判定する終了判定手段とをさらに含むことを特徴と
する記憶装置である。
【0050】本発明に従えば、記憶装置は、書込み制御
手段が上述のデータ群を不揮発性メモリに記憶させると
き、その書込み開始時に書込み開始フラグを更新し、書
込み終了時に書込み終了フラグを更新する。これによっ
て、データ群の書込みが誤りなく終了した時点で、書込
み開始フラグと書込み終了フラグとの更新回数が一致す
る。
【0051】また、この記憶装置は、終了判定手段をさ
らに含む。この手段は、たとえば、記憶装置で、書込み
制御手段がデータを書込む途中に記憶装置への電力供給
が遮断された時点以後、再度電力供給が開始されたとき
のために準備される。この時点では、書込み開始フラグ
だけが更新されて書込み終了フラグは更新されていない
ので、更新回数がずれる。ゆえに、終了判定手段は、両
フラグの更新回数が一致したか否かを判定することによ
って、データの書込みが完全に終了したか否かを判定す
ることができる。したがって、たとえば、データの書込
みが中途終了したときには、そのデータを修復するよう
に指示することができる。
【0052】また、両フラグは、不揮発性メモリ自体に
書込まれるので、これらフラグを記憶するために別途メ
モリを設ける場合と比較して、記憶装置の構造を簡略化
することができる。
【0053】また本発明は、前記書込み開始フラグと前
記書込み終了フラグとは、ビットを初期化することなく
書換えることができるフラグであることを特徴とする。
【0054】本発明に従えば、前記書込み開始フラグと
書込み終了フラグとは、上書き可能なフラグである。こ
れによって、両フラグを書換えるためだけにメモリ領域
に記憶されたデータを消去して初期状態に戻す必要がな
い。したがって、両フラグの書換えのために、これらフ
ラグが記憶されたメモリ領域のデータの消去回数を増加
させることを防止することができる。したがって、不揮
発性メモリの寿命をさらに延ばすことができる。
【0055】また本発明は、データを記憶するための予
め定める大きさのセクタを複数含む不揮発性メモリに、
複数のデータからなるデータ群であって、データを識別
しかつデータ群内の該データの位置を表す論理セクタ番
号が付加されたデータを記憶させる記憶装置において、
前記不揮発性メモリは、データ群のうちで先頭のデータ
に付加された先頭論理セクタ番号とデータ群のうちで終
端のデータに付加された終端論理セクタ番号とを含むデ
ータ群管理データ、および各セクタと該セクタに記憶さ
れたデータの論理セクタ番号との対応を表す対応データ
を記憶し、不揮発性メモリに記憶されたデータ群のうち
でデータの読出しを開始するべき開始位置と、読出すべ
きデータのデータ量とを指定する呼出し指定手段と、デ
ータ指定手段によって指定された開始位置およびデータ
量と、不揮発性メモリに記憶された管理データと、各セ
クタの大きさとから、読出すべきデータに付加された論
理セクタ番号と、該論理セクタ番号を記憶したセクタ内
でデータの読出しを開始するべき開始アドレスと、前記
セクタ内でデータの読出しを終了するべき終了アドレス
とを決定する決定手段と、対応データを参照して、不揮
発性メモリから決定手段によって決定された論理セクタ
番号を記憶したセクタを検索し、検索されたセクタに記
憶されたデータのうちで開始アドレスから終了アドレス
までのデータを読出す読出し手段とを含む記憶装置であ
る。
【0056】本発明に従えば、記憶装置の不揮発性メモ
リは、データ群を構成するデータを、論理セクタ番号と
対応付けて記憶する。この論理セクタ番号は、たとえ
ば、データ群内でデータが配列された順に連続した番号
である。不揮発性メモリに、たとえば請求項2のデータ
書込み手法によってデータを記憶させたとき、各データ
を記憶したセクタは、不揮発性メモリ内に点在してお
り、またそのデータを書直すたびに、データが記憶され
たセクタが変更される。
【0057】この不揮発性メモリからデータを読出すと
き、データ指定手段は、前述の開始位置とデータ量とだ
けを指定する。このとき、決定手段は、上述のように読
み出すべきデータの論理セクタ番号と、読出し対象のセ
クタの読出しの開始/終了アドレスとを決定する。読出
し手段は、決定手段の結果に応答して、データを読み出
す。これによって、たとえばこの記憶装置を用いる電子
機器は、データ群を構成するデータが実際に記憶された
セクタが連続しているか点在しているかに拘わらず、デ
ータ群が連続したセクタに記憶されているときと同じよ
うに、読出しを指示することができる。したがって、読
出し時の記憶装置の取扱いが容易である。特に、上述し
た請求項1および請求項2のような手法を用いて不揮発
性メモリにデータ群を書込むとき、データ群を構成する
データを記憶したセクタは、不揮発性メモリ内に点在す
る。このとき、本請求項のような読出し方法でデータを
行うことによって、消去回数の平準化および消去回数の
減少のための各種の処理に拘わらず、容易にデータを読
出すことができる。
【0058】
【発明の実施の形態】図1は、本発明の実施の一形態で
ある記憶装置1の電気的構成を表すブロック図である。
記憶装置1は、フラッシュメモリ3、中央制御装置4、
およびメモリ5,6を含む。記憶装置1は、たとえば、
電子機器8のデータの記憶装置として用いられる。
【0059】フラッシュメモリ3は、記憶装置1の記憶
媒体であり、記憶装置1が記憶すべきデータを記憶す
る。またフラッシュメモリ3は、フラッシュメモリ3へ
のデータの書込み/読出しを制御するための各種のデー
タも記憶する。フラッシュメモリ3は、電気的にデータ
を消去することができ、かつデータを書込むことができ
る不揮発性メモリの1種類である。
【0060】中央制御装置4は、フラッシュメモリ3へ
のデータの書込みとフラッシュメモリ3からのデータの
読出しとを制御する。具体的には、中央制御装置4は、
メモリ5,6に記憶された各種のプログラムを読出し、
メモリ5とフラッシュメモリ3との記憶内容を参照しつ
つそのプログラムを実行することによって、データの書
込み/読出しを制御する。メモリ6は、書込み可能なメ
モリであって、中央制御装置4の各種の処理のためにデ
ータを一時的に記憶するバッファとして用いられる。中
央制御装置4は、たとえばマイクロコンピュータで実現
される。メモリ5は、たとえばリードオンリメモリで実
現される。メモリ6は、たとえばランダムアクセスメモ
リで実現される。
【0061】フラッシュメモリ3と中央制御装置4とメ
モリ5,6とは、システムバス7を介して相互にデータ
および制御用の信号を授受することができる。また中央
制御装置4は、システムバス7を介して、データの供給
元である電子機器8と接続される。電子機器8は、中央
制御装置4にデータの読出し/書込みを指示する。さら
に電子機器8は、フラッシュメモリ3に記憶するべきデ
ータを供給し、またフラッシュメモリ3に記憶されたデ
ータが中央制御装置4から供給される。中央制御装置4
は、この電子機器8の各種の制御のための中央制御装置
を兼ねていても良い。電子機器8は、請求項のデータ供
給手段に当たる。中央制御装置4、メモリ5,6および
フラッシュメモリ3には、たとえば電子機器からのデー
タの読出し/書込みの指示と同時に、電力が供給され
る。
【0062】中央制御装置4は、ファイル管理部21、
開始フラグ更新部22、終了フラグ更新部23、データ
記憶セクタ検索部31、データ一致判定部32、書込み
制御部33、上書き判定部34、空きセクタ検索部3
5、ブロック検索部36、転送制御部37,43、消去
制御部38,44、計数部39、回数判定部40、位置
決定部41、読出し制御部42、重複セクタ判定部5
1、セクタ復旧部52、予備ブロック判定部53、予備
ブロック復旧部54、および終了判定部56を含む。各
部21〜23,31〜44,51〜54,56の詳細は
後述する。各部は、中央制御装置4がプログラムを実行
することによって実現される仮想的な回路である。また
各部は、それぞれ個別に実在の回路によって実現されて
もよい。
【0063】図2は、フラッシュメモリ3の物理セクタ
空間の具体的な構造を表す模式図である。図3は、フラ
ッシュメモリ3の物理セクタ空間と論理セクタ空間との
対応関係を表す模式図である。図2と図3とを併せて説
明する。
【0064】フラッシュメモリ3の全メモリ領域は複数
のブロックに分割され、さらに各ブロックは複数の物理
セクタに分割される。物理セクタは、たとえば512バ
イトのデータを書込み可能なメモリ領域である。ブロッ
クは、たとえば32個の物理セクタから構成されるメモ
リ領域である。フラッシュメモリ3内のブロックの個数
は、たとえば32個である。ブロックは、請求項のメモ
リ領域に当たり、物理セクタは請求項のセクタに当た
る。
【0065】フラッシュメモリ3は、物理セクタ毎にデ
ータを書込むことができる。また、ブロック毎にデータ
を消去してブロック内の全物理セクタを初期状態に戻す
ことができる。このデータの消去とは、いわゆるイレー
ス(Erase)である。各物理セクタは、フォーマット直
後の状態である初期状態では、全てのビットの値が1を
保つ。ビットの値を1から0に書換えることは、ビット
毎に行うことができる。ビットの値を0から1に書換え
ることは、ビット毎に行うことができず、ブロックに記
憶されたデータを全て消去することによって、ブロック
の全ビットを一括して書換える必要がある。
【0066】すなわち、各物理セクタは、その物理セク
タに記憶されたデータを書換える場合、ビットの書換え
が、1から0への書換えおよび1を保つ書換えだけがで
あるときだけ、物理セクタに記憶されたデータを消去す
ることなくデータを書込むこと、いわゆる上書きを行う
ことができる。ビットの書換えに0から1への書換えが
含まれるとき、上書きができないので、後述する再書込
み処理を行う。
【0067】各ブロックの全物理セクタのうち、先頭の
物理セクタは、後述する管理タグデータを記憶するため
に用いられる。また、全ブロックのうちの少なくとも1
つのブロックが、後述の予備状態ブロックとして用いら
れ、予備状態のブロック以外の残余のブロックが、通常
状態のブロックとしてデータの記憶に用いられる。
【0068】全物理セクタから構成される物理セクタ空
間Zaは、ブロックB1〜B32が一列に順次並べら
れ、かつ各ブロックB1〜B32内で全物理セクタSA
1〜SA31がブロックB1〜B32の並びと同じ方向
に一列に並べられた構造を有する。以後、物理セクタ空
間Zaで先頭のブロックからn番目のブロックを、第n
ブロックBnと称する。また、ブロック内で先頭の物理
セクタを0番目として、0番目の物理セクタからn番目
の物理セクタを第n物理セクタSAnと称する。nは任
意の整数である。この物理セクタ空間Zaには、先頭か
らたとえば1バイト毎に、物理セクタ空間内の位置を表
す物理アドレスが付される。この物理アドレスは、一般
的なメモリにおけるアドレスと同じものである。図面で
は、物理セクタ空間Zaを、ブロックB1〜B32が行
列状に並べ、かつブロックB1〜B32毎に物理セクタ
SA1〜SA31を一列に配置して表す。また図3で
は、ブロックの数を8個に簡略化して表す。
【0069】フラッシュメモリ3は、予め定める数の仮
想的な論理セクタから構成される論理セクタ空間Zbを
有する。この論理セクタ空間は仮想的な空間であって、
全論理セクタが後述の論理セクタ番号の順に順次並べら
れて構成された空間として仮想される。各論理セクタも
仮想的なセクタであり、その大きさは単一の物理セクタ
と等しい。論理セクタの数は、たとえば960個であ
る。この数は、通常状態の全てのブロックの数と、単一
ブロックの全セクタのうちで先頭の物理セクタを除く残
余の物理セクタの数との積よりも1少ない数である。
【0070】各論理セクタは、通常状態の全ブロックの
セクタの中で第0物理セクタSA0を除く残余の物理セ
クタと、1対1で対応する。すなわち、或る論理セクタ
に仮想的に記憶されるデータとは、その論理セクタに対
応する物理セクタに記憶されたデータを指す。論理セク
タの数は前記積よりも1少ないので、前記残余の物理セ
クタのうちの1つが、論理セクタに対応付けられない管
理外物理セクタになる。ゆえにこの論理セクタ空間Zb
は、前記残余の物理セクタのうちで管理外物理セクタを
除く物理セクタを、各物理セクタに対応づけられた論理
セクタ番号の順に仮想的に並べて構成されたセクタ空間
と等しい。論理セクタ空間Zbのうちで先頭の論理セク
タには、後述のファイル管理データが記憶される。
【0071】この論理セクタ空間Zbには、先頭の論理
セクタの先端からたとえば1バイト毎に、論理セクタ空
間内の位置を表す論理アドレスが付加される。前述の電
子機器8は、この論理アドレスを、従来技術のメモリの
アドレスと同様に指定することができる。また、論理セ
クタ空間内の各論理セクタには、論理セクタ空間のうち
で先頭の論理セクタから、予め定める論理セクタ番号が
付される。この論理セクタ番号は、論理セクタの並べ順
と同じ順で連続した数値の番号であり、各論理セクタ毎
に固定される。以後、論理セクタ空間の先頭の論理セク
タを0番目として、0番目の論理セクタからn番目の論
理セクタを、第n論理セクタSBnと称する。
【0072】物理セクタ空間Zaと論理セクタ空間Zb
との対応関係を以下に説明する。処理対象の対象ファイ
ルは8つのデータから構成され、各データが、第i論理
セクタ〜第(i+7)論理セクタに仮想的に記憶されて
いるものと仮定する。これら論理セクタから、対象ファ
イルのデータを仮想的に記憶する論理セクタ群が構成さ
れる。第0論理セクタは、第1ブロックB1の第4物理
セクタSA4に対応付けられる。第i論理セクタSBi
は、第1ブロックB1の第2物理セクタSA2に対応付
けられる。第(i+2)〜第(i+4)論理セクタSB
(i+2)〜SB(i+4)は、第3ブロックB3の第
1物理セクタSA1、第5ブロックB5の第1物理セク
タSA1、第7ブロックB7の第1物理セクタSA1に
対応付けられる。第(i+7)論理セクタSB(i+
7)は、第4ブロックB4の第2物理セクタSA2に対
応づけられる。このように、論理セクタ空間内で連続し
た論理セクタに対応付けられた物理セクタは、物理セク
タ空間内で点在する。
【0073】管理タグデータについて、表1を参照し
て、以下に説明する。表1は、管理タグデータの詳細な
構成を表す。管理タグデータは、ブロック毎に備えら
れ、そのブロックと該ブロックに含まれる物理セクタと
の使用状態を表す。管理タグデータは、単一のブロック
タグと、ブロック内のセクタの数よりも1少ない数のセ
クタタグとを含む。
【0074】
【表1】
【0075】ブロックタグは、管理タグデータを含むブ
ロックの使用状態を表すデータであり、マジックナンバ
ーと消去回数と使用フラグとを含む。ブロックタグに
は、さらに8バイトの予約領域があり、上述のデータ以
外の他のデータを書込むことができる。或る管理タグデ
ータを含むブロックを、その管理タグデータの被管理ブ
ロックと称する。
【0076】マジックナンバーは、フラッシュメモリ3
がフォーマットされているか否かを表す。また、後述す
るように、被管理ブロックがデータの消去によって初期
状態に戻されたか否かを表す。具体的には、マジックナ
ンバーは2バイトのデータであり、被管理ブロックが初
期状態に戻されているとき、16進数の数値であるコー
ド「A00A」が書込まれる。以後、「」で表す数字お
よび文字は、16進数の数値を表す。またがフォーマッ
トされていないとき、または被管理ブロックのデータの
消去処理の途中で処理が中断したとき、「A00A」が
書込まれない。
【0077】消去回数は、被管理ブロックに記憶された
データを消去した回数を表す。この消去回数は、フラッ
シュメモリ3がフォーマットされた直後の初期値は0回
であり、データの消去処理が行われるたびに、中央処理
装置4の計数部39によって、過去の消去回数データに
1加算して更新される。たとえば消去回数は、4バイト
のデータであり、最大約42億回まで表すことができ
る。
【0078】使用フラグは、被管理ブロックの使用状態
を表す。被管理ブロックの使用状態は、通常状態、予備
状態、欠陥状態のいずれかである。通常状態の被管理ブ
ロックは、データの記憶に用いられる。予備状態の被管
理ブロックは、データが記憶されず、後述する交換処理
およびレベリング処理に用いられる。予備状態の被管理
ブロックを予備ブロックを称することがある。欠陥状態
の被管理ブロックは、データの消去処理を行ったときに
エラーが発生したブロックであり、データの記憶に用い
られない。また使用フラグは、被管理ブロックのデータ
の消去処理の途中に、電力供給が遮断されたか否かも表
す。使用フラグは、具体的には、1バイトのフラグF1
A,F1Bを組合わせて構成され、表す状態と16進数
のコードの組合わせとが、表2に表すように対応付けら
れる。
【0079】
【表2】
【0080】上述の表で、すなわち、フラグF1A,F
1Bが共にコード「FF」であるとき、消去処理中に電
力供給が遮断されたことを表す。フラグF1Aがコード
「AA」であってかつF1Bがコード「FF」であると
き、被管理ブロックの使用状態が予備状態であることを
表す。フラグF1Bがコード「AA」であるとき、フラ
グF1Aのコードに拘わらず、通常状態であることを表
す。フラグF1Bがコード「00」であるとき、フラグ
F1Aのコードに拘わらず、欠陥状態であることを表
す。この使用フラグのコードは、ブロックが初期状態に
戻されたとき、「FF」に戻る。また使用フラグは、初
期状態から予備状態に、上書きによって書換えることが
できる。同様に、予備状態、通常状態、および欠陥状態
の順で、上書きによって順次書換えることができる。
【0081】セクタタグは、被管理ブロック内の第1物
理セクタ〜第31セクタまでの各物理セクタ毎に備えら
れ、各セクタの使用状態を表す。セクタタグによって使
用状態が表される物理セクタを、そのセクタタグの被管
理物理セクタと称する。セクタタグは、世代フラグと識
別フラグと論理セクタ番号とを含む。またセクタタグ
は、さらに10バイトの予約領域を含み、上述のフラグ
およびデータ以外の他のデータを書込むことができる。
セクタタグは、請求項の対応データに当たる。
【0082】世代フラグは、論理セクタのバージョン、
すなわち被管理物理セクタに記憶されたデータに対して
再書換え処理が行われた回数を表す。世代フラグは、た
とえば1バイトのデータであり、後述の再書換え処理を
行うたびに1が加算されて更新される。論理セクタ番号
は、たとえば2バイトのデータであり、そのセクタタグ
の被管理物理セクタに対応する論理セクタに付された論
理セクタ番号を表す。
【0083】識別フラグは、被管理物理セクタの使用状
態を表す。被管理物理セクタは、未使用状態、書込み中
状態、有効状態、無効状態、欠陥状態のいずれかの状態
で用いられる。未使用状態であるとき、被管理物理セク
タにはデータが記憶されていない。書込み中状態である
とき、書込み制御部33または転送制御部37,43に
よって、被管理物理セクタにデータが書込まれている最
中である。有効状態であるとき、被管理物理セクタにデ
ータが記憶され、かつそのデータの消去が禁止される。
無効状態であるとき、被管理物理セクタにデータが記憶
され、かつそのデータの消去が許可される。欠陥状態で
ある物理セクタは、データの書込み処理を行ったときに
エラーが発生した物理セクタであり、データの記憶に用
いられない。
【0084】識別フラグは、具体的には、1バイトのフ
ラグF2A,F2B,F2Cを組合わせて構成され、表
すべき状態と16進数のコードの組合わせとが、表3に
表すように対応付けられる。以下の表で、「??」は、
使用フラグとして書込まれたコードがどのような値であ
ってもよいことを表す。この識別フラグは、初期状態で
は、未使用状態を表す。また、識別フラグは、未使用状
態から書込み中状態に、上書きによって書換えることが
できる。同様に、書込み中状態、有効状態、無効状態、
および欠陥状態の順で、上書きによって順次書換えるこ
とができる。
【0085】
【表3】
【0086】ファイル管理データを、表4を参照して、
詳細に説明する。ファイル管理データは、予め定める数
のファイルタグを含む。この数は、たとえば64個であ
る。各ファイルタグは、フラッシュメモリ3のファイル
を管理するためのデータを表し、単一のファイルタグは
単一のファイルに対応付けられる。ファイルは、ハード
ディスクのパーティションに相当するものであり、フラ
ッシュメモリのメモリエリアを予め領域確保して分割し
たものである。このファイルには、最大のデータ量が物
理セクタの大きさと同じデータ量であるデータの集合体
であるデータ群が記憶させる。ファイルタグは、削除フ
ラグ、ファイル識別番号、開始および終了論理セクタ番
号、書込み開始フラグ、および書込み終了フラグとを含
む。或るファイルタグによって管理されるファイルを、
そのファイルタグの被管理ファイルと称する。
【0087】
【表4】
【0088】削除フラグは、ファイルタグの使用状態を
表す。具体的には、削除フラグは1バイトのデータであ
る。削除フラグのコードがコード「FF」であるとき、
ファイルに対応付けられておらず使用状態が記憶されて
いない未使用状態であることを表す。コード「F0」で
あるとき、被管理ファイルの使用状態を記憶した使用中
状態を表す。コード「00」であるとき、このファイル
タグのデータの消去が許可された削除状態であることを
表す。削除フラグは、未使用状態、使用中状態、および
削除状態の順で、上書きによって順次書換えることがで
きる。
【0089】ファイル識別番号は、被管理ファイルを識
別するための番号であって、被管理ファイルの供給元で
ある電子機器8によって決定される。具体的には、ファ
イル識別番号として、1バイトのデータであり1以上2
55以下の10進数の数値が記憶される。開始および終
了論理セクタ番号は、被管理ファイルが、論理セクタ空
間のどこに記憶されているかを表すために記憶される。
具体的には、開始論理セクタ番号は、論理セクタ空間内
で被管理ファイルのデータを記憶する複数の論理セクタ
のうちで論理セクタ番号が最も小さい先頭の論理セクタ
に付された論理セクタ番号である。終了論理セクタ番号
は、論理セクタ空間内で被管理ファイルのデータを記憶
する複数の論理セクタのうちで論理セクタ番号が最も大
きい終端の論理セクタに付された論理セクタ番号であ
る。
【0090】書込み開始フラグと書込み終了フラグと
は、被管理ファイルを書直す間に電力供給が遮断された
か否かを判定するために設けられる。両フラグに書込ま
れるコードは、「FF」,「FE」,「FC」,「F
8」,「F0」,「E0」,「C0」,「80」,「0
0」であり、これらコードは、上述の順で、順次上書き
によって書換えることができる。書込み開始フラグは、
被管理ファイルの書込み処理を行う前に、該フラグの全
ビットのうちで値が1であるビットの中で桁が最下のビ
ットの1つが1から0に書換えられるように、上書きに
よって書換えられる。書込み終了フラグは、被管理ファ
イルの書込みおよび書直し処理が終了した後に、書込み
開始フラグと同様に、上書きによって書換えられる。両
フラグが「00」になると、それ以上上書きによる書換
えができないので、後述のようにファイルタグ自体を再
書換えする。以後、ファイル管理データ内の先頭のファ
イルタグを0番目として、0番目のファイルタグからn
番目のファイルタグを、第nファイルタグと称する。
【0091】以下に、記憶装置1にファイルを作成する
初期化処理を簡単に説明する。まず、フラッシュメモリ
1の全ブロックのデータを消去して初期化し、管理タグ
データを作成して記憶させる。次いで、各ファイルの領
域確保を行う。具体的には、ファイル識別番号とサイズ
とを指定して、そのファイルタグを作成し、セクタタグ
に必要なデータを記述する。領域確保をしただけの状態
では、ファイルタグには、「FF」が書かれていると考
えられるので、各種のデータを上書きによって書き込む
ことができる。またフラグを上書きによって変更するこ
とができる。またそのファイルの先頭からのアドレスの
オフセットを表すオフセットアドレスとそのサイズとを
指定して書き込む。これによって、記憶装置1にファイ
ルが作成される。このファイルは、たとえば記憶装置1
を使用し始めたときに、予め定める数だけ一括して作成
される。
【0092】以下に、記憶装置1のデータの書込み処理
を説明する。 まず、記憶装置1にデータを新たに記憶させる場合の書
込み処理を概略的に説明する。電子機器8は、新たなデ
ータを、システムバス7を介して中央制御装置4に与え
る。このデータは、メモリ6に一時的に記憶される。さ
らに電子機器8は、制御データとして、そのデータを記
憶すべきファイルのファイル識別番号と、そのファイル
が使用することができるサイズとを指定する。この時点
で記憶装置1には初期化処理が行われていて、ファイル
管理データ内にファイルタグが記憶されている。
【0093】記憶装置1は、その対応するファイルのフ
ァイルタグ内の書込み開始フラグを「FF」から「F
E」に上書きによって書換え、データ記憶処理を開始す
る。データ記憶処理では、指定されたオフセットアドレ
スとさいずとから、該当する論理セクタとその論理セク
タの先頭からのオフセットアドレスとを計算し、論理セ
クタに仮想的に記憶させるべきファイルのデータを、該
論理セクタに対応付けた物理セクタに書込む。全ての論
理セクタについで上述の一連の動作が終了すると、デー
タの書込み処理が終了したものとして、最後に、書換え
終了フラグを「FF」から「FE」に上書きによって書
換える。これによって、フラッシュメモリ3のファイル
が書換えられる。
【0094】次いで、フラッシュメモリ3に記憶された
データを書換える場合のファイル管理データの推移を、
図4〜図7を用いて、以下に概略的に説明する。図4〜
図7は、ファイル管理データの記憶内容を表す模式図で
ある。
【0095】まず、ファイル管理データが図4の記憶内
容である状態から、ファイル識別番号が2であるファイ
ルを処理対象の対象ファイルとして、データを書換える
第1の例を説明する。第1の例のデータの書換え前の時
点では、フラッシュメモリ3には既に複数のファイルが
記憶され、ファイル管理データの記憶内容が図4に表す
内容であるとする。図4の記憶内容は、第1ファイルタ
グのファイル識別番号が2であってかつ使用中状態であ
り、その書込み開始フラグと書込み終了フラグとのコー
ドは共に「80」である。また、第63ファイルタグが
未使用状態である。未使用状態のファイルタグの全ビッ
トは1であるので、その書込み開始フラグと書込み終了
フラグとのコードは、共に「FF」である。また、未使
用状態のファイルタグには、ファイル識別信号とおよび
開始および終了論理セクタ番号とを、上書きによって新
たに書込むことができる。
【0096】データを書換える場合、電子機器8は、フ
ラッシュメモリ3に記憶されたデータに置換えて記憶す
べき新たなデータを、システムバス7を介して記憶装置
1に与える。この新たなデータは、メモリ6に一時的に
記憶される。さらに電子機器8は、制御データとして、
書換え対象のデータを含む対象ファイルのファイル識別
番号と、論理セクタ空間内で書換え対象のデータが記憶
された位置の先頭を表す読出し開始論理アドレスと、書
換え対象のデータのデータ量とを、中央制御装置3に与
える。対象ファイルのファイル識別番号が2番であると
仮定して、以後の処理を説明する。
【0097】ファイル管理部21は、まず、全物理セク
タのうちから、第0論理セクタに対応付けられた物理セ
クタを検索する。次いで、検索された前記物理セクタか
らファイル管理データを読出し、そのファイル管理デー
タ内の全ファイルタグのうちから、対象ファイルのファ
イルタグとして、ファイル識別番号が電子機器8によっ
て指定された番号であってかつ使用中状態のファイルタ
グを検索する。第1の例では、第1ファイルタグが検索
される。
【0098】次いで、ファイル管理部21は、書込み開
始フラグのコードが上書きによってさらに更新すること
ができるか否かを判定する。第1の例では書込み開始フ
ラグは「80」であるので、上書きによって更新するこ
とができる。ゆえに、開始フラグ更新部22は、書込み
開始フラグのコードを上書きによって書換えて更新す
る。第1の例では、書込み開始フラグのコードは、「8
0」から「00」に書換えられる。
【0099】次いで、位置決定部41は、電子機器8か
ら与えられた制御データに基づいて、論理セクタ空間の
うちで、書換え対象のデータが記憶された論理セクタを
決定する。また、各論理セクタに対応する物理セクタ毎
に、その物理セクタ内で、データの読出しを開始/終了
する位置を表すアドレスを決定する。続いて、データ記
憶処理によって、フラッシュメモリ3に記憶された書換
え元のデータを、電子機器8から与えられた新たなデー
タに書換える。データ記憶処理終了後、終了フラグ更新
部23は、書込み終了フラグのコードを上書きによって
書換えて更新する。第1の例では、書込み終了フラグの
コードは、「80」から「00」に書換えられて更新さ
れる。ゆえに、書込み開始フラグと書込み終了フラグと
のコードが一致する。フラグ更新後、データの書込み処
理を終了する。
【0100】この一連の処理終了後、ファイル管理デー
タの記憶内容は、図4の記憶内容から図5の記憶内容に
書換えられている。図5の記憶内容は、第1ファイルタ
グの書込み開始フラグと書換え終了フラグとのコードが
共に「00」である点が異なり、他は図4の記憶内容と
等しい。
【0101】次いで、ファイル管理データが図5の記憶
内容である状態からファイル識別番号が2であるファイ
ルのデータをさらに書換える第2の例の書込み処理を以
下に説明する。
【0102】電子機器8は、第1の例と同様に、新たな
データと制御データとを、記憶装置1に与える。ファイ
ル管理部21は、第1の例と同様に、第1ファイルタグ
を検索する。このとき、書込み開始フラグのコードが
「00」であるので、この書込み開始フラグと書込み終
了フラグとを、上書きによって書換えることができな
い。ゆえに、書込み開始フラグと書込み終了フラグとを
コード「FF」に戻す必要がある。
【0103】このためにファイル管理部21は、まず、
ファイル管理データの全ファイルタグのうちから、削除
フラグが未使用状態を表すファイルタグを検索する。第
2の例では、第63ファイルタグが検索される。次い
で、第63ファイルタグの削除フラグを、上書きによっ
て、使用中状態に書換える。さらに、このファイルタグ
に、第1ファイルタグに記憶されたファイル識別番号な
らびに開始および終了論理セクタ番号を、上書きによっ
て書込む。さらに、第1ファイルタグの削除フラグを、
上書きによって削除状態に書換える。これによって、対
象ファイルのファイルタグは、第1ファイルタグから、
第63ファイルタグに変更される。ゆえに、ファイル管
理データの記憶内容は、図5の記憶内容から図6の記憶
内容に変更される。
【0104】図6の記憶内容は、第1ファイルタグの削
除フラグが削除状態に書換えられた点と、第63ファイ
ルタグのファイル識別番号ならびに開始および終了論理
セクタ番号が、第1ファイルタグのファイル識別番号な
らびに開始および終了論理セクタ番号と同じ値に書換え
られる点とが異なり、他は図5の記憶内容と等しい。第
63ファイルタグの書込み開始フラグと書込み終了フラ
グとのコードは、「FF」である。ゆえに、上述の一連
の処理は、対象ファイルのファイルタグの書込み開始フ
ラグと書込み終了フラグとを、初期状態に戻したことと
等しい。
【0105】次いで、ファイル管理部21は、第63フ
ァイルタグの書込み開始フラグを更新し、データを仮想
的に記憶する論理セクタを決定してデータ記憶処理を行
い、最後に第63ファイルタグの書込み終了フラグを更
新する。書込み終了フラグの書換え後、書込み処理を終
了する。この時点では、第63ファイルタグの書込み開
始フラグと書込み終了フラグとのコードは共に「FE」
である。ゆえに、これ以後、再び両フラグのコードが
「00」になるまで、第1の例と同じ処理動作によっ
て、データの書換えを行うことができる。
【0106】次いで、対象ファイルのファイルタグの書
込み開始フラグと書込み終了フラグとが「00」であっ
てかつファイル管理データ内に未使用状態のファイルタ
グがない場合の第3の例の書込み処理を、以下に説明す
る。以下の説明では、たとえば、第2の例の書換え処理
以後、ファイル識別番号が2であるファイルに対して複
数回の書換え動作をさらに行い、書込み開始フラグと書
込み終了フラグとが共に「00」になった時点から、第
3の例の書込み処理として、そのファイル識別番号が2
であるファイルのデータを更に書換えるものとする。
【0107】電子機器8は、第1の例と同様に、新たな
データと制御データとを、記憶装置1に与える。ファイ
ル管理部21は、第1の例と同様に、対象ファイルのフ
ァイルタグを検索する。このとき、第2ファイルタグは
削除状態なので検索されず、代わりに第63ファイルタ
グが検索される。すなわち、ファイルタグが削除状態で
あるとき、そのファイルタグと被管理ファイルとの対応
付けが解除され、かつファイルタグのデータの読出しが
禁止される。第63ファイルタグの書込み開始フラグの
コードは「00」であるので、ファイル管理部21は、
第2の例と同様に、ファイル管理データの全ファイルタ
グのうちから未使用状態のファイルタグを検索する。こ
の場合では、ファイル管理データ内に未使用状態のファ
イルタグがない。
【0108】このためにファイル管理部21は、物理セ
クタ空間のうちで、通常状態のブロックに含まれかつ未
使用状態である物理セクタを検索する。この物理セクタ
に、ファイル管理データの全ファイルタグのうちで、使
用中状態のファイルタグのデータだけを上書きによって
書込み、さらに元の物理セクタのセクタタグの識別フラ
グを、上書きによって無効状態に書換える。これによっ
て、第0論理セクタに対応する物理セクタが変更され
る。また、ファイル管理データの記憶内容は、図7の記
憶内容に書換えられる。
【0109】図7の記憶内容は、第3の例の書換え処理
を開始した時点のファイル管理データと比較して、第2
ファイルタグ内のデータがすべて消去されて第2ファイ
ルタグが未使用状態である点だけが異なり、他は等し
い。すなわち、この記憶内容は、上述の場合の書換え処
理を開始した時点の記憶内容から、ファイル管理データ
内で削除状態だったファイルタグのデータだけを削除
し、他のファイルタグのデータがそのまま保持された内
容と等しい。
【0110】ファイル管理部21は、この状態から未使
用状態のファイルタグを再度検索する。この場合、第2
ファイルタグが未使用状態なので、以後、第2の例の処
理と同様に処理を行うことができる。
【0111】図8は、データの書込み処理の主制御動作
を説明するためのフローチャートである。
【0112】まず、上述の新たなファイルを書込む場合
と、上述の第1の例の書込み処理を行う場合との主制御
動作を説明する。電子機器8は、中央制御装置3に、前
記新たなデータと前記制御データとを与える。この状態
から、ステップa1からステップa2に進む。
【0113】ステップa2では、中央制御装置4のファ
イル管理部21は、まず、全物理セクタのうちから、第
0論理セクタに対応付けられた物理セクタを検索する。
この検索は、具体的には、まず、全ブロックの管理タグ
データを順次読出し、その管理タグデータ内の全セクタ
タグのうちで、論理セクタ番号として0が記憶されかつ
識別フラグが有効状態を表すセクタタグを検索する。こ
のように検索されたセクタタグの被管理物理セクタが、
第0論理セクタに対応付けられた物理セクタである。
【0114】次いで、ファイル管理部21は、検索され
た物理セクタからファイル管理データを読出し、そのフ
ァイル管理データ内の全ファイルタグのうちから、対象
ファイルのファイルタグを検索する。具体的には、全フ
ァイルタグ内で、電子機器8によって指定されたファイ
ル識別番号が記憶され、かつ削除フラグが使用中状態を
表すファイルタグを検索する。
【0115】ステップa3では、ファイル管理部21
は、ステップa2の検索によって、対象ファイルのファ
イルタグが検索されたか否かを判定する。検索されない
とき、その対象ファイルは未だフラッシュメモリ3に定
義されていない新規のファイルであると判断され、書込
処理においてエラーになる。ゆえにステップa3からス
テップa4に進み、エラーであることを示すエラー表示
を行って、そのままステップa17で処理を終了する。
ファイルタグが検索されたとき、その対象ファイルは既
にフラッシュメモリ3に定義されていると判断される。
このとき、ステップa3から直接ステップa5に進む。
【0116】ステップa5では、ファイル管理部21
は、書込み開始フラグのコードが「00」であるか否か
を判定する。書込み開始フラグのコードが「00」でな
ければ、コードを上書きによって書換えることができる
ので、そのままステップa6に進む。ステップa6で
は、開始フラグ更新部22が、書込み開始フラグのコー
ドを上書きによって書換えて更新する。具体的には、書
込み開始フラグを構成する2バイトのデータのうちで、
ビットの値が1であるビットの中で桁が最小である1つ
のビットを1から0に書変える。これによって、書込み
開始フラグのコードは書込み終了フラグのコードより
も、前述の順序の中で1段進んだコードになる。
【0117】次いで、ステップa7で、位置決定部41
が、電子機器8から与えられた制御データに基づいて、
論理セクタ空間のうちで、処理対象の論理セクタを決定
する。また、各論理セクタに対応する物理セクタ毎に、
その物理セクタ内で、データの読出しを開始/終了する
位置を表すアドレスを決定する。ステップa8では、デ
ータの記憶処理を行う。ステップa7,a8の詳細な動
作は後述する。記憶処理終了後、ステップa9で、記憶
処理が正常に終了したが否かが判定される。正常終了し
たとき、ステップa10に進む。正常終了していないと
き、ステップa11で各種のエラー処理を行い、ステッ
プa17で書込み処理を終了する。
【0118】ステップa10では、で、終了フラグ更新
部23が、書込み開始フラグと同様に、書込み終了フラ
グのコードを上書きによって書換えて更新する。ゆえ
に、書込み開始フラグと書込み終了フラグとのコードが
一致する。フラグ更新後、ステップa17で書込み処理
を終了する。
【0119】次いで、上述した第2の例の書込み処理を
行う場合の主制御動作を説明する。この場合の主制御動
作は第1の例の書込み処理を行う場合の主制御動作と類
似し、同一の動作の詳細な説明は省略する。
【0120】電子機器8は、第1の場合と同様に、前記
新たなデータと書換え処理の前記制御データとを、記憶
装置1に与える。ステップa2からステップa4までの
処理動作は、第1の例と等しい。第2の例では、書込み
開始フラグのコードが「00」であるので、ステップa
5からステップa12に進む。ファイル管理部21は、
書込み開始フラグと書込み終了フラグとを、コード「F
F」に戻すために、ステップa12〜a16でファイル
タグの書直し処理を行う。
【0121】ステップa12では、ファイル管理部21
は、ファイル管理データの全ファイルタグのうちから、
削除フラグが未使用状態を表すファイルタグを検索し、
そのファイルタグが検索できたか否かを判定する。ファ
イル管理データ内に未使用状態のファイルタグが複数含
まれる場合、それらファイルタグのうちで最初に検索さ
れたファイルタグを用いる。ファイルタグが検索された
場合は、ステップa12からステップa13に進む。
【0122】ステップa13では、ファイル管理部21
は、ステップa12で検索されたファイルタグの削除フ
ラグを、上書きによって、使用中状態に書換える。さら
に、このファイルタグに、対象ファイルのファイルタグ
に記憶されたファイル識別番号と開始および終了論理セ
クタ番号とを、上書きによって書込む。このとき、書込
み開始フラグと書込み終了フラグとは、初期値である
「FF」に保たれる。さらにステップa14で、ファイ
ル管理部21は、ステップa2で検索された対象ファイ
ルのファイルタグの削除フラグを、上書きによって、削
除状態に書換える。これによって、対象ファイルのファ
イルタグは、ステップa2で検索されたファイルタグか
ら、ステップa12で検索されたファイルタグに変更さ
れる。
【0123】ゆえに、ステップa12〜a14の処理に
よって、対象ファイルのファイルタグのうちで書込み開
始フラグと書込み終了フラグとが初期状態に戻されたこ
とになる。このとき、ステップa12〜a14のファイ
ルタグの書直し処理では、データの消去処理を行わな
い。ゆえに、ファイル管理データを実際に記憶した物理
セクタのデータの消去回数を増加させることなく、対象
ファイルのファイルタグの書込み開始フラグと書込み終
了フラグとを初期状態に戻すことができる。
【0124】ファイル管理部21は、ステップa14の
処理終了後、ステップa6〜a11の処理を行い、デー
タを書換える。このときファイル管理部21は、対象フ
ァイルのファイルタグとして、ファイル識別番号が電子
機器8から指定された番号であって削除フラグが使用中
状態を表すファイルタグを用いる。すなわち、ステップ
a12〜a14で新規に作成されたファイルタグが用い
られ、ステップa2で検索されたファイルタグは処理対
象にならない。ゆえに、ステップa6,a10では、書
込み開始フラグおよび書込み終了フラグを、上書きによ
って書換えることができる。書込み終了フラグの書換え
後、ステップa17で当該フローチャートの処理動作を
終了する。
【0125】次いで、上述の第3の例の書込み処理を行
う場合の主制御動作を説明する。この場合の主制御動作
は第1および第2の例の主制御動作と類似し、同一の動
作の詳細な説明は省略する。
【0126】電子機器8は、第1の場合と同様に、新た
なデータと書換え処理の制御データとを、記憶装置1に
与える。ステップa2からステップa5までの処理動作
は、第2の例と等しい。ステップa12では、ファイル
管理データ内に未使用状態のファイルタグがないので、
ファイルタグが検索されない。このとき、ステップa1
2からステップa18に進む。
【0127】ステップa18では、ファイル内に未使用
セクタがあるか否かを判定する。未使用セクタがあると
きステップa15に進み、未使用セクタがないとき、ス
テップb19でブロックの交換処理を行い、未使用セク
タをつくる。ブロックの交換処理の詳細は後述する。交
換処理後、ステップa15に進む。
【0128】ステップa15では、ファイル管理部21
は、まず、物理セクタ空間のうちで、通常状態のブロッ
クに含まれかつ未使用状態である物理セクタを検索す
る。この検索は、具体的には、まず、各ブロックの管理
タグデータを参照して、使用フラグが通常ブロックであ
るブロックタグを検索する。次いで、検索されたブロッ
クタグと同じ管理タグデータ内の全セクタタグのうちか
ら、識別フラグが未使用状態を表すセクタタグを検索す
る。このセクタタグの被管理物理セクタが、通常状態の
ブロックに含まれ、かつ未使用状態である所望の物理セ
クタである。物理セクタ空間内に複数の所望の物理セク
タが含まれるとき、最初に検索された物理セクタを用い
る。
【0129】次いで、ファイル管理部21は、検索され
た所望の物理セクタに、ファイル管理データの全ファイ
ルタグのうちで、使用中状態であるファイルタグのデー
タだけを、上書きによって書込む。このとき、所望の物
理セクタの中で、元の物理セクタ内でその物理セクタの
先頭から各データが記憶された位置までのアドレスと同
じアドレスで表す位置に、各データが書込まれる。ゆえ
に、物理セクタの先端を基準として各データが記憶され
る位置を表す相対アドレスは、所望の物理セクタと元の
物理セクタとで等しい。このように、相対アドレスを保
つことによって、この書込み処理時に、相対アドレスを
新たに算出して決定するような処理が必要とされないの
で、処理を簡略化することができる。さらに、ファイル
管理部21は、所望の物理セクタのセクタタグを書換え
る。具体的には、この物理セクタのセクタタグの論理セ
クタ番号として0を上書きによって書込み、さらに識別
フラグを有効状態に上書きによって書換える。
【0130】次いで、ファイル管理部21は、ステップ
a16で、ステップa2で検索された物理セクタのセク
タタグの識別フラグを、上書きによって、無効状態を表
すコードに書換える。
【0131】これによって、第0論理セクタに対応する
物理セクタは、ステップa2で検索された物理セクタか
ら、ステップa15で検索された所望の物理セクタに変
更される。ゆえに、所望の物理セクタに記憶されたデー
タが、ファイル管理データとして以後の処理に用いられ
る。したがって、ステップa15,a16の処理によっ
て、削除状態のファイルタグだけを初期化して、未使用
状態に戻すことができる。
【0132】ファイル管理部21は、ステップa16の
処理終了後、ステップa12に戻り、未使用状態のファ
イルタグを検索する。ファイル管理データには、ステッ
プa15,16の処理によって未使用状態のファイルタ
グが必ず含まれているので、以後、第2の例の処理と同
様に、ステップa13,a14,a6〜a11の順で、
処理を行うことができる。書込み終了フラグの書換え
後、ステップa17で書込み処理を終了する。
【0133】このように、ファイル管理データの記憶内
容に応じて、第1〜第3の例の主制御動作を行うことに
よって、ファイルタグによって各ファイルのデータの書
換え状態を管理しつつ、データの書込み動作を行うこと
ができる。
【0134】ファイル管理データは、フラッシュメモリ
3内に記憶される。ゆえに、記憶装置1への電力供給が
遮断された場合にも、その記憶内容を保つことができ
る。したがって、ファイル管理データの保持のためだけ
に記憶装置1に電力を供給する必要がない。ゆえに、本
発明の記憶装置1は、このファイル管理データをランダ
ムアクセスメモリに記憶させる場合と比較して、消費電
力を減少させることができる。
【0135】また、ファイル管理データは、表4で表す
ような構造のデータである。ゆえに、上述の書込み動作
のうちでファイル管理データの書換え時に、第3の例の
ステップa19で1回だけデータの消去処理を行い、他
のときはすべて上書きによってデータを書換える。した
がって、上述のファイル管理データを用いてファイルの
管理を行う場合、データの消去回数をほとんど増加させ
ることなく、必要なデータの書換えを行うことができ
る。したがって、フラッシュメモリ3の寿命を延ばすこ
とができる。
【0136】主制御動作のうちでステップa8のデータ
の記憶処理を、以下に説明する。 まず、図9〜図17の例を用いて、記憶処理を概略的に
説明する。この説明では、説明の簡略化のために、物理
セクタ空間Zaを、9個の物理セクタSA0〜SA8か
らそれぞれ構成される第1〜第4ブロックB1〜B4に
よって構成されると仮定する。
【0137】記憶処理開始時のフラッシュメモリ3とメ
モリ6との記憶状態を、図9と図10とに表す。これら
ブロックB1〜B4のうち、記憶処理開始時には、第1
ブロックB1が予備ブロックとして用いられる。第1〜
第4ブロックB1〜B4の消去回数は、それぞれ、10
0回、100回,110回,10回である。第2ブロッ
クB2の第1物理セクタSA1と第3ブロックB3の第
2物理セクタSA2とが、未使用状態である。第2ブロ
ックB2の第3物理セクタSA3と、第3ブロックB3
の第5,第6,第8物理セクタSA5,SA6,SA8
とが、無効状態である。第2ブロックB2の第2,第4
〜第8物理セクタSA2,SA4〜SA8と、第3ブロ
ックB3の第1,第3,第4,第7物理セクタSA1,
SA3,SA4,SA7と、第4ブロックB4の第1〜
第8物理セクタSA1〜SA8とが、有効状態である。
【0138】有効状態の各物理セクタは、()を付して
示すアルファベットの語順に、論理セクタ空間Zbの論
理セクタに順次対応づけられる。第2ブロックB2の第
2物理セクタSA2は、論理セクタ番号がA番である第
A論理セクタに対応付けられる。第3ブロックB3の第
1物理セクタSA1は、第B論理セクタに対応付けられ
る。第4ブロックB4の第3物理セクタSA3は、第C
論理セクタに対応付けられる。論理セクタ番号の[A]
〜[R]は、たとえば、100番〜117番に相当す
る。
【0139】書換え元となる新たなデータYA〜YC
は、メモリ6に記憶される。データYAは、第2ブロッ
クB2の第2物理セクタSA2に記憶されたデータのう
ち後半の128バイトのデータXAをさらに書換えたデ
ータである。データYBは、第3ブロックB3第1物理
セクタSA1に記憶された全てのデータXBをさらに書
換えたデータである。データYCは、第4ブロックB4
の第3物理セクタSA3に記憶された全てのデータXC
をさらに書換えたデータである。この例では、新たなデ
ータYA〜YCは、元のデータXA〜XCと一致してい
ない。また、上書きによって元のデータXA〜XCを新
たなデータYA〜YCに書換えることはできないと仮定
する。記憶装置1は、新たなデータYA,YB,YCの
順でデータを書換えるものとする。
【0140】図9および図10の状態から、まず、デー
タYAが書換えられる。具体的には、まず、データ一致
判定部32が、新たなデータXAが元のデータXAと一
致するか否かを判定する。このとき、データ一致判定部
32は、第2ブロックの第2物理セクタの後半に記憶さ
れた元のデータYAだけを読出し、この元のデータXA
と新たなデータYAとを比較する。上述の例では、新た
なデータYAは、元のデータXAと一致していない。ゆ
えに、次いで、上書き判定部34が、元のデータXAを
上書きすることによって新たなデータYAに書換えるこ
とができるか否かを判定する。上述の例では、上書きを
用いた書換えはできない。
【0141】次いで、空きセクタ検索部35が、消去回
数が最小であるブロック内の未使用状態の物理セクタを
検索する。上述の例では、第2ブロックB2の第1物理
セクタSA1が検索される。書込み制御部33は、その
新たなデータYAと第2ブロックの第2物理セクタの前
半のデータとを、第2ブロックB2の第1物理セクタS
A1に書込んで第A論理セクタと対応させ、さらに第2
ブロックB2の第2物理セクタSA2を無効状態にし
て、記憶処理を終了する。これによって、新たなデータ
YAの記憶処理後、物理セクタ空間Zaの記憶状態は、
図11に表す状態になる。図11の記憶状態は、第A論
理セクタに対応する物理セクタが第2ブロックB2の第
2物理セクタSA2から第2ブロックB2の第1物理セ
クタSA1に変更され、その記憶内容が変更されている
点が異なり、他は図10の記憶状態と等しい。
【0142】図11の状態から、データYBの書込み処
理が開始される。このとき、新たなデータYBは、元の
データXBと一致しておらず、また元のデータXBに上
書きすることによって、新たなデータYBに書換えるこ
とはできないので、データ一致判定部32と上書き判定
部34との判定は、共に否定される。ゆえに、次いで空
きセクタ検索部35によって未使用領域の物理セクタが
検索される。このとき、第3ブロックB3の第2物理セ
クタSA2が検索される。書込み制御部33は、第3ブ
ロックB3の第2物理セクタSA2にデータYBを書込
み第B論理セクタを対応させ、第3ブロックB3の第1
物理セクタSA1を無効状態にして、記憶処理を終了す
る。この結果、物理セクタ空間Zaの記憶状態は、図1
2で表す状態になる。図12の記憶状態は、第B論理セ
クタに対応する物理セクタが第3ブロックB3の第1物
理セクタSA1から第3ブロックB3の第2物理セクタ
SA2に変更され、その記憶内容が変更されている点が
異なり、他は図11の記憶状態と等しい。
【0143】図12の状態から、データYCの書込み処
理が開始される。このとき、新たなデータYCは元のデ
ータXCと一致しておらず、また元のデータXCに上書
きすることによって新たなデータYCに書換えることは
できないので、データ一致判定部32と上書き判定部3
4との判定は、共に否定される。ゆえに、次いで空きセ
クタ検索部35によって未使用領域の物理セクタが検索
される。図12の記憶状態では、通常状態のブロックの
うちに未使用状態の物理セクタは含まれない。ゆえに、
無効状態の物理セクタを未使用状態にするために、ブロ
ック検索部36と転送制御部37と消去制御部38とに
よってブロックの交換処理が行われる。この交換処理
は、図8のステップa19の交換処理と等しい。以下
に、交換処理を概略的に説明する。
【0144】まず、ブロック検索部36が、無効状態ま
たは欠陥状態の物理セクタを含むブロックのうちで消去
回数が最小であるブロックを検索する。図12の記憶状
態では、第2ブロックB2が検索される。次いで、交換
処理用の転送制御部37は、第1ブロックB1を、予備
状態から通常状態に変更する。続いて、転送制御部37
は、第2ブロックB2のうちで有効状態の物理セクタS
A1,SA4〜SA8に記憶されたデータを、第1ブロ
ックB1の同じ位置の物理セクタSA1,SA4〜SA
8に書込み、第1ブロックB1の物理セクタSA1,S
A4〜SA8を論理セクタに対応させる。この結果、物
理セクタ空間Zaの記憶状態は、図13で表す状態にな
る。図13の記憶状態は、第A,第D〜H論理セクタに
対応する物理セクタが、第2ブロックB2の第1,第4
〜第8物理セクタSA1,SA4〜SA8から第1ブロ
ックB1の第1,第4〜第8物理セクタSA1,SA4
〜SA8に変更された点が異なり、他は図12の記憶状
態と等しい。図13の記憶状態では、第1ブロックB1
の第2および第3物理セクタSA2,SA3は未使用状
態のままである。
【0145】図13の記憶状態から、まず計数部39が
第2ブロックB2の消去回数をメモリ6に記憶させる。
次いで、交換処理用の消去制御部38は、第2ブロック
B2のデータを消去させる。最後に、消去制御部38
は、メモリ6に記憶された消去回数を計数部39によっ
て1増加させて更新させ、第2ブロックB2の管理タグ
データを再生成して第2ブロックB2の第0物理セクタ
SA0に記憶させ、ブロックの交換処理を終了する。こ
の結果、物理セクタ空間Zaの記憶状態は、図14で表
す状態になる。図14の記憶状態では、第2ブロックB
2の消去回数が1増加し、第2ブロックB2の第1〜第
8物理セクタSA1〜SA8が未使用状態になり、かつ
第2ブロックB2が予備ブロックになっている点が異な
り、他は図13の記憶状態と等しい。ゆえに、通常状態
のブロックB1,B3,B4のうち、第1ブロックB1
に新たに未使用状態の物理セクタSA2,SA3ができ
る。ゆえに、この未使用状態の物理セクタにデータを書
込むことができる。
【0146】また、この記憶装置1は、ブロックの交換
処理を行うたびに、回数判定部40よって、全ブロック
の消去回数のうちで最大の消去回数と最小の消去回数と
の差が、予め定める基準回数未満であるか否かを判定す
る。前記差が基準回数以上であるとき、データの消去回
数を平準化するためのレベリング処理を行う。図14の
記憶状態から続けてレベリング処理を行うと仮定して、
レベリング処理を概略的に説明する。
【0147】図14の記憶状態では、全ブロックのうち
で消去回数が最大であるブロックは第3ブロックB3で
あり、消去回数が最小であるブロックは第4ブロックB
4である。レベリング処理では、まずレベリング用の転
送制御部43が、第2ブロックを予備状態から通常状態
に変更し、消去回数が最小である第4ブロックB4の全
物理セクタのうちで有効状態である物理セクタSA1〜
SA8のデータを、第2ブロックB2の同じ位置の物理
セクタSA1〜SA8に書込む。この結果、物理セクタ
空間Zaの記憶状態は、図15で表す状態になる。図1
5の記憶状態は、第I,第N,第C,第O,第M、第P
〜第R論理セクタに対応する物理セクタが、第4ブロッ
クB4の第1〜第8物理セクタSA1〜SA8から第2
ブロックの第1〜第8物理セクタSA1〜SA8に変更
された点が異なり、他は図14の記憶状態と等しい。
【0148】次いで、計数部39が第4ブロックB4の
消去回数をメモリ6に記憶させ、レベリング処理用の消
去制御部38によって、第4ブロックB4のデータを消
去させる。最後に、消去制御部38は、計数部39によ
って消去回数を1増加させて更新させ、管理タグデータ
を再生成して第4ブロックB4の第0物理セクタSA0
に記憶させる。これによって、レベリング処理を終了す
る。この結果、物理セクタ空間Zaの記憶状態は、図1
6で表す状態になる。図16の記憶状態では、第4ブロ
ックB4の消去回数が1増加し、第4ブロックB4の第
1〜第8物理セクタSA1〜SA8が未使用状態にな
り、かつ第4ブロックB4が予備ブロックになっている
点が異なり、他は図15の記憶状態と等しい。
【0149】レベリング処理終了後、さらに新たなデー
タYCを書込む。このとき、通常状態の全ブロックB1
〜B3のうちで第1ブロックB1に未使用状態の物理セ
クタSA2,SA3があるので、書込み制御部33は、
第1ブロックB1の第2物理セクタSA2にデータYC
を書込み、記憶処理を終了する。これによって、最終的
に、物理セクタ空間Zaの記憶状態は、図17で表す状
態になる。図17の記憶状態では、第C論理セクタに対
応する物理セクタが、第2ブロックB2の第3物理セク
タSA3から第1ブロックB1の第2物理セクタSA2
に変更され、かつその記憶内容が変更されている点が異
なり、他は図16の記憶状態と等しい。
【0150】図18は、上述した記憶処理のうち、或る
単一の論理セクタについての処理を詳細に説明するため
のフローチャートである。記憶処理は、主制御動作のス
テップa7で、処理対象の論理セクタが決定された後に
開始され、各論理セクタを処理対象とするたびに、ステ
ップb1からステップb2に進む。
【0151】ステップb2では、まず、データ一致セク
タ検索部31によって、全物理セクタのうちから、処理
対象の論理セクタに対応する物理セクタが検索され、そ
の物理セクタのデータが読出される。この検索の具体的
な手法は、検索対象の論理セクタ番号がステップa7で
決定された論理セクタの論理セクタ番号であることが異
なり、他はステップa2での検索手法と等しい。
【0152】次いで、ステップb3では、データ一致判
定部32によって、ステップb2で読出された元のデー
タと書込み対象の新たなデータとが比較され、両データ
が一致するか否かが判定される。両データが一致しない
と判定されるとき、ステップb3からステップb4に進
む。両データが一致するとき、新たなデータと同じデー
タが既にフラッシュメモリ3に書込まれているので、デ
ータを新たに書込む必要がない。ゆえに、ステップb3
からステップb14に進み、記憶処理を終了する。
【0153】ステップb3で判定が肯定される状態は、
たとえば、ファイルのデータを部分的に修正してその修
正後のファイルの全データを一括して書込み対象とした
場合、その一部のデータに修正がないにも拘わらずその
データも書込み対象になるときにおこる。このとき、書
込み制御部33は、データを書込まずにそのまま処理を
終了させる。ゆえに、データの消去を行わないので、デ
ータの消去回数の増加を防止することができる。また、
フラッシュメモリ3への書込み回数も減少させることが
できる。フラッシュメモリ3は、データの書込み時に
も、フラッシュメモリを構成する素子にストレスが加わ
ることがあるので、書込み回数自体を減少させることに
よって、素子に不必要なストレスが加わることを防止す
ることできる。ゆえに、フラッシュメモリ3の寿命をさ
らに延ばすことができる。
【0154】再び図18を参照する。ステップb3で、
両データが一致しないと判定されるとき、ステップb3
からステップb4に進む。ステップb4では、上書き判
定部34によって、ステップb2で読出された元のデー
タと書込み対象の新たなデータとが比較され、元のデー
タを記憶した物理セクタに新たなデータを上書きによっ
て書込むことができるか否かが判定される。具体的に
は、元データの各ビットと新たなデータの各ビットとを
順次比較して、元データでは0であり新たなデータでは
1であるビットがあるか否かを判定する。このようなビ
ットが全くないとき、上書き判定部34は、上書きがで
きると判定して、ステップb4からステップb5に進
む。このようなビットが1つ以上あるとき、上書きがで
きないと判定して、ステップb4からステップb6に進
む。
【0155】ステップb5では、書込み制御部33は、
ステップb2で検索された物理セクタに、上書きによっ
て新たなデータを書込み、ステップb14で書込み動作
を終了する。このとき、前記物理セクタのデータは消去
されないので、この物理セクタの消去回数を増加させる
ことなく、新たなデータをフラッシュメモリ3に記憶さ
せることができる。ゆえに、フラッシュメモリ3の寿命
をさらに延ばすことができる。
【0156】また、フラッシュメモリ3に新規にファイ
ルを記憶させるとき、ステップb1〜b4を経て、ステ
ップb4で上書きができると判定されるので、ステップ
b5の上書き処理によってデータが書込まれる。具体的
には、まず全ブロックのうちから、ブロックタグの使用
フラグが通常状態であるブロックに含まれ、かつセクタ
タグの識別フラグが未使用状態を表す物理セクタを検索
する。検索された物理セクタの識別フラグを書込み中状
態に上書きによって書換え、その物理セクタにデータを
書込む。このとき、未使用状態の物理セクタは全ビット
が1であるので、データを上書きによって書込むことが
できる。書込み終了後、その物理セクタのセクタタグに
そのデータを仮想的に記憶するべき論理セクタの論理セ
クタ番号を書込み、さらに識別フラグを有効状態に上書
きによって書換える。未使用の物理セクタのセクタタグ
は全ビットが1であるので、論理セクタ番号を上書きに
よって書込むことができる。この一連の動作を、前記先
頭の論理セクタから前記終端の論理セクタまで繰返し、
全ての論理セクタに対して処理が終了した後、記憶処理
が終了される。
【0157】再び図18を参照する。ステップb6で
は、まず空きセクタ検索部35によって、通常状態のブ
ロックに含まれる全物理セクタのうちから、未使用状態
の物理セクタを検索する。この検索は、具体的には、各
ブロックの管理タグデータを参照して、使用フラグが通
常状態を表すブロックタグと同じ管理データ内のセクタ
タグのうちで、識別フラグが未使用状態を表すセクタタ
グを検索する。このセクタタグの被管理物理セクタが、
所望とする未使用状態の物理セクタである。未使用状態
の物理セクタが複数あるとき、そのうちで消去回数が最
小のブロックに含まれる物理セクタが選ばれる。未使用
状態の物理セクタが検索されたとき、ステップb6から
ステップb7に進む。
【0158】ステップb7では、書込み制御部33は、
まず、空きセクタ検索部35によって検索された未使用
状態の物理セクタを論理セクタに対応付けて、前記新た
なデータを書込む。さらに、データ記憶セクタ検索部3
1によって検索されたセクタのデータの消去を許可す
る。ステップb7の詳細な動作は後述する。ステップb
7の処理終了後、ステップb14で記憶処理を終了す
る。
【0159】空きセクタ検索部35によって未使用状態
の物理セクタが検索されないとき、ステップb6からス
テップb8に進み、ステップb8,b9でブロックの交
換処理を行う。ステップb8では、ブロック検索部36
が、通常状態の全ブロックのうちから、無効状態の物理
セクタを含むブロックを検索する。この検索は、具体的
には、各ブロックの管理タグデータを参照して、使用フ
ラグが通常状態を表すブロックタグと同じ管理データ内
のセクタタグのうちで、識別フラグが無効状態を表すセ
クタタグを検索する。このセクタタグを含む管理タグデ
ータ内のブロックタグの被管理ブロックが、所望とする
ブロックである。このようなブロックが複数あるとき、
それらブロックのうちで消去回数が最小であるブロック
を、所望とするブロックとして選択する。また、無効状
態の物理セクタを含むブロックの他に、欠陥状態である
ブロック、および欠陥状態である物理セクタを含むブロ
ックを検索するようにしてもよい。このブロックが得ら
れたとき、ステップb8からステップb9に進む。ステ
ップb9では、交換処理用の転送制御部37と交換処理
用の消去制御部38と計数部39とによって、交換処理
が行われる。この交換処理の詳細は後述する。交換処理
後、その処理中にエラーが発生しなかったとき、ステッ
プb9からステップb10に進む。
【0160】ステップb10では、回数判定部40が、
まず、全てのブロックのうちから、管理タグデータを参
照して、消去回数が最大であるブロックと消去回数が最
小であるブロックとを選択する。次いで、最大の消去回
数と最小の消去回数との差が、予め定める基準回数未満
であるか否かが判定される。予め定める回数は、たとえ
ば100回である。前記差が基準回数未満であるとき、
ステップb10からステップb6に戻る。前記差が基準
回数以上であるとき、ステップb10からステップb1
1に進む。ステップb11では、レベリング処理用の転
送制御部43とレベリング処理用の消去制御部44とに
よって、レベリング処理が行われる。レベリング処理の
詳細は後述する。レベリング処理終了後、その処理中に
エラーが発生しなかったとき、ステップb11からステ
ップ6に戻る。
【0161】ステップb9,b11からステップb6に
戻った後、空きセクタ検索部35によって、再度未使用
状態の物理セクタが再度検索される。このとき、ステッ
プb9の交換処理によって未使用状態の物理セクタがで
きているので、空きセクタ検索部35は、必ず未使用状
態の物理セクタを見付けることができる。ゆえに、ステ
ップb6からステップb7に進み、再書込み処理によっ
て、この未使用状態の物理セクタに、データが書込まれ
る。データ書込み後、ステップb14で、記憶動作を終
了する。
【0162】また、ステップb8で無効状態および欠陥
状態の物理セクタならびに欠陥状態のブロックが見付け
られないとき、フラッシュメモリ3の通常状態の全ての
ブロックにデータが記憶されかつ全データの消去が禁止
されている。この状態のフラッシュメモリ3には、さら
にデータを書込むことができない。ゆえに、ステップb
8からステップb12に進み、書込み制御部33は、エ
ラー処理として、たとえばフラッシュメモリ3に新たな
データを書込む余地が無いことを表す制御データを電子
機器8に与える。またステップb9,b11でエラーが
発生したとき、ステップb9,b11からステップb1
2に進み、書込み制御部33は、エラー処理として、エ
ラーが発生したことを表す制御データを電子機器8に与
える。これによって、電子機器8は記憶装置1で動作異
常が発生したことを知ることができるので、その動作異
常を解消するための処置を速やかに行うことができる。
エラー処理終了後、ステップb14で当該フローチャー
トの処理動作を終了する。
【0163】図19は、上述の書込み処理のうちでステ
ップb7の再書込み処理を詳細に説明するためのフロー
チャートである。図18のフローチャートで、空きセク
タ検索部35によって未使用状態の物理セクタが検索さ
れたとき、ステップc1からステップc2に進む。
【0164】ステップc2では、書込み制御部33は、
ステップb2で処理対象となった物理セクタ、すなわち
書込み元物理セクタのセクタタグのデータを参照して、
空きセクタ検索部35によって検索された未使用状態の
物理セクタ、すなわち書換え先物理セクタのセクタタグ
のデータを書換える。具体的には、書換え先物理セクタ
の世代フラグには、書換え元物理セクタの世代フラグの
値に1を加算した値が上書きによって書込まれる。書換
え先物理セクタの識別フラグは、未使用状態から書込み
中状態に、上書きによって書換えられる。さらに、書換
え元物理セクタの論理セクタ番号データに書込まれた論
理セクタ番号が、上書きによってそのまま書込まれる。
【0165】次いで、ステップc3では、書込み制御部
33は、電子機器8から供給された新たなデータをメモ
リ6上で編集して、書換え先物理セクタに書込むべきデ
ータを作成する。このデータは、書換え元物理セクタに
記憶されたデータのうち、新たなデータに置換えるべき
元のデータが新たなデータに置換えられている。編集
は、たとえば、新たなデータが元の物理セクタに記憶さ
れた全データの一部分に対応するとき、書込み制御部3
3は、この全データの残余の部分をさらに読出し、新た
なデータに付加することによって行われる。編集終了
後、書込み制御部33は、ステップc4で、ステップc
3で生成したデータを、書換え先物理セクタに、上書き
によって書込む。
【0166】続いて、ステップc5では、書込み制御部
33は、書換え先物理セクタのセクタタグの識別フラグ
を、書込み中状態から有効状態に上書きによって書換え
る。次いで、ステップc6では、書込み制御部33は、
書換え元物理セクタのセクタタグのうちで、識別フラグ
を有効状態から無効状態に上書きによって書換える。フ
ラグ書換え後、ステップc7で再書込み処理を終了す
る。
【0167】このような一連の動作によって、再書込み
処理が行われる。書換え先物理セクタに書換え元物理セ
クタの論理セクタ番号が書込まれ、かつ書換え元物理セ
クタが無効状態にされるので、書換え元物理セクタに対
応付けられていた論理セクタは、以後の処理では書換え
先物理セクタに対応付けられる。データ記憶セクタ検索
部31は、通常状態の全ブロックのうちで有効状態の物
理セクタを検索対象にする。ゆえに、無効状態になった
物理セクタは、検索対象から外される。したがって、同
じ論理セクタ番号が記憶された物理セクタが複数あると
きでも、無効状態の物理セクタは検索されない。すなわ
ち、再書込み処理によって、論理セクタに対応づけられ
る物理セクタが変更される。
【0168】このように、物理セクタ空間内でデータが
記憶された物理セクタが変更されたとき、論理セクタ空
間内でそのデータが仮想的に記憶された論理セクタは元
のままである。前述の電子機器8は、論理セクタと論理
アドレスとによって処理対象のデータを指定するので、
物理セクタの変更後も、電子機器8は、再書込み処理前
の論理セクタおよび論理アドレスを用いて、そのデータ
を指定することができる。ゆえに、電子機器8は、再書
込み処理によってデータが書込まれる場合と上書き処理
によってデータが書込まれる場合とのどちらであって
も、書込み後の処理を変更する必要がない。したがっ
て、電子機器8が書込み手法に応答して動作する必要が
無くなる。
【0169】また、書換え先物理セクタの世代フラグの
値は、元の物理セクタの世代フラグの値よりも1増加し
ている。ゆえに、或る論理セクタに対して再書込み処理
を複数回繰返したとき、世代フラグは順次増加する。し
たがって、物理セクタ空間内にその論理セクタの論理セ
クタ番号が記憶された物理セクタが複数あるとき、世代
フラグの値を比較することによって、世代フラグの値が
最大である物理セクタが、その論理セクタに仮想的にさ
れたデータであってかつ最新のデータを記憶しているこ
とが分かる。
【0170】また、セクタタグのデータは、表1〜表3
によって説明した構造になっているので、セクタタグの
データの書換えは、全て上書き処理によって行われる。
したがって、セクタタグのデータの書換えのためだけに
再書込み処理を行う必要がない。したがって、このため
にデータの消去回数を増加させることを防止することが
できる。また、セクタタグを含む管理タグを記憶する物
理セクタを、常にその被管理ブロックの第0物理セクタ
に固定することができる。
【0171】図20は、上述の書込み処理のうちでステ
ップb9の交換処理を詳細に説明するためのフローチャ
ートである。図18のフローチャートで、ブロック検索
部36によって無効状態または欠陥状態の物理セクタを
含むブロックまたは欠陥状態であるブロックが検索され
たとき、ステップd1からステップd2に進む。
【0172】ステップd2では、転送制御部37は、予
備状態のブロックのブロックタグのうち、使用フラグ
を、予備状態から通常状態に上書きによって書換える。
これによって、予備状態であったブロックは、全物理セ
クタが未使用状態である通常状態のブロックになる。こ
のブロックを交換先ブロックとする。
【0173】次いで、ステップd3で、転送制御部37
は、ブロック検索部36によって検索されたブロック、
すなわち交換元ブロックの全物理セクタのうちで有効状
態である物理セクタに記憶されたデータを、交換先ブロ
ック内で前記有効状態の物理セクタと同じ位置の物理セ
クタに、上書きによって書込む。このとき、交換元ブロ
ックの第α物理セクタに記憶されたデータは、交換先ブ
ロックの第α物理セクタに書込まれる。αは、任意の整
数である。また、交換元ブロックのうちで無効状態およ
び欠陥状態の物理セクタのデータは交換先ブロックに書
込まれない。ゆえに、交換先ブロックの物理セクタのう
ち、交換元ブロック内で無効状態および欠陥状態である
物理セクタと同じ位置の物理セクタは、未使用状態のま
まである。したがって、交換先ブロックでは、前記位置
の物理セクタのデータが消去されて未使用状態に戻され
たことと等しい。
【0174】次いで、ステップd4では、転送制御部3
7は、ステップd3の書込みによって、交換元ブロック
に記憶されたデータが交換先ブロックに誤り無く書込ま
れたか否かを判定する。具体的には、転送制御部33が
交換先ブロックと交換元ブロックとのうちで同じ位置の
物理セクタからデータを読出し、両データが等しいか否
かを判定する。両データが等しいとき、データが誤り無
く書込まれたと判定する。このとき、ステップd4から
ステップd5に進む。
【0175】ステップd5では、計数部39が、交換元
ブロックのブロックタグに記憶された消去回数を読出
し、メモリ6に記憶させる。次いで、ステップd6で
は、消去制御部38が、交換元ブロックに記憶されたデ
ータを全て消去し、このブロックを初期状態に戻す。こ
のデータの消去処理は、いわゆるイレースである。した
がって、交換元ブロックの全物理セクタが初期状態に戻
される。ゆえに、ブロックタグおよび全セクタタグも、
初期状態に戻される。次いで、ステップd7では、消去
制御部38は、データの消去処理が誤り無く行われた否
かを判定する。具体的には、消去制御部38は、交換元
ブロックからデータを読出し、そのデータのビットが全
て1であるか否かを判定する。ビットが全て1であると
き、誤りなくデータが消去されたと判定する。このと
き、ステップd7からステップd8に進む。
【0176】ステップd8では、計数部39が、メモリ
6に記憶された消去回数に、1を加算して更新する。ま
た、消去制御部38が、交換元ブロックのブロックタグ
を再生成する。具体的には、消去制御部38は、マジッ
クナンバーに、予め定めるコード「A00A」を上書き
によって書込む。使用フラグは、「FF」から予備状態
に上書きによって書換える。消去回数には、計数部39
によって更新された消去回数をメモリ6から読出して、
上書きによって書込む。このとき、全セクタタグは初期
状態に戻されているので、その識別フラグは未使用状態
を表し、世代フラグと論理セクタ番号とには初期値が記
憶されている。したがって、全物理セクタは、論理セク
タ空間内のいずれの論理セクタとも対応付けられていな
い。これによって、交換元ブロックは、以後の処理で予
備状態のブロックとして用いられる。ブロックタグの再
生成後、ステップd11で交換処理を終了する。
【0177】また、ステップd4で、たとえば交換先ブ
ロックと交換元ブロックとのうちで同じ位置の物理セク
タから読出されたデータが異なるとき、データの書込み
に誤りがあると判定する。このとき、ステップd4から
ステップd9に進む。ステップd9では、書込み制御部
33は、誤りがあると判定された物理セクタの識別フラ
グを、書込み中状態から欠陥状態に上書きによって書換
え、ステップd11で交換処理を終了する。これによっ
て、データが誤って書込まれた物理セクタは欠陥状態に
なるので、以後の処理でデータの記憶に用いられない。
【0178】識別フラグの書換えは、識別フラグを構成
する3つのフラグのうちで、フラグF2Cのコードを
「FF」から「00」に書換えることによって行う。こ
のとき、識別フラグは、表3で説明した組合わせで物理
セクタの使用状態を表す。ゆえに、他の2つのフラグF
2A,F2Bを書換えることなく、識別フラグを書込み
中状態から欠陥状態に書換えることができる。ゆえに、
識別フラグの書換えのための書込み回数を減少させるこ
とができる。
【0179】さらにまた、ステップd7で、たとえば交
換元ブロックから読出されたデータの値が0であるビッ
トが含まれるとき、消去処理が失敗したと判定する。消
去処理の失敗の原因としては、たとえば、データ消去の
ためにフラッシュメモリ3に印加される電圧が、消去に
必要な電圧未満であることが挙げられる。このとき、ス
テップd7からステップd10に進む。ステップd10
では、交換元ブロックの使用フラグを、初期状態から欠
陥状態に上書きによって書換え、ステップd11で交換
処理を終了する。これによって、消去処理が失敗したブ
ロックは欠陥状態になるので、以後の処理でデータの記
憶に用いられない。
【0180】使用フラグの書換えは、識別フラグを構成
する2つのフラグのうちで、フラグF1Bのコードを
「FF」から「00」に書換えることによって行う。こ
のとき、識別フラグは、表2で説明した組合わせで物理
セクタの使用状態を表す。ゆえに、他のフラグF1Aを
書換えることなく、使用フラグを初期状態から欠陥ブロ
ックを表す状態に書換えることができる。ゆえに、使用
フラグの書換えのための書込み回数を減少させることが
できる。
【0181】ステップd9で欠陥状態にさされた物理セ
クタを含むブロック、およびd10で欠陥状態にされた
ブロックは、上述の交換処理において、交換元ブロック
として用いられる。これは以下の理由からである。たと
えばブロックの消去処理の失敗の原因が電圧低下であっ
たとき、記憶装置1に電力を供給する電池を交換して消
去処理を再度行う場合に、データが誤り無く消去される
ことがある。ゆえに、交換処理時に、欠陥状態の物理セ
クタを含むブロックおよび欠陥状態であるブロックを交
換元ブロックとして消去処理を行うことによって、欠陥
状態の物理セクタおよびブロックを、初期状態に戻すこ
とができることがある。これによって、上述のような理
由によって欠陥状態であると見なされた物理セクタおよ
びブロックを、再度利用することができる。この交換処
理は、ステップ図18のa19の交換処理と等しい。
【0182】図21は、上述の書込み処理のうちでステ
ップb11のレベリング処理を詳細に説明するためのフ
ローチャートである。図21のレベリング処理は図20
の交換処理に類似し、以下の一連の動作のうち、ステッ
プe2〜e10の詳細な動作は、交換元ブロックが消去
回数が最小である通常ブロックである点が異なり、他は
ステップd2〜d10の詳細な動作と等しい。ゆえに、
各ステップの詳細な説明およびその効果は省略する。図
18のフローチャートで、回数判定部40によって最大
の消去回数と最小の消去回数との差が前記基準回数以上
であると判定されたとき、ステップe1からステップe
2に進む。
【0183】ステップe2では、転送制御部43は、予
備状態であるブロックのブロックタグのうち、使用フラ
グを予備状態から通常状態に上書きによって書換える。
このブロックを交換先ブロックとする。ステップe3で
は、転送制御部43は、まず、全ブロックのうちで消去
回数が最小であるブロックを検索する。このブロックを
交換元ブロックにする。次いで、交換元ブロックの全物
理セクタのうちで有効状態である物理セクタに記憶され
たデータを、交換先ブロックのうちで同じ位置の物理セ
クタに上書きによって書込む。このとき、交換先ブロッ
クの中で、交換元ブロックのうちで無効状態および欠陥
状態であった物理セクタと同じ位置の物理セクタは、未
使用状態のまま保たれる。ステップe4では、転送制御
部43は、交換元ブロックに記憶されたデータが交換先
ブロックに誤り無く書込まれたか否かを判定する。誤り
無く書込まれたと判定されたとき、ステップe4からス
テップe5に進む。
【0184】ステップe5では、計数部39が、交換元
ブロックのブロックタグに記憶された消去回数をメモリ
6に記憶させる。ステップe6では、消去制御部44
が、交換元ブロックに記憶されたデータを全て消去し、
このブロックを初期状態に戻す。次いで、ステップe7
では、消去制御部44は、データの消去処理が誤り無く
行われた否かを判定する。誤りなくデータが消去された
と判定されたとき、ステップe7からステップe8に進
む。
【0185】ステップe8では、計数部39が、メモリ
6に記憶された消去回数に1を加算して更新する。また
消去制御部44が、交換元ブロックのブロックタグを再
生成する。これによって、交換元ブロックは、以後の処
理で予備状態のブロックとなる。ブロックタグの再生成
後、ステップe11で、レベリング処理を終了する。
【0186】また、ステップe4でデータの書込みに誤
りがあると判定されたとき、ステップe4からステップ
e9に進む。ステップe9では、書込み制御部33は、
誤りがあると判定された物理セクタの識別フラグを書込
み中状態から欠陥状態に上書きによって書換え、ステッ
プe11でレベリング処理を終了する。これによって、
データが誤って書込まれた物理セクタは欠陥状態になる
ので、データの記憶に用いられない。さらにまた、ステ
ップe7で、消去処理が失敗したと判定されたとき、ス
テップe7からステップe10に進む。ステップe10
では、交換元ブロックの使用フラグを、初期状態から欠
陥状態に上書きによって書換え、ステップe11でレベ
リング処理を終了する。これによって、消去処理が失敗
したブロックは欠陥状態になるので、以後の処理でデー
タの記憶に用いられない。
【0187】これによって、消去回数が最小であるブロ
ックと予備状態のブロックとの間でデータが入換えられ
る。このようなレベリング処理は、フラッシュメモリ3
内のブロックの消去回数の平準化のために行われる。
【0188】消去回数の平準化は、以下の理由によって
行われる。フラッシュメモリ3は、各ブロックのデータ
の消去回数に制限があり、或るブロックのデータの消去
回数が予め定める上限回数以上になったときに、フラッ
シュメモリ3全体が使用不可能になることがある。この
ため、フラッシュメモリ3の寿命を延ばすために、フラ
ッシュメモリ3の全ブロックのうちの一部のブロック
に、データの書込み/消去が集中して行われないことが
好ましい。
【0189】消去回数が最小だったブロックの各物理セ
クタに記憶されたデータは、いままでデータの書換えが
今まで殆どなく、今後も殆どないと予想される。ゆえ
に、たとえば予備状態のブロックのデータの消去回数が
最小の消去回数より大きく最大の消去回数以下である場
合、上述のレベリング処理によって、交換先ブロック、
すなわち元の予備状態のブロックには、データの書換え
が殆どないと予想されるデータが記憶されるので、以
後、交換先ブロックの消去回数はほとんど増加しないと
考えられる。逆に、交換元ブロック、すなわち消去回数
が最小のブロックは予備状態のブロックになるので、以
後の処理のうちで図20の交換処理にまたは図21のレ
ベリング処理に用いられる。したがって、交換元ブロッ
クは、以後の処理でデータの書込み/消去対象のブロッ
クになり、消去回数が増加すると考えられる。このよう
な入換えを繰返すことによって、不揮発性メモリの全メ
モリ領域の消去回数を平準化することができる。これに
よって、不揮発性メモリの全ブロックのうちで一部のブ
ロックの消去回数が増加して上限回数を越えることによ
って、フラッシュメモリ3が使用できなくなることを未
然に防止することができる。したがって、フラッシュメ
モリ3の寿命を延ばすことができる。
【0190】また、このレベリング処理は、ブロックの
交換処理の後に行われる。このとき、交換処理では、そ
のとき書換えの処理対象のデータが記憶されたブロック
と予備ブロックとを入換える。この処理対象のデータ
は、頻繁にデータを書直しされる可能性が高いので、交
換処理終了後に予備状態となるブロックは、データの消
去回数が多いと予想される。ゆえに、このような予備状
態のブロックと消去回数が最小であるブロックとのデー
タを交換することによって、レベリング処理終了後、デ
ータの消去回数が多いブロックにデータの書直し回数が
少ないと予想されるデータが記憶される。したがって、
このブロックの消去回数がさらに増加することを未然に
かつ確実に防止することができる。
【0191】このように、交換処理とレベリング処理と
を続けて行う場合、レベリング処理終了後の物理セクタ
空間の記憶状態は、消去回数が多いブロックと消去回数
が少ないブロックとを交換した状態と等しい。したがっ
て、消去回数が多いブロックの消去回数が増加しにくく
なる。したがって、従来技術のように、レベリング処理
として消去回数が多いブロックと消去回数が少ないブロ
ックとを交換する場合と比較して、ブロックの交換回数
を減少させることができる。ゆえに、レベリング処理の
ためのデータの消去回数を、従来技術の消去回数の平準
化のための消去回数よりも減少させることができる。し
たがって、不揮発性メモリの寿命をさらに延ばすことが
できる。
【0192】また、前記レベリング処理では、消去回数
が最小であるブロックに記憶されたデータの劣化を防止
することができる。この理由は以下の通りである。たと
えばフラッシュメモリおよびEEPROMでは、ビット
毎に準備されたコンデンサの電荷の蓄積の有無によって
1と0とを表す。ゆえに、データが書込まれてから過大
に長い時間が経過したとき、コンデンサに蓄積された電
荷が減少するために、データが劣化することがある。他
のメモリ領域と比較して消去回数が少ないメモリ領域に
記憶されたデータは、記憶装置の外部から該データの書
換えの指示が少ないデータであり、データの書直しがほ
とんど行われないので、劣化する可能性が高い。レベリ
ング処理では、転送制御部43がこのデータを読取り、
交換先ブロックに書込む。したがって、この時点で、こ
のデータを表すための電荷の蓄積量が、書換え前の蓄積
量よりも増大する。したがって、データの劣化を未然に
防止する事ができる。
【0193】このように、図4〜図21によって説明し
た書込み処理を行うことによって、初期化処理によって
ファイルとファイルタグとが予め作成されたフラッシュ
メモリ3に、記憶装置1の制御のためのデータを記憶さ
せつつ、ブロックの消去回数を減少させ、かつブロック
の消去回数を平準化して、フラッシュメモリ3にデータ
を書込むことができる。また、この書込み処理中には、
ファイルの新規作成は行われない。これは以下の理由か
らである。データ書込み中にファイルを新規に作成粋
は、ファイルの削除を同時に行う必要があり、連続した
論理セクタでは管理できなくなる。管理するには、論理
セクタ番号を変更していわゆるコンデンス処理が必要に
なり、それによって消去処理を行う必要が生じる。これ
を防止するために、ファイルの新規作成は行わないこと
が好ましい。すなわち、このファイル識別番号はハード
ディスクのドライブ名に相当するものであり、ファイル
識別番号によって確保されたフラッシュメモリの空間を
ファイル形式で使用しているものである。
【0194】上述の書込処理によって、たとえば、図2
2の記憶状態から、第60〜第185論理セクタに記憶
されたデータからなるファイルを処理対象として、書込
み処理を行い、その結果記憶状態が図23の記憶状態に
なったとする。図22の記憶状態では第60〜第185
論理セクタに第3ブロックB3の第30物理セクタSA
30〜第7ブロックB7の第31物理セクタSA31が
対応付けられる。また、第31ブロックB31の第31
物理セクタSA31〜第32ブロックB32の第1〜第
32物理セクタSA1〜SA31が未使用状態である。
この場合に対象ファイルのファイルタグの書込み開始/
終了フラグが「00」であってかつ未使用状態のファイ
ルタグがないとき、ステップa15,a16の処理によ
ってファイル管理データが書直されるので、第0論理セ
クタに対応する物理セクタが、第2ブロックB2の第1
物理セクタSA1から第31ブロックB31の第31物
理セクタSA31に変更される。また、第60〜第18
5論理セクタのうちで、データが一致せずかつ上書きが
できない論理セクタだけ、対応付けられる物理セクタが
変更される。ゆえに、図23の記憶状態では第60〜第
185論理セクタに対応する物理セクタは、第4〜第
7,第32ブロック内B4〜B7,B32に点在する。
【0195】以下に、データの読出し処理について説明
する。図24は、データの読出し処理を説明するための
フローチャートである。図24の読出し処理は、図8の
書換え処理と類似の処理を含む。
【0196】データの読出し処理を行うとき、電子機器
8から、読出し処理の制御データとして、読出し対象の
データを含む対象ファイルのファイル識別番号と、論理
セクタ空間内で読出し対象のデータが記憶された位置の
先頭を表す読出し開始論理アドレスと、読出し対象のデ
ータのデータ量とが、システムバス7を介して中央制御
装置3に与えられる。このとき、ステップf1からステ
ップf2に進む。
【0197】ステップf2では、中央制御装置4のファ
イル管理制御部21は、まず、全物理セクタのうちから
第0論理セクタに対応付けられた物理セクタを検索し
て、その物理セクタからファイル管理データを読出す。
次いで、ステップf3で、ファイル管理データ内の全フ
ァイルタグのうちから、対象ファイルのファイルタグを
検索する。このファイルタグは、電子機器8から指定さ
れたファイル識別信号が記憶されたファイルタグであ
る。ステップf2,f3の検索の詳細な手法は、図8の
ステップa2の検索手法と等しい。
【0198】次いで、ステップf4で、位置決定部41
が、論理セクタ空間のうちで、データを読出すべき論理
セクタを決定する。また、各論理セクタに対応する物理
セクタ毎に、その物理セクタ内で、データの読出しを開
始/終了する位置を表すアドレスを決定する。この算出
手法は、図8のステップa7の算出手法と等しく、詳細
は後述する。
【0199】次いで、ステップf5で、読出し制御部4
2は、位置決定部41によって決定された論理セクタに
対応する物理セクタを、物理セクタ空間内から検索し、
その物理セクタに記憶されたデータを読出し、システム
バス7を介して電子機器8に与える。位置決定部41に
よって決定された論理セクタが複数あるとき、その論理
セクタ番号が若い論理セクタから、順次処理する。デー
タの読出し後、ステップf6で読出し処理を終了する。
【0200】図8の書込み処理の主制御動作のうちでス
テップa7の決定動作、および図24の読出し処理のス
テップf4のデータの決定動作を、図3を再度参照し
て、以下に詳細に説明する。
【0201】位置決定部41は、まず、対象ファイルの
ファイルタグから、そのファイルの開始および終了論理
セクタ番号Na,Nbを読出す。次いで、電子機器8か
ら与えられた制御データのうちから、データの大きさd
と読出し開始論理アドレスAcとを取得する。読出し開
始論理アドレスAcは論理セクタ空間内でデータの読出
しを開始する位置を表す論理アドレスである。図3で
は、開始論理セクタ番号Naは第i論理セクタSBiの
論理セクタ番号であり、終了論理セクタ番号Nbは、第
(i+7)論理セクタSB(i+7)の論理セクタ番号
である。これらのデータに基づいて、位置決定部41
は、式1〜式6によって、読取り開始論理セクタ番号N
e、読取り終了論理セクタ番号Ng、先端相対アドレス
Af、および終端相対アドレスAhを算出する。
【0202】読出し開始論理セクタ番号Neは、前記論
理セクタ群内で処理対象のデータDa〜Dcが記憶され
た論理セクタSB(i+2)〜SB(i+4)のうち、
先頭の第(i+2)論理セクタの論理セクタ番号であ
る。第(i+2)論理セクタには、読出し開始論理アド
レスAcが示す位置が含まれる。読出し終了論理セクタ
番号Ngは、前記論理セクタSB(i+2)〜(i+
4)のうちで終端の第(i+4)論理セクタの論理セク
タ番号である。先端相対アドレスAfは、第(i+2)
論理セクタの先端のアドレスと読取り開始論理アドレス
Acとの差分である。先端相対アドレスは、具体的に
は、第(i+2)論理セクタに対応する物理セクタ内で
データの読出しを開始するアドレスを表す。終端相対ア
ドレスAhは、前記第(i+4)論理セクタに対応する
物理セクタ内で、データの読取りを終了するアドレスを
表す。また、式1と式2の[I]は、単一論理セクタの
大きさを表す。読取り開始アドレスAcとデータの大き
さdと論理セクタの大きさIとは、すべてバイト単位で
増減する値なので、同じ次元の数値として扱うことがで
きる。
【0203】 Ac ÷I = J …K …(1) (Ac+d)÷I = L …M …(2) Ne = Na+J …(3) Af = K …(4) Ng = Na+L≦Nb …(5) Ah = M …(6) これによって、対象ファイルの論理セクタ群の中の処理
対象のデータを記憶した論理セクタのうちで、先端の論
理セクタと終端の論理セクタとの論理セクタ番号Ne,
Ngが分かる。論理セクタ番号は、常に連続した番号で
付されているので、論理セクタ空間のうちで、先端の論
理セクタと終端の論理セクタとの間に介在される中間の
論理セクタも、処理対象のデータを含む論理セクタであ
ることが容易にわかる。図3では、第(i+2)〜第
(i+4)論理セクタのうちで、先端の第(i+2)論
理セクタと終端の第(i+4)論理セクタとの論理セク
タ番号が分かり、さらに、開始論理セクタ番号Neが終
端論理セクタ番号Ngになるまで、開始論理セクタ番号
Neに1を順次加算することによって、中間の第(i+
3)論理セクタの論理セクタ番号もわかる。これによっ
て、処理対象となる全ての論理セクタの論理セクタ番号
を知ることができる。
【0204】以下に、図3を再度参照して、図18のス
テップb2のデータの読出し処理、および図22のステ
ップf5のデータの読出し処理を詳細に説明する。
【0205】前述したデータの書込み処理によってフラ
ッシュメモリ3にデータを書込む場合、図3および図2
3に表すように、論理セクタ空間Zb内で連続した論理
セクタに対応する各物理セクタは、物理セクタ空間Za
内で点在する。ゆえに、読出し制御部42は、まず、各
ブロックの管理タグデータを参照して、通常状態のブロ
ックに含まれる物理セクタであって、読取り対象の論理
セクタに対応しかつ有効状態である物理セクタを検索す
る。この検索の具体的な手法は、論理セクタ番号が異な
るだけで他は図8のステップa2で説明した検索手法と
等しい。
【0206】読出し対象が前記先端の論理セクタNeで
あるとき、読出し制御部42は、その論理セクタNeに
対応する物理セクタのうち、その物理セクタの先端から
アドレスが増加する方向に先端相対アドレスAfだけさ
らに進んだ位置から、その物理セクタの終端の位置まで
のデータを読取る。このデータは、論理セクタ空間内で
斜線を付して表す領域Daに記憶されるデータに相当す
る。
【0207】読出し対象が中間の論理セクタNpである
とき、読出し制御部42は、その論理セクタNpに対応
する物理セクタのデータに記憶された全てのデータを読
取る。このデータは、論理セクタ空間内で斜線を付して
表す領域Dbに記憶されるデータに相当する。
【0208】読出し対象が終端の論理セクタNgである
とき、読出し制御部42は、その論理セクタNgに対応
する物理セクタのデータのうち、その物理セクタの先端
の位置から、該先端からアドレスが増加する方向に終端
相対アドレスAhだけさらに進んだ位置までのデータを
読取る。このデータは、論理セクタ空間内で斜線を付し
て表す領域Dcに記憶されるデータに相当する。
【0209】このような一連の処理を各論理セクタ毎に
繰返すことによって、論理セクタ空間Zbの論理アドレ
スによって指定されたデータを、物理セクタ空間Zaか
ら読取ることができる。
【0210】このように、論理セクタ空間を仮想し、論
理セクタと物理セクタとを対応付けることによって、物
理セクタ空間内に点在する複数の物理セクタに記憶され
たデータを、連続する物理セクタに記憶されたデータと
同様に読取ることができる。またこの読取り処理では、
電子機器8は、読取り開始アドレスAcとデータの大き
さdを指定するだけであり、これは、従来技術のメモリ
からデータを読出すときの指定と同じである。したがっ
て、電子機器8は、物理セクタが点在する場合にも、従
来と同様にデータの指定をするだけで、データを得るこ
とができる。したがって、上述の書換え処理によってフ
ラッシュメモリ3に記憶されたデータを、電子機器8が
従来技術の読取りの指定と同じ指定によって得ることが
できる。したがって、電子機器8のアプリケーション
を、記憶装置1に応じて変更する必要がなくなる。
【0211】このように、記憶装置1が、上述した書込
み処理を行うことによって、記憶装置1は、フラッシュ
メモリ3のデータの消去処理の回数を極力減少させつ
つ、データを任意に書込むことができる。したがって、
フラッシュメモリ3の寿命を延ばすことができる。また
上述の書込み処理と読出し処理とを行うことによって、
電子機器8は、従来技術と同じ手順によって、記憶装置
1にデータの書込みと読出しとを行わせることができ
る。ゆえに、この記憶装置1は、電子機器8に記憶装置
1に応じた改良を加えることなく、従来技術の記憶装置
に置換えて使用することができる。
【0212】また、管理タグデータおよびファイルタグ
データは、書込み処理時にその記憶内容が書換えられ
る。このときこれらデータの書換えのためだけに消去処
理を行うことがないように、データが構成されている。
したがって、これらデータをフラッシュメモリ3に記憶
させた場合にも、これらデータの書換えのためにデータ
の消去回数が増加することを未然に防止することができ
る。
【0213】各物理セクタのセクタタグは、各ブロック
毎に、その先頭の物理セクタに一括して記憶されている
ので、上述の各種の検索を行う場合、各ブロック毎にそ
の先頭の物理セクタに記憶されたデータを読出して行う
ことができる。ゆえに、各セクタタグをその被管理物理
セクタに記憶させておく場合と比較して、検索の処理手
順が簡略化され、処理時間を短縮することができる。
【0214】電源投入時のチェック処理について、以下
に説明する。チェック処理は、以下の理由から行われ
る。データの書込み処理中に記憶装置1への電力供給が
遮断された場合に、書込み処理はその時点で中断され
る。その後に電力供給が再開されたとき、メモリ6の記
憶内容が失われているので、書込み処理中に電力が遮断
された否かを中央制御装置3が知ることができない。ゆ
えに、以下に説明するチェック処理によって、中央制御
装置3は中断された処理を完了させるか、または中断前
の状態に戻す。チェック処理には、第1および第2復旧
処理が含まれる。第1復旧処理は、フラッシュメモリ3
の全ブロックの管理タグデータを参照して行われる。ま
た第2復旧処理は、ファイル管理データを参照して行わ
れる。これら処理は、記憶装置1への電力供給が開始さ
れるたびに実施される。
【0215】図25は、第1復旧処理を説明するための
フローチャートである。このフローチャートは、記憶装
置1への電力供給が開始されると、ステップg1からス
テップg2に進む。
【0216】ステップg2では、中央制御装置3は、全
ブロックタグのうち、全ブロック数よりも1少ない数以
上のブロックタグにマジックナンバーが記憶されている
か否かが判定される。マジックナンバーは、データの消
去処理中に電力供給が遮断されたときには消去対象のブ
ロックのブロックタグで消去されている可能性があり、
その他の処理中に電力供給が遮断されたときには、全て
のブロックタグに記憶されている。ゆえに、2以上のブ
ロックタグにマジックナンバーが書込まれていないと
き、そのフラッシュメモリ3はフォーマットされていな
いと見なされる。フラッシュメモリ3は、予めフォーマ
ットされていないとデータを書込むことができないの
で、この場合、中央処理装置3は、ステップg3でフラ
ッシュメモリ3が未だフォーマットされていないことを
表す制御データを出力して、ステップg10で第1復旧
処理を終了させる。全ブロック数よりも1少ない数以上
のブロックタグにマジックナンバーが記憶されていると
き、ステップg2からステップg4に進む。
【0217】ステップg4では、中央処理装置3は、全
ブロックタグの使用フラグを参照して、全ブロック数よ
りも1少ない数以上のブロックが通常状態のブロックで
あるか否かを判定する。前述の図18のステップb9の
交換処理またはステップb11のレベリング処理を行っ
ている途中で電力供給が遮断された場合、全ブロックが
全て通常状態のブロックになっている可能性があり、そ
の他の処理中に電力供給が遮断された場合には、全ブロ
ックからさらに1つの予備ブロックを除いた残りのブロ
ックが通常状態のブロックである。
【0218】ゆえに、全ブロックよりも1少ない数のブ
ロック未満の数のブロックだけが通常状態のブロックで
あるとき、2つの前記場合以外の要因によって異常が生
じている。この場合、中央処理装置3は、ステップg5
で復旧ができないことを表す制御データを出力して、ス
テップg10で第1復旧処理を終了させる。全ブロック
よりも1少ない数以上のブロックが通常状態のブロック
であるとき、ステップg4からステップg6に進む。
【0219】ステップg6では、中央処理装置3の重複
セクタ判定部51は、全セクタタグのうちで有効状態の
物理セクタのセクタタグだけを検索し、その論理セクタ
番号を参照して、同じ論理セクタ番号が記憶されたセク
タタグが複数あるか否かを判定する。前述の図18のス
テップb9の交換処理またはステップb11のレベリン
グ処理を行っている途中で電力供給が遮断された場合、
全セクタタグのうちで同じ論理セクタ番号が記憶され、
かつ有効状態であるセクタタグが2つあることがある。
ゆえに、同じ論理セクタ番号が記憶されたセクタタグが
複数あるとき、ステップg6からステップg7に進む。
検索された全てのセクタタグで論理セクタ番号が重複し
ないとき、ステップg6からステップg8に進む。
【0220】ステップg7では、セクタ復旧部52が、
まず同じ論理セクタ番号が記憶された複数のセクタタグ
の世代フラグを比較し、世代フラグのコードが新しい方
のセクタタグを選ぶ。このコードは、たとえば、「F
F」と「00」とでは、「00」が新しい。また、「C
0」と「C1」とでは、「C1」が新しい。次いで、セ
クタ復旧部52は、世代フラグのコードが新しい方のセ
クタタグの使用フラグを無効状態に上書きによって書換
える。これは以下の理由からである。データ書込み途中
で電力供給が遮断された場合、世代フラグのコードが新
しい方のセクタタグの被管理物理セクタには、データが
途中までしか書込まれていない可能性がある。ゆえに、
この物理セクタを無効状態にすることによって、この論
理セクタ番号の論理セクタには、世代フラグのコードが
古いほうのセクタタグの被管理物理セクタが対応付けら
れる。これによって、フラッシュメモリ3の記憶状態
を、電力遮断時に行われていた処理を実施する前の状態
に戻すことができる。この処理を、理論セクタ番号が重
複した全ての物理セクタに対して繰返し行い、全処理終
了後、ステップg7からステップg8に進む。
【0221】ステップg8では、予備ブロック判定部5
3は、全ブロックタグの使用フラグを参照して、予備ブ
ロックが予め定める数、たとえば1つだけあるか否かを
判定する。この使用フラグは、データの消去が完了した
段階で初めて、予備領域であることを表す状態に書換え
られる。ゆえに、前述の図18のステップb9の交換処
理またはステップb11のレベリング処理を行っている
途中で電力供給が遮断された場合、使用フラグが予備状
態を表すブロックタグの数が、予め定める前記数よりも
1つ少ないことがある。このため、予備ブロック判定部
53によって、使用フラグを参照して予備ブロックの有
無を判定させることによって、電力遮断時に、データの
消去が完了していたか否かを判定することができる。こ
の判定で、予備ブロックの数が予め定める数未満である
とき、データ消去が途中で中断されたと考えられるの
で、ステップg8からステップg9に進む。予備ブロッ
クの数が予め定める数以上のとき、ステップg8からス
テップg10に進み、第1復旧処理を終了する。
【0222】ステップg9では、予備ブロック復旧部5
4が、まず、全ブロックのうちで、使用フラグが初期状
態であるブロック、または欠陥状態であるブロックをを
検索する。あるいは、通常状態であってかつ有効状態の
物理セクタを含まないブロックを検索する。次いで、予
備ブロック復旧部54は、検索されたブロックのデータ
を消去し、そのブロックの使用フラグを上書きによって
予備状態に書換える。この消去の詳細な手法は、図20
のステップd5〜d10の処理手法と等しい。これによ
って、予備ブロックを強制的に復旧することが出来る。
またこのとき、使用フラグはデータの消去時に同時に初
期状態に戻されるので、使用フラグが初期状態であるブ
ロックが、電力遮断時にデータの消去対象となっていた
ブロックであると考えられる。ゆえに、使用フラグが初
期状態であるブロックのデータを消去することによっ
て、電力遮断前に行われていたデータの消去を、再度実
行することができる。予備ブロックの復旧後、ステップ
g9からステップg10に進み、第1復旧処理を終了す
る。
【0223】このような一連の動作によって、記憶装置
1が各種の処理を行っている途中で電力供給が遮断され
た場合、電力供給を再開したときに、記憶装置1のフラ
ッシュメモリ3の記憶内容を、電力遮断時の処理が行わ
れる前の記憶内容に戻すことができる。また第1復旧処
理では、管理タグデータを用いて、各判定を行う。管理
タグデータは本来ブロックおよび物理セクタの使用状態
を表すためのデータであり、書込み処理および読出し処
理のために準備される。この管理タグデータを用いて第
1復旧処理を行うことによって、書込み処理および読出
し処理時に、復旧処理のためだけのデータの作成/更新
を行う必要がない。これによって、復旧処理のためのデ
ータを別途作成する場合と比較して、書込み処理時の処
理手順を簡略化することができる。また、ステップg4
では、欠陥ブロックがある場合にも、判定が否定され
る。これは以下の理由からである。欠陥ブロックが発生
する場合、そのブロックを欠陥状態として複数個保有す
ると、記憶装置1全体の記憶容量を減らすことになる。
たとえば、フラッシュメモリにほぼ一杯にデータが記憶
されてたときに欠陥ブロックが発生すると、復旧が困難
になる。したがって、欠陥ブロックが発生した時点で、
記憶装置1はアプリケーショに対して書込エラー等のエ
ラー情報を出力して警告する。ゆえに、ステップg4の
判定時に欠陥ブロックは1つ存在する可能性があるが、
複数存在する可能性はない。また、欠陥ブロックは、電
力遮断時の復旧処理のときに、消去対象のブロックにな
る。ここで、そのブロックを正常に消去することができ
れば、そのブロックは使用することができるが、このと
きも消去処理にエラーが発生すれば、フラッシュメモリ
の寿命がなくなり交換時期に達したと考えられるので、
交換を促すためにもエラー表示する必要がある。また、
レベリング処理を行っているので、一度欠陥ブロックが
発生し始めると、再度欠陥ブロックが発生する可能性が
高い。これらのことから、その後無理をしてフラッシュ
メモリを使用することなく、交換を促すメッセージを表
示させることが好ましいからである。
【0224】図26は、第2復旧処理を説明するための
フローチャートである。このフローチャートは、記憶装
置1への電力供給が開始されると、ステップh1からス
テップh2に進む。
【0225】ステップh2では、終了判定部56は、ま
ず、第0論理セクタに対応した物理セクタを検索し、そ
の物理セクタからファイル管理データを読出す。次い
で、このファイル管理データ内の全ファイルタグを参照
して、各ファイルタグ毎に、書込み開始フラグのコード
と書込み終了フラグのコードとが一致するか否かを判定
する。
【0226】書込み開始フラグは、書込み処理を行う前
に開始フラグ更新部22によって更新され、書込み終了
フラグは、書込み処理が終った後に、終了フラグ更新部
23によって更新される。ゆえに、ステップa8の書込
み処理の途中に記憶装置1への電力供給が遮断された場
合、書込み開始フラグだけが更新されて書込み終了フラ
グは更新されていないので、コードがずれる。このコー
ドは、フラグの更新回数を表す。ゆえに、終了判定部5
6によって、両フラグのコードが一致したか否かを判定
することによって、データの書込みが完全に終了したか
否かを判定することができる。
【0227】両フラグのコードが一致しないとき、その
フラグを含むファイルタグの被管理ファイルを処理対象
とした書込み処理が中断されたと考えられる。このと
き、ステップh2からステップh3に進む。ステップh
3では、終了判定部56は、前記被管理ファイルのデー
タの種類に応じて、電子機器8にデータの解析・復旧処
理を行うように指示するための制御データを与える。こ
れによって電子機器8は、データの解析・復旧処理をお
こなう。具体的には、たとえば復旧対象のデータが画像
を表すビットマップデータであるとき、フラッシュメモ
リ3に現在記憶されたデータをそのまま画像化して出力
し、電子機器8の操作者にデータの復旧を行わせる。ま
た、復旧対象のデータが各種制御データであるとき、電
子機器8はあらかじめそれら制御データの初期値をメモ
リ5に記憶させておき、その初期値を代入する。解析・
復旧処理終了後、ステップh3からステップh4に進
み、第2復旧処理を終了する。また、ステップh2で両
フラグのコードが一致するとき、書込み処理が完了して
いると考えられるので、ステップh2からステップh4
に進み、第2復旧処理を終了する。
【0228】これによって、書込み処理途中で電力供給
が遮断された場合、そのとき処理対象になっていたファ
イルのデータを、電力供給が開始された時点で復旧する
ことが出来る。また、書込み開始/終了フラグを参照し
て、各ファイルのデータの信頼性を判定することができ
る。
【0229】上述の第1および第2復旧処理は、管理タ
グデータおよびファイル管理データを参照して行う。こ
れらデータは、フラッシュメモリ3に記憶されるので、
これらデータを電力遮断時にも記憶させるための記憶手
段を新たに備える必要がない、ゆえに、記憶装置1の構
造を簡略化させることができる。
【0230】以上の説明では、記憶装置1はフラッシュ
メモリ3をその記憶媒体としたが、電力供給が遮断され
た状態でデータを保持することができる記憶媒体であれ
ば、フラッシュメモリ3以外の媒体を用いても良い。た
とえば、EEPROMを用いても良い。
【0231】
【発明の効果】以上のように本発明によれば、不揮発性
メモリを備える記憶装置では、全メモリ領域の消去回数
のうちで最大の消去回数と最小の消去回数との差が基準
回数以上になるとき、消去回数が最小だったメモリ領域
と予備領域との記憶内容が交換される。これによって、
各メモリ領域の消去回数を平準化することによって、不
揮発性メモリの寿命を延ばすことができる。また、消去
回数が最小のメモリ領域に記憶されたデータが劣化する
ことを未然に防止することが出来る。また、上述のデー
タの入換え処理のためのデータの消去回数は1回である
ので、入換えのために必要な消去回数を減少させること
ができる。ゆえに、不揮発性メモリの寿命をさらに延ば
すことができる。
【0232】また本発明によれば、記憶装置は、不揮発
性メモリに既に書込まれたデータを書換える場合、デー
タ一致の有無、上書きの可否、およびデータの記憶され
ていないセクタの有無に応答して、合計8通りの場合に
分けて書換えを行い、データの消去を含む書換え処理
は、1通りの場合に限られる。ゆえに、データの書換え
を行うとき、データの消去回数を減少させることができ
る。
【0233】さらにまた本発明によれば、記憶装置は、
電力供給が開始されるたびに、予備領域判定手段に予備
領域の有無を判定させ、予備領域がないとき、データの
消去が禁止されたセクタを含まないメモリ領域のデータ
を強制的に消去して、そのメモリ領域を予備領域にす
る。これによって、交換処理またはレベリング処理中に
電力が遮断された場合、電力供給再開後、不揮発性メモ
リに予備領域を復旧させることができる。
【0234】また本発明によれば、各メモリ領域が予備
領域であるか否かは、不揮発性メモリに記憶されかつ上
書きが可能な領域使用フラグによって表される。したが
って、領域使用フラグの書換えのために、そのメモリ領
域のデータの消去回数を増加させることを防止すること
によって、不揮発性メモリの寿命をさらに延ばすことが
できる。
【0235】さらにまた本発明によれば、記憶装置は、
電力供給が開始されるたびに、重複セクタ判定手段に同
じ論理セクタ番号を記憶したセクタが複数あるか否かを
判定させ、セクタの重複があるとき、データの記憶タイ
ミングが最新のセクタのデータの消去を許可する。これ
によって、前記最新のセクタは無効化され該セクタから
のデータの読出しが行われない。これによって、交換処
理またはレベリング処理中に電力が遮断された場合、電
力供給再開後、不揮発性メモリの記憶内容を処理前の状
態に復旧させることができる。
【0236】また本発明に従えば、セクタのデータの消
去の許可/禁止は、不揮発性メモリに記憶されかつ上書
きが可能な識別フラグによって表される。したがって、
識別フラグの書換えのためにそのメモリ領域のデータの
消去回数を増加させることを防止することによって、不
揮発性メモリの寿命をさらに延ばすことができる。
【0237】さらにまた本発明によれば、記憶装置は、
データ群を不揮発性メモリに書込むとき、書込み前に書
込み開始フラグを更新し、書込み終了後に書込み終了フ
ラグを更新する。電力供給が開始される度に、記憶装置
は、これら両フラグの更新回数が一致するか否かによっ
て、電力遮断前にデータの書込みが完全に終了したか否
かを判定することができる。
【0238】さらにまた本発明によれば、前記書込み開
始フラグと書込み終了フラグとは、上書き可能なフラグ
である。これによって、両フラグの書換えのためにメモ
リ領域のデータの消去回数を増加させることを防止する
ことができる。したがって、不揮発性メモリの寿命をさ
らに延ばすことができる。
【0239】また本発明によれば、記憶装置の不揮発性
メモリからデータを読出すとき、データ指定手段は、論
理セクタ空間内で開始位置とそのデータ量とだけを指定
する。記憶装置は論理セクタ空間のうちでデータが仮想
的に記憶された位置に対応する物理セクタを不揮発性メ
モリ内から検索して、そのセクタからデータを読出す。
これによって、不揮発性メモリ内に点在するセクタを、
連続したセクタであると仮想的にみなして、データを読
出すことが出来る。ゆえに、上述した消去回数の平均化
および消去回数の減少のための各種の処理に拘わらず、
容易にデータを読出すことができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態である記憶装置1の電気
的構成を表すブロック図である。
【図2】フラッシュメモリ3の物理セクタ空間Zaの具
体的な構造を表す模式図である。
【図3】フラッシュメモリ3の物理セクタ空間Zaと論
理セクタ空間Zbとの関係を表す模式図である。
【図4】ファイル管理データの具体的な記憶内容を表す
模式図である。
【図5】ファイル管理データの具体的な記憶内容を表す
模式図である。
【図6】ファイル管理データの具体的な記憶内容を表す
模式図である。
【図7】ファイル管理データの具体的な記憶内容を表す
模式図である。
【図8】データの書込み処理の主制御動作を説明するた
めのフローチャートである。
【図9】メモリ6に記憶された新たなデータYA〜YC
と物理セクタ空間Zaに記憶された元のデータXA〜X
Cとの関係を表す模式図である。
【図10】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図11】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図12】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図13】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図14】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図15】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図16】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図17】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図18】書込み処理のステップa8の記憶処理を詳細
に説明するためのフローチャートである。
【図19】記憶処理のステップb7の再書込み処理を詳
細に説明するためのフローチャートである。
【図20】記憶処理のステップb9の交換処理を詳細に
説明するためのフローチャートである。
【図21】記憶処理のステップb11のレベリング処理
を詳細に説明するためのフローチャートである。
【図22】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図23】物理セクタ空間Zaの具体的な記憶状態を表
す模式図である。
【図24】データの読出し処理を説明するためのフロー
チャートである。
【図25】チェック処理の第1復旧処理を説明するため
のフローチャートである。
【図26】チェック処理の第2復旧処理を説明するため
のフローチャートである。
【符号の説明】 1 記憶装置 3 フラッシュメモリ 4 中央制御装置 5,6 メモリ 22 開始フラグ更新部 23 終了フラグ更新部 31 データ記憶セクタ検索部 32 データ一致判定部 33 書込み制御部 34 上書き判定部 35 空きセクタ検索部 36 ブロック検索部 37,43 転送制御部 38,44 消去制御部 39 計数部 40 回数判定部 41 位置決定部 42 読取り制御部 51 重複セクタ判定部 52 セクタ復旧部 53 予備ブロック判定部 54 予備ブロック復旧部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 記憶すべきデータを個別に書込み/消去
    可能な複数のメモリ領域を含み、該メモリ領域のうちの
    少なくとも1つのメモリ領域を、データを記憶させない
    予備領域とする不揮発性メモリと、 各メモリ領域のデータの消去回数をそれぞれ計数する計
    数手段と、 計数手段によって計数された消去回数のうちで最大の消
    去回数と最小の消去回数との差分が、予め定める基準回
    数以上であるか否かを判定する消去回数判定手段と、消
    去回数判定手段によって差分が基準回数以上であると判
    定されたとき、消去回数が最小であるメモリ領域に記憶
    されたデータを予備領域に記憶させ、前記差分が基準回
    数未満であると判定されたとき休止する平準化用転送制
    御手段と、平準化用転送制御手段がデータを記憶させた
    後、消去回数が最小であるメモリ領域に記憶されたデー
    タを消去させて、該メモリ領域を予備領域とする平準化
    用消去制御手段とを含むことを特徴とする記憶装置。
  2. 【請求項2】 データを個別に書込み可能な複数のセク
    タを含み、予め定める数のセクタからなるメモリ領域毎
    にデータが消去される不揮発性メモリに、データ供給手
    段から供給されたデータであってデータを識別するため
    の論理セクタ番号が付されたデータを記憶させる記憶装
    置において、不揮発性メモリは、全メモリ領域のうちの
    少なくとも1つをデータを記憶させない予備領域とし、
    セクタ毎にデータの消去の許可/禁止が定められ、 複数のメモリ領域のうちで予備領域以外の残余のメモリ
    領域内のセクタから、データ供給手段から供給されたデ
    ータと同じ論理セクタ番号のデータを記憶したセクタで
    あって、セクタのデータの消去が禁止されたセクタを検
    索するデータ記憶セクタ検索手段と、データ記憶セクタ
    検索手段によって検索されたセクタに記憶されたデータ
    と、データ供給手段から供給されたデータとが一致する
    か否かを判定するデータ一致判定手段と、 データ記憶セクタ検索手段によって検索されたセクタ
    に、データ供給手段から供給されたデータを、該セクタ
    に記憶されたデータを消去することなく書込むことがで
    きるか否かを判定する上書き判定手段と、 全メモリ領域のうちで予備領域以外の残余のメモリ領域
    内のセクタから、データが記憶されていないセクタを検
    索する第1空きセクタ検索手段と、データ一致判定手段
    によってデータが一致しないと判定されかつ上書き判定
    手段によってデータの書込みができないと判定された場
    合であって第1空きセクタ検索手段によってセクタが検
    索されないとき、全メモリ領域のうちで予備領域以外の
    前記残余のメモリ領域からデータの消去が許可されたセ
    クタが含まれたメモリ領域を検索し、データ一致判定手
    段によってデータが一致すると判定された場合、上書き
    判定手段によってデータの書込みができると判定された
    場合、および第1空きセクタ検索手段によってセクタが
    検索されたとき、メモリ領域の検索を休止するメモリ領
    域検索手段と、 メモリ領域検索手段によって検索されたメモリ領域のう
    ちでデータの消去が禁止されたセクタのデータを、予備
    領域に記憶させる交換用転送制御手段と、 交換用転送制御手段がデータを記憶させた後、メモリ領
    域検索手段によって検索されたメモリ領域の全セクタの
    データを消去させて、該メモリ領域を予備領域にする交
    換用消去制御手段と、交換用転送制御手段がデータを記
    憶させた後、全メモリ領域のうちで予備領域以外のメモ
    リ領域のうちから、データが記憶されないセクタを検索
    する第2空きセクタ検索手段と、 データ一致判定手段によってデータが一致すると判定さ
    れた場合、データの書込みを休止し、データが一致しな
    いと判定されてかつ上書き判定手段によってデータを書
    込むことができると判定された場合、データ記憶セクタ
    検索手段によって検索されたセクタにデータ供給手段か
    ら供給されたデータを書込み、データが一致しないと判
    定されてかつデータを書込むことができないと判定され
    た場合であって第1空きセクタ検索手段によってセクタ
    が検索されたとき、該セクタに前記データを書込んで該
    セクタのデータの消去を禁止しかつデータ記憶セクタ検
    索手段によって検索されたセクタのデータの消去を許可
    し、データが一致しないと判定されてかつデータを書込
    むことができないと判定された場合であって第1空きセ
    クタ検索手段によってセクタが検索されないとき、第2
    空きセクタ検索手段によって検索されたセクタに前記デ
    ータを書込んで該セクタのデータの消去を禁止し、かつ
    データ記憶セクタ検索手段によって検索されたセクタの
    データの消去を許可する書込み制御手段とを含むことを
    特徴とする記憶装置。
  3. 【請求項3】 記憶すべきデータを個別に書込み可能な
    複数のセクタを含み、複数のセクタからなるメモリ領域
    毎にデータを消去し、全メモリ領域のうちの少なくとも
    1つのメモリ領域をデータを記憶させない予備領域とす
    る不揮発性メモリと、データを転送するべきメモリ領域
    を指定する指定手段と、 指定手段によって指定されたメモリ領域に記憶されたデ
    ータを予備領域に記憶させる転送制御手段と、 転送制御手段がデータを記憶させた後、指定手段によっ
    て指定されたメモリ領域に記憶されたデータを消去させ
    て、そのメモリ領域を予備領域とする消去制御手段と、 全メモリ領域のうちの予備領域の有無を判定する予備領
    域判定手段と、 予備領域判定手段によって予備領域がないと判定された
    とき、データの消去が禁止されたセクタを含まないメモ
    リ領域に記憶されたデータを消去して、該メモリ領域を
    予備領域にし、予備領域があると判定されたとき休止す
    る予備領域復旧手段とを含むことを特徴とする記憶装
    置。
  4. 【請求項4】 記憶すべきデータを個別に書込み可能な
    複数のセクタを含み、複数のセクタからなるメモリ領域
    毎にデータを消去する不揮発性メモリであって、全メモ
    リ領域のうちの少なくとも1つのメモリ領域を、データ
    を記憶させない予備領域とし、各メモリ領域毎に予備領
    域であることを表す状態から予備領域ではないことを表
    す状態にビットを初期化することなく書換え可能な領域
    使用フラグを記憶する不揮発性メモリと、 データを転送するべきメモリ領域を指定する指定手段
    と、 予備領域の領域使用フラグを予備領域ではないことを表
    す状態に書換えて、指定手段によって指定されたメモリ
    領域に記憶されたデータを、予備領域に記憶させる転送
    制御手段と、 転送制御手段がデータを記憶させた後、指定手段によっ
    て指定されたメモリ領域に記憶されたデータを消去させ
    て、さらに領域使用フラグが予備領域であることを表す
    状態に書換える消去制御手段と、 領域使用フラグが予備領域であることを表すメモリ領域
    の有無を判定する予備領域判定手段と、予備領域判定手
    段によって予備領域がないと判定されたとき、領域使用
    フラグが初期状態であるメモリ領域の全セクタに記憶さ
    れたデータを消去して、該メモリ領域を予備領域にし、
    予備領域があると判定されたとき休止する予備領域復旧
    手段とをさらに含むことを特徴とする記憶装置。
  5. 【請求項5】 データを個別に書込み可能な複数のセク
    タを含み、複数のセクタからなるメモリ領域毎にデータ
    が消去される不揮発性メモリに、データ供給手段から供
    給されたデータであってデータを識別するための論理セ
    クタ番号が付加されたデータを記憶させる記憶装置にお
    いて、 データ供給手段から供給されたデータとその論理セクタ
    番号とを、不揮発性メモリのうちでデータが記憶されて
    いないセクタに記憶させ、該セクタのデータの消去を禁
    止し、さらに全セクタの中で該セクタ以外の残余のセク
    タのうちで前記データの論理セクタ番号と同一の論理セ
    クタ番号を記憶したセクタのデータの消去を許可する書
    込み制御手段と、 不揮発性メモリの全セクタの中でデータの消去が禁止さ
    れたセクタのうちに、同じ論理セクタ番号を記憶したセ
    クタが複数あるか否かを判定する重複セクタ判定手段
    と、 重複セクタ判定手段によって前記セクタが複数あると判
    定されたとき、データが書込まれたタイミングが最も新
    しいセクタのデータの消去を許可し、前記セクタがない
    と判定されたとき休止するセクタ復旧手段をさらに含む
    ことを特徴とする記憶装置。
  6. 【請求項6】 データを個別に書込み可能な複数のセク
    タを含み、複数のセクタからなるメモリ領域毎にデータ
    が消去される不揮発性メモリに、データ供給手段から供
    給されたデータであってデータを識別するための論理セ
    クタ番号が付加されたデータを記憶させる記憶装置にお
    いて、 前記不揮発性メモリは、セクタ毎に、データが書込まれ
    たタイミングを表す世代フラグと、データの消去の許可
    /禁止を表しかつ禁止を表す状態から許可を表す状態に
    ビットを初期化することなく書換え可能な識別フラグと
    を記憶し、 不揮発性メモリのうちでデータが記憶されていないセク
    タに世代フラグを書込み、データ供給手段から供給され
    たデータとその論理セクタ番号を該セクタに書込み、該
    セクタの識別フラグを、禁止を表す状態に書換え、全セ
    クタの中で該セクタを除く残余のセクタのうちで前記デ
    ータの論理セクタ番号と同一の論理セクタ番号を記憶し
    たセクタに記憶された識別フラグを、許可を表す状態に
    書換える書込み制御手段と、 不揮発性メモリの全セクタの中で識別フラグがデータの
    消去の禁止を表すセクタのうちに、同じ論理セクタ番号
    を記憶したセクタが複数あるか否かを判定する重複セク
    タ判定手段と、 重複セクタ判定手段によって前記セクタが複数あると判
    定されたとき、世代フラグによって表されるタイミング
    が最も新しいセクタの識別フラグを許可を表す状態に書
    換え、前記セクタがないと判定されたとき休止するセク
    タ復旧手段をさらに含むことを特徴とする記憶装置。
  7. 【請求項7】 データを書込み可能な不揮発性メモリ
    と、不揮発性メモリにデータ供給手段から供給され複数
    のデータからなるデータ群を記憶させる書込み制御手段
    とを含む記憶装置において、 不揮発性メモリは、データ群毎に、データ群の記憶開始
    を表す書込み開始フラグと、データ群の記憶終了を表す
    書込み終了フラグとを記憶し、 書込み制御手段がデータ群の記憶のための処理を開始す
    るとき、書込み開始フラグを更新して、不揮発性メモリ
    に記憶させる書込み開始フラグ更新手段と、 書込み制御手段がデータ群の記憶のための処理を終了し
    たとき、書込み終了フラグを更新して、不揮発性メモリ
    に記憶させる書込み終了フラグ更新手段と、 不揮発性メモリに記憶された書込み開始フラグと書込み
    終了フラグとの更新回数がが一致したとき、データ群の
    記憶のための処理が最後まで終了したと判定し、更新回
    数が一致しないとき、データ群の記憶のための処理が中
    断されたと判定する終了判定手段とをさらに含むことを
    特徴とする記憶装置。
  8. 【請求項8】 前記書込み開始フラグと前記書込み終了
    フラグとは、ビットを初期化することなく書換えること
    ができるフラグであることを特徴とする請求項7記載の
    記憶装置。
  9. 【請求項9】 データを記憶するための予め定める大き
    さのセクタを複数含む不揮発性メモリに、複数のデータ
    からなるデータ群であって、データを識別しかつデータ
    群内の該データの位置を表す論理セクタ番号が付加され
    たデータを記憶させる記憶装置において、 前記不揮発性メモリは、データ群のうちで先頭のデータ
    に付加された先頭論理セクタ番号とデータ群のうちで終
    端のデータに付加された終端論理セクタ番号とを含むデ
    ータ群管理データ、および各セクタと該セクタに記憶さ
    れたデータの論理セクタ番号との対応を表す対応データ
    を記憶し、 不揮発性メモリに記憶されたデータ群のうちでデータの
    読出しを開始するべき開始位置と、読出すべきデータの
    データ量とを指定する呼出し指定手段と、 データ指定手段によって指定された開始位置およびデー
    タ量と、不揮発性メモリに記憶された管理データと、各
    セクタの大きさとから、読出すべきデータに付加された
    論理セクタ番号と、該論理セクタ番号を記憶したセクタ
    内でデータの読出しを開始するべき開始アドレスと、前
    記セクタ内でデータの読出しを終了するべき終了アドレ
    スとを決定する決定手段と、 対応データを参照して、不揮発性メモリから決定手段に
    よって決定された論理セクタ番号を記憶したセクタを検
    索し、検索されたセクタに記憶されたデータのうちで開
    始アドレスから終了アドレスまでのデータを読出す読出
    し手段とを含む記憶装置。
JP12611297A 1997-05-15 1997-05-15 記憶装置 Pending JPH10320984A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12611297A JPH10320984A (ja) 1997-05-15 1997-05-15 記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12611297A JPH10320984A (ja) 1997-05-15 1997-05-15 記憶装置

Publications (1)

Publication Number Publication Date
JPH10320984A true JPH10320984A (ja) 1998-12-04

Family

ID=14926936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12611297A Pending JPH10320984A (ja) 1997-05-15 1997-05-15 記憶装置

Country Status (1)

Country Link
JP (1) JPH10320984A (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002052416A1 (fr) * 2000-12-27 2002-07-04 Tdk Corporation Systeme de memoire flash
JP2002318733A (ja) * 2001-04-20 2002-10-31 Matsushita Electric Works Ltd ブロック消去型記憶媒体の管理装置
JP2002343092A (ja) * 2001-05-17 2002-11-29 Fujitsu Ltd レジスタの設定方法及び半導体装置
JP2003228513A (ja) * 2001-11-28 2003-08-15 Access:Kk メモリ制御方法および装置
JP2006513525A (ja) * 2003-01-28 2006-04-20 サンディスク コーポレイション サイクルカウント値を記憶する広い消去ブロックを備える不揮発性半導体メモリ
JP2006120244A (ja) * 2004-10-21 2006-05-11 Fujitsu Ltd 半導体記憶装置および半導体記憶装置の制御方法
US7383431B2 (en) 2002-06-11 2008-06-03 Seiko Epson Corporation Control system and method for rewriting data in a flash memory and a data storage medium in which a program is stored for rewriting data in a flash memory
JP2009295089A (ja) * 2008-06-09 2009-12-17 Sony Computer Entertainment Inc メモリアクセス制御方法及びメモリ制御装置、コンピュータプログラム
JP2010003401A (ja) * 2008-06-23 2010-01-07 Samsung Electronics Co Ltd メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード
JP2010079860A (ja) * 2008-09-29 2010-04-08 Hitachi Ltd 記憶装置およびメモリ制御方法
JP2010108246A (ja) * 2008-10-30 2010-05-13 Hitachi Ltd 記憶装置及びデータ格納領域管理方法
JP2010161525A (ja) * 2009-01-07 2010-07-22 Opnext Japan Inc 光伝送モジュール及び状態情報保存方法
JP2010176200A (ja) * 2009-01-27 2010-08-12 Tokai Rika Co Ltd フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法
US7996914B2 (en) 1999-04-27 2011-08-09 Panasonic Corporation Semiconductor memory card and data reading apparatus, and data reading/reproducing apparatus
CN102222044A (zh) * 2010-04-16 2011-10-19 慧荣科技股份有限公司 存储器的数据写入方法及数据储存装置
JP2012517068A (ja) * 2009-02-05 2012-07-26 インディリンクス カンパニー リミテッド メモリ装置、メモリ管理装置、およびメモリ管理方法
JP2016115105A (ja) * 2014-12-15 2016-06-23 コニカミノルタ株式会社 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996914B2 (en) 1999-04-27 2011-08-09 Panasonic Corporation Semiconductor memory card and data reading apparatus, and data reading/reproducing apparatus
US8661553B2 (en) 1999-04-27 2014-02-25 Panasonic Corporation Semiconductor memory card and data reading apparatus, and data reading/reproducing apparatus
US8127368B2 (en) 1999-04-27 2012-02-28 Panasonic Corporation Semiconductor memory card and data reading apparatus, and data reading/reproducing apparatus
WO2002052416A1 (fr) * 2000-12-27 2002-07-04 Tdk Corporation Systeme de memoire flash
JP2002318733A (ja) * 2001-04-20 2002-10-31 Matsushita Electric Works Ltd ブロック消去型記憶媒体の管理装置
JP2002343092A (ja) * 2001-05-17 2002-11-29 Fujitsu Ltd レジスタの設定方法及び半導体装置
JP2003228513A (ja) * 2001-11-28 2003-08-15 Access:Kk メモリ制御方法および装置
US7383431B2 (en) 2002-06-11 2008-06-03 Seiko Epson Corporation Control system and method for rewriting data in a flash memory and a data storage medium in which a program is stored for rewriting data in a flash memory
JP2006513525A (ja) * 2003-01-28 2006-04-20 サンディスク コーポレイション サイクルカウント値を記憶する広い消去ブロックを備える不揮発性半導体メモリ
KR101089575B1 (ko) 2003-01-28 2011-12-05 가부시끼가이샤 도시바 사이클 카운트를 저장하는 대량 소거 블록들을 구비한비휘발성 반도체 메모리
JP2006120244A (ja) * 2004-10-21 2006-05-11 Fujitsu Ltd 半導体記憶装置および半導体記憶装置の制御方法
US7898860B2 (en) 2004-10-21 2011-03-01 Fujitsu Semiconductor Limited Semiconductor memory device and method of controlling semiconductor memory device
JP4675082B2 (ja) * 2004-10-21 2011-04-20 富士通セミコンダクター株式会社 半導体記憶装置および半導体記憶装置の制御方法
JP2009295089A (ja) * 2008-06-09 2009-12-17 Sony Computer Entertainment Inc メモリアクセス制御方法及びメモリ制御装置、コンピュータプログラム
JP2010003401A (ja) * 2008-06-23 2010-01-07 Samsung Electronics Co Ltd メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード
JP2010079860A (ja) * 2008-09-29 2010-04-08 Hitachi Ltd 記憶装置およびメモリ制御方法
JP2010108246A (ja) * 2008-10-30 2010-05-13 Hitachi Ltd 記憶装置及びデータ格納領域管理方法
JP2010161525A (ja) * 2009-01-07 2010-07-22 Opnext Japan Inc 光伝送モジュール及び状態情報保存方法
JP2010176200A (ja) * 2009-01-27 2010-08-12 Tokai Rika Co Ltd フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法
JP2012517068A (ja) * 2009-02-05 2012-07-26 インディリンクス カンパニー リミテッド メモリ装置、メモリ管理装置、およびメモリ管理方法
US9123443B2 (en) 2009-02-05 2015-09-01 Ocz Storage Solutions, Inc. Memory device, memory management device, and memory management method
CN102222044A (zh) * 2010-04-16 2011-10-19 慧荣科技股份有限公司 存储器的数据写入方法及数据储存装置
CN102222044B (zh) * 2010-04-16 2015-09-02 慧荣科技股份有限公司 存储器的数据写入方法及数据储存装置
JP2016115105A (ja) * 2014-12-15 2016-06-23 コニカミノルタ株式会社 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム

Similar Documents

Publication Publication Date Title
JP3178909B2 (ja) 半導体メモリ装置
US6865658B2 (en) Nonvolatile data management system using data segments and link information
JPH10320984A (ja) 記憶装置
US6513095B1 (en) File system with assured integrity incorporating semiconductor memory device
JP4399029B2 (ja) 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ
US6591328B1 (en) Non-volatile memory storing address control table data formed of logical addresses and physical addresses
KR100526188B1 (ko) 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
US6381176B1 (en) Method of driving remapping in flash memory and flash memory architecture suitable therefor
JP3682256B2 (ja) ディスクアレイ装置及び同装置におけるパリティ処理方法
JP4268396B2 (ja) 1回プログラム可能な不揮発性メモリデバイスのファイル管理
US7904637B2 (en) Information processing apparatus, lifetime monitoring method and program for monitoring lifetime of storage device including flash memory
JPH05282889A (ja) 不揮発性半導体メモリ装置
KR20090091101A (ko) 비휘발성 메모리 시스템에서 사용하기 위한 전원 관리 블럭
JP2000250820A (ja) 不揮発性メモリへのデータ保存方法
JP2002508862A (ja) フラッシュメモリ内のブロックにおける移動セクタ
JP3119214B2 (ja) 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法
JP3589033B2 (ja) フラッシュメモリシステム
JP2007280108A (ja) 記憶媒体制御装置、記憶媒体制御方法、プログラム
US20050149493A1 (en) Data recording apparatus and data recording method
JP3808842B2 (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP3826115B2 (ja) 記憶装置、メモリ管理方法及びプログラム
JP2004078902A (ja) 記憶装置、メモリ管理方法及びプログラム
JPH1031611A (ja) 不揮発性メモリ記憶媒体用ファイルシステム
JP3070994B2 (ja) メモリカードの記憶管理方式
JPH06332795A (ja) 電気的消去可能な不揮発性メモリの制御方法及びシステム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070529