(57)【要約】【課題】ＨＤＤ装置において、ＨＤＤへの通常のアクセス速度と大差のない速度によって短時間に、且つデータアクセスに影響を与えない時間帯に、ＨＤＤ内のデータのセキュリティを高めるようにする。【解決手段】ＨＤＤ装置は、ＨＤＤ１５と、その制御部（ＣＰＵ１３等で例示）と、ＨＤＤ装置に固有で且つそのＨＤＤ装置で再現可能な乱数を生成する乱数発生部（乱数発生器１２で例示）と、ＨＤＤ装置の電源をオフする際に、乱数発生器１２で生成した乱数に基づいて、ＨＤＤ１５内のデータを論理セクタ単位で入れ換えるデータ入換部（スクランブル制御部１７及び一時記憶メモリ１９で例示）とを備える。【選択図】図１
2012104170.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスクと、該ハードディスクが接続されると共に該ハードディスクを制御する制御部とを備えたハードディスク装置であって、該ハードディスク装置に固有で且つ該ハードディスク装置で再現可能な乱数を生成する乱数発生部と、前記ハードディスク装置の電源をオフする際に、前記乱数発生部で生成した乱数に基づいて、前記ハードディスク内のデータを論理セクタ単位で入れ換えるデータ入換部とをさらに備えたことを特徴とするハードディスク装置。
【請求項２】
前記データ入換部は、各論理セクタ内のデータの移動先を同一トラック及び／又は隣接するトラック内の論理セクタから選択することを特徴とする請求項１に記載のハードディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードディスクとそれを制御する制御部とを備えたハードディスク装置に関する。
【背景技術】
【０００２】
従来から、ハードディスク装置において、セキュリティを高めるために、データの記録時に暗号化を行ったり、論理アドレスをセクタ単位でスクランブルする技術が利用されている。
【０００３】
例えば、特許文献１には、データ自体を暗号化して記録媒体に記録した場合、暗号化が解除されてデータが盗用される危険を解消することを目的とした記録再生装置が開示されている。
【０００４】
この記録再生装置は、所定の鍵情報を記憶する鍵情報記憶手段と、入力データをセクタ単位に所定の記録媒体に記録するにあたり、各セクタの同記録媒体上における論理アドレスを上記鍵情報に基づいてスクランブルしつつ記録するスクランブル記録手段と、上記記録媒体に記録されたデータをセクタ単位に読み出すにあたり、スクランブルされた各セクタの論理アドレスを上記鍵情報に基づいて復元しつつ読み出すスクランブル解除読出手段とを具備している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−７６１３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、暗号化を伴った記録に関する従来の技術では、暗号処理や符号化処理に時間をとられてデータアクセスに時間がかかってしまう上に、ハードディスク（ＨＤＤ：Hard Disk Drive）全体を暗号化するには時間がかかってしまう。
【０００７】
特許文献１に記載の技術も、論理アドレス自体をスクランブルにより暗号化する技術であるため、同様に、データアクセスに時間がかかってしまう上に、ＨＤＤ全体を暗号化するには時間がかかってしまう。また、特許文献１に記載の技術では、さらに、スクランブルで入れ換えるセクタの順の考慮がされておらず、セクタへのアクセスに時間がかかってしまうといった課題もある。
【０００８】
本発明は、上述のような実状に鑑みてなされたものであり、その目的は、ＨＤＤ装置において、ＨＤＤへの通常のアクセス速度と大差のない速度によって短時間に、且つデータアクセスに影響を与えない時間帯に、ＨＤＤ内のデータのセキュリティを高めることにある。
【０００９】
また、本発明の他の目的は、このようなＨＤＤ装置において、スクランブルで入れ換えるセクタの順も考慮することで、さらにアクセスを速くしてＨＤＤへの通常のアクセス速度と同じ程度の速度によって短時間に、ＨＤＤ内のデータのセキュリティを高めることにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の第１の技術手段は、ハードディスクと、該ハードディスクが接続されると共に該ハードディスクを制御する制御部とを備えたハードディスク装置であって、該ハードディスク装置に固有で且つ該ハードディスク装置で再現可能な乱数を生成する乱数発生部と、前記ハードディスク装置の電源をオフする際に、前記乱数発生部で生成した乱数に基づいて、前記ハードディスク内のデータを論理セクタ単位で入れ換えるデータ入換部とをさらに備えたことを特徴としたものである。
【００１１】
第２の技術手段は、第１の技術手段において、前記データ入換部は、各論理セクタ内のデータの移動先を同一トラック及び／又は隣接するトラック内の論理セクタから選択することを特徴としたものである。
【発明の効果】
【００１２】
本発明のＨＤＤ装置によれば、ＨＤＤへの通常のアクセス速度と大差のない速度によって短時間に、且つデータアクセスに影響を与えない時間帯に、ＨＤＤ内のデータのセキュリティを高めることができる。
【００１３】
また、本発明の他の形態に係るＨＤＤ装置によれば、スクランブルで入れ換えるセクタの順も考慮しているため、さらにアクセスを速くしてＨＤＤへの通常のアクセス速度と同じ程度の速度によって短時間に、ＨＤＤ内のデータのセキュリティを高めることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係るＨＤＤ装置を備えた電子機器の一例を説明するブロック図である。
【図２】図１の電子機器におけるＨＤＤ上のトラック及びセクタを説明するための図である。
【図３】図１の電子機器において実行される、電源をオフする際の処理を説明するためのフロー図である。
【図４】図３の処理におけるスクランブル処理の一例を説明するためのフロー図である。
【図５】図４のスクランブル処理における乱数生成処理の一部を説明するためのフロー図である。
【図６】図４のスクランブル処理の具体例を説明するための図である。
【図７】図４のスクランブル処理を解除するためのスクランブル解除処理の一例を説明するためのフロー図である。
【図８】図７のスクランブル解除処理の具体例を説明するための図である。
【発明を実施するための形態】
【００１５】
本発明に係るＨＤＤ装置は、単独で実装することや、複合機やパーソナルコンピュータ（ＰＣ）などの電子機器に搭載することで実装することができる。以下、本発明について、複合機などの電子機器に搭載された例を挙げながら説明するが、単独で実装する場合も同様である。
【００１６】
図１は、本発明に係るＨＤＤ装置を備えた電子機器の一例を説明するブロック図で、図２は、図１の電子機器におけるＨＤＤ上のトラック及びセクタを説明するための図である。図１で例示した電子機器は、本発明に係るＨＤＤ装置を備えており、図１では主にそのＨＤＤ装置の部分を図示している。
【００１７】
本発明に係るＨＤＤ装置は、記憶装置の一種であり、磁性体を塗布した円盤であるＨＤＤ１５と、ＨＤＤ１５が接続されると共にＨＤＤ１５を制御する制御部とを備え、その制御部により、ＨＤＤ１５を高速回転させて磁気ヘッドを移動することで、情報を記録し読み出す。
【００１８】
この制御部は、図１では、主にＣＰＵ（Central Processing Unit）１３やディスクＩ／Ｆ１６で例示できる。ＣＰＵ１３は、電子機器１の主制御部であり、ＨＤＤ装置の制御も行うものとする。ディスクＩ／Ｆ１６は、ＨＤＤ１５にアクセスしてデータの読み書きを行うためのインターフェースであり、この規格としては例えばＳＡＴＡ（Serial Advanced Technology Attachment）やｅＳＡＴＡ（external Serial ATA）など採用すればよい。
【００１９】
また、電子機器１は、ＵＳＢ（Universal Serial Bus）やＳＣＳＩ（Small Computer System Interface）などのホストＩ／Ｆ１８を備え、ＨＤＤ装置を含む電子機器１のホストの一例としてのＰＣ２に接続されている。なお、ＨＤＤ装置を単独で実装する場合にも、そのＨＤＤ装置は、同様にホストＩ／Ｆ１８のようなインターフェースを備えてホスト側からアクセスするように構成しておけばよい。
【００２０】
そして、本発明に係るＨＤＤ装置は、そのＨＤＤ装置に固有の乱数であって、そのＨＤＤ装置で再現可能な乱数を生成する乱数発生部を備える。図１では、この乱数発生部を乱数発生器１２で例示している。乱数発生器１２は、例えばＨＤＤ装置に固有な鍵情報を耐タンパー性を高く保持しておくことが好ましく、その鍵情報に基づき擬似的に乱数を発生させるなどすればよい。乱数発生器１２は、装置別の再現可能な乱数を発生するため、他のＨＤＤ装置で発生する乱数とは異なったものとなる。
【００２１】
また、電子機器１は、電源の制御を行う電源制御部１１と、電源キー１４とを備える。電源キー１４は電子機器１の電源をオン／オフするためのキーであり、電源制御部１１は電子機器１の電源の制御を行う部位である。ここでは電子機器１に内蔵されたＨＤＤ装置の電源も、この電源キー１４のオン／オフ操作を受けて、電源制御部１１によりオン／オフするものとして説明するが、電子機器１の電源キー１４とは別にＨＤＤ装置のオン／オフ動作を可能に構成してもよい。
【００２２】
また、このオン／オフ動作は、電源キー１４等のキーだけでなく、ＰＣ２等の外部機器からの指示によっても可能に構成しておけばよい。つまり、後述のＨＤＤ装置の電源をオンする際やオフする際とは、このようなオン／オフ動作を検知したときを指す。
【００２３】
さらに、本発明に係るＨＤＤ装置はその主たる特徴として、次のようなデータ入換部を備える。このデータ入換部は、そのＨＤＤ装置の電源をオフする際に（つまり、ＨＤＤ装置の電源のオフ動作を検知したときに）、乱数発生器１２で生成した乱数に基づいて、ＨＤＤ１５内のデータを論理セクタ単位で入れ換える。
【００２４】
ここで、図２を併せて参照しながら論理セクタについて説明する。図２においてその一枚のディスク１５ｄを図示するように、ＨＤＤ１５上の物理セクタや論理セクタ３１〜３３は、ディスク１５ｄの同心円上に決められた領域であるトラック３０を、複数個の領域に分割した、アクセス可能な最小記憶領域として定義できる。図２では、最外周のトラック３０について、セクタ番号１，２，・・・，Ｎで示される２０４８バイトの論理セクタ３２，３１，・・・，３３を図示している。なお、ＨＤＤの場合、典型的には１セクタは５１２バイトであり、セクタ当たり５１２バイトのデータにアクセスできるようになっているが、近年、記録密度を向上させるために物理セクタを例えば２０４８バイトや４０９６バイト等に拡大したり、またＨＤＤの容量拡大のために論理セクタも２０４８バイトや４０４６バイト等に拡大したりしたＨＤＤ装置も流通しはじめている。
【００２５】
補足すると、論理セクタとは、ＨＤＤ装置側の論理セクタを指し、ＡＦＴ（Advanced Format Technology）やＢｉｇＳｅｃｔｏｒとも呼ばれている。一方で、ＰＣ２のオペレーションシステム（ＯＳ）によるＨＤＤも含めた記憶媒体の管理は、通常はセクタ単位ではなく、いくつかのセクタをまとめた「クラスタ」単位で施される。また、上記データ入換部では、ＨＤＤ１５内のデータ（ＨＤＤ１５上の全てのデータ）を入れ換えるため、論理セクタと物理セクタとが同サイズでないと、基本的に論理セクタ単位で処理しても物理セクタ単位で処理することにはならない。従って、論理セクタと物理セクタとは同じサイズにし、両者のセクタ境界を一致させておくことが、アクセス速度の点で好ましい。
【００２６】
上記データ入換部における入れ換え方法について説明する。入れ換え方法としては、論理セクタのペアを選び、一方の論理セクタのデータをペアとなる他方の論理セクタに移動し、他方の論理セクタのデータを一方の論理セクタに移動するといった具合に移動して入れ換え（ペア内での交換）を行えばよい。但し、例えば論理セクタＡ，Ｂ，Ｃがあればそこに、それぞれ元の論理セクタＢ，Ｃ，Ａのデータを書き込むように移動を行って、入れ換えしてもよい。
【００２７】
図１において、このデータ入換部は、スクランブル制御部１７及び一時記憶メモリ１９で例示している。まず、スクランブル制御部１７は、ディスクＩ／Ｆ１６を介して、ＨＤＤ１５内のデータの読み出しやＨＤＤ１５へのデータの書き込みが可能に構成しておく。さらに、スクランブル制御部１７は、電源オフ動作に起因するＣＰＵ１３からの指示により、乱数発生器１２で生成した乱数に基づいて、ＨＤＤ１５内のデータを論理セクタ単位で入れ換える処理、つまり、ＨＤＤ装置の各論理セクタ内のデータを入れ換える処理を行う。ここで、スクランブル制御部１７は、論理セクタ内についてはデータ自体のコード配列などを変えることは行わない。また、スクランブル処理に際しては、バッファとしてＳＲＡＭ（Static Random Access Memory）などの一時記憶メモリ１９が用いられる。
【００２８】
上述のような処理について、図３〜図６を参照しながら具体例を挙げて説明する。図３は、図１の電子機器において実行される、電源をオフする際の処理を説明するためのフロー図である。また、図４は、図３の処理におけるスクランブル処理の一例を説明するためのフロー図、図５は、図４のスクランブル処理における乱数生成処理の一部を説明するためのフロー図、図６は、図４のスクランブル処理の具体例を説明するための図である。
【００２９】
図３を参照して大まかな処理の流れについて説明する。電源キー１４により電源オフ操作がなされたことをＣＰＵ１３が割り込みで検知し（ステップＳ１）、ＣＰＵ１３がスクランブル制御部１７にスクランブル処理を指示し、スクランブル制御部１７がスクランブル処理を実施する（ステップＳ２）。スクランブル処理の後、ＣＰＵ１３が電源制御部１１に指示を行って電源制御部１１が電源をオフにする（ステップＳ３）。
【００３０】
主にスクランブル制御部１７が実行する、ステップＳ２における高速のスクランブル処理について、図４を参照しながら説明する。まず、１トラックの全論理セクタのデータを一時記憶メモリ１９へ読み出す（ステップＳ１１）。これに先立ち、若しくはステップＳ１１の処理後、ＣＰＵ１３が乱数発生器１２に乱数の生成を指示する。乱数発生器１２は、それに従って、論理セクタ数分の乱数を生成する（ステップＳ１２）。ＣＰＵ１３がその乱数をスクランブル制御部１７に渡し、スクランブル制御部１７がその乱数を一時記憶メモリ１９に一時記憶して、その乱数を書き込みセクタ番号とする論理セクタ（に対応する位置）へデータを書き込む（ステップＳ１３）。
【００３１】
ステップＳ１２について、補足すると、図５に示すように、ステップＳ１１の処理より前（電源オフ動作の前でもよい）又はステップＳ１１の処理後に、乱数発生器１２は、ＨＤＤ装置のシリアルナンバーを取得し（ステップＳ２１）、そのシリアルナンバーに基づき乱数のシード（初期値）を生成する（ステップＳ２２）。このような初期値に基づきステップＳ１２で乱数を発生することにより、ＨＤＤ装置に固有で再現可能な乱数を発生させることができる。なお、シリアルナンバーは装置固有の情報の例である。
【００３２】
このようなスクランブル処理により、実際のデータがどのように書き換えられるかを説明する。図６のように読み出しセクタ番号４１で示す「０」〜「７」をスクランブル処理の対象とする場合について説明すると、乱数４２が各論理セクタに対して生成され、それらをそのまま書き込みセクタ番号４３として使用して、データの書き込みを行う。この例では、読み出しセクタ番号４１「０」〜「７」内のデータは、それぞれ書き込みセクタ番号４３が「２」、「７」、「１」、「５」、「３」、「６」、「４」、「０」で示される位置に書き込まれることになる。
【００３３】
ここでは最も単純に乱数をそのまま用い、発生させた乱数に相当するセクタ番号の論理セクタにデータを入れ換えた例を挙げたが、乱数に基づきより複雑な演算を施して移動先を決めて入れ換えを実行してもよい。無論、よりＨＤＤ１５のアクセス速度に近い速度でセキュリティを高める処理を行うためには、単純な演算を採用することが好ましいが、高速な論理セクタ単位の入れ換えによるスクランブル処理はデータ移動時間が少なくて済むため、喩え複雑な演算を採用しても作業時間自体を短くすることができる。
【００３４】
次に、電源がオンされた際の処理について、図７及び図８を参照しながら説明する。図７は、図４のスクランブル処理を解除するためのスクランブル解除処理の一例を説明するためのフロー図で、図８は、図７のスクランブル解除処理の具体例を説明するための図である。図８では、図４の具体例に対応した例を示している。
【００３５】
電源オン動作時にも図５と同様に、まずスクランブル制御部１７が、１トラックの全論理セクタデータを一時記憶メモリ１９へ読み出す（ステップＳ３１）。これに先立ち（但し、当然電源オン後）、若しくはステップＳ３１の処理後、ＣＰＵ１３が乱数発生器１２に乱数の生成を指示する。乱数発生器１２は、それに従って、論理セクタ数分の乱数を生成する（ステップＳ３２）。
【００３６】
次いで、ＣＰＵ１３がその乱数をスクランブル制御部１７に渡し、スクランブル制御部１７がその乱数と乱数発生順序とをセット５２として一時記憶メモリ１９に記憶し、乱数を昇順にソートして、セットでソートした乱数発生番号（ソート後）５３を算出する（ステップＳ３３）。次いで、スクランブル制御部１７が、その乱数発生番号（ソート後）を書き込みセクタ番号５４として、その論理セクタ（に対応する位置）へデータを書き込む（ステップＳ３４）。
【００３７】
例えば、スクランブル処理対象として読み出したデータの読み出しセクタ番号４１が「７」のときにはスクランブル処理によって書き込みセクタ番号４３が「０」の論理セクタに書き込まれる。そして、スクランブル解除対象として読み出した読み出しセクタ番号５１が「０」のときには、スクランブル解除処理によって書き込みセクタ番号５４が「７」の論理セクタに書き込まれている。このように、スクランブル処理前の状態に戻っており、このようなセクタ番号の算出処理によりスクランブル処理及びその解除処理を行うことで、ＨＤＤ１５のデータの記録位置が元に戻せることが分かる。
【００３８】
ステップＳ３１〜Ｓ３４の処理は、電源オン動作を検知したときに最初に行って、データを元の状態（電源オフ動作前の状態）に戻しておく。このように、ＨＤＤ装置の電源オン動作時に、元のデータ位置へ戻すことにより、対応するＨＤＤ装置のみで通常のＨＤＤアクセスが可能となる。ここで、対応するＨＤＤ装置のみでアクセス可能となるのは、ＨＤＤ装置固有の乱数を使っているためであり、別のＨＤＤ装置で復元しようとしても、乱数を再現できない。
【００３９】
また、電源オン動作を検知したときに最初に行うことを前提に説明したが、電源オフ動作時のスクランブル処理を論理データの整数倍を境界として分割した各領域に対して行うようにしておけば、例えばＯＳなどの起動プログラムが入っていない領域である限り、電源オン動作の後、必要となった領域についてのみ必要となった時点でスクランブル解除処理を施すようにしてもよい。また、この領域としては、後述するように１又は複数のトラックで定義付けられる領域を採用してもよい。
【００４０】
以上、本発明のＨＤＤ装置によれば、ＨＤＤへの通常のアクセス速度と大差のない速度によって短時間に、且つデータアクセスに影響を与えない時間帯に、ＨＤＤ内のデータのセキュリティを高めることができる。つまり、本発明によれば、電源オンの状態から電源オフの状態に切り換わる短い時間に、乱数で生成した位置へデータを入れ換えるという高速で実施できる作業により、ＨＤＤ盗難による情報漏れに対して、高速にセキュリティを高めることができる。また、乱数に基づき複雑な演算を施して移動先を決めてもよいことを説明したが、それ以外でも、ＨＤＤ１５のアクセス時間にさほど影響がなければよく、さほど影響がなければ、データの反転やＢｉｔの入れ換えなどの処理を追加する構成を採用したとしても全く問題ない。
【００４１】
また、上述した様々な例では、入れ換えの対象となる論理セクタについて特に制限を設けなかったが、よりアクセスを速くするためにはデータの移動先は近い方がよい。そのため、上記データ入換部は、各論理セクタ内のデータの移動先を同一トラック及び／又は隣接するトラック内の論理セクタから選択するようにすることが好ましい。なお、ペアを作って入れ換えを行う場合には、入れ換えの対象となる２つの論理セクタを、同一のトラック又は隣接するトラックの中から選択するようにすればよい。
【００４２】
このように、同じトラックや隣接トラックの論理セクタを一気に読み出し、論理セクタ間で入れ換えを実行することで、磁気ヘッドの移動を最小限とすることができ、これにより高速化を計れる。同一トラック内の論理セクタから選択するようにする構成では、一時記憶メモリ１９は少なくとも１トラック分の記憶容量をもっていればよい。同様に、隣接トラック（及び同一トラック）内の論理セクタから選択するようにする構成では、一時記憶メモリ１９は少なくとも２トラック分の記憶容量をもっていればよい。より具体的には、スクランブル制御部１７が最初のトラックを読み出して、そのデータを一時記憶メモリ１９へ貯めて、次のトラックに入れ換えた論理セクタデータを書き込めば、そのトラックは２周（２つのトラック）で入れ換えが完了する。
【００４３】
このようにして、スクランブルで入れ換える論理セクタの順も考慮することで、さらにアクセスを速くし、結果的にＨＤＤ１５への通常のアクセス速度と同じ程度の速度によって短時間で（つまりＨＤＤ１５のＷｒｉｔｅ＋Ｒｅａｄアクセスの時間で）、ＨＤＤ１５内のデータのセキュリティを高めることができる。つまり、この形態を採用したＨＤＤ装置によれば、ＨＤＤ１５のアクセス速度と同じ程度の短い時間で且つデータアクセスに影響を与えない時間帯に、すなわち、電源をオフするまでの限られた時間で、ＨＤＤ１５内のデータのセキュリティを高めることができる。換言すれば、この形態に係るＨＤＤ装置では、セキュリティレベルをデータを移動する時間だけで調整することができる。
【符号の説明】
【００４４】
１…電子機器、２…ＰＣ、１１…電源制御部、１２…乱数発生器、１３…ＣＰＵ、１４…電源キー、１５…ＨＤＤ、１５ｄ…ディスク、１６…ディスクＩ／Ｆ、１７…スクランブル制御部、１８…ホストＩ／Ｆ、１９…一時記憶メモリ、３０…トラック、３１，３２，３３…論理セクタ。
【図１】
2012104170.tif 000003
【図２】
2012104170.tif 000004
【図３】
2012104170.tif 000005
【図４】
2012104170.tif 000006
【図５】
2012104170.tif 000007
【図６】
2012104170.tif 000008
【図７】
2012104170.tif 000009
【図８】
2012104170.tif 000010