[go: up one dir, main page]

JP2006085380A - ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法 - Google Patents

ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法 Download PDF

Info

Publication number
JP2006085380A
JP2006085380A JP2004268723A JP2004268723A JP2006085380A JP 2006085380 A JP2006085380 A JP 2006085380A JP 2004268723 A JP2004268723 A JP 2004268723A JP 2004268723 A JP2004268723 A JP 2004268723A JP 2006085380 A JP2006085380 A JP 2006085380A
Authority
JP
Japan
Prior art keywords
data
semiconductor memory
written
erase block
file system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
JP2004268723A
Other languages
English (en)
Inventor
Takafumi Ito
隆文 伊藤
Hiroyuki Sakamoto
広幸 坂本
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004268723A priority Critical patent/JP2006085380A/ja
Priority to PCT/JP2005/017433 priority patent/WO2006030966A2/en
Priority to CNA2005800309989A priority patent/CN101019098A/zh
Publication of JP2006085380A publication Critical patent/JP2006085380A/ja
Priority to US11/724,230 priority patent/US7822931B2/en
Abandoned 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/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/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/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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

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)
  • Static Random-Access Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】不揮発性半導体メモリに対して効率の良い書込みを行うこと。
【解決手段】ホスト機器のファイルシステムによってアクセスされる不揮発性半導体メモリを具備するファイルストレージデバイスであって、前記ファイルシステムが管理可能な不揮発性半導体メモリ内の所定のデータ領域に、不揮発性半導体メモリで有ることを示す属性情報が書き込まれている。
【選択図】 図4

Description

本発明は、不揮発性半導体メモリの制御方法に関し、特に、所定の消去ブロックサイズを有する不揮発性半導体メモリの制御方法に関する。
現在、音楽データや映像データの記録メディアとしてフラッシュメモリ(不揮発性半導体メモリ)を用いたメモリカードが使われている。メモリカードのファイルシステムとしてはFATファイルシステム(追記不可)が用いられている。このFATファイルシステムをフラッシュメモリのファイルシステムに採用した例が特許文献1に開示されている。
特願平7−141479号公報
メモリカードに使用されるフラッシュメモリの代表例としては、NAND型フラッシュメモリが挙げられる。NAND型フラッシュメモリはブロック単位でしか消去を行えないため、ブロックに記憶されたデータの一部のみを書き換える場合は、書き換える新データを消去済みの新ブロックに書き込み、旧データ(新データに書き換えられるデータ)を含む旧ブロックから、書き換えられない残りのデータを新ブロックにコピーする必要がある。このような処理は「引越し書込み」と呼ばれる。この「引越し書込み」は書き換えられないデータのコピー動作を伴うため、当該「引越し書込み」が多発すると、オーバーヘッドが非常に増大することになる。
FATファイルシステムでは、ファイルのクラスタデータの書き換えのたびに、FATデータの書き換えが発生する。このため、NAND型フラッシュメモリのファイルシステムにFATファイルシステムを採用した場合、クラスタデータの書き換えのたびに、上記「引越し書込み」が発生し、ファイルの書き換え速度が低下するという問題があった。
本発明は、以上の背景からなされたものであり、効率の良い書込みを行うことができるファイルストレージデバイス、プログラム、及び不揮発性半導体メモリへのデータの書込方法を提供することを目的とする。
本発明の一例に係わるファイルストレージデバイスは、ホスト機器のファイルシステムによってアクセスされる不揮発性半導体メモリを具備するファイルストレージデバイスであって、前記ファイルシステムが管理可能な不揮発性半導体メモリ内の所定のデータ領域に、不揮発性半導体メモリで有ることを示す属性情報が書き込まれていることを特徴とする。
本発明の一例に係わるプログラムは、コンピュータに、ホスト機器のファイルシステムによってアクセスされる、消去ブロックサイズを有する不揮発性半導体メモリを前記ファイルシステムに応じて論理フォーマットする機能を実現するためのプログラムであって、前記論理フォーマットする機能は、前記コンピュータに、前記消去ブロックサイズを読み出させる機能と、前記フォーマットされた不揮発性半導体メモリに、読み出された消去ブロックサイズの情報を書き込む機能とを実現するためのプログラムであることを特徴とする。
本発明の一例に係わるデータの書込方法は、ホスト機器のファイルシステムによってアクセスされる、消去ブロックサイズの消去ブロックサイズ情報が書き込まれた不揮発性半導体メモリから前記消去ブロックサイズ情報を読み出すステップと、前記消去ブロックサイズ情報に応じて、第1のデータを書き込むステップとを含むことを特徴とする。
本発明によれば、効率の良い書込みを行うことができるファイルストレージデバイス、プログラム、及び不揮発性半導体メモリへのデータの書込方法を提供することができる。
本発明の実施の形態を以下に図面を参照して説明する。
(第1の実施形態)
図1は、本発明の一実施形態に係わるメモリカードに搭載されるデバイス類の概略構成を示す斜視図である。
メモリカードは、PCB(Printed Circuit Board)基板2上にNAND型フラッシュメモリ3及びコントローラ4が配置されて構成されている。コントローラ4には、CPU(Central Processing Unit)8やROM(Read-Only memory)9等の機能ブロックが搭載されている。各デバイスの詳細については後述する。なお、NAND型フラッシュメモリ3は、一つのメモリセルに1ビットの情報を記憶する2値メモリであっても良いし、一つのメモリセルに2ビット以上の情報を記憶する多値メモリであっても良い。また、図1では、PCB基板2上にNAND型フラッシュメモリ3及びコントローラ4が配置された場合を示したが、NAND型フラッシュメモリ3及びコントローラ4は、同一のLSI(Large-scale Integration)基板上に配置されていても良い。
図2は、本発明の一実施形態に係わるホスト機器と上記メモリカードとを含む構成を示すブロック図である。なお、図1と共通する要素には同一の符号を付している。
ホスト機器(以下、ホストと称す)20は、接続されるメモリカードに対してアクセスを行うためのハードウエア及びソフトウエア(システム)を備えている。
メモリカード1は、ホスト20に接続された時に電源供給を受けて動作し、ホスト20からのアクセスに応じた処理を行う。このメモリカード1は、前述したようにNAND型フラッシュメモリ3及びコントローラ4を有する。
NAND型フラッシュメモリ3は、消去時の消去ブロックサイズ(消去単位のブロックサイズ)が256kByteに定められている不揮発性半導体メモリであり、例えば16kByte単位でデータの書込・読み出しを行うようになっている。このNAND型フラッシュメモリ3は、例えば0.09μmプロセス技術を用いて製作される。即ち、NAND型フラッシュメモリ3のデザインルールは、0.1μm未満となっている。
コントローラ4は、NAND型フラッシュメモリ3内部の物理状態(何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、或いは、何処のブロックが消去状態であるか)を管理するものとして構築されている。また、コントローラ4は、前述したCPU8及びROM9の他に、メモリインタフェース部5、ホストインタフェース部6、バッファ7,及びRAM(Random Access Memory)10を搭載している。
メモリインタフェース部5は、コントローラ4とNAND型フラッシュメモリ3との間のインタフェース処理を行うものである。ホストインタフェース部6は、コントローラ4とホスト20との間のインタフェース処理を行うものである。
バッファ7は、ホスト20から送られてくるデータをNAND型フラッシュメモリ3へ書込む際に、一定量のデータ(例えば1ページ分)を一時的に記憶したり、NAND型フラッシュメモリ3から読み出されるデータをホスト20へ送り出す際に、一定量のデータを一時的に記憶したりするものである。
CPU8は、メモリカード1全体の動作を司るものである。CPU8は、例えば、メモリカード1が電源供給を受けた際に、ROM9の中に格納されているファームウェア(後述する制御プログラム)をRAM10上にロードして所定の処理を実行することにより、各種のテーブル(後述)をRAM10上で作成したり、ホスト20から書込コマンド、読出コマンド、消去コマンドを受けてNAND型フラッシュメモリ3上の所定の処理を実行したり、バッファ7を通じたデータ転送処理を制御したりする。
ROM9は、CPU8により制御される制御プログラムなどを格納するメモリである。RAM10は、CPU8の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶するメモリである。
図3は、フラッシュメモリ(即ち、メモリカード1内のNAND型フラッシュメモリ3)のデータ配置を示している。フラッシュメモリ3の各ページは、2112Byte(512Byte分のデータ記憶部×4+10Byte分の冗長部×4+24Byte分の管理データ記憶部)を有しており、128ページ分が一つの消去単位(即ち、256kByte+8kByte)となる。なお、以下の説明においては、便宜上、このフラッシュメモリの消去単位を256kByteと呼ぶ。
また、NAND型フラッシュメモリ3は、フラッシュメモリへのデータ入出力を行うためのページバッファを備えている。このページバッファの記憶容量は、2112Byte(2048Byte+64Byte)である。データ書込などの際には、ページバッファは、フラッシュメモリに対するデータ入出力処理を自身の記憶容量に相当する1ページ分の単位で実行する。
メモリカードを実用上有効な製品とするためには、図3に示したフラッシュメモリ3の記憶容量は1Gビット以上であることが望ましい。フラッシュメモリ3の記憶容量が例えば1Gビットである場合、256kByteブロック(消去単位)の数は、512個となる。
また、図3においては消去単位が256kByteブロックである場合を例示しているが、消去単位が例えば16kByteブロックとなるように構築することも実用上有効である。この場合、各ページは528Byte(512Byte分のデータ記憶部+16Byte分の冗長部)を有しており、32ページ分が1つの消去単位(即ち、16kByte+0.5kByte(ここで、kは1024))となる。
フラッシュメモリのデータが書込まれる領域(データ記憶領域)は、保存されるデータに応じて複数の領域に区分けされている。NAND型フラッシュメモリ3は、データ記憶領域として、ユーザデータを格納するユーザデータ領域34と、主にメモリカードに関する管理情報を格納するための管理データ領域31と、機密データを格納する機密データ領域32と、重要なデータを格納するための保護データ領域33とを備えている。ユーザデータ領域34は、メモリカードを使用するユーザが自由にアクセス及び使用することが可能な領域である。
保護データ領域33は、メモリカード1に接続されたホスト20との相互認証によりホスト20の正当性が証明された場合にのみアクセスが可能となる領域である。
管理データ領域31は、メモリカード1のセキュリティ情報やメディアIDなどのカード情報が格納されている領域である。
機密データ領域32は、暗号化に用いる鍵情報や認証時に使用する機密データが保存されており、ホスト20からはアクセス不可能な領域である。
ホスト20がフラッシュメモリ3をフォーマットする時、ホスト20はファイルシステムで使用される管理用データとして、BIOS Parameter Block(BPB)に物理的な記憶媒体のパラメータ(属性)を書き込む。BPBは、ブートセクタに書き込まれている。ファイルシステムは、起動時にBPBを読み込み記憶媒体のパラメータを認識する。
図4に、本発明の一実施形態に係わるBPBに書き込まれているパラメータを示す。図4に示すBPBは、ファイルシステムがFAT32の場合である。BPBには、OEM名、セクタサイズ、セクタ数/クラスタ、予約セクター数、FATの数、メディアDescriptor、セクタ数/FAT、セクタ数/トラック、ヘッド数、各紙セクタ数、全Bigセクタ数、Bigセクタ数/FAT、拡張フラグ、ファイルシステムバージョン、ルートの最初のクラスタ、ファイルシステム情報セクタ位置、バックアップブートセクタ位置、ドライブID、拡張ブートサイン、シリアル番号、ボリューム名、ファイルシステムタイプ、フラッシュデバイスフラグ(FDF)、消去ブロックサイズ(EBS)、書込みページサイズのパラメータが書き込まれている。
フラッシュデバイスフラグ(FDF)、消去ブロックサイズ(EBS)、書込みページサイズ(PS)は、従来のBPBには書き込まれていないパラメータである。フラッシュデバイスフラグは、対象とするメディアが消去ブロックと書込みページサイズを有するフラッシュメモリデバイスであることを示すフラグである。例えば、フラッシュデバイスフラグが“0”の場合、フラッシュメモリデバイスではない(フロッピー(登録商標)ディスク、ハードディスクなど)ことを示す。フラッシュデバイスフラグが、“1”の場合、消去ブロックと書込みページサイズを有するフラッシュメモリデバイスであることを示す。
消去ブロックサイズは、対象とするメディアがフラッシュメモリデバイスであるときに消去ブロックのサイズを例えば512バイト単位で示す。消去ブロックサイズが512KBのNANDフラッシュメモリを使用するSDメモリカードの場合、このフィールドの値は1024となる。
書込みページサイズは、対象とするメディアがフラッシュメモリデバイスであるときにページサイズを例えば512バイト単位で示す。ページサイズが2KBのNANDフラッシュメモリを使用するSDメモリカードの場合、このフィールドの値は4となる。
(1)ホストがメモリカードをフォーマットする時の動作を図5を参照して説明する。
メモリカードリーダーのスロットにメモリカードが挿入されると、ホストはメモリカードが挿入されたことを認識する(ステップST101)。
次に、FATを読み込む(ステップST102)。もし、FATが読み込めない、つまりフラッシュメモリがフォーマットされていなければ、ホストはユーザにフラッシュメモリをフォーマットするか否かの選択ダイアログをホストに設けられたディスプレイに表示する(ステップST103)。ユーザがフラッシュメモリをフォーマットすることを選択すれば、ホストはフラッシュメモリのフォーマットを開始する。なお、フラッシュメモリがフォーマットされていても、ユーザがフォーマットすることをホストに命令することもできる。
次に、ブートセクタ、ディレクトリ領域、FAT領域、データ領域を確保する(ステップST104)。
次に、ブートセクタにBPBを書き込む(ステップST105)。OEM名、セクタサイズ、セクタ数/クラスタ、予約セクタ数、FATの数、メディアDescriptor、セクタ数/FAT、セクタ数/トラック、ヘッド数、各紙セクタ数、全Bigセクタ数、Bigセクタ数/FAT、拡張フラグ、ファイルシステムバージョン、ルートの最初のクラスタ、ファイルシステム情報セクタ位置、バックアップブートセクタ位置、ドライブID、拡張ブートサイン、シリアル番号、ボリューム名、ファイルシステムタイプのパラメータの取得は、従来と同様である。フラッシュデバイスフラグ(FDF)、消去ブロックサイズ(EBS)、書込みページサイズのパラメータの取得方法について説明する。
ホストはSDメモリカードに対して、SDメモリカード内のフラッシュメモリの情報を得るためのコマンドを送る。このコマンドは、SDメモリカードの規格で用意されている。
SDメモリカードからフラッシュメモリの情報が送られてくると、その情報に応じて消去ブロックサイズ、書込みページサイズの情報を取り出す。ホストは、取得された情報に応じて、ブート領域にBPBを書き込む。
なお、メモリの消去ブロックサイズや書込みページサイズを知ることができるコマンドが用意されていないデバイスに対しては、必要に応じてフォーマートソフトウェアの使用者が手動でこれらの値を設定し、フォーマットソフトウェアはその値をBPBにセットする。
(2)ファイルの書込み動作
ファイルの書込み処理について、図6を参照して説明する。
BPBのFDFを参照し、メディアがフラッシュデバイスであるかどうかをチェックする(ステップST201)。
メディアがフラッシュデバイスでなければ、消去ブロックサイズなどを意識せず、通常のフロッピー(登録商標)ディスクやハードディスクと同様のランダム書込み処理を行う(ステップST202)。
メディアがフラッシュメモリを用いた媒体である場合、ファイルシステムソフトウェアは以下のような方法でファイル書き込みを行う。
BPBの消去ブロックサイズ及び書込みページサイズの情報を取得する(ステップST203)。
BPBの消去ブロックサイズに基づいてFATを検索し、消去ブロック内に使用済みのクラスタがないブロック(クリーンなブロック)を検索する(ステップST204)。
クリーンなブロックに優先的にファイルデータを割り当ててファイル書き込みを行っていく(ステップST205)。また、書込みの際に、ファイルシステムはBPBの書込みページサイズの整数倍のデータサイズ単位でファイルデータを書き込むことが好ましい。これによって、消去ブロック内でのランダムページ書込みが発生することを防止し、データ書込み速度を改善することが可能となる。
(3)次に、FATファイルシステムの場合でのリアルタイムのストリームファイルの書込みが完了しなかった場合に、ファイルをリカバリすることができる書込み方法及びリカバリ方法を説明する。
ホストはファイル書込みの際以下の手順でファイルを書込む。書込処理の手順を図7のフローチャートを参照して説明する。
BPBに登録されている消去ブロックサイズ及びFATに基づいて、クリーンなブロックが連続している領域のうち容量が大きい連続領域を検索する(ステップST301)。
検索された最大連続領域のサイズがストリームファイルを書き込むのに充分なサイズであれば、最大連続領域にストリームファイルを書き込むものとして、書込むストリームファイルのための仮のFATをあらかじめ書込む(ステップST302)。
もし、最大連続領域のサイズが、ストリームファイルを書き込むのに充分なサイズで無ければ、空き領域の論理的アドレスが連続するように変換テーブルを変更して、ストリームファイルを書き込むための領域を確保しても良い。
ファイルの実体を低位のセクタから順次シーケンシャルに書込んでいく(ステップST303)。ブロック消去による書込み速度低下を防ぐため、書込処理時にFATの更新は行わない。書込み時、カード側は、書込処理されたページに対して、ページの冗長領域を利用して書込み済みのフラグを記録する。
リアルタイムのストリームの書込みが終了したら(ステップST304)、ファイルサイズを確定する(ステップST305)。確定されたファイルサイズに基づいて、仮FATを最終的なFATに書き換えてファイルをクローズする(ステップST306)。
何らかの要因(HWトラブルなど)でファイルの書込みが完了していなかった場合、すなわち最終的なFATの書込みが完了しなかった場合、ホストシステムは以下の手順でファイルのリカバリを行う。リカバリ処理の手順を図8を参照して説明する。
仮FATに従ってファイル実体のクラスタの開始位置を認識する(ステップST311)。
ホストはカードから、前述の書込み済み/未書込みのフラグに従って書込み済み領域の最終位置を認識する(ステップST312)。
ホストはファイルクラスタ開始位置から、ステップST312で認識された最終書込み位置までの領域をリカバリファイルのサイズとして確定する(ステップST313)。
確定されたファイルサイズに基づいて、仮FATを正式なFATに更新する(ステップST314)。
上述した書込処理及びリカバリ処理によって、ビデオカメラによる動画撮影などリアルタイムのストリームファイルの書込みがホスト機器のハードウェアトラブルなどによって完了せず、ファイル構造が不完全になった場合でも記録した位置までのファイルのリカバリが可能である。
なお、ステップST301の前に、デフラグ処理を行って、ストリームファイルを書き込むための連続領域を確保しても良い。デフラグ処理を行うと、書込み制御の効率が向上する。
(4)性能パラメータ
なお、ファイル書込み性能を計算するための各種パラメータをBPBのパラメータとして定義し、ファイルシステムがこれらのパラメータによってファイル書込み速度の計算ができるようにしてもよい。以下にファイル書込み性能を計算するための各種パラメータ、及び各種パラメータを用いた計算方法を説明する。
ホスト機器からメモリカードへのデータ伝送性能は制御バス上の伝送速度であると仮定する。ここで、制御バスは図2中でホスト20とコントローラ4を双方向に結ぶ矢印のことである。なお、上記はホスト機器が最適な状態で書き込みをした場合を仮定している。
4−1)パフォーマンスカーブの定義
メモリ領域は例えば16KBのクラスタ(第一の基本アクセス単位:ここではクラスタという用語を用いるが、ここで言うクラスタは通常ファイルシステムの書き込み単位として用いるクラスタとは異なるものである)と呼ばれる単位に分けられて動画データ等の書き込みが行われる。この単位は、8KB,32KB,64KB、128KB等任意である。ホスト機器は動画データを記録可能なフリークラスタの数を数えることにより、残存記録時間を計算することが出来る。(第一の基本アクセス単位は書き込み単位であり、第二のアクセス単位が管理単位となる。)
なお、上記のクラスタはホスト機器のコントローラから記憶デバイスを見た場合の記憶単位であり、記憶デバイスに内蔵された不揮発性記憶装置(フラッシュメモリ)側のページとは一致する必要はない。図9(a)にホスト機器側から見たときの記憶デバイスの領域分割の概要を示し、図9(b)に記憶デバイス内部での記憶領域分割の概要を示す。図9(a)に示すように、ホスト機器から見た場合はクラスタ(図中第一の記憶単位)32が記憶単位であり、複数のクラスタの集合としてAU(アロケーションユニット、図中第二の記憶単位)31が定義される。なお、AUについては追って説明する。この関係は図9(b)に示した、記憶デバイス側から見たときのページとブロックの関係に類似している。ページ34は記憶デバイスの基本アクセス単位であり、ブロック33は複数のページからなり、消去(ERASE)単位である。
しかしながらページとクラスタは同一である必要はなく、クラスタはページの整数倍にすることができる。同様にAUはブロックの整数倍にすることができる。以下の説明では、上記のクラスタ、AUを基本単位として説明する。
ホスト機器によりクラスタ単位のデータがメモリセル内のAの場所からBの場所まで順次記入される場合を例にとって、図10を用いて説明する。
図10(a)に示すように、複数のクラスタ(図中第一の記憶単位)、の集合体である第二の記憶単位(たとえばAU)に新規にデータを記入する場合について検討する。このAUの論理アドレスをXとする。このAU中の各クラスタに新規にデータを書き込む場合、実際には当初論理アドレスAのデータが書き込まれていた物理ブロックXXから別の物理ブロックXYに、従来書かれていたクラスタ(図中Used)のデータを書き写し、同時に新規に書き込むデータを記入する作業が必要になる。この作業の終了後に新規に物理ブロックXYを論理アドレスXとして認識する。
この作業の実施に際して、当初記入されていない(図中free)クラスタに新規にデータを書き込む時間は単純に書き込み時間である。これをPw(書き込みパフォーマンス)とする。一方、すでにクラスタに書き込みされている(図中Usedのクラスタ)データを別のブロックに書き写す場合には新規のクラスタに書き込む時間に加え、元のクラスタから読み出す時間がかかる。さらに予定された順序からすればもしもこのクラスタが空であればそこに書き込まれる予定であった新規のデータ(たとえば図中Data3)は、その書き込み済みデータの新しいブロックへの書き写しの間、作業を停止する。これらに要する時間をデータの移動パフォーマンス(Pm)とする。
新規データ記入の合計の所要時間は、書き込み時間の総計と、移動時間の総計の合計時間になる。
以上の説明から平均パフォーマンスP(Nu)を数式化すると[数式1]のようになる。
[数式1]
平均パフォーマンス:P(Nu)
=[Sc×(Nt−Nu)]/[Sc×(Nt−Nu)/Pw+Sc×Nu/Pm]
=[(Nt−Nu)×Pm×Pw]/[(Nt−Nu)×Pm+Nu×Pw]
ここで、
Sc:クラスタの寸法(通常ファイルシステムの書き込み単位として用いるクラスタの寸法とは異なる)
Nt:AからBに順次書き込むクラスタ数の合計
Nu:AからBの間の使用済みクラスタ数
Pw:書込みパフォーマンス(全て未記入クラスタの場合のパフォーマンス)
Pm:移動パフォーマンス(MB/sec単位)
である。
この式は、書込みパフォーマンスPwと移動パフォーマンスPmによりパフォーマンスが決定されることを前提にしている。
図11はAUのクラスタ数を16としたときのカードパフォーマンスを示す。使用済みクラスタ比r(横軸)ごとのパフォーマンス(縦軸)をそれぞれ結ぶと、パフォーマンスカーブが得られる。パフォーマンスカーブはホスト機器メーカーにとって重要な情報になる。パフォーマンスカーブは上記の書込みパフォーマンスPwと移動パフォーマンスPmで規定される。移動パフォーマンスPwはr=0の場合、すなわちフルパフォーマンスと等価である。移動パフォーマンスPwは記憶デバイス(フラッシュメモリ)のプログラム時間によって変わるものである。また、移動パフォーマンスPmはフラッシュメモリのプログラム時間に加え、読み出し時間、データ移動方法にも依存して変化する。なお、データ移動は、メモリカード内部で処理されるものであるため、ホスト機器が直接制御するものではない。
ここで、使用済みクラスタ比rは、
r=Nu/Nt
と記載できる。これは
Nu=r×Nt
とも記載できる。
使用済みクラスタ比rは0から1の範囲で可変である。r=0はすべてのクラスタが未記入であることを意味し、r=1はすべてのクラスタが記入済みであること、すなわちパフォーマンスが0であることを意味する。言い換えれば、P(1)=0である。
このことから、いかなるパフォーマンスカーブも(1,0)点を通ることがわかる。[
数式1]をrを使って書き直すと、[数式2]となる。
[数式2]
平均パフォーマンスカーブ:P(r)
=[(1−r)×Pw×Pm]/[r×Pw+(1−r)×Pm]
但し、0≦r≦1である。
図12は[数式2]のパフォーマンスカーブの特徴を図示したものである。P(r)は、直線L(r)(L(r)はY軸上の点PwとX軸上の点1を結ぶ直線)よりも常に小さい(常に原点側にある)ことがわかる。
言い換えれば、
L(r)−P(r)=Pw×(Pw−Pm)×(r−r2)≧0
である。
4−2)メモリカードの分類
4−2−1)アプリケーションからの要求
メモリカードを用いるアプリケーションは高性能のカードを求めている。以下に代表例を記す。
(1)デジタルビデオ録画
MPEG2やMotionJPEGではメモリカードへの直接記録が求められている。標準的なテレビ画像の品質、解像度を得るには、約2MB/secの記録速度が求められる。デジタルビデオカメラメーカーは使用途中のメモリカードの録画可能時間を知り、残存している録画可能時間として表示する必要がある。
(2)連写機能を有するデジタルスチルカメラ
デジタルスチルカメラメーカーは連写機能を実現するために高性能メモリカードを必要としている。デジタルスチルカメラメーカーは使用者に可能な連写レートを明示するためカードパフォーマンスを計算する必要がある。
4−2−2)クラス分け
カードパフォーマンスとホスト機器要求性能との整合をとるために、カード性能に応じて複数のパフォーマンスに分類する必要がある。図13に、2本のパフォーマンスカーブで区分した場合の3つの領域を示す。図中、クラス1およびクラス2のパフォーマンスカーブで、P(r)−r領域は3領域に区分されている。なお。縦軸P(r)はパフォーマンスを、横軸rは使用済みクラスタ比を示している。
従来のカードはこの3領域のうち、もっとも原点に近い領域、クラス0(図中Area of No Class Card)に属する。図中では最も性能の劣った区分である。
クラス1のパフォーマンスカーブはクラス1カードの最低性能を意味する。このカーブは二つのパラメータPw1(クラス1パフォーマンスカーブとY軸の交点)とPm1で規定される。同様に、クラス2のパフォーマンスカーブはクラス2カードの最低性能を意味する。このカーブは二つのパラメータPw2(クラス2パフォーマンスカーブとY軸の交点)とPm2で規定される。アプリケーションの要求がさらに高まればさらに高レベルのクラス3、クラス4のパフォーマンスカーブを規定する必要が出てくるが、基本的な考え方は変更する必要はない。
4−2−3)記憶エリアの位置とパフォーマンス精度
データを書き込むクラスタAの開始アドレスが消去セクタの境界でない場合、予備移動時間が必要になり、実際のパフォーマンスは期待パフォーマンスよりも劣る。正確な予測を行うためには、AとBのアドレスが消去セクタの境界にあることが要件となる。以下の4−5−2)でアロケーションユニット(AU)を規定するのはこの理由からである。
4−3)記録中のファイルシステムの更新
図14はリアルタイム記録中のファイルシステムの更新(この例ではFAT(ファイルアロケーションテーブル)の更新)の典型的なシーケンスを示している。ファイルシステムの更新はどのクラスタの間にも起こりうる。ファイルシステムの更新は定期的に行われるがあるファイルシステム更新と次のファイルシステム更新の間に書き込まれるクラスタの数はファイルシステム更新間隔(TFU)によって規定される。FAT書き込みサイクルは3つの書き込み動作からなる。FAT1(FAT2)はひとつのマルチブロック書き込みコマンド(連続した複数のブロックを1つの書き込みコマンドで書き込む)を用いたFAT1,FAT2それぞれへのFATtable書き込みである。FAT書き込みは任意のバイトアドレスから開始可能であり、16KBまでの任意の長さまでの書き込みとして定義可能である。図中DIRはDirectry Entryの略であり、これは記録に先立って生成され、Directry Entryの変更した部分にのみ書き込まれる。FAT書き込み時間(TFW)は上記のFAT書き込みシーケンスの合計時間として規定される。これ(TFW)はカードコントローラの仕様によって変わる。
ホスト機器はファイルシステムの更新がシーケンスに挿入されることによるパフォーマンスの低下を計算することが出来る。FAT書き込みサイクルを挿入することによりアプリケーションが求めるパフォーマンス(Pa)よりも高いカードパフォーマンス(Pc)が要求されることになる。
4−3−1)FAT書き込み時間(TFW)の平均を求めるための測定条件
ホスト機器は平均値としてパフォーマンスを計算する必要がある。[数式3]は平均FAT書き込み時間(TFW(ave.))を規定する式であり、任意の8回のFAT書き込みサイクルの平均値の最悪値として測定できる。
[数式3]
平均FAT書き込み時間:(TFW(ave.))
=[max(TFW(1)+TFW(2)+・・・+TFW(7)+TFW(8))]/8
2−3−2)最大ファイルシステム更新時間
ホスト機器はファイルシステム更新の間にデータを一時保存するための充分なバッファ領域を必要とする。最大ファイルシステム更新時間によって要求される最小バッファ領域が決まる。ホスト機器のバッファ領域サイズに対する要求に関係して3−3)でさらに説明する。
[数式4]はファイルシステム(FAT)書き込み時間の最悪値を規定する。
[数式4]
ファイルシステム(FAT)書き込み時間の最悪値:(TFW(max))≦750[ms]
4−4−3)容量とAU(アロケーションユニット)最大寸法との関係
消去セクタサイズに関係してホストから別のパラメータが要求される。SDTMカードの物理規格によりAU 寸法を読み込むレジスタを規定することによって、カードに最適なAU 寸法を示すことができ、ホスト機器はAU を効率的に利用できる。また、AUの最大値によって必要なホストバッファサイズが規定される。
カード容量に応じた最大AU寸法の例をあげる。
カード容量/最大AU寸法=16-128MB/128KB、256MB/256KB、512MB/512KB、1GB/1MB、2GB/2MB、4-32GB/4MB。
4−5)リアルタイム記録を行うホスト機器の要件
この項ではホスト機器がリアルタイム記録を行うときの方法について述べる。
4−5−1)ファイルシステム更新に伴うパフォーマンス計算方法
[図14]にリアルタイム記録時の典型的なファイルシステム更新サイクルのシーケンスを示した。FAT書き込みサイクルは3つの領域に対して行われる。ファイルシステム更新時にホスト機器はこのシーケンスを取ることが望ましい。
4−5−1a)ファイルシステム更新時に必要とされるカードパフォーマンス条件
ホスト機器は必要とされるカードパフォーマンス(Pc)を、必要とされるアプリケーションパフォーマンス(Pa)、及び、平均FAT書き込み時間(TFW)から決める必要がある。ホスト機器はPaよりも高いPcの性能のカードを必要とする。
Pa(アプリケーションが必要とするパフォーマンス)、Pc(Paを満足するためのカードパフォーマンス)を[数式5],[数式6]にそれぞれ示す。
[数式5]
アプリケーションが必要とするパフォーマンス:Pa
=[Sc×Nd]/[Sc×Nd/Pc+TFW
[数式6]
Paを満足するためのカードパフォーマンス:Pc
=[Sc×Nd×Pa]/[Sc×Nd−Pa×TFW
4−5−1b)ファイルシステム更新期間の条件
ファイルシステム更新期間(ファイルシステム更新から次のファイルシステム更新までの期間)はFAT書き込みシーケンスを各データ転送の間に挿入することにより決定される。これは書き込み速度に依存するが期間の精度は重要ではない。ホスト機器がファイルシステム更新期間を簡単に計算できるように、簡単な方法をとってよい。
ファイルシステム更新期間の算出式を[数式7]に示す。
[数式7]
ファイルシステム更新期間:TPF
=Sc×Nd/Pa=Sc×Nd/Pc+TFW
FAT書き込みを挿入することで、パフォーマンスはさらに悪化する。そこでホスト機器は適切なNdに調整してよい。(TPFは1秒以上が望ましい)。より大きなNdを選択したとき、PcはPaに近づき、低性能のカードでもPaを満足しうるようになりうる。
4−5−2)アロケーションユニット(AU)
アロケーションユニットはすべてのメモリエリアをAU寸法(SAU)に分けるものとして規定される。SAUは消去セクタ(ブロック)サイズの整数倍である。各AUは図15(a)に図示したような複数のクラスタに分割されている。AUの最上位の位置のクラスタにはファイルシステム領域が含まれる。ホスト機器はどのAUがリアルタイム記録に使用可能か判定する必要がある。また、ホスト機器によってはアプリケーションの種類に応じて数種類の異なったビットレートのモードに対応していることがある。利用者が選んだモードに応じてホスト機器はその選ばれたアプリケーションが必要とするパフォーマンスを決める必要がある。さらに、ファイルシステム更新によるロスを考慮するなら、ホスト機器はアプリケーションのパフォーマンス(Pa)よりもさらに上のパフォーマンス(Pc)をカードに求める必要がある。Pcは[数式6]によって算出できる。
4−6−1)最大使用済みクラスタ比
図6(a)に示したように、開始位置がAであり終了位置Bであり、AU境界がそれぞれ開始位置Aと終了位置Bに一致しているとすれば、[数式2]により、AUのパフォーマンスの計算を求めることが出来、最大使用済みクラスタ比(AUfastとAUlastに分類する境界値。この値が小さいほどリアルタイム記録に適したAUと判定できる。)はPcから導ける。[数式8]に最大使用済みクラスタ比の計算式を示す。
[数式8]
最大使用済みクラスタ比:r(Pc)
=[(Pw−Pc)×Pm]/[(Pw−Pm)×Pc+Pw×Pm]
3−2−2)2つのカテゴリへのAUの分類
ホスト機器はAUを2つのカテゴリに分類する。ひとつはAUFASTであり、これは要求パフォーマンスPcでリアルタイム記録を行うのに充分対応できる速さを有する。他方はAUSLOWであり、これはメモリ領域が断片化しすぎているためにリアルタイム録画に適さないものである。ホスト機器はAUごとに使用済みクラスタ数(Nu)を数え、使用済みクラスタ比を計算する。AUFASTかAUSLOWかは[数式9]により計算できる。
[数式9]
Nu/Nt<r(Pc)であればAUはAUFAST
Nu/Nt≧r(Pc)であればAUはAUSLOW
すなわち、Nu/Ntがr(Pc)よりも小さいときはAUはAUSLOWに分類され、大きいときはAUSLOWに分類される。ここで、NtはAU中の全クラスタ数である。
図15はAUのメモリカード領域におけるAUの割り当てを示す。図15(a)については上で説明した。なお、図示されているように、各AUは複数のクラスタからなる。図15(b)には、上記で説明したAUの2種類の各分類のメモリ空間内での分布の一例を示している。先頭のAUはファイルシステムを含むためリアルタイム記録には適さない領域であり、AUSLOWに割り当てる。また、ディレクトリエントリはデータを記録するAUと同じにAUに作成してはならない。
・ブロックサイズは必ずしもNANDフラッシュメモリチップのサイズでなくてもよい。(それを複数個まとめたものをその単位としてもよい。)
・フラッシュデバイスを示すフラグはBPB中の別のアドレスを割り振ったが、メディアタイプを示すメディアDescriptor(メディアID)のID種別を追加して割り振っても良い。
・FATファイルシステムの例を記述したが、類似のファイルアクセス方式をもつ別のファイルシステムにも適用可能である。
なお、上記各実施形態に記載したフォーマット処理及び書込み処理は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行しても良い。
さらに、記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、コンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、コンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で、種々変形して実施することが可能である。
本発明の一実施形態に係わるメモリカードに搭載されるデバイス類の概略構成を示す斜視図。 本発明の一実施形態に係わるホスト機器と上記メモリカードとを含む構成を示すブロック図。 本発明の一実施形態に係わるフラッシュメモリのデータ配置を示す図。 本発明の一実施形態に係わるBPBに書き込まれているパラメータを示す図。 本発明の一実施形態に係わるホストがメモリカードをフォーマットする時の動作を説明するためのフローチャート。 本発明の一実施形態に係わるファイルの書込み処理の手順を示すフローチャート。 本発明の一実施形態に係わる書込処理の手順を示すフローチャート。 本発明の一実施形態に係わるリカバリ処理の手順を示すフローチャート 図9(a)はホスト機器側から見たときの記憶デバイスの領域分割の概要を示し、図9(b)に記憶デバイス内部での記憶領域分割の概要を示す図。 本発明の一実施形態に係わるデータの移動を説明する図。 本発明の一実施形態に係わるパフォーマンスカーブを示す図。 本発明の一実施形態に係わるパフォーマンスカーブと直線Lの関係を示す図。 本発明の一実施形態に係わるパフォーマンスカーブ分類を示す図。 本発明の一実施形態に係わるリアルタイム記録中のファイルシステム更新の例を示す図。 本発明の一実施形態に係わるメモリカード領域に対するAU割り当ての例を示す図。
符号の説明
1…メモリカード,2…PCB基板,3…NAND型フラッシュメモリ,4…コントローラ,5…メモリインタフェース部,6…ホストインタフェース部,7…バッファ,8…CPU,9…ROM,10…RAM

Claims (7)

  1. ホスト機器のファイルシステムによってアクセスされる不揮発性半導体メモリを具備するファイルストレージデバイスであって、
    前記ファイルシステムが管理可能な不揮発性半導体メモリ内の所定のデータ領域に、不揮発性半導体メモリで有ることを示す属性情報が書き込まれていることを特徴とするファイルストレージデバイス。
  2. 前記不揮発性半導体メモリは、消去ブロックサイズを有し、
    前記不揮発性メモリには、前記消去ブロックサイズの大きさを示す情報が書き込まれていることを特徴とする請求項1に記載のファイルストレージデバイス。
  3. 前記不揮発性半導体メモリは、書込ページサイズを有し、
    前記不揮発性メモリには、前記書込ページサイズの大きさを示す情報が書き込まれていることを特徴とする請求項1に記載のファイルストレージデバイス。
  4. コンピュータに、
    ホスト機器のファイルシステムによってアクセスされる、消去ブロックサイズを有する不揮発性半導体メモリを前記ファイルシステムに応じて論理フォーマットする機能を実現するためのプログラムであって、
    前記論理フォーマットする機能は、前記コンピュータに、
    前記消去ブロックサイズを読み出させる機能と、
    前記フォーマットされた不揮発性半導体メモリに、読み出された消去ブロックサイズの情報を書き込む機能とを
    実現するためのプログラム。
  5. 前記不揮発性半導体メモリは書込ページサイズを有し、
    前記コンピュータに、
    前記不揮発性半導体メモリの書込ページサイズを読み出す機能と、
    読み出された書込ページサイズの情報を前記不揮発性半導体メモリに書き込む機能と
    を実現するための請求項4に記載のプログラム。
  6. ホスト機器のファイルシステムによってアクセスされる、消去ブロックサイズの消去ブロックサイズ情報が書き込まれた不揮発性半導体メモリから前記消去ブロックサイズ情報を読み出すステップと、
    前記消去ブロックサイズ情報に応じて、第1のデータを書き込むステップとを含むことを特徴とする不揮発性半導体メモリへのデータの書込方法。
  7. 前記消去ブロックサイズに基づいて、第2のデータが書き込まれていない消去ブロックの有無を認識するステップを更に含み、
    前記書込時、第2のデータが書き込まれていない消去ブロックが有る場合、第2のデータが書き込まれていない消去ブロックに優先的に第1のデータを書き込むことを特徴とする請求項6に記載の不揮発性半導体メモリへのデータの書込方法。
JP2004268723A 2004-09-15 2004-09-15 ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法 Abandoned JP2006085380A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004268723A JP2006085380A (ja) 2004-09-15 2004-09-15 ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法
PCT/JP2005/017433 WO2006030966A2 (en) 2004-09-15 2005-09-15 File storage device, host apparatus, method of formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory
CNA2005800309989A CN101019098A (zh) 2004-09-15 2005-09-15 格式化非易失性半导体存储器的文件存储装置、主机设备、方法,以及在非易失性半导体存储器中写数据的方法
US11/724,230 US7822931B2 (en) 2004-09-15 2007-03-15 File storage device, host apparatus, method for formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004268723A JP2006085380A (ja) 2004-09-15 2004-09-15 ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法

Publications (1)

Publication Number Publication Date
JP2006085380A true JP2006085380A (ja) 2006-03-30

Family

ID=35457863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004268723A Abandoned JP2006085380A (ja) 2004-09-15 2004-09-15 ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法

Country Status (4)

Country Link
US (1) US7822931B2 (ja)
JP (1) JP2006085380A (ja)
CN (1) CN101019098A (ja)
WO (1) WO2006030966A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008152415A (ja) * 2006-12-15 2008-07-03 Matsushita Electric Ind Co Ltd アクセス装置、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP2008198206A (ja) * 2007-02-13 2008-08-28 Samsung Electronics Co Ltd データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285669A (ja) 2005-03-31 2006-10-19 Toshiba Corp ホスト機器
JP4663577B2 (ja) * 2006-05-16 2011-04-06 株式会社バッファロー データ記憶装置およびこの初期化方法
EP2069939B1 (en) 2006-09-28 2013-01-02 SanDisk Technologies Inc. End of life recovery and resizing of memory cards
US7596656B2 (en) 2006-09-28 2009-09-29 Sandisk Corporation Memory cards with end of life recovery and resizing
JP2010026933A (ja) * 2008-07-23 2010-02-04 Toshiba Corp メモリシステム、ホスト装置
US20100161952A1 (en) * 2008-12-18 2010-06-24 Texas Instruments Incorporated Performance optimizations by dynamic reduction of file allocation tables
US9015401B2 (en) 2011-04-28 2015-04-21 Seagate Technology Llc Selective purge of confidential data from a non-volatile memory
JP5976608B2 (ja) 2012-10-30 2016-08-23 株式会社東芝 メモリデバイス
CN103412822B (zh) * 2013-07-26 2017-06-06 华为技术有限公司 操作非易失性内存和数据操作的方法和相关装置
CN104468745A (zh) * 2014-11-24 2015-03-25 惠州Tcl移动通信有限公司 一种基于网络的文件传输方法及系统
US10303401B2 (en) * 2017-01-26 2019-05-28 International Business Machines Corporation Data caching for block storage systems

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0779403A (ja) * 1993-06-25 1995-03-20 Nikon Corp 電子スチルカメラ
JPH07105053A (ja) * 1993-10-07 1995-04-21 Olympus Optical Co Ltd 情報取り扱い装置
JPH0876942A (ja) * 1994-08-31 1996-03-22 Fuji Photo Film Co Ltd メモリカードインタフェース装置
JPH09252447A (ja) * 1996-03-15 1997-09-22 Ricoh Co Ltd デジタルスチルビデオカメラ
JP2000010743A (ja) * 1998-06-19 2000-01-14 Canon Inc 印刷装置および印刷装置のメモリ資源情報検出方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2001250387A (ja) * 2000-03-03 2001-09-14 Casio Comput Co Ltd データ処理装置、及び記憶媒体
JP2002268907A (ja) * 2001-03-12 2002-09-20 Ricoh Co Ltd メモリ制御装置
WO2003018207A1 (en) * 2001-08-27 2003-03-06 Elkem Asa Method for removing impurities from silicon-containing residues
JP2003296177A (ja) * 2002-04-03 2003-10-17 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
JP2003308241A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置
JP2005528696A (ja) * 2002-06-03 2005-09-22 ハネウェル・インターナショナル・インコーポレーテッド フラッシュメモリ管理のシステムおよび方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141479A (ja) 1993-11-18 1995-06-02 Toshiba Corp Icメモリカードおよびそのicメモリカードを使用したファイル管理システム
JPH08212019A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
US6978342B1 (en) * 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5887198A (en) * 1997-04-07 1999-03-23 The United States Of America As Represented By The Secretary Of The Navy Programmable stand-alone drive apparatus for interfacing a host computer with PCMCIA memory cards having multiple formats
US6601140B1 (en) * 1999-04-07 2003-07-29 Sony Corporation Memory unit, data processing unit, and data processing method using memory unit type
KR100944054B1 (ko) * 2002-08-29 2010-02-24 파나소닉 주식회사 반도체메모리장치 및 플래시메모리에의 데이터기입방법
EP1653362B1 (en) * 2003-08-06 2015-09-30 Panasonic Corporation Accessing device and method for a semiconductor memory card
US7461259B2 (en) * 2004-06-30 2008-12-02 Nokia Corporation Method and apparatus to provide secure mobile file system
JP2006285669A (ja) * 2005-03-31 2006-10-19 Toshiba Corp ホスト機器

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0779403A (ja) * 1993-06-25 1995-03-20 Nikon Corp 電子スチルカメラ
JPH07105053A (ja) * 1993-10-07 1995-04-21 Olympus Optical Co Ltd 情報取り扱い装置
JPH0876942A (ja) * 1994-08-31 1996-03-22 Fuji Photo Film Co Ltd メモリカードインタフェース装置
JPH09252447A (ja) * 1996-03-15 1997-09-22 Ricoh Co Ltd デジタルスチルビデオカメラ
JP2000010743A (ja) * 1998-06-19 2000-01-14 Canon Inc 印刷装置および印刷装置のメモリ資源情報検出方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2001250387A (ja) * 2000-03-03 2001-09-14 Casio Comput Co Ltd データ処理装置、及び記憶媒体
JP2002268907A (ja) * 2001-03-12 2002-09-20 Ricoh Co Ltd メモリ制御装置
WO2003018207A1 (en) * 2001-08-27 2003-03-06 Elkem Asa Method for removing impurities from silicon-containing residues
JP2003296177A (ja) * 2002-04-03 2003-10-17 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
JP2003308241A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置
JP2005528696A (ja) * 2002-06-03 2005-09-22 ハネウェル・インターナショナル・インコーポレーテッド フラッシュメモリ管理のシステムおよび方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008152415A (ja) * 2006-12-15 2008-07-03 Matsushita Electric Ind Co Ltd アクセス装置、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP2008198206A (ja) * 2007-02-13 2008-08-28 Samsung Electronics Co Ltd データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法

Also Published As

Publication number Publication date
WO2006030966A2 (en) 2006-03-23
US20070226404A1 (en) 2007-09-27
WO2006030966A3 (en) 2006-11-30
CN101019098A (zh) 2007-08-15
US7822931B2 (en) 2010-10-26

Similar Documents

Publication Publication Date Title
US7039754B2 (en) Detachably mounted removable data storage device
JP4238514B2 (ja) データ記憶装置
US7543103B2 (en) Host apparatus
US7395384B2 (en) Method and apparatus for maintaining data on non-volatile memory systems
US8589617B2 (en) Write once recording device
US8607016B2 (en) FAT analysis for optimized sequential cluster management
US8626987B2 (en) Flash memory system and defragmentation method
US7822931B2 (en) File storage device, host apparatus, method for formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory
US5627783A (en) Semiconductor disk device
WO2005015406A1 (ja) 半導体メモリカード、アクセス装置及びアクセス方法
EP3752905B1 (en) Append only streams for storing data on a solid state device
US20080250189A1 (en) Circuit and Method for Improving Operation Life of Memory
WO2021035555A1 (zh) 一种固态硬盘的数据存储方法、装置及固态硬盘ssd
JP2006040264A (ja) メモリカードの制御方法および不揮発性半導体メモリの制御方法
JPWO2005043394A1 (ja) 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
US20180232154A1 (en) Append Only Streams For Storing Data On A Solid State Device
KR20210158043A (ko) 스트림 분류 번호에 따른 데이터 분류 스토리지 장치 및 그 동작 방법
CN101176075A (zh) 能够提高存储器使用寿命的电路和方法
CN113467697A (zh) 存储器控制器与数据处理方法
JP2006155461A (ja) 情報処理装置、情報処理方法、並びにプログラム
CN100468361C (zh) 信息记录介质、对信息记录介质的访问装置以及访问方法
CN117785018A (zh) 键值存储方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101014

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20101119

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20120516