基于闪存的海量图像存储系统的设计

2022-09-11

图像的存储是图像采集系统所不可或缺的功能之一。保存图像信息所用的介质或设备有很多种, 如常用的电影胶片、胶卷、硬盘、软盘、光盘、各种静态和动态RAM、ROM以及固态存储器件等。其中, FlashROM以其内容掉电不消失、价格低廉、控制方法灵活、与微处理器接口方便等特点, 越来越多地应用在图像采集与存储系统中。因此, 研究FlashROM在图像采集记录系统中的应用技术有着重要的意义。

1 闪存的发展现状

闪存是一类非易失性存储器即使在供电电源关闭后仍能保持片内信息;而诸如DRAM、SRAM这类易失性存储器, 当供电电源关闭时片内信息随即丢失。因此, 研究闪存在图像存储系统中的应用技术有着重要的意义。

闪速存储器由于各自生产厂家、技术架构的不同, 分为下面4大类, 分别N O R、NAND、AND技术以及由EEPROM派生的闪存。目前, NAND和NOR器件基本占据了大部分的市场。NOR与EEPROM器件有更好的继承性, 适合应用在高速存取、低集成度的场合;而NAND结构在集成密度上具有较大的优势, 在要求高集成度、低成本、高端海量存储时, 更有优势。

本文中讨论的是采用NAND技术的K9MDG08U5M。

2 K9MDG08U5M内部结构

K9MDG08U5M由Samsung公司开发, 单片容量高达1 2 8 G b, 内部是由1 6片K9W8G08构成, 所以仅需研究K9W8G08的内部结构。

K9W8G08的单片容量达到16Gb, 同时还提供有256M额外容量。该闪存芯片是通过与非单元结构来增大容量的。芯片容量的提高并没有削弱它的功能, 它可以在300μs内完成一页2112个字节的编程操作, 还可以在2ms内完成128K字节的擦除操作, 同时数据区内的数据能以50ns/byte的速度读出, 已经与一般的SRAM相当。

该芯片具有以下特点: (1) 以页为单位进行读和编程操作, 以块为单位进行擦除操作, 具有快编程和快擦除的功能。 (2) 数据、地址采用同一总线, 实现串行读取。随机读取速度慢且不能按字节随机编程。 (3) 芯片尺寸小, 引脚少, 是位成本最低的固态存储器。 (4) 芯片包含失效块, 失效块不会影响有效块的性能。

3 基于闪存的海量图像存储系统

3.1 硬件接口设计

在本系统中选用专用DSP芯片TMS320C6201作为处理器, 硬件接口电路如图1所示。图中, K9MDG08U5M只有8根数据地址复用I/O总线, 而TMS320C6205的EMIF接口数据和地址总线分别有32位和20位, 所以, 必须经过一种合理的总线转换将其连接, 本系统中采用2片闪存芯片并行存储, 一片存储高8位数据, 另一片存储低8位数据。具体电路连接方法是读写使能信号可直接相连;控制线CLE和ALE分别与EMIF接口的数据线ED9和ED11直接连接;EMIF接口的片选信号/CE1与字节使能信号/BE0“相与”后与FLASH的片选信号相连;由于EMIF接口的ARDY信号为低时, DSP自动插入等待时钟周期, 因此, FLASH的就绪或忙RY/#BY信号经过上拉电阻与ARDY信号相连, 这种设计使FLASH的编程写操作可不运行数据测试算法, 大大简化了程序设计。

3.2 读写操作

对Flash的操作要靠写入一系列特定的地址和数据序列完成。在每次对Flash写入之前要对其原来内容进行擦除。对Flash写操作是按页进行的, 每次页编程之前要有5个周期的地址输入, 这样速度远远低于系统要求, 解决方法只有连续写操作, 即只在每幅图像之前写入地址, 然后连续写入一幅图像的数据, 这样速度大大提高。同样, 采用连续读操作, 顺序读出一幅或多幅图像会提高速度。这样对其的操作就简化为连续读写和擦除操作。在写入连续数据输入指令 (80h) 后装载连续数据, 当写入页编程确认指令 (10h) 即可开始编程操作。

K9MDG08U5M的默认状态为读状态。读操作是以通过5个地址周期将00h地址写到指令寄存器为开始指令, 一旦该指令被锁存, 就不能在下页中写入读操作了。

当地址变化时, 随机读操作可以将选定页中的2K字节数据在25µs内存入数据寄存器中。系统通过分析R/#B脚的输出来判断数据转移是否完成。而存入数据寄存器的数据可很快被读出, 如一页的数据通过连续的RE脉冲可以在50ns内读出。

注意, 在对K9MDG08U5M进行编程操作时, 三条关键控制检测线/CE、/RE、/WE必须处于正确状态, 当/CE或/WE不是低电平或/RE不是高电平时, 编程操作将被禁止。由于该Flash的操作时序是ns级, 所以在调试时要注意指令的安排顺序和有选择地加入空操作指令, 以满足其精确的时序要求;FLASH擦除操作耗时较多, 应减少擦除操作;由于FLSAH在使用过程中会出现坏块, 因此, 尽量避免频繁地对同一地址操作, 以免造成局部单元提前损坏。

3.3 无效块管理

闪存同其它固体存储器一样都会产生坏块。在K9MDG08U5M中无效块并不影响正常部分的工作, 这是因为其各块之间是隔离的。无效块均可以通过地址的布置系统找到, 而三星公司确定地址为00h的第一块一定应当是正常的。无效块在大多数情况下也是可擦写的, 并且一旦被擦掉就不可能恢复。因此, 系统必须能根据坏块信息来识别无效块, 并通过流程图建立无效块信息表, 以防止无效块信息被擦除。

在使用过程中, 闪存可能会产生新的无效块, 从而使正常工作出现一些错误。在擦除和编程操作后, 如果出现读失败, 应当进行块置换。块置换是由容量为一页的缓冲器来执行的, 可以通过发现一个可擦的空块和重新对当前数据对象进行编程来复制块中的剩余部分。为了提高存储空间的使用效率, 当由单个字节错误而引起的读或确认错误时, 应由ECC收回而不要进行任何块置换。

4 结语

在整个系统的试验过程中, 本部分工作正常, 有效地将图像快速存入到Flash中, 经过软件对存储数据的恢复分析, 数据存储正确, 无漏存数据或错误数据。这种数据存储方式对各种大容量数据采集以及存储系统的设计具有很好的参考意义。

摘要:闪存因其结构简单、控制灵活、编程可靠、集成度高等优点, 得到广泛应用。本文以Samsung公司的128Gbit闪存为例介绍其特性和主要功能。就其写入速度慢、无效块管理等关键问题提出了解决方案。

关键词:海量图像存储,闪存,无效块管理

参考文献

[1] 李朝晖.TMS320C6201 DMA在视频图像编码中的应用[J].华北航天工业学院学报, 2003, 13 (9) :12~15.

[2] 达选福, 张伯济, 边川平.高速CCD图像数据存储技术[J].光子学报, 2003, 32 (11) :1393~1395.

[3] 刘智, 薛旭东.闪速存储器在图像采集系统中的应用[J].单片机及嵌入式系统应用, 2004 (2) .

上一篇:科氏超滤膜在化纤污水MBR系统中的应用试验下一篇:在校大学生网贷安全教育的现状、问题及对策研究