このページの本文へ

プリンストンが販売する高機能ストレージ「Drobo」を活用しよう 第21回

米国特許「Filesystem-Aware Block Storage System, Appratus, and Method」

Droboの仕組みが分からない? ならば特許を見よう

2017年02月07日 11時00分更新

文● 飯岡真志、編集 ●金子/ASCII.jp

提供: プリンストン

  • この記事をはてなブックマークに追加
  • 本文印刷

とりあえず検索して資料を……

 これらの謎を解くために、まずはGoogle先生にお伺いを立てることにする。検索用語は「drobo patent」といったところだ。

 すると、英語および日本語のWikipediaのページがヒットするので、参照先をクリックしてみると、米国特許商標庁のページが出てくる。

 特許の名称は「Filesystem-Aware Block Storage System, Appratus, and Method」であり、「ファイルシステムの構造を把握しているブロック型記録システム、装置、手法」といった感じになる。特許の出願社は「Data Robotics Inc.」となっているが、これはDrobo社の旧社名である。先ほどのページの上部にはいくつかボタンが並んでおり、そのうちの「Images」ボタンをクリックすると、PDFが表示される。さらに、左ペインの「Full Pages」をクリックすると全ページをまとめたPDFが表示されるので、保存しておく。

米国特許商標庁のページ

左ペインにある「Full Pages」をクリックすると、全データのPDFが表示される

 以下、特許公告の解説を70ページ分続けても退屈なので、Drobo(Beyond RAID)の特徴的な動作に関係していそうなところをピックアップして紹介していこう。

記録単位は「チャンク」

 まずは特許公告に掲載されているFIG.1から。Droboではファイルシステム上のファイルは「オブジェクト」として管理されていて、それを適当なサイズの「チャンク」(ひとまとまりのデータ)に分けられ、それぞれのチャンクは物理デバイス(HDD)に分散して記録されている。

OS上の「ファイル」がHDDに記録されるまでのデータの扱われ方を示す

 オブジェクト、チャンクはそれぞれ表(オブジェクト テーブル、チャンク テーブル)にリストとして記録されており、この辺りは一般的なファイルシステムとそう違いはない。差があるのはその先だ

 チャンクを書き込む際には、常に「ハッシュ」が算出され、記録される。ハッシュは元のデータ(チャンク)から計算される小さなデータで、元のデータの区別に利用される。セキュリティ関連の記事でこの単語を見かけたことのある方も多いだろう。ハッシュは、このチャンクの「指紋」のような機能を果たす。実際、チャンクを読み出す際にもハッシュが算出され、記録されていある値と比較される。もし異なる値であれば、それはチャンクのデータが壊れているということなので、データは捨てられ、替わりに冗長データから復元される。ミラーリングの場合であれば、もう一方のディスクに記録されているデータをそのままコピーして持ってくる、という具合だ。

 チャンクとハッシュのサイズは、それぞれ4096バイトと20バイト(160bit)だ。元のチャンクに対して0.5%弱程度のハッシュを記録しておくことで、データが壊れていないことを確認する。そんな少しのデータで大丈夫なのか? と心配になるかもしれないが、仮にチャンクの4096バイトの一部が壊れて別の値として読み出され、その間違った値を元に計算された20バイトのハッシュが偶然一致するということは、きわめて稀だ。実際の運用上では、「ない」と言い切っても構わないレベルである。

 このように、データの読み書きのたびにデータの有効性を確認する仕組みを持つことで、RAIDでありがちな「あまり使わないデータの一部が壊れていることに気づかず、それ以外のドライブが故障した際にはまる」という事態を回避できる。


 

(次ページ、「Droboのデータ領域は「ゾーン」単位で構成される」に続く)

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

ピックアップ