ハードディスクの役割をメモリとの違いから考える

メモリハードディスクはプログラムの命令やデータを記憶する装置でシステム開発において最も重要な役割を果たします。

メモリとハードディスクの違い

メモリとハードディスクはそれぞれ性質が異なっていて、それぞれの利点を生かしながら強調して動作しています。

メモリハードディスク
動作電気的磁気的
速度高速低速
容量小さい大きい
記憶短期長期

ハードディスクに記憶されたプログラムはメモリにロードされてから実行され、ハードディスクから直接実行されません。

その理由としては一つはCPUがプログラムカウンタでメモリのアドレスを指定してプログラムを取り出す方式となっているからです。またもう一点は仮にハードディスクから実行が可能でもハードディスクからの情報の読み出しが遅いためプログラムの実行速度が低下してしまうという理由があります。

ハードディスクの構造と動作原理

ハードディスクは容量に応じてプラッタとよばれる磁気ディスクが入っていて高速回転しています。回転する磁気ディスクをアーム先端の磁気ヘッドで磁化させる(磁石のSNをコントロールする)ことで情報を読み書きしています。

ディスクが磁化することでディスクの各領域(セクタ)に局所的な磁場が発生します。この時磁場の方向は

  • 同じ極が向かい合う場合(SとS、NとN)
  • 異なる極が向かい合う場合(SとN)

で二種類存在するため、その磁場の方向に対して0/1の信号を記録しています。

ハードディスクの性能限界と対応策

ハードディスクの性能はディスクの回転数(rpm : rotation per minitue)に依存します。

回転数が高いほど性能は良くなりますが、アームがディスクの回転を待つという物理的制約がある以上データ転送速度の向上に限界がある点に注意が必要です。これがハードディスクがメモリと比べて動作が遅い理由です。

ビックデータの時代となり大量のデータを抱える現代ではストレージ性能の頭打ちはボトルネックとなりやすいです。そこで現在は解決策として次のような技術が採用されています。

  • RAIDによる分散処理
  • SSDなどの単一リソースの強化

RAIDによる分散処理

RAID(Redundant Array of Independent Disks)とは複数のハードディスクを組み合わせることでハードディスクの速度や信頼性を向上させる技術です。

RAIDは性能と信頼性のレベルに応じていくつかの種類があり、求めるパフォーマンスや予算に応じて選択すべきレベルも変わってきます。下に示すのは代表的RAIDレベルの構成と用途です。

構成特徴
RAID0ストライピング信頼性は低い
RAID1ミラーリング性能は低いが信頼性は高い
RAID3
RAID4
パリティ性能は低いが信頼性は高い
RAID5パリティ分散RAID4を改良

RAID0はデータを分散して複数のディスクに書き込むストライピングにより入出力速度の向上を図った方式です。いずれかのディスクで障害が発生した場合稼働不能となるため信頼性は低く商用には向きません。

RAID1は複数のディスクに同一データを書き込むミラーリングにより、いずれか1台のディスクで障害が発生しても場合稼働する信頼性はの向上を図った方式です。

RAID3,4はパリティを保存するパリティディスクを用意していずれか1台のディスクで障害が発生した場合正常なディスク間で復元できるようにした方式です。RAID3はビット単位、RAID4はブロック単位でストライピングを行なっています。

RAID5はRAID4を改良してデータとパリティを複数のディスクに分散させることでより高速化を実現した方式です。

SSDなどの単一リソースの強化

近年ではハードディスクに取って代わってSSD(Solid State Drive)などのフラッシュストレージが急速に普及しています。フラッシュストレージとは半導体メモリをストレージに応用してアクセス性能を劇的に向上させたものです。

詳しい動作原理についての説明は省きますが、SSDはディスクの回転を待つ必要がないためHDDと比べて100〜1000倍の性能を持つと言われています。さらに振動に強く動作音も静かというメリット持っています。

コメント

タイトルとURLをコピーしました