CN106462520A - 用于与非易失性双列直插式存储器模块的控制器通信的技术 - Google Patents

用于与非易失性双列直插式存储器模块的控制器通信的技术 Download PDF

Info

Publication number
CN106462520A
CN106462520A CN201580028986.6A CN201580028986A CN106462520A CN 106462520 A CN106462520 A CN 106462520A CN 201580028986 A CN201580028986 A CN 201580028986A CN 106462520 A CN106462520 A CN 106462520A
Authority
CN
China
Prior art keywords
nvdimm
collection
order
controller
register set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580028986.6A
Other languages
English (en)
Other versions
CN106462520B (zh
Inventor
S.贾亚库马
M.J.库马
A.J.布鲁克斯
G.弗吉斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN106462520A publication Critical patent/CN106462520A/zh
Application granted granted Critical
Publication of CN106462520B publication Critical patent/CN106462520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Systems (AREA)

Abstract

示例可包括通过系统管理总线(SMBus)接口与对于非易失性双列直插式存储器模块的控制器通信。在一些示例中,通过SMBus接口而可访问的寄存器中维持的位的选择性断言可实现与控制器通信。选择性断言可基于寄存器图。

Description

用于与非易失性双列直插式存储器模块的控制器通信的技术
技术领域
本文描述的示例大体上涉及用于非易失性双列直插式存储器模块(NVDIMM)。
背景技术
与计算平台或系统耦合的存储器模块(例如配置为服务器的那些)可能包括双列直插式存储器模块(DIMM)。DIMM可能包括例如动态随机存取存储器(DRAM)等易失性存储器类型。随着DRAM技术发展到包括具有越来越高密度的存储器单元,DIMM的存储器容量也大大增加。因为DRAM是易失性存储器,如果不是所有数据在断电或复位时都维持在DRAM中,断电或复位可能导致丢失数据中的大部分。DRAM的大存储器容量也对操作系统(OS)或应用(例如,设备驱动器)感测断电且试图防止或减少数据丢失提出挑战。
为了在断电或复位情况下减轻或减少数据丢失,开发这样类型的存储器模块,其包括易失性存储器和非易失性存储器两者。该类型的存储器模块统称为非易失性DIMM(NVDIMM)。典型地,NVDIMM是DRAM和NAND闪存的组合。NVDIMM可在断电或突然系统复位情况下通过在非易失性存储器中备份DRAM内容来提供持久存储。超级电容器封装可与NVDIMM耦合来持续长到足以将数据从DRAM备份到非易失性存储器的时间维持对NVDIMM供电。
NVDIMM可能具有驻存在NVDIMM上或与之一起驻存的控制器来管理或控制NVDIMM活动。NVDIMM控制器可管理DRAM内容到NVDIMM处的非易失性存储器的保存。一旦恢复系统电力,NVDIMM控制器还可管理DRAM内容从非易失性存储器恢复回DRAM。NVDIMM控制器可设置成与和NVDIMM耦合的计算平台的OS、设备驱动器、应用或基本输入/输出系统(BIOS)协调操作。
附图说明
图1图示示例系统。
图2图示第一示例寄存器图部分。
图3图示第二示例寄存器图部分。
图4图示第三示例寄存器图部分。
图5图示第四示例寄存器图部分。
图6图示第五示例寄存器图部分。
图7图示第六示例寄存器图部分。
图8图示第七示例寄存器图部分。
图9图示第八示例寄存器图部分。
图10图示第一示例序列。
图11图示第二示例序列。
图12图示第三示例序列。
图13图示第一装置的示例框图。
图14图示第一逻辑流的示例。
图15图示第一存储介质的示例。
图16图示第二装置的示例框图。
图17图示第二逻辑流的示例。
图18图示第二存储介质的示例。
图19图示示例计算平台。
图20图示示例非易失性双列直插式存储器模块控制器。
具体实施方式
如在本公开中预想的,NVDIMM可具有NVDIMM控制器,其设置成与和NVDIMM耦合的计算平台的OS、设备驱动器、应用或BIOS协调操作。在一些实例中,应用、设备驱动器和/或BIOS可以通过一个或多个通信接口与NVDIMM控制器通信。在与NVDIMM控制器接口或通信时,应用、设备驱动器和/或BIOS可以向NVDIMM控制器发出命令以将DRAM内容保存到NVDIMM处的非易失性存储器、将非易失性存储器内容恢复到DRAM等。NVDIMM的许多制造商可实现他们自己的专用接口来与例如应用、设备驱动器和/或BIOS等计算平台元件通信。许多专用接口的使用可阻碍互操作性并且对于设计成支持NVDIMM的计算平台元件(例如应用、设备驱动器和/或BIOS)的设计者可成问题。本发明关于本文描述的示例所需要的这些和其他挑战。
与NVDIMM的控制器通信的技术可以经由一个或多个示例方法实现。第一示例方法可以包括控制器接收状态请求。控制器可以针对能够保持易失性存储器中维持的数据的非易失性存储器,该非易失性存储器和易失性存储器驻存在NVDIMM上。状态可由控制器响应于状态请求而确定并且经由第一寄存器集中维持的第一位集的选择性断言来指示状态。对于该第一示例方法,第一寄存器集可通过系统管理总线(SMBus)接口而对状态请求(例如,应用、设备驱动器或BIOS)的请求者可访问。
第二示例可以包括设备驱动器,其设置成由主机计算设备处的电路实现。该设备驱动器可以向能够保持易失性存储器中维持的数据的非易失性存储器的控制器发送状态请求,该非易失性和易失性存储器可以驻存在与主机计算平台耦合的NVDIMM上。对于该第二示例方法,设备驱动器可以通过SMBus接口访问第一寄存器集中维持的第一位集。该第一位集可以响应于状态请求经由基于寄存器图对第一位集的选择性断言来指示由控制器提供的状况。
图1图示示例系统100。如在图1中示出的,系统100包括主机计算平台110,其经由通信信道115耦合于非易失性双列直插式存储器模块(NVDIMM)105。同样在图1中示出的,电容器组170可以经由电力线177耦合于NVDIMM 105。在一些示例中,如在图1中示出的,NVDIMM 105还可以包括主机接口120、NVDIMM控制器130、控制开关140、易失性存储器150或非易失性存储器160。
在一些示例中,主机计算平台110可以包括电路112,其能够执行主机计算平台110的各种功能元件,这些功能元件可以包括但不限于基本输入/输出系统(BIOS)114、设备驱动器116或应用(App)118。对于这些示例,主机计算平台110可以包括但不限于服务器、服务器阵列或服务器场、web服务器、网络服务器、互联网服务器、工作站、微型计算机、主计算机、超级计算机、网络家电、web家电、分布式计算系统、多处理器系统、基于处理器的系统或其组合。
根据一些示例,如在图1中示出的,NVDIMM 105处的主机接口120可以包括系统管理总线(SMBus)接口122和存储器接口124。SMBus接口122可以与2000年8月发布的SMBus规范、版本2.0(“SMBus规范”)兼容地设计或操作。如在下文更多描述的,主机计算平台110的元件可以通过SMBus接口122与NVDIMM控制器130通信。计算平台110的元件还可以通过存储器接口124通过控制信道127、通过控制开关140并且然后通过控制信道147访问易失性存储器150。在一些示例中,对易失性存储器150的访问可以由控制器开关140通过控制信道137切换到NVDIMM控制器130以使用在易失性存储器150与非易失性存储器160之间耦合的存储器信道155将易失性存储器150的内容从非易失性存储器160保存或恢复或保存或恢复到易失性存储器160。
根据一些示例,如在图1中示出的,NVDIMM控制器130可以包括寄存器132和电路134。电路134可以能够执行部件或特征以从主机计算平台110的元件接收状态请求。如在下文更多描述的,状态请求可以关于NVDIMM控制器130或NVDIMM 105的其他元件(例如,非易失性存储器160)的状态。部件或特征还可以能够响应于状态请求确定状态并且然后经由基于寄存器图对寄存器132中维持的位的选择性断言来指示该状态。主机计算平台110的请求元件(请求者)(例如设备驱动器116)可以通过SMBus接口122并且通过通信链路125访问寄存器132以确定断言哪些位。请求者然后可以使用寄存器图来确定由电路134实现的部件或特征指示什么状态。
在一些示例中,易失性存储器150可以包括这样的易失性存储器,其与各种类型的易失性存储器(例如DRAM)关联的一个或多个标准或规范(其包括后代或变体)兼容地设计或操作。例如,DRAM类型(例如同步双数据速率DRAM(DDR DRAM))可以包括在易失性存储器150中并且与DDR DRAM关联的标准或规范可以包括JEDEC固态技术协会(“JEDEC”)对各种DDR代(例如DDR2、DDR3、DDR4或未来DDR代)发布的那些。一些示例标准或规范可以包括但不限于在2012年7月发布的JESD79-3F-“DDR3 SDRAM标准”,或2012年9月发布的JESD79-4-“DDR4 SDRAM标准”。
根据一些示例,非易失性存储器160可以包括一个或多个类型的非易失性存储器以包括但不限于NAND闪速存储器、NOR闪速存储器、3D交叉点存储器、铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、聚合物存储器(例如铁电聚合物存储器)、铁电晶体管随机存取存储器(FeTRAM或FeRAM)、奥氏存储器或纳米线。在一些示例中,非易失性存储器160还可以包括足够的存储器容量来接收易失性存储器150的全部内容或易失性存储器150的内容的可能多个副本。对于这些示例,大小适于多个副本的非易失性存储器160可以允许将易失性存储器150中维持的基于时间的数据的图像保存到非易失性存储器160的区域。如在下文更多描述的,可以分配全局唯一标识符(GUID)或使其与数据关联以从非易失性存储器(例如非易失性存储器160)保存或恢复。NVDIMM控制器130可以使用这些分配的GUID以促进基于时间的数据从或到易失性存储器150的保存或恢复。
在一些示例中,电容器组170可以包括一个或多个电容器以经由电力线177向NVDIMM 105提供至少暂时电力。一个或多个电容器可以能够存储足够能量以持续足够时间对NVDIMM 105供电以如果突然断电或系统复位导致对NVDIMM 105的主电力供应被切断或关闭则供NVDIMM控制器130促使将易失性存储器150中维持的数据保存到非易失性存储器160。数据内容由于突然断电或系统复位而保存到非易失性存储器160可以称为“灾难性保存”。
图2图示第一示例寄存器图部分。在一些示例中,如在图2中示出的,第一示例寄存器图部分包括寄存器图部分200。在一些示例中,系统(例如图1中示出的系统100)的元件可以使用寄存器图部分200来与NVDIMM的NVDIMM控制器(例如NVDIMM 105的NVDIMM控制器130)通信或交换信息。对于这些示例,对应寄存器集中维持(例如,用寄存器132维持)的各种位集的选择性断言可以至少部分基于寄存器图部分200。系统的元件还可以通过SMBus接口(例如SMBus接口122)具有对寄存器的只读(RO)或读/写(RW)访问。示例不限于系统(例如图1中示出的系统100)的元件,计算平台的其他元件(例如,操作系统)也可以使用寄存器图部分200来与NVDIMM控制器通信。
根据一些示例,寄存器图部分200可以与报头关联。该报头例如可以用于指示NVDIMM和/或NVDIMM控制器的能力和/或操作参数。报头还可以包括信息以解释整个寄存器图的一个或多个其他部分以用于将请求或命令传达到NVDIMM控制器。如在图2中示出的,各种位集可以与对应的字段名关联,这些字段名具有规定的偏移、长度(以字节计)和访问权限,例如从主机计算平台的元件(请求者)的角度的读/写(RW)或只读(RO)。图2中还示出对于可以独立(例如,单个位)或成组(例如,多个位)选择性断言的每个位集的描述。
在一些示例中,如在图2中描述的PAGE_NUM具有0x00(十六进制)的偏移值、为1的长度和RW访问。对于这些示例,PAGE_NUM字段中的位仅仅是具有RW访问的寄存器图部分200中的位以允许请求者在BIT[2:0]中指示页数、在BIT[5:0]中指示最大页数并且对于可能的未来改变保留BIT[7:6]。
根据一些示例,如在图2中示出的,与偏移0x01至0x03关联的字段分别指示硬件和固件修正信息。与偏移0x04至0x19关联的字段可以用于指示与NVDIMM的元件(例如NVDIMM控制器、非易失性存储器、易失性存储器和电容器封装)关联的操作参数。
在一些示例中,SAVE区字段的数量可以规定NVDIMM中用于在各个时间点保存易失性存储器(DRAM)内容的多个副本的SAVE区的数量。对于这些示例,NVDIMM可以能够指示至少一个区(例如,标识为REGION-0)。也就是说,非易失性存储器(例如,NAND闪存)可以具有大到足以将DRAM的所有内容的副本保存在至少一个区中的存储器容量。在偏移0x08和0x0A处指示的SAVE延迟和RESTORE延迟也可以指示对于REGION-0的相应最坏情况SAVE延迟(以秒(sec)计)和RESTORE延迟(以sec计)。最坏情况SAVE和RESTORE延迟可以考虑主要与非易失性存储器关联的写或读延迟。
图3图示第二示例寄存器图部分。在一些示例中,如在图3中示出的,第二示例寄存器图部分包括寄存器图部分300。在一些示例中,系统(例如图1中示出的系统100)的元件可以使用寄存器图部分300来与NVDIMM的NVDIMM控制器通信或交换信息。对于这些示例,对应寄存器集中维持的各种位集的选择性断言可以至少部分基于寄存器图部分300。如之前提到的,系统的元件可以通过SMBus接口具有对寄存器的RO或RW访问。示例不限于系统(例如图1中示出的系统100)的元件,计算平台的其他元件也可以使用寄存器图部分300来与NVDIMM控制器通信或交换信息。
根据一些示例,寄存器部分300可以与由NVDIMM控制器从主机计算平台的元件(请求者)接收的NVDIMM STATE类请求关联以接收NVDIMM的状况。对于这些示例,如在图3中示出的,GET_NVDIMM_STATE字段中的位仅仅是具有RW访问以允许请求者指示与NVDIMM状况或状态关联的请求的寄存器图部分300的位。
在一些示例中,GET_NVDIMM_STATE字段的BIT7可以在发出该请求时被请求者清除(例如,解除断言位)。对于这些示例,NVDIMM控制器设置(例如,断言)BIT7来指示已接受请求并且与图3中示出的T(NvState.SV)字段关联的位被填充或选择性断言。对T(NvState.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成请求的超时(以毫秒(ms)或sec计)。
根据一些示例,GET_NVDIMM_STATE字段的BIT6可以在请求者发出该请求时被清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该请求并且基于寄存器图部分300通过与NVDIMM_STATUS字段关联的位的选择性断言来指示NVDIMM状况。在一些示例中,如果在NVDIMM_STATUS字段中设置或断言BIT0,这可以指示NVDIMM控制器在忙着执行之前接收的命令(例如,SAVE、ERASE或RESTORE)。然而,NVDIMM仍可以接收新的请求或命令并且使该新的请求或命令列队以在完成之前的请求或命令后执行。
在一些示例中,BUSY_TIMEOUT T(Busy)可以指示在确定NVDIMM控制器被锁定或出故障之前请求者等待NVDIMM控制器不再忙碌的超时(以ms或sec计)。对于这些示例,NVDIMM控制器可以在设置对应的NVDIMM_STATUS.BUSY位(例如,NVDIMM_STATUS字段的BIT0)之前填充或选择性地断言与该字段关联的位。每当从请求者接收GET_NVDIMM_STATUS请求时,NVDIMM控制器可以更新BUSY_TIMEOUT T(Busy)字段。
图4图示第三示例寄存器图部分。在一些示例中,如在图4中示出的,第三示例寄存器图部分包括寄存器图部分400。在一些示例中,系统(例如图1中示出的系统100)的元件可以使用寄存器图部分400来与NVDIMM的NVDIMM控制器通信或交换信息。对于这些示例,对应寄存器集中维持的各种位集的选择性断言可以至少部分基于寄存器图部分400。如之前提到的,系统的元件可以通过SMBus接口具有对寄存器的RO或RW访问。示例不限于系统(例如图1中示出的系统100)的元件,计算平台的其他元件也可以使用寄存器图部分400来与NVDIMM控制器通信或交换信息。
根据一些示例,寄存器部分400可以与由NVDIMM控制器从主机计算平台的元件(请求者)接收的SAVE类命令关联以促使NVDIMM控制器将易失性存储器中存储的内容保存到非易失性存储器。对于这些示例,如在图4中示出的,寄存器图部分400中的SAVE_CMD和ABORT_SAVE字段中的位都具有RW访问以允许请求者指示命令来执行SAVE操作或ABORT a SAVE操作。SAVE_IMAGE_GUID字段还可以允许请求者有RW访问来指示图像或内容的全局唯一标识符(GUDI)以保存到非易失性存储器。
在一些示例中,SAVE_CMD字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图4中示出的T(Save.SV)字段关联的位被填充或选择性断言。对T(Save.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成SAVE命令的超时(以ms或sec计)。
根据一些示例,SAVE_CMD字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分400通过与SAVE_STATUS字段关联的位的选择性断言来指示SAVE操作状况。
在一些示例中,SAVE_CMD字段的BIT5可被断言来指示有效图像GUID是否与要保存到非易失性存储器的内容关联,如在SAVE_IMAGE_GUID字段中被选择性断言的位中指示的。对于这些示例,请求者可以在SAVE_IMAGE_GUID中对NVDIMM控制器指示GUID以与要保存到非易失性存储器的内容关联。如果GUID有效(例如,对于另一个图像不匹配之前关联的GUID),BIT5可以被断言并且NVDIMM控制器可以将图像/内容保存到非易失性存储器的可用区。NVDIMM控制器可以保持GUID与保存区之间的关联性,直到对该GUID发出ERASE命令。如果GUID无效,BIT5未被断言并且内容可以保存到非易失性存储器的默认区(例如,REGION-0)。
在一些示例中,ABORT_SAVE字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图4中示出的T(Save.SV)字段关联的位被填充或选择性断言。对T(Save.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成ABORT_SAVE命令的超时(以ms或sec计)。
根据一些示例,ABORT_SAVE字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分400通过与SAVE_STATUS字段关联的位的选择性断言来指示ABORT SAVE操作状况。
在一些示例中,ABORT_SAVE字段的BIT5可被断言来指示有效图像GUID是否与用于中止到非易失性存储器的SAVE操作的内容关联,如在SAVE_IMAGE_GUID字段中被选择性断言的位中指示的。如果GUID有效(例如,对于另一个图像不匹配之前关联的GUID),BIT5可以被断言并且NVDIMM控制器可以中止图像/内容到非易失性存储器的可用区的SAVE操作。如果GUID无效,BIT5未被断言并且NVDIMM控制器可以中止内容保存到非易失性存储器的默认区(例如,REGION-0)的SAVE操作。
图5图示第四示例寄存器图部分。在一些示例中,如在图5中示出的,第四示例寄存器图部分包括寄存器图部分500。在一些示例中,系统(例如图1中示出的系统100)的元件可以使用寄存器图部分500来与NVDIMM的NVDIMM控制器通信或交换信息。对于这些示例,对应寄存器集中维持的各种位集的选择性断言可以至少部分基于寄存器图部分500。如之前提到的,系统的元件可以通过SMBus接口具有对寄存器的RO或RW访问。示例不限于系统(例如图1中示出的系统100)的元件,计算平台的其他元件也可以使用寄存器图部分500来与NVDIMM控制器通信或交换信息。
根据一些示例,寄存器部分500可以与由NVDIMM控制器从主机计算平台的元件(请求者)接收的RESTORE类命令关联以促使NVDIMM控制器将非易失性存储器中存储的内容恢复到易失性存储器。对于这些示例,如在图5中示出的,寄存器图部分500中的RESTORE_CMD和ABORT_RESTORE字段中的位都具有RW访问以允许请求者指示命令来执行RESTORE操作或ABORT a RESTORE操作。RESTORE_IMAGE_GUID字段还可以允许请求者有RW访问来指示图像或内容的GUDI以恢复到易失性存储器。RESTORE_CMD或ABORT_RESTORE的请求者或调用方可以在调用命令之前设置图像GUID。
在一些示例中,RESTORE_CMD字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图5中示出的T(Restore.SV)字段关联的位被填充或选择性断言。对T(Restore.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成RESTORE命令的超时(以ms或sec计)。
根据一些示例,RESTORE_CMD字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分500通过与RESTORE_STATUS字段关联的位的选择性断言来指示RESTORE操作状况。
在一些示例中,RESTORE_CMD字段的BIT5可被断言来指示有效图像GUID是否与要恢复到易失性存储器的内容关联,如在RESTORE_IMAGE_GUID字段中被选择性断言的位中指示的。对于这些示例,请求者可以在RESTORE_IMAGE_GUID中对NVDIMM控制器指示GUID以与要恢复到易失性存储器的内容关联。如果GUID有效(例如,匹配之前关联的GUID),BIT5可以被断言并且NVDIMM控制器可以使图像/内容恢复到易失性存储器。如果GUID无效,BIT5未被断言并且内容可以从非易失性存储器的默认区(例如,REGION-0)恢复到易失性存储器。
在一些示例中,ABORT_RESTORE字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图5中示出的T(RESTORE.SV)字段关联的位被填充或选择性断言。对T(RESTORE.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成ABORT_RESTORE命令的超时(以ms或sec计)。
根据一些示例,ABORT_RESTORE字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分500通过与RESTORE_STATUS字段关联的位的选择性断言来指示ABORT RESTORE操作状况。
在一些示例中,ABORT_RESTORE字段的BIT5可被断言来指示有效图像GUID是否与用于中止到易失性存储器的RESTORE操作的内容关联,如在RESTORE_IMAGE_GUID字段中被选择性断言的位中指示的。如果GUID有效(例如,匹配之前关联的GUID),BIT5可以被断言并且NVDIMM控制器可以中止图像/内容到易失性存储器的恢复操作。如果GUID无效,BIT5未被断言并且内容从非易失性存储器的默认区(例如,REGION-0)恢复到易失性存储器的恢复操作被中止。
图6图示第五示例寄存器图部分。在一些示例中,如在图6中示出的,第五示例寄存器图部分包括寄存器图部分600。在一些示例中,系统(例如图1中示出的系统100)的元件可以使用寄存器图部分600来与NVDIMM的NVDIMM控制器通信或交换信息。对于这些示例,对应寄存器集中维持的各种位集的选择性断言可以至少部分基于寄存器图部分600。如之前提到的,系统的元件可以通过SMBus接口具有对寄存器的RO或RW访问。示例不限于系统(例如图1中示出的系统100)的元件,计算平台的其他元件也可以使用寄存器图部分600来与NVDIMM控制器通信或交换信息。
根据一些示例,寄存器部分600可以与由NVDIMM控制器从主机计算平台的元件(请求者)接收的ERASE类命令关联以促使NVDIMM控制器ERASE非易失性存储器中存储的内容。对于这些示例,如在图6中示出的,寄存器图部分600中的ERASE_CMD和ABORT_ERASE字段中的位都具有RW访问以允许请求者指示命令来执行ERASE操作或ABORT a ERASE操作。ERASE_IMAGE_GUID字段还可以允许请求者有RW访问来指示图像或内容的GUDI以从非易失性存储器擦除。
在一些示例中,ERASE_CMD字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图6中示出的T(Erase.SV)字段关联的位被填充或选择性断言。对T(Erase.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成ERASE命令的超时(以ms或sec计)。
根据一些示例,ERASE_CMD字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分600通过与ERASE_STATUS字段关联的位的选择性断言来指示ERASE操作状况。
在一些示例中,ERASE_CMD字段的BIT5可被断言来指示有效图像GUID是否与要从非易失性存储器擦除的内容关联,如在ERASE_IMAGE_GUID字段中被选择性断言的位中指示的。对于这些示例,请求者可以在ERASE_IMAGE_GUID中对NVDIMM控制器指示GUID来确定要从非易失性存储器擦除什么内容和/或区。如果GUID有效(例如,匹配之前关联的GUID),BIT5可以被断言并且NVDIMM控制器可以从与有效GUID关联的非易失性存储器的区ERASE图像/内容。如果GUID无效,BIT5未被断言并且内容可以从非易失性存储器的默认区(例如,REGION-0)擦除。
在一些示例中,ABORT_ERASE字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图6中示出的T(Erase.SV)字段关联的位被填充或选择性断言。对T(Erase.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成ABORT_ERASE命令的超时(以ms或sec计)。
根据一些示例,ABORT_ERASE字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分600通过与ERASE_STATUS字段关联的位的选择性断言来指示ABORT ERASE操作状况。
在一些示例中,ABORT_ERASE字段的BIT5可被断言来指示有效图像GUID是否与用于中止对非易失性存储器的EARSE操作的内容关联,如在ERASE_IMAGE_GUID字段中被选择性断言的位中指示的。如果GUID有效(例如,匹配之前关联的GUID),BIT5可以被断言并且NVDIMM控制器可以中止对与有效GUID关联的非易失性存储器的区的图像/内容的ERASE操作。如果GUID无效,BIT5未被断言并且NVDIMM控制器可以中止从非易失性存储器的默认区(例如,REGION-0)擦除内容的ERASE操作。
图7图示第六示例寄存器图部分。在一些示例中,如在图7中示出的,第六示例寄存器图部分包括寄存器图部分700。在一些示例中,系统(例如图1中示出的系统100)的元件可以使用寄存器图部分700来与NVDIMM的NVDIMM控制器通信或交换信息。对于这些示例,对应寄存器集中维持的各种位集的选择性断言可以至少部分基于寄存器图部分700。如之前提到的,系统的元件可以通过SMBus接口具有对寄存器的RO或RW访问。示例不限于系统(例如图1中示出的系统100)的元件,计算平台的其他元件也可以使用寄存器图部分700来与NVDIMM控制器通信或交换信息。
根据一些示例,寄存器部分700可以与由NVDIMM控制器从主机计算平台的元件(请求者)接收的ARM/DISARM类命令关联以促使NVDIMM控制器启用NVDIMM的灾难性保存能力以便基于缺电或意外系统复位将易失性存储器中存储的内容保存到非易失性存储器。启用灾难性保存能力可以称为ARM操作,因为它可以促使耦合于NVDIMM的一个或多个电容器开始为灾难性保存事件存储能量或“装备”。对于这些示例,如在图7中示出的,寄存器图部分700中的ENABLE_CATASTROPHIC_SAVE和DISABLE_CATASTROPHIC_SAVE字段中的位都具有RW访问以允许请求者指示命令来执行ARM操作或停用ARM操作。
在一些示例中,ENABLE_CATASTROPHIC_SAVE字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图7中示出的T(Arm.SV)字段关联的位被填充或选择性断言。对T(Arm.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成ENABLE_CATASTROPHIC_SAVE或ARM命令的超时(以ms或sec计)。
根据一些示例,ENABLE_CATASTROPHIC_SAVE字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分700通过与CATASTROPHIC_SAVE_STATUS字段关联的位的选择性断言来指示ARM操作状况。
在一些示例中,DISABLE_CATASTROPHIC_SAVE字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图7中示出的T(Arm.SV)字段关联的位被填充或选择性断言。对T(Arm.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成DISABLE_CATASTROPHIC_SAVE或DISARM命令的超时(以ms或sec计)。
根据一些示例,DISABLE_CATASTROPHIC_SAVE字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分700通过与CATASTROPHIC_SAVE_STATUS字段关联的位的选择性断言来指示DISARM操作状况。
图8图示第七示例寄存器图部分。在一些示例中,如在图8中示出的,第七示例寄存器图部分包括寄存器图部分800。在一些示例中,系统(例如图1中示出的系统100)的元件可以使用寄存器图部分800来与NVDIMM的NVDIMM控制器通信或交换信息。对于这些示例,对应寄存器集中维持的各种位集的选择性断言可以至少部分基于寄存器图部分800。如之前提到的,系统的元件可以通过SMBus接口具有对寄存器的RO或RW访问。示例不限于系统(例如图1中示出的系统100)的元件,计算平台的其他元件也可以使用寄存器图部分800来与NVDIMM控制器通信或交换信息。
根据一些示例,寄存器部分800可以与由NVDIMM控制器从主机计算平台的元件(请求者)接收的自刷新保存类命令关联以促使NVDIMM控制器在自刷新时保存(例如,在易失性存储器进入自刷新模式时发起易失性到非易失性复制)。对于这些示例,如在图8中示出的,寄存器图部分800中的ENABLE_SELFREFRESH _SAVE和DISABLE_SELFREFRESH_SAVE字段中的位都具有RW访问以允许请求者指示命令来执行自刷新保存操作或停用自刷新保存操作。
在一些示例中,ENABLE_SELFREFRESH_SAVE字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图8中示出的T(SrSave.SV)字段关联的位被填充或选择性断言。对T(SrSave.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成ENABLE_SELFREFRESH _SAVE命令的超时(以ms或sec计)。
根据一些示例,ENABLE_SELFREFRESH_SAVE字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分800通过与SR_SAVE_STATUS字段关联的位的选择性断言来指示自刷新保存操作状况。
在一些示例中,DISABLE_SELFREFRESH_SAVE字段的BIT7可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT7来指示已接受命令并且与图7中示出的T(SrSave.SV)字段关联的位被填充或选择性断言。对T(SrSave.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成DISABLE_ SELFREFRESH_SAVE命令的超时(以ms或sec计)。
根据一些示例,DISABLE_SELFREFRESH_SAVE字段的BIT6可以在发出该命令时被请求者清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该命令并且基于寄存器图部分800通过与SRSAVE_STATUS字段关联的位的选择性断言来指示停用自刷新保存操作状况。
图9图示第八示例寄存器图部分。在一些示例中,如在图9中示出的,第八示例寄存器图部分包括寄存器图部分900。在一些示例中,系统(例如图1中示出的系统100)的元件可以使用寄存器图部分900来与NVDIMM的NVDIMM控制器通信或交换信息。对于这些示例,对应寄存器集中维持的各种位集的选择性断言可以至少部分基于寄存器图部分900。如之前提到的,系统的元件可以通过SMBus接口具有对寄存器的RO或RW访问。示例不限于系统(例如图1中示出的系统100)的元件,计算平台的其他元件也可以使用寄存器图部分900来与NVDIMM控制器通信或交换信息。
根据一些示例,寄存器部分900可以与由NVDIMM控制器从主机计算平台的元件(请求者)接收的Health Check类请求关联以促使NVDIMM控制器接收NVDIMM或NVDIMM的元件的健康状况。对于这些示例,如在图9中示出的,寄存器图部分900中的GET_HEALTH_STATUS字段中的位仅仅是具有RW访问以允许请求者指示与获得健康状况操作关联的请求的寄存器图部分900中的位。
在一些示例中,GET_HEALTH_STATUS字段的BIT7可以在发出该请求时被请求者清除。对于这些示例,NVDIMM控制器设置或断言BIT7来指示已接受请求并且与图9中示出的T(Health.SV)字段关联的位被填充或选择性断言。对T(Health.SV)选择性断言的位可以指示请求者等待NVDIMM控制器完成GET_HEALTH_STATUS请求的超时(以ms或sec计)。
根据一些示例,GET_HEALTH_STATUS字段的BIT6可以在请求者发出该请求时被清除。对于这些示例,NVDIMM控制器设置BIT6来指示已完成该请求并且基于寄存器图部分900通过与HEALTH_STATUS字段关联的位的选择性断言来指示健康状况。
图10图示第一示例序列。在一些示例中,如在图10中示出的,第一示例序列包括序列1000。在一些示例中,系统(例如图1中示出的系统100)的元件可以实现序列1000以使用寄存器图(例如图2-4中示出的寄存器图部分200、300或400)来发出SAVE_CMD。对于这些示例,系统100的元件(例如BIOS 114、设备驱动器116或App 118)可以通过SMBus接口122访问寄存器132而促使对NVDIMM控制器130发出SAVE_CMD。示例不限于系统(例如图1中示出的系统100)的元件,主机计算平台的其他元件(例如,操作系统)也可以使用寄存器图部分200、300或400来与NVDIMM控制器130通信。寄存器图的其他示例部分也可以用于发出SAVE_CMD。
以SAVE_CMD开始并且移到框1010(调用GET_NVDIMM_STATE),主机计算平台110处的逻辑和/或特征(例如设备驱动器116)可以首先通过清除如在寄存器图部分300中指示的GET_NVDIMM_STATE字段中的BIT7和BIT6两者而首先提出对于NVDIMM控制器130的状况的请求。在一些示例中,可以实现如在下文在图11中示出的序列1100以从NVDIMM控制器130接收状况。
从框1010行进到决策框1015(控制器错误),设备驱动器116基于序列1100(在下文更多描述)可以接收NVDIMM控制器130的状况或可以确定出现控制器错误。如果确定控制器错误,过程结束。否则过程移到决策框1020。
从决策框1015移到决策框1020(控制器忙碌),设备驱动器116可以确定寄存器图部分300的NVDIMM_STATUS字段的BIT0是否被断言。如果被断言,过程移到决策框1025。否则,过程移到框1030。
从决策框1020移到决策框1025(达到T(Busy)),设备驱动器116可以确定是否超出寄存器图部分300的BUSY-TIMEOUT T(Busy)字段的BIT[14:0]中指示的超时值。如果未超出超时值,可以由设备驱动器116发起另一个SAVE_CMD,其促使对NVDIMM控制器130的状况的另一个请求。如果超出超时值,确定控制器错误并且过程结束。
从决策框1020移到框1030(发送SAVE命令 w/SAVE_CMD.CA=0 SAVE_CMD.SV=0SAVE_IMAGE_GUID=x CMD=0x01),设备驱动器116可以解除断言或清除寄存器图部分400的SAVE_CMD字段的BIT7和BIT6以导致SAVE_CMD.CA=0并且SAVE_CMD.SV=0。设备驱动器116还可以选择性地断言SAVE_IMAGE_GUID中的位以对易失性存储器150的图像或内容提供GUID以保存到非易失性存储器160。设备驱动器116还可以选择性地断言SAVE_CMD字段的BIT[4:0]中的位来指示开始SAVE操作的命令。
从框1030行进到决策框1035(SAVE_CMD.CA==1),设备驱动器116可以检查SAVE_CMD字段的BIT7来确定NVDIMM控制器130是否接受SAVE命令。如果BIT7被断言,发出SAVE_CMD并且其被NVDIMM控制器130接受。设备驱动器116然后可以在稍后的时间检查SAVE_CMD字段的BIT6并且过程移到决策框1045。如果BIT7还未被断言,过程移到决策框1040。
从决策框1035移到决策框1040(达到T(CA)),设备驱动器116可以确定接收SAVE命令的命令接受指示的等待时间是否超出寄存器图部分200的命令接受延迟T(CA)字段的BIT[14:0]中指示的超时值。如果等待时间超出超时值,确定控制器错误并且过程结束。如果等待时间未超出超时值,设备驱动器116可以反复检查BIT7直到等待时间超出超时值或NVDIMM控制器130通过断言BIT7指示对SAVE命令的接受。
从决策框1035移到决策框1045(SAVE_CMD.SV==1),设备驱动器116可以检查SAVE_CMD字段的BIT6来确定NVDIMM控制器130是否完成SAVE命令。如果BIT6还未被断言,过程移到框1055。否则,过程移到决策框1050。
从决策框1045移到决策框1050(自SAVE_CMD==1以来的T(Save.SV)),设备驱动器116可以确定接收对于SAVE命令的命令完成指示的等待时间是否超出寄存器图部分400的T(Save.SV)字段的BIT[14:0]中指示的超时值。如果等待时间超出超时值,确定控制器错误并且过程结束。如果等待时间未超出超时值,设备驱动器116可以反复检查BIT6直到等待时间超出超时值或NVDIMM控制器130通过断言BIT6指示完成SAVE命令。
从决策框1045移到框1055(保存完成读取SAVE_STATUS),设备驱动器116可以读取由寄存器图部分400的SAVE_STATUS字段中可已经被NVDIMM控制器130选择性断言的位所指示的SAVE_STATUS来指示完成的SAVE操作的状况。在一些示例中,如在图10中示出的,可以基于该指示的状况将SAVE_STATUS返回设备驱动器116或主机计算平台110的操作系统或软件(例如,App 118)。过程然后结束。
图11图示第二示例序列。在一些示例中,如在图11中示出的,第二示例序列包括序列1100。如上文提到的,序列1100可以由设备驱动器116实现以从NVDIMM控制器130接收状况。示例不限于设备驱动器116实现序列1100。主机计算平台的其他元件可以实现序列1100以从NVDIMM控制器130接收状况。序列1100还不限于从NVDIMM控制器获得对于SAVE命令的状况。其他命令或请求类(例如RESTORE、ERASE、ARM/DISARM、Self-Refresh Save或HealthCheck)也可以实现序列1100以在向NVDIMM控制器发出命令之前从NVDIMM控制器获得状况。
以从序列1000的框1010(GET_NVDIMM_STATE),设备驱动器116可以发起请求来自NVDIMM控制器130的状况的过程。
从框1010行进到框1120(发送GET_NVDIMM_STATE请求),设备驱动器116可以通过清除如在寄存器图部分300中指示的GET_NVDIMM_STATE字段中的BIT7和BIT6两者来发送对于NVDIMM控制器130状况的请求。
从框1120行进到决策框1130(GET_NVDIMM_STATE.RA==1),设备驱动器可以检查寄存器图部分300的GET_NVDIMM_STATE字段的BIT7来确定NVDIMM控制器130是否接受对来自NVDIMM控制器130的状况的请求。如果BIT7已被断言,过程移到决策框1150。否则,过程移到决策框1140。
从决策框1130移到决策框1140(达到Timeout T(CA)),设备驱动器116可以就来自NVDIMM控制器130的已接受请求(GET_NVDIMM_STATE字段中的BIT7被断言)这一指示而等待一段时间。在一些示例中,设备驱动器116可以等待的时段基于在寄存器图部分200的命令接受延迟(T(CA))字段中指示的最坏值。如果等待时段超出最坏情况值,达到Timeout T(CA)并且过程移到框1170。如果未达到,过程移回决策框1130。
从决策框1130移到决策框1150(GET_NVDIMM_STATE.SV==1),设备驱动器116可以检查GET_NVDIMM_STATE字段的BIT6来确定NVDIMM控制器130是否完成请求。如果BIT6还未被断言,过程移到框1160。否则,过程移到决策框1180。
从决策框1150移到决策框1160(达到Timeout T(NvState.SV)),设备驱动器116可以确定接收对于状况请求的请求完成指示的等待时间是否超出寄存器图部分300的T(NvState.SV)字段的BIT[14:0]中指示的超时值。如果等待时间超出超时值,过程移到框1170。如果等待时间未超出超时值,过程移回决策框1150。
从决策框1140或1160移到框1170(设置STATUS=控制器错误/未作出响应),设备驱动器116可以确定NVDIMM控制器130处于错误状态或未作出响应。该错误或未作出响应状况可以返回序列1000的决策框1015并且可以由于NVDIMM控制器130的错误或未作出响应状态而导致该序列结束。
从决策框1150移到框1180(STATUS=NVDIMM_STATUS),设备驱动器116可以访问寄存器图部分300的NVDIMM_STATUS字段中被NVDIMM控制器130选择性断言的位来确定NVDIMM的状况。在这些位中指示的该状况可以返回序列1000的决策框1015来继续SAVE命令。在其他示例中,在这些位中指示的状况可以返回与其他命令或请求(例如RESTORE、ERASE、ARM/DISARM、Self-Refresh Save或Health Check)关联的其他序列。
图12图示第三示例序列。在一些示例中,如在图12中示出的,第三示例序列包括序列1200。在一些示例中,系统(例如图1中示出的系统100)的元件可以实现序列1200以使用寄存器图(例如图2、3和5中示出的寄存器图部分200、300或500)来发出RESTORE_CMD。对于这些示例,系统100的元件(例如BIOS 114、设备驱动器116或App 118)可以通过SMBus接口122访问寄存器132而促使对NVDIMM控制器130发出RESTORE_CMD。示例不限于系统(例如图1中示出的系统100)的元件,主机计算平台的其他元件(例如,操作系统)也可以使用寄存器图部分200、300或500来与NVDIMM控制器130通信。寄存器图的其他示例部分也可以用于发出RESTORE_CMD。
以RESTORE_CMD开始并且移到框1210(调用GET_NVDIMM_STATE),主机计算平台110处的逻辑和/或特征(例如BIOS 114)可以首先通过清除如在寄存器图部分300中指示的GET_NVDIMM_STATE字段中的BIT7和BIT6两者而首先提出对于NVDIMM控制器130的状况的请求。在一些示例中,可以实现如在上文在图11中示出的序列1100以从NVDIMM控制器130接收状况。
从框1210行进到决策框1215(控制器错误),BIOS 114基于序列1100(在上文对图11描述的)可以接收NVDIMM控制器130的状况或可以确定出现控制器错误。如果确定控制器错误,过程结束。否则过程移到决策框1220。
从决策框1215移到决策框1220(在之前的启动期间出现灾难性SAVE并且成功),BIOS 114可以首先访问寄存器图部分300的NVDIMM_STATUS字段的BIT7来确定在之前的启动时是否断言SAVE#pin。如果BIT7被断言,BIOS 114则可以确定灾难性SAVE操作是否成功(BIT8被断言)。如果BIT7和BIT8都确定被断言,过程移到决策框1225。如果BIT7或BIT8中的至少一个未被断言,则BIOS 114将停止RESTORE命令。主机计算平台110的操作系统或软件(例如,App 118)然后可以使非易失性存储器160的非Region0(如存在的话)恢复到易失性存储器150并且RESTORE过程对于BIOS 114可以结束。
从决策框1220移到决策框1225(控制器忙碌),BIOS 114可以确定寄存器图部分300的NVDIMM_STATUS字段的BIT0是否被断言。如果被断言,过程移到决策框1230。否则,过程移到框1235。
从决策框1225移到决策框1230(达到T(Busy)),BIOS 114可以确定是否超出寄存器图部分300的BUSY-TIMEOUT T(Busy)字段的BIT[14:0]中指示的超时值。如果未超出超时值,可以由BIOS 114发起另一个RESTORE_CMD,其促使对NVDIMM控制器130的状况的另一个请求。如果超出超时值,确定控制器错误并且过程结束。
从决策框1225移到框1235(发送RESTORE命令 w/RESTORE_CMD.CA=0 RESTORE_CMD.SV=0 RESTORE_IMAGE_GUID=x CMD=0x01),BIOS 114可以解除断言或清除寄存器图部分500的RESTORE_CMD字段的BIT7和BIT6以导致RESTORE_CMD.CA=0并且RESTORE_CMD.SV=0。BIOS 114还可以选择性地断言RESTORE_IMAGE_GUID中的位以对易失性存储器150的图像或内容提供GUID以从非易失性存储器160恢复到易失性存储器150。BIOS 114还可以选择性地断言RESTORE_CMD字段的BIT[4:0]中的位来指示开始RESTORE操作的命令。
从框1235行进到决策框1240(RESTORE_CMD.CA==1),BIOS 114可以检查RESTORE_CMD字段的BIT7来确定NVDIMM控制器130是否接受RESTORE命令。如果BIT7被断言,发出RESTORE_CMD并且其被NVDIMM控制器130接受。BIOS 114然后可以在稍后的时间检查RESTORE_CMD字段的BIT6并且过程移到决策框1250。如果BIT7还未被断言,过程移到决策框1245。
从决策框1240移到决策框1245(达到T(CA)),BIOS 114可以确定接收SAVE命令的命令接受指示的等待时间是否超出寄存器图部分200的命令接受延迟T(CA)字段的BIT[14:0]中指示的超时值。如果等待时间超出超时值,确定控制器错误并且过程结束。如果等待时间未超出超时值,BIOS 114可以反复检查BIT7直到等待时间超出超时值或NVDIMM控制器130通过断言BIT7指示对SAVE命令的接受。
从决策框1240移到决策框1250(SAVE_CMD.SV==1),BIOS114可以检查RESTORE_CMD字段的BIT6来确定NVDIMM控制器130是否完成RESTORE命令。如果BIT6还未被断言,过程移到框1260。否则,过程移到决策框1255。
从决策框1250移到决策框1255(自SAVE_CMD==1以来的T(Save.SV)),BIOS 114可以确定接收对于SAVE命令的命令完成指示的等待时间是否超出寄存器图部分500的T(Restore.SV)字段的BIT[14:0]中指示的超时值。如果等待时间超出超时值,确定控制器错误并且过程结束。如果等待时间未超出超时值,BIOS 114可以反复检查BIT6直到等待时间超出超时值或NVDIMM控制器130通过断言BIT6指示完成RESTORE命令。
从决策框1250移到框1260(RESTORE完成读取RESTORE_STATUS),BIOS 114可以读取由寄存器图部分500的RESTORE_STATUS字段中可已经被NVDIMM控制器130选择性断言的位所指示的RESTORE_STATUS来指示完成的RESTORE操作的状况。在一些示例中,如在图12中示出的,可以基于该指示的状况将RESTORE_STATUS返回BIOS 114或主机计算平台110的操作系统或软件(例如,App 118)。过程然后结束。
图13图示第一装置1300的示例框图。如在图13中示出的,第一装置包括装置1300。尽管图13中示出的装置1300在某一拓扑中具有有限数量的元件,可以意识到装置1300可以对于指定实现根据期望在备选拓扑中包括更多或更少的元件。
装置1300可以被NVDIMM控制器处维持的可以耦合于主机计算平台的电路1320支持。电路1320可以设置成执行一个或多个软件或固件实现的部件1322-a。值得注意的是“a”和“b”和“c”以及如本文使用的相似指示符规定为代表任意正整数的变量。从而,例如,如果实现设置a=7的值,则部件1322-a的软件或固件的完整集可以包括部件1322-1、1322-2、1322-3、1322-4、1322-5、1322-6或1322-7。呈现的示例在该上下文中不受限制并且贯穿使用的不同变量可以代表相同或不同整数值。
根据一些示例,电路1320可以包括处理器或处理器电路。该处理器或处理器电路可以是各种市售处理器中的任一个,其无限制地包括AMD® Athlon®、Duron®和Opteron®处理器;ARM®应用、嵌入式和安全处理器;IBM®和Motorola® DragonBall®和PowerPC®处理器;IBM和Sony® Cell处理器;Intel® Atom®、Celeron®、Core(2)Duo®、Corei3、Core i5、Core i7、Itanium®、Pentium®、Xeon®、Xeon Phi®和XScale®处理器;和相似的处理器。根据一些示例,电路1320也可以是专用集成电路(ASIC)并且至少一些部件1322-a可以实现为ASIC的硬件元件。
根据一些示例,装置1300可以包括接收部件1322-1。接收部件1322-1可以由电路1320执行以接收状况请求。对于这些示例,状况请求可以包括在状况请求1305中并且可以从主机计算平台处的请求者接收。请求者可以通过SMBus接口与NVDIMM控制器通信耦合。请求者例如可以包括由与NVDIMM耦合的主机计算平台的主机电路实现的BIOS、设备驱动器或应用。
在一些示例中,装置1300还可以包括状况部件1322-2。状况部件1322-2可以由电路1320执行以响应于状况请求来确定状况。状况可以是NVDIMM控制器的状况或对于NVDIMM的一个或多个元件(例如非易失性或易失性存储器)的健康检查状况。
根据一些示例,装置1300还可以包括指示部件1322-3。指示部件1322-3可以由电路1320执行以经由第一寄存器集中维持的第一位集的选择性断言来指示状况部件1322-2所确定的状况以指示状况1340。对于这些示例,选择性断言可以基于寄存器图1323-a(例如,维持在例如查找表(LUT)等数据结构中)。第一寄存器集可以通过SMBus接口而对状况请求的请求者可访问。在一些示例中,指示部件1322-3还可以能够指示请求或从请求者接收的可能命令(例如,命令1310)的接受和完成状况。例如,可以基于寄存器图1323-a经由对与请求或命令关联的寄存器图1323-a的字段的位断言来对请求或命令的接受以及请求或命令的后续完成指示接受1330和完成1335。对于被断言位的寄存器可以通过SMBus接口而对请求者可访问以供请求者确定是否接受和/或完成请求或命令。
在一些示例中,装置1300还可以包括保存部件1322-4。保存部件1322-4可以由电路1320执行以将数据保存在NVDIMM的非易失性存储器的第一区中并且维持由发出SAVE命令的请求者所指示的第一GUID与第一区之间的关联性。对于这些示例,第一GUID可以用命令1310中包括的命令来指示。保存部件1322-4可以维持或访问GUID关联性1324-b以用于维持第一GUID与第一区之间的关联性(例如,经由LUT)。
在一些示例中,装置1300还可以包括恢复部件1322-5。恢复部件1322-5可以由电路1320执行以恢复来自非易失性存储器的第一区的数据。对于这些示例,第一区可之前已与第一GUID关联(例如,通过保存部件1322-4)。第一GUID可以由发出RESTORE命令的请求者指示。恢复部件1322-5可以访问GUID关联性1324-b来确定第一区已与第一GUID关联并且然后实施RESTORE命令。
在一些示例中,装置1300还可以包括擦除部件1322-6。擦除部件1322-6可以由电路1320执行以擦除来自非易失性存储器的第一区的数据。对于这些示例,第一区可之前已与第一GUID关联(例如,通过保存部件1322-4)。第一GUID可以由发出ERASE命令的请求者指示。擦除部件1322-6可以访问GUID关联性1324-b来确定第一区已与第一GUID关联并且然后实施ERASE命令来擦除非易失性存储器的第一区中的数据。
在一些示例中,装置1300还可以包括装备部件1322-7。Arm部件1322-7可以由电路1320执行以促使与NVDIMM耦合的一个或多个电容器充电或ARM。对于这些示例,保存部件1322-4可以能够使用由一个或多个电容器供应的电力来实现灾难性保存操作以如果NVDIMM控制器或主机计算平台的元件(例如,BIOS或设备驱动器)感测到或预期失去直流电力供应则保持易失性存储器中维持的数据。
本文包括代表用于执行公开的架构的新颖方面的示例方法的逻辑流集。尽管为了解释的简单性目的,本文示出的一个或多个方法示出且描述为一系列动作,本领域内技术人员将理解并且意识到这些方法不受动作顺序的限制。一些动作可根据其而采用与本文示出且描述的其他动作不同的顺序和/或与来自本文示出且描述的其他动作同步出现。例如,本领域内技术人员将理解并且意识到方法可以备选地表示为一系列相互关联的状态或事件,例如在状态图中。此外,对于新颖的实现可并不需要方法中图示的所有动作。
逻辑流可以在软件、固件和/或硬件中实现。在软件和固件实施例中,逻辑流可以由存储在至少一个非暂时性计算机可读介质或机器可读介质(例如光、磁或半导体存储)上的计算机可执行指令实现。实施例在该上下文中不受限制。
图14图示第一逻辑流的示例。如在图14中示出的,第一逻辑流包括逻辑流1400。逻辑流1400可以代表由本文描述的一个或多个逻辑、特征或设备(例如装置1300)执行的操作中的一些或全部。更特定地,逻辑流1400可以由接收部件1322-1、状态部件1322-2、指示部件1322-3、保存部件1322-4、恢复部件1322-5、擦除部件1322-6或Arm部件1322-7实现。
根据一些示例,逻辑流1400在框1402处可以在控制器处接收状况请求,对于非易失性存储器的控制器能够保持在易失性存储器中维持的数据,非易失性和易失性存储器驻存在NVDIMM上。对于这些示例,接收部件1322-1可以从请求者(其可以包括由耦合于NVDIMM的主机计算平台处的电路实现的BIOS、应用或设备驱动器)接收状况请求。
在一些示例中,逻辑流1400在框1404处可以响应于状况请求确定状况。对于这些示例,状况部件1322-2可以确定状况。
根据一些示例,逻辑流1400在框1406处可以经由第一寄存器集中维持的第一位集的选择性断言来指示状况。选择性断言可以基于寄存器图。第一寄存器集可以通过SMBus接口而对状况请求的请求者可访问。对于这些示例,指示部件1322-3可以指示状况。
在一些示例中,逻辑流1400在框1408处可以经由第二寄存器集中维持的第二位集的断言而从请求者接收第一命令。第二位集的断言可以基于寄存器图。第二寄存器集可以通过SMBus接口而对请求者可访问。对于这些示例,接收部件1322-1可以接收命令。
根据一些示例,逻辑流1400在框1410处可以经由第三寄存器集中维持的第三位集的断言来指示第一命令的接受和完成状况。第三位集的断言可以基于寄存器图。第三寄存器集可以通过SMBus接口而对请求者可访问。对于这些示例,指示部件1322-3可以指示接受和完成状况。
在一些示例中,逻辑流1400在框1412处可以经由第四寄存器集中维持的第四位集的断言来指示第一命令的第一完成状况。第四位集的断言可以基于寄存器图。第一完成状况可以包括第一命令的成功完成或未能完成第一命令。第四寄存器集可以通过SMBus接口而对请求者可访问。对于这些示例,指示部件1322-3可以指示第一命令的第一完成状况。
图15图示第一存储介质的示例。如在图15中示出的,第一存储介质包括存储介质1500。该存储介质1500可以包括制造物品。在一些示例中,存储介质1500可以包括任何非暂时性计算机可读介质或机器可读介质,例如光、磁或半导体存储。存储介质1500可以存储各种类型的计算机可执行指令,例如实现逻辑流1400的指令。计算机可读或机器可读存储介质的示例可以包括能够存储电子数据的任何有形介质,其包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器,等。计算机可执行指令的示例可以包括任何适合类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视代码及类似物。示例在该上下文中不受限制。
图16图示第二装置的示例框图。如在图16中示出的,第二装置包括装置1600。尽管图16中示出的装置1600在某一拓扑或配置中具有有限数量的元件,可以意识到装置1600可以对于指定实现根据期望在备选配置中包括更多或更少的元件。
装置1600可以被主机计算平台处维持的电路1620支持。电路1620可以设置成执行一个或多个软件或固件实现的部件1622-a。值得注意的是“a”和“b”和“c”以及如本文使用的相似指示符规定为代表任意正整数的变量。从而,例如,如果实现设置a=4的值,则部件1622-a的软件或固件的完整集可以包括部件1622-1、1622-2、1622-或1622-4。呈现的示例在该上下文中不受限制并且贯穿使用的不同变量可以代表相同或不同整数值。
在一些示例中,如在图16中示出的,装置1600包括电路1620。电路1620大体上可以设置成执行一个或多个软件和/或固件部件1622-a。电路1620可以是主机计算平台的电路的部分,其包括处理核(例如,用作中央处理单元(CPU))。备选地,电路1620可以是主机计算平台的芯片集中的电路的部分。在任一情景中,电路1620可以是各种市售处理器中的任一个的一部分以包括但不限于之前对装置1300的电路1320提到的那些。电路1620还可以是双微处理器、多核处理器和其他多处理器架构的部分。根据一些示例,电路1620还可以是ASIC并且部件1622-a可以实现为ASIC的硬件元件。
根据一些示例,装置1600可以包括请求部件1622-1。请求部件1622-1可以由电路1620执行以向与主机计算平台(其包括装置1600)耦合的NVDIMM的NVDIMM控制器发送状况请求。对于这些示例,请求部件1622-1可以经由SMBus接口访问NVDIMM控制器处的寄存器并且可以使用寄存器图1623-a(例如,维持在对请求部件1622-1可访问的数据结构中,例如查找表(LUT))中包括的寄存器图的一个或多个部分发送状况请求1605。
在一些示例中,装置1600还可以包括状况部件1622-2。状况部件1622-2可以由电路1620执行以通过SMBus接口访问NVDIMM控制器处的寄存器中维持的位。这些位可以响应于状况请求经由基于寄存器图1623-a(例如,维持在对状况部件1622-2可访问的LUT中)中包括的寄存器图对位的选择性断言来指示由NVDIMM控制器指示的状况。对于这些示例,状况可以包括在状况1615中并且状况部件1622-2可以使用寄存器图的一个或多个部分来确定由NVDIMM控制器指示的状况。
根据一些示例,装置1600还可以包括命令部件1622-3。命令部件1622-3可以由电路1620执行以经由NVDIMM控制器处的寄存器中维持的位的断言来发送命令。位的断言可以根据寄存器图1623-a(例如,维持在对命令部件1622-3可访问的LUT中)中包括的寄存器图的一个或多个部分。对于这些示例,使用的寄存器图的部分可以基于命令1630中包括的命令,例如SAVE、RESTORE、Self-Refresh Save或ERASE命令。命令部件1622-3可以经由接受1635接收命令被接受这一指示并且如果被接受,接收经由完成1640完成命令的指示。这些指示可以由NVDIMM控制器基于寄存器图的一个或多个部分并且基于命令部件1622-3发送的命令而选择性地断言位所指示。
在一些示例中,装置1600还可以包括GUID部件1622-4。GUID部件1622-4可以由电路1620执行来对易失性存储器中维持的图像或内容指示GUID 1645中的GUID以将图像保存在非易失性存储器的区中并且保持或维持指示的GUID与非易失性存储器的区之间的关联性。对于这些示例,GUID部件1622-4还可以保持关联性以可能未来在GUID1624-4(例如,维持在LUT中)中用于ERASE或RESTORE命令。这些GUID可以提供给命令部件1622-3以在发送时包含在这些类型的ERASE或RESTORE命令中。
装置1600的各种部件和主机计算平台(其包括装置1600)可以通过各种类型的通信介质而彼此通信耦合来协调操作。协调可以牵涉单向或双向信息交换。例如,部件可以采用通过通信介质传达的信号的形式传达信息。信息可以实现为对各种信号线分配的信号。在这样的分配中,每个消息是信号。然而,另外的实施例可以备选地采用数据消息。这样的数据消息可以跨各种部件发送。示例连接包括并行接口、串行接口和总线接口。
本文包括代表用于执行公开的架构的新颖方面的示例方法的逻辑流集。尽管为了解释的简单性目的,本文示出的一个或多个方法示出且描述为一系列动作,本领域内技术人员将理解并且意识到这些方法不受动作顺序的限制。一些动作可根据其而采用与本文示出且描述的其他动作不同的顺序和/或与来自本文示出且描述的其他动作同步出现。例如,本领域内技术人员将理解并且意识到方法可以备选地表示为一系列相互关联的状态或事件,例如在状态图中。此外,对于新颖的实现可并不需要方法中图示的所有动作。
逻辑流可以在软件、固件和/或硬件中实现。在软件和固件实施例中,逻辑流可由存储在至少一个非暂时性计算机可读介质或机器可读介质(例如光、磁或半导体存储)上的计算机可执行指令实现。实施例在该上下文中不受限制。
图17图示第二逻辑流的示例。如在图17中示出的,第二逻辑流包括逻辑流1700。逻辑流1700可以代表由本文描述的一个或多个逻辑、特征或设备(例如装置1600)执行的操作中的一些或全部。更特定地,逻辑流1700可以由请求部件1622-1、状态部件1622-2、命令部件1622-3或GUID部件1622-4实现。
在图17中示出的图示示例中,逻辑流1700在框1702处可以向能够保持易失性存储器中维持的数据的非易失性存储器的控制器发送状况请求。非易失性和易失性存储器可以驻存在与主机计算平台耦合的NVDIMM上。对于这些示例,请求部件1622-1可以促使发送状况请求。
根据一些示例,逻辑流1700在框1704处可以通过SMBus接口访问第一寄存器集中维持的第一位集。该第一位集可以响应于状况请求经由基于寄存器图的第一位集的选择性断言来指示控制器所指示的状况。对于这些示例,状况部件1622-2可以通过SMBus接口访问第一位集并且可以基于寄存器图确定控制器指示的状况。
根据一些实施例,逻辑流1700在框1706处可以经由第二寄存器集中维持的第二位集的断言来发送第一命令。第二位集的断言可以基于寄存器图。第二寄存器集还可以通过SMBus接口而可访问。对于这些示例,命令部件1622-2可以通过基于寄存器图断言第二位集而促使发送命令。
在一些示例中,逻辑块1700在框1708处经由控制器对第三寄存器集中维持的第三位集的断言来接收对第一命令的接受和完成状况的指示。该第三位集可以基于寄存器图而断言。第三寄存器集还可以通过SMBus接口而可访问。对于这些示例,命令部件1622-3可以能够访问第三寄存器集来确定哪些位被断言并且确定是否基于寄存器图指示命令的接受和完成。
图18图示第二存储介质的示例。如在图18中示出的,第二存储介质包括存储介质1800。存储介质1800可以包括制造物品。在一些示例中,存储介质1800可以包括任何非暂时性计算机可读介质或机器可读介质,例如光、磁或半导体存储。存储介质1800可以存储各种类型的计算机可执行指令,例如实现逻辑流1500的指令。计算机可读或机器可读存储介质的示例可以包括能够存储电子数据的任何有形介质,其包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器,等。计算机可执行指令的示例可以包括任何适合类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视代码及类似物。示例在该上下文中不受限制。
图19图示示例计算平台1900。在一些示例中,如在图19中示出的,计算平台1900可以包括处理部件1940、其他平台部件或通信接口1960。根据一些示例,计算平台1900可以是主机计算平台的部分,如上文提到的。
根据一些示例,处理部件1940可以执行对于装置1600和/或存储介质1800的处理操作或逻辑。处理部件1940可以包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可以包括设备、逻辑设备、部件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、感应器,等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等。软件元件的示例可以包括软件部件、程序、应用、计算机程序、应用程序、设备驱动器、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件部件、例程、子例程、函数、方法、规程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定示例是否使用硬件元件和/或软件元件实现可以根据许多因素而变化,例如如对于指定示例所期望的期望计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
在一些示例中,其他平台部件1950可以包括共同计算元件,例如一个或多个处理器、多核处理器、协同处理器、存储器单元、芯片集、控制器、外设、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)部件(例如,数字显示器)、电力供应等。存储器单元的示例可以无限制地包括采用一个或多个更高速存储器单元形式的各种类型的计算机可读和机器可读存储介质,例如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、聚合物存储器(例如铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁或光卡、例如独立盘冗余阵列(RAID)驱动器等设备阵列、固态存储器设备(例如,USB存储器)、固态驱动器(SSD)和适合于存储信息的任何其他类型的存储介质。
在一些示例中,通信接口1960可以包括逻辑和/或特征来支持通信接口。对于这些示例,通信接口1960可以包括一个或多个通信接口,其根据各种通信协议或标准操作以通过直接或网络通信链路通信。直接通信可以经由使用在一个或多个工业标准(其包括子代和变体)中描述的通信协议或标准而发生,例如与SMBus规范或PCI Express规范关联的那些。网络通信可以经由使用通信协议或标准而发生,例如在电气和电子工程师协会(IEEE)颁布的一个或多个以太网标准中描述的那些。例如,一个这样的以太网标准可以包括2008年12月发布的IEEE 802.3-2008:载波感测多址冲突检测(CSMA/CD)接入法和物理层规范(在下文“IEEE 802.3”)。
计算平台1900可以是计算设备的部分,其例如可以是服务器、服务器阵列或服务器场、web服务器、网络服务器、互联网服务器、工作站、微型计算机、主计算机、超级计算机、网络家电、web家电、分布式计算系统、多处理器系统、基于处理器的系统或其组合。因此,如适当期望的,本文描述的计算平台1900的功能和/或特定配置可以包括在计算平台1900的各种实施例中或在其中省略。
计算平台1900的部件和特征可以使用分立电路、专用集成电路(ASIC)、逻辑门和/或单芯片架构的任何组合实现。此外,在适当情况下,计算平台1000的特征可以使用微控制器、可编程逻辑阵列和/或微处理器或前述的任何组合来实现。注意硬件、固件和/或软件元件可以在本文共同或单独称为“逻辑”或“电路”。
应意识到在图19的框图中示出的示例计算平台1900可以代表许多潜在实现的一个功能描述示例。因此,在附图中描绘的块功能的划分、省略或包含并未推断用于实现这些功能的硬件部件、电路、软件和/或元件将必定在实施例中划分、省略或包括。
图20图示示例NVDIMM控制器2000。在一些示例中,如在图20中示出的,NVDIMM控制器2000可以包括处理部件2040、其他平台部件2050或通信接口2060。根据一些示例,NVDIMM控制器2000可以在耦合于主机计算平台的NVDIMM上驻存或与之一起驻存的NVDIMM控制器中实现,如上文提到的。
根据一些示例,处理部件2040可以执行对于装置1300和/或存储介质1500的处理操作或逻辑。处理部件2040可以包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可以包括设备、逻辑设备、部件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、感应器,等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等。软件元件的示例可以包括软件部件、程序、应用、计算机程序、应用程序、设备驱动器、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、规程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定示例是否使用硬件元件和/或软件元件实现可以根据许多因素而变化,例如如对于指定示例所期望的期望计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
在一些示例中,其他控制器部件2050可以包括共同计算元件,例如一个或多个处理器、多核处理器、协同处理器、存储器单元、接口、振荡器、定时设备等。存储器单元的示例可以无限制地包括采用一个或多个更高速存储器单元形式的各种类型的计算机可读和机器可读存储介质,例如ROM、RAM、DRAM、DDRAM、SDRAM、SRAM、PROM、EPROM、EEPROM、闪速存储器或适合于存储信息的任何其他类型的存储介质。
在一些示例中,通信接口2060可以包括逻辑和/或特征来支持通信接口。对于这些示例,通信接口2060可以包括一个或多个通信接口,其根据各种通信协议或标准操作以通过通信链路或信道通信。通信可以经由使用在一个或多个工业标准(其包括子代和变体)中描述的通信协议或标准而发生,例如与PCI Express规范或SMBus规范关联的那些。
NVDIMM控制器2000的部件和特征可以使用分立电路、专用集成电路(ASIC)、逻辑门和/或单芯片架构的任何组合实现。此外,在适当情况下,NVDIMM控制器2000的特征可以使用微控制器、可编程逻辑阵列和/或微处理器或前述的任何组合来实现。注意硬件、固件和/或软件元件可以在本文共同或单独称为“逻辑”或“电路”。
应意识到在图20的框图中示出的示例NVDIMM控制器2000可以代表许多潜在实现的一个功能描述示例。因此,在附图中描绘的块功能的划分、省略或包含并未推断用于实现这些功能的硬件部件、电路、软件和/或元件将必定在实施例中划分、省略或包括。
至少一个示例的一个或多个方面可以由存储在至少一个机器可读介质上的代表性指令来实现,该机器可读介质代表处理器内的各种逻辑,其在被机器、计算设备或系统读取时促使该机器、计算设备或系统制造逻辑来执行本文描述的技术。这样的表示可以存储在有形的机器可读介质上并且供应给各种客户或制造设施来装入实际上制作逻辑或处理器的制造机器。
各种示例可以使用硬件元件、软件元件或两者的组合来实现。在一些示例中,硬件元件可以包括设备、部件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、感应器,等)、集成电路、ASIC、PLD、DSP、FPGA、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等。在一些示例中,软件元件可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、规程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定示例是否使用硬件元件和/或软件元件实现可根据许多因素而变化,例如如对于给定实现所期望的期望计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
一些示例可以包括制造物品或至少一个计算机可读介质。计算机可读介质可以包括非暂时性存储介质来存储逻辑。在一些示例中,非暂时性存储介质可以包括能够存储电子数据的一个或多个类型的计算机可读存储介质,其包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器,等。在一些示例中,逻辑可以包括各种软件元件,例如软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、规程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。
根据一些示例,计算机可读介质可以包括非暂时性存储介质来存储或维持指令,其在由机器、计算设备或系统执行时促使该机器、计算设备或系统根据描述的示例执行方法和/或操作。指令可以包括任何适合类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码及类似物。指令可以根据预定义计算机语言、方式或语法实现,用于指示机器、计算设备或系统执行某一功能。指令可以使用任何适合的高级、低级、面向对象、视觉、编译和/或解释性编程语言来实现。
一些示例可以使用表达“在一个示例中”或“示例”连同它们的派生物来描述。这些术语意指连同示例描述的特定特征、结构或特性包括在至少一个示例中。短语“在一个示例中”在说明书中的各种地方中的出现不一定都指相同示例。
一些示例可以使用表达“耦合”和“连接”连同它们的派生物来描述。这些术语不一定规定为彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述可以指示两个或以上元件彼此直接物理或电接触。然而,术语“耦合”还可以意指两个或以上元件彼此不直接接触,但仍彼此共同操作或交互。
下列示例关于本文公开的技术的额外示例。
示例1. 示例装置可以包括对于能够保持易失性存储器中维持的数据的非易失性存储器的控制器处的电路。非易失性和易失性存储器可以驻存在NVDIMM上。示例装置还可以包括接收部件以供电路执行来接收状况请求。示例装置还可以包括状况部件以供电路执行以响应于状况请求确定状况。示例装置还可以包括指示部件以供电路执行以经由NVDIMM的第一寄存器集中维持的第一位集的选择性断言来指示状况。对于该示例,选择性断言可以基于寄存器图。
示例2. 示例1的示例装置,第一寄存器集可以通过SMBus接口而对状况请求的请求者可访问。
示例3. 示例2的示例装置,请求者可以包括由与NVDIMM耦合的主机计算平台处的主机电路实现的基本输入/输出系统(BIOS)、应用或设备驱动器。
示例4. 示例1的示例装置,状况请求可以包括对于NVDIMM的健康状况的请求。
示例5. 示例1的示例装置,状况请求可以包括对控制器或NVDIMM的状态的请求。
示例6. 示例5的示例装置,指示部件可以将状况指示为以下中的至少一个:忙碌控制器、不忙碌控制器、保存在进行中、中止保存在进行中、恢复在进行中、中止恢复在进行中、擦除在进行中、中止擦除在进行中、保存pin在NVDIMM之前的起动或启动时未被断言、保存pin在触发灾难性保存的NVDIMM之前的起动或启动时被断言、灾难性保存成功或灾难性保存不成功。
示例7. 示例2的示例装置还包括接收部件,用于经由NVDIMM的第二寄存器集中维持的第二位集的断言从请求者接收第一命令。对于该示例,第二位集的断言可以基于寄存器图,第二寄存器集通过SMBus接口而对请求者可访问。示例2的示例装置还包括指示部件,用于经由NVDIMM的第三寄存器集中维持的第三位集的断言来指示第一命令的接受和完成状况,第三位集的断言基于寄存器图。对于该示例,第三寄存器集可以通过SMBus接口而对请求者可访问。
示例8. 示例7的示例装置,指示部件可以经由NVDIMM的第四寄存器集中维持的第四位集的断言来指示第一命令的第一完成状况。对于该示例,第四位集的断言可以基于寄存器图。第一完成状况可以包括第一命令的成功完成或未能完成第一命令。第四寄存器集可以通过SMBus接口而对请求者可访问。
示例9. 示例8的示例装置还包括接收部件,用于从请求者接收中止命令以经由NVDIMM的第五寄存器集中维持的第五位集的断言来中止第一命令。对于该示例,第五位集的断言可以基于寄存器图。第五寄存器集通过SMBus接口而对请求者可访问。示例8的示例装置还包括指示部件,用于经由NVDIMM的第六寄存器集中维持的第六位集的断言来指示中止命令的接受和中止命令的后续完成。第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而对请求者可访问。
示例10. 示例8的示例装置,第一命令可以包括保存命令,用于在指定时间点保持易失性存储器中维持的数据。
示例11. 示例8的示例装置还包括保存部件以供电路执行来将数据保存在非易失性存储器的第一区中并且维持请求者所指示的第一GUID之间的关联性。对于该示例,GUID可以用保存命令指示。
示例12. 示例8的示例装置,第一命令可以包括恢复命令,用于将非易失性存储器中保存的数据恢复到易失性存储器。
示例13. 示例12的示例装置还包括恢复部件以供电路执行来使数据从非易失性存储器的第一区恢复。对于该示例,第一区可以之前已与请求者所指示的第一GUID关联,该GUID用恢复命令指示。
示例14. 示例8的示例装置,第一命令可以包括擦除命令,用于擦除非易失性存储器中保存的数据。
示例15. 示例14的示例装置还包括擦除部件以供电路执行来擦除来自非易失性存储器的第一区的数据。对于该示例,第一区可以之前已与请求者所指示的第一GUID关联。GUID可以用擦除命令指示。
示例16. 示例8的示例装置还包括由接收部件接收的是装备(arm)命令的第一命令。示例8的示例装置还包括装备部件以供电路执行以促使与NVDIMM耦合的一个或多个电容器充电。示例8的示例装置还包括保存部件以供电路执行,该电路能够使用由一个或多个电容器供应的电力实现灾难性保存以如果感测到或预期失去直流电力供应则保持易失性存储器中维持的数据。
示例17. 示例16的示例装置还包括接收部件,用于从请求者接收解除装备(disarm)命令。对于该示例,解除装备命令可以经由NVDIMM的第五寄存器集中维持的第五位集的断言而接收。第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而对请求者可访问。对于该示例,装备部件可以允许一个或多个电容器响应于解除装备命令而放电。对于该示例,指示部件也可以经由NVDIMM的第六寄存器集中维持的第六位集的断言来指示解除装备命令的接受和解除装备命令的后续完成。第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而对请求者可访问。
示例18. 示例1的示例装置,非易失性存储器可以包括NAND闪速存储器并且易失性存储器可以包括DRAM。
示例19. 示例方法可以包括在控制器处接收状况请求,对于非易失性存储器的控制器能够保持易失性存储器中维持的数据。非易失性和易失性存储器可以驻存在NVDIMM上。示例方法还可以包括响应于状况请求确定状况并且经由NVDIMM的第一寄存器集中维持的第一位集的选择性断言来指示状况。选择性断言可以基于寄存器图。
示例20. 示例19的示例方法,第一寄存器集可以通过SMBus接口而对状况请求的请求者可访问。
示例21. 示例20的示例方法,请求者可以包括由与NVDIMM耦合的主机计算平台处的电路实现的BIOS、应用或设备驱动器。
示例22. 示例19的示例方法,状况请求可以包括对于NVDIMM的健康状况的请求。
示例23. 示例19的示例方法,状况请求可以包括对于控制器或NVDIMM的状态的请求。
示例24. 示例23的示例方法,指示状况可以包括指示以下中的至少一个:忙碌控制器、不忙碌控制器、保存在进行中、中止保存在进行中、恢复在进行中、中止恢复在进行中、擦除在进行中、中止擦除在进行中、保存pin在NVDIMM之前的起动或启动时未被断言、保存pin在触发灾难性保存的NVDIMM之前的起动或启动时被断言、灾难性保存成功或灾难性保存不成功。
示例25. 示例20的示例方法还包括经由NVDIMM的第二寄存器集中维持的第二位集的断言从请求者接收第一命令。对于该示例,第二位集的断言可以基于寄存器图。第二寄存器集通过SMBus接口而对请求者可访问。示例20的示例方法还包括经由NVDIMM的第三寄存器集中维持的第三位集的断言来指示第一命令的接受和完成状况,第三位集的断言基于寄存器图。第三寄存器集可以通过SMBus接口而对请求者可访问。
示例26. 示例25的示例方法还包括经由NVDIMM的第四寄存器集中维持的第四位集的断言来指示第一命令的第一完成状况。对于该示例,第四位集的断言可以基于寄存器图。第一完成状况可以包括第一命令的成功完成或未能完成第一命令,第四寄存器集可以通过SMBus接口而对请求者可访问。
示例27. 示例25的示例方法还包括从请求者接收中止命令以经由NVDIMM的第五寄存器集中维持的第五位集的断言来中止第一命令。对于该示例,第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而对请求者可访问。示例25的示例方法可以包括经由NVDIMM的第六寄存器集中维持的第六位集的断言来指示中止命令的接受和中止命令的后续完成,第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而对请求者可访问。
示例28. 示例26的示例方法,第一命令可以包括保存命令,用于在指定时间点保持易失性存储器中维持的数据。
示例29. 示例28的示例方法,请求者指示第一GUID以供控制器将数据保存在非易失性存储器的第一区中并且保持第一GUID与第一区之间的关联性。
示例30. 示例26的示例方法,第一命令可以包括恢复命令,用于将非易失性存储器中保存的数据恢复到易失性存储器。
示例31. 示例30的示例方法,请求者还指示第一GUID以供控制器使数据从非易失性存储器的第一区恢复。第一区可以通过控制器而之前已与第一GUID关联。
示例32. 示例26的示例方法,第一命令可以包括擦除命令,用于擦除非易失性存储器中保存的数据。
示例33. 示例32的示例方法,请求可以指示第一GUID以供控制器擦除来自非易失性存储器的第一区的数据。第一区可以通过控制器而之前已与第一GUID关联。
示例34. 示例26的示例方法,第一命令可以包括装备命令,其对控制器指示以促使与NVDIMM耦合的一个或多个电容器充电并且使控制器能够使用由一个或多个电容器供应的电力实现灾难性保存以如果感测到或预期失去直流电力供应则保持易失性存储器中维持的数据。
示例35. 示例34的示例方法还包括从请求者接收解除装备命令,其对控制器指示以允许一个或多个电容器放电。解除装备命令经由NVDIMM的第五寄存器集中维持的第五位集的断言而接收。第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而对请求者可访问。示例34的示例方法还包括经由NVDIMM的第六寄存器集中维持的第六位集的断言来指示解除装备命令的接受和解除装备命令的后续完成。第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而对请求者可访问。
示例36. 示例19的示例方法,非易失性存储器包括NAND闪速存储器并且易失性存储器包括DRAM。
示例37. 示例机器可读介质包括多个指令,其响应于被能够保持易失性存储器中维持的数据的非易失性存储器的控制器执行。非易失性和易失性存储器可以驻存在NVDIMM上并且指令可以促使控制器实施根据示例19至35中的任一个的方法。
示例38. 示例装置可以包括用于执行示例19至35中的任一个的方法的工具。
示例39. 示例机器可读介质包括多个指令,其响应于被能够保持易失性存储器中维持的数据的非易失性存储器的控制器执行。非易失性和易失性存储器可以驻存在NVDIMM上。指令可以促使控制器接收状况请求。指令还可以促使控制器响应于状况请求确定状况。指令还可以促使控制器经由NVDIMM中维持的第一位集的选择性断言来指示状况。选择性断言可以基于寄存器图。
示例40. 示例39的示例至少一个机器可读介质,第一寄存器集通过SMBus接口而对状况请求的请求者可访问。
示例41. 示例40的示例至少一个机器可读介质,请求者可以包括由与NVDIMM耦合的主机计算平台处的电路实现的基本输入/输出系统(BIOS)、应用或设备驱动器。
示例42. 示例40的示例至少一个机器可读介质,状况请求可以包括对于NVDIMM的健康状况的请求。
示例43. 示例40的示例至少一个机器可读介质,状况请求可以包括对于控制器或NVDIMM的状态的请求。
示例44. 示例43的示例至少一个机器可读介质,指令可以促使控制器通过指示以下中的至少一个来指示状况:忙碌控制器、不忙碌控制器、保存在进行中、中止保存在进行中、恢复在进行中、中止恢复在进行中、擦除在进行中、中止擦除在进行中、保存pin在NVDIMM之前的起动或启动时未被断言、保存pin在触发灾难性保存的NVDIMM之前的起动或启动时被断言、灾难性保存成功或灾难性保存不成功。
示例45. 示例40的示例至少一个机器可读介质还包括指令以促使控制器经由NVDIMM的第二寄存器集中维持的第二位集的断言从请求者接收第一命令。第二位集的断言可以基于寄存器图,第二寄存器集通过SMBus接口而对请求者可访问。示例40的示例至少一个机器可读介质还包括指令以促使控制器经由NVDIMM的第三寄存器集中维持的第三位集的断言来指示第一命令的接受和完成状况。第三位集的断言基于寄存器图。第三寄存器集可以通过SMBus接口而对请求者可访问。
示例46. 示例45的示例至少一个机器可读介质还包括指令以促使控制器经由NVDIMM的第四寄存器集中维持的第四位集的断言来指示第一命令的第一完成状况。第四位集的断言可以基于寄存器图。第一完成状况可以包括第一命令的成功完成或未能完成第一命令,第四寄存器集可以通过SMBus接口而对请求者可访问。
示例47. 示例44的示例至少一个机器可读介质还包括指令以促使控制器从请求者接收中止命令以经由NVDIMM的第五寄存器集中维持的第五位集的断言来中止第一命令。第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而对请求者可访问。示例44的示例至少一个机器可读介质可还包括指令以促使控制器经由NVDIMM的第六寄存器集中维持的第六位集的断言来指示中止命令的接受和中止命令的后续完成。第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而对请求者可访问。
示例48. 示例46的示例至少一个机器可读介质,第一命令可以包括保存命令,用于在指定时间点保持易失性存储器中维持的数据。
示例49. 示例46的示例至少一个机器可读介质,请求者可以指示第一GUID以供控制器将数据保存在非易失性存储器的第一区中并且保持第一GUID与第一区之间的关联性。
示例50. 示例46的示例至少一个机器可读介质,第一命令可以包括恢复命令,用于将非易失性存储器中保存的数据恢复到易失性存储器。
示例51. 示例50的示例至少一个机器可读介质,请求者可以指示第一GUID以供控制器使数据从非易失性存储器的第一区恢复。第一区可以通过控制器而之前已与第一GUID关联。
示例52. 示例46的示例至少一个机器可读介质,第一命令可以包括擦除命令,用于擦除非易失性存储器中保存的数据。
示例53. 示例52的示例至少一个机器可读介质,请求可以指示第一GUID以供控制器擦除来自非易失性存储器的第一区的数据。第一区可以通过控制器而之前已与第一GUID关联。
示例54. 示例46的示例至少一个机器可读介质,第一命令可以包括装备命令,其对控制器指示以促使与NVDIMM耦合的一个或多个电容器充电并且使控制器能够使用由一个或多个电容器供应的电力实现灾难性保存以如果感测到或预期失去直流电力供应则保持易失性存储器中维持的数据。
示例55. 示例54的示例至少一个机器可读介质还包括指令以促使控制器从请求者接收解除装备命令,其对控制器指示以允许一个或多个电容器放电。解除装备命令可以经由NVDIMM的第五寄存器集中维持的第五位集的断言而接收。第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而对请求者可访问。示例54的示例至少一个机器可读介质还包括指令以促使控制器经由NVDIMM的第六寄存器集中维持的第六位集的断言来指示解除装备命令的接受和解除装备命令的后续完成。第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而对请求者可访问。
示例56. 示例46的示例至少一个机器可读介质,非易失性存储器可以包括NAND闪速存储器并且易失性存储器包括DRAM。
示例57. 示例方法可以包括在由主机计算平台处的电路实现的设备驱动器处向能够保持易失性存储器中维持的数据的非易失性存储器的控制器发送状况请求。对于该示例,非易失性和易失性存储器可以驻存在与主机计算平台耦合的NVDIMM上。示例方法还可以包括通过SMBus接口访问NVDIMM的第一寄存器集中维持的第一位集。第一位集可以响应于状态请求经由基于寄存器图对第一位集的选择性断言来指示由控制器指示的状况。
示例58. 示例57的方法,状况请求可以包括对NVDIMM的健康状况的请求。
示例59. 示例57的方法,状况请求可以包括对于控制器或NVDIMM的状态的请求。
示例60. 示例59的方法,指示的状况可以包括以下中的至少一个:忙碌控制器、不忙碌控制器、保存在进行中、中止保存在进行中、恢复在进行中、中止恢复在进行中、擦除在进行中、中止擦除在进行中、保存pin在NVDIMM之前的起动或启动时未被断言、保存pin在触发灾难性保存的NVDIMM之前的起动或启动时被断言、灾难性保存成功或灾难性保存不成功。
示例61. 示例57的方法还包括经由NVDIMM的第二寄存器集中维持的第二位集的断言发送第一命令。第二位集的断言可以基于寄存器图。第二寄存器集可以通过SMBus接口而对设备驱动器可访问。示例57的方法还包括经由控制器对NVDIMM的第三寄存器集中维持的第三位集的断言来接收第一命令的接受和完成状况的指示。第三位集可以基于寄存器图来断言。第三寄存器集可以通过SMBus接口而对设备驱动器可访问。
示例62. 示例61的方法还包括经由控制器对NVDIMM的第四寄存器集中维持的第四位集的断言来接收第一命令的第一完成状况的指示。第四位集可以基于寄存器图来断言。完成状况可以包括第一命令的成功完成或未能完成第一命令。第四寄存器集可以通过SMBus接口而对设备驱动器可访问。
示例63. 示例62的方法还包括发送中止命令以经由NVDIMM的第五寄存器集中维持的第五位集的断言来中止第一命令。第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而对设备驱动器可访问。示例62的方法还包括经由控制器对NVDIMM的第六寄存器集中维持的第六位集的断言来接收中止命令的接受和中止命令的后续完成的指示。第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而对设备驱动器可访问。
示例64. 示例62的方法,第一命令可以包括保存命令,用于在指定时间点保持易失性存储器中维持的数据。
示例65. 示例64的方法还包括指示第一GUID以供控制器将数据保存在非易失性存储器的第一区中并且保持第一GUID与第一区之间的关联性。
示例66. 示例62的方法,第一命令可以包括恢复命令,用于将非易失性存储器中保存的数据恢复到易失性存储器。
示例67. 示例66的方法还包括指示第一GUID以供控制器使数据从非易失性存储器的第一区恢复,第一区可以通过控制器而之前已与第一GUID关联。
示例68. 示例62的方法,第一命令可以包括擦除命令,用于擦除非易失性存储器中保存的数据。
示例69. 示例68的方法还包括指示第一GUID以供控制器擦除来自非易失性存储器的第一区的数据。第一区可以通过控制器而之前已与第一GUID关联。
示例70. 示例46的方法,第一命令可以包括装备命令,其对控制器指示以促使与NVDIMM耦合的一个或多个电容器充电并且使控制器能够使用由一个或多个电容器供应的电力实现灾难性保存以如果感测到或预期失去直流电力供应则保持易失性存储器中维持的数据。
示例71. 示例70的方法还包括发送解除装备命令,其对控制器指示以允许一个或多个电容器放电。对于该示例,解除装备命令可以经由NVDIMM的第五寄存器集中维持的第五位集的断言而发送。第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而对设备驱动器可访问。示例70的方法还包括经由NVDIMM的第六寄存器集中维持的第六位集的断言来接收解除装备命令的接受和解除装备命令的后续完成的指示。第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而对设备驱动器可访问。
示例72. 示例57的方法,非易失性存储器可以包括NAND闪速存储器并且易失性存储器包括DRAM。
示例73. 至少一个机器可读介质,其包括多个指令,这些指令响应于被主机计算平台处的系统执行而可以促使该系统实施根据示例57至72中的任一个的方法。
示例74. 装置可以包括用于执行根据示例57至72中的任一个的方法的工具。
示例75. 至少一个机器可读介质可以包括多个指令,其响应于被主机计算平台处的系统执行而可以促使该系统向能够保持易失性存储器中维持的数据的非易失性存储器的控制器发送状况请求。非易失性和易失性存储器可以驻存在与主机计算平台耦合的NVDIMM上。指令还可以促使系统通过SMBus接口访问NVDIMM的第一寄存器集中维持的第一位集。该第一位集可以响应于状况请求经由基于寄存器图对第一位集的选择性断言来指示由控制器指示的状况。
示例76. 示例75的至少一个机器可读介质,状况请求可以包括对于NVDIMM的健康状况的请求。
示例77. 示例75的至少一个机器可读介质,状况请求可以包括对于控制器或NVDIMM的状态的请求。
示例78. 示例77的至少一个机器可读介质,指示的状况可以包括以下中的至少一个:忙碌控制器、不忙碌控制器、保存在进行中、中止保存在进行中、恢复在进行中、中止恢复在进行中、擦除在进行中、中止擦除在进行中、保存pin在NVDIMM之前的起动或启动时未被断言、保存pin在触发灾难性保存的NVDIMM之前的起动或启动时被断言、灾难性保存成功或灾难性保存不成功。
示例79. 示例75的至少一个机器可读介质,指令还促使系统经由NVDIMM的第二寄存器集中维持的第二位集的断言发送第一命令。第二位集的断言可以基于寄存器图。第二寄存器集可以通过SMBus接口而可访问。指令还促使系统经由控制器对NVDIMM的第三寄存器集中维持的第三位集的断言来接收第一命令的接受和完成状况的指示。第三位集可以基于寄存器图来断言。第三寄存器集可以通过SMBus接口而可访问。
示例80. 示例79的至少一个机器可读介质,指令还促使系统经由控制器对NVDIMM的第四寄存器集中维持的第四位集的断言来接收第一命令的第一完成状况的指示。第四位集可以基于寄存器图来断言。第一完成状况可以包括第一命令的成功完成或未能完成第一命令。
示例81. 示例80的至少一个机器可读介质,指令还促使系统经由NVDIMM的第五寄存器集中维持的第五位集的断言来发送中止命令以中止第一命令。第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而可访问。指令还促使系统经由控制器对NVDIMM的第六寄存器集中维持的第六位集的断言来接收中止命令的接受和中止命令的后续完成的指示。第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而可访问。
示例82. 示例80的至少一个机器可读介质,第一命令可以包括保存命令,用于在指定时间点保持易失性存储器中维持的数据。
示例83. 示例82的至少一个机器可读介质,指令还促使系统指示第一GUID以供控制器将数据保存在非易失性存储器的第一区中并且保持第一GUID与第一区之间的关联性。
示例84. 示例80的示例至少一个机器可读介质,第一命令可以包括恢复命令,用于将非易失性存储器中保存的数据恢复到易失性存储器。
示例85. 示例84的至少一个机器可读介质,指令还促使系统指示第一GUID以供控制器使数据从非易失性存储器的第一区恢复,第一区可以通过控制器而之前已与第一GUID关联。
示例86. 示例80的至少一个机器可读介质,第一命令可以包括擦除命令,用于擦除非易失性存储器中保存的数据。
示例87. 示例86的示例至少一个机器可读介质,指令还促使系统指示第一GUID以供控制器擦除来自非易失性存储器的第一区的数据。第一区可以通过控制器而之前已与第一GUID关联。
示例88. 示例80的至少一个机器可读介质,第一命令可以包括装备命令,其对控制器指示以促使与NVDIMM耦合的一个或多个电容器充电并且使控制器能够使用由一个或多个电容器供应的电力实现灾难性保存以如果感测到或预期失去直流电力供应则保持易失性存储器中维持的数据。
示例89. 示例88的至少一个机器可读介质,指令还促使控制器发送解除装备命令,其对控制器指示以允许一个或多个电容器放电。对于该示例,解除装备命令可以经由NVDIMM的第五寄存器集中维持的第五位集的断言而发送。第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而对设备驱动器可访问。指令还可以促使系统经由控制器对NVDIMM的第六寄存器集中维持的第六位集的断言来接收解除装备命令的接受和解除装备命令的后续完成的指示。第六位集的断言可以基于寄存器图,第六寄存器集可以通过SMBus接口而可访问。
示例90. 示例75的至少一个机器可读介质,非易失性存储器可以包括NAND闪速存储器并且易失性存储器包括DRAM。
示例91. 示例75的至少一个机器可读介质,系统可以包括基本输入/输出系统(BIOS)、应用或设备驱动器。
示例92. 系统可以包括主机计算系统的电路以实现BIOS、应用或设备驱动器。该系统还可以包括NVDIMM,其具有驻存的非易失性存储器和易失性存储器。非易失性存储器可以能够保持易失性存储器中维持的数据。系统还可以包括非易失性存储器的控制器。控制器可操作成从BIOS、应用或设备驱动器接收状况请求。该状况请求可以包括对于NVDIMM的健康状况、控制器的状态或NVDIMM的状态的请求中的一个。控制器还可以操作成响应于状况请求确定状况并且经由NVDIMM的第一寄存器集中维持的第一位集的选择性断言来指示状况。选择性断言可以基于寄存器图。
示例93. 示例92的系统可以包括第一寄存器集,其通过系统管理总线(SMBus)接口而对BIOS、应用或设备驱动器可访问。
示例94. 示例93的系统,控制器还操作成经由NVDIMM的第二寄存器集中维持的第二位集的断言从BIOS、应用或设备驱动器接收命令。对于该示例,第二位集的断言可以基于寄存器图。第二寄存器集可以通过SMBus接口而对BIOS、应用或设备驱动器可访问。控制器还可以操作成经由NVDIMM的第三寄存器集中维持的第三位集的断言来指示命令的接受和完成状况。第三位集的断言可以基于寄存器图。第三寄存器集可以通过SMBus接口而对BIOS、应用或设备驱动器可访问。控制器还可以操作成经由NVDIMM的第四寄存器集中维持的第四位集的断言来指示命令的完成状况。第四位集的断言可以基于寄存器图。完成状况可以包括命令的成功完成或未能完成命令。第四寄存器集可以通过SMBus接口而对BIOS、应用或设备驱动器可访问。
示例95. 示例94的系统,控制器还操作成收中止命令以经由NVDIMM的第五寄存器集中维持的第五位集的断言从BIOS、应用或设备驱动器接来中止命令。对于该示例,第五位集的断言可以基于寄存器图。第五寄存器集可以通过SMBus接口而对BIOS、应用或设备驱动器可访问。控制器还可以操作成经由NVDIMM的第六寄存器集中维持的第六位集的断言来指示中止命令的接受和中止命令的后续完成状况。第六位集的断言可以基于寄存器图。第六寄存器集可以通过SMBus接口而对BIOS、应用或设备驱动器可访问。
强调提供本公开的摘要以遵守37 C.F.R.章节1.72(b),从而需要将允许读者快速弄清本技术公开的性质的摘要。认为并且理解它将不用于解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到为了简化公开的目的而在单个实施例中将各种特征组合在一起。该公开的方法不解释为反映要求保护的实施例比在每个权利要求中明确详述的特征要求更多特征这样的意图。相反,如下列权利要求反映的,发明性主旨在于比单个公开的实施例的所有特征要少。从而,下列权利要求以此并入详细描述,其中每个权利要求立足于它自身作为独立的实施例。在附上的权利要求中,术语“包括”和“在…中”分别用作相应术语“包含”和“其中”的简明英语等同物。此外,术语“第一”、“第二”、“第三”等仅用作标号,并且不意在对它们的对象施加数值要求。
尽管主旨已经以结构特征和/或方法行为特定的语言描述,要理解在附上的权利要求中限定的主旨不一定局限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作作为实现权利要求的示例形式而公开。

Claims (25)

1.一种装置,其包括:
能够保持易失性存储器中维持的数据的非易失性存储器的控制器处的电路,所述非易失性存储器和所述易失性存储器驻存在非易失性双列直插式存储器模块(NVDIMM)上;
接收部件,其用于供所述电路执行来接收状况请求;
状况部件,其用于供所述电路执行以响应于所述状况请求确定状况;以及
指示部件,其用于供所述电路执行以经由所述NVDIMM的第一寄存器集中维持的第一位集的选择性断言来指示所述状况,所述选择性断言可以基于寄存器图。
2.如权利要求1所述的装置,其包括第一寄存器集,所述第一寄存器集通过系统管理总线(SMBus)接口而对于所述状况请求的请求者是可访问的。
3.如权利要求2所述的装置,所述请求者包括由与所述NVDIMM耦合的主机计算平台处的主机电路实现的基本输入/输出系统(BIOS)、应用或设备驱动器,所述状况请求包括以下中的至少一个:对于所述NVDIMM的健康状况的请求、对于控制器状态的请求或对于所述NVDIMM的状态的请求。
4.如权利要求3所述的装置,其包括所述指示部件,用于将所述状况指示为以下中的至少一个:忙碌控制器、不忙碌控制器、保存在进行中、中止保存在进行中、恢复在进行中、中止恢复在进行中、擦除在进行中、中止擦除在进行中、保存pin在NVDIMM之前的起动或启动时未被断言、保存pin在触发灾难性保存的NVDIMM之前的起动或启动时被断言、灾难性保存成功或灾难性保存不成功。
5.如权利要求2所述的装置,其包括:
所述接收部件,其用于经由所述NVDIMM的第二寄存器集中维持的第二位集的断言从所述请求者接收第一命令,所述第二位集的断言基于所述寄存器图,所述第二寄存器集通过所述SMBus接口而对于所述请求者可访问;以及
所述指示部件,其用于经由所述NVDIMM的第三寄存器集中维持的第三位集的断言来指示所述第一命令的接受和完成状况,所述第三位集的断言基于所述寄存器图,所述第三寄存器集通过所述SMBus接口而对所述请求者可访问。
6.如权利要求5所述的装置,其包括所述指示部件,用于经由所述NVDIMM的第四寄存器集中维持的第四位集的断言来指示所述第一命令的第一完成状况,所述第四位集的断言基于所述寄存器图,所述第一完成状况包括所述第一命令的成功完成或未能完成所述第一命令,所述第四寄存器集通过所述SMBus接口而对所述请求者可访问。
7.如权利要求6所述的装置,其包括:
所述接收部件,用于从所述请求者接收中止命令以经由所述NVDIMM的第五寄存器集中维持的第五位集的断言来中止所述第一命令,所述第五位集的断言基于所述寄存器图,所述第五寄存器集通过所述SMBus接口而对所述请求者可访问;以及
所述指示部件,用于经由所述NVDIMM的第六寄存器集中维持的第六位集的断言来指示所述中止命令的接受和所述中止命令的后续完成,所述第六位集的断言基于所述寄存器图,所述第六寄存器集通过所述SMBus接口而对所述请求者可访问。
8.如权利要求6所述的装置,其包括:
所述第一命令是保存命令,用于在指定时间点保持所述易失性存储器中维持的数据;以及
保存部件,用于供所述电路执行来将所述数据保存在所述非易失性存储器的第一区中并且维持所述请求者所指示的第一全局唯一标识符(GUID)之间的关联性,所述GUID用所述保存命令指示。
9.如权利要求6所述的装置,其包括:
所述第一命令是恢复命令,用于将所述非易失性存储器中保存的数据恢复到所述易失性存储器;以及
恢复部件,用于供所述电路执行来使所述数据从所述非易失性存储器的第一区恢复,所述第一区之前已与所述请求者所指示的第一全局唯一标识符(GUID)关联,所述GUID用所述恢复命令指示。
10.如权利要求6所述的装置,其包括:
所述第一命令是擦除命令,用于擦除所述非易失性存储器中保存的数据;以及
擦除部件,用于供所述电路执行来擦除来自所述非易失性存储器的第一区的数据,第一区之前已与所述请求者所指示的第一全局唯一标识符(GUID)关联,所述GUID用所述擦除命令指示。
11.如权利要求6所述的装置,其包括:
由所述接收部件接收的第一命令是装备命令;
装备部件,用于供所述电路执行以促使与所述NVDIMM耦合的一个或多个电容器充电;以及
保存部件,用于供所述电路执行,所述电路能够使用由所述一个或多个电容器供应的电力实现灾难性保存以如果感测到或预期失去直流电力供应则保持所述易失性存储器中维持的数据。
12.如权利要求11所述的装置,其包括:
所述接收部件,用于从所述请求者接收解除装备命令,所述解除装备命令经由NVDIMM的第五寄存器集中维持的第五位集的断言而接收,所述第五位集的断言基于所述寄存器图,所述第五寄存器集通过所述SMBus接口而对所述请求者可访问;以及
所述装备部件,用于允许所述一个或多个电容器响应于所述解除装备命令而放电;以及
所述指示部件,用于经由所述NVDIMM的第六寄存器集中维持的第六位集的断言来指示所述解除装备命令的接受和所述解除装备命令的后续完成,所述第六位集的断言基于所述寄存器图,所述第六寄存器集通过所述SMBus接口而对所述请求者可访问。
13.如权利要求1所述的装置,所述非易失性存储器包括NAND闪速存储器并且所述易失性存储器包括动态随机存取存储器(DRAM)。
14.一种方法,其包括:
在控制器处接收状况请求,所述控制器针对能够保持易失性存储器中维持的数据的非易失性存储器,所述非易失性和所述易失性存储器驻存在双列直插式存储器模块(NVDIMM)上;
响应于所述状况请求确定状况;以及
经由所述NVDIMM的第一寄存器集中维持的第一位集的选择性断言来指示所述状况,所述选择性断言基于寄存器图。
15.如权利要求14所述的方法,其包括第一寄存器集,所述第一寄存器集通过系统管理总线(SMBus)接口而对所述状况请求的请求者可访问。
16.如权利要求15所述的方法,所述状况请求包括对于所述控制器或所述NVDIMM的状态的请求。
17.如权利要求15所述的方法,其包括:
经由所述NVDIMM的第二寄存器集中维持的第二位集的断言从所述请求者接收第一命令,所述第二位集的断言基于所述寄存器图,所述第二寄存器集通过所述SMBus接口而对所述请求者可访问;以及
经由所述NVDIMM的第三寄存器集中维持的第三位集的断言来指示所述第一命令的接受和完成状况,所述第三位集的断言基于所述寄存器图,所述第三寄存器集通过所述SMBus接口而对所述请求者可访问。
18.如权利要求17所述的方法,其包括:
经由所述NVDIMM的第四寄存器集中维持的第四位集的断言来指示所述第一命令的第一完成状况,所述第四位集的断言基于所述寄存器图,所述第一完成状况包括所述第一命令的成功完成或未能完成所述第一命令,所述第四寄存器集通过所述SMBus接口而对所述请求者可访问。
19.如权利要求18所述的方法,其包括:
从所述请求者接收中止命令以经由所述NVDIMM的第五寄存器集中维持的第五位集的断言来中止所述第一命令,所述第五位集的断言基于寄存器图,所述第五寄存器集通过SMBus接口而对所述请求者可访问;以及
经由所述NVDIMM的第六寄存器集中维持的第六位集的断言来指示所述中止命令的接受和所述中止命令的后续完成,所述第六位集的断言基于所述寄存器图,所述第六寄存器集通过SMBus接口而对所述请求者可访问。
20.至少一个机器可读介质,其包括多个指令,所述指令响应于被主机计算平台处的系统执行而促使所述系统:
向能够保持易失性存储器中维持的数据的非易失性存储器的控制器发送状况请求,所述非易失性和所述易失性存储器驻存在与所述主机计算平台耦合的非易失性双列直插式存储器模块(NVDIMM)上;以及
通过系统管理总线(SMBus)接口访问所述NVDIMM的第一寄存器集中维持的第一位集,所述第一位集响应于所述状况请求经由基于寄存器图对所述第一位集的选择性断言来指示由所述控制器指示的状况。
21.如权利要求20所述的至少一个机器可读介质,所述状况请求包括对于所述控制器或所述NVDIMM的状态的请求。
22.如权利要求20所述的至少一个机器可读介质,其包括所述指令以促使所述系统:
经由所述NVDIMM的第二寄存器集中维持的第二位集的断言发送命令,所述第二位集的断言基于所述寄存器图,所述第二寄存器集通过所述SMBus接口而可访问;以及
经由所述控制器对所述NVDIMM的第三寄存器集中维持的第三位集的断言来接收所述命令的接受和完成状况的指示,所述第三位集基于所述寄存器图来断言,所述第三寄存器集通过所述SMBus接口而可访问。
23.一种系统,其包括:
主机计算系统的电路,用于实现基本输入/输出系统(BIOS)、应用或设备驱动器;
非易失性双列直插式存储器模块(NVDIMM),其具有驻存的非易失性存储器和易失性存储器,所述非易失性存储器能够保持易失性存储器中维持的数据;以及
所述非易失性存储器的控制器,所述控制器操作成:
从所述BIOS、所述应用或所述设备驱动器接收状况请求,所述状况请求包括对于所述NVDIMM的健康状况、所述控制器的状态或所述NVDIMM的状态的请求;
响应于所述状况请求确定状况;以及
经由所述NVDIMM的第一寄存器集中维持的第一位集的选择性断言来指示所述状况,所述选择性断言基于寄存器图。
24.如权利要求23所述的系统,其包括所述第一寄存器集,所述第一寄存器集通过系统管理总线(SMBus)接口而对所述BIOS、所述应用或所述设备驱动器可访问。
25.如权利要求24所述的系统,其包括所述控制器,所述控制器还操作成:
经由所述NVDIMM的第二寄存器集中维持的第二位集的断言从所述BIOS、所述应用或所述设备驱动器接收命令,所述第二位集的断言基于所述寄存器图,所述第二寄存器集通过SMBus接口而对所述BIOS、所述应用或所述设备驱动器可访问;
经由所述NVDIMM的第三寄存器集中维持的第三位集的断言来指示所述命令的接受和完成状况,所述第三位集的断言基于所述寄存器图,所述第三寄存器集通过所述SMBus接口而对所述BIOS、所述应用或所述设备驱动器可访问;以及
经由所述NVDIMM的第四寄存器集中维持的第四位集的断言来指示所述命令的完成状况,所述第四位集的断言基于所述寄存器图,所述完成状况包括所述命令的成功完成或未能完成所述命令,所述第四寄存器集通过所述SMBus接口而对所述BIOS、所述应用或所述设备驱动器可访问。
CN201580028986.6A 2014-06-30 2015-05-28 用于与非易失性双列直插式存储器模块的控制器通信的技术 Active CN106462520B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/319361 2014-06-30
US14/319,361 US9645829B2 (en) 2014-06-30 2014-06-30 Techniques to communicate with a controller for a non-volatile dual in-line memory module
PCT/US2015/032922 WO2016003559A1 (en) 2014-06-30 2015-05-28 Techniques to communicate with a controller for a non-volatile dual in-line memory module

Publications (2)

Publication Number Publication Date
CN106462520A true CN106462520A (zh) 2017-02-22
CN106462520B CN106462520B (zh) 2020-01-21

Family

ID=54930623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580028986.6A Active CN106462520B (zh) 2014-06-30 2015-05-28 用于与非易失性双列直插式存储器模块的控制器通信的技术

Country Status (4)

Country Link
US (1) US9645829B2 (zh)
KR (1) KR101946458B1 (zh)
CN (1) CN106462520B (zh)
WO (1) WO2016003559A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753237A (zh) * 2017-11-01 2019-05-14 三星电子株式会社 计算设备和非易失性双列直插式存储器模块

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10002043B2 (en) 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US10002044B2 (en) 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US10318340B2 (en) * 2014-12-31 2019-06-11 Ati Technologies Ulc NVRAM-aware data processing system
US9916091B2 (en) 2015-07-13 2018-03-13 Samsung Electronics Co., Ltd. Memory system architecture
US9672091B2 (en) * 2015-11-10 2017-06-06 Samsung Electronics Co., Ltd. Storage device and debugging method thereof
US9847105B2 (en) * 2016-02-01 2017-12-19 Samsung Electric Co., Ltd. Memory package, memory module including the same, and operation method of memory package
US10025714B2 (en) * 2016-09-30 2018-07-17 Super Micro Computer, Inc. Memory type range register with write-back cache strategy for NVDIMM memory locations
KR102649048B1 (ko) 2016-11-02 2024-03-18 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US10936299B2 (en) 2017-04-28 2021-03-02 Dell Products, L.P. Automated intra-system persistent memory updates
KR102400102B1 (ko) * 2017-05-11 2022-05-23 삼성전자주식회사 데이터 버퍼의 내부 데이터(dq) 터미네이션을 지원하는 메모리 시스템
US10176030B2 (en) 2017-05-15 2019-01-08 Dell Products, L.P. Runtime mechanism to correct incomplete namespace in persistent memory
US10585754B2 (en) 2017-08-15 2020-03-10 International Business Machines Corporation Memory security protocol
US20190243723A1 (en) * 2018-02-08 2019-08-08 Micron Technology, Inc. Backup operations from volatile to non-volatile memory
US20190243721A1 (en) * 2018-02-08 2019-08-08 Micron Technology, Inc. Backup operations from volatile to non-volatile memory
US10831393B2 (en) 2018-02-08 2020-11-10 Micron Technology, Inc. Partial save of memory
US20190243720A1 (en) * 2018-02-08 2019-08-08 Micron Technology, Inc. Backup operations from volatile to non-volatile memory
WO2019191522A1 (en) 2018-03-28 2019-10-03 Senko Advanced Components Inc Small form factor fiber optic connector with multi-purpose boot
US20200105312A1 (en) * 2018-09-30 2020-04-02 AGIGA Tech NVDIMM System with UPS power source
US11182102B2 (en) * 2018-12-28 2021-11-23 Micron Technology, Inc. Host inquiry response generation in a memory device
US10776214B1 (en) * 2019-03-04 2020-09-15 Quanta Computer Inc. System protecting data stored on NVDIMM devices after BIOS update
JP7263067B2 (ja) * 2019-03-14 2023-04-24 キヤノン株式会社 情報処理装置および情報処理装置の制御方法
US10950318B2 (en) 2019-06-14 2021-03-16 Micron Technology, Inc. Memory proximity disturb management
US11137941B2 (en) * 2019-12-30 2021-10-05 Advanced Micro Devices, Inc. Command replay for non-volatile dual inline memory modules
US11531601B2 (en) 2019-12-30 2022-12-20 Advanced Micro Devices, Inc. Error recovery for non-volatile memory modules
KR20230112362A (ko) 2022-01-20 2023-07-27 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그 동작 방법과, 이를 위한 스토리지 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100202238A1 (en) * 2009-02-11 2010-08-12 Stec, Inc. Flash backed dram module including logic for isolating the dram
CN102567245A (zh) * 2011-12-27 2012-07-11 深圳国微技术有限公司 用于soc芯片系统的存储控制器及其实现方法
US20130282959A1 (en) * 2012-04-23 2013-10-24 Phison Electronics Corp. System operation method and memory controller and memory storage device using the same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874831B2 (en) * 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US8566639B2 (en) * 2009-02-11 2013-10-22 Stec, Inc. Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus
US7830732B2 (en) 2009-02-11 2010-11-09 Stec, Inc. Staged-backup flash backed dram module
US7983107B2 (en) * 2009-02-11 2011-07-19 Stec, Inc. Flash backed DRAM module with a selectable number of flash chips
US8694812B2 (en) * 2010-03-29 2014-04-08 Dot Hill Systems Corporation Memory calibration method and apparatus for power reduction during flash operation
US8949502B2 (en) * 2010-11-18 2015-02-03 Nimble Storage, Inc. PCIe NVRAM card based on NVDIMM
CN103262054B (zh) * 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、系统和方法
US20150186278A1 (en) * 2013-12-26 2015-07-02 Sarathy Jayakumar Runtime persistence

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100202238A1 (en) * 2009-02-11 2010-08-12 Stec, Inc. Flash backed dram module including logic for isolating the dram
CN102567245A (zh) * 2011-12-27 2012-07-11 深圳国微技术有限公司 用于soc芯片系统的存储控制器及其实现方法
US20130282959A1 (en) * 2012-04-23 2013-10-24 Phison Electronics Corp. System operation method and memory controller and memory storage device using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753237A (zh) * 2017-11-01 2019-05-14 三星电子株式会社 计算设备和非易失性双列直插式存储器模块
CN109753237B (zh) * 2017-11-01 2024-04-05 三星电子株式会社 计算设备和非易失性双列直插式存储器模块

Also Published As

Publication number Publication date
US20150378841A1 (en) 2015-12-31
KR20160148689A (ko) 2016-12-26
CN106462520B (zh) 2020-01-21
WO2016003559A1 (en) 2016-01-07
US9645829B2 (en) 2017-05-09
KR101946458B1 (ko) 2019-02-12

Similar Documents

Publication Publication Date Title
CN106462520A (zh) 用于与非易失性双列直插式存储器模块的控制器通信的技术
US11119838B2 (en) Techniques for handling errors in persistent memory
CN105608027B (zh) 非易失存储设备和访问非易失存储设备的方法
CN104025060B (zh) 支持近存储器和远存储器访问的存储器通道
CN104541253B (zh) 与保护写入到非易失性存储器的系统关键数据相关联的技术
US8938589B2 (en) Interface methods and apparatus for memory devices using arbitration
EP3270290A1 (en) Ddr memory error recovery
CN106557145A (zh) 断电保护系统及其方法
CN108351816A (zh) 用于在数据存储设备上执行数据拷贝操作的技术
WO2014051776A1 (en) Techniques associated with a read and write window budget for a two level memory system
CN105518784A (zh) 具有用于高可靠性操作的存储控制器的数据处理器和方法
CN107924222A (zh) 用于进入存储器器件的较低功率状态的技术
TWI814074B (zh) 用以使用針對雙直列記憶體模組的晶片選擇信號之技術
CN106484549A (zh) 一种交互方法、NVMe设备、HOST及物理机系统
CN104077246A (zh) 一种实现易失性存储器备份的装置
JP2022172443A (ja) メモリチップロウハンマー脅威バックプレッシャー信号およびホスト側応答に関する方法および装置
WO2018004928A1 (en) Techniques for write commands to a storage device
DE112022000450T5 (de) Verbesserte d3-cold und schnellere wiederherstellung
CN106663456A (zh) 非易失性存储器模块
CN206331414U (zh) 一种固态硬盘
EP4155894A1 (en) Technologies for memory mirroring across an interconnect
CN110109858A (zh) 总线架构、服务器、内存数据读写方法及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant