CN112154408A - 重放受保护存储器块命令队列 - Google Patents

重放受保护存储器块命令队列 Download PDF

Info

Publication number
CN112154408A
CN112154408A CN201980031494.0A CN201980031494A CN112154408A CN 112154408 A CN112154408 A CN 112154408A CN 201980031494 A CN201980031494 A CN 201980031494A CN 112154408 A CN112154408 A CN 112154408A
Authority
CN
China
Prior art keywords
rpmb
bytes
data
memory
memory device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980031494.0A
Other languages
English (en)
Inventor
S·A·琼
G·A·布罗杰特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
North Star Franchise Group Co ltd
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 CN112154408A publication Critical patent/CN112154408A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本文中揭示用于提供改进式重放受保护存储器块RPMB数据帧及命令队列以用于主机装置与存储器装置之间的通信的装置及技术。

Description

重放受保护存储器块命令队列
优先权申请案
本申请案主张2018年6月4日申请的第62/680,405号美国临时申请案的优先权的权益及2018年4月12日申请的第62/656,884号美国临时申请案的优先权的权益,所述两个申请案的全文以引用方式并入本文中。
背景技术
存储器装置通常被提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器需要电力来维持数据,且包含例如随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等等的装置。非易失性存储器在不被供电时可保留经存储数据,且包含例如快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)、电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)或磁阻式随机存取存储器(MRAM))等等的装置。
主机系统(例如,主机装置)通常包含主机处理器、用于支持主机处理器的第一数量的主机存储器(例如,主存储器,通常是易失性存储器,例如DRAM)及除主存储器之外或独立于主存储器的提供额外存储以保留数据的一或多个存储系统(例如,通常是非易失性存储器,例如快闪存储器)。
存储系统(例如,固态驱动器(SSD)、通用快闪存储(UFS)装置等)可包含控制电路系统(例如,存储器控制器)及一或多个存储器装置,包含数个(例如,多个)裸片或逻辑单元(LUN)。在某些实例中,每一裸片可包含其上的数个存储器阵列及外围电路系统,例如裸片逻辑或裸片处理器。控制电路系统可包含经配置以通过通信接口(例如,双向并行或串行通信接口)与主机装置(例如,主机处理器或接口电路系统)进行通信的接口电路系统。控制电路系统可从主机系统接收与存储器操作或指令(例如用于在存储器装置与主机装置之间传送数据(例如,用户数据及相关联完整性数据,例如错误数据或地址数据等)的读取或写入操作、用于从存储器装置擦除数据的擦除操作)相关联的命令或操作、执行驱动器管理操作(例如,数据迁移、垃圾收集、块回收)等。
存储系统用作各种各种的电子应用的易失性及非易失性数据存储装置,包含例如个人计算机、便携式存储棒、数码相机、蜂窝电话、便携式音乐播放器(例如MP3播放器)、电影播放器及其它电子装置。存储器单元可经布置成阵列,其中阵列用于存储器装置中。
软件(例如,程序)、指令、操作系统(OS)及其它数据通常存储在存储系统上且由主存储器存取以供主机处理器使用。主存储器(例如,RAM)通常比存储系统的大多数存储器装置(例如,例如SSD等的非易失性存储器)更快、更昂贵且具有不同类型的存储器装置(例如,易失性存储器)。除主存储器之外,主机系统还可包含不同形式的易失性存储器,例如静态存储器群组(例如,高速缓冲存储器,通常是SRAM),所述静态存储器群组通常比主存储器更快,在某些实例中,经配置以按接近或超过主机处理器的速度的速度操作,但具有更低密度及更高成本。存储器装置还可包含用于支持存储器控制器或控制电路系统的静态存储器(例如,SRAM)。
附图说明
在不一定按比例绘制的附图中,类似数字可在不同视图中描述类似组件。具有不同字母后缀的类似数字可表示类似组件的不同例子。附图以实例而非限制的方式大体上说明本文档中所论述的各种实施例。
图1到2说明包含主机装置及存储器装置的实例系统。
图3说明第一重放受保护存储器块(RPMB)数据帧。
图4说明n个第一RPMB数据帧的字符串。
图5说明第二RPMB数据帧。
图6说明第三RPMB数据帧。
图7说明维持RPMB命令队列的实例方法。
图8说明存储器装置的实例框图。
图9说明可在其上执行本文中所论述的技术(例如,方法)中的任何一或多者的实例机器的框图。
具体实施方式
联合电子装置工程委员会(JEDEC)已颁布用于通用快闪存储(UFS)装置、嵌入式多媒体卡(eMMCTM)装置或一或多个其它存储装置的众多接口及通信标准。重放受保护存储器块(RPMB)允许利用隐藏的安全密钥存取存储器的部分,从而为主机装置提供安全存储以保护关键程序或数据,并且实现复制保护。在某些实例中,RPMB可提供安全方式来交换信息且避免中间人攻击,从而为可信执行环境(TEE)装置提供内核应用程序编程接口(API)以安全地计算块帧签名或存取受保护信息。
可使用密钥/mac(消息认证代码),例如从安全密钥计算(例如,编程到主机装置或存储器装置中)的HMAC SHA-256算法及每次写入存储器的RPMB部分时递增的计数器值,认证对存储器的RPMB部分的写入。计数器及密钥/mac的使用可确保消息无法被攻击者无法捕获及接着稍后进行重放(因为密钥/mac将由于计数器的变化而不匹配)。
图1说明包含主机装置105及存储器装置110的实例系统100。主机装置105可包含主机处理器、中央处理单元或一或多个其它装置、处理器或控制器。存储器装置110可包含通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置或一或多个其它存储器装置。主机装置105及存储器装置110可使用通信接口(I/F)115(例如,双向并行或串行通信接口)进行通信。
在实例中,存储器装置110可包含UFS装置,且通信接口115可包含串行双向接口,例如在一或多个联合电子装置工程委员会(JEDEC)标准(例如,JEDEC标准D223D(JESD223D),通常被称为JEDEC UFS主机控制器接口(UFSHCI)3.0等)中所定义。在另一实例中,存储器装置110可包含eMMC装置,且通信接口115可包含数个并行双向数据线(例如,DAT[7:0])及一或多个命令线,例如在一或多个JEDEC标准(例如,JEDEC标准D84-B51(JESD84-A51),通常被称为JEDEC eMMC标准5.1等)中所定义。在其它实例中,存储器装置110可包含一或多个其它存储器装置,或通信接口115可包含一或多个其它接口,这取决于主机装置105及存储器装置110。
主机装置105及存储器装置110中的每一者可包含:数个接收器或驱动器电路,其经配置以通过通信接口115发送或接收信号;或接口电路,例如数据控制单元、取样电路或其它中间电路,其经配置以处理将通过通信接口115传达的数据或以其它方式处理从通信接口115接收的数据以供主机装置105、存储器装置110或一或多个其它电路或装置使用。
存储器装置110可包含存储器阵列(例如,一或多个存储器单元阵列,例如NAND快闪存储器阵列,或一或多个其它存储器阵列)、例如存储器控制器的控制电路系统且在某些实例中包含存储器阵列与存储器控制器之间的接口电路。在某些实例中,存储器阵列可包含数个存储器裸片,每一存储器裸片具有独立于存储器控制器的控制逻辑。存储器控制器可包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经布置或编程以管理到储器阵列、来自存储器阵列或在存储器阵列内的数据传送或操作的一或多个其它处理电路。此外,存储器装置110可包含经配置以支持控制电路系统的静态存储器(例如,SRAM)的群组。
图2说明包含主机装置205、存储器装置210及通信接口(I/F)215的系统200的实例部分。存储器装置210可包含非易失性存储器(NVM)装置212及控制电路系统,例如存储器控制器(MEM CTRL)211或电路或控制逻辑,且可使用通信接口215来将数据从NVM装置212提供到主机装置205或从主机装置205接收数据以存储在NVM装置212上。
存储器控制器211可任选地包含用于支持存储器控制器211的操作的有限数量的静态存储器219。在实例中,NVM装置212可包含数个非易失性存储器装置(例如,裸片或LUN),例如一或多个堆叠式快闪存储器装置(例如,如在NVM装置212下方用堆叠式虚线所说明)等,每一快闪存储器装置包含在其上且由存储器控制器211通过独立于通信接口215的内部存储系统通信接口(例如,开放NAND快闪接口(ONFI)总线等)进行控制的非易失性存储器(NVM)213(例如,一或多个非易失性存储器群组)及装置控制器(CTRL)214或其它外围电路系统(例如,装置逻辑等)。如本文中所使用,控制电路系统可指代存储器控制器211,装置控制器214或存储器装置210、NVM装置212中的其它外围电路系统等中的一或多者。
主机装置205可包含主机处理器206(例如,主机中央处理单元(CPU)或其它处理器或处理电路系统,例如存储器管理单元(MMU)、接口电路系统等)。在某些实例中,主机装置205可包含主存储器(MAIN MEM)208(例如,DRAM等)及任选地静态存储器(STATIC MEM)209,以支持主机处理器(HOST PROC)206的操作。
主机装置205可包含主机重放受保护存储器块(RPMB)电路216(或其它逻辑或加密单元),所述电路经配置以调适主机数据(例如,加密)以传达到存储器装置210或例如通过驱动器电路217或其它缓冲器等从存储器装置210接收RPMB数据。存储器装置210可包含存储器装置重放受保护存储器块(RPMB)电路218(或其它逻辑或加密单元),其经配置以例如通过一或多个缓冲器等从通信接口215接收经调适主机数据,且检查对NVM装置212的受保护分区(例如独立于NVM 213的用户分区或其它部分的RPMB分区221)的此存取请求。如果确认有效命令,那么存储器装置RPMB电路218可实现主机装置205与RPMB分区221之间的RPMB数据的通信。在实例中,存储器装置RPMB电路218及主机RPMB电路216可包含RPMB存取逻辑,其包含认证密钥电路(例如,一次性密码(OTP))、写入计数器或一或多个其它电路或逻辑。
快闪存储器装置通常包含单晶体管、浮动栅极(FG)或替换栅极(RG)存储器单元的一或多个群组。两种常见类型的快闪存储器阵列架构包含NAND及NOR架构。存储器阵列的存储器单元通常布置成矩阵。阵列的行中的每一存储器单元的栅极经耦合到存取线(例如,字线)。在NOR架构中,阵列的列中的每一存储器单元的漏极经耦合到数据线(例如,位线)。在NAND架构中,阵列的列中的每一存储器单元的漏极在源极线与位线之间以源极到漏极的方式串联耦合在一起。
NOR、NAND、3D交叉点、HRAM、MRAM或一或多个其它架构半导体存储器阵列中的每一存储器单元可个别地或共同地编程为一种或数种编程状态。单电平单元(SLC)可表示处于两种编程状态(例如,1或0)中的一者的每单元的一个数据位。多电平单元(MLC)可表示处于数种编程状态(例如,2n,其中n是数据位的数目)的每单元的两个或更多个数据位。在某些实例中,MLC可指可以4种编程状态中的一者存储两个数据位的存储器单元。三电平单元(TLC)可表示处于8种编程状态中的一者的每单元的三个数据位。四电平单元(QLC)可表示处于16种编程状态中的一者的每单元的四个数据位。在其它实例中,MLC可指每单元可存储多于一个数据位的任何存储器单元,包含TLC及QLC等。
存储器装置210可包含多媒体卡(MMC)固态存储装置(例如,微安全数字(SD)卡等)。MMC装置包含与主机装置205的数个并行接口(例如,8位并行接口),且通常是可移除的并独立于所述主机装置的组件。相比之下,嵌入式MMC(eMMC)装置经附接到电路板且被视为主机装置的组件,其读取速度可与基于串行ATA(SATA)的SSD装置相当。随着对移动装置性能的需求不断增加,例如以完全启用虚拟或增强现实装置、利用提高的网络速度等,存储系统已从存储系统与主机装置之间的并行通信接口转变为串行通信接口。UFS装置,包含控制器及固件,使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口来与主机装置进行通信,从而进一步提高主机装置与存储系统之间的读取/写入速度。
在三维(3D)架构半导体存储器装置技术中,可堆叠垂直浮动栅极(FG)或替换栅极(RG)(或电荷俘获)存储结构,从而增加层面、物理页面的数目及相应地存储器装置中的存储器单元的密度。数据通常作为小单元任意地存储在存储系统上。即使作为单个单元存取,也可以小、随机4k到16k单文件读取来接收数据(例如,60%到80%的操作小于16k)。用户及甚至内核应用程序难以指示应将数据存储为一个循序内聚单元。文件系统通常被设计成优化空间使用且非循序检索空间。
存储器控制器211可从主机装置205接收指令,且可与NVM装置212进行通信,例如以将数据传送(例如,写入或擦除)到NVM装置212的存储器单元中的一或多者或从NVM装置212的存储器单元中的一或多者传送(例如,读取)数据。存储器控制器211可尤其包含例如数个组件或集成电路的电路系统或固件。例如,存储器控制器211可包含经配置以控制跨存储器阵列的存取且在主机装置205与存储系统200之间提供转换层(例如存储器管理器、一或多个存储器管理表等)的一或多个存储器控制单元、电路或组件。
存储器管理器可尤其包含例如与各种存储器管理功能(除其它功能以外还包含磨损均衡(例如,垃圾收集或回收)、错误检测或校正、块回收或一或多个其它存储器管理功能)相关联的电路系统或固件,例如数个组件或集成电路。存储器管理器可将主机命令(例如,从主机装置205接收的命令)解析或格式化成装置命令(例如,与存储器阵列的操作相关联的命令等),或生成装置控制器214或存储器装置210的一或多个其它组件的装置命令(例如,以完成各种存储器管理功能)。
存储器管理器可包含经配置以维持与存储器装置210的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器211的存储器阵列或一或多个存储器单元相关联的各种信息)的一组管理表。例如,所述管理表可包含关于耦合到存储器控制器211的一或多个存储器单元块的块寿命、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果所述错误计数中的一或多者的经检测错误的数目高于阈值,那么位错误可被称为不可校正位错误。所述管理表可尤其维持可校正或不可校正位错误的计数。在实例中,所述管理表可包含转译表或L2P映射。
在涉及搜索有效页面的L2P表的操作(例如垃圾收集)中,存储器管理器可实施且使用数据结构来减少存储器装置210延时。为此,存储器管理器经布置以维持物理块的数据结构(例如,表区数据结构、跟踪数据结构等)。数据结构包含L2P表的L2P映射表区的指示。在某些实例中,数据结构是位图(例如,二进制阵列)。在实例中,位图包含跨越L2P表的多个互斥区中的每一区的位。
NVM装置212或NVM 213(例如,一或多个3D NAND架构半导体存储器阵列)可包含布置成例如数个装置、平面、块、物理页面、超级块或超级页面的数个存储器单元。作为一个实例,TLC存储器装置可包含每页面18,592个数据字节(B),每块1536个页面,每平面548个块及每装置4个平面。作为另一实例,MLC存储器装置可包含每页面18,592个数据字节(B),每块1024个页面,每平面548个块及每装置4个平面,但具有对应TLC存储器装置的一半的所要写入时间及两倍的编程/擦除(P/E)循环。其它实例可包含其它数目或布置。超级块可包含例如来自不同平面的多个块等的组合,且窗口可指通常匹配被物理到逻辑(P2L)表组块覆盖的部分等的超级块的条带,且超级页面可包含多个页面的组合。
术语“超级”可指事物或若干事物的组合或倍数。例如,超级块可包含块的组合。如果存储器装置包含4个平面,那么超级块可指每一平面上的相同块,或跨窗格的块的图案(例如,平面0上的块0、平面1上的块1、平面2上的块2及平面3上的块3等的组合)。在实例中,如果存储系统包含多个存储器装置,那么块的组合或图案可跨多个存储器装置延伸。术语“条带”可指组合的图案或一件事物或若干件事物的图案。例如,超级块的条带可指来自超级块中的每一块的页面的组合或图案。
在操作中,数据通常以页面形式写入到存储器装置210或从存储器装置210读取且以块形式擦除。然而,根据期望,可对更大或更小存储器单元群组执行一或多个存储器操作(例如,读取、写入、擦除等)。例如,可在数据迁移或垃圾收集期间收集来自卸载单元的标记数据的部分更新以确保其被有效地重写。存储器装置的数据传送大小通常被称为页面,而主机装置的数据传送大小通常被称为扇区。尽管数据页面可包含数个用户数据字节(例如,包含数个数据扇区的数据有效载荷)及其对应元数据,但是所述页面的大小通常仅指用于存储用户数据的字节的数目。作为实例,具有4kB页面大小的数据页面可包含4kB用户数据(例如,呈现512B扇区大小的8个扇区)以及对应于用户数据的数个字节(例如,32B、54B、224B等)的辅助数据或元数据(例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据)。
不同类型的存储器单元或存储器阵列可提供不同页面大小,或可能需要与其相关联的不同数量的元数据。例如,不同存储器装置类型可具有不同位错误率,这可能导致确保数据页面完整性所必需的不同数量的元数据(例如,与具有较低位错误率的存储器装置相比,具有较高位错误率的存储器装置可能需要较多字节的错误校正能力(ECC)数据)。作为实例,MLC NAND快闪存储器装置可具有高于对应SLC NAND快闪存储器装置的位错误率。因而,与对应SLC装置相比,MLC装置可能需要用于错误数据的更多元数据字节。
在实例中,组块或数据单元中的数据可在其对存储系统的整个占用期中以优化方式进行处置。例如,在数据迁移期间(例如,垃圾收集等)将数据作为一个单元进行管理使得在数据移动到其在存储系统上的新物理位置时保留有效读取/写入性质。在某些实例中,对可针对存储、标记等配置的组块、数据单元或块的数目的唯一限制是系统的容量。
图3说明第一RPMB数据帧300。第一RPMB数据帧300包含填充字节331(例如,196个字节)、密钥/mac(消息认证代码)字节332(例如,32个字节)、数据333(例如,256个字节)、随机数字节334(例如,16个字节,针对每一读取命令随机地生成等)、写入计数器字节335(例如,4个字节)、地址字节336(例如,2个字节)、块计数字节337(例如,2个字节)、结果字节338(例如,2个字节)及请求/响应消息类型字节339(例如,2个字节)。在实例中,每一第一RPMB数据帧300可总共包含512个字节,具有256个字节的数据。因此,第一RPMB数据帧通信需要主机装置与存储器装置之间的50%开销,其中每一数据帧具有256个重复开销字节。
图4说明n个第一RPMB数据帧的字符串400,其分别包含第一、第二、第三、第四、第五及第n个第一RPMB数据帧。第一RPMB数据帧被限制为具有256个开销字节的256个数据字节。在其它实例中,取决于发送或接收的受保护数据的数量,可使用其它数目个数据帧。在实例中,每一相应数据帧必须由主机RPMB电路或存储器装置RPMB电路中的一或多者调适或验证,从而需要一定数量的处理能力、时间及通信带宽,因为第一RPMB数据帧读取及写入性能可能比对存储器装置的正常、未被保护部分(例如,用户分区等)的读取及写入存取至少慢几倍。
图5说明第二RPMB数据帧500。与第一RPMB数据帧(例如,图3中所说明)相比,第二RPMB数据帧500将数据之前的开销或标头(或元)信息与数据分离,且将密钥/mac字节移动到数据帧的在数据之后的末尾。第二RPMB数据帧标头信息针对总共224个初始开销字节包含填充字节541(例如,196个字节)、随机数字节544(例如,16个字节)、写入计数器字节545(例如,4个字节)、地址字节546(例如,2个字节)、块计数字节547(例如,2个字节)、结果字节548(例如,2个字节)及请求/响应消息类型字节549(例如,2个字节)。标头之后是数据543(例如,n×4kB,其中n是4kB数据组块、块等的数目)及密钥/mac字节542(例如,32个字节)。在其它实例中,可在初始字节(例如,541及544到549)与结尾密钥/mac字节542之间传送其它大小的数据(例如,以其它大小、组块、块等形式),从而通过每数据事务需要仅一组初始/标头/元字节及密钥/mac字节来减少开销。可将密钥/mac字节移动到所述事务的末尾以实现流式(运行中)MAC计算。
本发明人已尤其认识到进一步开销/标头减少以及RPMB操作及数据传送(例如,读取、写入等)的改进,包含经改进RPMB数据帧。在实例中,填充字节可从RPMB数据帧移除,且可改变数据帧标头中的字节的顺序以便在系统中使用时更加直观(例如,在接收所有字节之前使用等)。所期望写入容量随着新一代电子或存储器装置增加,以适应变化的使用条件(例如,存储敏感凭证、用户身份信息、唯一存取信息、票据等的存储器装置)或适配增加的系统可靠性或寿命。可增加写入计数器(例如,从4个字节到8个字节或更多等),以便增加可能的RPMB使用以适应电子装置用户对敏感数据使用的增加请求。标头的大小及总开销可从图5的第二RPMB数据帧500中所说明的224个字节减少到仅32个字节(或64个字节,其中保留32个字节以供后期使用),从而增加效率、带宽且优化过程。
图6说明第三RPMB数据帧600。第三RPMB数据帧600的标头包含请求/响应消息类型字节659(例如,2个字节)、结果字节658(例如,2个字节)、块计数字节657(例如,2个字节)、地址字节656(例如,2个字节)、写入计数器字节655(例如,8个字节)及随机数字节654(例如,16个字节)。在实例中,数据及密钥/mac字节之前的初始开销字节可少到32个字节(或28个字节,其中4个是写入计数器字节)。在实例中,经保留/任选字节650(例如,32个字节)可经保存以供将来扩展,从而使初始开销字节达到64个字节。例如,可增加地址字节656的大小(例如,增加到16个字节等)以实现地址的加密。
标头或初始开销字节之后可为数据653(例如,n×4kB,其中n是4kB数据组块、块等的数目)及密钥/mac字节652(例如,32个字节)。在其它实例中,可在初始字节(例如,654到659)与结尾密钥/mac字节652之间传送其它大小的数据(例如,以其它大小、组块、块等形式),从而减少开销。在实例中,密钥/mac字节652可表示RPMB数据传输的结束。
本发明人已进一步认识到,可例如在表或一或多个其它数据结构中,例如在存储器控制器、控制电路系统、RPMB电路或一或多个其它组件中实施RPMB命令队列,从而进一步改进RPMB过程。第一RPMB数据帧过程是基于事务的且需要至少两个安全协议输入/输出命令来完成事务。与第一RPMB数据帧过程相关联的RPMB逻辑单元(LU)限于小于1的有效队列深度。事务中的每一个别安全协议输入/输出(例如,步骤)必须在下一安全协议输入/输出开始之前完成。这对总体性能产生重大影响,从而将第一RPMB数据帧性能显著地降低到读取/写入QD1以下(队列深度1,其中一次在驱动器上发生一个线程)。UFS当前支持QD32(队列深度32,其中发生32个单独线程)。
尽管每RPMB区一次可执行仅一个RPMB操作,但是可对多个RPMB操作进行排队直到装置队列深度的极限。此外,在某些实例中,存储器装置可包含多个RPMB区,每一RPMB区具有单独队列。在某些实例中,每一单独RPMB区可被视为具有唯一密钥、计数器、数据区域等的单独RPMB区域。在实例中,每一存储器装置可包含一或多个存储器裸片,每一存储器裸片可包含一或多个存储器阵列,每一存储器阵列可包含一或多个RPMB分区,且每一RPMB分区可包含一或多个RPMB区。由于每一RPMB区可为唯一的,因此存储器装置可执行并行RPMB操作,只要每一操作针对单独RPMB区即可。正常LU在队列中可具有32倍安全协议输入/输出步骤。尽管必须保留事务顺序以使RPMB满足计数器的要求,但是可存在一定并行性。在某些实例中,存储器装置可从与经排队读取命令相关联的读取地址读取数据(例如,无序)且将数据存储在存储器装置上的易失性存储器(例如,SDRAM等)中直到依序执行对应RPMB命令为止,由此使数据立即传送到主机装置或耦合到存储器装置的一或多个其它装置。在某些实例中,可依序处理RPMB事务,而可并行处理存储器装置操作(甚至与RPMB事务相关联的那些操作)。
在实例中,可以若干方式解决此类限制。例如,可对RPMB LU的操作进行排序(例如,对写入操作进行严格排序),使得在所有RPMB操作上保留现存流以确保满足写入计数器的要求,且以正确顺序处理步骤。当发生错误时,所述装置可传回适当RPMB结果代码(例如,与错误相关联)。安全输入/输出状态响应可利用设置为单元注意的感测密钥来设置检查条件,从而指示所述装置已停止处理正常主机命令。由于在当前写入命令失败的情况下挂起写入命令将具有无效写入计数器,因此简化错误恢复。可中止队列中的所有未处理安全输入/输出命令(例如,读取/写入等),且可发送请求感测操作以清除未处理单元注意。
在其它实例中,可实施其它错误选项。例如,可定义新错误状态,在某些实例中包含单独感测代码及错误代码。在实例中,在错误检测之后,所述装置可自动中止挂起RPMB命令。在其它实例中,可在RPMB协议内创建新RPMB任务中止机制。
在实例中,代替假设操作失败且确认先前命令完成,可假设所述命令已成功地完成直到接收到错误为止。所述系统可假设请求不是攻击,从而优化成功路径且非失败路径,直到检测到错误为止。此外,可以利用装置及驱动效率的方式对操作进行排序。可分批处理操作。一旦发送数据及确认,存储器装置就可将下一命令放入队列中。可维持所述顺序,但是可考虑存储器装置管线式处理来提高效率—例如,考虑随机读取中的数据位置等。
例如,在不同配置速度下,第三RPMB数据帧性能,例如图6中所说明的第三RPMB数据帧性能,可提供表1(与第一RPMB数据帧性能相比,例如图3中所说明的那个第一RPMB数据帧性能)及表2(与第二RPMB数据帧性能相比,例如图5中所说明的那个第二RPMB数据帧性能)中所展示的传送时间减少,假设以下主机能力(PWM)及高速(HS)齿轮频率:PWM齿轮1:290kB/s;HS齿轮1×1通道:130MB/s;及HS齿轮4×2通道:2070MB/s。在不改变HS齿轮频率的情况下,可使用各种参考时钟频率。
Figure BDA0002769892290000111
表1.
对于第一RPMB数据帧,每256B用户数据存在一个标头。4kB数据传送将需要16倍的标头。标头与数据的比率是恒定的,这意味着8kB传送将具有32倍的标头。相比之下,第三RPMB数据帧每次传送需要具有可变帧大小的单个标头,从而大幅改进标头及数据帧传送时间及开销两者。
Figure BDA0002769892290000112
表2.
对于第二RPMB数据帧,每次传送存在一个标头,这与第三RPMB数据帧类似。然而,标头大小及配置减小仍然是有益的。
本发明人已进一步认识到经修改的第一RPMB数据帧(例如,供应商特定数据帧等),包含请求/响应消息类型字节(例如,2个字节)、结果字节(例如,2个字节)、块计数字节(例如,2个字节)、地址字节(例如,2个字节)、写入计数器字节(例如,8个字节)、随机数字节(例如,16个字节)、密钥/mac(消息认证代码)字节(例如,32个字节)及数据(例如,256个字节)。经修改的第一RPMB数据帧可能需要20%开销用于主机装置与存储器装置之间的通信,其中64个开销字节是重复的。
图7说明例如使用主机或存储器装置的表或数据结构来实施RPMB命令队列的实例方法700。在实例中,可使用控制电路系统、RPMB电路等来实施RPMB命令队列。在实例中,控制电路系统可包含RPMB电路。
在701处,可例如在存储器装置处从主机装置接收RPMB命令。例如根据图3到6中所说明的数据结构,RPMB命令可包含RPMB写入命令、RPMB读取命令或一或多个其它RPMB命令。
在702处,可例如由控制电路系统使用经接收RPMB命令来维持RPMB命令队列。在实例中,可按接收命令的顺序对命令进行排队。在某些实例中,可按接收写入命令的顺序对写入命令进行排队,且可无序地执行读取命令,只要在主机装置与存储器装置之间维持与RPMB写入命令相关联的写入计数即可。在703处说明包含第一RPMB写入命令、三个RPMB读取命令及第二RPMB写入命令(具有特定顺序)的实例队列。可使用存储器装置中的数据结构来维持此命令队列。
在704处,可依序执行RPMB操作。然而,可执行某些并行操作以加快RPMB过程。在实例中,在705处,可无序地预取RPMB读取数据且在706处将其存储在存储器装置的易失性存储器中。当在704处准备好执行RPMB读取操作时,可从易失性存储器检索信息,而非从非易失性存储器的RPMB部分读取信息。
在某些实例中,存储器装置可包含多个RPMB分区或区域,且可为每一区域维持单独RPMB队列。
图8说明存储器装置800的实例框图,其包含具有多个存储器单元804的存储器阵列802及用于提供与存储器阵列802的通信或在存储器阵列802上执行一或多个存储器操作的一或多个电路或组件。尽管展示为具有单个存储器阵列802,但是在其它实例中,此处可包含一或多个额外存储器阵列、裸片或LUN。在某些实例中,在具有数个裸片或LUN的存储系统中,存储器装置800可表示每一裸片或LUN的电路及组件的框图。存储器装置800可包含行解码器812、列解码器814、感测放大器820、页面缓冲器822、选择器824、输入/输出(I/O)电路826及存储器控制单元830。
存储器阵列802的存储器单元804可经布置成块,例如第一块802A及第二块802B。每一块可包含子块。例如,第一块802A可包含第一子块802A0及第二子块802An,且第二块802B可包含第一子块802B0及第二子块802Bn。每一子块可包含数个物理页面,每一页面包含数个存储器单元804。尽管在本文中被说明为具有两个块,但是每一块具有两个子块,且每一子块具有数个存储器单元804,在其它实例中,存储器阵列802可包含更多或更少块、子块、存储器单元等。在其它实例中,存储器单元804可经布置成数个行、列、页面、子块、块等,且使用例如存取线806、第一数据线810或一或多个选择栅极、源极线等来存取。
存储器控制单元830可根据控制线832上接收到的一或多个信号或指令控制存储器装置800的存储器操作,包含例如指示所期望操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线816上接收到的地址信号(A0到AX)。存储器装置800外部的一或多个装置可控制控制线832上的控制信号或地址线816上的地址信号的值。存储器装置800外部的装置的实例可包含但不限于主机、存储器控制器、处理器或图8中未说明的一或多个电路或组件。
存储器装置800可使用存取线806及第一数据线810来将数据传送(例如,写入或擦除)到存储器单元804中的一或多者或从存储器单元804中的一或多者传送(例如,读取)数据。行解码器812及列解码器814可接收及解码来自地址线816的地址信号(A0到AX),可确定将存取存储器单元804中的哪一者,且可将信号提供到存取线806(例如,多个字线(WL0到WLm)中的一或多者)或第一数据线810(例如,多个位线(BL0到BLn)中的一或多者)中的一或多者,例如上文所描述。
存储器装置800可包含经配置以使用第一数据线810来确定(例如,读取)存储器单元804上的数据的值或确定将写入到存储器单元804的数据的值的感测电路系统,例如感测放大器820。例如,在存储器单元的选定串804中,感测放大器820中的一或多者可响应于读取电流在存储器阵列802中流动通过选定串到数据线810而读取选定存储器单元804中的逻辑电平。
存储器装置800外部的一或多个装置可使用I/O线(DQ0到DQN)808、地址线816(A0到AX)或控制线832来与存储器装置800进行通信。输入/输出(I/O)电路826可使用I/O线808来根据例如控制线832及地址线816,将数据的值传入或传出存储器装置800,例如传入或传出页面缓冲器822或存储器阵列802。页面缓冲器822可在将从存储器装置800外部的一或多个装置接收的数据编程到存储器阵列802的相关部分中之前存储所述数据,或可在将从存储器阵列802读取的数据传输到存储器装置800外部的一或多个装置之前存储所述数据。
列解码器814可接收地址信号(A0到AX)且将其解码成一或多个列选择信号(CSEL1到CSELn)。选择器824(例如,选择电路)可接收列选择信号(CSEL1到CSELn)且在页面缓冲器822中选择表示将从存储器单元804读取或将编程到存储器单元804中的数据的值的数据。可使用第二数据线818来在页面缓冲器822与I/O电路826之间传送选定数据。
存储器控制单元830可从外部源或供应器(例如,内部或外部蓄电池、AC到DC转换器等)接收正及负电源信号,例如供应电压(Vcc)834及负供应电压(Vss)836(例如,接地电势)。在某些实例中,存储器控制单元830可包含用于在内部提供正或负供应信号的调节器828。
图9说明可在其上执行本文中所论述的技术(例如,方法)(例如,例如图1中所描述的那些技术等)中的任何一或多者的实例机器(例如,主机系统)900的框图。在替代实施例中,机器900可作为独立装置操作或可经连接(例如,经联网)到其它机器。在联网部署中,机器900可在服务器-客户端网络环境中以服务器机器、客户端机器或两者的身份进行操作。在实例中,机器900可在对等(P2P)(或其它分布式)网络环境中充当对等机器。机器900可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设施、IoT装置、汽车系统或能够执行指令(循序或以其它方式)的任何机器,所述指令指定将由那个机器采取的动作。此外,虽然仅说明单个机器,但是术语“机器”也应被理解为包含个别地或共同地执行一组(或多组)指令以执行本文所论述的方法(例如云计算、软件即服务(SaaS)、其它计算机集群配置)中的任何一或多者的机器的任何集合。
如本文中所描述,实例可包含逻辑、组件、装置、封装或机构,或可通过其来操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的集合(例如,组)。电路系统成员资格可能随时间推移及基础硬件可变性而变得灵活。电路系统包含可在操作时单独地或组合地执行特定任务的成员。在实例中,电路系统的硬件可不变地设计成实行特定操作(例如,硬连线)。在实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),包含物理地修改的计算机可读媒体(例如,磁性地、电地、可移动地放置不变质量的粒子等)以对特定操作的指令进行编码。在连接物理组件时,硬件组成的基础电性质例如从绝缘体变为导体或反之亦然。指令使参与的硬件(例如,执行单元或加载机构)能够经由可变连接在硬件中创建电路系统的成员以在操作中时实行特定任务的部分。因此,当装置正在操作时,计算机可读媒体通信地耦合到电路系统的其它组件。在实例中,物理组件中的任一者可用于多于一个电路系统的多于一个的成员中。例如,在操作下,执行单元可在一个时间点用于第一电路系统的第一电路中且可在不同时间被第一电路系统中的第二电路或被第二电路系统中的第三电路重用。
机器(例如,计算机系统、主机系统等)900可包含处理装置902(例如,硬件处理器、中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核或其任何组合等)、主存储器904(例如,只读存储器(ROM)、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或RambusDRAM(RDRAM)等)、静态存储器906(例如,静态随机存取存储器(SRAM)等)及存储系统918,其中一些或全部可经由通信接口(例如,总线)930彼此进行通信。
处理装置902可表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,所述处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置902还可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置902可经配置以执行指令926以执行本文中所论述的操作及步骤。计算机系统900可进一步包含用于通过网络920进行通信的网络接口装置908。
存储系统918可包含在其上存储有体现本文中所描述的方法或功能中的任何一或多者的一或多组指令926或软件的机器可读存储媒体(也被称为计算机可读媒体)。指令926还可在由计算机系统900执行期间完全地或至少部分地驻留在主存储器904内或处理装置902内,主存储器904及处理装置902也构成机器可读存储媒体。
术语“机器可读存储媒体”应被理解为包含存储一或多组指令的单个媒体或多个媒体,或能够存储或编码一组指令以供机器执行且致使机器执行本发明的方法中的任何一或多者的任何媒体。因此,术语“机器可读存储媒体”应被理解为包含但不限于固态存储器、光学媒体及磁性媒体。在实例中,聚集式机器可读媒体包括带有具有不变(例如,静止)质量的多个粒子的机器可读媒体。因此,聚集式机器可读媒体不是暂时性传播信号。聚集式机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电擦除可编程只读存储器(EEPROM))及快闪存储器装置;磁盘,例如内部硬盘及可卸除磁盘;磁光盘;及CD-ROM及DVD-ROM磁盘。
机器900可进一步包含显示单元、字母数字输入装置(例如,键盘)及用户接口(UI)导航装置(例如,鼠标)。在实例中,显示单元、输入装置或UI导航装置中的一或多者可为触摸屏显示器。所述机器信号产生装置(例如,扬声器)或一或多个传感器,例如全球定位系统(GPS)传感器、指南针、加速度计或一或多个其它传感器。机器900可包含输出控制器,例如用于与一或多个外围装置(例如,打印机、读卡器等)进行通信或控制所述一或多个外围装置的串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接。
指令926(例如,软件、程序、操作系统(OS)等)或其它数据存储在存储系统918上可由主存储器904存取以供处理装置902使用。主存储器904(例如,DRAM)通常是快速的但是易失性的,且因此与存储系统918(例如,SSD)的存储类型不同,所述存储系统918适合长期存储,包含处于“关”状态时。用户或机器900使用中的指令926或数据通常加载在主存储器904中以供处理装置902使用。当主存储器904已满时,可分配来自存储系统918的虚拟空间以补充主存储器904;然而,因为存储系统918装置通常比主存储器904慢,且写入速度通常是读取速度的至少1/2,所以虚拟存储器的使用由于存储系统延时而大大地降低用户体验(与例如DRAM的主存储器904相比)。此外,将存储系统918用于虚拟存储器可大大地减少存储系统918的使用寿命。
指令924可进一步利用数种传送协议(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等))中的任一者来经由网络接口装置908使用传输媒体在网络920上传输或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络及无线数据网络(例如,电气及电子工程师协会(IEEE)802.11系列标准,被称为
Figure BDA0002769892290000161
IEEE 802.16系列标准,被称为
Figure BDA0002769892290000162
IEEE 802.15.4系列标准、对等(P2P)网络等等。在实例中,网络接口装置908可包含用于连接到网络920的一或多个物理插孔(例如,以太网、同轴或电话插孔)或一或多个天线。在实例中,网络接口装置908可包含用于使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者进行无线通信的多个天线。术语“传输媒体”应被理解为包含能够存储、编码或携带由机器900执行的指令的任何无形媒体,且包含用于促进此软件的通信的数字或模拟通信信号或其它无形媒体。
上文详细描述包含对附图的参考,所述附图形成所述详细描述的一部分。附图以说明方式展示其中可实践本发明的特定实施例。这些实施例在本文中也被称为“实例”。此类实例可包含除所展示或描述的那些元件之外的元件。然而,本发明人还考虑其中仅提供所展示或描述的那些元件的实例。此外,本发明人还考虑使用关于特定实例(或其一或多个方面)或关于本文中所展示或描述的其它实例(或其一或多个方面)所展示或描述的那些元件(或其一或多个方面)的任何组合或排列的实例。
在本文档中,如专利文档中常见,术语“一”或“一个”用于包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或用法。在本文档中,除非另有指示,否则术语“或”用于指代非排他性或,使得“A或B”可包含“A但没有B”、“B但没有A”及“A及B”。在所附权利要求书中,术语“包含”及“其中(in which)”用作相应术语“包括”及“其中(wherein)”的简明英语等效词。而且,在所附权利要求书中,术语“包含”及“包括”是开放式的。包含除在权利要求中在系统、装置、对象或过程之后列出的那些元件之外的元件的此术语仍被视为落在那个权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等仅用作标签,且并不意在对其对象施加数字要求。
在各种实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储在物理装置上的物理电路系统或固件。如本文中所使用,“处理器”表示任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
如本文中所使用,操作存储器单元包含从存储器单元读取、写入到存储器单元或擦除存储器单元。将存储器单元置于预期状态的操作在本文中被称为“编程”,且可包含写入到存储器单元或从存储器单元擦除两者(例如,可将存储器单元编程为擦除状态)。
根据本发明的一或多个实施例,定位在存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件、控制电路系统等)能够确定(例如,选择、设置、调整、计算、改变、清除、传达、调适、导出、定义、利用、修改、应用等)一定数量的磨损循环或磨损状态(例如,记录磨损循环,在存储器装置的操作发生时对其进行计数,跟踪其启动的存储器装置的操作,评估对应于磨损状态的存储器装置特性等)。
根据本发明的一或多个实施例,存储器存取装置可经配置以在每次存储器操作时将磨损循环信息提供到存储器装置。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于磨损循环信息的存储器装置性能变化。存储器装置可接收磨损循环信息且响应于磨损循环信息而确定一或多个操作参数(例如,值、特性)。
本文中所描述的方法实例可至少部分为机器、装置或计算机实施的。一些实例可包含编码有指令的可操作以配置电子装置来执行如上述实例中所描述的方法的计算机可读媒体、装置可读媒体或机器可读媒体。此类方法的实施方案可包含代码,例如微代码、汇编语言代码、高级语言代码等。此代码可包含用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储在一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于硬盘、可卸除磁盘、可卸除光盘(例如,光盘及数字视频光盘)、磁带盒、存储卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪储存(UFS)装置、嵌入式MMC(eMMC)装置等。
实例1是一种系统,所述系统包括:存储器装置,其包括存储器阵列及控制电路系统,其中所述控制电路系统经配置以从主机装置接收重放受保护存储器块(RPMB)命令,使用所述经接收RPMB命令来维持RPMB命令队列且根据所述RPMB命令队列依序执行RPMB命令,其中所述存储器装置经配置以从与经排队RPMB读取命令相关联的读取地址无序地预取读取数据且将所述经预取读取数据存储在所述存储器装置的易失性存储器中以根据所述RPMB命令队列依序提供到所述主机装置。
在实例2中,根据实例1所述的标的物任选地包含其中所述存储器装置经配置以根据所述RPMB命令队列及计数器依序执行所述RPMB命令队列中的RPMB写入命令,且使用所述经预取读取数据来根据所述RPMB命令队列依序执行所述RPMB读取命令。
在实例3中,根据实例1到2中任何一或多个实例所述的标的物任选地包含其中所述存储器装置包括多个存储器裸片,所述多个存储器裸片中的至少两者包括相应RPMB区域,且其中所述存储器装置经配置以为所述相应RPMB区域维持单独RPMB命令队列。
在实例4中,根据实例1到3中任何一或多个实例所述的标的物任选地包含其中所述存储器装置包括多个存储器裸片,所述多个存储器裸片中的至少两者包括相应RPMB区域,且其中所述多个存储器裸片中的每一者包括控制逻辑,其中所述控制逻辑经配置以为每一相应RPMB区域维持RPMB命令队列。
在实例5中,根据实例1到4中任何一或多个实例所述的标的物任选地包含其中所述存储器装置包括多个RPMB区域且经配置以为所述多个RPMB区域中的每一者维持单独RPMB命令队列,所述多个RPMB区域中的每一者具有唯一密钥、计数器及数据区域。
在实例6中,根据实例1到5中任何一或多个实例所述的标的物任选地包含其中所述存储器装置包括RPMB区域及RPMB电路,且其中所述RPMB电路经配置以控制对所述RPMB区域的存取且为所述RPMB区域维持所述RPMB命令队列。
在实例7中,根据实例6所述的标的物任选地包含主机装置,所述主机装置经配置以将所述RPMB命令提供到所述存储器装置,所述RPMB命令包括RPMB数据帧,所述RPMB数据帧包括8个写入计数器字节,其中所述RPMB电路经配置以实施计数器且利用所述经接收计数器字节及所述计数器来验证RPMB写入命令的顺序。
在实例8中,根据实例7所述的标的物任选地包含其中所述RPMB数据帧包括:标头字节,其由32到64个数据字节组成;数据字节,其在所述标头字节之后;及消息认证代码(MAC)字节,其在所述数据字节之后。
在实例9中,根据实例8所述的标的物任选地包含其中所述标头字节依序包括:2个请求/响应消息类型字节;2个结果字节;2个块计数字节;2个地址字节;8个写入计数器字节;及16个随机数字节。
在实例10中,根据实例8到9中任何一或多个实例所述的标的物任选地包含其中所述数据字节包括数(n)个数据组块,所述n个数据组块由用于单次读取或写入传送的所有所述数据字节组成,且所述标头字节及所述MAC字节由用于所述单次读取或写入传送的所有所述标标头字节及所述MAC字节组成。
实例11是一种方法,其包括:在存储器装置处,从主机装置接收多个重放受保护存储器块(RPMB)命令;使用所述存储器装置的控制电路系统,使用所述经接收RPMB命令来按从所述主机装置接收的顺序维持RPMB命令队列;使用所述控制电路系统,预取从与所述RPMB命令队列中的RPMB命令相关联的读取地址无序地读取数据且将所述经预取读取数据存储在所述存储器装置的易失性存储器中;及使用所述控制电路系统,根据所述RPMB命令队列执行RPMB命令。
在实例12中,根据实例11所述的标的物任选地包含其中执行RPMB命令包括:根据所述RPMB命令队列及所述计数器依序执行所述RPMB命令队列中的RPMB写入命令;及使用所述经预取读取数据来根据所述RPMB命令队列依序执行所述RPMB读取命令。
在实例13中,根据实例11到12中任何一或多个实例所述的标的物任选地包含其中维持所述RPMB命令队列包括为所述存储器装置的相应RPMB区域维持单独RPMB命令队列。
在实例14中,根据实例11到13中任何一或多个实例所述的标的物任选地包含其中所述存储器装置包括多个存储器裸片,每一存储器裸片包括相应控制逻辑及RPMB区域,其中维持所述单独RPMB命令队列包括使用所述存储器裸片的所述控制逻辑来为每一RPMB区域维持相应RPMB命令队列。
在实例15中,根据实例11到14中任何一或多个实例所述的标的物任选地包含其中所述存储器装置包括多个RPMB区域且经配置以为所述多个RPMB区域中的每一者维持单独RPMB命令队列,所述多个RPMB区域中的每一者具有唯一密钥、计数器及数据区域。
在实例16中,根据实例11到15中任何一或多个实例所述的标的物任选地包含其中所述存储器装置包括RPMB区域及RPMB电路,且其中所述RPMB电路经配置以控制对所述RPMB区域的存取且为所述RPMB区域维持所述RPMB命令队列。
在实例17中,根据实例16所述的标的物任选地包含使用主机装置来将所述RPMB命令提供到所述存储器装置,所述RPMB命令包括RPMB数据帧,所述RPMB数据帧包括8个写入计数器字节;及使用所述RPMB电路,实施计数器且利用所述计数器的所述经接收计数器字节来验证经接收RPMB写入命令的顺序。
在实例18中,根据实例17所述的标的物任选地包含其中提供所述RPMB命令包括提供RPMB数据帧,包括提供:标头字节,其由32到64个数据字节组成;数据字节,其在所述标头字节之后;及消息认证代码(MAC)字节,其在所述数据字节之后。
在实例19中,根据实例18所述的标的物任选地包含其中提供所述RPMB标头字节包括依序提供:2个请求/响应消息类型字节;2个结果字节;2个块计数字节;2个地址字节;8个写入计数器字节;及16个随机数字节。
在实例20中,根据实例18到19中任何一或多个实例所述的标的物任选地包含其中提供所述数据字节包括提供数(n)个数据组块,所述n个数据组块由用于单次读取或写入传送的所有所述数据字节组成,且其中提供所述标头字节及所述MAC字节由提供用于所述单次读取或写入传送的所有所述标标头字节及所述MAC字节组成。
在实例21中,标的物(例如,系统或设备)可任选地组合实例1到20中的任何一或多个者的任何部分或任何部分的组合以包括“用于执行根据实例1到20所述的功能或方法中的任何一或多者的任何部分的部件”,或包含指令的至少一个“非暂时性机器可读媒体”,所述指令在由机器执行时引起机器执行根据实例1到20所述的功能或方法中的任何一或多者的任何部分。
以上描述意在是说明性的且非限制性的。例如,上述实例(或其一或多个方面)可彼此组合使用。在审阅以上描述之后,例如所属领域的一般技术人员可使用其它实施例。提交时应理解其将不用于解释或限制权利要求书的范围或含义。而且,在以上具体实施方式中,各种特征可被分组在一起以简化本发明。这不应被解释为未主张的揭示特征意在对于任何权利要求均是必不可少的。而是,发明标的物可在于少于特定揭示实施例的所有特征。因此,所附权利要求书由此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例,且考虑此类实施例可以各种组合或排列彼此组合。本发明的范围应参考所附权利要求书连同此权利要求书被赋予的等效物的全范围来确定。

Claims (16)

1.一种系统,其包括:
存储器装置,其包括存储器阵列及控制电路系统,其中所述控制电路系统经配置以从主机装置接收重放受保护存储器块RPMB命令,使用所述经接收RPMB命令来维持RPMB命令队列且根据所述RPMB命令队列依序执行RPMB命令,
其中所述存储器装置经配置以从与经排队RPMB读取命令相关联的读取地址无序地预取读取数据且将所述经预取读取数据存储在所述存储器装置的易失性存储器中以根据所述RPMB命令队列依序提供到所述主机装置。
2.根据权利要求1所述的系统,其中所述存储器装置经配置以根据所述RPMB命令队列及计数器依序执行所述RPMB命令队列中的RPMB写入命令,且使用所述经预取读取数据来根据所述RPMB命令队列依序执行所述RPMB读取命令。
3.根据权利要求1所述的系统,其中所述存储器装置包括多个存储器裸片,每一存储器裸片包括相应RPMB区域,且
其中所述存储器装置经配置以为所述相应RPMB区域维持单独RPMB命令队列。
4.根据权利要求1所述的系统,其中所述存储器装置包括多个存储器裸片,每一存储器裸片包括相应RPMB区域,且
其中所述多个存储器裸片中的每一者包括控制逻辑,其中所述控制逻辑经配置以为每一相应RPMB区域维持RPMB命令队列。
5.根据权利要求1到4中任一权利要求所述的系统,其中所述存储器装置包括多个RPMB区域且经配置以为所述多个RPMB区域中的每一者维持单独RPMB命令队列,所述多个RPMB区域中的每一者具有唯一密钥、计数器及数据区域。
6.根据权利要求1到4中任一权利要求所述的系统,其中所述存储器装置包括RPMB区域及RPMB电路,且
其中所述RPMB电路经配置以控制对所述RPMB区域的存取且为所述RPMB区域维持所述RPMB命令队列。
7.根据权利要求6所述的系统,其包括:
主机装置,其经配置以将所述RPMB命令提供到所述存储器装置,所述RPMB命令包括RPMB数据帧,所述RPMB数据帧包括8个写入计数器字节,
其中所述RPMB电路经配置以实施计数器且利用所述经接收计数器字节及所述计数器来验证RPMB写入命令的顺序。
8.根据权利要求7所述的系统,其中所述RPMB数据帧包括:
标头字节,其由32到64个数据字节组成;
数据字节,其在所述标头字节之后;及
消息认证代码MAC字节,其在所述数据字节之后。
9.根据权利要求8所述的系统,其中所述标头字节依序包括:
2个请求/响应消息类型字节;
2个结果字节;
2个块计数字节;
2个地址字节;
8个写入计数器字节;及
16个随机数字节。
10.根据权利要求8所述的系统,其中所述数据字节包括数(n)个数据组块,所述n个数据组块由用于单次读取或写入传送的所有所述数据字节组成,且所述标头字节及所述MAC字节由用于所述单次读取或写入传送的所有所述标标头字节及所述MAC字节组成。
11.一种方法,其包括:
在存储器装置处,从主机装置接收多个重放受保护存储器块RPMB命令;
使用所述存储器装置的控制电路系统,使用所述经接收RPMB命令来按从所述主机装置接收的顺序维持RPMB命令队列;
使用所述控制电路系统,从与所述RPMB命令队列中的RPMB命令相关联的读取地址无序地预取读取数据且将所述经预取读取数据存储在所述存储器装置的易失性存储器中;及
使用所述控制电路系统,根据所述RPMB命令队列执行RPMB命令。
12.根据权利要求11所述的方法,其中执行RPMB命令包括:
根据所述RPMB命令队列及计数器依序执行所述RPMB命令队列中的RPMB写入命令;及
使用所述经预取读取数据来根据所述RPMB命令队列依序执行所述RPMB读取命令。
13.根据权利要求11所述的方法,其中所述存储器装置包括RPMB区域及RPMB电路,且
其中所述RPMB电路经配置以控制对所述RPMB区域的存取且为所述RPMB区域维持所述RPMB命令队列。
14.根据权利要求13所述的方法,其包括:
使用主机装置来将所述RPMB命令提供到所述存储器装置,所述RPMB命令包括RPMB数据帧,所述RPMB数据帧包括8个写入计数器字节;及
使用所述RPMB电路,实施计数器且利用所述计数器的所述经接收计数器字节来验证经接收RPMB写入命令的顺序。
15.根据权利要求14所述的方法,其中提供所述RPMB命令包括提供RPMB数据帧,包括提供:
标头字节,其由32到64个数据字节组成;
数据字节,其在所述标头字节之后;及
消息认证代码MAC字节,其在所述数据字节之后。
16.根据权利要求15所述的方法,其中提供所述RPMB标头字节包括依序提供:
2个请求/响应消息类型字节;
2个结果字节;
2个块计数字节;
2个地址字节;
8个写入计数器字节;及
16个随机数字节;
其中提供所述数据字节包括提供数(n)个数据组块,所述n个数据组块由用于单次读取或写入传送的所有所述数据字节组成,且
其中提供所述标头字节及所述MAC字节由提供用于所述单次读取或写入传送的所有所述标标头字节及所述MAC字节组成。
CN201980031494.0A 2018-04-12 2019-04-11 重放受保护存储器块命令队列 Pending CN112154408A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862656884P 2018-04-12 2018-04-12
US62/656,884 2018-04-12
US201862680405P 2018-06-04 2018-06-04
US62/680,405 2018-06-04
PCT/US2019/027043 WO2019200142A1 (en) 2018-04-12 2019-04-11 Replay protected memory block command queue

Publications (1)

Publication Number Publication Date
CN112154408A true CN112154408A (zh) 2020-12-29

Family

ID=68164609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980031494.0A Pending CN112154408A (zh) 2018-04-12 2019-04-11 重放受保护存储器块命令队列

Country Status (3)

Country Link
US (2) US11442634B2 (zh)
CN (1) CN112154408A (zh)
WO (1) WO2019200142A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442634B2 (en) 2018-04-12 2022-09-13 Micron Technology, Inc. Replay protected memory block command queue

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200128825A (ko) * 2019-05-07 2020-11-17 삼성전자주식회사 분리된 rpmb 기능을 가지는 스토리지 시스템 및 그 구동 방법
KR20220007931A (ko) * 2020-07-13 2022-01-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN114546263B (zh) * 2022-01-23 2023-08-18 苏州浪潮智能科技有限公司 一种数据存储方法、系统、设备以及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140059270A1 (en) * 2012-08-23 2014-02-27 Etai Zaltsman Efficient enforcement of command execution order in solid state drives
US20150146486A1 (en) * 2013-11-27 2015-05-28 Silicon Motion, Inc. Data Storage Device and Flash Memory Control Method

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394733A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem
US4425615A (en) * 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
US5144692A (en) * 1989-05-17 1992-09-01 International Business Machines Corporation System for controlling access by first system to portion of main memory dedicated exclusively to second system to facilitate input/output processing via first system
US5369767A (en) * 1989-05-17 1994-11-29 International Business Machines Corp. Servicing interrupt requests in a data processing system without using the services of an operating system
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US5369749A (en) * 1989-05-17 1994-11-29 Ibm Corporation Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems
US5325517A (en) * 1989-05-17 1994-06-28 International Business Machines Corporation Fault tolerant data processing system
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US5283868A (en) * 1989-05-17 1994-02-01 International Business Machines Corp. Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
US5191649A (en) * 1990-12-21 1993-03-02 Intel Corporation Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
US6591321B1 (en) * 1999-11-09 2003-07-08 International Business Machines Corporation Multiprocessor system bus protocol with group addresses, responses, and priorities
US6557079B1 (en) * 1999-12-20 2003-04-29 Emc Corporation Remote data facility prefetch
US6785793B2 (en) * 2001-09-27 2004-08-31 Intel Corporation Method and apparatus for memory access scheduling to reduce memory access latency
US20040123078A1 (en) * 2002-12-24 2004-06-24 Hum Herbert H Method and apparatus for processing a load-lock instruction using a scoreboard mechanism
US7107384B1 (en) * 2004-03-01 2006-09-12 Pericom Semiconductor Corp. Dynamic PCI-bus pre-fetch with separate counters for commands of commands of different data-transfer lengths
JP4372043B2 (ja) * 2005-05-12 2009-11-25 株式会社ソニー・コンピュータエンタテインメント コマンド実行制御装置、コマンド実行指示装置およびコマンド実行制御方法
US7778815B2 (en) * 2005-05-26 2010-08-17 The Regents Of The University Of California Method for the fast exploration of bus-based communication architectures at the cycle-count-accurate-at-transaction-boundaries (CCATB) abstraction
JP4439491B2 (ja) * 2006-05-24 2010-03-24 株式会社ソニー・コンピュータエンタテインメント マルチグラフィックスプロセッサシステム、グラフィックスプロセッサおよびデータ転送方法
JP4680851B2 (ja) * 2006-08-18 2011-05-11 富士通株式会社 システムコントローラ,同一アドレスリクエストキューイング防止方法および情報処理装置
US8812756B2 (en) * 2008-06-13 2014-08-19 Phison Electronics Corp. Method of dispatching and transmitting data streams, memory controller and storage apparatus
US8572320B1 (en) * 2009-01-23 2013-10-29 Cypress Semiconductor Corporation Memory devices and systems including cache devices for memory modules
US9658877B2 (en) * 2010-08-23 2017-05-23 Empire Technology Development Llc Context switching using a context controller and on-chip context cache
US9098203B1 (en) * 2011-03-01 2015-08-04 Marvell Israel (M.I.S.L) Ltd. Multi-input memory command prioritization
KR101833416B1 (ko) * 2011-04-27 2018-04-13 시게이트 테크놀로지 엘엘씨 데이터 리드 방법 및 이를 적용한 저장 장치
US9047176B2 (en) * 2012-02-06 2015-06-02 Sandisk Technologies Inc. Storage device and method for utilizing unused storage space
US20140068218A1 (en) * 2012-08-31 2014-03-06 Shinya IEMURA Storage device and communication method
US9317204B2 (en) * 2013-11-14 2016-04-19 Sandisk Technologies Inc. System and method for I/O optimization in a multi-queued environment
US9329992B2 (en) * 2013-12-04 2016-05-03 Silicon Motion, Inc. Data storage device and flash memory control method
US10257192B2 (en) * 2014-05-29 2019-04-09 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
US9678760B2 (en) * 2014-08-01 2017-06-13 Samsung Electronics Co., Ltd. Memory card and storage system having authentication program and method for operating thereof
US10303628B2 (en) * 2014-12-19 2019-05-28 Sonics, Inc. Reordering responses in a high performance on-chip network
US9934179B2 (en) * 2015-02-17 2018-04-03 Mediatek Inc. Wafer-level package with at least one input/output port connected to at least one management bus
US10078471B2 (en) * 2015-05-19 2018-09-18 Toshiba Memory Corporation Memory device that sorts access commands to a nonvolatile semiconductor memory unit thereof
KR20170014496A (ko) * 2015-07-30 2017-02-08 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US10417456B2 (en) * 2015-12-23 2019-09-17 Tracfone Wireless, Inc. Secure system having a multi-locking mechanism for devices having embedded systems
TWI631508B (zh) * 2017-04-28 2018-08-01 慧榮科技股份有限公司 記憶裝置、記憶裝置的控制方法及存取系統
CN109478168B (zh) * 2017-06-23 2020-12-04 华为技术有限公司 内存访问技术及计算机系统
US11133075B2 (en) * 2017-07-07 2021-09-28 Micron Technology, Inc. Managed NAND power management
CN108108631A (zh) * 2017-11-29 2018-06-01 晨星半导体股份有限公司 一种根密钥处理方法及相关装置
CN111448543B (zh) * 2017-12-07 2021-10-01 华为技术有限公司 内存访问技术及计算机系统
US10558576B2 (en) * 2018-01-22 2020-02-11 Western Digital Technologies, Inc. Storage device with rapid overlay access
KR102501776B1 (ko) * 2018-01-31 2023-02-21 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20190099693A (ko) * 2018-02-19 2019-08-28 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20190102781A (ko) * 2018-02-27 2019-09-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US10534731B2 (en) * 2018-03-19 2020-01-14 Micron Technology, Inc. Interface for memory having a cache and multiple independent arrays
CN112154408A (zh) 2018-04-12 2020-12-29 美光科技公司 重放受保护存储器块命令队列
US11088845B2 (en) * 2018-07-03 2021-08-10 Western Digital Technologies, Inc. Non-volatile memory with replay protected memory block having dual key
US11139035B2 (en) * 2018-12-28 2021-10-05 Micron Technology, Inc. Memory device error detection with improved scanning
US20200210106A1 (en) * 2018-12-31 2020-07-02 Micron Technology, Inc. Memory device policy enforcement using firmware
US11321468B2 (en) * 2018-12-31 2022-05-03 Micron Technology, Inc. Systems for providing access to protected memory
US20210117242A1 (en) * 2020-10-03 2021-04-22 Intel Corporation Infrastructure processing unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140059270A1 (en) * 2012-08-23 2014-02-27 Etai Zaltsman Efficient enforcement of command execution order in solid state drives
US20150146486A1 (en) * 2013-11-27 2015-05-28 Silicon Motion, Inc. Data Storage Device and Flash Memory Control Method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442634B2 (en) 2018-04-12 2022-09-13 Micron Technology, Inc. Replay protected memory block command queue

Also Published As

Publication number Publication date
WO2019200142A1 (en) 2019-10-17
US20210334016A1 (en) 2021-10-28
US20220404988A1 (en) 2022-12-22
US11442634B2 (en) 2022-09-13

Similar Documents

Publication Publication Date Title
US11983106B2 (en) Host accelerated operations in managed NAND devices
US11385838B2 (en) Host accelerated operations in managed NAND devices
CN113015975B (zh) 安全逻辑到物理高速缓存
US20220404988A1 (en) Replay protected memory block data frame
US10884944B2 (en) Host accelerated operations in managed NAND devices
CN113841128B (zh) 大型数据读取方法、装置及可读介质
US11687469B2 (en) Host-resident translation layer validity check techniques
CN114761931A (zh) 有限ram系统中的逻辑到物理转译技术
US11693732B2 (en) Cryptographic data integrity protection
CN112445718A (zh) 大文件完整性技术
CN112445716B (zh) Nand存储的重映射技术
CN112313634B (zh) 快闪存储器的主机侧缓存安全
CN112445716A (zh) Nand存储的重映射技术
CN112313634A (zh) 快闪存储器的主机侧缓存安全
CN112445717A (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
TA01 Transfer of patent application right

Effective date of registration: 20230926

Address after: Illinois, America

Applicant after: North Star Franchise Group Co.,Ltd.

Address before: Idaho

Applicant before: MICRON TECHNOLOGY, Inc.

TA01 Transfer of patent application right