HDDやSSDの容量が表記より少ない理由 → 2進接頭辞とSI接頭辞が原因

原因

結論から言うと

  • HDDなどに表記されているのは・・・SI接頭辞
  • PC内で使われているのは・・・2進接頭辞

だからだった。

 

例えば、以下のようなHDDに記載されているT(テラ)は、SI接頭辞であるT(テラ)=1012

2TBの内蔵hdd
▲容量2TBのHDD。だけどWindowsに接続すると1.81TBと表示される。

 

逆に、パソコンの容量として表示されるT(テラ)は、2進接頭辞であるT(テラ)=240

▲2進数接頭辞での2TB
▲本来の容量としては2,000,396,742,656バイト。なのでHDDを販売しているメーカーは嘘を付いていない。

  • 2,000,396,742,656バイトを
    • 2進数接頭辞で表すと ≒ 1.81TB
    • SI接頭辞で表すと ≒ 2TB

つまり、

同じT(テラ)なのに意味がまったく違うのがそもそもの原因。

SI接頭辞 と 2進接頭辞の違い

表にすると以下のような感じ。

SI接頭辞2進接頭辞
名前記号記号
キロk103 = 1 000K210 = 1024
メガM10= 1 000 000M220 = 1 048 576
ギガG109 = 1 000 000 000G230 = 1 073 741 824
テラT1012 = 1 000 000 000 000T240 = 1 099 511 627 776

▲キロ以外は記号が同じなので違いが判別できない。
(キロに限ってはSI接頭辞では小文字k、2進接頭辞では大文字K

 

つまりキロに関しては、以下のように表記の違いでどちらか判別できるけど

  • 1kB=1,000バイトのこと
  • 1KB=1,024バイトのこと

キロ以外は、以下のように表記だけではどちらか分からないのだ。

  • 1MB=1,000kBかもしれないし、1,000KBかもしれない
  • 1GB=1,024MBかもしれないし、1,000MBかもしれない
  • 1TB=1,024GBかもしれないし、1,000GBかもしれない

 

こんなもん、ITに詳しくない人なら「なんで表記されてる容量より少ないんだろう」と混乱するのは当たり前ですよね。

てかITに詳しい人でも知らない人多いでしょ多分。

2進接頭辞(旧)と 2進接頭辞(新)

よくよく考えると、PCパーツとして販売されている「メモリ」は、2進数接頭辞で容量が表記されています。

例えば、以下の商品は8GBなメモリですが、ここでいう「GB」は2進数接頭辞の「GB」なので、パソコン上で認識してもきちんと「8GB」と表記されます。

 

マジで謎😑

同じパソコンの商品なのに

  • メモリ:2進数接頭辞
  • HDDやSSD:SI接頭辞

って明らかにおかしいだろどうなってんだって感じだけど

これは以下のような理由かららしい。

今回の原因を作っているのはHDDベンダである。すべての記憶装置で1,000換算が採用されているのであれば、古くからの慣習に従おうという気持ちになれなくもないが、メインメモリが1,024換算で、HDDが1,000換算なのは明らかに不自然だ。

HDDが1,000換算を採用したのは、国際単位系で定められた本来の接頭語を尊重して、もっと具体的に言えばIECで定められた国際規格「IEC 60027-2」に従って接頭語を使用しているからということが分かった。“容量が大きく見える”というのは単なる副産物であって、故意ではなかったのだ。正確な情報をつかめたのでいまここで早急に訂正したい。

引用:伊勢雅英のIT見聞録

 

上の引用をまとめると「2進数接頭辞とSI接頭辞が同じ記号だからまぎらわしいんだろ?」というわけで

以下のように新しい2進接頭辞用の記号が定義されたらしい。

SI接頭辞新しく制定されている2進接頭辞(※ただし、ほとんど使われていない)
名前記号名前記号
キロ (kilo)k103 = 1 000キビ (kibi)Ki210 =1 024
メガ (mega)M106 = 1 000 000メビ (mebi)Mi220 =1 048 576
ギガ (giga)G109 = 1 000 000 000ギビ (gibi)Gi230 =1 073 741 824
テラ (tera)T1012 = 1 000 000 000 000テビ (tebi)Ti240 =1 099 511 627 776

 

ただ、2進接頭辞用(新)はほとんど使われていないのが現状らしい。

実際、この記事を読んでいる人も知らない人が99%だと思います。

 

そしてHDD/SSDメーカーは、マイナーな2進接頭辞(新)を使うとユーザーが混乱するだろうから、いまだに2進接頭辞(旧)を使い続けているのが現状。

まぁ正直、HDD/SSDメーカーとしても

  • 「今までSI接頭辞で記載してきたのに今さら2進接頭辞(新)に変えたところでユーザーが混乱するだろう」
  • 「というかWindowsやMacがSI接頭辞表記に変えるべきでは?もしくは新しい2進接頭辞で表記すべきでしょ!」

って感じだろうし

 

MicrosoftやAppleとしては

  • 「2進接頭辞(新)に変えるなんて発表してもユーザーが混乱するだけだろうし、2進接頭辞(旧)で不自由がなかったんだから別にそのままでいいじゃん!」
  • 「てかこの問題はHDDメーカーがそもそもの発端なんだからお前らが2進接頭辞(旧)で表示したら解決するじゃん!」

って感じだろうし、おそらく一生解決しない問題でしょうね・・・。

 

 

おわり

その他
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。
2019年くらいからフロントエンドエンジニアを目指している元アフィリエイターです💩

penpenをフォローする
penpenをフォローする
penpenメモ

コメント

タイトルとURLをコピーしました