CN110837484B - Ssd主控中的raid多路处理装置及数据恢复方法 - Google Patents
Ssd主控中的raid多路处理装置及数据恢复方法 Download PDFInfo
- Publication number
- CN110837484B CN110837484B CN201911051589.7A CN201911051589A CN110837484B CN 110837484 B CN110837484 B CN 110837484B CN 201911051589 A CN201911051589 A CN 201911051589A CN 110837484 B CN110837484 B CN 110837484B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- axi
- arb
- bus
- 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
- 238000011084 recovery Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 title claims abstract description 10
- 239000007787 solid Substances 0.000 title 1
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000001133 acceleration Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
-
- 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)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
Abstract
本发明公开一种SSD主控中的RAID多路处理装置,包括总线配置接口AXI_RGF、总线Master接口、总线Slave接口、NFC通道仲裁模块、通路选择仲裁模块、DMA模块、IMA模块、N个异或计算控制模块外加N片双口SRAM。本装置能够为系统提供多通路选择,具体可支持P2S、P2M、M2M、M2S、S2M、S2S六种通路模式。数据恢复方法可以六种通路模式中的任一通路进行,具体的,正常program采用P2S通道,数据恢复采用M2M通路。本发明在SSD主控芯片内部实现RAID,并且可以根据系统情况在不同的工作模式中选用不同的通路,灵活性强。
Description
技术领域
本发明涉及一种RAID加速装置,具体的说,是一种SSD主控中的RAID多路处理装置及数据恢复方法。
背景技术
在对SSD的读写当中,从Flash颗粒读出数据时,若ECC纠错失败,且read re-try等操作也无法读出正确数据,此时就需考虑如何进行数据恢复。RAID技术可以充分发挥出存储芯片的阵列优势,提供容错功能来确保数据安全性,在某个存储单元出现问题的情况下仍可以继续工作。即可以通过RAID技术实现数据恢复。现在的RAID一般都是在SSD主控芯片外实现,专利“一种SSD主控中的RAID主动加速装置”和“一种SSD主控中的RAID被动加速装置”虽然公开了在SSD主控芯片内部实现RAID的方法,但是这两者都是单一的硬件通路设计,没法根据应用需求选择相应通路,灵活性差。
发明内容
本发明要解决的技术问题是提供一种SSD主控中的RAID多路处理装置及数据恢复方法,在SSD主控芯片内部实现RAID,并且可以根据系统情况在不同的工作模式中选用不同的通路,灵活性强。
为了解决所述技术问题,本发明采用的技术方案是:一种SSD主控中的RAID多路处理装置,包括:
总线配置接口AXI_RGF,用于接收从CPU配置过来的地址及控制信息,也用于CPU读取RAID加速模块的状态信息、中断信息;
总线master接口AXI_MST,负责向总线发起数据传输,包括从总线读取源数据、向总线写出异或结果数据;
总线slave接口AXI_SLV,负责接收来自总线的待运算数据,总线也通过此接口读取运算结果数据;
NFC通道仲裁模块N_ARB,为NFC的专用接口,负责与NFC的各通道实现握手,按照一定的优先级顺序接收不同NFC通道的数据;
通路选择仲裁模块X_ARB,负责根据通道模式从AXI_MST、AXI_SLV、N_ARB三者中切换数据源,从AXI_MST、AXI_SLV两者中切换数据目的地;
DMA模块,负责连接总线master接口和每一个异或计算控制模块,实现总线协议到内部数据传输协议的转换;
IMA模块,负责连接总线slave接口和每一个异或计算控制模块,实现总线协议到内部数据传输协议的转换;
异或计算控制模块,负责完成相同条带中的每块数据的流水接收及迭代异或运算;
双口SRAM,与异或计算控制模块是一一对应的关系,负责暂存异或运算的中间结果以及存储异或运算的最终结果;
本装置通过上述模块为系统提供多通路选择。
进一步的,本装置支持P2S、 P2M、M2M、M2S、S2M、S2S六种通路模式。
进一步的,P2S通路模式下,待运算数据来自NFC,结算结果去向总线slave接口,CPU配置RAID模式和条带大小;操作时,N_ARB模块接收来自NFC各通道的数据包并输出,X_ARB模块启动相应的异或计算控制模块,并将来自N_ARB的数据包传输给相应的异或计算控制模块,每一个异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或计算控制模块完成信号后反馈中断给NFC,NFC收到中断信号后,通过总线从axi_slv口读取运算结果。
M2M通路模式下,待运算数据来自AXI_MST,运算结果去向AXI_MST,CPU配置RAID模式、条带大小、总线上的存取数据地址;操作时,DMA模块解析配置信息控制AXI_MST模块向总线指定地址发起读数据传输,X_ARB模块启动相应的异或计算控制模块,并将来自DMA的数据包传输给相应的异或计算控制模块,每一个异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并反馈给DMA,DMA从每一个异或计算控制模块读取运算结果并通过AXI_MST接口向总线指定地址发起写数据传输。
进一步的,P2M通路模式下,待运算数据来自NFC,运算结果去向AXI_MST,CPU配置RAID模式、条带大小、存放运算结果的总线地址;操作时,N_ARB模块接收来自NFC各通道的数据包并输出,X_ARB模块启动相应的异或计算控制模块,并将来自N_ARB的数据包传输给相应的异或计算控制模块,每一个异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并启动DMA模块,DMA模块与X_ARB模块协同将运算结果从SRAM中读出并通过axi_mst口写入指定的总线地址,等待后续操作。
进一步的,M2S通路模式下,待运算数据来自AXI_MST,运算结果去向AXI_SLV,CPU配置RAID模式、条带大小、源数据在总线上的存放地址;操作时,DMA模块解析配置信息控制AXI_MST模块向总线指定地址发起读数据传输,X_ARB模块启动相应的异或计算控制模块,并将来自DMA的数据包传输给相应的异或计算控制模块,异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并给CPU发送中断信号,总线上的NFC或者其他主机通过axi_slv口读取异或结果,在此过程中IMA模块与X_ARB模块协同将运算结果从SRAM中读出并反馈。
进一步的,S2M通路模式下,待运算数据来自AXI_SLV,运算结果去向AXI_MST,CPU配置RAID模式、条带大小、存放运算结果的总线地址;操作时,AXI_SLV模块接收来自总线上的数据包,IMA模块将数据包转化成内部数据包格式,X_ARB模块启动相应的异或计算控制模块,并将来自IMA的数据包传输给相应的异或计算控制模块,异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并启动DMA模块,DMA模块与X_ARB模块协同将运算结果从SRAM中读出并通过axi_mst口写入指定的总线地址,等待后续操作。
进一步的,S2S通路模式下,待运算数据来自AXI_SLV,运算结果去向AXI_SLV,此外CPU配置RAID模式和条带大小;操作时,AXI_SLV模块接收来自总线上的数据包,IMA模块将数据包转化成内部数据包格式,X_ARB模块依次启动相应的异或计算控制模块,并将来自IMA的数据包传输给相应的异或计算控制模块,异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并反馈终端信号给CPU,总线上的NFC或者其他主机可以通过axi_slv口读取异或结果,在此过程中IMA模块与X_ARB模块协同将运算结果从SRAM中读出并反馈。
本方法还公开了一种数据恢复方法,本方法基于权利要求2所述RAID多路处理装置,正常program和数据恢复采用P2S、 P2M、M2M、M2S、S2M、S2S六种通路中的一种。
进一步的,正常program采用P2S通道,数据恢复采用M2M通路。
本发明的有益效果:本发明既包括AXI_MST又包括AXI_SLV接口,增加NFC通路选择和内部通路仲裁两个模块,并且内嵌阵列SRAM的方式为系统提供了多通路选择,实现无论program还是recovery时都可以根据应用需求选择相应通路,灵活性强。系统在正常program时RAID操作可与NFC对数据的其他操作并行,最大限度提高效率。系统在恢复数据时启用DMA操作,可以统一调度整块数据,最大限度提高稳定性。
附图说明
图1为实施例所述RAID多路处理装置的原理框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种SSD主控中的RAID多路处理装置,如图1所示,包括总线配置接口AXI_RGF、总线Master接口AXI_MST、总线Slave接口AXI_SLV、NFC 通道仲裁模块N_ARB、通路选择仲裁模块X_ARB、DMA模块、IMA模块、N个异或计算控制模块外加N片(N由所支持的RAID模式及Flash容量决定)双口SRAM,各模块的作用具体如下:
总线配置接口(AXI_RGF)用于接收从CPU配置过来的地址及控制信息,包括通路模式选择,RAID模式,条带大小以及地址等信息,也用做CPU读取RAID加速模块的状态信息,中断信息。
总线Master接口(AXI_MST)负责向总线发起数据传输,包括从总线读取源数据,向总线写出异或结果数据。
总线slave接口(AXI_SLV)负责接收来自总线的待运算数据,总线也可以通过此接口读取运算结果数据。
NFC channel仲裁模块(N_ARB)负责与NFC的各channel实现握手,按照一定的优先级按顺序接收不同channel的数据。
通路选择仲裁模块(X_ARB)负责根据通路模式从axi_mst/axi_slv/n_arb三者中切换数据源,从axi_mst/axi_slv两者中切换数据目的地。
DMA模块负责连接总线master接口和每一个异或计算控制模块,实现总线协议到内部数据传输协议的转换。
IMA模块负责连接总线slave接口和每一个异或计算控制模块,实现总线协议到内部数据传输协议的转换。
异或计算控制模块(CTRL)与固定大小的SRAM是一对一的关系,负责完成相同条带中的每块数据的流水接收及迭代异或运算。
双口SRAM负责暂存异或运算的中间结果以及存储异或运算的最终结果。
本实施例既包括AXI_MST又包括AXI_SLV接口,增加NFC通路选择和内部通路仲裁两个模块,并且内嵌阵列SRAM的方式为系统提供了多通路选择,具体的,本装置支持P2S、P2M、M2M、M2S、S2M、S2S六种通路模式。
P2S通路模式下的操作步骤为:
1. CPU通过AXI_RGF配置本装置的通路为P2S模式,代表待运算数据来自NFC,运算结果去向AXI_SLV。此外CPU仍需配置RAID模式和条带大小。
2. N_ARB模块根据特定的优先级控制来自NFC各channel的数据包的传输启动,并作一路输出。
3. X_ARB模块通过握手机制依次启动相应的异或计算控制模块,并跟据配置信息通过计数方式将来自N_ARB的数据包传输给相应的计算模块。
4. 每一个异或计算控制模块被启动后,如果接收到的是第一笔数据则直接将其load到SRAM当中;如果接收到的是普通数据将其与从SRAM中读出的数据进行异或运算然后写入SRAM。根据配置信息及内部计数,当运算结束并且结果写入SRAM后,本模块反馈完成信号给X_ARB模块。
5. X_ARB模块统计所有异或模块完成信号并反馈中断(interrupt)给NFC。
6. NFC收到来自本装置的中断信号后,通过总线从axi_slv口读取运算结果,并根据前端命令将其program到相应NAND中。
M2M通路模式下的操作步骤为:
1. CPU通过AXI_RGF配置本装置的通路为M2M模式,代表待运算数据来自AXI_MST,运算结果去向AXI_MST(通常是NFC将从NAND中读出的数据放到DRAM中,本装置的AXI_MST发起对DRAM的读写操作)。此外CPU仍需配置RAID模式和条带大小,以及总线上的存取数据地址。
2. DMA模块解析配置信息控制AXI_MST模块向总线指定地址发起读数据传输。
3. X_ARB模块通过握手机制依次启动相应的异或计算控制模块,并跟据配置信息通过计数方式将来自DMA的数据包传输给相应的计算模块。
4. 每一个异或计算控制模块被启动后,如果接收到的是第一笔数据则直接将其load到SRAM当中;如果接收到的是普通数据将其与从SRAM中读出的数据进行异或运算然后写入SRAM。根据配置信息及内部计数,当运算结束并且结果写入SRAM后,本模块反馈完成信号给X_ARB模块。
5. X_ARB模块统计所有异或模块完成信号并反馈给DMA。
6. DMA从每一个异或计算控制模块读取运算结果并通过AXI_MST接口向总线指定地址发起写数据传输。至此需要恢复的数据即在系统指定地址,可以接受系统的下一步操作。
P2M通路模式下的操作步骤为:
1. CPU通过AXI_RGF配置本装置的通路为P2M模式,代表待运算数据来自NFC,运算结果去向AXI_MST。此外CPU仍需配置RAID模式和条带大小,以及存放运算结果的总线地址。
2. N_ARB模块根据特定的优先级控制来自NFC各channel的数据包的传输启动,并作一路输出。
3. X_ARB模块通过握手机制依次启动相应的异或计算控制模块,并跟据配置信息通过计数方式将来自N_ARB的数据包传输给相应的计算模块。
4. 每一个异或计算控制模块被启动后,如果接收到的是第一笔数据则直接将其load到SRAM当中;如果接收到的是普通数据将其与从SRAM中读出的数据进行异或运算然后写入SRAM。根据配置信息及内部计数,当运算结束并且结果写入SRAM后,本模块反馈完成信号给X_ARB模块。
5. X_ARB模块统计所有异或模块完成信号并启动DMA模块。
6. DMA模块与X_ARB模块协同将运算结果从SRAM中读出并通过axi_mst口写入指定的总线地址,等待后续操作。
M2S通路模式下的操作步骤为:
1. CPU通过AXI_RGF配置本装置的通路为M2M模式,代表待运算数据来自AXI_MST,运算结果去向AXI_SLV。此外CPU仍需配置RAID模式和条带大小,以及源数据在总线上的存放地址。
2. DMA模块解析配置信息控制AXI_MST模块向总线指定地址发起读数据传输。
3. X_ARB模块通过握手机制依次启动相应的异或计算控制模块,并跟据配置信息通过计数方式将来自DMA的数据包传输给相应的计算模块。
4. 每一个异或计算控制模块被启动后,如果接收到的是第一笔数据则直接将其load到SRAM当中;如果接收到的是普通数据将其与从SRAM中读出的数据进行异或运算然后写入SRAM。根据配置信息及内部计数,当运算结束并且结果写入SRAM后,本模块反馈完成信号给X_ARB模块。
5. X_ARB模块统计所有异或模块完成信号并给CPU发送中断信号。
6. 总线上的NFC或者其他master可以通过axi_slv口读取异或结果,在此过程中IMA模块与X_ARB模块协同将运算结果从SRAM中读出并反馈。
S2M通路模式下的操作步骤为:
1. CPU通过AXI_RGF配置本装置的通路为S2M模式,代表待运算数据来自AXI_SLV,运算结果去向AXI_MST。此外CPU仍需配置RAID模式和条带大小,以及存放运算结果的总线地址。
2. AXI_SLV模块接收来自总线上的数据包,IMA模块将数据包转化成内部数据包格式。
3. X_ARB模块通过握手机制依次启动相应的异或计算控制模块,并跟据配置信息通过计数方式将来自IMA的数据包传输给相应的计算模块。
4. 每一个异或计算控制模块被启动后,如果接收到的是第一笔数据则直接将其load到SRAM当中;如果接收到的是普通数据将其与从SRAM中读出的数据进行异或运算然后写入SRAM。根据配置信息及内部计数,当运算结束并且结果写入SRAM后,本模块反馈完成信号给X_ARB模块。
5. X_ARB模块统计所有异或模块完成信号并启动DMA模块。
6. DMA模块与X_ARB模块协同将运算结果从SRAM中读出并通过axi_mst口写入指定的总线地址,等待后续操作。
S2S通路模式下的操作步骤为:
1. CPU通过AXI_RGF配置本装置的通路为S2S模式,代表待运算数据来自AXI_SLV,运算结果去向AXI_SLV。此外CPU仍需配置RAID模式和条带大小。
2. AXI_SLV模块接收来自总线上的数据包,IMA模块将数据包转化成内部数据包格式。
3. X_ARB模块通过握手机制依次启动相应的异或计算控制模块,并跟据配置信息通过计数方式将来自IMA的数据包传输给相应的计算模块。
4. 每一个异或计算控制模块被启动后,如果接收到的是第一笔数据则直接将其load到SRAM当中;如果接收到的是普通数据将其与从SRAM中读出的数据进行异或运算然后写入SRAM。根据配置信息及内部计数,当运算结束并且结果写入SRAM后,本模块反馈完成信号给X_ARB模块。
5. X_ARB模块统计所有异或模块完成信号并反馈中断信号给CPU。
6. 总线上的NFC或者其他master可以通过axi_slv口读取异或结果,在此过程中IMA模块与X_ARB模块协同将运算结果从SRAM中读出并反馈。
P2S通路效率最高,可用作正常program的首选通路,M2M通道性能最稳定,是数据恢复的首选通路。同时,CPU可根据系统情况(DRAM的大小,总线的效率)在不同的工作模式中选用不同的通路。当系统进行调试或者有特别的通路需求(比如与系统的其他功能共享资源时)还可以启动P2M, M2S, S2M, S2S等通路的数据传输。
本实施例中,系统在正常program时RAID操作与NFC对数据的其他操作并行,最大限度提高效率。
实施例2
本实施例公开一种数据恢复方法,本方法基于权利要求1所述RAID多路处理装置,包括正常program和数据恢复两个步骤,进行恢复时,正常program、数据恢复采用P2S、P2M、M2M、M2S、S2M、S2S六种通路中的一种模式进行。
优选的,P2S通路效率最高,可用作正常program的首选通路,M2M通道性能最稳定,是数据恢复的首选通路。
P2S、 P2M、M2M、M2S、S2M、S2S通路模式下的操作步骤同实施例1相同,本实施例不再累述。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改机和替换,属于本发明的保护范围。
Claims (10)
1.一种SSD主控中的RAID多路处理装置,其特征在于:包括:
总线配置接口AXI_RGF,用于接收从CPU配置过来的地址及控制信息,也用于CPU读取RAID加速模块的状态信息、中断信息;
总线master接口AXI_MST,负责向总线发起数据传输,包括从总线读取源数据、向总线写出异或结果数据;
总线slave接口AXI_SLV,负责接收来自总线的待运算数据,总线也通过此接口读取运算结果数据;
NFC通道仲裁模块N_ARB,为NFC的专用接口,负责与NFC的各通道实现握手,按照一定的优先级顺序接收不同NFC通道的数据;
通路选择仲裁模块X_ARB,负责根据通道模式从AXI_MST、AXI_SLV、N_ARB三者中切换数据源,从AXI_MST、AXI_SLV两者中切换数据目的地;
DMA模块,负责连接总线master接口和每一个异或计算控制模块,实现总线协议到内部数据传输协议的转换;
IMA模块,负责连接总线slave接口和每一个异或计算控制模块,实现总线协议到内部数据传输协议的转换;
异或计算控制模块,负责完成相同条带中的每块数据的流水接收及迭代异或运算;
双口SRAM,与异或计算控制模块是一一对应的关系,负责暂存异或运算的中间结果以及存储异或运算的最终结果;
本装置通过上述模块为系统提供多通路选择。
2.根据权利要求1所述的SSD主控中的RAID多路处理装置,其特征在于:本装置支持P2S、 P2M、M2M、M2S、S2M、S2S六种通路模式。
3.根据权利要求2所述的SSD主控中的RAID多路处理装置,其特征在于:P2S通路模式下,待运算数据来自NFC,结算结果去向总线slave接口,CPU配置RAID模式和条带大小;操作时,N_ARB模块接收来自NFC各通道的数据包并输出,X_ARB模块启动相应的异或计算控制模块,并将来自N_ARB的数据包传输给相应的异或计算控制模块,每一个异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或计算控制模块完成信号后反馈中断给NFC,NFC收到中断信号后,通过总线从axi_slv口读取运算结果。
4.根据权利要求2所述的SSD主控中的RAID多路处理装置,其特征在于:M2M通路模式下,待运算数据来自AXI_MST,运算结果去向AXI_MST,CPU配置RAID模式、条带大小、总线上的存取数据地址;操作时,DMA模块解析配置信息控制AXI_MST模块向总线指定地址发起读数据传输,X_ARB模块启动相应的异或计算控制模块,并将来自DMA的数据包传输给相应的异或计算控制模块,每一个异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并反馈给DMA,DMA从每一个异或计算控制模块读取运算结果并通过AXI_MST接口向总线指定地址发起写数据传输。
5.根据权利要求2所述的SSD主控中的RAID多路处理装置,其特征在于:P2M通路模式下,待运算数据来自NFC,运算结果去向AXI_MST,CPU配置RAID模式、条带大小、存放运算结果的总线地址;操作时,N_ARB模块接收来自NFC各通道的数据包并输出,X_ARB模块启动相应的异或计算控制模块,并将来自N_ARB的数据包传输给相应的异或计算控制模块,每一个异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并启动DMA模块,DMA模块与X_ARB模块协同将运算结果从SRAM中读出并通过axi_mst口写入指定的总线地址,等待后续操作。
6.根据权利要求2所述的SSD主控中的RAID多路处理装置,其特征在于:M2S通路模式下,待运算数据来自AXI_MST,运算结果去向AXI_SLV,CPU配置RAID模式、条带大小、源数据在总线上的存放地址;操作时,DMA模块解析配置信息控制AXI_MST模块向总线指定地址发起读数据传输,X_ARB模块启动相应的异或计算控制模块,并将来自DMA的数据包传输给相应的异或计算控制模块,异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并给CPU发送中断信号,总线上的NFC或者其他主机通过axi_slv口读取异或结果,在此过程中IMA模块与X_ARB模块协同将运算结果从SRAM中读出并反馈。
7.根据权利要求2所述的SSD主控中的RAID多路处理装置,其特征在于:S2M通路模式下,待运算数据来自AXI_SLV,运算结果去向AXI_MST,CPU配置RAID模式、条带大小、存放运算结果的总线地址;操作时,AXI_SLV模块接收来自总线上的数据包,IMA模块将数据包转化成内部数据包格式,X_ARB模块启动相应的异或计算控制模块,并将来自IMA的数据包传输给相应的异或计算控制模块,异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并启动DMA模块,DMA模块与X_ARB模块协同将运算结果从SRAM中读出并通过axi_mst口写入指定的总线地址,等待后续操作。
8.根据权利要求2所述的SSD主控中的RAID多路处理装置,其特征在于:S2S通路模式下,待运算数据来自AXI_SLV,运算结果去向AXI_SLV,此外CPU配置RAID模式和条带大小;操作时,AXI_SLV模块接收来自总线上的数据包,IMA模块将数据包转化成内部数据包格式,X_ARB模块依次启动相应的异或计算控制模块,并将来自IMA的数据包传输给相应的异或计算控制模块,异或计算控制模块对接收的数据进行异或计算并反馈完成信号给X_ARB模块,X_ARB模块统计所有异或模块完成信号并反馈终端信号给CPU,总线上的NFC或者其他主机可以通过axi_slv口读取异或结果,在此过程中IMA模块与X_ARB模块协同将运算结果从SRAM中读出并反馈。
9.一种数据恢复方法,其特征在于:本方法基于权利要求2所述RAID多路处理装置,正常program和数据恢复采用P2S、 P2M、M2M、M2S、S2M、S2S六种通路中的一种。
10.根据权利要求9所述的数据恢复方法,其特征在于:正常program采用P2S通道,数据恢复采用M2M通路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911051589.7A CN110837484B (zh) | 2019-10-31 | 2019-10-31 | Ssd主控中的raid多路处理装置及数据恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911051589.7A CN110837484B (zh) | 2019-10-31 | 2019-10-31 | Ssd主控中的raid多路处理装置及数据恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110837484A CN110837484A (zh) | 2020-02-25 |
CN110837484B true CN110837484B (zh) | 2023-03-24 |
Family
ID=69575959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911051589.7A Active CN110837484B (zh) | 2019-10-31 | 2019-10-31 | Ssd主控中的raid多路处理装置及数据恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837484B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833424B (zh) * | 2010-03-26 | 2013-07-10 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN105138288A (zh) * | 2015-08-19 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 实现raid5功能的存储方法、装置及主控芯片系统 |
WO2017131751A1 (en) * | 2016-01-29 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Remote direct memory access |
CN206696842U (zh) * | 2017-05-10 | 2017-12-01 | 山东鸿秦微电子科技有限公司 | 一种raid校验生成装置 |
KR102563760B1 (ko) * | 2018-02-22 | 2023-08-07 | 에스케이하이닉스 주식회사 | 인터페이스 유닛 및 그것의 동작방법 |
CN109933547B (zh) * | 2019-01-29 | 2023-03-10 | 山东华芯半导体有限公司 | 一种ssd主控中的raid被动加速装置和加速方法 |
CN109933546B (zh) * | 2019-01-29 | 2023-03-10 | 山东华芯半导体有限公司 | 一种ssd主控中的raid主动加速装置和加速方法 |
-
2019
- 2019-10-31 CN CN201911051589.7A patent/CN110837484B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110837484A (zh) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7827323B2 (en) | System and method for peripheral device communications | |
US8713357B1 (en) | Systems and methods for detailed error reporting in data storage systems | |
CN102810336B (zh) | 非易失性存储器、存储器控制器及其访问方法 | |
US7810013B2 (en) | Memory device that reflects back error detection signals | |
EP2297641B1 (en) | Efficient in-band reliability with separate cyclic redundancy code frames | |
CN109933546B (zh) | 一种ssd主控中的raid主动加速装置和加速方法 | |
CN114286989B (zh) | 一种固态硬盘混合读写的实现方法以及装置 | |
US20150058701A1 (en) | Flash memory controller and method of data transmission between flash memories | |
EP3673374B1 (en) | Dynamic link error protection in memory systems | |
CN1821970A (zh) | 文件控制系统和文件控制装置 | |
CN115269455B (zh) | 基于fpga的磁盘数据读写控制方法、装置和存储终端 | |
KR20140025595A (ko) | 레이턴시를 감소시키고 호스트에 대한 스루풋을 개선하기 위한 동시적인 데이터 전송 및 에러 제어 | |
CN104184543A (zh) | 一种数据传输的方法、装置和系统 | |
CN103034559B (zh) | 基于rdma架构设计的pq检验模块及检验方法 | |
CN110837484B (zh) | Ssd主控中的raid多路处理装置及数据恢复方法 | |
CN109933547B (zh) | 一种ssd主控中的raid被动加速装置和加速方法 | |
US11586384B2 (en) | Overhead reduction in data transfer protocol for data storage devices | |
CN112817774B (zh) | 用于片上网络中的事务广播的系统和方法 | |
CN102236625A (zh) | 一种可同时进行读写操作的多通道NANDflash控制器 | |
CN110720126B (zh) | 传输数据掩码的方法、内存控制器、内存芯片和计算机系统 | |
US7856527B2 (en) | Raid system and data transfer method in raid system | |
WO2022179368A1 (zh) | 优化闪存颗粒的方法和相关装置 | |
US11782636B2 (en) | Method for data processing of an interconnection protocol to support multiple lanes, controller, and storage device | |
CN107632793B (zh) | 一种用于ssd后端的数据流管控方法 | |
CN111143260B (zh) | 一种ssd主控中的raid通路切换装置 |
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 |