国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      混合存儲設(shè)備的制作方法

      文檔序號:6349238閱讀:185來源:國知局
      專利名稱:混合存儲設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明總體上涉及數(shù)據(jù)存儲設(shè)備。
      背景技術(shù)
      在包括處理服務(wù)器、存儲服務(wù)器和各種嵌入式計算機系統(tǒng)的計算機系統(tǒng)中,在正常上電或系統(tǒng)復(fù)位之后完成起動(startup)過程和進(jìn)入可操作狀態(tài)花費的時間、系統(tǒng)對于尤其由對系統(tǒng)的啟動(boot-up)配置的未授權(quán)修改的安全隱患是脆弱的程度以及從系統(tǒng)故障恢復(fù)的能力通常是關(guān)鍵性能因素。啟動過程和文件訪問是影響這些性能因素的方面。通常,當(dāng)將計算機上電時,駐存于只讀存儲器(ROM)中的BIOS(基本輸入輸出系統(tǒng))程序開始執(zhí)行。BIOS執(zhí)行其許多起動活動,包括硬件檢測和驗證測試,并且試圖調(diào)用駐存在諸如引導(dǎo)設(shè)備的主引導(dǎo)記錄(MBR)的已知區(qū)域中的程序,然后將控制傳遞給該程序。引導(dǎo)設(shè)備是本地或網(wǎng)絡(luò)附接的存儲設(shè)備,其被配置成是可引導(dǎo)的并且被計算機注釋為如此。例如,駐存于MBR中的程序可以是允許加載不同操作系統(tǒng)的引導(dǎo)加載器程序。諸如 Linux操作系統(tǒng)和UNIX操作系統(tǒng)的許多其他變體的一些計算機操作系統(tǒng)可以具有啟動過程,其中當(dāng)上電時,相對較小的操作系統(tǒng)內(nèi)核(初始內(nèi)核)起動,然后根文件系統(tǒng)在計算機變成完全可操作之前被安裝。初始內(nèi)核映像典型地由引導(dǎo)加載器從預(yù)定義的存儲位置加載入存儲器,所述引導(dǎo)加載器諸如在Linux系統(tǒng)中通常使用的GRUB或LILO引導(dǎo)加載器。初始內(nèi)核映像然后可以從許多位置中的一個加載根文件系統(tǒng),所述許多位置包括本地盤、附接于計算機的可移動存儲設(shè)備或網(wǎng)絡(luò)位置。通常情況下,根文件系統(tǒng)駐存于引導(dǎo)設(shè)備上。 根文件系統(tǒng)包括計算機的有用操作所需的大部分軟件模塊,包括各種硬件組件的設(shè)備驅(qū)動器、用戶訪問信息以及安裝和訪問文件的軟件和配置??偟膩碚f,盡管每一種類型的計算機必需的根文件系統(tǒng)可能不同,但是該多步啟動過程是在許多計算機的操作中較慢方面之一,并且通常尋求進(jìn)行優(yōu)化。詞語“計算機”在此包括包含至少一個處理器和具有訪問存儲設(shè)備上的文件的能力的任何計算設(shè)備。根文件系統(tǒng)可以是相當(dāng)大的,以及加載根文件系統(tǒng)的很大部分可能很費時。對于這和其他原因,通常優(yōu)選從本地盤或附接的可移動存儲設(shè)備加載根文件系統(tǒng),而不是通過網(wǎng)絡(luò)加載根文件系統(tǒng)。然而,對于許多計算機,完整根文件系統(tǒng)對于功能不是必需的。例如,許多嵌入式設(shè)備不需要完整根文件系統(tǒng)的功能,因為那些設(shè)備通常致力于處理功能的有限集。移動電話、機頂盒(例如,線纜盒)、游戲控制臺、路由器等是可以不需要完整文件系統(tǒng)的功能的嵌入式設(shè)備的一些示例。在許多情況下,除嵌入式設(shè)備外的計算機,諸如個人計算機和存儲服務(wù)器,也可能不需要完整根文件系統(tǒng)。許多計算機,尤其需要快速啟動和快速訪問數(shù)據(jù)的那些,使用諸如閃存盤的固態(tài)存儲器設(shè)備,在其上存儲有時包括操作系統(tǒng)映像的根文件系統(tǒng)的壓縮映像。然而,盡管固態(tài)驅(qū)動器提供比它們的磁盤對應(yīng)物和其他持久存儲器設(shè)備顯著更高的可靠性,但是經(jīng)常發(fā)現(xiàn)讀寫速度減慢這些嵌入式系統(tǒng)的操作速度。
      許多計算機,尤其使用Linux或另一個UNIX變體的那些,能夠?qū)⒄麄€文件系統(tǒng)從諸如磁盤或固態(tài)盤的持久存儲介質(zhì)加載到計算機的本地隨機存取存儲器(本地RAM),然后加載入RAM中的虛擬盤,即RAM盤。一旦文件系統(tǒng)在RAM盤中,操作系統(tǒng)就能夠如同它訪問任何本地盤一樣訪問其。創(chuàng)建RAM盤以及使計算機以與它訪問任何盤驅(qū)動相同或相似的方式訪問RAM盤能夠提高計算機的操作速度。RAM盤使得能夠快速訪問文件,因為文件在易失性存儲器中被訪問,以及相對較慢盤訪問來檢索文件的需求被顯著減少。但是,因為整個文件系統(tǒng)被帶入本地RAM,對于需要該RAM空間的應(yīng)用和其他過程,寶貴的RAM容量被拒絕給予。有一個長久以來感到的需要以增加的速度、效率和可靠性提供存儲容量和對已存儲的信息的訪問。尤其,需要提供對存儲的訪問的系統(tǒng)和方法,其可以使得能夠以增加的速度、可靠性和可服務(wù)性起動計算機系統(tǒng)。

      發(fā)明內(nèi)容
      在一個實施例中,一種混合存儲設(shè)備包括持久性存儲器;易失性存儲器;處理器;存儲器加載器模塊,其使處理器能夠從持久性存儲器設(shè)備加載例如文件系統(tǒng)的第一信息集,以及在易失性存儲器設(shè)備中根據(jù)預(yù)確定的格式來組織第一信息集;以及存儲驅(qū)動接口控制器。存儲驅(qū)動接口控制器使處理器能夠從耦接到混合存儲設(shè)備的主計算機接收信息訪問請求、使用易失性存儲器設(shè)備中的第一信息集來對信息訪問請求作出響應(yīng)、以及向主計算機提供描述第一信息集的元數(shù)據(jù)。在該實施例中,使主計算機能夠使用元數(shù)據(jù)來開始訪問第一信息集,而不用使第一信息集在主計算機的本地存儲器中,以及通過使第一信息集在易失性存儲器中減少了訪問第一信息集所需的時間。在另一個實施例中,一種系統(tǒng)包括主計算機和耦接到主計算機的混合存儲設(shè)備。 混合存儲設(shè)備包括持久性存儲器;易失性存儲器;處理器;存儲器加載器模塊,其使處理器能夠?qū)⒌谝恍畔⒓瘡某志眯源鎯ζ髟O(shè)備加載到易失性存儲器設(shè)備,以及在易失性存儲器設(shè)備中根據(jù)預(yù)確定的格式來組織第一信息集;以及存儲驅(qū)動接口控制器。存儲驅(qū)動接口控制器使處理器能夠從主計算機接收信息訪問請求以及使用易失性存儲器中的第一信息集來對信息訪問請求作出響應(yīng)。在又一個實施例中,一種方法包括以下階段將混合存儲設(shè)備耦接到主計算機、將第一信息集從持久性存儲器設(shè)備加載到位于混合存儲設(shè)備中的易失性存儲器設(shè)備、以及在易失性存儲器設(shè)備中根據(jù)預(yù)確定的格式來組織第一信息集、將訪問信息從易失性存儲器設(shè)備加載到位于主計算機中的本地隨機存取存儲器(本地RAM)、以及使用位于本地RAM中的訪問信息來訪問第二信息集,其中第一信息集包括第二信息集。在下面參考附圖詳細(xì)描述本發(fā)明的進(jìn)一步特征和優(yōu)勢以及其各種實施例的結(jié)構(gòu)和操作。應(yīng)注意,本發(fā)明不限于在此描述的特定實施例。僅為了說明性的目的,在此提供了這樣的實施例?;诎诖说慕虒?dǎo),另外的實施例對相關(guān)領(lǐng)域的技術(shù)人員是顯而易見的。


      引用了本發(fā)明的實施例,其示例可以在附圖中圖示。這些附圖意在是說明性而不是限制性的。盡管一般在這些實施例的情景下描述了本發(fā)明,應(yīng)當(dāng)理解的是,并不意在將本發(fā)明的范圍限制在這些特定實施例。圖1示出了根據(jù)本發(fā)明的實施例的包括主計算機和混合存儲設(shè)備的系統(tǒng)。圖2示出了根據(jù)本發(fā)明的實施例的混合存儲設(shè)備的組件。圖3示出了根據(jù)本發(fā)明的實施例的使用混合存儲設(shè)備的方法的高層級流程圖。圖4是根據(jù)本發(fā)明的一個實施例的在圖3中所示的當(dāng)混合存儲設(shè)備在被上電時發(fā)生的事件的更詳細(xì)的流程圖。圖5是根據(jù)本發(fā)明的一個實施例的在圖3中所示的“訪問文件系統(tǒng)”階段的更詳細(xì)流程圖。圖6是根據(jù)本發(fā)明的實施例的示出當(dāng)將數(shù)據(jù)塊從混合存儲設(shè)備帶入主計算機的本地存儲器時的處理流程的詳細(xì)流程圖。
      具體實施例方式雖然在此參考用于特定應(yīng)用的說明性實施例描述了本發(fā)明,應(yīng)當(dāng)理解的是,本發(fā)明不限于此。本領(lǐng)域技術(shù)人員通過在此的教導(dǎo)將認(rèn)識到在本發(fā)明的范圍內(nèi)的另外修改、應(yīng)用和實施例以及本發(fā)明在其中將有重大功用的另外領(lǐng)域。在一個實施例中,本發(fā)明使主計算機能夠從以下能力獲益訪問易失性存儲器中的文件系統(tǒng),而不會通過使大量其本地存儲器(例如,本地附接于CPU的隨機存取存儲器或 RAM—般是系統(tǒng)中最昂貴的存儲器)專用于文件系統(tǒng)而不利。在本發(fā)明的一個實施例中,描述了具有諸如固態(tài)存儲器設(shè)備(例如,閃存)的持久性存儲器設(shè)備的混合存儲設(shè)備(HSD)。 HSD包括其自身的處理器和駐存于持久性存儲器設(shè)備中的文件系統(tǒng)可以被加載到的易失性存儲器。HSD中的盤接口和盤控制器允許耦接到HSD的諸如主計算機的外部設(shè)備中的進(jìn)程訪問HSD的易失性存儲器中的文件。在本發(fā)明的一些實施例中,HSD可以是耦接到主計算機的可移動設(shè)備,以及在其他實施例中,HSD可以是集成在主計算機中的設(shè)備。本發(fā)明的一個實施例的示例應(yīng)用和使用是使用HSD來允許服務(wù)器使用存儲在附接HSD上的閃存設(shè)備上的根文件系統(tǒng)來啟動。例如,壓縮的Linux 根文件系統(tǒng)可以被存儲在HSD中的持久性存儲器設(shè)備上。當(dāng)HSD被耦接到服務(wù)器時,根據(jù)HSD的本地處理器的指引,Linux根文件系統(tǒng)被解壓縮到易失性存儲器中。對于主計算機,HSD的易失性存儲器中的文件系統(tǒng)作為持久性存儲器設(shè)備中的文件系統(tǒng)出現(xiàn)。例如,在被配置為引導(dǎo)設(shè)備的HSD 中,HSD的易失性存儲器中的文件系統(tǒng)可以包括與包含MBR的可引導(dǎo)盤的第一扇區(qū)相對應(yīng)的區(qū)域。文件系統(tǒng)的元數(shù)據(jù),包括inode信息可以由HSD導(dǎo)出到主計算機的本地存儲器。主計算機然后可以使用某一形式的盤接口來訪問HSD的易失性存儲器中的整個文件系統(tǒng)。主計算機將以與其訪問直接附接的盤驅(qū)動的方式相同或相似的方式訪問HSD的易失性存儲
      ο通過使主計算機中的進(jìn)程能夠訪問根文件系統(tǒng),而不具有將文件系統(tǒng)從閃存設(shè)備加載到易失性存儲器所涉及的延遲,以及不用占據(jù)大量的本地RAM來維護(hù)托管文件系統(tǒng)的 RAM盤,向高效存儲設(shè)備提供了可以減少故障以及減少在故障之后恢復(fù)所需的時間的可靠存儲。并且,因為如在使用本發(fā)明的實施例來訪問根文件系統(tǒng)的情況下,對文件的任何改變將在HSD的易失性存儲器中發(fā)生,減少了將服務(wù)器暴露于安全威脅下,諸如特洛伊程序、病毒和對危害的啟動配置文件的未授權(quán)的修改。例如,即使惡意代碼在變更用戶權(quán)限文件中獲得成功,除非給予特定命令來將易失性存儲器的內(nèi)容寫入持久性存儲器或其已被配置為如此,系統(tǒng)僅僅直到下一電力周期才遭受已更改的用戶權(quán)限文件的改變,因為改變僅僅對易失性存儲器中的文件作出。在本發(fā)明的許多實施例中,因為HSD使用例如串行高級技術(shù)附件(SATA)的標(biāo)準(zhǔn)盤接口來與主計算機對接,所以在主計算機中,需要很少或不需要軟件修改來使主計算機中的進(jìn)程能夠?qū)SD中的易失性存儲器作為盤來查看。HSD中的持久性存儲器設(shè)備對于主計算機中的大部分進(jìn)程保持透明。通過將HSD中的易失性存儲器作為標(biāo)準(zhǔn)盤向主計算機提供,HSD還可以用于如通用文件存儲這樣的任務(wù)、分頁和虛擬存儲器。如在本公開中所使用的,術(shù)語“主計算機”應(yīng)用于HSD可以被耦接到的任何處理設(shè)備。在本公開的剩余部分,在所涉及的處理階段的描述之前,描述了本發(fā)明在本發(fā)明的實施例的一些中的組成。系統(tǒng)組件圖1示出本發(fā)明的實施例的常見使用場景100。HSD 120被耦接到主計算機110。 在下面參考圖2描述了 HSD 120。主計算機110可以是任何處理設(shè)備,諸如包括但不限于商用計算機(例如,個人計算機)、個人數(shù)字助理、移動電話或具有處理器的其他移動電子設(shè)備、數(shù)字視頻錄像機、網(wǎng)絡(luò)路由器、游戲控制臺、機頂盒、信息亭或其他嵌入式處理平臺。主計算機110包括數(shù)個組件,包括主處理器111、主存儲器(本地RAM) 113、主存儲114、主輸入和顯示接口 115、主盤接口控制器112和使組件111、112、113、114和115互連的主通信總線116。主處理器111可以是任何商用處理器或?qū)S锰幚砥?。主存儲?13包括隨機存取存儲器(RAM)。在本文檔的余下部分,主存儲器113可以被稱為本地RAM以將其與其他易失性存儲器設(shè)備區(qū)分開,尤其存在于HSD 120中的RAM。主存儲114可以包括非易失性存儲的形式,諸如磁盤或閃存盤。主輸入和顯示接口 115可以包括鍵盤、鼠標(biāo)、顯示設(shè)備和任何其他輸入/輸出設(shè)備中的一個或多個。主盤接口控制器112可以是能夠與HSD 120對接的任何接口控制器。例如,主盤接口控制器112可以是與盤接口標(biāo)準(zhǔn)相對應(yīng)的接口控制器,所述盤接口標(biāo)準(zhǔn)諸如串行高級技術(shù)附件(SATA)或其變體中的一個、小型計算機系統(tǒng)接口(SCSI)、電子集成驅(qū)動(IDE)、互聯(lián)網(wǎng)小型計算機接口(iSCSI)、光纖通道、或其他標(biāo)準(zhǔn)或?qū)S帽P驅(qū)動接口協(xié)議。主通信總線116可以包括一個或多個標(biāo)準(zhǔn)或?qū)S迷O(shè)備互連,諸如外圍組件互連(PCI)或變體、工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)、擴展工業(yè)標(biāo)準(zhǔn)架構(gòu)(EISA)。主計算機110 使用接口連接器130連接到HSD 120。盡管在圖1中被示出為到主計算機110的直接附接的外圍設(shè)備,在其他實施例中,HSD 120可以被集成到主計算機120中或可以通過網(wǎng)絡(luò)耦接到主計算機120。圖2示出了在本發(fā)明的一個實施例中的HSD 120的組件。在該實施例中,HSD 120 包括處理器201,其被耦接到持久性存儲器設(shè)備(例如,固態(tài)存儲器設(shè)備)203、易失性存儲器設(shè)備202、靜態(tài)RAM存儲器設(shè)備205、存儲驅(qū)動接口控制器208以及配置設(shè)備214。另外, 處理器201還被耦接到存儲器加載器模塊209。處理器201可以包括任何商用處理器、專用處理器或諸如Altera Cyclone II或Xilinx Spartan 芯片的現(xiàn)場可編程門陣列(FPGA)。 持久性存儲器設(shè)備203可以包括固態(tài)存儲器設(shè)備,諸如但不限于第二代安全數(shù)字閃存卡或 CompactFlash 卡和對應(yīng)的驅(qū)動。易失性存儲器設(shè)備202可以包括動態(tài)RAM(DRAM),諸如第二代雙倍數(shù)據(jù)速率動態(tài)隨機存取存儲器(DDR2 DRAM)。易失性存儲器設(shè)備202 (也被簡稱為“易失性存儲器”)可以具有它自身的備用電源設(shè)備213,其可以在HSD 120沒有從主計算機110接收電力時在有限持續(xù)時間提供電力。備用電源設(shè)備213可以包括可充電電池, 其可以通過在對HSD 120的電力喪失時期期間提供電力以維護(hù)易失性存儲器202中的數(shù)據(jù)來幫助增加HSD 120的可靠性。存儲驅(qū)動接口控制器208可以是與HSD 120待被耦接到的外部設(shè)備(例如,主計算機110)所支持的盤接口類型中的一個相對應(yīng)的任何盤接口,包括諸如SATA、SCSI和IDE的標(biāo)準(zhǔn)盤接口。模塊208和209中的一個或兩者可以以軟件、固件、硬件或使用其組合來實現(xiàn)。例如,實現(xiàn)模塊208和209的功能的全部或部分的計算機程序可以以任何計算機編程語言編寫,包括C、C++、Java、Assembly (匯編),或以諸如硬件定義語言(HDL)的語言編寫為特定于硬件的邏輯定義。模塊208和209的程序邏輯然后可以由處理器201執(zhí)行。存儲器加載模塊209包括下述程序邏輯使處理器201能夠?qū)⑽募到y(tǒng)從持久性存儲器設(shè)備203加載入易失性存儲器202,并且使易失性存儲器202中的該文件系統(tǒng)對耦接到處理器201的其他設(shè)備來說可訪問。存儲驅(qū)動接口控制器模塊208包括用于下述的程序邏輯使處理器201 能夠允許經(jīng)由存儲驅(qū)動接口 206訪問易失性存儲器202中的文件系統(tǒng)。存儲驅(qū)動接口控制器模塊208結(jié)合存儲驅(qū)動接口設(shè)備206允許通過連接器211耦接到HSD 120的諸如主計算機110的外部設(shè)備以與訪問對主計算機110來說是本地的文件系統(tǒng)相似的方式訪問存儲在易失性存儲器202中的文件系統(tǒng)。例如,如果存儲驅(qū)動接口控制器208遵從SATA盤接口標(biāo)準(zhǔn),則其可以包括用于下述的程序邏輯使用處理器201來實現(xiàn)對應(yīng)的SATA處理狀態(tài)機。 在下面參考圖3-5提供了如何實現(xiàn)該功能的詳細(xì)說明。在一些實施例中,配置設(shè)備214可以用于配置和初始化HSD 120的各個方面。例如,配置設(shè)備214可以包括用于下述的功能對持久性存儲器設(shè)備203進(jìn)行初始化和格式化。配置設(shè)備214可以包括下述接口 連接到外部輸入/輸出設(shè)備以使得能夠接收手動和 /或編程給予的配置命令。配置設(shè)備214可以包括到處理器201的連接,其符合允許標(biāo)準(zhǔn)配置和分析設(shè)備被耦接到HSD 120的JTAG(即,題為標(biāo)準(zhǔn)測試訪問端口和邊界掃描架構(gòu)的 IEEE 1149. 1標(biāo)準(zhǔn))標(biāo)準(zhǔn)。配電器設(shè)備210可以向HSD 120提供電力。在一些實施例中,配電器設(shè)備210可以包括電池充電。在一些實施例中,配電器設(shè)備210可以通過電力連接器212從諸如主計算機110的外部設(shè)備獲取電力。例如,SATA盤接口標(biāo)準(zhǔn)指定通信接口以及電力接口。當(dāng)HSD 120被耦接到主計算機110時,持久性存儲器設(shè)備203中的壓縮文件系統(tǒng)可以被加載到易失性存儲器202,并且在易失性存儲器202中解壓縮。在一些實施例中,HSD 120可以在其被耦接到主計算機110之前使文件系統(tǒng)加載入易失性存儲器202中的RAM盤中。此后,在主計算機110中執(zhí)行的進(jìn)程可以以與訪問對主計算機110來說是本地的文件系統(tǒng)相似的方式訪問易失性存儲器202中的文件系統(tǒng)。通過盤接口控制器208和主計算機 110上的對應(yīng)的盤接口(例如,盤接口控制器112)使訪問便利。在下面描述了在實現(xiàn)該功能和其他功能時的處理階段的描述。其他示例實施例在一個實施例中,主計算機在上電和基本初始化之后將前進(jìn)到識別本地連接的存儲。典型地,為了識別本地連接的設(shè)備,主計算機在其接口上發(fā)出探測命令。例如,在上電和基本初始化之后,主計算機110初始化主盤控制器112,并且前進(jìn)到在包括接口 130的接口上發(fā)出探測命令?;卺槍μ綔y命令所接收到的響應(yīng),主計算機110可以識別諸如HSD 120的存儲設(shè)備。隨后,主計算機識別引導(dǎo)設(shè)備,以及內(nèi)核被讀取并且起動。在內(nèi)核被起動之后,主計算機可以安裝任何連接的存儲,包括諸如HSD 120。在RS 120被安裝之后,主計算機110可以通過發(fā)出存儲命令來訪問駐存在HSD 120上的任何文件系統(tǒng)。圖3圖示了使諸如主計算機110的外部設(shè)備能夠訪問在例如HSD120的HSD中的易失性存儲器中維護(hù)的文件系統(tǒng)的例行程序300 (階段301-30 。在階段301,使HSD的起動開始。例如,當(dāng)HSD被連接到已經(jīng)上電的主計算機時,或當(dāng)接通到已連接到HSD的主計算機的電力時,可以使HSD的起動開始。在下面參考圖4可以得到階段301的剖析。將先前存儲在諸如持久性存儲器設(shè)備203的持久性存儲器設(shè)備中的第一信息集(諸如文件系統(tǒng)) 加載入諸如易失性存儲器202的HSD的易失性存儲器中。第一信息集可以是完整的文件系統(tǒng),諸如符合文件系統(tǒng)格式的根文件系統(tǒng),所述文件系統(tǒng)格式諸如但不限于第二擴展文件系統(tǒng)(EXT2)。文件系統(tǒng)格式定義在存儲介質(zhì)中如何組織數(shù)據(jù)。加載可以促使文件系統(tǒng)的數(shù)據(jù)被帶入易失性存儲器中并且被解壓縮。在階段302,可以在易失性存儲器中創(chuàng)建RAM盤, 以及RAM盤可以填充有從持久性存儲器設(shè)備導(dǎo)入的文件系統(tǒng)。易失性存儲器可以足夠大以將整個解壓縮的文件系統(tǒng)保持在RAM盤中。在一個實施例中,HSD的易失性存儲器中的RAM 盤可以包含根據(jù)諸如EXT2的文件系統(tǒng)格式組織的根文件系統(tǒng),以及指示該RAM盤所表示的存儲卷是可引導(dǎo)的存儲設(shè)備的數(shù)據(jù)結(jié)構(gòu)。例如,主計算機可以預(yù)期可引導(dǎo)的存儲設(shè)備的第一扇區(qū)具有指示該設(shè)備是可引導(dǎo)的特定數(shù)據(jù)標(biāo)記。在階段302,可以將第二信息集,典型地來自第一信息集的相對較小量的數(shù)據(jù),從 HSD上的易失性存儲器導(dǎo)出到主計算機上的動態(tài)存儲器,諸如主計算機110上的本地RAM 113。例如,可以將文件系統(tǒng)的inode表的一部分,即描述該文件系統(tǒng)的元數(shù)據(jù),導(dǎo)出到主計算機。文件系統(tǒng)的inode表包括識別和訪問文件系統(tǒng)中的文件所需的基本信息。對元數(shù)據(jù)的傳送可以由HSD或主計算機發(fā)起。由于待被傳送的數(shù)據(jù)量的減少,將僅僅元數(shù)據(jù)傳送到主計算機的本地RAM通常比傳送文件系統(tǒng)的文件快得多。在接收了元數(shù)據(jù),在階段303,主計算機現(xiàn)可以訪問文件系統(tǒng)。例如,在Linux系統(tǒng)中,一旦初始內(nèi)核映像接收描述RAM盤中的根文件系統(tǒng)的inode表,內(nèi)核然后可以前進(jìn)到安裝根文件系統(tǒng)。在根文件系統(tǒng)被安裝之后,在主計算機上執(zhí)行的進(jìn)程可以開始訪問根文件系統(tǒng)中的各種文件。對根文件系統(tǒng)的訪問可以通過主計算機向HSD發(fā)出讀寫命令來進(jìn)行。 讀寫命令由例如存儲接口控制器208根據(jù)選擇的接口協(xié)議來處理。在使用Linux操作系統(tǒng)的實施例中,總的來說,在安裝根文件系統(tǒng)的最初所需部分之后,內(nèi)核定位根文件系統(tǒng)中的一個或多個文件(例如,/sbin/init),其然后被執(zhí)行來初始化實現(xiàn)主計算機的大部分功能的服務(wù)和用戶進(jìn)程。Init文件基于在啟動時間提供給內(nèi)核的參數(shù)或通過內(nèi)核搜索一系列預(yù)確定的位置來定位。由init文件發(fā)起的進(jìn)程然后可以訪問根文件系統(tǒng)中的其他文件(例如,在一些Linux和UNIX系統(tǒng)中的/etc/rc. d)以調(diào)用其他用戶進(jìn)程。每次內(nèi)核訪問目錄以找到、讀或?qū)懭胛募撐募?或該文件的部分)的存儲器塊通常被帶入本地RAM。隨著處理進(jìn)行,以及本地RAM被填滿,可以實現(xiàn)分頁系統(tǒng),其將一些數(shù)據(jù)塊從本地RAM交換出以為從文件系統(tǒng)進(jìn)入的新數(shù)據(jù)塊騰出空間。在本發(fā)明的一些實施例中,例如,如果正從本地存儲器被分頁出來的數(shù)據(jù)塊包含一些更新,則該塊可以被可選地寫入HSD中的易失性存儲器中的區(qū)域。將數(shù)據(jù)塊分頁出到易失性存儲器而不是盤存儲可以通過減少訪問非易失性存儲介質(zhì)的頻率來提高執(zhí)行進(jìn)程的速度。在本發(fā)明的實施例中,總的來說,包括實際文件的整個文件系統(tǒng)目錄結(jié)構(gòu)(或其必要部分)在被主計算機中的內(nèi)核所需要時已在HSD的易失性存儲器中。存在于HSD的易失性存儲器中的文件系統(tǒng)對于內(nèi)核來說作為具有根文件系統(tǒng)的直接附接的盤出現(xiàn)。因此, 本地RAM可以保持僅僅元數(shù)據(jù)和僅僅與內(nèi)核或相關(guān)應(yīng)用所實際訪問的那些相對應(yīng)的數(shù)據(jù)塊 。不必在本地RAM中維護(hù)整個根文件系統(tǒng)或其大部分允許本地RAM被用于大量其他處理任務(wù)。圖4更詳細(xì)地示出根據(jù)本發(fā)明的一些實施例的階段301。在接收到HSD的電力時, 在階段401,初始化HSD的處理器。處理器的初始化通常由駐存于只讀存儲器(ROM)中的被簡稱為BIOS (基本輸入/輸出系統(tǒng))的代碼開始,以及可以包括標(biāo)準(zhǔn)處理器上電步驟,諸如但不限于上電自測、其他硬件組件的初始化、初始化操作系統(tǒng)(一旦被加載)可以使用來訪問各種設(shè)備和處理器提供的服務(wù)的低層級系統(tǒng)例程、以及還有初始化HSD的隨帶易失性存儲器和RAM。例如,在HSD 120中,靜態(tài)RAM設(shè)備205可以存儲BIOS指令以使初始化HSD 開始。階段402和403可以按照任何順序或并行執(zhí)行。在階段402,HSD的處理器初始化存儲驅(qū)動接口控制器。例如,參見回圖2,處理器201可以執(zhí)行指令來初始化存儲驅(qū)動接口控制器208,其被設(shè)計成與主計算機110上的對應(yīng)的盤控制器交互。存儲設(shè)備接口控制器可以對從主計算機接收到的探測命令和識別命令作出響應(yīng),以使主計算機能夠識別出HSD。 HSD上的處理器還可以執(zhí)行持久性存儲器設(shè)備的類型和完整性的檢測和相關(guān)健全檢查。例如,處理器可以驗證帶有可驗證的校驗和的可加載的文件系統(tǒng)在持久性存儲器設(shè)備中可獲得。在一個實施例中,該初始化可以包括例如但不限于SATA控制器狀態(tài)機的初始化。在階段403,HSD中的處理器可以觸發(fā)用于將文件系統(tǒng)從持久性存儲器設(shè)備復(fù)制入HSD的易失性存儲器的信號。這樣的信號還可以由主計算機產(chǎn)生。加載文件系統(tǒng)的信號可以促使處理器調(diào)用并且執(zhí)行用于下述的指令將文件系統(tǒng)從持久性存儲器設(shè)備加載入易失性存儲器,并且在易失性存儲器中將文件系統(tǒng)解壓縮。例如,參見回圖2,復(fù)制文件系統(tǒng)的信號可以促使處理器201執(zhí)行存儲器加載器模塊209的用于下述的程序邏輯將壓縮的文件系統(tǒng)整體或部分加載到易失性存儲器202并且在易失性存儲器202中將它解壓縮。此后,駐存于易失性存儲器202中的解壓縮的文件系統(tǒng)對主計算機110來說如同另一個盤驅(qū)動可以是可見的,對其的訪問通過存儲驅(qū)動接口控制器208來協(xié)調(diào)。在本發(fā)明的實施例中, 第一信息集可以包括在HSD的易失性存儲器中被解壓縮并且根據(jù)文件系統(tǒng)格式來組織的根文件系統(tǒng),以及在易失性存儲器中的使主計算機能夠?qū)⒁资源鎯ζ髦械奈募到y(tǒng)識別為例如可引導(dǎo)盤存儲卷的數(shù)據(jù)結(jié)構(gòu)。例如,主計算機可以預(yù)期可引導(dǎo)盤卷的第一盤扇區(qū)包含引導(dǎo)設(shè)備指示符,如果其是可引導(dǎo)的?;谖募到y(tǒng)格式和盤接口協(xié)議,引導(dǎo)設(shè)備指示符可以被寫在例如易失性存儲器中的與盤存儲介質(zhì)的第一扇區(qū)中的最后字相對應(yīng)的區(qū)域。在階段404,HSD為從主計算機接收到的存儲命令服務(wù)。例如,可以使用在階段402 在存儲設(shè)備控制器208中初始化的SATA控制器狀態(tài)機來接收并且處理從主計算機接收到的讀寫命令。圖5是根據(jù)本發(fā)明的實施例的階段303的分解。在涉及文件系統(tǒng)的元數(shù)據(jù)被傳送到主計算機的本地RAM之后,主計算機的進(jìn)程可以前進(jìn)到訪問文件系統(tǒng)的文件和目錄。例如,在階段501,在主計算機的處理器上執(zhí)行的進(jìn)程可以請求針對文件系統(tǒng)中的文件的讀或?qū)懖僮?。在階段502,檢查inode表以查看HSD的主計算機的本地RAM是否已在其存儲器中包含所需要的文件或文件的部分。如果所需要的文件或文件的部分不在本地RAM中,則 inode表將指向該數(shù)據(jù)在可移動存儲驅(qū)動中的存在。 在階段503,處理器確定所需要的數(shù)據(jù)在HSD的易失性存儲器中的文件系統(tǒng)中,并且發(fā)起將相關(guān)數(shù)據(jù)塊傳送到主計算機的本地RAM的進(jìn)程。注意到,在許多實施例中,存在于 HSD的易失性存儲器中的文件系統(tǒng)和目錄結(jié)構(gòu)對主計算機來說可以作為標(biāo)準(zhǔn)盤和目錄結(jié)構(gòu)出現(xiàn)。例如,對于主計算機,HSD和其RAM盤可以作為使用SATA接口可訪問的盤出現(xiàn)。在下面參考圖6進(jìn)一步描述了包括在503中的傳送進(jìn)程。一旦在階段503,將所需要的數(shù)據(jù)塊傳送入主計算機的本地RAM,在階段504,就根據(jù)調(diào)用進(jìn)程的權(quán)限來使能對所述塊的讀/ 寫。如果,在階段504,調(diào)用進(jìn)程執(zhí)行針對數(shù)據(jù)塊的寫操作,在一些實施例中,在階段505,更新將被直接寫入HSD上的易失性存儲器中的對應(yīng)的塊。在一些其他實施例中,在階段504 進(jìn)行的更新可以不以連續(xù)直接的方式執(zhí)行,替代地,可以以時間間隔或在從用戶接收保存更新的指令時執(zhí)行。注意到,例如在階段505,對HSD中的易失性存儲器進(jìn)行的更新可以在易失性存儲器中保留,直到在一些實施例中用戶傳達(dá)保存更新的指令。為了保存更新,將易失性存儲器的內(nèi)容以適當(dāng)?shù)母袷綄懭氤志眯源鎯ζ髟O(shè)備。如果在HSD中發(fā)生電力喪失(例如,頃刻之間與主計算機失去耦接),則在電力恢復(fù)之前,或在更新被寫入持久性存儲器設(shè)備之前,附接到HSD的易失性存儲器的電源可以保護(hù)數(shù)據(jù)和更新,如果被配置成這樣做。如果HSD中的易失性存儲器中的數(shù)據(jù)不由HSD上的電源保護(hù),則當(dāng)重新啟動主計算機時,干凈的文件系統(tǒng)在附接的HSD上可以是可獲得的。圖6圖示了根據(jù)本發(fā)明的實施例將數(shù)據(jù)從HSD的易失性存儲器加載入主計算機的本地RAM的階段503的分解。在從用戶進(jìn)程接收了例如訪問一些數(shù)據(jù)的寫命令,并且確定了該數(shù)據(jù)當(dāng)前不存在于主計算機本地RAM中,在階段601,在主計算機處理器中執(zhí)行的內(nèi)核調(diào)用負(fù)責(zé)與HSD對接的盤控制器。在階段602,主盤控制器根據(jù)用來與HSD對接的協(xié)議來生成命令。在階段603,在HSD中的對應(yīng)的盤控制器接收檢索對應(yīng)的文件的命令。在階段 604,HSD的處理器可以處理所接收到的命令來驗證該命令,并且將該命令翻譯成HSD中的程序和設(shè)備理解的格式。在階段605,使用經(jīng)翻譯的命令,從HSD的易失性存儲器檢索適當(dāng)?shù)臄?shù)據(jù)。在階段606,然后HSD中的處理器將該數(shù)據(jù)提供給HSD上的盤控制器接口,以被傳送給發(fā)出請求的主計算機。在階段607,所傳送的數(shù)據(jù)然后由主計算機中的盤控制器接收, 并且被加載入主計算機中的本地RAM。發(fā)出請求的進(jìn)程現(xiàn)可以訪問主計算機的本地RAM中的相關(guān)數(shù)據(jù)。在本發(fā)明的另一個實施例中,HSD可以被用作為虛擬存儲器和/或分頁存儲器的位置。例如,因為HSD的易失性存儲器對主計算機來說呈現(xiàn)為標(biāo)準(zhǔn)盤驅(qū)動,主計算機可以將部分或全部其虛擬存儲器空間映射到HSD的易失性存儲器。同樣,主計算機可以將HSD的易失性存儲器用于將存儲器頁交換入和交換出其本地RAM。使用HSD的易失性存儲器相對于將本地持久性存儲器設(shè)備用作為虛擬存儲器和分頁存儲器的位置的常規(guī)方法可以導(dǎo)致提高的性能,因為減少了盤訪問(或更一般地,對持久性存儲器設(shè)備的訪問)。在這些應(yīng)用中,HSD中的持久性存儲器設(shè)備通常對主計算機保持透明。在本文檔中公開了在一些實施例中具有文件系統(tǒng)的壓縮映像的HSD,所述文件系統(tǒng)的壓縮映像可以被快速地解壓縮入隨帶易失性存儲器,使得易失性存儲器中的文件系統(tǒng)可以由主計算機以與其訪問盤驅(qū)動幾乎一樣的方式訪問。如上所述,本發(fā)明的一個實施例可以是保持根文件系統(tǒng)的HSD。使根文件系統(tǒng)在相對較快的易失性存儲器而不是相對較慢的閃存中改善了訪問延遲。其還提高了系統(tǒng)對安全隱患的彈性,因為對文件系統(tǒng)的改變保留在易失性存儲器中,直到專門指示保存到持久性存儲器。其改善了部署的時間和修復(fù)使用可配置的根文件系統(tǒng)的設(shè)備的時間。本發(fā)明的實施例的另一個方面是需要很少或不需要對許多操作系統(tǒng)的編程代碼的修改。例如,在Linux的許多變體中,根據(jù)本公開的教導(dǎo)構(gòu)建的HSD將被主計算機的處理器識別為外部盤,并且可能僅僅需要托管HSD的接口在起動時被指定為內(nèi)核的參數(shù)。另外,可移動存儲可以用于存儲和訪問除根文件系統(tǒng)外的文件系統(tǒng)。HSD還可以用作快速緩存設(shè)備或虛擬存儲器以對主計算機的本地存儲器進(jìn)行補充。發(fā)明內(nèi)容和摘要部分可以闡明發(fā)明人預(yù)期的本發(fā)明的一個或多個而非所有的示例性實施例,因此發(fā)明內(nèi)容和摘要部分并不意在以任何方式來限制本發(fā)明和權(quán)利要求。在上面借助于說明指定的功能及其關(guān)系的實現(xiàn)的功能構(gòu)造塊來描述了本發(fā)明。在此為了便于描述,任意地限定了這些功能構(gòu)造塊的邊界??梢韵薅ㄌ孢x邊界,只要所述指定的功能及其關(guān)系被適當(dāng)?shù)貓?zhí)行。 特定實施例的前述描述如此充分地揭示了本發(fā)明的一般特性,使得其他人可以在不背離本發(fā)明的一般思想的情況下,通過應(yīng)用在本領(lǐng)域的技術(shù)內(nèi)的知識而容易地修改和/ 或調(diào)整這樣的特定實施例以用于各種應(yīng)用,而不用進(jìn)行過度的實驗。因此,基于在此提供的教導(dǎo)和指導(dǎo),這樣的調(diào)整和修改意在在所公開的實施例的等同物的含義和范圍內(nèi)。應(yīng)當(dāng)明白的是,在此的措詞或術(shù)語用于描述而非限制的目的,因此本說明書的術(shù)語或措詞應(yīng)當(dāng)由技術(shù)人員根據(jù)所述教導(dǎo)和指導(dǎo)來解釋。本發(fā)明的寬度和范圍不應(yīng)當(dāng)由上述示例性實施例的任何一個限制,而是應(yīng)當(dāng)僅根據(jù)權(quán)利要求及其等同物來限定。
      權(quán)利要求
      1.一種混合存儲設(shè)備,包括持久性存儲器設(shè)備;易失性存儲器設(shè)備;處理器,其中所述持久性存儲器設(shè)備和所述易失性存儲器設(shè)備耦接到所述處理器;存儲器加載器模塊,所述存儲器加載器模塊使所述處理器能夠從所述持久性存儲器設(shè)備加載第一信息集,以及在所述易失性存儲器設(shè)備中根據(jù)預(yù)確定的格式來組織所述第一信息集;以及存儲驅(qū)動接口控制器模塊,所述存儲驅(qū)動接口控制器模塊使所述處理器能夠從耦接到所述混合存儲設(shè)備的主計算機接收信息訪問請求、使用所述易失性存儲器設(shè)備中的所述第一信息集來對所述信息訪問請求作出響應(yīng)、以及向所述主計算機提供描述所述第一信息集的元數(shù)據(jù),由此,使所述主計算機能夠使用所述元數(shù)據(jù)來訪問所述第一信息集,而不用使所述第一信息集在所述主計算機的本地存儲器中,以及由此,通過使所述第一信息集存儲在所述易失性存儲器設(shè)備中減少了所述主計算機訪問所述第一信息集所需的時間。
      2.根據(jù)權(quán)利要求1所述的混合存儲設(shè)備,其中所述第一信息集包括文件系統(tǒng),以及其中所述預(yù)確定的格式是文件系統(tǒng)格式。
      3.根據(jù)權(quán)利要求2所述的混合存儲設(shè)備,其中所述文件系統(tǒng)是根文件系統(tǒng)。
      4.根據(jù)權(quán)利要求2所述的混合存儲設(shè)備,其中所述第一信息集進(jìn)一步包括根據(jù)所述文件系統(tǒng)格式的弓I導(dǎo)設(shè)備指示符。
      5.根據(jù)權(quán)利要求1所述的混合存儲設(shè)備,其中所述信息訪問請求包括存儲服務(wù)命令。
      6.根據(jù)權(quán)利要求1所述的混合存儲設(shè)備,其中所述持久性存儲器設(shè)備包括固態(tài)存儲器介質(zhì)。
      7.根據(jù)權(quán)利要求1所述的混合存儲設(shè)備,其中所述處理器包括現(xiàn)場可編程門陣列 (FPGA)。
      8.根據(jù)權(quán)利要求1所述的混合存儲設(shè)備,進(jìn)一步包括靜態(tài)隨機存取存儲器(靜態(tài)RAM)設(shè)備,其中所述靜態(tài)RAM設(shè)備耦接到所述處理器。
      9.根據(jù)權(quán)利要求1所述的混合存儲設(shè)備,進(jìn)一步包括配置設(shè)備,其中所述配置設(shè)備耦接到所述處理器,由此,所述配置設(shè)備用于配置所述持久性存儲器設(shè)備。
      10.根據(jù)權(quán)利要求1所述的混合存儲設(shè)備,進(jìn)一步包括配電器設(shè)備,所述配電器設(shè)備向所述裝置提供電力。
      11.根據(jù)權(quán)利要求10所述的混合存儲設(shè)備,其中所述配電器設(shè)備包括電池充電,以及其中所述裝置從所述電池充電來被供電。
      12.根據(jù)權(quán)利要求1所述的混合存儲設(shè)備,進(jìn)一步包括耦接到所述易失性存儲器設(shè)備的備用電源,其中如果所述裝置中電力喪失則所述備用電源向所述易失性存儲器設(shè)備提供電力,由此,所述易失性存儲器設(shè)備中的所述第一信息集被保留,使得減少了使所述第一信息對所述主計算機可獲得所需的時間。
      13.根據(jù)權(quán)利要求1所述的混合存儲設(shè)備,進(jìn)一步包括狀態(tài)監(jiān)視設(shè)備,其中所述狀態(tài)監(jiān)視設(shè)備監(jiān)視以下中的一個或多個所述處理器、所述持久性存儲器設(shè)備、所述易失性存儲器設(shè)備、所述存儲器加載器模塊以及所述存儲驅(qū)動接口控制器。
      14.一種系統(tǒng),包括 主計算機;以及耦接到所述主計算機的混合存儲設(shè)備,其中所述混合存儲設(shè)備包括 持久性存儲器設(shè)備; 易失性存儲器設(shè)備;處理器,其中所述持久性存儲器設(shè)備和所述易失性存儲器設(shè)備耦接到所述處理器; 存儲器加載器模塊,所述存儲器加載器模塊使所述處理器能夠從所述持久性存儲器設(shè)備加載第一信息集,以及在所述易失性存儲器設(shè)備中根據(jù)預(yù)確定的格式來組織所述第一信息集;以及存儲驅(qū)動接口控制器,所述存儲驅(qū)動接口控制器使所述處理器能夠從所述主計算機接收信息訪問請求、使用所述易失性存儲器設(shè)備中的所述第一信息集來對所述信息訪問請求作出響應(yīng)、以及向所述主計算機提供描述所述第一信息集的元數(shù)據(jù),由此,使所述主計算機能夠使用所述元數(shù)據(jù)來訪問所述第一信息集,而不用使所述第一信息集在所述主計算機的本地存儲器中,以及由此,通過使所述第一信息集在所述易失性存儲器中減少了所述主計算機訪問所述第一信息集所需的時間。
      15.一種方法,包括將混合存儲設(shè)備耦接到主計算機;將第一信息集從持久性存儲器設(shè)備加載到易失性存儲器設(shè)備,以及在所述易失性存儲器設(shè)備中根據(jù)預(yù)確定的格式來組織所述第一信息集,其中所述持久性存儲器設(shè)備和所述易失性存儲器設(shè)備位于所述混合存儲設(shè)備中;將描述所述易失性存儲器設(shè)備中的所述第一信息集的元數(shù)據(jù)提供給本地隨機存取存儲器(本地RAM),其中所述本地RAM位于所述主計算機中;以及使用位于所述本地MM中的所述元數(shù)據(jù)來訪問第二信息集,其中位于所述易失性存儲器設(shè)備中的所述第一信息集包括所述第二信息集。
      16.根據(jù)權(quán)利要求15所述的方法,其中所述加載第一信息集包括 訪問位于所述持久性存儲器設(shè)備中的壓縮的數(shù)據(jù)映像;以及從所述壓縮的數(shù)據(jù)映像生成解壓縮的數(shù)據(jù)映像,其中所述解壓縮的數(shù)據(jù)映像位于所述易失性存儲器設(shè)備中。
      17.根據(jù)權(quán)利要求16所述的方法,其中所述第一信息集包括根文件系統(tǒng)。
      18.根據(jù)權(quán)利要求15所述的方法,其中所述訪問第二信息集包括檢查目標(biāo)數(shù)據(jù)塊在所述本地RAM中的存在,其中所述目標(biāo)數(shù)據(jù)塊包括所述第二信息集;將所述目標(biāo)數(shù)據(jù)塊從所述易失性存儲器設(shè)備加載入所述本地RAM ; 在所述本地RAM中寫所述目標(biāo)塊;以及在所述易失性存儲器設(shè)備中更新所述目標(biāo)塊。
      19.一種方法,包括將混合存儲設(shè)備耦接到主計算機;將第一信息集從持久性存儲器設(shè)備加載到易失性存儲器設(shè)備,以及根據(jù)預(yù)確定的格式來組織所述第一信息集,其中所述持久性存儲器設(shè)備和所述易失性存儲器設(shè)備位于所述混合存儲設(shè)備中;將訪問信息加載到本地隨機存取存儲器(本地RAM),其中所述本地RAM位于所述主計算機中,以及其中所述訪問信息包括訪問所述易失性存儲器中的所述第一信息集所必需的信息;以及使用位于所述本地RAM中的所述訪問信息將第二信息集從本地RAM寫入所述易失性存儲器設(shè)備。
      全文摘要
      在一個實施例中,公開了一種混合存儲設(shè)備,其包括持久性存儲器;易失性存儲器;處理器;存儲器加載器模塊,其使處理器能夠?qū)⒌谝恍畔⒓瘡某志眯源鎯ζ髟O(shè)備加載到易失性存儲器設(shè)備、根據(jù)預(yù)確定的格式來組織第一信息集;以及存儲驅(qū)動接口控制器,其使處理器能夠從主計算機接收信息訪問請求、將第二信息集從易失性存儲器設(shè)備提供到主計算機、以及向主計算機提供描述第一信息集的元數(shù)據(jù)。使主計算機能夠使用存儲驅(qū)動接口控制器提供的元數(shù)據(jù)來訪問第一信息集,而不用使第一信息集在主計算機的本地存儲器中。通過使第一信息集在混合存儲設(shè)備中的易失性存儲器中減少了訪問第一信息集所需的時間。其他實施例包括具有主計算機和混合存儲設(shè)備的系統(tǒng)以及在主計算機中使用混合存儲設(shè)備的方法。
      文檔編號G06F3/06GK102439557SQ201080021382
      公開日2012年5月2日 申請日期2010年3月19日 優(yōu)先權(quán)日2009年3月20日
      發(fā)明者查克·麥克馬尼斯 申請人:谷歌公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1