ハードディスクが宣伝されているほど大きくないのはなぜですか?


18

私が購入したすべてのハードドライブから、それらは宣伝されているサイズほど大きくないようです。320 GBから290 GBまで、500 GBから450 GBまでなど。これには技術的な理由がありますか?


3
もちろん、技術的ではない理由は、メーカーが販売を促進するために、ボックスに正当化できる限り多くの数を配置することです。これは、機能について「最大」で価格が「開始」の小さな活字を使用した広告に似ています。
デビッドソーンリー

5
ドライブ、宣伝されているサイズと同じです。オペレーティングシステムはそれらを間違って測定します。
エンドリス

2
ドライブは常にフォーマットされていないサイズとして指定されていることを忘れないでください。フォーマットされた場合、フォーマットテーブル、ページ置換テーブルなどのために使用可能なスペースが少なくなります。
ダニエルRヒックス

(しかし、私が差し込んだ16Gスティックの合計は16,000,761,856バイトです。プロパティによると。)
ダニエルRヒックス

@DanielRHicksおめでとうございます!あなたはあなたが交渉した以上のものを得ました!;-)
サミール

回答:


29

技術的な理由は、ハードドライブメーカーが容量をメートル単位で販売しているためです。したがって、メートル法によるGB = 1,000,000,000バイト。ただし、コンピューターはドライブサイズを2の累乗で測定します。つまり、1GiB = 1,024MiB、1MiB = 1,024KiBなどです。これは、1GiB = 1,073,741,824バイト、73,741,824の差を意味します。

したがって、1GB(例のため)ドライブをインストールすると、OSは0.93GiBのみを認識し、これが不一致の原因です。

(GiBという略語を見たことがない場合は、1000ではなく1024の累乗を示すために採用された新しい表記法です。ただし、ほとんどのオペレーティングシステムはGiBをGBとして報告し、この問題をさらに混乱させます)


6
Gi => GではなくGibi => Giga
ChrisF

@ChrisFは:うん、私はそれを説明する私のポストに補遺を追加
カイルクローニン

11
また、古い「1.44Mb」フロッピーディスクを使い始めないでください。これらは実際には1440 * 1024バイトで構成されており、1000と1024の両方のメジャーを同時に使用しています。これは、MIBでもMBもないではなかった
R.マルティーニ・フェルナンデス

1
ウィキペディアは過去記事を持っているとの違いを示すチャートen.wikipedia.org/wiki/Hard_disk_drive#Capacity_measurementsを
クリス・ナバ

1
Appleは最近、MacOSX内のディスクサイズの表示を変更して、メトリック値を使用するようにしました。
クリス・ナバ

9

もともと、これは4GBペンドライブに関するこの質問に対する回答でした(マージされました)

人間のシステムは10の累乗に基づいており、2の累乗に基づいてバイナリに基づいて
います」という質問から始めましょう。

メトリックプレフィックスが10、1000 ^ 3〜10であるのパワーであり、K ^ 6〜10であるM ^ 9 10 G ... バイナリプレフィックスは= 1024 2(2 ^ 10ではない、これまで1000が、異なるのパワーであり、2.4%)。

4000000000/1024/1024/1024  Your 4GB are 4 000 000 000 Bytes
3.72529029846191406250     That becames around 3.73 GiB 

ベンダーと法律:ベンダーが法律で強制しない場合、ベンダーは市場のルールに従って行動します。4は3.78よりも売れています。同じ理由で、インターネットプロバイダーはしばしばbpsについて話し、Bpsを理解できるようにします。要因8があります:a Byte(B)は8ビット(b)です。

問題は、法律が存在することですが、すべての国で同じというわけではありません。

国際システム、またはSIは、最も広く(これは、1960年に出版された現在では、ビルマとリベリアを採用している部分的にのみUSAです)商業、科学のための世界で使用されています。
それは測定単位だけでなくプレフィックスも確立します。

コンピュータの世界では2のべき乗(人間の世界の 10ではなく)の数値ベースの使用が自然であるため、1998年にバイナリプレフィックスのシステムが導入されました。ここに直接テーブル。最近では、次のような状況にあります

the International Electrotechnical Commission (IEC) and several other standards
(NIST...) and trade organizations approved standards and recommendations 
for a new set of binary prefixes that refer unambiguously to powers of 1024

あなたが1GBそれを読むときは1 000 000 Bytes
代わりにあなたが1GiBそれを読むべきです1 073 741 824 Bytes

なぜあるべきであり、そうでないのか?なぜなら、それは、どのようにその国の議員がその品目を生産し、その国の議員がその品目を輸入するかによって、国際委員会の指令を採用し、法律に変換するからです。

だから目をよく開いておいてください。

(いくつかの国では、接着剤のラベルに、法律の義務を果たすために情報を書き込むために処方されてもいるので。通常、それはあなたがよりので、少しです、本当に維持する必要も開いて、それを読んで読むためにあなたの目を)


その他の参考資料


7

ドライブの製造元が500 GBの容量のドライブを作成すると、500,000,000,000バイトの容量があり、そのように宣伝することは確実です。バイナリデバイスであるコンピューターは、異なるプレフィックスセットを持つ2の累乗を好むため、ストレージスペースの測定に使用します。

1キビバイト= 2 ^ 10、1メビバイト= 2 ^ 20、1ギビバイト= 2 ^ 30など。

たとえば、このマシンには300 GBのドライブが接続されており、Windowsは容量について次のように表示します。

Capacity:          300,082,855,936     279 GB

300,082,855,936 / 2 ^ 30 =〜279。何それは実際にあなたを示していることで、ドライブのサイズですgibiバイト、ないギガバイト。したがって、次のようになります。

Capacity:          300,082,855,936     279 Gi

これはWindowsの欠陥であると言う人もいるかもしれませんが、ストレージ容量のプレフィックスの意味に関する明確な標準はないようです。このウィキペディアの記事には、「消費者の混乱」に関するセクションを含む、より多くの有益な情報があります


4

説明については、この記事を参照してください。

基本的に、「ギガバイト」には2つの定義があります。1つの定義は、1GB = 1024 3バイトです。これは、コンピューターが報告する定義です(技術的な理由により)。

もう1つの定義(SIユニットから)は、1GB = 1000 3バイトです。これは、他のすべてのメトリック単位と同じです(1ギガメートル= 1000 3メートル)。

ギガバイトのメトリック定義は、コンピューターがギガバイトと見なすものよりも小さいため、ハードドライブメーカーは、ボックスに大容量を印刷できるため、メトリック定義を使用します。

少量のスペースもファイルシステム自体によって使用されますが、不足している容量のほとんどはギガバイトの定義によるものです。


4

実際の大きさを確認したい場合は、使用するセクターサイズと合計セクター数を確認してください。次に、これら2つの数値を乗算して、合計サイズをバイト単位で取得します。これが本当のサイズです!どのオペレーティングシステムでも!ディスク容量とも呼ばれます。

T = b x S

Where T is the total disk size in bytes,
b is the sector size in bytes,
and S is the total number of sectors.

セクター数

多くの場合、デバイス自体のラベルに印刷されているセクターの数を確認できます。そうでない場合は、モデルのデータシートをご覧ください。これは、モデルに関するあらゆる種類の技術的詳細を指定するドキュメントです。インターネットに接続された世界では、これは製造元のWebサイトで、Webページ上の何らかの種類の表で、または学習および参照用にダウンロードできるファイル(通常はPDF)で見つけることができます。古い時代(Webが登場する前)では、ハードディスクドライブを購入したときに印刷されたコピーを受け取っていた可能性があります。

セクターサイズ

セクターには、物理​​セクターと論理セクターの2種類があります。最も一般的な物理セクターサイズは、標準ディスクの512バイトです。セクターサイズは、最新のハードディスクドライブのラベルには記載されていません。その理由を理解するには、論理セクターと物理セクターの違いを理解する必要があります。これについて簡単に説明します。

LBAディスク

最新のハードディスクドライブは論理セクタを使用します。これは、LBA(論理ブロックアドレス指定)と呼ばれます。実際、ラベル上のセクターの合計数を検索すると、LBAと呼ばれるセクターの数が表示されるため、次のようになりますLBA: 123456789。これは、セクターの合計数です。これらはディスク上の論理セクターであり、LBAアドレッシング方式を使用して読み書きされます。この方法により、オペレーティングシステムは、物理セクターサイズよりも大きい割り当て単位でファイルシステムフォーマット(NTFS、FAT32など)を使用できます。

wd マックストール

配分単位

アロケーションユニットは、とコンセプトが似ているセクタサイズは、物理セクタのサイズを変えずに、そのサイズを変更することができるという点で、それの広告柔軟性のいくつかのレベル。あなたが人生で複数のハードディスクドライブを購入してインストールし、フォーマットした場合、間違いなくこの用語に出くわすことになります。現在、NTFSでフォーマットされたハードディスクドライブの最も一般的な割り当てユニットサイズは、4K、8K、および16Kです。「今日」と言うのは、最近ハードディスクドライブが利用できるディスクサイズのためです。

つまり、1つのハードディスクドライブにどのアロケーションユニットサイズが適切かは、別のハードディスクドライブには適切でない場合があります。それはそれがどれくらい大きいかに依存します。アロケーションユニットサイズが小さいほど、アロケーションユニットサイズは小さくなり、アロケーションユニットサイズが大きいほど、大きくなります。ただし、小さなハードディスクドライブで大きなアロケーションユニットサイズを使用することを妨げるものではありません。それどころか!アロケーションユニットの論理的な性質により、フォーマット処理中に設定でき、物理セクターよりも大きく設定できます。小さいハードディスクドライブでは、ディスク領域を犠牲にして、大きな割り当てユニットを使用するとパフォーマンスがわずかに向上する傾向があります。

これが、Microsoftが用語をセクターサイズから割り当て単位に変更した理由です。これは、いくつかのWindowsバージョンで発生しました。正しく思い出せば、この用語を使い始めたのはWindowsの9xファミリーの1つでした。

アロケーションユニットは、ディスク上の1つまたは複数の物理セクターに内部的に変換およびマッピングされます。このタスクは、ドライブコントローラーによって実行されます。コントローラは、ハードディスクドライブの背面にあるPCBボードです。初期のATAハードディスクドライブ(現在はパラレルATAまたはPATA)のコントローラーボードは、IDE(Integrated Drive Electronics)として知られていました。歴史的に、ハードディスクドライブには常にコントローラが組み込まれていませんでした。代わりに、これは別のインターフェイスでした。

LBAでアドレス指定されたハードディスクドライブで最も一般的な物理セクターサイズは512バイトです。しかし、2010年頃から、多くの新しいハードディスクドライブは現在、Advanced Formatタイプになっています。これは、512バイトより大きいセクターサイズを使用することを意味します。現在、最大のセクターサイズは4K、つまり4096バイトです。

要点は、最新のハードディスクドライブの物理セクターサイズは、ユーザーにとってほとんど関係がないことです。物理セクターサイズは、論理セクターと割り当て単位に編成され、ユーザーから抽象化されます。Advanced Formatディスクにはさらに1つの抽象化レイヤーがあります。これらのディスクは512バイトのセクターをエミュレートできますが、4096の物理セクターを使用するためです。このため、セクターサイズは通常、LBAアドレス指定のハードディスクドライブのラベルには印刷されません。AdvancedFormatディスクの場合はさらに大きくなります。ただし、それでも物理セクターサイズはあります。この詳細は、各モデルのデータシートに記載されています。または、実行中のシステムでユーティリティソフトウェアを使用して確認できます。

CHSディスク

このタイプのディスクは、LBAアドレス指定ディスクドライブよりも前のものです。彼らは、読み書きのためにアドレス指定するCHS(Cylinder Head Sector)と呼ばれる方法を使用します。ユーザーは物理セクターに直接アクセスできます。LBAとは異なり、セクター抽象化レイヤーはありません。これらのディスクのセクターサイズは、512バイトであることがほぼ保証されています。ただし、ユーザーが変更することもできます。

「低レベルのフォーマット」について聞いたことがありますか?これがその用語の由来です。物理セクターへの直接アクセスの結果、セクターのサイズを変更することが可能です。これにより、ユーザーはディスクを「低レベル」でフォーマットできます。つまり、ディスク上のセクターを物理的に再書き込みします。これは、ディスクに問題がある場合に役立つことがありました。これはディスクを更新する手段でした。最新のハードディスクドライブでは、真の低レベルフォーマットは不可能です。これは、ファイルシステムのフォーマットと混同しないでください。

量子 IBM

CHSディスクのラベルには、特にトラックごとのセクター数(SPT)が詳細に印刷されていました。セクターサイズについて言及がない場合は、512バイトであると想定されました。その他の詳細は、シリンダーの数とヘッドの数です。それらが主要な3つでした。それ故、シリンダーヘッドセクターという名前。これには正当な理由もありました。CHSアドレッシングを使用した非常に初期のハードディスクドライブでは、これらのパラメーターはすべて、システムのBIOSセットアッププログラムで手動で設定する必要があったためです。これはインストールプロセスの一部でした!したがって、これは適切にインストールするための重要な情報でした。BIOSの強化、ディスクドライブ、インターフェイスの革新など、PCプラットフォームの進化に伴い、ハードディスクドライブを接続するだけでシステムはそれを検出し、自動的に構成しました。

あなたは私が過去の時制でこれらのディスクについて書いていることに気づいたかもしれません。これは、それらが時代遅れであり、(ほとんど)どこにも見つからないためです。おそらく技術博物館を除く。

プレフィックスのバイトサイズ

測定に関する最初の基本事項:

  • 2進数字(ビット)は、2進コンピューターの最小測定単位です。1または0のいずれかです(または、量子コンピューターの両方)。
  • ビットは小文字のbで省略されるか、ビットとして表記され ます
  • 次の単位はバイトです。
  • バイトは、大文字のBで省略されるか、バイトまたはバイトとして表記され ます
  • 1バイトは正確に8ビットです。
  • 次の単位は単語である、そしてそれは通常と同じように綴られる 単語
  • 語長はプロセッサアーキテクチャによって異なります。通常は8ビット、16ビット、32ビット、または64ビットです。
  • その次の単位は、ダブルワードやクワッドワードなどのワードの倍数です。
  • ダブルワードはDwordまたはDwと省略され、クワッドワードはQwordまたはQw と省略されます。

これらは基本的な測定値ですが、プログラマーでない限り言葉に出会うことはありません。ディスクサイズ、パーティション、およびファイルはバイトを使用しています。バイトは、最も実用的な測定値です。ディスク上のセクターは、バイトのブロックです。慣例により、これは最も一般的には512バイトであり、2の倍数です。

2^0 = 1 byte
2^1 = 2 byte
2^2 = 4 byte
2^3 = 8 byte
2^4 = 16 byte
2^5 = 32 byte
2^6 = 64 byte
2^7 = 128 byte
2^8 = 256 byte
2^9 = 512 byte

これらの最小バイトサイズは、数字のみで簡単に表現できます。ただし、2の20の倍数は1048576、30の倍数は1073741824です。これがバイトを表す場合、プレフィックスを使用して同じ値をより簡単に表現できます。これが、キロ、メガ、ギガなどのプレフィックスがある理由です。しかし問題は、これらがメートル法10進数測定システムで使用されるSI(SystèmeInternational)プレフィックスであるということです。このシステムの各プレフィックスは、10の倍数である値を表します。一方、バイナリコンピューターは、2の基数を使用して情報を測定します。

unit 10^0 = 1
kilo 10^3 = 1000
mega 10^6 = 1000000
giga 10^9 = 1000000000

このため、国際標準化団体であるIECがバイナリプレフィックスの概念を導入しました。キロ、メガ、ギガなどの名前は、バイナリ測定で使用されることを反映するために、このシステムでわずかに変更されました。

kibi 2^10 = 1024 = 1024^1
mebi 2^20 = 1048576 = 1024^2
gibi 2^30 = 1073741824 = 1024^3

名前は、SIシステムでのそれぞれの名前と単語バイナリの連結です。例えば、吉備は、から形成されるKI LO及びBI進。

オブジェクトの質量が5000グラムであると言うと、その値を5 kG(キログラム)のプレフィックスで表すことができます。末尾のゼロを削除するために1000で割っています。接頭辞の値がわかっているため、2番目の人は、最初に測定したグラム数を尋ねる必要はありません。彼は、5 kGの表記法を採用し、1000を掛けてグラムに変換することで、単にプロセスを逆にします。キロは1000を意味するため、5 x 1000 = 5000です。

各セクターが512バイトの場合、ディスク上の最初の30セクターは15360バイトです。これをより簡単に表すには、1000で割ることができます。結果は15.36キロバイト、つまり15.36 kBです。これを最も近い整数に丸めると、15 kBになります。別の人がこの数を見た場合、15 kBが正確な測定値であると想定し、1000を掛けてバイトに変換します。元の測定値は15360バイトだったため、これは15000バイトになりますが、これは正しくありません。一方、15360バイトを1024で割ると、正確に15 KiBになります!それはキビバイトです。小数展開なし!「KB」ではなく「KiB」と表示されるため、別の人は元の値を取得するために1000ではなく1024を掛けることを知っています。

同様に、メーカーがデバイスに8 GBを印刷するとき、10進数のプレフィックスを使用しています。末尾にゼロの値があるもの!したがって、8 GBは8 GiB(ギビバイト)または8 x 2 ^ 30ではなく、8 x 10 ^ 9 = 8 000 000 000バイトです。ただし、Windowsは、バイナリサイズの計算(2の累乗)を10進数のプレフィックス(「GB」など)で使用しています。したがって、Windowsでは、これらの8 000 000 000バイトは2 ^ 30(または1024 ^ 3)で除算され、7.450580597 "GB"(実際にはGiB)になります。これは、最も近い100分の1の位に丸められるため、Windowsでは7.45 "GB"と表示されます。Microsoftはこの意味でGBではなくGiBを使用する必要があるため、「GB」を引用し続けます。これは、すでに混乱しているトピックにのみ広告を掲載します。

実施例

写真のハードディスクドライブからのラベル情報を使用して、いくつかの例を実行します。最初に500 GBのディスクを見てみましょう。

Capacity: 500 GB
LBA: 976773168
976773168 x 512 = 500107862016 bytes
500107862016 / 1024^3 = 465.761741638 ≈ 466 GiB

したがって、これは466 GiB、つまりMicrosoftの用語では466 GB(およびJEDEC)です。数は除算後でも偶数ではなかったことに注意してください。これは、ユーザーがデータの保存に使用できるセクターよりも多くのセクターがあるためだと思います。一部のセクターは保護され、一部は再マッピングに使用されます。一部のセクターは時間が経つにつれて悪化するため、これは他のセクターが予備として使用される場合です。ハードディスクドライブは、不良セクタをマークして追跡し、使用を停止します。

容量番号のみを取得してGiBに変換すると、次のようになります。

500 GB = 500 x 10^9 = 500000000000 byte
500000000000 byte = 500000000000 / 1024^3 = 465.661287308 ≈ GiB

数字はやや小さいことがわかりますが、依然として466 GiBに丸められています。しかし、正確なバイト数では、これは実際に使用できる量に近くなります。この方法では、セクターサイズを知る必要はありません。正確な容量は、LBA番号とセクターサイズを使用して計算されます。これが、残りの例で使用するものです。

Capacity: 320 GB
LBA: 632672208
632672208 x 512 = 323928170496 bytes
323928170496 / 1024^3 ≈ 302 GiB

最後に、CHSディスクの1つを示します。基本的な考え方は非常に似ています。特に指定がない限り、セクターサイズは512バイトと想定されます。Quantumディスクを見てみましょう。IBMを自分で行うことができます。量子ディスクはその容量については何も言っていません。

C: 2484
H: 16
S: 63
2048 x 16 x 63 x 512 = 1056964608 bytes
1056964608 bytes = 1056964608 / 1024^2 = 1008 MiB
1056964608 bytes = 1056964608 / 1024^3 = 0.984375 ≈ 0.98 GiB

行くぞ!なんと0.98 GB!許して!0.98 GiBを意味しました!;-)

マーケティング

「保証されたセクター」と呼ばれるものがあります。これは、一部のハードディスクドライブのラベルまたはデータシートに印刷されています。これは、ユーザー/消費者とストレージデバイスベンダー間の継続的な紛争の結果です。この混乱は、クラウドコンピューティングの時代、およびソリッドステートディスクが主流の技術になり、徐々に古いハードディスクドライブに取って代わる世界において、今日でもなお存在しています。

マーケティングには、これとは関係なく、ほとんどありません。これは純粋に数学の問題であり、数学自体の問題ではなく、人々の問題です。それはすべて続けられることを許されているただの大きな混乱です。少なくとも、MicrosoftはバイナリプレフィックスをKiB、MiB、GiBと表記する必要があります。Windowsは、今日でもPCのメインオペレーティングシステムです。


3

実際には通常、宣伝されているのと同じ大きさですが、次のとおりです。

  1. BからKBへの変換などを行う場合、常に(私が知る限り)1024ではなく1000を使用します。
  2. ファイルシステムは、すべてを追跡するために少量のスペースを使用します。

他の理由かもしれませんが、それらは私が知っている主要なものです


3

昔のコンピューターでは、すべての計算は(パフォーマンスの観点から)高価でした。プログラマーは、あらゆる種類のショートカットを使用して、できるだけ少ない計算を行いました。これらのトリックの1つは、日付の年の部分を2桁のみとして保存することで、最終的にy2kの問題につながりました。別のトリックは、彼らが1k(キロ)を、文明世界の他のすべての人がしたように1000を意味するのではなく、代わりに1024を意味することでした。これにより、サイズの計算を行う際にいくつかのコーナーをカットできました。コンピューターの計算は非常に安くなっていますが、その習慣は固まっており、今日でも使用されています。

ハードウェアの製造元は、K = 1000、M = 1000000、G = 1000000000の適切なサイズを提供しています。それはあなたに間違った価値を与えているソフトウェアです。

ソフトウェアメーカーは最近、習慣を変えています。たとえば、OSXは適切なサイズを示しています。


彼らが変化し始めていることを知っているのは良いことです。
09stephenb

6
私は、2のべき乗の習慣を切り口に帰するのが正しいとは思いません。たとえば、2.2 TB(2 TiB)のMBR HDサイズ制限は2.2 TBではありません。なぜなら、今日(または過去に)誰かがコーナーを切り取ったからです。 512バイトブロックは2.2 * 10 ^ 12バイトを意味します。( - 4ギガバイト、512ギガバイト- 2の累乗ように見えるというサイズでフラッシュドライブを販売する完全に無意味であることをこれも手段。実際のバイト数が2の累乗に近い本当にではないので)
arne.b

1
私は... SIの大きさの単位を使用するメーカーは、彼らがより少ないハードウェアでより安く「2ギガバイト」と呼んで到達することができます...あなたはスティックの間違った終わりを持っていると思います
基本


2
ハードディスクとネットワークは小数単位を使用する傾向があり、メモリ関連の値はバイナリを使用します。
パラドロイド

-1

これにより、ハードドライブのサイズについて言及する際に、標準およびメトリックに相当するものがあると考える他のコメントが明確になります。

いいえ、正確にはデータにメートル法を使用していません。私はそれを「メタメトリック」、つまり実際のメトリック単位の「隣にある」単位と考えるでしょう。

データサイズを表すためにメトリックプレフィックスが使用されました—キロ=、メガ=、ギガ、テラ、ペタなど。

ただし、SIには「ビット」または「バイト」の単位がありません。

また、より小さな単位であるミリ、マイクロ、ナノも借りられましたが、データには適用されませんが、「プロセッサ」に適用されました。(「ミニコンピューター」は、メインフレームに比べて小型のコンピューターでした。「マイクロプロセッサー」と「マイクロコンピューター」は、ミニコンピューターよりもはるかに小型でした。どちらの場合も、1000:1の比率は意味しませんでした。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.