CN115794694A - 存储器设备可管理性总线 - Google Patents

存储器设备可管理性总线 Download PDF

Info

Publication number
CN115794694A
CN115794694A CN202210951554.4A CN202210951554A CN115794694A CN 115794694 A CN115794694 A CN 115794694A CN 202210951554 A CN202210951554 A CN 202210951554A CN 115794694 A CN115794694 A CN 115794694A
Authority
CN
China
Prior art keywords
memory devices
sideband
address
memory
individual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210951554.4A
Other languages
English (en)
Inventor
G·韦尔吉斯
J·R·盖尔斯
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 CN115794694A publication Critical patent/CN115794694A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

电子装置的实施例可以包括:一个或多个衬底;以及控制器,该控制器耦合到一个或多个衬底,控制器包括用于进行以下操作的电路装置:向十个或更多个存储器设备列举相应的边带地址,以及提供与十个或更多个存储器设备中的个体存储器设备的双向通信,该个体存储器设备具有被列举到该个体存储器设备的特定边带地址。公开并要求保护其他实施例。

Description

存储器设备可管理性总线
背景技术
电子系统可以包括在系统中的设备之间的主要通信接口,该主要通信接口在一些系统中可以被称为“带内”总线。系统还可以包括在主要通信接口外部在设备之间的另一通信接口,该另一通信接口在一些系统中可以被称为“边带”总线。与边带总线相比,带内总线通常支持高得多的带宽。有时用于这种边带通信的示例接口包括由移动工业处理器接口(MIPI)I2C和I3C规范定义的接口。
附图说明
本文所描述的材料在附图中通过示例而非限制的方式说明。为了说明的简单和清楚,在图中示出的元素不一定按比例绘制。例如,为了清楚起见,一些元素的维度可能相对于其他元素被夸大。此外,在认为适当的情况下,附图标记已经在附图中重复以指示对应或类似的元素。在附图中:
图1是根据实施例的电子系统的示例的框图。
图2是根据实施例的电子装置的示例的框图。
图3是根据实施例的电子装置的另一示例的框图。
图4A至图4C是根据实施例的控制存储器的方法的示例的流程图;
图5是根据实施例的计算系统的示例的框图;
图6A至图6C是根据实施例的通信协议格式的示例的说明图;
图7A至图7C是根据实施例的通信协议格式的另一示例的说明图;
图8是根据实施例的负载减少DIMM(LRDIMM)的示例的框图;
图9是根据实施例的已注册DIMM(RDIMM)的示例的框图;
图10是根据实施例的未注册DIMM(UDIMM)的示例的框图;以及
图11是根据实施例的计算系统的另一示例的框图。
具体实施方式
现在参考附图描述一个或多个实施例或实现方式。虽然讨论了具体的配置和布置,但应当理解,这样做只是出于说明的目的。相关领域的技术人员将认识到,可以在不脱离描述的精神和范围的情况下采用其他配置和布置。对相关领域的技术人员而言将显而易见的是,也可以在除了本文所描述的系统和应用之外的各种其他系统和应用中采用本文所描述的技术和/或布置。
虽然以下描述阐述了可以在诸如片上系统(SoC)架构之类的架构中体现的各种实现方式,但是本文所描述的技术和/或布置的实现方式不限于特定架构和/或计算系统,并且可以出于类似的目的由任何架构和/或计算系统实现。例如,采用例如多个集成电路(IC)芯片和/或封装和/或各种计算设备和/或消费者电子(CE)设备(例如,机顶盒、智能电话等)的各种架构可以实现本文所描述的技术和/或布置。此外,虽然以下描述可以阐述许多具体细节(例如,系统组件的逻辑实现方式、类型和相互关系、逻辑分区/集成选择等),但可以在没有这种具体细节的情况下实践所要求保护的主题。在其他实例中,一些材料(例如,控制结构和完整的软件指令序列)可能不会被详细示出,以免混淆本文公开的材料。
本文公开的材料可以以硬件、现场可编程门阵列(FPGA)、固件、驱动器、软件或其任何组合实现。本文公开的材料也可以被实现作为存储在机器可读介质上的指令,该指令可以由Moore机、Mealy机和/或一个或多个处理器读取并执行。机器可读介质可以包括用于存储或发送以可由机器(例如,计算设备)读取的形式的信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);动态随机存取存储器(DRAM)、磁盘存储介质;光学存储介质;NV存储器设备;相变存储器、量子位固态量子存储器、电学、光学、声学或其他形式的传播信号(例如,载波、红外信号、数字信号等)以及其他。
说明书中对“一种实现方式”、“实现方式”、“示例实现方式”等的引用指示所描述的实现方式可以包括特定特征、结构或特性,但每个实施例不一定包括该特定特征、结构或特性。此外,这样的短语不一定指代相同的实现方式。此外,无论本文是否明确描述,当结合实施例描述特定特征、结构或特性时,主张的是结合其他实现方式来实现这样的特征、结构或特性在本领域技术人员的知识范围内。
本文描述的各种实施例可以包括存储器组件和/或到存储器组件的接口。这样的存储器组件可以包括易失性和/或非易失性(NV)存储器。易失性存储器可以是要求电力来维持由介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可以包括各种类型的随机存取存储器(RAM),例如,动态RAM(DRAM)或静态RAM(SRAM)。可以在存储器模块中使用的一种特定类型的DRAM是同步动态RAM(SDRAM)。在特定实施例中,存储器组件的DRAM可以符合由联合电子设备工程委员会(JEDEC)颁布的标准,例如,用于双倍数据速率(DDR)SDRAM的JESD79F、用于DDR2SDRAM的JESD79-2F、用于DDR3 SDRAM的JESD79-3F、用于DDR4SDRAM的JESD79-4A、用于低功率DDR(LPDDR)的JESD209、用于LPDDR2的JESD209-2、用于LPDDR3的JESD209-3和用于LPDDR4的JESD209-4(这些标准可在jedec.org处获得)。这样的标准(和类似的标准)可以被称为基于DDR的标准,并且实现这样的标准的存储设备的通信接口可以被称为基于DDR的接口。
参考图1,电子系统10的实施例可以包括十个或更多个存储器设备12A至12N(统称为“存储器设备12”),以及通信地耦合到十个或更多个存储器设备12的控制器14。控制器14可以包括第一电路装置16,该第一电路装置16用于向十个或更多个存储器设备12列举相应的边带地址,以及提供与十个或更多个存储器设备12中的个体存储器设备12A的双向通信,该个体存储器设备12A具有被列举到该个体存储器设备12A的特定边带地址。在一些实施例中,第一电路装置16还可以被配置为选择十个或更多个存储器设备12的子组用于边带地址列举,并且向所选择的组发送列举命令(例如,可以将列举命令广播到整个组,并且只有具有被断言的芯片选择的子组将作用于列举命令,而所有其他设备将忽略该命令)。
例如,第一电路装置16可以被配置为针对十个或更多个存储器设备12中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号,并且针对十个或更多个存储器设备12中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。在一些实施例中,第一电路装置16还可以被配置为在十个或更多个存储器设备12中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。例如,第一电路装置16可以被配置为在所选择的子组中广播要被编程的边带地址的第一部分的值(例如,其中该值仅由存储器设备12的具有被断言的芯片选择信号的子组处理)。
在一些实施例中,个体存储器设备12A(例如,以及个体存储器设备12B至12N)包括第二电路装置18,该第二电路装置18用于响应于来自控制器14的列举命令而对用于个体存储器设备12A的边带地址的第一部分进行编程,并且根据个体存储器设备12A的带式引脚(strap pin)上的电压值来设置用于个体存储器设备12A的边带地址的第二部分。例如,第二电路装置18可以被配置为:响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值;将电压值转换为数字值;以及基于该数字值来设置用于个体存储器设备12A的边带地址的第二部分。在本文的实施例中的任一个实施例中,十个或更多个存储器设备12中的至少一个存储器设备可以包括集成电路(IC)芯片,该IC芯片具有动态随机存取存储器(DRAM)或与IC芯片在同一管芯上的数据缓冲器(DB)。
上述存储器设备12、控制器14、第一电路装置16、第二电路装置18和其他系统组件中的每一个的实施例可以以硬件、软件或其任何合适的组合来实现。例如,硬件实现方式可以包括可配置逻辑(例如,可编程逻辑阵列(PLA)、FPGA、复杂可编程逻辑器件(CPLD))或使用电路技术(例如,专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术)的固定功能逻辑硬件或其任何组合。控制器14的实施例可以包括通用控制器、专用控制器、存储器控制器、存储控制器、微控制器、通用处理器、专用处理器、中央处理器单元(CPU)、执行单元等。在一些实施例中,存储器设备12、第一电路装置16、第二电路装置18和/或其他系统存储器可以位于包括控制器14(例如,在同一管芯上)的各种组件中或与包括控制器14(例如,在同一管芯上)的各种组件共置。
可替代地或另外地,这些组件的全部或部分可以在一个或多个模块中被实现作为要由处理器或计算设备执行的存储在机器可读存储介质或计算机可读存储介质(例如,RAM、ROM、可编程ROM(PROM)、固件等)中的逻辑指令集。例如,用于执行组件的操作的计算机程序代码可以以一种或多种操作系统(OS)适用/适当的编程语言(包括面向对象的编程语言,例如,PYTHON、PERL、JAVA、SMALLTALK、C++、C#、VHDL、Verilog、System C等;以及常规的过程编程语言,例如,“C”编程语言或类似的编程语言)的任何组合编写。例如,存储器设备12、持久性存储介质或其他系统存储器可以存储指令集,该指令集在由控制器14执行时,使得系统10实现系统10的一个或多个组件、特征或方面(例如,向存储器设备12列举边带地址;提供与存储器设备12中的个体存储器设备的双向通信,该个体存储器设备具有被列举到该个体存储器设备的特定边带地址;等等)。
参考图2,电子装置20的实施例可以包括一个或多个衬底22以及耦合到一个或多个衬底22的控制器24。控制器24可以包括电路装置26,该电路装置26用于向十个或更多个存储器设备列举相应的边带地址,以及提供与十个或更多个存储器设备中的个体存储器设备的双向通信,该个体存储器设备具有被列举到该个体存储器设备的特定边带地址。在一些实施例中,电路装置26还可以被配置为选择十个或更多个存储器设备的子组用于边带地址列举,并且向所选择的组发送列举命令。例如,电路装置26可以被配置为针对十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号,并且针对十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。在一些实施例中,电路装置26还可以被配置为在十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。例如,电路装置26可以被配置为在所选择的子组中广播要被编程的边带地址的第一部分的值。在本文的实施例中的任一个实施例中,十个或更多个存储器设备12中的至少一个存储器设备可以包括IC芯片,该IC芯片具有DRAM或与IC芯片在同一管芯上的DB。
参考图3,电子装置30的实施例可以包括存储器32以及耦合到存储器32的电路装置34。电路装置34可以被配置为响应于来自控制器的列举命令而设置用于装置30的边带地址,并且在所列举的边带地址处提供与控制器的双向通信。在一些实施例中,电路装置34还可以被配置为响应于来自控制器的列举命令而对用于装置30的边带地址的第一部分进行编程,并且根据装置30的带式引脚36上的电压值来设置用于装置30的边带地址的第二部分。例如,电路装置34可以被配置为:响应于列举命令而将电流注入到带式引脚36中,以根据带式引脚36上的电阻值产生电压值;将电压值转换为数字值;以及基于该数字值来设置用于装置30的边带地址的第二部分。在一些实施例中,具有预定电阻值的电阻器38可以被耦合在带式引脚36与VSS之间,以产生为装置30提供边带地址的期望的第二部分的期望的电压值。在一些实施例中,装置30可以包括IC芯片,并且存储器32可以包括DRAM。可替代地或另外地,存储器32可以包括DB。
控制器24、电路装置26、存储器32和/或电路装置34的实施例可以在系统、装置、计算机、设备等(例如,本文所描述的那些)中实现。更具体地,电路装置26、34的硬件实现方式可以包括可配置逻辑(例如,PLA、FPGA、CPLD)或使用电路技术(例如,ASIC、CMOS或TTL技术)的固定功能逻辑硬件或其任何组合。可替代地或另外地,电路装置26、34可以在一个或多个模块中被实现作为要由处理器或计算设备执行的存储在机器可读存储介质或计算机可读存储介质(例如,RAM、ROM、PROM、固件等)中的逻辑指令集。例如,用于执行组件的操作的计算机程序代码可以以一种或多种OS适用/适当的编程语言(包括面向对象的编程语言,例如,PYTHON、PERL、JAVA、SMALLTALK、C++、C#、VHDL、Verilog、System C等;以及常规的过程编程语言,例如,“C”编程语言或类似的编程语言)的任何组合编写。
例如,电路装置26、34可以在可以包括一个或多个衬底的半导体装置上实现,其中电路装置26、34耦合到该一个或多个衬底。在一些实施例中,电路装置26、34可以至少部分地在半导体衬底(例如,硅、蓝宝石、砷化镓等)上的可配置逻辑和固定功能硬件逻辑中的一个或多个中实现。例如,电路装置26、34可以包括耦合到衬底的晶体管阵列和/或其他集成电路组件,其中晶体管沟道区位于衬底内。在电路装置26、34与衬底之间的界面(interface)可能不是突变结。电路装置26、34也可以被认为包括在衬底的初始晶片上生长的外延层。
现在转向图4A至图4C,控制存储器的方法40的实施例可以包括在框41处向十个或更多个存储器设备列举相应的边带地址,并且在框42处提供与十个或更多个存储器设备中的个体存储器设备的双向通信,该个体存储器设备具有被列举到该个体存储器设备的特定边带地址。方法40的一些实施例还可以包括在框43处选择十个或更多个存储器设备的子组用于边带地址列举,并且在框44处向所选择的组发送列举命令(例如,可以将列举命令广播到整个组,并且只有具有被断言的芯片选择的子组将作用于列举命令,而所有其他设备将忽略该命令)。
例如,方法40可以包括在框45处针对十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号,并且在框46处针对十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。然后,方法40可以包括在框47处在十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。例如,方法40可以包括在框48处在所选择的子组中广播要被编程的边带地址的第一部分的值。
在一些实施例中,方法40还可以包括在框49处由个体存储器设备响应于列举命令而对边带地址的第一部分进行编程,并且在框50处由个体存储器设备根据个体存储器设备的带式引脚上的电压值来设置边带地址的第二部分。例如,方法40还可以包括:在框51处由个体存储器设备响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值;在框52处由个体存储器设备将电压值转换为数字值;以及在框53处由个体存储器设备基于该数字值来设置边带地址的第二部分。在本文的实施例中的任一个实施例中,在框54处,十个或更多个存储器设备中的至少一个存储器设备可以包括具有DRAM的IC芯片。可替代地或另外地,在框55处,十个或更多个存储器设备中的至少一个存储器设备包括具有DB的IC芯片。
方法40的实施例可以在系统、装置、计算机、设备等(例如,本文所描述的那些)中实现。更具体地,方法40的硬件实现方式可以包括可配置逻辑(例如,PLA、FPGA、CPLD)或使用电路技术(例如,ASIC、CMOS或TTL技术)的固定功能逻辑硬件或其任何组合。混合硬件实现方式包括静态动态片上系统(SoC)可重新配置设备,使得控制流和数据路径实现功能的逻辑。可替代地或另外地,方法40可以在一个或多个模块中被实现作为要由处理器或计算设备执行的存储在机器可读存储介质或计算机可读存储介质(例如,RAM、ROM、PROM、固件等)中的逻辑指令集。例如,用于执行组件的操作的计算机程序代码可以以一种或多种OS适用/适当的编程语言(包括面向对象的编程语言,例如,PYTHON、PERL、JAVA、SMALLTALK、C++、C#、VHDL、Verilog、System C等;以及常规的过程编程语言,例如,“C”编程语言或类似的编程语言)的任何组合编写。
例如,方法40可以在计算机可读介质上实现。方法40的实施例或部分可以在固件、应用(例如,通过应用编程接口(API))或在OS上运行的驱动器软件中实现。另外地,逻辑指令可以包括汇编指令、指令集架构(ISA)指令、数据集架构(DSA)命令、机器指令、机器相关指令、微码、状态设置数据、用于集成电路装置的配置数据、使电子电路装置和/或在硬件本地的其他结构组件(例如,主机处理器、中央处理单元/CPU、微控制器、Moore机、Mealy机等)个性化的状态信息。
一些实施例可以有利地为多于八(8)个连接的存储器设备提供用于DRAM可管理性总线的技术。常规的I2C/I3C域控制器仅可以对具有相同设备类型(例如,设备ID)的八(8)个设备进行寻址。一些系统可能受益于远远多于八个DRAM和/或数据缓冲器(DB)(例如,在一些系统中为超过50个设备)的边带可管理性。为了配置多于8个设备,常规的边带总线技术要求将所有设备分组为每组最多8个设备。然后可以在列举阶段期间唯一地选择每个组并向每个组指派设备类型ID。
利用常规技术,每个DRAM和每个DB可寻址性要求带内信令。例如,常规系统可以通过带内DDR总线来执行多于8个设备的配置,并且不利用边带总线进行这种配置。一个问题在于带内总线需要在使用前进行设置和/或训练。在更高的速度下,DDR接口本身要求在进一步的带内配置之前进行配置。另外地,主机无法在运行时期间在不影响带宽的情况下访问个体存储器设备。有利地,实施例克服了前述问题中的一个或多个。一些实施例提供了扩展(例如,具有I3C接口的)边带总线上的针对DRAM和DB的寻址的技术。在一些实施例中,针对每一个DRAM和DB提供唯一的边带地址。
参考图5,计算系统58的实施例包括寄存器时钟驱动器(RCD)59和多个设备(例如,DRAM设备、DB设备等),这些设备在逻辑上被组织为矩阵或网格,其中设备按标称行和/或列进行分组。在一些实现方式中,扩展的寻址排他地依赖于边带总线来单独控制RCD 59的芯片选择(CS)输出。RCD 59本身位于边带总线上。例如,为了列举双列直插式存储器模块(DIMM)上的个体DRAM设备和DB设备地址,这些设备被分组为由行和列两者组成的网格。DIMM可以包括在物理上被组织在遵循逻辑组织的网格中的设备,但这种物理组织不是必要的。
每行与来自RCD的对应的专用DDR CS输出信号相关联。另一方面,在同一行内的每个设备的列位置由固定的唯一值(例如,被称为列位置或列地址)标识,该固定的唯一值可以由具有预定值的带式电阻器(strapping resistor)来确定。可替代地,可以采用其他技术来向每个设备上的带式引脚提供期望的电压值。可替代地,ROM或熔丝可编程寄存器可以保持该固定的唯一值。
在列举阶段期间,通过使用RCD上的CS选择组(例如,DRAM的行)来将4位行地址编程到设备中。在接收到列举命令之后,设备将少量电流注入到其自己的带式引脚中,该带式引脚与唯一且指定的电阻器值相关以产生唯一的电压电平。每个设备随后将该电压值转换并锁存为用于列位置的3位数字ID,然后关闭电流源。
参考图6A至图6C,用于DRAM设备的示例通信协议格式可以包括用于设备地址的七(7)个位和用于指示读取请求或写入请求的一个位。图6B示出了可以用于为DRAM设备提供4位行位置(例如,ROWID)的信号和字段的示例。图6C示出了可以被耦合在带式引脚与VSS之间以生成用于DRAM设备的3位列位置(例如,COLID)的固定电阻值的示例。图6A示出了如何可以将行位置和列位置映射到用于DRAM设备的唯一设备地址。
参考图7A至图7C,用于DB设备的示例通信协议格式可以包括用于设备地址的七(7)个位和用于指示读取请求或写入请求的一个位。图7B示出了可以用于为DB设备提供4位行位置(例如,ROW ID)的信号和字段的示例。图7C示出了可以被耦合在带式引脚与VSS之间以生成3位主机标识符(例如,HID)的固定电阻值的示例。图7A示出了如何可以将行和HID映射到用于DB设备的唯一设备地址。
在列举阶段期间,在一些实施例中,行位置和列位置(例如,或HID)被建立并映射到唯一的7位地址中。例如,7位地址可以遵循标准的I2C/I3C地址协议格式。在地址列举完成之后,主机边带总线控制器(例如,I3C主机控制器)然后可以从“网格”中唯一地选择任何设备(例如,DRAM或DB),以获得对所选择的设备的配置寄存器的完全访问权。有利地,在列举之后,边带总线寻址不要求DDR CS信号或任何DDR信号,使得可以返回从RCD传出的DDR信号以供DDR协议使用。实施例有利地允许通过边带总线而不是带内存储器通道与DRAM和DB进行双向通信。例如,实施例可以利用边带总线,在初始化时访问个体DRAM和DB设备以设置终止值、时序值、封装后修复等。实施例还可以利用边带总线,在运行时访问个体DRAM和DB设备以读取温度值、其他健康/错误条件等。实施例可以利用边带总线来代替常规技术以进行设备配置,并且还允许出于安全目的对个体设备进行认证。
参考图8,负载减少DIMM(LRDIMM)80的实施例包括如所示地耦合的RCD 81、串行存在检测(SPD)集线器82、功率管理IC(PMIC)83和两个热传感器TS0和TS1。LRDIMM 80利用网格或矩阵以将前面的和后面的DRAM设备(例如,其中,前面的DRAM以阴影示出)和负载减少(LR)缓冲器分隔成标称行和列以用于列举。一些存储器设备可以包括两个环回引脚,LRDIMM 80的实施例可以为边带总线时钟和数据提供双重用途,而不改变环回功能。例如,DRAM Rank CS信号用于在寻址列举期间限定行地址,并且类似地,Buffer CS信号用于LR缓冲器。矩阵行地址存储在SPD集线器82中,并在总线上广播到所有DRAM/缓冲器。只有具有断言的CS信号的DRAM/bugger才将其行地址向所广播的值列举。列地址由带式引脚电流列举,该带式引脚电流由到VSS的电阻器值控制(例如,如图3和图6C和图7C中示出的)。在地址列举完成之后,主机边带总线控制器具有对所有设备配置寄存器的完全访问权,并且不再需要CS信号来访问在其相应的所列举的地址处的个体设备。
参考图9,已注册DIMM(RDIMM)90的实施例包括如所示地耦合的RCD 91、SPD集线器92、PMIC 93和两个热传感器TS0和TS1。RDIMM 90利用网格或矩阵以将前面的和后面的DRAM设备(例如,其中,前面的DRAM以阴影示出)分隔成标称行和列以用于列举。DRAM设备包括两个环回引脚,RDIMM 90的实施例为边带总线时钟和数据提供双重用途,而不改变环回功能。例如,DRAM Rank CS信号用于在寻址列举期间限定行地址。矩阵行地址存储在SPD集线器92中,并在总线上广播到所有DRAM设备。只有具有断言的CS信号的DRAM设备才将其行地址向所广播的值列举。列地址由带式引脚电流列举,该带式引脚电流由到VSS的电阻器值控制(例如,如图3和图6C和图7C中示出的)。在地址列举完成之后,主机边带总线控制器具有对所有设备配置寄存器的完全访问权,并且不再需要CS信号来访问在其相应的所列举的地址处的个体设备。
参考图10,未注册DIMM(UDIMM)100(例如,小外形DIMM(SODIMM))的实施例包括如所示地耦合的SPD集线器102、PMIC 103和两个热传感器TS0和TS1。UDIMM 100利用网格或矩阵以将前面的和后面的DRAM设备(例如,其中,前面的DRAM以阴影示出)分隔成标称行和列以用于列举。DRAM设备包括两个环回引脚,UDIMM 100的实施例为边带总线时钟和数据提供双重用途,而不改变环回功能。例如,DRAM Rank CS信号用于在寻址列举期间限定行地址。矩阵行地址存储在SPD集线器102中,并在总线上广播到所有DRAM设备。只有具有断言的CS信号的DRAM设备才将其行地址向所广播的值列举。列地址由带式引脚电流列举,该带式引脚电流由到VSS的电阻器值控制(例如,如图3和图6C和图7C中示出的)。在地址列举完成之后,主机边带总线控制器具有对所有设备配置寄存器的完全访问权,并且不再需要CS信号来访问在其相应的所列举的地址处的个体设备。
本文讨论的技术可以在各种计算系统(例如,包括诸如台式机、工作站、服务器、机架系统等之类的非移动计算设备,诸如智能电话、平板计算机、超级移动个人计算机(UMPC)、膝上型计算机、超极本计算设备、智能手表、智能眼镜、智能手环等之类的移动计算设备,和/或诸如物联网(IoT)设备(例如,传感器、相机等)之类的客户端/边缘设备)中提供。
现在转到图11,计算系统200的实施例可以包括一个或多个处理器202-1至202-N(在本文中通常被称为“多个处理器202”或“处理器202”)。处理器202可以经由互连或总线204进行通信。每个处理器202可以包括各种组件,为了清楚起见,仅参考处理器202-1讨论了这些组件中的一些。因此,其余处理器202-2至202-N中的每一个可以包括参考处理器202-1讨论的相同或相似的组件。
在一些实施例中,处理器202-1可以包括一个或多个处理器核心206-1至206-M(在本文中称为“多个核心206”或更一般地称为“核心206”)、高速缓存208(在各种实施例中,该高速缓存208可以是共享高速缓存或私有高速缓存)和/或路由器210。处理器核心206可以在单个集成电路(IC)芯片上实现。此外,芯片可以包括一个或多个共享高速缓存和/或私有高速缓存(例如,高速缓存208)、总线或互连(例如,总线或互连212)、电路装置270、存储器控制器或其他组件。
在一些实施例中,路由器210可以用于在处理器202-1的各种组件和/或系统200之间进行通信。此外,处理器202-1可以包括多于一个路由器210。此外,多个路由器210可以进行通信以实现在处理器202-1的内部或外部的各种组件之间的数据路由。
高速缓存208可以存储由处理器202-1的一个或多个组件(例如,核心206)利用的数据(例如,包括指令)。例如,高速缓存208可以对存储在存储器214中的数据进行本地缓存以供处理器202的组件进行更快的访问。如图11中示出的,存储器214可以经由互连204与处理器202进行通信。在一些实施例中,高速缓存208(其可以是共享的)可以具有各种级别,例如,高速缓存208可以是中级高速缓存和/或最后一级高速缓存(LLC)。而且,核心206中的每一个核心可以包括1级(L1)高速缓存(216-1)(在本文中通常称为“L1高速缓存216”)。处理器202-1的各种组件可以通过总线(例如,总线212)和/或存储器控制器或集线器直接与高速缓存208通信。
如图11中示出的,存储器214可以通过存储器控制器220耦合到系统200的其他组件。存储器214可以包括易失性存储器,并且可以可互换地称为主存储器或系统存储器。即使存储器控制器220被示为耦合在互连204与存储器214之间,存储器控制器220也可以位于系统200中的其他位置。例如,在一些实施例中,存储器控制器220或存储器控制器220的部分可以被设置在处理器202中的一个处理器内。可替代地,存储器214可以包括字节可寻址的非易失性存储器。
系统200可以经由网络接口228(例如,该网络接口228经由有线接口或无线接口与计算机网络和/或云229通信)与其他设备/系统/网络通信。例如,网络接口228可以包括天线(未示出),以无线地(例如,经由电气和电子工程师协会(IEEE)802.11接口(包括IEEE802.11a/b/g/n/ac等)、蜂窝接口、3G、4G、LTE、蓝牙等)与网络/云229通信。
系统200还可以包括存储设备,例如,经由存储控制器225耦合到互连204的存储设备230。因此,存储控制器225可以控制由系统200的各种组件对存储设备230的访问。此外,即使存储控制器225被示为直接耦合到图11中的互连204,存储控制器225也可以可替代地经由存储总线/互连(例如,SATA(串行高级技术附件)总线、外围组件互连(PCI)(或快速PCI(PCIe)接口)、快速NVM(NVMe)、串行附加SCSI(SAS)、光纤通道等)与系统200的一个或多个其他组件(例如,其中存储总线经由某种其他逻辑(如总线桥、芯片组等)耦合到互连204)进行通信。另外地,在各种实施例中,存储控制器225可以并入存储器控制器逻辑中,或在相同的集成电路(IC)设备(例如,在与存储设备230相同的电路板设备上或在与存储设备230相同的壳体中)上提供。
此外,存储控制器225和/或存储设备230可以耦合到一个或多个传感器(未示出)以接收用于指示由一个或多个传感器检测到的状态或值的信息(例如,以一个或多个位或信号的形式)。这些传感器可以被提供为靠近系统200(或本文讨论的其他计算系统)的组件(包括核心206、互连204或212、处理器202外部的组件、存储设备230、SSD总线、SATA总线、存储控制器225、电路装置260、电路装置270等),以感测影响系统/平台的功率/热行为的各种因素(例如,温度、操作频率、操作电压、功耗和/或核心间通信活动等)的变化。
如图11中示出的,电路装置260和电路装置270的特征或方面可以分布在整个系统200中,和/或与系统200的各种组件共置/集成。系统200的可能要求或受益于边带设备管理技术的任何方面可以包括电路装置260和/或电路装置270。例如,处理器202、存储器214、存储器控制器220、存储控制器225和网络接口228可以各自包括电路装置260,该电路装置260可以在与系统200相同的壳体中和/或完全集成在系统200的印刷电路板(PCB)上。例如,电路装置260可以被配置为实现各种实施例的列举/配置方面,而电路装置270可以被配置为实现各种实施例的设备方面。
有利地,电路装置260和电路装置270可以包括用于实现系统10(图1)、装置20(图2)、装置30(图3)、方法40(图4A至图4C)、计算系统58(图5)、协议格式(图6A至图7C)、LRDIMM80(图8)、RDIMM 90(图9)、UDIMM/SODIMM 100(图10)和/或本文讨论的边带设备管理特征中的任一个的一个或多个方面的技术。系统200可以包括位于前述组件外部的另外的电路装置260、270。
在一些实施例中,存储器控制器220可以包括带内总线252(例如,具有DDR接口)和耦合到存储器214的边带总线254(例如,具有I3C接口)。存储器214可以包括十个或更多个存储器设备(例如,具有多个DRAM芯片和/或DB芯片的DIMM),并且电路装置260可以被配置为向存储器214的十个或更多个存储器设备列举相应的边带地址,并且提供与所述存储器214中的个体存储器设备的双向通信,该个体存储器设备具有被列举到该个体存储器设备的特定边带地址。在一些实施例中,电路装置260还可以被配置为选择十个或更多个存储器设备的子组用于边带地址列举,并且向所选择的组发送列举命令。例如,电路装置260可以被配置针对十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号,并且针对十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。在一些实施例中,电路装置260还可以被配置为在十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。例如,电路装置260可以被配置为在所选择的子组中广播要被编程的边带地址的第一部分的值(例如,其中该值仅由具有被断言的芯片选择信号的存储器设备的子组处理)。
在一些实施例中,电路装置270被配置为响应于来自存储器控制器220的列举命令而对用于存储器214的个体存储器设备的边带地址的第一部分进行编程,并且根据个体存储器设备的带式引脚上的电压值来设置用于个体存储器设备的边带地址的第二部分。例如,电路装置270可以被配置响应于来自存储器控制器220的列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值,将该电压值转换为数字值,并且基于该数字值来设置用于个体存储器设备的边带地址的第二部分。
附加注释和示例
示例1包括一种电子装置,包括:一个或多个衬底;以及控制器,该控制器耦合到一个或多个衬底,控制器包括用于进行以下操作的电路装置:向十个或更多个设备(例如,存储器设备)列举相应的边带地址,以及提供与该十个或更多个设备中的个体设备的双向通信,该个体设备具有被列举到该个体设备的特定边带地址。
示例2包括示例1的装置,其中,电路装置还用于进行以下操作:选择十个或更多个设备的子组用于边带地址列举;以及向所选择的组发送列举命令。
示例3包括示例2的装置,其中,电路装置还用于进行以下操作:针对十个或更多个设备中的在所选择的子组中的每个设备断言相应的芯片选择信号;以及针对十个或更多个设备中的不在所选择的子组中的每个设备取消断言相应的芯片选择信号。
示例4包括示例2至3中任一项的装置,其中,电路装置还用于进行以下操作:在十个或更多个设备中的在所选择的子组中的每个设备中对边带地址的第一部分进行编程。
示例5包括示例4的装置,其中,电路装置还用于进行以下操作:在所选择的子组中广播要被编程的边带地址的第一部分的值。
示例6包括示例1至5中任一项的装置,其中,十个或更多个设备中的至少一个设备包括具有DRAM的集成电路芯片。
示例7包括示例1至6中任一项的装置,其中,十个或更多个设备中的至少一个设备包括具有DB的集成电路芯片。
示例8包括一种电子系统,包括:十个或更多个存储器设备;以及控制器,该控制器通信地耦合到十个或更多个存储器设备,该控制器包括用于进行以下操作的第一电路装置:向十个或更多个存储器设备列举相应的边带地址,以及提供与十个或更多个存储器设备中的个体存储器设备的双向通信,该个体存储器设备具有被列举到该个体存储器设备的特定边带地址。
示例9包括示例8的系统,其中,第一电路装置还用于进行以下操作:选择十个或更多个存储器设备的子组用于边带地址列举;以及向所选择的组发送列举命令。
示例10包括示例9的系统,其中,第一电路装置还用于进行以下操作:针对十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号;以及针对十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。
示例11包括示例9至10中任一项的系统,其中,第一电路装置还用于进行以下操作:在十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。
示例12包括示例11的系统,其中,第一电路装置还用于进行以下操作:在所选择的子组中广播要被编程的边带地址的第一部分的值。
示例13包括示例8至12中任一项的系统,其中,个体存储器设备包括用于进行以下操作的第二电路装置:响应于来自控制器的列举命令,而对用于个体存储器设备的边带地址的第一部分进行编程;以及根据个体存储设备的带式引脚上的电压值来设置用于个体存储器设备的边带地址的第二部分。
示例14包括示例13的系统,其中,第二电路装置还用于进行以下操作:响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值;将电压值转换为数字值;以及基于数字值来设置用于个体存储器设备的边带地址的第二部分。
示例15包括示例8至14中任一项的系统,其中,十个或更多个存储器设备中的至少一个存储器设备包括具有DRAM的集成电路芯片。
示例16包括示例8至15中任一项的系统,其中,十个或更多个存储器设备中的至少一个存储器设备包括具有DB的集成电路芯片。
示例17包括一种控制存储器的方法,包括:向十个或更多个存储器设备列举相应的边带地址;以及提供与十个或更多个存储器设备中的个体存储器设备的双向通信,该个体存储器设备具有被列举到该个体存储器设备的特定边带地址。
示例18包括示例17的方法,还包括:选择十个或更多个存储器设备的子组用于边带地址列举;以及向所选择的组发送列举命令。
示例19包括示例18的方法,还包括:针对十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号;以及针对十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。
示例20包括示例18至19中任一项的方法,还包括:在十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。
示例21包括示例20的方法,还包括:在所选择的子组中广播要被编程的边带地址的第一部分的值。
示例22包括示例17至21中任一项的方法,还包括:由个体存储器设备响应于列举命令而对边带地址的第一部分进行编程;以及由个体存储器设备根据个体存储器设备的带式引脚上的电压值来设置边带地址的第二部分。
示例23包括示例22的方法,还包括:由个体存储器设备响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值;由个体存储器设备将电压值转换为数字值;以及由个体存储器设备基于数字值来设置边带地址的第二部分。
示例24包括示例17至23中任一项的方法,其中,十个或更多个存储器设备中的至少一个存储器设备包括具有DRAM的集成电路芯片。
示例25包括示例17至24中任一项的方法,其中,十个或更多个存储器设备中的至少一个存储器设备包括具有DB的集成电路芯片。
示例26包括至少一种非暂时性机器可读介质,包括多个指令,多个指令响应于在计算设备上被执行而使计算设备进行以下操作:向十个或更多个存储器设备列举相应的边带地址;以及提供与十个或更多个存储器设备中的个体存储器设备的双向通信,该个体存储器设备具有被列举到该个体存储器设备的特定边带地址。
示例27包括示例26的至少一种非暂时性机器可读介质,包括多个进一步的指令,多个进一步的指令响应于在计算设备上被执行而使计算设备进行以下操作:选择十个或更多个存储器设备的子组用于边带地址列举;以及向所选择的组发送列举命令。
示例28包括示例27的至少一种非暂时性机器可读介质,包括多个进一步的指令,多个进一步的指令响应于在计算设备上被执行而使计算设备进行以下操作:针对十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号;以及针对十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。
示例29包括示例27至28中任一项的至少一种非暂时性机器可读介质,包括多个进一步的指令,多个进一步的指令响应于在计算设备上被执行而使计算设备进行以下操作:在十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。
示例30包括示例29的至少一种非暂时性机器可读介质,包括多个进一步的指令,多个进一步的指令响应于在计算设备上被执行而使计算设备进行以下操作:在所选择的子组中广播要被编程的边带地址的第一部分的值。
示例31包括示例26至30中任一项的至少一种非暂时性机器可读介质,包括多个进一步的指令,多个进一步的指令响应于在计算设备上被执行而使计算设备进行以下操作:由个体存储器设备响应于列举命令而对边带地址的第一部分进行编程;以及由个体存储器设备根据个体存储器设备的带式引脚上的电压值来设置边带地址的第二部分。
示例32包括示例31中的至少一种非暂时性机器可读介质,包括多个进一步的指令,多个进一步的指令响应于在计算设备上被执行而使计算设备进行以下操作:由个体存储器设备响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值;由个体存储器设备将电压值转换为数字值;以及由个体存储器设备基于数字值来设置边带地址的第二部分。
示例33包括示例26至32中任一项的至少一种非暂时性机器可读介质,其中,十个或更多个存储器设备中的至少一个存储器设备包括具有DRAM的集成电路芯片。
示例34包括示例26至33中任一项的至少一种非暂时性机器可读介质,其中,十个或更多个存储器设备中的至少一个存储器设备包括具有DB的集成电路芯片。
示例35包括一种存储器控制器装置,包括:用于向十个或更多个存储器设备列举相应的边带地址的单元;以及用于提供与十个或更多个存储器设备中的个体存储器设备的双向通信的单元,该个体存储器设备具有被列举到个体存储器设备的特定边带地址。
示例36包括示例35的装置,还包括:用于选择十个或更多个存储器设备的子组用于边带地址列举的单元;以及用于向所选择的组发送列举命令的单元。
示例37包括示例36的装置,还包括:用于针对十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号的单元;以及用于针对十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号的单元。
示例38包括示例36至37中任一项的装置,还包括:用于在十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程的单元。
示例39包括示例38的装置,还包括:用于在所选择的子组中广播要被编程的边带地址的第一部分的值的单元。
示例40包括示例35至39中任一项的装置,还包括:用于由个体存储器设备响应于列举命令而对边带地址的第一部分进行编程的单元;以及用于由个体存储器设备根据个体存储器设备的带式引脚上的电压值来设置边带地址的第二部分的单元。
示例41包括示例40的装置,还包括:用于由个体存储器设备响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值的单元,用于由个体存储器设备将电压值转换为数字值的单元,以及用于由个体存储器设备基于数字值来设置边带地址的第二部分的单元。
示例42包括示例35至41中任一项的装置,其中,十个或更多个存储器设备中的至少一个存储器设备包括具有DRAM的集成电路芯片。
示例43包括示例35至42中任一项的装置,其中,十个或更多个存储器设备中的至少一个存储器设备包括具有DB的集成电路芯片。
示例44包括一种电子装置,包括设备(例如,存储器设备)和耦合到该设备的电路装置,该电路装置用于:响应于来自控制器的列举命令而设置用于该设备边带地址;以及提供在所列举的边带地址处与控制器的双向通信。
示例45包括示例44的装置,其中,电路装置还用于:响应于来自控制器的列举命令而对用于设备的边带地址的第一部分进行编程;以及根据设备的带式引脚上的电压值来设置用于设备的边带地址的第二部分。
示例46包括示例45的装置,其中,电路装置还用于:响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值;将电压值转换为数字值;以及基于数字值来设置用于设备的边带地址的第二部分。
示例47包括示例44至46中任一项的装置,其中,设备包括具有DRAM的集成电路芯片。
示例48包括示例44至46中任一项的装置,其中,设备包括具有DB的集成电路芯片。
示例49包括一种方法,包括:响应于来自控制器的列举命令来设置用于设备(例如,存储器设备)的边带地址,以及提供在所列举的边带地址处与控制器的双向通信。
示例50包括示例49的方法,还包括:响应于来自控制器的列举命令而对用于设备的边带地址的第一部分进行编程,并且根据设备的带式引脚上的电压值来设置用于设备的边带地址的第二部分。
示例51包括示例50的方法,还包括:响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值;将电压值转换为数字值;以及基于数字值来设置用于设备的边带地址的第二部分。
示例52包括示例49至51中任一项的方法,其中,设备包括具有DRAM的集成电路芯片。
示例53包括示例49至51中任一项的方法,其中,设备包括具有DB的集成电路芯片。
示例54包括至少一种非暂时性机器可读介质,包括多个指令,多个指令响应于在计算设备上被执行而使计算设备进行以下操作:响应于来自控制器的列举命令而设置用于设备的边带地址;以及提供在所列举的边带地址处与控制器的双向通信。
示例55包括示例54的至少一种非暂时性机器可读介质,包括多个进一步的指令,多个进一步的指令响应于在计算设备上被执行而使计算设备进行以下操作:响应于来自控制器的列举命令而对用于设备的边带地址的第一部分进行编程,并且根据设备的带式引脚上的电压值来设置用于设备的边带地址的第二部分。
示例56包括示例55的至少一种非暂时性机器可读介质,包括多个进一步的指令,多个进一步的指令响应于在计算设备上被执行而使计算设备进行以下操作:响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值;将电压值转换为数字值;以及基于数字值来设置用于设备的边带地址的第二部分。
示例57包括示例54至56中任一项的至少一种非暂时性机器可读介质,其中,设备包括具有DRAM的集成电路芯片。
示例58包括示例54至56中任一项的至少一种非暂时性机器可读介质,其中,设备包括具有DB的集成电路芯片。
示例59包括一种装置,包括:用于响应于来自控制器的列举命令而设置用于设备的边带地址的单元,以及用于提供在所列举的边带地址处与控制器的双向通信的单元。
示例60包括示例59的装置,还包括:用于响应于来自控制器的列举命令而对用于设备的边带地址的第一部分进行编程的单元,以及用于根据设备的带式引脚上的电压值来设置边带地址的第二部分的单元。
示例61包括示例60的装置,还包括:用于响应于列举命令而将电流注入到带式引脚中,以根据带式引脚上的电阻值产生电压值的单元;用于将电压值转换为数字值的单元;以及用于基于数字值来设置用于设备的边带地址的第二部分的单元。
示例62包括示例59至61中任一项的装置,其中,设备包括具有DRAM的集成电路芯片。
示例63包括示例59至61中任一项的装置,其中,设备包括具有DB的集成电路芯片。
术语“耦合”在本文中可以用于指代在所讨论的组件之间的任何类型的直接或间接关系,并且可以应用于电气、机械、流体、光学、电磁、机电或其他连接。另外地,除非另有说明,否则术语“第一”、“第二”等在本文中可能仅用于便于讨论,并且不具有特定的时间或时间顺序意义。
如在本申请和权利要求中使用的,由术语“……中的一个或多个”连接的项目列表可以表示所列项目的任何组合。例如,短语“A,B和C中的一个或多个”和短语“A,B或C中的一个或多个”两者都可以表示A;B;C;A和B;A和C;B和C;或A,B和C。本文描述的系统的各种组件可以以软件、固件和/或硬件和/或其任何组合实现。例如,本文讨论的系统或设备的各种组件可以至少部分地由例如可以在诸如智能电话之类的计算系统中找到的计算SoC的硬件提供。本领域技术人员可以认识到,本文描述的系统可以包括尚未在对应附图中描绘的附加组件。例如,本文讨论的系统可以包括附加组件(例如,位流复用器或解复用器模块等),为了清楚起见尚未描绘这些附加组件。
虽然本文讨论的示例过程的实现方式可以包括以所示次序示出的所有操作的执行,但是本公开在这方面不受限制,并且在各种示例中,本文的示例过程的实现方式可以仅包括所示操作的子集、以不同于所示次序执行的操作、或附加操作。
另外地,本文讨论的操作中的任何一个或多个操作可以响应于由一个或多个计算机程序产品提供的指令来进行。这样的程序产品可以包括提供指令的信号承载介质,这些指令在由例如处理器执行时可以提供本文描述的功能。可以以一种或多种机器可读介质的任何形式提供计算机程序产品。因此,例如,包括一个或多个图形处理单元或处理器核心的处理器可以响应于由一个或多个机器可读介质传达到处理器的程序代码和/或指令或指令集来进行示例过程的框中的一个或多个框。通常,机器可读介质可以传达以程序代码和/或指令或指令集的形式的软件,其可以使本文描述的设备和/或系统中的任一个实现本文讨论的操作的至少一部分和/或如本文所讨论的设备、系统或任何模块或组件的任何部分。
如在本文描述的任何实现方式中使用的,术语“模块”指代软件逻辑、固件逻辑、硬件逻辑和/或被配置为提供本文所描述的功能的电路装置的任何组合。软件可以体现为软件包、代码和/或指令集或指令,并且如在本文描述的任何实现方式中使用的“硬件”可以包括例如单独或以任何组合的硬连线电路装置、可编程电路装置、状态机电路装置、固定功能电路装置、执行单元电路装置和/或存储由可编程电路装置执行的指令的固件。这些模块可以共同地或单独地被体现为形成较大系统(例如,集成电路(IC)、片上系统(SoC)等)的一部分的电路装置。
可以使用硬件元件、软件元件或两者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用编程接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据任何数量的因素(例如,期望的计算速率、功率水平、热容差、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束)而变化。
至少一个实施例的一个或多个方面可以通过存储在表示处理器内的各种逻辑的机器可读介质上的代表性指令来实现,该代表性指令当由机器读取时使机器制造逻辑以执行本文所描述的技术。这种表示(称为IP核心)可以存储在有形的机器可读介质上,并供应给各种客户或制造设施,以加载到实际制造逻辑或处理器的制造机器中。
虽然已经参考各种实现方式描述了本文阐述的某些特征,但该描述不旨在以限制意义进行解释。因此,本文描述的实现方式的各种修改以及对本公开所属领域的技术人员显而易见的其他实现方式被认为落入本公开的精神和范围内。
将认识到的是,实施例不限于如此描述的实施例,而是可以在不脱离所附权利要求的范围的情况下通过修改和变更来实践。例如,上述实施例可以包括特征的特定组合。然而,上述实施例在这方面不限于此,并且在各种实现方式中,上述实施例可以包括仅采用这些特征的子集、采用这些特征的不同次序、采用这些特征的不同组合、和/或采用比明确列出的那些特征更多的特征。因此,实施例的范围应当参考所附权利要求以及这些权利要求所赋予的等效物的完整范围来确定。

Claims (25)

1.一种电子装置,包括:
一个或多个衬底;以及
控制器,所述控制器耦合到所述一个或多个衬底,所述控制器包括用于进行以下操作的电路装置:
向十个或更多个存储器设备列举相应的边带地址,以及
提供与所述十个或更多个存储器设备中的个体存储器设备的双向通信,所述个体存储器设备具有被列举到所述个体存储器设备的特定边带地址。
2.根据权利要求1所述的装置,其中,所述电路装置还用于进行以下操作:
选择所述十个或更多个存储器设备的子组用于边带地址列举;以及
向所选择的组发送列举命令。
3.根据权利要求2所述的装置,其中,所述电路装置还用于进行以下操作:
针对所述十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号;以及
针对所述十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。
4.根据权利要求2至3中任一项所述的装置,其中,所述电路装置还用于进行以下操作:
在所述十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。
5.根据权利要求4所述的装置,其中,所述电路装置还用于进行以下操作:
在所选择的子组中广播要被编程的所述边带地址的第一部分的值。
6.根据权利要求1至3中任一项所述的装置,其中,所述十个或更多个存储器设备中的至少一个存储器设备包括具有动态随机存取存储器的集成电路芯片。
7.根据权利要求1至3中任一项所述的装置,其中,所述十个或更多个存储器设备中的至少一个存储器设备包括具有数据缓冲器的集成电路芯片。
8.一种控制存储器的方法,包括:
向十个或更多个存储器设备列举相应的边带地址;以及
提供与所述十个或更多个存储器设备中的个体存储器设备的双向通信,所述个体存储器设备具有被列举到所述个体存储器设备的特定边带地址。
9.根据权利要求8所述的方法,还包括:
选择所述十个或更多个存储器设备的子组用于边带地址列举;以及
向所选择的组发送列举命令。
10.根据权利要求9所述的方法,还包括:
针对所述十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号;以及
针对所述十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。
11.根据权利要求9至10中任一项所述的方法,还包括:
在所述十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。
12.根据权利要求11所述的方法,还包括:
在所选择的子组中广播要被编程的所述边带地址的第一部分的值。
13.根据权利要求8至10中任一项所述的方法,还包括:
由所述个体存储器设备响应于列举命令而对边带地址的第一部分进行编程;以及
由所述个体存储器设备根据所述个体存储器设备的带式引脚上的电压值来设置所述边带地址的第二部分。
14.根据权利要求13所述的方法,还包括:
由所述个体存储器设备响应于所述列举命令而将电流注入到所述带式引脚中,以根据所述带式引脚上的电阻值产生所述电压值;
由所述个体存储器设备将所述电压值转换为数字值;以及
由所述个体存储器设备基于所述数字值来设置所述边带地址的第二部分。
15.根据权利要求8至10中任一项所述的方法,其中,所述十个或更多个存储器设备中的至少一个存储器设备包括具有动态随机存取存储器的集成电路芯片。
16.根据权利要求8至10中任一项所述的方法,其中,所述十个或更多个存储器设备中的至少一个存储器设备包括具有数据缓冲器的集成电路芯片。
17.至少一种非暂时性机器可读介质,包括多个指令,所述多个指令响应于在计算设备上被执行而使所述计算设备进行以下操作:
向十个或更多个存储器设备列举相应的边带地址;以及
提供与所述十个或更多个存储器设备中的个体存储器设备的双向通信,所述个体存储器设备具有被列举到所述个体存储器设备的特定边带地址。
18.根据权利要求17所述的至少一种非暂时性机器可读介质,包括多个进一步的指令,所述多个进一步的指令响应于在所述计算设备上被执行而使所述计算设备进行以下操作:
选择所述十个或更多个存储器设备的子组用于边带地址列举;以及
向所选择的组发送列举命令。
19.根据权利要求18所述的至少一种非暂时性机器可读介质,包括多个进一步的指令,所述多个进一步的指令响应于在所述计算设备上被执行而使所述计算设备进行以下操作:
针对所述十个或更多个存储器设备中的在所选择的子组中的每个存储器设备断言相应的芯片选择信号;以及
针对所述十个或更多个存储器设备中的不在所选择的子组中的每个存储器设备取消断言相应的芯片选择信号。
20.根据权利要求18至19中任一项所述的至少一种非暂时性机器可读介质,包括多个进一步的指令,所述多个进一步的指令响应于在所述计算设备上被执行而使所述计算设备进行以下操作:
在所述十个或更多个存储器设备中的在所选择的子组中的每个存储器设备中对边带地址的第一部分进行编程。
21.根据权利要求20所述的至少一种非暂时性机器可读介质,包括多个进一步的指令,所述多个进一步的指令响应于在所述计算设备上被执行而使所述计算设备进行以下操作:
在所选择的子组中广播要被编程的所述边带地址的第一部分的值。
22.根据权利要求17至19中任一项所述的至少一种非暂时性机器可读介质,包括多个进一步的指令,所述多个进一步的指令响应于在所述计算设备上被执行而使所述计算设备进行以下操作:
由所述个体存储器设备响应于列举命令而对边带地址的第一部分进行编程;以及
由所述个体存储器设备根据所述个体存储器设备的带式引脚上的电压值来设置所述边带地址的第二部分。
23.根据权利要求22所述的至少一种非暂时性机器可读介质,包括多个进一步的指令,所述多个进一步的指令响应于在所述计算设备上被执行而使所述计算设备进行以下操作:
由所述个体存储器设备响应于所述列举命令而将电流注入到所述带式引脚中,以根据所述带式引脚上的电阻值产生所述电压值;
由所述个体存储器设备将所述电压值转换为数字值;以及
由所述个体存储器设备基于所述数字值来设置所述边带地址的第二部分。
24.根据权利要求17至19中任一项所述的至少一种非暂时性机器可读介质,其中,所述十个或更多个存储器设备中的至少一个存储器设备包括具有动态随机存取存储器的集成电路芯片。
25.根据权利要求17至19中任一项所述的至少一种非暂时性机器可读介质,其中,所述十个或更多个存储器设备中的至少一个存储器设备包括具有数据缓冲器的集成电路芯片。
CN202210951554.4A 2021-09-09 2022-08-09 存储器设备可管理性总线 Pending CN115794694A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/470,278 US20210406206A1 (en) 2021-09-09 2021-09-09 Memory device manageability bus
US17/470,278 2021-09-09

Publications (1)

Publication Number Publication Date
CN115794694A true CN115794694A (zh) 2023-03-14

Family

ID=79030973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210951554.4A Pending CN115794694A (zh) 2021-09-09 2022-08-09 存储器设备可管理性总线

Country Status (4)

Country Link
US (1) US20210406206A1 (zh)
JP (1) JP2023039906A (zh)
CN (1) CN115794694A (zh)
DE (1) DE102022118933A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11509751B2 (en) * 2020-12-23 2022-11-22 Dell Products L.P. Self-describing system using single-source/multi-destination cable

Also Published As

Publication number Publication date
US20210406206A1 (en) 2021-12-30
DE102022118933A1 (de) 2023-03-09
JP2023039906A (ja) 2023-03-22

Similar Documents

Publication Publication Date Title
US20200089407A1 (en) Inter zone write for zoned namespaces
CN110059048B (zh) 基于检测传感器数据的阻抗补偿
KR20210080171A (ko) 구역 그룹화를 갖는 구역화된 네임스페이스
US11837314B2 (en) Undo and redo of soft post package repair
EP3805937B1 (en) Memory device including interface circuit and method of operating the same
EP3901778A1 (en) Stacked memory device with end to end data bus inversion
US20200363998A1 (en) Controller and persistent memory shared between multiple storage devices
US20230099202A1 (en) Ssd with reduced secure erase time and endurance stress
US10802742B2 (en) Memory access control
CN115794694A (zh) 存储器设备可管理性总线
US20230305954A1 (en) Direct map memory extension for storage class memory
US11144466B2 (en) Memory device with local cache array
US11675532B2 (en) Memory command that specifies one of multiple possible write data values where the write data is not transported over a memory data bus
US11567877B2 (en) Memory utilized as both system memory and near memory
EP3876088A1 (en) Negotiated power-up for ssd data refresh
JP2021099891A (ja) ワイドプリフェッチを行う高帯域幅dramメモリ
US10304530B2 (en) Per-pin compact reference voltage generator
US9940050B2 (en) Apparatus and method to speed up memory frequency switch flow
US20220091934A1 (en) Adaptive device data correction with increased memory failure handling
US20230305708A1 (en) Interface for different internal and external memory io paths
US20230317144A1 (en) Synchronous independent plane read operation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication