1.一种固态硬盘启动方法,包括
获取FTL(Flash Translation Layer,闪存转换层)日志在固态硬盘上的存储位置,其中FTL日志包括多个FTL日志数据帧,每个FTL日志数据帧记录了FTL表的部分;
从所述存储位置读取FTL日志以及写请求日志;其中写请求日志包括多个写请求日志数据帧,每个写请求日志数据帧包括前一个写请求日志数据帧生成后向固态硬盘发出的多个写请求所对应的逻辑地址与物理地址;
利用所述FTL日志以及所述写请求日志重构FTL表;以及
完成固态硬盘的启动。
2.根据权利要求1所述的方法,其中利用所述FTL日志以及所述写请求日志重构FTL表包括:
使用FTL日志构建第一FTL表;
使用写请求日志更新第一FTL表,以得到第二FTL表。
3.根据权利要求2所述的方法,其中
所述使用写请求日志更新第一FTL表,包括顺序使用所述写请求日志的每个写请求日志数据帧,更新所述第一FTL表。
4.根据权利要求1-3之一所述的方法,其中所述写请求日志中记录了所述FTL日志创建期间向所述固态硬盘发出的全部写请求。
5.根据权利要求1-4之一所述的方法,其中所述FTL表中反映了所述固态硬盘的逻辑地址与物理地址的对应关系。
6.根据权利要求1-5之一所述的方法,其中在所述固态硬盘上,FTL日志数据帧与写请求日志数据帧相关联地存储。
7.根据权利要求1-6之一所述的方法,其中每个FTL日志数据帧按顺序记录了整个FTL表的部分。
8.根据权利要求1-7之一所述的方法,其中每个写请求日志数据帧包括前一个写请求日志数据帧生成后以及后一个写请求日志数据帧生成前向固态硬盘发出的写请求所对应的逻辑地址与物理地址。
9.根据权利要求1-8之一所述的方法,其中所述FTL日志中记录了整 个FTL表的信息。
10.根据权利要求1-9之一所述的方法,其中所述固态硬盘包括MLCNVM(Multi-Level Cell Non-Volatile Memory,多级单元非易失存储器),以及从所述存储位置读取FTL日志以及写请求日志时,使用pSLC模式访问所述NVM。
11.一种固态硬盘的日志生成方法,包括
基于向固态硬盘发出的写请求,记录该写请求所对应的用于固态硬盘的逻辑地址与物理地址;
使用多个所述写请求所对应的多个用于固态硬盘的逻辑地址与物理地址,生成写请求日志数据帧;
获取FTL表的部分,生成FTL日志数据帧;
在NVM(Non-Volatile Memory,非易失存储器)上存储所述写请求日志数据帧与所述FTL日志数据帧;以及
记录在NVM上存储所述FTL日志数据帧的地址。
12.一种固态硬盘启动装置,包括
日志定位模块,用于获取FTL(Flash Translation Layer,闪存转换层)日志在固态硬盘上的存储位置,其中FTL日志包括多个FTL日志数据帧,每个FTL日志数据帧记录了FTL表的部分;
日志获取模块,从所述存储位置读取FTL日志以及写请求日志;其中写请求日志包括多个写请求日志数据帧,每个写请求日志数据帧包括前一个写请求日志数据帧生成后向固态硬盘发出的多个写请求所对应的逻辑地址与物理地址;
FTL表重构模块,用于利用所述FTL日志以及所述写请求日志重构FTL表;以及
启动模块,用于完成固态硬盘的启动。
13.一种固态硬盘的日志生成装置,包括
写日志记录模块,用于基于向固态硬盘发出的写请求,记录该写请求所对应的用于固态硬盘的逻辑地址与物理地址;
“写”日志数据帧生成模块,用于使用多个所述写请求所对应的多个用于固态硬盘的逻辑地址与物理地址,生成写请求日志数据帧;
FTL日志数据帧生成模块,用于获取FTL表的部分,生成FTL日志数据帧;
日志存储模块,用于在NVM(Non-Volatile Memory,非易失存储器)上存储所述写请求日志数据帧与所述FTL日志数据帧;以及
地址记录模块,用于记录在NVM上存储所述FTL日志数据帧的地址。