(57)【要約】【課題】電源断による停止や故障が発生した場合でも書込みを完了したデータを復旧可能とするとともに、半導体記憶装置の動作中に電源断が発生する可能性を低くし、電源断によって半導体記憶装置が故障する可能性を低くすることを目的とする。【解決手段】記憶制御装置１０１では、ライト制御部１０３がメモリ１０２からデータを取得して不揮発メモリ１０４に記憶し、不揮発メモリ１０４に記憶したデータをデータ分割部１０５へ出力する。そして、データ分割部１０５が、出力されたデータを単位サイズ毎に分割して、分割された単位サイズのデータ毎に半導体記憶装置１１１にライト要求を出す。【選択図】図１
2015099430.tif 000002
【特許請求の範囲】
【請求項１】
データを取得して不揮発メモリに記憶し、不揮発メモリに記憶したデータを出力するライト制御部と、
前記ライト制御部が出力したデータを単位サイズ毎に分割して、分割された単位サイズのデータ毎に半導体記憶装置にライト要求を出すデータ分割部と
を備えることを特徴とする記憶制御装置。
【請求項２】
前記データ分割部は、前記半導体記憶装置からライト要求に対する完了通知を受信すると、次のデータのライト要求を前記半導体記憶装置に出す
ことを特徴とする請求項１に記載の記憶制御装置。
【請求項３】
前記記憶制御装置は、さらに、
データ復旧時に、前記不揮発メモリに記憶されたデータのうち、前記半導体記憶装置に記憶されていないデータを特定する残存データ処理部
を備え、
前記データ分割部は、前記残存データ処理部が特定したデータを単位サイズ毎に分割して、分割された単位サイズのデータ毎に半導体記憶装置へライト要求を出す
ことを特徴とする請求項１又は２に記載の記憶制御装置。
【請求項４】
記憶制御装置と半導体記憶装置とを備える記憶制御システムであり、
前記記憶制御装置は、
データを取得して不揮発メモリに記憶し、不揮発メモリに記憶したデータを出力するライト制御部と、
前記ライト制御部が出力したデータを単位サイズ毎に分割して、分割された単位サイズのデータ毎に半導体記憶装置にライト要求を出すデータ分割部と
を備え、
前記半導体記憶装置は、
前記データ分割部が出したライト要求を受信すると、データを記憶するフラッシュメモリ
を備えることを特徴とする記憶制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置へのデータの記憶を制御する技術に関する。
【背景技術】
【０００２】
ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）など、記憶媒体にフラッシュメモリを用いた半導体記憶装置は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）と同じホストＩ／Ｆ（ＳＡＴＡ等）を持っている。また、半導体記憶装置は、ＨＤＤにおけるシーク・サーチタイムが無く高速であり、さらに駆動部品が少なく耐衝撃性に優れる。そのため、半導体記憶装置の普及が進んでいる。
【０００３】
一方で、半導体記憶装置には、停電等による電源断が発生した場合、半導体記憶装置の動作が途中で停止し、データが消失するという課題がある。
【０００４】
特許文献１には、半導体記憶装置内に不揮発メモリを搭載し、データをブロック単位に分割して不揮発メモリとキャッシュメモリに同時に書き込むことについて記載されている。そして、特許文献１には、停電後の復旧時は不揮発メモリからフラッシュメモリにライトバックすることで、バックアップのためのバッテリを必要とせず、小容量の不揮発メモリでデータを保持することについて記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−０３４５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術では、電源断によって、半導体記憶装置内部の回路や、半導体記憶装置を使用する上で一般に使用されるファイルシステムが故障することは考慮されていない。そのため、半導体記憶装置やファイルシステムが電源断発生後も正常であればデータを保持することはできるものの、電源断によって故障していた場合はデータを復旧させることはできない。
この発明は、電源断による停止や故障が発生した場合でも書込みを完了したデータを復旧可能とするとともに、半導体記憶装置の動作中に電源断が発生する可能性を低くし、電源断によって半導体記憶装置が故障する可能性を低くすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る記憶制御装置は、
データを取得して不揮発メモリに記憶し、不揮発メモリに記憶したデータを出力するライト制御部と、
前記ライト制御部が出力したデータを単位サイズ毎に分割して、分割された単位サイズのデータ毎に半導体記憶装置にライト要求を出すデータ分割部と
を備えることを特徴とする。
【発明の効果】
【０００８】
この発明に係る記憶制御装置は、半導体記憶装置にライト要求を出す前に、データを不揮発メモリに記憶しておく。そのため、電源断による停止や故障が発生した場合でもデータを不揮発メモリから復旧することができる。
また、この発明に係る記憶制御装置は、データを単位サイズ毎に分割した上で、分割された単位サイズのデータ毎に半導体記憶装置にライト要求を出す。そのため、半導体記憶装置のライト時の動作時間が短くなり、半導体記憶装置の動作中に電源断が発生する可能性が低くなる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る記憶装置制御システム１００の構成図。
【図２】実施の形態１に係る記憶装置制御システム１００のデータ書込み処理を示す図。
【図３】実施の形態１に係る記憶装置制御システム１００の停電等による電源断後のデータ復旧処理を示す図。
【図４】実施の形態１に係る記憶装置制御システム１００の停電等による電源断後のデータ復旧処理を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１は、実施の形態１に係る記憶装置制御システム１００の構成図である。
記憶装置制御システム１００は、記憶制御装置１０１、半導体記憶装置１１１を備える。記憶制御装置１０１と半導体記憶装置１１１とは信号線等により接続される。記憶制御装置１０１と半導体記憶装置１１１とは、それぞれ外部電源１０に接続される。
【００１１】
記憶制御装置１０１は、メモリ１０２、ライト制御部１０３、不揮発メモリ１０４、データ分割部１０５、残存データ処理部１０６、ホストＩ／Ｆ１０７を備える。
【００１２】
メモリ１０２は、半導体記憶装置１１１にライトするデータが一時的に格納されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶装置である。
【００１３】
ライト制御部１０３は、通常時のデータ書込みでは、記憶制御装置１０１の不揮発メモリ１０４にデータをライトした上で、不揮発メモリ１０４から半導体記憶装置１１１にデータをコピーして半導体記憶装置１１１にデータをライトする。ライト制御部１０３は、停電等による電源断後のデータ復旧時には、残存データ処理部１０６からの通知に従い、不揮発メモリ１０４にあるデータを半導体記憶装置１１１にライトする。
【００１４】
不揮発メモリ１０４は、ライト制御部１０３によって半導体記憶装置１１１にライトされるデータが、半導体記憶装置１１１にライトする前に格納される不揮発性の記憶装置である。
【００１５】
データ分割部１０５は、ライト制御部１０３が半導体記憶装置１１１にライトするデータを、半導体記憶装置１１１で扱える単位サイズに分割し、単位サイズのデータ毎に半導体記憶装置１１１にライト要求を出す。
【００１６】
残存データ処理部１０６は、停電等による電源断後のデータ復旧時に不揮発メモリ１０４に記憶されたデータと半導体記憶装置１１１の残存データとを比較して、不揮発メモリ１０４と半導体記憶装置１１１の両方にあるデータは、不揮発メモリ１０４から削除する。その後、残存データ処理部１０６は、不揮発メモリ１０４にあるデータを半導体記憶装置１１１にライトするようにライト制御部１０３に通知する。
【００１７】
ホストＩ／Ｆ１０７は、半導体記憶装置１１１と通信するためのインタフェースである。
【００１８】
半導体記憶装置１１１は、フラッシュメモリ１１２、フラッシュバスコントローラ１１３、バッファメモリ１１４、ホストＩ／Ｆ１１５を備える。
【００１９】
フラッシュメモリ１１２は、データを格納する記憶装置である。
【００２０】
フラッシュバスコントローラ１１３は、フラッシュメモリ１１２を接続するバスのコントローラである。
【００２１】
バッファメモリ１１４は、フラッシュメモリ１１２のデータにアクセスするためのアドレス等の管理情報と、データとを一時的に記憶する揮発性の記憶装置である。
【００２２】
ホストＩ／Ｆ１１５は、記憶制御装置１０１と通信するためのインタフェースである。
【００２３】
図２は、実施の形態１に係る記憶装置制御システム１００のデータ書込み処理を示す図である。
図２では、上から下方向に時間が経過することを表している。また、図２では、横軸に、記憶装置制御システム１００の各構成要素を置いている。そして、図２では、時間経過に伴う、各構成要素間の動作を示している。また、図２では、実線矢印が処理要求を示し、破線矢印が応答を示している。
【００２４】
まず、記憶制御装置１０１において、ライト制御部１０３は、メモリ１０２からデータを取得して（１）、不揮発メモリ１０４にライトする（２）。なお、ライト制御部１０３の動作の開始タイミングは、外部からメモリ１０２にデータをライトした際の書込み完了通知を使用してもよいし、別途設置した定期通信タイマ等から開始を示す信号を受信したタイミングでもよい。
ライト制御部１０３は、不揮発メモリ１０４へのライトを完了すると、不揮発メモリ１０４からデータを取得して（３）、取得したデータをデータ分割部１０５に送信する（４）。
データ分割部１０５は、ライト制御部１０３から受信したデータを、半導体記憶装置１１１で扱える単位サイズ毎に分割し、単位サイズのデータの１つについてホストＩ／Ｆ１０７を経由して半導体記憶装置１１１に対してライト要求を出す（５）〜（６）。なお、データ分割部１０５において、半導体記憶装置１１１で扱える単位サイズの設定は、データ分割部１０５で固定的に予め決まっていてもよいし、外部に設定手段を設けて、使用する半導体記憶装置１１１に合わせて設定できるようにしてもよい。
【００２５】
続いて、半導体記憶装置１１１において、記憶制御装置１０１からデータが送信されると、ホストＩ／Ｆ１１５がバッファメモリ１１４にデータをライトし（７）、バッファメモリ１１４がフラッシュバスコントローラ１１３に通知する（８）。
フラッシュバスコントローラ１１３は、バッファメモリ１１４から通知を受けると、バッファメモリ１１４からデータを取得して（９）、フラッシュメモリ１１２にデータをライトする（１０）。そして、フラッシュバスコントローラ１１３は、ライト完了の応答を、バッファメモリ１１４、ホストＩ／Ｆ１１５及び１０７を経由して、データ分割部１０５に返す（１１）〜（１４）。
【００２６】
データ分割部１０５は、フラッシュバスコントローラ１１３から完了の応答を受けると、単位サイズに分割された次のデータのライト要求を出す（５）。以上の処理（５）〜（１４）が単位サイズのデータの個数分複数回繰り返される。そして、以上までの動作により、元々のデータを全てライトすると、データ分割部１０５は、完了の応答をライト制御部１０３に返す（１５）。
【００２７】
図３、図４は、実施の形態１に係る記憶装置制御システム１００の停電等による電源断後のデータ復旧処理を示す図である。図３、図４は、記憶制御装置１０１と半導体記憶装置１１１との両方が電源断後も正常動作している場合の処理である。
図３、図４では、上から下方向に時間が経過することを表しており、図４は、図３の処理の続きの処理を表している。また、図３、図４では、横軸に、記憶装置制御システム１００の各構成要素を置いている。そして、図３、図４では、時間経過に伴う、各構成要素間の動作を示している。また、図３、図４では、実線矢印が処理要求を示し、破線矢印が応答を示している。
なお、記憶制御装置１０１のみが電源断で故障した場合は、別の装置で半導体記憶装置１１１のデータを読み出せるので、復旧可能である。また、半導体記憶装置１１１のみが故障した場合は、他の半導体記憶装置に対して記憶制御装置１０１の不揮発メモリ１０４からデータをコピーすることで復旧可能である。さらに、記憶制御装置１０１と半導体記憶装置１１１との両方が電源断により故障することは、一般に云われるハードウェア故障率を極めて小さくすることにより概ね防ぐことが可能である。
【００２８】
まず、記憶制御装置１０１において、残存データ処理部１０６は、不揮発メモリ１０４からデータ一覧を取得する（２１）。残存データ処理部１０６は、取得したデータ一覧で特定されるデータ毎に、データ分割部１０５、ホストＩ／Ｆ１０７、１１５、バッファメモリ１１４、フラッシュバスコントローラ１１３を経由して、半導体記憶装置１１１のフラッシュメモリ１１２にあるデータの取得を試みる（２２）〜（２６）。残存データ処理部１０６は、フラッシュメモリ１１２からデータを取得できた場合は、当該データのフラッシュメモリ１１２への書込みが完了しているということなので、不揮発メモリ１０４から当該データを削除する（２７）。一方、フラッシュメモリ１１２からデータを取得できなかった場合は、当該データはフラッシュメモリ１１２に書き込めなかったということなので、後に行う不揮発メモリ１０４からフラッシュメモリ１１２へのデータ書込みのために、不揮発メモリ１０４の当該データは保存しておく。
残存データ処理部１０６は、以上の処理（２１）〜（２７）を不揮発メモリ１０４から取得したデータ一覧にあるデータの個数分複数回繰り返す。
【００２９】
残存データ処理部１０６は、不揮発メモリ１０４とフラッシュメモリ１１２に残っているデータの比較処理（２１）〜（２７）を完了すると、ライト制御部１０３に完了を通知する（２８）。
残存データ処理部１０６より通知を受けたライト制御部１０３は、不揮発メモリ１０４からデータを取得して（２９）、取得したデータをデータ分割部１０５に送信する（３０）。
データ分割部１０５は、ライト制御部１０３から受けたデータを、半導体記憶装置１１１で扱えるサイズ単位に分割し、単位サイズのデータ毎にホストＩ／Ｆ１０７を経由して半導体記憶装置１１１に対してライト要求を出す（３１）〜（３２）。
【００３０】
続いて、半導体記憶装置１１１において、記憶制御装置１０１からデータが通知されると、ホストＩ／Ｆ１１５がバッファメモリ１１４にデータをライトし（３３）、バッファメモリ１１４がフラッシュバスコントローラ１１３に通知する（３４）。
フラッシュバスコントローラ１１３は、バッファメモリ１１４から通知を受けると、バッファメモリ１１４からデータを取得して（３５）、フラッシュメモリ１１２にデータをライトする（３６）。そして、フラッシュバスコントローラ１１３は、ライト完了の応答を、バッファメモリ１１４、ホストＩ／Ｆ１１５及び１０７を経由して、データ分割部１０５に返す（３７）〜（４０）。
【００３１】
データ分割部１０５は、フラッシュバスコントローラ１１３から完了の応答を受けると、単位サイズに分割された次のデータのライト要求を出す（３１）。以上の処理（３１）〜（４０）が単位サイズのデータの個数分複数回繰り返される。そして、以上までの動作により、元々のデータを全てライトすると、完了の応答をライト制御部１０３に返す（４１）。
【００３２】
以上の処理（２９）〜（４１）が不揮発メモリ１０４にあるデータの個数分複数回繰り返される。
【００３３】
以上のように、実施の形態１に係る記憶装置制御システム１００は、半導体記憶装置１１１にライト要求を出す前に、記憶制御装置１０１の不揮発メモリ１０４にデータを記憶しておく。そのため、電源断による停止や故障が発生した場合でもデータを不揮発メモリ１０４から復旧することができる。
特に、不揮発メモリ１０４は記憶制御装置１０１が備えているため、電源断等により、半導体記憶装置１１１が故障してしまった場合でもデータを復旧することができる。
【００３４】
また、実施の形態１に係る記憶装置制御システム１００は、データを単位サイズ毎に分割した上で、分割された単位サイズのデータ毎に半導体記憶装置１１１にライト要求を出す。そのため、半導体記憶装置１１１のライト時の動作時間が短くなり、半導体記憶装置１１１の動作中に電源断が発生する可能性が低くなる。その結果、半導体記憶装置１１１が故障する可能性が低くなる。
【符号の説明】
【００３５】
１００  記憶装置制御システム、１０１  記憶制御装置、１０２  メモリ、１０３  ライト制御部、１０４  不揮発メモリ、１０５  データ分割部、１０６  残存データ処理部、１０７  ホストＩ／Ｆ、１１１  半導体記憶装置、１１２  フラッシュメモリ、１１３  フラッシュバスコントローラ、１１４  バッファメモリ、１１５  ホストＩ／Ｆ、１０  外部電源。
【図１】
2015099430.tif 000003
【図２】
2015099430.tif 000004
【図３】
2015099430.tif 000005
【図４】
2015099430.tif 000006