CN103336745B - 一种基于ssd缓存的fc hba及其设计方法 - Google Patents

一种基于ssd缓存的fc hba及其设计方法 Download PDF

Info

Publication number
CN103336745B
CN103336745B CN201310269090.XA CN201310269090A CN103336745B CN 103336745 B CN103336745 B CN 103336745B CN 201310269090 A CN201310269090 A CN 201310269090A CN 103336745 B CN103336745 B CN 103336745B
Authority
CN
China
Prior art keywords
ssd
data
hba
controller
server
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
Application number
CN201310269090.XA
Other languages
English (en)
Other versions
CN103336745A (zh
Inventor
张庆敏
张衡
宋君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi North Data Calculation Ltd By Share Ltd
Original Assignee
Wuxi North Data Calculation Ltd By Share Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi North Data Calculation Ltd By Share Ltd filed Critical Wuxi North Data Calculation Ltd By Share Ltd
Priority to CN201310269090.XA priority Critical patent/CN103336745B/zh
Publication of CN103336745A publication Critical patent/CN103336745A/zh
Application granted granted Critical
Publication of CN103336745B publication Critical patent/CN103336745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于SSD缓存的FC HBA及其设计方法,使用SSD存储器作为FC HBA的缓冲存储器,服务器与FC HBA之间采用PCIe接口进行通讯,存储设备与FC HBA之间采用FC接口进行通讯;SSD缓冲存储器对传输的数据进行缓冲存储,包括服务器与存储设备之间的数据以及存储设备与存储设备之间的数据。以SSD存储器作为FC HBA的数据缓存,即为其提供一个大容量高速的缓冲存储器,缓存的容量可达100GB~2TB,甚至更大的范围。服务器只需对FC HBA中的SSD缓冲存储器进行访问即可得到需要的数据,无需对存储设备进行访问,即缩短了服务器到存储设备之间的数据延时,从而有效提高系统的IOPS。同时,以SSD存储器作为缓存的FC HBA能够有效提高存储网络数据传输率。

Description

一种基于SSD缓存的FC HBA及其设计方法
技术领域
本发明公开了一种基于SSD缓存的FC HBA及其设计方法,涉及网络存储中FC HBA的设计领域。
背景技术
现有的FC HBA(host bus adapter,存储设备总线适配器)大多是仅仅作为服务器和多个存储设备之间的数据传输桥,具有很小的数据缓存能力,如几KB。然而,服务器与存储设备之间的一次性数据传输能够传输的数据块较小,例如4KB,并且服务器与存储设备之间的数据访问还存在数据延时。这些方面都会导致存储网络IOPS(每秒进行I/O读写操作的次数)的降低,从而降低存储网络的性能。尤其是在服务器需要重复的使用某一些数据时,即需要重复读写存储设备上的某一些数据块,这将会降低存储网络中的FC传输信道的使用率,从而降低存储网络的数据传输率。
SSD(Solid State Disk)存储器,也称作固态硬盘,是一种利用DRAM芯片或FLASH芯片作为存储介质的存储器。SSD存储器读取速度相对机械硬盘更快,尤其是在随机数据读写上更是存在无与伦比的优势。但是相对与DDR3等主存储器,其在读写速度上具有较大差距,但是其在存储空间以及成本上则具有较大优势。因此,SSD存储器可以用作对读写速度要求较低的存储系统的大容量高速缓存。
发明内容
本发明所要解决的技术问题是:针对现有技术的缺陷,提出了一种以SSD存储器作为缓存的FC HBA的设计方法,这使得FC HBA具有大容量高速的数据缓冲区,能够有效提高服务器和存储设备之间的数据传输效率。
本发明为解决上述技术问题采用以下技术方案:一种基于SSD缓存的FC HBA设计方法,使用SSD存储器作为FC HBA的缓冲存储器,服务器与FC HBA之间采用PCIe接口进行通讯,存储设备与FC HBA之间采用FC接口进行通讯;SSD存储器对服务器与存储设备之间的数据以及存储设备与存储设备之间的数据进行缓冲存储,
(1)当SSD存储器中没有服务器所需的数据时,服务器直接通过FC接口获取存储设备数据;
(2)当SSD存储器中存在服务器或者存储设备需要的数据时,服务器或存储设备直接在SSD存储器中获取数据。
按照所述的一种基于SSD缓存的FC HBA设计方法所构造的一种基于SSD缓存的FCHBA,包括FPGA芯片、主存储器、SSD存储器、PCIe接口、FC接口,所述FPGA芯片内部实现有CPU、FC控制器、DMA控制器、SSD控制器、主存控制器、PCIe内核、交换总线;
CPU,用于协调FC控制器、DMA控制器、SSD控制器、主存控制器以及PCIe内核之间的相互数据访问;
SSD存储器,用于临时存放服务器与各个存储设备之间通过FC接口传输的数据;
SSD控制器,用于提供CPU以及DMA控制器对SSD存储器的数据访问支持;
主存储器,部分空间用于存放CPU运行过程中所需要的指令和数据;剩余空间则存储服务器与存储设备之间的数据传输中的部分数据;
主存控制器,用于提供CPU以及DMA控制器对主存储器的数据访问支持;
FC控制器,其内部设置FC IP内核,FC IP内核的数量和FC接口数量一致,FC控制器用于实现FC协议标准数据传输及其控制;
FC接口,用于连接FC HBA和存储设备,并支持它们之间的数据传输;
PCIe内核,用于实现PCIe协议标准数据传输及其控制;
PCIe接口,用于连接FC HBA和服务器,支持它们之间的数据传输;
交换总线,用于实现CPU、FC控制器、SSD控制器、DMA控制器、主存控制器以及PCIe内核之间的连接,并提供它们之间的数据访问通路;
DMA控制器,为SSD存储器与FC控制器、SSD存储器与PCIe内核、SSD存储器与主存储器、主存储器与FC控制器以及主存储器与PCIe内核之间的数据传输提供快速传送机制。
进一步的,所述CPU为PowerPC硬核,所述交换总线为PLB总线,所述主存控制器为DDR3控制器,所述PCIe内核遵循PCIe 2.0标准协议。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:以SSD存储器作为FC HBA的数据缓存,即为其提供一个大容量高速的缓冲存储器,缓存的容量可达100GB~2TB,甚至更大的范围。服务器只需对FC HBA中的SSD缓冲存储器进行访问即可得到需要的数据,无需对存储设备进行访问,即缩短了服务器到存储设备之间的数据延时,从而有效提高系统的IOPS。
使用SSD存储器作为FC HBA的数据缓冲存储器,可以为其提供大容量的缓存,因此可以支持在FC HBA内部做数据I/O聚合处理,即把每次的4KB等较小的I/O读写块聚合成为16MB、32MB或者更大的I/O读写块,从而有效提高传输信道的使用率。以SSD存储器作为缓存的FC HBA能够有效提高存储网络数据传输率。
附图说明
图1为本发明提出的以SSD存储器作为缓存的FC HBA的结构框图。
图2为本发明提出的基于SSD缓存的FC HBA的一个具体实施例。
图3为FC HBA的实施例中FPGA芯片的具体架构图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
图1所示为本发明提出的基于SSD缓存的FC HBA的系统架构,由FPGA芯片(Field-Programmable Gate Array,即现场可编程门阵列)、Mem(主存储器)、SSD存储器、PCIe接口和多个FC接口组成。FPGA芯片内部实现有CPU、FC Controller(FC控制器)、DMA Controller(DMA控制器)、SSD Controller(SSD控制器)、Mem Controller(主存控制器)、PCIe Core(PCIe内核)以及Crossbar(交换总线)。CPU 、DMA控制器分别和交换总线相连接,交换总线分别通过FC控制器、SSD控制器、主存控制器、PCIe内核和FC接口、SSD存储器、主存储器、PCIe接口相连接。
CPU是一个简单的处理器,主要用于协调FC控制器、SSD控制器、DMA控制器、主存控制器以及PCIe内核之间的相互数据访问。
SSD存储器用于临时存放服务器与各个存储设备之间通过FC接口传输的数据,即作为服务器与各个存储设备之间FC数据传输的数据缓存,从而为服务器与各个存储设备之间的FC数据传输提供一个大容量并且高速的数据缓冲器。
SSD控制器的作用是提供CPU以及DMA控制器对SSD存储器的数据访问支持。
主存储器的作用有两点,其中的一部分空间用于存放CPU运行过程中所需要的指令和数据;另一部分剩余空间则存储服务器与存储设备之间的数据传输中的部分数据,即与SSD缓冲存储器具有相同的功能。
主存控制器的作用是提供CPU以及DMA控制器对主存储器的数据访问支持。
FC控制器内有一个或多个FC IP内核,和FC接口数量一致。FC控制器以FC标准协议为基础,实现FC协议标准数据传输及其控制。
FC接口用于连接FC HBA和各个存储设备,并支持它们之间的数据传输。
PCIe内核以PCIe标准为基础,实现PCIe协议标准数据传输及其控制。
PCIe接口用于连接FC HBA和服务器,并支持它们之间的数据传输。
Crossbar实现了CPU、FC控制器、SSD控制器、DMA控制器、主存控制器以及PCIe内核之间的连接,并提供它们之间的数据访问通路。
DMA控制器为SSD存储器与FC控制器、SSD存储器与PCIe内核、SSD存储器与主存储器、主存储器与FC控制器以及主存储器与PCIe内核之间的数据传输提供快速传送机制。
基于SSD缓存的FC HBA中存在3条与服务器和存储设备相关的数据通路,分别如下所示:
(1)当SSD缓存中没有服务器所需的数据时,服务器直接通过FC接口获取存储设备数据;
(2)当FC HBA的数据缓存中存在服务器需要的数据时,服务器直接在SSD存储器中获取数据;
(3)当FC HBA的数据缓存中存在存储设备需要的数据时,存储设备直接从SSD存储器中获取数据。
图2所示为本发明提出的基于SSD缓存的FC HBA的一个具体实施例及其与存储网络中其他设备之间的连接关系。图2所示实施例包括一台服务器、两台存储设备以及一块FCHBA,其中FC HBA使用一块DDR3内存条作为主存。
图3所示为图2中实施例的FPGA芯片及其内部的结构,FPGA芯片使用Xilinx公司的一款芯片,其内部的CPU为FPGA芯片自身的PowerPC硬核,Crossbar则使用了PLB总线,主存控制器为DDR3控制器,PCIe内核遵循PCIe 2.0标准协议。
在图2所示的实施例中存在3条数据通路,如下所示:
第一条数据通路是指服务器与存储设备之间的直接数据传输,即SSD缓存或者DDR3主存中不存在服务器或存储设备所需的数据,其数据通路为服务器→FC HBA的PCIe内核→FC HBA的FC控制器→存储设备,或者是相反的数据传输方向;
第二条数据通路是指服务器与FC HBA的数据缓存(SSD存储器或DDR3主存)之间的数据传输,即FC HBA的数据缓存中存在服务器需要读取的数据或者需要写入的数据的缓存映射,其数据通路为FC HBA的数据缓存(SSD存储器或者DDR3主存)→FC HBA的PCIe内核→服务器,或者相反的数据传输方向;
第三条数据通路是指存储设备与FC HBA的数据缓存(SSD存储器或DDR3主存)之间的数据传输,即FC HBA的数据缓存中存在服务器需要读取的数据或者需要写入的数据的缓存映射,其数据通路为FC HBA的数据缓存(SSD存储器或者DDR3主存)→FC HBA的FC控制器→存储设备,或者相反的数据传输方向。

Claims (2)

1.一种基于SSD缓存的FC HBA,其特征在于:包括FPGA芯片、主存储器、SSD存储器、PCIe接口、FC接口,所述FPGA芯片内部实现有CPU、FC控制器、DMA控制器、SSD控制器、主存控制器、PCIe内核、交换总线;
CPU,用于协调FC控制器、DMA控制器、SSD控制器、主存控制器以及PCIe内核之间的相互数据访问;
SSD存储器,用于临时存放服务器与各个存储设备之间通过FC接口传输的数据;
SSD控制器,用于提供CPU以及DMA控制器对SSD存储器的数据访问支持;
主存储器,部分空间用于存放CPU运行过程中所需要的指令和数据;剩余空间则存储服务器与存储设备之间的数据传输中的部分数据;
主存控制器,用于提供CPU以及DMA控制器对主存储器的数据访问支持;
FC控制器,其内部设置FC IP内核,FC IP内核的数量和FC接口数量一致,FC控制器用于实现FC协议标准数据传输及其控制;
FC接口,用于连接FC HBA和存储设备,并支持它们之间的数据传输;
PCIe内核,用于实现PCIe协议标准数据传输及其控制;
PCIe接口,用于连接FC HBA和服务器,支持它们之间的数据传输;
交换总线,用于实现CPU、FC控制器、SSD控制器、DMA控制器、主存控制器以及PCIe内核之间的连接,并提供它们之间的数据访问通路;
DMA控制器,为SSD存储器与FC控制器、SSD存储器与PCIe内核、SSD存储器与主存储器、主存储器与FC控制器以及主存储器与PCIe内核之间的数据传输提供快速传送机制;
基于SSD 缓存的FC HBA 中存在3 条与服务器和存储设备相关的数据通路,分别如下:
(1)当SSD 缓存中没有服务器所需的数据时,服务器直接通过FC 接口获取存储设备数据;
(2)当FC HBA 的数据缓存中存在服务器需要的数据时,服务器直接在SSD 存储器中获取数据;
(3)当FC HBA 的数据缓存中存在存储设备需要的数据时,存储设备直接从SSD 存储器中获取数据;
服务器只需对FC HBA 中的SSD 缓冲存储器进行访问即可得到需要的数据,无需对存储设备进行访问,即缩短了服务器到存储设备之间的数据延时,从而提高系统的IOPS。
2.如权利要求1所述的一种基于SSD缓存的FC HBA,其特征在于:所述CPU为PowerPC硬核,所述交换总线为PLB总线,所述主存控制器为DDR3控制器,所述PCIe内核遵循PCIe 2.0标准协议。
CN201310269090.XA 2013-07-01 2013-07-01 一种基于ssd缓存的fc hba及其设计方法 Active CN103336745B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310269090.XA CN103336745B (zh) 2013-07-01 2013-07-01 一种基于ssd缓存的fc hba及其设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310269090.XA CN103336745B (zh) 2013-07-01 2013-07-01 一种基于ssd缓存的fc hba及其设计方法

Publications (2)

Publication Number Publication Date
CN103336745A CN103336745A (zh) 2013-10-02
CN103336745B true CN103336745B (zh) 2017-02-01

Family

ID=49244915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310269090.XA Active CN103336745B (zh) 2013-07-01 2013-07-01 一种基于ssd缓存的fc hba及其设计方法

Country Status (1)

Country Link
CN (1) CN103336745B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714918B (zh) * 2013-12-15 2018-01-12 中国航空工业集团公司第六三一研究所 主机环境下高速fc总线数据接收及缓冲方法
CN103984569A (zh) * 2014-04-30 2014-08-13 浪潮电子信息产业股份有限公司 一种hba卡加速方法
CN106155583B (zh) * 2015-05-13 2019-12-03 西部数据技术公司 缓存固态设备读取请求结果的系统和方法
CN105204778A (zh) * 2015-08-20 2015-12-30 浪潮电子信息产业股份有限公司 一种增加缓存的存储底层架构
CN105161132A (zh) * 2015-08-27 2015-12-16 浪潮电子信息产业股份有限公司 一种基于FPGA的NVMe SSD只读保护方法
CN105224482B (zh) * 2015-10-16 2018-05-25 浪潮(北京)电子信息产业有限公司 一种fpga加速卡高速存储系统
CN105335103B (zh) * 2015-10-22 2017-05-03 湖南国科微电子股份有限公司 一种pcie ssd阵列的数据写方法及系统
CN105204787B (zh) * 2015-10-22 2017-03-08 湖南国科微电子股份有限公司 一种pcie ssd阵列的数据读方法、系统及读写方法
US10452598B2 (en) * 2016-10-18 2019-10-22 Micron Technology, Inc. Apparatuses and methods for an operating system cache in a solid state device
US10558367B2 (en) 2018-03-08 2020-02-11 Western Digital Technologies, Inc. Adaptive transaction layer packet for latency balancing
US10740000B2 (en) 2018-03-08 2020-08-11 Western Digital Technologies, Inc. Adaptive transaction layer packet for latency balancing
US10884672B2 (en) 2018-04-02 2021-01-05 Samsung Electronics Co., Ltd. NDP-server: a data-centric computing architecture based on storage server in data center
US11030100B1 (en) 2019-11-18 2021-06-08 International Business Machines Corporation Expansion of HBA write cache using NVDIMM
CN116700604B (zh) * 2023-02-20 2023-11-14 无锡众星微系统技术有限公司 一种基于sas hba的数据传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1871587A (zh) * 2003-10-20 2006-11-29 罗得岛及普罗维登斯属地高等教育管理委员会 存储服务器的自底向上高速缓存结构
CN1945537A (zh) * 2006-07-27 2007-04-11 清华大学 基于存储区域网络的高速固态存储设备的实现方法
CN102868684A (zh) * 2012-08-28 2013-01-09 浪潮(北京)电子信息产业有限公司 一种光纤通道目标器及光纤通道目标器实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011135612A1 (en) * 2010-04-27 2011-11-03 Hitachi, Ltd. Storage apparatus and method for controlling storage apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1871587A (zh) * 2003-10-20 2006-11-29 罗得岛及普罗维登斯属地高等教育管理委员会 存储服务器的自底向上高速缓存结构
CN1945537A (zh) * 2006-07-27 2007-04-11 清华大学 基于存储区域网络的高速固态存储设备的实现方法
CN102868684A (zh) * 2012-08-28 2013-01-09 浪潮(北京)电子信息产业有限公司 一种光纤通道目标器及光纤通道目标器实现方法

Also Published As

Publication number Publication date
CN103336745A (zh) 2013-10-02

Similar Documents

Publication Publication Date Title
CN103336745B (zh) 一种基于ssd缓存的fc hba及其设计方法
US10318164B2 (en) Programmable input/output (PIO) engine interface architecture with direct memory access (DMA) for multi-tagging scheme for storage devices
CN108074593B (zh) 用于非易失性存储器的接口
US10528267B2 (en) Command queue for storage operations
KR102556431B1 (ko) 이종 불휘발성 메모리 형태를 갖는 솔리드 스테이트 드라이브
US20160259568A1 (en) Method and apparatus for storing data
US9021189B2 (en) System and method for performing efficient processing of data stored in a storage node
KR101557624B1 (ko) 계층적 메모리 구조를 위한 메모리 장치
US20150032937A1 (en) System and method for performing efficient searches and queries in a storage node
US10372371B2 (en) Dynamic data relocation using cloud based ranks
US10528286B2 (en) Interface for non-volatile memory
US9411519B2 (en) Implementing enhanced performance flash memory devices
CN104516824B (zh) 数据存储系统中的存储管理方法和系统
CN115495389B (zh) 存储控制器、计算存储装置以及计算存储装置的操作方法
KR101254646B1 (ko) 솔리드 스테이트 드라이브 테스터에서 스토리지 인터페이스장치
US10235054B1 (en) System and method utilizing a cache free list and first and second page caches managed as a single cache in an exclusive manner
CN113468083B (zh) 一种双端口NVMe控制器及控制方法
CN104409099A (zh) 基于FPGA的高速eMMC阵列控制器
CN105653213A (zh) 一种基于Freescale P3041的双控磁盘阵列
US10437495B1 (en) Storage system with binding of host non-volatile memory to one or more storage devices
Hung et al. PCI express-based NVMe solid state disk
US11733920B2 (en) NVMe simple copy command support using dummy virtual function
CN105404471B (zh) 一种分布式云存储高速缓存层实现方法
CN105204786B (zh) 一种pcie ssd阵列的数据写方法及系统
KR101569049B1 (ko) 패스 스루 스토리지 디바이스들

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 214028 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Wuxi Software Park Building 6 layer A Taurus

Applicant after: WUXI SOUL DATA COMPUTING CO., LTD.

Address before: 214028 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Wuxi Software Park Building 6 layer A Taurus

Applicant before: SOUL Storage Technology (Wuxi) Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SOUL STORAGE TECHNOLOGY UXI O., LTD. TO: SOUL DATA COMPUTING (WUXI) CO., LTD.

SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 214028 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Wuxi Software Park Building 6 layer A Taurus

Applicant after: Wuxi North data calculation Limited by Share Ltd

Address before: 214028 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Wuxi Software Park Building 6 layer A Taurus

Applicant before: WUXI SOUL DATA COMPUTING CO., LTD.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant