存储装置及其测试方法

文档序号:9709516阅读:505来源:国知局
存储装置及其测试方法
【技术领域】
[0001] 本发明有关于一种具有安全保护功能的存储器,特别是有关于一种在测试模式下 具有安全保护功能的存储器的系统及方法。
【背景技术】
[0002] 许多具有安全保护功能的存储装置利用一秘密键对欲存储的数据进行加密。这种 具有安全保护功能的存储装置很有可能会遭受攻击,使得原本存储的重要数据被不正当存 取或是更改及/或中断存储装置的操作。

【发明内容】

[0003] 本发明要解决的技术问题是提供存储装置及其测试方法,解决现有技术中存储装 置在测试模式下很有可能会遭受攻击的问题。
[0004] 本发明所提供的测试方法应用在操作于测试模式下的存储装置,包括接收欲写入 存储装置中的一向量。当向量属于多个测试向量的一预设集合时,将向量写入存储装置。当 向量不属于测试向量的预设集合时,将向量转换成测试向量的一者,用以产生一转换向量, 并将转换向量写入存储装置中。
[0005] 在一些实施例中,将向量转换成测试向量的一者的步骤包括,选择向量的一位元 集合;以及周期性地以位元集合取代向量的其它位元。在其它实施例中,测试向量的每一 者的所有偶数位元的数值均等于一第一位元数值,测试向量的每一者的所有奇数位元的数 值均等于一第二位元数值,并且将向量转换成测试向量的一者的步骤包括,在向量中,选择 一代表性的偶数位元以及一代表性的奇数位元;利用代表性的偶数位元取代向量的偶数位 元;以及利用代表性的奇数位元取代向量的奇数位元。
[0006] 在一可能实施例中,本发明的测试存储装置的方法包括,读取一先前写入测试向 量的一数据字元;以及输出存储装置的一编码数据,编码数据与读取数据字元时所发生错 误有关。在另一实施例中,输出存储装置的该编码数据包括:输出一错误数量。在其它实施 例中,输出存储装置的一编码数据包括:不输出错误发生的实际位置。
[0007] 在一些实施例中,不输出错误发生的实际位置的步骤包括,位移偶数位元以及奇 数位元,所述偶数位元以及所述奇数位元表示错误发生在相对应的偶数或奇数位元中。在 其它实施例中,输出存储装置的一编码数据包括:输出错误发生的实际位置。
[0008] 本发明另提供一种存储装置,包括一存储器以及一存储器控制器。在一测试模式 下,存储器控制器接收一向量;向量欲写入存储器中;只有当向量属于多个测试向量的一 预设集合时,存储器控制器将向量写入存储器中;当向量不属于测试向量的该预设集合时, 存储器控制器将向量转换成测试向量的一者,用以产生一转换向量,并将该转换向量写入 存储器中。
[0009] 本发明提供一种测试方法,包括在一测试模式下,读取一存储装置的至少一字元。 对字元进行单向函数运算,用以产生一运算结果,并且无法由运算结果重新获得字元。根据 运算结果,输出错误发生在字元的一编码信息。
[0010] 在一些实施例中,读取字元的步骤包括,当存储装置存储字元后,接收单向函数的 一公开结果;以及对字元进行单向函数运算的步骤包括,在读取到字元后,对字元的一次集 合进行该单向函数运算。在其它实施例中,输出编码信息的步骤包括,输出公开结果与运算 结果的一比较结果的一二进制结果。在另一实施例中,接收公开结果的步骤包括,多次接收 公开结果,并且当接收公开结果的次数大于一预设临界值时,启动一保护机制。
[0011] 本发明另提供一种存储装置,包括一存储器;以及一存储器控制器。在一测试模式 下,存储器控制器从存储器中读取至少一字元,并对字元进行一单向函数运算,用以产生一 运算结果,使得无法由运算结果重新得到该字元,并根据运算结果,输出错误发生在字元的 一编码信息。
[0012] 本发明另提供一种测试方法,包括在一存储装置中,确认一秘密键是否已设定。当 秘密键被设定时,禁能存储装置的一测试模式,直到至少存储装置中的秘密键被清除。
[0013] 在一些实施例中,秘密键设定在存储装置中,并且至少存储装置中的秘密键被清 除的步骤包括,清除存储装置的所有存储空间。
[0014] 本发明还提供一种存储装置,包括一存储器;以及一存储器控制器。存储器控制器 确认是否一秘密键已被设定,并在秘密键被设定时,禁能该存储装置的一测试模式,直到至 少存储器的秘密键被清除。
[0015] 本发明提供一种存储装置及其测试方法,使存储装置在测试模式下不会遭受攻 击,以避免不正常使用存储装置的测试模式,保证存储数据的安全性。
[0016] 为让本发明的特征和优点能更明显易懂,下文特举出较佳实施例,并配合所附附 图,作详细说明如下:
【附图说明】
[0017] 图1为本发明一实施例的测试系统的示意图。
[0018] 图2为本发明一实施例的秘密写入测试图案方法的流程示意图。
[0019] 图3为本发明一实施例的存储器装置的测试方法的流程示意图。
[0020] 图4为本发明一实施例的利用单向函数对存储装置进行测试方法的示意图。
[0021] 符号说明:
[0022] 20 :测试系统;
[0023] 24 :存储装置;
[0024] 28 :主机;
[0025] 32 :存储器控制器;
[0026] 34:存储器接口;
[0027] 38 :不安全连接;
[0028] 40 :非易失性存储器;
[0029] 44 :模式配置单元;
[0030] 48 :选择器;
[0031] 52:加密引擎;
[0032] 56 :秘密键单元;
[0033] 60 :测试读/写单元;
[0034] 64 :测试图案;
[0035] 260、268 :存储区域;
[0036] 100、104、108、112、200、204、208、212、216、220、224、228 :步骤。
【具体实施方式】
[0037] 本发明所提供的存储装置及其测试方法用以预防存储装置受到攻击,以避免不正 常使用存储装置的测试模式。在测试模式中,测试图案会被存储并被读取,但在存储或读取 测试图案时,并不会对测试图案进行加密,因此,很容易得知测试结果。虽然只有经过授权 的测试人员才能够测试存储装置,但由于存储装置在测试模式下较为危弱,故未经授权的 人员可能尝试存取或更改存储的数据或对存储装置进行其它攻击,因而中断存储装置的运 作。在以下的说明中,假设存储装置通过一不安全的连接,而与一外部主机(如测试人员) 进行沟通。
[0038] 在一些实施例中,测试模式与预设测试图案的一小集合(以下也称为测试向量) 有关。当存储装置操作在测试模式下时,存储装置只将符合预设有效图案的集合的数据字 元写入存储阵列中。另外,若接收到不属于测试图案的集合的数据字元时,存储装置在存储 字元前,先将该数据字元转换成预设测试图案的一者,再存储该转换后的字元。通过限定写 入存储装置的图案,而不是限定有意义的信息,因而提高存储装置的安全性。
[0039] 在一些实施例中,存储装置读取先前存入的测试图案,读取结果可能具有至少一 错误。存储装置将读取图案转换成有效图案的一者,再比较转换结果与读取图案,用以产生 具有错误位元的字元。此字元隐藏错误发生的实际位置,但存储装置仍可处理此字元,让测 试人员进行测试及除错。举例而言,上述的处理可能将错误位元位移到其它位元位置。换 句话说,存储装置判断错误的数量,但不告知错误发生的位置。在一可能实施例中,存储装 置还对错误数量及最高有效错误位元进行编码。
[0040] 在一些实施例中,主机写入测试数据到一特定存储区域(并不需要是邻近的区 域)。主机还告知存储装置一公开结果,该公开结果为存储在特定存储区域的测试数据经一 单向函数运算后的结果。单向函数的特性无法回推存储区域所存储的测试数据。为了测试 存储区域的测试数据的准确性,存储装置再次计算单向函数的结果,并将再次计算的结果 与公开结果相比较。
[0041] 若再次计算的结果不同于公开结果时,则表示从存储区域所读取的数据具有至少 一错误。存储装置只会输出比较结果的二进制,因此,只会公开必要的信息。此测试机制可 测试写入数据的正确性,但无法猜出数据。
[0042] 在一些实施例中,当一攻击发生时,将会提供许多不同的单向函数结果,用以研判 所存储的数据,此时,存储装置提供一保护机制。存储装置计算所接收到的单向函数结果的 次数,并在次数大于一预设临界值时,存储装置禁能测试模式或启动一保护机制。
[0043] 在一可能实施例中,存储装置判断是否已设定至少一秘密键,并根据判断结果禁 能测试模式。举例而言,秘密键可能用以加密及/或辨识。在其它实施例中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1