(57)【要約】【課題】より信頼性の高いデータ消去を高速に処理することが可能なコマンド発行型蓄積媒体制御装置を提供する。【解決手段】この発明のコマンド発行型蓄積媒体制御装置１００は、データ転送制御部１０１と、乱数発生部１０２と、蓄積媒体制御部１０３と、を備えている。データ転送制御部１０１は、データの送受信の制御を行う。また、データ転送制御部１０１は、転送データ数、データ転送開始位置などの設定を行う第１レジスタと、コマンド発行用の第２レジスタと、を備えている。乱数発生部１０２は、蓄積媒体１０４に書込むための乱数を発生する。また、乱数発生部１０２は、乱数発生部１０２の動作を制御するレジスタを備えている。このレジスタにより、通常の書込みを行うか、乱数の書込みを行うかの動作モードが設定できる。蓄積媒体制御部１０３は、蓄積媒体１０４に対するデータの書込み／読出しの制御を行う。【選択図】図１
2008276500.tif 000002
【特許請求の範囲】
【請求項１】
データの送受信を制御するデータ転送制御手段と、
蓄積媒体に対するデータの書込み／読出しの制御を行う蓄積媒体制御手段と、
前記蓄積媒体に書込む乱数を発生する乱数発生手段と、
前記乱数発生手段の動作を制御する動作制御手段と、を備えたことを特徴とするコマンド発行型蓄積媒体制御装置。
【請求項２】
データの送受信を制御するデータ転送制御手段と、
蓄積媒体に対するデータの書込み／読出しの制御を行う蓄積媒体制御手段と、
前記蓄積媒体に書込む乱数を発生する乱数発生手段と、
前記蓄積媒体に書込む任意の固定値を設定する固定値設定手段と、
前記乱数発生手段または／および前記固定値設定手段の動作を選択設定する動作モード選択設定手段と、を備えたことを特徴とするコマンド発行型蓄積媒体制御装置。
【請求項３】
複数の蓄積媒体に対するデータの書込み／読出しの制御を行う複数の蓄積媒体制御手段と、
前記複数の蓄積媒体に書込む乱数を発生する複数の乱数発生手段と、
前記複数の蓄積媒体に書込む任意の固定値を設定する固定値設定手段と、
データを一時的に格納するメモリ手段と、
各種動作条件が含まれたディスクリプタを生成し、前記ディスクリプタを前記メモリ手段に格納する動作条件設定手段と、
前記メモリ手段から転送するデータ量を制御するコマンド発行用ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、
データの送受信の制御を行い、また前記メモリ手段から前記ディスクリプタを取得し、前記ディスクリプタに含まれる各種動作条件に従い、前記乱数発生手段または／および前記固定値設定手段の動作を選択設定するデータ転送制御手段と、を備えたことを特徴とするコマンド発行型蓄積媒体制御装置。
【請求項４】
データの送受信を制御するデータ転送制御手段と、
複数の蓄積媒体に対するデータの書込み／読出しの制御を行う複数の蓄積媒体制御手段と、
前記複数の蓄積媒体に書込む乱数を発生する複数の乱数発生手段と、
前記複数の蓄積媒体に書込む任意の固定値を設定する固定値設定手段と、
各種動作条件が含まれたディスクリプタを取得し、前記ディスクリプタに格納されている各種動作条件に従い、前記複数の乱数発生手段または／および前記固定値設定手段の動作を選択設定するコマンド転送用ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、を備えたことを特徴とするコマンド発行型蓄積媒体制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＤ（Ｓｕｐｅｒ  Ｄｅｎｓｉｔｙ）などのコマンド発行型蓄積媒体を制御するコマンド発行型蓄積媒体制御装置に関する。
【背景技術】
【０００２】
従来からのデータ消去に関する規格としては、ＮＳＡ推奨方式である乱数２回とゼロ書込みを行う方式や、米国防総省準拠方式である固定値と固定値の補数と乱数の書込みを行う方式など、さまざまな方式がある。従来のＨＤＤやＳＤなどのコマンド発行型蓄積媒体を制御することが可能な装置では、データを消去する際には、前記方式を実行可能なソフトウェアであらかじめランダムなデータをメモリ上に用意し、それを蓄積媒体に書込むことでデータの消去を行っていた（たとえば、特許文献１，２を参照。）。
【０００３】
【特許文献１】特開２００３−２０４３２５号公報
【特許文献２】特開２００１−２６８２７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献に記載の従来技術では、乱数データを格納するためのメモリ容量が必要となる分、大容量のメモリが必須となるため、装置規模が大型化するという問題があった。また、コマンド発行型蓄積媒体に書込むデータを乱数値のみに基づいて選択しているため、データ消去の信頼性に問題があった。さらに、データ消去を実行するための演算処理が複雑であるため、演算処理手段に負荷がかかり、高速な演算処理が実行できないという問題もあった。
【０００５】
この発明は、上述した従来技術による問題点を解消するため、より信頼性の高いデータ消去を高速に処理することが可能なコマンド発行型蓄積媒体制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、この発明にかかるコマンド発行型蓄積媒体制御装置は、データの送受信を制御するデータ転送制御手段と、蓄積媒体に対するデータの書込み／読出しの制御を行う蓄積媒体制御手段と、前記蓄積媒体に書込む乱数を発生する乱数発生手段と、前記乱数発生手段の動作を制御する動作制御手段と、を備えたことを特徴とする。
【０００７】
また、この発明にかかるコマンド発行型蓄積媒体制御装置は、データの送受信を制御するデータ転送制御手段と、蓄積媒体に対するデータの書込み／読出しの制御を行う蓄積媒体制御手段と、前記蓄積媒体に書込む乱数を発生する乱数発生手段と、前記蓄積媒体に書込む任意の固定値を設定する固定値設定手段と、前記乱数発生手段または／および前記固定値設定手段の動作を選択設定する動作モード選択設定手段と、を備えたことを特徴とする。
【０００８】
また、この発明にかかるコマンド発行型蓄積媒体制御装置は、複数の蓄積媒体に対するデータの書込み／読出しの制御を行う複数の蓄積媒体制御手段と、前記複数の蓄積媒体に書込む乱数を発生する複数の乱数発生手段と、前記複数の蓄積媒体に書込む任意の固定値を設定する固定値設定手段と、データを一時的に格納するメモリ手段と、各種動作条件が含まれたディスクリプタを生成し、前記ディスクリプタを前記メモリ手段に格納する動作条件設定手段と、前記メモリ手段から転送するデータ量を制御するコマンド発行用ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、データの送受信の制御を行い、また前記メモリ手段から前記ディスクリプタを取得し、前記ディスクリプタに含まれる各種動作条件に従い、前記乱数発生手段または／および前記固定値設定手段の動作を選択設定するデータ転送制御手段と、を備えたことを特徴とする。
【０００９】
また、この発明にかかるコマンド発行型蓄積媒体制御装置は、データの送受信を制御するデータ転送制御手段と、複数の蓄積媒体に対するデータの書込み／読出しの制御を行う複数の蓄積媒体制御手段と、前記複数の蓄積媒体に書込む乱数を発生する複数の乱数発生手段と、前記複数の蓄積媒体に書込む任意の固定値を設定する固定値設定手段と、各種動作条件が含まれたディスクリプタを取得し、前記ディスクリプタに格納されている各種動作条件に従い、前記複数の乱数発生手段または／および前記固定値設定手段の動作を選択設定するコマンド転送用ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、を備えたことを特徴とする。
【発明の効果】
【００１０】
この発明にかかるコマンド発行型蓄積媒体制御装置によれば、あらかじめメモリ上に乱数データを用意することなく、また、演算処理手段に大きな負荷を与えることなくコマンド発行型蓄積媒体に乱数データを書込むことが可能になり、処理の簡略化を図ることができるという効果を奏する。
【００１１】
また、この発明にかかるコマンド発行型蓄積媒体制御装置によれば、コマンド発行型蓄積媒体に書込むデータを乱数値と固定値とから選択できるようになるため、より信頼性の高いデータ消去処理を実現することが可能になるという効果を奏する。
【００１２】
また、この発明にかかるコマンド発行型蓄積媒体制御装置によれば、異なる動作モードの書込み処理を連続させて行うことができるため、効率的なデータの書込み処理が可能になるという効果を奏する。しかも、装置構成も大きくならず、小規模の装置で実現することができる。さらに、動作条件などが格納されたディスクリプタを装置外部から取得することで、装置内部の演算処理手段に負荷をかけず、信頼性の高いデータ消去処理を実現することができるようになる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照して、この発明にかかるコマンド発行型蓄積媒体制御装置の好適な実施の形態を詳細に説明する。
【００１４】
（実施の形態１）
（コマンド発行型蓄積媒体制御装置の機能的構成）
図１は、この発明の実施の形態１にかかるコマンド発行型蓄積媒体制御装置の機能的構成を示すブロック図である。図１に示すように、実施の形態１にかかるコマンド発行型蓄積媒体制御装置１００は、データ転送制御部１０１と、乱数発生部１０２と、蓄積媒体制御部１０３と、を備えている。
【００１５】
データ転送制御部１０１は、データの送受信の制御を行う。また、データ転送制御部１０１は、転送データ数、データ転送開始位置などの設定を行う第１レジスタと、コマンド発行用の第２レジスタと、を備えている。乱数発生部１０２は、蓄積媒体１０４に書込むための乱数を発生する。また、この乱数発生部１０２は、乱数発生部１０２の動作を制御するレジスタ（動作制御手段）を備えている。このレジスタで乱数発生部１０２の動作を制御することで、通常の書込みを行うか、乱数の書込みを行うかの動作モードが設定できる。蓄積媒体制御部１０３は、蓄積媒体１０４に対するデータの書込み／読出しの制御を行う。
【００１６】
（コマンド発行型蓄積媒体制御装置の処理の内容）
図２は、この発明の実施の形態１にかかるコマンド発行型蓄積媒体制御装置の処理の手順を示すフローチャートである。以下、図２に示すフローチャートに基づき、コマンド発行型蓄積媒体制御装置１００の処理の内容を説明する。
【００１７】
図２に示すフローチャートにおいて、まず、動作モードを設定する（ステップＳ２０１）。このステップＳ２０１の処理は、乱数発生部１０２に備えられたレジスタにより行われる。乱数発生部１０２が動作するように設定することで乱数書込みモードとなり、乱数発生部１０２が動作しないように設定することで通常の書込みモードとなる。また、この処理にあわせて、動作条件を設定する（ステップＳ２０２）。このとき設定される動作条件は、転送データ数、データ転送開始位置などである。このステップＳ２０２の処理は、データ転送制御部１０１に備えられた第１レジスタにより行われる。
【００１８】
そして、書込み処理を開始する（ステップＳ２０３）。ここでは、データ転送制御部１０１に備えられた第２レジスタがコマンドを発行し、コマンド発行型蓄積媒体制御装置１００を構成する各機能部がそのコマンドを受信することによりステップＳ２０１で設定されたモードの書込み処理が開始される。このステップＳ２０３において行われる書込み処理の詳細は後述する。
【００１９】
最後に、書込みが終了したか否かを検出する（ステップＳ２０４）。このステップＳ２０４の処理は、蓄積媒体制御部１０３により行われる。ここで、書込みが終了していない（ステップＳ２０４：Ｎｏ）場合は、再度ステップＳ２０４の処理を行う。一方、書込みが終了した（ステップＳ２０４：Ｙｅｓ）場合は、すべての処理を終了する。
【００２０】
（ステップＳ２０３の書込み処理の内容）
まず、ステップＳ２０１において通常の書込みモードが設定された場合の処理は、一般的な手法でデータを蓄積媒体１０４に書込む処理と同様であるため、説明は省略する。ここでは、ステップＳ２０１において乱数の書込みモードが設定された場合の処理についてのみ説明する。
【００２１】
図３は、乱数書込みモードにおける処理の手順を示すフローチャートである。まず、データを乱数発生部１０２へ転送する（ステップＳ３０１）。このステップＳ３０１では、データ転送制御部１０１が、外部からデータが送られてくることを待たずに、ステップＳ２０２において設定されたデータ転送数をダミーデータと共に乱数発生部１０２へ転送する。次に、乱数を発生させ、この乱数を転送する（ステップＳ３０２）。具体的には、乱数発生部１０２が乱数を発生し、この乱数を蓄積媒体制御部１０３へ転送する。そして、乱数の書込みを行う（ステップＳ３０３）。具体的には、乱数を受け取った蓄積媒体制御部１０３が、ステップＳ２０２において設定されたデータ転送開始位置からデータ転送量分の乱数を蓄積媒体１０４に転送し、その乱数を蓄積媒体１０４に書込む。
【００２２】
なお、図２，３に示した処理は、ソフトウェアにより行うこともできる。この場合は、すべてのデータの転送が終了した時点で、ハードウェアがソフトウェアに対してデータ転送終了通知を行うようにするとよい。データ転送終了通知は、データ終了通知をつかさどるレジスタを設けてソフトウェアにその変化を検知させるようにしてもよいし、ハードウェアが割込みを発生させソフトウェアにその割込みを検知させるようにしてもよい。
【００２３】
この実施の形態１では、コマンド発行型蓄積媒体制御装置１００が、上述したような手順の処理を実行することにより、あらかじめメモリ上に乱数データを用意することなく、また演算処理手段に大きな負荷を与えることなくコマンド発行型蓄積媒体に乱数データを書込むことが可能になり、処理の簡略化を図ることができる。
【００２４】
（実施の形態２）
（コマンド発行型蓄積媒体制御装置の機能的構成）
図４は、この発明の実施の形態２にかかるコマンド発行型蓄積媒体制御装置の機能的構成を示すブロック図である。図４に示すように、実施の形態２にかかるコマンド発行型蓄積媒体制御装置４００は、データ転送制御部４０１と、固定値設定部４０２と、乱数発生部４０３と、動作モード選択設定部４０４と、蓄積媒体制御部４０５と、を備えている。
【００２５】
データ転送制御部４０１は、データの送受信の制御を行う。また、データ転送制御部４０１は、転送データ数、データ転送開始位置などの設定を行う第１レジスタと、コマンド発行用の第２レジスタと、を備えている。固定値設定部４０２は、蓄積媒体４０６に書込むための任意の固定値を設定する。乱数発生部４０３は、蓄積媒体４０６に書込むための乱数を発生する。動作モード選択設定部４０４は、固定値設定部４０２を動作させて固定値の書込みを行うか、乱数発生部４０３を動作させて乱数の書込みを行うか、それともそれらいずれも動作させないで通常の書込みを行うかの動作モードの選択設定を行う。蓄積媒体制御部４０５は、蓄積媒体４０６に対するデータの書込み／読出しの制御を行う。
【００２６】
（コマンド発行型蓄積媒体制御装置の処理の内容）
図５は、この発明の実施の形態２にかかるコマンド発行型蓄積媒体制御装置の処理の手順を示すフローチャートである。以下、図５に示すフローチャートに基づき、コマンド発行型蓄積媒体制御装置４００の処理の内容を説明する。
【００２７】
図５に示すフローチャートにおいて、まず、動作モードを選択設定する（ステップＳ５０１）。このとき選択設定される動作モードは、通常の書込みモード、乱数書込みモード、または固定値書込みモードのいずれかである。なお、このステップＳ５０１の処理は、動作モード選択設定部４０４により行われる。また、この処理にあわせて、動作条件を設定する（ステップＳ５０２）。このとき設定される動作条件は、転送データ数、データ転送開始位置、書込み処理の回数などである。このステップＳ５０２の処理は、データ転送制御部４０１に備えられた第１レジスタにより行われる。
【００２８】
そして、書込み処理を開始する（ステップＳ５０３）。ここでは、データ転送制御部４０１に備えられた第２レジスタがコマンドを発行し、コマンド発行型蓄積媒体制御装置４００を構成する各機能部がそのコマンドを受信することによりステップＳ５０１で選択設定されたモードの書込み処理が開始される。このステップＳ５０３において行われる書込み処理の詳細は後述する。
【００２９】
続いて、書込みが終了したか否かを検出する（ステップＳ５０４）。このステップＳ５０４の処理は、蓄積媒体制御部４０５により行われる。ここで、書込みが終了していない（ステップＳ５０４：Ｎｏ）場合は、再度ステップＳ５０４の処理を行う。一方、書込みが終了した（ステップＳ５０４：Ｙｅｓ）場合は、指定回数の書込みが終了したか否かを検出する（ステップＳ５０５）。この処理は、蓄積媒体制御部４０５により行われる。なお、書込みの回数の指定は、ステップＳ５０２で行われる。ここで、指定回数の書込みが終了していない（ステップＳ５０５：Ｎｏ）場合は、ステップＳ５０１へ戻る。一方、指定回数の書込みが終了した（ステップＳ５０５：Ｙｅｓ）場合は、すべての処理を終了する。
【００３０】
（ステップＳ５０３の書込み処理の内容）
まず、ステップＳ５０１において通常の書込みモードが設定された場合の処理は、一般的な手法でデータを蓄積媒体４０６に書込む処理と同様である。また、ステップＳ５０１において乱数の書込みモードが設定された場合の処理は、図３に示した手順と同様である。したがって、その二つの処理の説明は省略する。以下では、ステップＳ５０１において固定値書込みモードが設定された場合の処理について説明する。
【００３１】
図６は、固定値書込みモードにおける処理の手順を示すフローチャートである。まず、データ転送分の固定値を取得する（ステップＳ６０１）。具体的には、データ転送制御部４０１が固定値設定部４０２から固定値を取得し、ステップＳ５０２で設定された転送データ数分に相当する固定値データを乱数発生部４０３へ転送する。ここでデータ転送制御部４０１は、固定値からデータを加工して出力する機能を有しているとよい。たとえば、固定値の補数や固定値のバイト入替え機能などである。次に、固定値データを転送する（ステップＳ６０２）。具体的には、乱数発生部４０３がデータ転送制御部４０１から取得したデータをそのまま蓄積媒体制御部４０５へ転送する。そして、固定値データの書込みを行う（ステップＳ６０３）。具体的には、固定値データを受け取った蓄積媒体制御部４０５が、ステップＳ５０２において設定されたデータ転送開始位置からデータ転送量分の固定値データを蓄積媒体４０６に転送し、蓄積媒体４０６に固定値データを書込む。
【００３２】
なお、図５，６に示した処理は、ソフトウェアにより行うこともできる。この場合は、すべてのデータの転送が終了した時点で、ハードウェアがソフトウェアに対してデータ転送終了通知を行うようにするとよい。データ転送終了通知は、データ終了通知をつかさどるレジスタを設けてソフトウェアにその変化を検知させるようにしてもよいし、ハードウェアが割込みを発生させソフトウェアにその割込みを検知させるようにしてもよい。また、ソフトウェアで動作モードを変更して転送開始をハードウェアに通知することで、同一のデータ転送開始位置から同一データ転送数分を異なるモードで転送することもできる。
【００３３】
以上説明したように、この実施の形態２では、コマンド発行型蓄積媒体制御装置４００が上述したような手順の処理を実行することにより、コマンド発行型蓄積媒体に書込むデータを乱数値と固定値とから選択できるようになるため、より信頼性の高いデータ消去処理を実現することが可能になる。
【００３４】
（実施の形態３）
（コマンド発行型蓄積媒体制御装置の機能的構成）
図７は、この発明の実施の形態３にかかるコマンド発行型蓄積媒体制御装置の機能的構成を示すブロック図である。図７に示すように、実施の形態３にかかるコマンド発行型蓄積媒体制御装置７００は、コマンド発行用ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）７０１と、動作条件設定部７０２と、メモリ７０３と、データ転送制御部７０４と、固定値設定部７０５と、乱数発生部７０６と、蓄積媒体制御部７０７と、を備えている。また、乱数発生部７０６および蓄積媒体制御部７０７は、それぞれ複数の乱数発生部７０６ａ，７０６ｂ，７０６ｃ，７０６ｄ，・・・、蓄積媒体制御部７０７ａ，７０７ｂ，７０７ｃ，７０７ｄ，・・・から構成されており、複数の蓄積媒体７０８ａ，７０８ｂ，７０８ｃ，７０７ｄ，・・・に対応できるようになっている。とくに、乱数発生部７０６は乱数発生部７０６ａ，７０６ｂ，７０６ｃ，７０６ｄ，・・・から構成されているため、乱数発生部７０６ａ，７０６ｂ，７０６ｃ，７０６ｄ，・・・でそれぞれ異なる乱数を発生することが可能である。
【００３５】
コマンド発行用ＤＭＡＣ７０１は、メモリ７０３から転送するデータ量を制御する。動作条件設定部７０２は、転送データ数、データ転送開始位置や、通常書込み、乱数書込み、または固定値書込みの動作モード設定情報などが含まれたディスクリプタを生成し、これをメモリ７０３に格納する。データ転送制御部７０４は、データの送受信の制御を行う。固定値設定部７０５は、蓄積媒体７０８ａ，７０８ｂ，７０８ｃ，７０８ｄ，・・・に書込むための任意の固定値を設定する。乱数発生部７０６は、蓄積媒体７０８ａ，７０８ｂ，７０８ｃ，７０８ｄ，・・・に書込むための乱数を発生する。蓄積媒体制御部７０７は、蓄積媒体７０８ａ，７０８ｂ，７０８ｃ，７０８ｄ，・・・に対するデータの書込み／読出しの制御を行う。
【００３６】
（コマンド発行型蓄積媒体制御装置の処理の内容）
図８は、この発明の実施の形態３にかかるコマンド発行型蓄積媒体制御装置の処理の手順を示すフローチャートである。以下、図８に示すフローチャートに基づき、コマンド発行型蓄積媒体制御装置７００の処理の内容を説明する。
【００３７】
図８に示すフローチャートにおいて、まず、コマンドを設定する（ステップＳ８０１）。この処理は、コマンド発行用ＤＭＡＣ７０１により行われる。これにより、後述するメモリ７０３から転送するデータ（ディスクリプタ）量を決定することができる。次に、動作条件を設定する（ステップＳ８０２）。ステップＳ８０２では、動作条件設定部７０２により、通常の書込みモード、乱数書込みモード、または固定値書込みモードのいずれかの動作モードが設定される。また、転送データ数、データ転送開始位置、蓄積媒体７０８ａ，７０８ｂ，７０８ｃ，７０８ｄ，・・・に発行するコマンドが設定される。ここで設定された各種条件は、ディスクリプタ内に入れられ、メモリ７０３に格納される。
【００３８】
図９−１，図９−２は、メモリに格納されるディスクリプタの概略構造を示す図である。図９−１に示すように、ディスクリプタ９０１には、次にディスクリプタのアドレス、転送制御情報（転送データ数、データ転送開始位置、データ蓄積媒体に発行するコマンドなど）とともに、通常書込み、乱数書込み、または固定値書込みの動作モード情報（設定ビット）が格納される。
【００３９】
また、図９−２に示すように、異なる動作モードが設定されているディスクリプタを複数用意しそれぞれを連結させることにより、一度のコマンド発行用ＤＭＡＣの起動で複数モードの書込みを実行することができる。たとえば、先頭部のディスクリプタ９０１に乱数書込みモードを設定し、その次のディスクリプタ９０２に固定値書込みモードを設定し、最後のディスクリプタ９０３に通常書込みモードを設定し、それぞれを連結することで、はじめに乱数書込みモードで動作させ、続いて固定値書込みモードで動作させ、最後に通常書込みモードで動作させるといったことが可能になる。また、乱数書込みモードで続けて動作させる場合において、それぞれ異なる乱数を発生させて動作させることも可能である。
【００４０】
続いて、コマンドを発行する（ステップＳ８０３）。ここでは、コマンド発行用ＤＭＡＣ７０１がステップＳ８０１で設定されたコマンドを発行する。次に、ディスクリプタを取得する（ステップＳ８０４）。ステップＳ８０３で発行されたコマンドをメモリ７０３が取得することで、メモリ７０３はステップＳ８０１で設定された量のディスクリプタを転送する。転送されたディスクリプタは、データ転送制御部７０４が取得する。
【００４１】
そして、書込み処理を開始する（ステップＳ８０５）。ここでは、データ転送制御部７０４がメモリ７０３から受け取ったディスクリプタ内の動作モードを検出し、その動作モードに従った書込み処理が開始される。すなわち、ディスクリプタ内の動作モードが通常書込みモードの場合は、固定値設定部７０５および乱数発生部７０６が動作せずに通常書込み処理が行われる。また、ディスクリプタ内の動作モードが乱数書込みモードの場合は、乱数発生部７０６のみが動作して乱数書込み処理が行われる。また、ディスクリプタ内の動作モードが固定値書込みモードの場合は、固定値設定部７０５のみが動作して固定値書込み処理が行われる。なお、各処理は実施の形態１または２で説明したものと同様であるため、ここでの説明は省略する。
【００４２】
続いて、書込みが終了したか否かを検出する（ステップＳ８０６）。このステップＳ８０６の処理は、蓄積媒体制御部７０７により行われる。ここで、書込みが終了していない（ステップＳ８０６：Ｎｏ）場合は、再度ステップＳ８０６の処理を行う。一方、書込みが終了した（ステップＳ８０６：Ｙｅｓ）場合は、データ転送制御部７０４が他に取得したディスクリプタがあるか否かを検出する（ステップＳ８０７）。ここで他に取得したディスクリプタがある（ステップＳ８０７：Ｙｅｓ）場合は、ステップＳ８０５へ戻る。一方、他に取得したディスクリプタがない（ステップＳ８０７：Ｎｏ）場合は、すべての処理を終了する。
【００４３】
なお、図８に示した処理は、ソフトウェアにより行うこともできる。この場合は、すべてのデータの転送が終了した時点で、ハードウェアがソフトウェアに対してデータ転送終了通知を行うようにするとよい。データ転送終了通知は、データ終了通知をつかさどるレジスタを設けてソフトウェアにその変化を検知させるようにしてもよいし、ハードウェアが割込みを発生させソフトウェアにその割込みを検知させるようにしてもよい。
【００４４】
以上説明したように、この実施の形態３では、コマンド発行型蓄積媒体制御装置７００が上述したような手順の処理を実行することにより、異なる動作モードの書込み処理を連続させて行うことができるため、効率的なデータの書込み処理が可能になる。しかも、装置構成も大きくならず、小規模の装置で実現することができる。
【００４５】
また、図１０は、この発明の実施の形態３にかかるコマンド発行型蓄積媒体制御装置の変形例を示す図である。図１０に示すコマンド発行型蓄積媒体制御装置１０００は、コマンド転送用ＤＭＡＣ１００１と、データ転送用ＤＭＡＣ１００２とを備えることで、図７に示したコマンド発行用ＤＭＡＣ７０１、動作条件設定部７０２、メモリ７０３を取り除き、図９−１に示したようなディスクリプタ９０１を装置外部から取得することで、図７に示した実施の形態３のコマンド発行型蓄積媒体制御装置７００と同様の処理を実行することができる。
【００４６】
すなわち、図１０に示したコマンド発行型蓄積媒体制御装置１０００は、コマンド転送用ＤＭＡＣ１００１において、図９−１に示したようなディスクリプタ９０１を装置外部から取得し、ディスクリプタ９０１に格納されている各種動作条件に従い、通常書込み、乱数書込み、または固定値書込みの動作モードを選択設定し、装置を動作させることで、装置内部の演算処理手段に負荷をかけず、信頼性の高いデータ消去処理を実現することができるようになる。
【００４７】
以上説明したように、この発明にかかるコマンド発行型蓄積媒体制御装置によれば、あらかじめメモリ上に乱数データを用意することなく、また演算処理手段に大きな負荷を与えることなくコマンド発行型蓄積媒体に乱数データを書込むことが可能になり、処理の簡略化を図ることができる。
【００４８】
また、この発明にかかるコマンド発行型蓄積媒体制御装置によれば、コマンド発行型蓄積媒体に書込むデータを乱数値と固定値とから選択できるようになるため、より信頼性の高いデータ消去処理を実現することが可能になる。
【００４９】
また、この発明にかかるコマンド発行型蓄積媒体制御装置によれば、異なる動作モードの書込み処理を連続させて行うことができるため、効率的なデータの書込み処理が可能になる。しかも、装置構成も大きくならず、小規模の装置で実現することができる。さらに、動作条件などが格納されたディスクリプタを装置外部から取得することで、装置内部の演算処理手段に負荷をかけず、信頼性の高いデータ消去処理を実現することができるようになる。
【産業上の利用可能性】
【００５０】
以上のように、この発明にかかるコマンド発行型蓄積媒体制御装置は、コマンド発行型蓄積媒体に対する効率的なデータ書込み／消去処理に有用であり、とくに、信頼性の高いデータ消去を実現するのに適している。
【図面の簡単な説明】
【００５１】
【図１】この発明の実施の形態１にかかるコマンド発行型蓄積媒体制御装置の機能的構成を示すブロック図である。
【図２】この発明の実施の形態１にかかるコマンド発行型蓄積媒体制御装置の処理の手順を示すフローチャートである。
【図３】乱数書込みモードにおける処理の手順を示すフローチャートである。
【図４】この発明の実施の形態２にかかるコマンド発行型蓄積媒体制御装置の機能的構成を示すブロック図である。
【図５】この発明の実施の形態２にかかるコマンド発行型蓄積媒体制御装置の処理の手順を示すフローチャートである。
【図６】固定値書込みモードにおける処理の手順を示すフローチャートである。
【図７】この発明の実施の形態３にかかるコマンド発行型蓄積媒体制御装置の機能的構成を示すブロック図である。
【図８】この発明の実施の形態３にかかるコマンド発行型蓄積媒体制御装置の処理の手順を示すフローチャートである。
【図９−１】メモリに格納されるディスクリプタの概略構成を示す図である。
【図９−２】メモリに格納されるディスクリプタの概略構成を示す図である。
【図１０】この発明の実施の形態３にかかるコマンド発行型蓄積媒体制御装置の変形例を示す図である。
【符号の説明】
【００５２】
１００，４００，７００，１０００  コマンド発行型蓄積媒体制御装置
１０１，４０１，７０４  データ転送制御部
１０２，４０３，７０６，７０６ａ，７０６ｂ，７０６ｃ，７０６ｄ，・・・  乱数発生部
１０３，４０５，７０７，７０７ａ，７０７ｂ，７０７ｃ，７０７ｄ、・・・  蓄積媒体制御部
１０４，４０６，７０８ａ，７０８ｂ，７０８ｃ，７０８ｄ，・・・  蓄積媒体
４０２，７０５  固定値設定部
４０４  動作モード選択設定部
７０１  コマンド発行用ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）
７０２  動作条件設定部
７０３  メモリ
９０１，９０２，９０３  ディスクリプタ
１００１  コマンド転送用ＤＭＡＣ
１００２  データ転送用ＤＭＡＣ
【図１】
2008276500.tif 000003
【図２】
2008276500.tif 000004
【図３】
2008276500.tif 000005
【図４】
2008276500.tif 000006
【図５】
2008276500.tif 000007
【図６】
2008276500.tif 000008
【図７】
2008276500.tif 000009
【図８】
2008276500.tif 000010
【図９−１】
2008276500.tif 000011
【図９−２】
2008276500.tif 000012
【図１０】
2008276500.tif 000013