闪存与EEPROM,一对同胞兄弟
1998年,台湾小伙子陈盈豪写了一段可以抹去BIOS信息小程序,正是这段小程序让他一夜成名。因为这段小程序执行以后,电脑中BIOS信息丢失,导致了一种不可逆的故障——黑屏。这是电脑史上首例可以摧毁硬件恶意程序——以陈盈豪的英文名字Chen Ing-hau的缩写命名的CIH病毒。 1998年4月26日,CIH发作,导致全球6000万台电脑瘫痪,造成巨大的经济损失。西方媒体因为这一病毒被设定在切尔诺贝利核电厂事故的周年纪念日这一天发作,因此又称之为切尔诺贝利病毒。
CIH病毒之所以这么厉害,是因为当时电脑采用一种新的器件来存放BIOS信息,这就是EEPROM(Electrically Erasable Programmable ROM,电可擦可编程只读存储器),而在此之前使用的是完全不可改写的mask ROM或利用紫外线才能改写的PROM。
使用EEPROM的目的是可以方便地升级BIOS,升级后的BIOS可以让电脑的功能更强,性能更好。譬如一块不支持新型号处理器的主板,刷新BIOS以后就支持了,再譬如老的电脑主板本来并不支持CPU电压的调整,刷新以后就支持了。
受CIH病毒的影响,后来改用一种供电电压可变的EEPROM芯片来存储BIOS信息。电脑正常工作时,使用+5V的供电电压——此时芯片是只读的,而在进行刷新的时候,需要利用主板上的一个跳线将电压设置在+12V的位置。这就意味着,只要你把跳线放在+5V的位置,CIH病毒对你的电脑就无计可施了。
如果说陈盈豪给中国人的脸上抹了黑,那么就在一年以后,另外两个中国人给中国人挽回了颜面——邓国顺和成晓华共同发明了闪存盘(因为使用USB接口与电脑进行通讯,所以也称作U盘),他们的发明不仅为人们携带数据提供了极大的方便,还催生一个巨大的产业。大家注意到没有,围绕编写CIH病毒程序和发明U盘这两件互不相干的事情,有一个共同点,就是都打了EEPROM芯片的主意。
闪存盘的发明和广泛应用,让我们知道了闪存这个技术词汇。闪存与普通的EEPROM具有相同的存储原理,只是采用了不同的组织结构:EEPROM以字节为单位进行读写(所以也称作Byte EEPROM),而闪存则是以块(block)为单位对整个芯片进行读写。
在闪存芯片中,块的大小并没有严格规定,但是比起字节来要大得多,因此在读写速度方面,闪存的优势非常明显。NAND型闪存执行一次擦除操作只需要4ms,眨眼之间就能将芯片中的数据全部擦除。日本科学家Arrizumi由此联想到照相机的闪光灯,于是就给这种新器件起了“Flash memory”这个名字,中文译名“闪速存储器”,简称“闪存”。