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

文档序号:6638493阅读:284来源:国知局
基于固态硬盘存储系统的数据处理方法、装置以及系统的制作方法
【专利摘要】本发明实施例公开了一种基于固态硬盘存储系统的数据处理方法,包括:固态硬盘获取待处理的数据,将待处理的数据存入完成队列;更新第一完成队列状态表,使得第一完成队列状态表所存储的内容指示:完成队列存储有待处理的数据,第一完成队列状态表所存储的内容包括:每一个固态硬盘对应的完成队列中是否存储有待处理的数据。通过该数据处理方法,处理器通过完成队列状态表可以准确访问存储有待处理的数据的完成队列,减少了处理器对完成队列的轮询过程中造成的系统损耗。
【专利说明】基于固态硬盘存储系统的数据处理方法、装置以及系统

【技术领域】
[0001] 本发明涉及计算机存储【技术领域】,尤其涉及基于固态硬盘存储系统的数据处理方 法、装置以及系统。

【背景技术】
[0002] 现有的固态硬盘(Solid State Drive,简称SSD)主要包括两个部分:存储颗粒, 用于存储数据;固态硬盘控制器,用于管理存储在存储颗粒中的数据,并与处理器等其他设 备通信。如图1所示,固态硬盘存储系统包括了处理器、固态硬盘、提交队列(Submission Queue,简称SQ)和完成队列(Comp-letion Queue,简称CQ)。其中,SQ用于存储固态硬盘 待处理的读写操作请求,CQ用于存储固态硬盘根据读写操作请求完成的、处理器待处理的 数据。
[0003] 处理器对固态硬盘发起读写操作请求的过程如下:1、处理器发出读写操作请求至 SQ ;2、处理器通知固态硬盘控制器SQ内有待处理的读写操作请求;3、固态硬盘控制器从SQ 中获取待处理的读写操作请求;4、固态硬盘执行该读写操作请求后,获得对应的待处理的 数据,并将该待处理的数据写入CQ中;5、固态硬盘控制器通知处理器CQ内有待处理的数 据;6、处理器从CQ中获得待处理的数据,并完成数据处理。步骤4中固态硬盘控制器在将 待处理的数据写入CQ后,可以在步骤5中对处理器发出中断信号,使得处理器中断当前任 务来执行步骤6,也可以不对处理器发出中断信号,则处理器需要定时对CQ进行询问,以获 取CQ中待处理的数据,而如果在步骤5采用中断信号,由于固态硬盘处理系统中读写操作 请求的频率较高,因此中断信号的发生频率也较高,导致处理器的中断开销也随之提升。
[0004] 现有固态硬盘存储系统中的每个固态硬盘一般有一个CQ对应一个处理器,当固 态硬盘存储系统中包括多个固态硬盘的情况下,则一个处理器会对应多个CQ,如果各个固 态硬盘的固态硬盘控制器不采用中断信号通知处理器访问CQ,则处理器需要定时轮询多个 CQ,以获得各个固态硬盘处理器发来的待处理的数据,该CQ的轮询过程将导致固态硬盘存 储系统的较大开销。


【发明内容】

[0005] 针对上述现有技术而提出本发明,利用本发明可以解决现有技术方案中处理器轮 询CQ造成的固态硬盘存储系统开销过大的问题。
[0006] 本发明实施例的第一方面提供了一种基于固态硬盘存储系统的数据处理方法,其 特征在于,所述固态硬盘存储系统包括至少两个固态硬盘,所述数据处理方法包括:
[0007] 固态硬盘获取待处理的数据,将所述待处理的数据存入完成队列;
[0008] 所述固态硬盘更新第一完成队列状态表,使得所述第一完成队列状态表所存储的 内容指示:所述完成队列存储有所述待处理的数据,所述第一完成队列状态表所存储的内 容包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处理 的数据。
[0009] 结合第一方面,在第一方面的第一种实现方式中,所述更新第一完成队列状态表 具体包括如下操作Sl至S4 :
[0010] Sl :将所述第一完成队列状态表所存储的第一内容,存入第二完成队列状态表;
[0011] S2:将所述第二完成队列状态表所存储的内容,存入第三完成队列状态表,并更 新所述第三完成队列状态表所存储的内容,使得所述第三完成队列状态表所存储的内容指 示:所述完成队列存储有所述待处理的数据;
[0012] S3 :判断所述第一完成队列状态表所存储的第二内容与所述第二完成队列状态表 所存储的内容是否相同;
[0013] S4:如果相同,则将所述第三完成队列状态表所存储的内容存入所述第一完成队 列状态表;如果不相同,则再次执行所述操作Sl至S3,直至所述第一完成队列状态表所存 储的第二内容与所述第二完成队列状态表所存储的内容相同。
[0014] 结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述第一内 容包括所述第一完成队列状态表所存储的所有内容,或所述第一完成队列状态表所存储的 与所述完成队列相关的内容。
[0015] 结合第一方面的第一种实现方式和第二种实现方式,在第一方面的第三种实现 方式中,所述操作S3和S4具体通过原子操作指令AtomiC_Cas完成,所述原子操作指令 Atomic_cas包括参数:所述第一完成队列状态表的地址,所述第二完成队列状态表所存储 的内容,和所述第三完成队列状态表所存储的内容。
[0016] 结合第一方面,在第一方面的第四种实现方式中,所述更新第一完成队列状态表 具体包括:
[0017] 将所述第一完成队列状态表所存储的内容,存入第四完成队列状态表,将所述第 一完成队列状态表加锁;
[0018] 更新所述第四完成队列状态表,使得所述第四完成队列状态表所存储的内容指 示:所述完成队列存储有所述待处理的数据;
[0019] 将所述第四完成队列状态表所存储的内容存入所述第一完成队列状态表,将所述 第一完成队列状态表解锁。
[0020] 本发明实施例的第二方面提供了一种固态硬盘,其特征在于,所述固态硬盘用于 固态硬盘存储系统,所述固态硬盘存储系统包括至少两个所述固态硬盘,所述固态硬盘包 括:
[0021] 存入单元,用于获取待处理的数据,将所述待处理的数据存入完成队列;
[0022] 更新单元,用于更新第一完成队列状态表,使得所述第一完成队列状态表所存储 的内容指示:所述完成队列存储有所述待处理的数据,所述第一完成队列状态表所存储的 内容包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处 理的数据。
[0023] 结合第二方面,在第二方面的第一种实现方式中,所述更新单元具体用于如下操 作Sl至S4 :
[0024] Sl :将所述第一完成队列状态表所存储的第一内容,存入第二完成队列状态表;
[0025] S2:将所述第二完成队列状态表所存储的内容,存入第三完成队列状态表,并更 新所述第三完成队列状态表所存储的内容,使得所述第三完成队列状态表所存储的内容指 示:所述完成队列存储有所述待处理的数据;
[0026] S3 :判断所述第一完成队列状态表所存储的第二内容与所述第二完成队列状态表 所存储的内容是否相同;
[0027] S4:如果相同,则将所述第三完成队列状态表所存储的内容存入所述第一完成队 列状态表;如果不相同,则再次执行所述操作Sl至S3,直至所述第一完成队列状态表所存 储的第二内容与所述第二完成队列状态表所存储的内容相同。
[0028] 结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述第一内 容包括所述第一完成队列状态表所存储的所有内容,或所述第一完成队列状态表所存储的 与所述完成队列相关的内容。
[0029] 结合第二方面的第一种实现方式和第二种实现方式,在第二方面的第三种实现 方式中,所述操作S3和S4具体通过原子操作指令AtomiC_Cas完成,所述原子操作指令 Atomic_cas包括参数:所述第一完成队列状态表的地址,所述第二完成队列状态表所存储 的内容,和所述第三完成队列状态表所存储的内容。
[0030] 结合第二方面,在第二方面的第四种实现方式中,所述更新单元具体用于:
[0031] 将所述第一完成队列状态表所存储的内容,存入第四完成队列状态表,将所述第 一完成队列状态表加锁;
[0032] 更新所述第四完成队列状态表,使得所述第四完成队列状态表所存储的内容指 示:所述完成队列存储有所述待处理的数据;
[0033] 将所述第四完成队列状态表所存储的内容存入所述第一完成队列状态表,将所述 第一完成队列状态表解锁。
[0034] 本发明实施例的第三方面提供了一种基于固态硬盘存储系统的数据处理方法,其 特征在于,所述固态硬盘存储系统包括至少两个固态硬盘,所述数据处理方法包括:
[0035] 根据第一完成队列状态表所存储的内容,确定待处理的完成队列,所述待处理的 完成队列为:存储有待处理的数据的完成队列,所述第一完成队列状态表所存储的内容包 括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处理的数 据;
[0036] 获取所述待处理的完成队列中存储的所述待处理的数据,处理所述待处理的数 据。
[0037] 结合第三方面,在第三方面的第一种实现方式中,所述根据第一完成队列状态表 所存储的内各,确定待处理的完成队列具体包括:
[0038] 更新第五完成队列状态表所存储的内容,使得所述第五完成队列状态表所存储的 内容指示:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列均不存储有待处理 的数据;
[0039] 通过交换指令将所述第五完成队列状态表所存储的内容与所述第一完成队列状 态表所存储的内容交换;
[0040] 根据交换后的所述第五完成队列状态表所存储的内容,确定待处理的完成队列。
[0041] 结合第三方面的第一种实现方式,在第三方面的第二种实现方式中,所述交换指 令为原子操作指令lock xchg,所述原子操作指令lock xchg包括参数:所述第五完成队列 状态表的地址,所述第一完成队列状态表的地址。
[0042] 结合第三方面,在第三方面的第三种实现方式中所述根据第一完成队列状态表所 存储的内容,确定待处理的完成队列具体包括:
[0043] 将所述第一完成队列状态表所存储的内容,存入第六完成队列状态表,将所述第 一完成队列状态表加锁;
[0044] 根据所述第六完成队列状态表所存储的内容,确定待处理的完成队列;
[0045] 更新所述第一完成队列状态表所存储的内容,使得所述第一完成队列状态表所存 储的内容指示:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列均不存储有待 处理的数据,将所述第一完成队列状态表加解锁。
[0046] 本发明实施例的第四方面提供了一种数据处理装置,其特征在于,所述数据处理 装置用于固态硬盘存储系统,所述固态硬盘存储系统包括至少两个固态硬盘,所述数据处 理装置包括:
[0047] 确认单元,用于根据第一完成队列状态表所存储的内容,确定待处理的完成队列, 所述待处理的完成队列为:存储有待处理的数据的完成队列,所述第一完成队列状态表所 存储的内容包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储 有待处理的数据;
[0048] 处理单元,用于获取所述待处理的完成队列中存储的所述待处理的数据,处理所 述待处理的数据。
[0049] 结合第四方面,在第四方面的第一种实现方式中,所述确认单元具体用于:
[0050] 更新第五完成队列状态表所存储的内容,使得所述第五完成队列状态表所存储的 内容指示:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列均不存储有待处理 的数据;
[0051] 通过交换指令将所述第五完成队列状态表所存储的内容与所述第一完成队列状 态表所存储的内容交换;
[0052] 根据交换后的所述第五完成队列状态表所存储的内容,确定待处理的完成队列。
[0053] 结合第四方面的第一种实现方式,在第四方面的第二种实现方式中,所述交换指 令为原子操作指令lock xchg,所述原子操作指令lock xchg包括参数:所述第五完成队列 状态表的地址,所述第一完成队列状态表的地址。
[0054] 结合第四方面,在第四方面的第三种实现方式中,所述确认单元具体用于:
[0055] 将所述第一完成队列状态表所存储的内容,存入第六完成队列状态表,将所述第 一完成队列状态表加锁;
[0056] 根据所述第六完成队列状态表所存储的内容,确定待处理的完成队列;
[0057] 更新所述第一完成队列状态表所存储的内容,使得所述第一完成队列状态表所存 储的内容指示:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列均不存储有待 处理的数据,将所述第一完成队列状态表加解锁。
[0058] 本发明实施例的第五方面提供了一种固态硬盘存储系统,所述固态硬盘存储系统 包括:至少两个如本发明实施例的第二方面任一所述的固态硬盘,如本发明实施例的第四 方面任一所述的数据处理装置,存储设备;
[0059] 所述固态硬盘对应的完成队列存储于所述存储设备;
[0060] 所述固态硬盘、所述数据处理装置、所述存储设备之间通过总线建立通信。
[0061] 本发明实施例提供一种基于固态硬盘存储系统的数据处理方法,固态硬盘在将待 处理的数据存入完成队列后,更新完成队列状态表,该完成队列状态表中记录了固态硬盘 存储系统中各个完成队列中是否存储有待处理的数据。通过该数据处理方法,处理器在对 其完成队列进行访问时,无须将全部完成队列均轮询一遍以获得待处理的数据,而是通过 完成队列状态表可以精确获知存储有待处理的数据的完成队列,进而准确访问这些完成队 列以获得待处理的数据,减少了处理器对完成队列的轮询过程中造成的系统损耗,加速了 处理器对完成队列中待处理的数据的获取过程。

【专利附图】

【附图说明】
[0062] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作以简单地介绍,显而易见的,下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得 其他的附图。
[0063] 图1为现有技术中所应用的固态硬盘存储系统的组成结构示意图;
[0064] 图2为本发明实施例所应用的固态硬盘存储系统的组成结构示意图;
[0065] 图3为本发明方法实施例1所应用的数据处理方法的流程示意图;
[0066] 图4为本发明实施例所应用的另一固态硬盘存储系统的组成结构示意图;
[0067] 图5为本发明实施例所应用的又一固态硬盘存储系统的组成结构示意图;
[0068] 图6为本发明方法实施例2所应用的数据处理方法的流程示意图;
[0069] 图7为本发明设备实施例1所应用的固态硬盘的组成结构示意图;
[0070] 图8为本发明设备实施例2所应用的数据处理装置的组成结构示意图;
[0071] 图9为本发明设备实施例3所应用的数据处理装置的组成结构示意图。

【具体实施方式】
[0072] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发 明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明保护的范围。
[0073] 本说明书中的术语"处理器"一般指执行数据处理任务的处理单元,可为称之为 处理器核心或处理核心,还可以是一种具有信号的处理能力的集成电路芯片,例如通用处 理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)等。
[0074] 本说明书中的术语"固态硬盘控制器"一般指集成于固态硬盘内,对固态硬盘中的 存储颗粒进行管理的设备。
[0075] 本发明实施例的固杰硬盘存储系统
[0076] 图2描述了本发明实施例所提供的固态硬盘存储系统的组成结构示意图,该固态 硬盘存储系统包括至少两个固态硬盘,即固态硬盘204,固态硬盘210,固态硬盘204包括固 态硬盘控制器206和存储颗粒208,固态硬盘210包括固态硬盘控制器212和存储颗粒214。 处理器202,存储设备216,固态硬盘204和固态硬盘210通过总线228进行通信,其中存储 设备中存储有完成队列状态表226,该表中记录了存储设备中的各个完成队列中是否存储 有待处理的数据,存储设备中还存储有各个提交队列和完成队列,其中每个固态硬盘对应 每个处理器有一个完成队列和一个提交队列,例如固态硬盘204通过提交队列218和完成 队列222与处理器202交互读写操作请求和待处理的数据,固态硬盘210通过提交队列220 和完成队列224与处理器202交互读写操作请求和待处理的数据。
[0077] 需要说明的是,实际的固态硬盘存储系统中可能包括多个处理器,则每个固态硬 盘对应每个处理器均有一个提交队列和一个完成队列,实际中完成队列状态表226的存储 位置,与各个提交队列和各个完成队列的存储位置可以为同一存储设备,也可以为不同存 储设备,例如:完成队列状态表226可以存储于处理器202的寄存器中,或存储于集成于处 理器202的存储设备中,或存储于集成在固态硬盘204或固态硬盘210内的存储设备中,其 具体存储方式不构成限定。
[0078] 方法实施例1
[0079] 参见图3,本方法实施例1是基于图2所示的固态硬盘存储系统,所提供的一种数 据处理方法,应当说明的是,本方法实施例的执行主体为图2所示的固态硬盘存储系统中 的其中一个固态硬盘,本方法实施例为方便描述取为固态硬盘204,实际上,固态硬盘存储 系统中的任何一个固态硬盘均可以实施本方法实施例,数据处理方法包括:
[0080] 步骤402,固态硬盘204获取待处理的数据,将待处理的数据存入完成队列222。
[0081] 具体的,处理器202将读写操作请求写入提交队列218后,通知固态硬盘204提交 队列218内有待处理的读写操作请求。固态硬盘控制器206根据该通知获取提交队列218 内的读写操作请求后,通过访问存储颗粒208获取该读写操作请求对应的待处理的数据, 并将该待处理的数据存入完成队列222。
[0082] 步骤404,固态硬盘204更新完成队列状态表226,使得完成队列状态表226所存 储的内容指示:完成队列222存储有待处理的数据,完成队列状态表226所存储的内容包 括:固态硬盘存储系统中的每一个固态硬盘对应的完成队列中是否存储有待处理的数据, 在图2所示的固态硬盘存储系统中即完成队列222和完成队列224中是否存储有待处理的 数据。
[0083] 具体的,表1为该完成队列状态表226的一种实现方式,表1中记录了完成队列 号,对应该固态硬盘存储系统的各个完成队列,如该固态硬盘存储系统中包括n个固态硬 盘,即包括n个完成队列,那么表1至少包括n行,每一个完成队列号还对应有一位存储状 态标识,指示其对应的完成队列内是否存储有待处理的数据,以表1为例,存储状态标识为 " 1"代表着该存储标识对应的完成队列内存储有待处理的数据,存储状态标识为"〇"代表着 该存储标识对应的完成队列内未存储有待处理的数据。如果步骤402中,固态硬盘204将 待处理的数据存入的完成队列222在表1中的完成队列号为1,而表1记录的为固态硬盘 204执行步骤404之前的状态,则步骤404中,固态硬盘204需要更新完成队列状态表226, 使其记录的内容由表1转换为表2。
[0084] 应当说明的是,本说明书中的各个完成队列状态表,其存储的内容可以为如表1 所示的完成队列号与存储状态标识的对应关系,也可以为n位的数据,此时固态硬盘存储 系统中的n个完成队列与该n位的对应关系已经确立,则这n位数据即可表示这n个完成 队列中是否存储有待处理的数据,例如n为8时,完成队列状态表中仅存储"00001010",固 态硬盘与处理器即可确定事先确立的该8位数据中的第二位和第四位对应的完成队列中, 存储有待处理的数据。

【权利要求】
1. 一种基于固态硬盘存储系统的数据处理方法,其特征在于,所述固态硬盘存储系统 包括至少两个固态硬盘,所述数据处理方法包括: 获取待处理的数据,将所述待处理的数据存入完成队列; 更新第一完成队列状态表,使得所述第一完成队列状态表所存储的内容指示:所述完 成队列存储有所述待处理的数据,所述第一完成队列状态表所存储的内容包括:所述至少 两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处理的数据。
2. 如权利要求1所述的数据处理方法,其特征在于,所述更新第一完成队列状态表具 体包括如下操作S1至S4 : 51 :将所述第一完成队列状态表所存储的第一内容,存入第二完成队列状态表; 52 :将所述第二完成队列状态表所存储的内容,存入第三完成队列状态表,并更新所述 第三完成队列状态表所存储的内容,使得所述第三完成队列状态表所存储的内容指示:所 述完成队列存储有所述待处理的数据; 53 :判断所述第一完成队列状态表所存储的第二内容与所述第二完成队列状态表所存 储的内容是否相同; S4:如果相同,则将所述第三完成队列状态表所存储的内容存入所述第一完成队列状 态表;如果不相同,则再次执行所述操作S1至S3,直至所述第一完成队列状态表所存储的 第二内容与所述第二完成队列状态表所存储的内容相同。
3. 如权利要求2所述的数据处理方法,其特征在于,所述第一内容包括所述第一完成 队列状态表所存储的所有内容,或所述第一完成队列状态表所存储的与所述完成队列相关 的内容。
4. 如权利要求2或3所述的数据处理方法,其特征在于,所述操作S3和S4具体通过原 子操作指令Atomic_cas完成,所述原子操作指令Atomic_cas包括参数:所述第一完成队列 状态表的地址,所述第二完成队列状态表所存储的内容,和所述第三完成队列状态表所存 储的内容。
5. 如权利要求1所述的数据处理方法,其特征在于,所述更新第一完成队列状态表具 体包括: 将所述第一完成队列状态表所存储的内容,存入第四完成队列状态表,将所述第一完 成队列状态表加锁; 更新所述第四完成队列状态表,使得所述第四完成队列状态表所存储的内容指示:所 述完成队列存储有所述待处理的数据; 将所述第四完成队列状态表所存储的内容存入所述第一完成队列状态表,将所述第一 完成队列状态表解锁。
6. -种固态硬盘,其特征在于,所述固态硬盘用于固态硬盘存储系统,所述固态硬盘存 储系统包括至少两个所述固态硬盘,所述固态硬盘包括: 存入单元,用于获取待处理的数据,将所述待处理的数据存入完成队列; 更新单元,用于更新第一完成队列状态表,使得所述第一完成队列状态表所存储的内 容指示:所述完成队列存储有所述待处理的数据,所述第一完成队列状态表所存储的内容 包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处理的 数据。
7. 如权利要求6所述的固态硬盘,其特征在于,所述更新单元具体用于如下操作S1至 S4 : 51 :将所述第一完成队列状态表所存储的第一内容,存入第二完成队列状态表; 52 :将所述第二完成队列状态表所存储的内容,存入第三完成队列状态表,并更新所述 第三完成队列状态表所存储的内容,使得所述第三完成队列状态表所存储的内容指示:所 述完成队列存储有所述待处理的数据; 53 :判断所述第一完成队列状态表所存储的第二内容与所述第二完成队列状态表所存 储的内容是否相同; S4:如果相同,则将所述第三完成队列状态表所存储的内容存入所述第一完成队列状 态表;如果不相同,则再次执行所述操作S1至S3,直至所述第一完成队列状态表所存储的 第二内容与所述第二完成队列状态表所存储的内容相同。
8. 如权利要求7所述的固态硬盘,其特征在于,所述第一内容包括所述第一完成队列 状态表所存储的所有内容,或所述第一完成队列状态表所存储的与所述完成队列相关的内 容。
9. 如权利要求7或8所述的固态硬盘,其特征在于,所述操作S3和S4具体通过原子操 作指令Atomic_cas完成,所述原子操作指令Atomic_cas包括参数:所述第一完成队列状态 表的地址,所述第二完成队列状态表所存储的内容,和所述第三完成队列状态表所存储的 内容。
10. 如权利要求6所述的固态硬盘,其特征在于,所述更新单元具体用于: 将所述第一完成队列状态表所存储的内容,存入第四完成队列状态表,将所述第一完 成队列状态表加锁; 更新所述第四完成队列状态表,使得所述第四完成队列状态表所存储的内容指示:所 述完成队列存储有所述待处理的数据; 将所述第四完成队列状态表所存储的内容存入所述第一完成队列状态表,将所述第一 完成队列状态表解锁。
11. 一种基于固态硬盘存储系统的数据处理方法,其特征在于,所述固态硬盘存储系统 包括至少两个固态硬盘,所述数据处理方法包括: 根据第一完成队列状态表所存储的内容,确定待处理的完成队列,所述待处理的完成 队列为:存储有待处理的数据的完成队列,所述第一完成队列状态表所存储的内容包括: 所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待处理的数 据; 获取所述待处理的完成队列中存储的所述待处理的数据,处理所述待处理的数据。
12. 如权利要求11所述的数据处理方法,其特征在于,所述根据第一完成队列状态表 所存储的内各,确定待处理的完成队列具体包括: 更新第五完成队列状态表所存储的内容,使得所述第五完成队列状态表所存储的内容 指示:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列均不存储有待处理的数 据; 通过交换指令将所述第五完成队列状态表所存储的内容与所述第一完成队列状态表 所存储的内容交换; 根据交换后的所述第五完成队列状态表所存储的内容,确定待处理的完成队列。
13. 如权利要求12所述的数据处理方法,其特征在于,所述交换指令为原子操作指令 lock xchg,所述原子操作指令lock xchg包括参数:所述第五完成队列状态表的地址,所述 第一完成队列状态表的地址。
14. 如权利要求11所述的数据处理方法,其特征在于,所述根据第一完成队列状态表 所存储的内各,确定待处理的完成队列具体包括: 将所述第一完成队列状态表所存储的内容,存入第六完成队列状态表,将所述第一完 成队列状态表加锁; 根据所述第六完成队列状态表所存储的内容,确定待处理的完成队列; 更新所述第一完成队列状态表所存储的内容,使得所述第一完成队列状态表所存储的 内容指示:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列均不存储有待处理 的数据,将所述第一完成队列状态表加解锁。
15. -种数据处理装置,其特征在于,所述数据处理装置用于固态硬盘存储系统,所述 固态硬盘存储系统包括至少两个固态硬盘,所述数据处理装置包括: 确认单元,用于根据第一完成队列状态表所存储的内容,确定待处理的完成队列,所述 待处理的完成队列为:存储有待处理的数据的完成队列,所述第一完成队列状态表所存储 的内容包括:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列中是否存储有待 处理的数据; 处理单元,用于获取所述待处理的完成队列中存储的所述待处理的数据,处理所述待 处理的数据。
16. 如权利要求15所述的数据处理装置,其特征在于,所述确认单元具体用于: 更新第五完成队列状态表所存储的内容,使得所述第五完成队列状态表所存储的内容 指示:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列均不存储有待处理的数 据; 通过交换指令将所述第五完成队列状态表所存储的内容与所述第一完成队列状态表 所存储的内容交换; 根据交换后的所述第五完成队列状态表所存储的内容,确定待处理的完成队列。
17. 如权利要求16所述的数据处理装置,其特征在于,所述交换指令为原子操作指令 lock xchg,所述原子操作指令lock xchg包括参数:所述第五完成队列状态表的地址,所述 第一完成队列状态表的地址。
18. 如权利要求15所述的数据处理装置,所述确认单元具体用于: 将所述第一完成队列状态表所存储的内容,存入第六完成队列状态表,将所述第一完 成队列状态表加锁; 根据所述第六完成队列状态表所存储的内容,确定待处理的完成队列; 更新所述第一完成队列状态表所存储的内容,使得所述第一完成队列状态表所存储的 内容指示:所述至少两个固态硬盘中的每一个固态硬盘对应的完成队列均不存储有待处理 的数据,将所述第一完成队列状态表加解锁。
19. 一种固态硬盘存储系统,其特征在于,所述固态硬盘存储系统包括:至少两个如权 利要求6至10所述的固态硬盘,如权利要求15至18所述的数据处理装置,存储设备; 所述固态硬盘对应的完成队列存储于所述存储设备; 所述固态硬盘、所述数据处理装置、所述存储设备之间通过总线建立通信。
【文档编号】G06F13/16GK104407820SQ201410766796
【公开日】2015年3月11日 申请日期:2014年12月12日 优先权日:2014年12月12日
【发明者】黄岩 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1