見出し画像

ハードディスク回顧録

一応、必ずしも建前でもなく、プロフィールにおいて執筆案件の募集をしている関係で、多少は更新頻度も今までよりは意識しようと思います。先日から少し他のSNSでハードディスクについて触れる機会があったので、今回こちらにまたハードディスクの話題を書きたいと思います。取り上げるテーマは特になく、ざっくばらんに今日のWindows PCの黎明期からの話を少し。

1990年後半の、インターネットとWindows95パソコンの普及期に、HDDの大容量化が始まったと思います。当時は接続インターフェースとしてIDE(ATA)が主流であり、多少高級な構成やサーバーなどでSCSI、という感じだったと思います。IDEはDMA(Direct Memory Access)が普及し始めて、転送速度は大体33MB/s~66MB/s程度でした。SCSIはより回転数が高かったですが、数値上の転送速度は規格にもよりますが多分20MB~30MB/s以下くらいだったと思います。

その後、シリアルATA(SATA)が普及し、元々パラレルだったATAがシリアル接続となり転送速度は一気に高速化しました。秒間ギガビット単位の転送にも対応する物が普及し、その後主にSSD用のインターフェースとしてより高速なM.2といった物も現れました。

SSDは、大きく分けるとSLCとMLCとなり、最小記憶単位であるセル毎に単一のデータを格納するのがSLCで、多重化して容量を増すのがMLCとなります。経年変化により強いのはSLCですが、知る限り今日ではMLCが主流と思います(最近買っていないので詳しく知りません)。

容量の点で見ると、Windows95初期で約1GB~4GBが主流で、今日のメモリーよりも小容量でしたが当時はそれでも大容量でした。なお、当時はPCのファームウェアはBIOSが主流で、この場合HDDのジオメトリに基づく容量の計算に桁数の制限があり、構成によってはHDDのスペック通りの容量が認識されない事も稀にありました。原理的には、BIOSは規格上約500MBまでしか認識出来ず、そこに各種の拡張を行ってようやく約8GB、更に、当時出始めたLBA(Logical Block Addressing)というシーケンス番号によるディスクアクセス方法の拡張を利用して、ようやく約2TBまでの認識が可能だったと思います。

これも結局はBIOS側とHDD側の仕様の組み合わせなどから制限が生じる事が多々あり、その中でHDD側の仕様上の制限はHDDの先頭セクタに保存されるMBRという領域の構造に由来することとなります。MBRでは、4つのパーティションテーブルと呼ばれる各16ビット桁の領域でディスクの管理を行うようになっていて、その関係などから、BIOSとの組み合わせで扱えるHDDの最大容量は約2TBに制限されたと思います。今日では、より大容量のHDD/SSDを扱う機会が多い関係から、BIOSは後継規格といえるUEFIにほぼ置換され、MBRもUEFIとの組み合わせではGPT(GUID Partition Table)と呼ばれる後継仕様に置換されています。GPTでは、GUIDという128ビットのシーケンス番号から構成される識別子を用い、これに基づきHDD/SSDの容量管理を行う事より事実上上限容量は無制限、およびMBRではプライマリが4つまでだったパーティション分割を128個まで行えるように拡張されています。

ざっくり、回顧録的に書きましたがお昼過ぎの過ごしやすい時間と思いますので今回はここまでにいたします。内容についてご指摘等ございましたら、ぜひコメントを頂けると幸いです。一応多少は調べましたが、ほぼ記憶を元に書いております。以上。

いいなと思ったら応援しよう!