一种Flash均衡处理方法、电子设备和存储介质技术

技术编号:37680455 阅读:23 留言:0更新日期:2023-05-28 09:34
本发明专利技术公开了一种Flash均衡处理方法、电子设备和存储介质。该Flash均衡处理方法包括初始化过程,所述初始化过程包括:扫描各个物理段,每一物理段包括多个存储块,每一存储块包括多个物理页;判断每一物理段中的连续预定数个物理页是否处于空闲状态;若是则将该物理段记录为空闲物理段,否则记录该物理段与逻辑段的段映射关系,所述段映射关系为:每个物理段对应一个逻辑段,每个逻辑段对应多个物理段。实施本发明专利技术,通过配置新的物理段体系、逻辑段体系及其映射关系,在初始化过程中,能够有效减少物理页的遍历,加载侧重在段信息及其段映射关系体现上,无需关注页映射关系,这样能够有效缩短初始化时间,也便于无用块的回收处理。理。理。

【技术实现步骤摘要】
一种Flash均衡处理方法、电子设备和存储介质


本专利技术涉及计算机系统和存储
,尤其涉及一种Flash均衡处理方法、电子设备和存储介质。

技术介绍

Flash Memory(闪存,以下简称Flash)是一种非易失性存储器。在嵌入式系统中,通常用于存放系统、应用和数据等。在PC(Personal Computer,个人计算机)系统中,主要用于SSD(Solid State Disk或Solid State Drive,固态硬盘,简称SSD))以及主板BIOS(Basic Input Output System,基本输入输出系统)中。另外,绝大部分的U盘(USB Flash disk)、SD存储卡(Secure Digital Memory Card)等移动存储设备也使用Flash作为存储介质。Flash的基本组成单元是浮栅晶体管,其状态可以用来表征二进制的0或1。写操作是往晶体管中注入电子,使之充电,擦除操作则是将晶体管中的电子排出,使之放电。由于这种方案为模拟系统,晶体管并不存在绝对的空和满状态,其中的电子数目可以处于空和满之间的任一个状态。由此,可以根据晶体管中电子的数目来表征二进制的0和1。比如在SLC(Single Level Cell)中,晶体管中电子数目小于50%的时候代表1,大于50%的时候代表0。SLC是对电子数目所作的一阶量化,所以一个晶体管可以代表两个状态:0和1。若对晶体管中的电子数目作二阶量化,可形成MLC(Multi Level Cell),即一个晶体管即可代表四个状态:少于25%代表00,25%~50%代表01,50%~75%代表10、大于75%代表11。另外,还可对晶体管中的电子数目做三阶量化,形成TLC(Three Level Cell),即一个晶体管就可以代表八个状态:000、001、010、011、100、101、110、111。由此可知,量化等级越高,一个晶体管可以表示的状态越多,存储密度就越大,同等数量的存储单元组成的存储介质,存储容量也越大。根据硬件存储原理的差异,Flash主要可以分为NOR Flash和NAND Flash两类。NAND Flash读取速度与NOR Flash相近,根据接口的不同有所差异;NAND Flash的写入速度比NOR Flash快很多;NAND Flash的擦除速度比NOR Flash快很多;NAND Flash最大擦次数比NOR Flash多;NOR Flash支持片上执行,可以在上面直接运行代码;NOR Flash软件驱动比NAND Flash简单;NOR Flash可以随机按字节读取数据,NAND Flash则需要按块进行读取;大容量下NAND Flash比NOR Flash成本要低很多,体积也更小。总体而言,NOR Flash的成本相对高,具体读写数据时候,不容易出错,所以整体上比较适合应用于存储少量的代码,而NAND Flash相对成本低、容量大,使用中数据读写容易出错,一般都需要有对应的软件或者硬件的数据校验算法,统称为ECC(Error Code Correction,或者Error Checking and Correcting)。由于相对来说,容量大,价格便宜,所以整体上比较适合用来存储大量的数据,其在嵌入式系统中的作用相当于PC上的硬盘,用于存储大量数据。Flash芯片在组成上可以包括以下从小到大的各个层次:cell(单元)、page(页)、block(块)、plane(平面)、die(核心)、package(闪存芯片)等。其中,单元cell是闪存的最小
工作单位,执行数据存储的任务。Flash根据每个单元内可存储的数据量可分成前述的SLC(1bit/cell)、MLC(2bit/cell)、TLC(3bit/cell)等量化等级,随着量化等级的提升,成本依次降低,容量依次增大,耐用度也依次降低。每个page包含大量的cell单元,page是Flash当中能够读取和写入的最小单位,例如,若需读取512字节的数据,则需在Flash层面上将把包含这512字节数据的所有page内容全部读出。每个block由数十、数百乃至数千个page组成,block为最小擦除单元。每个plane由数十、数百乃至数千个Block页组成,另外每个plane都有独立的page register和cache register。die也可称作LUN,每个die可以包括一个到多个plane,plane是Flash中可执行命令并汇报自身状态的最小独立单元。与传统硬盘等存储器相比,Flash具有质量轻、能耗低、体积小、抗震能力强等的优点,但也有存在一些特点和不足,主要包括:

需要先擦除再写入,具体而言,Flash在写入数据时有一定的限制,它只能将当前为1的比特改写为0,而无法将已经为0的比特改写为1,只有在擦除的操作中,才能把整块的比特改写为1;因此Flash在更新数据时采用的是异步更新的方式。例如,某个page中已经写入了数据,如想修改这个page中的内容,只能通过这种方法:先把本page所属block的数据全部读出来,比如先读到内存DRAM;然后修改对应page的内容;接下来擦除整个block;最后把修改后的block数据回写到Flash中的新page(新的page和老的page可以位于同一个block,也可以位于不同的block,甚至位于不同的die)。

数据块擦除次数有限,具体而言,Flash的每个数据块(block)都有擦除次数的限制(十万到百万次不等),在擦写超过一定次数后,该数据块将无法可靠存储数据,成为坏块。Flash芯片上的最大擦写次数称为PE Cycles(Program erase cycles,往Flash写入的过程又称为编程过程,即program)。为了最大化的延长Flash的寿命,在软件上需要做好擦写均衡(Wear Leveling),通过分散写入、动态映射等手段均衡使用各个数据块。同时,软件还需要进行坏块管理(Bad Block Management,BBM),标识坏块,不让坏块参与数据存储。

读写干扰,具体而言,由于硬件实现上的物理特性,Flash在进行读写操作时,有可能会导致邻近的其他比特发生位翻转,导致数据异常。这种异常可以通过重新擦除来恢复。Flash应用中通常会使用ECC等算法进行错误检测和数据修正。

电荷泄漏,具体而言,存储在Flash存储单元的电荷,如长期没有使用,会发生电荷泄漏,导致数据错误。当然这个时间比较长,一般十年左右。此种异常是非永久性的,重新擦除可以恢复。由于Flash存在按块擦写、擦写次数的限制、读写干扰、电荷泄露等特点或局限,为了最大程度的发挥Flash的价值,通常需要有一个特殊的软件层次,实现坏块管理、擦写均衡、ECC、垃圾回收等的功能,这一个软件层次称为FTL(Flash Translation Layer,闪存转换层)。在具体实现过程中,根据FTL所在的位置的不同,可以把Flash Memory分为Raw Flash和Managed Fl本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Flash均衡处理方法,其特征在于,所述方法包括初始化过程,所述初始化过程包括:扫描各个物理段,每一物理段包括多个存储块,每一存储块包括多个物理页;判断每一物理段中的连续预定数个物理页是否处于空闲状态;若是则将该物理段记录为空闲物理段,否则记录该物理段与逻辑段的段映射关系,所述段映射关系为:每个物理段对应一个逻辑段,每个逻辑段对应多个物理段。2.如权利要求1所述的Flash均衡处理方法,其特征在于,所述预定数个为两个。3.如权利要求1所述的Flash均衡处理方法,其特征在于,所述初始化过程在记录物理段与逻辑段的段映射关系后还包括:加载该物理段的年龄字。4.如权利要求1至3任一项所述的Flash均衡处理方法,其特征在于,所述方法还包括写操作过程,所述写操作过程包括:根据拟写入的逻辑页所属的逻辑段的信息获得该逻辑段所对应的物理段的信息;根据该物理段的信息获取可用的物理页号;将数据写入到相应的物理页中;更新该物理段与该逻辑段的从物理页到逻辑页的页映射关系。5.如权利要求4所述的Flash均衡处理方法,其特征在于,所述写操作过程还包括:在拟写入的逻辑段没有映射的物理段时,为该逻辑段分配及映射至少一个物理段并更新该物理段与该逻辑段的段映射关系。6.如权利要求4所述的Flash均衡处理方法,其特征在于,所述方法还包括读操作过程,所述读操作过程包括:根据拟写入的逻辑页所属的逻辑段的信息获得该逻辑段及其对应物理段的页映射表;...

【专利技术属性】
技术研发人员:肖丹周良
申请(专利权)人:北京科银京成技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1