当前位置: 首页 > 专利查询>向志华专利>正文

快速响应trim命令的方法、SSD控制器及系统技术方案

技术编号:8532802 阅读:156 留言:0更新日期:2013-04-04 15:48
本发明专利技术提供一种快速响应trim命令的方法、SSD控制器及系统,该方法包括:固态硬盘SSD控制器接到主机下发的trim命令时,获取该trim命令所指的逻辑地址范围;SSD控制器修改所述trim命令所指的逻辑地址的状态,将其置为无效;SSD控制器向主机返回表示trim命令完成的应答信号;在trim命令完成应答后,由SSD控制器择机执行对所述逻辑地址对应的物理地址的状态进行修改,将其置为无效。本发明专利技术提供的技术方案,可以快速地执行连续多个大段数据的TRIM命令,从而在较短的时间内响应主机的多个大段数据的TRIM请求,减小了系统的等待时间,提高命令响应效率。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及一种快速响应trim命令的方法以及对应的 快速响应trim命令的SSD控制器、快速响应trim命令的SSD系统。
技术介绍
固态硬盘(Solid State Disk, SSD)采用非易失性存储芯片作为存储介质,物理 上这些存储芯片在写入数据之前必须先进行擦除操作。而在擦除之前,则需将存储芯片的 存储块上原先有效的数据转移到另外的已擦过的块,这个过程一般称为垃圾回收。垃圾回 收的效率直接影响SSD的写性能,垃圾回收效率越高对主机向SSD写入数据的写性能的影 响越小。当一个块上的数据全为无效数据时垃圾回收的效率最高。为此,ATA (Advanced Technology Attachment,高级技术附件规格)协议里新增 TRM命令,ATA TRM命令是文件系统用来通知设备哪些逻辑地址不再被占用,可以被设备 回收为空闲空间,在ATA命令集中,TRM命令只是DATA MANAGEMENT SET (DMS)命令的一 个子命令,DMS命令是专门用来做设备优化的,当DMS的feature属性最低位置1,发送的就 是TRIM命令;该命令通过 DATA MANAGEMENT SET 命令下发,归类于 DMA(Direct Memory Access, 直接内存存取)协议命令。在删除文件时,通过该条命令可将一段数据设定为无效,从而提 高SSD后续垃圾回收的效率;同时,TRIM减少了无效数据的搬移,降低了存储芯片的磨损, 对提高SSD寿命也有积极作用。一般而言,SSD控制器在执行TRM命令时并非立即将TRM数据所在的 物理块进行垃圾回收,否则垃圾回收所带来的读/写/擦除将占用很长的时间(参 见专利CN200920227341. 7 “一种用于固态硬盘的八通道SOC控制芯片”以及专利 US20120066447 “SCHEDULING OF I/O INAN SSD ENVIRONMENT”)。SSD 控制器的主要操作 是修改相关数据所对应的表项,包括基于逻辑地址索引的数据状态表和基于物理地址的物 理状态表,而当TRIM的区域范围很大时,表项修改的次数和时间呈线性增长,进而会影响 命令的响应时间,使得命令完成超时;即使在SSD控制器中采用缓存技术,将表项缓存在其 中,在表项修改时只更新缓存中的数据,能一定程度地改善命令完成时间,但仍不能根本地 解决上述问题。
技术实现思路
为解决上述现有技术中存在的技术问题,本专利技术提供一种快速响应trim命令的 方法以及对应的快速响应trim命令的SSD控制器、快速响应trim命令的SSD系统,实施本 专利技术所提供的技术方案,可以快速地执行连续多个大段数据的trim命令,从而在较短的时 间内响应主机的多个大段数据的trim请求,减小了系统的等待时间,提高命令响应效率。为解决上述技术问题,本专利技术提供一种快速响应trim命令的方法,包括固态硬盘SSD控制器接到主机下发的trim命令时,获取该trim命令所指的逻辑地址范围;SSD控制器修改所述trim命令所指的逻辑地址的状态,将其置为无效;SSD控制器向主机返回表不trim命令完成的应答信号;在trim命令完成应答后,由SSD控制器择机执行对所述逻辑地址对应的物理地址的状 态进行修改,将其置为无效。其中,所述在trim命令完成应答后,由SSD控制器择机执行对所述逻辑地址对应 的物理地址的状态进行修改,将其置为无效,包括在主机未下发新的trim命令的情况下, SSD控制器对所述trim命令所指的逻辑地址对应的物理地址的状态进行修改,将其置为无 效;或者在SSD处于空闲的状态时,SSD控制器对所述trim命令所指的逻辑地址对应的物 理地址的状态进行修改,将其置为无效。其中,若SSD控制器对所述trim命令所指的逻辑地址对应的物理地址的状态进行 修改的操作尚未完成,接收到主机下发的新的trim命令时,则SSD控制器缓存尚未完成的 修改物理地址的操作,响应主机下发的新的trim命令;且当所述新的trim命令完成后,SSD 控制器继续执行尚未完成的修改物理地址的操作。其中,所述SSD控制器向主机返回表示trim命令完成的应答信号之后,还包括 SSD控制器接到主机下发的写IO请求时,SSD控制器获取一个可写的物理地址;SSD控制器下发写命令,将主机下发的数据写到已分配的物理地址;SSD控制器修改逻辑地址,将其指向新写入数据的物理地址,并置该逻辑地址有效;SSD控制器修改新写入数据的物理地址的状态信息,并将其标记为有效。其中,所述SSD控制器修改新写入数据的物理地址的状态信息,并将其标记为有 效之后还包括SSD控制器判断所述逻辑地址之前是否有效;若有效,则修改原物理地址的 状态信息,并将其标记为无效。其中,所述SSD控制器向主机返回表示trim命令完成的应答信号之后,还包括 SSD控制器接到主机读IO请求,判断其逻辑地址之前是否有效;若有效,则SSD控制器查询映射表获取主机请求的数据所处的物理地址,并下发读命令读取所述数据返回给主 机;若无效,则SSD控制器根据设定将所述逻辑地址的数据内容设定为确定值或任意值, 并将数据返回给主机。相应的,本专利技术还提供一种快速响应trim命令的SSD控制器,包括逻辑地址获取模块,用于在所述SSD控制器接到主机下发的trim命令时,获取该trim 命令所指的逻辑地址范围;逻辑地址修改模块,用于根据所述逻辑地址获取模块所获取的逻辑地址范围修改所述 trim命令所指的逻辑地址的状态,将其置为无效;trim命令应答模块,用于在所述逻辑地址修改模块完成逻辑地址的状态修改后,向主 机返回表示trim命令完成的应答信号;物理地址修改模块,用于在所述trim命令应答模块向主机完成应答后,择机执行对所 述逻辑地址对应的物理地址的状态进行修改,将其置为无效。其中,所述物理地址修改模块,用于在主机未下发新的trim命令的情况下,SSD控 制器对所述trim命令所指的逻辑地址对应的物理地址的状态进行修改,将其置为无效;或者在SSD处于空闲的状态时,SSD控制器对所述trim命令所指的逻辑地址对应的物理地址 的状态进行修改,将其置为无效。其中,所述物理地址修改模块包括物理地址修改单元,用于在所述trim命令应答模块向主机完成应答后,择机执行对所 述逻辑地址对应的物理地址的状态进行修改,将其置为无效;修改操作缓存单元,用于在所述物理地址修改单元对所述trim命令所指的逻辑地址 对应的物理地址的状态进行修改的操作尚未完成,所述SSD控制器又接收到主机下发的新 的trim命令时,缓存尚未完成的修改物理地址的操作,供SSD控制器响应主机下发的新的 trim命令;且当所述新的trim命令完成后,控制所述物理地址修改单元继续执行尚未完成 的修改物理地址的操作。其中,所述SSD控制器还包括写IO请求处理模块,用于在所述SSD控制器接到主机下发的写IO请求时,写IO请求 处理模块获取一个可写的物理地址,下发写命令,将主机下发的数据写到已分配的物理地 址并修改逻辑地址,将其指向新写入数据的物理地址,且修改新写入数据的物理地址和逻 辑地址的状态信息,将其标记为有效。其中,所述写IO请求处理模块还用于在修改新写入数据的物理地址本文档来自技高网
...

【技术保护点】
一种快速响应trim命令的方法,其特征在于,包括:固态硬盘SSD控制器接到主机下发的trim命令时,获取该trim命令所指的逻辑地址范围;SSD控制器修改所述trim命令所指的逻辑地址的状态,将其置为无效;SSD控制器向主机返回表示trim命令完成的应答信号;在trim命令完成应答后,由SSD控制器择机执行对所述逻辑地址对应的物理地址的状态进行修改,将其置为无效。

【技术特征摘要】
1.一种快速响应trim命令的方法,其特征在于,包括 固态硬盘SSD控制器接到主机下发的trim命令时,获取该trim命令所指的逻辑地址范围; SSD控制器修改所述trim命令所指的逻辑地址的状态,将其置为无效; SSD控制器向主机返回表不trim命令完成的应答信号; 在trim命令完成应答后,由SSD控制器择机执行对所述逻辑地址对应的物理地址的状态进行修改,将其置为无效。2.如权利要求1所述的快速响应trim命令的方法,其特征在于,所述在trim命令完成应答后,由SSD控制器择机执行对所述逻辑地址对应的物理地址的状态进行修改,将其置为无效,包括 在主机未下发新的trim命令的情况下,SSD控制器对所述trim命令所指的逻辑地址对应的物理地址的状态进行修改,将其置为无效;或者 在SSD处于空闲的状态时,SSD控制器对所述trim命令所指的逻辑地址对应的物理地址的状态进行修改,将其置为无效。3.如权利要求1所述的快速响应trim命令的方法,其特征在于,若SSD控制器对所述trim命令所指的逻辑地址对应的物理地址的状态进行修改的操作尚未完成,接收到主机下发的新的trim命令时,则SSD控制器缓存尚未完成的修改物理地址的操作,响应主机下发的新的trim命令;且当所述新的trim命令完成后,SSD控制器继续执行尚未完成的修改物理地址的操作。4.如权利要求1至3中任一项所述的快速响应trim命令的方法,其特征在于,所述SSD控制器向主机返回表示trim命令完成的应答信号之后,还包括 SSD控制器接到主机下发的写IO请求时,SSD控制器获取一个可写的物理地址; SSD控制器下发写命令,将主机下发的数据写到已分配的物理地址; SSD控制器修改逻辑地址,将其指向新写入数据的物理地址,并置该逻辑地址有效; SSD控制器修改新写入数据的物理地址的状态信息,并将其标记为有效。5.如权利要求4所述的快速响应trim命令的方法,其特征在于,所述SSD控制器修改新写入数据的物理地址的状态信息,并将其标记为有效之后还包括 SSD控制器判断所述逻辑地址之前是否有效;若有效,则修改原物理地址的状态信息,并将其标记为无效。6.如权利要求1至3中任一项所述的快速响应trim命令的方法,其特征在于,所述SSD控制器向主机返回表示trim命令完成的应答信号之后,还包括 SSD控制器接到主机读IO请求,判断其逻辑地址之前是否有效; 若有效,则SSD控制器查询映射表获取主机请求的数据所处的物理地址,并下发读命令读取所述数据返回给主机; 若无效,则SSD控制器根据设定将所述逻辑地址的数据内容设定为确定值或任意值,并将数据返回给主机。7.一种快速响应trim命令的SSD控制器,其特征在于,包括 逻辑地址获取模块,用于在所述SSD控制器接到主机下发的trim命令时,获取该trim命令所指的逻辑地址范围;逻辑地址修改模...

【专利技术属性】
技术研发人员:向志华李欣张琴杨继涛王灿黎智李程
申请(专利权)人:向志华李欣张琴杨继涛王灿黎智李程
类型:发明
国别省市:

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

1