CN101971150A - 用于存储器扩展的系统和方法 - Google Patents

用于存储器扩展的系统和方法 Download PDF

Info

Publication number
CN101971150A
CN101971150A CN2009801017863A CN200980101786A CN101971150A CN 101971150 A CN101971150 A CN 101971150A CN 2009801017863 A CN2009801017863 A CN 2009801017863A CN 200980101786 A CN200980101786 A CN 200980101786A CN 101971150 A CN101971150 A CN 101971150A
Authority
CN
China
Prior art keywords
row
memory
physics
data
subchannel
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
CN2009801017863A
Other languages
English (en)
Other versions
CN101971150B (zh
Inventor
马里奥·玛佐拉
萨提安雷亚那·尼什塔拉
露咔·卡菲罗
菲利普·马内拉
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN101971150A publication Critical patent/CN101971150A/zh
Application granted granted Critical
Publication of CN101971150B publication Critical patent/CN101971150B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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
    • G06F13/1684Details of memory controller using multiple buses
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)
  • Logic Circuits (AREA)
  • Memory System (AREA)

Abstract

此文件除其他之外讨论用于存储器扩展的示例系统和方法。一示例实施例包括经由一通道从存储器控制器接收存储器请求。基于存储器请求,该示例实施例包括选择存储器中的要耦合到通道的子通道的位置,以及配置一组场效应晶体管以将通道与子通道耦合。在该示例实施例中,可以允许数据经由通道和子通道在存储器控制器和存储器中的所述位置之间流动。

Description

用于存储器扩展的系统和方法
优先权
本申请要求2008年1月8日递交的美国专利申请序列号No.11/971,066的优先权,该申请的全部内容被结合于此。
技术领域
本专利文件一般地涉及计算机体系结构(architecture),并且更具体地而非限制性地涉及用于存储器扩展的系统和方法。
背景技术
典型的主存储器系统包括一个或多个存储器通道以及连接到每个通道的一个或多个存储器模块。
附图说明
在不一定是成比例地绘制的附图中,贯穿若干视图,类似的数字描述实质上类似的组件。具有不同字母后缀的类似数字表示实质上类似的组件的不同实例。作为示例而非作为限制地,附图一般地例示出本文件中所讨论各种实施例。
图1是例示出根据示例实施例的计算机系统的框图;
图2是根据一示例实施例的耦合到处理器的存储器系统的框图;
图3是例示出根据一示例实施例的用于存储器扩展的方法的流程图;
图4是根据一示例实施例的存储器系统的框图;
图5是例示出根据一示例实施例的用于对存储器控制器进行编程的方法的流程图。
图6是示出根据一示例实施例的存储器扩展地图的图表;
图7是示出逻辑带寄存器的双列直插存储器模块(RDIMM)与物理RDIMM之间的示例关系的框图;
图8是根据一示例实施例的用于存储位置信息的方法的流程图;
图9是例示出根据一示例实施例的用于报告存储器错误的方法的流程图;
图10是根据一示例实施例的存储器扩展系统的框图;
图11是根据一示例实施例的用于存储器扩展的另一方法的流程图;
图12是示出根据一示例实施例的示例地址和控制路径电路的框图;
图13是根据一示例实施例的用于分发存储器命令的方法的流程图;
图14是例示出根据一示例实施例的用于修改配置值的方法的流程图;
图15是例示出根据一示例实施例的示例地址和控制路径电路和数据连接电路的框图;以及
图16是例示出根据一示例实施例的用于控制数据流的方法的流程图。
具体实施方式
概述
一般地,针对存储器扩展来描述示例系统和方法。
在一示例实施例中,逻辑存储器位置对应于RDIMM上的逻辑排(rank)。RDIMM可以包括四个逻辑排的动态随机存取存储器(DRAM)器件,每个逻辑排的DRAM器件具有4千兆比特(Gb)容量并且是4个比特宽的。本公开的示例映射模块可以从存储器控制器接收激活命令来激活所述逻辑排之一内的存储器行(row)。
在示例配置中,物理排而不是逻辑排被实际地耦合到存储器控制器。各自具有1Gb容量的DRAM器件的并且是4个比特宽的、(例如,8个RDIMM上的)32个物理排的存储器器件,可以经由映射模块物理地耦合到存储器控制器。响应于激活命令,示例映射模块可以将相关联的行地址的一部分和逻辑排编号映射到存储器访问请求所对应的32个物理排(以及例如子通道)之一。
可以由基本输入输出系统(BIOS)模块来配置存储器控制器,以在存储器系统的初始化期间利用映射模块进行操作。存储器控制器的配置可以包括将来自物理RDIMM的串行存在检测(SPD)信息转换为来自逻辑RDIMM的SPD信息。
一旦经过配置,存储器控制器就可以尝试从逻辑排内的激活的存储器行中的存储器单元(memory cell)进行读取或者对其进行写入。某些示例实施例还包括响应于激活命令,针对逻辑排中的每一个层(bank)存储与该命令相关联的物理排信息。出现在最初的激活命令以及后续的读、写或其他命令等中的逻辑排标识(ID)和层ID可被用来定位对应于激活的行的物理排。
映射模块可以包括地图(map)和控制单元以及数据路径单元。示例地图和控制单元可以被配置为将逻辑存储器地址映射到物理存储器地址并且被配置为管理存储器命令。示例数据路径单元可以控制在存储器控制器和物理存储器器件之间的数据流的流动和定时。为了将存储器控制器连接到所映射的物理排,示例数据路径单元可以通过将场效应晶体管(FET)用作开关来将单个通信通道连接到多个子通道中的任意一个。
在示例实施例中,由存储器控制器发布到一逻辑排的某些存储器命令将被映射模块分发到被映射到该逻辑排的物理排。模式寄存器写命令也可以被修改以负责逻辑和物理存储器器件之间的等待时间(latency)差。
存储器控制器可以通过使用纠错码(ECC)来检测逻辑RDIMM上的错误。某些实施例可以包括BIOS模块,该BIOS模块可以将对应于由存储器控制器报告的逻辑存储器地址的物理存储器地址确定为是存储器错误的源。
该概述意欲提供对本专利申请主题的概述。该概述并非意欲提供对所主张内容的排他的或穷尽的说明。详细的描述被包括以提供关于本专利申请主题的更多信息。
示例实施例
以下详细描述包括对构成详细描述一部分的附图的参考。附图示出根据示例实施例的例示。这里还被称作“示例”的这些实施例被足够详细地描述以供本领域技术人员实践本公开。可以组合这些实施例,使用其他的实施例,或者可以作出结构、逻辑和电改变,而不会背离所主张内容的范围。因此,以下详细描述不应被视为限制性的,并且由随附的权利要求及其等同物来限定该范围。
在该文件中,术语“一”或“一个”被使用,如在专利文件中常见的,其包括一个或多于一个。在该文件中,术语“或”被用于指代非排他的或,以使得“A或B”包括“A而非B”、“B而非A”以及“A和B”,除非另有指示。此外,在该文件中提及的所有出版物、专利和专利文件都通过引用被整体结合于此,就好像通过引用被单独地结合于此一样。如果在该文件和通过这样引用而结合的那些文件之间存在不一致的使用,则在所结合的(一个或多个)参考文件中的使用应当被视为对该文件中的使用的补充;对于不能协调的不一致,则以该文件中的使用为主。
图1是例示出根据示例实施例的计算机系统100的框图。在计算机系统100内是一组用于使得机器执行这里讨论的方法中的任何一种或多种方法的指令。在替代性的示例实施例中,机器作为独立设备进行操作或者可被连接到(例如,联网到)其他机器。在联网的部署中,机器可以在服务器-客户端网络环境中以服务器或客户端机器的身份进行操作,或者在对等点到对等点(或分布式)网络环境中作为对等机器进行操作。机器可以是个人计算机(PC)、平板(tablet)PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web家电、网络路由器、交换器或网桥、或者能够执行指定将由该机器采取的动作的一组(顺序的或其它方式的)指令的任何机器。此外,虽然例示出了仅单个机器,但是,术语“机器”还应当被视为包括个别地或联合地执行一组(或多组)指令以执行这里讨论的方法中的任何一种或多种方法的机器的任何集合。
示例计算机系统100包括经由总线108相互通信的处理器102(例如,中央处理单元(CPU)、图形处理单元(GPU)或者二者)、存储器系统104以及静态存储器106。主存储器系统104可以包括存储器控制器、存储器扩展系统以及易失性存储器,它们中的每个(未示出)将在下文中更详细地讨论。静态或非易失性存储器106可以存储BIOS以用作系统硬件和系统软件之间的接口。BIOS可以在计算机系统启动时初始化系统硬件。
计算机系统100还可以包括视频显示单元110(例如,液晶显示器(LCD)或阴极射线管(CRT))。计算机系统100还包括字母数字输入设备112(例如,键盘)、用户界面(UI)导航设备114(例如,鼠标)、盘驱动单元116、信号生成设备118(例如,扬声器)、以及网络接口设备120。
盘驱动单元116包括机器可读介质122,该机器可读介质122上存储了体现这里描述的任意一种或多种方法或功能的、或者供这里描述的任意一种或多种方法或功能使用的一组或多组指令124和数据结构(例如,软件)。指令124在被计算机系统100执行指令期间也可以完整地或至少部分地驻存在主存储器系统104内和/或处理器102内,主存储器系统104和处理器102也构成机器可读介质。
指令124还可以使用多种公知传输协议中的任意一种(例如,文件传输协议(FTP))经由网络接口设备120通过网络126被发送或接收。
虽然机器可读介质122在示例实施例中被示出为单个介质,但是术语“机器可读介质”应当被视为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据层,和/或相关联的缓存器以及服务器)。术语“机器可读介质”还应当被视为包括能够存储、编码或承载供机器运行并且使得机器执行本公开的任意一种或多种方法的一组指令的任何介质,或者能够存储、编码或承载供这样一组指令使用或者与这样一组指令相关联的数据结构的任何介质。术语“机器可读介质”因此应当被视为包括但不限于固态存储器、光和磁介质。
图2是根据一示例实施例的耦合到处理器224的存储器系统204的框图。存储器系统204被示出为包括用于提供存储器地址202的存储器控制器222、映射模块206以及存储器模块B 210。图2示出存储器地址202和逻辑存储器模块A 218的存储器单元XYZ 220之间的示例关系,以及存储器地址202和物理存储器模块B 210的存储器单元212之间的示例关系。存储器系统204可以实质上类似于图1中的存储器系统104。
处理器224可以访问存储在存储器单元212和214中的指令,并且可以联系图1的计算机系统100的操作来处理指令。存储器单元212和214可以存储由处理器224或者由在计算机系统100上运行的应用或操作系统(未示出)访问的指令或者任何其他软件代码、记录或者任何其他数据。
处理器224可以是电子电路,例如在半导体芯片内形成的电子电路。然而,处理器224不限于是电子电路,并且可以以本领域普通技术人员知道的任何方式来执行运行指令的功能。处理器224可以包括通过通信通道226向存储器控制器222发送信息并且从其接收信息的接口225。存储器控制器222可以包括经由通信通道226向处理器224发送信息并且从其接收信息的接口221。
存储器控制器222可以从处理器224接收访问存储器模块B 210上的存储器的请求。处理器224和存储器控制器222之间的通信可以通过使用通信协议(例如,前端总线协议等)来实现。在一示例实施例中,存储器控制器222可以与处理器224集成。示例存储器控制器222可以经由一种通信协议(例如,前端总线协议)从处理器224接收存储器访问请求,然而可以使用另一通信协议(例如,双数据速率(DDR))来通过通信通道216(例如,计算机总线)将该请求传送到存储器模块B 210。在一示例实施例中,存储器控制器222可以将处理器224所使用的协议翻译为用于经由通信通道216将请求转发到存储器模块B 210的协议。
存储器控制器222可以控制在存储器模块B 210的存储器单元212、214内存储某些信息的位置。在一示例实施例中,存储器控制器222可以执行与维护存储器模块B 210的存储器单元212、214内的信息存储相关联的各种其他操作(例如,刷新存储器单元或者任何其他维护操作等)。由存储器控制器222执行的功能可以通过逻辑操作来实现。这样的逻辑操作可以与软件、硬件或者软件和硬件的组合一起被采用。
存储器地址202可以被存储器控制器222发送到存储器模块B 210来标识要访问的存储器单元212、214。存储器控制器222可以经由接口223通过通信通道216来发送存储器地址202。在一示例实施例中,利用使用二进制系统的存储器地址202通过将零和壹的序列编码为指示出位置的消息中来寻址存储器单元。然而,任何编码机制都可以用来编码存储器系统内的一个或多个存储器单元的位置。在一示例实施例中,存储器地址202对逻辑存储器模块A 218的存储器单元XYZ 220和物理存储器模块B 210的存储器单元212二者的地址进行编码。
在一示例实施例中,存储器控制器222发送存储器地址202,就好像该地址是去往存储器模块A 218的存储器单元XYZ 220的那样。在该实施例中,存储器控制器222期望访问存储器模块A 218上的存储器单元XYZ220。在一示例实施例中,存储器系统204不包括存储器模块A 218上的存储器单元XYZ 220并且存储器系统204包括含有存储器单元212和存储器单元214的存储器模块B 210。映射模块206可以在其接口207处接收存储器地址202并且将存储器地址202映射到存储器模块B 210的存储器单元212。
映射模块206可以包括地图208。该映射模块206可以参考地图208来从存储器地址202标识出存储器单元212。在一示例实施例中,为了标识出与存储器地址202或存储器地址202的一部分相关联的另一地址(未示出),映射模块206可以接收存储器地址202并且可以使用存储器地址202或存储器地址202的该一部分作为地图208中的索引。新地址(未示出)可以对应于存储器地址202并且可以标识出存储器单元212的地址。在一示例实施例中,地图208是数据结构(例如,查找表(LUT)、索引、链接表或适于实现地图208的任何其他数据结构)。
示例映射模块206可以包括用于接收存储器地址202的接口207以及用于通过通信通道217访问存储器模块B 210的内容的接口209。将会理解,通信通道217可以包括数据通过其可以行进的多个子通道。逻辑结构可以形成由映射模块206所提供的功能。逻辑结构可以通过使用软件、硬件或软件和硬件的组合来实现。
如前所述,存储器模块B 210可以包括存储器单元212和214,它们各自可以包括一组存储器单元。一组存储器单元可以包括一个或多个存储器单元。在一示例实施例中,存储器模块B 210是被配置为容宿(host)多个存储器器件的双列直插存储器模块(DIMM)。这些组存储器单元212和214可以驻存在多个存储器器件中,个体存储器单元可以位于这些存储器器件中。在一示例实施例中,每个存储器器件是DRAM。DRAM是将信息存储在利用电容器构造的存储器单元中的半导体存储器器件。在一示例实施例中,每组存储器单元212、214是一“排”存储器器件(将在下文中更详细地讨论)。此外,每排存储器器件可以包括一个或多个“层”的存储器单元(将在下文中更详细地讨论),并且每层存储器单元可以包括行和列(column)的阵列,行和列的交叉点是存储器单元的位置和地址。
存储器模块B 210可以包括用于容纳对存储器单元212以及存储器单元214或者存储器单元212和214内的任一个体存储器单元的访问请求的接口211。在一示例实施例中,各种类型的存储器访问可以包括激活一行单元,对存储器单元进行读取或写入,对一行存储器单元进行预充电,刷新存储器单元,或者本领域已知的任何其他存储器访问操作。
各种约束(比如,标准体规范,物理属性等)可以限制直接附接到存储器控制器的物理排的数目。这里描述的存储器扩展系统和方法可以在这些约束的界限内使用。
图3是例示出根据一示例实施例的用于存储器扩展的方法300的流程图。在块302处,方法300包括通过通信通道接收存储器地址。存储器地址可以标识出第一组存储器单元的位置。参考图2,在一示例实施例中,映射模块206包括用于通过通信通道216(例如,第一通信通道)接收存储器地址202的接口207。存储器地址202可以标识出存储器模块A 218的存储器单元XYZ 220(例如,第一组存储器单元)的位置。
在块304,方法300包括将该存储器地址映射到第二组存储器单元的第二位置。第二组存储器单元可以是多组存储器单元中的一组并且可以不同于第一组存储器单元。如上所述,映射模块206可以耦合到存储器模块B 210。存储器模块B 210被示出为包括多组存储器单元212和214。在一示例实施例中,存储器模块B 210不包括存储器单元XYZ 220(例如,第一组存储器单元)。映射模块206可以将存储器地址202映射到存储器模块B 210内的存储器单元212的位置。
地图208可以使多个存储器地址与多组存储器单元相关联。例如,映射模块206可以参考地图208来使多个存储器地址中的一个(例如,存储器地址202)与多组存储器单元(比如存储器模块B 210的那些组存储器单元212和214)中的一组相关联。
在一示例实施例中,与第二组存储器单元(例如,存储器单元212)的位置有关的位置信息可以被存储在映射模块206、更大的存储器系统204或者可由映射模块206访问的任何存储装置中。一旦接收到访问第二组存储器单元的后续请求(例如,来自存储器控制器222的读请求),位置信息就可以被访问并用来定位第二组存储器单元(例如,存储器单元212)。在下文中将更详细地讨论对位置信息的存储。
图4是根据一示例实施例的存储器系统400的框图。存储器系统400被示出为包括通过通信通道416耦合到映射模块406的存储器控制器422,该映射模块406还通过子通道425-428被耦合到八个物理(例如,实际的)RDIMM 430-437。将会理解,特定的实现方式可以采用更少或更多数目的物理RDIMM。RDIMM在将信号转发到驻存在RDIMM上的DRAM之前寄存地址和控制信号。
BIOS模块436可以经由通信总线434被耦合在存储器控制器422、映射模块406和物理RDIMM 430-437之间。BIOS模块436被示出为包括地图模块440和转换模块438。在一示例实施例中,BIOS模块436用于利用转换模块438并且基于从物理RDIMM 430-437收集到的信息来在系统初始化期间对存储器控制器进行编程。BIOS模块436使用转换模块438来对存储器控制器进行编程的方式将在下文中更详细地讨论。
当RDIMM在使用中时,BIOS模块436可以经由通信总线434、435从存储器控制器422接收在物理RDIMM 430-437上发生了错误的逻辑地址。存储器控制器422可以通过检测所取得的存储器数据的封装内所嵌入的ECC中的未预期到的值,来找出存储器数据中的错误。地图模块440可以使用逻辑地址信息(并且例如,与错误相关联的其他信息)来获取存储器错误的物理地址。BIOS模块436可以使得物理地址可用于存储器系统400外部的调查(例如,到用户界面,未示出)。
在一示例实施例中,存储器控制器422实质上类似于图2中示出的存储器控制器222。存储器控制器422可以包括耦合到通信通道416的通道接口413。通信通道416可以采用在针对数据的时钟信号的上升沿和下降沿二者处传输数据的DDR总线,以及在时钟的每个上升沿处传输地址和控制的单数据速率(SDR)总线。
映射模块406可以包括耦合到通信通道416的接口403。接口403可以被配备用于通过DDR总线发送和接收数据。映射模块406还可以包括实质上类似于图2的地图208的地图408。映射模块406还可以被耦合到存储装置模块414。
存储装置模块414可用于存储作为映射存储器地址的结果的存储器地址的全部或一部分。在一示例实施例中,存储装置模块414可以包括适于辅助定位所映射的存储器地址的全部或一部分的数据结构(例如,LUT415、索引、链接表、或任何其他数据结构)。
映射模块406还可以包括用于分别经由四个子通道425至428来将映射模块耦合到八个物理RDIMM 430-437的接口405、407、409和411。每个物理RDIMM 430-437可以包括多组存储器器件(例如,在图6中示出)。在一示例实施例中,存储器器件被分组到称作物理排的存储器器件的更大集合中。物理排可以是一组存储器器件。每个物理RDIMM 430-437可以包括多个物理排。从存储器控制器422接收的存储器地址可以标识出位于物理RDIMM 430-437的任一个中的物理排。
在一示例实施例中,通信通道416和子通道425-428可以包括地址总线和72个比特宽的数据总线。上述的物理排可以包括附接到通道(例如,通信通道416和/或通信子通道425-428)的全部宽度(full width)的并且经由对物理排的标识而被寻址的一组存储器器件(例如,DRAM)。
如上所述,RDIMM 430-437可以包括多个排,该排进而可以包括多个存储器器件。每个存储器器件可以包括多个层(例如,参见图6)。层可以是存储器器件(例如,DRAM)内的可独立寻址的子阵列。DRAM内的每个层可以具有准备好被读取、写入或预充电的打开的(例如,激活的)行。在一示例实施例中,读操作(例如,由存储器控制器422通过读命令发起)可以从存储器器件(例如,经由层的打开的行中的列)取出数据。写操作可以(例如,经由层的打开的行中的列)将数据存储到存储器器件。
在一示例实施例中,DRAM包括八个内部的层。每个个体DRAM可以是四个或八个比特宽,意味着可以从该特定DRAM向通信通道(例如,通信通道416或者子通道425-428)一次传输四个比特或者八个比特。因为每个排附接到数据信道的全部宽度,所以DRAM的宽度可以决定排内DRAM的数目。在一示例实施例中,存储器控制器422、通信通道416和子通道425-428支持每一通道八排DRAM器件。在一示例实施例中,用于给定的DRAM密度(例如,DRAM密度可以是512兆比特、1Gb、2Gb、4Gb等等)的最密集的RDIMM是四排(例如,四个排)RDIMM,其是使用x4器件(例如,四个比特宽)搭架的。具有八个纠错比特的四排x4 RDIMM具有72个器件(例如,四排×每排18个器件)。
逻辑RDIMM 418和419可以是存储器控制器422最初经由通信通道416寻址的RDIMM。物理RDIMM 430-437可以是存储器控制器422在初始地址通过映射模块406被映射之后实际寻址的RDIMM。逻辑RDIMM418和419可以包括逻辑排439-446,这些逻辑排439-446是能够经由来自存储器控制器422的单个排ID而被访问的所有存储器器件(例如,DRAM)的集合。在一示例实施例中,每个逻辑排439-446是一物理RDIMM(例如,物理RDIMM 430-437之一)并且映射到四个物理排。
图5是根据一示例实施例的用于对存储器控制器进行编程的方法500的流程图。在块502处,方法500可以包括从物理DIMM取得第一初始化数据。如图4所示,BIOS模块436被耦合在物理RDIMM 430-437和存储器控制器422之间并且可以被配置为从物理RDIMM取得初始化数据。
BIOS模块436取得的信息的类型的示例可以包括SPD信息,该SPD信息指示出关于物理RDIMM 430-437的每一物理RDIMM的容量、每一物理RDIMM的排数目、定时信息、等待时间信息、RDIMM的制造商或其他信息等。
在块504处,方法500可以包括将第一初始化数据转换为用于被映射到该物理DIMM的逻辑DIMM的第二初始化数据。在一示例实施例中,BIOS模块436可以利用线性函数来执行转换(例如,通过将第一初始化值与一因数相乘来得到第二初始化值)。
在块506处,方法500可以包括基于第二初始化数据来对存储器控制器进行编程。在一示例实施例中,BIOS模块436使用经转换的初始化数据来对存储器控制器422进行编程。将会注意到,在示例实施例中,当存储器控制器与存储器器件的物理排实际相连时,可以基于用于存储器器件的逻辑排的初始化数据来对存储器控制器进行编程。
图6是示出根据一示例实施例的存储器扩展地图600的图表。存储器扩展地图600将由映射模块406接收的地址映射到位于物理RDIMM 430-437内的子排(例如,物理排)和子通道(例如,列604和子通道425-428)。
列602一般地示出逻辑排ID和多比特行地址的两个比特(例如A15-A14)。完整的多比特行地址可以标识出位于逻辑排的存储器器件内的(例如,逻辑RDIMM 418-419内的)以及位于物理排内的(例如,物理RDIMM 430-437内的)存储器单元行。
在一示例实施例中,映射模块406从传入地址中提取逻辑排ID和行地址的最后两个比特,并且参考存储器扩展地图600来标识出相应的子通道和子排(例如,物理排)。在列602的第九项608中,“2”表示逻辑排的排ID并且“00”是行地址的最后两个比特。当地址被映射时,这些值映射到特定子通道和子排(例如,物理排)。列604表示相应子通道,例如,图4的子通道425-428中的一个。列605表示相应子排(例如,在逻辑RDIMM的逻辑排内包括的子排中的一个)。
如以上关于图4描述的,每个逻辑RDIMM 418和419包括四个逻辑排。每个逻辑排实际上是由四个物理排构成的物理RDIMM。那些物理排是RDIMM 418和419中的逻辑排的子排。
在该示例存储器扩展地图600中,指示出逻辑排ID“0”或“1”的地址可以被映射模块406引导至子通道“0”。指示出逻辑排ID“2”或“3”的地址可以被映射模块406引导至子通道“1”,依此类推等等。如在地图600中可以看到的,前四项包括逻辑排ID“0”。因此,这些项全都对应于同一逻辑排(然而应注意,一个逻辑排例如可以对应于列605中的用值“0”、“1”、“2”和“3”指示出的四个子排)。
将会理解,如在列604中用类似数字(例如0、1等)指示出的单个子通道对应于八个子排。如以上关于一示例实施例描述的,八个物理排可以被一DDR通道支持。
图7是分别示出逻辑RDIMM 706、704与物理RDIMM 726、728、730、732、734、736、738和740之间的示例关系700的框图。示例RDIMM 706包括逻辑排708、710、712和714。逻辑排708、710、712和714进一步分别包括存储器器件716、718、720和722。物理RDIMM726、728、730、732、734、736、738和740进一步分别各自包括物理排741-772中的四个物理排。在一示例实施例中,逻辑排708对应于包括物理排741-744(例如,子排)的物理RDIMM 726。在其他逻辑和物理排之间可以存在类似的对应。
示例地址702指示出作为逻辑排的排ID“0”,层ID“7”,以及最后两个比特(例如,A15-A14)是“10”的行地址。参考图6的地图,排ID为“0”的逻辑排与A15-A14比特“10”的结合通过子通道0映射到子排2(例如,其是物理RDIMM 726的物理排743)。然而,层和剩余行地址比特(A13-A0)是逻辑和物理存储器器件二者共用的。
对应于逻辑排708和物理排743内的存储器器件的多个层724和774分别通过特定层的行和列被示出,以例示出用示例层和行编号指示出的行中的存储器单元的位置。在一示例实施例中,层ID“7”和行地址“ABC01”可以用来标识出逻辑存储器器件(例如,层724)和物理器件(例如,层774)中的层“7”行ABC01。该图还示出逻辑排710、712和714与子排745到748、749到752以及753到756之间的类似关系。
再次参考图4,存储器控制器422可以产生地址并且通过通信通道416(例如,DDR通道)将存储器地址与激活命令一起发送到映射模块406。映射模块406可以认识到,存储器地址通过逻辑排ID标识了逻辑排(例如,逻辑排439)的位置。映射模块406也可以认识到,存储器地址包括层ID和行地址。
在一示例实施例中,存储器地址被映射到激活命令所主张(assert)的物理排的第二位置。该物理排可以是物理RDIMM 430-437内的32个物理排中的一个(例如,多组存储器单元)。在映射存储器地址时,映射模块406可以参考地图408来使逻辑排ID和行地址的一个或多个比特与物理排相关联。
图8是根据一示例实施例的用于存储位置信息的方法800的流程图。在块802处,方法800可以包括接收用于激活存储器单元行的激活命令。可以与存储器地址的接收(例如,如上所述)相伴随地(例如,一起)接收激活命令。由映射模块406接收的激活命令可能是为了激活逻辑RDIMM 418和419的逻辑排内的存储器单元行(例如,由存储器地址指示出的那一行),然而可能实际上激活物理排内的行。
在块804处,方法800包括基于对激活命令的接收来发起对位置信息的存储。在图4中,映射模块406可被耦合到存储装置模块414并与之通信。在一示例实施例中,响应于接收到激活命令,映射模块406可以将位置信息存储在存储装置模块414内。位置信息可能与从物理排454-485中选出的、其位置用映射模块406内的地图408(参见图4)来编码的物理排有关。
在块806处,对位置信息的存储包括基于逻辑排ID来选择LUT。如上所述,存储装置模块414可以包括用于每一个逻辑排439-446的LUT。在一示例实施例中,映射模块406基于与存储器地址一起接收到的逻辑排ID来选择LUT之一。
在块808处,对位置信息的存储还包括用通过层ID来索引的行地址的一个或多个比特来更新LUT。一旦LUT 415被选出,映射模块406就可以用通过与存储器地址一起接收到的层ID来索引的(例如,来自以上提及的存储器地址的)行地址的一个或多个比特来更新LUT 415。如果位置信息随后被希望得到(例如,用于定位物理排内的激活的一行存储器),则层ID可被用作一个或多个行比特的索引。逻辑排和ID以及一个或多个行比特然后可被用来(例如,在地图中)标识出最初为其存储了位置信息的物理排454-485。
在一示例实施例中,映射模块406可以检测包括了逻辑排ID和层ID的存储器访问请求的接收。示例存储器访问请求可以包括读命令、写命令、预充电命令、或者以一行存储器为目标的任何存储器访问命令等等。位置信息可以被访问以标识出存储器访问请求的目标物理排。
映射模块406可以基于与存储器访问请求一起接收的逻辑排ID来标识出存储装置模块414中的适当LUT 415。映射模块406然后可以将(例如,与存储器访问请求一起接收的)层ID用作行地址的一个或多个比特的索引。利用逻辑层ID和行地址的比特,映射模块406可以确定:与逻辑排ID和存储器地址的一个或多个比特相对应的物理排(例如,物理排454-485中的一个)包括激活的一行存储器。在一示例实施例中,映射模块406可以将存储器访问请求引导至所标识出的激活的行。如果存储器访问命令是读或写命令,则激活的行将分别被读取或写入。如果存储器访问命令是预充电命令,则激活的行将被预充电,等等。
在某些示例实施例中,存储器控制器422可以对同一逻辑排(例如,逻辑RDIMM 418中的逻辑排439-446的一个)主张连续的写命令,然而命令可以被映射到同一物理RDIMM上的不同物理排(例如,物理RDIMM 430内的物理排454-457)。在一示例实施例中,正在被写入的物理排在写操作期间提供终止(termination)。终止可被用于调节通信通道上的电噪声水平。为了避免在一个写传输的末尾处的信号与后一写入的前导(preamble)信号交叠时双重地终止通信子通道(例如,总线),存储器控制器422可以在写操作之间引入其间不传输任何数据的总线周期。
可替代地或附加地,在不引入不传输任何数据的总线周期的情况下,连续的写操作也可以得到支持。例如,一个物理排(例如,物理排454)可为对物理RDIMM 430的所有写入提供终止,同时另一物理排(例如,物理排455)可为RDIMM(例如,RDIMM 430)在写或读命令以另一物理RDIMM(例如,物理RDIMM 431)为目标时所变为的电支线(electrical stub)提供终止。
将会理解,物理存储器器件可能响应于存储器请求而返回不正确的比特序列。在一示例实施例中,RDIMM 430-437包括用于存储ECC比特以允许存储器控制器422检测并可能纠正存储器错误的一个或多个存储器器件。
图9是例示出根据一示例实施例的用于报告存储器错误的方法900的流程图。在块902处,方法900可以包括接收与存储器错误相关联的逻辑存储器地址。BIOS模块436被示出为与存储器控制器422耦合并且可以从存储器控制器422接收与存储器错误相关联的逻辑存储器地址。
在一示例实施例中,存储器控制器422可以利用8比特ECC码来检测存储器错误。由存储器控制器422检测到的错误可以是一比特或两比特错误并且存储器控制器422可以纠正作为一比特错误的那些错误。在某些示例实施例中,多比特错误既可以被存储器控制器422检测到又可以被存储器控制器422纠正。
方法900的块904可以包括将逻辑存储器地址映射到物理存储器地址。在一示例实施例中,BIOS模块436可以参考将存储器错误的逻辑存储器地址映射到物理存储器器件(例如,物理RDIMM 430)上的物理存储器地址的地图模块440。
在块906处,方法900可以通过将物理存储器地址指示为存储器错误的位置来结束。在各种示例实施例中,BIOS模块436可以将物理存储器地址指示为存储器错误的物理位置。BIOS模块436可以通过发信号通知用户界面(例如,闪烁的发光二极管、计算机显示器上的警告消息或者使用任何适当用户界面的指示,等等),来将物理存储器地址指示为存储器错误的物理位置。
图10是根据一示例实施例的存储器扩展系统1000的框图。一般地,存储器扩展系统1000示出用于分发数据、地址信息和控制信息作为单个通道1001与多个子通道和子排(例如,物理RDIMM 1016的物理排或子排1017和子通道1003、1005、1007、1009)之间的数据流的系统的示例实施例。
映射模块1002被示出为与数据路径1010、1012和1014上的四个通信子通道耦合。数据路径1010、1012和1014被示出为与物理RDIMM 1016耦合。物理RDIMM 1016可以包括32个子排1017。可以以与以上描述了的方式实质上类似的方式来执行到子排1017的映射。耦合到物理RDIMM1016的子通道1003、1005、1007和1009可以是72比特宽的,并且具有64个数据比特和8个ECC比特。在一示例实施例中,物理RDIMM 1016是四排的并且使用x4器件。
在一示例实施例中,映射模块1002包括用于将DDR3通道1001映射到四个子通道1003、1005、1007和1009的电子电路1004、1006、1008(例如,芯片组)。地址和控制路径电路1004可以包括用于将地址映射到适当子排和子通道并且用于管理存储器命令的地图和控制单元1011(将关于图12更详细地讨论)。地址和控制路径电路1004还可以包括用于配置数据连接电路1006、1008的数据路径单元1013(将关于图15更详细地讨论)。地址和控制路径电路1004可以经由路径1018将控制信号传送到数据连接电路1006、1008并且可以经由路径1020将时钟信号传送到数据连接电路1006。数据连接电路1006、1008将来自主DDR3通道1001的数据和选通线路(strobe line)连接到四个子通道1003、1005、1007和1009上。示例数据连接电路1006、1008可以使用介于在存储器控制器处的数据通道与在物理RDIMM 1016处的数据子通道之间的FET切换的路径。FET开关是具有低电容、高“关断”阻抗以及在源极和漏极之间的低“导通”阻抗的器件。在一示例实施例中,FET开关可以在“导通”时接近导线的行为并且在“关断”时接近断路的行为。
图11是根据一示例实施例的用于存储器扩展的另一方法1100的流程图。在块1102处,方法1100包括通过第一通道从存储器控制器接收存储器请求。在一示例实施例中,地图和控制单元1011被配置为通过DDR3通道1001从存储器控制器(未示出)接收存储器请求。
在块1104处,方法1100包括通过选择存储器中的要被连接到一子通道的位置来对存储器请求进行回应。存储器控制器可以将存储器请求引导至逻辑排,并且基于存储器请求,地图和控制单元1011可以选择存储器内的要与子通道1003、1005、1007、1009中的一个相连接的位置(例如,将存储器请求映射到位于物理RDIMM 1016之一上的子排1017中的一个子排)。
方法1100的块1106可以包括配置一组FET以将第一通道与该子通道相连接,而块1108可以包括允许数据通过第一通道和所选出的子通道1003、1005、1007、1009在存储器控制器与存储器中的该位置(例如,子排1017之一)之间流动。在一示例实施例中,存储器请求可以包括列地址以及读或写命令。一旦由地图1011确定了要读取或写入的子排(例如,从存储器请求所针对的逻辑排映射而来),数据路径单元1013就可以使FET将DDR3通道1001与所指定的子通道1003、1005、1007、1009相连接以使得读或写数据能够流动到指定的子排1017中的列地址和激活的行的交叉点。
数据路径单元1013可以更新数据路径电路1006、1008以根据存储器请求(以及例如由存储器请求指示出的逻辑排)来与不同子通道1003、1005、1007、1009进行连接,从而允许数据在存储器控制器与子排1003、1005、1007、1009中的其他子排之间流动。
在存储器系统的初始化期间,存储器控制器(未示出)可以针对每个逻辑排执行读训练和/或写均衡(write leveling)以将数据信号与时钟信号对准。被映射到逻辑排并且共同位于RDIMM之一上的子排1017可以经历十分类似的电压、温度以及定时条件。在其中物理RDIMM 1016之一映射到逻辑排的示例实施例中,驻存在一物理RDIMM 1016上的四个子排1017可以采用被指派给该逻辑排的相同读训练和写均衡值。因此,在各种示例实施例中,数据可以通过数据连接电路1006和1008流动而不被重新定时以与映射模块1002上的时钟信号对准。
图12示出根据一示例实施例的包括地图和控制单元1204的示例地址和控制路径电路1202的框图。地图和控制单元1204的输出1216包括针对每个逻辑排的独立的命令比特以及芯片选择编号(例如,物理排ID)。
在一示例实施例中,地图和控制单元1204实例的数目等于由存储器控制器(未示出)所看到的逻辑排的数目。示例地图和控制单元1204可以包括地址解码器1208、命令解码器1210、串行器状态机1214、子排LUT 1212、以及各种其他支持逻辑组件。
在图12中,由地图和控制单元1204从存储器控制器接收到地址和命令比特1206。由地址解码器1208接收到芯片选择编号(例如,逻辑排ID)和行地址的最后两个比特(例如,针对基于4Gbit DRAM的逻辑RDIMM被表示为A[15∶14]),该地址解码器1208可以解码这两个比特以将芯片选择编号1206映射到四个物理排之一(例如,通过具有使能的2∶4解码器)。地址解码器1208可以参考诸如图6中的地图之类的地图来提供相应的物理子排和子通道。
命令解码器1210可以解码各种命令并且根据命令将它们转发到其他的逻辑组件。当命令解码器1210接收读或写命令时,LUT 1212可被用来确定其中存储器的行应当被读取或写入的物理排。用于特定逻辑排的示例LUT 1212可以通过当最近接收到的激活命令激活了一特定物理排中的行时使层地址与该物理排相关联来完成这一点。当读、写或者预充电命令被接收时,LUT 1212可以将在读、写或者预充电命令中指定的层地址用作对LUT 1212的索引来得到目标物理排。层地址与物理排之间的关联可以允许LUT 1212定位针对后续的读、写、预充电或任何其他命令等而激活的存储器的行。
串行器状态机1214可以从命令解码器1210接收与逻辑排相关联的存储器命令,并且如果必要,则为被映射到该逻辑排的物理排提供多份存储器命令(将在下文中进一步详细讨论)。
在示例实施例中,可以通过串行器状态机1214接收各种存储器命令。刷新命令是读取然后恢复一行或多行存储器的内容以防止数据因电荷泄露或其他影响而丢失的DRAM命令。ZQCL和ZQCS校准命令可以触发在被映射到一逻辑排的所有物理排中的校准周期。ZQCL命令是在触发对驱动器输出阻抗和管芯上终止(on-die termination)阻抗的初始校准的启动时刻每一排发布一次的DRAM命令。ZQCS命令是周期性发布以跟踪电压和温度的缓慢变化的DRAM命令,并且它触发对驱动器输出阻抗和管芯上终止阻抗的更新。
诸如预充电所有(pre-charge all)和模式寄存器写命令之类的其他命令可以类似地被串行器状态机1214串行化。预充电命令是将所有打开的行/层的内容写回到阵列然后关闭所有行/层的DRAM命令。模式寄存器命令是可以将DRAM等待时间值或其他配置信息写入到位于存储器器件上的模式寄存器的DRAM命令。示例DDR3 DRAM可以包含模式寄存器MR0、MR1、MR2和MR3。MRS命令通常仅由BIOS在系统初始化期间发布。
图13是例示出根据一示例实施例的用于分发存储器命令的方法1300的流程图。方法1300的块1302可以包括检测去往逻辑排的存储器命令。如图12所示,命令解码器1210接收命令比特1206并且可以检测到去往逻辑排的存储器命令。
块1304可以包括检测被映射到该逻辑排的多个物理排。图12中示出的地址解码器1208可以将物理排映射到该逻辑排。在一示例实施例中,地址解码器1208用于基于已知要提供将在数据总线上驱动的RDIMM的全数据位宽的多组DRAM,来将所述多个物理排映射到逻辑排。
方法1300的块1306可以包括判断存储器命令是否要被发布到所述多个物理排。如果串行器状态机1214检测到如刷新命令、ZQCL或ZQCS校准命令、预充电所有命令、模式寄存器写命令之类的命令,或者应当被分发到所映射的物理排的任何其他命令等,则串行器状态机1214可以确定特定的存储器命令将被发布到所映射的物理排。
在一示例实施例中,由地图和控制单元1204接收用于打开某一尺寸(例如,2K字节)的逻辑页面(或者例如,行)的激活命令。发送该命令的存储器控制器将预期该逻辑页面可用于后续的读和写。如果示例地址解码器1208确定该逻辑页面在尺寸上大于该逻辑页面将要映射到的物理页面的尺寸(例如,1K字节),则多个物理排将被发布该激活命令以支持对该逻辑页面的后续的读和写。
块1308可以包括基于对适于将存储器命令发布到多个物理排的判断,来将存储器命令发布到物理排(例如,被映射到逻辑排的物理排)。在图12中,串行器状态机1214用于从命令解码器1210接收经解码的命令并且如果串行器状态机1214判断出适当(例如,如关于块1306所描述的),则将存储器命令发布到由地址解码器1208映射到逻辑排的多个物理排。
在一示例实施例中,由串行器状态机1214发布的存储器命令的份数取决于正在使用的映射配置。如果每个逻辑排映射到物理RDIMM上的四个物理排,则将针对某些存储器命令发送四份。如果每个逻辑排映射到物理RDIMM上的两个物理排,则将针对某些存储器命令发送两份。
在某些示例实施例中,串行器状态机1214用于在多个命令周期上发布所选出的存储器命令。时钟周期的数目可以取决于正被用作存储器的RDIMM的配置。例如,针对四个排而配置的RDIMM可以接受至多每一周期两个命令,而针对一个和两个排而配置的那些RDIMM可以接受至多每一周期一个命令。
在一示例实施例中,用于刷新一逻辑排内的单元的刷新命令可以触发被映射到该逻辑排的物理排内的存储器单元的刷新。被映射到该逻辑排的四个物理排可以共享一共用命令总线(并且,例如,一共用子通道),并且串行器状态机1214可以被触发以在两个连续时钟周期上将刷新命令发布到四个物理排。在一示例实施例中,被映射到子通道“0”和物理排“0”和“2”的刷新命令(参见例如图6)被在第一周期中发送,并且针对物理排“1”和“3”的刷新命令被在第二周期中发送。
在去往一逻辑页面的激活命令的示例情况中,通过4排2Gbit(512Mb×4)的DRAM来仿效8Gbit(2Gb×4)的DRAM并且尺寸可被描绘如下:
  DRAM密度   页面尺寸   行比特   列比特
  8Gbit(2Gb×4)   2K字节   A[15∶0]   A[13,11,9∶0]
  2Gbit(512Mb×4)   1K字节   A[14∶0]   A[11,9∶0]
如上所述,地址解码器可以判断出激活命令将被转发到两个物理排,因为逻辑页面尺寸是物理页面尺寸的两倍大。在示例地址解码器检测到A[15]==0时的情况下,地址解码器可以使物理排0和2被激活并且使序列1010被存储在由BA[2∶0]索引的LUT项中。在A[15]==1时的情况下,物理排1和3可以被激活并且0101被存储在由BA[2∶0]索引的LUT 1212项中。对于读或写命令,示例地址解码器1208检查A[13]以及LUT 1212的项以确定要读取或写入的物理排。示例对应将出现在诸如如下表格之类的表格中:
  A[13]   LUT[BA]   CS[3∶0]
  0   1010   1110
  0   0101   1101
  1   1010   1011
  1   0101   0111
在其中针对逻辑页面的激活命令被发布到多个物理排以打开一逻辑页面的示例情况下,预充电命令被发布到相同的多个物理排以关闭该逻辑页面。
如以上所说明的,地址和控制路径电路1002可以提供地图和控制单元1204和数据路径单元1504以通过子通道将基于4Gb的逻辑排映射到四个基于1Gb的物理排。在一示例实施例中,地址和控制路径电路1002、1502的处理可以将等待时间的周期添加到存储器扩展系统1000。
图14是例示出根据一示例实施例的用于修改初始化值以负责所添加的存储器系统等待时间的方法1400的流程图。在块1402处,方法1400可以包括(例如,通过命令解码器1210)检测与逻辑排相关联的模式寄存器写命令,而块1404可以包括(例如,在修改模块1220处)接收与该模式寄存器写命令相关联的数据值。
块1406可以包括基于对模式寄存器命令的检测来修改数据值,并且在块1408处,方法1400可以通过将经修改的数据值转发到多个物理排(例如,被映射到该逻辑排的物理排)来结束。
在一示例实施例中,修改模块1220接收与模式寄存器写命令相关联的数据值。一旦接收到针对一逻辑排的模式寄存器写命令,串行器状态机1214就可以被进一步配置为发信号通知复用器1218从修改模块1220接收输入。修改模块1220可以在经修改的数据值被转发到从逻辑排映射得来的物理排之前修改数据值。在一示例实施例中,修改模块1220用于递减模式寄存器数据值以负责由地址和控制路径电路1202、1502所添加的等待时间的周期。
图15是例示出根据一示例实施例的包括数据路径单元1504的示例地址和控制路径电路1502的框图。还示出了被配置为使用FET 1512来分发数据路径1012和1014上的数据的数据连接电路1510。示例数据路径单元1504可以包括命令解码器1505,该命令解码器1505可以接收与图12的地图和控制单元1204所接收的1206相同的存储器命令1503。
图16是例示出根据一示例实施例的用于控制数据流的方法1600的流程图。在块1602处,方法通过从存储器控制器接收存储器请求开始。在图15中,命令解码器1505可以解码存储器命令并且将其转发以使其与所示出的将被数据路径单元1504接收的逻辑排片选相关联。
在块1604处,与存储器请求相关联的读或写等待时间将被确定,以使得在块1606处,所确定的读或写等待时间可被用于控制数据流定时(例如,在存储器控制器与物理存储器之间的数据流动)。再次参考图15,数据路径单元1504可以在片选输入1501处接收片选信息。数据路径单元1504然后可以将经解码的存储器请求与相应的片选信息配对。适当的定时控制器1507、1509、1511、1513、1515、1517、1519或1521然后可以提供与经解码的命令相关联的所存储的等待时间信息(例如,列访问选通(CAS)等待时间以及附加等待时间(AL))并应用适当的时间控制。
在块1608处,方法可以包括允许数据(例如通过第一通道和子通道)在存储器控制器与存储器中的位置之间流动。在一示例实施例中,FET控制信号可以被(例如,编码器1506)编码并被转发到数据连接电路1510,在该数据连接电路1510中,FET开关1512可以被更新以允许数据在存储器控制器与物理RDIMM之间通过。如上所述,FET开关1512可被用于将数据导向适当的子通道。
在某些实施例中,可以替代基于FET的数据路径而采用流水线数据路径。流水线数据路径可以提供对读和数据传输二者的重新定时,并且可以包括数据总线终止、读均衡、写均衡、读选通定心(centering)以及写选通定心。
进一步考虑等待时间,由CAS等待时间和附加等待时间来决定与读和写命令有关的读突发和写突发的定时。地址和控制路径电路1202、1502可以以及时的方式提供在存储器控制器与物理存储器之间的数据路径,以使得在存储器扩展配置能够对存储器控制器保持透明的同时存储器器件可被访问。示例定时可以包括如下情形:
读突发在由下式决定的读等待时间(RL)之后的时间开始:
RL=AL+CL读命令之后的周期
读前导可能占用读突发之前的一个周期。在一示例实施例中,数据路径可以允许适当的FET开关路径将主通道连接到在由下式决定的读命令之后的多个周期处访问的通信子通道:
RL-1=AL+CL-1
主通道和通信子通道之间的连接可以被维护直到下一读或写命令使得新连接被做出的止。
写突发在由下式决定的写等待时间(WL)之后的时间开始:
WL=AL+CWL
写前导占用写突发之前的一个周期。在一示例实施例中,数据路径可以允许适当的FET开关路径将主通道连接到在由下式决定的写命令之后的多个周期处的子通道:
WL-1=AL+CWL-1
主通道和通信子通道之间的连接可以被维护直到下一读或写命令使得新连接被做出为止。
以上描述意欲是例示性的而非限制性的。例如,上述实施例的一个或多个方面可以彼此结合地使用。在回顾了以上描述之后,其他实施例对于本领域技术人员而言将是显而易见的。因此,权利要求的范围应当参考随附的权利要求以及这些权利要求所享有的等同物的整个范围来确定。在随附的权利要求中,术语“including(包括)”和“in which(其中)”被用作各自的术语“comprising(包括)”和“wherein(其中)”的简明英语等同物。同样,在以下的权利要求中,术语“including(包括)”和“comprising(包括)”是开放式的,即包括除在权利要求中的这样的术语之后列出的那些要件之外的要件的系统、设备、物品或处理仍被认为是落入了该权利要求的范围之内。此外,在以下的权利要求中,术语“第一”、“第二”和“第三”等仅被用作标签并且并非意欲将数字要求强加到其对象上。
提供了摘要以遵从37 C.F.R.§1.72(b),其要求摘要使得读者能够快速地确定技术公开的实质。基于如下的理解而递交了摘要:摘要将不会被用来解释或限制权利要求的范围或含义。同样,在上述的具体实施方式中,各种特征可以被聚集到一起以使得本公开简化。这不应被解释为希望:未主张的已公开特征对于任一权利要求都是必要的。更确切地,创造性主题可以存在于比特定公开实施例的所有特征更少的特征之中。因此,以下的权利要求在此被结合到具体实施方式中,以使得每个权利要求独立地作为单独的实施例存在。

Claims (24)

1.一种方法,包括:
经由第一通道从存储器控制器接收存储器请求;
基于所述存储器请求:
选择存储器中的要与子通道可通信地耦合的位置;
配置一组场效应晶体管以将所述第一通道与所述子通道可通信地耦合;以及
允许数据经由所述第一通道和所述子通道在所述存储器控制器和所述存储器中的所述位置之间流动。
2.根据权利要求1所述的方法,其中,所述选择存储器中的位置的步骤包括选择各自位于物理双列直插存储器模块上的并且被映射到逻辑排的多个物理排中的一个物理排,
其中,所述允许数据在所述存储器控制器和所述多个物理排中的一个物理排之间流动的步骤包括允许所述数据流动而不对所述数据进行用于与时钟信号对准的重新定时。
3.根据权利要求1所述的方法,还包括:
经由所述第一通道从所述存储器控制器接收另一存储器请求;
基于所述另一存储器请求,选择所述存储器中的要与另一子通道可通信地耦合的另一位置;
配置所述一组场效应晶体管以将所述第一通道与所述另一子通道可通信地耦合;以及
允许其他数据经由所述第一通道和所述另一子通道在所述存储器控制器和所述存储器中的所述另一位置之间流动。
4.根据权利要求2所述的方法,其中,所述选择存储器中的位置的步骤包括:
基于在所述存储器请求内包括的逻辑排标识(ID)来识别查找表;
将在所述存储器请求内包括的层ID用作针对行地址的一个或多个比特的索引;以及
基于所述逻辑排ID和所述行地址的一个或多个比特来确定所述多个物理排中的所述一个物理排包括激活的行。
5.根据权利要求4所述的方法,其中,所述接收存储器请求的步骤包括接收读命令和写命令中的至少一个以及列地址,并且所述允许数据流动的步骤是基于所述逻辑排ID的,并且
包括对所述列地址和所述激活的行的交叉点的读取或写入。
6.根据权利要求1所述的方法,还包括:
确定与所述存储器请求相关联的读或写等待时间,其中,所述允许数据流动的步骤包括基于所述读或写等待时间来控制所述数据的流的定时。
7.一种系统,包括:
映射模块,该映射模块包括地址和控制单元、数据路径单元、一组场效应晶体管、以及用于与第一通道和子通道耦合的接口,
所述地址和控制单元被配置为经由第一通道从存储器控制器接收存储器请求,并且基于所述存储器请求,选择存储器中的要与所述子通道可通信地耦合的位置;并且
所述数据路径单元用于配置所述一组场效应晶体管以将所述第一通道与所述子通道可通信地耦合,以允许数据在所述存储器控制器和所述存储器中的所述位置之间流动。
8.根据权利要求7所述的系统,其中,基于另一存储器请求,所述数据路径单元用于配置所述一组场效应晶体管以将所述第一通道与另一子通道可通信地耦合,从而允许另外的数据在所述存储器控制器和所述存储器中的另一位置之间流动。
9.根据权利要求7所述的系统,其中,所述存储器请求以逻辑排为目标,并且所述地址和控制单元用于选择位于物理双列直插存储器模块上的并且被映射到所述逻辑排的多个物理排中的一个物理排,并且其中,不对所述数据进行用于与映射模块时钟信号对准的重新定时。
10.根据权利要求9所述的系统,其中,所述存储器模块包括查找表,并且所述地址和控制单元用于:
基于在所述存储器请求内包括的逻辑排标识(ID)来识别所述查找表;
将在所述存储器请求内包括的层ID用作针对行地址的一个或多个比特的索引,来对所述查找表进行搜索;以及
基于所述逻辑排ID和从所述查找表获得的所述行地址的一个或多个比特来确定所述多个物理排中的所述一个物理排包括激活的行。
11.根据权利要求10所述的系统,其中,所述存储器请求包括读命令和写命令中的至少一个以及列地址,并且其中,所述数据路径单元用于配置所述一组场效应晶体管以将所述第一通道与所述子通道可通信地耦合,从而允许对所述列地址和所述激活的行的交叉点的读或写命令。
12.根据权利要求7所述的系统,其中,所述数据路径单元用于确定与所述存储器请求相关联的读或写等待时间中的至少一个,并且基于所述读和写等待时间中的至少一个来控制所述数据的流的定时。
13.一种系统,包括:
接口装置,用于经由第一通道从存储器控制器接收存储器请求;
选择装置,用于基于所述存储器请求,选择存储器中的要与子通道可通信地耦合的位置;
配置装置,用于配置一组场效应晶体管以将所述第一通道与所述子通道可通信地耦合,并且用于允许数据经由所述第一通道和所述子通道在所述存储器控制器和所述存储器中的所述位置之间流动。
14.根据权利要求13所述的系统,其中,所述配置装置用于基于另一存储器请求来配置所述一组场效应晶体管以将所述第一通道与另一子通道可通信地耦合,并且允许另外的数据在所述存储器控制器和所述存储器中的另一位置之间流动。
15.根据权利要求13所述的系统,其中,用于允许所述数据在所述存储器控制器和所述存储器中的所述位置之间流动的所述配置装置包括允许所述数据流动而不对所述数据进行用于与时钟信号对准的重新定时的配置装置。
16.根据权利要求14所述的系统,其中,用于选择存储器中的位置的所述选择装置包括用于以下操作的选择装置:
基于在所述存储器请求内包括的逻辑排标识(ID)来识别数据结构;
将在所述存储器请求内包括的层ID用作针对行地址的一个或多个比特的索引;以及
基于所述逻辑排ID和所述行地址的一个或多个比特来确定所述多个物理排中的一个物理排包括激活的行。
17.根据权利要求16所述的系统,其中,所述接口装置用于接收包括读命令和写命令中的至少一个以及列地址的存储器请求,并且其中,所述配置装置用于配置所述一组场效应晶体管以将所述第一通道与所述子通道可通信地耦合,从而允许对所述列地址和所述激活的行的交叉点的读或写命令。
18.根据权利要求13所述的系统,其中,所述配置装置用于确定与所述存储器请求相关联的读或写等待时间,并且基于所述读和写等待时间中的至少一个来控制所述数据的流的定时。
19.一种包含指令的机器可读介质,该指令在被处理系统执行时使得所述处理系统执行以下操作:
经由第一通道从存储器控制器接收存储器请求;
基于所述存储器请求:
选择存储器中的要与子通道可通信地耦合的位置;
配置一组场效应晶体管以将所述第一通道与所述子通道可通信地耦合;以及
允许数据经由所述第一通道和所述子通道在所述存储器控制器和所述存储器中的所述位置之间流动。
20.根据权利要求19所述的机器可读介质,其中,所述选择存储器中的位置的操作包括选择各自位于物理双列直插存储器模块上的并且被映射到逻辑排的多个物理排中的一个物理排,
其中,允许数据在所述存储器控制器和所述多个物理排中的一个物理排之间流动的操作包括允许所述数据流动而不对所述数据进行用于与时钟信号对准的重新定时。
21.根据权利要求19所述的机器可读介质,其中所述指令在被所述处理系统执行时还使得所述处理系统执行以下操作:
经由所述第一通道从所述存储器控制器接收另一存储器请求;
基于所述另一存储器请求,选择所述存储器中的要与另一子通道可通信地耦合的另一位置;
配置所述一组场效应晶体管以将所述第一通道与所述另一子通道可通信地耦合;以及
允许另外的数据经由所述第一通道和所述另一子通道在所述存储器控制器和所述存储器中的另一位置之间流动。
22.根据权利要求20所述的机器可读介质,其中,所述选择存储器中的位置的操作包括:
基于在所述存储器请求内包括的逻辑排标识(ID)来识别查找表;
将在所述存储器请求内包括的层ID用作针对行地址的一个或多个比特的索引;以及
基于所述逻辑排ID和所述行地址的一个或多个比特来确定所述多个物理排中的一个物理排包括激活的行。
23.根据权利要求22所述的机器可读介质,其中,所述接收存储器请求的操作包括接收读命令和写命令中的至少一个以及列地址,并且所述允许数据流动的操作是基于所述逻辑排ID的,并且包括对所述列地址和所述激活的行的交叉点的读取或写入。
24.根据权利要求19所述的机器可读介质,其中所述指令在被所述处理系统执行时还使得所述处理系统执行以下操作:
确定与所述存储器请求相关联的读或写等待时间,其中,所述允许数据流动的操作包括基于所述读或写等待时间来控制所述数据的流的定时。
CN2009801017863A 2008-01-08 2009-01-08 用于存储器扩展的系统和方法 Expired - Fee Related CN101971150B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/971,066 US8825965B2 (en) 2008-01-08 2008-01-08 System and methods for memory expansion
US11/971,066 2008-01-08
PCT/US2009/030441 WO2009089350A2 (en) 2008-01-08 2009-01-08 Systems and methods for memory expansion

Publications (2)

Publication Number Publication Date
CN101971150A true CN101971150A (zh) 2011-02-09
CN101971150B CN101971150B (zh) 2013-08-14

Family

ID=40845511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801017863A Expired - Fee Related CN101971150B (zh) 2008-01-08 2009-01-08 用于存储器扩展的系统和方法

Country Status (4)

Country Link
US (2) US8825965B2 (zh)
EP (1) EP2245541B1 (zh)
CN (1) CN101971150B (zh)
WO (1) WO2009089350A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825965B2 (en) 2008-01-08 2014-09-02 Cisco Technology, Inc. System and methods for memory expansion
CN104063339A (zh) * 2013-03-21 2014-09-24 宏达国际电子股份有限公司 利用多核心储存机制的可携式装置以及其数据存取方法
CN107608910A (zh) * 2011-09-30 2018-01-19 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
CN109783395A (zh) * 2017-11-15 2019-05-21 阿里巴巴集团控股有限公司 内存访问方法、交换芯片、内存模组及电子设备
CN109863481A (zh) * 2016-10-21 2019-06-07 超威半导体公司 用于平台裕度调节和调试的软件模式寄存器访问
CN116741229A (zh) * 2023-08-14 2023-09-12 浙江力积存储科技有限公司 一种存储器数据写入方法、装置、存储介质和电子设备

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621132B2 (en) * 2008-01-08 2013-12-31 Cisco Technology, Inc. System and methods for memory expansion
US9026714B2 (en) * 2010-06-04 2015-05-05 Cisco Technology, Inc. Memory expansion using rank aggregation
US9529726B2 (en) 2013-07-15 2016-12-27 Everspin Technologies, Inc. Memory device with page emulation mode
US10423545B2 (en) 2015-07-08 2019-09-24 International Business Machines Corporation Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
US10114788B2 (en) 2015-07-08 2018-10-30 International Business Machines Corporation Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
US10241937B2 (en) 2015-07-08 2019-03-26 International Business Machines Corporation Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
US10468093B2 (en) 2016-03-03 2019-11-05 Nvidia Corporation Systems and methods for dynamic random access memory (DRAM) sub-channels
US10192607B2 (en) * 2016-05-31 2019-01-29 Qualcomm Incorporated Periodic ZQ calibration with traffic-based self-refresh in a multi-rank DDR system
US11068161B1 (en) 2016-07-18 2021-07-20 Rambus Inc. Memory module with emulated memory device population
JP6487608B2 (ja) * 2016-09-26 2019-03-20 株式会社日立製作所 半導体記憶装置
US10515017B2 (en) * 2017-02-23 2019-12-24 Honeywell International Inc. Memory partitioning for a computing system with memory pools
US10459659B2 (en) * 2017-03-31 2019-10-29 Intel Corporation Technologies for issuing commands on selected memory devices
US10366007B2 (en) 2017-12-11 2019-07-30 Honeywell International Inc. Apparatuses and methods for determining efficient memory partitioning
US11556279B2 (en) 2020-08-21 2023-01-17 Samsung Electronics Co., Ltd. System device, and method for memory interface including reconfigurable channel
US20220012195A1 (en) * 2021-09-24 2022-01-13 Intel Corporation Enabling logic for flexible configuration of memory module data width

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066141A1 (en) * 2003-09-22 2005-03-24 Choi Joo S. Method and apparatus for accessing a dynamic memory device
US7149841B2 (en) * 2003-03-31 2006-12-12 Micron Technology, Inc. Memory devices with buffered command address bus

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070227A (en) 1997-10-31 2000-05-30 Hewlett-Packard Company Main memory bank indexing scheme that optimizes consecutive page hits by linking main memory bank address organization to cache memory address organization
US6233650B1 (en) 1998-04-01 2001-05-15 Intel Corporation Using FET switches for large memory arrays
US6260127B1 (en) 1998-07-13 2001-07-10 Compaq Computer Corporation Method and apparatus for supporting heterogeneous memory in computer systems
US6938133B2 (en) 2001-09-28 2005-08-30 Hewlett-Packard Development Company, L.P. Memory latency and bandwidth optimizations
US6851032B2 (en) 2002-08-16 2005-02-01 Micron Technology, Inc. Latency reduction using negative clock edge and read flags
US7133960B1 (en) * 2003-12-31 2006-11-07 Intel Corporation Logical to physical address mapping of chip selects
US8250295B2 (en) 2004-01-05 2012-08-21 Smart Modular Technologies, Inc. Multi-rank memory module that emulates a memory module having a different number of ranks
US7532537B2 (en) * 2004-03-05 2009-05-12 Netlist, Inc. Memory module with a circuit providing load isolation and memory domain translation
US7222224B2 (en) * 2004-05-21 2007-05-22 Rambus Inc. System and method for improving performance in computer memory systems supporting multiple memory access latencies
TWI299497B (en) 2004-06-24 2008-08-01 Via Tech Inc Method and related apparatus for accessing memory apparatus
US20060277355A1 (en) 2005-06-01 2006-12-07 Mark Ellsberry Capacity-expanding memory device
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US8032688B2 (en) * 2005-06-30 2011-10-04 Intel Corporation Micro-tile memory interfaces
US7307863B2 (en) 2005-08-02 2007-12-11 Inphi Corporation Programmable strength output buffer for RDIMM address register
US7650558B2 (en) * 2005-08-16 2010-01-19 Intel Corporation Systems, methods, and apparatuses for using the same memory type for both error check and non-error check memory systems
US7475187B2 (en) 2005-09-15 2009-01-06 Infineon Technologies Ag High-speed interface circuit for semiconductor memory chips and memory system including the same
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7437501B2 (en) * 2006-06-19 2008-10-14 Intel Corporation Combining the address-mapping and page-referencing steps in a memory controller
JP5087886B2 (ja) * 2006-08-18 2012-12-05 富士通株式会社 メモリ制御装置
US7975205B2 (en) 2007-01-26 2011-07-05 Hewlett-Packard Development Company, L.P. Error correction algorithm selection based upon memory organization
US7840744B2 (en) 2007-01-30 2010-11-23 International Business Machines Corporation Rank select operation between an XIO interface and a double data rate interface
US8825965B2 (en) 2008-01-08 2014-09-02 Cisco Technology, Inc. System and methods for memory expansion
US8621132B2 (en) 2008-01-08 2013-12-31 Cisco Technology, Inc. System and methods for memory expansion
US8407394B2 (en) 2008-01-08 2013-03-26 Cisco Technology, Inc. System and methods for memory expansion

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149841B2 (en) * 2003-03-31 2006-12-12 Micron Technology, Inc. Memory devices with buffered command address bus
US20050066141A1 (en) * 2003-09-22 2005-03-24 Choi Joo S. Method and apparatus for accessing a dynamic memory device

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825965B2 (en) 2008-01-08 2014-09-02 Cisco Technology, Inc. System and methods for memory expansion
US9405698B2 (en) 2008-01-08 2016-08-02 Cisco Technology, Inc. System and methods for memory expansion
CN107608910A (zh) * 2011-09-30 2018-01-19 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
CN107608910B (zh) * 2011-09-30 2021-07-02 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
CN104063339A (zh) * 2013-03-21 2014-09-24 宏达国际电子股份有限公司 利用多核心储存机制的可携式装置以及其数据存取方法
CN104063339B (zh) * 2013-03-21 2017-05-10 宏达国际电子股份有限公司 利用多核心储存机制的可携式装置以及其数据存取方法
CN109863481A (zh) * 2016-10-21 2019-06-07 超威半导体公司 用于平台裕度调节和调试的软件模式寄存器访问
CN109863481B (zh) * 2016-10-21 2021-06-18 超威半导体公司 用于平台裕度调节和调试的软件模式寄存器访问
CN109783395A (zh) * 2017-11-15 2019-05-21 阿里巴巴集团控股有限公司 内存访问方法、交换芯片、内存模组及电子设备
CN109783395B (zh) * 2017-11-15 2023-03-31 阿里巴巴集团控股有限公司 内存访问方法、交换芯片、内存模组及电子设备
CN116741229A (zh) * 2023-08-14 2023-09-12 浙江力积存储科技有限公司 一种存储器数据写入方法、装置、存储介质和电子设备
CN116741229B (zh) * 2023-08-14 2023-11-10 浙江力积存储科技有限公司 一种存储器数据写入方法、装置、存储介质和电子设备

Also Published As

Publication number Publication date
CN101971150B (zh) 2013-08-14
US8825965B2 (en) 2014-09-02
WO2009089350A3 (en) 2009-09-03
US20140331095A1 (en) 2014-11-06
EP2245541A2 (en) 2010-11-03
US9405698B2 (en) 2016-08-02
EP2245541B1 (en) 2018-03-21
EP2245541A4 (en) 2012-01-04
US20090177849A1 (en) 2009-07-09
WO2009089350A2 (en) 2009-07-16

Similar Documents

Publication Publication Date Title
CN101971150B (zh) 用于存储器扩展的系统和方法
US8407394B2 (en) System and methods for memory expansion
CN106575517B (zh) 用于提供比较访问功能的存储器设备
CN101473438B (zh) 具有单个接口的混合存储器设备和方法
CN110347331B (zh) 存储器模块和包括存储器模块的存储器系统
US8606988B2 (en) Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof
JP2017220237A (ja) メモリモジュール、これを含むシステム及びその動作方法
US10108491B2 (en) Control circuit, memory device including the same, and method
US6842393B2 (en) Method for selecting one or a bank of memory devices
CN110083555A (zh) 具有独立接口路径的存储器设备的通用管芯实现
US6345348B2 (en) Memory system capable of supporting different memory devices and a memory device used therefor
US9218243B2 (en) Memory system for error detection and correction coverage
CN109767806A (zh) 自适应错误检查与校正的半导体存储器装置和存储器系统
US8621132B2 (en) System and methods for memory expansion
US9104557B2 (en) Encoded chip select for supporting more memory ranks
US7840744B2 (en) Rank select operation between an XIO interface and a double data rate interface
US20160299719A1 (en) Memory device and method for data exchanging thereof
US20180336092A1 (en) Memory module and operation method of the same
US9141472B2 (en) Sharing a check bit memory device between groups of memory devices
CN111143109B (zh) 一种ecc内存管理器、方法及电子设备
WO2016032784A1 (en) Buffer circuit with adaptive repair capability
US8737156B2 (en) Mapping between two buses using serial addressing bits
US10713137B2 (en) Memory module
CN113468082A (zh) 用于ssd的总线多路复用器网格的高级ce编码
US20240069738A1 (en) Accessing memory devices via switchable channels

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130814

Termination date: 20220108