(57)【要約】【課題】不揮発性の記憶装置におけるデータ消去処理を高速化することができる記憶手段制御回路、及び記憶装置インターフェース回路を提供する。【解決手段】ＨＤＤ装置６へ書き込むためのデータを取得するデータ用レジスタ２１と、ＣＰＵ３からの複数の書込要求を一つずつ記憶する複数のレジスタＲ０〜Ｒ３と、レジスタＲ０〜Ｒ３に記憶された複数の書込要求を動作指示としてＨＤＤ装置６へ順次送信すると共にデータ用レジスタ２１に記憶されたデータを書き込み対象のデータとしてＨＤＤ装置６へ送信させる制御部２３とを備えた。【選択図】図１
2007094964.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータ処理装置からのデータの書き込みを要求する書込要求に応じて不揮発性の記憶手段への動作指示を出力する記憶手段制御回路であって、
前記記憶手段へ書き込むためのデータを取得するデータ取得部と、
前記データ処理装置からの複数の前記書込要求を一つずつ記憶する複数の書込要求記憶部と、
前記複数の書込要求記憶部に記憶された複数の書込要求を前記動作指示として前記記憶手段へ順次送信すると共に前記データ取得部により取得されたデータを書き込み対象のデータとして前記記憶手段へ送信する書込処理制御部とを備えること
を特徴とする記憶手段制御回路。
【請求項２】
前記複数の書込要求記憶部のうち、前記書込処理制御部による前記記憶手段への送信がされていない書込要求を記憶している書込要求記憶部を除く書込要求記憶部の有無を示す空き情報を、前記データ処理装置へ出力する空き情報出力部をさらに備えること
を特徴とする請求項１記載の記憶手段制御回路。
【請求項３】
所定のデータ処理装置からのデータの書き込みを要求する複数の書込要求を一つずつ記憶する複数の書込要求記憶部と、
前記複数の書込要求記憶部に記憶された複数の書込要求を、前記書込要求に応じて所定のデータを記憶する記憶手段へ順次出力する書込要求出力制御部とを備えること
を特徴とする記憶装置インターフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性の記憶手段の動作を制御する記憶手段制御回路、及び不揮発性の記憶装置とデータ処理装置との間で用いられる記憶装置インターフェース回路に関する。
【背景技術】
【０００２】
ＰＣ（パーソナルコンピュータ）等の情報処理装置には、ＨＤＤ（ハードディスクドライブ）装置やフラッシュメモリ等の不揮発性の記憶装置が備えられることが多い。これらの不揮発性記憶装置は、電源を切った後にもデータを記憶し続けるため、データの漏洩が問題となる。特に、廃棄や譲渡した不揮発性記憶装置からも他人がデータを読み取ることが可能であり問題となる。このため、廃棄や譲渡の際に、不揮発性記憶装置に固定値（例えば、全て「０」、若しくは全て「１」）や乱数値を繰り返し不揮発性記憶装置の全記憶領域に書き込むことにより、不揮発性記憶装置の全データを完全に消去することが行われている。
【０００３】
例えば、ＨＤＤ装置の全データを消去する場合、情報処理装置のＣＰＵ（中央処理装置）が、演算により生成したランダムデータや所定のデータ等を情報処理装置の備えるメモリに書き込み、ＤＭＡ（ダイナミックメモリアクセス）コントローラにメモリから不揮発性記憶装置へのデータ転送をさせるための初期設定を行い、さらにＨＤＤ装置にデータの書き込みアドレスやデータ転送サイズを設定してデータ書込要求（Ｗｒｉｔｅ  ＤＭＡコマンド）を行うことにより、予めメモリに書き込んだデータをＨＤＤ装置の全記憶領域に書き込むことが行われる。
【特許文献１】特開平１１−３２７７９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上述のデータ書き込み処理により、例えばＨＤＤ装置のデータを消去する場合には、例えばデータ転送方式としてＵｌｔｒａＤＭＡ１００を用いて、そのデータ転送速度が１００Ｍバイト／秒、総記憶容量が２０Ｇバイトであれば、１回のデータ書き込み時間は、２０Ｇバイト÷１００Ｍバイト／秒＝２０４．８秒、すなわち約３分２０秒となる。また、ＨＤＤ装置のデータを完全に消去するためには数回の上書き処理が必要であると言われており、さらに上記データ書き込み時間の数回分の書き込み時間が必要となる結果、データの消去時間が長時間となるためデータの消去処理を高速化したいというニーズが強い。
【０００５】
また、上述のようにＨＤＤ装置にデータ書込要求を行う際には、データ転送サイズを設定する必要があるが、このデータ転送サイズは１回でＨＤＤ装置の総記憶容量を設定することができないため、ＨＤＤ装置の全記憶領域にデータを書き込むためには、ＨＤＤ装置の全記憶領域を複数のブロックに分けて１ブロックずつ複数回上記データの書き込み処理を実行する必要がある。
【０００６】
そうすると、１ブロックのデータ書き込みが終了する都度、ＨＤＤ装置からＣＰＵに対して転送完了割込が通知され、ＣＰＵは、割り込み処理により再び新たなブロックのアドレスとデータ転送サイズとをＨＤＤ装置に設定し、データ書込要求を行う。このような割り込み処理を行う際には、ＣＰＵは、実行処理中のプログラムにおける戻りアドレスや処理中のデータをメモリに退避したり、割込要因を確認して当該割込がＨＤＤ装置からの転送完了割込であることを判別したり、割込要因を解除したりする等の、割り込み処理に係るいわゆるオーバーヘッド処理を行う必要があり、ＨＤＤ装置のデータ消去処理に掛かる時間がさらに増大するという不都合があった。
【０００７】
本発明は、このような問題に鑑みて為された発明であり、不揮発性の記憶装置におけるデータ消去処理を高速化することができる記憶手段制御回路、及び記憶装置インターフェース回路を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するために、本発明の第１の手段に係る記憶手段制御回路は、所定のデータ処理装置からのデータの書き込みを要求する書込要求に応じて不揮発性の記憶手段への動作指示を出力する記憶手段制御回路であって、前記記憶手段へ書き込むためのデータを取得するデータ取得部と、前記データ処理装置からの複数の前記書込要求を一つずつ記憶する複数の書込要求記憶部と、前記複数の書込要求記憶部に記憶された複数の書込要求を前記動作指示として前記記憶手段へ順次送信すると共に前記データ取得部により取得されたデータを書き込み対象のデータとして前記記憶手段へ送信する書込処理制御部とを備えることを特徴としている。
【０００９】
この構成によれば、データ取得部によって記憶手段に書き込むためのデータが取得され、複数の書込要求記憶部によって複数の書込要求が一つずつ記憶される。そして、書込処理制御部によって複数の書込要求記憶部に記憶された複数の書込要求が動作指示として記憶手段へ順次送信されると共にデータ取得部により取得されたデータが書き込み対象のデータとして記憶手段へ送信されるので、データ処理装置は、一の書込要求を発行する都度割り込み処理を行うことなく連続して複数の書込要求を複数の書込要求記憶部に記憶させることができる結果、不揮発性の記憶手段にデータの書き込み処理を行わせるデータ消去処理を高速化することができる。
【００１０】
また、上述の記憶手段制御回路において、前記複数の書込要求記憶部のうち、前記書込処理制御部による前記記憶手段への送信がされていない書込要求を記憶している書込要求記憶部を除く書込要求記憶部の有無を示す空き情報を、前記データ処理装置へ出力する空き情報出力部をさらに備えることを特徴としている。
【００１１】
この構成によれば、データ処理装置は、複数の書込要求記憶部のうち、書込処理制御部による記憶手段への送信がされていない書込要求を記憶している書込要求記憶部を除く書込要求記憶部、すなわち書込要求を記憶していないか、すでに記憶手段へ送信済みの書込要求を記憶している書込要求記憶部であって新たに書込要求を記憶させることができる書込要求記憶部の有無を確認することができるので、記憶手段への送信待ちの書込情報を記憶している書込要求記憶部に誤って新たな書込要求を記憶させることを避けることができる。
【００１２】
そして、本発明の第２の手段に係る記憶装置インターフェース回路は、所定のデータ処理装置からのデータの書き込みを要求する複数の書込要求を一つずつ記憶する複数の書込要求記憶部と、前記複数の書込要求記憶部に記憶された複数の書込要求を、前記書込要求に応じて所定のデータを記憶する記憶手段へ順次出力する書込要求出力制御部とを備えることを特徴としている。
【００１３】
この構成によれば、複数の書込要求記憶部によって複数の書込要求が一つずつ記憶される。そして、書込要求出力制御部によって複数の書込要求記憶部に記憶された複数の書込要求が動作指示として記憶手段へ順次送信されるので、データ処理装置は、一の書込要求を発行する都度割り込み処理を行うことなく連続して複数の書込要求を複数の書込要求記憶部に記憶させることができる結果、不揮発性の記憶手段にデータの書き込み処理を行わせるデータ消去処理を高速化することができる。
【発明の効果】
【００１４】
このような構成の記憶手段制御回路及び記憶装置インターフェース回路は、複数の書込要求記憶部によって複数の書込要求が一つずつ記憶され、複数の書込要求記憶部に記憶された複数の書込要求が記憶手段へ順次送信されるので、データ処理装置は、一の書込要求を発行する都度割り込み処理を行うことなく連続して複数の書込要求を複数の書込要求記憶部に記憶させることができる結果、不揮発性の記憶手段にデータの書き込み処理を行わせるデータ消去処理を高速化することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
【００１６】
図１は、本発明の一実施形態に係るＨＤＤ制御回路を用いた情報処理装置の構成の一例を示すブロック図である。図１に示す情報処理装置１は、例えばパーソナルコンピュータや、複写機、ファクシミリ等の画像形成装置、その他種々のデータを処理する情報処理装置におけるデータ処理部の基本的な構成の一例を示したものである。
【００１７】
情報処理装置１は、ＨＤＤ制御回路２（記憶手段制御回路）、ＣＰＵ３（データ処理装置）、メモリコントローラ４、メモリ５、ＨＤＤ装置６（記憶手段）を備える。ＣＰＵ３は、プログラムを実行することにより情報処理装置１において演算、制御等を行うものである。メモリ５は、ＣＰＵ３で実行されるプログラムを格納したり、プログラム実行の際の作業領域として用いられる記憶装置で、例えばＲＡＭ（ランダムアクセスメモリ）が用いられる。メモリコントローラ４は、メモリ５に対するアクセス（読み書き）を制御するものである。
【００１８】
ＨＤＤ装置６は、磁気ディスクを備える不揮発性の記憶装置である。ＨＤＤ装置６は、情報処理装置１の電源（すなわち、ＨＤＤ装置６への電力供給）が切られた後もデータを記憶し保持する。また、ＨＤＤ装置６は、ＨＤＤ制御回路２から送信された書込要求で指定されたデータ転送サイズのデータの書き込み処理が終了すると、転送完了割込信号ＩＮＴＡをＨＤＤ制御回路２及びＣＰＵ３へ送信する。
【００１９】
ＨＤＤ制御回路２は、ＨＤＤ装置６に対するアクセス（読み書き）を制御するものである。また、ＨＤＤ制御回路２は、ＨＤＤ装置６にデータを書き込むことにより、ＨＤＤ装置６に既に書かれているデータを消去する。
【００２０】
ＨＤＤ制御回路２は、データ用レジスタ２１（データ取得部）、キューイングバッファ２２、制御部２３（書込処理制御部）、及びマルチプレクサ２４を備える。データ用レジスタ２１は、ＨＤＤ装置６のデータを消去するための書込用データとして用いる所定長、例えば１６Ｂｙｔｅのデータ（例えば０の羅列）を記憶するものである。データ用レジスタ２１に記憶される書込用データは、ＣＰＵ３により書き込まれる。ＣＰＵ３はこの書込用データを、ＣＰＵ３で実行されるプログラムに予め記憶させておいたり、このプログラムが演算により生成したり、ユーザに入力させたりすることにより取得する。データ用レジスタ２１は、記憶した書込用データをマルチプレクサ２４へ出力する。
【００２１】
なお、ＨＤＤ制御回路２は、データ取得部としてデータ用レジスタ２１を用いる代わりに、例えば乱数発生回路等を用いて書込用データを生成するようにしてもよく、予め固定データが書込用データとして設定されるようにしてもよい。
【００２２】
キューイングバッファ２２は、ＣＰＵ３によりデータ書き込み可能にされた、例えばＦＩＦＯ（First-In First-Out）を用いて構成されており、複数、例えば四つのレジスタＲ０，Ｒ１，Ｒ２，Ｒ３（書込要求記憶部）を備えている。また、キューイングバッファ２２は、順次、ＣＰＵ３からのＨＤＤ装置６へのデータの書き込みを要求する書込要求を、レジスタＲ０，Ｒ１，Ｒ２，Ｒ３に記憶する。そして、キューイングバッファ２２は、制御部２３からの制御信号に応じて、順次、レジスタＲ０，Ｒ１，Ｒ２，Ｒ３に記憶された書込要求をマルチプレクサ２４へ出力する。
【００２３】
マルチプレクサ２４は、制御部２３からの制御信号に応じてキューイングバッファ２２から出力された書込要求とデータ用レジスタ２１から出力された書込用データとのうちいずれかを選択してＨＤＤ装置６へ出力する。
【００２４】
制御部２３は、キューイングバッファ２２、及びマルチプレクサ２４の動作を制御して、キューイングバッファ２２に記憶された書込要求をＨＤＤ装置６へ送信したり、データ用レジスタ２１に記憶された書込用データをＨＤＤ装置６へ送信したりする制御回路である。また、制御部２３は、レジスタＲ０，Ｒ１，Ｒ２，Ｒ３のうち、ＨＤＤ装置６への送信がされていない書込要求を記憶しているレジスタを除くレジスタである空きレジスタの有無を示す空き情報を出力する状態レジスタ２３１（空き情報出力部）を備えている。
【００２５】
状態レジスタ２３１は、ＣＰＵ３から読み出し可能な例えば４ビットのレジスタで、空きレジスタの有無を示すべく、例えば、キューイングバッファ２２に未送信の書込要求が一つ記憶されると「０００１」、キューイングバッファ２２に書込要求が四つ、すなわちレジスタＲ０，Ｒ１，Ｒ２，Ｒ３の全てに未送信の書込要求が記憶されると「１１１１」となり、さらにキューイングバッファ２２から書込要求が一つ送信されて新たな書込要求を記憶することが可能になると「０１１１」のように、キューイングバッファ２２による書込要求の記憶状態を空き情報として示すようにされている。すなわち、状態レジスタ２３１の空き情報における「０」の数が、キューイングバッファ２２における空きレジスタの数を示している。
【００２６】
次に、上述のように構成されたＨＤＤ制御回路２の動作について説明する。図２は、ＨＤＤ制御回路２を用いてＨＤＤ装置６のデータを消去する場合のＣＰＵ３の動作の一例を示すフローチャートである。
【００２７】
まず、ＣＰＵ３によって、データ用レジスタ２１に書込用データ（例えば０の羅列）が設定される（ステップＳ１）。次に、ＣＰＵ３によって、状態レジスタ２３１が読み出され、空きレジスタの有無が確認される（ステップＳ２）。そして、ＣＰＵ３によって、状態レジスタ２３１から出力された空き情報が「１１１１」すなわちキューイングバッファ２２が満杯で空きレジスタが無ければ（ステップＳ２でＹＥＳ）、後述するようにＨＤＤ装置６から転送完了割込信号ＩＮＴＡが出力されてキューイングバッファ２２から新たな書込要求がＨＤＤ装置６へ出力されることにより空きレジスタができるまで待ってから（ステップＳ３）、再び状態レジスタ２３１が読み出され、空きレジスタの有無が確認される（ステップＳ２）。
【００２８】
そして、キューイングバッファ２２が満杯でなければ（ステップＳ２でＮＯ）、ＣＰＵ３によって、キューイングバッファ２２にＨＤＤ装置６への書込要求が記憶される（ステップＳ４）。この場合、書込要求には、例えば、ＨＤＤ装置６に書込動作を要求するコマンド（Ｗｒｉｔｅ  ＤＭＡコマンド）と、ＨＤＤ装置６のＬＢＡ（Logical Block Address）アドレス（論理ブロックアドレス）と、ＨＤＤ制御回路２からＨＤＤ装置６へのデータ転送サイズとが含まれている。
【００２９】
次に、ＣＰＵ３によって、ＨＤＤ装置６における最終アドレスまでの領域についてのデータ書込要求が行われたか否かが確認される（ステップＳ５）。そして、まだ最終アドレスまでの領域についてのデータ書込要求が行われていなければ、ＨＤＤ装置６における次の記憶領域についてのデータ書込要求を行うべくＬＢＡアドレスが加算され（ステップＳ６）、再びステップＳ２〜Ｓ５の処理が繰り返される。
【００３０】
一方、ステップＳ４において、キューイングバッファにＨＤＤ装置６への書込要求が記憶されると、マルチプレクサ２４によって、制御部２３からの制御信号に応じてキューイングバッファに記憶された書込要求がＨＤＤ装置６へ出力され、さらにマルチプレクサ２４によって、制御部２３からの制御信号に応じてデータ用レジスタ２１に記憶された書込用データがＨＤＤ装置６へ出力され、ＨＤＤ装置６によって、書込要求により指定されたＬＢＡアドレスからデータ転送サイズ分の記憶領域に書込用データが書き込まれ、ＨＤＤ装置６のデータ消去処理が行われる。
【００３１】
そして、書込要求により指定された記憶領域へのＨＤＤ装置６によるデータの書き込みが終了すると、ＨＤＤ装置６から転送完了割込信号ＩＮＴＡが制御部２３へ出力され、制御部２３によって、キューイングバッファ２２に記憶されている次の書込要求、すなわちステップＳ６においてＬＢＡアドレスが加算された新たな書込要求がＨＤＤ装置６へ出力され、ＨＤＤ装置６によって新たなＬＢＡアドレスからデータ転送サイズ分の記憶領域について上述と同様のデータ消去処理が繰り返され、ＨＤＤ装置６の全記憶領域についてデータの消去が行われる。
【００３２】
以上、ステップＳ１〜Ｓ６の処理により、ＣＰＵ３は、ＨＤＤ装置６への複数の書込要求をキューイングバッファ２２が満杯になるまで連続して発行することができるので、背景技術に示すように１回に指定することができるデータ転送サイズ分（１ブロック分）のデータ書き込みが終了する都度ＨＤＤ装置６から転送完了割込信号ＩＮＴＡを受信して、割り込み処理により再び新たな書込要求をＨＤＤ装置６に行う必要がない。
【００３３】
従って、ＣＰＵ３は、複数の書込要求を発行する際において、割り込み処理によって実行処理中のプログラムにおける戻りアドレスや処理中のデータをメモリに退避したり、割込要因を確認して当該割込がＨＤＤ装置からの転送完了割込であることを判別したり、割込要因を解除したりする等の、割り込み処理に係るいわゆるオーバーヘッド処理を行う必要がなく、ＨＤＤ装置６のデータ消去処理を高速化することができる。
【００３４】
なお、ステップＳ３において、ＨＤＤ装置６からの転送完了割込信号ＩＮＴＡによる割り込み処理が実行されるが、ステップＳ３においてはＣＰＵ３の割込処理中も並行してＨＤＤ装置６によってキューバッファ２２に記憶された書込要求に基づくデータ書き込み処理が実行されているので、この割り込み処理によりＨＤＤ装置６のデータ消去処理時間が増大することはない。
【００３５】
なお、例えば図３に示すように、キューイングバッファ２２と制御部２３（書込要求出力制御部）とを備えると共にデータ用レジスタ２１を備えないＨＤＤインターフェース回路７（記憶装置インターフェース回路）をＨＤＤ制御回路２の代わりに用いて、データ用レジスタ２１を備えたＨＤＤ装置６ａをＨＤＤ装置６の代わりに用いてもよい。ＨＤＤ装置６ａは、書込要求に応じてデータ用レジスタ２１に記憶されている所定の書込用データを記憶する記憶装置である。
【００３６】
そして、ＨＤＤインターフェース回路７は、ＣＰＵ３から複数の書込要求を受け付けてキューイングバッファにおける複数のレジスタＲ０，Ｒ１，Ｒ２，Ｒ３に記憶し、制御部２３によって、複数のレジスタＲ０，Ｒ１，Ｒ２，Ｒ３に記憶された書込要求を順次ＨＤＤ装置６ａへ出力させるようにしてもよい。
【００３７】
また、本実施形態においては、不揮発性の記憶手段としてＨＤＤを用いて説明したが、不揮発性の記憶手段であれば何でもよく、例えばフラッシュメモリやＭＲＡＭ（磁気抵抗ランダムアクセスメモリ）等であってもよい。
【００３８】
また、本実施形態においては、ＨＤＤの全記憶領域に対して書込用データを書き込み、ＨＤＤの全データを消去したが、本発明は全データを消去する場合に限定されるものではなく、ＨＤＤの部分領域（例えば１つのパーティション内のみ）のデータを消去するようにしてもよい。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態に係るＨＤＤ制御回路を用いた情報処理装置の構成の一例を示すブロック図である。
【図２】図１に示すＨＤＤ制御回路を用いてＨＤＤ装置のデータを消去する場合のＣＰＵの動作の一例を示すフローチャートである。
【図３】本発明の一実施形態に係るＨＤＤインターフェース回路を用いた情報処理装置の構成の一例を示すブロック図である。
【符号の説明】
【００４０】
１    情報処理装置
２    ＨＤＤ制御回路
３    ＣＰＵ
４    メモリコントローラ
５    メモリ
６，６ａ  ＨＤＤ装置
７    ＨＤＤインターフェース回路
２１  データ用レジスタ
２２  キューイングバッファ
２３  制御部
２４  マルチプレクサ
２３１  状態レジスタ
Ｒ０，Ｒ１，Ｒ２，Ｒ３  レジスタ
【図１】
2007094964.tif 000003
【図２】
2007094964.tif 000004
【図３】
2007094964.tif 000005