JP4238514B2 - データ記憶装置 - Google Patents

データ記憶装置 Download PDF

Info

Publication number
JP4238514B2
JP4238514B2 JP2002112641A JP2002112641A JP4238514B2 JP 4238514 B2 JP4238514 B2 JP 4238514B2 JP 2002112641 A JP2002112641 A JP 2002112641A JP 2002112641 A JP2002112641 A JP 2002112641A JP 4238514 B2 JP4238514 B2 JP 4238514B2
Authority
JP
Japan
Prior art keywords
data
recorded
sector
block
pbr
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.)
Expired - Fee Related
Application number
JP2002112641A
Other languages
English (en)
Other versions
JP2003308240A (ja
Inventor
淳子 佐々木
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2002112641A priority Critical patent/JP4238514B2/ja
Priority to EP03717572A priority patent/EP1498817A4/en
Priority to CNB038004364A priority patent/CN1307555C/zh
Priority to US10/480,760 priority patent/US7472251B2/en
Priority to PCT/JP2003/004709 priority patent/WO2003088044A1/ja
Priority to KR1020037016347A priority patent/KR100975178B1/ko
Publication of JP2003308240A publication Critical patent/JP2003308240A/ja
Application granted granted Critical
Publication of JP4238514B2 publication Critical patent/JP4238514B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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/064Management of blocks
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips

Description

【0001】
【発明の属する技術分野】
本発明は、内部に不揮発性の半導体メモリを備えたデータ記憶装置に関するものである。
【0002】
【従来の技術】
電気的に消去可能な不揮発性メモリの一つであるNAND型のフラッシュメモリでは、データが消去された状態で、新たなデータの書き込みが行われる。フラッシュメモリでは、データを一括消去する消去ブロックを設けて、この消去ブロック単位でデータの消去を行った後、新たなデータの書き込みがされる。また、フラッシュメモリでは、消去ブロックのサイズと、データの書き込み単位(物理セクタ)とが異なっており、1つの消去ブロック内に複数の物理セクタが設けられている。
【0003】
また、フラッシュメモリに対して、1つの消去ブロック内では、物理的に一定方向に向かいデータを記録していかなければならない。これは、消去ブロック内の任意の物理セクタにデータを記録した場合、フラッシュメモリの特性上、書き込み対象セクタから一定方向側に位置するセクタは記録済みデータの内容が保証されるが、書き込み対象セクタから反対方向側に位置するセクタは、記録済みデータの内容が保証されないためである。そのため、フラッシュメモリでは、順方向にデータを記録していけば常に記録済みデータの内容が保証されるように、物理アドレスや論理アドレスが設定されるのが一般的である。なお、記録対象の消去ブロックとは異なる消去ブロックに記録されているデータに関しては、その記録位置に関わらず、データ内容は常に保証される。
【0004】
このようなNAND型のフラッシュメモリを利用したアプリケーションとして、いわゆるメモリカードと呼ばれる、リムーバブルな小型ICメモリ装置が知られている。メモリカードは、静止画像データ、動画像データ、音声データ、音楽データ等の各種デジタルデータを格納することができる。そのため、メモリカードは、例えば、情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、家電装置等々のホスト機器に、外部記憶メディアとして用いられる。
【0005】
メモリカードを外部記憶メディアとして利用するホスト機器は、ハードディスク等の内部記憶メディアが備えられる場合がある。ハードディスクは、一般的にMS−DOS(商標)と呼ばれるファイルシステムを媒介として、ホスト機器から論理フォーマットでアクセスがされる。そのため、メモリカードも、このような他の記憶メディアとの互換性を鑑み、MS−DOSといったような一般的なファイルシステムを適用できることが望ましい。
【0006】
MS−DOSでは、ストレージメディアへのアクセス単位として、クラスタと呼ばれる単位が規定されている。MS−DOSでは、このクラスタ単位で、FAT(File Allocation Table)を生成し、記憶メディア内に記録されているデータの連結関係が管理されている。従って、ホスト機器は、このクラスタ単位で論理的にアクセスを行うことにより、記憶メディアに記録されているデータの読み出し、或いは、記憶メディアに対するデータの書き込みを行うこととなる。
【0007】
【発明が解決しようとする課題】
ところで、従来のメモリカードでは、フラッシュメモリの容量が比較的小さく、クラスタのサイズと消去ブロックのサイズとが一致してため、クラスタ単位でデータの記録を行っている限りでは、どのような記録を行ったとしても記録済みのデータの内容が保証されていた。
【0008】
しかしながら、近年、フラッシュメモリの高容量化が進み、それに伴って消去ブロックサイズも大きくなってきた。そのため、高容量化されたフラッシュメモリを用いたメモリカードでは、ファイルシステムにMS−DOSを用いると、クラスタのサイズが消去ブロックのサイズよりも小さくなってしまう。このように、クラスタのサイズが消去ブロックのサイズよりも小さくなった場合、クラスタ単位でのデータの記録を行ったとしても、記録済みデータの内容が保証されない場合が生じてしまう可能性がある。
【0009】
そのため、このような高容量化されたフラッシュメモリを用いたメモリカードでは、記録済みデータの内容を保証するため、同一の消去ブロック内で、書き込み対象となるクラスタより後ろに記録済みのクラスタがある場合には、ガベッジコレクションと呼ばれるメモリ領域を確保する処理が行われていた。
【0010】
メモリカードにおけるガベッジコレクションは具体的には次のように行われる。
【0011】
消去ブロック内の一部のクラスタに対してデータを書き込む場合、その消去ブロック内において書き込み対象のクラスタよりアドレスが後ろ側のクラスタに、既に記録済みの有効なデータが記録されているか否かを判断する。もし、同一の消去ブロック内でアドレスが後ろ側のクラスタに既に記録済みの有効なデータがある場合、書き込み対象クラスタのデータを除いた消去ブロック内の全データを一旦バッファに読み出す。続いて、新たな消去ブロックを確保し、バッファ内のデータと書き込み対象データとを合成したデータを、確保した新たな消去ブロックに書き込む処理を行う。
【0012】
以上の処理がメモリカードにおけるガベッジコレクションの処理である。なお、ガベッジコレクションは、一般にメモリカード内のCPUが行うため、ホスト機器のオペレーションシステムではその処理が認識されない。
【0013】
このように、メモリカードにおけるガベッジコレクションは、記録時に行われる処理であるにも関わらず、データの読み出し及びバッファリングといった冗長を行わなければならない。そのため、ガベッジコレクションが発生した場合には、ホスト機器とメモリカードと間の記録速度が低下してしまう。このため、本来的には、ガベッジコレクションを常に発生させずに、データの記録を行えることが望ましい。
【0014】
ガベッジコレクションを常に発生させないためには、ホスト側からメモリ内の物理アドレスを直接管理し、データの書き込みを行えばよい。しかしながら、MS−DOSでは、メディアを物理アドレスで管理していないので、メモリ内の物理アドレスを直接アクセスするには、MS−DOSとは異なる特殊なファイルシステムを適用しなければならず、他のメディアとの互換性を保つことができないので、望ましくない。
【0015】
本発明は、半導体メモリに対するデータのアクセス単位の最大サイズが、当該半導体メモリの消去ブロックサイズよりも小さいファイルシステムが適用された場合であっても、いわゆるガベッジコレクションを発生させずに、データを記録することが可能なデータ記憶装置を提供することを目的とする。
【0016】
【課題を解決するための手段】
本発明にかかるデータ記憶装置は、ホスト機器に対して着脱自在に取り付けられるリムーバブルなデータ記憶装置であって、記録されているデータが所定のデータ量のブロック単位で一括消去される不揮発性の半導体メモリを備え、半導体メモリの記録領域には、本装置の内部情報が記録されたシステム情報記憶部と、ユーザによってデータが記録される領域であるユーザ領域が設けられ、ユーザ領域は、データ読み書き単位であるセクタ毎に論理アドレスを設定して記録データを管理するとともに物理的に連続する所定数のセクタから構成されるクラスタ単位で記録データの連結関係を管理する論理フォーマットに対応した、ファイル管理データが記録され、この論理フォーマットに基づきホスト機器からアクセスがされ、システム情報記憶部には、ユーザ領域の先頭の論理アドレスのセクタに記録されるマスターブートレコード( MBR )の推奨パラメータを示す MBR Values と、当該ユーザ領域に形成される各パーティションの先頭の論理アドレスのセクタに記録されるパーティションブートレコード( PBR )の推奨パラメータを示す PBR Values と、当該 MBR Values 及び PBR Values に従って論理フォーマットされたユーザ領域における1つのブロック内のセクタ数と、当該論理フォーマットされたユーザ領域におけるブロックの境界位置のセクタの論理アドレスを示す情報とが格納されており、ブロックのサイズは、クラスタのサイズのn倍(nは2以上の整数)とされ、ユーザ領域内の各ブロックの先頭のセクタは、クラスタの先頭のセクタと一致するように論理フォーマットが形成されており、ファイル管理データは、MBR Values に従って論理フォーマットされたMBRと、PBR Values に従って論理フォーマットされたPBRと、各PBRの次の論理アドレスのセクタから複数のセクタに亘り記録されるファイルアロケーションテーブル(FAT)と、各FATの次の論理アドレスのセクタから複数のセクタに亘り記録されるルートディレクトリエントリとから構成され、MBRには、PBRが記録されたセクタの論理アドレスが記述されており、PBRには、当該PBRが記録されているパーティションに関する情報が記述されており、FATには、当該クラスタの次に接続されるクラスタを特定する連結情報が格納される領域が、パーティション内の全クラスタに対応して設けられており、ルートディレクトリエントリには、最上位のディレクトリに配置されるファイル及びサブディレクトリのエントリ情報が記述され、各パーティションに記録される実体データは、ルートディレクトリエントリの次のセクタから、1つのブロック内のセクタ数とブロックの境界位置のセクタの論理アドレスとに基づいてホスト機器により検索されるデータファイルの記録されていない空き領域にクラスタ単位で記録される。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態として、本発明を適用したリムーバルな小型ICメモリ装置、並びに、この小型ICメモリ装置を外部記憶メディアとして用いるデータ処理装置について説明する。
【0018】
なお、本発明の実施の形態として説明する小型ICメモリ装置のことを、以下、メモリカードと呼ぶものとする。また、このメモリカードが接続されるデータ処理装置のことを、ホスト機器と呼ぶものとする。
【0019】
アウトライン
図1に、ホスト機器及びメモリカードの外観斜視図を示す。
【0020】
メモリカード1は、内部に不揮発性の半導体メモリ(ICメモリ)を有しており、静止画像データ、動画像データ、音声データ、音楽データ等の各種デジタルデータを格納することができる。このメモリカード1は、例えば、情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、家電装置等々のホスト機器2の外部記憶メディアとして機能する。メモリカード1は、ホスト機器2に設けられているスロット3に挿入された状態で使用される。メモリカード1のスロット3に対する挿入及び抜出は、ユーザが自在に行うことができる。そのため、例えば、あるホスト機器に挿入されていたメモリカード1を抜き出して、他のホスト機器に挿入することもでき、異なるホスト機器間のデータのやり取りに用いることが可能である。
【0021】
メモリカード1及びホスト機器2は、4ビットパラレルデータ,クロック信号,バスステート信号の6つの信号を転送する6線式半2重パラレルプロトコルを用いたパラレルインタフェースでデータの転送を行う。
【0022】
外観
図2は、本発明の実施の形態のメモリカード1を表面側から見た斜視図であり、図3は、本発明の実施の形態のメモリカード1を裏面側から見た斜視図である。
【0023】
メモリカード1は、主面(表面1a及び裏面1b)が略長方形とされた薄板形状となっている。メモリカード1は、主面の長手方向の長さが約50mm、主面の短辺方向の長さが約21.45mm、厚さが約2.8mmとなっている。また、メモリカード1は、主面が、表面1aと裏面1bとに区別される。裏面1bの長手方向の一端には、10個の平面電極(接続端子群4)が、短辺方向に一列に並んで設けられている。また、電極と電極との各間には、裏面1bから垂直に立ち上がったガード5が設けられ、接続端子への接触防止が図られている。また、メモリカード1の裏面1bには、誤消去禁止用のスライドスイッチ6が設けられている。
【0024】
また、ホスト機器2のスロット3は、以上のような形状のメモリカード1に対応した凹状の形状となっていて、メモリカード1が挿入可能である。さらに、このスロット3は、メモリカード1が挿入されたときには、このメモリカード1が脱落しないように保持することができる。また、スロット3には、メモリカード1の10個の平面電極に対応した位置に、10個の接点が設けられている。そのため、メモリカード1が接続端子群4の方向からスロット内部に差し込まれることにより(図2のX方向にメモリカード1が差し込まれることにより)、これらのスロット3内の接点と、メモリカード1の各接続端子とが電気的に接続されることとなる。
【0025】
本実施の形態のメモリカードのブロック構成
図4に、メモリカード1の内部ブロック構成図を示す。
【0026】
メモリカード1は、パラレルインタフェース回路(I/F)12と、レジスタ回路13と、データバッファ回路14と、ECC回路15と、メモリI/Fコントローラ16と、不揮発性半導体メモリ17と、発振制御回路18とを備えて構成される。
【0027】
パラレルI/F回路12は、6線式半2重パラレル方式のデータ転送プロトコルを用いて、ホスト機器2との間でデータの転送を行う回路である。
【0028】
レジスタ回路13は、例えば、ホスト機器から転送されるメモリI/Fコントローラ16に対する動作制御コマンド(以下、この動作制御コマンドのことをコントロールコマンドと呼ぶ。)、メモリカード1内の内部状態、コントロールコマンドを実行する際に必要な諸処のパラメータ、不揮発性半導体メモリ17内のファイル管理情報等を記憶する回路である。このレジスタ回路13は、ホスト機器2及びメモリI/Fコントローラ16の両者からアクセスされる。なお、ホスト機器2は、本メモリカードのデータ転送プロトコル上で規定される転送プロトコルコマンド(以下、TPC(Transfer Protocol Command)という。)を用いて、レジスタ回路13に対してアクセスを行う。すなわち、レジスタ回路13に格納されるコントロールコマンドや各種パラメータに対してホスト機器2が書き込みや読み出しをする場合には、TPCを用いて行う。
【0029】
データバッファ回路14は、不揮発性半導体メモリ17へ書き込まれるデータ、並びに、不揮発性半導体メモリ17から読み出されたデータを、一時的に保存するメモリ回路である。すなわち、ホスト機器2から不揮発性半導体メモリ17へデータが書き込まれる場合には、書き込み対象データがホスト機器2からデータバッファ回路14へデータ転送プロトコルに従って転送され、その後、データバッファ回路14に格納されている書き込み対象データをメモリI/Fコントローラ16が不揮発性半導体メモリ17に書き込む。また、不揮発性半導体メモリ17からホスト機器2へデータが読み出される場合には、メモリI/Fコントローラ16が不揮発性半導体メモリ17から読み出し対象データを読み出して一旦データバッファ回路14に格納し、その後、その読み出し対象データがデータ転送プロトコルに従ってデータバッファ回路14からホスト機器2へ転送される。なお、データバッファ回路14は、所定のデータ書き込み単位(例えば、フラッシュメモリのページサイズと同一の512バイト)分のデータ容量を有している。なお、ホスト機器2は、TPCを用いて、データバッファ回路14に対してアクセスを行う。すなわち、データバッファ回路14に格納されるデータに対して、ホスト機器2が書き込みや読み出しをする場合には、TPCを用いて行う。
【0030】
ECC回路15は、不揮発性半導体メモリ17へ書き込まれるデータに対して誤り訂正コード(ECC)を付加する。また、ECC回路15は、不揮発性半導体メモリ17から読み出したデータに付加されている誤り訂正コードに基づき、この読み出したデータに対する誤り訂正処理を行う。例えば、誤り訂正コードは、512バイトのデータ単位に対して3バイト分付加される。
【0031】
メモリI/Fコントローラ16は、レジスタ回路13内に格納されているコントロールコマンドに従い、データバッファ14と不揮発性半導体メモリ17との間のデータのやり取りの制御、不揮発性半導体メモリ17のデータのセキュリティ管理の制御、メモリカード1のその他のファンクションの制御、並びに、レジスタ回路13内に格納されているデータの更新処理等を行う。
【0032】
不揮発性半導体メモリ17は、例えば、NAND型のフラッシュメモリ等の不揮発性の半導体メモリである。不揮発性半導体メモリ17の容量は、例えば16Mバイト、32Mバイト、64Mバイト、128Mバイトである。不揮発性半導体メモリ17は、消去ブロック単位が、例えば64K,128Kバイトである。
【0033】
発振制御回路18は、本メモリカード1内の動作クロックを発生する。
【0034】
メモリカード1には、合計10個の接続端子が設けられていることとなる。また、ホスト機器2側にも同様の接続端子が設けられている。
【0035】
メモリカードとホスト機器間のインタフェース機能の構成
図5に、本実施の形態のメモリカード1とホスト機器2とのインタフェース機能をモデル化した図を示す。
【0036】
ホスト機器2のインタフェース機能は、ファイルマネージャ31と、TPCインタフェース32と、パラレルインタフェース33とから構成される。また、メモリカード1のインタフェース機能は、パラレルインタフェース33と、レジスタ35と、データバッファ36と、メモリI/Fコントローラ37と、メモリ38とから構成される。
【0037】
ファイルマネージャ31は、ホスト機器のオペレーションシステムであり、メモリカード1内に格納されているファイル、並びに、ホスト機器の他のメディアに格納されているファイルの管理を行う。本実施の形態では、ファイルマネージャ31は、オペレーションシステムとしてMS−DOS(Micorosoft Disc Operation System)(登録商標)が用いられる。ファイルマネージャ31は、上記MS−DOSによりホスト機器2に接続されている他のストレージメディアも管理している。ファイルマネージャ31は、ホスト機器2内のコントローラ内に実現される機能である。
【0038】
TPCインタフェース32は、ファイルマネージャ31の下位レイヤとなるインタフェース機能である。TPCインタフェース32は、本インタフェースの特有のコマンド(TPC:Transfer Protocol Command)が規定されたデータ転送プロトコルにより、メモリカード1内のレジスタ35及びデータバッファ36へアクセスを行う。このTPCインタフェース32は、ホスト機器2内のコントローラ等により実現される機能である。
【0039】
パラレルインタフェース33,34は、TPCインタフェース32の下位レイヤとなり、本インタフェースシステムの物理階層である。パラレルインタフェース33,34は、4ビットパラレルデータ,クロック,バスステート信号の6つの信号を転送するデータ転送プロトコルである6線式半2重パラレルプロトコルに従い、データ転送を行う。パラレルインタフェース33,34は、パラレルインタフェース回路12により実現される機能である。
【0040】
レジスタ35は、ホストから転送されたコントロールコマンド、メモリカードの内部状態、メモリ38にアクセスするデータのアドレス、コントロールコマンドを実行する際に必要な諸処のパラメータ、メモリ内のファイル管理情報等を格納する。レジスタ35は、メモリカード1のレジスタ回路13上に実現される機能である。
【0041】
データバッファ36は、メモリ38へ書き込まれるデータ、並びに、メモリ38から読み出されたデータを、一時的に保存するバッファ領域である。データバッファ36は、メモリカード1のデータバッファ回路14上に実現される機能である。
【0042】
メモリI/Fコントローラ37は、レジスタ35内に格納されているコマンド並びに各種情報に従い、データバッファ36とメモリ38との間のデータの読み出し、書き込み、消去、並びに、レジスタ35内の各種情報の更新等の制御を行う。メモリI/Fコントローラ37は、ホスト機器2上のメモリI/Fコントローラ16により実現される機能である。
【0043】
メモリ38は、データのメモリ領域であり、メモリI/Fコントローラ37を通して独自のモデルとして仮想化されている。メモリ38は、メモリカード1上の不揮発性半導体メモリ17により実現される機能である。
【0044】
以上のような構成のホスト機器及びメモリカードでは、ファイルマネージャ31に管理されている他のメディアに格納されているデータを、上記パラレルインタフェース33,34を介してメモリ38に転送することができる。また、ファイルマネージャ31は、本メモリカードと他のストレージデバイスとを、オペレーションシステム(MS−DOS)で共通に管理しているため、例えば、メモリ38に格納されているデータを他のストレージメディアに転送したり、他のストレージメディアに格納されているデータをメモリ38に転送したりすることができる。
【0045】
メモリカードのデータ格納領域の物理フォーマット
つぎに、メモリカード1のデータ格納領域(不揮発性半導体メモリ17)の物理フォーマットについて説明をする。
【0046】
メモリカード1は、ユーザに生成されたファイルが格納されるユーザエリアと、本メモリカード1の内部情報等が格納されているシステムエリアとから構成されている。ユーザエリア及びシステムエリアは、ともにコントロールコマンドを用いてホスト機器2からアクセスが可能である。ただし、ユーザエリアとシステムエリアとは、互いに異なるアドレス空間に形成されており、異なるコントロールコマンドによりホスト機器2からアクセスがされる。
【0047】
(ユーザエリアの物理フォーマット)
ユーザエリアは、例えば64Kバイト又は128Kバイトのブロックと呼ばれる単位で物理的に分割されている。このブロックが本メモリカード1における一括消去の単位となる。つまり、フラッシュメモリにおける消去ブロックが、本ブロックに対応する。
【0048】
ブロックには、有効ブロック及び予備ブロックの2種類がある。有効ブロックは、ファイルの実体データ等が記録されるブロックである。予備ブロックは、後発性の不良の代替データが記録される領域である。
【0049】
ユーザエリアは、ホスト機器2からはセクタ単位で連続するエリアとして認識されるが、内部では有効なデータを記録するセクタ番号から導き出される論理ブロック番号と物理ブロック番号とで管理されている。論理ブロック番号と物理ブロック番号との対応情報は物理ブロックの管理エリアである冗長部に記録するとともに、対応をデータ化した状態でホスト機器2からはアクセスできないシステムエリアに記録している。
【0050】
各ブロックには、ブロックの格納位置を特定する物理ブロック番号が設定されている。この物理ブロック番号は、有効ブロック及び予備ブロックの区別に関わらずユニークに番号が設定されている。有効ブロックには、論理ブロック番号が記録される。論理ブロック番号は、各ブロック内の所定の領域に書き込まれる。論理ブロック番号は、本メモリカード1の初期化時に記録される。ブロックに不良が生じた場合には、未記録の予備ブロックに対して、不良ブロックの論理ブロック番号を書き込んで、論理ブロック番号の代替が行われる。各ブロック内は、ページと呼ばれる書き込み読み出し単位で分割されている。このページが、後述する論理フォーマットにおけるセクタと一対一で対応する。
【0051】
各ブロックに付けられる論理ブロック番号は、後述する論理フォーマットにおけるクラスタ番号及びLBAセクタ番号と、一義的に対応することとなる。ホスト機器2側からは、後述する論理フォーマットでデータ格納領域に対して仮想的にアクセスがされるが、メモリI/Fコントローラ16が、論理ブロック番号と物理ブロック番号との対応関係が記述された論理−物理変換テーブルを用いてアドレス変換を行う。そのため、ホスト機器2側は、物理的にデータが記録されている位置を把握しなくても、論理的なアドレス(クラスタ番号やLBAセクタ番号)を用いて不揮発性半導体メモリ17に対してアクセスを行うことが可能となる。
【0052】
(システムエリアの物理フォーマット)
システムエリアには、本メモリカード1を制御するために必要となる情報が記録されるアトリビュート情報エリアが設けられている。
【0053】
アトリビュート情報エリアに記録されるデータを図6に示す。
【0054】
アトリビュート情報エリアには、図6に示すように、“ATRB info area confirmation”、“Device-Information entry”、“System information”、“MBR Values”、“PBR Values”が記録されている
“ATRB info area confirmation”には、当該アトリビュート情報エリアを識別するための識別コードが含まれている。
【0055】
“Device-Information entry”は、以下の“Device-Information(System information,MBR Values,PBR Values)”の各記録位置を示す。記録位置は、アトリビュート情報エリアのオフセット値で表される。
【0056】
“System information”には、本メモリカード1の内部情報が記録される。例えば、“System information”には、バージョンやクラス情報、1ブロックのバイト数、1ブロックに含まれるセクタ数、トータルブロック数、アセンブリ日時、シリアル番号、アセンブリメーカ番号、フラッシュメモリのメーカ番号、フラッシュメモリのモデル番号、コントローラの番号、コントローラの機能、ブロック境界の開始セクタ番号、デバイスタイプ(リードライト可能、リードオンリー等)等が記録される。
【0057】
なお、“System information”に記録されている「1ブロックに含まれるセクタ数」及び「ブロック境界の開始セクタ番号」は、ホスト機器2が「リアルタイム記録モード」でデータを記録する際に参照されることとなる。「リアルタイム記録モード」の処理については、その詳細を後述する。
【0058】
“MBR Values”には、MS−DOS上で規定されている「MBR」(Master Boot Record)の推奨パラメータが記録されている。例えば、“MBR Values”には、MBR内に記録されるブート識別、開始ヘッド番号、開始シリンダ番号、システム識別、最終ヘッド番号、最終セクタ番号、最終シリンダ番号、開始LBAセクタ番号、パーティションサイズが記録される。開始LBAセクタ番号に示されたセクタが、「PBR」(Partition Boot Record)の記録位置となる。つまり、MS−DOS上で規定されている各パーティションの開始位置となる。なお、MS−DOSでは、1つのストレージメディア内に、複数のパーティションを形成することが可能とされているが、本例では不揮発性半導体メモリ17に形成されるパーティションは1つであるものとしている。もっとも、本発明は、1つのみのパーティションを形成した場合のメモリカードに限定して適用されるものではなく、複数のパーティションを形成した場合のメモリカードに適用してもよい。
【0059】
“PBR Values”には、MS−DOS上で規定されている「PBR」の推奨パラメータが記録されている。例えば、“PBR Values”には、PBR内に記録されるジャンプコード、OEM名とバージョン、1セクタあたりのバイト数、1クラスタあたりのセクタ数、予約セクタ数、FAT( File Allocation Table)数、ルートディレクトリエントリのエントリ数、メディア内のセクタの数、メディアID、1FATあたりのセクタ数、1ヘッドあたりのセクタ数、ヘッド数、隠しセクタ数、論理セクタの合計数、物理ドライブ番号、拡張ブート識別、ボリュームのシリアル番号、ボリュームラベル、ファイルシステムタイプが記録される。
【0060】
本実施の形態のメモリカード1のデータ格納領域(不揮発性半導体メモリ17)の物理フォーマットは以上のようになる。
【0061】
なお、本メモリカード1には、コントロールコマンドとして、アトリビュート情報を読み出すコマンド(READ_ATRB)が設定されている。ホスト機器2は、“MBR Values”及び“PBR Values”を、READ_ATRBコマンドを用いて読み出すことにより、アセンブリメーカにより推奨される論理フォーマットで、メモリカード1を初期化することが可能となる。また、本メモリカード1には、コントロールコマンドとして、不揮発性半導体メモリ17を初期化するコマンド(FORMAT)が設定されている。ホスト機器2は、メモリカード1に対してFORMATコマンドを与えると、メモリI/Fコントローラ16がアトリビュート情報エリア内に記録されている“MBR Values”及び“PBR Values”を参照し、この“MBR Values”及び“PBR Values”の内容に従い不揮発性半導体メモリ17を初期化する。メモリカード1の初期化については、その詳細を後述する。
【0062】
メモリカードのデータ格納領域の論理フォーマット
つぎに、本メモリカード1に適用される論理フォーマットについて説明をする。
【0063】
本メモリカードでは、データ格納領域に対する論理フォーマットとして、MS−DOS互換フォーマットを採用している。MS−DOS互換フォーマットは、階層ディレクトリ構造でメディア内に記録されているデータファイルを管理するファイルシステムである。MS−DOS互換フォーマットでは、シリンダ、ヘッド、セクタと呼ばれる単位でメディアに対してデータのアクセスが行われる。メディアに対する実際のデータの読み出し/書き込みの単位はセクタとなる。さらに、MS−DOS互換フォーマットでは、記録されているデータを管理するにあたりクラスタという単位を定めている。クラスタのサイズは、セクタのサイズの倍数となる。例えば、64セクタで1クラスタが構成される。ホスト機器2側のオペレーションシステム上からは、クラスタ単位でファイルの管理が行われる。
【0064】
本メモリカード1に適用される論理フォーマットでは、ブロックのサイズよりもクラスタのサイズが小さく、さらに、クラスタのサイズのn倍(nは2以上の整数)が1つのブロックのサイズとなる。例えば、1ブロックのデータサイズが128Kバイトである場合、1クラスタのデータサイズが32Kバイト、つまり、1つのブロック内に4クラスタが記録される。
【0065】
また、本メモリカード1に適用される論理フォーマットは、ブロックの境界位置が、必ずクラスタの境界位置と一致するように、設定がされる。つまり、1つのクラスタが、2つのブロックに跨らないように設定がされる。
【0066】
論理フォーマットを以上のような条件に設定するには、MS−DOSのファイル管理データ(MBR,PBR,FAT,ルートディレクトリ)の記録位置や、各ファイル管理データ内に記録されるパラメータを調整すればよい。このような条件で論理フォーマットを行うためのパラメータは、アトリビュート情報内の“MBR Values”及び“PBR Values”に記録されている。
【0067】
MS−DOSのファイル管理データの内容は以下のとおりである。
【0068】
MBRは、ユーザ領域の先頭に配置される。MBR内に記述される内容は、アトリビュート情報内の“MBR Values”に記述される内容と同様である。
【0069】
PBRは、各パーティションの先頭セクタに配置される。PBRが記録されているセクタは、MBR内の開始LBAセクタ番号に記述されている。なお、LBAセクタ番号とは、有効ブロック内(或いは有効ブロックから代替された代替ブロック)の各セクタにユニークに付けられた番号である。LBAセクタ番号は、論理ブロック番号が0のブロックの先頭セクタから、昇順に付けられている。
【0070】
FATは、PBRに続く次のセクタから、複数のセクタに亘って記録される。FATは、ユーザ領域で扱われるファイルの連結状態をクラスタ単位で表している。
【0071】
メディア上に記録されているデータは、クラスタ単位で管理されているが、1つのファイルの本体が複数のクラスタに亘る場合には、1つのクラスタを最後まで読み出した後に、次のクラスタを読み出さなければならない。しかしながら、つぎのクラスタは、必ずしも物理的に連続する位置に記録されているとは限らない。そのため、ホスト機器2は、メディア上に記録されているデータに対してアクセスを行う場合、ある1つのクラスタに続くクラスタが、どのクラスタであるかを示す情報が必要となる。このような情報が記録されているのが、FATである。
【0072】
FATには、メディア上に存在するクラスタ数と同じだけの、格納領域が設けられて構成されている。メディア上に存在する全てのクラスタには、02(16進数)から始まるクラスタ番号が付けられている。FAT内の各格納領域には、クラスタ番号が一義的に割り当てられる。各格納領域には、自己が割り当てられているクラスタに接続した次のクラスタの番号が格納される。このため、あるクラスタに接続される次のクラスタを見つけ出したい場合には、そのクラスタが割り当てられている格納領域に格納されている番号を参照すればよい。
【0073】
なお、本メモリカード1では、バックアップのために2つのFAT(FAT1,FAT2)を記録している。また、1つのFATの物理的なデータサイズは、メディア内のクラスタ数が変化しないため、データ内容が更新したとしても必ず一定となる。
【0074】
ルートディレクトリエントリは、ルートディレクトリに配置される各ファイル及びサブディレクトリのエントリ情報が記述される。ルートディレクトリエントリは、FATが記録された最終セクタに続く次のセクタから記録される。1つのエントリ情報のバイト数は規定値であり、且つ、ルートディレクトリに配置されるエントリ数も規定値となる。そのため、ルートディレクトリエントリのデータサイズは、必ず一定となる。なお、MS−DOS互換フォーマットの拡張型であるFAT32ファイルシステムではルートディレクトリエントリの特別扱いは廃止され、ルートディレクトリエントリもクラスタの管理化におかれる。
【0075】
MS−DOS互換フォーマットでは、以上のファイル管理データに続く次のセクタから、最初のクラスタ(クラスタ番号“02”)が開始される。すなわち、ルートディレクトリエントリが記録された最終セクタの次のセクタ以降が、ユーザにより生成された実際のファイルが記録される領域となる。従って、本メモリカード1では、このクラスタ番号02の最初のセクタが、必ず、ブロックの先頭セクタとなるように、上記のファイル管理データが記録される。本メモリカード1では、ユーザ領域内のいずれかのブロックの開始セクタのLBAセクタ番号が、アトリビュート情報内の「ブロック境界の開始セクタ番号」に記述される。
【0076】
なお、いわゆるスーパーフロッピー方式と呼ばれるフォーマットを本メモリカード1に適用してもよい。スーパーフロッピー方式では、上述したMBRにあたる管理データが存在せず、PBRがユーザ領域の先頭に記録される。本発明は、MS−DOS互換フォーマットに限らず、スーパーフロッピー方式のようなMBRが存在しないフォーマットにも適用することができる。
【0077】
ホスト機器2による初期化処理及びデータ記録処理
つぎに、ホスト機器2によるメモリカード1の初期化処理、並びに、データ記録処理について説明する。
【0078】
(初期化処理)
メモリカード1をホスト機器2のオペレーションシステムから参照可能とするには、メモリカード1をMS−DOSのファイルシステムで初期化する必要がある。初期化処理は、少なくともファイル管理データ(MBR,PBR,FAT,ルートディレクトリエントリ)の記録を行えばよい。初期化処理は、通常、メモリカード1の工場出荷時に行われているが、必要に応じてユーザが行うこともできる。
【0079】
本メモリカード1に対して初期化処理を行うには、2つの方法がある。第1の方法は、書き込み用のコントロールコマンドを用いて必要なデータを所定のセクタに書き込んでいく方法である。第2の方法は、初期化用のコントロールコマンドを用いる方法である。
【0080】
上記第1の方法及び第2の方法を説明するにあたり、まず、コントロールコマンドについて説明をする。
【0081】
メモリカード1では、メモリI/Fコントローラ16に対して、ホスト機器2から動作制御コマンドが転送されることが、インタフェースプロトコル上で定められている。コントロールコマンドは、ホスト機器2からTPCの中のコマンドセット命令によりレジスタ回路13内のコマンドレジスタに格納される。メモリI/Fコントローラ16は、コマンドレジスタ内にコントロールコマンドが格納されると、そのコントロールコマンドに対応した動作制御を実行する。
【0082】
コントロールコマンドには、例えば、不揮発性半導体メモリ17からデータバッファ回路14へデータを読み出すコマンド、データバッファ回路14から不揮発性半導体メモリ17へデータを書き込むコマンド、不揮発性半導体メモリ17上のデータを消去するコマンド、本メモリカード1を工場出荷状態に戻すフォーマットコマンド、メモリカード1の発振器18の動作を停止させるスリープコマンド等がある。
【0083】
コントロールコマンドの具体例を以下に示す。
【0084】
READ_DATAコマンドは、不揮発性半導体メモリ17のユーザエリアの指定アドレスからデータを連続的に、読み出していく命令である。メモリI/Fコントローラ16は、このREAD_DATAコマンドが与えられると、レジスタ回路13内のアドレスレジスタに格納されているアドレスを参照し、不揮発性半導体メモリ17上のアドレスに対してアクセスを行い、このアドレスからデータを読み出していく。読み出したデータは、一旦データバッファ回路14へ転送する。メモリI/Fコントローラ16は、データバッファ回路14が一杯となると、すなわち、512バイト分データを読み出すと、ホスト機器2に対して転送要求の割り込みを発行する。そして、ホスト機器2によってデータバッファ回路14内のデータが読み出されると、続くデータを不揮発性半導体メモリ17からデータバッファ回路14へ転送していく。メモリI/Fコントローラ16は、レジスタ回路13内のデータカウントレジスタに格納されているデータ数分データを読み出すまで、以上の処理を繰り返す。
【0085】
WRITE_DATAコマンドは、データバッファ回路14に格納されているデータを、不揮発性半導体メモリ17のユーザエリアの指定アドレスからデータを連続的に記録していく命令である。メモリI/Fコントローラ16は、WRITE_DATAコマンドが与えられると、レジスタ回路13内のデータアドレスレジスタに格納されているアドレスを参照し、不揮発性半導体メモリ17上のアドレスに対してアクセスを行い、このアドレスからデータを書き込んでいく。書き込むデータは、データバッファ回路14に格納されているデータである。メモリI/Fコントローラ16は、データバッファ回路14内が空となると、すなわち、512バイト分データを書き込むと、ホスト機器2に対して転送要求の割り込みを発行する。そして、ホスト機器2によってデータバッファ回路14内にデータが書き込まれると、続くデータをデータバッファ回路14から不揮発性半導体メモリ17へ書き込んでいく。メモリI/Fコントローラ16は、レジスタ回路13内のデータカウントレジスタに格納されているデータ数分データを書き込むまで、以上の処理を繰り返す。
【0086】
READ_ATRBコマンドは、不揮発性半導体メモリ17からアトリビュート情報を読み出す命令である。メモリI/Fコントローラ16は、このREAD_ATRBが与えられると、不揮発性半導体メモリ17内のアトリビュート情報を読み出して、データバッファ回路14に転送する。
【0087】
FORMATコマンドは、不揮発性半導体メモリ17からアトリビュート情報を読み出し、このアトリビュート情報内の“MBR Values”及び“PBR Values”を読み出し、その値に従い、不揮発性半導体メモリ17内にMBR,PBR,FAT,ルートディレクトリエントリを書き込んでいく。
【0088】
以上がコントロールコマンドの説明である。
【0089】
メモリカード1を第1の方法で初期化する場合には、ホスト機器2は、READ_ATRBコマンドを用いて、アトリビュート情報内の“MBR Values”及び“PBR Values”を読み出す。そして、読み出した“MBR Values”及び“PBR Values”に記述されている値を参照し、MBR,PBR,FAT,ルートディレクトリを生成する。そして、さらに、“MBR Values”及び“PBR Values”に記述されている所定のセクタに対して、WRITE_DATAコマンドを用いて、生成したMBR,PBR,FAT,ルートディレクトリエントリを書き込んでいく。このような処理を行うことによって、メモリカード1が初期化され、ホスト機器2により参照可能となる。
【0090】
なお、MBR,PBR,FAT,ルートディレクトリエントリの値は、アトリビュート情報内の“MBR Values”及び“PBR Values”に従わず、ホスト機器2が独自に生成してもよい。
【0091】
メモリカード1を第2の方法で初期化する場合には、ホスト機器2は、FORMATコマンドをホスト機器2のメモリI/Fコントローラ16に与える。メモリI/Fコントローラ16は、FORMATコマンドが与えられると、アトリビュート情報内の“MBR Values”及び“PBR Values”を読み出す。そして、メモリI/Fコントローラ16は、読み出した“MBR Values”及び“PBR Values”に記述されている値に基づき、“MBR Values”及び“PBR Values”に記述されている所定のセクタに対して、不揮発性半導体メモリ17に対してMBR,PBR,FAT,ルートディレクトリエントリを書き込んでいく。このような処理を行うことによって、メモリカード1が初期化され、ホスト機器2により参照可能となる。
【0092】
以上のように、本メモリカード1では、ホスト機器2が書き込み用のコマンド(WRITE_DATAコマンド)を用いて、ホスト機器2自身が生成したパラメータを書き込んでいって初期化を行う方法と、ホスト機器2が初期化用のコマンド(FORMATコマンド)を用いて、メモリカード1が自動的に初期化を行う方法との2種類の初期化を選択的に行うことが可能となる。ホスト機器2では、メモリカード1に対して初期化を行う場合に、初期化用のコマンド(FORMAT
コマンド)を用いることができるので、各バージョンや規格毎に対応した専用のパラメータや初期化処理プログラムを内蔵する必要がなくなり、容易に初期化を行うことができる。
【0093】
(データ記録処理)
続いて、ホスト機器2からメモリカード1に対してデータを記録する場合の動作について、図7を参照して説明をする。
【0094】
ホスト機器2は、メモリカード1がスロットに装着されると、アトリビュート情報を読み出すコマンド(READ_ATRBコマンド)を用いて、アトリビュート情報内の“System information”から、「1ブロックに含まれるセクタ数」及び「ブロック境界の開始セクタ番号」を読み出す(ステップS11)。
【0095】
続いて、ホスト機器2は、ユーザにより記録動作が開始されるまで、処理を待機する(ステップS12)。
【0096】
ユーザにより記録動作が開始されると、現在の記録モードが、リアルタイム記録モードであるか、通常記録モードであるかを判断する(ステップS13)。
【0097】
記録モードが通常記録モードである場合にはステップS14に進み、リアルタイム記録モードである場合にはステップS15に進む。
【0098】
ここで、リアルタイム記録モードとは、例えば、動画像信号の実時間記録を行う場合等の記録データの生成処理に対してデータ記録処理が追従しなければならないような記録処理や、大容量データの記録処理などの高速記録が要求される記録処理の場合に、適用されるモードである。それに対して、通常記録モードとは、例えば、静止画像信号の記録を行う場合等の高速記録が要求されない場合の記録モードでである。リアルタイム記録と通常記録のモード選択は、ユーザが手動で設定してもよいし、ホスト機器2が記録するデータに合わせて自動選択してもよい。
【0099】
ステップS14では、1クラスタ単位での記録処理を行う。すなわち、FATを参照してクラスタ単位で空き領域を検索し、見つけ出した空き領域に順次データを記録していく。
【0100】
ステップS15では、FATを参照して、1ブロック分連続した空き領域を見つけ出し、1ブロック分連続して空き領域があれば、そのブロックに対して連続してデータを記録する。すなわち、空きクラスタがあったとしても、その空きクラスタが含まれているブロックの他のクラスタに、既にデータが記録されていれば、その空きクラスタに対してはデータを記録しない。例えば、1ブロックが4クラスタで構成されていれば、4クラスタ単位で空きブロックに対してデータを記録していく。
【0101】
ホスト機器2は、通常であれば、物理フォーマット上のブロックの認識をすることができないが、本メモリカード1では、ブロックの境界位置が必ずクラスタの境界位置となるように論理フォーマットが形成されている。そのため、1ブロック内のクラスタ数(或いはセクタ数)とブロックの境界のクラスタ番号(或いはLBAセクタ番号)がわかれば、論理フォーマット上からブロックを認識することができる。従って、ホスト機器2は、1ブロック内のクラスタ数並びにブロックの先頭クラスタの位置を、ステップS11で参照した「1ブロックに含まれるセクタ数」及び「ブロック境界の開始セクタ番号」から判断することができる。
【0102】
このようなリアルタイム記録モードを適用すれば、クラスタのサイズより消去ブロックのサイズの方が大きいメディアに対しても、特殊なファイルシステムを用いることなく、ブロック単位でデータを記録することが可能となる。このため、このリアルタイム記録モードでは、記録済みデータを保護するために必要となるガベッジコレクションが発生することなく、データが記録される。従って、通常にクラスタ単位で記録をするよりも、高速に記録することが可能となる。
【0103】
なお、通常のファイルシステムでは、データの記録前或いは記録中に、メディア内の空き容量を確認することが可能である。ホスト機器2は、通常記録モードが選択されている場合には、FATから単純にあきクラスタ数を検出して、空き容量を算出する。一方、リアルタイム記録モードが選択されている場合には、FATから全てのクラスタが未記録であるブロックを検出して、そのブロック数から空き容量を算出する。
【0104】
メモリカード1の具体的なフォーマット例
つぎに、メモリカード1の具体的なフォーマット例を示す。以下説明するフォーマット例は、全容量が64Mバイト、セクタサイズが512バイト、クラスタサイズが32Kバイト、1ブロックのサイズが128Kバイト、1つのFATを記録するために必要とするセクタ数が8個であるメモリカード1に対するものである。従って、1クラスタが64セクタから構成され、1ブロックが4クラスタから構成されている。なお、本例では、MS−DOSのタイプとして、総クラスタ数が4085を超える場合に用いられるFAT16を適用した場合について説明をする。FAT16では、FAT内の各クラスタに割り当てられるバイト数が、2バイト(16ビット)である。
【0105】
(第1の具体例)
図8に、第1の具体例のメディアイメージを示す。図9に、第1の具体例の各パラメータの値を示す。図10に第1の具体例のMBRの記述内容を示す。図11に第1の具体例のPBRの記述内容を示す。
【0106】
LBAセクタ番号は、パーティションやブート領域に関わらず、メディア内の全有効ブロックに対してユニークに付けられた番号である。LBAセクタ番号は、先頭セクタが0とされ、以後、1ずつインクリメントされている。ブロック番号は、各有効ブロックに付けられた論理ブロック番号である。ブロック番号は、先頭ブロックが0とされ、以後、1ずつインクリメントされている。なお、有効ブロックが代替された場合には、代替されたブロックに対して、LBAセクタ番号及びブロック番号が付けられる。
【0107】
第1の具体例では、MBRは、ブロック番号0の先頭セクタ(LBAセクタ番号0)に記録される。PBRは、ブロック番号1のLBAセクタ番号462のセクタに記録される。FAT1及びFAT2は、ブロック番号1のLBAセクタ番号464〜479のセクタに記録される。ルートディレクトリエントリは、ブロック番号1のLBAセクタ番号480〜511のセクタに記録される。
【0108】
以上のようにMBR,PBR,FAT,ルートディレクトリエントリが記録されることによって、ユーザにより生成されたファイルが記録される先頭のセクタ(クラスタ2の先頭セクタ)は、ブロック2の先頭セクタ(LBAセクタ番号512)から記録されることとなる。この結果、ブロックの境界位置が、クラスタの境界位置に一致した論理フォーマットとされることになる。
【0109】
(第2の具体例)
図12に、第2の具体例のメディアイメージを示す。図13に、第2の具体例の各パラメータの値を示す。図14に第2の具体例のMBRの記述内容を示し、図15に第2の具体例のPBRの記述内容を示す。
【0110】
LBAセクタ番号は、パーティションやブート領域に関わらず、メディア内の全有効ブロックに対してユニークに付けられた番号である。LBAセクタ番号は、先頭セクタが0とされ、以後、1ずつインクリメントされている。ブロック番号は、各有効ブロックに付けられた論理ブロック番号である。ブロック番号は、先頭ブロックが0とされ、以後、1ずつインクリメントされている。なお、有効ブロックが代替された場合には、代替されたブロックに対して、LBAセクタ番号及びブロック番号が付けられる。
【0111】
第2の具体例では、MBRは、ブロック番号0の先頭セクタ(LBAセクタ番号0)に記録される。PBRは、ブロック番号1のLBAセクタ番号335のセクタに記録される。FAT1及びFAT2は、ブロック番号1のLBAセクタ番号336〜351のセクタに記録される。ルートディレクトリエントリは、ブロック番号1のLBAセクタ番号352〜383のセクタに記録される。
【0112】
以上のようにMBR,PBR,FAT,ルートディレクトリエントリが記録されることによって、ユーザにより生成されたファイルが記録される先頭のセクタ(クラスタ2の先頭セクタ)は、ブロック1のLBAセクタ番号384から記録されることとなる。この結果、ブロックの境界位置が、クラスタの境界位置に一致した論理フォーマットとされることになる。
【0113】
(第1の具体例と第2の具体例の違い)
以上のように、第1の具体例と、第2の具体例は、ブロック境界位置がクラスタ境界位置となっており、ともにホスト機器2側から、ブロック単位の一括記録ができる、つまり、4クラスタ単位で記録ができる。
【0114】
ところで、FAT16のフォーマットでは、先頭の8バイトが“F8FF FFFF”の規定値となっている。また、FAT16のフォーマットでは、9バイト目から4バイトずつ各クラスタの領域が定められている。最初のクラスタのクラスタ番号は、“2”である。なお、本例では、1セクタあたりのバイト数が512バイトである。このため、FATの第1セクタには、クラスタ番号2〜クラスタ番号127までのクラスタの領域が形成されることとなる。
【0115】
第1の具体例のフォーマットの場合、図16に示すように、クラスタ番号02,03,04,05でブロック2が構成され、クラスタ番号06,07,08,09でブロック3が構成され、クラスタ番号0a,0b,0c,0dでブロック4が構成され、以後、4クラスタごとに1つのブロックが構成される。また、第1の具体例のフォーマットの場合、FATの先頭セクタは、ブロック33の2番目のクラスタ(クラスタ7f)で終了している。そして、FATの2番目のセクタは、ブロック33の3番目のクラスタ(クラスタ80)から開始されている。つまり、第1の具体例のフォーマットでは、FAT内で表されているブロックの境界位置と、FATの実際のセクタ位置とが一致していない。
【0116】
これに対して、第2の具体例のフォーマットの場合、図17に示すように、クラスタ番号02、03でブロック1が構成され、クラスタ番号04,05,06,07でブロック2が構成され、クラスタ番号08,09,0a、0bでブロック3が構成され、クラスタ番号0c,0d,0e,0fでブロック4が構成され、以後、4クラスタごとに1つのブロックが構成される。また、第2の具体例のフォーマットの場合、FATの先頭セクタは、ブロック32の4番目のクラスタ、即ち、ブロック内の最後のクラスタ(クラスタ7f)で終了している。そして、FATの2番目のセクタは、ブロック33の最初のクラスタから開始されている。つまり、第2の具体例のフォーマットでは、FAT内で表されているブロックの境界位置と、FATの実際のセクタ位置とが一致している。
【0117】
FATの実際のセクタ境界と、FATで表されたブロックの境界とが一致していない場合、例えば、セクタ境界にあるブロックのクラスタ情報を読み出す場合、2つのセクタを読まなければならない。それに対して、FATの実際のセクタ境界と、FATで表されたブロックの境界とが一致している場合、セクタ境界にあるブロックのクラスタ情報を読み出す場合であっても、1つのセクタのみを読み出せばよい。
【0118】
従って、第1の具体例のフォーマットよりも、第2の具体例のフォーマットの方が、ホスト機器2側でのファイル管理が容易となる。
【0119】
(MBRとPBRとを異なるブロックに記録)
また、第1の具体例と第2の具体例とは両者とも、MBRが、単独のブロックに記録されている。つまり、MBRが、PBR,FAT,ルートディレクトリエントリとは異なるブロックに記録されている。このように、MBRを単独のブロックに記録することによって、フラッシュメモリのような一括消去単位が定められたメディアの場合、ファイルの安全性が確保される。つまり、書き換えの可能性があるPBR,FAT,ルートディレクトリエントリや、実データとは異なるブロックに記録されているため、MBRを書き換える必要がなくなり、ファイルの安全性が確保される。
【0120】
このようなMBRと、PBR,FAT,ルートディレクトリとを異なるブロックに記録することは、本メモリカード1のような、ブロックサイズがクラスタサイズよりも大きい場合でなくても適用することができる。
【0121】
通常、図18に示すように、MBR,PBR,FAT,ルートディレクトリエントリは、ブロック位置に関わらず、セクタ単位で連続して記録される。つまり、MBRがセクタ0、PBRがセクタ1のセクタに記録される。
【0122】
それに対して、クラスタサイズが32Kバイト、ブロックサイズが16Kバイトといったような、ブロックサイズよりクラスタサイズの方が小さいメモリカードである場合には、図19に示すように、MBRをセクタ番号0のセクタに記録し、PBRをセクタ番号47のセクタに記録すればよい。
【0123】
また、クラスタサイズが32Kバイト、ブロックサイズが16Kバイトといったような、ブロックサイズとクラスタサイズとが一致するメモリカードである場合には、図20に示すように、MBRをセクタ番号0のセクタに記録し、PBRをセクタ番号79のセクタに記録すればよい。
【0124】
【発明の効果】
本発明のデータ記憶装置では、ブロック単位で一括消去される不揮発性の半導体メモリと、システム情報記憶部とを備え、このシステム情報記憶部に、1つのブロック内のセクタ数と、ブロックの境界位置のセクタの論理アドレスを示す情報とが格納されている。
【0125】
このため本発明では、半導体メモリに対するデータのアクセス単位の最大サイズが、当該半導体メモリの消去ブロックサイズよりも小さいファイルシステムが適用された場合であっても、いわゆるガベッジコレクションを発生させずに、データを記録することができる。また、本発明によれば、MBRからPBRの論理アドレスを特定できるので、物理的にデータが記録されている位置を把握しなくても、論理的なアドレスを用いて各パーティションに対してアクセスを行うことが可能となる。さらに、本発明によれば、情報記憶部に格納された MBR Values 及び PBR Values に従って論理フォーマットされたユーザ領域にホスト機器が実体データを記録する際に、情報記憶部に格納された1つのブロック内のセクタ数とブロックの境界位置のセクタの論理アドレスとに基づいて空き領域を検索することができ、クラスタ単位で高速記録を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態のホスト機器及びメモリカードの外観斜視図である。
【図2】メモリカードを表面側から見た斜視図である。
【図3】メモリカードを裏面側から見た斜視図である。
【図4】メモリカードの内部ブロック構成図である。
【図5】メモリカードとホスト機器との間のデータ伝送をするためのインタフェース機能の構成図である。
【図6】アトリビュート情報エリアに記録されるデータを示す図である。
【図7】ホスト機器のデータ記録処理内容を示すフローチャートである。
【図8】第1の具体例のフォーマットを適用した場合のメディアイメージを示す図である。
【図9】第1の具体例のフォーマットを適用した場合の各パラメータの値を示す図である。
【図10】第1の具体例のフォーマットを適用した場合のMBRの記述内容を示す図である。
【図11】第1の具体例のフォーマットを適用した場合のPBRの記述内容を示す図である。
【図12】第2の具体例のフォーマットを適用した場合のメディアイメージを示す図である。
【図13】第2の具体例のフォーマットを適用した場合の各パラメータの値を示す図である。
【図14】第2の具体例のフォーマットを適用した場合のMBRの記述内容を示す図である。
【図15】第2の具体例のフォーマットを適用した場合のPBRの記述内容を示す図である。
【図16】第1の具体例のフォーマットを適用した場合のFATの状態を示す図である。
【図17】第2の具体例のフォーマットを適用した場合のFATの状態を示す図である。
【図18】通常フォーマットのメディアイメージを示す図である。
【図19】ブロックサイズよりクラスタサイズの方が小さいメモリカードのメディアイメージを示す図である。
【図20】ブロックサイズとクラスタサイズとが同一のメモリカードのメディアイメージを示す図である。
【符号の説明】
1 メモリカード、2 ホスト機器、13 レジスタ回路、14 データバッファ回路、16 メモリI/Fコントローラ、17 不揮発性半導体メモリ

Claims (4)

  1. ホスト機器に対して着脱自在に取り付けられるリムーバブルなデータ記憶装置において、
    記録されているデータが所定のデータ量のブロック単位で一括消去される不揮発性の半導体メモリを備え、
    上記半導体メモリの記録領域には、本装置の内部情報が記録されたシステム情報記憶部と、ユーザによってデータが記録される領域であるユーザ領域が設けられ、
    上記ユーザ領域は、データ読み書き単位であるセクタ毎に論理アドレスを設定して記録データを管理するとともに物理的に連続する所定数のセクタから構成されるクラスタ単位で記録データの連結関係を管理する論理フォーマットに対応した、ファイル管理データが記録され、この論理フォーマットに基づきホスト機器からアクセスがされ、
    上記システム情報記憶部には、上記ユーザ領域の先頭の論理アドレスのセクタに記録されるマスターブートレコード( MBR )の推奨パラメータを示す MBR Values と、当該ユーザ領域に形成される各パーティションの先頭の論理アドレスのセクタに記録されるパーティションブートレコード( PBR )の推奨パラメータを示す PBR Values と、当該 MBR Values 及び PBR Values に従って論理フォーマットされたユーザ領域における1つの上記ブロック内のセクタ数と、当該論理フォーマットされたユーザ領域におけるブロックの境界位置のセクタの論理アドレスを示す情報とが格納されており、
    上記ブロックのサイズは、上記クラスタのサイズのn倍(nは2以上の整数)とされ、
    上記ユーザ領域内の各ブロックの先頭のセクタは、上記クラスタの先頭のセクタと一致するように論理フォーマットが形成されており、
    上記ファイル管理データは、上記 MBR Values に従って論理フォーマットされたMBRと、上記 PBR Values に従って論理フォーマットされたPBRと、各PBRの次の論理アドレスのセクタから複数のセクタに亘り記録されるファイルアロケーションテーブル(FAT)と、各FATの次の論理アドレスのセクタから複数のセクタに亘り記録されるルートディレクトリエントリとから構成され、
    上記MBRには、上記PBRが記録されたセクタの論理アドレスが記述されており、
    上記PBRには、当該PBRが記録されているパーティションに関する情報が記述されており、
    上記FATには、当該クラスタの次に接続されるクラスタを特定する連結情報が格納される領域が、パーティション内の全クラスタに対応して設けられており、
    上記ルートディレクトリエントリには、最上位のディレクトリに配置されるファイル及びサブディレクトリのエントリ情報が記述され、
    上記パーティションに記録される実体データは、上記ルートディレクトリエントリの次のセクタから、上記1つのブロック内のセクタ数と上記ブロックの境界位置のセクタの論理アドレスとに基づいて上記ホスト機器により検索されるデータファイルの記録されていない空き領域にクラスタ単位で記録されるデータ記憶装置。
  2. 上記ルートディレクトリエントリには、最上位のディレクトリに配置されるファイル及びサブディレクトリのエントリ情報が記述され、上記ルートディレクトリエントリの次のセクタから記録される請求項1記載のデータ記憶装置。
  3. 上記論理フォーマットは、1つのブロックに記録される連続したn個のクラスタに対する連結情報の記録領域が、1つのセクタ内に完結して形成されるように、設定されている請求項1記載のデータ記憶装置。
  4. 上記システム情報記憶部には、PBRが記録される論理セクタが格納されている請求項3記載のデータ記憶装置。
JP2002112641A 2002-04-15 2002-04-15 データ記憶装置 Expired - Fee Related JP4238514B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2002112641A JP4238514B2 (ja) 2002-04-15 2002-04-15 データ記憶装置
EP03717572A EP1498817A4 (en) 2002-04-15 2003-04-14 DATA STORAGE DEVICE
CNB038004364A CN1307555C (zh) 2002-04-15 2003-04-14 数据存储装置
US10/480,760 US7472251B2 (en) 2002-04-15 2003-04-14 Data storage apparatus detachably mounted to a host apparatus
PCT/JP2003/004709 WO2003088044A1 (fr) 2002-04-15 2003-04-14 Dispositif de stockage de donnees
KR1020037016347A KR100975178B1 (ko) 2002-04-15 2003-04-14 데이터 기억 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002112641A JP4238514B2 (ja) 2002-04-15 2002-04-15 データ記憶装置

Publications (2)

Publication Number Publication Date
JP2003308240A JP2003308240A (ja) 2003-10-31
JP4238514B2 true JP4238514B2 (ja) 2009-03-18

Family

ID=29243325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002112641A Expired - Fee Related JP4238514B2 (ja) 2002-04-15 2002-04-15 データ記憶装置

Country Status (6)

Country Link
US (1) US7472251B2 (ja)
EP (1) EP1498817A4 (ja)
JP (1) JP4238514B2 (ja)
KR (1) KR100975178B1 (ja)
CN (1) CN1307555C (ja)
WO (1) WO2003088044A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100422956C (zh) * 2003-08-06 2008-10-01 松下电器产业株式会社 半导体存储卡、存取装置和存取方法
US8185705B2 (en) 2003-10-31 2012-05-22 Panasonic Corporation Information recording medium, information recording medium accessing apparatus and accessing method
CN100543702C (zh) 2003-11-18 2009-09-23 松下电器产业株式会社 文件记录装置及其控制方法和执行方法
TW200604810A (en) * 2004-02-20 2006-02-01 Renesas Tech Corp Nonvolatile memory and data processing system
EP1720119A4 (en) * 2004-03-31 2008-01-23 Matsushita Electric Ind Co Ltd MEMORY CARD AND MEMORY CARD SYSTEM
JPWO2005103903A1 (ja) * 2004-04-20 2007-08-30 松下電器産業株式会社 不揮発性記憶システム
TWI255426B (en) * 2004-05-18 2006-05-21 Carry Computer Eng Co Ltd Storage control apparatus capable of analyzing volume information and the control method thereof
DE102004040296B3 (de) 2004-08-19 2006-03-02 Giesecke & Devrient Gmbh Schreiben von Daten in einen nichtflüchtigen Speicher eines tragbaren Datenträgers
JP4561246B2 (ja) 2004-08-31 2010-10-13 ソニー株式会社 メモリ装置
JP4724412B2 (ja) * 2004-11-25 2011-07-13 キヤノン株式会社 画像データ記録装置
KR100664933B1 (ko) * 2004-12-15 2007-01-04 삼성전자주식회사 비휘발성 저장장치에 멀티미디어 데이터를 블록 단위로저장하는 방법 및 장치
US7395404B2 (en) * 2004-12-16 2008-07-01 Sandisk Corporation Cluster auto-alignment for storing addressable data packets in a non-volatile memory array
JP4859837B2 (ja) * 2005-09-22 2012-01-25 パナソニック株式会社 情報記録媒体アクセス装置、及びデータ記録方法
US20070174549A1 (en) * 2006-01-24 2007-07-26 Yevgen Gyl Method for utilizing a memory interface to control partitioning of a memory module
KR100746036B1 (ko) 2006-02-23 2007-08-06 삼성전자주식회사 플래시 메모리를 제어하는 장치 및 방법
JP4663577B2 (ja) * 2006-05-16 2011-04-06 株式会社バッファロー データ記憶装置およびこの初期化方法
US7496711B2 (en) * 2006-07-13 2009-02-24 International Business Machines Corporation Multi-level memory architecture with data prioritization
KR100809319B1 (ko) 2006-09-13 2008-03-05 삼성전자주식회사 플래시 메모리에서 연속한 섹터 쓰기 요청에 대해 원자성을제공하는 장치 및 방법
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
KR100923990B1 (ko) * 2007-02-13 2009-10-28 삼성전자주식회사 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템
JP4992515B2 (ja) 2007-03-30 2012-08-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2010013445A1 (ja) * 2008-07-30 2010-02-04 パナソニック株式会社 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム
JP5175703B2 (ja) 2008-12-11 2013-04-03 株式会社東芝 メモリデバイス
US8180995B2 (en) 2009-01-21 2012-05-15 Micron Technology, Inc. Logical address offset in response to detecting a memory formatting operation
US8392687B2 (en) * 2009-01-21 2013-03-05 Micron Technology, Inc. Solid state memory formatting
TWI389001B (zh) * 2009-06-01 2013-03-11 Mstar Semiconductor Inc 檔案系統及檔案系統轉換方法
JP5471547B2 (ja) * 2010-02-10 2014-04-16 ソニー株式会社 情報記録装置、撮像装置、情報更新方法及びプログラム
CN101964072A (zh) * 2010-09-14 2011-02-02 太仓市同维电子有限公司 数字化集成非接触式id卡及其集成方法
JP5633484B2 (ja) * 2011-08-10 2014-12-03 株式会社Jvcケンウッド 記録装置及び記録方法
KR20130071850A (ko) * 2011-12-21 2013-07-01 삼성전자주식회사 파일 시스템 및 파일 저장 방법
TWI454912B (zh) * 2012-01-06 2014-10-01 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置
CN103218300B (zh) * 2012-01-18 2016-01-27 群联电子股份有限公司 数据处理方法、存储器控制器与存储器储存装置
JP5380557B2 (ja) * 2012-01-31 2014-01-08 京セラドキュメントソリューションズ株式会社 電子機器、画像形成装置、およびマウント方法
TWI563383B (en) * 2012-04-25 2016-12-21 Phison Electronics Corp Memory formatting method, memory controller and memory storage apparatus
CN103377143B (zh) * 2012-04-27 2016-12-21 群联电子股份有限公司 存储器管理方法、存储器控制器与存储器存储装置
US20140172805A1 (en) * 2012-12-19 2014-06-19 Microsoft Corporation Contact management
CN103942219A (zh) * 2013-01-22 2014-07-23 鸿富锦精密工业(深圳)有限公司 存储卡分区系统及方法
KR20140145879A (ko) * 2013-06-14 2014-12-24 삼성전자주식회사 가상 블록 디바이스로 파일 시스템을 마운트하는 전자 장치 및 방법
US9766837B2 (en) 2015-06-10 2017-09-19 Micron Technology, Inc. Stripe mapping in memory
CN104965882B (zh) * 2015-06-12 2018-09-04 小米科技有限责任公司 数据处理方法及装置
KR102448590B1 (ko) * 2016-03-17 2022-09-29 한국전자통신연구원 메모리 카드로부터 파일을 읽는 방법
IT201700057287A1 (it) * 2017-05-26 2018-11-26 St Microelectronics Srl Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti
CN109445696B (zh) * 2018-10-21 2021-10-08 山西达鑫核科技有限公司 网络聚合存储的信息存储装备
US10936454B2 (en) 2018-11-21 2021-03-02 International Business Machines Corporation Disaster recovery for virtualized systems
KR20210069480A (ko) 2019-12-03 2021-06-11 삼성전자주식회사 메모리 컨트롤러를 포함하는 스토리지 장치 및 비휘발성 메모리 시스템과 이의 동작 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251324B (en) 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
JP3718578B2 (ja) * 1997-06-25 2005-11-24 ソニー株式会社 メモリ管理方法及びメモリ管理装置
JP4474716B2 (ja) 1999-02-12 2010-06-09 ソニー株式会社 編集装置、編集方法
US6278678B1 (en) * 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
JP3524428B2 (ja) * 1999-04-20 2004-05-10 東京エレクトロンデバイス株式会社 記憶装置、記憶システム、メモリ管理方法及び記録媒体
KR100577380B1 (ko) * 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
JP3249959B2 (ja) * 1999-10-12 2002-01-28 株式会社ソニー・コンピュータエンタテインメント 可搬型記憶装置及びメモリカード
KR100703680B1 (ko) * 1999-10-14 2007-04-05 삼성전자주식회사 플래시 파일 시스템
BR0007239B1 (pt) 1999-10-21 2014-03-18 Panasonic Corp Aparelho de acesso á placa de memória semicondutora, placa de memória semicondutora e método de inicialização.
JP3942807B2 (ja) 2000-06-06 2007-07-11 株式会社ルネサステクノロジ ブロックアラインメント機能付き半導体記憶装置
US6601056B1 (en) * 2000-09-28 2003-07-29 Microsoft Corporation Method and apparatus for automatic format conversion on removable digital media
US6785787B2 (en) * 2001-01-26 2004-08-31 Dell Products L.P. Computing system and method for preparing a computer-readable medium

Also Published As

Publication number Publication date
WO2003088044A1 (fr) 2003-10-23
CN1307555C (zh) 2007-03-28
US20050080985A1 (en) 2005-04-14
JP2003308240A (ja) 2003-10-31
CN1516835A (zh) 2004-07-28
EP1498817A1 (en) 2005-01-19
EP1498817A4 (en) 2007-07-11
US7472251B2 (en) 2008-12-30
KR20040100849A (ko) 2004-12-02
KR100975178B1 (ko) 2010-08-10

Similar Documents

Publication Publication Date Title
JP4238514B2 (ja) データ記憶装置
JP4206688B2 (ja) データ処理装置及びデータ処理方法
US7681008B2 (en) Systems for managing file allocation table information
US10055147B2 (en) Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7752412B2 (en) Methods of managing file allocation table information
JP5295778B2 (ja) フラッシュメモリ管理方法
US8626987B2 (en) Flash memory system and defragmentation method
US8291155B2 (en) Data access method, memory controller and memory storage system
US8135901B2 (en) Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US7395384B2 (en) Method and apparatus for maintaining data on non-volatile memory systems
US8239639B2 (en) Method and apparatus for providing data type and host file information to a mass storage system
US8122193B2 (en) Storage device and user device including the same
JP4472010B2 (ja) 記憶装置
JP3712231B2 (ja) 改善されたフラッシュファイルシステム
TWI420305B (zh) 記憶體儲存裝置、其記憶體控制器與自動產生填充檔案的方法
WO2003056433A1 (fr) Dispositif a memoire et appareil d'enregistrement/reproduction utilisant ledit dispositif
JP4130808B2 (ja) フォーマット方法
WO2008042594A1 (en) Managing file allocation table information
JP2007018528A (ja) メモリ装置、ファイル管理方法及び記録再生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080602

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080825

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080904

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: 20081125

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: 20081208

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4238514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

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

LAPS Cancellation because of no payment of annual fees