基于固态硬盘存储系统的数据处理方法、装置以及系统制造方法及图纸

技术编号:11134624 阅读:113 留言:0更新日期:2015-03-12 10:14
本发明专利技术实施例公开了一种基于固态硬盘存储系统的数据处理方法,包括:固态硬盘获取待处理的数据,将待处理的数据存入完成队列;更新第一完成队列状态表,使得第一完成队列状态表所存储的内容指示:完成队列存储有待处理的数据,第一完成队列状态表所存储的内容包括:每一个固态硬盘对应的完成队列中是否存储有待处理的数据。通过该数据处理方法,处理器通过完成队列状态表可以准确访问存储有待处理的数据的完成队列,减少了处理器对完成队列的轮询过程中造成的系统损耗。

【技术实现步骤摘要】

本专利技术涉及计算机存储
,尤其涉及基于固态硬盘存储系统的数据处理方法、装置以及系统
技术介绍
现有的固态硬盘(Solid State Drive,简称SSD)主要包括两个部分:存储颗粒,用于存储数据;固态硬盘控制器,用于管理存储在存储颗粒中的数据,并与处理器等其他设备通信。如图1所示,固态硬盘存储系统包括了处理器、固态硬盘、提交队列(Submission Queue,简称SQ)和完成队列(Comp-letion Queue,简称CQ)。其中,SQ用于存储固态硬盘待处理的读写操作请求,CQ用于存储固态硬盘根据读写操作请求完成的、处理器待处理的数据。处理器对固态硬盘发起读写操作请求的过程如下:1、处理器发出读写操作请求至SQ;2、处理器通知固态硬盘控制器SQ内有待处理的读写操作请求;3、固态硬盘控制器从SQ中获取待处理的读写操作请求;4、固态硬盘执行该读写操作请求后,获得对应的待处理的数据,并将该待处理的数据写入CQ中;5、固态硬盘控制器通知处理器CQ内有待处理的数据;6、处理器从CQ中获得待处理的数据,并完成数据处理。步骤4中固态硬盘控制器在将待处理的数据写入CQ后,可以在步骤5中对处理器发出中断信号,使得处理器中断当前任务来执行步骤6,也可以不对处理器发出中断信号,则处理器需要定时对CQ进行询问,以获取CQ中待处理的数据,而如果在步骤5采用中断信号,由于固态硬盘处理系统中读写操作请求的频率较高,因此中断信号的发生频率也较高,导致处理器的中断开销也随之提升。现有固态硬盘存储系统中的每个固态硬盘一般有一个CQ对应一个处理器,当固态硬盘存储系统中包括多个固态硬盘的情况下,则一个处理器会对应多个CQ,如果各个固态硬盘的固态硬盘控制器不采用中断信号通知处理器访问CQ,则处理器需要定时轮询多个CQ,以获得各个固态硬盘处理器发来的待处理的数据,该CQ的轮询过程将导致固态硬盘存储系统的较大开销。
技术实现思路
针对上述现有技术而提出本专利技术,利用本专利技术可以解决现有技术方案中处理器轮询CQ造成的固态硬盘存储系统开销过大的问题。本专利技术实施例的第一方面提供了一种基于固态硬盘存储系统的数据处理方法,其特征在于,所述固态硬盘存储系统包括至少两个固态硬盘,所述数据处理方法包括:固态硬盘获取待处理的数据,将所述待处理的数据存入完成队列;所述固态硬盘更新第一完成队列状态表,使得所述第一完成队列状态表所存储的内容指示:所述完成队列存储有所述待处理的数据,所述第一完成队列状态表所存储的内容包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处理的数据。结合第一方面,在第一方面的第一种实现方式中,所述更新第一完成队列状态表具体包括如下操作S1至S4:S1:将所述第一完成队列状态表所存储的第一内容,存入第二完成队列状态表;S2:将所述第二完成队列状态表所存储的内容,存入第三完成队列状态表,并更新所述第三完成队列状态表所存储的内容,使得所述第三完成队列状态表所存储的内容指示:所述完成队列存储有所述待处理的数据;S3:判断所述第一完成队列状态表所存储的第二内容与所述第二完成队列状态表所存储的内容是否相同;S4:如果相同,则将所述第三完成队列状态表所存储的内容存入所述第一完成队列状态表;如果不相同,则再次执行所述操作S1至S3,直至所述第一完成队列状态表所存储的第二内容与所述第二完成队列状态表所存储的内容相同。结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述第一内容包括所述第一完成队列状态表所存储的所有内容,或所述第一完成队列状态表所存储的与所述完成队列相关的内容。结合第一方面的第一种实现方式和第二种实现方式,在第一方面的第三种实现方式中,所述操作S3和S4具体通过原子操作指令Atomic_cas完成,所述原子操作指令Atomic_cas包括参数:所述第一完成队列状态表的地址,所述第二完成队列状态表所存储的内容,和所述第三完成队列状态表所存储的内容。结合第一方面,在第一方面的第四种实现方式中,所述更新第一完成队列状态表具体包括:将所述第一完成队列状态表所存储的内容,存入第四完成队列状态表,将所述第一完成队列状态表加锁;更新所述第四完成队列状态表,使得所述第四完成队列状态表所存储的内容指示:所述完成队列存储有所述待处理的数据;将所述第四完成队列状态表所存储的内容存入所述第一完成队列状态表,将所述第一完成队列状态表解锁。本专利技术实施例的第二方面提供了一种固态硬盘,其特征在于,所述固态硬盘用于固态硬盘存储系统,所述固态硬盘存储系统包括至少两个所述固态硬盘,所述固态硬盘包括:存入单元,用于获取待处理的数据,将所述待处理的数据存入完成队列;更新单元,用于更新第一完成队列状态表,使得所述第一完成队列状态表所存储的内容指示:所述完成队列存储有所述待处理的数据,所述第一完成队列状态表所存储的内容包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处理的数据。结合第二方面,在第二方面的第一种实现方式中,所述更新单元具体用于如下操作S1至S4:S1:将所述第一完成队列状态表所存储的第一内容,存入第二完成队列状态表;S2:将所述第二完成队列状态表所存储的内容,存入第三完成队列状态表,并更新所述第三完成队列状态表所存储的内容,使得所述第三完成队列状态表所存储的内容指示:所述完成队列存储有所述待处理的数据;S3:判断所述第一完成队列状态表所存储的第二内容与所述第二完成队列状态表所存储的内容是否相同;S4:如果相同,则将所述第三完成队列状态表所存储的内容存入所述第一完成队列状态表;如果不相同,则再次执行所述操作S1至S3,直至所述第一完成队列状态表所存储的第二内容与所述第二完成队列状态表所存储的内容相同。结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述第一内容包括所述第一完成队列状态表所存储的所有内容,或所述第一完成队列状态表所存储的与所述完成队列相关的内容。结合第二方面的第一种实现方式和第二种实现方式,在第二方面的第三种实现方式中,所述操作S3和S4具体通过原子操作指令Atomic_cas完成,所述原子操作指令Atomic_cas包括参数:所述第一完成队列状态表的地址,所述第二完成队列状态表所存储的内容,和所述第三完成队列状态本文档来自技高网
...

【技术保护点】
一种基于固态硬盘存储系统的数据处理方法,其特征在于,所述固态硬盘存储系统包括至少两个固态硬盘,所述数据处理方法包括:获取待处理的数据,将所述待处理的数据存入完成队列;更新第一完成队列状态表,使得所述第一完成队列状态表所存储的内容指示:所述完成队列存储有所述待处理的数据,所述第一完成队列状态表所存储的内容包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处理的数据。

【技术特征摘要】
1.一种基于固态硬盘存储系统的数据处理方法,其特征在于,所述固
态硬盘存储系统包括至少两个固态硬盘,所述数据处理方法包括:
获取待处理的数据,将所述待处理的数据存入完成队列;
更新第一完成队列状态表,使得所述第一完成队列状态表所存储的内容
指示:所述完成队列存储有所述待处理的数据,所述第一完成队列状态表所
存储的内容包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队
列中是否存储有待处理的数据。
2.如权利要求1所述的数据处理方法,其特征在于,所述更新第一完成
队列状态表具体包括如下操作S1至S4:
S1:将所述第一完成队列状态表所存储的第一内容,存入第二完成队列
状态表;
S2:将所述第二完成队列状态表所存储的内容,存入第三完成队列状态
表,并更新所述第三完成队列状态表所存储的内容,使得所述第三完成队列
状态表所存储的内容指示:所述完成队列存储有所述待处理的数据;
S3:判断所述第一完成队列状态表所存储的第二内容与所述第二完成队
列状态表所存储的内容是否相同;
S4:如果相同,则将所述第三完成队列状态表所存储的内容存入所述第
一完成队列状态表;如果不相同,则再次执行所述操作S1至S3,直至所述第
一完成队列状态表所存储的第二内容与所述第二完成队列状态表所存储的
内容相同。
3.如权利要求2所述的数据处理方法,其特征在于,所述第一内容包括
所述第一完成队列状态表所存储的所有内容,或所述第一完成队列状态表所
存储的与所述完成队列相关的内容。
4.如权利要求2或3所述的数据处理方法,其特征在于,所述操作S3和
S4具体通过原子操作指令Atomic_cas完成,所述原子操作指令Atomic_cas包
括参数:所述第一完成队列状态表的地址,所述第二完成队列状态表所存储
的内容,和所述第三完成队列状态表所存储的内容。
5.如权利要求1所述的数据处理方法,其特征在于,所述更新第一完成
队列状态表具体包括:
将所述第一完成队列状态表所存储的内容,存入第四完成队列状态表,
将所述第一完成队列状态表加锁;
更新所述第四完成队列状态表,使得所述第四完成队列状态表所存储的
内容指示:所述完成队列存储有所述待处理的数据;
将所述第四完成队列状态表所存储的内容存入所述第一完成队列状态
表,将所述第一完成队列状态表解锁。
6.一种固态硬盘,其特征在于,所述固态硬盘用于固态硬盘存储系统,
所述固态硬盘存储系统包括至少两个所述固态硬盘,所述固态硬盘包括:
存入单元,用于获取待处理的数据,将所述待处理的数据存入完成队列;
更新单元,用于更新第一完成队列状态表,使得所述第一完成队列状态
表所存储的内容指示:所述完成队列存储有所述待处理的数据,所述第一完
成队列状态表所存储的内容包括:所述至少两个固态硬盘中的每一个固态硬
盘对应的完成队列中是否存储有待处理的数据。
7.如权利要求6所述的固态硬盘,其特征在于,所述更新单元具体用于
如下操作S1至S4:
S1:将所述第一完成队列状态表所存储的第一内容,存入第二完成队列
状态表;
S2:将所述第二完成队列状态表所存储的内容,存入第三完成队列状态
表,并更新所述第三完成队列状态表所存储的内容,使得所述第三完成队列
状态表所存储的内容指示:所述完成队列存储有所述待处理的数据;
S3:判断所述第一完成队列状态表所存储的第二内容与所述第二完成队
列状态表所存储的内容是否相同;
S4:如果相同,则将所述第三完成队列状态表所存储的内容存入所述第
一完成队列状态表;如果不相同,则再次执行所述操作S1至S3,直至所述第
一完成队列状态表所存储的第二内容与所述第二完成队列状态表所存储的
内容相同。
8.如权利要求7所述的固态硬盘,其特征在于,所述第一内容包括所述
第一完成队列状态表所存储的所有内容,或所述第一完成队列状态表所存储
的与所述完成队列相关的内容。
9.如权利要求7或8所述的固态硬盘,其特征在于,所述操作S3和S4具
体通过原子操作指令Atomic_cas完成,所述原子操作指令Atomic_cas包括参
数:所述第一完成队列状态表的地址,所述第二完成队列状态表所存储的内
容,和所述第三完成队列状态表所存储的内容。
10.如权利要求6所述的固态硬盘,其特征在于,所述更新单元具体用
于:
将所述第一完成队列状态表所存储的内容,存入第四完成队列状态表,
将所述第一完成队列状...

【专利技术属性】
技术研发人员:黄岩
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1