(57)【特許請求の範囲】
【請求項１】
データを記憶する不揮発性メモリから成る記憶媒体と、
ホスト機器から送られた書き込むべきデータを一時的に保持するデータバッファ及び前記データバッファのデータを退避する不揮発性のバッファ退避メモリを有するバッファ制御部と、
前記バッファ制御部を制御するための制御部と、を具備し、
前記制御部は、前記ホスト機器から得られる書き込みデータに関する情報に基づき、前記データバッファに保持した書き込みデータを前記バッファ退避メモリへ退避すると共に、前記記憶媒体へ記憶し、データの退避を完了した後に前記ホスト機器に書き込み完了を通知する記憶装置。
【請求項２】
前記ホスト機器から得られる書き込みデータに関する情報は、データ書き込み終了を示す情報である請求項１記載の記憶装置。
【請求項３】
前記ホスト機器から得られる書き込みデータに関する情報は、あらかじめ指定されたデータサイズを示す情報である請求項１記載の記憶装置。
【請求項４】
前記制御部は、電源電圧の低下を検知する電圧検出部を備え、
前記制御部は、前記ホスト機器から送られた書き込みデータを前記データ記憶部に書き込み中に前記電圧検出部によって電源電圧の低下が検知されると、前記データバッファに保持した書き込みデータを前記バッファ退避メモリに退避する請求項１記載の記憶装置。
【請求項５】
前記記憶装置は、ホスト機器から与えられたアドレス及び前記記憶媒体に書き込むための情報を含む制御情報を保持する制御情報保持部を更に具備し、
前記制御情報保持部は、
制御情報を一時的に保持するレジスタと、
前記レジスタの情報を退避する不揮発性の制御情報退避メモリと、を有し、
前記制御部は、前記書き込みデータを前記バッファ退避メモリへ退避する際に前記レジスタに保持されている制御情報を前記制御情報退避メモリに退避させる請求項１記載の記憶装置。
【請求項６】
前記制御情報は、前記記憶媒体への書き込み領域アドレスの情報を含む請求項５記載の記憶装置。
【請求項７】
前記制御情報退避メモリは、前記記憶媒体より高速にデータを書き込むことができる不揮発性メモリである請求項５記載の記憶装置。
【請求項８】
前記制御情報退避メモリは、強誘電体メモリで構成される請求項７記載の記憶装置。
【請求項９】
前記バッファ退避メモリは、前記記憶媒体より高速にデータを書き込むことができる不揮発性メモリである請求項１記載の記憶装置。
【請求項１０】
前記バッファ退避メモリは、強誘電体メモリで構成される請求項９記載の記憶装置。
【請求項１１】
前記記憶装置は、前記バッファ退避メモリにデータを退避したときに立てられる不揮発性の退避フラグを更に有し、
前記制御部は、前記バッファ退避メモリにデータを退避したときに前記退避フラグをセットし、前記退避したデータの前記記憶媒体への書き込みを完了したときに退避フラグをクリアする請求項１記載の記憶装置。
【請求項１２】
前記記憶装置は、前記レジスタの情報を制御情報退避メモリに退避したときに立てられる不揮発性の退避フラグを有し、
前記制御部は、前記制御情報退避メモリにレジスタの制御情報を退避したときに前記退避フラグをセットし、前記退避した制御情報を用いてデータの前記記憶媒体へ書き込みを完了したときに退避フラグをクリアする請求項５記載の記憶装置。
【請求項１３】
前記記憶装置は、不揮発性の退避フラグを更に有し、
前記制御部は、前記バッファ退避メモリにデータを退避し、前記制御情報を前記制御情報退避メモリに退避したときに前記退避フラグをセットし、前記退避した制御情報を用いてデータの前記記憶媒体へ書き込みを完了したときに退避フラグをクリアする請求項５項記載の記憶装置。
【請求項１４】
前記バッファ退避メモリと前記制御情報退避メモリとを同一の不揮発性メモリで構成し、夫々バッファ退避領域にデータを退避し、制御情報退避領域に制御情報を退避するようにした請求項５記載の記憶装置。
【請求項１５】
前記制御部は、電源投入時に前記退避フラグを読み出し、前記退避フラグがセットされている場合には、前記データ退避バッファにされている前記書き込みデータを前記記憶媒体に書き込み、書き込みが終了すると前記退避フラグをクリアする請求項１１記載の記憶装置。
【請求項１６】
前記制御部は、電源投入時に前記退避フラグを読み出し、前記退避フラグがセットされている場合には、前記データ退避バッファに保持する書き込みデータのデータ量の確認を行い、前記記憶媒体にそのデータを所定単位で書き込み、残る書き込みのデータが一定量未満の場合には前記データ退避バッファに保持したデータを破棄する請求項１１項記載の記憶装置。
【請求項１７】
前記退避フラグは、前記バッファ退避メモリと一体に構成されている請求項１１記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、不揮発性メモリを備える記憶装置に関する。
【背景技術】
【０００２】  デジタルカメラ、ムービー、携帯型音楽プレーヤなどのデジタル情報を制御する機器（以下、ホスト機器という）において、デジタル情報を保持する記憶装置として、不揮発性メモリを搭載したメモリカードがある。メモリカードに使用される不揮発性メモリとして、フラッシュメモリが広く使われている。フラッシュメモリは書き込み時間が長くかかるため、ホスト機器からみてフラッシュメモリに対して書き込みが完了するまで記憶装置はビジー状態となり、ホスト機器が記憶装置から開放されない。又書き込み中に電源遮断が発生するとアクセス中のメモリセルの状態が保証されなくなる。そこで特許文献１においては、フラッシュメモリより高速の不揮発性メモリを備え、フラッシュメモリへの書き込み中に停電を検知した場合、書き込みデータを高速の不揮発性メモリへ書き込む方法が開示されている。
【特許文献１】特開平１１―１４３７８８号
【発明の開示】
【発明が解決しようとする課題】
【０００３】  しかしながら、上記の従来技術には以下のような問題点がある。すなわち、高速の不揮発性メモリを使うのは停電を検知した場合だけであるため、通電時にホスト機器から見てデータ書き込み完了までに時間がかかるという欠点は解消されない。【０００４】  このような問題点に鑑み、本発明は、通電時にはホスト機器からみた性能向上を実現する記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】  この課題を解決するために、本発明の記憶装置は、データを記憶する不揮発性メモリから成る記憶媒体と、ホスト機器から送られた書き込むべきデータを一時的に保持するデータバッファ及び前記データバッファのデータを退避する不揮発性のバッファ退避メモリを有するバッファ制御部と、前記バッファ制御部を制御するための制御部と、を具備し、前記制御部は、得られる書き込みデータに関する情報に基づき、前記データバッファに保持した書き込みデータを前記バッファ退避メモリへ退避すると共に、前記記憶媒体へ記憶し、データの退避を完了した後に前記ホスト機器に書き込み完了を通知するものである。【０００６】  ここで前記ホスト機器から得られる書き込みデータに関する情報は、データ書き込み終了を示す情報としてもよい。【０００７】  ここで前記ホスト機器から得られる書き込みデータに関する情報は、あらかじめ指定されたデータサイズを示す情報としてもよい。【０００８】  ここで前記制御部は、電源電圧の低下を検知する電圧検出部を備え、前記制御部は、前記ホスト機器から送られた書き込みデータを前記データ記憶部に書き込み中に前記電圧検出部によって電源電圧の低下が検知されると、前記データバッファに保持した書き込みデータを前記バッファ退避メモリに退避するようにしてもよい。【０００９】  ここで前記記憶装置は、ホスト機器から与えられたアドレス及び前記記憶媒体に書き込むための情報を含む制御情報を保持する制御情報保持部を更に具備し、前記制御情報保持部は、制御情報を一時的に保持するレジスタと、前記レジスタの情報を退避する不揮発性の制御情報退避メモリと、を有し、前記制御部は、前記書き込みデータを前記バッファ退避メモリへ退避する際に前記レジスタに保持されている制御情報を前記制御情報退避メモリに退避させるようにしてもよい。【００１０】  ここで前記制御情報は、前記記憶媒体への書き込み領域アドレスの情報を含むようにしてもよい。【００１１】  ここで前記制御情報退避メモリは、前記記憶媒体より高速にデータを書き込むことができる不揮発性メモリとしてもよい。【００１２】  ここで前記制御情報退避メモリは、強誘電体メモリで構成されるようにしてもよい。【００１３】  ここで前記バッファ退避メモリは、前記記憶媒体より高速にデータを書き込むことができる不揮発性メモリとしてもよい。【００１４】  ここで前記バッファ退避メモリは、強誘電体メモリで構成されるようにしてもよい。【００１５】  ここで前記記憶装置は、前記バッファ退避メモリにデータを退避したときに立てられる不揮発性の退避フラグを更に有し、前記制御部は、前記バッファ退避メモリにデータを退避したときに前記退避フラグをセットし、前記退避したデータの前記記憶媒体への書き込みを完了したときに退避フラグをクリアするようにしてもよい。【００１６】  ここで前記記憶装置は、前記レジスタの情報を制御情報退避メモリに退避したときに立てられる不揮発性の退避フラグを有し、前記制御部は、前記制御情報退避メモリにレジスタの制御情報を退避したときに前記退避フラグをセットし、前記退避した制御情報を用いてデータの前記記憶媒体へ書き込みを完了したときに退避フラグをクリアするようにしてもよい。【００１７】  ここで前記記憶装置は、不揮発性の退避フラグを更に有し、前記制御部は、前記バッファ退避メモリにデータを退避し、前記制御情報を前記制御情報退避メモリに退避したときに前記退避フラグをセットし、前記退避した制御情報を用いてデータの前記記憶媒体へ書き込みを完了したときに退避フラグをクリアするようにしてもよい。【００１８】  ここで前記バッファ退避メモリと前記制御情報退避メモリとを同一の不揮発性メモリで構成し、夫々バッファ退避領域にデータを退避し、制御情報退避領域に制御情報を退避するようにしてもよい。【００１９】  ここで前記制御部は、電源投入時に前記退避フラグを読み出し、前記退避フラグがセットされている場合には、前記データ退避バッファにされている前記書き込みデータを前記記憶媒体に書き込み、書き込みが終了すると前記退避フラグをクリアするようにしてもよい。【００２０】  ここで前記制御部は、電源投入時に前記退避フラグを読み出し、前記退避フラグがセットされている場合には、前記データ退避バッファに保持する書き込みデータのデータ量の確認を行い、前記記憶媒体にそのデータを所定単位で書き込み、残る書き込みのデータが一定量未満の場合には前記データ退避バッファに保持したデータを破棄するようにしてもよい。【００２１】  ここで前記退避フラグは、前記バッファ退避メモリと一体に構成されているようにしてもよい。
【発明の効果】
【００２２】  本発明によると、ホスト機器からのデータ転送終了時に必要なデータ及び／又は制御情報を退避データ保持部へ記録するため、通電時はホスト機器から見てデータ書き込みまでの時間を短縮することができ、書き込み性能を向上することができる。また、電圧検出部及び制御情報保持部を設けた発明では、この効果に加えて、電源電圧低下を検知した時にも必要な情報を退避するため、電源遮断に対しても信頼性の高い記憶装置を提供することができる。
【図面の簡単な説明】
【００２３】
【図１】図１は本発明の第１の実施の形態に係る記憶装置の構成を説明するためのブロック図である。
【図２Ａ】図２Ａは本発明の実施の形態に係る記憶装置のデータ書き込みフローを説明するためのブロック図である。
【図２Ｂ】図２Ｂは本発明の実施の形態に係る記憶装置のデータ書き込みフローを説明するためのブロック図である。
【図２Ｃ】図２Ｃが本発明の実施の形態に係る記憶装置のデータ書き込みフローを説明するためのブロック図である。
【図２Ｄ】図２Ｄは本発明の実施の形態に係る記憶装置のデータ書き込みフローを説明するためのブロック図である。
【図３Ａ】図３Ａは本発明の実施の形態に係る記憶装置のホスト機器から見たデータ書き込みフローを説明するためのタイミングチャートである。
【図３Ｂ】図３Ｂは本発明の実施の形態に係る記憶装置のホスト機器から見たデータ書き込みの他のフローを説明するためのタイミングチャートである。
【図４】図４は本発明の実施の形態に係る記憶装置の電源投入時の処理を説明するためのフロー図である。
【図５】図５は本発明の第３の実施の形態による記憶装置の構成を示すブロック図である。
【図６】図６は本発明の第３の実施の形態に係る電圧検出部の動作を説明するためのタイミングチャートである。
【図７】図７は第３の実施の形態による記憶装置の電圧低下が検出されたときのフローを説明するためのブロック図である。
【符号の説明】
【００２４】  １００  記憶装置
１１０  ホスト機器
１２０  記憶媒体
１４０  制御情報保持部
１４１  レジスタ
１４２  制御情報退避メモリ
１５０  バッファ制御部
１５１  データバッファ
１５２  バッファ退避メモリ
１５３  退避フラグ
１６０  制御部
１６１  システム制御部
１６２  退避制御部
１６３  電圧検出部
【発明を実施するための最良の形態】
【００２５】  （第１の実施の形態）
図１は本発明の第１の実施の形態に係る記憶装置の構成を示すブロック図である。記憶装置１００はホスト機器１１０と接続され、ホスト機器１１０からコマンド（ＣＭＤ）、データ（ＤＡＴＡ）を受信してデータの書き込みを行い、データを読み出してホスト機器１１０に出力する。記憶装置１００は、データを保持するための記憶媒体１２０と、ホスト機器との通信制御を行うホストＩＦ部１３０と、ホスト機器１１０からの制御に応じた制御情報を保持する制御情報保持部１４０と、ホスト機器１１０が読み書きするデータを一時保持するためのバッファ制御部１５０と、制御部１６０を含んで構成される。制御部１６０はホストＩＦ部１３０、制御情報保持部１４０、バッファ制御部１５０を制御するためのものである。記憶媒体１２０は、ユーザデータを保持するメモリであり、例えばＮＡＮＤ型フラッシュメモリのような不揮発性メモリで構成される。【００２６】  制御情報保持部１４０はレジスタ１４１、制御情報退避メモリ１４２を含んで構成される。レジスタ１４１は制御情報、例えばホスト機器１１０から送られてきた論理アドレス情報や記憶媒体１２０への書き込み中のブロック等の制御情報を保持するバッファであり、制御情報退避メモリ１４２はこの情報を一時的に退避する不揮発性のメモリである。レジスタ１４１は揮発性のＲＡＭによって構成されていてもよい。又制御情報退避メモリ１４２は、例えば強誘電体メモリのように、記憶媒体１２０より高速に書き込み可能な不揮発性のメモリであることが好ましい。【００２７】  次にバッファ制御部１５０は、データバッファ１５１、バッファ退避メモリ１５２及び退避フラグ（Ｆ）１５３を含む。データバッファ１５１はＳＲＡＭ等の揮発性メモリとする。データバッファの容量はホスト機器１１０より送られるデータの送信単位、例えば５１２バイトの整数倍あればよい。又バッファ退避メモリ１５２は不揮発性メモリで構成する。バッファ退避−メモリ１５２は例えば強誘電体メモリのように、記憶媒体１２０より高速に書き込み可能なメモリであることが好ましい。バッファ退避メモリ１５２の容量はホスト機器１１０より送られるデータの送信単位の整数倍であればよく、データバッファ１５１と同一サイズであってもよく、異なっていてもよい。尚、不揮発性のバッファ退避メモリ１５２は揮発性のデータバッファ１５１より高価格で書き換え可能回数が少ないため、その容量はバッファメモリ以下であることが好ましい。又退避フラグ１５３はバッファ退避メモリ１５２にデータを退避している場合に、退避中のデータが存在することを示す不揮発性のフラグである。退避フラグ１５３はバッファ退避メモリ１５２と一体化して不揮発性のメモリで構成してもよい。【００２８】  また制御部１６０はシステム制御部１６１及び退避制御部１６２を含む。システム制御部１６１はホスト機器１１０からの転送要求に応じてホストＩＦ部１３０、バッファ制御部１５０、制御情報保持部１４０の制御を行い、記憶媒体１２０のデータ転送を行うものである。退避制御部１６２は書き込みデータや制御情報の退避・復帰処理、ホストへの応答の制御を行う。【００２９】  以下、図２Ａ〜図２Ｄ，図３Ａ，図３Ｂを用いて第１の実施の形態���係る記憶装置１００の書き込みシーケンスを説明する。本実施の形態では２単位のデータＤＡＴ１，ＤＡＴ２を書き込む場合について説明するが、本発明の適用範囲はこれに限定されるものではない。【００３０】  図２Ａにおいて、ホスト機器１１０は書き込みコマンドＷＣＭＤを記憶装置１００に対して発行する。コマンドにはリード・ライト等の転送の種類や転送するデータのアドレス等が含まれる。コマンドはホストＩＦ部１３０で受信された後、制御部１６０に転送される。制御部１６０ではコマンドの内容からアドレスやリード・ライトの種別を図中でＣＯＮＴとして示す制御情報として取り出し、制御情報保持部１４０のレジスタ１４１に保持する。【００３１】  図３Ａ，図３Ｂはホスト機器から見た場合のタイムチャートである。図でＣＭＤはホスト機器と記憶装置１００とがコマンドや応答の制御情報を相互にやりとりするための信号線、ＤＡＴＡはホスト機器と記憶装置１００が書き込みデータを転送するための信号線の状態を示す。又これとタイミングを合わせてデータバッファ１５１、記憶媒体１２０への書き込み及び退避バッファ１５２への書き込みを示す。【００３２】  図３Ａにおいて、ホスト機器が書き込みコマンドＷＣＭＤを発行すると、記憶装置１００はコマンドを受け付けたことを示すためのコマンド応答ＲＥＳをホスト機器に送信する。【００３３】  ホスト機器はコマンド応答ＲＥＳを受信後に、書き込みデータを記憶装置１００に転送する。図２Ｂにおいて、ホスト機器１１０が書き込みデータＤＡＴ１を転送すると、ホストＩＦ部１３０は書き込みデータＤＡＴ１を受信する。制御部１６０はデータＤＡＴ１をバッファ制御部１５０のデータバッファ１５１に格納する。【００３４】  続いて図２Ｃにおいて、ホスト機器１１０が書き込みデータＤＡＴ２を転送する。ホストＩＦ部１３０は書き込みデータＤＡＴ２を受信する。制御部１６０は受信データＤＡＴ２をバッファ制御部１５０のデータバッファ１５１に格納する。同時にデータバッファ１５１に格納されている書き込みデータＤＡＴ１を記憶媒体１２０へ書き込む。【００３５】  図２Ｄ，図３Ａにおいて、ホスト機器１１０が終了コマンドＥＣＭＤを記憶装置１００に対して発行する。ホストＩＦ部１３０はこのコマンドを受信した後、制御部１６０に転送する。制御部１６０では終了コマンドを受信した場合、退避制御部１６２が退避信号を生成し、バッファ制御部１５０及び制御情報格納部１４０へ送信する。従って、本実施の形態では、ホスト機器１１０から得られる書き込みデータに関する情報としての書き込み終了コマンドに基づいて、退避信号が生成される。バッファ制御部１５０では退避信号を受信すると、データバッファ１５１に格納された書き込み中のデータをバッファ退避メモリ１５２に退避する。また、制御情報保持部１４０では退避信号を受信すると、レジスタ１４１に保持されているホストから来た論理アドレスや書き込みブロック等の制御情報（ＣＯＮＴ）を、制御情報退避メモリ１４２へ退避する。ここで、少なくとも制御情報（ＣＯＮＴ）は、データ書き込みとして、どの論理アドレスのデータをどの物理アドレスに書き込もうとしていたかを示す情報（書き込み領域アドレスの情報���とするとよい。なお、本実施の形態においては書き込み中のデータＤＡＴ２のみを退避しているが、データバッファ容量を大きくした場合には、データバッファ１５１にはバッファ退避メモリ１５２の容量以上のデータが存在することになる。このような場合、バッファ退避メモリ１５２へ退避すると共に、退避しきれない分にはデータ書き込みが継続され、データバッファ１５１内の書き込みデータが全て安全な状態になった時点で退避が完了したと見なすとよい。【００３６】  ここで図３Ａでは終了コマンドＥＣＭＤを受信した後も記憶媒体１２０へデータの書き込みを続けると共に、バッファ退避メモリ１５２へのデータの退避を行っている。これに代えて図３Ｂに示すように終了コマンドＥＣＭＤを受信すると、バッファ退避メモリ１５２にデータを退避し、データ線を開放状態としてもよい。この後に図３Ｂに示すように記憶媒体１２０にデータバッファ１５１からデータを書き込む。これらの場合いずれも終了コマンドＥＣＭＤを受信した後にデータをバッファ退避メモリに退避するものとする。【００３７】  書き込みデータや制御情報を退避する時には、バッファ制御部１５０の退避フラグ１５３をセットする。ここで退避フラグの「セット」とは、バッファ退避メモリ１５２、制御情報退避メモリ１４２に退避したデータがあることを示す。本発明の実施の形態では退避フラグ１５３はバッファ制御部１５０内に設けているが、制御情報保持部１４０とバッファ制御部１５０の双方に夫々退避したことを示す退避フラグを設けてもよく、情報制御保持部１４０のみに設けてもよい。いずれか一方に退避フラグを設けた場合には、必要なリソースを削減できる。【００３８】  さて、記憶装置１００は終了コマンドＥＣＭＤを受信すると、ＤＡＴＡ線を用いてビジー状態とする。ここで「ビジー状態」とは記憶装置１００内で書き込みデータを処理していることを示しており、本実施の形態においてはＤＡＴＡ線がローの場合に記憶装置１００がビジー状態であることを示している。この間に図２Ｄを用いて説明したとおり、記憶装置１００内では書き込みデータＤＡＴ２及び制御情報の退避が行われている。退避を終えると、制御部１６０はＤＡＴＡ線をビジー状態から通常状態に復帰させ、これによってホスト機器１１０のデータの書き込み完了を通知する。ホスト機器１１０はＤＡＴＡ線がハイになるタイミングｔ１において、データ書き込みが終了したことを知ることができる。バッファ退避メモリ１５２及び制御情報退避メモリ１４２に例えば強誘電体メモリを用いた場合は、１回の書き込みが１マイクロ秒程度で終了するため、ビジー状態になっている時間を短縮できる。即ちホスト機器１１０から見てデータの書き込みの完了までの時間を短縮することができ、記憶装置の処理性能を向上することができる。【００３９】  記憶装置１００はこの後に、退避したデータ又はレジスタ１４１に保持されている制御データを用いて、データバッファ１５１に保持されているデータの記憶媒体１２０への書き込みを続け、書き込み処理を終える。データバッファ１５１のＤＡＴ２を記憶媒体１２０に書き込むと、退避制御部１６２は退避フラグ１５３をクリアする。ここで退避フラグ１５３の「クリア」と��、バッファ退避メモリ１５２、制御情報退避メモリ１４２に退避したデータがないことを示す。但しホスト機器１１０側から見てビジー状態ではなくなっているため、書き込みを終えるまでに電源が遮断される場合もありうる。電源が遮断されたとしても書き込むべきデータはバッファ退避メモリ１５２に保持されており、書き込みに必要な制御情報も制御情報退避メモリ１４２に保持されており、これらは不揮発性メモリであるので、その内容は保持されている。従って次の電源投入時にバッファ退避メモリ１５２に保持されているデータの書き込み処理が再開される。この処理について説明する。【００４０】  図４は記憶装置１００に電源が投入された時の記憶装置１００内の制御部１６０が行う制御フローである。図４において、電源が投入されると、制御部１６０は初期化処理を行う（Ｓ４０１）。初期化処理では記憶媒体１２０内の不良ブロックのチェックや、ホスト機器の発行するアドレスを記憶媒体１２０のアドレスに変換するためのテーブル作成などを行う。本実施の形態においては初期化処理は電源投入時に行っているが、ホスト機器から初期化コマンドが発行された場合に行ってもよい。【００４１】  初期化処理が終了すると、制御部１６０は退避フラグ１５３がセットされているかどうかを確認する（Ｓ４０２）。セットされている場合には退避しているデータ量をチェックする（Ｓ４０３）。ホスト機器１１０からのデータの読み書きは通常ファイルシステムを用いてクラスタと呼ばれる単位で行われる。クラスタのサイズは例えば１６ｋＢである。退避しているデータを再度記憶媒体１２０に書き込んでもクラスタを構成できない場合には、ホスト機器にとっては意味のないデータとなる可能性がある。このため、例えば退避しているデータを記憶媒体１２０に書き込むことで記憶媒体１２０で１つのクラスタが構成できるかどうかを閾値として、退避データの処理を決定する。この閾値は記憶装置１００内で固有に定めてもよいし、ホスト機器から設定できるようにしてもよい。退避しているデータを書き込んだ結果のデータ量が閾値以上である場合は、退避データの復帰処理を行う（Ｓ４０４）。ここで復帰処理とは、バッファ退避メモリ１５２に保持した書き込みデータをデータバッファ１５１に移す処理と、制御情報退避メモリ１４２に保持した制御情報をレジスタ１４１に移す処理を示す。復帰処理を行った後、データバッファ１５１の書き込みデータを記憶媒体１２０へ書き込む（Ｓ４０５）。書き込みが終了すると退避フラグをクリアし（Ｓ４０６）処理を終了する。なお、Ｓ４０２において退避フラグがセットされていない場合には処理を終了する。また、Ｓ４０３においてデータ量が閾値未満である場合には退避フラグをクリアし（Ｓ４０６）処理を終了する。これにより退避していたデータは破棄される。また、Ｓ４０５において閾値未満のデータが残っていた場合も、そのデータは破棄される。尚ここでは退避したデータを一旦データバッファ１５１に復帰し、制御情報退避メモリ１４２に退避した制御情報を一旦レジスタ１４１に復帰して書き込みを行うようにしているが、制御情報退避メモリ１４２やバッファ退避メモリ１５２の内容をそのまま用いて記憶媒体１２０に書���込むようにして、復帰処理を省略してもよい。【００４２】  このような処理を行うことで、書き込み中に電源遮断が発生した場合でも再度電源が供給されると中断された処理を完了することができるため、信頼性の高い記憶装置を提供することができる。この場合に不揮発性のバッファ退避メモリはＳＲＡＭのような揮発性メモリに比べて書き換え可能回数が少なく、高コストであるため、ホスト機器から書き込み終了を通知された場合にのみバッファ退避メモリへの書き込みを行うことにより、バッファ退避メモリへの使用回数を少なくして信頼性の高い記憶装置とすることができる。【００４３】  （第２の実施の形態）
次に本発明の第２の実施の形態について説明する。本実施の形態の全体構成は図１の場合と同様である。この実施の形態では、ホスト機器はあらかじめ転送するデータ量を記憶装置に対して通知した後に、書き込みコマンドを発行する。こうすれば記憶装置側ではあらかじめ通知されたサイズのデータを受信した後に、データバッファ１５１にある未書き込みのデータをバッファ退避メモリ１５２に保持し、レジスタ１４１にある制御情報を制御情報退避メモリ１４２に保持して、退避フラグ１５３を立てる。こうすれば退避が完了した後、すぐにビジー状態を解除することができ、ホスト機器を速く開放することができる。従って本実施例では、ホスト機器１１０から得られる書き込みデータに関する情報として通知されるデータのサイズに基づき退避信号が生成される。【００４４】  この場合にも、その後データバッファ１５１に保持されている未書き込みのデータをレジスタ１４１の制御情報を用いて記憶媒体１２０にデータを書き込む。又この処理を完了するまでに電源が遮断されたときには、次の電源投入後に、バッファ退避メモリ１５２に保持してあるデータを制御情報退避メモリ１４２に保持されている制御情報を用いて記憶媒体１２０に書き込むことは、前述した第１の実施の形態と同様である。【００４５】  （第３の実施の形態）
次に本発明の第３の実施の形態について説明する。本実施の形態では第１又は第２の実施の形態の機能に加えて、電源電圧が低下したときにも退避処理を行うようにしたものである。図５は本実施の形態による記憶装置の構成を示すブロック図である。本実施の形態は第１の実施の形態と同一部分は同一符号を付して詳細な説明を省略する。この実施の形態では制御部１６０Ａは前述したシステム制御部１６１、退避制御部１６２に加えて、電源電圧を検出する電圧検知部１６３を有している。電圧検出部１６３は記憶装置１００に印加される電圧レベルを検知して、リセット信号及び電圧低下検知信号を生成するものである。その他の構成は前述した第１の実施の形態と同様である。【００４６】  図６は制御部１６０Ａに含まれる電圧検出部１６３の動作を説明する図である。図６において、電源投入後時間ｔ１において電圧レベルが閾値ＶＴＬに達するとリセット信号を解除する。図６ではリセット信号はローアクティブ信号としている。また、時間ｔ２において電圧レベルが閾値ＶＴＨより低下すると、電圧低下検出信号を出力する。この電圧低下検出信号はリセット信号がアクティブになる閾値電圧ＶＴＬに低下する時間ｔ３まで出力される。【００４７】  また、図７は電圧検出部１６３から電圧低下検出信号が出力された場合の動作を示している。電圧検出部１６３は電圧検出信号を退避制御部１６２に伝える。退避制御部１６２はデータを書き込み中に電圧低下検出信号を受信すると、図２Ｄで説明した処理と同様に、図７に示すように制御情報保持部１４０及びバッファ制御部１５０に退避信号を出力する。退避制御部１６２は第１又は第２の実施の形態と同様に、ホスト機器１１０から書き込みの終了コマンドが発行された場合やあらかじめ送られてきた書き込みデータ量に達した場合にも退避信号を出力する。制御情報保持部１４０では退避信号を受信すると、レジスタ１４１に保持されたアドレスや書き込みブロック等の制御情報（ＣＯＮＴ）を制御情報退避メモリ１４２へ退避する。バッファ制御部１５０では退避信号を受信すると、データバッファ１５１に格納されたデータＤＡＴ２が記憶媒体１２０へ書き込み中であった場合には、データＤＡＴ２をバッファ退避メモリ１５２へ退避する。このような処理は記憶装置１００がリムーバブルである場合に、データ書き込み中に誤って記憶装置１００が取り出されたり、外的衝撃によって電源供給が遮断された場合に発生する。この場合退避したデータは記憶装置１００に電源が投入された際に処理される。この処理は図４に示した場合と同様である。【００４８】  こうすれば書き込み中に電源遮断が発生した場合でも書き込み中のデータの復帰が可能である。この実施の形態は特に挿抜可能で衝撃による電源遮断が生じやすいポータブル機器・携帯電話向けの記憶装置として好適である。【００４９】  尚前述した各実施の形態では、データをバッファ退避メモリに退避したときに退避フラグをセットするようにしているが、制御情報を制御情報退避メモリに退避したときに退避フラグをセットするようにしてもよい。又データをバッファ退避メモリに退避し、且つ制御情報を制御情報退避メモリに退避したときに退避フラグをセットするようにしても���い。更にバッファ退避メモリと制御情報退避メモリとは同一の不揮発性メモリを用い、その一部の領域を制御情報退避用の領域、他の領域をバッファ退避用の領域としてもよい。この場合にその不揮発性メモリ内に更に退避メモリの領域を設けるようにしてもよい。【００５０】  尚前述した各実施の形態では、制御情報を退避時に制御情報退避メモリに保持するようにしているが、データの書き込み中の記憶媒体から制御情報を解読して記憶媒体に書き込むこともでき、この場合には制御情報退避メモリが不要となる。
【産業上の利用可能性】
【００５１】  本発明によると、通常のデータ書き込み時においてホスト機器に対しビジー解除を早いタイミングで行うことができるので、ホスト機器にとってアクセス効率が向上できる。従って本発明による記憶装置は、メモリカード等の記憶装置を用いた種々の機器に適用することができる。
【図１】
0004881856.tif 000002
【図２Ａ】
0004881856.tif 000003
【図２Ｂ】
0004881856.tif 000004
【図２Ｃ】
0004881856.tif 000005
【図２Ｄ】
0004881856.tif 000006
【図３Ａ】
0004881856.tif 000007
【図３Ｂ】
0004881856.tif 000008
【図４】
0004881856.tif 000009
【図５】
0004881856.tif 000010
【図６】
0004881856.tif 000011
【図７】
0004881856.tif 000012