記憶装置の種類
記憶装置(きおくそうち)とは、コンピュータが処理するデータを保持するのに使う、部品、装置、電子媒体の総称。メモリ(memory)またはストレージ(storage)とも言う。コンピュータには必ず何らかの記憶装置がある。
一般に、メモリは Random Access Memory (RAM) などの半導体記憶装置を指し、高速だが一時的な記憶に利用する(高価なため)。ストレージは、光ディスク(CD、DVD等)、ハードディスクなどの磁気記憶装置といった、メモリよりも低速だがより恒久的な性質を持った記憶装置を指す。メモリは「一次記憶装置(主記憶装置)」、ストレージは「二次記憶装置(補助記憶装置)」として使われている。
英語では「ストレージ」が記憶装置全般を指すことがあるため、二次記憶装置としてのストレージをマスストレージとも呼ぶ。

その中でもハードディスクは色んな種類があって、取り替えたいときどれを選択した方がいいのか分かりにくいですね。
これに焦点を合わせて勉強してみたいと思います。
HDDのサイズは3.5インチから1.8インチまで
HDDのサイズはPC用途だと3.5インチ、2.5インチ、1.8インチの3種類に分けられる。
3.5インチはデスクトップPC用、2.5インチがノートPC用やポータブルHDD用、1.8インチが一部サブノートPCや携帯音楽プレーヤーなどの小型機器用となっている。
接続タイプは大きく「内蔵」「外付け」「ポータブル」に分類される
接続タイプは内蔵型のほか、USBやeSATAケーブルなどを通じて接続する外付け型、同じく外付けでもUSBケーブルで給電するポータブル型の3つ。
内蔵ならシリアルATA II(SATA300)規格が主流
内蔵HDDはシリアルATA II(SATA II、SATA300)が主流だ。しばらくパラレルATA(ATAとも呼ばれる)が主流の時代があったが、パラレルATAは最高速度が133MB/秒のため、CPUやメモリーに比べて大きなボトルネックとなっていた。現在のSATA IIは300MB/秒となっている。
SCSI規格も以前は高速規格として多く利用されていたが、現在では高価なこともあってあまり利用されていない。
IDE(Ultra ATAやU-ATAともいいます)


パラレルコネクタ
ピンの数は40ピンあります。

ジャンパピン
1つのIDE信号ケーブルに2台のHDDをつなげる際、このピンの差込位置を変更します。
メインのHDDはピンの位置をマスターの位置に 、2台目のHDDはスレーブの位置にします。
(差し込み位置はメーカーによって違いますが、HDDの本体に表記されています。)

電源コネクタ
4ピン電源コネクタを差し込むところです。
SATA(SerialATA)


SATAコネクタ差込口
SATA電源ケーブルを差し込みます。

SATA信号ケーブル差込口
SATA信号ケーブルを差し込みます。

SATAのHDDはHDD増設の際のジャンパピンの設定を必要としません。
ハードディスクドライブの種類 (SAS、SATA)
サーバに搭載されているハードディスクは、インタフェースの違いにより、主に「SATA(SerialATA)」タイプと「SAS(Serial Attached SCSI)」タイプの2種類に大きくわかれます。性能、信頼性、価格が異なるため、サーバを選択する際には、サーバの利用用途に応じてハードディスクの種類を選択します。

「SATA」は、コストパフォーマンスの高さで普及したIDEやATAの後継にあたり、主にエントリクラスのサーバに採用されています。
「SAS」は、幅広くサーバに採用されているSCSIの後継にあたり、データ転送能力を向上しています。新たにシリアル転送(従来のSCSIはパラレル転送)を採用しています。SATAと比較して、性能、信頼性が高く、主にミドルレンジ以上のサーバに採用されています。
外付けの規格はUSB、IEEE1394、eSATAの3種類
外付けHDDの接続インターフェースは大きく分けてUSB2.0、eSATA、IEEE1394(MacではFireWireと呼ばれる)の3種類がある。

最も一般的で互換性が高いのがUSB2.0だが、外付け用のSATA規格であるeSATA規格が最も速度が速い。IEEE1394はUSB2.0の前身であるUSB1.1に比べて高速であったが、現在ではUSB2.0に比べて大きなスピード差がなく、一般的にはあまり利用されていない。
シリアルとパラレルの違い
 シリアルとパラレル、単純に言うと直列と並列のことであるが、何が直列並列かというとデータを送受信するときのデータそのものの並び方のことである。
 コンピュータで扱うデータは全て2進数であることは今までのエッセイでも説明しているが、ただ2進数というだけではなく扱う単位というものがある。初期の頃のコンピュータは数字とアルファベット、いくつかの記号だけを扱っていた。これらの文字にはそれぞれ文字コードを割りふらなければならないが、問題は1文字に何ビット割りふるかということだった。必要な文字の種類を調べてみると100個前後であり、これを表現するには7ビットあれば足りる(7ビット=128通りである)。そこでASCIIコードと呼ばれる7ビットコードが決められた。だがコンピュータにとって2進数を奇数の桁数を単位として扱うのはなにかと不都合が多い(詳しくは説明しないが構造的に扱いにくいのである)。したがって7ビットに1ビット追加して8ビット単位で扱うことになる。8ビットをひとまとめにした単位をバイト(byte)という。つまり1バイト=8ビットである。実際、データのサイズを論じる時にビットではなく、バイトを用いる方が多い(ビットは単位としてはいささか細かすぎるのだ)。そして1バイトは英数文字1文字分と数えるわけである。
 さて、データをバイトという単位で扱うことはわかったが、2進数であることには変りはない。実際に電子回路上ではON、OFFの信号の並びである。当たり前だが、データを送信する側は1ビットずつ相手に送り、受信する側は1ビットずつ相手から受け取ることになる。したがって、データ全体が1ビットずつ1列に並んで送り受けしていることになるが、まさに直列にデータが並んでいるわけである。ちょうど、1車線の道路で自動車が1列に並んでいる様子に似ている。このように全てのデータを1ビットずつ送り受けする仕組みをシリアルインターフェースと呼ぶ。
 これに対して、パラレルインターフェースは2車線や3車線の道路のように、同じ方向に向かって並列に信号線を用意する仕組みである。先に説明した通り、バイト単位でデータを扱うことが多いので、信号線も8本または16本というように8の倍数分だけ用意するのが普通である。
 どちらのインターフェースも古くから利用されており、それぞれの特性によって使い分けがなされている。例えば、パラレルインターフェースはシリアルインターフェースに比べて高速なデータ転送が期待できる。信号線が複数あるのだから当たり前だ。対して、シリアルインターフェースは信号線が少ない分だけ取扱いやすくコストも低く済み、ノイズにも強いため距離も稼げる。したがって、高速で近距離のデータ転送は高価なパラレル、低速だが長距離のデータ転送は安価なシリアルという考え方で利用していたのだ。
 実際、パソコンで利用されているそれぞれのインターフェースについて見てみよう。
 まず、シリアルインターフェースだがRS-232Cと呼ばれるインターフェースが代表的である。アメリカの電子機器協会(EIA)が規格化したものが最初で、その後何度も改良されているため、現在流通しているRS-232Cインターフェースの標準的な性能は、最大ケーブル長が15m、データ転送速度が約115キロバイト/秒となっている(1キロバイトは約1,000バイトである)。主な利用目的はモデムなどの通信機器とコンピュータ本体との接続である(最近ではデジタルカメラでも利用している)。また、RS-232Cケーブルにはストレートケーブルとクロスケーブルの2種類ある。RS-232Cはもともと通信機器との接続用だったため、コンピュータ同士をストレートケーブルでつなぐと出力と出力が衝突してしまう。このため、コンピュータ同士の接続には途中で出力と入力の信号線をクロスさせたケーブルを用いる。これがクロスケーブルである。
 パラレルインターフェースは、代表的なのがセントロニクスインターフェースと呼ばれるものでプリンタ用の8ビットパラレルインターフェースとして開発されたものである。これも何度か改良されているため、現在ではEPPやECPなどと呼ばれる規格もあり、最大ケーブル長は5m、データ転送速度は約8,000キロバイト/秒である。他にもSCSI(スカジーと読む)というパラレルインターフェースもある。主に磁気ディスク装置用に用いられいるインターフェースであり、最大ケーブル長は1.5m、データ転送速度は約40,000キロバイト/秒である。
 このようにパラレルは近距離で高速、シリアルは長距離で低速という位置付けになっていたのである。私がまだコンピュータを学びはじめた頃は、パラレルインターフェースというと高速で高級というイメージを抱いていた(なにやら大昔のような気がする)。
 だが、近年このイメージは崩れつつある。高速なシリアルインターフェースが次々と登場しているのである。
 その中で今のところ一番普及しているのが、USB(註3)と呼ばれるインターフェースである。最大ケーブル長は理論的には約30mまで確保できるが、データ転送速度は12,000キロバイト/秒である。このUSBはケーブルも非常に細く5mm程度の太さしかない。また、IEEE1394と呼ばれるシリアルインターフェースも登場しており、最大ケーブル長は72m、データ転送速度は50,000キロバイト/秒に達している。
 比べて、最近のパラレルインターフェースはあまり改良されていない。なぜ、逆転されつつあるのか。これはもちろん技術の進歩もあるが(当たり前だ)、両者の基本的な構造によるところが大きい。
 高速なデータ転送を行う場合、まず問題になるのがノイズによる妨害である。そして、信号線の本数が増えたり、複雑な構造になればなるほどノイズの影響が大きくなり、正確な通信が困難になる傾向がある。この点で、パラレルインターフェースは信号線が多いという特徴が弱点になる。また、パラレルインターフェースについて2車線の道路に例えたが、データそのものは自動車のように気ままに走るわけにはいかない。例えば、8ビット送り出すときにそれを横一列に並べて送り出すとする。それを受け取る時も当然だが「正確に」横一列になっていなければならない。パラレルインターフェースでは1列ごとにデータを扱うことになるわけだが、列の内容が前後に入り交じっては正確なデータ転送など到底望めない。正確に1列ずつ扱うには列どうしの間隔をできるだけ広く取ればよいが、高速な転送を行うには逆に間隔をどんどん詰めていかなければならない。列同士の間隔が狭くなるほど、ほんの少しの遅れやズレも許されない状況になってしまうのだ。このようにパラレルインターフェースは構造的に高速化しにくいところがあるわけである。
 昔は、ノイズの影響を防ぐ技術が現在ほど発達していなかった。そのため信号線1本あたりの転送速度が非常に低かったのでそれを束ねて利用するのが現実的な高速化手法だった。だが、当時に比べて極めて微細で高速な信号をノイズの影響なしに扱えるようになったため、束ねた信号線同士の同期を確立する方がかえって困難になってしまい、かつての高速化手法が今度はボトルネックになってしまったのは皮肉なものである(もっとも、こんな逆転劇など技術の歴史ではゴロゴロしているが)。
 今日まで、シリアルとパラレルのどちらがインターフェースとして有利かという議論は数限りなく行われてきた。コンピュータと周辺機器をつなぐ外部インターフェースとしてはどうやらシリアルが「お得な」選択肢となりつつあるようである(なんとなく哀愁を感じるのは私だけではあるまい、と信じたいものだ)。