【技术实现步骤摘要】
固态硬盘的数据写入方法、其装置及固态硬盘
[0001]本申请实施例涉及计算机领域,具体而言,涉及一种固态硬盘的数据写入方法、其装置、计算机可读存储介质及固态硬盘。
技术介绍
[0002]固态硬盘(Solid State Disk或Solid State Drive,简称SSD)的写入数据流程中需要两次修改映射表(L2P表),第一次是把数据从主机(HOST)搬到固态硬盘中动态随机存取存储器(Dynamic Random Access Memory,简称DRAM)的缓存区(Buffer)中的时候,数据管理(Data Management,简称DM)模块需要把L2P表指向数据所在的Buffer地址,第二次是把数据从Buffer中写到闪存(NAND Flash)后,数据写处理(Write Management,简称WM)模块需要把L2P表指向NAND地址。
[0003]相关技术中是DM模块每处理一笔数据,会生成一个缓存项(cache entry),用来记录buffer地址和逻辑区块地址(Logical Block Address,简称LBA),并更新到L2P表。等处理完一个缓存控制模块(Cache Control Block,简称CCB)的数据量后,发送给WM模块进行NAND Flash的数据写入以及再次改表的操作,WM通过遍历CCB中的每一个cache entry然后进行改表操作。具体地,上述改表操作中每写入一个cache entry,均需要循环一遍CCB中的每一个cache entry,并且每次都需要从DRAM中 ...
【技术保护点】
【技术特征摘要】
1.一种固态硬盘的数据写入方法,其特征在于,包括:获取存储至目标缓存模块中的多个写入数据的逻辑区块地址,所述目标缓存模块位于所述固态硬盘的缓存区中;将所述缓存区中的所述多个写入数据存储至所述固态硬盘的固态存储单元中;判断所述多个写入数据的逻辑区块地址是否连续;在判断结果指示所述多个写入数据的逻辑区块地址连续的情况下,获取所述多个写入数据在固态存储单元中的物理区块地址;根据所述多个写入数据的逻辑区块地址和所述多个写入数据在固态存储单元中的物理区块地址,生成目标映射表,所述目标映射表用于将所述多个写入数据的逻辑区块地址映射至所述固态存储单元中的物理区块地址。2.根据权利要求1所述的方法,其特征在于,所述获取存储至目标缓存模块中的多个写入数据的逻辑区块地址,所述目标缓存模块位于所述固态硬盘的缓存区中,包括:从主机中获取目标命令携带的数据包以及所述数据包中每个数据的逻辑区块地址;将所述数据包以及所述数据包中多个数据的逻辑区块地址存储至所述缓存区中的至少一个缓存模块中,所述至少一个缓存模块包括所述目标缓存模块;获取存储至所述目标缓存模块中的多个数据的逻辑区块地址。3.根据权利要求2所述的方法,其特征在于,还包括:将所述数据包中的多个数据依次进行拆分,得到多个拆包数据;按照所述多个拆包数据的拆分顺序,判断目标拆包数据的逻辑区块地址与前一个拆包数据的逻辑区块地址是否连续,得到所述判断结果;根据所述判断结果,生成所述目标缓存模块的目标标记参数,其中,所述目标标记参数用于指示所述目标拆包数据的逻辑区块地址与所述前一个拆包数据的逻辑区块地址是否连续。4.根据权利要求3所述的方法,其特征在于,所述按照所述多个拆包数据的拆分顺序,判断目标拆包数据的逻辑区块地址与前一个拆包数据的逻辑区块地址是否连续,得到所述判断结果,包括:按照所述多个拆包数据的拆分顺序,判断第N个拆包数据的逻辑区块地址与第N
‑
1个拆包数据的逻辑区块地址是否连续,得到所述判断结果。5.根据权利要求4所述的方法,其特征在于,所述根据所述判断结果,生成所述目标缓存模块的目标标记参数,包括:根据所述判断结果,将所述目标缓存模块中的在先标记参数更新为所述目标标记参数,其中,所述在先标记参数用于表示所述第N
‑
1个拆包数据的逻辑区块地址与第N
‑
2个拆包数据的逻辑区块地址是否连续。6.根据权利要求5所述的方法,其特征在于,所述根据所述判断结果,将所述目标缓存模块中的在先标记参数更新为所述目标标记参数,包括:在得到第一判断结果的情况下,根据所述第一判断结果,生成第一标记参数,并将所述在先标记参数更新为所述第一标记参数,其中,所述第一判断结果为在所述第N个拆包数据的逻辑区块地址与第N
‑
1个拆包数据的逻辑区块地址连续的情况下得到的判断结果;在得到第二判断结果的情况下,根据所述第二判断结果,生成第二标记参数,并将所述
在先标记参数更新为所述第二标记参数,其中,所述第二判断结果为在所述第N个拆包数据的逻辑区块地址与第N
‑
1个拆包数据的逻辑区块地址不连续的情况下得到的判断结果。7.根据权利要求3所述的方法,其特征在于,所述将所述数据包中的多个数据依次进行拆分,得到所述多个拆包数据,包括:将所述数据包中的多个数据依次进行拆分,得到具有相同大小的所述多个拆包数据。8.根据权利要求3所述的方法,其特征在于,所述将所述数据包以及所述数据包中多个数据的逻辑区块地址的存储至所述缓存区中的至少一个缓存模块中,包括:按照所述多个拆包数据的拆分顺序,将所述多个拆包数据中满足预设数量的拆包数据以及所述满足预设数量的拆包数据的逻辑区块地址依次存储至所述目标缓存模块中,得到所述多个写入数据。9.根据权利要求8所述的方法,其特征在于,所述按照所述多个拆包数据的拆分顺序,将所述多个拆包数据中满足预设数量的拆包数据以及所述满足预设数量的拆包数据的逻辑区块地址依次存储至所述目标缓存模块中,得到所述多个写入数据,包括:将所述目标拆包数据以及所述目标拆包数据的逻辑区块地址存储至所述目标缓存模块中;判断所述目标缓存模块中当前存储的拆包数据的数量是否满足所述预设数量;在所述目标缓存模块中当前存储的拆包数据的数量未满足所述预设数量的情况下,按照所述多个拆包数据的拆分顺序,将所述目标拆包数据的下一个拆包数据以及所述下一个拆包数据的逻辑区块地址存储至所述目标缓存模块中;在所述目标缓存模块中当前存储的拆包数据的数量满足所述预设数量的情况下,停止向所述目标缓存模块中的存储操作,得到存储有所述多个写入数据的所述目标缓存模块。10.根据权利要求8所述的方法,其特征在于,所述将所述数据包以及所述数据包中多个数据的逻辑区块地址的存储至所述缓存区中的至少一个缓存模块中,还包括:根据所述目标缓存模块的存储容量和每个所述拆包数据的大小,确定所述预设数量。11.根据权利要求8所述的方法,其特征在于,所述按照所述多个拆包数据的拆分顺序,将所述多个拆包数据中满足预设数量的目标写入数据以及所述目标写入数据的逻辑区块地址依次存储至所述目标缓存模块中,得到所述多个写入数据,包括:...
【专利技术属性】
技术研发人员:范瑞春,殷军博,秦文政,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。