【技术实现步骤摘要】
快速建立链表缩短固态硬盘上电时间的方法及系统
[0001]本申请涉及固态硬盘
,具体是涉及快速建立链表缩短固态硬盘上电时间的方法及系统
。
技术介绍
[0002]SSD
是由若干个
NAND Flash
闪存阵列组成的存储设备
。
当
SSD
发生异常掉电时,固件会立刻进行上电恢复流程恢复
SSD
信息以及映射表,紧接着设置
SSD
状态,使
SSD
能够快速响应主机的读写操作
。
上电恢复流程的目的为了恢复掉电前
SSD
的状态以及映射表,因此主流的上电恢复流程都包括:
1.
建立有效超级块时间戳链表
。2.
依照链表信息恢复映射表
。
[0003]上电恢复流程的第一步通常是需要逐个读取的方式将各个有效超级块按照时间戳的大小排成一张单向链表
。
单向链表的建立一般有两个步骤1:扫描2:排序
[0004]1.
传统扫描方式:
[0005]以
Hynix V6 Flash
为例:有
722
个超级块,需要依次读取每个超级块的
Page0
来确定当前超级块是否为有效超级块
(
包含用户数据
)
如果是有效超级块,在此阶段取得超级块写入数据时的时间戳
。
如图1所示:
[0006]2.< ...
【技术保护点】
【技术特征摘要】
1.
快速建立链表缩短固态硬盘上电时间的方法,其特征在于,包括如下步骤:当
SSD
重新上电时,获取
SSD
异常掉电工况;;当
SSD
异常掉电时,倒序扫描排序链表并获取链表所有超级块的时间戳;当链表为空时,将有效超级块作为第一节点插入链表并更新链表的中间节点;当链表不为空时,比对待插入的有效超级块的时间戳和链表的中间节点时间戳,获取第一比对工况;根据获取的第一比对工况,控制执行不同的待插入有效超级块插入链表的插入策略并获取链表中间节点的偏移工况;根据获取的链表中间节点的偏移工况,控制执行链表中间节点的更新操作
。2.
如权利要求1所述的快速建立链表缩短固态硬盘上电时间的方法,其特征在于,根据根据获取的第一比对工况,控制执行不同的待插入有效超级块插入链表的插入策略并获取链表中间节点的偏移工况步骤,具体包括以下步骤:当待插入的有效超级块的时间戳大于链表中间节点时,将待插入的有效超级块从链表中间节点处开始插入排序,并记录链表中间节点偏移为右;当待插入的有效超级块的时间戳小于链表中间节点时,将待插入的有效超级块从链表头开始插入排序,并记录链表中间节点偏移向左
。3.
如权利要求1所述的快速建立链表缩短固态硬盘上电时间的方法,其特征在于,所述根据获取的链表中间节点的偏移工况,控制执行链表中间节点的更新操作步骤,具体包括以下步骤:获取链表节点数量;根据获取的链表节点数量以及链表中间节点的偏移工况,控制执行不同的链表中间节点的更新策略
。4.
如权利要求3所述的快速建立链表缩短固态硬盘上电时间的方法,其特征在于,所述根据获取的链表节点数量以及链表中间节点的偏移工况,控制执行不同的链表中间节点的更新策略步骤,具体包括以下步骤:当链表节点数量为1时,将链表中间节点指向该节点并将该节点的左右权重值设为0;当链表节点数量不为1时,根据获取的链表中间节点偏移工况,控制执行不同的链表中间节点的更新策略
。5.
如权利要求4所述的快速建立链表缩短固态硬盘上电时间的方法,其特征在于,所述当链表节点数量不为1时,根据获取的链表中间节点偏移工况,控制执行不同的链表中间节点的更新策略步骤,具体包括以下步骤:当链表中间节点偏移向左或右时,将链表中间节点的右权重减1或增1,比对链表中间节点的左权重和右权重,获取第二比对工况;根据获取的第二比对工况,控制执行不同的链表中间节点的更新策略
。6.
如权利要求5所述的快速建立链表缩短固态硬盘上电时间的方法,其特征在于,所述根据获取的第二比对工况,控制执行不同的链表中间节点的更新策略步骤,具体包括以下步骤:当链表中间节点偏移向左,左权重增一后,链表中间节点的左权重大于右权重时,将链表中间节点左移一个节点,...
【专利技术属性】
技术研发人员:左仁程,弗兰克,
申请(专利权)人:至誉科技武汉有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。