專利名稱:一種基于AoE協(xié)議的網(wǎng)絡(luò)存儲(chǔ)設(shè)備及其數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于AoE(ATA over Ethernet,以太網(wǎng)直接承載ATA)協(xié)議的網(wǎng)絡(luò)存儲(chǔ)設(shè)備及其數(shù)據(jù)處理方法。采用AoE協(xié)議傳輸ATA(AT Attachment)命令和數(shù)據(jù);采用以太網(wǎng)(Ethernet)和WiFi(802.11)作為基礎(chǔ)通訊協(xié)議,屬于計(jì)算機(jī)網(wǎng)絡(luò)存儲(chǔ)技術(shù)領(lǐng)域。
背景技術(shù):
隨著互聯(lián)網(wǎng)和多媒體技術(shù)的飛速發(fā)展,信息資源的積累呈爆炸式的增長(zhǎng)。越來(lái)越多的、各式各樣的音頻文件和視頻文件重復(fù)地充滿了我們的每一個(gè)硬盤(pán),而且隨著Intel所倡導(dǎo)的數(shù)字家庭應(yīng)用的方興未艾,更多音頻和視頻信息的到來(lái)將加劇這個(gè)趨勢(shì),因此,一個(gè)靈活、有效、高性能價(jià)格比的小型網(wǎng)絡(luò)存儲(chǔ)設(shè)備成為必需,該類設(shè)備將包括多種特點(diǎn)(1)易于為多種設(shè)備(電腦、掌上電腦、無(wú)線路由器、數(shù)字家庭中的各種設(shè)備以及具有無(wú)線或有線網(wǎng)絡(luò)接口的家電設(shè)備等)所在線共享;(2)易于操作和使用;(3)易于擴(kuò)充和擴(kuò)展存儲(chǔ)容量;(4)較低的價(jià)格;(5)較低的能耗現(xiàn)有的傳統(tǒng)存儲(chǔ)方式、移動(dòng)存儲(chǔ)方式和網(wǎng)絡(luò)存儲(chǔ)方式,均不能充分滿足以上的需求。
傳統(tǒng)存儲(chǔ)方式,也叫直接連接存儲(chǔ)(DAS,Direct Attached Storage)較為最常見(jiàn),例如,我們的桌面電腦和筆記本電腦的內(nèi)置的硬盤(pán),其優(yōu)點(diǎn)是操作和使用簡(jiǎn)單,并具有較低的價(jià)格;其缺點(diǎn)是難以擴(kuò)展存儲(chǔ)容量以及多設(shè)備共享較困難。
移動(dòng)存儲(chǔ)方式,包括USB接口的硬盤(pán)和閃盤(pán),近幾年為越來(lái)越多的使用,作為方便攜帶的信息交換和存儲(chǔ)手段,其缺點(diǎn)為難以實(shí)現(xiàn)多設(shè)備在線共享。
網(wǎng)絡(luò)存儲(chǔ)方式提供豐富、快速靈活和簡(jiǎn)便的存儲(chǔ)資源,主要有兩種基本類型網(wǎng)絡(luò)附加存儲(chǔ)(NAS,Network Attached Storage)和存儲(chǔ)區(qū)域網(wǎng)(SAN,Storage Area Network)。
NAS存儲(chǔ)系統(tǒng)擁有一個(gè)專用存儲(chǔ)服務(wù)器,服務(wù)器上安裝一個(gè)“瘦”操作系統(tǒng)和一個(gè)經(jīng)過(guò)優(yōu)化的文件系統(tǒng),類似一個(gè)文件服務(wù)器。NAS服務(wù)器通過(guò)IP網(wǎng)絡(luò),同時(shí)向網(wǎng)絡(luò)中多個(gè)客戶機(jī)(一般為桌面電腦、筆記本電腦以及應(yīng)用服務(wù)器)提供文件級(jí)的I/O服務(wù),客戶機(jī)可以在NAS服務(wù)器提供的共享目錄中進(jìn)行文件級(jí)的操作。如果NAS服務(wù)器的操作系統(tǒng)為Windows系列,那么NAS服務(wù)器與客戶機(jī)之間的文件共享協(xié)議為互聯(lián)網(wǎng)公共文件系統(tǒng)(CIFS,Internet Common File System);如果NAS服務(wù)器的操作系統(tǒng)為Unix/Linux系列,那么NAS服務(wù)器與客戶機(jī)之間的文件共享協(xié)議為網(wǎng)絡(luò)文件系統(tǒng)(NFS,Network File System)和CIFS。問(wèn)題表現(xiàn)為,傳輸速度較慢,不適合大型文件,如視頻文件,連續(xù)、高速傳輸;不能進(jìn)行一些基本的硬盤(pán)存儲(chǔ)操作,如分區(qū)和格式化;不支持存儲(chǔ)塊(Block)級(jí)的操作,使其存儲(chǔ)能力受限。
SAN存儲(chǔ)系統(tǒng)采用一種面向網(wǎng)絡(luò)的存儲(chǔ)結(jié)構(gòu),是以數(shù)據(jù)存儲(chǔ)為中心。其采用可擴(kuò)展的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)連接服務(wù)器和存儲(chǔ)設(shè)備,并將數(shù)據(jù)的存儲(chǔ)和管理集中在相對(duì)獨(dú)立的專用網(wǎng)絡(luò)中,向服務(wù)器提供最優(yōu)的數(shù)據(jù)存儲(chǔ)服務(wù)。與NAS存儲(chǔ)系統(tǒng)不同的是SAN提供存儲(chǔ)塊(Block)級(jí)的服務(wù)。磁盤(pán)訪問(wèn)協(xié)議采用較高級(jí)的SCSI協(xié)議。
根據(jù)存儲(chǔ)網(wǎng)絡(luò)所采用的數(shù)據(jù)傳輸協(xié)議和傳輸介質(zhì)的不同,SAN系統(tǒng)主要分為兩種方式FC-SAN和IP-SAN。FC-SAN采用光纖通道(FC,F(xiàn)ibre Channel)網(wǎng)絡(luò)結(jié)構(gòu)將服務(wù)器和存儲(chǔ)設(shè)備連接起來(lái),并采用FCP(Fibre Channel Protocol)傳輸SCSI命令和數(shù)據(jù);IP-SAN采用IP網(wǎng)絡(luò)結(jié)構(gòu)將服務(wù)器和存儲(chǔ)設(shè)備連接起來(lái),并采用iSCSI協(xié)議傳輸SCSI命令和數(shù)據(jù)。
SAN存儲(chǔ)系統(tǒng)擁有多個(gè)優(yōu)點(diǎn)可以提供網(wǎng)絡(luò)磁盤(pán)服務(wù);支持各種基本的磁盤(pán)操作,如分區(qū)和格式化;提供靈活擴(kuò)展的存儲(chǔ)容量;較高的傳輸帶寬。其最大的缺點(diǎn)是價(jià)格昂貴,只有大型企業(yè)才有財(cái)力使用,F(xiàn)C-SAN需要建立全光纖專用網(wǎng)絡(luò)以及光纖接口的交換設(shè)備和存儲(chǔ)設(shè)備;IP-SAN需要增加TOE(TCP OffLoadEngine)卡。另外,iSCSI協(xié)議多增加了TCP/IP的處理開(kāi)銷,降低數(shù)據(jù)傳輸速度。
隨著互聯(lián)網(wǎng)蓬勃發(fā)展,網(wǎng)絡(luò)的各種信息,包括文字、照片、音頻、視頻,對(duì)我們的日常生活的影響一步步加強(qiáng),再加上數(shù)字家庭的興起以及未來(lái)家居的網(wǎng)絡(luò)化,一個(gè)靈活、高效、高性能價(jià)格比的小型網(wǎng)絡(luò)存儲(chǔ)設(shè)備的需求就擺在我們面前。
發(fā)明內(nèi)容
本發(fā)明的目的是開(kāi)發(fā)一種基于AoE協(xié)議的網(wǎng)絡(luò)存儲(chǔ)設(shè)備,滿足個(gè)人用戶和家庭使用。它摒棄現(xiàn)有存儲(chǔ)系統(tǒng)的缺點(diǎn),實(shí)現(xiàn)了一個(gè)靈活、高效、高性能價(jià)格比的小型網(wǎng)絡(luò)存儲(chǔ)設(shè)備。該設(shè)備具有以下多種優(yōu)點(diǎn)(1)易于為多種設(shè)備(電腦、掌上電腦、無(wú)線路由器、數(shù)字家庭中的各種設(shè)備以及具有無(wú)線或有線網(wǎng)絡(luò)接口的家電設(shè)備等)所在線共享;(2)能夠像本地硬盤(pán)一樣易于操作和使用;(3)易于擴(kuò)充和擴(kuò)展存儲(chǔ)容量;(4)較低的價(jià)格;(5)較低的能耗。
本發(fā)明的另外一個(gè)目的是對(duì)于來(lái)自客戶端的AoE協(xié)議數(shù)據(jù)包的接受、數(shù)據(jù)存取和響應(yīng),即其數(shù)據(jù)處理方法。
本發(fā)明的存儲(chǔ)設(shè)備的基礎(chǔ)通訊網(wǎng)絡(luò)為以太網(wǎng)(Ethernet)和WiFi(802.11),當(dāng)前幾乎所有的臺(tái)式電腦、筆記本電腦、服務(wù)器、掌上電腦(PDA)以及網(wǎng)絡(luò)化的家用電器等都配備其中一種或兩種網(wǎng)絡(luò)接口,因此可以非常方便地使用本發(fā)明的網(wǎng)絡(luò)存儲(chǔ)設(shè)備。其中以太網(wǎng)的傳輸速率不低于10兆比特每秒,WiFi的傳輸速率不低于11兆比特每秒;另外,本設(shè)備支持使用最為廣泛的PATA(Parallel AT Attachment,并行AT附加,或稱IDE,Integrated Device Electronics,集成電路設(shè)備)和SATA(Serial AT Attachment,串行AT附加)接口硬盤(pán),使得它的成本最為低廉。
本發(fā)明采用AoE(ATA over Ethernet,以太網(wǎng)直接承載ATA)協(xié)議傳輸ATA命令和數(shù)據(jù)。與iSCSI、FCP、NFS以及CIFS相比,AoE協(xié)議非常簡(jiǎn)單、有效,幾乎沒(méi)有額外TCP/IP協(xié)議處理的開(kāi)銷,可以實(shí)現(xiàn)較高的傳輸速度;支持直接接入現(xiàn)有的各種以太網(wǎng)交換機(jī)、集線器以及無(wú)線路由器(Wireless Router)和無(wú)線訪問(wèn)點(diǎn)(Access Point);另外,AoE協(xié)議不可路由,適合局域網(wǎng)、無(wú)線局域網(wǎng)和點(diǎn)對(duì)點(diǎn)連接使用,具有較高的安全性。
本發(fā)明的存儲(chǔ)設(shè)備的硬件小巧,與常見(jiàn)的2.5寸或3.5寸硬盤(pán)尺寸相當(dāng),便于攜帶。系統(tǒng)板采用基于片上系統(tǒng)(SoC,System-on-Chip)的解決方案,外加閃存、內(nèi)存、硬盤(pán)控制器、硬盤(pán)以及支持802.11的射頻等來(lái)保證系統(tǒng)的可實(shí)現(xiàn)性;軟件采用嵌入式操作系統(tǒng),保證系統(tǒng)運(yùn)行的高效率和高性能。
本發(fā)明的存儲(chǔ)設(shè)備的數(shù)據(jù)處理方法操作包括以下步驟(1)軟件系統(tǒng)通過(guò)以太網(wǎng)或WiFi接受來(lái)自客戶端AoE協(xié)議請(qǐng)求;(2)軟件系統(tǒng)取出AoE協(xié)議包中的ATA命令或數(shù)據(jù),然后,交給一個(gè)專門(mén)負(fù)責(zé)的存儲(chǔ)讀寫(xiě)的核心線程;(3)存儲(chǔ)讀寫(xiě)的核心線程根據(jù)具體的ATA命令或數(shù)據(jù)進(jìn)行相應(yīng)處理—讀寫(xiě)硬盤(pán),然后把結(jié)果返回給軟件系統(tǒng);(4)軟件系統(tǒng)把結(jié)果打成AoE協(xié)議包,然后交給一個(gè)負(fù)責(zé)通訊的的核心線程進(jìn)行通訊處理;(5)負(fù)責(zé)通訊的的核心線程通過(guò)以太網(wǎng)或WiFi把AoE協(xié)議包發(fā)送給客戶端。
圖1是本發(fā)明—一種基于AoE協(xié)議的網(wǎng)絡(luò)存儲(chǔ)設(shè)備的硬件結(jié)構(gòu)示意圖。
圖2是本發(fā)明的AoE協(xié)議示意3是本發(fā)明的網(wǎng)絡(luò)存儲(chǔ)設(shè)備內(nèi)部操作系統(tǒng)的核心軟件層次結(jié)構(gòu)示意4是本發(fā)明的基于以太網(wǎng)和WiFi的整體網(wǎng)絡(luò)軟件層次結(jié)構(gòu)示意5是本發(fā)明的AoE核心模塊的數(shù)據(jù)處理過(guò)程示意圖具體實(shí)施方式
目前,網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)為NAS和SAN系統(tǒng),主要應(yīng)用于高端企業(yè)用戶,價(jià)格昂貴、體積龐大、配置繁瑣、管理復(fù)雜以及需要較高的能耗,不適合應(yīng)用于個(gè)人和家庭用戶。本發(fā)明基于簡(jiǎn)單、有效的AoE協(xié)議以及嵌入式軟/硬件技術(shù),網(wǎng)絡(luò)存儲(chǔ)設(shè)備具有價(jià)格低廉、體積小巧、零配置和管理以及較低的能耗等特點(diǎn),特別應(yīng)用于個(gè)人和家庭用戶。
本發(fā)明的硬件結(jié)構(gòu)參見(jiàn)圖1,設(shè)備采用嵌入式硬件技術(shù)予以實(shí)現(xiàn),由多個(gè)芯片組成(1)中央處理器(CPU)采用一個(gè)片上系統(tǒng)(SoC)內(nèi)部集成了一個(gè)ARM(Advanced RISC Machines,高級(jí)的精簡(jiǎn)指令集計(jì)算機(jī))或MIPS(Microcomputer without Interlocked Pipeline Stages,無(wú)互鎖流水階段的微型計(jì)算機(jī))、MAC(Media Access Control,媒體訪問(wèn)控制)。包括一個(gè)低功耗的CPU以及以太網(wǎng)和WiFi的媒體訪問(wèn)層的處理部分等。
(2)內(nèi)存(DRAM)主要用來(lái)運(yùn)行操作系統(tǒng)、AoE核心處理模塊以及各種網(wǎng)絡(luò)系統(tǒng)程序以及分配系統(tǒng)緩沖區(qū)。
(3)閃存(Flash)存放操作系統(tǒng)映像和根文件系統(tǒng)以及配置參數(shù)。
(4)磁盤(pán)控制器(Disk Controller)系統(tǒng)控制對(duì)硬盤(pán)的讀寫(xiě)。
(5)硬盤(pán)接口(Disk Interface)提供接口連接PATA和SATA硬盤(pán)(6)以太網(wǎng)接口(Ethernet Interface)提供10BaseT和100BaseTX等網(wǎng)絡(luò)接口(7)射頻電路(Radio Frequency Circuit)提供對(duì)801.11a/802.11b/802.11g等的支持本發(fā)明采用AoE(ATA over Ethernet)協(xié)議傳輸ATA命令和數(shù)據(jù),參見(jiàn)圖2。與iSCSI協(xié)議相比,AoE協(xié)議無(wú)需TCP/IP包處理和配置昂貴的ToE(TCP OFF Engine)卡,具有簡(jiǎn)單、高效等優(yōu)點(diǎn),并且易于安裝、配置和使用,對(duì)于客戶端,網(wǎng)絡(luò)硬盤(pán)可以像本地硬盤(pán)一樣進(jìn)行操作,例如分區(qū),格式化等。另外,AoE協(xié)議為不可路由協(xié)議,可保證存儲(chǔ)設(shè)備的訪問(wèn)安全。
本發(fā)明的軟件組成包括嵌入式操作系統(tǒng)和AoE核心處理模塊。其中,嵌入式操作系統(tǒng)采用經(jīng)過(guò)裁減和加固后的Linux操作系統(tǒng),功能強(qiáng)大并且體積小巧;支持多種嵌入式硬件結(jié)構(gòu),如ARM和MIPS等;支持以太網(wǎng)和WiFi高速處理;支持多種塊設(shè)備處理。AoE協(xié)議處理采用核心模塊方式進(jìn)行處理以降低CPU使用率、加快數(shù)據(jù)訪問(wèn)速度;AoE核心處理模塊嵌入到操作系統(tǒng)中,作為塊設(shè)備訪問(wèn)子系統(tǒng)的一部分存在。整個(gè)子系統(tǒng)的軟件層次結(jié)構(gòu)參見(jiàn)圖3。
本發(fā)明的軟/硬件系統(tǒng)啟動(dòng)簡(jiǎn)單而快速。存儲(chǔ)設(shè)備加電后,由硬件的啟動(dòng)加載器(BootLoader)把存放在閃存上的操作系統(tǒng)映像加載到內(nèi)存中,接著,操作系統(tǒng)對(duì)硬件進(jìn)行初始化,然后,掛載根文件系統(tǒng),并按照預(yù)先配置好的參數(shù)對(duì)各個(gè)子系統(tǒng)進(jìn)行初始化,特別是網(wǎng)絡(luò)/設(shè)備子系統(tǒng),完成后,啟動(dòng)各個(gè)系統(tǒng)進(jìn)程以及AoE核心處理模塊的核心線程,進(jìn)入等待接受和處理AoE協(xié)議包的狀態(tài)。
圖4揭示了本發(fā)明的整體網(wǎng)絡(luò)軟件層次結(jié)構(gòu)和數(shù)據(jù)處理過(guò)程,網(wǎng)絡(luò)傳輸介質(zhì)為以太網(wǎng)或WiFi。原理相同。下面我們?cè)敿?xì)介紹客戶端對(duì)網(wǎng)絡(luò)磁盤(pán)(網(wǎng)絡(luò)存儲(chǔ)設(shè)備)的一次讀取過(guò)程(1)用戶進(jìn)程讀取位于存儲(chǔ)在網(wǎng)絡(luò)磁盤(pán)上的某個(gè)文件中的數(shù)據(jù),文件系統(tǒng)查找是否存在于系統(tǒng)的磁盤(pán)緩沖區(qū)中;(2)如果已經(jīng)存在(過(guò)去曾經(jīng)被訪問(wèn)),直接把數(shù)據(jù)傳遞給用戶進(jìn)程;(3)如果不存在,把對(duì)文件的讀取轉(zhuǎn)換成對(duì)磁盤(pán)塊的讀取的ATA命令,并提交給AoE客戶端核心處理模塊;(4)AoE客戶端核心處理模塊把ATA命令打上AoE包頭,形成AoE協(xié)議包,提交給鏈路層處理(以太網(wǎng)或WiFi);(5)鏈路層把來(lái)自AoE的協(xié)議包打上以太網(wǎng)或WiFi的幀頭,形成第二層的數(shù)據(jù)幀,提交給物理層處理;(6)物理層將鏈路層的數(shù)據(jù)幀轉(zhuǎn)換成0、1形式的電信號(hào)或射頻信號(hào)向網(wǎng)絡(luò)存儲(chǔ)設(shè)備發(fā)送;(7)網(wǎng)絡(luò)存儲(chǔ)設(shè)備受到來(lái)自客戶端的電信號(hào)或射頻信號(hào),將信號(hào)轉(zhuǎn)換成鏈路層的數(shù)據(jù)幀,提交給鏈路層處理;(8)鏈路層處理對(duì)數(shù)據(jù)幀的類型進(jìn)行判斷,如果類型為AoE(其值為0x88A2),則去掉幀頭,取出數(shù)據(jù)包,提交給AoE服務(wù)器端核心處理模塊;(9)AoE服務(wù)器端核心處理模塊對(duì)AoE數(shù)據(jù)包的進(jìn)行處理,詳細(xì)過(guò)程見(jiàn)后面的說(shuō)明。處理完后,提交給核心的通用存儲(chǔ)塊層程序;(10)核心的通用存儲(chǔ)塊層程序把ATA命令轉(zhuǎn)換成對(duì)具體的硬盤(pán)進(jìn)行的操作,然后,提交給輸入輸出調(diào)度層;(11)輸入輸出調(diào)度程序?qū)λ械妮斎胼敵霾僮髦匦逻M(jìn)行優(yōu)化,然后,把一組新的輸入輸出操作提交給塊設(shè)備驅(qū)動(dòng)程序;(12)塊設(shè)備驅(qū)動(dòng)程序把每個(gè)輸入輸出操作提交給硬盤(pán),并進(jìn)入睡眠狀態(tài)等待來(lái)自硬盤(pán)的數(shù)據(jù)輸入;(13)當(dāng)硬盤(pán)的數(shù)據(jù)到達(dá)時(shí),系統(tǒng)喚醒等待的塊設(shè)備驅(qū)動(dòng)程序;(14)塊設(shè)備驅(qū)動(dòng)程序?qū)?shù)據(jù)進(jìn)行處理后,提交給輸入輸出調(diào)度程序;(15)輸入輸出調(diào)度程序把數(shù)據(jù)提交給核心的通用存儲(chǔ)塊層程序;(16)核心的通用存儲(chǔ)塊層程序把數(shù)據(jù)提交給AoE服務(wù)器端核心處理模塊進(jìn)行處理,其詳細(xì)過(guò)程見(jiàn)后面的說(shuō)明;(17)AoE服務(wù)器端核心處理模塊把數(shù)據(jù)打上AoE包頭,形成AoE協(xié)議包,提交給鏈路層處理(以太網(wǎng)或WiFi);(18)鏈路層把來(lái)自AoE的協(xié)議包打上以太網(wǎng)或WiFi的幀頭,形成第二層的數(shù)據(jù)幀,提交給物理層處理;(19)物理層將鏈路層的數(shù)據(jù)幀轉(zhuǎn)換成0、1形式的電信號(hào)或射頻信號(hào)向客戶端發(fā)送;(20)客戶端受到來(lái)自網(wǎng)絡(luò)存儲(chǔ)設(shè)備的電信號(hào)或射頻信號(hào),將信號(hào)轉(zhuǎn)換成鏈路層的數(shù)據(jù)幀,提交給鏈路層處理;(21)鏈路層處理對(duì)數(shù)據(jù)幀的類型進(jìn)行判斷,如果類型為AoE(其值為0x88A2),則去掉幀頭,取出數(shù)據(jù)包,提交給AoE客戶端核心處理模塊;(22)AoE客戶端核心處理模塊取其中的數(shù)據(jù),提交給用戶進(jìn)程并存放在磁盤(pán)緩沖區(qū)中。AoE服務(wù)器端核心處理模塊是本發(fā)明的另一個(gè)關(guān)鍵組成,它采用操作系統(tǒng)的核心模塊的形式加以實(shí)現(xiàn),圖5介紹了它的多線程處理方式,其處理的詳細(xì)過(guò)程如下(91)來(lái)自客戶端的AoE請(qǐng)求包到達(dá)AoE接收線程;(92)AoE接收線程對(duì)AoE請(qǐng)求包進(jìn)行檢查,找到要讀取的硬盤(pán),并把AoE包添加到該硬盤(pán)對(duì)應(yīng)的輸入隊(duì)列中,然后,喚醒硬盤(pán)讀寫(xiě)線程進(jìn)行處理;(93)硬盤(pán)讀寫(xiě)線程進(jìn)行處理從輸入隊(duì)列中取出AoE包,去掉包頭,再取出ATA命令,提交給核心的通用存儲(chǔ)塊層程序,然后,硬盤(pán)讀寫(xiě)線程睡眠等待;(94)來(lái)自通用存儲(chǔ)塊層程序的數(shù)據(jù)到達(dá)時(shí),核心喚醒硬盤(pán)讀寫(xiě)線程,它把數(shù)據(jù)打成多個(gè)AoE應(yīng)答包,添加到輸出隊(duì)列中,并喚醒AoE發(fā)送線程;(95)AoE發(fā)送線程從輸出隊(duì)列取出AoE應(yīng)答包,并逐個(gè)發(fā)送給客戶端。
權(quán)利要求
1.一種基于AoE(ATA over Ethernet,以太網(wǎng)直接承載ATA)協(xié)議的網(wǎng)絡(luò)存儲(chǔ)設(shè)備。特征在于采用簡(jiǎn)單、有效的AoE協(xié)議傳輸用于硬盤(pán)讀寫(xiě)的ATA命令和數(shù)據(jù);基礎(chǔ)傳輸協(xié)議采用以太網(wǎng)或WiFi;硬件系統(tǒng)采用嵌入式技術(shù),包括基于片上系統(tǒng)的低功耗CPU芯片、內(nèi)存、閃存、硬盤(pán)控制器、硬盤(pán)接口、以太網(wǎng)接口和WiFi射頻電路;軟件系統(tǒng)采用經(jīng)過(guò)裁減和加固后的嵌入式操作系統(tǒng);AoE協(xié)議處理程序采用核心模塊方式嵌入到操作系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)存儲(chǔ)設(shè)備,其特征在于AoE協(xié)議為ATA命令和數(shù)據(jù)傳輸協(xié)議。
3.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)存儲(chǔ)設(shè)備,其特征在于基礎(chǔ)傳輸協(xié)議采用以太網(wǎng)協(xié)議,并且傳輸速率不低于10兆比特每秒。
4.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)存儲(chǔ)設(shè)備,其特征在于基礎(chǔ)傳輸協(xié)議采用WiFi協(xié)議,并且傳輸速率不低于11兆比特每秒。
5.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)存儲(chǔ)設(shè)備,其特征在于硬件系統(tǒng)采用嵌入式技術(shù),包括基于片上系統(tǒng)的低功耗CPU芯片、內(nèi)存、閃存、硬盤(pán)控制器、硬盤(pán)接口、以太網(wǎng)接口和WiFi射頻電路。
6.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)存儲(chǔ)設(shè)備,其特征在于AoE協(xié)議處理程序采用核心模塊方式嵌入到操作系統(tǒng),并且采用多個(gè)核心線程進(jìn)行AoE協(xié)議數(shù)據(jù)的并發(fā)通訊和硬盤(pán)讀寫(xiě)。
7.一種基于AoE(ATA over Ethernet,以太網(wǎng)直接承載ATA)協(xié)議的網(wǎng)絡(luò)存儲(chǔ)設(shè)備的數(shù)據(jù)處理方法,其特征在于客戶端對(duì)網(wǎng)絡(luò)磁盤(pán)(網(wǎng)絡(luò)存儲(chǔ)設(shè)備)的讀取步驟(1)用戶進(jìn)程讀取位于存儲(chǔ)在網(wǎng)絡(luò)磁盤(pán)上的某個(gè)文件中的數(shù)據(jù),文件系統(tǒng)查找是否存在于系統(tǒng)的磁盤(pán)緩沖區(qū)中;(2)如果已經(jīng)存在(過(guò)去曾經(jīng)被訪問(wèn)),直接把數(shù)據(jù)傳遞給用戶進(jìn)程;(3)如果不存在,把對(duì)文件的讀取轉(zhuǎn)換成對(duì)磁盤(pán)塊的讀取的ATA命令,并提交給AoE客戶端核心處理模塊;(4)AoE客戶端核心處理模塊把ATA命令打上AoE包頭,形成AoE協(xié)議包,提交給鏈路層處理(以太網(wǎng)或WiFi);(5)鏈路層把來(lái)自AoE的協(xié)議包打上以太網(wǎng)或WiFi的幀頭,形成第二層的數(shù)據(jù)幀,提交給物理層處理;(6)物理層將鏈路層的數(shù)據(jù)幀轉(zhuǎn)換成0、1形式的電信號(hào)或射頻信號(hào)向網(wǎng)絡(luò)存儲(chǔ)設(shè)備發(fā)送;(7)網(wǎng)絡(luò)存儲(chǔ)設(shè)備受到來(lái)自客戶端的電信號(hào)或射頻信號(hào),將信號(hào)轉(zhuǎn)換成鏈路層的數(shù)據(jù)幀,提交給鏈路層處理;(8)鏈路層處理對(duì)數(shù)據(jù)幀的類型進(jìn)行判斷,如果類型為AoE(其值為0x88A2),則去掉幀頭,取出數(shù)據(jù)包,提交給AoE服務(wù)器端核心處理模塊;(9)AoE服務(wù)器端核心處理模塊對(duì)AoE數(shù)據(jù)包的處理過(guò)程見(jiàn)權(quán)利要求8所述。處理完后,提交給核心的通用存儲(chǔ)塊層程序;(10)核心的通用存儲(chǔ)塊層程序把ATA命令轉(zhuǎn)換成對(duì)具體的硬盤(pán)進(jìn)行的操作,然后,提交給輸入輸出調(diào)度層;(11)輸入輸出調(diào)度程序?qū)λ械妮斎胼敵霾僮髦匦逻M(jìn)行優(yōu)化,然后,把一組新的輸入輸出操作提交給塊設(shè)備驅(qū)動(dòng)程序;(12)塊設(shè)備驅(qū)動(dòng)程序把每個(gè)輸入輸出操作提交給硬盤(pán),并進(jìn)入睡眠狀態(tài)等待來(lái)自硬盤(pán)的數(shù)據(jù)輸入;(13)當(dāng)硬盤(pán)的數(shù)據(jù)到達(dá)時(shí),系統(tǒng)喚醒等待的塊設(shè)備驅(qū)動(dòng)程序;(14)塊設(shè)備驅(qū)動(dòng)程序?qū)?shù)據(jù)進(jìn)行處理后,提交給輸入輸出調(diào)度程序;(15)輸入輸出調(diào)度程序把數(shù)據(jù)提交給核心的通用存儲(chǔ)塊層程序;(16)核心的通用存儲(chǔ)塊層程序把數(shù)據(jù)提交給AoE服務(wù)器端核心處理模塊進(jìn)行處理,其過(guò)程見(jiàn)權(quán)利要求8所述;(17)AoE服務(wù)器端核心處理模塊把數(shù)據(jù)打上AoE包頭,形成AoE協(xié)議包,提交給鏈路層處理(以太網(wǎng)或WiFi);(18)鏈路層把來(lái)自AoE的協(xié)議包打上以太網(wǎng)或WiFi的幀頭,形成第二層的數(shù)據(jù)幀,提交給物理層處理;(19)物理層將鏈路層的數(shù)據(jù)幀轉(zhuǎn)換成0、1形式的電信號(hào)或射頻信號(hào)向客戶端發(fā)送;(20)客戶端受到來(lái)自網(wǎng)絡(luò)存儲(chǔ)設(shè)備的電信號(hào)或射頻信號(hào),將信號(hào)轉(zhuǎn)換成鏈路層的數(shù)據(jù)幀,提交給鏈路層處理;(21)鏈路層處理對(duì)數(shù)據(jù)幀的類型進(jìn)行判斷,如果類型為AoE(其值為0x88A2),則去掉幀頭,取出數(shù)據(jù)包,提交給AoE客戶端核心處理模塊;(22)AoE客戶端核心處理模塊取其中的數(shù)據(jù),提交給用戶進(jìn)程并存放在磁盤(pán)緩沖區(qū)中。
8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)存儲(chǔ)設(shè)備的數(shù)據(jù)處理方法,其特征在于所述步驟(9)和步驟(16)中的AoE服務(wù)器端核心處理模塊的處理詳細(xì)過(guò)程包括下列步驟(81)自客戶端的AoE請(qǐng)求包到達(dá)AoE接收線程;(82)AoE接收線程對(duì)AoE請(qǐng)求包進(jìn)行檢查,找到要讀取的硬盤(pán),并把AoE包添加到該硬盤(pán)對(duì)應(yīng)的輸入隊(duì)列中,然后,喚醒硬盤(pán)讀寫(xiě)線程進(jìn)行處理;(83)硬盤(pán)讀寫(xiě)線程進(jìn)行處理從輸入隊(duì)列中取出AoE包,去掉包頭,再取出ATA命令,提交給核心的通用存儲(chǔ)塊層程序,然后,硬盤(pán)讀寫(xiě)線程睡眠等待;(84)來(lái)自通用存儲(chǔ)塊層程序的數(shù)據(jù)到達(dá)時(shí),核心喚醒硬盤(pán)讀寫(xiě)線程,它把數(shù)據(jù)打成多個(gè)AoE應(yīng)答包,添加到輸出隊(duì)列中,并喚醒AoE發(fā)送線程;(85)AoE發(fā)送線程從輸出隊(duì)列取出AoE應(yīng)答包,并逐個(gè)發(fā)送給客戶端。
全文摘要
一種基于AoE(ATA over Ethernet,以太網(wǎng)直接承載ATA)協(xié)議的網(wǎng)絡(luò)存儲(chǔ)設(shè)備。特征在于采用簡(jiǎn)單、有效的AoE協(xié)議傳輸用于硬盤(pán)讀寫(xiě)的ATA命令和數(shù)據(jù);基礎(chǔ)傳輸協(xié)議采用以太網(wǎng)或WiFi;硬件系統(tǒng)采用嵌入式技術(shù),包括基于片上系統(tǒng)的低功耗CPU芯片、內(nèi)存、閃存、硬盤(pán)控制器、硬盤(pán)接口、以太網(wǎng)接口和WiFi射頻電路;軟件系統(tǒng)采用經(jīng)過(guò)裁減和加固后的嵌入式操作系統(tǒng);AoE協(xié)議處理程序采用核心模塊方式嵌入到操作系統(tǒng)。本發(fā)明設(shè)備具有價(jià)格低廉、體積小巧、零配置和管理,并具有較低的能耗,特別應(yīng)用于個(gè)人和家庭用戶,應(yīng)用前景良好。
文檔編號(hào)G06F12/00GK1968203SQ200610112229
公開(kāi)日2007年5月23日 申請(qǐng)日期2006年8月31日 優(yōu)先權(quán)日2006年8月31日
發(fā)明者孫利 申請(qǐng)人:孫利