美文网首页
S5PV210裸机-Nandflash

S5PV210裸机-Nandflash

作者: Setul | 来源:发表于2018-01-02 17:18 被阅读0次

1. NANDFLASH基础

1.1 Nandflash相对于Norflash, 无法按地址总线进行精确寻址,只能按块(Block)访问。
1.2 Nandflash的制造工艺有两种,一种是SLC(Single-Level Cell), 其特点是每一个单元存储一位数据;另一种MLC(Multi-level Cell),其特点是每个Cell存储两位数据。SLC性能更好,但是MLC更加便宜。
1.3 Nandfalsh的组织方式

K9F2G08X0M内存阵列
从上图中可以看到,K9F2G08(2G代表其容量为2G,08代表其为8位的)的页(Page)、块(Block)、设备(Device)的大小以及关系。
  • 页是Nandflash的最小读写单位;而块是Nandflash的最小擦除单位;
  • Nandflash中存储的数据有有带内数据(Main Data area)和带外数据(Spare area,Linux系统中,一般叫做OOB(Out Of Band))之分,如上图所示,1Page = (2K+64)Bytes。其中,2K代表的就是带内数据,放的是我们需要存放的数据;64B代表的是带外数据,存放ECC(Error Correction Code,错误校验码)以及坏块标记等。

1.4 Nandflash地址线

K9F2G08X0M地址周期
由于Nandflash是8位的,地址线肯定是超过8位的,所以采用了多个地址周期。由上图可以看到,K9F2G08是一个5地址周期的设备,其中有两个列地址周期,三个行地址周期。列地址代表一个页内的地址,对于K9F2G08每页为2KB,11位地址线就够用了,A10其实是0。行地址代表页号,即在哪一个页。尽管地址线能够定位到页内的某个具体地址,但是依旧只能按Block读写。

2. NANDFALSH控制

K9F2G08框图
S5PV210控制框图
Nandflash的控制分为两部分,首先在K9F2G08一端有控制电路,其次在S5PV210的Soc内部有控制器。这两部分的存在极大地简化了我们对Nandflash的控制,我们可以不必要再自己来处理Nandflash复杂的控制时序,而是只用操作S5PV210中的SFR(特殊功能寄存器)即可。这种控制思想在LCD、SDRAM等都是相同的,我们在相应寄存器按照固定的流程中写数据、写命令、写地址即可完成控制。
很重要的一点是,NANDFALSH的操作不是时钟同步的,读或者写都发生在读使能/写使能的上升沿,精确的时序控制由Soc的NANDFLASH控制器完成。
当然具体的时序可以从下面的这个博客中理解:怎么看时序图--nand flash的读操作详解

3. NANDFLASH基本操作

Nandflash有四个基本操作:坏块检查(Identifying Invalid Block);页读(Read);页写(Program);擦除(Erase)块。

3.1 坏块检查

坏块检查流程图

Flash使用之前要先统一擦除块。Flash类设备擦除后里面全是1,所以擦干净之后读出来的值是0xFF。如果读出来的不是0xFF则表明是坏块。

3.2 页写

写操作流程图
  • Nandflash的接口电路先接收数据到自己的缓冲区,然后再集中写入Nand芯片的存储区域中。Nand接口电路将一页数据从缓冲区中写入Nand存储系统中需要一定的时间,这段时间Nand芯片不能再响应SOC发过来的其他命令,所以SoC要等待Nand接口电路忙完。
  • 等待方法是SoC不断读取状态寄存器(这个状态寄存器有2种情况:一种是SoC的Nand控制器自带的,另一种是SoC通过发命令得到命令响应得到的),然后通过检查这个状态寄存器的状态位就能知道Nand接口电路刚才写的那一页数据写完了没、写好了没。直到SoC收到正确的状态寄存器响应才能认为刚才要写的那一页数据已经ok。

3.3 页读和擦除块

擦除和读页流程图

相关文章

  • S5PV210裸机-Nandflash

    1. NANDFLASH基础 1.1 Nandflash相对于Norflash, 无法按地址总线进行精确寻址,只能...

  • S5PV210 裸机中断

    1. 结构框图 这里我以外部中断为例画出了中断响应的过程。 当外部中断得到响应,会由硬件自动转到异常向量表,执行对...

  • NandFlash操作原理及裸机程序分析

    版权声明:本文为小斑马学习总结文章,技术来源于韦东山著作,转载请注明出处!![] 一、NAND_FLASH操作原理...

  • uboot-step 13 NandFlash 做硬盘

    uboot-step 13 NandFlash 做硬盘 NandFlash 简介内部结构编址方式信号引脚命令设置 ...

  • flash系列-5-nandflash

    nandflash是东芝在1989年的国际固态电路研讨会(ISSCC)上发表的,要在nandflash上面读写数据...

  • S3C2440移植uboot之支持DM9000

      上一节S3C2440移植uboot之支持NANDFLASH操作移植了uboot 支持了NANDFLASH的操作...

  • 8.Soc常用外部存储器

    NorFlash NandFlash eMMC/Inand/moviNan oneNand SD 卡/TF卡/MM...

  • RTthread RTOS 使用 Env 开发

    RTthread 开发支持裸机移植, Env 工具移植, 和 RTThread Studio 直接开发。一般裸机移...

  • ironic项目

    目的 ironic是一个进行裸机部署安装的项目。 所谓裸机,就是指没有配置操作系统的计算机。从裸机到应用还需要进行...

  • NandFlash的FTL

    杂谈闪存三:FTL 上文(杂谈闪存二:NOR和NAND Flash - 知乎专栏[https://zhuanlan...

网友评论

      本文标题:S5PV210裸机-Nandflash

      本文链接:https://www.haomeiwen.com/subject/jpfqnxtx.html