打孔卡(Punch Card)

打孔卡的诞生可以追溯到1890年的自动制表机,甚至更早——1805年的自动提花编织机。总之,当电子计算机的构想还在娘胎里时,它已在世界各地展露头角了。

在计算机尚没有存储功能的年代,打孔卡就是程序和数据输入的介质。在一张纸板上,预先规定好行列和孔位,识别装置通过机械探针或光电感应判断有无孔洞,有孔为1,无孔为0。就这样,人们成功地把纸片上的信息转化成电子数据,交由计算机进行计算,而纸片也成了世界上最早的电子数据存储方式。

打孔卡有许多制式,其中“IBM卡片”脱颖而出成为主流标准。这种打孔卡比巴掌稍大,并非方方正正,而是切掉一个角,以方便整理;采用窄长方形孔洞取代传统圆形孔洞,以在有限的长度下容纳更多列——整整80列。

之后又发展出条状的穿孔纸带(指令带),可承载更多信息,但原理依旧如此。

打孔卡的生命周期非常长,即便后期磁介质存储器问世,由于分时操作系统未发展完善,纸带配合打孔机仍是最好的编程方式。打孔卡直到20世纪70年代末才逐渐退出历史舞台。可以说,打孔卡见证了初代计算机的诞生和发展,也陪伴初代程序员经历无数个脱发的日夜。

延迟线存储器

延迟线存储器利用波在传导介质中的延迟效应来实现数据存储,使用机械波承载信息,波峰为1,波谷为0。

室温条件下,水银既是液体,又是导体,是当时最好的载波介质。在一根长长的管子里注满水银,两端分别装备电-声转换器和声-电转换器,将电信号调制成脉冲信号从一端输入,经过水银柱的延迟传播后被另一端接收,转换回电信号输出,将信号放大、整形后,再重新反馈到发送端输入,形成一个环路(重刷新保持数据),以此实现数据的存储。这样一整套存储结构即汞延迟线存储器。

汞延迟线存储器被称作最早的计算机内存,它非常笨重:为了使水银温度保持在40℃左右(温度变化会影响数据精度),需要将水银管置于一个充满加热器的容器当中,这使得单个汞延迟线存储器的重量超过1吨。

而它除了体积庞大,还有一个致命缺点:只能循序访问,顺序存取。

延迟线的设计最初在二战期间应用于军用雷达,后来广泛地运用在早期的大型计算机中作为内存部件。据我考据,延迟线存储器用于计算机的设想在1944年就有了雏形,但涉及到几位大佬的爱恨情仇,简直是计算机发展史上的一团乱麻。

在1944年8月,ENIAC还未建成,EDVAC(离散变量自动电子计算机)的设计任务就被提出。此时,ENIAC的主工程师Eckert对于新计算机的存储单元有了初步的设想:使用汞延迟线作为存储器。没错,这个想法的诞生更早于那份大名鼎鼎的《EDVAC报告书的第一份草案》,也因此Eckert后来对冯诺依曼单独署名发布的《草案》非常不满,他认为”冯·诺依曼体系结构“应该是”埃克特体系结构“,他才是最早提出存储程序概念的人。

很快,EDVAC研发团队内部为计算机技术专利的归属权问题发生激烈争执。1946年,莫尔学院研究所要求两名主要工程师Mauchly和Eckert将所有专利成果移交宾夕法尼亚大学,两人断然拒绝后辞职,离开研发团队。

而已经投入运行的ENIAC于1946年11月9日关闭,翻新和升级存储器,后转移到阿伯丁试验场,1947年7月重新启动。我猜测这次升级加装了汞延迟线存储器,但未能找到详实确切的资料。

1949年,EDVAC项目因团队的分裂陷入泥潭,反倒是英国剑桥大学的EDSAC和澳大利亚的CSIRAC双双成功投入运行,两者正是使用了汞延迟线作为存储器。

直到1951年3月,辞职创业后在商海中几经波折的Mauchly和Eckert才终于研发出UNIVAC-1,交付给美国人口普查部。同年8月,被这俩哥们坑惨的EDVAC在克服诸多问题之后,也开始运行。这两台计算机都使用汞延迟线存储器。

除了汞柱模式的延迟线存储器外,之后还发展了磁致伸缩延迟线(金属线)和压电延迟线(石英材料),同是属于声学延迟线。

Tips:ABC计算机被正名为世界上第一台电子计算机后,因使用固定在一对旋转磁鼓上的电容器作为存储结构,有人认为磁鼓存储器才是最早的内存,但我认为其仅作为名义上的个例,不具备代表性,反观延迟线存储器有大规模应用。此外,ABC的存储装置实际上并没有利用磁介质进行存储,准确地说它使用的是再生电容存储器。

静电存储管

这是一种特殊的阴极射线管(CRT),使用静电电荷存储数据。

1946年,Williams和Kilburn发明了威廉姆斯管(Williams tube,全称Williams-Kilburn tube)。当电子束击中管内的显示面,在其中一点上产生少量正电荷,这便是写入操作;写入发生后,荧光粉中电荷的重新分配会产生电流,放在显示面前方的薄金属板通过感应电压实现读取操作。读取操作期间,电子束在显示面的选定位置写入,之前写入过的位置电子已经耗尽,没有产生电流,金属板无电压,该位置为1;若该位置电子束之前没有写入过,金属板有电压,该位置为0。

由于读操作是基于写入操作的次要效应,每一次读取都会破坏该位置的原始内容,因此任何读取都需要重写恢复数据。而且电荷会自然流失,需要定期刷新以保持数据。

威廉姆斯管的读写是以电子速度进行的,不但比声速传播的延迟线存储器更快,而且它首次实现了随机存取!

这套存储系统会受到附近电场的影响,需要人工手动调整,往往随着使用年限的增长而变得不可靠。

1948年6月21日,英国曼彻斯特大学的Manchester Baby计算机作为威廉姆斯管的测试平台运行了一个程序。此后,这种存储器被广泛使用,包括Manchester Mark1的商业化型号Ferranti Mark1,UNIVAC 1103,IBM 701,苏联的Strela电脑等等。

与威廉姆斯管类似的静电存储器还有选数管(Selectron tube)。同样是1946年开始研发,但因制造难度远高于预期,始终没能商业化生产,而原本等待该存储器的IAS machine也转向使用威廉姆斯管。

磁存储技术

电磁学的发展让人们看到磁介质存储器蕴含的巨大潜力:磁材料天然的正反两种极性代表0和1,使用电流改变磁化方向实现写数据,依靠磁头的磁致电阻效应完成读数据。

从20世纪50年代开始,磁介质存储器几番改变形态,始终是存储器领域的主流。

磁带(Magnetic Tape)

把时间前拨到1928年,德国工程师Fritz Pfleumer发明了一种涂上氧化铁粉末的长条纸,可以基于磁线技术记录模拟信号,主要用于录音。由于第二次世界大战的爆发,德国对这项新形式的录音技术高度保密,直到1945年盟军攻克柏林结束战争后,才了解该技术的实际性质。

磁带首次用于计算机是在1951年,作为UNIVAC-1主要的I/O设备,替代了传统打孔卡进行数据输入输出。

磁带是最早利用磁性存储电子数据的设备,更重要的是,磁带是一项沿用至今未被抛弃且仍在发展的技术。虽然其过于缓慢的读写速度无法用作计算机存储器,但它有着成本低廉、低功耗、易于保存、保存时间长、高可靠性等众多优势,是电子数据存档的重要方式之一,时至今日仍有用武之地。

记得我小时候学习英语单词和课文,就是抱着一个小磁带机,塞入盒式磁带,反复倒带听读背诵。而每每英语老师提着一台大收音机走进教室,我也会提前一步感受到听力的痛苦折磨。

现在手机成为全能化的终端设备,结合互联网为人们提供了更高效便捷的信息渠道,磁带也顺应时代退出千家万户。但我们仍能在一些大型企业或研究所的冷存储数据中心看到它的身影。

磁鼓存储器(Drum memory)

1932年,IBM公司的奥地利工程师Gustav Tauschek发明了一种鼓状的磁性数据存储设备,在鼓筒表面涂覆一层磁性材料,多个固定磁头负责数据读写,通过高速旋转实现较快的存取速度。这种磁鼓内存在1950~1960年代的早期计算机中广泛使用。

磁鼓的缺陷在于存储率不理想,一个硕大的圆柱体仅表面一层用于存储,后被更优秀的磁芯存储器取代,而其旋转读写数据的方法启发了磁盘的诞生。

磁芯存储器(Magnetic-core memory)

1948年,美国华裔王安提出“脉冲传输控制装置(Pulse transfer controlling device)”,实现磁芯存储器通过“读后即写”保持原数据。从此磁芯存储器成为计算机内存的首选,贯穿整个晶体管计算机时代。

所谓磁芯就是一枚枚小磁环,用到导线穿过磁环,把它们编织排布成磁芯阵列。导线通电,当电流从正向穿过磁环,磁环产生顺时针方向的磁场(右手螺旋定则);反之,当电流反向穿过磁环,磁环则产生逆时针方向的磁场。通过磁化方向的不同区别0和1,而控制电流方向就能写入数据。数据读出也是基于写入:写入0,若原数据是1,逆向的磁场会激发一个感应电流,感应线路监测到该电流;若原数据本就是0,则不会产生电流。

首个使用磁芯存储器的计算机是MIT开发的旋风计算机(Whirlwind I),1951年投入使用。

硬盘驱动器(Hard disk drive)

磁盘使用了和磁鼓相同的原理,通过自身的旋转让磁头读取数据,但薄薄的盘片可比圆筒状的磁鼓小巧多了,不仅顶面和底面都能用于存储,还可以通过上下堆叠排列多个磁盘和磁头进一步增加存储容量。

1956年9月,IBM 305 RAMAC计算机搭载了世界上第一个硬盘驱动器IBM 350。这台硬盘有两个冰箱这么大,重1吨,包含50个堆叠的24英寸磁盘,共100个可供使用的记录面,能存储500万个6位字符(3.75MB)。

1973年3月,IBM推出“温彻斯特(Winchester)”硬盘,它使用了一个革命性的技术:磁头可以在不直接与盘片接触的情况下读写数据,就像磁头在盘片上方“飞行”一样。这种磁头设计不但大幅降低了硬盘内部机械结构的复杂性,还解放了盘片旋转速度的上限,使硬盘读写速度迈入新阶段。

此后机械硬盘又经历了无数轮技术更迭,薄膜磁头、稀土磁铁材料、氦气封装、热辅助磁记录……其容量越来越大,体积越来越小,成本越来越低廉,从两个冰箱大的机柜演变成巴掌大的方盒子,现如今已在辅助存储设备领域取得统治级的地位。

软盘(Floppy disk)

软盘是一种柔性材质的磁盘,封装在方形的塑料外壳里,主打便捷和小容量数据交互。在问世后的40年里红极一时,直到21世纪被基于NAND闪存技术的存储设备取代。

1971年,IBM推出世界上第一款商用软盘,直径为8英寸,容量80KB,只读。但对于可移动存储设备而言,8英寸还是太大太贵,1976年8月,软盘之父Alan Shugart紧接着研制出5.25英寸的软盘。后来索尼开发了更小的3.5英寸软盘,并成为市场标准。

在上世纪80年代和90年代,软件程序进入GUI时代,而人们普遍使用软盘在个人计算机上存储数据,于是保存文件的图标被设计成软盘的样式——直到今天依旧延续着这个传统,这也是软盘在计算机发展史上留下的一笔痕迹。

光存储技术

光存储通过激光在光盘表面上烧蚀出凹凸不平的小坑实现,光照射到光盘上产生不同的反射,由此转化成0和1数字信号。

1958年,David Paul Gregg发明了第一张模拟信号光盘,用于记录视频,是DVD的前身。1965年,Russell发明了第一套在光盘上记录数字信号的系统(Compact Disk,CD)。不过,这两位先驱发明的光盘都使用透明模式读取的软盘介质,缺陷很多。到了1969年,荷兰飞利浦研究所的Kramer发明了通过光学反射读取的光盘,并添加保护层使光盘不易损坏。

最初的光盘格式为LaserDisc(LD),1978年在美国开始销售。但由于播放器和光盘成本高昂,消费者非常少,在竞争数字录像格式中被VHS磁带击败。

索尼和飞利浦公司在1980年代中期发布第一代光盘CD(Compact Disk),发展几十年的光盘这才开始普及。

第二代光盘是DVD(Digital Video Disc),意为数字视频光盘,主要用途依旧是存储全动态视频和音频。后来在1995年,IBM牵头将高容量光盘标准统一合称DVD,重新把DVD定义为数字多用途光盘 Digital Versatile Disc。

第三代光盘是进入21世纪后推出的蓝光光盘(blu-ray disc,BD),使用短波长和高数值孔径物镜,在高清光盘格式竞争中击败了HD DVD格式。

第四代光盘技术仍在发展中,有些格式已问世,更多的新技术则还在研发阶段。由于现阶段光存储技术已经逼近了衍射极限的物理限制,传统的二维平面存储很难再有大幅提升,因此寻求新的工程化光存储方式和介质是当下研究热点,而从二维转向多维也是一大重要趋势。一些新兴的技术包括:多波长多阶光存储、双光束超分辨率光存储、高密度近场光存储等。

标签: 存储器

添加新评论