电子装置及其数据验证方法

阅读:201发布:2020-05-11

专利汇可以提供电子装置及其数据验证方法专利检索,专利查询,专利分析的服务。并且一种 电子 装置及其数据验证方法。此电子装置包括具有第一数据的第一只读 存储器 、具有第二数据的第二 只读存储器 以及 控制器 。第一数据与第二数据之间存在对应关系。控制器耦接于第一只读存储器与第二只读存储器。控制器从第一只读存储器读取第一数据中的第一子数据,并依据对应关系以从第二只读存储器读取相对于第一子数据的第二数据中的第二子数据。第一子数据包括待验证数据。控制器依据第一子数据、第二子数据以及对应关系以对待验证数据进行校验运算。,下面是电子装置及其数据验证方法专利的具体信息内容。

1.一种电子装置,包括:
第一只读存储器,具有第一数据;
第二只读存储器,具有第二数据,其中该第一数据与该第二数据之间存在对应关系;以及
控制器,耦接于该第一只读存储器以及该第二只读存储器,
其中该控制器从该第一只读存储器读取该第一数据中的第一子数据,并依据该对应关系以从该第二只读存储器读取相对于该第一子数据的该第二数据中的第二子数据,其中该第一子数据包括待验证数据,
该控制器依据该第一子数据、该第二子数据以及该对应关系以对该待验证数据进行校验运算。
2.如权利要求1所述的电子装置,其中该控制器判断该待验证数据的数据量是否大于预设阈值
当该待验证数据的数据量大于预设阈值,该控制器依据该待验证数据从该第一只读存储器读取该第一数据中的第三子数据,其中该第三子数据包括该待验证数据,以及该控制器依据该第三子数据以对该待验证数据进行该校验运算。
3.如权利要求2所述的电子装置,其中该控制器依据该第一数据以及该对应关系计算该预设阈值。
4.如权利要求1所述的电子装置,其中该第二数据为该第一数据的备份。
5.如权利要求1所述的电子装置,其中该第二数据的数据量不大于该第一数据的数据量。
6.如权利要求1所述的电子装置,其中该第一只读存储器以及该第二只读存储器属于电可擦除可编程只读存储器
7.如权利要求1所述的电子装置,其中该电子装置符合储存桥接坞规范。
8.一种数据验证方法,适于验证待验证数据,该数据验证方法包括:
设置第一只读存储器以及第二只读存储器,其中该第一只读存储器具有第一数据,该第二只读存储器具有第二数据,且该第一数据与该第二数据之间存在对应关系;
从该第一只读存储器中读取该第一数据中的第一子数据,并依据该对应关系以从该第二只读存储器读取相对于该第一子数据的该第二数据中的第二子数据,其中该第一子数据包括待验证数据;以及
依据该第一子数据、该第二子数据以及该对应关系以对该待验证数据进行校验运算。
9.如权利要求8所述的数据验证方法,还包括:
判断该待验证数据的数据量是否大于预设阈值;以及
当该待验证数据的数据量大于该预设阈值,则依据该待验证数据从该第一只读存储器读取该第一数据中的第三子数据,其中该第三子数据包括该待验证数据;以及依据该第三子数据以对该待验证数据进行该校验运算。
10.如权利要求9所述的数据验证方法,其中该预设阈值是关联于该第一数据以及该对应关系。
11.如权利要求8所述的数据验证方法,其中该第二数据为该第一数据的备份。
12.如权利要求8所述的数据验证方法,其中该第二数据的数据量不大于该第一数据的数据量。
13.如权利要求8所述的数据验证方法,其中该第一只读存储器以及该第二只读存储器属于电可擦除可编程只读存储器。

说明书全文

电子装置及其数据验证方法

技术领域

[0001] 本发明涉及一种电子装置及其数据验证方法,且特别涉及一种具备至少两个只读存储器的电子装置及其数据验证方法。

背景技术

[0002] 只读存储器(Read-Only Memory;ROM)是一种半导体存储器,其特性是一旦储存数据就无法再将之改变或删除,且内容不会因为电源关闭而消失。因此,只读存储器时常被用以储存一些不需要经常变更的程序或数据,诸如电脑系统的基本输入输出系统(Basic Input Output System;BIOS)以及各种微电脑系统的固件等。
[0003] 记录重要产品数据(Vital Product Data;VPD)是只读存储器的典型用途之一。此重要产品数据中包括诸如零件号(part number)及序号(serial number)等硬件软件的重要信息。一般而言,只读存储器是以比特组作为最小存取单位。在将重要产品数据写入只读存储器时,经常会将重要产品数据系统性的分为多组数据,并且将每组数据的最后一个比特组定义为校验和(checksum)比特组。如此一来,在读取重要产品数据的部分内容时,为了验证被读取数据的正确性,除了读取出所需的部分内容以外,同时还必须读取此部分内容所在分组中的所有数据,才能对该组数据进行零校验和(zero-checksum)的验证。如此一来,验证数据正确性的流程中将可能读取大量不需要的比特组,导致数据验证效率的降低。

发明内容

[0004] 本发明提供一种电子装置及其数据验证方法,能够降低电子装置中只读存储器在进行数据验证时的读取操作的次数,以提升数据验证的效率。
[0005] 本发明的电子装置包括具有第一数据的第一只读存储器、具有第二数据的第二只读存储器以及控制器。第一数据与第二数据之间存在对应关系。控制器耦接于第一只读存储器以及第二只读存储器。控制器从第一只读存储器读取第一数据中的第一子数据,并且依据对应关系从第二只读存储器读取相对于所述第一子数据的第二数据中的第二子数据。待验证数据包含于所述第一子数据。控制器依据第一子数据、第二子数据以及对应关系以对待验证数据进行校验运算。
[0006] 本发明的数据验证方法适于验证待验证数据。此数据验证方法包括以下步骤。设置第一只读存储器以及第二只读存储器,其中第一只读存储器具有第一数据,第二只读存储器具有第二数据,且第一数据与第二数据之间存在对应关系。从第一只读存储器中读取第一数据中的第一子数据,并依据对应关系以从第二只读存储器读取相对于第一子数据的第二数据中的第二子数据。所述待验证数据是包含于第一子数据。依据第一子数据、第二子数据以及对应关系以对待验证数据进行校验运算。
[0007] 基于上述,本发明实施例在电子装置中设置了第一只读存储器之外的第二只读存储器,且第二只读存储器中的第二数据与第一只读存储器中的第一数据之间存在对应关系。据此,在验证第一数据中的待验证数据时,除待验证数据自身所在的第一只读存储器外,还同时利用第二只读存储器以及上述的对应关系来验证待验证数据。如此一来,可减少数据验证时所需读取操作的次数,以提升数据验证的效率。
[0008] 为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

[0009] 图1绘示本发明一实施例的电子装置的方图。
[0010] 图2绘示本发明一实施例的数据验证方法的示意图。
[0011] 图3绘示本发明一实施例的数据验证方法的流程图
[0012] 图4绘示本发明一实施例的数据验证方法的示意图。
[0013] 图5绘示本发明一实施例的数据验证方法的流程图。
[0014] 图6绘示本发明一实施例的数据验证方法的示意图。
[0015] 图7绘示本发明一实施例的数据验证方法的示意图。
[0016] 图8绘示本发明一实施例的数据验证方法的示意图。
[0017] 图9绘示本发明一实施例的数据验证方法的示意图。
[0018] 附图标记说明:
[0019] 100:电子装置
[0020] 101:第一只读存储器
[0021] 103:第二只读存储器
[0022] 105:控制器
[0023] B11~B1n:第一数据的比特组
[0024] B21~B2n:第二数据的比特组
[0025] DGx:数据分组
[0026] S310~S350、S510~S590:数据验证方法的步骤

具体实施方式

[0027] 图1绘示本发明一实施例的电子装置的方块图。请参照图1,电子装置100包括第一只读存储器110、第二只读存储器130以及控制器150。在本发明的一实施例中,第一只读存储器110以及第二只读存储器130皆为电可擦可编程序只读存储器(Electrically Erasable Programmable ROM;EEPROM),并且以比特组作为最小存取单位,但本发明并不在此限。在其他实施例中,第一只读存储器110以及第二只读存储器130也可例如是可编程只读存储器(Programmable ROM;PROM)、快闪存储器(Flash memory)或其他类型的只读存储器。控制器150耦接于第一只读存储器110以及第二只读存储器130,用以执行以硬件或固件型式实作的多个逻辑闸或控制指令,并且可依据所接收的读取、写入或抹除等指令来对第一只读存储器110以及第二只读存储器130进行操作。在本实施例中,控制器150例如为存储器控制器。此控制器150包括控制电路并用以控制第一只读存储器110以及第二只读存储器130的数据存取操作。
[0028] 图2绘示本发明一实施例的数据验证方法的示意图。图3绘示本发明一实施例的数据验证方法的流程图。本实施例的方法适用于图1中的电子装置100。以下将参照图1中电子装置100的各组件来描述本实施例方法的详细步骤。
[0029] 请参照图2与图3,在步骤S310中,控制器150设置具有第一数据的第一只读存储器110以及具有第二数据的第二只读存储器130,其中第一数据与第二数据之间存在对应关系。如图2所示,第一只读存储器具有第一数据,第一数据包括n个比特组B11~B1n,并区分为r个数据分组,其中各数据分组分别包括n-i个比特组,其中i为正整数1到r,且n=n1+n2+…+nr。每一个数据分组中的其中一个比特组是被定义为校验和比特组。更明确地说,数据分组中的校验和比特组会被定义以调整数据分组中的各比特组的总和为零比特组。零比特组意即比特组中的每一个比特皆为零。在本实施例中,每一个数据分组中的最后一个比特组会被定义为校验和比特组(附图中以斜线表示)。举例而言,在数据没有出错的情况下,校验和比特组B1n1会被定义为使比特组B11至比特组B1n1的总和为零比特组。
[0030] 第二只读存储器130具有第二数据,且第一数据与第二数据之间存在对应关系。在本实施例中,第二数据是以镜像方式作为第一数据的备份。详细来说,第二数据包括n个比特组B21~b2n,且其中比特组B21的内容是相同于比特组B11,比特组B22的内容是相同于比特组B12,以此类推。换言之,在数据没有出错的情况下,第二数据是相同于第一数据。举例而言,本发明实施例所提出的第一只读存储器110以及第二只读存储器130可例如是以符合储存桥接坞规范(Storage Bridge Bay;SBB),且互为备份的两个电可擦可编程序只读存储器来实作。
[0031] 如此控制器150便完成第一只读存储器110以及第二只读存储器130的设置。此时,若待验证数据包含于第一数据中,在步骤S320中,控制器150从第一只读存储器110中读取第一数据中,包括待验证数据的第一子数据,并且依据第一数据与第二数据间的对应关系,从第二只读存储器130中读取对应于第一子数据的第二数据中的第二子数据。具体而言,在本实施例中,控制器150可例如是接收来自主机系统的读取指令,此读取指令例如是指示从第一只读存储器110中读取一个比特组的待验证数据B1a,但本发明并不在此限。接收到此读取指令后,控制器150从第一只读存储器110中读取第一数据中,包括待验证数据B1a的第一子数据。在本实施例中,第一子数据为待验证数据B1a。并且,控制器150从第二只读存储器130中读取相对于第一子数据(即,待验证数据B1a)的第二数据中的第二子数据B2a。
[0032] 接着,在步骤S330中,控制器150依据所读取的第一子数据、第二子数据以及第一数据与第二数据之间的对应关系,对待验证数据进行校验运算,以判断待验证数据是否正确。具体而言,在本实施例中,第二数据是以镜像方式作为第一数据的备份,因此在待验证数据B1a正确的情况下,第一子数据B1a与第二子数据B2a中的各个比特皆应相同。因此,控制器150可例如对第一子数据B1a以及第二子数据B2a进行异或运算(Exclusive-OR;XOR)来作为对待验证数据B1a的校验运算。倘若异或运算的结果为零比特组,表示第一子数据B1a与第二子数据B2a中的各个比特皆相同,则于步骤S340中,控制器150判定待验证数据B1a正确,便能够以被判定正确的待验证数据B1a来回应读取指令。反之,倘若异或运算的结果不为零比特组,而包括至少一个比特值为1,则于步骤S350中,控制器150判定上述比特值为1所对应的待验证数据B1a中的比特可能出现错误,便不以可能有错误的待验证数据B1a来回应读取指令。举例而言,倘若异或运算的结果中的第一个比特以及第三个比特值为1,其他为0,则控制器150判定待验证数据B1a的第一个比特以及第三个比特可能出现错误。
[0033] 在本发明的一些实施例中,倘若控制器150判定待验证数据可能出现错误后,则控制器150更可例如依据校验运算的结果来还原待验证数据,并且以还原后的待验证数据来回应读取指令。举例而言,在前述实施例中,控制器150可例如是分别将待验证数据B1a中的第一个比特以及第三个比特内容反转,以得到还原后的待验证数据,再以还原后的待验证数据来回应读取指令。
[0034] 前述实施例的方法通过读取第一子数据以及第二子数据来验证待验证数据,而无须读取包括待验证数据的整个数据分组,可减少验证时的读取次数,进而增加数据验证的效率。
[0035] 在前述实施例中的待验证数据是第一只读存储器110中一个比特组的数据,然而本发明并不限于此,以下将举实施例来描述待验证数据也可以是包括多个比特组的数据。
[0036] 图4绘示本发明一实施例的数据验证方法的示意图。图5绘示本发明一实施例的数据验证方法的流程图。本实施例的方法适用于图1中的电子装置100。以下将参照图1中电子装置100的各组件来描述本实施例方法的详细步骤。
[0037] 请参照图4与图5,在本实施例中的步骤S510是相同于图3实施例中的步骤S310。换言之,图4中的第一只读存储器110以及第二只读存储器130中的第一数据以及第二数据是分别相同于图2中的第一数据以及第二数据。在本实施例中,控制器150例如会接收到读取指令,指示控制器150从第一只读存储器110中读取m个比特组的待验证数据B1c~B1(c+m-1),并且待验证数据B1c~B1(c+m-1)例如是被分在同一个数据分组DGx。在步骤S520中,控制器150判断待验证数据的数据量是否大于预设阈值。在本实施例中,待验证数据B1c~B1(c+m-1)所在的数据分组DGx例如是包括n--x个比特组。因此,倘若利用此数据分组DGx中的校验和比特组来验证待验证数据B1c~B1(c+m-1),总共须读取nx个比特组;反之,倘若对待校验数据B1c~B1(c+m-1)中的各比特组分别使用图2实施例所提供的数据验证方法来进行校验运算,则总共须读取2m个比特组。因而,在本实施例中,预设阈值将被设定为n-x/2。更明确地说,若nx>2m,则对待验证数据中的各比特组分别使用图2实施例所提供的数据验证方法将能通过较少的读取次数达到数据验证的目的。
[0038] 在本实施例中,倘若控制器150于步骤S520中判断m不大于nx/2,则于步骤S530与步骤S540中,控制器150会对待验证数据B1c~B1(c+m-1)中的各比特组分别使用图2实施例的数据验证方法来验证待验证数据B1c~B1(c+m-1)的各个比特组。倘若控制器150依据校验运算结果判断待验证数据正确,则进入步骤S590;反之,则进入步骤S570。特别是,在本发明的一实施例中,若在步骤S570中判定待验证数据B1c~B1(c+m-1)可能出现错误,则控制器150不以此待验证数据来回应读取指令,而更会依据校验运算的结果来还原待验证数据。在本实施例中,上述的步骤S530、S540、S570以及S590的实作方法是分别对待验证数据中的各比特组进行类似于图3实施例中的步骤S320、S330、S350以及S340,故重复的内容在此不再赘述。
[0039] 在本实施例中,倘若控制器150于步骤S520中判断m大于nx/2,则进入步骤S550。在步骤S550中,控制器150依据待验证数据以及第一数据从第一只读存储器110中读取第一数据中的第三子数据。在本实施例中,控制器150读取待验证数据B1c~B1(c+m-1)所在的数据分组DGx中的所有nx个比特组作为第三子数据。接着,在步骤S560中,控制器150依据所读取的第三子数据以对待验证数据进行校验运算,以判断待验证数据是否正确。在本实施例中,控制器150可例如将第三子数据中的各比特组拿来进行异或运算。由于第三子数据中包括预先定义的校验和比特组,因此倘若异或运算的结果为零比特组,则在步骤S590中,控制器150便判定待验证数据B1c~B1(c+m-1)正确,能够以被判定正确的待验证数据B1c~B1(c+m-1)来回应读取指令。反之,倘若异或运算的结果不为零比特组,则于步骤S580中,控制器
150判定待验证数据B1c~B1(c+m-1)中可能有错误,因而不以此回应读取指令。
[0040] 上述实施例的方法进一步判断待验证数据的数据量是否大于预设阈值来动态地调整数据验证方法。并且,预设阈值是关联于第一数据以及第一数据和第二数据间的对应关系。如此动态调整数据验证方法,更能够确保本发明提供的电子装置通过较少的读取次数来执行数据验证方法,增加数据验证的效率。
[0041] 值得一提的是,在前述实施例中,待验证数据B1c~B1(c+m-1)是在同一个数据分组中,然而,本发明并不限于此。在其他实施例中,待验证数据B1c~B1(c+m-1)也可例如是分散于不同的数据分组中。
[0042] 此外,在前述的实施例中,第二数据是以镜像方式作为第一数据的备份。换言之,第二数据的内容是相同于第一数据。然而,本发明并不在此限,在其他实施例中,第二数据的内容也可例如是设置成不同于第一数据。以下将举实施例详细描述之。
[0043] 图6绘示本发明一实施例的数据验证方法的示意图。本实施例的方法同样适用于图1中的电子装置100以及图3的步骤流程。以下将参照图1中电子装置100的各组件以及图3的步骤流程来描述本实施例方法的各步骤。
[0044] 请参照图3与图6,在步骤S310中,控制器150设置具有第一数据的第一只读存储器110以及具有第二数据的第二只读存储器130,其中第一数据与第二数据之间存在对应关系。如图6所示,第一只读存储器110中的第一数据是类似于图2实施例中的第一只读存储器
110中的第一数据,在此不再赘述。第二只读存储器130中具有与第一数据存在对应关系的第二数据。在本实施例中,第二数据的设置方式例如是将第一数据中的各比特组B11~B1n依序两两不重复的进行特定运算后,将特定运算的结果依序记录于第二只读存储器130中作为第二数据。举例而言,如图6所示,B21=B11⊕B12;B22=B13⊕B14,以此类推,其中以⊕表示特定运算的运算符。在本实施例中,特定运算⊕例如为异或运算。换言之,比特组B21是对应于比特组B11以及B12,并且比特组B22是对应于比特组B13以及B14,以此类推。
[0045] 随后,若待验证数据包含于第一数据中,在步骤S320中,控制器150从第一只读存储器110中读取第一数据中,包括待验证数据的第一子数据,并且依据第一数据与第二数据间的对应关系,从第二只读存储器130中读取对应于第一子数据的第二数据中的第二子数据。具体而言,在本实施例中,控制器150可例如是接收来自主机系统的读取指令,此读取指令例如是指示从第一只读存储器110中读取一个比特组的待验证数据B1a,但本发明并不在此限。接收到此读取指令后,控制器150从第一只读存储器110中读取第一数据中,包括待验证数据B1a的第一子数据。在本实施例中,若a为奇数,待验证数据B1a与比特组B1(a+1)是对应于第二数据中的比特组B2((a+1)/2)。因此,控制器150从第一只读存储器110中读取待验证数据B1a与比特组B1(a+1)作为第一子数据,并且从第二只读存储器130中读取比特组B2((a+1)/2)作为第二子数据。另一方面,若a为偶数,待验证数据B1a与第一数据B1(a-1)是对应于第二数据中的比特组B2(a/2)。因此,控制器150从第一只读存储器110中读取待验证数据B1a与第一数据B1(a-1)作为第一子数据,并且从第二只读存储器130中读取比特组B2(a/2)作为第二子数据。
[0046] 接着,在步骤S330中,控制器150依据所读取的第一子数据、第二子数据以及第一数据与第二数据之间的对应关系,对待验证数据进行校验运算,以判断待验证数据是否正确。在本实施例中,特定运算⊕例如为异或运算,则控制器150可例如对第一子数据以及第二子数据再次进行异或运算来作为对待验证数据的校验运算。倘若异或运算的结果为零比特组,则于步骤S340中,控制器150可判定待验证数据B1a正确,便能够以被判定正确的待验证数据B1a来回应读取指令。反之,倘若异或运算的结果不为零比特组,则于步骤S350中,控制器150可判定待验证数据B1a中的比特可能出现错误,而不以可能错误的待验证数据B1a来回应读取指令。举例而言,倘若异或运算的结果中的第一个比特以及第三个比特值为1,其他为0,则控制器150判定待验证数据B1a的第一个比特与第三个比特可能出现错误。
[0047] 类似地,在其他实施例中,待验证数据也可以是包括m个比特组的数据,而非仅包括1个比特组的数据。
[0048] 图7绘示本发明一实施例的数据验证方法的示意图。本实施例的方法同样适用于图1中的电子装置100以及图5的步骤流程。以下将参照图1中电子装置100的各组件以及图5的步骤流程来描述本实施例方法的各步骤。
[0049] 请参照图5与图7,图7中的第一只读存储器110以及第二只读存储器130的设置方法是相同于图6实施例中的设置方法。换言之,在本实施例中,步骤S510的实作方法是类似于图6实施例中的步骤S310,在此不再赘述。在本实施例中,控制器150例如会接收到读取指令,指示控制器150从第一只读存储器110中读取m个比特组的待验证数据B1c~B1(c+m-1),并且待验证数据B1c~B1(c+m-1)是被分在同一个数据分组DGx。在步骤S520中,控制器150判断待验证数据的数据量是否大于预设阈值。在本实施例中,待验证数据B1c~B1(c+m-1)所在的数据分组DGx例如是包括n--x个比特组。因此,倘若利用此数据分组DGx中的校验和比特组来验证待验证数据B1c~B1(c+m-1),总共须读取nx个比特组;反之,倘若对待校验数据B1c~B1(c+m-1)中的各比特组分别使用图6实施例所提供的数据验证方法来进行校验运算,则总共须读取3m个比特组。因而,在本实施例中,预设阈值将被设定为n-x/3。更明确地说,若nx>3m,则对待验证数据中的各比特组使用图6实施例所提供的数据验证方法将能通过较少的读取次数达到数据验证的目的。
[0050] 在本实施例中,倘若控制器150于步骤S520中判断m不大于nx/3,则于步骤S530与步骤S540中,控制器150会对待验证数据B1c~B1(c+m-1)中的各比特组分别使用图6实施例中的数据验证方法来验证待验证数据B1c~B1(c+m-1)的各个比特组。倘若控制器150依据校验运算结果判断待验证数据正确,则进入步骤S590;反之,则进入步骤S570。特别是,在本发明的一实施例中,若在步骤S570中判定待验证数据B1c~B1(c+m-1)可能出现错误,则控制器150不以此待验证数据来回应读取指令。上述的步骤S530、S540、S570以及S590的实作方法是分别对待验证数据中的各比特组进行类似于图6实施例中的步骤S320、S330、S350以及S340,故重复的内容在此不再赘述。
[0051] 在本实施例中,倘若控制器150于步骤S520中判断m大于nx/3,则进入步骤S550。在本实施例中,步骤S550的实作方式是类似于前述图4实施例中的步骤S550,在此不再赘述。
[0052] 通过上述实施例的方法来实作本发明提供的数据验证方法,除了减少验证时的读取次数,增加数据验证的效率之外,更能有效的节省第二只读存储器130的空间。具体来说,使用图6与图7实施例的方法来设置第一只读存储器110以及第二只读存储器130,相较于图2与图4实施例而言,节省了一半的第二只读存储器130空间使用量。
[0053] 图8绘示本发明一实施例的数据验证方法的示意图。本实施例的方法同样适用于图1中的电子装置100以及图3的步骤流程。以下将参照图1中电子装置100的各组件以及图3的步骤流程来描述本实施例方法的各步骤。
[0054] 请参照图3与图8,在步骤S310中,控制器150设置具有第一数据的第一只读存储器110以及具有第二数据的第二只读存储器130,其中第一数据与第二数据之间存在对应关系。如图8所示,第一只读存储器110中的第一数据是类似于图2实施例中的第一只读存储器
110中的第一数据,在此不再赘述。第二只读存储器130中具有与第一数据存在对应关系的第二数据。在本实施例中,如图8所示,第二数据的设置方式例如是将第一数据中的各比特组B11~B1n依序两两进行特定运算后,将特定运算的结果依序记录于第二只读存储器130中作为第二数据。举例而言,如图8所示,B21=B11⊕B12;B22=B12⊕B13,以此类推,其中以⊕表示特定运算的运算符。在本实施例中,特定运算⊕例如为异或运算。换言之,比特组B21是对应于比特组B11以及B12,并且比特组B22是对应于比特组B12以及B13,以此类推。
[0055] 随后,在若待验证数据包含于第一数据中,在步骤S320中,控制器150从第一只读存储器110中读取第一数据中,包括待验证数据的第一子数据,并且依据第一数据与第二数据间的对应关系,从第二只读存储器130中读取对应于第一子数据的第二数据中的第二子数据。具体而言,在本实施例中,控制器150可例如是接收来自主机系统的读取指令,此读取指令例如是指示从第一只读存储器110中读取一个比特组的待验证数据B1a,但本发明并不在此限。接收到此读取指令后,控制器150从第一只读存储器110中读取第一数据中,包括待验证数据B1a的第一子数据。。在本实施例中,控制器150可例如从第一只读存储器110中读取待验证数据B1a与比特组B1(a+1)作为第一子数据,并且从第二只读存储器130中读取对应的比特组B2(a)作为第二子数据。在另一实施例中,控制器150亦可例如从第一只读存储器110中读取待验证数据B1a与比特组B1(a-1)作为第一子数据,并且从第二只读存储器130中读取对应的比特组B2(a-1)作为第二子数据,本发明不在此限。
[0056] 接着,在步骤S330中,控制器150依据所读取的第一子数据、第二子数据以及第一数据与第二数据之间的对应关系,对待验证数据进行校验运算,以判断待验证数据是否正确。在本实施例中,特定运算⊕例如为异或运算,则控制器150可例如对第一子数据以及第二子数据再次进行异或运算来作为对待验证数据的校验运算。倘若异或运算的结果为零比特组,则于步骤S340中,控制器150可判定待验证数据B1a正确,便能够以被判定正确的待验证数据B1a来回应读取指令。反之,倘若异或运算的结果不为零比特组,则于步骤S350中,控制器150可判定待验证数据B1a中的比特可能出现错误,便不以可能有错误的待验证数据B1a来回应读取指令。举例而言,倘若异或运算的结果中的第一个比特以及第三个比特值为1,其他为0,则控制器150判定待验证数据B1a的第一个比特以及第三个比特可能出现错误。
[0057] 类似地,在其他实施例中,待验证数据也可以包括m个比特组的数据,而非仅包括1个比特组的数据。
[0058] 图9绘示本发明一实施例的数据验证方法的示意图。本实施例的方法同样适用于图1中的电子装置100以及图5的步骤流程。以下将参照图1中电子装置100的各组件以及图5的步骤流程来描述本实施例方法的各步骤。
[0059] 请参照图5与图9,图9中的第一只读存储器110以及第二只读存储器130的设置方法是相同于图8实施例中的设置方法。换言之,在本实施例中,步骤S510的实作方法是类似于图8实施例中的步骤S310,在此不再赘述。在本实施例中,控制器150例如会接收到读取指令,指示控制器150从第一只读存储器110中读取m个比特组的待验证数据B1c~B1(c+m-1),并且待验证数据B1c~B1(c+m-1)是被分在同一个数据分组DGx。在步骤S520中,控制器150判断待验证数据的数据量是否大于预设阈值。在本实施例中,待验证数据B1c~B1(c+m-1)所在的数据分组DGx例如是包括n--x个比特组。因此,倘若利用此数据分组DGx中的校验和比特组来验证待验证数据B1c~B1(c+m-1),总共须读取nx个比特组;反之,倘若对待校验数据B1c~B1(c+m-1)中的各比特组分别使用图8实施例所提供的数据验证方法来进行校验运算,则总共须读取3m个比特组。因而,在本实施例中,预设阈值将被设定为n-x/3。更明确地说,若nx>3m,则对待验证数据中的各比特组使用图8实施例所提供的数据验证方法将能通过较少的读取次数达到数据验证的目的。
[0060] 在本实施例中,倘若控制器150于步骤S520中判断m不大于nx/3,则于步骤S530与步骤S540中,控制器150会对待验证数据B1c~B1(c+m-1)中的各比特组分别使用图8实施例中的数据验证方法来验证待验证数据B1c~B1(c+m-1)的各个比特组。倘若控制器150依据校验运算结果判断待验证数据正确,则进入步骤S590;反之,则进入步骤S570。特别是,在本发明的一实施例中,若在步骤S570中判定待验证数据B1c~B1(c+m-1)可能出现错误,则控制器150不以此待验证数据来回应读取指令,而更会依据校验运算的结果来还原待验证数据。上述的步骤S530、S540、S570以及S590的实作方法是分别对待验证数据中的各比特组进行类似于图8实施例中的步骤S320、S330、S350以及S340,故重复的内容在此不再赘述。
[0061] 在本实施例中,倘若控制器150于步骤S520中判断m大于nx/3,则进入步骤S550。在本实施例中,步骤S550的实作方式同样是类似于前述图4实施例中的步骤S550,在此不再赘述。
[0062] 值得一提的是,通过本发明实施例所提的数据验证方法,在判断待验证数据可能有错误后,控制器150更可依据校验运算的结果来还原待验证数据。例如,以图8实施例而言,若在步骤S330中判定待验证数据B1a可能出现错误,则控制器150可用类似的数据验证方法来验证待验证数据B1a的邻近比特组B1(a-1)与B1(a+1)。当比特组B1(a-1)以及B1(a+1)皆判定正确,则控制器150可例如是对比特组B1(a-1)以及比特组B2a进行异或运算,并以运算结果来将待验证数据B1a还原为B1a’,再以还原后的待验证数据B1a’来回应读取指令。
[0063] 综上所述,本发明实施例在电子装置中设置了第一只读存储器之外的第二只读存储器,且第二只读存储器中的第二数据与第一只读存储器中的第一数据之间存在对应关系。据此,在验证第一只读存储器中的待验证数据时,可同时利用第一只读存储器、第二只读存储器以及上述的对应关系来验证待验证数据。如此一来,能够降低数据验证时所需执行的读取操作的次数,以提升数据验证的效率。除此之外,本发明实施例中第一数据与第二数据间的对应关系使得第二数据的数据量不大于第一数据的数据量,如此一来在不占用大量第二只读存储器空间的情况下,亦能达到提升数据验证效率的目的。
[0064] 虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的变动与润饰,故本发明的保护范围当视所附的权利要求所界定者为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈