既然快閃記憶體本身的容量就是2的指數,為什麼SSD和U盤的容量還要標稱為1000進位的,剩餘的容量幹什麼去了?


謝邀。

我感覺題主的問題實際上是兩個部分…

1)快閃記憶體本來容量就是2的指數,為什麼容量標稱的時候還沿用了1000進位?

2)快閃記憶體存儲器為何不提供2的指數的GB數?

對的這其實是兩個問題啊…簡單回答吧。

答1:因為存儲器用慣了1000進位。就像你上街買菜還喜歡用斤一樣,只是不同的標量而已。

答2:存儲器上有但不對用戶開放的空間往往有這麼幾個用途:甲)存儲控制器邏輯需要的信息記錄;乙)為避免數據損壞而預留的備用空間;丙)為提高性能預留的快速空間。


先說結論:

這是硬體製造商和電腦操作系統之間使用的單位換算的差異帶來的問題。

國際通用的計量單位,1毫米,1厘米,1米,1千米這樣的描述它們之間的換算或者10倍,或者100倍,或者1000倍,都是十的倍數,也就是十進位。如果用數字表示一百萬米或者十億米,普通青年會直接寫1000000米/1000000000米,文藝青年或許會寫成1,000,000米/1,000,000,000米,另一類青年則會這麼寫:1M米/1G米。生活中使用G比較明顯的例子是無線電波的頻率。

按理說,國際單位制里M,G適用於各個領域,可以說1G米,1GHz,也可以說1G攝氏度,1G噸,1G伏電壓等等,但是用G和M表示信息容量大小的時候,就出現了小小爭議。在電腦里是個二進位的世界,其中單個0或者單個1稱為一個bit,通常把8個bit合在一起,比如10011011,稱為一個Byte。

U盤容量指的就是這個U盤可以儲存多少個Byte。如果1MB就是10^6Byte,1GB就是10^9

Byte,就什麼問題也不會有了。但是在電腦世界裡,2Byte,4Byte,8Byte,16Byte……1024Byte這樣以2的次方數為「批量」處理Byte會方便一些,更整齊一些,於是就有了另一種定義,1GB=1024MB,1MB=1024KB,1kB=1024Byte,這樣算來,1GB不是1,000,000,000 Bytes而是1024*1024*1024=1,073,741,824Bytes。

1000和1024這兩種換算方法各有各的道理,前者是遵循國際單位制,與其他單位接軌,後者對於計算機的運算更方便一些。為了避免混亂標註現象的延續,國際電工協會(IEC)在1999年擬定了"KiB"、「MiB」、「GiB」等一批新的二進位單位,專用來標示「1024進位」的數據大小。而後,這一標註規範又於2008年併入國際標準化組織(ISO)文件,成為國際通行的標準——至此,GB與GiB的分野才開始明晰。

由於計算機行業的迅速發展,標準的設立又較為滯後,大量已存的誤標未被及時修改,成為了「歷史遺留問題」。目前硬體製造商,包括U盤製造商使用的都是國際單位制的GB單位(1000換算的)來標示容量,但我們熟悉的Windows系統,就依舊以「GB」字樣來表示「GiB」單位(1024換算的)。蘋果電腦的OSX系統也曾存在這一問題,不過新的版本已經將容量單位修正為名副其實的國際單位制「GB」。在下圖裡,同一個硬碟在Mac OS X10.5操作系統里和Mac OS X10.6系統里顯示的「大小」卻不相同,原因正是10.5系統使用了GiB單位,10.6系統使用了GB單位。

同一個硬碟在Mac OS X10.5操作系統里和Mac OS X10.6系統里顯示的「容量」,因為單位標準不同,數值也不相同。圖片來自:http://pcedu.pconline.com.cn


因為標註的是 GB 而不是 GiB


1000進位屬於生產環節慣例,也就是潛規則,你要說虛標或者顯得大也沒法說你什麼,你找不出全世界哪一家生產存儲設備的用 1024MB 等於 1GB 的標稱容量。

系統識別一般用1024換算,這是底層計算的限制,2進位的數據計算對於目前主流的x86和x64設備有利。

至於廠家故意預留的空間,如目前點贊數最多答主所言,一般用於應急、驅動數據、臨時緩存。

個人見解,如有誤請禮貌指出,定將虛心恭聽。


因為能顯得更大


The computer industry has historically used the units kilobyte, megabyte, and gigabyte, and the corresponding symbols KB, MB, and GB, in at least two slightly different measurement systems. In citations of main memory (RAM) capacity, gigabyte customarily means 1073741824 bytes. As this is the third power of 1024, and 1024 is a power of two (210), this usage is therefore referred to as a binary prefix.

In most other contexts, the industry uses the multipliers kilo, mega, giga, etc., in a manner consistent with their meaning in the International System of Units (SI), namely as powers of 1000. For example, a 500 gigabyte hard disk holds 500000000000 bytes, and a 100 megabit per second Ethernet connection transfers data at 100000000 bit/s. In contrast with the binary prefix usage, this use is described as a decimal prefix, as 1000 is a power of 10.

The use of the same unit prefixes with two different meanings has caused confusion. Starting around 1998, the International Electrotechnical Commission (IEC) and several other standards and trade organizations addressed the ambiguity by publishing standards and recommendations for a set of binary prefixes that refer exclusively to powers of 1024. Accordingly, the National Institute of Standards and Technology requires that SI prefixes only be used in the decimal sense: kilobyte and megabyte denote one thousand bytes and one million bytes respectively (consistent with SI), while new terms such as kibibyte, mebibyte and gibibyte, having the symbols KiB, MiB, and GiB, denote 1024 bytes, 1048576 bytes, and 1073741824 bytes, respectively. In 2008, the IEC prefixes were incorporated into the International System of Quantities.

-------------------------------------------------------------------------------------------------------------------------------

簡單的說,在硬碟工業生產中,使用International System of Units (SI)制定的標準,此時GB,MB,KB的進位是1000(對應的GiB,MiB,KiB的進位是1024),而在部分系統(比如Windows)和軟體中,使用International Electrotechnical Commission (IEC)的標準,此時GB,MB,KB的進位僅為1024(舉個例外,比如Ubuntu自帶的「文件」程序使用的是SI的標準,即進位是1000)。


推薦閱讀:

SSD 如何保養,哪些做法可以延長使用壽命?
外存儲設備的實際容量為什麼比標示容量小?
Windows7操作系統下磁碟分區怎樣管理最科學?
7200轉或5400轉的移動硬碟差別大么?
怎樣完整備份windows計算機的硬碟?

TAG:固態硬碟 | 硬碟 | 數據存儲技術 |