− ミュージックプレーヤーやデジタルビデオレコーダーなど、パソコン以外のところでもハードディスクが使われるようになってきました。今回の技術は、そのような場面で大いに役に立ちそうですね。
|
伊藤: はい、ミュージックプレーヤーや携帯電話、カーナビなどの携帯機器やデジタルビデオレコーダーのような情報家電は急速に高機能化が進んでいます。また大容量ハードディスクの価格が下がってきたため、これら携帯機器や情報家電でも多量の情報を扱えるようになりました。ハードディスクはCDやDVDといった従来のストレージと比べて高速であり、さらに書換えができるというメリットがあります。そこでこれら携帯機器や情報家電でも最新の情報を扱えるよう、ハードディスク上のデータを高速に処理することが求められています。しかし既存の技術では、こうした要求に応えることが非常に難しいのです。特に、書き換えによって検索性能が低下していくことが大きな問題になります。
従来のデータ管理方式を単純にハードディスクに適用したのでは、更新データがハードディスク上の空き領域へ随時書き込まれていくため、しだいに関連性の高いデータがバラバラに離れてしまう、専門的に言えば「断片化」した状態になってしまうのです。ハードディスクはデータを読み込む際、目的の場所までヘッドを動かす「シーク」と、実際にデータを読み込む「リード」という動作を繰り返し行っています。データ読み込みではシーク時間の割合が大きいため、断片化が進み関連のあるデータを読み込む際に何度もシークしなければならなくなると、検索速度が低下してしまいます。
|
− PCでいうなら空き領域の断片化を解消する“デフラグ”が必要な状態ですね。
|
伊藤: はい、ですから高速なデータ読み込みには、シークの回数をいかに少なくするかが重要なポイントです。しかし携帯電話やカーナビを使っているときにデフラグをしていただくわけにはいきませんよね。そこで新たに開発したのが、データの識別情報(ID)を利用した「初期データの分散配置技術」と、関連データをハードディスク上の近い領域へ配置する「データ更新技術」です。
|

図1 地図データの管理方法
※クリックして拡大図をご覧下さい
|
携帯機器や情報家電で扱うデータは、大抵は関連のあるデータのグループに分けられます。例えばミュージックプレーヤーで扱う音楽データであればアーティスト名やアルバム名をIDとしてグループに分けられますし、携帯電話やカーナビで扱う地図データでは地図を区画に分けて管理するので区画番号をIDとしてグループに分けられます。さらに、これらのグループは一気に読み込まれることが多いのです。音楽を聴くときは同じアルバムの曲を続けて聴くことが多いですよね。地図データでは検索を行うときに同じ区画の中のデータをまとめて読み込みます。例えば区画番号が12番の区画に教会とコンビニ、ガソリンスタンドがあるという場合には、それらにはすべて12番という区画番号が付与されています。そこで「これから進む経路の近くにあるコンビニを探したい」といった検索を行うときには12番の区画の中のデータを一気に読み込んで目的のコンビニにたどり着くわけです(図1)。
|
このような同じグループ内のデータを一気に読む場合は、それらのデータを連続領域に配置しておけばシーク回数を最小限に減らせます。この考え方自体は従来からありましたが、データの更新がまったく考慮されていませんでした。これに対しわれわれは、各領域に追記データを書き込むためのスペースをあらかじめ設けておく「初期データの分散配置技術」を開発しました。さらに、1番の追記データは1番のすき間に、2番の追記データは2番のすき間にというように、同じIDを持つ初期データと連続する空き領域に自動的に配置する「データ更新技術」をあわせて開発しました(図2)。
|

図2 重複ID近傍配置表
※クリックして拡大図をご覧下さい
|