最近思うHDDのこと。
最近やたらと大量にデータをHDDに保存しまくって整理せずに放置しているファイルが多くなってちょっとだけ困ってたりもする。
メインのHDD構成はSATA80GB×2でRAID0にして速いは速いけど足りないよね、そこで、いろいろとHDDを探していたんだけど、どのメーカー、どの容量にするか迷ってたときに、頭に例のアレを思い出してしまった。
アレというほどでもないんだが、実は知ってるようで知らないHDDとかメモリー界のからくりを思い出したので、さぼりかけているブログに備忘録を兼ね書いてみることにした。
その、からくりってやつは、パッケージに書いてある容量とパソコンで見る容量が微妙に違うってこと。
あぁ、そんなことかと思う人もいると思う。正直、いまさらっていう話題でもある。
ぇええっ!?っと思う人いると思います。
実際、この記事も俺の周りの2次オタどものために書いてあるようなものw
まぁ、例をあげてしまった方が手っ取り早い。
Seagate製の1TBのHDDをTsukumo.exで見つけ買っていきました。
そして帰って、パソコンに増設し、あることに気づきました。
なぜ、931GBと表示されているのでしょうか。
そう、実際に買った1TB HDDとの差は実に69GBにも及ぶんです。
これにもいろいろと深いわけがあるんですよ。
パソコンの世界、要するにCPUはどうやってデータを処理しているか。
または、どのような数字を使って計算しているかがポイントとなります。
答えは2進法と呼ばれる数を数える一つの方法です。
通常、皆さんは10進法と呼ばれる方法で数を見ています。
10進法は、1,2,3,4,5,6,7,8,9まで行くとひとつ繰り上がります。
2進法では、0,1でひとつ繰り上がります。
そもそも、なぜ、パソコンでは2進法が使われているのか。
それは、CPUなどの頭脳に当たる部分では電源のONとOFFの違いしか見分けられません。
つまり、電気がながれているか、流れていないか。だけ。
この2種類の情報は、bit(ビット)という単位で表されます。
つまり、1bitは0または1のどちらかを表していることになります。
2bitであれば、4種類の情報を表すことができ(00、01、10、11)。
以後bitがあがるごとに2の乗数分の情報量が扱えるようになります。(3bit=2 x 2 x 2=8通りの情報)
ところで、ハードディスクなどの容量では、最小単位はbyte(バイト)で表されています。
これは、複数のbitをまとめた単位のことです。
1byteに含まれるbit数は、場合によって様々なため断定することはできませんが、もっともポピュラーな単位として、1byteは8bitで構成されている、というものがあります。したがって、通常、特に何も書かれていなければ1byteは8bitと考えます。
以上のことから、byteとは本来2進数で表される単位である、といえます。
また、皆さんに質問です。
1KBとは何Bですか?
1000Bではありません。1024Bです。
通常、KMやKgは1000mや1000gと使いますが、2進法では、2の10乗が割与えられています。
2の9乗だと512ですし、11乗だと2048となります、よってもっとも近い数字の1024が正解です。
つまり1MBというのも1000KB、1024KB よって、1MB=1048576byteということです。
だから、1GB=1073741824byte、1TB=1099511627776byteと計算されています。
では、10進法の意味で使って1TBと表記していたハードディスクを、2進法に換算すると容量はいくらになるでしょうか?
1,000,000,000,000 ÷ (1,024 x 1,024 x 1,024)≒931.32G
これがコンピュータで認識される実際の容量になります。
まぁ、こんなめんどいことしなくても、
10の9乗:2の30乗
=1000000000:1073741824
≒93.1322574615478515625・・・/100
≒93.13%
よって、GBに直したやつに電卓で「×.93」すれはでてくるってこと。
また、パッケージとパソコンでの表示の差がαGBだとしても方程式を使えば出てくる。
ex)パッケージとパソコンでは276MBも差が出てしまいました、ではもともと何GBのものだったのでしょうか?
方程式をつかってやる、中1レベルの方程式で十分。
もともとパッケージに書いてあった容量をX MBとすると。
X × (1-0.93) = 276MB
X × 0.07 = 276MB
X = 3942.85・・・MB
X ≒ 4MB
最後適当だけど、大体はこれでつかめるハズ。
あぁぁ、結構こういうのって整理するの大変だね。
間違ってたらコメント入れてくだされば修正入れときます。
あぁ、疲れた、見てくださった方、ありがとうございました。
でも、本当にどうしようかな。250GB×2でもいいけど、GB単価高いから500GB×でもいいしな。
いっそ、intelの160GBSSD×2でもいいけど、高すぎか。
techno #
これは非常に難しい話です。
元をたどれば、コンピューターがなぜ2進数で(ry から辿らなくては。
なんで、CPUを64bitにしなきゃいけないの?!とかも、なんとなく絡んできますよね。
もし、人間がBinやHexな世界で文明が進化していれば、こんなややこしいことにはならなかったのだけど。
1,000,000,000,000 Byte みたいに、全部Byteで表示すれば何の問題もないのにとか思ったりw
この問題は、考えるとややこしい。
ちなみに、RAMの容量はこんなことになってないので、ご安心をw
というと、なぜ半導体製品は2^nな容量なのに、HDDは(ryってことになってきますね。
SSDが普及すれば、250GBとか500GBとか、中途半端な(コンピューターにとって)容量はなくなりますね…
2進とか16進の計算ができると便利だけど、10進あ?面倒な…
kota #
買ったHDDはST31000340ASで合ってますか?
僕も最近ST31000333ASのタイ製CFD箱(青箱)を買ったのですが、起動時にカコンと音がしますorz
普通なら壊れる手前の症状ですが、2ちゃんねるの関連スレを見る限り同じ症状の人(タイ製を中心にたくさんいる)は、そのままでも使えてるらしいので今のところ交換とかはしていません。
一応5年保証のようなので4年目くらいに壊れてくれれば新品になるので(ry
(バックアップ用なのでデータの心配はあまりない)
容量に関してはGBからTBになって差が大きくなりましたが、それを含めて考えているのであまり困ったりはしません。
それでも、最初から正確な表示にしてほしいですね。
airmiya #
technoさん、kotaさんコメントありがとうございます。
>technoさん
コンピューターが二進法の道を歩んできたのはやっぱり、その当時、約60年前では、ON、OFFの二つ?の要素しか判断ができなく、それを人間に伝えるために、ソフトウェアで対応させたんじゃないでしょうか。(当たり前といえば当たり前w
人間がBinやHexな世界で文明が進化してたら、面白そうですけど、テレパシーのようなことしかやってないような・・・w
そういう、人たち(宇宙人)がいるならぜひ会ってみたいですけどね。
HDDとMEMの統一はしてほしいですよね。もちろんMEMの方で。
どっかのメーカーが500とか書いてしまうからいけないんですよw
パッケージにはパソコンで見られる数字を乗せるべきだと思いますね。
あと、SSDに関しては、2,4,8,16・・・とUSBメモリーみたいになってますけど、これも、見た目だけで、PCだと93%ですよね。
intelとかMSが基準を変えてくれればこんなことにならないと・・・。
>kotaさん
いえ、買ってませんw誤解を招いたのでしたらすみませんでした。
起動時のカコンは、たぶんHDDの待機時にプラッタからアームが離れて、振動を与えても害を与えないような設計になってて、
スピンアップ時に、プラッタに移動する音で、たぶん問題ないと思いますよ。かなり気になるけど。。。
G、T、と増えていくたびに、%なのでどんどん差が開くのがうざいですね。
やっぱり、kotaさんの言うとおり、正確な表示にしてほしいですね。
kota #
>まぁ、例をあげてしまった方が手っ取り早い。
この部分を見落としてました。
すいませんm(_ _)m
>起動時のカコンは、たぶんHDDの待機時にプラッタからアームが離れて、振動を与えても害を与えないような設計になってて、
スピンアップ時に、プラッタに移動する音で、たぶん問題ないと思いますよ。
そうなんですか。安心しました。
ほかの2台のSeagateのHDDはこの音がほとんどないので、最初に聞いた時はかなりビビりました。
airmiya #
いえいえ、見づらかったかもしれなかったですねすみません。
起動時のカコンは・・・(ry
僕の勝手な予想ですよ。以前のそんなHDDがあるって見たのとSeagateもやってるとのことで書いてみましたが・・・。
HDD=大事なデータの貯蔵庫、絶対に壊れてほしくないですね。
ちなみに、ぼくのメインはSeagate製を2つでRAID0組んでますが、5年たった今もまだまだ現役。少々ガリガリ音がうるさいけど・・・。