CN106575346B - 存储器中的加密完整性校验 - Google Patents
存储器中的加密完整性校验 Download PDFInfo
- Publication number
- CN106575346B CN106575346B CN201580044954.5A CN201580044954A CN106575346B CN 106575346 B CN106575346 B CN 106575346B CN 201580044954 A CN201580044954 A CN 201580044954A CN 106575346 B CN106575346 B CN 106575346B
- Authority
- CN
- China
- Prior art keywords
- memory
- crc
- data
- logic
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/79—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/403—Error protection encoding, e.g. using parity or ECC codes
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Storage Device Security (AREA)
Abstract
用于存储器中的AES完整性校验的设备、系统、以及方法被描述。在一个实施例中,控制器包括逻辑以:从主机装置接收写请求以将数据行写到存储器装置、从所述数据行来确定第一明文循环冗余校验、对所述数据行进行加密、采用独特值来加密所述第一明文CRC以生成第一加密的CRC、以及将所加密的数据行和所述第一加密的CRC存储在存储器中。其它实施例也被公开和要求权利。
Description
技术领域
本公开一般涉及电子器件领域。更特定地,本发明的一些实施例一般涉及用于电子装置的存储器中的加密完整性(integrity)校验。
背景技术
许多的电子装置包括可使用本地、快速访问存储器来实现的存储器系统,其中本地、快速访问存储器经常被实施为非易失性存储器,例如,闪速存储器等。在一些示例中,提供从主机接口到存储器的加密数据路径(例如通过在数据路径中放置加密引擎)可以是有益的。加密的一个示例是高级加密标准(AES),其由国家标准与技术研究院(NIST)发表作为联邦信息处理标准(FIPS)197。
存储器控制器可需要实现完整性校验,以确保加密引擎操作正确。相应地,用来管理加密存储器中完整性校验过程的技术可例如在用于电子装置的存储器系统中发现效用。
附图说明
详细的描述参考附图来被提供。不同图中的相同引用标号的使用指示类似或同样的项目。
图1是依照本文中所讨论的各种示例的、用来实现存储器中加密完整性校验的设备的组件的示意性框图说明。
图2是依照本文中所讨论的各种示例的、用来实现在写操作存储器中加密完整性校验的架构的示意性框图说明。
图3是一流程图,示出了依照本文中所讨论的各种实施例的、用来实现在写操作存储器中加密完整性校验的方法中的操作。
图4是依照本文中所讨论的各种示例的、用来实现在读操作存储器中加密完整性校验的架构的示意性框图说明。
图5是一流程图,示出依照本文中所讨论的各种实施例的、用来实现在读操作存储器中加密完整性校验的方法中的操作。
图6-10是依照本文中所讨论的各种实施例的、可适应于实现存储器中加密完整性校验的电子装置的示意性框图说明。
具体实施方式
在以下描述中,大量的具体细节被陈述,以便于提供对各种实施例的透彻理解。然而,本发明的各种实施例可在没有所述具体细节的情况下被实践。在其它实例中,已没有详细描述熟知的方法、规程、组件、以及电路,以不使本发明的特定实施例难以理解。进一步地,本发明的实施例的各种方面可使用各种部件来执行,诸如集成半导体电路(“硬件”)、被组织成一个或更多程序的计算机可读指令(“软件”)、或硬件和软件的某种组合。对于本公开来说,引用“逻辑”应意味或硬件、软件,或其的某种组合。
图1是依照本文中所讨论的各种示例的、用来实现存储器中加密完整性校验的设备的组件的示意性框图说明。系统主存储器100向CPU 110提供运行时间数据存储以及对系统盘存储存储器(未示出)的内容的访问。所述CPU可包括高速缓存存储器,其能够存储主存储器100的内容的子集。
在该实施例中,存在两级的存储器。主存储器100包括示出为近存储器(DRAM)120的易失性存储器级,和示出为远存储器130的存储器级。远存储器可包括或易失性存储器,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM),非易失性存储器,或可包括非易失性存储器,例如相变存储器、NAND(闪存)存储器、铁电随机存取存储器(FeRAM)、基于纳米线的非易失性存储器、结合了忆阻器(memristor)技术的存储器、三维(3D)交叉点存储器、诸如相变存储器(PCM)、磁阻式随机存取存储器(MRAM)、自旋转移扭矩存储器(STT-RAM)或NAND闪速存储器。在该实施例中,近存储器120起到远存储器130的低等待时间和高带宽(即,用于CPU 110访问)高速缓存的作用,远存储器130可具有相当较低的带宽和较高的等待时间(即,用于CPU 110访问)。
在该实施例中,近存储器120由近存储器控制器(NMC)125进行管理,而远存储器130由远存储器控制器(FMC)135进行管理。FMC 135向系统操作系统(OS)报告远存储器130作为主存储器—即,系统OS将远存储器130的大小认识为系统主存储器100的大小。系统OS和系统应用“不知道”近存储器120的存在,因为近存储器120是远存储器130的“透明”高速缓存。
CPU 110进一步包括两级存储器(2LM)引擎模块/逻辑140。该“2LM引擎”是逻辑上的构想,其可包括硬件和/或微代码外延,以支持两级主存储器100。例如,2LM引擎140可维持对远存储器130的所有在架构上可见的元件的状态进行跟踪的全标签表。例如,当CPU110尝试访问主存储器100中的具体数据段时,2LM引擎140确定是否所述数据段包括在近存储器120中;如果没有,则2LM引擎140取远存储器130中的数据段并随后将数据段写到近存储器120(类似于高速缓存未命中)。要被理解的是,因为近存储器120担当了远存储器130的“高速缓存”,故2LM引擎140可进一步执行数据预取或类似的高速缓存效率过程(本领域中已知的)。
2LM引擎140可管理远存储器130的其它方面。例如,在其中远存储器130包括非易失性存储器的实施例中,被理解的是非易失性存储器(诸如闪存)遭受了由于显著的读/写而带来的存储器段的退化。因而,2LM引擎140可以通过对系统软件透明的方式来执行包括磨损平衡(wear-leveling)、坏块避免等功能。例如,执行磨损平衡逻辑可包括从远存储器130中具有相对低的擦除循环计数的干净未映射段的空闲池中来选择段。
要被理解的是,近存储器120在大小上要小于远存储器130,尽管确切的比可例如基于预期的系统使用而变化。在该实施例中,要被理解的是,因为远存储器130包括更致密、更廉价的非易失性存储器,故主存储器100可廉价并高效地被增大,且不依赖于系统中DRAM(即,近存储器120)的量。
如以上所描述的,在一些实施例中,例如远存储器控制器135中的逻辑实现了存储器100中的AES完整性校验。用来实现存储器100中在写操作中的AES完整性校验的技术将参考图2-3来被解释。参考图2和3,在操作310,远存储器控制器135从主机装置接收写请求。在一些示例中,写请求可包括将64字节的数据拆成在图2中由引用标号210A、210B、210C、210D指示的四个16字节块。然而,将认识到的是,写操作中的数据的量不是关键的。进一步地,写操作可包括在图2中由引用标号230指示的逻辑地址。
在操作315,逻辑块地址230被预先挂起(prepend)到在操作310中接收的数据行,例如到64字节高速缓存行,且在操作320,第一明文循环冗余校验(CRC)被确定。在图2中,明文存储器块210A、210B、201C和210D被输入到CRC演算模块232中,CRC演算模块232输出明文CRC 234。
在操作325,在操作310中接收的数据行被加密。在图2中,所述16字节数据块210A、210B、210C、210D被输入到相应的加密引擎220A、220B、220C、220D。在预备的示例中,所述16字节数据块210A、210B、210C、210D可使用共享的、流水线加密引擎来同时期地被处理。
在操作330,明文CRC 234采用由写计数240和存储器的物理地址250(数据行在其中被存储在存储器中)的连结(concatenation)所形成的随机数(nonce)而被加密。参考图2,写计数240和物理地址250被输入到加密引擎220E,加密引擎220E输出加密的16字节值260。该16字节值260与明文CRC 234进行异或(XOR),以生成加密的CRC。
加密的数据、加密的CRC、以及写计数在编码器280中被编码,并被存储(操作335)在存储器290中,以完成写操作。
用来实现存储器中在读操作中的AES完整性校验的技术将参考图4-5来被解释。参考图4和5,在操作510,远存储器控制器135从主机装置接收读请求。在一些示例中,读请求可包括在图4中由引用标号230指示的逻辑地址。
在操作515,加密的高速缓存行从存储器290被检索且在解码器280中被解码。在操作520,加密的CRC 236采用由写计数240和存储器的物理地址250(数据行在其中被存储在存储器中)的连结所形成的随机数而被解密。参考图4,写计数240和物理地址250被输入到解密引擎222E,解密引擎222E输出解密的16字节值260。该16字节值260与加密的CRC 236进行异或,以生成解密的CRC 234。
在操作525,从存储器290检索的数据行被解密。在图4中,加密的数据被输入到相应的解密引擎222A、222B、222C、22D中,所述解密引擎输出解密的16字节解密数据块210A、210B、210C、210D。在预备的示例中,加密的数据可以使用共享的、流水线解密引擎来同时期地被处理。
在操作530,逻辑块地址230被预先挂起到从加密引擎220A、220B、220C、220D输出的明文存储器块210A、210B、201C和210D,且在操作535,明文循环冗余校验(CRC)被确定。在图4中,从加密引擎220A、220B、220C、220D输出的明文存储器块210A、210B、201C和210D以及LBA被输入到CRC演算模块232中,CRC演算模块232输出明文CRC 238。
在操作540,对加密的数据、明文CRC 234以及明文CRC 238进行比较。参考图4,在一些示例中,明文CRC 234和明文CRC 238被输入到比较器272,其可包括跟随有NAND门控的XOR门控。如果在操作545,CRC 234和CRC 238相匹配,则返回从存储器290检索的数据。相反,如果在操作545,CRC 234和CRC 238不匹配,则调用错误例程。
因而,图3和5的操作使得存储器能够实现在存储器装置中的加密完整性校验。更特定地,图3和5中所描绘的操作允许在不暴露明文数据或明文CRC信息的情况下加密数据的完整性校验。
64B高速缓存行密文能够被刷新且写计数被更新,而不需要对该64B高速缓存行进行解密和重新加密。反而,只有CRC需要采用由关联于该刷新操作的写计数的连结形成的新随机数来被解密和重新加密。类似地,64B高速缓存行密文能够被再定位到不同的物理存储器地址,且只有密文CRC(C-CRC 236)需要采用新的写计数和新的物理地址来被更新。这降低了流过加密引擎的流量的量并导致更低的门控计数和功率消耗。而且,存储器刷新和地址间接寻址(indirection)能够在不知晓逻辑块地址的情况下被执行,同时密文CRC(C-CRC236)仍然对逻辑块地址进行保护。
将注意到的是,演算密文CRC(C-CRC 236)并不招致在对64B数据行进行加密上的另外等待时间。类似地,演算第四CRC(明文CRC 238)并不招致在对64B高速缓存行进行解密时另外的加密等待时间。反而,对于64B高速缓存行的加密和对于密文CRC(C-CRC 236)与明文CRC 238的加密能够并行执行。
写计数适合作为随机数,因为它进行增值且对于其它用途(磨损平衡)也是需要的,且不对需要被存储在存储器中的开销比特的数目进行增加。注意,写计数可与作为元数据的数据一起被存储,或被存储在单独的地址间接寻址表中。
逻辑地址不需要另外的机制来校验其有效性。这意味着最初用来存储逻辑地址散列的元数据比特能够被移除。
将被认识到的是,本文中所描述的算法能够应用到不同于AES的加密方案、能够具有不同于64字节的数据大小、能够具有不同于CRC的散列、且能够具有大于或小于4比特的CRC长度。进一步地,写计数能够具有任意数目的比特,只要其对于每个写进行增值且对于每个物理地址不重复。逻辑和物理地址能够是相同的。ECC能够是BCH、里德-所罗门(Reed-Solomon)、LDPC、卷积码、汉明(Hamming)码等。
如以上所描述的,在一些实施例中,电子装置可以被实施为计算机系统。图6示出依照本发明的一实施例的计算系统600的框图。计算系统600可包括一个或更多中央处理单元(CPU)602或处理器,它们经由互连网络(或总线)604进行通信。处理器602可包括一般用途处理器、网络处理器(其处理通过计算机网络603进行传达的数据)、或其它类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器602可具有单个或多个核设计。带有多个核设计的处理器602可在相同的集成电路(IC)管芯上集成不同类型的处理器核。而且,带有多个核设计的处理器602可实现为对称的或不对称的多处理器。在一实施例中,处理器602中的一个或更多可与图1的处理器102相同或类似。例如,处理器602中的一个或更多可包括参考图1-3讨论的控制单元120。而且,参考图3-5讨论的操作可由系统600的一个或更多组件来执行。
芯片集606也可与互连网络604进行通信。芯片集606可包括存储器控制集线器(MCH)608。 MCH 608可包括与存储器612(其可与图1的存储器130相同或类似)通信的存储器控制器610。存储器412可存储数据(包括指令序列),被存储数据可被CPU 602或包括在计算系统600中的任一其它装置所执行。在本发明的一个实施例中,存储器612可包括一个或更多易失性存储(或存储器)装置,诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、或其它类型的存储装置。也可利用非易失性存储器,诸如硬盘或固态驱动器(SSD)。另外的装置,诸如多个CPU和/或多个系统存储器,可经由互连网络604进行通信。
MCH 608还可包括与显示装置616通信的图形接口614。在本发明的一个实施例中,图形接口614可经由加速的图形端口(AGP)与显示装置616通信。在本发明的一实施例中,显示器616(诸如平板显示器)可例如通过信号转换器来与图形接口614通信,信号转换器将存储在存储装置(诸如视频存储器或系统存储器)中的图像的数字表示转变成由显示器616进行解译和显示的显示信号。由显示装置产生的显示信号在被显示器616解译和随后在其上进行显示之前,可穿越各种控制装置。
集线器接口618可允许MCH 608和输入/输出控制集线器(ICH)620进行通信。ICH620可提供接口到与计算系统600相通信的I/O装置。ICH 620可通过外围桥(或控制器)624与总线622通信,诸如外围组件互连(PCI)桥、通用串行总线(USB)控制器、或其它类型的外围桥或控制器。桥624可提供CPU 602和外围装置之间的数据路径。其它类型的拓扑可被利用。而且,多个总线可例如通过多个桥或控制器来与ICH 620通信。此外,在本发明的各种实施例中,与ICH 620通信的其它外围装置可包括集成驱动电子器件(IDE)或小计算机系统接口(SCSI)硬驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例如,数字视频接口(DVI))、或其它装置。
总线622可与音频装置626、一个或更多盘驱动器628、以及网络接口装置630(其与计算机网络603通信)通信。其它装置可经由总线622进行通信。而且,在本发明的一些实施例中,各种组件(诸如网络接口装置630)可与MCH 608通信。另外,处理器602以及本文中所讨论的一个或更多其它组件可组合来形成单个芯片(例如,用来提供芯片上系统(SOC))。此外,在本发明的其它实施例中,图形加速器616可被包括在MCH 608内。
此外,计算系统600可包括易失性和/或非易失性存储器(或存储装置)。例如,非易失性存储器可包括以下中的一个或更多:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、盘驱动器(例如,628)、软盘、紧致盘ROM(CD-ROM)、数字通用盘(DVD)、闪速存储器、磁光盘、或能够存储电子数据(例如,包括指令)的其它类型的非易失性机器可读媒体。
图7示出依据本发明的一实施例的计算系统700的框图。系统700可包括一个或更多处理器702-1到702-N(在本文中一般地被称作为“处理器702(processors 702)”或“处理器 702(processor 702)”)。处理器702可经由互连网络或总线704进行通信。每个处理器可包括各种组件,为了清楚,其中的一些只参考处理器702-1被讨论。相应地,其余处理器702-2到702-N中的每个可包括参考处理器702-1所讨论的相同或类似组件。
在一实施例中,处理器702-1可包括一个或更多处理器核706-1到706-M(在本文中被称作为“核706(cores 706)”,或更一般地被称作为“核706(core 706)”)、共享高速缓存708、路由器710、和/或处理器控制逻辑或单元720。处理器核706可在单个集成电路(IC)芯片上被实现。此外,该芯片可包括一个或更多共享和/或私有高速缓存(诸如高速缓存708)、总线或互连(诸如总线或互连网络712)、存储器控制器、或其它组件。
在一个实施例中,路由器710可被用来在系统700和/或处理器702-1的各种组件之间进行通信。此外,处理器702-1可包括不止一个路由器710。此外,路由器710中的多数可以相通信,以能够实现在处理器702-1内部或外部各种组件之间的数据路由选择。
共享高速缓存708可存储被处理器702-1的一个或更多组件(诸如核706)所利用的数据(例如,包括指令)。例如,共享高速缓存708可在本地高速缓存被存储在存储器714中的数据,以用于被处理器702的组件进行的更快访问。在一实施例中,高速缓存708可包括中间级高速缓存(诸如2级(L2)、3级(L3)、4级(L4)或其它级的高速缓存)、末级高速缓存(LLC)、和/或其的组合。此外,处理器702-1的各种组件可通过总线(例如,总线712)、和/或存储器控制器或集线器来与共享高速缓存708直接通信。如图7中所示,在一些实施例中,核706中的一个或更多可包括1级(L1)高速缓存716-1(在本文中,一般地被称作为“L1 高速缓存716”)。在一个实施例中,控制单元720可包括逻辑以实现参考图2中的存储器控制器122的以上所描述的操作。
图8示出依据本发明的一实施例的、处理器核706的部分以及计算系统的其它组件的框图。在一个实施例中,图8中所示的箭头示出通过核706的指令的流动方向。诸如参考图7所讨论的,一个或更多处理器核(诸如处理器核706)可在单个集成电路芯片(或管芯)上被实现。此外,该芯片可包括一个或更多共享和/或私有高速缓存(例如,图7的高速缓存708)、互连(例如,图7的互连704和/或112)、控制单元、存储器控制器、或其它组件。
如图8中所示出的,处理器核706可包括取单元802来取用于被核706执行的指令(包括带有条件分支的指令)。所述指令可从诸如存储器714的任何存储装置来取。核706还可包括解码单元804,用来解码所取的指令。比如,解码单元804可将所取的指令解码成多个uops(微操作)。
另外,核706可包括调度单元806。调度单元806可执行关联于存储被解码指令(例如,从解码单元804接收的)的各种操作,直到所述指令准备好用于分派,例如,直到被解码指令的所有源值变得可用。在一个实施例中,调度单元806可将被解码指令调度和/或发出(或分派)到执行单元808以用于执行。执行单元808可在指令被解码(例如,通过解码单元804)和被分派(例如,通过调度单元806)之后来执行所分派的指令。在一实施例中,执行单元808可包括不止一个执行单元。执行单元808也可执行各种算术运算,诸如加、减、乘、和/或除,且可包括一个或更多算术逻辑单元(ALU)。在一实施例中,协同处理器(未示出)可连同执行单元808来执行各种算术运算。
进一步地,执行单元808可无序地执行指令。因此,在一个实施例中,处理器核706可以是无序处理器核。核706还可包括引退单元810。引退单元810可在执行的指令被交付(commit)之后将它们引退。在一实施例中,执行的指令的引退可导致处理器状态从指令的执行被交付、指令使用的物理寄存器被解除分配等。
核706还可包括总线单元714,以能够实现处理器核706的组件和其它组件(诸如参考图8讨论的组件)之间经由一个或更多总线(例如,总线804和/或812)进行通信。核706还可包括一个或更多寄存器816,用来存储被核706的各种组件所访问的数据(诸如涉及功率消耗状态设定的值)。
此外,即使图7示出了控制单元720经由互连812被耦合到核706,在各种实施例中,控制单元720可被定位在其它地方,诸如在核706的内部,经由总线704来耦合到核等。
在一些实施例中,本文中所讨论的组件中的一个或更多能够被实施为芯片上系统(SOC)装置。图9示出依照一实施例的SOC封装的框图。如图9中所示出的,SOC 902包括一个或更多中央处理单元(CPU)核920、一个或更多图形处理器单元(GPU)核930、输入/输出(I/O)接口940、以及存储器控制器942。SOC封装902的各种组件可耦合到诸如参考其它图在本文中被讨论的互连或总线。而且,SOC封装902可包括或多或少的组件,诸如本文中参考其它图所讨论的那些。进一步地,SOC封装902的每个组件可包括一个或更多其它组件,例如,正如本文中参考其它图所讨论的一样。在一个实施例中,SOC封装902(以及其的组件)在例如被封装到单个半导体装置中的一个或更多集成电路(IC)管芯上被提供。
如图9中所示出的,SOC封装902经由存储器控制器942耦合到存储器960(其可与本文中参考其它图所讨论的存储器类似或相同)。在一实施例中,存储器960(或其的部分)能够集成在SOC封装902上。
I/O接口940可例如经由诸如在本文中参考其它图所讨论的互连和/或总线来耦合到一个或更多I/O装置970。I/O装置970可包括键盘、鼠标、触摸板、显示器、图像/视频捕捉装置(诸如摄像机或可携式摄像机/视频记录器)、触摸屏幕、扬声器等中的一个或更多。
图10示出依照本发明的一实施例的,以点对点(PtP)配置来布置的计算系统1000。特定地,图10示出其中处理器、存储器、以及输入/输出装置通过多个点对点接口进行互连的系统。参考图2来讨论的所述操作可被系统1000的一个或更多组件所执行。
如图10中所示出的,系统1000可包括若干处理器,为了清楚,只示出了其中的两个处理器1002和1004。处理器1002和1004可各自包括本地存储器控制器集线器(MCH)1006和1008,以能够实现与存储器1010和1012的通信。在一些实施例中,MCH 1006和1008可包括图1的存储器控制器120和/或逻辑125。
在一实施例中,处理器1002和1004可以是参考图7来讨论的处理器702中的一个。处理器1002和1004可分别使用PtP接口电路1016和1018经由点对点(PtP)接口1014来交换数据。而且,处理器1002和1004可使用点对点接口电路1026、1028、1030、和1032经由个体的PtP接口1022和1024来各自与芯片集1020交换数据。芯片集1020可进一步例如使用PtP接口电路1037经由高性能图形接口1036来与高性能图形电路1034交换数据。
如图10中所示,图1的高速缓存108和/或核106中的一个或更多核可定位在处理器902和904内。然而,本发明的其它实施例可存在于图9的系统900内的其它电路、逻辑单元、或装置中。此外,本发明的其它实施例可遍及图9中所示出的若干电路、逻辑单元、或装置来分布。
芯片集920可使用PtP接口电路941来与总线940通信。总线940可具有与其进行通信的一个或更多装置,诸如总线桥942和I/O装置943。经由总线944,总线桥943可与其它装置进行通信,诸如键盘/鼠标945、通信装置946(诸如调制解调器、网络接口装置、或可与计算机网络803通信的其它通信装置)、音频I/O装置、和/或数据存储装置948。数据存储装置948(其可以是硬盘驱动器或基于NAND闪存的固态驱动器)可存储可被处理器902和/或904执行的代码949。
以下示例属于进一步的实施例。
示例1是一种存储器,其包括非易失性存储器装置、和耦合到所述存储器装置的控制器,且包括逻辑以:从主机装置接收写请求以将数据行写到所述存储器装置、从所述数据行来确定第一明文循环冗余校验、对所述数据行进行加密、采用独特值来加密所述第一明文CRC以生成第一加密的CRC(其中所述独特值包括由写计数和逻辑存储器地址或物理存储器地址中的至少一个地址的连结所形成的随机数)、以及将所加密的数据行和所述第一加密的CRC存储在存储器装置中。
在示例2中,示例1的所述主题能够可选择地包括逻辑以:将逻辑地址预先挂起到所述数据行。
在示例3中,示例1-2中的任一个的所述主题能够可选择地包括布置,在其中:所述逻辑地址包括逻辑块地址(LBA),且所述独特值包括由写计数、所述逻辑块地址、以及对于所述存储器装置独特的数的连结所形成的随机数。
在示例4中,示例1-3中的任一个的所述主题能够可选择地包括逻辑以:将所述写计数存储在所述存储器装置中。
在示例5中,示例1-4中的任一个的所述主题能够可选择地包括逻辑以:启动存储器刷新操作,以及采用新的独特值来重新演算所述第一加密的CRC。
在示例6中,示例1-5中的任一个的所述主题能够可选择地包括布置,在其中:所述新的独特值包括由关联于所述刷新操作的写计数和所述存储器装置中的物理地址的连结所形成的随机数。
在示例7中,示例1-6中的任一个的所述主题能够可选择地包括逻辑以:从主机装置接收读请求以从所述存储器装置读数据行,以及从所述存储器装置检索所加密的数据行和所述第一加密的CRC。
在示例8中,示例1-7中的任一个的所述主题能够可选择地包括逻辑以:采用由写计数和所述存储器中的物理地址的连结所形成的随机数来解密所述第一加密的CRC以形成第二明文CRC、对所述数据行进行解密、将所述LBA预先挂起到数据行、以及从所述数据行来确定第三明文CRC。
在示例9中,示例1-8中的任一个的所述主题能够可选择地包括逻辑以:当所述第二明文CRC匹配所述第三明文CRC时,响应所述读请求而返回所述数据行。
在示例10中,示例1-9中的任一个的所述主题能够可选择地包括逻辑以:当所述第二明文CRC未能匹配所述第三明文CRC时,响应所述读请求而返回读错误。
示例11是一种电子装置,其包括处理器以及存储器,所述存储器包括非易失性存储器装置以及控制器,所述控制器耦合到所述存储器装置且包括逻辑以:从主机装置接收写请求以将数据行写到所述存储器装置、从所述数据行来确定第一明文循环冗余校验、对所述数据行进行加密、采用独特值来加密所述第一明文CRC以生成第一加密的CRC(其中所述独特值包括由写计数和逻辑存储器地址或物理存储器地址中的至少一个地址的连结所形成的随机数)、以及将所加密的数据行和所述第一加密的CRC存储在存储器装置中。
在示例12中,示例11的所述主题能够可选择地包括逻辑以:将逻辑地址预先挂起到所述数据行。
在示例13中,示例11-12中的任一个的所述主题能够可选择地包括布置,在其中:所述逻辑地址包括逻辑块地址(LBA),且所述独特值包括由写计数、所述逻辑块地址、以及对于所述存储器装置独特的数的连结所形成的随机数。
在示例14中,示例11-13中的任一个的所述主题能够可选择地包括逻辑以:将所述写计数存储在所述存储器装置中。
在示例15中,示例11-14中的任一个的所述主题能够可选择地包括逻辑以:启动存储器刷新操作、以及采用新的独特值来重新演算所述第一加密的CRC。
在示例16中,示例11-15中的任一个的所述主题能够可选择地包括布置,在其中:所述新的独特值包括由关联于所述刷新操作的写计数和所述存储器装置中的物理地址的连结所形成的随机数。
在示例17中,示例11-16中的任一个的所述主题能够可选择地包括逻辑以:从主机装置接收读请求以从所述存储器装置读数据行、以及从所述存储器装置检索所加密的数据行和所述第一加密的CRC。
在示例18中,示例11-17中的任一个的所述主题能够可选择地包括逻辑以:采用由写计数和所述存储器中的物理地址的连结所形成的随机数来对所述第一加密的CRC进行解密以形成第二明文CRC、对所述数据行进行解密、将所述LBA预先挂起到数据行、以及从所述数据行来确定第三明文CRC。
在示例19中,示例11-18中的任一个的所述主题能够可选择地包括逻辑以:当所述第二明文CRC匹配所述第三明文CRC时,响应所述读请求而返回所述数据行。
在示例20中,示例11-19中的任一个的所述主题能够可选择地包括逻辑以:当所述第二明文CRC未能匹配所述第三明文CRC时,响应所述读请求而返回读错误。
示例21是一种计算机程序产品,包括存储在非暂态计算机可读媒体上的逻辑指令,所述逻辑指令在被耦合到存储器装置的控制器执行时,配置所述控制器来:从主机装置接收写请求以将数据行写到所述存储器装置、从所述数据行来确定第一明文循环冗余校验、对所述数据行进行加密、采用独特值来加密所述第一明文CRC以生成第一加密的CRC(其中所述独特值包括由写计数和逻辑存储器地址或物理存储器地址中的至少一个地址的连结所形成的随机数)、以及将所加密的数据行和所述第一加密的CRC存储在存储器装置中。
在示例22中,示例21的所述主题能够可选择地包括存储在非暂态计算机可读媒体上的逻辑指令,所述逻辑指令在被耦合到存储器装置的控制器执行时,配置所述控制器来将逻辑地址预先挂起到所述数据行。
在示例23中,示例21-22中的任一个的所述主题能够可选择地包括布置,在其中:所述逻辑地址包括逻辑块地址(LBA),且所述独特值包括由写计数、所述逻辑块地址、以及对于所述存储器装置独特的数的连结所形成的随机数。
在示例24中,示例21-23中的任一个的所述主题能够可选择地包括存储在非暂态计算机可读媒体上的逻辑指令,所述逻辑指令在被耦合到存储器装置的控制器执行时,配置所述控制器将所述写计数存储在所述存储器装置中。
在示例25中,示例21-24中的任一个的所述主题能够可选择地包括存储在非暂态计算机可读媒体上的逻辑指令,所述逻辑指令在被耦合到存储器装置的控制器执行时,配置所述控制器来:启动存储器刷新操作、以及采用新的独特值来重新演算所述第一加密的CRC。
在示例26中,示例21-25中的任一个的所述主题能够可选择地包括布置,在其中:所述新的独特值包括由关联于所述刷新操作的写计数和所述存储器装置中的物理地址的连结所形成的随机数。
在示例27中,示例21-26中的任一个的所述主题能够可选择地包括存储在非暂态计算机可读媒体上的逻辑指令,所述逻辑指令在被耦合到存储器装置的控制器执行时,配置所述控制器来:从主机装置接收读请求以从所述存储器装置读数据行、以及从所述存储器装置检索所加密的数据行和所述第一加密的CRC。
在示例28中,示例21-27中的任一个的所述主题能够可选择地包括存储在非暂态计算机可读媒体上的逻辑指令,所述逻辑指令在被耦合到存储器装置的控制器执行时,配置所述控制器来:采用由写计数和所述存储器中的物理地址的连结所形成的随机数来对所述第一加密的CRC进行解密以形成第二明文CRC、对所述数据行进行解密、将所述LBA预先挂起到数据行、以及从所述数据行来确定第三明文CRC。
在示例29中,示例21-28中的任一个的所述主题能够可选择地包括存储在非暂态计算机可读媒体上的逻辑指令,所述逻辑指令在被耦合到存储器装置的控制器执行时,配置所述控制器来:当所述第二明文CRC匹配所述第三明文CRC时,响应所述读请求而返回所述数据行。
在示例30中,示例21-29中的任一个的所述主题能够可选择地包括存储在非暂态计算机可读媒体上的逻辑指令,所述逻辑指令在被耦合到存储器装置的控制器执行时,配置所述控制器来:当所述第二明文CRC未能匹配所述第三明文CRC时,响应所述读请求而返回读错误。
在本发明的各种实施例中,例如参考图1-10在本文中被讨论的操作可被实现为硬件(例如,电路)、软件、固件、微代码、或其的组合,其可以被提供为计算机程序产品,例如包括有形的(例如,非暂态的)机器可读或计算机可读媒体,所述有形的机器可读或计算机可读媒体具有存储在其上的指令(或软件规程),所述指令用来给计算机编程以执行本文中所讨论的过程。而且,术语“逻辑”可例如包括软件、硬件、或软件和硬件的组合。机器可读媒体可包括诸如本文中所讨论的那些的存储装置。
在本说明书中对“一个实施例”或“一实施例”的引用意味着联系该实施例进行描述的特定特征、结构、或特性可被包括在至少一实现中。在本说明书中的各处短语“在一个实施例中”的出现可以都指代或可以不都指代相同的实施例。
而且,在本描述以及权利要求中,术语“耦合”和“连接”,连同它们的衍生物,可被使用。在本发明的一些实施例中,“连接”可被用来指示两个或更多元件与彼此处在直接物理或电的接触中。“耦合”可意味两个或更多元件处在直接物理或电的接触中。然而,“耦合”还可意味两个或更多元件与彼此可不处在直接接触中,但仍然可以与彼此进行协作或交互。
因而,尽管本发明的实施例已经以具体到结构特征和/或方法动作的语言来被描述,但要被理解的是,所要求权利的主题可不被限制于所描述的具体特征或动作。反而,所述具体特征和动作作为实现所要求权利的主题的样本形式来被公开。
Claims (20)
1.一种存储器,包括:
非易失性存储器装置;以及
控制器,耦合到所述存储器装置,且包括逻辑以:
从主机装置接收写请求,以将数据行写到所述存储器装置;
从所述数据行来确定第一明文循环冗余校验CRC;
加密所述数据行;
采用独特值来加密所述第一明文CRC,以生成第一加密的CRC,其中所述独特值包括由写计数和逻辑存储器地址或物理存储器地址中的至少一个地址的连结所形成的随机数;以及
将所加密的数据行和所述第一加密的CRC存储在存储器装置中。
2.如权利要求1所述的存储器,进一步包括逻辑以:
将逻辑地址预先挂起到所述数据行。
3.如权利要求2所述的存储器,其中:
所述逻辑地址包括逻辑块地址(LBA);且
所述独特值包括从写计数、所述逻辑块地址、以及对于所述存储器装置独特的数的连结所形成的随机数。
4.如权利要求3所述的存储器,其中所述控制器进一步包括逻辑以:
将所述写计数存储在所述存储器装置中。
5.如权利要求1所述的存储器,其中所述控制器进一步包括逻辑以:
启动存储器刷新操作;以及
采用新的独特值来重新演算所述第一加密的CRC。
6.如权利要求5所述的存储器,其中:
所述新的独特值包括从关联于所述刷新操作的写计数和所述存储器装置中的物理地址的连结所形成的随机数。
7.如权利要求1所述的存储器,其中所述控制器进一步包括逻辑以:
从主机装置接收读请求,以从所述存储器装置读数据行;以及
从所述存储器装置检索所加密的数据行和所述第一加密的CRC。
8.如权利要求7所述的存储器,进一步包括逻辑以:
采用由写计数和所述存储器中的物理地址的连结所形成的随机数来解密所述第一加密的CRC,以形成第二明文CRC;
解密所述数据行;
将逻辑块地址LBA预先挂起到数据行;以及
从所述数据行来确定第三明文CRC。
9.如权利要求8所述的存储器,进一步包括逻辑以:
当所述第二明文CRC匹配所述第三明文CRC时,响应所述读请求而返回所述数据行。
10.如权利要求9所述的存储器,进一步包括逻辑以:
当所述第二明文CRC未能匹配所述第三明文CRC时,响应所述读请求而返回读错误。
11.一种电子装置,包括:
处理器;以及
存储器,包括:
非易失性存储器装置;以及
控制器,耦合到所述存储器装置,且包括逻辑以:
从主机装置接收写请求,以将数据行写到所述存储器装置;
从所述数据行来确定第一明文循环冗余校验;
加密所述数据行;
采用独特值来加密所述第一明文CRC,以生成第一加密的CRC,其中所述独特值包括由写计数和逻辑存储器地址或物理存储器地址中的至少一个地址的连结所形成的随机数;以及
将所加密的数据行和所述第一加密的CRC存储在存储器中。
12.如权利要求11所述的电子装置,进一步包括逻辑以:
将逻辑地址预先挂起到所述数据行。
13.如权利要求12所述的电子装置,其中:
所述逻辑地址包括逻辑块地址(LBA);且
所述独特值包括由写计数、所述逻辑块地址、以及对于所述存储器装置独特的数的连结所形成的随机数。
14.如权利要求13所述的电子装置,其中所述控制器进一步包括逻辑以:
将所述写计数存储在所述存储器中。
15.如权利要求11所述的电子装置,其中所述控制器进一步包括逻辑以:
启动存储器刷新操作;以及
采用新的独特值来重新演算所述第一加密的CRC。
16.如权利要求15所述的电子装置,其中:
所述新的独特值包括由关联于所述刷新操作的写计数和所述存储器中的物理地址的连结所形成的随机数。
17.如权利要求11所述的电子装置,其中所述控制器进一步包括逻辑以:
从主机装置接收读请求,以从所述存储器装置读数据行;
从所述存储器装置检索所加密的数据行和所述第一加密的CRC。
18.如权利要求17所述的电子装置,进一步包括逻辑以:
采用由写计数和所述存储器中的物理地址的连结所形成的随机数来解密所述第一加密的CRC,以形成第二明文CRC;
解密所述数据行;
将逻辑块地址LBA预先挂起到数据行;以及
从所述数据行来确定第三明文CRC。
19.如权利要求18所述的电子装置,进一步包括逻辑以:
当所述第二明文CRC匹配所述第三明文CRC时,响应所述读请求而返回所述数据行。
20.如权利要求19所述的电子装置,进一步包括逻辑以:
当所述第二明文CRC未能匹配所述第三明文CRC时,响应所述读请求而返回读错误。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/493924 | 2014-09-23 | ||
US14/493,924 US9697140B2 (en) | 2014-09-23 | 2014-09-23 | Encryption integrity check with CRC encryption in memory using a word count- and address-derived nonce |
PCT/US2015/046025 WO2016048496A1 (en) | 2014-09-23 | 2015-08-20 | Encryption integrity check in memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106575346A CN106575346A (zh) | 2017-04-19 |
CN106575346B true CN106575346B (zh) | 2020-01-10 |
Family
ID=55525875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580044954.5A Active CN106575346B (zh) | 2014-09-23 | 2015-08-20 | 存储器中的加密完整性校验 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9697140B2 (zh) |
CN (1) | CN106575346B (zh) |
WO (1) | WO2016048496A1 (zh) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10115446B1 (en) | 2015-04-21 | 2018-10-30 | Spin Transfer Technologies, Inc. | Spin transfer torque MRAM device with error buffer |
US10163479B2 (en) | 2015-08-14 | 2018-12-25 | Spin Transfer Technologies, Inc. | Method and apparatus for bipolar memory write-verify |
US10546625B2 (en) | 2016-09-27 | 2020-01-28 | Spin Memory, Inc. | Method of optimizing write voltage based on error buffer occupancy |
US10818331B2 (en) | 2016-09-27 | 2020-10-27 | Spin Memory, Inc. | Multi-chip module for MRAM devices with levels of dynamic redundancy registers |
US10366774B2 (en) | 2016-09-27 | 2019-07-30 | Spin Memory, Inc. | Device with dynamic redundancy registers |
US10460781B2 (en) | 2016-09-27 | 2019-10-29 | Spin Memory, Inc. | Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank |
US10437491B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register |
US10192602B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Smart cache design to prevent overflow for a memory device with a dynamic redundancy register |
US10628316B2 (en) | 2016-09-27 | 2020-04-21 | Spin Memory, Inc. | Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register |
US10192601B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers |
US10360964B2 (en) | 2016-09-27 | 2019-07-23 | Spin Memory, Inc. | Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device |
US10446210B2 (en) | 2016-09-27 | 2019-10-15 | Spin Memory, Inc. | Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers |
US10437723B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device |
CN108073353B (zh) * | 2016-11-15 | 2020-04-14 | 华为技术有限公司 | 一种数据处理的方法及装置 |
US10423541B1 (en) * | 2016-12-22 | 2019-09-24 | Amazon Technologies, Inc. | Using encryption within a computing system |
US10986011B2 (en) * | 2017-10-18 | 2021-04-20 | Google Llc | Unobtrusive support for third-party traffic monitoring |
KR102445243B1 (ko) * | 2017-10-23 | 2022-09-21 | 삼성전자주식회사 | 데이터 암호화 방법 및 그에 따른 전자 장치 |
US10481976B2 (en) | 2017-10-24 | 2019-11-19 | Spin Memory, Inc. | Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers |
US10529439B2 (en) | 2017-10-24 | 2020-01-07 | Spin Memory, Inc. | On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects |
US10489245B2 (en) | 2017-10-24 | 2019-11-26 | Spin Memory, Inc. | Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them |
US10656994B2 (en) | 2017-10-24 | 2020-05-19 | Spin Memory, Inc. | Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques |
US10395712B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Memory array with horizontal source line and sacrificial bitline per virtual source |
US10811594B2 (en) | 2017-12-28 | 2020-10-20 | Spin Memory, Inc. | Process for hard mask development for MRAM pillar formation using photolithography |
US10395711B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Perpendicular source and bit lines for an MRAM array |
US10424726B2 (en) | 2017-12-28 | 2019-09-24 | Spin Memory, Inc. | Process for improving photoresist pillar adhesion during MRAM fabrication |
US10891997B2 (en) | 2017-12-28 | 2021-01-12 | Spin Memory, Inc. | Memory array with horizontal source line and a virtual source line |
US10360962B1 (en) | 2017-12-28 | 2019-07-23 | Spin Memory, Inc. | Memory array with individually trimmable sense amplifiers |
US10784439B2 (en) | 2017-12-29 | 2020-09-22 | Spin Memory, Inc. | Precessional spin current magnetic tunnel junction devices and methods of manufacture |
US10886330B2 (en) | 2017-12-29 | 2021-01-05 | Spin Memory, Inc. | Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch |
US10840436B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture |
US10546624B2 (en) | 2017-12-29 | 2020-01-28 | Spin Memory, Inc. | Multi-port random access memory |
US10424723B2 (en) | 2017-12-29 | 2019-09-24 | Spin Memory, Inc. | Magnetic tunnel junction devices including an optimization layer |
US10367139B2 (en) | 2017-12-29 | 2019-07-30 | Spin Memory, Inc. | Methods of manufacturing magnetic tunnel junction devices |
US10840439B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Magnetic tunnel junction (MTJ) fabrication methods and systems |
US10438995B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Devices including magnetic tunnel junctions integrated with selectors |
US10438996B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Methods of fabricating magnetic tunnel junctions integrated with selectors |
US10446744B2 (en) | 2018-03-08 | 2019-10-15 | Spin Memory, Inc. | Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same |
US11107978B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US10784437B2 (en) | 2018-03-23 | 2020-09-22 | Spin Memory, Inc. | Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US20190296220A1 (en) | 2018-03-23 | 2019-09-26 | Spin Transfer Technologies, Inc. | Magnetic Tunnel Junction Devices Including an Annular Free Magnetic Layer and a Planar Reference Magnetic Layer |
US11107974B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer |
US10649911B2 (en) * | 2018-03-29 | 2020-05-12 | Intel Corporation | Supporting memory paging in virtualized systems using trust domains |
US10411185B1 (en) | 2018-05-30 | 2019-09-10 | Spin Memory, Inc. | Process for creating a high density magnetic tunnel junction array test platform |
US11036651B2 (en) * | 2018-06-29 | 2021-06-15 | Micron Technology, Inc. | Host side caching security for flash memory |
US10593396B2 (en) | 2018-07-06 | 2020-03-17 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10600478B2 (en) | 2018-07-06 | 2020-03-24 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10559338B2 (en) | 2018-07-06 | 2020-02-11 | Spin Memory, Inc. | Multi-bit cell read-out techniques |
US10692569B2 (en) | 2018-07-06 | 2020-06-23 | Spin Memory, Inc. | Read-out techniques for multi-bit cells |
CN109189697B (zh) * | 2018-08-06 | 2022-05-31 | 合肥联宝信息技术有限公司 | 一种信息处理方法及其信息处理装置 |
CN111492353B (zh) | 2018-08-15 | 2023-07-18 | 华为技术有限公司 | 一种安全的数据转移装置、系统和方法 |
US10650875B2 (en) | 2018-08-21 | 2020-05-12 | Spin Memory, Inc. | System for a wide temperature range nonvolatile memory |
US10699761B2 (en) | 2018-09-18 | 2020-06-30 | Spin Memory, Inc. | Word line decoder memory architecture |
US11621293B2 (en) | 2018-10-01 | 2023-04-04 | Integrated Silicon Solution, (Cayman) Inc. | Multi terminal device stack systems and methods |
US10971680B2 (en) | 2018-10-01 | 2021-04-06 | Spin Memory, Inc. | Multi terminal device stack formation methods |
KR102557993B1 (ko) | 2018-10-02 | 2023-07-20 | 삼성전자주식회사 | 메모리 이용 효율을 향상한 보안 처리기를 포함하는 시스템 온 칩, 메모리 시스템 및 시스템 온 칩의 동작방법 |
US11107979B2 (en) | 2018-12-28 | 2021-08-31 | Spin Memory, Inc. | Patterned silicide structures and methods of manufacture |
EP3889816A1 (en) * | 2020-03-31 | 2021-10-06 | Nagravision SA | Method for securely processing digital information in a secure element |
KR20220021186A (ko) * | 2020-08-13 | 2022-02-22 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 내 데이터를 공유하는 장치 및 방법 |
US11709729B2 (en) * | 2020-09-30 | 2023-07-25 | Micron Technology, Inc. | Performing error checking operations on encrypted write data in a memory sub-system |
US20220198070A1 (en) * | 2020-12-22 | 2022-06-23 | International Business Machines Corporation | Provisioning secure/encrypted virtual machines in a cloud infrastructure |
US20220209959A1 (en) * | 2020-12-26 | 2022-06-30 | Intel Corporation | Isa support for programming hardware over untrusted links |
US12066887B2 (en) * | 2022-08-12 | 2024-08-20 | Micron Technology, Inc. | Reducing cryptographic update errors in memory devices using cyclical redundancy checks |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1050821A2 (en) * | 1999-04-07 | 2000-11-08 | Sony Corporation | Memory units, data processing units, and methods therefor |
CN102317919A (zh) * | 2009-02-18 | 2012-01-11 | 美光科技公司 | 在存储器控制器中的数据完整性及方法 |
CN104050431A (zh) * | 2013-09-29 | 2014-09-17 | 上海飞聚微电子有限公司 | 一种rfid芯片的自签名方法及其装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2431253A (en) | 2005-10-11 | 2007-04-18 | Hewlett Packard Development Co | Data transfer device |
JP4802339B2 (ja) * | 2006-05-24 | 2011-10-26 | 日本電産サンキョー株式会社 | 不揮発性メモリの更新方法 |
US20080155273A1 (en) | 2006-12-21 | 2008-06-26 | Texas Instruments, Inc. | Automatic Bus Encryption And Decryption |
US7873828B2 (en) | 2007-08-07 | 2011-01-18 | Optica Technologies, Inc. | Method and apparatus for encrypting and decrypting data to/from an ESCON tape system |
GB2457670B (en) * | 2008-02-20 | 2012-01-04 | Hewlett Packard Development Co | Data transfer device |
US20090252323A1 (en) * | 2008-04-03 | 2009-10-08 | Simon Cooper | Methods, techniques and system for maintaining security on computer systems |
US8959280B2 (en) * | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
US20110041039A1 (en) | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
US8255620B2 (en) * | 2009-08-11 | 2012-08-28 | Texas Memory Systems, Inc. | Secure Flash-based memory system with fast wipe feature |
US9612978B2 (en) * | 2010-12-31 | 2017-04-04 | International Business Machines Corporation | Encrypted flash-based data storage system with confidentiality mode |
JP2013157062A (ja) * | 2012-01-31 | 2013-08-15 | Toshiba Corp | ディスクドライブ装置およびライト制御方法 |
US9411717B2 (en) * | 2012-10-23 | 2016-08-09 | Seagate Technology Llc | Metadata journaling with error correction redundancy |
JP2015019276A (ja) * | 2013-07-11 | 2015-01-29 | 株式会社東芝 | 記憶装置、crc生成装置およびcrc生成方法 |
US20150026509A1 (en) * | 2013-07-22 | 2015-01-22 | Kabushiki Kaisha Toshiba | Storage device having a data stream converter |
-
2014
- 2014-09-23 US US14/493,924 patent/US9697140B2/en active Active
-
2015
- 2015-08-20 WO PCT/US2015/046025 patent/WO2016048496A1/en active Application Filing
- 2015-08-20 CN CN201580044954.5A patent/CN106575346B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1050821A2 (en) * | 1999-04-07 | 2000-11-08 | Sony Corporation | Memory units, data processing units, and methods therefor |
CN102317919A (zh) * | 2009-02-18 | 2012-01-11 | 美光科技公司 | 在存储器控制器中的数据完整性及方法 |
CN104050431A (zh) * | 2013-09-29 | 2014-09-17 | 上海飞聚微电子有限公司 | 一种rfid芯片的自签名方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106575346A (zh) | 2017-04-19 |
WO2016048496A1 (en) | 2016-03-31 |
US20160085692A1 (en) | 2016-03-24 |
US9697140B2 (en) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575346B (zh) | 存储器中的加密完整性校验 | |
CN106663472B (zh) | 非易失性存储器中的恢复算法 | |
US11768946B2 (en) | Low memory overhead heap management for memory tagging | |
KR102010902B1 (ko) | Sm3 해시 알고리즘 가속 프로세서, 방법, 시스템 및 명령어 | |
US9292379B2 (en) | Apparatus and method to manage high capacity storage devices | |
US10073731B2 (en) | Error correction in memory | |
US9112537B2 (en) | Content-aware caches for reliability | |
US8819455B2 (en) | Parallelized counter tree walk for low overhead memory replay protection | |
US9619324B2 (en) | Error correction in non—volatile memory | |
TWI742021B (zh) | 用於多位元錯誤偵測和校正之裝置和方法 | |
TW201717030A (zh) | 用於記憶體位址範圍的支持可組態安全性級別 | |
CN113553209A (zh) | 用于存储器损坏检测的硬件装置和方法 | |
US20160179611A1 (en) | Low overhead error checking and correction apparatus and method | |
KR102518010B1 (ko) | 휘발성 메모리에 대한 극성 기반 데이터 트랜스퍼 기능 | |
CN117546168A (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 |