CN105868125B - 缓冲存储器及用于控制内部存储器数据访问的装置和方法 - Google Patents

缓冲存储器及用于控制内部存储器数据访问的装置和方法 Download PDF

Info

Publication number
CN105868125B
CN105868125B CN201510035868.XA CN201510035868A CN105868125B CN 105868125 B CN105868125 B CN 105868125B CN 201510035868 A CN201510035868 A CN 201510035868A CN 105868125 B CN105868125 B CN 105868125B
Authority
CN
China
Prior art keywords
data
buffer
memory module
interface
memory
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.)
Active
Application number
CN201510035868.XA
Other languages
English (en)
Other versions
CN105868125A (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.)
Lanqi Technology Co., Ltd.
Original Assignee
Acrospeed Inc
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 Acrospeed Inc filed Critical Acrospeed Inc
Priority to CN201510035868.XA priority Critical patent/CN105868125B/zh
Priority to US14/727,876 priority patent/US9836415B2/en
Publication of CN105868125A publication Critical patent/CN105868125A/zh
Application granted granted Critical
Publication of CN105868125B publication Critical patent/CN105868125B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/066User-programmable number or size of buffers, i.e. number of separate buffers or their size can be allocated freely

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种缓冲存储器以及用于控制内部存储器数据访问的装置和方法。缓冲存储器包括:中心缓存器,其通过命令/地址信道耦接到存储器接口以接收命令/地址信号,所述中心缓存器被配置为检测其所接收的命令/地址信号是否属于预定地址空间,以及在所述命令/地址信号属于所述预定地址空间时生成安全读/写信号;以及数据缓存器,其耦接在所述存储器接口与存储模块之间以在这两者之间缓存数据;其中,所述数据缓存器被配置为存储参考数据,其响应于所述安全读/写信号而将其所缓存的数据与所述参考数据进行比较,并且根据所缓存的数据与所述参考数据的比较结果确定是否限制所缓存的数据在所述存储模块与所述存储器接口之间的交互。

Description

缓冲存储器及用于控制内部存储器数据访问的装置和方法
技术领域
本申请涉及存储器技术领域,更具体地,涉及一种具有数据访问控制功能的缓冲存储器以及一种用于控制内部存储器数据访问的装置和方法。
背景技术
互联网技术的迅速发展使得计算机、移动终端等网络设备能够相互连通并进行通信。通过这些相互连通的网络设备,人们能够非常方便地获取信息。然而,在便利信息获取的同时,数据和信息安全问题也日益凸显。联网的设备很容易因偶然或恶意的原因而受到未授权外部设备的攻击,从而造成内部数据的破坏、泄露或更改。
因此,有必要改进现有的计算机或其他电子设备,以提高其数据安全性。
发明内容
本申请的一个目的在于改进现有的计算机或电子设备,以提高其数据安全性和系统的稳定性。
在本申请的一个方面,提供了一种缓冲存储器。该缓冲存储器包括:中心缓存器,其通过命令/地址信道耦接到存储器接口以接收命令/地址信号,所述中心缓存器被配置为检测其所接收的命令/地址信号是否属于预定地址空间,以及在所述命令/地址信号属于所述预定地址空间时生成安全读/写信号;以及数据缓存器,其耦接在所述存储器接口与存储模块之间以在这两者之间缓存数据;其中,所述数据缓存器被配置为存储参考数据,其响应于所述安全读/写信号而将其所缓存的数据与所述参考数据进行比较,并且根据所缓存的数据与所述参考数据的比较结果确定是否限制所缓存的数据在所述存储模块与所述存储器接口之间的交互。
在一些实施例中,所述中心缓存器还被配置为存储所述参考数据,并且控制将所述参考数据转移到所述数据缓存器中。
在一些实施例中,所述数据缓存器包括多个数据缓存单元组,其中每个数据缓存单元组被配置为缓存一部分被缓存的数据,以及存储一部分参考数据,并且将这两部分数据进行比较。
在一些实施例中,所述数据缓存器被配置为当所缓存的数据与所述参考数据不同时限制所缓存的数据在所述存储模块与所述存储器接口之间的交互,以及当所缓存的数据与所述参考数据相同时不限制所缓存的数据在所述存储模块与所述存储器接口之间的交互。
在一些实施例中,所述数据缓存器限制所缓存的数据在所述存储模块与所述存储器接口之间的交互包括:所述数据缓存器被配置为禁止将所缓存的数据进一步地提供给所述存储器接口或所述存储模块;或者所述数据缓存器被配置为用替换数据替换所缓存的数据提供给所述存储器接口或所述存储模块。
在一些实施例中,所述中心缓存器被配置为当所述命令/地址信号不属于所述预定地址空间时生成正常读/写信号;所述数据缓存器被配置为响应于所述正常读/写信号不比较所缓存的数据和所述参考数据,并且进行正常读/写操作。
在一些实施例中,所述中心缓存器包括数据访问接口,通过所述数据访问接口,所述参考数据和/或所述预定地址空间被写入到所述中心缓存器中。
在一些实施例中,所述数据访问接口是加密接口,其被配置为仅允许预定用户或设备对所述中心缓存器的数据访问。
在一些实施例中,所述预定地址空间对应于所述存储模块中用于存储指令的区域。
在一些实施例中,所述存储模块和所述存储器接口符合JEDEC双倍速率同步动态随机存取存储器标准。
在一些实施例中,所述中心缓存器被集成在寄存时钟驱动器中,所述寄存器时钟驱动器被配置为通过数据缓存器控制总线将所述安全读/写信号提供给所述数据缓存器。
在一些实施例中,所述寄存时钟驱动器被配置为通过所述数据缓存器控制总线将所述参考数据写入到所述数据缓存器中。
在一些实施例中,还包括日志记录器,其耦接到所述中心缓存器,用于获取并记录所述缓冲存储器进行安全读/写操作的历史。
在一些实施例中,所述中心缓存器和所述数据缓存器集成在同一芯片中,或者设置在不同的芯片中。
在一些实施例中,所述缓冲存储器与所述存储模块集成在同一电路板上。
在一些实施例中,所述存储模块包括易失性存储器、非易失性存储器或者易失性存储器和非易失性存储器的组合。
在本申请的另一些方面,还提供了一种包括前述方面的缓冲存储器的内部存储器,以及包括该内部存储器的计算机系统、移动终端或者其他电子设备。
在本申请的另一方面,还提供了一种用于控制内部存储器数据访问的装置。该装置包括:控制器,其耦接到中央处理器以接收数据访问信号,其中所述数据访问信号包括数据访问命令和对应于内部存储器存储模块中目标存储位置的目标地址,所述控制器被配置为检测所述目标地址是否属于预定地址空间,以及在所述目标地址属于所述预定地址空间时生成安全访问信号;数据接口,其耦接在所述中央处理器与所述内部存储器存储模块之间,并且耦接到所述控制器以在其控制下在所述中央处理器与所述内部存储器存储模块之间交互数据;其中,所述数据接口被配置为响应于所述安全访问信号而从所述中央处理器与所述内部存储器存储模块中的一个获取待交互数据,将所述待交互数据与参考数据进行比较,并且根据比较结果确定是否限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个转移。
在一些实施例中,所述数据接口包括:参考数据存储模块,其用于存储所述参考数据;数据缓存模块,其耦接在所述中央处理器与所述内部存储器存储模块之间,用于缓存所述待交互的数据;以及数据比较模块,其用于比较所述参考数据与所述待交互数据。
在一些实施例中,所述数据接口被配置为当所述待交互数据与所述参考数据不同时限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个的转移,以及当所述待交互数据与所述参考数据相同时不限制所述转移。
在一些实施例中,所述数据接口限制所述待交互数据的转移包括:所述数据接口被配置为禁止将所述待交互数据提供给所述中央处理器和所述内部存储器存储模块中的另一个;或者所述数据接口被配置为用替换数据替换所述待交互数据提供给所述中央处理器和所述内部存储器存储模块中的另一个。
在一些实施例中,所述控制器被配置为当所述目标地址不属于所述预定地址空间时生成正常访问信号;所述数据接口被配置为响应于所述正常访问信号不比较所述待交互数据和所述参考数据,并且进行正常访问操作。
在一些实施例中,所述预定地址空间对应于所述内部存储模块中用于存储指令的区域。
在一些实施例中,所述控制器包括数据访问接口,通过所述数据访问接口,所述参考数据和/或所述预定地址空间被写入到所述控制器中。
在一些实施例中,所述数据访问接口是加密接口,其被配置为仅允许授权用户或设备对所述控制器的数据访问。
在一些实施例中,所述内部存储器符合JEDEC双倍速率同步动态随机存取存储器标准。
在本申请的另一些方面,还提供了一种包括前述方面的用于控制内部存储器数据访问的装置的内部存储器,以及包括该内部存储器的计算机系统和移动终端。
在本申请的另一个方面,还提供了一种用于控制中央处理器对内部存储器数据访问的方法。该方法包括:接收数据访问信号,其中所述数据访问信号包括数据访问命令和对应于内部存储器存储模块中目标存储位置的目标地址;检测所述目标地址是否属于预定地址空间,在所述目标地址属于所述预定地址空间时生成安全访问信号;响应于所述安全访问信号,从中央处理器与内部存储器存储模块中的一个获取待交互数据,将所述待交互数据与参考数据进行比较;以及根据所述待交互数据与所述参考数据的比较结果确定是否限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个转移。
在实际应用中,本申请的用于控制内部存储器数据访问的装置和方法通过设置安全读/写操作机制来避免对内部存储器的未授权数据访问,从而有效地解决数据泄露等问题。例如,参考数据可以是被允许访问内部存储器的指令的集合。在进行安全读/写操作时,如果待交互的指令(数据)与该参考数据一致,则意味着待交互的指令(数据)是被允许的指令。在此情况下,可以允许中央处理器调用、访问该被允许的指令。然而,如果待交互的指令(数据)是不被允许的指令,例如不为系统所知的“后门”指令,则中央处理器无法调用、访问该不被允许的指令,也即无法执行该指令。这可以避免执行该指令所带来的未知处理和数据风险,从而提高计算机系统的安全性和稳定性。
以上为本申请的概述,可能有简化、概括和省略细节的情况,因此本领域的技术人员应该认识到,该部分仅是示例说明性的,而不旨在以任何方式限定本申请范围。本概述部分既非旨在确定所要求保护主题的关键特征或必要特征,也非旨在用作为确定所要求保护主题的范围的辅助手段。
附图说明
通过下面说明书和所附的权利要求书并与附图结合,将会更加充分地清楚理解本申请内容的上述和其他特征。可以理解,这些附图仅描绘了本申请内容的若干实施方式,因此不应认为是对本申请内容范围的限定。通过采用附图,本申请内容将会得到更加明确和详细地说明。
图1是一种现有服务器架构的示意图;
图2示出了根据本申请一个实施例的用于控制内部存储器数据访问的装置100;
图3示出了根据本申请一个实施例的缓冲存储器200;
图4示出了图3中的数据缓存单元组进行安全写入操作的时序图;
图5示出了图4中的数据缓存单元组进行安全读取操作的时序图;
图6示出了根据本申请一个实施例的用于控制内部存储器数据访问的方法300。
具体实施方式
在下面的详细描述中,参考了构成其一部分的附图。在附图中,类似的符号通常表示类似的组成部分,除非上下文另有说明。详细描述、附图和权利要求书中描述的说明性实施方式并非旨在限定。在不偏离本申请的主题的精神或范围的情况下,可以采用其他实施方式,并且可以做出其他变化。可以理解,可以对本申请中一般性描述的、在附图中图解说明的本申请内容的各个方面进行多种不同构成的配置、替换、组合,设计,而所有这些都明确地构成本申请内容的一部分。
本申请的发明人发现,对于计算机系统、移动终端或其他智能化电子设备而言,内存接口是其系统架构中的关键接口。图1是一种现有计算机系统架构的示意图。如图1所示,该计算机系统10(例如服务器)采用了2个中央处理器12,其通过QPI总线14进行通信。对于每个中央处理器12,其通过内存接口16(例如,DDR3、DDR4接口等)连接内部存储器18,通过PCIE接口20连接以太网接口22(进而连接到互联网),以及通过DMI接口24连接主板芯片26。其中,主板芯片26提供了例如SAS接口28、SATA接口30、USB接口32等,以连接低速组件(图中未示出)。
当计算机系统10正常运行时,程序运行所依赖的指令和非指令数据均被存储到内部存储器18中。因此,对于图1所示的计算机系统10所进行的数据传输操作,其通常都需要由中央处理器12经由内存接口16访问内部存储器18来实现。本申请的发明人发现,可以通过在内存接口16中设置访问控制机制来限制来自中央处理器12的数据访问命令(例如,读、写命令或其他控制命令)对内部存储器18的访问,从而避免内部存储器18中的数据未经授权地调用或修改。在本申请的一些实施例中,在内存接口16的缓冲存储器中设置了新的访问控制机制。
图2示出了根据本申请一个实施例的用于控制内部存储器数据访问的装置100。该装置100可以被设置在中央处理器101和内部存储器的存储模块103之间,以在这两者之间交互数据。其中,内部存储器可以是符合JEDEC双倍速率同步动态随机存取存储器(SDRAM)标准的内部存储器,包括JEDEC DDR1、DDR2、DDR3、DDR4以及其他双倍速率存储器标准。此外,内部存储器也可以是符合其他标准或协议的内部存储器,例如SDRAM或RAMBUS内部存储器。在一些实施例中,内部存储器的存储模块103可以包括易失性存储器(例如随机存储器)、非易失性存储器(快闪存储器)或者这两者的组合。此外需要说明的是,在此所述的存储模块可以是一颗内存颗粒,也可以包括两颗或更多颗内存颗粒。
如图2所述,该装置100包括控制器111,其耦接到中央处理器101以接收数据访问信号,其中该数据访问信号包括数据访问命令和对应于内部存储器存储模块103中目标存储位置的目标地址。该控制器111检测目标地址是否属于预定地址空间。当检测到目标地址属于预定地址空间时,控制器111生成安全访问信号。安全访问信号的生成意味着需要对该数据访问进行相应的安全检查,以确定是否存在数据安全的风险。在一些实施例中,当检测到目标地址不属于预定地址空间时,控制器111生成正常访问信号。正常访问信号也即通常指示内部存储器进行读、写操作或其他操作时所采用的信号。正常访问信号的生成意味着不需要对数据访问进行安全检查。
该装置100还包括数据接口113,其耦接在中央处理器101和内部存储器存储模块103之间,并且耦接到控制器111以在其控制下在中央处理器101和内部存储器存储模块103之间交互数据。例如,经由该数据接口113将数据从中央处理器101转移到内部存储器存储模块103中,也即数据写入操作;或者经由该数据接口113将数据从内部存储器存储模块103转移到中央处理器101中,也即数据读取操作。
响应于安全访问信号,数据接口113从中央处理器101和内部存储器103中的一个获取待交互数据,将该待交互数据与参考数据进行比较,并且根据该比较结果确定是否限制待交互数据向中央处理器101和内部存储器存储模块103中的另一个转移。
数据接口113可以包括数据缓存模块131,其被耦接在中央处理器101和内部存储器存储模块103之间,用于缓存数据接口113所获取的待交互数据。在一些例子中,数据缓存模块131可以包括一个数据缓存单元组,其包括例如8位、16位、32位、64位或更多位的数据缓存单元。数据缓存单元组的位数取决于中央处理器101所采用的数据格式。在一些例子中,数据缓存模块131可以包括多个数据缓存单元组,其中每个数据缓存单元组包括例如4位、8位或更多位的数据缓存单元。这些数据缓存单元组的总和位数对应于中央处理器101所采用的数据格式。例如,中央处理器101是32位的处理器,则数据缓存模块131可以缓存32位或更多位数据(其中某些位为数据校验位)。相应地,数据缓存模块131可以由例如8个4位数据缓存单元组或4个8位数据缓存单元组构成,以缓存32位的数据。
参考数据可以存储在数据接口113中。例如数据接口113中可以设置参考数据存储模块133来存储参考数据。参考数据具体定义了希望被限制的数据,例如某些特定的指令。参考数据的格式和位数可以与待交互数据相同。这样,参考数据可以被与待交互数据逐位地进行比较,以确定其是否相同。相应地,数据接口113可以包括数据比较模块135,以用于比较参考数据和待交互数据,并且输出相应的比较结果。该装置100可以根据比较结果确定是否限制待交互数据进一步的转移。需要说明的是,参考数据可能对应于多个数据,因此参考数据可以是一个数据集合。例如,对于32位的参考数据,其中可能仅有部分位是“0”或“1”,而其他位则为任意值。在此情况下,数据接口113可以仅比较待交互数据和参考数据中值为“0”或“1”的部分位。
在一些例子中,参考数据可以是“白名单”,也即安全数据(访问不受限的数据)的列表。在这种情况下,当待交互数据与参考数据相同时,数据接口113认为这些数据是安全的、可访问的。相应地,数据接口113不限制其所获取的待交互数据的进一步转移。在另一些例子中,参考数据可以是“黑名单”,也即访问受限的数据的列表。在这种情况下,当待交互数据与参考数据相同时,数据接口113限制其所获取的待交互数据的进一步转移。
数据接口113可以采用多种方式来限制所获取的待交互数据的进一步转移。例如,数据接口113可以禁止将所获取的待交互转移继续提供给中央处理器101或内部存储器存储模块103。又例如,数据接口113也可以预先存储一替换数据,并且用替换数据替换待交互数据,以将该替换数据提供给中央处理器101或内部存储器存储模块103。
在一些实施例中,参考数据可以通过控制器111写入到数据接口113中,或者在控制器111的控制下由中央处理器101写入到数据接口113中。优选地,参考数据可以通过控制器111写入到数据接口113中。控制器111可以具有一个数据访问接口121,通过该数据访问接口121,参考数据、预定地址空间以及其他有关于数据访问控制的信息,例如地址和数据的比较规则,可以被写入到控制器111中。该数据访问接口121可以是加密接口,其可以包括一用于验证用户或设备的模块,从而能够仅允许授权用户或设备对控制器111进行数据访问。这使得参考数据、预定地址空间等仅能由授权用户或设备进行修改和设置,从而大大提高了系统的安全性和稳定性。在实际应用中,参考数据、预定地址空间等信息可以根据不同的中央处理器来进行设置和调整,特别是根据这些中央处理器所使用的指令集进行设置。例如,对于Intel公司提供的某些中央处理器,其对应的参考数据等可以等不同于ARM公司提供的微处理器。
对于内部存储器的存储模块103,其通常有一部分存储区域可以被用于存储指令,而另一部分则被用于存储非指令数据,例如静态数据。根据目标地址,即可确定存储模块103中的哪个存储区域中的存储单元正在被访问。出于实际应用的考虑,例如出于系统安全考虑,可以根据仅允许存储指令的区域被访问。相应地,参考数据对应于被允许读取或写入的一条或多条指令。换言之,参考数据对应了被允许访问内部存储器的系统指令的集合。例如,如果数据接口113获取的待交互指令(数据)与该参考数据一致,则意味着该指令(数据)是被允许的指令。在此情况下,数据接口113可以允许中央处理器101调用、访问该被允许的指令。然而,如果待交互指令(数据)是不被允许的指令,例如不为系统所知的“后门”指令,则中央处理器101无法调用、访问该不被允许的指令,也即无法执行该指令。这可以避免执行该指令所带来的未知处理和数据风险,从而提高系统安全性。
在实际应用中,图2所示的装置100所包括的控制器111和数据接口113可以集成在同一芯片中,或者被设置在不同的芯片。在一些例子中,该装置100可以与内部存储器的存储模块一同集成在内部存储器中,也即设置在同一个电路板上。在一些例子中,该装置100可以集成到内部存储器的缓冲存储器中。
图3示出了根据本申请一个实施例的缓冲存储器200。该缓冲存储器200即集成了图2所述的控制内部存储器数据访问的装置100。
具体地,该缓冲存储器200可以被设置在中央处理器201和内部存储器(动态随机存取存储器)存储模块203之间,以在这两者之间交互数据。具体地,缓冲存储器200可以通过存储器接口205耦接到中央处理器201。在一些实施例中,缓冲存储器200可以被应用于符合JEDEC双倍速率同步动态随机存取存储器标准的内部存储器中。例如,缓冲存储器200可以被应用于JEDEC LPDDR3或LPDDR4标准的内部存储器中。在接下来的实施例中,缓冲存储器200被示例地结合采用JEDEC DDR4标准的内部存储器进行说明,但是本领域技术人员可以理解这并非对缓冲存储器200应用方式的限制。
如图3所示,该缓冲存储器200包括中心缓存器211(其具有图2所示的控制器功能)和数据缓存器213(其具有图2所示的数据接口的功能)。其中,中心缓存器211通过命令/地址(Command/Address,C/A)信道215耦接到存储器接口205以接收命令/地址信号。该命令/地址信号通常是由中央处理器201提供的。对于DDR4标准的存储器接口205,该命令/地址信道215可以包括管脚A0-A17、管脚BG0-BG1和/或管脚BA0-BA1。其中,管脚BG0-BG1用于确定存储模块203中的哪个存储体组(Memory Bank Group)被处理,例如被写入或被读取;管脚BA0-BA1用于确定存储模块203中的哪个存储体(Memory Bank)被处理;而管脚A0-A17则用于寻址并确定一个存储体中的哪一个存储单元被处理。此外,A16(RAS_n)、A15(CAS_n)以及A14(WE_n)这三个管脚的输入还用于确定被输入的命令,例如读取命令、写入命令以及其他被预先定义的控制命令。在一些实施例中,中心缓存器211可以是独立的控制单元;在另一些实施例中,中心缓存器211也可以被集成在寄存时钟驱动器(Registering ClockDriver)中并作为其一部分。
中心缓存器211可以检测其所接收的命令/地址信号是否属于预定地址空间,并且其在命令/地址信号属于预定地址空间时生成安全读/写信号。
具体地,存储模块203可以包括多个存储单元组203i,其中每个存储单元组203i都具有多个存储单元。存储模块203的每个存储单元都具有唯一对应的地址。不同地址的存储单元可以存储不同的数据。在许多情况下,存储模块203可以根据操作系统的需求而被划分为不同的存储区域,每个存储区域被指定用于存储某一类或某几类数据。例如,存储模块203的一部分存储区域可以被用于存储指令,而另一部分则被用于存储非指令数据,例如静态数据。根据命令/地址信号中包含的目标地址,即可确定存储模块203中的哪个存储区域中的存储单元正在被访问。出于实际应用的考虑,例如出于数据安全考虑,计算机系统的管理者可能希望对存储模块203某些区域内的存储单元的访问是受限的。相应地,可以预先确定一地址空间,该地址空间对应于希望访问受限的存储区域。例如,该预先确定的地址空间可以是存储模块中用于存储指令的区域。
当中心缓存器211检测到其所接收到的命令/地址信号属于该预定地址空间后,也即该命令/地址信号中的目标地址属于该预定地址,其即明确访问可能是受限的。相应地,中心缓存器211可以生成安全读/写信号。具体地,当命令/地址信号中包含的命令是读取操作时,中心缓存器211可以生成安全读取信号,而当命令/地址信号中包含的命令是写入操作时,中心缓存器211可以生成安全写入信号。相比于正常读/写信号,数据缓存器213对安全读/写信号的响应是不同的。数据缓存器213对安全读/写信号的响应将在下文中详述。相反,当中心缓存器211检测到其所接收到的命令/地址信号不属于预定地址空间后,其即可确定访问是不受限的。在此情况下,中心缓存器211可以生成正常读/写信号,以进行指示数据缓存器213向存储模组203进行正常的读/写操作。
中心缓存器211与数据缓存器213之间可以通过数据缓存器控制总线217(BCOM)进行通信。具体地,中心缓存器211将安全读/写信号、正常读/写信号或其他控制信号通过数据缓存器控制总线217下发给数据缓存器213。在一些符合DDR4标准的缓冲存储器中,例如澜起科技提供的M88DDR4DB01和M88DDR4RCD01芯片(关于这些芯片的技术信息,可以参考其产品技术手册,这些产品技术手册的全部内容通过引用方式并入本申请),数据缓存器控制总线217可以是4位信号线,其可以对至少8个指令进行编码。表1即示出了通过数据缓存器控制总线217传输的指令编码表。其中,编码“1000”和“1001”分别对应于正常写入命令和正常读取命令;而编码“1110”和“1111”则分别对应于安全写入命令(信号)和安全读取命令(信号)。
命令 BCOM[3:0]编码
正常写入 1000
正常读取 1001
MRS写入 1011
BCW写入 1100
BCW读取 1101
安全写入 1110
安全读取 1111
NOP(不操作) 1010
表1
数据缓存器213耦接在存储器接口205与存储模块203之间,以在这两者之间缓存数据。具体地,数据缓存器213从存储器接口205接收来自中心处理器201的数据,缓存该数据,并且进一步地将所缓存的数据转移到存储模块203中;另一方面,数据缓存器213从存储模块203中获取数据,缓存该数据,并且进一步地将所缓存的数据转移到存储器接口205处,进而由存储器接口205再提供给中心处理器201。数据缓存器213所缓存的单位数据至少包括每个存储单元中存储的数据的所有位。以图3所示的实施例为例,存储模块203的每个存储单元是64位存储单元;相应地,数据缓存器213包括9个数据缓存单元组,其中每个数据缓存单元组包括8个数据缓存单元以缓存8位数据,因而数据缓存器213的单位数据是72位。这72位中包括8位校验位,剩余的64位正好与存储模块203的存储单元的位数一致。简言之,对于采用分布式结构的数据缓存器213,其可以包括多个数据缓存单元组,其中每个数据缓存单元组被配置为缓存一部分被缓存的数据,以及存储一部分参考数据,并且将这两部分数据进行比较。可以理解,在一些例子中,数据缓存器213也可以不采用分布式结构,也即每个数据缓存器213仅包括一个数据缓存单元组。
数据缓存器213可以存储参考数据。该参考数据的位数应与存储模块203中每个存储单元中存储的数据的位数相同。该参考数据表示了希望由缓冲存储器200比较或过滤的数据内容。当数据缓存器211接收到安全读/写信号后,其响应于该安全读/写信号而将其所缓存的数据与参考数据进行比较,并且根据所缓存的数据与参考数据的比较结果确定是否限制所缓存的数据在存储模块203与存储器接口205之间的进一步交互。
以安全写入操作的执行为例,对数据缓存器213的运行进行进一步说明。当数据缓存器-213接收到安全写入信号后,响应于该安全写入信号,数据缓存器213从存储器接口205接收待写入的数据。该数据被缓存到数据缓存器213中,具体地,缓存到各个数据缓存单元组中。接着,每个数据缓存单元组将缓存到其中的数据与其中预先存储的参考数据进行比较。如果每个数据缓存单元组缓存的数据与参考数据相同,则认为该数据内容是安全的,因而可以继续数据交互的操作。相应地,数据缓存器211可以将其所缓存的数据进一步转移到存储模块203中,从而完成该数据的写入。相反,如果至少一个数据缓存单元组缓存的数据与参考数据不同,则意味着该数据内容不安全,需要限制该数据交互的操作。相应地,数据缓存器213可以禁止将所缓存的数据进一步地提供给存储模块203;或者替换地,数据缓存器211可以将一预先确定的替换数据提供给存储模块203并写入其中。
类似地,数据缓存器213可以禁止将所缓存的数据进一步地提供给存储器接口205;或者替换地,数据缓存器213可以将一预先确定的替换数据提供给存储器接口205。
图4示出了图3中的数据缓存单元组进行安全写入操作的时序图。如图4所示,在数据缓存器控制总线BCOM接收到安全写入信号,以及后续的DAT0信号(指示选择存储体)和PAR信号(指示对安全写入信号和数据进行奇偶校验)后,在时刻T1,数据缓存单元组在其DQ[3:0]端口开始接收待写入的数据。接着,在时刻T2,数据缓存单元组开始将其所缓存的待写入数据与参考数据进行比较。如果比较确定所缓存的待写入数据与参考数据相同,则在时刻T3,数据缓存单元组继续将待写入数据通过其MDQ[3:0]端口输出,进而提供给存储模块。
数据缓存单元组也可以响应于正常写入命令而进行正常写入操作,其差别仅在于不在时刻T2进行数据比较操作。此外,在正常写入操作时,DQ[3:0]端口接收数据与MDQ[3:0]端口输出数据的时间间隙与安全写入操作的时间间隙T3-T1相同。因此,对于存储模块而言,正常写入操作和安全写入操作的处理是相同的,这使得本申请实施例的数据缓存器能够很好地兼容现有的存储模块。
安全读取操作可以以类似地方式进行。具体地,当数据缓存器211接收到安全读取信号后,响应于该安全读取信号,数据缓存器211从存储模块203接收待读取的数据。该数据被缓存到数据缓存器211中。数据缓存器211将被缓存的数据与参考数据进行比较。当所缓存的数据与参考数据不同时,数据缓存器211限制该数据交互的操作,例如禁止将所缓存的数据进一步提供给存储器接口205,或者将替换数据提供给存储器接口205。当所缓存的数据与参考数据相同时,数据缓存器211可以继续数据交互的操作,将所缓存的数据提供给存储器接口205。
图5示出了图3中数据缓存单元组进行安全读取操作的时序图。如图5所示,在数据缓存器控制总线BCOM接收到安全读取信号,以及后续的DAT0信号(指示选择存储体)和PAR信号(指示对安全读取信号和数据进行奇偶校验)后,在时刻T4,数据缓存单元组在其MDQ[3:0]端口开始接收待读取的数据。接着,在时刻T5,数据缓存单元组开始将其所缓存的待读取数据与参考数据进行比较。如果比较确定所缓存的待读取数据与参考数据相同,则在时刻T6,数据缓存单元组继续将待读取数据通过其DQ[3:0]端口输出,进而提供给存储器接口。
需要说明的是,上述安全读/写操作的实现是以“白名单”为例进行的,也即被缓存的数据与参考数据相同则继续数据交互操作。在实际应用中,安全读/写操作的实现也可以以“黑名单”的方式进行。具体地,当被缓存的数据与参考数据相同则限制数据交互操作,而当被缓存的数据与参考数据不同时则继续数据交互操作。在此不再赘述。
在实际应用中,在缓冲存储器中设置上述安全读/写操作机制可以避免对存储模块的未授权数据访问,从而有效地解决数据泄露、系统安全等问题。在一些例子中,计算机系统、移动终端或其他电子设备的管理者可以根据其允许的一个或多个指令来确定参考数据的具体内容。换言之,参考数据对应了被允许访问存储器系统的指令的集合。在进行安全读/写操作时,如果缓冲存储器所缓存的指令(数据)与该参考数据一致,则意味着所缓存的指令(数据)是被允许的指令。在此情况下,缓冲存储器可以允许中央处理器调用、访问该被允许的指令。然而,如果所缓存的指令(数据)是不被允许的指令,例如不为系统所知的“后门”指令,则中央处理器无法调用、访问该不被允许的指令,也即无法执行该指令。这可以避免执行该指令所带来的未知处理和数据风险,从而提高计算机系统的安全性。
需要说明的是,由于参考数据可能对应于多个数据,因此参考数据可以是一个数据集合。例如,对于64位的参考数据,其中可能仅有部分位是“0”或“1”(例如第63至56位和第7至0位),而其他位则为任意值。在此情况下,数据缓存器可以仅比较所缓存的数据和参考数据中值为“0”或“1”的部分位,并根据这部分的比较结果确定是否需要继续进一步的数据交互。
仍如图3所示,参考数据、预定地址空间以及安全读/写操作的规则可以首先写入到中心缓存器211中,例如在缓冲存储器200初始化时写入到中心缓存器211中。在一些实施例中,参考数据、预定地址空间以及安全读/写操作的规则也可以预先写入到中心缓存器211中,例如中心缓存器211中提供一可编程只读存储器(PROM)来存储这些数据。中心缓存器211中可以包括状态机和控制逻辑来具体执行安全读/写操作的规则。中心缓存器211可以具有数据访问接口219以写入上述数据信息。在一些实施例中,数据访问接口219可以是与中央处理器201可访问的接口在物理上相互隔离的接口。例如,数据访问接口可以是系统管理访问总线(System Management Access Bus,SM Bus)。系统管理访问总线通常连接有串行存在探测(Serial Presence Detect,SPD)设备。优选地,数据访问接口219还可以是加密接口,例如可以提供一身份验证模块221,其用于检测通过数据访问接口访问中心缓存器211的设备或用户是否是预先确定的授权用户或设备,只有确定访问设备或用户是授权用户或设备的情况下,数据访问接口219才允许该授权用户或设备对中心缓存器的数据访问。这样,参考数据、预定地址空间以及安全读/写操作规则的安全性可以大大提高。在一些实施例中,参考数据、预定地址空间以及安全读/写操作规则可以预先存储在与数据访问接口219相连的存储器223中,该存储器223例如是快闪存储器或其他非易失性存储器。此外,该存储器223可以由外部设备访问,以供系统的管理者修改、更新参考数据、预定地址空间以及安全读/写操作的规则等信息。
在一些实施例中,可以为缓冲存储器200设置开/关机制。例如,在中心缓存器211初始化之前,可以通过数据访问接口219向中心缓存器211发送命令,以指示其是否需要执行安全读/写机制。此外,还可以为缓冲存储器200设置重置机制。例如,在中心缓存器211初始化之后,可以通过数据访问接口219向中心缓存器211发送命令,以指示其重新初始化。中心缓存器211可以从存储器223中获取更新的参考数据等信息,以实现安全读/写机制的更新或重置。
在一些实施例中,缓冲存储器200可以提供多个安全读/写操作的规则以及对应的参考数据和预定地址空间,其中每个规则对应于一种中央处理器架构,而参考数据则对应于该中央处理器架构所采用的指令集。缓冲存储器200可以检测当前所耦接的中央处理器201的架构、型号或特性,并且根据检测结果的不同来选择初始化对应的安全读/写操作的规则、预定地址空间和参考数据。这样,缓冲存储器200能够自动地配合不同的中央处理器来实现安全读/写操作,其使用也更加灵活。
参考数据可以从中心缓存器211进一步转移到数据缓存器213中,并且存储在数据缓存器213中,例如存储在数据缓存器213的寄存器中。在一些实施例中,参考数据可以通过数据缓存器控制总线写入到数据缓存器213中。例如,可以通过使得缓冲存储器200工作于逐个DRAM可寻址(Per DRAM Addressability,PDA)模式来控制向数据缓存器213中的每个数据缓存单元组写入参考数据。此外,每个数据缓存单元组中需要提供比较器,来比较参考数据与被缓存的数据。
在一些实施例中,缓冲存储器200还可以包括日志记录器,其用于记录缓冲存储器200进行安全读/写操作的历史。日志记录器可以集成在存储器223中。例如,日志记录器可以记录一段时间内安全读/写操作的发生次数,以及中央处理器201对存储模块203中哪些地址的访问触发了安全读/写操作等。该日志记录器可以耦接到中心缓存器211,例如通过数据访问接口219耦接中心缓存器211,并与其进行数据交互。授权的外部设备或中心缓存器211也可以访问该日志记录器,从而获取其中存储的安全读/写操作的历史。在一些例子中,日志记录器也可以被设置在中心缓存器211中。
需要说明的是,对于本申请的实施例,缓冲存储器可以仅具有安全读取机制和安全写入机制中的一种,或者同时具有安全读取机制和安全写入机制。例如,对于仅具有安全读取机制的缓冲存储器,但其接收到的命令/地址信号中包括的命令为写入命令时,缓冲存储器不检测该命令/地址信号是否属于预定地址空间,也不执行后续的安全读/写操作。类似地,对于仅具有安全写入机制的缓冲存储器,但其接收到的命令/地址信号中包括的命令为读取命令时,缓冲存储器不检测该命令/地址信号是否属于预定地址空间,也不执行后续的安全读/写操作。
图6示出了根据本申请一个实施例的用于控制中央处理器对内部存储器数据访问的方法300。该数据访问控制方法300可以由例如图2所示的装置100或图3所示的缓冲存储器200执行。
如图6所示,在步骤S302,接收数据访问信号,其中所述数据访问信号包括数据访问命令和对应于内部存储器存储模块中目标存储位置的目标地址。接着,在步骤S304,检测所述目标地址是否属于预定地址空间,在所述目标地址属于所述预定地址空间时生成安全访问信号。之后,在步骤S306,响应于所述安全访问信号,从中央处理器与内部存储器存储模块中的一个获取待交互数据,将所述待交互数据与参考数据进行比较。接下来,在步骤S308中,根据所述待交互数据与所述参考数据的比较结果确定是否限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个转移。
在一些实施例中,根据所述待交互数据与所述参考数据的比较结果确定是否限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个转移的步骤包括:当所述待交互数据与所述参考数据不同时限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个的转移;以及当所述待交互数据与所述参考数据相同时不限制所述转移。
在一些实施例中,所述限制所述待交互数据的转移包括:禁止将所述待交互数据提供给所述中央处理器和所述内部存储器存储模块中的另一个;或者用替换数据替换所述待交互数据提供给所述中央处理器和所述内部存储器存储模块中的另一个。
在一些实施例中,所述方法还包括:当所述目标地址不属于所述预定地址空间时生成正常访问信号;以及响应于所述正常访问信号,不比较所述待交互数据和所述参考数据,并且进行正常数据访问操作。
在一些实施例中,所述预定地址空间对应于所述内部存储器存储模块中用于存储指令的区域。
应当注意,尽管在上文详细描述中提及了用于控制内部存储器数据交互的装置、以及缓冲存储器的若干模块或子模块,但是这种划分仅仅是示例性的而非强制性的。实际上,根据本申请的实施例,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
那些本技术领域的一般技术人员可以通过研究说明书、公开的内容及附图和所附的权利要求书,理解和实施对披露的实施方式的其他改变。在权利要求中,措词“包括”不排除其他的元素和步骤,并且措辞“一”、“一个”不排除复数。在本申请的实际应用中,一个零件可能执行权利要求中所引用的多个技术特征的功能。权利要求中的任何附图标记不应理解为对范围的限制。

Claims (37)

1.一种缓冲存储器,其特征在于,包括:
中心缓存器,其通过命令/地址信道耦接到存储器接口以接收命令/地址信号,所述中心缓存器被配置为检测其所接收的命令/地址信号是否属于预定地址空间,以及在所述命令/地址信号属于所述预定地址空间时生成安全读/写信号,其中所述预定地址空间对应于存储模块中用于存储指令的区域;以及
数据缓存器,其耦接在所述存储器接口与存储模块之间以在这两者之间缓存数据;其中,所述数据缓存器被配置为存储参考数据,其响应于所述安全读/写信号而将其所缓存的数据与所述参考数据进行比较,并且根据所缓存的数据与所述参考数据的比较结果确定是否限制所缓存的数据在所述存储模块与所述存储器接口之间的交互。
2.根据权利要求1所述的缓冲存储器,其特征在于,所述中心缓存器还被配置为存储所述参考数据,并且控制将所述参考数据转移到所述数据缓存器中。
3.根据权利要求1所述的缓冲存储器,其特征在于,所述数据缓存器包括至少一个数据缓存单元组,其中每个数据缓存单元组被配置为缓存一部分被缓存的数据,以及存储一部分参考数据,并且将这两部分数据进行比较。
4.根据权利要求1所述的缓冲存储器,其特征在于,所述数据缓存器被配置为当所缓存的数据与所述参考数据不同时限制所缓存的数据在所述存储模块与所述存储器接口之间的交互,以及当所缓存的数据与所述参考数据相同时不限制所缓存的数据在所述存储模块与所述存储器接口之间的交互。
5.根据权利要求4所述的缓冲存储器,其特征在于,所述数据缓存器限制所缓存的数据在所述存储模块与所述存储器接口之间的交互包括:
所述数据缓存器被配置为禁止将所缓存的数据进一步地提供给所述存储器接口或所述存储模块;或者
所述数据缓存器被配置为用替换数据替换所缓存的数据提供给所述存储器接口或所述存储模块。
6.根据权利要求1所述的缓冲存储器,其特征在于,所述中心缓存器被配置为当所述命令/地址信号不属于所述预定地址空间时生成正常读/写信号;所述数据缓存器被配置为响应于所述正常读/写信号不比较所缓存的数据和所述参考数据,并且进行正常读/写操作。
7.根据权利要求1所述的缓冲存储器,其特征在于,所述中心缓存器包括数据访问接口,通过所述数据访问接口,所述参考数据和/或所述预定地址空间被写入到所述中心缓存器中。
8.根据权利要求7所述的缓冲存储器,其特征在于,所述数据访问接口是加密接口,其被配置为仅允许授权用户或设备对所述中心缓存器的数据访问。
9.根据权利要求1所述的缓冲存储器,其特征在于,所述存储模块和所述存储器接口符合JEDEC双倍速率同步动态随机存取存储器标准。
10.根据权利要求9所述的缓冲存储器,其特征在于,所述中心缓存器被集成在寄存时钟驱动器中,所述寄存时钟驱动器被配置为通过数据缓存器控制总线将所述安全读/写信号提供给所述数据缓存器。
11.根据权利要求10所述的缓冲存储器,其特征在于,所述寄存时钟驱动器被配置为通过所述数据缓存器控制总线将所述参考数据写入到所述数据缓存器中。
12.根据权利要求1所述的缓冲存储器,其特征在于,还包括日志记录器,其耦接到所述中心缓存器,用于获取并记录所述缓冲存储器进行安全读/写操作的历史。
13.根据权利要求1所述的缓冲存储器,其特征在于,所述中心缓存器和所述数据缓存器集成在同一芯片中,或者设置在不同的芯片中。
14.根据权利要求1所述的缓冲存储器,其特征在于,所述缓冲存储器与所述存储模块集成在同一电路板上。
15.根据权利要求1所述的缓冲存储器,其特征在于,所述存储模块包括易失性存储器、非易失性存储器或者易失性存储器和非易失性存储器的组合。
16.一种内部存储器,其包括根据权利要求1至15中任一项所述的缓冲存储器。
17.一种计算机系统,其包括根据权利要求16所述的内部存储器。
18.一种移动终端,其包括根据权利要求16所述的内部存储器。
19.一种用于控制内部存储器数据访问的装置,其特征在于,包括:
控制器,其耦接到中央处理器以接收数据访问信号,其中所述数据访问信号包括数据访问命令和对应于内部存储器存储模块中目标存储位置的目标地址,所述控制器被配置为检测所述目标地址是否属于预定地址空间,以及在所述目标地址属于所述预定地址空间时生成安全访问信号,其中所述预定地址空间对应于所述内部存储器存储模块中用于存储指令的区域;
数据接口,其耦接在所述中央处理器与所述内部存储器存储模块之间,并且耦接到所述控制器以在其控制下在所述中央处理器与所述内部存储器存储模块之间交互数据;其中,所述数据接口被配置为响应于所述安全访问信号而从所述中央处理器与所述内部存储器存储模块中的一个获取待交互数据,将所述待交互数据与参考数据进行比较,并且根据比较结果确定是否限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个转移。
20.根据权利要求19所述的装置,其特征在于,所述数据接口包括:
参考数据存储模块,其用于存储所述参考数据;
数据缓存模块,其耦接在所述中央处理器与所述内部存储器存储模块之间,用于缓存所述待交互的数据;以及
数据比较模块,其用于比较所述参考数据与所述待交互数据。
21.根据权利要求19所述的装置,其特征在于,所述数据接口被配置为当所述待交互数据与所述参考数据不同时限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个的转移,以及当所述待交互数据与所述参考数据相同时不限制所述转移。
22.根据权利要求21所述的装置,其特征在于,所述数据接口限制所述待交互数据的转移包括:
所述数据接口被配置为禁止将所述待交互数据提供给所述中央处理器和所述内部存储器存储模块中的另一个;或者
所述数据接口被配置为用替换数据替换所述待交互数据提供给所述中央处理器和所述内部存储器存储模块中的另一个。
23.根据权利要求19所述的装置,其特征在于,所述控制器被配置为当所述目标地址不属于所述预定地址空间时生成正常访问信号;所述数据接口被配置为响应于所述正常访问信号不比较所述待交互数据和所述参考数据,并且进行正常访问操作。
24.根据权利要求19所述的装置,其特征在于,所述控制器包括数据访问接口,通过所述数据访问接口,所述参考数据和/或所述预定地址空间被写入到所述控制器中。
25.根据权利要求24所述的装置,其特征在于,所述数据访问接口是加密接口,其被配置为仅允许授权用户或设备对所述控制器的数据访问。
26.根据权利要求19所述的装置,其特征在于,所述内部存储器符合JEDEC双倍速率同步动态随机存取存储器标准。
27.根据权利要求19所述的装置,其特征在于,还包括日志记录器,其耦接到所述控制器,用于获取并记录该装置进行安全访问操作的历史。
28.根据权利要求19所述的装置,其特征在于,所述控制器和所述数据接口集成在同一芯片中,或者设置在不同的芯片中。
29.根据权利要求19所述的装置,其特征在于,所述装置与所述内部存储器的存储模块集成在同一电路板上。
30.根据权利要求19所述的装置,其特征在于,所述内部存储器的存储模块包括易失性存储器、非易失性存储器或者易失性存储器和非易失性存储器的组合。
31.一种内部存储器,其包括根据权利要求19至30中任一项所述的用于控制内部存储器数据访问的装置。
32.一种计算机系统,其包括根据权利要求31所述的内部存储器。
33.一种移动终端,其包括根据权利要求31所述的内部存储器。
34.一种用于控制中央处理器对内部存储器数据访问的方法,其特征在于,包括:
接收数据访问信号,其中所述数据访问信号包括数据访问命令和对应于内部存储器存储模块中目标存储位置的目标地址;
检测所述目标地址是否属于预定地址空间,在所述目标地址属于所述预定地址空间时生成安全访问信号,其中所述预定地址空间对应于所述内部存储器存储模块中用于存储指令的区域;
响应于所述安全访问信号,从中央处理器与内部存储器存储模块中的一个获取待交互数据,将所述待交互数据与参考数据进行比较;以及
根据所述待交互数据与所述参考数据的比较结果确定是否限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个转移。
35.根据权利要求34所述的方法,其特征在于,根据所述待交互数据与所述参考数据的比较结果确定是否限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个转移的步骤包括:
当所述待交互数据与所述参考数据不同时限制所述待交互数据向所述中央处理器与所述内部存储器存储模块中的另一个的转移;以及
当所述待交互数据与所述参考数据相同时不限制所述转移。
36.根据权利要求35所述的方法,其特征在于,所述限制待交互数据的转移包括:
禁止将所述待交互数据提供给所述中央处理器和所述内部存储器存储模块中的另一个;或者
用替换数据替换所述待交互数据提供给所述中央处理器和所述内部存储器存储模块中的另一个。
37.根据权利要求34所述的方法,其特征在于,所述方法还包括:
当所述目标地址不属于所述预定地址空间时生成正常访问信号;以及
响应于所述正常访问信号,不比较所述待交互数据和所述参考数据,并且进行正常数据访问操作。
CN201510035868.XA 2015-01-23 2015-01-23 缓冲存储器及用于控制内部存储器数据访问的装置和方法 Active CN105868125B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510035868.XA CN105868125B (zh) 2015-01-23 2015-01-23 缓冲存储器及用于控制内部存储器数据访问的装置和方法
US14/727,876 US9836415B2 (en) 2015-01-23 2015-06-02 Buffer device, method and apparatus for controlling access to internal memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510035868.XA CN105868125B (zh) 2015-01-23 2015-01-23 缓冲存储器及用于控制内部存储器数据访问的装置和方法

Publications (2)

Publication Number Publication Date
CN105868125A CN105868125A (zh) 2016-08-17
CN105868125B true CN105868125B (zh) 2018-10-19

Family

ID=56434102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510035868.XA Active CN105868125B (zh) 2015-01-23 2015-01-23 缓冲存储器及用于控制内部存储器数据访问的装置和方法

Country Status (2)

Country Link
US (1) US9836415B2 (zh)
CN (1) CN105868125B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10613995B2 (en) 2015-03-16 2020-04-07 Rambus Inc. Training and operations with a double buffered memory topology
US10169258B2 (en) * 2015-06-09 2019-01-01 Rambus Inc. Memory system design using buffer(s) on a mother board
WO2017018995A1 (en) * 2015-07-24 2017-02-02 Hewlett Packard Enterprise Development Lp Data porch for throttling data access
CN108010554B (zh) * 2016-10-27 2020-09-29 华为技术有限公司 一种数据访问系统、数据写入方法及数据读取方法
US10067875B2 (en) * 2016-11-14 2018-09-04 Via Alliance Semiconductor Co., Ltd. Processor with instruction cache that performs zero clock retires
KR20180066601A (ko) 2016-12-09 2018-06-19 삼성전자주식회사 메모리 시스템의 구동 방법
US10884639B2 (en) * 2017-02-27 2021-01-05 Qualcomm Incorporated Providing single data rate (SDR) mode or double data rate (DDR) mode for the command and address (CA) bus of registering clock drive (RCD) for dynamic random access memory (DRAM)
CN107341085B (zh) * 2017-06-14 2020-12-08 北京多思安全芯片科技有限公司 一种控制装置
US10489069B2 (en) 2017-11-29 2019-11-26 International Business Machines Corporation Address/command chip synchronized autonomous data chip address sequencer for a distributed buffer memory system
US10534555B2 (en) 2017-11-29 2020-01-14 International Business Machines Corporation Host synchronized autonomous data chip address sequencer for a distributed buffer memory system
US10395698B2 (en) * 2017-11-29 2019-08-27 International Business Machines Corporation Address/command chip controlled data chip address sequencing for a distributed memory buffer system
US10747442B2 (en) 2017-11-29 2020-08-18 International Business Machines Corporation Host controlled data chip address sequencing for a distributed memory buffer system
US10936212B2 (en) 2018-01-04 2021-03-02 Montage Technology Co., Ltd. Memory controller, method for performing access control to memory module
CN110007849B (zh) * 2018-01-04 2021-03-12 澜起科技股份有限公司 存储器控制器以及用于对存储模块进行访问控制的方法
CN110008147B (zh) * 2018-01-04 2021-11-19 澜起科技股份有限公司 存储器控制器以及用于对存储模块进行访问的方法
US10929029B2 (en) 2018-01-04 2021-02-23 Montage Technology Co., Ltd. Memory controller and method for accessing memory modules and processing sub-modules
US11226768B2 (en) 2018-01-04 2022-01-18 Montage Technology Co., Ltd. Memory controller and method for accessing memory module
US10983711B2 (en) 2018-01-04 2021-04-20 Montage Technology Co., Ltd. Memory controller, method for performing access control to memory module
CN113454611B (zh) * 2019-04-02 2024-01-23 杭州飞步科技有限公司 校验地址和控制信号完整性的方法、相关产品
US10911181B2 (en) 2019-04-02 2021-02-02 Hangzhou Fabu Technology Co., Ltd. Method for checking address and control signal integrity in functional safety applications, related products
CN111831591B (zh) * 2019-04-19 2022-06-07 澜起科技股份有限公司 用于对存储模块进行访问控制的装置及方法
US11016781B2 (en) 2019-04-26 2021-05-25 Samsung Electronics Co., Ltd. Methods and memory modules for enabling vendor specific functionalities
CN110659150B (zh) * 2019-10-10 2023-04-21 深圳芯邦科技股份有限公司 微控制单元内存的检测方法以及相关装置
CN110879717B (zh) * 2019-11-27 2023-06-27 四川虹美智能科技有限公司 Eeprom参数烧写装置及方法
US11257563B2 (en) * 2020-04-03 2022-02-22 Montage Technology Co., Ltd. Apparatus and method for testing a defect of a memory module and a memory system
CN113496745B (zh) * 2020-04-03 2024-03-08 澜起科技股份有限公司 用于修复存储模块缺陷的装置和方法以及存储器系统
CN114385067B (zh) * 2020-10-19 2023-07-18 澜起科技股份有限公司 用于存储器系统的数据更新方法和存储器控制器
CN113806805A (zh) * 2021-09-18 2021-12-17 国家石油天然气管网集团有限公司 一种安全数据交换方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457171B2 (en) * 2005-09-28 2008-11-25 Qimonda Ag Integrated semiconductor memory with transmission of data via a data interface
CN103995785A (zh) * 2014-05-07 2014-08-20 四川九成信息技术有限公司 信息处理方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9548973B2 (en) * 2007-08-24 2017-01-17 Assa Abloy Ab Detecting and responding to an atypical behavior
US8255673B2 (en) * 2008-04-25 2012-08-28 Arm Limited Monitoring transactions in a data processing apparatus
US9519758B2 (en) * 2014-02-04 2016-12-13 Pegasus Media Security, Llc System and process for monitoring malicious access of protected content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457171B2 (en) * 2005-09-28 2008-11-25 Qimonda Ag Integrated semiconductor memory with transmission of data via a data interface
CN103995785A (zh) * 2014-05-07 2014-08-20 四川九成信息技术有限公司 信息处理方法和系统

Also Published As

Publication number Publication date
US20160217086A1 (en) 2016-07-28
CN105868125A (zh) 2016-08-17
US9836415B2 (en) 2017-12-05

Similar Documents

Publication Publication Date Title
CN105868125B (zh) 缓冲存储器及用于控制内部存储器数据访问的装置和方法
KR102443078B1 (ko) 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법
KR101742892B1 (ko) 다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템
US7451263B2 (en) Shared interface for components in an embedded system
US6681302B2 (en) Page open hint in transactions
US9003246B2 (en) Functional memory array testing with a transaction-level test engine
US7957209B2 (en) Method of operating a memory apparatus, memory device and memory apparatus
US9343127B1 (en) Memory device having an adaptable number of open rows
KR20170139438A (ko) 디디알 호환 비동기 메모리 모듈 시스템 및 그것의 동작 방법
US8996934B2 (en) Transaction-level testing of memory I/O and memory device
KR100847968B1 (ko) 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법
US7405992B2 (en) Method and apparatus for communicating command and address signals
CN107257964B (zh) Dram电路、计算机系统和访问dram电路的方法
JP2008305350A (ja) メモリシステム、メモリ装置、およびメモリ装置の制御方法
CN107644173B (zh) 用于控制应用程序访问存储器的方法和装置
US20190205049A1 (en) Memory controller, method for performing access control to memory module
US20140325129A1 (en) Method and apparatus for active range mapping for a nonvolatile memory device
US9218861B2 (en) Apparatuses and methods including selectively providing a single or separate chip select signals
US20090046534A1 (en) Method of Operating a Memory Apparatus, Memory Device and Memory Apparatus
US11042315B2 (en) Dynamically programmable memory test traffic router
US8327087B1 (en) Method and apparatus for an always open write-only register based memory mapped overlay interface for a nonvolatile memory
CN113707199A (zh) 用于存储器装置中的数据管理的设备和方法
US10180925B2 (en) Integrated circuit with pin level access to IO pins
US7865656B2 (en) Storage controller and storage control method
US8006029B2 (en) DDR flash implementation with direct register access to legacy flash functions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: A6, No. 900 Yishan Road, Xuhui District, Shanghai, 2003

Patentee after: Lanqi Technology Co., Ltd.

Address before: Room A1601, 900 Yishan Road, Xuhui District, Shanghai, 2003

Patentee before: Acrospeed, Inc.