CN111309248A - 与安全存储器存取有关的方法、系统和设备 - Google Patents

与安全存储器存取有关的方法、系统和设备 Download PDF

Info

Publication number
CN111309248A
CN111309248A CN201911082803.5A CN201911082803A CN111309248A CN 111309248 A CN111309248 A CN 111309248A CN 201911082803 A CN201911082803 A CN 201911082803A CN 111309248 A CN111309248 A CN 111309248A
Authority
CN
China
Prior art keywords
data
host
security
value
memory device
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
CN201911082803.5A
Other languages
English (en)
Other versions
CN111309248B (zh
Inventor
A·特罗亚
A·蒙代洛
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN111309248A publication Critical patent/CN111309248A/zh
Application granted granted Critical
Publication of CN111309248B publication Critical patent/CN111309248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明描述了与安全存储器存取有关的方法、系统和设备。可以可定制的方式来保护存储器装置(例如,DRAM)中的内容。可以保护数据并动态定义所述存储器装置的性能。在一些实例中,为存储器装置的一组存储器单元设置数据安全等级可以至少部分地基于从所述存储器装置读取或写入到所述存储器装置的元数据中的安全模式位模式(例如,旗标,多个旗标或指示符)。一些实例包含将元数据中的第一签名(例如,数字签名)与第二值(例如,预期的数字签名)进行比较以验证所述元数据中的所述第一值。所述第一值和所述第二值可以至少部分地基于所述数据安全等级。一些实例包含响应于对所述第一值和/或所述第二值的验证而执行数据传送操作。

Description

与安全存储器存取有关的方法、系统和设备
技术领域
本发明大体上涉及半导体存储器和方法,且更特定来说,涉及用于存储器数据安全的设备、系统和方法。
背景技术
存储器装置通常经提供作为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持其数据(例如,主机数据、错误数据等),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存储器(SRAM)、同步动态随机存取存储器(SDRAM)和晶闸管随机存取存储器(TRAM)以及其它存储器。非易失性存储器可通过在未供电时保留所存储的数据来提供持久数据,且可包含NAND快闪存储器、NOR快闪存储器和例如相变随机存取存储器(PCRAM)、电阻随机存取存储器(RRAM)的电阻可变存储器,以及例如自旋转矩传递随机存取存储器(STT RAM)的磁阻式随机存取存储器(MRAM),以及其它存储器。
存储器装置可以耦合到主机(例如,主机计算装置)以存储数据,命令和/或指令,以供在计算机或电子系统操作时由主机使用。例如,在计算或其它电子系统的操作期间,数据、命令和/或指令可以在主机和存储装置之间传送。
发明内容
在一个方面中,本申请案提供一种方法,其包括:至少部分地基于与写入到存储器装置(105-1、...、105-Z、205、405、505)或从所述存储器装置读取的数据(320、520)包含在一起的元数据(321)内的一或多个旗标(322-0、...、322-N、323、324、325),为所述存储器装置(105-1、...、105-Z、205、405、505)的一组存储器单元设置数据安全等级;将所述元数据(321、521)中的第一值与从所述一或多个旗标(322-0、...322-N、323、324、325)确定的第二值进行比较以验证所述第一个值;及至少部分地基于验证所述第一值来传送所述数据(320、520)。
在另一方面中,本申请案提供一种设备,其包括:存储器单元阵列(230、430、530);及安全逻辑(170、270、470、570),其耦合到所述阵列(230、430、530),其中所述安全逻辑(170、270、470、570)经配置以:确定对应于与待存储在所述阵列(230、430、530)中的数据(320)相关联的元数据(321)的第一值;将对应于待存储在所述阵列(230、430、530)中的所述数据(320)的所述第一值与由可耦合到所述安全逻辑(170、270、470、570)的主机(102、202)生成且与待存储在所述阵列中的所述数据(320)相关联的第二值进行比较以验证由所述主机(102、202)生成的所述第二值;及控制电路(109),其耦合到所述安全逻辑(170、270、470、570),且经配置以至少部分地基于对由所述主机(102、202)生成的所述第二值的验证致使将所述数据(320)存储在所述阵列(230、430、530)中。
在又一方面中,本申请案提供一种设备,其包括:主机(102、202);及主机安全逻辑(160、260),其部署在所述主机(102、202)上,其中所述主机安全逻辑(160、260)经配置以:确定对应于与待由所述主机(102、202)读取的数据(320)相关联的元数据(321)的第一值;将所述第一值与由部署在可耦合到所述主机(102、202)的存储器装置(105-1、...、105-Z、205、405、505)上的安全逻辑(170、270、470、570)生成且与待由所述主机(102、202)读取的所述数据(320)相关联的第二值进行比较,以验证所述第二值对应于待读取到所述主机(102、202)的所述数据(320);及至少部分地基于所述第二值对应于待由所述主机(102、202)读取的所述数据(320)的验证而致使所述主机(102、202)读取所述数据(320)。
在又一方面中,本申请案提供一种系统,其包括:存储器装置(105-1、...、105-Z、205、405、505),其包括安全逻辑(170、270、470、570);主机(102、202),其耦合到所述存储器装置(105-1、...、105-Z、205、405、505)且包括主机安全逻辑(1609、260),其中所述主机(102、20 2)经配置以:将写入请求提供到所述存储器装置(105-1、...、105-Z、205、405、505),所述写入请求包括:数据(320)有效负载;及安全元数据(321),其对应于所述数据(320)有效负载且包括:多个安全字段,其对应于相应安全特征,所述多个安全字段包含对应于所述写入请求且由所述主机安全逻辑(160、260)生成的第一值;及一或多个旗标(322-0、...、322-N、323、324、325),其指示针对所述写入请求启用所述相应安全特征中的哪一者;且其中所述存储器装置(105-1、...、105-Z、205、405、505)经配置以:基于所述一或多个旗标(322-0、...、322-N、323、324、325)确定对应于所述写入请求的安全等级;经由所述存储器装置(105-1、...、105-Z、205、405、505)的所述安全逻辑(170、270、470、570),基于所述所确定的安全等级确定对应于所述写入请求的第二值;将经由所述存储器装置(105-1、...、105-Z、205、405、505)的所述安全逻辑(170、270、470、570)确定的所述第二值与由所述主机安全逻辑(160、260)生成的所述第一值进行比较;及响应于确定经由所述存储器装置(105-1、...、105-Z、205、405、505)的所述安全逻辑(170、270、470、570)确定的所述第一值匹配由所述主机安全逻辑(160、260)生成的所述第二值,通过将所述数据(320)有效负载连同所述对应安全元数据写入到所述存储器装置(105-1、...、105-Z、205、405、505)的存储器阵列(230、430、530)来执行所述写入请求。
附图说明
图1A为根据本发明的一或多个实施例的以包含包含多个存储器系统的设备的计算系统的形式的功能框图。
图1B为根据本发明的多个实施例的以存储器模块的形式的设备的框图。
图2为根据本发明的多个实施例的呈包含主机和存储器装置的计算系统形式的设备的框图。
图3为根据本发明的多个实施例的数据传输的框图。
图4为根据本发明的多个实施例的包含存储器装置的部分的系统的框图。
图5为根据本发明的多个实施例的包含存储器装置的部分的系统的另一框图。
图6为根据本发明的多个实施例的表示用于存储器数据安全的实例方法的流程图。
具体实施方式
本发明描述了与安全存储器存取有关的方法、系统和设备。可以可定制的方式来保护存储器装置(例如,DRAM)中的内容。可以保护数据并动态定义所述存储器装置的性能。在一些实例中,为存储器装置的一组存储器单元设置数据安全等级可以至少部分地基于从所述存储器装置读取或写入到所述存储器装置的元数据中的安全模式位模式(例如,旗标,多个旗标或指示符)。一些实例包含将元数据中的第一签名(例如,数字签名)与第二值(例如,预期的数字签名)进行比较以验证所述元数据中的所述第一值。所述第一值和所述第二值可以至少部分地基于所述数据安全等级。一些实例包含响应于对所述第一值和/或所述第二值的验证而执行数据传送操作。
存储器装置可以用于在计算装置中存储重要或关键数据,且可以在与计算装置相关联的主机之间传送此数据。随着数据的重要性或关键性增加,可能期望为数据提供安全和/或包含安全措施作为数据传送过程的一部分。这可以减轻或消除对存储在存储器装置中或在存储器装置和主机之间传送的数据的恶意攻击(例如,未经授权的存取)。
在一些方法中,可以在制造时将存储器装置的某些部分(例如,特定的存储器单元组,存储器的页等)设置为包含某些加密。耦合到存储器装置的主机的操作系统可以为存储器装置的预定义部分维持对存储器装置的存取许可。尽管这可以对关键数据进行少量保护,但此类方法可能不允许保护某些类型的恶意攻击(例如,冷启动攻击等)。
此外,某些方法可能无法防止恶意攻击,在恶意攻击中,与主机(或主机上运行的应用程序)相关联的服务数据和/或临时数据被例如恶意实体修改。可以通过例如中间人攻击、冷启动攻击、DRAM剩磁或其它技术来实现对此类数据的修改。
为了减轻或消除此数据修改技术的功效,本发明的实例可以通过使用各种安全签名(例如,加密)方案来提供对存储器装置和/或主机的安全存取。另外,本文中所揭示的实施例可以允许在逐组(例如逐页)的基础上将动态的、可定制的安全等级应用于存储器装置。
与其中向存储器装置的静态分配的页提供相对较低的加密方案的方法相比,通过在逐页的基础上为存储器装置提供不同等级的安全和/或通过基于指派到特定组的存储器单元(例如存储器装置的页)的安全等级生成和比较签名,可以改进数据安全。
在本发明的以下详细描述中,参考形成本发明的一部分的附图,且在附图中通过说明的方式展示如何可以实践本发明的一或多个实施例。足够详细地描述这些实施例以使得所属领域的普通技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在背离本发明的范围的情况下进行处理、电气和结构变化。
如本文中所使用,例如“X”、“Y”、“N”、“M”、“A”、“B”、“C”、“D”等的标志符,特别是关于附图中的参考编号指示可包含如此指定的许多特定特征。还应理解,本文中所使用的术语为仅出于描述特定实施例的目的且并不意欲为限制性。如本文中所使用,除非另有说明。否则单数形式“一(a)”,“一(an)”和“所述”可包含单数与复数对象彼此。另外,“多个”、“至少一个”和“一或多个”(例如,多个存储器组)可指代一或多个存储器组,而“多个”意欲指代多于一个此类事情。此外,贯穿本申请案,措词“可能”和“可以”是以允许的意义(即,具有潜在的,能够的)而不是在强制意义上(即,必须)使用。术语“包含”和其派生词意指“包含但不限于”。术语“经耦合”和“耦合”意指直接或间接地物理连接或用于存取和移动(传输)命令和/或数据,视上下文而定。术语“数据”和“数据值”在本文中可互换使用,且可具有相同含义,视上下文而定。
本文中的附图遵循编号惯例,其中第一个数字或前几个数字对应于图号,而其余数字标识图中的元件或组件。可通过使用类似的数字来识别不同图之间的类似元件或组件。例如,102可在图1指代元件“02”,且类似元件可在图2中被称作为202。如将了解,可添加、交换和/或消除本文中的各种实施例中所展示的元件以便提供本发明的若干个额外实施例。另外,图中提供的元件的比例和/或相对比例意欲说明本发明的某些实施例,而不应被视为具有限制意义。
图1A为根据本发明的一或多个实施例的以包含包含多个存储器系统104-1、...、104-N的设备的计算系统100的形式的功能框图。如本文中所使用,“设备”可指但不限于各种结构或结构组合中的任一者,例如一或若干电路、一或若干裸片、一或若干模块、一或若干装置或者一或若干系统(举例来说)。在图1A中所说明的实施例中,存储器系统104-1、…、104-N可包含一或多个存储器模块(例如,单列存储器模块,双列存储器模块等)110-1、...、110-X、110-Y。存储器模块110-1、...、110-X、110-Y可以包含易失性存储器和/或非易失性存储器。在多个实施例中,存储器系统104-1、...、104-N可以包含多芯片装置。多芯片装置可以包含多个不同的存储器类型和/或存储器模块。例如,存储器系统可以在任何类型的模块上包含非易失性或易失性存储器。
在图1A中,存储器系统104-1经由信道103-1耦合到主机,可包含存储器模块110-1、...、110-X,所述存储器模块可以包含主存储器(例如,DRAM)模块。在此实例中,每一存储器模块110-1、...、110-X、110-Y包含控制器114。控制器114可以从主机102接收命令,且控制命令在存储器模块110-1、...、110-X、110-Y上的执行。
如图1A中所说明,主机102可以耦合到存储器系统104-1、…、104-N。在多个实施例中,每一存储器系统104-1、…、104-N可以经由信道(例如,信道103-1、…、103-N)耦合到主机102。在图1A中,存储器系统104-1经由信道103-1耦合到主机102,且存储器系统104-N经由信道103-N耦合至主机102。主机102可以为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、智能电话、存储卡读取器和/或支持物联网的装置,以及各种其它类型的主机,且可以包含存储器存取装置,例如处理器。所属领域的普通技术人员将了解,“处理器”可意指一或多个处理器,例如并行处理系统,多个协处理器等。
主机102可以包含系统主板和/或底板,且可以包含多个处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路)。系统100可包含单独的集成电路或主机102和存储器系统104-1、...、104-N可在相同的集成电路上。系统100可以为例如服务器系统和/或高性能计算(HPC)系统和/或其一部分。尽管图1A中所展示的实例说明具有冯·诺依曼(Von Neumann)架构的系统,但是本发明的实施例可以在非冯·诺依曼架构中实施,所述非冯·诺依曼架构可能不包括通常与冯·诺依曼架构相关联的一或多个组件(例如,CPU、ALU等)。
主机102包含与存储器系统104-1、…、104-N通信的主机控制器108。主机控制器108可以经由信道103-1、…、103-N将命令发送到DIMM 110-1、...、110-X、110-Y。主机控制器108可与DIMM 110-1、...、110-X、110-Y通信和/或在DIMM 110-1、...、110-X、110-Y中的每一者上的控制器114通信以读取、写入和擦除数据,以及其它操作。物理主机接口可以提供用于在存储器系统104-1、…、104-N和具有与物理主机接口兼容的接收器的主机102之间传递控制、地址、数据和其它信号的接口。信号可以例如经由信道103-1、…、103-N在多个总线(例如数据总线和/或地址总线)上在102和DIMM 110-1、...、110-X、110-Y之间进行通信。
主机102可以包含主机安全逻辑160,所述主机安全逻辑可以包含硬件和/或硬连线逻辑,所述硬件和/或硬连线逻辑经配置以生成、计算和/或比较作为存储器装置数据安全的部分的加密散列函数。例如,主机安全逻辑160可以将数字签名(例如,加密散列函数)附加到待传送到存储器系统104-1、...、104-N的数据。在一些实施例中,此数字签名可以被称为“预期的签名”。存储器系统104-1、...、104-N上包含的安全逻辑170可以计算数字签名,并将所计算的数字签名与预期的签名进行比较,以确定两个签名是否匹配,如本文中更详细所描述。如本文中所使用,术语“数字签名”和“预期的数字签名”可分别被称为“元数据中的值”和“确定值”。例如,元数据中的第一值可以指数字签名,且从一或多个旗标(例如,安全模式旗标,安全模式位模式等)确定的第二值可以指预期的数字签名。
类似地,安全逻辑170可以附加、并置或以其它方式致使数字签名(例如,加密散列函数)包含在待传送到主机102的数据中。在此状况下,此数字签名可以被称为“预期的签名”。主机安全逻辑160可以计算数字签名,并将所计算的数字签名与预期的签名进行比较,以确定两个签名是否匹配,如在本文中更详细地描述。
存储器模块上的主机控制器108和/或控制器114可以包含控制电路,例如,硬件、固件和/或软件。在一或多个实施例中,主机控制器108和/或控制器114可为耦合到包含物理接口的印刷电路板的专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。尽管未在图1A中明确展示,但每一存储器模块110-1、...、110-X、110-Y可包含易失性和/或非易失性存储器和寄存器的缓冲器。缓冲器可用于缓冲在命令执行期间使用的数据。
存储器模块110-1、...、110-X、110-Y可以为存储器系统提供主存储器,或可以用作整个存储器系统的额外存储器或存储装置。每一存储器模块110-1、...、110-X、110-Y可以包含一或多个存储器单元阵列,例如易失性和/或非易失性存储器单元。例如,阵列可以为具有NAND架构的快闪存储器阵列。实施例不限于特定类型的存储器装置。例如,存储器装置可以包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM和快闪存储器,以及其它存储器。
图1A的实施例可以包含未进行说明以免模糊本发明的实施例的额外电路。例如,存储器系统104-1、…、104-N可以包含地址电路,以锁存经由I/O连接通过I/O电路提供的地址信号。行解码器和列解码器可以接收和解码地址信号,以存取存储器模块110-1、...、110-X、110-Y。所属领域的技术人员将了解,地址输入连接的数目可以取决于模块110-1、...、110-X、110-Y的密度和架构。
图1B为根据本发明的多个实施例的以存储器模块110的形式的设备的框图。在图1B中,存储器模块110可以包含控制器114。控制器114可以包含例如SRAM存储器的存储器,所述存储器可为缓冲器106和/或多个寄存器107。存储器模块110可以包含耦含到控制器的多个存储器装置105-1、...、105-Z。存储器装置105-1、…、105-Z可以为易失性和/或非易失性存储器装置,且可包含非易失性存储器阵列和/或易失性存储器阵列。存储器装置105-1、...、105-Z可以包含控制电路109(例如,硬件、固件和/或软件),所述控制电路可以用于执行存储器装置105-1、...、105-Z上的命令。控制电路109可以从控制器114接收命令。控制电路109可以经配置以执行命令以在存储器装置105-1、…、105-Z中读取和/或写入数据。
存储器装置105-1、…、105-N可以包含安全逻辑170。如在本文中更详细地所描述,安全逻辑170可以负责数字签名的生成(例如,计算)和/或将所生成的数字签名与预期的数字签名进行比较。在一些实施例中,安全逻辑170还可负责为存储器装置105-1、...、105-N的存储器单元的组设置数据安全等级。数据安全等级可以在逐页的基础上设置。例如,与在存储器装置105的制造阶段静态设置存储器页数据安全等级的方法相反,可以动态地将存储器装置105-1、...、105-N的不同存储器单元页设置为不同的数据安全等级。将存储器单元的页设置为不同的数据安全等级可以响应于由安全逻辑170接收(或生成)的数据所包含的元数据中的一或多个旗标,如下文更详细所描述。一或多个旗标在本文中可以被称为“安全模式旗标”或“安全模式位模式”。
如本文中所使用,安全逻辑170可以包含硬件和/或硬连线逻辑,所述硬件和/或硬连线逻辑经配置以生成、计算和/或比较作为存储器装置数据安全的部分的加密散列函数。加密散列函数的非限制性实例可以包含MD5散列函数、安全散列算法(例如SHA-1、SHA-2、SHA-3等),例如SHA256散列函数、漩涡散列函数和/或BLAKE2散列函数,以及其它散列函数。
图2为根据本发明的多个实施例的呈包含主机202和存储器装置205的计算系统形式的设备200的框图。主机202可包含上文结合图1A所描述的主机安全逻辑270和/或主机密钥261。存储器装置205包含存储器阵列230、安全逻辑270、胶合逻辑271和/或密钥272。
存储器阵列230可以包含存储器单元,所述存储器单元可以被布置成存储器单元的组(例如,页)。在一些实施例中,存储器单元的页可以为大约4千字节(KB),但实施例不限于此特定页大小。如上文所描述,安全逻辑270可将存储器阵列230的不同页设置为不同的数据安全等级。
胶合逻辑271可以包含硬件和/或逻辑,且可以经配置以在存储器装置205中的多个电路之间提供接口。例如,胶合逻辑271可以经配置以执行简单的逻辑功能(“与”、“与非”、“或”、“异或”等),可以包含地址解码电路,可以包含用以保护存储器装置205免受过载的缓冲器,和/或可以在存储器装置205的各个组件之间提供电压电平转换。
主机密钥261和/或密钥272可以为确定加密散列函数的函数输出的一件信息(例如,参数、位的预定义序列等)。主机密钥261和/或密钥272可以指定从明文到密文的转换,反之亦然,数字签名的转换和/或消息认证码的转换。主机密钥261可以存储在主机202上(例如,在驻留在主机202上的存储器中),而密钥272可以存储在存储器阵列230中或可以存储在与存储器装置205相关联的其它存储装置中。
在一些实施例中,主机202可以生成数据传输(例如,本文中图3中所说明的数据传输319),并将数据传输传输到存储器装置205。存储器装置205可以从主机202接收数据传输。可以经由接口217在主机202和存储器装置205之间发送和/或接收数据传输。在一些实施例中,接口217可以为双数据速率(DDR)接口。
数据传输可以包含待存储在存储器阵列230中的主机数据(例如,在图3中所说明的数据320)和/或元数据(例如,本文中在图3中所说明的元数据321)。元数据可以附加到主机数据(例如,并置到主机数据)。在一些实施例中,元数据可以由主机安全逻辑260附加到数据传输。如结合图3更详细地所描述,根据本发明,元数据可以包含可以由安全逻辑270用作存储器数据安全的一部分的多个字段。
例如,数据传输可以包含一或多个旗标(例如,安全模式旗标,安全模式位模式等),例如图3中所说明的安全模式旗标(SMF)322-0、...、322-N,安全逻辑270可以使用所述安全模式旗标来为存储器装置205的一或多组存储器单元设置数据安全等级。数据传输可以进一步包含值,所述值可以为由主机202的主机安全逻辑270生成的数字签名(例如,图3中所说明的数字签名325)。在主机202生成数字签名的实例中,所述数字签名在本文中可以被称为“预期的签名”。数据传输可进一步包含主机标识(ID)字段(例如,本文中图3所说明的主机ID字段323)和/或新鲜度新字段(例如,本文中图3中所说明的新鲜度字段324)。
响应于接收到数据传输,安全逻辑270可以确定与数据传输相关联的对应数据安全等级,使用元数据来计算用于数据传输的数字签名,并将所计算的数字签名与预期的数字签名进行比较以确定所计算数字签名是否与预期的数字签名匹配。如果所计算的数字签名与预期的数字签名匹配,那么安全逻辑270可以使与数据传输相关联的数据和/或元数据存储在存储器装置205的存储器阵列230中。
相反,存储器装置205的安全逻辑270可以响应于来自主机202的数据的请求,使元数据被附加到待由主机消耗的数据(例如,读取数据)。由安全逻辑270生成的元数据可以包含由安全逻辑270生成的数字签名。在主机205生成数字签名的实例中,所述数字签名在本文中可以被称为“预期的签名”。数据传输可以进一步包含一或多个旗标(例如,安全模式旗标、安全模式位模式等)、主机标识(ID)字段和/或新鲜度字段。
响应于从存储器装置230接收到数据传输,主机安全逻辑260可以使用元数据来计算用于数据传输的数字签名,并将计算出的数字签名与预期的数字签名进行比较,以确定所计算出的数字签名是否匹配预期的数字签名。如果所计算的数字签名与预期的数字签名匹配,那么主机安全逻辑260可以致使与数据传输相关联的数据和/或元数据由主机202进行处理。
图3为根据本发明的多个实施例的数据传输319的框图。如图3中所展示,数据传输319可以包含数据320和元数据321。元数据321可以被附加到数据320,使得数据传输319形成连续的位串。数据320可以为主机数据或读取数据,这取决于数据传输319是源自主机(例如,本文中图2中所说明的主机202)还是存储器装置(例如,本文中图2中所说明的存储器装置205)。例如,如果数据传输319为由主机生成(例如,数据传输319被用作写入操作的一部分),那么数据320可以包含主机数据。如果数据传输319是由存储器装置生成的(例如,如果数据传输319被用作读取操作的一部分),那么数据320可以包含由存储器装置存储的数据。
元数据321可以包含可由主机安全逻辑(例如,本文中图2中所说明的主机安全逻辑260)和/或安全逻辑(例如,本文中图2中所说明的安全逻辑270)生成和/或使用的各种字段。例如,在一些实施例中,元数据321可以包含各种安全字段(例如,安全模式位模式322-0、...、322-N、主机ID字段323、新鲜度字段324和/或数字签名325),其可以对应于由主机安全逻辑和/或安全逻辑启用的各种安全性特征。
安全模式旗标322-0、...、322-N可以为可用于为存储器装置的一组存储器单元(例如,页)设置数据安全值的预定义的位序列。然而,实例不限于此,且安全模式旗标322-0、...、322-N可以包含一或多个旗标、位模式、位字段(例如,缩减字段),等等
在非限制性实例中(例如,在不同的安全模式旗标的数目为2的实例中),可以有三个安全模式旗标322-0、...、322-N。在此实例中,第一安全模式旗标(例如,SMF 322-0)可以启用或禁用消息认证码(MAC),所述消息认证码在被启用时可以用于验证传输数据传输319的实体为真实的。继续此实例,第二安全模式旗标可以启用或禁用主机ID字段323的使用。最终,在此实例中,第三安全模式旗标(例如,SMF 322-N)可以启用或禁用新鲜度字段324的使用。
主机ID字段323可以包含唯一地标识请求存取存储在存储器装置中的数据的主机、程序和/或应用程序的信息。可以通过安全模式旗标322-0、...、322-N启用或禁用将主机ID字段323用于存储器数据安全。例如,如果安全模式旗标322-0、...、322-N中的一者包含特定的位或位模式,那么可响应于确定安全模式旗标对应于主机ID字段323的启用或禁用而启用或禁用主机ID字段323的使用。在一些实施例中,可以通过主机安全逻辑(例如,在本文中图2中说明的主机安全逻辑260)和/或通过安全逻辑(例如,在本文中图2中所说明的安全逻辑270)来进行确定。
新鲜度字段324可以包含一或多种抗重放机制,其可以用于确保指定等级的“新鲜度”(例如,以确保对存取存储在存储器装置中的数据的请求当前在可配置阈值时间段内)。如本文中所使用,“抗重放机制”包含单调计数器、加密随机数、时间戳等,其用于验证数据传输的指定等级的新鲜度。
例如,新鲜度字段324可以包含指示何时生成或传输数据传输319的时间戳。在一些实施例中,新鲜度字段324可以包含随机值(例如,加密随机数)。作为抗重放协议的一部分,加密随机数可以为经生成供一次使用且包含作为数据传输的一部分的随机值或伪随机值。在一些实施例中,新鲜度字段324可以包含随着每一数据传输319的生成而递增(例如,单调)的计数值。例如,作为抗重放协议的一部分,与单调计数器相关联的值可以被包含在新鲜度字段324中。
可以通过安全模式旗标322-0、...、322-N启用或禁用将新鲜度字段324用于存储器数据安全。例如,如果安全模式旗标322-0、...、322-N中的一者包含特定的位或位模式,那么可响应于确定安全模式旗标对应于新鲜度字段324的启用或禁用而启用或禁用新鲜度字段324的使用。在一些实施例中,可以通过主机安全逻辑(例如,在本文中图2中说明的主机安全逻辑260)和/或通过安全逻辑(例如,在本文中图2中所说明的安全逻辑270)来进行确定。
数字签名325可以包含消息认证码(MAC)。MAC可以包括用以认证数据传输319的信息。在一些实施例中,MAC可以为基于散列的消息认证码(HMAC)或任何其它合适的MAC。MAC(或HMAC)可以基于密钥,例如本文中图2中所说明的主机密钥261和/或密钥272。MAC是由主机的主机安全逻辑(例如,在本文中图2中所说明的主机安全逻辑260)或由所述存储装置的安全逻辑(例如,本文中图2中所说明的安全逻辑270)生成。
例如,取决于数据传输319是起源于主机还是存储器装置,对应安全逻辑可以生成数字签名325。换句话说,如果数据传输319起源于主机,那么主机安全逻辑可以生成数字签名325,然而,如果数据传输319起源于存储器装置,那么安全逻辑可以生成数字签名325。当数字签名325由主机安全逻辑或存储器装置的安全逻辑生成时,数字签名可以被称为“预期的签名”。接收数据传输319的组件可以计算数字签名325,并将数字签名325与预期的数字签名进行比较,以确定两个签名是否匹配。例如,如果主机安全逻辑生成数字签名325,那么安全逻辑可以计算数字签名325,并将所计算的数字签名325与预期的数字签名325进行比较,且反之亦然。
表1总结可以指派到存储器单元组(例如存储器装置中的存储器的页)的各种数据安全等级的非限制性实例,以及主机安全逻辑和/或安全逻辑基于前述元数据321字段如何生成预期的数字签名的实例。表1中所说明的实例基于以下场景:其中以各种组合来启用和禁用三个字段(例如,主机ID 323、新鲜度字段324和/或数字签名325)。在表1中的每一列中,数据320包含主机数据,其对应于要从主机写入存储器装置的数据,或对应于由主机从存储器装置读取的数据的读取数据(例如,软件数据、应用程序数据等)。
另外,在表1中,SMF0、SMF1和SMF2对应于可被包含为用于数据传输319的元数据321的一部分的三个安全模式旗标(例如,三个安全模式位模式)。更具体地说,在表1中,SMF0对应于针对特定数据传输319是启用还是禁用使用MAC(例如HMAC)(例如,SMF0=0对应于禁用MAC用于数据传输319,而SMF0=1对应于启用MAC用于数据传输319),SMF1对应启用还是禁用主机ID字段323(例如,SMF1=0对应于禁用主机ID字段323,而SMF1=1对应于启用主机ID字段323,SMF2对应于启用还是禁用新鲜度字段324(例如,SMF2=0对应于禁用新鲜度字段324,而SMF2=1对应于启用新鲜度字段324)。
第一数据安全等级 第二数据安全等级 第三数据安全等级 第四数据安全等级 第五数据安全等级
SMF<sub>0</sub>=0 SMF<sub>0</sub>=1 SMF<sub>0</sub>=1 SMF<sub>0</sub>=1 SMF<sub>0</sub>=1
SMF<sub>1</sub>=0 SMF<sub>1</sub>=1 SMF<sub>1</sub>=0 SMF<sub>1</sub>=0 SMF<sub>1</sub>=1
SMF<sub>2</sub>=0 SMF<sub>2</sub>=0 SMF<sub>2</sub>=0 SMF<sub>2</sub>=1 SMF<sub>2</sub>=1
表1
如表1中所展示,当禁用安全模式旗标SMF0、SMF1和SMF2中的每一者都可以设置第一数据安全等级。当设置第一数据安全等级时,数字签名325未附加到数据传输319。
如表1中进一步展示,当启用对应于将MAC用于数据传输319的安全模式旗标时(例如,当SMF0=1时)和当启用对应于主机ID字段323的安全模式位模式时(例如,当SMF1=1时),可以设置第二数据安全等级。在第二数据安全等级中,禁用新鲜度字段324(例如,SMF2=0)。在此状况下,可以使用对应安全模式位、主机ID(或应用程序ID)、数据320和/或密钥(例如,图2中所说明的密钥272)来生成或计算数字签名325。
当启用对应于将MAC用于数据传输319的安全模式位模式(例如,当SMF0=1时)和禁用对应于主机ID字段323的安全模式位模式(例如,当SMF1=0)时)且禁用对应于新鲜度324的安全模式位模式(例如,当SMF2=0)时,可以设置第三数据安全等级。在此状况下的数字签名325可以使用对应安全模式旗标、数据320和/或密钥来生成或计算。
当启用对应于将MAC用于数据传输319的安全模式旗标(例如,当SMF0=1时),禁用对应于主机ID字段323的安全模式旗标(例如,当SMF1=0)时)且启用对应于新鲜度324的安全模式旗标(例如,当SMF2=1)时,可以设置第四数据安全等级。在此状况下的数字签名325可以使用对应安全模式旗标、数据320、新鲜度字段324和/或密钥来生成或计算。
当启用对应于将MAC用于数据传输319的安全模式旗标(例如,当SMF0=1时),启用对应于主机ID字段323的安全模式旗标(例如,当SMF1=1)时)且启用对应于新鲜度324的安全模式旗标位模式(例如,当SMF2=1)时,可以设置第五数据安全等级。在此状况下的数字签名325可以使用对应安全模式旗标、数据320、主机(或应用程序)ID323、新鲜度字段324和/或密钥来生成或计算。
如上文所描述,可在存储器装置(例如,本文中在图2中所说明的存储器装置205)中在逐页的基础上设置不同的数据安全等级(例如,通过在此实例中的第一到第五数据安全等级)。例如,可以将存储器装置中的存储器的第一页设置为第一数据安全等级,可以将存储器装置中的存储器的第二页设置为第二数据安全等级,等等。通过量存储器的不同页设置为不同数据安全等级,与一些方法相比,存储器装置可以更灵活和/或适应于改变由存储器装置处理的数据的关键性。
图4为根据本发明的多个实施例的包含存储器装置405的部分的系统401的框图。如图4中所展示,存储器装置405可以包含多个行地址缓冲器433-1、...、433-N,其可以经由通信链路429通信耦合到存储器阵列430。另外,存储器装置405可以包含多个行数据缓冲器434-1、...、434-N,其可以经由通信链路431通信地耦合到行感测电路427。在一些实施例中,存储器装置405可以包含安全逻辑470,其可以类似于本文中图2中所说明的安全逻辑270。
如将了解,可以在执行读取操作之前使用行地址缓冲器433-1、...、433-N和行数据缓冲器434-1、...、434-N来准备对存储器阵列430的读取存取。一旦已经缓冲一行或多行数据(例如,一或多个数据传输,例如本文中图3中所说明的数据传输319),就可以将数据写入到存储器阵列430。例如,一旦已缓冲一行或多行数据,就可以将数据420写入到存储器阵列430的特定位置,例如存储器的页。
在将数据传输(例如,数据行)传送到存储器阵列430之前,安全逻辑可以执行上文所描述操作以确定是否允许将数据传输写入到存储器阵列430。例如,安全逻辑430可以确定用于数据传输的数据安全等级,计算数字签名(例如,图3中所说明的数字签名325),并将所计算的数字签名与预期的数字签名进行比较以确定写入存取是否经授权用于数据传输。在一些实施例中,数据行可以包含大约16KB的数据520,然而,实施例并不局限于这特定枚举值。
存储器装置405可以进一步包含行感测电路427,其可以锁存与数据行相关联的数据值。例如,感测电路427可以锁存从行数据缓冲器434-1、...、434-N接收和/或传送到行数据缓冲器434-1、...、434-N的数据值。行感测电路427可以包含多个锁存器,以促进数据行的锁存。
图5为根据本发明的多个实施例的包含存储器装置505的部分的系统501的框图。如图5中所展示,存储器装置505可以包含多个行地址缓冲器533-1、...、533-N,其可以经由通信链路529通信耦合到存储器阵列530。另外,存储器装置505可以包含多个行数据缓冲器534-1、...、534-N,其可以经由通信链路531通信地耦合到行感测电路527。在一些实施例中,存储器装置505可以包含安全逻辑570,其可以类似于本文中图2中所说明的安全逻辑270。
图5中所说明的存储器装置505类似于图4中所说明的存储器装置405,然而,根据本发明的一些实施例,存储器装置505进一步包含密钥572,其可以类似于图2中所说明的密钥272,胶合逻辑571,其可以类似于图2中所说明的胶合逻辑271,和行数据缓冲器元数据535-1、...、535-N。图5中所说明的存储器阵列530进一步包含用以存储元数据521的存储器位置,所述元数据可以类似于本文中图3中所说明的元数据321。另外,存储器装置505可以包含额外行感测电路528,其可以用以锁存对应于行数据缓冲器元数据535-1、...、535-N的数据值。
在一些实施例中,与图5所说明的存储器阵列530相关联的存储位置的数量可以大于与图4中所说明的存储器阵列430相关联的存储位置的数量。例如,图4中的存储器阵列430可以包含对应于包含大约16KB的数据的数据520的大约16KB的存储位置,而图5的存储器阵列530可以包含对应于大约16KB的数据的大约16KB的存储位置加上对应于元数据521的额外存储位置。
类似地,在一些实施例中,与图4中的存储装置405的行数据缓冲器部分相比,存储装置505的行数据缓冲器部分可包含更多数量的存储位置。例如,图4中的行数据缓冲器434-1、...、434-N可以包含对应于大约16KB的数据520的大约16KB的存储位置,而图5中的存储器阵列530的行数据缓冲器部分可包含对应于大约16KB的数据520的大约16KB的存储位置加上对应于行数据缓冲器元数据535-1、...、535-N的额外存储位置。
图6为根据本发明的多个实施例的表示用于存储器数据安全的实例方法的流程图640。在框642处,方法640可以包含至少部分地基于安全模式旗标(例如,安全模式位模式)来为存储器装置(例如,本文中图2中所说明的存储器装置205)的一组存储器单元设置数据安全等级。如上文所描述,为所述组存储器单元设置数据安全等级可以包含在逐页的基础上为存储器装置的存储器单元的相应页设置不同的数据安全等级。
在框644处,方法640可以进一步包含将附加到与计算装置相关联的数据的数字签名与预期的数字签名进行比较,以验证附加到数据的数字签名。在一些实施例中,数字签名和预期的数字签名至少部分地基于数据安全等级。
在一些实施例中,将附加到与计算装置关联的数据的数字签名与预期的数字签名进行比较以验证附加到数据的数字签名可以进一步包含:通过与存储器装置相关联的安全逻辑,将数字签名与由主机(例如,本文中图2中所说明的主机202)生成的预期的数字签名进行比较。相反地,在一些实施例中,将附加到与计算装置关联的数据的数字签名与预期的数字签名进行比较以验证附加到数据的数字签名可以进一步包含:通过主机,将数字签名与由和存储器装置相关联的安全逻辑生成的预期的数字签名进行比较。
在框646处,方法640可以进一步包含:响应于对附加到数据的数字签名的验证,执行数据传送操作。在一些实施例中,数据传送操作可以包含将数据从主机写入到存储器装置。然而,实施例不限于此,且在一些实施例中,数据传送操作可以包含将数据从存储器装置读取到主机。
尽管本文中已说明并描述了特定实施例,但所属领域的技术人员将了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本发明旨在涵盖本发明的一或多个实施例的变更或变化。应理解,上述描述是以说明性方式进行的,而非限制性的。在阅读以上描述后,上述实施例的组合以及本文未具体描述的其它实施例对于所属领域的技术人眼来说将是显而易见的。本发明的一或多个实施例的范围包含括使用上述结构和过程的其它应用。因此,应当参考所附权利要求以及这些权利要求所赋予的等价物的全部范围来确定本发明的一或多个实施例的范围。
在前述的具体实施方式中,出于简化本发明的目的,一些特征在单个实施例中被组合在一起。本发明的此方法不应被解释为反映本发明的公开实施例必须使用比每个权利要求中明确记载的更多特征的意图。而是,如所附权利要求书所反映,发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求本身作为单独实施例。

Claims (20)

1.一种方法,其包括:
至少部分地基于与写入到存储器装置(105-1、...、105-Z、205、405、505)或从所述存储器装置读取的数据(320、520)包含在一起的元数据(321)内的一或多个旗标(322-0、...、322-N、323、324、325),为所述存储器装置(105-1、...、105-Z、205、405、505)的一组存储器单元设置数据安全等级;
将所述元数据(321、521)中的第一值与从所述一或多个旗标(322-0、...322-N、323、324、325)确定的第二值进行比较以验证所述第一个值;及
至少部分地基于验证所述第一值来传送所述数据(320、520)。
2.根据权利要求1所述的方法,其中传送所述数据(320、520)包括将所述数据(320、520)从主机(102、202)写入到所述存储器装置(105-1、...、105-Z、205、405、505)或将所述数据(320、520)从所述存储器装置(105-1、...、105-Z、205、405、505)读取到耦合到所述存储器装置(105-1、...、105-Z、205、405、505)的主机(102、202)。
3.根据权利要求1到2中任一权利要求所述的方法,其中将所述第一值与所述第二值进行比较进一步包括:通过所述存储器装置(105-1、...、105-Z、205、405、505)上的安全逻辑(170、270、470、570),将所述第一值与所述第二值进行比较,其中所述第二值由主机(102、202)生成。
4.根据权利要求1到2中任一权利要求所述的方法,其中将所述第一值与所述第二值进行比较包括:通过主机(102、202)将所述第一值与所述第二值进行比较,且其中所述第二值是由所述存储器装置(105-1、...、105-Z、205、405、505)上的安全逻辑(170、270、470、570)生成。
5.根据权利要求1到2中任一权利要求所述的方法,其中所述存储器单元组包括存储器单元的页,且其中为存储器单元的所述页设置所述数据安全等级进一步包括:在逐页基础上为所述存储器装置(105-1、...、105-Z、205、405、505)的存储器单元的相应页设置不同数据安全等级。
6.根据权利要求1到2中任一权利要求所述的方法,其中所述一或多个旗标(322-0、...、322-N、323、324、325)包含对应于安全模式位模式(322-0、...、322-N)、主机标识字段(323)、数据新鲜度字段(324)或其组合的信息,所述信息与写入到所述存储器装置(105-1、...、105-Z、205、405、505)或从所述存储器装置读取的所述数据包含在一起。
7.一种设备,其包括:
存储器单元阵列(230、430、530);及
安全逻辑(170、270、470、570),其耦合到所述阵列(230、430、530),其中所述安全逻辑(170、270、470、570)经配置以:
确定对应于与待存储在所述阵列(230、430、530)中的数据(320)相关联的元数据(321)的第一值;
将对应于待存储在所述阵列(230、430、530)中的所述数据(320)的所述第一值与由可耦合到所述安全逻辑(170、270、470、570)的主机(102、202)生成且与待存储在所述阵列中的所述数据(320)相关联的第二值进行比较以验证由所述主机(102、202)生成的所述第二值;及
控制电路(109),其耦合到所述安全逻辑(170、270、470、570),且经配置以至少部分地基于对由所述主机(102、202)生成的所述第二值的验证致使将所述数据(320)存储在所述阵列(230、430、530)中。
8.根据权利要求7所述的设备,其中所述安全逻辑(170、270、470、570)经进一步配置以至少部分地基于验证由所述主机(102、202)生成的所述第二值的失败致使不将所述数据(320)存储在所述阵列(230、430、530)中。
9.根据权利要求7所述的设备,其中所述安全逻辑(170、270、470、570)经进一步配置以:
接收对应于数据安全等级的一或多个旗标(322-0、...、322-N、323、324、325);及
基于所述一或多个旗标(322-0、...、322-N、323、324、325)将所述阵列(230、430、530)的至少一个页设置为所述数据安全等级。
10.根据权利要求7到9中任一权利要求所述的设备,其进一步包括耦合到所述阵列(430)和所述安全逻辑(470)的胶合逻辑(571),其中所述胶合逻辑(271、571)经配置以缓冲待存储在所述阵列(230、430、530)中的所述数据(320)。
11.根据权利要求7到9中任一权利要求所述的设备,其中所述元数据(321)包含对应于安全模式位模式(322-0、...、322-N)、数据安全等级、主机标识字段(323)、数据新鲜度字段(324)、对应于待存储在所述阵列(230、430、530)中的数据(320)的数字签名(325)或其组合的一或多个旗标(322-0、...、322-N、323、324、325)。
12.一种设备,其包括:
主机(102、202);及
主机安全逻辑(160、260),其部署在所述主机(102、202)上,其中所述主机安全逻辑(160、260)经配置以:
确定对应于与待由所述主机(102、202)读取的数据(320)相关联的元数据(321)的第一值;
将所述第一值与由部署在可耦合到所述主机(102、202)的存储器装置(105-1、...、105-Z、205、405、505)上的安全逻辑(170、270、470、570)生成且与待由所述主机(102、202)读取的所述数据(320)相关联的第二值进行比较,以验证所述第二值对应于待读取到所述主机(102、202)的所述数据(320);及
至少部分地基于所述第二值对应于待由所述主机(102、202)读取的所述数据(320)的验证而致使所述主机(102、202)读取所述数据(320)。
13.根据权利要求12所述的设备,其中所述主机安全逻辑(160、260)经进一步配置以至少部分地基于验证所述第二值对应于待由所述主机(102、202)读取的所述数据(320)的失败,致使所述主机(102、202)不读取所述数据(320)。
14.根据权利要求12所述的设备,其中待由所述主机(102、202)读取的所述数据(320)包括由所述存储器装置(105-1、...、105-Z、205、405、505)存储的数据(320)和元数据(321)。
15.根据权利要求14所述的设备,其中所述元数据(321)包含对应于数据安全等级(322-0、...、322-N)、主机标识字段(323)、数据新鲜度字段(324)、由部署在所述存储器装置(105-1、...、105-Z、205、405、505)上的安全逻辑(170、270、470、570)生成的数字签名(325)或其组合的一或多个旗标(322-0、...、322-N、323、324、325)。
16.一种系统,其包括:
存储器装置(105-1、...、105-Z、205、405、505),其包括安全逻辑(170、270、470、570);
主机(102、202),其耦合到所述存储器装置(105-1、...、105-Z、205、405、505)且包括主机安全逻辑(1609、260),其中所述主机(102、202)经配置以:
将写入请求提供到所述存储器装置(105-1、...、105-Z、205、405、505),所述写入请求包括:
数据(320)有效负载;及
安全元数据(321),其对应于所述数据(320)有效负载且包括:
多个安全字段,其对应于相应安全特征,所述多个安全字段包含对应于所述写入请求且由所述主机安全逻辑(160、260)生成的第一值;及
一或多个旗标(322-0、...、322-N、323、324、325),其指示针对所述写入请求启用所述相应安全特征中的哪一者;且
其中所述存储器装置(105-1、...、105-Z、205、405、505)经配置以:
基于所述一或多个旗标(322-0、...、322-N、323、324、325)确定对应于所述写入请求的安全等级;
经由所述存储器装置(105-1、...、105-Z、205、405、505)的所述安全逻辑(170、270、470、570),基于所述所确定的安全等级确定对应于所述写入请求的第二值;
将经由所述存储器装置(105-1、...、105-Z、205、405、505)的所述安全逻辑(170、270、470、570)确定的所述第二值与由所述主机安全逻辑(160、260)生成的所述第一值进行比较;及
响应于确定经由所述存储器装置(105-1、...、105-Z、205、405、505)的所述安全逻辑(170、270、470、570)确定的所述第一值匹配由所述主机安全逻辑(160、260)生成的所述第二值,通过将所述数据(320)有效负载连同所述对应安全元数据写入到所述存储器装置(105-1、...、105-Z、205、405、505)的存储器阵列(230、430、530)来执行所述写入请求。
17.根据权利要求16所述的系统,其中所述存储器装置(105-1、...、105-Z、205、405、505)的所述安全逻辑(170、270、470、570)经配置以致使将所述数据安全等级在逐页的基础上指派到所述存储器装置(105-1、...、105-Z、205、405、505)的相应页。
18.根据权利要求16所述的系统,其中所述相应安全特征包含主机标识字段(323)、数据新鲜度字段(324)或其组合中的至少一者。
19.根据权利要求16到18中任一权利要求所述的系统,其进一步包括胶合逻辑(271、571),所述胶合逻辑耦合到所述安全逻辑(170、270、470、570)且经配置以缓冲所述数据(320)有效负载。
20.根据权利要求16到18中任一项所述的系统,其中所述写入请求通过所述主机(102、202)经由双数据速率接口(103-1、...、103-N)发送到所述存储器装置(105-1、...105-Z、205、405、505)。
CN201911082803.5A 2018-12-11 2019-11-07 与安全存储器存取有关的方法、系统和设备 Active CN111309248B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/216,532 2018-12-11
US16/216,532 US11036887B2 (en) 2018-12-11 2018-12-11 Memory data security

Publications (2)

Publication Number Publication Date
CN111309248A true CN111309248A (zh) 2020-06-19
CN111309248B CN111309248B (zh) 2023-10-20

Family

ID=70970353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911082803.5A Active CN111309248B (zh) 2018-12-11 2019-11-07 与安全存储器存取有关的方法、系统和设备

Country Status (2)

Country Link
US (2) US11036887B2 (zh)
CN (1) CN111309248B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231777A (zh) * 2020-12-14 2021-01-15 武汉新芯集成电路制造有限公司 一种单调计数器及其单调计数方法
CN113961142A (zh) * 2020-07-20 2022-01-21 美光科技公司 包含各种时延和容量的存储器装置的存储器子系统
CN114077398A (zh) * 2020-08-11 2022-02-22 美光科技公司 用于存储模式控制的系统、方法和设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112528345A (zh) * 2019-09-18 2021-03-19 华为技术有限公司 通信方法、装置、计算机可读存储介质和芯片
WO2022213129A1 (en) * 2021-04-02 2022-10-06 Google Llc Read-only memory (rom) security
US20230061037A1 (en) * 2021-09-01 2023-03-02 Micron Technology, Inc. Apparatus with power-based data protection mechanism and methods for operating the same

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386155A (en) * 1993-03-30 1995-01-31 Intel Corporation Apparatus and method for selecting polarity and output type in a programmable logic device
US20020112162A1 (en) * 2001-02-13 2002-08-15 Cocotis Thomas Andrew Authentication and verification of Web page content
US20070143555A1 (en) * 2005-12-19 2007-06-21 Daniel Nemiroff Mechanism to control access to a storage device
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
US20110194694A1 (en) * 2005-01-18 2011-08-11 Certicom Corp. Accelerated Verification of Digital Signatures and Public Keys
CN102184365A (zh) * 2011-06-07 2011-09-14 郑州信大捷安信息技术有限公司 基于SoC芯片外部数据安全存储架构及存取控制方法
JP2011197912A (ja) * 2010-03-18 2011-10-06 Dainippon Printing Co Ltd シンクライアントシステム、完全性検証サーバ、プログラム、記憶媒体、シンクライアント通信中継方法
CN102541765A (zh) * 2010-09-30 2012-07-04 美光科技公司 处理器主存储器的存储器内容的安全保护
CN102571335A (zh) * 2010-12-08 2012-07-11 中国科学院研究生院 双因素数字签名方法和系统以及服务器和客户端
US20120278635A1 (en) * 2011-04-29 2012-11-01 Seagate Technology Llc Cascaded Data Encryption Dependent on Attributes of Physical Memory
US20140281827A1 (en) * 2013-03-15 2014-09-18 Samsung Electronics Co., Ltd. Memory controller, method of operating the same, and system including the same
CN105280221A (zh) * 2014-07-08 2016-01-27 三星电子株式会社 电阻型存储器装置及其操作方法
US20160027508A1 (en) * 2014-07-22 2016-01-28 Samsung Electronics Co., Ltd. Resistive memory device and operation
CN106330812A (zh) * 2015-06-15 2017-01-11 腾讯科技(深圳)有限公司 文件安全性识别方法及装置
US20180253258A1 (en) * 2017-03-02 2018-09-06 Qualcomm Incorporated Transaction elimination using metadata

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3461234B2 (ja) * 1996-01-22 2003-10-27 株式会社東芝 データ保護回路
US6052468A (en) 1998-01-15 2000-04-18 Dew Engineering And Development Limited Method of securing a cryptographic key
US6857076B1 (en) 1999-03-26 2005-02-15 Micron Technology, Inc. Data security for digital data storage
US6643777B1 (en) 1999-05-14 2003-11-04 Acquis Technology, Inc. Data security method and device for computer modules
US6654847B1 (en) * 2000-06-30 2003-11-25 Micron Technology, Inc. Top/bottom symmetrical protection scheme for flash
EP1281124A4 (en) * 2000-04-11 2004-07-14 Richard M Mathis METHOD AND DEVICE FOR PROTECTING AND VERIFYING COMPUTER STORAGE
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US7725628B1 (en) * 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US20060015753A1 (en) * 2004-07-15 2006-01-19 International Business Machines Corporation Internal RAM for integrity check values
CN100518061C (zh) * 2004-09-07 2009-07-22 北京邦诺存储科技有限公司 写一次读多次磁盘存储系统和设计方法
US7904943B2 (en) * 2004-12-28 2011-03-08 O'connor Dennis M Secure controller for block oriented storage
US7623378B1 (en) * 2006-05-02 2009-11-24 Lattice Semiconductor Corporation Selective programming of non-volatile memory facilitated by security fuses
US8631494B2 (en) * 2006-07-06 2014-01-14 Imation Corp. Method and device for scanning data for signatures prior to storage in a storage device
EP2361416A1 (en) * 2008-11-10 2011-08-31 Walletex Microelectronics Ltd. Secure storage device
TWI377468B (en) * 2009-02-05 2012-11-21 Nuvoton Technology Corp Integrated circuit and memory protection apparatus and methods thereof
TWI462014B (zh) * 2009-08-31 2014-11-21 Phison Electronics Corp 應用程式執行方法與系統、儲存媒體控制器及儲存裝置
US8826377B2 (en) * 2009-09-24 2014-09-02 Silicon Motion Inc. Authentication method employed by portable electronic device, associated controller, host computer having storage medium storing associated computer program, and machine-readable medium storing associated computer program
US20120084537A1 (en) 2010-09-30 2012-04-05 International Business Machines Corporation System and method for execution based filtering of instructions of a processor to manage dynamic code optimization
US9037788B2 (en) * 2010-09-30 2015-05-19 Micron Technology, Inc. Validating persistent memory content for processor main memory
US8930714B2 (en) 2011-07-19 2015-01-06 Elwha Llc Encrypted memory
GB2503583B (en) * 2012-06-27 2015-06-17 Nordic Semiconductor Asa Memory Protection
US9424214B2 (en) * 2012-09-28 2016-08-23 Mellanox Technologies Ltd. Network interface controller with direct connection to host memory
US20140143476A1 (en) * 2012-11-16 2014-05-22 Rotem Sela Usage of cache and write transaction information in a storage device
US9229639B2 (en) * 2013-03-11 2016-01-05 Sandisk Technologies Inc. Method and non-volatile memory device for improving latency together with write protection
US9853974B2 (en) * 2014-01-27 2017-12-26 Cryptography Research, Inc. Implementing access control by system-on-chip
US9767272B2 (en) 2014-10-20 2017-09-19 Intel Corporation Attack Protection for valid gadget control transfers
FR3028335B1 (fr) * 2014-11-12 2018-01-19 Charles Shahrokh Ghavamian Peripherique de stockage de donnees avec gestion d'acces securise et procede de gestion d'acces associe
US9830217B2 (en) * 2015-01-29 2017-11-28 Qualcomm Incorporated Selective block-based integrity protection techniques
US10671549B2 (en) * 2015-03-25 2020-06-02 Toshiba Memory Corporation Memory system
US10223531B2 (en) * 2016-12-30 2019-03-05 Google Llc Secure device state apparatus and method and lifecycle management
CN107220189A (zh) * 2017-03-14 2017-09-29 晨星半导体股份有限公司 内存空间管理及内存访问控制方法及装置
US10289551B2 (en) * 2017-05-11 2019-05-14 Western Digital Technologies, Inc. Preserving data upon a power shutdown
KR102406666B1 (ko) * 2017-09-20 2022-06-08 삼성전자주식회사 스냅샷 기능을 지원하는 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법
CN109547400A (zh) * 2017-09-22 2019-03-29 三星电子株式会社 通信方法、完整性验证方法和客户端的服务器注册方法
US20190370439A1 (en) * 2018-05-29 2019-12-05 Sunasic Technologies, Inc. Secure system on chip for protecting software program from tampering, rehosting and piracy and method for operating the same
CN112513804B (zh) * 2018-07-26 2022-08-19 华为技术有限公司 一种数据处理方法及装置

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386155A (en) * 1993-03-30 1995-01-31 Intel Corporation Apparatus and method for selecting polarity and output type in a programmable logic device
US20020112162A1 (en) * 2001-02-13 2002-08-15 Cocotis Thomas Andrew Authentication and verification of Web page content
US20110194694A1 (en) * 2005-01-18 2011-08-11 Certicom Corp. Accelerated Verification of Digital Signatures and Public Keys
US20070143555A1 (en) * 2005-12-19 2007-06-21 Daniel Nemiroff Mechanism to control access to a storage device
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
JP2011197912A (ja) * 2010-03-18 2011-10-06 Dainippon Printing Co Ltd シンクライアントシステム、完全性検証サーバ、プログラム、記憶媒体、シンクライアント通信中継方法
CN102541765A (zh) * 2010-09-30 2012-07-04 美光科技公司 处理器主存储器的存储器内容的安全保护
CN102571335A (zh) * 2010-12-08 2012-07-11 中国科学院研究生院 双因素数字签名方法和系统以及服务器和客户端
US20120278635A1 (en) * 2011-04-29 2012-11-01 Seagate Technology Llc Cascaded Data Encryption Dependent on Attributes of Physical Memory
CN102184365A (zh) * 2011-06-07 2011-09-14 郑州信大捷安信息技术有限公司 基于SoC芯片外部数据安全存储架构及存取控制方法
US20140281827A1 (en) * 2013-03-15 2014-09-18 Samsung Electronics Co., Ltd. Memory controller, method of operating the same, and system including the same
CN105280221A (zh) * 2014-07-08 2016-01-27 三星电子株式会社 电阻型存储器装置及其操作方法
US20160027508A1 (en) * 2014-07-22 2016-01-28 Samsung Electronics Co., Ltd. Resistive memory device and operation
CN106330812A (zh) * 2015-06-15 2017-01-11 腾讯科技(深圳)有限公司 文件安全性识别方法及装置
US20180253258A1 (en) * 2017-03-02 2018-09-06 Qualcomm Incorporated Transaction elimination using metadata

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961142A (zh) * 2020-07-20 2022-01-21 美光科技公司 包含各种时延和容量的存储器装置的存储器子系统
CN114077398A (zh) * 2020-08-11 2022-02-22 美光科技公司 用于存储模式控制的系统、方法和设备
CN112231777A (zh) * 2020-12-14 2021-01-15 武汉新芯集成电路制造有限公司 一种单调计数器及其单调计数方法

Also Published As

Publication number Publication date
US20200184107A1 (en) 2020-06-11
US11036887B2 (en) 2021-06-15
US11928246B2 (en) 2024-03-12
CN111309248B (zh) 2023-10-20
US20210303733A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
CN111309248B (zh) 与安全存储器存取有关的方法、系统和设备
US9537656B2 (en) Systems and methods for managing cryptographic keys in a secure microcontroller
CN106462509B (zh) 用于保全存取保护方案的设备及方法
US11736276B2 (en) Delegation of cryptographic key to a memory sub-system
US11960632B2 (en) Data attestation in memory
US11784827B2 (en) In-memory signing of messages with a personal identifier
US20220350894A1 (en) Endpoint Authentication based on Boot-Time Binding of Multiple Components
US11755210B2 (en) Unauthorized memory access mitigation
US11669643B2 (en) Block chain based validation of memory commands
US20200210078A1 (en) Unauthorized access command logging for memory
CN113632413A (zh) 使用存储器作为区块链中的块
US11316841B2 (en) Secure communication between an intermediary device and a network
CN113826071A (zh) 空中更新确认
US20230057638A1 (en) Session Access to Files in a File System Mounted in a Secure Memory Device
US20230185483A1 (en) Solid State Drives with Hardware Accelerators for Proof of Space Computations
US20220138114A1 (en) Using memory as a block in a block chain
TW202403773A (zh) 半導體裝置及用以管理其之安全操作的系統與方法
KR20230075548A (ko) 트러스티드 컴퓨팅 시스템 및 이의 증명 방법
CN117592131A (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