阅读:3876回复:6
请问NAND flash中一页为528字节,512字节后的16个字节干什么用呢
一直不太明白512个字节之后的16个字节是干什么的,在做U盘时我们一般只用的到512个字节吧.对于NAND flash,文档上说必须要以页为单位进行读写操作,那么我想问问一下作过的大侠,我进行读写flash操作时一定要一下子读出或写入528个字节吗?比如说我只读该页的几个字节,或者写入时只写512个字节,剩下的16个字节压根不去管他可以吗?
另外在三星的文档上说每一个invalid block只是在第一个或第二个page的517字节上有问题,那如果我只用到每个page的前512个字节,是不是压根就不用管invalid block的问题呀. |
|
沙发#
发布于:2004-09-08 12:36
那16个字节不是用于存放用户的实际数据的,而是存储ECC校验值和坏块标识,也就是你提到的第一或第二页的特定字节位置。
一般来说(我觉得),NAND Flash的Spare区是需要使用的,不能忽略,尤其是要识别坏块。 |
|
板凳#
发布于:2004-09-08 12:42
再补充一下,即便你只使用第一页的512个字节,坏块识别的过程也是不能省略的,如果16K的数据块被标识为无效,那么其上的每一页都是不可靠的,不应使用。
|
|
地板#
发布于:2004-09-09 19:28
那就是说事先应该检测整个片子的坏块,然后记录了,并且在写数据的时候,每次还要读spare区,判断是不是坏块.唉,程序上又要多一大块内容.
另外再请问一下,读数据的时候是不是读什么地址上的数据都可以呀,不是要从页起始地址开始读,一次至少读一页吧 |
|
地下室#
发布于:2004-09-28 13:02
只能页寻址,一次可以读528byte 或 256byte(上下半区) 或 16byte(额外区)。具体看看芯片是否支持。
|
|
5楼#
发布于:2004-10-18 15:36
NAND FLASH需要一个管理程序,搜索一下FTL,就知道那16个BYTE有多重要了。
|
|
6楼#
发布于:2004-11-10 10:41
16byte有ECC,还有出厂的一些标识,比如坏块什么的。
很多公司在做flash算法的时候也借用这些地方做标记。 |
|
|