2008年6月21日土曜日

キロバイトでなくキビバイト

1キロバイトは1000バイトか1024バイトか紛らわしい。ハードディスクは前者を使って売られているが、メモリは後者である。たかが2%の差ではない。1TBのHDDは1000^4バイトだが、1TBのメモリでは1024^4バイト =1,099,511,627,776バイトで、1割近い。それに1割といっても100GBである。

SI接頭辞の定義からするとハードディスクが正統そうだが、メモリー容量には歴史的にも便宜上も1キロ=1024を使う。メモリにSI接頭辞を使うと面倒なことになる。チップ容量は2のべきが基本だからである。(脱線だが、フラッシュメモリはさらにややこしい。SDカードやCFカードでは1GB=1024^3バイトなのに対し、SSDでは1GB=1000^3 バイトだったりする)

実はすでに手は打たれていた。Wikipediaによると、IECは1998年に2進接頭辞というのを承認している。1024は1K(kilo)ではなく、1Ki(kibi)、1024^2は1M(mega)ではなく1Mi(mebi)、1024^3は1G(giga)ではなく、1Gi(gibi)、1024^4は1T(tera)ではなく、1Ti(tebi)となる。なんだ、これを皆で使えばよいではないか。しかし、実際には普及どころか、専門家でも知っている人は少ない。区別できるほうが便利なので、試しにしばらく使ってみようと思う。

T/Tiの後ろには、SI補助系では, P(peta), E(exa), Z(zeta), Y(yota)と続く。対応して2進接頭辞は、Pi(pebi), Ei(exbi), Zi(zebi),Yi(yobi)まで定義されている。Yiは「予備(yobi)」にも見えるが、どうであろう。

Ciscoの予想Visual Netwoking Indexによると、2012年のインターネットの全トラフィックは0.5zetta bytesになるとのこと。年率46%の伸び予想で、単純にさらに20年延ばすと、2032年には0.5yotta bytesとなる。このzettaはどちらであろうか。1ZiBは1.18ZBと2割近く、1PiBは1.20YBと2割多くなる。私は、zettaであり、zebiではないと思う。2のべきが都合がよいのは半導体チップの容量であり、CiscoがわざわざSI補助系を使わないことはないと思うからである。

0 件のコメント: