CN114077395A - 对在待机模式期间在dram中发生不期望的内容改变的防护 - Google Patents

对在待机模式期间在dram中发生不期望的内容改变的防护 Download PDF

Info

Publication number
CN114077395A
CN114077395A CN202110911569.3A CN202110911569A CN114077395A CN 114077395 A CN114077395 A CN 114077395A CN 202110911569 A CN202110911569 A CN 202110911569A CN 114077395 A CN114077395 A CN 114077395A
Authority
CN
China
Prior art keywords
signature
volatile memory
data
standby mode
stored
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
CN202110911569.3A
Other languages
English (en)
Other versions
CN114077395B (zh
Inventor
G·戈洛夫
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 CN114077395A publication Critical patent/CN114077395A/zh
Application granted granted Critical
Publication of CN114077395B publication Critical patent/CN114077395B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/01Fittings or systems for preventing or indicating unauthorised use or theft of vehicles operating on vehicle systems or fittings, e.g. on doors, seats or windscreens
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/20Means to switch the anti-theft system on or off
    • B60R25/24Means to switch the anti-theft system on or off using electronic identifiers containing a code not memorised by the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/602Providing cryptographic facilities or services
    • 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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0625Power saving in 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/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/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
    • G06F3/0658Controller construction arrangements
    • 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
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Retry When Errors Occur (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请案涉及对在待机模式期间在DRAM中发生不期望的内容改变的防护。提供与在待机模式期间保护存储于计算系统的易失性存储器中的数据相关的系统、方法和设备。在一种方法中,产生用于存储于易失性存储器中数据的第一签名。在一些情况下,所述所存储的数据可包含从车辆、移动装置或其它电子装置的一或多个传感器获得的传感器数据。所述第一签名存储于非易失性存储器装置中,且接着所述计算系统进入所述待机模式。随后,在退出所述待机模式之后,产生用于存储于所述易失性存储器中的所述数据的第二签名。从所述非易失性存储器装置读取所述第一签名并且将其与所述第二签名进行比较。签名失配指示在所述待机模式期间在所存储的数据中已发生非期望改变。通过所述计算系统响应于此签名失配而执行一或多个补救动作。

Description

对在待机模式期间在DRAM中发生不期望的内容改变的防护
技术领域
本文中所公开的至少一些实施例大体涉及计算系统,并且更具体地说,但不限于当在待机模式中时保护存储于计算系统的易失性存储器中的数据。
背景技术
在一些情况下,计算系统被配置成在范围从完全通电状态到完全断开状态的不同电力状态之间转变。通常使用这些不同的电力状态来节约电力。
在一个实例中,有时使用暂停到RAM(suspend-to-RAM)电力状态来减少电力消耗。可通过退出暂停到RAM电力状态并且返回到完全接通状态来快速恢复(例如,比原本当执行从完全断开状态冷启动时可能的恢复更快速地恢复)操作。在暂停到RAM电力状态中,计算系统可保持当计算系统起始其到暂停到RAM状态的转变时正在运行的平台软件(例如,操作系统(OS)和/或应用程序)的随机存取存储器中的一或多个状态。
当计算系统恢复完全通电状态或退出暂停到RAM状态以进入完全通电状态时,计算系统不需要像当执行从完全断开状态冷启动时所需的那样执行整个平台的启动软件。在一些情况下,未能在恢复之后即刻执行整个平台启动软件可能会引入安全风险,原因是系统存储器可在处于暂停到RAM电力状态中时被破解。举例来说,恶意代码可写入到存储平台软件的操作状态的存储器区。在从暂停到RAM状态恢复之后,可即刻执行被破解的平台软件,并且允许攻击者控制系统或以其它方式破解系统。
发明内容
本申请案的一方面针对于一种系统,其包括:至少一个处理装置;和存储器,其含有指令,所述指令被配置成指示所述至少一个处理装置:在进入待机模式之前,产生用于存储于易失性存储器装置中的第一数据的第一签名,所述第一数据包含经执行以控制至少一个功能的软件;将所述第一签名存储于非易失性存储器装置中;在存储所述第一签名之后,进入所述待机模式;退出所述待机模式;在退出所述待机模式之后,产生用于存储于所述易失性存储器装置中的所述第一数据的第二签名;从所述非易失性存储器装置读取所述第一签名;将所述第一签名与所述第二签名进行比较;和响应于将所述第一签名与所述第二签名进行比较,执行关于所述所存储的第一数据的至少一个动作。
本申请案的另一方面针对于一种方法,其包括:在进入待机模式之前,产生用于存储于易失性存储器中的数据的第一签名;将所述第一签名存储于非易失性存储器中;在存储所述第一签名之后,发信号通知所述易失性存储器从第一操作模式改变到所述待机模式;发信号通知所述易失性存储器退出所述待机模式;在退出所述待机模式之后,产生用于存储于所述易失性存储器中的所述数据的第二签名;从所述非易失性存储器读取所述第一签名;将所述第一签名与所述第二签名进行比较;和响应于将所述第一签名与所述第二签名进行比较,执行关于所述所存储的数据的至少一个动作。
本申请案的又一方面针对于一种存储指令的非暂时性计算机可读媒体,所述指令在至少一个计算装置上被执行时致使所述至少一个计算装置:产生用于存储于易失性存储器装置中的第一数据的第一签名,所述第一数据包含从车辆或移动装置的至少一个传感器或其它数据源获得的数据;将所述第一签名存储于非易失性存储器装置中;在存储所述第一签名之后,进入待机模式;在退出所述待机模式之后,产生用于存储于所述易失性存储器装置中的所述第一数据的第二签名;从所述非易失性存储器装置读取所述第一签名;将所述第一签名与所述第二签名进行比较;和响应于将所述第一签名与所述第二签名进行比较,执行至少一个动作。
附图说明
实施例是借助于实例而非限制在附图的图中来说明的,在附图中相似参考指示类似元件。
图1示出根据一些实施例的包含当处于待机模式中时保护存储于易失性存储器装置中的数据的主机装置的车辆。
图2示出根据一些实施例的保护存储于易失性存储器中的数据并且经由通信接口与服务器通信的车辆。
图3示出根据一些实施例的从传感器收集数据并且保护存储于易失性存储器装置中的数据的移动装置。
图4示出根据一些实施例的用于在待机模式中保护存储于易失性存储器中的数据的方法。
图5示出根据一些实施例的用于基于对存储于易失性存储器中的数据的签名的评估与云网络中的服务器通信的方法。
图6示出根据一些实施例的用于识别易失性存储器的将在待机模式中受到保护的区的方法。
具体实施方式
以下公开内容描述当处于待机模式中时保护存储于计算系统的易失性存储器中的数据的各种实施例。本文中的至少一些实施例涉及评估所存储的数据的签名以确定所述数据是否已在待机模式期间发生非期望改变。非期望改变的实例包含归因于位翻转的数据丢失,或计算机黑客对数据的恶意修改。
如本文中所使用,“待机模式”包括例如睡眠模式、暂停到RAM模式、休眠模式,以及用于例如车辆、计算机、移动装置和电视的电子装置中的其它低电力模式。在一个实例中,待机模式是其中停用计算装置的一或多个功能以减少电力消耗的计算装置模式。在一个实例中,当易失性存储器装置消耗的电力减小时进入待机模式,且/或暂停使用易失性存储器作为系统存储器的主机的一或多个功能直到稍后再次恢复正常操作为止。
在一些计算系统中,DRAM(例如,DRAM存储器装置)支持其中DRAM自动刷新存储器的内容而不需要主机产生刷新命令或时钟的待机模式。当处于待机模式中时,DRAM消耗低电力并且启用系统的休眠或睡眠,并且还在全系统通电之后快速恢复。通过使用DRAM待机模式使系统休眠或睡眠的做法广泛用于汽车ECU和移动装置中,并且省去了全系统启动的超长过程。
然而,在一些情况下,DRAM可处于待机模式中达长时间段,有时为数天。可在待机模式期间归因于各种原因发生DRAM内容的非期望修改。在一些情况下,黑客可获得对系统中的DRAM总线的物理存取,退出待机模式,控制DRAM,改变DRAM的内容,并且接着再次进入待机模式。当主机返回到正常操作时,主机可执行经修改DRAM数据。
在其它情况下,可出现DRAM位翻转。DRAM处于待机模式中的时间段越长,位翻转的概率越大。
本公开的各种实施例提供了针对上述技术问题中的一或多个的技术解决方案。在一些实施例中,在系统层级上设置用以在待机模式期间检测和保护非期望DRAM内容改变的机构。
在一个实施例中,在进入待机模式之前,确定在待机模式期间需要被验证的相关存储器区的DRAM内容签名。在一种方法中,如果DRAM具有产生内容签名的内部机构,那么主机将发送命令给DRAM(例如,发送命令给DRAM装置的控制器)以计算所需数据区的数据签名,并且接着读回结果(例如,可确定每一区的一或多个签名)。在另一种方法中,如果DRAM不含有用以产生内容签名的内部机构,那么主机自身计算内容签名。在一个实例中,主机从DRAM读取需要被验证的整个数据集,并且接着计算签名。
接下来,通过计算整个数据集(例如,存储于易失性存储器的将受保护的给定区中的全部数据)上的散列函数来确定每一签名。确定签名的其它实例包含使用散列函数、循环冗余校验(CRC)和/或错误校正码(ECC)。上述的计算结果是数据签名。在一些情况下,通过DRAM(CRC)确定一个签名并且通过主机(ECC)确定第二签名,这取决于数据类型(例如,用于系统操作的数据的关键性等级)。
在(例如,通过DRAM和/或主机)确定以上签名之后,将签名存储于非易失性存储器(例如,NAND快闪存储器装置)中。在一个实施例中,主机将签名加密。在一个实例中,在将签名存储到非易失性存储器中之前使用存储于主机中的关键字将签名加密。
在将签名存储于非易失性存储器中之后,主机致使DRAM进入待机模式。接着,使计算系统剩余部分中的一些或全部断电。在一个实例中,计算机系统停留于待机模式中达至少1-10小时,或1-10天。
在处于待机模式中之后,计算机系统退出待机模式。在一个实施例中,计算机系统在接收到唤醒信号之后退出待机模式。作为退出待机模式的部分,系统将退出待机模式的命令发送给DRAM(例如,致使电力恢复给DRAM的在待机模式期间关断的一或多个电路)。
在退出待机模式之后,系统确定DRAM的内容的新签名。在一个实例中,使用如上文所描述的相同方法确定新签名。
而且,主机读取存储于非易失性存储器中的前一签名。如果前一签名经加密,那么现在解密所述前一签名。
将(存储于非易失性存储器中的)前一签名与新签名(用于当前DRAM内容)进行比较。如果签名匹配,那么系统通过使用DRAM的当前内容继续执行先前在系统中运行的软件以返回到系统在进入待机模式之前存在的前一状态。举例来说,系统退出休眠并且执行快速系统恢复。
在系统恢复的一个实例中,计算系统快速起动并且变得可使用存储于DRAM存储器装置中的内容进行操作。在低电力待机模式(例如,休眠或睡眠模式)中,停用计算系统的正常功能的一部分(例如,系统处于不同于针对正常操作的状态的异常状态中)。系统能够恢复其刚好在系统进入待机模式之前存在的状态的正常的全功能性。优点是使用保存于DRAM中的数据的恢复比重新启动系统和/或从非易失性存储器读取数据更快速。
如果前一签名与新签名不匹配,那么这指示已在待机模式期间发生DRAM内容的非期望改变。在一个实施例中,这是记录于非易失性存储器中的错误,和/或(例如通过无线通信)向云网络中的服务器报告的错误。响应于签名失配,从非易失性存储器执行系统的全复位和启动。
在一个实施例中,待机模式在汽车系统中例如用于信息娱乐系统。待机模式避开信息娱乐系统(例如,在关机或断电之后)的超长启动过程。在一个实例中,当驾驶者关掉包含信息娱乐系统的例如汽车的车辆时,含有软件的DRAM装置和信息娱乐系统的当前状态进入待机模式。当驾驶者再次开启汽车时,信息娱乐系统离开待机模式,并且接着从进入待机模式时系统留在的同一点继续运行。
图1示出根据一些实施例的包含当处于待机模式中时保护存储于易失性存储器装置106中的数据的主机装置114的车辆102。为保护所存储的数据,在进入待机模式之前确定对存储于易失性存储器装置106中的数据的签名118。在一个实例中,确定对易失性存储器装置106的一或多个所识别区的签名。在一个实例中,所识别区对应于用于存储于易失性存储器装置106中的数据的逻辑或物理地址范围的一部分。
可通过易失性存储器装置106或主机装置114确定签名118。如果通过装置106确定签名118,那么主机装置114将致使产生签名118的命令发送给易失性存储器装置106。接着,主机装置114从装置106读取签名118。
如果通过主机装置114确定签名118,那么主机装置114从易失性存储器装置106读取数据116。接着,处理装置104计算签名118。在一些实施例中,关键字130存储于主机装置114的存储器中并且供处理装置104用于加密签名118。
所计算的签名118(任选地如上文所论述经加密)写入到非易失性存储器装置108以供在待机模式期间进行存储。在一个实例中,在将签名118存储于非易失性存储器装置108中之后,处理装置104致使主机装置114进入待机模式。作为进入待机模式的部分,处理装置104发信号通知易失性存储器装置106进入待机模式。在一个实例中,易失性存储器装置106的电力消耗在待机模式中减小。在一个实例中,足够电力提供给易失性存储器装置106以保持数据内容存储于受签名118保护的所识别区中。
在一个实施例中,主机装置114包含供处理装置104在执行各种软件应用程序时使用并且用于存储供这些应用程序使用的数据的系统存储器112。在一个实例中,易失性存储器装置106提供用于与系统存储器112对应的地址空间的部分或全部的数据存储。
易失性存储器装置106可存储供处理装置104执行的软件120,且/或存储从传感器110获得的传感器数据122。在一个实例中,传感器110包含相机、光达、雷达和/或麦克风。从传感器110获得的数据供处理装置104在控制一或多个车辆组件128时使用。在一个实例中,车辆组件128包含防抱死制动系统、转向控制系统、导航系统和/或引擎控制系统。
在处于待机模式中之后,主机装置114退出待机模式。在一个实例中,处理装置104接收致使从待机模式退出的信号。在一个实例中,信号是来自车辆102的另一计算装置和/或远程计算装置(例如,边缘服务器)的命令。
在一个实施例中,传感器110在待机模式期间保持被供电。在一个实例中,响应于一或多个传感器110对在车辆102的操作的上下文中的改变的确定而从传感器110中的一或多个接收唤醒信号。在一个实例中,基于来自传感器110的机器学习模型的输出来确定上下文。在一个实例中,上下文是对象正趋近车辆102的确定。
在退出待机模式之后,基于存储于易失性存储器装置106中的数据的随后存在的内容而产生新签名124。在一个实例中,产生对存储于先前识别的区中并且受签名118保护的数据的签名124。如上文所提及,签名124可由易失性存储器装置106或主机装置114确定。如果主机装置114确定签名124,那么从先前受签名118保护的所识别区读取数据126。接着,处理装置104确定签名124。
通过处理装置104从非易失性存储器装置108读取前一签名118。如果签名118在存储于非易失性存储器装置108中之前经加密,那么处理装置104使用密钥130解密签名118。
处理装置104将前一签名118与新签名124进行比较。基于此比较的结果,处理装置104执行关于受保护数据的一或多个动作。
如果签名118和124匹配,那么主机装置114恢复正常操作。在一个实例中,此正常操作包含使用软件120和/或传感器数据122控制车辆组件128的一或多个功能。在一个实例中,恢复正常操作包含使主机装置114和/或车辆102返回到就在进入待机模式之前存在的状态。
如果签名118和124不匹配,那么处理装置104通过使用存储于非易失性存储器装置108中的数据的启动来起始主机装置114的重新起动。
在一个实例中,如上文所描述使计算装置(例如,移动装置)的数据的受到保护的易失性存储器装置(例如,DRAM装置)存储供作为系统存储器的主机使用的数据(例如,主机可处于自主车辆或移动装置中,或处于存取存储于易失性存储器中的数据的另一计算装置中)。在一个实例中,易失性存储器装置是用于电动车辆的电子控制单元中的交叉点存储器,且交叉点存储器的存储器区中的数据受签名保护。
在待机模式的一个实例中,计算装置(例如,移动装置)的状态(例如,主机装置的操作系统状态)保持于RAM(例如,DRAM)中,并且当被置于待机模式中时,计算装置减少送到不被需要的子系统的电力并且将RAM放置到足以保持其数据的最小电力状态中。计算装置可被配置成当装置靠电池运行并且预定时间段内不被用户使用时,或在装置的物理组件处于预定位置(例如,手提式计算机的封盖闭合)的情况下自动进入待机模式。
在一个实施例中,计算装置可被配置成在处于待机模式中时(例如,在睡眠时)消耗一些能量以便为RAM供电,并且用于对唤醒事件作出响应(例如,接收到退出待机模式的信号)。计算装置响应于退出待机模式的信号而退出待机模式。实例包含用户对电源按钮的唤醒按压,或来自键盘、鼠标、传入呼叫或消息夫人唤醒信号,或经由局域网或其它网络接收到的信号。
图2示出根据一些实施例的保护存储于易失性存储器204中的数据并且经由通信接口210与服务器212通信的车辆201。车辆201是车辆102的实例。在一个实例中,易失性存储器204是DRAM存储器装置(例如,一或多个裸片或芯片)。在一个实例中,通信接口210包含(例如,使用4G或5G蜂窝式通信)与服务器212通信的无线收发器。
电子控制单元(ECU)208控制车辆组件128的一或多个功能。传感器110提供数据给ECU 208以作为传感器数据206存储于易失性存储器204和/或非易失性存储器205中。
ECU 208的处理装置104使用人工神经网络(ANN)216提供供处理装置104用以(例如,在车辆201的CAN总线上)将控制信号发送到车辆组件128的结果。ANN 216至少使用传感器数据206作为输入。
处理装置104在正常操作期间使用存储于易失性存储器204中的数据。在一个实例中,此数据包含操作系统、软件应用程序和/或供操作系统或软件应用程序在控制车辆组件128时使用的数据。
在一个实施例中,通过处理装置104识别易失性存储器204的在进入待机模式之前进行保护的区。在一个实例中,一或多个所识别的区包含存储传感器数据206的区。在一个实例中,一或多个所识别的区包含表示在进入待机模式之前ECU 208的状态的数据。在一个实例中,所识别的区包含ECU 208在退出待机模式之后恢复正常操作所需的数据。在一个实例中,一或多个车辆组件128进入被ECU 208选择和/或控制的待机模式。
处理装置104确定对易失性存储器204的所识别区中的数据的签名118。处理装置104将签名118写入到非易失性存储器205以供在待机模式期间进行存储。在存储签名118之后,处理装置104致使ECU 208和/或车辆组件128进入待机模式。
处理装置104致使从待机模式退出。在一个实例中,所述退出是响应于接收到唤醒信号。在一个实例中,所述退出是响应于来自ANN 216的输出。在一个实例中,所述退出是响应于由通信接口210从服务器212接收到的信号。在一个实例中,来自服务器212的信号是由ANN 214产生的,所述ANN 214是由处理装置222执行。
在退出待机模式之后,处理装置104产生对存储于易失性存储器204的所识别区中的数据的新签名。此新签名与存储于非易失性存储器205中的签名118进行比较,这类似于上文所论述的比较。基于此比较,处理装置104执行用于车辆201的一或多个动作。在一个实例中,这些动作包含上文针对车辆102论述的动作。
在一个实例中,如果新签名不匹配签名118,那么处理装置104将所述事件作为错误存储于非易失性存储器205的错误日志224中。
在一个实例中,如果新签名不匹配签名118,那么处理装置104将经由通信接口210的通信发送到服务器212。在一个实例中,通信包含用以更新训练数据218的数据。在一个实例中,训练数据218供处理装置222用于训练ANN 214。
在一个实例中,服务器212将训练数据218发送到车辆201以供处理装置104在训练ANN 216时使用。在一个实例中,来自ANN 214的输出用以产生发送到处理装置104的唤醒信号,所述唤醒信号致使从待机模式退出。在一个实例中,ANN 214使用由一或多个传感器110提供的数据(例如,用于产生唤醒信号)。在一个实例中,来自ANN 214的输出供处理装置104用于控制车辆组件128的一或多个功能。
图3示出根据一些实施例的从传感器304收集数据并且保护存储于易失性存储器装置308中的数据的移动装置302。处理装置304获得对将受保护的数据的签名320。签名320存储于非易失性存储器装置306中(例如,类似于上文所描述)。在一个实例中,签名320由控制器310产生并且在通信总线(未示出)(例如,串行数据总线)上发送到处理装置304。在一个实例中,将受保护的数据发送到处理装置304并且存储于处理装置304的本地存储器(未示出)中,并且使用存储于本地存储器中的数据产生签名320。
非易失性存储器装置306是非易失性存储器装置108的实例,且易失性存储器装置308是易失性存储器装置106的实例。在一个实例中,与如上文针对车辆102或车辆201所描述的类似地保护数据。
在一个实施例中,处理装置304产生用于将受保护的数据的错误校正码(ECC)322。在一个实例中,将受保护的数据在待机模式期间保持于易失性存储器装置308中,并且还存储于非易失性存储器装置306中。
在一个实例中,受保护数据与ECC 322组合以提供存储于非易失性存储器装置306中的码字。在存储于易失性存储器装置308中的数据发生非期望改变的情况下,ECC 322可用以恢复在进入待机模式之前存在的原始数据的至少一部分。
在一个实施例中,处理装置304从传感器305接收数据。在一个实例中,此数据存储于易失性存储器装置308的一或多个存储器区312、314中。在一个实例中,控制器310基于存储于存储器区312中的传感器数据,识别在待机模式中进行保护的存储器区312。在一个实例中,此识别是基于传感器数据的类型和/或从中获得或产生数据的一或多个特定传感器305(例如,区识别是基于存储于区中的数据的来源)。
在一个实施例中,计算装置(例如,移动装置302)通过计算用于将受保护的每一数据块(例如,易失性存储器装置308的所识别区)的短的固定长度二进制序列(已知为检查值或,CRC)来确定签名(例如,签名320)。当读取数据时(例如,在退出待机模式之后),装置将其检查值与刚从数据块计算的检查值进行比较。如果CRC值不匹配,那么所述块含有数据错误。装置可采取校正性动作,例如从另一来源(例如,非易失性存储器306或服务器212)重新读取所述块,或请求从服务器(例如,在云中)再次进行发送。
在一些实施例中,使用云系统(例如,云网络中的服务器212)实施数据(例如,传感器或其它数据)处理。在一个实例中,计算环境结合本公开的实施例进行操作。可使用硬件与软件组件的任何所要组合实施计算环境的组件。
示范性计算环境可包含客户端计算装置、提供者服务器、鉴认服务器和/或云组件,其经由网络(例如,使用通信接口210)彼此通信。
客户端计算装置(例如,移动装置302)可以是任何计算装置,例如台式计算机、手提式计算机、平板计算机、PDA、智能电话、移动电话、智能电器、可穿戴装置、IoT装置、车载装置等等。根据各种实施例,客户端计算装置存取提供者服务器(例如,服务器212)处的服务。
客户端计算装置可包含用于客户端计算装置的用户的一或多个输入装置或接口。举例来说,一或多个输入装置或接口可包含以下中的一或多个:键盘、鼠标、轨迹垫、轨迹球、触控笔、触摸屏、客户端计算装置的硬件按钮等等。客户端计算装置可被配置成执行各种应用程序(例如,网页浏览器应用程序)以存取网络。
提供者服务器可以是任何被配置成托管一或多个应用程序/服务(例如,使用一或多个ANN提供的服务)的计算装置。在一些实施例中,提供者服务器可在准予存取在其上提供的服务和/或资源之前需要安全验证。在一些实施例中,应用程序/服务可包含一旦装置已鉴认其存取便可参与的线上服务。在一些实施例中,提供者服务器可配置有鉴认服务器以用于鉴认用户和/或装置。在其它实施例中,鉴认服务器可被配置在提供者服务器远处和/或独立于提供者服务器。
网络可以是任何类型的被配置成在云系统的组件之间提供通信的网络。举例来说,网络可以是任何类型的提供通信、交换信息和/或有助于交换信息的网络(包含基础设施),例如互联网、局域网、广域网、个人局域网、蜂窝式网络、近场通信(NFC)、光学代码扫描仪,或其它合适的在云系统的组件之间实现信息发送和接收的连接。在其它实施例中,云系统的一或多个组件可通过专用通信链路直接通信。
在各种实施例中,云系统还可包含一或多个云组件。所述云组件可包含一或多个云服务,例如软件应用程序(例如,队列等)、一或多个云平台(例如,网络前端等)、云基础设施(例如,虚拟机等)和/或云存储(例如,云数据库等)。在一些实施例中,提供者服务器和鉴认服务器中的任一个或两个可被配置成在云计算/架构中或与云计算/架构一起操作,例如:基础设施即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。
图4示出根据一些实施例的用于在待机模式中保护存储于易失性存储器中的数据的方法。举例来说,图4的方法可实施于图1的系统中。在一个实例中,易失性存储器是易失性存储器装置106。
图4的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令)或其组合。在一些实施例中,图4的方法至少部分地由一或多个处理装置(例如,图1的处理装置104)执行。
虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在框401处,从一或多个传感器接收传感器数据。在一个实例中,所述传感器数据是传感器数据122、206。在一个实例中,传感器是传感器110。传感器的使用是任选的。其它实施例可从除传感器以外的来源(例如,车辆的除传感器以外的计算装置)获得数据。
在框403处,产生用于存储于易失性存储器装置中的数据的第一签名。在一个实例中,产生用于存储于易失性存储器装置106中的数据的签名118。
在框405处,将第一签名存储于非易失性存储器装置中。在一个实例中,将签名118写入到非易失性存储器装置108。
在框407处,进入待机模式。在一个实例中,处理装置104致使主机装置114和/或车辆组件128进入待机模式。
在框409处,退出待机模式。产生用于存储于易失性存储器装置中的数据的第二签名。在一个实例中,响应于来自服务器212的信号而退出待机模式。在一个实例中,在退出待机模式之后,基于存储于易失性存储器装置106中的数据126而产生签名124。
在框411处,将第一签名与第二签名进行比较。在一个实例中,通过处理装置104将签名118和124进行比较。
在框413处,基于所述比较,针对计算装置(例如,车辆或移动装置)执行一或多个动作。在一个实例中,所述动作是在一或多个车辆组件128的控制下的改变。在一个实例中,基于所述比较更新移动装置302的用户接口上的显示。在一个实例中,响应于存储器区314中的受保护数据的前一签名和新签名未能匹配,使用空中(OTA)更新来更新存储于非易失性存储器装置306中的软件。
图5示出根据一些实施例的用于基于对存储于易失性存储器中的数据的签名的评估与云网络中的服务器通信的方法。举例来说,图5的方法可实施于图2的系统中。在一个实例中,易失性存储器是易失性存储器204,服务器是服务器212。
图5的方法可以通过处理逻辑来执行,处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,图5的方法至少部分地由一或多个处理装置(例如,图2的处理装置104)执行。
虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在框501处,将第一签名存储于非易失性存储器装置中。在一个实例中,将签名118存储于非易失性存储器装置108中。
在框503处,在退出待机模式之后,产生第二签名。在一个实例中,产生用于存储于易失性存储器装置106中的数据的签名124。
在框505处,将第一签名和第二签名进行比较。在一个实例中,处理装置104将签名118和124进行比较。
在框507处,确定第一签名不匹配第二签名。在一个实例中,ECU 208确定第一签名和第二签名不匹配,这指示数据中已发生非期望改变。
在框509处,响应于此确定,发送通信给服务器(例如,云网络中,或局域网上)。在一个实例中,通信发送给服务器212。
在框511处,更新用以训练机器学习模型的训练数据。在一个实例中,响应于确定第一签名不匹配第二签名,基于处理装置104发送的传感器数据206来更新训练数据218。
图6示出根据一些实施例的用于识别易失性存储器的将在待机模式中受到保护的区的方法。举例来说,图6的方法可实施于图3的系统中。在一个实例中,易失性存储器是易失性存储器装置308。
图6的方法可以通过处理逻辑来执行,处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,图6的方法至少部分地由一或多个处理装置(例如,图3的处理装置304)执行。
虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在框601处,识别易失性存储器的在待机模式期间用于数据保护的一或多个区。在一个实例中,识别存储器区312和/或存储器区314。
在框603处,产生用于一或多个所识别区的一或多个第一签名。在一个实例中,产生用于存储器区314的签名,所述存储器区314存储来自传感器305的传感器数据。
在框605处,将第一签名存储于非易失性存储器中。随后,进入待机模式。在一个实例中,产生用于存储器区312中的数据的签名320,并且将签名320存储于非易失性存储器装置306中。
在框607处,退出待机模式。在退出待机模式之后,产生用于一或多个所识别区的第二签名。在一个实例中,控制器310响应于处理装置304的请求而产生用于存储器区312的第二签名。
在框609处,将第一签名与第二签名进行比较。在一个实例中,第一签名是签名320(从非易失性存储器装置306读取),在退出待机模式之后,将所述第一签名与由处理装置304针对从读取存储器区312的数据产生的第二签名进行比较。
在框611处,基于所述比较针对计算装置执行一或多个动作。在一个实例中,响应于确定第一签名和第二签名不匹配而停用或阻止移动装置302的一或多个功能。在一个实例中,响应于签名失配而更新移动装置302的安全配置。在一个实例中,响应于签名失配,通过与云网络中的服务器的无线通信来更新移动装置302上的安全性软件。
在一个实施例中,一种系统包含:至少一个处理装置(例如,104);和存储器,其含有被配置成指示至少一个处理装置进行以下操作的指令:从至少一个传感器(例如,110)接收传感器数据(例如,122)(和/或在其它实施例中从其它来源接收数据);在进入待机模式之前,产生用于存储于易失性存储器装置(例如,106)中的第一数据(例如,116)的第一签名(例如,118),所述第一数据包含经执行以基于传感器(和/或其它)数据控制至少一个功能的软件;将第一签名存储于非易失性存储器装置(例如,108)中;在存储第一签名之后,进入待机模式;退出待机模式;在退出待机模式之后,产生用于存储于易失性存储器装置中的第一数据(例如,126)的第二签名(例如,124);从非易失性存储器装置读取第一签名;将第一签名与第二签名进行比较;和响应于将第一签名和第二签名进行比较,执行关于所存储的第一数据的至少一个动作。
在一个实施例中,所述指令被进一步配置成指示至少一个处理装置:存储至少一个密钥(例如,130);和在将所述第一签名存储于所述非易失性存储器装置中之前,使用所述至少一个密钥加密所述第一签名。
在一个实施例中,主机装置(例如,114)将数据存储于所述易失性存储器装置和所述非易失性存储器装置中;且在所述易失性存储器装置进入所述待机模式之后将所述主机装置断电。
在一个实施例中,所述至少一个动作包含响应于确定所述第一签名不匹配所述第二签名,通过从所述非易失性存储器装置读取所述第一数据启动所述主机装置。
在一个实施例中,所述至少一个动作另外包括以下中的至少一个:经由无线网络发送通信给云网络中的服务器(例如,212),所述通信指示所述第一签名不匹配所述第二签名;将所述第一签名不匹配所述第二签名记录(例如,使用错误日志224)于所述非易失性存储器装置中;或基于确定所述第一签名不匹配所述第二签名,更新用以训练机器学习模型(例如,214和/或216)的训练数据(例如,218)。来自所述机器学习模型的输出用以控制车辆的所述至少一个功能(例如,控制用于车辆组件128的信号),且所述经更新训练数据包含所述第一数据的至少一部分。
在一个实施例中,所述指令被进一步配置成指示至少一个处理装置:存储至少一个密钥;和在将所述第一签名与所述第二签名进行比较之前,使用所述至少一个密钥解密从所述非易失性存储器装置读取的所述第一签名。
在一个实施例中,将所述第一签名与所述第二签名进行比较包含确定所述第一签名匹配所述第二签名;且所述至少一个动作包含使用存储于所述易失性存储器装置中的所述第一数据恢复所述软件的执行以控制车辆的所述至少一个功能。
在一个实施例中,所述第一数据另外包含来自将所述传感器数据作为输入的机器学习模型的输出。
在一个实施例中,一种方法包含:在进入待机模式之前,产生用于存储于易失性存储器中的数据的第一签名,所述所存储的数据包含从至少一个传感器和/或其它来源获得的传感器和/或其它数据;将所述第一签名存储于非易失性存储器中;在存储所述第一签名之后,发信号通知所述易失性存储器从第一操作模式改变到所述待机模式;发信号通知所述易失性存储器退出所述待机模式;在退出所述待机模式之后,产生用于存储于所述易失性存储器中的所述数据的第二签名;从所述非易失性存储器读取所述第一签名;将所述第一签名与所述第二签名进行比较;和响应于将所述第一签名与所述第二签名进行比较,执行关于所述所存储的数据的至少一个动作。
在一个实施例中,所述至少一个动作包含响应于确定所述第一签名匹配所述第二签名,通过从所述易失性存储器读取所述所存储的数据来恢复所述第一操作模式。
在一个实施例中,计算系统(例如,车辆102的计算系统)包含所述易失性存储器和所述非易失性存储器;且所述至少一个动作包含响应于确定所述第一签名不匹配所述第二签名,进行以下操作中的至少一个:防止所述计算系统使用所述易失性存储器中的所述所存储的数据,或从所述非易失性存储器启动所述计算系统。
在一个实施例中,所述易失性存储器当处于所述待机模式中时的电力消耗小于当处于所述第一模式中时的电力消耗。在一个实例中,维持用于在待机模式期间保护所识别存储器区312中的数据的电力,但减少或关断不包含将受保护的数据的区314的电力。
在一个实施例中,产生所述第一签名包含确定用于所述所存储的数据的错误校正码(例如,ECC 322);且所述至少一个动作包含响应于确定所述第一签名不匹配所述第二签名,使用所述错误校正码恢复所述所存储的数据的至少一部分。
在一个实施例中,产生第一签名包含:通过主机装置发送命令给所述易失性存储器,其中所述易失性存储器被配置成响应于接收到所述命令,确定用于所述所存储的数据的所述第一签名;和通过所述主机装置从所述易失性存储器接收所述第一签名。
在一个实施例中,产生第一签名包含:通过主机装置向所述易失性存储器的控制器发送对所述所存储的数据的请求;通过所述主机装置从所述易失性存储器接收所述所存储的数据;和响应于接收到所述所存储的数据,通过所述主机装置确定所述第一签名。
在一个实施例中,产生第一签名包含以下操作中的至少一个:通过使用散列函数计算所述所存储的数据的散列,产生所述所存储的数据的循环冗余校验(CRC),或产生所述所存储的数据的错误校正码。
在一个实施例中,所述方法另外包含识别所述易失性存储器的将产生所述第一签名所针对的区(例如,存储器区312),其中所述第一签名被确定用于存储于所述所识别的区中的数据。
在一个实施例中,所述所存储的数据用以控制车辆的至少一个功能;且识别所述易失性存储器的所述区包含基于来自机器学习模型的输出确定所述区,其中发到所述机器学习模型的输入包含关于所述车辆的操作上下文的数据。
在一个实施例中,从所述至少一个传感器获得关于所述车辆的所述操作上下文的所述数据。在一个实例中,所述上下文包含关于车辆移动和/或除车辆以外的对象的移动的数据。在一个实例中,操作上下文包含与朝向车辆移动对象的识别相关联的数据。
在一个实施例中,一种存储指令的非暂时性计算机可读媒体,所述指令在至少一个计算装置上被执行时致使所述至少一个计算装置:产生用于存储于易失性存储器装置中的第一数据的第一签名,所述第一数据包含从车辆或移动装置的至少一个传感器和/或其它来源获得的数据和/或其它数据;将所述第一签名存储于非易失性存储器装置中;在存储所述第一签名之后,进入待机模式;在退出所述待机模式之后,产生用于存储于所述易失性存储器装置中的所述第一数据的第二签名;从所述非易失性存储器装置读取所述第一签名;将所述第一签名与所述第二签名进行比较;和响应于将所述第一签名与所述第二签名进行比较,执行至少一个动作。
在一个实施例中,主中央处理单元(例如,主机装置114)和主机启动存储器(例如,108、205)位于同一硅裸片上,使得与主机启动存储器的通信不会在硅裸片外部暴露。
在一个实施例中,主机启动存储器存储用于通过处理装置104启动并且加载操作系统的启动代码。在一个实例中,主机启动存储器存储指示存储于系统存储器112中的软件保护区的区表。在一个实例中,保护区是将在待机期间受保护的所识别区。
在一个实施例中,系统存储器112存储在处理装置104从有功功率状态转变到待机模式时间运行的操作系统和/或应用程序的操作状态。在退出待机模式之后,所存储的操作状态可用以恢复在进入待机模式之前存在的操作。在一个实例中,先前加载和运行的应用程序可恢复到其相同的先前操作状态。
在一个实施例中,在已存在待机模式的计算系统的恢复期间执行校验过程。校验过程当检测到存在签名失配时产生错误。因此,主机装置114可防止计算机系统继续进行恢复过程,以使得恶意软件无法破解计算机系统。
在一个实施例中,处理装置104将指示受保护的所识别区的数量和/或地址的数据存储于非易失性存储器装置108中。在一个实施例中,处理装置104接收致使从待机模式退出的输入。在一个实例中,所述输入是唤醒定时器,或服务中断。在一个实例中,处理装置104以与先前针对与存储于非易失性存储器中的签名的比较相同的方式重新产生签名。在一个实例中,产生多个签名并且与先前签名进行比较。
本公开包含进行所述方法且实施上文所描述的系统的各种装置,包含进行这些方法的数据处理系统,和含有指令的计算机可读媒体,所述指令当在数据处理系统上执行时使得系统进行这些方法。
描述和图式是说明性的且不应理解为限制性。描述许多具体细节以提供透彻理解。然而,在某些情况下,不描述众所周知的或常规的细节以免混淆描述。本公开中对一个或一实施例的参考未必参考同一实施例;并且此类参考意味着至少一个。
如本文所使用,“耦合到”或“与……耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。
在本说明书中对“一个实施例”或“一实施例”的参考意味着结合实施例描述的特定特征、结构或特性包含在本公开的至少一个实施例中。本说明书中各种位置中的短语“在一个实施例中”的出现未必完全是指同一实施例,也未必是与其它实施例相互排斥的单独或替代性实施例。此外,描述了可由一些实施例而不是由其它实施例呈现的各种特征。类似地,描述了各种要求,这些要求可能是一些实施例的要求而不是其它实施例的要求。
在本说明书中,各种功能和/或操作可描述为由软件代码进行或由软件代码引起以简化描述。然而,所属领域的技术人员将认识到,这种表达的意思是所述功能和/或操作由一或多个处理装置来执行代码所引起,所述处理装置例如微处理器、专用集成电路(ASIC)、图形处理器和/或现场可编程门阵列(FPGA)。替代地或组合地,可使用专用电路系统(例如逻辑电路系统)在有或没有软件指令的情况下实施功能和操作。可使用无软件指令的硬接线电路或结合软件指令实施实施例。因此,所述技术既不限于硬件电路系统与软件的任何特定组合,也不限于由计算装置执行的指令的任何特定来源。
尽管一些实施例可在完全功能的计算机和计算机系统中实施,但各种实施例能够以各种形式分布为计算产品且能够应用,而无关于实际上实现分布的特定类型的计算机可读媒体。
所公开的至少一些方面可至少部分体现于软件中。也就是说,所述技术可响应于其处理装置(例如微处理器)执行存储器(例如ROM、易失性RAM、非易失性存储器、高速缓存或远程存储装置)中所含有的指令序列而在计算装置或其它系统中进行。
执行以实施所述实施例的例程可实施为操作系统、中间件、服务递送平台、软件开发工具包(SDK)组件、网络服务或其它特定应用程序、组件、程序、对象、模块或指令序列(有时称为计算机程序)的部分。对这些例程的调用接口可作为应用程序编程接口(API)暴露于软件开发团体。计算机程序通常在各种时间在计算机中的各种存储器和存储装置中包括一或多个指令集,且所述指令集在由计算机中的一或多个处理器读取和执行时使所述计算机执行对进行涉及各个方面的要素来说必要的操作。
计算机可读媒体可用于存储在由计算装置执行时使得所述装置进行各种方法的软件和数据。可执行软件和数据可存储于包含例如ROM、易失性RAM、非易失性存储器和/或高速缓冲存储器的各处。此软件和/或数据的部分可以存储在这些存储装置中的任何一个中。此外,数据和指令可从集中式服务器或对等网络获得。数据和指令的不同部分可在不同时间且在不同通信会话中或同一通信会话中从不同集中式服务器和/或对等网络获得。可在执行应用程序之前获得全部数据和指令。或者,可动态地、及时地在需要执行时获得数据和指令的部分。因此,并不要求数据和指令在特定时刻全部处于计算机可读媒体上。
计算机可读媒体的实例包含但不限于可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器装置、固态驱动器存储媒体、可拆卸式磁盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(CDROM)、数字多功能磁盘(DVD)等)。计算机可读媒体可存储指令。计算机可读媒体的其它实例包含但不限于使用NOR快闪或NAND快闪架构的非易失性嵌入式装置。在这些架构中使用的媒体可包含不受管理NAND装置和/或受管理NAND装置,包含例如eMMC、SD、CF、UFS和SSD。
一般来说,非暂时性计算机可读媒体包含以可由计算装置(例如计算机、移动装置、网络装置、个人数字助理、具有控制器的制造工具、具有一或多个处理器的集合的任何装置等)存取的形式提供(例如存储)信息的任何机构。如本文所使用的“计算机可读媒体”可以包含存储一或多个指令集的单个媒体或多个媒体。
在各种实施例中,硬连线电路系统可与软件和固件指令组合使用以实施所述技术。因此,所述技术既不限于硬件电路系统与软件的任何特定组合,也不限于由计算装置执行的指令的任何特定来源。
可使用各种各样不同类型的计算装置来实施本文中阐述的各种实施例。如本文中所使用,“计算装置”的实例包含但不限于服务器、集中式计算平台、多个计算处理器和/或组件的系统、移动装置、用户终端、车辆、个人通信装置、可佩戴数字装置、电子自助服务终端、通用计算机、电子文档阅读器、平板计算机、手提式计算机、智能电话、数码相机、住宅家庭设备、电视或数字音乐播放器。计算装置的额外实例包含作为称为“物联网(IOT)”的部分的装置。这种“物”可与其拥有者或管理员偶然交互,所述拥有者或管理员可监测所述物或修改对这些物的设定。在一些情况下,这类拥有者或管理员扮演关于“物”装置的用户的角色。在一些实例中,用户的主要移动装置(例如苹果iPhone(Apple iPhone))可以是关于用户佩戴的配对的“物”装置(例如苹果手表(Apple watch))的管理员服务器。
在一些实施例中,计算装置可以是计算机或主机系统,其例如实施为台式计算机、手提式计算机、网络服务器、移动装置,或包含存储器和处理装置的其它计算装置。主机系统可包含或耦合到存储器子系统,使得主机系统可从存储器子系统读取数据或将数据写入到存储器子系统。主机系统可经由物理主机接口耦合到存储器子系统。一般来说,主机系统可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
在一些实施例中,计算装置是包含一或多个处理装置的系统。处理装置的实例可包含微控制器、中央处理单元(CPU)、专用逻辑电路系统(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)、芯片上系统(SoC)或另一合适的处理器。
在一个实例中,计算装置是存储器系统的控制器。控制器包含处理装置和存储器,所述存储器含有由处理装置执行以控制存储器系统的各种操作的指令。
尽管附图中的一些以特定次序说明数个操作,但可将非次序相依性操作重新排序且可组合或分解其它操作。虽然具体提及了一些重新排序或其它分组,但是其它重新排序或分组对于所属领域的技术人员来说是显而易见的,因此不提供详尽的替代方案列表。此外,应认识到,阶段可用硬件、固件、软件或其任何组合来实施。
在前述说明书中,已参考本公开的具体示范性实施例描述了本公开。将显而易见的是,可在不脱离如所附权利要求书中阐述的更广精神和范围的情况下进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

Claims (20)

1.一种系统,其包括:
至少一个处理装置;和
存储器,其含有指令,所述指令被配置成指示所述至少一个处理装置:
在进入待机模式之前,产生用于存储于易失性存储器装置中的第一数据的第一签名,所述第一数据包含经执行以控制至少一个功能的软件;
将所述第一签名存储于非易失性存储器装置中;
在存储所述第一签名之后,进入所述待机模式;
退出所述待机模式;
在退出所述待机模式之后,产生用于存储于所述易失性存储器装置中的所述第一数据的第二签名;
从所述非易失性存储器装置读取所述第一签名;
将所述第一签名与所述第二签名进行比较;和
响应于将所述第一签名与所述第二签名进行比较,执行关于所述所存储的第一数据的至少一个动作。
2.根据权利要求1所述的系统,其中所述指令被进一步配置成指示所述至少一个处理装置:
存储至少一个密钥;和
在将所述第一签名存储于所述非易失性存储器装置中之前,使用所述至少一个密钥加密所述第一签名。
3.根据权利要求1所述的系统,其中:
主机装置将数据存储于所述易失性存储器装置和所述非易失性存储器装置中;且
在所述易失性存储器装置进入所述待机模式之后将所述主机装置断电。
4.根据权利要求3所述的系统,其中所述至少一个动作包括响应于确定所述第一签名不匹配所述第二签名,通过从所述非易失性存储器装置读取所述第一数据启动所述主机装置。
5.根据权利要求4所述的系统,其中所述至少一个动作另外包括以下中的至少一个:
经由无线网络发送通信给云网络中的服务器,所述通信指示所述第一签名不匹配所述第二签名;
将所述第一签名不匹配所述第二签名记录于所述非易失性存储器装置中;或
基于确定所述第一签名不匹配所述第二签名,更新用以训练机器学习模型的训练数据,其中来自所述机器学习模型的输出用以控制车辆的所述至少一个功能,且其中所述经更新训练数据包含所述第一数据的至少一部分。
6.根据权利要求1所述的系统,其中所述指令被进一步配置成指示所述至少一个处理装置:
存储至少一个密钥;和
在将所述第一签名与所述第二签名进行比较之前,使用所述至少一个密钥解密从所述非易失性存储器装置读取的所述第一签名。
7.根据权利要求1所述的系统,其中:
将所述第一签名与所述第二签名进行比较包括确定所述第一签名匹配所述第二签名;和
所述至少一个动作包括使用存储于所述易失性存储器装置中的所述第一数据恢复所述软件的执行以控制车辆的所述至少一个功能。
8.根据权利要求7所述的系统,其中所述软件基于从至少一个传感器接收的传感器数据控制所述至少一个功能,且所述第一数据另外包含来自将所述传感器数据作为输入的机器学习模型的输出。
9.一种方法,其包括:
在进入待机模式之前,产生用于存储于易失性存储器中的数据的第一签名;
将所述第一签名存储于非易失性存储器中;
在存储所述第一签名之后,发信号通知所述易失性存储器从第一操作模式改变到所述待机模式;
发信号通知所述易失性存储器退出所述待机模式;
在退出所述待机模式之后,产生用于存储于所述易失性存储器中的所述数据的第二签名;
从所述非易失性存储器读取所述第一签名;
将所述第一签名与所述第二签名进行比较;和
响应于将所述第一签名与所述第二签名进行比较,执行关于所述所存储的数据的至少一个动作。
10.根据权利要求9所述的方法,其中所述至少一个动作包括响应于确定所述第一签名匹配所述第二签名,通过从所述易失性存储器读取所述所存储的数据来恢复所述第一操作模式。
11.根据权利要求9所述的方法,其中:
计算系统包括所述易失性存储器和所述非易失性存储器;且
所述至少一个动作包括响应于确定所述第一签名不匹配所述第二签名,进行以下操作中的至少一个:防止所述计算系统使用所述易失性存储器中的所述所存储的数据,或从所述非易失性存储器启动所述计算系统。
12.根据权利要求9所述的方法,其中所述易失性存储器当处于所述待机模式中时的电力消耗小于当处于所述第一模式中时的电力消耗。
13.根据权利要求9所述的方法,其中:
产生所述第一签名包括确定用于所述所存储的数据的错误校正码;且
所述至少一个动作包括响应于确定所述第一签名不匹配所述第二签名,使用所述错误校正码恢复所述所存储的数据的至少一部分。
14.根据权利要求9所述的方法,其中产生所述第一签名包括:
通过主机装置发送命令给所述易失性存储器,其中所述易失性存储器被配置成响应于接收到所述命令,确定用于所述所存储的数据的所述第一签名;和
通过所述主机装置从所述易失性存储器接收所述第一签名。
15.根据权利要求9所述的方法,其中产生所述第一签名包括:
通过主机装置向所述易失性存储器的控制器发送对所述所存储的数据的请求;
通过所述主机装置从所述易失性存储器接收所述所存储的数据;和
响应于接收到所述所存储的数据,通过所述主机装置确定所述第一签名。
16.根据权利要求9所述的方法,其中产生所述第一签名包括以下操作中的至少一个:通过使用散列函数计算所述所存储的数据的散列,产生所述所存储的数据的循环冗余校验CRC,或产生所述所存储的数据的错误校正码。
17.根据权利要求9所述的方法,其另外包括识别所述易失性存储器的将产生所述第一签名所针对的区,其中所述第一签名被确定用于存储于所述所识别的区中的数据。
18.根据权利要求17所述的方法,其中:
所述所存储的数据用以控制车辆的至少一个功能;且
识别所述易失性存储器的所述区包括基于来自机器学习模型的输出确定所述区,其中发到所述机器学习模型的输入包括关于所述车辆的操作上下文的数据。
19.根据权利要求18所述的方法,其中所述所存储的数据包含从至少一个传感器获得的传感器数据,且从所述至少一个传感器获得关于所述车辆的所述操作上下文的所述数据。
20.一种存储指令的非暂时性计算机可读媒体,所述指令在至少一个计算装置上被执行时致使所述至少一个计算装置:
产生用于存储于易失性存储器装置中的第一数据的第一签名,所述第一数据包含从车辆或移动装置的至少一个传感器或其它数据源获得的数据;
将所述第一签名存储于非易失性存储器装置中;
在存储所述第一签名之后,进入待机模式;
在退出所述待机模式之后,产生用于存储于所述易失性存储器装置中的所述第一数据的第二签名;
从所述非易失性存储器装置读取所述第一签名;
将所述第一签名与所述第二签名进行比较;和
响应于将所述第一签名与所述第二签名进行比较,执行至少一个动作。
CN202110911569.3A 2020-08-12 2021-08-10 对在待机模式期间在dram中发生不期望的内容改变的防护 Active CN114077395B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/991,855 US11544412B2 (en) 2020-08-12 2020-08-12 Protection against unintended content change in DRAM during standby mode
US16/991,855 2020-08-12

Publications (2)

Publication Number Publication Date
CN114077395A true CN114077395A (zh) 2022-02-22
CN114077395B CN114077395B (zh) 2024-08-09

Family

ID=80000793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110911569.3A Active CN114077395B (zh) 2020-08-12 2021-08-10 对在待机模式期间在dram中发生不期望的内容改变的防护

Country Status (3)

Country Link
US (1) US11544412B2 (zh)
CN (1) CN114077395B (zh)
DE (1) DE102021120077A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250891B1 (en) 2020-08-12 2022-02-15 Micron Technology, Inc. Validation of DRAM content using internal data signature
US12001707B2 (en) * 2020-08-20 2024-06-04 Micron Technology, Inc. Host verification for a memory device
JP7536630B2 (ja) * 2020-12-18 2024-08-20 東芝テック株式会社 制御装置及びその起動方法、ならびに電気機器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104520872A (zh) * 2012-09-14 2015-04-15 英特尔公司 在低功率状态期间保护存储器区的方法和装置
CN111176556A (zh) * 2018-11-13 2020-05-19 美光科技公司 使用表决机构的高可靠性非易失性存储器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496946B2 (en) 1999-05-10 2002-12-17 Motorola, Inc. Electronic control apparatus with memory validation and method
US6694451B2 (en) * 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
US6766468B2 (en) * 2001-07-11 2004-07-20 International Business Machines Corporation Memory BIST and repair
US7260758B1 (en) 2001-09-07 2007-08-21 Lsi Corporation Method and system for performing built-in self-test routines using an accumulator to store fault information
JP5493951B2 (ja) * 2009-04-17 2014-05-14 株式会社リコー 情報処理装置、正当性検証方法及びプログラム
US20130212413A1 (en) * 2012-01-07 2013-08-15 Acer Cloud Technology, Inc. Cloud Remote Wakeup
US9003252B1 (en) 2012-03-07 2015-04-07 Marvell Israel (M.I.S.L) Ltd. Method and system for memory test and repair
US8935586B2 (en) 2012-11-08 2015-01-13 International Business Machines Corporation Staggered start of BIST controllers and BIST engines
CN103248491B (zh) * 2013-05-23 2016-04-13 天地融科技股份有限公司 一种电子签名令牌私钥的备份方法和系统
US9959124B1 (en) * 2014-09-26 2018-05-01 Apple Inc. Secure bypass of low-level configuration in reconfiguration of a computing system
JP6391439B2 (ja) * 2014-11-21 2018-09-19 キヤノン株式会社 情報処理装置、サーバ装置、情報処理システム、制御方法及びコンピュータプログラム
US9639425B1 (en) * 2015-01-13 2017-05-02 Marvell International Ltd. Signature-based sleep recovery operation flow
US10185633B2 (en) * 2015-12-15 2019-01-22 Intel Corporation Processor state integrity protection using hash verification
KR101833790B1 (ko) * 2016-05-16 2018-04-13 (주)휴맥스 포스 입력을 이용하여 다양한 모드들을 실현하는 미디어 시스템 및 방법
US10320562B2 (en) * 2016-06-01 2019-06-11 Nxp Usa, Inc. Application specific low-power secure key
TW202139986A (zh) * 2020-02-21 2021-11-01 愛爾蘭商爵士製藥愛爾蘭有限責任公司 治療原發性嗜睡症之方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104520872A (zh) * 2012-09-14 2015-04-15 英特尔公司 在低功率状态期间保护存储器区的方法和装置
CN111176556A (zh) * 2018-11-13 2020-05-19 美光科技公司 使用表决机构的高可靠性非易失性存储器

Also Published As

Publication number Publication date
DE102021120077A1 (de) 2022-02-17
CN114077395B (zh) 2024-08-09
US20220050926A1 (en) 2022-02-17
US11544412B2 (en) 2023-01-03

Similar Documents

Publication Publication Date Title
CN114077395B (zh) 对在待机模式期间在dram中发生不期望的内容改变的防护
US9098301B2 (en) Electronic device and booting method
US10069826B2 (en) Secure sensor data transport and processing
CN110998578B (zh) 用于在异构存储器环境内进行引导的系统和方法
US8763112B2 (en) Systems and methods for power-on user authentication
EP3186742B1 (en) System and method for improved security for a processor in a portable computing device (pcd)
JP2024050647A (ja) ファームウェアのセキュアな検証
CN109657448B (zh) 一种获取Root权限的方法、装置、电子设备及存储介质
KR101654778B1 (ko) 하드웨어 강제 액세스 보호
CN109614798B (zh) 安全启动方法、装置及终端设备
US8621195B2 (en) Disabling communication ports
TW201310344A (zh) 存取基本輸入輸出系統設定的認證方法
US10019579B2 (en) Embedded controller for safety booting and method thereof
WO2013126058A1 (en) Firmware package to modify active firmware
KR20190033930A (ko) 보안 정보를 암호화하는 전자 장치 및 그 작동 방법
CN107729775B (zh) 实现智能密钥设备模式间切换的方法和装置
US20200244461A1 (en) Data Processing Method and Apparatus
KR20210026233A (ko) 디바이스 리소스에 대한 접근을 제어하기 위한 전자 장치 및 그의 동작 방법
US9246943B2 (en) Determining security factors associated with an operating environment
CN111291363B (zh) 通信模组运行处理方法、装置、通信模组及计算机可读介质
US20220414216A1 (en) Electronic apparatus and security protection method
US20230344651A1 (en) Deterministic certificate expiration in dissaggregated environments
CN111356965A (zh) 睡眠状态检测
CN116954708A (zh) 系统镜像数据的处理方法、装置、设备及介质
WO2022025927A1 (en) Operational change control action

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