CN108197039B - 一种ssd控制器混合流数据的传输方法和系统 - Google Patents

一种ssd控制器混合流数据的传输方法和系统 Download PDF

Info

Publication number
CN108197039B
CN108197039B CN201711460782.7A CN201711460782A CN108197039B CN 108197039 B CN108197039 B CN 108197039B CN 201711460782 A CN201711460782 A CN 201711460782A CN 108197039 B CN108197039 B CN 108197039B
Authority
CN
China
Prior art keywords
data
host
flash
transmission
controller
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
CN201711460782.7A
Other languages
English (en)
Other versions
CN108197039A (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 CN201711460782.7A priority Critical patent/CN108197039B/zh
Publication of CN108197039A publication Critical patent/CN108197039A/zh
Application granted granted Critical
Publication of CN108197039B publication Critical patent/CN108197039B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例中提供了一种SSD控制器混合流数据传输方法和系统,系统中的SSD控制器包括主控制器,缓存中转通路和流传输通路。本申请在缓存中转通路的基础上,另外设置了流传输通路,流传输通路相对于缓存中转通路的优势在于,不需要占用缓存中转待传输的数据,而是直接通过触发控制器对Flash DMA控制器和Host DMA控制器进行数据传输的联动控制,从而将IO数据直接从源地址写入目的地址,能够有效节约SSD的缓存资源,打破了SSD控制器的缓存容量与SSD性能之间的必然联系。本方案能够使用较小的内部缓存空间,满足SSD控制器对数据的读写和中转要求。

Description

一种SSD控制器混合流数据的传输方法和系统
技术领域
本公开涉及数据传输技术领域,尤其涉及一种SSD控制器混合流数据的传输方法和系统。
背景技术
SSD(Solid State Drives,固态硬盘)因其较低的读写延迟和较高的带宽,已广泛应用于高性能存储系统中。SSD控制器是SSD的核心部件,负责主机与Flash颗粒之间的协议转换和数据传输控制,因此,SSD控制器的性能基本决定了SSD本身的性能。由于主机接口和Flash(闪存)接口存在差异,主机在数据读写时,SSD控制器通常需要使用部分缓存空间来完成数据传输控制和中转,所以SSD控制器的性能通常受限于能够使用的缓存空间大小。
目前,SSD控制器领域主要有两大架构,一种是外接DRAM缓存,通过外接DRAM缓存来提升SSD控制器能够使用的缓存空间,用于数据中转对缓存的使用,进而提升性能,这种架构业界通常称为DRAM-Base的架构;另外一种是无外接DRAM缓存,仅使用SSD控制器内部有限SRAM空间作为缓存空间,业界通常称为DRAM-Less的架构。
无论哪种架构,在进行数据读写时,数据都是需要通过SSD控制器的缓存进行中转,区别在于DRAM-Base由于能够使用的缓存多,能够同时中转的数据量就更多,性能表现更好,但是,外接DRAM将带来额外的成本开销;而DRAM-Less内部SRAM的存储空间有限,性能表现不够理想。
发明内容
本发明实施例中提供了一种SSD控制器混合流数据传输方法和系统,以解决SSD控制器内部缓存不足而限制SSD性性能的技术问题。
本发明实施例中提供了一种SSD控制器混合流数据的传输方法,包括:
判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件;
如果满足所述预设条件,则控制所述流传输通路将所述IO数据直接从源地址传输至目的地址;
如果不满足所述预设条件,则控制所述IO数据经缓存中转通路进行传输。
优选的,所述判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件包括:
识别主机发送的指令类型;
如果主机发送的指令为读数据指令,则来自于Flash端的IO数据均满足通过流传输通路进行传输的预设条件;
如果主机发送的指令为写数据指令,则判断来自于主机端的IO数据是否为Flash一次编程所需数据量的整数倍;
如果是,则所述来自于主机端的IO数据满足通过流传输通路进行传输的预设条件。
优选的,所述判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件还包括:
如果来自于主机端的IO数据不为Flash一次编程所需数据量的整数倍,则判断所述自于主机端的IO数据是否大于Flash一次编程所需数据量;
如果大于,则所述自于主机端的IO数据中满足Flash一次编程所需数据量整数倍的部分数据满足通过流传输通路进行传输的预设条件。
优选的,控制所述流传输通路将所述IO数据直接从源地址传输至目的地址包括:
向所述流传输通路中的触发控制器发送传输指令,所述传输指令中携带有IO数据的数据标签、数据长度、源地址以及目的地址,用于触发所述触发控制器按照所述源地址和所述目的地址,对Flash DMA控制器和Host DMA控制器进行数据传输的联动控制,所述Flash DMA控制器与Flash颗粒电连接,所述Host DMA控制器与主机电连接。
优选的,所述方法还包括:
为接收到的IO数据分配数据标签;
检测与所述数据标签对应的IO数据的已传输长度;
如果所述已传输长度等于所述IO数据的总长度,则向主机发送传输完毕信息,并释放所述IO数据的数据标签。
优选的,所述控制所述IO数据经缓存中转通路进行传输包括:
将接收到的所述IO数据写入SRAM缓存;
检测所述SRAM缓存中存储的数据是否达到Flash一次编程所需的数据量;
如果是,则将所述SRAM缓存中存储的数据传输至Flash颗粒。
本发明实施例中还提供了一种SSD控制器混合流数据的传输系统,包括:
主控制器,以及分别与所述主控制器电连接的缓存中转通路和流传输通路,其中,
所述主控制器用于判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件;
所述流传输通路用于在所述主控制器的控制下,将满足所述预设条件的IO数据直接从源地址传输至目的地址;
所述缓存中转通路用于在所述主控制器的控制下,通过所述SRAM缓存存储并传输不满足所述预设条件的IO数据。
优选的,所述流传输通路包括依次电连接的Host DMA控制器、触发控制器和FlashDMA控制器,所述Flash DMA控制器与Flash颗粒电连接,所述Host DMA控制器与主机电连接;
所述触发控制器用于在所述主控制器发送的传输指令的控制下,按照所述源地址和所述目的地址,对Flash DMA控制器和Host DMA控制器进行数据传输的联动控制。
优选的,所述缓存中转通路包括依次电连接的所述Host DMA控制器、SRAM缓存和所述Flash DMA控制器,
所述SRAM缓存用于当内部存储的数据达到Flash一次编程所需的数据量时,将所述数据传输至Flash颗粒。
优选的,所述系统还包括IO连接模块,所述IO连接模块的一端连接主机,另一端连接所述Host DMA控制器,用于为来自于主机的IO数据分配数据标签,并接收所述Host DMA控制器上报的与所述数据标签对应的IO数据的已传输长度,当所述已传输长度等于所述IO数据的总长度时,向主机发送传输完毕信息,并释放所述IO数据的数据标签。
本申请的有益效果如下:
本发明实施例中提供了一种SSD控制器混合流数据传输方法和系统,其中,系统中的SSD控制器包括主控制器,以及分别与所述主控制器电连接的缓存中转通路和流传输通路。本申请中,SSD接收到的IO数据需要经过主控制器的预判,再分配至缓存中转通路或流传输通路进行数据传输。本申请在缓存中转通路的基础上,另外设置了流传输通路,流传输通路相对于缓存中转通路的优势在于,不需要占用缓存中转待传输的数据,而是直接通过触发控制器对Flash DMA控制器和Host DMA控制器进行数据传输的联动控制,从而将IO数据直接从源地址写入目的地址,能够有效节约SSD的缓存资源,打破了SSD控制器的缓存容量与SSD性能之间的必然联系。本方案使用较小的内部缓存空间,即可满足SSD控制器对数据的读写和中转要求,且性能在绝大数场景下,可远远大于现有的DRAM-Less方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种SSD控制器混合流数据的传输系统的结构示意图;
图2为本申请实施例提供的一种SSD控制器混合流数据的传输方法的方法流程图;
图3为本申请实施例提供的一种步骤S100的流程图;
图4为本申请实施例提供的另一种步骤S100的流程图;
图5为本申请实施例提供的另一种SSD控制器混合流数据的传输方法的方法流程图;
图6为本申请实施例提供的本申请实施例提供的一种步骤S300的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参考图1,所示为本申请实施例提供的一种SSD控制器混合流数据的传输系统的结构示意图。由图1可见,本系统包括:依次连接的主机10、SSD控制器20、以及Flash颗粒30,主机10和SSD控制器20之间通过Host Interface(主机接口)电连接,SSD控制器20和Flash颗粒30之间通过Flash Interface(闪存接口)电连接。其中,SSD控制器20又包括主控制器11,以及分别与所述主控制器11电连接的缓存中转通路12和流传输通路13。缓存中转通路12由Host DMA控制器101、SRAM缓存102和所述Flash DMA控制器103依次电连接构成;流传输通路13由Host DMA控制器101、触发控制器104(trigger控制器)和Flash DMA控制器依次电连接构成,三者之间通过数据传输总线相连接。
本申请中,SSD接收到的IO数据需要经过主控制器11的预判,再分配至缓存中转通路12或流传输通路13进行数据传输。因此,主控制器11最主要的作用就是判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件;并将符合预设条件的IO数据分配至流传输通路13进行数据传输;不符合预设条件的IO数据分配至缓存中转通路12或流传输通路13进行数据传输。
所述SRAM缓存用于存储和中转IO数据(输入输出数据)。Host DMA控制器101用于控制SRAM缓存102的存入,Flash DMA控制器103用于控制SRAM缓存102的输出。本申请中,缓存中转通路12所示的传输途径与现有的存储和传输方式类似,在执行主机10的写操作时,需要先将主机10发送的IO数据写入SRAM缓存102,当SRAM缓存102内部存储的数据达到Flash一次编程所需的数据量时,再将数据下刷至Flash颗粒;在执行主机10的读操作时,将IO数据通过Flash DMA控制器103,先读到SRAM缓存102,再通过Host DMA控制器101传到主机。
在缓存中转通路12的基础上,本申请还另外设置了流传输通路13,流传输通路13相对于缓存中转通路12的优势在于,不需要占用缓存中转待传输的数据,而是直接通过触发控制器104对Flash DMA控制器103和Host DMA控制器101进行数据传输的联动控制,从而将IO数据直接从源地址写入目的地址,能够有效节约SSD的缓存资源,打破了SSD控制器20的缓存容量与SSD性能之间的必然联系。本方案使用较小的内部缓存空间,即可满足SSD控制器对数据的读写和中转要求,且性能在绝大数场景下,可远远大于现有的DRAM-Less方案。
由图1可见,本系统还包括IO连接模块105(IO context),IO连接模块105的一端连接主机10,另一端连接所述Host DMA控制器101,用于维护已经传输的IO数据大小和数据使用的主机memory地址,当数据传输完毕过后,释放前面为IO分配的数据标签(tag标签)。具体的,当IO连接模块105接收到主机10发送的IO数据以后,为其分配相应的数据标签,并将生成的上述数据标签发送给主控制器11,主控制器11再根据预设条件,将携带有数据标签的IO数据进行分配,无论数据经缓存中转通路12进行传输还是经流传输通路13进行传输,均需要经过Host DMA控制器101,Host DMA控制器101在每次数据传输完成过后,需要将传输的IO数据的tag标签,以及本次传输完成的数据长度一起上报给IO连接模块105。当所述已传输长度等于所述IO数据的总长度时,IO连接模块105将向主机发送传输完毕信息,并释放传输完成的IO数据的数据标签。
本方案不仅可以用于SSD的DRAM-Less架构,还可以用于DRAM-Base架构。基于DRAM-Base架构时,本系统还可以包括与SSD控制器20连接并通讯的外接DRAM缓存40。
基于上述SSD控制器混合流数据的传输系统,本申请还提供一种SSD控制器混合流数据的传输方法,以利用上述系统解决SSD控制器内部缓存不足而限制SSD性性能的技术问题。具体的,请参考图2,所示为本申请实施例提供的一种SSD控制器混合流数据的传输方法的方法流程图。由图2可见,本传输方法包括:
步骤S100:判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件,如果满足所述预设条件,则执行步骤S200,如果不满足所述预设条件,则执行步骤S300。
步骤S200:控制所述流传输通路将所述IO数据直接从源地址传输至目的地址。
步骤S300:控制所述IO数据经缓存中转通路进行传输。
进一步的,请参考图3,所示为本申请实施例提供的一种步骤S100的流程图。由图3可见,步骤S100包括:
步骤S101:识别主机发送的指令类型;如果主机发送的指令为读数据指令,则执行步骤S102,如果主机发送的指令为写数据指令,则执行步骤S103。
步骤S102:来自于Flash端的IO数据均满足通过流传输通路进行传输的预设条件。
步骤S103:判断来自于主机端的IO数据是否为Flash一次编程所需数据量的整数倍;如果是,则执行步骤S104。Flash一次编程所需数据量与SSD采用的NAND Flash颗粒有关,通常为16K或32K或64K。
步骤S104:所述来自于主机端的IO数据满足通过流传输通路进行传输的预设条件。
进一步的,请参考图4,所示为本申请实施例提供的另一种步骤S100的流程图。由图4可见,步骤S100还可以包括:
步骤S105:如果来自于主机端的IO数据不为Flash一次编程所需数据量的整数倍,则判断所述自于主机端的IO数据是否大于Flash一次编程所需数据量;如果大于,则执行步骤S106。
步骤S106:所述自于主机端的IO数据中满足Flash一次编程所需数据量整数倍的部分数据满足通过流传输通路进行传输的预设条件。
本实施例提供的方案可将来自于主机端的IO数据分割为A和B两部分,其中A部分的长度等于M*Flash一次编程所需数据量,其中,M为自然数;B部分的长度等于IO数据的总长度减去A部分的长度。本方案中,A部分可以通过通过流传输通路进行传输,而B部分需要通过缓存中转通路进行传输。本实施例通过对IO数据的划分,进一步降低缓存中转通路的数据传输量,从而进一步缓解SSD控制器的缓存负担。
进一步的,步骤S200包括:
向所述流传输通路中的触发控制器发送传输指令,所述传输指令中携带有IO数据的数据标签、数据长度、源地址以及目的地址,用于触发所述触发控制器按照所述源地址和所述目的地址,对Flash DMA控制器和Host DMA控制器进行数据传输的联动控制,所述Flash DMA控制器与Flash颗粒电连接,所述Host DMA控制器与主机电连接。
对于一次数据传输过程来讲,需要有数据源,数据目的地址,数据在源和目的地址之间的通信通路,以及控制数据在数据通路上进行传输的控制器。
在流传输模式下,host写的数据源为host memory(主机存储器),目的地址为NANDFlash颗粒;通信通路为流传输通路;传输控制器由trigger控制器,host DMA控制器以及Flash DMA控制器一起构成。对于host读来讲,除了数据源为NAND Flash颗粒,目的地址为host memory以外,通信通路和控制器都和host写一样。
主控制器识别IO数据的传输类型过后,将属于流传输类型(即能够通过流传输通道进行传输的数据)的IO数据或IO部分数据的数据信息(IO tag标签,data在IO中的偏移,data长度)配置给trigger控制器,trigger控制器根据配置的数据信息,再控制host DMA控制器将属于对应IO、对应位置、对应大小的数据传入(主机写)或传出(主机读)主机存储器;同时控制flash DMA控制器将由主机侧传入(主机写)的数据写入flash颗粒,或从flash颗粒读取需要向主机侧传出(主机读)的数据。
进一步的,请参考图5,所示为本申请实施例提供的另一种SSD控制器混合流数据的传输方法的方法流程图。由图5可见,所述方法还包括:
步骤S400:为接收到的IO数据分配数据标签。
步骤S500:检测与所述数据标签对应的IO数据的已传输长度。
步骤S600:如果所述已传输长度等于所述IO数据的总长度,则向主机发送传输完毕信息,并释放所述IO数据的数据标签。
进一步的,请参考图6,所示为本申请实施例提供的一种步骤S300的流程图。由图6可见,步骤S300包括:
步骤S301:将接收到的所述IO数据写入SRAM缓存。
步骤S302:检测所述SRAM缓存中存储的数据是否达到Flash一次编程所需的数据量;如果是,则执行步骤S303。
步骤S303:将所述SRAM缓存中存储的数据传输至Flash颗粒。
对于不能通过流传输通路传输的IO数据或IO内部分数据,IO控制器控制host DMA控制器直接将对应数据写入SRAM缓存。主控制器同时检测SRAM缓存的数据大小,当SRAM缓存内累积的数据量达到Flash一次编程所需的数据量大小过后,再控制flash DMA控制器,将数据从SRAM写入Flash目的地址。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种SSD控制器混合流数据的传输方法,其特征在于,包括:
判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件;
如果满足所述预设条件,则控制所述流传输通路将所述IO数据直接从源地址传输至目的地址;
如果不满足所述预设条件,则控制所述IO数据经缓存中转通路进行传输;
其中,所述判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件包括:
识别主机发送的指令类型;
如果主机发送的指令为读数据指令,则来自于Flash端的IO数据均满足通过流传输通路进行传输的预设条件;
如果主机发送的指令为写数据指令,则判断来自于主机端的IO数据是否为Flash一次编程所需数据量的整数倍;
如果是,则所述来自于主机端的IO数据满足通过流传输通路进行传输的预设条件。
2.根据权利要求1所述的方法,其特征在于,所述判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件还包括:
如果来自于主机端的IO数据不为Flash一次编程所需数据量的整数倍,则判断所述自于主机端的IO数据是否大于Flash一次编程所需数据量;
如果大于,则所述来 自于主机端的IO数据中满足Flash一次编程所需数据量整数倍的部分数据满足通过流传输通路进行传输的预设条件。
3.根据权利要求1所述的方法,其特征在于,控制所述流传输通路将所述IO数据直接从源地址传输至目的地址包括:
向所述流传输通路中的触发控制器发送传输指令,所述传输指令中携带有IO数据的数据标签、数据长度、源地址以及目的地址,用于触发所述触发控制器按照所述源地址和所述目的地址,对Flash DMA控制器和Host DMA控制器进行数据传输的联动控制,所述FlashDMA控制器与Flash颗粒电连接,所述Host DMA控制器与主机电连接。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为接收到的IO数据分配数据标签;
检测与所述数据标签对应的IO数据的已传输长度;
如果所述已传输长度等于所述IO数据的总长度,则向主机发送传输完毕信息,并释放所述IO数据的数据标签。
5.根据权利要求1所述的方法,其特征在于,所述控制所述IO数据经缓存中转通路进行传输包括:
将接收到的所述IO数据写入SRAM缓存;
检测所述SRAM缓存中存储的数据是否达到Flash一次编程所需的数据量;
如果是,则将所述SRAM缓存中存储的数据传输至Flash颗粒。
6.一种SSD控制器混合流数据的传输系统,其特征在于,包括:
主控制器,以及分别与所述主控制器电连接的缓存中转通路和流传输通路,其中,
所述主控制器用于判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件;
所述流传输通路用于在所述主控制器的控制下,将满足所述预设条件的IO数据直接从源地址传输至目的地址;
所述缓存中转通路用于在所述主控制器的控制下,通过SRAM缓存存储并传输不满足所述预设条件的IO数据;
其中,所述判断接收到的IO数据是否满足通过流传输通路进行传输的预设条件包括:
识别主机发送的指令类型;
如果主机发送的指令为读数据指令,则来自于Flash端的IO数据均满足通过流传输通路进行传输的预设条件;
如果主机发送的指令为写数据指令,则判断来自于主机端的IO数据是否为Flash一次编程所需数据量的整数倍;
如果是,则所述来自于主机端的IO数据满足通过流传输通路进行传输的预设条件。
7.根据权利要求6所述的系统,其特征在于,所述流传输通路包括依次电连接的HostDMA控制器、触发控制器和Flash DMA控制器,所述Flash DMA控制器与Flash颗粒电连接,所述Host DMA控制器与主机电连接;
所述触发控制器用于在所述主控制器发送的传输指令的控制下,按照所述源地址和所述目的地址,对Flash DMA控制器和Host DMA控制器进行数据传输的联动控制。
8.根据权利要求7所述的系统,其特征在于,所述缓存中转通路包括依次电连接的所述Host DMA控制器、SRAM缓存和所述Flash DMA控制器,
所述SRAM缓存用于当内部存储的数据达到Flash一次编程所需的数据量时,将所述数据传输至Flash颗粒。
9.根据权利要求7所述的系统,其特征在于,所述系统还包括IO连接模块,所述IO连接模块的一端连接主机,另一端连接所述Host DMA控制器,用于为来自于主机的IO数据分配数据标签,并接收所述Host DMA控制器上报的与所述数据标签对应的IO数据的已传输长度,当所述已传输长度等于所述IO数据的总长度时,向主机发送传输完毕信息,并释放所述IO数据的数据标签。
CN201711460782.7A 2017-12-28 2017-12-28 一种ssd控制器混合流数据的传输方法和系统 Active CN108197039B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711460782.7A CN108197039B (zh) 2017-12-28 2017-12-28 一种ssd控制器混合流数据的传输方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711460782.7A CN108197039B (zh) 2017-12-28 2017-12-28 一种ssd控制器混合流数据的传输方法和系统

Publications (2)

Publication Number Publication Date
CN108197039A CN108197039A (zh) 2018-06-22
CN108197039B true CN108197039B (zh) 2022-01-11

Family

ID=62585184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711460782.7A Active CN108197039B (zh) 2017-12-28 2017-12-28 一种ssd控制器混合流数据的传输方法和系统

Country Status (1)

Country Link
CN (1) CN108197039B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040310A (zh) * 2018-09-14 2018-12-18 郑州云海信息技术有限公司 一种数据传输方法及系统
CN110413234B (zh) * 2019-07-26 2024-04-26 杭州电子科技大学 一种固态硬盘
CN111966300B (zh) * 2020-08-24 2021-06-25 深圳三地一芯电子有限责任公司 一种节省主控sram的存储器数据写入方法及装置
WO2022126534A1 (zh) * 2020-12-17 2022-06-23 华为技术有限公司 数据处理方法及相关设备
CN112685344B (zh) * 2020-12-30 2024-05-14 合肥市芯海电子科技有限公司 Dma编程电路及基于dma编程电路的编程方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187337A (ja) * 2008-02-07 2009-08-20 Seiko Epson Corp デバイス制御方法、プログラム、制御回路及び電子機器
CN105683930A (zh) * 2013-10-29 2016-06-15 上海宝存信息科技有限公司 用于数据存储系统的动态缓存方法和系统
CN105786735A (zh) * 2016-02-19 2016-07-20 大唐微电子技术有限公司 一种直接内存存取dma控制器及数据访问方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10025735B2 (en) * 2013-01-31 2018-07-17 Seagate Technology Llc Decoupled locking DMA architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187337A (ja) * 2008-02-07 2009-08-20 Seiko Epson Corp デバイス制御方法、プログラム、制御回路及び電子機器
CN105683930A (zh) * 2013-10-29 2016-06-15 上海宝存信息科技有限公司 用于数据存储系统的动态缓存方法和系统
CN105786735A (zh) * 2016-02-19 2016-07-20 大唐微电子技术有限公司 一种直接内存存取dma控制器及数据访问方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
内核多线程直接存储 PCIE 驱动设计;王仕明 等;《计算机应用与软件》;20160930;全文 *

Also Published As

Publication number Publication date
CN108197039A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108197039B (zh) 一种ssd控制器混合流数据的传输方法和系统
US20180314450A1 (en) Data read/write command control method and system, and storage device in nvme over fabric architecture
CN108369530B (zh) 非易失性高速传输总线架构中数据读写命令的控制方法、设备和系统
WO2018102969A1 (zh) NVMe over Fabric架构中数据读写命令的控制方法、设备和系统
US7660911B2 (en) Block-based data striping to flash memory
CN108701004A (zh) 一种数据处理的系统、方法及对应装置
KR101812300B1 (ko) 다수의 메모리 채널들을 가진 컴퓨팅 시스템에서의 메모리 버퍼들의 할당
CN108984429A (zh) 具有缓冲器占有期管理的数据存储设备
US9098404B2 (en) Storage array, storage system, and data access method
US9959226B2 (en) Communication interface for interfacing a transmission circuit with an interconnection network, and corresponding system and integrated circuit
US20180253391A1 (en) Multiple channel memory controller using virtual channel
JP2020113137A (ja) ストレージ装置
US11307768B2 (en) Namespace auto-routing data storage system
US20200089609A1 (en) Data storage system with write back cache
KR102219759B1 (ko) 저장 장치, 그것을 포함하는 데이터 저장 시스템 및 그것의 동작 방법
KR20180030985A (ko) Usb 2.0 대역폭 예약을 위한 방법 및 시스템
CN114521253A (zh) 用于固态驱动器中的输入输出确定性的双层确定性进程间通信调度器
US9146693B2 (en) Storage control device, storage system, and storage control method
JP2020144410A (ja) メモリコントローラ
KR20210084632A (ko) 오픈 채널 벡터 커맨드 실행
CN114450673B (zh) Iod ssd的独立集数据通道
US20160291896A1 (en) Datapath subsystem, method and device utilizing memory sharing
JP2023027970A (ja) メモリシステム
JP7403554B2 (ja) 情報処理装置
JP4526509B2 (ja) ディスクアレイ制御装置

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