JP2002175211A - データ管理システムおよびデータ管理方法 - Google Patents

データ管理システムおよびデータ管理方法

Info

Publication number
JP2002175211A
JP2002175211A JP2000373609A JP2000373609A JP2002175211A JP 2002175211 A JP2002175211 A JP 2002175211A JP 2000373609 A JP2000373609 A JP 2000373609A JP 2000373609 A JP2000373609 A JP 2000373609A JP 2002175211 A JP2002175211 A JP 2002175211A
Authority
JP
Japan
Prior art keywords
data
information
sector
link information
management system
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
JP2000373609A
Other languages
English (en)
Inventor
Nobuaki Tomori
宣昭 戸森
Katsumi Fukumoto
克巳 福本
Kazuhiro Okamoto
一宏 岡本
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 JP2000373609A priority Critical patent/JP2002175211A/ja
Priority to US10/010,796 priority patent/US6865658B2/en
Publication of JP2002175211A publication Critical patent/JP2002175211A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Abstract

(57)【要約】 【課題】セクタ毎に分割したデータをデータリンク情報
と共に、データ格納領域へ分散して格納することによ
り、データ格納領域をより有効に利用する。 【解決手段】データを格納可能な複数のブロックによっ
て構成され、かつブロックの単位でデータを消去可能と
するフラッシュメモリ部1002に格納されるデータを
管理するデータ管理システム制御部1005を備え、こ
のデータ管理システム制御部1005は、論理的なデー
タ管理単位であるセクタにデータを分散させるためのデ
ータ間の順序関係を示すデータリンク情報を、不揮性半
導体記憶部に対して、セクタ毎に分散した各データと共
に格納するように制御し、データリンク情報として、セ
クタ毎に分散した各データ直前および直後のデータ格納
場所に関する情報を格納するように制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不揮発性メモリを
データ記憶媒体として使用する情報処理装置およびその
拡張記憶装置、より具体的には、ハンドヘルドコンピュ
ータ、電子手帳、携帯電話およびメモリカードリーダな
どに使用されるデータリンク構造を持つデータ管理シス
テムおよび、これを用いたデータ管理方法に関する。
【0002】
【従来の技術】従来から多くのパーソナルコンピュータ
におけるデータ記憶装置として、ハード磁気ディスクド
ライブが使用されている。このハード磁気ディスクドラ
イブの特徴および利点は、データの記憶が不揮発性であ
ること、データの読み出しと書き換えをセクタ単位(例
えば、512バイト)で行い、データの上書きが可能で
あることである。一方、このディスクドライブの欠点
は、物理的なサイズが大きいこと、相対的に消費電力が
大きいこと、振動や衝撃に弱いことである。
【0003】このディスクドライブに対して、フラッシ
ュメモリからなる半導体メモリの利点は、小型で振動や
衝撃に強いこと、相対的に消費電力が著しく小さいこと
である。一方、フラッシュメモリからなる半導体メモリ
の欠点は、データの読み出しと書き込みは、1バイト
(ワード)単位であること、データの書き換えには、一旦
データ消去動作(通常64キロバイト)が必要で、データ
の上書きが不可能であること、ブロック消去回数が有限
(通常10万回まで)であることである。
【0004】フラッシュメモリは、電気的にデータの書
き込みと消去が可能であり、書き込まれたデータは、消
去(通常64キロバイト)されるまでの間、不揮発性保
持される。この消去動作は、ブロック単位(通常64キ
ロバイト)で行われ、ディスクドライブにおけるデータ
書き換え単位(例えば、512バイト)と比較した場
合、フラッシュメモリでは、著しく大きなデータ書き換
え単位となっている。
【0005】なお、フラッシュメモリの消去動作とは、
通常フローティングゲートから電子を引き抜き、その結
果、メモリセルの閾値が低く(約3V以下)なることを
言う。また、フラッシュメモリの書き込み動作とは、通
常、フローティングゲートへ電子を注入し、その結果、
メモリセルの閾値が高く(約5.5V以上)なることを
言う。
【0006】フラッシュメモリは、1バイト(ワード)の
書き込み時間が、約20マイクロ秒程度であるのに対し
て、消去時間(通常64キロバイト)が、約1秒程度と著
しく遅く、消去の保証回数が有限(通常10万回まで)
であるという欠点がある。このため、1セクタ(例えば
512バイト)のデータ書き換え毎に、消去動作(通常
54キロバイト)が行われる場合、データ書き換え時間
(消去時間と書き込み時間の和)として、1秒以上要す
ることになり、このディスクドライブのデータ書き換え
時間と比較して、著しく遅いものとなっている。
【0007】動作時間の長いデータ消去をなるべく行わ
ず、効率良くデータを管理するための仕組み、つまりフ
ラッシュメモリに対応したファイルシステムに関する技
術として、例えば、特開平6−202821号公報や、
特開平9−97139号公報が提案されている。
【0008】特開平6−202821号公報では、複数
のフラッシュメモリを用いて固体メモリディスクを実現
するために、各フラッシュメモリの消去ブロックは、デ
ータのセクタを記憶するデータスペース、およびブロッ
ク・セクタ変換テーブルとを含む。このブロック・セク
タ変換テーブルは、ブロックのデータスペースに記憶さ
れている各データのセクタを、セクタ番号によって識別
する方法を取っている。
【0009】また、特開平9−97139号公報では、
フラッシュメモリを用いてファイルシステムを実現する
ため、データ領域と、このデータ領域に対応する管理領
域とで構成される複数の記憶ブロックを、フラッシュメ
モリに形成し、各記憶ブロックにおいて、データ領域の
記憶状態を示す状態情報を管理領域へ格納し、この状態
情報に基づいてデータ領域へのアクセスを管理する手段
と、指定された記憶ブロックについて、この記憶ブロッ
クの管理領域に格納されている状態情報を、データ領域
が無効であることを示す情報に更新することにより、こ
のデータ領域を廃棄する手段とを備えている。
【0010】また、データのリンク構造に関する技術と
して、例えば、特開平1−251230号公報や、特開
平7−44451号公報が提案されている。ここで、デ
ータのリンク構造とは、主にデータの配列順序のような
記憶媒体上に分散されたデータ間の格納場所に関する情
報を、そのデータ自体が持つ構造であり、各データが論
理的にチェーン状に関連付けられる構造である。以下、
このデータ間の格納場所に関する情報をデータリンク情
報という。
【0011】特開平1−251230号公報には、デー
タを複数のブロックに分割して格納し、各ブロックに
は、前のブロックを指す前方リンク情報、および後のブ
ロックを指す後方リンク情報を格納する手段と、最初の
ブロックの前方リンク情報は、最後のブロックを指すよ
うに制御し、最後のブロックの後方リンク情報は、最初
のブロックを指すように制御する手段とを備えたプログ
ラム変換システムが記載されている。
【0012】また、特開平7−44451号公報には、
複数のデータ記憶領域それぞれに対してデータと共にそ
の前後のデータの格納アドレスデータを記憶するデータ
記憶手段と、この格納アドレスデータに従った順序で順
次読み出す第1の読み出し手段と、次のデータの格納ア
ドレスが不良となり、次のデータが読み出せなくなった
場合には、記憶されているデータを予め定められた順に
読み出して表示する第2の読み出し手段とを備えたデー
タ記憶装置が記載されている。
【0013】以下、図13〜図16を用いて、データ管
理の仕組みについて詳細に説明する。
【0014】物理的なデータ消去単位(消去ブロックと
いう。例えば64キロバイト;図13の外枠実線部内)
に対して、十分に小さい仮想的なデータ消去単位でデー
タ管理を行う場合、通常は、消去ブロック(64キロバ
イト)を、仮想的に分割(セクタという。例えば512バ
イト;図13の各点線部内)する。
【0015】このセクタには、データだけでなく、書き
込んだデータを識別するためのアドレス番号、および書
き込み状態(「データ有効」、「データ無効」および
「未使用」の3種類)を示すフラグなどを格納する(図
14)。
【0016】データの書き込みは、セクタ単位で行い、
書き込み状態を示すフラグを、「未使用」から「データ
有効」へ更新する。データの書き換え(更新)またはデ
ータの削除は、更新前のデータまたは削除するデータに
対して、物理的な消去動作を実際に行わず、セクタのフ
ラグだけを、「データ有効」から「データ無効」へ更新
するのみで、データ全体の有効/無効を表現することが
できる(図15)。
【0017】上記データの書き換えを複数回行うと、同
一のアドレス番号を有する論理セクタ(前述のアドレス
番号や状態情報で管理されるセクタ)は、複数存在する
可能性がある。しかし、このとき、データ有効を示すフ
ラグを有する論理セクタは、常に1個である。データの
読み出しでは、アドレス番号、および有効フラグを条件
に、論理セクタを順次検索して、最新のデータを特定す
ればよい。
【0018】データの書き換えは、実際は、未使用セク
タヘの書き込みであり、元のデータは、見かけ上削除
(フラグが無効化)されているが、物理的にはメモリ領域
に存在している。消去ブロックの容量を全て使用後、更
にデータの書き込み/更新を行うためには、消去ブロッ
クに対して無効なデータが格納されているセクタを利用
可能な状態に再生するための消去動作が必要となる。こ
の消去動作を、再構築(リクレイム)と呼ぶ。
【0019】この再構築を行うためには、予め予備の消
去ブロックを、1個用意しておく必要がある。再構築で
は、予備の消去ブロックヘ、フラグが有効であるセクタ
のみをセクタ毎に複写し(図16)、複写元の消去ブロ
ック(図16の上側図の消去ブロック)の内容を消去す
る。このとき、データの再配置(図16の下側図)を行
うことで、未使用セクタをひとかたまりにすることがで
きる。予備の消去ブロックは、データ管理に使用する消
去ブロックの個数に関わらず、1個確保すればよいが、
必ず他の消去ブロックと同じ物理容量でなければならな
いという制約がある。
【0020】図17は、従来のデータ格納状態を説明す
る図である。図17に示すように、各データには、シス
テム内において唯一なID(Identification)番号、
「データ有効」または「データ無効」を表す状態情報、
およびデータサイズのなどの格納データに関する情報
(ヘッダ情報)、それに続いてデータ本体を、物理的に連
続したアドレス領域に格納する。
【0021】図18は、従来のデータ格納状態に関する
別の例を説明する図である。図18に示すように、各デ
ータには、システム内において唯一なID番号、「デー
タ有効」または「データ無効」を表す状態情報、データ
サイズ、およびデータ本体を格納する先頭アドレス(リ
ンク情報)の格納データに関する情報(ヘッダ情報)を格
納する。データ本体は、ヘッダ情報を格納したアドレス
領域とは物理的に連続していない。つまり、データ本体
は、上記ヘッダ情報に格納した先頭アドレスから物理的
に連続したアドレス領域に格納する。この格納方法で
は、ヘッダ情報とデータ本体を分離して、各データのヘ
ッダ領域のみをまとめて管理するため、目的のデータを
検索(ID番号を検索)する領域が小さくなり、データ
読み出し時においてデータ処理が高速化されるという利
点がある。
【0022】以下、図19〜図29を用いて、従来のデ
ータ管理手法について詳細に説明する。
【0023】図19は、本発明者の一人が以前に発明
し、特願平11−254973号公報に開示されている
従来のフラッシュメモリを用いたファイルシステムの構
成を示すブロック図である。図19において、フラッシ
ュメモリファイルシステム1は、ファイルシステム制御
部2と、ファイルシステムメモリ部3と、フラッシュメ
モリ制御部4と、フラッシュメモリ部5と、アプリケー
ションまたはオペレーティングシステム(OS)6とを
有している。
【0024】ファイルシステム制御部2は、ファイルシ
ステム1の処理を制御するものである。
【0025】ファイルシステムメモリ部3は、ファイル
システム1が用いるデータ管理情報を格納するために使
用するものである。
【0026】フラッシュメモリ制御部4は、フラッシュ
メモリ部5へのデータ処理(例えばデータ書き込み処理
やデータ読み出し処理など)を制御するものである。
【0027】フラッシュメモリ部5は、データを記憶す
るための記憶手段である。
【0028】アプリケーションまたはオペレーティング
システム(OS)6は、ファイルシステム1ヘデータの
処理を依頼するためのプログラムである。
【0029】図20は、図19におけるフラッシュメモ
リ部5に格納されているデータの構成図である。図20
に示すように、フラッシュメモリ部5の各消去ブロック
51は、データの取り扱い単位である複数の物理セクタ
52に分割されて配置されており、各消去ブロック51
内で一意の物理セクタ番号を有する。各消去ブロック5
1のサイズが64キロバイトで、各物理セクタ52のサ
イズが512バイトである場合、各消去ブロック51に
は128個の物理セクタ52が存在することになる。即
ち、例えば物理ブロック♯0には、制御情報領域のブロ
ックコントロールセクタ52aと、データ領域の物理セ
クタ♯1〜♯127が存在する。
【0030】ここで、フラッシュメモリ部5内の複数の
消去ブロック51のうち、任意の1個の消去ブロック5
1をファイルシステム1の再構築用に用いられるデータ
未書き込みの予備消去ブロックとして予め確保しておく
と共に、各消去ブロック51の先頭の物理セクタ52
を、それぞれの消去ブロック51の制御情報を格納する
ブロックコントロールセクタ52a(物理セクタ♯0に
割り当てる)として予め確保しておく。
【0031】消去ブロック51において、ブロックコン
トロールセクタ52aには、先頭から消去ブロック51
の状態情報としての2バイト、セクタ♯1の物理セクタ
52の状態情報としての2バイト、セクタ♯2からセク
タ♯127の各物理セクタ52の状態情報としてのそれ
ぞれ2バイトが順次配列され、よって、2バイト×12
8個=256バイトの情報を有している。
【0032】消去ブロック51の状態情報は、各物理ブ
ロック(サイズが64Kバイト)に対し、ファイルシステ
ム制御部2が割り当てを行う0〜255の論理ブロック
番号、および5種類のブロック状態の何れかを表すデー
タからなる。5種類のブロック状態とは、(1)「未使
用」を表す11111111b(bは2進数を表す。以
下同様)、(2)「データ転送中」を表す111111
10b、(3)「元ブロック消去中」を表す111111
00b、(4)「データ有」を表す11111000b、
(5)「ブロックフル」を表す11110000bであ
る。
【0033】消去ブロック51の各物理セクタ52の状
態情報は、消去ブロック51の状態情報と同様に、ファ
イルシステム制御部2が割り当てを行う0〜4095の
システム内で一意の論理セクタ番号(12ビット)、お
よび5種類のセクタ状態(4ビット)の何れかを表すデ
ータからなる。5種類のセクタ状態とは、(I)「未使
用」を表す1111b、(II)「データ書き込み中」を
表す1110b、(III)「データ書き込み完了」を
表す1100b、(IV)「データ有効」を表す100
0b、(V)「データ無効」を表す0000bである。
【0034】図21は、図19におけるファイルシステ
ムメモリ部3に格納されている各消去ブロック51に関
するデータの構成図(以下、ブロック情報表10とい
う)である。図21において、物理ブロック番号、論理
ブロック番号およびブロック状態を一つの情報単位とし
ており、例えば、物理ブロック番号=0、論理ブロック
番号=0、ブロック状態=データ有となっている消去ブ
ロック51が存在し、また、物理ブロック番号=1、論
理ブロック番号=1、ブロック状態=ブロックフル(ま
たはデータフル)となっている消去ブロック51などが
存在していることを示している。
【0035】図22は、図19におけるファイルシステ
ムメモリ部3に格納されている各物理セクタ52に関す
るデータの構成図(以下、セクタ情報表11という)であ
る。
【0036】図22において、物理ブロック番号、物理
セクタ番号、論理セクタ番号およびセクタ状態を一つの
情報単位としており、例えば、物理ブロック番号=0、
物理セクタ番号=1、論理セクタ番号=100、セクタ
状態=データ有効となっている物理セクタ52が存在
し、また、物理ブロック番号=0、物理セクタ番号=
2、論理セクタ番号=10、セクタ状態=データ無効と
なっている物理セクタ52などが存在することを示して
いる。
【0037】図23は、図19におけるファイルシステ
ムメモリ部3にデータが格納されている消去ブロック5
1毎に、各物理セクタ52の数をそれぞれのセクタ状態
に応じて整理したデータの構成図(以下、セクタ情報表
12という)である。
【0038】図23において、物理ブロック番号、未使
用セクタ数、データ有効セクタ数、およびデータ無効セ
クタ数を一つの情報単位としており、例えば、物理ブロ
ック番号=0、未使用セクタ数=100、データ有効セ
クタ数=20、データ無効セクタ数=7となっている消
去ブロック51が存在し、また、物理ブロック番号=
1、未使用セクタ数=0、データ有効セクタ数=50、
データ無効セクタ数=77となっている消去ブロック5
1などが存在することを示している。
【0039】図21のブロック情報表10、図22のセ
クタ情報表11、および図23のセクタ情報表12は、
ファイルシステム1が起動する段階において、ファイル
システム制御部2がフラッシュメモリ制御部4を介して
フラッシュメモリ部5から各消去ブロック51のブロッ
クコントロールセクタ52aを読み出すことによってそ
れぞれ作成される。
【0040】これらのブロック情報表10、セクタ情報
表11およびセクタ情報表12を作成しない場合におい
ても、これらの表が各消去ブロック51のブロックコン
トロールセクタ52aに格納されているため、ファイル
システム1を使用することは可能である。しかし、ファ
イルシステムメモリ部3を例えばRAMで構成すると、
動作速度がフラッシュメモリ部5より高速なため、ファ
イルシステムメモリ部3にブロック情報表10、セクタ
情報表11およびセクタ情報表12を作成しておく方
が、フラッシュメモリ部5の内部状態やデータの格納場
所を高速に把握することができる。また、フラッシュメ
モリ部5とのデータのやり取りが減るので、ファイルシ
ステムメモリ部3を利用した方が、ファイルシステム1
の動作速度を高速にする上で非常に有効である。 (データの読み出し処理)図24は、従来技術における
フラッシュメモリ部5に格納されたデータの読み出し処
理に関するフローチャートである。
【0041】図24に示すように、まず、アプリケーシ
ョンまたはオペレーティングシステム6において、フラ
ッシュメモリ部5からのデータの読み出し要求が発生し
た場合、この読み出し要求と共に論理セクタ番号がアプ
リケーションまたはオペレーティングシステム6からフ
ァイルシステム制御部2に与えられる。
【0042】ファイルシステム制御部2は、ファイルシ
ステムメモリ部3内のセクタ情報表11をアクセスし
て、与えられた論理セクタ番号を検索し、この論理セク
タ番号に対応するセクタ状態が「データ有効」となって
いることを確認し、この論理セクタ番号に対応する物理
セクタ番号を取得し、この物理セクタ番号をフラッシュ
メモリ制御部4に与える(ステップ121)。
【0043】次に、フラッシュメモリ制御部4は、この
物理セクタ番号に基いてフラッシュメモリ部5をアクセ
スし、この物理セクタ番号に該当する物理的な格納場所
のセクタ読み出しを行い、読み出したデータをファイル
システム制御部2に与える(ステップ122)。
【0044】さらに、読み出すべき残りのデータがある
場合は、ステップ121へ戻り(ステップ123;YE
S)、読み出すべき残りのデータがない場合は、データ
の読み出し処理を終了する(ステップ123;NO)。 (データの書き込み処理)図25〜図27は、従来技術
におけるフラッシュメモリ部5へのデータの書き込み処
理に関するフローチャートである。
【0045】図25に示すように、まず、アプリケーシ
ョンまたはオペレーティングシステム6において、フラ
ッシュメモリ部5へのデータの書き込み要求が発生した
場合、この書き込み要求と共に論理セクタ番号、および
書き込むべきデータが、アプリケーションまたはオペレ
ーティングシステム6からファイルシステム制御部2に
与えられる。
【0046】ファイルシステム制御部2は、ファイルシ
ステムメモリ部3内のセクタ情報表12をアクセスし
て、未使用セクタ数が最も多い物理ブロック番号(書き
込み可能な消去ブロック51を示す)を取得する(ステッ
プ131)と共に、取得できたかどうかの確認も行う
(ステップ132)。この物理ブロック番号が取得でき
なかった場合(ステップ132;NO)は、書き込み可
能な消去ブロック51を確保するために、後述するファ
イルシステム1の再構築を行う(ステップ133)。
【0047】また、未使用セクタ数が最も多い物理ブロ
ック番号を取得できれば(ステップ132;YES)、フ
ァイルシステム制御部2は、セクタ情報表11をアクセ
スして、ステップ131またはステップ133において
取得した物理ブロック番号に対応する各物理セクタ番号
のうちからセクタ状態が「未使用」となっている物理セ
クタ番号を取得し、さらにセクタ情報表12をアクセス
して、この物理ブロック番号に対応する未使用セクタ数
を−1とし、データ有効セクタ数を+1とする(ステップ
134)。
【0048】この後、ファイルシステム制御部2は、ブ
ロック情報表10をアクセスして、ステップ131また
はステップ133において取得した物理ブロック番号に
対応するブロック状態が「未使用」であるかどうかの確
認を行い(ステップ135)、ブロック状態が「未使用」
であれば(ステップ135;YES)、フラッシュメモリ
制御部4を通じてフラッシュメモリ部5をアクセスし、
その物理ブロック番号に対応する消去ブロック51のブ
ロックコントロールセクタ52aの論理ブロック番号
を、この物理ブロック番号に更新し、ブロックコントロ
ールセクタ52aのブロック状態を「未使用」から「デ
ータ有」へ更新する。同様に、ブロック情報表10をア
クセスし、ステップ131またはステップ133におい
て取得した物理ブロック番号に対応する論理ブロック番
号を、この物理ブロック番号に更新し、ブロック状態を
「未使用」から「データ有」へ更新し(ステップ13
6)、次のステップ137に移る。ブロック状態が「未
使用」でなければ(ステップ135;NO)、ステップ
136をジャンプして図26のステップ137に移る。
【0049】次に、図26に示すように、ファイルシス
テム制御部2は、セクタ状態表12をアクセスし、ステ
ップ131またはステップ133において取得した物理
ブロック番号に対応する未使用セクタ数が0かどうかの
確認を行い(ステップ137)、未使用セクタ数が0で
あれば(ステップ137;YES)、フラッシュメモリ
制御部4を通じてフラッシュメモリ部5をアクセスし、
その物理ブロック番号に対応する消去ブロック51のブ
ロックコントロールセクタ52aのブロック状態を「デ
ータ有」から「ブロックフル」へ更新する。同様に、ブ
ロック情報表10をアクセスし、ステップ131または
ステップ133において取得した物理ブロック番号に対
応するブロック状態も「データ有」から「ブロックフ
ル」へ更新する(ステップ138)。
【0050】さらに、ファイルシステム制御部2は、フ
ラッシュメモリ制御部4を通じてフラッシュメモリ部5
をアクセスし、ステップ131またはステップ133に
おいて取得した物理ブロック番号、並びにステップ13
4において取得した物理セタ番号に対応する消去ブロッ
ク51のブロックコントロールセクタ52aの論理セク
タ番号に、ファイルシステム制御部2に与えられた論理
セクタ番号を書き込み、このセクタ52のセクタ状態を
「未使用」から「データ書き込み中」へ更新する。同様
に、セクタ情報表11をアクセスし、ステップ131ま
たはステップ133において取得した物理ブロック番号
並びにステップ134において取得した物理セクタ番号
に対応する論理セクタ番号を、ファイルシステム制御部
2に与えられた論理セクタ番号に更新し、セクタ状態を
「未使用」から「データ書き込み中」へ更新する(ステ
ップ139)。
【0051】この後、ファイルシステム制御部2は、フ
ラッシュメモリ制御部4を通じてフラッシュメモリ部5
をアクセスし、ステップ131またはステップ133に
おいて取得した物理ブロック番号並びにステップ134
において取得した物理セクタ番号に対応するセクタ52
に、ファイルシステム制御部2に与えられたデータを書
き込む(ステップ140)。
【0052】ファイルシステム制御部2は、フラッシュ
メモリ部5内のセクタ52への書き込み終了後、ステッ
プ131またはステップ133において取得した物理ブ
ロック番号並びにステップ134において取得した物理
セクタ番号に対応する消去ブロック51のブロックコン
トロールセクタ52aのセクタ状態を「データ書き込み
中」から[データ書き込み完了」へ更新する。同様に、
セクタ情報表11をアクセスし、ステップ131または
ステップ133において取得した物理ブロック番号並び
にステップ134において取得した物理セクタ番号に対
応するセクタ状態を「データ書き込み中」から「データ
書き込み完了」へ更新する(ステップ141)。
【0053】ファイルシステム制御部2は、フラッシュ
メモリ部5内のセクタ52に書き込んだデータが、既に
フラッシュメモリ部5に書き込まれていたデータの更新
データであるかどうかの確認を行う(ステップ14
2)。
【0054】既存データの更新であれば(ステップ14
2;YES)、図27に示すように、ファイルシステム
制御部2は、セクタ情報表11をアクセスして、ステッ
プ140において書き込みを実行したセクタ52の論理
セクタ番号と同じ論理セクタ番号を有し、かつステップ
140において書き込みを実行したセクタ52の物理セ
クタ番号とは異なる他のセクタ52の物理ブロック番
号、および物理セクタ番号、つまり既存のデータが格納
されたセクタ52の物理ブロック番号、および物理セク
タ番号を取得する(ステップ143)。
【0055】ファイルシステム制御部2は、フラッシュ
メモリ制御部4を通じてフラッシュメモリ部5をアクセ
スし、これらの物理ブロック番号並びに物理セクタ番号
に対応する消去ブロック51のブロックコントロールセ
クタ52aのセクタ状態を「データ有効」から「データ
無効」へ更新する。同様に、セクタ情報表11をアクセ
スし、これらの物理ブロック番号並びに物理セクタ番号
に対応するセクタ状態を「データ有効」から「データ無
効」へ更新する。さらに、セクタ情報表12をアクセス
し、この物理ブロック番号に対応するデータ有効セクタ
数を−1とし、データ無効セクタ数を+1とする(ステッ
プ144)。
【0056】この後、ファイルシステム制御部2は、フ
ラッシュメモリ制御部4を通じてフラッシュメモリ部5
をアクセスし、ステップ143において取得した物理ブ
ロック番号並びに物理セクタ番号に対応する消去ブロッ
ク51のブロックコントロールセクタ52aのセクタ状
態を「データ書き込み完了」から「データ有効」へ更新
する。同様に、セクタ情報表11をアクセスし、これら
の物理ブロック番号並びに物理セクタ番号に対応するセ
クタ状態も「データ書き込み完了」から「データ有効」
へ更新する(ステップ145)。
【0057】引き続いて、ファイルシステム制御部2
は、書き込みデータがまだ残っているかどうかの確認を
行い(ステップ146)、書き込みデータがまだ残って
いる場合(ステップ146;YES)は、ステップ131
へ戻り、書き込みデータがなくなれば(ステップ14
6;NO)、このデータの書き込み処理を終了する。 (再構築処理)図28および図29は、図25のファイ
ルシステム1の再構築処理(ステップ133)に関する
フローチャートである。
【0058】図28に示すように、まず、ファイルシス
テム制御部2は、前述したステップ132でNOの場合
に、セクタ情報表12をアクセスし、データ無効セクタ
数が最も多い物理ブロック番号を取得し、さらに、ブロ
ック情報表10をアクセスし、取得した物理ブロック番
号に対応する論理ブロック番号を取得する(ステップ1
51)。
【0059】ファイルシステム制御部2は、フラッシュ
メモリ制御部4を通じてフラッシュメモリ部5をアクセ
スし、ファイルシステム1の再構築処理用に予め未使用
状態で確保しておいた予備消去ブロック51のブロック
コントロールセクタ52aの論理ブロック番号を、ステ
ップ151において取得した論理ブロック番号へ更新
し、このブロックコントロールセクタ52aのブロック
状態を「未使用」から「データ転送中」へ更新する。同
様に、ブロック情報表10をアクセスし、予備消去ブロ
ック51の論理ブロック番号を、ステップ151におい
て取得した論理ブロック番号へ更新し、ブロック状態を
「未使用」から「データ転送中」へ更新する(ステップ
152)。
【0060】次に、ファイルシステム制御部2は、デー
タを、ステップ151において取得した物理ブロック番
号の消去ブロック51から予備消去ブロック51へ効率
良くコピーするために、セクタ情報表11をアクセス
し、ステップ151において取得した物理ブロック番号
に対応する各物理セクタ番号のうちから、セクタ状態が
「データ有効」である物理セクタ番号を検索して取得す
る(ステップ153)。
【0061】セクタ状態が「データ有効」のセクタ52
があれば(ステップ154;YES)、ファイルシステム
制御部2は、フラッシュメモリ制御部4を通じてフラッ
シュメモリ部5をアクセスし、ステップ151において
取得した物理ブロック番号並びにステップ153におい
て取得した物理セクタ番号に対応する消去ブロック51
のブロックコントロールセクタ52aのセクタ状態「デ
ータ有効」を予備消去ブロック51の同じ物理セクタ番
号に対応するブロックコントロールセクタ52aのセク
タ状態にコピーする。同様に、ファイルシステム制御部
2は、セクタ情報表11をアクセスし、ステップ151
において取得した物理ブロック番号並びにステップ15
3において取得した物理セクタ番号のセクタ状態「デー
タ有効」を、予備消去ブロック51の同じ物理セクタ番
号のセクタ状態にコピーする。同時に、ファイルシステ
ム制御部2は、フラッシュメモリ制御部4を通じてフラ
ッシュメモリ部5をアクセスし、ステップ151におい
て取得した物理ブロック番号並びにステップ153にお
いて取得した物理セクタ番号に対応する消去ブロック5
1のセクタ52から予備消去ブロック51の同じ物理セ
クタ番号のセクタ52ヘデータをコピーする(ステップ
155)。
【0062】ファイルシステム制御部2は、ステップ1
51において取得した物理ブロック番号の消去ブロック
51に、未処理のセクタ52があるかどうか確認を行う
(ステップ156)。未処理のセクタ52がある場合(ス
テップ156;YES)は、ステップ153へ戻る。未
処理のセクタ52がない場合(ステップ156;NO)
は、データがコピー完了する。
【0063】この後、図29に示すように、ファイルシ
ステム制御部2は、セクタ情報表12をアクセスし、ス
テップ151において取得した物理ブロック番号に対応
するデータ有効セクタ数を、予備消去ブロック51のデ
ータ有効セクタ数ヘコピーし、また、データ無効セクタ
数を0とし、データ有効セクタ数とデータ無効セクタ数
と未使用セクタ数の和が総セクタ数(127)となるよう
に、未使用セクタ数を計算して設定する(ステップ15
7)。
【0064】次に、ファイルシステム制御部2は、フラ
ッシュメモリ制御部4を通じてフラッシュメモリ部5を
アクセスし、予備消去ブロック51のブロックコントロ
ールセクタ52aのブロック状態を「データ転送中」か
ら「元ブロック消去中」へ更新する(ステップ158)。
【0065】さらに、ステップ151において取得した
物理ブロック番号の消去ブロック51のデータを消去す
る(ステップ159)。さらに、予備消去ブロック51
のブロックコントロールセクタ52aのブロック状態を
「元ブロック消去中」から「データ有」へ更新する。
【0066】同様に、ファイルシステム制御部2は、ブ
ロック情報表10をアクセスし、予備消去ブロック51
のブロック状態を「データ転送中」から「元ブロック消
去中」へ更新し(ステップ158)、ステップ159の
データ消去を経た後に、予備消去ブロック51のブロッ
ク状態を「元ブロック消去中」から「データ有」へ更新
する。
【0067】これによって、ステップ151において取
得した物理ブロック番号の消去ブロック51、つまりデ
ータを消去した消去ブロック51が、新しい予備消去ブ
ロック51として確保される(ステップ160)。
【0068】ここで、ステップ159において,データ
を消去した消去ブロック51のブロックコントロールセ
クタ52aのブロック状態は、データ消去により自動的
に「データ有」または「データフル」から「未使用」と
なる。また、ブロック情報表10およびセクタ情報表1
1,12では、ステップ159においてデータを消去し
た消去ブロック51が予備消去ブロック51となり、フ
ラッシュメモリ部5へのデータの書き込みにおいて予備
消去ブロック51が参照されることはないため、この予
備消去ブロック51の物理ブロック番号に対応する項目
の更新は不要である。
【0069】
【発明が解決しようとする課題】上記従来のデータ管理
システムでは、一連のデータを消去ブロック(サイズは
一般に64Kバイトまたは8Kバイト)内の連続した空
きアドレス領域に格納する場合に、これを複数の消去ブ
ロックに亘って格納することができない場合があった。
例えば、5Kバイトのデータを格納する際に、各消去ブ
ロックの空きサイズが5Kバイト未満である場合、各消
去ブロックの物理的に連続しない空きサイズを合計する
と5Kバイト以上の空き領域があったとしても、データ
を格納できなかった。また、消去ブロックサイズが64
Kバイトである場合、これ以上のサイズのデータは格納
することができなかった。
【0070】これに対して、消去ブロックサイズより大
きいデータを複数の消去ブロックに分散して格納する方
法として、各データに対して、一つ前および一つ後のデ
ータ格納場所に関する情報をリンク情報として付加し、
このリンク情報を順に仙っていくことにより、消去ブロ
ックサイズよりも大きいデータを複数の消去ブロックに
亘って格納する。この場合、データの取扱い単位として
ブロックを用いると、ブロックのサイズに比較して小さ
なデータを多く扱う場合には、格納されるデータが存在
しない無駄な空き領域がブロック内に大量に発生し、記
憶領域の利用効率が著しく低下する。このため、フラッ
シュメモリを、このディスクドライブの代替として用い
るためには、上記フラッシュメモリの欠点を踏まえ、か
つデータの取り扱い単位を、このディスクドライブ程度
(数百バイト)に小さくする必要がある。
【0071】本発明は、上記従来の問題を解決するもの
で、セクタ毎に分割したデータをデータリンク情報と共
に、データ格納領域へセクタ毎に分散して格納すること
により、データ格納領域をより有効に利用することがで
きるデータ管理システムおよびデータ管理方法を提供す
ることを目的とする。
【0072】
【課題を解決するための手段】本発明のデータ管理シス
テムは、データを格納可能な複数のブロックによって構
成され、かつ該ブロックの単位でデータを消去可能とす
る不揮発性半導体記憶部と、この不揮発性半導体記憶部
の記憶動作を制御する記憶制御部と、不揮発性半導体記
憶部に格納されるデータを処理するデータ管理システム
制御部と、このデータ管理システム制御部が参照する管
理データを格納するデータ管理システムメモリ部とを備
え、データ管理システム制御部は、論理的なデータ管理
単位であるセクタ毎にデータを分割し、この分割したデ
ータ間の順序関係を示すデータリンク情報を、セクタ毎
に分散した各データと共に、該記憶制御部を介して不揮
性半導体記憶部に格納し、データリンク情報として、セ
クタ毎に分散した各データ直前および直後のデータ格納
場所に関する情報を格納することによりデータを管理す
るものであり、そのことにより上記目的が達成される。
また、本発明のデータ管理方法は、論理的なデータ管理
単位であるセクタにデータを分散させるためのデータ間
の順序関係を示すと共に、セクタ毎に分散した各データ
直前および直後のデータ格納場所に関する情報を持つデ
ータリンク情報を、不揮性半導体記憶部に対して、セク
タ毎に分散した各データと共に格納するステップを有す
るものであり、そのことにより上記目的が達成される。
【0073】この構成により、格納するデータを一定の
小さなサイズに切り分け、それぞれに現在の分散データ
に対する一つ前及び一つ後のデータ格納場所に関する情
報を有するデータリンク情報を付加して相互に関連付け
ることによって、物理的に連続した空きアドレス領域の
制約を受けることなく、任意のサイズのデータをデータ
記憶領域全体に渡って効率的に格納することが可能とな
る。よって、空きアドレス領域が存在するにもかかわら
ず、データを格納することができないという従来の課題
を解決することが可能となる。
【0074】また、好ましくは、本発明のデータ管理シ
ステムにおけるデータリンク情報は、データ管理システ
ム制御部が、ブロックに対して論理的な管理のために割
り当てる番号情報を有する。この番号情報は、好ましく
は、少なくとも論理ブロック番号および論理セクタ番号
を含む。
【0075】この構成により、データのリンク情報とし
て、論理ブロック番号および論理セクタ番号のように論
理的な番号を用いることによって、データの物理的な位
置が変更された場合においても、記憶する番号を書き換
える必要がないという利点がある。
【0076】さらに、好ましくは、本発明のデータ管理
システムにおけるデータリンク情報は、データ管理シス
テム制御部が、ブロックに対して物理的な管理のために
割り当てる番号情報を有する。この番号情報は、好まし
くは、少なくとも物理ブロック番号および物理セクタ番
号を含む。
【0077】この構成により、データのリンク情報とし
て、物理ブロック番号および物理セクタ番号のように物
理的な番号を用いることによって、論理から物理への変
換が不要になるため、目的のデータを高速に特定するこ
とが可能となる。
【0078】さらに、好ましくは、本発明のデータ管理
システムにおけるデータリンク情報は、分散したデータ
の先頭データ(セクタ)における、直前のデータ格納場
所に関する情報として全ビットがブロックを消去した時
のビット状態に等しいデータからなり、分散した最終デ
ータ(セクタ)における、直後のデータ格納場所に関す
る情報として全ビットがブロックを消去したときのビッ
ト状態に等しいデータからなる。
【0079】この構成により、分散した先頭のデータに
対する直前のデータの格納場所、および分散した最後尾
のデータに対する直後のデータ格納場所に関する情報と
して全ビット1(ブロックを消去したときのビット状
態)であるデータを格納することにより、データの先頭
または最後尾であることの確認が容易になる。また、全
ビットが1であるデータは、消去状態であることから、
データの異常を発見しやすいという利点がある。
【0080】さらに、好ましくは、本発明のデータ管理
システムにおけるデータリンク情報は、直前のデータ格
納場所に関する情報、および直後のデータ格納場所に関
する情報に対して誤り訂正を行うための誤り訂正符号を
更に有する。この誤り訂正符号は、好ましくは、ハミン
グコードである。
【0081】この構成により、データのリンク情報とし
て、直前のデータ格納場所、及び直後のデータ格納場所
をハミングコードのような誤り訂正符号を用いて記憶す
るので、リンク情報は破壊に対して強い構造となる。
【0082】さらに、好ましくは、本発明のデータ管理
システムにおけるデータ管理システム制御部は、不揮発
性半導体記憶部に格納されるデータを、アプリケーショ
ンプログラムまたはオペレーティングシステムなどのソ
フトウェアから与えられるID番号によって一意に識別
するべく、このID番号および、分散したデータの先頭
データ(セクタ)の対応関係を管理する。
【0083】この構成により、データはID番号により
識別され、ID番号とデータを格納する先頭アドレスの
対応関係をRAM領域で管理するので、高速にデータ格
納場所の先頭アドレスを検索することが可能となる。
【0084】さらに、好ましくは、本発明のデータ管理
システムにおけるデータリンク情報は、同一のデータリ
ンク情報を複数有する。
【0085】この構成により、同一の内容を記憶した複
数のリンク情報(例えば、本来のリンク情報部分と、予
備のリンク情報部分)を持つので、データの読み出し時
において、一部のリンク情報に異常が発生しても、デー
タを正しく読み出すことが可能となる。
【0086】さらに、好ましくは、本発明のデータ管理
システムにおけるデータ管理システム制御部は、アプリ
ケーションプログラムまたはオペレーティングシステム
などのソフトウェアから与えらるID番号から該当する
データの先頭データを検索し、先頭セクタに格納される
データリンク情報の直前のデータ格納場所に関する情報
について、その全ビットが前記ブロックを消去したとき
のビットの状態に等しいデータであるかどうかを比較す
る手段と、この比較結果が異なる場合、アプリケーショ
ンプログラムまたはオペレーテングシステムなどのソフ
トウエアに対し、データリンク情報に異常があることを
知らせる手段とを有する。また、好ましくは、本発明の
データ管理システムにおけるデータ管理システム制御部
は、アプリケーションプログラムまたはオペレーティン
グシステムなどのソフトウェアから与えられるID番号
から該当するデータの先頭データを検索し、先頭セクタ
から順番に各セクタに格納されるデータリンク情報の直
後のデータ格納場所に関する情報を辿ることで最後のセ
クタを参照した時、このセクタに格納されるデータリン
クの直後のデータ格納場所に関する情報について、その
全ビットがブロックを消去した時のビットの状態に等し
いデータであるかどうかを比較する手段と、この比較結
果が異なる場合、アプリケーションプログラムまたはオ
ペレーテングシステムなどのソフトウエアに対し、デー
タリンク情報に異常があることを知らせる手段とを有す
る。また、好ましくは、本発明のデータ管理方法におい
て、アプリケーションプログラムまたはオペレーティン
グシステムなどのソフトウェアから与えらるID番号か
ら該当するデータの先頭データを検索し、先頭セクタに
格納されるデータリンク情報の直前のデータ格納場所に
関する情報について、その全ビットがブロックを消去し
たときのビットの状態に等しいデータであるかどうかを
比較するステップと、この比較結果が異なる場合、アプ
リケーションプログラムまたはオペレーテングシステム
などのソフトウエアに対し、データリンク情報に異常が
あることを知らせるステップとを有する。また、好まし
くは、本発明のデータ管理方法において、アプリケーシ
ョンプログラムまたはオペレーティングシステムなどの
ソフトウェアから与えられるID番号から該当するデー
タの先頭データを検索し、先頭セクタから順番に各セク
タに格納されるデータリンク情報の直後のデータ格納場
所に関する情報を辿ることで最後のセクタを参照した
時、このセクタに格納されるデータリンクの直後のデー
タ格納場所に関する情報について、その全ビットがブロ
ックを消去した時のビットの状態に等しいデータである
かどうかを比較するステップと、この比較結果が異なる
場合、アプリケーションプログラムまたはオペレーテン
グシステムなどのソフトウエアに対し、データリンク情
報に異常があることを知らせるステップとを有する。
【0087】この構成により、データの先頭セクタの直
前、または最後尾セクタの直後のデータ格納場所に関す
る情報が全ビット1であるかどうかを調べることによ
り、先頭または最後のセクタのデータリンク情報が正常
か否かが容易かつ正確に判断可能となる。
【0088】さらに、好ましくは、本発明のデータ管理
システムにおけるデータ管理システム制御部は、データ
リンク情報を参照する際に、少なくとも分散した各デー
タについて、その直後のデータ格納場所に関する情報、
およびその情報から次に参照されるセクタに格納される
データリンク情報の直前のデータ格納場所に関する情報
の、双方に矛盾がないかどうかの確認を行う手段を有す
る。また、好ましくは、本発明のデータ管理方法におい
て、データリンク情報を参照する際に、少なくとも分散
した各データについて、その直後のデータ格納場所に関
する情報、およびその情報から次に参照されるセクタに
格納されるデータリンク情報の直前のデータ格納場所に
関する情報の、双方に矛盾がないかどうかの確認を行う
ステップを有する。
【0089】この構成により、同一の内容を記憶した複
数のデータリンク情報(例えば、本来のリンク情報部分
と、予備のリンク情報部分)を持つ場合、少なくともデ
ータ読み出し時には、本来のリンク情報同士に矛盾がな
いかどうかの確認と、予備のリンク情報同士に矛盾がな
いかの確認とを行うため、リンク情報の異常が発見しや
すい。
【0090】さらに、好ましくは、本発明のデータ管理
システムにおけるデータ管理システム制御部は、複数の
同一内容のデータリンク情報について、データリンク情
報を参照する際に、分散した各データについて、直後の
データ格納場所に関する情報、およびその情報から次に
参照されるセクタに格納されるデータリンク情報の直前
のデータ格納場所に関する情報の、双方に矛盾がない
か、データリンク情報の組み合わせ毎に全組み合わせの
確認を行う手段を有する。また、好ましくは、本発明の
データ管理方法において、複数の同一内容のデータリン
ク情報について、データリンク情報を参照する際に、分
散した各データについて、直後のデータ格納場所に関す
る情報、およびその情報から次に参照されるセクタに格
納されるデータリンク情報の直前のデータ格納場所に関
する情報の、双方に矛盾がないか、データリンク情報の
組み合わせ毎に全組み合わせの確認を行うステップを有
する。
【0091】この構成により、同一の内容を格納した複
数のリンク情報(例えば、本来のリンク情報部分と、予
備のリンク情報部分)を持つ場合、少なくともデータ読
み出し時には、本来のリンク情報同士に矛盾がないかど
うかの確認と、予備のリンク情報同士に矛盾がないかど
うかの確認と、本来のリンク情報と予備のリンク情報間
に矛盾がないかどうかの確認を行うので、リンク情報の
破壊に対して強い構造となる。
【0092】さらに、好ましくは、本発明のデータ管理
システムにおけるデータ管理システム制御部は、複数の
同一内容のデータリンク情報について、少なくともデー
タリンク情報を参照する際に、分散した各データについ
て、直後のデータ格納場所に関する情報、およびその情
報から次に参照されるセクタに格納されるデータリンク
情報の直前のデータ格納場所に関する情報の、双方に矛
盾がないか、データリンク情報の組み合わせの一つを用
いて確認を行い、矛盾がある場合は、組み合わせとは異
なる組み合わせの一つを用いて確認を行う手段を有す
る。また、好ましくは、本発明のデータ管理方法におい
て、複数の同一内容のデータリンク情報について、少な
くともデータリンク情報を参照する際に、分散した各デ
ータについて、直後のデータ格納場所に関する情報、お
よびその情報から次に参照されるセクタに格納されるデ
ータリンク情報の直前のデータ格納場所に関する情報
の、双方に矛盾がないか、データリンク情報の組み合わ
せの一つを用いて確認を行い、矛盾がある場合は、その
組み合わせとは異なる組み合わせの一つを用いて確認を
行うステップを有する。
【0093】この構成により、複数のリンク情報を持つ
ので、幾つかのリンク情報に矛盾があっても、矛盾がな
いリンク情報を用いて、データの読み出しを行うこと
で、リンク情報の破壊に対して強い構造となる。
【0094】さらに、好ましくは、本発明のデータ管理
システムにおけるデータ管理システム制御部は、データ
格納場所に関する情報に矛盾がないか確認を行うため
に、分散したあるデータのデータリンク情報に含まれる
その直後のデータ格納場所に関する情報から、直後のデ
ータを参照し、直後のセクタに格納されるデータリンク
情報に含まれる直前のデータの格納場所に関する情報
と、直後のデータの格納場所に関する情報とを比較する
手段を有する。また、好ましくは、本発明のデータ管理
方法において、データ格納場所に関する情報に矛盾がな
いか確認を行うために、分散したあるデータのデータリ
ンク情報に含まれるその直後のデータ格納場所に関する
情報から、直後のデータを参照し、直後のセクタに格納
されるデータリンク情報に含まれる直前のデータの格納
場所に関する情報と、直後のデータの格納場所に関する
情報とを比較するステップを有する。
【0095】この構成により、データリンク情報に矛盾
があるかどうかの確認には、直前、直後のデータリンク
情報を互いに比較し合うことで容易に行える。
【0096】さらに、好ましくは、本発明のデータ管理
システムにおけるデータ管理システム制御部は、データ
の格納場所に関する情報に矛盾がある場合、誤り訂正符
号を用いて正しい情報に訂正する手段を有する。また、
好ましくは、本発明のデータ管理方法において、データ
の格納場所に関する情報に矛盾がある場合、誤り訂正符
号を用いて正しい情報に訂正するステップを有する。
【0097】この構成により、リンク情報に矛盾がある
場合、誤り訂正符号を用いれば正しいデータリンク情報
に訂正することが可能となる。
【0098】さらに、好ましくは、本発明のデータ管理
システムにおけるデータ管理システム制御部は、前記複
数の同一内容のデータリンク情報について、内容に矛盾
がある場合は、矛盾がないデータリンク情報によって矛
盾があるデータの修復を行う手段を有する。また、好ま
しくは、本発明のデータ管理方法において、複数の同一
内容のデータリンク情報について、内容に矛盾がある場
合は、矛盾がないデータリンク情報によって矛盾がある
データの修復を行うステップを有する。
【0099】この構成により、リンク情報に矛盾が発生
した場合、他の矛盾のないリンク情報が存在するので、
これを用いてリンク情報を修復することが可能であり、
システムの信頼性が向上する。
【0100】さらに、好ましくは、本発明のデータ管理
システムにおけるデータ管理システム制御部は、複数の
同一内容のデータリンク情報について、内容の矛盾があ
る場合は、アプリケーションプログラムまたはオペレー
ティングシステムなどのソフトウエアヘ、その旨の通知
を行う手段を有する。また、好ましくは、本発明のデー
タ管理方法において、複数の同一内容のデータリンク情
報について、内容の矛盾がある場合は、アプリケーショ
ンプログラムまたはオペレーティングシステムなどのソ
フトウエアヘ、その旨の通知を行うステップを有する。
【0101】この構成により、リンク情報に矛盾が発生
した場合、アプリケーションにその旨のエラーメッセー
ジを返すことにより、アプリケーションがリンク情報の
異常を検知し、修復することが可能となる。
【0102】
【発明の実施の形態】以下、本発明の実施形態のデータ
管理装置および、これを用いたデータ管理方法について
図面を参照しながら説明する。
【0103】図1は本発明の一実施形態におけるデータ
管理装置の構成を示すブロック図である。図1におい
て、データ管理システム1001は、データ格納用の不
揮発性半導体記憶部としてのフラッシュメモリ部100
2と、データ管理用のデータ管理システムメモリ部10
03と、フラッシュメモリ部1002の記憶動作を制御
する記憶制御部としてのフラッシュメモリ制御部100
4と、データを管理すると共にデータ処理を制御するデ
ータ管理システム制御部1005とを有している。この
データ管理システム1001および、アプリケーション
またはオペレーテングシステム(OS)1006により
データ管理装置1000が構成されており、データ管理
装置1000は、ソフトウエアのアプリケーションまた
はオペレーテングシステム(OS)1006がデータ管
理システム1001に対して各種データ処理(例えば読
み出し処理および書き込み処理など)を依頼するように
なっている。
【0104】フラッシュメモリ部1002は、物理ブロ
ックのサイズ、または物理ブロック内に設けたセクタの
サイズが異なる複数のフラッシュメモリ部からなってい
る。このフラッシュメモリ部1002の内部構成の一例
を図2に示している。
【0105】各消去ブロックは、図2に示すように、物
理ブロック番号0〜23の番号情報が割り振られてい
る。物理ブロック番号0〜23は、システムメモリアド
レス空間と一意に対応付けられている。そのため、物理
ブロック番号0〜23が決定すると、対応するシステム
メモリアドレス(物理アドレス)が求まる。また、図2
の各消去ブロックには、初めてシステムを使用する際
に、暫定的に、重複しない論理ブロック番号も割り振ら
れる。例えば図2では、物理ブロック番号7の消去ブロ
ック1個が、再構築動作時に用いられるスペアブロック
(予備ブロック)として論理番号SPに割り振られてい
る。物理ブロック番号0〜23は、システムコンパイル
時に決定され、その後、変わることはない。論理ブロッ
ク番号は、再構築動作を行う度にスペアブロック(予備
ブロック)SPと入れ替わる。
【0106】本発明のデータ構成について、従来例の説
明で用いた図20を用いて更に説明する。
【0107】図20は、図1におけるフラッシュメモリ
部1002に格納されているデータ構成図の一例でもあ
る。図20において、フラッシュメモリ部1002の各
消去ブロック51は、データの取り扱い単位である複数
の物理セクタ52に分割されて配置されており、各消去
ブロック51内で一意の物理セクタ番号を有する。各消
去ブロック51のサイズが64キロバイトで、各物理セ
クタ52のサイズが512バイトであるとした場合、各
消去ブロック51には128個の物理セクタ52が存在
することになる。なお、このセクタサイズは、上記した
ように512バイトに限定されるわけではなく、この他
の例えば256バイトや1024バイトなどであって
も、本発明は適用可能であることは言うまでもないこと
である。
【0108】消去ブロック51において、ブロックコン
トロールセクタ52aには、先頭から消去ブロック51
の状態情報としての2バイト、セクタ♯1〜♯127の
各物理セクタ52の状態情報としての各2バイトが順次
配列され、よってブロックコントロールセクタ52aの
物理的なサイズである512バイトのうち、2バイト×
128個=256バイトの情報を有している。
【0109】消去ブロック51の状態情報は、データ管
理システム制御部1005が割り当てを行う0〜255
の論理ブロック番号、および5種類のブロック状態の何
れかを表すデータからなっている。この5種類のブロッ
ク状態とは、(1)「未使用」を表す11111111b
(bは2進数を表す。以下同様)、(2)「データ転送
中」を表す11111110b、(3)「元ブロック消
去中」を表す11111100b、(4)[データ有」
を表す11111000b、(5)「ブロックフル」を
表す11110000bである。
【0110】消去ブロック51の各物理セクタ52の状
態情報は、消去ブロック51の状態情報と同様に、デー
タ管理システム制御部1005が割り当てを行う0〜4
095のシステム内で一意の論理セクタ番号、および5
種類のセクタ状態の何れかを表すデータからなってい
る。5種類のセクタ状態とは、(I)「未使用」を表す
1111b、(II)「データ書き込み中」を表す11
10b、(III)「データ書き込み完了」を表す11
00b、(IV)「データ有効」を表す1000b、(V)
「データ無効」を表す0000bである。
【0111】次に、データ管理システムメモリ部100
3は、データ管理システム1001の制御情報(管理デ
ータ)を格納するために使用するものである。この制御
情報(管理データ)として、例えば図3のID管理テー
ブル、図21のブロック情報表10、図22のセクタ情
報表11および図23のセクタ情報表12などがある。
【0112】図3は、ID管理テーブルの構成例を示す
図である。このID管理テーブルは、図3に示すよう
に、図1のフラッシュメモリ部1002に格納されるデ
ータを一意に識別するためのID番号、複数ブロックに
亘って配置されたデータの先頭情報が格納された論理ブ
ロック番号、データの先頭情報が格納されたブロック内
の論理セクタ番号、およびデータサイズを情報の単位と
するデータによって構成されている。例えば図4には、
ID番号=10、サイズ=200バイトであるデータの
先頭情報が、論理ブロック番号=2、論理セクタ番号=
3に格納されている場合を示している。なお、他のテー
ブル構成例として、データサイズは、データの先頭にも
格納される情報であるため、テーブルサイズの削減、お
よびシステム起動時間を短縮するために、このデータサ
イズを(RAM上にある)ID管理テーブルに格納しない
方法も考えられる。
【0113】また、ブロック情報表10、セクタ情報表
11,12について、従来例の説明で用いた図21〜図
23を用いて更に説明する。
【0114】図21は、図1におけるデータ管理システ
ムメモリ部1003に格納されている各消去ブロック5
1に関する管理データの構成図(以下、ブロック情報表
10という)でもある。図21では、物理ブロック番
号、論理ブロック番号、およびブロック状態を一つの情
報単位としており、例えば、物理ブロック番号=0、論
理ブロック番号=0、ブロック状態=データ有となって
いる消去ブロック51が存在し、また、物理ブロック番
号=1、論理ブロック番号=1、ブロック状態=ブロッ
クフルとなっている消去ブロック51などが存在するこ
とを示している。
【0115】図22は、図1におけるデータ管理システ
ムメモリ部1003に格納されている各物理セクタ52
に関する管理データの構成図(以下、セクタ情報表11
という)でもある。図22では、物理ブロック番号、物
理セクタ番号、論理セクタ番号およびセクタ状態を一つ
の情報単位としており、例えば、物理ブロック番号=
0、物理セクタ番号=1、論理セクタ番号=100、セ
クタ状態=データ有効となっている物理セクタ52が存
在し、また、物理ブロック番号=0、物理セクタ番号=
2、論理セクタ番号=10、セクタ状態=データ無効と
なっている物理セクタ52が存在することを示してい
る。
【0116】図23は、図1におけるデータ管理システ
ムメモリ部1003に格納されている消去ブロック51
毎に、各物理セクタ52の数をそれぞれのセクタ状態に
応じて整理した管理データの構成図(以下、セクタ情報
表12という)でもある。図23では、物理ブロック番
号、未使用セクタ数、データ有効セクタ数およびデータ
無効セクタ数を一つの情報単位としており、例えば、物
理ブロック番号=0、未使用セクタ数=100、データ
有効セクタ数=20、データ無効セクタ数=7となって
いる消去ブロック51が存在し、また、物理ブロック番
号=1、未使用セクタ数=0、データ有効セクタ数=5
0、データ無効セクタ数=77となっている消去ブロッ
ク51が存在することを示している。
【0117】以上の図21のブロック情報表10、図2
2のセクタ情報表11および図23のセクタ情報表12
は、データ管理システム1001が起動する段階におい
て、フラッシュメモリ部1002から各消去ブロック5
1のブロックコントロールセクタ52aを読み出すこと
によってそれぞれ作成される。
【0118】これらのブロック情報表10およびセクタ
情報表11,12を作成しない場合においても、これら
の各表が各消去ブロック51のブロックコントロールセ
クタ52aに格納されているため、アクセスの対象とな
るデータの格納場所を特定するのに、データ管理システ
ム1001を使用することは可能である。しかし、デー
タ管理システムメモリ部1003としてRAMを使用す
ると、その動作速度がフラッシュメモリ部1002より
高速になるため、データ管理システムメモリ部1003
にブロック情報表10およびセクタ情報表11,12を
作成しておく方が、フラッシュメモリ部1002の内部
状態やデータの格納場所を高速に把握することができ
る。また、フラッシュメモリ部1002とのデータのや
り取りが減るので、データ管理システムメモリ部100
3を利用した方が、データ管理システム1001の動作
速度を高速にする上で非常に有効である。
【0119】本実施形態では、ID管理テーブル、ブロ
ック情報表10およびセクタ情報表11,12は、デー
タ管理システム1001の起動時に、データ管理システ
ム制御部1005が、フラッシュメモリ制御部1000
4を介してフラッシュメモリ部1002より必要な情報
を読み出し、データ管理システムメモリ部1003内に
作成するようになっている。
【0120】次に、データ管理システム制御部1005
は、論理的なデータ管理単位であるセクタ毎にデータを
分割し、この分割したデータ間の順序関係を示すリンク
情報を、セクタ毎に分散した各データと共に、フラッシ
ュメモリ制御部1004を介してフラッシュメモリ部1
002に格納することによりデータを管理し、データ処
理を容易に行うことができるようになっている。このリ
ンク情報は、セクタ毎に分散した各データ直前および直
後のデータ格納場所に関する情報を格納するものであ
る。データ管理システム制御部1005の詳細な機能に
ついては、以下に、本発明の実施形態における各種実施
例として、詳細かつ具体的に説明することにする。
【0121】図4は、本発明のリンク構造によるデータ
格納を説明するためのデータ構成図である。図4に示す
ように、データ管理システム制御部1005は、フラッ
シュメモリ制御部1004を介して、データ毎に、シス
テム内において唯一なID(Identification)番号、デ
ータ有効またはデータ無効などデータ本体の状態を表す
状態情報、データのサイズおよびデータ本体をフラッシ
ュメモリ部1002に格納するようになっている。図4
の最も上側に示しているセクタに格納されているデーダ
情報「ID番号」、「状態」は先頭のセクタにのみ存在
し、また、リンクしている以降の4つのセクタについて
は、データ(データ本体の一部)とリンク情報が格納さ
れており、全て同じ構造を持っている。従来例で説明し
た図17および図18のデータ格納方法と異なる点は、
格納する単位を論理的な格納単位であるセクタまで一連
のデータを分割し、各セクタにはデータ自体も格納する
と同時に、各データの最後に次のデータを格納するアド
レス領域(ここではセクタ)を示すリンク情報を格納す
ることにある。このとき、データのリンク情報によっ
て、データ本体は論理的に連続して格納されているよう
に扱うことができる。
【0122】図5は、図4のリンク情報部分の詳細説明
をするためのデータ構成図である。図5において、リン
ク情報には、現在のセクタに対する直前のデータ格納セ
クタの情報(4バイト)、および直後のデータ格納セク
タの情報(4バイト)があり、それぞれ、セクタが位置
する論理ブロック番号(2バイト)、および論理セクタ番
号(2バイト)を格納するようにしている。ここで、格納
する情報として論理的に管理する番号(論理ブロック番
号および論理セクタ番号)を用いる場合、上記データ格
納セクタの物理セクタが変化した場合(例えば、再構築
処理など)においても、データのリンク情報部分を書き
換えなくても良い(物理的な位置変化の影響を受けな
い)という利点がある。なお、先頭のデータ格納セクタ
のデータリンク情報における直前のデータ格納セクタの
情報へは、全ビットが1であるデータ(FFFFh、以
下「h」は16進数であることを示す)を格納し(つま
り、ブロックを消去したときの状態(初期状態)にして
おく)、最後尾のデータ格納セクタのデータリンク情報
における直後のデータ格納セクタの情報へも、同様に全
ビットが1(FFFFh)であるデータを格納する。論
理ブロック番号および論理セクタ番号において、全ビッ
トが1であるデータは、割り当てを行わない予約番号と
定義し、これによって、データの先頭またはデータの最
後尾を判断する。また、ブロックを消去した時のビット
の状態(初期状態)が、0になるデバイスを用いる場合に
は、全ビットが1であるデータに代わって全ビットが0
(0000h)であるデータを格納することで、上記と
同様の判断を行うこともできる。
【0123】なお、他の実施例としては、データのリン
ク情報として、論理ブロック番号や論理セクタ番号の代
わりに、物理ブロック番号や物理セクタ番号を用いる場
合も考えられる。また、リンク情報として、論理ブロッ
ク番号や論理セクタ番号の代わりに、物理アドレスを用
いる場合も考えられる。これらにおける利点は、リンク
先ヘアクセスする際に、論理から物理への変換処理を行
わなくても良いため、高速にアドレスを決定できること
である。 (データの読み出し方法)図21〜23の各種情報表、
図3のID管理テーブルおよび、図6の読み出しアドレ
スの計算方法を示すフローチャートを用いて、フラッシ
ュメモリ部1002に格納されたデータを一意に識別す
る情報、例えばID番号=10であるデータ読み出し方
法について以下に説明する。
【0124】まず、アプリケーションまたはオペレーテ
ングシステム(OS)1006により、読み出すデータ
ID番号(=10)がデータ管理システム制御部1005
に与えられる(ステップ201)。
【0125】データ管理システム制御部1005は、デ
ータ管理システムメモリ部1003内のID管理テーブ
ル(図3参照)ヘアクセスし、対応するID番号のデー
タが格納されている論理ブロック番号、データ開始セク
タの論理セクタ番号、およびデータサイズを取得する
(ステップ202)。
【0126】次に、ブロック情報表10(図21参照)
ヘアクセスし、ステップ202において取得した論理ブ
ロック番号に対応する物理ブロック番号を取得する(ス
テップ203)。
【0127】その後、セクタ情報表11(図22参照)
ヘアクセスし、ステップ203において取得した物理ブ
ロック番号、並びにステップ202において取得したデ
ータ開始セクタの論理セクタ番号に対応し、かつセクタ
状態が「データ有効」であるセクタの物理セクタ番号を
取得する(ステップ204)。
【0128】データの読み出しを開始する物理アドレス
は、システムメモリアドレス空間と一意に対応付けられ
たフラッシュメモリ部1002における物理的なサイズ
に決定される以下の情報が、例えば、以下のように定義
される。
【0129】物理消去ブロックサイズ=010000h
(64キロ)バイト、セクタの物理サイズ=00010
0h(256)バイト、フラッシュメモリ部1002の
スタートアドレス=060000hを用いて、以下の計
算式より求め(ステップ205)、フラッシュメモリ制
御部1004を介してフラッシュメモリ部1002の対
応するアドレスより、ステップ202において取得した
データサイズ分の読み出しを行う(ステップ206)。
【0130】計算式 データの読み出し開始アドレス=フラッシュメモリ部1
002のスタートアドレス[060000h]+(消去ブ
ロックの物理サイズ[010000h])*(ステップ2
03において取得した物理ブロック番号)+(セクタのサ
イズ[000100h])*(ステップ204において取
得したセクタの物理セクタ番号) 以上では、ID番号からデータの格納されている先頭セ
クタを読み出す場合を示したが、以下にリンク情報を用
いて複数のセクタにまたがってデータを読み出す場合を
示す。まず、本発明におけるリンク情報について説明す
る。
【0131】リンク情報部分に異常が発生すると、デー
タを読み出せなくなるので、リンク情報部分を多重にす
る場合の実施例を、図7(図7においては二重)に示し
ている。図7の上側の図がデータの先頭のセクタ構造を
示し、その下側の図がデータ本体を格納するセクタの構
造を示している。図7には、リンク情報部分に、本来の
リンク情報部分とは別に予備のリンク情報部分、即ち、
直前のデータ場所の情報に4バイト(内訳;論理ブロッ
ク番号2バイト、論理セクタ番号2バイト)と、直後の
データ場所の情報に4バイト(内訳;論理ブロック番号
2バイト、論理セクタ番号2バイト)であるリンク情報
部分と同一のリンク情報を付加した場合を示している。
【0132】図8は、図4で示したデータ構造におい
て、各セクタサイズが比較的大きなサイズである場合
(例えば512バイト)のセクタにおける構造を示した
ものである。図8における先頭セクタヘ、図4における
先頭セクタの情報のみを格納した場合、セクタのサイズ
が大きいため、未使用部分のサイズが大きくなりデータ
の格納効率が低下することになる。そこで、図8に示し
た別の実施例においては、先頭セクタからデータ本体の
格納を開始する構造をとっている。
【0133】次に、リンク情報を用いたデータの読み出
し方法を、図4、図5、図7および図8、さらに図9の
リンク情報を用いた読み出しアドレスの計算方法を示す
フローチャートを用いてを用いて説明する。
【0134】図9に示すように、まず、アプリケーショ
ンまたはオペレーテングシステム(OS)1006か
ら、読み出すデータのID番号が、本発明のデータ管理
システム1001に指定される(ステップ201)。
【0135】ID管理テーブル、ブロック情報表10お
よびセクタ情報表11,12から上記ステップ202〜
ステップ204に示した各処理により、物理ブロック番
号と物理セクタ番号を取得する。ID番号に対応するデ
ータの格納先頭アドレスを、上記ステップ205の計算
式(データの読出し開始アドレス)から求める。
【0136】さらに、格納先頭アドレスからID番号
(301,401,501,601)を読み出し(ステ
ップ211)、そのID番号が、ステップ201で指定
されたID番号と一致しているかどうかを確認する(I
D番号に異常が発生していないかどうかを確認する(ス
テップ212)。不一致の場合にはアプリケーションに
ID部分エラーである旨を知らせる(ステップ21
3)。また、直前のデータ場所の情報(402a、50
2a)がFFFFhであることを確認する(ステップ2
14)。これは、先頭格納場所に異常が発生していない
かどうかの確認である。不一致の場合には、アプリケー
ションに先頭格納場所エラーである旨を知らせる(ステ
ップ215)。
【0137】さらに、状態(303,403,503,
603)を読み出し(ステップ216)、状態情報が
「データ有効」であることを確認する(ステップ21
7)。これは、状態情報に異常が発生していないかどう
かの確認である。不一致の場合には、アプリケーション
に状態情報部分がエラーである旨を知らせる(ステップ
218)。
【0138】さらに、データサイズ(303,403,
503,603)を読み出す(ステップ219)。以
下、このデータサイズ分のデータを読み出すまで繰り返
す。
【0139】さらに、多重化したリンク情報のうち、予
備ではない本来のリンク情報(502’)部分を読み、
直後の(次の)データ格納アドレスを求める(ステップ
220)。
【0140】さらに、次のデータ格納アドレスに飛び
(ステップ221)、リンク情報における本来のリンク
情報(502’)が、飛ぶ前のリンク情報を指している
ことを確認する(ステップ222)。
【0141】なお、リンク情報が多重の場合には、上記
直前の2つのステップ(ステップ221,222)を、
リンク情報の予備のリンク情報(502”)部分につい
ても行い、矛盾、即ち直前および直後のデータ間で格納
アドレスの不一致がないかどうかを確かめる。
【0142】ここで、仮に、本来のリンク部分および予
備のリンク部分の何れかが一致していないときには、ア
プリケーション1006に読み出し可能なリンク情報部
分がエラーである旨を知らせる(ステップ223)。そ
の利点は、本来のリンク部分はOKで、予備のリンク部
分がNGの時(あるいはその逆の状態)を検出できる。
しかし、リンク情報を二対読み出すことになるので、読
み出しが遅くなるという欠点があるため、データの信頼
性より読出速度を重視する場合には、予備のリンク情報
を持たないようにすることもできる。
【0143】さらに、データ(305,405,50
5,605a,605)を読み出す(ステップ22
4)。さらに、データサイズ分のデータを読み出したか
どうかを判定する(ステップ225)。
【0144】データサイズ分のデータ読出しが完了して
いない場合、リンク情報(302,402,502,6
02)を読み、次のデータ格納アドレスを求めるなど、
データサイズ(304,404,504,604)分、
リンク情報の追跡とデータの読み出しを繰り返す。
【0145】さらに、データサイズ分読み出したとき、
データの最後のセクタのリンク情報(302,402,
502,602)部分の直後のデータ場所(402b、
502b)はFFFFh(終りを示す)であることを確
認する(ステップ226)。これは、最終格納場所に異
常が発生していないかどうかを確認するためである。不
一致の場合にはアプリケーション1006に最終格納場
所エラーである旨を知らせる(ステップ227)。 (他のデータの読み出し方法)多重化したリンク情報に
よる他の実施例のデータの読み出し方法を、図4、図
5、図7および図8を用いて説明する。
【0146】まず、アプリケーションまたはオベレーテ
ングシステム(OS)1006から、読み出すデータの
ID番号が、本発明のデータ管理システム1001に指
定される。
【0147】次に、ID管理テーブル、ブロック情報表
10およびセクタ情報表11,12から上記ステップ2
01〜204に示した各処理により、物理ブロック番号
と物理セクタ番号を取得する。ID番号に対応するデー
タの格納先頭アドレスを、上記ステップ205の計算式
(データの読み出し開始アドレス)から求める。
【0148】さらに、格納先頭アドレスからID番号
(301、401、501、601)を読み出し、その
ID番号が上記ステップで指定されたID番号と一致し
ているかどうかを確認する。これは、ID番号に異常が
発生していないかどうかの確認であり、不一致の場合に
はアプリケーションにID部分エラーである旨を知らせ
る。また、直前のデータ場所の情報(402a、502
a)がFFFFhであることを確認する。これは、先頭
格納場所に異常が発生していないかどうかの確認であ
り、不一致の場合にはアプリケーションに先頭洛納場所
エラーである旨を知らせる。
【0149】さらに、状態(303、403,503,
603)を読み出し、状態情報がデータ有効」であるこ
とを確認する。これは、状態部分に異常が発生していな
いかどうかの確認であり、不一致の場合にはアプリケー
ションに状態情報部分がエラーである旨を知らせる。
【0150】さらに、データサイズ(304,404,
504,604)を読み出す。以下、このデータサイズ
分のデータを読み出すまで繰り返す。
【0151】さらに、多重化したリンク情報のうち、予
備ではない本来のリンク情報(502’)部分を読み、
直後の(次の)データ格納アドレスを求める。
【0152】さらに、次のデータ格納アドレスに飛び、
リンク情報における本来のリンク情報(502’)部分
の直前のデータ場所(502a)が、飛ぶ前のものを指
していることを確認する。
【0153】ここで、もしも一致していない時には、前
述の読み出し方法のようにこの時点で予備のリンク情報
(502”)部分との比較によってエラーとはせずに、
飛ぶ直前のデータ位置に戻り、リンク情報の予備のリン
ク部分(502”)から次のデータの格納アドレスを求
める。次のデータ格納アドレスに飛び、リンク情報にお
ける予備のリンク部分(502”)の直前のデータ場所
(502’)が、飛ぶ前を指していることを確認する。
これは、リンク情報に異常が発生していないかどうかの
確認であり、不一致の場合には、アプリケーションに対
して、データを引き続き読み出し可能であるリンク部分
エラーである旨を知らせる。本来のリンク情報部分に不
具合が発生している場合、この時点でエラーをアプリケ
ーションに返すのではなく、自動的に予備のリンク情報
部分を使用するため、エラーが発生している場合のセク
タを辿る時間が短くなるという利点がある。一方、その
欠点としては、本来のリンク部分はOKで、予備のリン
ク部がNGの時を検出することができない。つまり、本
来のリンク部分に不具合が発生していない場合は、予備
のリンク情報部分を参照しない方法であるため、予備の
リンク情報部分にのみ不具合が発生している場合、これ
を検出することができない。
【0154】さらに、データ(305,405,50
5,605)を読み出す。
【0155】さらに、リンク情報(302,402,5
02,602)を読み、次のデータ格納アドレスを求め
る。
【0156】さらに、データサイズ(304,404,
504,604)分、データの読み出しとリンク情報の
追跡を繰り返す。
【0157】さらに、データサイズ分読み出した時、デ
ータの最後のセクタのリンク情報(302,402,5
02,602)部分の直後のデータ場所(402b、5
02b)はFFFFh(終わりを示す)であることを確認
する。これは、最終格納場所に異常が発生していないか
どうかの確認であり、不一致の場合にはアプリケーショ
ンに最終格納場所エラーである旨を知らせる。
【0158】仮に、アプリケーションが、上記エラーを
受けたならば、アプリケーションは上記ID番号のデー
タをRAM上(図示しないアプリケーションが管理する
領域を指す)に読み出し、フラッシュメモリ部1002
上の上記ID番号を削除、即ち対応するデータを格納し
た全てのセクタの状態を無効にし、フラッシュメモリ部
1002に再度上記RAM上に読み出したデータにID
番号を割り振って書き込む。これをエラーの復旧処理と
いう。ここで、書き込みとは、別の新しいセクタへの書
き込みとなる。このとき、新しいデータを書き込む(未
使用)セクタが十分に存在する場合は、ブロック消去
(再構築処理)は発生しない。
【0159】また、アプリケーションが、上記リンク情
報に関するエラーを受けた場合、関連するリンク部分の
リンク情報の誤りが、1箇所以内の場合には、上記リン
ク構造で検出、訂正可能である。なお、通常のシステム
では、関連するリンク部分のリンク情報の誤りが、2箇
所以上発生する確率は十分に小さい。 (更に多くのリンク情報を持つ実施例)リンク情報部に
おける異常発生に対して強化するため、同じ内容のリン
ク情報を3組持つ実施例を図10に示している。これは
図7において説明したリンク情報を拡張したもので、図
7における予備のリンク部分が図10における予備のリ
ンク部分1に相当し、この予備のリンク部分1(=本来
のリンク部分)と同一の内容を予備のリンク部分2とし
て追加して格納する。
【0160】以下に、データの読み出し方法を、図10
を用いて説明する。この実施例では、上記二重化したリ
ンク情報に同一のリンク情報を更に加えて三重化し、リ
ンク情報部分の不具合発生に備えたものである。
【0161】まず、アプリケーションまたはオペレーテ
ングシステム(OS)1006から、読み出すデータの
ID番号が、本発明のデータ管理システム1001に指
定される。
【0162】次に、ID管理テーブル、ブロック情報表
10、セクタ情報表11,12から上記ステップ201
〜203に示す各処理により、物理ブロック番号と物理
セクタ番号を取得する。ID番号に対応するデータの格
納先頭アドレスを、上記計算式(データの読み出し開始
アドレス)から求める。
【0163】さらに、格納先頭アドレスからID番号を
読み出し、そのID番号が上記ステップで指定されたI
D番号と一致しているかどうかを確認する。これは、I
D番号に異常が発生していないかどうかの確認であり、
不一致の場合にはアプリケーションにID番号部分がエ
ラーである旨を知らせる。また、直前のデータ場所の情
報がFFFFhであることを確認する。これは、先頭格
納場所に異常が発生していないかどうかの確認であり、
不一致の場合にはアプリケーションに先頭格納場所エラ
ーである旨を知らせる。
【0164】さらに、状態を読み出し、状態情報が「デ
ータ有効」であることを確認する。これは、状態部分に
異常が発生していないかどうかの確認であり、不一致の
場合にはアプリケーションに状態部分エラーである旨を
知らせる。
【0165】さらに、データサイズを読み出す。以下、
このデータサイズ分のデータを読み出すまで繰り返す。
【0166】さらに、2組以上多重化したリンク情報の
うち、予備ではない本来のリンク情報部分を読み、直後
の(次の)データ格納アドレスを求める。
【0167】さらに、次のデータ格納アドレスにとび、
リンク情報における本来のリンク部分の直前のデータ場
所が、飛ぶ前のものを指していることを確認する。
【0168】さらに、上記2ステップをリンク情報の予
備のリンク部分1についても行い、矛盾、即ち直前およ
び直後のデータ間で格納アドレスの不一致がないことを
確かめる。
【0169】さらに、上記2ステップをリンク情報の予
備のリンク部分2についても行い、矛盾、即ち直前およ
び直後のデータ間で格納アドレスの不一致がないことを
確かめる。
【0170】仮に、本来のリンク部分、予備のリンク部
分1および予備のリンク部分2の何れかが一致していな
い時には、アプリケーションに対して、データを引き続
き読み出し可能であるリンク部分エラーである旨を知ら
せる。その利点としては、本来のリンク部分はOKで、
予備のリンク部分がNGの時を検出することができる。
一方、その欠点としては、リンク情報を三対読み出すの
で読み出し時間が長くなる。
【0171】さらに、データを読み出す。
【0172】さらに、リンク情報を読み、次のデータ格
納アドレスを求める。
【0173】さらに、データサイズ分、データの読み出
しとリンク情報の追跡を繰り返す。
【0174】さらに、データサイズ分読み出した時、最
後のデータのリンク情報部分の直後のデータ場所はFF
FFh(終わりを示す)であることを確認する。これ
は、最終格納場所に異常が発生していないかどうかの確
認であり、不一致の場合にはアプリケーションに最終格
納場所エラーである旨を知らせる。 (リンク情報に誤り訂正符号を用いる実施例)リンク情
報部を更に強化するため、誤り訂正符号を用いたリンク
情報を持つ実施例について図11および図12に示す。
誤り訂正符号には、例えば1950年にアメリカのベル
研究所のHamming氏によって考案されたハミングコード
を用いることができる。即ち、本来のリンク情報に、リ
ンク情報から演算によって割り出したテェック用のデー
タ(ハミングコード)を付加する。このハミングコード
を用いると、データの誤り(エラー)を検出するだけでは
なく、正しい値に訂正することができる。つまり、ハミ
ングコードを用いると更に、リンク情報部を強化でき
る。即ち、2バイトの誤り訂正符号を付加することによ
り、合計4バイトの情報量増加で図7の場合において、
二重化(合計8バイトの情報量増加)と同等以上の効果
を得ることができる。
【0175】以下、データの読み出し方法を図11およ
び図12を用いて説明する。
【0176】まず、アプリケーションまたはオベレーテ
ングシステム(OS)1006から、読み出すデータの
ID番号が、本発明のデータ管理システム1001に指
定される。
【0177】次に、ID管理テーブル、ブロック情報表
10およびセクタ情報表11,12から、上記ステップ
201〜204に示した各処理により、物理ブロック番
号と物理セクタ番号を取得する。ID番号に対応するデ
ータの格納先頭アドレスを、上記ステップ205の計算
式(データの読み出し開始アドレス)から求める。
【0178】さらに、格納先頭アドレスからID番号
(801、901)を読み出し、そのID番号が上記ス
テップで指定されたID番号と一致しているかどうかを
確認する。これは、ID番号に異常が発生していないか
どうかの確認であり、不一致の場合にはアプリケーショ
ンにID部分エラーである旨を知らせる。また、直前の
データ場所の情報(802a、902a)がFFFFh
であることを確認する。これは、先頭格納場所に異常が
発生していないかどうかの確認であり、不一致の場合に
はアプリケーションに先頭格納場所エラーである旨を知
らせる。
【0179】さらに、状態(803,903)を読み出
し、状態情報が「データ有効」であることを確認する。
これは、状態部分に異常が発生していないかどうかの確
認であり、不一致の場合にはアプリケーションに状態情
報部分がエラーである旨を知らせる。
【0180】さらに、データサイズ(804,904)
を読み出す。以下、このデータサイズ分のデータを読み
出すまで繰り返す。
【0181】さらに、図12の場合、多重化したリンク
情報のうち、予備ではない本来のリンク情報(90
2’)部分を読み、直後の(次の)データ格納アドレス
を求める。
【0182】さらに、次のデータ格納アドレスにとび、
リンク情報における本来のリンク部分の直前のデータ場
所(902’)が、飛ぶ前のものを指していることを確
認する。
【0183】さらに、上記2ステップをリンク情報の予
備のリンク部分について行い、矛盾、即ち直前および直
後のデータ間で格納アドレスの不一致がないことを確か
める。
【0184】仮に、本来のリンク部分または、予備のリ
ンク部分が一致していない時には、アプリケーションに
対して、データを引き続き読み出し可能であるリンク部
分エラーである旨を知らせる。
【0185】さらに、データ(805、905)を読み
出す。
【0186】さらに、リンク情報(802,902)を
読み、次のデータ格納アドレスを求める。
【0187】さらに、データサイズ(804,904)
分、データの読み出しとリンク情報の追跡を繰り返す。
【0188】データサイズ分読み出した時、データの最
後のセクタのリンク情報(802b、902b)がFF
FFh(終わりを示す)であることを確認する。これ
は、最終格納場所に異常が発生していないかどうかの確
認であり、不一致の場合にはアプリケーションに最終格
納場所エラーである旨を知らせる。
【0189】ここで、リンク情報の何処かで異常が発生
した場合、アプリケーションヘ通知するだけではなく、
リンク情報を多重化する場合と比較して、サイズが小さ
くなる。
【0190】以上により、本実施形態によれば、格納す
るデータを一定の小さなサイズ(セクタ)に切り分け、
それぞれに現在のデータに対する一つ前および一つ後の
データ格納場所に関する情報であるリンク情報を付加し
て相互に関連付けることによって、物理的に連続した空
きアドレス領域の制約を受けることなく、任意のサイズ
のデータをデータ記憶領域全体に亘ってより効率的に格
納することができるものである。
【0191】次に、消去ブロックサイズより大きいデー
タを分散して格納する方法として、各データに対して、
一つ前および一つ後のデータ格納場所に関する情報をリ
ンク付加し、このリンク情報を順に仙っていくことによ
り、消去ブロックサイズよりも大きいデータを格納する
方法に対して、格納したデータのリンク情報部分に異常
が発生した場合、分散したデータを順に辿ることができ
なくなり、データを正しく読み出せなくなるという問題
があり、リンク情報部分に異常が発生したデータは、異
常が発生したセクタ以降に存在するセクタの状態情報を
使用済み(無効)の状態へ更新することができなくなる
ため、再構築を行った際にも削除されずに残り続ける
(データ記憶領域を占有し続ける)という問題もあっ
た。
【0192】また、特開平7−44451号公報の方法
において、データリンク情報部分に異常が発生した場合
に、記憶されているデータを正しい順序で表示すること
ができないという問題があった。
【0193】これらの問題を解決するものとして、デー
タの先頭部分へ付加するリンク情報において、一つ前の
データ格納場所へ全ビットが1であるデータを記憶する
ことにより、先頭のデータ格納場所であることを表し、
また、データの最後尾部分へ付加するデータリンク情報
において、一つ後のデータ格納場所へ全ビットが1であ
るデータを記憶することにより、最後尾のデータ格納場
所であることを表す。この場合、全ビットが1であるデ
ータは、ブロックが消去された初期状態を表すため、異
常が発生した場合に発見が容易かつ確実なものとするこ
とができる。
【0194】また、リンク構造を用いてデータを分散し
て格納する場合、データリンク情報部分に対し、同一の
リンク情報を複数格納することによって、リンク情報部
分の障害に対する耐性を強化することができ、リンク情
報に異常が発生し、読み出せない状態となる確率を実使
用上問題ない程度に低くすることができる。万が一、リ
ンク情報部分に異常が発生した場合には、誤り訂正符号
によってこれを修復することもできる。このため、デー
タの一部を正しく読み出せない、または再構築時にデー
タが削除されずに残り続けるという従来の問題を解決す
ることができて、システムの信頼性をいっそう向上させ
ることができる。
【0195】なお、以上の説明では、読み出し動作につ
いて本発明のデータ管理装置におけるデータ管理方法を
説明したが、データリンク情報を用いてアクセスするデ
ータを参照する方法としては読み出し動作に限らない。
例えば、書き込みを行う場合は、書き込みを行うのに適
した未使用のセクタの多いブロックを選択する操作が必
要となるが、対象セクタを参照する方法は以上に述べた
方法と同様である。例えば、書き込みに適したブロック
を選択する方法としては、記憶デバイス領域を複数のパ
ーティションに区分し、パーティション毎にデータ管理
を行う方法も考えられる。
【0196】また、データ管理システムメモリ部100
3には、電池バックアップしたSRAMや強誘電体メモ
リを用いても良い。強誘電体メモリを用いた場合、バッ
クアップ電池を削除することが可能である。データ管理
システムメモリ部1003に、強誘電体メモリなどの不
揮発性RAMを用いた場合には、図20におけるブロッ
クコントロールセクタ(512バイト)を、この不揮発
性RAM上にのみ設定することが可能になるので、フラ
ッシュメモリ部1002上からブロックコントロールセ
クタ(512バイト)を削除できるという利点がある。
【0197】なお、本実施形態およびその各実施例で
は、データ管理方法について説明し、それに対応したデ
ータ管理システムについては特に説明しなかったが、デ
ータ管理システム制御部1005は、アプリケーション
プログラムまたはオペレーティングシステム(OS)1
006などのソフトウェアから与えらるID番号から該
当するデータの先頭データを検索し、先頭セクタに格納
されるデータリンク情報の直前のデータ格納場所に関す
る情報について、その全ビットが前記ブロックを消去し
たときのビットの状態に等しいデータであるかどうかを
比較する手段と、この比較結果が異なる場合、アプリケ
ーションプログラムまたはオペレーテングシステムなど
のソフトウエアに対し、データリンク情報に異常がある
ことを知らせる手段とを有する。
【0198】また、データ管理システム制御部1005
は、アプリケーションプログラムまたはオペレーティン
グシステム(OS)1006などのソフトウェアから与
えられるID番号から該当するデータの先頭データを検
索し、先頭セクタから順番に各セクタに格納されるデー
タリンク情報の直後のデータ格納場所に関する情報を辿
ることで最後のセクタを参照した時、セクタに格納され
るデータリンクの直後のデータ格納場所に関する情報に
ついて、その全ビットが前記ブロックを消去した時のビ
ットの状態に等しいデータであるかどうかを比較する手
段と、この比較結果が異なる場合、アプリケーションプ
ログラムまたはオペレーテングシステム(OS)100
6などのソフトウエアに対し、データリンク情報に異常
があることを知らせる手段とを有する。
【0199】さらに、データ管理システム制御部100
5は、少なくともデータリンク情報を参照する際に、少
なくとも分散した各データについて、その直後のデータ
格納場所に関する情報、およびその情報から次に参照さ
れるセクタに格納されるデータリンク情報の直前のデー
タ格納場所に関する情報の、双方に矛盾がないかどうか
の確認を行う手段を有する。
【0200】さらに、データ管理システム制御部100
5は、複数の同一内容のデータリンク情報について、デ
ータリンク情報を参照する際に、分散した各データにつ
いて、直後のデータ格納場所に関する情報、およびその
情報から次に参照されるセクタに格納されるデータリン
ク情報の直前のデータ格納場所に関する情報の、双方に
矛盾がないか、データリンク情報の組み合わせ毎に全組
み合わせの確認を行う手段を有する。
【0201】さらに、データ管理システム制御部100
5は、複数の同一内容のデータリンク情報について、少
なくとも該データリンク情報を参照する際に、分散した
各データについて、直後のデータ格納場所に関する情
報、およびその情報から次に参照されるセクタに格納さ
れるデータリンク情報の直前のデータ格納場所に関する
情報の、双方に矛盾がないか、データリンク情報の組み
合わせの一つを用いて確認を行い、矛盾がある場合は、
組み合わせとは異なる組み合わせの一つを用いて確認を
行う手段を有する。
【0202】さらに、データ管理システム制御部100
5は、データ格納場所に関する情報に矛盾がないか確認
を行うために、分散したあるデータのデータリンク情報
に含まれるその直後のデータ格納場所に関する情報か
ら、直後のデータを参照し、直後のセクタに格納される
データリンク情報に含まれる直前のデータの格納場所に
関する情報と、直後のデータの格納場所に関する情報と
を比較する手段を有する。
【0203】さらに、データ管理システム制御部100
5は、データの格納場所に関する情報に矛盾がある場
合、誤り符号訂正を用いて正しい情報に訂正する手段を
有する。
【0204】さらに、データ管理システム制御部100
5は、複数の同一内容のデータリンク情報について、内
容に矛盾がある場合は、矛盾がないデータリンク情報に
よって矛盾があるデータの修復を行う手段を有する。
【0205】さらに、データ管理システム制御部100
5は、複数の同一内容のデータリンク情報について、内
容の矛盾がある場合は、前記アプリケーションプログラ
ムまたはオペレーティングシステムなどのソフトウエア
ヘ、その旨の通知を行う手段を有する。
【0206】
【発明の効果】以上のように、請求項1,20によれ
ば、格納するデータを一定の小さなサイズに切り分け、
それぞれに現在の分散データに対する一つ前及び一つ後
のデータ格納場所に関する情報を有するデータリンク情
報を付加して相互に関連付けることによって、物理的に
連続した空きアドレス領域の制約を受けることなく、任
意のサイズのデータをデータ記憶領域全体に渡って効率
的に格納することができる。
【0207】また、請求項2,3によれば、データのリ
ンク情報として、論理ブロック番号および論理セクタ番
号のように論理的な番号を用いることによって、データ
の物理的な位置が変更された場合においても、格納する
番号を書き換える必要がないという利点がある。
【0208】さらに、請求項4,5によれば、データの
リンク情報として、物理ブロック番号および物理セクタ
番号のように物理的な番号を用いることによって、論理
から物理への変換が不要になるため、目的のデータを高
速に特定することができる。
【0209】さらに、請求項6によれば、分散した先頭
のデータに対する直前のデータの格納場所、および分散
した最後尾のデータに対する直後のデータ格納場所に関
する情報として全ビット1(ブロックを消去したときの
ビット状態)であるデータを格納することにより、デー
タの先頭または最後尾であることの確認が容易になる。
また、全ビットが1であるデータは、消去状態であるこ
とから、データの異常を発見しやすいという利点があ
る。
【0210】さらに、請求項7,8によれば、データの
リンク情報として、直前のデータ格納場所、及び直後の
データ格納場所を例えばハミングコードのような誤り訂
正符号を用いて格納するため、リンク情報を破壊に対し
て強い構造とすることができる。
【0211】さらに、請求項9によれば、データはID
番号により識別され、ID番号とデータを格納する先頭
アドレスの対応関係をRAM領域で管理するため、高速
にデータ格納場所の先頭アドレスを検索することができ
る。
【0212】さらに、請求項10によれば、同一の内容
を記憶した2個のリンク情報(例えば、本来のリンク情
報部分と、予備のリンク情報部分)を持つため、データ
の読み出し時において、一方のリンク情報に異常が発生
しても、データを正しく読み出すことができる。
【0213】さらに、請求項11,12,21,22に
よれば、データの先頭または最後のセクタの直前または
直後のデータ格納場所に関する情報が全ビット1である
かどうかを調べるため、先頭または最後のセクタのデー
タリンク情報が正常か否かが容易かつ正確に判断するこ
とができる。
【0214】さらに、請求項13,23によれば、同一
の内容を格納した複数のリンク情報(例えば、本来のリ
ンク部分と、予備のリンク部分)を持つ場合、少なくと
もデータ読み出し時には、本来のリンク情報同士に矛盾
がないかどうかの確認と、予備のリンク情報同士に矛盾
がないかの確認とを行うため、リンク情報の異常を発見
しやすい。
【0215】さらに、請求項14,24によれば、同一
の内容を格納した複数のリンク情報(例えば、本来のリ
ンク部分と、予備のリンク部分)を持つ場合、少なくと
もデータ読み出し時には、本来のリンク情報同士に矛盾
がないかどうかの確認と、予備のリンク情報同士に矛盾
がないかどうかの確認と、本来のリンク情報と予備のリ
ンク情報間に矛盾がないかどうかの確認を行うため、リ
ンク情報の破壊に対して強い構造とすることができる。
【0216】さらに、請求項15,25によれば、複数
のリンク情報を持つため、一部のリンク情報に矛盾があ
っても、矛盾がないリンク情報を用いて、データの読み
出しを行うことが可能で、リンク情報の破壊に対して強
い構造とすることができる。
【0217】さらに、請求項16,26によれば、デー
タリンク情報に矛盾があるかどうかの確認には、直前、
直後のリンク情報を互いに比較し合うことで容易に行う
ことができる。
【0218】さらに、請求項17,27によれば、リン
ク情報に矛盾がある場合、誤り訂正符号を用いれば正し
いリンク情報に訂正することができる。
【0219】さらに、請求項18,28によれば、リン
ク情報に矛盾が発生した場合、他の矛盾のないリンク情
報が存在するため、これを用いてリンク情報を修復する
ことができて、システムの信頼性を向上することができ
る。
【0220】さらに、請求項19,29によれば、リン
ク情報に矛盾が発生した場合、アプリケーションにその
旨のエラーメッセージを返すことにより、アプリケーシ
ョンがリンク情報の異常を検知し、修復することができ
る。
【図面の簡単な説明】
【図1】本発明の一実施形態におけるデータ管理システ
ムの構成を示すブロック図である。
【図2】図1のフラッシュメモリ部の内部構成を示す図
である。
【図3】図1のデータ管理システムメモリ部に格納され
るID管理テーブルの構成例を示す図である。
【図4】本発明のリンク構造によるデータ格納を説明す
るためのデータ構成図である。
【図5】図4のリンク情報部分の詳細説明をするための
データ構成図である。
【図6】本発明の読み出しアドレスの計算方法を示すフ
ローチャートである。
【図7】図5のリンク情報部分を多重化した実施例を示
すデータ構成図である。
【図8】図4のデータ構成とは異なり、先頭セクタから
データ本体の格納を開始する実施例を示すデータ構成図
である。
【図9】本発明のリンク情報を用いた読み出し方法を示
すフローチャートである。
【図10】同じ内容のリンク情報を3組持つ実施例を示
すデータ構成図である。
【図11】リンク情報に誤り訂正符号を用いる実施例を
示すデータ構成図である。
【図12】予備のリンク部分を追加したリンク情報に誤
り訂正符号を用いる実施例を示すデータ構成図である。
【図13】従来の物理消去ブロックと論理セクタを示す
図である。
【図14】従来の論理セクタのデータ構成図である。
【図15】データの更新/削除を示す図である。
【図16】物理ブロックの再構築を示す図である。
【図17】従来のデータ格納状態を説明する図である。
【図18】従来のデータ格納状態に関する別の例を説明
する図である。
【図19】従来のフラッシュメモリを用いたファイルシ
ステムの構成を示すブロック図である。
【図20】図19におけるフラッシュメモリ部に格納さ
れているデータ構成図である。
【図21】図19におけるファイルシステムメモリ部に
格納されている各消去ブロックに関するブロック情報表
である。
【図22】図19におけるファイルシステムメモリ部に
格納されている各物理セクタに関するセクタ情報表であ
る。
【図23】図19におけるファイルシステムメモリ部に
格納されている消去ブロック毎に、各物理セクタの数を
それぞれのセクタ状態に応じて整理したセクタ情報表で
ある。
【図24】従来技術におけるフラッシュメモリ部に格納
されたデータの読み出し処理に関するフローチャートで
ある。
【図25】従来技術におけるフラッシュメモリ部へのデ
ータの書き込み処理に関するフローチャートである。
【図26】従来技術におけるフラッシュメモリ部へのデ
ータの書き込み処理に関するフローチャートである。
【図27】従来技術におけるフラッシュメモリ部へのデ
ータの書き込み処理に関するフローチャートである。
【図28】図25のファイルシステムの再構築処理に関
するフローチャートである。
【図29】図25のファイルシステムの再構築処理に関
するフローチャートである。
【符号の説明】
1000 データ管理装置 1002 フラッシュメモリ部(不揮発性半導体記憶
部) 1001 データ管理システム 1003 データ管理システムメモリ部 1004 フラッシュメモリ制御部(記憶制御部) 1005 データ管理システム制御部 1006 アプリケーションまたはオペレーテングシ
ステム(OS)
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/02 510 G06F 12/02 510A 12/16 320 12/16 320A (72)発明者 岡本 一宏 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 Fターム(参考) 5B018 GA02 GA07 HA14 MA22 NA06 5B060 AA04 AA07 AA20 5B065 BA05 CC03 EA03 ZA15 5B082 EA01 JA06

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 データを格納可能な複数のブロックによ
    って構成され、かつ該ブロックの単位でデータを消去可
    能とする不揮発性半導体記憶部と、該不揮発性半導体記
    憶部の記憶動作を制御する記憶制御部と、該不揮発性半
    導体記憶部に格納されるデータをデータ処理するデータ
    管理システム制御部と、該データ管理システム制御部が
    参照する管理データを格納するデータ管理システムメモ
    リ部とを備え、 該データ管理システム制御部は、論理的なデータ管理単
    位であるセクタ毎にデータを分割し、この分割したデー
    タ間の順序関係を示すデータリンク情報を、セクタ毎に
    分散した各データと共に、該記憶制御部を介して不揮性
    半導体記憶部に格納し、該データリンク情報として、セ
    クタ毎に分散した各データ直前および直後のデータ格納
    場所に関する情報を格納することによりデータを管理す
    るデータ管理システム。
  2. 【請求項2】 前記データリンク情報は、前記データ管
    理システム制御部が、前記ブロックに対して論理的な管
    理のために割り当てる番号情報を有する請求項1記載の
    データ管理システム。
  3. 【請求項3】 前記番号情報は、少なくとも論理ブロッ
    ク番号および論理セクタ番号を含む請求項2記載のデー
    タ管理システム。
  4. 【請求項4】 前記データリンク情報は、前記データ管
    理システム制御部が、前記ブロックに対して物理的な管
    理のために割り当てる番号情報を有する請求項1記載の
    データ管理システム。
  5. 【請求項5】 前記番号情報は、少なくとも物理ブロッ
    ク番号および物理セクタ番号を含む請求項4記載のデー
    タ管理システム。
  6. 【請求項6】 前記データリンク情報は、前記分散した
    データの先頭データにおける、前記直前のデータ格納場
    所に関する情報として全ビットが前記ブロックを消去し
    た時のビット状態に等しいデータからなり、前記分散し
    たデータの最終データにおける、前記直後のデータ格納
    場所に関する情報として全ビットが前記ブロックを消去
    したときのビットの状態に等しいデータからなる請求項
    1〜5の何れかに記載のデータ管理システム。
  7. 【請求項7】 前記データリンク情報は、前記直前のデ
    ータ格納場所に関する情報、および前記直後のデータ格
    納場所に関する情報に対して誤り訂正を行うための誤り
    訂正符号を更に有する請求項1〜6の何れかに記載のデ
    ータ管理システム。
  8. 【請求項8】 前記誤り訂正符号はハミングコードであ
    る請求項7記載のデータ管理システム。
  9. 【請求項9】 前記データ管理システム制御部は、前記
    不揮発性半導体記憶部に格納されるデータを、前記アプ
    リケーションプログラムまたはオペレーティングシステ
    ムなどのソフトウェアから与えられるID番号によって
    一意に識別するべく、該ID番号および前記分散したデ
    ータの先頭データの対応関係を管理する請求項1〜8の
    何れかに記載のデータ管理システム。
  10. 【請求項10】 前記データリンク情報は、同一のデー
    タリンク情報を複数有する請求項1〜9の何れかに記載
    のデータ管理システム。
  11. 【請求項11】 前記データ管理システム制御部は、前
    記アプリケーションプログラムまたはオペレーティング
    システムなどのソフトウェアから与えらるID番号から
    該当するデータの先頭データを検索し、先頭セクタに格
    納されるデータリンク情報の直前のデータ格納場所に関
    する情報について、その全ビットが前記ブロックを消去
    したときのビットの状態に等しいデータであるかどうか
    を比較する手段と、この比較結果が異なる場合、アプリ
    ケーションプログラムまたはオペレーテングシステムな
    どのソフトウエアに対し、データリンク情報に異常があ
    ることを知らせる手段とを有する請求項6記載のデータ
    管理システム。
  12. 【請求項12】 前記データ管理システム制御部は、前
    記アプリケーションプログラムまたはオペレーティング
    システムなどのソフトウェアから与えられるID番号か
    ら該当するデータの先頭データを検索し、先頭セクタか
    ら順番に各セクタに格納されるデータリンク情報の直後
    のデータ格納場所に関する情報を辿ることで最後のセク
    タを参照した時、該セクタに格納されるデータリンクの
    直後のデータ格納場所に関する情報について、その全ビ
    ットが前記ブロックを消去した時のビットの状態に等し
    いデータであるかどうかを比較する手段と、この比較結
    果が異なる場合、アプリケーションプログラムまたはオ
    ペレーテングシステムなどのソフトウエアに対し、デー
    タリンク情報に異常があることを知らせる手段とを有す
    る請求項6または11記載のデータ管理システム。
  13. 【請求項13】 前記データ管理システム制御部は、該
    データリンク情報を参照する際に、少なくとも前記分散
    した各データについて、その直後のデータ格納場所に関
    する情報、およびその情報から次に参照されるセクタに
    格納されるデータリンク情報の直前のデータ格納場所に
    関する情報の、双方に矛盾がないかどうかの確認を行う
    手段を有する請求項1〜9の何れかに記載のデータ管理
    システム。
  14. 【請求項14】 前記データ管理システム制御部は、前
    記複数の同一内容のデータリンク情報について、該デー
    タリンク情報を参照する際に、前記分散した各データに
    ついて、直後のデータ格納場所に関する情報、およびそ
    の情報から次に参照されるセクタに格納されるデータリ
    ンク情報の直前のデータ格納場所に関する情報の、双方
    に矛盾がないか、データリンク情報の組み合わせ毎に全
    組み合わせの確認を行う手段を有する請求項10記載の
    データ管理システム。
  15. 【請求項15】 前記データ管理システム制御部は、前
    記複数の同一内容のデータリンク情報について、少なく
    とも該データリンク情報を参照する際に、前記分散した
    各データについて、直後のデータ格納場所に関する情
    報、およびその情報から次に参照されるセクタに格納さ
    れるデータリンク情報の直前のデータ格納場所に関する
    情報の、双方に矛盾がないか、データリンク情報の組み
    合わせの一つを用いて確認を行い、矛盾がある場合は、
    前記組み合わせとは異なる組み合わせの一つを用いて確
    認を行う手段を有する請求項10記載のデータ管理シス
    テム。
  16. 【請求項16】 前記データ管理システム制御部は、前
    記データ格納場所に関する情報に矛盾がないか確認を行
    うために、前記分散したあるデータのデータリンク情報
    に含まれるその直後のデータ格納場所に関する情報か
    ら、該直後のデータを参照し、該直後のセクタに格納さ
    れるデータリンク情報に含まれる直前のデータの格納場
    所に関する情報と、前記直後のデータの格納場所に関す
    る情報とを比較する手段を有する請求項13〜15の何
    れかに記載のデータ管理システム。
  17. 【請求項17】 前記データ管理システム制御部は、前
    記データの格納場所に関する情報に矛盾がある場合、前
    記誤り訂正符号を用いて正しい情報に訂正する手段を有
    する請求項11〜16の何れかに記載のデータ管理シス
    テム。
  18. 【請求項18】 前記データ管理システム制御部は、前
    記複数の同一内容のデータリンク情報について、内容に
    矛盾がある場合は、矛盾がないデータリンク情報によっ
    て矛盾があるデータの修復を行う手段を有する請求項1
    4〜17の何れかに記載のデータ管理システム。
  19. 【請求項19】 前記データ管理システム制御部は、前
    記複数の同一内容のデータリンク情報について、内容の
    矛盾がある場合は、前記アプリケーションプログラムま
    たはオペレーティングシステムなどのソフトウエアヘ、
    その旨の通知を行う手段を有する請求項1〜11の何れ
    かに記載のデータ管理システム。
  20. 【請求項20】 論理的なデータ管理単位であるセクタ
    にデータを分散させるためのデータ間の順序関係を示す
    と共に、セクタ毎に分散した各データ直前および直後の
    データ格納場所に関する情報を持つデータリンク情報
    を、不揮性半導体記憶部に対して、セクタ毎に分散した
    各データと共に格納するステップを有するデータ管理方
    法。
  21. 【請求項21】 前記アプリケーションプログラムまた
    はオペレーティングシステムなどのソフトウェアから与
    えらるID番号から該当するデータの先頭データを検索
    し、先頭セクタに格納されるデータリンク情報の直前の
    データ格納場所に関する情報について、その全ビットが
    前記ブロックを消去したときのビットの状態に等しいデ
    ータであるかどうかを比較するステップと、この比較結
    果が異なる場合、アプリケーションプログラムまたはオ
    ペレーテングシステムなどのソフトウエアに対し、デー
    タリンク情報に異常があることを知らせるステップとを
    有する請求項20記載のデータ管理方法。
  22. 【請求項22】 前記アプリケーションプログラムまた
    はオペレーティングシステムなどのソフトウェアから与
    えられるID番号から該当するデータの先頭データを検
    索し、先頭セクタから順番に各セクタに格納されるデー
    タリンク情報の直後のデータ格納場所に関する情報を辿
    ることで最後のセクタを参照した時、該セクタに格納さ
    れるデータリンクの直後のデータ格納場所に関する情報
    について、その全ビットが前記ブロックを消去した時の
    ビットの状態に等しいデータであるかどうかを比較する
    ステップと、この比較結果が異なる場合、アプリケーシ
    ョンプログラムまたはオペレーテングシステムなどのソ
    フトウエアに対し、データリンク情報に異常があること
    を知らせるステップとを有する請求項20または21記
    載のデータ管理方法。
  23. 【請求項23】 少なくとも該データリンク情報を参照
    する際に、少なくとも前記分散した各データについて、
    その直後のデータ格納場所に関する情報、およびその情
    報から次に参照されるセクタに格納されるデータリンク
    情報の直前のデータ格納場所に関する情報の、双方に矛
    盾がないかどうかの確認を行うステップを有する請求項
    20〜22の何れかに記載のデータ管理方法。
  24. 【請求項24】 前記複数の同一内容のデータリンク情
    報について、少なくとも該データリンク情報を参照する
    際に、前記分散した各データについて、直後のデータ格
    納場所に関する情報、およびその情報から次に参照され
    るセクタに格納されるデータリンク情報の直前のデータ
    格納場所に関する情報の、双方に矛盾がないか、データ
    リンク情報の組み合わせ毎に全組み合わせの確認を行う
    ステップを有する請求項20〜22の何れかに記載のデ
    ータ管理方法。
  25. 【請求項25】 前記複数の同一内容のデータリンク情
    報について、少なくとも該データリンク情報を参照する
    際に、前記分散した各データについて、直後のデータ格
    納場所に関する情報、およびその情報から次に参照され
    るセクタに格納されるデータリンク情報の直前のデータ
    格納場所に関する情報の、双方に矛盾がないか、データ
    リンク情報の組み合わせの一つを用いて確認を行い、矛
    盾がある場合は、前記組み合わせとは異なる組み合わせ
    の一つを用いて確認を行うステップを有する請求項20
    〜22の何れかに記載のデータ管理方法。
  26. 【請求項26】 前記データ格納場所に関する情報に矛
    盾がないか確認を行うために、前記分散したあるデータ
    のデータリンク情報に含まれるその直後のデータ格納場
    所に関する情報から、該直後のデータを参照し、該直後
    のセクタに格納されるデータリンク情報に含まれる直前
    のデータの格納場所に関する情報と、前記直後のデータ
    の格納場所に関する情報とを比較するステップを有する
    請求項23〜25の何れかに記載のデータ管理方法。
  27. 【請求項27】 前記データの格納場所に関する情報に
    矛盾がある場合、前記誤り訂正符号を用いて正しい情報
    に訂正するステップを有する請求項21〜26の何れか
    に記載のデータ管理方法。
  28. 【請求項28】 前記複数の同一内容のデータリンク情
    報について、内容に矛盾がある場合は、矛盾がないデー
    タリンク情報によって矛盾があるデータの修復を行うス
    テップを有する請求項24〜27の何れかに記載のデー
    タ管理方法。
  29. 【請求項29】 前記複数の同一内容のデータリンク情
    報について、内容の矛盾がある場合は、前記アプリケー
    ションプログラムまたはオペレーティングシステムなど
    のソフトウエアヘ、その旨の通知を行うステップを有す
    る請求項20または21記載のデータ管理方法。
JP2000373609A 2000-12-07 2000-12-07 データ管理システムおよびデータ管理方法 Pending JP2002175211A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000373609A JP2002175211A (ja) 2000-12-07 2000-12-07 データ管理システムおよびデータ管理方法
US10/010,796 US6865658B2 (en) 2000-12-07 2001-12-07 Nonvolatile data management system using data segments and link information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000373609A JP2002175211A (ja) 2000-12-07 2000-12-07 データ管理システムおよびデータ管理方法

Publications (1)

Publication Number Publication Date
JP2002175211A true JP2002175211A (ja) 2002-06-21

Family

ID=18842964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000373609A Pending JP2002175211A (ja) 2000-12-07 2000-12-07 データ管理システムおよびデータ管理方法

Country Status (2)

Country Link
US (1) US6865658B2 (ja)
JP (1) JP2002175211A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151939A (ja) * 2002-10-30 2004-05-27 Matsushita Electric Ind Co Ltd 記憶装置
WO2006067923A1 (ja) * 2004-12-22 2006-06-29 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
JP2006203822A (ja) * 2005-01-24 2006-08-03 Ntt Data Corp 演算装置およびコンピュータプログラム
JP2006216036A (ja) * 2005-02-04 2006-08-17 Samsung Electronics Co Ltd フラッシュメモリを含んだデータ貯蔵装置及びそれのマージ方法
JP2007073103A (ja) * 2005-09-05 2007-03-22 Sharp Corp メモリ素子およびメモリ素子のマップアドレス管理方法
KR100755702B1 (ko) 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법
JP2010182086A (ja) * 2009-02-05 2010-08-19 Fujitsu Ltd 伝送装置及びリンク切れ修復方法
JP2010218290A (ja) * 2009-03-17 2010-09-30 Toshiba Corp コントローラ、及びメモリシステム
US7958288B2 (en) 2003-09-29 2011-06-07 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
JP2013214147A (ja) * 2012-03-30 2013-10-17 Toshiba Corp ディスクアレイ装置

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4480064B2 (ja) * 2002-01-31 2010-06-16 パナソニック株式会社 メモリ管理装置およびメモリ管理方法
US7526599B2 (en) * 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7222117B1 (en) * 2003-11-14 2007-05-22 Advent Software, Inc. Segmented global area database
CN1938980A (zh) * 2004-02-13 2007-03-28 Ivi斯马特技术公司 用于密码加密处理数据的方法和设备
US7963721B2 (en) * 2004-09-21 2011-06-21 Kellogg Brown & Root Llc Distributed buoyancy subsea pipeline apparatus and method
US7246209B2 (en) * 2004-11-30 2007-07-17 Kabushiki Kaisha Toshiba System for secure erasing of files
US20060277387A1 (en) * 2005-04-18 2006-12-07 Neoscale Systems, Inc. System and method for hardware allocation of memory resources
US9245591B2 (en) 2005-06-16 2016-01-26 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
US8521970B2 (en) 2006-04-19 2013-08-27 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
US7426613B2 (en) * 2005-06-16 2008-09-16 Lexmark International, Inc. Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts
ES2692209T3 (es) * 2007-08-29 2018-11-30 Lifescan Scotland Limited Sistema de gestión de datos y método
EP2252934A1 (en) * 2008-03-04 2010-11-24 Nxp B.V. Mobile communication device and method for implementing mifare memory multiple sectors mechanisms
CN101499034A (zh) * 2009-03-05 2009-08-05 北京中星微电子有限公司 内存管理方法
US8458217B1 (en) 2009-08-24 2013-06-04 Advent Software, Inc. Instantly built information space (IBIS)
JP5520098B2 (ja) * 2010-03-24 2014-06-11 スパンション エルエルシー データ処理方法、プログラムおよびシステム
JP5385835B2 (ja) * 2010-03-29 2014-01-08 パナソニック株式会社 データ記録装置
EP2413329B1 (en) * 2010-07-28 2014-03-26 Fujitsu Semiconductor Europe GmbH Electronic apparatuses
US8392672B1 (en) * 2010-10-25 2013-03-05 Juniper Networks, Inc. Identifying unallocated memory segments
US9015345B2 (en) * 2010-12-15 2015-04-21 Microsoft Corporation API supporting server and key based networking
US20120272036A1 (en) * 2011-04-22 2012-10-25 Naveen Muralimanohar Adaptive memory system
US8638600B2 (en) 2011-04-22 2014-01-28 Hewlett-Packard Development Company, L.P. Random-access memory with dynamically adjustable endurance and retention
US8769350B1 (en) * 2011-09-20 2014-07-01 Advent Software, Inc. Multi-writer in-memory non-copying database (MIND) system and method
US8332349B1 (en) 2012-01-06 2012-12-11 Advent Software, Inc. Asynchronous acid event-driven data processing using audit trail tools for transaction systems
ITMI20120595A1 (it) * 2012-04-12 2013-10-13 St Microelectronics Srl Gestione della cancellazione di pagine operative di un dispositivo di memoria flash tramite pagine di servizio
US8886671B1 (en) 2013-08-14 2014-11-11 Advent Software, Inc. Multi-tenant in-memory database (MUTED) system and method
US9430366B2 (en) * 2014-08-14 2016-08-30 Oracle International Corporation Distributed logical track layout in optical storage tape

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01251230A (ja) 1988-03-31 1989-10-06 Toshiba Corp プログラム変換システム
DE69334149T2 (de) * 1992-04-02 2008-02-14 Kabushiki Kaisha Toshiba, Kawasaki Speicherkarte
US5822781A (en) 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
JPH0744451A (ja) 1993-08-03 1995-02-14 Casio Comput Co Ltd データ記憶装置
JP3378345B2 (ja) * 1994-03-28 2003-02-17 株式会社東芝 再生装置、記録方法および再生方法
JP3727982B2 (ja) 1995-09-28 2005-12-21 キヤノン株式会社 フラッシュrom管理方法及び装置
US5717919A (en) * 1995-10-02 1998-02-10 Sybase, Inc. Database system with methods for appending data records by partitioning an object into multiple page chains
US5987478A (en) * 1995-10-31 1999-11-16 Intel Corporation Virtual small block file manager for flash memory array
JPH09185551A (ja) * 1996-01-08 1997-07-15 Mitsubishi Electric Corp 半導体記憶装置
US5832493A (en) * 1997-04-24 1998-11-03 Trimble Navigation Limited Flash file management system
JP3511916B2 (ja) * 1998-11-17 2004-03-29 松下電器産業株式会社 記録再生装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151939A (ja) * 2002-10-30 2004-05-27 Matsushita Electric Ind Co Ltd 記憶装置
US8904142B2 (en) 2003-09-23 2014-12-02 Kabushiki Kaisha Toshiba Semiconductor memory system controlling writing of data to nonvolatile memories using consecutive logical addresses
US7996634B2 (en) 2003-09-29 2011-08-09 Kabushiki Kaisha Toshiba Memory system with controller for managing management data and reverse flag for reversing write data
US8706978B2 (en) 2003-09-29 2014-04-22 Kabushiki Kaisha Toshiba Semiconductor storage device having nonvolatile flash and ram with simultaneous data copy and data receive
US8397035B2 (en) 2003-09-29 2013-03-12 Kabushiki Kaisha Toshiba Semiconductor memory system with first and second nonvolatile memories storing user and management data and a controller controlling read/write of the memories and having simultaneous data transfer in and out of one of the memories
US8001337B2 (en) 2003-09-29 2011-08-16 Kabushiki Kaisha Toshiba Memory system with controller for managing management data and reverse flag for reversing write data
US7958288B2 (en) 2003-09-29 2011-06-07 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
US7958287B2 (en) 2003-09-29 2011-06-07 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
WO2006067923A1 (ja) * 2004-12-22 2006-06-29 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
JP2006203822A (ja) * 2005-01-24 2006-08-03 Ntt Data Corp 演算装置およびコンピュータプログラム
JP2006216036A (ja) * 2005-02-04 2006-08-17 Samsung Electronics Co Ltd フラッシュメモリを含んだデータ貯蔵装置及びそれのマージ方法
JP2007073103A (ja) * 2005-09-05 2007-03-22 Sharp Corp メモリ素子およびメモリ素子のマップアドレス管理方法
US7716422B2 (en) 2005-12-27 2010-05-11 Samsung Electronics Co., Ltd. Storage apparatus and method for using a non-volatile cache memory organized into stationary and non-stationary circular regions
KR100755702B1 (ko) 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법
JP2010182086A (ja) * 2009-02-05 2010-08-19 Fujitsu Ltd 伝送装置及びリンク切れ修復方法
JP2010218290A (ja) * 2009-03-17 2010-09-30 Toshiba Corp コントローラ、及びメモリシステム
US8516182B2 (en) 2009-03-17 2013-08-20 Kabushiki Kaisha Toshiba Controller and memory system for managing data
JP2013214147A (ja) * 2012-03-30 2013-10-17 Toshiba Corp ディスクアレイ装置

Also Published As

Publication number Publication date
US20020085433A1 (en) 2002-07-04
US6865658B2 (en) 2005-03-08

Similar Documents

Publication Publication Date Title
JP2002175211A (ja) データ管理システムおよびデータ管理方法
JP3078946B2 (ja) 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
US6381176B1 (en) Method of driving remapping in flash memory and flash memory architecture suitable therefor
JP3797649B2 (ja) 不揮発性半導体記憶装置
US9430329B2 (en) Data integrity management in a data storage device
US9286198B2 (en) Method and system for storage of data in non-volatile media
US7702844B2 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
US6427186B1 (en) Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers
EP1739535B1 (en) File system storing transaction records in flash-like media
US6970890B1 (en) Method and apparatus for data recovery
JP3682256B2 (ja) ディスクアレイ装置及び同装置におけるパリティ処理方法
US20090150599A1 (en) Method and system for storage of data in non-volatile media
US20080104361A1 (en) Storage Device, Memory Managing Apparatus, Memory Managing Method, and Program
JP2002169729A (ja) 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
US20100306447A1 (en) Data updating and recovering methods for a non-volatile memory array
TWI671631B (zh) 記憶體管理方法以及儲存控制器
CN106445401A (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
JPH10320984A (ja) 記憶装置
US11809328B2 (en) Control method of flash memory controller and associated flash memory controller and storage device
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
EP2267725A1 (en) Memory device for managing the recovery of a non volatile memory
JP2004326523A (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JPH08115257A (ja) 磁気ディスク制御装置
JP2008251063A (ja) 記憶装置
JPH1031611A (ja) 不揮発性メモリ記憶媒体用ファイルシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070403

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070522

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070615