闪速存储器

    闪速存储器(Flash Memory)是一类非易失性存储器NVM(Non-Volatile Memory)即使在供电电源关闭后仍能保持片内信息;而诸如DRAM、SRAM这类易失性存储器,当供电电源关闭时片内信息随即丢失.相对传统的EEPROM芯片,这种芯片可以用电气的方法快速地擦写.由于快擦写存储器不需要存储电容器,故其集成度更高,制造成本低于DRAM.它使用方便,既具有SRAM读写的灵活性和较快的访问速度,又具有ROM在断电后可不丢失信息的特点,所以快擦写存储器技术发展最迅速。

闪速存储器在图像采集系统中的应用

    图像的保存和恢复是一个图像采集系统所不可或缺的功能之一。保存图像信息所用的介质或设备有很多种,如常用的电影胶片、胶卷、硬盘、软盘、光盘、各种静态和动态RAM、ROM以及固态存储器件等。其中,Flash ROM以其内容掉电不消失、价格低廉、控制方法灵活、与微处理器接口方便等特点,越来越多地应用在图像采集与存储系统中,如常见的数码像机。因此,研究Flash ROM在图像采集记录系统中的应用技术有着重要的意义。
    1 闪速存储器的分类和发展现状
    目前常见的图像采集记录系统如数码像机、数码摄像机中,通常采用半导体存储器作为其记忆部分。半导体存储器通常可分为随机存储器(RAM)和只读存储器(ROM[_]。RAM的内容可以随时刷新,访问速度快,但是掉电后其存储的信息会丢失;ROM则具有掉电不丢失数据的特性。通常ROM又可分为固定ROM、PROM、EPROM和EEPROM。
    闪速存储器(Flash ROM)属于半导体存储器的一种,属于非易失性存储器NVM(Non-Volatile Memory)。它采用类似于EPROM的单管叠栅结构的存储单元揣怕,是新一代用电信号擦除的可编程ROM;它既吸收了EPROM结构简单、编程可靠的优点,又具有EPROM用随道效应擦除的快捷特性,集成度可做得很高,因而在便携式数据存储和各种图像采集记录系统中得到了广泛的应用。
    全球闪速存储器的主要供应商有AMD、Atmel、Fujistu、Hitachi、Hyundai、Intel、Micron、Mitsubishi、Samsung、SST、Sharp、Toshiba。由于各自技术架构的不同,分为几大阵营,因此闪速存储也按其采用技术的不同而分为几大类:
    *NOR技术——代表公司Intel,特点为擦除和写入慢、随机读快;
    *NAND技术——代表公司Samsung,特点为随机读写慢、以页为单位连续读写快;
    *AND技术——代表公司Hitachi,特点为低功耗,价格高。
    *由EEPROM派生的闪速存储器。特点:介于NOR与EEPROM之间。
    存储器的发展具有容量更大、体积更小、价格更低的趋势,这在闪速存储器行业表现得淋漓尽致。随着单导体制造工艺的展,主流闪速存储器厂家采用0.18μm,甚至0.15μm的制造工艺。
    借助于先进工艺的优势,闪速存储器的容量可以变大:NOR技术将出现256Mb的器件,NAND和AND技术已经有16Gb的器件。
    芯片的封装尺寸更小:从最初DIP封装,到PSOP、SSOP、TSOP封装,再到BGA封装,闪速存储器已经变得非常纤细小巧。
    工作电压更低:从最初12V的编程电压,一步步下降到5V、3.3V、2.7V、1.8V单电压供电;符合国际上低功耗的潮流,更促进了便携式产品的发展。
    位成本大幅度下降:采用NOR技术的Intel公司的28F128J3价格为25美元,NAND技术和AND技术的闪速存储器已经突破10MB 2美元的价位,性价比极高。
    本文中讨论的是采用NAND技术的K9F1208U0M。
    2 64M闪速存储器K9F1208UOM简介
    K9F1208U0M是Samsung公司生产的采用NAND技术的大容量、高可靠Flash存储器。该器件采用三星公司的OS浮置门技术和与非存储结构,存储容量为64M×8位,除此之外还有2048K×8位的空闲存储区。该器件采用TSSOP48封装,工作电压2.7~3.6V。
    K9F1208U0M对528字节一页的写操作所需时间典型值是200μs,而对16K字节一块的擦除操作典型民仅需2ms。每一页中的数据出速度也很快,平均每个字节只需50ns,已经与一般的SRAM相当。8位I/O端口采用地址、数据和命令复用的方法。这样既可减少引脚数,还可使接口电路简洁。片内的写控制器能自动执行写操作和擦除功能,包括必要的脉冲产生,内部校验等,完全不用外部微控制器考虑,简化了器件的编程控制难度。
    2.1 器件结构
    K9F1208U0M的结构由以下几部分组成:
    ①地址译码器。它是一个二维的译码器,A0~A7为Y方向译码器,A9~A25为X方向译码器;而A8是由命令寄存器决定的,用于选择Flash ROM存储器的区号。
    ②存储阵列。如图1所示,由于地址A8的不同,可以把存储阵列分为第一和第二两部分;同时,它还有一个空闲区,都可通过命令进行选择。整个存储阵列又可分为4096块,每一块分为32页,一页包含528字节。这528字节包含第一部分的256字节和第二部分的256字节以及空闲区的16字节。
    ③命令寄存器。命令寄存器把输入的命令暂存起来,根据不同的命令和控制线执行不同的操作。
    ④控制逻辑和高电压产生器。控制逻辑产生各种控制信号,用于对内部的存储阵列缓存器等进行合理的控制。高电压产生器可以产生用于对存储阵列进行编程的高压。
    ⑤I/O缓存、全局缓存及输出驱动。用于对输入及输出进行必要的缓存,以符合时序的要求。输出驱动加强带载能力。
    2.2 引脚说明
    ①命令锁存使能(CLE),使输入的命令发送到命令寄存器。当变为高电平时,在WE上升沿命令通过I/O口锁存到命令寄存器。
    ②地址锁存使能(ALE),控制地址输入到片内的地址寄存器中,地址是在WE的上升沿被锁存的。
    ③片选使能(CE),用于器件的选择控制。在读操作、CE变为高电平时,器件返回到备用状态;然而,当器件在写操作或擦除操作过程中保持忙状态时,CE的变高将被忽略,不会返回到备用状态。
    ④写使能(WE),用于控制把命令、地址和数据在它的上升沿写入到I/O端口;而在读操作时必须保持高电平。
    ⑤读使能(RE),控制把数据放到I/O总线上,在它的下降沿tREA时间后数据有效;同时使用内部的列地址自动加1。
    ⑥I/O端口,用于命令、地址和数据的输入及读操作时的数据输出。当芯片未选中时,I/O口为高阻态。
    ⑦写保护(WP),禁止写操作和擦除操作。当它有效时,内部的高压生成器将会复位。
    ⑧准备/忙(R/B),反映当前器件的状态。低电平时,表示写操作或擦除操作以及随机读正进行中;当它变为高电平时,表示这些操作已经完成。它采用了开漏输出结构,在芯片未选中时不会保持高阻态。
    2.3 K9F1208U0M的接口控制方法
    K9F1208U0M在应用时必须通过外部微控制器来控制其内容的读写,图2给出了K9F1208U0M与AT90S8515单片机接口的方法。
    K9F1208U0M的数据总线与AT90S8515的数据口PA口相连,用单片机的地址高位引脚PC6作为K9F1208U0M的片选信号(CS);PC5接K9F1208U0M的命令数据选择端(CMD/DATA),而PC4接K9F1208U0M的地址锁存允许端(ALE)。因此,对K0F1208U0M的访问就相当于访问地址分别为0xaf00、0x9f00、0x8f00的三个端口,分别对应K9F1208U0M的命令端口、地址端口、数据端口。因此,对于单片机而言,对K9F1208U0M的命令、地址和数据操作可通过不同的端口进行,简化了K9F1208U0M读写控制的难度。
    2.4 读写操作流程
    进行写操作时先要写入命令字80H,通知K9F1208U0M要进行写操作,然后顺序写入目的地地址和待写入的数据。应该注意的是,地址只需写入一次,便可以连续写入多个字节数据。地址指针的调整是由K9F1208U0M内部逻辑控制的,不用外部干预。写入操作是以页为单位(1~528字节)进行的,即每次连续写入能超过528个字节。这是由于K9F1208U0M的工作方式决定的:写入的数据先保存至Flash内部的页寄存器(528字节)中,然后再写入存储单元。数据写完之后还要给K9F1208U0M发出1个写操作指令10H,通知其将页寄存器中的数据写入存储单元,随后就应该对状态引脚进行查询。如果该引脚为低,表明此次写操作结束。最后的步骤是数据校验,如果采用了ECC校验模式,则此步骤可以省略。
    其它操作如读操作、擦除操作等过程均与此类似,可参考相关的器件说明文档。限于篇,这里不再多述。
    2.5 注意事项
    在以K9F1208U0M为数据存储介质的系统设计中,需要注意无效块的问题。无效块即包含一个和多个无效数据位的块。由于结构方面的原因,一块(32页)中有一个无效位也会导致整个块无效。因此,系统必须在写入数据时避开无效块。出厂时,每片K9F1208U0M的无效块信息均保存在一个无效块信息表中,可以根据该表中的原始无效块信息识别无效块的位置。在K9F1208U0M的使用过程中,应随时对无效块情况进行检查和更新,以保证无效块表内容的准确性;同时,应该禁止任何试图擦除无效块信息表的操作。
    3 闪速存储器在图像采集记录系统中应用
    在该系统中,通过光学镜头把像成在位于焦平面处的CMOS图像传感器(OV7620)的像面上。CMOS图像传感器对其进行空闲采用并数字化以后,直接输出分辨率为512×480的8位灰度数字图像数据。由于K9F1208U0M的读写时序无法与CMOS图像传感器配合,因此,需要在两者之间加一个静态缓存。这里使用的是HM62815(512×8位SRAM)。先把图像数据保存在静态缓存中,然后通过AVR单片机的控制,把图像转存到K9F1208U0M里。至于何时需要转存,则由AVR单片机根据外部控制命令接口传来的命令;同时,还要由CMOS图像传感器输出的行场同步时序信号来决定。
    图像记录保存的最终目的是要显示出来,因此还需要把保存在闪速存储器K9F1208U0M中的图像数据读出。本系统中K9F1208U0M的图像数据是通过USB接口读出的。采用了AVR系列的AT90S8515单片机作为USB接口控制器,负责对与上位机通信用的USB接口进行配置及管理,此外,其主要的工作还包括对静态缓存、K9F1208U0M等进行读写控制。在上位机中采用Visual C++语言编写相应的图像数据采集软件,就能够实现通过USB总线对K9F1208U0M中图像数据的读取、显示及保存。
    该图像采集系统输出的数字图像分辨率为512×480,而K9F1208U0M是64M×8位的闪速存储器;因此,最多可以存储272张图片,并且读写速度达到300kB/s,基本能够满足一般使用的要求。
    4 结论
    闪速存储器是图像采集记录系统中的记忆部分,对它的希望就是读写速度快、容量大以及操作方便。通过对Samsung公司采用NAND技术的闪速存储器K9F1208U0M进行的研究表明:K9F1208U0M器件与系统的接口十分简单、操作灵活方便、器件从硬件到软件均有多种保护、数据可靠性高、使用寿命长,为大容量固态图像存储器市场提供了最具成本效益的解决方案,因而在各种数字图像采集和存储应用领域具有广阔的应用前景。

闪速存储器指令

    通过地址与数据特定组合的若干次写入序列,向闪速存储器发出指令。利用这样的序列,防止由于编程错误及开通电源的暂时不稳定等因素所引发偶然擦除及写入操作。
    Am29F010A的指令定义如表所示。例如,当编程指令(向闪速存储器特定地址写入数据)下达时,如下所述:
    ①向555h地址写入AAh;
    ②向2AAh地址写入55h;
    ③向555h地址写入A0h;
    ④向希望写人地址(PA)处写人希望写入的数据(PD)。
    表 Am29F010A的指令定义
    RA:读地址;PA:编程地址;SA:扇区地址;RD:读数据;PD:编程数据
    通过上述4次写入序列完成写人操作。最后的写操作完成后,根据读取状态来判断内部操作是否结束。

闪速存储器的概要

    一眼看上去就是n沟道的MOSFET那样的东西,但又与普通的FET不同,特点是在栅极(控制栅)与漏极/源极之间存在浮置栅,闪速存储器利用该浮置栅存储记忆。
    浮置栅被设计成可以存储电荷的构造,栅极及主板利用氧化膜进行了绝缘处理,一次积累的电荷可以长时间(10年以上)保持。当然,如果氧化膜存在缺陷,或者由于某种原因使绝缘膜遭到破坏,那么闪速存储器将失去记忆。同时,因为热能必定致使电荷以某概率发生消减,因此数据保存的时间将受到温度的影响。
    下面,我们将进一步讨论闪速存储器的擦除与写人的原理。
    我们知道,数据的写人与擦除是通过主板与控制栅之间电荷的注人与释放来进行的。例如,一般的NOR闪速存储器在写人时提高控制栅的电压,向浮置栅注人电荷。而数据的擦除可以通过两种方法进行。一种方法是通过给源极加上+12V左右的高电压,释放浮置栅中的电荷(Smart Voltage Regulator);另一种方法是通过给控制栅加上负电压(-10V左右),挤出浮置栅中的电荷(负极门擦除法)。
    浮置栅的电荷可抵消提供给控制栅的电压。也就是说,如果浮置栅中积累了电荷,则阈值电压(Vth)增高。与浮置栅中没有电荷时的情况相比,如果不给控制栅提供高电压,则漏极-源极间不会处于导通的状态。因此,这是判断浮栅中是否积累了电荷,也就是判断是“1”还是“0”的机制。
    那么,写入操作是提高了Vth还是降低了Vth呢?根据闪速存储器的类型情况也有所不同。作为传统EPROM的一般替代晶的NOR以及硅盘中应用的NAND闪速存储器,在写入时为高Vth;而AND及DINOR闪速存储器中,在写人时为低Vth。

闪速存储器相关词条