买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:杭州电子科技大学
摘要:本发明公开了一种基于eMMC的NVMe存储设备的数据传输优化方法,包括在SSDNVMe控制器中建立映射表CommandDataTable,该表是从主机Host存入DataBuffer中命令和数据块的映射,该表维护了DataBuffer中命令和数据块的相关状态;在上电初始化之前,先在配置文件中设置eMMC通道允许命令和数据块操作执行的最大时间阈值;在每个eMMC从DataBuffer中获取要执行的命令和数据块时,先在CommandDataTable中查找其对应的状态;只有操作状态为待执行状态时,命令和数据块才可被eMMC读取;当命令和数据块被eMMC读取后,操作状态由待执行状态转换为执行成功状态。本发明解决了因eMMC处理数据的Busy时间的不可预知性而导致的通道堵塞问题,从而提高了数据传输速率,减少了时延。
主权项:1.一种基于eMMC的NVMe存储设备的数据传输优化方法,其特征在于,包括在SSDNVMe控制器中建立映射表CommandDataTable,该表是从主机Host存入DataBuffer中命令和数据块的映射,该表维护DataBuffer中命令和数据块的状态,该表包括五个部分,分别为命令的地址、数据块的地址、操作状态、有效位和保留位;在上电初始化之前,先在配置文件中设置eMMC通道允许命令和数据块操作执行的最大时间阈值;在每个eMMC从DataBuffer中获取要执行的命令和数据块时,先在CommandDataTable中查找其对应的状态;只有操作状态为待执行状态时,命令和数据块才可被eMMC读取;当命令和数据块被eMMC读取后,操作状态由待执行状态转换为执行成功状态;具体包括以下步骤:S10,主机Host发送存储操作命令,命令和数据块传输至SSDNVMe控制器的DataBuffer中,然后SSDNVMe控制器对CommandDataTable进行初始化,命令和数据块的操作状态被初始化为待执行状态,有效位初始化置为有效;S20,SSDNVMe控制器判断此时是否有空闲的eMMC通道,如果有,空闲的eMMC则从DataBuffer中取出存储操作命令和选择其对应数据块,传送到各自对应通道中;当命令和数据块被传输到eMMC通道中后,SSDNVMe控制器将CommandDataTable中相对应的命令和数据块的操作状态更改为执行状态;S30,假设当前eMMC通道1-n均处于空闲状态,n为自然数;SSDNVMe控制器选择数据块1-n分别传送到各自对应的空闲eMMC通道中;S40,n个eMMC通道开始存储传输数据,不同通道的忙碌时间是不同的,每个通道中的寄存器会对数据传输计时,并与最大时间阈值比较;假定eMMC通道1由于忙碌时间超出最大时间阈值,数据出现阻塞;eMMC通道2-n没有超出最大时间阈值,完成了数据传输;S50,则,eMMC通道1由于数据出现阻塞,停止当前命令的执行,给SSDNVMe控制器返回一个失败的反馈;eMMC通道2-n数据存储完成,给SSDNVMe控制器返回一个成功的反馈,然后进入空闲状态,可重新接收数据;S60,SSDNVMe控制器收到eMMC通道的反馈后,因为eMMC通道1的反馈是失败的,故会在CommandDataTable中将失败执行的命令和数据块的操作状态重新回退为待执行状态,等待被其他空闲的eMMC通道处理;S70,而eMMC通道2-n的反馈是成功的,故会在CommandDataTable中将命令和数据块的有效位记为无效,等待SSDNVMe控制器的垃圾回收机制将其清除;S80,因为命令和数据块1的操作状态重新置为待执行状态,又可以被空闲的eMMC通道处理;假设此时SSDNVMe控制器将数据块1交给空闲的eMMC通道2处理,然后会继续从S20开始进行,直到该命令下的所有数据块均被成功存储;S90,在当前命令下的数据块进行存储操作时,如果在eMMC通道中有剩余的空闲通道,SSDNVMe控制器会继续接收下一条命令进行执行,无需等待当前命令下的所有的数据块存储完。
全文数据:
权利要求:
百度查询: 杭州电子科技大学 一种基于eMMC的NVMe存储设备的数据传输优化方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。