易截截图软件、单文件、免安装、纯绿色、仅160KB

nand flash结构及读写分析

 
NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device 的位宽。这些Line 会再组成Page.
(Nand Flash 有多种结构,我使用的Nand Flash 是K9F1208,下面内容针对三星的K9F1208U0M),每页528Byte,每32 个page 形成一个Block, Sizeof(block)=16kByte 。
1 block="16kbyte",512Mbit=64Mbyte,Numberof(block)=4096 1block=32page, 1page=528byte=512byte(Main Area)+16byte(Spare Area)
Nand flash 以页为单位读写数据,而以块为单位擦除数据。
按照这样的组织方式可以形成所谓的三类地址:
--Block Address -- Page Address --Column Address
对于NAND Flash 来讲,地址和命令只能在I/O[7:0]上传递,数据宽度是8 位。
512byte需要9bit来表示,对于528byte系列的NAND,这512byte被分成1st half和2nd half,各自的访问由地址指针命令来选择,A[7:0]就是所谓的column address。
32 个page 需要5bit 来表示,占用A[13:9],即该page 在块内的相对地址。Block的地址是由A14 以上的bit 来表示,例如512Mb 的NAND,共4096block,因此,需要12 个bit 来表示,即A[25:14],如果是1Gbit 的528byte/page的NAND Flash,则block address用A[26:24]表示。而page address就是blcok address|page address in block
NAND Flash 的地址表示为:
Block Address|Page Address in block|halfpage pointer|Column Address
地址传送顺序是Column Address,Page Address,Block Address。
由于地址只能在I/O[7:0]上传递,因此,必须采用移位的方式进行。 例如,对于512Mbit x8 的NAND flash,地址范围是0~0x3FF_FFFF,只要是这个范围内的数值表示的地址都是有效的。以NAND_ADDR 为例: 第1 步是传递column address,就是NAND_ADDR[7:0],不需移位即可传递到I/O[7:0]上,而halfpage pointer 即bit8 是由操作指令决定的,即指令决定在哪个halfpage 上进行读写。而真正的bit8 的值是don't care 的。 第2 步就是将NAND_ADDR 右移9 位,将NAND_ADDR[16:9]传到I/O[7:0]上 第3 步将NAND_ADDR[24:17]放到I/O 上 第4 步需要将NAND_ADDR[25]放到I/O 上 因此,整个地址传递过程需要4 步才能完成,即4-step addressing。 如果NAND Flash 的容量是256Mbit 以下,那么,block adress 最高位只到bit24,因此寻址 只需要3 步。 下


相关文档:

Flash与VC的通信方法 串口 用VC和Flash控件实现

Flash与VC的通信方法 串口 用VC和Flash控件实现无锯齿矢量图形绘制,可以绘制实时曲线
2009-03-05 08:39
我们知道,Flash可以做出很炫很酷的界面,且都是矢量图形,所以我们这里可以通过Active X控件shockwave Flash object将Flash嵌入到VC中,用控件与VC接口对Flash进行操作,如实时读取数据并作图类似的程序 ......

如何编写linux下nand flash驱动 1


【简介】如何编写linux下nand flash驱动-1
version: 1.0
date:20090721
Author:crifan
Mail:green-waste(At)163.com
【编写驱动之前要了解的知识】
1.       硬件特性:
【Flash的硬件实现机制】
Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Devi ......

让dewplayer flash mp3 播放器支持中文和一些细节修改

1.下载原版swf 列表版,使用decomplier转换成fla.
2.flash打开.弹出字符修改对话框,随便点一下,进入.
3.在主场景上,找到第一层,第一贞,上面有一个a字样的那贞,点击出动作编辑窗口,删除里面的内容,增加#include "as.as".
4.在库中找到sprite18,找到Mask Layer 3就是一个遮罩层,   在场景中选中这层的元件,也就是 ......

WinForm中捕捉Flash按钮、菜单等动作事件

由于我的那个《求flash控件的属性及事件方法在C#中》帖子由于我自己的回复超过3次,无法浮出水面了。  
  今天经过细心的观察网络的例子,明白了一些flash和C#的交互。把经验分享。  
  例子:  
  private   void   axShockwaveFlash1_FSCommand(object   sender, &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号