web-dev-qa-db-ja.com

SSDのサイズが奇妙なのはなぜですか?

SSDのサイズが、通常の256 GBや512 GBではなく、240 GBや120 GBのようなのはなぜですか?これらの数字は、240や120よりもはるかに意味があります。

81
Dudemanword

840 EVOシリーズのような現代の多くのSSDはあなたが好きなサイズを提供していますが、前述の256GBですが、製造業者はパフォーマンスの低下や欠陥に対処するために少しのストレージを保存していました。

たとえば、120GBのドライブを購入した場合、それは実際には128GBのドライブであることを確信できます。保存されたスペースは、単にコントローラ/ファームウェアにTRIM、ガベージコレクション、ウェアレベリングのようなもののための余地を与えます。 SSDが最初に市場に登場したときには、コントローラから見えないようになっているスペースの上に、パーティション化されていないスペースを少し残すことが一般的でしたが、アルゴリズムは大幅に向上しました。もうやりなさい。

編集:この現象は、ギガバイトで記載されている広告スペース間の食い違いで説明する必要があるという事実についていくつかのコメントがありました(例:128x10 ^ ^)。オペレーティングシステムが示す9バイト)とGibiByte値の差は、ほとんどの場合2の累乗で、この例では119.2 Gibibyteになります。

私が知っているように、これはすでに上で説明したことの上に来るものです。どの余分なアルゴリズムがその余分なスペースの大部分を必要としているのかはっきりとは言えませんが、計算は変わりません。製造元は、実際には2つの数のフラッシュセルの電力(またはその組み合わせ)を使用するSSDを組み立てますが、コントローラがそのスペースすべてをオペレーティングシステムに認識させるわけではありません。残りのスペースはギガバイトとしてアドバタイズされ、この例では111ギガバイトになります。

100
Patrick R.

メカニカルハードドライブとソリッドステートハードドライブはどちらも、定格容量を超える生容量を持っています。 「余分な」容量は不良セクタを交換するために確保されているので、ドライブは組立ラインから完全に離れている必要はなく、不良セクタは後で使用中にスペアセクタに再マッピングすることができます。工場での初期テスト中に、不良セクタはスペアセクタにマッピングされます。ドライブが使用されるとき、それは(ビットレベルエラーを検出するためにエラー訂正ルーチンを使用して)セクタを監視し、そしてセクタが不良になり始めたとき、それはそのセクタをスペアにコピーし、次にそれを再マッピングする。そのセクターが要求されるたびに、ドライブは元のセクターではなく新しいセクターに進みます。

メカニカルドライブでは、サーボ、ヘッド、およびPlatterのエンコーディングを制御するため、任意の量のスペアストレージを追加できます。したがって、セクタリマッピング用に1GBの定格ストレージと1GBのスペアスペースを追加できます。

ただし、SSDはフラッシュメモリを使用します。フラッシュメモリは常に2の累乗で製造されています。アドレスをデコードするのに必要とされるシリコンは、200バイトをアクセスする8ビットアドレスに対して、256バイトをアクセスする8ビットアドレスと同じである。シリコンのその部分のサイズは変わらないので、シリコンの再生状態を最も効率的に使用するには、実際のフラッシュ容量に2のべき乗を使用することです。

そのため、ドライブメーカーは2の累乗で総未処理容量を使い続けていますが、セクター再マッピングのために未処理容量の一部を確保する必要があります。これにより、たとえば256GBの未処理容量となり、240GBの使用可能容量しか得られません。

23
Adam Davis

端的に言えば、すべてのSSDは基本的に、宣伝するものではありません。彼らが宣伝しているのは「使用可能な」ディスクスペースです。 120 "使用可能な" GBの記憶域を持つほとんどのドライブでは、ベースドライブは実際には128 GBのドライブです。前述のとおり、8 GBは特定のバックグラウンド管理タスク用に予約されています。

さて、技術的に彼らはあなたに128 GBの "使用可能な"スペースを与えるためにその作品の上に別のチップを平手打ちすることができたが、それはより多くのお金がかかる。ドライブを製造している会社は、その使用可能スペースが実際には2の倍数であるかどうかよりも、ドライブがどれほど大きいかを人々がより気にすることを認識しています。

補足 - 実際に必要なシステムコードを書くにはいくつかの方法があります。そのため、さまざまなメーカーの120、124、および128 GBのドライブを見ることができます。それらはすべて128 GBの "raw"スペースを持っていますが、それらは必要とされる背景のものを異なって処理します。他のバージョンに比べてドライブコーディングのバージョンがそれほど優れていないので、ほとんどの場合それに気付くでしょう。パフォーマンスベンチマークのわずかな違いに気付くかもしれませんが、コンピュータが重い作業をしていて、何を探すべきかわかっていない限り、それに気付くことはほとんどありません。

6
user319078

2の累乗による成長は厳密に数学的な概念であり、2つの状態に基づいたコンピューターで簡単に数学のショートカットを取ることができます。つまり、コンピューターは、数値を10で乗算または除算するのと同じくらい簡単に、2の整数で整数の乗算または除算を実行できます。実際に計算を実行することなく、桁を左または右にシフトします。

すべてのプログラミング言語には、これらの簡単な操作用の演算子があり、Cライクな言語では、n >> m aka shift n right m bits aka divide n by 2^m、およびn << m aka shift left akaです。 multiply n by 2^m。プロセッサ内部では、この操作には通常1サイクルかかり、データがインプレースで発生します。 3で乗算するなど、他の算術演算では、ALU [Arithmetic Logic Unit]を呼び出して、余分なサイクルまたは2ビットをマーシャリングし、結果を特定のレジスタにコピーして戻す必要があります。 Heavenは、小数点の精度が必要で、FPU [Floating Point Unit]が関係する場合に役立ちます。

とにかく、これが、コンピューターが内部的にすべてを2のべき乗と呼ぶのを好む理由です。マシンがメモリポインターオフセットを計算するための簡単な計算を行うたびにALU操作を実行する必要がある場合、コンピューターの実行速度は1桁遅くなります。

一方、物理ストレージの成長は、物理、工学、および*チョーク*マーケティングによるよりも、生のバイナリ数学によって支配されます。スピンドルディスクの場合、容量はプラッターの数、プラッターのサイズ、「シリンダー」のサイズ、およびシリンダーに収まるセクターの数によって決まります。これらは一般に、ハードウェアの物理的能力と、読み取り/書き込みヘッドの精度によって他の何よりも決定されます。

私はSSDの内部特性にそれほど精通していませんが、スケーリングは以下に基づいていると思います:N x M NANDセクターのアレイを構築し、それらをチップの深さKにレイヤーし、Jチップをそれらに適合させることができます2.5 "HDDケース。それらのH%をパフォーマンスの最適化のために確保し、数値を最も近い5/10/20の倍数に切り捨てます。これが、ボックスに印刷するドライブの容量です。

これらの計算のいずれかがきちんとした2のべき乗になることは、完全なまぐれであり、誰にとってもほとんど利益になりません。

2
Sammitch