CN107220185A - 基于闪存的数据存储方法、装置以及闪存芯片 - Google Patents

基于闪存的数据存储方法、装置以及闪存芯片 Download PDF

Info

Publication number
CN107220185A
CN107220185A CN201710372214.5A CN201710372214A CN107220185A CN 107220185 A CN107220185 A CN 107220185A CN 201710372214 A CN201710372214 A CN 201710372214A CN 107220185 A CN107220185 A CN 107220185A
Authority
CN
China
Prior art keywords
data
physical block
stored
health status
memory
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
Application number
CN201710372214.5A
Other languages
English (en)
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.)
Jian Rong semiconductor (Shenzhen) Co., Ltd.
Original Assignee
ZHUHAI HUANGRONG INTEGRATED CIRCUIT TECHNOLOGY Co Ltd
Jian Rong Semiconductor (shenzhen) Co Ltd
Jianrong Integrated Circuit Technology Zhuhai 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 ZHUHAI HUANGRONG INTEGRATED CIRCUIT TECHNOLOGY Co Ltd, Jian Rong Semiconductor (shenzhen) Co Ltd, Jianrong Integrated Circuit Technology Zhuhai Co Ltd filed Critical ZHUHAI HUANGRONG INTEGRATED CIRCUIT TECHNOLOGY Co Ltd
Priority to CN201710372214.5A priority Critical patent/CN107220185A/zh
Publication of CN107220185A publication Critical patent/CN107220185A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及存储技术领域,尤其涉及基于闪存的数据存储方法、装置以及闪存芯片。该方法包括:根据物理块最近一次被访问时的R/B信号等待时长确定各空闲物理块的健康状态;根据数据在缓存中的访问频率的高低确定待存储数据的热度等级;根据待存储数据的热度等级,以及物理块的健康状态,将待存储数据存储至对应的物理块中。该实施方式使数据的读/写速度变快,缩短了存储器的平均响应时间,提高了存储器的性能。

Description

基于闪存的数据存储方法、装置以及闪存芯片
【技术领域】
本发明涉及存储技术领域,尤其涉及基于闪存的数据存储方法、装置以及闪存芯片。
【背景技术】
非易失性存储器,诸如固态硬盘(Solid State Drives,SSD),由于其非易失存储特性和高速读写性能,近年来被广泛应用。
SSD在数据存储过程中,其映射算法通常根据物理块的使用次数来存储数据,将数据平均地存储至各个物理块中,以保证每个物理块的使用次数和频率是接近的。
发明人在实现本发明的过程中,发现相关技术存在以下问题:根据上述方法进行数据存储的过程中,没有考虑物理块本身的物理性能,即便每个物理块的使用次数相同,但物理块之间的响应时间也会存在不一致的情况,从而不同的物理块会有不同的健康程度。如果经常更新的数据存放在健康程度差的物理块中,将延长该数据更新的时间,使数据读/写速度缓慢,总体上延长了存储器的平均响应时间,降低了存储器的性能。
【发明内容】
本发明要解决的技术问题是提供基于闪存的数据存储方法、装置以及闪存芯片,解决存储器平均响应时间慢、存储器性能低的问题。
本发明实施例的一个方面,提供一种基于闪存的数据存储方法,所述闪存包含多个物理块,所述方法包括:获取各空闲的所述物理块的健康状态;确定待存储数据的热度等级;根据所述待存储数据的热度等级,以及所述物理块的健康状态,将所述待存储数据存储至对应的物理块中。
可选地,所述物理块的健康状态具体是根据所述物理块最近一次被访问时的R/B信号等待时长来确定的。
可选地,所述物理块最近一次被访问包括:读操作或者写操作。
可选地,所述确定待存储数据的热度等级包括:根据数据在缓存中的访问频率的高低确定所述待存储数据的热度等级。
可选地,所述确定各空闲的所述物理块的健康状态之前,所述方法还包括:接收待存储数据对应的数据存储请求,所述数据存储请求包含至少一个逻辑号;根据所述数据存储请求,搜寻空闲的物理块;
所述根据所述待存储数据的热度等级,以及所述物理块的健康状态,将所述待存储数据存储至对应的物理块中之后,所述方法还包括:
将所述待存储数据所存储的物理块,以及所述待存储数据对应的数据存储请求所包含的逻辑号,建立映射。
本发明实施例的另一方面,提供一种基于闪存的数据存储装置,所述闪存包含多个物理块,所述装置包括:获取模块,用于获取各空闲的所述物理块的健康状态;确定模块,用于确定待存储数据的热度等级;存储模块,用于根据所述待存储数据的热度等级,以及所述物理块的健康状态,将所述待存储数据存储至对应的物理块中。
可选地,所述物理块的健康状态具体是根据所述物理块最近一次被访问时的R/B信号等待时长来确定的。
可选地,所述物理块最近一次被访问包括:读操作或者写操作。
可选地,所述确定模块具体用于:根据数据在缓存中的访问频率的高低确定所述待存储数据的热度等级。
可选地,所述装置还包括:接收模块,用于接收待存储数据对应的数据存储请求,所述数据存储请求包含至少一个逻辑号;搜寻模块,用于根据所述数据存储请求,搜寻空闲的物理块;建立模块,用于将所述待存储数据所存储的物理块,以及所述待存储数据对应的数据存储请求所包含的逻辑号,建立映射。
本发明实施例的又一方面,提供一种闪存芯片,所述闪存芯片包括:控制器;以及与所述控制器通信连接的存储器;其中,所述存储器存储有可被所述控制器执行的指令,所述指令被所述控制器执行,以使所述控制器能够执行如上所述的方法。
在本发明实施例中,通过获取空闲物理块的健康状态和待存储数据的热度等级,然后根据待存储数据的热度等级,以及物理块的健康状态来存储所述待存储数据。该实施方式能够将经常更新的数据(即热数据)存储至健康状态好的物理块中,将不经常更新的数据(即冷数据)存储至健康状态差的物理块中。一方面,使数据的读/写速度变快,缩短了存储器的平均响应时间,另一方面,避免了大量坏块的产生,提高了存储器的性能。
【附图说明】
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明本发明实施例提供的一种闪存设备的内部结构示意图;
图2是本发明实施例提供的一种基于闪存的数据存储方法的流程示意图;
图3是本发明实施例提供的一种基于闪存的数据存储方法中确定物理块的健康状态的方法的流程示意图;
图4是本发明另一实施例提供的一种基于闪存的数据存储方法的流程示意图;
图5是本发明实施例提供的一种基于闪存的数据存储装置的结构示意图;
图6是本发明另一实施例提供的一种基于闪存的数据存储装置的结构示意图;
图7是本发明实施例提供的一种闪存芯片的结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
目前,闪存设备主要由闪存介质和闪存控制器两部分构成,如图1所示,图1是本发明实施例提供的一种闪存设备的内部结构示意图。
闪存操作以页(page)为读写单元,以物理块(block)为擦除单元,设备内部的介质访问提供了通道、颗粒封装、颗粒闪存片等多个级别的并行。设备内部以多通道方式组织闪存颗粒封装,每个通道上可连接多个颗粒封装,多颗粒封装之间共享传输通道,但可独立执行指令。每个颗粒封装内部包含两个或多个颗粒,每个颗粒可被独立选中执行指令。颗粒内部可分为多个片,每个片含有一个页大小的寄存器缓存,用于暂存读写数据。
闪存控制器主要负责地址映射、垃圾回收和磨损均衡。闪存通过异地更新的方式缓解闪存单元写前擦除的延迟,由于闪存单元的擦除次数有限,闪存控制器通过磨损均衡算法来平衡设备内部物理块之间的擦除次数,同时垃圾回收算法尽量选择擦除效率高的物理块回收以控制写放大。
可以理解的是,上述闪存设备的闪存控制器能够将数据更新请求均匀地下发至各个物理块,以均衡各个物理块的使用频率,从而延长存储器的使用寿命。然而,在数据存储过程中,忽略了物理块本身的实际物理性能,即便每个物理块的访问次数相同,但其剩余的使用寿命也可能是不同的,同理其各自的响应时间也不同。如果一些频繁被访问的数据(这类数据被称为热数据)被分配到健康状态差的物理块中,致使数据的访问速度缓慢,延长了存储器的平均响应时间。另外,如果将热数据与很少被访问的数据(这类数据称为冷数据)混合存储在相同的存储区域,当闪存设备被触发垃圾回收机制时,将有大量的冷数据页需要被重新写到新的空白块中,这将极大地降低闪存设备的读写访问性能和使用寿命。因此,根据物理块的实际物理性能合理的利用存储介质,将能有效缩短存储器的平均响应时间,提升存储器的读写访问性能和使用寿命。
基于此,请参阅图2,图2是本发明实施例提供的一种基于闪存的数据存储方法的流程示意图。该闪存可具体是U盘(USB存盘,USB flash disk)和SSD等设备,闪存可具体由闪存控制器和闪存介质组成,闪存控制器的功能可具体由控制芯片实现,闪存介质的功能可具体由存储芯片实现,存储芯片为flash芯片,flash类型的芯片可具体为NAND flash芯片等。如图2所述,该方法包括:
S101、获取各空闲的所述物理块的健康状态。
该物理块即闪存介质上的存储数据的物理区域,物理块是数据在磁盘上的存储单位,是上层软件中操作文件时使用的最小操作单元。物理块由扇区组成,从硬件设备上读取一个物理块,实际是从硬件设备读取一个或多个扇区。物理块对应逻辑块,逻辑块与文件相对应。在本实施例中,预先确定每一物理块的健康状态,当有数据存储请求时,获取空闲物理块的健康状态。
物理块的健康状态一定程度上能够反映执行本方法的闪存设备的使用寿命的长短,以及闪存设备读数据/写数据时的工作性能。
其中,如图3所示,确定物理块的健康状态的具体过程包括:
S11、获取所述物理块的历史访问次数;
S12、当所述历史访问次数为大于或者等于预设次数时,获取所述物理块最近一次被访问时的R/B信号等待时长;
S13、根据所述R/B信号等待时长确定所述物理块的健康状态。
在本实施例中,每个物理块都有相应的区域记录历史访问次数。当历史访问次数大于或者等于预设次数时,检查R/B信号等待时长,根据该时长的长短来判断该物理块的健康状态,当该等待时长比较长时,说明物理块的健康状态比较差,当该等待时长比较短时,说明物理块的健康状态比较好。当物理块的历史访问次数较少,则说明该物理块比较新,其R/B信号等待时长之间的区别比较小,可以直接使用第一次访问该物理块时的R/B信号等待时长,以减少计算步骤。
其中,该R/B信号即表示“就绪/忙”,R/B的输出能够显示闪存芯片的状态,R/B处于低电平时,表示有编程、擦除或随机读操作正在进行,操作完成后,R/B会自动返回高电平。通过R/B信号可以判断编程、擦除或随机读操作是否完成,如果是“忙”,表示编程、擦除或随机读操作正在进行中,如果是“就绪”,表示操作完成。
其中,检查R/B信号等待时长,即检查物理块最近一次被访问时的R/B信号等待时长。
其中,最近一次的R/B信号等待时长包括:所述物理块被写入数据时的最近一次的R/B信号等待时长;或者,所述物理块被读取数据时的最近一次的R/B信号等待时长。也即是说,当该物理块最近一次的操作是读取数据,则检查读取数据过程中的R/B信号等待时长,当该物理块最近一次的操作是写入数据,则检查写入数据过程中的R/B信号等待时长。
其中,根据R/B信号等待时长确定物理块的健康状态,由于R/B信号等待时长越长,表示操作时间更长,随着闪存芯片写操作次数的增加,R/B信号等待时长就会增加,因此,物理块的健康状态就会变差。相反地,R/B信号等待时长越短,物理块的健康状态就会越好。
在本实施例中,可以结合一些数据(比如总容量、文件系统所占用的存储空间、系统开销占用的存储空间以及用户习惯等),根据获取的R/B信号等待时长,确定物理块的具体健康状态,并记录该R/B信号等待时长与物理块的具体健康状态的对应关系。例如,R/B信号等待时长为10个CPU时钟周期,其对应的物理块的健康状态为第一级别,R/B信号等待时长为7个CPU时钟周期,其对应的物理块的健康状态为第二级别,R/B信号等待时长为4个CPU时钟周期,其对应的物理块的健康状态为第三级别,等。其中,第一级别表示物理块的R/B信号等待时长大于物理块的初始R/B信号等待时长并且多余的时长在第一预设范围内,第二级别表示物理块的R/B信号等待时长大于物理块的初始R/B信号等待时长并且多余的时长在第二预设范围内,第三级别表示物理块的R/B信号等待时长大于物理块的初始R/B信号等待时长并且多余的时长在第三预设范围内。其中,第一预设范围的时长大于第二预设范围的时长,第二预设范围的时长大于第三预设范围的时长。
需要说明的是,由于是获取所述物理块最近一次被访问时的R/B信号等待时长,并用最近一次的R/B信号等待时长来判断物理块的健康状态,因此,该物理块的健康状态的确定结果是一个动态更新的过程,根据物理块的使用次数以及最近一次的R/B信号等待时长,动态的更新其健康状态。
S102、确定待存储数据的热度等级。
在本实施例中,可以根据数据在缓存中的访问频率的高低来确定待存储数据的热度等级,具体地,将在缓存中访问频率大于预设第一阈值的数据划分为热数据,将在缓存中访问频率小于预设第二阈值的数据划分为冷数据。其中,预设第一阈值大于预设第二阈值,并且预设第一阈值和预设第二阈值的大小可以根据经验值来确定,也可以通过多次实验后求取的平均值来确定。而在缓存中访问频率小于等于预设第一阈值,并且大于等于预设第二阈值的数据被划分为常规数据。在这里,进一步判断常规数据中哪些是热数据,哪些是冷数据。可以基于已划分出的热数据和冷数据,以及常规数据,分别进行特征提取,基于提取的数据特征,通过传统的聚类算法对数据进行相似性度量,从而将常规数据中的数据划分为热数据或者冷数据。
还可以基于最近最少使用(Least Recently Used,LRU)算法来确定待存储数据是热数据或者冷数据。LRU算法是内存页面置换算法中的一种,它是为虚拟页式存储管理服务的。LRU算法的提出基于著名的局部性原理:如果一个数据正在被访问,那么近期很可能再次被访问。因此,LRU算法的思想是,一个最近访问过的页面很可能再次被访问,所以当需要淘汰内存中某个页面时,先淘汰当前一段时间内最久未使用的页面。数据访问时间的局部性原理同样适用于热数据识别。一般的,如果一个数据最近一段时间内多次被访问,那么该数据可以判定为热数据。因此,可以通过LRU算法来识别热数据和冷数据。进一步地,以LRU为基础,还可以通过两级LRU算法或者LRU-K算法等其他算法来判断热数据和冷数据。
其中,两级LRU算法是维持两个固定长度的队列,一个队列用于存放访问次数较多的数据块,另一个队列用于存放访问频率相对较少的数据块,两个队列中的记录采用LRU算法进行淘汰。LRU-K算法是根据每个页面最近被访问的时间进行排序,离现在最晚的页面被淘汰,其根据使用频率近似表示概率的方式来预测未来的热点页面,优先淘汰非热点页面。
需要说明的是,本发明实施例还可以通过其他方法来确定待存储数据的热度等级,在此不做限定。
S103、根据所述待存储数据的热度等级,以及所述物理块的健康状态,将所述待存储数据存储至对应的物理块中。
在本实施例中,确定待存储数据为热数据或者冷数据,以及空闲物理块的健康状态之后,将热数据写入健康状态好的空闲物理块中,将冷数据写入健康状态差的空闲物理块中。
在一些实施例中,待存储数据明确划分为热数据和冷数据后,还可以进一步划分热数据的热度等级,以及冷数据的冷度等级。例如,将热数据划分为第一热度数据、第二热度数据以及第三热度数据,其中,第一热度数据被访问的频率高于第二热度数据,第二热度数据被访问的频率高于第三热度数据,此时,热数据在物理块中的存储方式为,第一热度数据存储在健康状态最好的物理块中,第二热度数据存储在健康状态良好的物理块中,第三热度数据存储在健康较好的物理块中。同理,冷数据也可以根据其划分的冷度等级对应不同健康状态的物理块。
需要说明的是,由于本实施例根据读数据时的R/B信号等待时间或者写数据时的R/B信号等待时间来动态的更新物理块的健康状态,因此,热数据和冷数据所存储的物理块并不是固定不变的,当热数据当前存储的物理块的健康状态不能匹配其热度等级时,调整该热数据所存储的物理块。
本发明实施例提供了一种基于闪存的数据存储方法,该方法通过获取空闲物理块的健康状态和待存储数据的热度等级,然后根据待存储数据的热度等级,以及物理块的健康状态来存储所述待存储数据。该实施方式能够将经常更新的数据(即热数据)存储至健康状态好的物理块中,将不经常更新的数据(即冷数据)存储至健康状态差的物理块中。一方面,使数据的读/写速度变快,缩短了存储器的平均响应时间,另一方面,避免了大量坏块的产生,提高了存储器的性能。
请参阅图4,图4是本发明另一实施例提供的一种基于闪存的数据存储方法的流程示意图。如图4所示,该方法包括:
S201、接收待存储数据对应的数据存储请求,所述数据存储请求包含至少一个逻辑号;
S202、根据所述数据存储请求,搜寻空闲的物理块;
S203、获取各空闲的所述物理块的健康状态;
S204、确定待存储数据的热度等级;
S205、根据所述待存储数据的热度等级,以及所述物理块的健康状态,将所述待存储数据存储至对应的物理块中;
S206、将所述待存储数据所存储的物理块,以及所述待存储数据对应的数据存储请求所包含的逻辑号,建立映射。
本实施例与上述实施例的主要区别在于,在根据待存储数据的热度等级,以及物理块的健康状态完成数据存储之后,还根据该存储结果,建立物理块与待存储数据的逻辑号之间的映射。该映射可以用于,当有读数据请求时,可以根据读数据请求携带的逻辑号,并结合物理块与逻辑号之间的映射关系,找到该逻辑号所对应的物理块,然后读取该物理块中的数据。
需要说明的是,在上述读取数据过程中,也可以根据读数据过程中的R/B信号等待时长来更新物理块的健康状态,当物理块健康状态更新,并且数据存储的位置变化了,相应地,对所述映射表进行更新。
其中,所述逻辑号即逻辑块对应的编号。具体文件系统管理的是一个逻辑空间,该逻辑空间即类似于一个大的数组,数组中每个元素就是文件系统操作的基本单位,也即是逻辑块,一般逻辑块从0开始编号,而且,逻辑块是连续的,与逻辑块对应的即物理块。
本发明实施例提供了一种基于闪存的数据存储方法,该方法通过获取空闲物理块的健康状态和待存储数据的热度等级,然后根据待存储数据的热度等级,以及物理块的健康状态来存储所述待存储数据,并且根据存储结果建立相应的映射。该实施方式在读数据时能够根据映射关系来获取相应的数据,由于数据存储时结合了数据本身被访问的频率以及存储数据的物理块的健康状态,从而使数据读取的速度更快,整体上提高了闪存设备的性能。
请参阅图5,图5是本发明实施例提供的一种基于闪存的数据存储装置的结构示意图。如图5所示,该装置30包括:获取模块33、确定模块34以及存储模块35。
其中,获取模块33,用于获取各空闲的所述物理块的健康状态;确定模块34,用于确定待存储数据的热度等级;存储模块35,用于根据所述待存储数据的热度等级,以及所述物理块的健康状态,将所述待存储数据存储至对应的物理块中。
在本实施例中,获取模块33和确定模块34分别连接存储模块,获取模块33将获取的各空闲物理块的健康状态发送至存储模块35,确定模块34将确定的待存储数据的热度等级发送至存储模块35,存储模块35根据物理块的健康状态和待存储数据的热度等级来存储待存储数据。
其中,所述物理块的健康状态具体是根据所述物理块最近一次被访问时的R/B信号等待时长来确定的。
其中,所述物理块最近一次被访问包括:读操作或者写操作。
其中,所述确定模块34具体用于:根据数据在缓存中的访问频率的高低确定所述待存储数据的热度等级。
在一些实施例中,请参阅图6,图6与图5的主要区别在于,所述装置30还包括:接收模块31、搜寻模块32以及建立模块36。
其中,接收模块31,用于接收待存储数据对应的数据存储请求,所述数据存储请求包含至少一个逻辑号;搜寻模块32,用于根据所述数据存储请求,搜寻空闲的物理块;建立模块36,用于将所述待存储数据所存储的物理块,以及所述待存储数据对应的数据存储请求所包含的逻辑号,建立映射。
需要说明的是,本发明实施例中的基于闪存的数据存储装置中的各个模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容同样适用于基于闪存的数据存储装置。本发明实施例中的各个模块能作为单独的硬件或软件来实现,并且可以根据需要使用单独的硬件或软件来实现各个单元的功能的组合。
本发明实施例提供了一种基于闪存的数据存储装置,该装置通过获取空闲物理块的健康状态和待存储数据的热度等级,然后根据待存储数据的热度等级,以及物理块的健康状态来存储所述待存储数据,并且根据存储结果建立相应的映射表。该实施方式能够根据物理块的健康状态将热数据和冷数据区分存储,使得数据的读/写速度变快,缩短了存储器的平均响应时间,并且该实施方式在读数据时能够根据映射关系来获取相应的数据,由于数据存储时结合了数据本身被访问的频率以及存储数据的物理块的健康状态,从而使数据读取的速度更快,提高了存储器的性能。
请参阅图7,图7是本发明实施例提供的一种闪存芯片的结构示意图。如图7所示,该闪存芯片40包括:控制器41和存储器42,控制器41和存储器42之间电性连接。
存储器42作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于闪存的数据存储方法对应的程序指令/模块(例如,附图5所示的获取模块33、确定模块34以及存储模块35)。控制器41通过运行存储在存储器42中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例基于闪存的数据存储方法。
存储器42可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于闪存的数据存储装置的使用所创建的数据等。
所述一个或者多个模块存储在所述存储器42中,当被所述一个或者多个控制器41执行时,执行上述任意方法实施例中基于闪存的数据存储方法,例如,执行以上描述的图2中的方法步骤S101至步骤S103,图3中的方法步骤S11至步骤S13,图4中的方法步骤S201至步骤S206,图5中的模块33-35,图6中的模块31-36的功能。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被电子设备执行上述任意方法实施例中基于闪存的数据存储方法,例如,执行以上描述的图2中的方法步骤S101至步骤S103,图3中的方法步骤S11至步骤S13,图4中的方法步骤S201至步骤S206,图5中的模块33-35,图6中的模块31-36的功能。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中基于闪存的数据存储方法,例如,执行以上描述的图2中的方法步骤S101至步骤S103,图3中的方法步骤S11至步骤S13,图4中的方法步骤S201至步骤S206,图5中的模块33-35,图6中的模块31-36的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (11)

1.一种基于闪存的数据存储方法,所述闪存包含多个物理块,其特征在于,所述方法包括:
获取各空闲的所述物理块的健康状态;
确定待存储数据的热度等级;
根据所述待存储数据的热度等级,以及所述物理块的健康状态,将所述待存储数据存储至对应的物理块中。
2.根据权利要求1所述的方法,其特征在于,所述物理块的健康状态具体是根据所述物理块最近一次被访问时的R/B信号等待时长来确定的。
3.根据权利要求2所述的方法,其特征在于,所述物理块最近一次被访问包括:读操作或者写操作。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述确定待存储数据的热度等级包括:
根据数据在缓存中的访问频率的高低确定所述待存储数据的热度等级。
5.根据权利要求1所述的方法,其特征在于,
所述获取各空闲的所述物理块的健康状态之前,所述方法还包括:
接收待存储数据对应的数据存储请求,所述数据存储请求包含至少一个逻辑号;
根据所述数据存储请求,搜寻空闲的物理块;
所述根据所述待存储数据的热度等级,以及所述物理块的健康状态,将所述待存储数据存储至对应的物理块中之后,所述方法还包括:
将所述待存储数据所存储的物理块,以及所述待存储数据对应的数据存储请求所包含的逻辑号,建立映射。
6.一种基于闪存的数据存储装置,所述闪存包含多个物理块,其特征在于,所述装置包括:
获取模块,用于获取各空闲的所述物理块的健康状态;
确定模块,用于确定待存储数据的热度等级;
存储模块,用于根据所述待存储数据的热度等级,以及所述物理块的健康状态,将所述待存储数据存储至对应的物理块中。
7.根据权利要求6所述的装置,其特征在于,所述物理块的健康状态具体是根据所述物理块最近一次被访问时的R/B信号等待时长来确定的。
8.根据权利要求7所述的装置,其特征在于,所述物理块最近一次被访问包括:读操作或者写操作。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述确定模块具体用于:
根据数据在缓存中的访问频率的高低确定所述待存储数据的热度等级。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收待存储数据对应的数据存储请求,所述数据存储请求包含至少一个逻辑号;
搜寻模块,用于根据所述数据存储请求,搜寻空闲的物理块;
建立模块,用于将所述待存储数据所存储的物理块,以及所述待存储数据对应的数据存储请求所包含的逻辑号,建立映射。
11.一种闪存芯片,其特征在于,包括:控制器;以及与所述控制器通信连接的存储器;其中,所述存储器存储有可被所述控制器执行的指令,所述指令被所述控制器执行,以使所述控制器能够执行权利要求1至5任一项所述的方法。
CN201710372214.5A 2017-05-23 2017-05-23 基于闪存的数据存储方法、装置以及闪存芯片 Pending CN107220185A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710372214.5A CN107220185A (zh) 2017-05-23 2017-05-23 基于闪存的数据存储方法、装置以及闪存芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710372214.5A CN107220185A (zh) 2017-05-23 2017-05-23 基于闪存的数据存储方法、装置以及闪存芯片

Publications (1)

Publication Number Publication Date
CN107220185A true CN107220185A (zh) 2017-09-29

Family

ID=59945428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710372214.5A Pending CN107220185A (zh) 2017-05-23 2017-05-23 基于闪存的数据存储方法、装置以及闪存芯片

Country Status (1)

Country Link
CN (1) CN107220185A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196795A (zh) * 2017-12-30 2018-06-22 惠龙易通国际物流股份有限公司 一种数据存储方法、设备及计算机存储介质
CN109656483A (zh) * 2018-12-19 2019-04-19 中国人民解放军国防科技大学 一种固态盘静态磨损均衡方法及装置
CN109947353A (zh) * 2017-12-20 2019-06-28 浙江宇视科技有限公司 存储管理方法、固态硬盘及可读存储介质
CN110174852A (zh) * 2018-02-19 2019-08-27 韩华航空航天公司 存储信号值的控制系统
CN111026673A (zh) * 2019-11-19 2020-04-17 中国航空工业集团公司西安航空计算技术研究所 一种nand flash垃圾回收动态优化方法
CN111324303A (zh) * 2020-01-21 2020-06-23 深圳忆联信息系统有限公司 Ssd垃圾回收方法、装置、计算机设备及存储介质
CN111459845A (zh) * 2019-01-22 2020-07-28 爱思开海力士有限公司 存储装置、包括存储装置的计算系统及其操作方法
CN112612416A (zh) * 2020-12-24 2021-04-06 杭州华澜微电子股份有限公司 一种数据存储方法、装置及电子设备
WO2021139166A1 (zh) * 2020-01-07 2021-07-15 苏州大学 基于三维闪存存储结构的错误页识别方法
CN113297003A (zh) * 2020-02-24 2021-08-24 伊姆西Ip控股有限责任公司 管理备份数据的方法、电子设备和计算机程序产品
CN114281251A (zh) * 2021-12-10 2022-04-05 重庆邮电大学 面向3d tlc闪存存储器的数据分配与重编程优化方法
CN114442946A (zh) * 2022-01-06 2022-05-06 联芸科技(杭州)有限公司 物理块管理方法和固态硬盘
CN116974467A (zh) * 2023-06-20 2023-10-31 杭州拓数派科技发展有限公司 数据缓存处理方法、装置和系统
CN117742614A (zh) * 2023-12-29 2024-03-22 深圳市安信达存储技术有限公司 一种芯片内部闪存组合riad阵列方法
CN118259839A (zh) * 2024-05-30 2024-06-28 山东云海国创云计算装备产业创新中心有限公司 一种固态盘空间分配方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163165A (zh) * 2011-05-26 2011-08-24 忆正储存技术(武汉)有限公司 一种闪存错误预估模块及其预估方法
CN102902628A (zh) * 2012-09-18 2013-01-30 记忆科技(深圳)有限公司 一种基于闪存实现的冷热数据自动分离方法、系统及闪存
CN103092764A (zh) * 2011-10-31 2013-05-08 苹果公司 用于获得和使用非易失性存储器健康信息的系统和方法
CN103250143A (zh) * 2012-12-28 2013-08-14 华为技术有限公司 数据存储方法和存储设备
CN104731523A (zh) * 2013-12-24 2015-06-24 国际商业机器公司 非易失性分级存储系统中的协同管理的方法及其控制器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163165A (zh) * 2011-05-26 2011-08-24 忆正储存技术(武汉)有限公司 一种闪存错误预估模块及其预估方法
CN103092764A (zh) * 2011-10-31 2013-05-08 苹果公司 用于获得和使用非易失性存储器健康信息的系统和方法
CN102902628A (zh) * 2012-09-18 2013-01-30 记忆科技(深圳)有限公司 一种基于闪存实现的冷热数据自动分离方法、系统及闪存
CN103250143A (zh) * 2012-12-28 2013-08-14 华为技术有限公司 数据存储方法和存储设备
CN104731523A (zh) * 2013-12-24 2015-06-24 国际商业机器公司 非易失性分级存储系统中的协同管理的方法及其控制器

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947353A (zh) * 2017-12-20 2019-06-28 浙江宇视科技有限公司 存储管理方法、固态硬盘及可读存储介质
CN108196795B (zh) * 2017-12-30 2020-09-04 惠龙易通国际物流股份有限公司 一种数据存储方法、设备及计算机存储介质
CN108196795A (zh) * 2017-12-30 2018-06-22 惠龙易通国际物流股份有限公司 一种数据存储方法、设备及计算机存储介质
CN110174852A (zh) * 2018-02-19 2019-08-27 韩华航空航天公司 存储信号值的控制系统
CN109656483B (zh) * 2018-12-19 2022-02-15 中国人民解放军国防科技大学 一种固态盘静态磨损均衡方法及装置
CN109656483A (zh) * 2018-12-19 2019-04-19 中国人民解放军国防科技大学 一种固态盘静态磨损均衡方法及装置
CN111459845A (zh) * 2019-01-22 2020-07-28 爱思开海力士有限公司 存储装置、包括存储装置的计算系统及其操作方法
CN111026673A (zh) * 2019-11-19 2020-04-17 中国航空工业集团公司西安航空计算技术研究所 一种nand flash垃圾回收动态优化方法
CN111026673B (zh) * 2019-11-19 2023-05-05 中国航空工业集团公司西安航空计算技术研究所 一种nand flash垃圾回收动态优化方法
WO2021139166A1 (zh) * 2020-01-07 2021-07-15 苏州大学 基于三维闪存存储结构的错误页识别方法
CN111324303A (zh) * 2020-01-21 2020-06-23 深圳忆联信息系统有限公司 Ssd垃圾回收方法、装置、计算机设备及存储介质
CN113297003A (zh) * 2020-02-24 2021-08-24 伊姆西Ip控股有限责任公司 管理备份数据的方法、电子设备和计算机程序产品
CN112612416A (zh) * 2020-12-24 2021-04-06 杭州华澜微电子股份有限公司 一种数据存储方法、装置及电子设备
CN114281251A (zh) * 2021-12-10 2022-04-05 重庆邮电大学 面向3d tlc闪存存储器的数据分配与重编程优化方法
CN114281251B (zh) * 2021-12-10 2023-08-11 重庆邮电大学 面向3d tlc闪存存储器的数据分配与重编程优化方法
CN114442946A (zh) * 2022-01-06 2022-05-06 联芸科技(杭州)有限公司 物理块管理方法和固态硬盘
CN116974467A (zh) * 2023-06-20 2023-10-31 杭州拓数派科技发展有限公司 数据缓存处理方法、装置和系统
CN117742614A (zh) * 2023-12-29 2024-03-22 深圳市安信达存储技术有限公司 一种芯片内部闪存组合riad阵列方法
CN117742614B (zh) * 2023-12-29 2024-06-18 深圳市安信达存储技术有限公司 一种芯片内部闪存组合riad阵列方法
CN118259839A (zh) * 2024-05-30 2024-06-28 山东云海国创云计算装备产业创新中心有限公司 一种固态盘空间分配方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107220185A (zh) 基于闪存的数据存储方法、装置以及闪存芯片
US10761780B2 (en) Memory system
EP3673377B1 (en) Logical to physical mapping
US9367451B2 (en) Storage device management device and method for managing storage device
US20180089074A1 (en) Techniques to Manage Key-Value Storage at a Memory or Storage Device
EP3511814B1 (en) Storage device storing data in order based on barrier command
US10740251B2 (en) Hybrid drive translation layer
US20110225347A1 (en) Logical block storage in a storage device
US11042305B2 (en) Memory system and method for controlling nonvolatile memory
CN105339910B (zh) 在混合驱动器中的虚拟nand容量扩展
JP6139381B2 (ja) メモリシステムおよび方法
CN110968269A (zh) 基于scm与ssd的键值存储系统及读写请求处理方法
CN108829346A (zh) 一种适应闪存页差异的固态硬盘的用户写请求处理方法
CN112463647A (zh) 使用散列来减小前向映射表的大小
CN106557428A (zh) 数据存储设备的映射系统选择
CN105917303A (zh) 一种控制器、识别数据块稳定性的方法和存储系统
CN104298615B (zh) 一种存储器交换分区损耗的均衡方法
CN112148226A (zh) 一种数据存储方法及相关装置
CN107203341A (zh) 基于闪存的数据存储方法、装置以及闪存芯片
CN109840218A (zh) 有效数据管理方法以及存储控制器
WO2019182931A1 (en) Hybrid memory system
CN109783019A (zh) 一种数据智能存储管理方法与装置
CN110968527B (zh) Ftl提供的缓存
CN115079957B (zh) 请求处理方法、装置、控制器、设备及存储介质
CN112559384B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191223

Address after: 518000 District 652, district a, huameiju business center, Xinhu Road, Haiyu community, Xin'an street, Bao'an District, Shenzhen City, Guangdong Province

Applicant after: Jian Rong semiconductor (Shenzhen) Co., Ltd.

Address before: 518000 Guangdong city of Shenzhen province Nanshan District Gao Xin Road No. 013 Fu technology building B block 5 layer 505

Applicant before: Jian Rong semiconductor (Shenzhen) Co., Ltd.

Applicant before: Jianrong Integrated Circuit Technology (Zhuhai) Co., Ltd.

Applicant before: ZHUHAI HUANGRONG INTEGRATED CIRCUIT TECHNOLOGY CO., LTD.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170929