CN114003170B - 一种基于FPGA的Raid卡驱动方法 - Google Patents
一种基于FPGA的Raid卡驱动方法 Download PDFInfo
- Publication number
- CN114003170B CN114003170B CN202111096368.9A CN202111096368A CN114003170B CN 114003170 B CN114003170 B CN 114003170B CN 202111096368 A CN202111096368 A CN 202111096368A CN 114003170 B CN114003170 B CN 114003170B
- Authority
- CN
- China
- Prior art keywords
- fpga
- pcie
- sub
- equipment
- nvme ssd
- 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
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000004891 communication Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 abstract 1
- 239000007787 solid Substances 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供一种基于FPGA的Raid卡驱动方法,所述方法应用于基于FPGA的Raid卡驱动方法系统,所述数据传输系统包括主机、驱动、FPGA和多个nvmessd盘;所述方法包括:首先完成PCIe枚举,将FPGA下属的2个PCIe RC端口的配置AXI_Lite接口都直接映射到CPU地址空间,完成PCIe RC端口下面的每个SSD的枚举和配置;通过读写FPGA相关bar空间来访问RC下的各设备的PCIe配置空间;其次,对各nvme ssd盘进行初始化。本发明采用FPGA专门的RAID卡驱动,为应用层提供接口,实现上将部分功能交给驱动,降低了FPGA的开发难度,提高了开发的灵活性。
Description
技术领域
本发明涉及一种数据存储技术、磁盘阵列技术领域,尤其涉及一种基于FPGA的Raid卡驱动方法。
背景技术
Raid:Redundant Array of Independent Disks,即独立磁盘冗余阵列,或简称磁盘阵列,是把相同的数据存储在多个硬盘的不同的地方的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。
PCIe:PCI-Express,peripheral component interconnect express,是一种高速串行计算机扩展总线标准,是继ISA和PCI总线之后的第三代I/O总线,即3GIO。
nvme:Non-Volatile Memory express,非易失性高速传输总线,是一个逻辑设备接口规范;是Host和PCIE BUS SDD间的数据通信协议,是专门针对PCIe SSD设计的接口标准;协议定义了驱动软件与非易失存储子系统,如外设部件互连标准和接口PCIe的固态硬盘等,驱动软件与非易失存储子系统之间交互的命令集、队列和寄存器的接口,它同样定义了NVM子系统的基本命令集;是一个可扩展的主机控制接口,适用于解决使用PCIe SSD的企业和客户端系统的需求。
ssd:Solid State Disk或Solid State Drive,即固态驱动器,是用固态电子存储芯片阵列制成的硬盘。
对FPGA所带的PCIe RC端口做pcie枚举,分配总线号、bar空间等,初始化nvmessd,配置nvme管理队列,创建nvme io队列,配置Raid信息,出现坏盘时驱动创建多个线程进行重建。
FPGA由于其相对于专门的Raid芯片的灵活性、开发周期更短等,用于实现RAID卡,为了使用该RAID卡,需要专门的驱动,以及为应用层提供接口,同时由于软件比FPGA更加灵活方便,部分工作交给了驱动。
发明内容
本发明的目的解决了采用FPGA直接驱动nvme ssd时,当出现坏盘时驱动会创建多个线程进行重建的问题,降低了FPGA开发驱动的复杂度。
本发明的目的在于提供一种基于FPGA的Raid卡驱动方法,以解决上述技术背景中提出的问题。
为实现上述目的,本发明采用以下技术方案:
本发明第一个方面提供了一种基于FPGA的Raid卡驱动方法,包括:
首先完成PCIe枚举,将FPGA下属的2个PCIe RC端口的配置AXI_Lite接口都直接映射到CPU地址空间,完成PCIe RC端口下面的每个ssd的枚举和配置;通过读写FPGA相关bar空间来访问RC下的各设备的PCIe配置空间;其次,对各nvme ssd盘进行初始化。
优选地,所述PCIe枚举步骤如下:
A1:分配并配置总线,除FPGA下属2个PCIe RC本身,在访问其下边的子设备的PCIe配置空间前都需要配置;
A2:遍历和配置,遍历所有子设备,配置子设备关掉中断,找到子设备id为PCIe的capability并配置mps以及mrrs值,读取子设备读取子设备的PCIe header type,如果为1,则其为桥类设备,说明其下还有其他的设备,对于该子设备,执行骤A1;如果为0,则非桥类设备,说明其为nvme ssd的插槽,执行步骤A3;
A3:记录该插槽的槽位是第几个槽位,给该槽位分配bar空间并回溯更新其父设备至RC的bar空间。
优选地,所述对各nvme ssd盘进行初始化的步骤如下:
B1:逐个初始化nvme ssd,每个nvme ssd先进行复位,再配置管理队列,再创建驱动用的io队列;
B2:根据nvme ssd盘记录的Raid信息,配置好相关FPGA寄存器,告知FPGA Raid模式和盘数量;
B3:创建FPGA io队列,用于处理应用层下发给Raid盘的命令;
B4:创建nvme ssd的io队列,供FPGA使用;
B5:创建块设备,使用户得以使用Raid盘;
B6:对于不在Raid组里的盘,开放给用户直接使用。
优选地,所述遍历过程是采用深度优先算法进行的。
本发明第二个方面提供了一种基于FPGA的Raid卡驱动装置,包含:
PCIe枚举模块,用于将FPGA下属的2个PCIe RC端口的配置AXI_Lite接口都直接映射到CPU地址空间,完成PCIe RC端口下面的每个ssd的枚举和配置;以及通过读写FPGA相关bar空间来访问RC下的各设备的PCIe配置空间;
nvme ssd盘初始化模块,用于对各nvme ssd盘进行初始化。
在一种优选实施例中,所述PCIe枚举模块包括:
总线分配及配置子模块,用于除FPGA下属2个PCIe RC本身外,配置FPGA下边的子设备的PCIe配置空间;
子设备遍历和配置子模块,用于遍历所有子设备,配置子设备关掉中断,找到子设备id为PCIe的capability并配置mps以及mrrs值;
判断模块,用于读取子设备的PCIe header type,并判断PCIe header type是否为1,如果为1,则判断该子设备为桥类设备,说明其下还有其他的设备;如果为0,则判断该子设备为非桥类设备,说明其为nvme ssd的插槽;
槽位记录模块,用于当判断模块判断该子设备为非桥类设备时,记录插槽的槽位是第几个槽位,给该槽位分配bar空间并回溯更新其父设备至RC的bar空间。
本发明第三个方面还提供了一种基于FPGA的Raid卡驱动系统,包括:主机、驱动、FPGA和多个nvme ssd盘;其中,
所述主机与所述驱动通信连接;
所述驱动与所述FPGA通信连接;
所述FPGA和所述驱动分别与多个所述nvme ssd盘连接;
所述驱动包括上述的一种基于FPGA的Raid卡驱动装置。
与现有技术相比,本发明的技术方案具有以下有益效果:
Raid卡使用方便,将部分功能交给驱动,降低了FPGA的开发难度,提高了开发的灵活性。
附图说明
构成本申请的一部分附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明优选实施例的Raid卡驱动方法;
图2是本发明优选实施例的系统组成框图;
图3是优选实施例PCIe枚举步骤;
图4是优选实施例对各nvme ssd盘进行初始化的步骤。
具体实施方式
本发明提供一种基于FPGA的Raid卡驱动方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的数据在适当情况下可以互换。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例:
本发明提供一种基于FPGA的Raid卡驱动方法应用实例,其Raid卡驱动方法如图1所示。
图2为一种基于FPGA的Raid卡驱动系统组成框图,系统包括主机、驱动、FPGA、4+2磁盘阵列和2个独立使用磁盘阵列。
驱动首先完成PCIe枚举,将FPGA下属的2个PCIe RC端口的配置AXI_Lite接口都直接映射到主机CPU地址空间,完成PCIe RC端口下面的每个ssd的枚举和配置;通过读写FPGA相关bar空间来访问RC下的各设备的PCIe配置空间;其次,对各nvme ssd盘进行初始化。
参阅图3所示,PCIe枚举的具体步骤如下:
A1:分配并配置总线,除FPGA下属2个PCIe RC本身,在访问其下边的子设备的PCIe配置空间前都需要配置;
A2:遍历和配置,采用深度优先算法遍历所有子设备,配置子设备关掉中断,找到子设备id为PCIe的capability并配置mps以及mrrs值,读取子设备读取子设备的PCIeheader type,如果为1,则其为桥类设备,说明其下还有其他的设备,对于该子设备,执行骤A1;如果为0,则非桥类设备,说明其为nvme ssd的插槽,执行步骤A3;
A3:记录该插槽的槽位是第几个槽位,给该槽位分配bar空间并回溯更新其父设备至RC的bar空间。
参阅图4所示,各nvme ssd盘进行初始化的步骤如下:
B1:逐个初始化4+2磁盘阵列和2个独立使用磁盘阵列中nvme ssd,每个nvme ssd先进行复位,再配置管理队列,再创建驱动用的io队列;
B2:根据nvme ssd盘记录的Raid信息,配置好相关FPGA寄存器,告知FPGA Raid模式和盘数量;
B3:创建FPGA io队列,用于处理应用层下发给Raid盘的命令;
B4:创建nvme ssd的io队列,供FPGA使用;
B5:创建块设备,使用户得以使用Raid盘;
B6:对于不在Raid组里的盘,开放给用户直接使用。
另一方面,本发明还提供了一种基于FPGA的Raid卡驱动装置,包括:PCIe枚举模块和nvme ssd盘初始化模块。其中,所述PCIe枚举模块,用于将FPGA下属的2个PCIe RC端口的配置AXI_Lite接口都直接映射到CPU地址空间,完成PCIe RC端口下面的每个ssd的枚举和配置;以及通过读写FPGA相关bar空间来访问RC下的各设备的PCIe配置空间。所述nvme ssd盘初始化模块,用于对各nvme ssd盘进行初始化。
具体地,所述PCIe枚举模块包括:
总线分配及配置子模块,用于除FPGA下属2个PCIe RC本身外,配置FPGA下边的子设备的PCIe配置空间;
子设备遍历和配置子模块,用于遍历所有子设备,配置子设备关掉中断,找到子设备id为PCIe的capability并配置mps以及mrrs值;
判断模块,用于读取子设备的PCIe header type,并判断PCIe header type是否为1,如果为1,则判断该子设备为桥类设备,说明其下还有其他的设备;如果为0,则判断该子设备为非桥类设备,说明其为nvme ssd的插槽;
槽位记录模块,用于当判断模块判断该子设备为非桥类设备时,记录插槽的槽位是第几个槽位,给该槽位分配bar空间并回溯更新其父设备至RC的bar空间。
综上所述,本申请采用基于FPGA的Raid卡驱动方法,解决了采用FPGA直接驱动nvme ssd时,当出现坏盘时驱动会创建多个线程进行重建的问题,降低了FPGA开发驱动的复杂度。
以上对本发明的具体实施例进行了详细描述,但其只是作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对本发明进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。
Claims (4)
1.一种基于FPGA的Raid卡驱动方法,其特征在于,包括:
首先完成PCIe枚举,将FPGA下属的2个PCIe RC端口的配置AXI_Lite接口都直接映射到CPU地址空间,完成PCIe RC端口下面的每个ssd的枚举和配置;通过读写FPGA相关bar空间来访问RC下的各设备的PCIe配置空间;其次,对各nvme ssd盘进行初始化;
其中,所述PCIe枚举步骤包括:
A1:分配并配置总线,除FPGA下属2个PCIe RC本身,在访问其下边的子设备的PCIe配置空间前都需要配置;
A2:遍历和配置,遍历所有子设备,配置子设备关掉中断,找到子设备id为PCIe的capability并配置mps以及mrrs值,读取子设备的PCIe header type,如果为1,则其为桥类设备,说明其下还有其他的设备,对于该子设备,执行步骤A1;如果为0,则非桥类设备,说明其为nvme ssd的插槽,执行步骤A3;
A3:记录该插槽的槽位是第几个槽位,给该槽位分配bar空间并回溯更新其父设备至RC的bar空间;
其中,所述对各nvme ssd盘进行初始化的步骤包括:
B1:逐个初始化nvme ssd,每个nvme ssd先进行复位,再配置管理队列,再创建驱动用的io队列;
B2:根据nvme ssd盘记录的Raid信息,配置好相关FPGA寄存器,告知FPGA Raid模式和盘数量;
B3:创建FPGA io队列,用于处理应用层下发给Raid盘的命令;
B4:创建nvme ssd的io队列,供FPGA使用;
B5:创建块设备,使用户得以使用Raid盘;
B6:对于不在Raid组里的盘,开放给用户直接使用。
2.根据权利要求1所述基于FPGA的Raid卡驱动方法,其特征在于,所述遍历过程是采用深度优先算法进行的。
3.一种基于FPGA的Raid卡驱动装置,其特征在于,包括:
PCIe枚举模块,用于将FPGA下属的2个PCIe RC端口的配置AXI_Lite接口都直接映射到CPU地址空间,完成PCIe RC端口下面的每个ssd的枚举和配置;以及通过读写FPGA相关bar空间来访问RC下的各设备的PCIe配置空间;
nvme ssd盘初始化模块,用于对各nvme ssd盘进行初始化,执行如下步骤B1~B6:
B1:逐个初始化nvme ssd,每个nvme ssd先进行复位,再配置管理队列,再创建驱动用的io队列;
B2:根据nvme ssd盘记录的Raid信息,配置好相关FPGA寄存器,告知FPGA Raid模式和盘数量;
B3:创建FPGA io队列,用于处理应用层下发给Raid盘的命令;
B4:创建nvme ssd的io队列,供FPGA使用;
B5:创建块设备,使用户得以使用Raid盘;
B6:对于不在Raid组里的盘,开放给用户直接使用;
其中,所述PCIe枚举模块包括:
总线分配及配置子模块,用于除FPGA下属2个PCIe RC本身外,配置FPGA下边的子设备的PCIe配置空间;
子设备遍历和配置子模块,用于遍历所有子设备,配置子设备关掉中断,找到子设备id为PCIe的capability并配置mps以及mrrs值;
判断模块,用于读取子设备的PCIe header type,并判断PCIe header type是否为1,如果为1,则判断该子设备为桥类设备,说明其下还有其他的设备;如果为0,则判断该子设备为非桥类设备,说明其为nvme ssd的插槽;
槽位记录模块,用于当判断模块判断该子设备为非桥类设备时,记录插槽的槽位是第几个槽位,给该槽位分配bar空间并回溯更新其父设备至RC的bar空间。
4.一种基于FPGA的Raid卡驱动系统,其特征在于,包括:主机、驱动、FPGA和多个nvmessd盘;其中,
所述主机与所述驱动通信连接;
所述驱动与所述FPGA通信连接;
所述FPGA和所述驱动分别与多个所述nvme ssd盘连接;
所述驱动包括如权利要求3中所述的一种基于FPGA的Raid卡驱动装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111096368.9A CN114003170B (zh) | 2021-09-17 | 2021-09-17 | 一种基于FPGA的Raid卡驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111096368.9A CN114003170B (zh) | 2021-09-17 | 2021-09-17 | 一种基于FPGA的Raid卡驱动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114003170A CN114003170A (zh) | 2022-02-01 |
CN114003170B true CN114003170B (zh) | 2024-03-19 |
Family
ID=79921801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111096368.9A Active CN114003170B (zh) | 2021-09-17 | 2021-09-17 | 一种基于FPGA的Raid卡驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003170B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298561A (zh) * | 2011-08-10 | 2011-12-28 | 北京百度网讯科技有限公司 | 一种对存储设备进行多通道数据处理的方法、系统和装置 |
CN103176930A (zh) * | 2013-04-02 | 2013-06-26 | 无锡江南计算技术研究所 | 一种基于标准PCIe上行端口的IO扩展架构方法 |
CN104050061A (zh) * | 2014-07-01 | 2014-09-17 | 中国航天科工集团第二研究院七〇六所 | 一种基于PCIe总线多主控板冗余备份系统 |
CN105354162A (zh) * | 2015-11-02 | 2016-02-24 | 烽火通信科技股份有限公司 | 基于Linux实现PCIE设备热插拔的方法及装置 |
CN106033399A (zh) * | 2015-03-20 | 2016-10-19 | 中兴通讯股份有限公司 | PCIe设备和PCIe总线的管理方法及装置 |
CN107704344A (zh) * | 2017-09-14 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种基于NVMe的双控全闪存系统 |
CN108255410A (zh) * | 2016-12-28 | 2018-07-06 | 华为技术有限公司 | 一种处理磁盘漫游的方法、装置和设备 |
CN109656630A (zh) * | 2018-12-27 | 2019-04-19 | 龙芯中科技术有限公司 | 配置空间的访问方法、装置、架构及储存介质 |
CN109933283A (zh) * | 2017-12-19 | 2019-06-25 | 西部数据技术公司 | 直接主机访问存储装置存储空间 |
CN111045964A (zh) * | 2019-12-06 | 2020-04-21 | 思尔芯(上海)信息科技有限公司 | 一种基于pcie接口高速传输方法、存储介质及终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9311018B2 (en) * | 2010-05-11 | 2016-04-12 | Taejin Info Tech Co., Ltd. | Hybrid storage system for a multi-level RAID architecture |
US10915469B2 (en) * | 2018-03-09 | 2021-02-09 | Samsung Electronics Co., Ltd. | Method and apparatus for supporting a field programmable gate array (FPGA) based add-in-card (AIC) solid state drive (SSD) |
-
2021
- 2021-09-17 CN CN202111096368.9A patent/CN114003170B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298561A (zh) * | 2011-08-10 | 2011-12-28 | 北京百度网讯科技有限公司 | 一种对存储设备进行多通道数据处理的方法、系统和装置 |
CN103176930A (zh) * | 2013-04-02 | 2013-06-26 | 无锡江南计算技术研究所 | 一种基于标准PCIe上行端口的IO扩展架构方法 |
CN104050061A (zh) * | 2014-07-01 | 2014-09-17 | 中国航天科工集团第二研究院七〇六所 | 一种基于PCIe总线多主控板冗余备份系统 |
CN106033399A (zh) * | 2015-03-20 | 2016-10-19 | 中兴通讯股份有限公司 | PCIe设备和PCIe总线的管理方法及装置 |
CN105354162A (zh) * | 2015-11-02 | 2016-02-24 | 烽火通信科技股份有限公司 | 基于Linux实现PCIE设备热插拔的方法及装置 |
CN108255410A (zh) * | 2016-12-28 | 2018-07-06 | 华为技术有限公司 | 一种处理磁盘漫游的方法、装置和设备 |
CN107704344A (zh) * | 2017-09-14 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种基于NVMe的双控全闪存系统 |
CN109933283A (zh) * | 2017-12-19 | 2019-06-25 | 西部数据技术公司 | 直接主机访问存储装置存储空间 |
CN109656630A (zh) * | 2018-12-27 | 2019-04-19 | 龙芯中科技术有限公司 | 配置空间的访问方法、装置、架构及储存介质 |
CN111045964A (zh) * | 2019-12-06 | 2020-04-21 | 思尔芯(上海)信息科技有限公司 | 一种基于pcie接口高速传输方法、存储介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN114003170A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230145212A1 (en) | Switch Device for Interfacing Multiple Hosts to a Solid State Drive | |
EP1934751B1 (en) | Smart scalable storage switch architecture | |
US10331600B1 (en) | Virtual I/O queuing | |
US9887008B2 (en) | DDR4-SSD dual-port DIMM device | |
US10007443B1 (en) | Host to device I/O flow | |
US7206899B2 (en) | Method, system, and program for managing data transfer and construction | |
EP2763045B1 (en) | Method and apparatus for allocating memory space with write-combine attribute | |
US20140337540A1 (en) | METHOD AND SYSTEM FOR I/O FLOW MANAGEMENT FOR PCIe DEVICES | |
EP3074873A1 (en) | Method and apparatus for storing data | |
US9652182B2 (en) | Shareable virtual non-volatile storage device for a server | |
US8463992B2 (en) | System and method for handling IO to drives in a raid system based on strip size | |
US9575914B2 (en) | Information processing apparatus and bus control method | |
CN1650276B (zh) | Ata/sata组合控制器 | |
CN111880727A (zh) | 一种用于硬盘端口号灵活分配的硬件架构及其实现方法 | |
CN103281260A (zh) | 支持PCIe的系统、设备及其资源分配方法 | |
US20210173591A1 (en) | Storage location assignment at a cluster compute server | |
WO2024113985A1 (zh) | 存储系统、数据处理方法及装置、非易失性存储介质及电子设备 | |
Marcus et al. | The MPRACE framework: An open source stack for communication with custom FPGA-based accelerators | |
CN100395742C (zh) | 可快速地于不同储存装置间传输数据的计算机系统 | |
CN114003170B (zh) | 一种基于FPGA的Raid卡驱动方法 | |
CN1503948A (zh) | 流水线化的ata设备初始化 | |
WO2009038257A1 (en) | Main board including ssd disk controllers | |
US20080301350A1 (en) | Method for Reassigning Root Complex Resources in a Multi-Root PCI-Express System | |
CN104461961A (zh) | 一种多核多线程的闪存装置及闪存控制方法 | |
US10628042B2 (en) | Control device for connecting a host to a 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 |