首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NAND闪存编程:写入粒度?

NAND闪存编程:写入粒度?
EN

Stack Overflow用户
提问于 2010-09-09 22:21:48
回答 2查看 3.1K关注 0票数 2

现在是否有人对大型NAND闪存芯片的写访问了如指掌?写入的最小粒度是多少?我这里有一个微控制器闪存,它需要至少1到最多4个字(即16位字)一次馈送到写状态机。出于写入性能的原因,我认为大闪存(> 1 Gbit)在这里的表现有所不同。

slarti

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-10 03:31:19

明确地说,要写1位,你必须清除整个内存块,要写0位,你只需写一个内存位置。您是在谈论一次性写入(本质上将一些位从1更改为0),还是在谈论擦除块并重写块,以便可以将一些位从0变为1?

最简单的了解方法是从不同的供应商那里获得相关零件的数据表或少数零件的数据表。我使用的最新版本是基于spi的,大约有一个0x10000 (65536)字节大小的擦除块。我称之为较老的并行,具有传统的地址总线和数据总线的那些,有大约256字节或512字节的页面,但这些不是较新的技术(nand)。

编辑

查看随机选择的三星文档,兆字节大小的存储器具有256和512字节的页面大小,但没有记录1 of和2 of的页面大小(这是家族类型的数据表,而不是特定的部件数据表)。对于MB大小的内存,块大小在4K到16K范围内。

这是从一个网页上截取的,我用谷歌搜索了nand flash页面大小:

25 now的另一个主要变化是页面大小的增加。在50 now和34 now时,IMFT的页面大小是4KB。在8 8GB设备上,在25 now时,页面大小现在是8KB。块大小也从128页增加到256页。

维基百科也有一些关于nand flash的有趣信息:

虽然读取和编程是以页为单位执行的,但擦除只能以块为单位执行。NAND闪存的另一个限制是块中的数据只能按顺序写入。

所以这听起来很糟糕,你看到的是1的写入需要2兆字节的擦除。我使用这些东西来引导嵌入式处理器,所以我通常每隔一个月左右擦除一次并写入一次,理想情况下是一次擦除和一次写入,并且在产品的生命周期内完成。对于用作类似磁盘的介质,这是痛苦的。

还要注意,nand和/或较小的密度表现出读取干扰问题,其中简单地过于频繁地读取位置会擦除附近的位置。这对于像介质这样的磁盘来说可能不是问题,但是如果你想从nand闪存中运行(执行)嵌入式处理器,那么你不能,你可以启动,并使用最小的循环将一个小程序复制到ram,分支到ram,让那个小程序/函数有一个循环,将程序的其余部分复制到ram,然后你就会用完ram。

票数 3
EN

Stack Overflow用户

发布于 2010-09-09 22:35:53

它完全依赖于设备,但通常是2的幂。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3677481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档