JP5362010B2 - メモリ装置、ホスト装置およびメモリシステム - Google Patents

メモリ装置、ホスト装置およびメモリシステム Download PDF

Info

Publication number
JP5362010B2
JP5362010B2 JP2011524658A JP2011524658A JP5362010B2 JP 5362010 B2 JP5362010 B2 JP 5362010B2 JP 2011524658 A JP2011524658 A JP 2011524658A JP 2011524658 A JP2011524658 A JP 2011524658A JP 5362010 B2 JP5362010 B2 JP 5362010B2
Authority
JP
Japan
Prior art keywords
data
memory
file system
write mode
system information
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
JP2011524658A
Other languages
English (en)
Other versions
JPWO2011013350A1 (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 JP2011524658A priority Critical patent/JP5362010B2/ja
Publication of JPWO2011013350A1 publication Critical patent/JPWO2011013350A1/ja
Application granted granted Critical
Publication of JP5362010B2 publication Critical patent/JP5362010B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4184External card to be used in combination with the client device, e.g. for conditional access providing storage capabilities, e.g. memory stick
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ホスト装置の命令に応じて不揮発性メモリへのデータの書き込みおよび読み出しを行う、不揮発性メモリを備えたメモリ装置、該メモリ装置と接続して不揮発性メモリへのデータの書き込みおよび読み出しを行うホスト装置および、該ホスト装置とメモリ装置を含んで構成されるメモリシステムに関する。
デジタルカメラ、ムービー、携帯電話などのデジタル情報を制御する機器(以下、「ホスト装置」という)において,デジタル情報を保持する記憶装置としてNANDフラッシュメモリなどの不揮発性メモリが多く使われている。近年では、微細化による不揮発性メモリの仕様変更頻度が高くなっているため、不揮発性メモリとメモリコントローラ部とを搭載したメモリ装置が使われることが多くなってきている。このようなメモリ装置には、ホスト装置と着脱可能なリムーバブルカードや、ホスト装置の基板に直付けして使用するエンベデッドタイプのものがある。
また、近年、内蔵する不揮発性メモリの容量が増加し動画記録用途への応用が広がっている。メモリ装置に動画データを記録する場合、一定の書き込み速度を保証しながら書き込みを行う、いわゆるリアルタイム記録を行う必要がある。特許文献1には、このような不揮発性メモリを用いたメモリ装置へリアルタイム記録を行う方法が開示されている。
特許文献1には、所定の条件下でリアルタイム記録を実現する技術が開示されている。具体的には、特許文献1の技術を用いた不揮発性記憶システム(ホスト装置とメモリ装置とを備える不揮発性記憶システム)では、メモリ装置において、不揮発性メモリ上の記憶領域を所定のアロケーションユニット単位(AU単位)に分割して管理し、メモリ装置の記憶デバイスとしての性能を、所定のデータサイズでアロケーションユニットに連続的にデータを記録した場合の性能として規定する。そして、このように規定されたメモリ装置の記録デバイスとしての性能を、メモリ装置からホスト装置に通知する。ホスト装置は、メモリ装置の記録デバイスとしての当該性能を満たすように、メモリ装置に対してデータ書き込み処理を行うことで、所定の条件下(メモリ装置の記録デバイスとしての性能を満たす条件下)において、リアルタイム記録を行うことができる。つまり、特許文献1の技術では、メモリ装置の不揮発性メモリに、所定のデータサイズでアロケーションユニットに連続的にデータを記録した場合の性能を基準として、データ書き込み処理における最低速度保証を行い、保証される最低速度でのリアルタイム記録を実現させる。
また、リアルタイム記録では、実際には、通常のデータとファイルシステム情報とが交互に記録される。特許文献1の技術では、通常データの書き込み性能とファイルシステム情報の書込み性能とを別個に規定し、ファイルシステム情報の書き込みが通常のデータ書き込み性能に影響しないようにすることで、リアルタイム記録を実現するようにしている。
このように従来技術では、記憶デバイスの性能がアロケーションユニット(AU)にデータを連続的に書き込んだ場合の性能を基準として決められており、アロケーションユニット内においてデータ書き込みを行う際の瞬間的な性能の変化(例えば、データ書き込み速度の変化)については規定されていない。つまり、従来技術では、最終的に、アロケーションユニットのサイズ分のデータの書き込みが完了した時点で性能が保証されていれば、アロケーションユニット内においてデータ書き込みを行う際のデータ書き込み速度がどのように変化してもよい。言い換えれば、従来技術では、メモリ装置の不揮発性メモリに、アロケーションユニットのサイズだけデータを書き込まないと性能が保証されない。
このため、ホスト装置は、アロケーションユニットのサイズ相当のバッファを備えて、瞬間的な性能の変化(例えば、データ書き込み速度の変化)を吸収する必要がある。
また、通常データとファイルシステム情報とは、同一のインタフェースを通じて、ホスト装置から記憶デバイスに書き込まれるため、ファイルシステム情報を書き込む間は、通常データの書き込みは、待たされることになる。このため、ホスト装置は、ファイルシステム情報を書き込む間データを保持するためのバッファをホスト装置に備える必要がある。
特開2006−178923
近年、テレビやDVR(Digital Video Recorder)などで不揮発性メモリを備えたメモリ装置へ動画を記録する機能を備えるものが出現している。このような機器のうち複数のチューナを持つものでは、メモリ装置に対して複数のチャネルの動画データを複数ファイルとして記録することが考えられる。このような複数ファイルのデータをメモリ装置に記録する場合、メモリ装置において、データは、通常異なるアロケーションユニットに記録されるが、前述したように従来技術では、アロケーションユニットのサイズだけデータを書き込まないと性能が保証されない。このため、従来技術では、複数ファイルのデータを複数のアロケーションユニットにリアルタイム記録するには、ファイル毎にアロケーションユニットサイズ相当のバッファをホスト装置に備える必要がある。
また、メモリ装置に記録するファイル数が増えると、ファイルシステム情報の更新もファイル数だけ必要になるが、前述したようにファイルシステム情報を書き込む間は、通常データの書き込み処理を実行することができず、書き込み処理を待ち状態にする必要があるため、記録するファイル数の増加に伴いファイルシステム情報書き込みの頻度が増加すると、その分必要なバッファのサイズも増加する。
すなわち、従来技術では、複数の動画データをリアルタイムに記録することが想定されておらず、記録するチャネル数に比例してホスト装置に必要なバッファのサイズが増大するという課題がある。
本発明は、以上の問題点を解決し、ホスト装置のバッファサイズの増加を抑えながら複数の動画データをリアルタイムに記録することが可能なメモリ装置、ホスト装置およびメモリシステムを提供することを目的とする。
第1の発明は、ホスト装置と通信することができるように接続されており、ホスト装置からのコマンドに従って、データの書き込みおよび/またはデータの読み出しを行うメモリ装置であって、不揮発性メモリと、メモリコントローラ部と、を備えるメモリ装置である。
不揮発性メモリは、データを記憶する。メモリコントローラ部は、ホスト装置の発行するコマンドに含まれる論理アドレスに応じて、不揮発性メモリにデータの書き込み処理および不揮発性メモリからのデータの読み出し処理の制御を行い、また、不揮発性メモリのメモリ領域をメモリアロケーションユニット単位で管理し、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むように制御する。
そして、メモリコントローラ部は、ホスト装置からの指示に従い、データ書き込みモードを、第1のデータ書き込みモードおよび第2のデータ書き込みモードのいずれかに切り換えて、不揮発性メモリへのデータ書き込み処理を制御することができる。また、メモリコントローラ部は、以下の(1)、(2)の処理を行う。
(1)第1のデータ書き込みモードによるデータ書き込み処理を行う場合、メモリアロケーションユニット単位で、ホスト装置の論理アドレスと不揮発性メモリの物理アドレスとを対応させ、ホスト装置が管理する論理アドレス空間におけるメモリアロケーションユニット内でのデータ配置と、不揮発性メモリの物理アドレス空間におけるメモリアロケーションユニット内でのデータ配置とが同一になるように、ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスに応じて、不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを選択し、選択したメモリアロケーションユニットに対して、データ書き込み処理を行う。
(2)第2のデータ書き込みモードによるデータ書き込み処理を行う場合、不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを第2データ書き込みモード用メモリアロケーションユニットとして選択し、ホスト装置から受信した書き込みデータを、ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスによらず、選択した第2データ書き込みモード用メモリアロケーションユニットに、連続して書き込む。
このメモリ装置では、例えば、論理アドレス空間上で異なるMAU(メモリアロケーションユニット)に配置される複数ファイルのデータを記録する場合に、第2のデータ書き込みモードによりデータ書き込み処理を行うことで、書き込むデータの論理アドレスが不連続な場合でも、不揮発性メモリのメモリ領域に連続的にデータを書き込むことができる。このため、このメモリ装置では、効率よく短時間でデータを書き込むことが可能である。したがって、このメモリ装置と接続されるホスト装置の備えるバッファサイズも少なくて済む。その結果、このメモリ装置をホスト装置とともに用いることで、ホスト装置のバッファサイズの増加を抑えながら、例えば、複数の動画データをリアルタイムに記録する(一定の書き込み速度を保証したデータ書き込み処理を行う)ことが可能となる。
なお、「不揮発性メモリ」は、複数の不揮発性メモリであってもよい。
また、「連続して書き込む」とは、例えば、ホスト装置から連続して送信されるデータを、メモリ装置が連続的に受信し、受信したデータを、受信した順に、連続的に不揮発性メモリに書き込むことをいう。
また、「メモリアロケーションユニット」とは、不揮発性メモリのメモリ領域を分割して管理するための単位であり、物理的な管理単位のN倍(Nは自然数)のサイズとなることが好ましい。なお、「物理的な管理単位」は、例えばNANDフラッシュでは消去単位である物理ブロックを単位として用いることができる。
第2の発明は、第1の発明であって、メモリコントローラ部は、電源投入時およびリセット後の初期状態では、第1のデータ書き込みモードでデータ書き込み処理を行い、ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、第2のデータ書き込みモードに切り替える。
第3の発明は、第1の発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、第1の書き込みモードに切り替える。
これにより、メモリ装置が第2の書き込みモードであっても、ホスト装置から発行されるデータ書き込みモード指示コマンドにより、メモリ装置の書き込みモードを、第1の書き込みモードにすることができる。
第4の発明は、第1の発明であって、メモリコントローラ部は、ホスト装置から発行される第2のデータ書き込みモード終了コマンドに従って、データ書き込みモードを、第1の書き込みモードに切り替える。
第5の発明は、第1から第4のいずれかの発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ再配置コマンドに従って、第2のデータ書き込みモードで書き込んだデータを、メモリアロケーションユニット単位で論理アドレスと物理アドレスが対応するよう、不揮発性メモリの物理アドレス空間内において再配置する。
このメモリ装置では、ホスト装置から発行されるデータ再配置コマンドに従って、第2のデータ書き込みモードで書き込まれたMAU内のデータの再配置を行うため、データの再配置後は、第1のデータ書き込みモードで書き込んだ場合と同様にデータを管理することができるようになる。その結果、このメモリ装置では、いわゆるフラグメント状態が発生することを抑制し、効率のよいデータ管理をすることが可能となる。
第6の発明は、第1から第4の発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ消去コマンドにより、第2のデータ書き込みモードで書き込んだデータの一部が消去された場合、残りのデータを、第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置する。
これにより、このメモリ装置では、消去コマンドによる消去処理とともに、再配置処理を行うことができる。
第7の発明は、第1から第6のいずれかの発明であって、メモリコントローラ部は、ホスト装置からの指示に従い、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードおよび第2のファイルシステム情報書き込みモードのいずれかに切り換えて、不揮発性メモリへのファイルシステム情報の書き込み処理を制御することができる。また、メモリコントローラ部は、以下の(1)、(2)の処理を行う。
(1)第1のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、異なるデータのファイルシステム情報を、書き込みコマンドを受信するごとに、逐次、不揮発性メモリに書き込むよう制御する。
(2)第2のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、複数の異なるファイルシステム情報のデータを、一括して、不揮発性メモリの同じページに書き込むよう制御する。
このメモリ装置では、例えば、複数ファイルの異なるファイルシステム情報のデータを記録する場合に、第2のファイルシステム情報書き込みモードにより書き込み処理を行うことで、不揮発性メモリの同一MAU内の同じページに書き込むことができる。このため、複数の異なるファイルシステム情報を書き込む場合のトータル時間を短縮することができる。その結果、このメモリ装置とともに用いられるホスト装置が送信待ち状態のときに保持すべきデータ量が少なくて済むので、ホスト装置の持つバッファサイズの増大を抑えることができる。また、ホスト装置の送信待ち時間も短くなるので、このメモリ装置を用いることで、複数ファイルのリアルタイム記録も実現させやすい。
第8の発明は、第7の発明であって、メモリコントローラ部は、電源投入時およびリセット後の初期状態では、第1のファイルシステム情報書き込みモードでファイルシステム情報の書き込み処理を行い、ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、第2のファイルシステム情報書き込みモードに切り替える。
第9の発明は、第7の発明であって、メモリコントローラ部は、ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードに切り替える。
第10の発明は、第7の発明であって、メモリコントローラ部は、ホスト装置から発行される第2のファイルシステム情報書き込みモード終了コマンドに従って、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードに切り替える。
第11の発明は、第8から第10のいずれかの発明であって、メモリコントローラ部は、ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第2のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、異なる物理ページに格納されるように、不揮発性メモリの物理アドレス空間内において再配置する。
このメモリ装置では、ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第2のファイルシステム情報書き込みモードで書き込まれたMAU内のファイルシステム情報の再配置を行うため、再配置処理後は、第1のファイルシステム情報書き込みモードで書き込んだ場合と同様にファイルシステム情報を管理することができるようになる。その結果、このメモリ装置では、いわゆるフラグメント状態が発生することを抑制し、効率のよく、ファイルシステム情報を管理することができる。
第12の発明は、メモリ装置にコマンドを発行して、メモリ装置にデータの書き込みおよびメモリ装置からデータの読み出しを行うホスト装置であって、メモリ装置制御部を備える。
メモリ装置制御部は、メモリ装置へのコマンド発行と、メモリ装置に対してデータ書き込み処理あるいはデータ読み出し処理の対象となるデータの入出力制御と、を行い、また、論理アドレス空間をメモリアロケーションユニット単位で管理して、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むようメモリ装置を制御する。
メモリ装置制御部は、メモリ装置に指示することで、メモリ装置のデータ書き込みモードを、第1のデータ書き込みモードおよび第2のデータ書き込みモードのいずれかに切り換えるよう制御することができる。
このホスト装置では、メモリ装置に対して、例えば、コマンド等により指示することで、メモリ装置のデータ書き込みモードを、第1のデータ書き込みモードおよび第2のデータ書き込みモードのいずれかに切り換えるよう制御することができる。したがって、例えば、単一ファイルのデータ書き込み処理を行う場合は、第1のデータ書き込みモードによるデータ書き込み処理を指示し、複数ファイルをリアルタイム記録する場合は、第2のデータ書き込みモードによるデータ書き込み処理を指示することで、用途に応じて、最適な処理を、メモリ装置に対して指示することができる。
第13の発明は、第12の発明であって、メモリ装置制御部は、メモリ装置の電源投入時又はリセット後の初期状態では、メモリ装置を第1のデータ書き込みモードで動作させ、その後、メモリ装置へデータ書き込みモード指示コマンドを発行して、メモリ装置のデータ書き込みモードを、第2のデータ書き込みモードに切り替えさせる。
第14の発明は、第12または第13の発明であって、メモリ装置制御部は、メモリ装置へデータ書き込みモード指示コマンドを発行して、メモリ装置のデータ書き込みモードを、第1の書き込みモードに切り替えさせる。
第15の発明は、第12または第13の発明であって、メモリ装置制御部は、メモリ装置へ第2のデータ書き込みモード終了コマンドを発行して、メモリ装置のデータ書き込みモードを、第1の書き込みモードに切り替えさせる。
第16の発明は、第12から第15のいずれかの発明であって、メモリ装置制御部は、メモリ装置へデータ再配置コマンドを発行して、メモリ装置に、メモリ装置により第2のデータ書き込みモードで書き込まれたデータを、第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
第17の発明は、第16の発明であって、メモリ装置制御部は、メモリ装置へ第2のデータ書き込みモードで書き込んだデータの一部を、ファイルシステム情報を更新してファイルシステム上で消去する際に、メモリ装置に、メモリ装置により第2のデータ書き込みモードで書き込まれたデータを、第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
第18の発明は、第12から第17のいずれかの発明であって、メモリ装置制御部は、メモリ装置に指示することで、メモリ装置のファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードおよび第2のファイルシステム情報書き込みモードのいずれかに切り換えるよう制御することができる。
第19の発明は、第18の発明であって、メモリ装置制御部は、メモリ装置の電源投入時およびリセット後の初期状態では、メモリ装置を第1のファイルシステム情報書き込みモードで動作させ、その後、メモリ装置に対してファイルシステム情報書き込みモード指示コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第2のファイルシステム情報書き込みモードに切り替えさせる。
第20の発明は、第18の発明であって、メモリ装置制御部は、メモリ装置にファイルシステム情報書き込みモード指示コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードに切り替えさせる。
第21の発明は、第18の発明であって、メモリ装置制御部は、メモリ装置に第2のファイルシステム情報書き込みモード終了コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードに切り替えさせる。
第22の発明は、第18から第21のいずれかの発明であって、メモリ装置制御部は、メモリ装置へファイルシステム情報再配置コマンドを発行して、メモリ装置に、メモリ装置により第2のファイルシステム情報書き込みモードで書き込まれたデータを、第1のファイルシステム情報書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
第23の発明は、第1から第11のいずれかの発明であるメモリ装置と、第12から第22のいずれかの発明であるホスト装置と、を備えるメモリシステムである。
本発明によれば、ホスト装置のバッファサイズの増加を抑えながら複数の動画データをリアルタイムに記録することが可能なメモリ装置、ホスト装置およびメモリシステムを提供することができる。
第1実施形態に係る不揮発性メモリシステム1000のブロック図である。 第1のデータ書き込みモードを説明する図である。 第2のデータ書き込みモードを説明する図である。 データ書き込みモードの状態遷移を説明する図である。 データ書き込みモード切り替えのコマンドシーケンスを説明する図である。 第1のファイルシステム情報書き込みモードを説明する図である。 第2のファイルシステム情報書き込みモードを説明する図である。 ファイルシステム情報書き込みモードの状態遷移を説明する図である。 ファイルシステム情報書き込みモード切り替えのコマンドシーケンスを説明する図である。 データの再配置処理を説明する図である。 ファイルシステム情報の再配置を説明する図である。 消去コマンド発行時にデータの再配置を行う処理を説明する図である。 ファイルシステム操作後にデータの再配置を行う処理を説明する図である。 バス3のトランザクションを説明する図である。 CMD、RES、DATの構成を説明する図である。
以下、本発明の実施形態について、図面を参照しながら説明する。
[第1実施形態]
<1.1:不揮発性メモリシステムの構成>
図1は、本発明の第1実施形態に係る不揮発性メモリシステム(メモリシステム)1000の構成を示すブロック図である。
図1において、本実施形態に係る不揮発性メモリシステム1000は、メモリ装置1とホスト装置2と、を備え、メモリ装置1とホスト装置2とは、バス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から出力される応答(レスポンス)等を入力し、当該応答(レスポンス)等を、バス3を介して、ホスト装置2に送信する。
コマンド処理部111は、ホスト装置2が発行し、ホストIF部110が受信したコマンドを解釈して、ホスト装置2に返信する応答(レスポンス)を生成し、ホストIF部110に出力する。また、コマンド処理部111は、コマンドの解釈結果や、コマンドの引数等から取得したデータ等を、メモリ管理部112に出力する。
メモリ管理部112は、不揮発性メモリ12のデータの入出力や不揮発性メモリ12のメモリ領域管理を行う。
メモリ管理部112は、メモリ装置1の処理全般を制御するCPU1121と、ホスト装置2の発行するコマンドに含まれる論理アドレスと不揮発性メモリ12上の物理アドレスとの対応付けを管理するアドレス管理部1122と、を備える。また、メモリ管理部112は、不揮発性メモリ12にデータを書き込む場合の書き込みモードを管理するデータ書き込み管理部1123と、不揮発性メモリ12にファイルシステム情報を書き込む場合の書き込みモードを管理するファイルシステム情報書き込み管理部1124と、を備える。
データ制御部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)により接続してもよい。
(1.1.3:バス)
バス3は、例えば、メモリ装置1とホスト装置2とがコマンド・応答、データの送受信を行うための1以上の信号線の組により構成される。本実施形態に係る不揮発性メモリシステム1000において、バス3は、クロック信号CLKを伝送するためのクロックラインと、コマンド・応答信号CMDを伝送するためのコマンドラインと、データ信号DATを伝送するためのデータ信号ラインと、を含んで構成される。なお、バス3のデータ信号ラインは、必ずしも1本である必要はなく、バス3が、複数のデータ信号ラインを含むものであってもよい。
≪バストランザクション≫
図14は、不揮発性メモリシステム1000において、バス3を介して行われるメモリ装置1とホスト装置2とのバストランザクションを説明する図である。
図14において、コマンドCMDは、ホスト装置2がメモリ装置1に対してデータの読み出しや書き込みなどの指示を行うために送信する信号である。
応答RESは、コマンドCMDを受信したメモリ装置1が各種ステータス情報などを応答するために送信する信号である。
データDATは、メモリ装置1への書き込みの場合はホスト装置2がメモリ装置1に対して送信するものであり、メモリ装置1からの読み出しの場合は、メモリ装置1がホスト装置2に対して送信するものである。
これらのトランザクションは、主にメモリ装置1のコマンド処理部111およびホストIF部110と、ホスト装置2のメモリ装置制御部25とで処理が行われることが多く、必要に応じてメモリ装置1では、メモリ管理部112も処理を行う。
ホスト装置2が発行するコマンドの内容によって、複数種類のバストランザクションが存在し、図14(a)では、コマンドCMDと応答RESのみで完結する。これは、主に不揮発性メモリ12のデータ入出力を行わないコマンドの場合に使われる。
図14(b)では、コマンドCMDと応答RESに加えて、データDATAの転送が行われる。このバストランザクションは、主に不揮発性メモリ12へのデータの書き込みおよび不揮発性メモリ12からのデータの読み出しの場合のバストランザクションである。
図14(c)に示すバストランザクションは、コマンドCMDと応答RESに加えて、データ信号DATを使ってメモリ装置1が内部処理中であることを示す状態信号であるBusy信号をホスト装置2へ伝える場合のバストランザクションである。
図14(d)に示すバストランザクションは、コマンドCMDと応答RES、データDATAに続いて、状態信号Busy(Busy信号)をメモリ装置1がホスト装置2に対して送信するバストランザクションである。
図14(c)および(d)のように、状態信号Busy(Busy信号)をメモリ装置1が送信するのは、ホスト装置2との間でデータの入出力は行わず、メモリ装置1の内部でメモリコントローラ部11が不揮発性メモリ12のデータの入出力を行うためである。このような場合、不揮発性メモリシステム1000では、図14(c)および(d)に示したバストランザクションが使われる。
≪データフォーマット≫
図15は、メモリ装置1とホスト装置2との間で送受信されるコマンドCMD、応答RES、データDATの構成を示す図である。図15において、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:不揮発性メモリシステムの動作>
次に、不揮発性メモリシステム1000の動作について、図面を参照しながら、以下、説明する。具体的には、不揮発性メモリシステム1000において、ホスト装置2がメモリ装置1に2つのファイルのデータと、そのファイルシステム管理情報とを書き込む場合を例にとって説明する。
(1.2.1:データ書き込みモード)
不揮発性メモリシステム1000のデータ書き込みモードについて、第1のデータ書き込みモードと、第2のデータ書き込みモードに分けて、以下説明する。
(1.2.1.1:第1のデータ書き込みモード)
まず、不揮発性メモリシステム1000における第1のデータ書き込みモードについて、説明する。
図2は、本実施形態に係るメモリ装置1の、第1のデータ書き込みモードを説明する図である。
図2において、ホスト装置2の管理する論理アドレス空間とメモリ装置1の管理する不揮発性メモリの記憶領域(メモリ領域)とは、メモリアロケーションユニット(MAU)単位に分割して管理され、メモリ装置1のアドレス管理部1122が論理アドレス空間上のMAUと不揮発性メモリのメモリ領域上のMAUとの対応付けを管理する。MAUのサイズは、メモリ装置1に固有の値であり、例えば、不揮発性メモリとしてNANDフラッシュを使う場合には、NANDフラッシュメモリのメモリ領域の消去単位である物理ブロックの整数倍となる。
ホスト装置2がメモリ装置1に対してデータの書き込みコマンドを発行して、第1のデータ書き込みモードを使用してデータの書き込みを行う場合、アドレス管理部1122は、コマンドに含まれる論理アドレスを含むMAUを、不揮発性メモリのメモリ領域上のいずれかのMAUと対応付けし、対応付けした領域にホスト装置2が書き込みコマンドにより書き込みを指示したデータ(書き込みデータ)を書き込む。
図2においては、論理アドレス空間上のMAU201およびMAU202が、それぞれ、不揮発性メモリのメモリ領域上のMAU211およびMAU212に対応付けられている。
なお、各MAU内では、データは、連続的に配置されており、MAUのサイズをSMAUバイトとすると、例えば、論理アドレス空間上のMAU202に含まれるバイトアドレスN〜N+SMAU−1のデータは、不揮発性メモリのメモリ領域上のMAU212に含まれるバイトアドレスM〜M+SMAU−1に記録されている。つまり、MAU202内におけるデータ配置と、MAU212内におけるデータ配置とが、同一である。
従って、不揮発性メモリシステム1000において、ホスト装置2がメモリ装置1に対して、連続的にデータを書き込む場合、第1のデータ書き込みモードを使用することで、不揮発性メモリ12のメモリ領域上の連続する領域にデータを書き込むことができ、効率よく短時間でデータを書き込むことが可能となる。
(1.2.1.2:第2のデータ書き込みモード)
次に、不揮発性メモリシステム1000における第2のデータ書き込みモードについて、説明する。
図3は、本実施形態に係るメモリ装置1の、第2のデータ書き込みモードを説明する図である。
図3においても、ホスト装置2の管理する論理アドレス空間とメモリ装置1の管理する不揮発性メモリの記憶領域とは、メモリアロケーションユニット(MAU)単位に分割して管理され、メモリ装置1のアドレス管理部1122が論理アドレス空間と不揮発性メモリ12のメモリ領域との対応付けを管理するが、第1のデータ書き込みモードとの違いは、論理アドレス空間上の異なるMAUに属するデータが、不揮発性メモリ12のメモリ領域上の同じMAUに連続的に記録される点である。
図3に示すように、ホスト装置2がメモリ装置1に対して、データの書き込みコマンドを発行して、第2のデータ書き込みモードを使用してデータの書き込みを行う場合、アドレス管理部1122は、不揮発性メモリ12のメモリ領域上のいずれかのMAUを選択し、選択した領域に、ホスト装置2が書き込みコマンドにより書き込みを指示したデータ(書き込みデータ)を書き込む。以降、不揮発性メモリシステム1000において、ホスト装置2が第2のデータ書き込みモードでデータを書き込む場合には、コマンドに含まれる論理アドレスによらず、不揮発性メモリ12のメモリ領域上の同じMAU(図3に示すMAU−1がこれに相当。)に連続的にデータを書き込んでいく。
図3に示すように、不揮発性メモリシステム1000では、ホスト装置2が異なる2つのMAUに属するデータ301〜304を、301、302、303、304の順に、第2のデータ書き込みモードで書き込む場合、メモリ管理部112は、不揮発性メモリのメモリ領域上の書き込み可能なMAU(図3のMAU−1)へ、以下のようにして、データを連続的に書き込む。
(1)領域301のデータを領域311へ書き込む。
(2)領域302のデータを領域312へ書き込む。
(3)領域303のデータを領域313へ書き込む。
(4)領域304のデータを領域314へ書き込む。
このようにして、不揮発性メモリシステム1000では、第2のデータ書き込みモードにより、不揮発性メモリ12のメモリ領域上で連続的にデータを記録する。
なお、301〜304の論理アドレスと311〜314の記録される不揮発性メモリ12のメモリ領域上の物理アドレスとの対応付けは、アドレス管理部1122が管理する。
以上のように、不揮発性メモリシステム1000では、ホスト装置2が異なるMAUに属するデータを交互にメモリ装置1に書き込む場合、第2のデータ書き込みモードを使用することで、書き込むデータの論理アドレスが不連続な場合でも、不揮発性メモリ12のメモリ領域に連続的にデータを書き込むことができる。このため、不揮発性メモリシステム1000では、効率よく短時間でデータを書き込むことが可能である。
特に、不揮発性メモリシステム1000において、データをMAUのサイズだけ書き込んだ場合の性能を規定しているメモリ装置1に対して、論理アドレス空間上で異なるMAUに配置される複数ファイルのデータを記録する場合には、ホスト装置2の備えるバッファのサイズは1ファイルを記録する場合と同じでよい。したがって、不揮発性メモリシステム1000では、ホスト装置2が備えなければならないバッファ量を増大させることなく(1ファイルを記録する場合と同じバッファ量を備えていればよく)、複数ファイルのデータのリアルタイム記録(一定の書き込み速度を保証したデータ書き込み処理)を行うことが可能である。
なお、論理アドレス空間と不揮発性メモリ上のメモリ領域との対応付け(論理アドレス空間内の所定の分割領域(例えば、MAU)内でのデータ配置と、不揮発性メモリ上のメモリ領域(物理アドレス空間)内の所定の分割領域(例えば、MAU)内でのデータ配置との対応付け)をアドレス管理部1122が管理するための様々な手段が従来から開示されているが、本発明の本旨とは直接的には関係がないので、説明は省略する。
(1.2.1.3:データ書き込みモードの状態遷移図)
図4は、本実施形態に係るメモリ装置1のデータ書き込みモードの状態遷移図を説明する図である。
図4に示すように、メモリ装置1は、電源ON時またはリセット時には、IDLE状態41となり、ホスト装置2による初期化処理が行われると第1のデータ書き込みモード42に移行する。その後、ホスト装置2のコマンドに従って第1のデータ書き込みモード42と第2のデータ書き込みモード43との間でモードの切り替えを行い、選択されたモードに応じて不揮発性メモリ12へのデータ書き込み処理を行う。
(1.2.1.4:データ書き込みモードのコマンドシーケンス)
図5は、図4における第1のデータ書き込みモード42と第2のデータ書き込みモード43との間の切り替えを行うためのコマンドシーケンスを説明する図である。
図5(a)〜(c)は、それぞれ、上段がバス3を介してホスト装置2からメモリ装置1に送信されるコマンドを模式的に示しており、中段がバス3を介してホスト装置2からメモリ装置1に送信されるデータを模式的に示しており、下段がデータ書き込みモードを示している。なお、図5(a)〜(c)において、横軸は時間軸である。
なお、図5(a)〜(c)に示すD−MOD1およびD−MOD2は、図14(a)〜(d)に示すいずれかのシーケンスをとるものであり、図5(a)〜(c)では、説明便宜のため、D−MOD1およびD−MOD2等における詳細なシーケンスは省略して図示している。
図5(a)〜(c)に示すように、ホスト装置2が発行したデータ書き込みモード切り替えコマンドD−MOD2をメモリ装置1が受信すると、メモリ装置1は、データ書き込みモードを、第1のデータ書き込みモード42から第2のデータ書き込みモード43へ遷移させる。そして、データ書き込み管理部1123は、第2のデータ書き込みモードに移行した時点以降、ホスト装置2から書き込みコマンドを受信した場合、第2のデータ書き込みモードでデータを不揮発性メモリ12に書き込むように制御を行う。
また、図5(a)に示すように、ホスト装置2が発行したデータ書き込みモード切り替えコマンドD−MOD1をメモリ装置1が受信すると、メモリ装置1は、データ書き込みモードを、第2のデータ書き込みモード43から第1のデータ書き込みモード42に遷移させる。そして、データ書き込み管理部1123は、第1のデータ書き込みモードに移行した時点以降、ホスト装置2から書き込みコマンドを受信した場合、第1のデータ書き込みモードでデータを不揮発性メモリ12に書き込むように制御を行う。
図5(b)および図5(c)に示すように、メモリ装置1が、データ書き込みモードを、第2のデータ書き込みモード43から第1のデータ書き込みモード42に遷移させることも可能である。
すなわち、図5(b)に示すように、ホスト装置2が発行した第2のデータ書き込みモード終了コマンドD−END2を、メモリ装置1が受信すると、メモリ装置1は、データ書き込みモードを、第1のデータ書き込みモード42へ遷移させる。
また、図5(c)に示すように、メモリ装置1が、不揮発性メモリ12に対して、第2のデータ書き込みモードで所定の回数のデータの書き込みを行った後、メモリ装置1は、データ書き込みモードを、第1のデータ書き込みモード42へ遷移させる。なお、「所定の回数」は、ホスト装置2が、メモリ装置1に対して、データ書き込みモード切り替えコマンドD−MOD2を発行するときにコマンドの引数として設定してもよいし、あるいは、メモリ装置1の持つレジスタに、予め「所定の回数」を示す値を保持させておくようにしてもよい。
このように、本実施形態に係るホスト装置2とメモリ装置1とは、ホスト装置2の発行するコマンドによって、メモリ装置1が、データ書き込みモードを、第1のデータ書き込みモードまたは第2のデータ書き込みモードのいずれかに切り替えて、不揮発性メモリへのデータ書き込み処理を行う。なお、コマンドD−MOD2には、第2のデータ書き込みモードで書き込み処理がなされるファイル数およびファイルを識別する情報を含ませるようにすることが好ましい。
これによって、不揮発性メモリシステム1000では、複数のファイルのデータを不揮発性メモリの同一のMAUに書き込むことができる。このため、不揮発性メモリシステム1000において複数のファイルを記録する場合であっても、ホスト装置2のバッファサイズを、1つのファイルを記録する場合と同じサイズに抑えることができる。
(1.2.2:ファイルシステム情報書き込みモード)
次に、不揮発性メモリシステム1000のファイルシステム情報書き込みモードについて、第1のファイルシステム情報書き込みモードと、第2のファイルシステム情報書き込みモードに分けて、以下説明する。
(1.2.2.1:第1のファイルシステム情報書き込みモード)
まず、不揮発性メモリシステム1000における第1のファイルシステム情報書き込みモードについて説明する。
図6は、本実施形態に係るメモリ装置1の、第1のファイルシステム情報書き込みモードを説明する図である。
図6において、メモリ装置1の管理する不揮発性メモリの記憶領域は、メモリアロケーションユニット(MAU)単位に分割して管理され、メモリ装置1のアドレス管理部1122がホスト装置2の書き込むファイルシステム情報の論理アドレスと不揮発性メモリ上の物理アドレスとの対応付けを管理している。
図6(a)は、ホスト装置2がファイルシステム情報DIR1、DIR2を、それぞれ別の書き込みコマンドWCMDで書き込む場合のコマンドシーケンスを説明する図である。
図6(a)において、メモリ装置1は、書き込みコマンドWCMDに続いてファイルシステム情報DIR1またはDIR2を受信すると、メモリ装置1は、ホスト装置2に対して、BUSY信号を出すとともに、ホスト装置2から受信したファイルシステム情報を不揮発性メモリ12へ書き込む。このとき、図6(b)に示すように、ファイルシステム情報DIR1とDIR2とを異なるMAU61および62に書き込むようにしてもよいし、図6(c)に示すように、同じMAU63に書き込むようにしてもよい。DIR1とDIR2とは、通常、異なるデータのファイルシステム情報であるため、DIR1の論理アドレスとDIR2の論理アドレスとは、通常、連続するアドレスではなく、図6(b)、(c)のいずれの場合においても、DIR1とDIR2は、異なるページに書き込まれる。ここで、「ページ」とは、不揮発性メモリ12の書き込み単位を意味し、例えば、NANDフラッシュメモリにおけるページが該当する。
(1.2.2.2:第2のファイルシステム情報書き込みモード)
次に、不揮発性メモリシステム1000における第2のファイルシステム情報書き込みモードについて説明する。
図7は、本実施形態に係るメモリ装置1の、第2のファイルシステム情報書き込みモードを説明する図である。
図7(a)は、ホスト装置2がファイルシステム情報DIR1、DIR2を、それぞれ別の書き込みコマンドWCMDで書き込む場合のコマンドシーケンスを説明する図である。
図7(a)において、ホスト装置2は、メモリ装置1に対して、まず、ファイルシステム情報書き込みモード切り替えコマンドFS−MOD2を発行し、その後、ホスト装置2は、メモリ装置1に対して、書き込みコマンドWCMDを発行して、メモリ装置1により、DIR1、DIR2の書き込み処理が実行される。
メモリ装置1は、ホスト装置2からFS−MOD2を受信すると、コマンドFS−MOD2に続いて発行される書き込みコマンドWCMDのうち、DIR1を書き込むWCMD(図7(a)にC1で示した書き込みコマンドWCMD)を受信したときは、ファイルシステム情報DIR1を受信し、受信したDIR1を不揮発性メモリ12に書き込む処理を実行せず、次のコマンドWCMDを受信可能な状態にする。したがって、このとき、メモリ装置1からホスト装置2に対して出力されるBUSY信号の出力期間も短時間となる。また、このとき、メモリ装置1は、ファイルシステム情報DIR1を、例えば、データ制御部113内のバッファRAMに保持しておく。
メモリ装置1は、続くWCMD(図7(a)にC2で示した書き込みコマンドWCMD)を受信したときは、続くファイルシステム情報DIR2を受信し、保持しているファイルシステム情報DIR1とまとめて、ファイルシステム情報DIR2を不揮発性メモリ12へ書き込む。メモリ装置1は、ファイルシステム情報DIR1およびDIR2の書き込み処理が完了するまで、ホスト装置2に対してBUSY信号を出力し続ける。
図7(b)は、ファイルシステム情報DIR1およびDIR2が書き込まれる不揮発性メモリ内のMAUの状態を説明する図である。
図7(b)において、ファイルシステム情報DIR1およびDIR2は、MAU71内の同じページに書き込まれる。このため、不揮発性メモリシステム1000では、図6で説明した第1のファイルシステム情報書き込みモードに比べて、ファイルシステム情報DIR1、DIR2を書き込むトータル時間を短縮することができる。なお、コマンドFS−MOD2には、第2のファイルシステム情報書き込みモードで書き込み処理の対象となるファイル数およびファイルを識別する情報を含ませるようにすることが好ましい。
このように、不揮発性メモリシステム1000の第2のファイルシステム情報書き込みモードでは、複数のファイルを書き込む際のファイルシステム情報の書き込み処理に要するトータル時間を減らすことができる。このため、メモリ装置1からホスト装置2に出力されるBUSY信号のトータルの出力期間が短くなる、すなわち、ホスト装置2がメモリ装置1にデータ送信できずに送信待ちとなる時間が少なくなる。その結果、不揮発性メモリシステム1000では、ホスト装置2が送信待ち状態のときに保持すべきデータ量が少なくて済むので、ホスト装置2の持つバッファサイズの増大を抑えることができる。
(1.2.2.3:ファイルシステム情報書き込みモードの状態遷移図)
図8は、本実施形態に係るメモリ装置1のファイルシステム情報書き込みモードの状態遷移図を説明する図である。
図8において、メモリ装置1は、電源ON時またはリセット時にはIDLE状態81となり、ホスト装置2による初期化処理が行われると、第1のファイルシステム情報書き込みモード82に移行する。その後、メモリ装置1は、ホスト装置2からのコマンドに従って、第1のファイルシステム情報書き込みモード82と第2のファイルシステム情報書き込みモード83との間でモードの切り替えを行い、選択されたモードに応じて不揮発性メモリ12へのファイルシステム情報の書き込みを行う。
(1.2.2.4:ファイルシステム情報書き込みモードのコマンドシーケンス)
図9は、図8における第1のファイルシステム情報書き込みモード82と第2のファイルシステム情報書き込みモード83との間の切り替えを行うためのコマンドシーケンスを説明する図である。
なお、図9(a)〜(c)に示すFS−MOD1およびFS−MOD2は、図14(a)〜(d)に示すいずれかのシーケンスをとるものであり、図9(a)〜(c)では、説明便宜のため、FS−MOD1およびFS−MOD2等における詳細なシーケンスは省略して図示している。
図9に示すように、メモリ装置1は、ホスト装置2が発行したファイルシステム情報書き込みモード切り替えコマンドFS−MOD2を受信すると、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモード82から第2のファイルシステム情報書き込みモード83へ遷移させる。そして、ファイルシステム情報書き込み管理部1124は、第2のファイルシステム情報書き込みモードに移行した時点以降、ホスト装置2から、ファイルシステム情報の書き込みを指示する書き込みコマンドを受信した場合、第2のファイルシステム情報書き込みモードで、ファイルシステム情報を不揮発性メモリ12に書き込むように制御を行う。
また、図9(a)に示すように、メモリ装置1は、ホスト装置2が発行したファイルシステム情報書き込みモード切り替えコマンドD−MOD1を受信すると、ファイルシステム情報書き込みモードを、第2のファイルシステム情報書き込みモード83から第1のファイルシステム情報書き込みモード82に遷移させる。そして、ファイルシステム情報書き込み管理部1124は、第1のファイルシステム情報書き込みモードに移行した時点以降、ホスト装置2から、ファイルシステム情報の書き込みを指示する書き込みコマンドを受信した場合、第1のファイルシステム情報書き込みモードで、ファイルシステム情報を不揮発性メモリ12に書き込むように制御を行う。
図9(b)および図9(c)のように、メモリ装置1は、ファイルシステム情報書き込みモードを、第2のファイルシステム情報書き込みモード83から第1のファイルシステム情報書き込みモード82に遷移させることも可能である。
すなわち、図9(b)に示すように、メモリ装置1は、ホスト装置2が発行した第2のファイルシステム情報書き込みモード終了コマンドFS−ENDを受信すると、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモード82へ遷移させる。
また、図9(c)に示すように、メモリ装置1が、不揮発性メモリ12に対して、第2のファイルシステム情報書き込みモードで所定の回数のデータの書き込みを行った後、メモリ装置1は、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモード82へ遷移させる。なお、「所定の回数」は、ホスト装置2が、メモリ装置1に対して、ファイルシステム情報書き込みモード切り替えコマンドFS−MOD2を発行するときにコマンドの引数として設定してもよいし、あるいは、メモリ装置1の持つレジスタに、予め「所定の回数」を示す値を保持させておくようにしてもよい。
このように、本実施形態の不揮発性メモリシステム1000では、メモリ装置1が、ホスト装置2の発行するコマンドによって、ファイルシステム情報書き込みモードを第1のファイルシステム情報書き込みモードと第2のファイルシステム情報書き込みモードとを切り替えて不揮発性メモリ12へのファイルシステム情報の書き込み処理を行う。
これによって、不揮発性メモリシステム1000では、複数ファイルのファイルシステム情報を不揮発性メモリ12に書き込むトータル時間を短縮することができるので、ホスト装置2のバッファサイズの増大を抑えることが可能となる。
(1.2.3:書き込みデータの再配置)
ここまで説明したように、不揮発性メモリシステム1000において、第2のデータ書き込みモード或いは第2のファイルシステム情報書き込みモードで、複数ファイルのデータやファイルシステム情報を書き込んだ場合、不揮発性メモリ12上の同じMAU内に、異なるファイルのデータやファイルシステム情報が混在することになる。このような状態で、不揮発性メモリシステム1000において、データやファイルシステム情報の管理を行う場合、第1のデータ書き込みモード或いは第1のファイルシステム情報書き込みモードで書き込んだ場合に比べて制御が複雑になる。例えば、不揮発性メモリシステム1000において、記録したファイルのうち、特定のファイルのデータやファイルシステム情報を削除する処理を行う場合、同一のMAU内に有効なデータと無効なデータが混在する、いわゆるフラグメント状態を管理する必要がある。
従って、第2のデータ書き込みモードで書き込んだデータおよび第2のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、第1のデータ書き込みモードおよび第1のファイルシステム書き込みモードで書き込んだ状態に再配置する処理が必要となる。
(1.2.3.1:再配置処理(データ再配置コマンド、ファイルシステム情報再配置コマンドによる場合))
図10は、不揮発性メモリシステム1000において、第2のデータ書き込みモードで書き込んだデータを、第1のデータ書き込みモードで書き込んだ状態に再配置する処理を説明するための図である。
図10(a)は、一連の処理のコマンドシーケンスを説明する図である。
図10(a)に示すように、ホスト装置2がメモリ装置1にデータ書き込みモード切り替えコマンドD−MOD2を発行して、メモリ装置1が第2のデータ書き込みモードでデータを書き込んだ後、ホスト装置2がメモリ装置1に、データ再配置コマンドD−Unpackを発行すると、メモリ装置1のメモリコントローラ部11は、第2のデータ書き込みモードで書き込まれたMAU内のデータを、論理アドレスに基づいて異なるMAUに再配置する。
図10(b)は、不揮発性メモリシステム1000において、第2のデータ書き込みモードでデータを書き込まれたMAU100のデータを、MAU101およびMAU102に再配置する処理を模式的に示す図である。
図10(b)において、MAU100には、論理アドレス空間上で2つのMAUに属するデータDAT1−n(n=1、2・・・)、DAT2−m(m=1、2・・・)が書き込まれており、メモリ装置1がデータ再配置コマンドD−Unpackを受信した場合、メモリコントローラ部11は、MAU100のデータを論理アドレスに応じてMAU101およびMAU102に再配置する。具体的には、メモリコントローラ部11は、データDAT1−nをMAU101へ、データDAT2−mをMAU102へ、それぞれ、再配置する。このとき、各データの論理アドレスは、メモリコントローラ部11内のアドレス管理部1122が、メモリ装置1のRAM(不図示)または不揮発性メモリ12上で管理している。
図11は、不揮発性メモリシステム1000において、第2のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、第1のファイルシステム書き込みモードで書き込んだ状態に再配置する処理を説明するための図である。
図11(a)は、一連の処理のコマンドシーケンスを説明する図である。
図11(a)に示すように、ホスト装置2がメモリ装置1にファイルシステム情報書き込みモード切り替えコマンドFS−MOD2を発行して、メモリ装置1が第2のファイルシステム情報書き込みモードでファイルシステム情報を書き込んだ後、ホスト装置2がメモリ装置1に、ファイルシステム情報再配置コマンドFS−Unpackを発行すると、メモリ装置1のメモリコントローラ部11は、第2のファイルシステム情報書き込みモードでデータを書き込まれたMAU内のデータを、論理アドレスに基づいて異なるMAUに再配置する。
図11(b)は、不揮発性メモリシステム1000において、第2のファイルシステム情報書き込みモードでファイルシステム情報を書き込まれたMAU110のデータを、MAU111およびMAU112に再配置する処理を模式的に示す図である。
図11(b)において、MAU110には異なるファイルのファイルシステム情報DIR1およびDIR2が同一ページ内(図11(b)に#P00で示すページ内)に保持されており、メモリ装置1がファイルシステム情報再配置コマンドFS−Unpackを受信した場合、メモリコントローラ部11は、MAU110のファイルシステム情報を論理アドレスに応じてMAU111およびMAU112に再配置する。具体的には、メモリコントローラ部11は、ファイルシステム情報DIR1をMAU111へ、ファイルシステム情報DIR2をMAU112へ、それぞれ、再配置する。このとき、各ファイルシステム情報の論理アドレスは、メモリコントローラ部11内のアドレス管理部1122が、メモリ装置1のRAM(不図示)または不揮発性メモリ12上で管理している。
以上説明したように、不揮発性メモリシステム1000では、任意のタイミングでホスト装置2がデータ再配置コマンドD−Unpack、ファイルシステム情報再配置コマンドFS−Unpackを発行すると、メモリ装置1は、コマンドに従って、第2のデータ書き込みモードあるいは第2のファイルシステム情報書き込みモードで書き込まれたMAU内のデータ、ファイルシステム情報の再配置を行う。これにより、不揮発性メモリシステム1000では、第1のデータ書き込みモード或いは第1のファイルシステム情報書き込みモードで書き込んだ場合と同様にデータおよびファイルシステム情報を管理することができるようになる。
また、不揮発性メモリシステム1000において、上記で説明した再配置処理は、他の処理と組み合わせて行うことも可能である。
(1.2.3.2:再配置処理(他の処理と組み合わせる場合))
図12および図13は、不揮発性メモリシステム1000において、上記で説明した再配置処理を他の処理と組み合わせて行うタイミングの一例を説明する図である。
≪データ消去処理と組み合わせる場合≫
まず、不揮発性メモリシステム1000において、再配置処理をデータ消去処理と組み合わせて行う場合について、説明する。
図12は、不揮発性メモリシステム1000において、再配置処理をデータ消去処理と組み合わせて行う場合の処理を説明するための図である。つまり、図12は、ホスト装置2がメモリ装置1に対して、消去コマンドを発行した際にデータの再配置を行う処理を説明するための図である。
なお、図12に示すErase−2は、図14(c)または図14(d)に示すシーケンスをとるものであり、図12では、説明便宜のため、Erase−2等における詳細なシーケンスは省略して図示している。
図12(a)は、一連の処理のコマンドシーケンスを説明する図である。
図12(a)において、ホスト装置2は、メモリ装置1に対して、データ書き込みモード切り替えコマンドD−MOD2を発行し、メモリ装置1は、データ書き込みモード切り替えコマンドD−MOD2を受信し、第2のデータ書き込みモードでデータを書き込む。その後、不揮発性メモリシステム1000において、書き込んだデータのうち、一方のデータを削除する場合(ここでは、DAT2−mを削除するものとする。)、ホスト装置2は、メモリ装置1に消去コマンドErase−2を発行する。メモリ装置1は、消去コマンドErase−2を受信すると、消去コマンドErase−2により消去対象とされたデータDAT2−mを消去すると共に、データDAT1−nの再配置を行う。
図12(b)は、DAT2−mの消去時に、DAT1−nの再配置を行う処理を説明する図である。
図12(b)において、MAU120には、論理アドレス空間上で2つのMAUに属するデータDAT1−n(n=1、2・・・)、DAT2−m(m=1、2・・・)が書き込まれており、メモリ装置1が、ホスト装置2から、MAU120のデータのうちDAT2−mを消去するコマンドErase−2を受信すると、メモリコントローラ部11は、データDAT2−mを消去すると共に、データDAT1−nをMAU121へ再配置する。このとき、MAU120内のうち消去するデータと再配置するデータとは、メモリコントローラ部11内のアドレス管理部1122が、メモリ装置1のRAM(不図示)または不揮発性メモリ12上で管理している。
≪ファイルシステム上の操作でデータを消去する処理と組み合わせる場合≫
次に、不揮発性メモリシステム1000において、再配置処理をファイルシステム上の操作でデータを消去する処理と組み合わせて行う場合について、説明する。
図13は、不揮発性メモリシステム1000において、再配置処理をファイルシステム上の操作でデータを消去する処理と組み合わせて行う場合の処理を説明するための図である。つまり、図13は、ホスト装置2がメモリ装置1に対して、ファイルシステム上の操作でデータを消去する際に、データの再配置を行う処理を説明するための図である。
図13(a)は、一連の処理のコマンドシーケンスを説明する図である。
図13(a)において、ホスト装置2は、メモリ装置1に対して、データ書き込みモード切り替えコマンドD−MOD2を発行し、メモリ装置1は、データ書き込みモード切り替えコマンドD−MOD2を受信すると、第2のデータ書き込みモードでデータを書き込む。その後、ホスト装置2は、メモリ装置1に対して、書き込みコマンドWFSを発行し、メモリ装置1は、書き込みコマンドWFSを受信すると、ファイルシステムのデータ(例えば、File Allocation Table)の該当するデータを更新し、書き込んだデータのうち一方のデータ(ここでは、データDAT2−mを削除するものとする。)を削除する(ファイルシステム上の操作でデータを消去する)。その後、ホスト装置2は、メモリ装置1に対して、残ったデータDAT1−mについてデータ再配置コマンドD−Unpack1を発行し、メモリ装置1は、データDAT1−mについてデータ再配置コマンドD−Unpack1を受信すると、データDAT1−mについて再配置処理を行う。
なお、図13に示すWFSは、図14(b)または図14(d)に示すシーケンスをとるものであり、図13では、説明便宜のため、WFS等における詳細なシーケンスは省略して図示している。
図13(b)は、不揮発性メモリシステム1000において、データDAT2−mをファイルシステム操作で消去した後に、DAT1−nの再配置を行う処理を説明するための図である。
図13(b)において、MAU130には、論理アドレス空間上で2つのMAUに属するデータDAT1−n(n=1、2・・・)、DAT2−m(m=1、2・・・)が書き込まれている。ホスト装置2がファイルシステム操作でDAT2−mを消去すると、図13(b)に示すように、MAU130は、ファイルシステム上ではMAU131の状態となる。図13(b)において、バツ印を付している部分(ページ)は、不揮発性メモリ12上にはデータが存在するが、ファイルシステム上では、削除されている状態を示している。この状態で、ホスト装置2が、DAT1−nを再配置するためにデータ再配置コマンドD−Unpack1をメモリ装置1へ発行すると、メモリコントローラ部11は、MAU131に含まれるデータのうち、DAT1−nをMAU132へ再配置する。このとき、MAU131内のうち消去するデータと再配置するデータとは、メモリコントローラ部11内のアドレス管理部1122が、メモリ装置1のRAM(不図示)または不揮発性メモリ上で管理している。
このように、不揮発性メモリシステム1000では、消去コマンドによるデータ消去処理、或いはファイルシステム操作によるデータの消去処理は、ホスト装置2が記録したファイル(図12、図13の場合では、DAT1−nおよびDAT1−mに相当。)のうちのいずれかを消去する場合に行われる。このため、不揮発性メモリシステム1000において、消去コマンドによるデータ消去処理、或いはファイルシステム操作によるデータの消去処理を行うタイミングで、データの再配置処理を行うことで、再配置処理を効率的に行うことが可能である。つまり、不揮発性メモリシステム1000では、比較的処理時間の長いデータ消去処理が実行されているときに、データ消去処理とともにデータの再配置処理が実行されるため、ユーザに、データの再配置処理に時間がかかっている意識をさせることなく、データの再配置処理を実行することができる。
このように、本実施形態に係る不揮発性メモリシステム1000では、複数のファイルのデータおよび複数のファイルシステム情報を、ホスト装置2がメモリ装置1に記録する場合に、メモリ装置1からホスト装置2に対して出力されるBUSY信号の出力期間が短くなるように、データ書き込みモードおよびファイルシステム情報書き込みモードを切替えて、データあるいはファイルシステム情報を記録する。このため、不揮発性メモリシステム1000では、ホスト装置2が送信待ちとなる期間を短くすることできるので、ホスト装置2が送信待ち状態のときに保持すべきデータ量も少なくすることができる。
これにより、不揮発性メモリシステム1000では、ホスト装置2のバッファサイズを増やすことなく、複数ファイルのリアルタイム記録を容易に行うことが可能となる。
また、不揮発性メモリシステム1000では、ユーザにデータの再配置処理の実行を意識させずに、記録したデータやファイルシステム情報を再配置し、第1のデータ書き込みモード或いは第1のファイルシステム情報書き込みモードで書き込んだ場合と同様にデータやファイルシステム情報を配置することができる。これにより、不揮発性メモリシステム1000では、不揮発性メモリ12上のデータ管理が複雑になることを防ぐことも可能である。
[他の実施形態]
上記実施形態では、不揮発性メモリシステム1000において、記録するファイルの数が「2」である場合について説明したが、本発明の適用範囲は、これに限定されるものではなく、例えば、記録するファイルの数は3以上であってもよい。
また、データ書き込みモード切り替えコマンド、ファイルシステム情報書き込みモード切り替えコマンド、第2のデータ書き込みモード終了コマンド、第2のファイルシステム情報書き込みモード終了コマンド、データ再配置コマンド、ファイルシステム情報再配置コマンドは、異なる識別子を有する、それぞれ別個のコマンドであってもよく、あるいは、同じ識別子のコマンドにおいて、その引数を変えることで、これら複数の機能を実現させるための単一コマンドであってもよい。
また、不揮発性メモリシステムにおいて、データの再配置とファイルシステム情報の再配置とを個別のコマンドで実施してもよく、また、同一のコマンドにより、データの再配置処理とファイルシステム情報の再配置処理とをまとめて実施してもよい。
また、不揮発性メモリシステムにおいて、データの再配置処理とファイルシステム情報の再配置処理を容易に実現させるために、データやファイルシステム情報を書き込む際に、同一ファイルのデータとファイルシステム情報とを対応付けるようにコマンドの引数にファイル番号を設定する等することが好ましい。例えば、不揮発性メモリシステムにおいて、ファイル番号「1」のデータと、ファイル番号「2」のデータと、を記録する場合、以下のようにすればよい。
(1)ファイル番号「1」のデータを書き込むための書き込みコマンドには、その引数に、ファイル番号「1」を含ませる。
(2)ファイル番号「1」のファイルシステム情報を書き込むための書き込みコマンドには、その引数に、ファイル番号「1」を含ませる。
(3)ファイル番号「2」のデータを書き込むための書き込みコマンドには、その引数に、ファイル番号「2」を含ませる。
(4)ファイル番号「2」のファイルシステム情報を書き込むための書き込みコマンドには、その引数に、ファイル番号「2」を含ませる。
また、第2のデータ書き込みモードあるいは第のファイルシステム情報書き込みモードに移行する前に、ファイル番号と書き込むMAUを対応付ける情報を含むコマンドを、ホスト装置2からメモリ装置1に対して発行するようにしてもよい。
上記のようにすることで、不揮発性メモリシステムにおいて、データの再配置処理、あるいはファイルシステム情報の再配置処理を実行するときに、どのデータを再配置処理の対象とすればよいかが容易に分かるので、好ましい。
また、上記実施形態では、不揮発性メモリ12には、フラッシュメモリが用いられることを想定しているが、これに限定されることはなく、ハードディスクや不揮発性RAMなど他の不揮発性メモリを用いて、不揮発性メモリシステムを構成してもよい。
なお、上記実施形態で説明した不揮発性メモリシステム、ホスト装置およびメモリ装置において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る不揮発性メモリシステム、ホスト装置およびメモリ装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
本発明によると、ホスト装置のバッファサイズ増大を抑えながら複数ファイルのリアルタイム記録が可能なメモリ装置、ホスト装置およびメモリシステムを提供することができ、特に大容量の不揮発性メモリに動画を記録するテレビやDVRなどのホスト装置と、リムーバブルなメモリカードやエンベデッドデバイスなど不揮発性メモリを有するメモリ装置に有用である。
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 (23)

  1. ホスト装置と通信することができるように接続されており、前記ホスト装置からのコマンドに従って、データの書き込みおよび/またはデータの読み出しを行うメモリ装置であって、
    データを記憶する不揮発性メモリと、
    前記ホスト装置の発行するコマンドに含まれる論理アドレスに応じて、前記不揮発性メモリへのデータの書き込み処理および前記不揮発性メモリからのデータの読み出し処理の制御を行い、また、前記不揮発性メモリのメモリ領域をメモリアロケーションユニット単位で管理し、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むように制御するメモリコントローラ部と、
    を備え、
    前記メモリコントローラ部は、
    前記ホスト装置からの指示に従い、データ書き込みモードを、第1のデータ書き込みモードおよび第2のデータ書き込みモードのいずれかに切り換えて、前記不揮発性メモリへのデータ書き込み処理を制御することができ、
    (1)前記第1のデータ書き込みモードによるデータ書き込み処理を行う場合、メモリアロケーションユニット単位で、前記ホスト装置の論理アドレスと前記不揮発性メモリの物理アドレスとを対応させ、前記ホスト装置が管理する論理アドレス空間における前記メモリアロケーションユニット内でのデータ配置と、前記不揮発性メモリの物理アドレス空間における前記メモリアロケーションユニット内でのデータ配置とが同一になるように、前記ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスに応じて、前記不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを選択し、選択した前記メモリアロケーションユニットに対して、データ書き込み処理を行い、
    (2)前記第2のデータ書き込みモードによるデータ書き込み処理を行う場合、前記不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを第2データ書き込みモード用メモリアロケーションユニットとして選択し、前記ホスト装置から受信した書き込みデータを、前記ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスによらず、選択した前記第2データ書き込みモード用メモリアロケーションユニットに、連続して書き込む、
    メモリ装置。
  2. 前記メモリコントローラ部は、電源投入時およびリセット後の初期状態では、前記第1のデータ書き込みモードでデータ書き込み処理を行い、前記ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、前記第2のデータ書き込みモードに切り替える、
    請求項1に記載のメモリ装置。
  3. 前記メモリコントローラ部は、前記ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、前記第1のデータ書き込みモードに切り替える、
    請求項1に記載のメモリ装置。
  4. 前記メモリコントローラ部は、前記ホスト装置から発行される第2のデータ書き込みモード終了コマンドに従って、データ書き込みモードを、前記第1のデータ書き込みモードに切り替える、
    請求項1に記載のメモリ装置。
  5. 前記メモリコントローラ部は、前記ホスト装置から発行されるデータ再配置コマンドに従って、前記第2のデータ書き込みモードで書き込んだデータを、メモリアロケーションユニット単位で論理アドレスと物理アドレスが対応するよう、前記不揮発性メモリの物理アドレス空間内において再配置する、
    請求項1から4のいずれかに記載のメモリ装置。
  6. 前記メモリコントローラ部は、前記ホスト装置から発行されるデータ消去コマンドにより、前記第2のデータ書き込みモードで書き込んだデータの一部が消去された場合、残りのデータを、前記第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置する、
    請求項1から4のいずれかに記載のメモリ装置。
  7. 前記メモリコントローラ部は、
    前記ホスト装置からの指示に従い、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードおよび第2のファイルシステム情報書き込みモードのいずれかに切り換えて、前記不揮発性メモリへのファイルシステム情報の書き込み処理を制御することができ、
    (1)前記第1のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、前記ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、異なるデータのファイルシステム情報を、前記書き込みコマンドを受信するごとに、逐次、前記不揮発性メモリに書き込むよう制御し、
    (2)前記第2のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、前記ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、複数の異なるファイルシステム情報のデータを、一括して前記不揮発性メモリの同じページに書き込むよう制御する、
    請求項1から6のいずれかに記載のメモリ装置。
  8. 前記メモリコントローラ部は、電源投入時およびリセット後の初期状態では、前記第1のファイルシステム情報書き込みモードでファイルシステム情報の書き込み処理を行い、前記ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、前記第2のファイルシステム情報書き込みモードに切り替える、
    請求項7に記載のメモリ装置。
  9. 前記メモリコントローラ部は、前記ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、前記第1のファイルシステム情報書き込みモードに切り替える、
    請求項7に記載のメモリ装置。
  10. 前記メモリコントローラ部は、前記ホスト装置から発行される第2のファイルシステム情報書き込みモード終了コマンドに従って、ファイルシステム情報書き込みモードを、前記第1のファイルシステム情報書き込みモードに切り替える、
    請求項7に記載のメモリ装置。
  11. 前記メモリコントローラ部は、前記ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第2のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、異なる物理ページに格納されるように、前記不揮発性メモリの物理アドレス空間内において再配置する、
    請求項8から10のいずれかに記載のメモリ装置。
  12. メモリ装置にデータの書き込みおよび前記メモリ装置からデータの読み出しを行うホスト装置であって、
    前記メモリ装置へのコマンド発行と、前記メモリ装置に対してデータ書き込み処理あるいはデータ読み出し処理の対象となるデータの入出力制御と、を行い、また、論理アドレス空間をメモリアロケーションユニット単位で管理して、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むよう前記メモリ装置を制御するメモリ装置制御部を備え、
    前記メモリ装置制御部は、
    前記メモリ装置に指示することで、前記メモリ装置のデータ書き込みモードを、第1のデータ書き込みモードおよび第2のデータ書き込みモードのいずれかに切り換えるよう制御することができる、
    ホスト装置。
  13. 前記メモリ装置制御部は、前記メモリ装置の電源投入時又はリセット後の初期状態では、前記メモリ装置を前記第1のデータ書き込みモードで動作させ、その後、前記メモリ装置へデータ書き込みモード指示コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第2のデータ書き込みモードに切り替えさせる、
    請求項12記載のホスト装置。
  14. 前記メモリ装置制御部は、前記メモリ装置へデータ書き込みモード指示コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第1のデータ書き込みモードに切り替えさせる、
    請求項12から13のいずれかに記載のホスト装置。
  15. 前記メモリ装置制御部は、前記メモリ装置へ第2のデータ書き込みモード終了コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第1のデータ書き込みモードに切り替えさせる、
    請求項12または13に記載のホスト装置。
  16. 前記メモリ装置制御部は、前記メモリ装置へデータ再配置コマンドを発行して、前記メモリ装置に、前記メモリ装置により前記第2のデータ書き込みモードで書き込まれたデータを、前記第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる、
    請求項12から15のいずれかに記載のホスト装置。
  17. 前記メモリ装置制御部は、前記メモリ装置へ第2のデータ書き込みモードで書き込んだデータの一部を、ファイルシステム情報を更新してファイルシステム上で消去する際に、前記メモリ装置に、前記メモリ装置により前記第2のデータ書き込みモードで書き込まれたデータを、前記第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置させる、
    請求項16に記載のホスト装置。
  18. 前記メモリ装置制御部は、
    前記メモリ装置に指示することで、前記メモリ装置のファイルシステム情報書き込みモードを、1のファイルシステム情報書き込みモードおよび2のファイルシステム情報書き込みモードのいずれかに切り換えるよう制御することができる、
    請求項12から17のいずれかに記載のホスト装置。
  19. 前記メモリ装置制御部は、前記メモリ装置の電源投入時およびリセット後の初期状態では、前記メモリ装置を前記第1のファイルシステム情報書き込みモードで動作させ、その後、前記メモリ装置に対してファイルシステム情報書き込みモード指示コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第2のファイルシステム情報書き込みモードに切り替えさせる、
    請求項18に記載のホスト装置。
  20. 前記メモリ装置制御部は、前記メモリ装置にファイルシステム情報書き込みモード指示コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第1のファイルシステム情報書き込みモードに切り替えさせる、
    請求項18に記載のホスト装置。
  21. 前記メモリ装置制御部は、前記メモリ装置に第2のファイルシステム情報書き込みモード終了コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第1のファイルシステム情報書き込みモードに切り替えさせる、
    請求項18に記載のホスト装置。
  22. 前記メモリ装置制御部は、前記メモリ装置へファイルシステム情報再配置コマンドを発行して、前記メモリ装置に、前記メモリ装置により前記第2のファイルシステム情報書き込みモードで書き込まれたデータを、前記第1のファイルシステム情報書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、揮発性メモリの物理アドレス空間内において再配置させる、
    請求項18から21のいずれかに記載のホスト装置。
  23. 請求項1から11のいずれかに記載のメモリ装置と、
    請求項12から22のいずれかに記載のホスト装置と、
    を備えるメモリシステム。
JP2011524658A 2009-07-29 2010-07-27 メモリ装置、ホスト装置およびメモリシステム Active JP5362010B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011524658A JP5362010B2 (ja) 2009-07-29 2010-07-27 メモリ装置、ホスト装置およびメモリシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009176884 2009-07-29
JP2009176884 2009-07-29
JP2011524658A JP5362010B2 (ja) 2009-07-29 2010-07-27 メモリ装置、ホスト装置およびメモリシステム
PCT/JP2010/004758 WO2011013350A1 (ja) 2009-07-29 2010-07-27 メモリ装置、ホスト装置およびメモリシステム

Publications (2)

Publication Number Publication Date
JPWO2011013350A1 JPWO2011013350A1 (ja) 2013-01-07
JP5362010B2 true JP5362010B2 (ja) 2013-12-11

Family

ID=43529022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011524658A Active JP5362010B2 (ja) 2009-07-29 2010-07-27 メモリ装置、ホスト装置およびメモリシステム

Country Status (3)

Country Link
US (1) US20110258372A1 (ja)
JP (1) JP5362010B2 (ja)
WO (1) WO2011013350A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008117520A1 (ja) * 2007-03-28 2010-07-15 パナソニック株式会社 メモリコントローラ、不揮発性メモリシステムおよびホスト装置
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
JP2011175615A (ja) * 2010-01-27 2011-09-08 Toshiba Corp ホスト装置およびメモリデバイス
TWI494948B (zh) * 2011-01-31 2015-08-01 Phison Electronics Corp 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
TWI521343B (zh) 2011-08-01 2016-02-11 Toshiba Kk An information processing device, a semiconductor memory device, and a semiconductor memory device
JP5762930B2 (ja) * 2011-11-17 2015-08-12 株式会社東芝 情報処理装置および半導体記憶装置
US9417998B2 (en) * 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9329990B2 (en) * 2013-01-11 2016-05-03 Micron Technology, Inc. Host controlled enablement of automatic background operations in a memory device
JP6207213B2 (ja) * 2013-04-23 2017-10-04 キヤノン株式会社 情報処理装置
KR102108839B1 (ko) * 2013-06-12 2020-05-29 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 사용자 장치 및 그것의 데이터 쓰기 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004127426A (ja) * 2002-10-02 2004-04-22 Sanyo Electric Co Ltd 記録制御装置、方法、およびその記録制御方法を利用可能な記録媒体
WO2005103903A1 (ja) * 2004-04-20 2005-11-03 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶システム
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
WO2009013877A1 (ja) * 2007-07-20 2009-01-29 Panasonic Corporation メモリコントローラ、メモリカード、不揮発性メモリシステム
JP2010140268A (ja) * 2008-12-11 2010-06-24 Toshiba Corp メモリデバイス

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797812A (en) * 1985-06-19 1989-01-10 Kabushiki Kaisha Toshiba System for continuous DMA transfer of virtually addressed data blocks
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US6549974B2 (en) * 1992-06-22 2003-04-15 Hitachi, Ltd. Semiconductor storage apparatus including a controller for sending first and second write commands to different nonvolatile memories in a parallel or time overlapped manner
JP3348367B2 (ja) * 1995-12-06 2002-11-20 富士通株式会社 多重アクセス方法および多重アクセスキャッシュメモリ装置
US5956507A (en) * 1996-05-14 1999-09-21 Shearer, Jr.; Bennie L. Dynamic alteration of operating system kernel resource tables
US8108590B2 (en) * 2000-01-06 2012-01-31 Super Talent Electronics, Inc. Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear
JP2003140980A (ja) * 2001-10-31 2003-05-16 Hitachi Ltd 記録装置
US6795872B2 (en) * 2002-05-09 2004-09-21 Renesas Technology America, Inc. Maintaining at least partial functionality of a device as defined by a hardware configuration at a USB bus enumeration while the device memory is programmed
US7121639B2 (en) * 2002-12-02 2006-10-17 Silverbrook Research Pty Ltd Data rate equalisation to account for relatively different printhead widths
WO2005124530A2 (en) * 2004-06-21 2005-12-29 Kabushiki Kaisha Toshiba Method for controlling memory card and method for controlling nonvolatile semiconductor memory
CA2563277C (en) * 2004-07-12 2013-01-08 Kabushiki Kaisha Toshiba Storage device and host apparatus
TW200636471A (en) * 2005-04-01 2006-10-16 Mediatek Inc Method of parallel programmable memory and the system thereof
JP4896450B2 (ja) * 2005-06-30 2012-03-14 株式会社東芝 記憶装置
JP4859837B2 (ja) * 2005-09-22 2012-01-25 パナソニック株式会社 情報記録媒体アクセス装置、及びデータ記録方法
JP4498370B2 (ja) * 2007-02-14 2010-07-07 株式会社東芝 データ書き込み方法
US20080250220A1 (en) * 2007-04-06 2008-10-09 Takafumi Ito Memory system
CN101627438B (zh) * 2007-10-29 2013-10-09 松下电器产业株式会社 非易失性存储装置以及非易失性数据记录介质
US8423592B2 (en) * 2008-04-11 2013-04-16 Sandisk Technologies Inc. Method and system for accessing a storage system with multiple file systems
JP5443998B2 (ja) * 2008-07-30 2014-03-19 パナソニック株式会社 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム
JP4649503B2 (ja) * 2008-08-13 2011-03-09 株式会社東芝 半導体装置
US8090899B1 (en) * 2009-03-04 2012-01-03 Western Digital Technologies, Inc. Solid state drive power safe wear-leveling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004127426A (ja) * 2002-10-02 2004-04-22 Sanyo Electric Co Ltd 記録制御装置、方法、およびその記録制御方法を利用可能な記録媒体
WO2005103903A1 (ja) * 2004-04-20 2005-11-03 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶システム
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
WO2009013877A1 (ja) * 2007-07-20 2009-01-29 Panasonic Corporation メモリコントローラ、メモリカード、不揮発性メモリシステム
JP2010140268A (ja) * 2008-12-11 2010-06-24 Toshiba Corp メモリデバイス

Also Published As

Publication number Publication date
WO2011013350A1 (ja) 2011-02-03
JPWO2011013350A1 (ja) 2013-01-07
US20110258372A1 (en) 2011-10-20

Similar Documents

Publication Publication Date Title
JP5362010B2 (ja) メモリ装置、ホスト装置およびメモリシステム
JP5400875B2 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム
KR100483643B1 (ko) 메모리 장치
JP3825465B2 (ja) メモリカード及びメモリカードシステム
JP4059002B2 (ja) メモリ装置
JP5443998B2 (ja) 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム
US20120137057A1 (en) Memory device
JPH1069420A (ja) 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法
JP5175703B2 (ja) メモリデバイス
JP5481493B2 (ja) アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
US9778857B2 (en) Recording device, access device, recording system, and recording method
WO2006051780A1 (ja) 同時アクセスするバンク数が異なるメモリコントローラに対応した不揮発性メモリ装置
JP2008027383A (ja) 情報記録装置及びその制御方法
JP2007193449A (ja) 情報記録装置及びその制御方法
US20070168603A1 (en) Information recording apparatus and control method thereof
CN114371812B (zh) 控制器及其操作方法
JP2007193448A (ja) 情報記録装置及びその制御方法
US8572307B2 (en) Memory controller, memory card, and nonvolatile memory system
JP5398761B2 (ja) メモリシステム
JP2007193866A (ja) 情報記録装置及びその制御方法
WO2011021367A1 (ja) 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
JP2008250718A (ja) 不揮発性キャッシュメモリを用いた記憶装置とその制御方法
US7447853B2 (en) Data copy device
JP2011095853A (ja) 不揮発性記憶装置、ホスト装置および不揮発性記憶システム
WO2011007511A1 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130730

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130903

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