欢迎来到深圳市昂科技术有限公司
  • 中文
  • 英文
  • 日文
语言版本
国家高新企业 股票代码:873207
  • 电话: +86-755-26971006
  • 手机: 86-13751075276

剖析NAND Flash的编程结构

日期: 2020-01-06
浏览次数: 103
来源:
作者:
浏览次数: 103
发布日期:
剖析NAND Flash的编程结构

上一篇文章我们介绍了NAND Flash和NOR Flash的区别,从结构及原理上看,NOR Flash这种类似ROM的结构方式,使得他编程简单,所以使用的工程师也很多,要不是成本太高,NAND Flash根本无法生存。

NAND Flash由于价格低廉,存储容量大,越来越受到消费者的喜爱,特别是需要存储大量数据的消费者。那NAND Flash的编程又要注意哪些呢?

分区(Partition)

定义分区的实质是定义数据会如何写入NAND Flash,不同内容的数据写到对应的地址中。一般用户会有多个区,比如boot、kernel、fs、user等分区。

分区的描述:分区的地址范围(起始块、结束块),镜像文件大小(Image Size)。

分区的数据存储:镜像文件是从分区的起始块开始存放,如果分区中有坏块,将使用坏块处理策略替换坏块,直到镜像文件结束,如果分区中不够好块存放镜像文件,则烧录失败。

如下图是跳过坏块的镜像文件分区烧写示意图:

剖析NAND Flash的编程结构
备用区(OOB)的ECC

ECC 存在于NAND 每页的备用区(Spare Area)中,它允许外部系统发现主区的数据是否有误。在大多数情况下,ECC 算法可以纠正误码,NandFlash在使用中也可能会出现坏块,所以ECC是非常有必要的。

不同的用户会可能会使用不同的ECC算法,一般来说ECC算法由处理器供应商提供,如果编程器软件中无这个ECC算法,则需要用户提供ECC算法源代码。

如果用户不使用调入文件,而是使用读母片的方式烧录,并且无动态数据,则可以不考虑ECC算法,因为母片中的备用区已计算好ECC,直接将母片的备用区拷贝至其他芯片即可。

坏块管理(Bad Block Management)

坏块处理策略定义了在遇到坏块时算法应该如何处理,基本的坏块处理策略有:跳过坏块、替换表(预留块区Reserve BlockArea,RBA)等等。

● 硬拷贝

硬拷贝其实就是遇到坏块什么都不处理,不管好块还是坏块直接烧写,即使校验数据不一致也不报错;

剖析NAND Flash的编程结构
● 跳过坏块

跳过坏块就是遇到坏块跳到下一个好块烧;

剖析NAND Flash的编程结构
● 替换表

就是预留一些块作为保留块,是用于替换坏块用,当遇到坏块时,在保留区中选一个块来替换,将原来写到坏块的数据写到替换块中。

剖析NAND Flash的编程结构
● BBT(Bad block table)

其实就是使用跳过坏块,然后在Nand闪存指定位置写入一个坏块表(Bad block table),下图是BBT的结构图。

剖析NAND Flash的编程结构

转自:致远电子

相关新闻 / News More
  • 点击次数: 138
    2020 - 02 - 28
    深圳市昂科技术有限公司(股票代码:873207),专业的 IC 烧录器制造商,推出了 Universal Flash Storage (UFS) 专用的工程型与量产型烧录器,以及自动化烧录设备。新推出的新一代烧录器整合了 UFS 系统设计与应用,适用于研发、产品验证及工厂小批量和大批量生产需求。低功耗、高性能的可靠存储UFS 是一种专为需要最低功耗的智能手机与平板电脑等计算及移动系统设计的先进高性能接口。 eUFS/UFS 卡与过去基于信号架构的 eMMC/SD 卡的主要区别在于其高可靠性的高速低功耗串行接口。 鉴于 UFS 的高性能和高可靠性,三星已看到了其在手机市场中的应用。三星将通过推出各种先进的 UFS 产品继续满足行业不断增加的存储需求,同时更加彻底地解决其它市场细分在尖端内存解决方案方面日益增长的需求。 eUFS – 取代 eMMC 的超快嵌入式存储解决方案UFS 通过两种方式提高闪存的读写性能。首先,与 eMMC 不同,UFS 有两条专门用于读写数据的专用信道,从而能够同时读/写数据流。UFS 的第二项优势就是命令队列,它能通过高效的读写命令分组与排序(再排序)实现最高性能和吞吐量。 UFS 卡 – 比 SD 卡快 70 倍的存储卡三星 UFS 卡专为需要高速大容量外部存储器的高级应用设计,如 4K/8K 视频录像、360度 虚拟现实 (VR)、RAW 图像和高端移动设备。 UFS 的外形尺寸与标准 microSD (11x15mm)相似,并且其设计能够在同一个组合插口中同时使用 UFS 卡和 microSD 卡。UFS 卡支持高速串行接口和单独的 TX/RX 线,因此能够在主机系统和 UFS 存储设备间同时传输数据,从而实现更高效的多任务处理。uMCP - 嵌入 UFS 和 DRAM 的单芯片解决方案如前所述...
  • 点击次数: 102
    2020 - 02 - 26
    深圳市昂科技术有限公司,专业的 IC 烧录器制造商,推出了 Universal Flash Storage (UFS) 专用的工程型与量产型烧录器,以及自动化烧录设备。新推出的新一代烧录器整合了 UFS 系统设计与应用,适用于研发、产品验证及工厂小批量和大批量生产需求。            2018年1月,UFS 3.0正式发布。作为UFS 2.0和2.1的迭代升级产品,UFS 3.0在性能上带来了非常显著的提升和进步。不过,目前这款闪存并没有正式商用,所以关于他的实际性能我们无从得知。日前,网络上曝光了一张1TB UFS 3.0闪存的Androbench读写测试记录截图。从这份记录中,我们可以明显的看到UFS 3.0的顺序读取速度达到了2279.8MB/s,顺序写入速度达到了1801.1MB/s。按照目前UFS 2.1普遍的700-800MB/s顺序读取速度来看,基本是2-3倍了。不过UFS 3.0的4K随读和随写的成绩和现有的UFS 2.1差别并不大,不排除还有优化空间的可能性。根据先前的介绍,UFS(即通用闪存存储)3.0主打高性能、低功耗,它是首个引入了MIPI M-PHY HS-Gear4标准的闪存,单通道带宽高达23.2Gbps,是UFS 2.0/2.1的两倍。另外,UFS 3.0支持更多分区,纠错的能力升级,电压达到2.5V,并支持最新的NANG Flash介质。2019年的主流旗舰芯片都支持UFS 3.0,目前已经确定高通骁龙855和三星Exynos 9820能够兼容这一全新的闪存规格。三星也曾表示预计将会在今年上半年推出搭载UFS 3.0闪存的机型。目前推测,三星Galaxy S10系列应该会有一款产品,采用的是UFS 3.0规格闪存,...
  • 点击次数: 106
    2020 - 02 - 01
    快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存卡与U盘。闪存是非易失性的存储器,所以单就保存数据而言, 它是不需要消耗电力的。与硬盘相比,闪存也有更佳的动态抗震性。这些特性正是闪存被移动设备广泛采用的原因。闪存还有一项特性:当它被制成储存卡时非常可靠,即使浸在水中也足以抵抗高压与极端的温度。闪存的写入速度往往明显慢于读取速度。NorFlashNOR Flash需要很长的时间进行抹写,但是它提供完整的寻址与数据总线,并允许随机存取存储器上的任何区域,这使的它非常适合取代老式的ROM芯片。当时ROM芯片主要用来存储几乎不需更新的代码,例如电脑的BIOS或机上盒(Set-top Box)的固件。NOR Flash可以忍受一万到一百万次抹写循环,它同时也是早期的可移除式快闪存储媒体的基础。CompactFlash本来便是以NOR Flash为基础的,虽然它之后跳槽到成本较低的 NAND Flash。NandFlashNAND Flash是东芝在1989年的国际固态电路研讨会(ISSCC)上发表的, 要在NandFlash上面读写数据,要外部加主控和电路设计。。NAND Flash具有较快的抹写时间, 而且每个存储单元的面积也较小,这让NAND Flash相较于NOR Flash具有较高的存储密度与较低的每比特成本。同时它的可抹除次数也高出NOR Flash十倍。然而NAND Flash 的I/O接口并没有随机存取外部地址总线,它必须以区块性的方式进行读取,NAND Flash典型的区块大小是数百至数千比特。因为多数微处理器与微控制器要求字节等级的随机存取,所以NAND Flash不适合取代那些用以装载程序的ROM。从这样的角度看来...
  • 点击次数: 48
    2020 - 02 - 01
    非易失性存储元件有很多种,如EPROM、EEPROM、NOR FLASH和NAND FLASH,前两者已经基本被淘汰了,因此我仅关注后两者,本文对FLASH的基本存储单元结构、写操作、擦除操作和读操作的技术进行了简单介绍,对了NOR和NAND由存储结构决定的特性和应用场合的差异,对后续的硬件设计和驱动编程起到铺垫作用。1 FLASH基本存储单元---浮栅场效应管  NOR FLASH和NAND FLASH都是使用浮栅场效应管(Floating Gate FET)作为基本存储单元来存储数据的,浮栅场效应管共有4个端电极,分别是为源极(Source)、漏极(Drain)、控制栅极(Control Gate)和浮置栅极(Floating Gate),前3个端电极的作用于普通MOSFET是一样的,区别仅在于浮栅,FLASH就是利用浮栅是否存储电荷来表征数字0’和‘1’的,当向浮栅注入电荷后,D和S之间存在导电沟道,从D极读到‘0’;当浮栅中没有电荷时,D和S间没有导电沟道,从D极读到‘1’,原理示意图见图1.1[1],图1.2是一个实际浮栅场效应管的剖面图。注:SLC可以简单认为是利用浮栅是否存储电荷来表征数字0’和‘1’的,MLC则是要利用浮栅中电荷的多少来表征‘00’,‘01’,‘10’和‘11’的,TLC与MLC相同。 2 FLASH基本存储单元的操作---写/擦除/读  FLASH中,常用的向浮栅注入电荷的技术有两种---热电子注入(hot electron injection)和F-N隧道效应(Fowler Nordheim tunneling);从浮栅中挪走电荷的技术通常使用F-N隧道效应(Fowler Nordheim tunneling),基本原理见图2[2]。  写操作就是向浮栅注入电荷的过程,NOR FLASH通过热电子注入方式向浮栅注入电荷(这种方法...
  • 点击次数: 100
    2020 - 01 - 06
    这个时候发这篇文章难免有蹭热点的嫌疑。但作为一个计算机体系结构的研究生,在这些名词满天飞的时候,我的好奇心是抑制不住的,想一探这几样技术的究竟。本文不对某一特定事件进行点评,仅从技术角度分析对比一下这三种技术。就算是当做自己的技术储备+科普了。首先,这三种技术都是属于闪存(Flash Memory)的不同种类,区别主要在于控制器,接口标准以及更底层的 Flash 芯片标准。它们在电脑/手机等系统中的主要作用是作为存储设备(storage)/文件系统。(注意它们虽然也叫memory,但和运存的 memory是完全两回事儿)以前电脑系统中的主要的存储设备是机械式磁盘,访问速度慢,体积庞大,功耗高,而且对震动非常敏感,因此很难用于小型化的移动设备里。Flash Memory 出现后,由于没有移动部件,几乎完美解决了以上机械硬盘的各种问题,因此很快在各种移动设备中获得广泛应用。(当然,Flash的写操作和寿命的问题也比较复杂,但这不是本文的讨论重点) 而且基于Flash 的 SSD 硬盘性能普遍好于传统机械硬盘,因此也成为了PC/服务器的主流存储设备。那么既然 SSD,eMMC,UFS 都是 Flash,它们的区别在哪呢?想要了解它们的区别,首先要了解他们解决的问题。SSD 主要作用是取代 PC/服务器 上的 HDD 硬盘,它需要:超大容量(百GB~TB级别)极高的并行性以提高性能对功耗,体积等要求并不敏感兼容已有接口技术 (SATA,PCI等)而 eMMC 和 UFS主要都是针对移动设备发明的,它们需要:适当的容量适当的性能对功耗 ,体积的要求极其敏感仅需遵循一定的接口标准 (稍后解释)为了直观感受一下区别,我刚才特意找来了一个 PCIe 的 SSD,如下图,上面黑色的芯片就是Flash:我又拆了一个手机,它里面的 Flash 芯片是这样的(中间那个最大的黑色芯片):看到区别了吗...
  • 点击次数: 44
    2020 - 01 - 06
    NandFlash存储器由多个Block组成,每一个Block又由多个Page组成,Page的大小一般为2K+64Bytes或512+16Bytes。Page是读取和编程的基本单位,而擦除的基本单位是Block。图1 NAND Flash的存储结果NAND Flash的页,包含主区(Main Area)和备用区(Spare Area)两个域,“主区”中有512*8(或256*16)或2048*8(或1024*16)个位,“备用区”中有16*8(或8*16)或64*8(或32*16)个位,这样每一页总共有528*8(264*16)或2112*8(或1056*16)个位。备用区是保留区域,用来标记坏块(bad block)和存放ECC的值,因此对于用户来说只有“主区”是可用的。图1是MT29F2G08AxB的结构图,它的读取和编程都以Page为基本单位,所以它的Cache Register和Data Register都是一个Page的规格。NandFlash的特别之处就在于页结构,它分成数据区和备用区两个部分,数据区和备用区按页的形式一一对应,因此读取和编程的数据流也需要按页的结构进行组织和分解。图1所示的MT29F2G08AxB芯片的数据区为2048字节,备用区为64字节。在实际应用中,备用区一般用于数据区的检错和纠错。NAND flash出厂时可能含有无效的块,在使用过程中也可能会出现其他无效的块。无效的块即为包含一个或多个坏位的块。每一片芯片在出厂前都经过测试和擦除,并标识了坏块,禁止对在出厂时作了标记的坏块进行擦除或编程。因此在应用中和编程时,都需要能够对坏块进行识别和处理。NandFlash的第一块保证是可用的。另外,Micron NandFlash具有10个页的OTP区域,这个区域不能被擦除,只能编程一次,而且如果被保护,即使是把1编程为0也是禁止的。坏块由于NAN...
手机官网
微信公众号




Copyright ©2019 - 2020 深圳市昂科技术有限公司
犀牛云提供企业云服务
X
1

QQ设置

等待加载动态数据...

等待加载动态数据...

等待加载动态数据...

等待加载动态数据...

等待加载动态数据...

等待加载动态数据...

5

电话号码管理

  • 13751075276
6

二维码管理

等待加载动态数据...

等待加载动态数据...

展开