一种固态硬盘及其数据管理方法、系统的制作方法

文档序号:6371863阅读:151来源:国知局
专利名称:一种固态硬盘及其数据管理方法、系统的制作方法
技术领域
本发明涉及固态存储技术领域,尤其涉及一种固态硬盘及其数据管理方法、系统。
背景技术
对于传统的支持原地更新的存储系统,文件系统写入新数据时,会将同一地址上的旧数据覆盖,不会影响存储系统的性能;但对于不能支持原地更新的固态存储设备,需要通过“搬移-擦除”垃圾回收方式来不断提供可供写入的空间,若文件系统不将无效数据对应的地址空间告知存储设备,则对于固态存储设备而言,这些数据也是有效的,因此也会在垃圾回收过程中被不断无效的搬移,降低固态存储设备性能。TRIM命令是一个文件系统将无效数据对应的地址空间告知存储设备的命令,存储设备收到这样的命令后,会标记这些无效数据,使它们不参与到垃圾回收过程,以避免存储设备对这些数据的不必要的操作,从而提高固态存储设备性能。
·
现有的TRIM实现方式仅按位图方式存储TRIM信息,文件系统向被TRIM的区间写入新数据时,需要及时更新TRIM信息,同时为了加速TRIM信息的更新,缓存部分TRIM信息在内存中。而仅按位图方式存储TRIM信息会占用较多存储空间,文件系统向被TRIM的区间写入新数据时,需要及时更新TRIM信息,会使得TRIM与正常数据流的紧耦合,降低了系统的效率,提高了系统复杂度,对TRIM信息的缓存使得固态存储系统对内存的需求增加。综上可知,现有的固态硬盘在实际使用上显然存在不便与缺陷,所以有必要加以改进。

发明内容
针对上述的缺陷,本发明的目的在于提供一种固态硬盘及其数据管理方法、系统,解除了标记信息与正常数据流的耦合,实现了对固态硬盘无效数据的快速标记,提高了系统的效率,降低了系统对内存的需求以及系统实现的复杂度。为了实现上述目的,本发明提供一种固态硬盘数据管理方法,包括将写入数据加入时间戳后再存入固态硬盘中;接收将数据标记为无效的标记命令,将无效数据对应的地址区间进行标记,并将标记信息加入时间戳后存入所述固态硬盘中;所述固态硬盘启动后,将所述标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对;若所述被标记的地址区间内的数据的时间戳早于所述标记信息的时间戳,则将该地址区间标记为无效,否则不将该地址区间标记为无效。根据本发明的数据管理方法,“将写入数据加入时间戳后再存入固态硬盘中”的步骤具体为接收数据写入命令;将所述写入命令分解为数据写入单元;为所述每个数据写入单元内的数据添加时间戳;将所述数据写入单元内的数据存储到所述固态硬盘的闪存中。根据本发明的数据管理方法,“将标记信息加入时间戳后存入所述固态硬盘中”的步骤具体为将所述标记信息分解为多个数据写入单元;为所述多个数据写入单元添加时间戳;将所述数据写入单元内的数据存储到所述固态硬盘的闪存中。根据本发明的数据管理方法,“将所述标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对”的步骤之前还包括扫描固态硬盘,建立逻辑物理地址映射表;从所述固态硬盘的闪存中读取所述标记信息;根据所述标记信息扫描被标记的地址区间。根据本发明的数据管理方法,所述标记信息按照位图方式保存。本发明相应提供一种固态硬盘数据管理系统,包括写数据处理模块,用于将写入数据加入时 间戳后再存入固态硬盘中;标记模块,用于接收将数据标记为无效的标记命令,将无效数据对应的地址区间进行标记,并将标记信息加入时间戳后存入所述固态硬盘中;初始化模块,用于所述固态硬盘启动后,将所述标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对;若所述被标记的地址区间内的数据的时间戳早于所述标记信息的时间戳,则将该地址区间标记为无效,否则不将该地址区间标记为无效。根据本发明的数据管理系统,所述写数据处理模块将写入数据加入时间戳后再存入固态硬盘中具体为接收数据写入命令;将所述写入命令分解为数据写入单元;为所述每个数据写入单元内的数据添加时间戳;将所述数据写入单元内的数据存储到所述固态硬盘的闪存中。根据本发明的数据管理系统,所述标记模块在标记信息上加入时间戳后再存入所述固态硬盘中具体为将所述标记信息分解为多个数据写入单元;为所述多个数据写入单元添加时间戳;将所述数据写入单元内的数据存储到所述固态硬盘的闪存中。根据本发明的数据管理系统,所述初始化单元还用于扫描固态硬盘,建立逻辑物理地址映射表;从所述固态硬盘的闪存中读取所述标记信息;根据所述标记信息扫描被标记的地址区间。本发明还提供一种固态硬盘,包括上述固态硬盘数据管理系统。本发明通过在数据或者无效标记信息写入固态硬盘存储设备时,记录写入的时间戳,固态硬盘启动时,通过比较数据的时间戳与无效标记信息的时间戳来确定是否应用该无效标记信息,将特定的地址区间标记为无效。在向被标记为无效的地址区间写入新数据时,由于新写入数据的时间戳晚于该地址区间的标记信息的时间戳,则当固态硬盘启动时,不会应用该标记信息,即不会将该地址区间标记为无效。从而文件系统向被标记为无效的地址区间写入新数据时,不用更新标记信息,而通过对数据和标记信息添加时间戳的方式实现对地址区间无效标记的应用,解除了标记信息与正常数据流的耦合,实现了对固态硬盘无效数据的快速标记,提高了系统的效率;同时标记信息与数据均存储在固态硬盘的闪存中,存储方式一致,不用缓存到内存中,降低了系统对内存的需求以及系统实现的复杂度。借此,本发明解除了标记信息与正常数据流的耦合,实现了对固态硬盘无效数据的快速标记,提高了系统的效率,降低了系统对内存的需求以及系统实现的复杂度。


图I是本发明固态硬盘数据管理系统的原理结构图;图2是本发明固态硬盘数据管理方法的流程图3是本发明固态硬盘数据管理系统中写数据处理模块一种实施例的具体工作流程图;图4是本发明固态硬盘数据管理系统中标记模块一种实施例的具体工作流程图;图5是本发明固态硬盘初始化一种实施例的具体工作流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图I所示,本发明一种固态硬盘数据管理系统100,用于固态硬盘,其主要包括写数据处理模块10、标记模块20以及初始化模块30。
·
写数据处理模块10,用于将写入数据加入时间戳后再存入固态硬盘中。具体的,当文件系统向固态硬盘中写入新数据时,固态硬盘接收数据写入命令,并将该数据写入命令分解为多个数据写入单元(数据写入单元可以为一个页或一个扇区等等),为每个数据写入单元内的数据添加时间戳,并将数据写入单元内的数据存储到固态硬盘的闪存中。标记模块20,用于接收将数据标记为无效的命令,将无效数据对应的地址区间进行标记,并在标记信息上加入时间戳后再存入固态硬盘中。具体的,固态硬盘接收文件系统发来的将数据标记为无效的命令(如TR頂命令),在逻辑物理地址映射表上将无效数据对应的地址区间进行标记,并将标记信息分解为多个数据写入单元,为多个数据写入单元添加时间戳后存入固态硬盘的闪存中。该标记信息包括那些地址区间是无效的,哪些地址区间是有效的;该标记信息可按照位图方式保存,通过在位图中采用不同的表达方式(如象素颜色)与有效地址区间和无效地址区间进行分别对应。优选地,将数据标记为无效的命令通常在文件系统删除数据的时候发出。其中,逻辑物理地址映射表表示了逻辑地址到物理地址之间的映射关系。初始化模块30,用于固态硬盘启动后,将标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对,若被标记的地址区间内的数据的时间戳早于标记信息的时间戳,则将该地址区间标记为无效。具体的,当固态硬盘启动后,扫描固态硬盘,建立逻辑物理地址映射表;从固态硬盘的闪存中读取标记信息;根据标记信息扫描被标记的地址区间,将标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对;若被标记的地址区间内的数据的时间戳早于标记信息的时间戳,则在逻辑物理地址映射表将该地址区间标记为无效。根据本发明的实施例,在固态硬盘初始化时,一般会包括以下两种情况I、如果某个地址区间写入数据后,又被标记为无效,则该地址区间内的数据的时间戳肯定会早于标记信息的时间戳。那么下次初始化时,通过比对该地址区间内数据的时间错和标记信息的时间戳,可以判断该地址区间确实是无效的,从而在逻辑物理地址映射表中应用该标记信息,将该地址区间重新标记为无效。2、如果某个地址区间被标记为无效后,又写入了新的数据,则该地址区间内的数据的时间戳肯定会晚于标记信息的时间戳。那么下次初始化时,通过比对该地址区间内数据的时间错和标记信息的时间戳,可以判断该地址区间是有效的,从而在逻辑物理地址映射表中不应用该标记信息,不将该地址区间重新标记为无效。从而在文件系统向已被标记为无效的地址区间写入新的数据时,不用更新标记信息,解除了标记命令与正常数据流的耦合,提高了系统的效率,降低了系统对内存的需求。本发明通过在数据或者无效标记信息写入固态硬盘存储设备时,记录写入的时间戳,固态硬盘启动时,通过比较数据的时间戳与无效标记信息的时间戳来确定是否应用该无效标记信息,将特定的地址区间标记为无效。在向被标记为无效的地址区间写入新数据时,由于新写入数据的时间戳晚于该地址区间的标记信息的时间戳,则当固态硬盘启动时,不会应用该标记信息,即不会将该地址区间标记为无效。从而文件系统向被标记为无效的地址区间写入新数据时,不用更新标记信息,而通过对数据和标记信息添加时间戳的方式实现对地址区间无效标记的应用,解除了标记信息与正常数据流的耦合,实现了对固态硬盘无效数据的快速标记,提高了系统的效率;同时标记信息与数据均存储在固态硬盘的闪存中,存储方式一致,不用缓存到内存中,降低了系统对内存的需求以及系统实现的复杂度。借此,本发明解除了标记信息与正常数据流的耦合,实现了对固态硬盘无效数据的快速标记,提高了系统的效率,降低了系统对内存的需求以及系统实现的复杂度。
·
本发明相应提供一种固态硬盘数据管理方法,其通过如图I所示的管理系统实现,该方法主要包括如下流程步骤S201,将写入数据加入时间戳后再存入固态硬盘中。本步骤通过写数据处理模块10实现。步骤S202,接收将数据标记为无效的标记命令,将无效数据对应的地址区间进行标记,并将标记信息加入时间戳后存入固态硬盘中。本步骤通过标记模块20实现。步骤S203,固态硬盘启动后,将标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对,若被标记的地址区间内的数据的时间戳早于标记信息的时间戳,则将该地址区间标记为无效,否则不将该地址区间标记为无效。本步骤通过初始化模块30实现。优选地,上述步骤S201具体为接收数据写入命令;将写入命令分解为数据写入单元;为每个数据写入单元内的数据添加时间戳;将数据写入单元内的数据存储到固态硬盘的闪存中。优选地,上述步骤S202中,将标记信息加入时间戳后存入固态硬盘中具体为将标记信息分解为多个数据写入单元;为多个数据写入单元添加时间戳;将数据写入单元内的数据存储到固态硬盘的闪存中。优选地,上述步骤S203具体为扫描固态硬盘,建立逻辑物理地址映射表;从固态硬盘的闪存中读取标记信息;根据标记信息扫描被标记的地址区间;将标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对;若被标记的地址区间内的数据的时间戳早于标记信息的时间戳,则在逻辑物理地址映射表将该地址区间标记为无效,否则不将该地址区间标记为无效。图3是本发明固态硬盘数据管理系统中写数据处理模块一种实施例的具体工作流程图。该流程包括如下步骤步骤S301,接收数据写入命令。步骤S302,将写入命令分解为数据写入单元。
步骤S303,为每个数据写入单元内的数据添加时间戳。步骤S304,将数据写入单元内的数据存储到固态硬盘的闪存中。步骤S305,判断写入命令是否分解完成,若是则进入步骤S306,否则回到步骤S302。步骤S306,数据写入完成。在上述流程中,写数据处理模块10分解出一个数据写入单元,立即对其添加时间戳并同时分解下一个数据写入单元,添加时间戳的步骤与分解下一个数据写入单元的步骤同时进行。图3是本发明固态硬盘数据管理系统中标记模块一种实施例的具体工作流程图。该流程包括如下步骤
·
步骤S401,接收TRM命令。TR頂命令是一个文件系统将无效数据对应的地址空间告知存储设备的命令。步骤S402,根据TRM命令标记系统中的地址区间。根据TRM命令将相应的地址空间标记为无效。步骤S403,将TRM信息分解为数据写入单元。该TRM信息包括那些地址区间是无效的,哪些地址区间是有效的,该TRIM信息可按照位图方式保存。步骤S404,为每个数据写入单元内的数据添加时间戳。步骤S405,将数据写入单元内的数据存储到固态硬盘的闪存中。步骤S406,判断TRM信息是否分解完成,若是则进入步骤S407,否则回到步骤S403。步骤S407,TRIM命令执行完成。图5是本发明固态硬盘初始化一种实施例的工作流程图,其包括如下步骤步骤S501,扫描固态硬盘,建立逻辑物理地址映射表。步骤S502,从固态硬盘的闪存中读取TRM信息。TR頂信息通过位图方式保存,通过在位图中采用不同的表达方式(如象素颜色)与有效地址区间和无效地址区间进行分别对应。步骤S503,扫描在TRM信息中被标记为无效的地址区间。步骤S504,判断TRM信息的时间戳是否晚于被标记的地址区间内数据的时间戳。若是,则进入步骤S505,否则进入步骤S506。步骤S505,在逻辑物理地址映射表中将被TRM信息中被标记为无效的地址区间标记为无效。步骤S506,判断是否完成扫描,若是则进入步骤S507,否则回到步骤S503。步骤S507,初始化完成。在上述流程中,TR頂信息中包括了被标记为无效的地址区间,而在固态硬盘启动后,在新建的逻辑物理地址映射表中并无这些标记信息,因此在初始化过程中,需要判断根据TR頂信息中被标记为无效的地址区间应用到逻辑物理地址映射表中。同时,采用区间与位图混合方式存储TRIM信息,减少需要存储的TRIM信息量,加速了 TRIM命令的执行,以及TRIM信息的应用,减少系统启动时间。综上所述,本发明通过在数据或者无效标记信息写入固态硬盘存储设备时,记录写入的时间戳,固态硬盘启动时,通过比较数据的时间戳与无效标记信息的时间戳来确定是否应用该无效标记信息,将特定的地址区间标记为无效。在向被标记为无效的地址区间写入新数据时,由于新写入数据的时间戳晚于该地址区间的标记信息的时间戳,则当固态硬盘启动时,不会应用该标记信息,即不会将该地址区间标记为无效。从而文件系统向被标记为无效的地址区间写入新数据时,不用更新标记信息,而通过对数据和标记信息添加时间戳的方式实现对地址区间无效标记的应用,解除了标记信息与正常数据流的耦合,实现了对固态硬盘无效数据的快速标记,提高了系统的效率;同时标记信息与数据均存储在固态硬盘的闪存中,存储方式一致,不用缓存到内存中,降低了系统对内存的需求以及系统实现的复杂度。借此,本发明解除了标记信息与正常数据流的耦合,实现了对固态硬盘无效数据的快速标记,提高了系统的效率,降低了系统对内存的需求以及系统实现的复杂度。当然,本发明还可有其它多种实施例,在不背离本发 明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种固态硬盘数据管理方法,其特在于,包括 将写入数据加入时间戳后再存入固态硬盘中; 接收将数据标记为无效的标记命令,将无效数据对应的地址区间进行标记,并将标记信息加入时间戳后存入所述固态硬盘中; 所述固态硬盘启动后,将所述标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对,若所述被标记的地址区间内的数据的时间戳早于所述标记信息的时间戳,则将该地址区间标记为无效,否则不将该地址区间标记为无效。
2.根据权利要求I所述的数据管理方法,其特征在于,“将写入数据加入时间戳后再存入固态硬盘中”的步骤具体为 接收数据写入命令; 将所述写入命令分解为数据写入单元; 为所述每个数据写入单元内的数据添加时间戳; 将所述数据写入单元内的数据存储到所述固态硬盘的闪存中。
3.根据权利要求I所述的数据管理方法,其特征在于,“将标记信息加入时间戳后存入所述固态硬盘中”的步骤具体为 将所述标记信息分解为多个数据写入单元; 为所述多个数据写入单元添加时间戳; 将所述数据写入单元内的数据存储到所述固态硬盘的闪存中。
4.根据权利要求I所述的数据管理方法,其特征在于,“将所述标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对”的步骤之前还包括 扫描固态硬盘,建立逻辑物理地址映射表; 从所述固态硬盘的闪存中读取所述标记信息; 根据所述标记信息扫描被标记的地址区间。
5.根据权利要求I所述的数据管理方法,其特征在于,所述标记信息按照位图方式保存。
6.一种固态硬盘数据管理系统,其特在于,包括 写数据处理模块,用于将写入数据加入时间戳后再存入固态硬盘中; 标记模块,用于接收将数据标记为无效的标记命令,将无效数据对应的地址区间进行标记,并将标记信息加入时间戳后存入所述固态硬盘中; 初始化模块,用于所述固态硬盘启动后,将所述标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对,若所述被标记的地址区间内的数据的时间戳早于所述标记信息的时间戳,则将该地址区间标记为无效,否则不将该地址区间标记为无效。
7.根据权利要求6所述的数据管理系统,其特征在于,所述写数据处理模块将写入数据加入时间戳后再存入固态硬盘中具体为接收数据写入命令;将所述写入命令分解为数据写入单元;为所述每个数据写入单元内的数据添加时间戳;将所述数据写入单元内的数据存储到所述固态硬盘的闪存中。
8.根据权利要求6所述的数据管理系统,其特征在于,所述标记模块在标记信息上加入时间戳后再存入所述固态硬盘中具体为将所述标记信息分解为多个数据写入单元;为所述多个数据写入单元添加时间戳;将所述数据写入单元内的数据存储到所述固态硬盘的闪存中。
9.根据权利要求6所述的数据管理系统,其特征在于,所述初始化单元还用于扫描固态硬盘,建立逻辑物理地址映射表;从所述固态硬盘的闪存中读取所述标记信息;根据所述标记信息扫描被标记的地址区间。
10.一种固态硬盘,包括如权利要求6 9任一项所述的固态硬盘数据管理系统。
全文摘要
本发明适用于固态存储技术领域,提供了一种固态硬盘及其数据管理方法、系统。固态硬盘数据管理方法包括将写入数据加入时间戳后再存入固态硬盘中;接收将数据标记为无效的标记命令,将无效数据对应的地址区间进行标记,并将标记信息加入时间戳后存入固态硬盘中;固态硬盘启动后,将标记信息的时间戳与被标记的地址区间内的数据的时间戳进行比对;若被标记的地址区间内的数据的时间戳早于标记信息的时间戳,则将该地址区间标记为无效,否则不将该地址区间标记为无效。借此,本发明解除了标记信息与正常数据流的耦合,实现了对固态硬盘无效数据的快速标记,提高了系统的效率,降低了系统对内存的需求以及系统实现的复杂度。
文档编号G06F3/06GK102789368SQ201210206930
公开日2012年11月21日 申请日期2012年6月21日 优先权日2012年6月21日
发明者张志清, 李建, 王猛 申请人:记忆科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1