编程器NAND Flash 技术入门
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 技术入门的更多相关文章
- nand flash详解及驱动编写
https://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html#nand_ ...
- NAND FLASH 物理结构分析
转自:http://blog.51cto.com/hardywang/2053915 NAND Flash是一种非易失性随机访问存储介质,基于浮栅(Floating Gate)晶体管设计,通过浮栅来锁 ...
- 如何编写linux下nand flash驱动-2
[Nand Flash引脚(Pin)的说明] 图3.Nand Flash引脚功能说明 上图是常见的Nand Flash所拥有的引脚(Pin)所对应的功能,简单翻译如下: 1. I/O0 ~ ...
- 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万 ...
- java基础-网络编程(Socket)技术选型入门之NIO技术
java基础-网络编程(Socket)技术选型入门之NIO技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传统的网络编程 1>.编写socket通信的MyServer ...
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥
1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...
- NOR flash和NAND flash区别,RAM 和ROM区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...
- NOR flash和NAND flash区别,RAM 和ROM区别d
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...
- 【Zigbee技术入门教程-01】Zigbee无线组网技术入门的学习路线
[Zigbee技术入门教程-01]Zigbee无线组网技术入门的学习路线 广东职业技术学院 欧浩源 一.引言 在物联网技术应用的知识体系中,Zigbee无线组网技术是非常重要的一环,也是大家感 ...
随机推荐
- fs读取某个json文件的数据
/** * Created by Administrator on 2016/7/12. * 流数据 */ var fs = require('fs'); var stream = fs.create ...
- 在node.js中使用ejs的demo 第五篇
先说明一下我的项目的目录解构: 本项目中渲染的时候都是通过在index.js页面里面,来使用index.ejs的,首先引用必须的模块: var express = require('express') ...
- 《转载》详解 CSS 属性 - 伪类和伪元素的区别
首先,阅读 w3c 对两者的定义: CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪元素用于将特殊的效果添加到某些选择器. 可以明确两点,第一两者都与选择器相关,第二就是添加一些“特殊”的效果 ...
- java list 去除 重复值
一: Hastset根据hashcode判断是否重复,数据不会重复 Java代码 /** List order not maintained **/ public static void remove ...
- 定时器——Cocos2d-x学习历程(十一)
1.定时器 利用场景.层和精灵等游戏元素,我们可以构建游戏的框架,但是此时的游戏仍然是静止不动的.在一切游戏中,游戏的状态都会随着时间的流逝而改变,同时我们还需要定时进行一些逻辑判断,例如鱼和子弹的碰 ...
- QF——iOS程序运行原理(APP的生命周期)
iOS程序的运行原理: main.m: 1. main.m 主函数是所有程序的入口函数. 2. 在main函数里是UIApplicationMain函数,开启了一个无限循环,以监听该应用. 该UIAp ...
- $.browser.msie jq解析不出来的原因及解决方法
检查是否为 IE6:// Oldif ($.browser.msie && 7 > $.browser.version) {}// Newif ('undefined' == t ...
- 【Howie玩docker】-Centos 7 docker 启动容器iptables报No chain/target/match by that name
重启了一下服务器,以前能运行的docker网络应用都不能正常开启了. 因为用的是centos7,所以猜测有可能是iptables的问题. docker start 或者run 后总是提示类似的错误: ...
- sql语句操作记录
发觉一些sql语句写出来的时候不停忘记,做一个记录. mySQL .查看表的创建过程sql语句和注释,注释是在创建表的过程中增加comment,后面跟随注释的内容 SHOW CRATE TABLE T ...
- c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
//题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. // #include "stdio.h" #include <stdli ...