具体实施方式
如上所述,已发展电子存储器测试机构。虽然这种机构在确认缺陷的存储器晶胞方面可能有用,但它们要求存储器是离线状,或换言之,要求存储器在测试期间并非在使用中。因此,已知的存储器测试机构将不会在存储器在使用中时侦测存储器故障,以使结合存储器的系统可能利用缺陷的记忆体操作持续一段延伸的时间。利用缺陷的存储器的操作在某些应用上可能具有严重的不良后果。举例而言,考虑到一种使用于自驱动汽车中的影像传感器,于此自动驾驶系统使用来自影像传感器的影像数据以导航汽车。影像传感器的存储器的一个或多个存储器晶胞的故障,可导致无法被自动驾驶系统所认定的影像数据失真。因此,自动驾驶系统可能基于不正确的影像数据导航车辆,藉以潜在地导致车辆碰撞及相关的伤害及/或财产损失的风险。
因此,申请人已发展出用于测试电子存储器同时让存储器是在线(或换言之,在存储器在使用中的同时)的系统及方法。这种系统及方法在不改变储存于其中的数据内容的情况下测试存储器。此外,这些系统及方法的某些实施例能够实质上实时侦测存储器晶胞故障,藉以潜在地允许存储器晶胞故障在故障导致显著的不良后果之前受到处理。这些系统及方法的可能的应用包括但并未受限于影像传感器应用,以在影像传感器正在取像的同时,使影像传感器的存储器可受到测试,藉以在不需要影像传感器闲置时间的情况下启动存储器测试。
图1显示在影像传感器102之内被实施的一个例示的在线存储器测试系统100,影像传感器102包括像素阵列104、电子存储器106以及存储器控制器108。像素阵列104撷取入射光,并将撷取的光转换成影像数据110。像素阵列104譬如是互补式金氧半导体(CMOS)像素阵列或电荷耦合装置(CCD)像素阵列。电子存储器106包括数个存储器晶胞(未显示),用于储存由像素阵列104所产生的影像数据110,直到数据被传送至通信耦接至影像传感器102的外部系统111(例如自动驾驶系统)为止。存储器控制器108通信耦接至像素阵列104、电子存储器106以及外部系统111,并控制电子存储器106的操作。举例而言,存储器控制器108控制影像数据110从像素阵列104的写入至电子存储器106,以及从电子存储器106所读取的影像数据110的传送至外部系统111。
在线存储器测试系统100通信耦接至存储器控制器108,并操作以在电子存储器106的正常读取/写入操作(例如,在影像传感器102正产生影像数据110时)期间测试电子存储器106。在线存储器测试系统100包括地址侦测模块112、比较器模块114、错误产生器模块116、地址控制模块118以及缓存器次系统120。在线存储器测试系统100适合于测试在电子存储器106之内对应于储存在缓存器次系统120之内的测试地址122的一个位置,如下。
地址控制模块118将测试地址122设定成在待被测试的电子存储器106之内的地址。地址侦测模块112监视存储器控制器108的操作,用于在电子存储器106之内的测试地址122侦测对于此位置的存取。当地址侦测模块112侦测数据124的写入至测试地址122时,在线存储器测试系统100将数据124储存在缓存器次系统120之内。当地址侦测模块112侦测数据126从位在电子存储器106之内的测试地址122的位置的读取时,系统100可选择地将数据126写入至缓存器次系统120。
比较器模块114比较读取数据126与写入数据124,用于判断存储器位置是否已失效。若读取数据126匹配写入数据124,则在电子存储器106之内对应于测试地址122的位置被认为是正常工作。另一方面,若读取数据126并不匹配写入数据124,则在电子存储器106之内对应于测试地址122的位置被认为是已失效,且错误产生器模块116被调用以产生错误信号128。影像传感器102可传递错误信号128给外部系统111,以表示电子存储器106的故障。外部系统111可被设计成用于采取预定动作(例如开始关闭程序),以因应错误信号128。举例而言,当外部次系统111作为在自驱动汽车中的自动驾驶系统的应用时,自动驾驶系统可被设计成用于在收到错误信号128的时安全地使汽车停止。
于一实施例中,在线存储器测试系统100被设计成用于藉由在每次成功比较之后,改变测试地址122来连续测试在电子存储器106之内的每个位置。在操作的一个例子中,地址控制模块118首先将测试地址122设定成电子存储器106的起始地址,且地址控制模块118在测试对应于目前测试地址122的存储器位置之后增加测试地址122,以使在线存储器测试系统100在电子存储器106的正常操作期间,依序跳到并测试在电子存储器106之内的所有位置。在测试电子存储器106之内的所有位置之后,地址控制模块118可重设测试地址122,以于起始地址重新开始电子存储器106的测试。在另一实施例中,地址控制模块118控制测试地址122,以依相反顺序测试在电子存储器106之内的位置。在另一实施例中,地址控制模块118依序测试在电子存储器106之内的随机选择的位置,以使多数存储器位置随着时间的推移可能会被测试。
在线存储器测试系统100可被修改,以同时测试电子存储器106之内的多重位置,用于改善电子存储器106之内的故障侦测速度。举例而言,在线存储器测试系统100的一个替代实施例,能够同时测试在电子存储器106之内对应于至少两个不同地址的位置。
虽然图1将在线存储器测试系统100、像素阵列104、电子存储器106以及存储器控制器108显示成是分离的个别组件,但在不背离于此的范围之下可结合这些组件的一个或多个。举例而言,于一实施例中,在线存储器测试系统100被并在存储器控制器108之内。在某些实施例中,在线存储器测试系统100以离散逻辑(discrete logic)被实施。
图2显示用于测试电子存储器同时它在使用中的一个例示方法200。举例而言,方法200在图1的在线存储器测试系统100之内被实施。虽然方法200相对于图1的影像传感器102被讨论于下,但应意识到方法200可以与其它装置的存储器一起被使用。此外,影像传感器102的在线存储器测试系统100可在一种除了图2的方法以外的方法之下操作。
在步骤202中,方法200初始化测试地址,其对应于在待被测试的电子存储器内的位置。在步骤202的一个例子中,图1的地址控制模块118将测试地址122初始化成电子存储器106的起始地址。在步骤204中,方法200侦测对于测试地址的存取。在步骤204的一个例子中,地址侦测模块112侦测对于在由测试地址122所识别的电子存储器106的测试地址122之内的位置的存取。步骤206是一项判断。若在步骤206中,方法200判断步骤204中所侦测到的存取是写入存取,则方法200继续步骤208;否则方法200继续步骤210。于步骤208,方法200储存复制的写入数据。在步骤208的一个例子中,在线存储器测试系统100将写入数据124储存在缓存器次系统120中。方法200接着继续步骤204。
在步骤210中,方法200比较以前储存的写入数据与于测试地址从电子存储器读取的数据。在步骤210的一个例子中,比较器模块114比较写入数据124与读取数据126。步骤212是一项判断。若在步骤212中,方法200判断储存的写入数据与于测试下的地址从电子存储器读取的数据相匹配,方法200继续步骤214;否则,方法200继续步骤216。
在步骤214中,方法200改变测试地址。在步骤214的一个例子中,地址控制模块118将测试地址122增加至电子存储器106之内的下一个地址。方法200接着继续步骤204。步骤204至214重复以测试电子存储器106之内的其它地址。
在步骤216中,方法200产生错误信号。在步骤216的一个例子中,错误产生器模块116产生错误信号128以表示关于电子存储器106的故障。
图3显示在影像传感器302中被实施的一个例示的在线存储器测试系统300,影像传感器302包括像素阵列304、电子存储器306以及存储器控制器308。像素阵列304、电子存储器306以及存储器控制器308,类似于图1的像素阵列104、电子存储器106以及存储器控制器108。在影像传感器302的操作期间,影像数据310依序地写入至电子存储器306(例如,从电子存储器306的第一地址至电子存储器306的最后地址),且影像传感器302依序地读取来自电子存储器306的影像数据310(例如,从电子存储器306的第一地址至电子存储器306的最后地址)。
在线存储器测试系统300通信耦接至存储器控制器308,并操作以在电子存储器306的正常读取/写入操作(例如,在影像传感器302正产生影像数据310时)期间测试电子存储器306。在线存储器测试系统300包括地址侦测模块312、比较器模块314、地址控制模块316、错误产生器模块318、码产生器模块320以及缓存器次系统322。在线存储器测试系统300操作以测试在电子存储器306之内对应于测试下的地址范围的位置,如下。
地址控制模块316设定电子存储器306的地址的范围以供测试。具体言之,地址控制模块316将测试下的地址范围的起始地址324及结束地址326设定在缓存器次系统322中。起始及结束地址324、326分别落在影像传感器302的正常操作期间所使用的存储器位置之内。测试下的地址范围可包括在电子存储器306之内的某些或所有位置。
地址侦测模块312于在以起始地址324及结束地址326为界限的地址范围之内的任何地址,侦测对于电子存储器306的存取。当地址侦测模块312侦测对于在由起始地址324所识别的电子存储器306内的位置的写入存取时,码产生器模块320初始化缓存器次系统322中的写入错误侦测码328。于一实施例中,清除写入错误侦测码328,而在另一实施例中,写入错误侦测码328被设定到写入数据332。每次地址侦测模块312侦测一对于在测试下的地址范围(亦即,以起始地址324及结束地址326为界限)之内的电子存储器306的位置的写入存取,码产生器模块320就会藉由使用写入数据332来更新缓存器次系统322中的写入错误侦测码328。如上所述,影像数据310依序写入至电子存储器306,且当影像数据310于从起始地址324至结束地址326的位置被写入至电子存储器306时,码产生器模块320因此依序更新写入错误侦测码328。
当地址侦测模块312侦测对于在由起始地址324所识别的电子存储器306内的位置的读取存取时,码产生器模块320初始化缓存器次系统322中的读取错误侦测码330。于一实施例中,码产生器模块320清除读取错误侦测码330,而在另一实施例中,码产生器模块320将读取数据334写入至读取错误侦测码330。每次地址侦测模块312侦测来自在测试下的地址范围内的电子存储器306之内的位置的读取存取,码产生器模块320就会基于读取数据334更新读取错误侦测码330。如上所述,当影像数据310从于以电子存储器306内的起始地址324及结束地址326为界限的地址的位置读取时,影像数据310依序从电子存储器306读取,而码产生器模块320因此基于读取数据334依序更新读取错误侦测码330。在某些实施例中,码产生器模块320判断藉由使用循环冗余检验(CRC)技术而分别地读取并写入错误侦测码328、330,以使每一个错误侦测码328、330分别为于在测试下的地址范围之内的地址位置写入至电子存储器306数据,并从电子存储器306读取的数据的CRC值。
因为影像数据310的写入及读取是连续的,所以可在码产生器模块320为结束地址326更新读取错误侦测码330之后,分别为测试下的地址范围比较写入及读取错误校正码328、330两者,其中比较器模块314被调用,以比较写入错误侦测码328与读取错误侦测码330。写入及读取错误侦测码328、330的匹配分别表示在电子存储器306之内对应于测试下的地址范围的位置的适当操作。然而,写入及读取错误侦测码328、330的失配,分别表示在电子存储器306之内在测试下的地址范围之内的一个或多个位置的不适当操作。因此,当比较器模块314判断写入及读取侦测码328、330分别未匹配时,错误产生器模块318被调用,以产生错误信号336,来表示关于电子存储器306的错误。影像传感器302可传递错误信号336给外部系统311以向电子存储器306发出错误信号。外部系统311可被设计成用于采取预定动作(例如开始关闭程序),以因应错误信号336。
于一实施例中,在线存储器测试系统300被设计成用于藉由改变测试下的地址范围,来依序测试在电子存储器306之内的每个位置。在某些实施例中,地址控制模块316首先将测试下的地址范围设定成连续地址的起始区块,且在测试目前地址范围之后增加测试下的地址范围,以使在线存储器测试系统300在电子存储器306的正常操作期间,依序跳到并测试在电子存储器306之内的所有位置。在另一实施例中,地址控制模块316依序测试连续地址的随机选择的区块,以使多数电子存储器306的位置随着时间的推移可能会被测试。
在某些替代实施例中,测试下的地址范围包括预定数目的连续地址,所以只需要起始地址324及结束地址326的其中一个来判断测试下的地址范围。举例而言,在一个特定的替代实施例中,测试下的地址范围于由起始地址324所识别的位置开始,并在起始地址324之后具有一预定数目的连续地址,以使测试下的地址范围仅由起始地址324所判断。因此,某些替代实施例只储存缓存器次系统322中的起始地址324及结束地址326的其中一个。
在另一实施例中,起始地址324只储存存储器地址的一最显著的部分,其中测试下的地址范围的大小由未储存在起始地址324之内的地址的部分所判断。
虽然图3将在线存储器测试系统300、像素阵列304、电子存储器306以及存储器控制器308显示成是分离的个别组件,但在不背离于此的范围之下可结合这些组件的一个或多个。举例而言,在一替代实施例中,系统300与存储器控制器308结合。在某些实施例中,系统300以离散逻辑被实施。
图4显示用于测试电子存储器同时它在使用中的一个例示方法400。方法400在譬如图3的系统300之内被实施。虽然方法400相关于图3的影像传感器302被讨论如下,但应意识到方法400可与其它装置的存储器一起使用。此外,影像传感器302的在线存储器测试系统300可在一种除了图4的方法以外的方法之下操作。
在步骤402中,方法400初始化一测试下的地址范围。在步骤402的一个例子中,地址控制模块316设定起始地址324及/或结束地址326以定义一测试下的地址范围(参见图3)。在步骤404中,方法400侦测对于在这个测试下的地址范围之内的地址的存取。在步骤404的一个例子中,地址侦测模块312侦测对于一在以起始地址324及结束地址326为界限的地址范围之内的地址的存取。
步骤406是一项判断。若在步骤406中,方法400判断步骤404中所侦测到的存取为对于测试下的地址范围的起始地址的写入存取,则方法400继续步骤408;否则方法400继续步骤410。在步骤408中,方法400初始化写入错误侦测码。在步骤408的一个例子中,码产生器模块320清除写入错误侦测码328。方法400接着继续步骤404。
步骤410是一项判断。若在步骤410中,方法400判断侦测到的存取为从测试下的地址范围的起始地址的读取存取,则方法400继续步骤412;否则方法400继续步骤414。在步骤412中,方法400初始化读取错误侦测码。在步骤412的一个例子中,码产生器模块320清除读取错误侦测码330。方法400接着继续步骤404。
步骤414是一项判断。若在步骤414中,方法400判断侦测到的存取为对于在测试下的地址范围之内的另一个地址的写入存取,则方法400继续步骤416;否则方法400继续步骤418。在步骤416中,方法400基于在步骤404中所侦测到的地址,而写入至电子存储器的数据来更新写入错误侦测码。在步骤416的一个例子中,码产生器模块320基于写入至电子存储器306的影像数据332来更新写入错误侦测码328。方法400接着继续步骤404。
在步骤418中,方法400基于在步骤404中所侦测到的地址,而从电子存储器读取的数据来更新读取错误侦测码。在步骤418的一个例子中,码产生器模块320更新基于在步骤404中所侦测到的地址,而从电子存储器306读取的影像数据334来读取错误侦测码330。
步骤420是一项判断。若在步骤420中,方法400判断完成了读取错误侦测码,则方法400继续步骤422;否则方法400继续步骤404。在判断步骤420的一个例子中,当数值从对应于电子存储器306之内的结束地址326的位置读取时,完成了读取错误侦测码。步骤404-420重复以测试在目前测试下的地址范围之内的所有位置。
在步骤422中,方法400比较写入错误侦测码与读取错误侦测码。在步骤422的一个例子中,比较器模块314比较写入错误侦测码328与读取错误侦测码330。步骤424是一项判断。若在步骤424中,方法400判断这些码匹配,则方法400继续步骤426;否则方法400继续步骤428。在步骤426中,方法400改变测试下的地址范围。在步骤426的一个例子中,地址控制模块316设定起始及结束地址324、326以包括在电子存储器306之内的连续地址的下一个区块。方法400接着继续步骤404。举例而言,重复步骤404至426,以测试在电子存储器306之内的所有区块。
在步骤428中,方法400产生错误信号。在步骤428的一个例子中,错误产生器模块318产生一错误信号336以表示电子存储器306中的错误。
特征的组合
在不背离于此的范围之下,上述特征与以下所主张的那些特征可以各种方式作结合。以下举例说明部分可能的组合。
(A1)一种用于在一电子存储器在使用中的同时测试所述电子存储器的方法,包括(a)于测试地址侦测对于所述电子存储器的存取;(b)于对应于所述测试地址的位置,将写入至所述电子存储器的写入数据储存在缓存器次系统中;(c)于对应于所述测试地址的所述位置,比较所述写入数据与从所述电子存储器读取的数据,用于判断所述存储器是否具有故障;以及(d)若所述存储器具有故障,则产生错误信号。
(A2)如(A1)所述的方法,还包括在所述比较步骤之后,(a)若所述存储器不具有故障,则改变所述测试地址以参考所述存储器的未受测试的位置,并(b)重复所述侦测、储存、比较以及产生步骤。
(A3)如(A1)或(A2)所述的方法,还包括在侦测对于所述电子存储器的所述存取的步骤之前,初始化所述测试地址。
(A4)如(A1)至(A3)所述的方法,还包括:在所述比较步骤之前,于对应于所述测试地址的所述位置,将从所述电子存储器读取的所述数据储存在所述缓存器次系统中。
(B1)影像传感器,包括:像素阵列,用于产生影像数据;电子存储器,用于储存所述影像数据;存储器控制器,用于控制所述影像数据的写入至所述电子存储器以及所述影像数据从所述电子存储器的读取;及在线存储器测试系统,用于在正常操作期间确认所述存储器中的数个故障。在线存储器测试系统包括:地址侦测模块,用于在测试地址侦测对于所述电子存储器的存取;缓存器次系统,用于在对应于所述测试地址的位置储存写入至所述电子存储器的写入数据:比较器模块,用于在对应于所述测试地址的所述位置比较所述储存的写入数据与从所述电子存储器读取的数据,用于判断所述存储器是否具有故障:以及错误产生器模块,用于若所述存储器具有故障,则产生错误信号。
(B2)如(B1)所述的影像传感器,还包括地址控制模块,用于若所述存储器并不具有故障,则改变所述测试地址以参考所述存储器的未受测试的位置。
(B3)如(B1)或(B2)所述的影像传感器,其中所述缓存器次系统还进一步适合于在对应于所述测试地址的所述位置,储存从所述电子存储器读取的所述数据。
(C1)一种用于在电子存储器在使用中的同时测试所述电子存储器的方法,包括:(a)于测试下的地址范围之内的地址,侦测对于在所述电子存储器之内的位置的存取;(b)若所述存取为写入存取且所述位置位于所述测试下的地址范围的起始地址,则初始化写入错误侦测码;(c)若所述存取为读取存取且所述位置位于起始地址,则初始化读取错误侦测码;(d)若所述存取为写入存取,则更新所述写入错误侦测码;(e)若所述存取为读取存取,则更新所述读取错误侦测码;(f)侦测所述读取错误侦测码的完成;(g)当完成被侦测以判断所述存储器是否具有故障时,比较所述写入错误侦测码与所述读取错误侦测码;以及(h)若所述存储器具有故障,则产生错误信号。
(C2)如(C1)所述的方法,其中初始化所述写入错误侦测码的步骤及更新所述写入错误侦测码的步骤每个包括判断写入至所述位置的数据的循环冗余检验值。
(C3)如(C1)或(C2)所述的方法,初始化所述读取错误侦测码的步骤及更新所述读取错误侦测码的步骤每个包括:判断从所述位置读取的数据的循环冗余检验值。
(C4)如(C1)至(C3)所述的方法,在于在所述测试下的地址范围之内的所述地址,侦测对于所述电子存储器的所述存取的步骤之前,初始化所述测试下的地址范围。
(C5)如(C1)至(C4)所述的方法,还包括所述比较步骤之后,改变所述测试下的地址范围,以包括所述存储器的至少一未受测试的位置。
(D1)一种影像传感器,包括:像素阵列,用于产生影像数据;电子存储器,用于储存所述影像数据;存储器控制器,用于控制所述影像数据的写入至所述电子存储器以及所述影像数据从所述电子存储器的读取;及在线存储器测试系统,用于在操作期间测试所述存储器,包括:地址侦测模块,用于在测试下的地址范围之内的位置侦测对于所述电子存储器的存取,码产生器模块,用于(a)若所述存取为写入存取且所述位置位于所述测试下的地址范围的起始地址,则初始化写入错误侦测码,(b)若所述存取为一读取存取且所述位置位于起始地址,则初始化读取错误侦测码,(c)若所述存取为写入存取,则更新所述写入错误侦测码,(d)若所述存取为读取存取,则更新所述读取错误侦测码,及(e)侦测所述读取错误侦测码的完成:比较器模块,用于当侦测到完成时,比较所述写入错误侦测码与所述读取错误侦测码,用于判断所述存储器是否具有故障;以及错误产生器模块,用于若所述存储器具有故障,则产生错误信号。
(D2)如(D1)所述的影像传感器,其中所述码产生器模块适合于在所述位置判断一个写入至所述电子存储器的数据及从所述电子存储器读取的数据的循环冗余检验值。
(D3)如(D1)或(D2)所述的影像传感器,其中所述在线存储器测试系统还包括地址控制模块,用于(a)设定所述测试下的地址范围的至少一起始地址,及/或(b)当所述比较器模块指出所述电子存储器并不具有故障时,改变所述测试下的地址范围。
在未脱离本发明的精神与范围下,可以对上述方法及系统进行修改或变更,需注意者,在以上说明书及附式中所述仅为举例性,而非为限制性。权利要求书可涵盖所述的一般及特定特征,而本发明的方法及系统的范围中的所有陈述,其仅为语言问题,皆应落于权利要求书的范围。