CN1971542A - 磁盘阵列协处理控制卡 - Google Patents
磁盘阵列协处理控制卡 Download PDFInfo
- Publication number
- CN1971542A CN1971542A CN 200610125188 CN200610125188A CN1971542A CN 1971542 A CN1971542 A CN 1971542A CN 200610125188 CN200610125188 CN 200610125188 CN 200610125188 A CN200610125188 A CN 200610125188A CN 1971542 A CN1971542 A CN 1971542A
- Authority
- CN
- China
- Prior art keywords
- interface
- disk array
- xor
- nvram
- flash memory
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 54
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 3
- 238000000151 deposition Methods 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
磁盘阵列协处理控制卡,属于计算机存储技术领域,目的在于加快XOR运算的执行速度、增强数据安全性,提高存储访问速度,用于启动磁盘阵列系统。本发明包括PCI接口、XOR处理引擎、加密逻辑单元、Flash Memory接口、NVRAM接口,以及Flash Memory芯片和NVRAM芯片,本发明具有PCI接口、采用FPGA实现,有很强的灵活性,其XOR处理引擎、加密逻辑单元、板载NVRAM能提高系统的I/O处理能力、数据安全性,缩短I/O响应时间,可以有效改善存储访问速度、解决存储安全等问题;保证了磁盘阵列控制系统的可靠性和稳定性,可用于磁盘阵列存储系统的启动并增强其性能。
Description
技术领域
本发明属于计算机存储技术领域,具体涉及一种磁盘阵列协处理控制卡,用于通过PCI设备启动磁盘阵列系统、提高系统性能。
背景技术
采用通用计算机部件构成的集成式磁盘阵列,其传统启动设备包括软盘、硬盘以及DOM、USB设备等。考虑到阵列系统的可靠性、稳定性、成本以及数据安全的要求,不适合采用软盘、硬盘或其它常规启动设备。另一方面,这些设备也不具备提供增强磁盘阵列性能的功能。
目前使用的磁盘阵列控制卡通过PCI接口连接到主机上,并提供多个硬盘接口,在主机内部构建磁盘阵列。这种磁盘阵列控制卡需要主机操作系统的支持,本身不能作为启动设备。这种磁盘阵列协处理卡采用专用集成电路芯片实现,硬件功能不能更改。另外一些协处理卡只具备单一功能,如专门进行数据加密的协处理卡及专门执行XOR运算的协处理卡。这类协处理卡有些用专用集成电路芯片实现,有些用FPGA实现。
发明内容
本发明提出一种磁盘阵列协处理控制卡,目的在于加快XOR运算的执行速度、增强数据安全性,提高存储访问速度,用于启动磁盘阵列系统。
本发明的一种磁盘阵列协处理控制卡,包括PCI接口、XOR处理引擎、加密逻辑单元、Flash Memory接口、NVRAM接口,以及Flash Memory芯片和NVRAM芯片,其中Flash Memory芯片和NVRAM芯片分别与Flash Memory接口、NVRAM接口电信号连接,XOR处理引擎、加密逻辑单元、Flash Memory接口及NVRAM接口通过PCI后端设备信号与PCI接口连接;PCI接口完成主机与本磁盘阵列协处理控制卡之间的命令和数据交互;XOR处理引擎完成异或运算;加密逻辑单元执行加密处理;Flash Memory接口和NVRAM接口分别负责控制Flash Memory芯片和NVRAM芯片;Flash Memory芯片用作PCI卡的扩展ROM,同时存放磁盘阵列控制程序;NVRAM芯片用作磁盘阵列的高速缓存。
所述的磁盘阵列协处理控制卡,其特征在于:所述Flash Memory芯片作为扩展ROM,存放遵循BBS协议的固件;对于磁盘阵列控制软件采用的操作系统pSOS+,VxWorks或Linux,该固件分别为遵循BBS协议的相应的版本。
所述的磁盘阵列协处理控制卡,其进一步特征在于:采用FPGA实现所述PCI接口、XOR处理引擎、加密逻辑单元、Flash Memory接口和NVRAM接口;所述Flash Memory芯片和NVRAM芯片为板载存储器。
所述的磁盘阵列协处理控制卡,所述XOR处理引擎可以包括XOR运算单元、双端口数据RAM、双端口地址RAM、局部Master模块、DMA模块和局部Target模块;XOR运算单元负责数据的异或运算;双端口数据RAM用于保存异或运算的中间结果和最终结果;双端口地址RAM用于保存待处理数据块的内存首地址以及返回的处理结果的内存首地址;局部Master模块负责通过PCI接口访问主机内存;DMA模块负责控制局部Master模块,并向上层软件提供访问接口;局部Target模块负责将通过PCI接口传输的待处理数据块首地址以及计算结果存放首地址存入双端口RAM 260中。
本发明中PCI接口是阵列主机与磁盘阵列协处理控制卡之间进行命令、数据交互的界面。当主机需要访问磁盘阵列协处理控制卡时,通过PCI接口向磁盘阵列协处理控制卡发出请求命令,磁盘阵列协处理控制卡根据命令的内容作相应的操作,包括读写板载存储器、执行XOR运算和加密处理,完成后再通过PCI接口提交返回的数据。PCI接口是广泛使用的计算机外部设备接口,保证了本磁盘阵列协处理控制卡具有良好的兼容性。
XOR处理引擎和加密逻辑单元能高速执行大批量数据的异或运算和加密运算,并使用DMA控制器完成片内RAM(Random Access Memory,随机访问存储器)和主机内存之间的数据传输。
磁盘阵列协处理控制卡的扩展ROM中包括三个数据结构:扩展ROM头部(Option ROM Header)、PCI头部(PCI Data Structure)和PNP扩展头部(PNP Expansion Header)。扩展ROM头部用于对整个扩展ROM的总体参数和组织结构等进行定义,它还包括INIT函数的入口点。PCI头部定义了与该设备相关的基本参数。PNP扩展头部则定义了BBS协议规定的参数,包括BEV(Bootstrap Entry Vector)设备的入口地址。此外扩展ROM中还包括INIT函数。INIT函数在BIOS的POST过程中执行,它用于检测BIOS是否支持BBS。BEV设备的入口地址指向定制的加载程序,该程序将操作系统加载程序和操作系统内核拷贝到内存中,并启动操作系统加载程序的执行。
本发明是具有PCI接口、采用FPGA实现的非常规启动设备,其XOR处理引擎、加密逻辑单元、板载NVRAM能提高系统的I/O处理能力、数据安全性,缩短I/O响应时间。同时,本发明采用FPGA实现,有很强的灵活性,通过对FPGA配置文件的修改,可以针对具体的应用提供不同的功能部件,如增加XOR处理引擎的数量、采用不同的加密算法等。将实现这种PCI接口的多功能磁盘阵列协处理控制卡的方法应用于存储系统控制卡的设计中,可以有效的改善存储访问速度、解决存储安全等问题;本发明实现的磁盘阵列协处理控制卡,保证了磁盘阵列控制系统的可靠性和稳定性,可用于磁盘阵列存储系统的启动并增强其性能。
附图说明
图1为本发明的结构示意图;
图2为本发明XOR处理引擎的结构示意图;
图3为本发明加密逻辑单元的处理流程框图;
图4为一次加密迭代的处理流程框图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,本发明的协处理控制卡包括由FPGA器件实现的PCI接口110、Flash Memory接口120、XOR处理引擎130、加密逻辑单元140和NVRAM接口150,以及板载存储器Flash Memory芯片160和NVRAM芯片170几个主要部分。PCI接口110为32位/64位33MHz/66MHz的PCI(Peripheral Component Interconnect)接口,亦可以采用更高速的PCI-X接口而获取更高的速度性能。主机通过PCI接口访问Flash Memory接口120、XOR处理引擎130、加密逻辑单元140和NVRAM接口150。Flash Memory芯片160用作PCI卡的扩展ROM,同时存放磁盘阵列控制程序;NVRAM芯片170用作磁盘阵列的Cache。
图2为XOR处理引擎的处理流程结构框图。XOR处理引擎包括XOR运算单元240、双端口数据RAM250、双端口地址RAM260、局部Master模块210、DMA模块220和局部Target模块230。XOR运算单元240负责数据的异或运算;双端口数据RAM250用于保存异或运算的中间结果和最终结果;双端口地址RAM260用于保存待处理数据块的内存首地址以及返回的处理结果的内存首地址;局部Master模块210负责通过PCI接口访问主机内存;DMA模块220负责控制局部Master模块,并向上层软件提供访问接口;局部Target模块230负责将通过PCI接口传输的待处理数据块首地址以及计算结果存放首地址存入双端口RAM260中。
当需要对数据块执行XOR处理时,程序先将待处理数据块的首地址和计算结果存放首地址通过局部Target模块230依次写入双端口地址RAM260中,并将待处理的数据块数目和大小传递给DMA模块220,DMA模块220随即读取双端口地址RAM260中的待处理数据块的首地址,通过局部Master模块210读取内存中的待处理数据并存入双端口数据RAM250中,随后XOR运算单元240执行数据的异或运算,当处理完全部数据后,DMA模块220再次通过局部Master模块210将计算结果送到主机内存中的指定地址。
图3为加密逻辑单元的处理流程框图,采用的加密算法为数据加密标准算法(Data Encryption Stamdard,DES),64位明文数据经过初始置换、16次加密迭代、逆初始置换之后以64位密文数据输出。
图4为一次加密迭代的处理流程,进入加密迭代的64位数据,左边32位构成Li-1,右边32位构成Ri-1;64位密钥经过变换产生16个子密钥,分别供16次加密迭代使用;扩充置换E将32位Ri-1扩充为48位输出;该输出与子密钥作异或运算,得到的结果作为选择函数组S的输入;选择函数组S根据输入数据确定其对应的每个选择矩阵的行号和列号,由此得到32位输出;该输出通过置换运算P得到的结果与Li-1异或得到下一次迭代的右边32位数据Ri;而Ri-1作为下一次迭代的左边32位数据Li。
系统上电后,FPGA由其专用的配置芯片进行主动配置,10秒钟内磁盘阵列协处理控制卡完成自身初始化工作。在系统自检POST(Power-On Self Test)过程中,BIOS会发现磁盘阵列协处理控制卡为启动设备。接着磁盘阵列协处理控制卡BIOS的INIT功能检测系统BIOS是否支持BBS,如果支持则按BBS协议给出返回值,如果不支持则抢占19H中断。在POST正常完成后,则调用19H中断进行系统引导,19H中断服务例程会执行磁盘阵列协处理控制卡的加载程序,将操作系统加载程序和目标文件加载到内存中,跳转至操作系统加载程序入口处,完成引导。至此,磁盘阵列进入正常工作状态,控制程序协调和控制整个系统,通过对PCI协处理控制卡寄存器的访问指挥协处理控制卡执行对数据的缓存、加密以及异或运算等操作。
Claims (4)
1.一种磁盘阵列协处理控制卡,包括PCI接口、XOR处理引擎、加密逻辑单元、Flash Memory接口、NVRAM接口,以及Flash Memory芯片和NVRAM芯片,其中Flash Memory芯片和NVRAM芯片分别与Flash Memory接口、NVRAM接口电信号连接,XOR处理引擎、加密逻辑单元、Flash Memory接口及NVRAM接口通过PCI后端设备信号与PCI接口连接;PCI接口完成主机与本磁盘阵列协处理控制卡之间的命令和数据交互;XOR处理引擎完成异或运算;加密逻辑单元执行加密处理;Flash Memory接口和NVRAM接口分别负责控制Flash Memory芯片和NVRAM芯片;Flash Memory芯片用作PCI卡的扩展ROM,同时存放磁盘阵列控制程序;NVRAM芯片用作磁盘阵列的高速缓存。
2.如权利要求1所述的磁盘阵列协处理控制卡,其特征在于:所述Flash Memory芯片作为扩展ROM,存放遵循BBS协议的固件;对于磁盘阵列控制软件采用的操作系统pSOS+,VxWorks或Linux,该固件分别为遵循BBS协议的相应的版本。
3.如权利要求1或2所述的磁盘阵列协处理控制卡,其特征在于:采用FPGA实现所述PCI接口、XOR处理引擎、加密逻辑单元、FlashMemory接口和NVRAM接口;所述Flash Memory芯片和NVRAM芯片为板载存储器。
4.如权利要求3所述的磁盘阵列协处理控制卡,其特征在于:所述XOR处理引擎包括XOR运算单元、双端口数据RAM、双端口地址RAM、局部Master模块、DMA模块和局部Target模块;XOR运算单元负责数据的异或运算;双端口数据RAM用于保存异或运算的中间结果和最终结果;双端口地址RAM用于保存待处理数据块的内存首地址以及返回的处理结果的内存首地址;局部Master模块负责通过PCI接口访问主机内存;DMA模块负责控制局部Master模块,并向上层软件提供访问接口;局部Target模块负责将通过PCI接口传输的待处理数据块首地址以及计算结存放首地址存入双端口RAM 260中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101251888A CN100504822C (zh) | 2006-11-29 | 2006-11-29 | 磁盘阵列协处理控制卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101251888A CN100504822C (zh) | 2006-11-29 | 2006-11-29 | 磁盘阵列协处理控制卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1971542A true CN1971542A (zh) | 2007-05-30 |
CN100504822C CN100504822C (zh) | 2009-06-24 |
Family
ID=38112374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101251888A Expired - Fee Related CN100504822C (zh) | 2006-11-29 | 2006-11-29 | 磁盘阵列协处理控制卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100504822C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751978B (zh) * | 2008-12-01 | 2012-12-26 | 研祥智能科技股份有限公司 | 一种基于nand flash的电子盘及其运行控制方法 |
CN109656758A (zh) * | 2018-11-20 | 2019-04-19 | 中科曙光信息产业成都有限公司 | 用于异构双处理器系统芯片的调试方法及系统 |
US11556656B2 (en) * | 2019-09-25 | 2023-01-17 | Micron Technology, Inc. | Exclusive or engine on random access memory |
-
2006
- 2006-11-29 CN CNB2006101251888A patent/CN100504822C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751978B (zh) * | 2008-12-01 | 2012-12-26 | 研祥智能科技股份有限公司 | 一种基于nand flash的电子盘及其运行控制方法 |
CN109656758A (zh) * | 2018-11-20 | 2019-04-19 | 中科曙光信息产业成都有限公司 | 用于异构双处理器系统芯片的调试方法及系统 |
CN109656758B (zh) * | 2018-11-20 | 2022-02-22 | 中科曙光信息产业成都有限公司 | 用于异构双处理器系统芯片的调试方法及系统 |
US11556656B2 (en) * | 2019-09-25 | 2023-01-17 | Micron Technology, Inc. | Exclusive or engine on random access memory |
Also Published As
Publication number | Publication date |
---|---|
CN100504822C (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121672A (zh) | 一种基于NandFlash存储器多通道的存储阵列控制方法与装置 | |
US10387064B2 (en) | Storage device, host communicating with the storage device, and electronic device including the storage device | |
CN103778075B (zh) | 安全管理单元、包括它的主机控制器接口及其操作方法 | |
CN106970864B (zh) | 片上系统、移动终端和用于操作片上系统的方法 | |
US11604594B2 (en) | Apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator | |
CN101965559B (zh) | 包括将处理器与内部存储器连接的交叉切换器的用于闪存的存储控制器 | |
US11038749B2 (en) | Memory resource allocation in an end-point device | |
EP3061008B1 (en) | Data storage device supporting accelerated database operations | |
CN1382277A (zh) | 靠近局部输入/输出总线的桥接器中的输入/输出地址转换 | |
JPH07134701A (ja) | シングルチップマイクロコンピュータ | |
TW201305821A (zh) | 控制快閃記憶體介質系統的方法、裝置及固態記憶體件 | |
CN103092810A (zh) | 具有可编程虚拟端口的处理器 | |
CN207008602U (zh) | 一种基于NandFlash存储器多通道的存储阵列控制装置 | |
US8397005B2 (en) | Masked register write method and apparatus | |
US7612780B2 (en) | Optimized memory addressing | |
CN110175107A (zh) | 一种fpga云服务器性能的测试方法及测试系统 | |
CN100504822C (zh) | 磁盘阵列协处理控制卡 | |
CN201011563Y (zh) | 磁盘阵列协处理控制卡 | |
CN1503948A (zh) | 流水线化的ata设备初始化 | |
CN114945984A (zh) | 扩展存储器通信 | |
US11550740B2 (en) | Data storage device with an exclusive channel for flag checking of read data, and non-volatile memory control method | |
EP4180936A1 (en) | Virtualized system and method of controlling access to nonvolatile memory device in virtualization environment | |
US11099762B2 (en) | Multi host controller and semiconductor device including the same | |
CN104834501A (zh) | 一种基于l结构处理器的寄存器和寄存器操作方法 | |
KR102656104B1 (ko) | 비휘발성 메모리 제어 장치 및 비휘발성 메모리 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090624 |
|
CF01 | Termination of patent right due to non-payment of annual fee |