JP2011087313A - 情報記録装置及び情報記録方法 - Google Patents
情報記録装置及び情報記録方法 Download PDFInfo
- Publication number
- JP2011087313A JP2011087313A JP2010269316A JP2010269316A JP2011087313A JP 2011087313 A JP2011087313 A JP 2011087313A JP 2010269316 A JP2010269316 A JP 2010269316A JP 2010269316 A JP2010269316 A JP 2010269316A JP 2011087313 A JP2011087313 A JP 2011087313A
- Authority
- JP
- Japan
- Prior art keywords
- data
- recording
- write
- refresh
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】暗号化データを記録する磁気ディスク装置において暗号化データの暗号鍵を確実に、かつ処理の負担を増大すること無く更新することを目的とする。
【解決手段】暗号化データを記録するための磁気ディスクと、磁気ディスクに対してデータのリード又はライトを行なう磁気ヘッドと、磁気ヘッドに接続され、データのリード処理又はデータのライト処理を行う記録再生回路とを具備する磁気ディスク装置において、記録再生回路は磁気ディスクのデータを読み出して、同じ場所に書き戻すデータリフレッシュ機能を有し、データリフレッシュ動作により読み出されたデータを復号し、暗号鍵を変更して再度暗号化し、該暗号化データを書き戻すことを特徴とする。
【選択図】図6
【解決手段】暗号化データを記録するための磁気ディスクと、磁気ディスクに対してデータのリード又はライトを行なう磁気ヘッドと、磁気ヘッドに接続され、データのリード処理又はデータのライト処理を行う記録再生回路とを具備する磁気ディスク装置において、記録再生回路は磁気ディスクのデータを読み出して、同じ場所に書き戻すデータリフレッシュ機能を有し、データリフレッシュ動作により読み出されたデータを復号し、暗号鍵を変更して再度暗号化し、該暗号化データを書き戻すことを特徴とする。
【選択図】図6
Description
本発明は暗号化データを記録する情報記録装置及び情報記録方法に関する。
従来の磁気ディスク装置等のストレージシステムはデータを長期に確実に保存するためにデータを暗号化して記憶している。しかし、暗号化アルゴリズムは技術の進歩の影響を受け易く、現在は事実上アクセス不能と考えられている暗号化方式(一般にはデータを暗号化し復号する暗号化基準)が数年後には破られる可能性がある。この一つの解決方法としては、このような時が到来したら、より強い暗号化を適用する、例えば暗号鍵を長くする、より進歩した暗号化アルゴリズムを用いる、あるいはこれらの両方を用いる等して、暗号化方式を更新することがある(例えば、特許文献1参照)。
この文献に記載のストレージシステムは記憶されたデータを第1の暗号化から第2の暗号化に変換することを含む。物理ストレージは1から始まる番号が順番に付けられた複数のブロックで構成される。変換処理はブロック毎に行われ、第1の暗号化基準に従って暗号化されたブロックを第2の暗号化基準に従って暗号化されたブロックへ変換する。データは最初は第1の基準で暗号化されている。データブロックが読み出され、第1の基準を用いて復号される。復号されたデータブロックに第2の暗号化基準が適用され、第2の暗号化基準に従って暗号化されたデータブロックが元の読み出されたブロック位置に書き戻される。ブロックは連続して番号が付けられており、変換処理は最小のブロック番号から昇順に進行する。
しかしながら、特許文献1記載のシステムは第1の暗号化から第2の暗号化への変換のタイミングは特定していない。ホストデバイスは何らかのタイミングで暗号化の変換処理を指令しなければならない。指令がないと、変換処理は開始されない。そのため、特許文献1記載のシステムでは確実に暗号化の変換がなされると言う保証がない。また、データを読み出し、復号し、別の基準で暗号化してから同じ位置に書き戻す処理は、処理量が多く、処理時間がかかり、システムの本来の処理に支障を来たす恐れがある。
上記の課題を解決するために、本発明は暗号化データを記録する情報記録装置において暗号化データの暗号鍵を確実に、かつ処理の負担を増大すること無く更新することを目的とする。
本発明の一態様によれば、暗号化データを記録する複数の記録領域を含む記録媒体の記録領域毎の暗号鍵を記憶する記憶手段と、前記記憶手段に記憶されている暗号鍵を用いて前記記録媒体に対してデータのリード又はライトを行なう記録再生手段とを具備する情報記録装置が提供される。
本発明の他の態様によれば、暗号化データを記録する複数の記録領域を含む記録媒体の記録領域毎の暗号鍵を記憶し、前記暗号鍵を用いて前記記録媒体に対してデータのリード又はライトを行なう情報記録方法が提供される。
本発明はデータリフレッシュ時に、リードしたリフレッシュデータを復号し、別の暗号鍵を用いて暗号化したデータを書き戻すことにより、自動的かつ確実に暗号鍵が更新され、暗号化データのセキュリティが向上する効果を奏する。また、データリフレッシュ動作はデータリード、データライトを含むので、暗号鍵の変更のためだけにデータリード、データライトを行なう必要が無く、少ない処理量で短時間に暗号鍵の更新ができるので、磁気ディスク装置の処理に負担を与えることがない。
以下、図面を参照して本発明の実施の形態について詳細に説明する。
図1は本発明の一実施形態に係る磁気ディスク装置(HDD)の構成を示すブロック図である。図1に示されるHDD100は、ホストシステム200からの要求に応じてディスク(磁気ディスク)101の記録面上にデータ(暗号化データを含む)を書き込み、或いは当該記録面からデータを読み出すための記憶装置である。ホストシステム200は、HDD100を記憶装置として利用するパーソナルコンピュータのような電子機器である。
ディスク101はスピンドルモータ(SPM)103に固定されており、SPM103が駆動されることにより一定の速度で回転する。ディスク101の例えば一方のディスク面は、データが磁気記録される記録面をなしている。ヘッド(磁気ヘッド)102はディスク101の記録面に対応して配置される。ヘッド102はアクチュエータ105の一端に固定されている。アクチュエータ105の他端はボイスコイルモータ(VCM)104に固定されている。ヘッド102は、VCM104が駆動されることにより、VCM104の軸を中心とした円弧軌道のうちディスク101の面に重なる範囲を移動する。
図1の構成では、単一枚のディスク101を備えたHDD100を想定している。しかし、複数のディスク101がある間隙をもった状態でSPM103に固定された構成であっても構わない。この場合、複数のアクチュエータ105が、複数のディスク101の間隙に適合するように重なった状態でVCM104に固定される。複数のアクチュエータ105の一端にはそれぞれヘッド102が固定されている。したがってSPM103が駆動されると、全てのディスク101は同時に回転し、VCM104が駆動されると、全てのヘッド102は同時に移動する。また、図1の構成では、ディスク101の一方の面が記録面をなしている。しかし、ディスク101の両面がいずれも記録面をなし、両記録面にそれぞれ対応してヘッド102が配置されても構わない。
図2はディスク101のトラック配置を含むフォーマットを示す概念図である。
図2において、ディスク101の記録面には、複数のトラック201が同心円状に配置されている。ホストシステム200からHDD100が受け取ったデータは、当該ホストシステム200によって指定されたアドレスに応じ、複数のトラック201の少なくとも1つに記録される。
図2において、ディスク101の記録面には、複数のトラック201が同心円状に配置されている。ホストシステム200からHDD100が受け取ったデータは、当該ホストシステム200によって指定されたアドレスに応じ、複数のトラック201の少なくとも1つに記録される。
また、ディスク101の複数のトラック201上にはサーボ領域202及びデータ領域203が交互に且つ等間隔に配置されている。サーボ領域202には、ヘッド102の位置決めに用いられるサーボ信号が記録されている。データ領域203は、ホストシステム200から転送されるデータを記録するのに用いられる。
ディスク101には、CDR(constant density recording)と呼ばれる記録フォーマットが適用されている。このCDRフォーマットを適用するディスク101の記録面は、当該ディスク101の半径方向に複数のゾーン(CDRゾーン)に分割して管理される。各ゾーンのトラック(シリンダ)当たりのデータセクタ(以下、単にセクタと称する)の数は、ディスク101の外周側のゾーンほど多く設定されている。
再び図1を参照すると、CPU115はHDD100の主コントローラとして機能する。CPU115はモータドライバ106を介してSPM103の起動・停止及び回転速度維持のための制御を行う。CPU115はまたモータドライバ106を介してVCM104を駆動制御することで、ヘッド102を目標とするトラックに移動させて、当該トラックの目標とする範囲内に整定するための制御を行う。ヘッド102を目標とするトラックに移動させる制御はシーク制御と呼ばれ、ヘッド102を目標とするトラックの目標とする範囲内に整定する制御はヘッド位置決め制御と呼ばれる。CPU115は更に、ディスク101のトラック201に書き込まれているデータをリフレッシュするための制御(データリフレッシュ処理)を行う。
ヘッド102の位置決めはSPM103の起動後の定常回転状態で行われる。上述のように、サーボ領域202はディスク101の円周方向に等間隔に配置されている。このため、ヘッド102によってディスク101から読み出され、ヘッドIC107で増幅されたアナログ信号中には、サーボ領域202に記録されているサーボ信号が時間的に等間隔に現れることになる。リード・ライトIC108(リード・ライトIC108に含まれているサーボブロック121)とゲートアレイ109とは、この状態を利用して上記アナログ信号を処理することにより、ヘッド102の位置決めのための信号を生成する。CPU115はこの信号をもとにモータドライバ106を制御することにより、当該モータドライバ106からVCM104に、ヘッド102の位置決めのための電流(VCM電流)をリアルタイムで供給させる。
CPU115は、上述のようにモータドライバ106を介してSPM103及びVCM104を制御する一方で、HDD100内の他の要素の制御及びコマンド処理などを行う。CPU115はCPUバス112に接続されている。
CPUバス112には、リード・ライトIC108、ゲートアレイ109、ディスクコントローラ(HDC)110、RAM113及びフラッシュROM114が接続されている。フラッシュROM114は、書き換え可能な不揮発性メモリである。ここでは、フラッシュROM114の書き換えは、CPU115からの制御により行われる。
フラッシュROM114には、CPU115が実行すべきプログラムが予め格納されている。CPU115による上述の制御は、当該CPU115が上記プログラムを実行することにより実現される。
RAM113は、例えばCPU115が使用する種々の変数を格納するのに用いられる。RAM113の記憶領域の一部は、CPU115のワーク領域として用いられる。RAM113の記憶領域の他の一部は、トラックグループ毎のライト回数(データライト回数、ライト実行回数)を保持するライトカウントテーブル500(図3参照)を格納するのに用いられる。
リード・ライトIC108は、サーボブロック121とリード・ライトブロック122とを有する。サーボブロック121は、サーボ信号の抽出を含む、ヘッド102の位置決めに必要な信号処理を行う。リード・ライトブロック122は、データの読み出し・書き込みのための信号処理(暗号化・復号処理を含む)を行う。ゲートアレイ109は、サーボブロック121によるサーボ信号の抽出のための信号を含む、制御用の諸信号を生成する。
HDC110は、CPUバス112以外に、リード・ライトIC108、ゲートアレイ109及びバッファRAM111に接続されている。HDC110は、ホストブロック123、リード・ライトブロック124及びバッファブロック125を有する。ホストブロック123は、ホストシステム200から転送されるコマンド(ライトコマンド、リードコマンド等)を受信し、且つホストとHDC110との間のデータ転送を制御する、ホストインタフェース制御機能を有する。リード・ライトブロック124は、リード・ライトIC108及びゲートアレイ109と接続され、リード・ライトIC108を介して行われるデータの読み出し(復号)・書き込み(暗号化)処理を行う。バッファブロック125は、バッファRAM111を制御する。バッファRAM111の記憶領域の一部は、HDC110(HDC110内のリード・ライトブロック124)を介してディスク101に書き込まれるべきデータ(ライトデータ)を一時格納するためのライトバッファとして用いられる。バッファRAM111の記憶領域の別の一部は、HDC110を介してディスク101から読み出されたデータ(リードデータ)を一時格納するためのリードバッファとして用いられる。
リード・ライトIC108、ゲートアレイ109、及びHDC110は、それぞれ制御用レジスタを有する。これらの制御用レジスタは、それぞれCPU115のメモリ空間の一部に割り当てられており、CPU115はこの一部の領域に対してアクセスすることで、制御用レジスタを介してリード・ライトIC108、ゲートアレイ109、またはHDC110を制御する。
ディスク101の記録面にはHDD100内のコントローラであるCPU115からはアクセスできるが、ホストシステム200からはアクセスできないセキュリティエリア101aが設けられ、後述するトラックグループ毎の暗号鍵の識別情報を保持するキーテーブルが格納されている。
図1のHDD100において、データの読み出しは次のように行われる。まずヘッド102によってディスク101から読み出された信号(アナログ信号)は、ヘッドIC107によって増幅される。増幅されたアナログ信号はリード・ライトIC108によってサーボ信号とデータ信号とに分離される。データ信号はリード・ライトIC108内のリード・ライトブロック122で復号化された後HDC110に送られる。HDC110内のリード・ライトブロック124は、復号化されたデータ信号をゲートアレイ109からの制御用の信号に従って処理することにより、ホストシステム200に転送すべきデータを生成する。ここでの処理は、後述するECCデータに基づくデータの誤りの検出と誤りの訂正とを含む。生成されたデータは、HDC110内のバッファブロック125によって一旦バッファRAM111に格納されてから、当該HDC110内のホストブロック123によってホストシステム200に転送される。
図1のHDD100において、データの書き込みは次のように行われる。ホストシステム200からHDC110に転送されたデータは、当該HDC110内のホストブロック123で受信された後、当該HDC110内のバッファブロック125によって一旦バッファRAM111に格納される。バッファRAM111に格納されたデータは、バッファブロック125によって取り出された後、ゲートアレイ109からの制御用の信号に従ってHDC110内のリード・ライトブロック124によってリード・ライトIC108へ送られる。リード・ライトIC108に送られたデータは、当該リード・ライトIC108内のリード・ライトブロック122によって符号化された後、暗号化される。暗号化されたデータはヘッドIC107を介してヘッド102に送られて、当該ヘッド102によってディスク101に書き込まれる。上述のデータの読み出し/書き込みは、CPU115の制御の下で行われる。なお、HDD100に書き込む全てのデータを必ずしも暗号化する必要は無く、セキュリティレベルの低いデータは符号化のみで暗号化せずに書き込んでも良い。
HDD100は、近年の高容量化に伴い、高記録密度化、高トラック密度化が進んでいる。高トラック密度化により、ディスク上で隣接するトラック(記録トラック)間の間隔(つまりトラックピッチ)が狭小化されている。各トラックはヘッド(ヘッドに含まれる書き込み素子)の幅と同じ幅を持つ。しかし、データ書き込み時にヘッドによって生成される磁界(記録磁界)の分布の幅は必ずしも当該ヘッドの幅に一致せず、その周辺にも磁界が加わる(漏れる)状態となる。この状態は、ライトフリンジングと呼ばれる。
このため、トラックピッチが狭小化されると、データが書き込まれるべきトラックにヘッドを位置付けてデータを書き込む際に、当該トラックに対するヘッドの位置決め誤差及びライトフリンジングの影響により、隣接するトラックに書き込まれているデータ(記録データ)の劣化が発生する可能性がある。記録データ(記録信号)の劣化が繰り返し発生すると、その記録データの読み出しが非常に困難になる。つまり、誤り訂正符号(ECC)を最大限に用いて記録データの修復を試みても、当該記録データを修復することが困難となる。
そこで、記録データの劣化により当該記録データの読み出しが不能になる前に、当該記録データの劣化を回復するためのデータリフレッシュ(書き直し)が必須になりつつある。データリフレッシュは、劣化した記録データをトラックから読み出し、当該読み出されたデータを当該トラックの元の記憶領域に書き戻すことで、当該記録データを正常な状態に戻す動作として知られている。
次に、図1のHDD100で実行されるデータリフレッシュ動作の概要について説明する。本実施形態では、ディスク101の記録面に配置されたトラック201の集合は予め定められた一定数のトラックを単位にグループ化されて、グループ単位でデータリフレッシュ動作が行われる。このグループを、トラックグループと称する。ここでは、トラックグループ毎に、そのトラックグループ全体へのデータライト動作の総数(ライト回数)がカウントされる。このカウント値が予め定められた一定値に達したならば、該当するトラックグループを対象とするデータフリフレッシュ処理が行われる。
図3はトラックグループ毎のライト回数(データライト回数、ライト実行回数)を保持するライトカウントテーブル500のデータ構造例を示す。ライトカウントテーブル500は、例えば図1におけるRAM113の所定の領域に格納される。
図3のライトカウントテーブル500の例では、説明の一般化のために、HDD100がm本のヘッド102を有すると共に、当該HDD100がp個のシリンダグループから構成される場合を想定している。この場合、ライトカウントテーブル500は、ヘッド(ヘッド番号)h、シリンダグループ(シリンダグループ番号)cを用いて表される全てのトラックグループの各々について、そのトラックグループへのデータライト動作の回数(ライト回数)W(h,c)(0≦h≦m−1,0≦c≦p−1)を保持している。W(h,c)はヘッド番号h及びシリンダグループ番号cで特定されるトラックグループへのライト回数をカウントするライトカウンタとして用いられる。なお、図1のHDD100の構成の場合、mは1である。
シリンダグループとは、予め定められた一定数のシリンダの集合であり、1シリンダグループ当たりのシリンダ数は、トラックグループ当たりのトラック数と同じである。したがって、同一のシリンダグループ番号を持つトラックグループは、HDD100内に、ヘッド102の数mに一致する数だけ存在する。トラックグループは、シリンダグループ番号cとヘッド番号hとにより特定される。シリンダグループ番号cとヘッド番号hとで特定されるトラックグループ内のトラックへのデータの書き込み(ライトアクセス)が行われると、カウントテーブル500に保持されているライト回数(ライトカウンタ)W(h,c)が、書き込みが行われた回数だけインクリメントされる。
本実施形態では、ライトカウントテーブル500は、前述のようにRAM113に格納される。RAM113の内容はHDD100の電源の遮断により失われる。したがって、ライトカウントテーブル500の内容も電源遮断と共に失われる。このため本実施形態では、ライトカウントテーブル500を含む、RAM113内の予め定められた領域の内容は、必要に応じて(例えばHDD100の省電力状態への移行時に)、ディスク101の所定領域、例えばセキュリティエリア101aに保存(退避)される。このディスク101の所定領域に保存されたカウントテーブル500を含む内容は、HDD100の起動時(電源投入時)に読み出されて、RAM113内に復元される。
図4はトラックグループ毎の暗号鍵の識別情報を保持するキーテーブル600のデータ構造例を示す。キーテーブル600は、例えばディスク101の記録面のセキュリティエリア101aに、識別情報ID(h,c)に対応する鍵情報とともに格納される。例えば、鍵情報は予め所定数用意され、初期状態では各トラックグループに対してランダムに割当てられる。そして、暗号鍵を変更する場合は、識別情報ID(h,c)が変更される。変更はランダムに鍵を選択しても良いが、識別情報を順次1増加または減少し、サイクリックに変更しても良い。なお、上述したように必ずしも全てのデータが暗号化されるとは限らないので、暗号化を必要としないトラックグループには識別情報ID(h,c)は記憶されない。また、鍵と識別情報とを別々に格納することにより、鍵のセキュリティがさらに向上する。
次に、図1のHDD100における全体的な動作について、図5のフローチャートを参照して説明する。
まず、HDD100の電源が投入され、CPU115の動作が開始されたものとする(ステップ701)、するとCPU115は、HDD100全体を対象とする初期化処理及び起動処理を行う(ステップ702)。起動処理が終わるとCPU115は、HDC110を介してホストシステム200からコマンドを受信できる状態になり、コマンド待ちループ(ステップ703乃至707)に入る。
まず、HDD100の電源が投入され、CPU115の動作が開始されたものとする(ステップ701)、するとCPU115は、HDD100全体を対象とする初期化処理及び起動処理を行う(ステップ702)。起動処理が終わるとCPU115は、HDC110を介してホストシステム200からコマンドを受信できる状態になり、コマンド待ちループ(ステップ703乃至707)に入る。
ステップ703においてホストシステム200からのコマンドの受信を確認すると、CPU115は、ステップ712に分岐することでコマンド待ちループを抜け、ホストシステム200からのコマンドに応じた処理を実行する。ステップ712においてCPU115は、ホストシステム200からのコマンドがライトコマンドであるかを判定する。もし、そうであれば(ステップ712がYES)、CPU115は、ライトコマンドで指定されたライト処理を行う(ステップ713)。ライトコマンドがデータの暗号化を指定している場合は、リード・ライトブロック122により暗号化も行なう。
ライト処理(ステップ713)が完了したなら、CPU115は、そのライト処理がライトカウントテーブル500に反映されるように、当該テーブル500を更新する(ステップ714)。つまりCPU115は、ライト処理がヘッドh、シリンダグループcで特定されるトラックグループに対して行われた場合、ライトカウントテーブル500内のライト回数W(h,c)をライト処理が反映されるように更新する。更に詳細に述べるならば、CPU115は、ライトカウントテーブル500内のライト回数W(h,c)に対してライトが行われた回数を加算する。ここでは通常は、1が加算される。但し、ライト処理でリトライが行われた場合には、当該リトライも通常のライト動作と同様に隣接トラックに影響するので、当該リトライの回数も併せて加算される。
ステップ714が実行されると、ライトコマンドの処理は完了する。そこでCPU115は、レジスタ類の更新、及びビジー状態の解除など、コマンドの終了処理を行い(ステップ715)、コマンド待ちループに戻る。
一方、受信したコマンドがライトコマンド以外であった場合(ステップ712がNO)、CPU115は、当該受信したコマンドに応じた処理(ステップ720)及びコマンドの終了処理(ステップ715)を行い、コマンド待ちループに戻る。
次に、コマンド待ちループにおけるステップ703で、コマンドを受信していないと判定されたものとする。この場合、アイドル時処理が行われる。また、ステップ715でコマンドの終了処理が行われた後も、アイドル時処理が行われる。アイドル時処理は、データリフレッシュ処理を含む。本実施形態においてCPU115は、データリフレッシュ処理の前に、当該データリフレッシュ処理を行うかを次のように判定する(ステップ704,705)。
まずステップ704においてCPU115は、データリフレッシュ処理を行わずにホストシステム200からのコマンドを即座に実行する必要があるか、或いはリフレッシュ処理を回避すべき状況にあるかなどを総合的に判断する。コマンドを即座に実行する必要があるのは、例えば、ステップ715の直後にホストシステム200からコマンドを受信した場合である。リフレッシュ処理を回避すべき状況は、例えば、外部からHDD100に一定レベルを超える振動が加わった場合、HDD100の環境温度が、当該HDD100の動作が保証される温度範囲から外れた場合等、HDD100が悪条件下で用いられる場合である。
次にステップ705においてCPU115は、ステップ704での総合的な判断結果から、データリフレッシュ処理が実行可能かを判定する。データリフレッシュ処理を行うと判定された場合のみ、CPU115はデータリフレッシュ処理を行う(ステップ706)。このステップ706の詳細については後述する。
ステップ706でのデータリフレッシュ処理が終了するか、ステップ705でデータリフレッシュ処理を行うべきでないと判定された場合には、CPU115はステップ707を実行する。このステップ707においてCPU115は、省電力状態に遷移するための省電力処理を実行するかを判定し、実行する必要があるならば当該処理を実行する。省電力処理は、ヘッド102をディスク101上からアンロードさせるためのアンロード処理、及びまたは、SPM103の回転を停止させるSPM停止処理のような処理を含む。
ステップ707で省電力処理が実行されると、CPU115はステップ703に戻る。これに対し、ホストシステム200からのコマンドを即座に実行する必要がある場合には、ステップ707で省電力処理を実行すべきでないと判定される。この場合、CPU115は省電力処理を実行せずにステップ703に戻る。以後CPU115は、ステップ703を含む上述の処理を繰り返す。
次に、上記ステップ706のデータリフレッシュ処理の詳細な手順について、図6のフローチャートを参照して説明する。
CPU115は、図6のフローチャートで示されるデータリフレッシュ処理801において、リフレッシュ処理が中断されているトラックグループが存在するかを先ず判定する(ステップ802)。このステップ802は、トラックグループ内の所定のブロック数のブロック毎にリフレッシュ処理を中断できるようにしていることに関連する。
所定のブロック数のブロック毎にリフレッシュ処理を中断可能とする理由は、トラックグループ内の全てのトラックのデータをリフレッシュするには時間がかかるので、リフレッシュ処理の間に受信されたホストシステム200からのコマンドへの応答性を低下させないためである。つまり本実施形態では、リフレッシュ処理の実行中にホストシステム200からのコマンドが受信された場合、当該コマンドの実行を優先させるために、当該リフレッシュ処理が中断される。
リフレッシュ処理が中断されているトラックグループが存在するならば(ステップ802がYES)、そのことはリフレッシュの対象となるトラックグループ(以下、リフレッシュトラックグループと称する)が決まっていることを意味する。この場合、CPU115は、データリフレッシュ動作を実行するため、先ず、リフレッシュトラックグループのデータ(リフレッシュデータ)をリードする(ステップ805)。リードデータが暗号化されている場合(キーテーブル600の対応するトラックグループのエリアに暗号鍵の識別情報が格納されている場合)、ステップ806でその識別情報に応じた暗号鍵データの復号処理を行い、元データを復元する。ステップ807で当該トラックグループの暗号鍵を変更(キーテーブル600のID(i,j)を書換え)し、新しい鍵を用いて当該元データを暗号化する。ステップ808で暗号化データを所定の予備エリア(バックアップトラックと称する)にライトする。バックアップトラックは例えばディスク101の外周側、あるいは最外周のトラックである。ステップ809で元のトラックグループに書き戻す。これにより、データリフレッシュ毎に暗号化の鍵が変更され、暗号化データのセキュリティが向上する。また、書き戻すデータはバックアップトラックに保持されているので、データを元のトラックグループに書き戻し中に電源が遮断され、書き戻し中のデータがライト中断になり再生できなくなったとしても、バックアップトラックからデータをリードし、再度書き戻しが出来る。このため、データリフレッシュ中にデータが消えることが防止される。
リードデータが暗号化されていない場合、ステップ806、807は実行されず、ステップ808でリードデータがそのままバックアップトラックにライトされ、ステップ809でリードデータがそのまま元のトラックグループに書き戻される。
一方、リフレッシュ処理が中断されているリフレッシュトラックグループが存在しないならば(ステップ802がNO)、CPU115は新たなリフレッシュトラックグループをライトカウントテーブル500に基づいて探す(ステップ803)。ここではCPU115は、ライトカウントテーブル500内で値の最も大きいライト回数W(h,c)を検索する。そしてCPU115は、検索されたライト回数W(h,c)が予め定められた一定値を超えているかによって、リフレッシュ処理が必要なトラックグループが存在するかを判定する(ステップ804)。
検索されたライト回数W(h,c)が一定値を超えている場合、CPU115は、リフレッシュ処理が必要なトラックグループが存在し、そのトラックグループが当該ライト回数W(h,c)と対応付けられているトラックグループ(ヘッド番号h、シリンダグループ番号cで表されるトラックグループ)であると判定する(ステップ804がYES)。このように、リフレッシュ処理が必要なトラックグループ(つまりリフレッシュ処理が行われるべきリフレッシュトラックグループ)が存在すると判定される場合、そのトラックグループ(つまり値の最も大きいライト回数W(h,c)と対応付けられているトラックグループ)も特定される。この後、ステップ805のリフレッシュデータのリード動作以降の動作が実施される。
これに対し、検索されたライト回数W(h,c)が一定値以下の場合、CPU115は、リフレッシュ処理が必要なトラックグループは存在しないと判断する(ステップ804がNO)。この場合、データリフレッシュ動作を制御する必要はないので、CPU115はデータリフレッシュ処理801から元の処理にリターンする(ステップ814)。これにより図5のフローチャートにおけるステップ707が実行される。
次にCPU115は、データリフレッシュ動作(ステップ809)が完了すると、データリフレッシュ処理の中断要求があるかを判定する(ステップ810)。ホストシステム200からのコマンドの受信は、データリフレッシュ処理の中断要求を判定する条件の1つである。HDC110内のホストブロック123がホストシステム200からコマンドを受信すると、当該ホストブロック123のハードウェアの機能によりHDD100は即座にビジー状態に遷移する。同時に、このビジー状態を表すフラグ(ビジーフラグ)がセットされる。そこでCPU115は、ステップ810でビジーフラグの状態をチェックする。
なお、ビジーフラグのセットはデータリフレッシュ動作が実行中であるかに関係なく行われる。したがって、ホストシステム200から認識されるコマンドの応答時間は、当該コマンドを発行してからその際に実行中のデータリフレッシュ動作が完了するまでの時間と本来のコマンド実行時間との合計となる。このことから、ホストシステム200からのコマンドが受信された場合に、リフレッシュトラックグループを対象とする全てのリフレッシュが終わるまで待つと、当該コマンドへの応答性を低下させてしまう。
そこで本実施形態では、コマンドへの応答性の低下を回避するために、リフレッシュブロックのリフレッシュが完了する毎に、上述のようにデータリフレッシュ処理の中断要求があるかが判定される(ステップ810)。そして、データリフレッシュ動作の実行中にホストシステム200からのコマンドが受信された場合のように、データリフレッシュ処理の中断要求があるならば(ステップ810がYES)、CPU115は元の処理にリターンする(ステップ814)。つまりCPU115は、ホストシステム200からのコマンドのための処理を開始させるため、速やかにデータリフレッシュ処理を中断させてステップ706(図5参照)を終了させる。
CPU115はステップ706を終了させるとステップ707を実行する。このステップ707においても、CPU115は、速やかにステップ703に分岐させてホストシステム200からのコマンドのための処理を開始させるため、ステップ810と同様な処理を行う。
一方、データリフレッシュ処理の中断要求がない場合(ステップ810がNO)、CPU115は、リフレッシュトラックグループを対象とするリフレッシュを全て完了したかを判定する(ステップ811)。リフレッシュトラックグループを対象とするリフレッシュが完了していなければ(ステップ811がNO)、CPU115はステップ805に戻って、データリフレッシュ動作の制御を継続して行う。これに対し、リフレッシュトラックグループを対象とするリフレッシュを全て完了しているならば(ステップ811がYES)、CPU115はステップ812に分岐することでステップ806,810及び811の処理ループ(トラックグループ処理ループ)を抜ける。
ステップ812においてCPU115は、リフレッシュトラックグループを対象とするリフレッシュ処理が全て完了し、処理中のトラックグループが存在しないことを表すため、リフレッシュ管理情報をクリアする。リフレッシュ管理情報をクリアすることにより、後述するステップ813からステップ802に戻った際に、当該ステップ802での判定を正しく行うことが可能となる。
CPU115はステップ812を実行すると、リフレッシュ処理が完了したリフレッシュトラックグループに対応付けてライトカウントテーブル500に保持されているライト回数W(h,c)を、0に初期化(つまりクリア)する(ステップ813)。
ライトカウントテーブル500に保持されているトラックグループ毎のライト回数W(h,c)は、そのトラックグループへのライト動作の実行回数を示す。ライト回数W(h,c)は、当該ライト回数W(h,c)と対応付けられているトラックグループにおけるデータの劣化の程度と相関がある。そのため本実施形態では、ライト回数W(h,c)は便宜的にデータ劣化の程度として扱われる。
リフレッシュトラックグループを対象とするリフレッシュ処理が完了した直後は、当該グループにおけるデータの劣化はない。このことを、リフレッシュ処理が完了したリフレッシュトラックグループに対応付けられたライト回数W(h,c)に反映させるために、上述のように当該ライト回数W(h,c)が0に初期化される(ステップ813)。
CPU115は、ステップ813を実行すると、再びステップ802に分岐して次のトラックグループに対する処理を開始する。この場合、ステップ802からの分岐先は常にステップ803になり、リフレッシュを必要とするトラックグループを検索するための動作を含む処理が上述の場合と同様に行われる。リフレッシュ処理の中断要求がなければ、リフレッシュトラックグループを対象とするリフレッシュ処理が終了するのは、それを必要とするトラックグループがなくなった場合のみである(ステップ804がNO)。
以上説明したように本実施形態によれば、ハードディスク装置のデータリフレッシュ時に、リードしたリフレッシュデータを復号し、別の暗号鍵を用いて暗号化したデータを書き戻すことにより、自動的かつ確実に暗号鍵が更新され、暗号化データのセキュリティが向上する。また、データリフレッシュ動作はデータリード、データライトを含むので、暗号鍵の変更のためだけにデータリード、データライトを行なう必要が無い。通常のデータリフレッシュ動作に対して暗号化データの復号、元データの再暗号化処理を付け加えるだけで良いので、データリフレッシュ及び鍵の更新のためにデータリード、データライトを二重に行なう必要がない。従って、少ない処理量で短時間に暗号鍵の更新ができるので、ハードディスク装置の処理に負担を与えることがない。
変形例
本発明は上述した実施の形態に限定されず、種々変形して実施可能である。例えば、実施の形態では、暗号鍵の変更をデータリフレッシュ時に行なった例を説明しているが、データリフレッシュ時に行なうことに限定されるものではなく、他のタイミングでも行なっても良い。例えば、データリフレッシュ処理706の実施の間隔を計り、前回のデータリフレッシュから所定時間以上経過した場合は、データリフレッシュ処理706の実施に係わりなく、強制的に暗号鍵の変更、すなわち図6のステップ805〜809を行なっても良い。本発明は少なくともデータリフレッシュと同時に暗号鍵の変更を行なうものである。
本発明は上述した実施の形態に限定されず、種々変形して実施可能である。例えば、実施の形態では、暗号鍵の変更をデータリフレッシュ時に行なった例を説明しているが、データリフレッシュ時に行なうことに限定されるものではなく、他のタイミングでも行なっても良い。例えば、データリフレッシュ処理706の実施の間隔を計り、前回のデータリフレッシュから所定時間以上経過した場合は、データリフレッシュ処理706の実施に係わりなく、強制的に暗号鍵の変更、すなわち図6のステップ805〜809を行なっても良い。本発明は少なくともデータリフレッシュと同時に暗号鍵の変更を行なうものである。
一般的にハードディスク装置はSMART機能(Self-Monitoring, Analysis and Reporting Technology)と呼ばれるハードディスク装置が自己監視・分析・報告をする機能を備えている。このSMART機能の中にはハードディスク装置が自身の各種の機能テストを行なうセルフテスト機能が含まれ、セルフテスト時にはディスクの全面がスキャンされる。全面スキャン時にはディスクのデータを全てリードするので、このリードデータを復号、再暗号化して書き戻すことにより、暗号鍵の更新が可能である。すわわち、セルフテスト時にも、図6のステップ805〜809を行なっても良い。また、ディスク固定型のハードディスク装置について説明したが、磁気ディスクとコントローラが別体の磁気ディスク装置についても適用可能である。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
また、上述の説明は個々の実施例それぞれについて行ったが、複数の実施例を適宜組み合わせてもよい。
100…磁気ディスク装置(HDD)、101…ディスク、102…ヘッド、113…RAM、114…フラッシュROM、115…CPU(コントローラ)、200…ホストシステム、201…トラック、500…ライトカウントテーブル、600…キーテーブル。
Claims (4)
- 暗号化データを記録する複数の記録領域を含む記録媒体の記録領域毎の暗号鍵を記憶する記憶手段と、
前記記憶手段に記憶されている暗号鍵を用いて前記記録媒体に対してデータのリード又はライトを行なう記録再生手段と、
を具備する情報記録装置。 - 前記記録再生手段は前記記録媒体の一の記録領域から暗号化データを読み出し、当該記録領域の暗号鍵を用いて当該暗号化データを復号し、復号したデータを当該暗号鍵とは異なる暗号鍵を用いて再暗号化し、再暗号化データを前記記録媒体へ書き込む処理を実行する請求項1記載の情報記録装置。
- 前記記録再生手段は電源投入時に前記書き込み処理を実行する請求項2記載の情報記録装置。
- 暗号化データを記録する複数の記録領域を含む記録媒体の記録領域毎の暗号鍵を記憶し、
前記暗号鍵を用いて前記記録媒体に対してデータのリード又はライトを行なう情報記録方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010269316A JP2011087313A (ja) | 2010-12-02 | 2010-12-02 | 情報記録装置及び情報記録方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010269316A JP2011087313A (ja) | 2010-12-02 | 2010-12-02 | 情報記録装置及び情報記録方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009019682A Division JP4648461B2 (ja) | 2009-01-30 | 2009-01-30 | 磁気ディスク装置及び同装置における暗号鍵更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011087313A true JP2011087313A (ja) | 2011-04-28 |
Family
ID=44079883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010269316A Withdrawn JP2011087313A (ja) | 2010-12-02 | 2010-12-02 | 情報記録装置及び情報記録方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011087313A (ja) |
-
2010
- 2010-12-02 JP JP2010269316A patent/JP2011087313A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4648461B2 (ja) | 磁気ディスク装置及び同装置における暗号鍵更新方法 | |
JP4635038B2 (ja) | 磁気記録装置、暗号化方法、および暗号化用プログラム | |
US7925828B2 (en) | Magnetic disk drive refreshing data written to disk and data refreshment method applied to magnetic disk drive | |
JP5681511B2 (ja) | 情報記録装置及び情報記録方法 | |
US20120020474A1 (en) | Recording device, controller, control method of recording device | |
JP4941556B2 (ja) | 暗号化装置、暗号化方法および暗号化プログラム | |
JP2010211910A (ja) | データ記憶装置 | |
US9070378B2 (en) | Partial write system | |
JP4504450B1 (ja) | 磁気ディスク装置及び同装置におけるデータリフレッシュ方法 | |
JP2009146500A (ja) | ディスク記憶装置及びデータ書き込み方法 | |
JP3978200B2 (ja) | データ保存/検索システムでのデータ保護方法およびデータ保護装置 | |
JP5121974B2 (ja) | データ記憶装置、記憶制御装置及び方法 | |
JP4660613B2 (ja) | 磁気ディスクドライブにおけるデータリフレッシュ方法 | |
JP2010129128A (ja) | 記憶装置及びデータ書き込み方法 | |
JP4869416B2 (ja) | 磁気ディスク装置及び同装置におけるデータリフレッシュ方法 | |
JP2002100126A (ja) | 記録再生装置、記憶装置、コンピュータ装置、データ処理方法、プログラム伝送装置 | |
JP2011087313A (ja) | 情報記録装置及び情報記録方法 | |
US20160170891A1 (en) | Disk apparatus and control method | |
JP2011129213A (ja) | 磁気ディスク・ドライブ及びそのリフレッシュ・ライト方法 | |
JP2009054209A (ja) | 不揮発性半導体メモリ装置を有するディスク・ドライブ装置及びそのディスク・ドライブ装置において不揮発性半導体メモリ装置にデータを格納する方法 | |
JP2010044820A (ja) | 記録装置及び記録方法 | |
US9190107B2 (en) | Information recording device and information recording method | |
US9053746B2 (en) | Disk device and data recording method | |
JP2010157278A (ja) | ディスク記憶装置及び欠陥処理方法 | |
JP2010011247A (ja) | ディスク装置及び鍵交換方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120403 |