CN100428364C - 存储器地址线测试方法 - Google Patents

存储器地址线测试方法 Download PDF

Info

Publication number
CN100428364C
CN100428364C CNB2004100310396A CN200410031039A CN100428364C CN 100428364 C CN100428364 C CN 100428364C CN B2004100310396 A CNB2004100310396 A CN B2004100310396A CN 200410031039 A CN200410031039 A CN 200410031039A CN 100428364 C CN100428364 C CN 100428364C
Authority
CN
China
Prior art keywords
address
data
test
address wire
flash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004100310396A
Other languages
English (en)
Other versions
CN1681048A (zh
Inventor
史韦
白尤新
朱星海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2004100310396A priority Critical patent/CN100428364C/zh
Publication of CN1681048A publication Critical patent/CN1681048A/zh
Application granted granted Critical
Publication of CN100428364C publication Critical patent/CN100428364C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明有关于存储器地址线的测试方法。其主要是用“走步1”或“走步0”方法选取存储器的地址单元,在地址单元中写入测试数据,所述测试数据与需要测试的地址线相对应的数据位为“0”,其余数据位为“1”;对所有地址线进行走步测试,读取存储器第一地址单元和最后一个地址单元中的数据,根据数据中的“0”比特位来确定相应的地址线故障。

Description

存储器地址线测试方法
技术领域
本发明有关一种存储器地址线测试方法,尤指一种采用“走步0”和“走步1”的方法准确定位出地址线故障的方法。
背景技术
目前,单板上的CPU最小系统一般都包括CPU、FLASH和SDRAM等器件,CPU是单板的核心,用来执行单板软件指定的各项操作。FLASH是一种电可擦除的存储器,即使单板掉电,保存在其中的程序或数据也不会丢失。CPU可以方便地读出FLASH中的内容,但只有在特定的情况下才可以对其进行擦除和写入操作。SDRAM是一种动态的存储器,单板掉电以后,保存在其中的程序或数据就会丢失,CPU可以很方便地对SDRAM进行读写操作。这两种存储器本身的特点决定了CPU对FLASH中的数据读写较慢,而对SDRAM中的数据读写较快。所以一般都是将单板软件保存在FLASH中,单板上电进行必要的初始化以后,便将FLASH中的程序和数据搬移到SDRAM中来运行,这样可以保证单板的运行速度较快。SDRAM和FLASH在单板上的作用都是相当重要的,因此有必要对其数据线、地址线及单元进行全面的测试。
目前,对FLASH外围互连测试一般采取“三步测试法”,其具体的描述摘录如下:
表一三步测试法总表
第一步测试用来测试数据线是否存在开路故障,第二步测试用来测试数据线是否存在短路故障,第三步测试用来测试地址线是否存在开路或短路故障。在数据线与地址线全部测试完成之后再进行故障诊断。
第一步测试的故障诊断比较简单,如果写全0没有读到全0,就说明数据线存在S-A-1(固定为1)的故障,数值为1的数据线就是发生S-A-1的故障线位置。相反的情况,如果写1没有读到全1,就说明数据线存在S-A-0(固定为0)的故障,数值位0的数据线就是发生S-A-0故障的数据线位置。
第二步测试需要对短路故障的数据线位置和什么类型的短路故障进行判断,表2是第二步测试的一个结果,举例对故障诊断进行说明(数据线b3b2b1b0,测试向量r0r1...r7):
表二  三步测试法第二步测试(数据线测试)
  1   2   3   4   5   6   7   8
  期望值   b<sub>2</sub>开路S-A-0   b<sub>2</sub>和b<sub>1</sub>开路S-A-0   b<sub>2</sub>和b<sub>1</sub>短路0-支配型   b<sub>2</sub>和b<sub>1</sub>开路S-A-1   b<sub>2</sub>和b<sub>1</sub>短路1-支配型   b<sub>3</sub>和b<sub>1</sub>开路S-A-0b2和b1短路0-支配型
  b<sub>3</sub>b<sub>2</sub>b<sub>1</sub>b<sub>0</sub>   b<sub>3</sub>b<sub>2</sub>b<sub>1</sub>b<sub>0</sub>   b<sub>3</sub>b<sub>2</sub>b<sub>1</sub>b<sub>0</sub>   b<sub>3</sub>b<sub>2</sub>b<sub>1</sub>b<sub>0</sub>   b<sub>3</sub>b<sub>2</sub>b<sub>1</sub>b<sub>0</sub>   b<sub>3</sub>b<sub>2</sub>b<sub>1</sub>b<sub>0</sub>   b<sub>3</sub>b<sub>2</sub>b<sub>1</sub>b<sub>0</sub>
  r<sub>0</sub>   1000   1000   1000   1000   1110   1000   0000
  r<sub>1</sub>   0100   0000   0000   0000   0110   0110   0000
  r<sub>2</sub>   0010   0010   0000   0000   0110   0110   0000
  r<sub>3</sub>   0001   0001   0001   0001   0111   0001   0000
  r<sub>4</sub>   0111   0011   0001   0111   0111   0111   0110
  r<sub>5</sub>   1011   1011   1001   1001   1111   1111   0000
  r<sub>6</sub>   1101   1001   1001   1001   1111   1111   0000
  r<sub>7</sub>   1110   1010   1000   1110   1110   1110   0110
在运行第二步测试时,同时进行了“走步1”和“走步0”的算法,目的是为了区分1-支配型短路和0-支配型短路。
对数据线的开路故障和短路故障的诊断流程如下:
BEGIN
FOR实际测试响应矩阵V的每一列Vi
IF Vi和期望响应矩阵T的相应列Ti不一致
报告存在故障;
IF Vi的每一个分量都固定为1
报告第i条数据线发生了固定为1的开路故障;
ELSE IF Vi的每一个分量都固定为0
报告第i条数据线发生了固定为0的开路故障;
ELSE IF在期望响应矩阵中找到第j列矢量Ti与第i列矢量Ti逻辑或运算的结果等于Vi
报告第i条数据线和第j条数据线短路,故障类型为1-支配型短路故障;
ELSE IF在期望响应矩阵中找到第j列矢量Ti与第i列矢量Ti逻辑与运算的结果等于Vi
报告第i条数据线和第j条数据线短路,故障类型为1-支配型短路故障;
ELSE
报告故障类型不可判断;
END IF
END IF
END FOR
IF不存在故障
报告数据线测试没有发现故障;
END。
注意以上只是判断了数据线两两之间短路的情况,其实两条以上数据线短路的情形也包含在两两短路之中,可以对诊断结果作进一步分析,从而得到两条以上数据线短路的情形。
在确保数据线没有故障之后,可以进行第三步测试,对地址线进行测试,下面是第三步测试的一个结果,举例对故障诊断进行说明(地址线a3a2a1a0,测试数据D0D1...D4互不相同):
表三三步测试法第三步测试(地址线测试)
  1   2   3   4   5   6   7   8
  地址   期望值   a<sub>2</sub>开路S-A-0   a<sub>2</sub>和a<sub>1</sub>开路S-A-0   a<sub>2</sub>和a<sub>1</sub>短路0-支配型   a<sub>2</sub>和a<sub>1</sub>开路S-A-1   a<sub>2</sub>和a<sub>1</sub>短路1-支配型   a<sub>3</sub>和a<sub>0</sub>开路S-A-0a<sub>2</sub>和a<sub>1</sub>短路0-支配型
  a<sub>3</sub>a<sub>2</sub>a<sub>1</sub>a<sub>0</sub>
  0000   D<sub>0</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>0</sub>   D<sub>4</sub>
  0001   D<sub>1</sub>   D<sub>1</sub>   D<sub>1</sub>   D<sub>1</sub>   D<sub>1</sub>   D<sub>1</sub>   D<sub>4</sub>
  0010   D<sub>2</sub>   D<sub>2</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>4</sub>
  0100   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>4</sub>
  1000   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>
  1111   D<sub>0</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>0</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>4</sub>
  1110   D<sub>1</sub>   D<sub>1</sub>   D<sub>1</sub>   D<sub>1</sub>   D<sub>1</sub>   D<sub>1</sub>   D<sub>4</sub>
  1101   D<sub>2</sub>   D<sub>2</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>
  1011   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>   D<sub>3</sub>
  0111   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>   D<sub>4</sub>
对地址线开路故障和短路故障的诊断原理是一样的。大致流程如下:
BEGIN
IF读到数据和期望的数据一致
报告地址线测试没有发现故障;
ELSE
将所有数据按写入顺序翻译成相对应的地址,得到期望响应矩阵T和实际响应矩阵V;
FOR实际测试响应矩阵V的每一列Vi
IF Vi的每一个分量都固定为1
报告第i条地址线发生了固定为1的开路故障;
ELSE IF Vi的每一个分量都固定为0
报告第i条地址线发生了固定为0的开路故障;
ELSE IF在期望响应矩阵中找到第j列矢量Ti与第i列矢量Ti逻辑或运算的结果等于Vi
报告第i条地址线和第j条地址线短路,故障类型为1-支配型短路故障;
ELSE IF在期望响应矩阵中找到第j列矢量Ti与第i列矢量Ti逻辑与运算的结果等于Vi
报告第i条地址线和第j条地址线短路,故障类型为0-支配型短路故障;
ELSE
报告故障类型不可判断;
END IF
END IF
END FOR
END。
注意以上也只是判断了地址线两两之间短路的情况,两条以上地址线短路的情形同样可以通过对诊断结果作进一步分析得到。
现有技术一的缺点:
在运用“三步测试法”实现FLASH测试以后,在采用模拟故障的方法对实现的情况进行测试验证的过程中,发现测试程序并不能准确的定位FLASH地址线的故障所在,经过仔细分析,发现“三步测试法”的第三步无法准确定位FLASH地址线故障,下面针对“三步测试法”的第三步进行具体的分析。
实际上现有的“三步测试法”的第三步的思路并没有错误,但具体的方法出现了问题。出问题的原因在于忽略了FLASH的特性,测试方法中把它当做RAM了,以为对某一个地址不擦除便可任意写入,而实际上FLASH是必须擦除后,才能正常写入的,即FLASH的写操作可以将为1的比特写成0,但不能将为0的比特写成1。
通过分析发现,上面的表格(表三)并不准确,假设a2和a1为短路0-支配型故障,当往0010地址写入数据D2时,数据实际上是写入了0000地址,而非0010地址,此时如果读0010地址的内容,实际上读到的是0000地址的内容。同样往0100地址写入数据D3时也写入了0000地址,实际上读到的是0000地址的内容。因为FLASH的特性是可以将为1的比特写成0,但不能将为0的比特写成1,最终结果是0000地址中保存的内容为D2和D3相“与”的结果,同样1111中写入的内容也不是表中分析的那样。因而步骤三只能判断出地址线故障,但并不能判断出是哪一根(或哪几根)地址线故障。
发明内容
鉴于上述现有技术的缺点,本发明提供一种能准确定位存储器(包括FLASH存储器和RAM存储器)地址线故障的方法。
本发明提供的方法如下:
一种FLASH存储器地址线测试方法,包括下列步骤:
A)擦除FLASH全部存储空间;
B)用“走步1”方法选取FLASH的地址单元,在地址单元中写入测试数据,所述测试数据与需要测试的地址线相对应的数据位为“0”,其余数据位为“1”;
C)重复步骤B,直到所有的地址线都完成“走步1”测试;
D)读取该FLASH第一个地址单元中的数据,根据数据中“0”的排列位置,确定相对应位置的地址线发生故障。
本发明另提供一种FLASH存储器地址线测试方法,包括下列步骤:
A)擦除FLASH全部存储空间;
B)用“走步0”方法选取FLASH的地址单元,在地址单元中写入测试数据,所述测试数据与需要测试的地址线相对应的数据位为“0”,其余数据位为“1”;
C)重复步骤B,直到所有的地址线都完成“走步0”测试;
D)读取该FLASH最后一个地址单元中的数据,根据数据中“0”的排列位置,确定相对应位置的地址线发生故障。
本发明提供一种RAM存储器地址线测试方法,包括下列步骤:
A)将RAM存储器的第一地址单元写上全“1”;
B)用“走步1”方法选取RAM的地址单元,在地址单元中写入测试数据,所述测试数据与需要测试的地址线相对应的数据位为“0”,其余数据位为“1”;
C)读取RAM存储器第一地址单元中的数据,并与上一次记录数据进行“逻辑与”操作,将操作结果保存起来(第一次读取时,没有“上一次记录数据”,直接将读到的数据保存起来即可);
D)重复步骤B和步骤C,直到所有的地址线都完成“走步1”的测试;
E)根据最后结果中“0”的排列位置,确定相对应位置的地址线发生故障。
本发明另提供一种RAM存储器地址线测试方法,包括下列步骤:
A)将RAM存储器的最后一个地址单元写上全“1”;
B)用“走步0”方法选取RAM的地址单元,在地址单元中写入测试数据,所述测试数据与需要测试的地址线相对应的数据位为“0”,其余数据位为“1”;
C)读取RAM存储器最后一个地址单元中的数据,并与上一次记录数据进行“逻辑与”操作,将操作结果保存起来(第一次读取时,没有“上一次记录数据”,直接将读到的数据保存起来即可);
D)重复步骤B和步骤C,直到所有的地址线都完成“走步0”的测试;
E)根据最后结果中“0”的排列位置,确定相对应位置的地址线发生故障。
根据本发明的上述各方法,若数据线的数量比地址线少,则将地址线分批次进行测试,使每次测试的地址线数量小于等于数据线。
根据本发明的上述各方法,所述的地址单元的大小根据存储器的数据线位数确定。
本发明优点如下:
1、对FLASH和RAM存储器能够准确地定位故障发生在哪一根(或哪几根)地址线上,弥补了现有测试方法中对地址线的故障定位不易的问题。
2、本发明方法操作简单直观,根据读到的数据,很直观的就可以知道哪根地址线有问题;编程实现非常简单,没必要像现有技术中的方法那样对测试数据与期望数据进行运算和比较,大大降低了编程的复杂度。
具体实施方式
本发明用地址线“走步1”的方法定位出哪些地址线存在固定低电平和粘连0-支配型的故障;用地址线“走步0”的方法定位出哪些地址线存在固定高电平和粘连1-支配型的故障;对地址进行“走步1”或“走步0”测试时,要求测试数据与需要测试的地址线对应的数据位为0,其它数据位为1。
对于地址线“走步1”测试,如表四所示,以8bit的地址为例,首先假设只存在同一类连线故障,故障模式为:a7恒为0,a5和a4短路0-支配型,当出现这类故障时,程序在写入测试数据时会将测试数据写入地址为00000000的单元(当有多根地址线故障时,会多次写入,如果地址线正常则不会写入该地址单元),最后只需读取00000000地址中的值,根据哪些bit(比特位)为0就可以知道哪些地址线存在故障。表四中依次写完所有的测试数据以后,读到的00000000地址的内容为01001111。如表四所示,在地址线正常的情况下00000000地址单元中的内容应该为11111111,而读到的结果为01001111,显示bit7、bit5、bit4变为0了,说明a7、a5和a4有问题。这样根据读到的数据就直观地知道哪根地址线有问题。
表四本发明的三步测试法测试FLASH存储器地址线0-支配故障示例表
(地址线“走步1”)
  要写入的地址   写入的数据   实际写入地址   读00000000地址得到的内容
  a<sub>7</sub>a<sub>6</sub>a<sub>5</sub>a<sub>4</sub>a<sub>3</sub>a<sub>2</sub>a<sub>1</sub>a<sub>0</sub>
  00000000   11111111擦除后即为全1   11111111
  00000001   11111110   00000001   11111111
  00000010   11111101   00000010   11111111
  00000100   11111011   00000100   11111111
  00001000   11110111   00001000   11111111
  00010000   11101111   00000000   11101111
  00100000   11011111   00000000   11001111
  01000000   10111111   01000000   11001111
  10000000   01111111   00000000   01001111
(上表中加粗的数据表示有错误发生)
由于FLASH与RAM的读写操作有些不同,在测试RAM的时候,首先要往00000000地址中写入全1,写入第一个测试数据以后,可以将00000000地址中的数据读出并记录下来,然后每写入一个数,就读出00000000地址的内容并与上一次记录数据进行“逻辑与”操作,将操作结果保存起来,最后根据结果中“0”的位置就可以知道哪根地址线有问题。如下表五所示,以8bit的地址为例,假设故障模式为:a7恒为0,a5恒为1,每次读到的数据“逻辑与”的最后结果为01011111,通过这个结果就可以知道a7和a5有问题。
表五本发明三步测试法测试RAM存储器地址线1和0-支配故障的示例表
(地址线“走步1”)
  要写入的地址   写入的数据   实际写入地址   读00000000地址得到的内容,实际上读到的是00100000地址中的内容,假设00100000地址中原来为一个任意的数,如:01001100,但在往00000000地址中写入11111111时将0010000地址中的内容改写成了11111111
  a<sub>7</sub>a<sub>6</sub>a<sub>5</sub>a<sub>4</sub>a<sub>3</sub>a<sub>2</sub>a<sub>1</sub>a<sub>0</sub>
  00000000   11111111   00100000   11111111
  00000001   11111110   00100001   11111111
  00000010   11111101   00100010   11111111
  00000100   11111011   00100100   11111111
  00001000   11110111   00101000   11111111
  00010000   11101111   00110000   11111111
  00100000   11011111   00100000   11011111
  01000000   10111111   01100000   11011111
  10000000   01111111   00100000   01111111
(上表中加粗的数据表示有错误发生)
如果地址线有的存在0-支配故障,有的存在1-支配故障,假设a7恒为1,a5和a4短路0-支配型。这里读00000000地址时,读到的数据不一定是在00000000地址中的数据,但由于走步测试(包括“走步1”和“走步0”测试)过程中如果地址线故障,写入和读出就会是同一个地址,因此并不会影响测试结果,详细的情况可以参考下表六。
表六本发明的三步测试法测试地址线1和0-支配故障的示例表
(地址线“走步1”)
  要写入的地址   写入的数据   实际写入的地址   读00000000地址得到的内容(由于a<sub>7</sub>恒为1,实际上读到的是10000000地址的内容)
  a<sub>7</sub>a<sub>6</sub>a<sub>5</sub>a<sub>4</sub>a<sub>3</sub>a<sub>2</sub>a<sub>1</sub>a<sub>0</sub>
  00000000   11111111擦除后即为全1   11111111
  00000001   11111110   10000001   11111111
  00000010   11111101   10000010   11111111
  00000100   11111011   10000100   11111111
  00001000   11110111   10001000   11111111
  00010000   11101111   10000000   11101111
  00100000   11011111   10000000   11001111
  01000000   10111111   11000000   11001111
  10000000   01111111   10000000   01001111
对于地址线“走步0”测试,如下表七所示,以8bit的地址为例,首先假设只存在同一类连线故障,故障模式为:a7恒为1,a5和a4短路1-支配型,当出现这类故障时,程序在写入测试数据时会将测试数据写入地址为11111111的空间,最后只需读取11111111地址中的值,判断哪些bit为0就可以知道那些地址线存在此类故障。表七中写完所有的测试数据以后,11111111地址的内容为01001111,说明a7、a5和a4有问题。
表七本发明的三步测试法测试地址线1-支配故障的示例表
(地址线“走步0”)
  要写入的地址   写入的数据   实际写入的地址   读11111111地址得到的内容
  a<sub>7</sub>a<sub>6</sub>a<sub>5</sub>a<sub>4</sub>a<sub>3</sub>a<sub>2</sub>a<sub>1</sub>a<sub>0</sub>
  11111111   11111111擦除后即为全1   11111111
  11111110   11111110   11111110   11111111
  11111101   11111101   11111101   11111111
  11111011   11111011   11111011   11111111
  11110111   11110111   11110111   11111111
  11101111   11101111   11111111   11101111
  11011111   11011111   11111111   11001111
  10111111   10111111   10111111   11001111
  01111111   01111111   11111111   01001111
如果地址线有的存在0-支配故障,有的存在1-支配故障,假设a7恒为1,a5和a4短路0-支配型。这里读11111111地址时,读到的数据不一定是存在11111111地址中,但由于测试时写入和读出是同一个地址,因此并不会影响测试结果。详细的情况可以参考表八。
表八本发明的三步测试法测试地址线1和0-支配故障的示例表
(地址线“走步0”)
  要写入的地址   写入的数据   实际写入的地址   读11111111地址得到的内容(由于a<sub>7</sub>恒为1,a<sub>5</sub>和a<sub>4</sub>恒为0,实际上读到的是11001111地址的内容)
  a<sub>7</sub>a<sub>6</sub>a<sub>5</sub>a<sub>4</sub>a<sub>3</sub>a<sub>2</sub>a<sub>1</sub>a<sub>0</sub>
  11111111   11111111擦除后即为全1   11111111
  11111110   11111110   11001110   11111111
  11111101   11111101   11001101   11111111
  11111011   11111011   11001011   11111111
  11110111   11110111   11000111   11111111
  11101111   11101111   11001111   11101111
  11011111   11011111   11001111   11001111
  10111111   10111111   10001111   11001111
  01111111   01111111   11001111   01001111
实际上对于地址线同时存在各种故障的问题,采取上述两种方法都能定位出故障连线的准确位置,只是实际写入地址可能不是00000000或11111111,但还是只需要读这两个地址的内容进行判断即可,因为读取这两个地址时,读到的实际上是写入的地址中的值。
根据上面的分析,本发明步骤三(针对于FLASH存储器)的流程为:
BEGIN
擦除FLASH空间;
用“走步1”的方式向各地址中写入测试数据(测试数据与需要测试的地址线对应的数据位为0,其它位为1);
IF FLASH中的0地址空间不为全1;
报告地址线测试发现固定电平(可能固定为低也可能固定为高,但知道哪根地址线有问题了,故障就好定位了)的故障,用二进制方式打印该地址空间的内容;
ELSE
报告地址线“走步1”测试未发现固定电平的故障;
END IF
用“走步0”的方式向各地址中写入测试数据(测试数据与需要测试的地址线对应的数据位为0,其它位为1);
IF FLASH中的最后地址空间不为全1;
报告地址线测试发现固定电平(可能固定为高也可能固定为低,但知道哪根地址线有问题了,故障就好定位了)的故障,用二进制方式打印该地址空间的内容;
ELSE
报告地址线“走步0”测试未发现固定电平的故障;
END IF
END。
注:上面的过程是每写一个数,紧接着就读一次存储器的0地址空间或1地址空间,直到所有的地址线都完成走步测试。根据上述流程对装备测试程序进行修改后,在单板上模拟各种地址线故障,都可以根据上报的数据准确定位哪根地址线故障。
实际操作中,关于FLASH外围互连测试时需要根据系统中FLASH的具体应用来对待,需要考虑FLASH的数据总线宽度和地址空间。如某系统中,使用了两片数据宽度为16bit的FLASH并联,数据总线宽度为32bit,地址范围为0xFD000000-0xFD7FFFFF。CPU地址总线A29接2片FLASH的A0,实际用到的地址线为CPU的A[29:9],对应FLASH的A[0:20],共21根地址线,可访问的空间为2M×32bit,正好8M Bytes。进行地址线“走步1”测试时,写数据的起始地址为0xFD000004,读数据的地址为0xFD000000。进行地址线“走步0”测试时,写数据的起始地址为0xFD7FFFF8,读数据的地址为0xFD7FFFFC。测试的起始地址线为CPU的A29(FLASH的A0),循环21次,正好覆盖到21根地址线。判断哪些地址出错的根据就是看0XFD000000和0XFD7FFFFC中读出的32位数据哪些bit为数据“0”。
本发明方法在实际使用时,若存储器数据线的数量少于地址线,就需要将地址线分批次进行测试,使每次测试的地址线的数量小于等于数据线。如有的单板有8M Bytes FLASH,数据线为16位,而地址线共有22根,可访问的空间为4M×16bit,数据线的数量比地址线少,这样就要对地址线分两次进行测试了,首先用上面所描述的方法测试低16位地址线,然后再用同样的方法测试高位的地址线,这样就可以根据读到的数据方便地将故障定位到哪根地址线了。
例如:对于地址线“走步1”测试,如下表九所示,以22bit的地址为例,为了简单起见,首先假设只存在同一类连线故障,故障模式为:a20、a18、a15、a7恒为0,a5和a4短路0-支配型,
表九本发明的三步测试法测试地址线0-支配故障的示例表
(地址线“走步1”)
  要写入的地址   写入的数据   实际写入地址   读0000000000000000000000地址得到的内容
  a<sub>21</sub>a<sub>20</sub>a<sub>19</sub>a<sub>18</sub>a<sub>17</sub>a<sub>16</sub>a<sub>15</sub>a<sub>14</sub>a<sub>13</sub>a<sub>12</sub>a<sub>11</sub>a<sub>10</sub>a<sub>9</sub>a<sub>8</sub>a<sub>7</sub>a<sub>6</sub>a<sub>5</sub>a<sub>4</sub>a<sub>3</sub>a<sub>2</sub>a<sub>1</sub>a<sub>0</sub>
  0000000000000000000000   1111111111111111擦除后即为全1   1111111111111111
  0000000000000000000001   1111111111111110   0000000000000000000001   1111111111111111
  0000000000000000000010   1111111111111101   0000000000000000000010   1111111111111111
  0000000000000000000100   1111111111111011   0000000000000000000100   1111111111111111
  0000000000000000001000   1111111111110111   0000000000000000001000   1111111111111111
  0000000000000000010000   1111111111101111   0000000000000000000000   1111111111101111
  0000000000000000100000   1111111111011111   0000000000000000000000   1111111111001111
  0000000000000001000000   1111111110111111   0000000000000001000000   1111111111001111
  00000000000000   1111111111111111   00000000000000   1111111101001111
  10000000   00000000
  0000000000000100000000   1111111011111111   0000000000000100000000   1111111101001111
  0000000000001000000000   1111110111111111   0000000000001000000000   1111111101001111
  0000000000010000000000   1111101111111111   0000000000010000000000   1111111101001111
  0000000000100000000000   1111011111111111   0000000000100000000000   1111111101001111
  0000000001000000000000   1110111111111111   0000000001000000000000   1111111101001111
  0000000010000000000000   1101111111111111   0000000010000000000000   1111111101001111
  0000000100000000000000   1011111111111111   0000000100000000000000   1111111101001111
  0000001000000000000000   0111111111111111   0000000000000000000000   0111111101001111
  上面为第一次测试,测试了低16位地址线,下面为第二次测试,测试高6位地址线
  0000000000000000000000   1111111111111111擦除后即为全1   1111111111111111
  0000010000000000000000   1111111111111110   0000010000000000000000   1111111111111111
  0000100000000000000000   1111111111111101   0000100000000000000000   1111111111111111
  0001000000000000000000   1111111111111011   0000000000000000000000   1111111111111011
  0010000000000000000000   1111111111110111   0010000000000000000000   1111111111111011
  0100000000000000000000   1111111111101111   0000000000000000000000   1111111111101011
  1000000000000000000000   1111111111011111   1000000000000000000000   1111111111101011
说明,如上表所示,共需2次测试,经过第一次测试,在0000000000000000000000地址单元读到的内容为:0111111101001111,其中d4、d5、d7、d15为0,从而可以判断与其对应的a4、a5、a7、a15有故障。经过第二次测试,在0000000000000000000000地址单元读到的内容为:1111111111101011,其中d2、d4为0,从而可以判断与其对应的a18(16+2)、a20(16+4)有故障。这样经过两次测试,即可准确定位地址线的故障。地址线“走步0”的方法与这个处理方式相同,在此不再赘述。

Claims (12)

1、一种FLASH存储器地址线测试方法,包括下列步骤:
A)擦除FLASH全部存储空间;
B)用“走步1”方法选取FLASH的地址单元,在地址单元中写入测试数据,所述测试数据与需要测试的地址线相对应的数据位为“0”,其余数据位为“1”;
C)重复步骤B,直到所有的地址线都完成“走步1”测试;
D)读取该FLASH第一个地址单元中的数据,根据数据中“0”的排列位置,确定相对应位置的地址线发生故障。
2、如权利要求1所述的FLASH存储器地址线测试方法,其特征在于:若数据线的数量比地址线少,则将地址线分批次进行测试,使每次测试的地址线数量小于等于数据线。
3、如权利要求1或2所述的FLASH存储器地址线测试方法,其特征在于:所述的地址单元的大小根据存储器的数据线位数确定。
4、一种FLASH存储器地址线测试方法,包括下列步骤:
A)擦除FLASH全部存储空间;
B)用“走步0”方法选取FLASH的地址单元,在地址单元中写入测试数据,所述测试数据与需要测试的地址线相对应的数据位为“0”,其余数据位为“1”;
C)重复步骤B,直到所有的地址线都完成“走步0”测试;
D)读取该FLASH最后一个地址单元中的数据,根据数据中“0”的排列位置,确定相对应位置的地址线发生故障。
5、如权利要求4所述的FLASH存储器地址线测试方法,其特征在于:若数据线的数量比地址线少,则将地址线分批次进行测试,使每次测试的地址线数量小于等于数据线。
6、如权利要求4或5所述的FLASH存储器地址线测试方法,其特征在于:所述的地址单元的大小根据存储器的数据线位数确定。
7、一种RAM存储器地址线测试方法,包括下列步骤:
A)将RAM存储器的第一地址单元写上全“1”;
B)用“走步1”方法选取RAM的地址单元,在地址单元中写入测试数据,所述测试数据与需要测试的地址线相对应的数据位为“0”,其余数据位为“1”;
C)读取RAM存储器第一地址单元中的数据,并与上一次记录数据进行“逻辑与”操作,将操作结果保存起来,其中,第一次读取时,没有上一次记录数据,将读到的数据保存起来即可;
D)重复步骤B和步骤C,直到所有的地址线都完成“走步1”的测试;
E)根据最后结果中“0”的排列位置,确定相对应位置的地址线发生故障。
8、如权利要求7所述的RAM存储器地址线测试方法,其特征在于:若数据线的数量比地址线少,则将地址线分批次进行测试,使每次测试的地址线数量小于等于数据线。
9、如权利要求7或8所述的RAM存储器地址线测试方法,其特征在于:所述的地址单元的大小根据存储器的数据线位数确定。
10、一种RAM存储器地址线测试方法,包括下列步骤:
A)将RAM存储器的最后一个地址单元写上全“1”;
B)用“走步0”方法选取RAM的地址单元,在地址单元中写入测试数据,所述测试数据与需要测试的地址线相对应的数据位为“0”,其余数据位为“1”;
C)读取RAM存储器最后一个地址单元中的数据,并与上一次记录数据进行“逻辑与”操作,将操作结果保存起来,其中,第一次读取时,没有上一次记录数据,将读到的数据保存起来即可;
D)重复步骤B和步骤C,直到所有的地址线都完成“走步0”的测试;
E)根据最后结果中“0”的排列位置,确定相对应位置的地址线发生故障。
11、如权利要求10所述的RAM存储器地址线测试方法,其特征在于:若数据线的数量比地址线少,则将地址线分批次进行测试,使每次测试的地址线数量小于等于数据线。
12、如权利要求10或11所述的RAM存储器地址线测试方法,其特征在于:所述的地址单元的大小根据存储器的数据线位数确定。
CNB2004100310396A 2004-04-07 2004-04-07 存储器地址线测试方法 Expired - Fee Related CN100428364C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100310396A CN100428364C (zh) 2004-04-07 2004-04-07 存储器地址线测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100310396A CN100428364C (zh) 2004-04-07 2004-04-07 存储器地址线测试方法

Publications (2)

Publication Number Publication Date
CN1681048A CN1681048A (zh) 2005-10-12
CN100428364C true CN100428364C (zh) 2008-10-22

Family

ID=35067586

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100310396A Expired - Fee Related CN100428364C (zh) 2004-04-07 2004-04-07 存储器地址线测试方法

Country Status (1)

Country Link
CN (1) CN100428364C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108335721A (zh) * 2018-03-14 2018-07-27 烽火通信科技股份有限公司 一种实时检测随机存取存储器地址线故障的方法及系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112006002842B4 (de) 2005-11-14 2017-06-01 Mitsubishi Electric Corp. Speicher-Diagnose-Vorrichtung
CN101169975B (zh) * 2006-10-24 2011-05-04 英华达(上海)科技有限公司 内存测试方法
CN103000226B (zh) * 2011-09-08 2016-03-23 施耐德电器工业公司 通过随机存取存储器芯片地址引脚检测缺陷的测试方法
CN104425040A (zh) * 2013-08-23 2015-03-18 辉达公司 用于测试存储器的方法和系统
CN105788649B (zh) * 2014-12-23 2019-06-14 华为数字技术(苏州)有限公司 一种快闪存储器的预处理方法和装置
CN106199394A (zh) * 2016-07-26 2016-12-07 中国船舶重工集团公司第七二四研究所 基于fpga的ram芯片工程检测方法
CN106710633A (zh) * 2016-11-30 2017-05-24 中国航空工业集团公司沈阳飞机设计研究所 一种随机存储器的自检测方法
CN109801667B (zh) * 2018-12-26 2020-09-08 中国电子科技集团公司第二十研究所 一种并行静态存储器地址线断路测试方法
CN112098770B (zh) * 2020-08-20 2024-06-14 深圳市宏旺微电子有限公司 针对动态耦合故障模拟极端环境下的测试方法和装置
CN112988491B (zh) * 2021-05-20 2021-08-06 新华三半导体技术有限公司 一种内存测试方法、装置及内存控制器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1367493A (zh) * 2001-01-25 2002-09-04 阿尔卡塔尔公司 电子电路的连接垫片装置
CN1427420A (zh) * 2001-12-20 2003-07-02 华为技术有限公司 Ram高速测试控制电路及其测试方法
CN1469394A (zh) * 2002-07-19 2004-01-21 蔚华科技股份有限公司 闪存的对角线测试方法
JP2004030850A (ja) * 2002-06-28 2004-01-29 Toshiba Corp 半導体記憶装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1367493A (zh) * 2001-01-25 2002-09-04 阿尔卡塔尔公司 电子电路的连接垫片装置
CN1427420A (zh) * 2001-12-20 2003-07-02 华为技术有限公司 Ram高速测试控制电路及其测试方法
JP2004030850A (ja) * 2002-06-28 2004-01-29 Toshiba Corp 半導体記憶装置
CN1469394A (zh) * 2002-07-19 2004-01-21 蔚华科技股份有限公司 闪存的对角线测试方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108335721A (zh) * 2018-03-14 2018-07-27 烽火通信科技股份有限公司 一种实时检测随机存取存储器地址线故障的方法及系统
CN108335721B (zh) * 2018-03-14 2021-04-20 烽火通信科技股份有限公司 一种实时检测随机存取存储器地址线故障的方法及系统

Also Published As

Publication number Publication date
CN1681048A (zh) 2005-10-12

Similar Documents

Publication Publication Date Title
CN108133732B (zh) 闪存芯片的性能测试方法、装置、设备及存储介质
CN111554344B (zh) 存储单元测试方法、装置、存储介质及电子设备
CN100428364C (zh) 存储器地址线测试方法
DE10125344A1 (de) Ereignisgestütztes Halbleiterprüfsystem mit modularer Architektur zur Speicherprüfung
CN112331253A (zh) 一种芯片的测试方法、终端和存储介质
RU2005132307A (ru) Архитектура встроенного самотестирования запоминающего устройства, имеющая распределенное интерпретирование команд и обобщенный протокол команд
CN113035259A (zh) Dram测试方法、装置、可读存储介质及电子设备
WO2000052703A1 (en) Parallel testing of integrated circuit devices using cross-dut and within-dut comparisons
US6058055A (en) System for testing memory
US20070067685A1 (en) Testing apparatus and testing method
CN103871479B (zh) 嵌入式存储器测试系统
CN113486625A (zh) 芯片的验证方法与验证系统
CN107797821A (zh) 重试读取方法以及使用该方法的装置
CN111863111B (zh) Dram的测试方法、装置、计算机可读存储介质及电子设备
CN114518981A (zh) eMMC测试方法、装置、可读存储介质及电子设备
CN113687994B (zh) 一种多工位并发测试的memory烧写时间系统及其烧写方法
EP1327249B1 (en) Method to descramble the data mapping in memory circuits
CN117170948A (zh) 主板内存故障的定位方法、装置、电子设备及存储介质
CN1206659C (zh) 测试存储器的方法
CN100595844C (zh) 半导体存储装置
CN116521468A (zh) 一种fpga在线调试方法及支持在线调试的fpga
EP1833059A1 (en) Memory device fail summary data reduction for improved redundancy analysis
CN114610557B (zh) 设备驱动单元的测试方法及装置
CN115691632A (zh) 测试控制系统和方法
JP7295446B2 (ja) メモリ性能測定シミュレーション装置及びメモリ性能測定シミュレーション用プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081022

Termination date: 20160407

CF01 Termination of patent right due to non-payment of annual fee