一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

与由微处理器识别的存储器错误相关的信息的记录和解码的制作方法

2022-12-06 20:03:10 来源:中国专利 TAG:


1.本文中所公开的至少一些实施例大体上涉及计算机系统中的错误处理,并且更明确地说,但不限于在指令的实行中记录与由微处理器存取的存储器系统中的错误相关的数据。


背景技术:

2.一些微处理器被配置成具有例如机器检查架构(mca)的机制以将硬件错误报告给操作系统。此外,微处理器可具有系统管理模式(smm),其中暂停操作系统和应用程序的实行以运行通常在例如计算机系统的基本输入/输出系统(bios)的计算机系统的固件中配置的指令集。
3.举例来说,响应于服务器计算机中的硬件错误,服务器计算机的微处理器可将错误数据存储在mca寄存器中且进入系统管理模式(smm)以运行服务器计算机的bios的注册例程。bios的注册例程可被配置成从微处理器的mca寄存器检索错误数据以供计算机系统的操作系统使用。bios可将从mca寄存器检索到的错误数据传递到操作系统。替代地,操作系统可在微处理器从系统管理模式(smm)返回到正常模式之后直接读取mca寄存器。操作系统可接着将错误数据存储到存储装置(例如,硬盘驱动器盘)中以促进错误分析、诊断等。
4.智能平台管理接口(ipmi)为计算机接口规范集。自主计算机子系统可使用ipmi来独立于主计算机系统的微处理器管理和监测主计算机系统。举例来说,服务器计算机可具有被配置在服务器计算机的母板上以实施ipmi的主板管理控制器(bmc)。
5.举例来说,响应于服务器计算机中的硬件错误,被配置在服务器计算机的母板上的主板管理控制器(bmc)可监测服务器计算机的微处理器中的错误事件,响应于硬件错误而从mca寄存器检索错误数据,并且将来自mca寄存器的错误数据存储到主板管理控制器(bmc)的存储区域中以用于后续错误分析、诊断等。
附图说明
6.在附图的图式中作为实例而非限制说明了实施例,在所述附图中,相似的参考标号指示类似的元件。
7.图1说明根据一个实施例的被配置成记录与硬件错误相关的数据的实例计算系统。
8.图2和3展示根据一些实施例的记录与存储器模块中的错误相关的数据的技术。
9.图4展示根据一个实施例的记录与硬件错误相关的数据的方法。
10.图5为其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
11.本公开的至少一些方面涉及在指令的实行中记录与由微处理器存取的存储器系统中的错误相关的数据。提供用以优化服务器错误记录以收集与存储器系统中的错误相关
的更多且详细的数据以支持改进的错误分析、诊断等的技术。
12.存储器系统中的一些硬件错误为可校正的(例如,在重试存储器系统中的操作之后校正)。可校正错误不需要重启计算机系统。存储器系统中的其它硬件错误为不可校正的(例如,通过重试存储器系统中的操作)。如果计算机系统的固件或软件不可从错误恢复,则计算机系统被配置成响应于此类不可校正错误而重启。记录可校正错误可用于预测不可校正错误。
13.计算机系统的重启对于与使用微处理器的机器检查架构(mca)寄存器报告的错误相关的某些数据的成功传送可能是一种挑战,这是因为数据可能在重启操作系统的实行之后更改。
14.服务器计算机可被配置成具有主板管理控制器(bmc)以将错误数据从mca寄存器检索到主板管理控制器(bmc)的存储区域。因为即使在服务器计算机重启作为对不可校正错误的响应时主板管理控制器(bmc)仍可继续其正常操作,所以由主板管理控制器(bmc)从mca寄存器检索到的错误数据可在服务器计算机的重启之后成功地保留。然而,由主板管理控制器(bmc)直接从服务器计算机的微处理器检索到的此类数据不具有关于其中硬件错误出现的存储器地址的准确信息和/或可用于解码、对从服务器计算机的微处理器检索到的错误数据的分析的其它信息。
15.本公开的至少一些方面通过实施指令集以捕获和存储关于可为不可校正错误的硬件错误的全面数据来解决以上和其它缺陷。由遇到错误的微处理器实行的指令可将关于错误的所收集数据存储在计算机系统中的不受计算机系统的重启影响的位置中。
16.举例来说,指令可被配置成将所收集数据存储在存储器模块的预定义区域中,例如被配置成支持串行存在检测(spd)的存储器模块中的存储器区域。为了支持spd,存储器模块具有存储关于存储器模块的信息的非易失性存储器。存储器模块中的非易失性存储器可包含可用于存储用户数据的部分。被配置成处置程序错误的指令可将所收集数据存储在被配置成支持spd的非易失性存储器中的此类中。
17.举例来说,指令可被配置成将所收集数据传达到主板管理控制器(bmc),使得数据可在服务器计算机重启之后保留。
18.指令的至少部分可被配置在固件(例如,服务器计算机的基本输入/输出系统(bios))中和/或在操作系统中,使得即使在服务器计算机由于错误而重启时,仍收集和保留关于硬件错误的全面数据。举例来说,被配置在固件中的指令用于收集可通过操作系统的重启改变的数据;并且可使用被配置在操作系统中的指令来收集不通过操作系统的重启改变的额外数据(例如,以减少其中操作系统的实行暂停的系统管理模式中的固件中的指令的实行的时间)。举例来说,指令可经编程以收集硬件错误出现时存储器模块和/或微处理器的温度、硬件错误的时戳、由存储器模块报告的硬件错误事件的错误计数、硬件错误的地址信息(例如,其中硬件错误出现的存储器模块、存储器模块中的存储器组的群组、群组中的存储器组、存储器组中的行和列的识别)、机器检查异常(mce)的分类、硬件错误的类型、具有硬件错误的存储器模块的设置和/或配置参数、其中硬件错误出现的存储器模块的识别/系列编号、硬件错误出现时存储器模块和/或服务器计算机的定时参数等。
19.在收集和保留关于存储器模块中的硬件错误的全面数据之后,甚至在计算机重启作为对硬件错误的响应之后,可(例如,由存储器模块的供应商)分析所收集数据以改进存
储器模块以减少错误。全面数据可用于预测未来故障且减少与服务中的硬件错误相关联的成本。
20.图1说明根据一个实施例的被配置成记录与硬件错误相关的数据的实例计算系统。
21.图1的计算系统包含经由总线100耦合到一或多个存储器模块113、数据存储装置106和单独处理器103的处理器101。总线100可包含一或多个总线,例如具有地址总线、数据总线和控制总线的存储器总线、外围总线、系统管理总线和/或内置集成电路总线等。因此,总线100限于组件之间的互连的特定实施方案。
22.一或多个存储器模块113存储用于通过处理器101实行的指令115。指令115可包含固件,例如基本输入/输出系统(bios)117。指令115可包含例如操作系统119的软件,以及经编程以使用由操作系统119提供的服务的应用程序。
23.处理器101包含:存储器控制器105,其可从存储器模块113加载指令115以供实行;以及实行单元109,其被配置成执行由指令115识别的操作。
24.处理器101包含寄存器107的集合,其被配置成在处理器101遇到硬件错误时存储错误数据111。举例来说,寄存器107可为机器检查架构(mca)寄存器。
25.通常,错误数据111由处理器101编码以用于将硬件错误简洁地报告给操作系统119。对存取存储器模块113中的存储器位置的错误的错误数据111进行解码可需要一旦计算系统重启操作系统119的实行就可不可用的额外数据。
26.响应于存取存储器模块113中的存储器位置的错误,处理器101运行基本输入/输出系统(bios)117(例如,在系统管理模式(smm)中)。基本输入/输出系统(bios)117可经编程以包含错误处置程序121。在响应于由处理器101遇到的硬件错误而在处理器a 101中实行时,错误处置程序121使得处理器101收集与硬件错误相关的包含错误数据111和额外数据的数据,以产生错误日志127。
27.举例来说,额外数据可包含计算系统的运行时间数据125,例如其中硬件错误出现的存储器模块的温度、存储器模块的识别编号、存储器模块的操作设置/配置参数(例如,存储器模块的定时参数)等。
28.如在处理器101中实行的错误处置程序121可对从寄存器107检索到的错误数据111进行解码以确定其中硬件错误出现的存储器位置的物理存储器地址。举例来说,错误处置程序121可被配置成收集将或很可能由于重启计算系统而改变的信息,例如硬件错误出现时存储器模块和/或微处理器的温度、硬件错误的时戳、由存储器模块报告的硬件错误事件的错误计数、硬件错误的地址信息(例如,其中硬件错误出现的存储器模块、存储器模块中的存储器组的群组、群组中的存储器组、存储器组中的行和列的识别)、机器检查异常(mce)的分类、硬件错误的类型等。由于重启计算系统而不可能改变的信息可被配置成经由被配置在操作系统119中的错误处置程序123收集,以减少错误处置程序121的实行对操作系统119的实行的影响。举例来说,错误处置程序123可用于收集具有硬件错误的存储器模块的设置和/或配置参数、其中硬件错误出现的存储器模块的识别/系列编号、硬件错误出现时存储器模块和/或服务器计算机的定时参数、软件的版本号等。
29.错误处置程序121经编程以在无操作系统119的辅助的情况下将错误日志127存储在某一位置中。
30.举例来说,关于存储器模块中的硬件错误的错误日志127可经由错误处置程序121的实行存储在被配置成支持串行存在检测(spd)的存储器模块的非易失性存储器的用户数据区域中。被配置成支持spd的非易失性存储器可被称为spd存储器。
31.将错误日志127存储在其中错误出现的存储器模块的非易失性存储器中允许存储器模块从图1的计算系统被移除,附接到用于检索错误日志127以用于诊断、分析和/或故障缓解的替代性系统。举例来说,存储器模块可将动态随机存取存储器(dram)提供到处理器101。在操作系统119的实行重启时,擦除先前存储在dram中的内容。在错误日志127存储在存储器模块的spd存储器中时,错误日志127在计算系统的重启之后和/或存储器模块断电一段时间之后被保留。
32.替代地或组合地,错误处置程序121可经编程以将错误日志127传达到单独处理器103,所述单独处理器将错误日志127存储到数据存储装置104中,所述数据存储装置由独立于运行指令115的主处理器101的单独处理器103操作。
33.举例来说,处理器101可为用以运行指令的图1的计算系统的主处理器;并且单独处理器103和数据存储装置104可被配置为用以监测和管理主处理器101的操作的主板管理控制器(bmc)。主板管理控制器(bmc)的数据存储装置104可为被配置成用于处理器103的易失性存储器的部分,和/或被配置在主板管理控制器(bmc)中的永久性和/或非易失性存储装置。
34.主板管理控制器(bmc)可自主地且独立于运行基本输入/输出系统(bios)117和/或操作系统119的主处理器101操作。实行错误处置程序121的主处理器101可使用智能平台管理接口(ipmi)来将当前硬件错误的错误日志127传达到主板管理控制器(bmc)。在主处理器101重启操作系统119的实行时,主板管理控制器(bmc)中的错误日志127不受影响且因此被保留。
35.基本输入/输出系统(bios)117中的错误处置程序121可在不可校正错误后重启操作系统119的实行之后或在可校正错误后恢复操作系统119的实行之后将关于当前硬件错误的错误日志127传递到操作系统119。
36.运行操作系统119的处理器101可存取数据存储装置106,例如硬盘驱动器、固态驱动器等。举例来说,操作系统119可包含经编程以将错误日志127存储在文件系统中以供后续使用的错误处置程序123。
37.在存储器模块113中出现不可校正错误之后,处理器101运行基本输入/输出系统(bios)117(例如,在系统管理模式(smm)中以暂停操作系统119和使用操作系统119的服务的应用程序的实行)。运行基本输入/输出系统(bios)117的错误处置程序的处理器101初始地将错误日志127存储在不受计算系统的重启影响的位置中(例如,在spd存储器中和/或在主板管理控制器的数据存储装置104中)。在重启操作系统119的实行之后,运行操作系统119中的错误处置程序123的处理器101可从所述位置检索错误日志127以将错误日志记录到由操作系统119控制的数据存储装置106中的文件中。
38.在硬件错误为可校正的时,处理器101可在基本输入/输出系统(bios)117中的错误处置程序121的实行之后恢复操作系统119的先前实行,而不重启图1的计算系统。任选地,响应于可校正错误,基本输入/输出系统(bios)117中的错误处置程序121将错误日志127传递到操作系统119中的错误处置程序123(例如,使用基本输入/输出系统(bios)117与
操作系统119之间共享的存储器),而不将错误日志127保留到不受计算系统的重启影响的位置中。
39.图2和3展示根据一些实施例的记录与存储器模块中的错误相关的数据的技术。举例来说,图2和3的技术可在图1的计算系统中实施。
40.在图2中,处理器101可在正常操作模式131中操作以实行操作系统119和使用应用程序120的服务的应用程序120的指令。此外,处理器101可在系统管理模式133中操作,其中响应于来自存储器模块113的错误事件135的指示而暂停操作系统119和应用程序120的指令的实行以运行基本输入/输出系统(bios)117的错误处置程序121。
41.存储器模块113具有非易失性存储器,例如spd存储器,其通常不被操作系统119和应用程序120的操作使用。
42.在系统管理模式133中的错误处置程序121的实行期间,处理器101对错误数据111进行解码以产生错误事件135的错误事件细节143。在错误记录137的操作中,运行错误处置程序121的处理器101将错误事件细节存储到存储器模块113的非易失性存储器141中(例如,spd存储器的用户可存取部分)。
43.举例来说,错误事件细节143可通过对处理器101的寄存器107中的错误数据111进行解码而包含具有错误事件的存储器模块113中的存储器位置的物理地址(例如,存储器位置的行和列地址)。
44.错误事件细节143可包含错误事件135出现时存储器模块113的设置145和存储器模块113和/或计算系统的操作参数147,例如温度、定时参数等。
45.错误事件细节143可在存储器模块113重启之后和/或在断电一段时间之后使用,而不依赖于计算系统的状态和/或不需要处理器101恢复操作系统119的经暂停实行。
46.任选地,错误事件细节143可包含存储器模块113的识别、处理器101的识别、错误事件135的情境、事件135出现时处理器101和/或存储器模块113的操作条件。错误事件细节可用于分析错误的起因、预测未来错误、改进存储器模块的设计以避免或减少错误等。
47.在图3中,经由实行错误处置程序121的处理器101执行的错误记录137的操作将错误事件细节143传达到主板管理控制器(bmc)139。主板管理控制器(bmc)139的处理器103将错误事件细节143存储到由处理器103控制的数据存储装置104中。主处理器101中操作系统119的实行的重启并不影响记录在主板管理控制器(bmc)139中的错误事件细节143。
48.任选地,错误事件细节143存储在数据存储装置104中,而非存储在存储器模块113的非易失性存储器141中。
49.图4展示根据一个实施例的记录与硬件错误相关的数据的方法。举例来说,图4的方法可使用图2和/或图3的技术在图1的计算系统中实施。
50.在框161处,计算系统(例如,如图1中所说明)的处理器101检测存储器模块113中(或计算系统的另一硬件组件中)的错误。
51.举例来说,处理器101可为被配置成具有将硬件错误报告给运行在微处理器中的操作系统119的机制的微处理器,所述机制例如机器检查架构(mca)。
52.在框163处,处理器101产生关于错误的第一数据(例如,错误数据111)。
53.在框165处,处理器101将第一数据(例如,错误数据111)写入到处理器101中的寄存器107中。
54.举例来说,第一数据(例如,错误数据111)可根据机器检查架构(mca)的预定义规范呈经编码格式。
55.为了将硬件错误报告给运行在处理器101中的操作系统119,处理器101可进入其中暂停操作系统119的实行以实行计算系统的固件以处理第一数据(例如,错误数据111)的模式(例如,系统管理模式133)。固件可经编程以包含错误处置程序121。当在处理器101中实行错误处置程序121时,执行框169和171的操作。
56.在框167处,处理器101开始实行计算系统(例如,如图1中所说明)的固件中的第一指令(例如,错误处置程序121)。
57.举例来说,第一指令(例如,错误处置程序121)可被配置为计算系统的基本输入/输出系统(bios)的部分,其响应于系统管理模式133中的硬件错误而实行。
58.在框169处,处理器101经由第一指令(例如,错误处置程序121)的实行至少部分地基于寄存器107中的第一数据(例如,错误数据111)而产生关于错误的第二数据(例如,错误日志127、错误事件细节143)。
59.在框171处,处理器101经由第一指令(例如,错误处置程序121)的实行将第二数据(例如,错误日志127、错误事件细节143)存储在不受处理器101中的操作系统119的重启实行影响的位置处。
60.举例来说,在操作系统119的重启实行期间,处理器101运行基本输入/输出系统(bios)117以初始化计算系统中的各种组件的状态。初始化操作可清除存储器模块113的容量的至少部分中的数据。因此,操作系统119的实行的重启可影响存储器模块113的此部分。
61.举例来说,不受接着处理器101中的操作系统119的重启实行影响的位置可为被配置在存储器模块113中的预定义非易失性存储器,例如被配置成实施/支持串行存在检测(spd)的存储器。
62.举例来说,不受接着处理器101中的操作系统119的重启实行影响的位置可为连接到处理器101的主板管理控制器(bmc)139。
63.举例来说,处理器101经由第一指令(例如,错误处置程序121)的实行对第一数据(例如,错误数据111)进行解码以确定错误的物理存储器地址作为第二数据(例如,错误日志127、错误事件细节143)的部分。
64.在硬件错误之后,计算系统可能无法在不重启的情况下从错误恢复。因此,在第一指令(例如,错误处置程序121)的实行之后,处理器101可重启操作系统119的实行,所述操作系统可被配置成包含经编程以从位置检索第二数据(例如,错误日志127、错误事件细节143)且将第二数据写入到由操作系统119控制的数据存储装置106中的第二指令(例如,错误处置程序123)。
65.在一些例子中,计算系统可在不重启的情况下从错误中恢复。因此,在第一指令(例如,错误处置程序121)的实行之后,处理器101可恢复操作系统119的经暂停实行,所述操作系统可被配置成包含经编程以将第二数据写入到由操作系统119控制的数据存储装置106中的第二指令(例如,错误处置程序123)。
66.任选地,处理器101经由第一指令(例如,错误处置程序121)的实行确定在错误出现时计算系统的操作参数147;并且第二数据(例如,错误日志127、错误事件细节143)包含操作参数147。
67.举例来说,操作参数147可为存储器模块113的温度、处理器101的温度、存储器模块113的设置145或操作存储器模块113的定时参数,或其任何组合。
68.任选地,第二数据(例如,错误日志127、错误事件细节143)进一步包含存储器模块113的识别符或处理器101的识别符或其任何组合。
69.在一些实施方案中,在由微处理器(例如,处理器101)实行时,第一指令(例如,错误处置程序121)经编程以响应于存储器模块113中的错误而对存储在微处理器(例如,处理器101)的寄存器107中的第一数据(例如,错误数据111)进行解码,从对第一数据(例如,错误数据111)进行解码的结果产生第二数据(例如,错误日志127、错误事件细节143),并且与存储器模块113通信以将第二数据存储到存储器模块113的非易失性存储器141中。替代性,或与将第二数据存储到存储器模块113的非易失性存储器141中组合,第一指令(例如,错误处置程序121)经编程以将第二数据传达到连接到微处理器(例如,处理器101)的主板管理控制器(bmc)139。
70.举例来说,非易失性存储器141被配置成实施串行存在检测(spd);并且寄存器107被配置成实施机器检查架构(mca)。
71.在一些实施方案中,在由微处理器(例如,处理器101)实行时,第一指令(例如,错误处置程序121)经编程以:从微处理器(例如,处理器101)的寄存器107检索关于硬件错误的第一数据(例如,错误数据111);在硬件错误后的操作系统119的重启实行之前基于第一数据而产生关于硬件错误的第二数据(例如,错误日志127、错误事件细节143);以及将第二数据从微处理器(例如,处理器101)传达到连接到微处理器的控制器(例如,主板管理控制器(bmc)139)。控制器被配置成监测微处理器的操作且记录第二数据。
72.可基于位于具有微处理器(例如,处理器101)的计算装置中但在硬件错误时位于微处理器的外部(例如,存储器模块113内部)的第一数据(例如,错误数据111)和第三数据(例如,设置145、操作参数147、运行时间数据125)而产生第二数据(例如,错误日志127、错误事件细节143)。因此,仅记录第一数据(例如,错误数据111)不足以在重启操作系统119的实行之后产生第二数据(例如,错误日志127、错误事件细节143),这是因为重启可能会擦除第三数据。
73.图5说明计算机系统200的实例机器,在所述计算机系统内可实行用于使得机器执行本文中所论述的方法中的任一或多种的指令集。在一些实施例中,计算机系统200可对应于包含、耦合到或利用存储器子系统或可用于执行错误处置程序206的操作(例如,以实行指令以执行对应于参考图1-4描述的错误处置程序121和/或错误处置程序123的操作)的主机系统。在替代性实施例中,机器可连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中进行操作。
74.机器可为服务器、个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝式电话、网络器具、网络路由器、交换机或桥接器或能够(依序或以其它方式)实行指定将由机器采取的动作的指令集的任何机器。此外,虽然说明单个机器,但应认为术语“机器”也包含机器的任何集合,所述机器单独地或共同地实行指令集(或多个指令集)以执行本文中所论述的方法中的任一或多种。
75.实例计算机系统200包含处理装置202、主存储器204(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram)例如同步dram(sdram)或rambus dram(rdram)等)、静态随机存取存储器(sram)等),以及数据存储系统218,其经由总线230(其可包含多个总线)彼此通信。
76.处理装置202表示一或多个通用处理装置,例如微处理器、中央处理单元等。更确切地说,处理装置可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置202还可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置202被配置成实行用于执行本文中所论述的操作和步骤的指令226。计算机系统200可进一步包含网络接口装置208以在网络220上通信。
77.数据存储系统218可包含机器可读媒体224(也称为计算机可读媒体),其上存储有一或多个指令集226或体现本文中所描述的方法或功能中的任一或多种的软件。指令226还可在由计算机系统200实行期间完全或至少部分地驻存在主存储器204内和/或处理装置202内,主存储器204和处理装置202也构成机器可读存储媒体。机器可读媒体224、数据存储系统218和/或主存储器204可对应于存储器子系统。
78.在一个实施例中,指令226包含用以实施对应于错误处置程序206的功能性的指令(例如,参考图1-4所描述的错误处置程序121和/或错误处置程序123的操作)。虽然在实例实施例中机器可读媒体224展示为单个媒体,但应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应认为包含能够存储或编码供机器实行的指令集且使得机器执行本公开的方法中的任一或多种的任何媒体。术语“机器可读存储媒体”应认为包含但不限于固态存储器、光学媒体和磁性媒体
79.一般来说,用以实施图2和/或3的技术的计算装置可为具有主机系统和存储器子系统的计算系统。存储器子系统可包含媒体,例如一或多个易失性存储器装置、一或多个非易失性存储器装置(例如,存储器模块113),或此类的组合。
80.存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm),和各种类型的非易失性双列直插式存储器模块(nvdimm)。
81.举例来说,计算系统可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(iot)的装置、嵌入式计算机(例如,运载工具、工业设备或联网商业装置中所包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。
82.计算系统的主机系统耦合到一或多个存储器子系统。如本文中所使用,“耦合到”或“与

耦合”通常是指组件之间的连接,所述连接可为间接通信连接或直接通信连接(例如,不具有居间组件),无论有线或无线,包含例如电气连接、光学连接、磁连接等连接。
83.主机系统可包含处理器芯片组(例如,处理器101)和由处理器芯片组实行的软件堆叠。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,105)
(例如,nvdimm控制器)和存储协议控制器(例如,pcie控制器、sata控制器)。主机系统使用存储器子系统,例如将数据写入到存储器子系统和从存储器子系统读取数据。
84.主机系统可经由物理主机接口耦合到存储器子系统。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接scsi(sas)接口、双数据速率(ddr)存储器总线接口、小型计算机系统接口(scsi)、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm套接接口)、开放nand快闪接口(onfi)、双数据速率(ddr)接口、低功率双数据速率(lpddr)接口,或任何其它接口。物理主机接口可用于在主机系统与存储器子系统之间发射数据。在存储器子系统通过pcie接口与主机系统耦合时,主机系统可进一步利用nvm高速(nvme)接口存取组件(例如,存储器模块113)。物理主机接口可提供用于在存储器子系统与主机系统之间传递控制、地址、数据和其它信号的接口。一般来说,主机系统可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取一或多个存储器子系统。
85.主机系统的处理装置可例如为微处理器、中央处理单元(cpu)、处理器的处理核心、实行单元等。在一些例子中,控制器105可被称为存储器控制器、存储器管理单元和/或起始器。在一个实例中,控制器105控制通过耦合在主机系统与存储器子系统(例如,存储器模块113)之间的总线100进行的通信。一般来说,控制器105可将期望存取存储器模块113的命令或请求发送到存储器子系统。控制器105可进一步包含用于与存储器子系统通信的接口电路系统。
86.存储器模块113可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。易失性存储器装置可为但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
87.非易失性存储器组件的一些实例包含与非(或not and)(nand)型快闪存储器和就地写入存储器,例如三维交叉点(“3d交叉点”)存储器。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变而执行位存储。另外,与许多基于快闪的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含例如二维nand(2d nand)和三维nand(3d nand)。
88.存储器模块113中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(slc)每单元可存储一个位。其它类型的存储器单元,例如多层级单元(mlc)、三层级单元(tlc)、四层级单元(qlc)和五层级单元(plc)可每单元存储多个位。在一些实施例中,存储器模块113中的每一个可包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc、plc或此类的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的slc部分、mlc部分、tlc部分、qlc部分和/或plc部分。存储器模块113的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。在一些类型的存储器(例如,nand)的情况下,页可分组以形成块。
89.尽管描述了非易失性存储器装置,例如3d交叉点型和nand型存储器(例如,2dnand、3d nand),但存储器模块113可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移
力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器和电可擦除可编程只读存储器(eeprom)。
90.已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用于将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在此处且通常被认为是产生所要结果的操作的自洽序列。操作为要求对物理数量进行物理操控的操作。这些数量通常但未必呈能够被存储、组合、比较和以其它方式操控的电气或磁信号的形式。有时,主要出于通用的原因,已证明将这些信号称为位、值、元件、符号、字符、术语、编号等是方便的。
91.然而,应牢记,所有这些和类似术语应与适当物理数量相关联,并且仅仅是应用于这些数量的方便标签。本公开可涉及将计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据操控和转变为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理数量的其它数据的计算机系统或类似电子计算装置的动作和过程。
92.本公开还涉及用于执行本文中的操作的设备。此设备可出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、cd-rom和磁性光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
93.本文中所呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用于执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。将了解,可使用多种编程语言来实施如本文所描述的本公开的教示。
94.本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
95.在此描述中,为了简化描述,各种功能和操作可被描述为由计算机指令执行或引起。然而,所属领域的技术人员将认识到,此类表达的意图是所述功能源自由一或多个控制器或处理器(例如微处理器)实行计算机指令。替代地或组合地,功能和操作可使用具有或不具有软件指令的专用电路系统来实施,例如使用专用集成电路(asic)或现场可编程门阵列(fpga)来实施。可使用并无软件指令的固线式电路系统或结合软件指令实施实施例。因此,技术不限于硬件电路系统和软件的任何具体组合,也不限于由数据处理系统实行的指令的任何特定来源。
96.在前述说明书中,已参考其具体实例实施例描述了本公开的实施例。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献