计算机是如何存储信息的?- 高速缓冲、内存、硬盘

计算机中的信息是由0和1构成的,而这些0和1又是如何储存的呢?

存取方式 主要元件
高速缓冲 SRAM 触发器(晶体管电路)
内存 DRAM 电容
固态硬盘 ROM 浮动栅晶体管

高速缓冲

下图是含有两个或非门、两个开关和一个灯泡的电路:

image

一开始,只有左边或非门的输出有电流,因为它的两个输入均为0。现在闭合上面的开关,左边或非门的输出变为0,于是右边或非门的输出变为1,灯泡点亮:

image

神奇之处在于当你断开上面的开关时,由于或非门的输入中只要有一个为1,其输出就是0,因而左边或非门的输出不变,灯泡仍然亮着:

image

你不觉得奇怪吗?两个开关都断开着,和第一幅图一样,但灯泡却亮着。这种情形和以前所见到的完全不同。通常,一个电路的输出仅仅依赖于输入,这里的情况却不一样。无论断开或闭合上面的开关,灯泡总是亮着。这里开关对电路没有什么影响,原因是左边或非门的输出一直是0。

现在闭合下面的开关。由于右边或非门的输入中有一个是 1,则其输出变为0,灯泡熄灭。 左边或非门的输出此刻变为1:

image

现在,再断开下面的开关,灯泡仍旧不亮:

image

此电路和初始电路一样。然而这回却是下面开关的状态对灯泡没有什么影响。总结起来就是:

电路的奇特之处是:有时当两个开关都断开时,灯泡亮着;而有时,当两个开关都断开时,灯泡却不亮。当两个开关都断开时,电路有两个稳定状态,这样的一个电路称为触发器。

触发器是1918年在英国射电物理学家William Henry Eccles(1875-1966)和F.W.Jordan的工作中发明的。触发器电路可以保持信息,换句话说,它有记忆性。

下面是触发器基本电路:

image

写入时不论触发器原状态如何,只要将写入代码送至 D_{IN} 端,在写选择有效时,经两个写放大器,使两端输出为相反电平。当行、列地址选择有效时,使 T_5、T_6、T_7、T_8 导通,并将A与A'点置成完全相反的电平。这样,就把欲写人的信息写入到该基本单元电路中。如欲写人“1”,即 D_{IN}=1 ,经两个写放大器使位线A为高电平,位线A'为低电平,结果使A点为高,A'点为低,即写人了“1”信息。

内存

触发器电路非常的复杂,元件多导致发热量大、集成度低。用电容来存储信息可以简化电路,但是由于电容充放电需要时间,所以比晶体管电路速度慢。这也是内存比CPU速度慢的原因。

image

读出时,字线上的高电平使T导通,若 C_s 有电荷,经T管在数据线上产生电流,可视为读出“1”。若 C_s 无电荷,则数据线上无电流,可视为读出“0”。读操作结束时, C_s 的电荷已释放完毕,故是破坏性读出,必须再生。
写入时,字线为高电平使T导通,若数据线上为高电平,经T管对 C_s 充电,使其存“1”;若数据线为低电平,则 C_s 经T放电,使其无电荷而存“0” 。

固态硬盘

浮动栅晶体管初始时源极(Source)和漏极(Drain)可以导通,读数为1:

image

写数据0时,在控制栅加正电压,将电子吸入浮动栅。在此后,由于浮动栅上下的二氧化硅材料并不导电,这些电子被囚禁在浮动栅之中,出不去了。这样无论今后控制栅电压有否,这个状态都会保持下去,所以可以掉电保存数据。
image

读取的时候,需要给控制栅加一个低的读取电压,被囚禁的电子可以抵消该读取电压,造成源极和漏极之间是处于被关闭的状态,读数为0:
image

写数据1时,在源极加正电压利用浮空栅与漏极之间的隧道效应,将注入到浮空栅的负电荷吸引到源极,排空浮动栅的电子,读数变为1:
image


参考:
https://www.cactus-tech.com/resources/blog/details/solid-state-drive-primer-1-the-basic-nand-flash-cell/

posted @ 2020-09-02 13:38:49
评论加载中...
发表评论