JP5362010B2 - メモリ装置、ホスト装置およびメモリシステム - Google Patents
メモリ装置、ホスト装置およびメモリシステム Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/418—External card to be used in combination with the client device, e.g. for conditional access
- H04N21/4184—External card to be used in combination with the client device, e.g. for conditional access providing storage capabilities, e.g. memory stick
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/60—Solid state media
- G11B2220/61—Solid 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
また、近年、内蔵する不揮発性メモリの容量が増加し動画記録用途への応用が広がっている。メモリ装置に動画データを記録する場合、一定の書き込み速度を保証しながら書き込みを行う、いわゆるリアルタイム記録を行う必要がある。特許文献1には、このような不揮発性メモリを用いたメモリ装置へリアルタイム記録を行う方法が開示されている。
このように従来技術では、記憶デバイスの性能がアロケーションユニット(AU)にデータを連続的に書き込んだ場合の性能を基準として決められており、アロケーションユニット内においてデータ書き込みを行う際の瞬間的な性能の変化(例えば、データ書き込み速度の変化)については規定されていない。つまり、従来技術では、最終的に、アロケーションユニットのサイズ分のデータの書き込みが完了した時点で性能が保証されていれば、アロケーションユニット内においてデータ書き込みを行う際のデータ書き込み速度がどのように変化してもよい。言い換えれば、従来技術では、メモリ装置の不揮発性メモリに、アロケーションユニットのサイズだけデータを書き込まないと性能が保証されない。
また、通常データとファイルシステム情報とは、同一のインタフェースを通じて、ホスト装置から記憶デバイスに書き込まれるため、ファイルシステム情報を書き込む間は、通常データの書き込みは、待たされることになる。このため、ホスト装置は、ファイルシステム情報を書き込む間データを保持するためのバッファをホスト装置に備える必要がある。
すなわち、従来技術では、複数の動画データをリアルタイムに記録することが想定されておらず、記録するチャネル数に比例してホスト装置に必要なバッファのサイズが増大するという課題がある。
本発明は、以上の問題点を解決し、ホスト装置のバッファサイズの増加を抑えながら複数の動画データをリアルタイムに記録することが可能なメモリ装置、ホスト装置およびメモリシステムを提供することを目的とする。
不揮発性メモリは、データを記憶する。メモリコントローラ部は、ホスト装置の発行するコマンドに含まれる論理アドレスに応じて、不揮発性メモリにデータの書き込み処理および不揮発性メモリからのデータの読み出し処理の制御を行い、また、不揮発性メモリのメモリ領域をメモリアロケーションユニット単位で管理し、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むように制御する。
(1)第1のデータ書き込みモードによるデータ書き込み処理を行う場合、メモリアロケーションユニット単位で、ホスト装置の論理アドレスと不揮発性メモリの物理アドレスとを対応させ、ホスト装置が管理する論理アドレス空間におけるメモリアロケーションユニット内でのデータ配置と、不揮発性メモリの物理アドレス空間におけるメモリアロケーションユニット内でのデータ配置とが同一になるように、ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスに応じて、不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを選択し、選択したメモリアロケーションユニットに対して、データ書き込み処理を行う。
(2)第2のデータ書き込みモードによるデータ書き込み処理を行う場合、不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを第2データ書き込みモード用メモリアロケーションユニットとして選択し、ホスト装置から受信した書き込みデータを、ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスによらず、選択した第2データ書き込みモード用メモリアロケーションユニットに、連続して書き込む。
なお、「不揮発性メモリ」は、複数の不揮発性メモリであってもよい。
また、「メモリアロケーションユニット」とは、不揮発性メモリのメモリ領域を分割して管理するための単位であり、物理的な管理単位のN倍(Nは自然数)のサイズとなることが好ましい。なお、「物理的な管理単位」は、例えばNANDフラッシュでは消去単位である物理ブロックを単位として用いることができる。
第2の発明は、第1の発明であって、メモリコントローラ部は、電源投入時およびリセット後の初期状態では、第1のデータ書き込みモードでデータ書き込み処理を行い、ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、第2のデータ書き込みモードに切り替える。
これにより、メモリ装置が第2の書き込みモードであっても、ホスト装置から発行されるデータ書き込みモード指示コマンドにより、メモリ装置の書き込みモードを、第1の書き込みモードにすることができる。
第4の発明は、第1の発明であって、メモリコントローラ部は、ホスト装置から発行される第2のデータ書き込みモード終了コマンドに従って、データ書き込みモードを、第1の書き込みモードに切り替える。
第5の発明は、第1から第4のいずれかの発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ再配置コマンドに従って、第2のデータ書き込みモードで書き込んだデータを、メモリアロケーションユニット単位で論理アドレスと物理アドレスが対応するよう、不揮発性メモリの物理アドレス空間内において再配置する。
第6の発明は、第1から第4の発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ消去コマンドにより、第2のデータ書き込みモードで書き込んだデータの一部が消去された場合、残りのデータを、第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置する。
第7の発明は、第1から第6のいずれかの発明であって、メモリコントローラ部は、ホスト装置からの指示に従い、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードおよび第2のファイルシステム情報書き込みモードのいずれかに切り換えて、不揮発性メモリへのファイルシステム情報の書き込み処理を制御することができる。また、メモリコントローラ部は、以下の(1)、(2)の処理を行う。
(1)第1のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、異なるデータのファイルシステム情報を、書き込みコマンドを受信するごとに、逐次、不揮発性メモリに書き込むよう制御する。
(2)第2のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、複数の異なるファイルシステム情報のデータを、一括して、不揮発性メモリの同じページに書き込むよう制御する。
第8の発明は、第7の発明であって、メモリコントローラ部は、電源投入時およびリセット後の初期状態では、第1のファイルシステム情報書き込みモードでファイルシステム情報の書き込み処理を行い、ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、第2のファイルシステム情報書き込みモードに切り替える。
第10の発明は、第7の発明であって、メモリコントローラ部は、ホスト装置から発行される第2のファイルシステム情報書き込みモード終了コマンドに従って、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードに切り替える。
第11の発明は、第8から第10のいずれかの発明であって、メモリコントローラ部は、ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第2のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、異なる物理ページに格納されるように、不揮発性メモリの物理アドレス空間内において再配置する。
第12の発明は、メモリ装置にコマンドを発行して、メモリ装置にデータの書き込みおよびメモリ装置からデータの読み出しを行うホスト装置であって、メモリ装置制御部を備える。
メモリ装置制御部は、メモリ装置へのコマンド発行と、メモリ装置に対してデータ書き込み処理あるいはデータ読み出し処理の対象となるデータの入出力制御と、を行い、また、論理アドレス空間をメモリアロケーションユニット単位で管理して、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むようメモリ装置を制御する。
このホスト装置では、メモリ装置に対して、例えば、コマンド等により指示することで、メモリ装置のデータ書き込みモードを、第1のデータ書き込みモードおよび第2のデータ書き込みモードのいずれかに切り換えるよう制御することができる。したがって、例えば、単一ファイルのデータ書き込み処理を行う場合は、第1のデータ書き込みモードによるデータ書き込み処理を指示し、複数ファイルをリアルタイム記録する場合は、第2のデータ書き込みモードによるデータ書き込み処理を指示することで、用途に応じて、最適な処理を、メモリ装置に対して指示することができる。
第14の発明は、第12または第13の発明であって、メモリ装置制御部は、メモリ装置へデータ書き込みモード指示コマンドを発行して、メモリ装置のデータ書き込みモードを、第1の書き込みモードに切り替えさせる。
第15の発明は、第12または第13の発明であって、メモリ装置制御部は、メモリ装置へ第2のデータ書き込みモード終了コマンドを発行して、メモリ装置のデータ書き込みモードを、第1の書き込みモードに切り替えさせる。
第17の発明は、第16の発明であって、メモリ装置制御部は、メモリ装置へ第2のデータ書き込みモードで書き込んだデータの一部を、ファイルシステム情報を更新してファイルシステム上で消去する際に、メモリ装置に、メモリ装置により第2のデータ書き込みモードで書き込まれたデータを、第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
第19の発明は、第18の発明であって、メモリ装置制御部は、メモリ装置の電源投入時およびリセット後の初期状態では、メモリ装置を第1のファイルシステム情報書き込みモードで動作させ、その後、メモリ装置に対してファイルシステム情報書き込みモード指示コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第2のファイルシステム情報書き込みモードに切り替えさせる。
第20の発明は、第18の発明であって、メモリ装置制御部は、メモリ装置にファイルシステム情報書き込みモード指示コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードに切り替えさせる。
第22の発明は、第18から第21のいずれかの発明であって、メモリ装置制御部は、メモリ装置へファイルシステム情報再配置コマンドを発行して、メモリ装置に、メモリ装置により第2のファイルシステム情報書き込みモードで書き込まれたデータを、第1のファイルシステム情報書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
第23の発明は、第1から第11のいずれかの発明であるメモリ装置と、第12から第22のいずれかの発明であるホスト装置と、を備えるメモリシステムである。
[第1実施形態]
<1.1:不揮発性メモリシステムの構成>
図1は、本発明の第1実施形態に係る不揮発性メモリシステム(メモリシステム)1000の構成を示すブロック図である。
図1において、本実施形態に係る不揮発性メモリシステム1000は、メモリ装置1とホスト装置2と、を備え、メモリ装置1とホスト装置2とは、バス3により接続されて、双方向に通信を行うことができる。
なお、以降の説明に用いる図面においては、本発明に関連しない構成要素については図示を省略している。また、本発明は、以下に示す実施形態に限定されないことは言うまでもない。
メモリ装置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に送信する。
メモリ管理部112は、不揮発性メモリ12のデータの入出力や不揮発性メモリ12のメモリ領域管理を行う。
メモリ管理部112は、メモリ装置1の処理全般を制御するCPU1121と、ホスト装置2の発行するコマンドに含まれる論理アドレスと不揮発性メモリ12上の物理アドレスとの対応付けを管理するアドレス管理部1122と、を備える。また、メモリ管理部112は、不揮発性メモリ12にデータを書き込む場合の書き込みモードを管理するデータ書き込み管理部1123と、不揮発性メモリ12にファイルシステム情報を書き込む場合の書き込みモードを管理するファイルシステム情報書き込み管理部1124と、を備える。
なお、メモリコントローラ部11の各機能部は、その全部または一部を、個別に接続してもよいし、内部バスにより接続してもよい。
(1.1.2:ホスト装置)
ホスト装置2は、図1に示すように、ホスト装置2全体の制御を行うCPU21と、ROM22と、RAM23と、メモリ装置1とデータの送受信を行うためのバッファRAM24と、メモリ装置1とバス3を介してコマンド・応答やデータの送受信を行うメモリ装置制御部25と、を備える。
(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に対して送信するものである。
ホスト装置2が発行するコマンドの内容によって、複数種類のバストランザクションが存在し、図14(a)では、コマンドCMDと応答RESのみで完結する。これは、主に不揮発性メモリ12のデータ入出力を行わないコマンドの場合に使われる。
図14(b)では、コマンドCMDと応答RESに加えて、データDATAの転送が行われる。このバストランザクションは、主に不揮発性メモリ12へのデータの書き込みおよび不揮発性メモリ12からのデータの読み出しの場合のバストランザクションである。
図14(c)に示すバストランザクションは、コマンドCMDと応答RESに加えて、データ信号DATを使ってメモリ装置1が内部処理中であることを示す状態信号であるBusy信号をホスト装置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で異なる。
RESは、識別子とステータスとを含む。RESの識別子は、ホスト装置2が発行したコマンドCMDの識別子と同じ値である。また、ステータスは、メモリ装置1の内部状態を示す状態信号であり、例えば、エラーの有無やメモリ装置1の状態遷移を示す情報が含まれる。
DATは、ペイロードを含む。ペイロードは、ホスト装置2が発行したコマンドCMDの識別子により異なり、例えば、不揮発性メモリ12のデータの読み出しコマンドまたはデータの書き込みコマンドの場合、ペイロードは、不揮発性メモリ12から読み出したデータまたは不揮発性メモリ12に書き込むデータであり、レジスタの読み出しコマンドの場合、ペイロードは、レジスタの値である。
次に、不揮発性メモリシステム1000の動作について、図面を参照しながら、以下、説明する。具体的には、不揮発性メモリシステム1000において、ホスト装置2がメモリ装置1に2つのファイルのデータと、そのファイルシステム管理情報とを書き込む場合を例にとって説明する。
(1.2.1:データ書き込みモード)
不揮発性メモリシステム1000のデータ書き込みモードについて、第1のデータ書き込みモードと、第2のデータ書き込みモードに分けて、以下説明する。
(1.2.1.1:第1のデータ書き込みモード)
まず、不揮発性メモリシステム1000における第1のデータ書き込みモードについて、説明する。
図2において、ホスト装置2の管理する論理アドレス空間とメモリ装置1の管理する不揮発性メモリの記憶領域(メモリ領域)とは、メモリアロケーションユニット(MAU)単位に分割して管理され、メモリ装置1のアドレス管理部1122が論理アドレス空間上のMAUと不揮発性メモリのメモリ領域上のMAUとの対応付けを管理する。MAUのサイズは、メモリ装置1に固有の値であり、例えば、不揮発性メモリとしてNANDフラッシュを使う場合には、NANDフラッシュメモリのメモリ領域の消去単位である物理ブロックの整数倍となる。
ホスト装置2がメモリ装置1に対してデータの書き込みコマンドを発行して、第1のデータ書き込みモードを使用してデータの書き込みを行う場合、アドレス管理部1122は、コマンドに含まれる論理アドレスを含むMAUを、不揮発性メモリのメモリ領域上のいずれかのMAUと対応付けし、対応付けした領域にホスト装置2が書き込みコマンドにより書き込みを指示したデータ(書き込みデータ)を書き込む。
なお、各MAU内では、データは、連続的に配置されており、MAUのサイズをSMAUバイトとすると、例えば、論理アドレス空間上のMAU202に含まれるバイトアドレスN〜N+SMAU−1のデータは、不揮発性メモリのメモリ領域上のMAU212に含まれるバイトアドレスM〜M+SMAU−1に記録されている。つまり、MAU202内におけるデータ配置と、MAU212内におけるデータ配置とが、同一である。
従って、不揮発性メモリシステム1000において、ホスト装置2がメモリ装置1に対して、連続的にデータを書き込む場合、第1のデータ書き込みモードを使用することで、不揮発性メモリ12のメモリ領域上の連続する領域にデータを書き込むことができ、効率よく短時間でデータを書き込むことが可能となる。
次に、不揮発性メモリシステム1000における第2のデータ書き込みモードについて、説明する。
図3は、本実施形態に係るメモリ装置1の、第2のデータ書き込みモードを説明する図である。
図3においても、ホスト装置2の管理する論理アドレス空間とメモリ装置1の管理する不揮発性メモリの記憶領域とは、メモリアロケーションユニット(MAU)単位に分割して管理され、メモリ装置1のアドレス管理部1122が論理アドレス空間と不揮発性メモリ12のメモリ領域との対応付けを管理するが、第1のデータ書き込みモードとの違いは、論理アドレス空間上の異なるMAUに属するデータが、不揮発性メモリ12のメモリ領域上の同じMAUに連続的に記録される点である。
図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へ書き込む。
なお、301〜304の論理アドレスと311〜314の記録される不揮発性メモリ12のメモリ領域上の物理アドレスとの対応付けは、アドレス管理部1122が管理する。
以上のように、不揮発性メモリシステム1000では、ホスト装置2が異なるMAUに属するデータを交互にメモリ装置1に書き込む場合、第2のデータ書き込みモードを使用することで、書き込むデータの論理アドレスが不連続な場合でも、不揮発性メモリ12のメモリ領域に連続的にデータを書き込むことができる。このため、不揮発性メモリシステム1000では、効率よく短時間でデータを書き込むことが可能である。
特に、不揮発性メモリシステム1000において、データをMAUのサイズだけ書き込んだ場合の性能を規定しているメモリ装置1に対して、論理アドレス空間上で異なるMAUに配置される複数ファイルのデータを記録する場合には、ホスト装置2の備えるバッファのサイズは1ファイルを記録する場合と同じでよい。したがって、不揮発性メモリシステム1000では、ホスト装置2が備えなければならないバッファ量を増大させることなく(1ファイルを記録する場合と同じバッファ量を備えていればよく)、複数ファイルのデータのリアルタイム記録(一定の書き込み速度を保証したデータ書き込み処理)を行うことが可能である。
(1.2.1.3:データ書き込みモードの状態遷移図)
図4は、本実施形態に係るメモリ装置1のデータ書き込みモードの状態遷移図を説明する図である。
図4に示すように、メモリ装置1は、電源ON時またはリセット時には、IDLE状態41となり、ホスト装置2による初期化処理が行われると第1のデータ書き込みモード42に移行する。その後、ホスト装置2のコマンドに従って第1のデータ書き込みモード42と第2のデータ書き込みモード43との間でモードの切り替えを行い、選択されたモードに応じて不揮発性メモリ12へのデータ書き込み処理を行う。
図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)に示すように、ホスト装置2が発行したデータ書き込みモード切り替えコマンドD−MOD1をメモリ装置1が受信すると、メモリ装置1は、データ書き込みモードを、第2のデータ書き込みモード43から第1のデータ書き込みモード42に遷移させる。そして、データ書き込み管理部1123は、第1のデータ書き込みモードに移行した時点以降、ホスト装置2から書き込みコマンドを受信した場合、第1のデータ書き込みモードでデータを不揮発性メモリ12に書き込むように制御を行う。
すなわち、図5(b)に示すように、ホスト装置2が発行した第2のデータ書き込みモード終了コマンドD−END2を、メモリ装置1が受信すると、メモリ装置1は、データ書き込みモードを、第1のデータ書き込みモード42へ遷移させる。
また、図5(c)に示すように、メモリ装置1が、不揮発性メモリ12に対して、第2のデータ書き込みモードで所定の回数のデータの書き込みを行った後、メモリ装置1は、データ書き込みモードを、第1のデータ書き込みモード42へ遷移させる。なお、「所定の回数」は、ホスト装置2が、メモリ装置1に対して、データ書き込みモード切り替えコマンドD−MOD2を発行するときにコマンドの引数として設定してもよいし、あるいは、メモリ装置1の持つレジスタに、予め「所定の回数」を示す値を保持させておくようにしてもよい。
これによって、不揮発性メモリシステム1000では、複数のファイルのデータを不揮発性メモリの同一のMAUに書き込むことができる。このため、不揮発性メモリシステム1000において複数のファイルを記録する場合であっても、ホスト装置2のバッファサイズを、1つのファイルを記録する場合と同じサイズに抑えることができる。
次に、不揮発性メモリシステム1000のファイルシステム情報書き込みモードについて、第1のファイルシステム情報書き込みモードと、第2のファイルシステム情報書き込みモードに分けて、以下説明する。
(1.2.2.1:第1のファイルシステム情報書き込みモード)
まず、不揮発性メモリシステム1000における第1のファイルシステム情報書き込みモードについて説明する。
図6は、本実施形態に係るメモリ装置1の、第1のファイルシステム情報書き込みモードを説明する図である。
図6において、メモリ装置1の管理する不揮発性メモリの記憶領域は、メモリアロケーションユニット(MAU)単位に分割して管理され、メモリ装置1のアドレス管理部1122がホスト装置2の書き込むファイルシステム情報の論理アドレスと不揮発性メモリ上の物理アドレスとの対応付けを管理している。
図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フラッシュメモリにおけるページが該当する。
次に、不揮発性メモリシステム1000における第2のファイルシステム情報書き込みモードについて説明する。
図7は、本実施形態に係るメモリ装置1の、第2のファイルシステム情報書き込みモードを説明する図である。
図7(a)は、ホスト装置2がファイルシステム情報DIR1、DIR2を、それぞれ別の書き込みコマンドWCMDで書き込む場合のコマンドシーケンスを説明する図である。
図7(a)において、ホスト装置2は、メモリ装置1に対して、まず、ファイルシステム情報書き込みモード切り替えコマンドFS−MOD2を発行し、その後、ホスト装置2は、メモリ装置1に対して、書き込みコマンドWCMDを発行して、メモリ装置1により、DIR1、DIR2の書き込み処理が実行される。
メモリ装置1は、続くWCMD(図7(a)にC2で示した書き込みコマンドWCMD)を受信したときは、続くファイルシステム情報DIR2を受信し、保持しているファイルシステム情報DIR1とまとめて、ファイルシステム情報DIR2を不揮発性メモリ12へ書き込む。メモリ装置1は、ファイルシステム情報DIR1およびDIR2の書き込み処理が完了するまで、ホスト装置2に対してBUSY信号を出力し続ける。
図7(b)において、ファイルシステム情報DIR1およびDIR2は、MAU71内の同じページに書き込まれる。このため、不揮発性メモリシステム1000では、図6で説明した第1のファイルシステム情報書き込みモードに比べて、ファイルシステム情報DIR1、DIR2を書き込むトータル時間を短縮することができる。なお、コマンドFS−MOD2には、第2のファイルシステム情報書き込みモードで書き込み処理の対象となるファイル数およびファイルを識別する情報を含ませるようにすることが好ましい。
このように、不揮発性メモリシステム1000の第2のファイルシステム情報書き込みモードでは、複数のファイルを書き込む際のファイルシステム情報の書き込み処理に要するトータル時間を減らすことができる。このため、メモリ装置1からホスト装置2に出力されるBUSY信号のトータルの出力期間が短くなる、すなわち、ホスト装置2がメモリ装置1にデータ送信できずに送信待ちとなる時間が少なくなる。その結果、不揮発性メモリシステム1000では、ホスト装置2が送信待ち状態のときに保持すべきデータ量が少なくて済むので、ホスト装置2の持つバッファサイズの増大を抑えることができる。
図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に示すように、メモリ装置1は、ホスト装置2が発行したファイルシステム情報書き込みモード切り替えコマンドFS−MOD2を受信すると、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモード82から第2のファイルシステム情報書き込みモード83へ遷移させる。そして、ファイルシステム情報書き込み管理部1124は、第2のファイルシステム情報書き込みモードに移行した時点以降、ホスト装置2から、ファイルシステム情報の書き込みを指示する書き込みコマンドを受信した場合、第2のファイルシステム情報書き込みモードで、ファイルシステム情報を不揮発性メモリ12に書き込むように制御を行う。
図9(b)および図9(c)のように、メモリ装置1は、ファイルシステム情報書き込みモードを、第2のファイルシステム情報書き込みモード83から第1のファイルシステム情報書き込みモード82に遷移させることも可能である。
また、図9(c)に示すように、メモリ装置1が、不揮発性メモリ12に対して、第2のファイルシステム情報書き込みモードで所定の回数のデータの書き込みを行った後、メモリ装置1は、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモード82へ遷移させる。なお、「所定の回数」は、ホスト装置2が、メモリ装置1に対して、ファイルシステム情報書き込みモード切り替えコマンドFS−MOD2を発行するときにコマンドの引数として設定してもよいし、あるいは、メモリ装置1の持つレジスタに、予め「所定の回数」を示す値を保持させておくようにしてもよい。
これによって、不揮発性メモリシステム1000では、複数ファイルのファイルシステム情報を不揮発性メモリ12に書き込むトータル時間を短縮することができるので、ホスト装置2のバッファサイズの増大を抑えることが可能となる。
(1.2.3:書き込みデータの再配置)
ここまで説明したように、不揮発性メモリシステム1000において、第2のデータ書き込みモード或いは第2のファイルシステム情報書き込みモードで、複数ファイルのデータやファイルシステム情報を書き込んだ場合、不揮発性メモリ12上の同じMAU内に、異なるファイルのデータやファイルシステム情報が混在することになる。このような状態で、不揮発性メモリシステム1000において、データやファイルシステム情報の管理を行う場合、第1のデータ書き込みモード或いは第1のファイルシステム情報書き込みモードで書き込んだ場合に比べて制御が複雑になる。例えば、不揮発性メモリシステム1000において、記録したファイルのうち、特定のファイルのデータやファイルシステム情報を削除する処理を行う場合、同一のMAU内に有効なデータと無効なデータが混在する、いわゆるフラグメント状態を管理する必要がある。
(1.2.3.1:再配置処理(データ再配置コマンド、ファイルシステム情報再配置コマンドによる場合))
図10は、不揮発性メモリシステム1000において、第2のデータ書き込みモードで書き込んだデータを、第1のデータ書き込みモードで書き込んだ状態に再配置する処理を説明するための図である。
図10(a)は、一連の処理のコマンドシーケンスを説明する図である。
図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(a)は、一連の処理のコマンドシーケンスを説明する図である。
図11(a)に示すように、ホスト装置2がメモリ装置1にファイルシステム情報書き込みモード切り替えコマンドFS−MOD2を発行して、メモリ装置1が第2のファイルシステム情報書き込みモードでファイルシステム情報を書き込んだ後、ホスト装置2がメモリ装置1に、ファイルシステム情報再配置コマンドFS−Unpackを発行すると、メモリ装置1のメモリコントローラ部11は、第2のファイルシステム情報書き込みモードでデータを書き込まれたMAU内のデータを、論理アドレスに基づいて異なるMAUに再配置する。
図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において、上記で説明した再配置処理は、他の処理と組み合わせて行うことも可能である。
図12および図13は、不揮発性メモリシステム1000において、上記で説明した再配置処理を他の処理と組み合わせて行うタイミングの一例を説明する図である。
≪データ消去処理と組み合わせる場合≫
まず、不揮発性メモリシステム1000において、再配置処理をデータ消去処理と組み合わせて行う場合について、説明する。
図12は、不揮発性メモリシステム1000において、再配置処理をデータ消去処理と組み合わせて行う場合の処理を説明するための図である。つまり、図12は、ホスト装置2がメモリ装置1に対して、消去コマンドを発行した際にデータの再配置を行う処理を説明するための図である。
図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)において、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(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のバッファサイズを増やすことなく、複数ファイルのリアルタイム記録を容易に行うことが可能となる。
また、不揮発性メモリシステム1000では、ユーザにデータの再配置処理の実行を意識させずに、記録したデータやファイルシステム情報を再配置し、第1のデータ書き込みモード或いは第1のファイルシステム情報書き込みモードで書き込んだ場合と同様にデータやファイルシステム情報を配置することができる。これにより、不揮発性メモリシステム1000では、不揮発性メモリ12上のデータ管理が複雑になることを防ぐことも可能である。
上記実施形態では、不揮発性メモリシステム1000において、記録するファイルの数が「2」である場合について説明したが、本発明の適用範囲は、これに限定されるものではなく、例えば、記録するファイルの数は3以上であってもよい。
また、データ書き込みモード切り替えコマンド、ファイルシステム情報書き込みモード切り替えコマンド、第2のデータ書き込みモード終了コマンド、第2のファイルシステム情報書き込みモード終了コマンド、データ再配置コマンド、ファイルシステム情報再配置コマンドは、異なる識別子を有する、それぞれ別個のコマンドであってもよく、あるいは、同じ識別子のコマンドにおいて、その引数を変えることで、これら複数の機能を実現させるための単一コマンドであってもよい。
また、不揮発性メモリシステムにおいて、データの再配置処理とファイルシステム情報の再配置処理を容易に実現させるために、データやファイルシステム情報を書き込む際に、同一ファイルのデータとファイルシステム情報とを対応付けるようにコマンドの引数にファイル番号を設定する等することが好ましい。例えば、不揮発性メモリシステムにおいて、ファイル番号「1」のデータと、ファイル番号「2」のデータと、を記録する場合、以下のようにすればよい。
(1)ファイル番号「1」のデータを書き込むための書き込みコマンドには、その引数に、ファイル番号「1」を含ませる。
(2)ファイル番号「1」のファイルシステム情報を書き込むための書き込みコマンドには、その引数に、ファイル番号「1」を含ませる。
(3)ファイル番号「2」のデータを書き込むための書き込みコマンドには、その引数に、ファイル番号「2」を含ませる。
(4)ファイル番号「2」のファイルシステム情報を書き込むための書き込みコマンドには、その引数に、ファイル番号「2」を含ませる。
上記のようにすることで、不揮発性メモリシステムにおいて、データの再配置処理、あるいはファイルシステム情報の再配置処理を実行するときに、どのデータを再配置処理の対象とすればよいかが容易に分かるので、好ましい。
また、上記実施形態では、不揮発性メモリ12には、フラッシュメモリが用いられることを想定しているが、これに限定されることはなく、ハードディスクや不揮発性RAMなど他の不揮発性メモリを用いて、不揮発性メモリシステムを構成してもよい。
なお、上記実施形態で説明した不揮発性メモリシステム、ホスト装置およびメモリ装置において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る不揮発性メモリシステム、ホスト装置およびメモリ装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
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のデータ書き込みモードおよび第2のデータ書き込みモードのいずれかに切り換えて、前記不揮発性メモリへのデータ書き込み処理を制御することができ、
(1)前記第1のデータ書き込みモードによるデータ書き込み処理を行う場合、メモリアロケーションユニット単位で、前記ホスト装置の論理アドレスと前記不揮発性メモリの物理アドレスとを対応させ、前記ホスト装置が管理する論理アドレス空間における前記メモリアロケーションユニット内でのデータ配置と、前記不揮発性メモリの物理アドレス空間における前記メモリアロケーションユニット内でのデータ配置とが同一になるように、前記ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスに応じて、前記不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを選択し、選択した前記メモリアロケーションユニットに対して、データ書き込み処理を行い、
(2)前記第2のデータ書き込みモードによるデータ書き込み処理を行う場合、前記不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを第2データ書き込みモード用メモリアロケーションユニットとして選択し、前記ホスト装置から受信した書き込みデータを、前記ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスによらず、選択した前記第2データ書き込みモード用メモリアロケーションユニットに、連続して書き込む、
メモリ装置。 - 前記メモリコントローラ部は、電源投入時およびリセット後の初期状態では、前記第1のデータ書き込みモードでデータ書き込み処理を行い、前記ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、前記第2のデータ書き込みモードに切り替える、
請求項1に記載のメモリ装置。 - 前記メモリコントローラ部は、前記ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、前記第1のデータ書き込みモードに切り替える、
請求項1に記載のメモリ装置。 - 前記メモリコントローラ部は、前記ホスト装置から発行される第2のデータ書き込みモード終了コマンドに従って、データ書き込みモードを、前記第1のデータ書き込みモードに切り替える、
請求項1に記載のメモリ装置。 - 前記メモリコントローラ部は、前記ホスト装置から発行されるデータ再配置コマンドに従って、前記第2のデータ書き込みモードで書き込んだデータを、メモリアロケーションユニット単位で論理アドレスと物理アドレスが対応するよう、前記不揮発性メモリの物理アドレス空間内において再配置する、
請求項1から4のいずれかに記載のメモリ装置。 - 前記メモリコントローラ部は、前記ホスト装置から発行されるデータ消去コマンドにより、前記第2のデータ書き込みモードで書き込んだデータの一部が消去された場合、残りのデータを、前記第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置する、
請求項1から4のいずれかに記載のメモリ装置。 - 前記メモリコントローラ部は、
前記ホスト装置からの指示に従い、ファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードおよび第2のファイルシステム情報書き込みモードのいずれかに切り換えて、前記不揮発性メモリへのファイルシステム情報の書き込み処理を制御することができ、
(1)前記第1のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、前記ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、異なるデータのファイルシステム情報を、前記書き込みコマンドを受信するごとに、逐次、前記不揮発性メモリに書き込むよう制御し、
(2)前記第2のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、前記ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、複数の異なるファイルシステム情報のデータを、一括して前記不揮発性メモリの同じページに書き込むよう制御する、
請求項1から6のいずれかに記載のメモリ装置。 - 前記メモリコントローラ部は、電源投入時およびリセット後の初期状態では、前記第1のファイルシステム情報書き込みモードでファイルシステム情報の書き込み処理を行い、前記ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、前記第2のファイルシステム情報書き込みモードに切り替える、
請求項7に記載のメモリ装置。 - 前記メモリコントローラ部は、前記ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、前記第1のファイルシステム情報書き込みモードに切り替える、
請求項7に記載のメモリ装置。 - 前記メモリコントローラ部は、前記ホスト装置から発行される第2のファイルシステム情報書き込みモード終了コマンドに従って、ファイルシステム情報書き込みモードを、前記第1のファイルシステム情報書き込みモードに切り替える、
請求項7に記載のメモリ装置。 - 前記メモリコントローラ部は、前記ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第2のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、異なる物理ページに格納されるように、前記不揮発性メモリの物理アドレス空間内において再配置する、
請求項8から10のいずれかに記載のメモリ装置。 - メモリ装置にデータの書き込みおよび前記メモリ装置からデータの読み出しを行うホスト装置であって、
前記メモリ装置へのコマンド発行と、前記メモリ装置に対してデータ書き込み処理あるいはデータ読み出し処理の対象となるデータの入出力制御と、を行い、また、論理アドレス空間をメモリアロケーションユニット単位で管理して、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むよう前記メモリ装置を制御するメモリ装置制御部を備え、
前記メモリ装置制御部は、
前記メモリ装置に指示することで、前記メモリ装置のデータ書き込みモードを、第1のデータ書き込みモードおよび第2のデータ書き込みモードのいずれかに切り換えるよう制御することができる、
ホスト装置。 - 前記メモリ装置制御部は、前記メモリ装置の電源投入時又はリセット後の初期状態では、前記メモリ装置を前記第1のデータ書き込みモードで動作させ、その後、前記メモリ装置へデータ書き込みモード指示コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第2のデータ書き込みモードに切り替えさせる、
請求項12記載のホスト装置。 - 前記メモリ装置制御部は、前記メモリ装置へデータ書き込みモード指示コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第1のデータ書き込みモードに切り替えさせる、
請求項12から13のいずれかに記載のホスト装置。 - 前記メモリ装置制御部は、前記メモリ装置へ第2のデータ書き込みモード終了コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第1のデータ書き込みモードに切り替えさせる、
請求項12または13に記載のホスト装置。 - 前記メモリ装置制御部は、前記メモリ装置へデータ再配置コマンドを発行して、前記メモリ装置に、前記メモリ装置により前記第2のデータ書き込みモードで書き込まれたデータを、前記第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる、
請求項12から15のいずれかに記載のホスト装置。 - 前記メモリ装置制御部は、前記メモリ装置へ第2のデータ書き込みモードで書き込んだデータの一部を、ファイルシステム情報を更新してファイルシステム上で消去する際に、前記メモリ装置に、前記メモリ装置により前記第2のデータ書き込みモードで書き込まれたデータを、前記第1のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置させる、
請求項16に記載のホスト装置。 - 前記メモリ装置制御部は、
前記メモリ装置に指示することで、前記メモリ装置のファイルシステム情報書き込みモードを、第1のファイルシステム情報書き込みモードおよび第2のファイルシステム情報書き込みモードのいずれかに切り換えるよう制御することができる、
請求項12から17のいずれかに記載のホスト装置。 - 前記メモリ装置制御部は、前記メモリ装置の電源投入時およびリセット後の初期状態では、前記メモリ装置を前記第1のファイルシステム情報書き込みモードで動作させ、その後、前記メモリ装置に対してファイルシステム情報書き込みモード指示コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第2のファイルシステム情報書き込みモードに切り替えさせる、
請求項18に記載のホスト装置。 - 前記メモリ装置制御部は、前記メモリ装置にファイルシステム情報書き込みモード指示コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第1のファイルシステム情報書き込みモードに切り替えさせる、
請求項18に記載のホスト装置。 - 前記メモリ装置制御部は、前記メモリ装置に第2のファイルシステム情報書き込みモード終了コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第1のファイルシステム情報書き込みモードに切り替えさせる、
請求項18に記載のホスト装置。 - 前記メモリ装置制御部は、前記メモリ装置へファイルシステム情報再配置コマンドを発行して、前記メモリ装置に、前記メモリ装置により前記第2のファイルシステム情報書き込みモードで書き込まれたデータを、前記第1のファイルシステム情報書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる、
請求項18から21のいずれかに記載のホスト装置。 - 請求項1から11のいずれかに記載のメモリ装置と、
請求項12から22のいずれかに記載のホスト装置と、
を備えるメモリシステム。
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)
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)
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)
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 |
-
2010
- 2010-07-27 WO PCT/JP2010/004758 patent/WO2011013350A1/ja active Application Filing
- 2010-07-27 US US13/140,887 patent/US20110258372A1/en not_active Abandoned
- 2010-07-27 JP JP2011524658A patent/JP5362010B2/ja active Active
Patent Citations (5)
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 |