這技術(shù)要是實現(xiàn)了硬盤速度能翻好幾倍
瀏覽量: 次 發(fā)布日期:2023-10-04 22:40:49
這技術(shù)要是實現(xiàn)了硬盤速度能翻好幾倍
這篇文章寫于13年前(2003年),當時我還在北航上大三,對于日新月異的電腦硬件十分癡迷,花了很多時間研究學習硬件知識,也有了一些思考。于是就寫下了這篇文章《猜想--突破磁盤瓶頸,實現(xiàn)RAID硬盤》,投稿給了中關(guān)村在線。
然而十三年過去了,機械硬盤已經(jīng)快要被固態(tài)硬盤取代了,我的猜想依然沒能實現(xiàn),真的很是遺憾。這個技術(shù)能夠讓機械硬盤的性能提升2-10倍之多,持續(xù)傳輸速度輕松突破SATA接口上限,雖然隨機性能還是比不上固態(tài)硬盤,但至少存儲數(shù)據(jù)的時間會大幅縮短,試想隨便一個移動硬盤速度就能達到550MB/s會有多快?
現(xiàn)在我把這篇老文章一字不改的轉(zhuǎn)過來,感興趣的朋友可以一讀,我們可以相互探討。
計算機科技的發(fā)展速度可謂是一日千里、日新月異:左右CPU發(fā)展的摩爾定律不但沒有衰減甚至出現(xiàn)將被超越的跡象;在NVIDIA豪言壯語“每六個月發(fā)布一款新的GPU”的支配下我們甚至已經(jīng)跟不上顯卡的發(fā)展腳步了;內(nèi)存也毫不示弱,緊隨著CPU和GPU的腳步,完全可以滿足系統(tǒng)的需要;而作為計算機系統(tǒng)核心配件之一的硬盤的情形卻不容樂觀,硬盤的內(nèi)部數(shù)據(jù)傳輸率始終未能得到提高。而計算機技術(shù)的發(fā)展需要各個獨立硬件系統(tǒng)發(fā)展的協(xié)調(diào)和均衡,無論哪個環(huán)節(jié)慢下來,整個系統(tǒng)的性能都會受到影響。因此,作為現(xiàn)階段無可代替的計算機外部存儲系統(tǒng)的硬盤,已經(jīng)形成了IT界公認的一個嚴重制約電腦整機性能的瓶頸!
一.問題的提出
近年來,硬盤無論在容量、存取速度還是可靠性方面都取得了長足的進步,典型的諸如:ATA133、Serial ATA、SCSI等外部接口規(guī)范,以及單碟容量的不斷提升,轉(zhuǎn)速也達到7200轉(zhuǎn)(服務(wù)器版甚至達到15000轉(zhuǎn))。但如果同其它配件相比,現(xiàn)在的硬盤實在是沒有什么值得夸耀的:緩慢的傳輸速度,居高不下的出錯率和返修率,不盡人意的使用壽命……而且硬盤的數(shù)據(jù)傳輸率取決于外部和內(nèi)部數(shù)據(jù)傳輸率兩個因素。外部數(shù)據(jù)傳輸率和硬盤的接口有直接關(guān)系,外部數(shù)據(jù)傳輸率目前至少能夠達到150MBs以上。而且,從長遠的角度來看,其繼續(xù)發(fā)展也完全沒有什么問題。但其內(nèi)部數(shù)據(jù)傳輸率目前尚未突破ATA66的水平!因此,在內(nèi)部數(shù)據(jù)傳輸率沒有得到相應(yīng)的提高的情況下,單純提高外部數(shù)據(jù)傳輸率實在是沒有太大意義的。
于是,人們開始想方設(shè)法的努力解決這個問題。與CPU、GPU、內(nèi)存、主板等芯片類硬件不同的是,硬盤的核心部件為機械裝置。硬盤的內(nèi)部數(shù)據(jù)傳輸率主要由硬盤的機械性能決定。要想提高硬盤的內(nèi)部數(shù)據(jù)傳輸率,就必須提高機械裝置的效率。目前提高硬盤內(nèi)部數(shù)據(jù)傳輸率的途徑主要有以下幾個方法:
① .加快盤片主軸轉(zhuǎn)速;
② .提高磁頭的尋道速度;
③ .提高盤片的數(shù)據(jù)存儲密度;
④ .提高盤片直徑。
從現(xiàn)在的電機技術(shù)發(fā)展水平來看,雖然主軸轉(zhuǎn)速已經(jīng)達到15000轉(zhuǎn),但似乎已經(jīng)離極限不遠了。更高的轉(zhuǎn)速意味著穩(wěn)定性、散熱、機械損耗、能耗等方面問題的急劇加重。因此,主軸轉(zhuǎn)速的提高是有限度的,而且代價高昂。即使采用了目前最先進的“液態(tài)軸承馬達”技術(shù),機械損耗和震動也在所難免,提速的潛力十分有限,這就是IDE硬盤自從進入7200轉(zhuǎn)以來遲遲沒有向更高速度發(fā)展的原因。而尋道速度的提高意味著必須克服更嚴重的磁頭移動慣性和達到更高的精度要求,以及更強的抗震技術(shù)的支持,顯然也受到相關(guān)機電技術(shù)現(xiàn)有發(fā)展水平的制約。提高盤片的數(shù)據(jù)存儲密度,即提高盤片的單碟容量,可以在相同的主軸轉(zhuǎn)速下使磁頭在單位時間內(nèi)可讀寫更多的數(shù)據(jù)。近年來,硬盤的數(shù)據(jù)存儲密度提高很快,現(xiàn)在已經(jīng)誕生單碟80G的硬盤。不過,由于受到磁頭技術(shù)水平的限制,數(shù)據(jù)存儲密度的增加并不能同比地提高硬盤的內(nèi)部數(shù)據(jù)傳輸率,就拿剛剛上市不久的希捷“酷魚 V ”來說,他的單碟容量為60G,而其“前輩”“酷魚 IV ” 單碟容量為40G,但是兩者的內(nèi)部數(shù)據(jù)傳輸率且不相伯仲,磁盤性能的提升十分有限。而提高盤片的直徑已經(jīng)嚴重與加快盤片主軸轉(zhuǎn)速背道而馳,而且現(xiàn)在的硬盤盤片已經(jīng)呈現(xiàn)出小型化趨勢,3.5英寸已經(jīng)成為事實上的標準。
二.應(yīng)急之策——RAID 0
既然單憑硬盤廠商無法從內(nèi)部解決磁盤傳輸瓶頸問題,那么就只能從外部想辦法了。為此,人們采取了多種措施。1988年,美國加州大學伯克利分校的D.A.Patterson教授提出的廉價冗余磁盤陣列(Redundant Array of Inexpensive Disks,簡稱RAID)有效地解決了這個問題,簡單的說,RAID是一種把多塊獨立的硬盤(物理硬盤)按不同方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數(shù)據(jù)冗余的技術(shù)。根據(jù)RAID所采用的方法不同,可以將其分為許多種。這里我們只介紹能夠大幅提高硬盤傳輸速率的一種——RAID 0:
RAID 0的工作原理為:當主機要求寫入數(shù)據(jù)時,RAID控制器把即將進入硬盤的數(shù)據(jù)分成許多塊,然后并行地將它們寫到磁盤陣列中的各個硬盤上;當讀出數(shù)據(jù)時,RAID控制器從各個硬盤上同時讀取數(shù)據(jù),把這些數(shù)據(jù)經(jīng)過處理后恢復為原來順序傳給主機。這種方法的優(yōu)點是采用數(shù)據(jù)分塊、并行傳送方式,能夠極大的提高主機讀寫速度,并且磁盤陣列中存儲空間沒有冗余。如果采用N(N>1)塊硬盤組成RAID 0系統(tǒng),那么它可以在不犧牲硬盤容量的前提下達到理論上N倍于原來單個硬盤的讀寫速度!這樣就可以極大的提升磁盤子系統(tǒng)的性能,以緩解燃眉之急。
由上可以看出RAID 0系統(tǒng)所帶來的性能的提升是我們急切渴望得到的。但是RAID 0也并不是沒有缺點的:
① .需要至少兩塊硬盤,這無疑加重了用戶的負擔;
② .需要附加控制器RAID卡的支持;
③ .RAID 0系統(tǒng)所帶來的高發(fā)熱、高噪音、高電能消耗都給用戶帶來了安裝、控制和維護的不便;
④ .其致命的缺點就是穩(wěn)定性差——一旦組成RAID 0系統(tǒng)的硬盤中有一塊出錯損壞,那么將全盤皆毀,給系統(tǒng)帶來災難性的損失。
對于不惜代價追求硬盤高容量和急速 的服務(wù)器來說① ② ③ 項顯得微不足道,可以忽略不計,但 ④ 的存在使得服務(wù)器也不能安安穩(wěn)穩(wěn)的享用RAID 0帶來的高磁盤性能。
那么,如果我們能夠消滅RAID 0系統(tǒng)所帶來的所有缺點而僅保留其優(yōu)點,那么磁盤系統(tǒng)的瓶頸將不復存在!那么這樣的硬盤系統(tǒng)必將具備以下的條件:
① .只需要一塊硬盤,安裝、控制、維護簡單;
② .極大的提高硬盤的傳輸速度(與原來的硬盤相比較);
③ .不犧牲硬盤容量;
④ .不需要附加控制卡的支持;

⑤ .不降低其穩(wěn)定性。
聽起來很美,但能否實現(xiàn)呢?請看:
三.硬盤的結(jié)構(gòu)帶來的思考
先來看看硬盤的內(nèi)部結(jié)構(gòu),如圖1所示:
硬盤在讀寫數(shù)據(jù)時,電機帶動盤片高速旋轉(zhuǎn),磁臂帶動磁頭沿盤片徑向移動,凡是磁頭掃過的區(qū)域都可進行讀寫操作。現(xiàn)在的硬盤大多是由多個盤片和多個磁頭組成的。目前主流的硬盤為單碟40GB,那么40GB的硬盤就有一個雙面盤片和兩個磁頭(正反兩面各一個),60GB的硬盤由兩個盤片,一個雙面一個單面,和三個磁頭……以此類推。
但是一般來說,磁盤在存儲數(shù)據(jù)時,是連續(xù)分布的,即在當前位置的磁道寫滿之后才轉(zhuǎn)入下一個磁道,除非出現(xiàn)磁盤碎片。因此,在讀寫具體的某個文件時,只有一個磁頭在進行讀寫操作,其余的磁頭雖然也在跟著移動,但不進行任何操作。當磁盤要執(zhí)行多個任務(wù)時,舉個例子:當?shù)谝粋€磁頭正在連續(xù)讀取數(shù)據(jù)1(假設(shè)其物理位置在硬盤第一個盤片的正面)時,系統(tǒng)發(fā)出請求要求讀取另一個數(shù)據(jù)2,這時第一個磁頭就必須暫停當前對數(shù)據(jù)1的讀寫操作,從而尋找數(shù)據(jù)2。注意硬盤的各個磁頭是由同一個磁臂所控制,因此他們每時每刻都在相同的位置。
由此我們可以聯(lián)想到,假如此時數(shù)據(jù)2在硬盤上的物理位置正好位于第一個盤片的反面與數(shù)據(jù)1相同的位置,此時硬盤的磁頭就沒必要進行尋道工作,也沒有必要停止當前對數(shù)據(jù)1的讀取工作,就可以執(zhí)行對數(shù)據(jù)2的讀取工作。也就是說,此時硬盤的兩個磁頭在同時進行讀取工作!這樣的話,此時其內(nèi)部數(shù)據(jù)傳輸率將達到其標準的兩倍!同理,在我們要同時拷貝兩個文件時,硬盤的控制電路可以讓這兩個文件寫入同一個盤片正反兩面的相同位置,這樣就可以同時讓兩個磁頭進行寫入操作,極大地提高了磁頭的利用率。當然這只是十分極端的情況,在實際應(yīng)用中這種情形根本不可能出現(xiàn),況且我們對硬盤的內(nèi)部具體讀寫工作方式并不了解,硬盤能否在同一時刻讓兩個磁頭同時工作還是個未知數(shù)。不過我們可以肯定的是:如果能夠?qū)τ脖P控制電路重新設(shè)計,從而能夠做到硬盤的所有磁頭能夠同時進行工作,那么上面的猜想也不是沒可能實現(xiàn)。
四. 由RAID 0引發(fā)的聯(lián)想
再我們來看一下RAID 0系統(tǒng)的工作原理圖,圖2是由兩塊硬盤組成的RAID 0系統(tǒng):
由上圖可以清楚地看到:該系統(tǒng)由兩塊硬盤同時讀寫同一數(shù)據(jù)的不同數(shù)據(jù)塊來達到雙倍于原來硬盤的速度。也就是說,在任何時刻,這兩塊硬盤都在同步地工作,但它們讀寫的內(nèi)容卻完全不同。其中RAID 0控制器的作用就是將原來的數(shù)據(jù)均分為兩份給兩塊硬盤寫入或?qū)蓧K硬盤讀出的數(shù)據(jù)合并在一塊兒交給外部數(shù)據(jù)總線。
由上面硬盤結(jié)構(gòu)的猜想我們可以聯(lián)想到它似乎和RAID 0的工作方式有些共同點:RAID 0在工作時將一個數(shù)據(jù)分成若干塊給數(shù)個硬盤,這些硬盤同時進行讀寫操作,如果組成RAID 0系統(tǒng)的硬盤完全相同的話,那么這些分塊了的數(shù)據(jù)的存放位置將完全相同(不同硬盤上的相同物理位置)。更進一步,如果我們將這些分塊了的數(shù)據(jù)不是分給幾個硬盤,而是分給同一個硬盤的幾個磁頭進行讀寫操作,由這幾個磁頭分別在各個盤片(或者同一盤片)的正反面的相同位置同時進行讀寫操作,這樣的話,我們就在硬盤的內(nèi)部實現(xiàn)了RAID 0系統(tǒng)!在這里我姑且將其稱為“RAID硬盤”吧。
五.一勞永逸的解決方法
上面的猜想的確挺誘人的,如果能夠?qū)崿F(xiàn)“RAID硬盤”的話,即可在現(xiàn)有的基礎(chǔ)上不進行太大的改動就可以實現(xiàn)數(shù)倍于原來的傳輸速度(有幾個磁頭就是幾倍),但其究竟能否實現(xiàn)呢?讓我們來慢慢地進行可行性分析:
⑴.先決條件——硬盤的特殊結(jié)構(gòu):
前面已經(jīng)提到過,硬盤的幾個磁頭是由同一個磁臂連接在一起的,所以在任何時刻,他們都位于同一個位置,這就決定了這幾個磁頭可以在各個盤片(或者同一盤片)的正反面的相同位置同時進行讀寫操作,而且精度極高。
⑵.成功的先例——RAID 0系統(tǒng):
由于我們的猜想是與RAID 0系統(tǒng)息息相關(guān)的,因此RAID 0系統(tǒng)的性能直接關(guān)系到我們的“RAID硬盤”的性能。目前,RAID系統(tǒng)在服務(wù)器上的廣泛應(yīng)用和良好的性能充分肯定了RAID 0的存在價值,雖然服務(wù)器是用得并不一定是RAID 0系統(tǒng),但其一定是由RAID 0演化而來的。近年來,RAID 0系統(tǒng)開始進入桌面IDE領(lǐng)域,這無不充分證明了RAID 0的高性能和高性價比。
根據(jù)權(quán)威的測試數(shù)據(jù)表明,由兩塊硬盤組成的RAID 0系統(tǒng)可以提高硬盤傳輸率30%以上。當然,具體性能還受到RAID控制卡等外部因素的影響。雖然這里理論上的100%性能提升相差很遠,但不可否認,在很小的代價下,RAID 0帶來的性能提升是空前的。況且如果把RAID 0系統(tǒng)集成與硬盤內(nèi)部的話,那就可以更好更精確的控制硬盤,接近甚至達到100%的性能提升指日可待。
⑶.修改硬盤控制電路——硬件級的軟件工作:
既然硬件方面沒有什么問題,那么就該“RAID硬盤”的核心部分——RAID控制器。作為機械式硬盤的唯一芯片部分,控制電路的性能好壞也直接影響到磁盤的性能,由于我們對硬盤的內(nèi)部的工作方式進行了很大的改動,因此硬盤控制電路就必須作相應(yīng)的修改。能否實現(xiàn)“RAID硬盤”的關(guān)鍵就在于此。
首先,既然是“RAID硬盤”就必須要有RAID控制器,因此先在硬盤的控制電路中集成一塊RAID芯片,這對于硬盤廠商來說絕不是件難事。數(shù)據(jù)由硬盤接口傳入后經(jīng)過RAID芯片的處理分為幾份(有幾個磁頭就分為幾份)。
上海數(shù)據(jù)恢復其次是磁頭控制電路,數(shù)據(jù)被RAID芯片“瓜分”之后,交給磁頭控制電路,由他來指揮磁頭進行讀寫操作。這樣的話,我們不管硬盤原來的磁頭控制電路是什么樣的,“RAID硬盤”的磁頭控制電路的任務(wù)就是將這些已經(jīng)分好的數(shù)據(jù)分別傳輸給各個磁頭,然后,磁臂帶動這些磁頭同時進行讀寫操作。
由此以來,硬盤的控制電路將進行很大的修改。但是,集成電路IC設(shè)計屬于硬件級的軟件工作,要完成這樣工作的芯片及其電路雖然要花費一些周折,但比起無畏地提升硬盤電機的轉(zhuǎn)速顯然要現(xiàn)實的多,我們有理由相信重新設(shè)計的硬盤控制電路比較容易實現(xiàn)!
⑷.穩(wěn)定性、安全性分析:
前面說過,RAID 0系統(tǒng)致命的缺點就是穩(wěn)定性差,如果單個硬盤的穩(wěn)定系數(shù)為90%的話,那么有雙硬盤組成的RAID 0系統(tǒng)的穩(wěn)定系數(shù)將小于81%!這樣無疑將本來就很脆弱的硬盤穩(wěn)定性雪上加霜!那么“RAID硬盤”的情形又如何呢?
首先,“RAID硬盤”只是一塊硬盤,這樣比起由多塊硬盤組成的RAID 0系統(tǒng)來說,出錯率遠遠降低。但是跟原來的硬盤相比,穩(wěn)定性還是比原來的硬盤差,因為它是同時由所有的磁頭讀取。但是反過來想一下,正是由于它是所有的磁頭一起進行讀寫操作,所以在數(shù)據(jù)出錯的情況下不至于影響到硬盤的其它數(shù)據(jù),因此安全性還是比較高的。這樣一來,“RAID硬盤”可以不犧牲安全性,而降低少許穩(wěn)定性,同又數(shù)倍地提高了磁盤的整體性能,這樣還是比較值得的。
無錫數(shù)據(jù)恢復下圖所示就是單碟雙面雙磁頭的“RAID硬盤”工作原理圖:
分析了這么多,就是一句話:在現(xiàn)有硬盤制造業(yè)的基礎(chǔ)上實現(xiàn)“RAID硬盤”并不難!一旦“RAID硬盤”誕生,那將是成倍地提升硬盤的性能!就拿現(xiàn)在主流的7200轉(zhuǎn)80GB硬盤來說,它有雙碟4面共有四個磁頭,內(nèi)部傳輸率為50MB/S左右。如果將其改造為“RAID硬盤”的話,它就相當于有四塊硬盤組成的RAID 0系統(tǒng),理論內(nèi)部傳輸率將達到200MB/S左右,這即使是Serial ATA 150也不能滿足它的要求!
常州數(shù)據(jù)恢復. 六安移動硬盤數(shù)據(jù)恢復,專業(yè)技術(shù),守護您的數(shù)據(jù)安全
. 硬盤數(shù)據(jù)恢復拆盤,拆盤操作與數(shù)據(jù)恢復技術(shù)解析
. 硬盤數(shù)據(jù)恢復圖書,從原理到實踐的技術(shù)解析
. emcc存儲和ssd,EMCC存儲優(yōu)化與SSD性能提升技術(shù)解析
. 硬盤數(shù)據(jù)恢復從哪學,從原理到實踐的技術(shù)解析
. 杭州機械硬盤數(shù)據(jù)恢復,專業(yè)技術(shù)助力數(shù)據(jù)失而復得
. 上海機械硬盤數(shù)據(jù)恢復,專業(yè)技術(shù)守護數(shù)據(jù)安全
. 硬盤內(nèi)部儲存器,存儲技術(shù)的核心與未來趨勢
. 回天移動硬盤數(shù)據(jù)恢復,專業(yè)技術(shù)守護數(shù)據(jù)安全
. 楊浦區(qū)硬盤數(shù)據(jù)恢復,專業(yè)技術(shù)助力數(shù)據(jù)安全與恢復
. deepke源碼,揭秘知識圖譜嵌入技術(shù)的核心原理與實踐
. 國內(nèi)有哪些ai大模型,技術(shù)突破與產(chǎn)業(yè)應(yīng)用全景
. 硬盤數(shù)據(jù)恢復re,技術(shù)原理、方法與案例分析
. deepded,DeepDed的突破性技術(shù)與應(yīng)用
. superrecovery超級硬盤數(shù)據(jù)恢復,superrecovery技術(shù)解析與應(yīng)用
. 唐山機械硬盤數(shù)據(jù)恢復,專業(yè)技術(shù)助力數(shù)據(jù)安全
. 移動硬盤維修的地方,專業(yè)技術(shù)守護數(shù)據(jù)安全
. 哪里可以學ai技術(shù),探索AI技術(shù)學習之路
. deepspeech 中文模型,深度學習賦能下的中文語音識別技術(shù)解析
. 存儲數(shù)據(jù)恢復,技術(shù)解析與案例分析
