flash存储原理
1个回答
展开全部
.1Nand Flash的特点
由于Nand Flash生产工艺的原因,出厂芯片中会随机出现坏块。坏块在出厂时已经被初始化,并在特殊区域中标记为不可用,在使用过程中如果出现坏块,也需要进行标记。芯片厂商保证出厂时,Block 0不为坏块,但在使用过程中可能损坏。对于坏块而言,存储的信息可能会丢失,不能正常使用。另外在Nand Flash擦除或者编程过程中,出现操作失败后,表示该块不能正常使用,也应标记成坏块。所以在一般情况下,在操作NAND Flash之前,先要检查一下要操作的是否是坏块,以免坏块标记被破坏。此外,为了保证存储信息的可靠性,从Nand Flash中读取的数据还可以引入ECC校验,ECC码一般存放在该页的spare区。
2 Nor Flash
2.1 Nor Flash的特点
Nor Flash的特点是读取速度快,擦写操作慢,不存在坏块,数据保存安全。
3经验案例
3.1 Nor Flash中不要使用memcpy而要使用flash read接口
原因:尽量使用统一接口操作flash,避免出现数据不一致的情况。
3.2 使用cramfs/squashfs做根分区,有些机器不能正常启动
原因:使用Nand Flash时,必须考虑坏块的因素。某些文件系统,如cramfs、squashfs,本身不带有坏块处理,在遇到根文件分区有坏块时,就不能正常启动。解决方法:在Linux驱动层增加针对cramfs、squashfs的坏块处理补丁。
由于Nand Flash生产工艺的原因,出厂芯片中会随机出现坏块。坏块在出厂时已经被初始化,并在特殊区域中标记为不可用,在使用过程中如果出现坏块,也需要进行标记。芯片厂商保证出厂时,Block 0不为坏块,但在使用过程中可能损坏。对于坏块而言,存储的信息可能会丢失,不能正常使用。另外在Nand Flash擦除或者编程过程中,出现操作失败后,表示该块不能正常使用,也应标记成坏块。所以在一般情况下,在操作NAND Flash之前,先要检查一下要操作的是否是坏块,以免坏块标记被破坏。此外,为了保证存储信息的可靠性,从Nand Flash中读取的数据还可以引入ECC校验,ECC码一般存放在该页的spare区。
2 Nor Flash
2.1 Nor Flash的特点
Nor Flash的特点是读取速度快,擦写操作慢,不存在坏块,数据保存安全。
3经验案例
3.1 Nor Flash中不要使用memcpy而要使用flash read接口
原因:尽量使用统一接口操作flash,避免出现数据不一致的情况。
3.2 使用cramfs/squashfs做根分区,有些机器不能正常启动
原因:使用Nand Flash时,必须考虑坏块的因素。某些文件系统,如cramfs、squashfs,本身不带有坏块处理,在遇到根文件分区有坏块时,就不能正常启动。解决方法:在Linux驱动层增加针对cramfs、squashfs的坏块处理补丁。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询