• 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无关了。

  • 相关阅读:
    CSS从大图片上截取小图标的操作以及三角形的画法
    CSS3样式问题
    spilt()的用法
    如何测试一个网站
    在C/C++中static有什么用途
    对集成测试中自顶向下集成和自底向上集成两个策略的理解
    缺陷记录应包含的内容?
    主键、外键的作用,索引的优点与不足
    什么是兼容性测试
    测试用例的作用
  • 原文地址:https://www.cnblogs.com/zqb-all/p/10965050.html
Copyright © 2020-2023  润新知