EEPROM是一种“只读存储器”,为什么要对其进行写操作?


15

电可擦可编程只读存储器EEPROM):

如果它使用的是只读存储器(ROM),那么我该如何呢?


13
“可编程”一词有什么暗示吗?
尼克·阿列克谢耶夫

2
原始ROM是经过掩码编程的(可能会使您感到困惑),但是我们必须有某种方法将某些东西放入其他ROM中。
StainlessSteelRat

6
如果后面跟着非提示“只读”,则“可编程”将不会提示任何内容。
TonyM

4
@TonyM,在添加“可擦除”之后,“可编程”并没有太多用处,除非它实际上意味着“可重新编程”。但是一次性可编程ROM也是有用的,因为这意味着您甚至不需要为该零件放置一个PO即可知道其内容。
Photon

1
实际答案非常简单:您可以对其进行编程,但不能(不应该)对其进行操作。就像尼克所说的,这里的两个术语都是上下文相关的。“编程”通常是指顺序写入的单个周期,旨在将芯片配置为通常以非常低的速度执行其预期的工作-对于哈佛架构,您将无法在应用期间写入此类存储器执行。常规的“写入”仅意味着-在程序执行过程中通常通过快速和/或随机访问来存储数据。

Answers:


27

EEPROM的首字母缩写具有随着技术的发展而发展的历史。

ROM:只读存储器。写在工厂。

PROM:可编程只读存储器,但可由用户编程(一次)。真正的一次性可编程,永远可读的存储器。弄错了,就丢了芯片。

EPROM:可擦可编程只读存储器。通常使用紫外线通过芯片上方的石英窗口擦除。有点麻烦,但非常有用。

EEPROM:电可擦可编程只读存储器。可以在程序控制下擦除或重写。

1

图1. Intel 1702A EPROM,最早的EPROM类型之一,256 x 8位。石英小玻璃窗可吸收紫外线。资料来源:Wikipedia EPROM

所以,我听到你说,为什么在可写时将其称为eepROm?我怀疑,答案是,与RAM(随机存取存储器)不同,它在电源关闭时会保存其内容,因此,其行为更像ROM


1
好信息!你的回答促使我仰望的潜力RAM,以拥有超越功率周期中的任何数据,我发现这个小宝石,你可能会感兴趣。
Jacksonkr

1
啊,1702年,我使用的第一个EPROM。它有一个奇怪的约定,即您必须对要从中得到的结果进行逆编程,因为出于某种原因,被设计为与之一起使用的4004处理器使用了负逻辑约定来记录其汇编代码。因此,此解决方法是使事情“更轻松”!
Neil_UK

3
如果将ROM-> PROM-> EPROM-> EEPROM升级带到下一步,您将拥有“闪存”存储器。在USB拇指驱动器广泛应用,固态的“硬”驱动器,持久性存储器中的消费电子产品,等等,等等的一切方式
理查德·克劳利

我希望我的回答能清楚地表明,与重新读取等效的RAM相比,在两次上电之间保持内容远不是PROM显着下降的唯一地方。
underscore_d

ram是易失性的,eeprom是非易失性的,它在重启后会记住。rom是非易失性的。eeprom,你大部分读和大部分不写,rom你读而不写。因此,eeprom很像rom,正如晶体管所描述的那样,它是非易失性解决方案演进的一部分。
old_timer

7

我对这里有多少评论者感到困惑,认为ROM一词仅是一种营销策略,或者仅指断电时丢失数据。

从限定的意义上讲,PROM 几乎是 “只读”的,因此不可能像使用“等效” RAM那样以相同的方式和上下文进行写入。这是因为E / EPROM需要:

  • 通过紫外线(EPROM)或0xFF周期(EEPROM)擦除,
  • 切换到用于编程(“写入”)数据的其他模式,
  • 在某些情况下需要不同的电源条件,等待时间等。
  • 写入周期的限制将使所有现存的PROM对于许多程序所需的那种大容量数据传输/操作毫无用处。

...所有这些都意味着写入这种存储器的动作很慢,无法与读取操作有效地交织在一起,从而导致芯片的积极磨损等。

PROM与具有相同读取规格的RAM完全不同。因此,为什么不以任何形式的RAM来销售它。反弹会是巨大的!

因此,我们也许可以将其称为Read Morely Memory,或者对于学徒来说,它称为EWRPROM:最终可写,运行时实际上是只读存储器……但实际上,ROM才是最重要的。


5
...以与使用“等效” RAM相同的方式和上下文进行写入是不可能的。 ”但这不是OP的问题,对于许多应用程序(例如保存配置设置,打印的页面等),尽管速度很慢,但EEPROM是理想的。无论其写入速度如何,它仍可写。
晶体管

@transistor嗯,就像问题取决于语义一样,答案也是如此……所以我不确定任何“一个真实”的答案都是可能的。我的观点是,根据该术语的一种通常假定的含义,它不是“可写的”。这就是为什么,正如vaxquis指出的那样,引入了可编程的替代术语。我添加了我的观点,因为我觉得在此之前该线程中已经忽略了这一重要细节。但是可以肯定的是,在适当的情况下EEPROM足以满足要求,因此,谢谢您提供详细信息。
underscore_d

3

早期的可编程存储设备旨在在插入一个设备时写入,然后在插入另一个设备时读取。虽然通常可以在编程夹具中读取设备(因此编程夹具可以确认它们已正确写入),但是对设备进行编程通常会需要施加异常电压,而这在大多数需要读取它们的设备中是不可用的。此外,写入操作比读取操作要慢几个数量级。后来的设备经过增强以消除这些要求,允许它们在将要在编程后使用的设备中进行编程,但是读写速度之间仍然存在差异。


1

它是可电擦除的,因此您可以对其进行写入。

当您将ROM扩展为字时,这没有任何意义。但是我的理解是,EPROM被其发明者Intel如此命名,是一种市场诱惑,意思是“就像ROM一样-但您可以自己更改它”。这是在1972年的世界中,ROM意味着要进行大量口罩更换。

EEPROM从这一先例开始。


4
PROM:可编程只读存储器(不仅仅是在出厂时设置的)。EPROM:可擦可编程只读存储器。通常需要暴露在紫外线下才能擦除。EEPROM:电可擦可编程只读存储器,每次要对其进行重新编程时,都无需将设备坐在晒黑床上,从而节省了大量时间。
Photon

1
我见过的UV EPROM的塑料窗口很小。不擦除时可以覆盖它们。
mkeith

1
ROM的指定使得很多时候你懒得思考的实际问题,我的回答推出的试图用PROM,就像它是RAM,感。试试看,看看。我会等!
underscore_d

@underscore_d,实际上我很想思考,我不确定您的评论对后来出现的一些反面说法有何影响:“好吧,正如问题取决于语义,答案也一样……所以我我不确定任何“一个真实”的答案是可能的”。无论如何,1972年的内存类型很少,ROM是一种独特的类型。作为独立的首字母缩写,按照操作员的问题,EEPROM确实令人困惑。
TonyM

1

我在写问题时发现了一个可能的答案

通过查看Wikipedia上的此ROM文章,听起来有些ROM允许写入,但如果允许,则写入速度将变慢,或者如果可能的话,通常将很难进行写入。

另一个有趣的花絮是EEPROM可以写入的次数有限。文章提到EEPROM可以擦干净并写入数千次,但是仍然可以!


1
这是一个过于简单的解释,无法识别不同类型的ROM之间的关键区别(例如,掩码ROM与OTP PROM与EPROM,EEPROM和闪存)。
duskwuff -inactive

@duskwuff听起来您对这个话题有很好的了解。请分享。
杰克森克尔(Jacksonkr),2016年

2
您所引用的Wikipedia引用是对所有不同类型的点头,但是@Jacksonkr是正确的;它过于简化。完全无法写入ROM。PROM只能写入一次。 可以重写EPROM,但只能在暴露于紫外线灯下后才能重写。(即缓慢且有困难。)EEPROM可以被重写,但只有在您发出擦除命令(即缓慢地)之后,才能对其进行重写。
罗伯特·哈维

2
@RobertHarvey我认为您的意思是“ @duskwuff是正确的”?
Jacksonkr

1
[叹气]现在所有评论都搞砸了。
罗伯特·哈维

1

EEPROM甚至闪存均使用与EPROM相同的技术(浮栅),而不是用于SRAM或DRAM器件的技术。

EEPROM在读取和写入行为方面极不对称:读取周期实际上是无限的,快速的(数十或数百纳秒),并且始终仅在施加主工作电压的情况下才有可能。写周期要慢得多,有时需要施加额外的电压(2816并行EEPROM将需要额外的12V电源用于某些编程操作,写时间将在数百微秒或更慢,具体取决于确切的品牌和型号,并且具有有限的写入周期)。

闪存不是用于写入的随机访问(覆盖一个字需要您擦除多个字),某些类型(NAND)甚至不是用于读取的随机访问。

请注意,作为PROM或ROM销售的某些(并非全部!)设备是内部OTP(无窗口)EPROM。


0

与易失性RAM相比,它只是一个ROM(随机存取存储器在断电后会丢失其状态)。数十年后,旧的命名不再有意义。


2
我不同意,路人;该名称在上下文中实际上是很有意义的。我们有NVRAM,还有EEPROM。这两个术语都突出显示了内存的不同预期使用模式,不同的读/写速度,不同的数据保留时间等

-1

EPROM / PROM在运行时只能读取。当您运行所需的应用程序(PC,嵌入式控制器等)时,正在运行的程序无法将其写入。您必须将其取出并将其输入特殊的书写设备中,在此您可以一次写入所有内容。

正如在评论中向我指出的那样,EEPROM可以设置为在运行时可写,因为它是电子可写的。但是在日常使用中它是不可写的,该体系结构通常会阻止它。通常,您使用制造商提供的特殊“闪存”实用程序来对其进行访问和写入,并且通常一次写入所有内容,而不是以随机访问模式进行写入。上面答案中的某人为此适用了一个很大的缩写。

包括NVRAM在内的RAM可由主机设备在运行时写入。

尽管所有ROM是非易失性的,而MOST RAM是易失性的,但是NVRAM是非易失性的,因此这并不是它们之间唯一的区别。


ROM是只读的。“ 您必须将其取出并放入特殊的写入设备中,在该设备中一次写入所有内容。 ”按照定义,这就是对它进行编程的方式,它是PROM(可编程只读存储器)设备。“ 运行系统 ”不适用。它不是编译器。欢迎来到EE.SE。
晶体管

我的意思是EEPROM或PROM,并且错误地只写了ROM
Trashman

2
还是不对。EEPROM可由主机设备写入。通常用于保存配置设置。在页面上查看其他答案。
晶体管

/同意晶体管-如果EEPROM在(修改的)哈佛体系结构中被指定为代码区域,则无法对其进行写入(这是总线设计的简单结果)。

不,那也是倒退的。在“修改后的”哈佛体系结构中,通常只能以较低的效率写入代码空间,而只能在纯文本空间中才能做到。至于答案本身,使用(UV)EPROM作为运行时可写存储支持8052AH基础-您需要12v左右的电源和一个晶体管来启用它。当然,它不能在电路中擦除它,但是它可以继续添加保存的程序,直到空间用完为止。
克里斯·斯特拉顿
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.