(57)【要約】【課題】記憶領域の寿命を延ばすことができるともに、起動を高速化することが可能な記憶装置を提供する。【解決手段】記憶部２は、複数のブロックを有している。管理ブロック２−３は、記憶部の管理情報を少なくとも１つ記憶する。システム領域２−１は、記憶部の特定のブロックに割り当てられ、管理ブロック２−３のリンク情報を記憶する。制御部３は、起動時、システム領域２−１のリンク情報を参照して管理ブロックの位置を検索し、管理情報の更新に伴い検索された管理ブロックが満杯となった場合、記憶部の別の空きブロックを割り当てて管理ブロックを更新するとともに、システム領域のリンク情報を割り当てた空きブロックのアドレスに更新する。【選択図】      図１
2008009636.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックを有する記憶部と、
前記記憶部の複数のブロックの１つに割り当てられ、前記記憶部の管理情報を少なくとも1つ記憶する管理ブロックと、
前記記憶部の前記複数のブロックのうち特定のブロックに割り当てられ、前記管理情報が記憶されている管理ブロックの位置を示すリンク情報を記憶するシステム領域と、
起動時、前記システム領域のリンク情報を参照して前記管理ブロックの位置を検索し、前記管理情報の更新に伴い検索された前記管理ブロックが満杯となった場合、前記記憶部の別の空きブロックを割り当てて前記管理ブロックを更新するとともに、前記システム領域のリンク情報を前記割り当てた空きブロックのアドレスに更新する制御部と
を具備することを特徴とする記憶装置。
【請求項２】
複数のブロックを有する記憶部と、
前記記憶部の複数のブロックの１つに割り当てられ、前記記憶部の管理情報を記憶する管理ブロックと、
前記記憶部の複数のブロックの１つに割り当てられ、前記管理情報が記憶されている前記管理ブロックの位置を示す第１のリンク情報を記憶するリンク管理領域と、
前記記憶部の前記複数のブロックのうち特定のブロックに割り当てられ、前記リンク管理領域の位置を示す第２のリンク情報を記憶するシステム領域と、
起動時、前記システム領域の前記第２のリンク情報、及び前記リンク管理領域の前記第１のリンク情報を参照して前記管理ブロックを検索し、前記管理情報の更新に伴い検索された前記管理ブロックが満杯となった場合、前記記憶部の別の空きブロックを割り当てて前記管理ブロックを更新するとともに、前記リンク管理領域の第１のリンク情報を前記割り当てた空きブロックのアドレスに更新し、前記リンク管理領域が満杯となった場合、前記記憶部の空きブロックを割り当てて前記リンク管理領域の第１のリンク情報を更新するとともに、前記システム領域の第２のリンク情報を前記割り当てたリンク管理領域に応じて更新する制御部と
を具備することを特徴とする記憶装置。
【請求項３】
複数のブロックを有する記憶部と、
前記記憶部の管理情報を記憶するため、前記記憶部内の前記複数のブロックに予め割り当てられた複数の管理ブロックと、
前記記憶部の前記複数のブロックのうち特定のブロックに割り当てられ、前記複数の管理ブロックの位置を示す複数のリンク情報を記憶するシステム領域と、
起動時、前記システム領域の前記複数のリンク情報を参照して前記複数の管理ブロックの１つを検索し、前記管理情報の更新に伴い検索された前記管理ブロックが満杯となった場合、前記システム領域の前記複数のリンク情報を参照して予め割り当てられた前記複数の管理ブロックのうちの空きブロックを選択して前記管理ブロックを更新し、前記複数の管理ブロックが全て満杯の場合、前記記憶部より新たな複数の管理ブロックを割り当てるとともに、前記システム領域に新たな複数の管理ブロックに対応する複数のリンク情報を記憶させる制御部と
を具備することを特徴とする記憶装置。
【請求項４】
複数のブロックを有する記憶部と、
前記記憶部の管理情報を記憶するため、前記記憶部内の前記複数のブロックに予め割り当てられた複数の管理ブロックと、
複数の管理ブロックの位置を示す第１のリンク情報を記憶するため、前記記憶部の複数のブロックに予め割り当てられたリンク情報ブロックと、
前記記憶部の前記複数のブロックのうち特定のブロックに割り当てられ、前記複数のリンク情報ブロックの位置を示す複数の第２のリンク情報を記憶するシステム領域と、
起動時、前記システム領域の前記複数の第２のリンク情報を参照して前記リンク情報ブロックを検索し、この検索された前記リンク情報ブロックの前記第１のリンク情報に基づき前記複数の管理ブロックの１つを検索し、前記管理情報の更新に伴い検索された前記管理ブロックが満杯となった場合、前記リンク情報ブロックの前記複数のリンク情報を参照して予め割り当てられた前記複数の管理ブロックのうちの空きブロックを選択して前記管理ブロックを更新し、前記複数の管理ブロックが全て満杯の場合、前記記憶部より新たな複数の管理ブロックを割り当てるとともに、前記リンク情報ブロックに新たな複数の管理ブロックに対応する複数の第３のリンク情報を記憶させ、前記リンク情報ブロックが満杯となった場合、前記記憶部より新たなリンク情報ブロックを割り当て、前記システム領域に新たな前記リンク情報ブロックの位置を示す第４のリンク情報を記憶させる制御部と
を具備することを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＮＡＮＤ型フラッシュメモリを有するメモリカード等の記憶装置に関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリをメモリカード等のストレージデバイスとして利用する場合、一般にＮＡＮＤ型フラッシュメモリの記憶領域がシステム領域とデータ領域を分けられる。データ領域にはユーザーのデータが記憶され、システム領域には、システム情報、例えば論理アドレスと物理アドレスを変換するアドレス変換テーブル等のＮＡＮＤ型フラッシュメモリをストレージデバイスとして機能させるために必要な管理情報が記憶される。ユーザーによりストレージデバイスへのデータの書き込み、消去等のアクセスが行われると、アクセス毎に管理情報の更新が必要となる。このため、システム領域は、データ領域に比べて更新頻度が高い。ＮＡＮＤ型フラッシュメモリは、書き換え及び消去回数に制限を有する半導体素子であり、更新頻度の高いシステム領域は、データ領域より早く、限度回数を迎えてしまう。限度回数を超えということは、ＮＡＮＤ型フラッシュメモリの寿命が尽きたことを意味する。
【０００３】
システム領域の更新頻度を少なくするためには、システム領域を物理的に大きく確保し、システム領域内において管理情報のウェアレベリングを実現する方法が一般的である。しかし、限られた記憶容量において、システム領域を拡大した場合、データ領域の容量が減ってしまう。
【０００４】
一方、コントローラは、システムの起動時に管理情報を読み込む必要がある。この管理情報が格納されたシステム領域のアドレスが固定されていない場合、管理情報が何処にあるかを検索する必要があり、検索に長時間を要するという問題がある。また、システム領域のアドレスを特定のアドレスに固定した場合、管理情報の検索時間は大幅に短縮できる。しかし、管理情報が同じアドレスで更新されることとなるため、更新頻度が高くなり、メモリの寿命が短くなってしまう。
【０００５】
尚、一定回数の書き換え毎に管理情報エリアを移動し、さらに管理情報エリアと他のエリアとを区別する識別子を付加し、書き換え回数を平均化して記憶装置の寿命を延ばした情報処理装置が開発されている（例えば特許文献１参照）。
【特許文献１】特開平６−１１９２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、記憶領域の寿命を延ばすことができるともに、起動を高速化することが可能な記憶装置を提供しようとするものである。
【課題を解決するための手段】
【０００７】
本発明の記憶装置の第１の態様は、複数のブロックを有する記憶部と、前記記憶部の複数のブロックの１つに割り当てられ、前記記憶部の管理情報を少なくとも1つ記憶する管理ブロックと、前記記憶部の前記複数のブロックのうち特定のブロックに割り当てられ、前記管理情報が記憶されている管理ブロックの位置を示すリンク情報を記憶するシステム領域と、起動時、前記システム領域のリンク情報を参照して前記管理ブロックの位置を検索し、前記管理情報の更新に伴い検索された前記管理ブロックが満杯となった場合、前記記憶部の別の空きブロックを割り当てて前記管理ブロックを更新するとともに、前記システム領域のリンク情報を前記割り当てた空きブロックのアドレスに更新する制御部とを具備することを特徴とする。  
本発明の記憶装置の第２の態様は、複数のブロックを有する記憶部と、前記記憶部の複数のブロックの１つに割り当てられ、前記記憶部の管理情報を記憶する管理ブロックと、前記記憶部の複数のブロックの１つに割り当てられ、前記管理情報が記憶されている前記管理ブロックの位置を示す第１のリンク情報を記憶するリンク管理領域と、前記記憶部の前記複数のブロックのうち特定のブロックに割り当てられ、前記リンク管理領域の位置を示す第２のリンク情報を記憶するシステム領域と、起動時、前記システム領域の前記第２のリンク情報、及び前記リンク管理領域の前記第１のリンク情報を参照して前記管理ブロックを検索し、前記管理情報の更新に伴い検索された前記管理ブロックが満杯となった場合、前記記憶部の別の空きブロックを割り当てて前記管理ブロックを更新するとともに、前記リンク管理領域の第１のリンク情報を前記割り当てた空きブロックのアドレスに更新し、前記リンク管理領域が満杯となった場合、前記記憶部の空きブロックを割り当てて前記リンク管理領域の第１のリンク情報を更新するとともに、前記システム領域の第２のリンク情報を前記割り当てたリンク管理領域に応じて更新する制御部とを具備することを特徴とする。
【０００８】
本発明の記憶装置の第３の態様は、複数のブロックを有する記憶部と、前記記憶部の管理情報を記憶するため、前記記憶部内の前記複数のブロックに予め割り当てられた複数の管理ブロックと、前記記憶部の前記複数のブロックのうち特定のブロックに割り当てられ、前記複数の管理ブロックの位置を示す複数のリンク情報を記憶するシステム領域と、起動時、前記システム領域の前記複数のリンク情報を参照して前記複数の管理ブロックの１つを検索し、前記管理情報の更新に伴い検索された前記管理ブロックが満杯となった場合、前記システム領域の前記複数のリンク情報を参照して予め割り当てられた前記複数の管理ブロックのうちの空きブロックを選択して前記管理ブロックを更新し、前記複数の管理ブロックが全て満杯の場合、前記記憶部より新たな複数の管理ブロックを割り当てるとともに、前記システム領域に新たな複数の管理ブロックに対応する複数のリンク情報を記憶させる制御部とを具備することを特徴とする。
【０００９】
本発明の記憶装置の第４の態様は、複数のブロックを有する記憶部と、前記記憶部の管理情報を記憶するため、前記記憶部内の前記複数のブロックに予め割り当てられた複数の管理ブロックと、複数の管理ブロックの位置を示す第１のリンク情報を記憶するため、前記記憶部の複数のブロックに予め割り当てられたリンク情報ブロックと、前記記憶部の前記複数のブロックのうち特定のブロックに割り当てられ、前記複数のリンク情報ブロックの位置を示す複数の第２のリンク情報を記憶するシステム領域と、起動時、前記システム領域の前記複数の第２のリンク情報を参照して前記リンク情報ブロックを検索し、この検索された前記リンク情報ブロックの前記第１のリンク情報に基づき前記複数の管理ブロックの１つを検索し、前記管理情報の更新に伴い検索された前記管理ブロックが満杯となった場合、前記リンク情報ブロックの前記複数のリンク情報を参照して予め割り当てられた前記複数の管理ブロックのうちの空きブロックを選択して前記管理ブロックを更新し、前記複数の管理ブロックが全て満杯の場合、前記記憶部より新たな複数の管理ブロックを割り当てるとともに、前記リンク情報ブロックに新たな複数の管理ブロックに対応する複数の第３のリンク情報を記憶させ、前記リンク情報ブロックが満杯となった場合、前記記憶部より新たなリンク情報ブロックを割り当て、前記システム領域に新たな前記リンク情報ブロックの位置を示す第４のリンク情報を記憶させる制御部とを具備することを特徴とする記憶装置。
【発明の効果】
【００１０】
本発明によれば、記憶領域の寿命を延ばすことができるともに、起動を高速化することが可能な記憶装置を提供できる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１２】
図２は、本実施形態が適用される記憶装置、例えばメモリカードの一例を示している。
【００１３】
図２において、ホスト機器（以下、ホストと称す）１０は、接続されるメモリカードをアクセスするためのハードウェア及びソフトウェア（システム）を備えている。このホスト１０は、メモリカード1に対して、データリード、データライト、データ消去等のアクセスを行う。
【００１４】
メモリカード１は、ホスト１０に接続されたとき、電源が供給されて動作し、ホスト１０からのアクセスに応じた処理を行う。例えば、データリード、データライト、データ消去等のアクセスでは、物理アドレスと論理アドレスのマッピング、ＥＣＣエラー訂正、ＮＡＮＤ型フラッシュメモリへのアクセス、といった処理を行う。
【００１５】
このメモリカード１は、前述したようにＮＡＮＤ型フラッシュメモリ２及びコントローラ３を有している。
【００１６】
コントローラ３は、メモリインタフェース部４、ホストインタフェース部５、バッファ６、ＣＰＵ７、ＲＯＭ（Read Only Memory）８、及びＲＡＭ（Random Access Memory）９を有している。
【００１７】
メモリインタフェース部４は、コントローラ３とＮＡＮＤ型フラッシュメモリ２との間のインタフェース処理を行う。ホストインタフェース部５は、コントローラ３とホスト１０との間のインタフェース処理を行う。
【００１８】
バッファ６は、ホスト１０から送られてくるデータをＮＡＮＤ型フラッシュメモリ２へ書き込む際に、一定量（例えば１ページ分）のデータを一時的に記憶したり、ＮＡＮＤ型フラッシュメモリ２から読み出されるデータをホスト１０へ送り出す際に、一定量のデータを一時的に記憶したりする。
【００１９】
ＣＰＵ７は、メモリカード１全体の動作を司るものである。このＣＰＵ７は、例えばメモリカード１に電源が供給された場合、ＲＯＭ８に格納されているファームウェア(制御プログラム)に従って処理を開始する。即ち、ＣＰＵ７は、処理に必要な各種テーブル（管理データ）をＲＡＭ９上に作成したり、ホスト１０からの書き込みコマンド、読み出しコマンド、消去コマンドを受けてＮＡＮＤ型フラッシュメモリ２上の該当領域をアクセスしたり、ＮＡＮＤ型フラッシュメモリ２をアクセスするにあたってホストからの論理アドレスと物理アドレスとを変換したり、バッファ６を通じてデータ転送処理を制御したりする。
【００２０】
ＲＯＭ８は、ＣＰＵ７により使用される制御プログラムなどを格納するメモリである。ＲＡＭ９は、ＣＰＵ７の作業エリアとして使用され、各種のテーブル等を記憶する揮発性メモリである。
【００２１】
図３は、ＮＡＮＤ型フラッシュメモリ２を概略的に示している。ＮＡＮＤ型フラッシュメモリ２は、消去時のブロックサイズ（消去ブロックサイズ）が例えば２５６ｋバイトに定められ、１ページが例えば２１１２バイト（例えば５１２バイト分のデータ×４＋１０バイト分の冗長部×４＋２４バイト分の管理情報）で構成されている。したがって、１ブロックは例えば１２８ページにより構成されている。データの書き込み、読み出しはページ単位で行なわれる。このＮＡＮＤ型フラッシュメモリ２の記憶容量が例えば１Ｇビットである場合、ブロックの数は、５１２個となる。
【００２２】
（第１の実施形態）
以下に説明する各実施形態において、コントローラ３は、管理情報を格納する領域（以下、管理情報ブロックと称す）を、データ領域内の未使用の任意のブロックに割り当て、そこに管理情報を格納する。
【００２３】
システム領域は物理アドレスにより定められた特定の領域に割り当てられる。システム領域は、データ領域のどのアドレス（ブロックアドレス）に管理情報ブロックが有るかというリンク情報を持つ。システム領域は１つ或いは複数のブロックにより構成され、１つのリンク情報は１つのページ或いは複数のページで構成される。
【００２４】
コントローラ３は、管理情報をアクセスする場合、まずシステム領域に格納されたリンク情報を読み込み、このリンク情報から管理情報ブロックの位置を特定し、管理情報をアクセスする。
【００２５】
管理情報の更新は、管理情報ブロック内で追記されていく。追記される過程で管理情報ブロックが満杯となり、その状態で管理情報をさらに更新しようとすると、コントローラ３はデータ領域内の別な未使用の任意のブロックを新たに管理情報ブロックに割り当て、そこに更新された管理情報を書き込む。古い管理情報が格納されたブロックは、いずれかのタイミングで消去され、通常のデータも格納できる未使用なブロックとなる。
【００２６】
リンク情報の更新は、システム領域のブロック内で追記されていく。追記される過程で同ブロックが満杯となり、その状態でリンク情報をさらに更新しようとすると、コントローラ３は、システム領域内の別の未使用なブロックを、新たにリンク情報を格納するブロックとして割り当て、そこに更新されたリンク情報を書き込む。古いリンク情報が格納されたブロックは、いずれかのタイミングで消去され、リンク情報を格納するブロックとして再利用される。システム領域内のリンク情報を格納するブロックが１つだけで構成される場合は、一度ブロックを消去するか、或いは上書きにより、そのブロックに新しいリンク情報が書き込まれる。
【００２７】
以上のように、頻繁に更新が必要となる管理情報を、特定の領域に割り当てる必要がなくなるため、メモリの見かけ上の寿命を延ばすことができる。
【００２８】
また、システム起動時に、アドレスが固定されたシステム領域のリンク情報から、管理情報を得ることができるため、管理情報の検索の時間を大幅に短縮することができる。
【００２９】
図１は、第１の実施形態を示している。図１を参照して第１の実施形態を概略的に説明する。図１は、図３と同様に、１ページが２ｋバイト、１ブロックが１２８ページ、２５６ｋバイトのＮＡＮＤ型フラッシュメモリ２において、システム領域２−１が４ブロックであるとする。システム領域２−１は、フラッシュメモリ２において、特定のアドレスに配置され、システム領域２−１以外のフラッシュメモリ２はデータ領域２−２に割り当てられている。データ領域２−２のうちの１つのブロックが管理情報ブロック２−３として割り当てられる。管理情報ブロック２−３の位置は、システム領域２−１の選択された１つのブロック（以下、リンク情報ブロック２−１−１と称す）の例えば１ページに格納されたリンク情報により管理されている。このリンク情報は、例えばブロックアドレスである。
【００３０】
管理情報ブロック２−３に格納される管理情報は、例えば６４ｋバイトにより構成されている。１ブロックは、２５６ｋバイトであるため、管理情報を例えば４回更新すると管理情報ブロック２−３は満杯となる。満杯になるとデータ領域２−２の別の未使用なブロックが選択され、この未使用のブロックに管理情報ブロックが移動され、リンク情報ブロック２−１−１のリンク情報が新たな管理情報ブロックのブロックアドレスに更新される。すなわち、リンク情報ブロック２−１−１内のリンク情報は、管理情報を４回更新する毎に更新される。このため、管理情報が４×１２８＝５１２回更新されると、システム領域２−１内のリンク情報ブロック２−１−１が満杯となり、システム領域２−１内の他の空きブロック（未使用のブロック）が新たなリンク情報ブロック２−１−１として割り当てられ、最新のリンク情報が、新たなリンク情報ブロック２−１−１に格納される。したがって、システム領域２−１は、管理情報が４×１２８×４＝２０４８回更新されると、４ブロック全てが１度書き込まれたこととなる。このため、更新頻度が少なくて済む。また、コントローラ３はリンク情報が格納されたシステム領域２−１のブロックをアクセスするだけで管理情報を得ることができる。したがって、高速に、管理情報を取得することができる。
【００３１】
図４、図５は、第１の実施形態より具体的に示している。
【００３２】
図４は、ＮＡＮＤ型フラッシュメモリ２に物理的に配置されたリンク情報の構成を示している。リンク情報は、システム領域において、１ページ単位に書き込まれる。リンク情報の例えば先頭にはヘッダが設けられている。ヘッダは特定サイズを有し、当該ページにリンク情報が書き込まれているかどうかを表し、リンク情報が最新の情報であるかの判別に使用する。すなわち、リンク情報を書き込む時、ヘッダにはデータ“０”が書き込まれる。ＮＡＮＤ型フラッシュメモリはブロックを消去すると、消去されたブロックの全ビットは、一般にデータ“１”となる。このため、ヘッダにデータ“０”が書き込まれているかどうかを検索することにより、最新リンク情報が書き込まれたページを容易に特定できる。
【００３３】
また、上記のように、ＮＡＮＤ型フラッシュメモリの１ページ分の容量は、一般的に５１２バイト以上であるため、１ページにヘッダ情報とリンク情報を格納しても容量的に問題はない。
【００３４】
図５は、ＮＡＮＤ型フラッシュメモリのデータ領域に格納された、管理情報の構成である。本例では、管理情報ブロックを４つの特定サイズに分割した領域（以下、管理情報領域と称す）それぞれに管理情報を格納できる。管理情報は、例えば先頭位置に特定サイズのヘッダを有し、このヘッダは管理情報が書き込まれているかどうかを表し、最新の管理情報であるかの判別に使用される。リンク情報と同様に、管理情報を書き込むとき、ヘッダにはデータ“０”が書き込まれる。
【００３５】
ここで、システム領域２−１に確保されたブロック数をＢＭＡＸとし、それぞれのブロックのページ数をＰＭＡＸとする。ＢＭＡＸ及びＰＭＡＸは“０”から始まる数値が格納されるものとする。図４に示す場合、システム領域２−１のブロック数は“４”であり、ページ数は“１２８”である。したがって、ＢＭＡＸは“３”、ＰＭＡＸは“１２７”となる。また、ブロック位置をＢ、ページ位置をＰとし、これらを最新リンク情報が格納されているポインタとして表す。Ｂ及びＰは“０”から始まる数である。
【００３６】
また、管理情報ブロックについて、ブロック内で格納可能な管理情報数をＶＡＭＡＸとする。ＶＡＭＡＸは“０”から始まる数値が格納されるものとする。また、ＶＡは管理情報のヘッダの位置を検索するための変数とし、コントローラ３は、このＶＡに基づき管理情報のヘッダ位置を特定できるものとする。図５に示す場合、管理情報ブロック内に格納可能な管理情報の数は“４”であり、ＶＡＭＡＸは“３”となる。また、ＶＡについてコントローラ３は、ＶＡ＝０とすると、管理情報“０”のヘッダ位置を特定でき、ＶＡ＝１とすると、管理情報“１”のヘッダ位置を特定でき、ＶＡ＝２とすると、管理情報“２”のヘッダ位置を特定でき、ＶＡ＝３とすると、管理情報３のヘッダ位置を特定できるものとする。
【００３７】
上記構成において、図６を用いて管理情報ブロックの検索動作について説明する。この検索動作は、コントローラ３（ＣＰＵ７）がＲＯＭ８に記憶されたプログラムに従って行われる。
【００３８】
管理情報ブロックの位置検索は、ポインタＢ及びＰの値が得られていない、すなわち、メモリカードに電源が投入された直後に、主として行われる。
【００３９】
先ず、ポインタの初期状態を、Ｂ＝０，Ｐ＝１とする（Ｓ１）。コントローラ３は、システム領域の位置Ｂ，Ｐを読み込む（Ｓ２）。次に、読み込んだ位置が消去ページであるかどうかを、リンク情報のヘッダを解析することで判断する（Ｓ３）。初期状態においてポインタをＰ＝１とするのは、システム領域２−１が破壊されておらず、正常にリンク情報が書き込まれていることを前提とした場合、Ｐ＝０には何らかのリンク情報が書き込まれていることが保証されているためである。ステップＳ３において、ポインタＰ＝１で示されるヘッダのデータが“１”であり、消去ページであることが確認された場合、ポインタをＰ＝Ｐ−１とし（Ｓ４）、その時点でのポインタＢ及びＰに最新リンク情報が格納されていることとなり、検索処理は完了する。このため、位置Ｂ，Ｐの最新リンク情報よりデータ領域の管理情報の取得が可能となる。Ｐ＝Ｐ−１とするのは、消去ページの前のページが最新リンク情報の格納されたページであるためである。
【００４０】
一方、ステップＳ３において、消去ページでないと判断された場合、ポインタＰがＰＭＡＸであるかどうかを確認する（Ｓ５）。Ｐ＝ＰＭＡＸでない場合、Ｐ＝Ｐ＋１とし（Ｓ６）、次のページが消去ページかどうか判断される（Ｓ２，Ｓ３）。また、ステップＳ５において、Ｐ＝ＰＭＡＸであった場合、検索中のブロックに最新リンク情報が無いこととなり、コントローラ３は、ポインタＢがＢ＝ＢＭＡＸであるかどうかを判断する（Ｓ７）。この結果、Ｂ＝ＢＭＡＸでない場合は、Ｂ＝Ｂ＋１、Ｐ＝０とし（Ｓ８）、別のブロックの先頭ページが消去ページかどうか判断する（Ｓ９）。この結果、消去ページである場合、前のブロックの最終ページに最新リンク情報が格納されていることとなり、Ｂ＝Ｂ−１、Ｐ＝ＰＭＡＸとポインタを変更し（Ｓ１０）、検索処理を終了する。また、ステップＳ９において、消去ページでないと判断された場合、ポインタＰがＰ＝Ｐ＋１とされ（Ｓ６）、次のページが消去ページかどうか判断される（Ｓ２，Ｓ３）。
【００４１】
また、ステップＳ７において、Ｂ＝ＢＭＡＸであった場合、Ｂ＝ＢＭＡＸ、Ｐ＝ＰＭＡＸが最新リンク情報となり、検索処理を終了する。
【００４２】
このようにして検出されたシステム領域２−１のリンク情報からデータ領域２−２に格納された管理情報ブロックの位置を取得できる。
【００４３】
図７は、上記リンク情報により特定された管理情報ブロックから管理情報を取得する動作を示している。
【００４４】
先ず、コントローラ３は、管理情報のヘッダ位置を検索するための変数ＶＡが既知であるかを判断する（Ｓ２１）。既にコントローラ３が変数ＶＡを特定している場合、管理情報が取得される（Ｓ２２）。しかし、電源投入直後に最初に管理情報を得るケースにおいて、変数ＶＡは既知でない。このため、検索を行う。先ず、コントローラ３は、変数ＶＡをＶＡ＝１とする（Ｓ２３）。この変数ＶＡから管理情報領域内のヘッダ位置を特定し、特定されたヘッダが読み込まれる（Ｓ２４）。この読み込まれたヘッダに基づき、消去された管理情報領域であるかどうかが判断される（Ｓ２５）。初期状態においてＶＡ＝１とするのは、管理情報ブロックが破壊されておらず、正常に管理情報が書き込まれていることを前提とする場合、ＶＡ＝０には何らかの管理情報が書き込まれていることが保証されているためである。
【００４５】
ステップＳ２５において、消去された管理情報領域であることが確認されると、変数ＶＡをＶＡ＝ＶＡ−１とし（Ｓ２６）、消去された管理情報領域の１つ前の管理情報領域から最新管理情報を取得する（Ｓ２２）。ＶＡ＝ＶＡ−１とするのは、消去された管理情報領域の前の管理情報領域が最新管理情報の格納された管理情報領域であるためである。
【００４６】
また、ステップＳ２５において、消去されていない管理情報領域であることが確認された場合、ＶＡがＶＡＭＡＸかどうか判断される（Ｓ２７）。この結果、ＶＡ＝ＶＡＭＡＸではない場合、ＶＡ＝ＶＡ＋１として（Ｓ２８）、次の管理情報領域において、ヘッダの読み込み、消去ページの検索処理が行なわれる。
【００４７】
さらに、前記ステップＳ２７において、ＶＡ＝ＶＡＭＡＸであった場合、ＶＡＭＡＸに対応する管理情報領域に最新管理情報が格納されていることとなる。したがって、この管理情報領域より最新管理情報が取得され（Ｓ２２）、処理を終了する。
【００４８】
図８は、リンク情報の配置が図４に示す状態において、管理情報を更新する場合の動作を示している。
【００４９】
管理情報は、コントローラ３により、ＮＡＮＤ型フラッシュメモリ２に対して何らかの処理が行われた場合、更新の必要性が生じる。この場合、先ず、コントローラ３は、現在の最新管理情報が格納されたブロックへの追記により、管理情報が更新できるかを確認する。すなわち、コントローラ３は、現在取得されている管理情報領域の変数ＶＡがＶＡ＝ＶＡＭＡＸであるかどうかを判断する（Ｓ３１）。この結果、追記が可能であれば、データ領域の管理情報ブロックの位置に変更はなく、すなわち、最新リンク情報の更新は必要ない。このため、コントローラ３は、管理情報領域へ管理情報を追記し（Ｓ３２）、ＶＡ＝ＶＡ＋１として（Ｓ３３）、処理を完了する。
【００５０】
一方、ステップＳ３１において、管理情報ブロック内での追記ができず、データ領域の別なブロックに管理情報を書き込む必要があると判断された場合、コントローラ３はデータ領域内の消去済みブロックを検索する（Ｓ３４、Ｓ３５）。この結果、データ領域に消去ブロックがない場合、異常終了とする。
【００５１】
また、消去ブロックが検索された場合、その消去ブロックを新管理情報ブロックとし、これに新管理情報を書き込む（Ｓ３６）。この後、変数ＶＡをＶＡ＝０とする（Ｓ３７）。
【００５２】
次に、コントローラ３は、リンク情報を更新するが、更新するにあたって、先ずページ位置を示すポインタＰがＰ＝ＰＭＡＸであるか確認する（Ｓ３８）。すなわち、新しいリンク情報を書き込むシステム領域のブロックが一杯であるかどうかを確認する。この結果、当該ブロックが満杯でない場合、ブロック位置Ｂ、ページ位置Ｐ＝Ｐ＋１に、新しいリンク情報を書き込む（Ｓ３９）。この後、ポインタＰがＰ＝Ｐ＋１と変更され（Ｓ４０）、処理を終える。
【００５３】
また、ステップＳ３８において、Ｐ＝ＰＭＡＸであった場合、書き込もうとするブロックが満杯であるため、別のブロックに移動して書き込むこととなる。この場合、先ず、ブロック位置を示すポインタＢが、Ｂ＝ＢＭＡＸであるかどうかが確認される（Ｓ４１）。すなわち、書き込もうとするブロックがシステム領域を超えてしまわないかどうかが確認される。この結果、Ｂ＝ＢＭＡＸではない場合、ブロック位置Ｂ＋１がブロック消去される（Ｓ４２）。この後、消去されたブロックのページ位置“０”に最新リンク情報が書き込まれる（Ｓ４３）。次いで、ポインタＢ及びＰが、Ｂ＝Ｂ＋１，Ｐ＝０とされ（Ｓ４４）、処理を終える。
【００５４】
また、前記ステップＳ４１において、Ｂ＝ＢＭＡＸであった場合、次のブロックはシステム領域を超えてしまう。このため、システム領域の最初のブロック“０”を消去し（Ｓ４５）、ブロック位置“０”のページ位置“０”に最新リンク情報を書き込み（Ｓ４６）、ポインタをＢ＝０，Ｐ＝０として（Ｓ４７）、処理を終える。
【００５５】
最新情報の書き込みが終了した後に、ポインタＢ，Ｐ，ＶＡを更新するのは、処理の途中で電源が遮断された場合においても、再起動する際に、正常に動作可能とするフェールセーフのためである。
【００５６】
上記第１の実施形態によれば、管理情報を大きな容量を有するデータ領域２−２の任意のブロックに書き込むことができ、リンク情報ブロック２−１−２は、ＮＡＮＤ型フラッシュメモリ２のアドレスが固定された複数のブロックからなるシステム領域２−１に配置され、システム領域２−１のブロック消去は、管理情報が更新される毎ではなく、４×１２８＝５１２回管理情報が更新された場合に行われる。このため、システム領域２−１の書き込み頻度を低減することができ、記憶装置としてのメモリカードの寿命を延ばすことが可能となる。
【００５７】
また、システム領域２−１は、ＮＡＮＤ型フラッシュメモリ２のアドレスが固定された複数のブロックに設けられ、このシステム領域２−１に管理情報ブロックの位置を示すリンク情報を格納している。このため、電源投入時において、コントローラ３は、ＮＡＮＤ型フラッシュメモリ２のアドレスが固定された複数のブロックを検索することによりリンク情報を取得することができ、このリンク情報から管理情報ブロックの位置を取得し、管理情報を取得することができる。したがって、メモリ容量が大きな場合においても、容易に管理情報を検索することができ、起動時間を短縮することが可能である。
【００５８】
また、システム領域２−１は、少なくとも管理情報ブロックのリンク情報を記憶できる容量を有すればよいため、大きな容量を必要としない。したがって、データ領域２−２の記憶容量の削減を抑制することが可能である。
【００５９】
尚、第１の実施形態において、システム領域の検索、管理情報ブロック及び管理情報の検索アルゴリズム、管理情報が更新された場合におけるシステム領域の更新アルゴリズムは、上記説明に限定されるものではない。例えば図８のステップＳ４２、Ｓ４５に示すブロック消去は、ブロック位置Ｂ＝Ｂ＋１まで達した後に、ステップＳ２７の処理後、システム領域２−１の全ブロックを一括して消去しても良い。
【００６０】
また、第１の実施形態及び以下の実施形態において、ＮＡＮＤ型フラッシュメモリ２の１ページのサイズ、ブロックのサイズは任意である。
【００６１】
また、管理情報にヘッダを具備せず、リンク情報に含んでも良い。この場合、ＶＡは管理情報の先頭位置を検索するための変数を意味する。
【００６２】
（第２の実施形態）
図９は、第２の実施形態を概略的に示すものであり、第１の実施形態と同一部分には同一符号を付している。第２の実施形態は、リンク情報を２段階で更新することにより、システム領域の更新頻度を更に少なくし、リンク情報の更新も少なくする例である。
【００６３】
図９に示すように、リンク情報を格納する領域は、システム領域２−１に設けられた第１のリンク情報ブロック２−１−１と、データ領域２−２に設けられた第２のリンク情報ブロック２−４とに分かれている。システム領域２−１は、例えば２ブロックにより構成され、第１の実施形態と同様に、ＮＡＮＤ型フラッシュメモリ２の特定のアドレスに配置されている。システム領域２−１は、２ブロックのうちの１つが選択的に第１のリンク情報ブロック２−１−１として使用される。
【００６４】
また、第２のリンク情報ブロック２−４は、データ領域２−２の任意のブロックに格納される。システム領域２−１の第１のリンク情報ブロック２−１−１は、第２のリンク情報ブロック２−４の位置情報を示すリンク情報１を記憶し、第２のリンク情報ブロック２−４は、最新の管理情報ブロックの位置を示すリンク情報２を記憶している。
【００６５】
データ領域２−２のアクセスに応じて、管理情報が更新され、管理情報の更新に伴い管理情報ブロックが満杯となると、データ領域２−２内において管理情報ブロックが移動される。すると、第２のリンク情報ブロック２−４のリンク情報が更新される。第２のリンク情報ブロック２−４が更新に伴い満杯となると、データ領域２−２の空きブロックが割り当てられ、この割り当てられた空きブロックに第２のリンク情報ブロック２−４が移動される。この第２のリンク情報ブロック２−４の移動に伴い、システム領域２−１内の第１のリンク情報ブロック２−１−１のリンク情報１が更新される。システム領域２−１は、２ブロックにより構成されている。このため、第１のリンク情報ブロックが更新に伴い満杯となった場合、残りのブロックが消去され、新第１のリンク情報ブロックとされる。この新第１のリンク情報ブロックに最新のリンク情報１が書き込まれる。
【００６６】
第２の実施形態において、第２のリンク情報ブロック２−４が他のブロックに移動するタイミングは、第１の実施形態におけるシステム領域２−１のブロックが満杯となった場合において、ブロックを移動するタイミングと同様である。また、システム領域２−１の第１のリンク情報ブロック２−１−１を移動するタイミングは、第１の実施形態が４×１２８＝５１２回管理情報が更新された場合であるのに対して、第２の実施形態は、４×１２８×１２８＝６５５３６回管理情報が更新された場合である。このため、システム領域２−１の書き換え頻度を第２のリンク情報ブロック２−４に比べて格段に低減することが可能である。したがって、記憶装置としてのメモリカードの寿命を一層に延ばすことが可能である。
【００６７】
図１０は、起動時における管理情報ブロックの検索動作を概略的に示している。
【００６８】
図１０において、先ず、図６に示す動作と同様にしてシステム領域２−１の第１のリンク情報ブロック２−１−１からリンク情報１が検索される（Ｓ５１）。この後、検索したリンク情報１に基づき第２のリンク情報ブロック２−４のリンク情報２を検索し、管理情報ブロックの位置を取得する（Ｓ５２）。このリンク情報２の検索もリンク情報１の検索とほぼ同様である。但し、第２の実施形態において、リンク情報２のブロック数は１つであるため、図６に示すステップＳ７、Ｓ８、Ｓ９、Ｓ１０の処理は不要である。
【００６９】
図１１は、管理情報を更新する場合の動作を概略的に示している。図１１は、基本的には図８に示す動作と同様である。管理情報が更新された場合、先ず、コントローラ３は、リンク情報２を格納するブロックが満杯であるかを判断する（Ｓ６１）。この結果、ブロックが満杯ではない場合、そのブロックにリンク情報を追記して処理を終了する（Ｓ６２）。一方、ステップＳ６１において、リンク情報２を格納するブロックが満杯であると判断した場合、データ領域２−２の別の消去ブロックが割り当てられ、このブロックの最初のページにリンク情報２が書き込まれる（Ｓ６３）。次いで、新リンク情報２の位置について、システム領域２−１の第１のリンク情報ブロック２−１−１のリンク情報１を更新する（Ｓ６４）。リンク情報１を更新するためのアルゴリズムは、図８に示すステップＳ３８以降と同等である。この後、データ領域２−２の旧リンク情報２が書き込まれているブロックを消去し（Ｓ６５）、処理を終了する。
【００７０】
上記第２の実施形態によれば、アドレスが固定されたシステム領域２−１に配置された第１のリンク情報ブロック２−１−１と、データ領域２−２内の任意のアドレスに配置される第２のリンク情報ブロック２−４を設け、第２のリンク情報ブロック２−４に管理情報ブロックの位置を示すリンク情報２を記憶し、第１のリンク情報ブロック２−１−１に第２のリンク情報ブロック２−４の位置を示すリンク情報１を記憶している。このため、システム領域２−１内の第１のリンク情報ブロック２−１−１の更新頻度を格段に低減することができ、記憶装置としてメモリカードの寿命を延ばすことが可能である。
【００７１】
また、第１のリンク情報ブロック２−１−１はアドレスが固定されたシステム領域２−１に配置され、この第１のリンク情報ブロック２−１−１に記憶されたリンク情報から第２のリンク情報ブロック２−４を検索し、第２のリンク情報ブロック２−４のリンク情報から管理情報ブロックを検索することができる。このため、管理情報を容易に検索することができるため、記憶装置としてメモリカードの起動を高速化することが可能である。
【００７２】
（第３の実施形態）
図１２は、第３の実施形態を概略的に示している。第３の実施形態は、データ領域に複数の管理情報ブロックを予め予約し、これら管理情報ブロックが全て満杯となった場合、新たな複数の管理ブロックを予約することにより、管理情報の更新頻度を更に少なくするとともに、リンク情報の更新頻度を少なくしようとするものである。
【００７３】
図１２において、ＮＡＮＤ型フラッシュメモリ２のデータ領域２−２は、コントローラ３により予約された複数の管理情報ブロック（以下、管理情報ブロック群と称す）２−３を有している。システム領域２−１は、例えば２ブロックにより構成され、予約した全ての管理情報ブロックへのリンク情報は、システム領域２−１内の選択された１つのブロック（リンク情報ブロック）の１ページに予め記録されている。図１２は、４つの管理情報ブロックを予約した例を示しているが、予約数は幾つであっても良い。また、１つのリンク情報は、例えば５１２バイトで構成され、４つのリンク情報は１ページに記憶している。
【００７４】
管理情報ブロック群を構成する予約された４つの管理情報ブロックは、例えばシステム領域２−１の１ページ内に格納されたリンク情報のブロック内のアドレス順に従って割り当てられる。図１２に示す例の場合、アドレス下位から順位が決めている。すなわち、管理情報は、最初に管理情報ブロック１に格納され、管理情報ブロック１が満杯になると、次の管理情報ブロック２に移動する。以下、管理情報の格納は、管理情報ブロック３，４の順位に移動する。全ての管理情報ブロックが満杯になると、コントローラ３は新たに管理情報ブロック群を予約し、システム領域２−１を更新する。すなわち、システム領域２−１内のリンク情報ブロック２−１−１の１ページに、予約した複数の管理情報ブロックのリンク情報を記憶する。このようにして新たに予約された管理情報ブロック１に管理情報が移動される。満杯となった古い管理情報ブロック群は、いずれかのタイミングで消去され、通常のデータが格納できる未使用のブロックとなる。
【００７５】
図１３は、第３の実施形態に係る管理情報ブロックの位置検索動作を示している。コントローラ３は、システム領域２−１より、最新のリンク情報を第１の実施形態の図６に示す動作と同様の動作により検索する（Ｓ７１）。すなわち、システム領域２−１内のリンク情報ブロック２−１−１において、最新に更新された１ページを検索する。コントローラ３は、最新の１ページを検索すると、このページ内に記憶された複数のリンク情報のうち、例えば最も下位のアドレスに位置するリンク情報により特定された管理情報ブロック内において、最新の管理情報を図７に示す動作と同様の動作により検索する（Ｓ７２、Ｓ７３）。この結果、検索したブロックに消去領域が存在し、最新管理情報が特定できた場合、処理を正常に終了する。
【００７６】
一方、ステップＳ７２、Ｓ７３において、最新管理情報が特定できない場合、システム領域２−１の１ページ内において次のアドレスに位置するリンク情報が読み出され、そのリンク情報に割り当てられた管理情報ブロックを検索しようとする（Ｓ７４）。この結果、検索した管理情報ブロックが、最後の管理情報ブロックであった場合、その最後の管理情報ブロックの最後の管理情報領域が最新の管理情報となり、処理を終了する。また、検索の結果、最後の管理情報ブロックではない場合、次の管理情報ブロックに移動し（Ｓ７５）、この移動した管理情報ブロックが消去ブロックであるかどうか判断する（Ｓ７６）。この結果、移動した管理情報ブロックが消去ブロックである場合、前に検索した管理情報ブロックの最後の管理情報領域が最新の管理情報となり、処理を終了する。また、消去ブロックでない場合、ステップＳ７２に移行し、再度検索を行う。
【００７７】
図１４は、第３の実施形態に係る管理情報を更新する場合の動作を示している。コントローラ３は、管理情報を更新する際、先ず、管理情報が管理情報ブロック内で追記可能かどうかを判断する（Ｓ８１）。この結果、追記可能である場合、管理情報ブロック内に管理情報を追記して処理終了する。また、前記判断の結果、追記が不可能である場合、予約された残りの管理情報ブロックが満杯かどうか判断する（Ｓ８３）。この結果、残りの管理情報ブロックが満杯でない場合、システム領域２−１のリンク情報ブロック２−１−１の１ページに記憶されている次のリンク情報により割り当てられた管理情報ブロックに管理情報を書き込み（Ｓ８４）、処理を終了する。
【００７８】
一方、ステップＳ８３において、予約した管理情報ブロックが全て満杯である場合、新たに管理情報ブロック群を予約する（Ｓ８５）。すなわち、データ領域２−２から複数の消去ブロックが管理情報ブロック群に割り当てられる。この後、予約された管理情報ブロック群のうち、最初の管理情報ブロックに新管理情報が書き込まれる（Ｓ８６）。次いで、システム領域２−１内のリンク情報ブロック２−１−１の新たな１ページに予約した管理情報ブロック群のリンク情報を記憶する（Ｓ８７）。このリンク情報は、図８に示すステップＳ３８以降と同様の動作により更新される。この後、旧管理情報ブロック群を消去し（Ｓ８８）、処理を終了する。
【００７９】
上記第３の実施形態によれば、データ領域２−２に複数の管理情報ブロックを予約し、これら管理情報ブロックの位置を示す複数のリンク情報をシステム領域２−１のリンク情報ブロック２−１−１の１ページ内に記憶している。このため、予約した管理情報ブロックが全て満杯となった場合、システム領域２−１のリンク情報が更新される。したがって、システム領域２−１の更新頻度を低減することが可能であり、記憶装置としてのメモリカードの寿命を延ばすことが可能である。すなわち、第３の実施形態の場合、例えば第１の実施形態に比べて管理情報ブロックの数が４倍となるため、リンク情報の書き換え頻度をおおよそ１／４に低減することが可能である。
【００８０】
また、第１のリンク情報ブロック２−１−１はアドレスが固定されたシステム領域２−１に配置され、この第１のリンク情報ブロック２−１−１に記憶された管理情報ブロックを検索することができる。このため、管理情報を容易に検索することができるため、記憶装置としてメモリカードの起動を高速化することが可能である。
【００８１】
尚、第３の実施形態において、管理情報ブロックの予約数は、上記例に限定されるものではない。
【００８２】
（第４の実施形態）
図１５は、第４の実施形態を概略的に示している。第４の実施形態は、上記第２の実施形態と第３の実施形態を組み合わせたものであり、管理領域の更新頻度を更に少なくし、リンク情報の更新も少なくする例である。
【００８３】
図１５において、ＮＡＮＤ型フラッシュメモリ２のデータ領域２−２は、コントローラ３により管理情報ブロック群として予約された例えば４つの管理情報ブロック１〜４と、リンク情報を記憶する２つのリンク情報ブロック２Ａ、２Ｂ（以下、リンク情報ブロック群とも言う）を有している。システム領域２−１は、例えば２ブロックにより構成され、予約した２つのリンク情報ブロック２Ａ，２Ｂへのリンク情報は、システム領域２−１内の選択された１つのブロック（リンク情報ブロック）の１ページ内に予め記録されている。リンク情報ブロック２Ａ、２Ｂの位置は、システム領域２−１内の最新のリンク情報により管理されている。
【００８４】
管理情報ブロック群内の複数の管理情報ブロック１〜４の位置は、第３の実施形態と同様に、最新のリンク情報ブロックにより管理されている。管理情報は管理情報ブロック群内で書き込みが行われ、管理情報ブロック群が満杯になると、新たに管理情報ブロック群が予約され、古い管理情報ブロック群は消去される。この新しい管理情報ブロック群へのリンク情報は、リンク情報ブロック群内で更新される。
【００８５】
図１５において、リンク情報ブロック２Ａは満杯な状態であり、リンク情報ブロック２Ｂは空きのある状態を示している。リンク情報ブロック２Ｂも満杯となり、リンク情報ブロック群が満杯になると、データ領域２−２内に新たに、２つのリンク情報ブロックを含むリンク情報ブロック群が予約され、古いリンク情報ブロック群が消去される。この新しいリンク情報ブロック群へのリンク情報は、第３の実施形態と同様の動作により、システム領域２−１内のリンク情報ブロックの１つのページに最新リンク情報Ａ、Ｂとして書き込まれる。
【００８６】
尚、第４の実施形態において、管理情報ブロックとリンク情報ブロックの予約数は、上記例に限定されるものではない。
【００８７】
上記第４の実施形態によれば、複数の管理情報ブロックを含む管理情報ブロック群と複数のリンク情報ブロック含むリンク情報ブロック群をデータ領域２−２内に予約し、リンク情報ブロック群により管理情報ブロック群を管理し、管理情報の更新に伴いリンク情報ブロック群が更新された場合、システム領域２−１内のリンク情報を更新している。このため、システム領域２−１の更新頻度を大幅に低減することができ、記憶装置としてのメモリカードの寿命を延ばすことが可能である。
【００８８】
また、起動時、システム領域２−１に記憶されたリンク情報を検索し、この検索したリンク情報に基づき、データ記憶領域２−２のリンク情報ブロック群を検索し、このリンク情報ブロック群のリンク情報から管理情報ブロックを検索することができる。したがって、管理情報を容易に検索することができるため、起動時間を短縮することが可能である。
【００８９】
尚、本発明は、上記各実施形態に限定されるものではなく、次のような変形実施が可能である。
【００９０】
例えばシステム領域２−１は、リンク情報のみでなく、管理情報の一部を記憶することも可能であり、例えばリンク情報毎に管理情報の一部を付加してもよい。
【００９１】
また、例えば第１の実施形態において、１つのリンク情報を１ページに記憶した。しかし、１ページに限らず、１つのリンク情報を複数ページに記憶してもよい。
【００９２】
さらに、第２の実施形態において、リンク情報は第１、第２のリンク情報ブロックにより管理したが、２つ以上のリンク情報ブロックを用いることも可能である。
【００９３】
また、第３の実施形態において、予約される管理情報ブロックの数は、固定ブロック数であっても、可変ブロック数であってもよい。
【００９４】
さらに、管理情報が更新される毎に行われる管理情報ブロック内の追記は、未使用ページへの書き込みに限らず、使用済み（書き込み済み）ページへ上書きしてもよい。
【００９５】
また、管理情報ブロック、及びリンク情報を格納するブロックは、満杯となった時点で新たなブロックを割り当てたが、これに限らず、満杯になる前に、新しいブロックを割り当ててもよい。
【００９６】
さらに、上記各実施形態では、記憶装置として、メモリカードに適用した場合について説明したが、これに限定されるものではなく、他の記憶装置に適用可能なことは言うまでもない。
【００９７】
その他、本発明の要旨を変更しない範囲において種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【００９８】
【図１】第１の実施形態に係る記憶装置の管理方法を概略的に示す図。
【図２】本発明の各実施形態に適用される記憶装置としてのメモリカードを概略的に示す図。
【図３】ＮＡＮＤ型フラッシュメモリの構成を概略的に示す図。
【図４】第１の実施形態に係るシステム領域の一例を示す図。
【図５】第１の実施形態に係る管理情報ブロックの一例を示す図。
【図６】第１の実施形態に係る管理情報ブロックの検索動作の一例を示すフローチャート。
【図７】第１の実施形態に係る管理情報を取得する動作を示すフローチャート。
【図８】第１の実施形態に係る管理情報を更新する場合の動作を示すフローチャート。
【図９】第１の実施形態に係る記憶装置の管理方法を概略的に示す図。
【図１０】第２の実施形態に係る管理情報ブロックの検索動作の一例を示すフローチャート。
【図１１】第２の実施形態に係る管理情報を更新する場合の動作を示すフローチャート。
【図１２】第３の実施形態に係る記憶装置の管理方法を概略的に示す図。
【図１３】第３の実施形態に係る管理情報ブロックの位置検索動作を示すフローチャート。
【図１４】第３の実施形態に係る管理情報更新の動作を示すフローチャート。
【図１５】第４の実施形態に係る記憶装置の管理方法を概略的に示す図。
【符号の説明】
【００９９】
１…メモリカード、２…ＮＡＮＤ型フラッシュメモリ、３…コントローラ、２−１、システム領域、２−２…データ領域、２−３…管理情報ブロック、２−１−１…第１のリンク情報ブロック（又はリンク情報ブロック）、２−４…第２のリンク情報ブロック。
【図１】
2008009636.tif 000003
【図２】
2008009636.tif 000004
【図３】
2008009636.tif 000005
【図４】
2008009636.tif 000006
【図５】
2008009636.tif 000007
【図６】
2008009636.tif 000008
【図７】
2008009636.tif 000009
【図８】
2008009636.tif 000010
【図９】
2008009636.tif 000011
【図１０】
2008009636.tif 000012
【図１１】
2008009636.tif 000013
【図１２】
2008009636.tif 000014
【図１３】
2008009636.tif 000015
【図１４】
2008009636.tif 000016
【図１５】
2008009636.tif 000017