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 列的
   27   28   29   30   31   32   33   34   35   36   37