CN103927262A - 闪存物理块的控制方法及装置 - Google Patents

闪存物理块的控制方法及装置 Download PDF

Info

Publication number
CN103927262A
CN103927262A CN201410109844.XA CN201410109844A CN103927262A CN 103927262 A CN103927262 A CN 103927262A CN 201410109844 A CN201410109844 A CN 201410109844A CN 103927262 A CN103927262 A CN 103927262A
Authority
CN
China
Prior art keywords
physical block
cell pattern
converted
data
flash 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
CN201410109844.XA
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 CN201410109844.XA priority Critical patent/CN103927262A/zh
Publication of CN103927262A publication Critical patent/CN103927262A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种闪存物理块的控制方法及装置,本发明实施例获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值;在所述安全等级值没有达到预设等级值时,将所述多层单元模式物理块转换为单层单元模式物理块;利用转换得到的单层单元模式物理块进行数据的写入和/或存储,本发明实施例将不安全的多层单元模式物理块转换为单层单元模式物理块,提高了闪存物理块存储数据的安全性。

Description

闪存物理块的控制方法及装置
技术领域
本发明涉及数据存储领域,尤其涉及闪存物理块的控制方法及装置。
背景技术
闪存的物理块存在两种模式,分别是单层单元模式(SLC,Single-Levelcell)和多层单元模式(MLC,Multi-Level cell),所述多层单元模式还包括三层单元模式(TLC,Triple-Level cell),物理块的工作模式不同其擦写寿命也不同,当物理块的擦写次数超过该物理块工作模式的擦写寿命时,用该物理块写入或者读取数据就会出错,当物理块的擦写寿命已尽不能正常运行时会造成闪存不能再继续正常运行。
目前常用的做法是,在对物理块进行数据存储时,通常是直接将数据存储至物理块对应的存储区域,并不对上述物理块是否能够正常使用进行检测;这种处理方式容易造成数据丢失,数据存储的安全性不高。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供闪存物理块的控制方法及装置,旨在提高闪存物理块存储数据的安全性。
为实现上述目的,本发明实施例提供一种闪存物理块的控制方法,所述方法包括以下步骤:
获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值;
在所述安全等级值没有达到预设等级值时,将所述多层单元模式物理块转换为单层单元模式物理块;
利用转换得到的单层单元模式物理块进行数据的写入和/或存储。
优选地,所述实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值,包括:
检测所述多层单元模式物理块的擦写次数是否高于预设阈值;
和/或,检测
所述多层单元模式物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值是否达到预设比值;
和/或,检测
错误检查和纠正处理而无法进行纠正的所述多层单元模式物理块是否是通过错误检查和纠正处理而无法进行纠正的物理块。
优选地,所述获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值的步骤之前还包括:
将闪存中的物理块划分为算法区和第一数据区,所述算法区包括闪存的物理块中的单层单元模式物理块,且所述算法区用于数据的写入;所述第一数据区包括闪存的物理块中的多层单元模式物理块,且所述第一数据区用于数据的存储。优选地,所述利用转换得到的所述单层单元模式物理块进行数据的写入的步骤包括:
将所述转换得到的单层单元模式物理块加入所述闪存的算法区;
在所述转换得到的单层单元模式物理块加入所述算法区后,利用所述转换得到的单层单元模式物理块进行数据的编程。
优选地,所述利用转换得到的所述单层单元模式物理块进行数据的存储的步骤包括:
将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区;
在将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区后,利用所述转换得到的单层单元模式物理块进行数据的存储,且所述第一数据区或者所述第二数据区在接收到需进行存储的数据时,将所述需进行存储的数据优先存储在所述转换得到的单层单元模式物理块中。
本发明进一步提供的闪存物理块的控制装置,所述装置包括:
检测模块,用于获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值;
转换模块,用于在所述安全等级值没有达到预设等级值时,将所述多层单元模式物理块转换为单层单元模式物理块;
分配模块,用于利用所述转换得到的单层单元模式物理块进行数据的写入和/或存储。
优选地,所述检测模块包括:
擦写次数评估单元,用于检测所述多层单元模式物理块的擦写次数是否高于预设阈值;
和/或,
错误率评估单元,用于检测所述多层单元模式物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值是否达到预设比值;
和/或,
无法纠正评估单元,用于检测所述多层单元模式物理块是否是通过错误检查和纠正处理而无法进行纠正的物理块。
优选地,所述装置包括:
分区模块,用于将闪存中的物理块划分为算法区和第一数据区,所述算法区包括闪存的物理块中的单层单元模式物理块,且所述算法区用于数据的写入;所述第一数据区包括闪存的物理块中的多层单元模式物理块,且所述第一数据区用于数据的存储。
优选地,所述分配模块包括:
第一添加单元,用于将所述转换得到的单层单元模式物理块加入所述闪存的算法区;
第一分工单元,用于在所述转换得到的单层单元模式物理块加入所述算法区后,利用所述转换得到的单层单元模式物理块进行数据的编程。
优选地,所述分配模块包括:
第二添加单元,用于将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区;
第二分工单元,用于在将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区后,利用所述转换得到的单层单元模式物理块进行数据的存储,且所述第一数据区或者所述第二数据区在接收到需进行存储的数据时,将所述需进行存储的数据优先存储在所述转换得到的单层单元模式物理块中。
本发明所能实现的有益效果是通过获取多层单元模式物理块的信息,实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值,将所述安全等级值没有达到预设等级值的多层单元模式物理块转换为擦写寿命长、读写性能稳定的单层单元模式物理块继续使用,使得闪存的存储数据的安全性得到提高,又由于闪存中所述单层单元模式物理块的增多,闪存的寿命和速度得到了提升,再者,将所述多层单元模式物理块转换得到的单层单元模式物理块用于数据的写入有利于闪存写入的安全性的提高和速度的提升,通过将所述多层单元模式物理块转换得到的单层单元模式物理块用于数据的存储有利于提高闪存数据存储的安全性。
附图说明
图1为本发明闪存物理块的控制方法第一实施例的流程示意图;
图2为本发明闪存物理块的控制方法第二实施例的流程示意图;
图3为本发明闪存物理块的控制装置第一实施例的功能模块示意图;
图4为图3闪存物理块的控制装置检测模块的功能单元示意图;
图5为本发明闪存物理块的控制装置第二实施例的功能模块示意图;
图6为图5闪存物理块的控制装置中分配模块的功能单元示意图;
图7为图5闪存物理块的控制装置中分配模块的功能单元示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种闪存物理块的控制方法,参照图1,在第一实施例中,该方法包括以下步骤:
步骤S11,获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值。
闪存的存储空间是由物理块组成的,物理块存在两种模式,分别是单层单元模式(SLC,Single-Level cell)和多层单元模式(MLC,Multi-Level cell),所述多层单元模式还包括三层单元模式(TLC,Triple-Level cell),需要注意的是,本发明实施例中所述的多层单元模式(MLC)均包括三层单元模式(TLC),即所述MLC物理块包括TLC物理块。一些闪存的物理块全部采用MLC(包括TLC),而一些闪存的物理块全部采用SLC,还有一些闪存的物理块一部分采用MLC且一部分采用SLC。SLC物理块每个存储单元存储1个信息比特,擦写寿命约为10万次,其特点是传输速度快、功率消耗低、寿命长、性能稳定,MLC物理块每个存储单元存储2个信息比特,擦写寿命约为3千到1万次,相较于SLC物理块,其具有传输速度较慢、功率消耗较高、存储单元的寿命较低、存储密度较大等特点,TLC物理块每个存储单元存储3个信息比特,擦写寿命约为500次,相较于MLC物理块其具有传输速度更慢、功率消耗更高、存储单元的寿命更低、存储密度更大等特点。
所述MLC物理块的信息包括剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录等信息,还可以包括物理块模式信息等信息,所述MLC物理块的信息可以保存在预设的物理块的信息表或者分区的区信息表中,装置可以通过读取所述物理块的信息表或者所述分区的区信息表获取所需的信息,当然还可以是装置通过其他任何可以实现的方法完成。
装置可以基于所述MLC物理块的信息如剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录等信息按照预设规则计算其安全等级值,实时检测得出的安全等级值是否达到预设等级值。其中,计算其安全等级值时,可以将上述剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录作为计算安全等级值的安全参数,并对上述安全参数分别赋予一定的权重值,根据得到上述安全参数及对应的权重值计算其安全等级值;所述预设等级值可以根据装置对所述安全等级值的历史记录数据,由装置本身设定;或者,由装置根据用户侧的技术人员触发的设置指令,接收技术人员设置的上述预设等级值。
步骤S12,在所述安全等级值没有达到预设等级值时,将所述多层单元模式物理块转换为单层单元模式物理块。
经装置检测发现所述MLC物理块安全等级值没有达到预设等级值时,则认为该MLC物理块继续使用已经不安全,即该物理块寿命已尽或者在存储数据时经常发生错误、数据流失等问题,装置将所述MLC物理块转换为SLC物理块。例如,装置检测发现所述MLC物理块安全等级值没有达到预设等级值时,则装置在该物理块中使用1比特用于标记该物理块,如装置将安全等级值没有达到预设等级值的MLC物理块标记为“1”,而将安全等级值达到预设等级值的MLC物理块标记为“0”,待装置将检测得到的所有安全等级值没有达到预设等级值的MLC物理块完成标记后,先将所有标记为“1”的MLC物理块上的有效数据先转存至其他物理块上,然后再将该MLC物理块的工作模式从MLC转换为SLC,此时,所述MLC物理块已经转换为了所述SLC物理块。装置将已不安全的MLC物理块转换成读写性能稳定的、寿命长的SLC物理块继续使用,使得闪存的存储数据的安全性得到提高、使用寿命得到延长。
步骤S13,利用所述转换得到的单层单元模式物理块进行数据的写入和/或存储。
装置管理所述MLC物理块转换得到的SLC物理块,利用所述转换得到的SLC物理块进行数据的写入,即所述转换得到的SLC物理块负责数据的写入、暂存写入的数据、将一定数量的暂存数据转存到其他物理块进行存储,由于所述转换得到的SLC物理块稳定性好、速度快,因此其用于数据的写入时,使得闪存的稳定性得到提高,即进一步提高了闪存写入的安全性,且闪存写入的速度也明显的提高,特别是对于一些闪存中的物理块全部采用MLC,当部分安全等级值没有达到预设等级值的MLC物理块转换成SLC物理块且用于数据的写入,所述闪存写入的安全性和速度的提高是非常明显的。
装置管理所述MLC物理块转换得到的SLC物理块,将所述转换得到的SLC物理块用于数据的存储,即所述转换得到的SLC物理块不执行写入任务,仅用于接收并存储其他物理块转存来的数据,由于所述转换得到的SLC物理块相较于所述MLC物理块性能更为稳定,即所述SLC物理的安全性能更高,因此提高了闪存数据存储的安全性。
在一些实施例中,当需要在闪存中保存重要数据时,装置还可以进一步的将这些数据指定存储在所述转换得到的SLC物理块中。
在一些实施例中,装置还可以将部分所述转换得到的SLC物理块用于数据的写入,并将另一部分所述转换得到的SLC物理块用于数据的存储以满足需要。
优选地,在利用所述转换得到的单层单元模式物理块进行数据的写入和/或存储的步骤之后还包括更新闪存物理块信息、物理块的地址信息、闪存转换层中的地址映射表。
优选地,所述实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值,包括:
检测所述多层单元模式物理块的擦写次数是否高于预设阈值;
和/或,检测所述多层单元模式物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值是否达到预设比值;
和/或,检测所述多层单元模式物理块是否是通过错误检查和纠正处理而无法进行纠正的物理块。
下面基于上述三个条件举例说明安全等级值的技术以及所述预设等级值的设定:
所述安全等级值和所述预设等级值可以是用量化的数值表示,也可以用能够体现等级差异的代码表示,还可以是其他任何适合的形式。
当装置获取的所述MLC物理块的擦写次数大于预设阈值时,则所述安全等级值不增加数值,当装置获取的所述MLC物理块的擦写次数小于或等于预设阈值时,则所述安全等级值增加数值“1”。此处的预设阈值可是装置根据所述MLC物理块的擦写寿命来设定,或者是用户端的技术人员触发的设置指令,装置接收技术人员设置的上述预设阈值。如所述MLC物理块的擦写寿命是500次,装置设定所述预设阈值为450次,那么当该MLC物理块的擦写次数大于450次时,装置则认为该MLC物理块已磨损严重,该MLC物理块已经不安全了,则该MLC物理块的安全等级值不增加数值,即若该MLC物理块的安全等级值的基数是“0”,那么该MLC物理块的安全等级值依然是“0”,若该MLC物理块的擦写次数小于或等于450次时,装置则认为该MLC物理块仍安全,则该MLC物理块的安全等级值增加数值“1”,即若该MLC物理块的安全等级值的基数是“0”,那么该MLC物理块的安全等级值现在变成了“1”。
当装置获取的所述MLC物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值达到预设比值时,则所述安全等级值不增加数值,当装置获取的所述MLC物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值低于预设比值时,则所述安全等级值增加数值“1”。所述错误检查和纠正比特数是指该物理块通过错误检查和纠正得到的错误的比特数,所述错误检查和纠正能力值是指在该物理块中最多能被检查和纠正的比特数,此处的预设比值可是装置根据所述MLC物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值达到预设比值的历史数据来设定,或者是用户端的技术人员触发的设置指令,装置接收技术人员设置的上述预设阈值。例如,设定预设比值为0.9,那么当所述MLC物理块的错误检查和纠正值与错误检查和纠正能力值的比值大于或等于0.9时,则该MLC物理块的安全等级值不增加数值,当所述MLC物理块的错误检查和纠正值与错误检查和纠正能力值的比值小于0.9时,则该MLC物理块的安全等级值增加数值“1”。
当装置检测发现所述MLC物理块通过错误检查和纠正处理而无法进行纠正的时,则所述安全等级值不增加数值,当装置检测发现所述MLC物理块通过错误检查和纠正处理可以进行纠正时,则所述安全等级值增加数值“1”。例如,当装置读取所述MLC物理块上的数据时,如果发现通过错误检查和纠正处理而无法进行纠正的,则记录该MLC物理块发生无法纠正的状态,并记录该MLC物理块发生无法纠正的页的个数。导致这种通过错误检查和纠正处理而无法进行纠正的的情况有两种,一种是该MLC物理块寿命终结且已经不安全,存储数据不稳定了,另外一种情况是异常掉电导致写入失败。重新上电读取数据异常发生无法纠正。当装置记录得到无法纠正的的页数大于预设页数(如:3),且无法纠正的页之间没有关联关系,则该MLC物理块已经不安全,而非异常掉电产生的无法纠正现象,当装置检测得到是所述MLC物理块已经不安全,则所述安全等级值不增加数值,当装置检测发现所述MLC物理块通过错误检查和纠正处理可以进行纠正时,则所述安全等级值增加数值“1”。
假设所述安全等级值的基数为“0”,通过上述三个条件检测后装置得到所述MLC物理块的安全等级值为“3”,若装置根据用户端的技术人员触发的设置指令设置预设阈值为“3”,那么该MLC物理块的安全等级值达到了所述预设等级值,若上述三个条件检测后装置得到所述MLC物理块的安全等级值为“2”,那么该MLC物理块的安全等级值没有达到所述预设等级值。
本实施例通过获取多层单元模式物理块的信息,实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值,将所述安全等级值没有达到预设等级值的多层单元模式物理块转换为擦写寿命长、读写性能稳定的单层单元模式物理块继续使用,使得闪存的存储数据的安全性得到提高,又由于闪存中所述单层单元模式物理块的增多,闪存的寿命和速度得到了提升,再者,将所述多层单元模式物理块转换得到的单层单元模式物理块用于数据的写入有利于闪存写入的安全性的提高和速度的提升,通过将所述多层单元模式物理块转换得到的单层单元模式物理块用于数据的存储有利于提高闪存数据存储的安全性。
参照图2,为本发明闪存物理块的控制方法的第二实施例,本实施例在第一实施例的基础上,所述获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值的步骤之前还包括:
步骤S14,将闪存中的物理块划分为算法区和第一数据区,所述算法区包括闪存的物理块中的单层单元模式物理块,且所述算法区用于数据的写入;所述第一数据区包括闪存的物理块中的多层单元模式物理块,且所述第一数据区用于数据的存储。
由于SLC物理块、MLC物理块的特点不同,因此装置将闪存的物理块分为算法区和第一数据区,所述算法区包括SLC物理块,且所述算法区用于数据的写入,即所述算法区负责数据的写入、暂存写入的数据、将一定数量的暂存数据转存到所述第一数据区进行存储等,所述第一数据区包括MLC物理块,且所述第一数据区用于数据的存储,即所述第一数据区不执行写入任务,仅用于接收并存储所述算法区转存来的数据。在进行数据写入时,所述算法区中SLC物理块的写入速度远高于所述MLC物理块从而提高了闪存的写入速度,且所述SLC物理块可以承受约十万次的擦写,所述SLC物理块在所述算法区中承担了所有的写入操作从而减少了所述第一数据区的擦写次数,而所述MLC物理块由于速度慢、寿命短、存储密度大被划分在所述第一数据区用于数据的存储,当所述算法区被多次写入而达到一定数量的数据存储量时再将数据转存至所述第一数据区,由于所述第一数据区中的MLC物理块存储容量大,因此闪存可以以较低的成本存储更多的数据。
优选地,所述利用转换后的所述单层单元模式物理块进行数据的写入的步骤包括:
将所述转换得到的单层单元模式物理块加入所述闪存的算法区;
在所述转换得到的单层单元模式物理块加入所述算法区后,利用所述转换得到的单层单元模式物理块进行数据的编程。
装置将所述转换得到的SLC物理块分配到所述算法区中,此时,所述算法区中包括了原有的SLC物理块以及所述MLC物理块转换得到的SLC物理块,且所述算法区负责数据的写入,那么所述转换得到的SLC物理块被分配到所述算法区之后,也用于数据的写入。所述算法区中SLC物理块越多,闪存的写入速度和写入安全性就越高。
优选地,所述进行转换后的所述单层单元模式物理块进行数据的存储的步骤包括:
将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区;
在将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区后,利用所述转换得到的单层单元模式物理块进行数据的存储,且所述第一数据区或者所述第二数据区在接收到需进行存储的数据时,将所述需进行存储的数据优先存储在所述转换得到的单层单元模式物理块中。
装置将所述转换得到的SLC物理块分配到现有的数据区中,此时,所述第一数据区中包括了原有的MLC物理块以及所述MLC物理块转换得到的SLC物理块,且所述第一数据区负责数据的存储,那么所述转换得到的SLC物理块被分配到所述第一数据区之后,也用于数据的存储。装置还可以将所述转换得到的SLC物理块重新组成第二数据区,即所述第二数据区中只有所述转换得到的SLC物理块,且所述第二数据区负责数据的存储。用于数据的存储的SLC物理块越多,闪存的数据存储的安全性就越高。
再者,所述第一数据区或者所述第二数据区在接收到需进行存储的数据时,将所述需进行存储的数据优先存储在所述转换得到的单层单元模式物理块中,则进一步提高了闪存的数据存储的安全性。
本发明进一步提供的闪存物理块的控制装置,参照图3,为所述装置的第一实施例,该装置包括:
检测模块11,用于获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值。
闪存的存储空间是由物理块组成的,物理块存在两种模式,分别是单层单元模式(SLC,Single-Level cell)和多层单元模式(MLC,Multi-Level cell),所述多层单元模式还包括三层单元模式(TLC,Triple-Level cell),需要注意的是,本发明实施例中所述的多层单元模式(MLC)均包括三层单元模式(TLC),即所述MLC物理块包括TLC物理块。一些闪存的物理块全部采用MLC(包括TLC),而一些闪存的物理块全部采用SLC,还有一些闪存的物理块一部分采用MLC且一部分采用SLC。SLC物理块每个存储单元存储1个信息比特,擦写寿命约为10万次,其特点是传输速度快、功率消耗低、寿命长、性能稳定,MLC物理块每个存储单元存储2个信息比特,擦写寿命约为3千到1万次,相较于SLC物理块,其具有传输速度较慢、功率消耗较高、存储单元的寿命较低、存储密度较大等特点,TLC物理块每个存储单元存储3个信息比特,擦写寿命约为500次,相较于MLC物理块其具有传输速度更慢、功率消耗更高、存储单元的寿命更低、存储密度更大等特点。
所述MLC物理块的信息包括剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录等信息,还可以包括物理块模式信息等信息,所述MLC物理块的信息可以保存在预设的物理块的信息表或者分区的区信息表中,检测模块11可以通过读取所述物理块的信息表或者所述分区的区信息表获取所需的信息,当然还可以是检测模块11通过其他任何可以实现的方法完成。
检测模块11可以基于所述MLC物理块的信息如剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录等信息按照预设规则计算其安全等级值,实时检测得出的安全等级值是否达到预设等级值。其中,计算其安全等级值时,可以将上述剩余擦写寿命、错误检查和纠正值、错误检查和纠正记录作为计算安全等级值的安全参数,并对上述安全参数分别赋予一定的权重值,根据得到上述安全参数及对应的权重值计算其安全等级值;所述预设等级值可以根据检测模块11对所述安全等级值的历史记录数据,由检测模块11本身设定;或者,由检测模块11根据用户侧的技术人员触发的设置指令,接收技术人员设置的上述预设等级值。
转换模块12,用于在所述安全等级值没有达到预设等级值时,将所述多层单元模式物理块转换为单层单元模式物理块。
经检测模块11检测发现所述MLC物理块安全等级值没有达到预设等级值时,则认为该MLC物理块继续使用已经不安全,即该物理块寿命已尽或者在存储数据时经常发生错误、数据流失等问题,转换模块12将所述MLC物理块转换为SLC物理块。例如,检测模块11检测发现所述MLC物理块安全等级值没有达到预设等级值时,则转换模块12在该物理块中使用1比特用于标记该物理块,如转换模块12将安全等级值没有达到预设等级值的MLC物理块标记为“1”,而将安全等级值达到预设等级值的MLC物理块标记为“0”,待转换模块12将检测得到的所有安全等级值没有达到预设等级值的MLC物理块完成标记后,先将所有标记为“1”的MLC物理块上的有效数据先转存至其他物理块上,然后再将该MLC物理块的工作模式从MLC转换为SLC,此时,所述MLC物理块已经转换为了所述SLC物理块。转换模块12将已不安全的MLC物理块转换成读写性能稳定的、寿命长的SLC物理块继续使用,使得闪存的存储数据的安全性得到提高、使用寿命得到延长。
分配模块13,用于利用所述转换得到的单层单元模式物理块进行数据的写入和/或存储。
分配模块13管理所述MLC物理块转换得到的SLC物理块,利用所述转换得到的SLC物理块进行数据的写入,即所述转换得到的SLC物理块负责数据的写入、暂存写入的数据、将一定数量的暂存数据转存到其他物理块进行存储,由于所述转换得到的SLC物理块稳定性好、速度快,因此其用于数据的写入时,使得闪存的稳定性得到提高,即进一步提高了闪存写入的安全性,且闪存写入的速度也明显的提高,特别是对于一些闪存中的物理块全部采用MLC,当部分安全等级值没有达到预设等级值的MLC物理块转换成SLC物理块且用于数据的写入,所述闪存写入的安全性和速度的提高是非常明显的。
分配模块13管理所述MLC物理块转换得到的SLC物理块,将所述转换得到的SLC物理块用于数据的存储,即所述转换得到的SLC物理块不执行写入任务,仅用于接收并存储其他物理块转存来的数据,由于所述转换得到的SLC物理块相较于所述MLC物理块性能更为稳定,即所述SLC物理的安全性能更高,因此提高了闪存数据存储的安全性。
在一些实施例中,当需要在闪存中保存重要数据时,分配模块13还可以进一步的将这些数据指定存储在所述转换得到的SLC物理块中。
在一些实施例中,分配模块13还可以将部分所述转换得到的SLC物理块用于数据的写入,并将另一部分所述转换得到的SLC物理块用于数据的存储以满足需要。
优选地,在利用所述转换得到的单层单元模式物理块进行数据的写入和/或存储的步骤之后还包括更新模块更新闪存物理块信息、物理块的地址信息、闪存转换层中的地址映射表。
如图4所示,优选地,所述检测模块11包括:
擦写次数评估单元111,用于检测所述多层单元模式物理块的擦写次数是否高于预设阈值;
和/或,
错误率评估单元112,用于检测所述多层单元模式物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值是否达到预设比值;
和/或,
无法纠正评估单元113,用于检测所述多层单元模式物理块是否是通过错误检查和纠正处理而无法进行纠正的物理块。
下面基于上述三个条件举例说明安全等级值的技术以及所述预设等级值的设定:
所述安全等级值和所述预设等级值可以是用量化的数值表示,也可以用能够体现等级差异的代码表示,还可以是其他任何适合的形式。
当擦写次数评估单元111获取的所述MLC物理块的擦写次数大于预设阈值时,则所述安全等级值不增加数值,当擦写次数评估单元111获取的所述MLC物理块的擦写次数小于或等于预设阈值时,则所述安全等级值增加数值“1”。此处的预设阈值可是擦写次数评估单元111根据所述MLC物理块的擦写寿命来设定,或者是用户端的技术人员触发的设置指令,擦写次数评估单元111接收技术人员设置的上述预设阈值。如所述MLC物理块的擦写寿命是500次,擦写次数评估单元111设定所述预设阈值为450次,那么当该MLC物理块的擦写次数大于450次时,擦写次数评估单元111则认为该MLC物理块已磨损严重,该MLC物理块已经不安全了,则该MLC物理块的安全等级值不增加数值,即若该MLC物理块的安全等级值的基数是“0”,那么该MLC物理块的安全等级值依然是“0”,若该MLC物理块的擦写次数小于或等于450次时,擦写次数评估单元111则认为该MLC物理块仍安全,则该MLC物理块的安全等级值增加数值“1”,即若该MLC物理块的安全等级值的基数是“0”,那么该MLC物理块的安全等级值现在变成了“1”。
当错误率评估单元112获取的所述MLC物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值达到预设比值时,则所述安全等级值不增加数值,当错误率评估单元112获取的所述MLC物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值低于预设比值时,则所述安全等级值增加数值“1”。所述错误检查和纠正比特数是指该物理块通过错误检查和纠正得到的错误的比特数,所述错误检查和纠正能力值是指在该物理块中最多能被检查和纠正的比特数,此处的预设比值可是错误率评估单元112根据所述MLC物理块的擦写寿命来设定,或者是用户端的技术人员触发的设置指令,错误率评估单元112接收技术人员设置的上述预设阈值。例如,设定预设比值为0.9,那么当所述MLC物理块的错误检查和纠正值与错误检查和纠正能力值的比值大于或等于0.9时,则该MLC物理块的安全等级值不增加数值,当所述MLC物理块的错误检查和纠正值与错误检查和纠正能力值的比值小于0.9时,则该MLC物理块的安全等级值增加数值“1”。
当无法纠正评估单元113检测发现所述MLC物理块通过错误检查和纠正处理而无法进行纠正的时,则所述安全等级值不增加数值,当无法纠正评估单元113检测发现所述MLC物理块通过错误检查和纠正处理可以进行纠正时,则所述安全等级值增加数值“1”。例如,当无法纠正评估单元113读取所述MLC物理块上的数据时,如果发现通过错误检查和纠正处理而无法进行纠正的,则记录该MLC物理块发生无法纠正的状态,并记录该MLC物理块发生无法纠正的页的个数。导致这种通过错误检查和纠正处理而无法进行纠正的的情况有两种,一种是该MLC物理块寿命终结且已经不安全,存储数据不稳定了,另外一种情况是异常掉电导致写入失败。重新上电读取数据异常发生无法纠正。当装置记录得到无法纠正的的页数大于预设页数(如:3),且无法纠正的页之间没有关联关系,则该MLC物理块已经不安全,而非异常掉电产生的无法纠正现象,当无法纠正评估单元113检测得到是所述MLC物理块已经不安全,则所述安全等级值不增加数值,当无法纠正评估单元113检测发现所述MLC物理块通过错误检查和纠正处理可以进行纠正时,则所述安全等级值增加数值“1”。
假设所述安全等级值的基数为“0”,通过上述三个条件检测后检测模块11得到所述MLC物理块的安全等级值为“3”,若检测模块11根据用户端的技术人员触发的设置指令设置预设阈值为“3”,那么该MLC物理块的安全等级值达到了所述预设等级值,若上述三个条件检测后检测模块11得到所述MLC物理块的安全等级值为“2”,那么该MLC物理块的安全等级值没有达到所述预设等级值。
本实施例通过检测模块11获取多层单元模式物理块的信息,实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值,转换模块12将所述安全等级值没有达到预设等级值的多层单元模式物理块转换为擦写寿命长、读写性能稳定的单层单元模式物理块继续使用,使得闪存的存储数据的安全性得到提高,又由于闪存中所述单层单元模式物理块的增多,闪存的寿命和速度得到了提升,再者,分配模块13将所述多层单元模式物理块转换得到的单层单元模式物理块用于数据的写入有利于闪存写入的安全性的提高和速度的提升,分配模块13将所述多层单元模式物理块转换得到的单层单元模式物理块用于数据的存储有利于提高闪存数据存储的安全性。
参照图5,为本发明闪存物理块的控制装置的第二实施例,本实施例在该装置的第一实施例的基础上,还包括:
分区模块14,用于将闪存中的物理块划分为算法区和第一数据区,所述算法区包括闪存的物理块中的单层单元模式物理块,且所述算法区用于数据的写入;所述第一数据区包括闪存的物理块中的多层单元模式物理块,且所述第一数据区用于数据的存储。
由于SLC物理块、MLC物理块的特点不同,因此分区模块14将闪存的物理块分为算法区和数据区,所述算法区包括SLC物理块,且所述算法区用于数据的写入,即所述算法区负责数据的写入、暂存写入的数据、将一定数量的暂存数据转存到所述第一数据区进行存储等,所述第一数据区包括MLC物理块,且所述第一数据区用于数据的存储,即所述第一数据区不执行写入任务,仅用于接收并存储所述算法区转存来的数据。在进行数据写入时,所述算法区中SLC物理块的写入速度远高于所述MLC物理块从而提高了闪存的写入速度,且所述SLC物理块可以承受约十万次的擦写,所述SLC物理块在所述算法区中承担了所有的写入操作从而减少了所述第一数据区的擦写次数,而所述MLC物理块由于速度慢、寿命短、存储密度大被划分在所述第一数据区用于数据的存储,当所述算法区被多次写入而达到一定数量的数据存储量时再将数据转存至所述第一数据区,由于所述第一数据区中的MLC物理块存储容量大,因此闪存可以以较低的成本存储更多的数据。
如图6所示,优选地,所述分配模块13包括:
第一添加单元131,用于将所述转换得到的单层单元模式物理块加入所述闪存的算法区;
第一分工单元132,用于在所述转换得到的单层单元模式物理块加入所述算法区后,利用所述转换得到的单层单元模式物理块进行数据的编程。
第一添加单元131将所述转换得到的SLC物理块分配到所述算法区中,此时,所述算法区中包括了原有的SLC物理块以及所述MLC物理块转换得到的SLC物理块,且所述算法区负责数据的写入,那么所述转换得到的SLC物理块被分配到所述算法区之后,第一分工单元132将所述转换得到的SLC物理块分配用于数据的写入。所述算法区中SLC物理块越多,闪存的写入速度和写入安全性就越高。
如图7所示,优选地,所述分配模块13包括:
第二添加单元133,用于将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区;
第二分工单元134,用于在将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区后,利用所述转换得到的单层单元模式物理块进行数据的存储,且所述第一数据区或者所述第二数据区在接收到需进行存储的数据时,将所述需进行存储的数据优先存储在所述转换得到的单层单元模式物理块中。
第二添加单元133将所述转换得到的SLC物理块分配到现有的数据区中,此时,所述第一数据区中包括了原有的MLC物理块以及所述MLC物理块转换得到的SLC物理块,且所述第一数据区负责数据的存储,所述转换得到的SLC物理块被分配到所述第一数据区之后,第二分工单元134分配所述转换得到的SLC物理块用于数据的存储。第二添加单元133还可以将所述转换得到的SLC物理块重新组成第二数据区,即所述第二数据区中只有所述转换得到的SLC物理块,且所述第二分工单元134分配所述第二数据区负责数据的存储,即所述第二数据区中的转换得到的SLC物理块用于数据的存储。所述第一数据区中SLC物理块越多,闪存的数据存储的安全性就越高。
再者,第二分工单元134控制所述第一数据区或者所述第二数据区在接收到需进行存储的数据时,将所述需进行存储的数据优先存储在所述转换得到的单层单元模式物理块中,则进一步提高了闪存的数据存储的安全性。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种闪存物理块的控制方法,其特征在于,包括以下步骤:
获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值;
在所述安全等级值没有达到预设等级值时,将所述多层单元模式物理块转换为单层单元模式物理块;
利用转换得到的单层单元模式物理块进行数据的写入和/或存储。
2.如权利要求1所述的闪存物理块的控制方法,其特征在于,所述实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值,包括:
检测所述多层单元模式物理块的擦写次数是否高于预设阈值;
和/或,检测所述多层单元模式物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值是否达到预设比值;
和/或,检测所述多层单元模式物理块是否是通过错误检查和纠正处理而无法进行纠正的物理块。
3.如权利要求1或2所述的闪存物理块的控制方法,其特征在于,所述获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值的步骤之前还包括:
将闪存中的物理块划分为算法区和第一数据区,所述算法区包括闪存的物理块中的单层单元模式物理块,且所述算法区用于数据的写入;所述第一数据区包括闪存的物理块中的多层单元模式物理块,且所述第一数据区用于数据的存储。
4.如权利要求3所述的闪存物理块的控制方法,其特征在于,所述利用转换得到的所述单层单元模式物理块进行数据的写入的步骤包括:
将所述转换得到的单层单元模式物理块加入所述闪存的算法区;
在所述转换得到的单层单元模式物理块加入所述算法区后,利用所述转换得到的单层单元模式物理块进行数据的编程。
5.如权利要求3所述的闪存物理块的控制方法,其特征在于,所述利用转换得到的所述单层单元模式物理块进行数据的存储的步骤包括:
将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区;
在将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区后,利用所述转换得到的单层单元模式物理块进行数据的存储,且所述第一数据区或者所述第二数据区在接收到需进行存储的数据时,将所述需进行存储的数据优先存储在所述转换得到的单层单元模式物理块中。
6.一种闪存物理块的控制装置,其特征在于,所述装置包括:
检测模块,用于获取闪存的物理块中多层单元模式物理块的信息,并实时检测所述多层单元模式物理块的安全等级值是否达到预设等级值;
转换模块,用于在所述安全等级值没有达到预设等级值时,将所述多层单元模式物理块转换为单层单元模式物理块;
分配模块,用于利用转换得到的单层单元模式物理块进行数据的写入和/或存储。
7.如权利要求6所述的闪存物理块的控制装置,其特征在于,所述检测模块包括:
擦写次数评估单元,用于检测所述多层单元模式物理块的擦写次数是否高于预设阈值;
和/或,
错误率评估单元,用于检测所述多层单元模式物理块的错误检查和纠正的比特数与错误检查和纠正能力值的比值是否达到预设比值;
和/或,
无法纠正评估单元,用于检测错误检查和纠正处理而无法进行纠正的所述多层单元模式物理块是否是通过错误检查和纠正处理而无法进行纠正的物理块。
8.如权利要求6或7所述的闪存物理块的控制装置,其特征在于,所述装置包括:
分区模块,用于将闪存中的物理块划分为算法区和第一数据区,所述算法区包括闪存的物理块中的单层单元模式物理块,且所述算法区用于数据的写入;所述第一数据区包括闪存的物理块中的多层单元模式物理块,且所述第一数据区用于数据的存储。
9.如权利要求8所述的闪存物理块的控制装置,其特征在于,所述分配模块包括:
第一添加单元,用于将所述转换得到的单层单元模式物理块加入所述闪存的算法区;
第一分工单元,用于在所述转换得到的单层单元模式物理块加入所述算法区后,利用所述转换得到的单层单元模式物理块进行数据的编程。
10.如权利要求8所述的闪存物理块的控制装置,其特征在于,所述分配模块包括:
第二添加单元,用于将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区;
第二分工单元,用于在将所述转换得到的单层单元模式物理块加入所述第一数据区或者将所述转换得到的单层单元模式物理块重新组成第二数据区后,利用所述转换得到的单层单元模式物理块进行数据的存储,且所述第一数据区或者所述第二数据区在接收到需进行存储的数据时,将所述需进行存储的数据优先存储在所述转换得到的单层单元模式物理块中。
CN201410109844.XA 2014-03-21 2014-03-21 闪存物理块的控制方法及装置 Pending CN103927262A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410109844.XA CN103927262A (zh) 2014-03-21 2014-03-21 闪存物理块的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410109844.XA CN103927262A (zh) 2014-03-21 2014-03-21 闪存物理块的控制方法及装置

Publications (1)

Publication Number Publication Date
CN103927262A true CN103927262A (zh) 2014-07-16

Family

ID=51145487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410109844.XA Pending CN103927262A (zh) 2014-03-21 2014-03-21 闪存物理块的控制方法及装置

Country Status (1)

Country Link
CN (1) CN103927262A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988716A (zh) * 2015-02-09 2016-10-05 深圳市硅格半导体有限公司 存储装置及其模式转换的方法
CN107291626A (zh) * 2017-06-19 2017-10-24 北京小米移动软件有限公司 数据存储方法和装置
CN107305478A (zh) * 2016-04-21 2017-10-31 慧荣科技股份有限公司 储存装置及其控制单元、可用于储存装置的数据储存方法
CN108984109A (zh) * 2017-06-05 2018-12-11 宇瞻科技股份有限公司 在闪存上提升存取效能的控制方法
CN109697023A (zh) * 2017-10-24 2019-04-30 宇瞻科技股份有限公司 延长固态硬盘寿命的方法
CN110399094A (zh) * 2019-06-06 2019-11-01 浙江大华技术股份有限公司 固态硬盘的块处理方法、装置、固态硬盘和存储介质
CN113360092A (zh) * 2021-05-17 2021-09-07 维沃移动通信有限公司 数据存储方法、数据存储装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656104A (zh) * 2008-08-22 2010-02-24 群联电子股份有限公司 快闪存储器储存系统及其数据写入方法
US20100049904A1 (en) * 2008-08-22 2010-02-25 Genesys Logic, Inc. Storage device using a multi-level flash memory as a single flash memory and method for the same
CN101937710A (zh) * 2009-06-30 2011-01-05 联发科技股份有限公司 固态磁盘驱动和管理存储装置的方法
CN102142277A (zh) * 2010-01-28 2011-08-03 深圳市江波龙电子有限公司 一种存储器及存储器读写控制方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656104A (zh) * 2008-08-22 2010-02-24 群联电子股份有限公司 快闪存储器储存系统及其数据写入方法
US20100049904A1 (en) * 2008-08-22 2010-02-25 Genesys Logic, Inc. Storage device using a multi-level flash memory as a single flash memory and method for the same
CN101937710A (zh) * 2009-06-30 2011-01-05 联发科技股份有限公司 固态磁盘驱动和管理存储装置的方法
CN102142277A (zh) * 2010-01-28 2011-08-03 深圳市江波龙电子有限公司 一种存储器及存储器读写控制方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988716A (zh) * 2015-02-09 2016-10-05 深圳市硅格半导体有限公司 存储装置及其模式转换的方法
CN107305478A (zh) * 2016-04-21 2017-10-31 慧荣科技股份有限公司 储存装置及其控制单元、可用于储存装置的数据储存方法
CN108984109A (zh) * 2017-06-05 2018-12-11 宇瞻科技股份有限公司 在闪存上提升存取效能的控制方法
CN107291626A (zh) * 2017-06-19 2017-10-24 北京小米移动软件有限公司 数据存储方法和装置
CN109697023A (zh) * 2017-10-24 2019-04-30 宇瞻科技股份有限公司 延长固态硬盘寿命的方法
CN109697023B (zh) * 2017-10-24 2022-04-29 宇瞻科技股份有限公司 延长固态硬盘寿命的方法
CN110399094A (zh) * 2019-06-06 2019-11-01 浙江大华技术股份有限公司 固态硬盘的块处理方法、装置、固态硬盘和存储介质
CN113360092A (zh) * 2021-05-17 2021-09-07 维沃移动通信有限公司 数据存储方法、数据存储装置和电子设备
WO2022242640A1 (zh) * 2021-05-17 2022-11-24 维沃移动通信有限公司 数据存储方法、数据存储装置和电子设备

Similar Documents

Publication Publication Date Title
CN103927262A (zh) 闪存物理块的控制方法及装置
TWI569273B (zh) 非揮發性記憶體裝置讀取干擾管理方法
US8386860B2 (en) Methods of calculating compensation voltage and adjusting threshold voltage and memory apparatus and controller
US9678827B2 (en) Access counts for performing data inspection operations in data storage device
CN102693760B (zh) Nand快闪存储器的错误校正方法
US8732552B2 (en) Block management method, memory controller and memory storage device thereof
CN103745753A (zh) 基于闪存的纠错方法与系统
CN104932951B (zh) 一种nand闪存出现ecc无法纠错时的数据恢复方法
CN105788648A (zh) 基于异构混合内存的nvm坏块识别处理及纠错方法和系统
CN109426441B (zh) 数据储存装置以及其操作方法
CN106415502A (zh) 数据存储的方法和装置
CN103942151A (zh) 闪存的数据存储方法及装置
CN102110028A (zh) 一种nand闪存及其数据的校验方法和装置
CN104794063A (zh) 一种具备电阻式存储器的固态储存装置的控制方法
TW201348960A (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
CN105005450A (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
KR20140134497A (ko) 메모리 시스템 및 그것의 캐시 관리 방법
CN105489242B (zh) 数据储存器件及其操作方法
KR20060054538A (ko) 플래시 메모리의 데이터 처리 장치 및 방법
CN105204958A (zh) 一种延长NAND Flash数据可靠存储时间的编码方法
TWI548991B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN102789813B (zh) 一种控制存储设备内非最低有效位页使用的方法及装置
US20140229796A1 (en) Electronic Control Apparatus
US11231990B2 (en) Device and method for generating error correction information
US11003527B2 (en) Decoding method and device utilizing flash channel characteristic and data storage system

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

Application publication date: 20140716

RJ01 Rejection of invention patent application after publication