一种SSD后端数据通路管理加速模块及SSD设备制造技术

技术编号:11179808 阅读:124 留言:0更新日期:2015-03-25 09:29
本发明专利技术公开了一种SSD后端数据通路管理加速模块,其特征在于包括了完全由硬件方式实现并自动执行的后端的nfc cmd管理模块,所述nfc cmd管理模块对SSD控制器向nand flash控制器发送的nfc cmd的进行缓存,根据nfc cmd对应的sata cmd tag进行回收,实现了多个nfc bank下并行执行bank间全乱序回收到按照sata cmd之间乱序sata cmd内顺序回收的转换。及应用该加速模块的SSD设备,后端数据通路管理加速模块可以直接返回sata cmd之间乱序sata cmd内顺序的buf node,可以使系统和SSD控制器都不再需要做大量的遍历操作,降低通路上的响应时间进而提升系统整体性能。

【技术实现步骤摘要】
一种SSD后端数据通路管理加速模块及SSD设备
本专利技术涉及一种SSD固态硬盘技术,特别涉及一种SSD后端数据通路管理加速模块及SSD设备。
技术介绍
相关名词解释: SSD:Solid State Drive,固态硬盘,与传统的机械硬盘相对应,是基于nandflash的存储设备。 Sata:Serial Advanced Technology Attachment,串行高级技术附件,一种基于行业标准的串行硬件驱动器接口协议。 Host:主机。 Device:本专利文件指SSD设备。 Sata cmd:sata命令,本专利文件指host发出用来通知device进行数据传输的命令行为。 front-end data path:前端数据通路,SATA〈->DRAM 之间的通路。 back-end data path:后端数据通路,DRAM〈->nand 之间的通路 ncq cmd:Native Command Queuing,原生命令队列,Sata cmd 的一种。 FPDMA:First Party DMA,单方 DMA。 Hw,hardware:硬件。 Fw, firmware:固件,本专利文件指的是SSD控制器的固件。 Buf node:缓冲区节点。 Sata cmd tag:在ncq cmd的情况下,host在发送这些cmd的时候标记,用于对这些cmd进行区分。 Outstanding cmd:ncq 情况下 device 端的 cmd 个数。 Xfer cmd:本专利文件指前端已经由Fw提交到Hw的进入hw xfer序列的cmd。 Xfer cmd idx:表明 xfer cmd 的顺序。 Buf node submit cnt:sw 本次向 hw 提交的 buf node 个数。 Buf node reclaim cnt:hw本次向fw释放的已经传输完毕的buf node个数 Bank:一种抽象的nand控制器对nand颗粒可以进行并行操作的级别。 nfc:nand flash controller, nand flash 控制器,是 SSD 主控中用于对 nandflash颗粒控制的硬件模块。 nfc cmd:nand flash 控制器操作命令。 对于基于SATA/SATA-E接口协议的SSD,按照SATA协议数据传输的要求,sata cmd内数据buf node要求严格顺序,而按照性能提升的要求,sata cmd之间数据buf node要求乱序。 SSD后端一般米用nand阵列实现,nand flash controller将多个nand颗粒按照ch/ce/lun进行管理,ch/ce/lun之间可以并行操作以提升性。Ch/ce/lun统一抽象为bank,实际情况下,nfc cmd在bank上的分布是不均衡,由于各个bank之间的并行性,会出现后提交的nfc cmd的bank操作比先交的nfc cmd的bank先完成的情况,即bank间nfccmd的乱序,在同一个bank内操作的完成仍然是顺序,即bank内顺序。 Bank之间nfc cmd的乱序与bank内顺序需要转化为sata cmd之间buf node乱序sata cmd内buf node顺序,这一转化目前主要由SSD控制器上的软件来实现,主要有两类具体实现方案: 第一类,在后端按照sata cmd建立回收list矩阵,按照sata cmd内顺序cmd间乱序的规律进行被动回收,nfc bank做完成状态标记,这种方案需要SSD控制器上的软件经常性的按照cmd遍历回收矩阵,确认各个cmd的下一个node是否可以回收。 第二类,在前端按照sata cmd建立软件xfer矩阵,进行主动排序回收,这种方案需要SSD控制器上的软件按照新拿到的buf node寻找到对应的cmd并遍历buf node list,将新拿到的buf node插入到buf node list的适当位置,同时这种方案需要在每个bufnode中做顺序标记。 不论是第一类方案还是第二类方案均需要SSD控制器上的软件经常性的做遍历操作,会消耗大量的cpu计算资源,会引起通路上的响应时间的增加,进一步影响系统性能,同时第二类方案还会增加memory需求。
技术实现思路
针对以上缺陷,本专利技术目的在于提出了在不需要额外消耗系统SSD控制器的memory和cpu的资源前提下,将SSD控制器的nfc cmd序列,按照bank之间nfc cmd的乱序与bank内顺序的规则要求进行重新调度,不引起通路上的响应时间增加的前提下实现sata cmd之间buf node乱序sata cmd内buf node顺序的目的,进而达到整体提升系统性能的目的。 为了实现上述目的,本专利技术提供了一种SSD后端数据通路管理加速模块,其特征在于包括了完全由硬件方式实现并自动执行的后端的nfc cmd管理模块,所述nfc cmd管理模块对SSD控制器向nand flash控制器发送的nfc cmd的进行缓存,根据nfc cmd对应的sata cmd tag进行回收,实现了多个nfc bank下并行执行,bank间全乱序回收和按照sata cmd之间乱序sata cmd内顺序回收的转换。 所述的SSD后端数据通路管理加速模块,所述nfc cmd管理模块上建立有固定长度的nfc cmd接收队列、还依据nand flash的bank数量,设置相同数量bank命令映射通道,每个bank命令映射通道都设有nfc cmd执行点和nfc cmd就绪点;nfc cmd接收队列依据SSD控制器提交的nfc cmd的时间顺序依次进入nfc cmd接收队列,nfc cmd接收队列上的每个队列元素包括nfc cmd进入nfc cmd接收队列的序号nfc cmd idx、nfc cmd需要操作的band序号bank id、nfc cmd详细信息的ram地址、nfc cmd的状态信息status、产生nfc cmd对应的nfc cmd的sata cmd tag ;nfc cmd执行点拷贝有每个bank上正在执行的nfc cmd,并按照拷贝有的nfc cmd实际执行与bank的交互,nfc cmd就绪点拷贝有每个bank上下一个准备执行的nfc cmd。 所述的SSD后端数据通路管理加速模块,其特征在于所述的nfc cmd管理模块按照如下步骤进行转换: 步骤1:nfc cmd管理模块接收fw提交的nfc cmd ; 步骤2:依据接收到的nfc cmd内容将本次接收到的nfc cmd对应的队列元素进行入队操作,对应的s tatus设置为pending状态,并将对应bank序号的命令计数器cmdpending cnt加 I ; 步骤3:nfc cmd管理模块检查各个bank序号的就绪点是否有nfc cmd,如果不为空则不做操作;如果为空,则判断对应nfc bank序号的cmd pending cnt是否>0,如果为O则不做操作;如果> O检索nfc cmd队列,将nfc cmd队列中对应相同bank序号、状态为pend本文档来自技高网
...
一种SSD后端数据通路管理加速模块及SSD设备

【技术保护点】
一种SSD后端数据通路管理加速模块,其特征在于包括了完全由硬件方式实现并自动执行的后端的nfc cmd管理模块,所述nfc cmd管理模块对SSD控制器向nand flash控制器发送的nfc cmd的进行缓存,根据nfc cmd对应的sata cmd tag进行回收,实现了多个nfc bank下并行执行,bank间全乱序回收和按照sata cmd之间乱序sata cmd内顺序回收的转换。

【技术特征摘要】
1.一种SSD后端数据通路管理加速模块,其特征在于包括了完全由硬件方式实现并自动执行的后端的nfc cmd管理模块,所述nfc cmd管理模块对SSD控制器向nand flash控制器发送的nfc cmd的进行缓存,根据nfc cmd对应的sata cmd tag进行回收,实现了多个nfc bank下并行执行,bank间全乱序回收和按照sata cmd之间乱序sata cmd内顺序回收的转换。2.根据权利要求1所述的SSD后端数据通路管理加速模块,所述nfccmd管理模块上建立有固定长度的nfc cmd接收队列、还依据nand flash的bank数量,设置相同数量bank命令映射通道,每个bank命令映射通道都设有nfc cmd执行点和nfc cmd就绪点;nfc cmd接收队列依据SSD控制器提交的nfc cmd的时间顺序依次进入nfc cmd接收队列,nfc cmd接收队列上的每个队列元素包括nfc cmd进入nfc cmd接收队列的序号nfc cmd idx、nfccmd需要操作的band序号bank id、nfc cmd详细信息的ram地址、nfc cmd的状态信息status、产生nfc cmd对应的nfc cmd的sata cmd tag ;nfc cmd执行点拷贝有每个bank上正在执行的nfc cmd,并按照拷贝有的nfc cmd实际执行与bank的交互,nfc cmd就绪点拷贝有每个bank上下一个准备执行的nfc cmd。3.根据权利要求2所述的SSD后端数据通路管理加速模块,其特征在于所述的nfccmd管理模块按照如下步骤进行转换: 步骤1:nfc cmd管理模块接收fw提交的nfc cmd ; 步骤2:依据接收到的nfc cmd内容将本次接收到的nfc cmd对应的队列元素进行入队操作,对应的status设置为pending状态,并将对应bank序号的命令计数器cmd pendingcnt 加 I ; 步骤3:nfc cmd管理模块检查各个bank序号的就绪点是否有nfc cmd,如果不为空则不做操作;如果...

【专利技术属性】
技术研发人员:罗宗扬
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1