官术网_书友最值得收藏!

2.1 存儲設備的歷史軌跡

1.穿孔卡

人們對“存儲”的渴望在19世紀80年代就已經凸顯出來了。這個時期,一位美國老爺爺Hollerith發明了基礎的,利用穿孔卡片收集和整理數據的系統,并于1889年開發出一種復雜的電子排序和制表機。這復雜的電子排序和制表機機器包含一個穿孔裝置、一個帶有計數器的制表機和一個電控制排序工具箱,能夠基于穿孔卡片上孔的位置來分組。這項技術隨后被用于美國人口普查,使得原本需要耗時8年的美國人口普查縮短為僅僅1年。

20世紀的前10年,Hollerith發明了一種新的穿孔卡片,如圖2-1所示。這種穿孔卡片上共有960個孔洞,以80列、每列12個的方式排列,這種排列方式使得數據只能記載960bits。這種卡片能夠與一種更簡單的鍵控穿孔、更高效的卡片分類機和制表機一起使用,在很多地方都得到了應用,甚至第一次世界大戰期間的美國軍隊還使用了這種技術。

圖2-1 穿孔卡片

1911年,Hollerith成立了計算機制表公司(Computing-Tabulating-Recording Company,CTR),這就是IBM的前身之一。

2.磁帶

1950年以打孔記載數據的方式慢慢被盤式磁帶取代。

當時,一盤磁帶可以替代一萬張穿孔卡片,所以當IBM將盤式磁帶用于計算機存儲時,受到了極大的歡迎。這種情況一直持續到了20世紀80年代,磁帶被用于存儲音樂和電影,這種用于存儲電影的一圈一圈大輪子的盤式磁帶成為了整整一代人的回憶。

在過去幾十年里,磁帶技術發展迅速。一卷現代磁帶已經可以存儲15TB數據,一個磁帶庫最多可以存儲278PB(1PB=1024TB)數據。這些數據如果用CD光碟存儲的話需要3.97億張(一張普通CD光盤容量約為700MB)。

與其他存儲設備相比,磁帶的訪問速度要慢很多。但是,作為存儲媒介,磁帶也有相當多的優點。例如,磁帶更為節能,數據一旦被磁帶記錄,就會被放進磁帶庫里靜靜待著,不會消耗任何電能。此外,磁帶的出錯概率要比其他存儲設備低4~5個量級。

磁帶的這些優點讓它在很多地方仍然發揮著不可忽視的作用,例如,2011年, Google曾因一個軟件升級誤刪除4萬個Gmail賬戶郵件信息。雖然這些被存儲在硬盤中的數據被放在多個數據中心,但是還是丟失了。幸運的是,同樣的數據還被存儲在磁帶中,這使Google可以從中恢復這些數據。這個事件告訴我們:Google仍在使用磁帶。

之所以很多人會認為磁帶已經消失,只是因為在消費產品中已經看不到它的身影了。事實上,磁帶不但沒有遠去,還會有很長的生命力。每隔2~3年,磁帶的容量就會增加一倍,IBM在2017年8月推出的新磁帶可以存儲近330TB的內容。

3.硬盤

令人驚訝的是,硬盤這個理念最先提出的時間要早于磁盤。1956年12月13日, IBM的Reynold B.Johnson認為可以外接更大的存儲硬件來存儲更多的數據,于是就提出了外接硬盤這個理念。這個時候的硬盤是超級巨大的一個一個挨在一起的圓形磁盤片,被放置在固定溫度的空間里,相當于現在兩個中等冰箱的大小,可以存儲3.75MB的數據(見圖2-2)。

圖2-2 IBM最早推出的硬盤

從這個時候起,硬盤就和磁帶技術相互補充、共同發展。硬盤與磁帶使用了相同的物理技術,簡單來說就是,在磁性材料薄膜中有許多很窄的軌道,磁性材料的磁性在兩種極性之間轉換。信息用二進制位編碼,在軌道上的某一個特定點通過磁性轉換與否來體現。

1980年,蘋果最先引進個人計算機的概念,自帶了內置硬盤,這一變化延續至今。計算機硬盤都是直接內置的,沒有特殊需求并不需要外置額外的硬盤。

而普通的內置硬盤就演變成了我們現在熟悉的硬盤驅動器。硬盤驅動器主要由盤片、磁頭、主軸和控制器組成,工作時,主軸馬達會帶動盤片轉動,然后傳動臂伸展磁頭在盤片上進行數據讀/寫操作。所以硬盤本質上來說是一種機械裝置。

· 盤片。

盤片是硬盤的主要組成部分,是硬盤存儲數據的載體。盤片的好壞對硬盤的存取速度和存儲容量影響巨大。盤片最初是用塑料做基片的,但塑料的硬度較低,容易變形,特別是在高速轉動的情況下。現在盤片材料大多是特殊的金屬材料,甚至硬度極高的特殊玻璃材料。盤片的上下兩面是磁性材料,通過磁道和扇區來管理。

硬盤內部一般包括多個盤片,盤片的個數及單個盤片的容量直接決定了硬盤的總容量。硬盤的尺寸其實即盤片的直徑,早期有8英寸、5英寸的硬盤,目前常見的是3.5英寸、2.5英寸、1.8英寸等,3.5英寸的硬盤主要用在臺式機和服務器上,2.5英寸和1.8英寸的硬盤面向的對象是移動筆記本和移動硬盤。

· 主軸。

盤片的轉動是靠主軸馬達來帶動的,硬盤的轉速就是指主軸的轉動速度,一般用每分鐘轉多少轉來表示,即RPM消費級市場的硬盤轉速一般為5400RPM和7200RPM;企業級市場的轉速一般較高,可以達到10000RPM,甚至15000RPM,轉速的快慢是硬盤性能的重要指標,因為轉速越快,磁頭定位數據的速度就越快,但轉速的提升帶來的一個問題就是功耗的增加。

· 磁頭。

磁盤中的每個盤片都有兩個磁頭,上下面各有一個。寫數據的時候,磁頭改變盤片上磁性材料的磁極;讀數據的時候,磁頭去檢查盤片表面的磁極。

· 控制器。

控制器一般是一塊印刷電路板,位于硬盤的底部,包括主控芯片、控制電路、內存等。控制器控制著主軸馬達的電源和轉速,也管理著硬盤和主機之間的數據傳輸。它接受并解釋計算機發來的指令,然后向硬盤發出各種控制信號。

下面來介紹一下硬盤性能。

硬盤的兩個重要性能參數是IOps和吞吐量。IOps是指每秒能進行多少次的I/O操作。首先,什么是一次I/O?在系統路徑的每個層次上都有I/O的概念,如果我們把整個系統看作一個一個按層分布的模塊,每個模塊之間都有各自的接口,那么接口之間的指令和數據的交互即可看作一次I/O。例如,從應用程序到操作系統請求:讀取顯示C:\file.txt文件內容,操作系統在一系列底層的操作完成后給應用程序返回一個成功的信號,這次I/O就算完成了。應用程序到操作系統的一次I/O發生后,操作系統到硬盤驅動程序會觸發多次I/O,“讀取從某某位置開始的多少扇區”“接著再次讀取從某某位置開始的多少扇區”,這若干次的I/O對應了上層的一次I/O。同樣道理,I/O請求會一層層下沉分解,直到主機上的硬盤控制器向硬盤發送特定接口協議的指令和數據,如ATA、SCSI、NVMe等協議。這是最細粒度的I/O,也是通常意義上的一次I/O請求。

IOps其實直接對應的就是完成一次I/O所需要的時間,即I/O服務響應時間。對硬盤來說主要包括3部分:磁頭尋道時間、盤片旋轉時間、數據傳輸時間。

磁頭尋道時間,是指磁頭從盤片的直徑方向移動到正確磁道的時間,一般硬盤的磁頭尋道平均時間大概在3~15ms。

移動到正確的磁道之后,盤片需要通過旋轉使得目標扇區對應到磁頭的位置,這個時間即盤片旋轉時間??梢韵胂笠幌拢@時最糟糕的情況是旋轉一圈,最好的情況可能不需要旋轉,所以取平均值,即以旋轉半圈的情況來計算旋轉時間。之前提到過旋轉時間的直接影響因素就是硬盤的轉速,假設硬盤轉速為10000RPM,那么旋轉一圈的時間是1/10000=0.0001min,即6ms,那么旋轉時間為3ms。

吞吐量,是指單位時間內硬盤能夠傳輸到主機硬盤控制器上的數據量。對于讀操作來說,數據先從盤片被讀取到硬盤內部的緩沖區,然后通過接口被傳輸到主機硬盤控制器。同樣對于寫操作來說,數據先通過硬盤控制器接口被傳輸到硬盤內部的緩沖區,然后通過磁頭被寫入盤片??梢岳斫鉃閿祿鬏敃r間是除尋道和旋轉時間以外所有的數據搬運路徑上的時間和,這段時間主要為磁頭真正在盤片上讀/寫數據的時間和接口上的傳輸時間。真正讀/寫數據的時間和盤片的旋轉速度、磁道記錄密度有關系,接口傳輸時間和采用的接口類型有關。通常,每秒10000轉的SCSI硬盤的磁盤讀/寫速度大概可以達到1000MB/s,而對于接口傳輸速率來說,由于主流的SAS、SATA接口傳輸速率不斷提升的數據傳輸時間通常遠小于前兩部分消耗的時間和,所以對于硬盤來說數據傳輸時間在通常情況下可以被忽略。

4.磁盤(軟盤)

1971年,3.5英寸軟盤的前身問世了,只不過當時的尺寸比較大。

初代軟盤大小為32英寸,后因為攜帶不便改成了8英寸,這項改進讓IBM的Alan Shugar名聲大噪,后期他離開IBM創辦了希捷。

20世紀80年代,日本的索尼首先研發出了3.5英寸軟盤。相比之前更小、存儲量更大。

在鼎盛時期,軟盤被人們認為是以后計算機發展的必然趨勢,全球有多達50億片軟盤正在使用,可是,蘋果的第一款iMac就取消了對軟盤的依賴,轉而使用了光盤驅動器。

5.CD/DVD

20世紀80年代,CD開始流行。CD出現的時間比早期的軟盤要早很多,據資料記載,20世紀60年代CD就已經被開發出來作為存儲工具了,只是到了20世紀80—90年代才開始流行,變成了主要的存儲工具。

而DVD則是在1995年開始流行的,這可能與當時DVD播放機的流行有關。DVD存儲容量比CD更大,達到了幾GB以上。

6.U盤/移動硬盤

隨著USB等的出現,最初那個巨大的、移不動的外置存儲變成了后來的移動硬盤。在1994年,康柏、迪吉多(成立于1957年的一家美國老牌計算機公司,發明了Alpha微處理器,后于1998年被康柏收購)、IBM、英特爾、微軟、NEC和北電網絡一起研發出了兩種可移動的存儲設備形態,即U盤和移動硬盤。

7.固態硬盤

傳統的硬盤驅動器是由盤片、磁頭、主軸、控制器組成的機械裝置,而固態硬盤則是由閃存介質、控制芯片組成的電子芯片設備,兩者有著完全不同的存儲原理和控制方式。

固態硬盤是在閃存的基礎上加入控制電路,使數據被讀取后還能存留,在最終擦除時,通過放電使數據不再保留。硬盤驅動器包括可旋轉的磁盤和可移動的讀/寫磁頭,而固態硬盤使用微型芯片,并沒有可以移動的部件。所以,和硬盤驅動器相比,固態硬盤的抗震性更強、噪音更低、讀取時間和延遲時間更短。固態硬盤和硬盤驅動器有相同的接口,因此在大多數應用程序中,固態硬盤可以很容易地取代硬盤驅動器。

早期的固態硬盤也有采用RAM作為介質的產品,如1976年就出現了第一款使用RAM的固態硬盤,RAM的優點是可以隨機尋址,且速度比較快,但是因為RAM的特性,固態硬盤掉電數據就消失了,并且RAM價格比較昂貴,所以很長一段時間內這種固態硬盤都只是用在一些特殊場景的小眾產品。

直到20世紀90年代,一些廠商才開始嘗試使用Flash作為固態硬盤的介質,Flash使用一種叫作Floating Gate Transistor的晶體管來保存數據,每個這樣的晶體管叫作一個單元(Cell),這種晶體管比普通的MOSFET多了一個Floating Gate,懸浮在中間,能夠保存電荷。存儲1bit數據的單元為SLC(Single Level Cell),存儲2bit數據的單元為MLC(Multiple Level Cell),同理存儲3bit數據的單元為TLC(Triple Level Cell),現在已經有了QLC,即一個單元可存儲4bit的數據。如圖2-3所示, SLC、MLC與TLC在同樣面積的存儲芯片上,存儲容量依次增加,但是與此同時,又由于存儲單元劃分粒度的增加,在讀/寫數據的時候控制需要更加精細,這使得其擦寫時間性能方面是依次減少的。當然隨著技術的不斷完善,TLC甚至是QLC必將成為業界主流。

圖2-3 SLC、MLC與TLC

主站蜘蛛池模板: 临清市| 灵宝市| 奎屯市| 密云县| 东辽县| 香格里拉县| 门源| 海兴县| 民乐县| 万安县| 泾阳县| 南康市| 裕民县| 洪洞县| 左云县| 紫阳县| 丹棱县| 鄄城县| 象山县| 崇文区| 彭山县| 惠州市| 凤凰县| 龙门县| 钟山县| 富平县| 芒康县| 姚安县| 湛江市| 江西省| 栾川县| 建平县| 普安县| 尉氏县| 财经| 江都市| 昌吉市| 互助| 平远县| 墨江| 桂林市|