CN106227471A - 固态硬盘和应用于固态硬盘的数据存取方法 - Google Patents
固态硬盘和应用于固态硬盘的数据存取方法 Download PDFInfo
- Publication number
- CN106227471A CN106227471A CN201610690098.7A CN201610690098A CN106227471A CN 106227471 A CN106227471 A CN 106227471A CN 201610690098 A CN201610690098 A CN 201610690098A CN 106227471 A CN106227471 A CN 106227471A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- solid state
- hard disc
- state hard
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/604—Details relating to cache allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Abstract
本发明公开了固态硬盘和应用于固态硬盘的数据存取方法,其中所述方法包括:将获取到的待写入数据缓存至预设的写缓存模块;根据最近最少使用页面LRU算法对写缓存模块中的待写入数据进行排序;当写缓存模块中的数据存储量达到预设值时,根据预设的缓存替换算法在不常用的待写入数据中确定预设数量的替换数据;将替换数据写入固态硬盘闪存。本发明实施例可以有效的减少对固态硬盘中闪存的重写次数,进而也就可以有效的减少固态硬盘在数据存取过程中的写放大问题。
Description
技术领域
本发明涉及计算机领域,特别是涉及固态硬盘和应用于固态硬盘的数据存取方法。
背景技术
固态硬盘(SSD,Solid State Drives),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘会包括控制单元和存储单元(一般为FLASH存储芯片)。
固态硬盘中所广泛使用的存储单元一般为与非门闪存,这种存储单元是无法直接在存有原始数据的位置上进行覆盖式的写操作的;具体原因为,首先,与非门闪存中的字节只能由1变为0,反之则无法实现;此外,对于固态硬盘的写操作来说,其最小的操作单位是页;基于上述这两个特性,所有的写操作是需要在一个全部字节全是1的新页上进行的,这样通过将全是1的新页中将需要变为0的字节变为0,并保留应当为1的字节,从而实现数据的存储。
上述存储方式中,为写操作准备全部字节全是1的新页的具体过程包括:在存储单元中以数据块(block)为单位进行数据的擦除,即,将整个数据块中的每个页的所有字节变为1,并将这些页用于写入新数据。
数据块中的数据页根据其数据的是否有效可以分为有效页和无效页这两种;其中,有效页中的数据为有效的数据,无效页中的数据为无效的数据。被擦除的数据块中是可能包括有有效页的,此时,需要将有效页复制到别的数据块中以避免数据的丢失,这样就会造成额外的闪存写操作,在某些情况下额外闪存写操作还会产生很多次,这种现象被称为写放大问题;写放大问题不但会降低固态硬盘的存储性能,而且还会缩短固态硬盘的使用寿命。
现有技术中,包括有为了减少固态硬盘的写放大问题所带来的影响而出现的Trim技术,Trim技术的工作原理是提前将无效页通知给固态盘控制系统以免在块擦除时进行没必要的页面复制。 这样,在块擦除时这些无效页可以直接被擦除,进而达到减少写放大的问题。
发明人经过研究发现,现有技术中,至少还存在以下缺陷:
对于像在线交易、大数据应用以及企业系统等包括有活跃数据页的应用来说,其使用的固态硬盘还是会存在写放大的问题,即,还存在固态硬盘的存储性能较低,且固态硬盘的使用寿命过短的问题。
发明内容
本发明所要解决的技术问题是如何减少固态硬盘的写放大问题,具体的:
本发明实施例提供了一种应用于固态硬盘的数据存取方法,包括:
将获取到的待写入数据缓存至预设的写缓存模块;
根据最近最少使用页面LRU算法对所述写缓存模块中的所述待写入数据进行排序;
当所述写缓存模块中的数据存储量达到预设值时,根据预设的缓存替换算法在不常用的待写入数据中确定预设数量的替换数据;
将所述的替换数据写入所述固态硬盘的闪存。
优选的,在本发明实施例中,在将获取到的待写入数据缓存至预设的写缓存模块后,还包括:
对所述待写入数据进行分组;分组规则包括,根据所述待写入数据的重写间隔值进行分组;
记录所述待写入数据的页面信息;所述页面信息包括所述待写入数据的组别信息;
在所述将所述替换数据写入所述固态硬盘的闪存前,还包括:
根据所述替换数据的数据组别信息确定所述固态硬盘闪存中的目标数据块。
优选的,在本发明实施例中,所述分组规则还包括:
当所述固态硬盘中某一数据块中的页在重写时不能全部同步重写时,将有效页和无效页划分为不同组别。
优选的,在本发明实施例中,所述同步重写的判断方法包括:
判断所述数据块中任一数据页的重写时间点与其他任意数据页的重写时间点之间的时间差是否小于预设时长。
优选的,在本发明实施例中,还包括:
通过增加所述有效页的重写间隔值修正所述有效页的组别信息。
在本发明实施例中,还提供了一种固态硬盘,包括写缓存模块、闪存和控制装置;
所述写缓存模块用于缓存获取到的待写入数据;
所述控制装置包括排序单元、替换单元和写入单元;
所述排序单元用于根据最近最少使用页面LRU算法对所述写缓存模块中的所述待写入数据进行排序;
替换单元当用于所述写缓存模块中的数据存储量达到预设值时,根据预设的替换流程在不常用的待写入数据中确定预设数量的替换数据;
所述写入单元用于将所述替换数据写入所述固态硬盘的闪存。
优选的,在本发明实施例中,所述控制装置还包括:
分组单元,用于在将获取到的待写入数据缓存至预设的写缓存模块后,对所述待写入数据进行分组;分组规则包括,根据所述待写入数据的重写间隔值进行分组;
记录单元,用于记录所述待写入数据的页面信息;所述页面信息包括所述待写入数据的组别信息;
确定单元,用于在所述将所述替换数据写入所述固态硬盘的闪存前, 根据所述替换数据的数据组别信息确定所述固态硬盘闪存中的目标数据块。
优选的,在本发明实施例中,所述分组规则还包括:
当所述固态硬盘中某一数据块中的页在重写时不能全部同步重写时,将有效页和无效页划分为不同组别。
优选的,在本发明实施例中,所述同步重写的判断包括:
判断所述数据块中任一数据页的重写时间点与其他任意数据页的重写时间点之间的时间差是否小于预设时长。
优选的,在本发明实施例中,还包括:
修正单元,用于通过增加所述有效页的重写间隔值修正所述有效页的组别信息。
本发明实施例中,首先将待写入数据写入一个预设的写缓存模块中,并将陆续获取的待写入数据进行LRU排序;这样,通过将不常用的待写入数据沉淀至排序序列的底部;从而可以从写缓存中选择出不常用的代写入数据后再写入固态硬盘的闪存中;由于这些不常用的待写入数据后续被频繁重写的可能性比较小,所以就可以有效的减少对固态硬盘中闪存的重写次数,进而也就可以有效的降低对闪存的写操作,减少固态硬盘在数据存取过程中的写放大问题。
进一步的,在本发明实施例中,还根据待写入数据的重写间隔对待写入数据进行了分组,通过将重写间隔同步的数据写入闪存中同一数据块的方式,尽量使闪存中的每个数据块中的所有数据页都具有相同的重写频率,从而减少了数据块中同时包括有效页和无效页的情况的发生;由于进行块删除的过程中,当数据块中的页面均为无效页时,就无需进行额外的写操作,即,无需因为待删除的闪存数据块中的有效页而增加写操作,所以可以进一步的减少写放大问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请中所述应用于固态硬盘的数据存取方法的步骤示意图;
图2为本申请中所述应用于固态硬盘的数据存取方法的又一步骤示意图;
图3为本申请中所述固态硬盘的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现,现有技术中,存在写放大问题比较严重的场景一般为在线交易、大数据应用以及企业系统等,究其原因,发现是由于上述类似应用中所包括的活跃数据页,需要频繁的重写,从而使得对于闪存的读写次数过多,进而也就使写放大问题更加的突出。
基于上述认知,为了减少固态硬盘的写放大问题,本发明实施例提供了一种应用于固态硬盘的数据存取方法,包括:
S11、将获取到的待写入数据缓存至预设的写缓存模块;
在本发明实施例中,预设有用于缓存写入数据的写缓存模块,即,写入固态硬盘的数据(即,待写入数据)不直接写入闪存中,而是先写入写缓存模块。
S12、根据最近最少使用页面LRU算法对所述写缓存模块中的所述待写入数据进行排序;
将写缓存模块的代写入数据根据LRU算法进行排序,从而可以将写缓存中不常用的数据进行沉淀区分。
本发明实施例的发明思路为,一般情况下,活跃数据页的使用频率(即,重写频率)往往会较高,所以这些数据在写入写缓存模块后就会一直保持在根据LRU算法进行排序的序列的靠前的位置;在该序列的靠后的位置一般都是重写频率较低的数据页,所以通过写缓存模块并进行排序,可以区分出哪些待写入数据中是活跃数据页,哪些是待写入数据相对不活跃的数据页,由于LRU算法是以数据活跃程度,也就是数据是否经常使用为依据进行的排序,所以待写入数据中的这些相对不活跃的数据页也可以称之为不常用的待写入数据。
S13、当所述写缓存模块中的数据存储量达到预设值时,根据预设的缓存替换算法在不常用的待写入数据中确定预设数量的替换数据;
写缓存模块的容量是有限的,不能无限制的存储待写入数据,因此要设定一个替换机制,将活跃程度较低的数据页从写缓存模块中转移到闪存中,从而为后续的数据写入腾出空间;此外,只有从写缓存模块中转入闪存才是完成数据在固态硬盘的最终写入。
首先,本领域技术人员可以根据实际需要设定一个预设值,该预设值可以是一个具体的数值,也可以是一个占用写缓存模块整体容量的比例值,在此并不作具体的限定;以预设值是80%为例,当写缓存模块中的数据占用量达到写缓存整体容量的80%时,开始根据缓存替换算法进行数据的替换,从而可以将写缓存模块中不活跃的数据页清出写缓存模块,即,确定写缓存模块中的数据页哪些属于替换数据;需要说明的是,每次清出的数据量也可以是本领域技术人员根据实际需要具体设定的。
S14、将所述替换数据写入所述固态硬盘的闪存。
在确定了替换数据以后,就可以正式的将数据先写入固态硬盘的闪存了,由于这些替换数据的活跃程度较低,所以在将其写进闪存后,这些数据页被重写的可能性也会较低,这样也就从整体上降低了对闪存的重写次数,进而也就减少固态硬盘在数据存取过程中的写放大问题。
综上所述,本发明实施例中,首先将待写入数据写入一个预设的写缓存中,并将陆续获取的待写入数据进行LRU排序;这样,通过将不常用的待写入数据沉淀至排序序列的底部;从而可以从写缓存中选择出不常用的代写入数据后在写入固态硬盘的闪存中;由于这些不常用的待写入数据后续被频繁重写的可能性比较小,所以就可以有效的减少对固态硬盘中闪存的重写次数,进而也就可以有效的降低对闪存的写操作,减少固态硬盘在数据存取过程中的写放大问题。
优选的,在本发明实施例中,在将获取到的待写入数据缓存至预设的写缓存模块后,还可以包括有一个对数据分组的过程,如图2所示,具体可以包括如下步骤:
S21、对所述待写入数据进行分组;分组规则包括,根据所述待写入数据的重写间隔值进行分组;
本发明实施例中,还对数据的写入方式进行了改进,发明人发现,现有技术中,之所以会存在写放大问题,有一个很重要的原因是因为在进行数据块的擦除时,数据块中即包括无效页又包括有效页,这样,为了不丢失数据,只能是为有效页寻找新的位置并将有效页写入新位置才能将原来的数据块擦除,在此过程中,有可能为有效页新寻找的位置也存在相同的问题,即,为了擦除一个数据来存储该有效页,又发现需要擦除的数据块也是即包括无效页又包括有效页,这样就会又开始新一轮的数据写操作。
发明人从写放大的上述成因出发,通过将数据进行了分组,分组规则中包括,根据重写间隔的不同将数据分为不同的组,这样,可以使每组中的数据页都具有相同或是近似的重写间隔数据页;具有相同或是近似的重写间隔数据页同时被重写的可能性很大,即,这些属于同一组的数据页同时均成为无效页的可能性很大。
S22、记录所述待写入数据的页面信息;所述页面信息包括所述待写入数据的组别信息;
基于上述分组原则,需要通过记录待写入数据的页面信息来标识写缓存中每个数据页的组别。
S23、在所述将所述替换数据写入所述固态硬盘的闪存前,根据所述替换数据的数据组别信息确定所述固态硬盘闪存中的目标数据块。
在进行数据的替换过程中,确定了替换数据后,还需要通过替换数据的组别信息确定所述固态硬盘闪存中的目标数据块,这样,就可以将组别相同的数据页写入相同的数据块;
举例说明,以闪存中每个数据块的大小为64K为例,组别标志为001的数据页128K,组别标志为002的数据页640K;此时,存储的方式为,将组别标志为001的数据页分别存入两个数据块中,将组别标志为002的数据页分别存入10个数据块中,这样,每个数据块中的数据页都属于同一组,即,都具有相同或是近似的重写间隔。
由上可以看出,在本发明实施例中,还根据待写入数据的重写间隔对待写入数据进行了分组,通过将重写间隔同步的数据写入闪存中同一数据块的方式,尽量使闪存中的每个数据块中的所有数据页都具有相同的重写频率,从而减少了数据块中同时包括有效页和无效页的情况的发生;由于进行块删除的过程中,当数据块中的页面均为无效页时,就无需进行额外的写操作,即,无需因为转存数据块中的有效页而增加写操作,所以可以进一步的减少写放大问题。
优选的,本发明实施例中的分组规则还可以包括以下步骤:
S24、当固态硬盘中某一数据块中的页在重写时不能全部同步重写时,将有效页和无效页划分为不同组别。
在实际应用中,通过步骤S21中重写间隔值进行分组的方式有时候会因为数据的偏差造成分组后的效果不好;举例来说,当某一数据页A一开始的重写间隔值为X,数据页A与其他重写间隔值为X的数据页写入闪存中的同一数据块;如果在进行数据块擦除时,发现其他数据页均为无效页,而数据页A为有效页,那么此时我们就可以认为数据页A的重写间隔值有偏差,由于其有效期比块中的其他数据页长才造成的不能与其他数据页同步失效,所以可以通过加大其重写间隔值的方式来将其重新分组,这样当数据页A再次分组的时候就可以分入其他重写间隔较大的组别中去了;具体的实现方式可以是,通过增加所述有效页的重写间隔值修正所述有效页的组别信息。
进一步的,在实际应用中,本发明实施例中同步重写的判断方法具体可以包括:
判断数据块中任一数据页的重写时间点与其他任意数据页页面的重写时间点之间的时间差是否小于预设时长。这样通过限定各个数据页之间的重写间隔的时间差就可以来判断数据块中的数据页是否同步重写。
由上可以看出,在本发明实施例中,还根据待写入数据的重写间隔对待写入数据进行了分组,通过将重写间隔同步的数据写入闪存中同一数据块的方式,尽量使闪存中的每个数据块中的所有数据页都具有相同的重写频率,从而减少了数据块中同时包括有效页和无效页的情况的发生;由于进行块删除的过程中,当数据块中的页面均为无效页时,就无需进行额外的写操作,即,无需因为待删除的闪存数据块中的有效页而增加写操作,所以可以进一步的减少写放大问题。
优选的,在本发明实施例中,还可以在替换逐数据写入固态硬盘闪存之前,进行压缩数据,从而提高数据的存储效率。
在本发明实施例的另一面,还提供了一种固态硬盘,包括写缓存模块01、闪存02和控制装置03;
写缓存模块01用于缓存获取到的待写入数据;
控制装置03包括排序单元31、替换单元32和写入单元33;
排序单元31用于根据最近最少使用页面LRU算法对写缓存模块01中的待写入数据进行排序;替换单元32当用于写缓存模块01中的数据存储量达到预设值时,根据预设的替换流程在不常用的待写入数据中确定预设数量的替换数据;写入单元33用于将替换数据写入固态硬盘的闪存02。
在本发明实施例中,预设有用于缓存写入数据的写缓存模块01,即,写入固态硬盘的数据(即,待写入数据)不直接写入闪存02中,而是先写入写缓存模块01。
排序单元31将写缓存模块01的代写入数据根据LRU算法进行排序,从而可以将写缓存中不常用的数据进行沉淀区分。
本发明实施例的发明思路为,一般情况下,活跃数据页的使用频率(即,重写频率)往往会较高,所以这些数据在写入写缓存模块后就会一直保持在根据LRU算法进行排序的序列的靠前的位置;在该序列的靠后的位置一般都是重写频率较低的数据页,所以通过写缓存模块并进行排序,可以区分出哪些待写入数据中是活跃数据页,哪些是待写入数据相对不活跃的数据页,由于LRU算法是以数据是否经常使用为依据进行的排序,所以待写入数据中的这些相对不活跃的数据页也可以称之为不常用的待写入数据。
写缓存模块的容量是有限的,不能无限制的存储待写入数据,因此通过替换单元32所设置的替换机制,来确定哪些数据是需要写入闪存的;从而可以后需通过写入单元33将活跃程度较低的数据页从写缓存模块01中转移到闪存02中,这样可以为后续的数据写入腾出空间;此外,只有从写缓存模块01中转入闪存02才是完成数据在固态硬盘的最终写入。
首先,本领域技术人员可以根据实际需要设定一个预设值,该预设值可以是一个具体的数值,也可以是一个占用写缓存模块01整体容量的比例值,在此并不作具体的限定;以预设值是80%为例,当写缓存模块01中的数据占用量达到写缓存整体容量的80%时,开始根据缓存替换算法进行数据的替换,从而可以将写缓存模块01中不活跃的数据页清出写缓存模块01,即,确定写缓存模块01中的数据页哪些属于替换数据;需要说明的是,每次清出的数据量也可以是本领域技术人员根据实际需要具体设定的。
在确定了替换数据以后,就可以通过写入单元33正式的将数据先写入固态硬盘的闪存02了,由于这些替换数据的活跃程度较低,所以在将其写进闪存02后,这些数据页被重写的可能性也会较低,这样也就从整体上降低了对闪存02的重写次数,进而也就减少固态硬盘在数据存取过程中的写放大问题。
综上所述,本发明实施例中,首先将待写入数据写入一个预设的写缓存中,并将陆续获取的待写入数据进行LRU排序;这样,通过将不常用的待写入数据沉淀至排序序列的底部;从而可以从写缓存中选择出不常用的代写入数据后在写入固态硬盘的闪存中;由于这些不常用的待写入数据后续被频繁重写的可能性比较小,所以就可以有效的减少对固态硬盘中闪存的重写次数,进而也就可以有效的降低对闪存的写操作,减少固态硬盘在数据存取过程中的写放大问题。
优选的,在本发明实施例中的控制装置03还可以包括:
分组单元(图中未示出),用于在将获取到的待写入数据缓存至预设的写缓存模块01后,对待写入数据进行分组;分组规则包括,根据待写入数据的重写间隔值进行分组;记录单元(图中未示出),用于记录待写入数据的页面信息;页面信息包括待写入数据的组别信息;确定单元(图中未示出),用于在将替换数据写入所述固态硬盘的闪存02前,根据替换数据的数据组别信息确定固态硬盘闪存中02的目标数据块。
本发明实施例中,还对数据的写入方式进行了改进,发明人发现,现有技术中,之所以会存在写放大问题,有一个很重要的原因是因为在进行数据块的擦除时,数据块中即包括无效页又包括有效页,这样,为了不丢失数据,只能是为有效页寻找新的位置并将有效页写入新位置才能将原来的数据块擦除,在此过程中,有可能为有效页新寻找的位置也存在相同的问题,即,为了擦除一个数据来存储该有效页,又发现需要擦除的数据块也是即包括无效页又包括有效页,这样就会又开始新一轮的数据写操作。
发明人从写放大的上述成因出发,通过分组单元将数据进行了分组,分组规则中包括,根据重写间隔的不同将数据分为不同的组,这样,可以使每组中的数据页都具有相同或是近似的重写间隔数据页;具有相同或是近似的重写间隔数据页同时被重写的可能性很大,即,这些同一组内的数据页同时均成为无效页的可能性很大。
基于上述分组原则,需要通过记录单元记录待写入数据的页面信息来标识写缓存中每个数据页的组别。
在进行数据的替换过程中,确定了替换数据后,还需要确定单元来通过替换数据的组别信息确定所述闪存02中的目标数据块,这样,就可以将组别相同的数据页写入相同的数据块;
举例说明,以闪存中每个数据块的大小为64K为例,组别标志为001的数据页128K,组别标志为002的数据页640K;此时,存储的方式为,将组别标志为001的数据页分别存入两个数据块中,将组别标志为002的数据页分别存入10个数据块中,这样,每个数据块中的数据页都属于同一组,即,都具有相同或是近似的重写间隔。
由上可以看出,在本发明实施例中,还根据待写入数据的重写间隔对待写入数据进行了分组,通过将重写间隔同步的数据写入闪存中同一数据块的方式,尽量使闪存中的每个数据块中的所有数据页都具有相同的重写频率,从而减少了数据块中同时包括有效页和无效页的情况的发生;由于进行块删除的过程中,当数据块中的页面均为无效页时,就无需进行额外的写操作,即,无需因为转存数据块中的有效页而增加写操作,所以可以进一步的减少写放大问题。
在实际应用中,分组单元通过重写间隔值进行分组的方式有时候会因为数据的偏差造成分组后的效果不好;举例来说,当某一数据页A一开始的重写间隔值为X,数据页A与其他重写间隔值为X的数据页写入闪存中的同一数据块;如果在进行数据块擦除时,发现其他数据页均为无效页,而数据页A为有效页,那么此时我们就可以认为数据页A的重写间隔值有偏差,由于其有效期比块中的其他数据页长才造成的不能与其他数据页同步失效,所以可以通过加大其重写间隔值的方式来将其重新分组,这样当数据页A再次分组的时候就可以分入其他重写间隔较大的组别中去了;具体的实现方式可以是,通过修正单元(图中未示出)增加所述有效页的重写间隔值来修正所述有效页的组别信息。
进一步的,在实际应用中,本发明实施例中同步重写的判断方式具体可以包括:
判断数据块中任一数据页的重写时间点与其他任意数据页页面的重写时间点之间的时间差是否小于预设时长。这样通过限定各个数据页之间的重写间隔的时间差就可以来判断数据块中的数据页是否同步重写。
优选的,在本发明实施例中,还可以压缩单元(图中未示出),从而可以在替换逐数据写入固态硬盘闪存之前,进行压缩数据,从而提高数据的存储效率。
在本发明实施例中,还根据待写入数据的重写间隔对待写入数据进行了分组,通过将重写间隔同步的数据写入闪存中同一数据块的方式,尽量使闪存中的每个数据块中的所有数据页都具有相同的重写频率,从而减少了数据块中同时包括有效页和无效页的情况的发生;由于进行块删除的过程中,当数据块中的页面均为无效页时,就无需进行额外的写操作,即,无需因为待删除的闪存数据块中的有效页而增加写操作,所以可以进一步的减少写放大问题。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、ReRAM、MRAM、PCM、NAND Flash,NOR Flash, Memristor、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种应用于固态硬盘的数据存取方法,其特征在于,包括:
将获取到的待写入数据缓存至预设的写缓存模块;
根据最近最少使用页面LRU算法对所述写缓存模块中的所述待写入数据进行排序;
当所述写缓存模块中的数据存储量达到预设值时,根据预设的缓存替换算法在不常用的待写入数据中确定预设数量的替换数据;
将所述的替换数据写入所述固态硬盘的闪存。
2.根据权利要求1所述的应用于固态硬盘的数据存取方法,其特征在于,
在将获取到的待写入数据缓存至预设的写缓存模块后,还包括:
对所述待写入数据进行分组;分组规则包括,根据所述待写入数据的重写间隔值进行分组;
记录所述待写入数据的页面信息;所述页面信息包括所述待写入数据的组别信息;
在所述将所述替换数据写入所述固态硬盘的闪存前,还包括:
根据所述替换数据的数据组别信息确定所述固态硬盘闪存中的目标数据块。
3.根据权利要求2所述的应用于固态硬盘的数据存取方法,其特征在于,
所述分组规则还包括:
当所述固态硬盘中某一数据块中的页在重写时不能全部同步重写时,将有效页和无效页划分为不同组别。
4.根据权利要求3所述的应用于固态硬盘的数据存取方法,其特征在于,
所述同步重写的判断方法包括:
判断所述数据块中任一数据页的重写时间点与其他任意数据页的重写时间点之间的时间差是否小于预设时长。
5.根据权利要求3或4所述的应用于固态硬盘的数据存取方法,其特征在于,还包括:
通过增加所述有效页的重写间隔值修正所述有效页的组别信息。
6.一种固态硬盘,其特征在于,包括写缓存模块、闪存和控制装置;
所述写缓存模块用于缓存获取到的待写入数据;
所述控制装置包括排序单元、替换单元和写入单元;
所述排序单元用于根据最近最少使用页面LRU算法对所述写缓存模块中的所述待写入数据进行排序;
替换单元当用于所述写缓存模块中的数据存储量达到预设值时,根据预设的替换流程在不常用的待写入数据中确定预设数量的替换数据;
所述写入单元用于将所述替换数据写入所述固态硬盘的闪存。
7.根据权利要求6所述固态硬盘,其特征在于,所述控制装置还包括:
分组单元,用于在将获取到的待写入数据缓存至预设的写缓存模块后,对所述待写入数据进行分组;分组规则包括,根据所述待写入数据的重写间隔值进行分组;
记录单元,用于记录所述待写入数据的页面信息;所述页面信息包括所述待写入数据的组别信息;
确定单元,用于在所述将所述替换数据写入所述固态硬盘的闪存前, 根据所述替换数据的数据组别信息确定所述固态硬盘闪存中的目标数据块。
8.根据权利要求7所述固态硬盘,其特征在于,
所述分组规则还包括:
当所述固态硬盘中某一数据块中的页在重写时不能全部同步重写时,将有效页和无效页划分为不同组别。
9.根据权利要求8所述固态硬盘,其特征在于,
所述同步重写的判断包括:
判断所述数据块中任一数据页的重写时间点与其他任意数据页的重写时间点之间的时间差是否小于预设时长。
10.根据权利要求8或9所述的固态硬盘,其特征在于,还包括:
修正单元,用于通过增加所述有效页的重写间隔值修正所述有效页的组别信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610690098.7A CN106227471A (zh) | 2016-08-19 | 2016-08-19 | 固态硬盘和应用于固态硬盘的数据存取方法 |
PCT/CN2017/097331 WO2018033036A1 (zh) | 2016-08-19 | 2017-08-14 | 固态硬盘和应用于固态硬盘的数据存取方法 |
US16/251,251 US10810127B2 (en) | 2016-08-19 | 2019-01-18 | Solid-state hard disk and data access method for use with solid-state hard disk |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610690098.7A CN106227471A (zh) | 2016-08-19 | 2016-08-19 | 固态硬盘和应用于固态硬盘的数据存取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106227471A true CN106227471A (zh) | 2016-12-14 |
Family
ID=57553953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610690098.7A Pending CN106227471A (zh) | 2016-08-19 | 2016-08-19 | 固态硬盘和应用于固态硬盘的数据存取方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10810127B2 (zh) |
CN (1) | CN106227471A (zh) |
WO (1) | WO2018033036A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951181A (zh) * | 2017-02-21 | 2017-07-14 | 深圳大普微电子科技有限公司 | 一种数据存储系统的控制装置 |
CN107678684A (zh) * | 2017-08-22 | 2018-02-09 | 深圳市硅格半导体股份有限公司 | 存储器的无效数据清除方法、装置和存储器 |
WO2018033036A1 (zh) * | 2016-08-19 | 2018-02-22 | 深圳大普微电子科技有限公司 | 固态硬盘和应用于固态硬盘的数据存取方法 |
CN108038003A (zh) * | 2017-12-29 | 2018-05-15 | 北京酷我科技有限公司 | 一种移动端存储策略 |
CN108845770A (zh) * | 2018-06-22 | 2018-11-20 | 深圳忆联信息系统有限公司 | 降低ssd写放大的方法、装置及计算机设备 |
CN110297607A (zh) * | 2019-06-28 | 2019-10-01 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘写性能的方法及其系统 |
CN111857578A (zh) * | 2020-06-30 | 2020-10-30 | 浪潮(北京)电子信息产业有限公司 | 一种数据信息的读写方法、装置、设备及存储介质 |
CN112130766A (zh) * | 2020-09-17 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于Flash存储器的写数据方法、装置、设备及存储介质 |
WO2021004310A1 (zh) * | 2019-07-10 | 2021-01-14 | 深圳大普微电子科技有限公司 | 提升固态硬盘服务质量的方法及固态硬盘 |
CN112988042A (zh) * | 2019-12-18 | 2021-06-18 | 深圳大普微电子科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
CN113010091A (zh) * | 2019-12-20 | 2021-06-22 | 华为技术有限公司 | 数据写入固态硬盘的方法、垃圾回收的方法、装置 |
WO2021120731A1 (zh) * | 2019-12-18 | 2021-06-24 | 深圳大普微电子科技有限公司 | 数据存储方法及组件,数据处理方法及组件 |
CN113568572A (zh) * | 2021-07-09 | 2021-10-29 | 浙江工业大学 | 一种基于固态硬盘的数据库并行排序连接系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100037001A1 (en) * | 2008-08-08 | 2010-02-11 | Imation Corp. | Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) |
US20120303862A1 (en) * | 2011-05-23 | 2012-11-29 | International Business Machines Corporation | Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device |
CN103049394A (zh) * | 2012-11-30 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘数据缓存的方法及其系统 |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN103345368A (zh) * | 2013-07-18 | 2013-10-09 | 四川九成信息技术有限公司 | 一种在缓冲存储器中缓存数据的方法 |
CN103631528A (zh) * | 2012-08-21 | 2014-03-12 | 苏州捷泰科信息技术有限公司 | 用固态硬盘作为缓存器的读写方法、系统及读写控制器 |
CN103885728A (zh) * | 2014-04-04 | 2014-06-25 | 华中科技大学 | 一种基于固态盘的磁盘缓存系统 |
CN104391661A (zh) * | 2014-12-12 | 2015-03-04 | 西安三星电子研究有限公司 | 向固态硬盘写入数据的方法及设备 |
CN105677511A (zh) * | 2015-12-30 | 2016-06-15 | 首都师范大学 | 一种降低同步开销的数据写入方法和装置 |
US20160217071A1 (en) * | 2013-02-28 | 2016-07-28 | International Business Machines Corporation | Cache Allocation in a Computerized System |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542066A (en) * | 1993-12-23 | 1996-07-30 | International Business Machines Corporation | Destaging modified data blocks from cache memory |
US7500050B2 (en) * | 2006-03-20 | 2009-03-03 | International Business Machines Corporation | Wise ordering for writes—combining spatial and temporal locality in write caches for multi-rank storage |
KR20100082185A (ko) * | 2009-01-08 | 2010-07-16 | 삼성전자주식회사 | 플래시 메모리, 캐시 메모리, 그리고 제어기를 포함하는 사용자 장치 |
US8386724B2 (en) * | 2009-02-19 | 2013-02-26 | Micron Technology, Inc. | Methods and apparatus for designating or using data status indicators |
US8386714B2 (en) * | 2010-06-29 | 2013-02-26 | International Business Machines Corporation | Reducing write amplification in a cache with flash memory used as a write cache |
KR101717081B1 (ko) * | 2011-03-23 | 2017-03-28 | 삼성전자주식회사 | 비휘발성 램과 휘발성 램을 버퍼 메모리로 사용하는 저장 장치 |
CN102841850B (zh) * | 2012-06-19 | 2016-04-20 | 记忆科技(深圳)有限公司 | 减小固态硬盘写放大的方法及系统 |
CN102981966B (zh) * | 2012-11-09 | 2016-04-06 | 青岛海信宽带多媒体技术有限公司 | 一种均衡分配Flash存储块的数据存储方法 |
CN105224237B (zh) * | 2014-05-26 | 2018-06-19 | 华为技术有限公司 | 一种数据存储方法及装置 |
CN109947370A (zh) * | 2014-05-30 | 2019-06-28 | 北京忆恒创源科技有限公司 | 将数据写入存储设备的方法、装置及存储设备 |
CN104834607B (zh) * | 2015-05-19 | 2018-02-23 | 华中科技大学 | 一种提高分布式缓存的命中率并减少固态硬盘磨损的方法 |
CN106227471A (zh) * | 2016-08-19 | 2016-12-14 | 深圳大普微电子科技有限公司 | 固态硬盘和应用于固态硬盘的数据存取方法 |
-
2016
- 2016-08-19 CN CN201610690098.7A patent/CN106227471A/zh active Pending
-
2017
- 2017-08-14 WO PCT/CN2017/097331 patent/WO2018033036A1/zh active Application Filing
-
2019
- 2019-01-18 US US16/251,251 patent/US10810127B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100037001A1 (en) * | 2008-08-08 | 2010-02-11 | Imation Corp. | Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) |
US20120303862A1 (en) * | 2011-05-23 | 2012-11-29 | International Business Machines Corporation | Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device |
CN103631528A (zh) * | 2012-08-21 | 2014-03-12 | 苏州捷泰科信息技术有限公司 | 用固态硬盘作为缓存器的读写方法、系统及读写控制器 |
CN103049394A (zh) * | 2012-11-30 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘数据缓存的方法及其系统 |
US20160217071A1 (en) * | 2013-02-28 | 2016-07-28 | International Business Machines Corporation | Cache Allocation in a Computerized System |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN103345368A (zh) * | 2013-07-18 | 2013-10-09 | 四川九成信息技术有限公司 | 一种在缓冲存储器中缓存数据的方法 |
CN103885728A (zh) * | 2014-04-04 | 2014-06-25 | 华中科技大学 | 一种基于固态盘的磁盘缓存系统 |
CN104391661A (zh) * | 2014-12-12 | 2015-03-04 | 西安三星电子研究有限公司 | 向固态硬盘写入数据的方法及设备 |
CN105677511A (zh) * | 2015-12-30 | 2016-06-15 | 首都师范大学 | 一种降低同步开销的数据写入方法和装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10810127B2 (en) | 2016-08-19 | 2020-10-20 | Shenzhen Dapu Microelectronics Co., Ltd. | Solid-state hard disk and data access method for use with solid-state hard disk |
WO2018033036A1 (zh) * | 2016-08-19 | 2018-02-22 | 深圳大普微电子科技有限公司 | 固态硬盘和应用于固态硬盘的数据存取方法 |
CN106951181A (zh) * | 2017-02-21 | 2017-07-14 | 深圳大普微电子科技有限公司 | 一种数据存储系统的控制装置 |
WO2018153051A1 (zh) * | 2017-02-21 | 2018-08-30 | 深圳大普微电子科技有限公司 | 一种存储系统的控制装置 |
US11567696B2 (en) * | 2017-02-21 | 2023-01-31 | Shenzhen Dapu Microelectronics Co., Ltd. | Control device of storage system |
CN107678684A (zh) * | 2017-08-22 | 2018-02-09 | 深圳市硅格半导体股份有限公司 | 存储器的无效数据清除方法、装置和存储器 |
CN107678684B (zh) * | 2017-08-22 | 2020-11-10 | 深圳市硅格半导体有限公司 | 存储器的无效数据清除方法、装置和存储器 |
CN108038003A (zh) * | 2017-12-29 | 2018-05-15 | 北京酷我科技有限公司 | 一种移动端存储策略 |
CN108845770A (zh) * | 2018-06-22 | 2018-11-20 | 深圳忆联信息系统有限公司 | 降低ssd写放大的方法、装置及计算机设备 |
CN110297607A (zh) * | 2019-06-28 | 2019-10-01 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘写性能的方法及其系统 |
CN110297607B (zh) * | 2019-06-28 | 2023-08-29 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘写性能的方法及其系统 |
US11886743B2 (en) | 2019-07-10 | 2024-01-30 | Shenzhen Dapu Microelectronics Co., Ltd. | Method for enhancing quality of service of solid-state drive and solid-state drive |
WO2021004310A1 (zh) * | 2019-07-10 | 2021-01-14 | 深圳大普微电子科技有限公司 | 提升固态硬盘服务质量的方法及固态硬盘 |
CN112988042A (zh) * | 2019-12-18 | 2021-06-18 | 深圳大普微电子科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
WO2021120731A1 (zh) * | 2019-12-18 | 2021-06-24 | 深圳大普微电子科技有限公司 | 数据存储方法及组件,数据处理方法及组件 |
CN112988042B (zh) * | 2019-12-18 | 2023-04-18 | 深圳大普微电子科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
CN113010091A (zh) * | 2019-12-20 | 2021-06-22 | 华为技术有限公司 | 数据写入固态硬盘的方法、垃圾回收的方法、装置 |
CN111857578A (zh) * | 2020-06-30 | 2020-10-30 | 浪潮(北京)电子信息产业有限公司 | 一种数据信息的读写方法、装置、设备及存储介质 |
CN112130766A (zh) * | 2020-09-17 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于Flash存储器的写数据方法、装置、设备及存储介质 |
CN113568572A (zh) * | 2021-07-09 | 2021-10-29 | 浙江工业大学 | 一种基于固态硬盘的数据库并行排序连接系统 |
CN113568572B (zh) * | 2021-07-09 | 2024-03-22 | 浙江工业大学 | 一种基于固态硬盘的数据库并行排序连接系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2018033036A1 (zh) | 2018-02-22 |
US20190155737A1 (en) | 2019-05-23 |
US10810127B2 (en) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106227471A (zh) | 固态硬盘和应用于固态硬盘的数据存取方法 | |
TWI446345B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
US7363420B2 (en) | Method and file structures for managing data on a flash disk | |
US8706989B2 (en) | Data storage device with power-off recovery system and method thereof | |
CN102508788B (zh) | Ssd及ssd垃圾回收方法和装置 | |
CN104484283B (zh) | 一种降低固态硬盘写放大的方法 | |
US8914579B2 (en) | Access device, information recording device, controller, and information recording system | |
CN103995855A (zh) | 存储数据的方法和装置 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
CN105117351A (zh) | 向缓存写入数据的方法及装置 | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
CN102033793A (zh) | 快照方法和固态硬盘 | |
CN111061649B (zh) | 一种存储器的存储空间自适应分配方法 | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN105373487A (zh) | 一种存储操作系统的碎片整理方法及系统 | |
CN110389712B (zh) | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 | |
CN108089825A (zh) | 一种基于分布式集群的存储系统 | |
US8074012B2 (en) | Flash memory apparatus and method for securing a flash memory from data damage | |
CN102789422B (zh) | 固态硬盘的数据写入方法 | |
CN108664217B (zh) | 一种降低固态盘存储系统写性能抖动的缓存方法及系统 | |
US8856425B2 (en) | Method for performing meta block management, and associated memory device and controller thereof | |
CN114297092A (zh) | 数据处理方法、系统、设备、存储系统及介质 | |
CN113190180A (zh) | 一种基于混合介质的存储装置及分布式存储系统 | |
US8364894B2 (en) | Data update method and flash memory apparatus utilizing a cache block | |
CN110262980B (zh) | 基于有限寿命存储介质的高速存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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: 20161214 |
|
RJ01 | Rejection of invention patent application after publication |