前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spinand之data buffer

spinand之data buffer

作者头像
zqb_all
发布2019-12-27 10:51:53
6790
发布2019-12-27 10:51:53
举报
文章被收录于专栏:QB杂货铺QB杂货铺

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • data buffer简介
  • data buffer与读写
  • data buffer 读写测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档