フューチャー技術ブログ

インフラ入門vol.4(ストレージ)

はじめに

こんにちは、TIG所属の川村です。
キャリアとしてはほぼ大半をインフラ担当として過ごし、データセンターの室温環境の中でも気にせず過ごせるという体質になったため(防寒のために脂肪を身に着けたという説もあり)、通常のオフィスが未だに暑くて難儀しています。

インフラ、興味深いですよね。今はクラウドサービスの隆盛もあり、アプリケーション分野に脚光が当たることが多いですが、これらを裏で支える素敵なインフラデザインを見るとキュンとしてしまいますね。当時のハードの仕様のため入り組んだ構成になったシステムが後年すっきりしたデザインになるのは感動的でもありますし、可用性を担保するたためにメッシュになったネットワーク構成図も幾何学的で美しいものです。

今回は連載のインフラ入門の第4回目として、前2回で続いたネットワークから視点を変えて、ストレージについての説明をしようかと思います。

過去記事について

  1. インフラ入門vol.1:インフラ全般に興味を持ってもらうためのアツい記事です。
  2. インフラ入門vol.2(ネットワーク):ネットワークって何さ? から仕様検討の上での入門知識が書かれた記事です。
  3. インフラ入門vol.3(ネットワーク冗長化構成):冗長構成にスポットライトをあてた若干ニッチな記事です。
  4. インフラ入門vol.4(ストレージ):この記事。ストレージの主流となるHDDやSSDの特徴についての記事です。
  5. インフラ要件定義編

そもそもストレージって?

当記事の対象は当然ITインフラに限ったストレージですが、それでも範囲が広いため、今回はコンピュータの構成要素における補助記憶装置、その中でも現在主流のハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)を主な対象とします。補助記憶装置、ということは主記憶装置もあるわけで、こちらはコンピュータでいうところのメインメモリとなります。

主記憶装置と補助記憶装置の単純な違いとしては以下になります。

  • 主記憶装置:読み書きが速い、電源が消えると内容が消える、データサイズ単価の価格が高い
  • 補助記憶装置:読み書きが遅い、電源が消えても内容は消えない、データサイズ単価の価格が安い

この特性もあり、1ユニット単位の容量もメインメモリとHDDを比較すると200倍以上の差があります。

実際の利用例としてはプログラムの入出力として使用されるファイルは普段補助記憶装置に記憶されており、プログラム実行時に主記憶装置(メインメモリ)に読みだされ、処理終了後に補助記憶装置のデータに更新の必要があれば補助記憶装置に書き戻されます。

ストレージの特徴(HDD編)

現在もエンタープライズシステムにおけるストレージの主流。近年SSDに押されていますがまだまだ最前線で活躍しています。その最大の特徴はデータサイズ単位の価格が低いことです。2020年4月現在、1万円程度で6TBのHDDが購入できますが、同程度の価格帯でメインメモリ、SSDと比較すると

  • メインメモリ:16GB
  • SSD:500GB~1TB

となり、HDDの圧倒的なコストパフォーマンスが伝わります。
参考ですが、テープ媒体であるLTOはLTO7(6TB:圧縮時15TB)のテープが1本1万円程度です。さすがにここまでは達していませんが、利便性を考えるとHDDでのデータ長期保管も現実味のある選択肢になってきています。LTO、決して使いやすいとは言えないし・・・

そんなHDDですが歴史は長く、初期は高級品でした。家庭のPCで利用されるようになったのは1980年代半ばから後半にかけてでしょうか。このころはそもそもPC自体がある家庭が珍しく、私の家にはたまたまありましたが30MB程度の容量でした。それでも当時のフロッピーディスクの20倍超という大容量で、当時保存するデータは文字データが中心なこともあり、なかなか使いきれないサイズ感でありました。

HDDドライブの内部構成としてはプラッタというアルミニウムやガラスに磁性体を塗布した円盤をモーターで回転させ、ヘッドで読み書きを行います。プラッタは5400rpm(round per minuts)から10000rpmを超えるものまであり、最外周部は100km/hを超えるスピードに達します。このプラッタとヘッドの距離は数nmしか離れておらず、飛行機が地上スレスレを飛んでいるような状態と例えられることがあります。また、HDDは内部にもキャッシュメモリを内蔵しており、直近でアクセスしたデータにおいてはキャッシュメモリから読み込みが行われます。

ディスクに対する書き込み、読み込みは セクタ と呼ばれる単位ごとに行われます。一般的には512B単位であり、512以下のデータはセクタ内に、512Bを超えるデータは複数セクタに記録されます。例として、513Bのデータは2セクタを使用するためディスク上は1024B使用していることになります。プラッタ上でのセクタ1周分をトラックといいます。トラック内のセクタ数は外周になるほど多くなります。

また、CD-RやDVD-Rと異なり、HDDは外側からの書き込みとなります。これは、プラッタが円形であることから外側の方がセクタが多くなり、同じ一周でもプラッタの外側の方が多くのセクタにアクセスが行えます。実際HDDに対する書き込みスピードは最初と最後で差があることが分かっています。インタフェースの側に目を向けると、データ転送の規格がPC向けだとSATA(SATA3.0:600MB/s)、エンタープライズレベルでSAS(SAS3.0:2400MB/s)となっており、特にSATAは転送速度向上が近年鈍化しており、転送速度向上には時間がかかる傾向にあります。

雑学ですがレコードも外側の方が1回転で読み取れる情報量が多いため、外側に記録されている曲は音質が良くなります。カセットテープはサーボモータによりテープの送り出し速度が一定のため、どこに記録されても音質は一定となります。オーディオCDも音声ファイルの仕様により一定の音質となります。

構成部品の点数、回転するプラッタとヘッドの関係により振動に弱いという特徴もあり、信頼性はあまり高くないです。特にモバイル機器においてはHDDの故障が多く、こちらはいち早くSSDが主流になったという経緯があります。また、物理的なドライブのサイズもSSDに比べると大きく、本体の厚みにも影響を及ぼします。

HDDの特徴まとめ

  • データサイズ単位の価格が安い
  • ドライブの最初と最後で読み書きのスピードが変わる
  • インタフェース規格の性能向上が鈍化しており、データ転送速度が他インタフェースに対して相対的に遅い
  • 物理的なサイズが(SSDに比較して)大きい
  • 駆動部品の多さから信頼性が低い

ストレージの特徴(SSD編)

今、新規でノートPCを購入するなら大抵はSSD採用モデルになるのではないでしょうか。SSDが個人ユースに普及しだしたのは2010年頃。当然ながらデータサイズあたりの単価はHDDに比べ高価ですが、消費電力の低さ、耐衝撃性、動作音も発生しない、規格によってはHDDより小さく、薄く作れるという優位性の多さから置き換えが進んできています。

SSDを構成する部品はフラッシュメモリとキャッシュメモリ、アクセス制御用のコントロールチップなどとなります。製品の差別化に使われるのはフラッシュメモリが大半で、メモリの種別としてNAND型とNOR型(SSDは通常NAND型)、メモリセル1つに対して何bit書き込むかによりSLC型(1bit)、MLC型(2bit)、TLC型(3bit)、QLC型(4bit)に分類されます。が、仕様情報が公表されていることはあまり多くなく、価格帯でなんとなく判断をすることが多いです。また、駆動部品がないことからHDDに対して相対的に故障率が低く、HDDではよく用いられるRAIDという耐障害構成はSSDでは不要という声もあります。

フラッシュメモリ(NAND型)は読み込み・書き込みはページ単位、消去はブロック単位で行われます。上書きは行えないためデータの更新は消去を行ってから書き込むことになります。1ページは標準的なSLCでは2112バイト、1ブロックは64ページとなります。1ページを上書きする場合、以下の挙動となります。
 1.該当ページが所属するブロックの情報を読み込みフラッシュメモリ外部へキャッシュ
 2.該当のブロックを消去
 3.上書きするページ、キャッシュしたページの書き込み

SLCにおける、1ビットを記録する単位をメモリセルと呼びます。メモリセルには書き換え回数に上限があり、それを超えると書き換えが行えなくなります。書き換えが行えなくなるセルを含んだブロックを不良ブロックと言い、領域として使用されなくなります。メモリセルの書き換え回数の上限はSLCが10万回程度、MLCで1万回程度、TLCは3000回程度、QLCは1000回程度と言われており、SSD使用中に利用できる領域は減少していく傾向にあります。書き換えを多く行うデータを置く場合はMLC型以上のSSD採用の検討を行った方がいいかと思われます。

SSDは当初HDDの置き換え用途もあり、HDD同様SATA規格での普及が進みましたが、近年はPCI Expressをインタフェースに使用したM.2型のSSDが、その性能から主流となりつつあります。PCI Expressのスロットに挿すタイプのSSDもありますが、こちらはデスクトップ向けの高性能用途として利用されます。PCI ExpressはSASを大きく上回る4000MB/s(PCI Express 3.0 x4)のデータ速度となるためコンピュータ内でボトルネックになることが多いディスクI/Oの性能向上に寄与できます。

SSDの特徴まとめ

  • 高信頼性
  • 読み書きスピードが速い
  • 書き換え回数に上限がある
  • 物理サイズが小型化できる
  • 製品仕様が分かりづらい

さいごに

HDD、SSDのハードウェア仕様のみの説明となりましたが、他にもCD-R、DVD-Rなどの光学ディスクやLTO、DATといったテープデバイスなどの媒体、RAIDなどの仮想ドライブ、NASやSANといった利用形態、ファイバーチャネルなどを使用したインタフェースなど、ストレージの世界を構成する要素については、この連載の続きで私を含む誰かが解説してくれることを期待してます。

クラウド化が進んだ昨今、物理ストレージを意識する機会は減りつつありますが、利用しているサービスの奥底には物理ストレージがあることを記憶していただけると幸いです。