1.一種固態(tài)硬盤啟動(dòng)方法,包括
獲取FTL(Flash Translation Layer,閃存轉(zhuǎn)換層)日志在固態(tài)硬盤上的存儲(chǔ)位置,其中FTL日志包括多個(gè)FTL日志數(shù)據(jù)幀,每個(gè)FTL日志數(shù)據(jù)幀記錄了FTL表的部分;
從所述存儲(chǔ)位置讀取FTL日志以及寫請(qǐng)求日志;其中寫請(qǐng)求日志包括多個(gè)寫請(qǐng)求日志數(shù)據(jù)幀,每個(gè)寫請(qǐng)求日志數(shù)據(jù)幀包括前一個(gè)寫請(qǐng)求日志數(shù)據(jù)幀生成后向固態(tài)硬盤發(fā)出的多個(gè)寫請(qǐng)求所對(duì)應(yīng)的邏輯地址與物理地址;
利用所述FTL日志以及所述寫請(qǐng)求日志重構(gòu)FTL表;以及
完成固態(tài)硬盤的啟動(dòng)。
2.根據(jù)權(quán)利要求1所述的方法,其中利用所述FTL日志以及所述寫請(qǐng)求日志重構(gòu)FTL表包括:
使用FTL日志構(gòu)建第一FTL表;
使用寫請(qǐng)求日志更新第一FTL表,以得到第二FTL表。
3.根據(jù)權(quán)利要求2所述的方法,其中
所述使用寫請(qǐng)求日志更新第一FTL表,包括順序使用所述寫請(qǐng)求日志的每個(gè)寫請(qǐng)求日志數(shù)據(jù)幀,更新所述第一FTL表。
4.根據(jù)權(quán)利要求1-3之一所述的方法,其中所述寫請(qǐng)求日志中記錄了所述FTL日志創(chuàng)建期間向所述固態(tài)硬盤發(fā)出的全部寫請(qǐng)求。
5.根據(jù)權(quán)利要求1-4之一所述的方法,其中所述FTL表中反映了所述固態(tài)硬盤的邏輯地址與物理地址的對(duì)應(yīng)關(guān)系。
6.根據(jù)權(quán)利要求1-5之一所述的方法,其中在所述固態(tài)硬盤上,F(xiàn)TL日志數(shù)據(jù)幀與寫請(qǐng)求日志數(shù)據(jù)幀相關(guān)聯(lián)地存儲(chǔ)。
7.根據(jù)權(quán)利要求1-6之一所述的方法,其中每個(gè)FTL日志數(shù)據(jù)幀按順序記錄了整個(gè)FTL表的部分。
8.根據(jù)權(quán)利要求1-7之一所述的方法,其中每個(gè)寫請(qǐng)求日志數(shù)據(jù)幀包括前一個(gè)寫請(qǐng)求日志數(shù)據(jù)幀生成后以及后一個(gè)寫請(qǐng)求日志數(shù)據(jù)幀生成前向固態(tài)硬盤發(fā)出的寫請(qǐng)求所對(duì)應(yīng)的邏輯地址與物理地址。
9.根據(jù)權(quán)利要求1-8之一所述的方法,其中所述FTL日志中記錄了整 個(gè)FTL表的信息。
10.根據(jù)權(quán)利要求1-9之一所述的方法,其中所述固態(tài)硬盤包括MLCNVM(Multi-Level Cell Non-Volatile Memory,多級(jí)單元非易失存儲(chǔ)器),以及從所述存儲(chǔ)位置讀取FTL日志以及寫請(qǐng)求日志時(shí),使用pSLC模式訪問所述NVM。
11.一種固態(tài)硬盤的日志生成方法,包括
基于向固態(tài)硬盤發(fā)出的寫請(qǐng)求,記錄該寫請(qǐng)求所對(duì)應(yīng)的用于固態(tài)硬盤的邏輯地址與物理地址;
使用多個(gè)所述寫請(qǐng)求所對(duì)應(yīng)的多個(gè)用于固態(tài)硬盤的邏輯地址與物理地址,生成寫請(qǐng)求日志數(shù)據(jù)幀;
獲取FTL表的部分,生成FTL日志數(shù)據(jù)幀;
在NVM(Non-Volatile Memory,非易失存儲(chǔ)器)上存儲(chǔ)所述寫請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀;以及
記錄在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址。
12.一種固態(tài)硬盤啟動(dòng)裝置,包括
日志定位模塊,用于獲取FTL(Flash Translation Layer,閃存轉(zhuǎn)換層)日志在固態(tài)硬盤上的存儲(chǔ)位置,其中FTL日志包括多個(gè)FTL日志數(shù)據(jù)幀,每個(gè)FTL日志數(shù)據(jù)幀記錄了FTL表的部分;
日志獲取模塊,從所述存儲(chǔ)位置讀取FTL日志以及寫請(qǐng)求日志;其中寫請(qǐng)求日志包括多個(gè)寫請(qǐng)求日志數(shù)據(jù)幀,每個(gè)寫請(qǐng)求日志數(shù)據(jù)幀包括前一個(gè)寫請(qǐng)求日志數(shù)據(jù)幀生成后向固態(tài)硬盤發(fā)出的多個(gè)寫請(qǐng)求所對(duì)應(yīng)的邏輯地址與物理地址;
FTL表重構(gòu)模塊,用于利用所述FTL日志以及所述寫請(qǐng)求日志重構(gòu)FTL表;以及
啟動(dòng)模塊,用于完成固態(tài)硬盤的啟動(dòng)。
13.一種固態(tài)硬盤的日志生成裝置,包括
寫日志記錄模塊,用于基于向固態(tài)硬盤發(fā)出的寫請(qǐng)求,記錄該寫請(qǐng)求所對(duì)應(yīng)的用于固態(tài)硬盤的邏輯地址與物理地址;
“寫”日志數(shù)據(jù)幀生成模塊,用于使用多個(gè)所述寫請(qǐng)求所對(duì)應(yīng)的多個(gè)用于固態(tài)硬盤的邏輯地址與物理地址,生成寫請(qǐng)求日志數(shù)據(jù)幀;
FTL日志數(shù)據(jù)幀生成模塊,用于獲取FTL表的部分,生成FTL日志數(shù)據(jù)幀;
日志存儲(chǔ)模塊,用于在NVM(Non-Volatile Memory,非易失存儲(chǔ)器)上存儲(chǔ)所述寫請(qǐng)求日志數(shù)據(jù)幀與所述FTL日志數(shù)據(jù)幀;以及
地址記錄模塊,用于記錄在NVM上存儲(chǔ)所述FTL日志數(shù)據(jù)幀的地址。