CN103942151A - 闪存的数据存储方法及装置 - Google Patents

闪存的数据存储方法及装置 Download PDF

Info

Publication number
CN103942151A
CN103942151A CN201410142928.3A CN201410142928A CN103942151A CN 103942151 A CN103942151 A CN 103942151A CN 201410142928 A CN201410142928 A CN 201410142928A CN 103942151 A CN103942151 A CN 103942151A
Authority
CN
China
Prior art keywords
data
physical block
cell pattern
block
mode
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
CN201410142928.3A
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.)
SHENZHEN SILICONGO SEMICONDUCTOR CO Ltd
Original Assignee
SHENZHEN SILICONGO SEMICONDUCTOR CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN SILICONGO SEMICONDUCTOR CO Ltd filed Critical SHENZHEN SILICONGO SEMICONDUCTOR CO Ltd
Priority to CN201410142928.3A priority Critical patent/CN103942151A/zh
Publication of CN103942151A publication Critical patent/CN103942151A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)

Abstract

本发明公开了一种闪存的数据存储方法及装置。本发明实施例将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式默认优先使用为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。本发明实施例提高了闪存的读写性能。

Description

闪存的数据存储方法及装置
技术领域
本发明涉及数据存储领域,尤其涉及闪存的数据存储方法及装置。
背景技术
闪存的物理块存在两种模式,分别是单层单元模式(SLC,Single-Levelcell)和多层单元模式(MLC,Multi-Level cell),所述多层单元模式还包括三层单元模式(TLC,Triple-Level cell),SLC物理块传输速度快、寿命长、性能稳定,MLC物理块传输速度较慢、寿命低、存储密度大。
通常将闪存的物理块划分成算法区和数据区,且算法区中物理块的工作模式通常被设为单层单元模式,而数据区中物理块的工作模式通常被设为多层单元模式,且闪存中工作模式为单层单元模式的物理块的数量一定,为了使闪存具有更大的数据存储容量,通常工作模式为单层单元模式的物理块的数量较少,因此闪存的读写性能不高。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供闪存的数据存储方法及装置,旨在提高闪存的读写性能。
为实现上述目的,本发明提供的闪存的数据存储方法,包括以下步骤:
将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;
将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;
将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。
优选地,所述将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储的步骤包括:
配置所述第一类分区的数据存储容量;
利用所述第一数据块队列进行重要数据的写入和存储。
优选地,所述将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储的步骤包括:
实时检测所述第二类分区中工作模式为多层单元模式的物理块的安全等级值是否达到预设等级值;
在所述安全等级值没有达到预设等级值时,将所述工作模式为多层单元模式的物理块的工作模式从多层单元模式转换为单层单元模式;
将转换得到的所述工作模式为单层单元模式的物理块插入所述第一交换块队列中继续使用。
优选地,所述将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储的步骤包括:
在所述第二数据块队列中工作模式为单层单元模式的物理块的数据存储量达到第一存储阈值时,将第一预设数量的物理块的工作模式由单层单元模式转换为多层单元模式,且对第二预设数量的工作模式为单层单元模式的物理块进行空块回收;
在所述第二数据块队列中工作模式为多层单元模式的物理块的数据存储量达到第二存储阈值时,对第三预设数量的工作模式为多层单元模式的物理块进行空块回收,并对进行完空块回收的多层单元模式的物理块由多层单元模式转换为单层单元模式。
优选地,所述将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储的步骤还包括:
在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量;
在所述第二交换块队列中所有物理块的数量低于第四预设数量时,对所述第二数据块队列中有数据存储的物理块进行空块回收。
本发明进一步提供的闪存的数据存储装置,所述装置包括:
分区模块,用于将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;
第一分配模块,用于将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;
第二分配模块,用于将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。
优选地,所述第一分配模块包括:
配置单元,用于配置所述第一类分区的数据存储容量;
分配单元,用于利用所述第一数据块队列中的物理块进行重要数据的写入和存储。
优选地,所述第二分配模块还包括:
检测单元,用于实时检测所述第二类分区中工作模式为多层单元模式的物理块的安全等级值是否达到预设等级值;
转换单元,用于在所述安全等级值没有达到预设等级值时,将所述工作模式为多层单元模式的物理块的工作模式从多层单元模式转换为单层单元模式;
插入单元,用于将转换得到的所述工作模式为单层单元模式的物理块插入所述第一交换块队列中继续使用。
优选地,所述第二分配模块包括:
第一空块回收单元,用于在所述第二数据块队列中工作模式为单层单元模式的物理块的数据存储量达到第一存储阈值时,将第一预设数量的物理块的工作模式由单层单元模式转换为多层单元模式,且对第二预设数量的工作模式为单层单元模式的物理块进行空块回收;
第二空块回收单元,用于在所述第二数据块队列中工作模式为多层单元模式的物理块的数据存储量达到第二存储阈值时,对第三预设数量的工作模式为多层单元模式的物理块进行空块回收,并对进行完空块回收的多层单元模式的物理块由多层单元模式转换为单层单元模式。
优选地,所述第二分配模块包括:
判断单元,用于在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量;
第三空块回收单元,用于在所述第二数据块队列中没有任何数据存储的物理块的数量低于第四预设数量时,则对所述第二数据块队列中有数据存储的物理块进行空块回收。
本发明实施例将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。相较于现有技术,本发明实施例将闪存中的物理块分为多个分区且分别控制,相当于将闪存分成多个较小容量的闪存,闪存在读写数据时,就像是从一个闪存组中读写数据,因此读写性能更好;另一方面,将第二类分区中物理块的工作模式均设置为单层单元模式,使得闪存中工作模式为单层单元模式的物理块增多,闪存在执行读写任务时速度增快、稳定性提高;因此,本发明实施例提高了闪存的读写性能。
附图说明
图1为本发明闪存的数据存储方法第一实施例的流程示意图;
图2为本发明闪存的数据存储方法第二实施例的流程示意图;
图3为本发明闪存的数据存储方法第三实施例的流程示意图;
图4为本发明闪存的数据存储装置第一实施例的功能模块示意图;
图5为本发明闪存的数据存储装置第二实施例的功能模块示意图;
图6为图5闪存的数据存储装置中第二分配模块的功能单元示意图;
图7为本发明闪存的数据存储装置第三实施例的功能模块示意图;
图8为图7闪存的数据存储装置中第二分配模块的功能单元示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种闪存的数据存储方法,参照图1,为该方法的第一实施例,该方法包括以下步骤:
步骤S11,将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;
闪存的存储空间是由物理块组成的,物理块存在两种模式,分别是SLC和MLC,所述MLC还包括TLC,需要注意的是,本发明实施例中所述的MLC均包括TLC。装置首先获取所述闪存中所有物理块的工作模式信息,通常物理块的工作模式信息保存在该物理块的信息表中,在该闪存已经分区的情况下,其物理块的工作模式信息也可保存在其区信息表中,或者一些闪存还单独建立了物理块的工作模式信息表用来保存所有物理块的工作模式信息,装置可通过读取这些包含物理块的工作模式信息的任一信息表来获取物理块的工作模式信息。在获取所有物理块的工作模式信息之后,装置根据各物理块的工作模式不同将物理块划分成多个分区,各分区单独控制,就像将闪存转换成一个由多个小容量的闪存组成的闪存组,装置又将所有所述分区分为两类,分别为第一类分区和第二类分区,其中,所述第一类分区中的物理块的工作模式均为SLC,所述第二类分区中的物理块的工作模式为MLC和/或SLC。在一些实施例中,若闪存中工作模式为SLC的物理块数量很少甚至没有的情况下,可以将部分物理块的工作模式从MLC转换为SLC,再将转换得到的工作模式为SLC的物理块划分在所述第一类分区。
相较于现有技术,本实施例中的闪存被划分成多个小容量的闪存,当需要写读写数据时,多个小容量闪存同时进行操作,速度更快。
步骤S12,将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;
装置将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,装置利用所述第一数据块队列中的物理块进行数据的写入和存储,所述第一交换块队列中可以只包括空块即没有任何数据存储的物理块,也可以包括空块和有数据存储的物理块,例如,装置从所述第一数据块队列的物理块或所述第一交换块队列的物理块中选取一个作为操作块对其进行写入操作,当所述操作块被写满之后,将写满的所述操作块插入所述第一数据块队列中,如还有数据需要写入时,继续从所述第一数据块队列的物理块或所述第一交换块队列的物理块中选取物理块作为操作块进行写入操作。
步骤S13,将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。
装置将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,装置利用所述第二数据块队列中的物理块进行数据的写入和存储,所述第二交换块队列中可以只包括空块即没有任何数据存储的物理块,也可以包括空块和有数据存储的物理块,例如,装置从所述第二数据块队列中的SLC物理块或所述第一交换块队列中的SLC物理块中选取一个作为操作块对其进行写入操作,当所述操作块被写满之后,将写满的所述操作块插入所述第二数据块队列中,如还有数据需要写入时,继续从所述第二数据块队列中的SLC物理块或所述第一交换块队列中的SLC物理块中选取物理块作为操作块进行写入操作。装置将所述第二类分区中所有物理块的工作模式均设置为SLC,由于所述第二类分区中均为SLC物理块,在对所述第二类分区进行读写操作时速度非常快且性能稳定。
本实施例将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。相较于现有技术,本发明实施例将闪存中的物理块分为多个分区且分别控制,相当于将闪存分成多个较小容量的闪存,闪存在读写数据时,就像是从一个闪存组中读写数据,因此读写性能更好;另一方面,将第二类分区中物理块的工作模式均设置为单层单元模式,使得闪存中工作模式为单层单元模式的物理块增多,闪存在执行读写任务时速度增快、稳定性提高;因此,本发明实施例提高了闪存的读写性能。
优选地,所述将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区的步骤还包括:将每个分区都设置独立的表格块队列。
装置将每个分区都设置独立的表格块队列,且每个分区的逻辑映射关系是独立的。所述表格块队列中的物理块存储表格数据,所述表格数据包括逻辑映射数据,磨损数据等。现有技术中存储容量很大的闪存也只设有一个表格块队列,由于该闪存的存储容量大,因此其表格块队列中的表格数据也很多,在对表格数据进行读写或者存储时容易出错,本实施例将所述闪存的物理块划分成多个分区,且每个分区均包括独立的表格块队列,由于每个表格块队列中仅存储了其所在的分区的表格数据,所述表格数据不会很多,因此对所述表格数据进行读写或者存储时不容易出错。
如图2所示,为本发明闪存的数据存储方法的第二实施例,本实施例与所述方法的第一实施例的区别是,本实施例在第一实施例的基础上,所述将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储的步骤包括:
步骤S121,配置所述第一类分区的数据存储容量;
步骤S122,利用所述第一数据块队列进行重要数据的写入和存储。
装置可根据装置本身或者用户的需求配置所述第一类分区的数据存储容量,例如,若预期需要在所述第一类分区中存储较多的数据时,给所述第一类分区配置较大的数据存储容量。
装置将所述第一类分区用作写入和存储重要数据,例如文件系统数据,操作系统数据等。对于这些重要数据,通常是对其读写操作最频繁的一些数据,因此其要求存储在读写性能好、稳定性高的存储介质中,所述第一类分区中物理块的工作模式都是SLC,而SLC这类工作模式的特点就是高性能、高稳定性、寿命长。因此,将所述第一类分区可以满足重要数据存储的要求。本实施例配置所述第一类分区的数据存储容量;并利用所述第一数据块队列进行重要数据的写入和存储;一方面使得第一类分区的数据存储容量可根据需求进行配置,另一方面将重要数据单独写入和存储在所述第一数据块队列中,且所述第一数据块队列由读写速度块、寿命长、性能稳定的单层单元模式的物理块组成,因此不仅能够稳定、快速的对重要数据进行读写操作,还能长期稳定的存储重要数据。
在本发明一优选实施例中,所述将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储的步骤包括:
实时检测所述第二类分区中工作模式为多层单元模式的物理块的安全等级值是否达到预设等级值;
在所述安全等级值没有达到预设等级值时,将所述工作模式为多层单元模式的物理块的工作模式从多层单元模式转换为单层单元模式;
将转换得到的所述工作模式为单层单元模式的物理块插入所述第一交换块队列中继续使用。
装置首先获取所述第二类分区中工作模式为MLC的物理块(以下简称MLC物理块)的信息,所述MLC物理块的信息包括剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录等信息,所述MLC物理块的信息可以保存在预设的物理块的信息表或者分区的区信息表中,装置通过读取所述物理块的信息表或者所述分区的区信息表获取所需的信息,当然还可以是装置通过其他任何可以实现的方法完成。
装置基于获取的所述MLC物理块的信息如剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录等信息按照预设规则计算其安全等级值,实时检测得出的安全等级值是否达到预设等级值。其中,计算其安全等级值时,可以将上述剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录作为计算安全等级值的安全参数,并对上述安全参数分别赋予一定的权重值,根据得到上述安全参数及对应的权重值计算其安全等级值;所述预设等级值可以根据装置对所述安全等级值的历史记录数据,由装置本身设定;或者,由装置根据用户侧的技术人员触发的设置指令,接收技术人员设置的上述预设等级值。
经装置检测识别所述MLC物理块安全等级值没有达到预设等级值时,则认为该MLC物理块继续使用已经不安全,即该物理块寿命已尽或者在存储数据时经常发生错误、数据流失等问题,装置将所述MLC物理块的工作模式从MLC转换为SLC。例如,装置检测发现所述MLC物理块安全等级值没有达到预设等级值时,则装置在该物理块中使用1比特用于标记该物理块,如装置将安全等级值没有达到预设等级值的MLC物理块标记为“1”,而将安全等级值达到预设等级值的MLC物理块标记为“0”,待装置将检测得到的所有安全等级值没有达到预设等级值的MLC物理块完成标记后,先将所有标记为“1”的MLC物理块上的有效数据先转存至其他物理块上,然后再将该MLC物理块的工作模式从MLC转换为SLC。装置将已不安全的MLC物理块的工作模式由MLC转换成读写性能稳定、读写速度快、寿命长的SLC继续使用。
装置将转换得到的所述工作模式为SLC的物理块(以下简称SLC物理块)中的有效数据转存至所述第二类分区中其他物理块中,然后对进行完转存的所述SLC物理块进行擦除,将擦除后的所述SLC物理块插入所述第一交换块队列中继续使用。
本实施例实时检测所述第二类分区中工作模式为多层单元模式的物理块的安全等级值是否达到预设等级值;在所述安全等级值没有达到预设等级值时,将所述工作模式为多层单元模式的物理块的工作模式从多层单元模式转换为单层单元模式;将转换得到的所述工作模式为单层单元模式的物理块插入所述第一交换块队列中继续使用。本实施例将所述第二类分区中所述安全等级值没有达到预设等级值的MLC物理块转换为擦写寿命长、读写性能稳定且速度块的SLC物理块插入所述第一交换块队列中继续使用,不仅提高了所述第二类分区存储数据的安全性,还增大了所述第一类分区的数据存储容量,同时提高了所述第一类分区的读写性能,使得所述闪存的读写性能进一步提升。
如图3所示,为本发明闪存的数据存储方法的第三实施例,本实施例与该方法的第一实施例和第二实施例的区别在于,本实施例在第一实施例和第二实施例的基础上,所述将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储的步骤包括:
步骤S131,在所述第二数据块队列中工作模式为单层单元模式的物理块的数据存储量达到第一存储阈值时,将第一预设数量的物理块的工作模式由单层单元模式转换为多层单元模式,且对第二预设数量的工作模式为单层单元模式的物理块进行空块回收;
所述第一存储阈值可以是装置根据所述第一类分区的数据存储的容量的历史数据设置所述第一存储阈值,或者装置基于用户侧用户触发的设置指令设置所述第一存储阈值;所述第一预设数量和所述第二预设数量同样可以是由装置或者用户侧设置,所述第一预设数量和所述第二预设数量可以相同也可以不同。
经过反复的读写操作后,所述第二数据块队列中SLC物理块的数据存储量达到第一存储阈值时,表示所述第二数据块队列中SLC物理块的数据存储量已经接近所述第二数据块队列中SLC物理块的最大数据存储量,再有新的重要数据需要写入所述第二数据块队列中的SLC物理块时,装置将第一预设数量的物理块的工作模式由SLC转换为MLC,且对第二预设数量的SLC物理块进行空块回收。转换得到的所述MLC物理块通常不会再用于数据的写入,而只是用于数据的存储。例如,将所述第二数据块队列中一个SLC物理块的工作模式转换为TLC,对所述第二数据块队列中两个SLC物理块进行空块回收,将这两个SLC物理块上的有效数据转存至所述转换得到的工作模式为TLC的物理块上,然后对进行完转存的两个SLC物理进行擦除,并将擦除完的两个SLC物理块继续用于数据的写入,相当于将三个SLC物理块的数据压缩到一个TLC物理块中,扩大了所述第二数据块队列的存储容量,当然装置也可以将擦除完的两个SLC物理块的工作模式转换为TLC用于数据的存储。
步骤S132,在所述第二数据块队列中工作模式为多层单元模式的物理块的数据存储量达到第二存储阈值时,对第三预设数量的工作模式为多层单元模式的物理块进行空块回收,并对进行完空块回收的多层单元模式的物理块由多层单元模式转换为单层单元模式。
所述第二存储阈值和所述第三预设数量同样可以是装置本身设置的,也可以是装置根据用户侧的技术人员发送的设置指令设置的。
随着所述第二数据块队列中转换得到的MLC物理块的增多且其存储的数据存储量也随之增加,在所述MLC物理块的数据存储量达到第二存储阈值时,表示所述第二数据块队列中用于数据存储的MLC物理块过多,而所述第二数据块队列中用于数据写入的SLC物理块较少,会造成数据写入的速度变慢,因此装置对第三预设数量的MLC物理块进行空块回收,并对进行完空块回收的MLC物理块的工作模式由MLC转换为SLC。例如,在所述第二数据块队列中根据有效页的数量、磨损值选取多个MLC物理块作为空块回收的对象,将选取得到的物理块进行有效数据的转存,将进行完转存的该MLC物理擦除,并将擦除完的MLC物理块的工作模式转换成SLC,这样所述第二数据块队列中的SLC物理块增加。
本实施例将对所述第二数据块队列中的SLC物理块和MLC物理块的数量进行动态的调整,使所述第二数据块队列初期读写速度非常快,后期即能保持良好的写入速度,又能保证足够的数据存储空间。
在本发明一优选实施例中,所述将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储的步骤包括:
在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量;
在所述第二数据块队列中没有任何数据存储的物理块的数量低于第四预设数量时,则对所述第二数据块队列中有数据存储的物理块进行空块回收。
装置实时检测所述闪存是否处于空闲状态。例如,装置实时检测所述闪存是否有需要执行的命令,在所述闪存有需要执行的命令时,装置则终止执行或者重复所述实时检测所述闪存是否有需要执行的命令的步骤,而闪存则响应该命令且执行该命令。在所述闪存没有需要执行的命令时,装置开始计算空闲时间,所述空闲时间是指在所述闪存没有需要执行的命令状态持续的时间;在装置计算得到空闲时间大于预设时间阈值时,则检测出所述闪存处于空闲状态,装置继续执行下一步骤;在装置计算得到空闲时间小于或等于所述预设时间阈值时,则检测出所述闪存没有处于空闲状态,装置终止执行或者重复所述实时检测所述闪存是否有需要执行的命令的步骤。所述预设时间阈值可以是装置对所述预设时间阈值的历史记录数据,由装置本身设定,或者,由装置根据用户侧的技术人员触发的设置指令,接收技术人员设置的上述预设时间阈值。
装置在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量,所述第四预设数量可以由装置或者用户侧的指令设置。在所述第二数据块队列中没有任何数据存储的物理块的数量低于第四预设数量时,装置识别所述第二数据块队列中可以用作操作块写入数据的没有任何数据存储的物理块(即空块)不够,选取所述第二数据块队列中一些物理块进行空块回收,即将选取的物理块上的有效数据转存至所述第二交换块队列中的物理块上,并将进行完转存的所述第二数据块队列中被选取的物理块进行擦除,此时进行完擦除后的物理块即为空块。
本实施例在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量;在所述第二数据块队列中没有任何数据存储的物理块的数量低于第四预设数量时,则对所述第二数据块队列中有数据存储的物理块进行空块回收。本实施例利用空闲时间对所述第二数据块队列进行空块回收给所述第二数据块队列补充空块,提高了所述第二类分区的读写性能。
本发明进一步提供一种闪存的数据存储装置,参照图4,为该装置的第一实施例,该装置包括:
分区模块11,用于将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;
闪存的存储空间是由物理块组成的,物理块存在两种模式,分别是SLC和MLC,所述MLC还包括TLC,需要注意的是,本发明实施例中所述的MLC均包括TLC。分区模块11首先获取所述闪存中所有物理块的工作模式信息,通常物理块的工作模式信息保存在该物理块的信息表中,在该闪存已经分区的情况下,其物理块的工作模式信息也可保存在其区信息表中,或者一些闪存还单独建立了物理块的工作模式信息表用来保存所有物理块的工作模式信息,分区模块11可通过读取这些包含物理块的工作模式信息的任一信息表来获取物理块的工作模式信息。在获取所有物理块的工作模式信息之后,分区模块11根据各物理块的工作模式不同将物理块划分成多个分区,各分区单独控制,就像将闪存转换成一个由多个小容量的闪存组成的闪存组,分区模块11又将所有所述分区分为两类,分别为第一类分区和第二类分区,其中,所述第一类分区中的物理块的工作模式均为SLC,所述第二类分区中的物理块的工作模式为MLC和/或SLC。在一些实施例中,若闪存中工作模式为SLC的物理块数量很少甚至没有的情况下,分区模块11可以将部分物理块的工作模式从MLC转换为SLC,再将转换得到的工作模式为SLC的物理块划分在所述第一类分区。
相较于现有技术,本实施例中的闪存被划分成多个小容量的闪存,当需要写读写数据时,多个小容量闪存同时进行操作,速度更快。
第一分配模块12,用于将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;
第一分配模块12将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,第一分配模块12利用所述第一数据块队列中的物理块进行数据的写入和存储,所述第一交换块队列中可以只包括空块即没有任何数据存储的物理块,也可以包括空块和有数据存储的物理块,例如,第一分配模块12从所述第一数据块队列的物理块或所述第一交换块队列的物理块中选取一个作为操作块对其进行写入操作,当所述操作块被写满之后,将写满的所述操作块插入所述第一数据块队列中,如还有数据需要写入时,继续从所述第一数据块队列的物理块或所述第一交换块队列的物理块中选取物理块作为操作块进行写入操作。
第二分配模块13,用于将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。
第二分配模块13将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,第二分配模块13利用所述第二数据块队列中的物理块进行数据的写入和存储,所述第二交换块队列中可以只包括空块即没有任何数据存储的物理块,也可以包括空块和有数据存储的物理块,例如,第二分配模块13从所述第二数据块队列中的SLC物理块或所述第一交换块队列中的SLC物理块中选取一个作为操作块对其进行写入操作,当所述操作块被写满之后,将写满的所述操作块插入所述第二数据块队列中,如还有数据需要写入时,继续从所述第二数据块队列中的SLC物理块或所述第一交换块队列中的SLC物理块中选取物理块作为操作块进行写入操作。第二分配模块13将所述第二类分区中所有物理块的工作模式均设置为SLC,由于所述第二类分区中均为SLC物理块,在对所述第二类分区进行读写操作时速度非常快且性能稳定。
本实施例分区模块11将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;第一分配模块12将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;第二分配模块13将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。相较于现有技术,本发明实施例将闪存中的物理块分为多个分区且分别控制,相当于将闪存分成多个较小容量的闪存,闪存在读写数据时,就像是从一个闪存组中读写数据,因此读写性能更好;另一方面,将第二类分区中物理块的工作模式均设置为单层单元模式,使得闪存中工作模式为单层单元模式的物理块增多,闪存在执行读写任务时速度增快、稳定性提高;因此,本发明实施例提高了闪存的读写性能。
在本发明一优选实施例中,所述分区模块11包括:表格单元(图中未示出),用于将每个分区都设置独立的表格块队列。
表格单元将每个分区都设置独立的表格块队列,且每个分区的逻辑映射关系是独立的。所述表格块队列中的物理块存储表格数据,所述表格数据包括逻辑映射数据,磨损数据等。现有技术中存储容量很大的闪存也只设有一个表格块队列,由于该闪存的存储容量大,因此其表格块队列中的表格数据也很多,在对表格数据进行读写或者存储时容易出错,本实施例分区模块11将所述闪存的物理块划分成多个分区,且表格单元使每个分区均包括独立的表格块队列,由于每个表格块队列中仅存储了其所在的分区的表格数据,所述表格数据不会很多,因此对所述表格数据进行读写或者存储时不容易出错。
如图5所示,为本发明闪存的数据存储装置的第二实施例,本实施例与所述装置的第一实施例的区别是,本实施例在第一实施例的基础上,所述第一分配模块12包括:
配置单元121,用于配置所述第一类分区的数据存储容量;
分配单元122,用于利用所述第一数据块队列进行重要数据的写入和存储;
配置单元121可根据装置本身或者用户的需求配置所述第一类分区的数据存储容量,例如,若预期需要在所述第一类分区中存储较多的数据时,给所述第一类分区配置较大的数据存储容量。
分配单元122将所述第一类分区用作写入和存储重要数据,例如文件系统数据,操作系统数据等。对于这些重要数据,通常是对其读写操作最频繁的一些数据,因此其要求存储在读写性能好、稳定性高的存储介质中,所述第一类分区中物理块的工作模式都是SLC,而SLC这类工作模式的特点就是高性能、高稳定性、寿命长。因此,将所述第一类分区可以满足重要数据存储的要求。
本实施例配置单元121配置所述第一类分区的数据存储容量;分配单元122利用所述第一数据块队列中的物理块进行重要数据的写入和存储;一方面使得第一类分区的数据存储容量可根据需求进行配置,另一方面将重要数据单独写入和存储在所述第一数据块队列中,且所述第一数据块队列由读写速度块、寿命长、性能稳定的单层单元模式的物理块组成,因此不仅能够稳定、快速的对重要数据进行读写操作,还能长期稳定的存储重要数据。
如图6所示,图6为图5闪存的数据存储装置中所述第二分配模块13的功能单元示意图,在本发明一优选实施例中,所述第二分配模块13还包括:
检测单元131,用于实时检测所述第二类分区中工作模式为多层单元模式的物理块的安全等级值是否达到预设等级值;
转换单元132,用于在所述安全等级值没有达到预设等级值时,将所述工作模式为多层单元模式的物理块的工作模式从多层单元模式转换为单层单元模式;
插入单元133,用于将转换得到的所述工作模式为单层单元模式的物理块插入所述第一交换块队列中继续使用。
检测单元131首先获取所述第二类分区中工作模式为MLC的物理块(以下简称MLC物理块)的信息,所述MLC物理块的信息包括剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录等信息,所述MLC物理块的信息可以保存在预设的物理块的信息表或者分区的区信息表中,检测单元131通过读取所述物理块的信息表或者所述分区的区信息表获取所需的信息,当然还可以是装置通过其他任何可以实现的方法完成。
检测单元131基于获取的所述MLC物理块的信息如剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录等信息按照预设规则计算其安全等级值,实时检测得出的安全等级值是否达到预设等级值。其中,计算其安全等级值时,可以将上述剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录作为计算安全等级值的安全参数,并对上述安全参数分别赋予一定的权重值,根据得到上述安全参数及对应的权重值计算其安全等级值;所述预设等级值可以根据检测单元131对所述安全等级值的历史记录数据,由检测单元131本身设定;或者,由检测单元131根据用户侧的技术人员触发的设置指令,接收技术人员设置的上述预设等级值。
经检测单元131检测识别所述MLC物理块安全等级值没有达到预设等级值时,则认为该MLC物理块继续使用已经不安全,即该物理块寿命已尽或者在存储数据时经常发生错误、数据流失等问题,转换单元132将所述MLC物理块的工作模式从MLC转换为SLC。例如,检测单元131检测发现所述MLC物理块安全等级值没有达到预设等级值时,则转换单元132在该物理块中使用1比特用于标记该物理块,如检测单元131将安全等级值没有达到预设等级值的MLC物理块标记为“1”,而将安全等级值达到预设等级值的MLC物理块标记为“0”,待检测单元131将检测得到的所有安全等级值没有达到预设等级值的MLC物理块完成标记后,转换单元132先将所有标记为“1”的MLC物理块上的有效数据先转存至其他物理块上,然后再将该MLC物理块的工作模式从MLC转换为SLC。转换单元132将已不安全的MLC物理块的工作模式由MLC转换成读写性能稳定、读写速度快、寿命长的SLC继续使用。
插入单元133将转换得到的所述工作模式为SLC的物理块(以下简称SLC物理块)中的有效数据转存至所述第二类分区中其他物理块中,然后对进行完转存的所述SLC物理块进行擦除,将擦除后的所述SLC物理块插入所述第一交换块队列中继续使用。
本实施例检测单元131实时检测所述第二类分区中工作模式为多层单元模式的物理块的安全等级值是否达到预设等级值;转换单元132在所述安全等级值没有达到预设等级值时,将所述工作模式为多层单元模式的物理块的工作模式从多层单元模式转换为单层单元模式;插入单元133将转换得到的所述工作模式为单层单元模式的物理块插入所述第一交换块队列中继续使用。本实施例转换单元132将所述第二类分区中所述安全等级值没有达到预设等级值的MLC物理块转换为擦写寿命长、读写性能稳定且速度块的SLC物理块,并经第一插入单元123插入所述第一交换块队列中继续使用,不仅提高了所述第二类分区存储数据的安全性,还增大了所述第一类分区的数据存储容量,同时提高了所述第一类分区的读写性能,使得所述闪存的读写性能进一步提升。
如图7所示,为本发明闪存的数据存储装置的第三实施例,本实施例与该装置的第一实施例和第二实施例的区别在于,本实施例在第一实施例和第二实施例的基础上,所述第二分配模块13还包括:
第一空块回收单元134,用于在所述第二数据块队列中工作模式为单层单元模式的物理块的数据存储量达到第一存储阈值时,将第一预设数量的物理块的工作模式由单层单元模式转换为多层单元模式,且对第二预设数量的工作模式为单层单元模式的物理块进行空块回收;
所述第一存储阈值可以是第一空块回收单元134根据所述第一类分区的数据存储的容量的历史数据设置所述第一存储阈值,或者第一空块回收单元134基于用户侧用户触发的设置指令设置所述第一存储阈值;所述第一预设数量和所述第二预设数量同样可以是由第一空块回收单元134或者用户侧设置,所述第一预设数量和所述第二预设数量可以相同也可以不同。
经过反复的读写操作后,所述第二数据块队列中SLC物理块的数据存储量达到第一存储阈值时,表示所述第二数据块队列中SLC物理块的数据存储量已经接近所述第二数据块队列中SLC物理块的最大数据存储量,再有新的重要数据需要写入所述第二数据块队列中的SLC物理块时,第一空块回收单元134将第一预设数量的物理块的工作模式由SLC转换为MLC,且对第二预设数量的SLC物理块进行空块回收。转换得到的所述MLC物理块通常不会再用于数据的写入,而只是用于数据的存储。例如,将所述第二数据块队列中一个SLC物理块的工作模式转换为TLC,对所述第二数据块队列中两个SLC物理块进行空块回收,将这两个SLC物理块上的有效数据转存至所述转换得到的工作模式为TLC的物理块上,然后对进行完转存的两个SLC物理进行擦除,并将擦除完的两个SLC物理块继续用于数据的写入,相当于将三个SLC物理块的数据压缩到一个TLC物理块中,扩大了所述第二数据块队列的存储容量,当然第一空块回收单元134也可以将擦除完的两个SLC物理块的工作模式转换为TLC用于数据的存储。
第二空块回收单元135,用于在所述第二数据块队列中工作模式为多层单元模式的物理块的数据存储量达到第二存储阈值时,对第三预设数量的工作模式为多层单元模式的物理块进行空块回收,并对进行完空块回收的多层单元模式的物理块由多层单元模式转换为单层单元模式。
所述第二存储阈值和所述第三预设数量同样可以是第二空块回收单元135本身设置的,也可以是第二空块回收单元135根据用户侧的技术人员发送的设置指令设置的。
随着所述第二数据块队列中转换得到的MLC物理块的增多且其存储的数据存储量也随之增加,在所述MLC物理块的数据存储量达到第二存储阈值时,表示所述第二数据块队列中用于数据存储的MLC物理块过多,而所述第二数据块队列中用于数据写入的SLC物理块较少,会造成数据写入的速度变慢,因此第二空块回收单元135对第三预设数量的MLC物理块进行空块回收,并对进行完空块回收的MLC物理块的工作模式由MLC转换为SLC。例如,在所述第二数据块队列中根据有效页的数量、磨损值选取多个MLC物理块作为空块回收的对象,将选取得到的物理块进行有效数据的转存,将进行完转存的该MLC物理擦除,并将擦除完的MLC物理块的工作模式转换成SLC,这样所述第二数据块队列中的SLC物理块增加。
本实施例第一空块回收单元134和第二空块回收单元135对所述第二数据块队列中的SLC物理块和MLC物理块的数量进行动态的调整,使所述第二数据块队列初期读写速度非常快,后期即能保持良好的写入速度,又能保证足够的数据存储空间。
如图8所示,图8为图7闪存的数据存储装置中第二分配模块13的功能单元示意图,在本发明一优选实施例中,所述第二分配模块13包括:
判断单元136,用于在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量;
第三空块回收单元137,用于在所述第二数据块队列中没有任何数据存储的物理块的数量低于第四预设数量时,则对所述第二数据块队列中有数据存储的物理块进行空块回收。
判断单元136实时检测所述闪存是否处于空闲状态。例如,判断单元136实时检测所述闪存是否有需要执行的命令,在所述闪存有需要执行的命令时,判断单元136则终止执行或者重复所述实时检测所述闪存是否有需要执行的命令的步骤,而闪存则响应该命令且执行该命令。在所述闪存没有需要执行的命令时,判断单元136开始计算空闲时间,所述空闲时间是指在所述闪存没有需要执行的命令状态持续的时间;在判断单元136计算得到空闲时间大于预设时间阈值时,则检测出所述闪存处于空闲状态,判断单元136继续执行下一步骤;在判断单元136计算得到空闲时间小于或等于所述预设时间阈值时,则检测出所述闪存没有处于空闲状态,判断单元136终止执行或者重复所述实时检测所述闪存是否有需要执行的命令的步骤。所述预设时间阈值可以是判断单元136对所述预设时间阈值的历史记录数据,由判断单元136本身设定,或者,由判断单元136根据用户侧的技术人员触发的设置指令,接收技术人员设置的上述预设时间阈值。
判断单元136在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量,所述第四预设数量可以由判断单元136或者用户侧的指令设置。第三空块回收单元137在所述第二数据块队列中没有任何数据存储的物理块的数量低于第四预设数量时,识别所述第二数据块队列中可以用作操作块写入数据的没有任何数据存储的物理块(即空块)不够,选取所述第二数据块队列中一些物理块进行空块回收,即将选取的物理块上的有效数据转存至所述第二交换块队列中的物理块上,并将进行完转存的所述第二数据块队列中被选取的物理块进行擦除,此时进行完擦除后的物理块即为空块。
本实施例判断单元136在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量;第三空块回收单元137在所述第二数据块队列中没有任何数据存储的物理块的数量低于第四预设数量时,则对所述第二数据块队列中有数据存储的物理块进行空块回收。本实施例利用空闲时间对所述第二数据块队列进行空块回收给所述第二数据块队列补充空块,提高了所述第二类分区的读写性能。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种闪存的数据存储方法,其特征在于,包括以下步骤:
将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;
将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;
将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。
2.如权利要求1所述的闪存的数据存储方法,其特征在于,所述将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储的步骤包括:
配置所述第一类分区的数据存储容量;
利用所述第一数据块队列进行重要数据的写入和存储。
3.如权利要求1或2所述的闪存的数据存储方法,其特征在于,所述将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储的步骤包括:
实时检测所述第二类分区中工作模式为多层单元模式的物理块的安全等级值是否达到预设等级值;
在所述安全等级值没有达到预设等级值时,将所述工作模式为多层单元模式的物理块的工作模式从多层单元模式转换为单层单元模式;
将转换得到的所述工作模式为单层单元模式的物理块插入所述第一交换块队列中继续使用。
4.如权利要求1或2所述的闪存的数据存储方法,其特征在于,将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储的步骤包括:
在所述第二数据块队列中工作模式为单层单元模式的物理块的数据存储量达到第一存储阈值时,将第一预设数量的物理块的工作模式由单层单元模式转换为多层单元模式,且对第二预设数量的工作模式为单层单元模式的物理块进行空块回收;
在所述第二数据块队列中工作模式为多层单元模式的物理块的数据存储量达到第二存储阈值时,对第三预设数量的工作模式为多层单元模式的物理块进行空块回收,并对进行完空块回收的多层单元模式的物理块由多层单元模式转换为单层单元模式。
5.如权利要求1或2所述的闪存的数据存储方法,其特征在于,所述将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储的步骤包括:
在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量;
在所述第二数据块队列中没有任何数据存储的物理块的数量低于第四预设数量时,则对所述第二数据块队列中有数据存储的物理块进行空块回收。
6.一种闪存的数据存储装置,其特征在于,所述装置包括:
分区模块,用于将闪存中的物理块分为多个分区,且将所有所述分区分为第一类分区和第二类分区;其中,所述第一类分区中的物理块的工作模式为单层单元模式,所述第二类分区中的物理块的工作模式为多层单元模式和/或单层单元模式;
第一分配模块,用于将所述第一类分区中每一分区的物理块划分为第一数据块队列和第一交换块队列,且利用所述第一数据块队列进行数据的写入和存储;
第二分配模块,用于将所述第二类分区中每一分区的物理块划分为第二数据块队列和第二交换块队列,且将所述第二类分区中所有物理块的工作模式均设置为单层单元模式,并利用所述第二数据块队列进行数据的写入和存储。
7.如权利要求6所述的闪存的数据存储装置,其特征在于,所述第一分配模块包括:
配置单元,用于配置所述第一类分区的数据存储容量;
分配单元,用于利用所述第一数据块队列进行重要数据的写入和存储。
8.如权利要求6或7所述的闪存的数据存储装置,其特征在于,所述第二分配模块还包括:
检测单元,用于实时检测所述第二类分区中工作模式为多层单元模式的物理块的安全等级值是否达到预设等级值;
转换单元,用于在所述安全等级值没有达到预设等级值时,将所述工作模式为多层单元模式的物理块的工作模式从多层单元模式转换为单层单元模式;
插入单元,用于将转换得到的所述工作模式为单层单元模式的物理块插入所述第一交换块队列中继续使用。
9.如权利要求6或7所述的闪存的数据存储装置,其特征在于,所述第二分配模块包括:
第一空块回收单元,用于在所述第二数据块队列中工作模式为单层单元模式的物理块的数据存储量达到第一存储阈值时,将第一预设数量的物理块的工作模式由单层单元模式转换为多层单元模式,且对第二预设数量的工作模式为单层单元模式的物理块进行空块回收;
第二空块回收单元,用于在所述第二数据块队列中工作模式为多层单元模式的物理块的数据存储量达到第二存储阈值时,对第三预设数量的工作模式为多层单元模式的物理块进行空块回收,并对进行完空块回收的多层单元模式的物理块由多层单元模式转换为单层单元模式。
10.如权利要求6或7所述的闪存的数据存储装置,其特征在于,所述第二分配模块包括:
判断单元,用于在所述闪存处于空闲状态时,判断所述第二数据块队列中没有任何数据存储的物理块的数量是否低于第四预设数量;
第三空块回收单元,用于在所述第二数据块队列中没有任何数据存储的物理块的数量低于第四预设数量时,则对所述第二数据块队列中有数据存储的物理块进行空块回收。
CN201410142928.3A 2014-04-10 2014-04-10 闪存的数据存储方法及装置 Pending CN103942151A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410142928.3A CN103942151A (zh) 2014-04-10 2014-04-10 闪存的数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410142928.3A CN103942151A (zh) 2014-04-10 2014-04-10 闪存的数据存储方法及装置

Publications (1)

Publication Number Publication Date
CN103942151A true CN103942151A (zh) 2014-07-23

Family

ID=51189824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410142928.3A Pending CN103942151A (zh) 2014-04-10 2014-04-10 闪存的数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN103942151A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843748A (zh) * 2015-01-15 2016-08-10 华为技术有限公司 一种对内存中内存页的处理方法及装置
CN105988716A (zh) * 2015-02-09 2016-10-05 深圳市硅格半导体有限公司 存储装置及其模式转换的方法
CN107291381A (zh) * 2017-05-18 2017-10-24 记忆科技(深圳)有限公司 一种固态硬盘动态加速区的实现方法及固态硬盘
CN107357534A (zh) * 2017-07-18 2017-11-17 深圳市德名利电子有限公司 一种闪存块模式的动态切换方法及系统
CN108701081A (zh) * 2016-01-11 2018-10-23 美光科技公司 用于同时存取非易失性存储器的多个分区的设备和方法
CN109815166A (zh) * 2018-12-28 2019-05-28 深圳市德名利电子有限公司 一种存储数据的动态回收处理方法及存储装置
CN110164500A (zh) * 2019-04-12 2019-08-23 深圳市金泰克半导体有限公司 Nand闪存的低电压保护方法及nand闪存
CN111324281A (zh) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 一种存储器及其控制方法和装置
CN111506262A (zh) * 2020-03-25 2020-08-07 华为技术有限公司 一种存储系统、文件存储和读取方法及终端设备
CN111949200A (zh) * 2019-05-17 2020-11-17 北京兆易创新科技股份有限公司 一种存储器及其控制方法和控制装置
CN111949565A (zh) * 2019-05-17 2020-11-17 北京兆易创新科技股份有限公司 一种存储器及其控制方法和控制装置
CN114327240A (zh) * 2020-09-29 2022-04-12 慧荣科技股份有限公司 计算机可读存储介质、闪存存储器的数据存储方法及装置
CN115129629A (zh) * 2022-09-01 2022-09-30 珠海普林芯驰科技有限公司 具有双闪存芯片的带宽扩展方法、计算机装置和存储介质
CN115794446A (zh) * 2023-01-18 2023-03-14 苏州浪潮智能科技有限公司 一种消息处理方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155317A1 (en) * 2006-10-02 2008-06-26 Samsung Electronics Co. Ltd. Apparatus, memory device controller and method of controlling a memory device
CN101384984A (zh) * 2006-01-18 2009-03-11 特科2000国际有限公司 整合有多个闪存单元的便携式数据存储装置
CN101777026A (zh) * 2009-01-09 2010-07-14 成都市华为赛门铁克科技有限公司 一种存储管理方法、硬盘及存储系统
CN101937710A (zh) * 2009-06-30 2011-01-05 联发科技股份有限公司 固态磁盘驱动和管理存储装置的方法
CN103116550A (zh) * 2013-01-11 2013-05-22 深圳市硅格半导体有限公司 切换闪存中物理块工作模式的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101384984A (zh) * 2006-01-18 2009-03-11 特科2000国际有限公司 整合有多个闪存单元的便携式数据存储装置
US20080155317A1 (en) * 2006-10-02 2008-06-26 Samsung Electronics Co. Ltd. Apparatus, memory device controller and method of controlling a memory device
CN101777026A (zh) * 2009-01-09 2010-07-14 成都市华为赛门铁克科技有限公司 一种存储管理方法、硬盘及存储系统
CN101937710A (zh) * 2009-06-30 2011-01-05 联发科技股份有限公司 固态磁盘驱动和管理存储装置的方法
CN103116550A (zh) * 2013-01-11 2013-05-22 深圳市硅格半导体有限公司 切换闪存中物理块工作模式的方法和装置

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843748A (zh) * 2015-01-15 2016-08-10 华为技术有限公司 一种对内存中内存页的处理方法及装置
US10310971B2 (en) 2015-01-15 2019-06-04 Huawei Technologies Co., Ltd. Method and apparatus for processing memory page in memory
CN105843748B (zh) * 2015-01-15 2019-06-11 华为技术有限公司 一种对内存中内存页的处理方法及装置
CN105988716A (zh) * 2015-02-09 2016-10-05 深圳市硅格半导体有限公司 存储装置及其模式转换的方法
US11354040B2 (en) 2016-01-11 2022-06-07 Micron Technology, Inc. Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory
CN108701081B (zh) * 2016-01-11 2022-06-21 美光科技公司 用于同时存取非易失性存储器的多个分区的设备和方法
US11768603B2 (en) 2016-01-11 2023-09-26 Micron Technology, Inc. Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory
CN108701081A (zh) * 2016-01-11 2018-10-23 美光科技公司 用于同时存取非易失性存储器的多个分区的设备和方法
CN107291381B (zh) * 2017-05-18 2020-04-28 记忆科技(深圳)有限公司 一种固态硬盘动态加速区的实现方法及固态硬盘
CN107291381A (zh) * 2017-05-18 2017-10-24 记忆科技(深圳)有限公司 一种固态硬盘动态加速区的实现方法及固态硬盘
CN107357534A (zh) * 2017-07-18 2017-11-17 深圳市德名利电子有限公司 一种闪存块模式的动态切换方法及系统
CN111324281B (zh) * 2018-12-14 2024-02-06 兆易创新科技集团股份有限公司 一种存储器及其控制方法和装置
CN111324281A (zh) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 一种存储器及其控制方法和装置
CN109815166A (zh) * 2018-12-28 2019-05-28 深圳市德名利电子有限公司 一种存储数据的动态回收处理方法及存储装置
CN109815166B (zh) * 2018-12-28 2020-10-09 深圳市德明利技术股份有限公司 一种存储数据的动态回收处理方法及存储装置
CN110164500A (zh) * 2019-04-12 2019-08-23 深圳市金泰克半导体有限公司 Nand闪存的低电压保护方法及nand闪存
CN111949565A (zh) * 2019-05-17 2020-11-17 北京兆易创新科技股份有限公司 一种存储器及其控制方法和控制装置
CN111949200A (zh) * 2019-05-17 2020-11-17 北京兆易创新科技股份有限公司 一种存储器及其控制方法和控制装置
WO2021190555A1 (zh) * 2020-03-25 2021-09-30 华为技术有限公司 一种存储系统、文件存储和读取方法及终端设备
CN111506262A (zh) * 2020-03-25 2020-08-07 华为技术有限公司 一种存储系统、文件存储和读取方法及终端设备
CN114327240A (zh) * 2020-09-29 2022-04-12 慧荣科技股份有限公司 计算机可读存储介质、闪存存储器的数据存储方法及装置
CN115129629A (zh) * 2022-09-01 2022-09-30 珠海普林芯驰科技有限公司 具有双闪存芯片的带宽扩展方法、计算机装置和存储介质
CN115794446A (zh) * 2023-01-18 2023-03-14 苏州浪潮智能科技有限公司 一种消息处理方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN103942151A (zh) 闪存的数据存储方法及装置
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
US9811462B2 (en) Memory system executing garbage collection
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN104699413B (zh) 数据管理方法、存储器存储装置及存储器控制电路单元
US20110238892A1 (en) Wear leveling method of non-volatile memory
US9141530B2 (en) Data writing method, memory controller and memory storage device
KR101561546B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
KR101566849B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
US8892812B2 (en) Flash memory device and data writing method for a flash memory
US10620874B2 (en) Memory management method, memory control circuit unit and memory storage apparatus
US9772937B2 (en) Data processing method, memory controller and memory storage apparatus
WO2006014748A1 (en) Method and device to improve usb flash write performance
CN103823642A (zh) 用于Flash均衡存储的方法及系统
CN106164873A (zh) 当到达寿命终止条件时约束写入固态存储器的方法和装置
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US20130179627A1 (en) Method for managing buffer memory, memory controllor, and memory storage device
CN109976673A (zh) 一种数据写入方法和装置
CN103218300B (zh) 数据处理方法、存储器控制器与存储器储存装置
CN105988950A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
US9312011B1 (en) Data writing method, memory storage device and memory control circuit unit
KR101065147B1 (ko) 저장장치와 그 저장장치의 상태정보에 접근하는 방법
US10180788B2 (en) Data storage device having internal tagging capabilities
CN103218308B (zh) 缓冲存储器管理方法、存储器控制器与存储器储存装置
CN104133640A (zh) 从休眠快速恢复

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140723