CN109032505A - 带时效的数据读写方法、装置、计算机设备及存储介质 - Google Patents
带时效的数据读写方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109032505A CN109032505A CN201810671087.3A CN201810671087A CN109032505A CN 109032505 A CN109032505 A CN 109032505A CN 201810671087 A CN201810671087 A CN 201810671087A CN 109032505 A CN109032505 A CN 109032505A
- Authority
- CN
- China
- Prior art keywords
- data
- meta information
- time
- user data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
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)
Abstract
本发明涉及带时效的数据读写方法、装置、计算机设备及存储介质,该方法包括设置用户数据的有效时间,并存储于用户数据对应Meta信息的物理页面内;获取请求,并判断所述请求是否为写请求;若是,则获取写请求内的数据过期时间;获取用户数据;利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND;若否,则读取用户数据以及Meta信息,并根据Meta信息返回相应内容。本发明通过对需要读写的数据设置时效,当数据过期失效时,对其进行标记失效并回收,及时清除SSD内部物理空间,降低写放大,实现对用户数据设置携带数据有效时间,提供用户数据保护,在读写过程中,提高SSD的使用寿命。
Description
技术领域
本发明涉及固态硬盘数据读写方法,更具体地说是指带时效的数据读写方法、装置、计算机设备及存储介质。
背景技术
SSD(即固态硬盘)已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘。除了常规硬盘使用模型外,一些特殊应用场合对于数据安全、管控有特殊需求。在互联网应用中,有一个大家比较熟悉的“阅后即焚”网站,其能够对上传、分享的数据设定有效时间,过期后自动摧毁,从而保证了用户私密性。在SSD级别,通过定义新的协议,可以提供底层的数据时效性管控,为用户数据保护提供更有效的手段。
现有的SSD应用系统中,如图1所示,整个SSD的读写过程如下:主机提交读写命令到SSD的前端模块;SSD前端模块将命令分割成映射单元(典型如4KB),提交到读写缓冲区模块;读写缓冲区管理模块从内存中(典型如DRAM)分配空间;对于写操作,先把数据收到所分配的读写缓冲区,提交操作请求到映射表管理模块;对于读操作,由于其数据在NAND上,则直接提交操作请求到映射表管理模块;对于写操作,映射表管理模块负责为该逻辑地址分配NAND物理地址并更新逻辑到物理的映射表(简称L2P表);对于读操作,映射表管理模块负责把逻辑地址转换成NAND物理地址;提交操作请求到后端模块,后端模块根据物理地址发起对NAND读、写请求;等待NAND操作请求完成,控制操作请求依次返回上层模块;前端模块接收到完成的控制操作请求后,对于写命令则直接回收资源;对于读命令则构建数据传输命令,实际发起对主机的数据传输;但是目前的读写流程中,数据一旦写入,除非主机复写、擦除、TRIM掉对应数据,否则数据一直有效,无法提供时效性保护策略,导致SSD的运行受到影响,比如SSD内部物理空间的占用较大。
因此,有必要设计一种新的方法,实现对用户数据设置携带数据有效时间,提供用户数据保护,在读写过程中,提高SSD的使用寿命。
发明内容
本发明的目的在于克服现有技术的缺陷,提供带时效的数据读写方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:带时效的数据读写方法,包括:
设置用户数据的有效时间,并存储于用户数据对应Meta信息的物理页面内;
获取请求,并判断所述请求是否为写请求;
若是,则获取写请求内的数据过期时间;
获取用户数据;
利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND;
若否,则读取用户数据以及Meta信息,并根据Meta信息返回相应内容。
其进一步技术方案为:设置用户数据的有效时间,并存储于用户数据对应Meta信息的物理页面内的步骤,包括以下具体步骤:
划分用户数据连续的最小寻址单元;
在Meta信息内依序写入数据写入时间以及数据过期时间。
其进一步技术方案为:获取请求,并判断所述请求是否为写请求的步骤之前,还包括:
获取当前时间;
校正SSD实时时间与当前时间。
其进一步技术方案为:若是,则利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND的步骤,包括以下具体步骤:
分配写缓存区;
对用户数据进行最小映射单元的切分;
格式化切分后的用户数据对应的Meta信息;
将数据过期时间填入Meta信息中的过期时间;
分配物理空间;
将用户数据以及格式化后的Meta信息写入NAND。
其进一步技术方案为:利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND的步骤之后,还包括:
按照SSD中的L2P表周期性读取数据;
将Meta信息中的过期时间与SSD系统时间比对,判断数据是否过期;
若是,则将数据标识为无效;
若否,则返回按照SSD中的L2P表周期性读取数据的步骤。
其进一步技术方案为:读取用户数据以及Meta信息,并根据Meta信息返回相应内容的步骤,包括以下具体步骤:
根据L2P表依次获取每个映射单元的物理地址;
判断物理地址是否为无效地址;
若是,则返回设定的特定数据;
若否,则从NAND内加载数据;
对比SSD系统时间与Meta信息中的过期时间,判断数据是否过期;
若是,则返回所述返回设定的特定数据的步骤;
若否,则返回读取的数据;
判断所有数据是否处理完毕;
若是,则发送完成通知至主机;
若否,则返回根据L2P表依次获取每个映射单元的物理地址的步骤。
本发明还提供了带时效的数据读写装置,包括:
有效时间设置单元,用于设置数据的有效时间,并存储于数据对应Meta信息的物理页面内;
请求获取单元,用于获取请求,并判断所述请求是否为写请求;
过期时间获取单元,用于若是,则获取写请求内的数据过期时间;
数据获取单元,用于获取用户数据;
格式单元,用于利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND;
读取单元,用于若否,则读取用户数据以及Meta信息,并根据Meta信息返回相应内容。
其进一步技术方案为:所述有效时间设置单元包括有:
地址划分模块,用于划分用户数据连续的最小寻址单元;
Meta信息处理模块,用于在Meta信息内依序写入数据写入时间以及数据过期时间。
其进一步技术方案为:所述装置还包括有:
时间获取单元,用于获取当前时间;
校正单元,用于校正SSD实时时间与当前时间。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的带时效的数据读写方法。
本发明与现有技术相比的有益效果是:本发明的带时效的数据读写方法,通过对需要读写的数据设置时效,在写入数据时候,格式化Meta信息,将该写入的数据的过期时间一并存储至NAND内,当数据过期失效时,对其进行标记失效并回收,及时清除SSD内部物理空间,降低写放大,读取数据时,根据时效进行响应,可提高SSD读取性能,实现对用户数据设置携带数据有效时间,提供用户数据保护,在读写过程中,提高SSD的使用寿命。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为现有技术的SSD读写方法的示意流程图;
图2为本发明具体实施例提供的带时效的数据读写方法的示意性流程图;
图3为本发明具体实施例提供的带时效的数据读写方法的子步骤示意性流程图;
图4为本发明具体实施例提供的SSD的内部结构示意性框图;
图5为本发明具体实施例提供的用户数据的示意性框图;
图6为本发明具体实施例提供的带时效的数据读写方法的子步骤示意性流程图;
图7为本发明具体实施例提供的带时效的数据读写方法的子步骤示意性流程图;
图8为本发明具体实施例提供的带时效的数据读写装置的示意性框图;
图9为本发明具体实施例提供的有效时间设置单元的示意性框图;
图10为本发明具体实施例提供的格式单元的示意性框图;
图11为本发明具体实施例提供的读取单元的示意性框图;
图12为本发明具体实施例提供的一种计算机设备的示意性框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如图2~12所示的具体实施例,本实施例提供的带时效的数据读写方法、装置、计算机设备及存储介质,可以运用在固态硬盘的数据存储和读取的过程中,实现对用户数据设置携带数据有效时间,提供用户数据保护,在读写过程中,提高SSD的使用寿命。
请参阅图2,图2是具体实施例提供的带时效的数据读写方法的示意性流程图;如图2所示,带时效的数据读写方法,包括步骤S101~S106。
S101、设置用户数据的有效时间,并存储于用户数据对应Meta信息的物理页面内。
具体地,在执行该S101步骤之前,需要对SSD内部结构进行设置,如图3所示,对所需绝对时间管理引入的实时钟模块。SSD处于工作时,其内部的时钟可以进行相对时间的计时,但因为主机可能关机,从而SSD掉电,所以不能获取连续的绝对时间。为了能够保持绝对时间计时,以便和数据有效期时间比对,需要加装独立实时钟模块,并携带备用电池,可以在主机关机后仍然维持计时。
另外,该S101步骤,是对所有需要存储到SSD内部的数据进行设置。
设置用户数据的有效时间包括用户数据的过期时间,当到达用户数据的过期时间时,该用户数据处于失效的状态,SSD会启动垃圾回收流程,将失效的数据收走,以降低SSD内部物理空间的占用,从而降低写放大。
在一实施例中,上述的S101步骤可包括S1011~S1012。
S1011、划分用户数据连续的最小寻址单元;
S1012、在Meta信息内依序写入数据写入时间以及数据过期时间。
具体地,在典型的SSD内部会把用户数据连续的LBA(最小寻址单元,也叫Sector,512Bytes)按照4KB进行划分(称作最小映射单元,LPA)。对应每个LPA会附属一定的SSD管理数据(即Meta信息),包含如下信息:写入时间:相对时间,用来判断盘内数据写入先后顺序;逻辑地址相同的数据,后写入的数据会覆盖先写入的数据,主机读取时应该返回该逻辑地址最近一次写入的数据;以及数据过期时间,当到达该数据过期时间时,则该数据失效,在本实施例中,数据过期时间属于准确的时间点,包括有年、月、日、时、分、秒;当然,于其他实施例中,该数据过期时间可以为该用户数据有效的时间段,也就是该用户存储的有效时间段。
设置用户数据的有效时间,可以对用户数据进行实时管控,将失效的数据收走,以降低SSD内部物理空间的占用,从而降低写放大。提供用户数据保护,在读写过程中,提高SSD的使用寿命。
S102、获取请求,并判断所述请求是否为写请求。
具体是获取主机下发的请求,根据主机的请求做出对应的响应。
在一实施例中,在上述的步骤S102之前,还包括:
获取当前时间;
校正SSD实时时间与当前时间。
以使得SSD内部的时间与主机时间偏差满足要求,从而提高验证用户数据失效的准确度,进而提供用户数据保护。
S103、若是,则获取写请求内的数据过期时间。
在本实施例中,在该请求为写请求时,请求内会携带有LBA地址、LBA数量以及数据过期时间等信息。
S104、获取用户数据。
具体是由主机发送需要写入的用户数据。
S105、利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND;
格式化Meta信息,可以使得存储到NAND的数据带有时效性,从而对存储的数据起到时效管控,避免SSD内部物理空间被大幅度占用。
在一实施例中,上述的步骤S105可包括S1051~S1056:
S1051、分配写缓存区;
S1052、对用户数据进行最小映射单元的切分;
S1053、格式化切分后的用户数据对应的Meta信息;
S1054、将数据过期时间填入Meta信息中的过期时间;
S1055、分配物理空间;
S1056、将用户数据以及格式化后的Meta信息写入NAND。
具体地,上述的SSD端接收该写请求后,并为该写请求分配写缓冲区;SSD将主机数据切分成LPA大小,并为每个LPA数据格式化对应的Meta信息,将请求内携带的数据过期时间填入Meta中的过期时间,分配物理空间后将用户数据以及Meta数据写入到NAND,完成整个带时效的数据写入过程。
完成该写请求所有数据处理后,答复主机请求完成。
在一实施例中,上述的步骤S105之后,还包括:
按照SSD中的L2P表周期性读取数据;
将Meta信息中的过期时间与SSD系统时间比对,判断数据是否过期;
若是,则将数据标识为无效;
若否,则返回按照SSD中的L2P表周期性读取数据的步骤。
具体地,当主机无命令下发时,SSD周期性根据L2P表读取数据,将Meta中“过期时间”与当前系统时间比对,如果已经过期,则将该笔数据标识为无效,后续可以被垃圾回收掉。若主机后续读取该笔数据,则返回预设的特定数据(全0或者全1等)。通过该方式,可以提前销毁过期数据,降低SSD内部物理空间的占用,可以降低写放大。
S106、若否,则读取用户数据以及Meta信息,并根据Meta信息返回相应内容。
当读取到有效的用户数据时,需要进一步使用Meta信息中的过期时间以及实时钟模块的当前系统时间进行比较,判断数据是否失效。如果失效,则需要将该笔数据标识为无效,同时返回预设的特定数据(全0或者全1等);如果未失效,则正常返回数据。
在一实施例中,上述的步骤S106可包括有S1061~S1068。
S1061、根据L2P表依次获取每个映射单元的物理地址;
S1062、判断物理地址是否为无效地址;
S1063、若是,则返回设定的特定数据;
S1064、若否,则从NAND内加载数据;
S1065、对比SSD系统时间与Meta信息中的过期时间,判断数据是否过期;
若是,则返回步骤S1063;
S1066、若否,则返回读取的数据;
S1067、判断所有数据是否处理完毕;
S1068、若是,则发送完成通知至主机;
若否,则返回步骤S1061。
在运行过程中,上述的返回设定的特定数据的步骤之后,还返回S1067步骤。
在读取数据时,依据SSD的典型读取方法,先确定物理地址的有效性,若该地址已失效,也就是该地址内存储的数据已无法调取读出,则向主机反馈全0或者全1等的数据;在地址有效,确保该地址内的数据可被读取的前提下,增加判断数据的有效性,在数据有效的情况下,返回该数据;若数据内的Meta信息内的过期时间小于或等于SSD系统的实时时间,获取SSD系统的实时时间已超过该数据内的Meta信息内的过期时间,则该数据已被标记为失效,或者已被回收,则无法读取,需要向主机反馈全0或者全1等的数据;重复以上的步骤,直至读请求中所要读取的数据都得到相应的反馈,从而提高SSD的读性能。
上述的带时效的数据读写方法,通过对需要读写的数据设置时效,在写入数据时候,格式化Meta信息,将该写入的数据的过期时间一并存储至NAND内,当数据过期失效时,对其进行标记失效并回收,及时清除SSD内部物理空间,降低写放大,读取数据时,根据时效进行响应,可提高SSD读取性能,实现对用户数据设置携带数据有效时间,提供用户数据保护,在读写过程中,提高SSD的使用寿命。
请参阅图8,图8是具体实施例提供的带时效的数据读写装置的示意性框图;如图8所示,带时效的数据读写装置,包括:
有效时间设置单元1,用于设置数据的有效时间,并存储于数据对应Meta信息的物理页面内;
请求获取单元2,用于获取请求,并判断所述请求是否为写请求;
过期时间获取单元3,用于若是,则获取写请求内的数据过期时间;
数据获取单元4,用于获取用户数据;
格式单元5,用于利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND;
读取单元6,用于若否,则读取用户数据以及Meta信息,并根据Meta信息返回相应内容。
具体地,如图9所示,有效时间设置单元1包括有:
地址划分模块11,用于划分用户数据连续的最小寻址单元;
Meta信息处理模块12,用于在Meta信息内依序写入数据写入时间以及数据过期时间。
另外,上述的装置还包括有:
时间获取单元,用于获取当前时间;
校正单元,用于校正SSD实时时间与当前时间。
如图10所示,上述的格式单元5包括有:
第一分配模块51,用于分配写缓存区;
切分模块52,用于对用户数据进行最小映射单元的切分;
信息格式模块53,用于格式化切分后的用户数据对应的Meta信息;
填写模块54,用于将数据过期时间填入Meta信息中的过期时间;
第二分配模块55,用于分配物理空间;
写入模块56,用于将用户数据以及格式化后的Meta信息写入NAND。
在一实施例中,上述的格式单元5还包括有:
数据读取模块,用于按照SSD中的L2P表周期性读取数据;
过期判断模块,用于将Meta信息中的过期时间与SSD系统时间比对,判断数据是否过期;
标记模块,用于若是,则将数据标识为无效。
此外,如图11所示,上述的读取单元6包括有:
地址获取模块61,用于根据L2P表依次获取每个映射单元的物理地址;
地址判断模块62,用于判断物理地址是否为无效地址;
特定反馈模块63,用于若是,则返回设定的特定数据;
加载模块64,用于若否,则从NAND内加载数据;
时间判断模块65,用于对比SSD系统时间与Meta信息中的过期时间,判断数据是否过期;
数据返回模块66,用于若否,则返回读取的数据;
完整判断模块67,用于判断所有数据是否处理完毕;
通知模块68,用于若是,则发送完成通知至主机。
上述的带时效的数据读写装置,通过对需要读写的数据设置时效,在写入数据时候,格式化Meta信息,将该写入的数据的过期时间一并存储至NAND内,当数据过期失效时,对其进行标记失效并回收,及时清除SSD内部物理空间,降低写放大,读取数据时,根据时效进行响应,可提高SSD读取性能,实现对用户数据设置携带数据有效时间,提供用户数据保护,在读写过程中,提高SSD的使用寿命。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的阅读管理装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述阅读管理装置可以实现为一种计算机程序的形式,计算机程序可以在如图12所示的计算机设备上运行。
请参阅图12,图12是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700设备可以是终端或服务器。
参照图12,该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种阅读管理方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种阅读管理方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
设置用户数据的有效时间,并存储于用户数据对应Meta信息的物理页面内;
获取请求,并判断所述请求是否为写请求;
若是,则获取写请求内的数据过期时间;
获取用户数据;
利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND;
若否,则读取用户数据以及Meta信息,并根据Meta信息返回相应内容。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码以实现所述设置用户数据的有效时间,并存储于用户数据对应Meta信息的物理页面内的步骤,具体实现以下步骤:
划分用户数据连续的最小寻址单元;
在Meta信息内依序写入数据写入时间以及数据过期时间。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码以实现所述获取请求,并判断所述请求是否为写请求的步骤之前,还实现以下步骤:
获取当前时间;
校正SSD实时时间与当前时间。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码以实现所述若是,则利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND的步骤,具体实现以下步骤:
分配写缓存区;
对用户数据进行最小映射单元的切分;
格式化切分后的用户数据对应的Meta信息;
将数据过期时间填入Meta信息中的过期时间;
分配物理空间;
将用户数据以及格式化后的Meta信息写入NAND。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码以实现所述利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND的步骤之后,还实现以下步骤:
按照SSD中的L2P表周期性读取数据;
将Meta信息中的过期时间与SSD系统时间比对,判断数据是否过期;
若是,则将数据标识为无效;
若否,则返回按照SSD中的L2P表周期性读取数据的步骤。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码以实现所述读取用户数据以及Meta信息,并根据Meta信息返回相应内容的步骤,具体实现以下步骤:
根据L2P表依次获取每个映射单元的物理地址;
判断物理地址是否为无效地址;
若是,则返回设定的特定数据;
若否,则从NAND内加载数据;
对比SSD系统时间与Meta信息中的过期时间,判断数据是否过期;
若是,则返回所述返回设定的特定数据的步骤;
若否,则返回读取的数据;
判断所有数据是否处理完毕;
若是,则发送完成通知至主机;
若否,则返回根据L2P表依次获取每个映射单元的物理地址的步骤。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessing Unit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图12中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
上述的一种计算机设备,通过对需要读写的数据设置时效,在写入数据时候,格式化Meta信息,将该写入的数据的过期时间一并存储至NAND内,当数据过期失效时,对其进行标记失效并回收,及时清除SSD内部物理空间,降低写放大,读取数据时,根据时效进行响应,可提高SSD读取性能,实现对用户数据设置携带数据有效时间,提供用户数据保护,在读写过程中,提高SSD的使用寿命。
本领域普通技术人员可以理解的是实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。如本发明实施例中,该计算机程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各阅读管理方法的实施例的流程步骤。
该计算机可读存储介质可以是磁碟、光盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的阅读管理装置和方法,可以通过其它的方式实现。例如,以上所描述的阅读管理装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (10)
1.带时效的数据读写方法,其特征在于,包括:
设置用户数据的有效时间,并存储于用户数据对应Meta信息的物理页面内;
获取请求,并判断所述请求是否为写请求;
若是,则获取写请求内的数据过期时间;
获取用户数据;
利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND;
若否,则读取用户数据以及Meta信息,并根据Meta信息返回相应内容。
2.根据权利要求1所述的带时效的数据读写方法,其特征在于,设置用户数据的有效时间,并存储于用户数据对应Meta信息的物理页面内的步骤,包括以下具体步骤:
划分用户数据连续的最小寻址单元;
在Meta信息内依序写入数据写入时间以及数据过期时间。
3.根据权利要求1或2所述的带时效的数据读写方法,其特征在于,获取请求,并判断所述请求是否为写请求的步骤之前,还包括:
获取当前时间;
校正SSD实时时间与当前时间。
4.根据权利要求3所述的带时效的数据读写方法,其特征在于,若是,则利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND的步骤,包括以下具体步骤:
分配写缓存区;
对用户数据进行最小映射单元的切分;
格式化切分后的用户数据对应的Meta信息;
将数据过期时间填入Meta信息中的过期时间;
分配物理空间;
将用户数据以及格式化后的Meta信息写入NAND。
5.根据权利要求3所述的带时效的数据读写方法,其特征在于,利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND的步骤之后,还包括:
按照SSD中的L2P表周期性读取数据;
将Meta信息中的过期时间与SSD系统时间比对,判断数据是否过期;
若是,则将数据标识为无效;
若否,则返回按照SSD中的L2P表周期性读取数据的步骤。
6.根据权利要求3所述的带时效的数据读写方法,其特征在于,读取用户数据以及Meta信息,并根据Meta信息返回相应内容的步骤,包括以下具体步骤:
根据L2P表依次获取每个映射单元的物理地址;
判断物理地址是否为无效地址;
若是,则返回设定的特定数据;
若否,则从NAND内加载数据;
对比SSD系统时间与Meta信息中的过期时间,判断数据是否过期;
若是,则返回所述返回设定的特定数据的步骤;
若否,则返回读取的数据;
判断所有数据是否处理完毕;
若是,则发送完成通知至主机;
若否,则返回根据L2P表依次获取每个映射单元的物理地址的步骤。
7.带时效的数据读写装置,其特征在于,包括:
有效时间设置单元,用于设置数据的有效时间,并存储于数据对应Meta信息的物理页面内;
请求获取单元,用于获取请求,并判断所述请求是否为写请求;
过期时间获取单元,用于若是,则获取写请求内的数据过期时间;
数据获取单元,用于获取用户数据;
格式单元,用于利用数据过期时间格式化用户数据对应的Meta信息,并将用户数据以及Meta信息写入NAND;
读取单元,用于若否,则读取用户数据以及Meta信息,并根据Meta信息返回相应内容。
8.根据权利要求7所述的带时效的数据读写装置,其特征在于,所述有效时间设置单元包括有:
地址划分模块,用于划分用户数据连续的最小寻址单元;
Meta信息处理模块,用于在Meta信息内依序写入数据写入时间以及数据过期时间。
9.根据权利要求7所述的带时效的数据读写装置,其特征在于,所述装置还包括有:
时间获取单元,用于获取当前时间;
校正单元,用于校正SSD实时时间与当前时间。
10.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的带时效的数据读写方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671087.3A CN109032505A (zh) | 2018-06-26 | 2018-06-26 | 带时效的数据读写方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671087.3A CN109032505A (zh) | 2018-06-26 | 2018-06-26 | 带时效的数据读写方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109032505A true CN109032505A (zh) | 2018-12-18 |
Family
ID=64611329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810671087.3A Pending CN109032505A (zh) | 2018-06-26 | 2018-06-26 | 带时效的数据读写方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032505A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743377A (zh) * | 2018-12-27 | 2019-05-10 | 杭州当虹科技股份有限公司 | 一种基于http的小文件读写优化方法 |
CN110555314A (zh) * | 2019-05-31 | 2019-12-10 | 深圳大普微电子科技有限公司 | 一种文件数据的处理方法及固态硬盘 |
CN111381917A (zh) * | 2018-12-29 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 一种数据读写方法及装置 |
CN112035068A (zh) * | 2020-09-08 | 2020-12-04 | 广州图普网络科技有限公司 | 一种数据写入方法、装置、电子设备和存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670742A (zh) * | 2004-03-17 | 2005-09-21 | 株式会社日立制作所 | 记录装置和记录再现装置 |
US20100138592A1 (en) * | 2008-12-02 | 2010-06-03 | Samsung Electronics Co. Ltd. | Memory device, memory system and mapping information recovering method |
CN103026346A (zh) * | 2010-07-27 | 2013-04-03 | 国际商业机器公司 | 包括固态存储器设备的存储系统中的逻辑到物理地址映射 |
CN103164667A (zh) * | 2011-12-08 | 2013-06-19 | 三星电子株式会社 | 数据存储设备和数据管理方法 |
US20130227347A1 (en) * | 2012-02-28 | 2013-08-29 | Samsung Electronics Co., Ltd. | Storage device |
CN104391661A (zh) * | 2014-12-12 | 2015-03-04 | 西安三星电子研究有限公司 | 向固态硬盘写入数据的方法及设备 |
CN104572920A (zh) * | 2014-12-27 | 2015-04-29 | 北京奇虎科技有限公司 | 一种数据整理方法和装置 |
CN105138472A (zh) * | 2014-06-06 | 2015-12-09 | 华为技术有限公司 | 闪存磨损优化方法及设备 |
CN105242871A (zh) * | 2014-06-06 | 2016-01-13 | 华为技术有限公司 | 一种数据写入方法及装置 |
CN105306444A (zh) * | 2015-09-18 | 2016-02-03 | 四川效率源信息安全技术股份有限公司 | 基于云存储的阅后即焚方法和装置 |
CN105653198A (zh) * | 2014-11-13 | 2016-06-08 | 杭州迪普科技有限公司 | 数据处理方法及装置 |
CN105825136A (zh) * | 2016-03-24 | 2016-08-03 | 珠海泰坦软件系统有限公司 | 一种软硬件结合实现电子文件安全传递的方法及装置 |
CN106598484A (zh) * | 2016-11-17 | 2017-04-26 | 华为技术有限公司 | 数据的存储方法、闪存芯片以及存储装置 |
CN106682193A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇虎科技有限公司 | 基于缓存的数据持久化存储方法及装置 |
CN107402819A (zh) * | 2017-08-04 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种客户端缓存的管理方法及系统 |
CN107797763A (zh) * | 2016-09-02 | 2018-03-13 | 三星电子株式会社 | 固态驱动器、驱动器和控制固态驱动器的方法 |
-
2018
- 2018-06-26 CN CN201810671087.3A patent/CN109032505A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670742A (zh) * | 2004-03-17 | 2005-09-21 | 株式会社日立制作所 | 记录装置和记录再现装置 |
US20100138592A1 (en) * | 2008-12-02 | 2010-06-03 | Samsung Electronics Co. Ltd. | Memory device, memory system and mapping information recovering method |
CN103026346A (zh) * | 2010-07-27 | 2013-04-03 | 国际商业机器公司 | 包括固态存储器设备的存储系统中的逻辑到物理地址映射 |
CN103164667A (zh) * | 2011-12-08 | 2013-06-19 | 三星电子株式会社 | 数据存储设备和数据管理方法 |
US20130227347A1 (en) * | 2012-02-28 | 2013-08-29 | Samsung Electronics Co., Ltd. | Storage device |
CN105242871A (zh) * | 2014-06-06 | 2016-01-13 | 华为技术有限公司 | 一种数据写入方法及装置 |
CN105138472A (zh) * | 2014-06-06 | 2015-12-09 | 华为技术有限公司 | 闪存磨损优化方法及设备 |
CN105653198A (zh) * | 2014-11-13 | 2016-06-08 | 杭州迪普科技有限公司 | 数据处理方法及装置 |
CN104391661A (zh) * | 2014-12-12 | 2015-03-04 | 西安三星电子研究有限公司 | 向固态硬盘写入数据的方法及设备 |
CN104572920A (zh) * | 2014-12-27 | 2015-04-29 | 北京奇虎科技有限公司 | 一种数据整理方法和装置 |
CN105306444A (zh) * | 2015-09-18 | 2016-02-03 | 四川效率源信息安全技术股份有限公司 | 基于云存储的阅后即焚方法和装置 |
CN105825136A (zh) * | 2016-03-24 | 2016-08-03 | 珠海泰坦软件系统有限公司 | 一种软硬件结合实现电子文件安全传递的方法及装置 |
CN107797763A (zh) * | 2016-09-02 | 2018-03-13 | 三星电子株式会社 | 固态驱动器、驱动器和控制固态驱动器的方法 |
CN106598484A (zh) * | 2016-11-17 | 2017-04-26 | 华为技术有限公司 | 数据的存储方法、闪存芯片以及存储装置 |
CN106682193A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇虎科技有限公司 | 基于缓存的数据持久化存储方法及装置 |
CN107402819A (zh) * | 2017-08-04 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种客户端缓存的管理方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743377A (zh) * | 2018-12-27 | 2019-05-10 | 杭州当虹科技股份有限公司 | 一种基于http的小文件读写优化方法 |
CN111381917A (zh) * | 2018-12-29 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 一种数据读写方法及装置 |
CN110555314A (zh) * | 2019-05-31 | 2019-12-10 | 深圳大普微电子科技有限公司 | 一种文件数据的处理方法及固态硬盘 |
CN112035068A (zh) * | 2020-09-08 | 2020-12-04 | 广州图普网络科技有限公司 | 一种数据写入方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032505A (zh) | 带时效的数据读写方法、装置、计算机设备及存储介质 | |
CN101515276B (zh) | 一种文件数据写操作的方法、文件数据恢复方法及系统 | |
CN107168647A (zh) | Flash数据读写方法及系统 | |
US20110040927A1 (en) | Method and Apparatus for Performing Enhanced Read and Write Operations in a FLASH Memory System | |
CN101576853B (zh) | 数据存取方法、使用此方法的控制器与存储系统 | |
TWI361999B (zh) | ||
CN102831072B (zh) | 闪存设备及其管理方法、数据读写方法及读写装置 | |
CN107357680A (zh) | 数据处理设备和数据处理的方法 | |
CN104220991A (zh) | 用于允许数据在nand闪存上的有效存储的架构 | |
CN103049224B (zh) | 将数据导入物理磁带的方法、装置和系统 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
CN101567220A (zh) | 闪存的损坏区块辨识方法、储存系统及其控制器 | |
CN110275800A (zh) | Ssd数据物理备份方法、装置、计算机设备及存储介质 | |
WO2024119771A1 (zh) | 基于磁盘阵列卡的存储虚拟化方法、系统、装置及设备 | |
CN104021089A (zh) | 快闪存储器控制芯片与存储装置以及快闪存储器控制方法 | |
CN110019063A (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
US20040250022A1 (en) | Resynchronization of count key data with its corresponding meta data | |
CN114706836B (zh) | 一种基于机载嵌入式数据库的数据生命周期管理方法 | |
CN107506466A (zh) | 一种小文件存储方法及系统 | |
CN101169705B (zh) | 多硬盘下基于裸文件系统实现文件级镜像的方法及装置 | |
JP2000305857A (ja) | 回復自在の基本データ基本状態を備えたデータ媒体及びその形成方法 | |
CN116501264B (zh) | 一种数据存储方法、装置、系统、设备及可读存储介质 | |
CN110262980B (zh) | 基于有限寿命存储介质的高速存储系统 | |
CN108710507A (zh) | 一种ssd主机休眠优化的方法 | |
CN101566969B (zh) | 提升非易失性存储器存储装置的管理效能的方法及控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |
|
RJ01 | Rejection of invention patent application after publication |