NAND_FLASH特性总结
NandFlash简介
NandFlash简介分类:Linux2013-03-06 14:34 2945人阅读评论(0) 收藏举报Flash Memory中文名字叫闪存,是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。
从名字中就可以看出,非易失性就是不容易丢失,数据存储在这类设备中,即使断电了,也不会丢失,这类设备,除了Flash,还有其他比较常见的入硬盘,ROM等,与此相对的,易失性就是断电了,数据就丢失了,比如大家常用的内存,不论是以前的SDRAM,DDR SDRAM,还是现在的DDR2,DDR3等,都是断电后,数据就没了。
FLASH的分类:功能特性分为两种:一种是NOR型闪存,以编码应用为主,其功能多与运算相关;另一种为NAND型闪存,主要功能是存储资料,如数码相机中所用的记忆卡。
NOR FLASH和NAND FLASHNOR和NAND是现在市场上两种主要的非易失闪存技术。
Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM 一统天下的局面。
紧接着,1989年,东芝公司发表了NAND flash结结,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。
但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。
NOR的读速度比NAND稍快一些。
NAND的写入速度比NOR快很多。
NAND的4ms擦除速度远比NOR的5s快。
大多数写入操作需要先进行擦除操作。
NAND的擦除单元更小,相应的擦除电路更少在NOR Flash中, 所有的存储区域都保证是完好的, 同时也拥有相同的耐久性。
在硬模中专门制成了一个相当容量的扩展存储单元—他们被用来修补存储阵列中那些坏的部分,这也是为了保证生产出来的产品全部拥有完好的存储区域。
为了增加产量和降低生产成本, NAND Flash 器件中存在一些随机bad block 。
为了防止数据存储到这些坏的单元中, bad block 在IC烧录前必须先识别。
NORFLASH和NANDFLASH基本结构和特点
NORFLASH和NANDFLASH基本结构和特点⾮易失性存储元件有很多种,如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通过热电⼦注⼊⽅式向浮栅注⼊电荷(这种⽅法的电荷注⼊效率较低,因此NOR FLASH的写速率较低),NAND FLASH则通过F-N隧道效应向浮栅注⼊电荷。
NAND Flash简介
NAND FLASH 的特殊性1.存在壞塊。
由於NAND生產工藝的原因,出廠晶片中會隨機出現壞塊。
壞塊在出廠時已經被初始化,並在特殊區域中標記為不可用,在使用過程中如果出現壞塊,也需要進行標記。
2.易出現位反轉。
NAND FLASH更易出現位反轉的現象,如果位反轉出現在關鍵檔上,會導致系統掛機。
所以在使用NAND FLASH的同時,建議使用ECC/EDC演算法確保可靠性。
3.存在Spare區。
正因為NAND FLASH有著上面的兩項特殊的地方,Spare區就扮演作存放壞塊標誌,ECC值以及晶片資訊和檔資訊的作用。
4.多維的空間結構。
NAND FLASH一般由block,page,sector等結構組成。
所以在有的檔系統中就衍生出各種分區資訊和磁區資訊等。
NAND FLASH 燒錄的複雜性1.處理壞塊。
由於NAND存在壞塊,導致位址空間不是連續的。
所以正確的處理壞塊是保證NAND FLASH燒錄後能夠正常運行的關鍵。
從大的方面來說,處理壞塊常用的最有效的主要為兩種方法:a.跳過;b.替代。
也有部分客戶為了使用方便,並沒有把壞塊處理的概念引入,直接(在壞塊上寫過,這種方法雖然簡單,但容易產生很多不穩定的因素。
目前我們公司在出廠的時候為每一種NAND FLASH配置標準的壞塊處理方式有Skip(跳過),ReservedSamsung的保留替代方案)和直接在壞塊上寫過(一般情況不建議客戶使用)2.計算ECC。
ECC/EDC演算法具有查錯,糾錯的功能,並且在NAND FLASH使用的大多數環境,需要帶有ECC演算法的。
目前廣泛使用的為Samsung的漢明碼(Hamming code),分為512Byte&256W兩種。
還有功能更為強大的4-bit ECC 和Computer ECC。
由於ECC演算法比較多,每個演算法個體又具有比較強的可變性(位元組織,分段計算等),而且在Spare區存放的位置也不能統一,所以無法做成統一的演算法。
NandFLash分析与总结
友善之臂K9F1208U0C PCB04-5位,12代表512M位,也就是64M字节熟悉一下NandFlash的硬件:1主要的引脚:I/O0 —I/O7:数据输入输出端,命令,数据,地址复用端口(LDATA0-LDATA7)R/B: 准备忙输出(RnB)CE:芯片使能(nFCE)CLE: 命令锁存使能(CLE)ALE:地址锁存使能(ALE)WE:写使能(nFWE)RE:读使能(nFRE)2Mini2440的一些引脚设置:和寄存器设置:(NCON(Advflash), GPG13(页大小), GPG14(地址周期), GPG15(总线宽度)–参考引脚配置)#define rGSTATUS0 (*(volatile unsigned *)0x560000ac) //External pin status3NandFlash启动时,代码小于4k与大于4k的情况:在三星的NAND Flash 中,当CPU从NAND Flash开始启动时,CPU会通过内部的硬件将NAND Flash开始的4KB数据复制到称为“Steppingstone”的4KB 的内部RAM中,起始地址为0,然后跳到地址0处开始执行。
这也就是我们为什么可以把小于4KB的程序烧到NAND Flash中,可以运行,而当大于4KB时,却没有办法运行,必须借助于NAND Flash的读操作,读取4KB以后的程序到内存中。
4NandFlash的存储结构以及读写原理:4.1NandFlash中的块,页,位宽:●NAND Flash的数据是以bit的方式保存在memory cell(存储单元)一般情况下,一个cell中只能存储一个bit。
这些cell以8个或者16个为单位,连成bit line ,形成所谓的byte(x8)/word(x16),这就是NAND Flash的位宽。
这些Line会再组成Pape(页)。
然后是每32个page形成一个Block,所以一个Block(块)大小是16k.Block是NAND Flash中最大的操作单元。
NAND FLSH 烧录
SP5000支持算法集成的坏块分区处理方式 外,还可以为客户定制其他的烧录方式(例 如三星平台、高通平台、博通平台、TD终端 、Linux系统、WinCE 烧录等)。算法本身 支持ecc512B(Hamming Code),并且支持生 成的ecc码在spare区任意连续地址map。算 法本身还支持NAND Flash Boot区的只读属 性处理,一般表现为Bad block Mark前的 OEM Reserved的处理。
NAND FLASH
1. NAND FLASH 特点 2. NAND FLASH 几种工艺模式 3. 烧录NAND FLASH 三种处理模式 4. 分区烧录的要求和操作 5. 新NAND FLASH算法运用
NAND FLASH 特点
NAND FLASH 是一种非易失的闪存技术,被 广泛用于U盘,MP3\MP4、GPS、PDA、 GSM、3G、手机、无线上网设备、笔记本等 多个领域。NAND FLASH是高数据存储密度 闪存的理想解决方案。
C.分区模式 (Partition)
分区模式是一种较为复杂的坏块处理方法,支持 多个文件组成的可烧录文件(*.img、*.mbn、*.bin等) 的块地址定位烧录。 SP5000支持的可烧录的分区模式映象文件是由 两部分构成的。第一部分在映象文件的第一个Block, 包含芯片的基本信息,分区表信息。第二部分是从 映象文件的第二个Block开始,是正在烧录到NAND Flash 的内容。其中第二部分是由多个文件构成的, 每个文件的起始信息在第一部分的分区表信息中定 义,由分区表控制其烧录,所以使用分区模式进行 烧录。
A) 跳过坏块 (Skip bad block)
这是一种最常用的坏块处理方法。它的实现 原理比较简单,顺序烧录,发现某一块为坏 块后,将相应数据烧录到下有个好块,如果 发现连续的坏块的话,也连续的跳过这些坏 块,并把数据烧录的下一个出现的好块中。 其原理如下图。
nand_flash读写工作原理_概述说明
nand flash读写工作原理概述说明1. 引言1.1 概述NAND Flash是一种非常常见和重要的存储设备,被广泛应用于各种电子产品中。
它的独特设计使得它成为一种高性能、低功耗、擦写可靠且具有较大容量的存储器解决方案。
由于其许多优点,NAND Flash在移动设备、个人电脑、服务器以及其他许多领域都有着广泛的应用。
1.2 文章结构本文将详细介绍NAND Flash的读写工作原理,并探讨其在存储领域中的优势与应用场景。
首先,我们将简要介绍NAND Flash的基本概念和特点,包括其结构和组成部分。
然后,我们将重点讲解NAND Flash进行读操作和写操作时所涉及的工作原理和步骤。
通过对这些原理的详细阐述,读者将能够全面了解NAND Flash如何实现数据的读取和写入。
除此之外,我们还将探讨NAND Flash相对于其他存储设备的优势,并介绍几个典型应用场景。
这些优势包括快速读写速度、低功耗、体积小且轻便、强大的耐久性以及较大的存储容量。
在应用场景方面,我们将重点介绍NAND Flash 在移动设备领域、物联网和服务器等各个行业中的广泛应用。
最后,我们将进行本文的小结,并对NAND Flash未来的发展进行展望。
通过全面了解NAND Flash的工作原理和优势,读者将能够更好地理解其在现代科技领域中的重要性,并对其未来发展趋势有一个清晰的认识。
1.3 目的本文的目的是通过对NAND Flash读写工作原理进行详细说明,使读者能够全面了解NAND Flash是如何实现数据读写操作的。
此外,我们还旨在向读者展示NAND Flash在存储领域中所具有的优势和广泛应用场景,使其意识到这一存储设备在现代科技产业中所扮演的重要角色。
希望通过本文,读者能够加深对NAND Flash技术的理解,并为相关领域或产品的研发与设计提供参考依据。
2. NAND Flash读写工作原理:2.1 NAND Flash简介:NAND Flash是一种非易失性存储器,采用了电子闪存技术。
norflash和nandflash闪存设备的概述
norflash和nandflash闪存设备的概述⼤多数router都是没有硬盘的,它使⽤闪存来完成相应的存储功能(包括存储固件以及系统数据),这种⾮易失性的闪存可以避免掉电丢失的问题。
我们常接触的闪存主要有两种:NOR flash 和 NAND flash。
如果闪存芯⽚和SOC直接连接并且⼜linux直接寻址,我们将它称作raw flash;如果在SOC和flash芯⽚间有多加⼀个外部控制芯⽚,我们称它作“FTL (Flash Translation Layer) flash”。
嵌⼊式系统中的Flash芯⽚并不需要单独的控制芯⽚,因此不是 “FTL”-设备⽽是 “raw flash”-设备。
存储空间是通过操作MTD设备 MTD (Memory Technology Device)加上特定的⽂件系统filesystems来完成的。
⼀般nor flash有4/8/16/32M,相对nand flash来说存储量较⼩,价格更贵,但是它的优点是不会坏块,nand flash⼀般都是32~256M或者更⼤,但是它容易坏块。
嵌⼊式设备中这由内核 Linux Kernel 来完成,有时候会单独由bootloader来完成存储分区的布局;你只需要定义, “kernel分区由偏移量x起⾄偏移量y⽌”。
这样做的优点是, 我们之后能直接通过分区名来定位某个分区,⽽不⽤指定数据的精确起始点。
如果使⽤的是raw flash,openwrt将会将这个寻址空间看作MTDopenwrt将会将这个寻址空间看作MTD,我们可以通过在bootload或者kernel中对这块存储空间进⾏分区的划分,我们通常描述为"partitionkernel starts at offsetx and ends at offsety". ⼀般我们都会对每个分区进⾏命名,⽅便更好的操作。
nand flash的特性:操作最⼩单元为页(Page)/块(Block)。
FLASH芯片种类与区别
FLASH芯片种类与区别1. NOR FlashNOR Flash是一种并行存储器,其结构类似于传统的ROM。
它具有快速读取速度和高可靠性,适合于存储大量的程序代码和数据。
NOR Flash可以被直接访问,支持随机读取和编程操作。
但是,NOR Flash的写入速度较慢且价格较高,逐渐被NAND Flash所替代。
2. NAND FlashNAND Flash是一种序列存储器,其结构是按行(Page)和块(Block)组织的。
NAND Flash拥有高密度、低成本和快速写入速度的特点,广泛应用于存储容量较大的数据。
它主要用于存储媒体文件、大型应用程序和操作系统。
然而,相比NOR Flash,NAND Flash的读取速度较慢且对于随机读取操作性能较差。
3. SLC FlashSLC(Single Level Cell)Flash是一种基于单元内只存储一个数据位的闪存技术。
它具有较长的寿命、较高的耐用性和较低的读取和写入延迟。
SLC Flash的价格相对较高,但在一些对可靠性和性能要求较高的应用中得到广泛使用,如军事设备、嵌入式系统等。
4. MLC FlashMLC(Multi Level Cell)Flash是一种基于单元内存储多个数据位的闪存技术。
它将SLC Flash的寿命和性能进行了牺牲,以更高的存储密度为代价获得更低的操作成本。
MLC Flash相对于SLC Flash来说容易出现位翻转和写入耗损等问题,但在普通电子设备中广泛应用,如智能手机、平板电脑等。
5. TLC FlashTLC(Triple Level Cell)Flash是一种比MLC Flash更高密度的闪存技术,它能够存储更多的数据位于单个存储单元内。
TLC Flash的存储密度非常高,价格更低,但在性能和寿命方面受到更大的限制。
由于TLC Flash存储单元内的电荷水平更复杂,因此更容易发生数据的位移和错误。
6. 3D V-NAND Flash3D V-NAND Flash是一种新型闪存技术,它采用垂直堆积的结构,通过将存储单元堆叠在一起来提高存储密度。
FLASH特点以及操作
------NAND FLASH 操作总结目前NAND FLASH 按照其物理结构划分,主要有SLC ,MCL , AGN 等类型,AND FLASH 的引脚,时序特殊,单独讨论;本文档只是在匆匆浏览各种FLASH 的DA TA SHEET 上得出的一点心得,可能不全面,或者有些细节未能注意到;本文档也只讨论我们常用的FLASH 操作方法,和对加速有帮助的操作方法;FLASH 主要有以下几种容量:16MB 、32MB 、64MB 、128MB 、256MB 、512MB 等容量;FLASH 对于读写,编程操作的过程详解;(我自己推理得到的,可能厂家的做法不是这样的,但是逻辑应该错不了) 每片FLASH 都有Data Register (有的文档取名为:Page Register ), 一般情况下,Data Register 的容量至少等于一个PAGE 的容量,如果是多BANK 的FLASH ,每个Bank 最少有一个Data Register 与只对应,我们可以在逻辑上认为每个BANK 是一个独立的物理设备;其引脚是公用的,但是其操作(与引脚无关的操作)是可以并行的;Random Data output)的操作原理了;随机读(Random Data output ):如果当前需要读取的数据与上一次读取的数据在同一个PAGE 内,那么本次操作使用随机读命令可以节省时间的一种方法;因为要操作的PAGE 的数据已经全部暂存在Data Register 里面,可以直接从Data Register 里面读取数据;过程详解如下:根据这二个过程可以得出,随机读命令在时间效率上,比一般读命令少一个“等RB 信号”过程,其它过程的时间效率几乎一样;少了“等RB 信号”过程大约可以节省25us(均值)的时间;只有支持大PAGE (指一个PAGE 包含几个SECTOR )的FLASH 才支持随机读操作;一般一个大PAGE 包含四个SCTOR ,则可以使用三次随机读的机会,一共可以节省75us 的时间;如果使用普通读命令分四次读,每读一个字节需要66ns 的时间,每次等待RB 需要25us 的时间,每个PAGE 共有2112个字节;则总的耗时为2112*66ns+25us*4=239.392us (忽略发命令和发地址的时间);如果也是分四次读,采用一次普通读,三次随机读,则耗时为2112*66ns+25us=164.392 us ;写及编程命令的处理过程列表:分类:。
NandFlash简介
NandFlash简介Flash Memory中文名字叫闪存,是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。
从名字中就可以看出,非易失性就是不容易丢失,数据存储在这类设备中,即使断电了,也不会丢失,这类设备,除了Flash,还有其他比较常见的入硬盘,ROM等,与此相对的,易失性就是断电了,数据就丢失了,比如大家常用的内存,不论是以前的SDRAM,DDR SDRAM,还是现在的DDR2,DDR3等,都是断电后,数据就没了。
FLASH的分类:功能特性分为两种:一种是NOR型闪存,以编码应用为主,其功能多与运算相关;另一种为NAND型闪存,主要功能是存储资料,如数码相机中所用的记忆卡。
NOR FLASH和NAND FLASHNOR和NAND是现在市场上两种主要的非易失闪存技术。
Intel 于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM 和EEPROM一统天下的局面。
紧接着,1989年,东芝公司发表了NAND flash结结,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。
但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。
NOR的读速度比NAND稍快一些。
NAND的写入速度比NOR快很多。
NAND的4ms擦除速度远比NOR的5s快。
大多数写入操作需要先进行擦除操作。
NAND的擦除单元更小,相应的擦除电路更少在NOR Flash中, 所有的存储区域都保证是完好的, 同时也拥有相同的耐久性。
在硬模中专门制成了一个相当容量的扩展存储单元—他们被用来修补存储阵列中那些坏的部分,这也是为了保证生产出来的产品全部拥有完好的存储区域。
为了增加产量和降低生产成本, NAND Flash 器件中存在一些随机bad block 。
为了防止数据存储到这些坏的单元中, bad block 在IC烧录前必须先识别。
在一些出版物中, 有人称bad block 为“bad block”, 也有人称bad block 为“invalid block”。
nandflash
Nand Flash是flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。
Nand Flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
NAND型闪存以块为单位进行擦除操作。
闪存的写入操作必须在空白区域进行,如果目标区域已经有数据,必须先擦除后写入,因此擦除操作是闪存的基本操作。
S3C2440的Nand Flash控制器有一个特殊的功能,在S3C2440上电后,NandFlash控制器会自动的把Nand Flash上的前4K数据搬移到4K内部SRAM中,并把0x00000000设置内部SRAM的起始地址,CPU从内部SRAM的0x00000000位置开始启动。
这个过程不需要程序干涉。
程序员需要完成的工作,是把最核心的启动程序放在Nand Flash的前4K中。
启动程序的安排由于Nand Flash控制器从NandFlash中搬移到内部SRAM的代码是有限的,所以在启动代码的前4K里,我们必须完成S3C2440的核心配置以及把启动代码(U-BOOT)剩余部分搬到SDRAM 中运行。
u-boot源码不支持从nand flash启动,可是s3c2440支持从nand flash启动,开发板加电后s3c2440将nand flash的前4k(保存有u-boot的部分功能--拷贝功能--把nand flash 中的内容拷贝到SDRAM)拷贝到sram(s3c2440芯片内的sram)。
这就需要修改u-boot源码,增加u-boot的功能: 使u-boot在得到执行权后能够将其自身拷贝到开发板上SDRAM中,以便处理器能够执行u-boot。
* NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。
*NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。
NOR FLASH和NAND FLASH特点
看了一下开发板上的外围设备,对NOR和NAND flash的区别没有什么概念,看了这篇文章,有了一个大要的了解,我的板子上的是NOR falsh和DRAM,到于DRAM是什么东西,和flash的区别,在另一篇文章中有说明,很基础的东西,了解一下很有好处。
个人理解,NOR类型的flash一般来相当于计算机的内存,不过是可以存储数据的,而NAND则相当于NOR型的flash则相当于硬盘,适合大量数据存储,我买板子时,销售人员告诉我如果要做miniGUI之类的图形界面开发时,可能就需要扩展NAND flash,板子上有预留位置。
以下是关于NOR和NAND的flash的特点说明:NOR和NAND是现在市场上两种主要的非易失闪存技术。
Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。
紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。
但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR 和NAND闪存。
相“flash存储器”经常可以与相“NOR存储器”互换使用。
许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。
而NAND则是高数据存储密度的理想解决方案。
NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。
NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。
应用NAND的困难在于flash的管理和需要特殊的系统接口。
性能比较flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。
nand Flash介绍
Nand flash介绍Nand flash是非易失性存储设备的一种,是非线性存储单元。
具有大容量、成本低等特点。
与Nor flash一样都是非易失性存储设备,但是两者有不同的地方。
Nor flash是线性存储设备,可以随机访问其中的任何一个字节,具有读速度快、芯片内执行(XIP)、接口简单的优点,但是和Nand Flash相比,容量小、擦除和写入速度慢、没有坏块管理的缺点。
不过Nand Flash接口控制比较复杂,需要控制器的支持。
Nand flash的使用寿命比Nor flash长。
每次存取以页为单位来进行,擦除以块为单位。
Nand flash的控制是通过8位数据总线串行进行,按照物理组成方式,可以分为列地址、页地址和块地址。
Nand Flash由于其接口特点,所以其使用必须有软件支持。
因此Nand flash一般不用来做Boot和运行程序,只用来存储程序或者数据,与硬盘的作用类似。
目前用Nand flash做boot的只用三星,这是因为三星处理器的支持,上电后处理器会自动的将存于Nand flash中的boot的核心代码读入处理器内部的RAM中,然后在RAM中运行boot程序,完成处理器、内存控制器等关键配置后,将Nand flash中其余程序读入内存中,然后正常启动。
Nand flash接口D7~D0:8位数据总线CLE :命令锁存使能ALE:地址锁存使能RDY/nBSY:flash空闲、,忙信号CE:片选使能RE:读使能WE:写使能WP:写保护Nand flash访问分为三个阶段:命令周期、地址周期、数据周期,三个阶段串行进行。
首先,发送地址命令,CLE为高,将命令写入flash内部的命令寄存器;然后发送地址,ALE 为高,将地址串行传送到内部地址寄存器;第三步,在数据总线上传送数据,在传送数据之前需要判断flash空闲、忙信号。
CLE ALE 描述1 0 命令周期0 1 地址周期,分4个字节传送0 0 数据周期1 1 保留下图是Nand flash所支持的命令(三星KK9F1G08芯片,根据芯片,命令字可能会有差异)Nand flash ECC校验原理ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法。
NANDNORFLASH闪存产品概述
NANDNORFLASH闪存产品概述随着国内对集成电路,特别是存储芯片的重视,前来咨询我们关于NOR Flash,NAND Flash,SD NAND, eMMC, Raw NAND的客户越来越多了。
这里我们专门写了这篇文章:1,把常用的存储产品做了分类; 2把一些产品的特点做一个描述。
在正式开始介绍之前,我们给大家推(an)荐(li)一款非常易用稳定的Flash产品:CS创世 SD NAND。
具备如下特点:1,免驱动使用;2,可机贴;3,尺寸小巧。
6*8mm,LGA-8封装;4,擦写寿命长;5,耐高低温冲击;6,容量适宜(128MB~4GB)具体可以可以看链接:我们把存储产品大概分为E2PROM,NOR,NAND 3类,他们框架如下:一,E2PROM容量非常小,目前存在于一些MCU内部,遥控器,电风扇等小家电里。
用来存储一些基础信息。
用户基本不关心这个。
因此这里不做详细描述。
二,NOR Flash是目前应用领域最广泛的一种存储芯片了.基本上主流的电子产品里都有使用。
甚至我们手机摄像头内部,屏幕驱动电路板上都会用到。
主要用来存储代码和一些比较小的数据文件。
主流是SPI NOR接口; 主流容量:1Mbit~128Mbit; 封装:SOP-8居多,也有更小的;尺寸也都比较小。
NOR Flash架构决定了它的容量不能做大,而且读取速度比较慢。
好处在于比较简单易用。
甚至可以直接用地址访问到数据,不需要建立文件系统。
(这点攻城狮朋友们比较喜欢)三,NAND Flash应该是目前最热门的存储芯片了。
因为我们生活中经常使用的电子产品都会涉及到它。
比如你买手机,肯定会考虑64GB,还是256GB?买笔记本是买256GB,还是512GB容量的硬盘呢?(目前电脑大部分采用了基于NAND Flash产品的固态硬盘)。
这里我们从如下几方面做一个分类:3.1 内部材质NAND FLASH从材质上可以分为SLC/MLC/TLC/QLC,本质区别就是在最小的存储单元内能存放多少bit的信息。
Flash闪速存储器--(NAND和NOR比较)
Flash闪速存储器--(NAND和NOR比较)一、闪速存储器的特点闪速存储器(FlashMemory)是一类非易失性存储器NVM(Non-VolatileMemory)即使在供电电源关闭后仍能保持片内信息;而诸如DRAM、SRAM这类易失性存储器,当供电电源关闭时片内信息随即丢失。
FlashMemory集其它类非易失性存储器的特点:与EPROM相比较,闪速存储器具有明显的优势——在系统电可擦除和可重复编程,而不需要特殊的高电压(某些第一代闪速存储器也要求高电压来完成擦除和/或编程操作);与EEPROM相比较,闪速存储器具有成本低、密度大的特点。
其独特的性能使其广泛地运用于各个领域,包括嵌入式系统,如PC及外设、电信交换机、蜂窝电话、网络互联设备、仪器仪表和汽车器件,同时还包括新兴的语音、图像、数据存储类产品,如数字相机、数字录音机和个人数字助理(PDA)。
Flash的技术特点如下:(1)区块存储单元:在物理结构上分成若干个被称为区块的存储单元,不同区块之间相互独立,每个区块几KB~几十KB。
(2)先擦后写:任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
(3)位交换:有时一个比特位会发生反转,就是位交换。
(4)区块损坏:使用过程中,某些区块可能会被损坏,区块损坏后就不可修复。
二、闪速存储器的技术分类全球闪速存储器的主要供应商有AMD、ATMEL、Fujistu、Hitachi、Hyundai、Intel、Micron、Mitsubishi、Samsung、SST、SHARP、TOSHIBA,由于各自技术架构的不同,分为几大阵营。
1 NOR技术NOR技术(亦称为Linear技术)闪速存储器是最早出现的FlashMemory,目前仍是多数供应商支持的技术架构。
它源于传统的EPROM器件,与其它FlashMemory技术相比,具有可靠性高、随机读取速度快的优势,在擦除和编程操作较少而直接执行代码的场合,尤其是纯代码存储的应用中广泛使用,如PC 的BIOS固件、移动电话、硬盘驱动器的控制存储器等。
【转】ARM9之NANDFLASH总结
【转】ARM9之NANDFLASH总结关于NAND FLASH很详细的内容,肯定无需在此多做说明,只要有电脑,baidu,google一天不垮台,都可以查阅到很多相关的资料。
最最最权威的还是官方的手册,比如说我用的就是S3C2440这个板子,而这个板子上配的NAND是K9F1208,三星公司的,可以去它的官网下载即可。
下图为手册上的管脚图和管脚功能表,可能一开始搬这些东西出来觉得很枯涩,我也觉得这样,不过我是总结之用,无所谓了各位看客的英语肯定比俺好,几个类似于power这样的E文,随便啃肯定没问题!下面这个图是NAND FLASH的功能图,有点吓人的功能图下面我先来剖析NAND FLASH的物理结构:共4096个blocks,每个blocks32pages,每个page528个字节,故每芯片有:4096Blocks*(32Pages*528Bytes)=69206016Bytes=66MByte--> 69206016Bytes*8/1024/1024=553648128bit/1024/1024=512Mbit上图就是NAND FLASH的物理层结构,其实上图画的比较形象,比较生动大致意思是这样的:一个NAND FLASH存储器是由很多快组成的,很多是多少?4096块(就本人所用而言,K9F1208)4096块中的1块又由很多页组成,多少页?32页32页中的1页又由什么组成呢?就是由512+16字节组成(为什么要写成512+16)其实说白了就是528字节,但是是由512的主数据区和16的额外数据区组成的,所以如是。
那我掰开手指算算容量有多大?1个NAND FLASH容量=4096(块)*32(页)*528(字节)*8(位)=528Mbit(以位为单位算的)既然是FLASH肯定要与外界交流,如何交流,看上图,发现有IO 0~IO7,不错,就是用这8位来交流的。
刚才算的容量是528Mbit,也就是有64M的空间了,也就是说需要26位地址传送了,可是只有8根IO怎么办啊这样就形成了NAND FLASH交流的独特性,不管你要干什么,首先发送命令,当然命令也是通过IO传送的,命令传送完毕了,再发送4个地址序列(为什么是4个?,26位要IO来传,分4次才行啊),最后才是必要的校验。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NAND FLASH 操作总结
目前NAND FLASH 按照其物理结构划分,主要有SLC ,MCL , AGN 等类型,AND FLASH 的引脚,时序特殊,单独讨论;
本文档只是在匆匆浏览各种FLASH 的DA TA SHEET 上得出的一点心得,可能不全面,或者有些细节未能注意到;本文档也只讨论我们常用的FLASH 操作方法,和对加速有帮助的操作方法;
FLASH 主要有以下几种容量:
16MB 、32MB 、64MB 、128MB 、256MB 、512MB 等容量;
FLASH 对于读写,编程操作的过程详解;(我自己推理得到的,可能厂家的做法不是这样的,但是逻辑应该错不了) 每片FLASH 都有Data Register (有的文档取名为:Page Register ), 一般情况下,Data Register 的容量至少等于一个PAGE 的容量,如果是多BANK 的FLASH ,每个Bank 最少有一个Data Register 与只对应,我们可以在逻辑上认为每个BANK 是一个独立的物理设备;其引脚是公用的,但是其操作(与引脚无关的操作)是可以并行的;
Random Data output
)的操作原理了;随机读(Random Data output ):如果当前需要读取的数据与上一次读取的数据在同一个PAGE 内,那么本次操作使用随机读命令可以节省时间的一种方法;因为要操作的PAGE 的数据已经全部暂存在Data Register 里面,可以直接从Data Register 里面读取数据;过程详解如下:
根据这二个过程可以得出,随机读命令在时间效率上,比一般读命令少一个“等RB 信号”过程,其它过程的时间效率几乎一样;少了“等RB 信号”过程大约可以节省25us(均值)的时间;只有支持大PAGE (指一个PAGE 包含几个SECTOR )的
FLASH 才支持随机读操作;一般一个大PAGE 包含四个SCTOR ,则可以使用三次随机读的机会,一共可以节省75us 的时间;如果使用普通读命令分四次读,每读一个字节需要66ns 的时间,每次等待RB 需要25us 的时间,每个PAGE 共有2112个字节;则总的耗时为2112*66ns+25us*4=239.392us (忽略发命令和发地址的时间);如果也是分四次读,采用一次普通读,三次随机读,则耗时为2112*66ns+25us=164.392 us ;
写及编程命令的处理过程列表:
分类:。