Page 32 - 应用声学2019年第5期
P. 32
784 2019 年 9 月
片的伤害,而且使测试更加方便和高效。 2.2 存储器测试管理策略设计
图 4 为自顶向下的存储器测试管理层次图,主
要由坏块管理、读写管理、校验纠错管理、交互管
理四个部分组成。下面详细介绍该策略的具体实现
方法。
Flashតኮေ
ڮڱኮေ ឴иኮေ ಣᰎጘᩲኮေ ̔̉ኮေ
图 2 Flash 存储器测试座的实物图
ڮ ڮ अ ऄ ECC ಣᰎ ̔ Ҫ ᩲ
Fig. 2 Photograph of testing model for Flash ڱ ڱ ࡏ ၹ ᝠካ ጘᩲ ̉ ᑟ ឨ
memory គ ᛫ ଌ ଌ ᤥ ܫ
ѿ ፥ ү હ ေ
ઐ
2 系统软件设计 图 4 存储器测试管理的层次图
Fig. 4 Hierarchical graphic of testing management
本文在上位机中设计了基于 MSComm 控件的
for Flash
控制软件,在DSP控制器中开发了存储器的测试管
(1)坏块管理
理策略。二者配合实现了存储器的实时交互测试。
存储器的坏块主要来源于两方面:初始出厂时
2.1 上位机控制软件设计 的坏块和使用过程中产生的坏块。通过读取存储器
图 3 是在 VS2010 环境中开发的上位机控制软 中出厂时的坏块标记,可以建立初始坏块信息表。
件界面。MSComm 控件是 Microsoft 公司提供的简 当擦除或者写入失败时,进行坏块的动态标记。设
化 Windows 下串行通信编程的 Active X 控件 [10] 。 计中,使用数组分别记录坏块的标记和坏块的位置,
通过该控件,上位机与 DSP 处理器之间以波特率 并实时更新与显示坏块的个数和位置信息。
115200、8 位数据、1 位停止位、无奇偶校验的方式进 (2)读写管理
行串行通信。设计中,利用该控件的标准通信命令 对存储器的读写访问实质上就是设计底层驱
实现了数据的格式化接收和发送,其中上位机的接 动。本文通过 DSP 的普通 IO 管脚构建片选 (CE)、
读写使能信号 (WE、RD),地址和命令锁存信号
收使用事件驱动方式而发送采用主动方式。此外,
(ALE、CLE)、状态线 (R/B) 和数据线 (I/O) 的逻辑
软件中的数据存储功能可以实时保存全部测试数
控制组合,使它们满足读写操作的时序要求。
据以供后续的详细分析与处理。
(3)校验纠错管理
ECC 算法能够评价存储器在高温环境下出现
位翻转及其可校正的程度。本文改进了传统的ECC
算法 [6] ,使其适合声波测井的数据特点,同时对存储
器的管理信息和波形数据均可以检验和纠错。算法
以 16 位的字为数据块的基本单元,采用可变 ECC
字节的方法,对任意 2 (n > 0) 个字的数据块进行
n
校验,能够发现数据块中的双比特位错误并纠正单
比特位错误。其中,2个字节的ECC码可以校验1字
到 8 字的数据块,而 4 字节的 ECC 码可以校验 256
字到2048 字的数据块。
本文以 2 字数据的 ECC 算法为例进行说明。
图 3 Flash 测试的上位机软件 表 1 为算法的极性分布表,将 2 个字按照高低字
Fig. 3 PC software for Flash testing 节和位的顺序进行排列,可以构成 4 行 ×8 列的