电脑记忆体

计算机存储器存储信息,例如数据和程序,以便在计算机中立即使用。术语内存通常是术语主存储或主内存的代名词。存储器的古老同义词是存储。
与存储相比,主存储器的运行速度较慢,但容量较低,容量较高。除了存储打开的程序外,计算机内存还用作磁盘缓存,并写入缓冲区以提高读取和写作性能。操作系统只要不需要运行软件,就可以藉用RAM容量来缓存。如果需要,可以将计算机内存的内容传输到存储;这样做的一种常见方法是通过称为虚拟内存的内存管理技术。
现代计算机存储器是作为半导体内存的,其中数据存储在由MOS晶体管和集成电路上的其他组件构建的内存单元中。半导体记忆有两种主要类型:挥发性和非挥发性。非易失性内存的示例是闪存和ROM , PROM , EPROM和EEPROM内存。挥发性存储器的示例是用于主存储的动态随机存储器(DRAM),主要用于CPU缓存的静态随机存储器(SRAM)。
大多数半导体内存都被组织到每个存储一个位(0或1)的内存单元中。闪存的组织包括每个内存单元格和多级单元,能够每个单元格存储多个位。记忆细胞分为固定单词长度的单词,例如1、2、4、8、16、32、64或128位。每个单词都可以通过n位的二进制地址访问,从而可以在内存中存储2个单词。
历史




在1940年代初期,内存技术通常允许几个字节的能力。第一台电子可编程的数字计算机,使用数千枚真空管的ENIAC可以执行简单的计算,涉及20个数量的十进制数字数量的十进制数字,存储在真空管中。
计算机记忆中的下一个重大进展是由J. Presper Eckert在1940年代初开发的声学延迟线记忆。通过构造装满汞的玻璃管,并用石英晶体插入,延迟线可以以在汞传播的声波形式存储大量信息,石英晶体充当传感器,以读取和写入位。延迟线的内存仅限于多达几千位的容量。
延迟线的两种替代方案,威廉姆斯管和Selectron管,起源于1946年,均使用玻璃管中的电子束作为存储方式。弗雷德·威廉姆斯(Fred Williams)使用阴极射线管发明了威廉姆斯(Williams Tube),这是第一个随机计算机内存。威廉姆斯的管子比Selectron管(Selectron限制为256位,而威廉姆斯的管子可以存储数千个)能够存储更多的信息,并且价格便宜。威廉姆斯管仍然对环境干扰感到沮丧。
努力始于1940年代后期,以寻找非易失性记忆。磁核记忆允许在功率损失后回忆记忆。它是由弗雷德里克· W ·维耶( Frederick W.记忆直到1960年代MOS半导体记忆的发展。
第一个半导体记忆在1960年代初使用双极晶体管实现为触发器电路。由离散设备制成的半导体内存首先是由德州仪器于1961年运往美国空军的。同年,在集成电路(IC)芯片上的固态记忆的概念是由Fairchild Semiconductor的应用工程师Bob Norman提出的。第一个双极半导体内存IC芯片是IBM在1965年引入的SP95。尽管半导体记忆在磁性核心内存中提供了改进的性能,但它保持更大且更昂贵,并且直到1960年代后期才取代磁芯记忆。
MOS记忆
金属 - 氧化物 - 氧化导体场效应晶体管( MOSFET )的发明使金属 - 氧化物 - 溶剂导体(MOS)晶体管的实际使用作为记忆细胞存储元件。 MOS记忆是由John Schmidt于1964年在Fairchild半导体上开发的。除了更高的性能外,MOS半导体记忆比磁芯记忆更便宜,并且消耗的功率更少。 1965年,皇家雷达建立的J. Wood和R. Ball提出了使用CMOS (互补MOS)存储单元的数字存储系统,除了MOSFET电源设备用于电源,开关交叉耦合,开关和延迟线路外贮存。 1968年,Fairchild在Fairchild的Federico Faggin开发了矽胶MOS集成电路(MOS IC)技术,这使MOS存储芯片的生产能够生产。 NMOS记忆在1970年代初由IBM商业化。 MOS记忆超过了1970年代初期的磁芯记忆作为主要的内存技术。
挥发性随机访问存储器(RAM)的两种主要类型是静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)。双极SRAM是由罗伯特·诺曼(Robert Norman)于1963年在Fairchild半导体上发明的,随后于1964年在Fairchild的John Schmidt开发MOS SRAM。SRAM成为磁核记忆的替代方案,但需要六个数据电晶体. SRAM的商业用途始于1965年,当时IBM为System/360 Model 95推出了SP95 SRAM芯片。
东芝(Toshiba)于1965年为其Toscal BC-1411电子计算器引入了双极DRAM记忆细胞。尽管它提供了提高的性能,但双极DRAM无法与当时主要的磁芯记忆的较低价格竞争。 MOS技术是现代DRAM的基础。 1966年, IBM Thomas J. Watson Research Center的Robert H. Dennard正在研究MOS记忆。在检查MOS技术的特性时,他发现有可能构建电容器,并且在MOS电容器上存储或无电荷可以代表一点的1和0,而MOS晶体管可以控制将电荷写入给电容器。这导致了他开发了单晶体管DRAM记忆单元。 1967年,丹纳德(Dennard)申请了基于MOS技术的单晶体管DRAM存储单元的专利。这导致了1970年10月的第一个商业DRAM IC芯片,即Intel 1103 。
内存一词也通常用于指非挥发性内存,包括通过现代闪存的读取内存(ROM)。可编程的只读记忆(PROM)是由Wen Tsing Chow于1956年发明的,在美国博世Arma公司的Arma部门工作。 1967年,贝尔实验室的Dawon Kahng和Simon Sze提出,MOS半导体设备的浮闸门可用于可重编程的ROM的单元,这导致了Intel的Dov Frohman发明了Eprom (擦除舞会)。 1972年在电子技术实验室的Yasuo Tarui,Yutaka Hayashi和Kiyoko Naga开发了电擦除的舞会。 Masuoka及其同事在1984年发表了Nor Flash的发明,然后在1987年发表了NAND Flash。东芝将NAND NAND闪烁在1987年。
技术和规模经济的发展使所谓非常大的内存(VLM)计算机。
挥发性记忆
挥发性内存是计算机内存,需要电源来维护存储的信息。大多数现代的半导体挥发性内存是静态RAM (SRAM)或动态RAM (DRAM)。 DRAM在桌面系统内存中主导。 SRAM用于CPU缓存。 SRAM还可以在需要很少记忆的小型嵌入式系统中找到。
SRAM只要连接功率并且可能使用更简单的接口,但通常使用六个晶体管, SRAM就保留其内容。动态RAM在接口和控制方面更为复杂,需要定期的刷新周期以防止其内容损失,但仅使用一个晶体管和一个电容器,使其达到更高的密度和每位便宜得多的成本。
非易失性记忆
即使没有动力,非易失性内存也可以保留存储的信息。非挥发性内存的示例包括仅阅读内存,闪存内存,大多数类型的磁性计算机存储设备(例如硬盘驱动器,软盘和磁带),光盘以及早期的计算机存储方法,例如纸带和打孔卡。
正在开发的非挥发性记忆技术包括铁电RAM ,可编程金属化电池,自旋转移扭矩磁性RAM , SONOS ,电阻随机访问记忆,赛车记忆,赛车记忆,纳米-RAM , 3D Xpoint和Millipede Memory 。
半挥发记忆
第三类记忆是半挥发性的。该术语用于描述在删除功率后具有有限的非易失性持续时间的内存,但最终丢失了数据。使用半挥发记忆的典型目标是提供与挥发性记忆相关的高性能和耐用性,同时提供非易失性记忆的一些好处。
例如,一些非易失性记忆类型在编写时会磨损。磨损的细胞具有增加的波动性,但在其他情况下继续起作用。因此,可以使用经常写入的数据位置可以使用磨损的电路。只要该位置在某些已知的保留时间内更新,数据就保持有效。一段时间没有更新后,该值将复制到具有更长保留率更长的损坏的电路。首先写入磨损区域可以使较高的写入率,同时避免在不磨损的电路上磨损。
作为第二个例子,可以通过构建大细胞来制作stt-ram ,但这样做可以提高每位的成本和功率要求,并降低了写速速度。使用小细胞改善成本,功率和速度,但会导致半挥发性行为。在某些应用中,增加的波动率可以设法为非易失性记忆提供许多好处,例如,通过删除功率,但在数据丢失之前强迫唤醒;或通过缓存仅读取数据并丢弃缓存的数据,如果电力时间超过了非挥发性阈值。
该术语半挥发性也用于描述由其他内存类型(例如NVSRAM)构成的半挥发性行为,该行为在同一芯片上结合了SRAM和非挥发性内存,其中外部信号将数据从挥发性存储器复制到挥发性存储器到该芯片非挥发性内存,但是如果在副本发生之前删除了电源,则数据将丢失。另一个示例是电池支持的RAM ,它使用外部电池在外部电源损耗的情况下为存储设备供电。如果电源长时间关闭,电池可能会用完,从而导致数据丢失。
管理
适当的内存管理对于计算机系统正确操作至关重要。现代操作系统具有复杂的系统来正确管理内存。不这样做会导致错误或缓慢的性能。
错误
内存管理不当是错误和安全漏洞的常见原因,包括以下类型:
- 当程序从操作系统请求内存并且使用内存时永远不会返回内存时,就会发生内存泄漏。带有此错误的程序将逐渐需要越来越多的内存,直到程序用完了程序用完为止。
- 当程序试图访问内存无权访问的内存时,会导致分割故障。通常,这样做的程序将由操作系统终止。
- 当程序将数据写入其分配的空间的末尾,然后继续将数据写入以其他目的分配的内存,就会发生缓冲区溢出。这可能会导致程序行为不稳定,包括内存访问错误,错误结果,崩溃或违反系统安全性。因此,它们是许多软件漏洞的基础,可以被恶意利用。
虚拟内存
虚拟内存是一个系统,该系统通常在存储器管理单元的帮助下由操作系统管理,这是许多现代CPU的一部分。它允许使用多种类型的内存。例如,某些数据可以存储在RAM中,而其他数据则存储在硬盘驱动器上(例如,在交换驱动器中),作为缓存层次结构的扩展功能。这提供了几个优势。计算机程序员不再需要担心其数据物理存储的位置或用户的计算机是否具有足够的内存。操作系统将在RAM中放置积极使用的数据,该数据比硬盘要快得多。当RAM的数量不足以运行所有当前程序时,可能会导致计算机花费更多的时间将数据从RAM转到磁盘并返回的情况,而不是完成任务;这被称为thrashing 。
受保护的内存
受保护的内存是一个系统,每个程序都可以使用内存区域,并阻止了该范围之外的范围。如果操作系统检测到程序是否试图更改不属于它的内存,则该程序将被终止(或其他限制或重定向)。这样,只有不利的计划崩溃,而其他计划不受行为不当的影响(无论是偶然还是故意)。使用受保护的内存可以大大提高计算机系统的可靠性和安全性。
没有受保护的内存,一个程序中的错误可能会更改另一个程序使用的内存。这将导致其他程序从损坏的内存中逃脱,结果无法预测。如果操作系统的内存损坏,则整个计算机系统可能会崩溃并需要重新启动。有时程序有意会更改其他程序使用的内存。这是由病毒和恶意软件完成的,以接管计算机。它也可以通过理想的程序来良性地使用,这些程序旨在修改其他程序,例如,辩论者插入断点或钩子。