【技术实现步骤摘要】
本专利技术涉及计算机存储
,尤其涉及基于固态硬盘存储系统的数据处理方法、装置以及系统。
技术介绍
现有的固态硬盘(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采用中断信号,由于固态硬盘处理系统中读写操作请求的频 ...
【技术保护点】
一种基于固态硬盘存储系统的数据处理方法,其特征在于,所述固态硬盘存储系统包括至少两个固态硬盘,所述数据处理方法包括:获取待处理的数据,将所述待处理的数据存入完成队列;更新第一完成队列状态表,使得所述第一完成队列状态表所存储的内容指示:所述完成队列存储有所述待处理的数据,所述第一完成队列状态表所存储的内容包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处理的数据。
【技术特征摘要】
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所述的固态硬盘,其特征在于,所述更新单元具体用
于:
将所述第一完成队列状态表所存储的内容,存入第四完成队列状态表,
将所述第一完成队列状...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。