プログラミングなどソフトウェアの仕組みについて学んでいる人や活用している人は、プログラムを動かすハードウェアの仕組みについて知っておくことも必要になります。
特にハードウェアで信頼性や速度の向上に役立つ技術が、RAIDです。RAIDとは、複数の磁気ディスク装置を仮想的に1つの装置のように用いることで、信頼性や速度を上げることができる技術のことを言います。
RAIDにはいくつものレベルがありますが、特に速度的なメリットを享受できるのがRAID0というレベルです。データを複数のディスクに分散して書き込んでいくというもので、1つのディスクにアクセスが集中しないため、速度が向上するメリットがあります。
RAID0のレベルでは、データの読み書きの速度は向上するものの、データの信頼性を確保することは難しくなります。データの信頼性を向上させるRAIDのレベルは、RAID1以降となります。
まずRAID1ですが、同じデータを2つのディスクに書き込むことで、その特性上、ミラーリングと呼ばれます。この方法でデータを書き込むと、万が一どちらかのディスクが破損してデータの読み書きができなくなっても、もう一つのディスクに同じ情報があるため、データの損失を防ぐことができます。
同じくデータの信頼性を目指して作られ、実用化されているのが、RAID3以降となります。これらには、パリティ情報と言う、データの誤りを検出し、訂正するチェック情報を合わせて格納する方法で、データの信頼性を向上させています。
RAID3以降はいくつかバージョンがありますが、どれもパリティ情報が含まれていることが共通点で、パリティ情報を専用のディスクに書き込むか、分散して書き込むかが違うほか、データの書き込み方法がバイト単位か、セクタ単位かなどの違いがある形になります。
特によく用いられているのは、RAID0、RAID1、パリティ情報を全ディスクに分散させるRAID5ですが、その進化形であるRAID10やRAID01というものも登場してきています。