为什么必须以页/块的形式写入/擦除闪存?


10

标题说明了一切。

我试图从晶体管的角度了解闪存技术的工作原理。经过大量研究,我对浮栅晶体管以及如何注入电子或将其从电池中移除有了很好的直觉。我来自CS领域,因此我对诸如隧穿或热电子注入之类的物理现象的理解可能有些不稳定,但我仍然对此感到满意。我也对如何从NOR或NAND存储器布局中读取数据有一个了解。

但是我到处都读到闪存只能以块为单位擦除,并且只能以页为单位写入。但是,我发现此限制没有任何道理,并且我想对为什么要这样做有一个直觉。

Answers:


1

我对您的问题找到的最佳答案涵盖在闪存如何工作的地方,该词说:

闪存芯片单元中的电子可以通过施加电场,即高电压电荷而恢复到正常状态(“ 1”)。闪存使用电路布线将电场施加到整个芯片或预定的块(称为块)上。这将擦除芯片的目标区域,然后可以将其重写。闪存的工作速度比传统的EEPROM要快得多,因为它不会一次擦除一个字节,而是擦除了一块或整个芯片,然后将其重写。

我不明白为什么“在线布线”允许进行位级编程(从1切换到0),但可能与从0到0的转换(通过热注入编程)的执行方式不同有关到1的过渡(通过Fowler-Nordheim隧道擦除)。


6

根据定义。允许写入各个位的闪存称为EEPROM

闪存与EEPROM的不同之处在于,擦除操作以块而不是单个位完成。因为擦除是一个相对较慢的操作,并且必须在写入之前完成,所以通过并行擦除大量位,在大块中执行擦除操作可使大型写入操作更快。

逐块擦除还可以简化IC,降低成本。规模经济性进一步降低了通过EEPROM进行闪存的成本,因为如今固态磁盘驱动器已大量使用闪存,而EEPROM的使用量则小得多。


感谢您的回答。这种思路是否也以某种方式解释了为什么必须逐页执行写操作?
Gyom,2014年

1
@Gyom不是所有类型的Flash都适用。有时,限制是由协议施加的(例如,SATA无法写入少于512字节的“扇区”)。根据闪存的类型和用于访问它的协议,可能仅向先前擦除的块写入一个字节。
Phil Frost

4

您的事实是正确的,没有物理理由证明必须以块为单位进行擦除。

对单元进行编程是通过在主体和控制门之间产生一个电场来完成的,如图1所示,同样的想法对于擦除单元也有效,相反方向的电场将起到如图2所示的作用。 在此处输入图片说明 但是,出于结构原因,生成和使用负电压相对复杂,因此通过在主体上设置高电压(这是该扇区中的逻辑接地参考)来使用如图3所示的策略。选择晶体管不再可用,只能将控制栅极驱动为低电平,这会强制整个扇区擦除。


根据定义,闪存将被擦除。这就是为什么将它们称为“闪存”的原因,因为通过擦除操作,您可以并行擦除许多单元。取而代之的是,在EEPROM中,您必须按字节进行操作,这要花费更长的时间。顺便说一下,擦除电压在体电压和栅极电压之间分配(一个正,一个负)。相对于必须产生和处理非常高的电压,将电压反转要容易得多。
next-hack

大多数芯片具有许多PN结,通常以不导通的方式对其进行偏置。是否可以将行和列导线偏置到擦除芯片所需的电压,而这些PN结中没有任何干扰物?当然可以使用各种浮动阱来避免此类PN结的问题,但是以每个单元为基础进行操作可能会非常昂贵。
超级猫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.