CN102799534A - 基于固态存储介质的存储***及方法、冷热数据识别方法 - Google Patents
基于固态存储介质的存储***及方法、冷热数据识别方法 Download PDFInfo
- Publication number
- CN102799534A CN102799534A CN2012102498972A CN201210249897A CN102799534A CN 102799534 A CN102799534 A CN 102799534A CN 2012102498972 A CN2012102498972 A CN 2012102498972A CN 201210249897 A CN201210249897 A CN 201210249897A CN 102799534 A CN102799534 A CN 102799534A
- Authority
- CN
- China
- Prior art keywords
- lpage
- logical page
- state
- write order
- data
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本发明揭示了一种基于固态存储介质的存储***及方法,所述存储***中包括一种冷热数据的识别方法,该识别方法用以识别逻辑页面所处的状态,所处的状态至少包括冷数据和热数据两种状态;所述识别方法包括:如果逻辑页面被主机host在设定的时间内进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页面处于冷数据状态。本发明提出的基于固态存储介质的存储***及方法,可提高固态存储器的性能(读写速度和带宽),并通过减少实际写入数据达到最大化固态存储***的寿命的目的。
Description
技术领域
本发明属于数据存储技术领域,涉及一种存储***,尤其涉及一种基于固态存储介质(solid state media)的存储***;同时,本发明还涉及一种基于固态存储介质的存储方法;此外,本发明还涉及一种存储***的冷热数据识别方法。
背景技术
基于闪存(NAND Flash)的数据存储技术在过去十几年发展迅速,在很多应用中逐渐取代了传统的磁记录硬盘(hard disk drive,HDD)。主要原因有:
(1)速度快:基于闪存的数据存储不象传统HDD依靠磁头机械寻址,从而在数据读写速度上有本质性的提高,满足了应用对数据存储吞吐速度的日趋严格的需求
(2)价格下降:随着半导体技术的进步,闪存的容量也随着摩尔定律每不到两年增加一倍,单位容量价格也随着下降。目前MLC的闪存每GB的价格已从5年前的$10USD/GB降至现在2012年的低于$1USD/GB。
(3)控制器技术进步:闪存需要匹配的控制器(controller)才能与主机(host)通信实现数据存储读写。控制器技术的成熟促进了基于闪存的固态存储技术在越来越多的领域找到相应的应用,包括在高端的数据中心及移动智能电话中的应用。
闪存的一大特性是其不可重写性:保存在闪存中的一页(page)数据必需要经过其页面所在的整个块(block)擦除之后才可以写入新的数据【参考资料1:R.Micheloni,L.Crippa,and A.Marelli,“Inside Flash Memories”,Springer,2010.】。在闪存中,一个块包含多个页面,如128或256个页面。为了解决这一问题使得这一不方便特性对用户而言透明,闪存控制器需要通过FTL(Flash Translation Layer,闪存转换层)实现对闪存的管理,从而在闪存上实现如FAT的块设备文件***,如图1所示。
闪存转换层(FTL)主要由地址映射分配表、垃圾回收单元和磨损均衡单元组 成。FTL把闪存当作一日志设备:
(1)分配物理页面地址(physical page address)给新的逻辑数据页面LPA(logical page address),存储其地址映射表。
(2)分配新的物理页面地址给需要更新的逻辑数据页面,并更新其地址映射表
(3)将该数据更新前存放的物理页面标记为无效(invalid or outdated),从而该页面(page)所在的块(block)在将来会被FTL重新擦除回收,即垃圾回收(GC:Garbage Collection)。在垃圾回收时,被回收的块中仍然有效的数据页面将被拷贝到新的物理页面。当拷贝完成之后,该块中的所有页面都是无效数据,因此可以擦除之后再重新利用。
(4)为防止某些物理块(block)被过度使用而造成***失效[闪存的物理块拥有有限的擦除读写次数,如5000次],FTL应用磨损均衡(wear leveling)使得整个设备中的物理页面使用程度平均化以最大化***使用寿命。
为了实现高效的垃圾回收,避免在垃圾回收过程中拷贝过多的仍然有效的数据,FTL需要有效地把经常更新的数据(即热数据)和不常更新的数据(即冷数据)分开存放。确切地说,如果一个块中包含大多数是热数据,在该块被垃圾回收时,其中大部分页面所对应的LPA都已经被更新过而变成无效,因此需要拷贝的数据量大大减少,从而减少了***负载,提高存储***对host的带宽,并延长了闪存的寿命(由于总写入数据量减少了)。因此,有效而准确的热冷数据检测分类是实现高效FTL的关键。
由于热冷数据检测技术的关键性,在现有已公开的文献中存在不少不同的解决方案。然而,这些方案普遍存在两种缺陷:
一、需要很大内存空间:比如通过跟踪每一个逻辑页面LPA (logic page address)的更新时间,当一个逻辑页面LPA在很短时间内被频繁更新,则该LPA是热数据;如果LPA很长时间都没有被更新,这该LPA是冷数据。要实现精确跟踪,需要很大的内存空间来储存LPA更新时间信息,给***造成很大的负担。例如在【文献2:M.Chiang,P.Lee,and R.Chang,“Managing flash memory in personal communication devices,”in ISCE,1997.】中的算法。
二、需要很多的计算资源:比如通过hash(散列)函数和bloom filter实现对LPA更新频率的跟踪,这些算法需要通过散列函数的计算,复杂度很高。例如在【文献3:D.Park,D.H.C.Du,“Hot and Cold data identification for flash memory using multiple bloom filters”,The 27th IEEE Symposium on Mass Storage Systems and Technologies,May2011.】中的算法。
有鉴于此,如今迫切需要提供一种方法,可以更加有效地实现冷热数据的识别,并同时减少存储***的负担。
发明内容
本发明所要解决的技术问题是:提供一种基于固态存储介质的存储***,可提高固态存储器的性能(读写速度和带宽),并通过减少实际写入数据达到最大化固态存储***的寿命的目的。
同时,本发明还提供一种基于固态存储介质的存储方法,可提高固态存储器的性能(读写速度和带宽),并通过减少实际写入数据达到最大化固态存储***的寿命的目的。
此外,本发明进一步提供一种存储***的冷热数据识别方法,可非常有效准确地动态辨识数据块的当前热冷状态,为FTL的高效实现提供了基础;最终将提高固态存储器的性能(读写速度和带宽),并通过减少实际写入数据达到最大化固态存储***的寿命的目的。
为解决上述技术问题,本发明采用如下技术方案:
一种基于固态存储介质的存储***,所述***包括:固态存储模块、数据读写擦除模块、存储管理模块、主机host;
所述固态存储模块用以存储数据;
所述数据读写擦除模块与所述固态存储模块连接,用以读取、写入、擦除固态存储模块的数据;
所述主机用以对存储管理模块发送指令;
所述存储管理模块与所述数据读写擦除模块、主机host连接,用以管理固态存储模块的数据;所述存储管理模块包括:
-地址映射单元,用以存储从逻辑页面到物理页面的映射表,并在逻辑页面更新时,更新相应的地址映射表;
-垃圾回收GC和磨损均衡WL单元,用以回收和擦除无效的物理块,并调节物理块的均衡使用;
-冷热数据识别单元,用以识别逻辑页面所处的状态,所处的状态至少包括冷数据状态、热数据状态;所述冷热数据识别单元的识别方法包括:如果逻辑页面在设定时间内被主机host进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页面处于冷数据状态;
-数据存放单元,用以根据冷热数据识别单元的识别结果,对处于冷数据状态的逻辑页面及处于热数据状态的逻辑页面分别存放于不同的物理块。
作为本发明的一种优选方案,若逻辑页面内的数据不常更新,则定义逻辑页面处于冷数据状态;若逻辑页面内的数据经常更新,则定义逻辑页面处于热数据状态;
所述逻辑页面所处的状态还包括一个中间过渡状态;
若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于中间过渡状态;
若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于中间过渡状态;
所述host写命令为第一类写命令,表示写命令来自于主机host或者说是用户;***GC/WL写命令为第二类写命令,表示写命令来自于所述存储管理模块本身,即该写命令是由于垃圾回收和磨损均衡单元引发的。
作为本发明的一种优选方案,所述逻辑页面所处的状态还包括N个中间过渡状态,N>=1;
所述逻辑页面接受的命令包括第一类写命令、第二类写命令;所述第一类写 命令包括host写命令,表示写命令来自于主机host或者说是用户;第二类写命令包括***GC/WL写命令,表示写命令来自于所述存储管理模块本身,即该写命令是由于垃圾回收和磨损均衡单元引发的;
若逻辑页面当前处于热数据状态,如果当前命令是第一类写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是第二类,则标记该逻辑页面处于中间过渡状态;直至连续经过N+1次第二类写命令,则逻辑页面处于冷数据状态;
若逻辑页面当前处于冷数据状态,如果当前命令是第二类写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是第一类写命令,则标记该逻辑页面处于中间过渡状态;直至连续经过N+1次第一类写命令,则逻辑页面处于热数据状态。
作为本发明的一种优选方案,所述逻辑页面所处的状态还包括N个中间过渡状态,N>=1;若逻辑页面由热数据状态进入中间过渡状态,该逻辑页面被存储管理单元处理时按照热数据状态处理;若逻辑页面有冷数据状态进入中间过渡状态,该逻辑页面被存储管理单元处理时按照冷数据状态处理。
一种上述的基于固态存储介质的存储***的存储方法,所述方法包括如下步骤:
数据读写步骤,数据读写擦除模块读取、写入、擦除固态存储模块的数据;
数据管理步骤,存储管理模块管理所述固态存储模块的数据;具体包括:
-地址映射单元在更新后的逻辑页面写入新的物理页面时,更新逻辑页面的地址映射表;
-垃圾回收和磨损均衡单元回收和擦除无效的物理块,并调节物理块的均衡使用;
-冷热数据识别单元识别逻辑页面所处的状态,所处的状态包括冷数据状态、热数据状态;所述冷热数据识别单元的识别方法包括:如果逻辑页面被主机host进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页 面处于冷数据状态;
-数据存放单元根据冷热数据识别单元的识别结果,对处于冷数据状态的逻辑页面及处于热数据状态的逻辑页面分别存放于不同的物理块。
一种存储***的冷热数据识别方法,该识别方法用以识别逻辑页面所处的状态,所处的状态包括冷数据状态、热数据状态;所述识别方法包括:
如果逻辑页面被主机host进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;
反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页面处于冷数据状态。
作为本发明的一种优选方案,所述方法还包括:数据存放步骤,根据冷热数据识别单元的识别结果,对处于冷数据状态的逻辑页面及处于热数据状态的逻辑页面分别存放于不同的物理块。
作为本发明的一种优选方案,所述逻辑页面所处的状态还包括一个中间过渡状态;
若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于中间过渡状态;
若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于中间过渡状态;
所述host写命令为第一类写命令,表示写命令来自于主机host或者说是用户;***GC/WL写命令为第二类写命令,表示写命令来自于所述存储管理模块本身,即该写命令是由于垃圾回收和磨损均衡单元引发的。
作为本发明的一种优选方案,所述逻辑页面所处的状态还包括N个中间过渡状态,N>=1;
所述逻辑页面接受的命令包括第一类写命令、第二类写命令;所述第一类写 命令包括host写命令,表示写命令来自于主机host或者说是用户;第二类写命令包括***GC/WL写命令,表示写命令来自于所述存储管理模块本身,即该写命令是由于垃圾回收和磨损均衡单元引发的;
若逻辑页面当前处于热数据状态,如果当前命令是第一类写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于中间过渡状态;直至连续经过N+1次第二类写命令,则逻辑页面处于冷数据状态;
若逻辑页面当前处于冷数据状态,如果当前命令是第二类写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是第一类写命令,则标记该逻辑页面处于中间过渡状态;直至连续经过N+1次第一类写命令,则逻辑页面处于热数据状态。
作为本发明的一种优选方案,所述N个中间过渡状态分别为第一中间过渡状态、第二中间过渡状态、第三中间过渡状态、……、第N-1中间过渡状态、第N中间过渡状态;
所述方法具体包括:
若逻辑页面当前处于热数据状态,如果当前命令是第一类写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于第一中间过渡状态;
若逻辑页面当前处于第一中间过渡状态,如果当前命令是第一类写命令,该逻辑页面处于热数据状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于第二中间过渡状态;
若逻辑页面当前处于第i中间过渡状态,其中,1<i<N,i为整数;如果当前命令是第一类写命令,该逻辑页面处于第i-1中间过渡状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于第i+1中间过渡状态;
若逻辑页面当前处于第N中间过渡状态,如果当前命令是第一类写命令,该逻辑页面处于第N-1中间过渡状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于冷数据状态;
若逻辑页面当前处于冷数据状态,如果当前命令是第二类写命令,该逻辑页 面仍处于冷数据状态;否则如果当前命令是第一类写命令,则标记该逻辑页面处于第N中间过渡状态。
本发明的有益效果在于:本发明提出的基于固态存储介质的存储***及方法,其中包括冷热数据识别方法,识别方法非常简单,而且只占用非常小的内存***资源,非常有利于实际的运用;同时,该方法能够非常有效准确地动态辨识数据块的当前热冷状态,为FTL的高效实现提供了基础。本发明最终将提高固态存储器的性能(读写速度和带宽),并通过减少实际写入数据达到最大化固态存储***的寿命的目的。
附图说明
图1为现有基于固态存储介质的存储***的组成示意图。
图2为本发明基于固态存储介质的存储***的组成示意图。
图3A为热冷数据检测的示意图。
图3B为另一热冷数据检测的示意图。
图4为本发明通过软件实现的示意图。
图5为本发明通过硬件实现的示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
本发明通过FTL内置的垃圾回收机制进行有效的热冷数据检测和分类。该算法的实现所需的运算量非常小,而且每一个LPA只需要两个bit的存储既可有效地实现热冷数据的实时跟踪及识别,并同时考虑到了如下两个方面:
(1)频率:一个更新频率很高的LPA将被有效地识别为热数据,反之亦然。
(2)近期时效性:在使用过程中,一个数据块LPA的使用频率会发生变化;如在前一时段被经常更新的LPA在最近一时段有可能不再被更新从而由热数据 转化为冷数据,虽然从全时段看来该LPA有可能更新相对比较频繁。但是,数据的热冷是有很强的时效性,热数据可以转换为冷数据,反之冷数据在经过一段时间后可以转化为热数据。
请参阅图2,本发明揭示了一种基于固态存储介质的存储***,所述***包括:固态存储模块、硬件模块20、存储管理模块30、操作***模块40。
【固态存储模块】
所述固态存储模块用以存储数据;如图2所示,本实施例中,固态存储模块为闪存10。
【硬件模块】
硬件模块20包括数据读写擦除模块21、编解码单元22、加解密单元23。所述数据读写擦除模块21与所述闪存10连接,用以读取、写入、擦除闪存10中的数据。
【存储管理模块】
存储管理模块30与所述硬件模块20连接,用以管理固态存储模块的数据。存储管理模块30包括:垃圾回收单元31、地址映射单元32、磨损均衡单元33、冷热数据识别单元34、数据存放单元35。
垃圾回收单元31用以将所述逻辑页面更新前存放的物理页面标记为无效,从而该物理页面所在的物理块在将来会被重新擦除回收。在垃圾回收单元31进行垃圾回收时,被回收的物理块中仍然有效的数据页面将被拷贝到新的物理页面;当拷贝完成之后,该物理块中的所有页面都是无效数据,在擦除之后再重新利用。
地址映射单元32用以存储从逻辑页面到物理页面的映射表,并在逻辑页面更新时,更新相应的地址映射表。
磨损均衡单元33用以调节物理块的均衡使用,防止物理块被过度使用而造成失效。当然,垃圾回收单元31、磨损均衡单元33也可以作为一个单元,即垃圾回收和磨损均衡单元;垃圾回收和磨损均衡单元用以回收和擦除无效的物理块,并调节物理块的均衡使用,实现垃圾回收单元31、磨损均衡单元33两个单元的功能。
冷热数据识别单元34用以识别逻辑页面所处的状态,所处的状态至少包括冷数据状态、热数据状态。若逻辑页面内的数据不常更新,则定义逻辑页面处于冷数据状态;若逻辑页面内的数据经常更新,则定义逻辑页面处于热数据状态。
所述冷热数据识别单元的识别方法包括:如果逻辑页面在设定时间内被主机host进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;反之,如果该逻辑页面由于设定的较长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页面处于冷数据状态。
具体地,所述逻辑页面接受的命令包括第一类写命令、第二类写命令;所述第一类写命令包括host写命令,表示写命令来自于主机host或者说是用户;第二类写命令包括***GC/WL写命令,表示写命令来自于所述存储管理模块本身,即该写命令是由于垃圾回收和磨损均衡单元引发的。
请参阅图3A,所述逻辑页面所处的状态还可以包括一个中间过渡状态。若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于中间过渡状态,同时,该逻辑页面在被所述存储管理模块处理时仍然可以当作热数据状态处理(当然,也可以根据设定作为其他状态处理)。若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于中间过渡状态,虽然该逻辑页面在被所述存储管理模块处理时仍然可以当作冷数据状态处理(当然,也可以根据设定作为其他状态处理)。
当然,所述逻辑页面所处的状态还包括N个中间过渡状态,如图3B所示(N=2)。若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于中间过渡状态,同时,该逻辑页面在被所述存储管理模块处理时仍然可以当作热数据状态处理;直至连续经过N+1次第二类写命令,则逻辑页面处于冷数据状态。若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则 标记该逻辑页面处于中间过渡状态,虽然该逻辑页面在被所述存储管理模块处理时仍然可以当作冷数据状态处理;直至连续经过N+1次host写命令,则逻辑页面处于热数据状态。
数据存放单元35用以根据冷热数据识别单元的识别结果,对处于冷数据状态的逻辑页面及处于热数据状态的逻辑页面分别存放于不同的物理块。
【操作***模块】
操作***模块40设置在一主机host中,主机用以对存储管理模块发送指令。
以上介绍了本发明基于固态存储介质的存储***的组成,本发明在揭示上述基于固态存储介质的存储***的同时,还揭示一种上述的基于固态存储介质的存储***的存储方法。所述方法包括如下步骤:
【步骤S1】数据读写步骤。
数据读写擦除模块读取、写入、擦除固态存储模块的数据;
【步骤S2】数据管理步骤。
存储管理模块管理所述固态存储模块的数据。具体包括:
——地址映射单元在更新后的逻辑页面写入新的物理页面时,更新逻辑页面的地址映射表。
——垃圾回收单元将所述逻辑页面更新前存放的物理页面标记为无效,从而该物理页面所在的物理块在将来会被重新擦除回收。在垃圾回收单元进行垃圾回收时,被回收的物理块中仍然有效的数据页面将被拷贝到新的物理页面;当拷贝完成之后,该物理块中的所有页面都是无效数据,在擦除之后再重新利用。
——磨损均衡单元调节物理块的均衡使用,防止物理块被过度使用而造成失效。
——冷热数据识别单元识别逻辑页面所处的状态,所处的状态包括冷数据状态、热数据状态;所述冷热数据识别单元的识别方法包括:如果逻辑页面被主机host进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻 辑页面处于冷数据状态。
请参阅图3A,所述逻辑页面所处的状态还可以包括一个中间过渡状态。识别方法包括:若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于中间过渡状态,同时,该逻辑页面在被所述存储管理模块处理时仍然可以当作热数据状态处理。若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于中间过渡状态,虽然该逻辑页面在被所述存储管理模块处理时仍然可以当作冷数据状态处理。
当然,所述逻辑页面所处的状态还包括N个中间过渡状态。识别方法包括:若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于中间过渡状态,同时,该逻辑页面在被所述存储管理模块处理时仍然当作热数据处理;直至连续经过N+1次第二类写命令,则逻辑页面处于冷数据状态。若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于中间过渡状态,虽然该逻辑页面在被所述存储管理模块处理时仍然当作冷数据处理;直至连续经过N+1次host写命令,则逻辑页面处于热数据状态。
具体地,所述N个中间过渡状态分别为第一中间过渡状态、第二中间过渡状态、第三中间过渡状态、……、第N-1中间过渡状态、第N中间过渡状态。所述方法具体包括:
(1)若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于第一中间过渡状态。
(2)若逻辑页面当前处于第一中间过渡状态,如果当前命令是host写命令,该逻辑页面处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于第二中间过渡状态。
(3)若逻辑页面当前处于第i中间过渡状态,其中,1<i<N,i为整数;如 果当前命令是host写命令,该逻辑页面处于第i-1中间过渡状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于第i+1中间过渡状态。
(4)若逻辑页面当前处于第N中间过渡状态,如果当前命令是host写命令,该逻辑页面处于第N-1中间过渡状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于冷数据状态。
(5)若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于第N中间过渡状态。
——数据存放单元根据冷热数据识别单元的识别结果,对处于冷数据状态的逻辑页面及处于热数据状态的逻辑页面分别存放于不同的物理块。
实施例二
本实施例揭示一种存储***的冷热数据识别方法,该识别方法用以识别逻辑页面所处的状态,所处的状态至少包括冷数据状态、热数据状态。
所述逻辑页面接受的命令包括第一类写命令、第二类写命令;所述第一类写命令包括host写命令,表示写命令来自于主机host或者说是用户;第二类写命令包括但不限于***GC/WL写命令,表示写命令来自于所述存储管理模块本身。
在本发明的一种实施方式中,所处的状态只包括冷数据状态、热数据状态。所述识别方法包括:如果逻辑页面被主机host进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页面处于冷数据状态。
此外,所述方法还可以包括数据存放步骤,根据冷热数据识别单元的识别结果,对处于冷数据状态的逻辑页面及处于热数据状态的逻辑页面分别存放于不同的物理块。
在本发明的另一种实施方式中,所述逻辑页面所处的状态还可以包括一个中间过渡状态。识别方法包括:若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL 写命令,则标记该逻辑页面处于中间过渡状态,同时,该逻辑页面在被所述存储管理模块处理时仍然当作热数据处理。若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于中间过渡状态,虽然该逻辑页面在被所述存储管理模块处理时仍然当作冷数据处理。
在本发明的另外一种实施方式中,所述逻辑页面所处的状态还包括N个中间过渡状态。识别方法包括:若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于中间过渡状态,同时,该逻辑页面在被所述存储管理模块处理时仍然当作热数据处理;直至连续经过N+1次第二类写命令,则逻辑页面处于冷数据状态。若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于中间过渡状态,虽然该逻辑页面在被所述存储管理模块处理时仍然当作冷数据处理;直至连续经过N+1次host写命令,则逻辑页面处于热数据状态。
具体地,所述N个中间过渡状态分别为第一中间过渡状态、第二中间过渡状态、第三中间过渡状态、……、第N-1中间过渡状态、第N中间过渡状态。所述方法具体包括:
(1)若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于第一中间过渡状态。
(2)若逻辑页面当前处于第一中间过渡状态,如果当前命令是host写命令,该逻辑页面处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于第二中间过渡状态。
(3)若逻辑页面当前处于第i中间过渡状态,其中,1<i<N,i为整数;如果当前命令是host写命令,该逻辑页面处于第i-1中间过渡状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于第i+1中间过渡状态。
(4)若逻辑页面当前处于第N中间过渡状态,如果当前命令是host写命令, 该逻辑页面处于第N-1中间过渡状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于冷数据状态。
(5)若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于第N中间过渡状态。
实施例三
本发明将数据冷热的识别与FTL中的垃圾回收(GC:garbage collection)和磨损均衡(WL:wear leveling)集合起来,具体请参阅图3A。在FTL中,写请求可分为两类:第一类写命令来自于主机(host)或者说是用户,即数据确实需要更新(host写);第二类写命令来自于FTL本身,即该写命令是由于GC或是WL引发的。这类写请求并没有数据的更新,而是由于GC或WL,FTL需要将数据拷贝到新的物理页面地址(PPA:physical page address)。
数据有热和冷两种稳定状态。为减少LPA在热数据和冷数据间的频繁状态转换,在该算法中引入了一种中间过渡态(温),但FTL在处理数据时对于过渡态的LPA利用的是该LPA在进入过渡态前一状态的温度(即只有热或者是冷)。在任何一条写命令执行时,该写命令对应的LPA的温度检测机制原理如下:
(1)LPA当前处于“热”状态:如果当前命令是host写,该LPA仍处于“热”状态;否则如果当前命令是GC写或者是WL写,则标记该LPA处于过渡态,虽然该LPA在被FTL处理时仍然当作“热”数据处理。
(2)LPA当前处于“冷”状态:如果当前命令是GC写或WL写,该LPA仍处于“冷”状态;否则如果当前命令是host写,则标记该LPA处于过渡态,虽然该LPA在被FTL处理时仍然当作“冷”数据处理。
(3)如果LPA已处于过渡态,GC/WL写命令将LPA置于(或回归于)“冷”状态;host写命令则将LPA置于(或回归于)“热”状态。
该算法的基本原理是:如果LPA被host连续两次改动(host写),则该LPA是热数据;反之,如果该LPA由于长时间未被主机更新,而由于垃圾回收或磨损均衡造成了该LPA存储物理地址的更改(即GC写或WL写),表明该数据已 经成为冷数据。
需要指出的是该发明可以很容易存在多种延伸,如:
(1)包括多个中间过渡态:如两个中间过渡态,热数据需要连续三次被GC/WL写才转换成冷数据;而冷数据需要连续三次被host写才转换成热数据。
(2)无中间态:热数据如果被GC/WL写,直接进入冷数据状态;反之,冷数据如果一旦被host写,进入热数据状态。
(3)数据可以引入多个温度稳定状态,如热,较热,温,较冷,冷;其间的状态转换可以遵循类似的规则。
此外,本发明可以通过软件(software),硬件(hardware),或固件(firmware)实现。
其中,图4展示了该发明通过软件实现时的一种方式;即本发明实施例一、实施例二中所述的存储管理模块通过软件***实现。软件***根据LBA的当前温度状态信号、FTL写命令的类型(host写或者GC/WL写)以及索引表中对应的温度检测机制,更新对应逻辑页面的温度状态,将更新的对应逻辑页面的温度状态输出。
图5描述了该发明通过硬件实现的一种方式;即本发明所述存储管理模块通过硬件***实现。硬件***主要包括状态跟踪逻辑电路、逻辑页面冷热数据及过渡状态存储单元;通过LBA信号输出单元将LBA的当前温度状态信号输入至状态跟踪逻辑电路,通过读写类型信号输出单元将读写类型信号输入至状态跟踪逻辑电路,状态跟踪逻辑电路还同时获取所述逻辑页面冷热数据及过渡状态存储单元中存储的温度检测机制。状态跟踪逻辑电路根据上述LBA的当前温度状态信号、读写类型信号以及温度检测机制更新对应逻辑页面的温度状态,将更新的对应逻辑页面的温度状态输出。
该发明可以应用在基于闪存的固态存储***或设备中。而固态存储***可用在计算机存储,服务器存储,移动设备存储(如智能手机,平板电脑),多媒体设备(如智能电视Smart TV)等等领域。该发明也可以应用于其它需要识别数据常用性的应用中,如缓存算法、sensor networks等领域。
综上所述,本发明提出的基于固态存储介质的存储***及方法,其中包括冷热数据识别方法,识别方法非常简单,而且只占用非常小的内存***资源,非常有利于实际的运用;同时,该方法能够非常有效准确地动态辨识数据块的当前热冷状态,为FTL的高效实现提供了基础。本发明最终将提高固态存储器的性能(读写速度和带宽),并通过减少实际写入数据达到最大化固态存储***的寿命的目的。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (10)
1.一种基于固态存储介质的存储***,其特征在于,所述***包括:固态存储模块、数据读写擦除模块、存储管理模块、主机host;
所述固态存储模块用以存储数据;
所述数据读写擦除模块与所述固态存储模块连接,用以读取、写入、擦除固态存储模块的数据;
所述主机用以对存储管理模块发送指令;
所述存储管理模块与所述数据读写擦除模块、主机host连接,用以管理固态存储模块的数据;所述存储管理模块包括:
-地址映射单元,用以存储从逻辑页面到物理页面的映射表,并在逻辑页面更新时,更新相应的地址映射表;
-垃圾回收GC和磨损均衡WL单元,用以回收和擦除无效的物理块,并调节物理块的均衡使用;
-冷热数据识别单元,用以识别逻辑页面所处的状态,所处的状态至少包括冷数据状态、热数据状态;所述冷热数据识别单元的识别方法包括:如果逻辑页面在设定时间内被主机host进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页面处于冷数据状态;
-数据存放单元,用以根据冷热数据识别单元的识别结果,对处于冷数据状态的逻辑页面及处于热数据状态的逻辑页面分别存放于不同的物理块。
2.根据权利要求1所述的基于固态存储介质的存储***,其特征在于:
若逻辑页面内的数据不常更新,则定义逻辑页面处于冷数据状态;若逻辑页面内的数据经常更新,则定义逻辑页面处于热数据状态;
所述逻辑页面所处的状态还包括至少一个中间过渡状态;
若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于中间过渡状态;
若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于中间过渡状态;
所述host写命令为第一类写命令,表示写命令来自于主机host或者说是用户;***GC/WL写命令为第二类写命令,表示写命令来自于所述存储管理模块本身,即该写命令是由于垃圾回收和磨损均衡单元引发的。
3.根据权利要求1所述的基于固态存储介质的存储***,其特征在于:
所述逻辑页面所处的状态还包括N个中间过渡状态,N>=1;
所述逻辑页面接受的命令包括第一类写命令、第二类写命令;所述第一类写命令包括host写命令,表示写命令来自于主机host或者说是用户;第二类写命令包括***GC/WL写命令,表示写命令来自于所述存储管理模块本身,即该写命令是由于垃圾回收和磨损均衡单元引发的;
若逻辑页面当前处于热数据状态,如果当前命令是第一类写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于中间过渡状态;直至连续经过N+1次第二类写命令,则逻辑页面处于冷数据状态;
若逻辑页面当前处于冷数据状态,如果当前命令是第二类写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是第一类写命令,则标记该逻辑页面处于中间过渡状态;直至连续经过N+1次host写命令,则逻辑页面处于热数据状态。
4.根据权利要求1所述的基于固态存储介质的存储***,其特征在于:
所述逻辑页面所处的状态还包括N个中间过渡状态,N>=1;
若逻辑页面由热数据状态进入中间过渡状态,该逻辑页面被存储管理单元处理时按照热数据状态处理;若逻辑页面有冷数据状态进入中间过渡状态,该逻辑页面被存储管理单元处理时按照冷数据状态处理。
5.一种权利要求1至4之一所述的基于固态存储介质的存储***的存储方法,其特征在于,所述方法包括如下步骤:
数据读写步骤,数据读写擦除模块读取、写入、擦除固态存储模块的数据;
数据管理步骤,存储管理模块管理所述固态存储模块的数据;具体包括:
-地址映射单元在更新后的逻辑页面写入新的物理页面时,更新逻辑页面的地址映射表;
-垃圾回收和磨损均衡单元回收和擦除无效的物理块,并调节物理块的均衡使用;
;
-冷热数据识别单元识别逻辑页面所处的状态,所处的状态包括冷数据状态、热数据状态;所述冷热数据识别单元的识别方法包括:如果逻辑页面被主机host进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页面处于冷数据状态;
-数据存放单元根据冷热数据识别单元的识别结果,对处于冷数据状态的逻辑页面及处于热数据状态的逻辑页面分别存放于不同的物理块。
6.一种存储***的冷热数据识别方法,其特征在于,该识别方法用以识别逻辑页面所处的状态,所处的状态至少包括冷数据状态、热数据状态;所述识别方法包括:
如果逻辑页面被主机host在设定的时间内进行一次或连续若干次的更新,则判断该逻辑页面处于热数据状态;
反之,如果该逻辑页面由于长时间未被主机host更新,而是垃圾回收和磨损均衡单元的作用、使得该逻辑页面存储物理地址产生一次或连续若干次更新,则判断该逻辑页面处于冷数据状态。
7.根据权利要求6所述的冷热数据识别方法,其特征在于:
所述方法还包括:数据存放步骤,根据冷热数据识别单元的识别结果,对处于冷数据状态的逻辑页面及处于热数据状态的逻辑页面分别存放于不同的物理块。
8.根据权利要求6所述的冷热数据识别方法,其特征在于:
所述逻辑页面所处的状态还包括一个中间过渡状态;所述方法具体包括:
若逻辑页面当前处于热数据状态,如果当前命令是host写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是***GC/WL写命令,则标记该逻辑页面处于中间过渡状态;
若逻辑页面当前处于冷数据状态,如果当前命令是***GC/WL写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是host写命令,则标记该逻辑页面处于中间过渡状态;
所述host写命令为第一类写命令,表示写命令来自于主机host或者说是用户;***GC/WL写命令为第二类写命令,表示写命令来自于所述存储管理模块本身,即该写命令是由于垃圾回收和磨损均衡单元引发的。
9.根据权利要求6所述的冷热数据识别方法,其特征在于:
所述逻辑页面所处的状态还包括N个中间过渡状态,N>=1;
所述逻辑页面接受的命令包括第一类写命令、第二类写命令;所述第一类写命令包括host写命令,表示写命令来自于主机host或者说是用户;第二类写命令包括***GC/WL写命令,表示写命令来自于所述存储管理模块本身,即该写命令是由于垃圾回收和磨损均衡单元引发的;
所述方法具体包括:
若逻辑页面当前处于热数据状态,如果当前命令是第一类命令,该逻辑页面仍处于热数据状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于中间过渡状态;直至连续经过N+1次第二类写命令,则逻辑页面处于冷数据状态;
若逻辑页面当前处于冷数据状态,如果当前命令是第二类写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是第一类写命令,则标记该逻辑页面处于中间过渡状态;直至连续经过N+1次第一类写命令,则逻辑页面处于热数据状态。
10.根据权利要求9所述的冷热数据识别方法,其特征在于:
所述N个中间过渡状态分别为第一中间过渡状态、第二中间过渡状态、第三中间过渡状态、……、第N-1中间过渡状态、第N中间过渡状态;
所述方法具体包括:
若逻辑页面当前处于热数据状态,如果当前命令是第一类写命令,该逻辑页面仍处于热数据状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于第一中间过渡状态;
若逻辑页面当前处于第一中间过渡状态,如果当前命令是第一类写命令,该逻辑页面处于热数据状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于第二中间过渡状态;
若逻辑页面当前处于第i中间过渡状态,其中,1<i<N,i为整数;如果当前命令是第一类写命令,该逻辑页面处于第i-1中间过渡状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于第i+1中间过渡状态;
若逻辑页面当前处于第N中间过渡状态,如果当前命令是第一类写命令,该逻辑页面处于第N-1中间过渡状态;否则如果当前命令是第二类写命令,则标记该逻辑页面处于冷数据状态;
若逻辑页面当前处于冷数据状态,如果当前命令是第二类写命令,该逻辑页面仍处于冷数据状态;否则如果当前命令是第一类写命令,则标记该逻辑页面处于第N中间过渡状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210249897.2A CN102799534B (zh) | 2012-07-18 | 2012-07-18 | 基于固态存储介质的存储***及方法、冷热数据识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210249897.2A CN102799534B (zh) | 2012-07-18 | 2012-07-18 | 基于固态存储介质的存储***及方法、冷热数据识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799534A true CN102799534A (zh) | 2012-11-28 |
CN102799534B CN102799534B (zh) | 2015-11-25 |
Family
ID=47198647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210249897.2A Active CN102799534B (zh) | 2012-07-18 | 2012-07-18 | 基于固态存储介质的存储***及方法、冷热数据识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799534B (zh) |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902628A (zh) * | 2012-09-18 | 2013-01-30 | 记忆科技(深圳)有限公司 | 一种基于闪存实现的冷热数据自动分离方法、***及闪存 |
CN103150258A (zh) * | 2013-03-20 | 2013-06-12 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种固态存储***的写入、读取及垃圾收集方法 |
CN103455435A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 数据写入方法及装置 |
CN104636688A (zh) * | 2015-02-25 | 2015-05-20 | 山东超越数控电子有限公司 | 一种基于固态硬盘的安全固件的实现方法 |
WO2015081757A1 (zh) * | 2013-12-05 | 2015-06-11 | 华为技术有限公司 | 冷热数据识别门限值计算方法、装置和*** |
CN105224240A (zh) * | 2014-05-30 | 2016-01-06 | 北京忆恒创源科技有限公司 | 将数据写入存储设备的方法、装置及存储设备 |
CN105677245A (zh) * | 2015-12-31 | 2016-06-15 | 记忆科技(深圳)有限公司 | 一种基于wl多线程提高ssd使用寿命的方法 |
CN106250052A (zh) * | 2015-06-05 | 2016-12-21 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN106354718A (zh) * | 2015-07-13 | 2017-01-25 | ***通信集团公司 | 用户识别模块的文件管理方法及装置 |
CN106874213A (zh) * | 2017-01-12 | 2017-06-20 | 杭州电子科技大学 | 一种融合多种机器学习算法的固态硬盘热数据识别方法 |
CN106970881A (zh) * | 2017-03-10 | 2017-07-21 | 浙江大学 | 一基于大页的冷热页追踪及压缩回收方法 |
CN107357535A (zh) * | 2017-07-20 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种确定数据冷热等级的方法及装置 |
CN107562378A (zh) * | 2017-08-28 | 2018-01-09 | 记忆科技(深圳)有限公司 | 一种提升固态存储设备寿命的方法 |
CN107622023A (zh) * | 2016-07-13 | 2018-01-23 | 希捷科技有限公司 | 限制数据存储设备中的访问操作 |
CN107943719A (zh) * | 2017-11-28 | 2018-04-20 | 杭州电子科技大学 | 一种基于请求分类的闪存转换层控制方法 |
CN107977319A (zh) * | 2016-10-24 | 2018-05-01 | 爱思开海力士有限公司 | 存储***及其操作方法 |
TWI645330B (zh) * | 2017-05-26 | 2018-12-21 | 上海寶存信息科技有限公司 | 固態硬碟存取方法以及使用該方法的裝置 |
CN109426436A (zh) * | 2017-08-28 | 2019-03-05 | 北京忆恒创源科技有限公司 | 基于可变长大块的垃圾回收方法与装置 |
CN109558334A (zh) * | 2017-09-27 | 2019-04-02 | 北京忆恒创源科技有限公司 | 垃圾数据回收方法及固态存储设备 |
CN109558075A (zh) * | 2018-10-29 | 2019-04-02 | 珠海妙存科技有限公司 | 一种利用数据冷热属性存储数据的方法及装置 |
WO2019062231A1 (zh) * | 2017-09-27 | 2019-04-04 | 北京忆恒创源科技有限公司 | 垃圾回收方法及其存储设备 |
CN110554970A (zh) * | 2018-05-31 | 2019-12-10 | 北京忆恒创源科技有限公司 | 显著降低写放大的垃圾回收方法及存储设备 |
CN111326195A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
CN111399750A (zh) * | 2019-01-03 | 2020-07-10 | 慧荣科技股份有限公司 | 闪存数据写入方法及计算机可读取存储介质 |
CN112214168A (zh) * | 2020-09-27 | 2021-01-12 | 湖南智存合壹信息科技有限公司 | 设定固态硬盘冷热数据的方法及数据存储*** |
CN112286843A (zh) * | 2020-08-12 | 2021-01-29 | 深圳安捷丽新技术有限公司 | 数据存储***的***和方法 |
WO2021082107A1 (zh) * | 2019-10-31 | 2021-05-06 | 江苏华存电子科技有限公司 | 一种提高耗损平均技术效率的方法 |
CN112988884A (zh) * | 2019-12-17 | 2021-06-18 | ***通信集团陕西有限公司 | 大数据平台数据存储方法及装置 |
CN113094004A (zh) * | 2021-05-13 | 2021-07-09 | 深圳市得一微电子有限责任公司 | 一种存储设备中针对特定规律数据镜像映射优化处理方法 |
CN113238527A (zh) * | 2020-12-19 | 2021-08-10 | 华中科技大学 | 一种工业数据汇聚方法及*** |
CN114265670A (zh) * | 2022-03-02 | 2022-04-01 | 阿里云计算有限公司 | 一种内存块整理方法、介质及计算设备 |
CN114296644A (zh) * | 2021-12-17 | 2022-04-08 | 合肥大唐存储科技有限公司 | 一种固态硬盘的数据管理方法和装置 |
CN116107925A (zh) * | 2023-04-10 | 2023-05-12 | 阿里云计算有限公司 | 数据存储单元处理方法 |
CN116820351A (zh) * | 2023-07-21 | 2023-09-29 | 北京得瑞领新科技有限公司 | 冷热数据标定方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788995A (zh) * | 2009-12-31 | 2010-07-28 | 成都市华为赛门铁克科技有限公司 | 一种热点数据识别方法及装置 |
CN102073594A (zh) * | 2010-11-26 | 2011-05-25 | 钰创科技股份有限公司 | 衰减热数据的方法 |
US20110258363A1 (en) * | 2010-04-19 | 2011-10-20 | International Business Machines Corporation | Sub-lun input/output profiling for ssd devices |
-
2012
- 2012-07-18 CN CN201210249897.2A patent/CN102799534B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788995A (zh) * | 2009-12-31 | 2010-07-28 | 成都市华为赛门铁克科技有限公司 | 一种热点数据识别方法及装置 |
US20110258363A1 (en) * | 2010-04-19 | 2011-10-20 | International Business Machines Corporation | Sub-lun input/output profiling for ssd devices |
CN102073594A (zh) * | 2010-11-26 | 2011-05-25 | 钰创科技股份有限公司 | 衰减热数据的方法 |
Non-Patent Citations (1)
Title |
---|
阳佶宏: "一种结合热数据识别的FTL算法", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 01, 16 December 2011 (2011-12-16) * |
Cited By (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902628A (zh) * | 2012-09-18 | 2013-01-30 | 记忆科技(深圳)有限公司 | 一种基于闪存实现的冷热数据自动分离方法、***及闪存 |
CN103150258B (zh) * | 2013-03-20 | 2017-02-01 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种固态存储***的写入、读取及垃圾收集方法 |
CN103150258A (zh) * | 2013-03-20 | 2013-06-12 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种固态存储***的写入、读取及垃圾收集方法 |
CN103455435A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 数据写入方法及装置 |
WO2015081757A1 (zh) * | 2013-12-05 | 2015-06-11 | 华为技术有限公司 | 冷热数据识别门限值计算方法、装置和*** |
US10031671B2 (en) | 2013-12-05 | 2018-07-24 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for calculating identification threshold to distinguish cold data and hot data |
CN105224240A (zh) * | 2014-05-30 | 2016-01-06 | 北京忆恒创源科技有限公司 | 将数据写入存储设备的方法、装置及存储设备 |
CN105224240B (zh) * | 2014-05-30 | 2019-04-30 | 北京忆恒创源科技有限公司 | 将数据写入存储设备的方法、装置及存储设备 |
CN109947370A (zh) * | 2014-05-30 | 2019-06-28 | 北京忆恒创源科技有限公司 | 将数据写入存储设备的方法、装置及存储设备 |
CN104636688A (zh) * | 2015-02-25 | 2015-05-20 | 山东超越数控电子有限公司 | 一种基于固态硬盘的安全固件的实现方法 |
CN106250052A (zh) * | 2015-06-05 | 2016-12-21 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN106354718A (zh) * | 2015-07-13 | 2017-01-25 | ***通信集团公司 | 用户识别模块的文件管理方法及装置 |
CN106354718B (zh) * | 2015-07-13 | 2021-05-25 | ***通信集团公司 | 用户识别模块的文件管理方法及装置 |
CN105677245A (zh) * | 2015-12-31 | 2016-06-15 | 记忆科技(深圳)有限公司 | 一种基于wl多线程提高ssd使用寿命的方法 |
CN105677245B (zh) * | 2015-12-31 | 2018-11-20 | 记忆科技(深圳)有限公司 | 一种基于寿命均衡wl多线程提高ssd使用寿命的方法 |
CN107622023A (zh) * | 2016-07-13 | 2018-01-23 | 希捷科技有限公司 | 限制数据存储设备中的访问操作 |
CN107977319A (zh) * | 2016-10-24 | 2018-05-01 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN106874213A (zh) * | 2017-01-12 | 2017-06-20 | 杭州电子科技大学 | 一种融合多种机器学习算法的固态硬盘热数据识别方法 |
CN106874213B (zh) * | 2017-01-12 | 2020-03-20 | 杭州电子科技大学 | 一种融合多种机器学习算法的固态硬盘热数据识别方法 |
CN106970881B (zh) * | 2017-03-10 | 2020-04-28 | 浙江大学 | 一基于大页的冷热页追踪及压缩回收方法 |
CN106970881A (zh) * | 2017-03-10 | 2017-07-21 | 浙江大学 | 一基于大页的冷热页追踪及压缩回收方法 |
US10936482B2 (en) | 2017-05-26 | 2021-03-02 | Shannon Systems Ltd. | Methods for controlling SSD (solid state disk) and apparatuses using the same |
TWI645330B (zh) * | 2017-05-26 | 2018-12-21 | 上海寶存信息科技有限公司 | 固態硬碟存取方法以及使用該方法的裝置 |
CN107357535A (zh) * | 2017-07-20 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种确定数据冷热等级的方法及装置 |
CN107562378A (zh) * | 2017-08-28 | 2018-01-09 | 记忆科技(深圳)有限公司 | 一种提升固态存储设备寿命的方法 |
CN109426436A (zh) * | 2017-08-28 | 2019-03-05 | 北京忆恒创源科技有限公司 | 基于可变长大块的垃圾回收方法与装置 |
CN109426436B (zh) * | 2017-08-28 | 2024-04-12 | 北京忆恒创源科技股份有限公司 | 基于可变长大块的垃圾回收方法与装置 |
US11416162B2 (en) | 2017-09-27 | 2022-08-16 | Beijing Memblaze Technology Co., Ltd | Garbage collection method and storage device |
WO2019062231A1 (zh) * | 2017-09-27 | 2019-04-04 | 北京忆恒创源科技有限公司 | 垃圾回收方法及其存储设备 |
CN109558334A (zh) * | 2017-09-27 | 2019-04-02 | 北京忆恒创源科技有限公司 | 垃圾数据回收方法及固态存储设备 |
CN109558334B (zh) * | 2017-09-27 | 2022-10-25 | 北京忆恒创源科技股份有限公司 | 垃圾数据回收方法及固态存储设备 |
CN107943719A (zh) * | 2017-11-28 | 2018-04-20 | 杭州电子科技大学 | 一种基于请求分类的闪存转换层控制方法 |
CN110554970A (zh) * | 2018-05-31 | 2019-12-10 | 北京忆恒创源科技有限公司 | 显著降低写放大的垃圾回收方法及存储设备 |
CN109558075A (zh) * | 2018-10-29 | 2019-04-02 | 珠海妙存科技有限公司 | 一种利用数据冷热属性存储数据的方法及装置 |
CN111326195A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
CN111399750B (zh) * | 2019-01-03 | 2023-05-26 | 慧荣科技股份有限公司 | 闪存数据写入方法及计算机可读取存储介质 |
CN111399750A (zh) * | 2019-01-03 | 2020-07-10 | 慧荣科技股份有限公司 | 闪存数据写入方法及计算机可读取存储介质 |
WO2021082107A1 (zh) * | 2019-10-31 | 2021-05-06 | 江苏华存电子科技有限公司 | 一种提高耗损平均技术效率的方法 |
CN112988884A (zh) * | 2019-12-17 | 2021-06-18 | ***通信集团陕西有限公司 | 大数据平台数据存储方法及装置 |
CN112988884B (zh) * | 2019-12-17 | 2024-04-12 | ***通信集团陕西有限公司 | 大数据平台数据存储方法及装置 |
CN112286843B (zh) * | 2020-08-12 | 2022-04-08 | 深圳安捷丽新技术有限公司 | 数据存储***的***和方法 |
CN112286843A (zh) * | 2020-08-12 | 2021-01-29 | 深圳安捷丽新技术有限公司 | 数据存储***的***和方法 |
CN112214168A (zh) * | 2020-09-27 | 2021-01-12 | 湖南智存合壹信息科技有限公司 | 设定固态硬盘冷热数据的方法及数据存储*** |
CN112214168B (zh) * | 2020-09-27 | 2022-10-11 | 湖南智存合壹信息科技有限公司 | 设定固态硬盘冷热数据的方法及数据存储*** |
CN113238527A (zh) * | 2020-12-19 | 2021-08-10 | 华中科技大学 | 一种工业数据汇聚方法及*** |
CN113094004B (zh) * | 2021-05-13 | 2023-11-03 | 得一微电子股份有限公司 | 一种存储设备中针对特定规律数据镜像映射优化处理方法 |
CN113094004A (zh) * | 2021-05-13 | 2021-07-09 | 深圳市得一微电子有限责任公司 | 一种存储设备中针对特定规律数据镜像映射优化处理方法 |
CN114296644A (zh) * | 2021-12-17 | 2022-04-08 | 合肥大唐存储科技有限公司 | 一种固态硬盘的数据管理方法和装置 |
CN114265670A (zh) * | 2022-03-02 | 2022-04-01 | 阿里云计算有限公司 | 一种内存块整理方法、介质及计算设备 |
CN116107925A (zh) * | 2023-04-10 | 2023-05-12 | 阿里云计算有限公司 | 数据存储单元处理方法 |
CN116107925B (zh) * | 2023-04-10 | 2023-09-26 | 阿里云计算有限公司 | 数据存储单元处理方法 |
CN116820351A (zh) * | 2023-07-21 | 2023-09-29 | 北京得瑞领新科技有限公司 | 冷热数据标定方法、装置、存储介质及电子设备 |
CN116820351B (zh) * | 2023-07-21 | 2024-04-09 | 北京得瑞领新科技有限公司 | 冷热数据标定方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102799534B (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799534A (zh) | 基于固态存储介质的存储***及方法、冷热数据识别方法 | |
US8364931B2 (en) | Memory system and mapping methods using a random write page mapping table | |
US9940261B2 (en) | Zoning of logical to physical data address translation tables with parallelized log list replay | |
US9792227B2 (en) | Heterogeneous unified memory | |
CN102473147B (zh) | 数据传送管理 | |
US8838903B2 (en) | Priority ordered multi-medium solid-state storage system and methods for use | |
KR101257691B1 (ko) | 메모리 컨트롤러 및 이의 데이터 관리방법 | |
TWI434175B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
CN103077121B (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN103246609B (zh) | 一种闪存存储设备中冷热数据区分管理的方法及装置 | |
JP2011530133A (ja) | キャッシュコンテンツの記憶管理 | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
US20110022807A1 (en) | Write once recording device | |
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
CN104346357A (zh) | 一种嵌入式终端的文件存取方法及*** | |
CN1828555A (zh) | 支持多存储器映射方案的快闪存储器控制器件及其方法 | |
CN105718530A (zh) | 文件存储***及其文件存储控制方法 | |
CN101315613A (zh) | 处理非易失性存储器的数据的设备和方法 | |
CN112684976A (zh) | 用于执行迁移操作的存储器***及其操作方法 | |
CN111078143B (zh) | 基于段映射进行数据布局和调度的混合存储方法及*** | |
CN102520885B (zh) | 一种混合硬盘的数据管理*** | |
CN103246615B (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN101739348B (zh) | 内存***及其控制方法 | |
CN115344201A (zh) | 数据存储方法、数据查询方法以及装置 | |
Lin et al. | Flash-aware linux swap system for portable consumer electronics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |