(57)【特許請求の範囲】
【請求項１】
外部装置とのインターフェイスと、記憶媒体と、プロセッサとを有し、外部装置からデータ読み出し命令及びデータ書き込み命令が入力される記憶装置であって、
前記外部装置からのデータ読み出し命令が、読み出すべきでないデータに対して入力された場合には、当該読み出すべきでないデータとは無関係な所定の値を前記外部装置に転送するものであって、
前記記憶媒体の各シリンダに対応する情報であって、シリンダが読み出すべきデータを記憶しているか否かを示す情報を記憶するメモリを有し、
前記プロセッサは、
前記外部装置から入力されるデータ読み出し命令に対して、
前記データ読み出し命令に対応する記憶領域が属するシリンダに対応する前記情報に基づいて、
前記記憶領域に格納されたデータを前記外部装置に転送するか、若しくは
前記記憶領域に格納されたデータとは無関係な所定の値を前記外部装置に転送するか、を決定し、
前記外部装置から入力されるデータ書き込み命令に対して、
前記データ書き込み命令に対応する記憶領域が属するシリンダに対応する前記情報に基づいて、
当該シリンダに属する記憶領域のうち、前記データ書き込み命令に対応する記憶領域には前記データ書き込み命令に関するデータを書き込み、前記データ書き込み命令に対応する記憶領域以外の記憶領域には前記データ書き込み命令に関するデータとは無関係な所定の値を書き込むか、若しくは
前記データ書き込み命令に対応する記憶領域に前記データ書き込み命令に関するデータを書き込むか、
を決定することを特徴とする記憶装置。
【請求項２】
前記外部装置からデータを消去する命令を受け取った場合、前記メモリに格納された情報を全て所定の値とすることを特徴とする請求項１記載の記憶装置。
【請求項３】
前記記憶領域は、シリンダ単位に分割されていることを特徴とする請求項１記載の記憶装置。
【請求項４】
前記記憶領域は、所定の数のセクタ単位であることを特徴とする請求項１記載の記憶装置。
【請求項５】
前記所定の値とは、０であることを特徴とする請求項１記載の記憶装置。
【請求項６】
前記記憶媒体は、磁気記憶媒体であることを特徴とする、請求項１から５のいずれかに記載の記憶装置。
【請求項７】
計算機とインターフェイスを介して接続され、磁気記憶媒体と、プロセッサと、を有し、前記計算機からのリード要求及びライト要求を受信する記憶装置であって、
前記計算機からのリード要求が、読み出すべきでないデータに対して為された場合には、当該読み出すべきでないデータとは無関係な所定の値を前記計算機に送信するものであって、
前記記憶装置は、
前記計算機からの要求に応じてブロック単位で前記磁気記憶媒体との間でデータ入出力を行うものであり、
前記磁気記憶媒体の各シリンダごとに、シリンダが読み出すべきデータを記憶しているか否かを示すビット値を記憶するビットマップを記憶するメモリを有し、
前記計算機から、前記磁気記憶媒体上のある記憶領域に対するリード要求があった場合に、前記ビット値を参照し、前記ビット値に基づいて、
当該ある記憶領域に格納されたデータを前記計算機に送信するか、
当該ある記憶領域に格納されたデータとは無関係な所定の値を前記計算機に送信するか、
を決定し、
前記計算機から、前記磁気記憶媒体上のある記憶領域に対するライト要求があった場合に、前記ビット値を参照し、前記ビット値に基づいて、当該ある記憶領域が属するシリンダに属する記憶領域のうち、当該ある記憶領域以外の記憶領域に対して、前記ライト要求に関するデータとは無関係な所定の値を書き込むか否かを決定することを特徴とする記憶装置。
【請求項８】
前記計算機からデータ消去要求を受け取り、ビットマップの値を変更して、磁気記憶媒体に記憶されているデータを読み出せなくする手段を有することを特徴とする請求項７記載の記憶装置。
【請求項９】
前記インターフェイスとは別のインターフェイスを有し、前記別のインターフェイスを介してデータ消去要求を受け取り、前記ビットマップの値を変更して、磁気記憶媒体に記憶されているデータを読み出せなくする手段を有することを特徴とする請求項８記載の記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶装置におけるデータ消去方法及びその方法を用いた記憶装置に関する。
【０００２】
【従来の技術】
近年の情報化に伴うデータ量の増加に伴って、企業が、従来所持している記憶装置を、より大容量の記憶装置に交換することが頻繁に起こっている。この場合、従来使用していた記憶装置のデータのみを消去して、記憶装置そのものは廃棄せずに再利用する場合が多い。
【０００３】
【発明が解決しようとする課題】
記憶装置が有するデータを消去する場合、いくつかの方法がある。まず、ファイルシステムのフォーマットコマンドなどにより、記憶装置のデータを消去する方法がある。しかし、この方法だと、ファイルシステムの管理情報のみが書き換えられ、記憶装置に格納されたデータは実際には消去されない。したがって、外部装置から記憶装置に対して直接リードコマンドが発行されると、消去されたはずのデータを読み出すことができ、データの機密性に問題が生ずる。
【０００４】
これを解決するためには、記憶装置に記録されているデータ自身を消去する必要がある。記憶装置のデータ自身を消去するには、記憶媒体上の記憶領域、例えば全セクタに対して０を書き込むか、ＳＣＳＩに対応する記憶装置である場合には、Ｆｏｒｍａｔ  Ｕｎｉｔ（オペレーションコード０４ｈ）コマンドを実行する必要がある。
【０００５】
しかしながら、この処理は、記録媒体の全領域に対して実際に０というデータを書き込む。したがって、この処理を大容量の記憶装置に対して実行すると、処理が終了するまでに長い時間がかかってしまうという問題がある。
【０００６】
本発明の目的は、記憶装置の高速データ消去手段を提供することである。
【０００７】
【課題を解決するための手段】
本発明における記憶装置は、記憶装置が有する記憶領域に対応する情報、例えばビットマップを格納するメモリを有し、このビットマップメモリにより、データの消去状態を管理する。
【０００８】
具体的には、記憶装置は、計算機から記憶装置に対するリード要求に対して、次の処理を行う。
【０００９】
リード要求先の記憶領域に対応するビットマップメモリの値が所定の値、例えば０のときは、記憶媒体からデータを読み出すことなく、計算機に対して０のデータを送信し、ビットマップメモリの値が他の所定の値、例えば１のときは、記憶領域から読み出したデータを計算機に送信する。
【００１０】
さらに、本発明においては、データ消去要求を受け取った記憶装置は、全ビットマップメモリの値を所定の値、例えば０にすることにより、磁気記憶装置のデータを読み出せないようにする。
【００１１】
尚、ビットマップに対応する記憶領域の単位は、シリンダでも、特定の数のセクタでも良い。
【００１２】
【発明の実施の形態】
図１は、本発明を適用した磁気記憶装置のブロック図である。磁気記憶装置１０００は、プロセッサ１１００、ファイバーチャネルインターフェイス（以後Ｉ／Ｆと略す）１２００、ビットマップメモリ１３００、キャッシュメモリ１４００、磁気記憶媒体リード・ライト回路１５００、及び磁気記憶媒体１６００を有する。尚、本実施形態では磁気記憶装置について説明するが、本発明は磁気記憶装置に限定されない。
【００１３】
ファイバーチャネルＩ／Ｆ１２００は、計算機１００に接続される。計算機１００は、ファイバーチャネルＩ／Ｆ１２００を介して、磁気記憶装置１０００に対してデータの入出力を行う。尚、磁気記憶装置１０００が有する計算機とのインターフェイスは、ファイバーチャネルに限らない。又、計算機１００は、演算部を有していれば良く、一般のコンピュータでも、ＲＡＩＤコントローラ等といった、記憶装置システムの制御部でも良い。
【００１４】
図２は、磁気記憶媒体１５００とビットマップメモリ１３００との関係を説明する図である。
磁気記録媒体は、複数枚の円盤状のプラッタ２０００及び軸２０１０を有する。プラッタ２０００上は、同心円状のトラック２０２０に分けられており、トラック２０２０は、さらに円弧状のセクタ２０３０に分けられている。
【００１５】
セクタ２０３０には、トラック２０２０上での位置を特定するため、１つのトラックごとにセクタ番号が振られている。
トラック２０２０には、外側から順に番号がふられ、これをトラック番号と呼ぶ。
１枚のプラッタ２０００は、上下二面の記録面を有する。また、記憶装置１６００は、プラッタ２０００の一つの記録面ごとに情報の読み書きを行うヘッドを有している。各々のヘッドにはヘッド番号がつけられており、ヘッド番号によってプラッタ２０００上の記録面が特定される。
【００１６】
トラック番号が同じであり、プラッタ２０００を重ねたときに円筒状になる一連のトラック２０２０をまとめてシリンダ２０４０と呼ぶ。シリンダ２０４０には、トラック２０２０と同じように、外側からシリンダ番号がふられる。したがって、シリンダ番号によってトラック２０２０を指定することができる。
【００１７】
磁気記憶装置１６００へのデータの記録及びデータの読み出しは、磁気記録媒体２０００のセクタ２０３０を単位として行われる。磁気記憶装置１６００に対してデータの入出力を行う計算機１００は、セクタ２０３０を指定してデータのリードおよびライトを行う。通常、１セクタのサイズは固定であり、そのサイズは５１２バイトである。
【００１８】
セクタの指定方法は、セクタに振られた通し番号を指定するＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）による方法と、シリンダ番号（Ｃ）、ヘッド番号（Ｈ）、セクタ番号（Ｓ）を指定するＣＨＳによる方法の２つがある。ＣＨＳに基づくセクタ２０３０を示すアドレス（Ｃ，Ｈ，Ｓ）からＬＢＡに基づいて示されるセクタ２０３０の通し番号ＬＢＡへの変換は、次の計算式によって行われる。
【００１９】
ＬＢＡ＝（Ｈ＋Ｃ×総ヘッド数）×トラックあたりセクタ数＋Ｓ
また、ＬＢＡから（Ｃ，Ｈ，Ｓ）への変換は、次の計算式によって行われる。
【００２０】
Ｃ＝ＬＢＡ／（トラックあたりセクタ数×総ヘッド数）
Ｈ＝（ＬＢＡ／トラックあたりセクタ数）  ％  総ヘッド数
Ｓ＝ＬＢＡ  ％  トラックあたりセクタ数＋１
尚、A%Bは、AをBで割ったときの余りを表す。
【００２１】
本実施形態では、計算機１００はＬＢＡに基づいてセクタ２０３０を特定して磁気記憶装置にデータの入出力を行う。
【００２２】
ビットマップメモリ１４００には、先頭ビットから順にシリンダ番号に対応するビットマップが格納される。あるビットが０である場合には、そのビットに対応するシリンダ２０４０に属するセクタ２０３０に対する計算機１００のリード要求に対して、磁気記憶装置１６００がリードデータとして０を返すことを表している。たとえば、図２では、ビットマップメモリ１３００の先頭から３番目のビットの値が０であるから、外側から３番目のシリンダ２０４０に属するセクタ２０３０に対するリード要求に対して、磁気記憶装置１０００は、０の値を返す。
【００２３】
キャッシュメモリ１４００は、磁気記録媒体１６００に対するリードおよびライトを高速化するために使用される。
磁気記憶媒体リード・ライト回路１６００は、計算機１００から受信したデータを、磁気記録媒体１６００へ書き込むデータの形式に変換する。プロセッサ１１００は、磁気記憶装置１０００が有する各回路の制御を行う。
【００２４】
次に、磁気記憶装置１０００によるリード・ライト要求処理について説明する。磁気記憶装置１０００は、ファイバーチャネルＩ／Ｆ１２００により、リードおよびライト処理要求を受け取る。
図３は、磁気記憶装置１０００におけるリード処理の手順を示す図である。リード要求を受け取ると、プロセッサ１１００は、図３のリード要求処理３０００を実行する。
【００２５】
プロセッサ１１００は、計算機１００のリード要求コマンドで指定されるＬＢＡから、データ読み出し対象のセクタ２０３０の属するシリンダ番号を取得する。シリンダ番号の取得は、先に説明したＬＢＡと（Ｃ，Ｈ，Ｓ）との変換式によって行うことができる（ステップ３１００）。
【００２６】
プロセッサ１１００は、先に取得されたシリンダ番号Ｃに対応するビットメモリの値を読み出す（ステップ３２００）。読み出したビットマップメモリ１３００のシリンダ番号Ｃに対応するビットの値が０である場合には、プロセッサ１１００は、実際にセクタ２０３０に格納されているデータの内容に関係なく、全て０のデータを計算機１００に返して処理を終了する（ステップ３３００）。
【００２７】
ステップ３２００で、シリンダ番号Ｃに対応するビットの値が１である場合には、プロセッサ１１００は、リード命令に対応する磁気記憶媒体上のセクタ２０３０のデータを読み出すよう、磁気記憶媒体１６００等を制御し、読み出されたデータを計算機１００送信する（ステップ３４００）。
【００２８】
図４は、磁気記憶装置１０００のライト処理の手順を示す図である。ライト要求を受け取ると、プロセッサ１１００は、図４に示されるライト要求処理４０００を実行する。
【００２９】
ライト要求を受け取ったプロセッサ１１００は、ライト要求コマンドで指定されるＬＢＡからライト対象のセクタの属するシリンダ番号を取得する。シリンダ番号の取得は、先に説明したＬＢＡと（Ｃ，Ｈ，Ｓ）との変換式によって行うことができる（ステップ４１００）。
【００３０】
プロセッサ１１００は、ライト要求に対応するシリンダ番号Ｃに対応するビットマップメモリ１３００の値を読み出す（ステップ４２００）。読み出したビットの値が０である場合には、プロセッサ１１００は、対応するシリンダ番号Ｃに属するセクタ２０３０に対して、ライト要求のあるセクタ２０３０には計算機１００から受け取ったデータを、その他のセクタには０を書き込む（ステップ４３００）。その後、プロセッサ１１００は、シリンダ番号Ｃに対応するビットマップメモリ１３００のビットの値を１にして処理を終了する（ステップ４４００）。
【００３１】
一方、ステップ４２００でシリンダ番号Ｃに対応するビットマップメモリ１３００の値が１である場合には、プロセッサ１１００は、磁気記憶媒体１６００のセクタ１３００に、計算機１００から受信したデータを書き込み、処理を終了する（ステップ４５００）。
【００３２】
また、プロセッサ１１００は、計算機１００からデータ消去要求を受け取ると、ビットマップメモリ１３００が有する全てのビットの値を０にする。
【００３３】
尚、計算機１００からのデータ消去要求は、磁気記憶装置１０００がＳＣＳＩ装置である場合には、Ｆｏｒｍａｔ  Ｕｎｉｔコマンド（オペレーションコード０４ｈ）を割り当てることができる。具体的には、磁気記憶装置１０００は、Ｆｏｒｍａｔ  Ｕｎｉｔコマンドを受け取った場合に、ビットマップメモリ１３００の全ての値を０にする。
【００３４】
さらに、磁気記憶装置１０００にファイバーチャネルＩ／Ｆ１２００以外の外部Ｉ／Ｆがある場合には、磁気記憶装置１０００は、そのＩ／Ｆからデータ消去要求を受け付けるように構成することもできる。
【００３５】
本実施形態により、磁気記憶装置１０００は、データ消去要求を受け取った後は、任意のセクタに対する計算機１００のリード要求に対して、０のデータを返す。したがって、計算機１００は、磁気記憶媒体１６００に記録されているデータをリード要求によって読み出すことができなくなる。
【００３６】
また、磁気記憶装置１０００でのデータの消去は、ビットマップメモリ１３００の値を０にするだけなので、セクタ２０３０全てに０を書き込むという方法に比べると、大容量の磁気記憶装置に対しても高速に実行することができる。
【００３７】
尚、本実施形態では、シリンダ２０４０毎にビットマップを対応させたが、セクタ２０３０をある範囲ごとに分割し、分割されたセクタ２０３０ごとにビットマップのビットを対応させることもできる。たとえば、１０００個のセクタを有する磁気記録装置で、１から１００、１０１から２００、２０１から３００、３０１から４００…のようにセクタ２０３０を分割する。そして、１０個のビットを有するビットマップメモリを用意し、分割したセクタごとに、１つのビットを対応させる。さらに、磁気記憶装置１０００で、計算機１００が指定するセクタ２０３０が、分割されたセクタ群うち、どのセクタ群に属するかを判定し、対応するビットマップメモリを参照して、データを読み出す。尚、一つのセクタに一つのビットを対応させても良い。
【００３８】
さらに、ＲＡＩＤ技術により複数の磁気記憶装置をコントローラで制御して、論理的な磁気記録装置を計算機に提供するディスクアレイサブシステムでは、ディスクアレイサブシステムが提供する論理的な磁気記憶装置の記憶領域をある範囲に分割してビットマップで管理することにより、本発明を適用することができる。
【００３９】
【発明の効果】
本発明によれば、高速なデータ消去手段を備える記憶装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の磁気記憶装置の構成図である。
【図２】磁気記憶媒体とビットマップメモリを説明する図である。
【図３】リード要求処理の処理フロー図である。
【図４】ライト要求処理の処理フロー図である。
【符号の説明】
１００…計算機、１０００…磁気記憶装置、１１００…プロセッサ、１３００…ビットマップメモリ、１６００…磁気記憶媒体。
【図１】
0004228590.tif 000002
【図２】
0004228590.tif 000003
【図３】
0004228590.tif 000004
【図４】
0004228590.tif 000005