一种基于固态硬盘的写数据方法、系统、存储介质及设备技术方案

技术编号:38549075 阅读:14 留言:0更新日期:2023-08-22 20:56
本发明专利技术提供了一种基于固态硬盘的写数据方法、系统、存储介质及设备,方法包括:为DMA配置分别对应于源数据和总元数据的数据源地址和元数据源地址,源数据包括多个粒度数据,总元数据包括多个对应于粒度数据的元数据,并配置对应于粒度数据的数据目的地址以及对应于元数据的元数据目的地址;通过DMA基于数据源地址和多个数据目的地址将源数据从主机搬移至固态硬盘,形成多个间隔分布的粒度数据,并基于元数据源地址和多个元数据目的地址将总元数据从主机搬移至固态硬盘,形成多个间隔分布的元数据,以使粒度数据和元数据间隔排列,完成固态硬盘中指定存储区块的写数据请求。本发明专利技术能快速实现后续流程所需要的数据和元数据交织的格式。据交织的格式。据交织的格式。

【技术实现步骤摘要】
一种基于固态硬盘的写数据方法、系统、存储介质及设备


[0001]本专利技术涉及存储
,尤其涉及一种基于固态硬盘的写数据方法、系统、存储介质及设备。

技术介绍

[0002]主机与SSD(Solid State Disk,固态硬盘)之间由于信道噪声的存在,可能导致数据出错;另外,在SSD内部,控制器与闪存之间,数据也可能发生错误。为确保主机与闪存之间数据的完整性,NVME(NVM Express,非易失性内存主机控制器接口规范)协议提供了一个端到端的数据保护功能。除了逻辑块数据本身,NVME还允许每个逻辑块数据带个元数据(meta data),NVME协议没有明确对元数据的要求,但需要元数据承担辅助和保护数据的功能。
[0003]SSD在格式化后,扇区的粒度为512byte或者4K等。以扇区粒度为512byte为例,对于512+8的盘格式,每个512byte(字节)的用户数据都附带一个8byte的元数据。图1为根据现有技术提供的从主机向固态硬盘写数据的结构示意图。如图1所示,当host(主机)要写4096byte的数据到SSD中时,需要传输8个512byte及8个8byte的元数据,现有的处理方法是先把8个512byte的用户数据搬进来放到write buffer(写缓冲区)的前4096byte,然后再把8个512byte的用户数据搬进来放到4096byte的用户数据后边。
[0004]数据在write bufer的排布是8个512byte在一起,8个8byte的元数据在一起,而要送给DPU(Data Processing Subsystem,数据处理子系统)校验PI(Protection Information,保护信息)的时候又需要转换成512+8交织的格式(即每个512byte数据后面跟随一个8byte的元数据),这无疑增加了数据处理的复杂度。目前对于DPU校验所需的格式缺乏高效的处理方式。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于提出一种基于固态硬盘的写数据方法、系统、存储介质及设备,用以解决现有技术中从主机向固态硬盘写数据时,难以形成粒度数据与元数据交织的格式,导致数据处理复杂、低效的问题。
[0006]基于上述目的,本专利技术提供了一种基于固态硬盘的写数据方法,包括以下步骤:
[0007]为DMA配置分别对应于源数据和总元数据的数据源地址和元数据源地址,源数据包括多个粒度数据,总元数据包括多个对应于粒度数据的元数据,并配置对应于粒度数据的数据目的地址以及对应于元数据的元数据目的地址;
[0008]通过DMA基于数据源地址和多个数据目的地址将源数据从主机搬移至固态硬盘,形成多个间隔分布的粒度数据,并基于元数据源地址和多个元数据目的地址将总元数据从主机搬移至固态硬盘,形成多个间隔分布的元数据,以使粒度数据和元数据间隔排列;
[0009]基于间隔排列的粒度数据和元数据完成固态硬盘中指定存储区块的写数据请求。
[0010]在一些实施例中,方法还包括:
[0011]为DMA配置计数器;
[0012]响应于源数据搬移完成或总元数据搬移完成,将计数器的值加一;
[0013]直到计数器的值达到二,确定源数据和总元数据全部搬移完成。
[0014]在一些实施例中,方法还包括:
[0015]向DMA并行发送数据搬移请求和元数据搬移请求,以使DMA基于数据搬移请求进行源数据搬移,并基于元数据搬移请求进行总元数据搬移。
[0016]在一些实施例中,使粒度数据和元数据间隔排列包括:
[0017]使每个粒度数据携带对应的元数据。
[0018]在一些实施例中,方法还包括:
[0019]将间隔排列的粒度数据和元数据发送至数据处理子系统,以进行校验。
[0020]在一些实施例中,方法还包括:
[0021]响应于校验完成,由数据处理子系统向主机传送数据搬移完成标记,以使主机基于搬移完成标记确定完成写数据请求。
[0022]在一些实施例中,通过DMA基于数据源地址和多个数据目的地址将源数据从主机搬移至固态硬盘包括:
[0023]判断数据目的地址的个数是否大于预设阈值;
[0024]响应于数据目的地址的个数大于预设阈值,通过DMA每次按序将预设阈值数目的数据目的地址所对应的源数据从主机搬移至固态硬盘;
[0025]响应于单次搬移所需的数据目的地址的个数小于等于预设阈值,直接将单次搬移所需的数据目的地址所对应的源数据从主机搬移至固态硬盘。
[0026]本专利技术的另一方面,还提供了一种基于固态硬盘的写数据系统,包括:
[0027]地址配置模块,配置用于为DMA配置分别对应于源数据和总元数据的数据源地址和元数据源地址,源数据包括多个粒度数据,总元数据包括多个对应于粒度数据的元数据,并配置对应于粒度数据的数据目的地址以及对应于元数据的元数据目的地址;
[0028]搬移模块,配置用于通过DMA基于数据源地址和多个数据目的地址将源数据从主机搬移至固态硬盘,形成多个间隔分布的粒度数据,并基于元数据源地址和多个元数据目的地址将总元数据从主机搬移至固态硬盘,形成多个间隔分布的元数据,以使粒度数据和元数据间隔排列;以及
[0029]写完成模块,配置用于基于间隔排列的粒度数据和元数据完成固态硬盘中指定存储区块的写数据请求。
[0030]本专利技术的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
[0031]本专利技术的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
[0032]本专利技术至少具有以下有益技术效果:
[0033]本专利技术的基于固态硬盘的写数据方法,通过为DMA配置分别对应于源数据和总元数据的数据源地址和元数据源地址,源数据包括多个粒度数据,总元数据包括多个对应于粒度数据的元数据,并配置对应于粒度数据的数据目的地址以及对应于元数据的元数据目的地址,并通过DMA基于数据源地址和多个数据目的地址将源数据从主机搬移至固态硬盘,
形成多个间隔分布的粒度数据,并基于元数据源地址和多个元数据目的地址将总元数据从主机搬移至固态硬盘,形成多个间隔分布的元数据,以使粒度数据和元数据间隔排列,完成固态硬盘中指定存储区块的写数据请求,从而在向固态硬盘写数据时通过DMA搬移的方式,以及仅需要搬移两次,就能快速实现后续流程所需要的数据和元数据交织的格式,避免了数据转换流程,降低了数据处理的复杂度,提高了数据处理的速度。
附图说明
[0034]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0035本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于固态硬盘的写数据方法,其特征在于,包括以下步骤:为DMA配置分别对应于源数据和总元数据的数据源地址和元数据源地址,所述源数据包括多个粒度数据,所述总元数据包括多个对应于所述粒度数据的元数据,并配置对应于所述粒度数据的数据目的地址以及对应于所述元数据的元数据目的地址;通过所述DMA基于所述数据源地址和多个所述数据目的地址将所述源数据从主机搬移至固态硬盘,形成多个间隔分布的所述粒度数据,并基于所述元数据源地址和多个所述元数据目的地址将所述总元数据从所述主机搬移至所述固态硬盘,形成多个间隔分布的所述元数据,以使所述粒度数据和所述元数据间隔排列;基于间隔排列的所述粒度数据和所述元数据完成所述固态硬盘中指定存储区块的写数据请求。2.根据权利要求1所述的方法,其特征在于,还包括:为所述DMA配置计数器;响应于所述源数据搬移完成或所述总元数据搬移完成,将所述计数器的值加一;直到所述计数器的值达到二,确定所述源数据和所述总元数据全部搬移完成。3.根据权利要求1所述的方法,其特征在于,还包括:向所述DMA并行发送数据搬移请求和元数据搬移请求,以使所述DMA基于所述数据搬移请求进行所述源数据搬移,并基于所述元数据搬移请求进行所述总元数据搬移。4.根据权利要求1所述的方法,其特征在于,使所述粒度数据和所述元数据间隔排列包括:使每个所述粒度数据携带对应的所述元数据。5.根据权利要求1所述的方法,其特征在于,还包括:将所述间隔排列的所述粒度数据和所述元数据发送至数据处理子系统,以进行校验。6.根据权利要求5所述的方法,其特征在于,还包括:响应于校验完成,由所述数据处理子系统向所述主机传送数据搬移完成标记,以使所述主机基于所述搬移完成标记确定完成所述写数据请求。7.根据权利要求1所述的方...

【专利技术属性】
技术研发人员:呼元伟张晨杨翔
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1