大量データの保存に欠かせないHDDは現在でも重要なストレージだ。ここ近年は容量の壁に悩まされつつも、テラバイトという広大な記憶領域を享受できるようになったが、常に進化するコンピューター業界は既に次の世代を見据えている。大容量化するHDDに追従するため、Windows 8(開発コード名)では4K nativeの完全サポートを公式ブログで表明した。今週も同社のブログに掲載された記事を元に、最新の動向をお送りする。
4K nativeのサポートを表明の新ファイルシステムの噂
HDD(ハードディスクドライブ)容量は、年を重ねるごとに膨らんでいる。今から10年前となる2001年頃のHDD容量は60~80GB(ギガバイト)程度だったが、翌年には100GBを超え、2005年には初の500GBクラスHDDが発売。2007年には1TB(テラバイト)、2009年には2TB。そして今年は4TBクラスのHDDが発表された。このようにHDD容量の拡充が今後も続いていくのは誰しも想像に容易(たやす)い。
先週掲載された公式ブログの記事には、2015年までのHDD容量増加のグラフが掲載されていた。これは市場調査会社IDC(International Data Corporation)のレポートの数値を元にしたものだが、2015年には8TBクラスのHDDが市場に登場すると予想している。現在の二倍程度であれば非現実的な推測ではないはずだ(図01)。
デジタルカメラの撮影データや動画、音楽データなど我々の周辺にある数多くのデータは高度な圧縮アルゴリズムを用いることで、保存領域の占有を抑制してきたが、それでも現在はテラバイトクラスのストレージがないと厳しい場面がある。より大容量HDDをユーザーが求め、市場が提供するのは自然な流れだろう。
そこで問題となるのがOSが実装するファイルシステムやコンピューター側の対応である。古くはMS-DOS時代のFAT16が原因で発生した32MB(メガバイト)の壁や、Windows 9x時代のFAT16およびFAT32に起因する2/4GBの壁。最近ではMBRパーティションの限界値である2TBの壁のように、HDD容量の壁が存在する。
特に2TBの壁はGPT(GUIDパーティションテーブル)を用いることで解消できるため、今後はBIOSからEFIへの移行が加速するはずだが、その一方でセクターサイズの問題も発生中である。HDD業界団体は通例的に用いられてきた512バイトの物理セクターを、4KB(キロバイト)に拡張。すると低レベルでアクセスするBIOSやOSといったソフトウェアが追従できない問題が発生するため、理論セクターを512バイトセクターとしてエミュレートするAFT(Advanced Format Technology)を導入している。
一見すれば、すべて解決したように見えるが、結局はエミュレーションというボトルネックが原因で著しくアクセス速度が低下する問題が発生した。例えば1セクター(512バイト)だけ書き換える場合でも8セクター相当(一物理セクター)を読み込み、ファームウェア内で書き換えした512バイトを物理セクターに書き戻す、RMW(Read-Modify-Write:リード・モディファイ・ライト)がネックになるのである。
これが原因でWindows XPといった古い環境ではアクセス低下が発生するのだ。もちろんWindows VistaやWindows 7では、同様の問題は存在しない(詳しくはMicrosoftサポートのKB2510009をご覧頂きたい)。HDDの大容量化は単純にハードウェア的な進歩だけではなく、OSをはじめとするソフトウェア側の進化も必要とすることがご理解できるだろう。
さて、読者が最も気になるWindows 8における大容量HDDのサポートだが、同OSはBIOSではなくUEFIを前提にする予定である。UEFIの一機能であるGPTを使用し、理論的最大容量は8ZB(ゼタバイト=テラバイトの1024×1024×1024倍)となるものの、OS側でサポートするのは現時点で不明。少なくともPB(ペタバイト)クラスのHDDまでは追従できるはずだ(図02)。
その一方で重要になるのが前述のセクターである。通例的に512バイトセクターで用いるドライブの種類を「512 native」、物理セクターサイズが4KBで理論セクターが512KBセクターであり、RMWロジックが組み込まれたドライブの種類を「Advanced Format(512e)」、物理および論理セクターサイズが4KBのものを「4K native」と称している。執筆時点で4K nativeをサポートするOSは存在せず、最新のWindows 7でもAdvanced Format止まりだ。
今回新たに公開された情報では、4K nativeをWindows 8でサポートし、より高いディスクパフォーマンスを実現することに成功したという。ベースとなるNTFSはもちろん、Windows 8の起動コードや既存APIを強化し、OS全体で対応する予定である。実際のパフォーマンスがどの程度改善されるのかは、今後登場するパブリックベータを待たなければならないが、興味深い情報だ。
気になるのはNTFSの存在である。時代をさかのぼると1993年(米国時間)に登場したWindows NT 3.1にバージョン1.0を実装し、バージョンを重ねて現在に至っている。もちろんNTFSを強化し、機能を拡充する方向も間違いではないものの、新キーワードの導入はマーケティング的な強化にもつながるため、このタイミングで変更する可能性は低くない。
ここで登場するのが、非パブリックなWindows 8の早期ビルドに実装されている「Protogon」の存在だ。具体的な相違点などは明らかにされていないが、一部ユーザー向けに公開された最新ビルドでは、ファイルシステムの名称が「ReFS」に変更されたというから、単純に見ればProtogonは開発コード名。ReFSが正式な機能名と読み取れる。
同社はWindows Vistaで採用予定だった新しいファイルシステム「WinFS」の開発に着手したが、データベース的機能を担う設計が当時のハードウェアでは快適に動作しないため、結果的に破棄している。"Resilient FileSystem"と呼ばれるReFSがWinFSの後継ファイルシステムになるのが決まっている訳ではないが、4K nativeをサポートするファイルシステムとして世に登場する可能性は高い。
ただ、ここで意識しなければならないのが同時開発中の「Windows 8 Server」(開発コード名)の存在である。本来WinFSは"Windows Future Storage"という名称であり、同技術はファイルシステム自身に検索機能を担わせ、すべてのファイルをオブジェクトとして管理することを目標としていた。
ReFSにどのような機能が搭載されるのかは明らかではないものの、コンピューターへの負担が大きくなるのであれば、クライアントOSはNTFS(の拡張版)、サーバーOSはReFSを実装という切り分けを行うかも知れない。いずれにせよ2012年早期に登場すると言われているパブリックベータ版が楽しみである。
阿久津良和(Cactus)