用以存取数据的方法以及相关电路

文档序号:1598846 发布日期:2020-01-07 浏览:15次 >En<

阅读说明:本技术 用以存取数据的方法以及相关电路 (Method for accessing data and related circuit ) 是由 黄建兴 于 2018-06-28 设计创作,主要内容包括:一种用以存取一数据的方法,应用于一数据存取系统,该方法包含:依据该数据对应的一虚拟地址进行查表以得到一物理地址、一属性参数以及一密钥信息;依据一触发信号产生一密钥;依据该密钥信息储存该密钥;依据该属性参数判断该数据是否满足一加密条件;以及当该数据满足该加密条件时,依据该密钥对该数据执行一加密操作以产生一加密数据,以供该数据存取系统依据该物理地址将该加密数据写入该存储器。(A method for accessing a data is applied to a data access system and comprises the steps of looking up a table according to a virtual address corresponding to the data to obtain a physical address, an attribute parameter and key information; generating a key according to a trigger signal; storing the key according to the key information; judging whether the data meets an encryption condition according to the attribute parameters; and when the data meets the encryption condition, performing an encryption operation on the data according to the secret key to generate encrypted data so that the data access system writes the encrypted data into the memory according to the physical address.)

用以存取数据的方法以及相关电路

技术领域

本领域是有关于于存储器存取数据的方法,尤指一种透过对数据加密以达到保护效果的方法与相关电路。

背景技术

传统上,每一功能性电路对存储器的权限皆有所不同,有些电路仅允许写入数据至存储器,有些电路仅允许自存储器读取数据,为了达到数据保密的功效,通常会先辨别某一特定电路能否对特定存储器地址执行写入/读取动作,举例来说,当欲写入一数据至一第一存储器时,通常带有欲写入地址的一虚拟地址,而一写入电路会先根据该虚拟地址至一第二存储器进行查表来获取该虚拟地址所对应的该存储器中的一物理地址,而后处理电路自写入电路接收该数据以及该物理地址,并根据该物理地址于一第三存储器中进行查表,以判断该写入电路对该物理地址是否具有写入权限,若有,该处理电路则将该数据写入该第一存储器中的该物理地址;同样地,当欲从该第一存储器读取一数据时,通常得到欲读取地址的一虚拟地址,而一读取电路会先根据该虚拟地址至该第二存储器进行查表来获取该虚拟地址所对应的该存储器中的一物理地址,而后处理电路自读取电路接收该物理地址,并根据该物理地址于该第三存储器中进行查表,以判断该读取电路对该物理地址是否具有读取权限,若有,该处理电路则自该第一存储器中的该物理地址读取该数据并输出至该读取电路。然而,对于上述方法,当一数据的数据量大且其所对应的物理地址为不连续时,对每一物理地址查表以确认是是否具有写入/读取权限,不仅容易发生错误而造成数据遗失或存取失败,且并非一有效率的存取动作,因此需要一种新的电路架构来进行数据的存取。

发明内容

因此,本发明的目的之一在于提供一种用以存取数据的方法以及相关电路来解决上述问题。

根据本发明的一实施例,揭露一种用以存取一数据的方法,应用于一数据存取系统,包含:依据该数据对应的一虚拟地址进行查表以得到一物理地址、一属性参数以及一密钥信息;依据一触发信号产生一密钥;依据该密钥信息储存该密钥;依据该属性参数判断该数据是否满足一加密条件;以及当该数据满足该加密条件时,依据该密钥对该数据执行一加密操作以产生一加密数据,以供该数据存取系统依据该物理地址将该加密数据写入该存储器。

根据本发明的一实施例,揭露一种执行一数据存取的存取电路,其中该数据对应至至少一虚拟地址,该存取电路包含:一地址查找表、一判断电路、一密钥产生电路以及一处理电路,其中该至少一虚拟地址对应至该地址查找表中所储存的至少一物理地址、一属性参数以及至少一密钥信息;该判断电路是用以接收该属性参数,其中该判断电路根据该属性参数判断该数据是否满足一加密条件;该密钥产生电路是用以接收该至少密钥信息,其中当写入数据时,该密钥产生电路产生对应至该密钥信息的一密钥;该处理电路耦接至该密钥产生电路,其中当该数据满足该加密条件时,该处理电路依据该密钥对该数据执行一加密操作来产生一加密数据,并依据该物理地址将该加密数据写入一存储器。

附图说明

图1是根据本发明一实施例的数据存取系统的示意图。

图2是图1的第一存储器中一地址查找表的示意图。

图3是图1的第二存储器中一密钥查找表的示意图

图4是采用图1所示的数据存取系统来写入数据的方法的流程图。

图5是采用图1所示的数据存取系统来读取数据的方法的流程图。

符号说明

10 数据存取系统

40 存取电路

20 写入电路

30 读取电路

70 第三存储器

41 第一存储器

42 判断电路

43 密钥产生电路

44 处理电路

45 第二存储器

VA 虚拟地址

PA1,PA2 物理地址

E1,E2 条目

key_info1,key_info2 密钥信息

att 属性参数

key1,key2 密钥

CRYPTO 加密数据

400,500 方法

401-408,501-508 步骤

DATA 数据

具体实施方式

图1是根据本发明一实施例的数据存取系统10的示意图,如图1所示,数据存取系统10包含一存取电路40、一写入电路20、一读取电路30以及一存储器控制电路50,其中存取电路40包含一第一存储器41、一判断电路42、一密钥产生电路43、一第二存储器45以及一处理电路44。存储器控制电路50用来存取一第三存储器70。在本实施例中,写入电路20为需要写入数据至第三存储器70的一功能性电路,举例来说,写入电路20用以透过存储器控制电路50将一图像解码器解码出的一图像写入第三存储器70,而读取电路30为需要自第三存储器70读取数据的一功能性电路,举例来说,读取电路30用以透过存储器控制电路50自该第三存储器70读取出该图像以传送给一图像处理电路进行进一步的图像处理,然而,此仅为一范例说明,并非本发明的一限制,任何需要存入或读取数据的电路皆属于本发明的范畴。

当写入电路20将一数据DATA写入第三存储器70时,是自第一存储器41所储存的一地址查找表中查表得到对应虚拟地址VA的不连续的物理地址PA,并透过存储器控制电路50将数据DATA写入第三存储器70中的物理地址PA;类似地,当读取电路30读取第三存储器70中的数据DATA时,是自第一存储器41所储存的地址查找表找到对应虚拟地址VA的物理地址PA,并透过存储器控制电路50自第三存储器70中的物理地址PA读取数据DATA。

在本实施例中,一物理地址PA代表存储器70中的一分页(page),其大小为4000字节(byte)。若数据DATA为一图像数据,例如一个帧,其大小可能为数百兆字节,亦即占据数百至数千个分页。若透过查表法一一检验每一分页是否具有读取/写入权限将非常没有效率,因此本发明提出一种具加密功能的存取电路与方法,可避免上述没有效率的情况发生。

图2是图1的第一存储器41中一地址查找表的示意图,如图2所示,地址查找表是用以储存多个条目(entry)E1、E2、E3……,其中每一条目对应一虚拟地址VA,并储存有一对应的物理地址PA、一属性参数att以及一密钥信息key_info。当写入电路20要将数据DATA写入第三存储器70时,可依据虚拟地址VA自地址查找表中找到相对应的条目,并得到其对应的物理地址PA(例如物理地址PA1)、属性参数att(例如属性参数att1)以及密钥信息key_info(例如密钥信息key_info1)。

图3是图1的第二存储器45中一密钥查找表的示意图,如图3所示,密钥查找表用以储存多个密钥key,其中每一密钥key分别对应一密钥信息key_info。

同时参考图1与图3,当写入电路20要将数据DATA写入虚拟地址VA时,首先自第一存储器41中的地址查找表得到虚拟地址VA对应的物理地址PA1、属性参数att1以及密钥信息key_info1,并将密钥信息key_info1传送至密钥产生电路43,并且写入电路20另传送一触发信号TRI至密钥产生电路43。密钥产生电路43依据触发信号TRI产生一密钥key1,并将密钥key1储存于密钥查找表中密钥信息key_info1所对应的位置。

请继续参考图1,写入电路20接着将属性参数att1以及密钥信息key_info1分别传送至判断电路42与处理电路44,而判断电路42根据属性参数att1来判断数据DATA是否满足一加密条件以产生一判断结果s。举例来说,属性参数att1可以具有一特定位,当该特定位的位值为’1’时,代表数据DATA写入第三存储器70前需先进行加密操作。当判断结果s指示对数据DATA进行加密操作,则处理电路44根据密钥信息key_info1自第二存储器45中的密钥查找表得到相对应的密钥key1,并根据密钥key1对数据DATA执行加密操作,举例来说,处理电路44可将数据DATA与密钥key1进行编码产生一加密数据CRYPTO,并且根据物理地址PA1写入加密数据CRYPTO于第三存储器70之中。在另一实施例中,处理电路44亦可以利用物理地址PA1以及密钥key1对数据DATA进行编码以产生加密数据CRYPTO来增加加密操作的复杂程度以及保护程度。由于每笔数据data都有不同的物理地址,此种加密方式将比单纯利用密钥key复杂许多,大幅提升安全性。

另一方面,当属性参数att1指示数据DATA不满足该加密条件时,举例来说,属性参数att1中该特定位的位值为’0’时,代表不需要对数据DATA进行加密操作,则处理电路44可依据判断结果s直接将数据DATA写入第三存储器70中的物理地址PA1。在另一实施例中,当属性参数att1指示数据DATA不满足该加密条件时,处理电路44可执行其他操作,例如根据属性参数att1中关于物理地址PA1的一范围(range)信息自一第四存储器(未绘于图1中)中的一权限查找表得到物理地址PA1所对应的一权限信息,藉此确认其针对物理地址PA1是否具有一写入权限,若具有写入权限,则处理电路44根据物理地址PA1将数据DATA写入第三存储器70中,其中范围信息为具有一固定范围的存储器地址,而权限信息代表该固定范围内所有存储器地址的权限。

需注意的是,虽然在前述实施例中,物理地址PA与密钥信息key_info为一对一对应,但在另一实施例中,一数据DATA所对应的一虚拟地址VA可对应多个物理地址,如物理地址PA1与PA2,且多个物理地址可同时对应至同一密钥信息。此外,在又另一实施例中,处理电路44也可以利用多把密钥来对同一数据DATA执行加密操作。举例来说,处理电路44可将数据DATA与密钥key1与key2进行编码以产生加密数据CRYPTO,或者处理电路44可将数据DATA与物理地址PA1与PA2以及密钥key1与key2进行编码以产生加密数据CRYPTO,之后将写入加密数据CRYPTO于第三存储器70之中。

类似于写入电路20的操作,当读取电路30欲读取已写入第三存储器70的数据DATA时,首先利用虚拟地址VA自第一存储器41中的地址查找表查表找到相对应的条目,并得到其中的物理地址PA1、属性参数att1以及密钥信息key_info1。接着读取电路30分别传送属性参数att1以及密钥信息key_info1至判断电路42以及处理电路44,而判断电路42可根据属性参数att1来判断欲读取数据DATA是否满足加密条件并产生判断结果s。处理电路44可根据判断结果s决定是否需进行解密操作以得到数据DATA。举例来说,当属性参数att1指示数据DATA满足加密条件时,处理电路44根据密钥信息key_info1自第二存储器45的密钥查找表查表得到相对应的密钥key1,根据物理地址PA1自第三存储器70读取出加密数据CRYPTO,并根据密钥key1来对加密数据CRYPTO执行解密操作以得到数据DATA。详细来说,若加密数据CRYPTO仅利用密钥key1对数据DATA进行加密操作,则此时处理电路44将仅利用密钥key1进行解密操作;若加密数据CRYPTO是利用物理地址PA1以及密钥key1对数据DATA进行加密操作,则此时处理电路44利用物理地址PA1以及密钥key1对加密数据CRYPTO进行解密操作;若加密数据CRYPTO是利用多个密钥(如密钥key1与key2)及/或多个物理地址(如物理地址PA1与物理地址PA2)对数据DATA进行加密操作,则此时处理电路44将会根据多个密钥及/或多个物理地址来执行解密操作。

另一方面,当属性参数att1指示数据DATA不满足该加密条件时,代表处理电路44并未对数据DATA进行加密即写入第三存储器70中,因此在读取时,可直接自第三存储器70中的物理地址PA1读取数据DATA。在另一实施例中,当属性参数att1指示数据DATA不满足该加密条件时,处理电路可执行其他操作,例如根据属性参数att1中关于物理地址PA1的范围信息自该第四存储器中的一权限查找表得到物理地址PA1所对应的一权限信息,藉此确认针对物理地址PA1是否具有一读取权限,若具有读取权限,则处理电路44则根据物理地址PA1读取第三存储器70中的数据DATA。

请注意,虽然在前述实施例中,是由写入电路20/读取电路30将属性参数att1以及密钥信息key_info1分别传送至判断电路42与处理电路44,然而在其他实施例中,亦可由写入电路20/读取电路30控制判断电路42与处理电路44于第一存储器41取得属性参数att1以及密钥信息key_info1。

此外,在一较佳实施例中,第一存储器41及第二存储器45为静态随机存取存储器,这是因为第一存储器41及第二存储器45需要非常快速的读写速度,第三存储器70则为一动态随机存取存储器,这是因为第三存储器70有较大的数据量需求,而动态随机存取存储器成本较低。然而此并非本发明的一限制,于其他实施例中,第一存储器41与第二存储器45也可以为一动态随机存取存储器,而第三存储器70也可以为一静态随机存取存储器。此外,虽然在本实施例中,地址查找表、密钥查找表及权限查找表是分别储存于第一存储器41、第二存储器45与第四存储器中,然而在另一实施例中,该些查找表皆可以分别或共同储存于第三存储器70中、存取电路40中或者独立在存取电路40以及存储器70之外的另一储存装置中。

图4是采用图1所示的数据存取系统10来写入数据的方法400的流程图,方法400的流程可简单归纳如下列步骤。

步骤401:依据一数据对应的一虚拟地址查表取得一物理地址、一属性参数以及一密钥信息。

步骤402:依据一触发信号产生一密钥,并依据该密钥信息将该密钥储存于一密钥查找表中。

步骤403:依据该属性参数判断该数据是否满足一加密条件,若是,则进入步骤404;若否,则进入步骤405。

步骤404:依据该密钥信息于该密钥查找表中取得一密钥来对该数据执行一加密操作以产生一加密数据,并依据该物理地址将该加密数据写入一存储器中。

步骤405:依据属性参数中的一范围信息查表取得该物理地址所对应的一权限信息。

步骤406:当该权限信息指示针对该物理地址具有一写入权限时,依据该物理地址将该数据写入该存储器中。

图5是采用图1所示的数据存取系统10来读取数据DATA的方法500的流程图,方法500的流程可简单归纳如下列步骤。

步骤501:依据一数据对应的一虚拟地址查表取得一物理地址、一属性参数以及一密钥信息。

步骤502:依据该属性参数判断该数据是否满足一加密条件,若是,则进入步骤503;若否,则进入步骤505。

步骤503:依据该物理地址自一存储器读取出一加密数据,并且依据该密钥信息于该密钥查找表中取得一密钥。

步骤504:依据该密钥来对该加密数据执行一解密操作以得到该数据。

步骤505:依据该属性参数中的一范围信息查表取得该物理地址所对应的一权限信息。

步骤506:当该权限信息指示该物理地址具有一读取权限时,依据该物理地址自该存储器读取该数据。

需注意的是,虽然于图1所示的实施例中,存取电路40包含判断电路42、密钥产生电路43以及处理电路44等电路架构来完成数据DATA的存取,然而,在其他实施例中,亦可以由软件来实现上述判断电路42、密钥产生电路43以及处理电路44的操作,举例来说存取电路40可以为一处理器,当加载一程序代码后,将可执行图4以及图5所示存取数据DATA的方法流程,本领域的技术人员在阅读完图1至图5的实施例后,应能轻易理解以软件实现上述操作的实施细节,详细说明在此省略以省篇幅。

以上所述仅为本发明的较佳实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种面向无人智能装备数据总线的自动订阅方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类