The invention discloses a SSD main control Buffer, SSD control and SSD non aligned write data transmission control method, the read filling process, CPU was only involved in one step, other process by the logic control rules automatically according to the data transmission of buffer application, data synchronization, the release of buffer, greatly saved CPU time consumption of resources, improve the ability of CPU to handle other affairs; in addition, in the process of the invention, the Read DMA once completed and write part2, part3 data, the part2, part3's RD flag has been set, even if there is no Part1 data ready, but Read DMA still immediately read part1+part2+part3 the operation, so greatly reduce Read DMA waiting time, effectively improve the efficiency of transmission DMA.
【技术实现步骤摘要】
SSD主控Buffer、SSD主控及SSD非对齐写数据传输控制方法
本专利技术涉及SSD数据读写领域,特别是一种SSD主控Buffer、SSD主控及SSD非对齐写数据传输控制方法。
技术介绍
在主流SSD主控中,前端必须按sector(512Byte)长度数据对齐的方式读写数据,而SSD为方便管理常采用unit(unit大小为4KByte或8KByte)对齐方式下刷数据和查改表项。非对齐写指读写数据的范围不是按照unit对齐的写行为,如图1所示。在图1场景下,需要通过读操作将非对齐部分(黄色区域)补齐,该补齐操作称为读填充,补齐后再下刷数据到flash并改表。结合图1、图2现有方法对SSD非对齐写可分解为以下几个步骤:1.CPU从Buffer中为WriteDMA分配写缓存,该缓存记为bufferA,bufferA大小等于Part2+part1+part3数据大小;2.CPU启动WriteDMA写数据part1到bufferA内指定位置;3.CPU启动ReadDMA写数据part2/part3到bufferA内指定位置;4.Part1或part2或part3数据传输完成时,WirteDMA或ReadDMA上报CPU写完成;中断,当part1+part2+part3都传输完毕时,进入下一步,否则等待;5.CPU启动ReadDMA读取part2+part1+par3;6.ReadDMA读完成后,上报CPU读完成中断;7.CPU释放bufferA空间。从现有方法可知,几乎每个关键步骤都需要CPU参与,占用CPU时间资源严重,且操作较为繁琐。从步骤4进入第5步的条件 ...
【技术保护点】
一种SSD主控Buffer,包括多个存储单元;其特征在于,还包括WD Flag空间和RD Flag空间,且每个存储单元在WD Flag空间中都有专属的Lbit信息描述该存储单元的可写入状态,每个存储单元在RD Flag空间中都有专属的Lbit信息描述该存储单元的可读取状态;若某存储单元对应的WD flag空间专属的Lbit信息为状态0,则表示Write DMA可写该存储单元;若该存储单元对应的WD flag为状态1,则表示该存储单元已由Write DMA写满或者为Read DMA写数据预留空间;若某存储单元对应的RD Flag空间专属的Lbit信息为状态0,则表示Read DMA可写该存储单元,若该存储单元对应的RD Flash空间专属的Lbit信息为状态1,则表示该存储单元由Write DMA写满或者由Read DMA写满。
【技术特征摘要】
1.一种SSD主控Buffer,包括多个存储单元;其特征在于,还包括WDFlag空间和RDFlag空间,且每个存储单元在WDFlag空间中都有专属的Lbit信息描述该存储单元的可写入状态,每个存储单元在RDFlag空间中都有专属的Lbit信息描述该存储单元的可读取状态;若某存储单元对应的WDflag空间专属的Lbit信息为状态0,则表示WriteDMA可写该存储单元;若该存储单元对应的WDflag为状态1,则表示该存储单元已由WriteDMA写满或者为ReadDMA写数据预留空间;若某存储单元对应的RDFlag空间专属的Lbit信息为状态0,则表示ReadDMA可写该存储单元,若该存储单元对应的RDFlash空间专属的Lbit信息为状态1,则表示该存储单元由WriteDMA写满或者由ReadDMA写满。2.根据权利要求1所述的Buffer,其特征在于,L>=1。3.根据权利要求1所述的Buffer,其特征在于,所述存储单元大小为512B。4.一种SSD主控,包括CPU、WriteDMA和ReadDMA;其特征在于,还包括权利要求1~3之一所述的Buffer;所述WriteDMA将非unit对齐部分,即part2的数据传输地址和长度上报给CPU;所述CPU根据传输地址和长度,计算part2、part3的传输起始地址和长度,计算part1+part2+part3的传输起始地址和数据长度,依次向ReadDMA下发写part2数据请求、写part3数据的请求、读part1+part2+part3数据请求;其中,part1即非unit对其部分;part3即末尾unit需要读填充部分;READDMA完成写part1、part2数据,同时完成读part1+part2+part3数据读取。5.一种利用权利要求4所述的SSD主控对SSD非对齐写数据进行传输控制的方法,其特征在于,包括以下步骤:1)WriteDMA将写指针移动到下一个unit,将起始unit需要读填充部分,即part2对应的WDflag空间专属的Lbit信息置1,同时启动part1数据传输,并上报CPU传输地址和长度;2)CPU根据传输地址和长度,计算part2、part3的传输起始地址和长度,计算part1+part2+part3的传输起始地址和数据长度,依次向ReadDMA下发写part2数据请求、写part3数据的请求、读part1+part2+part3数据请求;其中,part1即非unit对其部分;part...
【专利技术属性】
技术研发人员:李雷,陈旭光,杨万云,周士兵,彭鹏,马翼,田达海,
申请(专利权)人:湖南国科微电子股份有限公司,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。