CN109933546B - 一种ssd主控中的raid主动加速装置和加速方法 - Google Patents
一种ssd主控中的raid主动加速装置和加速方法 Download PDFInfo
- Publication number
- CN109933546B CN109933546B CN201910083926.4A CN201910083926A CN109933546B CN 109933546 B CN109933546 B CN 109933546B CN 201910083926 A CN201910083926 A CN 201910083926A CN 109933546 B CN109933546 B CN 109933546B
- Authority
- CN
- China
- Prior art keywords
- data
- bus
- result
- exclusive
- sram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Advance Control (AREA)
Abstract
本发明公开一种SSD主控中的RAID主动加速装置和加速方法,所述加速装置包括总线配置接口、总线Master接口、控制模块、异或计算模块和SRAM,控制模块根据从总线配置接口得到的信息生成取数计算写结果的状态流程,并且调配Master接口、异或计算模块实现整个流程,然后将状态反馈给总线配置接口;在状态流程中,使能异或计算模块将来自总线的数据和来自SRAM的数据进行异或运算得到相应结果,将运算结果替换SRAM中对应数据。本发明使用硬件帮助CPU加速SSD存储中的RAID实现,提高RAID的速度,提高系统效率。
Description
技术领域
本发明涉及一种RAID加速装置和加速方法,具体的说,是一种SSD主控中的RAID主动加速装置和加速方法,使用硬件帮助CPU加速SSD存储中的RAID实现。
背景技术
在对SSD的读写当中,从Flash颗粒读出数据时,若ECC纠错失败,且read re-try等操作也无法读出正确数据,此时就需考虑如何进行数据恢复。RAID技术可以充分发挥出存储芯片的阵列优势,提供容错功能来确保数据安全性,在某个存储单元出现问题的情况下仍可以继续工作。
现有的RAID技术一般是针对HDD盘,使用操作系统或者RAID卡两种方式实现RAID。在SSD控制器中实现RAID的方法很少,并且现有的方法大都是单纯通过软件实现,降低了正常使用时的写效率,恢复数据时的读效率。
发明内容
本发明要解决的技术问题是提供一种SSD主控中的RAID主动加速装置和加速方法,在SSD主控中实现RAID,并且提高RAID的速度,提高系统效率。
为了解决所述技术问题,本发明采用的技术方案是:一种SSD主控中的RAID主动加速装置,本装置为直接挂在总线上的主动加速装置,包括以下模块:总线配置接口,用于接收来自CPU的配置信息,也用作CPU读取RAID加速模块的状态信息、中断信息;总线Master接口,根据控制模块的指令向总线发起数据传输,包括从总线读取源数据、向总线写出异或结果数据;控制模块,根据从总线配置接口得到的信息生成取数计算写结果的状态流程,并且调配Master接口、异或计算模块实现整个流程,然后将状态反馈给总线配置接口;异或计算模块,负责从SRAM中读取中间异或结果与从Master口新读入的数据进行异或并将新结果写入SRAM;SRAM,负责暂存异或运算的中间结果。
进一步的,总线配置接口接收的配置信息包括工作模式、地址信息、页数据长度。
进一步的,控制模块生成的状态流程包括并行的四部分操作,分别为:使能总线Master接口向总线读取数据;使能SRAM并从SRAM中读出与当前总线上对应的数据;使能异或计算模块将来自总线的数据和来自SRAM的数据进行异或运算得到相应结果;将运算结果替换SRAM中对应数据留待下一轮大循环时读出使用。
进一步的,配置信息中的工作模式包括命令队列模式和寄存器模式,若参与异或运算的源数据不大于5组时,使用命令队列模式,若参数异或运算的源数据大于5组,则使用寄存器模式。
本发明还公开了一种上述加速装置进行RAID主动加速的方法,包括以下步骤:S01)、 总线配置接口接收来自CPU的配置信息,该配置信息包括工作模式、地址信息和页数据长度;S02)、控制模块根据上述配置信息进入储数状态,启动总线Master接口向总线读取数据,直至取到配置信息中所指定数据长度的数据,与此同时,控制模块使能SRAM,将该笔数据存入SRAM当中缓存;S03)、控制模块进入计算状态,启动内部大循环计数器和小循环计数器,大循环计数器负责计数整个条带的每一页,小循环负责计数某一页在总线上的每个周期,此步骤包括并行的四部分操作:使能Master接口向总线读取数据;使能SRAM并从SRAM中读出与当前总线上对应的数据;使能异或计算模块将来自总线的数据和来自SRAM的数据进行异或运算得到相应结果;将运算结果替换SRAM中对应数据留待下一轮大循环时读出使用;大、小循环都结束时停止上述并行操作;S04)、控制模块进入发数状态,该状态下将最后一轮大循环的所有异或结果发送给总线Master接口,Master接口将数据发送到总线配置接口所指定的地址当中;S05)、控制模块进入空闲状态,更新配置接口中的状态寄存器。
进一步的,配置信息中的工作模式包括命令队列模式和寄存器模式,若参与异或运算的源数据不大于5组时,使用命令队列模式,若参数异或运算的源数据大于5组,则使用寄存器模式。
进一步的,命令队列模式的操作过程为:把需要做异或的各源地址索引和存放结果的目的地址索引,以FIFO条目的形式依次存入命令队列,RAID加速模块对命令队列中的每条命令操作如下:根据源地址,从DRAM或NFC获得数据,并将异或得出的中间校验数据循环替换到内部的SRAM内,当异或结束后,自动将SRAM内的数据搬到FIFO条目中指定的目的地址中。
进一步的,寄存器模式的操作过程为:CPU在配置完源数据地址索引和目的地址索引后启动RAID加速模块读取数据,进行异或操作,搬移异或结果。
进一步的,源地址索引和目的地址索引在命令队列中的存放格式为:
SEL为选择码,SRC4~SRC0均是5位宽的源地址索引,以指代32个具体地址,这32个地址由CPU配置SRC_ADDR0~SRC_ADDR31来决定,DES是4位宽的目的地址索引,可以指代16个具体地址,这16个地址由CPU配置DES_ADDR0~DES_ADDR15来决定;
SEL取不同数值时,异或操作不同,具体为:
0或者1:无操作;
2:将SRC0所指代的地址中的数据与SRC11所指代的地址中的数据进行异或操作,并将结果搬运到DES所指代的地址当中;
3:将SRC0所指代的地址中的数据先与SRC1所指代的地址中的数据进行异或操作,然后将所得结果与SRC2所指代的地址中的数据进行异或操作,完成后将最终异或结果搬运到DES所指代的地址当中;
4:将SRC0所指代的地址中的数据先与SRC1所指代的地址中的数据进行异或操作,然后将所得结果与SRC2所指代的地址中的数据进行异或操作,然后再将所得结果与SRC3所指代的地址中的数据进行异或操作,完成后将最终异或结果搬运到DES所指代的地址当中;
5:将SRC0所指代的地址中的数据先与SRC1所指代的地址中的数据进行异或操作,然后将所得结果与SRC2所指代的地址中的数据进行异或操作,然后再将所得结果与SRC3所指代的地址中的数据进行异或操作,然后再将所得结果与SRC4所指代的地址中的数据进行异或操作,完成后将最终异或结果搬运到DES所指代的地址当中;
6或者7:异或运算模块在总线配置接口的读数据线上反馈错误提示CPU微码配置错误。
进一步的,只有在命令队列为空时,CPU才可以更改源地址和目的地址的配置,CPU通过读取状态寄存器获得命令队列的空/满状态,根据需求自定义命令队列的深度,命令队列的深度指通过SEL的取值决定异或操作的数据量。
本发明的有益效果:本发明所述RAID主动加速装置是集成在SSD主控制内的一个硬件模块,通过与CPU配置命令队列结合实现RAID,也就是说本发明通过软硬件结合实现RAID,灵活性强。将raid加速模块挂在总线上作为一个Master,可以主动访问总线上的所有地址空间,方便软件操作。内部数据流向设计成流水线最大限度利用总线带宽。命令队列模式节省CPU周期,提高系统效率。
附图说明
图1为实施例1所述RAID主动加速模块的原理框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种SSD主控中的RAID主动加速装置,本装置为直接挂在总线上的主动加速装置,实现的是将软件划分好的条带内各页数据进行异或操作后再将得到的校验位数据写入软件指定的目的地址。如图1所示,包括:
总线配置接口AXI_RGF,用于接收来自CPU的配置信息,也用作CPU读取RAID加速模块的状态信息、中断信息;
总线Master接口AXI_MST,根据控制模块的指令向总线发起数据传输,包括从总线读取源数据、向总线写出异或结果数据;
控制模块RAID_CTRL,根据从总线配置接口得到的信息生成取数计算写结果的状态流程,并且调配Master接口、异或计算模块实现整个流程,然后将状态反馈给总线配置接口;
异或计算模块RAID_CAL,负责从SRAM中读取中间异或结果与从Master口新读入的数据进行异或并将新结果写入SRAM;
SRAM,负责暂存异或运算的中间结果。
本实施例中,总线配置接口接收的配置信息包括工作模式、地址信息、页数据长度。其中所述工作模式包括命令队列模式和寄存器模式,若参与异或运算的源数据不大于5组时,使用命令队列模式,若参数异或运算的源数据大于5组,则使用寄存器模式。
本实施例中,控制模块生成的状态流程包括并行的四部分操作,分别为:使能总线Master接口向总线读取数据;使能SRAM并从SRAM中读出与当前总线上对应的数据;使能异或计算模块将来自总线的数据和来自SRAM的数据进行异或运算得到相应结果;将运算结果替换SRAM中对应数据留待下一轮大循环时读出使用。本过程中使用双口SRAM,读出的是当前总线周期所对应的数据,写入的是上一个总线周期所对应的异或计算结果。该迭代过程持续至大小循环都结束。
实施例2
本实施例公开一种基于实施例所述加速装置进行RAID主动加速的方法,包括以下步骤:
S01)、 总线配置接口接收来自CPU的配置信息,该配置信息包括工作模式、地址信息和页数据长度;
S02)、控制模块根据上述配置信息进入储数状态,启动总线Master接口向总线读取数据,直至取到配置信息中所指定数据长度的数据,与此同时,控制模块使能SRAM,将该笔数据存入SRAM当中缓存;
S03)、控制模块进入计算状态,启动内部大循环计数器和小循环计数器,大循环计数器负责计数整个条带的每一页,小循环负责计数某一页在总线上的每个周期,此步骤包括并行的四部分操作:使能Master接口向总线读取数据;使能SRAM并从SRAM中读出与当前总线上对应的数据;使能异或计算模块将来自总线的数据和来自SRAM的数据进行异或运算得到相应结果;将运算结果替换SRAM中对应数据留待下一轮大循环时读出使用;大、小循环都结束时停止上述并行操作;
本实施例中,从SRAM中读出的数据是初始值或者之前异或的结果,与来自总线的数据不同。从SRAM中读出与当前总线上对应的数据中的对应是指同一条带的数据。因为总线上有很多数据,包括多channel、 多lun、多plane等Flash单元里的不同数据, 但就做RAID来讲就是只有同一条带的数据才拿来做异或,并且SRAM中存有多个条带的中间异或结果,所以SRAM中的数据与总线上的数据存在基于同一条带的对应关系。Master口是与总线相连接的,中间异或结果存在SRAM中,所以中间异或结果即是从SRAM中读出的对应数据,Master口新读入数据即是总线上的对应数据。来自总线的数据和来自SRAM的数据是同一条带上的数据。
S04)、控制模块进入发数状态,该状态下将最后一轮大循环的所有异或结果发送给总线Master接口,Master接口将数据发送到总线配置接口所指定的地址当中;
S05)、控制模块进入空闲状态,更新配置接口中的状态寄存器。
本实施例中,配置信息中的工作模式包括命令队列模式和寄存器模式,若参与异或运算的源数据不大于5组时,使用命令队列模式,若参数异或运算的源数据大于5组,则使用寄存器模式。
具体的,命令队列模式的操作过程为:把需要做异或的各源地址索引和存放结果的目的地址索引,以FIFO条目的形式依次存入命令队列,RAID加速模块对命令队列中的每条命令操作如下:根据源地址,从DRAM或NFC获得数据,并将异或得出的中间校验数据循环替换到内部的SRAM内,当异或结束后,自动将SRAM内的数据搬到FIFO条目中指定的目的地址中。
源地址索引和目的地址索引在命令队列中的存放格式为:
,SEL为选择码,SRC4~SRC0均是5位宽的源地址索引,以指代32个具体地址,这32个地址由CPU配置SRC_ADDR0~SRC_ADDR31来决定,DES是4位宽的目的地址索引,可以指代16个具体地址,这16个地址由CPU配置DES_ADDR0~DES_ADDR15来决定;
SEL取不同数值时,异或操作不同,具体为:
0或者1:无操作;
2:将SRC0所指代的地址中的数据与SRC11所指代的地址中的数据进行异或操作,并将结果搬运到DES所指代的地址当中;
3:将SRC0所指代的地址中的数据先与SRC1所指代的地址中的数据进行异或操作,然后将所得结果与SRC2所指代的地址中的数据进行异或操作,完成后将最终异或结果搬运到DES所指代的地址当中;
4:将SRC0所指代的地址中的数据先与SRC1所指代的地址中的数据进行异或操作,然后将所得结果与SRC2所指代的地址中的数据进行异或操作,然后再将所得结果与SRC3所指代的地址中的数据进行异或操作,完成后将最终异或结果搬运到DES所指代的地址当中;
5:将SRC0所指代的地址中的数据先与SRC1所指代的地址中的数据进行异或操作,然后将所得结果与SRC2所指代的地址中的数据进行异或操作,然后再将所得结果与SRC3所指代的地址中的数据进行异或操作,然后再将所得结果与SRC4所指代的地址中的数据进行异或操作,完成后将最终异或结果搬运到DES所指代的地址当中;
6或者7:异或运算模块在总线配置接口的读数据线上反馈错误提示CPU微码配置错误。
只有在命令队列为空时,CPU才可以更改源地址和目的地址的配置,CPU通过读取状态寄存器获得命令队列的空/满状态,根据需求自定义命令队列的深度,命令队列的深度指通过SEL的取值决定异或操作的数据量,通过命令队列的深度实现DAID加速的批量处理。
寄存器模式的操作过程为:CPU在配置完源数据地址索引和目的地址索引后启动RAID加速模块读取数据,进行异或操作,搬移异或结果。以15+1为例,源数据对应的地址为SRC_ADDR0~SRC_ADDR14,目的地址对应DES_ADDR0。CPU可在依次配置这些地址寄存器之后启动RAID加速模块读取数据,进行异或操作,搬移异或结果。
本发明所述RAID主动加速装置是集成在SSD主控制内的一个硬件模块,通过与CPU配置命令队列结合实现RAID,也就是说本发明通过软硬件结合实现RAID,灵活性强。将raid加速模块挂在总线上作为一个Master,可以主动访问总线上的所有地址空间,方便软件操作。内部数据流向设计成流水线最大限度利用总线带宽。命令队列模式节省CPU周期,提高系统效率。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (9)
1.一种SSD主控中的RAID主动加速装置,其特征在于:本装置为直接挂在总线上的主动加速装置,包括以下模块:总线配置接口,用于接收来自CPU的配置信息,也用作CPU读取RAID 加速模块的状态信息、中断信息;总线Master接口,根据控制模块的指令向总线发起数据传输,包括从总线读取源数据、向总线写出异或结果数据;控制模块,根据从总线配置接口得到的信息生成取数计算写结果的状态流程,并且调配Master接口、异或计算模块实现整个流程,然后将状态反馈给总线配置接口;异或计算模块,负责从SRAM中读取中间异或结果与从Master口新读入的数据进行异或并将新结果写入SRAM;SRAM,负责暂存异或运算的中间结果;控制模块生成的状态流程包括并行的四部分操作,分别为:使能总线Master接口向总线读取数据;使能SRAM并从SRAM中读出与当前总线上对应的数据;使能异或计算模块将来自总线的数据和来自SRAM的数据进行异或运算得到相应结果;将运算结果替换SRAM中对应数据留待下一轮大循环时读出使用。
2.根据权利要求1所述的SSD主控中的RAID主动加速装置,其特征在于:总线配置接口接收的配置信息包括工作模式、地址信息、页数据长度。
3.根据权利要求2所述的SSD主控中的RAID主动加速装置,其特征在于:配置信息中的工作模式包括命令队列模式和寄存器模式,若参与异或运算的源数据不大于5组时,使用命令队列模式,若参数异或运算的源数据大于5组,则使用寄存器模式。
4.一种基于权利要求1所述加速装置进行RAID主动加速的方法,其特征在于:包括以下步骤:S01)、 总线配置接口接收来自CPU的配置信息,该配置信息包括工作模式、地址信息和页数据长度;S02)、控制模块根据上述配置信息进入储数状态,启动总线Master接口向总线读取数据,直至取到配置信息中所指定数据长度的数据,与此同时,控制模块使能SRAM,将取到的配置信息中所指定数据长度的数据存入SRAM当中缓存;S03)、控制模块进入计算状态,启动内部大循环计数器和小循环计数器,大循环计数器负责计数整个条带的每一页,小循环负责计数某一页在总线上的每个周期,此步骤包括并行的四部分操作:使能Master接口向总线读取数据;使能SRAM并从SRAM中读出与当前总线上对应的数据;使能异或计算模块将来自总线的数据和来自SRAM的数据进行异或运算得到相应结果;将运算结果替换SRAM中对应数据留待下一轮大循环时读出使用;大、小循环都结束时停止上述并行的四部分操作;S04)、控制模块进入发数状态,该状态下将最后一轮大循环的所有异或结果发送给总线Master接口,Master接口将数据发送到总线配置接口所指定的地址当中;S05)、控制模块进入空闲状态,更新配置接口中的状态寄存器。
5.根据权利要求4所述的RAID主动加速的方法,其特征在于:配置信息中的工作模式包括命令队列模式和寄存器模式,若参与异或运算的源数据不大于5组时,使用命令队列模式,若参数异或运算的源数据大于5组,则使用寄存器模式。
6.根据权利要求5所述的RAID主动加速的方法,其特征在于:命令队列模式的操作过程为:把需要做异或的各源地址索引和存放结果的目的地址索引,以FIFO条目的形式依次存入命令队列,RAID加速模块对命令队列中的每条命令操作如下:根据源地址,从DRAM或NFC获得数据,并将异或得出的中间校验数据循环替换到内部的SRAM内,当异或结束后,自动将SRAM内的数据搬到FIFO条目中指定的目的地址中。
7.根据权利要求5所述的RAID主动加速的方法,其特征在于:寄存器模式的操作过程为:CPU在配置完源数据地址索引和目的地址索引后启动RAID加速模块读取数据,进行异或操作,搬移异或结果。
8.根据权利要求6所述的RAID主动加速的方法,其特征在于:源地址索引和目的地址索引在命令队列中的存放格式为:
SEL为选择码,SRC4~SRC0均是5位宽的源地址索引,以指代32个具体地址,这32个地址由CPU配置SRC_ADDR0~SRC_ADDR31来决定,DES是4位宽的目的地址索引,可以指代16个具体地址,这16个地址由CPU配置DES_ADDR0~DES_ADDR15来决定;
SEL取不同数值时,异或操作不同,具体为:
0或者1:无操作;
2:将SRC0所指代的地址中的数据与SRC11所指代的地址中的数据进行异或操作,并将结果搬运到DES所指代的地址当中;
3:将SRC0所指代的地址中的数据先与SRC1所指代的地址中的数据进行异或操作,然后将所得结果与SRC2所指代的地址中的数据进行异或操作,完成后将最终异或结果搬运到DES所指代的地址当中;
4:将SRC0所指代的地址中的数据先与SRC1所指代的地址中的数据进行异或操作,然后将所得结果与SRC2所指代的地址中的数据进行异或操作,然后再将所得结果与SRC3所指代的地址中的数据进行异或操作,完成后将最终异或结果搬运到DES所指代的地址当中;
5:将SRC0所指代的地址中的数据先与SRC1所指代的地址中的数据进行异或操作,然后将所得结果与SRC2所指代的地址中的数据进行异或操作,然后再将所得结果与SRC3所指代的地址中的数据进行异或操作,然后再将所得结果与SRC4所指代的地址中的数据进行异或操作,完成后将最终异或结果搬运到DES所指代的地址当中;
6或者7:异或运算模块在总线配置接口的读数据线上反馈错误提示CPU微码配置错误。
9.根据权利要求8所述的RAID主动加速的方法,其特征在于:只有在命令队列为空时,CPU才可以更改源地址和目的地址的配置,CPU通过读取状态寄存器获得命令队列的空/满状态,根据需求自定义命令队列的深度。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910083926.4A CN109933546B (zh) | 2019-01-29 | 2019-01-29 | 一种ssd主控中的raid主动加速装置和加速方法 |
PCT/CN2019/093450 WO2020155542A1 (zh) | 2019-01-29 | 2019-06-28 | 一种ssd主控中的raid主动加速装置和加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910083926.4A CN109933546B (zh) | 2019-01-29 | 2019-01-29 | 一种ssd主控中的raid主动加速装置和加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933546A CN109933546A (zh) | 2019-06-25 |
CN109933546B true CN109933546B (zh) | 2023-03-10 |
Family
ID=66985290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910083926.4A Active CN109933546B (zh) | 2019-01-29 | 2019-01-29 | 一种ssd主控中的raid主动加速装置和加速方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109933546B (zh) |
WO (1) | WO2020155542A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933546B (zh) * | 2019-01-29 | 2023-03-10 | 山东华芯半导体有限公司 | 一种ssd主控中的raid主动加速装置和加速方法 |
CN110837484B (zh) * | 2019-10-31 | 2023-03-24 | 山东华芯半导体有限公司 | Ssd主控中的raid多路处理装置及数据恢复方法 |
CN111444123B (zh) * | 2020-03-28 | 2021-01-15 | 珠海市一微半导体有限公司 | 基于硬件加速的spi接口的自动读取控制系统及方法 |
CN113721135B (zh) * | 2021-07-22 | 2022-05-13 | 南京航空航天大学 | 一种sram型fpga故障在线容错方法 |
CN113849867B (zh) * | 2021-08-31 | 2024-02-23 | 浪潮电子信息产业股份有限公司 | 一种加密芯片 |
CN115098019B (zh) * | 2022-06-14 | 2024-09-17 | 山东华芯半导体有限公司 | 一种ssd主控中的数据缓存管理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833424A (zh) * | 2010-03-26 | 2010-09-15 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN104156174A (zh) * | 2014-07-31 | 2014-11-19 | 记忆科技(深圳)有限公司 | 基于条带的固态硬盘raid实现方法及装置 |
CN104267912A (zh) * | 2014-09-19 | 2015-01-07 | 北京联创信安科技有限公司 | 一种nas加速方法及系统 |
CN206696842U (zh) * | 2017-05-10 | 2017-12-01 | 山东鸿秦微电子科技有限公司 | 一种raid校验生成装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI361348B (en) * | 2005-09-02 | 2012-04-01 | Infortrend Technology Inc | Parity engine for use in storage virtualization controller and methods of generating data by parity engine |
US8799523B2 (en) * | 2011-09-21 | 2014-08-05 | Kevin Mark Klughart | Data storage architecture extension system and method |
CN102609221B (zh) * | 2012-02-07 | 2015-07-08 | 无锡众志和达数据计算股份有限公司 | 一种硬件raid5/6存储系统及数据处理方法 |
CN103995785B (zh) * | 2014-05-07 | 2017-01-11 | 马鞍山百助网络科技有限公司 | 信息处理方法和系统 |
CN107870732B (zh) * | 2016-09-23 | 2020-12-25 | 伊姆西Ip控股有限责任公司 | 从固态存储设备冲刷页面的方法和设备 |
CN206696482U (zh) * | 2017-03-24 | 2017-12-01 | 深圳市飞博康光通讯技术有限公司 | 1u接续机箱和1u机柜 |
CN109933546B (zh) * | 2019-01-29 | 2023-03-10 | 山东华芯半导体有限公司 | 一种ssd主控中的raid主动加速装置和加速方法 |
-
2019
- 2019-01-29 CN CN201910083926.4A patent/CN109933546B/zh active Active
- 2019-06-28 WO PCT/CN2019/093450 patent/WO2020155542A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833424A (zh) * | 2010-03-26 | 2010-09-15 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN104156174A (zh) * | 2014-07-31 | 2014-11-19 | 记忆科技(深圳)有限公司 | 基于条带的固态硬盘raid实现方法及装置 |
CN104267912A (zh) * | 2014-09-19 | 2015-01-07 | 北京联创信安科技有限公司 | 一种nas加速方法及系统 |
CN206696842U (zh) * | 2017-05-10 | 2017-12-01 | 山东鸿秦微电子科技有限公司 | 一种raid校验生成装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109933546A (zh) | 2019-06-25 |
WO2020155542A1 (zh) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933546B (zh) | 一种ssd主控中的raid主动加速装置和加速方法 | |
US9921914B2 (en) | Redundant array of independent disks (RAID) write hole solutions | |
US9389804B2 (en) | Host, system, and methods for transmitting commands to non-volatile memory card | |
EP3566138A1 (en) | Transaction identification synchronization | |
CN107797821B (zh) | 重试读取方法以及使用该方法的装置 | |
US11003606B2 (en) | DMA-scatter and gather operations for non-contiguous memory | |
CN112559056A (zh) | 用于减少固件激活时间的技术 | |
US9244762B1 (en) | Method and apparatus for flexible buffers in an XOR engine | |
WO2014209399A1 (en) | Memory component capable to communicate at multiple data widths | |
AU2014265183A1 (en) | High performance read-modify-write system providing line-rate merging of dataframe segments in hardware | |
US20060026328A1 (en) | Apparatus And Related Method For Calculating Parity of Redundant Array Of Disks | |
CN109933547B (zh) | 一种ssd主控中的raid被动加速装置和加速方法 | |
US11586384B2 (en) | Overhead reduction in data transfer protocol for data storage devices | |
US11101822B1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN111158757B (zh) | 并行存取装置和方法以及芯片 | |
KR20220072242A (ko) | 비휘발성 메모리 장치의 데이터 기입 방법 및 이를 수행하는 비휘발성 메모리 장치 | |
US20200293452A1 (en) | Memory device and method including circular instruction memory queue | |
CN116431381B (zh) | 平衡闪存ecc纠错能力方法、装置、设备及存储介质 | |
CN110720126A (zh) | 传输数据掩码的方法、内存控制器、内存芯片和计算机系统 | |
CN105187162B (zh) | 一种多粒度并行解速率匹配方法和装置 | |
US9715343B2 (en) | Multidimensional partitioned storage array and method utilizing input shifters to allow multiple entire columns or rows to be accessed in a single clock cycle | |
CN106940684B (zh) | 一种按比特写数据的方法及装置 | |
WO2016082504A1 (zh) | 一种独立磁盘冗余阵列的实现方法及装置 | |
CN110837484B (zh) | Ssd主控中的raid多路处理装置及数据恢复方法 | |
US20240289062A1 (en) | Raid controller, operating method of raid controller and storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |