发明名称 |
基于SATA控制器的RAID数据块拆分、组装方法 |
摘要 |
基于SATA控制器的RAID数据块拆分、组装方法,涉及计算机存储技术,该SATA控制器的传输层由链路层接口模块、总线接口模块、读DMA模块、写DMA模块、寄存器、端口控制模块、错误处理模块组成;拆分方法是设定标识绑定磁盘个数、数据块拆分与组装的基本单位和标识起始偏移三个变量;SATA控制器的写DMA模块根据数据起始地址及上述变量,按每次取数地址为上次取数地址再加上绑定磁盘个数与基本单位的乘积这一规则从内存地址依次取数,取数长度不变,直到取数地址超出这次写操作结尾地址范围;读磁盘的数据块组装方法与写磁盘原理相同。本发明可以提高RAID系统的整体性能。 |
申请公布号 |
CN102169419A |
申请公布日期 |
2011.08.31 |
申请号 |
CN201110082905.4 |
申请日期 |
2011.04.02 |
申请人 |
无锡众志和达存储技术有限公司 |
发明人 |
张庆敏;张衡;胡刚;宋君 |
分类号 |
G06F3/06(2006.01)I;G06F13/28(2006.01)I |
主分类号 |
G06F3/06(2006.01)I |
代理机构 |
江苏英特东华律师事务所 32229 |
代理人 |
邵鋆 |
主权项 |
基于SATA控制器的RAID数据块拆分、组装方法,所涉及的SATA控制器,含有物理层,链路层和传输层,其中,传输层与系统总线连接,采用AHCI模式,其特征在于,传输层由以下几个模块组成:链路层接口模块、总线接口模块、 读DMA模块(rd_dma)、写DMA模块(wr_dma)、寄存器(reg_file)、端口控制模块(port_ctrl)、错误处理模块;本方法包括数据块的拆分和组装两部分,拆分方法是在数据写入的时候同时进行拆分:端口控制模块(port_ctrl)从内存中读出写磁盘相关操作描述符写入寄存器,描述符中包含标识绑定磁盘个数(disk_num)、数据块拆分与组装的基本单位(block_size)和标识起始偏移(offset)这三个变量;写DMA模块(wr_dma)从寄存器(reg_file)中取出数据起始地址(data_base_addr)及上述变量,从内存的数据块起始地址与起始偏移之和(data_base_addr+offset)的位置开始取数,取数长度为数据块拆分与组装的基本单位(block_size),然后按一个序列规则从内存地址依次取数,该规则是:每次取数地址为上次取数地址再加上绑定磁盘个数与基本单位的乘积(data_base_addr+offset+(disk_num×block_size)),取数长度不变,直到取数地址超出这次写操作结尾地址范围;读磁盘的数据块组装方法是:读DMA模块(rd_dma)从寄存器中取出数据起始地址及三个变量,从磁盘中读出长度为基本单位(block_size)的数据,写入内存的data_base_addr+offset位置,第二次读数据写入内存data_base_addr+offset+(disk_num×block_size)位置;往后依次,每次写入内存地址为上次地址加上 disk_num×block_size,长度不变,直到地址超出这次读操作结尾地址范围。 |
地址 |
214000 江苏省无锡市新区震泽路18号江苏软件外包产业园金牛座A栋6层 |