JP2008090870A - 記憶媒体及び電子機器システム - Google Patents
記憶媒体及び電子機器システム Download PDFInfo
- Publication number
- JP2008090870A JP2008090870A JP2007337688A JP2007337688A JP2008090870A JP 2008090870 A JP2008090870 A JP 2008090870A JP 2007337688 A JP2007337688 A JP 2007337688A JP 2007337688 A JP2007337688 A JP 2007337688A JP 2008090870 A JP2008090870 A JP 2008090870A
- Authority
- JP
- Japan
- Prior art keywords
- data
- logical
- physical address
- conversion table
- storage 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】 フラッシュメモリに対応するシステムにおいて、コストの削減、及びファイルシステム立ち上げ処理時間の短縮等を図る。
【解決手段】 FATが利用する論理−物理アドレス変換テーブルを板状メモリ1に対して格納する。これにより、セット本体のマイコンでは、ファイルシステム立ち上げ時に論理−物理アドレス変換テーブルを構築する必要が無くなる。また、板状メモリ1の論理−物理アドレス変換テーブルから必要なデータ部分を読み出して利用すればよいので、このデータは、比較的小容量の内部RAMに格納してもマイコンの処理能力を低下させない。従って、論理−物理アドレス変換テーブル保持のための外付けRAMを省略することが出来る。
【選択図】 図2
【解決手段】 FATが利用する論理−物理アドレス変換テーブルを板状メモリ1に対して格納する。これにより、セット本体のマイコンでは、ファイルシステム立ち上げ時に論理−物理アドレス変換テーブルを構築する必要が無くなる。また、板状メモリ1の論理−物理アドレス変換テーブルから必要なデータ部分を読み出して利用すればよいので、このデータは、比較的小容量の内部RAMに格納してもマイコンの処理能力を低下させない。従って、論理−物理アドレス変換テーブル保持のための外付けRAMを省略することが出来る。
【選択図】 図2
Description
本発明は、データが記憶される記憶媒体、及びこの記憶媒体とデータの送受信(データの書き込み/読み出し)を行う本体装置と上記記憶媒体とから成る電子機器システムに関するものである。
近年、例えばフラッシュメモリなどの固体記憶素子を搭載した、小型の記憶装置(記憶媒体)を形成し、例えばビデオカメラその他の各種の機器に装填することで画像、音声、データファイルなどを記憶できるようにするものが開発されている。
そのような記憶装置は、例えば従来より在った3.5インチフロッピーディスク(登録商標)よりも小型とすることで、対応するドライブも小型のものとなり、例えばビデオカメラや録音機器、携帯用コンピュータ装置などへの搭載にも適するものとなる。
そのような記憶装置は、例えば従来より在った3.5インチフロッピーディスク(登録商標)よりも小型とすることで、対応するドライブも小型のものとなり、例えばビデオカメラや録音機器、携帯用コンピュータ装置などへの搭載にも適するものとなる。
ところで、上記のようなフラッシュメモリを利用した記憶装置に対するデータの書き込み/読み出しを行うファイルシステムにおいては、フラッシュメモリの特性として書き込み/消去の繰り返し回数に寿命があることを背景として、論理アドレスと物理アドレスという概念を導入し、この論理アドレスと物理アドレスとを利用して、記憶装置に対するデータの書き込み/読み出しを実行するように構成することが提案されている。
このような構成を採る場合、システムにおいてフラッシュメモリとしての記憶装置にアクセスしてデータの書き込み/読み出し等を行うためには、上記論理アドレスと物理アドレスとの対応を示すテーブル(以降、論理−物理アドレス変換テーブル)が必要となる。
これまでは、論理−物理アドレス変換テーブルは、この記憶装置を利用するセット本体側に用意するようにされていた。
ところが、この論理−物理アドレス変換テーブルは、フラッシュメモリの記憶容量にもよるが、大きいときには16KB程度のデータサイズを要する。これに対して、本体セットにおける1チップのマイクロコンピュータ(以下、本明細書ではマイコンと略す)内のRAM容量は、高々数十KB程度である。このため、セット本体のマイコン内のRAMに論理−物理アドレス変換テーブルを格納しようとすると、この論理−物理アドレス変換テーブルによってRAMの記憶領域のかなり多くの領域が占有されるので、この状態でのマイコンの処理能力を考えると、実質的にマイコン内で論理−物理アドレス変換テーブルを扱うことは困難である。また、廉価なマイコンでは、RAM容量が10KB程度しかない場合もあり、論理−物理アドレス変換テーブルのサイズとRAM容量との兼ね合いによっては、論理−物理アドレス変換テーブルを格納することが不可能な場合もある。
ところが、この論理−物理アドレス変換テーブルは、フラッシュメモリの記憶容量にもよるが、大きいときには16KB程度のデータサイズを要する。これに対して、本体セットにおける1チップのマイクロコンピュータ(以下、本明細書ではマイコンと略す)内のRAM容量は、高々数十KB程度である。このため、セット本体のマイコン内のRAMに論理−物理アドレス変換テーブルを格納しようとすると、この論理−物理アドレス変換テーブルによってRAMの記憶領域のかなり多くの領域が占有されるので、この状態でのマイコンの処理能力を考えると、実質的にマイコン内で論理−物理アドレス変換テーブルを扱うことは困難である。また、廉価なマイコンでは、RAM容量が10KB程度しかない場合もあり、論理−物理アドレス変換テーブルのサイズとRAM容量との兼ね合いによっては、論理−物理アドレス変換テーブルを格納することが不可能な場合もある。
このため、フラッシュメモリによる記憶装置に対応するセット本体側においては外付けのRAMを設け、このRAMに対して論理−物理アドレス変換テーブルを格納するように構成することになる。
しかし、外付けのRAMを備えることで、それだけコストが高くなり、また、外付けのRAMを駆動するための電力も要するため消費電力も増加することになるという問題を抱えることになる。特に消費電力に関しては、セット本体がバッテリにより駆動される携帯機器であるような場合には、バッテリの寿命に影響してくることになり、その問題が顕著となる。
しかし、外付けのRAMを備えることで、それだけコストが高くなり、また、外付けのRAMを駆動するための電力も要するため消費電力も増加することになるという問題を抱えることになる。特に消費電力に関しては、セット本体がバッテリにより駆動される携帯機器であるような場合には、バッテリの寿命に影響してくることになり、その問題が顕著となる。
また、外付けRAMに保持された論理−物理アドレス変換テーブルの情報は、例えばこれまでセット本体に装填されていた記憶装置が外されるとクリアされ、論理−物理アドレス変換テーブルの情報の生成は、セット本体に対して記憶装置が装填される度に行われるのが通常である。
この論理−物理アドレス変換テーブルの生成に際しては、セット本体のマイコンが装填されている記憶装置内部の状態をチェックし、ファイル管理システムとしての論理−物理アドレス変換テーブルの情報を構築する。そして、これを外付けのRAMに格納するようにされる。
このような準備処理に要する時間は、最速であれば数秒程度であるが、例えば廉価な処理能力の低いマイコンでは、その数倍の時間を要することになる。例えば、記憶装置に対するデータ書き込み/読み出しのためのアクセスは、この後に行われるので、ユーザにとっては、上記のような準備処理期間は待ち時間として受け取られる。ユーザにとっての使い勝手を考慮すれば、出来るだけこのような準備処理に要する時間は短縮されるべきである。
この論理−物理アドレス変換テーブルの生成に際しては、セット本体のマイコンが装填されている記憶装置内部の状態をチェックし、ファイル管理システムとしての論理−物理アドレス変換テーブルの情報を構築する。そして、これを外付けのRAMに格納するようにされる。
このような準備処理に要する時間は、最速であれば数秒程度であるが、例えば廉価な処理能力の低いマイコンでは、その数倍の時間を要することになる。例えば、記憶装置に対するデータ書き込み/読み出しのためのアクセスは、この後に行われるので、ユーザにとっては、上記のような準備処理期間は待ち時間として受け取られる。ユーザにとっての使い勝手を考慮すれば、出来るだけこのような準備処理に要する時間は短縮されるべきである。
そこで、本発明は上記した課題を考慮して、当該記憶媒体とデータの送受信を行う本体装置に対して着脱可能とされると共に、記憶領域を所定の固定長により分割した分割記憶領域が形成されているものとしたうえで、上記分割記憶領域は、少なくとも1つのデータ読出/書き込み単位領域からなるデータ消去単位領域を1つ以上備えて構成され、少なくとも、上記分割記憶領域ごとに対応して付された物理アドレスと、上記分割記憶領域に対して書き込まれるべきデータに対応づけられる論理アドレスとの対応を示すテーブル情報と、未使用の論理アドレスに対してデータ未記録領域としての分割記憶領域の物理アドレスを対応させたアドレス情報とが上記記憶領域の所定の分割記憶領域に記憶されているとともに、 上記テーブル情報であることを識別するための識別情報が、上記テーブル情報に対して付されているようにして記憶媒体を構成することとした。
また、記憶領域を所定の固定長により分割した分割記憶領域が形成されている記憶媒体と、上記記憶媒体が着脱可能とされると共に、装着された上記記憶媒体とデータの送受信を行うことの出来る本体装置とから成り、上記記憶媒体は、少なくとも1つのデータ読出/書き込み単位領域からなるデータ消去単位領域を1つ以上備えて構成さた上記分割記憶領域を備えて構成され、上記分割記憶領域ごとに対応して付された物理アドレスと、上記分割記憶領域に対して書き込まれるべきデータに対応づけられる論理アドレスとの対応を示すテーブル情報と、未使用の論理アドレスに対してデータ未記録領域としての分割記憶領域の物理アドレスを対応させたアドレス情報とが上記記憶領域の所定の分割記憶領域に記憶されているとともに、上記テーブル情報であることを識別するための識別情報が、上記テーブル情報に対して付されており、上記本体装置は、装着された記憶媒体に記憶されている上記テーブル情報及び上記アドレス情報を利用して、この装着された記憶媒体とのデータの送受信を実行するように構成することとした。
以上説明したように本発明は論理−物理アドレス変換テーブルを記憶装置内に記憶させるように構成している。
これにより、本体装置側では論理−物理アドレス変換テーブルを構築するための処理を実行する必要が無くなり、例えばファイルシステム立ち上げに要する時間を短縮させることが出来る。これは、ユーザにとっては、例えば記憶装置を本体に差し替えたときなどにおいて、記憶装置に対するデータ書き込み/読み出しが可能となるまでの待ち時間の短縮として捉えられるので、それだけユーザにとっては電子機器システムの使い勝手が向上されることになる。
これにより、本体装置側では論理−物理アドレス変換テーブルを構築するための処理を実行する必要が無くなり、例えばファイルシステム立ち上げに要する時間を短縮させることが出来る。これは、ユーザにとっては、例えば記憶装置を本体に差し替えたときなどにおいて、記憶装置に対するデータ書き込み/読み出しが可能となるまでの待ち時間の短縮として捉えられるので、それだけユーザにとっては電子機器システムの使い勝手が向上されることになる。
また、このような構成の場合、本体装置では、例えば記憶装置に格納されている論理−物理アドレス変換テーブルから必要なデータ部分を読み出せばよいようにされるのであるが、この読み出した論理−物理アドレス変換テーブルの一部データは、例えばマイコン内部のRAMで保持しても特に負担とはならないほどに小さいサイズとなる。
従って、本体装置においては、論理−物理アドレス変換テーブルの全データを内部で保持するための領域を確保するための外付けのRAM等を設ける必要が無くなるため、それだけ本体装置のコストを低減させることが可能になる。また、外付けのRAMを駆動するための消費電力分が節減されることで、それだけ低消費電力化を図ることも可能となる。
また本発明では、記憶装置に格納されている論理−物理アドレス変換テーブルに対して識別情報を付すことで、上記のようにして記憶装置に記憶されている論理−物理アドレス変換テーブルを読み出すのにあたり、記憶データ内における論理−物理アドレス変換テーブルの特定を可能としているものである。
従って、本体装置においては、論理−物理アドレス変換テーブルの全データを内部で保持するための領域を確保するための外付けのRAM等を設ける必要が無くなるため、それだけ本体装置のコストを低減させることが可能になる。また、外付けのRAMを駆動するための消費電力分が節減されることで、それだけ低消費電力化を図ることも可能となる。
また本発明では、記憶装置に格納されている論理−物理アドレス変換テーブルに対して識別情報を付すことで、上記のようにして記憶装置に記憶されている論理−物理アドレス変換テーブルを読み出すのにあたり、記憶データ内における論理−物理アドレス変換テーブルの特定を可能としているものである。
更に、本発明では、未使用の論理アドレスに対してデータ未記録領域としての分割記憶領域の物理アドレスを対応させたアドレス情報を記憶装置に記憶させておくことで、別階層で未使用ブロックのサーチを行うことなく、このアドレス情報を参照することで未使用ブロックの所在を直ちに特定することが出来る。つまり、データ書き込み時において、未使用ブロックをサーチする処理は不要となり、それだけ軽い処理負担で迅速に未使用ブロックに対するデータ書き込みを実行していくことが出来ることになる。これは、記録データが、例えば音声データや動画像データなどとされてリアルタイムな処理が要求される時系列データである場合に特に有効となるものである。
以降、本発明の実施の形態について説明する。なお、本実施の形態としての記憶装置は板状の外形形状を有する板状メモリとされる。
説明は次の順序で行う。
1.メモリの外形形状
2.メモリフォーマット
2−1.メモリファイルシステム処理階層
2−2.物理的データ構造
2−3.物理アドレス及び論理アドレスの概念
2−4.本実施の形態の論理−物理アドレス変換テーブル
3.システム構成
説明は次の順序で行う。
1.メモリの外形形状
2.メモリフォーマット
2−1.メモリファイルシステム処理階層
2−2.物理的データ構造
2−3.物理アドレス及び論理アドレスの概念
2−4.本実施の形態の論理−物理アドレス変換テーブル
3.システム構成
1.メモリの外形形状
まず図5により、本発明の実施の形態の形態としての記憶装置である、板状メモリ1の外形形状について説明する。
板状メモリ1は、例えば図5に示すような板状の筐体内部に例えば所定容量ののメモリ素子を備える。本実施の形態としては、このメモリ素子としてフラッシュメモリ(Flash Memory)が用いられるものである。
図3に平面図、正面図、側面図、底面図として示す筐体は例えばプラスチックモールドにより形成され、サイズの具体例としては、図に示す幅W11、W12、W13のそれぞれが、W11=60mm、W12=20mm、W13=2.8mmとなる。
まず図5により、本発明の実施の形態の形態としての記憶装置である、板状メモリ1の外形形状について説明する。
板状メモリ1は、例えば図5に示すような板状の筐体内部に例えば所定容量ののメモリ素子を備える。本実施の形態としては、このメモリ素子としてフラッシュメモリ(Flash Memory)が用いられるものである。
図3に平面図、正面図、側面図、底面図として示す筐体は例えばプラスチックモールドにより形成され、サイズの具体例としては、図に示す幅W11、W12、W13のそれぞれが、W11=60mm、W12=20mm、W13=2.8mmとなる。
筐体の正面下部から底面側にかけて例えば9個の電極を持つ端子部2が形成されており、この端子部2から、内部のメモリ素子に対する読出又は書込動作が行われる。
筐体の平面方向の左上部は切欠部3とされる。この切欠部3は、この板状メモリ1を、例えばセット本体側のドライブ(着脱機構)へ装填する際などに挿入方向を誤ることを防止するためのものとなる。
また筐体底面側には使用性の向上のため滑り止めを目的とした凹凸部4が形成されている。
さらに底面側には、記憶内容の誤消去を防止する目的のスライドスイッチ5が形成されている。
筐体の平面方向の左上部は切欠部3とされる。この切欠部3は、この板状メモリ1を、例えばセット本体側のドライブ(着脱機構)へ装填する際などに挿入方向を誤ることを防止するためのものとなる。
また筐体底面側には使用性の向上のため滑り止めを目的とした凹凸部4が形成されている。
さらに底面側には、記憶内容の誤消去を防止する目的のスライドスイッチ5が形成されている。
2.メモリフォーマット
2−1.メモリファイルシステム処理階層
続いて、板状メモリ1を記憶媒体とするシステムにおけるフォーマットについて説明していく。
図6は、板状メモリ1を記憶媒体とするシステムのファイルシステム処理階層を示すものである。
この図に示すように、ファイルシステム処理階層としては、アプリケーション処理層の下に、順次、ファイル管理処理層、論理アドレス層、物理アドレス層、フラッシュメモリアクセスがおかれる。この階層では、ファイル管理処理層がいわゆる(FAT(File Allocation Table)となる。また、この図から分かるように、本実施の形態のファイルシステムでは論理アドレス及び物理アドレスという概念が導入されているのであるが、これについては後述する。
2−1.メモリファイルシステム処理階層
続いて、板状メモリ1を記憶媒体とするシステムにおけるフォーマットについて説明していく。
図6は、板状メモリ1を記憶媒体とするシステムのファイルシステム処理階層を示すものである。
この図に示すように、ファイルシステム処理階層としては、アプリケーション処理層の下に、順次、ファイル管理処理層、論理アドレス層、物理アドレス層、フラッシュメモリアクセスがおかれる。この階層では、ファイル管理処理層がいわゆる(FAT(File Allocation Table)となる。また、この図から分かるように、本実施の形態のファイルシステムでは論理アドレス及び物理アドレスという概念が導入されているのであるが、これについては後述する。
2−2.物理的データ構造
図7には、板状メモリ1内の記憶素子である、フラッシュメモリの物理的データ構造が示されている。
フラッシュメモリとしての記憶領域は、セグメントという固定長のデータ単位が大元となる。このセグメントは、1セグメントあたり4MB或いは8MBとして規定されるサイズであり、1つのフラッシュメモリ内におけるセグメント数は、そのフラッシュメモリの容量に依存して異なってくる。
図7には、板状メモリ1内の記憶素子である、フラッシュメモリの物理的データ構造が示されている。
フラッシュメモリとしての記憶領域は、セグメントという固定長のデータ単位が大元となる。このセグメントは、1セグメントあたり4MB或いは8MBとして規定されるサイズであり、1つのフラッシュメモリ内におけるセグメント数は、そのフラッシュメモリの容量に依存して異なってくる。
そして、この1セグメントを図7(a)に示すように、ブロックという固定長のデータ単位(8KB又は16KB)により区切るようにされる。原則として、1セグメントは512ブロックに区切られることから、図7(a)に示すブロックnについては、n=511とされることになる。但し、フラッシュメモリでは、ディフェクトエリア(書き込み不可な損傷エリア)としてのブロック数が所定数の範囲で許可されているため、データ書き込みが有効とされる実質的なブロック数を対象とすれば、上記nは511よりも少なくなる。
図7(a)に示すようにして形成されるブロック0〜nのうち、先頭の2つのブロック0,1はブートブロックといわれる。但し、実際には有効なブロックの先頭から2つのブロックがブートブロックとして規定されることになっており、必ずしもブートブロックがブロック0,1である保証はない。
そして、残りのブロックが、ユーザデータが格納されるユーザブロックとなる。
そして、残りのブロックが、ユーザデータが格納されるユーザブロックとなる。
1ブロックは、図7(d)に示すようにして、ページ0〜mにより分割される。1ページの容量は、図7(e)に示すように、512バイトのデータエリアと16バイトの冗長部よりなる、528(=512+16)バイトの固定長とされる。なお、冗長部の構造については図7(f)により後述する。
また、1ブロック内のページ数としては、1ブロックの容量が8KBの場合には16ページ、16KBの場合には32ページとなる。
このような、図7(d)(e)に示されるブロック内のページ構造は、上記ブートブロックとユーザブロックとで共通である。
また、フラッシュメモリでは、データの読み出し/書き込みはページ単位で行われ、データの消去はブロック単位で行われるものとされる。そして、データの書き込みは、消去済みのページに対してしか行われないものとされている。従って、実際のデータの書き換えや書き込みは、ブロック単位を対象として行われることになる。
また、1ブロック内のページ数としては、1ブロックの容量が8KBの場合には16ページ、16KBの場合には32ページとなる。
このような、図7(d)(e)に示されるブロック内のページ構造は、上記ブートブロックとユーザブロックとで共通である。
また、フラッシュメモリでは、データの読み出し/書き込みはページ単位で行われ、データの消去はブロック単位で行われるものとされる。そして、データの書き込みは、消去済みのページに対してしか行われないものとされている。従って、実際のデータの書き換えや書き込みは、ブロック単位を対象として行われることになる。
先頭のブートブロックは、図7(b)に示すように、ページ0に対してヘッダーが格納され、ページ1には初期不良データの位置(アドレス)を示す情報が格納される。また、ページ2にはCIS/IDSといわれる情報が格納される。
2つめのブートブロックは図7(c)に示すように、ブートブロックとしてのバックアップのための領域とされている。
2つめのブートブロックは図7(c)に示すように、ブートブロックとしてのバックアップのための領域とされている。
図7(e)に示された冗長部(16バイト)は、図7(f)に示す構造を有する。
この冗長部は、図のように先頭の第0バイト〜第2バイトの3バイトが、データエリアのデータ内容の更新に応じて書き換えが可能なオーバーライトエリアとされる。このオーバーライトエリアのうち、第0バイトにはブロックステータスが格納され、第1バイトにはデータステータスが格納される(Block Flag Data)。また、第2バイトの上位の所定ビットを利用して変換テーブルフラグ(Page Data Status1)が格納される。
この冗長部は、図のように先頭の第0バイト〜第2バイトの3バイトが、データエリアのデータ内容の更新に応じて書き換えが可能なオーバーライトエリアとされる。このオーバーライトエリアのうち、第0バイトにはブロックステータスが格納され、第1バイトにはデータステータスが格納される(Block Flag Data)。また、第2バイトの上位の所定ビットを利用して変換テーブルフラグ(Page Data Status1)が格納される。
原則として第3バイト〜第15バイトは、その内容が現ページのデータ内容に応じて固定とされ、書き換えが不可とされる情報が格納される領域となる。
第3バイトには管理フラグ(Block Info)が格納され、第4,第5バイトから成る2バイトの領域には、後述する論理アドレス(Logic Address)が格納される。
第6〜第10バイトの5バイトの領域は、フォーマットリザーブの領域とされ、続く第11,第12バイトの2バイトが、上記フォーマットリザーブに対して誤り訂正を施すための分散情報ECCを格納する領域とされる。
残る第13〜第15バイトには、図7(e)に示すデータエリアのデータに対して誤り訂正を行うためのデータECCが格納される。
第3バイトには管理フラグ(Block Info)が格納され、第4,第5バイトから成る2バイトの領域には、後述する論理アドレス(Logic Address)が格納される。
第6〜第10バイトの5バイトの領域は、フォーマットリザーブの領域とされ、続く第11,第12バイトの2バイトが、上記フォーマットリザーブに対して誤り訂正を施すための分散情報ECCを格納する領域とされる。
残る第13〜第15バイトには、図7(e)に示すデータエリアのデータに対して誤り訂正を行うためのデータECCが格納される。
上記図7(f)に示した冗長部の第3バイトに格納される管理フラグは、図8に示すようにして、ビット7〜ビット0ごとにその内容が定義されている。
ビット7,6、及びビット1,0はリザーブ(未定義)領域とされている。
ビット5は現ブロックに対してのアクセス許可の有効(‘1’;Free)/無効(‘0’;Read Protected)を示すフラグが格納される。ビット4には現ブロックについてのコピー禁止指定(‘1’;OK /‘0’;NG)についてのフラグが格納される。
ビット7,6、及びビット1,0はリザーブ(未定義)領域とされている。
ビット5は現ブロックに対してのアクセス許可の有効(‘1’;Free)/無効(‘0’;Read Protected)を示すフラグが格納される。ビット4には現ブロックについてのコピー禁止指定(‘1’;OK /‘0’;NG)についてのフラグが格納される。
ビット3は変換テーブルフラグとされる。この変換テーブルフラグは、現ブロックが後述する論理−物理アドレス変換テーブルであるのか否かを示す識別子であり、このビット3の値が‘0’とされていれば、現ブロックは論理−物理アドレス変換テーブルであることが識別され、‘0’であれば無効となる。つまり、現ブロックは論理−物理アドレス変換テーブルではないことが識別される。
ビット2はシステムフラグが格納され、‘1’であれば現ブロックがユーザブロックであることが示され、‘0’であればブートブロックであることが示される。
ここで、セグメント及びブロックと、フラッシュメモリ容量との関係を図13(左3列を参照)により説明しておく。
板状メモリ1のフラッシュメモリ容量としては、4MB,8MB,16MB,32MB,64MB,128MBの何れかであるものとして規定されている。
そして、最も容量の小さい4MBの場合であると、1ブロックは8KBと規定された上で、そのブロック数としては512個とされる。つまり、4MBはちょうど1セグメントの容量を有するものとされる。そして、4MBの容量であれば、同様に1ブロック=8KBの容量が規定された上で、2セグメント=1024ブロックとなる。なお、前述したように、1ブロック=8KBであれば、1ブロック内のページ数は16ページとなる。
但し16MBの容量では、1ブロックあたりの容量として8KBと16KBの両者が存在することが許可されている。このため、2048ブロック=4セグメント(1ブロック=8KB)のものと、1024ブロック=2セグメント(1ブロック=16KB)のものとの2種類が在ることになる。1ブロック=16KBの場合には、1ブロック内のページ数は32ページとなる。
板状メモリ1のフラッシュメモリ容量としては、4MB,8MB,16MB,32MB,64MB,128MBの何れかであるものとして規定されている。
そして、最も容量の小さい4MBの場合であると、1ブロックは8KBと規定された上で、そのブロック数としては512個とされる。つまり、4MBはちょうど1セグメントの容量を有するものとされる。そして、4MBの容量であれば、同様に1ブロック=8KBの容量が規定された上で、2セグメント=1024ブロックとなる。なお、前述したように、1ブロック=8KBであれば、1ブロック内のページ数は16ページとなる。
但し16MBの容量では、1ブロックあたりの容量として8KBと16KBの両者が存在することが許可されている。このため、2048ブロック=4セグメント(1ブロック=8KB)のものと、1024ブロック=2セグメント(1ブロック=16KB)のものとの2種類が在ることになる。1ブロック=16KBの場合には、1ブロック内のページ数は32ページとなる。
また、32MB,64MB,128MBの容量では、1ブロックあたりの容量は16KBのみであるとして規定される。従って、32MBでは2048ブロック=4セグメントとなり、64MBでは4096ブロック=8セグメントとなり、128MBでは8192ブロック=16セグメントとなる。
2−3.物理アドレス及び論理アドレスの概念
次に、上述したようなフラッシュメモリの物理的データ構造を踏まえたうえで、図9に示すデータ書き換え動作に従って、本実施の形態のファイルシステムにおける物理アドレスと論理アドレスの概念について説明する。
次に、上述したようなフラッシュメモリの物理的データ構造を踏まえたうえで、図9に示すデータ書き換え動作に従って、本実施の形態のファイルシステムにおける物理アドレスと論理アドレスの概念について説明する。
図9(a)には、或るセグメント内から4つのブロックを抜き出して、これを模式的に示している。
各ブロックに対しては物理アドレスが付される。この物理アドレスはメモリにおけるブロックの物理的な配列順に従って決まるもので、或るブロックとこれに対応付けされた物理アドレスとの関係は不変となる。ここでは、図9(a)に示す4ブロックに対して、上から順に物理アドレスの値として、105,106,107,108が付されている。なお、実際の物理アドレスは2バイトにより表現される。
各ブロックに対しては物理アドレスが付される。この物理アドレスはメモリにおけるブロックの物理的な配列順に従って決まるもので、或るブロックとこれに対応付けされた物理アドレスとの関係は不変となる。ここでは、図9(a)に示す4ブロックに対して、上から順に物理アドレスの値として、105,106,107,108が付されている。なお、実際の物理アドレスは2バイトにより表現される。
ここで、図9(a)に示すように、物理アドレス105,106で示されるブロックがデータの記憶されている使用ブロックで、物理アドレス107,108で示されるブロックがデータが消去(即ち、未記録領域)された未使用ブロックとなっている状態であるとする。
そして、論理アドレスであるが、この論理アドレスは、ブロックに対して書き込まれたデータに付随するようにして割り振られるアドレスとされる。そして、この論理アドレスが、FATファイルシステムが利用するアドレスとされている。
図9(a)では、4つの各ブロックに対して、上から順に論理アドレスの値として、102,103,104,105が付されている状態が示されている。なお、論理アドレスも実際には2バイトにより表現されるものである。
図9(a)では、4つの各ブロックに対して、上から順に論理アドレスの値として、102,103,104,105が付されている状態が示されている。なお、論理アドレスも実際には2バイトにより表現されるものである。
ここで、上記図9(a)に示す状態から、例えば物理アドレス105に格納されているデータの更新として、内容の書き換え又は一部消去を行うとする。
このような場合、フラッシュメモリのファイルシステムでは、同じブロックに対して更新したデータを再度書き込むことはせずに、未使用のブロックに対してその更新したデータを書き込むようにされる。
つまり、例えば図9(b)に示すようにして、物理アドレス105のデータは消去したうえで、更新されたデータはこれまで未使用ブロックであった物理アドレス107で示されるブロックに書き込むようにされる(処理1)。
このような場合、フラッシュメモリのファイルシステムでは、同じブロックに対して更新したデータを再度書き込むことはせずに、未使用のブロックに対してその更新したデータを書き込むようにされる。
つまり、例えば図9(b)に示すようにして、物理アドレス105のデータは消去したうえで、更新されたデータはこれまで未使用ブロックであった物理アドレス107で示されるブロックに書き込むようにされる(処理1)。
そして、処理2として示すように、データ更新前(図9(a))の状態では物理アドレス105に対応していた論理アドレス102が、更新されたデータが書き込まれたブロックの物理アドレス107に対応するように、論理アドレスについての変更を行うものである。これに伴って、データ更新前は物理アドレス107に対応していた論理アドレス104については、物理アドレス105に対応するように変更されている。
つまり、物理アドレスはブロックに対して固有に付されるアドレスであり、論理アドレスは、一旦ブロックに対して書き込まれたデータに付随するようにしてついて回る、ブロック単位の書き込みデータに固有となるアドレスであるとみることができる。
このようなブロックのスワップ処理が行われることで、或る同一の記憶領域(ブロック)に対して繰り返し集中的にアクセスされることが無くなり、書き換え回数が決まっているフラッシュメモリの寿命を延ばすことが可能となる。
そして、この際に論理アドレスを上記処理2のようにして扱うことで、ブロックのスワップ処理によって更新前と更新後のデータとで書き込まれるブロックの移動があるようにされても、FATからは同一のアドレスが見えることになり、以降のアクセスを適正に実行することができるものである。
なお、後述する論理−物理アドレス変換テーブル上での更新のための管理を簡略にすることなどを目的として、ブロックのスワップ処理は、1セグメント内で完結するものとして規定されている。逆に言えば、ブロックのスワップ処理はセグメント間で跨るようにしては行われない。
そして、この際に論理アドレスを上記処理2のようにして扱うことで、ブロックのスワップ処理によって更新前と更新後のデータとで書き込まれるブロックの移動があるようにされても、FATからは同一のアドレスが見えることになり、以降のアクセスを適正に実行することができるものである。
なお、後述する論理−物理アドレス変換テーブル上での更新のための管理を簡略にすることなどを目的として、ブロックのスワップ処理は、1セグメント内で完結するものとして規定されている。逆に言えば、ブロックのスワップ処理はセグメント間で跨るようにしては行われない。
2−4.本実施の形態の論理−物理アドレス変換テーブル
上記図9による説明から分かるように、ブロックのスワップ処理が行われることで、物理アドレスと論理アドレスの対応は変化する。従って、フラッシュメモリに対するデータの書き込み及び読み出しのためのアクセスを実現するには、物理アドレスと論理アドレスとの対応が示される論理−物理アドレス変換テーブルが必要となる。つまり、論理−物理アドレス変換テーブルをFATが参照することで、FATが指定した論理アドレスに対応する物理アドレスが特定され、この特定された物理アドレスにより示されるブロックにアクセスすることが可能になるものである。逆に言えば、論理−物理アドレス変換テーブルが無ければ、FATによるフラッシュメモリへのアクセスが不可能となる。
上記図9による説明から分かるように、ブロックのスワップ処理が行われることで、物理アドレスと論理アドレスの対応は変化する。従って、フラッシュメモリに対するデータの書き込み及び読み出しのためのアクセスを実現するには、物理アドレスと論理アドレスとの対応が示される論理−物理アドレス変換テーブルが必要となる。つまり、論理−物理アドレス変換テーブルをFATが参照することで、FATが指定した論理アドレスに対応する物理アドレスが特定され、この特定された物理アドレスにより示されるブロックにアクセスすることが可能になるものである。逆に言えば、論理−物理アドレス変換テーブルが無ければ、FATによるフラッシュメモリへのアクセスが不可能となる。
従来では、例えばセット本体に対して板状メモリ1が装着されたときに、セット本体側のマイコンが板状メモリ1の記憶内容をチェックすることで、セット本体側で論理−物理アドレス変換テーブルの構築を行い、更にこの構築された論理−物理アドレス変換テーブルをセット本体側のRAMに格納するようにしていた。つまり、板状メモリ1内には、論理−物理アドレス変換テーブルの情報は格納されてはいなかった。
これに対して本実施の形態では、以降説明するようにして板状メモリ1に対して、論理−物理アドレス変換テーブルを格納するように構成するものである。
これに対して本実施の形態では、以降説明するようにして板状メモリ1に対して、論理−物理アドレス変換テーブルを格納するように構成するものである。
図10は、本実施の形態の板状メモリ1に対して格納される論理−物理アドレス変換テーブルの構築形態を概念的に示すものである。
つまり、本実施の形態では、例えば論理アドレスの昇順に従って、これに対応する2バイトの物理アドレスを格納するようにしたテーブル情報を論理−物理アドレス変換テーブルとして構築するようにされる。
なお、前述したように、物理アドレス、及び論理アドレスは共に2バイトで表現される。これは、128MBの最大容量のフラッシュメモリの場合には8192個のブロックが存在するため、最大で、この8192個のブロック数をカバーできるだけのビット数が必要とされることに基づく。
このため、上記図10において例示している物理アドレスと論理アドレスとについても、実際に即して2バイトで表現している。但し、ここでは、この2バイトを16進数により表記している。つまり、「0x」によりその後続く値が16進法表記であることが示される。なお、この「0x」により16進数であることを表す表記は、以降の説明において16進数を表記する場合にも同様に用いることとする。
つまり、本実施の形態では、例えば論理アドレスの昇順に従って、これに対応する2バイトの物理アドレスを格納するようにしたテーブル情報を論理−物理アドレス変換テーブルとして構築するようにされる。
なお、前述したように、物理アドレス、及び論理アドレスは共に2バイトで表現される。これは、128MBの最大容量のフラッシュメモリの場合には8192個のブロックが存在するため、最大で、この8192個のブロック数をカバーできるだけのビット数が必要とされることに基づく。
このため、上記図10において例示している物理アドレスと論理アドレスとについても、実際に即して2バイトで表現している。但し、ここでは、この2バイトを16進数により表記している。つまり、「0x」によりその後続く値が16進法表記であることが示される。なお、この「0x」により16進数であることを表す表記は、以降の説明において16進数を表記する場合にも同様に用いることとする。
図11に、上記図10に示した概念に基づく、本実施の形態としての論理−物理アドレス変換テーブルの構造例を示す。
本実施の形態の論理−物理アドレス変換テーブルは、フラッシュメモリの或るブロック(但し、最後のセグメント内であることが規定される)に対して、図11に示すようにして格納される。
先ず図11(a)に示すように、ブロックを分割するページのうち、ページ0,1からなる2ページの領域がセグメント0用の論理−物理アドレス変換テーブルとして割り当てられる。例えば、図13にて説明したように、フラッシュメモリが4MBの容量であれば1セグメントしか有さないために、このページ0,1のみの領域が論理−物理アドレス変換テーブルの領域となる。
また、例えばフラッシュメモリが8MBの容量であれば2セグメントを有するため、セグメント0用の論理−物理アドレス変換テーブルとして割り当てられるページ0,1に加え、これに続くページ2,3の2ページがセグメント1用の論理−物理アドレス変換テーブルとして割り当てられることになる。
本実施の形態の論理−物理アドレス変換テーブルは、フラッシュメモリの或るブロック(但し、最後のセグメント内であることが規定される)に対して、図11に示すようにして格納される。
先ず図11(a)に示すように、ブロックを分割するページのうち、ページ0,1からなる2ページの領域がセグメント0用の論理−物理アドレス変換テーブルとして割り当てられる。例えば、図13にて説明したように、フラッシュメモリが4MBの容量であれば1セグメントしか有さないために、このページ0,1のみの領域が論理−物理アドレス変換テーブルの領域となる。
また、例えばフラッシュメモリが8MBの容量であれば2セグメントを有するため、セグメント0用の論理−物理アドレス変換テーブルとして割り当てられるページ0,1に加え、これに続くページ2,3の2ページがセグメント1用の論理−物理アドレス変換テーブルとして割り当てられることになる。
以降、フラッシュメモリの容量の増加に応じて、続く2ページごとにセグメントごとの論理−物理アドレス変換テーブルの割り当て領域が設定されていくことになる。そして、最大の128MBの容量を有する場合であれば16セグメントが存在するため、最大では、セグメント15用までのページが論理−物理アドレス変換テーブルの領域として割り当てられることになる。従って、最大の128MBの容量のフラッシュメモリでは、30ページが使用されることになり、図11(a)に示すページNとしては、最大でN=29となる。
これまでの説明から分かるように、論理−物理アドレス変換テーブルは、セグメントごとに管理されるものである。
これまでの説明から分かるように、論理−物理アドレス変換テーブルは、セグメントごとに管理されるものである。
図11(b)は、1セグメントあたりの論理−物理アドレス変換テーブルの構造を示すものとして、2ページ分のデータエリアを抜き出して示している。つまり、1ページのデータエリアは512バイト(図7(e)参照)であることから、図11(b)には、1024(=512×2)バイトが展開されている状態が示されている。
図11(b)に示すように、この2ページ分のデータエリアである1024バイトについて2バイトごとに区切り、この2バイトごとの領域を、先頭から順次、論理アドレス0用、論理アドレス1用・・・・、のようにして割付を行い、最後は先頭から991バイト目と992バイト目の2バイトの領域を論理アドレス495用の領域として割り付けるように規定を行う。これら2バイトごとの領域に対して、各論理アドレスが対応する物理アドレスを書き込むようにする。従って、本実施の形態の論理−物理アドレス変換テーブルでは、実際のデータ更新によるブロックのスワップ処理などにより物理アドレスと論理アドレスの対応が変更された場合には、論理アドレスを基準として、物理アドレスの格納状態が更新されるようにしてテーブル情報の書き換えが行われることになる。
また、残る993バイト目から最後の1024バイト目までの計32バイトの領域は、余剰ブロックの物理アドレスが格納される領域として割り当てられる。つまり、16個の余剰ブロックの物理アドレスを管理することが出来る。ここでいう余剰ブロックとは、例えばブロック単位でデータの更新を行う際に書き換え対象となるデータを一時待避させる領域として設定されたいわゆるワークブロックなどを言うものである。
ところで、1セグメントは512ブロックに分割されているものであると先に説明したのにも関わらず、図11に示したテーブル構造では、管理可能なブロック数が論理アドレス0用〜論理アドレス495用の496ブロックでしかないのは、実際上、上記した余剰アドレスが設定されることと、前述したように、フラッシュメモリでは、或ブロック数のディフェクト(使用不可領域)が許可されており、現実には、相当数のディフェクトブロックが存在することに依る。
従って、実際には、書き込み/消去が有効なブロックを管理するのに、496ブロックを管理できるように構成しておけば充分とされるものである。
従って、実際には、書き込み/消去が有効なブロックを管理するのに、496ブロックを管理できるように構成しておけば充分とされるものである。
そして、このようにして論理−物理アドレス変換テーブルが格納されるブロックについては、これを形成する各ページの冗長部における管理フラグ(図8参照)のデータ内容として、この管理フラグのビット3に対して‘0’がセットされることになる。これにより、当該ブロックが論理−物理アドレス変換テーブルが格納されているブロックであることが示されることになる。
論理−物理アドレス変換テーブルが格納されるブロックも、論理−物理アドレス変換テーブルの内容の書き換えがあった場合には、例外なく、先に図9にて説明したスワップ処理が行われる。従って、論理−物理アドレス変換テーブルが記録されているブロックは不定であり、或る特定のブロックに論理−物理アドレス変換テーブルを格納するように規定することは出来ない。
そこで、FATは、フラッシュメモリにアクセスして上記した管理フラグのビット3が‘0’とされているブロックを検索することで、論理−物理アドレス変換テーブルが格納されているブロックを識別するようにされる。但し、論理−物理アドレス変換テーブルが格納されているブロックの検索がFATによって容易に行われるようにすることを考慮して、論理−物理アドレス変換テーブルが格納されているブロックは、そのフラッシュメモリ内における最後のナンバが付されたセグメントに在るように、本実施の形態では規定するものとされる。これにより、FATは最後のナンバが付されたセグメントのブロックのサーチだけで、論理−物理アドレス変換テーブルを検索することができる。つまり、論理−物理アドレス変換テーブルを検索するのに、フラッシュメモリの全てのセグメントを検索する必要は無いようにされる。
上記図11に示した論理−物理アドレス変換テーブルは、例えば板状メモリ1の製造時において格納するようにされる。
そこで、FATは、フラッシュメモリにアクセスして上記した管理フラグのビット3が‘0’とされているブロックを検索することで、論理−物理アドレス変換テーブルが格納されているブロックを識別するようにされる。但し、論理−物理アドレス変換テーブルが格納されているブロックの検索がFATによって容易に行われるようにすることを考慮して、論理−物理アドレス変換テーブルが格納されているブロックは、そのフラッシュメモリ内における最後のナンバが付されたセグメントに在るように、本実施の形態では規定するものとされる。これにより、FATは最後のナンバが付されたセグメントのブロックのサーチだけで、論理−物理アドレス変換テーブルを検索することができる。つまり、論理−物理アドレス変換テーブルを検索するのに、フラッシュメモリの全てのセグメントを検索する必要は無いようにされる。
上記図11に示した論理−物理アドレス変換テーブルは、例えば板状メモリ1の製造時において格納するようにされる。
ここで、再度図13を参照して、フラッシュメモリ容量と論理−物理アドレス変換テーブルのサイズとの関係を説明しておく。
上記図11にて説明したように、1セグメントを管理するための論理−物理アドレス変換テーブルのサイズは2ページ分の1024バイト、つまり1KBとなる。従って、図13の最も右の列に記されているように、フラッシュメモリが4MB(1セグメント)の容量では論理−物理アドレス変換テーブルは1KBのサイズとなる。また、フラッシュメモリの容量が8MB(2セグメント)では論理−物理アドレス変換テーブルは2KB(4ページ)となる。
また、フラッシュメモリの容量が16MBの場合、2048ブロック=4セグメントのものでは論理−物理アドレス変換テーブルは4KB(8ページ)、1024ブロック=2セグメントのものでは論理−物理アドレス変換テーブルは2KB(4ページ)となる。
そして、フラッシュメモリの容量が32MB(4セグメント)では論理−物理アドレス変換テーブルは4KB(8ページ)、フラッシュメモリの容量が64MB(8セグメント)では論理−物理アドレス変換テーブルは8KB(16ページ)となり、フラッシュメモリの容量が最大の128MB(16セグメント)では論理−物理アドレス変換テーブルは16KB(32ページ)となる。
上記図11にて説明したように、1セグメントを管理するための論理−物理アドレス変換テーブルのサイズは2ページ分の1024バイト、つまり1KBとなる。従って、図13の最も右の列に記されているように、フラッシュメモリが4MB(1セグメント)の容量では論理−物理アドレス変換テーブルは1KBのサイズとなる。また、フラッシュメモリの容量が8MB(2セグメント)では論理−物理アドレス変換テーブルは2KB(4ページ)となる。
また、フラッシュメモリの容量が16MBの場合、2048ブロック=4セグメントのものでは論理−物理アドレス変換テーブルは4KB(8ページ)、1024ブロック=2セグメントのものでは論理−物理アドレス変換テーブルは2KB(4ページ)となる。
そして、フラッシュメモリの容量が32MB(4セグメント)では論理−物理アドレス変換テーブルは4KB(8ページ)、フラッシュメモリの容量が64MB(8セグメント)では論理−物理アドレス変換テーブルは8KB(16ページ)となり、フラッシュメモリの容量が最大の128MB(16セグメント)では論理−物理アドレス変換テーブルは16KB(32ページ)となる。
ところで、例えば従前におけるフラッシュメモリのファイルシステムの構成では、論理−物理アドレス変換テーブル上において、未使用とされる論理アドレスに対応する物理アドレスの領域には、実質的なアドレス値は不確定として格納しないようにされている。
一例を挙げると、図12(b)に示す論理−物理アドレス変換テーブルにおいて、例えば論理アドレス0x0000,0x0001,0x0002,0x0003は既に使用されているものとすると、これらに対応する物理アドレスの格納領域には、例えばそれぞれ、0x0002,0x0006,0x0007,0x0008という実際に論理アドレス(0x0000〜0x0003)に対応してデータが書き込まれた物理アドレスの値が格納されていることになる。
これに対して、論理アドレス0x0004は未使用であるとするならば、この論理アドレス0x0004が対応する物理アドレスの格納領域には、0xFFFFという無効値(即ち、未使用であることが識別される値)が設定される。
一例を挙げると、図12(b)に示す論理−物理アドレス変換テーブルにおいて、例えば論理アドレス0x0000,0x0001,0x0002,0x0003は既に使用されているものとすると、これらに対応する物理アドレスの格納領域には、例えばそれぞれ、0x0002,0x0006,0x0007,0x0008という実際に論理アドレス(0x0000〜0x0003)に対応してデータが書き込まれた物理アドレスの値が格納されていることになる。
これに対して、論理アドレス0x0004は未使用であるとするならば、この論理アドレス0x0004が対応する物理アドレスの格納領域には、0xFFFFという無効値(即ち、未使用であることが識別される値)が設定される。
ここで、上記図12(b)に示す論理−物理アドレス変換テーブルを利用して、論理アドレス0x0004に対応するデータを新規に記録しようとした場合には、例えばFATにより、論理−物理アドレス変換テーブルとは異なる階層で、物理的に未使用とされているブロックの検索を行い、この検索されたブロックに対してデータの書き込みを実行するようにされる。そして、論理−物理アドレス変換テーブルに対しては、そのデータ書き込みが新規に行われたブロックを示す物理アドレスを論理アドレス0x0004に対応する格納領域に対して書き込むようにして、その内容を更新することになる。
このような論理−物理アドレス変換テーブルの管理形態であると、次のような不都合が生じることが想定される。
ここで、セット本体側において扱うべきデータが、動画像データや楽曲等の音声データなど、いわゆるリアルタイム性を有する時系列データであるとする。
そして、セット本体では、入力されてきた時系列データについてリアルタイムに信号処理を行って、このデータを記録データとして板状メモリ1に記録するような構成が採られているものとする。
。
上記図12(b)により説明したような論理−物理アドレス変換テーブルの管理形態を採っているとすると、データ記録時には、先に述べたような未使用ブロックのサーチが必然となるが、上記したような時系列データを記録していく場合には、入力された記録データがオーバーフローしない程度の平均速度で書き込む必要があるため、この際の未使用ブロックのサーチは非常に重い処理となってしまう。つまり、現状では、リアルタイム性を有するデータを板状メモリ1に記録することは非常に困難であり、実用上は、リアルタイム性が要求されない文書ファイルや静止画ファイルなどの記録にとどまっている。
ここで、セット本体側において扱うべきデータが、動画像データや楽曲等の音声データなど、いわゆるリアルタイム性を有する時系列データであるとする。
そして、セット本体では、入力されてきた時系列データについてリアルタイムに信号処理を行って、このデータを記録データとして板状メモリ1に記録するような構成が採られているものとする。
。
上記図12(b)により説明したような論理−物理アドレス変換テーブルの管理形態を採っているとすると、データ記録時には、先に述べたような未使用ブロックのサーチが必然となるが、上記したような時系列データを記録していく場合には、入力された記録データがオーバーフローしない程度の平均速度で書き込む必要があるため、この際の未使用ブロックのサーチは非常に重い処理となってしまう。つまり、現状では、リアルタイム性を有するデータを板状メモリ1に記録することは非常に困難であり、実用上は、リアルタイム性が要求されない文書ファイルや静止画ファイルなどの記録にとどまっている。
そこで、本実施の形態の論理−物理アドレス変換テーブルとしては、未使用の論理アドレスに対応する格納領域に対して、未使用のエリアとして管理されているブロックの物理アドレスを予め割り当てておくようにする。この具体例を図12(a)に示す。
図12(a)に示す論理−物理アドレス変換テーブルにおいては、論理アドレス0x0000,0x0001,0x0002,0x0003は使用されているものとされ、これに対応する物理アドレスの格納領域に対して、例えば0x0002,0x0006,0x0007,0x0008という、実際にデータが記録されている物理アドレスの値が格納されている点では図12(a)と同様である。また、論理アドレス0x0004は未使用であるとしている点も図12(a)と同様である。
図12(a)に示す論理−物理アドレス変換テーブルにおいては、論理アドレス0x0000,0x0001,0x0002,0x0003は使用されているものとされ、これに対応する物理アドレスの格納領域に対して、例えば0x0002,0x0006,0x0007,0x0008という、実際にデータが記録されている物理アドレスの値が格納されている点では図12(a)と同様である。また、論理アドレス0x0004は未使用であるとしている点も図12(a)と同様である。
但し、本実施の形態では、この未使用の論理アドレス0x0004が対応する物理アドレスの格納領域に対しては、0xFFFFという無効値を設定するのではなく、未使用のエリアのブロックを指定する物理アドレスとして、例えば0x0009を格納する。ここでは、未使用のエリアに関して、論理アドレス0x0004に対応する格納領域しか示していないが、他の未使用とされる論理アドレスに対応する格納領域の各々に対しても、同様にして、それぞれ異なる未使用のブロックの物理アドレスが格納されるものである。
このようにして論理−物理アドレス変換テーブルを構築した場合、論理−物理アドレス変換テーブルに対して既に空きエリアを示す物理アドレスが、論理アドレスと対応付けされて示されているものと見ることが出来る。
これにより、FATでは、論理−物理アドレス変換テーブルを参照することで事前に未使用のブロックの物理アドレスと論理アドレスとの対応を採ることが出来、データ記録時においては、図12(b)に示した形態の場合のように、未使用のブロックをサーチする処理を実行する必要が無くなる。つまり、FAT上で空きエリアとして管理される論理アドレスに対応する物理アドレスを論理−物理アドレス変換テーブルを参照することにより得て、この物理アドレスにより示されるブロックに対してアクセスしてデータ書き込みを実行すればよいことになる。このため、セット本体のマイコンの処理負担は大幅に軽減され、例えば先に述べた時系列データの記録も容易に実現可能となるものである。なお、これまでのように文書ファイルや静止画データなど、リアルタイムな処理が要求されないデータ書き込みに際しても、図12(a)に示した本実施の形態のファイルシステムとすれば、当然のこととして、これまでよりもデータ書き込みに要する時間は短縮されるものである。
これにより、FATでは、論理−物理アドレス変換テーブルを参照することで事前に未使用のブロックの物理アドレスと論理アドレスとの対応を採ることが出来、データ記録時においては、図12(b)に示した形態の場合のように、未使用のブロックをサーチする処理を実行する必要が無くなる。つまり、FAT上で空きエリアとして管理される論理アドレスに対応する物理アドレスを論理−物理アドレス変換テーブルを参照することにより得て、この物理アドレスにより示されるブロックに対してアクセスしてデータ書き込みを実行すればよいことになる。このため、セット本体のマイコンの処理負担は大幅に軽減され、例えば先に述べた時系列データの記録も容易に実現可能となるものである。なお、これまでのように文書ファイルや静止画データなど、リアルタイムな処理が要求されないデータ書き込みに際しても、図12(a)に示した本実施の形態のファイルシステムとすれば、当然のこととして、これまでよりもデータ書き込みに要する時間は短縮されるものである。
3.システム構成
図1は、これまで説明した本実施の形態の板状メモリ1に対応してデータの授受を行うことの出来るセット本体(本体装置)の構成を示している。この図に示すセット本体100と板状メモリ1とにより、本実施の形態としての電子機器システムが構成される。この場合、セット本体100は、板状メモリ1に対して少なくともオーディオデータの書き込み/読み出しを行うことが可能な機器とされている。
図1は、これまで説明した本実施の形態の板状メモリ1に対応してデータの授受を行うことの出来るセット本体(本体装置)の構成を示している。この図に示すセット本体100と板状メモリ1とにより、本実施の形態としての電子機器システムが構成される。この場合、セット本体100は、板状メモリ1に対して少なくともオーディオデータの書き込み/読み出しを行うことが可能な機器とされている。
セット本体100の構成としては、当該セット本体100が着脱可能に装填される着脱機構120が備えられ、この着脱機構120に装填された板状メモリ1と、マイコン109とのデータの授受は、ホストインターフェイスIC101を介することで行われる。
また、このセット本体100には、例えば、マイクロフォン103が備えられて、このマイクロフォン103により収音された音声は、マイクアンプ104を介して音声信号としてDSP(Digital Signal Processor)102に対して供給される。DSP102では、この入力された音声信号をデジタルオーディオデータに変換して、エンコード処理当をはじめとする所要の信号処理を施し、記録データとしてマイコン109に供給する。
マイコン109は、この記録データをホストインターフェイスIC101を介して板状メモリ1に記録するための処理を実行することが可能とされる。
マイコン109は、この記録データをホストインターフェイスIC101を介して板状メモリ1に記録するための処理を実行することが可能とされる。
また、マイコン109は、板状メモリ1に記録されているオーディオデータをホストインターフェイスIC101を介して読み出し、この読み出したデータをDSP102に供給する。
DSP102では、供給されたデータについて復調処理をはじめとする所要の信号処理を施して、最終的にはアナログ音声信号としてスピーカアンプ105に出力する。スピーカアンプ105では、入力された音声信号を増幅してスピーカ106に出力する。これにより、再生音声が出力される。
DSP102では、供給されたデータについて復調処理をはじめとする所要の信号処理を施して、最終的にはアナログ音声信号としてスピーカアンプ105に出力する。スピーカアンプ105では、入力された音声信号を増幅してスピーカ106に出力する。これにより、再生音声が出力される。
また、マイコン109は、表示ドライバ107を制御することで、表示部108に対して、所要の画像を表示させることが可能とされる。ここで、例えば板状メモリ1に対して動画若しくは静止画の画像データが記録されているとすれば、この画像データを読み出して、表示部108に表示させるようにすることも可能とされる。
操作部112には、セット本体に対する各種操作をユーザが行うための各種キーが設けられている。マイコン109は、この操作部112に対して行われた操作に応じたコマンドを受信し、コマンドに応じた所要の制御処理を実行する。
なお、この図に示すセット本体100の構成はあくまでも一例であり、これに限定されるものではない。つまり、本実施の形態の板状メモリ1に対応してデータの送受信が可能な構成を採る限りは、どのようなタイプの電子機器とされていても構わないものである。
なお、この図に示すセット本体100の構成はあくまでも一例であり、これに限定されるものではない。つまり、本実施の形態の板状メモリ1に対応してデータの送受信が可能な構成を採る限りは、どのようなタイプの電子機器とされていても構わないものである。
上記図1に示す構成のセット本体100により、上述したような板状メモリ1に対する記録再生(データ書き込み/読み出し)を実現するのには、ファイルシステム上でFATが参照する論理−物理アドレス変換テーブルが必要となるのは前述したとおりである。
そこで図2に、上記図1に示す構成に基づくセット本体100のマイコン109と板状メモリ1に格納されている論理−物理アドレス変換テーブル間とのインターフェイスを概念的に示す。
例えば、本実施の形態の板状メモリ1が装填されたときには、マイコン109は、ホストインターフェイスIC101を介して、板状メモリ1に格納されている論理−物理アドレス変換テーブルTBのうちから必要なデータ部分を読み込んで、内部のRAM111に格納すればよいことになる。
そこで図2に、上記図1に示す構成に基づくセット本体100のマイコン109と板状メモリ1に格納されている論理−物理アドレス変換テーブル間とのインターフェイスを概念的に示す。
例えば、本実施の形態の板状メモリ1が装填されたときには、マイコン109は、ホストインターフェイスIC101を介して、板状メモリ1に格納されている論理−物理アドレス変換テーブルTBのうちから必要なデータ部分を読み込んで、内部のRAM111に格納すればよいことになる。
また、上記図1に示した本実施の形態のシステムとの比較として、従来としてのシステムの構成を図3に示す。従来のシステムでは、板状メモリ1Aに対して論理−物理アドレス変換テーブルが格納されていないものとしており、図3に示す構成は、これに対応した構成が採られている。なお、図3において図1と同一部分には同一符号を付して説明を省略する。
図3に示すシステム構成では、セット本体100Aにおいて、外付けのRAM113が備えられている点が図1と異なる。このRAM113はマイコン109と接続されている。
図3に示すシステム構成では、セット本体100Aにおいて、外付けのRAM113が備えられている点が図1と異なる。このRAM113はマイコン109と接続されている。
また、先に示した図2(本実施の形態のインターフェイス)に対する比較として、上記図3に示した従来としてのシステム構成に基づく、セット本体100Aのマイコン109と板状メモリ1とのインターフェイスを図4に示す。
RAM113は論理−物理アドレス変換テーブルを格納するためのものとされる。つまり、板状メモリ1A(これには論理−物理アドレス変換テーブルは格納されていない)が装着されると、マイコン109はホストインターフェイスIC101を介して、板状メモリ1Aにアクセスし、そのデータ内容をチェックして論理−物理アドレス変換テーブルを構築するための処理を実行する。そして、このようにして得られた論理−物理アドレス変換テーブルTBをRAM113に格納するものである。
例えば、マイコン109内のRAM111は多くても数十KB程度の容量しか有していないために、このRAM111に対して、最大で16KBのサイズを有する論理−物理アドレス変換テーブルを保持しておくのは、他の処理との兼ね合いを考えると非常に無理なことであり、RAM111の容量によっては論理−物理アドレス変換テーブルのサイズを下回る場合さえある。つまり、セット本体側で論理−物理アドレス変換テーブルを作成してこれを保持する構成を採る場合、RAM111に論理−物理アドレス変換テーブルを格納するのは現実的ではない。このために、従来では、外付けのRAM113が必要となるわけである。
これに対して、本実施の形態では板状メモリ1に論理−物理アドレス変換テーブルが格納されている構成を採っており、図2にて説明したように、単に板状メモリ1から論理−物理アドレス変換テーブルの必要な領域のみを読み出して、内部のRAM111に保持させればよい。例えばマイコン109が必要とする論理−物理アドレス変換テーブルが或る1セグメントの内容であるとすれば、1セグメント分の論理−物理アドレス変換テーブルのサイズは1024バイト(図11参照)であり、RAM111の容量を圧迫する程度のものではなく、何ら問題にはならないものである。
このため、図1にも示したように、本実施の形態では、外付けのRAM113は省略される。従って、それだけセット本体100のコストを抑制することが可能になると共に、外付けのRAM113を駆動するための消費電力分を節減することが可能になる。
このため、図1にも示したように、本実施の形態では、外付けのRAM113は省略される。従って、それだけセット本体100のコストを抑制することが可能になると共に、外付けのRAM113を駆動するための消費電力分を節減することが可能になる。
また、本実施の形態では、セット本体100のマイコンの処理として、論理−物理アドレス変換テーブルを構築する処理も必要ない。このため、マイコンによる論理−物理アドレス変換テーブル構築処理のための待ち時間はなくなり、例えば板状メモリ1を装着したときに行われるファイルシステムの立ち上げ処理は、従来よりもはるかに短時間で済むことになる。
更に、本実施の形態では、図12にて説明したように、未使用のブロックの物理アドレスを未使用の論理アドレスと対応させた論理−物理アドレス変換テーブルとしていることで、FATによる未使用のブロックへのアクセスは、従来よりも軽い処理で迅速に実行されることになる。特に、図1に示したように、オーディオデータ等のリアルタイムな処理が要求されるデータを記録する構成をセット本体100が採るような場合には有効となるものである。
なお、本実施の形態としては、これまで説明した構成に限定されるものではなく、必要に応じて変更が可能とされる。例えば、本発明の記憶装置としては、図3に示した外形形状に限定されるものではなく、他の外形形状とされても構わない。また、これまで説明したファイルシステムのフォーマットも、例えば実際に応じてその細部の規定などは変更されて構わない。更には、フラッシュメモリ容量のバリエーションも図13に示したものに限定されるものではない。
1 板状メモリ、2 端子部、4 凹凸部、5 スライドスイッチ、100 セット本体、103 マイクロフォン、104 マイクアンプ、105 スピーカアンプ、106 スピーカ、107 表示ドライバ、108 表示部、109 マイコン(マイクロコンピュータ)、112 操作部、120 着脱機構、TB 論理−物理アドレス変換テーブル
Claims (3)
- 当該記憶媒体とデータの送受信を行う本体装置に対して着脱可能とされると共に、記憶領域を所定の固定長により分割した分割記憶領域が形成されているものとしたうえで、
上記分割記憶領域は、少なくとも1つのデータ読出/書き込み単位領域からなるデータ消去単位領域を1つ以上備えて構成され、
少なくとも、上記分割記憶領域ごとに対応して付された物理アドレスと、上記分割記憶領域に対して書き込まれるべきデータに対応づけられる論理アドレスとの対応を示すテーブル情報と、未使用の論理アドレスに対してデータ未記録領域としての分割記憶領域の物理アドレスを対応させたアドレス情報とが上記記憶領域の所定の分割記憶領域に記憶されているとともに、
上記テーブル情報であることを識別するための識別情報が、上記テーブル情報に対して付されている
ことを特徴とする記憶媒体。 - 記憶領域を所定の固定長により分割した分割記憶領域が形成されている記憶媒体と、
上記記憶媒体が着脱可能とされると共に、装着された上記記憶媒体とデータの送受信を行うことの出来る本体装置とから成り、
上記記憶媒体は、少なくとも1つのデータ読出/書き込み単位領域からなるデータ消去単位領域を1つ以上備えて構成さた上記分割記憶領域を備えて構成され、
上記分割記憶領域ごとに対応して付された物理アドレスと、上記分割記憶領域に対して書き込まれるべきデータに対応づけられる論理アドレスとの対応を示すテーブル情報と、未使用の論理アドレスに対してデータ未記録領域としての分割記憶領域の物理アドレスを対応させたアドレス情報とが上記記憶領域の所定の分割記憶領域に記憶されているとともに、上記テーブル情報であることを識別するための識別情報が、上記テーブル情報に対して付されており、
上記本体装置は、装着された記憶媒体に記憶されている上記テーブル情報及び上記アドレス情報を利用して、この装着された記憶媒体とのデータの送受信を実行するように構成されている、
ことを特徴とする電子機器システム。 - 上記本体装置と上記記憶媒体間とで送受信されるデータは、時系列データであることを特徴とする請求項2に記載の電子機器システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007337688A JP2008090870A (ja) | 2007-12-27 | 2007-12-27 | 記憶媒体及び電子機器システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007337688A JP2008090870A (ja) | 2007-12-27 | 2007-12-27 | 記憶媒体及び電子機器システム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21263098A Division JP4085478B2 (ja) | 1998-07-28 | 1998-07-28 | 記憶媒体及び電子機器システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008090870A true JP2008090870A (ja) | 2008-04-17 |
Family
ID=39374883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007337688A Pending JP2008090870A (ja) | 2007-12-27 | 2007-12-27 | 記憶媒体及び電子機器システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008090870A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068430A (zh) * | 2015-06-30 | 2015-11-18 | 青岛海尔智能家电科技有限公司 | 一种家电组操作方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
JPH08194640A (ja) * | 1995-01-19 | 1996-07-30 | Fujitsu Ltd | 記憶装置のメモリ管理装置 |
JPH10124384A (ja) * | 1996-08-28 | 1998-05-15 | Toshiba Corp | 不揮発性半導体メモリの制御方法 |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
-
2007
- 2007-12-27 JP JP2007337688A patent/JP2008090870A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
JPH08194640A (ja) * | 1995-01-19 | 1996-07-30 | Fujitsu Ltd | 記憶装置のメモリ管理装置 |
JPH10124384A (ja) * | 1996-08-28 | 1998-05-15 | Toshiba Corp | 不揮発性半導体メモリの制御方法 |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068430A (zh) * | 2015-06-30 | 2015-11-18 | 青岛海尔智能家电科技有限公司 | 一种家电组操作方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4085478B2 (ja) | 記憶媒体及び電子機器システム | |
US7752412B2 (en) | Methods of managing file allocation table information | |
US7681008B2 (en) | Systems for managing file allocation table information | |
KR101139224B1 (ko) | 소거/재기록 가능 메모리를 위해 고안된 호스트 장치에사용할 수 있는 한 번 또는 몇 번의 프로그램이 가능한메모리를 위한 방법 및 장치 | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
JP4356686B2 (ja) | メモリ装置及びメモリ制御方法 | |
US6278678B1 (en) | Editing apparatus, editing method, and recording medium | |
US20050036372A1 (en) | Data storing apparatus | |
KR20040038708A (ko) | 비휘발성 메모리 시스템에서 블록 캐싱을 수행하는 방법및 시스템 | |
JP2008033788A (ja) | 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法 | |
JP2001188686A (ja) | データ書換装置、制御方法および記録媒体 | |
JP4561246B2 (ja) | メモリ装置 | |
JP4130808B2 (ja) | フォーマット方法 | |
TW200832132A (en) | Managing file allocation table information | |
JP4441968B2 (ja) | 記録方法、管理方法、及び記録装置 | |
JP2008090870A (ja) | 記憶媒体及び電子機器システム | |
JP2001325134A (ja) | ディレクトリ設定方法、記録装置 | |
JP4474716B2 (ja) | 編集装置、編集方法 | |
JP2006133923A (ja) | データ記録再生装置、記録再生方法、プログラム並びにデータ記録媒体 | |
JP4403338B2 (ja) | 情報処理装置、情報処理方法 | |
JP3624647B2 (ja) | 記憶装置、データ管理装置、データ管理システム、データ管理方法、ファイル管理装置、記録媒体及びファイル管理システム | |
JP4055712B2 (ja) | データ管理装置、データ管理方法及びデータ管理システム | |
JP2001331280A (ja) | 情報処理装置、情報処理方法 | |
JP2002007204A (ja) | 情報処理装置、情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20100126 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100525 |