CN111886572B - 存储备份存储器封装中的状态管理 - Google Patents
存储备份存储器封装中的状态管理 Download PDFInfo
- Publication number
- CN111886572B CN111886572B CN201980017544.XA CN201980017544A CN111886572B CN 111886572 B CN111886572 B CN 111886572B CN 201980017544 A CN201980017544 A CN 201980017544A CN 111886572 B CN111886572 B CN 111886572B
- Authority
- CN
- China
- Prior art keywords
- memory
- interface
- attribute
- host
- attributes
- 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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本文揭示用于存储备份存储器中的状态管理的装置及技术。可在存储器封装的第一接口处接收经编码消息。此处,所述存储器封装还包含到主机的第二接口。可解码所述消息以获得包含属性的经解码消息。可比较所述属性与属性集,所述属性集对应于所述存储器封装的广告状态。所述比较能够确定所述属性是在所述属性集中。接着,可响应于所述属性是在所述属性集中的所述确定而修改所述存储器封装的所述广告状态。
Description
优先权申请
本申请案主张2018年2月8日申请的第62/627,949号美国临时申请案及2018年8月3日申请的第16/054,144号美国专利申请案的优先权权益,所述案的全部内容以引用的方式并入本文中。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。存储器装置存储用于其它组件的数据。可由处理器或其它组件直接使用字节可寻址存储器装置来存储当前状态数据以及不直接连接到当前系统状态的数据。块可寻址装置(例如硬盘驱动)是通常不能由系统组件直接用来存储状态信息的存储装置。通常,存储器装置用作中间件,其中块寻址数据在由系统使用之前加载到存储器装置中。
易失性存储器需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等。易失性存储器装置广泛地部署于计算系统中。通常,不同于可在页面、块等中寻址的存储装置,这些装置是字节可寻址且因此可直接从处理器存取。如同SRAM及DRAM的易失性存储器也足够快以满足用户对装置性能的预期。
虽然易失性存储器的电力相依性在许多境况下不是问题,但存在其中数据(例如系统状态数据、未提交异动等)损耗可成问题的例子。在这些境况中,损耗易失性存储器的电力可意味着数据损坏或不能诊断问题,因为当易失性存储器断电时问题的证据会丢失。为了解决这些例子,已尝试各种技术。例如,电池备份RAM使用辅助独立电源、电池来维持易失性存储器内容以防主电源停止运作。归因于有限存储持续时间(例如,当电池不再提供电力而丢失内容时),电池备份RAM具有有限效率。
非易失性双列直插存储器模块(NVDIMM)组合流行易失性存储器封装标准系列(DIMM)与非易失性存储器(例如NAND闪存)以提供易失性存储器内容的断电保持达延长时间段。联合电子装置工程委员会(JEDEC)已颁布与DIMM相关的若干标准,包含双倍数据速率(DDR)存储器接口及使用DDR接口的NVDIMM。NVDIMM-N是JEDEC标准系列,其中DIMM除包含DRAM或SRAM易失性存储器以外还包含闪存存储器及控制器。字节可寻址能量备份接口(BAEBI)的JEDEC标准245B.01(JESD245B.05)使用NVDIMM的实例提供许多实施方案及互动细节。
附图说明
在随附图式的图中以实例且非限制的方式说明本发明,其中类似元件符号指示类似元件。
图1说明根据本发明的一些实施方案的实施状态管理的NVDIMM的实例。
图2说明根据本发明的一些实施方案的包含用于存储备份存储器封装中的状态管理的系统的环境的实例。
图3说明根据本发明的一些实施方案的用来在存储备份存储器封装中实施状态管理的实例组件消息传送。
图4说明根据本发明的一些实施方案的用于存储备份存储器封装中的状态管理的方法的实例流程图。
图5是说明根据本发明的实施方案的实例计算机系统的框图,可在所述计算机系统内执行指令集以使机器执行本文中所论述的方法论中的任一或多者。
具体实施方式
下文论述通常涉及符合NVDIMM-N标准系列的存储备份存储器封装。然而,其它存储备份存储器封装也可受益于下文所描述的装置及技术。如上所述,NVDIMM-N装置将NAND闪存装置定位于模块上。控制器也包含于模块上。控制器通常是专用集成电路(ASIC)、场可编程门阵列(FPGA)或其它处理电路系统,其经布置或经编程以管理模块的DRAM或SDRAM易失性部分与闪存非易失性部分(例如,备份DRAM或SDRAM存储器的存储装置)之间的数据传送。通常,控制器针对能量、空间(例如,晶粒大小)或过程(例如,使用较大特征大小)效率而非针对指令周期优化。NVDIMM-N装置包含两个接口,使主机(例如,处理器)能够将模块用于系统存储器的DDR版本4(DDR4)存储器接口及使主机能够直接与控制器通信的集成电路间(I2C、I2C或IIC)总线。
I2C是封包交换总线,其使用双线连接(例如,一条线用于时钟信号且一条线用于数据信号)且支持1百万赫兹数据速率。因此,I2C对系统内的许多离散集成电路提供灵活且有效的加成。然而,在与DDR4存储器接口相比时,I2C非常慢,其中I2C具有每秒100或400千位(Kbit)的通量,且DDR4具有每秒1,600兆位到3,200兆位(Mbit)之间的通量的数据速率。主机通过I2C与控制器通信通常涉及读取及写入控制器的寄存器。例如,主机可通过经由I2C设置开始及结束地址寄存器且致动保存寄存器来将一部分保存命令发出到控制器。
一些NVDIMM-N I2C协议(例如BAEBI 2.1-1标准中定义的协议)具有隐式述词(例如,之前发生)要求:如果不考虑要求,那么可靠的正确通信成为问题。例如,灾难性保存工作流程如下:
1.主机等待清除NVDIMM_CMD_STATUS0寄存器中的“进行中操作(Operation inProgress)”位。此可经由主机进行I2C读取轮询(例如,主机经由I2C接口周期性地检查寄存器值)来完成。
2.接着,主机设置NVDIMM_MGT_CMD0寄存器中的位2(例如,清除CSAVE_STATUS寄存器)。此是清除状态寄存器的主机I2C写入命令。此处,不要求主机等待任何种类的响应;意味着此是盲写。
3.接着,主机设置NVDIMM_FUNC_CMD寄存器中的START_CSAVE位。此是另一盲主机I2C写入,因为主机不等待响应。控制器需要设置“NVDIMM_CMD_STATUS0中的对应进行中位”。
4.接着,主机检查NVDIMM_CMD_STATUS0寄存器中的灾难性保存进行中位。如果此检查是清晰的,那么主机检查CSAVE_STATUS寄存器。如果CSAVE_STATUS寄存器未指示灾难性保存操作已完成,那么主机重试操作3。控制器设置灾难性保存进行中位希望在操作4中主机检查那个位之前,在操作3中发生。然而,如上所述,控制器通常不针对速度优化,且可远慢于主机。此导致可能竞赛条件,其中控制器在主机执行操作4之前无法在操作3中设置适当状态位。因为控制器尚未修改进行中位,所以主机将操作4中的寄存器值误译为控制器完成灾难性保存,而事实上控制器甚至还没来得及修改状态以指示其已开始操作。主机对控制器状态的此误译可导致若干操作故障,例如主机未重试已失败的操作。
本发明的方面涉及存储备份存储器或存储器子系统(例如,“存储器装置”)中的状态管理。存储器子系统的实例是存储系统,例如固态硬盘(SSD)。在一些实施例中,存储器子系统是混合存储器/存储子系统。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供待存储于存储器子系统处的数据且可请求从存储器子系统检索的数据。
为了解决竞赛条件问题,修改控制器的I2C总线接口以检验(例如,窥探)主机的消息且确定封包是否涉及对应于广告状态指示(例如,可在存储备份存储器封装外部读取的状态指示)的操作。修改可在用于I2C总线接口的解码器中。如果消息对应于与广告状态指示对应的操作(例如上文所描述的灾难性保存及对应寄存器位),那么I2C总线接口设置广告状态指示且将消息提供到控制器。接着,控制器照常操作,包含在控制器完成操作时清除广告状态指示。此布置通过在主机可重新读取(例如,测试)广告状态指示之前针对选择操作设置“忙碌位”而无关于控制器参与完成操作的速度来防止竞赛条件。下文描述额外细节及实例。
图1说明根据本发明的一些实施方案的实施状态管理的NVDIMM 110的实例。在实例中,NVDIMM 110符合JEDEC NVDIMM-N标准系列。NVDIMM 110包含控制器125、易失性存储部分130、非易失性存储部分145、第一接口120(例如,I2C总线)及第二接口115(例如,DDR接口)。易失性部分130包含一或多个DRAM或SRAM集成电路(IC)以存储用于经由第二接口115进行主机105的读取或写入操作的数据。非易失性存储部分145可以不需要电力来维持状态的任何存储技术实施。实例非易失性存储技术可包含NAND闪存、NOR闪存、存储类存储器(例如,相变存储器)、磁性存储器及类似物。
第一接口120通常由主机105用来直接与控制器125通信以执行各种操作。控制器125经布置以在NVDIMM 110内实施这些操作。控制器125经实施为电子硬件,例如FPGA、ASIC、数字信号处理器(DSP)或其它处理电路系统,例如此处所说明的状态控制组件113的实例。在实例中,控制器对电子硬件执行指令(例如,固件)以执行操作。此是图5中所说明的状态控制组件113的另一实例。BAEBI标准系列定义由顺应性装置实施的数个操作。
当第一接口120是I2C总线时,典型通信涉及主机105经由第一接口120设置控制器125中的寄存器。例如,主机105可设置特定寄存器,使得所述寄存器中的特定位从0变成1。当此位值变化对应于命令的执行时,控制器125响应于位修改而执行命令。如果命令具有自变量,那么主机105可设置对应于自变量的寄存器。在此情况中,控制器125经布置以检查这些自变量寄存器以检索数据来完成命令。
如上所述,因为主机105可能在非常快处理器中实施,且控制器125未针对速度优化,所以可发生竞赛条件,其中主机105(其周期性地读取广告值(例如,寄存器或寄存器的一部分))以确定命令是否已完成,在调用命令之后、在控制器125响应于命令调用而设置广告状态之前,尝试读取广告状态。此处,控制器125不够快以在主机105执行首次检查之前设置广告值的期望值。当此发生时,主机105宛如命令完成那样操作,而实际上控制器125甚至尚未开始。
为了解决竞赛条件问题,控制器125经布置以通过第一接口120(例如,在控制器125的解码器135处)接收经编码消息。在第一接口120根据I2C标准系列操作的情况下,消息编码是消息的I2C市场化。解码器135经布置以获得包含属性的经解码消息。在实例中,属性是命令的名称。命令名称可在封包化消息的有效负载中。在实例中,属性是地址。地址可在封包化消息的标头中。在实例中,地址是页面指定符。在实例中,地址包含页面指定符及偏移两者。
解码器135或控制器125经布置以比较属性与对应于存储器封装的广告状态的属性集以确定属性是在属性集中。此处,广告状态意味着可在NVDIMM 110外部观察到的NVDIMM 110的状态。例如,可由主机105读取的状态位(例如,“忙碌位”)或寄存器是广告状态。在实例中,广告状态指示控制器125是否存在进行中操作。在实例中,广告状态指示进行中操作的类型。
可以若干方式实施属性与属性集的比较。在实例中,属性集经存储于表140或其它数据结构中。此处,解码器135或控制器125经布置以匹配属性与表140中的记录以确定属性是在属性集中。如果不存在匹配,那么属性不对应于NVDIMM 110的广告状态。在实例中,由JEDEC BAEBI标准系列(例如JESD245B.01标准)定义属性集。
在实例中,属性集具有对应于页面0的单个成员。在实例中,属性集的成员是具有页面指定符0以及对应于根据联合电子装置工程委员会(JEDEC)字节可寻址能量备份接口(BAEBI)JESD245B.01标准的NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD的偏移1的地址。因此,由解码器135或控制器125通过主机的命令地址中的偏移来识别这些命令,因为所有这些命令都在页面0上。因此,表140可为对应于这些命令的偏移的清单。
一旦解码器135或控制器125确定从主机105发送的命令对应于广告状态(例如,“操作中”指示),就设置广告状态。在实例中,在解码器135将经解码消息提供到控制器125的组件之前修改广告状态。此确保在完成任何其它事情之前修改(例如,正确地设置)广告状态,从而确保控制器125在设置广告状态时作出最快响应。在实例中,将与经解码消息内容同时修改的广告状态提供到控制器125。此处,如果解码器135仅基于消息设置控制器寄存器,那么广告状态寄存器与消息中指定的寄存器同时设置。在此上下文中,同时意味着观察者(例如主机105或控制器125)不可感知寄存器写入的差异,即使一个寄存器实际上可在另一寄存器之前写入。
在实例中,通过设置寄存器来修改广告状态。在实例中,设置寄存器包含设置寄存器中的恰好一个位。在此实例中,可由主机105首先读取寄存器,修改所要位,且回写完整寄存器。在实例中,修改寄存器中的恰好两个位以设置广告状态。在实例中,设置恰好一个位指示操作正在进行中。在实例中,设置恰好两个位指示操作正在进行中(两个位中的一者)及操作指定(两个位中的第二者)。此处,操作指定是操作的类型,例如命令名称、命令系列等。在实例中,寄存器具有页面0-偏移0x61或页面0-偏移0x62中的一者的地址。
NVDIMM 110可任选地包含与主机电力分离的电源150。电源150可经并入到NVDIMM封装中,或经连接到NVDIMM封装(如所说明)。在主机电力发生故障的情况下,电源150可提供电力以使控制器125能够将数据从易失性部分130移动到非易失性部分145。
上文所描述的控制器125或解码器135解决当今系统中使用的存储备份存储器封装中存在的竞赛条件问题,包含关于图2所描述的问题。通过在执行固件以设置广告状态时移除控制器125延迟,且例如将属性到广告状态检查构建到解码器135中,NVDIMM 110确保在主机105可尝试首次读取广告状态之前设置广告状态。
图2说明根据本发明的一些实施方案的包含用于存储备份存储器封装210中的状态管理的系统的环境200的实例。环境200包含主机装置205及存储备份存储器封装210。主机装置205或存储备份存储器封装210可包含于各种产品250中,例如数据中心服务器、个人计算机或物联网(IoT)装置(例如,冰箱或其它设备、传感器、发动机或致动器、移动通信装置、汽车、无人机等)以支持产品250的处理、通信或控制。所述系统可为存储备份存储器封装210或存储备份存储器封装210的组件,例如封装上控制器225。所述系统还可包含主机装置205的存储器控制器220或处理器215。
一或多个通信接口可被用来在存储备份存储器封装210与主机装置205的一或多个其它组件(例如处理器215)之间传送数据。在实例中,DDR4是实施通信接口。在实例中,I2C是实施通信接口。主机装置205可包含主机系统、电子装置、存储器卡读取器,或存储备份存储器封装210外部的一或多个其它电子装置。在一些实例中,主机205可为具有参考图5的机器500所论述的组件的一些部分或全部的机器。
处理器215(其可称为主机)通常指导或协调主机装置205及所包含组件的活动。存储器控制器220支持主机装置205的组件的存储器活动,包含使用存储备份存储器封装210。存储器控制器220可对存储备份存储器封装210提供数据寻址及命令协调。这些活动可包含到(例如,写入或擦除)或从(例如,读取)存储备份存储器封装210的易失性部分的芯片、阶层或存储体的一或多者的数据传送。存储器控制器215可尤其包含电路系统或固件,包括一或多个组件或集成电路。例如,存储器控制器215可包含一或多个存储器控制单元、电路或组件,其经配置以跨存储备份存储器封装210控制存取,且提供主机205与存储备份存储器封装210之间的转译层。存储器控制器215可包含一或多个输入/输出(I/O)电路、线路或接口,以将数据传送到存储备份存储器封装210或从存储备份存储器封装210传送数据。
存储器控制器215可尤其包含电路系统或固件,例如与各种存储器管理功能(例如本文中所描述的消除片段或状态管理技术)相关联的数个组件或集成电路(例如,状态管理组件113)。存储器控制器215可将主机命令(例如,从主机接收的命令)剖析或格式化成装置命令(例如,与存储器阵列的操作相关联的命令等),或针对存储备份存储器封装210或存储备份存储器封装210的一或多个其它组件产生装置命令(例如,以完成各种存储器管理功能)。
存储器控制器215可尤其包含经配置以控制与将数据写入到存储备份存储器封装210的一或多个存储器胞元、从存储备份存储器封装210的一或多个存储器胞元读取数据或擦除存储备份存储器封装210的一或多个存储器胞元相关联的存储器操作的电路系统或组件。例如,存储器操作可基于从主机205接收或由存储器控制器215在内部产生的主机命令(例如,结合消除片段、错误校正、刷新等)。存储器控制器215可包含代码或逻辑以使用标准化协议(或来自标准化协议的特征)(例如GDDR6)进行通信。
除易失性存储器(例如,DRAM或SRAM)及非易失性部分(例如,闪存)之外,存储备份存储器封装210还可包含封装上控制器225。存储备份存储器封装210还可包含板上电源或外部电源230,例如电双层电容器(例如,ELDC、超级电容器、超级电容、超电容器、超电容等)、电池等。电源230可独立于其它主机电源,且当主机电力发生故障时使封装上控制器225能够将数据从存储备份存储器封装210的易失性部分传送到存储备份存储器封装210的非易失性部分。封装上控制器225还可将数据从非易失性部分移动到易失性部分(例如,在主机电力恢复时)或直接提供对非易失性部分的存取。例如,与标准系统存储器装置相比,此最后一种能力可在主机崩溃期间实现更大错误分析。
图3说明根据本发明的一些实施方案的用来在存储备份存储器封装中实施状态管理的实例组件消息传送。所说明的主机、解码器及控制器组件类似于上文所描述者。在实例中,解码器是控制器的I2C总线接口。在此实例中,所说明消息流程区分控制器的解码器部分与控制器的其它部分,例如执行固件以执行其它动作的部分。
通常,竞赛条件解决方案涉及紧接在接收I2C命令之后硬件设置“进行中操作”位。当控制器已完成所讨论操作时,控制器将清除所述位。
主机写入到特定命令寄存器以传达到控制器(消息305)。解码器解码I2C封包(操作310),匹配封包属性与列表以确定命令涉及“进行中操作”状态寄存器位(操作315)且抢先设置对应状态寄存器中的适当位(操作320)。在实例中,设置适当位包含设置忙碌位(例如,位0)及适当状态位。例如,根据JEDEC BAEBI标准:
NVDIMM_FUNC_CMD[x43]、ARM_CMD[x45]、FIRMWARE_OPS_CMD[x4A]、OPERATIONAL_UNIT_OPS_CMD[x4B]→NVDIMM_CMD_STATUS1[x62];或
ES_FUNC_CMD0[0x30]→ES_CMD_STATUS0[0x50]
一旦设置状态位,就通过控制器的其余部分给出命令(消息325)。在实例中,此需要设置状态位以及I2C数据封包中指定的寄存器。在此实例中,解码器可用中断发信号通知控制器的其余部分,或控制器可仅针对改变轮询寄存器。
一旦控制已从解码器移动到控制器,控制器就执行命令(操作330),包含在命令完成期间或之后设置正确状态位。
此处所说明的消息传送及控制流程解决主机与控制器之间的时序问题,此可导致各种操作中的非预期结果。若干NVDIMM操作是关键的,且主机及控制器需要其符合JEDECBAEBI标准。在这些操作中,主机可发出命令(例如,通过I2C接口)且检查状态寄存器位以确定命令何时完成。然而,BAEBI标准未指定命令接收与设置状态寄存器之间的时序(例如,最长完成时间)。在一些境况中,在主机查看位之前,控制器还没来得及设置位。
通过所说明流程解决此问题。解码器基于传入请求设置状态寄存器位,而无需等待控制器(例如,控制器上运行的固件)如此做。在某种意义上,解码器“窥探”传入命令以确定应设置哪个状态寄存器位(如果有)。一旦解码器观察到特定命令,解码器就设置对应“我是忙碌位”。因为BAEBI标准指定控制器需要实施的存储器页面(例如,寄存器位置)的存储器映像,所以解码器可通过匹配传入地址(例如,寄存器及寄存器内的页面偏移)与具有状态位的命令的地址列表来执行窥探。如果存储器地址匹配表条目,那么其具有状态位。例如,页面地址0及页面偏移43识别NVDIMM_FUNC_CMD。在实例中,I2C封包的数据(例如,有效负载)可具有可用于其它状态位的额外信息。
在实例中,查找表是解码器中的寄存器(例如,当实施为ASIC时,所述表在ASIC内)。在实例中,查找表在与控制器共享的存储器中。
图4说明根据本发明的一些实施方案的用于存储备份存储器封装中的状态管理的方法400的实例流程图。方法400的操作经实施于电子硬件中,例如上文关于图1到2及下文关于图5所描述的电子硬件(例如,在电路系统中)。
在操作405,在存储器封装的第一接口处接收经编码消息。此处,存储器封装还包含到主机的第二接口。在实例中,第一接口是根据I2C标准系列操作的总线。在实例中,第二接口是DDR(例如,DDR4)RAM接口。在实例中,存储器封装是NVDIMM。在实例中,NVDIMM是根据JEDEC标准系列的NVDIMM-N类型。
在操作410,解码消息以获得包含属性的经解码消息。在实例中,属性是命令的名称。在实例中,属性是地址。在实例中,地址是页面指定符。在实例中,地址包含页面指定符及偏移两者。
在操作415,比较属性与对应于存储器封装的广告状态的属性集以确定属性是在属性集中。在实例中,广告状态指示存储器控制器是否存在进行中操作。在实例中,广告状态还指示进行中操作的类型。
在实例中,将属性集存储于表中。此处,比较属性与属性集涉及匹配属性与表中的记录以确定属性是在属性集中。在实例中,由JEDEC BAEBI标准系列定义属性集。在实例中,JEDEC BAEBI标准系列包含JESD245B.01标准。
在实例中,属性集具有对应于页面0的单个成员。在实例中,属性集的成员是具有页面指定符0以及对应于根据JEDEC BAEBI JESD245B.01标准的NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD的偏移1的地址。在实例中,属性集具有对应于页面1的单个成员(例如,页面1寄存能源健康检查)。在实例中,属性集的成员是具有页面指定符1及对应于ES_FUNC_CMD0的偏移1的地址。
在操作420,响应于属性是在属性集中的确定而修改存储器封装的广告状态。在实例中,对存储器封装的广告状态的修改发生在非易失性存储器封装中包含的存储器控制器的解码器将经解码消息提供到存储器控制器的组件之前。
在实例中,修改存储器封装的广告状态包含设置存储器封装的寄存器。在实例中,设置寄存器包含设置寄存器中的恰好一个位或恰好两个位。在实例中,一个位设置指示操作正在进行中。在实例中,两个位设置指示操作正在进行中及操作指定两者。在实例中,被设置寄存器具有以下一者的地址:页面0-偏移0x61或页面0-偏移0x62。
图5说明可在其上执行本文中所论述的技术(例如,方法论)中的任一或多者的实例机器500的框图。在替代实施例中,机器500可操作为独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器500可作为服务器-客户端网络环境中的服务器机器、客户端机器或两者而操作。在实例中,机器500可充当对等间(P2P)(或其它分布式)网络环境中的对等机器。机器500可为个人计算机(PC)、平板计算机PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、IoT装置、汽车系统、或能够(循序或以其它方式)执行指定待由所述机器采取的动作的指令的任何机器。此外,虽然仅说明单个机器,但术语“机器”也应被视为包含个别或联合执行一(或多)个指令集以执行本文中所论述的方法论中的任一或多者(例如云端计算、软件即服务(SaaS)、其它计算机丛集配置)的机器的任何集合。
如本文中所描述,实例可包含逻辑、组件、装置、封装或机构,或可由逻辑、组件、装置、封装或机构操作。电路系统(例如,电路集合、处理电路系统等)是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路集合(例如,一组电路)。电路系统成员资格可随着时间及基础硬件可变性而灵活。电路系统包含在操作时可单独或组合地执行特定任务的成员。在实例中,电路系统的硬件可经恒定地设计以实行特定操作(例如,硬接线)。在实例中,电路系统的硬件可包含可变连接的物理组件(例如,执行单元、晶体管、简单电路等),包含物理上经修改(例如,不变质量的粒子磁性、电、可移动放置等)以编码所述特定操作的指令的计算机可读媒体。在连接物理组件中,硬件构成的基础电性质(例如)从绝缘体改变成导体或反之亦然。指令使参与硬件(例如,执行单元或负载机构)能够经由可变连接产生硬件中的电路系统的成员以在操作中实行特定任务的部分。因此,当装置操作时,计算机可读媒体通信地耦合到电路系统的其它组件。在实例中,物理组件中的任一者可用于一个以上电路系统的一个以上成员中。例如,在操作下,执行单元可在一时间点用于第一电路系统的第一电路中且在不同时间由第一电路系统中的第二电路或由第二电路系统中的第三电路再用。
机器(例如,计算机系统)500可包含硬件处理器502(例如,CPU、GPU、硬件处理器核心或其任何组合)、主存储器504及静态存储器506,其中的一些或全部可经由互连(例如,总线)508彼此通信。机器500可进一步包含显示器单元510、字母数字输入装置512(例如,键盘)及用户接口(UI)导览装置514(例如,鼠标)。在实例中,显示器单元510、输入装置512及UI导览装置514可为触摸屏幕显示器。机器500可另外包含信号产生装置518(例如,扬声器)、网络接口装置520及一或多个传感器516,例如全球定位系统(GPS)传感器、罗盘、加速度计或其它传感器。机器500可包含输出控制器528,例如用以通信或控制一或多个外围装置(例如,打印机、读卡器等)的串行(例如,通用串行总线(USB))、并行、或其它有线或无线(例如,红外线(IR)、近场通信(NFC)等)连接。
机器500可包含一或多个机器可读媒体522,其上存储器现本文中所描述的技术或功能中的任一或多者或由本文中所描述的技术或功能中的任一或多者利用的一或多组数据结构或指令524(例如,软件),例如状态控制组件113。机器可读媒体522可包含以下一或多者:主存储器524、静态存储器506及大容量存储装置521。指令524可在由机器500执行期间完全或至少部分地驻留于主存储器504、静态存储器506、大容量存储装置521或硬件处理器502内。在实例中,硬件处理器502、主存储器504、静态存储器506或大容量存储装置521的一者或任一组合可构成机器可读媒体522。
虽然机器可读媒体522被说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令524的单个媒体或多个媒体(例如,集中式或分布式数据库、或相关联高速缓存及服务器)。
术语“机器可读媒体”可包含能够存储、编码或载送通过机器500执行且引起机器500执行本发明的技术中的任一或多者的指令,或能够存储、编码或载送通过此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器、光学及磁性媒体。在实例中,集结型(massed)机器可读媒体包括具有含不变(例如,静止)质量的多个粒子的机器可读媒体。因此,集结型机器可读媒体并非是暂时性传播信号。集结型机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,EPROM、EEPROM)及闪存装置;磁盘,例如内部硬盘及可抽换式磁盘;磁光盘;及CD-ROM及DVD-ROM磁盘。
指令524(例如,软件、程序、操作系统(OS)等)或其它数据经存储于大容量存储装置521上,可通过存储器504存取以供处理器502使用。存储器504(例如,DRAM)通常是快速但易失性的,且因此不同于大容量存储装置521(例如,SSD)的存储类型,大容量存储装置521适于长期存储(包含在“关闭”状态时)。由用户或机器500使用的指令524或数据通常加载于存储器504中以供处理器502使用。当存储器504已满时,可分配来自大容量存储装置521的虚空间以补充存储器504;然而,因为大容量存储装置521通常慢于存储器504,且写入速度通常是读取速度的至少1/2,所以使用虚拟存储器可大大地减少归因于存储装置延时的用户体验(相比于存储器504,例如,DRAM)。此外,将大容量存储装置521用于虚拟存储器可大大地减少大容量存储装置521的可用使用期限。
相比于虚拟存储器,虚拟存储器压缩(例如,内核特征“ZRAM”)使用存储器的部分作为经压缩块存储装置以避免分页到大容量存储装置521。分页在经压缩块中发生直到必须将此数据写入到大容量存储装置521。虚拟存储器压缩增加存储器504的可用大小,同时减少大容量存储装置521上的耗损。
针对移动电子装置优化的存储装置或移动存储装置传统上包含MMC固态存储装置(例如,微型安全数字(microSDTM)卡等)。MMC装置包含连接主机装置的数个并行接口(例如,8位并行接口),且通常是可从所述主机装置卸除及分离的组件。相比而言,eMMCTM装置附接到电路板且被视为主机装置的组件,所述组件具有匹敌基于串行ATATM(串行AT(高级技术)附接,或SATA)的SSD装置的读取速度。然而,对于移动装置性能的需求持续增加,例如完全启用虚拟或扩增实境装置,利用增加的网络速度及类似物。响应于此需求,存储装置已从并行通信接口转换到串行通信接口。通用闪存存储(UFS)装置(包含控制器及固件)使用具有专用读取/写入路径的低电压差动信令(LVDS)串行接口与主机装置通信,从而进一步达到更大读取/写入速度。
可进一步通过通信网络526,使用传输媒体,经由利用数个传送协议中的任一者(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据块协议(UDP)、超文本传送协议(HTTP)等)的网络接口装置520来传输或接收指令524。实例通信网络可包含局域网络(LAN)、广域网(WAN)、封包数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络,及无线数据网络(例如,电气及电子工程师协会(IEEE)802.11系列标准(称为)、IEEE 802.16系列标准(称为)、IEEE 802.15.4系列标准)、对等间(P2P)网络,等等。在实例中,网络接口装置520可包含一或多个物理插孔(例如,以太网络、同轴或电话插孔)或一或多个天线,以连接到通信网络526。在实例中,网络接口装置520可包含多个天线,以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术的至少一者来进行无线通信。术语“传输媒体”应被视为包含能够存储、编码或载送由机器500执行的指令的任何无形媒体,且包含促进此软件的通信的数字或模拟通信信号或其它无形媒体。
额外实例:
实例1是一种用于存储备份存储器封装中的状态管理的存储器封装,存储器封装包括:易失性部分;非易失性部分;第一接口,其用来接收经编码消息;第二接口,其用来与主机通信;及第一接口的解码器,解码器用来:解码所述消息以获得包含属性的经解码消息;比较属性与属性集以确定属性是在属性集中,属性集对应于存储器封装的广告状态;及响应于属性是在属性集中的确定而修改存储器封装的广告状态。
在实例2中,实例1的标的物包含,其中第一接口是根据I2C标准系列操作的总线。
在实例3中,实例1到2的标的物包含,其中第二接口是双倍数据速率(DDR)随机存取存储器(RAM)接口。
在实例4中,实例3的标的物包含,其中存储器封装是非易失性双列直插存储器模块(NVDIMM)。
在实例5中,实例4的标的物包含,其中NVDIMM是根据联合电子装置工程委员会(JEDEC)标准系列的NVDIMM-N类型。
在实例6中,实例1到5的标的物包含存储器控制器,其中解码器用来在解码器将经解码消息提供到存储器控制器的组件之前修改存储器封装的广告状态。
在实例7中,实例1到6的标的物包含,其中为了修改存储器封装的广告状态,解码器设置存储器封装的寄存器。
在实例8中,实例7的标的物包含,其中为了设置寄存器,解码器设置寄存器中恰好一个位或寄存器中恰好两个位,其中一个位指示进行中操作,且两个位指示操作正在进行中及操作指定两者。
在实例9中,实例7到8的标的物包含,其中寄存器具有页面0-偏移0x61或页面0-偏移0x62中的一者的地址。
在实例10中,实例1到9的标的物包含存储器控制器,其中广告状态指示存储器控制器是否存在进行中操作。
在实例11中,实例10的标的物包含,其中广告状态还指示进行中操作的类型。
在实例12中,实例1到11的标的物包含,其中由联合电子装置工程委员会(JEDEC)字节可寻址能量备份接口(BAEBI)标准系列定义属性集。
在实例13中,实例12的标的物包含,其中JEDEC BAEBI标准系列包含JESD245B.01标准。
在实例14中,实例1到13的标的物包含,其中属性是命令的名称。
在实例15中,实例1到14的标的物包含,其中属性是地址。
在实例16中,实例15的标的物包含,其中地址是页面指定符。
在实例17中,实例16的标的物包含,其中属性集具有对应于页面0的单个成员。
在实例18中,实例15到17的标的物包含,其中地址包含页面指定符及偏移两者。
在实例19中,实例18的标的物包含,其中属性集的成员是具有页面指定符0以及对应于根据联合电子装置工程委员会(JEDEC)字节可寻址能量备份接口(BAEBI)JESD245B.01标准的NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD的偏移1的地址。
在实例20中,实例1到19的标的物包含,其中将属性集存储于表中,且其中比较属性与属性集包含匹配属性与表中的记录以确定属性是在属性集中。
实例21是一种用于存储备份存储器封装中的状态管理的方法,所述方法包括:在存储器封装的第一接口处接收经编码消息,存储器封装包含到主机的第二接口;解码所述消息以获得包含属性的经解码消息;比较属性与属性集以确定属性是在属性集中,属性集对应于存储器封装的广告状态;及响应于属性是在属性集中的确定而修改存储器封装的广告状态。
在实例22中,实例21的标的物包含,其中第一接口是根据I2C标准系列操作的总线。
在实例23中,实例21到22的标的物包含,其中第二接口是双倍数据速率(DDR)随机存取存储器(RAM)接口。
在实例24中,实例23的标的物包含,其中存储器封装是非易失性双列直插存储器模块(NVDIMM)。
在实例25中,实例24的标的物包含,其中NVDIMM是根据联合电子装置工程委员会(JEDEC)标准系列的NVDIMM-N类型。
在实例26中,实例21到25的标的物包含,其中修改存储器封装的广告状态发生在非易失性存储器封装中包含的存储器控制器的解码器将经解码消息提供到存储器控制器的组件之前。
在实例27中,实例21到26的标的物包含,其中修改存储器封装的广告状态包含设置存储器封装的寄存器。
在实例28中,实例27的标的物包含,其中设置寄存器包含设置寄存器中的恰好一个位或寄存器中的恰好两个位,其中一个位指示进行中操作且两个位指示操作正在进行中及操作指定两者。
在实例29中,实例27到28的标的物包含,其中寄存器具有页面0-偏移0x61或页面0-偏移0x62中的一者的地址。
在实例30中,实例21到29的标的物包含,其中广告状态指示非易失性存储器封装中包含的存储器控制器是否存在进行中操作。
在实例31中,实例30的标的物包含,其中广告状态还指示进行中操作的类型。
在实例32中,实例21到31的标的物包含,其中由联合电子装置工程委员会(JEDEC)字节可寻址能量备份接口(BAEBI)标准系列定义属性集。
在实例33中,实例32的标的物包含,其中JEDEC BAEBI标准系列包含JESD245B.01标准。
在实例34中,实例21到33的标的物包含,其中属性是命令的名称。
在实例35中,实例21到34的标的物包含,其中属性是地址。
在实例36中,实例35的标的物包含,其中地址是页面指定符。
在实例37中,实例36的标的物包含,其中属性集具有对应于页面0的单个成员。
在实例38中,实例35到37的标的物包含,其中地址包含页面指定符及偏移两者。
在实例39中,实例38的标的物包含,其中属性集的成员是具有页面指定符0以及对应于根据联合电子装置工程委员会(JEDEC)字节可寻址能量备份接口(BAEBI)JESD245B.01标准的NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD的偏移1的地址。
在实例40中,实例21到39的标的物包含,其中将属性集存储于表中,且其中比较属性与属性集包含匹配属性与表中的记录以确定属性是在属性集中。
实例41是至少一种包含用于存储备份存储器封装中的状态管理的指令的机器可读媒体,所述指令在由处理电路系统或存储器封装执行时使存储器封装执行包括以下各者的操作:在存储器封装的第一接口处接收经编码消息,存储器封装包含到主机的第二接口;解码所述消息以获得包含属性的经解码消息;比较属性与属性集以确定属性是在属性集中,属性集对应于存储器封装的广告状态;及响应于属性是在属性集中的确定而修改存储器封装的广告状态。
在实例42中,实例41的标的物包含,其中第一接口是根据I2C标准系列操作的总线。
在实例43中,实例41到42的标的物包含,其中第二接口是双倍数据速率(DDR)随机存取存储器(RAM)接口。
在实例44中,实例43的标的物包含,其中存储器封装是非易失性双列直插存储器模块(NVDIMM)。
在实例45中,实例44的标的物包含,其中NVDIMM是根据联合电子装置工程委员会(JEDEC)标准系列的NVDIMM-N类型。
在实例46中,实例41到45的标的物包含,其中修改存储器封装的广告状态发生在非易失性存储器封装中包含的存储器控制器的解码器将经解码消息提供到存储器控制器的组件之前。
在实例47中,实例41到46的标的物包含,其中修改存储器封装的广告状态包含设置存储器封装的寄存器。
在实例48中,实例47的标的物包含,其中设置寄存器包含设置寄存器中的恰好一个位或寄存器中的恰好两个位,其中一个位指示进行中操作且两个位指示操作正在进行中及操作指定两者。
在实例49中,实例47到48的标的物包含,其中寄存器具有页面0-偏移0x61或页面0-偏移0x62中的一者的地址。
在实例50中,实例41到49的标的物包含,其中广告状态指示非易失性存储器封装中包含的存储器控制器是否存在进行中操作。
在实例51中,实例50的标的物包含,其中广告状态还指示进行中操作的类型。
在实例52中,实例41到51的标的物包含,其中由联合电子装置工程委员会(JEDEC)字节可寻址能量备份接口(BAEBI)标准系列定义属性集。
在实例53中,实例52的标的物包含,其中JEDEC BAEBI标准系列包含JESD245B.01标准。
在实例54中,实例41到53的标的物包含,其中属性是命令的名称。
在实例55中,实例41到54的标的物包含,其中属性是地址。
在实例56中,实例55的标的物包含,其中地址是页面指定符。
在实例57中,实例56的标的物包含,其中属性集具有对应于页面0的单个成员。
在实例58中,实例55到57的标的物包含,其中地址包含页面指定符及偏移两者。
在实例59中,实例58的标的物包含,其中属性集的成员是具有页面指定符0以及对应于根据联合电子装置工程委员会(JEDEC)字节可寻址能量备份接口(BAEBI)JESD245B.01标准的NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD的偏移1的地址。
在实例60中,实例41到59的标的物包含,其中将属性集存储于表中,且其中比较属性与属性集包含匹配属性与表中的记录以确定属性是在属性集中。
实例61是一种用于一存储备份存储器封装中的状态管理的系统,所述系统包括:用于在存储器封装的第一接口处接收经编码消息的构件,存储器封装包含到主机的第二接口;用于解码所述消息以获得包含属性的经解码消息的构件;用于比较属性与属性集以确定属性是在属性集中的构件,属性集对应于存储器封装的广告状态;及用于响应于属性是在属性集中的确定而修改存储器封装的广告状态的构件。
在实例62中,实例61的标的物包含,其中第一接口是根据I2C标准系列操作的总线。
在实例63中,实例61到62的标的物包含,其中第二接口是双倍数据速率(DDR)随机存取存储器(RAM)接口。
在实例64中,实例63的标的物包含,其中存储器封装是非易失性双列直插存储器模块(NVDIMM)。
在实例65中,实例64的标的物包含,其中NVDIMM是根据联合电子装置工程委员会(JEDEC)标准系列的NVDIMM-N类型。
在实例66中,实例61到65的标的物包含,其中修改存储器封装的广告状态发生在非易失性存储器封装中包含的存储器控制器的解码器将经解码消息提供到存储器控制器的组件之前。
在实例67中,实例61到66的标的物包含,其中用于修改存储器封装的广告状态的构件包含用于设置存储器封装的寄存器的构件。
在实例68中,实例67的标的物包含,其中用于设置寄存器的构件包含用于设置寄存器中的恰好一个位或寄存器中的恰好两个位的构件,其中一个位指示进行中操作且两个位指示操作正在进行中及操作指定两者。
在实例69中,实例67到68的标的物包含,其中寄存器具有页面0-偏移0x61或页面0-偏移0x62中的一者的地址。
在实例70中,实例61到69的标的物包含,其中广告状态指示非易失性存储器封装中包含的存储器控制器是否存在进行中操作。
在实例71中,实例70的标的物包含,其中广告状态还指示进行中操作的类型。
在实例72中,实例61到71的标的物包含,其中由联合电子装置工程委员会(JEDEC)字节可寻址能量备份接口(BAEBI)标准系列定义属性集。
在实例73中,实例72的标的物包含,其中JEDEC BAEBI标准系列包含JESD245B.01标准。
在实例74中,实例61到73的标的物包含,其中属性是命令的名称。
在实例75中,实例61到74的标的物包含,其中属性是地址。
在实例76中,实例75的标的物包含,其中地址是页面指定符。
在实例77中,实例76的标的物包含,其中属性集具有对应于页面0的单个成员。
在实例78中,实例75-77的标的物包含,其中地址包含页面指定符及偏移两者。
在实例79中,实例78的标的物包含,其中属性集的成员是具有页面指定符0以及对应于根据联合电子装置工程委员会(JEDEC)字节可寻址能量备份接口(BAEBI)JESD245B.01标准的NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD的偏移1的地址。
在实例80中,实例61到79的标的物包含,其中将属性集存储于表中,且其中比较属性与属性集包含匹配属性与表中的记录以确定属性是在属性集中。
实例81是至少一种包含指令的机器可读媒体,所述指令在由处理电路系统执行时使处理电路系统执行操作以实施实例1到80中任一实例。
实例82是一种包括用来实施实例1到80中任一实例的构件的设备。
实例83是一种用来实施实例1到80中任一实例的系统。
实例84是一种用来实施实例1到80中任一实例的方法。
上文实施方式包含对形成实施方式的一部分的随附图式的参考。图式通过说明的方式展示可实践本发明的特定实施例。这些实施例在本文中也称为“实例”。此类实例可包含除所展示或所描述元件之外的元件。然而,本发明人还预期其中仅提供那些所展示或所描述元件的实例。此外,本发明人还预期使用关于特定实例(或其一或多个方面)或关于本文中所展示或所描述的其它实例(或其一或多个方面)所展示或所描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本发明中,在专利文件中常使用术语“一(a或an)”来包含一个或一个以上,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在本发明中,使用术语“或”是指非排他性“或”,使得“A或B”包含“A但非B”、“B但非A”及“A及B”,除非另有指示。在随附权利要求书中,术语“包含”及“其中(in which)”用作相应术语“包括”及“其中(wherein)”的普通英语等效形式。而且,在以下权利要求书中,术语“包含”及“包括”是开放式的,即,在权利要求中除列于此术语之后的那些元件之外还包含若干元件的系统、装置、对象、或过程仍被视为在所述权利要求的范围内。此外,在以下权利要求书中,术语“第一”、“第二”及“第三”等仅用作标签,并不希望对其对象强加数字要求。
如本文中所使用,操作存储器胞元包含从所述存储器胞元读取、写入到所述存储器胞元或擦除所述存储器胞元。将存储器胞元放置于预期状态中的操作在本文中被称为“编程”,且可包含写入到所述存储器胞元或从所述存储器胞元擦除两者(例如,所述存储器胞元可经编程到经擦除状态)。
将理解,当元件被称为在另一元件“上”、“连接到”另一元件或与另一元件“耦合”时,其可直接在所述另一元件上、连接到所述另一元件或与所述另一元件耦合或可存在中介元件。相比而言,当元件被称为“直接在另一元件上”、“直接连接到”另一元件或“直接与另一元件耦合”时,不存在中介元件或层。除非另有指示,否则如果两个元件在图式中展示为用线连接其,那么所述两个元件可耦合或直接耦合。
上文描述希望是说明性而非限制性。举例来说,上文所述的实例(或其一或多个方面)可彼此组合使用。在检视上文描述后,例如所属领域的一般技术人员可使用其它实施例。主张了解其并非用于解释或限制权利要求书的范围或含义。此外,在上文实施方式中,各种特征可集合在一起以简化本发明。此不应被解译为期望未主张的揭示特征是任何权利要求的关键。实情是,本发明标的物可能在于少于特定揭示实施例的全部特征。因此,权利要求书在此并入实施方式中,其中每一权利要求自身作为单独实施例,且预期此类实施例可以各种组合或排列彼此组合。应参考随附权利要求书连同此类权利要求所授权的等效物的全范围来确定实施例的范围。
Claims (20)
1.一种硬件存储器,其包括:
存储器控制器;
易失性部分;
非易失性部分;
第一接口,其使所述存储器控制器和主机之间能够通信,所述第一接口从所述主机接收经编码消息;
第二接口,其使所述易失性部分与所述主机之间能够通信;及
解码器,其耦合到所述第一接口,所述解码器用来执行包括以下各者的操作:
解码所述经编码消息以获得经解码消息,所述经解码消息包括写入到所述存储器控制器的命令寄存器的命令且进一步包括属性;
在将所述经解码消息提供到所述存储器控制器的组件以执行写入到所述命令寄存器的所述命令之前:
检验所述经解码消息以确定写入到所述命令寄存器的所述命令是否涉及对应于所述硬件存储器的广告状态的操作,检验所述经解码消息包括通过比较所述属性与属性集而确定所述属性是否在对应于所述广告状态的所述属性集中,所述主机能够经由所述第一接口存取所述广告状态;及
响应于确定所述属性是在所述属性集中而修改所述硬件存储器的所述广告状态;及
将所述经解码消息提供到所述存储器控制器的所述组件。
2.根据权利要求1所述的硬件存储器,其中所述第二接口是双倍数据速率DDR随机存取存储器RAM接口。
3.根据权利要求2所述的硬件存储器,其中所述硬件存储器是非易失性双列直插存储器模块NVDIMM。
4.根据权利要求1所述的硬件存储器,其中所述广告状态指示所述存储器控制器是否正在进行所述操作。
5.根据权利要求1所述的硬件存储器,其中由联合电子装置工程委员会JEDEC字节可寻址能量备份接口BAEBI标准系列定义所述属性集。
6.根据权利要求1所述的硬件存储器,其中所述属性是地址。
7.根据权利要求6所述的硬件存储器,其中所述地址是页面指定符。
8.一种状态管理方法,其包括:
在硬件存储器封装的第一接口处从主机接收经编码消息,所述第一接口使存储器控制器和所述主机之间能够通信,所述硬件存储器封装包括所述存储器控制器及使所述硬件存储器封装的易失性部分与所述主机之间能够通信的第二接口;
解码所述经编码消息以获得经解码消息,所述经解码消息包括写入到所述存储器控制器的命令寄存器的命令且进一步包括属性;
在将所述经解码消息提供到所述存储器控制器的组件以执行写入到所述命令寄存器的所述命令之前:
检验所述经解码消息以确定写入到所述命令寄存器的所述命令是否涉及对应于所述硬件存储器封装的广告状态的操作,检验所述经解码消息包括通过比较所述属性与属性集而确定所述属性是否在对应于所述广告状态的所述属性集中,所述主机能够经由所述第一接口存取所述广告状态;及
响应于确定所述属性是在所述属性集中而修改所述硬件存储器封装的所述广告状态;及
将所述经解码消息提供到所述存储器控制器的所述组件。
9.根据权利要求8所述的方法,其中所述第二接口是双倍数据速率DDR随机存取存储器RAM接口。
10.根据权利要求9所述的方法,其中所述硬件存储器封装是非易失性双列直插存储器模块NVDIMM。
11.根据权利要求8所述的方法,其中所述广告状态指示所述存储器控制器是否正在进行所述操作。
12.根据权利要求8所述的方法,其中由联合电子装置工程委员会JEDEC字节可寻址能量备份接口BAEBI标准系列定义所述属性集。
13.根据权利要求8所述的方法,其中所述属性是地址。
14.根据权利要求13所述的方法,其中所述地址是页面指定符。
15.一种包含指令的非暂时性机器可读介质,所述指令在由硬件存储器封装的处理电路系统执行时,使所述硬件存储器封装执行包括以下各者的操作:
在所述硬件存储器封装的第一接口处从主机接收经编码消息,所述第一接口使存储器控制器和所述主机之间能够通信,所述硬件存储器封装包括所述存储器控制器及使所述硬件存储器封装的易失性部分与所述主机之间能够通信的第二接口;
解码所述经编码消息以获得经解码消息,所述经解码消息包括写入到所述存储器控制器的命令寄存器的命令且进一步包括属性;
在将所述经解码消息提供到所述存储器控制器的组件以执行写入到所述命令寄存器的所述命令之前:
检验所述经解码消息以确定写入到所述命令寄存器的所述命令是否涉及对应于所述硬件存储器封装的广告状态的操作,检验所述经解码消息包括通过比较所述属性与属性集而确定所述属性是否在对应于所述广告状态的所述属性集中,所述主机能够经由所述第一接口存取所述广告状态;及
响应于确定所述属性是在所述属性集中而修改所述硬件存储器封装的所述广告状态;及
将所述经解码消息提供到所述存储器控制器的所述组件。
16.根据权利要求15所述的一种非暂时性机器可读介质,其中所述第二接口是双倍数据速率DDR随机存取存储器RAM接口。
17.根据权利要求16所述的一种非暂时性机器可读介质,其中所述硬件存储器封装是非易失性双列直插存储器模块NVDIMM。
18.根据权利要求15所述的一种非暂时性机器可读介质,其中所述广告状态指示所述存储器控制器是否正在进行所述操作。
19.根据权利要求15所述的一种非暂时性机器可读介质,其中所述属性是地址。
20.根据权利要求19所述的一种非暂时性机器可读介质,其中所述地址是页面指定符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210498737.5A CN114816259A (zh) | 2018-02-08 | 2019-01-31 | 存储备份存储器封装中的状态管理 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862627949P | 2018-02-08 | 2018-02-08 | |
US62/627,949 | 2018-02-08 | ||
US16/054,144 | 2018-08-03 | ||
US16/054,144 US10838637B2 (en) | 2018-02-08 | 2018-08-03 | Status management in storage backed memory package |
PCT/US2019/016009 WO2019156883A1 (en) | 2018-02-08 | 2019-01-31 | Status management in storage backed memory package |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210498737.5A Division CN114816259A (zh) | 2018-02-08 | 2019-01-31 | 存储备份存储器封装中的状态管理 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111886572A CN111886572A (zh) | 2020-11-03 |
CN111886572B true CN111886572B (zh) | 2022-05-24 |
Family
ID=67476692
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980017544.XA Active CN111886572B (zh) | 2018-02-08 | 2019-01-31 | 存储备份存储器封装中的状态管理 |
CN202210498737.5A Pending CN114816259A (zh) | 2018-02-08 | 2019-01-31 | 存储备份存储器封装中的状态管理 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210498737.5A Pending CN114816259A (zh) | 2018-02-08 | 2019-01-31 | 存储备份存储器封装中的状态管理 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10838637B2 (zh) |
EP (1) | EP3750047A4 (zh) |
CN (2) | CN111886572B (zh) |
TW (1) | TWI704489B (zh) |
WO (1) | WO2019156883A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11403159B2 (en) * | 2018-01-31 | 2022-08-02 | Hewlett Packard Enterprise Development Lp | Device carrier assemblies |
US11132042B2 (en) | 2018-01-31 | 2021-09-28 | Hewlett Packard Enterprise Development Lp | Drive carrier assemblies |
US10838637B2 (en) | 2018-02-08 | 2020-11-17 | Micron Technology, Inc. | Status management in storage backed memory package |
US11803470B2 (en) * | 2020-09-25 | 2023-10-31 | Advanced Micro Devices, Inc. | Multi-level cache coherency protocol for cache line evictions |
CN115705149A (zh) * | 2021-08-05 | 2023-02-17 | 三星电子株式会社 | 近存储器处理模块、与主机系统的同步方法和存储器系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126447A (zh) * | 2015-05-07 | 2016-11-16 | 三星电子株式会社 | 控制存储装置的方法、存储器模块和存储系统 |
CN106484571A (zh) * | 2015-08-28 | 2017-03-08 | 株式会社东芝 | 存储装置和存储控制方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6510503B2 (en) | 1998-07-27 | 2003-01-21 | Mosaid Technologies Incorporated | High bandwidth memory interface |
JP4451705B2 (ja) * | 2004-04-26 | 2010-04-14 | 株式会社日立製作所 | ストレージ装置、これを備えたストレージシステム、このシステムのデータ管理方法、及びストレージ装置のコントローラ実行プログラム |
US7398348B2 (en) | 2004-08-24 | 2008-07-08 | Sandisk 3D Llc | Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory |
KR102025088B1 (ko) * | 2012-09-03 | 2019-09-25 | 삼성전자 주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치 |
KR102156284B1 (ko) | 2013-11-27 | 2020-09-15 | 에스케이하이닉스 주식회사 | 메모리 및 이를 포함하는 메모리 모듈 |
US10387259B2 (en) | 2015-06-26 | 2019-08-20 | Intel Corporation | Instant restart in non volatile system memory computing systems with embedded programmable data checking |
KR20170012675A (ko) | 2015-07-22 | 2017-02-03 | 삼성전자주식회사 | 컴퓨팅 시스템 및 그것의 데이터 전송 방법 |
US10031674B2 (en) | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
JP2018014050A (ja) * | 2016-07-22 | 2018-01-25 | 東芝メモリ株式会社 | メモリシステム |
US10241931B2 (en) | 2016-07-29 | 2019-03-26 | Advanced Micro Devices, Inc. | Controlling access to pages in a memory in a computing device |
US10509736B2 (en) * | 2016-07-29 | 2019-12-17 | Advanced Micro Devices, Inc. | Controlling access by IO devices to pages in a memory in a computing device |
US9971537B1 (en) * | 2016-10-26 | 2018-05-15 | Pure Storage, Inc. | Hardware support to track and transition flash LUNs into SLC mode |
US10838637B2 (en) | 2018-02-08 | 2020-11-17 | Micron Technology, Inc. | Status management in storage backed memory package |
-
2018
- 2018-08-03 US US16/054,144 patent/US10838637B2/en active Active
-
2019
- 2019-01-31 WO PCT/US2019/016009 patent/WO2019156883A1/en unknown
- 2019-01-31 EP EP19750433.5A patent/EP3750047A4/en active Pending
- 2019-01-31 CN CN201980017544.XA patent/CN111886572B/zh active Active
- 2019-01-31 CN CN202210498737.5A patent/CN114816259A/zh active Pending
- 2019-02-01 TW TW108104311A patent/TWI704489B/zh active
-
2020
- 2020-09-29 US US17/036,866 patent/US11442638B2/en active Active
-
2022
- 2022-08-25 US US17/895,766 patent/US11934671B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126447A (zh) * | 2015-05-07 | 2016-11-16 | 三星电子株式会社 | 控制存储装置的方法、存储器模块和存储系统 |
CN106484571A (zh) * | 2015-08-28 | 2017-03-08 | 株式会社东芝 | 存储装置和存储控制方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3750047A1 (en) | 2020-12-16 |
US20210026549A1 (en) | 2021-01-28 |
EP3750047A4 (en) | 2021-10-27 |
US20220404992A1 (en) | 2022-12-22 |
CN114816259A (zh) | 2022-07-29 |
TW201945920A (zh) | 2019-12-01 |
US20190243568A1 (en) | 2019-08-08 |
US11442638B2 (en) | 2022-09-13 |
US10838637B2 (en) | 2020-11-17 |
WO2019156883A1 (en) | 2019-08-15 |
CN111886572A (zh) | 2020-11-03 |
TWI704489B (zh) | 2020-09-11 |
US11934671B2 (en) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111886572B (zh) | 存储备份存储器封装中的状态管理 | |
CN111819539B (zh) | 存储备份存储器封装中的固件更新 | |
US20200226019A1 (en) | Memory controller implemented error correction code memory | |
US8719492B1 (en) | Non-volatile storage module having magnetic random access memory (MRAM) with a buffer window | |
US20130159604A1 (en) | Memory storage device and memory controller and data writing method thereof | |
US11579979B2 (en) | Storage backed memory package save trigger | |
US11782643B2 (en) | Partial execution of a write command from a host system | |
US10496317B2 (en) | Memory system including memories having different characteristics and operation method thereof | |
US20190065088A1 (en) | Random access memory power savings | |
CN117194004A (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 |