NAND Flash分类

SLC(Single-Level Cell)架构:单一储存单元(Cell)可储存1bit data

MLC(Multi-Level Cell)架构:单一储存单元(Cell)可储存2bit data 

SLC

「Small page (528 Byte)Large page (2112 Byte)」

在每个储存单元(Cell)内储存1个资讯位元(bit),称为单阶储存单元(single-level cell, SLC),使用这种储存单元的快闪记忆体也称为单阶储存单元快闪记忆体(SLC flash memory),或简称SLC快闪记忆体。SLC快闪记忆体的优点是传输速度更快,功率消耗更低和储存单元的寿命更长。然而,由于每个储存单元包含的资讯较少,其每百万位元组需花费较高的成本来生产。

Small page (SLC) : 1 page =512 + 16 bytes

Large page (SLC) : 1 page =2048 + 64 bytes

MLC

「Large page (2112 Byte)Large page (4224 Byte)」

多阶储存单元快闪记忆体(Multi-level cell flash memory, MLC flash memory)可以在每个储存单元内储存2个以上的资讯位元 ,其「多阶」指的是电荷充电有多组电压值,如此便能储存多个位元的值于每个储存单元中。因为每个储存单元可储存更多的位元,所以MLC快闪记忆体的每单位储存成本较为低廉。早期比起SLC快闪记忆体,MLC传输速度较慢,功率消耗较高和储存单元的寿命较低为其缺点,但科技日新月异,良率问题持续改善,现今市面上的NAND Flash多数都为MLC架构。

Large page (MLC 2K/Page) : 1 page =2048 + 64 bytes

Large page (MLC 4K/Page) : 1 page =4096 + 128 bytes

NAND Flash 资料结构

NAND Flash Invalid Block 

NAND Flash 在出厂时都会作严格的测试编程,以确认每一个Block(区块、轨区)是否正常,测试不通过的Block 会被标上记号,这些Block 就叫 Initial Invalid Block(潜在的Bad Block)。这些 Initial Invalid Block的资讯很重要,不可以轻易删除,因为有些Block经过Erase后Invalid block 的资讯就会不见,这时使用者自己使用编程器或烧录器厂商都是无法再找出这些 Invalid block 。Invalid Block 的标示位置,在SLC、MLC 上会不一样需注意(厂牌不同也会有差异)。

Bad Block Management

Bad Block Management;BBM,坏轨管理-即控制IC的故障区块管理机制,是用来侦测并标示NAND Flash中的坏轨,避免资料存入坏轨中,用以提升资料存取的可靠性。

NAND Flash中的坏轨可分为Early Bas Block与Latter Bad Block。Early Bad Block是NAND Flash在制造过程中,因制程或技术因素所产生的故障区块,一般约占NAND Flash总容量的1%以内;Latter Bad Block则是在NAND Flash被使用的过程中所产生,一般被IC业者控制在NAND Flash总容量的5%以内。

NAND Flash首次被启用时,控制IC的故障轨区管理程式会逐一检查NAND Flash内每个区块,若有发现坏轨,便将之记录至Bad Block Table;BBT(故障区块表)中,以防止日后资料被写入这些坏轨中。

建立BBT后,随著NAND Flash在使用的过程中,如果有区块在抹写时发生错误,同样也会被记录至BBT中,并将抹写失败的资料内容重新移植到新的有效区块中,以避免因抹写过程的错误导致资料流失或资料异常。

编程器NAND Flash 技术入门的更多相关文章

  1. nand flash详解及驱动编写

    https://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html#nand_ ...

  2. NAND FLASH 物理结构分析

    转自:http://blog.51cto.com/hardywang/2053915 NAND Flash是一种非易失性随机访问存储介质,基于浮栅(Floating Gate)晶体管设计,通过浮栅来锁 ...

  3. 如何编写linux下nand flash驱动-2

    [Nand Flash引脚(Pin)的说明] 图3.Nand Flash引脚功能说明 上图是常见的Nand Flash所拥有的引脚(Pin)所对应的功能,简单翻译如下: 1.       I/O0 ~ ...

  4. A New 3-bit Programming Algorithm using SLC-to-TLC Migration for 8MBs High Performance TLC NAND Flash Memory

    背景 1.2012年左右的数据SLC.MLC.TLC闪存芯片的区别:SLC = Single-Level Cell ,即1bit/cell,速度快寿命长,价格超贵(约MLC 3倍以上的价格),约10万 ...

  5. java基础-网络编程(Socket)技术选型入门之NIO技术

    java基础-网络编程(Socket)技术选型入门之NIO技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传统的网络编程 1>.编写socket通信的MyServer ...

  6. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥

    1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...

  7. NOR flash和NAND flash区别,RAM 和ROM区别

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...

  8. NOR flash和NAND flash区别,RAM 和ROM区别d

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...

  9. 【Zigbee技术入门教程-01】Zigbee无线组网技术入门的学习路线

    [Zigbee技术入门教程-01]Zigbee无线组网技术入门的学习路线 广东职业技术学院  欧浩源 一.引言    在物联网技术应用的知识体系中,Zigbee无线组网技术是非常重要的一环,也是大家感 ...

随机推荐

  1. mysql 存储过程中的declare 和 set @的两种变量的区别

    两者在手册中的说明: DECLARE var_name[,...] type [DEFAULT value]这个语句被用来声明局部变量.要给变量提供一个默认值,请包含一个DEFAULT子句.值可以被指 ...

  2. 新学习的Python的代码(while循环)

    直接上代码: # while.py number = 23 isRun = True while isRun: intt = int(raw_input('请输入一个整数 : ')) if intt ...

  3. c/c++实现混合编程

    在开发中大家经常会使用到c与c++混合编程,这样能够更好的实现功能模块.刚学习了一下c和c++的混合编程,参考了网上的相关知识,在这里留下要点,方便以后进行查阅. 1.extern关键字 extern ...

  4. Oracle EBS-SQL (SYS-20):职责使用菜单2.sql

    select frt.responsibility_name,         fr.menu_id,         fm.menu_name,         fr.request_group_i ...

  5. 用Ultraiso刻录U盘装系统

    一.准备工作: 1.一个U盘,也可以是手机或数码相机内存卡通过读卡器与电脑连接: 2.一个系统ISO镜像: 3.刻录软件UltraISO,用单文件绿色版就可以了. 二.开始刻录U盘: 1.启动Ultr ...

  6. 圣何塞与 Microsoft 宣布该市为超过 5,000 名市府公务员选择 Office 365、Windows Azure 和 StorSimple

    过去几个月来我们展示了极大的客户吸引力,今天我们非常高兴地宣布,我们又赢得了一位新客户,且他们利用 Microsoft 革新 IT 的方式非常有趣. 今天,我们非常高兴地告诉大家,圣何塞市选择了 Mi ...

  7. poj1617---columnar encryption

    题意:给出keyword,如BATBOY,A的ascii值最小,所以第二列最先输出,B有两个,左边的先输出,也就是说,接下来输出第一列和第4列, 所以每一个字母都带有一个ascii值和一个序号,用结构 ...

  8. 菜鸟级SQL Server21天自学通(文档+视频)

    SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言.SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据 ...

  9. Objective C 链式调用

    起因 某日使用DKChainableAnimationKit的时候发现可以如下写代码: view.animation.rotate(180).anchorTopLeft.thenAfter(1.0). ...

  10. java入门学习(九) 算术运算符

    请大家关注我的博客www.taomaipin.com 运算符在java基础中也占有着举足轻重的位置,我们当然要学会它.java 其实和其他计算机语言一样,基本的算术运算符基本一样,让我们看看 有哪些算 ...