JP4881856B2 - 記憶装置 - Google Patents

記憶装置 Download PDF

Info

Publication number
JP4881856B2
JP4881856B2 JP2007510448A JP2007510448A JP4881856B2 JP 4881856 B2 JP4881856 B2 JP 4881856B2 JP 2007510448 A JP2007510448 A JP 2007510448A JP 2007510448 A JP2007510448 A JP 2007510448A JP 4881856 B2 JP4881856 B2 JP 4881856B2
Authority
JP
Japan
Prior art keywords
data
save
buffer
memory
control 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.)
Expired - Fee Related
Application number
JP2007510448A
Other languages
English (en)
Other versions
JPWO2006104036A1 (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 JP2007510448A priority Critical patent/JP4881856B2/ja
Publication of JPWO2006104036A1 publication Critical patent/JPWO2006104036A1/ja
Application granted granted Critical
Publication of JP4881856B2 publication Critical patent/JP4881856B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/0674Disk device
    • G06F3/0676Magnetic disk device

Description

本発明は、不揮発性メモリを備える記憶装置に関する。
デジタルカメラ、ムービー、携帯型音楽プレーヤなどのデジタル情報を制御する機器(以下、ホスト機器という)において、デジタル情報を保持する記憶装置として、不揮発性メモリを搭載したメモリカードがある。メモリカードに使用される不揮発性メモリとして、フラッシュメモリが広く使われている。フラッシュメモリは書き込み時間が長くかかるため、ホスト機器からみてフラッシュメモリに対して書き込みが完了するまで記憶装置はビジー状態となり、ホスト機器が記憶装置から開放されない。又書き込み中に電源遮断が発生するとアクセス中のメモリセルの状態が保証されなくなる。そこで特許文献1においては、フラッシュメモリより高速の不揮発性メモリを備え、フラッシュメモリへの書き込み中に停電を検知した場合、書き込みデータを高速の不揮発性メモリへ書き込む方法が開示されている。
特開平11―143788号
しかしながら、上記の従来技術には以下のような問題点がある。すなわち、高速の不揮発性メモリを使うのは停電を検知した場合だけであるため、通電時にホスト機器から見てデータ書き込み完了までに時間がかかるという欠点は解消されない。
このような問題点に鑑み、本発明は、通電時にはホスト機器からみた性能向上を実現する記憶装置を提供することを目的とする。
この課題を解決するために、本発明の記憶装置は、データを記憶する不揮発性メモリから成る記憶媒体と、ホスト機器から送られた書き込むべきデータを一時的に保持するデータバッファ及び前記データバッファのデータを退避する不揮発性のバッファ退避メモリを有するバッファ制御部と、前記バッファ制御部を制御するための制御部と、を具備し、前記制御部は、得られる書き込みデータに関する情報に基づき、前記データバッファに保持した書き込みデータを前記バッファ退避メモリへ退避すると共に、前記記憶媒体へ記憶し、データの退避を完了した後に前記ホスト機器に書き込み完了を通知するものである。
ここで前記ホスト機器から得られる書き込みデータに関する情報は、データ書き込み終了を示す情報としてもよい。
ここで前記ホスト機器から得られる書き込みデータに関する情報は、あらかじめ指定されたデータサイズを示す情報としてもよい。
ここで前記制御部は、電源電圧の低下を検知する電圧検出部を備え、前記制御部は、前記ホスト機器から送られた書き込みデータを前記データ記憶部に書き込み中に前記電圧検出部によって電源電圧の低下が検知されると、前記データバッファに保持した書き込みデータを前記バッファ退避メモリに退避するようにしてもよい。
ここで前記記憶装置は、ホスト機器から与えられたアドレス及び前記記憶媒体に書き込むための情報を含む制御情報を保持する制御情報保持部を更に具備し、前記制御情報保持部は、制御情報を一時的に保持するレジスタと、前記レジスタの情報を退避する不揮発性の制御情報退避メモリと、を有し、前記制御部は、前記書き込みデータを前記バッファ退避メモリへ退避する際に前記レジスタに保持されている制御情報を前記制御情報退避メモリに退避させるようにしてもよい。
ここで前記制御情報は、前記記憶媒体への書き込み領域アドレスの情報を含むようにしてもよい。
ここで前記制御情報退避メモリは、前記記憶媒体より高速にデータを書き込むことができる不揮発性メモリとしてもよい。
ここで前記制御情報退避メモリは、強誘電体メモリで構成されるようにしてもよい。
ここで前記バッファ退避メモリは、前記記憶媒体より高速にデータを書き込むことができる不揮発性メモリとしてもよい。
ここで前記バッファ退避メモリは、強誘電体メモリで構成されるようにしてもよい。
ここで前記記憶装置は、前記バッファ退避メモリにデータを退避したときに立てられる不揮発性の退避フラグを更に有し、前記制御部は、前記バッファ退避メモリにデータを退避したときに前記退避フラグをセットし、前記退避したデータの前記記憶媒体への書き込みを完了したときに退避フラグをクリアするようにしてもよい。
ここで前記記憶装置は、前記レジスタの情報を制御情報退避メモリに退避したときに立てられる不揮発性の退避フラグを有し、前記制御部は、前記制御情報退避メモリにレジスタの制御情報を退避したときに前記退避フラグをセットし、前記退避した制御情報を用いてデータの前記記憶媒体へ書き込みを完了したときに退避フラグをクリアするようにしてもよい。
ここで前記記憶装置は、不揮発性の退避フラグを更に有し、前記制御部は、前記バッファ退避メモリにデータを退避し、前記制御情報を前記制御情報退避メモリに退避したときに前記退避フラグをセットし、前記退避した制御情報を用いてデータの前記記憶媒体へ書き込みを完了したときに退避フラグをクリアするようにしてもよい。
ここで前記バッファ退避メモリと前記制御情報退避メモリとを同一の不揮発性メモリで構成し、夫々バッファ退避領域にデータを退避し、制御情報退避領域に制御情報を退避するようにしてもよい。
ここで前記制御部は、電源投入時に前記退避フラグを読み出し、前記退避フラグがセットされている場合には、前記データ退避バッファにされている前記書き込みデータを前記記憶媒体に書き込み、書き込みが終了すると前記退避フラグをクリアするようにしてもよい。
ここで前記制御部は、電源投入時に前記退避フラグを読み出し、前記退避フラグがセットされている場合には、前記データ退避バッファに保持する書き込みデータのデータ量の確認を行い、前記記憶媒体にそのデータを所定単位で書き込み、残る書き込みのデータが一定量未満の場合には前記データ退避バッファに保持したデータを破棄するようにしてもよい。
ここで前記退避フラグは、前記バッファ退避メモリと一体に構成されているようにしてもよい。
本発明によると、ホスト機器からのデータ転送終了時に必要なデータ及び/又は制御情報を退避データ保持部へ記録するため、通電時はホスト機器から見てデータ書き込みまでの時間を短縮することができ、書き込み性能を向上することができる。また、電圧検出部及び制御情報保持部を設けた発明では、この効果に加えて、電源電圧低下を検知した時にも必要な情報を退避するため、電源遮断に対しても信頼性の高い記憶装置を提供することができる。
図1は本発明の第1の実施の形態に係る記憶装置の構成を説明するためのブロック図である。 図2Aは本発明の実施の形態に係る記憶装置のデータ書き込みフローを説明するためのブロック図である。 図2Bは本発明の実施の形態に係る記憶装置のデータ書き込みフローを説明するためのブロック図である。 図2Cが本発明の実施の形態に係る記憶装置のデータ書き込みフローを説明するためのブロック図である。 図2Dは本発明の実施の形態に係る記憶装置のデータ書き込みフローを説明するためのブロック図である。 図3Aは本発明の実施の形態に係る記憶装置のホスト機器から見たデータ書き込みフローを説明するためのタイミングチャートである。 図3Bは本発明の実施の形態に係る記憶装置のホスト機器から見たデータ書き込みの他のフローを説明するためのタイミングチャートである。 図4は本発明の実施の形態に係る記憶装置の電源投入時の処理を説明するためのフロー図である。 図5は本発明の第3の実施の形態による記憶装置の構成を示すブロック図である。 図6は本発明の第3の実施の形態に係る電圧検出部の動作を説明するためのタイミングチャートである。 図7は第3の実施の形態による記憶装置の電圧低下が検出されたときのフローを説明するためのブロック図である。
符号の説明
100 記憶装置
110 ホスト機器
120 記憶媒体
140 制御情報保持部
141 レジスタ
142 制御情報退避メモリ
150 バッファ制御部
151 データバッファ
152 バッファ退避メモリ
153 退避フラグ
160 制御部
161 システム制御部
162 退避制御部
163 電圧検出部
(第1の実施の形態)
図1は本発明の第1の実施の形態に係る記憶装置の構成を示すブロック図である。記憶装置100はホスト機器110と接続され、ホスト機器110からコマンド(CMD)、データ(DATA)を受信してデータの書き込みを行い、データを読み出してホスト機器110に出力する。記憶装置100は、データを保持するための記憶媒体120と、ホスト機器との通信制御を行うホストIF部130と、ホスト機器110からの制御に応じた制御情報を保持する制御情報保持部140と、ホスト機器110が読み書きするデータを一時保持するためのバッファ制御部150と、制御部160を含んで構成される。制御部160はホストIF部130、制御情報保持部140、バッファ制御部150を制御するためのものである。記憶媒体120は、ユーザデータを保持するメモリであり、例えばNAND型フラッシュメモリのような不揮発性メモリで構成される。
制御情報保持部140はレジスタ141、制御情報退避メモリ142を含んで構成される。レジスタ141は制御情報、例えばホスト機器110から送られてきた論理アドレス情報や記憶媒体120への書き込み中のブロック等の制御情報を保持するバッファであり、制御情報退避メモリ142はこの情報を一時的に退避する不揮発性のメモリである。レジスタ141は揮発性のRAMによって構成されていてもよい。又制御情報退避メモリ142は、例えば強誘電体メモリのように、記憶媒体120より高速に書き込み可能な不揮発性のメモリであることが好ましい。
次にバッファ制御部150は、データバッファ151、バッファ退避メモリ152及び退避フラグ(F)153を含む。データバッファ151はSRAM等の揮発性メモリとする。データバッファの容量はホスト機器110より送られるデータの送信単位、例えば512バイトの整数倍あればよい。又バッファ退避メモリ152は不揮発性メモリで構成する。バッファ退避−メモリ152は例えば強誘電体メモリのように、記憶媒体120より高速に書き込み可能なメモリであることが好ましい。バッファ退避メモリ152の容量はホスト機器110より送られるデータの送信単位の整数倍であればよく、データバッファ151と同一サイズであってもよく、異なっていてもよい。尚、不揮発性のバッファ退避メモリ152は揮発性のデータバッファ151より高価格で書き換え可能回数が少ないため、その容量はバッファメモリ以下であることが好ましい。又退避フラグ153はバッファ退避メモリ152にデータを退避している場合に、退避中のデータが存在することを示す不揮発性のフラグである。退避フラグ153はバッファ退避メモリ152と一体化して不揮発性のメモリで構成してもよい。
また制御部160はシステム制御部161及び退避制御部162を含む。システム制御部161はホスト機器110からの転送要求に応じてホストIF部130、バッファ制御部150、制御情報保持部140の制御を行い、記憶媒体120のデータ転送を行うものである。退避制御部162は書き込みデータや制御情報の退避・復帰処理、ホストへの応答の制御を行う。
以下、図2A〜図2D,図3A,図3Bを用いて第1の実施の形態に係る記憶装置100の書き込みシーケンスを説明する。本実施の形態では2単位のデータDAT1,DAT2を書き込む場合について説明するが、本発明の適用範囲はこれに限定されるものではない。
図2Aにおいて、ホスト機器110は書き込みコマンドWCMDを記憶装置100に対して発行する。コマンドにはリード・ライト等の転送の種類や転送するデータのアドレス等が含まれる。コマンドはホストIF部130で受信された後、制御部160に転送される。制御部160ではコマンドの内容からアドレスやリード・ライトの種別を図中でCONTとして示す制御情報として取り出し、制御情報保持部140のレジスタ141に保持する。
図3A,図3Bはホスト機器から見た場合のタイムチャートである。図でCMDはホスト機器と記憶装置100とがコマンドや応答の制御情報を相互にやりとりするための信号線、DATAはホスト機器と記憶装置100が書き込みデータを転送するための信号線の状態を示す。又これとタイミングを合わせてデータバッファ151、記憶媒体120への書き込み及び退避バッファ152への書き込みを示す。
図3Aにおいて、ホスト機器が書き込みコマンドWCMDを発行すると、記憶装置100はコマンドを受け付けたことを示すためのコマンド応答RESをホスト機器に送信する。
ホスト機器はコマンド応答RESを受信後に、書き込みデータを記憶装置100に転送する。図2Bにおいて、ホスト機器110が書き込みデータDAT1を転送すると、ホストIF部130は書き込みデータDAT1を受信する。制御部160はデータDAT1をバッファ制御部150のデータバッファ151に格納する。
続いて図2Cにおいて、ホスト機器110が書き込みデータDAT2を転送する。ホストIF部130は書き込みデータDAT2を受信する。制御部160は受信データDAT2をバッファ制御部150のデータバッファ151に格納する。同時にデータバッファ151に格納されている書き込みデータDAT1を記憶媒体120へ書き込む。
図2D,図3Aにおいて、ホスト機器110が終了コマンドECMDを記憶装置100に対して発行する。ホストIF部130はこのコマンドを受信した後、制御部160に転送する。制御部160では終了コマンドを受信した場合、退避制御部162が退避信号を生成し、バッファ制御部150及び制御情報格納部140へ送信する。従って、本実施の形態では、ホスト機器110から得られる書き込みデータに関する情報としての書き込み終了コマンドに基づいて、退避信号が生成される。バッファ制御部150では退避信号を受信すると、データバッファ151に格納された書き込み中のデータをバッファ退避メモリ152に退避する。また、制御情報保持部140では退避信号を受信すると、レジスタ141に保持されているホストから来た論理アドレスや書き込みブロック等の制御情報(CONT)を、制御情報退避メモリ142へ退避する。ここで、少なくとも制御情報(CONT)は、データ書き込みとして、どの論理アドレスのデータをどの物理アドレスに書き込もうとしていたかを示す情報(書き込み領域アドレスの情報)とするとよい。なお、本実施の形態においては書き込み中のデータDAT2のみを退避しているが、データバッファ容量を大きくした場合には、データバッファ151にはバッファ退避メモリ152の容量以上のデータが存在することになる。このような場合、バッファ退避メモリ152へ退避すると共に、退避しきれない分にはデータ書き込みが継続され、データバッファ151内の書き込みデータが全て安全な状態になった時点で退避が完了したと見なすとよい。
ここで図3Aでは終了コマンドECMDを受信した後も記憶媒体120へデータの書き込みを続けると共に、バッファ退避メモリ152へのデータの退避を行っている。これに代えて図3Bに示すように終了コマンドECMDを受信すると、バッファ退避メモリ152にデータを退避し、データ線を開放状態としてもよい。この後に図3Bに示すように記憶媒体120にデータバッファ151からデータを書き込む。これらの場合いずれも終了コマンドECMDを受信した後にデータをバッファ退避メモリに退避するものとする。
書き込みデータや制御情報を退避する時には、バッファ制御部150の退避フラグ153をセットする。ここで退避フラグの「セット」とは、バッファ退避メモリ152、制御情報退避メモリ142に退避したデータがあることを示す。本発明の実施の形態では退避フラグ153はバッファ制御部150内に設けているが、制御情報保持部140とバッファ制御部150の双方に夫々退避したことを示す退避フラグを設けてもよく、情報制御保持部140のみに設けてもよい。いずれか一方に退避フラグを設けた場合には、必要なリソースを削減できる。
さて、記憶装置100は終了コマンドECMDを受信すると、DATA線を用いてビジー状態とする。ここで「ビジー状態」とは記憶装置100内で書き込みデータを処理していることを示しており、本実施の形態においてはDATA線がローの場合に記憶装置100がビジー状態であることを示している。この間に図2Dを用いて説明したとおり、記憶装置100内では書き込みデータDAT2及び制御情報の退避が行われている。退避を終えると、制御部160はDATA線をビジー状態から通常状態に復帰させ、これによってホスト機器110のデータの書き込み完了を通知する。ホスト機器110はDATA線がハイになるタイミングt1において、データ書き込みが終了したことを知ることができる。バッファ退避メモリ152及び制御情報退避メモリ142に例えば強誘電体メモリを用いた場合は、1回の書き込みが1マイクロ秒程度で終了するため、ビジー状態になっている時間を短縮できる。即ちホスト機器110から見てデータの書き込みの完了までの時間を短縮することができ、記憶装置の処理性能を向上することができる。
記憶装置100はこの後に、退避したデータ又はレジスタ141に保持されている制御データを用いて、データバッファ151に保持されているデータの記憶媒体120への書き込みを続け、書き込み処理を終える。データバッファ151のDAT2を記憶媒体120に書き込むと、退避制御部162は退避フラグ153をクリアする。ここで退避フラグ153の「クリア」とは、バッファ退避メモリ152、制御情報退避メモリ142に退避したデータがないことを示す。但しホスト機器110側から見てビジー状態ではなくなっているため、書き込みを終えるまでに電源が遮断される場合もありうる。電源が遮断されたとしても書き込むべきデータはバッファ退避メモリ152に保持されており、書き込みに必要な制御情報も制御情報退避メモリ142に保持されており、これらは不揮発性メモリであるので、その内容は保持されている。従って次の電源投入時にバッファ退避メモリ152に保持されているデータの書き込み処理が再開される。この処理について説明する。
図4は記憶装置100に電源が投入された時の記憶装置100内の制御部160が行う制御フローである。図4において、電源が投入されると、制御部160は初期化処理を行う(S401)。初期化処理では記憶媒体120内の不良ブロックのチェックや、ホスト機器の発行するアドレスを記憶媒体120のアドレスに変換するためのテーブル作成などを行う。本実施の形態においては初期化処理は電源投入時に行っているが、ホスト機器から初期化コマンドが発行された場合に行ってもよい。
初期化処理が終了すると、制御部160は退避フラグ153がセットされているかどうかを確認する(S402)。セットされている場合には退避しているデータ量をチェックする(S403)。ホスト機器110からのデータの読み書きは通常ファイルシステムを用いてクラスタと呼ばれる単位で行われる。クラスタのサイズは例えば16kBである。退避しているデータを再度記憶媒体120に書き込んでもクラスタを構成できない場合には、ホスト機器にとっては意味のないデータとなる可能性がある。このため、例えば退避しているデータを記憶媒体120に書き込むことで記憶媒体120で1つのクラスタが構成できるかどうかを閾値として、退避データの処理を決定する。この閾値は記憶装置100内で固有に定めてもよいし、ホスト機器から設定できるようにしてもよい。退避しているデータを書き込んだ結果のデータ量が閾値以上である場合は、退避データの復帰処理を行う(S404)。ここで復帰処理とは、バッファ退避メモリ152に保持した書き込みデータをデータバッファ151に移す処理と、制御情報退避メモリ142に保持した制御情報をレジスタ141に移す処理を示す。復帰処理を行った後、データバッファ151の書き込みデータを記憶媒体120へ書き込む(S405)。書き込みが終了すると退避フラグをクリアし(S406)処理を終了する。なお、S402において退避フラグがセットされていない場合には処理を終了する。また、S403においてデータ量が閾値未満である場合には退避フラグをクリアし(S406)処理を終了する。これにより退避していたデータは破棄される。また、S405において閾値未満のデータが残っていた場合も、そのデータは破棄される。尚ここでは退避したデータを一旦データバッファ151に復帰し、制御情報退避メモリ142に退避した制御情報を一旦レジスタ141に復帰して書き込みを行うようにしているが、制御情報退避メモリ142やバッファ退避メモリ152の内容をそのまま用いて記憶媒体120に書き込むようにして、復帰処理を省略してもよい。
このような処理を行うことで、書き込み中に電源遮断が発生した場合でも再度電源が供給されると中断された処理を完了することができるため、信頼性の高い記憶装置を提供することができる。この場合に不揮発性のバッファ退避メモリはSRAMのような揮発性メモリに比べて書き換え可能回数が少なく、高コストであるため、ホスト機器から書き込み終了を通知された場合にのみバッファ退避メモリへの書き込みを行うことにより、バッファ退避メモリへの使用回数を少なくして信頼性の高い記憶装置とすることができる。
(第2の実施の形態)
次に本発明の第2の実施の形態について説明する。本実施の形態の全体構成は図1の場合と同様である。この実施の形態では、ホスト機器はあらかじめ転送するデータ量を記憶装置に対して通知した後に、書き込みコマンドを発行する。こうすれば記憶装置側ではあらかじめ通知されたサイズのデータを受信した後に、データバッファ151にある未書き込みのデータをバッファ退避メモリ152に保持し、レジスタ141にある制御情報を制御情報退避メモリ142に保持して、退避フラグ153を立てる。こうすれば退避が完了した後、すぐにビジー状態を解除することができ、ホスト機器を速く開放することができる。従って本実施例では、ホスト機器110から得られる書き込みデータに関する情報として通知されるデータのサイズに基づき退避信号が生成される。
この場合にも、その後データバッファ151に保持されている未書き込みのデータをレジスタ141の制御情報を用いて記憶媒体120にデータを書き込む。又この処理を完了するまでに電源が遮断されたときには、次の電源投入後に、バッファ退避メモリ152に保持してあるデータを制御情報退避メモリ142に保持されている制御情報を用いて記憶媒体120に書き込むことは、前述した第1の実施の形態と同様である。
(第3の実施の形態)
次に本発明の第3の実施の形態について説明する。本実施の形態では第1又は第2の実施の形態の機能に加えて、電源電圧が低下したときにも退避処理を行うようにしたものである。図5は本実施の形態による記憶装置の構成を示すブロック図である。本実施の形態は第1の実施の形態と同一部分は同一符号を付して詳細な説明を省略する。この実施の形態では制御部160Aは前述したシステム制御部161、退避制御部162に加えて、電源電圧を検出する電圧検知部163を有している。電圧検出部163は記憶装置100に印加される電圧レベルを検知して、リセット信号及び電圧低下検知信号を生成するものである。その他の構成は前述した第1の実施の形態と同様である。
図6は制御部160Aに含まれる電圧検出部163の動作を説明する図である。図6において、電源投入後時間t1において電圧レベルが閾値VTLに達するとリセット信号を解除する。図6ではリセット信号はローアクティブ信号としている。また、時間t2において電圧レベルが閾値VTHより低下すると、電圧低下検出信号を出力する。この電圧低下検出信号はリセット信号がアクティブになる閾値電圧VTLに低下する時間t3まで出力される。
また、図7は電圧検出部163から電圧低下検出信号が出力された場合の動作を示している。電圧検出部163は電圧検出信号を退避制御部162に伝える。退避制御部162はデータを書き込み中に電圧低下検出信号を受信すると、図2Dで説明した処理と同様に、図7に示すように制御情報保持部140及びバッファ制御部150に退避信号を出力する。退避制御部162は第1又は第2の実施の形態と同様に、ホスト機器110から書き込みの終了コマンドが発行された場合やあらかじめ送られてきた書き込みデータ量に達した場合にも退避信号を出力する。制御情報保持部140では退避信号を受信すると、レジスタ141に保持されたアドレスや書き込みブロック等の制御情報(CONT)を制御情報退避メモリ142へ退避する。バッファ制御部150では退避信号を受信すると、データバッファ151に格納されたデータDAT2が記憶媒体120へ書き込み中であった場合には、データDAT2をバッファ退避メモリ152へ退避する。このような処理は記憶装置100がリムーバブルである場合に、データ書き込み中に誤って記憶装置100が取り出されたり、外的衝撃によって電源供給が遮断された場合に発生する。この場合退避したデータは記憶装置100に電源が投入された際に処理される。この処理は図4に示した場合と同様である。
こうすれば書き込み中に電源遮断が発生した場合でも書き込み中のデータの復帰が可能である。この実施の形態は特に挿抜可能で衝撃による電源遮断が生じやすいポータブル機器・携帯電話向けの記憶装置として好適である。
尚前述した各実施の形態では、データをバッファ退避メモリに退避したときに退避フラグをセットするようにしているが、制御情報を制御情報退避メモリに退避したときに退避フラグをセットするようにしてもよい。又データをバッファ退避メモリに退避し、且つ制御情報を制御情報退避メモリに退避したときに退避フラグをセットするようにしてもよい。更にバッファ退避メモリと制御情報退避メモリとは同一の不揮発性メモリを用い、その一部の領域を制御情報退避用の領域、他の領域をバッファ退避用の領域としてもよい。この場合にその不揮発性メモリ内に更に退避メモリの領域を設けるようにしてもよい。
尚前述した各実施の形態では、制御情報を退避時に制御情報退避メモリに保持するようにしているが、データの書き込み中の記憶媒体から制御情報を解読して記憶媒体に書き込むこともでき、この場合には制御情報退避メモリが不要となる。
本発明によると、通常のデータ書き込み時においてホスト機器に対しビジー解除を早いタイミングで行うことができるので、ホスト機器にとってアクセス効率が向上できる。従って本発明による記憶装置は、メモリカード等の記憶装置を用いた種々の機器に適用することができる。

Claims (17)

  1. データを記憶する不揮発性メモリから成る記憶媒体と、
    ホスト機器から送られた書き込むべきデータを一時的に保持するデータバッファ及び前記データバッファのデータを退避する不揮発性のバッファ退避メモリを有するバッファ制御部と、
    前記バッファ制御部を制御するための制御部と、を具備し、
    前記制御部は、前記ホスト機器から得られる書き込みデータに関する情報に基づき、前記データバッファに保持した書き込みデータを前記バッファ退避メモリへ退避すると共に、前記記憶媒体へ記憶し、データの退避を完了した後に前記ホスト機器に書き込み完了を通知する記憶装置。
  2. 前記ホスト機器から得られる書き込みデータに関する情報は、データ書き込み終了を示す情報である請求項1記載の記憶装置。
  3. 前記ホスト機器から得られる書き込みデータに関する情報は、あらかじめ指定されたデータサイズを示す情報である請求項1記載の記憶装置。
  4. 前記制御部は、電源電圧の低下を検知する電圧検出部を備え、
    前記制御部は、前記ホスト機器から送られた書き込みデータを前記データ記憶部に書き込み中に前記電圧検出部によって電源電圧の低下が検知されると、前記データバッファに保持した書き込みデータを前記バッファ退避メモリに退避する請求項1記載の記憶装置。
  5. 前記記憶装置は、ホスト機器から与えられたアドレス及び前記記憶媒体に書き込むための情報を含む制御情報を保持する制御情報保持部を更に具備し、
    前記制御情報保持部は、
    制御情報を一時的に保持するレジスタと、
    前記レジスタの情報を退避する不揮発性の制御情報退避メモリと、を有し、
    前記制御部は、前記書き込みデータを前記バッファ退避メモリへ退避する際に前記レジスタに保持されている制御情報を前記制御情報退避メモリに退避させる請求項1記載の記憶装置。
  6. 前記制御情報は、前記記憶媒体への書き込み領域アドレスの情報を含む請求項5記載の記憶装置。
  7. 前記制御情報退避メモリは、前記記憶媒体より高速にデータを書き込むことができる不揮発性メモリである請求項5記載の記憶装置。
  8. 前記制御情報退避メモリは、強誘電体メモリで構成される請求項7記載の記憶装置。
  9. 前記バッファ退避メモリは、前記記憶媒体より高速にデータを書き込むことができる不揮発性メモリである請求項1記載の記憶装置。
  10. 前記バッファ退避メモリは、強誘電体メモリで構成される請求項9記載の記憶装置。
  11. 前記記憶装置は、前記バッファ退避メモリにデータを退避したときに立てられる不揮発性の退避フラグを更に有し、
    前記制御部は、前記バッファ退避メモリにデータを退避したときに前記退避フラグをセットし、前記退避したデータの前記記憶媒体への書き込みを完了したときに退避フラグをクリアする請求項1記載の記憶装置。
  12. 前記記憶装置は、前記レジスタの情報を制御情報退避メモリに退避したときに立てられる不揮発性の退避フラグを有し、
    前記制御部は、前記制御情報退避メモリにレジスタの制御情報を退避したときに前記退避フラグをセットし、前記退避した制御情報を用いてデータの前記記憶媒体へ書き込みを完了したときに退避フラグをクリアする請求項5記載の記憶装置。
  13. 前記記憶装置は、不揮発性の退避フラグを更に有し、
    前記制御部は、前記バッファ退避メモリにデータを退避し、前記制御情報を前記制御情報退避メモリに退避したときに前記退避フラグをセットし、前記退避した制御情報を用いてデータの前記記憶媒体へ書き込みを完了したときに退避フラグをクリアする請求項5項記載の記憶装置。
  14. 前記バッファ退避メモリと前記制御情報退避メモリとを同一の不揮発性メモリで構成し、夫々バッファ退避領域にデータを退避し、制御情報退避領域に制御情報を退避するようにした請求項5記載の記憶装置。
  15. 前記制御部は、電源投入時に前記退避フラグを読み出し、前記退避フラグがセットされている場合には、前記データ退避バッファにされている前記書き込みデータを前記記憶媒体に書き込み、書き込みが終了すると前記退避フラグをクリアする請求項11記載の記憶装置。
  16. 前記制御部は、電源投入時に前記退避フラグを読み出し、前記退避フラグがセットされている場合には、前記データ退避バッファに保持する書き込みデータのデータ量の確認を行い、前記記憶媒体にそのデータを所定単位で書き込み、残る書き込みのデータが一定量未満の場合には前記データ退避バッファに保持したデータを破棄する請求項11項記載の記憶装置。
  17. 前記退避フラグは、前記バッファ退避メモリと一体に構成されている請求項11記載の記憶装置。
JP2007510448A 2005-03-28 2006-03-24 記憶装置 Expired - Fee Related JP4881856B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007510448A JP4881856B2 (ja) 2005-03-28 2006-03-24 記憶装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005091930 2005-03-28
JP2005091930 2005-03-28
JP2007510448A JP4881856B2 (ja) 2005-03-28 2006-03-24 記憶装置
PCT/JP2006/305964 WO2006104036A1 (ja) 2005-03-28 2006-03-24 記憶装置

Publications (2)

Publication Number Publication Date
JPWO2006104036A1 JPWO2006104036A1 (ja) 2008-09-04
JP4881856B2 true JP4881856B2 (ja) 2012-02-22

Family

ID=37053293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007510448A Expired - Fee Related JP4881856B2 (ja) 2005-03-28 2006-03-24 記憶装置

Country Status (3)

Country Link
US (1) US7818477B2 (ja)
JP (1) JP4881856B2 (ja)
WO (1) WO2006104036A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5014259B2 (ja) * 2008-05-30 2012-08-29 パナソニック株式会社 表示制御装置および表示制御方法
JP2010086009A (ja) * 2008-09-29 2010-04-15 Hitachi Ltd 記憶装置およびメモリ制御方法
JP2010258608A (ja) * 2009-04-22 2010-11-11 Sony Corp 撮像装置及び撮像装置の立上方法
JP5347779B2 (ja) 2009-07-07 2013-11-20 ソニー株式会社 メモリ装置、メモリ制御方法、およびプログラム
JP5366885B2 (ja) * 2010-05-25 2013-12-11 日立オートモティブシステムズ株式会社 電子制御装置
CN102799392B (zh) * 2012-06-16 2015-12-16 北京忆恒创源科技有限公司 存储设备及其中断控制方法
US10643668B1 (en) * 2013-08-27 2020-05-05 Seagate Technology Llc Power loss data block marking
US9858003B2 (en) * 2016-05-02 2018-01-02 Toshiba Memory Corporation Storage system that reliably stores lower page data
KR102609473B1 (ko) * 2016-06-17 2023-12-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10528264B2 (en) * 2016-11-04 2020-01-07 Samsung Electronics Co., Ltd. Storage device and data processing system including the same
WO2018166072A1 (zh) * 2017-03-13 2018-09-20 华为技术有限公司 一种数据处理方法及装置
KR102398186B1 (ko) 2017-07-03 2022-05-17 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 사용자 장치의 동작 방법
CN110989918B (zh) * 2018-10-03 2023-03-28 慧荣科技股份有限公司 写入控制方法以及数据存储装置及其控制器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6476346A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Disk cache control system
US5596708A (en) * 1994-04-04 1997-01-21 At&T Global Information Solutions Company Method and apparatus for the protection of write data in a disk array
JPH11143788A (ja) * 1997-11-05 1999-05-28 Hitachi Ltd 不揮発性メモリを使用した外部記憶装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2256735B (en) * 1991-06-12 1995-06-21 Intel Corp Non-volatile disk cache
JPH07200418A (ja) 1993-12-28 1995-08-04 Hitachi Maxell Ltd データ記憶装置ならびにその制御方法
US5799200A (en) * 1995-09-28 1998-08-25 Emc Corporation Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller
JPH10154101A (ja) 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
JP3180063B2 (ja) * 1997-08-26 2001-06-25 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク・ドライブ装置及びこれの制御方法
JP4015835B2 (ja) * 2001-10-17 2007-11-28 松下電器産業株式会社 半導体記憶装置
US6862673B2 (en) * 2001-11-14 2005-03-01 Silicon Integrated Systems Corporation Command order maintenance scheme for multi-in/multi-out FIFO in multi-threaded I/O links
US7380055B2 (en) * 2004-06-21 2008-05-27 Dot Hill Systems Corporation Apparatus and method in a cached raid controller utilizing a solid state backup device for improving data availability time

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6476346A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Disk cache control system
US5596708A (en) * 1994-04-04 1997-01-21 At&T Global Information Solutions Company Method and apparatus for the protection of write data in a disk array
JPH11143788A (ja) * 1997-11-05 1999-05-28 Hitachi Ltd 不揮発性メモリを使用した外部記憶装置

Also Published As

Publication number Publication date
JPWO2006104036A1 (ja) 2008-09-04
US7818477B2 (en) 2010-10-19
US20090019194A1 (en) 2009-01-15
WO2006104036A1 (ja) 2006-10-05

Similar Documents

Publication Publication Date Title
JP4881856B2 (ja) 記憶装置
TWI386802B (zh) 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統
US20110113184A1 (en) Data backup method for a flash memory and controller and storage system using the same
US20110238898A1 (en) Nonvolatile memory controller and nonvolatile storage device
TW200951979A (en) Data writing method for flash memory and storage system and controller using the same
JP2007242163A (ja) 半導体集積回路装置のデータ記録方式
US8819350B2 (en) Memory system
TWI611410B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US9384125B2 (en) Method for accessing flash memory having pages used for data backup and associated memory device
US10754552B2 (en) Data storage device and operating method thereof
TW202338851A (zh) 異常斷電恢復方法、記憶體控制電路單元以及記憶體儲存裝置
KR101581311B1 (ko) 플래시 메모리 장치 및 그 제어 방법
JP2007241618A (ja) 不揮発性記憶装置及びその書き込み判定方法
CN110047547A (zh) 数据储存装置、其操作方法和非易失性存储器件
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP2007305105A (ja) メモリコントローラ
JP2012521032A (ja) Ssdコントローラおよびssdコントローラの動作方法
TWI550625B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US10838766B2 (en) Memory system and operating method thereof
WO2011007511A1 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム
US11803307B2 (en) Memory system and operating method thereof
JP2006338083A (ja) メモリコントローラ
US11513722B2 (en) Memory system allowing operation during suspensions
JP2010026584A (ja) メモリコントローラおよび不揮発性記憶装置
KR20140082181A (ko) 메모리 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090323

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111205

R150 Certificate of patent or registration of utility model

Ref document number: 4881856

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees