搞不清楚的1000與1024

Jonathan Chen
4 min readJan 15, 2018

--

親愛的軟體定義儲存PM:

我一直搞不清楚,所謂的TB,或者說是Terabyte,到底是等於1000GB,還是1024GB呢?我到底該使用哪一個呢? — —挨踢的哀小姐

親愛的哀小姐,

您問到儲存界的大秘密了。

很多人都以為,這些MB、GB、TB都是用1024為基底,所以:

"1 TB = 1024 GB. 1 GB = 1024 MB."

其實,真正的定義不是這個樣子的!依照最初也是最標準的定義,TB 這單位寫做 Terabyte,應該是1000^4 = 1,000,000,000,000 bytes。

而另外有一個單位叫做 Tebibyte (TiB),是1024^4 = 1,099,511,627,776 bytes,才是真正以1024為基底的單位名稱。而這兩者一比,1 TiB約為1.1 TB,足足有10%的差距。

因此,當您買硬碟,不管哪一家,不管是傳統的還是固態的,規格書上的1TB,就是簡單10進位來計算的1TB=1,000GB=1,000,000MB,不要再幻想硬碟廠商會算成 1024 GB 而多送你24GB了!

說到這裡,您一定想問,連小學生都會的十進位,為什麼會讓大家都以為是二進位的1024呢?這個就要怪到Microsoft了。

早在當年的MS-DOS,或許是他老兄傻傻搞不清楚,或許是當年的OS沒有辦法標清楚,就錯把KB和MB的單位當作2^10=1024為基底,因此讓全世界都以為1024才是對的。而這個積非成是幾十年的錯誤,時至今日,我猜就算哪一天大家不用Windows了,還是會覺得1TB=1024GB、1GB=1024MB吧?

好不容易把背景說完,那麼哀小姐,我再請您想一想,到底該用哪一個呢?從此改用正確的定義嗎?還是將錯就錯呢?

我給你的建議是:要清清楚楚別人用哪個,更要搞得清楚用哪個對自己最有利。

買硬碟或SSD的時候,一定要記得,硬碟廠商告訴你的是十進位。估計自己需要多少空間的時候,不管三七二十一,至少再加10%,先把單位不同的誤差補上。(其實很多儲存系統是不能用太滿的,太滿就太慢,甚至不能動,不過那是另一個儲存系統的秘密了...)

如果你是要賣儲存系統,不論客戶需求書上寫的是『可用100 TB』還是『可用100 TiB』,別管客戶懂不懂,就以100 TiB = 102,400 GiB 的數量來規劃,因為空間不夠實在太可怕。

萬一,客戶覺得太貴要砍價?把系統規劃書的單位TiB改成TB,神不知又鬼不覺,偷了客戶10%的可用空間,偷了10%的硬碟成本,也擠出10%的利潤空間了。

永遠1024不偷工減料的軟體定義儲存PM

如果您喜歡這篇文章,請多按下方的「拍手」圖像幾次、或是分享到社群網站上!

--

--

Jonathan Chen
Jonathan Chen

Written by Jonathan Chen

Leadership in software product/project/program management. PM of Gemini Open Cloud. Volunteer of Agile Community Taiwan. jonathan.speaking@gmail.com

Responses (3)