[发明专利]一种SSD控制器混合流数据的传输方法和系统有效
申请号: | 201711460782.7 | 申请日: | 2017-12-28 |
公开(公告)号: | CN108197039B | 公开(公告)日: | 2022-01-11 |
发明(设计)人: | 杨万云;彭鹏;姜黎 | 申请(专利权)人: | 湖南国科微电子股份有限公司 |
主分类号: | G06F12/0868 | 分类号: | G06F12/0868;G06F12/0871 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
地址: | 410100 湖南省长*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ssd 控制器 混合 数据 传输 方法 系统 | ||
本发明实施例中提供了一种SSD控制器混合流数据传输方法和系统,系统中的SSD控制器包括主控制器,缓存中转通路和流传输通路。本申请在缓存中转通路的基础上,另外设置了流传输通路,流传输通路相对于缓存中转通路的优势在于,不需要占用缓存中转待传输的数据,而是直接通过触发控制器对Flash DMA控制器和Host DMA控制器进行数据传输的联动控制,从而将IO数据直接从源地址写入目的地址,能够有效节约SSD的缓存资源,打破了SSD控制器的缓存容量与SSD性能之间的必然联系。本方案能够使用较小的内部缓存空间,满足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数据直接从源地址传输至目的地址包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南国科微电子股份有限公司,未经湖南国科微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711460782.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置