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

固態(tài)硬盤(pán)日志生成方法及其裝置與流程

文檔序號(hào):12747910閱讀:468來(lái)源:國(guó)知局
固態(tài)硬盤(pán)日志生成方法及其裝置與流程

本發(fā)明涉及電子設(shè)備,更具體地,本發(fā)明涉固態(tài)硬盤(pán)的日志生成方法、啟動(dòng)方法及其裝置。



背景技術(shù):

參看圖1,以固態(tài)存儲(chǔ)設(shè)備(Solid Storage Device,SSD)作為電子設(shè)備的舉例,圖1展示了存儲(chǔ)設(shè)備的框圖。存儲(chǔ)設(shè)備102同主機(jī)相耦合,用于為主機(jī)提供存儲(chǔ)能力。主機(jī)同存儲(chǔ)設(shè)備102之間可通過(guò)多種方式相耦合,耦合方式包括但不限于通過(guò)例如SATA、IDE、USB、PCIE、NVMe(NVM Express)、SCSI、以太網(wǎng)、光纖通道、無(wú)線通信網(wǎng)絡(luò)等連接主機(jī)與存儲(chǔ)設(shè)備102。主機(jī)可以是能夠通過(guò)上述方式同存儲(chǔ)設(shè)備相通信的信息處理設(shè)備,例如,個(gè)人計(jì)算機(jī)、平板電腦、服務(wù)器、便攜式計(jì)算機(jī)、網(wǎng)絡(luò)交換機(jī)、路由器、蜂窩電話、個(gè)人數(shù)字助理等。存儲(chǔ)設(shè)備102包括接口103、控制部件104、一個(gè)或多個(gè)NVM(非易失存儲(chǔ)器,Non-Volatile Memory)存儲(chǔ)芯片105以及固件存儲(chǔ)器110。接口103可適配于通過(guò)例如SATA、IDE、USB、PCIE、NVMe、SCSI、以太網(wǎng)、光纖通道等方式與主機(jī)交換數(shù)據(jù)??刂撇考?04用于控制在接口103、NVM存儲(chǔ)芯片105以及固件存儲(chǔ)器110之間的數(shù)據(jù)傳輸,還用于存儲(chǔ)管理、主機(jī)邏輯地址到閃存物理地址映射、擦除均衡、壞塊管理等??赏ㄟ^(guò)軟件、硬件、固件或其組合的多種方式實(shí)現(xiàn)控制部件104??刂撇考?04可以是FPGA(Field-programmable gate array,現(xiàn)場(chǎng)可編程門(mén)陣列)、ASIC(Application Specific Integrated Circuit,應(yīng)用專(zhuān)用集成電路)或者其組合的形式。控制部件104也可以包括處理器或者控制器。控制部件104在運(yùn)行時(shí)從固件存儲(chǔ)器110加載固件。固件存儲(chǔ)器110可以是NOR閃存、ROM、EEPROM等。固件用于提供電子設(shè)備底層功能,諸如BIOS、操作系統(tǒng)加載等。

存儲(chǔ)器目標(biāo)(Target)是NAND閃存封裝內(nèi)的共享芯片使能(CE,Chip Enable)信號(hào)的一個(gè)或多個(gè)邏輯單元(Logic Unit)。每個(gè)邏輯單元具有邏輯單元號(hào)(LUN,Logic Unit Number)。NAND閃存封裝內(nèi)可包括一個(gè)或多個(gè)管芯(Die)。典型地,邏輯單元對(duì)應(yīng)于單一的管芯。邏輯單元可包括多個(gè)平面(Plane)。邏輯單元內(nèi)的多個(gè)平面可以并行存取,而NAND閃存芯片內(nèi)的多個(gè)邏輯單元可以彼此獨(dú)立地執(zhí)行命令和報(bào)告狀態(tài)。在可從http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gol d.ashx獲得的“Open NAND Flash Interface Specification(Revision 3.0)”中,提供了關(guān)于目標(biāo)(target)、邏輯單元、LUN、平面(Plane)的含義。

MLC(Multi-Level Cell,多級(jí)單元)NVM是在每個(gè)存儲(chǔ)單元中能夠存儲(chǔ)至少兩比特信息的非易失性存儲(chǔ)器。同SLC(Single Level Cell)NVM相比,具有存儲(chǔ)容量大,成本低的特點(diǎn),但存儲(chǔ)的可靠性不如SLC,可能發(fā)生數(shù)據(jù)損壞或丟失。

在固態(tài)存儲(chǔ)設(shè)備中,利用FTL(Flash Translation Layer,閃存轉(zhuǎn)換層)來(lái)維護(hù)從邏輯地址到物理地址的映射信息。邏輯地址構(gòu)成了操作系統(tǒng)等上層軟件所感知到的固態(tài)存儲(chǔ)設(shè)備的存儲(chǔ)空間。物理地址是用于訪問(wèn)固態(tài)存儲(chǔ)設(shè)備的物理存儲(chǔ)單元的地址。 在現(xiàn)有技術(shù)中還可利用中間地址形態(tài)實(shí)施地址映射。例如將邏輯地址映射為中間地址,進(jìn)而將中間地址進(jìn)一步映射為物理地址。

存儲(chǔ)了從邏輯地址到物理地址的映射信息的表結(jié)構(gòu)被稱(chēng)為FTL表。FTL表是固態(tài)存儲(chǔ)設(shè)備中的重要元數(shù)據(jù)。通常FTL表的數(shù)據(jù)項(xiàng)記錄了固態(tài)存儲(chǔ)設(shè)備中以數(shù)據(jù)頁(yè)為單位的地址映射關(guān)系。固態(tài)存儲(chǔ)設(shè)備的FTL表具有較大的尺寸,例如若干GB級(jí)。而在固態(tài)存儲(chǔ)設(shè)備關(guān)閉時(shí),需要完整地保存FTL表,在固態(tài)存儲(chǔ)設(shè)備啟動(dòng)時(shí),需要完成FTL完全加載。

現(xiàn)有技術(shù)中,在固態(tài)存儲(chǔ)設(shè)備的每個(gè)數(shù)據(jù)頁(yè)中附加地存儲(chǔ)該數(shù)據(jù)頁(yè)所對(duì)應(yīng)的邏輯地址。在固態(tài)存儲(chǔ)設(shè)備啟動(dòng)時(shí),需要訪問(wèn)所有數(shù)據(jù)頁(yè),以獲得每個(gè)數(shù)據(jù)頁(yè)所對(duì)應(yīng)的邏輯地址,并重建FTL表。然而這樣的操作將需要大量時(shí)間,并導(dǎo)致固態(tài)存儲(chǔ)設(shè)備啟動(dòng)過(guò)程耗時(shí)很長(zhǎng)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的一個(gè)目的在于希望解決固態(tài)存儲(chǔ)設(shè)備加載FTL表時(shí)耗時(shí)很長(zhǎng)的問(wèn)題。本發(fā)明的又一個(gè)目的在于在固態(tài)存儲(chǔ)設(shè)備掉電后的有限時(shí)間內(nèi),能夠可靠地存儲(chǔ)FTL表。

根據(jù)本發(fā)明的第一方面,提供了第一固態(tài)硬盤(pán)啟動(dòng)方法,包括獲取FTL(Flash Translation Layer,閃存轉(zhuǎn)換層)日志在固態(tài)硬盤(pán)上的存儲(chǔ)位置,其中FTL日志包括多個(gè)FTL日志數(shù)據(jù)幀,每個(gè)FTL日志數(shù)據(jù)幀記錄了FTL表的部分;從所述存儲(chǔ)位置讀取FTL日志以及寫(xiě)請(qǐng)求日志;其中寫(xiě)請(qǐng)求日志包括多個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀,每個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀包括前一個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成后向固態(tài)硬盤(pán)發(fā)出的多個(gè)寫(xiě)請(qǐng)求所對(duì)應(yīng)的邏輯地址與物理地址;利用所述FTL日志以及所述寫(xiě)請(qǐng)求日志重構(gòu)FTL表;以及完成固態(tài)硬盤(pán)的啟動(dòng)。

根據(jù)本發(fā)明第一方面的第一固態(tài)硬盤(pán)啟動(dòng)方法,提供了本發(fā)明第一方面的第二固態(tài)硬盤(pán)啟動(dòng)方法,其中利用所述FTL日志以及所述寫(xiě)請(qǐng)求日志重構(gòu)FTL表包括:使用FTL日志構(gòu)建第一FTL表;使用寫(xiě)請(qǐng)求日志更新第一FTL表,以得到第二FTL表。

根據(jù)本發(fā)明第一方面的第二固態(tài)硬盤(pán)啟動(dòng)方法,提供了本發(fā)明第一方面的第三固態(tài)硬盤(pán)啟動(dòng)方法,其中所述使用寫(xiě)請(qǐng)求日志更新第一FTL表,包括順序使用所述寫(xiě)請(qǐng)求日志的每個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀,更新所述第一FTL表。

根據(jù)本發(fā)明第一方面的第一與第二固態(tài)硬盤(pán)啟動(dòng)方法,提供了本發(fā)明第一方面的第四固態(tài)硬盤(pán)啟動(dòng)方法,其中所述寫(xiě)請(qǐng)求日志中記錄了所述FTL日志創(chuàng)建期間向所述固態(tài)硬盤(pán)發(fā)出的全部寫(xiě)請(qǐng)求。

根據(jù)本發(fā)明第一方面的上述固態(tài)硬盤(pán)啟動(dòng)方法之一,提供了本發(fā)明第一方面的第五固態(tài)硬盤(pán)啟動(dòng)方法,其中所述FTL表中反映了所述固態(tài)硬盤(pán)的邏輯地址與物理地址的對(duì)應(yīng)關(guān)系。

根據(jù)本發(fā)明第一方面的上述固態(tài)硬盤(pán)啟動(dòng)方法之一,提供了本發(fā)明第一方面的第六固態(tài)硬盤(pán)啟動(dòng)方法,其中在所述固態(tài)硬盤(pán)上,F(xiàn)TL日志數(shù)據(jù)幀與寫(xiě)請(qǐng)求日志數(shù)據(jù)幀相關(guān)聯(lián)地存儲(chǔ)。

根據(jù)本發(fā)明第一方面的上述固態(tài)硬盤(pán)啟動(dòng)方法之一,提供了本發(fā)明第一方面的第七固態(tài)硬盤(pán)啟動(dòng)方法,其中每個(gè)FTL日志數(shù)據(jù)幀按順序記錄了整個(gè)FTL表的部分。

根據(jù)本發(fā)明第一方面的上述固態(tài)硬盤(pán)啟動(dòng)方法之一,提供了本發(fā)明第一方面的第八固態(tài)硬盤(pán)啟動(dòng)方法,其中每個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀包括前一個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成后以及后一個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成前向固態(tài)硬盤(pán)發(fā)出的寫(xiě)請(qǐng)求所對(duì)應(yīng)的邏輯地址與物理地址。

根據(jù)本發(fā)明第一方面的上述固態(tài)硬盤(pán)啟動(dòng)方法之一,提供了本發(fā)明第一方面的第九固態(tài)硬盤(pán)啟動(dòng)方法,其中所述FTL日志中記錄了整個(gè)FTL表的信息。

根據(jù)本發(fā)明第一方面的上述固態(tài)硬盤(pán)啟動(dòng)方法之一,提供了本發(fā)明第一方面的第十固態(tài)硬盤(pán)啟動(dòng)方法,其中所述固態(tài)硬盤(pán)包括MLC NVM(Multi-Level Cell Non-Volatile Memory,多級(jí)單元非易失存儲(chǔ)器),以及從所述存儲(chǔ)位置讀取FTL日志以及寫(xiě)請(qǐng)求日志時(shí),使用pSLC模式訪問(wèn)所述NVM。

根據(jù)本發(fā)明第二方面,提供了一種計(jì)算機(jī),包括用于存儲(chǔ)程序指令的機(jī)器可讀存儲(chǔ)器;用于執(zhí)行存儲(chǔ)在所述存儲(chǔ)器中的程序指令的一個(gè)或多個(gè)處理器;所述程序指令用于使所述一個(gè)或多個(gè)處理器執(zhí)行根據(jù)本發(fā)明第一方面的固態(tài)硬盤(pán)啟動(dòng)方法之一。

根據(jù)本發(fā)明的第三方面,提供了一種計(jì)算機(jī)程序,其使得計(jì)算機(jī)執(zhí)行根據(jù)本發(fā)明第一方面的固態(tài)硬盤(pán)啟動(dòng)方法之一。

根據(jù)本發(fā)明的第四方面,提供了在其上存儲(chǔ)有所記錄的程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述程序使得所述計(jì)算機(jī)執(zhí)行根據(jù)本發(fā)明第一方面的固態(tài)硬盤(pán)啟動(dòng)方法之一。

根據(jù)本發(fā)明的第五方面,提供了一種程序,所述程序在被固態(tài)硬盤(pán)的控制器執(zhí)行時(shí)使得所述固態(tài)硬盤(pán)執(zhí)行根據(jù)本發(fā)明第一方面的固態(tài)硬盤(pán)啟動(dòng)方法之一。

根據(jù)本發(fā)明的第六方面,提供了一種固態(tài)硬盤(pán),包括用于存儲(chǔ)程序指令的機(jī)器可讀存儲(chǔ)器,用于執(zhí)行存儲(chǔ)在所述存儲(chǔ)器中的程序指令的一個(gè)或多個(gè)處理器或控制器,所述程序指令用于使所述一個(gè)或多個(gè)處理器或控制器執(zhí)行根據(jù)本發(fā)明第一方面的固態(tài)硬盤(pán)啟動(dòng)方法之一。

根據(jù)本發(fā)明的第七方面,提供了第一固態(tài)硬盤(pán)啟動(dòng)裝置,包括日志定位模塊,用于獲取FTL(Flash Translation Layer,閃存轉(zhuǎn)換層)日志在固態(tài)硬盤(pán)上的存儲(chǔ)位置,其中FTL日志包括多個(gè)FTL日志數(shù)據(jù)幀,每個(gè)FTL日志數(shù)據(jù)幀記錄了FTL表的部分;日志獲取模塊,從所述存儲(chǔ)位置讀取FTL日志以及寫(xiě)請(qǐng)求日志;其中寫(xiě)請(qǐng)求日志包括多個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀,每個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀包括前一個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成后向固態(tài)硬盤(pán)發(fā)出的多個(gè)寫(xiě)請(qǐng)求所對(duì)應(yīng)的邏輯地址與物理地址;FTL表重構(gòu)模塊,用于利用所述FTL日志以及所述寫(xiě)請(qǐng)求日志重構(gòu)FTL表;以及啟動(dòng)模塊,用于完成固態(tài)硬盤(pán)的啟動(dòng)。

根據(jù)本發(fā)明的第七方面的第一固態(tài)硬盤(pán)啟動(dòng)裝置,提供了本發(fā)明第七方面的第二固態(tài)硬盤(pán)啟動(dòng)裝置,其中FTL表重構(gòu)模塊包括:FTL表構(gòu)建模塊,用于使用FTL日志構(gòu)建第一FTL表;FTL表更新模塊,用于使用寫(xiě)請(qǐng)求日志更新第一FTL表,以得到第二FTL表。

根據(jù)本發(fā)明的第七方面的第二固態(tài)硬盤(pán)啟動(dòng)裝置,提供了本發(fā)明第七方面的第三固態(tài)硬盤(pán)啟動(dòng)裝置,其中FTL表更新模塊,包括FTL順序更新模塊,用于順序使用所述寫(xiě)請(qǐng)求日志的每個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀,更新所述第一FTL表。

根據(jù)本發(fā)明的第七方面的第一或第二固態(tài)硬盤(pán)啟動(dòng)裝置,提供了本發(fā)明第七方面的第四固態(tài)硬盤(pán)啟動(dòng)裝置,其中所述寫(xiě)請(qǐng)求日志中記錄了所述FTL日志創(chuàng)建期間向所述固態(tài)硬盤(pán)發(fā)出的全部寫(xiě)請(qǐng)求。

根據(jù)本發(fā)明的第七方面的上述固態(tài)硬盤(pán)啟動(dòng)裝置,提供了本發(fā)明第七方面的第五固態(tài)硬盤(pán)啟動(dòng)裝置,其中所述FTL表中反映了所述固態(tài)硬盤(pán)的邏輯地址與物理地址的對(duì)應(yīng)關(guān)系。

根據(jù)本發(fā)明的第七方面的上述固態(tài)硬盤(pán)啟動(dòng)裝置,提供了本發(fā)明第七方面的第六固態(tài)硬盤(pán)啟動(dòng)裝置,其中在所述固態(tài)硬盤(pán)上,F(xiàn)TL日志數(shù)據(jù)幀與寫(xiě)請(qǐng)求日志數(shù)據(jù)幀相關(guān)聯(lián)地存儲(chǔ)。

根據(jù)本發(fā)明的第七方面的上述固態(tài)硬盤(pán)啟動(dòng)裝置,提供了本發(fā)明第七方面的第 七固態(tài)硬盤(pán)啟動(dòng)裝置,其中每個(gè)FTL日志數(shù)據(jù)幀按順序記錄了整個(gè)FTL表的部分。

根據(jù)本發(fā)明的第七方面的上述固態(tài)硬盤(pán)啟動(dòng)裝置,提供了本發(fā)明第七方面的第八固態(tài)硬盤(pán)啟動(dòng)裝置,其中每個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀包括前一個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成后以及后一個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成前向固態(tài)硬盤(pán)發(fā)出的寫(xiě)請(qǐng)求所對(duì)應(yīng)的邏輯地址與物理地址。

根據(jù)本發(fā)明的第七方面的上述固態(tài)硬盤(pán)啟動(dòng)裝置,提供了本發(fā)明第七方面的第九固態(tài)硬盤(pán)啟動(dòng)裝置,其中所述FTL日志中記錄了整個(gè)FTL表的信息。

根據(jù)本發(fā)明的第七方面的上述固態(tài)硬盤(pán)啟動(dòng)裝置,提供了本發(fā)明第七方面的第十固態(tài)硬盤(pán)啟動(dòng)裝置,其中所述固態(tài)硬盤(pán)包括MLC NVM(Multi-Level Cell Non-Volatile Memory,多級(jí)單元非易失存儲(chǔ)器),以及從所述存儲(chǔ)位置讀取FTL日志以及寫(xiě)請(qǐng)求日志時(shí),使用pSLC模式訪問(wèn)所述NVM。

根據(jù)本發(fā)明的第八方面,提供了第一固態(tài)硬盤(pán)的日志生成方法,包括基于向固態(tài)硬盤(pán)發(fā)出的寫(xiě)請(qǐng)求,記錄該寫(xiě)請(qǐng)求所對(duì)應(yīng)的用于固態(tài)硬盤(pán)的邏輯地址與物理地址;使用多個(gè)所述寫(xiě)請(qǐng)求所對(duì)應(yīng)的多個(gè)用于固態(tài)硬盤(pán)的邏輯地址與物理地址,生成寫(xiě)請(qǐng)求日志數(shù)據(jù)幀;獲取FTL表的部分,生成FTL日志數(shù)據(jù)幀;在NVM(Non-Volatile Memory,非易失存儲(chǔ)器)上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀;以及記錄在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址。

根據(jù)本發(fā)明第八方面的第一固態(tài)硬盤(pán)日志生成方法,提供了本發(fā)明第八方面的第二固態(tài)硬盤(pán)日志生成方法,還包括:當(dāng)所述固態(tài)硬盤(pán)關(guān)機(jī)或掉電時(shí),將所記錄的在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址,存儲(chǔ)到NVM中。

根據(jù)本發(fā)明第八方面的第一或第二固態(tài)硬盤(pán)日志生成方法,提供了本發(fā)明第八方面的第三固態(tài)硬盤(pán)日志生成方法,其中周期性地所述在NVM上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀。

根據(jù)本發(fā)明第八方面的第一或第二固態(tài)硬盤(pán)日志生成方法,提供了本發(fā)明第八方面的第四固態(tài)硬盤(pán)日志生成方法,,其中在所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成后,在NVM上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀,以及其中所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀中包括預(yù)定數(shù)量的邏輯地址與物理地址對(duì)。

根據(jù)本發(fā)明第八方面的上述固態(tài)硬盤(pán)日志生成方法,提供了本發(fā)明第八方面的第五固態(tài)硬盤(pán)日志生成方法,,其中所述獲取FTL表的部分,生成FTL日志數(shù)據(jù)幀,包括:獲取未用于生成過(guò)FTL日志數(shù)據(jù)幀的FTL表的部分,來(lái)生成FTL日志數(shù)據(jù)幀。

根據(jù)本發(fā)明第八方面的第一或第二固態(tài)硬盤(pán)日志生成方法,提供了本發(fā)明第八方面的第六固態(tài)硬盤(pán)日志生成方法,其中所述獲取FTL表的部分,生成FTL日志數(shù)據(jù)幀,包括:選擇從FTL表的第一地址開(kāi)始預(yù)定長(zhǎng)度的FTL表,作為FTL表的部分,用于生成FTL日志數(shù)據(jù)幀,其中所述第一地址前的FTL表部分已被用于生成FTL日志數(shù)據(jù)幀。

根據(jù)本發(fā)明第八方面的第一或第二固態(tài)硬盤(pán)日志生成方法,提供了本發(fā)明第八方面的第七固態(tài)硬盤(pán)日志生成方法,其中所述獲取未用于生成過(guò)FTL日志條目的FTL表的部分,包括:從FTL表的第一地址開(kāi)始預(yù)定長(zhǎng)度的FTL表,作為FTL表的部分,用于生成FTL日志數(shù)據(jù)幀,其中所述第一地址前的FTL表部分已被用于生成FTL日志數(shù)據(jù)幀。

根據(jù)本發(fā)明第八方面的第五到第七固態(tài)硬盤(pán)日志生成方法之一的方法,提供了本發(fā)明第八方面的第八固態(tài)硬盤(pán)日志生成方法,其中所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀總計(jì)的大小為固態(tài)硬盤(pán)的數(shù)據(jù)頁(yè)大小的整數(shù)倍。

根據(jù)本發(fā)明第八方面的第六到第八固態(tài)硬盤(pán)日志生成方法之一的方法,提供了本發(fā)明第八方面的第九固態(tài)硬盤(pán)日志生成方法,其中所述NVM(Non-Volatile Memory,非易失存儲(chǔ)器)是MLC NVM,以及在NVM上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀時(shí),使用pSLC模式訪問(wèn)所述NVM。

根據(jù)本發(fā)明第八方面的上述固態(tài)硬盤(pán)日志生成方法,提供了本發(fā)明第八方面的第十固態(tài)硬盤(pán)日志生成方法10,其中在NVM上,所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀相關(guān)聯(lián)地存儲(chǔ)。

根據(jù)本發(fā)明第九方面,提供了一種計(jì)算機(jī),包括用于存儲(chǔ)程序指令的機(jī)器可讀存儲(chǔ)器;用于執(zhí)行存儲(chǔ)在所述存儲(chǔ)器中的程序指令的一個(gè)或多個(gè)處理器;所述程序指令用于使所述一個(gè)或多個(gè)處理器執(zhí)行根據(jù)本發(fā)明第八方面的固態(tài)硬盤(pán)日志生成方法之一。

根據(jù)本發(fā)明的第十方面,提供了一種計(jì)算機(jī)程序,其使得計(jì)算機(jī)執(zhí)行根據(jù)本發(fā)明第八方面的固態(tài)硬盤(pán)日志生成方法之一。

根據(jù)本發(fā)明的第十一方面,提供了在其上存儲(chǔ)有所記錄的程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述程序使得所述計(jì)算機(jī)執(zhí)行根據(jù)本發(fā)明第八方面的固態(tài)硬盤(pán)日志生成方法之一。

根據(jù)本發(fā)明的第十二方面,提供了一種程序,所述程序在被固態(tài)硬盤(pán)的控制器執(zhí)行時(shí)使得所述固態(tài)硬盤(pán)執(zhí)行根據(jù)本發(fā)明第八方面的固態(tài)硬盤(pán)日志生成方法之一。

根據(jù)本發(fā)明的第十三方面,提供了一種固態(tài)硬盤(pán),包括用于存儲(chǔ)程序指令的機(jī)器可讀存儲(chǔ)器,用于執(zhí)行存儲(chǔ)在所述存儲(chǔ)器中的程序指令的一個(gè)或多個(gè)處理器或控制器,所述程序指令用于使所述一個(gè)或多個(gè)處理器或控制器執(zhí)行根據(jù)本發(fā)明第八方面的固態(tài)硬盤(pán)日志生成方法之一。

根據(jù)本發(fā)明的第十四方面,提供了本發(fā)明第十四方面的第一用于固態(tài)硬盤(pán)的日志生成裝置,包括寫(xiě)日志記錄模塊,用于基于向固態(tài)硬盤(pán)發(fā)出的寫(xiě)請(qǐng)求,記錄該寫(xiě)請(qǐng)求所對(duì)應(yīng)的用于固態(tài)硬盤(pán)的邏輯地址與物理地址;“寫(xiě)”日志數(shù)據(jù)幀生成模塊,用于使用多個(gè)所述寫(xiě)請(qǐng)求所對(duì)應(yīng)的多個(gè)用于固態(tài)硬盤(pán)的邏輯地址與物理地址,生成寫(xiě)請(qǐng)求日志數(shù)據(jù)幀;FTL日志數(shù)據(jù)幀生成模塊,用于獲取FTL表的部分,生成FTL日志數(shù)據(jù)幀;日志存儲(chǔ)模塊,用于在NVM(Non-Volatile Memory,非易失存儲(chǔ)器)上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀;以及地址記錄模塊,用于記錄在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址。

根據(jù)本發(fā)明第十四方面的第一用于固態(tài)硬盤(pán)的日志生成裝置,提供了本發(fā)明第十四方面的第二用于固態(tài)硬盤(pán)的日志生成裝置,還包括:掉電保存模塊,用于當(dāng)所述固態(tài)硬盤(pán)關(guān)機(jī)或掉電時(shí),將所記錄的在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址,存儲(chǔ)到NVM中。

根據(jù)本發(fā)明第十四方面的上述用于固態(tài)硬盤(pán)的日志生成裝置,提供了本發(fā)明第十四方面的第三用于固態(tài)硬盤(pán)的日志生成裝置,其中日志存儲(chǔ)模塊,用于周期性地所述在NVM上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀。

根據(jù)本發(fā)明第十四方面的第一或第二用于固態(tài)硬盤(pán)的日志生成裝置,提供了本發(fā)明第十四方面的第四用于固態(tài)硬盤(pán)的日志生成裝置,其中在所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成后,在NVM上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀,以及其中所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀中包括預(yù)定數(shù)量的邏輯地址與物理地址對(duì)。

根據(jù)本發(fā)明第十四方面的上述用于固態(tài)硬盤(pán)的日志生成裝置之一,提供了本發(fā)明第十四方面的第五用于固態(tài)硬盤(pán)的日志生成裝置,其中所述FTL日志數(shù)據(jù)幀生成模塊,用于獲取未用于生成過(guò)FTL日志數(shù)據(jù)幀的FTL表的部分,來(lái)生成FTL日志數(shù)據(jù)幀。

根據(jù)本發(fā)明第十四方面的第一至第四用于固態(tài)硬盤(pán)的日志生成裝置之一,提供了本發(fā)明第十四方面的第六用于固態(tài)硬盤(pán)的日志生成裝置,其中所述FTL日志數(shù)據(jù) 幀生成模塊,用于選擇從FTL表的第一地址開(kāi)始預(yù)定長(zhǎng)度的FTL表,作為FTL表的部分,用于生成FTL日志數(shù)據(jù)幀,其中所述第一地址前的FTL表部分已被用于生成FTL日志數(shù)據(jù)幀。

根據(jù)本發(fā)明第十四方面的第五用于固態(tài)硬盤(pán)的日志生成裝置,提供了本發(fā)明第十四方面的第七用于固態(tài)硬盤(pán)的日志生成裝置,其中所述獲取未用于生成過(guò)FTL日志條目的FTL表的部分,包括:從FTL表的第一地址開(kāi)始預(yù)定長(zhǎng)度的FTL表,作為FTL表的部分,用于生成FTL日志數(shù)據(jù)幀,其中所述第一地址前的FTL表部分已被用于生成FTL日志數(shù)據(jù)幀。

根據(jù)本發(fā)明第十四方面的第五至第七用于固態(tài)硬盤(pán)的日志生成裝置之一,提供了本發(fā)明第十四方面的第八用于固態(tài)硬盤(pán)的日志生成裝置,其中所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀總計(jì)的大小為固態(tài)硬盤(pán)的數(shù)據(jù)頁(yè)大小的整數(shù)倍。

根據(jù)本發(fā)明第十四方面的第六至第八用于固態(tài)硬盤(pán)的日志生成裝置之一,提供了本發(fā)明第十四方面的第九用于固態(tài)硬盤(pán)的日志生成裝置,其中所述NVM(Non-Volatile Memory,非易失存儲(chǔ)器)是MLC NVM,以及在NVM上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀時(shí),使用pSLC模式訪問(wèn)所述NVM。

根據(jù)本發(fā)明第十四方面的上述用于固態(tài)硬盤(pán)的日志生成裝置之一,提供了本發(fā)明第十四方面的第十用于固態(tài)硬盤(pán)的日志生成裝置,其中在NVM上,所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀相關(guān)聯(lián)地存儲(chǔ)。

根據(jù)本發(fā)明第十五方面,提供了一種用于固態(tài)硬盤(pán)的方法,包括:基于向固態(tài)硬盤(pán)發(fā)出的寫(xiě)請(qǐng)求,記錄該寫(xiě)請(qǐng)求所對(duì)應(yīng)的用于固態(tài)硬盤(pán)的邏輯地址與物理地址;使用多個(gè)所述寫(xiě)請(qǐng)求所對(duì)應(yīng)的多個(gè)用于固態(tài)硬盤(pán)的邏輯地址與物理地址,生成寫(xiě)請(qǐng)求日志數(shù)據(jù)幀;獲取FTL表的部分,生成FTL日志數(shù)據(jù)幀;在NVM(Non-Volatile Memory,非易失存儲(chǔ)器)上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀;記錄在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址;當(dāng)所述固態(tài)硬盤(pán)關(guān)機(jī)或掉電時(shí),將所記錄的在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址,存儲(chǔ)到NVM中;以及,當(dāng)所述固態(tài)硬盤(pán)啟動(dòng)時(shí),通過(guò)NVM中存儲(chǔ)的在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址,而獲取FTL日志在固態(tài)硬盤(pán)上的存儲(chǔ)位置,其中FTL日志包括多個(gè)FTL日志數(shù)據(jù)幀,每個(gè)FTL日志數(shù)據(jù)幀記錄了FTL表的部分;從所述存儲(chǔ)位置讀取FTL日志以及寫(xiě)請(qǐng)求日志;其中寫(xiě)請(qǐng)求日志包括多個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀,每個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀包括前一個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成后向固態(tài)硬盤(pán)發(fā)出的多個(gè)寫(xiě)請(qǐng)求所對(duì)應(yīng)的邏輯地址與物理地址;利用所述FTL日志以及所述寫(xiě)請(qǐng)求日志重構(gòu)FTL表;并完成固態(tài)硬盤(pán)的啟動(dòng)。

根據(jù)本發(fā)明第十六方面,提供了一種用于固態(tài)硬盤(pán)的裝置,包括:“寫(xiě)”日志記錄模塊,用于基于向固態(tài)硬盤(pán)發(fā)出的寫(xiě)請(qǐng)求,記錄該寫(xiě)請(qǐng)求所對(duì)應(yīng)的用于固態(tài)硬盤(pán)的邏輯地址與物理地址;“寫(xiě)”日志數(shù)據(jù)幀生成模塊,用于使用多個(gè)所述寫(xiě)請(qǐng)求所對(duì)應(yīng)的多個(gè)用于固態(tài)硬盤(pán)的邏輯地址與物理地址,生成寫(xiě)請(qǐng)求日志數(shù)據(jù)幀;FTL日志數(shù)據(jù)幀生成模塊,用于獲取FTL表的部分,生成FTL日志數(shù)據(jù)幀;日志存儲(chǔ)模塊,用于在NVM(Non-Volatile Memory,非易失存儲(chǔ)器)上存儲(chǔ)所述寫(xiě)請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀;地址記錄模塊,用于記錄在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址;掉電保護(hù)模塊,用于當(dāng)所述固態(tài)硬盤(pán)關(guān)機(jī)或掉電時(shí),將所記錄的在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址,存儲(chǔ)到NVM中;以及,日志定位模塊,用于當(dāng)所述固態(tài)硬盤(pán)啟動(dòng)時(shí),通過(guò)NVM中存儲(chǔ)的在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址,而獲取FTL日志在固態(tài)硬盤(pán)上的存儲(chǔ)位置,其中FTL日志包括多個(gè)FTL日志數(shù)據(jù)幀,每個(gè)FTL日志數(shù)據(jù)幀記錄了FTL表的部分;日志獲取模塊,用于從所述存儲(chǔ)位置讀取FTL日志以及寫(xiě)請(qǐng)求日志;其中寫(xiě)請(qǐng)求日志包括多個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀,每個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀包括前一個(gè)寫(xiě)請(qǐng)求日志數(shù)據(jù)幀生成后向固態(tài)硬盤(pán)發(fā)出的多個(gè)寫(xiě)請(qǐng)求 所對(duì)應(yīng)的邏輯地址與物理地址;FTL表重構(gòu)模塊,用于利用所述FTL日志以及所述寫(xiě)請(qǐng)求日志重構(gòu)FTL表;以及啟動(dòng)模塊,用于完成固態(tài)硬盤(pán)的啟動(dòng)。

附圖說(shuō)明

當(dāng)連同附圖閱讀時(shí),通過(guò)參考后面對(duì)示出性的實(shí)施例的詳細(xì)描述,將最佳地理解本發(fā)明以及優(yōu)選的使用模式和其進(jìn)一步的目的和優(yōu)點(diǎn),其中附圖包括:

圖1是現(xiàn)有技術(shù)的存儲(chǔ)設(shè)備的方框圖;

圖2是根據(jù)本發(fā)明的實(shí)施例的FTL表的結(jié)構(gòu)框圖;

圖3是根據(jù)本發(fā)明的實(shí)施例的“寫(xiě)”日志的結(jié)構(gòu)框圖;

圖4是根據(jù)本發(fā)明的實(shí)施例的固態(tài)硬盤(pán)日志的結(jié)構(gòu)框圖;

圖5是根據(jù)本發(fā)明的實(shí)施例的固態(tài)硬盤(pán)日志生成方法的流程圖;

圖6是根據(jù)本發(fā)明的又一實(shí)施例的固態(tài)硬盤(pán)日志生成方法的流程圖;以及

圖7是根據(jù)本發(fā)明的實(shí)施例的設(shè)備啟動(dòng)方法的流程圖。

具體實(shí)施方式

圖2是根據(jù)本發(fā)明的實(shí)施例的FTL表的結(jié)構(gòu)框圖。FTL表包括多個(gè)FTL表?xiàng)l目(或稱(chēng)表項(xiàng))。在一個(gè)實(shí)施例中,每個(gè)FTL表?xiàng)l目中記錄了一個(gè)邏輯頁(yè)地址與一個(gè)物理頁(yè)的對(duì)應(yīng)關(guān)系。在又一個(gè)實(shí)施例中,每個(gè)FTL表?xiàng)l目中記錄了邏輯塊地址與物理塊地址的對(duì)應(yīng)關(guān)系。在依然又一個(gè)實(shí)施例中,F(xiàn)TL表中記錄邏輯塊地址與物理塊地址的映射關(guān)系,和/或邏輯頁(yè)地址與物理頁(yè)地址的映射關(guān)系。

在依然又一個(gè)實(shí)施例中,在連續(xù)的內(nèi)存地址空間中存儲(chǔ)FTL表,每個(gè)FTL表?xiàng)l目中記錄物理地址,而以每個(gè)FTL表?xiàng)l目自身的內(nèi)存地址代表對(duì)應(yīng)于物理地址的邏輯地址。FTL表?xiàng)l目的數(shù)量對(duì)應(yīng)于固態(tài)存儲(chǔ)設(shè)備邏輯地址空間的大小。

為了在非易失存儲(chǔ)介質(zhì)中存儲(chǔ)FTL表的目的,將FTL表組織為數(shù)據(jù)幀。參看圖2,F(xiàn)TL表包括數(shù)幀1、數(shù)據(jù)幀2、數(shù)據(jù)幀3……數(shù)據(jù)幀n。每個(gè)FTL表數(shù)據(jù)幀,包括多個(gè)FTL表?xiàng)l目。每個(gè)FTL表數(shù)據(jù)幀的大小同非易失存儲(chǔ)介質(zhì)的最小寫(xiě)入單位相對(duì)應(yīng)(例如,頁(yè))。非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小通常為2KB、4KB、8KB或16KB。在一個(gè)實(shí)施例中,非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小為16KB,而FTL表的數(shù)據(jù)幀大小為2KB、4KB或8KB。在另一個(gè)實(shí)施例中,非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小為4KB,而FTL表的數(shù)據(jù)幀大小為512B、1KB或2KB。一般地,選擇FTL表的數(shù)據(jù)幀大小,使得非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小是FTL表數(shù)據(jù)幀大小的整數(shù)倍,以便于將多個(gè)FTL表數(shù)據(jù)幀存儲(chǔ)到為非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)。在一個(gè)例子中,F(xiàn)TL表包含的數(shù)幀1、數(shù)據(jù)幀2、數(shù)據(jù)幀3……數(shù)據(jù)幀n在內(nèi)存中按內(nèi)存地址連續(xù)存儲(chǔ)。

在固態(tài)存儲(chǔ)設(shè)備處理寫(xiě)請(qǐng)求時(shí),為該寫(xiě)請(qǐng)求分配物理地址,并在FTL表中記錄該寫(xiě)請(qǐng)求的邏輯地址與物理地址的對(duì)應(yīng)關(guān)系。在另一個(gè)實(shí)施例中,由訪問(wèn)固態(tài)存儲(chǔ)設(shè)備的主機(jī)維護(hù)FTL表,在需要向固態(tài)存儲(chǔ)發(fā)出寫(xiě)請(qǐng)求時(shí),為該寫(xiě)請(qǐng)求分配固態(tài)存儲(chǔ)設(shè)備的物理地址,并在FTL表中記錄該寫(xiě)請(qǐng)求的邏輯地址與物理地址的對(duì)應(yīng)關(guān)系。

圖3是根據(jù)本發(fā)明的實(shí)施例的“寫(xiě)”日志的結(jié)構(gòu)框圖。在固態(tài)存儲(chǔ)設(shè)備處理寫(xiě)請(qǐng)求時(shí),還生成“寫(xiě)”日志。在“寫(xiě)”日志中記錄了寫(xiě)操作對(duì)應(yīng)的邏輯地址與物理地址。

為了在非易失存儲(chǔ)介質(zhì)中存儲(chǔ)“寫(xiě)”日志的目的,將“寫(xiě)”日志組織為數(shù)據(jù)幀310(參看圖3)。每個(gè)“寫(xiě)”日志數(shù)據(jù)幀310包括多個(gè)“寫(xiě)”日志條目(322、324、32n)(或稱(chēng)“表項(xiàng)”)。每個(gè)“寫(xiě)”日志條目(322、324或32n)包括一個(gè)邏輯地址以及與之相對(duì)應(yīng)的物理地址。按照接收寫(xiě)請(qǐng)求的順序生成并在寫(xiě)日志數(shù)據(jù)幀中組織 “寫(xiě)”日志條目。因而在“寫(xiě)”日志中,可能存在具有相同邏輯地址和/或物理地址的“寫(xiě)”日志條目。

每個(gè)“寫(xiě)”日志數(shù)據(jù)幀的大小同非易失存儲(chǔ)介質(zhì)的最小寫(xiě)入單位相對(duì)應(yīng)(例如,頁(yè))。非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小通常為2KB、4KB、8KB或16KB。在一個(gè)實(shí)施例中,非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小為16KB,而“寫(xiě)”日志的數(shù)據(jù)幀大小為2KB、4KB、8KB或16KB。在另一個(gè)實(shí)施例中,非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小為4KB,而“寫(xiě)”日志的數(shù)據(jù)幀大小為512B、1KB或2KB或4KB。一般地,選擇“寫(xiě)”日志的數(shù)據(jù)幀大小,使得非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小是“寫(xiě)”日志數(shù)據(jù)幀大小的整數(shù)倍,以便于將一個(gè)或多個(gè)“寫(xiě)”日志數(shù)據(jù)幀存儲(chǔ)到非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)。在又一個(gè)實(shí)施例中,一個(gè)或多個(gè)FTL表數(shù)據(jù)幀與一個(gè)或多個(gè)“寫(xiě)”日志數(shù)據(jù)幀構(gòu)成非易失存儲(chǔ)介質(zhì)的一個(gè)數(shù)據(jù)頁(yè)。

圖4是根據(jù)本發(fā)明的實(shí)施例的固態(tài)硬盤(pán)日志的結(jié)構(gòu)框圖。為了在固態(tài)硬盤(pán)啟動(dòng)時(shí),能夠快速重建FTL表的目錄,根據(jù)本發(fā)明的實(shí)施例提供固態(tài)硬盤(pán)日志410。固態(tài)硬盤(pán)日志410包括多個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀。在圖4中將多個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)表示為數(shù)據(jù)幀1(422)、數(shù)據(jù)幀2(424)、數(shù)據(jù)幀3、數(shù)據(jù)幀4……、數(shù)據(jù)幀m(42m)。在圖4的實(shí)施例中,每個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀包括3個(gè)FTL表數(shù)據(jù)幀與1個(gè)寫(xiě)日志數(shù)據(jù)幀。例如,在固態(tài)硬盤(pán)日志數(shù)據(jù)幀1(422)中包括FTL表數(shù)據(jù)幀1(432)、FT表L數(shù)據(jù)幀2(434)、FTL表數(shù)據(jù)幀3(436)與“寫(xiě)”日志數(shù)據(jù)幀1(438)。在固態(tài)硬盤(pán)日志數(shù)據(jù)幀2(424)中包括FTL表數(shù)據(jù)幀4(442)、FTL表數(shù)據(jù)幀5(444)、FTL表數(shù)據(jù)幀6(446)與“寫(xiě)”日志數(shù)據(jù)幀2(448)。在固態(tài)硬盤(pán)日志數(shù)據(jù)幀n(42m)中包括FTL表數(shù)據(jù)幀n-2(452)、FTL表數(shù)據(jù)幀n-1(454)、FTL表數(shù)據(jù)幀n(456)與“寫(xiě)”日志數(shù)據(jù)幀k(438)。

在根據(jù)本發(fā)明的實(shí)施例中,固態(tài)硬盤(pán)日志數(shù)據(jù)幀的大小是非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小的整數(shù)倍,以便于將固態(tài)硬盤(pán)日志數(shù)據(jù)幀存儲(chǔ)到非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)。在根據(jù)本發(fā)明的另一個(gè)實(shí)施例中,非易失存儲(chǔ)介質(zhì)是MLC非易失存儲(chǔ)介質(zhì),將固態(tài)硬盤(pán)日志數(shù)據(jù)幀存儲(chǔ)到非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)時(shí),使用pSLC(pseudo-SLC,偽SLC)模式或SLC模式訪問(wèn)非易失存儲(chǔ)介質(zhì),以加快固態(tài)硬盤(pán)日志數(shù)據(jù)幀存儲(chǔ)過(guò)程并獲得較高的數(shù)據(jù)可靠性。

所屬領(lǐng)域技術(shù)人員將意識(shí)到,在固態(tài)硬盤(pán)日志410的數(shù)據(jù)幀中,可包括其他數(shù)量的FTL表數(shù)據(jù)幀和/或“寫(xiě)”日志數(shù)據(jù)幀。也可將FTL表數(shù)據(jù)幀與“寫(xiě)”日志數(shù)據(jù)幀分別存儲(chǔ)在固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)中。

在根據(jù)本發(fā)明的實(shí)施例中,固態(tài)硬盤(pán)日志410的m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀組織為循環(huán)隊(duì)列。在向固態(tài)硬盤(pán)寫(xiě)入固態(tài)硬盤(pán)日志時(shí),按順序?qū)懭霐?shù)據(jù)幀1(422)、數(shù)據(jù)幀2(424)、數(shù)據(jù)幀3、數(shù)據(jù)幀4直到數(shù)據(jù)幀m(42m)。在數(shù)據(jù)幀m(42m)寫(xiě)入后,需再次寫(xiě)入固態(tài)硬盤(pán)日志時(shí),則再次寫(xiě)入數(shù)據(jù)幀1(422)。提供固態(tài)硬盤(pán)日志寫(xiě)指針450,指示固態(tài)硬盤(pán)日志410的最后寫(xiě)入位置。在固態(tài)硬盤(pán)日志寫(xiě)指針450存儲(chǔ)在非易失存儲(chǔ)介質(zhì)上。在一個(gè)實(shí)施例中,固態(tài)硬盤(pán)正常工作時(shí),將固態(tài)硬盤(pán)日志寫(xiě)指針450保留在內(nèi)存中,而當(dāng)固態(tài)硬盤(pán)關(guān)閉或掉電時(shí),將固態(tài)硬盤(pán)日志寫(xiě)指針寫(xiě)入非易失存儲(chǔ)介質(zhì)。

在固態(tài)硬盤(pán)日志410中,包括多個(gè)FTL表數(shù)據(jù)幀。利用固態(tài)硬盤(pán)日志410中的多個(gè)FTL表數(shù)據(jù)幀,能夠重建FTL表。

在根據(jù)本發(fā)明的實(shí)施例中,完整的FTL表包括n個(gè)FTL表數(shù)據(jù)幀。在固態(tài)硬盤(pán)日志410的m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀中,存儲(chǔ)了總計(jì)n個(gè)FTL表數(shù)據(jù)幀。在根據(jù)本發(fā)明的另一個(gè)實(shí)施例中,在固態(tài)硬盤(pán)日志410的m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀中,存儲(chǔ)了總計(jì)2n個(gè)FTL表數(shù)據(jù)幀。在固態(tài)硬盤(pán)日志410的多個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀中,按 順序存儲(chǔ)FTL表數(shù)據(jù)幀,例如,按照FTL表自身所在的存儲(chǔ)地址,從小到大或從大到小地存儲(chǔ)FTL表數(shù)據(jù)幀。在一個(gè)實(shí)施例中,在連續(xù)的內(nèi)存中存儲(chǔ)FTL表,F(xiàn)TL表數(shù)據(jù)幀1(432)、FTL表數(shù)據(jù)幀2(434)、FTL表數(shù)據(jù)幀3(436)、FTL表數(shù)據(jù)幀4(442)、FTL表數(shù)據(jù)幀5(444)、FTL表數(shù)據(jù)幀6(446)各自所對(duì)應(yīng)的FTL表的部分在FTL表中的內(nèi)存地址依次增加。在另一個(gè)實(shí)施例中,提供固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)的壞塊記錄表,依據(jù)壞塊映射表,選擇可用的塊存儲(chǔ)固態(tài)硬盤(pán)日志410的m個(gè)固態(tài)硬盤(pán)數(shù)據(jù)幀。在依然另一個(gè)實(shí)施例中,為了從固態(tài)硬盤(pán)日志410中重建出完整的FTL表的目的,所屬領(lǐng)域技術(shù)人員可采用其他的FTL表數(shù)據(jù)幀組織方式。

在根據(jù)本發(fā)明的實(shí)施例中,按照接收寫(xiě)請(qǐng)求的順序生成并在寫(xiě)日志數(shù)據(jù)幀中組織“寫(xiě)”日志條目,并且按接收寫(xiě)請(qǐng)求的順序生成“寫(xiě)”日志數(shù)據(jù)幀1(438)、“寫(xiě)”日志數(shù)據(jù)幀2(448)、……、“寫(xiě)”日志數(shù)據(jù)幀k(458)。

接下來(lái)描述根據(jù)本發(fā)明實(shí)施例的固態(tài)硬盤(pán)日志生成方法。圖5是根據(jù)本發(fā)明的實(shí)施例的固態(tài)硬盤(pán)日志生成方法的流程圖。在處理寫(xiě)請(qǐng)求時(shí),需要記錄寫(xiě)請(qǐng)求中邏輯地址與物理地址的對(duì)應(yīng)關(guān)系(510),并相應(yīng)地更新FTL表。緩存所記錄的邏輯地址與物理地址的對(duì)應(yīng)關(guān)系,每一條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系,構(gòu)成一個(gè)“寫(xiě)”日志條目。一定數(shù)量“寫(xiě)”日志條目構(gòu)成一個(gè)“寫(xiě)”日志數(shù)據(jù)幀。當(dāng)緩存的多條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系能夠構(gòu)成一個(gè)“寫(xiě)”日志數(shù)據(jù)幀時(shí),利用緩存的多條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系生成“寫(xiě)”日志數(shù)據(jù)幀(520)。選擇FTL表的一部分生成FTL表數(shù)據(jù)幀(530)。所選擇是FTL表的一部分是尚未生成過(guò)FTL表數(shù)據(jù)幀的FTL表的部分。所生成的FTL表數(shù)據(jù)幀與“寫(xiě)”日志數(shù)據(jù)幀構(gòu)成了固態(tài)硬盤(pán)日志數(shù)據(jù)幀(例如,數(shù)據(jù)幀1(422),參見(jiàn)圖4)。在優(yōu)選實(shí)施例中,固態(tài)硬盤(pán)日志數(shù)據(jù)幀的大小對(duì)應(yīng)于固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小,從而可通過(guò)一次非易失存儲(chǔ)介質(zhì)的寫(xiě)操作將固態(tài)硬盤(pán)日志數(shù)據(jù)幀寫(xiě)入固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)(540)。

根據(jù)本發(fā)明的又一個(gè)實(shí)施例,每接收到預(yù)定數(shù)量的寫(xiě)請(qǐng)求,生成一個(gè)“寫(xiě)”日志數(shù)據(jù)幀,其中一個(gè)“寫(xiě)”日志數(shù)據(jù)幀中能夠容納該預(yù)定數(shù)量的寫(xiě)請(qǐng)求所對(duì)應(yīng)的邏輯地址與物理地址的映射關(guān)系。而每生成一個(gè)“寫(xiě)”日志數(shù)據(jù)幀,則選擇FTL表的部分生成一個(gè)或多個(gè)FTL表數(shù)據(jù)幀,使得所生成的“寫(xiě)”日志數(shù)據(jù)幀與FTL表數(shù)據(jù)幀構(gòu)成了固態(tài)硬盤(pán)日志數(shù)據(jù)幀。

根據(jù)本發(fā)明的依然又一個(gè)實(shí)施例,在處理寫(xiě)請(qǐng)求時(shí),緩存寫(xiě)請(qǐng)求對(duì)應(yīng)的邏輯地址與物理地址的對(duì)應(yīng)關(guān)系,每一條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系,構(gòu)成一個(gè)“寫(xiě)”日志條目。以及周期地利用所緩存的“寫(xiě)”日志條目生成“寫(xiě)”日志數(shù)據(jù)幀。以及每生成一個(gè)“寫(xiě)”日志數(shù)據(jù)幀,則選擇FTL表的部分生成一個(gè)或多個(gè)FTL表數(shù)據(jù)幀,使得所生成的“寫(xiě)”日志數(shù)據(jù)幀與FTL表數(shù)據(jù)幀構(gòu)成了固態(tài)硬盤(pán)日志數(shù)據(jù)幀。

根據(jù)本發(fā)明的依然又一個(gè)實(shí)施例,“寫(xiě)”日志數(shù)據(jù)幀與FTL表數(shù)據(jù)幀在物理上分離地存儲(chǔ)。“寫(xiě)”日志數(shù)據(jù)幀的大小對(duì)應(yīng)于固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小,F(xiàn)TL表數(shù)據(jù)幀的大小也對(duì)應(yīng)于固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小。

根據(jù)本發(fā)明的依然又一個(gè)實(shí)施例,選擇FTL表的部分生成一個(gè)或多個(gè)FTL表數(shù)據(jù)幀時(shí),按FTL表自身的內(nèi)存地址而選擇FTL表的部分。例如,當(dāng)?shù)谝淮芜x擇FTL的部分時(shí),選擇從地址0開(kāi)始的長(zhǎng)度為L(zhǎng)的FTL表的部分,以構(gòu)成一個(gè)或多個(gè)FTL表數(shù)據(jù)幀。而第二次選擇FTL表的部分時(shí),選擇從地址L開(kāi)始的長(zhǎng)度為L(zhǎng)的FTL表的部分,以構(gòu)成一個(gè)或多個(gè)FTL表數(shù)據(jù)幀。而第N次選擇FTL表的部分時(shí),選擇從地址(N-1)*L開(kāi)始的長(zhǎng)度為L(zhǎng)的FTL表的部分,以構(gòu)成一個(gè)或多個(gè)FTL表數(shù)據(jù)幀。而當(dāng)選擇FTL表的部分時(shí)若達(dá)到了FTL表的末尾,則繼續(xù)從FTL表的頭部選擇FTL表的部分。以此方式,在固態(tài)硬盤(pán)日志中能夠記錄完整的FTL表。例如,若FTL的整體長(zhǎng)度為n=N*L,則在第N+1次選擇FTL表的部分時(shí),選擇從地址0開(kāi)始長(zhǎng)度為 L的FTL表的部分。又例如,若FTL表的整體長(zhǎng)度為n=N*L+1,則在第N+1次選擇FTL表的部分時(shí),選擇從地址N*L開(kāi)始長(zhǎng)度為1的FTL表的部分以及從地址0開(kāi)始長(zhǎng)度為L(zhǎng)-1的FTL表的部分。依然有其他方式選擇FTL表的部分,使得在固態(tài)硬盤(pán)日志中能夠記錄完整的FTL表,以及還能夠記錄在記錄完整的FTL表期間所接收的全部寫(xiě)請(qǐng)求的“寫(xiě)”日志。

以此方式,每次向固態(tài)硬盤(pán)存儲(chǔ)一個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀。即使固態(tài)硬盤(pán)掉電,也僅需向固態(tài)硬盤(pán)寫(xiě)入一個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀。從而可在備用電源有限的工作時(shí)間內(nèi),完成FTL表的存儲(chǔ)。

所屬領(lǐng)域技術(shù)人員將意識(shí)到,某些情況下,固態(tài)硬盤(pán)日志中不包括完整的FTL表。例如,對(duì)于新的或者空白的固態(tài)硬盤(pán),3次選擇FTL表的部分而生成FTL表數(shù)據(jù)幀后發(fā)生掉電,此時(shí),固態(tài)硬盤(pán)日志中僅記錄了3個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀。通過(guò)在固態(tài)硬盤(pán)日志中標(biāo)記已使用的數(shù)據(jù)塊和/或未使用的數(shù)據(jù)塊,而識(shí)別出在固態(tài)硬盤(pán)日志中的有效數(shù)據(jù)幀,從而重建固態(tài)硬盤(pán)掉電時(shí)的FTL表。

圖6是根據(jù)本發(fā)明的又一實(shí)施例的固態(tài)硬盤(pán)日志生成方法的流程圖。根據(jù)圖6的實(shí)施例的方法可以由固態(tài)硬盤(pán)實(shí)施,也可以由訪問(wèn)固態(tài)硬盤(pán)的主機(jī)實(shí)施。

在接收到寫(xiě)請(qǐng)求時(shí)(600),需要記錄寫(xiě)請(qǐng)求中邏輯地址與物理地址的對(duì)應(yīng)關(guān)系(610),并相應(yīng)地更新FTL表(615)。緩存所記錄的邏輯地址與物理地址的對(duì)應(yīng)關(guān)系,每一條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系,構(gòu)成一個(gè)“寫(xiě)”日志條目。一定數(shù)量“寫(xiě)”日志條目構(gòu)成一個(gè)“寫(xiě)”日志數(shù)據(jù)幀。判斷緩存的多條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系能否構(gòu)成一個(gè)“寫(xiě)”日志數(shù)據(jù)幀(620),當(dāng)緩存的多條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系能夠構(gòu)成一個(gè)“寫(xiě)”日志數(shù)據(jù)幀時(shí),利用緩存的多條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系生成“寫(xiě)”日志數(shù)據(jù)幀。如果緩存的多條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系尚不夠填充一個(gè)“寫(xiě)”日志數(shù)據(jù)幀時(shí),則等待后續(xù)的寫(xiě)請(qǐng)求的到來(lái)。

當(dāng)緩存的多條邏輯地址與物理地址的對(duì)應(yīng)關(guān)系能夠構(gòu)成一個(gè)“寫(xiě)”日志數(shù)據(jù)幀時(shí),還選擇FTL表的一部分生成FTL表數(shù)據(jù)幀(630)。所選擇是FTL表的一部分是尚未生成過(guò)FTL表數(shù)據(jù)幀的FTL表的部分。所生成的FTL表數(shù)據(jù)幀與“寫(xiě)”日志數(shù)據(jù)幀構(gòu)成了固態(tài)硬盤(pán)日志數(shù)據(jù)幀(例如,數(shù)據(jù)幀1(422),參見(jiàn)圖4)。在優(yōu)選實(shí)施例中,固態(tài)硬盤(pán)日志數(shù)據(jù)幀的大小對(duì)應(yīng)于固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)的數(shù)據(jù)頁(yè)大小,從而可通過(guò)一次非易失存儲(chǔ)介質(zhì)的寫(xiě)操作將固態(tài)硬盤(pán)日志數(shù)據(jù)幀寫(xiě)入固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)(640)。

為了從固態(tài)硬盤(pán)中讀出固態(tài)硬盤(pán)日志的目的,每次向固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)寫(xiě)入固態(tài)硬盤(pán)日志的數(shù)據(jù)幀時(shí),還記錄固態(tài)硬盤(pán)日志數(shù)據(jù)幀在非易失存儲(chǔ)介質(zhì)上的在存儲(chǔ)位置(650)。在一個(gè)實(shí)施例中,固態(tài)硬盤(pán)日志的m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀組織為循環(huán)隊(duì)列,因而通過(guò)存儲(chǔ)最后一次向固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)寫(xiě)入固態(tài)硬盤(pán)日志的存儲(chǔ)位置,就能夠訪問(wèn)完整的固態(tài)硬盤(pán)日志。在另一個(gè)實(shí)施例中,在每個(gè)固態(tài)硬盤(pán)數(shù)據(jù)幀中提供單調(diào)變化的序號(hào),通過(guò)識(shí)別序號(hào)而獲知最后一次向固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)寫(xiě)入固態(tài)硬盤(pán)日志的存儲(chǔ)位置。

以此方式,每次向固態(tài)硬盤(pán)存儲(chǔ)一個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀。即使固態(tài)硬盤(pán)掉電,也僅需向固態(tài)硬盤(pán)寫(xiě)入一個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀。從而可在備用電源有限的工作時(shí)間內(nèi),完成固態(tài)硬盤(pán)日志數(shù)據(jù)幀的存儲(chǔ)。

圖7是根據(jù)本發(fā)明的實(shí)施例的設(shè)備啟動(dòng)方法的流程圖。根據(jù)圖7的實(shí)施例的方法可以由固態(tài)硬盤(pán)實(shí)施,也可以由訪問(wèn)固態(tài)硬盤(pán)的主機(jī)實(shí)施。在諸如固態(tài)硬盤(pán)的設(shè)備啟動(dòng)時(shí),從非易失存儲(chǔ)介質(zhì)中的預(yù)定位置獲取固態(tài)硬盤(pán)日志的存儲(chǔ)位置(710)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,非易失存儲(chǔ)介質(zhì)的預(yù)定位置記錄最后存儲(chǔ)的固態(tài)硬盤(pán)日志數(shù)據(jù)幀的存儲(chǔ)位置。該最后存儲(chǔ)位置之前的m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀中,記錄了完整 的FTL表以及相應(yīng)的“寫(xiě)”日志。因而依據(jù)該最后存儲(chǔ)位置可獲得固態(tài)硬盤(pán)日志的起始存儲(chǔ)位置與結(jié)束存儲(chǔ)位置。

依據(jù)固態(tài)硬盤(pán)日志的存儲(chǔ)位置,從非易失存儲(chǔ)介質(zhì)中讀取固態(tài)硬盤(pán)日志數(shù)據(jù)幀。在一個(gè)例子中,固態(tài)硬盤(pán)日志數(shù)據(jù)幀包括FTL表數(shù)據(jù)幀與“寫(xiě)”日志數(shù)據(jù)幀(720)。在另一個(gè)例子中,F(xiàn)TL表數(shù)據(jù)幀與“寫(xiě)”日志數(shù)據(jù)幀在非易失存儲(chǔ)介質(zhì)上相關(guān)聯(lián)的存儲(chǔ),若獲得了FTL數(shù)據(jù)幀,則能夠獲得“寫(xiě)”日志數(shù)據(jù)幀,反之亦然。

從非易失存儲(chǔ)介質(zhì)中讀取多個(gè)FTL表數(shù)據(jù)幀,這些多個(gè)FTL數(shù)據(jù)幀的每個(gè)包括FTL表的部分,而從這些多個(gè)FTL表數(shù)據(jù)幀中能夠重建出完整FTL表(730)。

而在與這些多個(gè)FTL表數(shù)據(jù)幀相對(duì)應(yīng)的多個(gè)“寫(xiě)”日志數(shù)據(jù)幀中,則完整記錄了生成這些多個(gè)FTL表數(shù)據(jù)幀期間固態(tài)硬盤(pán)處理的寫(xiě)請(qǐng)求。對(duì)寫(xiě)請(qǐng)求的處理意味著對(duì)FTL表的更新。因而在步驟(730)所重建的FTL表的基礎(chǔ)上,順序使用多個(gè)“寫(xiě)”日志數(shù)據(jù)幀中記錄的“寫(xiě)”日志數(shù)據(jù)幀條目來(lái)更新所重建的FTL表(740),則得到了最后的固態(tài)硬盤(pán)日志數(shù)據(jù)幀被寫(xiě)入固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)時(shí)的FTL表。接下來(lái)固態(tài)硬盤(pán)設(shè)備的啟動(dòng)完成(750),并可利用所更新的FTL表來(lái)響應(yīng)訪問(wèn)請(qǐng)求。

在根據(jù)本發(fā)明的一個(gè)實(shí)施例中,固態(tài)硬盤(pán)日志的m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀組織為循環(huán)隊(duì)列,通過(guò)獲取最后一次向固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)寫(xiě)入固態(tài)硬盤(pán)日志的存儲(chǔ)位置,在循環(huán)隊(duì)列中該存儲(chǔ)位置之前的固態(tài)硬盤(pán)日志數(shù)據(jù)幀中存儲(chǔ)了長(zhǎng)度為n的完整FTL表。在循環(huán)隊(duì)列中讀取預(yù)定數(shù)量的固態(tài)硬盤(pán)日志數(shù)據(jù)幀,以獲得完整的固態(tài)硬盤(pán)日志,并利用固態(tài)硬盤(pán)日志中的FTL表數(shù)據(jù)幀重建FTL表。

作為另一個(gè)例子,再次參看圖4,固態(tài)硬盤(pán)日志寫(xiě)指針450,指示固態(tài)硬盤(pán)日志410的最后寫(xiě)入位置為數(shù)據(jù)幀4。在固態(tài)硬盤(pán)日志410的m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀中,存儲(chǔ)了總計(jì)n個(gè)FTL表數(shù)據(jù)幀。則在固態(tài)硬盤(pán)日志數(shù)據(jù)幀5(未示出)、固態(tài)硬盤(pán)日志數(shù)據(jù)幀6(未示出)、固態(tài)硬盤(pán)日志數(shù)據(jù)幀7(未示出)、……、固態(tài)硬盤(pán)日志數(shù)據(jù)幀m、固態(tài)硬盤(pán)日志數(shù)據(jù)幀1、……、固態(tài)硬盤(pán)日志數(shù)據(jù)幀4中,存儲(chǔ)了完整的FTL表,并且按順序記錄存儲(chǔ)完整的FTL表期間發(fā)生的請(qǐng)求的“寫(xiě)”日志。從循環(huán)隊(duì)列中讀出記錄了完整的FTL表的m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀,從m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀中提取出3*m個(gè)FTL表數(shù)據(jù)幀,并重建出FTL表。而從m個(gè)固態(tài)硬盤(pán)日志數(shù)據(jù)幀中提取出m個(gè)“寫(xiě)”日志數(shù)據(jù)幀,按照m個(gè)“寫(xiě)”日志數(shù)據(jù)幀生成的順序,利用m個(gè)“寫(xiě)”日志數(shù)據(jù)幀中記錄的邏輯地址與物理地址對(duì)應(yīng)關(guān)系,順序地更新所重建的FTL表,從而得到最后的固態(tài)硬盤(pán)日志數(shù)據(jù)幀被寫(xiě)入固態(tài)硬盤(pán)的非易失存儲(chǔ)介質(zhì)時(shí)的FTL表。

上面已經(jīng)公開(kāi)了在存儲(chǔ)設(shè)備中日志生成方法以及利用所生成的日志啟動(dòng)存儲(chǔ)設(shè)備的過(guò)程。所屬領(lǐng)域技術(shù)人員還將意識(shí)到本發(fā)明中所公開(kāi)的方法或操作流程可由軟件、固件、硬件及其任何組合實(shí)現(xiàn)。實(shí)現(xiàn)本發(fā)明實(shí)施例的方法或操作流程的軟件、固件可由訪問(wèn)存儲(chǔ)設(shè)備的主機(jī)的CPU執(zhí)行,也可由集成于存儲(chǔ)設(shè)備的嵌入式處理器或控制器執(zhí)行。實(shí)現(xiàn)本發(fā)明實(shí)施例的方法或操作的軟件、固件可存儲(chǔ)于網(wǎng)絡(luò)服務(wù)器、訪問(wèn)存儲(chǔ)設(shè)備的主機(jī)和/或存儲(chǔ)設(shè)備。根據(jù)本發(fā)明實(shí)施例的方法或操作流程也可由FPGA和/或ASIC實(shí)現(xiàn)。本發(fā)明也提供了實(shí)現(xiàn)所公開(kāi)的方法或操作流程的電子系統(tǒng)和/或控制電路。

已經(jīng)為了示出和描述的目的而展現(xiàn)了對(duì)本發(fā)明的描述,并且不旨在以所公開(kāi)的形式窮盡或限制本發(fā)明。對(duì)所屬領(lǐng)域技術(shù)人員,許多調(diào)整和變化是顯而易見(jiàn)的。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
增城市| 大理市| 钟祥市| 小金县| 资阳市| 辽宁省| 静海县| 鹤岗市| 昭平县| 霍山县| 出国| 金湖县| 伊宁市| 姚安县| 海门市| 延吉市| 大安市| 武功县| 永川市| 冷水江市| 老河口市| 宝鸡市| 嵩明县| 盐源县| 平阴县| 宝兴县| 漳平市| 定陶县| 施甸县| 运城市| 阳曲县| 苍山县| 全南县| 泽普县| 贵定县| 临洮县| 根河市| 濮阳市| 保靖县| 布拖县| 襄城县|