(57)【要約】【課題】暗号化データを記録する磁気ディスク装置において暗号化データの暗号鍵を確実に、かつ処理の負担を増大すること無く更新することを目的とする。【解決手段】暗号化データを記録するための磁気ディスクと、磁気ディスクに対してデータのリード又はライトを行なう磁気ヘッドと、磁気ヘッドに接続され、データのリード処理又はデータのライト処理を行う記録再生回路とを具備する磁気ディスク装置において、記録再生回路は磁気ディスクのデータを読み出して、同じ場所に書き戻すデータリフレッシュ機能を有し、データリフレッシュ動作により読み出されたデータを復号し、暗号鍵を変更して再度暗号化し、該暗号化データを書き戻すことを特徴とする。【選択図】図６
2010178140.tif 000002
【特許請求の範囲】
【請求項１】
暗号化データを記録するための磁気ディスクと、
前記磁気ディスクに対してデータのリード又はライトを行なう磁気ヘッドと、
前記磁気ヘッドに接続され、データのリード処理又はデータのライト処理を行う記録再生回路とを具備する磁気ディスク装置において、
前記記録再生回路は磁気ディスクのデータを読み出して、同じ場所に書き戻すデータリフレッシュ機能を有し、データリフレッシュ動作により読み出されたデータを復号し、暗号鍵を変更して再度暗号化し、該暗号化データを書き戻すことを特徴とする磁気ディスク装置。
【請求項２】
前記記録再生回路は
前記磁気ディスクのエリア毎のライト回数を計数し、ライト回数が所定回数以上であるか否かを判定する判定手段と、
前記判定手段がライト回数が所定回数以上であると判定した場合、当該エリアの暗号化データをリードし、復号し、復号したデータを暗号化の鍵を変更して再度暗号化し、該暗号化データを当該エリアに書き戻す更新手段と、
を具備することを特徴とする請求項１記載の磁気ディスク装置。
【請求項３】
前記更新手段は、
所定個の暗号鍵を格納する鍵格納手段と、
エリア毎の暗号鍵を示す情報を格納するテーブルとを具備し、
暗号化データをリードし復号した後、前記テーブルの情報を更新することを特徴とする請求項２記載の磁気ディスク装置。
【請求項４】
前記鍵格納手段と前記テーブルを前記磁気ディスクのセキュリティエリアに設けられていることを特徴とする請求項３記載の磁気ディスク装置。
【請求項５】
前記更新手段は、変更した鍵による暗号化データを前記エリアとは別のバックアップエリアにライトした後、前記エリアに書き戻すことを特徴とする請求項２記載の磁気ディスク装置。
【請求項６】
前記エリアはトラックを含み、バックアップエリアは所定のトラックであることを特徴とする請求項２記載の磁気ディスク装置。
【請求項７】
前記記録再生回路は、
前記磁気ディスクのセルフテストを行なう手段と、
前記セルフテスト時にリードした暗号化データを復号し、復号したデータを暗号化の鍵を変更して再度暗号化し、該暗号化データを当該エリアに書き戻す第２更新手段と、
をさらに具備することを特徴とする請求項２記載の磁気ディスク装置。
【請求項８】
暗号化データを記録する磁気ディスクのデータを読み出して、同じ場所に書き戻すデータリフレッシュ機能を有する記録再生装置において、
データリフレッシュ動作により読み出されたデータを復号し、暗号鍵を変更して再度暗号化し、該暗号化データを書き戻すことを特徴とする記録再生装置。
【請求項９】
磁気ディスクのエリア毎のライト回数を計数し、ライト回数が所定回数以上であるか否かを判定する判定手段と、
前記判定手段がライト回数が所定回数以上であると判定した場合、当該エリアの暗号化データをリードし、復号し、復号したデータを暗号化の鍵を変更して再度暗号化し、該暗号化データを当該エリアに書き戻す更新手段と、
を具備することを特徴とする請求項８記載の記録再生装置。
【請求項１０】
前記更新手段は、
所定個の暗号鍵を格納する鍵格納手段と、
エリア毎の暗号鍵を示す情報を格納するテーブルとを具備し、
暗号化データをリードし復号した後、前記テーブルの情報を更新することを特徴とする請求項９記載の記録再生装置。
【請求項１１】
前記更新手段は、変更した鍵による暗号化データを前記エリアとは別のバックアップエリアにライトした後、前記エリアに書き戻すことを特徴とする請求項９記載の記録再生装置。
【請求項１２】
前記磁気ディスクのセルフテストを行なう手段と、
前記セルフテスト時にリードした暗号化データを復号し、復号したデータを暗号化の鍵を変更して再度暗号化し、該暗号化データを当該エリアに書き戻す第２更新手段と、
をさらに具備することを特徴とする請求項８記載の記録再生装置。
【請求項１３】
磁気ディスクのエリアの暗号化データをリードするステップと、
リードデータを復号するステップと、
復号したデータを暗号化の鍵を変更して再度暗号化するステップと、
該暗号化データを当該エリアに書き戻す更新ステップと、
を具備することを特徴とする磁気ディスクのデータ更新方法。
【請求項１４】
磁気ディスクに記憶されている暗号化データの暗号鍵の更新方法であって、
前記磁気ディスクのエリア毎のライト回数を計数し、ライト回数が所定回数以上であるか否かを判定するステップと、
前記判定ステップがライト回数が所定回数以上であると判定した場合、当該エリアの暗号化データをリードし、復号し、復号したデータを暗号化の鍵を変更して再度暗号化し、該暗号化データを当該エリアに書き戻す更新ステップと、
を具備することを特徴とする暗号鍵更新方法。
【請求項１５】
前記更新ステップは、変更した鍵による暗号化データを前記エリアとは別のバックアップエリアにライトした後、前記エリアに書き戻すことを特徴とする請求項１４記載の暗号鍵更新方法。
【請求項１６】
前記磁気ディスクのセルフテストを行なうステップと、
前記セルフテスト時にリードした暗号化データを復号し、復号したデータを暗号化の鍵を変更して再度暗号化し、該暗号化データを当該エリアに書き戻す第２更新ステップと、
をさらに具備することを特徴とする請求項１４記載の暗号鍵更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は暗号化データを記録する磁気ディスク装置及び同装置における暗号化データの鍵の更新方法に関する。
【背景技術】
【０００２】
従来の磁気ディスク装置等のストレージシステムはデータを長期に確実に保存するためにデータを暗号化して記憶している。しかし、暗号化アルゴリズムは技術の進歩の影響を受け易く、現在は事実上アクセス不能と考えられている暗号化方式（一般にはデータを暗号化し復号する暗号化基準）が数年後には破られる可能性がある。この一つの解決方法としては、このような時が到来したら、より強い暗号化を適用する、例えば暗号鍵を長くする、より進歩した暗号化アルゴリズムを用いる、あるいはこれらの両方を用いる等して、暗号化方式を更新することがある（例えば、特許文献１参照）。
【０００３】
この文献に記載のストレージシステムは記憶されたデータを第１の暗号化から第２の暗号化に変換することを含む。物理ストレージは１から始まる番号が順番に付けられた複数のブロックで構成される。変換処理はブロック毎に行われ、第１の暗号化基準に従って暗号化されたブロックを第２の暗号化基準に従って暗号化されたブロックへ変換する。データは最初は第１の基準で暗号化されている。データブロックが読み出され、第１の基準を用いて復号される。復号されたデータブロックに第２の暗号化基準が適用され、第２の暗号化基準に従って暗号化されたデータブロックが元の読み出されたブロック位置に書き戻される。ブロックは連続して番号が付けられており、変換処理は最小のブロック番号から昇順に進行する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３０３９８１号公報（段落０００４、０００５、００２３、００２５）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１記載のシステムは第１の暗号化から第２の暗号化への変換のタイミングは特定していない。ホストデバイスは何らかのタイミングで暗号化の変換処理を指令しなければならない。指令がないと、変換処理は開始されない。そのため、特許文献１記載のシステムでは確実に暗号化の変換がなされると言う保証がない。また、データを読み出し、復号し、別の基準で暗号化してから同じ位置に書き戻す処理は、処理量が多く、処理時間がかかり、システムの本来の処理に支障を来たす恐れがある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明は暗号化データを記録する磁気ディスク装置において暗号化データの暗号鍵を確実に、かつ処理の負担を増大すること無く更新することを目的とする。
【０００７】
本発明の一態様によれば、暗号化データを記録するための磁気ディスクと、前記磁気ディスクに対してデータのリード又はライトを行なう磁気ヘッドと、前記磁気ヘッドに接続され、データのリード処理又はデータのライト処理を行う記録再生回路とを具備する磁気ディスク装置において、前記記録再生回路は磁気ディスクのデータを読み出して、同じ場所に書き戻すデータリフレッシュ機能を有し、データリフレッシュ動作により読み出されたデータを復号し、暗号鍵を変更して再度暗号化し、該暗号化データを書き戻すことを特徴とする。
【０００８】
本発明の他の態様によれば、暗号化データを記録する磁気ディスクのデータを読み出して、同じ場所に書き戻すデータリフレッシュ機能を有する記録再生装置において、データリフレッシュ動作により読み出されたデータを復号し、暗号鍵を変更して再度暗号化し、該暗号化データを書き戻すことを特徴とする。
【０００９】
本発明の他の態様によれば、磁気ディスクのエリアの暗号化データをリードするステップと、リードデータを復号するステップと、復号したデータを暗号化の鍵を変更して再度暗号化するステップと、該暗号化データを当該エリアに書き戻す更新ステップとを具備することを特徴とする磁気ディスクのデータ更新方法が提供される。
【００１０】
本発明の他の態様によれば、磁気ディスクに記憶されている暗号化データの暗号鍵の更新方法であって、前記磁気ディスクのエリア毎のライト回数を計数し、ライト回数が所定回数以上であるか否かを判定するステップと、前記判定ステップがライト回数が所定回数以上であると判定した場合、当該エリアの暗号化データをリードし、復号し、復号したデータを暗号化の鍵を変更して再度暗号化し、該暗号化データを当該エリアに書き戻す更新ステップと、を具備することを特徴とする暗号鍵更新方法が提供される。
【発明の効果】
【００１１】
本発明はデータリフレッシュ時に、リードしたリフレッシュデータを復号し、別の暗号鍵を用いて暗号化したデータを書き戻すことにより、自動的かつ確実に暗号鍵が更新され、暗号化データのセキュリティが向上する効果を奏する。また、データリフレッシュ動作はデータリード、データライトを含むので、暗号鍵の変更のためだけにデータリード、データライトを行なう必要が無く、少ない処理量で短時間に暗号鍵の更新ができるので、磁気ディスク装置の処理に負担を与えることがない。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る磁気ディスク装置の構成を示すブロック図。
【図２】図１に示されるディスクのトラック配置を含むフォーマットを示す概念図。
【図３】同実施形態で適用されるライトカウントテーブルのデータ構造例を示す図。
【図４】同実施形態で適用されるキーテーブルのデータ構造例を示す図。
【図５】図１のＨＤＤにおける全体的な動作を説明するためのフローチャート。
【図６】図５のフローチャートに含まれるデータリフレッシュ動作の詳細な手順を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００１４】
図１は本発明の一実施形態に係る磁気ディスク装置（ＨＤＤ）の構成を示すブロック図である。図１に示されるＨＤＤ１００は、ホストシステム２００からの要求に応じてディスク（磁気ディスク）１０１の記録面上にデータ（暗号化データを含む）を書き込み、或いは当該記録面からデータを読み出すための記憶装置である。ホストシステム２００は、ＨＤＤ１００を記憶装置として利用するパーソナルコンピュータのような電子機器である。
【００１５】
ディスク１０１はスピンドルモータ（ＳＰＭ）１０３に固定されており、ＳＰＭ１０３が駆動されることにより一定の速度で回転する。ディスク１０１の例えば一方のディスク面は、データが磁気記録される記録面をなしている。ヘッド（磁気ヘッド）１０２はディスク１０１の記録面に対応して配置される。ヘッド１０２はアクチュエータ１０５の一端に固定されている。アクチュエータ１０５の他端はボイスコイルモータ（ＶＣＭ）１０４に固定されている。ヘッド１０２は、ＶＣＭ１０４が駆動されることにより、ＶＣＭ１０４の軸を中心とした円弧軌道のうちディスク１０１の面に重なる範囲を移動する。
【００１６】
図１の構成では、単一枚のディスク１０１を備えたＨＤＤ１００を想定している。しかし、複数のディスク１０１がある間隙をもった状態でＳＰＭ１０３に固定された構成であっても構わない。この場合、複数のアクチュエータ１０５が、複数のディスク１０１の間隙に適合するように重なった状態でＶＣＭ１０４に固定される。複数のアクチュエータ１０５の一端にはそれぞれヘッド１０２が固定されている。したがってＳＰＭ１０３が駆動されると、全てのディスク１０１は同時に回転し、ＶＣＭ１０４が駆動されると、全てのヘッド１０２は同時に移動する。また、図１の構成では、ディスク１０１の一方の面が記録面をなしている。しかし、ディスク１０１の両面がいずれも記録面をなし、両記録面にそれぞれ対応してヘッド１０２が配置されても構わない。
【００１７】
図２はディスク１０１のトラック配置を含むフォーマットを示す概念図である。  
図２において、ディスク１０１の記録面には、複数のトラック２０１が同心円状に配置されている。ホストシステム２００からＨＤＤ１００が受け取ったデータは、当該ホストシステム２００によって指定されたアドレスに応じ、複数のトラック２０１の少なくとも１つに記録される。
【００１８】
また、ディスク１０１の複数のトラック２０１上にはサーボ領域２０２及びデータ領域２０３が交互に且つ等間隔に配置されている。サーボ領域２０２には、ヘッド１０２の位置決めに用いられるサーボ信号が記録されている。データ領域２０３は、ホストシステム２００から転送されるデータを記録するのに用いられる。
【００１９】
ディスク１０１には、ＣＤＲ（constant density recording）と呼ばれる記録フォーマットが適用されている。このＣＤＲフォーマットを適用するディスク１０１の記録面は、当該ディスク１０１の半径方向に複数のゾーン（ＣＤＲゾーン）に分割して管理される。各ゾーンのトラック（シリンダ）当たりのデータセクタ（以下、単にセクタと称する）の数は、ディスク１０１の外周側のゾーンほど多く設定されている。
【００２０】
再び図１を参照すると、ＣＰＵ１１５はＨＤＤ１００の主コントローラとして機能する。ＣＰＵ１１５はモータドライバ１０６を介してＳＰＭ１０３の起動・停止及び回転速度維持のための制御を行う。ＣＰＵ１１５はまたモータドライバ１０６を介してＶＣＭ１０４を駆動制御することで、ヘッド１０２を目標とするトラックに移動させて、当該トラックの目標とする範囲内に整定するための制御を行う。ヘッド１０２を目標とするトラックに移動させる制御はシーク制御と呼ばれ、ヘッド１０２を目標とするトラックの目標とする範囲内に整定する制御はヘッド位置決め制御と呼ばれる。ＣＰＵ１１５は更に、ディスク１０１のトラック２０１に書き込まれているデータをリフレッシュするための制御（データリフレッシュ処理）を行う。
【００２１】
ヘッド１０２の位置決めはＳＰＭ１０３の起動後の定常回転状態で行われる。上述のように、サーボ領域２０２はディスク１０１の円周方向に等間隔に配置されている。このため、ヘッド１０２によってディスク１０１から読み出され、ヘッドＩＣ１０７で増幅されたアナログ信号中には、サーボ領域２０２に記録されているサーボ信号が時間的に等間隔に現れることになる。リード・ライトＩＣ１０８（リード・ライトＩＣ１０８に含まれているサーボブロック１２１）とゲートアレイ１０９とは、この状態を利用して上記アナログ信号を処理することにより、ヘッド１０２の位置決めのための信号を生成する。ＣＰＵ１１５はこの信号をもとにモータドライバ１０６を制御することにより、当該モータドライバ１０６からＶＣＭ１０４に、ヘッド１０２の位置決めのための電流（ＶＣＭ電流）をリアルタイムで供給させる。
【００２２】
ＣＰＵ１１５は、上述のようにモータドライバ１０６を介してＳＰＭ１０３及びＶＣＭ１０４を制御する一方で、ＨＤＤ１００内の他の要素の制御及びコマンド処理などを行う。ＣＰＵ１１５はＣＰＵバス１１２に接続されている。
【００２３】
ＣＰＵバス１１２には、リード・ライトＩＣ１０８、ゲートアレイ１０９、ディスクコントローラ（ＨＤＣ）１１０、ＲＡＭ１１３及びフラッシュＲＯＭ１１４が接続されている。フラッシュＲＯＭ１１４は、書き換え可能な不揮発性メモリである。ここでは、フラッシュＲＯＭ１１４の書き換えは、ＣＰＵ１１５からの制御により行われる。
【００２４】
フラッシュＲＯＭ１１４には、ＣＰＵ１１５が実行すべきプログラムが予め格納されている。ＣＰＵ１１５による上述の制御は、当該ＣＰＵ１１５が上記プログラムを実行することにより実現される。
【００２５】
ＲＡＭ１１３は、例えばＣＰＵ１１５が使用する種々の変数を格納するのに用いられる。ＲＡＭ１１３の記憶領域の一部は、ＣＰＵ１１５のワーク領域として用いられる。ＲＡＭ１１３の記憶領域の他の一部は、トラックグループ毎のライト回数（データライト回数、ライト実行回数）を保持するライトカウントテーブル５００（図３参照）を格納するのに用いられる。
【００２６】
リード・ライトＩＣ１０８は、サーボブロック１２１とリード・ライトブロック１２２とを有する。サーボブロック１２１は、サーボ信号の抽出を含む、ヘッド１０２の位置決めに必要な信号処理を行う。リード・ライトブロック１２２は、データの読み出し・書き込みのための信号処理（暗号化・復号処理を含む）を行う。ゲートアレイ１０９は、サーボブロック１２１によるサーボ信号の抽出のための信号を含む、制御用の諸信号を生成する。
【００２７】
ＨＤＣ１１０は、ＣＰＵバス１１２以外に、リード・ライトＩＣ１０８、ゲートアレイ１０９及びバッファＲＡＭ１１１に接続されている。ＨＤＣ１１０は、ホストブロック１２３、リード・ライトブロック１２４及びバッファブロック１２５を有する。ホストブロック１２３は、ホストシステム２００から転送されるコマンド（ライトコマンド、リードコマンド等）を受信し、且つホストとＨＤＣ１１０との間のデータ転送を制御する、ホストインタフェース制御機能を有する。リード・ライトブロック１２４は、リード・ライトＩＣ１０８及びゲートアレイ１０９と接続され、リード・ライトＩＣ１０８を介して行われるデータの読み出し（復号）・書き込み（暗号化）処理を行う。バッファブロック１２５は、バッファＲＡＭ１１１を制御する。バッファＲＡＭ１１１の記憶領域の一部は、ＨＤＣ１１０（ＨＤＣ１１０内のリード・ライトブロック１２４）を介してディスク１０１に書き込まれるべきデータ（ライトデータ）を一時格納するためのライトバッファとして用いられる。バッファＲＡＭ１１１の記憶領域の別の一部は、ＨＤＣ１１０を介してディスク１０１から読み出されたデータ（リードデータ）を一時格納するためのリードバッファとして用いられる。
【００２８】
リード・ライトＩＣ１０８、ゲートアレイ１０９、及びＨＤＣ１１０は、それぞれ制御用レジスタを有する。これらの制御用レジスタは、それぞれＣＰＵ１１５のメモリ空間の一部に割り当てられており、ＣＰＵ１１５はこの一部の領域に対してアクセスすることで、制御用レジスタを介してリード・ライトＩＣ１０８、ゲートアレイ１０９、またはＨＤＣ１１０を制御する。
【００２９】
ディスク１０１の記録面にはＨＤＤ１００内のコントローラであるＣＰＵ１１５からはアクセスできるが、ホストシステム２００からはアクセスできないセキュリティエリア１０１ａが設けられ、後述するトラックグループ毎の暗号鍵の識別情報を保持するキーテーブルが格納されている。
【００３０】
図１のＨＤＤ１００において、データの読み出しは次のように行われる。まずヘッド１０２によってディスク１０１から読み出された信号（アナログ信号）は、ヘッドＩＣ１０７によって増幅される。増幅されたアナログ信号はリード・ライトＩＣ１０８によってサーボ信号とデータ信号とに分離される。データ信号はリード・ライトＩＣ１０８内のリード・ライトブロック１２２で復号化された後ＨＤＣ１１０に送られる。ＨＤＣ１１０内のリード・ライトブロック１２４は、復号化されたデータ信号をゲートアレイ１０９からの制御用の信号に従って処理することにより、ホストシステム２００に転送すべきデータを生成する。ここでの処理は、後述するＥＣＣデータに基づくデータの誤りの検出と誤りの訂正とを含む。生成されたデータは、ＨＤＣ１１０内のバッファブロック１２５によって一旦バッファＲＡＭ１１１に格納されてから、当該ＨＤＣ１１０内のホストブロック１２３によってホストシステム２００に転送される。
【００３１】
図１のＨＤＤ１００において、データの書き込みは次のように行われる。ホストシステム２００からＨＤＣ１１０に転送されたデータは、当該ＨＤＣ１１０内のホストブロック１２３で受信された後、当該ＨＤＣ１１０内のバッファブロック１２５によって一旦バッファＲＡＭ１１１に格納される。バッファＲＡＭ１１１に格納されたデータは、バッファブロック１２５によって取り出された後、ゲートアレイ１０９からの制御用の信号に従ってＨＤＣ１１０内のリード・ライトブロック１２４によってリード・ライトＩＣ１０８へ送られる。リード・ライトＩＣ１０８に送られたデータは、当該リード・ライトＩＣ１０８内のリード・ライトブロック１２２によって符号化された後、暗号化される。暗号化されたデータはヘッドＩＣ１０７を介してヘッド１０２に送られて、当該ヘッド１０２によってディスク１０１に書き込まれる。上述のデータの読み出し／書き込みは、ＣＰＵ１１５の制御の下で行われる。なお、ＨＤＤ１００に書き込む全てのデータを必ずしも暗号化する必要は無く、セキュリティレベルの低いデータは符号化のみで暗号化せずに書き込んでも良い。
【００３２】
ＨＤＤ１００は、近年の高容量化に伴い、高記録密度化、高トラック密度化が進んでいる。高トラック密度化により、ディスク上で隣接するトラック（記録トラック）間の間隔（つまりトラックピッチ）が狭小化されている。各トラックはヘッド（ヘッドに含まれる書き込み素子）の幅と同じ幅を持つ。しかし、データ書き込み時にヘッドによって生成される磁界（記録磁界）の分布の幅は必ずしも当該ヘッドの幅に一致せず、その周辺にも磁界が加わる（漏れる）状態となる。この状態は、ライトフリンジングと呼ばれる。
【００３３】
このため、トラックピッチが狭小化されると、データが書き込まれるべきトラックにヘッドを位置付けてデータを書き込む際に、当該トラックに対するヘッドの位置決め誤差及びライトフリンジングの影響により、隣接するトラックに書き込まれているデータ（記録データ）の劣化が発生する可能性がある。記録データ（記録信号）の劣化が繰り返し発生すると、その記録データの読み出しが非常に困難になる。つまり、誤り訂正符号（ＥＣＣ）を最大限に用いて記録データの修復を試みても、当該記録データを修復することが困難となる。
【００３４】
そこで、記録データの劣化により当該記録データの読み出しが不能になる前に、当該記録データの劣化を回復するためのデータリフレッシュ（書き直し）が必須になりつつある。データリフレッシュは、劣化した記録データをトラックから読み出し、当該読み出されたデータを当該トラックの元の記憶領域に書き戻すことで、当該記録データを正常な状態に戻す動作として知られている。
【００３５】
次に、図１のＨＤＤ１００で実行されるデータリフレッシュ動作の概要について説明する。本実施形態では、ディスク１０１の記録面に配置されたトラック２０１の集合は予め定められた一定数のトラックを単位にグループ化されて、グループ単位でデータリフレッシュ動作が行われる。このグループを、トラックグループと称する。ここでは、トラックグループ毎に、そのトラックグループ全体へのデータライト動作の総数（ライト回数）がカウントされる。このカウント値が予め定められた一定値に達したならば、該当するトラックグループを対象とするデータフリフレッシュ処理が行われる。
【００３６】
図３はトラックグループ毎のライト回数（データライト回数、ライト実行回数）を保持するライトカウントテーブル５００のデータ構造例を示す。ライトカウントテーブル５００は、例えば図１におけるＲＡＭ１１３の所定の領域に格納される。
【００３７】
図３のライトカウントテーブル５００の例では、説明の一般化のために、ＨＤＤ１００がｍ本のヘッド１０２を有すると共に、当該ＨＤＤ１００がｐ個のシリンダグループから構成される場合を想定している。この場合、ライトカウントテーブル５００は、ヘッド（ヘッド番号）ｈ、シリンダグループ（シリンダグループ番号）ｃを用いて表される全てのトラックグループの各々について、そのトラックグループへのデータライト動作の回数（ライト回数）Ｗ（ｈ，ｃ）（０≦ｈ≦ｍ−１，０≦ｃ≦ｐ−１）を保持している。Ｗ（ｈ，ｃ）はヘッド番号ｈ及びシリンダグループ番号ｃで特定されるトラックグループへのライト回数をカウントするライトカウンタとして用いられる。なお、図１のＨＤＤ１００の構成の場合、ｍは１である。
【００３８】
シリンダグループとは、予め定められた一定数のシリンダの集合であり、１シリンダグループ当たりのシリンダ数は、トラックグループ当たりのトラック数と同じである。したがって、同一のシリンダグループ番号を持つトラックグループは、ＨＤＤ１００内に、ヘッド１０２の数ｍに一致する数だけ存在する。トラックグループは、シリンダグループ番号ｃとヘッド番号ｈとにより特定される。シリンダグループ番号ｃとヘッド番号ｈとで特定されるトラックグループ内のトラックへのデータの書き込み（ライトアクセス）が行われると、カウントテーブル５００に保持されているライト回数（ライトカウンタ）Ｗ（ｈ，ｃ）が、書き込みが行われた回数だけインクリメントされる。
【００３９】
本実施形態では、ライトカウントテーブル５００は、前述のようにＲＡＭ１１３に格納される。ＲＡＭ１１３の内容はＨＤＤ１００の電源の遮断により失われる。したがって、ライトカウントテーブル５００の内容も電源遮断と共に失われる。このため本実施形態では、ライトカウントテーブル５００を含む、ＲＡＭ１１３内の予め定められた領域の内容は、必要に応じて（例えばＨＤＤ１００の省電力状態への移行時に）、ディスク１０１の所定領域、例えばセキュリティエリア１０１ａに保存（退避）される。このディスク１０１の所定領域に保存されたカウントテーブル５００を含む内容は、ＨＤＤ１００の起動時（電源投入時）に読み出されて、ＲＡＭ１１３内に復元される。
【００４０】
図４はトラックグループ毎の暗号鍵の識別情報を保持するキーテーブル６００のデータ構造例を示す。キーテーブル６００は、例えばディスク１０１の記録面のセキュリティエリア１０１ａに、識別情報ＩＤ（ｈ，ｃ）に対応する鍵情報とともに格納される。例えば、鍵情報は予め所定数用意され、初期状態では各トラックグループに対してランダムに割当てられる。そして、暗号鍵を変更する場合は、識別情報ＩＤ（ｈ，ｃ）が変更される。変更はランダムに鍵を選択しても良いが、識別情報を順次１増加または減少し、サイクリックに変更しても良い。なお、上述したように必ずしも全てのデータが暗号化されるとは限らないので、暗号化を必要としないトラックグループには識別情報ＩＤ（ｈ，ｃ）は記憶されない。また、鍵と識別情報とを別々に格納することにより、鍵のセキュリティがさらに向上する。
【００４１】
次に、図１のＨＤＤ１００における全体的な動作について、図５のフローチャートを参照して説明する。  
まず、ＨＤＤ１００の電源が投入され、ＣＰＵ１１５の動作が開始されたものとする（ステップ７０１）、するとＣＰＵ１１５は、ＨＤＤ１００全体を対象とする初期化処理及び起動処理を行う（ステップ７０２）。起動処理が終わるとＣＰＵ１１５は、ＨＤＣ１１０を介してホストシステム２００からコマンドを受信できる状態になり、コマンド待ちループ（ステップ７０３乃至７０７）に入る。
【００４２】
ステップ７０３においてホストシステム２００からのコマンドの受信を確認すると、ＣＰＵ１１５は、ステップ７１２に分岐することでコマンド待ちループを抜け、ホストシステム２００からのコマンドに応じた処理を実行する。ステップ７１２においてＣＰＵ１１５は、ホストシステム２００からのコマンドがライトコマンドであるかを判定する。もし、そうであれば（ステップ７１２がＹＥＳ）、ＣＰＵ１１５は、ライトコマンドで指定されたライト処理を行う（ステップ７１３）。ライトコマンドがデータの暗号化を指定している場合は、リード・ライトブロック１２２により暗号化も行なう。
【００４３】
ライト処理（ステップ７１３）が完了したなら、ＣＰＵ１１５は、そのライト処理がライトカウントテーブル５００に反映されるように、当該テーブル５００を更新する（ステップ７１４）。つまりＣＰＵ１１５は、ライト処理がヘッドｈ、シリンダグループｃで特定されるトラックグループに対して行われた場合、ライトカウントテーブル５００内のライト回数Ｗ（ｈ，ｃ）をライト処理が反映されるように更新する。更に詳細に述べるならば、ＣＰＵ１１５は、ライトカウントテーブル５００内のライト回数Ｗ（ｈ，ｃ）に対してライトが行われた回数を加算する。ここでは通常は、１が加算される。但し、ライト処理でリトライが行われた場合には、当該リトライも通常のライト動作と同様に隣接トラックに影響するので、当該リトライの回数も併せて加算される。
【００４４】
ステップ７１４が実行されると、ライトコマンドの処理は完了する。そこでＣＰＵ１１５は、レジスタ類の更新、及びビジー状態の解除など、コマンドの終了処理を行い（ステップ７１５）、コマンド待ちループに戻る。
【００４５】
一方、受信したコマンドがライトコマンド以外であった場合（ステップ７１２がＮＯ）、ＣＰＵ１１５は、当該受信したコマンドに応じた処理（ステップ７２０）及びコマンドの終了処理（ステップ７１５）を行い、コマンド待ちループに戻る。
【００４６】
次に、コマンド待ちループにおけるステップ７０３で、コマンドを受信していないと判定されたものとする。この場合、アイドル時処理が行われる。また、ステップ７１５でコマンドの終了処理が行われた後も、アイドル時処理が行われる。アイドル時処理は、データリフレッシュ処理を含む。本実施形態においてＣＰＵ１１５は、データリフレッシュ処理の前に、当該データリフレッシュ処理を行うかを次のように判定する（ステップ７０４，７０５）。
【００４７】
まずステップ７０４においてＣＰＵ１１５は、データリフレッシュ処理を行わずにホストシステム２００からのコマンドを即座に実行する必要があるか、或いはリフレッシュ処理を回避すべき状況にあるかなどを総合的に判断する。コマンドを即座に実行する必要があるのは、例えば、ステップ７１５の直後にホストシステム２００からコマンドを受信した場合である。リフレッシュ処理を回避すべき状況は、例えば、外部からＨＤＤ１００に一定レベルを超える振動が加わった場合、ＨＤＤ１００の環境温度が、当該ＨＤＤ１００の動作が保証される温度範囲から外れた場合等、ＨＤＤ１００が悪条件下で用いられる場合である。
【００４８】
次にステップ７０５においてＣＰＵ１１５は、ステップ７０４での総合的な判断結果から、データリフレッシュ処理が実行可能かを判定する。データリフレッシュ処理を行うと判定された場合のみ、ＣＰＵ１１５はデータリフレッシュ処理を行う（ステップ７０６）。このステップ７０６の詳細については後述する。
【００４９】
ステップ７０６でのデータリフレッシュ処理が終了するか、ステップ７０５でデータリフレッシュ処理を行うべきでないと判定された場合には、ＣＰＵ１１５はステップ７０７を実行する。このステップ７０７においてＣＰＵ１１５は、省電力状態に遷移するための省電力処理を実行するかを判定し、実行する必要があるならば当該処理を実行する。省電力処理は、ヘッド１０２をディスク１０１上からアンロードさせるためのアンロード処理、及びまたは、ＳＰＭ１０３の回転を停止させるＳＰＭ停止処理のような処理を含む。
【００５０】
ステップ７０７で省電力処理が実行されると、ＣＰＵ１１５はステップ７０３に戻る。これに対し、ホストシステム２００からのコマンドを即座に実行する必要がある場合には、ステップ７０７で省電力処理を実行すべきでないと判定される。この場合、ＣＰＵ１１５は省電力処理を実行せずにステップ７０３に戻る。以後ＣＰＵ１１５は、ステップ７０３を含む上述の処理を繰り返す。
【００５１】
次に、上記ステップ７０６のデータリフレッシュ処理の詳細な手順について、図６のフローチャートを参照して説明する。
【００５２】
ＣＰＵ１１５は、図６のフローチャートで示されるデータリフレッシュ処理８０１において、リフレッシュ処理が中断されているトラックグループが存在するかを先ず判定する（ステップ８０２）。このステップ８０２は、トラックグループ内の所定のブロック数のブロック毎にリフレッシュ処理を中断できるようにしていることに関連する。
【００５３】
所定のブロック数のブロック毎にリフレッシュ処理を中断可能とする理由は、トラックグループ内の全てのトラックのデータをリフレッシュするには時間がかかるので、リフレッシュ処理の間に受信されたホストシステム２００からのコマンドへの応答性を低下させないためである。つまり本実施形態では、リフレッシュ処理の実行中にホストシステム２００からのコマンドが受信された場合、当該コマンドの実行を優先させるために、当該リフレッシュ処理が中断される。
【００５４】
リフレッシュ処理が中断されているトラックグループが存在するならば（ステップ８０２がＹＥＳ）、そのことはリフレッシュの対象となるトラックグループ（以下、リフレッシュトラックグループと称する）が決まっていることを意味する。この場合、ＣＰＵ１１５は、データリフレッシュ動作を実行するため、先ず、リフレッシュトラックグループのデータ（リフレッシュデータ）をリードする（ステップ８０５）。リードデータが暗号化されている場合（キーテーブル６００の対応するトラックグループのエリアに暗号鍵の識別情報が格納されている場合）、ステップ８０６でその識別情報に応じた暗号鍵データの復号処理を行い、元データを復元する。ステップ８０７で当該トラックグループの暗号鍵を変更（キーテーブル６００のＩＤ（ｉ，ｊ）を書換え）し、新しい鍵を用いて当該元データを暗号化する。ステップ８０８で暗号化データを所定の予備エリア（バックアップトラックと称する）にライトする。バックアップトラックは例えばディスク１０１の外周側、あるいは最外周のトラックである。ステップ８０９で元のトラックグループに書き戻す。これにより、データリフレッシュ毎に暗号化の鍵が変更され、暗号化データのセキュリティが向上する。また、書き戻すデータはバックアップトラックに保持されているので、データを元のトラックグループに書き戻し中に電源が遮断され、書き戻し中のデータがライト中断になり再生できなくなったとしても、バックアップトラックからデータをリードし、再度書き戻しが出来る。このため、データリフレッシュ中にデータが消えることが防止される。
【００５５】
リードデータが暗号化されていない場合、ステップ８０６、８０７は実行されず、ステップ８０８でリードデータがそのままバックアップトラックにライトされ、ステップ８０９でリードデータがそのまま元のトラックグループに書き戻される。
【００５６】
一方、リフレッシュ処理が中断されているリフレッシュトラックグループが存在しないならば（ステップ８０２がＮＯ）、ＣＰＵ１１５は新たなリフレッシュトラックグループをライトカウントテーブル５００に基づいて探す（ステップ８０３）。ここではＣＰＵ１１５は、ライトカウントテーブル５００内で値の最も大きいライト回数Ｗ（ｈ，ｃ）を検索する。そしてＣＰＵ１１５は、検索されたライト回数Ｗ（ｈ，ｃ）が予め定められた一定値を超えているかによって、リフレッシュ処理が必要なトラックグループが存在するかを判定する（ステップ８０４）。
【００５７】
検索されたライト回数Ｗ（ｈ，ｃ）が一定値を超えている場合、ＣＰＵ１１５は、リフレッシュ処理が必要なトラックグループが存在し、そのトラックグループが当該ライト回数Ｗ（ｈ，ｃ）と対応付けられているトラックグループ（ヘッド番号ｈ、シリンダグループ番号ｃで表されるトラックグループ）であると判定する（ステップ８０４がＹＥＳ）。このように、リフレッシュ処理が必要なトラックグループ（つまりリフレッシュ処理が行われるべきリフレッシュトラックグループ）が存在すると判定される場合、そのトラックグループ（つまり値の最も大きいライト回数Ｗ（ｈ，ｃ）と対応付けられているトラックグループ）も特定される。この後、ステップ８０５のリフレッシュデータのリード動作以降の動作が実施される。
【００５８】
これに対し、検索されたライト回数Ｗ（ｈ，ｃ）が一定値以下の場合、ＣＰＵ１１５は、リフレッシュ処理が必要なトラックグループは存在しないと判断する（ステップ８０４がＮＯ）。この場合、データリフレッシュ動作を制御する必要はないので、ＣＰＵ１１５はデータリフレッシュ処理８０１から元の処理にリターンする（ステップ８１４）。これにより図５のフローチャートにおけるステップ７０７が実行される。
【００５９】
次にＣＰＵ１１５は、データリフレッシュ動作（ステップ８０９）が完了すると、データリフレッシュ処理の中断要求があるかを判定する（ステップ８１０）。ホストシステム２００からのコマンドの受信は、データリフレッシュ処理の中断要求を判定する条件の１つである。ＨＤＣ１１０内のホストブロック１２３がホストシステム２００からコマンドを受信すると、当該ホストブロック１２３のハードウェアの機能によりＨＤＤ１００は即座にビジー状態に遷移する。同時に、このビジー状態を表すフラグ（ビジーフラグ）がセットされる。そこでＣＰＵ１１５は、ステップ８１０でビジーフラグの状態をチェックする。
【００６０】
なお、ビジーフラグのセットはデータリフレッシュ動作が実行中であるかに関係なく行われる。したがって、ホストシステム２００から認識されるコマンドの応答時間は、当該コマンドを発行してからその際に実行中のデータリフレッシュ動作が完了するまでの時間と本来のコマンド実行時間との合計となる。このことから、ホストシステム２００からのコマンドが受信された場合に、リフレッシュトラックグループを対象とする全てのリフレッシュが終わるまで待つと、当該コマンドへの応答性を低下させてしまう。
【００６１】
そこで本実施形態では、コマンドへの応答性の低下を回避するために、リフレッシュブロックのリフレッシュが完了する毎に、上述のようにデータリフレッシュ処理の中断要求があるかが判定される（ステップ８１０）。そして、データリフレッシュ動作の実行中にホストシステム２００からのコマンドが受信された場合のように、データリフレッシュ処理の中断要求があるならば（ステップ８１０がＹＥＳ）、ＣＰＵ１１５は元の処理にリターンする（ステップ８１４）。つまりＣＰＵ１１５は、ホストシステム２００からのコマンドのための処理を開始させるため、速やかにデータリフレッシュ処理を中断させてステップ７０６（図５参照）を終了させる。
【００６２】
ＣＰＵ１１５はステップ７０６を終了させるとステップ７０７を実行する。このステップ７０７においても、ＣＰＵ１１５は、速やかにステップ７０３に分岐させてホストシステム２００からのコマンドのための処理を開始させるため、ステップ８１０と同様な処理を行う。
【００６３】
一方、データリフレッシュ処理の中断要求がない場合（ステップ８１０がＮＯ）、ＣＰＵ１１５は、リフレッシュトラックグループを対象とするリフレッシュを全て完了したかを判定する（ステップ８１１）。リフレッシュトラックグループを対象とするリフレッシュが完了していなければ（ステップ８１１がＮＯ）、ＣＰＵ１１５はステップ８０５に戻って、データリフレッシュ動作の制御を継続して行う。これに対し、リフレッシュトラックグループを対象とするリフレッシュを全て完了しているならば（ステップ８１１がＹＥＳ）、ＣＰＵ１１５はステップ８１２に分岐することでステップ８０６，８１０及び８１１の処理ループ（トラックグループ処理ループ）を抜ける。
【００６４】
ステップ８１２においてＣＰＵ１１５は、リフレッシュトラックグループを対象とするリフレッシュ処理が全て完了し、処理中のトラックグループが存在しないことを表すため、リフレッシュ管理情報をクリアする。リフレッシュ管理情報をクリアすることにより、後述するステップ８１３からステップ８０２に戻った際に、当該ステップ８０２での判定を正しく行うことが可能となる。
【００６５】
ＣＰＵ１１５はステップ８１２を実行すると、リフレッシュ処理が完了したリフレッシュトラックグループに対応付けてライトカウントテーブル５００に保持されているライト回数Ｗ（ｈ，ｃ）を、０に初期化（つまりクリア）する（ステップ８１３）。
【００６６】
ライトカウントテーブル５００に保持されているトラックグループ毎のライト回数Ｗ（ｈ，ｃ）は、そのトラックグループへのライト動作の実行回数を示す。ライト回数Ｗ（ｈ，ｃ）は、当該ライト回数Ｗ（ｈ，ｃ）と対応付けられているトラックグループにおけるデータの劣化の程度と相関がある。そのため本実施形態では、ライト回数Ｗ（ｈ，ｃ）は便宜的にデータ劣化の程度として扱われる。
【００６７】
リフレッシュトラックグループを対象とするリフレッシュ処理が完了した直後は、当該グループにおけるデータの劣化はない。このことを、リフレッシュ処理が完了したリフレッシュトラックグループに対応付けられたライト回数Ｗ（ｈ，ｃ）に反映させるために、上述のように当該ライト回数Ｗ（ｈ，ｃ）が０に初期化される（ステップ８１３）。
【００６８】
ＣＰＵ１１５は、ステップ８１３を実行すると、再びステップ８０２に分岐して次のトラックグループに対する処理を開始する。この場合、ステップ８０２からの分岐先は常にステップ８０３になり、リフレッシュを必要とするトラックグループを検索するための動作を含む処理が上述の場合と同様に行われる。リフレッシュ処理の中断要求がなければ、リフレッシュトラックグループを対象とするリフレッシュ処理が終了するのは、それを必要とするトラックグループがなくなった場合のみである（ステップ８０４がＮＯ）。
【００６９】
以上説明したように本実施形態によれば、ハードディスク装置のデータリフレッシュ時に、リードしたリフレッシュデータを復号し、別の暗号鍵を用いて暗号化したデータを書き戻すことにより、自動的かつ確実に暗号鍵が更新され、暗号化データのセキュリティが向上する。また、データリフレッシュ動作はデータリード、データライトを含むので、暗号鍵の変更のためだけにデータリード、データライトを行なう必要が無い。通常のデータリフレッシュ動作に対して暗号化データの復号、元データの再暗号化処理を付け加えるだけで良いので、データリフレッシュ及び鍵の更新のためにデータリード、データライトを二重に行なう必要がない。従って、少ない処理量で短時間に暗号鍵の更新ができるので、ハードディスク装置の処理に負担を与えることがない。
【００７０】
変形例
本発明は上述した実施の形態に限定されず、種々変形して実施可能である。例えば、実施の形態では、暗号鍵の変更をデータリフレッシュ時に行なった例を説明しているが、データリフレッシュ時に行なうことに限定されるものではなく、他のタイミングでも行なっても良い。例えば、データリフレッシュ処理７０６の実施の間隔を計り、前回のデータリフレッシュから所定時間以上経過した場合は、データリフレッシュ処理７０６の実施に係わりなく、強制的に暗号鍵の変更、すなわち図６のステップ８０５〜８０９を行なっても良い。本発明は少なくともデータリフレッシュと同時に暗号鍵の変更を行なうものである。
【００７１】
一般的にハードディスク装置はＳＭＡＲＴ機能（Self-Monitoring, Analysis and Reporting Technology）と呼ばれるハードディスク装置が自己監視・分析・報告をする機能を備えている。このＳＭＡＲＴ機能の中にはハードディスク装置が自身の各種の機能テストを行なうセルフテスト機能が含まれ、セルフテスト時にはディスクの全面がスキャンされる。全面スキャン時にはディスクのデータを全てリードするので、このリードデータを復号、再暗号化して書き戻すことにより、暗号鍵の更新が可能である。すわわち、セルフテスト時にも、図６のステップ８０５〜８０９を行なっても良い。また、ディスク固定型のハードディスク装置について説明したが、磁気ディスクとコントローラが別体の磁気ディスク装置についても適用可能である。
【００７２】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【００７３】
また、上述の説明は個々の実施例それぞれについて行ったが、複数の実施例を適宜組み合わせてもよい。
【符号の説明】
【００７４】
１００…磁気ディスク装置（ＨＤＤ）、１０１…ディスク、１０２…ヘッド、１１３…ＲＡＭ、１１４…フラッシュＲＯＭ、１１５…ＣＰＵ（コントローラ）、２００…ホストシステム、２０１…トラック、５００…ライトカウントテーブル、６００…キーテーブル。
【図１】
2010178140.tif 000003
【図２】
2010178140.tif 000004
【図３】
2010178140.tif 000005
【図４】
2010178140.tif 000006
【図５】
2010178140.tif 000007
【図６】
2010178140.tif 000008
【手続補正書】
【提出日】平成22年3月8日(2010.3.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
暗号化データを記録するための磁気ディスクと、
前記磁気ディスクからの暗号化データの読み出しおよび前記磁気ディスクへの暗号化データの書き込みを行うための磁気ヘッドと、
前記磁気ヘッドに接続される記録再生モジュールとを具備する磁気ディスク装置において、
前記記録再生モジュールは前記磁気ディスクの所定のエリアから暗号化データを読み出し、読み出されたデータを復号し、復号されたデータを更新された暗号鍵を用いて再暗号化し、再暗号化データを前記磁気ディスクの前記所定のエリアへ再書き込みする磁気ディスク装置。
【請求項２】
前記記録再生モジュールは
前記磁気ディスクのエリアの書き込み回数を計数し、書き込み回数が所定回数以上であるかを判定する判定モジュールと、
前記判定モジュールが書き込み回数が所定回数以上であると判定した場合、当該エリアから暗号化データを読み出し、読み出したデータを復号し、復号したデータを更新された暗号鍵を用いて再暗号化し、再暗号化データを当該エリアに再書き込みする更新モジュールと、
を具備する請求項１記載の磁気ディスク装置。
【請求項３】
前記更新モジュールは、
所定個の暗号鍵を格納する鍵格納モジュールと、
エリアの暗号鍵を示す情報を格納するテーブルとを具備し、
暗号化データを読み出し復号した後、前記テーブルの情報を更新する請求項２記載の磁気ディスク装置。
【請求項４】
前記鍵格納モジュールと前記テーブルは前記磁気ディスクのセキュリティエリアに設けられている請求項３記載の磁気ディスク装置。
【請求項５】
前記更新モジュールは、更新された暗号鍵による再暗号化データを前記エリアとは別のバックアップエリアに書き込んだ後、前記エリアに再書き込みする請求項２記載の磁気ディスク装置。
【請求項６】
前記エリアはトラックを含み、バックアップエリアは所定数のトラックである請求項２記載の磁気ディスク装置。
【請求項７】
前記磁気ディスクのセルフテストを行なうテストモジュール手段と、
前記セルフテスト時に読み出した暗号化データを復号し、復号したデータを更新された暗号鍵を用いて再暗号化し、再暗号化データを再書き込みする第２更新モジュールと、
をさらに具備することを特徴とする請求項２記載の磁気ディスク装置。
【請求項８】
磁気ディスクから暗号化データを読み出して、暗号化データを前記磁気ディスクへ書き込む記録再生装置において、
前記磁気ディスクの所定のエリアからデータを読み出して、読み出したデータを復号し、復号データを更新された暗号鍵を用いて再暗号化し、再暗号化データを前記磁気ディスクの前記所定のエリアへ再書き込みするデータリフレッシュモジュールを具備する記録再生装置。
【請求項９】
磁気ディスクのエリアの書き込み回数を計数し、書き込み回数が所定回数以上であるかを判定する判定モジュールと、
前記判定モジュールが書き込み回数が所定回数以上であると判定した場合、当該エリアから暗号化データを読み出し、暗号化データを復号し、復号したデータを更新した暗号鍵を用いて再暗号化し、暗号化データを当該エリアに再書き込みする更新モジュールと、
を具備する請求項８記載の記録再生装置。
【請求項１０】
前記更新モジュールは、
所定個の暗号鍵を格納する鍵格納モジュールと、
エリアの暗号鍵を示す情報を格納するテーブルとを具備し、
暗号化データを読み出し復号した後、前記テーブルの情報を更新する請求項９記載の記録再生装置。
【請求項１１】
前記更新モジュールは、変更した鍵による再暗号化データを前記所定のエリアとは別のバックアップエリアに書き込みした後、暗号化データを前記所定のエリアに再書き込みする請求項９記載の記録再生装置。
【請求項１２】
前記磁気ディスクのセルフテストを行なうテストモジュールと、
前記セルフテスト時に読み出した暗号化データを復号し、復号したデータを暗号化の鍵を変更して再暗号化し、再暗号化データを同じエリアに再書き込みする第２更新モジュールと、
をさらに具備する請求項８記載の記録再生装置。
【請求項１３】
磁気ディスクに記憶されている暗号化データの暗号鍵の更新方法であって、
前記磁気ディスクのエリアの書き込み回数を計数し、書き込み回数が所定回数以上であるかを判定することと、
書き込み回数が所定回数以上であると判定された場合、磁気ディスクの当該エリアから暗号化データを読み出し、読み出したデータを復号し、復号したデータを更新された暗号鍵を用いて再暗号化し、再暗号化データを前記磁気ディスクのエリアへ再書き込みすることと、
を具備する暗号鍵更新方法。
【請求項１４】
再暗号化データを前記エリアとは別のバックアップエリアに書き込み後、再暗号化データを前記エリアに再書き込みする請求項１３記載の暗号鍵更新方法。
【請求項１５】
前記磁気ディスクのセルフテストを行なうことと、
前記セルフテスト時に読み出した暗号化データを復号し、復号したデータを以前の暗号化に対して更新された暗号鍵を用いて再暗号化し、再暗号化データを再書き込みすることと、
をさらに具備する請求項１３記載の暗号鍵更新方法。