JP5443998B2 - 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム - Google Patents

不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム Download PDF

Info

Publication number
JP5443998B2
JP5443998B2 JP2009545754A JP2009545754A JP5443998B2 JP 5443998 B2 JP5443998 B2 JP 5443998B2 JP 2009545754 A JP2009545754 A JP 2009545754A JP 2009545754 A JP2009545754 A JP 2009545754A JP 5443998 B2 JP5443998 B2 JP 5443998B2
Authority
JP
Japan
Prior art keywords
memory
data
host device
command
nonvolatile
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.)
Active
Application number
JP2009545754A
Other languages
English (en)
Other versions
JPWO2010013445A1 (ja
Inventor
昌之 外山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2009545754A priority Critical patent/JP5443998B2/ja
Publication of JPWO2010013445A1 publication Critical patent/JPWO2010013445A1/ja
Application granted granted Critical
Publication of JP5443998B2 publication Critical patent/JP5443998B2/ja
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
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、不揮発性メモリに対してデータの書き込みおよびデータの読み出しを行うメモリコントローラ、該メモリコントローラと不揮発性メモリを備えた不揮発性記憶装置(メモリ装置)、該不揮発性記憶装置と接続して不揮発性メモリに対してデータの書き込みおよびデータの読み出しを行うホスト装置および、該ホスト装置とメモリ装置を含んで構成される不揮発性記憶システム(メモリシステム)に関する。また、不揮発性記憶システムに用いられるデータ記録方法、およびプログラムに関する。
デジタルカメラ、ムービー、携帯電話などのデジタル情報を制御する機器(以下、「ホスト装置」という)において、デジタル情報を保持する記憶装置として、NANDフラッシュメモリなどの不揮発性メモリが多く使われている。近年では、半導体プロセスの微細化による不揮発性メモリの仕様変更頻度が高くなっているため、不揮発性メモリとメモリコントローラとを搭載したメモリ装置が使われることが多くなってきている。このようなメモリ装置には、ホスト装置と着脱可能なリムーバブルカードや、ホスト装置の基板に直付けして使用するエンベデッドタイプのものがある。
近年では、内蔵する不揮発性メモリの容量が増加し、不揮発性メモリの動画記録用途への応用が広がっている。不揮発性メモリを搭載した装置に対して動画を記録する場合には、一定の書き込み速度を保証しながら書き込みを行う、いわゆるリアルタイム記録が必要となる。特許文献1には、このような不揮発性メモリを用いたメモリ装置へリアルタイム記録を行う方法が開示されている。
ホスト装置がメモリ装置へリアルタイム記録を行う場合、実際には、通常のデータ(管理情報等の特殊データを除くデータであり、例えば、ユーザファイルを構成するデータや静止画データや動画データが「通常のデータ」に該当する。)とファイル管理情報とが交互に記録される。
図11に、従来技術におけるデータとファイル管理情報との書き込みシーケンスを示す。
図11に示すように、従来技術では、通常データDATの書き込み処理とファイル管理情報FATの書き込み処理とが交互に行われる。ファイル管理情報FATは、例えば、FATファイルシステムにおけるファイル管理情報であり、ファイル管理情報FATの書き込み処理は、二重化されたファイルアロケーションテーブルFAT1およびFAT2の書き込み処理と、ディレクトリエントリDIRの書き込み処理とで構成される。従来技術におけるメモリ装置では、通常データDATの書き込み処理とファイル管理情報FAT(FAT1、FAT2、DIR)の書き込み処理とを、アドレス、サイズ、シーケンスで判別して不揮発性メモリ上の異なる領域へ記録し、ファイル管理情報の書き込みが通常のデータ書き込み性能に影響しないようにしている。
特開2006−178923
しかしながら、前述した従来技術では、以下のような課題がある。すなわち、ファイル管理情報と通常のデータとは、同じライトコマンドを用いて、不揮発性メモリに書き込まれるため、メモリ装置がデータタイプの判定を誤ると、不揮発性メモリ上で適切なデータ管理ができない。このため、上記従来技術では、通常のデータ書き込み性能に影響が発生するという課題がある。
また、不揮発性メモリの大容量化が更に進むと、記録したファイルへのアクセスを効率よく行うための付加的な管理情報(以下、「付加情報」という)を書き込むことが考えられる。このような付加情報として、例えば、数GBの動画ファイル中の特定の位置(例えば、特定の再生時間)のデータに素早くアクセスするための連続領域の管理情報などが考えられる。
しかし、付加情報を記録するかどうかはホスト装置に依存するため、例えば、メモリ装置をあるホスト装置Aに接続して、「付加情報記録あり」でリアルタイム記録を行った後、メモリ装置を別のホスト装置Bに接続し「付加情報記録なし」でリアルタイム記録を行うケースが考えられる。このような場合には、ホスト装置Bは、ホスト装置Aが記録したメモリ装置の不揮発性メモリ上の付加情報を記録したメモリ領域に通常のデータを書き込むことがありうる。このような場合、メモリ装置は、付加情報を記録するための領域であると認識していたメモリ領域に、通常のデータが書かれることになるため、不揮発性メモリ上で適切なデータ管理ができず、通常のデータの書き込み性能が低下して、最悪の場合、記録動作中に記録処理が停止する可能性がある。
本発明は、以上の問題点を解決し、通常のデータの書き込み処理とファイル管理情報および付加情報の書き込み処理とが交互に行われる場合においても、リアルタイム記録(一定の書き込み速度を保証したデータ書き込み処理)を行うことが可能なメモリコントローラ、メモリ装置、ホスト装置およびメモリシステムを提供することを目的とする。
第1の発明は、ホスト装置と通信することができるように接続されており、ホスト装置からのコマンドに従って、データの読み書きおよび/またはデータの読み出しを行う不揮発性記憶装置であって、不揮発性メモリと、メモリ制御情報保持部と、アドレス管理部と、メモリ制御部と、を備える。
メモリ制御情報保持部は、不揮発性メモリに書き込まれたデータのデータタイプを管理するメモリ制御情報を保持する。アドレス管理部は、メモリ制御情報保持部の保持するメモリ制御情報の登録、更新、およびクリアを行うことができる。メモリ制御部は、ホスト装置が発行する、一定の書き込み速度を保証したデータ書き込み処理であるリアルタイム記録の開始を指示するメモリ管理コマンドを受信すると、少なくとも当該メモリ管理コマンドを受信した以降リアルタイム記録が終了するまでの間、ホスト装置が不揮発性記憶装置に連続して書き込むべきデータを第1のデータタイプと判別し、ホスト装置が管理する論理アドレス空間において同じ領域に書き込まれるデータを第2のデータタイプと判別する。
この不揮発性記憶装置では、ホスト装置が発行するリアルタイム記録の開始を指示するメモリ管理コマンドを受信すると、少なくとも当該メモリ管理コマンドを受信した以降リアルタイム記録が終了するまでの間、メモリ制御部により、ホスト装置が不揮発性記憶装置に連続して書き込むべきデータが第1のデータタイプと判別され、ホスト装置が管理する論理アドレス空間において同じ領域に書き込まれるデータが第2のデータタイプと判別される。したがって、この不揮発性記憶装置では、判別したデータを適切に用いることで、不揮発性メモリへの書き込みを適切に制御できる。
なお、「連続して書き込むべきデータ」とは、例えば、動画データのように、連続的に、ホスト装置から不揮発性記憶装置に書き込み処理を行うことで、効率良くデータ書き込み処理を実行することができるデータのことをいう。
また、「同じ領域に書き込まれるデータ」とは、論理アドレス空間において、書き込み先のアドレス(論理アドレス)が一意に決定されるデータ(情報)のことをいい、例えば、FATファイルシステムにより定義されるFAT(ファイル・アロケーション・テーブル)や、DIR(ディレクトリ・エントリ)が、これに該当する。なお、この「同じ領域に書き込まれるデータ」は、所定の論理アドレスに繰り返し上書きされる頻度が高い。特に、リアルタイム記録処理中には、この傾向が顕著となる。
第2の発明は、第1の発明であって、メモリ制御部は、第1のデータタイプのデータを不揮発性メモリ上の第1メモリ領域に記録し、第2のデータタイプのデータを不揮発性メモリ上の第1メモリ領域とは異なる領域である第2メモリ領域に記録する。
この不揮発性記憶装置では、ホスト装置が発行するリアルタイム記録の開始を指示するメモリ管理コマンドを受信すると、少なくとも当該メモリ管理コマンドを受信した以降リアルタイム記録が終了するまでの間、メモリ制御部により、ホスト装置が不揮発性記憶装置に連続して書き込むべきデータが第1のデータタイプと判別され、ホスト装置が管理する論理アドレス空間において同じ領域に書き込まれるデータが第2のデータタイプと判別される。したがって、この不揮発性記憶装置では、データタイプの異なるデータまたは情報が不揮発性メモリの所定の領域に混在して書き込まれるようなことはなく、不揮発性メモリへの書き込みを適切に制御できる。その結果、この不揮発性記憶装置により、データタイプの誤判定・ミスマッチによる性能低下を予防して、安定したリアルタイム記録が可能となる。
第3の発明は、第1または第2の発明であって、メモリ制御部は、ホスト装置が発行する、リアルタイム記録の開始を指示するメモリ管理コマンドを受信すると、メモリ制御情報に基づいて不揮発性メモリに対するガーベジコレクション処理および/またはメモリ制御情報のクリアを行う。
この不揮発性記憶装置では、リアルタイム記録の開始を指示するメモリ管理コマンドを受信すると、メモリ制御情報に基づいて不揮発性メモリに対するガーベジコレクション処理および/またはメモリ制御情報のクリアが実行されるため、不揮発性記憶装置をリアルタイム記録に適した状態にした後、リアルタイム記録を実行することができる。このため、この不揮発性記憶装置では、安定したリアルタイム記録を実行することができる。
第4の発明は、第1から第3のいずれかの発明であって、メモリ制御部は、ファイルデータを、第1のデータタイプとして判別し、ファイル管理情報を、第2のデータタイプとして判別する。
第5の発明は、第4の発明であって、メモリ制御部は、ディレクトリエントリおよび/または付加情報を、第2のデータタイプとして判別する。
第6の発明は、第1から第5のいずれかの発明であって、メモリ制御部は、データタイプを、データを書き込むアドレスで判別する。
第7の発明は、第1から第5のいずれかの発明であって、メモリ制御部は、データタイプを、書き込むデータのサイズで判別する。
第8の発明は、第1から第7のいずれかの発明であって、メモリ管理コマンドを受け取ると、アドレス管理部は、メモリ制御情報保持部が保持するすべてのメモリ制御情報をクリアする。
第9の発明は、第1から第7のいずれかの発明であって、メモリ管理コマンドを受け取ると、アドレス管理部は、メモリ制御情報保持部が保持する第1のメモリ制御情報をクリアする。
第10の発明は、第1から第7のいずれかの発明であって、メモリ管理コマンドを受け取ると、アドレス管理部は、メモリ制御情報保持部が保持する第2のメモリ制御情報をクリアする。
第11の発明は、第1から第7のいずれかの発明であって、メモリ管理コマンドを受け取ると、メモリ制御部は、不揮発性メモリに対するガーベジコレクション処理を行う。
第12の発明は、第1から第11のいずれかの発明であって、メモリ管理コマンドは、引数を含み、メモリ管理コマンドの引数には、リアルタイム書き込み開始を示すフラグが含まれる。
第13の発明は、第1から第11のいずれかの発明であって、メモリ管理コマンドの引数には、メモリ制御情報クリア指示フラグが含まれる。
第14の発明は、第1から第11のいずれかの発明であって、メモリ管理コマンドの引数には、付加情報書き込みの有無を示すフラグが含まれる。
第15の発明は、第1から第14のいずれかの発明であって、メモリ管理コマンドを受信すると、不揮発性記憶装置側の処理が完了するまでホスト装置にビジーを通知する。
なお、「前記不揮発性記憶装置側の処理」とは、不揮発性記憶装置をリアルタイム記録が可能な状態にするための処理であり、例えば、不揮発性メモリに対するガーベジコレクション処理および/またはメモリ制御情報のクリア処理である。
第16の発明は、第1から第15のいずれかの発明であって、ホスト装置と着脱可能なリムーバブルメモリ装置である。
第17の発明は、第1から第16のいずれかの発明である不揮発性記憶装置と通信することができるように接続されており、不揮発性記憶装置と、コマンド、応答、データの送受信を行うホスト装置であって、不揮発性記憶装置に連続して書き込む第1のデータタイプのデータと、ホスト装置が管理する論理アドレス空間において同じ領域に書き込む第2のデータタイプのデータとを、一定の書き込み速度を保証して、不揮発性記憶装置に書き込むホスト装置である。そして、このホスト装置は、不揮発性記憶装置をリアルタイム記録可能な状態とするためのメモリ管理コマンドを、リアルタイム記録を開始する前に、不揮発性記憶装置に対して発行するホスト制御部を備える。
このホスト装置では、不揮発性記憶装置に対してメモリ管理コマンドを発行するので、リアルタイム記録開始前に、不揮発性記憶装置をリアルタイム記録可能な状態にすることができる。その結果、このホスト装置では、不揮発性記憶装置に対して、安定したリアルタイム記録を実現させることができる。
第18の発明は、第17の発明であって、ホスト制御部は、メモリ管理コマンドを、リアルタイム記録を終了する時に、不揮発性記憶装置に発行する。
第19の発明は、第17または18の発明であって、第2のデータタイプには、ディレクトリエントリおよび/または付加情報が含まれる。
第20の発明は、第19の発明であって、ホスト制御部は、第2のデータタイプのうち、リアルタイム記録処理が実行されている期間において、前記不揮発性記憶装置に書き込むデータがディレクトリエントリおよび/または付加情報であることを通知するコマンドを不揮発性記憶装置に対して発行する。
これにより、このホスト装置では、ディレクトリエントリおよび/または付加情報の書き込む処理を実行する前に、これから書き込むデータがディレクトリエントリおよび/または付加情報であることを示すコマンドを、メモリ装置に対して発行することができる。
第21の発明は、第1から第16のいずれかの発明である不揮発性記憶装置と、第17から第20のいずれかの発明であるホスト装置と、を備える不揮発性記憶システムである。
第22の発明は、ホスト装置と通信することができるように接続されており、ホスト装置からのコマンドに従って、データの読み書きおよび/またはデータの読み出しを行う不揮発性記憶装置であって、不揮発性メモリと、不揮発性メモリに書き込まれたデータのデータタイプを管理するメモリ制御情報を保持するメモリ制御情報保持部と、メモリ制御情報保持部が保持するメモリ制御情報の登録、更新、およびクリアを行うことができるアドレス管理部と、を備える不揮発性記憶装置に用いられるデータ記録方法である。このデータ記録方法は、データ判別ステップと、記録ステップと、を備える。
データ判別ステップでは、ホスト装置が発行する、一定の書き込み速度を保証したデータ書き込み処理であるリアルタイム記録の開始を指示するメモリ管理コマンドを受信すると、少なくとも当該メモリ管理コマンドを受信した以降リアルタイム記録が終了するまでの間、ホスト装置が不揮発性記憶装置に連続して書き込むべきデータを第1のデータタイプと判別し、ホスト装置が管理する論理アドレス空間において同じ領域に書き込まれるデータを第2のデータタイプと判別する。記録ステップでは、第1のデータタイプのデータを不揮発性メモリ上の第1メモリ領域に記録し、第2のデータタイプのデータを不揮発性メモリ上の第1メモリ領域とは異なる領域である第2メモリ領域に記録する。
これにより、第2の発明と同様の効果を奏するデータ記録方法を実現することができる。
第23の発明は、ホスト装置と通信することができるように接続されており、ホスト装置からのコマンドに従って、データの読み書きおよび/またはデータの読み出しを行う不揮発性記憶装置であって、不揮発性メモリと、不揮発性メモリに書き込まれたデータのデータタイプを管理するメモリ制御情報を保持するメモリ制御情報保持部と、メモリ制御情報保持部が保持するメモリ制御情報の登録、更新、およびクリアを行うことができるアドレス管理部と、を備える不揮発性記憶装置に用いられるデータ記録方法をコンピュータに実行させるプログラムである。このデータ記録方法は、データ判別ステップと、記録ステップと、を備える。
データ判別ステップでは、ホスト装置が発行する、一定の書き込み速度を保証したデータ書き込み処理であるリアルタイム記録の開始を指示するメモリ管理コマンドを受信すると、少なくとも当該メモリ管理コマンドを受信した以降リアルタイム記録が終了するまでの間、ホスト装置が不揮発性記憶装置に連続して書き込むべきデータを第1のデータタイプと判別し、ホスト装置が管理する論理アドレス空間において同じ領域に書き込まれるデータを第2のデータタイプと判別する。記録ステップでは、第1のデータタイプのデータを不揮発性メモリ上の第1メモリ領域に記録し、第2のデータタイプのデータを不揮発性メモリ上の第1メモリ領域とは異なる領域である第2メモリ領域に記録する。
これにより、第2の発明と同様の効果を奏するデータ記録方法をコンピュータに実行させるプログラムを実現することができる。
本発明のメモリコントローラ、メモリ装置(不揮発性記憶装置)、ホスト装置およびメモリシステム(不揮発性記憶システム)によれば、ホスト装置は、リアルタイム記録の開始前、終了後、あるいは、その双方でメモリ管理コマンドをメモリ装置へ発行し、メモリ装置は、メモリ管理コマンドを受信すると、メモリコントローラが第1のメモリ制御情報と第2のメモリ制御情報とのいずれか一方または両方をクリアし、必要に応じてガーベジコレクションを行ってリアルタイム記録可能な状態となる。
これにより、不揮発性記憶システムにおいて、リアルタイム記録を行う場合であって、通常のデータの書き込みとファイル管理情報および付加情報の書き込み処理とが交互に行われる場合においても、メモリコントローラは、書き込み処理の都度、データタイプに応じたメモリ制御情報を新たにメモリ制御情報保持部に登録できる。その結果、不揮発性記憶システムでは、データタイプの異なるデータまたは情報が不揮発性メモリの所定の領域に混在して書き込まれるようなことはなく、不揮発性メモリへの書き込みを適切に制御できる。
従って、本発明により、データタイプの誤判定・ミスマッチによる性能低下を予防して、安定したリアルタイム記録が可能となる。
以下、本発明の実施形態について、図面を参照しながら説明する。
[第1実施形態]
<1.1:不揮発性記憶システムの構成>
図1は、本発明の第1実施形態に係る不揮発性記憶システム(メモリシステム)1000の構成を示すブロック図である。
図1に示すように、不揮発性記憶システム1000は、メモリ装置(不揮発性記憶装置)1とホスト装置2とを備え、メモリ装置1とホスト装置とがバス3により接続されている。
(1.1.1:メモリ装置)
メモリ装置1は、図1に示すように、メモリコントローラ11と、1以上の不揮発性メモリ12とを備える。
メモリコントローラ11は、図1に示すように、ホストIF部110と、コマンド処理部111と、メモリ制御部112と、データ制御部113と、を備える。
ホストIF部110は、ホスト装置2とバス3を介して接続されており、ホスト装置2と通信を行うことが可能である。ホストIF部110は、バス3を介して、ホスト装置2からコマンドを受信したり、ホスト装置2に対して応答(レスポンス)を送信したりする。また、ホストIF部110は、バス3を介して、ホスト装置2とデータの送受信を行う。また、ホストIF部110は、ホスト装置2から受信したコマンドをコマンド処理部111に出力し、ホスト装置2から受信したデータをデータ制御部113に出力する。また、ホストIF部110は、コマンド処理部111から出力される応答(レスポンス)等を入力し、当該応答(ホストIF部110、レスポンス)等を、バス3を介して、ホスト装置2に送信する。
コマンド処理部111は、ホスト装置2が発行し、ホストIF部110が受信したコマンドを解釈して、ホスト装置2に返信する応答(レスポンス)を生成し、ホストIF部110に出力する。また、コマンド処理部111は、コマンドの解釈結果や、コマンドの引数等から取得したデータ等を、メモリ制御部112に出力する。
メモリ制御部112は、不揮発性メモリ12のデータの入出力や不揮発性メモリ12のメモリ領域管理を行う。
メモリ制御部112は、メモリ装置1の処理全般を制御するCPU1121と、制御情報を保持するレジスタ1122と、ホスト装置2の発行するコマンドに含まれる論理アドレスと不揮発性メモリ12上の物理アドレスとの対応付けを管理するアドレス管理部1123と、不揮発性メモリ12上の領域121に書き込まれたデータのタイプや書き込み領域などを管理するためのメモリ制御情報を保持するメモリ制御情報保持部1124と、備える。
メモリ制御情報保持部1124には、不揮発性メモリ12上で第1のタイプのデータが書き込まれた領域121を管理するための第1のメモリ制御情報と、第2のタイプのデータが書き込まれた領域122および123を管理するための第2のメモリ制御情報とが含まれる。なお、第1のメモリ制御情報および第2のメモリ制御情報を用いて管理される領域の数は1以上の任意の数であり、図1で示された数に限定されるものではない。
データ制御部113は、ホストIF部110と不揮発性メモリ12との間のデータの入出力を行うためのバッファRAMを備えており、データ制御部113は、当該バッファRAMを用いて、メモリ制御部112の指示に従い、不揮発性メモリ12に対してデータの書き込み処理/読み出し処理を行う。
なお、メモリコントローラ11の各機能部は、その全部または一部を、個別に接続してもよいし、内部バスにより接続してもよい。
(1.1.2:ホスト装置)
ホスト装置2は、図1に示すように、ホスト装置2全体の制御を行うCPU21と、ROM22と、RAM23と、メモリ装置1とデータの送受信を行うためのバッファRAM24と、メモリ装置1とバス3を介してコマンド・応答やデータの送受信を行うホストコントローラ25と、を備える。
なお、ホスト装置2の各機能部は、その全部または一部を、個別に接続してもよいし、内部バス(例えば、図1のバスB1)により接続してもよい。
また、CPU21と、ROM22と、RAM23と、バッファRAM24と、ホストコントローラ25と、により、ホスト制御部の機能が実現される。
(1.1.3:バス)
バス3は、例えば、メモリ装置1とホスト装置2とがコマンド・応答、データの送受信を行うための1以上の信号線の組により構成される。本実施形態に係る不揮発性記憶システム1000において、バス3は、クロック信号CLKを伝送するためのクロックラインと、コマンド・応答信号CMDを伝送するためのコマンドラインと、データ信号DATを伝送するためのデータ信号ラインと、を含んで構成される。なお、バス3のデータ信号ラインは、必ずしも1本である必要はなく、バス3が、複数のデータ信号ラインを含むものであってもよい。
≪バストランザクション≫
図2は、不揮発性記憶システム1000において、バス3を介して行われるメモリ装置1とホスト装置2とのバストランザクションを説明する図である。
図2において、コマンドCMDは、ホスト装置2がメモリ装置1に対してデータの読み出しや書き込みなどの指示を行うために送信する信号である。
応答RESは、コマンドCMDを受信したメモリ装置1が各種ステータス情報などを応答するために送信する信号である。
データDATは、メモリ装置1への書き込みの場合、ホスト装置2がメモリ装置1に対して送信するものであり、メモリ装置1からの読み出しの場合、メモリ装置1がホスト装置2に対して送信するものである。
これらのトランザクションは、主にメモリ装置1のコマンド処理部111およびホストIF部110と、ホスト装置2のホストコントローラ25とで処理が行われることが多く、必要に応じて、メモリ装置1では、メモリ制御部112も処理を行う。
ホスト装置2が発行するコマンドの内容によって、複数種類のバストランザクションが存在し、図2(a)では、コマンドCMDと応答RESのみで完結する。これは、主に不揮発性メモリ12のデータ入出力を行わないコマンドの場合に使われる。
図2(b)では、コマンドCMDと応答RESに加えてデータDATAの転送が行われる。このバストランザクションでは、主に不揮発性メモリ12へのデータの書き込みおよび不揮発性メモリ12からのデータの読み出しの場合のバストランザクションである。
図2(c)に示すバストランザクションは、コマンドCMDと応答RESに加えて、データ信号DATを使ってメモリ装置1が内部処理中であることを示す状態信号Busy(Busy信号)をメモリ装置1がホスト装置2に対して送信するバストランザクションである。
図2(d)に示すバストランザクションは、コマンドCMDと応答RES、データDATAに続いて状態信号Busy(Busy信号)を、メモリ装置1がホスト装置2に対して送信するバストランザクションである。
図2(c)および(d)のように、状態信号Busy(Busy信号)をメモリ装置1が送信するのは、ホスト装置2との間でデータの入出力は行わず、メモリ装置1の内部でメモリコントローラ11が不揮発性メモリ12のデータの入出力を行うためである。このような場合、不揮発性記憶システム1000では、図2(c)および(d)に示したバストランザクションが使われる。
≪データフォーマット≫
図3は、メモリ装置1とホスト装置2との間で送受信されるコマンドCMD、応答RES、データDATの構成を示す図である。
図3において、CMD、RES、DATは、全て開始ビットと終了ビットと、バス3上での誤り検出のためのCRCと、を含んで構成される。その他の構成要素は、CMD、RES、DATで異なる。
CMDは、ホスト装置2の指示する処理内容を識別するための識別子と引数とを含む。CMDの引数には、各種制御用のフラグやデータの読み出しおよびデータの書き込みを行うためのアドレス情報が含まれ、その内容は識別子により異なる。
RESは、識別子とステータスとを含む。RESの識別子は、ホスト装置2が発行したコマンドCMDの識別子と同じ値である。また、ステータスは、メモリ装置1の内部状態を示す状態信号であり、例えば、エラーの有無やメモリ装置1の状態遷移を示す情報が含まれる。
DATは、ペイロードを含む。ペイロードは、ホスト装置2が発行したコマンドCMDの識別子により異なり、例えば、不揮発性メモリ12のデータの読み出しコマンドまたはデータの書き込みコマンドの場合、ペイロードは、不揮発性メモリ12から読み出したデータまたは不揮発性メモリ12に書き込むデータであり、レジスタの読み出しコマンドの場合、ペイロードは、レジスタの値である。
≪メモリ管理コマンド≫
メモリ装置1とホスト装置2とは、1以上のメモリ管理コマンドを処理する機能を有する。図4は、メモリ管理コマンドの構成を示す図である。
メモリ管理コマンドの引数には、
(1)リアルタイム記録の開始および終了フラグ(“開始/終了”)、
(2)メモリ装置1内部のメモリ制御情報のクリアフラグ(“メモリ制御情報クリア”)、
(3)リアルタイム記録を行う際の付加情報書き込みの有無を示すフラグ(“付加情報記録ON/OFF”)、および
(4)ガーベジコレクション実行フラグ(“ガーベジコレクション”)
の各種制御フラグが含まれる。
“開始/終了”フラグにより、メモリ装置1がリアルタイム記録開始/終了のタイミングを認識すると、メモリコントローラ11は、レジスタ1122やアドレス管理部1123の設定を更新する。
“メモリ制御情報クリア”フラグが設定された場合、あるいは“付加情報記録ON/OFF”フラグの状態によって、ホスト装置2が付加情報を書き込むかどうかが分かると、
メモリコントローラ11は、後述するメモリ制御情報保持部の状態を更新してリアルタイム記録が可能な状態を設定する。
“ガーベジコレクション”フラグが設定されると、メモリコントローラ11は、後述するガーベジコレクションを実施する。
これら制御フラグは、それぞれ1ビットでもよく、また、何らかの制御の目的のため複数ビットで構成してもよい。また、これらの制御フラグは、図4(a)に示すように、異なるコマンドの引数に割り当ててもよく、また、図4(b)に示すように、同じコマンドの引数に複数の制御フラグが含まれるようにしてもよい。メモリ装置1は、該コマンドを受信すると、引数に含まれるフラグの状態に従って、指示された処理を実行する。
さらには、図4(c)のように、制御フラグを引数に設定せず、コマンドそのものが各種制御を指示するようにしてもよい。例えば、メモリ装置1は、該コマンドを受信すると、引数によらず自動的にメモリ制御情報のクリアおよび/またはガーベジコレクションを実行するように動作することも可能である。
当該コマンドをメモリ装置1とホスト装置2とで処理する場合のバス3上のトランザクションは、前述した図2(a)〜(d)のいずれかに従う。メモリ装置1は、コマンドを受信し不揮発性メモリ12へのデータ入出力処理が必要と判定すると、該入出力処理中は、図2(c)または(d)にあるように、状態信号Busy(Busy信号)をホスト装置2に対して送信する。
<1.2:不揮発性記憶システムの動作>
次に、不揮発性記憶システム1000の動作について、図面を参照しながら、以下、説明する。
(1.2.1:リアルタイム記録シーケンス)
まず、不揮発性記憶システム1000におけるリアルタイム記録シーケンスについて、説明する。
図5は、本実施形態に係る不揮発性記憶システム(メモリシステム)1000においてホスト装置2がメモリ装置1に対してリアルタイム記録(一定の書き込み速度を保証したデータ書き込み処理)を行う場合のシーケンスを説明する図である。
図5において、CMD_Sは、前述したメモリ管理コマンドを示す。
図5に示すように、不揮発性記憶システム1000において、ホスト装置2がメモリ装置1に対してリアルタイム記録を行う場合、1回の記録シーケンス中で1回以上メモリ管理コマンドを発行する。
図5(a)は、リアルタイム記録開始前と終了後にCMD_Sを発行する場合のリアルタイム記録シーケンスを示している。
図5(b)は、リアルタイム記録開始前にCMD_Sを発行する場合のリアルタイム記録シーケンスを示している。
図5(c)は、リアルタイム記録終了後にCMD_Sを発行する場合リアルタイム記録シーケンスを示している。
なお、図5で、CMD_Sは、リアルタイム記録開始前および終了後に複数回発行してもよい。その場合、複数回発行されるCMD_Sのそれぞれにおいて、コマンド識別子や引数の制御フラグは、異なっていてもよい。また、図5において、連続するリアルタイム記録シーケンスは、同一のホスト装置2により実行されるものであってもよく、メモリ装置1がホスト装置2と着脱可能な場合には、異なるホスト装置2により実行されるものであってもよい。例えば、図5(b)に示すリアルタイム記録シーケンス1およびリアルタイム記録シーケンス2の両方が、同一のホスト装置2により実行されるものであってもよいし、また、リアルタイム記録シーケンス1は、あるホスト装置(これを「ホスト装置A」という)により実行され、リアルタイム記録シーケンス2は、ホスト装置Aとは異なるホスト装置Bにより実行されるものであってもよい。
図6および図7は、より詳細なリアルタイム記録シーケンスを説明する図であり、図6および図7は、不揮発性記憶システム1000においけるリアルタイム記録シーケンスを模式的に示している。
図6と図7とは、次の点で異なる。すなわち、図6では、ホスト装置2が付加情報Contを書き込む場合を示しているが、図7では、ホスト装置2が付加情報Contを書き込まない場合を示している。それ以外については、図6に示した場合と図7に示した場合とは同様である。
図6および図7において、CMD_S、DAT、FAT、およびContは、以下のことを示している。すなわち、
(1)CMD_Sは、メモリ管理コマンド送信のバストランザクションを示しており、例えば、メモリ管理コマンド(以下、「メモリ管理コマンドCMD_S」ということがある)が、ホスト装置2からメモリ装置1に送信され、メモリ管理コマンドCMD_Sに対する応答(レスポンス)が、メモリ装置1からホスト装置2に送信されるバストランザクションが、これに該当する。
(2)DATは、通常のデータ書き込み処理のバストランザクションを示しており、例えば、ライトコマンドによる通常のデータ書き込み処理のバストランザクションが、これに該当する。
(3)FATは、ファイル管理情報書き込み処理のバストランザクションを示しており、例えば、ライトコマンドによるファイル管理情報書き込み処理のバストランザクションが、これに該当する。
(4)Contは、付加情報書き込み処理のバストランザクションを示しており、例えば、ライトコマンドによる付加情報書き込み処理のバストランザクションが、これに該当する。
なお、上記(1)〜(4)のバストランザクションには、コマンドと応答、データ転送と状態信号Busy送信が含まれうる。これらのバストランザクションで使用されるデータのタイプは、例えば、書き込むデータのサイズやアドレス(論理アドレス)で判別することが可能である。さらには、書き込むコマンド(ホスト装置2からメモリ装置1に送信するコマンド)の引数にデータタイプを示す情報を加える、あるいは、データタイプ毎にコマンドを変える、あるいは、予めデータタイプを知らせるコマンドをホスト装置2からメモリ装置1に発行してから実際のデータを書き込む処理を行う、などの様々な方法を、不揮発性記憶システム1000において採用することが可能である。
例えば、図6および図7において、FATには、ファイルアロケーションテーブルFAT1、FAT2およびディレクトリエントリDIRを書き込む処理(ホスト装置2からメモリ装置1に送信されるライトコマンドにより、メモリ装置1に、ファイルアロケーションテーブルFAT1、FAT2およびディレクトリエントリDIRを書き込む処理)が含まれ、メモリコントローラ11は、FAT1、FAT2を書き込みアドレス(ホスト装置2からメモリ装置1に送信されるライトコマンドで指定されている書き込みアドレス(論理アドレス))で識別し、DIR、Cont、およびDATの識別については、書き込みデータのサイズで識別することが可能である。
また、ディレクトリエントリDIRのサイズと付加情報Contのサイズとが同じ場合、予めデータタイプを知らせるコマンドをホスト装置2からメモリ装置1に発行してから実際の書き込む処理を行うようにしてもよい。例えば、不揮発性記憶システム1000において、付加情報Contの書き込む処理を実行する前に、これから書き込むデータが付加情報Contであることを示すコマンドをホスト装置2からメモリ装置1に発行するようにしてもよい。また、不揮発性記憶システム1000において、ディレクトリエントリDIRの書き込む処理を実行する前に、これから書き込むデータがディレクトリエントリDIRであることを示すコマンドをホスト装置2からメモリ装置1に発行するようにしてもよい。
このようにすることで、不揮発性記憶システム1000において、ディレクトリエントリDIRのサイズと付加情報Contのサイズとが同じ場合であっても、適切に、ディレクトリエントリDIRの書き込み処理および付加情報Contの書き込み処理を行うことができる。
図6および図7において、(a)、(b)、(c)は、それぞれ、図5の(a)、(b)、(c)に対応しており、ホスト装置2が
(a)リアルタイム記録開始前と終了後に、CMD_Sを発行する場合、
(b)リアルタイム記録開始前に、CMD_Sを発行する場合、
(c)リアルタイム記録終了後に、CMD_Sを発行する場合、
を示している。
≪メモリ制御情報≫
メモリ装置1内のメモリコントローラ11は、不揮発性記憶システム1000においてリアルタイム記録を行う場合、ホスト装置2がメモリ装置1に対して書き込むデータのタイプを判別して、不揮発性メモリ12上の異なる領域(不揮発性メモリ12上で物理的に区別された異なる領域)にデータを書き込む。また、メモリコントローラ11は、不揮発性記憶システム1000においてリアルタイム記録を行う場合、データのタイプ(不揮発性メモリ12に書き込むデータのタイプ)や不揮発性メモリ12上の書き込み領域の情報を、メモリ制御情報として内部に保持し、ホスト装置2からの書き込みが行われると適宜、このメモリ制御情報を更新する。
図8は、不揮発性メモリ12の書き込み領域の状態と、メモリコントローラ11が保持するメモリ制御情報保持部1124の状態とを説明する図である。
図8に示すように、メモリコントローラ11は、不揮発性メモリ12へデータを書き込む場合、通常のデータDAT、ディレクトリエントリDIR、および付加情報Contを判別し、通常のデータDATを領域121へ書き込み、ディレクトリエントリDIRを領域122へ書き込み、付加情報Contを領域123へ書き込む。また、書き込んだデータのタイプと書き込み領域を管理するため、アドレス管理部1123は、メモリ制御情報保持部1124の中で、通常のデータDATのメモリ制御情報を第1のメモリ制御情報11241として保持し、ディレクトリエントリDIRおよび付加情報Contのメモリ制御情報を第2のメモリ制御情報11242として保持する。すなわち、本実施形態に係る不揮発性記憶システム1000において、メモリコントローラ11は、通常のデータDATを第1のタイプのデータとし、ディレクトリエントリDIRおよび付加情報Contを第2のタイプのデータとして区別する。
ここで、通常のデータDAT、ディレクトリエントリDIRおよび付加情報Contに関するメモリ制御情報は、データタイプ毎に1つだけでもよいし、データタイプ毎に複数のメモリ制御情報を保持するようにしてもよい。図8では、第1のメモリ制御情報については、複数保持する(図8に示す場合では、3つの第1のメモリ制御情報を保持している。)ことが可能であり、第2のメモリ制御情報については、ディレクトリエントリDIRのメモリ制御情報を1つ保持し、付加情報Contのメモリ制御情報を1つ保持することができる場合について示している。
なお、通常のデータDATを第1のメモリ制御情報とし、ディレクトリエントリDIRおよび付加情報Contを第2のメモリ制御情報として、分けて管理するのは、以下の理由による。すなわち、不揮発性記憶システム1000において、通常のデータDATが比較的大きなデータサイズ(数+KB〜数百KB)の単位で連続する領域(ホスト装置2が管理する論理アドレス空間において論理アドレスが連続する領域)にシーケンシャルに書き込まれるのに対して、ディレクトリエントリDIRや付加情報Contは、比較的小さなデータサイズ(数百B〜数KB)で同じ領域(ホスト装置2が管理する論理アドレス空間において論理アドレスが同一の領域)を繰り返し上書きするように書き込まれるという違いを考慮して、不揮発性記憶システム1000において、リアルタイム記録を実現するためである。
図9は、前述した第1のメモリ制御情報11241および第2のメモリ制御情報11242の内容を示す図であり、通常のデータDATのメモリ制御情報MNG1を例示している。
図9に示すように、メモリ制御情報MNG1は、データタイプ、論理アドレスLBA、物理アドレスPBA、および、その他管理情報を含んで構成される。
データタイプ(データ種別)は、書き込まれたデータのタイプを示す情報であり、この場合は、「通常のデータ」であることが示される。
論理アドレスLBAは、ホスト装置2が書き込みアドレスとして指定したアドレス(論理アドレス)であり、単位はバイト、ワード、セクタなどである。
物理アドレスPBAは、不揮発性メモリ12上でデータが書き込まれている領域121の物理アドレスであり、単位はバイト、ページ、ブロックなどである。
その他管理情報は、メモリコントローラ11が不揮発性メモリ12の状態を制御するために必要な情報であり、例えば、領域121の物理ブロックの書換回数や物理ブロック内の有効データサイズ、不揮発性メモリに保持されたデータの誤り訂正不可エラーの有無、ガーベジコレクションの要不要などの情報が含まれうる。
なお、第1のメモリ制御情報および第2のメモリ制御情報に含まれる情報は、同じでもよく(同形式でもよく)、また、異なっていてもよい(異なる形式でもよい)。
なお、図8では、ディレクトリエントリDIRと付加情報Contとは、同じ第2のタイプのデータとして扱われているが、例えば、ディレクトリエントリDIRを第2のタイプのデータとし、付加情報Contを第3のタイプのデータとしてメモリ制御情報も分けて制御することも可能であり、この場合も本発明に開示された内容が適用可能である。
(1.2.2:メモリ管理コマンドの処理)
次に、不揮発性記憶システム1000におけるメモリ管理コマンドの処理について、説明する。
図10は、不揮発性記憶システム1000において、メモリ装置1が前述したメモリ管理コマンドをホスト装置2から受信した場合に、メモリコントローラ11が行う処理を説明する図である。
図10(a)では、メモリ装置1は、ホスト装置2が発行したメモリ管理コマンドCMD_Sを受信すると、応答RESをホスト装置2に向けて送信すると共に、メモリコントローラ11内のアドレス管理部1123が、メモリ制御情報保持部1124の保持する第1のメモリ制御情報および第2のメモリ制御情報をクリアし、“未登録”の状態とする。
また、図10(b)では、メモリ装置1は、ホスト装置2が発行したメモリ管理コマンドCMD_Sを受信すると、応答RESをホスト装置2に向けて送信し、アドレス管理部1123は、メモリ制御情報保持部1124の保持する第1のメモリ制御情報および第2のメモリ制御情報をクリアし、“未登録”の状態とすると共に、不揮発性メモリ12のガーベジコレクションを行う。この間(図10(b)に示す時刻T1から時刻T2の間)、メモリ装置1は、ホスト装置2に対して、信号線DATにおいて、状態信号Busy(Busy信号)を送出し、ガーベジコレクションが完了するとBusy信号の送出を終了させる。ここで、ガーベジコレクションは、第1のメモリ制御情報および第2のメモリ制御情報で管理されている領域(図8に示す不揮発性メモリ12上の領域121、122および123)から有効なデータだけを、不揮発性メモリ12上の別の領域にコピーした後、第1のメモリ制御情報および第2のメモリ制御情報で管理されている領域を消去する処理が含まれる。
なお、ガーベジコレクションでは、第1および第2のメモリ制御情報で管理されていない領域についても前述した有効なデータのコピーと消去の両方を行ってもよいし、消去を行わず単に有効なデータのコピーだけ行ってもよい。
なお、図10(a)および(b)に示した場合において、メモリ装置1がホスト装置2からメモリ管理コマンドを受信した場合、メモリコントローラ11は、第2のメモリ制御情報だけをクリアして“未登録”としてもよい。
このように、本実施形態に係る不揮発性記憶システム1000では、ホスト装置2は、リアルタイム記録の開始前、終了後、または、その双方で、メモリ管理コマンドをメモリ装置1へ発行し、メモリ装置1は、メモリ管理コマンドを受信すると、メモリ制御情報保持部1124に保持された情報をクリアして“未登録”状態とし、必要に応じてガーベジコレクションを行う。
これにより、不揮発性記憶システム1000では、リアルタイム記録を行う場合であって、通常のデータの書き込み処理とファイル管理情報および付加情報の書き込み処理とが交互に行われる場合においても、メモリコントローラ11は、書き込み処理の都度、データタイプに応じたメモリ制御情報を新たにメモリ制御情報保持部1124に登録できる。その結果、不揮発性記憶システム1000では、データタイプの異なるデータまたは情報が不揮発性メモリ12の所定の領域に混在して書き込まれるようなことはなく、不揮発性メモリ12への書き込みを適切に制御でき、安定したリアルタイム記録が可能となる。
以上、図面を用いて第1実施形態に係る不揮発性記憶システムについて説明したが、本発明の適用範囲はこれに限定されるものではなく、例えば、ホスト装置は、メモリ管理コマンドを任意のタイミングでメモリ装置に対して発行することも可能である。この場合、メモリ装置がホスト装置からメモリ管理コマンドを受信すると、メモリ装置がガーベジコレクションを行うようにすれば、後続するデータの書き込み性能を向上させることが可能となる。
また、メモリ装置は、着脱可能なメモリカードであってもよく、あるいはホスト装置の基板に直付けするエンベデッドデバイスであってもよい。
また、不揮発性メモリは、フラッシュメモリに限定されるのではなく、本発明は、ハードディスクや不揮発性RAMなど他の不揮発性メモリを用いる場合にも適用することができる。
[他の実施形態]
なお、上記実施形態で説明した不揮発性記憶システム、ホスト装置およびメモリ装置において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る不揮発性記憶システム、ホスト装置およびメモリ装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
本発明によると、リアルタイム記録が可能なメモリコントローラ、メモリ装置、ホスト装置およびメモリシステムを提供することができ、本発明は、特に大容量の不揮発性メモリに動画を記録するビデオカメラやデジタルカメラ、携帯電話などのホスト装置と、リムーバブルなメモリカードやエンベデッドデバイスなど不揮発性メモリを有するメモリ装置に有用である。
第1実施形態に係る不揮発性記憶システム(メモリシステム)1000のブロック図。 バス3のトランザクションを説明する図。 CMD、RES、DATの構成を説明する図。 メモリ管理コマンドの構成を説明する図。 リアルタイム記録のシーケンスを説明する図。 付加情報がある場合のリアルタイム記録のシーケンスを説明する図。 付加情報がない場合のリアルタイム記録のシーケンスを説明する図。 不揮発性メモリの状態とメモリ制御情報を説明する図。 メモリ制御情報の構成を説明する図。 メモリ管理コマンドを受信した時のメモリ装置の動作を説明する図。 従来技術におけるリアルタイム記録のシーケンスを説明する図。
1000 不揮発性記憶システム
1 メモリ装置(不揮発性記憶装置)
11 メモリコントローラ
110 ホストIF部
111 コマンド処理部
112 メモリ制御部
1121 CPU
1122 レジスタ
1123 アドレス管理部
1124 メモリ制御情報保持部
113 データ制御部
12 不揮発性メモリ
2 ホスト装置
21 CPU
22 ROM
23 RAM
24 バッファRAM
25 ホストコントローラ
3 バス

Claims (3)

  1. ホスト装置からのコマンドに従って、データの読み書きを行う不揮発性記憶装置であって、
    不揮発性メモリと、
    前記ホスト装置が発行する、一定の書き込み速度を求めるデータ書き込み処理の開始を指示するメモリ管理コマンドを受信すると、前記データから、前記不揮発性メモリに連続して書き込む第1のデータタイプと、前記第1のデータタイプのデータをファイルシステムにおいて管理する情報である第2のデータタイプとを、書き込むデータのサイズで識別し、それぞれのデータタイプに応じて前記不揮発性メモリに前記データを記録するメモリ制御部と、
    を備え
    前記メモリ制御部は、前記メモリ管理コマンドを受信すると、前記不揮発性メモリに対するガーベジコレクション処理を行うとともに、前記ホスト装置へBusy状態を通知する、
    不揮発性記憶装置。
  2. 前記メモリ制御部は、ディレクトリエントリおよび付加情報を、前記第2のデータタイプとして識別する、
    請求項に記載の不揮発性記憶装置。
  3. 前記メモリ制御部は、前記データタイプを、データを書き込むアドレスで判別する、
    請求項1または2に記載の不揮発性記憶装置。

JP2009545754A 2008-07-30 2009-07-28 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム Active JP5443998B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009545754A JP5443998B2 (ja) 2008-07-30 2009-07-28 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008196083 2008-07-30
JP2008196083 2008-07-30
JP2009545754A JP5443998B2 (ja) 2008-07-30 2009-07-28 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム
PCT/JP2009/003545 WO2010013445A1 (ja) 2008-07-30 2009-07-28 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2010013445A1 JPWO2010013445A1 (ja) 2012-01-05
JP5443998B2 true JP5443998B2 (ja) 2014-03-19

Family

ID=41610159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009545754A Active JP5443998B2 (ja) 2008-07-30 2009-07-28 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム

Country Status (3)

Country Link
US (1) US8266371B2 (ja)
JP (1) JP5443998B2 (ja)
WO (1) WO2010013445A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5362010B2 (ja) * 2009-07-29 2013-12-11 パナソニック株式会社 メモリ装置、ホスト装置およびメモリシステム
US8271719B2 (en) * 2009-10-29 2012-09-18 Freescale Semiconductor, Inc. Non-volatile memory controller device and method therefor
TWI496458B (zh) * 2011-12-30 2015-08-11 Amtran Technology Co Ltd 提供即時直播視訊資料流檔案的電視接收裝置與其方法
US9032235B2 (en) * 2012-07-31 2015-05-12 Kabushiki Kaisha Toshiba Semiconductor storage device and method for controlling the semiconductor storage device
KR101932920B1 (ko) * 2012-09-14 2019-03-18 삼성전자 주식회사 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법
JP6193189B2 (ja) * 2014-08-20 2017-09-06 株式会社東芝 Nandバックグラウンド処理制御装置
KR102295223B1 (ko) 2015-01-13 2021-09-01 삼성전자주식회사 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치
JP6403162B2 (ja) * 2015-07-23 2018-10-10 東芝メモリ株式会社 メモリシステム
TWI584289B (zh) * 2016-01-20 2017-05-21 大心電子(英屬維京群島)股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
KR102664665B1 (ko) * 2016-08-22 2024-05-16 에스케이하이닉스 주식회사 메모리 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
JP2008010109A (ja) * 2006-06-30 2008-01-17 Canon Inc データ記憶装置
JP2008117491A (ja) * 2006-11-07 2008-05-22 Sony Corp 記録装置、記録方法、およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4238514B2 (ja) * 2002-04-15 2009-03-18 ソニー株式会社 データ記憶装置
JP4157501B2 (ja) 2004-06-30 2008-10-01 株式会社東芝 記憶装置
JP4874588B2 (ja) 2004-07-12 2012-02-15 株式会社東芝 記憶デバイスおよびホスト機器
CA2682814C (en) 2004-07-12 2011-11-08 Kabushiki Kaisha Toshiba Storage device and host apparatus
JP2006285669A (ja) * 2005-03-31 2006-10-19 Toshiba Corp ホスト機器
JP5014344B2 (ja) * 2006-08-08 2012-08-29 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
JP2008010109A (ja) * 2006-06-30 2008-01-17 Canon Inc データ記憶装置
JP2008117491A (ja) * 2006-11-07 2008-05-22 Sony Corp 記録装置、記録方法、およびプログラム

Also Published As

Publication number Publication date
US20100191901A1 (en) 2010-07-29
WO2010013445A1 (ja) 2010-02-04
US8266371B2 (en) 2012-09-11
JPWO2010013445A1 (ja) 2012-01-05

Similar Documents

Publication Publication Date Title
JP5443998B2 (ja) 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム
US8356134B2 (en) Memory device with non-volatile memory buffer
TWI515735B (zh) 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置
JP5400875B2 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム
JP5362010B2 (ja) メモリ装置、ホスト装置およびメモリシステム
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
US9176865B2 (en) Data writing method, memory controller, and memory storage device
TWI592799B (zh) 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
JP6734768B2 (ja) 二重書込みを遂行するストレージ装置を含むシステム、装置、及びその方法
TWI607448B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI420308B (zh) 區塊管理方法、記憶體控制器與記憶體儲存裝置
CN110908927A (zh) 数据储存装置及其删除命名空间的方法
CN114371812B (zh) 控制器及其操作方法
CN107797755B (zh) 固态硬盘***的原子写入方法以及使用该方法的装置
TWI626540B (zh) 一般及垃圾回收的資料存取方法以及使用該方法的裝置
CN106919343B (zh) 周边接口电路与周边存储器***
JP2011095853A (ja) 不揮発性記憶装置、ホスト装置および不揮発性記憶システム
TWI715408B (zh) 快閃記憶體控制器、記憶體裝置以及存取快閃記憶體模組之方法
WO2011007511A1 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム
JP2004139353A (ja) ディスクアレイ装置、ディスクアレイ装置の制御方法、及びストレージシステム
TWI503841B (zh) 寫入方法、記憶體控制器與記憶體儲存裝置
TWI584292B (zh) 記憶體抹除方法、記憶體控制電路單元及記憶體儲存裝置
US8544424B2 (en) System, controller and method thereof for transmitting and distributing data stream
CN117632809B (zh) 存储器控制器、数据读取方法及存储装置
KR102343600B1 (ko) 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130530

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131112

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131119

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131220

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250