JP2010026933A - メモリシステム、ホスト装置 - Google Patents
メモリシステム、ホスト装置 Download PDFInfo
- Publication number
- JP2010026933A JP2010026933A JP2008190022A JP2008190022A JP2010026933A JP 2010026933 A JP2010026933 A JP 2010026933A JP 2008190022 A JP2008190022 A JP 2008190022A JP 2008190022 A JP2008190022 A JP 2008190022A JP 2010026933 A JP2010026933 A JP 2010026933A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- logical address
- write
- file
- 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 69
- 230000008569 process Effects 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 abstract description 24
- 238000007726 management method Methods 0.000 description 43
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000012217 deletion Methods 0.000 description 12
- 230000037430 deletion Effects 0.000 description 12
- 238000005192 partition Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 9
- 101000824318 Homo sapiens Protocadherin Fat 1 Proteins 0.000 description 8
- 102100022095 Protocadherin Fat 1 Human genes 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 101000824299 Homo sapiens Protocadherin Fat 2 Proteins 0.000 description 7
- 102100022093 Protocadherin Fat 2 Human genes 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 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/0608—Saving storage space on storage systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
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)
- Memory System (AREA)
Abstract
【解決手段】メモリシステム2は、不揮発性メモリ6と、前記不揮発性メモリを制御するメモリコントローラ7とを具備し、前記メモリコントローラ7は、外部1からのコマンドに応じて、不要となった前記不揮発性メモリのデータを消去し、前記不要となったデータを論理アドレスの一部に割り当てられたメモリ領域に割り当てなおすことで、前記論理アドレスの最大値を拡張するように制御する。
【選択図】 図25
Description
本第1の実施形態はファイル削除後にメモリ容量を増大させる一例に係るメモリシステムおよびそのホスト装置に関するものである。以下、図1乃至図29を参照して、[1]構成、[2]動作、[3]効果、の順で説明する。
[1−1]全体の構成
図1は、本発明の一実施形態に係るメモリシステムおよびホスト装置の主要部を概略的に示す機能ブロック図である。各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれかまたは両者の組み合わせとして実現することができる。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、そのような実現を決定することは本発明の範疇に含まれるものである。
次に、図3、図4を用いて、メモリの構成について説明する。
まず、図3を用いて、メモリ6のメモリ空間の構成について説明する。図3は、メモリ6のメモリ空間の構成を示す図である。
次に、図4を用いて、2値モードおよび多値モードについて説明する。図4は、2値モードと多値モードとの違いを示す図である。上記のように、メモリ6の各メモリセルトランジスタは、2以上のビットのデータを記憶できる。すなわち、2n(nは自然数)値の値を記憶する。しかしながら、以下の説明では、多値モードの一例として、4値モードについて説明する。図4においては、横軸は閾値電圧Vthを示し、縦軸はメモリセルの存在確率を示している。
次に、メモリカード2のフォーマットについて説明する。メモリ3は、以下の形式でフォーマットされる。このフォーマットは、本発明の一実施形態に係るファイルシステム(例えばホスト装置1内のファイルシステム4)によって行われる。
本発明の一実施形態に係るファイルシステムによるメモリ3のフォーマットの説明に先立って、このファイルシステムが基礎としているFATファイルシステムの概要について、図5、図6を用いて説明する。図5は、FATファイルシステムによりフォーマットされたメモリ空間の状態を示している。そして、以下に示す管理データの幾つかが書き込まれる。ここでいうメモリ空間は、FATファイルシステムが自由にアクセスできるメモリ領域であり、図1のメモリ6においては、ユーザデータ領域24に一致する。
次に、図7を用いて、FATファイルシステムを基礎とする、本発明の一実施形態に係るファイルシステムについて説明する。本発明の一実施形態に係るファイルシステム(以下、ホスト装置1内のファイルシステム4もそれに該当するものとする)は、以下に示す形に記憶媒体のメモリ空間をフォーマットする。そして、ファイルシステム4によって、メモリカード2はフォーマットされている。
次に、図8、図9を用いて、本発明の一実施形態に係るUDFファイルシステム(追記型ファイルシステム)について説明する。本例に係るファイルシステムは、以下に示す形に記憶媒体のメモリ空間をフォーマットする。そして、ファイルシステム4によって、メモリカード2はフォーマットされている。
次に、図10を用いて、管理データブロック51、ファイルデータブロック52と、書き込み方式との関係について説明する。
次に、図11を用いて、書き込み方式と書き込みモードとの対応について説明する。図11は、本発明の一実施形態に係るメモリコントローラの書き込み方式と書き込みモードとの対応を示している。
次に、図12乃至図18を用いて、SDインタフェースの構成について説明する。
ホスト装置1(ファイルシステム4)は、ファイルデータを追記方式で書き込むために、最後に割り当てられた論理アドレス(最終割り当て論理アドレス)を知得する必要がある。そこで、最終割り当て論理アドレスを授受するためのコマンドが、SDインタフェース5、11において設けられる。図12、図13は、最終割り当て論理アドレスを授受するための構成を示す図である。
従来のファイルシステムを介して本発明の一実施形態に係るメモリカード2への書き込みが行われると、管理データに不整合が生じて、この結果、ファイルの内容が破壊される恐れが有る。そこで、メモリカード2への書き込みの認証を行うためのコマンドが、SDインタフェース5、11において設けられる。図14、図15は、データ書き込みの許可の認証を行うための構成を示す図である。
ホスト装置1(ファイルシステム4)は、上書き型論理アドレスと追記型論理アドレスの境界を知得する必要がある。そこで、最高位の上書き型論理アドレスを授受するためのコマンドが、SDインタフェース5、11において設けられる。図16、図17は、最高位上書き型論理アドレスをホスト装置が知得するための構成を示す図である。なお、上書き型論理アドレスと追記型論理アドレスとの境界を示す手法として、最高位上書き型論理アドレスに代えて最低位の追記型論理アドレスを用いて、以下の処理を行うことも可能である。
メモリカード2のタイプとそれに応じた書き込み方式を示すフラグがレジスタ15のうちのレジスタCSDに記載される。図18は、レジスタCSDの詳細の一例を示している。
次に、図19乃至図23を参照して、ホスト装置1およびメモリカード2の動作について説明する。
次に、図19を用いて、メモリカード2の初期化の動作について説明する。図19は、本発明の一実施形態に係るメモリカードの初期化のフローチャートである。
次に、図20を用いて、メモリカード2内での書き込み動作について説明する。図20は、本発明の一実施形態に係るメモリカード内での書き込み動作のフローチャートである。
次に、図23を参照して、ファイルシステム4による、書き込みデータへの論理アドレスの割り当て動作について説明する。図23は、本発明の一実施形態に係るファイルシステムによる割り当て動作を示すフローチャートである。
次に、図24を参照して、ファイルシステム4による、書き込みデータへの論理アドレスの割り当て動作について説明する。図24は、本発明の一実施形態に係る追記型UDFのファイルシステムによる割り当て動作を示すフローチャートである。この説明において、上記[2−3−1]と実施的に重複するステップS21〜S29部分の説明を省略する。
次に、データの読み出し動作について説明する。読み出し動作は、従来のメモリカードと同じである。すなわち、ホスト装置1は、本発明の一実施形態に係るメモリカード2であることか否かを意識せずに、読み出しコマンドをメモリカード2に供給する。メモリコントローラ7は、読み出しデータの論理アドレスを、論物変換テーブルを用いて物理アドレスに変換する。次いで、メモリカード2は、求められた物理アドレスのページ(物理ブロック)からデータを読み出してホスト装置1に出力する。
次に、ファイル削除後のメモリの空き領域の増加動作について、図25乃至図30を用いて説明する。ここでは、図25に示す動作フローに則して説明する。
図27に示すように、ホスト装置1は、ファイル構成上不要となったアドレス範囲(図26中で”unused”と記してある領域)の論理アドレス範囲(複数個所)をパラメータとして、「空き領域拡張コマンド(論理アドレス範囲情報)COM1」を、メモリカード2に対して発行する。ここで、「空き領域拡張コマンドCOM1」は、現行の本例で示すメモリカード(例えば、SDカード(登録商標)等)の仕様にはないコマンドであり、新たに定義すべき専用コマンドである。
続いて、メモリカード2は、発行された上記空き領域拡張コマンド(COM1)を受け付ける。
続いて、メモリカード2は、指定された不要な論理アドレス範囲に含まれるNAND型フラッシュメモリ6内の物理ブロックを検索する。より具体的には、メモリコントローラ7は、不要として指定された論理アドレス範囲に含まれるNAND型フラッシュメモリ6内の消去ブロックがあるかどうかを調べる。この際、メモリコントローラ7は、論理アドレス−物理アドレス変換テーブルを参照する。
続いて、メモリカード2は、対象範囲に1以上の物理ブロックがあるか否かを検索する。この検索の結果、1以上の物理ブロックが検索されない場合には、ステップS56に続く。
続いて、メモリカード2は、上記ステップS54の検索の結果、当該の消去ブロックが1つ以上ある場合は、当該の消去ブロックを消去し、そのブロックをそれまでの最終論理アドレスの後ろに割り当てる。それに合わせて、メモリコントローラ7は、NAND型フラッシュメモリ6に記憶している論理アドレス−物理アドレス変換テーブルと最終論理アドレスを変更する。
続いて、図27に示すように、メモリコントローラ6は、ステップS55の処理が終了した後の変更後の最終論理アドレス(例えば、LBA256)を、「空き領域拡張コマンド(COM1)」のレスポンスとして、ホスト装置1に通知する。
続いて、ホスト装置1は、メモリカード2から通知された上記最終論理アドレス(LBA256)をホスト装置1内のメモリに記憶し、それ以降のカードアクセスの際に参照する。また、ホスト装置1は、通知された最終論理アドレス(LBA256)の情報に基づいて、メモリ空き領域を再計算し、以後のファイルアクセスの際に使用する。
次に、図29を用いて、ファイル削除後のメモリの空き領域の増加動作をページ単位で行う一例を説明する。この説明において、上記の説明と重複する部分の説明を省略する。
ここで、上述の第1の実施形態および変形例に係るファイル削除後の空き領域拡張動作を繰り返していくと、最終論理アドレスが次第に大きくなっていき、メモリカード2のバス仕様で、処理可能な最大論理アドレスを超えてしまう場合が考えられる。
尚、上記の説明においては、SDカード(登録商標)を代表例とし、UDF−VATタイプの追記ファイルシステムの実施例を一例として説明した。しかし、同様の別のフラッシュメモリデバイスや、別の追記型ファイルシステムにも同様に適用でき、同様の効果を得ることが可能である。
第1の実施形態および変形例に係るメモリシステムおよびそのホスト装置によれば、少なくとも下記(1)の効果が得られる。
上記のように、本例に係るメモリシステムは、外部(ホスト装置)1からのコマンド(空き容量拡張コマンドCOM1)に応じて、不要となった不揮発性メモリ6のデータ(FILE2)を消去し、当該不要となったデータ(FILE2)を論理アドレスの一部に割り当てられたメモリ領域に割り当てなおす(LBA255→LBA256)ことで、前記論理アドレスの最大値を拡張するように、不揮発性メモリ6を制御するメモリコントローラ7を備える。
次に、第2の実施形態に係るメモリシステムおよびホスト装置について、図30乃至図40を用いて説明する。この実施形態は、上記第1の実施形態で説明していないファイルシステム等についてのその他の説明に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。
これについては、上記第1の実施形態と重複するため、詳細な説明を省略する。
NAND型フラッシュメモリ6のブロックの適用例については、図39において後述する。
本例に係るメモリカード2では、上記のように、通常ユーザデータ領域24は、上記多値モードで使用し、なるべく多くの容量を確保する。通常ユーザデータ領域24は、追記書き込みデータ領域として使用される。この追記領域24では、論理アドレス−物理アドレス変換は、ブロック単位で行われる。なお、この場合でも、多値モードで使用する場合でも、書き込みデータの一時的な保管には、上記2値モードで使用するブロックをバッファとして使用してもよい。
本例に係るメモリカード2の場合、通常のユーザデータ領域24の他に、セキュアデータ用の領域(プロテクトデータ領域)21〜23も存在し、それぞれが一つのボリュームとしてファイルフォーマットが行われる。本例においては、プロテクトデータ領域はすべて上書き許可領域であり、NAND型フラッシュメモリ6の2値モードのブロックが割り当てられ、例えば、FATファイルシステムが用いられる。これは、プロテクトデータ領域21〜23は、容量としては小さく、またファイルデータ本体も細かいデータの更新が多いため、上書き可能なFATファイルシステムが適しているためである。ただし、アプリケーションによって、細かいデータの更新が発生しない場合は、プロテクトデータ領域21〜23も通常データ領域と同様の追記書き込みデータ領域として構成しても良い。
次に、図30乃至図32を用い、本例に係るメモリカード2が有するデバイス情報について説明する。
追加型デバイスフラグ(R)は、本例の追記型のカードインタフェースを有するメモリカード2であるか、上書き型のメモリカード2のいずれかであるかを示すフラグである。
最終書き込みアドレス(R)は、追記領域において、最後に書き込みがなされた論理アドレスを、メモリコントローラ7がホスト装置に示すアドレスである。このアドレスも、リードオンリーのレジスタである。
書き込み許可データ(RW)は、メモリカード2にファイルを書き込む、あるいは、更新するためには、異なる専用のファイルシステムを適用する際に必要な書き込みソフトウェアである。例えば、従来のカード用のファイル書き込みソフトウェアで、本例のメモリカード2に対してファイル書き込みを行うと、ファイルフォーマットが破壊される恐れがある。このため、本例のメモリカード2では、専用のデータ書き込み許可コマンドを設ける。メモリカード2は、初期化後にこのコマンドを受け付けた後でないと追記領域に対するホスト装置1からのデータ書き込みコマンドを受け付けない。このデータ書き込み許可コマンドの受付前では、書込みコマンドに対しては常にライトプロテクトエラーを返す。
これらVAT ICB位置書き込みアドレス1、2(RW)は、ホスト装置1が書き込むVAT ICB位置のアドレスを保持するためのアドレスである。
本例に係るメモリカード2では、追記領域は、最終書き込みアドレスの次の論理アドレスより大きいアドレスにしか書き込めないようにフォーマットされている。そのため、このデータ領域初期化指示(W)は、再度、追記領域の論理アドレスの先頭からデータを書き込めるようにするための指示を行うレジスタである。例えば、このレジスタにホスト装置1が、”1”データを書き込むことで、最終書き込みアドレスが初期化され、論理アドレスの先頭からデータを再度書き込めるようになる。
次に、図35および図36を用いて、本例に係るメモリカード2側のデータ書き込み動作について説明する。この説明においては、図36のフローチャートに従って説明する。
ここで、図35の示すように、初期化時においては、通常のカード初期化処理の他に、追記領域内の書き込み済最終アドレス(論理セクタアドレス)を以下のように計算し、コントローラ内に記憶する。
図36に示すように、まず、ステップS61の際、メモリコントローラ7は、書き込むべきデータの論理アドレスが追記領域であった場合、その論理アドレスが書き込み済最終論理アドレスより後のアドレスであるかどうか(すなわち、追記方式のライトであるかどうか)を判断する。
データ読み出し動作は、読み出しコマンドによって指定された論理アドレスをNAND型フラッシュメモリ6の物理アドレスに変換し、そのアドレスのデータをNAND型フラッシュメモリ6から読み出し、ホスト装置1に出力することにより行われる。
追記領域の初期化について、図37を用いて説明する。この動作のために、メモリコントローラ7のSDカードインタフェース11に、追記領域の初期化を実行する専用のコマンド(実際には専用のコマンドによってアクセスされるレジスタ)を追加する。メモリコントローラ7は、このコマンドを受けると、図37のフローチャートに示す動作を行う。
書き込み済最終論理アドレスを通知するためには、メモリコントローラ7のSDカードインタフェース11に、書き込み済最終論理アドレスをホスト装置1に通知する専用のコマンドを追加する。メモリコントローラ7は、このコマンドを受けると、コントローラ7のRAM14に記憶している書き込み済最終論理アドレスを、レスポンスデータとしてSDカードインタフェース11からホスト装置1に出力する。
本例のメモリカード1にファイルを書き込む、あるいは、更新するためには、専用のファイル書き込みソフトウェアが必要である。従来のカード用のファイル書き込ソフトウェアで本カードに対してファイル書き込みを行うと、ファイルフォーマットが破壊される恐れがある。このため、本例のメモリカード2では専用のデータ書き込み許可コマンドを設ける。メモリカード2は、初期化後に、このコマンドを受け付けた後でないとホストからのデータ書き込みコマンドを受け付けない。このデータ書き込み許可コマンドの受付前は書込みコマンドに対しては常にライトプロテクトエラーを返す。
ホスト装置1に対して、レスポンスデータとして、上書き許可領域の上限の論理アドレスを示すデータを返すコマンドを新設する。ホスト装置1は、メモリカード2の論理フォーマットの際に、このコマンドを使用して、上書き許可領域の上限を知ることができる。
デバイス情報を読むことで、ホスト装置1は、上書き型のカードインタフェースを持つカードであるか、追記型のインタフェースを持つカードであるかを識別できる。ホスト装置1は、それぞれのメモリカード2に応じたファイルシステム(例えば、上書き型の場合はFAT、追記型の場合はUDF−VAT方式等)をカードに適用する。
次に、図38を用いて、ホスト装置1の側のファイル更新について説明する。ここでは、図38のフローに則して説明する。
次に、図39を用いて、カード挿入時のVAT ICB位置検索動作について説明する。
次に、図40を用いて、不完全ファイルの復活処理について説明する。
この第2の実施形態では、SDメモリカード2への適用例を示したが、これに限られず、その他の別のフラッシュメモリデバイスにも適用できる。また、追記型ファイルシステムとしてUDFの例を示したが、その他別の追記型ファイルシステムであっても、同様に適用することが可能である。
上記のように、この第2の実施形態に係るメモリシステムおよびホスト装置によれば、少なくとも上記(1)と同様の効果が得られる。さらに、必要に応じて、本例のような構成および動作に適用することが可能である。
Claims (5)
- 不揮発性メモリと、
前記不揮発性メモリを制御するメモリコントローラとを具備し、
前記メモリコントローラは、外部からのコマンドに応じて、不要となった前記不揮発性メモリのデータを消去し、前記不要となったデータを論理アドレスの一部に割り当てられたメモリ領域に割り当てなおすことで、前記論理アドレスの最大値を拡張するように制御すること
を特徴とするメモリシステム。 - 不揮発性メモリと、
前記不揮発性メモリを制御するメモリコントローラとを具備し、
前記メモリコントローラは、外部から与えられる論理アドレス範囲情報としてのコマンドに応じて、前記論理アドレス領域の一部または全部に割り当てられたメモリ領域を割り当てなおすことで、前記論理アドレスの最大値を拡張するように制御すること
を特徴とするメモリシステム。 - 前記メモリコントローラは、前記論理アドレスの最大値を拡張した後の前記最大論理アドレスを外部に通知すること
を特徴とする請求項1または2に記載のメモリシステム。 - 前記メモリコントローラは、前記不揮発性メモリの処理可能な最大論理アドレスを超えた場合、外部からのコマンドに従って、前記論理アドレスの最大値を初期状態に戻すこと
を特徴とする請求項1乃至3のいずれか1項に記載のメモリシステム。 - 追記型ファイルシステムにフォーマットされたメモリシステムのホスト装置であって、ファイル削除後に、前記メモリシステムに対して最大論理アドレス範囲を拡張するコマンドを前記メモリシステムに出し、拡張後の前記最大論理アドレス範囲の値に基づいて、使用可能な空きメモリ領域を再計算すること
を特徴とするホスト装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008190022A JP2010026933A (ja) | 2008-07-23 | 2008-07-23 | メモリシステム、ホスト装置 |
US12/403,815 US8484430B2 (en) | 2008-07-23 | 2009-03-13 | Memory system and host device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008190022A JP2010026933A (ja) | 2008-07-23 | 2008-07-23 | メモリシステム、ホスト装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010026933A true JP2010026933A (ja) | 2010-02-04 |
Family
ID=41569667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008190022A Pending JP2010026933A (ja) | 2008-07-23 | 2008-07-23 | メモリシステム、ホスト装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8484430B2 (ja) |
JP (1) | JP2010026933A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033338A (ja) * | 2011-08-01 | 2013-02-14 | Toshiba Corp | メモリシステム |
JP2014515531A (ja) * | 2011-05-31 | 2014-06-30 | マイクロン テクノロジー, インク. | メモリデバイスにおける動的メモリキャッシュサイズ調節 |
WO2018016003A1 (ja) * | 2016-07-19 | 2018-01-25 | 株式会社日立製作所 | ストレージ装置 |
WO2020039927A1 (ja) * | 2018-08-21 | 2020-02-27 | ソニー株式会社 | 不揮発性記憶装置、ホスト装置、及びデータ記憶システム |
JP2022062264A (ja) * | 2017-09-22 | 2022-04-19 | キオクシア株式会社 | メモリシステム |
JP2023045456A (ja) * | 2021-09-22 | 2023-04-03 | キオクシア株式会社 | コンピュテーショナルストレージドライブ |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4228767B2 (ja) * | 2003-04-25 | 2009-02-25 | ソニー株式会社 | 再生装置、再生方法、再生プログラムおよび記録媒体 |
WO2005124530A2 (en) | 2004-06-21 | 2005-12-29 | Kabushiki Kaisha Toshiba | Method for controlling memory card and method for controlling nonvolatile semiconductor memory |
US10496608B2 (en) | 2009-10-28 | 2019-12-03 | Sandisk Il Ltd. | Synchronizing changes in a file system which are initiated by a storage device and a host device |
US8886597B2 (en) * | 2009-10-28 | 2014-11-11 | Sandisk Il Ltd. | Synchronizing changes in a file system which are initiated by a storage device and a host device |
JP2012113789A (ja) * | 2010-11-26 | 2012-06-14 | Buffalo Inc | ハードディスクドライブ装置およびその処理装置 |
JP5455945B2 (ja) * | 2011-02-14 | 2014-03-26 | 株式会社東芝 | 調停装置、記憶装置、情報処理装置およびプログラム |
JP2012168865A (ja) * | 2011-02-16 | 2012-09-06 | Toshiba Corp | メモリシステム |
TWI454912B (zh) * | 2012-01-06 | 2014-10-01 | Phison Electronics Corp | 資料處理方法、記憶體控制器與記憶體儲存裝置 |
US9081664B2 (en) * | 2012-08-10 | 2015-07-14 | Kabushiki Kaisha Toshiba | Memory system capable of preventing data destruction |
JP2014044490A (ja) * | 2012-08-24 | 2014-03-13 | Toshiba Corp | ホスト装置及びメモリデバイス |
US9383924B1 (en) * | 2013-02-27 | 2016-07-05 | Netapp, Inc. | Storage space reclamation on volumes with thin provisioning capability |
US20140310536A1 (en) * | 2013-04-16 | 2014-10-16 | Qualcomm Incorporated | Storage device assisted inline encryption and decryption |
US20150026427A1 (en) * | 2013-07-17 | 2015-01-22 | Kabushiki Kaisha Toshiba | Data reassign method and storage device |
WO2015145932A1 (ja) * | 2014-03-28 | 2015-10-01 | パナソニックIpマネジメント株式会社 | 不揮発性メモリ装置 |
TWI604373B (zh) * | 2016-12-13 | 2017-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
US11288007B2 (en) * | 2019-05-16 | 2022-03-29 | Western Digital Technologies, Inc. | Virtual physical erase of a memory of a data storage device |
TWI718858B (zh) * | 2020-02-03 | 2021-02-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04310148A (ja) * | 1991-02-15 | 1992-11-02 | Internatl Business Mach Corp <Ibm> | データの単位を高速度でアクセスする方法 |
JPH11126488A (ja) * | 1997-10-21 | 1999-05-11 | Hitachi Ltd | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 |
JP2003015915A (ja) * | 2001-07-05 | 2003-01-17 | Hitachi Ltd | 記憶装置の容量自動拡張方法 |
JP2006040264A (ja) * | 2004-06-21 | 2006-02-09 | Toshiba Corp | メモリカードの制御方法および不揮発性半導体メモリの制御方法 |
JP2007213448A (ja) * | 2006-02-10 | 2007-08-23 | Hitachi Ltd | 記憶制御装置 |
JP2007323309A (ja) * | 2006-05-31 | 2007-12-13 | Hitachi Ltd | レプリケーションボリュームの容量拡張方法 |
JP2008146255A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3687115B2 (ja) * | 1994-10-27 | 2005-08-24 | ソニー株式会社 | 再生装置 |
TWI244285B (en) * | 2002-02-05 | 2005-11-21 | Via Tech Inc | Ethernet switch controller and its congestion control method |
JP2003303054A (ja) * | 2002-04-08 | 2003-10-24 | Hitachi Ltd | 計算機システム、記憶装置及び記憶装置運用監視方法 |
WO2004077447A1 (ja) * | 2003-02-28 | 2004-09-10 | Fujitsu Limited | フラッシュメモリ及びメモリ制御方法 |
US20050091459A1 (en) * | 2003-10-23 | 2005-04-28 | Nhon Quach | Flexible mechanism for enforcing coherency among caching structures |
BRPI0418426A (pt) * | 2004-01-19 | 2007-05-22 | Trek 2000 Int Ltd | dispositivo portátil de armazenamento de dados usando uma tabela de mapeamento de endereço de memória |
WO2005124530A2 (en) | 2004-06-21 | 2005-12-29 | Kabushiki Kaisha Toshiba | Method for controlling memory card and method for controlling nonvolatile semiconductor memory |
JP2006085380A (ja) | 2004-09-15 | 2006-03-30 | Toshiba Corp | ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法 |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US7694025B1 (en) * | 2006-03-31 | 2010-04-06 | Integrated Device Technology, Inc. | Method and device for base address sorting and entry into base address registers |
JP2008090519A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | 記憶装置 |
JP2008171367A (ja) | 2007-01-15 | 2008-07-24 | Toshiba Corp | 情報処理装置及び追記型ファイル管理ソフトウェア |
-
2008
- 2008-07-23 JP JP2008190022A patent/JP2010026933A/ja active Pending
-
2009
- 2009-03-13 US US12/403,815 patent/US8484430B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04310148A (ja) * | 1991-02-15 | 1992-11-02 | Internatl Business Mach Corp <Ibm> | データの単位を高速度でアクセスする方法 |
JPH11126488A (ja) * | 1997-10-21 | 1999-05-11 | Hitachi Ltd | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 |
JP2003015915A (ja) * | 2001-07-05 | 2003-01-17 | Hitachi Ltd | 記憶装置の容量自動拡張方法 |
JP2006040264A (ja) * | 2004-06-21 | 2006-02-09 | Toshiba Corp | メモリカードの制御方法および不揮発性半導体メモリの制御方法 |
JP2007213448A (ja) * | 2006-02-10 | 2007-08-23 | Hitachi Ltd | 記憶制御装置 |
JP2007323309A (ja) * | 2006-05-31 | 2007-12-13 | Hitachi Ltd | レプリケーションボリュームの容量拡張方法 |
JP2008146255A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014515531A (ja) * | 2011-05-31 | 2014-06-30 | マイクロン テクノロジー, インク. | メモリデバイスにおける動的メモリキャッシュサイズ調節 |
US9195604B2 (en) | 2011-05-31 | 2015-11-24 | Micron Technology, Inc. | Dynamic memory cache size adjustment in a memory device |
JP2013033338A (ja) * | 2011-08-01 | 2013-02-14 | Toshiba Corp | メモリシステム |
WO2018016003A1 (ja) * | 2016-07-19 | 2018-01-25 | 株式会社日立製作所 | ストレージ装置 |
JPWO2018016003A1 (ja) * | 2016-07-19 | 2018-11-29 | 株式会社日立製作所 | ストレージ装置 |
US10740250B2 (en) | 2016-07-19 | 2020-08-11 | Hitachi, Ltd. | Storage apparatus |
JP2022062264A (ja) * | 2017-09-22 | 2022-04-19 | キオクシア株式会社 | メモリシステム |
WO2020039927A1 (ja) * | 2018-08-21 | 2020-02-27 | ソニー株式会社 | 不揮発性記憶装置、ホスト装置、及びデータ記憶システム |
US11615019B2 (en) | 2018-08-21 | 2023-03-28 | Sony Corporation | Non-volatile storage device, host device, and data storage system to increase data write speed |
JP2023045456A (ja) * | 2021-09-22 | 2023-04-03 | キオクシア株式会社 | コンピュテーショナルストレージドライブ |
Also Published As
Publication number | Publication date |
---|---|
US20100023721A1 (en) | 2010-01-28 |
US8484430B2 (en) | 2013-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4991320B2 (ja) | ホスト装置およびメモリシステム | |
JP2010026933A (ja) | メモリシステム、ホスト装置 | |
US11640353B2 (en) | Memory system, data storage device, user device and data management method thereof | |
US8307172B2 (en) | Memory system including memory controller and separately formatted nonvolatile memory to avoid “copy-involving write” during updating file data in the memory | |
JP4931810B2 (ja) | 最適化されたシーケンシャルなクラスタの管理のためのfat分析 | |
US6678785B2 (en) | Flash management system using only sequential write | |
JP5530012B2 (ja) | 記憶装置のためのストレージアドレス再マッピングのための方法およびシステム | |
US8078794B2 (en) | Hybrid SSD using a combination of SLC and MLC flash memory arrays | |
US7395384B2 (en) | Method and apparatus for maintaining data on non-volatile memory systems | |
JP5295778B2 (ja) | フラッシュメモリ管理方法 | |
US7752412B2 (en) | Methods of managing file allocation table information | |
US20140059273A1 (en) | Host apparatus and memory device | |
JP4751163B2 (ja) | メモリシステム | |
WO2005103903A1 (ja) | 不揮発性記憶システム | |
KR101893897B1 (ko) | 메모리 시스템 및 사용자 장치 그리고 그것의 데이터 관리 방법 | |
CN103389941B (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
JP4599450B2 (ja) | 電子機器、ファイルシステムの記憶領域割当法、および記憶領域割当プログラム | |
JP4881469B1 (ja) | 情報処理装置、及び情報処理方法 | |
KR20220101349A (ko) | 스토리지 장치의 데이터 기입 방법 및 이를 수행하는 스토리지 장치 | |
JP2007018528A (ja) | メモリ装置、ファイル管理方法及び記録再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120924 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130326 |