單位
硬碟的容量是以MB(兆)和GB(千兆)為單位的,早期的硬碟容量低下,大多以MB(兆)為單位,1956年9月IBM公司製造的世界上第一台磁碟存儲系統只有區區的5MB,而現今硬碟技術飛速的發展,數百GB容量的硬碟也已進入到家庭用戶的手中。硬碟的容量有8GB、16GB、32GB、40GB、60GB、64GB、80GB、100GB、120GB、160GB、200GB、240GB、250GB、300GB、320GB、400GB、480GB、500GB、512GB、640GB、750GB、800GB、880GB、960GB、1TB、1.5TB、2TB、3TB、4TB、5TB、6TB、8TB、10TB、12TB,硬碟技術還在繼續向前發展,更大容量的硬碟還將不斷推出。
計算方法
在購買硬碟之後,細心的人會發現,在作業系統當中硬碟的容量與官方標稱的容量不符,都要少於標稱容量,容量越大則這個差異越大。
標稱8GB的硬碟,在作業系統中顯示只有7.4GB;
16GB的硬碟只有14.8GB;32GB的硬碟只有29.8GB;40GB的硬碟只有37.2GB;64GB的硬碟只有59GB;80GB的硬碟只有74.5GB;100GB的硬碟只有93.1GB;120GB的硬碟只有112GB;128GB的硬碟只有119GB;160GB的硬碟只有149GB;256GB的硬碟只有238GB;320GB的硬碟只有298GB;480GB的硬碟只有GB;500GB的硬碟只有465GB;512GB的硬碟只有476GB;750GB的硬碟只有699GB;960GB的硬碟只有894GB;1TB的硬碟只有931GB;1.5TB的硬碟只有1.3TB(1397GB);2TB的硬碟只有1.8TB(1862GB);3TB的硬碟只有2.7TB(2793GB);4TB的硬碟只有3.6TB(3724GB);5TB的硬碟只有4.6TB(4657GB);6TB的硬碟只有5.5TB(5586GB);8TB的硬碟只有7.4TB(7448GB);10TB(GB)的硬碟只有9.3TB(9300GB);而12TB的硬碟則只有10.9TB(11176GB)。
這並不是廠商或經銷商以次充好欺騙消費者,而是硬碟廠商對容量的計算方法和作業系統的計算方法有不同而造成的,不同的單位轉換關係造成的。
眾所周知,在計算機中是採用二進制,在電腦世界裡,以2的次方數為“批量”處理Byte會方便一些,整齊一些。每1024Byte為1KB,每1024KB為1MB,每1024MB為1GB,每1024GB為1TB,而在國際單位制中TB、GB、MB、KB是“1000進制”的計數單位,為此國際電工協會(IEC)擬定了"KiB"、“MiB”、“GiB"的二進制單位,專用來標示“1024進位”的數據大小;而硬碟廠商在計算容量方面是以每1000為一進制的,每1000位元組為1KB,每1000KB為1MB,每1000MB為1GB,每1000GB為1TB,在作業系統中對容量的計算是以1024為進位的,並且並未改為"KiB"、“MiB”、“GiB"的二進制單位,這差異造成了硬碟容量“縮水”。
以120GB的硬碟為例:
廠商容量計算方法:120GB=120,000MB=120,000,000KB=120,000,000,000位元組
換算成作業系統計算方法:120,000,000,000位元組/1024=117,187,500KB/1024=114,440.9MB/1024=111.8GB。
簡單算法:硬碟容量 /(1024*1024*1024)
80,000,000,000/(1024*1024*1024)=74.5GB
40,000,000,000/(1024*1024*1024)=37.25GB
硬碟需要分區和格式化,作業系統之間存在著差異,再加上安裝作業系統時的複製檔案的行為,硬碟會被占用更多空間,所以在作業系統中顯示的硬碟容量和標稱容量會存在差異,而硬碟的兩類容量差值在5%-10%左右應該是正常的。
計算公式
硬碟容量 = 柱面數(表示每面盤面上有幾條磁軌,一般總數是1024) × 磁頭數(表示盤面數) × 扇區數(表示每條磁軌有幾個扇區,一般總數是64)× 扇區(存儲基本單元,大小一般為512B/4KB)
(單碟1TB硬碟的扇區數可能是4K) 高級格式是一項界定4K扇區硬碟格式的全新標準,傳統的硬碟在格式化後,每一個扇區的大小都是512B位元組,而4K扇區硬碟的高級格式就是將其扇區劃分為4KB。這也是今後所有硬碟廠商都將採用的標準,IDEMA(國際磁碟驅動器設備與材料協會)的各主要硬碟製造商已經達成一致:2011年1月1日起,出貨的所有台式機和筆記本新產品硬碟都將採用這種高級格式標準。
在CHS規範中,磁頭的最大數就是16,扇區數是63。現今的硬碟為了突破528.4M的定址限制,都是使用模擬方式表示磁頭數、扇區數。常用的 LBA 定址就是將磁頭與扇區都假設為CHS的最大值來進行轉換並計算出總的扇區數。
LBA(Logical Block Addressing)邏輯塊定址。在 LBA 模式下,我們知道硬碟上的一個數據區域由它所在的磁頭、柱面(也就是磁軌)和扇區所唯一確定。早期系統就是直接使用磁頭柱面和扇區來對硬碟進行定址(這稱為CHS定址),這需要分別存儲每個區域的三個參數(這稱為3D參數),使用時再分別讀取三個參數,然後再送到磁碟控制器去執行。由於系統用8b來存儲磁頭地址,用10b來存儲柱面地址,用6b來存儲扇區地址,而一個扇區共有512B,這樣使用CHS定址一塊硬碟最大容量為256 * 1024 * 63 * 512B = 8064 MB(1MB = 1048576B)(若按1MB=1000000B來算就是8.4GB)。隨著硬碟技術的進步,硬碟容量越來越大,CHS模式無法管理超過8064 MB的硬碟,因此工程師們發明了更加簡便的LBA定址方式。在LBA地址中,地址不再表示實際硬碟的實際物理地址(柱面、磁頭和扇區)。LBA編址方式將CHS這種三維定址方式轉變為一維的線性定址,它把硬碟所有的物理扇區的C/H/S編號通過一定的規則轉變為一線性的編號,系統效率得到大大提高,避免了煩瑣的磁頭/柱面/扇區的定址方式。在訪問硬碟時,由硬碟控制器再將這種邏輯地址轉換為實際硬碟的物理地址。在這三種硬碟模式中,現在 LBA 模式使用最多。
LBA與C/H/S 之間的轉換: 設NS為每磁軌扇區數,NH為磁頭數,C、H、S分別表示磁碟的柱面、磁頭和扇區編號,LBA表示邏輯扇區號,div為整除計算,mod為求余計算,則: LBA=NH×NS×C+NS×H+S-1; C=(LBA div NS)div NH; H=(LBA div NS)mod NH; S=(LBA mod NS)+1 例如 LBA = 0 則 CHS = 0/0/1 從C/H/S到LBA的計算公式: LBA=(C-CS)*PH*PS+(H-HS)*PS+(S-SS)
廠家計算公式:
比如:
320G硬碟:320,000,000,000 /1024/1024/1024 = 298G 實際只有298G
300G硬碟:300,000,000,000 /1024/1024/1024 = 279G 實際只有279G
容量關係
計算機硬碟存儲容量通常使用位元組(B,Byte)、千位元組(KB,KiloByte)、兆位元組(MB,MegaByte)、吉位元組(GB,Gigabyte)、太位元組(TB,TeraByte)、拍位元組(PB,PetaByte)、艾位元組(EB,ExaByte)、澤位元組(ZB,ZettaByte)、堯位元組 (YB,YottaByte)和BB(BrontoByte)、NB(NonaByte)、 DB(DoggaByte)等來衡量。
計算方式:
1DB=1024NB;
1NB=1024BB,
1BB=1024YB;
1YB=1024ZB;
1ZB=1024EB;
1EB=1024PB;
1PB=1024TB;
1TB=1024GB;
1GB=1024MB;
1MB=1024KB;
1KB=1024B
技術挑戰
在數據量不斷增長的前提下,目前的硬碟存儲容量已經發展到了最高12TB的階段,而且,其還會繼續增長下去。對於此,我們完全可以將其比喻成一場“永不休止的戰爭”。不過,恰恰就在此時,在容量擴充上的技術局限也越來越多的被突顯了出來。
儘管目前我們已經能夠見到很多不同的存儲介質,然而在目前來說,最為成熟的技術依然是常見的機械磁碟。因此,在對最高容量的超越方面,其也就被寄予了更多期望。不過,在不斷增長的容量擴充下,機械鏇轉磁碟也在這方面遭遇了瓶頸。
其實,增加磁碟容量的方法說起來非常簡單,這無外乎提升碟片密度和增加碟片數量兩種方式。
增加碟片密度的方式很好理解。比如說,3TB希捷外置式硬碟產品FreeAgent GoFlex Desk drive就採取了五碟片的設計。在此之前,日立也曾經推出過五碟片的產品。實際上,五碟片也是目前我們能夠見到的單盤碟數最多的設計。