CN106406753B - 一种数据存储方法及数据存储装置 - Google Patents

一种数据存储方法及数据存储装置 Download PDF

Info

Publication number
CN106406753B
CN106406753B CN201610770628.9A CN201610770628A CN106406753B CN 106406753 B CN106406753 B CN 106406753B CN 201610770628 A CN201610770628 A CN 201610770628A CN 106406753 B CN106406753 B CN 106406753B
Authority
CN
China
Prior art keywords
data
written
write order
physical block
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610770628.9A
Other languages
English (en)
Other versions
CN106406753A (zh
Inventor
胡聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN CHIPSBANK TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN CHIPSBANK TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN CHIPSBANK TECHNOLOGY Co Ltd filed Critical SHENZHEN CHIPSBANK TECHNOLOGY Co Ltd
Priority to CN201610770628.9A priority Critical patent/CN106406753B/zh
Publication of CN106406753A publication Critical patent/CN106406753A/zh
Application granted granted Critical
Publication of CN106406753B publication Critical patent/CN106406753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据存储方法及数据存储装置,本发明实施例方法包括:接收主机系统的第二写命令,第二写命令携带有第二待写数据以及第二待写数据的第二逻辑地址信息;根据第二逻辑地址信息判断第二写命令与第一写命令是否连续,第一写命令为第二写命令之前的最近一条写命令;若是,则确定第二待写数据为第一冷数据;将第二待写数据存入第一冷数据写入点,第一冷数据写入点使用第一物理块,第一物理块的第一擦除次数大于阈值。本发明实施例还提供了一种终端设备,通过在接收写命令之后,首先判断待写数据是否为冷数据,若为冷数据,则将待写数据存入冷数据写入点,能够减少闪存物理块的擦写,延长其使用寿命。

Description

一种数据存储方法及数据存储装置
技术领域
本发明涉及数据存储技术领域,具体涉及一种数据存储方法及数据存储装置。
背景技术
Nandflash闪存由于其功耗低、体积小、防震抗摔和访问速度快等优点而选用于简易型可移动和嵌入式设备的存储领域。Nandflash以物理块为擦除单位,以物理页为编程单位,写入新的数据必须擦除一个物理块,一个物理页一个物理页分别写入。由于NandFlash的擦除次数有限,为了提高存储设备的使用寿命,均要均衡使用Nandflash,防止某些物理块的擦除次数过大,而某些物理块的擦除次数过小。
现实生活中的存储设备通常呈现出较高的数据访问局部性,即有些数据会被频繁访问,经常更新,这部分数据称为热数据;有些数据则很少或几乎不被访问,更新频率很小,这部分数据称为冷数据。
为了提高存储设备的使用寿命,现在通用的做法是将所有数据都直接写入到存储设备中,然后在空闲时将冷数据搬移到擦除次数比较大的物理块中。
但由于需要将冷数据搬移一次,因此会增加整个存储设备的写入放大,在一定程度上会降低存储设备的使用寿命。
发明内容
本发明实施例提供了一种数据存储方法及数据存储装置,用于解决现有技术中冷数据搬移增加存储设备的写入放大的问题。
为达到上述目的,本发明实施例的一方面提供了一种数据存储方法,包括:
接收主机系统的第二写命令,所述第二写命令携带有第二待写数据以及所述第二待写数据的第二逻辑地址信息;
根据所述第二逻辑地址信息判断所述第二写命令与第一写命令是否连续,所述第一写命令为所述第二写命令之前的最近一条写命令;
若是,则确定所述第二待写数据为第一冷数据;
将所述第二待写数据存入第一冷数据写入点,所述第一冷数据写入点使用第一物理块,所述第一物理块的第一擦除次数大于阈值。
结合第一方面,在第一方面的第一种可能的实现方式中,若判定所述第二写命令与所述第一写命令不连续,所述方法还包括:
判断所述第二待写数据的长度是否小于预置长度;
若是,则确定所述第二待写数据为热数据;
将所述第二待写数据存入热数据写入点,所述热数据写入点使用第二物理块,所述第二物理块的第二擦除次数小于所述阈值。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述预置长度为系统的分配单元大小。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:
若判定所述第二待写数据的长度大于所述预置长度,则确定所述第二待写数据为第二冷数据;
将所述第二待写数据存入第二冷数据写入点,所述第二冷数据写入点使用第三物理块,所述第三物理块的第三擦除次数小于所述第一擦除次数,且大于所述阈值。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式和第一方面的第三种可能的实现方式之中任意一种,在第一方面的第四种可能的实现方式中,所述第一物理块为擦除次数记录表中擦除次数最大的物理块,所述第二物理块为擦除次数记录表中擦除次数最小的物理块。
本发明实施例的第二方面提供了一种数据存储装置,包括:
接收模块,用于接收主机系统的第二写命令,所述第二写命令携带有第二待写数据以及所述第二待写数据的第二逻辑地址信息;
第一判断模块,用于根据所述第二逻辑地址信息判断所述第二写命令与第一写命令是否连续,所述第一写命令为所述第二写命令之前的最近一条写命令;
第一确定模块,用于当所述第一判断模块判定所述第二写命令与所述第一写命令连续时,确定所述第二待写数据为第一冷数据;
第一存储模块,用于在所述第一确定模块判定所述第二待写数据为第一冷数据之后,将所述第二待写数据存入第一冷数据写入点,所述第一冷数据写入点使用第一物理块,所述第一物理块的第一擦除次数大于阈值。
结合第二方面,在第二方面的第一种可能的实现方式中,所述数据存储装置还包括:
第二判断模块,用于判断所述第二待写数据的长度是否小于预置长度;
第二确定模块,用于当所述第二判断模块判定所述第二待写数据的长度小于预置长度时,确定所述第二待写数据为热数据;
第二存储模块,用于在所述第二确定模块确定所述第二待写数据为热数据之后,将所述第二待写数据存入热数据写入点,所述热数据写入点使用第二物理块,所述第二物理块的第二擦除次数小于所述阈值。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述预置长度为系统的分配单元大小。
结合第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述数据存储装置还包括:
第三确定模块,用于当所述第二判断模块判定所述第二待写数据的长度大于所述预置长度时,确定所述第二待写数据为第二冷数据;
第三存储模块,用于当所述第三确定模块确定所述第二待写数据为第二冷数据时,将所述第二待写数据存入第二冷数据写入点,所述第二冷数据写入点使用第三物理块,所述第三物理块的第三擦除次数小于所述第一擦除次数,且大于所述阈值。
结合第二方面、第二方面的第一种可能的实现方式、第二方面的第二种可能的实现方式和第二方面的第三种可能的实现方式之中任意一种,在第二方面的第四种可能的实现方式中,所述第一物理块为擦除次数记录表中擦除次数最大的物理块,所述第二物理块为擦除次数记录表中擦除次数最小的物理块。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例在接收第二写命令之后,首先判断第二写命令携带的第二待写数据是否为冷数据,若是,则将第二待写数据写入擦除次数较大的第一物理块,可以减少冷数据搬移过程中的写入放大,延长闪存存储设备的使用寿命,并且本发明提供的冷热数据识别方法步骤简单,只占用较小的内存系统资源,有利于实际的运用。
附图说明
图1是本发明数据存储方法一个实施例示意图;
图2是本发明数据存储方法另一个实施例示意图;
图3是本发明数据存储方法另一个实施例示意图;
图4是本发明数据存储装置一个实施例示意图;
图5是本发明数据存储装置另一个实施例示意图;
图6是本发明数据存储装置另一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据存储方法及数据存储装置,用于减少闪存物理块的擦写,延长闪存存储设备的使用寿命。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着科学技术的飞速发展,以及智能手机的普及,对高速大容量的闪存存储设备的需求也越来越大。Nandflash闪存由于其功耗低、体积小、防震抗摔和访问速度快等优点而选用于简易型可移动和嵌入式设备的存储领域。现在市面上比较通用的嵌入式闪存设备有嵌入式多媒体卡EMMC和微安全数码卡Micro SD卡等。近年来,为了适应闪存存储设备的高速、低延时、大容量的需求,固态技术协会JEDEC推出一种新的接口协议,即通用闪存标准UFS,现在最新标准为UFS 2.0,该标准下的读写速度最大可达每秒1400MB,性能远远大于EMMC,Micro SD卡接口。
不过对于高速大容量来说,对冷热数据处理的好坏会直接影响到整个闪存的使用寿命和整体性能。我们将闪存上经常更新的那部分数据称为热数据,写入之后更新频率很小的那部分数据称为冷数据。由于闪存的擦除次数有限,因此为了提高闪存存储设备的使用寿命,我们尽量将冷数据写入到擦除次数较大的物理块中,将热数据写入到擦除次数较小的物理块中,以避免某些物理块的擦除次数过大,而其他物理块的擦除次数过小。
现在通用的做法是将所有数据都写入到闪存中,然后在空闲时候将冷数据都搬移到擦除次数比较大的物理块中。但是,由于需要将冷数据搬移一次,因此会增加整个存储设备的写入放大,在一定程度上会影响到存储设备的使用寿命。
为了解决上述问题,本发明提出一种数据存储方法及数据存储装置,用于闪存存储设备中冷热数据的区分管理。具体的,在对数据进行存储之前,便对数据的类型进行判断,即判断待写数据是否为冷数据。一般来说,若待写入的数据的数据长度较大,比如大于一条命令的最大数据长度,一般为64K Byte,其有很大概率为冷数据,即更新频率很低,比如,用户需要存储的文档、视频、图片等。若待写入的数据的数据长度很小,比如小于系统的分配单元大小,一般为4K Byte,那么其有很大概率为与文件系统相关的数据,这部分数据由于将大量重复的写入,因此为热数据。因此,可以根据待写入的数据的长度来判断数据类型。若判定待写入的数据为冷数据,则将数据写入到擦除次数较大的物理块中,这样可以减少空闲时冷数据搬移的次数,有利于延长存储设备的使用寿命。
为了便于本领域技术人员的理解,本发明通过以下实施例对本发明提供的技术方案的具体实现过程进行说明。
请参阅图1,本发明实施例中数据存储方法一个实施例包括:
101、接收主机系统的第二写命令;
在本实施例中,主机系统可以为可存储数据的任意系统,例如电脑系统、数据相机、摄影机、通信装置、音讯播放器、视讯播放器等系统。接收主机系统的操作命令可以为读写操作命令,当操作命令为第二写命令时,第二写命令可以携带有第二待写数据以及第二待写数据的第二逻辑地址信息。
102、判断第二写命令与第一写命令是否连续,若是,执行步骤103,若否,执行步骤104;
在接收主机系统的第二写命令之后,可以根据第二写命令中携带的第二待写数据的第二逻辑地址信息,判断第二写命令与第一写命令是否连续。其中,第一写命令为上一次写命令,也就是第二写命令之前接收的最近一条写命令。第一写命令携带有第一待写数据以及第一待写数据的第一逻辑地址信息,判断第二写命令与第一写命令是否连续,可以通过判断第二逻辑地址信息与第一逻辑地址信息是否连续来实现。比如,若第二逻辑地址信息中的起始位置与第一逻辑地址信息中的终止位置相连续,则判定第二写命令与第一写命令连续,否则,则判定第二写命令与第一写命令不连续。
103、确定第二待写数据为第一冷数据;
若第二写命令与第一写命令连续,那么待存储的文件的数据长度通常大于一条命令的最大数据长度(一般为64K Byte),由于数据长度大于一条命令的最大数据长度的文件,在存储之后的使用频率通常较低,其通常为冷数据。因此,若根据第二逻辑地址信息判定第二写命令与第一写命令连续,则确定第二待写数据为第一冷数据。
104、执行其他步骤;
若根据第二逻辑地址信息判定第二写命令与第一写命令不连续,则第二待写数据不为第一冷数据,此时可以执行其他步骤,此处不做具体限定。
105、将第二待写数据存入第一冷数据写入点。
在确定第二待写数据为第一冷数据之后,可以将第二待写数据存入第一冷数据写入点,第一冷数据写入点可以使用第一物理块,第一物理块的第一擦除次数大于阈值。第一物理块的第一擦除次数大于阈值,用以表明第一物理块的第一擦除次数较大,具体使用时,阈值可以为各物理块的平均擦除次数,此处不做具体限定。
本发明实施例在接收第二写命令之后,首先判断第二写命令携带的第二待写数据是否为冷数据,若是,则将第二待写数据写入擦除次数较大的第一物理块,可以减轻冷数据搬移所增加的写入放大,减少物理块的擦写,延长闪存存储设备的使用寿命,并且本发明提供的冷热数据识别方法步骤非常简单,只占用非常小的内存系统资源,有利于实际的运用。
请参阅图2,本发明实施例中数据存储方法另一个实施例包括:
201、接收主机系统的第二写命令;
202、判断第二写命令与第一写命令是否连续,若是,执行步骤203,若否,执行步骤205;
203、确定第二待写数据为第一冷数据;
步骤201至步骤203与图1对应的实施例中的步骤101至步骤103相同,此处不再赘述。
204、将第二待写数据存入第一冷数据写入点;
在确定第二待写数据为第一冷数据之后,可以将第二待写数据存入第一冷数据写入点,第一冷数据写入点可以使用第一物理块,第一物理块的第一擦除次数大于阈值。在实际使用中,第一物理块可以为擦除次数记录表中擦除次数较大的物理块,比如擦除次数大于擦除次数均值,或者第一物理块也可以为擦除次数最大的物理块。此处不做具体限定。
205、判断第二待写数据的长度是否小于预置长度,若否,则执行步骤206,若是,则执行步骤207;
若根据第二逻辑地址信息判定第二写命令与第一写命令不连续,则判断第二待写数据的长度是否小于预置长度,若不小于预置长度,则执行步骤206,若小于预置长度,则执行步骤207。在实际使用中,预置长度可以为系统的分配单元大小,一般为4K Byte。
206、执行其他步骤;
若判定第二待写数据的长度不小于预置长度,则不执行步骤207,执行其他步骤,比如对第二待写数据随机分配物理地址进行存储。
207、确定第二待写数据为热数据;
若待写入的数据的数据长度很小,比如小于系统的分配单元大小,一般为4KByte,那么其有很大概率为与文件系统相关的数据,这部分数据由于将大量重复的写入,因此为热数据。因此,若判定第二待写数据的长度小于预置长度,在本实施例中,可以为4KByte,则可以确定第二待写数据为热数据。
208、将第二待写数据存入热数据写入点。
在确定第二待写数据为热数据之后,可以将第二待写数据存入热数据写入点,热数据写入点使用第二物理块,第二物理块的第二擦除次数小于阈值。在实际使用中,第二物理块可以为擦除次数记录表中擦除次数较小的物理块,比如擦除次数小于擦除次数均值,或者第二物理块也可以为擦除次数最小的物理块。此处不做具体限定。
本发明实施例除了在判定第二待写数据为冷数据之后,可以将第二待写数据存入第一冷数据写入点以外,还能够在第二待写数据不是冷数据时,进一步判断第二待写数据是否为热数据,若为热数据,则将第二待写数据存入热数据写入点,以尽量避免热数据存入擦除次数较大的物理块,有利于延长闪存存储设备的使用寿命。
请参阅图3,本发明实施例中数据存储方法另一个实施例包括:
301、接收主机系统的第二写命令;
302、根据第二逻辑地址信息判断第二写命令与第一写命令是否连续,若是,执行步骤203,若否,执行步骤205;
303、确定第二待写数据为第一冷数据;
304、将第二待写数据存入第一冷数据写入点。
步骤301至步骤304与图2对应的实施例中的步骤201至步骤204相同,此处不再赘述。
305、判断第二待写数据的长度是否小于预置长度,若否,则执行步骤306,若是,则执行步骤307;
若根据第二逻辑地址信息判定第二写命令与第一写命令不连续,则判断第二待写数据的长度是否小于预置长度,若不小于预置长度,则执行步骤306,若小于预置长度,则执行步骤307。在实际使用中,预置长度可以为系统的分配单元大小,一般为4K Byte。
306、确定第二待写数据为第二冷数据;
若判定第二待写数据的长度不小于预置长度,则确定第二待写数据为第二冷数据。
307、确定第二待写数据为热数据;
若待写入的数据的数据长度很小,比如小于系统的分配单元大小,一般为4KByte,那么其有很大概率为与文件系统相关的数据,这部分数据由于将大量重复的写入,因此为热数据。因此,若判定第二待写数据的长度小于预置长度,在本实施例中,可以为4KByte,则可以确定第二待写数据为热数据。
308、将第二待写数据存入热数据写入点。
在确定第二待写数据为热数据之后,可以将第二待写数据存入热数据写入点,热数据写入点使用第二物理块,第二物理块的第二擦除次数小于阈值。在实际使用中,第二物理块可以为擦除次数记录表中擦除次数较小的物理块,比如擦除次数小于擦除次数均值,或者第二物理块也可以为擦除次数最小的物理块。此处不做具体限定。
309、将第二待写数据存入第二冷数据写入点。
在确定第二待写数据为第二冷数据之后,可以将第二待写数据存入第二冷数据写入点,第二冷数据写入点使用第三物理块。由于第二冷数据的数据长度介于热数据与第一冷数据之间,因此,若第二待写数据为第二冷数据,其为与文件系统相关的数据的可能性较小,因此更新频率一般较低,可将其存储于第三物理块,第三物理块的第三擦除次数也需要大于阈值,或者,第三物理块的第三擦除次数小于第一擦除次数,且大于阈值。
本发明实施例与图2对应的实施例相比,对第二待写数据类型进行了更加精细的划分,可以防止第二冷数据存入擦除次数最大或擦除次数最小的物理块,减少闪存块的擦写,延长闪存存储设备的使用寿命。
上面对本发明实施例中的终端控制方法进行了描述,下面对本发明实施例中的终端设备进行描述。
请参阅图4,本发明实施例中数据存储装置的一个实施例包括:
接收模块401,用于接收主机系统的第二写命令,第二写命令携带有第二待写数据以及第二待写数据的第二逻辑地址信息;
第一判断模块402,用于根据第二逻辑地址信息判断第二写命令与第一写命令是否连续,第一写命令为第二写命令之前的最近一条写命令;
第一确定模块403,用于当第一判断模块402判定第二写命令与第一写命令连续时,确定第二待写数据为第一冷数据;
第一存储模块404,用于在第一确定模块403判定第二待写数据为第一冷数据之后,将第二待写数据存入第一冷数据写入点,第一冷数据写入点使用第一物理块,第一物理块的第一擦除次数大于阈值。
本实施例中的数据存储装置各模块间的关系参照图1对应的实施例,此处不再赘述。
请参阅图5,本发明实施例中数据存储装置的一个实施例包括:
接收模块501,用于接收主机系统的第二写命令,第二写命令携带有第二待写数据以及第二待写数据的第二逻辑地址信息;
第一判断模块502,用于根据第二逻辑地址信息判断第二写命令与第一写命令是否连续,第一写命令为第二写命令之前的最近一条写命令;
第一确定模块503,用于当第一判断模块502判定第二写命令与第一写命令连续时,确定第二待写数据为第一冷数据;
第一存储模块504,用于在第一确定模块503判定第二待写数据为第一冷数据之后,将第二待写数据存入第一冷数据写入点,第一冷数据写入点使用第一物理块,第一物理块的第一擦除次数大于阈值。
第二判断模块505,用于判断第二待写数据的长度是否小于预置长度;
第二确定模块506,用于当第二判断模块505判定第二待写数据的长度小于预置长度时,确定第二待写数据为热数据;
第二存储模块507,用于在第二确定模块506确定第二待写数据为热数据之后,将第二待写数据存入热数据写入点,热数据写入点使用第二物理块,第二物理块的第二擦除次数小于阈值。
本实施例中的数据存储装置各模块间的关系参照图2对应的实施例,此处不再赘述。
请参阅图6,本发明实施例中数据存储装置的一个实施例包括:
接收模块601,用于接收主机系统的第二写命令,第二写命令携带有第二待写数据以及第二待写数据的第二逻辑地址信息;
第一判断模块602,用于根据第二逻辑地址信息判断第二写命令与第一写命令是否连续,第一写命令为第二写命令之前的最近一条写命令;
第一确定模块603,用于当第一判断模块602判定第二写命令与第一写命令连续时,确定第二待写数据为第一冷数据;
第一存储模块604,用于在第一确定模块603判定第二待写数据为第一冷数据之后,将第二待写数据存入第一冷数据写入点,第一冷数据写入点使用第一物理块,第一物理块的第一擦除次数大于阈值。
第二判断模块605,用于判断第二待写数据的长度是否小于预置长度;
第二确定模块606,用于当第二判断模块605判定第二待写数据的长度小于预置长度时,确定第二待写数据为热数据;
第二存储模块607,用于在第二确定模块606确定第二待写数据为热数据之后,将第二待写数据存入热数据写入点,热数据写入点使用第二物理块,第二物理块的第二擦除次数小于阈值。
第三确定模块608,用于当第二判断模块605判定第二待写数据的长度大于预置长度时,确定第二待写数据为第二冷数据;
第三存储模块609,用于当第三确定模块608确定第二待写数据为第二冷数据时,将第二待写数据存入第二冷数据写入点,第二冷数据写入点使用第三物理块,第三物理块的第三擦除次数小于第一擦除次数,且大于阈值。
本实施例中的数据存储装置各模块间的关系参照图3对应的实施例,此处不再赘述。
本发明可以应用在基于闪存的固态存储系统或设备中,应用于计算机存储、服务器存储、移动设备存储、多媒体存储等领域。
在本申请所提供目标区域可以为默认的区域,也可以为用户预设的区域。并且,所述的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据存储方法,其特征在于,包括:
接收主机系统的第二写命令,所述第二写命令携带有第二待写数据以及所述第二待写数据的第二逻辑地址信息;
根据所述第二逻辑地址信息判断所述第二写命令与第一写命令是否连续,所述第一写命令为所述第二写命令之前的最近一条写命令;
若是,则确定所述第二待写数据为第一冷数据;
将所述第二待写数据存入第一冷数据写入点,所述第一冷数据写入点使用第一物理块,所述第一物理块的第一擦除次数大于阈值。
2.根据权利要求1所述的数据存储方法,其特征在于,若判定所述第二写命令与所述第一写命令不连续,所述方法还包括:
判断所述第二待写数据的长度是否小于预置长度;
若是,则确定所述第二待写数据为热数据;
将所述第二待写数据存入热数据写入点,所述热数据写入点使用第二物理块,所述第二物理块的第二擦除次数小于所述阈值。
3.根据权利要求2所述的数据存储方法,其特征在于,所述预置长度为系统的分配单元大小。
4.根据权利要求2所述的数据存储方法,其特征在于,所述方法还包括:
若判定所述第二待写数据的长度大于所述预置长度,则确定所述第二待写数据为第二冷数据;
将所述第二待写数据存入第二冷数据写入点,所述第二冷数据写入点使用第三物理块,所述第三物理块的第三擦除次数小于所述第一擦除次数,且大于所述阈值。
5.根据权利要求1至4中任一项所述的数据存储方法,其特征在于,所述第一物理块为擦除次数记录表中擦除次数最大的物理块,第二物理块为擦除次数记录表中擦除次数最小的物理块。
6.一种数据存储装置,其特征在于,包括:
接收模块,用于接收主机系统的第二写命令,所述第二写命令携带有第二待写数据以及所述第二待写数据的第二逻辑地址信息;
第一判断模块,用于根据所述第二逻辑地址信息判断所述第二写命令与第一写命令是否连续,所述第一写命令为所述第二写命令之前的最近一条写命令;
第一确定模块,用于当所述第一判断模块判定所述第二写命令与所述第一写命令连续时,确定所述第二待写数据为第一冷数据;
第一存储模块,用于在所述第一确定模块判定所述第二待写数据为第一冷数据之后,将所述第二待写数据存入第一冷数据写入点,所述第一冷数据写入点使用第一物理块,所述第一物理块的第一擦除次数大于阈值。
7.根据权利要求6所述的数据存储装置,其特征在于,所述数据存储装置还包括:
第二判断模块,用于判断所述第二待写数据的长度是否小于预置长度;
第二确定模块,用于当所述第二判断模块判定所述第二待写数据的长度小于预置长度时,确定所述第二待写数据为热数据;
第二存储模块,用于在所述第二确定模块确定所述第二待写数据为热数据之后,将所述第二待写数据存入热数据写入点,所述热数据写入点使用第二物理块,所述第二物理块的第二擦除次数小于所述阈值。
8.根据权利要求7所述的数据存储装置,其特征在于,所述预置长度为系统的分配单元大小。
9.根据权利要求7所述的数据存储装置,其特征在于,所述数据存储装置还包括:
第三确定模块,用于当所述第二判断模块判定所述第二待写数据的长度大于所述预置长度时,确定所述第二待写数据为第二冷数据;
第三存储模块,用于当所述第三确定模块确定所述第二待写数据为第二冷数据时,将所述第二待写数据存入第二冷数据写入点,所述第二冷数据写入点使用第三物理块,所述第三物理块的第三擦除次数小于所述第一擦除次数,且大于所述阈值。
10.根据权利要求6至9中任一项所述的数据存储装置,其特征在于,所述第一物理块为擦除次数记录表中擦除次数最大的物理块,第二物理块为擦除次数记录表中擦除次数最小的物理块。
CN201610770628.9A 2016-08-30 2016-08-30 一种数据存储方法及数据存储装置 Active CN106406753B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610770628.9A CN106406753B (zh) 2016-08-30 2016-08-30 一种数据存储方法及数据存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610770628.9A CN106406753B (zh) 2016-08-30 2016-08-30 一种数据存储方法及数据存储装置

Publications (2)

Publication Number Publication Date
CN106406753A CN106406753A (zh) 2017-02-15
CN106406753B true CN106406753B (zh) 2019-07-09

Family

ID=58003119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610770628.9A Active CN106406753B (zh) 2016-08-30 2016-08-30 一种数据存储方法及数据存储装置

Country Status (1)

Country Link
CN (1) CN106406753B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558334B (zh) * 2017-09-27 2022-10-25 北京忆恒创源科技股份有限公司 垃圾数据回收方法及固态存储设备
CN110321073B (zh) * 2019-04-11 2023-05-02 深圳市德明利技术股份有限公司 一种闪存的数据存储方法和装置以及设备
CN110806840A (zh) * 2019-10-24 2020-02-18 深圳市得一微电子有限责任公司 一种基于多数据流的闪存卡数据存储方法、闪存卡及设备
CN110795396A (zh) * 2019-10-24 2020-02-14 深圳市硅格半导体有限公司 一种冷热数据区分方法、系统及其存储介质
US11169744B2 (en) * 2020-03-31 2021-11-09 Western Digital Technologies, Inc. Boosting reads of chunks of data
CN112416811B (zh) * 2020-11-18 2024-02-27 深圳市硅格半导体有限公司 基于数据关联度的垃圾回收方法、闪存及装置
CN112817880A (zh) * 2021-03-17 2021-05-18 深圳市安信达存储技术有限公司 一种固态硬盘及其磨损平衡方法和终端设备
CN116009761A (zh) * 2021-10-21 2023-04-25 华为技术有限公司 一种数据写入方法以及相关设备
CN114296644A (zh) * 2021-12-17 2022-04-08 合肥大唐存储科技有限公司 一种固态硬盘的数据管理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246609A (zh) * 2013-04-24 2013-08-14 深圳市江波龙电子有限公司 一种闪存存储设备中冷热数据区分管理的方法及装置
US8862810B2 (en) * 2012-09-27 2014-10-14 Arkologic Limited Solid state device write operation management system
CN104391652A (zh) * 2014-10-20 2015-03-04 北京兆易创新科技股份有限公司 一种硬盘的损耗均衡方法及装置
CN105677242A (zh) * 2015-12-31 2016-06-15 杭州华为数字技术有限公司 冷热数据的分离方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409526B2 (en) * 2014-12-17 2019-09-10 Violin Systems Llc Adaptive garbage collection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862810B2 (en) * 2012-09-27 2014-10-14 Arkologic Limited Solid state device write operation management system
CN103246609A (zh) * 2013-04-24 2013-08-14 深圳市江波龙电子有限公司 一种闪存存储设备中冷热数据区分管理的方法及装置
CN104391652A (zh) * 2014-10-20 2015-03-04 北京兆易创新科技股份有限公司 一种硬盘的损耗均衡方法及装置
CN105677242A (zh) * 2015-12-31 2016-06-15 杭州华为数字技术有限公司 冷热数据的分离方法和装置

Also Published As

Publication number Publication date
CN106406753A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN106406753B (zh) 一种数据存储方法及数据存储装置
CN108205473B (zh) 内存处理方法及装置、计算机装置及计算机可读存储介质
US20190155737A1 (en) Solid-state hard disk and data access method for use with solid-state hard disk
CN108228341B (zh) 内存回收方法及装置、终端设备及计算机可读存储介质
EP2778889B1 (en) Dynamic storage device provisioning
CN102508785B (zh) 一种磨损均衡方法及装置
EP3142014B1 (en) Method, device and user equipment for reading/writing data in nand flash
CN110427158B (zh) 固态硬盘的写入方法及固态硬盘
CN108205498B (zh) 内存回收方法及装置、计算机装置及计算机可读存储介质
CN108228449B (zh) 终端设备控制方法及装置、终端设备及计算机可读存储介质
CN108205471B (zh) 内存回收方法及装置、计算机装置及计算机可读存储介质
CN108205501B (zh) 内存回收方法及装置、计算机装置及计算机可读存储介质
CN111007985B (zh) 一种存储系统空间回收的兼容处理方法、系统及设备
CN103095686A (zh) 热点元数据访问控制方法和服务器
CN110968524B (zh) 数据存储控制方法、装置、存储介质及电子装置
CN105630701B (zh) 数据存储装置及使用不可用页表或不可用块表的读写方法
CN105608013B (zh) 一种集成mram的存储卡控制芯片及存储卡
US20110055430A1 (en) Method for establishing a communication channel between a host device and a memory device, associated memory device and controller thereof, and associated host device and host device application
CN107908358A (zh) 一种降低NVMe固态硬盘写放大的方法
CN104408126B (zh) 一种数据库的持久化写入方法、装置和系统
CN108287761B (zh) 内存回收方法及装置、终端设备及计算机可读存储介质
CN108228342B (zh) 终端设备控制方法及装置、终端设备及计算机可读存储介质
CN102156731B (zh) 闪存的数据存储方法和装置
CN106502591B (zh) 一种基于混合存储产品的存储控制方法和存储控制装置
CN105630697B (zh) 一种利用mram存储小文件的存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant