很多人會(huì)問,為什么我買的SD卡4GB的容量確是3.7GB,沒有4GB,難道這是升級(jí)卡,或者是不足量的SD卡,其實(shí)并不是,閃存卡的實(shí)際容量往往要比其標(biāo)稱容量小,一個(gè)全新的閃盤產(chǎn)品標(biāo)稱容量為64MB,而在操作系統(tǒng)中格式化后其實(shí)際容量可能只有61.8MB。那么這里少的2.2MB的容量到哪兒去了?
這2.2MB的空間并非憑空蒸發(fā)了,而主要是操作系統(tǒng)識(shí)別與硬件設(shè)備生產(chǎn)廠商兩者容量計(jì)算公式上的不同所致。生產(chǎn)廠商為了計(jì)算方便,往往設(shè)定1KB=1000Bytes、1MB=1000KB、1G
B=1000MB。而操作系統(tǒng)的換算則為1KB=1024Bytes、1MB=1024KB、1GB=1024MB。這就產(chǎn)生了存儲(chǔ)設(shè)備標(biāo)配容量和實(shí)際使用容量出現(xiàn)差異的情況。由此推算可知128MB閃盤的實(shí)際容量理論上應(yīng)為125MB,64MB閃盤的容量應(yīng)該為62.5MB,以此類推。此外,由于閃存芯片本身在制造時(shí)的問題,閃存介質(zhì)允許有壞塊(Bad Block)的存在,這些壞塊不能被使用,也不算做有效容量。與硬盤一樣,閃存盤也是采用FAT文件系統(tǒng),而FAT文件系統(tǒng)包括MBR主引導(dǎo)分區(qū)、FAT文件分配表和ROOT目錄區(qū)等,這些區(qū)域也要占用閃存空間,一般需要占用幾百KB。
閃盤作為一項(xiàng)比較常用的移動(dòng)存儲(chǔ)解決方案,個(gè)別廠商在其產(chǎn)品中加入了諸如保密、QQ聊天記錄備份等功能,這些功能實(shí)際上需要占用閃盤中的部分物理塊來存放特殊配置信息或數(shù)據(jù)。另外,有些朋友發(fā)現(xiàn)自己的閃盤在使用一段時(shí)間后,再次格式化,其容量竟然會(huì)自動(dòng)變小了。這又是什么原因呢?
數(shù)據(jù)寫入的時(shí)候,閃存芯片內(nèi)部需要有至少一個(gè)物理塊(Block)作為交換塊使用。這是因?yàn)殚W存的寫操作很特殊,必須是先擦除,然后才能寫入數(shù)據(jù),而擦除的最小單位是一個(gè)物理塊,但寫數(shù)據(jù)的最小單位卻是一個(gè)頁(Page)。在閃存的存儲(chǔ)單位中,一個(gè)物理塊包含若干個(gè)物理頁。因此寫數(shù)據(jù)時(shí),需要有一個(gè)空的、可以使用的交換塊來存放不需要被擦除的數(shù)據(jù)。由于閃存的充放電特性,使得它的讀寫次數(shù)有物理上的限制。
通常廠商會(huì)在閃盤內(nèi)部做一個(gè)讀寫次數(shù)的計(jì)數(shù),當(dāng)閃存芯片的某個(gè)物理存儲(chǔ)區(qū)塊達(dá)到讀寫指定的最高次數(shù)時(shí),那么該塊區(qū)將被設(shè)定為不再使用的區(qū)域,所以閃盤有可能在極度頻繁地使用下,容量越來越小。不過,目前多數(shù)閃盤產(chǎn)品已經(jīng)可以保證擦寫百萬次以上的使用壽命。目前市場(chǎng)上的閃存產(chǎn)品包括兩類:1. 未預(yù)留緩沖空間的;2. 預(yù)留有緩沖空間的。
對(duì)于第一種情況,因?yàn)闆]有預(yù)留空間,閃存在讀寫時(shí)交換塊的損耗相當(dāng)大,于是就會(huì)出現(xiàn)容量越來越小的情況。對(duì)于第二種情況,廠商在設(shè)計(jì)時(shí)已經(jīng)預(yù)留部分物理塊,比如選擇1024個(gè)物理塊中的1000個(gè)作為數(shù)據(jù)存儲(chǔ)使用,其余24個(gè)物理塊(包括壞塊)用作緩沖交換塊部分。每次上電后,存儲(chǔ)單元的邏輯地址和物理地址需要重新對(duì)照,交換塊并不是固定的某一區(qū)塊,因而每一個(gè)物理塊進(jìn)行讀寫操作的幾率幾乎相同,不會(huì)出現(xiàn)哪一個(gè)物理塊過早被損壞的現(xiàn)象。對(duì)于預(yù)留緩沖空間的閃盤來說,基本不會(huì)出現(xiàn)容量越來越小的情況。