CN105549916B - PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法 - Google Patents

PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法 Download PDF

Info

Publication number
CN105549916B
CN105549916B CN201511027916.7A CN201511027916A CN105549916B CN 105549916 B CN105549916 B CN 105549916B CN 201511027916 A CN201511027916 A CN 201511027916A CN 105549916 B CN105549916 B CN 105549916B
Authority
CN
China
Prior art keywords
pcie
order
module
controller
hard disk
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
CN201511027916.7A
Other languages
English (en)
Other versions
CN105549916A (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.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics Co 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 Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201511027916.7A priority Critical patent/CN105549916B/zh
Publication of CN105549916A publication Critical patent/CN105549916A/zh
Application granted granted Critical
Publication of CN105549916B publication Critical patent/CN105549916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system

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

本发明公开了一种PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法,其中PCIe固态硬盘控制器包括PCIe控制接口、CPU、FLASH控制器、DMA模块和缓存,所述PCIe控制接口的上行端口与主机相连,还包括收发控制模块和命令/响应转发模块,所述PCIe控制接口通过收发控制模块与CPU相连,所述收发控制模块通过命令/响应转发模块与PCIe控制接口相连;所述CPU将所述PCIe固态硬盘控制器配置为主控制器或从控制器。本发明能够灵活扩展,由于主控制器和多个从控制器可同时运行,提高了性能,性能约为现有的单个设备PCIe固态硬盘的N倍;主控制器和多个从控制器分别控制相同数量的存储芯片,扩大了容量,容量约为现有的单个设备PCIe固态硬盘的N倍。

Description

PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写 方法
技术领域
本发明属于数据存储技术领域,特别涉及一种PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法。
背景技术
随着大数据时代到来,各行各业对数据存储的需求呈爆炸式的增长。基于PCIe接口的固态硬盘,由于其接口速度上的优势,已经逐渐成为各类计算机系统的标准存储设备。
如图1所示,现有的基于PCIe接口的固态硬盘包括一个PCIe固态硬盘控制器2和若干存储芯片3(通常为FLASH闪存芯片),其中PCIe固态硬盘控制器2包括PCIe控制接口4、CPU7、FLASH控制器8、DMA模块9和缓存10,所述PCIe控制接口4的上行端口与主机1相连,所述PCIe控制接口4均与CPU7相连,所述CPU7还通过FLASH控制器8与存储芯片3相连,所述CPU7还分别与DMA模块9和缓存10相连,所述缓存10通过DMA模块9和PCIe控制接口4相连。其中PCIe控制接口4完成标准PCIe协议控制功能,CPU7负责处理主机1的命令,完成读写数据搬移的控制,DMA模块9进行读写数据搬移,FLASH控制器8实现对存储芯片3的读写控制,缓存10用于暂存待读写的数据以及CPU7运行时的数据和变量。
现有的基于PCIe接口的固态硬盘的数据读写方法包括:主机1通过PCIe控制接口4将读/写命令发送给CPU7,由CPU7解析该命令,如果是读命令,则CPU7请求FLASH控制器8把存储芯片3中的数据搬到缓存10内,然后CPU7请求DMA模块9将缓存10内的数据通过PCIe控制接口4发送到主机1的内存,最后CPU7将完成本条命令的响应通过PCIe控制接口4发送到主机1的内存,本条命令完成;如果是写命令,则CPU7请求DMA模块9将主机1的内存中的数据通过PCIe控制接口4搬移到缓存10,然后通知FLASH控制器8将数据从缓存10读出并写入存储芯片3,最后CPU7将完成本条命令的响应通过PCIe控制接口4发送到主机1的内存,本条命令完成。
现有的基于PCIe接口的固态硬盘由于受限于PCIe固态硬盘控制器2的处理能力以及存储芯片3中的NAND Flash颗粒特性,一个PCIe固态硬盘容量一般只能达到2T字节,其读写性能也不能完全匹配PCIe最大接口速率,远远小于PCIe3.0的传输速度,在某些应用场合其容量和性能仍然不能满足需求,容量有待扩大、性能有待提升。
专利申请号为201310476647.7的中国专利申请公开了一种基于PCIe的存储扩展系统及存储扩展方法,将多个存储设备通过级联的方式连接。该方法虽然可以扩展存储容量,但是由于多个级联设备不能够同时工作,所以性能得不到提升。
发明内容
本发明的目的在于解决现有技术中基于PCIe接口的固态硬盘容量和性能有限的问题,提供一种PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法。
为解决上述技术问题,本发明所采用的技术方案是:
一种PCIe固态硬盘控制器,包括PCIe控制接口、CPU、FLASH控制器、DMA模块和缓存,所述PCIe控制接口的上行端口与主机相连,所述CPU通过FLASH控制器与存储芯片相连,所述CPU还分别与DMA模块和缓存相连,所述缓存通过DMA模块和PCIe控制接口相连,其中PCIe控制接口完成标准PCIe协议控制功能,CPU负责处理主机命令,完成读写数据搬移的控制,DMA模块进行读写数据搬移,FLASH控制器实现对存储芯片的读写控制,缓存用于暂存待读写的数据以及CPU运行时的数据和变量。还包括收发控制模块和命令/响应转发模块,所述PCIe控制接口的下行端口通过收发控制模块与CPU相连,所述收发控制模块通过命令/响应转发模块与PCIe控制接口相连;所述CPU将所述PCIe固态硬盘控制器配置为主控制器或从控制器;
若所述PCIe固态硬盘控制器被配置为主控制器,则所述PCIe固态硬盘控制器被主机侧驱动识别为存储设备,主机的命令通过PCIe控制接口和收发控制模块发送至CPU后,CPU首先判断命令是否需要转发出去,若PCIe固态硬盘控制器能独立执行完成该命令,则不转发该命令,由PCIe固态硬盘控制器执行完成该命令,当该命令执行完成后,由CPU将执行完成该命令的响应依次通过收发控制模块和PCIe控制接口发送至主机;若PCIe固态硬盘控制器不能独立执行完成该命令,则CPU将该命令依次通过收发控制模块、命令/响应转发模块和PCIe控制接口转发至外部PCIe设备,当外部PCIe设备执行完成该命令后,外部PCIe设备将执行完成该命令的响应依次经过PCIe控制接口、命令/响应转发模块和收发控制模块发送至CPU,再由CPU将响应依次通过收发控制模块和PCIe控制接口发送至主机;
若所述PCIe固态硬盘控制器被配置为从控制器,则所述PCIe固态硬盘控制器被主机侧驱动识别为PCIe设备,外部存储设备转发的主机命令依次通过PCIe控制接口、命令/响应转发模块和收发控制模块发送至CPU,由PCIe固态硬盘控制器执行完成该命令,当该命令执行完成后,由CPU将执行完成该命令的响应依次通过收发控制模块、命令/响应转发模块和PCIe控制接口发送至外部存储设备。
作为一种优选方式,所述收发控制模块包括第一支路和第二支路,所述第一支路包括接收控制状态机和接收FIFO,所述接收控制状态机的输入端与命令/响应转发模块及PCIe控制接口的PCIe接收接口相连,所述接收控制状态机的输出端通过接收FIFO与CPU的CPU接收接口相连;所述第二支路包括发送控制状态机和发送FIFO,所述CPU的CPU发送接口通过发送FIFO与发送控制状态机的输入端相连,所述发送控制状态机的输出端分别与命令/响应转发模块及PCIe控制接口的PCIe发送接口相连;所述接收控制状态机用于控制命令或响应的接收,所述发送控制状态机用于控制命令或响应的发送;所述接收FIFO用于暂存PCIe固态硬盘控制器接收进来的命令或响应,所述发送FIFO用于暂存PCIe固态硬盘控制器发送出去的命令或响应;
若所述PCIe固态硬盘控制器被配置为主控制器,则主机的命令依次通过PCIe控制接口的PCIe接收接口、接收控制状态机和接收FIFO发送至CPU,CPU首先判断命令是否需要转发出去,若PCIe固态硬盘控制器能独立执行完成该命令,则不转发该命令,由PCIe固态硬盘控制器执行完成该命令,当该命令执行完成后,由CPU将执行完成该命令的响应依次通过发送FIFO、发送控制状态机和PCIe控制接口的PCIe发送接口发送至主机;若PCIe固态硬盘控制器不能独立执行完成该命令,则CPU将该命令依次通过发送FIFO、发送控制状态机、命令/响应转发模块和PCIe控制接口转发至外部PCIe设备,当外部PCIe设备执行完成该命令后,外部PCIe设备将执行完成该命令的响应依次经过PCIe控制接口、命令/响应转发模块、接收控制状态机和接收FIFO发送至CPU,再由CPU将响应依次通过发送FIFO、发送控制状态机和PCIe控制接口的PCIe发送接口发送至主机;
若所述PCIe固态硬盘控制器被配置为从控制器,则外部存储设备转发的主机命令依次通过PCIe控制接口、命令/响应转发模块、接收控制状态机和接收FIFO发送至CPU,由PCIe固态硬盘控制器执行完成该命令,当该命令执行完成后,由CPU将执行完成该命令的响应依次通过发送FIFO、发送控制状态机、命令/响应转发模块和PCIe控制接口发送至外部存储设备。
作为一种优选方式,所述命令/响应转发模块包括路由消息组帧模块和路由消息解帧模块;所述路由消息组帧模块的输入端与收发控制模块相连,路由消息组帧模块的输出端与PCIe控制接口相连;所述路由消息解帧模块的输入端与PCIe控制接口相连,路由消息解帧模块的输出端与收发控制模块相连;所述路由消息组帧模块将收发控制模块发送过来的命令/响应组帧后发送至PCIe控制接口;所述路由消息解帧模块将PCIe控制接口发送过来的命令/响应解帧后发送至收发控制模块。
作为一种优选方式,所述命令/响应转发模块包括路由消息组帧模块和路由消息解帧模块;所述路由消息组帧模块的输入端与发送控制状态机的输出端相连,路由消息组帧模块的输出端与PCIe控制接口相连;所述路由消息解帧模块的输入端与PCIe控制接口相连,路由消息解帧模块的输出端与接收控制状态机的输入端相连;所述路由消息组帧模块将发送控制状态机发送过来的命令/响应组帧后发送至PCIe控制接口;所述路由消息解帧模块将PCIe控制接口发送过来的命令/响应解帧后发送至接收控制状态机。
基于同一个发明构思,本发明还提供了一种基于PCIe的存储系统,包括PCIeswitch和N个所述的PCIe固态硬盘控制器,其中PCIe switch的上行端口与主机相连,所述N个PCIe固态硬盘控制器均与PCIe switch的下行端口相连,所述N个PCIe固态硬盘控制器由1个被配置为主控制器的PCIe固态硬盘控制器和N-1个被配置为从控制器的PCIe固态硬盘控制器组成,其中主控制器和各个从控制器与相同数量的存储芯片相接,各个存储芯片之间组合成RAID。
基于同一个发明构思,本发明还提供了一种数据读写方法,利用所述的基于PCIe的存储系统,包括步骤:
A.主机的命令依次通过PCIe switch、主控制器中的PCIe控制接口和收发控制模块发送至主控制器中的CPU后,主控制器中的CPU根据该命令的地址、长度信息,以及主控制器与从控制器组成的RAID模式,计算该条命令需要由主控制器和哪些从控制器来完成,若主控制器能独立执行完成该命令,则不转发该命令,由主控制器执行完成该命令,当该命令执行完成后,由主控制器中的CPU将执行完成该命令的响应依次通过主控制器中的收发控制模块、PCIe控制接口和PCIe switch发送至主机,数据读写过程结束;若主控制器不能独立执行完成该命令,执行步骤B;
B.主控制器中的CPU将该命令依次通过主控制器中的收发控制模块、命令/响应转发模块、PCIe控制接口和PCIe switch转发至相应的从控制器的PCIe控制接口,并经由从控制器的命令/响应转发模块、收发控制模块至从控制器的CPU,由从控制器执行完成该命令,当从控制器执行完成该命令后,从控制器的CPU将执行完成该命令的响应依次经过从控制器中的收发控制模块、命令/响应转发模块发送至从控制器的PCIe控制接口,从控制器完成命令的响应再依次通过PCIe switch、主控制器中的命令/响应转发模块、收发控制模块至主控制器中的CPU,主控制器中的CPU将从控制器完成命令的响应依次通过主控制器中的收发控制模块、PCIe控制接口和PCIe switch发送至主机,数据读写过程结束。
本发明能够灵活扩展,由于主控制器和多个从控制器可同时运行,本发明提高了性能,性能约为现有的单个设备PCIe固态硬盘的N倍;主控制器和多个从控制器分别控制相同数量的存储芯片,本发明扩大了容量,容量约为现有的单个设备PCIe固态硬盘的N倍。
附图说明
图1为现有的基于PCIe接口的固态硬盘结构示意图。
图2为本发明PCIe固态硬盘控制器一实施例的结构示意图。
图3为图2中收发控制模块的结构示意图。
图4为图2中命令/响应转发模块的结构示意图。
图5为本发明基于PCIe的存储系统的结构示意图。
图6为本发明数据读写方法一实施例的流程图。
其中,1为主机,2为PCIe固态硬盘控制器,3为存储芯片,4为PCIe控制接口,5为命令/响应转发模块,51为路由消息组帧模块,52为路由消息解帧模块,6为收发控制模块,61为接收控制状态机,62为接收FIFO,63为发送控制状态机,64为发送FIFO,7为CPU,8为FLASH控制器,9为DMA模块,10为缓存,11为PCIe switch。
具体实施方式
本发明英文符号技术术语含义说明如下:
PCIe:高速总线接口标准。
NAND Flash:一种闪存存储介质。
Flash:存储芯片的一种。
DMA:direct memory access,直接内存存取,通常用来进行大量数据的搬移。
FIFO:first in first out,先进先出队列,在本发明中指进行先进先出管理的数据缓存。
PCIe switch:PCIe扩展器,可以把路PCIe接口扩展为多路PCIe接口。
CPU:Central Processing Unit,中央处理器。
RAID:Redundant Arrays of Independent Disks,磁盘阵列。
PCIe ID:PCIe固态硬盘控制器被分配的编号。
AHCI:Serial ATA Advanced Host Controller Interface,高级主机控制器接口,是一种PCI类设备。用于主机软件同SATA设备之间通信,所以该协议承载的是ATA命令。
AHCI PCIe固态硬盘:以PCIe作为物理接口,以AHCI作为上层接口的固态硬盘。
如图2所示,本发明PCIe固态硬盘控制器的一实施例包括包括PCIe控制接口4、CPU7、FLASH控制器8、DMA模块9和缓存10,所述PCIe控制接口4的上行端口与主机1相连,所述CPU7通过FLASH控制器8与存储芯片3相连,所述CPU7还分别与DMA模块9和缓存10相连,所述缓存10通过DMA模块9和PCIe控制接口4相连,其中PCIe控制接口4完成标准PCIe协议控制功能,CPU7负责处理主机1的命令,完成读写数据搬移的控制,DMA模块9进行读写数据搬移,FLASH控制器8实现对存储芯片3的读写控制,缓存10用于暂存待读写的数据以及CPU7运行时的数据和变量,还包括收发控制模块6和命令/响应转发模块5,所述PCIe控制接口4通过收发控制模块6与CPU7相连,所述收发控制模块6通过命令/响应转发模块5与PCIe控制接口4相连;所述CPU7将所述PCIe固态硬盘控制器2配置为主控制器或从控制器;由PCIe固态硬盘控制器2中的CPU7根据PCIe固态硬盘控制器2的特定管脚的值,来配置本PCIe固态硬盘控制器2为主控制器或从控制器。
若所述PCIe固态硬盘控制器2被配置为主控制器,则所述PCIe固态硬盘控制器2被主机1侧驱动识别为存储设备,主机1的命令通过PCIe控制接口4和收发控制模块6发送至CPU7后,CPU7首先判断命令是否需要转发出去,若PCIe固态硬盘控制器2能独立执行完成该命令,则不转发该命令,由PCIe固态硬盘控制器2执行完成该命令,当该命令执行完成后,由CPU7将执行完成该命令的响应依次通过收发控制模块6和PCIe控制接口4发送至主机1;若PCIe固态硬盘控制器2不能独立执行完成该命令,则CPU7将该命令依次通过收发控制模块6、命令/响应转发模块5和PCIe控制接口4转发至外部PCIe设备,当外部PCIe设备执行完成该命令后,外部PCIe设备将执行完成该命令的响应依次经过PCIe控制接口4、命令/响应转发模块5和收发控制模块6发送至CPU7,再由CPU7将响应依次通过收发控制模块6和PCIe控制接口4发送至主机1;
若所述PCIe固态硬盘控制器2被配置为从控制器,则所述PCIe固态硬盘控制器2被主机1侧驱动识别为PCIe设备,外部存储设备转发的主机1的命令依次通过PCIe控制接口4、命令/响应转发模块5和收发控制模块6发送至CPU7,由PCIe固态硬盘控制器2执行完成该命令,当该命令执行完成后,由CPU7将执行完成该命令的响应依次通过收发控制模块6、命令/响应转发模块5和PCIe控制接口4发送至外部存储设备。
图3为图2中收发控制模块6的结构示意图。收发控制模块6跟CPU7、命令/响应转发模块5和PCIe控制接口4三个模块对接,完成数据路由的功能。CPU7通过收发控制模块6,可以发送帧到主机1,也可以通过收发控制模块6接收主机1发过来的帧。当PCIe固态硬盘控制器2被配置为主控制器时,CPU7通过收发控制模块6将命令转发给从控制器,并通过收发控制模块6接收从控制器发回的响应;通过收发控制模块6接收主机1的命令,和发送响应到主机1。当PCIe固态硬盘控制器2被配置为从控制器时,CPU7通过收发控制模块6接收主控制器转发过来的命令,并通过收发控制模块6转发响应到主控制器。
所述收发控制模块6包括第一支路和第二支路,所述第一支路包括接收控制状态机61和接收FIFO62,所述接收控制状态机61的输入端与命令/响应转发模块5及PCIe控制接口4的PCIe接收接口相连,所述接收控制状态机61的输出端通过接收FIFO62与CPU7的CPU接收接口相连;所述第二支路包括发送控制状态机63和发送FIFO64,所述CPU7的CPU7发送接口通过发送FIFO64与发送控制状态机63的输入端相连,所述发送控制状态机63的输出端分别与命令/响应转发模块5及PCIe控制接口4的PCIe发送接口相连;所述接收控制状态机61用于控制命令或响应的接收,所述发送控制状态机63用于控制命令或响应的发送;所述接收FIFO62用于暂存PCIe固态硬盘控制器2接收进来的命令或响应,所述发送FIFO64用于暂存PCIe固态硬盘控制器2发送出去的命令或响应;
若所述PCIe固态硬盘控制器2被配置为主控制器,则主机1的命令依次通过PCIe控制接口4的PCIe接收接口、接收控制状态机61和接收FIFO62发送至CPU7,CPU7首先判断命令是否需要转发出去,若PCIe固态硬盘控制器2能独立执行完成该命令,则不转发该命令,由PCIe固态硬盘控制器2执行完成该命令,当该命令执行完成后,由CPU7将执行完成该命令的响应依次通过发送FIFO64、发送控制状态机63和PCIe控制接口4的PCIe发送接口发送至主机1;若PCIe固态硬盘控制器2不能独立执行完成该命令,则CPU7将该命令依次通过发送FIFO64、发送控制状态机63、命令/响应转发模块5和PCIe控制接口4转发至外部PCIe设备,当外部PCIe设备执行完成该命令后,外部PCIe设备将执行完成该命令的响应依次经过PCIe控制接口4、命令/响应转发模块5、接收控制状态机61和接收FIFO62发送至CPU7,再由CPU7将响应依次通过发送FIFO64、发送控制状态机63和PCIe控制接口4的PCIe发送接口发送至主机1;
若所述PCIe固态硬盘控制器2被配置为从控制器,则外部存储设备转发的主机1的命令依次通过PCIe控制接口4、命令/响应转发模块5、接收控制状态机61和接收FIFO62发送至CPU7,由PCIe固态硬盘控制器2执行完成该命令,当该命令执行完成后,由CPU7将执行完成该命令的响应依次通过发送FIFO64、发送控制状态机63、命令/响应转发模块5和PCIe控制接口4发送至外部存储设备。
图4为图2中命令/响应转发模块5的结构示意图。命令/响应转发模块5是命令/响应的转发路径,路由消息组帧模块51和路由消息解帧模块52负责根据PCIe规定的用户自定消息帧格式进行组帧和解帧。
所述命令/响应转发模块5包括路由消息组帧模块51和路由消息解帧模块52;所述路由消息组帧模块51的输入端与发送控制状态机63的输出端相连,路由消息组帧模块51的输出端与PCIe控制接口4相连;所述路由消息解帧模块52的输入端与PCIe控制接口4相连,路由消息解帧模块52的输出端与接收控制状态机61的输入端相连;所述路由消息组帧模块51将发送控制状态机63发送过来的命令/响应组帧后发送至PCIe控制接口4;所述路由消息解帧模块52将PCIe控制接口4发送过来的命令/响应解帧后发送至接收控制状态机61。
图5为本发明基于PCIe的存储系统的结构示意图。基于PCIe的存储系统包括PCIeswitch11和5个所述的PCIe固态硬盘控制器,其中PCIe switch11的上行端口与主机1相连,所述5个PCIe固态硬盘控制器2均与PCIe switch11的下行端口相连,所述5个PCIe固态硬盘控制器2由1个被配置为主控制器的PCIe固态硬盘控制器2和4个被配置为从控制器的PCIe固态硬盘控制器2组成,其中主控制器和各个从控制器与相同数量的存储芯片3相接,各个存储芯片3之间组合成RAID。其中最左边的PCIe固态硬盘控制器2被配置为主控制器,其余的4个PCIe固态硬盘控制器2都被配置为从控制器。主控制器的特征在于能够被主机1侧驱动识别为一个存储设备,并能将主机1的命令通过PCIe switch11路由到从控制器,从控制器的特征在于只能被主机1侧驱动识别为一个PCIe设备,并能够将命令完成的响应通过PCIe switch11路由到主控制器。图5中的基于PCIe的存储系统性能约为现有的单个设备PCIe固态硬盘的5倍;容量约为现有的单个设备PCIe固态硬盘的5倍。
主控制器的工作过程如下:
主机1的读写命令经PCIe switch11和PCIe控制接口4,由收发控制模块6发送到CPU7。CPU7根据命令中的地址、长度信息,以及主控制器与从控制器组成的RAID模式,计算本条命令需要由哪些PCIe固态硬盘控制器2(主控制器和某些从控制器)来完成,判断这条命令是否需要转发到从控制器。如果需要转发至从控制器,则将需要转发至的从控制器的PCIe ID号和转发标志同本命令一起发送给收发控制模块6,收发控制模块6的发送状态机根据CPU7发送过来的信息,将命令发送给命令/响应转发模块5进行PCIe自定义消息的组帧,再由PCIe控制接口4和PCIe switch11发送到从控制器。PCIe switch11会根据该消息中的识别号(PCIe ID号),将主机1的命令发送给相应的从控制器。如果不需要转发给从控制器,则CPU7解析该命令,如果是读命令,CPU7请求FLASH控制器8把数据搬到缓存10内,然后CPU7请求DMA将数据通过PCIe控制接口4和PCIe switch11发送到主机1的内存。最后CPU7将完成本条命令的响应通过收发控制模块6、PCIe控制接口4和PCIe switch11发送到主机1的内存,本条命令完成。如果是写命令,CPU7请求DMA将数据通过PCIe switch11、PCIe控制接口4搬移到缓存10,然后通知FLASH控制器8将数据从缓存10读出写入存储芯片3,最后CPU7将完成本条命令的响应通过收发控制模块6、PCIe控制接口4和PCIe switch11发送到主机1的内存,本条命令完成。
从控模式的工作过程如下:
命令/响应转发模块5通过PCIe switch11和PCIe控制接口4接收到内含主控制器转发过来的主机1的命令的PCIe自定义消息,将消息解帧后,取出命令内容,通过收发控制模块6发给CPU7。CPU7解析命令,如果是读命令,CPU7请求FLASH控制器8把数据搬到缓存10内,然后CPU7请求DMA将数据通过PCIe控制接口4和PCIe switch11发送到主机1的内存,最后将完成本条命令的响应以PCIe自定义消息的格式,通过收发控制模块6和命令/响应转发模块5发送给主控制器。如果是写命令,CPU7请求DMA将数据通过PCIe switch11、PCIe控制接口4搬移到缓存10,然后通知FLASH控制器8将数据从缓存10读出写入存储芯片3,最后将完成本条命令的响应以PCIe自定义消息的格式,通过收发控制模块6、命令/响应转发模块5、PCIe控制接口4和PCIe switch11发送给主控制器。PCIe switch11会根据该消息中的识别号,将响应发送给主控制器。主控制器的命令/响应转发模块5接收到内含响应的PCIe自定义消息后,将该消息解帧,并将响应内容发送给CPU7,CPU7再通过收发控制模块6的发送状态机将响应发送到主机1的内存,本条命令完成。
主控制器和从控制器的区别在于:
第一,主控制器中,主机1的命令直接从主机1的内存中获取,经图2中路径①②到达CPU7;从控制器中,主机1的命令是由主机1经主控制器中的路径①②③⑤⑦到达PCIeswitch11,再经PCIe switch11路由到从控制器,经从控制器中的路径⑧⑥②到达CPU7。
第二,主控制器中,响应直接通过路径③④发送到主机1的内存;从控制器中,响应经过③⑤⑦到达PCIe switch11,再经PCIe switch11路由到主控制器,经主控制器中的路径⑧⑥②③④到达主机1。
从控制器只被识别为PCIe设备:从控制模式在初始化PCIe配置空间时,不初始化配置空间基准地址,或者初始化该PCIe设备为未定义的设备,则主机1的驱动不会识别该PCIe设备为存储设备,只会识别为PCIe设备。
PCIe固态硬盘控制器2PCIe ID号的获取方法:由CPU7软件根据主控制器或者从控制器连接的PCIe switch11的端口号,以及PCIe固态硬盘控制器2被分配的PCIe ID号,由PCIe设备枚举规则,来计算其他PCIe固态硬盘控制器2的PCIe ID号,并配置到相应寄存器。如,主控制器连接PCIe switch11的端口1,其被分配的PCIe ID号为0:02:0(总线号:设备号:功能号),则接在端口2上的从控制器的PCIe ID号为0:03:0,接在端口3上的从控制器的PCIe ID号为0:04:0。
利用所述的基于PCIe的存储系统,本发明一种数据读写方法,包括步骤:
A.主机1的命令依次通过PCIe switch11、主控制器中的PCIe控制接口4和收发控制模块6发送至主控制器中的CPU7后,主控制器中的CPU7根据该命令的地址、长度信息,以及主控制器与从控制器组成的RAID模式,计算该条命令需要由主控制器和哪些从控制器来完成,若主控制器能独立执行完成该命令,则不转发该命令,由主控制器执行完成该命令,如果是读命令,则在主控制器内部,CPU7请求FLASH控制器8把存储芯片3中的数据搬到缓存10内,然后CPU7请求DMA模块9将缓存10内的数据通过PCIe控制接口4和PCIe switch11发送到主机1的内存,最后CPU7将完成本条命令的响应通过收发控制模块6、PCIe控制接口4和PCIe switch11发送到主机1的内存,本条命令完成,数据读写过程结束;如果是写命令,则在主控制器内部,CPU7请求DMA模块9将主机1的内存中的数据通过PCIe switch11和PCIe控制接口4搬移到缓存10,然后CPU7通知FLASH控制器8将数据从缓存10读出并写入存储芯片3,最后CPU7将完成本条命令的响应通过PCIe控制接口4和PCIe switch11发送到主机1的内存,本条命令完成,数据读写过程结束。若主控制器不能独立执行完成该命令,执行步骤B;
B.主控制器中的CPU7将该命令依次通过主控制器中的收发控制模块6、命令/响应转发模块5、PCIe控制接口4和PCIe switch11转发至相应的从控制器的PCIe控制接口4,并经由从控制器的命令/响应转发模块5、收发控制模块6至从控制器的CPU7,由从控制器执行完成该命令,如果是读命令,则在从控制器内部,CPU7请求FLASH控制器8把存储芯片3中的数据搬到缓存10内,然后CPU7请求DMA模块9将缓存10内的数据通过PCIe控制接口4和PCIeswitch11发送到主机1的内存,本条命令完成;如果是写命令,则在从控制器内部,CPU7请求DMA模块9将主机1的内存中的数据通过PCIe switch11和PCIe控制接口4搬移到缓存10,然后CPU7通知FLASH控制器8将数据从缓存10读出并写入存储芯片3,本条命令完成;当从控制器执行完成该命令后,从控制器的CPU7将执行完成该命令的响应依次经过从控制器中的收发控制模块6、命令/响应转发模块5发送至从控制器的PCIe控制接口4,从控制器完成命令的响应再依次通过PCIe switch11、主控制器中的命令/响应转发模块5、收发控制模块6至主控制器中的CPU7,主控制器中的CPU7将从控制器完成命令的响应依次通过主控制器中的收发控制模块6、PCIe控制接口4和PCIe switch11发送至主机1,数据读写过程结束。
图6为本发明数据读写方法一实施例的流程图。其中主控为主控制器的简称,从控为从控制器的简称。
下面以AHCI PCIe 固态硬盘为例,对本发明作进一步说明。本实施例包含一个含有至少2个下行端口和1个上行端口的PCIe switch11,一个配置为主控制器的AHCI PCIe固态硬盘控制器2,以及至少一个配置为从控制器的AHCI PCIe 固态硬盘控制器2,还包含多片分别由主控制器和从控制器控制的NAND Flash存储芯片3。主控制器和从控制器分别跟PCIe switch11的下行端口相连,并组成RAID0。主控制器接在PCIe switch11的端口1,其他从控制器依次往后接。其中每个主控制器和从控制器控制相同数量的存储芯片3,以便组合成RAID。
上述存储系统工作步骤如下:
步骤1,系统上电,各主控制器和从控制器完成初始化,包括CPU7读取PCIe固态硬盘控制器2的特定管脚的值来设置PCIe固态硬盘控制器2为的主控制器或从控制器,以及通过初始化PCIe的配置空间使主控制器能被主机1的驱动识别为存储设备,从控制器只能识别为PCIe设备。
步骤2,根据PCIe协议规定,主控制器和各从控制器与PCIe switch11链路训练并建立链路。
步骤3,各控制器获取其它PCIe固态硬盘控制器2的PCIe ID。
步骤4,主控制器从主机1的内存获取命令,并根据该命令的地址、长度等信息和本存储系统组成RAID0的条带的大小,计算出有数据块需要写入或者读出的从控制器,并将命令经PCIe switch11转发给这些从控制器。
步骤5,根据AHCI协议,设备在获取主机1的命令后,需要从主机1的内存获取完成该命令需要的表项,这些表项的内容是主机1为完成本次命令而分配的内存地址信息,本次命令涉及到的要搬移的数据均放在这些内存地址。因此,从控制器在收到命令后,向主机1的内存获取完成此条命令对应的表项,根据表项中的内存地址信息,完成相应数据块搬移。完成后将命令完成的响应消息经PCIe switch11转发给主控制器。
步骤6,根据AHCI协议,设备在完成命令后,需要发送命令完成响应和中断消息到主机1的内存。主控制器在收到所有命令命中PCIe固态硬盘控制器2(即本条命令涉及到的所有主控制器和从控制器)发送的的命令完成响应消息后,向主机1的内存发送命令完成响应消息和中断,本命令完成,本次数据读写过程结束。

Claims (6)

1.一种PCIe固态硬盘控制器,包括PCIe控制接口(4)、CPU(7)、FLASH控制器(8)、DMA模块(9)和缓存(10),所述PCIe控制接口(4)的上行端口与主机(1)相连,所述CPU(7)通过FLASH控制器(8)与存储芯片(3)相连,所述CPU(7)还分别与DMA模块(9)和缓存(10)相连,所述缓存(10)通过DMA模块(9)和PCIe控制接口(4)相连,其特征在于,还包括收发控制模块(6)和命令/响应转发模块(5),所述PCIe控制接口(4)通过收发控制模块(6)与CPU(7)相连,所述收发控制模块(6)通过命令/响应转发模块(5)与PCIe控制接口(4)相连;所述CPU(7)将所述PCIe固态硬盘控制器(2)配置为主控制器或从控制器;
若所述PCIe固态硬盘控制器(2)被配置为主控制器,则所述PCIe固态硬盘控制器(2)被主机(1)侧驱动识别为存储设备,主机(1)的命令通过PCIe控制接口(4)和收发控制模块(6)发送至CPU(7)后,CPU(7)首先判断命令是否需要转发出去,若PCIe固态硬盘控制器(2)能独立执行完成该命令,则不转发该命令,由PCIe固态硬盘控制器(2)执行完成该命令,当该命令执行完成后,由CPU(7)将执行完成该命令的响应依次通过收发控制模块(6)和PCIe控制接口(4)发送至主机(1);若PCIe固态硬盘控制器(2)不能独立执行完成该命令,则CPU(7)将该命令依次通过收发控制模块(6)、命令/响应转发模块(5)和PCIe控制接口(4)转发至外部PCIe设备,当外部PCIe设备执行完成该命令后,外部PCIe设备将执行完成该命令的响应依次经过PCIe控制接口(4)、命令/响应转发模块(5)和收发控制模块(6)发送至CPU(7),再由CPU(7)将响应依次通过收发控制模块(6)和PCIe控制接口(4)发送至主机(1);
若所述PCIe固态硬盘控制器(2)被配置为从控制器,则所述PCIe固态硬盘控制器(2)被主机(1)侧驱动识别为PCIe设备,外部存储设备转发的主机(1)的命令依次通过PCIe控制接口(4)、命令/响应转发模块(5)和收发控制模块(6)发送至CPU(7),由PCIe固态硬盘控制器(2)执行完成该命令,当该命令执行完成后,由CPU(7)将执行完成该命令的响应依次通过收发控制模块(6)、命令/响应转发模块(5)和PCIe控制接口(4)发送至外部存储设备。
2.如权利要求1所述的PCIe固态硬盘控制器,其特征在于,所述收发控制模块(6)包括第一支路和第二支路,所述第一支路包括接收控制状态机(61)和接收FIFO(62),所述接收控制状态机(61)的输入端与命令/响应转发模块(5)及PCIe控制接口(4)的PCIe接收接口相连,所述接收控制状态机(61)的输出端通过接收FIFO(62)与CPU(7)的CPU接收接口相连;所述第二支路包括发送控制状态机(63)和发送FIFO(64),所述CPU(7)的CPU(7)发送接口通过发送FIFO(64)与发送控制状态机(63)的输入端相连,所述发送控制状态机(63)的输出端分别与命令/响应转发模块(5)及PCIe控制接口(4)的PCIe发送接口相连;所述接收控制状态机(61)用于控制命令或响应的接收,所述发送控制状态机(63)用于控制命令或响应的发送;所述接收FIFO(62)用于暂存PCIe固态硬盘控制器(2)接收进来的命令或响应,所述发送FIFO(64)用于暂存PCIe固态硬盘控制器(2)发送出去的命令或响应;
若所述PCIe固态硬盘控制器(2)被配置为主控制器,则主机(1)的命令依次通过PCIe控制接口(4)的PCIe接收接口、接收控制状态机(61)和接收FIFO(62)发送至CPU(7),CPU(7)首先判断命令是否需要转发出去,若PCIe固态硬盘控制器(2)能独立执行完成该命令,则不转发该命令,由PCIe固态硬盘控制器(2)执行完成该命令,当该命令执行完成后,由CPU(7)将执行完成该命令的响应依次通过发送FIFO(64)、发送控制状态机(63)和PCIe控制接口(4)的PCIe发送接口发送至主机(1);若PCIe固态硬盘控制器(2)不能独立执行完成该命令,则CPU(7)将该命令依次通过发送FIFO(64)、发送控制状态机(63)、命令/响应转发模块(5)和PCIe控制接口(4)转发至外部PCIe设备,当外部PCIe设备执行完成该命令后,外部PCIe设备将执行完成该命令的响应依次经过PCIe控制接口(4)、命令/响应转发模块(5)、接收控制状态机(61)和接收FIFO(62)发送至CPU(7),再由CPU(7)将响应依次通过发送FIFO(64)、发送控制状态机(63)和PCIe控制接口(4)的PCIe发送接口发送至主机(1);
若所述PCIe固态硬盘控制器(2)被配置为从控制器,则外部存储设备转发的主机(1)的命令依次通过PCIe控制接口(4)、命令/响应转发模块(5)、接收控制状态机(61)和接收FIFO(62)发送至CPU(7),由PCIe固态硬盘控制器(2)执行完成该命令,当该命令执行完成后,由CPU(7)将执行完成该命令的响应依次通过发送FIFO(64)、发送控制状态机(63)、命令/响应转发模块(5)和PCIe控制接口(4)发送至外部存储设备。
3.如权利要求1所述的PCIe固态硬盘控制器,其特征在于,所述命令/响应转发模块(5)包括路由消息组帧模块(51)和路由消息解帧模块(52);所述路由消息组帧模块(51)的输入端与收发控制模块(6)相连,路由消息组帧模块(51)的输出端与PCIe控制接口(4)相连;所述路由消息解帧模块(52)的输入端与PCIe控制接口(4)相连,路由消息解帧模块(52)的输出端与收发控制模块(6)相连;所述路由消息组帧模块(51)将收发控制模块(6)发送过来的命令/响应组帧后发送至PCIe控制接口(4);所述路由消息解帧模块(52)将PCIe控制接口(4)发送过来的命令/响应解帧后发送至收发控制模块(6)。
4.如权利要求2所述的PCIe固态硬盘控制器,其特征在于,所述命令/响应转发模块(5)包括路由消息组帧模块(51)和路由消息解帧模块(52);所述路由消息组帧模块(51)的输入端与发送控制状态机(63)的输出端相连,路由消息组帧模块(51)的输出端与PCIe控制接口(4)相连;所述路由消息解帧模块(52)的输入端与PCIe控制接口(4)相连,路由消息解帧模块(52)的输出端与接收控制状态机(61)的输入端相连;所述路由消息组帧模块(51)将发送控制状态机(63)发送过来的命令/响应组帧后发送至PCIe控制接口(4);所述路由消息解帧模块(52)将PCIe控制接口(4)发送过来的命令/响应解帧后发送至接收控制状态机(61)。
5. 一种基于PCIe的存储系统,其特征在于,包括PCIe switch(11)和N个如权利要求1至4任一项所述的PCIe固态硬盘控制器,其中PCIe switch(11)的上行端口与主机(1)相连,所述N个PCIe固态硬盘控制器均与PCIe switch(11)的下行端口相连,所述N个PCIe固态硬盘控制器由1个被配置为主控制器的PCIe固态硬盘控制器(2)和N-1个被配置为从控制器的PCIe固态硬盘控制器(2)组成,其中主控制器和各个从控制器与相同数量的存储芯片(3)相接,各个存储芯片(3)之间组合成RAID。
6.一种数据读写方法,其特征在于,利用如权利要求5所述的基于PCIe的存储系统,包括步骤:
A.主机(1)的命令依次通过PCIe switch(11)、主控制器中的PCIe控制接口(4)和收发控制模块(6)发送至主控制器中的CPU(7)后,主控制器中的CPU(7)根据该命令的地址、长度信息,以及主控制器与从控制器组成的RAID模式,计算该条命令需要由主控制器和哪些从控制器来完成,若主控制器能独立执行完成该命令,则不转发该命令,由主控制器执行完成该命令,当该命令执行完成后,由主控制器中的CPU(7)将执行完成该命令的响应依次通过主控制器中的收发控制模块(6)、PCIe控制接口(4)和PCIe switch(11)发送至主机(1),数据读写过程结束;若主控制器不能独立执行完成该命令,执行步骤B;
B.主控制器中的CPU(7)将该命令依次通过主控制器中的收发控制模块(6)、命令/响应转发模块(5)、PCIe控制接口(4)和PCIe switch(11)转发至相应的从控制器的PCIe控制接口(4),并经由从控制器的命令/响应转发模块(5)、收发控制模块(6)至从控制器的CPU(7),由从控制器执行完成该命令,当从控制器执行完成该命令后,从控制器的CPU(7)将执行完成该命令的响应依次经过从控制器中的收发控制模块(6)、命令/响应转发模块(5)发送至从控制器的PCIe控制接口(4),从控制器完成命令的响应再依次通过PCIe switch(11)、主控制器中的命令/响应转发模块(5)、收发控制模块(6)至主控制器中的CPU(7),主控制器中的CPU(7)将从控制器完成命令的响应依次通过主控制器中的收发控制模块(6)、PCIe控制接口(4)和PCIe switch(11)发送至主机(1),数据读写过程结束。
CN201511027916.7A 2015-12-31 2015-12-31 PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法 Active CN105549916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511027916.7A CN105549916B (zh) 2015-12-31 2015-12-31 PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511027916.7A CN105549916B (zh) 2015-12-31 2015-12-31 PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法

Publications (2)

Publication Number Publication Date
CN105549916A CN105549916A (zh) 2016-05-04
CN105549916B true CN105549916B (zh) 2017-03-22

Family

ID=55829119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511027916.7A Active CN105549916B (zh) 2015-12-31 2015-12-31 PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法

Country Status (1)

Country Link
CN (1) CN105549916B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201795A (zh) * 2016-07-07 2016-12-07 浪潮电子信息产业股份有限公司 一种快速检测数据存储链路稳定性的方法
CN106598742B (zh) * 2016-12-26 2020-01-03 湖南国科微电子股份有限公司 一种ssd主控内部负载均衡系统及方法
CN107203484B (zh) * 2017-06-27 2020-06-16 北京计算机技术及应用研究所 一种基于FPGA的PCIe与SRIO总线桥接系统
CN107908579A (zh) * 2017-09-30 2018-04-13 记忆科技(深圳)有限公司 一种ONFI与eMMC接口高速转换装置
CN107645457A (zh) * 2017-10-19 2018-01-30 济南浪潮高新科技投资发展有限公司 一种PCIe交换机系统和方法
CN107885693A (zh) * 2017-11-28 2018-04-06 南京理工大学 基于pcie3.0的大容量高速数据传输与存储系统及方法
CN110175092B (zh) * 2019-04-30 2022-11-25 杭州电子科技大学 一种基于PCIe的多接口存储设备
CN111124960A (zh) * 2019-12-12 2020-05-08 北京计算机技术及应用研究所 一种基于高速pci-e接口硬盘连接机构
CN114116572A (zh) * 2021-09-14 2022-03-01 北京坤驰科技有限公司 一种基于PCIe总线的高速流盘系统及方法
CN114442924B (zh) * 2021-12-06 2024-03-15 北京航空航天大学 一种不规则控制器的控制方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171667A (zh) * 2008-06-27 2011-08-31 马维尔国际贸易有限公司 具有无线功能性的固态盘
CN103049218A (zh) * 2012-12-11 2013-04-17 华为技术有限公司 数据存储方法和控制器
CN202887181U (zh) * 2012-11-01 2013-04-17 浪潮集团有限公司 一种基于fpga的pcie接口固态硬盘
US8645594B2 (en) * 2012-06-29 2014-02-04 Intel Corporation Driver-assisted base address register mapping

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10037272B2 (en) * 2012-08-08 2018-07-31 Avalanche Technology, Inc. Storage system employing MRAM and array of solid state disks with integrated switch

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171667A (zh) * 2008-06-27 2011-08-31 马维尔国际贸易有限公司 具有无线功能性的固态盘
US8645594B2 (en) * 2012-06-29 2014-02-04 Intel Corporation Driver-assisted base address register mapping
CN202887181U (zh) * 2012-11-01 2013-04-17 浪潮集团有限公司 一种基于fpga的pcie接口固态硬盘
CN103049218A (zh) * 2012-12-11 2013-04-17 华为技术有限公司 数据存储方法和控制器

Also Published As

Publication number Publication date
CN105549916A (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
CN105549916B (zh) PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法
JP4917174B2 (ja) 制御装置と通信するように構成されたホスト・コンピュータ・システムにおける入出力(i/o)操作用の入出力処理を容易にするためのコンピュータ・プログラム、装置、および方法
JP5159901B2 (ja) 制御装置と通信するように構成されたホスト・コンピュータ・システムにおける入出力(i/o)操作に関するi/o処理を容易にするための方法
JP4532542B2 (ja) メモリハブ付きメモリモジュールでデータ転送を編成するためのシステムおよび方法
JP2010527059A (ja) パラレルフラッシュメモリ制御装置、チップ及びその制御方法
JP5159902B2 (ja) 入出力処理システム内のチャネル・サブシステムと通信するように構成された制御装置において可変長のデバイス・コマンド・ワード(dcw)を処理するための方法
CN101611383B (zh) 串行高级技术附件(sata)和串行附加的小型计算机系统接口(sas)桥接
JP6082752B2 (ja) メモリ応答の順序付けのためのメモリ装置、コンピュータシステムおよび方法
JP7010598B2 (ja) 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
CN101840306B (zh) VxWorks操作系统中实现驱动SATA设备的方法和系统
JPS6218949B2 (zh)
WO2015136619A1 (ja) ストレージ装置
JP2018502406A5 (zh)
KR20120019403A (ko) 스위칭 디바이스 및 스위칭 디바이스에서 동작 가능한 방법
US20090077276A1 (en) Data transfer device, information processing system, and computer-readable recording medium carrying data transfer program
US7600074B2 (en) Controller of redundant arrays of independent disks and operation method thereof
CN116737624B (zh) 一种高性能数据存取装置
CN110221780A (zh) 存储器控制器、存储器控制方法、以及电脑系统
EP1517246A1 (en) A method for transferring data and a data transfer interface
US8489826B2 (en) Storage controller and storage subsystem with added configurable functions
JP2017134584A (ja) 制御装置
JP4231633B2 (ja) 外部記憶システム
JP4564939B2 (ja) データ処理装置、データ転送方法、データ転送プログラム
JP2006146949A (ja) ディスクアレイ制御装置

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160504

Assignee: Jiangsu Xinsheng Intelligent Technology Co., Ltd.

Assignor: GOKE MICROELECTRONICS CO., LTD.

Contract record no.: 2018430000021

Denomination of invention: Peripheral component interconnect express (PCIe) solid state hard disk controller, PCIe based storage system and data read and write method thereof

Granted publication date: 20170322

License type: Common License

Record date: 20181203

EE01 Entry into force of recordation of patent licensing contract