spinand之data buffer

data buffer简介

spinand一般会有一个内置的data buffer。
以W25N01GV为例,一个page是2048bytes外加64bytes的spare数据,其data buffer就有2048+64=2112bytes。

data buffer与读写

在写数据到spinand时,需要分为两步。
第一步,Load Program Data (02h),将数据写到data buffer中。此时spinand除了会将接收到spi的波形解码出来写到buffer,还会计算对应的ecc校验码,并覆盖到spare区域的指定位置。即在buffer中准备好要写入cell的数据。
第二步,Program Execute (10h),将数据从data buffer真正写到cell中,固化起来。

在从spinand中读数据时,也需要分为两步
第一步,Page Data Read (13h),将数据从cell中读取到data buffer中。此时spinand会读取cell数据,并计算ecc,进行纠错。如果cell中发生了位翻转,那么经过ecc纠错后写到data buffer中的就已经是正确的数据了
第二步,Read Data (03h),将数据从data buffer中读出来。

可以看到,data buffer是读写的必经之路。

data buffer 读写测试

当出现flash数据读写错误,可以专门构建一个buffer读写测试。

简单来讲,就是只执行上述读写步骤的第一步,把数据写到buffer,但不写入cell,而是直接再读出校验。
这样的实验,省去了读写cell的时间,效率很高。且不会真正读写cell,因此对flash的寿命是没有影响的。可以帮助快速复现排查问题。
如果buffer读写测试可以复现问题,那么就可以确认问题跟cell无关了。

转载于:https://www.cnblogs.com/zqb-all/p/10965050.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值