CN111209137A - 数据访问控制方法及装置、数据访问设备及系统 - Google Patents

数据访问控制方法及装置、数据访问设备及系统 Download PDF

Info

Publication number
CN111209137A
CN111209137A CN202010008548.6A CN202010008548A CN111209137A CN 111209137 A CN111209137 A CN 111209137A CN 202010008548 A CN202010008548 A CN 202010008548A CN 111209137 A CN111209137 A CN 111209137A
Authority
CN
China
Prior art keywords
data
ecc
data access
storage unit
physical address
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.)
Granted
Application number
CN202010008548.6A
Other languages
English (en)
Other versions
CN111209137B (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010008548.6A priority Critical patent/CN111209137B/zh
Publication of CN111209137A publication Critical patent/CN111209137A/zh
Priority to PCT/CN2020/132439 priority patent/WO2021139443A1/zh
Application granted granted Critical
Publication of CN111209137B publication Critical patent/CN111209137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例提供数据访问控制方法及装置。在该方法中,从指令执行装置获取应用针对数据存储单元的数据访问命令以及ECC属性信息,所述数据访问命令包括待访问的物理地址。数据访问控制装置根据ECC属性信息确定在进行数据访问时是否执行ECC校验。在ECC属性信息指示需要执行ECC校验时,数据访问控制装置根据物理地址来对数据存储单元执行具有ECC校验的数据访问操作。在ECC属性信息指示不需要执行ECC校验时,数据访问控制装置根据物理地址来对数据存储单元执行不具有ECC校验的数据访问操作。利用该方法,可以降低数据访问操作时的系统功耗,并且提升数据访问处理的吞吐量。

Description

数据访问控制方法及装置、数据访问设备及系统
技术领域
本说明书的实施例通常涉及数据处理领域,更具体地,涉及实现内存校验优化的数据访问控制方法及数据访问控制装置、具有该访问控制装置的数据访问设备以及数据访问系统。
背景技术
应用所需要的数据存储在例如内存的存储单元中。在进行工作时,应用会访问存储单元来读取所需数据进行相关应用处理,以及将经过应用处理后得到的结果数据存储到存储单元中。
存储单元是一种电子器件,在工作过程中可能会出现内存错误。对于稳定性要求高的应用操作,这种内存错误会造成应用所使用的数据不正确,从而导致应用的处理结果不正确。内存错误可以分为硬错误和软错误。硬错误是由于硬件的损害或缺陷造成的错误。软错误是随机出现的,例如在内存附近突然出现电子干扰等因素而造成的错误。
为了解决上述软错误,提出了ECC(Error Checking and Correcting,错误检查和纠正)技术。利用ECC技术,在数据比特上的额外比特处存储ECC校验码。当数据被写入内存时,相应的ECC校验码也被保存到内存中。当重新读取刚才存储的数据时,内存控制器将所保存的ECC校验码和读取数据时产生的ECC校验码进行比较。如果两个校验码不相同,则进行解码,以确定数据中的哪一比特不正确。然后,内存控制器丢弃错误比特,并且返回正确的数据。
然而,ECC校验处理需要占用处理资源以及花费处理时间。对于一些应用,例如,涉及机器学习的应用,应用可以包括多次数据访问过程,每次数据访问过程涉及不同的数据处理阶段,这些数据处理阶段的数据处理方式也会不同。此外,在这些数据处理阶段中,可能会存在部分数据处理阶段的数据处理方式无需每个数据比特的正确性,从而可以不执行ECC校验处理。在这种情况下,如何高效地执行数据访问处理,成为亟待解决的问题。
发明内容
鉴于上述问题,本说明书的实施例提供一种数据访问控制方法及数据访问控制装置。利用该数据访问控制方法及数据访问装置,能够根据应用针对所使用数据的完整性要求来控制是否执行ECC校验处理,由此针对无需执行ECC校验处理的数据访问操作时不执行ECC校验处理,从而降低数据访问操作时的系统功耗,并且提升数据访问处理的吞吐量。
根据本说明书的实施例的一个方面,提供一种数据访问控制方法,包括:从指令执行装置获取应用针对数据存储单元的数据访问命令以及ECC属性信息,所述数据访问命令包括待访问的物理地址,所述ECC属性用于指示在进行数据访问操作时是否需要执行ECC校验;在所述ECC属性信息指示需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作,在所述ECC属性信息指示不需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作,其中,所述物理地址通过在所述指令执行装置处对所接收的数据访问指令中的虚拟地址进行转换而得到。
可选地,在上述方面的一个示例中,所述ECC属性信息的属性值根据所述应用在进行数据处理时的数据完整性要求确定。
可选地,在上述方面的一个示例中,所述ECC属性信息被设置在所述物理地址所在物理页的页面属性字段中。
可选地,在上述方面的一个示例中,所述ECC属性信息被设置在所述数据访问指令中。
可选地,在上述方面的一个示例中,所述数据访问命令包括数据写入命令,从指令执行装置获取应用针对数据存储单元的数据访问命令以及ECC属性信息包括:从指令执行装置获取应用针对数据存储单元的数据写入命令、ECC属性信息以及写入数据,根据所述物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作包括:使用所述写入数据来生成ECC校验码;以及将所述数据写入命令、写入数据以及所述ECC校验码发送给所述数据存储单元,所述数据存储单元根据所述数据写入命令,对所述ECC校验码与所述写入数据执行相关联的写入操作,其中,所述写入数据被写入到所述物理地址,以及根据所述物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作包括:将所述数据写入命令和所述写入数据发送给所述数据存储单元,所述数据存储单元根据所述数据写入命令,将所述写入数据写入所述物理地址。
可选地,在上述方面的一个示例中,所述数据访问命令可以包括数据读取命令,根据所述物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作可以包括:将所述数据读取命令发送给所述数据存储单元,所述数据存储单元根据所述物理地址获取读出数据以及相关联的ECC校验码;从所述数据存储单元接收所述读出数据以及所述ECC校验码;基于所述读出数据以及所述ECC校验码,进行ECC校验处理;将经过ECC校验处理后的读出数据发送给所述指令执行装置,以及根据所述物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作可以包括:将所述数据读取命令发送给所述数据存储单元,所述数据存储单元根据所述物理地址获取读出数据;从所述数据存储单元接收所述读出数据;将所述读出数据发送给所述指令执行装置。
可选地,在上述方面的一个示例中,所述应用可以包括机器学习类应用。
根据本说明书的实施例的另一方面,提供一种数据访问控制装置,包括:访问命令获取单元,从指令执行装置获取应用针对数据存储单元的数据访问命令以及ECC属性信息,所述数据访问命令包括待访问的物理地址,所述ECC属性用于指示在进行数据访问操作时是否需要执行ECC校验;数据访问单元,在所述ECC属性信息指示需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作,以及在所述ECC属性信息指示不需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作,其中,所述物理地址通过在所述指令执行装置处对所接收的数据访问指令中的虚拟地址进行转换而得到。
可选地,在上述方面的一个示例中,所述ECC属性信息被设置在所述物理地址所在物理页的页面属性字段中。
可选地,在上述方面的一个示例中,所述ECC属性信息被设置在所述数据访问指令中。
根据本说明书的实施例的另一方面,提供一种数据访问设备,包括:指令执行装置,将数据访问指令中的虚拟地址转换为物理地址,以及获取ECC属性信息;以及如上所述的数据访问控制装置。
根据本说明书的实施例的另一方面,一种数据访问系统,包括:如上所述的数据访问设备;以及数据存储单元。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:一个或多个处理器,以及与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的数据访问控制方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的数据访问控制方法。
附图说明
通过参照下面的附图,可以实现对于本说明书的实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的实施例的数据访问系统的方框示意图;
图2示出了根据本说明书的实施例的用于将虚拟地址转换为物理地址的过程的示意图;
图3示出了根据本说明书的实施例的物理页页表项的一个示例的示意图;
图4示出了根据本说明书的实施例的数据访问方法的流程图;
图5示出了根据本说明书的实施例的数据写入方法的示例示意图;
图6示出了根据本说明书的实施例的数据读取方法的示例示意图;
图7示出了根据本说明书的实施例的数据访问装置的方框图;和
图8示出了根据本说明书的实施例的用于实现数据访问的电子设备的方框图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书的实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
图1示出了根据本说明书的实施例的数据访问系统1的方框示意图。如图1所示,数据访问系统1包括指令执行装置110、数据访问控制装置120和数据存储单元130。
指令执行装置110用于运行数据访问指令。指令执行装置110可以使用任何具有指令执行的装置、设备、单元或模块来实现,例如,可以使用中央处理器(CPU,CentralProcessing Unit),微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital Signal Processing)、FPGA芯片等实现。数据访问指令可以包括数据写入指令和数据读取指令。数据写入指令的示例例如可以是“mov r1%,(%r2)”。该数据写入指令指示“将寄存器r1的内容存放到寄存器r2指向的缓存/内存中”。数据读取指令的示例例如可以是“mov(%r2),r1%”。该数据读取指令指示“将寄存器r2指向的缓存/内存中存储的内容读取到寄存器r1”。其中,寄存器r2中存放虚拟地址,例如,0x010101AF5518。
在指令执行装置110运行数据访问指令时,指令执行装置110将数据访问指令中的虚拟地址转换为待访问的数据所在物理页的物理地址,即,物理地址空间中的物理地址。
图2示出了根据本说明书的实施例的用于将虚拟地址转换为物理地址的一个示例过程的示意图。图2中示出了四级页管理架构的示例架构。图2中示出的四级分别为:页全局目录PGD(即,图2中的P4页)、页上级目录PUD(即,图2中的P3页)、页中间目录PMD(即,图2中的P2页)和页表PT(即,图2中的P1页)。
如图2中,假设虚拟地址0x010101AF5518,将该虚拟地址换成2进制0000 00010000 0001 0000 0001 1010 1111 0101 0101 0001 1000,然后按照9-9-9-9-12的位数拆分成5个部分。如图2中所示,第1部分包括39到47位(页全局目录索引),即,0000 0001 0。第2部分包括30到38位(页上级目录索引),即,000 0001 00。第3部分包括21到29位(页中间目录索引),即,00 0001 101。第4部分包括12~20位(页表项索引),即,0 1111 0101。第5部分包括0~11位(偏移),即,0101 0001 1000。换算成十六进制后可以得到如下结果:页全局目录索引=2,页上级目录索引=4,页中间目录索引=0xD,页表项索引=0xF5,以及偏移=0x518。
在进行地址转换时,从当前的CR3寄存器中取出物理地址,该物理地址指向进程的页目录页基址,由此可以得到页全局目录页基址。假设CR3寄存器中的物理地址为0xAA0E5000,则页全局目录页基址为0xAA0E5000。操作系统在调度进程时,会将该地址装入CR3寄存器中。
然后,根据页全局目录索引=2,可知页上级目录页PUD的地址存放在页全局目录页PGD的第2项中,由此得到页上级目录页PUD的地址存放在[0xAA0E5000+2*4]=[0xAA0E5008]中,如果该位置所存放的值为0x3D955867,则0x00000867为该页上级目标页PUD的页面属性值,以及0x3D955000为页上级目标页PUD的基址。
接着,根据页上级目录索引=4,可知页中间目录页PMD的地址存放在页上级目录页PUD的第4项,由此得到页中间目录页PMD的地址存放在[0x3D955000+4*4]=[0x3D955010]中,如果该位置存放的值为0x7095E847,则0x00000847为页中间目录页PMD的页面属性,以及0x7095E000为页中间目录页PMD的基址。
接着,根据页中间目录索引=0xD,可知页表项页PT的地址存放在页中间目录页PUD的第4项,由此得到页表项页PT的地址存放在[0x7095E000+0xD*4]=[0x7095E034],如果该位置存放的值为0x8085B817,则0x00000817为页表项页PT的页面属性,以及0x8085B000为页表项也PT的基址。
随后,根据偏移=0x518,可以计算出转换后的物理地址为:0x8085B000+0x00000518=0x8085B518。
此外,指令执行装置110还可以获取所对应的数据访问操作的ECC属性信息。所述ECC属性信息用于指示在对数据存储单元130执行数据访问操作时是否需要执行ECC校验。在本说明书中,ECC属性信息可以根据应用在数据处理时的数据完整性要求来设置。此外,在本说明书中,所述“应用”例如可以包括基于机器学习类的应用。机器学习类的应用在执行过程中需要使用大量的数据,并且在一些数据处理阶段,该应用采用概率统计的方法来处理数据,由于采用概率统计的方式执行数据处理具有容错能力,从而在进行数据访问时,可以无需考虑所获取数据中的每个比特的正确性。换言之,在这种情况下,可以执行不具有ECC校验的数据访问操作。
在一个示例中,所述ECC属性信息可以设置在待访问的数据所在物理页的页面属性字段中。图3示出了根据本说明书的实施例的物理页页表项的一个示例的示意图。图3中示出的是32位的物理页的页表项的示例。
如图3中所示,在该页表项中,0~11位为页面属性字段,以及12~31位为页面地址位。在页面属性字段中,0~8位已经被使用,以及9~11位为保留位,可以被使用来存放ECC属性信息。例如,ECC属性信息可以使用ECC标志来表示,在ECC标志的值为“1”时指示在进行数据访问时需要执行ECC校验,以及在ECC标志的值为“0”时指示在进行数据访问时不需要执行ECC校验。
在另一示例中,所述ECC属性信息可以设置在数据访问指令中。在本说明书中,可以设置一条新的数据访问指令,在该数据访问指令中增加操作参数来显式地指示ECC属性信息。例如,可以设置数据写入指令“movneccr1%,(%r2)”。该数据写入指令指示“将寄存器r1的内容存放到寄存器r2指向的缓存/内存中,同时显式地指示数据访问控制装置在进行数据写入时不进行ECC校验”。此外,可以设置数据读取指令“movnecc(r2%),%r1”。该数据读取指令指示“将寄存器r2指向的缓存/内存中的内容,读取到寄存器r1中,同时显式地指示数据访问控制装置在进行数据读取时不进行ECC校验”。
在如上获取物理地址以及ECC属性信息后,指令执行装置110向数据访问控制装置120发送数据访问命令以及ECC属性信息,该数据访问命令包括所转换的物理地址。例如,数据访问命令可以基于所转换的物理地址以及数据访问指令来生成。
在接收到数据访问命令以及ECC属性信息后,数据访问控制装置120根据ECC属性信息来对数据存储单元130执行数据访问。数据访问控制装置120的处理过程将在下面参照图4进行详细说明。这里要说明的是,数据存储单元130可以是任何类型的数据存储单元或模块,比如,内存、缓存以及比如SSD的固态存储单元等。相应地,数据访问控制装置120也可以称为缓存/内存控制器。此外,要说明的是,在本说明书的另一示例中,ECC属性信息也可以包括在数据访问命令中。
图4示出了根据本说明书的实施例的数据访问方法400的流程图。
如图4所示,在410,在指令执行装置110处,监测是否接收到数据访问指令。如果没有接收到,则继续进行监测。如果接收到数据访问指令,则在420,将数据访问指令中的虚拟地址转换为物理地址,并且获取ECC属性信息。从虚拟地址到物理地址的转换过程可以参考上面参照图2描述的地址转换操作。所述ECC属性信息可以从物理地址所在物理页的页面属性字段中提取,或者可以通过分析数据访问指令来获取。
随后,在430,指令执行装置110向数据访问控制装置120发送数据访问命令以及ECC属性信息。该数据访问命令包括转换得到的物理地址。在数据访问命令是数据写入命令的情况下,指令执行装置110还向数据访问控制装置120发送写入数据。
在接收到数据访问命令后,在240,数据访问控制装置120根据ECC属性信息判断在对数据存储单元130进行数据访问时是否需要执行ECC校验。
在ECC属性信息指示不需要执行ECC校验时,在250,数据访问控制装置120根据物理地址来对数据存储单元130执行不具有ECC校验的数据访问操作。
在ECC属性信息指示需要执行ECC校验时,在260,数据访问控制装置120根据物理地址来对数据存储单元130执行具有ECC校验的数据访问操作。
数据访问控制装置120的具体数据访问操作将参照图5和图6,分别针对数据写入操作和数据读取操作进行说明。
图5示出了根据本说明书的实施例的数据写入方法500的示例示意图。
如图5所示,在510,在指令执行装置110处,监测是否接收到数据写入指令。如果没有接收到,则继续进行监测。如果接收到数据写入指令,则在520,将数据写入指令中的虚拟地址转换为物理地址。此外,指令执行装置110还获取ECC属性信息。
随后,在530,指令执行装置110向数据访问控制装置120发送数据写入命令、ECC属性信息和写入数据,该数据写入命令包括经过转换得到的物理地址。
在接收到数据写入命令后,在540,数据访问控制装置120根据ECC属性信息判断在将写入数据写入到数据存储单元130时是否需要执行ECC校验。
在ECC属性信息指示不需要执行ECC校验时,在550,数据访问控制装置120将数据写入命令和写入数据发送到数据存储单元130。随后,在560,数据存储单元130根据数据写入命令来将写入数据写入到该物理地址中。
在ECC属性信息指示需要执行ECC校验时,在570,数据访问控制装置120使用写入数据来生成ECC校验码。然后,在580,数据访问控制装置120将数据写入命令、写入数据以及ECC校验码发送给数据存储单元130。数据存储单元130根据数据写入命令,将写入数据写入到所述物理地址,同时将ECC校验码写入数据存储单元130的某个物理地址中,并且使得ECC校验码与写入数据相关联。
图6示出了根据本说明书的实施例的数据读取方法600的示例示意图。
如图6所示,在601,在指令执行装置110处,监测是否接收到数据读取指令。如果没有接收到,则继续进行监测。如果接收到数据读取指令,则在602,将数据读取指令中的虚拟地址转换为物理地址。此外,指令执行装置110还获取ECC属性信息。
随后,在603,指令执行装置110向数据访问控制装置120发送数据读取命令和ECC属性信息,该数据读取命令包括经过转换得到的物理地址。
在接收到数据读取命令和ECC属性信息后,在604,数据访问控制装置120向数据存储单元发送数据读取命令和ECC属性信息。
在605,数据存储单元130根据ECC属性信息判断是否需要执行ECC校验。在判断为不需要执行ECC校验时,在606,数据存储单元130读取该物理地址处的数据(即,读出数据),并且在607,将所读取的数据发送给数据访问控制装置120。在608,数据访问控制装置120将所得到的数据返回给指令执行装置110,以执行后续数据处理。
在判断为需要执行ECC校验时,在609,数据存储单元130读取该处理地址处的数据以及相关联的ECC校验码,并且在610,数据存储单元130将所读取的数据以及ECC校验码发送给数据访问控制装置120。
在接收到读出数据和ECC校验码后,在611,数据访问控制装置120基于所述读出数据以及所述ECC校验码,进行ECC校验处理。具体地,数据访问控制装置120根据所接收到的读出数据来生成ECC校验码,然后将所生成的ECC校验码与所接收的ECC校验码进行比对。如果两个校验码不相同,则进行解码,以确定数据中的哪些比特不正确。
然后,在612,数据访问控制装置120丢弃错误比特,并且将正确的数据返回给指令执行装置120,以执行后续数据处理。
如上参照图1到图6描述了根据本说明书的实施例的数据访问方法。根据该数据访问方法,通过在执行应用的数据访问时根据应用的数据完整性要求来设置ECC属性信息,并且由数据访问控制装置根据所设置的ECC属性信息来控制对数据存储单元执行不具有ECC校验的数据访问或者具有ECC校验的数据访问,由此可以在无需执行ECC校验处理的数据访问操作时不执行ECC校验处理,从而降低数据访问操作时的系统功耗,并且提升数据访问处理的吞吐量。
图7示出了根据本说明书的实施例的数据访问控制装置700的方框图。如图7所示,数据访问控制装置700包括访问命令获取单元710和数据访问单元720。
访问命令获取单元710被配置为从指令执行装置110获取应用针对数据存储单元的数据访问命令以及ECC属性信息,所述数据访问命令包括待访问的物理地址,所述ECC属性用于指示在进行数据访问操作时是否需要执行ECC校验。访问命令获取单元710的操作可以参考上面参照图4描述的块410的操作。
数据访问单元720被配置为在ECC属性信息指示需要执行ECC校验时,根据物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作,以及在ECC属性信息指示不需要执行ECC校验时,根据物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作。数据访问单元720的操作可以参考上面参照图4描述的块450和460的操作。
如上参照图1到图7,对根据本说明书的实施例的数据访问控制方法及数据访问控制装置进行了描述。上面的数据访问控制装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图8示出了根据本说明书的实施例的用于实现数据访问控制的电子设备800的结构框图。
如图8所示,电子设备800可以包括至少一个处理器810、存储器(例如,非易失性存储器)820、内存830、通信接口840以及内部总线860,并且至少一个处理器810、存储器820、内存830和通信接口840经由总线860连接在一起。该至少一个处理器810执行在计算机可读存储介质中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储有计算机可执行指令,其当执行时使得至少一个处理器810:从指令执行装置获取应用针对数据存储单元的数据访问命令以及ECC属性信息,所述数据访问命令包括待访问的物理地址,所述ECC属性用于指示在进行数据访问操作时是否需要执行ECC校验;在所述ECC属性信息指示需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作,在所述ECC属性信息指示不需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作,其中,所述物理地址通过在所述指令执行装置处对所接收的数据访问指令中的虚拟地址进行转换而得到。
应该理解的是,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器810执行在本说明书的各个实施例中如上结合图1-7描述的各种操作和功能。
根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中如上结合图1-7描述的各种操作和功能。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本说明书的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本公开的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (14)

1.一种数据访问控制方法,包括:
从指令执行装置获取应用针对数据存储单元的数据访问命令以及ECC属性信息,所述数据访问命令包括待访问的物理地址,所述ECC属性用于指示在进行数据访问操作时是否需要执行ECC校验;
在所述ECC属性信息指示需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作,
在所述ECC属性信息指示不需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作,
其中,所述物理地址通过在所述指令执行装置处对所接收的数据访问指令中的虚拟地址进行转换而得到。
2.如权利要求1所述的数据访问控制方法,其中,所述ECC属性信息的属性值根据所述应用在进行数据处理时的数据完整性要求确定。
3.如权利要求1所述的数据访问控制方法,其中,所述ECC属性信息被设置在所述物理地址所在物理页的页面属性字段中。
4.如权利要求1所述的数据访问控制方法,其中,所述ECC属性信息被设置在所述数据访问指令中。
5.如权利要求1所述的数据访问控制方法,其中,所述数据访问命令包括数据写入命令,从指令执行装置获取应用针对数据存储单元的数据访问命令以及ECC属性信息包括:
从指令执行装置获取应用针对数据存储单元的数据写入命令、ECC属性信息以及写入数据,
根据所述物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作包括:
使用所述写入数据来生成ECC校验码;以及
将所述数据写入命令、写入数据以及所述ECC校验码发送给所述数据存储单元,所述数据存储单元根据所述数据写入命令,对所述ECC校验码与所述写入数据执行相关联的写入操作,其中,所述写入数据被写入到所述物理地址,以及
根据所述物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作包括:
将所述数据写入命令和所述写入数据发送给所述数据存储单元,所述数据存储单元根据所述数据写入命令,将所述写入数据写入所述物理地址。
6.如权利要求1所述的数据访问控制方法,其中,所述数据访问命令包括数据读取命令,根据所述物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作包括:
将所述数据读取命令发送给所述数据存储单元,所述数据存储单元根据所述物理地址获取读出数据以及相关联的ECC校验码;
从所述数据存储单元接收所述读出数据以及所述ECC校验码;
基于所述读出数据以及所述ECC校验码,进行ECC校验处理;
将经过ECC校验处理后的读出数据发送给所述指令执行装置,以及
根据所述物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作包括:
将所述数据读取命令发送给所述数据存储单元,所述数据存储单元根据所述物理地址获取读出数据;
从所述数据存储单元接收所述读出数据;
将所述读出数据发送给所述指令执行装置。
7.如权利要求1到6中任一所述的数据访问控制方法,其中,所述应用包括机器学习类应用。
8.一种数据访问控制装置,包括:
访问命令获取单元,从指令执行装置获取应用针对数据存储单元的数据访问命令以及ECC属性信息,所述数据访问命令包括待访问的物理地址,所述ECC属性用于指示在进行数据访问操作时是否需要执行ECC校验;
数据访问单元,在所述ECC属性信息指示需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行具有ECC校验的数据访问操作,以及在所述ECC属性信息指示不需要执行所述ECC校验时,根据所述物理地址来对所述数据存储单元执行不具有ECC校验的数据访问操作,
其中,所述物理地址通过在所述指令执行装置处对所接收的数据访问指令中的虚拟地址进行转换而得到。
9.如权利要求8所述的数据访问控制装置,其中,所述ECC属性信息被设置在所述物理地址所在物理页的页面属性字段中。
10.如权利要求8所述的数据访问控制装置,其中,所述ECC属性信息被设置在所述数据访问指令中。
11.一种数据访问设备,包括:
指令执行装置,将数据访问指令中的虚拟地址转换为物理地址以及获取ECC属性信息;以及
如权利要求8到10中任一所述的数据访问控制装置。
12.一种数据访问系统,包括
如权利要求11所述的数据访问设备;以及
数据存储单元。
13.一种电子设备,包括:
一个或多个处理器,以及
与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1到7中任一项所述的数据访问控制方法。
14.一种机器可读存储介质,存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到7中任一项所述的数据访问控制方法。
CN202010008548.6A 2020-01-06 2020-01-06 数据访问控制方法及装置、数据访问设备及系统 Active CN111209137B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010008548.6A CN111209137B (zh) 2020-01-06 2020-01-06 数据访问控制方法及装置、数据访问设备及系统
PCT/CN2020/132439 WO2021139443A1 (zh) 2020-01-06 2020-11-27 数据访问控制方法及装置、数据访问设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010008548.6A CN111209137B (zh) 2020-01-06 2020-01-06 数据访问控制方法及装置、数据访问设备及系统

Publications (2)

Publication Number Publication Date
CN111209137A true CN111209137A (zh) 2020-05-29
CN111209137B CN111209137B (zh) 2021-09-17

Family

ID=70785931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010008548.6A Active CN111209137B (zh) 2020-01-06 2020-01-06 数据访问控制方法及装置、数据访问设备及系统

Country Status (2)

Country Link
CN (1) CN111209137B (zh)
WO (1) WO2021139443A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021139443A1 (zh) * 2020-01-06 2021-07-15 支付宝(杭州)信息技术有限公司 数据访问控制方法及装置、数据访问设备及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160217A1 (en) * 2003-12-31 2005-07-21 Gonzalez Carlos J. Flash memory system startup operation
CN102640116A (zh) * 2009-09-28 2012-08-15 辉达公司 对外部dram的错误检测和纠正
US20120278681A1 (en) * 2011-04-29 2012-11-01 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
US20140310569A1 (en) * 2013-04-11 2014-10-16 Spansion Llc Restoring ECC syndrome in non-volatile memory devices
CN104813409A (zh) * 2012-09-28 2015-07-29 惠普发展公司,有限责任合伙企业 在存储器错误检测和存储器错误校正之间动态选择
CN104810061A (zh) * 2014-01-28 2015-07-29 旺宏电子股份有限公司 存储器及其操作方法
US20170060682A1 (en) * 2015-08-28 2017-03-02 Kabushiki Kaisha Toshiba Memory device that changes a writable region of a data buffer based on an operational state of an ecc circuit
CN108255633A (zh) * 2016-12-28 2018-07-06 旺宏电子股份有限公司 存储控制方法、存储装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7900120B2 (en) * 2006-10-18 2011-03-01 Micron Technology, Inc. Memory system and method using ECC with flag bit to identify modified data
CN105630418A (zh) * 2015-12-24 2016-06-01 曙光信息产业(北京)有限公司 一种数据存储方法及装置
CN108665939B (zh) * 2017-03-31 2021-01-05 厦门旌存半导体技术有限公司 为存储器提供ecc的方法与装置
CN111209137B (zh) * 2020-01-06 2021-09-17 支付宝(杭州)信息技术有限公司 数据访问控制方法及装置、数据访问设备及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160217A1 (en) * 2003-12-31 2005-07-21 Gonzalez Carlos J. Flash memory system startup operation
CN102640116A (zh) * 2009-09-28 2012-08-15 辉达公司 对外部dram的错误检测和纠正
US20120278681A1 (en) * 2011-04-29 2012-11-01 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
CN104813409A (zh) * 2012-09-28 2015-07-29 惠普发展公司,有限责任合伙企业 在存储器错误检测和存储器错误校正之间动态选择
US20140310569A1 (en) * 2013-04-11 2014-10-16 Spansion Llc Restoring ECC syndrome in non-volatile memory devices
CN104810061A (zh) * 2014-01-28 2015-07-29 旺宏电子股份有限公司 存储器及其操作方法
US20170060682A1 (en) * 2015-08-28 2017-03-02 Kabushiki Kaisha Toshiba Memory device that changes a writable region of a data buffer based on an operational state of an ecc circuit
CN108255633A (zh) * 2016-12-28 2018-07-06 旺宏电子股份有限公司 存储控制方法、存储装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021139443A1 (zh) * 2020-01-06 2021-07-15 支付宝(杭州)信息技术有限公司 数据访问控制方法及装置、数据访问设备及系统

Also Published As

Publication number Publication date
CN111209137B (zh) 2021-09-17
WO2021139443A1 (zh) 2021-07-15

Similar Documents

Publication Publication Date Title
CN112765023B (zh) 测试用例生成方法、装置
CN104169897B (zh) Pci高速地址解码的方法
CN113127378B (zh) 数据读取方法、装置及数据存储设备
CN112804097B (zh) 私有云的部署方法、装置及服务器
CN112328354A (zh) 虚拟机热迁移方法、装置、电子设备及计算机存储介质
EP4390706A1 (en) Embedded vector prefetching method, apparatus and system, and related device
CN111209137B (zh) 数据访问控制方法及装置、数据访问设备及系统
US11227051B2 (en) Method for detecting computer virus, computing device, and storage medium
US20100088541A1 (en) Failure information monitoring apparatus and failure information monitoring method
US10970206B2 (en) Flash data compression decompression method and apparatus
US10372902B2 (en) Control flow integrity
US9639477B2 (en) Memory corruption prevention system
US8645404B2 (en) Memory pattern searching via displaced-read memory addressing
CN109324838B (zh) 单片机程序的执行方法、执行装置及终端
CN111078384A (zh) 核心数据迁移的方法、装置、计算机设备及存储介质
CN114020525B (zh) 故障隔离方法、装置、设备及存储介质
EP2194458A2 (en) Request processing device, request processing system, and access testing method
US11222068B2 (en) Information processing device, information processing method, and data structure
CN114637969A (zh) 目标对象的鉴权方法及装置
CN111984451A (zh) 表格数据的纠错方法、系统、设备及存储介质
CN111857604A (zh) 分组管理映射反查表快速重建方法、装置、设备及介质
CN114860343B (zh) 加速卡速率调整方法、系统、终端及存储介质
CN115827099B (zh) Linux平台的挂钩函数安装方法及装置
CN110795297B (zh) 一种电子设备的测试方法及装置
CN109885614B (zh) 一种数据同步的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant