JP2014044490A - ホスト装置及びメモリデバイス - Google Patents
ホスト装置及びメモリデバイス Download PDFInfo
- Publication number
- JP2014044490A JP2014044490A JP2012185127A JP2012185127A JP2014044490A JP 2014044490 A JP2014044490 A JP 2014044490A JP 2012185127 A JP2012185127 A JP 2012185127A JP 2012185127 A JP2012185127 A JP 2012185127A JP 2014044490 A JP2014044490 A JP 2014044490A
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- file system
- area
- host device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 78
- 238000012217 deletion Methods 0.000 claims description 27
- 230000037430 deletion Effects 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 58
- 238000010586 diagram Methods 0.000 description 41
- 238000007726 management method Methods 0.000 description 20
- 101001003569 Homo sapiens LIM domain only protein 3 Proteins 0.000 description 17
- 101000639972 Homo sapiens Sodium-dependent dopamine transporter Proteins 0.000 description 17
- 102100026460 LIM domain only protein 3 Human genes 0.000 description 17
- 238000012545 processing Methods 0.000 description 16
- 230000000694 effects Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 102100038804 FK506-binding protein-like Human genes 0.000 description 7
- 101001031402 Homo sapiens FK506-binding protein-like Proteins 0.000 description 7
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 6
- 238000011989 factory acceptance test Methods 0.000 description 6
- 238000012949 factory acceptance testing Methods 0.000 description 6
- 239000003925 fat Substances 0.000 description 6
- 238000013467 fragmentation Methods 0.000 description 6
- 238000006062 fragmentation reaction Methods 0.000 description 6
- 101100443272 Arabidopsis thaliana DIR2 gene Proteins 0.000 description 5
- 101000824318 Homo sapiens Protocadherin Fat 1 Proteins 0.000 description 4
- 101000824299 Homo sapiens Protocadherin Fat 2 Proteins 0.000 description 4
- 102100022095 Protocadherin Fat 1 Human genes 0.000 description 4
- 102100022093 Protocadherin Fat 2 Human genes 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 2
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 1
- 241001142392 Bibio Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】実施形態のホスト装置は、アプリケーションソフトウェアと、専用ファイルシステムと、インターフェース回路とを備える。アプリケーションは、専用ファイルシステムに対してメモリデバイスのアクセス要求を発行する。専用ファイルシステムは、メモリデバイスに対するアクセス制御を行う。専用ファイルシステムは、メモリデバイスの論理アドレス空間を、所定の単位領域ごとに管理し、確保したいずれかの未使用の単位領域にデータをシーケンシャルに書き込み、単位領域に対するシーケンシャル書き込みは、ひとつ、または複数の書き込み命令で構成され、アプリケーションは、単位領域サイズを認識することなく、アクセス要求を専用ファイルシステムに発行する。
【選択図】図2
Description
第1実施形態に係るホスト装置について説明する。以下では、メモリカードと、このメモリカードにアクセスするホスト装置とを含むメモリシステムを例に挙げて説明する。なお本明細書では、メモリカードがSDメモリカードである場合を例に説明する。
まず、ホスト装置及びメモリカードの構成について、図1を用いて説明する。図1は、本実施形態に係るメモリシステムのハードウェア構成を示すブロック図である。
まず、図1を参照してホスト装置の構成について説明する。図示するようにホスト装置1は、MPU(micro processing unit)11、SDインターフェース回路12、ROM(read only memory)14、及びRAM(random access memory)13等を備えている。
次に、図1に戻ってメモリカード2の構成について説明する。図示するようにメモリカード2は、NAND型フラッシュメモリ31及びコントローラ32を備える。
次に、上記構成のメモリシステムのメモリ空間について説明する。図4は、NAND型フラッシュメモリ31のメモリ領域の概念図である。
次に、ホスト装置1によるメモリカード2へのデータの書き込み方法について説明する。ホスト装置1から見たメモリ空間は、さらにファイルシステムでフォーマットされ、ファイルシステムの管理単位であるクラスタ単位に管理される。クラスタの大きさは、ファイルシステムの種類やメモリカード容量により異なる。前記RUのサイズは、例えばクラスタサイズよりも大きく、クラスタサイズの整数倍である。
まず、本実施形態に係る書き込み方法の大まかな概念につき図6を用いて説明する。図6はAU-basedメモリマップと、使用中のAU及び空きAUの様子を示す概念図である。図示するように、各AUは複数のクラスタの集合である。また図6では、5つのクラスタにそれぞれデータDAT1〜DAT5を書き込む場合を例に、2種類のアルゴリズムによる書き方の違いを示している。
次に、本実施形態に係る書き込み方法の詳細について、図7を用いて説明する。図7は、データの書き込み時におけるアプリケーション50、専用ファイルシステム、及びメモリカード2の動作を示すフローチャートである。
次に、上記コマンドCMD20と、データを書き込む際のコマンドシーケンスについて説明する。図8は、CMD20の構成を示す概念図である。
次に、本実施形態に係るホスト装置1によるメモリカード2の空き容量計算方法について説明する。
上記のように、本実施形態に係るホスト装置であると、アプリケーション開発の負荷を軽減すると共に、NAND型フラッシュメモリへの書き込み速度を向上出来る。本効果につき、以下説明する。
次に、第2実施形態に係るホスト装置について説明する。本実施形態は、上記第1実施形態において、拡張API56を廃したものである。以下では、第1実施形態と異なる点についてのみ説明する。
図11は、本実施形態に係るホスト装置1の機能ブロック図である。図示するように、本実施形態に係るホスト装置1は、第1実施形態で説明した図2に対して以下の変形を行ったものである。すなわち、
(a) 拡張API56を廃する。
(b) 基本API55の引数と戻り値を拡張する。
本実施形態に係る構成であると、一つのAPIで、すでに開発済の従来アプリケーションと互換性を有しつつ、更に拡張機能を使用可能とすることが出来る。従って、より簡便な構成で、第1実施形態で説明した機能を実現出来る。
次に、第3実施形態に係るホスト装置について説明する。本実施形態は、上記第1、第2実施形態において、データの削除及び上書きを行う際の動作の詳細を説明するものである。以下では、第1、第2実施形態と異なる点についてのみ説明する。
まず、動作の詳細の説明の前に、FATファイルシステムについて簡単に説明する。
次に、データの消去及び上書き(更新)時の動作の詳細について、以下説明する。
ファイルを削除した場合、その領域を再利用するとデータのフラグメント化が促進されてしまうため、専用ファイルシステムでは、削除された領域がすぐに再利用されない方法で管理する特徴がある。領域が不足したときなど、あるタイミングでガーベージコレクションを行い、未使用領域のうち、空きAUとして確保できるものを再利用する。
次に、データの削除の別の例について、図17を用いて説明する。図17は、専用ファイルシステムの動作の流れを示すフローチャートである。
データの上書きにおいても、専用ファイルシステムは、削除された領域がすぐに再利用されない方法で管理する特徴がある。
次に、データを上書き(更新)する場合の別の例について、図21を用いて説明する。図21は、ホスト装置1及びメモリカード2の動作の流れを示すフローチャートである。
本実施形態に係るデータの削除及び上書き方法によれば、実際には上書きすることなく、データ領域はフラッシュメモリに適したシーケンシャルライトを維持し、削除しないことにより、フラグメンテーション領域の発生を抑制することが出来る。本効果につき、以下説明する。
次に、第4実施形態に係るホスト装置について説明する。本実施形態は、上記第1乃至第3実施形態におけるディレクトリエントリ作成方法に関するものである。以下では、第1乃至第3実施形態と異なる点についてのみ説明する。
図23は、NAND型フラッシュメモリのメモリセルの閾値分布であり、一例として2値を保持可能なメモリセル(single level cell)の場合を示している。
図25に専用ファイルシステムが行う、処理フローを示す。図24と異なる点は以下の通りである。
コントローラ32は、ホスト装置1の専用ファイルシステムからDIR作成コマンドを受信する。これらのコマンドは、第1実施形態で説明した図10の“Create DIR”に相当する。するとコントローラ32は、DIR作成コマンドで指定されたアドレスに、1クラスタのディレクトリエントリ用の領域を確保する。そしてコントローラ32は、確保した1クラスタの領域のデータが“0”になることを保証する。必ずしもコントローラ32がデータ“0”をライトする必要はない。この方法ではカードはクラスタ長を認識しなければならない。
従来ファイルシステムでは、ディレクトリエントリをクラスタ単位に確保するが、本提案例では、AU単位にディレクトリエントリ領域を確保する。NAND型フラッシュメモリ31がサポートする消去コマンドを用いることで、データ“0”をライトするよりも、効率よくこの領域を初期化できる。ただし、消去コマンドで消去した結果は、NAND型フラッシュメモリでは、データが“1”のレベルとなる。そこで、ホストから“0”に見えるような工夫が必要となる。
FATファイルシステムでは、ディレクトリエントリを作成した場合、そのクラスタは“0”データに初期化した後に使用可能とされる。従ってホスト装置は、確保したディレクトリエントリの1クラスタ領域を消去状態にするために“0”データを書き込む処理が必要であった。また、“0”でライトした後に、ファイルエントリを書くため上書きとなってしまう問題があった。上書きした場合、カードコントローラは、ある程度処理時間が必要となるので、初期化のための上書きはない方が好ましい。
次に、第5実施形態に係るホスト装置について説明する。本実施形態は、上記第1乃至第4実施形態におけるAPIに関するものである。以下では、第1乃至第4実施形態と異なる点についてのみ説明する。
まず、基本API55、57の備える機能について説明する。基本API55、57は、以下の機能を有している。
(b) Open:ファイルをオープンし、そのファイルハンドルを取得する機能である。例えば、オープンする際の条件として、マルチストリーム機能を有効にしてファイルオープンするか否か等を選択出来る。
(c) Write:ファイルを書き込む機能である。ファイルをオープンした際にマルチストリーム機能が有効にされていれば、書き込みもマルチストリームで行われる。
(d) Read:データを読み込む機能である。
(e) Seek:ファイルポインタを移動させる機能である。
(f) Close:ファイルハンドルをクローズする機能である。
(g) MoveFile:ファイルを移動させ、また名称を変更する機能である。
(h) CopyFile:ファイルをコピーする機能である。
(i) DeleteFile:ファイルを削除する機能である。
(j) GetFileProperty:ファイルのプロパティを取得する機能である。
(k) CreateDir:ディレクトリを作成する機能である。
(l) DeleteDir:ディレクトリを削除する機能である。
(m) MoveDir:ディレクトリを移動させ、また名称を変更する機能である。
次に、拡張API56の備える機能について説明する。拡張API56は、以下の機能の少なくともいずれかを有することが好ましい。
(o) 空きAUの取得:AU単位に空いている場所を探し、その先頭アドレスを返す。
(p) ディレクトリエントリの作成:ディレクトリエントリ管理用にAUを確保すると共に、そのAUの空きクラスタに新たにディレクトリエントリを作成する機能である。
(q) ディレクトリエントリの更新:ファイルエントリを書く領域を指定し、更新する機能である。更新は同じ領域に対して繰り返し書き込み可能である。
(r) データの書き込み:AUにデータをシーケンシャルに書き込む機能である。
(s) 開放しない領域の削除:汎用の削除APIでは、削除後の領域を開放してしまうが、拡張APIを用いた削除では未使用のままとする。具体的には、第3実施形態で説明した削除方法である。未使用領域の管理方法としては、2通りの実装例がある(第3実施形態で説明したように、特定コードでマークする方法とジャンクファイルを用いる方法)。
(t) フォーマット:フォーマット時に、特殊コードで未使用としているクラスタを空きクラスタとして開放する機能である。特殊コードで使用不可としているクラスタとは、例えば第3実施形態で説明したエラーコードで管理されているクラスタである。また、ジャングファイルを用いる場合は、ジャンクファイルを消去して、空き領域に開放する機能である。
(u) 残り容量の取得:AU単位に管理されるメモリで、空き容量もAU単位に計算する。フラグメント領域、前記未使用領域を含まない計算方法。
本実施形態のように拡張APIを用いることで、従来の基本APIで処理出来ない情報を、アプリケーション50が実装出来る。
次に、第6実施形態に係るホスト装置について説明する。本実施形態は、上記第1乃至第5実施形態において、複数のファイルを同時にメモリカードに書き込む場合の動作に関するものである。以下では、第1乃至第5実施形態と異なる点についてのみ説明する。
まず、メモリカード2のシングルストリーム機能を用いた場合(あるいは、メモリカード2がマルチストリーム機能をサポートしない場合)について、図26を用いて説明する。図26は、専用ファイルシステムの動作を示すフローチャートである。
次に、メモリカード2のマルチストリーム機能を用いた場合について、図29を用いて説明する。図29は、専用ファイルシステムの動作を示すフローチャートである。
現在、音楽データや映像データの記録メディアとしてNAND型フラッシュが広く用いられている。記録メディアの使用形態も多様化しており、例えば2つのテレビ番組を平行して録画したり、あるいは動画を撮影している最中に静止画を撮影したり出来る要望がある。このような要望を従来のファイルシステムで実現しようとすると、NAND型フラッシュメモリ内においてデータのコピー動作が必要となり、書き込み速度が低下する。これは、NAND型フラッシュメモリではデータの上書きが出来ないことに起因する。
次に、第7実施形態に係るホスト装置について説明する。本実施形態は、第1、第2実施形態で説明した拡張API機能を有しないホスト装置によって第1、第3、第4実施形態で説明した動作を実現するものである。以下では、上記実施形態と異なる点についてのみ説明する。
本実施形態に係るホスト装置1は、第1実施形態で説明した図2において拡張API56を廃した構成を有する。
次に、本実施形態に係るホスト装置2の動作について、図32を用いて説明する。図32は、ホスト装置2の特に専用ファイルシステムの処理の流れを示すフローチャートである。
図32に示すようにまず、専用ファイルシステムは、アプリケーション50がメモリカード2へのファイル作成要求を受信する(ステップS110)。この要求は、例えば基本API55におけるFileOpen関数を用いて行われる。
次に専用ファイルシステムは、データを書き込むための空き領域を取得する。データをどこに書くかは、空き領域情報(FATまたはビットマップ)を参照して決定される。この際、専用ファイルシステムは、アプリケーション50からのファイル作成要求に含まれるデータ属性がビデオデータであるか否かを判断して(ステップS111)、その結果に応じて空き領域の取得方法を変える。なおステップS111の判断は、ファイルエントリ内のファイル拡張子情報によって判断出来る。より具体的には、例えばファイルの拡張子で識別することが出来る。ファイルの拡張子が“MP4”や“MOV”などのビブオファイル属性であれば、当該ファイルはビデオデータであると判断出来る。あるいは、ビデオファイルであることを示す特別なビットをディレクトリエントリ内に設け、このビットによって判断しても良い。
次に専用ファイルシステムは、ファイルエントリを作成し、これをメモリカード2に書き込む(ステップS113)。
次にデータのメモリカード2への書き込みが行われる。書き込みデータがビデオデータの場合(ステップS112、YES)、専用ファイルシステムは、アプリケーション50からデータライト要求を受信すると、書き込むべき空き領域があるかどうかをチェックする(ステップS114)。すでにデータ書き込み用AUが確保されている場合は、続きから追記を行う。データ書き込み用AUが確保されていないか、確保されているAUに空きがない場合、CMD20 Start Recまたは、CMD20 Set New AUを発行し(ステップS115)、空きAUを確保し(ステップS116)、そのAUにシーケンシャルに書き込む(ステップS117)。なお、書き込みが終了するまでステップS114に戻り(ステップS118)、AUの全領域にデータが書き込まれた際は、専用ファイルシステムはFree AU write algorithmに従って別の空きAUを確保し、この空きAUにデータをシーケンシャルに書き込む。書き込まれたデータの順番は、FATチェーンとして記録される。また、専用ファイルシステムにより、ある時間毎やある書き込み要領毎にFATを更新するサイクルが、データ書き込みの間に挿入される。
専用ファイルシステムは、アプリケーション50から依頼されたクローズ処理においてファイルのクローズ処理を実行する(ステップS119)。それまでに記録したデータのサイズや更新日時等の情報をファイルエントリに記録する。データを継続して同ファイル書き込む場合は、Append Modeでこのファイルをオープンし直す。このとき、スピードクラス書き込みに影響を与えない制御とすることが前提である。
本実施形態で説明した方法によれば、拡張API56を不要としつつ、上記第1乃至第6実施形態の動作が実行可能となる。そしてアプリケーション50は、メモリカード2のスピードクラスやAUサイズを認識する必要も無い。
以上のように、上記第1乃至第7実施形態に係るホスト装置は、メモリデバイスにアクセスするホスト装置であって、アプリケーションソフトウェア(Application50 in FIG2)と、専用ファイルシステム(Unit51 and FileSystem52 in FIG2)と、インターフェース回路(I/F59 in FIG2)とを備える。アプリケーションソフトウェア50は、専用ファイルシステムに対して、メモリデバイスアクセス要求を発行する。アクセス要求は、ファイルオープン、ファイルデータ書き込み、ファイルクローズなどがある。専用ファイルシステム(51、52)は、アクセス要求に応答して、メモリデバイスに対するアクセス制御を行う。インターフェース回路59は、専用ファイルシステム(51、52)によるアクセス制御に従ってメモリデバイスにアクセスする。専用ファイルシステム(51、52)は、メモリデバイスの論理アドレス空間を、所定の単位領域AUごとに管理し、確保したいずれかの未使用の単位領域AUにデータをシーケンシャルに書き込む。単位領域AUに対するシーケンシャル書き込みは、ひとつ、または複数の書き込み命令(CMD25)で構成される。アプリケーションソフトウェア50は、単位領域AUサイズを認識することなく、アクセス要求を専用ファイルシステム(51、52)に発行する。
[1]メモリデバイスにアクセスするホスト装置であって、
ファイルシステムに対してアプリケーションインタフェース(API)により前記メモリデバイスへのアクセス要求を発行するアプリケーションソフトウェア(Application50 in FIG2)と、
前記アクセス要求に応答して、前記メモリデバイスのメモリ領域をフラッシュメモリに適した方式で管理を行う専用ファイルシステム(Unit51, FileSystem52 in FIG2)と、
ホスト装置の前記専用ファイルシステムと前記メモリデバイス間の通信を可能にするインターフェース回路(I/F59 in FIG2)と
を具備し、前記専用ファイルシステムは、前記メモリデバイスの論理アドレス空間を、所定の単位領域(AU in FIG6)ごとに管理し、確保したいずれかの未使用の単位領域にデータをシーケンシャルに書き込み、前記単位領域に対するシーケンシャル書き込みは、ひとつ、または複数の書き込み命令(CMD24 or 25)で構成され、
前記アプリケーションソフトウェアは、前記単位領域サイズを認識することなく、前記アクセス要求を前記専用ファイルシステムに発行するホスト装置。
[2] DIR Entry管理、単位領域ベースの空き領域管理、削除データ管理
前記専用ファイルシステムは、
前記アプリケーションからディレクトリの作成要求があった場合、ディレクトリエントリ用の前記単位領域が確保されていなければ、空き単位領域をディレクトリエントリ用の単位領域として確保し、複数のディレクトリが作成された場合、それぞれのディレクトリエントリをこのAUの空き領域に確保し、
前記メモリデバイス内のデータを削除する場合、削除対象データを再利用できない方法でデータを管理し(step S20 in FIG17)、
全領域が未使用である前記単位領域の数に基づいて、前記メモリデバイス全体の空き領域を計算する、[1]のホスト装置。
[3]アルゴリズムの選択
前記専用ファイルシステムは、ファイルを前記メモリデバイスに書き込む際、前記アプリケーションソフトウェアからのファイルデータサイズ情報の大小を基づいて、小さなデータファイルである場合には、前記メモリデバイスの領域使用率を優先したアルゴリズム(Fragmented AU Write Algorithm in FIG6)を用いて前記メモリデバイスを管理し、
大きなデータを持つファイルの場合には、前記単位領域ごとにデータの書き込み領域を管理するアルゴリズム(Free AU Write Algorithm in FIG6) を用いて前記メモリデバイスを管理し、
前記ファイルデータサイズが未定な場合は、ディレクトリエントリ内の前記ファイルエントリ情報に基づいて、大きなデータを持つ可能性のあるファイル属性であるか否かを識別し(step S112 in FIG33)、前記アルゴリズムを切り替える、[1]のホスト装置。
[4] video dataの判断方法
前記専用ファイルシステムは、前記ディレクトリエントリ内の前記ファイルエントリに記録されているファイル拡張子情報、またはビデオファイルであるか否かを示す情報フィールドに基づいて、前記書き込みデータがビデオファイルであるか否かを識別する、[3]のホスト装置。
[5] junk fileを隠しfileに設定
前記専用ファイルシステムは、削除対象データを再利用できない方法として、隠しファイル属性を設定したジャンクファイルとして管理する、[1]のホスト装置。
[6] data削除方法でjunk fileにつなげない場合
前記専用ファイルシステムは、FATファイルシステムを含み、
前記メモリデバイスのメモリ空間は前記FATファイルシステムでフォーマットされた複数のクラスタの集合であり、
前記メモリデバイス内のデータをクラスタ単位で削除する場合、前記専用ファイルシステムは、削除対象データを再利用できない方法として、削除対象データを保持するクラスタのFATをエラーコードまたは最終セクタコードに書き換える(step S14 in FIG15)、[1]のホスト装置。
[7] data上書き方法でjunk fileにつなげない場合
前記専用ファイルシステムは、FATファイルシステムを含み、
前記メモリデバイスのメモリ空間は前記FATファイルシステムでフォーマットされた複数のクラスタの集合であり、
前記メモリデバイス内のデータの少なくとも一部をクラスタ単位で上書きする場合、前記専用ファイルシステムは、確保した前記単位領域に上書きデータをシーケンシャルに書き込み、FATのリンクを更新すると共に(step S32 in FIG19)、
削除対象データを再利用できない方法として、上書き対象データを保持するクラスタのFATを、エラーコードまたは最終セクタコードに書き換える(step S34 in FIG19)、[1]のホスト装置。
[8] data上書き方法でjunk fileにつなげる場合
前記専用ファイルシステムは、FATファイルシステムを含み、
前記メモリデバイスのメモリ空間は前記FATファイルシステムでフォーマットされた複数のクラスタの集合であり、
前記メモリデバイス内のデータの少なくとも一部をクラスタ単位で上書きする場合、前記専用ファイルシステムは、確保した前記単位領域に上書きデータをシーケンシャルに書き込み、FATのリンクを更新すると共に(step S32 in FIG19)、
削除対象データを再利用できない方法として、上書き対象データを対応するクラスタから消去することなく、ジャンクファイルとして残す(step S40 in FIG21)、[1]のホスト装置。
[9] single streamでの複数file同時書き込み
前記専用ファイルシステムは、前記アプリケーションソフトウェアによる要求に基づいて複数のファイルを同時に作成する際、ひとつの前記単位領域を確保し、前記複数のファイルが混在したデータを書き込む(FIG27-28)、[1]のホスト装置。
[10] multi-streamでの複数file同時書き込み
前記専用ファイルシステムは、前記アプリケーションソフトウェアによる要求に基づいてN個のファイルを同時に作成する際、空き状態のN個の前記単位領域を確保し、N個の単位領域に前記N個のファイルのファイルデータをそれぞれ書き込む(FIG30-31)、[1]のホスト装置。
[11] DIR entryの初期化をcardが自発的に行う
[1]記載のホスト装置によってアクセスされる前記メモリデバイスであって、
ディレクトリエントリ領域を確保するコマンドを前記ホスト装置から受信した場合、指定された領域が“0”で満たされるように初期化行い、前記ホスト装置が、そのディレクトリエントリ領域を初期化する必要がない、メモリデバイス。
Claims (6)
- メモリデバイスにアクセスするホスト装置であって、
ファイルシステムに対してアプリケーションインタフェースにより前記メモリデバイスへのアクセス要求を発行するアプリケーションソフトウェアと、
前記アクセス要求に応答して、前記メモリデバイスのメモリ領域をフラッシュメモリに適した方式で管理を行う専用ファイルシステムと、
ホスト装置の前記専用ファイルシステムと前記メモリデバイス間の通信を可能にするインターフェース回路と
を具備し、前記専用ファイルシステムは、前記メモリデバイスの論理アドレス空間を、所定の単位領域ごとに管理し、確保したいずれかの未使用の単位領域にデータをシーケンシャルに書き込み、前記単位領域に対するシーケンシャル書き込みは、ひとつ、または複数の書き込み命令で構成され、
前記アプリケーションソフトウェアは、前記単位領域サイズを認識することなく、前記アクセス要求を前記専用ファイルシステムに発行する
ことを特徴とするホスト装置。 - 前記専用ファイルシステムは、
前記アプリケーションからディレクトリの作成要求があった場合、ディレクトリエントリ用の前記単位領域が確保されていなければ、空き単位領域をディレクトリエントリ用の単位領域として確保し、複数のディレクトリが作成された場合、それぞれのディレクトリエントリをこのAUの空き領域に確保し、
前記メモリデバイス内のデータを削除する場合、削除対象データを再利用できない方法でデータを管理し、
全領域が未使用である前記単位領域の数に基づいて、前記メモリデバイス全体の空き領域を計算する
ことを特徴とする請求項1のホスト装置。 - 前記専用ファイルシステムは、ファイルを前記メモリデバイスに書き込む際、前記アプリケーションソフトウェアからのファイルデータサイズ情報の大小を基づいて、小さなデータファイルである場合には、前記メモリデバイスの領域使用率を優先したアルゴリズムを用いて前記メモリデバイスを管理し、
大きなデータを持つファイルの場合には、前記単位領域ごとにデータの書き込み領域を管理するアルゴリズムを用いて前記メモリデバイスを管理し、
前記ファイルデータサイズが未定な場合は、ディレクトリエントリ内の前記ファイルエントリ情報に基づいて、大きなデータを持つ可能性のあるファイル属性であるか否かを識別し、前記アルゴリズムを切り替える
ことを特徴とする請求項1記載のホスト装置。 - 前記専用ファイルシステムは、前記ディレクトリエントリ内の前記ファイルエントリに記録されているファイル拡張子情報、またはビデオファイルであるか否かを示す情報フィールドに基づいて、前記書き込みデータがビデオファイルであるか否かを識別する
ことを特徴とする請求項3記載のホスト装置。 - 前記専用ファイルシステムは、削除対象データを再利用できない方法として、隠しファイル属性を設定したジャンクファイルとして管理する
ことを特徴とする請求項1記載のホスト装置。 - 請求項1記載のホスト装置によってアクセスされる前記メモリデバイスであって、
ディレクトリエントリ領域を確保するコマンドを前記ホスト装置から受信した場合、指定された領域が“0”で満たされるように初期化行い、前記ホスト装置が、そのディレクトリエントリ領域を初期化する必要がない
ことを特徴とするメモリデバイス。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012185127A JP2014044490A (ja) | 2012-08-24 | 2012-08-24 | ホスト装置及びメモリデバイス |
US13/782,268 US20140059273A1 (en) | 2012-08-24 | 2013-03-01 | Host apparatus and memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012185127A JP2014044490A (ja) | 2012-08-24 | 2012-08-24 | ホスト装置及びメモリデバイス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014044490A true JP2014044490A (ja) | 2014-03-13 |
Family
ID=50149070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012185127A Pending JP2014044490A (ja) | 2012-08-24 | 2012-08-24 | ホスト装置及びメモリデバイス |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140059273A1 (ja) |
JP (1) | JP2014044490A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10042648B2 (en) | 2015-09-10 | 2018-08-07 | Toshiba Memory Corporation | Memory system, electric device, and information processing device |
JP2019161506A (ja) * | 2018-03-14 | 2019-09-19 | キヤノン株式会社 | 記録装置及びその制御方法 |
JP2020113105A (ja) * | 2019-01-15 | 2020-07-27 | キヤノン株式会社 | 記録制御装置およびその制御方法 |
JP2021033615A (ja) * | 2019-08-23 | 2021-03-01 | キヤノン株式会社 | 制御装置 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
US9417998B2 (en) | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
CN105247524A (zh) * | 2013-05-31 | 2016-01-13 | 皇家飞利浦有限公司 | 用于自动上传、下载和更新诸如睡眠研究数据的数据的系统和方法 |
WO2015089488A1 (en) | 2013-12-12 | 2015-06-18 | Memory Technologies Llc | Channel optimized storage modules |
JP2015185103A (ja) * | 2014-03-26 | 2015-10-22 | ソニー株式会社 | 記憶装置、情報処理装置、データアクセス方法、およびプログラム |
WO2019150847A1 (ja) * | 2018-02-05 | 2019-08-08 | パナソニックIpマネジメント株式会社 | 記録システム |
US11372812B2 (en) * | 2018-10-08 | 2022-06-28 | Silicon Motion, Inc. | Mobile device and method capable of earlier determining that a number of files in a directory of an external connected storage device is about to full |
JP7252821B2 (ja) * | 2019-04-17 | 2023-04-05 | キヤノン株式会社 | 記録装置、記録方法、プログラム、及びメモリカード |
CN111078159B (zh) * | 2019-12-31 | 2023-11-03 | 深圳市思博慧数据科技有限公司 | 一种避免dvr存储卡写损坏的写入方法 |
CN111722874B (zh) * | 2020-06-24 | 2024-04-02 | 中国平安财产保险股份有限公司 | 移动端代码的自动清理方法、装置、设备及存储介质 |
CN113553006B (zh) * | 2021-07-12 | 2024-07-23 | 山东华芯半导体有限公司 | 一种实现向只读分区写数据的安全加密存储系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319645A (ja) * | 1996-05-24 | 1997-12-12 | Nec Corp | 不揮発性半導体記憶装置 |
JP2003006998A (ja) * | 2001-06-22 | 2003-01-10 | Hitachi Ltd | ファイル記録装置およびファイル記録方法 |
JP2004139615A (ja) * | 2003-12-01 | 2004-05-13 | Sharp Corp | ファイル管理方法及び装置 |
WO2005103903A1 (ja) * | 2004-04-20 | 2005-11-03 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶システム |
WO2006093220A1 (ja) * | 2005-03-04 | 2006-09-08 | Matsushita Electric Industrial Co., Ltd. | データ処理装置 |
JP2007234028A (ja) * | 2002-06-27 | 2007-09-13 | Sony Corp | 情報処理装置、情報処理方法および情報処理プログラム |
JP2008059228A (ja) * | 2006-08-31 | 2008-03-13 | Sharp Corp | ファイルシステム |
WO2010103760A1 (ja) * | 2009-03-13 | 2010-09-16 | パナソニック株式会社 | アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム |
WO2011058700A1 (ja) * | 2009-11-11 | 2011-05-19 | パナソニック株式会社 | アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム |
JP2011134348A (ja) * | 2004-01-26 | 2011-07-07 | Panasonic Corp | 半導体メモリ装置 |
JP2011175615A (ja) * | 2010-01-27 | 2011-09-08 | Toshiba Corp | ホスト装置およびメモリデバイス |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
CA2563277C (en) * | 2004-07-12 | 2013-01-08 | Kabushiki Kaisha Toshiba | Storage device and host apparatus |
JP2009015978A (ja) * | 2007-07-05 | 2009-01-22 | Toshiba Corp | 半導体記憶装置及びメモリシステム |
JP2010026933A (ja) * | 2008-07-23 | 2010-02-04 | Toshiba Corp | メモリシステム、ホスト装置 |
JP4714291B2 (ja) * | 2009-09-30 | 2011-06-29 | 株式会社東芝 | 情報記録装置、情報記録方法及び情報記録用プログラム |
US8176220B2 (en) * | 2009-10-01 | 2012-05-08 | Oracle America, Inc. | Processor-bus-connected flash storage nodes with caching to support concurrent DMA accesses from multiple processors |
KR101739556B1 (ko) * | 2010-11-15 | 2017-05-24 | 삼성전자주식회사 | 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법 |
-
2012
- 2012-08-24 JP JP2012185127A patent/JP2014044490A/ja active Pending
-
2013
- 2013-03-01 US US13/782,268 patent/US20140059273A1/en not_active Abandoned
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319645A (ja) * | 1996-05-24 | 1997-12-12 | Nec Corp | 不揮発性半導体記憶装置 |
JP2003006998A (ja) * | 2001-06-22 | 2003-01-10 | Hitachi Ltd | ファイル記録装置およびファイル記録方法 |
JP2007234028A (ja) * | 2002-06-27 | 2007-09-13 | Sony Corp | 情報処理装置、情報処理方法および情報処理プログラム |
JP2004139615A (ja) * | 2003-12-01 | 2004-05-13 | Sharp Corp | ファイル管理方法及び装置 |
JP2011134348A (ja) * | 2004-01-26 | 2011-07-07 | Panasonic Corp | 半導体メモリ装置 |
WO2005103903A1 (ja) * | 2004-04-20 | 2005-11-03 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶システム |
WO2006093220A1 (ja) * | 2005-03-04 | 2006-09-08 | Matsushita Electric Industrial Co., Ltd. | データ処理装置 |
JP2008059228A (ja) * | 2006-08-31 | 2008-03-13 | Sharp Corp | ファイルシステム |
WO2010103760A1 (ja) * | 2009-03-13 | 2010-09-16 | パナソニック株式会社 | アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム |
WO2011058700A1 (ja) * | 2009-11-11 | 2011-05-19 | パナソニック株式会社 | アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム |
JP2011175615A (ja) * | 2010-01-27 | 2011-09-08 | Toshiba Corp | ホスト装置およびメモリデバイス |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10042648B2 (en) | 2015-09-10 | 2018-08-07 | Toshiba Memory Corporation | Memory system, electric device, and information processing device |
JP2019161506A (ja) * | 2018-03-14 | 2019-09-19 | キヤノン株式会社 | 記録装置及びその制御方法 |
JP7129796B2 (ja) | 2018-03-14 | 2022-09-02 | キヤノン株式会社 | 記録装置及びその制御方法 |
JP2020113105A (ja) * | 2019-01-15 | 2020-07-27 | キヤノン株式会社 | 記録制御装置およびその制御方法 |
JP7263017B2 (ja) | 2019-01-15 | 2023-04-24 | キヤノン株式会社 | 記録制御装置およびその制御方法 |
JP2021033615A (ja) * | 2019-08-23 | 2021-03-01 | キヤノン株式会社 | 制御装置 |
JP7362349B2 (ja) | 2019-08-23 | 2023-10-17 | キヤノン株式会社 | 制御装置 |
Also Published As
Publication number | Publication date |
---|---|
US20140059273A1 (en) | 2014-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014044490A (ja) | ホスト装置及びメモリデバイス | |
JP4931810B2 (ja) | 最適化されたシーケンシャルなクラスタの管理のためのfat分析 | |
US9021212B2 (en) | Semiconductor memory system having a snapshot function | |
US8521949B2 (en) | Data deleting method and apparatus | |
JP4238514B2 (ja) | データ記憶装置 | |
US8589617B2 (en) | Write once recording device | |
US7702846B2 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method | |
TWI420305B (zh) | 記憶體儲存裝置、其記憶體控制器與自動產生填充檔案的方法 | |
JPWO2005103903A1 (ja) | 不揮発性記憶システム | |
JP5976608B2 (ja) | メモリデバイス | |
US20070043924A1 (en) | Method for controlling memory card and method for controlling nonvolatile semiconductor memory | |
JP2018073040A (ja) | メモリシステム | |
JP6677740B2 (ja) | ストレージシステム | |
JP2010026933A (ja) | メモリシステム、ホスト装置 | |
CN105573666B (zh) | 盘阵列设备、盘控制设备、固态驱动器、盘控制方法和记录介质 | |
JP2006040264A (ja) | メモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
KR101893897B1 (ko) | 메모리 시스템 및 사용자 장치 그리고 그것의 데이터 관리 방법 | |
US9152641B2 (en) | Method and system for providing storage device file location information | |
WO2010001606A1 (ja) | コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法 | |
JP4714291B2 (ja) | 情報記録装置、情報記録方法及び情報記録用プログラム | |
US9762671B2 (en) | Wireless access device and wireless access system | |
US20130036257A1 (en) | Memory system which can avoid unavailability due to operation error by user | |
JP5161989B2 (ja) | 情報記録装置、情報記録方法及び情報記録用プログラム | |
JP2007310533A (ja) | 不揮発性記憶システム、不揮発性記憶装置、及びファイルデータ書き込み方法 | |
JP2008134777A (ja) | ファイル割当テーブルのキャッシュ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140109 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150831 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160301 |