gpt4 book ai didi

linux - 与非闪存 : Whats the difference between pagesize and eraseblocksize?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:42 27 4
gpt4 key购买 nike

所以我的闪存有 2k 页大小和 128k 删除 block 大小。使用 mtd-utils 中的 flash_erase/dev/mtd1 0 0 我可以删除整个 mtd1 分区。分区一共256k。所以 2 个删除 block 被删除。我只能删除整个删除 block 。但是当写入闪存时我只需要写pagealigned。到底有什么区别,为什么我不能只将 0xFF 写入要删除的内存,而不是使用必须进行页面对齐的 erase。提前感谢您的意见!

最佳答案

闪存被组织成 x 个 block (或扇区),它们本身被分成 y 个页。正如您所发现的,Flash 一次只能删除一个 block ,但可以一次写入一个页面,有时更精细。这一事实是由于微电子级内存的物理设计以及每个内存单元中的信息位是如何物理存储和释放的。有关科学的更多信息,请查看维基百科,它比我能解释得更好。我怀疑决定以这种方式设计闪存(仅 block 删除)是因为它比 EEPROM 快得多,后者可以一次删除一个字节。

对于真正想要编写或使用闪存驱动程序的人来说,所有这一切的结果是信息位只能从 1 清零到 0,而不能设置。这就是为什么您无法“写 1”的原因。

这样做的实际副作用是,如果您将 0xAA = 0b10101010 写入 block 内页面中的某个可寻址字节,则您无法覆盖该内存中已经存在的位书面(“清除”)。例如,如果您尝试再次将 0x0F = 0b00001111 写入同一字节,您将以 0x0A = 0b00001010 结束。显然,这不是您想要的。

附带说明一下,相变存储器 (PCM) 是一项开始受到关注的新技术,并且由于其设计,它确实允许您进行位可变写入(设置和清除)。

关于linux - 与非闪存 : Whats the difference between pagesize and eraseblocksize?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24677038/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com