CN116361789A - 用以检测攻击的训练程序改变确定 - Google Patents

用以检测攻击的训练程序改变确定 Download PDF

Info

Publication number
CN116361789A
CN116361789A CN202211683598.XA CN202211683598A CN116361789A CN 116361789 A CN116361789 A CN 116361789A CN 202211683598 A CN202211683598 A CN 202211683598A CN 116361789 A CN116361789 A CN 116361789A
Authority
CN
China
Prior art keywords
memory device
training
program
signaling
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.)
Pending
Application number
CN202211683598.XA
Other languages
English (en)
Inventor
A·P·贝姆
D·赫尔顿
J·赫里茨
T·施米茨
M·S·沃赫拉
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 CN116361789A publication Critical patent/CN116361789A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请案是针对用以检测攻击的训练程序改变确定。主机装置可执行一或多个训练程序以训练存储器装置(例如,动态随机存取存储器DRAM组件)的各方面。训练程序可取决于与所述存储器装置相关联的当前(例如,目前,在阈值持续时间内)度量,例如介于所述存储器装置与所述主机装置之间的信道的当前信道度量。所述主机装置、所述存储器装置,或另一装置可存储与训练程序相关联的一组参考值,且可将训练程序的结果与所述组中的参考值进行比较以确定所述训练程序是否已改变。如果所述训练程序或相关值已改变,那么所述存储器装置可禁用所述存储器装置的一或多个特征以保护免受潜在攻击。

Description

用以检测攻击的训练程序改变确定
交叉参考
本专利申请案主张由伯埃姆(BOEHM)于2022年3月2日提出申请的标题为“用以检测攻击的训练程序改变确定(TRAINING PROCEDURE CHANGE DETERMINATION TO DETECTATTACK)”的美国专利申请案第17/653,264号及由伯埃姆于2021年12月29日提出申请的标题为“用以检测攻击的训练程序改变确定(TRAINING PROCEDURE CHANGE DETERMINATIONTO DETECT ATTACK)”的美国临时专利申请案第63/266,147号的优先权,每一专利申请案转让给本专利申请案受让人,且每一专利申请案以全文引用的方式明确并入本文中。
技术领域
技术领域涉及用以检测攻击的训练程序改变确定。
背景技术
存储器装置广泛地用于在例如计算机、用户装置、相机、数字显示器等各种电子装置中存储信息。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可经编程为两个受支持状态中的一个,通常用逻辑1或逻辑0表示。在一些实例中,单个存储器单元可支持多于两个状态,可存储其中任何一个。为了存取所存储信息,组件可读取或感测存储器装置中的至少一个存储状态。为了存储信息,组件可在存储器装置中写入或编程状态。
存在各种类型的存储器装置及存储器单元,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、快闪存储器、相变存储器(PCM)、自选存储器、硫属化物存储器技术等。存储器单元可为易失性的或非易失性的。即使在没有外部电源的情况下,非易失性存储器,例如,FeRAM,也可在延长的时间段内维持其所存储逻辑状态。易失性存储器装置(例如,DRAM)可在从外部电源断开连接时丢失其所存储状态。
发明内容
本发明描述一种方法。所述方法可包含:将与用于训练存储器装置的程序相关联的多个参考值写入到主机装置处的非易失性存储器;至少部分地基于介于主机装置与存储器装置之间的信道的当前度量而执行用于训练存储器装置的程序;及至少部分地基于用于训练存储器装置的程序的结果及对应于信道的当前度量的多个参考值中的参考值而禁用存储器装置的一或多个特征。
本发明描述一种方法。所述方法可包含:至少部分地基于介于存储器装置与主机装置之间的信道的当前度量而执行用于训练存储器装置的程序;至少部分地基于用于训练存储器装置的程序的结果而在存储器装置处且从主机装置接收指示命令的信令;及至少部分地基于命令而禁用存储器装置的一或多个特征。
本发明描述一种方法。所述方法可包含:将与用于训练存储器装置的动态随机存取存储器(DRAM)组件的程序相关联的多个参考值写入到存储器装置处的非易失性存储器;至少部分地基于介于主机装置与存储器装置的DRAM组件之间的信道的当前度量而从主机装置接收指示用于训练存储器装置的DRAM组件的程序的结果的第一信令;及至少部分地基于用于训练存储器装置的DRAM组件的程序的结果及对应于信道的当前度量的多个参考值中的参考值而将指示介于主机装置与存储器装置的DRAM组件之间的信道的改变的第二信令发射到主机装置。
描述一种设备。所述设备可包含主机装置;及与主机装置耦合的逻辑。所述逻辑可操作以致使设备:将与用于训练存储器装置的程序相关联的多个参考值写入到主机装置处的非易失性存储器;至少部分地基于介于主机装置与存储器装置之间的信道的当前度量而执行用于训练存储器装置的程序;及至少部分地基于用于训练存储器装置的程序的结果及对应于信道的当前度量的多个参考值中的参考值而禁用存储器装置的一或多个特征。
描述一种设备。所述设备可包含存储器装置;及与存储器装置耦合的逻辑。所述逻辑可操作以致使设备:至少部分地基于介于存储器装置与主机装置之间的信道的当前度量而执行用于训练存储器装置的程序;至少部分地基于用于训练存储器装置的程序的结果而在存储器装置处且从主机装置接收指示命令的信令;及至少部分地基于命令而禁用存储器装置的一或多个特征。
附图说明
图1及2说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的***的实例。
图3说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的处理流程的实例。
图4说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的主机装置的框图。
图5说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的存储器装置的框图。
图6至图8展示根据如本文中所公开的实例的说明支持用以检测攻击的训练程序改变确定的方法的流程图。
具体实施方式
***,例如汽车***(例如,车辆),可包含与存储器装置耦合的主机装置。主机装置及存储器装置可通过主机装置与存储器装置之间的一或多个信道使用信令来传达信息(例如,命令、数据)。在一些状况下,对存储器装置的攻击可影响在存储器装置与主机装置之间的一或多个信道特性。例如,修改存储器装置处的印刷电路板(PCB)(例如,藉由添加中介层、修改布线、修改插槽或其某一组合)可改变存储器装置与主机装置之间的一或多个信道的特性。另外或替代地,将存储器装置或存储器装置的组件(例如,动态随机存取存储器(DRAM)组件)从***移除可改变主机装置与存储器装置或存储器装置的组件之间的一或多个信道的特性。在一些实例中,未经授权的用户(例如,黑客、客户)可移除存储器装置,例如DRAM,或以其它方式修改存储器装置以除其它实例外还从例如DRAM的存储器装置捕获安全通信或读取安全信息。在发生攻击之前或甚至在发生攻击时,检测此类攻击可允许存储器装置执行操作以减轻安全或其它信息的窃取,并防止安全或其它信息将来被盗。
如本文中所公开,***可支持一或多种技术来对存储器装置(例如存储器装置的DRAM组件)执行训练,以检测可能的攻击。对于DRAM的训练程序可取决于DRAM与主机装置之间的信道特性。此外,移除DRAM或向存储器装置添加其它组件,可改变信道特性,并相应地影响训练程序。***可使用一或多个训练程序来确定信道特性的改变并检测***是否受到攻击。为了支持检测到存储器装置攻击,***的主机装置可在潜在攻击之前(例如,在生产期间)用DRAM组件执行训练,并可存储参考训练值以供将来比较。例如,主机装置可针对多个数据点(例如,在不同的温度值下,在DRAM组件的不同电压下,在DRAM组件的不同速度下,或任何其它数据点)用DRAM组件执行训练程序,且所得训练值(例如,电压参考(VREF)值,时钟调整)可例如存储为参考值。主机装置、存储器装置,或与主机通信的另一存储器装置器件可存储参考值(例如,在非易失性存储器中)以与未来值(例如与训练相关的值)进行比较。在一些状况下,对存储器装置(例如DRAM组件)的攻击可导致预期训练值的变化。例如,在VREF训练程序中,如果攻击者移除DRAM,那么用于训练的VREF设置的值可与预期参考值不同。预期参考值可基于参考值的条件或当前(例如,时间)度量(例如,信道的温度)与当前条件或度量的那些(例如,当执行训练程序时)相似而选择。训练程序的结果的改变(例如,与预期参考值相比)可在存储器装置处触发纠正措施。例如,主机装置可基于或响应于检测到的训练程序的改变而禁用存储器装置的一或多个特征。通过采取纠正动作,例如禁用一或多个特征,存储器装置可有效地锁定或限制特定功能或一些信息以保护安全信息免受攻击(例如,通过避免使用安全密钥,锁定对特定数据的存取,避免传达特定数据,或以其它方式锁定涉及潜在安全风险的锁定功能)。
首先在如参考图1及2所描述的***的上下文中描述本公开的特征。在如参考图3所描述的流程图的上下文中描述本公开的额外特征。通过涉及如参考图4到8所描述的用以检测攻击的训练程序改变确定的设备图及流程图进一步说明及参考所述设备图及流程图描述本公开的这些及其它特征。
图1说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的***100的实例。***100可包含主机装置105、存储器装置110及将主机装置105与存储器装置110耦合在一起的多个信道115。***100可包含一或多个存储器装置110,但可在单个存储器装置(例如,存储器装置110)的上下文中描述一或多个存储器装置110的各方面。
***100可包含电子装置的部分,例如计算装置、移动计算装置、无线装置、图形处理装置、运载工具或其它***。例如,***100可说明计算机、膝上型计算机、平板计算机、智能手机、蜂窝式电话、可穿戴装置、因特网连接装置、运载工具控制器等的各方面。存储器装置110可为***的组件,其可操作来存储用于***100的一或多个其它组件的数据。
***100的至少部分可为主机装置105的实例。除其它实例外,主机装置105还可为使用存储器来执行过程的装置内的处理器或其它电路***的实例,例如在计算装置、移动计算装置、无线装置、图形处理装置、计算机、膝上型计算机、平板计算机、智能手机、蜂窝式电话、可穿戴装置、因特网连接装置、运载工具控制器、单片***(SoC)或一些其它固定或便携式电子装置。在一些实例中,主机装置105可指代实施外部存储器控制器120的功能的硬件、固件、软件或其组合。在一些实例中,外部存储器控制器120可被称为主机或主机装置105。
存储器装置110可为独立装置或可操作以提供可由***100使用或引用的物理存储器地址/空间的组件。在一些实例中,存储器装置110可经配置以与一或多个不同类型的主机装置一起工作。主机装置105与存储器装置110之间的信令可操作以支持以下中的一或多个:用以调制信号的调制方案,用于传递信号的各种引脚配置,用于主机装置105及存储器装置110的物理封装的各种形状因数,主机装置105与存储器装置110之间的时钟信令及同步,时序约定或其它因素。
存储器装置110可操作以存储关于主机装置105的组件的数据。在一些实例中,存储器装置110可充当主机装置105的次要型或相依型装置(例如,响应于并执行由主机装置105通过外部存储器控制器120提供的命令)。此类命令可包含用于写入操作的写入命令,用于读取操作的读取命令,用于刷新操作的刷新命令或其它命令中的一或多个。
主机装置105可包含外部存储器控制器120、处理器125、基本输入/输出***(BIOS)组件130或其它组件中的一或多个,例如一或多个***组件或一或多个输入/输出控制器。主机装置105的组件可使用总线135彼此耦合。
处理器125可操作以为***100的至少部分或主机装置105的至少部分提供控制或其它功能性。处理器125可为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑,离散硬件组件,或这些组件的组合。在此类实例中,除其它实例外,处理器125还可为中央处理单元(CPU)、图形处理单元(GPU),通用GPU(GPGPU)或SoC的实例。在一些实例中,外部存储器控制器120可由处理器125实施或为所述处理器的部分。
BIOS组件130可为包含作为固件操作的BIOS的软件组件,其可初始化并运行***100或主机装置105的各种硬件组件。BIOS组件130还可管理处理器125与***100或主机装置105的各种组件之间的数据流。BIOS组件130可包含存储在只读存储器(ROM)、快闪存储器或其它非易失性存储器中的一或多个程序或软件。
在一些实例中,***100或主机装置105可包含I/O控制器。I/O控制器可管理处理器125与***组件、输入装置或输出装置之间的数据通信。I/O控制器可管理未集成到***100或主机装置105中或未与***100或主机装置105集成的***设备。在一些实例中,I/O控制器可表示到外部***组件的物理连接或端口。
在一些实例中,***100或主机装置105可包含输入组件、输出组件或两者。输入组件可表示***100外部的向***100或其组件提供信息、信号或数据的装置或信号。在一些实例中,且输入组件可包含用户界面或与其它装置或在其它装置之间的接口。在一些实例中,输入组件可为经由一或多个***组件与***100介接的***设备,或可由I/O控制器管理。输出组件可表示在***100外部的可操作以从***100或其组件中的任何者接收输出的装置或信号。输出组件的实例可包含显示器、音频扬声器、打印装置、印刷电路板上的另一处理器等。在一些实例中,输出可为经由一或多个***组件与***100介接的***设备,或可由I/O控制器管理。
存储器装置110可包含装置存储器控制器155及一或多个存储器裸片160(例如,存储器芯片)以支持用于数据存储的所要容量或所规定容量。每一存储器裸片160(例如,存储器裸片160-a、存储器裸片160-b、存储器裸片160-N)可包含本地存储器控制器165(例如,本地存储器控制器165-a、本地存储器控制器165-b、本地存储器控制器165-N)及存储器阵列170(例如,存储器阵列170-a、存储器阵列170-b、存储器阵列170-N)。存储器阵列170可为存储器单元的集合(例如,一或多个网格、一或多个存储体、一或多个数据块、一或多个区段),其中每一存储器单元可操作以存储至少一位数据。包含两个或多于两个存储器裸片160的存储器装置110可被称为多裸片存储器或多裸片封装或多芯片存储器或多芯片封装。
装置存储器控制器155可包含可操作以控制存储器装置110的操作的电路、逻辑或组件。装置存储器控制器155可包含使得存储器装置110能够执行各种操作的硬件、固件或指令且可操作以接收、发射或执行与存储器装置110的组件有关的命令、数据或控制信息。装置存储器控制器155可操作以与外部存储器控制器120、一或多个存储器裸片160或处理器125中的一或多个通信。在一些实例中,装置存储器控制器155可结合存储器裸片160的本地存储器控制器165来控制本文中所描述的存储器装置110的操作。
在一些实例中,存储器装置110可从主机装置105接收数据或命令或两者。例如,存储器装置110可接收指示存储器装置110将存储用于主机装置105的数据的写入命令或指示存储器装置110将向主机105提供存储在存储器裸片160中的数据的读取命令。
本地存储器控制器165(例如,在存储器裸片160本地)可包含可操作以控制存储器裸片160的操作的电路、逻辑或组件。在一些实例中,本地存储器控制器165可操作以与装置存储器控制器155通信(例如,接收或发射数据或命令或两者)。在一些实例中,存储器装置110可不包含装置存储器控制器155及本地存储器控制器165,或外部存储器控制器120可执行本文中所描述的各种功能。如此,本地存储器控制器165可操作以与装置存储器控制器155,与其它本地存储器控制器165,或直接与外部存储器控制器120或处理器125或其组合进行通信。可包含在装置存储器控制器155或本地存储器控制器165或两者中的组件的实例可包含用于接收信号(例如,来自外部存储器控制器120)的接收器,用于发射信号(例如,到外部存储器控制器120))的发射器,用于对所接收到的信号进行解码或解调的解码器,用于对待发射的信号进行编码或调制的编码器,或可操作用于支持装置存储器控制器155或本地存储器控制器165或两者的所描述操作的各种其它电路或控制器。
外部存储器控制器120可操作以在***100或主机装置105的组件(例如,处理器125)与存储器装置110之间实现信息、数据或命令中的一或多个的通信。外部存储器控制器120可转换或翻译在主机装置105的组件与存储器装置110之间交换的通信。在一些实例中,外部存储器控制器120或***100或主机装置105的其它组件,或其在本文中所描述的功能可由处理器125实施。例如,外部存储器控制器120可为由处理器125或***100或主机装置105的其它组件实施的硬件、固件或软件或其某一组合。尽管外部存储器控制器120被描绘为在存储器装置110外部,但在一些实例中,外部存储器控制器120或其在本文中所描述的功能可由存储器装置110的一或多个组件(例如,装置存储器装置155、本地存储器控制器165)来实施,或反之亦然。
主机装置105的组件可使用一或多个信道115与存储器装置110交换信息。信道115可操作以支持外部存储器控制器120与存储器装置110之间的通信。每一信道115可为在主机装置105与存储器装置之间载运信息的传输媒体的实例。每一信道115可在与***100的组件相关联的端子之间包含一或多个信号路径或发射媒体(例如,导体)。信号路径可为可操作以载运信号的导电路径的实例。例如,信道115可包含第一端子,所述第一端子包含在主机装置105处的一或多个引脚或焊盘以及在存储器装置110处的一或多个引脚或焊盘。引脚可为***100的装置的导电输入或输出点的实例,且引脚可为可操作以充当信道的一部分。
信道115(及相关联信号路径及端子)可专用于传递一或多个类型的信息。例如,信道115可包含一或多个命令与地址(CA)信道186、一或多个时钟信号(CK)信道188、一或多个数据(DQ)信道190、一或多个其它信道192,或其组合。在一些实例中,可通过信道115使用单数据速率(SDR)信令或双倍数据速率(DDR)信令传递信令。在SDR信令中,可针对每一时钟周期(例如,在时钟信号的上升沿或下降沿上)登记信号的一个调制符号(例如,信号电平)。在DDR信令中,可针对每一时钟周期(例如,在时钟信号的上升沿及下降沿两者上)登记信号的两个调制符号(例如,信号电平)。
在一些实例中,CA信道186可操作以在主机装置105与存储器装置110之间传递命令,所述命令包含与命令相关联的控制信息(例如,地址信息)。例如,由CA信道186载运的命令可包含具有所要数据的地址的读取命令。在一些实例中,CA信道186可包含任何数量用以对地址或命令数据中的一或多个进行解码的信号路径(例如,八个或九个信号路径)。
在一些实例中,时钟信号信道188可操作以在主机装置105与存储器装置110之间传递一或多个时钟信号。每一时钟信号可操作以在高状态与低状态之间振荡,且可支持主机装置105与存储器装置110的动作之间的协调(例如,及时)。在一些实例中,时钟信号可为单端的。在一些实例中,时钟信号可提供用于存储器装置110的命令及寻址操作,或用于存储器装置110的其它***范围操作的时序参考。时钟信号因此可被称为控制时钟信号、命令时钟信号或***时钟信号。***时钟信号可由***时钟生成,***时钟可包含一或多个硬件组件(例如,振荡器、晶体、逻辑门、晶体管)。
在一些实例中,数据信道190可操作以在主机装置105与存储器装置110之间传达数据或控制信息中的一或多个。例如,数据信道190可传达待写入到存储器装置110的信息(例如,双向的)或从存储器装置110读取的信息。
在一些实例中,一或多个其它信道192可包含一或多个检错码(EDC)信道。EDC信道可操作以传达错误检测信号(例如校验和),以改进***可靠性。EDC信道可包含任何数量的信号路径。
可使用一或多个不同的调制方案来调制经由信道115传递的信号。在一些实例中,可使用二进制符号(或二进制级别)调制方案来调制在主机装置105与存储器装置110之间传递的信号。二进制符号调制方案可为M进制调制方案的实例,其中M等于2。二进制符号调制方案的每一符号可操作以表示一位数字数据(例如,符号可表示逻辑“1”或逻辑“0”)。二进制符号调制方案的实例包含但不限于不归零(NRZ)、单极编码、双极编码、曼彻斯特编码、具有两个符号的脉冲幅度调制(PAM)(例如,PAM2),及/或其它。
在一些实例中,可使用多符号(或多级别)调制方案来调制在主机装置105与存储器装置110之间传递的信号。多符号调制方案可为M进制调制方案的实例,其中M大于或等于3。多符号调制方案的每一符号可操作以表示多于一位的数字数据(例如,符号可表示逻辑00、逻辑01、逻辑10或逻辑11)。多符号调制方案的实例包含但不限于PAM3、PAM4、PAM8等,正交振幅调制(QAM)、正交相移键控(QPSK)及/或其它。多符号信号(例如,PAM3信号或PAM4信号)可为使用包含至少三个层级以对多于一个位信息进行编码的调制方案进行调制的信号。多符号调制方案及符号可替代地被称作为非二进制、多位或更高阶调制方案及符号。
在一些实例中,***100可为汽车***(例如,车辆)的实例。例如,主机装置105及存储器装置110两者均可为车辆的组件,且主机装置105、存储器装置110或两者均可进一步与车辆的其它部件耦合。在一些状况下,***100可容易受到来自黑客或其它用户的攻击。例如,用户(例如,黑客)可探测存储器装置110,例如DRAM总线或其它类型的存储器装置或组件,以确定来自存储器装置110的信息。以此方式,用户可获得对存储器装置110的旨在对用户隐瞒或用户不可存取的安全信息或组件(例如,固件、密钥、明文数据)的存取。安全信息可为存储在装置(例如,车辆)处的信息或在生态***中(例如,在车辆与其它装置或云组件之间)通信的信息。在一些状况下,用户可操纵车辆处的信息或通信信息以触发特定响应、存取特定数据或引起存储器装置110处的其它响应。安全信息当存储器装置110处于空闲状态时可为特别敏感(例如,在相对低功耗模式下操作),此可在一些车辆情况下,例如当车辆在给定时间内空闲时发生。一些存储器装置110,诸如低功耗双倍数据速率(LPDDR)DRAM存储器装置,可保持处于空闲状态达较长时间段(例如,几天、几周),在用户(例如,黑客)可尝试从存储器装置110检索信息(例如,应以其它方式限制用户存取的信息)期间。一些车辆***可利用LPDDR DRAM存储器来改进电源效率,但LPDDR DRAM存储器可在车辆停车时可能易受攻击。
用户(例如,黑客)可执行一或多个不同类型的攻击来尝试存取在存储器装置110处的安全信息。在第一实例中,用户可将存储器装置110或存储器装置110的一部分从***100(例如,从车辆)物理地移除。例如,当车辆熄火且存储器装置110处于空闲状态时,用户可移除存储器装置110并探测存储器装置110以获得信息(例如,通过检测DRAM或总线上的信息,通过将存储器装置110置于读取器中以读出信息,或使用一些其它技术)。在一些状况下,用户可移除存储器装置110处的DRAM组件(例如,从PCB或作为PCB的部分),可安装带有分支电缆的中介层,且可以使用协议分析器捕获DRAM流量。在一些其它状况下,用户可冻结DRAM、其它存储器装置组件或两者(例如,使用物质来相对快速地过冷存储器装置110),然后移除冷却的存储器装置110,并探测移除的存储器装置110。例如,用户可将DRAM球栅阵列(BGA)组件从PCB移除,向下焊接DRAM插槽,且然后在插槽中安装不同的DRAM。此不同的DRAM可在车辆的操作期间使用数据进行编程。在存储器装置进入例如睡眠模式的低功耗模式(例如,将RAM中的数据持久化)之后,用户可过冷DRAM(例如,用冷冻喷雾)并移除冷却的DRAM。过冷DRAM可导致阵列保留至少一些数据,而不执行刷新操作达较长时间段。用户可将移除的DRAM置放在另一插槽板中,所述插槽板可未解锁或具有额外测试设备来读取阵列的内容,搜索用以解密安全存储的密钥。当使用这些技术中的一或多个来移除存储器装置110时,用户可在一时间段(例如,一或多天)内捕获大量信息(例如,太字节数据)。
在第二实例中,用户可在存储器装置110处于***100内合适位置中时探测存储器装置110(例如,无需将存储器装置110或存储器装置110的部分从车辆移除)。例如,如果车辆保持空闲(例如,停放)在较长时间段(例如,多天或多周)内,那么用户可在几天或更长持续时间的过程内探测位于合适位置中的存储器装置110。类似于第一实例中,用户可在一时间段(例如,一或多天)内捕获大量信息(例如,太字节数据),而无需将存储器装置110从***100移除。
在第三实例中,用户可将第三方装置安装在***100内(例如,在车辆上,例如,无需对车主的了解)。第三方装置可从存储器装置110读取或收集信息,且可将信息传输回给用户(例如,实时或根据某一周期性或触发条件)。在一些状况下,添加的第三方装置可在车辆操作中时读取信息。例如,第三方装置可使用DRAM逻辑分析仪或另一组件来对存储器装置110、主机装置105或两者执行信道分析。第三方装置可在车辆处于停放时,在车辆操作时,或其组合捕获信息并将其传输给用户。
如本文中所描述,如果将存储器装置110或存储器装置110的部分从***100移除或如果存储器装置110被修改而独立于原始设备制造商(OEM),一或多个信道115的信道条件可改变。因此,***100可使用主机装置105与存储器装置110的DRAM组件之间的训练程序基于检测信道115的信道特性的改变而检测对存储器装置110的一或多个类型的攻击。在一些状况下,在生产期间或离开OEM之前,可针对一或多个训练程序确定参考值。为了支持对攻击的检测,主机装置105及DRAM组件可执行训练程序并基于当前度量或测量值将训练程序的结果(例如,训练值)与参考值进行比较。在一些状况下,训练值与满足阈值的参考值的差可指示存储器装置受到攻击或已受到攻击。如此,响应于主机装置105检测训练程序的改变(例如,与所存储的参考值相比),存储器装置110可采取纠正动作,例如禁用一或多个特征(例如,锁定特定功能以保护安全信息免受攻击)。
尽管本文中可在DRAM、铁电RAM(FeRAM)或其它基于电容的存储器类型方面来描述一些实例,但应理解,本文中的教示内容的方面可应用于任何存储器装置(例如,各种类型及组合的易失性存储器、非易失性存储器或两者的一些组合)。另外,尽管本文中可在车辆及汽车***方面描述一些实例,应理解,本文中教示内容可适用于车辆上下文之外的任何***及各种实例,此仅为一个实例实施方案。
图2说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的***200的实例。***200可为如参考图1所描述的***100的实例。例如,***200可为汽车***的实例,例如车辆。***200可包含主机装置205及存储器装置210,所述主机装置及存储器装置可为参考图1所描述的对应装置的实例。主机装置205可与存储器装置210耦合,使得主机装置205可通过一或多个信道(例如参考图1所描述的信道115)向存储器装置210发出信号并从所述存储器装置接收信号。在一些状况下,存储器装置210可包含与主机装置205通信的DRAM组件215。主机装置205可在主机装置205与存储器装置210之间使用训练程序来检测对存储器装置210的攻击(例如,对DRAM组件215的攻击)。
主机装置205及DRAM组件215可执行一或多个初始训练程序(例如,在生产期间)以确定一或多个参考值。例如,在PCB的最终组装之后,积分器可对存储器装置210运行多个训练程序(例如,依赖于存储器装置210与主机装置205之间信道的训练程序)以确定一组参考值。参考值可为来自初始训练程序的结果值,其中每一参考值对应于一组特定的条件(例如,预定义的测试点以供参考)。用于训练程序的结果值可为VREF值、终止值,时钟对准信息或基于训练程序确定的任何其它值。例如,训练程序可优化主机装置205与DRAM组件215之间的信道的一或多个方面,例如数据吞吐量(例如,优化数据眼)。
在一些状况下,初始训练数据点可形成一组训练参考值,所述训练参考值可存储在参考值存储器235中。例如,在生产期间,可执行训练以在DRAM组件215的不同电压、DRAM组件215的不同速度,与主机装置205与存储器装置210之间的信道相关联的不同温度或其任意组合下确定参考值。换句话说,可在不同的操作条件下执行多个训练以形成一组参考值,供以后比较。这些参考值可对应于特定操作条件下的正常工作值。如此,与这些操作值的偏差(例如,在相同或相似的操作条件下)可指示***200的改变。在一些状况下,***200的改变可指示对存储器装置210的攻击,例如移除DRAM组件215。
主机装置205可存储与非易失性存储器中的一或多个训练程序相关联的所述组参考值。然而,在一些状况下,主机装置205可将所述组参考值存储在存储器装置210的DRAM组件215外部以确保即使DRAM组件215被移除(例如,作为恶意用户攻击的一部分)仍可存取参考值。在一些状况下,参考值存储器235-a可位于主机装置205内(例如,在主机装置处的非易失性存储器中),此可确保在攻击的情况下不用DRAM组件215移除参考值。主机装置205可将所述组参考值写入(例如,编程)到主机装置205处的参考值存储器235-a。在一些其它状况下,参考值存储器235-b可位于存储器装置210处,与DRAM组件215分开。例如,主机装置205可将所述组参考值写入(例如,编程)到在DRAM组件215外部的存储器装置210处的非易失性存储器。在又一些其它状况下,参考值存储器235-c可位于单独的外部存储器装置240中,所述外部存储器装置在主机装置205及存储器装置210两者外部,其可经由信道245与存储器装置210耦合。如此,对存储器装置210的修改可不影响存储在外部存储器装置240处的参考值存储器235-c中的参考值。参考值可存储在参考值存储器235的一或多个实例中。在一些实例中,主机装置205、存储器装置210或两者可另外将对应于每一参考值的相应操作条件记录到非易失性存储器,使得主机装置205、存储器装置210或两者可基于一或多个操作条件(例如,温度、DRAM组件215的电压、DRAM组件215的速度)查找相关参考值。
在一些状况下,训练程序及参考值可用于检测组件已附接到信道或与信道接触,以便扫描总线或便于轻松移除DRAM组件215。例如,修改存储器装置210处的PCB(例如,藉由添加中介层、修改或添加布线、修改或添加插槽或其某一组合)可影响训练程序的所得值。另外或替代地,将存储器装置210或DRAM组件215从***200移除可影响用于训练程序的结果值。即,修改PCB可改变存储器信道的特性,对应地导致信道训练结果在修改之前及之后不同。因此,可取决于存储器装置210、DRAM组件215或主机装置205之间的信道的特性的任何训练可用于确定攻击者的可能干扰。此类训练可包含但不限于VREF训练、时钟对准或终止值训练、其它训练或其任一组合。另外或替代地,主机装置205、存储器装置210或两者可使用在行业标准或规范(例如,JEDEC LPDDR规范)内定义的任何训练或由***200执行的任何其它训练。因此,主机装置205、存储器装置210或两者可重复使用训练程序来实现多个目标:训练存储器装置210(例如,DRAM组件215)以改进性能,同时并发地测试对存储器装置210的修改。在一些状况下,可执行训练程序以监视存储器装置210的运行状况。
根据在生产期间执行的训练(例如,在存储器装置210的最终组装之后由积分器进行)写入到参考值存储器235的参考值—例如,在对存储器装置210进行可能的攻击之前—可用于评估当前训练是否在范围内(例如,是否“正常”)或DRAM组件215是否可受到攻击。在一些实例中,当触发事件发生时(例如,启动存储器装置210或另一触发事件),主机装置205可用DRAM组件215执行训练程序。例如,如果执行VREF训练,那么主机装置205可确定对应于“最佳”数据眼(例如,满足阈值性能度量的数据眼)的VREF值。可将所确定VREF值(例如,训练程序的结果值)与存储在参考值存储器235处的参考值进行比较来确定是否检测到训练程序的改变。例如,如果所确定VREF值与参考值不同(例如,超过错误容限),主机装置205、存储器装置210或两者均可确定训练程序已改变(例如,基于主机装置205与存储器装置210之间的信道的改变),可能指示存储器装置210上已发生攻击。
主机装置205或存储器装置210可基于主机装置205、存储器装置210,或两者的一或多个当前操作条件确定参考值以进行比较。例如,主机装置205、存储器装置210或两者可在训练程序之前或期间执行一或多个测量。例如,主机装置205、存储器装置210或两者可测量DRAM组件215的一或多个参数(例如,电压、速度)、主机装置205与存储器装置210之间的一或多个信道参数,或其组合。另外或替代地,主机装置205可接收来自一或多个外部传感器(例如温度传感器)的一或多个测量值(例如,度量)。主机装置205、存储器装置210,或两者可使用最近的度量(或一组最新度量)作为训练程序的“当前”度量。换句话说,当前度量可对应于在时间阈值内由主机装置205确定的测量值,在时间阈值内由主机装置205确定的一或多个测量值的平均值(例如,其中移除异常值),通过执行训练程序触发的测量值或其任一组合。在一些实例中,主机装置205与存储器装置210之间的信道的当前度量可基于DRAM组件215的电流电压、DRAM组件215的电流速度、与主机装置205与存储器装置210之间的信道相关联的当前温度,或可由主机装置205、存储器装置210或两者执行或接收的这些或其它测量的任一组合。
主机装置205或存储器装置210可使用一或多个当前度量来从参考值存储器235选择参考值用于进行比较。如本文中所描述,每一参考值对应于相应操作条件(例如,度量),在所述操作条件下执行训练程序以便获得参考值。主机装置205或存储器装置210可确定对应于所存储参考值且最接近于一或多个当前度量的一或多个操作条件。例如,如果当前度量是温度值(例如,40.2℃),那么主机装置205或存储器装置可确定与最接近于当前温度值的温度数据点(例如,40℃)相关联的参考值,及可使用所确定的参考值进行比较。以此方式,主机装置205可将训练程序的结果与在相对相似的操作条件下训练程序的先前结果进行比较以确定训练程序是否已改变。
在一些状况下,如果当前训练程序的结果值(例如,VREF值)在用于比较的参考值的范围(例如,预定容限)内,主机装置205可确定训练程序尚未改变。因此,主机装置205可预测尚未发生攻击或篡改DRAM组件215。在其它状况下,如果当前训练程序的结果值超出用于比较的参考值的范围,那么主机装置205可确定训练程序已改变,且在一些实例中,可预测已发生对DRAM组件215的攻击。在一些状况下,范围可在主机装置205或存储器装置210处预先配置。在一些其它状况下,例如,所述范围可基于一或多个安全度量进行调谐。另外或替代地,范围可基于一或多个触发器动态地改变(例如,在检测到可疑行为的情况,使用相对较小的范围)。
如果主机装置205、存储器装置210或两者确定训练程序的改变,主机装置205、存储器装置210或两者可采取纠正措施。例如,主机装置205可基于或响应于与预期训练程序的差而禁用存储器装置210的一或多个特征。通过采取纠正动作,例如禁用一或多个特征,存储器装置210可有效地锁定或限制特定功能以保护安全信息免受攻击(例如,通过避免使用安全密钥,锁定对特定数据的存取,避免传达特定数据,或以其它方式锁定涉及潜在安全风险的锁定功能)。另外或替代地,主机装置205可基于比较而将通知(例如,指示训练程序已确定改变的信令)传输到OEM或其它装置。在一些实例中,主机装置205可基于比较而向DRAM组件215传输从DRAM组件215请求识别信息的信令(例如,以确定DRAM组件215是否已被移除并替换)。
在一个实例中,主机装置205可用DRAM组件215执行训练(例如VREF训练)以确定信令的值(例如VREF值),其中VREF是命令地址(CA)输入接收器的DRAM参考电压。主机装置205可基于VREF训练的一或多个结果调谐VREF值,以调整数据眼(例如,优化主机装置205与存储器装置210之间信道上的数据吞吐量)。为了执行VREF训练,主机装置205可将例如命令地址测试(CAT)模式在CA总线220上发送到DRAM组件215。DRAM组件215可包含训练电路***225(例如,环回模式),以促进经由DQ信道230将CAT模式发送回到主机装置205。主机装置205可基于训练(例如,使用在DQ信道230上反馈的信息)而确定主机装置205与存储器装置210之间的信道的一或多个参数并基于一或多个参数而选择VREF值。例如,主机装置205可在发送CAT模式的同时扫描VREF设置且可测量结果数据眼(例如,针对不同的VREF设置的DQ信道230上的返回数据眼),直到特定(例如,最大)数据眼由主机装置205实现。以此方式,主机装置205可基于所反馈CAT模式的数据眼而为信道选择VREF设置。在一些状况下,主机装置205可在启动时在多个设定点处执行VREF训练。
在初始程序(例如,在积分器处),主机装置205可执行VREF训练以确定一组参考值(例如,VREF设置)并将其写入到参考值存储器235(例如,在电压、速度、温度或其它度量的不同数据点处选定数据眼的所确定VREF设置)。在现场操作期间,主机装置205可执行VREF训练以确定VREF设置并基于一或多个操作条件将VREF设置与最相关的参考值进行比较。此类训练程序可允许主机装置205应用所确定VREF设置,以及检测VREF训练是否已改变。
图3说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的处理流程300的实例。处理流程300可通过参考图1及2所描述的装置来执行。例如,主机装置—例如主机装置105或主机装置205—可执行处理流程300的一或多个方面,且存储器装置—诸如存储器装置110或存储器装置210—可执行处理流程300的一或多个其它方面。主机装置可与存储器装置耦合,且主机装置及存储器装置可皆与车辆(例如,其组件)相关联。处理流程300可支持基于主机装置与DRAM组件(例如参考图2所描述的DRAM组件215)之间的训练程序而检测存储器装置攻击。可实施以下的替代实例,其中一些步骤以不同的程序或根本不执行。另外,一些步骤可包含下文面未提及的额外特征。
处理流程300的各方面可由控制器以及其它组件(例如,主机装置控制器、外存储器控制器、存储器装置控制器或其某一组合)来实施。另外或替代地,处理流程300的各方面可通过与主机装置或存储器装置耦合的逻辑实施。例如,逻辑可为可操作以致使设备执行处理流程300的操作。
在305,主机装置可将参考值发出或写入(或导致写入)到非易失性存储器。例如,主机装置及存储器装置可在现场操作之前的不同操作条件下执行多个训练程序,以确定不同数据点的一组参考值(例如,操作条件,例如温度、DRAM速度、DRAM电压)。这些参考可存储值以与以后的训练进行比较。参考值可如参考图2所描述来判定且非易失性存储器可包含参考值存储器,如参考图2所描述。例如,主机装置可在主机装置处,在(例如,在DRAM组件外部的)存储器装置处,在包含DRAM组件的存储器装置外部的另一存储器装置处,或其任一组合将参考值写入到非易失性存储器,使得在现场进行训练时参考值可为可存取的。
在310,主机装置及存储器装置(例如,存储器装置的DRAM组件)可如参考图2所描述执行训练程序。在一些状况下,训练可基于当前度量(例如,信道的温度或信道或DRAM组件的另一相对较新的测量或设置),如参考图2所描述。除其它实例外,训练还可由事件触发,例如,作为启动存储器装置或监视存储器装置的运行状况的程序的一部分。
在315,主机装置或存储器装置可将当前训练程序的结果与参考值进行比较以便确定两个值之间的差。在一些状况下,参考值可对应于当前度量(例如,在训练时信道的当前温度),如参考图2所描述。例如,主机装置或存储器装置可在确定参考值时基于对应于(例如,最接近于)操作度量的当前训练的当前度量而从一组所存储参考值选择比较参考值。
在320,主机装置可确定训练结果与参考值之间的差是否满足阈值。例如,主机装置可确定差的绝对值是否大于或小于阈值(例如,与参考值的误差容限)。另外或替代地,主机装置可确定训练结果是在参考值周围的阈值范围内还是超过所述阈值范围。
在一些状况下,在325,主机装置可确定差满足阈值(例如,大于阈值)。如果差满足阈值(例如,确定训练程序的改变),那么主机装置可检测对存储器装置的修改。在一些状况下,例如对存储器装置的此类修改可指示对存储器装置的攻击,如参考图2所描述。
在330,在一些状况下,基于确定差满足阈值,主机装置可传输通知。在一些状况下,主机装置可将通知传输到OEM、用户装置或两者。例如,通知可指示存储器装置已受到可能攻击。
在一些状况下,在335,主机装置可向存储器装置发出命令以禁用一或多个特征。例如,如果训练作为启动程序的一部分执行,那么主机装置可发出命令以停止启动程序以便保护安全信息免受攻击。在另一实例中,主机装置可发出命令以启动可抑制攻击者获得安全信息的存储器装置的锁定特征。
在340,基于确定训练值(例如,当前训练程序的结果值)与参考值之间的差满足阈值时,主机装置可禁用存储器装置的一或多个特征。例如,主机装置可启动存储器装置的锁定特征或对攻击采取其它行动。存储器装置可避免执行特定功能(例如,采取一些数据,生成或使用一些密钥)以减轻对存储器装置、DRAM组件或两者的潜在攻击。
如果主机装置确定训练值与参考值之间的差无法满足阈值(例如,差小于阈值),那么在345,主机装置可确定尚不存在对存储器装置的攻击且可根据第一模式(例如,默认模式、正常操作模式)操作,例如使用可依赖于或存取安全信息的存储器装置的一或多个特征。在345,主机装置可预测尚不存在对DRAM组件或存储器装置的攻击,确定与DRAM组件有关的信息可为安全的,且可供主机装置使用。
图4说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的主机装置420的框图400。主机装置420可为如参考图1到3所描述的主机装置的方面的实例。主机装置420或其各种组件可为用于执行如本文中所描述的用以检测攻击的训练程序改变确定的各种方面的装置的实例。例如,主机装置420可包含参考值组件425,训练组件430、禁用组件435、CAT模式组件440、反馈信号组件445、选择组件450、差确定组件455、修改检测组件460、运行状况监视组件465、启动组件470、通知组件475、参数确定组件480或其任一组合。这些组件中的每一个可彼此直接或间接地通信(例如,经由一或多个总线)。
参考值组件425可经配置为或以其它方式支持用于将与用于训练存储器装置的程序相关联的多个参考值写入到主机装置处的非易失性存储器的装置。训练组件430可经配置为或以其它方式支持用于至少部分地基于主机装置与存储器装置之间的信道的当前度量而执行用于训练存储器装置的程序的装置。禁用组件435可经配置为或以其它方式支持用于至少部分地基于用于训练存储器装置的程序的结果及对应于信道的当前度量的多个参考值中的参考值而禁用存储器装置的一或多个特征的装置。
在一些实例中,训练组件430可经配置为或以其它方式支持用于执行用于训练存储器装置且对应于多个相应温度的多个程序的装置,其中多个参考值至少部分地基于用于训练存储器装置的多个程序,且其中当前度量为当前温度。
在一些实例中,训练组件430可经配置为或以其它方式支持用于至少部分地基于存储器装置的DRAM组件的多个电压、存储器装置的DRAM组件的多个速度,或与信道相关联的多个温度,或其任一组合而执行用于训练存储器装置的装置,其中多个参考值至少部分地基于用于训练存储器装置的多个程序,且其中当前度量为存储器装置的DRAM组件的当前电压、存储器装置的DRAM组件的当前速度,或与信道相关联的当前温度,或其任一组合。
在一些实例中,CAT模式组件440可经配置为或以其它方式支持用于向存储器装置发送指示CAT模式的第一信令。在一些实例中,反馈信号组件445可经配置为或以其它方式支持用于从存储器装置接收包含响应于第一信号的反馈的第二信令的装置。在一些实例中,选择组件450可经配置为或以其它方式支持用于至少部分地基于第二信令为介于主机装置与存储器装置之间的信道选择VREF值的装置,其中用于训练存储器装置的程序包含传输、接收,及选择,且其中用于训练存储器装置的程序的结果包含VREF值。在一些实例中,参数确定组件480可经配置为或以其它方式支持用于至少部分地基于第二信令而确定信道的一或多个参数的装置,其中至少部分地基于一或多个参数而选择VREF值。在一些实例中,在CA总线上传输第一信令。在一些实例中,在数据总线上接收第二信令。
在一些实例中,差确定组件455可经配置为或以其它方式支持用于确定用于训练存储器装置的程序的结果与参考值之间的差满足阈值差的装置,其中禁用存储器装置的一或多个特征至少部分地基于确定差满足阈值差。
在一些实例中,用于训练存储器装置的程序包含用于对准存储器装置的时钟的程序。
在一些实例中,修改检测组件460可经配置为或以其它方式支持用于至少部分地基于将用于训练存储器装置的程序的结果与参考值进行比较而检测对存储器装置的修改的装置,其中禁用存储器装置的一或多个特征至少部分地基于检测对存储器装置的修改。在一些实例中,对存储器装置的修改包含向存储器装置添加中介层,向存储器装置添加布线,向存储器装置添加插槽,或将DRAM组件从存储器装置移除,或其任一组合。
在一些实例中,运行状况监视组件465可经配置为或以其它方式支持用于监视存储器装置的运行状况的方法,其中执行用于训练存储器装置的程序至少部分地基于监视存储器装置的运行状况。
在一些实例中,启动组件470可经配置为或以其它方式支持用于执行用于启动存储器装置的程序的装置,其中执行用于训练存储器装置的程序至少部分地基于执行用于启动存储器装置的程序。
在一些实例中,启动组件470可经配置为或以其它方式支持用于至少部分地基于将用于训练存储器装置的程序的结果与参考值进行比较而停止用于启动存储器装置的程序的装置。在一些实例中,启动组件470可经配置为或以其它方式支持装置用于至少部分地基于停止用于启动存储器装置的程序而避免与存储器装置通信安全信息的装置。
在一些实例中,通知组件475可经配置为或以其它方式支持用于至少部分地基于将用于训练存储器装置的程序的结果与参考值进行比较而向OEM,或用户装置或其任一组合传输指示通知的信令的装置。
在一些实例中,禁用组件435可经配置为或以其它方式支持用于至少部分地基于将用于训练存储器装置的程序的结果与参考值进行比较而向存储器装置传输指示命令的信令的装置。在一些实例中,禁用组件435可经配置为或以其它方式支持用于至少部分地基于命令而启动存储器装置的特征的锁定的装置,其中禁用至少部分地基于启动特征的锁定。
在一些实例中,多个参考值包含存储器装置的多个VREF值。
图5展示根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的存储器装置520的框图500。存储器装置520可为如参考图1到3所描述的存储器装置的方面的实例。存储器装置520或其各种组件可为用于执行如本文中所描述的用以检测攻击的训练程序改变确定的各种方面的装置的实例。例如,存储器装置520可包含训练组件525,训练结果组件530,禁用组件535,参考值组件540,反馈信号组件545、CAT模式组件550、修改检测组件555或其任一组合。这些组件中的每一个可彼此直接或间接地通信(例如,经由一或多个总线)。
训练组件525可经配置为或以其它方式支持用于至少部分地基于存储器装置与主机装置之间的信道的当前度量而执行用于训练存储器装置的程序的装置。训练结果组件530可经配置为或以其它方式支持用于至少部分地基于用于训练存储器装置的程序的结果而在存储器装置处且从主机装置接收指示命令的信令的装置。禁用组件535可经配置为或以其它方式支持用于至少部分地基于命令而禁用存储器装置的一或多个特征的装置。
在一些实例中,CAT模式组件550可经配置为或以其它方式支持用于从主机装置接收指示CAT模式的第二信令的装置。在一些实例中,反馈信号组件545可经配置为或以其它方式支持用于向主机装置传输包含对第二信令的反馈的第三信令的装置,其中用于训练存储器装置的程序包含接收第二信令并传输第三信令,且其中用于训练存储器装置的程序的结果至少部分地基于第三信令。在一些实例中,在CA总线上接收第二信令。在一些实例中,在数据总线上传输第三信令。
在一些实例中,用于训练存储器装置的程序包含用于对准存储器装置的时钟的程序。
在一些实例中,修改检测组件555可经配置为或以其它方式支持用于至少部分地基于命令而检测对存储器装置的修改的装置,其中禁用存储器装置的一或多个特征至少部分地基于检测对存储器装置的修改。在一些实例中,对存储器装置的修改包含向存储器装置添加中介层,向存储器装置添加布线,向存储器装置添加插槽,或将DRAM组件从存储器装置移除,或其任一组合。
在一些实例中,禁用组件535可经配置为或以其它方式支持用于至少部分地基于命令而启动存储器装置的特征的锁定的装置,其中禁用至少部分地基于启动特征的锁定。
参考值组件540可经配置为或以其它方式支持用于将与用于训练存储器装置的DRAM组件的程序相关联的多个参考值写入到存储器装置处的非易失性存储器的装置。在一些实例中,训练结果组件530可经配置为或以其它方式支持用于至少部分地基于介于主机装置与存储器装置的DRAM组件之间的信道的当前度量而从主机装置接收指示用于训练存储器装置的DRAM组件的程序的结果的第一信令的装置。反馈信号组件545可经配置为或以其它方式支持用于至少部分地基于用于训练存储器装置的DRAM组件的程序的结果及对应于信道的当前度量的多个参考值中的参考值而向主机装置传输指示介于主机装置与存储器装置的DRAM组件之间的信道的改变的第二信令的装置。
在一些实例中,参考值组件540可经配置为或以其它方式支持用于至少部分地基于用于训练存储器装置的DRAM组件的多个程序而从主机装置接收指示多个参考值的第三信令,其中将多个参考值写入到存储器装置处的非易失性存储器至少部分地基于第三信令。
在一些实例中,禁用组件535可经配置为或以其它方式支持用于至少部分地基于介于主机装置与存储器装置的DRAM组件之间的信道的改变而禁用存储器装置的DRAM组件的一或多个特征的装置。
在一些实例中,多个参考值写入到在存储器装置的DRAM组件外部的非易失性存储器。
图6说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的方法600的流程图。方法600的操作可由如本文中所描述的主机装置或其组件实施。例如,方法600的操作可由主机装置执行,如参考图1到4所描述。在一些实例中,主机装置可执行一组指令来控制装置的功能元件以执行所描述功能。另外或替代地,主机装置可使用专用硬件来执行所描述功能的各个方面。
在605,方法可包含将与用于训练存储器装置的程序相关联的多个参考值写入到主机装置处的非易失性存储器。605的操作可根据如本文中所公开的实例来执行。在一些实例中,605的操作的各方面可由如参考图4所描述的参考值组件425来执行。
在610,方法可包含至少部分地基于介于主机装置与存储器装置之间的信道的当前度量而执行用于训练存储器装置的程序。610的操作可根据如本文中所公开的实例来执行。在一些实例中,610的操作的各方面可由如参考图4所描述的训练组件430来执行。
在615,方法可包含至少部分地基于用于训练存储器装置的程序的结果及对应于所述信道的当前度量的多个参考值中的参考值而禁用存储器装置的一或多个特征。615的操作可根据如本文中所公开的实例来执行。在一些实例中,615的操作的方面可由如参考图4所描述的禁用组件435来执行。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法600。所述设备可包含用于执行本公开的以下方面的特征、电路***、逻辑、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体),或其任一组合:
方面1:设备,其包含用于以下操作的特征、电路***、装置或指令或其任一组合:将与用于训练存储器装置的程序相关联的多个参考值写入到主机装置处的非易失性存储器;至少部分地基于介于主机装置与存储器装置之间的信道的当前度量而执行用于训练存储器装置的程序;及至少部分地基于用于训练存储器装置的程序的结果及对应于信道的当前度量的多个参考值中的参考值而禁用存储器装置的一或多个特征。
方面2:根据方面1所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:执行用于训练存储器装置且对应于多个相应温度的多个程序,其中多个参考值至少部分地基于用于训练存储器装置的多个程序,且其中当前度量为当前温度。
方面3:根据方面1到2所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:至少部分地基于存储器装置的DRAM组件的多个电压、存储器装置的DRAM组件的多个速度,或与信道相关联的多个温度,或其任一组合而执行用于训练存储器装置的多个程序,其中多个参考值至少部分地基于用于训练存储器装置的多个程序,且其中当前度量为存储器装置的DRAM组件的当前电压、存储器装置的DRAM组件的当前速度,或与信道相关联的当前温度,或其任一组合。
方面4:根据方面1到3所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:向存储器装置,传输指示CAT模式的第一信号;从存储器装置接收包含响应于第一信令的反馈的第二信令;及至少部分地基于第二信令为介于主机装置与存储器装置之间的信道选择VREF值,其中用于训练存储器装置的程序包含传输、接收,及选择,且其中用于训练存储器装置的程序的结果包含VREF值。
方面5:根据方面4所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:至少部分地基于第二信令而确定信道的一或多个参数,其中至少部分地基于一或多个参数而选择VREF值。
方面6:根据方面4到5所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:在CA总线上传输第一信令,且在数据总线上接收第二信令。
方面7:根据方面1到6中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:确定用于训练存储器装置的程序的结果与参考值之间的差满足阈值差,其中禁用存储器装置的一或多个特征至少部分地基于确定差满足阈值差。
方面8:根据方面1到7中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:用于训练存储器装置的程序包含用于对准存储器装置的时钟的程序。
方面9:根据方面1到8中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:至少部分地基于将用于训练存储器装置的程序的结果与参考值进行比较而检测对存储器装置的修改,其中禁用存储器装置的一或多个特征至少部分地基于检测对存储器装置的修改。
方面10:根据方面9中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:向存储器装置添加中介层,向存储器装置添加布线,向存储器装置添加插槽,或将DRAM组件从存储器装置移除,或其任一组合。
方面11:根据方面1到10中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:监视存储器装置的运行状况,其中执行用于训练存储器装置的程序至少部分地基于监视存储器装置的运行状况。
方面12:根据方面1到11中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:执行用于启动存储器装置的程序,其中执行用于训练存储器装置的程序至少部分地基于执行用于启动存储器装置的程序。
方面13:根据方面12所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:用于至少部分地基于将用于训练存储器装置的程序的结果与参考值进行比较而停止用于启动存储器装置的程序,且至少部分地基于停止用于启动存储器装置的程序而避免与存储器装置通信安全信息。
方面14:根据方面1到13中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:至少部分地基于将用于训练存储器装置的程序的结果与参考值进行比较而向OEM,或用户装置或其任一组合传输指示通知的信令。
方面15:根据方面1到14中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:至少部分地基于将用于训练存储器装置的程序的结果与参考值进行比较而向存储器装置传输指示命令的信令并至少部分地基于命令而启动存储器装置的特征的锁定,其中禁用至少部分地基于启动特征的锁定。
方面16:根据方面1到15中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:多个参考值包含存储器装置的多个VREF值。
图7说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的方法700的流程图。方法700的操作可由如本文中所描述的存储器装置或其组件实施。例如,方法700的操作可由如参考图1到3及5所描述的存储器装置执行。在一些实例中,存储器装置可执行一组指令来控制装置的功能元件以执行所描述的功能。另外或替代地,存储器装置可使用专用硬件来执行所描述功能的方面。
在705,方法可包含至少部分地基于介于存储器装置与主机装置之间的信道的当前度量而执行用于训练存储器装置的程序。705的操作可根据如本文中所公开的实例来执行。在一些实例中,705的操作的方面可由如参考图5所描述的训练组件525来执行。
在710,方法可包含至少部分地基于用于训练存储器装置的程序的结果而在存储器装置处且从主机装置接收指示命令的信令。710的操作可根据如本文中所公开的实例来执行。在一些实例中,710的操作的方面可由如参考图5所描述的训练结果组件530来执行。
在715,方法可包含至少部分地基于命令而禁用存储器装置的一或多个特征。715的操作可根据如本文中所公开的实例来执行。在一些实例中,715的操作的方面可由如参考图5所描述的禁用组件535来执行。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法700。所述设备可包含用于执行本公开的以下方面的特征、电路***、逻辑、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体),或其任一组合:
方面17:设备,其包含用于以下操作的特征、电路***、装置或指令或其任一组合:至少部分地基于介于存储器装置与主机装置之间的信道的当前度量而执行用于训练存储器装置的程序;至少部分地基于用于训练存储器装置的程序的结果而在存储器装置处且从主机装置接收指示命令的信令;及至少部分地基于命令而禁用存储器装置的一或多个特征。
方面18:根据方面17所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:从主机装置接收指示CAT模式的第二信令,及向主机装置传输包含对第二信令的反馈的第三信令,其中用于训练存储器装置的程序包含接收第二信令并传输第三信令,且其中用于训练存储器装置的程序的结果至少部分地基于第三信令。
方面19:根据方面18所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:在CA总线上接收第二信号,及在数据总线上传输第三信令。
方面20:根据方面17到19中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:用于训练存储器装置的程序包含用于对准存储器装置的时钟的程序。
方面21:根据方面17到20中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:至少部分地基于命令而检测对存储器装置的修改,其中禁用存储器装置的一或多个特征至少部分地基于检测对存储器装置的修改。
方面22:根据方面21中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:向存储器装置添加中介层,向存储器装置添加布线,向存储器装置添加插槽,或将DRAM组件从存储器装置移除,或其任一组合。
方面23:根据方面17到22中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:至少部分地基于命令而启动存储器装置的特征的锁定,其中禁用至少部分地基于启动特征的锁定。
图8说明根据如本文中所公开的实例的支持用以检测攻击的训练程序改变确定的方法800的流程图。方法800的操作可由如本文中所描述的存储器装置或其组件实施。例如,方法800的操作可由如参考图1到3及5所描述的存储器装置执行。在一些实例中,存储器装置可执行一组指令来控制装置的功能元件以执行所描述的功能。另外或替代地,存储器装置可使用专用硬件来执行所描述功能的方面。
在805,方法可包含将与用于训练存储器装置的DRAM组件的程序相关联的多个参考值写入到存储器装置处的非易失性存储器。805的操作可根据如本文中所公开的实例来执行。在一些实例中,805的操作的各方面可由如参考图5所描述的参考值组件540来执行。
在810,方法可包含至少部分地基于介于主机装置与存储器装置的DRAM组件之间的信道的当前度量而从主机装置接收指示用于训练存储器装置的DRAM组件的程序的结果的第一信令。810的操作可根据如本文中所公开的实例来执行。在一些实例中,810的操作的方面可由如参考图5所描述的训练结果组件530来执行。
在815,方法可包含至少部分地基于用于训练存储器装置的DRAM组件的程序的结果及对应于信道的当前度量的多个参考值中的参考值而向主机装置传输指示介于主机装置与存储器装置的DRAM组件之间的信道的改变的第二信令。815的操作可根据如本文中所公开的实例来执行。在一些实例中,815的操作的各方面可由如参考图5所描述的反馈信号组件545来执行。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法800。所述设备可包含用于执行本公开的以下方面的特征、电路***、逻辑、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体),或其任一组合:
方面24:设备,包含用于执行以下操作的特征、电路***、逻辑、装置或指令,或其任一组合:将与用于训练存储器装置的DRAM组件的程序相关联的多个参考值写入到存储器装置处的非易失性存储器;至少部分地基于介于主机装置与存储器装置的DRAM组件之间的信道的当前度量而从主机装置接收指示用于训练存储器装置的DRAM组件的程序的结果的第一信令;及至少部分地基于用于训练存储器装置的DRAM组件的程序的结果及对应于信道的当前度量的多个参考值中的参考值而将指示介于主机装置与存储器装置的DRAM组件之间的信道的改变的第二信令发射到主机装置。
方面25:根据方面24所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:至少部分地基于用于训练存储器装置的DRAM组件的多个程序而从主机装置接收指示多个参考值的第三信令,其中将多个参考值写入到存储器装置处的非易失性存储器至少部分地基于第三信令。
方面26:根据方面24到25中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:至少部分地基于介于主机装置与存储器装置的DRAM组件之间的信道的改变而禁用存储器装置的DRAM组件的一或多个特征。
方面27:根据方面24到26中任一项所述的设备,其进一步包含用于进行以下操作的操作、特征、电路***、逻辑、装置或指令,或其任一组合:将多个参考值写入到在存储器装置的DRAM组件外部的非易失性存储器。
应注意,本文中所描述的方法描述可能实施方案,且可重新配置或以其它方式修改操作及步骤,且其它实施方案为可能的。此外,可组合来自两个或多于两个方法的部分。
描述一种设备。以下提供如本文中所描述的设备的各方面的概述:
方面28:设备,其包含:主机装置;及逻辑,其与所述主机装置耦合且可操作以致使设备:将与用于训练存储器装置的程序相关联的多个参考值写入到主机装置处的非易失性存储器;至少部分地基于介于主机装置与存储器装置之间的信道的当前度量而执行用于训练存储器装置的程序;及至少部分地基于用于训练存储器装置的程序的结果及对应于信道的当前度量的多个参考值中的参考值而禁用存储器装置的一或多个特征。
方面29:根据方面28所述的设备,其中逻辑可进一步操作以致使设备:执行用于训练存储器装置且对应于多个相应温度的多个程序,其中多个参考值至少部分地基于用于训练存储器装置的多个程序,且其中当前度量为当前温度。
方面30:根据方面28到29中任一项所述的设备,其中所述逻辑可进一步操作以致使设备:至少部分地基于存储器装置的DRAM组件的多个电压、存储器装置的DRAM组件的多个速度,或与信道相关联的多个温度,或其任一组合而执行用于训练存储器装置的多个程序,其中多个参考值至少部分地基于用于训练存储器装置的多个程序,且其中当前度量为存储器装置的DRAM组件的当前电压、存储器装置的DRAM组件的当前速度,或与信道相关联的当前温度,或其任一组合。
方面31:根据方面28到30中任一项所述的设备,其中逻辑可进一步操作以致使设备:向存储器装置,传输指示CAT模式的第一信号;从存储器装置接收包含响应于第一信令的反馈的第二信令;及至少部分地基于第二信令为介于主机装置与存储器装置之间的信道选择VREF值,其中用于训练存储器装置的程序包含传输、接收,及选择,且其中用于训练存储器装置的程序的结果包含VREF值。
方面32:根据方面28到31中任一项所述的设备,其中逻辑进一步可操作以致使设备:确定用于训练存储器装置的程序的结果与参考值之间的差满足阈值差,其中禁用存储器装置的一或多个特征至少部分地基于确定差满足阈值差。
方面33:根据方面28到32中任一项所述的设备,其中用于训练存储器装置的程序包含用于对准存储器装置的时钟的程序。
描述一种设备。以下提供如本文中所描述的设备的各方面的概述:
方面34:设备,其包含:存储器装置;及逻辑,其与存储器装置耦合且可操作以致使设备:至少部分地基于介于存储器装置与主机装置之间的信道的当前度量而执行用于训练存储器装置的程序;至少部分地基于用于训练存储器装置的程序的结果而在存储器装置处且从主机装置接收指示命令的信令;及至少部分地基于命令而禁用存储器装置的一或多个特征。
方面35:根据方面34所述的设备,其中所述逻辑可进一步操作以致使设备:从主机装置接收指示CAT模式的第二信令,及向主机装置传输包含对第二信令的反馈的第三信令,其中用于训练存储器装置的程序包含接收第二信令并传输第三信令,且其中用于训练存储器装置的程序的结果至少部分地基于第三信令。
可使用多种不同科技及技术中的任一个来表示本文中所描述的信息及信号。例如,可通过电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任一组合来表示可贯穿上文描述所提及的数据、指令、命令、信息、信号、位、符号及码片。一些图式可将信号说明为单一信号;然而,信号可表示信号的总线,其中总线可具有各种位宽度。
术语“电子通信”、“导电触点”、“连接”及“耦合”可指代支持组件之间信号流的组件之间的关系。如果组件之间存在任何可随时支持组件之间信号流的导电路径,那么认为组件彼此电子通信(或与其导电接触或连接或耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或与其导电接触或连接或耦合)的组件之间的导电路径可以为开路或闭路。所连接的组件之间的导电路径可为组件之间的直接导电路径,或所连接组件之间的导电路径可为间接导电路径,所述间接导电路径可包含中间组件,例如开关、晶体管或其它组件。在一些实例中,例如,使用例如开关或晶体管的一或多个中间组件,可将所连接组件之间的信号流中断一段时间。
术语“耦合”指代从组件之间的开路关系(其中信号目前不能够在经由导电路径在组件之间通信)移动到组件之间闭路关系(其中信号能够经由导电路径在组件之间通信)的状态。当组件(例如控制器)将其它组件耦合在一起时,所述组件会启动一个改变,所述改变允许信号经由先前不允许信号流动的导电路径在其它组件之间流动。
术语“隔离”指代组件之间的关系,其中信号当前不能够在组件之间流动。如果组件之间存在开路,那么将组件彼此隔离。例如,当位于组件之间的开关断开时,由所述开关分离的两个组件彼此隔离。当控制器将两个组件隔离时,控制器会影响改变,所述改变会阻止信号使用先前允许信号流动的导电路径在组件之间流动。
如本文中所使用,术语“大体上”意指所修饰的特性(例如,由术语基本上修饰的动词或形容词)不必为绝对的,而是足够接近以实施所述特性的优点。
本文中所论述的装置,包含存储器阵列,可形成在半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些实例中,衬底为半导体晶片。在其它实例中,衬底可为绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。可通过使用各种化学物质(包含但不限于磷、硼或砷)掺杂来控制衬底或衬底的子区域的导电性。可在衬底的初始形成或生长期间通过离子植入或通过任何其它掺杂手段执行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(FET)且包括包含源极、漏极及栅极的三端子装置。端子可通过导电材料(例如,金属)连接到其它电子元件。源极及漏极可为导电的且可包括重掺杂(例如,简并)半导体区域。源极及漏极可由轻掺杂半导体区域或沟道分开。如果沟道为n型(即,多数载子为电子),那么FET可被称作为n型FET。如果沟道为p型(即,多数载子为电洞),那么FET可被称作为p型FET。沟道可由绝缘栅极氧化物覆盖。可通过向栅极施加电压来控制沟道电导率。例如,分别向n型FET或p型FET施加正电压或负电压可致使沟道变为导电的。当向晶体管栅极施加大于或等于晶体管的阈值电压的电压时,晶体管可“接通”或“激活”。当向晶体管栅极施加小于晶体管的阈值电压的电压时,晶体管可“关断”或“撤销激活”。
本文中所阐明的描述结合随附图式描述实例配置,且并不表示可被实施或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”意谓“用作实例、例项或说明”,而非意谓“优选”或“优于其它实例”。为了提供对所描述技术的理解,详细描述包含特定细节。然而,可在无这些特定细节的情况下实践这些技术。在一些情况下,以框图形式展示众所周知的结构及装置以避免混淆所描述实例的概念。
在附图中,相似组件或特征可具有相同参考标签。此外,可通过在参考标签后接着破折号及在类似组件当中进行区分的第二标签而区分同一类型的各种组件。如果在说明书中仅使用第一参考标签,那么所述说明便适用于具有相同第一参考标签的类似组件中的任一个,而不管第二参考标签如何。
本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任一组合来实施。如果以由处理器执行的软件予以实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射。其它实例及实施方案在本公开及随附权利要求书的范围内。例如,由于软件的性质,可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一者的组合来实施本文中所描述的功能。实施功能的特征也可实际上位于各种位置处,包含经分布使得在不同物理部位处实施功能的部分。
例如,结合本文中的公开内容所描述的各种说明性块及模块可运用经设计以执行本文中所描述的功能的以下各项来实施或执行:通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其任一组合。通用处理器可为微处理器,但在替代方案中,处理器可为任何处理器、控制器、微控制器或状态机。还可将处理器实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器或任何其它此类配置)。
如本文中(包含在权利要求书中)所使用,如在物项列表(例如,后面接以例如“中的至少一个”或“中的一或多个”的短语的物项列表)中所使用的“或”指示包含性列表,使得(例如)A、B或C中的至少一个的列表意谓A或B或C或AB或AC或BC或ABC(即,A及B及C)。此外,如本文中所使用,短语“基于”不应被认作对条件的闭集的参考。例如,被描述为“基于条件A”的示范性步骤可基于条件A及条件B两者而不背离本公开的范围。换句话说,如本文中所使用,短语“基于”应在方式上应被认作与短语“至少部分地基于”相同。
计算机可读媒体包含非暂时性计算机存储媒体及通信媒体两者,包含促进将计算机程序从一个地方传送到另一地方的任一媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。作为实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、紧密光盘(CD)ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置,或可用以载运或存储呈指令或数据结构形式的所要程序码装置且可由一般用途或特殊用途计算机或一般用途或特殊用途处理器存取的任何其它非暂时性媒体。此外,可将任何连接适当地称为计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等技术从网站、服务器或其它远程源发射软件,那么所述同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或例如红外线、无线电及微波等技术皆包含于媒体的定义中。如本文中所使用,磁盘及光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。以上各项的组合还包含于计算机可读媒体的范围内。
提供本文中的描述以使所属领域的技术人员能够制作或使用本公开。在不脱离本公开的范围的情况下,对本公开的各种修改对于所属领域的技术人员来说将显而易见,且本文中所定义的一般原理可应用于其它变化形式。因此,本公开并不限于本文中所描述的实例及设计,而是应符合与本文中所公开的原理及新颖特征相一致的最广泛范围。

Claims (35)

1.一种方法,其包括:
将与用于训练存储器装置的程序相关联的多个参考值写入到主机装置处的非易失性存储器;
至少部分地基于介于所述主机装置与所述存储器装置之间的信道的当前度量而执行用于训练所述存储器装置的所述程序;及
至少部分地基于用于训练所述存储器装置的所述程序的结果及对应于所述信道的所述当前度量的所述多个参考值中的参考值而禁用所述存储器装置的一或多个特征。
2.根据权利要求1所述的方法,其进一步包括:
执行用于训练所述存储器装置且对应于多个相应温度的多个程序,其中所述多个参考值至少部分地基于用于训练所述存储器装置的所述多个程序,且其中所述当前度量为当前温度。
3.根据权利要求1所述的方法,其进一步包括:
至少部分地基于所述存储器装置的动态随机存取存储器DRAM组件的多个电压、所述存储器装置的所述DRAM组件的多个速度,或与所述信道相关联的多个温度,或其任一组合而执行用于训练所述存储器装置的多个程序,其中所述多个参考值至少部分地基于用于训练所述存储器装置的所述多个程序,且其中所述当前度量为所述存储器装置的所述DRAM组件的当前电压、所述存储器装置的所述DRAM组件的当前速度,或与所述信道相关联的当前温度,或其任一组合。
4.根据权利要求1所述的方法,其进一步包括:
向所述存储器装置传输指示命令地址测试CAT模式的第一信令;
从所述存储器装置接收包括响应于所述第一信号的反馈的第二信令;及
至少部分地基于所述第二信令而为介于所述主机装置与所述存储器装置之间的所述信道选择电压参考VREF值,其中用于训练所述存储器装置的所述程序包括所述传输、所述接收,及所述选择,且其中用于训练所述存储器装置的所述程序的所述结果包括所述VREF值。
5.根据权利要求4所述的方法,其进一步包括:
至少部分地基于所述第二信令而确定所述信道的一或多个参数,其中至少部分地基于所述一或多个参数而选择所述VREF值。
6.根据权利要求4所述的方法,其中:
在命令地址CA总线上传输所述第一信令;且
在数据总线上接收所述第二信令。
7.根据权利要求1所述的方法,其进一步包括:
确定用于训练所述存储器装置的所述程序的所述结果与所述参考值之间的差满足阈值差,其中禁用所述存储器装置的所述一或多个特征至少部分地基于确定所述差满足所述阈值差。
8.根据权利要求1所述的方法,其中用于训练所述存储器装置的所述程序包括用于对准所述存储器装置的时钟的程序。
9.根据权利要求1所述的方法,其进一步包括:
至少部分地基于将用于训练所述存储器装置的所述程序的所述结果与所述参考值进行比较而检测对所述存储器装置的修改,其中禁用所述存储器装置的所述一或多个特征至少部分地基于检测对所述存储器装置的所述修改。
10.根据权利要求9所述的方法,其中对所述存储器装置的所述修改包括向所述存储器装置添加中介层,向所述存储器装置添加布线,向所述存储器装置添加插槽,或将动态随机存取存储器DRAM组件从所述存储器装置移除,或其任一组合。
11.根据权利要求1所述的方法,其进一步包括:
监视所述存储器装置的运行状况,其中执行用于训练所述存储器装置的所述程序至少部分地基于监视所述存储器装置的所述运行状况。
12.根据权利要求1所述的方法,其进一步包括:
执行用于启动所述存储器装置的程序,其中执行用于训练所述存储器装置的所述程序至少部分地基于执行用于启动所述存储器装置的所述程序。
13.根据权利要求12所述的方法,其进一步包括:
至少部分地基于将用于训练所述存储器装置的所述程序的所述结果与所述参考值进行比较而停止用于启动所述存储器装置的所述程序;及
至少部分地基于停止用于启动所述存储器装置的所述程序而避免与所述存储器装置通信安全信息。
14.根据权利要求1所述的方法,其进一步包括:
至少部分地基于将用于训练所述存储器装置的所述程序的所述结果与所述参考值进行比较而向原始设备制造商OEM,或用户装置或其任一组合传输指示通知的信令。
15.根据权利要求1所述的方法,其进一步包括:
至少部分地基于将用于训练所述存储器装置的所述程序的所述结果与所述参考值进行比较而向所述存储器装置传输指示命令的信令;及
至少部分地基于所述命令而启动所述存储器装置的特征的锁定,其中所述禁用至少部分地基于启动所述特征的所述锁定。
16.根据权利要求1所述的方法,其中所述多个参考值包括所述存储器装置的多个电压参考VREF值。
17.一种方法,其包括:
至少部分地基于介于存储器装置与主机装置之间的信道的当前度量而执行用于训练所述存储器装置的程序;
至少部分地基于用于训练所述存储器装置的所述程序的结果而在所述存储器装置处且从所述主机装置接收指示命令的信令;及
至少部分地基于所述命令而禁用所述存储器装置的一或多个特征。
18.根据权利要求17所述的方法,其进一步包括:
从所述主机装置接收指示命令地址测试CAT模式的第二信令;及
向所述主机装置传输包括对所述第二信令的反馈的第三信令,其中用于训练所述存储器装置的所述程序包括接收所述第二信令并传输所述第三信令,且其中用于训练所述存储器装置的所述程序的所述结果至少部分地基于所述第三信令。
19.根据权利要求18所述的方法,其中:
在命令地址CA总线上接收所述第二信令;且
在数据总线上传输所述第三信令。
20.根据权利要求17所述的方法,其中用于训练所述存储器装置的所述程序包括用于对准所述存储器装置的时钟的程序。
21.根据权利要求17所述的方法,其进一步包括:
至少部分地基于所述命令而检测对所述存储器装置的修改,其中禁用所述存储器装置的所述一或多个特征至少部分地基于检测对所述存储器装置的所述修改。
22.根据权利要求21所述的方法,其中对所述存储器装置的所述修改包括向所述存储器装置添加中介层,向所述存储器装置添加布线,向所述存储器装置添加插槽,或将动态随机存取存储器DRAM组件从所述存储器装置移除,或其任一组合。
23.根据权利要求17所述的方法,其进一步包括:
至少部分地基于所述命令而启动所述存储器装置的特征的锁定,其中所述禁用至少部分地基于启动所述特征的所述锁定。
24.一种方法,其包括:
将与用于训练存储器装置的动态随机存取存储器DRAM组件的程序相关联的多个参考值写入到所述存储器装置处的非易失性存储器;
至少部分地基于介于主机装置与所述存储器装置的所述DRAM组件之间的信道的当前度量而从所述主机装置接收指示用于训练所述存储器装置的所述DRAM组件的所述程序的结果的第一信令;及
至少部分地基于用于训练所述存储器装置的所述DRAM组件的所述程序的所述结果及对应于所述信道的所述当前度量的所述多个参考值中的参考值而向所述主机装置传输指示介于所述主机装置与所述存储器装置的所述DRAM组件之间的所述信道的改变的第二信令。
25.根据权利要求24所述的方法,其进一步包括:
至少部分地基于用于训练所述存储器装置的所述DRAM组件的多个程序而从所述主机装置接收指示所述多个参考值的第三信令,其中将所述多个参考值写入到所述存储器装置处的所述非易失性存储器至少部分地基于所述第三信令。
26.根据权利要求24所述的方法,其进一步包括:
至少部分地基于介于所述主机装置与所述存储器装置的所述DRAM组件之间的所述信道的所述改变而禁用所述存储器装置的所述DRAM组件的一或多个特征。
27.根据权利要求24所述的方法,其中将所述多个参考值写入到在所述存储器装置的所述DRAM组件外部的所述非易失性存储器。
28.一种设备,其包括:
主机装置;及
逻辑,其与所述主机装置耦合且可操作以致使所述设备:
将与用于训练存储器装置的程序相关联的多个参考值写入到所述主机装置处的非易失性存储器;
至少部分地基于介于所述主机装置与所述存储器装置之间的信道的当前度量而执行用于训练所述存储器装置的所述程序;及
至少部分地基于用于训练所述存储器装置的所述程序的结果及对应于所述信道的所述当前度量的所述多个参考值中的参考值而禁用所述存储器装置的一或多个特征。
29.根据权利要求28所述的设备,其中所述逻辑可进一步操作以致使所述设备:
执行用于训练所述存储器装置且对应于多个相应温度的多个程序,其中所述多个参考值至少部分地基于用于训练所述存储器装置的所述多个程序,且其中所述当前度量为当前温度。
30.根据权利要求28所述的设备,其中所述逻辑可进一步操作以致使所述设备:
至少部分地基于所述存储器装置的动态随机存取存储器DRAM组件的多个电压、所述存储器装置的所述DRAM组件的多个速度,或与所述信道相关联的多个温度,或其任一组合而执行用于训练所述存储器装置的多个程序,其中所述多个参考值至少部分地基于用于训练所述存储器装置的所述多个程序,且其中所述当前度量为所述存储器装置的所述DRAM组件的当前电压、所述存储器装置的所述DRAM组件的当前速度,或与所述信道相关联的当前温度,或其任一组合。
31.根据权利要求28所述的设备,其中所述逻辑可进一步操作以致使所述设备:
向所述存储器装置传输指示命令地址测试CAT模式的第一信令;
从所述存储器装置接收包括响应于所述第一信号的反馈的第二信令;及
至少部分地基于所述第二信令而为介于所述主机装置与所述存储器装置之间的所述信道选择电压参考VREF值,其中用于训练所述存储器装置的所述程序包括所述传输、所述接收,及所述选择,且其中用于训练所述存储器装置的所述程序的所述结果包括所述VREF值。
32.根据权利要求28所述的设备,其中所述逻辑可进一步操作以致使所述设备:
确定用于训练所述存储器装置的所述程序的所述结果与所述参考值之间的差满足阈值差,其中禁用所述存储器装置的所述一或多个特征至少部分地基于确定所述差满足所述阈值差。
33.根据权利要求28所述的设备,其中用于训练所述存储器装置的所述程序包括用于对准所述存储器装置的时钟的程序。
34.一种设备,其包括:
存储器装置;及
逻辑,其与所述存储器装置耦合且可操作以致使所述设备:
至少部分地基于介于所述存储器装置与主机装置之间的信道的当前度量而执行用于训练所述存储器装置的程序;
至少部分地基于用于训练所述存储器装置的所述程序的结果而在所述存储器装置处且从所述主机装置接收指示命令的信令;及
至少部分地基于所述命令而禁用所述存储器装置的一或多个特征。
35.根据权利要求34所述的设备,其中所述逻辑可进一步操作以致使所述设备:
从所述主机装置接收指示命令地址测试CAT模式的第二信令;及
向所述主机装置传输包括对所述第二信令的反馈的第三信令,其中用于训练所述存储器装置的所述程序包含接收所述第二信令并传输所述第三信令,且其中用于训练所述存储器装置的所述程序的所述结果至少部分地基于所述第三信令。
CN202211683598.XA 2021-12-29 2022-12-27 用以检测攻击的训练程序改变确定 Pending CN116361789A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163266147P 2021-12-29 2021-12-29
US63/266,147 2021-12-29
US17/653,264 US20230205873A1 (en) 2021-12-29 2022-03-02 Training procedure change determination to detect attack
US17/653,264 2022-03-02

Publications (1)

Publication Number Publication Date
CN116361789A true CN116361789A (zh) 2023-06-30

Family

ID=86897808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211683598.XA Pending CN116361789A (zh) 2021-12-29 2022-12-27 用以检测攻击的训练程序改变确定

Country Status (3)

Country Link
US (1) US20230205873A1 (zh)
CN (1) CN116361789A (zh)
WO (1) WO2023129833A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788883B2 (en) * 2010-12-16 2014-07-22 Dell Products L.P. System and method for recovering from a configuration error
US10114952B2 (en) * 2016-03-30 2018-10-30 Mcafee, Llc System, apparatus and method for performing secure memory training and management in a trusted environment
KR20180007374A (ko) * 2016-07-12 2018-01-23 삼성전자주식회사 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법
KR102365110B1 (ko) * 2017-09-13 2022-02-18 삼성전자주식회사 복수의 메모리 장치들에 대한 트레이닝 동작을 지원하는 버퍼 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템
US11435909B2 (en) * 2019-04-22 2022-09-06 Intel Corporation Device, system and method to generate link training signals

Also Published As

Publication number Publication date
WO2023129833A1 (en) 2023-07-06
US20230205873A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
US11625170B2 (en) Row hammer protection for a memory device
EP3867740B1 (en) Command block management
US20200341847A1 (en) Safety event detection for a memory device
US12001707B2 (en) Host verification for a memory device
US10949284B2 (en) Techniques using nonvolatile memory and volatile memory
US11257534B2 (en) Current monitor for a memory device
CN116361789A (zh) 用以检测攻击的训练程序改变确定
US20230205874A1 (en) Voltage input and clock speed change determination to detect attack
US20230334152A1 (en) Temperature change measurement to detect attack
US20230063890A1 (en) Measuring change in a channel characteristic to detect memory device attack
US20230205430A1 (en) Verification of a volatile memory using a unique identifier
US20230394143A1 (en) Protective actions for a memory device based on detecting an attack
US11886745B2 (en) Illegal operation reaction at a memory device
US11990173B2 (en) Dynamic row hammering threshold for memory
US20230418954A1 (en) Detecting information modification in a memory system
US11829612B2 (en) Security techniques for low power mode of memory device
US20230350580A1 (en) Techniques for non-volatile data protection
CN117149055A (zh) 基于检测攻击的用于存储器装置的保护性动作
CN118155696A (zh) 命令时钟结构

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication