欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

固態(tài)硬盤(pán)的驅(qū)動(dòng)方法及裝置的制作方法

文檔序號(hào):6400770閱讀:399來(lái)源:國(guó)知局
專利名稱:固態(tài)硬盤(pán)的驅(qū)動(dòng)方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及電子信息技術(shù)領(lǐng)域,特別是涉及一種固態(tài)硬盤(pán)的驅(qū)動(dòng)方法及裝置。
背景技術(shù)
Linux I/O (Input/Output,輸入/輸出)子系統(tǒng)的架構(gòu)設(shè)計(jì)受當(dāng)時(shí)主流的儲(chǔ)存介質(zhì)影響,即基于機(jī)械轉(zhuǎn)動(dòng)的磁盤(pán),機(jī)械磁盤(pán)的I/o性能一直以來(lái)都是系統(tǒng)的瓶頸。為了能最大限度利用好有限的磁盤(pán)I/o資源,Linux I/O子系統(tǒng)的設(shè)計(jì)上引入了 I/O調(diào)度器(I/Oscheduler),利用I/O調(diào)度器對(duì)重復(fù)、相連的I/O操作請(qǐng)求合并,以及按照扇區(qū)的順序方向?qū)/O操作請(qǐng)求排序,從而減少實(shí)際發(fā)生的磁盤(pán)I/O次數(shù)和磁盤(pán)尋道時(shí)間。隨著儲(chǔ)存技術(shù)的發(fā)展,存儲(chǔ)介質(zhì)也發(fā)生了巨大變化,但現(xiàn)有的I/O調(diào)度器一直沿用至今。I/O調(diào)度器的總體目標(biāo)是希望讓磁頭能夠總是往一個(gè)方向移動(dòng),移動(dòng)到底了再往反方向走,以減少機(jī)械磁盤(pán)磁頭的尋道時(shí)間,這種實(shí)現(xiàn)就被稱為I/o調(diào)度算法。為了適應(yīng)不同的應(yīng)用場(chǎng)景、性能、時(shí)效性方面的需求,Linux內(nèi)核從2.6開(kāi)始引入了 4種不同的I/O調(diào)度算法,以針對(duì)不同類型的應(yīng)用程序優(yōu)化磁盤(pán)I/O性能,該4種不同的I/O調(diào)度算法包括:CFQ (Completely Fair Queuing完全公平隊(duì)列)算法,Deadline (最后期限)算法,Noop(無(wú)干預(yù))算法,Anticipatory (預(yù)期)算法?,F(xiàn)有的I/O調(diào)度層的調(diào)度算法在順序I/O操作下能對(duì)機(jī)械式磁盤(pán)的I/O性能起到明顯的優(yōu)化效果,但是隨著技術(shù)的發(fā)展,采用閃存顆粒(flash disk)的固態(tài)硬盤(pán)開(kāi)始逐漸取代帶有機(jī)械磁盤(pán)磁頭的機(jī)械磁盤(pán)。由于閃存顆粒采用順序方式進(jìn)行讀寫(xiě),其與機(jī)械磁盤(pán)所采用的磁盤(pán)轉(zhuǎn)動(dòng)的讀寫(xiě)方式截然不同,因此現(xiàn)有的I/O調(diào)度層的調(diào)度算法對(duì)于固態(tài)硬盤(pán)而言,往往會(huì)增加處理復(fù)雜度,延長(zhǎng)處理時(shí)間,從而造成功耗和成本的浪費(fèi)。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例主要解決的技術(shù)問(wèn)題是提供一種固態(tài)硬盤(pán)的驅(qū)動(dòng)方法及裝置,在處理針對(duì)固態(tài)硬盤(pán)的I/o操作請(qǐng)求時(shí),可有效簡(jiǎn)化處理過(guò)程,并能有效縮減處理時(shí)間,以降低功耗及成本。第一方面提供一種固態(tài)硬盤(pán)的驅(qū)動(dòng)方法,該方法應(yīng)用于操作系統(tǒng),操作系統(tǒng)包括通用塊層、I/o調(diào)度層、塊設(shè)備驅(qū)動(dòng)層,該方法包括:接收通用塊層發(fā)出的記錄有操作指令的塊I/o請(qǐng)求;將塊I/O請(qǐng)求格式轉(zhuǎn)換為記錄有操作指令的I/O操作請(qǐng)求,其中I/O操作請(qǐng)求為I/o調(diào)度層的基本操作單元;將I/O操作請(qǐng)求插入到I/O調(diào)度層的I/O設(shè)備請(qǐng)求隊(duì)列的空位置;從I/o設(shè)備請(qǐng)求隊(duì)列的空位置獲取I/O操作請(qǐng)求,將I/O操作請(qǐng)求發(fā)送給塊設(shè)備驅(qū)動(dòng)層;根據(jù)塊設(shè)備驅(qū)動(dòng)層接收到的I/o操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)。在第一方面的第一種可能的實(shí)現(xiàn)方式中,操作指令包括讀指令和寫(xiě)指令中的任意一種或兩種。在第一方面的第二種可能的實(shí)現(xiàn)方式中,塊I/O請(qǐng)求設(shè)置為bio結(jié)構(gòu)體,I/O操作請(qǐng)求設(shè)置為request結(jié)構(gòu)體。
在第一方面的第三種可能的實(shí)現(xiàn)方式中,操作系統(tǒng)包括Iinux操作系統(tǒng)或unix操作系統(tǒng)。第二方面提供一種固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置,該驅(qū)動(dòng)裝置應(yīng)用于操作系統(tǒng),操作系統(tǒng)包括通用塊層、I/o調(diào)度層、塊設(shè)備驅(qū)動(dòng)層,該裝置包括:塊I/O請(qǐng)求接收模塊,用于接收通用塊層發(fā)出的記錄有操作指令的塊I/o請(qǐng)求;格式轉(zhuǎn)換模塊,用于將塊I/O請(qǐng)求格式轉(zhuǎn)換為記錄有操作指令的I/o操作請(qǐng)求,I/O操作請(qǐng)求為I/O調(diào)度層的的基本操作單元;插入模塊,用于將I/o操作請(qǐng)求插入到I/O調(diào)度層的I/O設(shè)備請(qǐng)求隊(duì)列的空位置;1/0操作請(qǐng)求獲取模塊,用于從I/o設(shè)備請(qǐng)求隊(duì)列的空位置獲取I/O操作請(qǐng)求,將I/O操作請(qǐng)求發(fā)送給塊設(shè)備驅(qū)動(dòng)層;驅(qū)動(dòng)模塊,用于根據(jù)塊設(shè)備驅(qū)動(dòng)層接收到的I/o操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)。在第二方面的第一種可能的實(shí)現(xiàn)方式中,操作指令包括讀指令和寫(xiě)指令中的任意一種或兩種。在第二方面的第二種可能的實(shí)現(xiàn)方式中,塊I/O請(qǐng)求設(shè)置為bio結(jié)構(gòu)體,I/O操作請(qǐng)求設(shè)置為request結(jié)構(gòu)體。在第二方面的第三種可能的 實(shí)現(xiàn)方式中,操作系統(tǒng)包括Iinux操作系統(tǒng)或unix操作系統(tǒng)。區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明實(shí)施例主要解決的技術(shù)問(wèn)題是提供一種固態(tài)硬盤(pán)的驅(qū)動(dòng)方法及裝置,該方法及裝置應(yīng)用于操作系統(tǒng),通過(guò)將I/o操作請(qǐng)求插入到I/O調(diào)度層的I/o設(shè)備請(qǐng)求隊(duì)列的空位置,從該空隊(duì)列位置獲取I/O操作請(qǐng)求,從I/O設(shè)備請(qǐng)求隊(duì)列的空位置獲取I/o操作請(qǐng)求,將I/O操作請(qǐng)求發(fā)送給塊設(shè)備驅(qū)動(dòng)層,根據(jù)I/O操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)硬盤(pán),由于本發(fā)明實(shí)施例并沒(méi)有對(duì)I/o操作請(qǐng)求進(jìn)行合并、排序等復(fù)雜的調(diào)度過(guò)程,因此更為適合于采用閃存顆粒(flash disk)的固態(tài)硬盤(pán),從而在驅(qū)動(dòng)固態(tài)硬盤(pán)時(shí),能有效縮減處理時(shí)間,并且可降低功耗及成本。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例的固態(tài)硬盤(pán)的驅(qū)動(dòng)方法第一實(shí)施例的流程示意圖;圖2是本發(fā)明實(shí)施例的固態(tài)硬盤(pán)的驅(qū)動(dòng)方法第二實(shí)施例的流程圖;圖3是本發(fā)明實(shí)施例的固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置第一實(shí)施例的裝置結(jié)構(gòu)示意圖;圖4是本發(fā)明實(shí)施例的固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置第二實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參見(jiàn)圖1,圖1是本發(fā)明實(shí)施例的固態(tài)硬盤(pán)的驅(qū)動(dòng)方法第一實(shí)施例的流程示意圖,如圖1所示,本發(fā)明實(shí)施例提供的固態(tài)硬盤(pán)的驅(qū)動(dòng)方法應(yīng)用于操作系統(tǒng),該操作系統(tǒng)包括通用塊層、I/o調(diào)度層、塊設(shè)備驅(qū)動(dòng)層。該方法包括以下步驟:步驟101:接收通用塊層發(fā)出的記錄有操作指令的塊I/O請(qǐng)求。塊I/O請(qǐng)求是Linux通用塊層中塊I/O的描述符,詳細(xì)描述一個(gè)磁盤(pán)數(shù)據(jù)塊I/O相關(guān)的信息。步驟102:將塊I/O請(qǐng)求格式轉(zhuǎn)換為記錄有操作指令的I/O操作請(qǐng)求,其中I/O操作請(qǐng)求為I/O調(diào)度層的基本操作單元,也是設(shè)備驅(qū)動(dòng)程序的處理對(duì)象,描述一個(gè)需要被處理的I/O操作。步驟103:將I/O操作請(qǐng)求插入到I/O調(diào)度層的I/O設(shè)備請(qǐng)求隊(duì)列的空位置。其中,I/o設(shè)備請(qǐng)求隊(duì)列為L(zhǎng)inux內(nèi)核中描述一個(gè)塊設(shè)備需要處理的所有I/O操作請(qǐng)求組成的一個(gè)隊(duì)列。步驟104:從I/O設(shè)備請(qǐng)求隊(duì)列的空位置獲取I/O操作請(qǐng)求,將I/O操作請(qǐng)求發(fā)送給塊設(shè)備驅(qū)動(dòng)層。步驟105:根據(jù)塊設(shè)備驅(qū)動(dòng)層接收到的I/O操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)
硬盤(pán)。 由于固態(tài)硬盤(pán)采用閃存顆粒(flash disk),閃存顆粒采用順序方式進(jìn)行讀寫(xiě),其讀取機(jī)制與內(nèi)存相仿,因此讀取固態(tài)硬盤(pán)無(wú)需進(jìn)行磁盤(pán)尋道,并且固態(tài)硬盤(pán)沒(méi)有對(duì)I/O操作請(qǐng)求的合并、排序等調(diào)度需求。因此,由于閃存顆粒采用順序方式進(jìn)行讀寫(xiě),其與機(jī)械磁盤(pán)所采用的磁盤(pán)轉(zhuǎn)動(dòng)的讀寫(xiě)機(jī)制截然不同,故本發(fā)明實(shí)施例將I/O操作請(qǐng)求插入到I/O調(diào)度層的I/O設(shè)備請(qǐng)求隊(duì)列的空位置,從該空隊(duì)列位置獲取I/O操作請(qǐng)求,從I/O設(shè)備請(qǐng)求隊(duì)列的空位置獲取I/O操作請(qǐng)求,將I/O操作請(qǐng)求發(fā)送給塊設(shè)備驅(qū)動(dòng)層,根據(jù)I/O操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)。從而跳過(guò)對(duì)I/O操作請(qǐng)求進(jìn)行合并、排序等復(fù)雜的調(diào)度過(guò)程,更為適合于采用閃存顆粒(flash disk)的固態(tài)硬盤(pán),在驅(qū)動(dòng)固態(tài)硬盤(pán)時(shí),能有效縮減處理時(shí)間,并且可降低功耗及成本。值得注意的是,上述的操作系統(tǒng)舉例而言可為Iinux操作系統(tǒng)或unix操作系統(tǒng)。以下請(qǐng)參見(jiàn)圖2,圖2是本發(fā)明實(shí)施例的的固態(tài)硬盤(pán)的驅(qū)動(dòng)方法第二實(shí)施例的流程圖。如圖2所示,在本發(fā)明實(shí)施例所揭示的操作系統(tǒng)設(shè)置有文件系統(tǒng)層301、通用塊層305、I/O調(diào)度層302、塊設(shè)備驅(qū)動(dòng)層303以及設(shè)備層304。其中,文件系統(tǒng)層301內(nèi)設(shè)置有文件系統(tǒng)306,文件系統(tǒng)306包括多個(gè)頁(yè)面緩存307,頁(yè)面緩存307包括塊緩沖器308,塊緩沖器308包括多個(gè)塊I/O請(qǐng)求,塊I/O請(qǐng)求設(shè)置為Mo結(jié)構(gòu)體,其中塊I/O請(qǐng)求記錄有操作指令,文件系統(tǒng)層301傳輸該塊I/O請(qǐng)求至通用塊層305。通用塊層305獲取塊I/O請(qǐng)求,并將其發(fā)送至I/O調(diào)度層。I/O調(diào)度層302設(shè)置有I/O設(shè)備請(qǐng)求隊(duì)列311,I/O設(shè)備請(qǐng)求隊(duì)列311包括多個(gè)位置,多個(gè)I/o操作請(qǐng)求分別設(shè)置在多個(gè)位置中,以在I/O設(shè)備請(qǐng)求隊(duì)列311進(jìn)行排列,圖2中虛線框所圈住的位置為非空位置,位置320為空位置。塊設(shè)備驅(qū)動(dòng)層303設(shè)置有存儲(chǔ)設(shè)備驅(qū)動(dòng)器313。設(shè)備層304所設(shè)置的設(shè)備類型為固態(tài)硬盤(pán)。
以下將結(jié)合圖2對(duì)具體的寫(xiě)操作流程進(jìn)行詳細(xì)介紹,在本發(fā)明實(shí)施例中,當(dāng)操作系統(tǒng)捕獲到用于寫(xiě)入固態(tài)硬盤(pán)的進(jìn)程305時(shí),操作系統(tǒng)產(chǎn)生記錄有寫(xiě)操作指令的塊I/O請(qǐng)求309,塊緩沖器308獲取該記錄有寫(xiě)操作指令的塊I/O請(qǐng)求309并發(fā)送至通用塊層305。在通用塊層305獲取塊I/O請(qǐng)求309,并將其發(fā)送至I/O調(diào)度層302。接收通用塊層305發(fā)出的塊I/O請(qǐng)求309,將塊I/O請(qǐng)求309格式轉(zhuǎn)換為記錄有操作指令的I/o操作請(qǐng)求310,其中,這里所作格式轉(zhuǎn)換具體而言是將格式為bio結(jié)構(gòu)體的塊I/O請(qǐng)求309轉(zhuǎn)換為格式為request結(jié)構(gòu)體的I/O操作請(qǐng)求310。bio結(jié)構(gòu)體為現(xiàn)有技術(shù)定義的應(yīng)用于塊I/O請(qǐng)求的一種基本結(jié)構(gòu)體,request結(jié)構(gòu)體為現(xiàn)有技術(shù)定義的應(yīng)用于I/O操作請(qǐng)求的一種基本結(jié)構(gòu)體。將I/O操作請(qǐng)求310插入到I/O設(shè)備請(qǐng)求隊(duì)列311的空位置320。并從該空位置320獲取I/O操作請(qǐng)求310,將該I/O操作請(qǐng)求310發(fā)送給塊設(shè)備驅(qū)動(dòng)層303。根據(jù)塊設(shè)備驅(qū)動(dòng)層303接收到的I/O操作請(qǐng)求310中記錄的寫(xiě)操作指令驅(qū)動(dòng)設(shè)備層304中的固態(tài)硬盤(pán)313,使得固態(tài)硬盤(pán)313可進(jìn)行寫(xiě)入動(dòng)作。值得注意的是,以上所列的實(shí)施方式為操作指令為寫(xiě)指令的流程,而操作指令為讀指令的流程與上述流程類似,于此不作贅述。因此,在本發(fā)明基 于操作系統(tǒng)的固態(tài)硬盤(pán)的驅(qū)動(dòng)方法第二實(shí)施例中,相對(duì)于現(xiàn)有技術(shù)而言省略了復(fù)雜的I/o調(diào)度過(guò)程,將I/O操作請(qǐng)求放置到I/O設(shè)備請(qǐng)求隊(duì)列的空位置上,并直接從該空位置獲取I/o操作請(qǐng)求,由于省略復(fù)雜的I/O調(diào)度過(guò)程,因此能簡(jiǎn)化現(xiàn)有技術(shù)中的I/o協(xié)議棧,縮短I/O傳輸?shù)穆窂缴疃?,減少I/O傳輸?shù)馁Y源消耗和延時(shí)有效縮減處理時(shí)間,并且可降低功耗及成本,更為適合針對(duì)固態(tài)硬盤(pán)的高并發(fā)、高隨機(jī)性的I/O操作請(qǐng)求。以下請(qǐng)參見(jiàn)圖3,圖3是本發(fā)明實(shí)施例的固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置第一實(shí)施例的裝置結(jié)構(gòu)示意圖。固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置20應(yīng)用于操作系統(tǒng),操作系統(tǒng)包括通用塊層、I/O調(diào)度層、塊設(shè)備驅(qū)動(dòng)層,如圖3所示,該裝置20包括塊I/O請(qǐng)求接收模塊201、格式轉(zhuǎn)換模塊202、插入模塊203、I/O操作請(qǐng)求獲取模塊204以及驅(qū)動(dòng)模塊205。其中:塊I/O請(qǐng)求接收模塊201,用于接收通用塊層發(fā)出的記錄有操作指令的塊I/O請(qǐng)求;格式轉(zhuǎn)換模塊202,用于將塊I/O請(qǐng)求格式轉(zhuǎn)換為記錄有操作指令的I/O操作請(qǐng)求,I/O操作請(qǐng)求為I/O調(diào)度層的的基本操作單元;插入模塊203,用于將I/O操作請(qǐng)求插入到I/O調(diào)度層的I/O設(shè)備請(qǐng)求隊(duì)列的空
位置;I/O操作請(qǐng)求獲取模塊204,用于從I/O設(shè)備請(qǐng)求隊(duì)列的空位置獲取I/O操作請(qǐng)求,將I/O操作請(qǐng)求發(fā)送給塊設(shè)備驅(qū)動(dòng)層;驅(qū)動(dòng)模塊205,用于根據(jù)塊設(shè)備驅(qū)動(dòng)層接收到的I/O操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)206??蛇x地,操作指令包括讀指令和寫(xiě)指令中的任意一種或兩種。可選地,塊I/O請(qǐng)求設(shè)置為bio結(jié)構(gòu)體,I/O操作請(qǐng)求設(shè)置為request結(jié)構(gòu)體??蛇x地,操作系統(tǒng)包括Iinux操作系統(tǒng)或unix操作系統(tǒng)。
由于閃存顆粒采用順序方式進(jìn)行讀寫(xiě),其與機(jī)械磁盤(pán)所采用的磁盤(pán)轉(zhuǎn)動(dòng)的讀寫(xiě)機(jī)制截然不同,本發(fā)明實(shí)施例將I/o操作請(qǐng)求插入到I/O調(diào)度層的I/O設(shè)備請(qǐng)求隊(duì)列的空位置,從該空隊(duì)列位置獲取I/o操作請(qǐng)求,從I/O設(shè)備請(qǐng)求隊(duì)列的空位置獲取I/O操作請(qǐng)求,將I/o操作請(qǐng)求發(fā)送給塊設(shè)備驅(qū)動(dòng)層,根據(jù)I/O操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)。從而跳過(guò)對(duì)I/o操作請(qǐng)求進(jìn)行合并、排序等復(fù)雜的調(diào)度過(guò)程,更為適合于采用閃存顆粒(flash disk)的固態(tài)硬盤(pán),在驅(qū)動(dòng)固態(tài)硬盤(pán)時(shí),能有效縮減處理時(shí)間,并且可降低功耗及成本。以下請(qǐng)參見(jiàn)圖4,圖4是本發(fā)明固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置第二實(shí)施例的結(jié)構(gòu)示意圖,如圖4所示,本發(fā)明固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置30包括存儲(chǔ)器33、處理器31以及總線35,其中存儲(chǔ)器33以及處理器31分別與總線35連接,以通過(guò)總線35進(jìn)行數(shù)據(jù)交互。本發(fā)明固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置30用于驅(qū)動(dòng)固態(tài)硬盤(pán)32,固態(tài)硬盤(pán)32與總線35連接,以通過(guò)總線35與存儲(chǔ)器33、處理器31進(jìn)行數(shù)據(jù)交互。需說(shuō)明的是,固態(tài)硬盤(pán)32也可以為固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置30內(nèi)部。在本發(fā)明的其它一些實(shí)施例中,存儲(chǔ)器33、處理器31以及固態(tài)硬盤(pán)32也可以不通過(guò)總線35直接連接。存儲(chǔ)器33可以實(shí)現(xiàn)為計(jì)算機(jī)的軟盤(pán)、U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤(pán)等的一種或多種。存儲(chǔ)器33存儲(chǔ)了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者它們的子集,或者它們的擴(kuò)展集:
應(yīng)用程序331包括各種應(yīng)用程序,例如辦公室應(yīng)用軟件、繪圖軟件或各種編輯軟件,用于實(shí)現(xiàn)各種應(yīng)用業(yè)務(wù),在本發(fā)明實(shí)施例中,應(yīng)用程序331可激活操作系統(tǒng)332中用于對(duì)固態(tài)硬盤(pán)32進(jìn)行操作的進(jìn)程,該進(jìn)程包括寫(xiě)入固態(tài)硬盤(pán)32的進(jìn)程、讀取固態(tài)硬盤(pán)32的進(jìn)程或擦除固態(tài)硬盤(pán)32內(nèi)存儲(chǔ)內(nèi)容的進(jìn)程。操作系統(tǒng)332包括各種系統(tǒng)程序,例如圖1所示的文件系統(tǒng)層、通用塊層、1/0調(diào)度層、塊設(shè)備驅(qū)動(dòng)層以及設(shè)備層等,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù)。在本發(fā)明實(shí)施例中,處理器31通過(guò)調(diào)用存儲(chǔ)器33中存儲(chǔ)的程序(該程序可以通過(guò)應(yīng)用程序?qū)崿F(xiàn),也可以通過(guò)操作系統(tǒng)來(lái)實(shí)現(xiàn),在通過(guò)操作系統(tǒng)來(lái)實(shí)現(xiàn)時(shí),具體可以將操作系統(tǒng)的內(nèi)核進(jìn)行重新編譯,以新的操作系統(tǒng)內(nèi)核形式存儲(chǔ)在操作系統(tǒng)中),執(zhí)行如下操作:接收通用塊層發(fā)出的記錄有操作指令的塊1/0請(qǐng)求;將塊1/0請(qǐng)求格式轉(zhuǎn)換為記錄有操作指令的1/0操作請(qǐng)求,其中1/0操作請(qǐng)求為I/o調(diào)度層的基本操作單元;將1/0操作請(qǐng)求插入到1/0調(diào)度層的1/0設(shè)備請(qǐng)求隊(duì)列的空位置;從1/0設(shè)備請(qǐng)求隊(duì)列的空位置獲取1/0操作請(qǐng)求,將1/0操作請(qǐng)求發(fā)送給塊設(shè)備驅(qū)動(dòng)層;根據(jù)塊設(shè)備驅(qū)動(dòng)層接收到的1/0操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)32。進(jìn)一步的,本發(fā)明實(shí)施例提供的終端設(shè)備還可以包括輸入設(shè)備,用戶可以使用輸入設(shè)備向應(yīng)用程序輸入對(duì)固態(tài)硬盤(pán)32進(jìn)行操作的命令,以激活操作系統(tǒng)中用于對(duì)固態(tài)硬盤(pán)32進(jìn)行操作的進(jìn)程,在其它一些實(shí)施例中,對(duì)固態(tài)硬盤(pán)32進(jìn)行操作的命令也可以直接來(lái)自于操作系統(tǒng)。輸入設(shè)備可以實(shí)現(xiàn)為觸摸屏、鼠標(biāo)、鍵盤(pán)等。
如圖4所示各個(gè)模塊通過(guò)總線35連接,該總線35可以是ISA( Industry StandardArchitecture,工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))總線、PCI (Peripheral Component,外部設(shè)備互連)總線或EISA(Extended Industry Standard Architecture,擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))總線等。所述總線35可以是一條或多條物理線路,當(dāng)是多條物理線路時(shí)可以分為地址總線、數(shù)據(jù)總線、控制總線等。在本發(fā)明實(shí)施例其它一些實(shí)現(xiàn)方式中,本發(fā)明實(shí)施例提供的各個(gè)模塊也可以不通過(guò)總線35的方式連接,而根據(jù)信號(hào)傳遞關(guān)系直接建立通信連接。需說(shuō)明的是,存儲(chǔ)器33中存儲(chǔ)的程序的模塊劃分可以參考前述實(shí)施例的模塊劃分方式,也可以采用另外的模塊劃分方式??蛇x地,操作指令包括讀指令和寫(xiě)指令中的一種或任意兩種??蛇x地,塊I/O請(qǐng)求設(shè)置為bio結(jié)構(gòu)體,I/O操作請(qǐng)求設(shè)置為request結(jié)構(gòu)體??蛇x地,操作系統(tǒng)包括Iinux操作系統(tǒng)或unix操作系統(tǒng)。由于對(duì)固態(tài)硬盤(pán)32進(jìn)行讀寫(xiě)操作無(wú)需進(jìn)行磁盤(pán)尋道,因此在本實(shí)施例中通過(guò)將I/o操作請(qǐng)求直接插入到I/O設(shè)備請(qǐng)求隊(duì)列的空位置,從該空隊(duì)列位置獲取I/O操作請(qǐng)求,并根據(jù)I/O操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)32,而固態(tài)硬盤(pán)32沒(méi)有對(duì)I/O操作請(qǐng)求的合并、排序等調(diào)度需求,因此本發(fā)明實(shí)施例省略了對(duì)I/O操作請(qǐng)求進(jìn)行合并、排序等復(fù)雜的調(diào)度過(guò)程,從而能有效縮減處 理時(shí)間,并且可降低功耗及成本。另外,在本申請(qǐng)所提供的幾個(gè)實(shí)施方式中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例實(shí)施方式僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例實(shí)施方式方案的目的。另外,在本申請(qǐng)各個(gè)實(shí)施例實(shí)施方式中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例實(shí)施方式所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM, Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā) 明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種固態(tài)硬盤(pán)的驅(qū)動(dòng)方法,其特征在于,所述方法應(yīng)用于操作系統(tǒng),所述操作系統(tǒng)包括通用塊層、I/o調(diào)度層、塊設(shè)備驅(qū)動(dòng)層,所述方法包括: 接收所述通用塊層發(fā)出的記錄有操作指令的塊I/o請(qǐng)求; 將所述塊I/o請(qǐng)求格式轉(zhuǎn)換為記錄有所述操作指令的I/O操作請(qǐng)求,其中所述I/O操作請(qǐng)求為所述I/o調(diào)度層的基本操作單元; 將所述I/o操作請(qǐng)求插入到所述I/O調(diào)度層的I/O設(shè)備請(qǐng)求隊(duì)列的空位置; 從所述I/o設(shè)備請(qǐng)求隊(duì)列的空位置獲取所述I/O操作請(qǐng)求,將所述I/O操作請(qǐng)求發(fā)送給所述塊設(shè)備驅(qū)動(dòng)層; 根據(jù)所述塊設(shè)備驅(qū)動(dòng)層接收到的所述I/o操作請(qǐng)求中記錄的所述操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)。
2.根據(jù)權(quán)利 要求1所述的方法,其特征在于,所述操作指令包括讀指令和寫(xiě)指令中的任意一種或兩種。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述塊I/O請(qǐng)求設(shè)置為bio結(jié)構(gòu)體,所述I/o操作請(qǐng)求設(shè)置為request結(jié)構(gòu)體。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述操作系統(tǒng)包括Iinux操作系統(tǒng)或unix操作系統(tǒng)。
5.一種固態(tài)硬盤(pán)的驅(qū)動(dòng)裝置,其特征在于,所述驅(qū)動(dòng)裝置應(yīng)用于操作系統(tǒng),所述操作系統(tǒng)包括通用塊層、I/O調(diào)度層、塊設(shè)備驅(qū)動(dòng)層,所述裝置包括: 塊I/o請(qǐng)求接收模塊,用于接收所述通用塊層發(fā)出的記錄有操作指令的塊I/O請(qǐng)求; 格式轉(zhuǎn)換模塊,用于將所述塊I/o請(qǐng)求接收模塊接收的所述塊I/O請(qǐng)求格式轉(zhuǎn)換為記錄有所述操作指令的I/o操作請(qǐng)求,所述I/O操作請(qǐng)求為所述I/O調(diào)度層的的基本操作單元; 插入模塊,用于將所述格式轉(zhuǎn)換模塊轉(zhuǎn)換獲得的所述I/o操作請(qǐng)求插入到所述I/O調(diào)度層的I/o設(shè)備請(qǐng)求隊(duì)列的空位置; I/o操作請(qǐng)求獲取模塊,用于從所述I/O設(shè)備請(qǐng)求隊(duì)列的空位置獲取所述I/O操作請(qǐng)求,將所述I/o操作請(qǐng)求發(fā)送給所述塊設(shè)備驅(qū)動(dòng)層; 驅(qū)動(dòng)模塊,用于根據(jù)所述塊設(shè)備驅(qū)動(dòng)層接收到的所述I/o操作請(qǐng)求中記錄的所述操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述操作指令包括讀指令和寫(xiě)指令中的任意一種或兩種。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述塊I/O請(qǐng)求設(shè)置為bio結(jié)構(gòu)體,所述I/o操作請(qǐng)求設(shè)置為request結(jié)構(gòu)體。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述操作系統(tǒng)包括Iinux操作系統(tǒng)或unix操作系統(tǒng)。
全文摘要
本發(fā)明公開(kāi)了一種固態(tài)硬盤(pán)的驅(qū)動(dòng)方法及裝置,該方法包括接收通用塊層發(fā)出的記錄有操作指令的塊I/O請(qǐng)求;將塊I/O請(qǐng)求格式轉(zhuǎn)換為記錄有操作指令的I/O操作請(qǐng)求,其中I/O操作請(qǐng)求為I/O調(diào)度層的基本操作單元;將I/O操作請(qǐng)求插入到I/O調(diào)度層的I/O設(shè)備請(qǐng)求隊(duì)列的空位置;從I/O設(shè)備請(qǐng)求隊(duì)列的空位置獲取I/O操作請(qǐng)求,將I/O操作請(qǐng)求發(fā)送給塊設(shè)備驅(qū)動(dòng)層;根據(jù)塊設(shè)備驅(qū)動(dòng)層接收到的I/O操作請(qǐng)求中記錄的操作指令驅(qū)動(dòng)固態(tài)硬盤(pán)。通過(guò)上述技術(shù)方案,本發(fā)明能有效縮減處理時(shí)間,并且可降低功耗及成本。
文檔編號(hào)G06F3/06GK103226448SQ20131009303
公開(kāi)日2013年7月31日 申請(qǐng)日期2013年3月21日 優(yōu)先權(quán)日2013年3月21日
發(fā)明者顧政 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
寿光市| 翼城县| 庄浪县| 诸城市| 吴江市| 广南县| 将乐县| 富阳市| 静安区| 罗江县| 和平区| 瓦房店市| 长岛县| 蕲春县| 屯昌县| 宝丰县| 平阳县| 扶余县| 宜良县| 泰和县| 顺义区| 梓潼县| 甘泉县| 宿迁市| 仁怀市| 陈巴尔虎旗| 夹江县| 阿拉尔市| 贵溪市| 色达县| 星座| 开原市| 抚顺县| 长子县| 牙克石市| 迁安市| 广元市| 互助| 昭平县| 富锦市| 年辖:市辖区|