JP2007310447A - データ記憶装置およびこの初期化方法 - Google Patents

データ記憶装置およびこの初期化方法 Download PDF

Info

Publication number
JP2007310447A
JP2007310447A JP2006136237A JP2006136237A JP2007310447A JP 2007310447 A JP2007310447 A JP 2007310447A JP 2006136237 A JP2006136237 A JP 2006136237A JP 2006136237 A JP2006136237 A JP 2006136237A JP 2007310447 A JP2007310447 A JP 2007310447A
Authority
JP
Japan
Prior art keywords
storage device
data
data storage
host device
fat
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.)
Granted
Application number
JP2006136237A
Other languages
English (en)
Other versions
JP4663577B2 (ja
Inventor
Tadashi Arakawa
忠史 荒川
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.)
Buffalo Inc
Original Assignee
Buffalo Inc
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 Buffalo Inc filed Critical Buffalo Inc
Priority to JP2006136237A priority Critical patent/JP4663577B2/ja
Priority to PCT/JP2007/060181 priority patent/WO2007132931A1/ja
Priority to CN2007800175733A priority patent/CN101443739B/zh
Priority to EP07743616A priority patent/EP2031515A4/en
Priority to US12/300,634 priority patent/US20090164538A1/en
Priority to TW096117255A priority patent/TW200819975A/zh
Publication of JP2007310447A publication Critical patent/JP2007310447A/ja
Application granted granted Critical
Publication of JP4663577B2 publication Critical patent/JP4663577B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】ホスト装置からのフォーマット処理により複数の管理テーブルが生成されるデータ記憶装置において、データの書き込み効率を向上させる。
【解決手段】データ記憶装置10は、USBコネクタ110とUSB制御回路120とフラッシュコントローラ130とフラッシュメモリFLとを備えている。フラッシュコントローラ130は、ホスト装置20によってフォーマットされると、電源の再投入時に、バイオスパラメータブロック領域に記録されたFAT数データを「2」から「1」に強制的に書き換える。こうすることで、ホスト装置からは、FAT領域が一つのみ存在すると認識されることになる。
【選択図】図2

Description

本発明は、ホスト装置から転送されたデータを記憶するデータ記憶装置の初期化技術に関する。
コンピュータ等のホスト装置から転送されたデータを記憶するデータ記憶装置として、ハードディスクドライブやメモリカード、USBフラッシュメモリ等の種々の装置がある。これらのデータ記憶装置に適用されるファイルシステムとしては、FATと呼ばれるファイルシステムが一般的である。このFATファイルシステムによる初期化(フォーマット)処理では、ファイルアロケーションテーブルと呼ばれる管理テーブルがデータ記憶装置内に記憶される。このファイルアロケーションテーブルには、管理対象のファイル毎に、そのファイルのクラスタ構造や記録位置を示す管理情報が記録される。
上述のように、ファイルアロケーションテーブルには非常に重要な情報が記録されるため、通常、ホスト装置は、データ記憶装置を初期化するに際し、同一内容の2つのファイルアロケーションテーブルを記憶させる。これにより、一方のファイルアロケーションテーブルが損傷したとしても、もう一方のファイルアロケーションテーブルを用いることにより、正常にデータの読み書きを行うことが可能になる(下記特許文献1参照)。
特開平11−249968号公報
しかし、近年のデータ記憶装置は、その装置単体でECCデータ等に基づくエラー訂正が可能となっているものが多く、データ保存の信頼性が高くなっている。そのため、ホスト装置からのフォーマット処理によって、同一内容のファイルアロケーションテーブルが2つ用意されたとしても、2つ目のファイルアロケーションテーブルが使用されることは極めてまれなことであった。このような場合において、2つ用意されたファイルアロケーションテーブルに対してそれぞれファイルの管理情報を記録することは、ファイルの書き込み効率の低下の要因となっていた。このような問題は、FATファイルシステムに限らず、同一内容の2以上の管理テーブルを記録する必要のある他のファイルシステムを採用するデータ記憶装置においても同様の問題であった。
このような問題を考慮し、本発明が解決しようとする課題は、ホスト装置からのフォーマット処理により複数の管理テーブルが生成されるデータ記憶装置において、データの書き込み効率を向上させることにある。
上記課題を踏まえ、本発明のデータ記憶装置を次のように構成した。すなわち、
ホスト装置から転送されたデータを記憶するデータ記憶装置であって、
前記ホスト装置によるフォーマット処理によって、前記データを記憶するためのデータ記憶領域が確保されるとともに、該データ記憶領域内に記憶された個々のデータの記録位置を管理するための同一内容の複数の管理テーブルと、該管理テーブルの数を示すテーブル数データとが記憶される記憶デバイスと、
前記ホスト装置による前記フォーマット処理後に、前記記憶デバイスに記憶された前記テーブル数データを、該フォーマット処理によって記憶された値よりも少ない値に書き換える書換手段と、
前記ホスト装置からの前記データの転送に先立ち、該ホスト装置からの求めに応じて、前記書き換えたテーブル数データを該ホスト装置に出力する出力手段と
を備えることを要旨とする。
本発明のデータ記憶装置によれば、ホスト装置によるフォーマット処理によって同一内容の複数の管理テーブルが記憶されたとしても、テーブル数データを書き換えることで、実質的に、その管理テーブルの数を強制的に減ずることができる。そのため、ホスト装置は、管理テーブルに対するデータの書き込み位置の記録を通常よりも少ない回数で済ますことが可能となり、データ記憶装置の書き込み効率を向上させ、動作の高速化を図ることが可能になる。特に、フラッシュメモリやハードディスクといった近年の記憶デバイスは、ホスト装置とは独立してECCデータ等に基づくエラー訂正が可能となっていることが多い。従って、本願の構成により、管理テーブルの数を減じたとしても、データ保存の信頼性が損なわれる可能性は低い。
上記構成のデータ記憶装置において、
前記ホスト装置は、FATファイルシステムに基づき前記フォーマット処理を行うものとしてもよい。この場合、前記記憶デバイスは、前記管理テーブルとして、前記FATファイルシステムに基づくファイルアロケーションテーブルを記憶するものとすることができる。また、前記記憶デバイスは、前記テーブル数データとして、前記ファイルアロケーションテーブルの数を、前記FATファイルシステムに基づき前記記憶デバイスに確保されたバイオスパラメータブロック領域に記憶するものとすることができる。
このような構成によれば、汎用的なFATファイルシステムによってフォーマットされたデータ記憶装置の高速化を図ることが可能になり、ユーザの利便性を向上させることができる。
上記構成のデータ記憶装置において、
前記記憶デバイスは、不揮発性の半導体メモリとすることができる。
このような構成によれば、携帯性に優れた小型のデータ記憶装置を提供することができる。不揮発性の半導体メモリとしては、例えば、NAND型やNOR型の各種フラッシュメモリ、EEPROM、バッテリバックアップされたDRAM等を利用することができる。なお、記憶デバイスとしては、半導体メモリ以外にも、例えば、ハードディスクドライブや、書き換え可能な光ディスクなどを採用することができる。
上記構成のデータ記憶装置において、
前記ホスト装置と当該データ記憶装置とは、USBインタフェースによって接続されるものとしてもよい。
このような構成であれば、ホスト装置に用意されたUSBインタフェースに本発明のデータ記憶装置を接続するだけで、容易に本発明のデータ記憶装置を利用することができ、ユーザの利便性を向上させることができる。なお、USBインタフェース以外にも、例えば、PCMCIAインタフェースやシリアルATAインタフェース、IEEE1394インタフェースなどによって接続されるものとしてもよい。
なお、本発明は、上述したデータ記憶装置としての構成のほか、データ記憶装置の初期化方法としても構成することができる。
以下、上述した本発明の作用・効果を一層明らかにするため、本発明の実施の形態を実施例に基づき次の順序で説明する。
A.データ記憶装置の概略構成:
B.メイン処理:
C.FAT数書換処理:
D.ライト処理:
E.リード処理:
F.効果:
G.変形例:
A.データ記憶装置の概略構成:
図1は、実施例としてのデータ記憶装置10とホスト装置20の概略構成を示す説明図である。ホスト装置20は、いわゆるパーソナルコンピュータであり、図示するように、CPU200と、RAM210と、オペレーティングシステムおよびデータ記憶装置10との通信を制御するためのドライバがインストールされたハードディスクドライブ220と、USBインタフェース230とを備えている。一方、データ記憶装置10は、USBコネクタ110とUSB制御回路120とフラッシュコントローラ130とフラッシュメモリFLとによって構成されている。
USBコネクタ110は、データ記憶装置10の筐体から露出して設けられており、ホスト装置20のUSBインタフェース230に接続される。本実施例では、データ記憶装置10を駆動するため電力は、このUSBコネクタ110を通じてホスト装置20から供給されるものとする。もちろん、電力は、データ記憶装置10に接続された図示していないACアダプタ等から供給されるものとしてもよい。
USB制御回路120は、USBコネクタ110とフラッシュコントローラ130とに接続されている。USB制御回路120は、当該データ記憶装置10をUSBマスストレージクラスのデバイスとして動作させる回路であり、USBプロトコルに基づきホスト装置20との通信を制御する回路である。このUSB制御回路120は、更に、ホスト装置20から受信したUSBコマンドをATAコマンドやSCSIコマンドに変換したり、フラッシュコントローラ130から受信したデータやステータス信号をUSBコマンドに変換する機能を備える。ATAコマンドやSCSIコマンドは、ANSI(American National Standard Institute)によって標準化されたコマンドであり、本実施例のデータ記憶装置10の他、ハードディスクやPCカード型メモリ等の種々のデータ記憶装置に対してデータの読み書きを制御するための汎用性を有するコマンドである。
フラッシュコントローラ130は、USB制御回路120から転送されたATAコマンドを解釈し、フラッシュメモリFLに対するデータの読み書きを制御する集積回路である。フラッシュコントローラ130は、かかる制御を行うために、内部にCPUやROM、RAM等を備えている。このROMには、データ記憶装置10の動作を制御するためのプログラムが記録されている。CPUは、RAMをワークエリアとして用いつつ、このプログラムを実行することで、データ記憶装置10の全般的な動作を制御する。
フラッシュコントローラ130は、EEPROM137を備えている。EEPROM137には、フラッシュメモリFLに確保されるFAT領域の数を制御するためのFATコントロールフラグが記憶される。このFATコントロールフラグの働きについては後で詳細に説明する。
図2は、データ記憶装置10のデータ構造を示す説明図である。データ記憶装置10は、ホスト装置20からのFATファイルシステムに基づくフォーマット処理により、図の左側に示すような各領域が生成される。具体的には、フラッシュメモリFLの先頭アドレスから順に、マスタブートレコード領域(以下、「MBR領域」という)、バイオスパラメータブロック領域(以下、「BPB領域」という)、FAT1領域、FAT2領域、ルートディレクトリ領域、ユーザデータ領域、が生成される。
MBR領域は、ホスト装置20が接続された際に、最初に読み込まれる領域である。この領域には、ブートストラップコードやパーティションテーブルなどの情報(以下、「MBR情報」という)が記録される。パーティションテーブルには、生成されるパーティションの数や、各パーティションの開始セクタおよび終了セクタ、オフセット、総セクタ数などの情報が記録される。本実施例では、パーティションは1つだけ生成されているものとする。
BPB領域は、各パーティションの先頭セクタに記録され、そのパーティションのフォーマット形式やセクタ数、後述するファイルアロケーションテーブルの数を示すFAT数データ等が記録される(以下、これらの情報をまとめて、「BPB情報」という)。FATファイルシステムでは、通常、ファイルアロケーションテーブルは2つ用意されるため、ホスト装置20によるフォーマット処理後には、FAT数データとして「2」が設定される。ホスト装置20は、データ記憶装置10がUSBインタフェース230に接続されると、このBPB領域内のFAT数データを参照することで、データ記憶装置10が有するファイルアロケーションテーブルの数を認識し、その数に応じてファイルアロケーションテーブルへの管理情報の書き込みを行う。
FAT1領域およびFAT2領域には、ユーザデータ領域に書き込まれた各ファイルの所在およびそのクラスタ構造を示すファイルアロケーションテーブルが記録される。FATファイルシステムに基づく通常のフォーマット処理では、FAT1領域とFAT2領域とには、同一内容のファイルアロケーションテーブルが用意される。
ルートディレクトリ領域は、ユーザデータ領域に記録されたファイルのファイル名や拡張子、属性、そのファイルを構成する最初のクラスタ番号等が記録される領域である。
ユーザデータ領域は、ホスト装置20から転送されたファイルの実体が記録される領域である。
データ記憶装置10は、ホスト装置20によるフォーマット処理後、電源の再投入時等に、BPB領域に「2」と設定したFAT数データを、図2の右側に示すよう「1」に書き換える機能を有する。ホスト装置20は、USBインタフェース230からの抜き差し等によってデータ記憶装置10の電源が再投入されると、ファイル転送など実際のファイルアクセスに先立って、このFAT数データを含むBPB情報やMBR情報の読み込みをデータ記憶装置10に要求し、これらの情報に基づき、以降のアクセス態様を決定する。つまり、データ記憶装置10の電源再投入によってFAT数データが「2」から「1」に書き換えられると、その値がホスト装置20によって読み込まれ、以降のファイルアクセスは、ファイルアロケーションテーブルは1つであるものとしてなされることになる。従って、FAT数データが「1」に書き換えられれば、FAT領域が実際には2つ存在していたとしても、そのうち、一のFAT領域に対してのみアクセスがなされることになる。
なお、図2の右側には、説明の便宜上、FAT2領域を消去したように表しているが、実際には、FAT数データのみを書き換え、FAT2領域については特に削除などは行わず、そのままの状態で放置する。そのまま放置した場合でも、FAT数データが「1」であれば、上述したように、ホスト装置20からは原則としてFAT1領域にのみアクセスが行われ、FAT2領域にはアクセスされないためである。本実施例では、このようにFAT2領域については放置するものとしたが、もちろん、FAT2領域自体もFAT数データの書き換えとともに削除するものとしてもよい。この場合、ルートディレクトリ領域以降の領域をFAT1領域に結合するものとすれば、FAT2領域分の容量をユーザデータ領域等として有効に利用することが可能になる。
B.メイン処理:
図3は、データ記憶装置10が実行するメイン処理のフローチャートである。この処理は、データ記憶装置10がホスト装置20に接続されて電源が供給されたと同時にフラッシュコントローラ130が実行を開始する処理である。
この処理が開始されると、まず、フラッシュコントローラ130は、FAT数データを必要に応じて「2」から「1」に書き換えるためのFAT数書換処理を行う(ステップS100)。このFAT数書換処理の詳細については後述する。
続いて、フラッシュコントローラ130は、USB制御回路120を介して、ホスト装置20から何らかのコマンドを受信したか否かを判断する(ステップS110)。コマンドを受信していない場合には(ステップS110:No)、この処理をループすることでコマンドを受信するまで待機する。一方、コマンドを受信した場合には(ステップS110:Yes)、そのコマンドの種類を判別する(ステップS120)。
上記ステップS120において、受信したコマンドが、データの書き込みを行うライトコマンドであると判断されれば(ステップS120:「ライト」)、フラッシュコントローラ130は、後述するライト処理を行う(ステップS130)。一方、受信したコマンドが、データの読み込みを行うリードコマンドであると判断されれば(ステップS120:「リード」)、後述するリード処理を行う(ステップS140)。そして、これらの処理が完了すれば、処理を上記ステップS110に戻す。以上で説明したメイン処理によれば、電源供給がストップされるまで、ホスト装置20から受信したコマンドに応じた処理がなされることになる。
C.FAT数書換処理:
図4は、上述したメイン処理のステップS100で実行されるFAT数書換処理のフローチャートである。この処理は、例えば、データ記憶装置10がホスト装置20に接続されたままホスト装置20の電源が切断され、その後、電源が再投入されたり、データ記憶装置10が、ホスト装置20のUSBインタフェース230から抜き差しされたりするなどして、データ記憶装置10の電源が再投入された際に、FAT数データを「2」から「1」に書き換えるための処理である。
データ記憶装置10の電源が投入されて、このFAT数書換処理が実行されると、まず、フラッシュコントローラ130は、フラッシュメモリFLのMBR領域とBPB領域とを読み込む(ステップS200)。そして、これらの領域に既にMBR情報とBPB情報とが書き込まれているかを判断する(ステップS210)。
上記ステップS210において、MBR情報とBPB情報とが書き込まれていないと判断した場合には(ステップS210:No)、データ記憶装置10は、未だFATファイルシステムによってフォーマットされていない状態であるため、フラッシュコントローラ130は、FATコントロールフラグを「0」にセットして、その値をEEPROM137に記録する(ステップS220)。FATコントロールフラグは、「1」であれば、FAT数データが「2」から「1」に書き換えられたことを表し、「0」であれば、書き換えられていないことを表す。
上記ステップS210において、MBR情報とBPB情報とが既に書き込まれていると判断した場合には(ステップS210:Yes)、データ記憶装置10は、ホスト装置20からFATファイルシステムによってフォーマットされた状態であると判断できるため、フラッシュコントローラ130は、BPB情報に記録されたFAT数データを参照して、そのFAT数データが「2」であるか否かを判断する(ステップS230)。この判断の結果、FAT数データが「2」であれば(ステップS230:Yes)、フラッシュコントローラ130は、BPB領域のFAT数データを「1」に書き換える(ステップS240)。これに対して、FAT数データが既に「1」であれば(ステップS230:No)、かかる書き換えを行わない。
上記ステップS230において、FAT数データが既に「1」であると判断された場合(ステップS230:No)や、上記ステップS240によって、FAT数データを「1」に書き換えた後には、フラッシュコントローラ130は、FATコントロールフラグを「1」にセットして、その値をEEPROM137に記録する(ステップS250)。
以上で説明したFAT数書換処理によれば、ホスト装置20によってフォーマットされた後、最初に電源が投入された際に、上記ステップS240によって、FAT数データが「2」から「1」に書き換えられる。従って、ファイルアロケーションテーブルが実際には2つ存在していたとしても、この書き換えが行われた後には、ホスト装置20に対して、ファイルアロケーションテーブルを1つのみ有すると認識させることが可能になる。
なお、本実施例では、上述したステップS230において、BPB領域に記録されたFAT数データの値に応じてFAT数データを「2」から「1」に書き換えるか否かを判断するものとした。しかし、かかる判断を行なうことなく、上記ステップS210で「Yes」と判定されれば、常時、FAT数データとして「1」とEEPROM137に書き込むものとしてもよい。上述した説明では、FAT数データが「2」の場合には、「1」に書き換えられ、「1」の場合には、かかる書き換えはおこなわれず、そのまま「1」が維持されることになり、結局、FAT数データの数は、常に「1」となるからである。このように、毎回「1」と書き込むものとすれば、条件分岐処理が省略されるので、処理を簡略化することが可能となる。
D.ライト処理:
図5は、上述したメイン処理のステップS130で実行されるライト処理のフローチャートである。このライト処理は、ホスト装置20から受信したデータをフラッシュメモリFLに書き込むための処理である。
この処理が実行されると、まず、フラッシュコントローラ130は、ホスト装置20からUSB制御回路120を介して受信したデータを、フラッシュメモリFL内の指定されたアドレスに書き込む(ステップS300)。
続いて、フラッシュコントローラ130は、EEPROM137を参照して、FATコントロールフラグFCが「1」であるか否かを判断する(ステップS310)。この判断の結果、FATコントロールフラグFCが「0」であれば(ステップS310:No)、現時点では、FAT数データが「2」から「1」に未だ書き換えられていないか、もしくは、FATファイルシステムによってフォーマットがなされていないことになる。従って、上記ステップS300による書き込み処理に伴って、FAT数データの書き換えが必要になる場合があるため、図4に示したFAT数書換処理と同一の処理を実行し(ステップS320)、その後、当該ライト処理を終了する。
一方、上記ステップS310において、FATコントロールフラグFCが「1」であれば(ステップS310:Yes)、既に、FAT数データが「1」に設定されており、高速なデータ書き込みが実現されているため、FAT数書換処理を実行することなく、当該ライト処理を終了する。
以上で説明したライト処理では、上記ステップS300においてフラッシュメモリFLのMBR領域やBPB領域にMBR情報やBPB情報が書き込まれた場合には、ホスト装置20によってFATファイルシステムに基づくフォーマットがなされたことになる。従って、この場合に、図4に示したFAT数書換処理と同一の処理を実行することにより、フォーマット処理後、即座に、FAT数データを「2」から「1」に書き換えることができる。つまり、当該ライト処理によれば、電源の再投入を待つまでもなく、ホスト装置20によってフォーマットされた直後に、FAT数データを「2」から「1」に書き換えることが可能になる。
E.リード処理:
図6は、上述したメイン処理のステップS140で実行されるリード処理のフローチャートである。このリード処理は、ホスト装置20からの要求に応じてフラッシュメモリFLからデータを読み出すための処理である。
この処理が実行されると、フラッシュコントローラ130は、ホスト装置20からUSB制御回路120を介して受信したリードコマンドを解析して、フラッシュメモリFL内の指定されたアドレスからデータを読み込む(ステップS400)。そして、読み込んだデータをホスト装置に転送する(ステップS410)。以上の処理によって、本実施例のリード処理は完了する。
ホスト装置20は、データ記憶装置10の電源が投入された場合等には、データ記憶装置10の記憶領域に対するファイルアクセスを適切に行うため、ユーザデータの読み込みや書き込みに先立ち、FAT数データを含むBPB情報やMBR情報の読み込みを要求する。かかる読み込み要求が行われると、データ記憶装置10は、当該リード処理によって、FAT数データ等をホスト装置20に出力する。ホスト装置は、こうしてFAT数データ等をデータ記憶装置10から受信することで、データ記憶装置10が有するFATの数やデータ容量等を適切に認識することが可能になる。このとき、データ記憶装置10から出力されたFAT数データが「1」であれば、ホスト装置20は、データ記憶装置10が有するFATの数は「1」であるとして、以降のデータの読み書き処理を1つのFATを用いて行い、高速なファイルアクセスを実現することが可能になる。
F.効果:
以上で説明した本実施例のデータ記憶装置10によれば、ホスト装置20のフォーマット処理によってファイルアロケーションテーブル(FAT領域)が2つ生成されたとしても、FAT数データを「2」から「1」に書き換えることで、実質的にファイルアロケーションテーブルの数を1つに減ずることができる。そのため、ホスト装置20は、ファイルアロケーションテーブルに対する管理情報の書き込みを通常の2回から1回に削減することができるため、データの書き込み効率を飛躍的に向上させることができる。この結果、データ記憶装置10の動作を高速化することが可能になる。
G.変形例:
以上、本発明の種々の実施例について説明したが、本発明はこのような実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、以下のような変形が可能である。
(G1)変形例1:
上記実施例では、データ記憶装置10は、記憶デバイスとしてフラッシュメモリを備えるものとした。これに対して、例えば、ハードディスクドライブや書き換え可能な光ディスクなどの他の記憶デバイスを備えるものとしてもよい。
(G2)変形例2:
上記実施例では、データ記憶装置10はFAT形式によってフォーマットされるものとした。しかし、フォーマットの形式はこれに限られず、同一内容の管理テーブルが複数書き込まれる他の形式によってフォーマットされるものとしてもよい。
(G3)変形例3:
上記実施例では、ホスト装置20とデータ記憶装置10とは、USBインタフェースによって接続されるものとした。しかし、インタフェースの種別はこれに限られない。例えば、PCMCIAインタフェースによって接続されるものとしてもよいし、シリアルATAインタフェースやIEEE1394インタフェース等によって接続されるものとしてもよい。
(G4)変形例4:
上記実施例では、データ記憶装置10は、ホスト装置20によってフォーマットされると、無条件で、FAT数データを「2」から「1」に書き換えるものとした。これに対して、書き換えを行うか否かを設定するための機械的なスイッチをデータ記憶装置10に設けるものとしてもよい。このような構成では、データ記憶装置10は、電源の投入時にこのスイッチの状態を検出し、その状態に応じてFAT数データを「2」から「1」に書き換えたり、「2」のまま維持したりする。このような構成であれば、ユーザは、ファイルアロケーションテーブルを2つ使用する通常のモードと、1つに削減して高速なファイルアクセスを実現するモードとを容易に使い分けることが可能になる。
ただし、一度、FAT数を1つにすると、上記実施例で説明した各種処理では、これを2つに戻すことはできない。そのため、スイッチを切り換えて、FAT数を「1」から「2」にする際には、データ記憶装置10は、その電源投入時に、FAT数データを「2」に再設定するとともに、FAT1領域に記録されたデータをFAT2領域にコピーする処理を行うものとする。こうすることで、一度、FAT数を「1」に設定したとしても、適切にファイルアロケーションテーブルを2つ用意することができる。
(G5)変形例5:
上記実施例では、メイン処理とライト処理の両処理において、FAT数書換処理を実行するものとした。これに対して、ライト処理時におけるFAT数書換処理のみを実行し、メイン処理のFAT数書換処理は省略するものとしてもよい。また、逆に、ライト処理時におけるFAT数書換処理を省略して、メイン処理時のFAT数書換処理のみを実行するものとしてもよい。前者によれば、フォーマット処理の後、即座にFAT数データを書き換えることができ、後者によれば、電源の再投入を待ってFAT数データを書き換えるので、安定したホスト装置20の動作を期待することができる。もちろん、実施例に記載したように、両者を実行するものとしてもよく、この場合には、確実に、FAT数データを「2」から「1」に書き換えることが可能になる。
(G6)変形例6:
上記実施例では、フラッシュメモリ内のデータの記憶場所のことを、「アドレス」という用語を用いて説明したが、かかる用語は、適用されるファイルシステムやオペレーティングシステム、記憶デバイスの種類に応じて、「セクタ」や「クラスタ」、「ブロック」などと適宜読み替えることができる。
データ記憶装置10とホスト装置20の概略構成を示す説明図である。 データ記憶装置10のデータ構造を示す説明図である。 メイン処理のフローチャートである。 FAT数書換処理のフローチャートである。 ライト処理のフローチャートである。 リード処理のフローチャートである。
符号の説明
10…データ記憶装置
110…USBコネクタ
120…USB制御回路
130…フラッシュコントローラ
137…EEPROM
20…ホスト装置
200…CPU
210…RAM
220…ハードディスクドライブ
230…USBインタフェース

Claims (8)

  1. ホスト装置から転送されたデータを記憶するデータ記憶装置であって、
    前記ホスト装置によるフォーマット処理によって、前記データを記憶するためのデータ記憶領域が確保されるとともに、該データ記憶領域内に記憶された個々のデータの記録位置を管理するための同一内容の複数の管理テーブルと、該管理テーブルの数を示すテーブル数データとが記憶される記憶デバイスと、
    前記ホスト装置による前記フォーマット処理後に、前記記憶デバイスに記憶された前記テーブル数データを、該フォーマット処理によって記憶された値よりも少ない値に書き換える書換手段と、
    前記ホスト装置からの前記データの転送に先立ち、該ホスト装置からの求めに応じて、前記書き換えたテーブル数データを該ホスト装置に出力する出力手段と
    を備えるデータ記憶装置。
  2. 請求項1に記載のデータ記憶装置であって、
    前記ホスト装置は、FATファイルシステムに基づき前記フォーマット処理を行うものである
    データ記憶装置。
  3. 請求項2に記載のデータ記憶装置であって、
    前記記憶デバイスは、前記管理テーブルとして、前記FATファイルシステムに基づくファイルアロケーションテーブルを記憶するものである
    データ記憶装置。
  4. 請求項3に記載のデータ記憶装置であって、
    前記記憶デバイスは、前記テーブル数データとして、前記ファイルアロケーションテーブルの数を、前記FATファイルシステムに基づき前記記憶デバイスに確保されたバイオスパラメータブロック領域に記憶するものである
    データ記憶装置。
  5. 請求項1ないし請求項4のいずれかに記載のデータ記憶装置であって、
    前記記憶デバイスは、不揮発性の半導体メモリである
    データ記憶装置。
  6. 請求項5に記載のデータ記憶装置であって、
    前記不揮発性の半導体メモリとは、フラッシュメモリである
    データ記憶装置。
  7. 請求項1ないし請求項6のいずれかに記載のデータ記憶装置であって、
    前記ホスト装置と当該データ記憶装置とは、USBインタフェースによって接続される
    データ記憶装置。
  8. ホスト装置から転送されたデータを記憶デバイスに記憶するデータ記憶装置の初期化方法であって、
    前記ホスト装置によるフォーマット処理を受けて、前記記憶デバイス内に、前記データを記憶するためのデータ記憶領域を確保するとともに、該データ記憶領域内に記憶された個々のデータの記録位置を管理するための同一内容の複数の管理テーブルと、該管理テーブルの数を示すテーブル数データとを記憶し、
    前記ホスト装置による前記フォーマット処理後に、前記記憶デバイスに記憶された前記テーブル数データを、該フォーマット処理によって記憶された値よりも少ない値に書き換え、
    前記ホスト装置からの前記データの転送に先立ち、該ホスト装置からの求めに応じて、前記書き換えたテーブル数データを該ホスト装置に出力する
    初期化方法。
JP2006136237A 2006-05-16 2006-05-16 データ記憶装置およびこの初期化方法 Active JP4663577B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006136237A JP4663577B2 (ja) 2006-05-16 2006-05-16 データ記憶装置およびこの初期化方法
PCT/JP2007/060181 WO2007132931A1 (ja) 2006-05-16 2007-05-11 データ記憶装置およびこの初期化方法
CN2007800175733A CN101443739B (zh) 2006-05-16 2007-05-11 数据存储装置及其初始化方法
EP07743616A EP2031515A4 (en) 2006-05-16 2007-05-11 DATA STORAGE ARRANGEMENT AND METHOD FOR INITIALIZING IT
US12/300,634 US20090164538A1 (en) 2006-05-16 2007-05-11 Data storage apparatus and initialization method thereof
TW096117255A TW200819975A (en) 2006-05-16 2007-05-15 Data storage device and initializing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006136237A JP4663577B2 (ja) 2006-05-16 2006-05-16 データ記憶装置およびこの初期化方法

Publications (2)

Publication Number Publication Date
JP2007310447A true JP2007310447A (ja) 2007-11-29
JP4663577B2 JP4663577B2 (ja) 2011-04-06

Family

ID=38694016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006136237A Active JP4663577B2 (ja) 2006-05-16 2006-05-16 データ記憶装置およびこの初期化方法

Country Status (6)

Country Link
US (1) US20090164538A1 (ja)
EP (1) EP2031515A4 (ja)
JP (1) JP4663577B2 (ja)
CN (1) CN101443739B (ja)
TW (1) TW200819975A (ja)
WO (1) WO2007132931A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118623A (ja) * 2009-12-02 2011-06-16 Canon Inc データ同期装置
JP2017136866A (ja) * 2017-05-02 2017-08-10 キヤノン株式会社 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100161952A1 (en) * 2008-12-18 2010-06-24 Texas Instruments Incorporated Performance optimizations by dynamic reduction of file allocation tables
ITRM20130728A1 (it) * 2013-12-31 2015-07-01 Prb S R L Metodo di scambio comandi tramite disco usb e relativi dispositivi che ne permettono l¿implementazione.

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02309416A (ja) * 1989-05-25 1990-12-25 Chinou Kagaku Kenkyusho:Kk メモリカードシステム
JPH04106643A (ja) * 1990-08-27 1992-04-08 Nec Ibaraki Ltd フロッピィディスクのファイル領域管理方式
JPH08110868A (ja) * 1994-08-15 1996-04-30 Ricoh Co Ltd 情報記録再生装置
JP2004295405A (ja) * 2003-03-26 2004-10-21 Mitsubishi Electric Corp データアクセス装置
JP2005216119A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 記録媒体

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3588231B2 (ja) * 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
JPH11249968A (ja) * 1998-03-05 1999-09-17 Sanyo Electric Co Ltd ファイル記録方法及びファイルシステム
US7021971B2 (en) * 2003-09-11 2006-04-04 Super Talent Electronics, Inc. Dual-personality extended-USB plug and receptacle with PCI-Express or Serial-At-Attachment extensions
JP4238514B2 (ja) * 2002-04-15 2009-03-18 ソニー株式会社 データ記憶装置
US7174420B2 (en) * 2002-10-22 2007-02-06 Microsoft Corporation Transaction-safe FAT file system
US7363540B2 (en) * 2002-10-22 2008-04-22 Microsoft Corporation Transaction-safe FAT file system improvements
JP2006085380A (ja) * 2004-09-15 2006-03-30 Toshiba Corp ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法
US8606830B2 (en) * 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US20060277333A1 (en) * 2005-06-01 2006-12-07 Creative Technology Ltd. Portable data storage device
US8452744B2 (en) * 2005-06-06 2013-05-28 Webroot Inc. System and method for analyzing locked files
EP2031491A1 (en) * 2007-08-28 2009-03-04 Deutsche Thomson OHG Method for storing files on a storage medium, storage medium, and video recording apparatus using the method
JP2009064263A (ja) * 2007-09-06 2009-03-26 Toshiba Corp メモリ装置
GB2456001A (en) * 2007-12-28 2009-07-01 Symbian Software Ltd Storage device having a single file allocation table

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02309416A (ja) * 1989-05-25 1990-12-25 Chinou Kagaku Kenkyusho:Kk メモリカードシステム
JPH04106643A (ja) * 1990-08-27 1992-04-08 Nec Ibaraki Ltd フロッピィディスクのファイル領域管理方式
JPH08110868A (ja) * 1994-08-15 1996-04-30 Ricoh Co Ltd 情報記録再生装置
JP2004295405A (ja) * 2003-03-26 2004-10-21 Mitsubishi Electric Corp データアクセス装置
JP2005216119A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CSND199801164005, 大貫 広幸 HIROYUKI OONUKI, "ROM化とCPU非依存を目指す:移植性を重視したファイルシステムの作成法", Interface 第24巻 第9号, 19980901, 第24巻, 99〜113, JP, CQ出版株式会社 CQ Publishing Co.,Ltd. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118623A (ja) * 2009-12-02 2011-06-16 Canon Inc データ同期装置
JP2017136866A (ja) * 2017-05-02 2017-08-10 キヤノン株式会社 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム

Also Published As

Publication number Publication date
EP2031515A4 (en) 2010-11-10
CN101443739A (zh) 2009-05-27
TWI344084B (ja) 2011-06-21
CN101443739B (zh) 2011-07-06
US20090164538A1 (en) 2009-06-25
EP2031515A1 (en) 2009-03-04
JP4663577B2 (ja) 2011-04-06
TW200819975A (en) 2008-05-01
WO2007132931A1 (ja) 2007-11-22

Similar Documents

Publication Publication Date Title
JP4676378B2 (ja) データ記憶装置およびデータ記憶方法
US7472251B2 (en) Data storage apparatus detachably mounted to a host apparatus
JP5420814B2 (ja) バッファメモリに貯蔵されたデータを無効化させるスキームを有する貯蔵システム及びそれを含んだコンピューティングシステム
US7039754B2 (en) Detachably mounted removable data storage device
JP2007310636A (ja) データ記憶装置およびデータ記憶方法
JP2004295865A (ja) 自動ブーティングシステム及び自動ブーティング方法
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
JP2008027383A (ja) 情報記録装置及びその制御方法
JP2006512643A (ja) 二重ジャーナリングの保存方法及びその記憶媒体
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
JP2003242470A (ja) 外部接続機器及びホスト機器
JP2006252535A (ja) 記憶装置
JP2007193448A (ja) 情報記録装置及びその制御方法
JP2003241908A (ja) 外部接続機器及びホスト機器
JP4663577B2 (ja) データ記憶装置およびこの初期化方法
US20070022242A1 (en) [structure of access of nand flash memory]
JP4714291B2 (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
JP2007293987A (ja) 情報記録装置及びその制御方法
KR102423278B1 (ko) 메모리 시스템 및 그것의 동작 방법
TWI390399B (zh) 具有虛擬儲存裝置之外接裝置
JP2008171367A (ja) 情報処理装置及び追記型ファイル管理ソフトウェア
JP5161989B2 (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
TWI476771B (zh) 非揮發性記憶體儲存系統之雙範圍目錄
JP4881469B1 (ja) 情報処理装置、及び情報処理方法
JP2009043286A (ja) 記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110105

R150 Certificate of patent or registration of utility model

Ref document number: 4663577

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250