本申请公开了一种NAND闪存控制器的写入控制方法,包括如下步骤:第1步,对于首次使用的、或者未存储任何数据的NAND闪存,通过全局扫描将所有页分类为误比特率高的页地址空间、误比特率低的页地址空间之一。第2步,为NAND闪存上的所有可用页建立页属性链表,其中包括所有可用页的页地址和所述分类信息。第3步,标记当前待写入数据是重要数据、或是非重要数据。第4步,标记当前逻辑地址为写入频率高、或是写入频率低。第5步,根据当前待写入数据是否为重要数据、以及当前逻辑地址的写入频率高低,查找页属性链表得到当前待写入数据的页地址。本申请可以对NAND闪存的写入操作以页为单位进行均衡管理,延长NAND闪存的使用寿命。
【技术实现步骤摘要】
NAND闪存控制器及其写入控制方法
本申请涉及一种NAND闪存控制器。
技术介绍
闪存(flash)是一种常见的非易失性存储器。根据存储单元的连接方式不同,闪 存分为NOR闪存和NAND闪存。NOR闪存的存储单元是并行连接的,且具有独立的地址线和 数据线,可以直接寻址每一个存储单元。NAND闪存的存储单元是串行连接的,且地址线和数 据线共用,不能直接寻址每一个存储单元。NAND闪存被分为若干块(block),每个块被分为若干页(page),每个页包含若干 字节(byte),每个字节为8比特(bit)。NAND闪存以页为单位进行读取和写入,以块为单位 进行擦除。NAND闪存依赖FN隧穿(Fowler-Nordheim Tunneling)效应写入和擦除数据,其 平均写入/擦除循环次数在10万次左右(SLC型)、I万次左右(MLC型)、1000次左右(TLC 型)。其中SLC型、MLC型、TLC型分别表示每个存储单元可存储I个、2个和3个比特。请参阅图1,这是NAND闪存控制器的一个示例。NAND闪存100与主机300之间由 NAND闪存控制器200进行连接。所述NAND闪存100用于存储数据和校验码。所述主机300 是计算或媒体装置,包括计算机、手机、平板电脑、数码相机等。所述NAND闪存控制器200包括——闪存接口单元201,通过NAND闪存总线与NAND闪存100相连接,并接受系统 接口单元205的控制对NAND闪存100进行数据存储操作,包括读取、写入、擦除等。常见的 NAND闪存100的接口类型包括Normal、Toggle、ONFI等。——数据缓存单元202,接受系统接口单元205的控制,缓存向NAND闪存100写入 的数据以及从NAND闪存100读取的数据,从而可靠地保护写入和读取过程中的临时数据。—ECC编码单元203,接受系统接口单元205的控制,执行编码算法,为数据生成 校验码。—ECC解码单元204,接受系统接口单元205的控制,执行解码算法,根据校验码 判断数据是否出错,并在出错时对数据纠错。ECC表示Error Checking and Correction(差错检测与修正),常用的ECC编码和 解码算法包括 Hamming(汉明)、RS(Reed_Solomon,里德-所罗门)、BCH(Bose、Ray-Chaudhuri 与 Hocquenghem)等。——系统接口单元205,通过系统总线与主机300相连接,接收并处理主机300发 出的命令,对闪存接口单元201、数据缓存单元202、ECC编码单元203、ECC解码单元204进 行控制,实现NAND闪存控制器200与主机300的数据读写交互。为了延长NAND闪存的使用寿命,目前普遍采用损耗均衡(wear-leveling)算法。 该算法一方面管理所有可用的空闲块,选择擦除次数最少的空闲块用于下一次写入操作; 另一方面管理所有可用的可擦除块,试图平衡所有可用的可擦除块的损耗。然而,NAND闪存在同一个块中的不同页的写入/擦除循环次数也是不同的,差别甚至可达I个数量级以上。采用损耗均衡算法只能以块为单位进行一定程度上的均衡使 用,无法有效地以页为单位进行均衡使用。
技术实现思路
本申请所要解决的技术问题是提供一种NAND闪存控制器及其写入控制方法,可 以对NAND闪存的写入操作以页为单位进行均衡管理,从而有效控制每个页的写入/擦除循 环次数,最大化地延长NAND闪存的使用寿命。为解决上述技术问题,本申请NAND闪存控制器的写入控制方法包括如下步骤第I步,对于首次使用的、或者未存储任何数据的NAND闪存,通过全局扫描将所有 页分类为误比特率高的页地址空间、误比特率低的页地址空间之一;第2步,为NAND闪存上的所有可用页建立页属性链表,其中包括所有可用页的页 地址和所述分类信息;第3步,标记当前待写入数据是重要数据、或是非重要数据;第4步,在当前待写入数据是非重要数据的情况下,标记当前逻辑地址为写入频 率高、或是写入频率低;第5步,根据当前待写入数据是否为重要数据、以及当前逻辑地址的写入频率高 低,查找页属性链表得到当前待写入数据的页地址。实现上述写入控制方法的NAND闪存控制器包括系统接口单元;所述系统接口单 元包括—缺陷扫描模块,用来对NAND闪存进行缺陷检测,并将所有页面根据误比特率 分为两类,还生成页属性链表;——数据标记模块,用来标记当前待写入数据的重要性;——逻辑地址标记模块,用来统计当前逻辑地址在以往进行过写入操作的次数, 并标记当前逻辑地址的写入频率;——物理地址分配模块,根据当前待写入数据的重要性和当前逻辑地址的写入频 率,通过查找页属性链表得到当前待写入数据的实际存储的物理地址;——页属性链表,包括NAND闪存的所有可用页的页地址和分类信息。本申请为NAND闪存提供了一种写入控制方法,通过动态地分配写入数据的物理 地址,使NAND闪存的各页面的写入/擦除循环次数保持均衡,从而实现延长NAND闪存的使 用寿命。附图说明图1是NAND闪存控制器的结构示意图2是本申请NAND闪存控制器的写入控制方法的流程图3是实现本身申请所述的写入控制方法的系统接口单元的结构示意图。图中附图标记说明100为NAND闪存;200为NAND闪存控制器;201为闪存接口单元;202为数据缓存 单元;203为ECC编码单元;204为ECC解码单元;205、205’为系统接口单元;300为主机; 501为缺陷扫描模块;502为数据标记模块;503为逻辑地址标记模块;504为物理地址分配模块;505为页属性链表。具体实施方式请参阅图2,这是本申请NAND闪存控制器的写入控制方法的一个实施例。其包括 如下步骤第I步,对于首次使用的、或者未存储任何数据的NAND闪存100,通过全局扫描发 现存储功能缺陷。具体做法为先向NAND闪存100的所有页写入固定数据,再读取所有页的数据; 将读取数据与写入数据做比较,统计出每页的错误比特数。将错误比特数>第一阈值的页 地址划归为误比特率高的页地址空间,将错误比特数< 第一阈值的页地址划归为误比特率 低的页地址空间。错误比特数=第一阈值的页地址或者划归为误比特率高的页地址空间, 或者划归为误比特率低的页地址空间。例如,第一阈值的确定方法是以512字节为单位,每512字节容忍4比特错误; NAND闪存的页大小是512字节的几倍,第一阈值就是该倍数乘以4比特。例如对页大小是 4K字节的NAND闪存,4K字节是512字节的8倍,那么第一阈值就定为32比特。优选地,用于产生所述固定数据的算法包括有March、March C> March C+等。第2步,为NAND闪存100上的所有可用页建立页属性链表。所述页属性链表中包 括所有可用页的页地址和分类信息。所述分类信息只有两种属于误比特率高的页地址空 间、属于误比特率低的页地址空间。以ECC编码单元203编码后数据大小为ECC编码单位,所述可用页表示第I步测 试时该页的所有ECC编码单位的错误比特数小于或等于ECC解码单元204所能纠正的ECC 编码单位的比特数的页。如果有页的任何一个或多个ECC编码单位的错误比特数大于ECC 解码单元204所能纠本文档来自技高网...
【技术保护点】
一种NAND闪存控制器的写入控制方法,其特征是,包括如下步骤:第1步,对于首次使用的、或者未存储任何数据的NAND闪存,通过全局扫描将所有页分类为误比特率高的页地址空间、误比特率低的页地址空间之一;第2步,为NAND闪存上的所有可用页建立页属性链表,其中包括所有可用页的页地址和所述分类信息;第3步,标记当前待写入数据是重要数据、或是非重要数据;第4步,在当前待写入数据是非重要数据的情况下,标记当前逻辑地址为写入频率高、或是写入频率低;第5步,根据当前待写入数据是否为重要数据、以及当前逻辑地址的写入频率高低,查找页属性链表得到当前待写入数据的页地址。
【技术特征摘要】
1.ー种NAND闪存控制器的写入控制方法,其特征是,包括如下步骤 第I步,对于首次使用的、或者未存储任何数据的NAND闪存,通过全局扫描将所有页分类为误比特率高的页地址空间、误比特率低的页地址空间之ー; 第2步,为NAND闪存上的所有可用页建立页属性链表,其中包括所有可用页的页地址和所述分类信息; 第3步,标记当前待写入数据是重要数据、或是非重要数据; 第4步,在当前待写入数据是非重要数据的情况下,标记当前逻辑地址为写入频率高、或是写入频率低; 第5步,根据当前待写入数据是否为重要数据、以及当前逻辑地址的写入频率高低,查找页属性链表得到当前待写入数据的页地址。2.根据权利要求1所述的NAND闪存控制器的写入控制方法,其特征是,所述方法第I步采用的分类方法为先向NAND闪存的所有页写入固定数据,再读取所有页的数据;将读取数据与写入数据做比较,统计出每页的错误比特数;将错误比特数 > 第一阈值的页地址划归为误比特率高的页地址空间,将错误比特数 < 第一阈值的页地址划归为误比特率低的页地址空间;错误比特数=第一阈值的页地址或者划归为误比特率高的页地址空间,或者划归为误比特率低的页地址空间。3.根据权利要求2所述的NAND闪存控制器的写入控制方法,其特征是,用于产生所述固定数据的算法包括March、March C、March C+。4.根据权利要求2所述的NAND闪存控制器的写入控制方法,其特征是,所述第一阈值为4比特X页大小/512字节。5.根据权利要求2所述的NAND闪存控制器的写入控制方法,其特征是,所述可用页是指该页的所有ECC编码单位的错误比特数均低于ECC解码单元所能纠...
【专利技术属性】
技术研发人员:黄秀荪,李琳,黎骅,毛天然,
申请(专利权)人:锐迪科科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。