見出し画像

貪欲になる天使様-「天使の取り分」

PC関係だと、割合的に難解なネタを取り扱う事が多いのが私の所だったりするのは百も承知で、内容によっては「わかってんの前提」みたいな書き方をする事もあったりするワケなのですが、そういう内容って実は書いてる方も書いてる途中で頭ぐるんぐるんでワケわかんなくなるもので、どうも筆が進まない昨今です。

という盛大な言い訳をド頭に持ってきた上で、今回はお気軽な楽チンネタで行ってみようと思います。事前に必要なPCの基礎知識も大したモンじゃないので、ぜひ肩の力を抜いて。まぶたの力抜いたら前も明日も見えなくなるので、それはご注意を。ちなみにネタはストレージ(HDDとかSSDとか)関連です。

宗教要素ゼロ、はた迷惑な「天使様」

皆さんは「天使の取り分」、もしくは「天使のわけまえ」といった言葉を聞いたことはあるでしょうか? 「天使」とありますが、宗教的な要素は全くありません。たんなる言葉のアヤ、とでもお考えください。あるいは「天使なら仕方ないかー」と人間を納得させる天使の策略とお考えください。

この言葉それ自体は、実はPC関係発祥の用語では無く、お酒の業界、ブランデーやウィスキー、ワインなどのような「木製の樽」で熟成を行うような種類のお酒から発祥したようです。これに関しても大した難しい話でも無く、これらのお酒の熟成期間は短くて数年、長ければ十年以上にも渡るため、その間に中で熟成されているお酒の水分やアルコール分が少しずつ蒸気になって、「液体は通さないが気体なら通ってしまう」という木製の樽から外へ逃げてしまう為、「最初に樽に入れたお酒(熟成前)の量から、熟成後に量が少なからず減ってしまう」という状態になります。この減ってしまった分を、「天使の取り分」などの形で表現したのが、どうやら出処のようです。今も昔も(きっと)これからも、こんなお酒好きな天使様はどこかに舞い降りて、樽の中で美味しくなるように熟成しているお酒の味見をして回るのでしょう。

さて、ここまで来て「お前んトコで酒のネタなんか期待してねぇわ」という方が80割(typoに非ず)かと思いますが、実はこれと似たような事が起きているのが、PCをはじめデジタル関連の「ストレージ」HDDやSSDなどにおいて、大昔から今に至るまでずっと、この「天使の取り分」が、ほぼ確実に皆様の環境にも存在しているのです。しかもこれが技術の進化とともに年々大きくなっている状態。ストレージ技術の進化は、どうやら天使様を傲慢にさせてしまったようです。

向こうとこっちで数え方が違う、PC版「天使の取り分」

画像1

(ページTOP画像をもう一度)

こちらの画像は、Windows10上からハードディスクのデータを参照したもの。単位はギガバイト(GB)表記で、5589.01GBとなっています。1000GBを1TBと計算すると、およそ5.6テラバイト(TB)という事になりますが、実はこのHDD、製品としては6TBで販売されているもの。

「詐欺じゃねーかバカ野郎!」……という騒動は、実は割と昔にはあったのですが、最近はこのような表記のズレが当たり前として浸透しているか、もしくは誰も気にしなくなったのか、そんなにブチギレで怒っている方を見る事もなくなりました。

で、実際の所詐欺じゃないの? という話なのですが、実はコレ、メーカー側できちんと記載があります。

画像2

(東芝のHDD製品Webサイト欄より)

画像3

(Western DigitalのHDD製品パッケージ裏面)

ここでまさかのSeagateの該当記述が見つからないという緊急事態ですが、たしかSeagateもどっかに記載していたはずです。Webサイト、HDD及びSSDのパッケージと確認したのですが、該当の内容が見当たりませんでした。記載されている箇所を確認された方はぜひお知らせください。

……とまぁこんな感じで、「10億バイト」とか「1兆バイト」とか「たくさんバイト」みたいな書き方でアレではありますが、これが何を言っているかというと、例えば上の例で出した6TBのHDDについては、メーカーとしては「1000GBが1TBだから、6000GBで6TB」という計算で販売しているのです。現時点においては、少なくともHDDとSSDに関しては原則的にどちらも同じようです。一応、テラバイト枠まで並べて書いてみると、
・1TB=1000GB
・1GB=1000MB
・1MB=1000KB
・1KB=1000Bytes
となります。重さで言う所の「1kgは1000g」というのと基本的には同じです。

一方、「コンピュータの世界は2進数(2進法)」という話や、「1MBは1024KBだ」という話を耳にしたことのある方もいらっしゃるでしょう。これもまたその通りで、コンピュータの世界では「2の累乗」が計算の基礎になる事が多くあります。「2」の右上にちっちゃく数字が乗るアレ。根号(「√」記号)で中高生時代に泣きたくなった人も多いかと思います。この計算方法に則ると、「2の10乗」が単位の基本になります。そう、「1024」です。つまり、この計算方法の場合、先程のテラバイト枠までと同じく並べると、
・1TB=1024GB
・1GB=1024MB
・1MB=1024KB
・1KB=1024Bytes
となります。同じ単位にも関わらず、数字のズレが生じます(細かいことは後述)。

ちなみに、近年の「ゲーミングなんとか」で光りまくるアレに記載される事が多い「1680万色」というカラーバリエーションですが、正確には1677万7216色となり、形式としては24ビット、「光の三原色」となる赤(Red)、緑(Green)、青(Blue)をそれぞれ256色で表現した際の最大数(256の3乗)となります。HTMLなどで色指定をする際にも、「0~255」までの256色(ゼロも含む)で指定しますが、HTMLの色指定では「16進数」という、これまた違う数値基準を使う為、「16*16=256」を3つ並べて指定を行います(16進数:0~9のあと、A~Fを使って「一桁で16までカウントする」方法)。例えば「#000000」「完全な黒」「#FFFFFF」「完全な白」となります。一般的なTVやディスプレイも多くの場合同様で、「およそ1677万色」「フルカラー」と呼ばれます。

計算は単純だけど桁数が多すぎて頭が痛くなるパターン

画像4

(みんな大好きマトリックス ※画像はイメージです的な)

そんなわけで、改めてHDDやSSDの容量違いに戻ってみましょう。それぞれの製品メーカーは「1000GBが1TB」という基準で製品を作っていますが、Windowsに関しては「1024GBが1TB」という計算で容量管理を行います。そうなると、「製品メーカーが1TB」として販売しているHDDは、実際には以下のようになります。

HDDメーカーの表記:
1TB → 1,000GB → 1,000,000MB → 1,000,000,000KB → 1,000,000,000,000Bytes
それをWindowsに認識させた時の表記:
1,000,000,000,000 Byte / 1024 → 976,562,500 KB
976,562,500 KB / 1024 → 953,674.316406 MB
953,674.316406 MB / 1024 → 931.322574615 GB
931.322574615 GB / 1024 → 0.90949470177 TB

とこんな感じで、Windows上からは「およそ910GB」の容量として認識されます。メーカー表記とのズレが実に90GB。「おかしいだろバカ野郎!」と言いたい所ですが、これがまた双方の言い分には(一応)問題がないというのが厄介な所です。

さて、これが6TBのHDDだとどうなるでしょう?

HDDメーカーの表記:
6TB → 6,000GB → 6,000,000MB → 6,000,000,000KB → 6,000,000,000,000Bytes
それをWindowsに認識させた時の表記:
6,000,000,000,000 Byte / 1024 → 5,859,375,000 KB
5,859,375,000 KB / 1024 → 5,722,045.89844 MB
5,722,045.89844 MB / 1024 → 5,587.9354477 GB
5,587.9354477 GB / 1024 → 5.45696821064 TB

姉さん、事件です。

さっきの1TBの計算時には90GBのズレだったものが、6TBのHDDでは実に550GB程度まで広がっている事になります。上記計算には最小単位の「ビット(bit:1Byte=8bit)」を含んでいない為、更に誤差が出ていますが、だいたいこのくらいのズレが生じます。そこでこちらを見てみましょう。

冗談じゃねぇぞ製品一本分吹き飛んでるじゃねぇか! というツッコミはもう何年も前に色んな人が実行済みです。私もやりました。こうした計算方法での算出になるので、「元となるHDDのサイズが大きければ大きいほど、『天使の取り分』も増えまくる」という事になります。1TBの時に90GB程度のズレだったものが、6TBで550GB程度のズレになっているので、まぁザックリ6倍……で収まってねぇという。世の中不条理は数あれど、これほど不条理なものはそうそう他にありません。というのが次。

古くからPCに関わっている程泣きたくなる「傲慢な天使様」

私が初めて買い与えてもらったPCは、ノートPCの東芝Dynabook Satellite Pro 440CDXでした。今でも型番を暗記しているくらいですが、本機はWindows95時代で、さらにその前にWindows3.1やMS-DOSで色々いじくっていた時期もありました。で、このノートPCに搭載されていたHDDの容量が「1.4GB」でした。点の位置間違えても、単位間違えても、数字間違えてもいません。1.4GBです。HDDです。これでWindowsが動いていました。なんならOffice系もゲームなんかも動いていました。ついでにメインメモリは「32MB」のモデルでした。単位間違えていません。32MBです。これでも当時は大容量なほうでした。その後自作でPCを組んだ時のメインHDDがたしか45GB程度当時で2万円は軽く超えていたと思います。

もう何を言いたいのかだいたいおわかり頂けるかと思いますが、「技術が進んで容量が増えまくった!」事に喜ぶと同時に、「当時使っていたストレージのサイズが、まさかの『計算誤差』で吹っ飛ぶ」というあまりにあんまりな事実にも泣かされてきました。Dynabookはもちろん、その後の初自作のPCで使ったHDDのサイズですら、今使っている6TBのHDDでは「誤差の一部」でしかないのです。PC老害の皆様、大いに泣きましょう。そしてSSDを買いまくりましょう。先に出した謎のフレーズ「姉さん、事件です」が一発で分るような世代は、きっとフロッピーディスクのシャッターバネをわざと外して遊んだり、紙ジャケの5インチ8インチのフロッピーを団扇代わりにしたりしていたと思います。「姉さん、事件です」の意味がわからないボーイズ&ガールズは近くのオッサンかオバサンに長話覚悟で聞いてみよう! だんだん私も頭がヤラれてきました。元から? うっせーわ!

ネタで終わらせておきたい方はこの辺まで、追加的な情報はCMのあと!

画像5

(天ヒーは名曲)

そんなわけで、今回は最近あまり聞かなくなって3日くらい前に寝る前に思い出したネタこと「天使の取り分」について、あくまでネタとしてご紹介しました。みなさんが今後HDDやSSDを追加した時に「容量すくねーじゃん詐欺かよ!」とならないよう、かるーく頭の片隅にでも知識として置いておいて損はありません。少なくとも「Amazonのレビューに『詐欺!』って書いたらバカにされた」という事態は回避出来ると思います。責任は持ちません。

という事でHDDやSSDのCMを露骨に打った後、ちょっとだけ「単位」について踏み込んだ情報をザッと掲載して本記事の〆とします。

HDDとSSD、同じストレージでも基本設計が全く異なる為、まだまだ暫くはHDDも高い需要を持つことになるでしょう。障害発生時の安全性、という点ではSSDにはまだ不安が残ります。

番組が終わる前の3分情報的なの:SI接頭辞と「キビ」表記と「オクテット」

さて、ここから先はホントにドギツいヲタク系の方向け。ぶっちゃけ私ですら「もーどっちでもいーよ、電卓叩けば良いんだし」的な内容。

様々な数値の単位を規定する「国際単位系(SI)」において、SI単位(基本単位)に付与して10の累乗とするものが、いわゆる「キロ(k)」だったり「メガ(M)」だったりします。一部例外として、重さの単位「グラム(g)」については「キログラム(kg)」が基本単位となっており、その他は「メートル(m)」「リットル(l)」などの10の累乗(=1000)に対して付与されます。

という事で、データサイズの表記となる「バイト(B)」に関しても、SI接頭辞を使用する場合には10の累乗、1000を一つの単位として上位単位に繰り上げられる事になり、これが製品製造メーカーの記載する内容(1TB=1000GB等)の根拠になります。

一方、Windowsを始めとしたOSやソフトウェア等では、「2の累乗」が基本になり、これが「1024(2の10乗)」の根拠になります。元々2進数で計算されていたから、という事情もあるようですが、案外そう単純な話でも無いようで、「データ量」と「情報量」では、関連はあるものの別々の概念として存在しています。ただ、この表記法は「2進接頭辞」として使用されています。

これに関して、国際単位系(SI)側としては「ややこしいから10の累乗以外でSI接頭辞使うなや(※意訳)」と2006年に強調しており、つまるところ「2進接頭辞」は「国際単位系」では無い、と突き放された格好です。その他にも、「バイト(Byte)」が場合によって「8ビット」の事以外を示す事がある事から、より厳密に「8ビットを1単位に」とした単位として「オクテット」が存在します。こちらは確実に・厳密に・間違いなく「8ビット=1オクテット」となります。

その他、接頭辞に関してもSI単位系と明示的に異なる記載が出来るよう、「バイナリディジット(Binary-Digit)」を根拠にした「キビバイトKilo-Binary-digit)」「メビバイト(Mega-Binary-digit)」等も存在し、こちらの場合は単位がそれぞれ「KiB」「MiB」と表記されます。面倒くさい事に、「キロバイト」と「キビバイト」と「キビオクテット」はそれぞれ別の数値を指す場合がある、という事で、通信系やハードウェアの低階層(より「シリコン」に近い部分)では「オクテット」を基準に、かつバイナリディジットを使って「確実に8bitを基準とする」ように計算されているようです。また、「どっかで見た」程度の確度しか無いのですが、SI側から各コンピュータ関連企業や団体に対して、「SI単位系に揃えろ」というお達しが入ったとか入らなかったとかあるらしいですが、そのへんをMicrosoftはじめOSメーカーやベンダー各社がぶっちぎってるらしい、との事です。個人的には前述した通り「電卓叩けば良いからどーでも良いよ」なのですが、これがストレージサービスやそういったサーバ系の関係になると、ダイレクトにコストとぶち当たる部分になる(どっちの単位系記載でストレージ貸与を行うか、あるいは通信量規定を行うか等)為に、なかなかシビアな現行の現実的な問題とも言えそうです。

はい、頭痛くなったのでここまで。誰かSSD買ってください。1TBでも1TiBでも1テラオクテットでも良いので。