JP2010140268A - メモリデバイス - Google Patents

メモリデバイス Download PDF

Info

Publication number
JP2010140268A
JP2010140268A JP2008316066A JP2008316066A JP2010140268A JP 2010140268 A JP2010140268 A JP 2010140268A JP 2008316066 A JP2008316066 A JP 2008316066A JP 2008316066 A JP2008316066 A JP 2008316066A JP 2010140268 A JP2010140268 A JP 2010140268A
Authority
JP
Japan
Prior art keywords
data
write
work
memory card
storage area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008316066A
Other languages
English (en)
Other versions
JP5175703B2 (ja
Inventor
Teruhisa Fujimoto
曜久 藤本
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
Priority to JP2008316066A priority Critical patent/JP5175703B2/ja
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to TW102148823A priority patent/TWI534616B/zh
Priority to CN200980149510.2A priority patent/CN102246151B/zh
Priority to PCT/JP2009/071069 priority patent/WO2010067899A1/en
Priority to KR1020117013369A priority patent/KR101409095B1/ko
Priority to EP09831999.9A priority patent/EP2356571B1/en
Priority to TW098142639A priority patent/TWI430089B/zh
Publication of JP2010140268A publication Critical patent/JP2010140268A/ja
Priority to US13/158,126 priority patent/US9110781B2/en
Application granted granted Critical
Publication of JP5175703B2 publication Critical patent/JP5175703B2/ja
Priority to US15/464,095 priority patent/USRE48983E1/en
Priority to US17/377,952 priority patent/USRE49921E1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

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

Abstract

【課題】書き込み時間の算出を容易にするメモリデバイスを提供する。
【解決手段】メモリデバイスは、複数の記憶領域RUを有するメモリ21を有する。コントローラ22は、書き込みデータを受け取ると、書き込みデータの論理アドレスと書き込みデータを記憶する記憶領域との対応を管理しながら書き込みデータを記憶領域に書き込み、不特定の大きさの書き込みデータを論理アドレス順番の制限なしに記憶領域に書き込むことが可能で且つ複数の連続する記憶領域からなる管理単位記憶領域AUの中の書き込み対象でなかったデータを保持する第1モードを有し、特定の大きさの複数の書き込みデータを各々の論理アドレスの大きくなる順に記憶領域に書き込み且つ管理単位記憶領域の中の書き込まれなかったデータを無効なデータとして取り扱う第2モードを有する。
【選択図】 図5

Description

本発明は、メモリデバイス、特に不揮発性半導体メモリを用いたメモリデバイスに関する。
現在、音楽データや映像データの記録メディアとして、フラッシュメモリ等の不揮発性半導体メモリを用いた、メモリカードに代表されるメモリデバイスが使われている。メモリデバイスは、多くの場合、メモリを制御するためのコントローラを内蔵している。コントローラは、このようなメモリデバイスを挿入されるホストのファイルシステムから依頼された、論理アドレスを割り当てられた書き込みデータを、フラッシュメモリの未書き込みの記憶領域に書き込む指示を出す。また、コントローラは、ファイルシステムによってデータに割り当てられた論理アドレスと、このデータを保存している、フラッシュメモリの記憶領域の位置との関係を管理しておく。
メモリデバイスに使用されるフラッシュメモリの代表例としては、NAND型フラッシュメモリが挙げられる。NAND型フラッシュメモリでは、複数のビットからなるページと呼ばれる単位で書き込みが行われる。そして、複数のページからなるブロックと呼ばれる単位でしか消去を行えない。
ユーザがホスト装置を通じてメモリデバイスの性能を知ることが求められることがある。そのような性能には、メモリデバイスの記録速度、記録に要する時間、記録可能時間などが含まれる。これらの性能を予測するための技術が、特開2006−178923(特許文献1)に記載されている。この技術は、以下の手法を用いている。
上記のように、複数のページからなるブロックと呼ばれる単位でしか消去を行えない。つまり、NAND型フラッシュメモリは、データを上書きすることができない。メモリ内のあるデータを更新するには、新たなブロックを用意し、その中に更新されないデータをコピーすると共に、更新されるデータを書き込む必要がある。このため、フラッシュメモリでは、何も書き込まれていない連続するページへの書き込みは速いが、書き込み済みのページと未書き込みのページが混在して連なっているブロックへの書き込みは遅い。つまり、ブロック内の書き込みページの分布(フラグメンテーション)に応じて、データの書き込み速度が異なる。これを利用して、各ブロックの書き込み速度を求めたり、ホスト装置に搭載されていてメモリデバイスにデータを記憶しようとしているアプリケーションが要求する書き込み速度を満たすブロックの数からメモリデバイスの記録可能時間を求めたりしている。しかしながら、フラグメンテーションを用いたこのような手法は、性能の算出が複雑であり、実行するのに長時間を要する。このため、より簡便に性能予測を行なうことを可能にするメモリデバイスが求められている。
また、メモリの容量増大や、メモリデバイスの性能向上や、ユーザが記録することを望むコンテンツの多様化によって、ユーザのメモリデバイスの使用形態が多様化している。例えば、2つのテレビ番組のような2つの動画を平行して録画することや、動画を撮影している最中に静止画を撮影することといった要望が出現している。ところが、現在のフラッシュメモリではデータの上書きができないため、上記のデータのコピーが必要になる場合がある。データのコピーは長時間を要するので、データのコピーを伴う書き込みは速度が遅い。このため、上記の要望に答えて複数のファイルデータ、特に複数のファイルデータを平行してリアルタイムでメモリデバイスに書き込むことができない。
特開2006−178923号公報
本発明は、ある一定の書き込み性能を持つメモリデバイスを提供することにより複数ストリームのリアルタイム記録を可能にし、書き込み時間の算出を容易にするメモリデバイスを提供しようとするものである。
本発明の一態様によるメモリデバイスは、複数の記憶領域を有するメモリと、書き込みデータを受け取ると、前記書き込みデータの論理アドレスと前記書き込みデータを記憶する前記記憶領域との対応を管理しながら前記書き込みデータを前記記憶領域に書き込み、不特定の大きさの書き込みデータを論理アドレス順番の制限なしに前記記憶領域に書き込むことが可能で且つ複数の連続する前記記憶領域からなる管理単位記憶領域の中の書き込み対象でなかったデータを保持する第1モードを有し、特定の大きさの複数の書き込みデータを各々の論理アドレスの大きくなる順に前記記憶領域に書き込み且つ前記管理単位記憶領域の中の書き込まれなかったデータを無効なデータとして取り扱う第2モードを有するコントローラと、を具備することを特徴とする。
本発明の一態様によるメモリデバイスは、複数の記憶領域を有するメモリと、書き込みデータを受け取ると、前記書き込みデータの論理アドレスと前記書き込みデータを記憶する前記記憶領域との対応を管理しながら前記書き込みデータを前記記憶領域に書き込み、複数の連続する前記論理アドレスから構成される論理アドレス領域を認識し、第1コマンドを受け取るとリアルタイム書き込み可能状態に移行するコントローラと、を具備し、前記リアルタイム書き込み可能状態の前記コントローラは、書き込み要求を受けると、前記書き込みデータの前記論理アドレスが属する管理単位記憶領域に対応して一時的に用意された作業領域に、複数の書き込みデータを各々の論理アドレスの大きくなる順に前記作業領域中の前記記憶領域に書き込み、前記作業領域中の最後の前記記憶領域への書き込みが完了するか、第2コマンドを受け取ると前記作業領域に論理アドレスに割り当てる、ことを特徴とする。
本発明によれば、書き込み時間の算出を容易にするメモリデバイスを提供できる。
以下に本発明の実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。ただし、図面は模式的なものであることに留意されたい。
なお、以下、本発明の実施形態に係るメモリデバイスの一例としてメモリカード、特にSDカードを用いて説明を行う。しかしながら、以下に説明するようなメモリと、このメモリを制御するコントローラを有するあらゆるメモリデバイスが本発明の範疇に含まれる。
(第1実施形態)
[1]構成
図1乃至図4を参照して、本発明の第1実施形態に係るメモリカードの構成について説明する。図1は、本発明の第1実施形態に係るメモリカードの主要な機能ブロックを示している。図1には、このメモリカードと接続されるホスト装置の機能ブロックも示されている。各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明する。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も本発明の範疇に含まれる。
ホスト装置(以下、ホストと称する)1は、アプリケーション、オペレーティング・システム等のソフトウェア11を備えている。ソフトウェア11は、ユーザから、メモリカード2へのデータの書き込み、メモリカード2からのデータの読み出しを指示される。ソフトウェア11は、データの書き込みおよび読み出しをファイルシステム12に指示する。ファイルシステム12は、管理対象の記憶媒体に記録されているファイルデータを管理するための仕組みであり、記憶媒体の記憶領域内に管理情報を記録し、この管理情報を用いてファイルデータを管理する。
ホスト1は、SDインターフェース13を有する。SDインターフェース13は、ホスト1とメモリカード2との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなる。ホスト1は、SDインターフェース13を介してメモリカード2と通信を行う。SDインターフェース13は、ホスト1とメモリカード2とが通信するのに必要な様々な取り決めを規定し、後述のメモリカード2のSDインターフェース31と相互に認識可能な各種のコマンドの組を備えている。また、SDインターフェース13は、メモリカード2のSDインターフェース31と接続可能なハードウェア上の構成(ピンの配置、数等)も含む。
メモリカード2は、NAND型フラッシュメモリ21、メモリ21を制御するためのコントローラ22を有する。メモリカード2は、ホスト1に接続されたとき、およびオフ状態のホスト1に挿入された状態でホスト1がオンされたときに電源供給を受けて初期化動作を行った後、ホスト1からのアクセスに応じた処理を行う。
メモリ21は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行う。ページには、各ページに固有の物理アドレスが割り当てられている。また、メモリ21は、複数のページからなる物理ブロック(消去ブロック)と呼ばれる単位でデータの消去を行う。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。
コントローラ22は、メモリ21によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページ(または物理ブロック)が、どの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページ(または物理ブロック)が消去状態(何も書き込まれていない、または無効なデータを保持している状態)であるかを管理することを含んでいる。
コントローラ22は、SDインターフェース31、MPU(micro processing unit)32、ROM(read only memory)33、RAM(read only memory)34、NANDインターフェース35を含んでいる。
SDインターフェース31は、ホスト1とコントローラ22との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなり、SDインターフェース13と同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウェア上の構成(ピンの配置、数等)も含む。メモリカード2(コントローラ22)は、SDインターフェース31を介してとホスト1と通信を行う。SDインターフェース31は、レジスタ36を含んでいる。
MPU32は、メモリカード2全体の動作を司る。MPU32は、例えば、メモリカード2が電源供給を受けた際に、ROM33内に格納されているファームウェア(制御プログラム)をRAM34上に読み出して所定の処理を実行する。MPU32は、制御プログラムに従って各種のテーブル(後述)をRAM34上で作成したり、ホスト1から受けたコマンドに従ってメモリ21に対する所定の処理を実行したりする。
ROM33は、MPU32により制御される制御プログラムなどを格納する。RAM34は、MPU32の作業エリアとして使用され、制御プログラムや各種のテーブルを一時的に記憶する。このようなテーブルとして、ファイルシステム12によってデータに割り当てられた論理アドレスを有するデータを実際に記憶しているページの物理アドレスの変換テーブル(論物テーブル)が含まれる。NANDインターフェース35は、コントローラ22とメモリ21とのインターフェース処理を行う。
メモリ21内の記憶領域は、保存されるデータの種類に応じて、例えばシステムデータ領域、機密データ領域、保護データ領域、ユーザデータ領域等を含んでいる。システムデータ領域は、コントローラ22が、その動作に必要なデータを保存するためにメモリ21内で確保しておく領域である。機密データ領域は、暗号化に用いる鍵情報や認証時に使用する機密データを保存しており、ホスト1からアクセスできない。保護データ領域は、重要なデータ、セキュアなデータを格納する。ユーザデータ領域は、ホスト1が自由にアクセスおよび使用することが可能で、例えばAVコンテンツファイルや画像データ等のユーザデータを格納する。以下の説明で、メモリ21のメモリ空間を指す意味でメモリ21という記述を用いているとき、この記述はユーザデータ領域を指すものとする。なお、コントローラ22は、ユーザデータ領域の一部を確保し、自身の動作に必要な制御データ(論物テーブル等)を保存する。
レジスタ36は、図2に例示するように、カードステータスレジスタ、CID、RCA、DSR、CSD、SCR、OCRの各種レジスタを有する。これらのレジスタは、エラー情報、メモリカード2の個体番号、相対カードアドレス、メモリカード2のバス駆動力、メモリカード2の特性パラメータ値、データ配置、メモリカード2の動作範囲電圧に制限のある場合の動作電圧等を格納している。
また、レジスタ36、例としてCSDは、メモリカード2のクラス、データのコピーに要する時間、AUサイズ等を格納している。クラスは、あるクラスに属するメモリカードが保証する最低の書き込み速度によって規定されている。また、クラスによって最高の書き込み速度が決定されている。したがって、ホスト1は、AUサイズを示すデータをレジスタ36から読み出して、この情報をメモリカード2の管理の際に利用でき、また、クラスを示すデータをレジスタ36から読み出して、メモリカード2の最大の書き込み性能を知得することができる。その他、性能パフォーマンス情報、例えば、特開2006−178923号公報に記載のパフォーマンス情報がCSDに格納されていてもよい。
図3は、メモリ21のメモリ空間の構成を示している。図3に示すように、メモリ21は、通常のメモリ領域41とページバッファ42とを有する。メモリ領域41は、複数の物理ブロックBLKを含んでいる。各物理ブロックBLKは、複数のページPGから構成される。各ページPGは、直列接続された複数のメモリセルトランジスタを含んでいる。
各メモリセルは、いわゆる積層ゲート構造のMOSFET(metal oxide semiconductor field effect transistor)からなる。各メモリセルトランジスタは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。メモリセルトランジスタが2つ以上の閾値電圧の異なる状態を取り得る、つまりメモリセルが多値(多ビット)を記憶できるように、メモリ21が構成されていてもよい。
同じ行に属するメモリセルトランジスタの制御ゲート電極は、同じワード線と接続される。同じ列に属し且つ直列接続されたメモリセルトランジスタの両端には選択ゲートトランジスタが設けられる。一方の選択ゲートトランジスタは、ビット線と接続される。データの書き込みおよび読み出しは直列接続されたメモリセルトランジスタの集合毎に行われ、このメモリセルトランジスタの集合からなる記憶領域が1つのページに対応する。
図3の例の場合、各ページPGは、例えば2112Bを有しており、各ブロック52は例えば128ページからなる。データの消去はブロックBLK単位で行われる。ページバッファ34は、メモリ21へのデータ入出力を行い、データを一時的に保持する。ページバッファ42が保持可能なデータサイズは、例えば、ページPGのサイズと同じく2112B(2048B+64B)である。
図4に示すとともに上記したように、メモリ21は、ページPG単位でデータを書き込んだり、読み出したりし、ブロックBLK単位でデータを消去する。一方、ファイルシステム12は、RU(recording unit)単位でデータを管理する。つまり、ファイルシステム12は、ソフトウェア11から依頼された書き込み対象のデータをRUの大きさに応じた適当な大きさの複数の部分へと分割し、各部分に論理アドレスを割り当てる。RUは、1回のマルチブロック書き込みコマンドで書き込まれる単位に相当する。ファイルシステム12は、固有の論理アドレスを割り当てられたデータを書き込みデータとして、書き込みコマンドに続いてメモリカード2に供給する。コントローラ22は、論理アドレスを割り当てられた書き込みデータを適当なページに書き込む。RUの大きさはページの容量の大きさの整数倍である。したがって、RUの大きさの書き込みデータをメモリカード2は、物理アドレスが連続する複数のページに書き込む。なお、各RUは、ファイルシステムが管理する固有の論理アドレスに対応するので、RUにデータを割り当てるということは、データに論理アドレスを割り当てるのと同義である。ファイルシステム12は、表を用いて、分割されたデータの各部分の接続関係を管理して、この接続関係を用いてデータの部分を繋げることによって元のデータを復元する。また、コントローラ22は、論理アドレスとこの論理アドレスのデータを格納しているページのアドレス(物理アドレス)との対応を変換テーブル(論物テーブル)で管理する。
また、ファイルシステム12は、所定の範囲に属する所定数の連続するRUの集合からなるAU(allocation unit)という概念を用いて管理を行なう。コントローラ22は、データの論理アドレスの上位ビットを見ることによってAUの区切りを認識できる。AUの大きさはブロック(物理ブロック)の容量の大きさの整数倍である。このように、RUは自然数個のページの大きさに一致し、AUは自然数個のブロックの大きさに一致する。このため、以下の説明では、メモリカード2でのデータの読み出し/書き込みの単位としてRU、AUを用いて説明を行なう。すなわち、メモリカード2に関する記述において用いられるRUという文言は、RUと同じ大きさの、連続する複数のページを意味し、メモリカード2に関する記述において用いられるAUという文言は、AUと同じ大きさの、連続する複数のブロックを意味する。具体的には、ファイルシステム12がファイルシステム12のRUに割り当てたデータはメモリカード2のあるRUに書き込まれており、メモリカード2は、ファイルシステム12によってデータに割り当てられたRU(論理アドレス)とこの書き込みデータを記憶しているメモリ21内のRUを表によって管理している。
[2]動作
[2−1]第1例
次に、まず図5乃至図14を参照して、メモリカード2の動作の一部について説明する。図5は、第1実施形態に係るメモリカードが取り得るモードの遷移図である。図5に示すように、メモリカード2は、ランダム書き込みモードとシーケンシャル書き込みモードを有し、コントローラ22は、これらの2つのモードのうち、現在設定されているモードに従って動作する。メモリカード2は、ホスト1からの電源供給が開始した際、ランダム書き込みモードにある。メモリカード2は、ランダム書き込みモードにあるときにシーケンシャル書き込み開始コマンドを受けると、シーケンシャル書き込みモードに移行する。一方、メモリカード2は、シーケンシャル書き込みモードにあるときにシーケンシャル書き込み終了コマンドを受けると、ランダム書き込みモードに移行する。SDインターフェース31は、シーケンシャル書き込み開始コマンドおよびシーケンシャル書き込み終了コマンドを認識できるように構成されている。
次に、図6乃至図9を参照して、ランダム書き込みモードについて説明する。図6乃至図9は、ランダム書き込みモードでの書き込み時の一状態を順に例示している。図6乃至図9内の、ワークAUを除くAUは、ファイルシステム12が認識しているAUを表現しており、またメモリカード2内でこのAU内のデータを記憶しているAUも表現している。
まず、メモリカード2内のAU1に属する第1乃至第NRUにデータ1乃至データNが書き込まれている。この状態で、ホスト1は、AU1の第4乃至第6RUにデータ20乃至データ22を書き込むことを希望している。しかしながら、フラッシュメモリ21はデータの上書きによって直接的にこの更新命令を遂行することができないので、以下の動作を行なう。まず、図7に示すように、メモリカード2(コントローラ22)は、一時作業用のAU(ワークAU)を用意する。次に、メモリカード2は、ワークAU内の、AU1の更新されないRUと同じ第1乃至第3RUにデータ1乃至データ3をそれぞれコピーする。
図8に示すように、メモリカード2は、ワークAU内の、AU1の更新対象のRUと同じ第4乃至第6RUにデータ20乃至データ22を書き込む。
図9に示すように、メモリカード2は、AU1のデータ7乃至データNを、ワークAU内の、AU1の更新されないRUと同じ第7乃至第NRUにデータ7乃至データNをそれぞれコピーする。次に、メモリカード2は、ワークAU1のクローズ処理を行なう。クローズ処理とは、ワークAUをAU1に設定すること、すなわち、ワークAUが、ファイルシステム12が認識しているAU1内のデータを記憶しているものとして設定する(論物テーブルを書き換える)ことである。同時に、旧AU1は破棄される、換言すれば旧AU1は無効のデータを有するAUとして取り扱われるようになる。旧AU内のデータは、所定のタイミングで消去され、新たな未書き込みAUになる。
次に、図10乃至図14を参照して、シーケンシャル書き込みモードについて説明する。図10は、シーケンシャル書き込みモードおよびその前後における、ホスト1とメモリカード2間で授受されるコマンド、データの第1例を示している。図11乃至図14は、シーケンシャル書き込みモードでの第1例の書き込み時の一状態を順に示している。図11乃至図14内の、ワークAUを除くAUは、ファイルシステム12が認識しているAUを表現しており、またメモリカード2内でこのAU内のデータを記憶しているAUも表現している。
まず、メモリカード2はランダム書き込みモードにあり、図11に示すように、AU1の第1乃至第8RUにデータ1乃至データ8が書き込まれており、AU2の第1乃至第8RUにはデータ9乃至データ16が書き込まれている。この状態で、図10に示すように、ホスト1はメモリカード2にシーケンシャル書き込み開始コマンドを供給する。このコマンドを受けると、メモリカード2はシーケンシャル書き込みモードに移行する。
図11に示すように、ホスト1は、AU1の第4乃至第6RUにデータ20乃至データ22を書き込むことを希望している。すなわち、ホスト1は、第4乃至第6RUをデータ20乃至データ22で更新することを希望している。この書き込みを行なうために、ホスト1は、図10に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第4乃至第6RUと関連付けられたデータ20乃至データ22を供給する。この書き込み要求を受け取ると、図11に示すように、メモリカード2は、AU1のためのワークAU1を用意する。ワークAUは、データを格納していないRUのみからなり、メモリカード2が内部処理に一時的に用いるAUである。シーケンシャル書き込みモードでは、メモリカード2は、書き込み要求に対して、常に未書き込みのワークAUを用意し、ワークAUにデータを書き込む。この段階では、ワークAUに対する元のAU1が依然有効のままであるので、何らかの理由でライトエラーが発生した場合でも、書き込み前の状態を復元することが可能である。
シーケンシャル書き込みモードでは、更新されないRUのデータはワークAUのRUにコピーされない。したがって、図12に示すように、メモリカード2は、ワークAU内の、AU1内でデータ20乃至データ22を書き込まれているRUと同じ第4乃至第6RUにデータ20乃至データ22をそれぞれ書き込む。
次に、図12に示すように、ホスト1は、AU1の第7、第8RUのデータ7、データ8をデータ23、データ24データで更新するとともに、AU2の第1乃至第3RUのデータ9乃至データ11をデータ25乃至データ27で更新することを希望している。この更新を行なうために、ホスト1は、図10に示すように、メモリカード2に、書き込みコマンド、AU1の第7、第8RUと関連付けられたデータ23、データ24、AU2の第1乃至第3RUと関連付けられたデータ25乃至データ27を供給する。この書き込み要求を受け取ると、図13に示すように、メモリカード2は、ワークAU内の、AU1内でデータ23、データ24を書き込まれているRUと同じ第7、第8RUにデータ23、データ24をそれぞれ書き込む。この時点で、ワークAU1の最後のRUに書き込まれたので、図14に示すように、メモリカード2は、ワークAUに対してクローズ処理を行なう。さらに、メモリカード2は、AU2のための新たなワークAUを用意する。
図15に示すように、メモリカード2は、ワークAU内の、AU2内でデータ25乃至データ27を書き込まれているRUと同じ第1乃至第3RUにデータ25乃至データ27をそれぞれ書き込む。
書き込み要求が終了したので、図10に示すように、ホスト1は、シーケンシャル書き込み終了コマンドをメモリカード2に供給する。このコマンドを受け取ると、図15に示すように、メモリカード2は、AU2の第4乃至第8RUに書き込まれていたデータ12乃至データ16をワークAUにコピーすることなく、ワークAUに対してクローズ処理を行ない、次いで、ランダム書き込みモードに移行する。
[2−2]第2例
次に、第1例を応用して複数のファイルデータを平行して記録することについて、図16乃至図21を参照して説明する。図16は、第1実施形態に係るメモリカードが受信するコマンド、データの第2例を示している。図17乃至図21は、第1実施形態に係るメモリカード2での第2例の書き込み時の一状態を順に示している。図17乃至図21内の、ワークAUを除くAUは、ファイルシステム12が認識しているAUを表現しており、またメモリカード2内でこのAU内のデータを記憶しているAUも表現している。なお、第2例は、シーケンシャル書き込みモードでの動作のみに関し、それ以外の動作は第1例と同じである。
まず、メモリカード2はランダム書き込みモードにある。この状態で、図16に示すように、メモリカード2は、ホスト1から受け取ったシーケンシャル書き込み開始コマンドによってシーケンシャル書き込みモードに移行する。
図17に示すように、ホスト1は、AU1の第1乃至第5RUにデータA1乃至データA5を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図16に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第1乃至第5RUと関連付けられたデータA1乃至データA5を供給する。
上記のように、シーケンシャル書き込みモードでは、メモリカード2は、書き込み要求に対して、常に未書き込みのワークAUを用意し、ワークAUにデータを書き込む。このため、図18に示すように、メモリカード2は、ワークAU1内の、AU1内でデータA1乃至データA5を書き込まれているRUと同じ第1乃至第5RUにデータA1乃至データA5をそれぞれ書き込む。
図18に示すように、ホスト1は、AU2の第1乃至第3RUにデータB1乃至データB3を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図16に示すように、メモリカード2に、書き込みコマンド、続いてAU2の第1乃至第3RUと関連付けられたデータB1乃至データB3を供給する。データB1乃至B3は、データA1乃至A3と異なるAUに属しており、したがって、データB1乃至B3はデータA1乃至A3が構成するファイルと別のファイルを構成するデータである。具体例として、例えばデータB1乃至データB3はある動画データの一部であって、データA1乃至データA5は別の動画データの一部である。メモリカード2(コントローラ22)は、データA1乃至データA5と、データB1乃至データB3が異なる種類のファイルを構成することを、AU、つまりこれらのデータに割り当てられた論理アドレスの上位ビットを観察することによって、判断することができる。
メモリカード2は、データB1乃至データB3の書き込み要求を受け取ると、これらのデータが先に書き込みを要求されたデータA1乃至データA5とは別のファイルを構成することを上記のようにAUから判断する。この判断の結果、図19に示すように、メモリカード2は、AU2のための新たなワークAU2を用意し、ワークAU2内の、AU2内でデータB1乃至データB3を書き込まれているRUと同じ第1乃至第3RUにデータB1乃至データB3をそれぞれ書き込む。
さらに、図19に示すように、ホスト1は、AU1の第6、第7RUにデータA6、データA7を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図16に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第6、第7RUと関連付けられたデータA6、データA7を供給する。データA6、データA7は、以前に書き込み要求を受けたデータA1乃至データA5と同じAU1に属している。このため、図20に示すように、メモリカード2は、この書き込み要求を受け取ると、ワークAU1内の、AU1内でデータA6、データA7を書き込まれているRUと同じ第6、第7RUにデータA6、データA7をそれぞれ書き込む。
さらに、図20に示すように、ホスト1は、AU2の第4乃至第6RUにデータB4乃至データB6を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図16に示すように、メモリカード2に、書き込みコマンド、続いてAU2の第4乃至第6RUと関連付けられたデータB4乃至データB6を供給する。データB4乃至データB6は、データB1乃至データB3と同じAU2に属している。このため、図20に示すように、メモリカード2は、この書き込み要求を受け取ると、ワークAU2内の、AU2内でデータB4乃至データB6を書き込まれているRUと同じ第4乃至第6RUにデータB4乃至データB6をそれぞれ書き込む。
書き込み要求が終了したので、図16に示すように、ホスト1は、シーケンシャル書き込み終了コマンドをメモリカード2に供給する。このコマンドを受け取ると、図21に示すように、メモリカード2は、全てのワークAUに対してクローズ処理を行ない、次いで、ランダム書き込みモードに移行する。
なお、第2例の説明において、2つのファイルのデータ群、すなわち、データA1乃至データA7とデータB1乃至データB6のファイルデータから各々がなる2つのストリームについて説明した。しかしながら、本明細書で説明した原理に基づいて、3つ以上のストリームに、本実施形態を適用することも可能である。メモリカード2が、幾つのストリームのデータを同時に書き込む処理をできるかは、メモリカード2が同時に幾つのワークAUを用意できるかに依存する。同時に用意されるワークAUの数は、メモリカード2の書き込み速度や記憶容量や仕様に応じて選択することができる。
[2−3]第3例
次に、ワークAUを任意のタイミングで閉じるための手法について、図22乃至図27を参照して説明する。図22は、第1実施形態に係るメモリカードが受信するコマンド、データの第3例を示している。図23乃至図27は、第1実施形態に係るメモリカード2での第3例の書き込み時の一状態を順に示している。図23乃至図27内の、ワークAUを除くAUは、ファイルシステム12が認識しているAUを表現しており、またメモリカード2内でこのAU内のデータを記憶しているAUも表現している。なお、第3例は、シーケンシャル書き込みモードでの動作のみに関し、それ以外の動作は第1例と同じである。
まず、メモリカード2はランダム書き込みモードにある。この状態で、図22に示すように、メモリカード2は、ホスト1から受け取ったシーケンシャル書き込み開始コマンドによってシーケンシャル書き込みモードに移行する。
図23に示すように、ホスト1は、AU1の第1乃至第5RUにデータA1乃至データA5を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図22に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第1乃至第5RUと関連付けられたデータA1乃至データA5を供給する。
この書き込み要求を受け取ると、図24に示すように、メモリカード2は、AU1のための新たなワークAU1を用意し、ワークAU1内の、AU1内でデータA1乃至データA5を書き込まれているRUと同じ第1乃至第5RUにデータA1乃至データA5をそれぞれ書き込む。
図24に示すように、ホスト1は、AU2の第1乃至第3RUにデータB1乃至データB3を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図16に示すように、メモリカード2に、書き込みコマンド、続いてAU2の第1乃至第3RUと関連付けられたデータB1乃至データB3を供給する。メモリカード2は、これらのデータがデータA1乃至データA5とは別のファイルを構成するので、図25に示すように、メモリカード2は、AU2のための新たなワークAU2を用意する。続いて、メモリカード2は、ワークAU2内の、AU2内でデータB1乃至データB3を書き込まれているRUと同じ第1乃至第3RUにデータB1乃至データB3をそれぞれ書き込む。
次に、ホスト1は、データA1乃至データA5が一部を構成するファイルの書き込みを継続しながら、データB1乃至データB3が構成するファイルの書き込みを終了するために、ワークAUクローズ・コマンドをメモリ2に供給する。このコマンドを受けると、メモリカード2は、このコマンドの直前にデータを書き込まれたワークAUに対するクローズ処理を行なう。この結果、ワークAU2の代わりに、さらなるワークAUを設けることができる。例えば、メモリカード2が平行して書き込み可能なファイルデータの数が2であった場合、ワークAU2に対するクローズ処理の後、ファイルデータの書き込みが可能な状態になる。
クローズ・コマンドは、クローズ処理対象のワークAUを指定する引数を有している。この引数において、上記のように直前にデータを書き込まれたワークAUを指定すること、ワークAUが複数ある場合に任意のワークAUを指定すること、全てのワークAUを指定することができる。
図26に示すように、ホスト1は、AU1の第6、第7RUにデータA6、データA7を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図22に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第6、第7RUと関連付けられたデータA6、データA7を供給する。この書き込み要求を受け取ると、図27に示すように、メモリカード2は、ワークAU1内の、AU1内でデータA6、データA7を書き込まれているRUと同じ第6、第7RUにデータA6、データA7をそれぞれ書き込む。
書き込み要求が終了したので、図22に示すように、ホスト1は、シーケンシャル書き込み終了コマンドをメモリカード2に供給する。このコマンドを受け取ると、図21に示すように、メモリカード2は、全てのワークAU(本例ではワークAU1のみ)に対してクローズ処理を行ない、次いで、ランダム書き込みモードに移行する。
以上延べたように、第1実施形態に係るメモリカードによれば、ランダム書き込みモードとシーケンシャル書き込みモードが設けられる。シーケンシャル書き込みモードでは、データの更新が要求された場合に、更新される部分のRUが属するAUに属するRUの更新されないデータは、新たなAUにコピーされない。したがって、シーケンシャル書き込みモードでは、常に、連続する未書き込みRUにデータが書き込まれる。このような書き込みの速度は、フラッシュメモリ21が達成可能な最大書き込み速度である。ホスト1にとって最大性能で書き込めるメリットは大きい。最大書き込み速度は、フラッシュメモリ21の性能に依存し、ほぼ一定である。このため、最大書き込み速度と、ホスト1が書き込みを求めるデータの容量から算出された必要なAU(RU)の数から、要求された書き込みを完了するのに要する時間を容易に算出できる。また、書き込み時間の算出が容易なため、この算出に必要な時間も短い。
また、メモリカード2において、連続するRUページに、書き込みデータの論理アドレスの順にデータが書き込まれる。このようなデータの書き込みは、メモリ21の最大の書き込み速度を引き出すことができる。さらに、シーケンシャル書き込みモードではデータのコピーが行なわれないので、メモリカード2は、書き込み要求に対して書き込みだけを継続できる。この書き込み速度は、上記のように、メモリ21の最大の書き込み速度であるので、シーケンシャル書き込みモードではメモリカード2は、最大の書き込み速度で書き込みを継続することができる。
また、メモリカード2は、シーケンシャル書き込みモードにおいて最大の書き込み速度を維持できる。このため、第2例のように、2つ以上の別個のファイルのデータに対して、各ファイルデータに専用のワークAUが設けられることによって、2つ以上のファイルデータを平行して保存することが可能になる。
また、第1実施形態に係るメモリカードによれば、ワークAUクローズ・コマンドが設けられる。このコマンドによって、ファイルデータを平行して書き込んでいるメモリカード2は、シーケンシャル書き込み終了コマンドの供給を待たずに、任意のワークAUに対してクローズ処理を行なうことができる。この結果、書き込みが終了したファイルデータ用のワークAUを開放して、別のファイルデータ用のワークAUを新たに設けることができる。このことは、ハードウェアで本機能を実現する場合、同時に書き込み可能なストリーム数には限りがあるため、有効である。
(第2実施形態)
第2実施形態では、特定の書き込み準備状態への移行のための専用のコマンドが設けられる。第2実施形態に係るメモリカードは、第1実施形態(図1乃至図5)と同じ構造を有し、動作が異なる。
[1]第1例
図28乃至図34を参照して第2実施形態の第1例の動作について説明する。図28は、第2実施形態に係るメモリカードが受信するコマンド、データの第1例を示している。図29乃至図34は、第2実施形態に係るメモリカード2での第1例の書き込み時の一状態を順に示している。図29乃至図34内の、ワークAUを除くAUは、ファイルシステム12が認識しているAUを表現しており、またメモリカード2内でこのAU内のデータを記憶しているAUも表現している。
まず、図29に示すように、AU1の第1乃至第8RUにデータ1乃至データ8が書き込まれており、AU2の第1乃至第8RUにはデータ9乃至データ16が書き込まれている。続いて、図28に示すように、ホスト1は、書き込み準備コマンドをメモリカード2に供給する。メモリカード2は、書き込み準備コマンドを受けると、すぐに書き込みを開始できる状態に移行するための準備を行なう。メモリカード2は、リアルタイム書き込み(即時書き込み)可能状態(リアルタイム書き込み可能モード)への移行処理を行なっている間は、ホスト1に、例えばビジー状態を示す信号を送信することによって、準備中である旨を伝える。ビジー状態が解除されると、ホスト1は書き込みを開始する。
図29に示すように、ホスト1は、AU1の第4乃至第6RUにデータ20乃至データ22を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図28に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第4乃至第6RUと関連付けられたデータ20乃至データ22を供給する。
リアルタイム書き込み可能状態のメモリカード2は、書き込み要求を受け取ると、図29に示すように、後に述べる継続コマンドを受けた場合を除いて、書き込み対象のAU(AU1)のためのワークAU(ワークAU1)を用意する。
この書き込み要求は、AUの先頭ではないRUからの書き込みを要求している。即時書き込み状態のメモリカード2は、書き込みデータのRU(本例では第4乃至第6RU)が属するAU(AU1)のうちで、書き込みデータのRUより上位のRU(第1乃至第3RU)のデータはワークAU(ワークAU1)にコピーしない。したがって、図30に示すように、メモリカード2は、ワークAU内の、AU1内でデータ20乃至データ22を書き込まれているRUと同じ第4乃至第6RUにデータ20乃至データ22をそれぞれ書き込む。
ホスト1は、AU1の第7、第8RUのデータ7、データ8をデータ23、データ24データで更新するとともに、AU2の第1乃至第3RUのデータ9乃至データ11をデータ25乃至データ27で更新することを希望している。この更新を行なうために、ホスト1は、図28に示すように、メモリカード2に、書き込みコマンド、AU1の第7、第8RUと関連付けられたデータ23、データ24、AU2の第1乃至第3RUと関連付けられたデータ25乃至データ27を供給する。この書き込み要求を受け取ると、図32に示すように、メモリカード2は、ワークAU内の、AU1内でデータ23、データ24を書き込まれているRUと同じ第7、第8RUにデータ23、データ24をそれぞれ書き込む。この時点で、ワークAU1の最後のRUに書き込まれたので、メモリカード2は、ワークAUに対してクローズ処理を行なう。さらに、メモリカード2は、AU2のための新たなワークAUを用意する。
図33に示すように、メモリカード2は、ワークAU内の、AU2内でデータ25乃至データ27を書き込まれているRUと同じ第1乃至第3RUにデータ25乃至データ27をそれぞれ書き込む。
書き込み要求が終了したので、図28に示すように、ホスト1は、クローズ・コマンドをメモリカード2に供給する。クローズ・コマンドは、第1実施形態と同様にクローズ処理対象のワークAUを指定する引数を有しており、さらに、コピーの有りまたは無しを設定する引数を有している。図28で供給されるクローズ・コマンドでは、コピー無しが指定されている。図33に示すように、メモリカード2は、このコマンドを受け取ると、直前の書き込みコマンドによる書き込みの対象となっているAU(AU2)内の更新されないRU(第3乃至第8RU)のデータ12乃至データ16をワークAU2にコピーせずに、ワークAU2に対してクローズ処理を行なう。
第2実施形態においては、リアルタイム書き込み可能状態以外の動作は、第1実施形態のランダム書き込みモードと同じである。
[2]第2例
次に、第1例を応用して複数のファイルデータを平行して記録することについて、図34乃至図39を参照して説明する。図34は、第2実施形態に係るメモリカードが受信するコマンド、データの第2例を示している。図35乃至図39は、第2実施形態に係るメモリカード2での第2例の書き込み時の一状態を順に示している。図35乃至図39内の、ワークAUを除くAUは、ファイルシステム12が認識しているAUを表現しており、またメモリカード2内でこのAU内のデータを記憶しているAUも表現している。
図34に示すように、メモリカード2は、ホスト1から受け取った書き込み準備コマンドによってリアルタイム書き込み可能状態に移行する。
図35に示すように、ホスト1は、AU1の第1乃至第5RUにデータA1乃至データA5を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図34に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第1乃至第5RUと関連付けられたデータA1乃至データA5を供給する。AU1の第1乃至第8RUにデータX1乃至データX8が書き込まれている。
上記のように、リアルタイム書き込み可能状態のメモリカード2は、後述の継続コマンドを受けた場合を除いて、新たなワークAUを用意する。このため、図36に示すように、メモリカード2は、AU1のためのワークAU1を用意する。続いて、メモリカード2は、ワークAU1内の、AU1内でデータA1乃至データA5を書き込まれているRUと同じ第1乃至第5RUにデータA1乃至データA5をそれぞれ書き込む。
ホスト1は、データA1乃至データA5が一部を構成するファイルデータとは別のファイルデータを平行して書き込むことを望んでいる。このため、ワークAU1に引き続き書き込みを行なうことを予定している。このために、図34に示すように、ホスト1は、継続コマンドをメモリカード2に供給する。継続コマンドは、クローズ・コマンドにおいて、クローズ処理の命令か、ワークAUの継続の命令かを指定する引数を設けることによって実現できる。または、クローズ・コマンドとは別のコマンドが設けられてもよい。図36に示すように、メモリカード2は、継続コマンドを受け取ると、ワークAU1に対してクローズ処理を行なわずに、このコマンドの直前に書き込み要求を受けた対象であるAU1のためのワークAU1を引き続き保持する。
図36に示すように、ホスト1は、AU2の第1乃至第3RUにデータB1乃至データB3を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図34に示すように、メモリカード2に、書き込みコマンド、続いてAU2の第1乃至第3RUと関連付けられたデータB1乃至データB3を供給する。
上記のように、リアルタイム書き込み可能状態のメモリカード2は、書き込みコマンドを受けると、継続コマンドによってワークAUの継続使用を要求された場合を除いて、新たなワークAUを作成する。データB1乃至データB3はデータA1乃至A3が属するAU(AU1)とは別のAU(AU2)に属するので、図37に示すように、メモリカード2は、書き込みデータB1乃至データB3を受け取ると、ワークAU2を用意する。メモリカード2は、ワークAU2内の、AU2内でデータB1乃至データB3を書き込まれているRUと同じ第1乃至第3RUにデータB1乃至データB3をそれぞれ書き込む。
続いて、データA5に続くデータを書き込むために、図34に示すように、ホスト1は、継続コマンドをメモリカード2に供給する。図37に示すように、メモリカード2は、継続コマンドを受け取ると、このコマンドの直前に書き込み要求の対象であったAUのためのワークAU2を引き続き保持する。
図37に示すように、ホスト1は、AU1の第6、第7RUにデータA6、データA7を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図34に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第6、第7RUと関連付けられたデータA6、データA7を供給する。
図38に示すように、メモリカード2は、AU1のためのワークAU1を維持しているので、メモリカード2は、書き込みコマンドを受けて新たなワークAUを作成しない。代わりに、メモリカード2は、ワークAU1内の、AU1内でデータA6、データA7を書き込まれているRUと同じ第6、第7RUにデータA6、データA7をそれぞれ書き込む。
続いて、データB3に続くデータを書き込むために、図34に示すように、ホスト1は、継続コマンドをメモリカード2に供給する。図38に示すように、メモリカード2は、継続コマンドを受け取ると、このコマンドの直前に書き込み要求の対象であったAUのためのワークAU1を引き続き保持する。
次に、図38に示すように、ホスト1は、AU2の第4、第5RUにデータB4、データB5を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図34に示すように、メモリカード2に、書き込みコマンド、続いてAU2の第4、第5RUと関連付けられたデータB4、データB6を供給する。
図39に示すように、メモリカード2は、AU2のためのワークAU2を維持しているので、メモリカード2は、維持しているワークAU2内の、AU2内でデータB4、データB5を書き込まれているRUと同じ第4、第5RUにデータB4、データB5をそれぞれ書き込む。
図38に示すように、ホスト1は、AU2の第6RUにデータB6を書き込むことを希望している。ホスト1は、直前に書き込まれたRUを含んでいるAU内のRUへの書き込みを要求する場合、継続コマンドを供給せずに、書き込みコマンドを続けて供給することによってこれを行なうことができる。そこで、この書き込みを行なうために、ホスト1は、図34に示すように、メモリカード2に、書き込みコマンド、続いてAU2の第6RUと関連付けられたデータB6を供給する。メモリカード2は、この書き込み要求を受け取ると、ワークAU2内の、AU2内でデータB6を書き込まれているRUと同じ第6RUにデータB6を書き込む。
書き込み要求が終了したので、図34に示すように、ホスト1は、クローズ・コマンドをメモリカード2に供給する。図34の例では、クローズ・コマンドのクローズ対象のワークAUの引数は全ワークAUを指定しており、また、コピー無しの指定も引数に記載されている。図39に示すように、メモリカード2は、このコマンドを受け取ると、AU1内の更新されないRU(第8RU)のデータX8をワークAU1にコピーせずに、ワークAU1、ワークAU2に対してクローズ処理を行なう。
[3]第3例
次に、第1例を応用して複数のファイルデータを平行して記録する別の例について、図40乃至図47を参照して説明する。図40は、第2実施形態に係るメモリカードが受信するコマンド、データの第3例を示している。図41乃至図47は、第2実施形態に係るメモリカード2での第3例の書き込み時の一状態を順に示している。これらの図のデータA1乃至A7は動画データであり、データB1乃至データB3、データC1乃至データC3は静止画データであるのが典型例である。図41乃至図48内の、ワークAUを除くAUは、ファイルシステム12が認識しているAUを表現しており、またメモリカード2内でこのAU内のデータを記憶しているAUも表現している。
図40に示すように、メモリカード2は、ホスト1から受け取った書き込み準備コマンドによってリアルタイム書き込み可能状態に移行する。
図41に示すように、ホスト1は、AU1の第1乃至第5RUにデータA1乃至データA5を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図40に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第1乃至第5RUと関連付けられたデータA1乃至データA5を供給する。AU1の第1乃至第8RUにデータX1乃至データX8が書き込まれている。
上記のように、リアルタイム書き込み可能状態のメモリカード2は、継続コマンドを受けた場合を除いて、新たなワークAUを用意するので、図42に示すように、メモリカード2は、AU1のためのワークAU1を用意する。続いて、メモリカード2は、ワークAU1内の、AU1内でデータA1乃至データA5を書き込まれているRUと同じ第1乃至第5RUにデータA1乃至データA5をそれぞれ書き込む。
ホスト1は、データA1乃至データA5が一部を構成するファイルデータとは別のファイルデータを平行して書き込むことを望んでいる。このために、図40に示すように、ホスト1は、継続コマンドをメモリカード2に供給する。図42に示すように、メモリカード2は、継続コマンドを受け取ると、ワークAU1を引き続き保持する。
図42に示すように、ホスト1は、AU2の第1乃至第3RUにデータB1乃至データB3を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図40に示すように、メモリカード2に、書き込みコマンド、続いてAU2の第1乃至第3RUと関連付けられたデータB1乃至データB3を供給する。AU2の第1乃至第8RUにデータY1乃至データY8が書き込まれている。
データB1乃至データB3は、先に書き込みを行なったAU1とは異なるAUに属するので、図43に示すように、メモリカード2は、書き込みデータB1乃至B3を受け取ると、ワークAU2を用意する。メモリカード2は、ワークAU2内の、AU2内でデータB1乃至データB3を書き込まれているRUと同じ第1乃至第3RUにデータB1乃至データB3をそれぞれ書き込む。
データB1乃至B3から構成されるファイルデータの書き込みが終了したので、図40に示すように、ホスト1は、クローズ・コマンドをメモリカード2に供給する。このクローズ・コマンドは、コピー無しを引数によって指定されている。このため、図44に示すように、メモリカード2は、このコマンドを受け取ると、直前の書き込みコマンドによる書き込みの対象となっているAU2内の更新されていないRU(第4乃至第8RU)のデータY4乃至データY8をワークAU2にコピーせずに、ワークAU2に対してクローズ処理を行なう。
図44に示すように、ホスト1は、AU1の第6、第7RUにデータA6、データA7を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図40に示すように、メモリカード2に、書き込みコマンド、続いてAU1の第6、第7RUと関連付けられたデータA6、データA7を供給する。
図44に示すように、メモリカード2は、AU1のためのワークAU1を維持しているので、メモリカード2は、書き込みコマンドを受けて新たなワークAUを作成しない。代わりに、メモリカード2は、ワークAU1内の、AU1内でデータA6、データA7を書き込まれているRUと同じ第6、第7RUにデータA6、データA7をそれぞれ書き込む。
データA1乃至A7から構成されるファイルデータの書き込みが終了し、図45に示すように、ホスト1は、AU3の第1乃至第3RUにデータC1乃至データC3を書き込むことを希望している。この書き込みを行なうために、ホスト1は、図40に示すように、メモリカード2に、書き込みコマンド、続いてAU2の第1乃至第3RUと関連付けられたデータC1乃至データC3を供給する。AU3の第1乃至第8RUにデータZ1乃至データZ8が書き込まれている。
データC1乃至データC3は、先に書き込みを行なったAU1とは異なるAUに属する。また、AU1の中には、更新されなかったデータX8が残っている。この状態で、継続コマンドを受けずに書き込みコマンドを受けたメモリカード2は、この最後に書き込みを行なったAU1内の更新されていないデータをワークAUにコピーする。すなわち、図46に示すように、メモリカード2は、ワークAU1内の、AU1内でデータX8を割り当てられたRUと同じ第8RUにデータX8をコピーする。この後、メモリカード2は、ワークAU1をクローズ処理する指示を持つクローズ・コマンドを受けていないので、ワークAU1に対してクローズ処理を行なわない。なお、このコピー動作は、リアルタイム書き込みの終了後なので、書き込みや、書き込み時間の算出に影響を与えない。AU1内のデータX8をワークAU1にコピーすることを、クローズ・コマンドを用いて行なうこともできる。すなわち、データC1乃至データC3を書き込むための書き込みコマンドの供給に先立って、ホスト1は、引数においてコピー有りを指定されたクローズ・コマンドをメモリカード2に供給する。メモリカード2は、このようなクローズ・コマンドを受け取ると、対象のAU(AU1)内の最後に書き込まれたRU(第7RU)以降のRU(第8RU)のデータX8をワークAU1の同じ第8RUにコピーする。
続いて、メモリカード2は、AU3のためのワークAU3を用意する。データC1乃至データC3は、AU3の先頭のRUからの書き込みなのでコピーは必要ない。このため、図47に示すように、メモリカード2は、ワークAU3内の、AU3内でデータC1乃至C3を書き込まれているRUと同じ第1乃至第3RUにデータC1乃至データC3をそれぞれ書き込む。
データA1乃至A7から構成されるファイルデータ、およびデータC1乃至C3から構成されるファイルデータの書き込みが終了したので、図40に示すように、ホスト1は、クローズ・コマンドをメモリカード2に供給する。このクローズ・コマンドは、コピー無しの指示を引数において指定されており、かつ、全てのワークAU(本例ではワークAU1、AU3)に対してクローズ処理を行なう指示を引数において指定されている。このため、図47に示すように、メモリカード2は、このコマンドを受け取ると、ワークAU1に対してクローズ処理を行なうとともに、ワークAU3内の更新されていないRU(第4乃至第8RU)のデータZ4乃至データZ8をワークAU3にコピーせずに、ワークAU3に対してクローズ処理を行なう。
以上述べたように、第2実施形態に係るメモリカードによれば、リアルタイム書き込み状態が定義されている。リアルタイム書き込み状態のメモリカードは、書き込みコマンドを受け取ると、未書き込みのRUのみからなるワークAUを用意して、ワークAU内のRUに書き込みデータを書き込みデータの論理アドレスの順に従って書き込む。このような連続する未書き込みRUへの書き込みの速度は、フラッシュメモリ21が達成可能な最大書き込み速度である。最大書き込み速度は、フラッシュメモリ21の性能に依存し、ほぼ一定である。このため、最大書き込み速度と、ホスト1が書き込みを求めるデータの容量から算出された必要なAU(RU)の数から、要求された書き込みを完了するのに要する時間を容易に算出できる。また、書き込み時間の算出が容易なため、この算出に必要な時間も短い。
また、第2実施形態に係るメモリカードでは、継続コマンドが設けられる。継続コマンドによって、ワークAUに対してクローズ処理を行なわずに別のワークAUを用意することができる。このため、2つ以上の別個のファイルのデータに対して、各ファイルデータに専用のワークAUが設けられることによって、2つ以上のファイルデータを平行して保存することが可能になる。
なお、継続コマンドは、作成済みのワークAUへの書き込みを一時的に停止することをもたらすのみである。このため、メモリカードが第2例のように、継続コマンドを受け取ったとしても、結局は、第1例のように一時停止せずに未書き込みの連続するRUのみに書き込みを行なうことと同じである。
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
第1実施形態に係るメモリカードの主要な機能ブロックを、ホスト装置の機能ブロックとともに示す図。 レジスタの詳細を例示する図。 メモリ空間の構成を示す図。 ホストが認識している記憶領域とメモリカードの記憶領域を示す図。 第1実施形態のメモリカードが取り得るモードの遷移図。 第1実施形態のメモリカードでの第1例の書き込み時の一状態を例示する図。 図6に続く状態を例示する図。 図7に続く状態を例示する図。 図8に続く状態を例示する図。 第1実施形態のメモリカードが受信するコマンド、データの第1例を示す図。 第1実施形態のメモリカードでの第1例の書き込み時の一状態を示す図。 図11に続く状態を例示する図。 図12に続く状態を例示する図。 図13に続く状態を例示する図。 図14に続く状態を例示する図。 第1実施形態のメモリカードが受信するコマンド、データの第2例を示す図。 第1実施形態のメモリカードでの第2例の書き込み時の一状態を示す図。 図17に続く状態を例示する図。 図18に続く状態を例示する図。 図19に続く状態を例示する図。 図20に続く状態を例示する図。 第1実施形態のメモリカードが受信するコマンド、データの第3例を示す図。 第1実施形態のメモリカードでの第3例の書き込み時の一状態を示す図。 図23に続く状態を例示する図。 図24に続く状態を例示する図。 図25に続く状態を例示する図。 図26に続く状態を例示する図。 第2実施形態のメモリカードが受信するコマンド、データの第1例を示す図。 第2実施形態のメモリカードでの第1例の書き込み時の一状態を示す図。 図29に続く状態を例示する図。 図30に続く状態を例示する図。 図31に続く状態を例示する図。 図32に続く状態を例示する図。 第2実施形態のメモリカードが受信するコマンド、データの第2例を示す図。 第2実施形態のメモリカードでの第2例の書き込み時の一状態を示す図。 図35に続く状態を例示する図。 図36続く状態を例示する図。 図37に続く状態を例示する図。 図38に続く状態を例示する図。 第2実施形態のメモリカードが受信するコマンド、データの第3例を示す図。 第2実施形態のメモリカードでの第3例の書き込み時の一状態を示す図。 図41に続く状態を例示する図。 図42続く状態を例示する図。 図43に続く状態を例示する図。 図44に続く状態を例示する図。 図45に続く状態を例示する図。 図46に続く状態を例示する図。
符号の説明
1…ホスト装置、2…メモリカード、11…ソフトウェア、12…ファイルシステム、13…SDインターフェース、21…フラッシュメモリ、22…コントローラ、31…SDインターフェース、32…MPU、33…ROM、34…RAM、35…NANDインターフェース、36…レジスタ、41…メモリ領域、42…ページバッファ、PG…ページ、BLK…ブロック、RU…RU、AU…AU。

Claims (10)

  1. 複数の記憶領域を有するメモリと、
    書き込みデータを受け取ると、前記書き込みデータの論理アドレスと前記書き込みデータを記憶する前記記憶領域との対応を管理しながら前記書き込みデータを前記記憶領域に書き込み、不特定の大きさの書き込みデータを論理アドレス順番の制限なしに前記記憶領域に書き込むことが可能で且つ複数の連続する前記記憶領域からなる管理単位記憶領域の中の書き込み対象でなかったデータを保持する第1モードを有し、特定の大きさの複数の書き込みデータを各々の論理アドレスの大きくなる順に前記記憶領域に書き込み且つ前記管理単位記憶領域の中の書き込まれなかったデータを無効なデータとして取り扱う第2モードを有するコントローラと、
    を具備することを特徴とするメモリデバイス。
  2. 前記コントローラが、前記記憶領域に対する書き込み速度に関する情報を保持するレジスタを具備することを特徴とする、請求項1のメモリデバイス。
  3. 前記コントローラが、前記第2モードへの移行を指示するコマンドを受け取ると前記第2モードに移行し、前記第1モードへの移行を指示するコマンドを受け取ると前記第1モードに移行することを特徴とする、請求項1のメモリデバイス。
  4. 前記コントローラが、前記第2モードにおいて複数の連続する論理アドレスを割り当てられた書き込みデータの書き込み要求を受けたとき、前記書き込みデータの前記論理アドレスが属する論理アドレス領域に対応して一時的に用意された作業領域に前記書き込みデータを書き込み、
    前記作業領域の中の最後の前記記憶領域への書き込みが完了するか、第1コマンドを受け取ると、その引数により未書き込み領域に対して前記書き込みデータの書き込み要求前の旧データのコピーを行うか行わないかを判断し、前記作業領域に論理アドレスを割り当てるとともに前記書き込みデータの前記書き込み要求前の旧データを記憶していた前記管理単位記憶領域を破棄する、
    ことを特徴とする請求項3のメモリデバイス。
  5. 前記コントローラが、
    相互に所定の関連を有する、ある管理単位領域に属する論理アドレスを割り当てられている複数の第1書き込みデータを前記作業領域に書き込み、
    相互に所定の関連を有し且つ前記第1書き込みデータの論理アドレスとは別な管理単位領域に属する論理アドレスを割り当てられている第2書き込みデータを前記作業領域とは別の作業領域に書き込む、
    ことを特徴とする、請求項4のメモリデバイス。
  6. 前記コントローラが、前記作業領域が複数あるときに前記第1コマンドを受け取ると、複数の前記作業領域の全てまたは指定されたものの各々について、前記旧データを保持していた前記管理単位記憶領域に割り当てられていた論理アドレスを前記作業領域に割り当てるとともに前記書き込みデータの前記旧データを記憶していた前記管理単位記憶領域を破棄することを特徴とする請求項4のメモリデバイス。
  7. 複数の記憶領域を有するメモリと、
    書き込みデータを受け取ると、前記書き込みデータの論理アドレスと前記書き込みデータを記憶する前記記憶領域との対応を管理しながら前記書き込みデータを前記記憶領域に書き込み、複数の連続する前記論理アドレスから構成される論理アドレス領域を認識し、第1コマンドを受け取るとリアルタイム書き込み可能状態に移行するコントローラと、
    を具備し、
    前記リアルタイム書き込み可能状態の前記コントローラは、書き込み要求を受けると、前記書き込みデータの前記論理アドレスが属する管理単位記憶領域に対応して一時的に用意された作業領域に、複数の書き込みデータを各々の論理アドレスの大きくなる順に前記作業領域中の前記記憶領域に書き込み、前記作業領域中の最後の前記記憶領域への書き込みが完了するか、第2コマンドを受け取ると前記作業領域に論理アドレスに割り当てる、ことを特徴とするメモリデバイス。
  8. 第1モードにおいて1つの前記作業領域を持ち、第2モードにおいて複数の前記作業領域を持つことにより複数のストリームの書き込みを可能にした請求項7のメモリデバイス。
  9. 前記コントローラが、1つの前記管理単位記憶領域に属する前記論理アドレスで書き込み位置を指定される書き込みデータを、前記管理単位記憶領域内の複数の連続する前記記憶領域に書き込み、
    前記コントローラが、一連の最後のデータの書き込み後に、
    引数によって前記書き込みデータの前記書き込み要求前の旧データの保持を指示する前記第2コマンドを受取ると、前記作業領域の中で最後に書き込まれた前記記憶領域より大きなアドレスの前記記憶領域に前記書き込みデータの前記書き込み要求前の旧データを保持していた前記管理単位記憶領域内のデータをコピーしてから前記作業領域に論理アドレスを割り当て、
    引数によって前記書き込みデータの前記書き込み要求前の旧データの破棄を指示する前記第2コマンドを受取ると、前記作業領域の中で最後に書き込まれた前記記憶領域より大きなアドレスの前記記憶領域に前記旧データを保持していた前記管理単位記憶領域内のデータをコピーせずに前記作業領域に論理アドレスを割り当てる、
    ことを特徴とする請求項8のメモリデバイス。
  10. 前記作業領域が複数あるときに引数によって区別される前記第2コマンドを受け取ると、複数の前記作業領域の各々について、前記書き込みデータの書き込み要求前の旧データを未書き込みの前記記憶領域にコピーせずに前記旧データを保持していた前記管理単位記憶領域に割り当てられていた論理アドレスを前記作業領域に割り当てるとともに前記書き込みデータの前記書き込み要求前の旧データを記憶していた前記管理単位記憶領域を破棄する、ことを特徴とする請求項8のメモリデバイス。
JP2008316066A 2008-12-11 2008-12-11 メモリデバイス Active JP5175703B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP2008316066A JP5175703B2 (ja) 2008-12-11 2008-12-11 メモリデバイス
CN200980149510.2A CN102246151B (zh) 2008-12-11 2009-12-11 存储器装置及其控制方法
PCT/JP2009/071069 WO2010067899A1 (en) 2008-12-11 2009-12-11 Memory device and controlling method of the same
KR1020117013369A KR101409095B1 (ko) 2008-12-11 2009-12-11 메모리 장치 및 그 제어 방법
EP09831999.9A EP2356571B1 (en) 2008-12-11 2009-12-11 Memory device and controlling method of the same
TW098142639A TWI430089B (zh) 2008-12-11 2009-12-11 記憶體裝置及其控制方法
TW102148823A TWI534616B (zh) 2008-12-11 2009-12-11 控制器
US13/158,126 US9110781B2 (en) 2008-12-11 2011-06-10 Memory device and controlling method of the same
US15/464,095 USRE48983E1 (en) 2008-12-11 2017-03-20 Memory device and controlling method of the same
US17/377,952 USRE49921E1 (en) 2008-12-11 2021-07-16 Memory device and controlling method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008316066A JP5175703B2 (ja) 2008-12-11 2008-12-11 メモリデバイス

Publications (2)

Publication Number Publication Date
JP2010140268A true JP2010140268A (ja) 2010-06-24
JP5175703B2 JP5175703B2 (ja) 2013-04-03

Family

ID=42242880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008316066A Active JP5175703B2 (ja) 2008-12-11 2008-12-11 メモリデバイス

Country Status (7)

Country Link
US (3) US9110781B2 (ja)
EP (1) EP2356571B1 (ja)
JP (1) JP5175703B2 (ja)
KR (1) KR101409095B1 (ja)
CN (1) CN102246151B (ja)
TW (2) TWI430089B (ja)
WO (1) WO2010067899A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010146767A1 (ja) * 2009-06-18 2010-12-23 パナソニック株式会社 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ
WO2011013350A1 (ja) * 2009-07-29 2011-02-03 パナソニック株式会社 メモリ装置、ホスト装置およびメモリシステム
WO2013161398A1 (ja) * 2012-04-25 2013-10-31 ソニー株式会社 シーケンシャル書き込みを行う不揮発性メモリ装置
WO2020213364A1 (ja) * 2019-04-17 2020-10-22 キヤノン株式会社 記録装置、記録方法、プログラム、及びメモリカード

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5175703B2 (ja) * 2008-12-11 2013-04-03 株式会社東芝 メモリデバイス
JP2011175615A (ja) * 2010-01-27 2011-09-08 Toshiba Corp ホスト装置およびメモリデバイス
US8938606B2 (en) * 2010-12-22 2015-01-20 Intel Corporation System, apparatus, and method for segment register read and write regardless of privilege level
CN102096722B (zh) * 2011-03-21 2013-03-27 华为数字技术(成都)有限公司 文件存储方法和装置
JP2012248258A (ja) * 2011-05-31 2012-12-13 Funai Electric Co Ltd 光ディスク装置
JP5976608B2 (ja) 2012-10-30 2016-08-23 株式会社東芝 メモリデバイス
KR102549540B1 (ko) * 2017-09-22 2023-06-29 삼성전자주식회사 스토리지 장치 및 그 동작 방법
CN108683811A (zh) * 2018-05-14 2018-10-19 Oppo广东移动通信有限公司 移动终端及其生物信息识别方法、解锁方法以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308240A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置
WO2005106673A1 (ja) * 2004-04-28 2005-11-10 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置及びデータ書込み方法
JP2006099210A (ja) * 2004-09-28 2006-04-13 Matsushita Electric Ind Co Ltd 記憶装置
WO2008033952A2 (en) * 2006-09-15 2008-03-20 Sandisk Corporation Non-volatile memory and method for class-based update block replacement rules
WO2009013877A1 (ja) * 2007-07-20 2009-01-29 Panasonic Corporation メモリコントローラ、メモリカード、不揮発性メモリシステム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745418A (en) * 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
US6230245B1 (en) * 1997-02-11 2001-05-08 Micron Technology, Inc. Method and apparatus for generating a variable sequence of memory device command signals
JP3524337B2 (ja) * 1997-07-25 2004-05-10 キヤノン株式会社 バス管理装置及びそれを有する複合機器の制御装置
FR2772384B1 (fr) 1997-12-16 2000-02-04 Bp Chemicals Snc Procede de demarrage d'une polymerisation d'olefine en phase gazeuse
JP3585091B2 (ja) * 1998-06-15 2004-11-04 富士通株式会社 記憶装置
JP2000216935A (ja) * 1999-01-25 2000-08-04 Canon Inc 複合機器の情報処理システム
JP2000215149A (ja) * 1999-01-25 2000-08-04 Canon Inc 複合機器の制御装置
JP2000211216A (ja) * 1999-01-25 2000-08-02 Canon Inc 複合機器の情報処理方法及びシステム
US6850995B1 (en) * 1999-01-25 2005-02-01 Canon Kabushiki Kaisha Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process
US7457897B1 (en) * 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US6633500B1 (en) 2002-04-26 2003-10-14 Macronix International Co., Ltd. Systems and methods for refreshing a non-volatile memory using a token
JP2005301497A (ja) * 2004-04-08 2005-10-27 Hitachi Ltd ストレージ管理装置、リストア方法及びそのプログラム
CN100437517C (zh) * 2004-04-28 2008-11-26 松下电器产业株式会社 非易失性存储装置和数据写入方法
US7797483B1 (en) * 2004-06-23 2010-09-14 Emc Corporation Write interceptor for tracking changes to disk image
JP4874588B2 (ja) 2004-07-12 2012-02-15 株式会社東芝 記憶デバイスおよびホスト機器
EP1769331B1 (en) 2004-07-12 2011-06-29 Kabushiki Kaisha Toshiba Storage device and host apparatus
US20060059384A1 (en) * 2004-08-16 2006-03-16 Fabrice Helliker Full backup from incremental /differential backups
US7779056B2 (en) * 2006-09-15 2010-08-17 Sandisk Corporation Managing a pool of update memory blocks based on each block's activity and data order
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
US8090917B2 (en) * 2008-05-09 2012-01-03 International Business Machines Corporation Managing storage and migration of backup data
JP5175703B2 (ja) * 2008-12-11 2013-04-03 株式会社東芝 メモリデバイス
JP2011175615A (ja) * 2010-01-27 2011-09-08 Toshiba Corp ホスト装置およびメモリデバイス

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308240A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置
WO2005106673A1 (ja) * 2004-04-28 2005-11-10 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置及びデータ書込み方法
JP2006099210A (ja) * 2004-09-28 2006-04-13 Matsushita Electric Ind Co Ltd 記憶装置
WO2008033952A2 (en) * 2006-09-15 2008-03-20 Sandisk Corporation Non-volatile memory and method for class-based update block replacement rules
WO2009013877A1 (ja) * 2007-07-20 2009-01-29 Panasonic Corporation メモリコントローラ、メモリカード、不揮発性メモリシステム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010146767A1 (ja) * 2009-06-18 2010-12-23 パナソニック株式会社 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ
JP4758518B2 (ja) * 2009-06-18 2011-08-31 パナソニック株式会社 不揮発性記憶装置、アクセス装置、不揮発性記憶システム及びメモリコントローラ
US8554987B2 (en) 2009-06-18 2013-10-08 Panasonic Corporation Nonvolatile memory system for improving stream data writing
WO2011013350A1 (ja) * 2009-07-29 2011-02-03 パナソニック株式会社 メモリ装置、ホスト装置およびメモリシステム
JP5362010B2 (ja) * 2009-07-29 2013-12-11 パナソニック株式会社 メモリ装置、ホスト装置およびメモリシステム
WO2013161398A1 (ja) * 2012-04-25 2013-10-31 ソニー株式会社 シーケンシャル書き込みを行う不揮発性メモリ装置
JPWO2013161398A1 (ja) * 2012-04-25 2015-12-24 ソニー株式会社 シーケンシャル書き込みを行う不揮発性メモリ装置
US10372367B2 (en) 2012-04-25 2019-08-06 Sony Corporation Non-volatile memory device, non-volatile memory control device, and non-volatile memory control method
US11455112B2 (en) 2012-04-25 2022-09-27 Sony Group Corporation Non-volatile memory device, non-volatile memory control device, and non-volatile memory control method
WO2020213364A1 (ja) * 2019-04-17 2020-10-22 キヤノン株式会社 記録装置、記録方法、プログラム、及びメモリカード

Also Published As

Publication number Publication date
US9110781B2 (en) 2015-08-18
WO2010067899A1 (en) 2010-06-17
USRE49921E1 (en) 2024-04-16
TWI430089B (zh) 2014-03-11
KR20110088566A (ko) 2011-08-03
EP2356571A1 (en) 2011-08-17
TW201027336A (en) 2010-07-16
TWI534616B (zh) 2016-05-21
JP5175703B2 (ja) 2013-04-03
USRE48983E1 (en) 2022-03-22
EP2356571B1 (en) 2020-01-22
CN102246151A (zh) 2011-11-16
KR101409095B1 (ko) 2014-06-17
TW201441814A (zh) 2014-11-01
CN102246151B (zh) 2016-04-20
EP2356571A4 (en) 2012-07-04
US20110238933A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
JP5175703B2 (ja) メモリデバイス
JP4192129B2 (ja) メモリ管理装置
US8356134B2 (en) Memory device with non-volatile memory buffer
KR101354152B1 (ko) 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치
JP3898305B2 (ja) 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
US8208322B2 (en) Non-volatile memory control
JP5418808B2 (ja) 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
JP2011175615A (ja) ホスト装置およびメモリデバイス
US20030065899A1 (en) Memory system sectors
US20060184719A1 (en) Direct data file storage implementation techniques in flash memories
JP4977703B2 (ja) 予定再生操作を伴う不揮発性メモリ
JPWO2005103903A1 (ja) 不揮発性記憶システム
JP4843222B2 (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
US20120151166A1 (en) Nonvolatile storage device and memory controller
US20050268026A1 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
US20080059693A1 (en) Method for improving lifespan of flash memory
JP2002202912A (ja) 記録装置、記録制御方法、及びプログラム
JP2008299513A (ja) データ記憶装置およびその制御方法
JP2008299511A (ja) データ記憶装置およびその制御方法
JP2011118953A (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
JP2011199377A (ja) 記録装置
KR20000055939A (ko) 플래시 메모리의 라이트장치 및 방법
JP2011113129A (ja) 情報記録装置及び情報記録方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130107

R151 Written notification of patent or utility model registration

Ref document number: 5175703

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350