[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN101689145A - 包括具有不同类型集成电路存储器设备的分层存储器模块的系统 - Google Patents

包括具有不同类型集成电路存储器设备的分层存储器模块的系统 Download PDF

Info

Publication number
CN101689145A
CN101689145A CN200880010770A CN200880010770A CN101689145A CN 101689145 A CN101689145 A CN 101689145A CN 200880010770 A CN200880010770 A CN 200880010770A CN 200880010770 A CN200880010770 A CN 200880010770A CN 101689145 A CN101689145 A CN 101689145A
Authority
CN
China
Prior art keywords
memory devices
volatile memory
memory
data
memory module
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
CN200880010770A
Other languages
English (en)
Inventor
C·哈姆佩尔
M·霍罗韦兹
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.)
Rambus Inc
Original Assignee
Rambus 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 Rambus Inc filed Critical Rambus Inc
Publication of CN101689145A publication Critical patent/CN101689145A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • 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
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1003Interface circuits for daisy chain or ring bus memory arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)

Abstract

公开了一种存储器系统,其包括:存储器控制器和定义第一存储器层级的易失性存储器设备的第一集合。该易失性存储器设备的第一集合布置在至少一个第一存储器模块上,其以菊花链式配置耦合至存储器控制器。第一集成电路缓冲器设备包括在该模块上。该系统具有定义第二存储器层级的非易失性存储器设备的第二集合。该非易失性存储器设备的第二集合布置在至少一个第二存储器模块上,其以菊花链式配置耦合至至少一个第一存储器模块。第二模块包括第二集成电路缓冲器设备。配置该系统以使得在存储器控制器和第二存储器层级之间传输的信号通过第一存储器层级。

Description

包括具有不同类型集成电路存储器设备的分层存储器模块的系统
技术领域
本公开内容在此一般地涉及集成电路设备和/或此类设备的高速信令。
背景技术
在各种存储器技术以及实现那些存储器技术中,在存储器系统的性能、耐久性、密度、成本和功耗方面存在着显著差异。虽然特定的存储器技术可以具有相对短的延迟或读取访问时间,但是同一存储器技术可能具有相对较长的写入时间,这可能不适于某些应用。对于特定存储器位置,特定的存储器技术可能限于相对低的写操作数量。在超过限制的写操作数量之后,则可能不能可靠地存储以及从存储器位置取回信息。在密度方面,存储器技术可以约为其他存储器技术的四到十倍,或比其他存储器技术占用小得多的表面积/体积。某些存储器技术的成本约为其他存储器技术的一半。以不同的存储器技术进行存储器访问操作期间,可以使用各种电压或电流,这导致了不同的功耗率。因此,某些存储器技术比其他存储器技术使用更多的功率。
附图说明
通过示例的方式、并且不通过限制的方式示出了实施方式。在附图中,类似的标号表示类似的元素。
图1示出了基于存储器模块布局和设备类型组织为逻辑和物理层的分层存储器系统。
图2A示出了具有层级电路的集成电路缓冲器设备。
图2B示出了类似于图2A的集成电路缓冲器设备。
图3A示出了不同层级模块之间的相关数据映射。
图3B示出了不同层级模块之间的相关地址映射。
图4示出了具有层级电路的控制器。
图5A-5D是示出了操作具有存储器模块层级的存储器系统的方法的流程图。
具体实施方式
除其他实施方式之外,存储器系统包括控制器和具有不同类型集成电路存储器设备的存储器模块层级。(存储器模块的)层级包括一个或多个具有特定类型集成电路存储器设备的存储器模块。与具有带有单个类型集成电路存储器设备的存储器模块的系统相比,存储器模块的层级可以增加总系统性能。通过在第一层级中使用第一类型集成电路存储器设备,总系统读取延迟可以减小并且写数据耐久性可以增大;同时通过在第二层级中使用成本更小并且功耗更小的第二类型集成电路存储器设备,而减小了总成本和功耗。例如,至少一个易失性存储器设备布置在第一层级中,并且至少一个非易失性存储器设备布置在第二层级中,从而该第一层级可以充当控制器和第二层级的读取/写入高速缓存。
在实施方式中,层级以菊花链方式耦合。第一信号路径将控制器耦合至具有易失性集成电路存储器设备的第一存储器模块。第二信号路径将第一存储器模块耦合至具有非易失性存储器设备的第二存储器模块。控制器在第一信号路径上传送有待存储在易失性存储器设备中的控制信息和写数据。通过第一存储器模块将用于非易失性存储器设备的控制信息和写数据从控制器传送到第一信号路径上,并且继而传送到第二信号路径上。同样地,控制器通过第一存储器模块从第一信号路径和第二信号路径访问存储在易失性和非易失性存储器设备上的读数据。控制信息、读数据和写数据可以通过布置在第一存储器模块上的集成电路缓冲器设备,来在第一和第二信号路径之间传送。
在其他实施方式之中,用于操作具有存储器模块层级的存储器系统的方法包括:在第一层级中缓冲/高速缓存已经存储在第二层级中的写数据的块。然后,响应于控制信号,该写数据的块可以通过将高速缓存至第一层级中的写数据的块传送到第二层级中而被重写(或刷新/恢复)。来自于第二层级的读数据可以以块的形式传送到第一层级,同时控制器访问存储(读数据或写数据)在第一层级中的数据。可以将写数据重映射到层级中的不同存储器位置,以分散并最小化写耐久性。将被存储在第二层级中的写数据可以存储在第一层级中,并且由控制器读取,同时写数据的块从第一层级传送并且存储在第二层级中。将被存储在第二层级中的写数据可以被重映射,并且存储在第一层级中,或在检测到有缺陷的存储器位置时存储在第一层级中的不同位置。
图1示出了全缓冲存储器系统100的一个实施方式,该存储器系统100采用存储器控制器110、第一存储器模块118形式的存储器设备的第一集合、以及第二存储器模块120形式的存储器设备的第二集合。点到点串行链接140a、140b和150a、150b形式的各个上游和下游信号路径以菊花链式配置将控制器耦合至存储器模块。时钟源130将系统时钟信号分发到控制器和存储器模块。
在实施方式中,存储器控制器110可以类似于那些与全缓冲双列内插式存储器模块(FBDIMM)一起使用的那些,其中,该存储器控制器传输串行化的控制、地址和写数据信号,并且接收与FBDIMM信令协议一致的串行化的读数据信号。通常,这包括串行链接发送器形式的发送电路,以驱动沿着下游串行链接140a从控制器到第一存储器模块的复用控制、地址和写数据信号。控制器上的接收器电路与上游串行链接150a接口连接,从而从第一模块118接收串行化读数据。控制器可以将层级电路180用于管理分层活动,这将在下文更全面地公开。
继续参考图1,第一存储器模块118包括集成电路(IC)125形式的缓冲器设备,以及动态随机访问存储器(DRAM)IC 103a-h形式的多个易失性存储器设备。缓冲器IC包括用于与控制器110和第二存储器模块120通信的各对上游和下游端口。在一个实施方式中,缓冲器IC包括层级电路190,其可以补充或替代控制器层级电路180。缓冲器IC经由各个控制/地址和数据总线(为了清楚起见,示为单个总线)与DRAM设备通信。DRAM设备可以是XDR(n)类型或DDR(n)类型,通常以非常快速的读取和写入时间以及高密度而著称。
进一步参考图1,第二存储器模块120类似于第一存储器模块118,具有缓冲器IC 126和多个存储器设备104a-h。然而,用于第二模块的存储器设备是非易失性类型,诸如闪存。闪存设备特征在于低成本、低功率、高密度以及能够以类似于DRAM的速率读取数据。然而,对闪存设备的写操作通常包括经常花费数毫秒来完成的擦除时间。此外,按照写入同一存储块的数据,闪存设备具有有限的持久性。为了解决该问题,缓冲器IC包括优化对非易失性设备的写入操作的电路,这将在下文更全面地描述。
在实施方式中,第一模块118和第二模块120通过上游串行链接150和下游串行链接140,以点到点菊花链方式通过各个缓冲器IC互连。以此方式,在涉及控制器110和第二模块120的任何事务中,数据必须流过第一模块118。通过将易失性存储器设备集合定位在比非易失性设备更接近控制器的位置,可以在101和102处定义相应的第一和第二水平层级。
上述分层架构可以很多方式扩展。例如,可以将一个或多个易失性存储器模块组织为第一水平层级,并且定位在建立第二水平存储器层级的一个或多个非易失性模块的上游(更接近控制器)。
为了根据每个模块的位置和设备类型定义的层级来支持系统的操作,用于易失性和非易失性存储器模块的缓冲器IC 125和126包括用于在协调事务中辅助存储器控制器110的逻辑,如下文更全面地描述。
图2A示出了实施方式中具有HRCH电路190的IC缓冲器设备200a。IC缓冲器设备200a对应于图1所示的缓冲器设备126,其由一个或多个非易失性存储器模块120使用。在备选实施方式中,HRCH电路190的一个或多个电路可以布置在控制器110中或分布在控制器110和IC缓冲器设备126之间。IC缓冲器设备200a可以布置在存储器模块上、与IC存储器设备或裸片容纳于共同的封装中,或位于主板上,例如个人计算机或服务器中的主存储器。IC缓冲器设备200a还可以在嵌入式存储器子系统中使用,例如,诸如可以用于计算机图形卡、视频游戏控制台或打印机。
继续参考图2A,示出了接口210,该接口210从信号路径201接收控制信息、写数据和读数据,并且向非易失性(与第二水平层级相关联)或易失性集成电路存储器设备(与第一水平层级相关联)的信号路径202输出控制信息、写数据和读数据。在实施方式中,信号路径201对应于图1所示的信号路径140a-b,同时信号路径202对应于信号路径150a-b。在实施方式中,用于耦合至IC缓冲器设备200a的集成电路存储器设备的控制信息、写数据和读数据的复用组合经由接口210接收,其例如可以提取控制信息。例如,存储器命令和地址信息可以从信号路径210上的复用信息解码和分离并且从接口210提供给请求和寻址电路240。可以通过接口210将写数据提供给接口220a-b,并且来自于集成电路存储器设备的读数据可以在一个或多个接口220a-b处接收,并且经由复用器230a-b提供给接口210。
接口220a-b示出为独立接口,但是可以是组合接口。它们包含用于存储被发送至非易失性存储器设备或从非易失性存储器设备接收的数据的事务队列221a-b。在缓冲器200a应用于非易失性存储器设备的情况中,事务队列存储事务并且将数据引导至单个或有限数量的存储器设备。该数据组织允许通过仅写入几个存储器设备而不是写入所有设备,来服务于事务,因此降低了事务执行的写操作数量。在将数据发送到上游和下游串行接口之前,将发送到存储器设备的数据以及来自于存储器设备的数据转发至接口210中的事务队列223a。类似地,将从信号路径201串行接收的事务存储在事务队列223a中,并且继而在发送到存储器设备之前将其转发至接口220a-b中的事务队列221a-b。在该组织中,连接到上游和下游链接的串行接口210上的单个事务仅映射到连接至信号路径121和122的非易失性存储器设备中的一个或两个。
在实施方式中,在信号路径201上接收或通过其他信号路径(诸如串行总线)接收时钟信号和其他信息。在实施方式中,接口210包括发送电路或发送器以及接收器电路或接收器(或称为收发器的组合形式),以在信号路径202上输出信号,并且在信号路径201上接收信号。类似地,接口220a和220b分别经由信号路径121和122从集成电路存储器设备接收控制信息、读数据和写数据以及向集成电路存储器设备发送控制信息、读数据和写数据。在实施方式中,接口220a-b包括发送器和接收器,以在信号路径121和122上输出并接收信号。在实施方式中,接口210和220a-b中的发送器和接收器单独地或组合地作为专用的,或由信号路径121和122中的特定信号线共享。
在实施方式中,接口220a-b中的发送器和接收器发送和接收具有标准易失性存储器设备信令特性(或协议)的信号,诸如SynchNand或Nor FLASH的写入/读取/擦除/控制信号。
在实施方式中,接口220a-b包括发送器以在单向信号路径上传送控制信息,同时用于写数据和读数据的发送器和接收器在双向信号路径上传送写数据和读数据。在实施方式中,接口220a-b和210中的发送器单独地或组合为输出驱动器电路,以将各个信号输出到信号路径121、122和401上。输出驱动器电路可以是上拉、下拉和/或推拉类型的输出驱动器电路。
根据实施方式,复用器230a和230b执行接口210与接口220a和220b之间的带宽集中操作,以及将数据从合适的源(即,目标为信号路径的子集、内部数据高速缓存-高速缓存电路292)路由到合适的目的地。在实施方式中,带宽集中包括合并多个信号路径实施方式中的每个信号路径的(较小)带宽,从而匹配在较小的信号路径组中利用的(较高)总带宽。带宽集中通常利用对多个信号路径和较小的信号路径组之间的吞吐量的复用和解复用。在实施方式中,IC缓冲器设备200a利用接口220a和220b的组合带宽来匹配接口210的带宽。
进一步参考图2A,在一个实施方式中,HRCH电路190包括单独的或组合的控制电路290、映射电路291、高速缓存(或存储设备)电路292、耐久性电路293(包括一个或多个存储的写阈值293a)和缺陷电路294(包括一个或多个存储的缺陷存储器地址)。IC缓冲器200a中示出的电路可以如图4所示那样耦合。而且,HRCH电路190的一个或多个电路组件可以布置在控制器110中,具体是HRCH电路180中,而不是各个实施方式中的HRCH电路190中。
控制电路290负责向HRCH电路190中的电路提供控制信号,以及从HRCH电路190中的电路接收控制信号。在实施方式中,控制电路290可以经由信号路径201从接口210接收控制信号和/或值。可以以命令的形式从控制器110、可编程电路(诸如SPD设备)和/或另一存储器模块提供控制信息。在实施方式中,控制电路290是处理器、控制器单元和/或控制逻辑。控制电路290通过类似于图4所示信号路径405的信号路径耦合至HRCH中的其他电路。读数据、写数据和地址以及控制信号可以使用该信号路径在电路之间传送。在实施方式中,控制电路290还操作IC缓冲器设备200a,并且可以包括压缩/解压缩引擎。
映射电路291负责重映射或重分配与写数据/读数据相关联的地址或存储器位置。如图3A-B所示,映射电路291响应于来自于控制电路290(和/或耐久性电路293以及缺陷电路294)的控制信号重映射地址和数据。在实施方式中,映射电路291可以包括地址转译器电路。映射电路291可以重映射地址,该地址连同相关联的读数据/写数据存储在高速缓存电路292中。映射电路291将数据从接口210引导至接口220中的合适事务队列,并且将从接口210接收的地址转译为待发送到接口220a-b的合适设备选择和存储器地址。通常在易失性存储器系统中,将来自于接口210的单个事务引导至一个或几个存储器设备,以减少所需的写操作数量,并且接口210上的连续地址被引导至单个存储器设备中的连续位置。
高速缓存电路292用于存储来自于控制器或另一存储器模块的读数据/写数据。在实施方式中,该读数据/写数据连同相关联的地址存储到系统100的存储器位置。读数据/写数据可以存储以及装配为连续字或字节的组,诸如64、128、256和/或512Kb的块。然后,可以将这些块转译并且存储为组。例如,写数据的256Kb的块可以存储在缓冲器设备125b的高速缓存电路292中(该数据经由信号路径140a和140b从控制器110接收),并且经由信号路径140c传送到存储器模块120c,其中存储了该写数据(或在实施方式中,在先前写入之后恢复)。在另一实施方式中,与特定存储器模块相关联的集成电路存储器设备用于代替高速缓存电路292存储数据块。
耐久性电路293负责基于已经发生在系统100中的特定存储器位置(或多个存储器位置)处的写操作的数量,来确定是否应该重映射写数据/读数据。在实施方式中,耐久性电路293包括存储电路,诸如一个或者多个寄存器,所述寄存器用于存储写阈值,或在可能不可靠的位置处进一步写入或存储之前限制对该特定存储器位置的写入数量。在实施方式中,耐久性电路293还包括用于计数对特定存储器位置的写入的数量的计数器和用于将计数值与存储的阈值相比较的比较电路。响应于比较,该比较电路继而可以向控制电路290输出指示不应对特定存储器位置进行写入的控制信号。映射电路291继而可以将新地址分配给将存储在一个或多个存储器模块中的写数据/读数据。耐久性电路293还可以生成控制信号,该控制信号指示还未被写入像其他位置那么多次的某些存储器位置,因此映射电路291支持在非易失性集成电路存储器设备中的所存储写数据/读数据的分发。
缺陷电路294负责确定一个或多个存储器位置是否有缺陷或是否没有准确地存储和输出信息。在实施方式中,缺陷电路294存储多个测试值294a,响应于来自于控制电路290的控制信号,将这些多个测试值294a写入另一存储器模块的一个或多个存储器位置。继而,其他存储器模块中存储的测试值可以被读回到IC缓冲器设备200a,并且通过比较电路来与存储的多个测试值294a进行比较。比较电路响应于比较而输出指示存储器位置有缺陷的信号。然后,可以将控制信号输出到映射电路291,从而对写数据/读数据的进一步映射将不包括标识的有缺陷的存储器位置。在实施方式中,缺陷电路294存储可以由控制电路290和/或映射电路291访问的有缺陷的存储器位置的地址。在实施方式中,多个测试值294a由伪随机数发生器生成,由控制器110作为测试模式提供,或通过读取另一存储器模块的内容来获取。
在备选实施方式中,缺陷电路294包括感应电路,以感应来自于存储器位置的电流/电压并且将其与表示电流/电压的存储值进行比较,从而确定存储器位置是否有缺陷。
在各种实施方式中,包括HRCH电路190的IC缓冲器设备200a以不同的操作模式操作。在第一操作模式中,IC缓冲器设备200a存储将由另一存储器模块和/或控制器访问的读数据/写数据。在第二操作模式中,IC缓冲器设备200a为另一存储器模块中的读数据/写数据分配地址,并且将该数据和地址传送到继而存储该读数据/写数据的另一存储模块。
时钟电路270包括一个或多个时钟对准电路,其相对于外部时钟而针对相位或延迟调节内部时钟信号。时钟对准电路可以利用来自于现有时钟发生器的外部时钟(诸如时钟源130)或提供内部时钟的内部时钟发生器,从而生成具有预定时间关系的内部同步时钟信号。在实施方式中,时钟电路270包括锁相环电路或延迟锁定环电路。在实施方式中,时钟对准电路提供与传送的或接收的控制信息、读数据和/或写数据具有时间关系的内部时钟信号。
在实施方式中,接口220a-b(以及接口210)中的发送器发送包括编码的时钟信息的差分信号,并且接收器接收包括编码的时钟信息的差分信号。在实施方式中,时钟电路270提取利用接收器接收的数据编码的时钟信息。此外,利用发送器发送的数据对时钟信息进行编码。例如,通过确保在给定数据的数据比特中发生最小的信号迁移数量,可以将时钟信息编码为数据信号。
串行接口274是用于从控制器110、实施方式中的另一IC缓冲器设备或其他配置电路接收串行信息或者向控制器110、实施方式中的另一IC缓冲器设备或其他配置电路发送串行信息的接口。该串行信息可以包括用于IC缓冲器设备200a或存储器模块的初始化值/信号。在实施方式中,控制器110使用串行接口274来存储和/或读取在HRCH电路190中的值,诸如一个或多个写阈值293a和/或测试值294a。
图2B示出了类似于图2A示出的缓冲器IC 200a的缓冲器IC200b,但是与易失性存储器模块118(图1)一起使用。两个缓冲器IC中的大部分电路是相似的,并且为了简洁,不再赘述。然而,可以采用对该电路的某些修改,诸如省略耐久性电路293a和缺陷电路294a(图2A)。此外,事务队列和映射电路与非易失性模块缓冲器IC 200a不同地处理数据映射。
映射电路291通常配置用于将来自接口220的数据和至接口220的数据引导到并联的所有设备,并且同时将类似的地址发送到所有或大部分设备,很多设备由单个事务选择。
接口220a-b示出为独立接口,但是其可以组合。它们包含事务队列222a-b,用于存储被发送至易失性存储器设备或从易失性存储器设备接收的数据。在缓冲器200b应用于例如DRAM的易失性存储器设备的情况下,事务队列存储指向以及分布于多个设备的事务。在该情况中,并行地访问设备的组合带宽,从而最大化事务的带宽。在发送到上游和下游串行接口之前,将发送到以及来自于存储器设备的数据转发至接口210中的事务队列223b。类似地,从信号路径201串行接收的事务存储在事务队列223b中,并且继而在将其发送到存储器设备之前转发至22a-b中的事务队列。在该组织中,接口210中的上游或下游链接上的单个事务在被从存储器读取或写入时访问多个存储器设备。
如上所述,闪存设备和DRAM存储器设备具有很多不同特性。其他差异包括在设备中如何执行数据写操作。
图3A示出了基于DRAM的FBDIMM模块318与基于闪存的FBDIMM模块320之间的相关数据映射的示例。在基于DRAM的FBDIMM模块中,模块上的DRAM设备303a-h通常定义数据总线宽度。该宽度继而表示能够同时在每个时钟边沿被写入所有DRAM的比特数量。在每个DRAM中的相同地址处执行每个同时的写入,如图3A的易失性设备303a-h中的阴影区域象征性示出的那样。因而,对于每个时钟周期,数据的一部分被写入每个DRAM。缓冲器IC 325提供解串行化电路(未示出)以将从上游串行链接340a或下游串行链接350b接收的串行流转换为并行数据流,以便沿着并行数据路径328a-h传输到独立的DRAM设备。
在基于DRAM的存储器模块中,虽然同时并行写入机制工作得很好,但是各种原因呈现出此类基于闪存模块的方法是不切实际的。闪存设备经常在称为块的存储器单元中进行擦除和重编程。而且,为了向闪存设备存储或写入数据,块必须是空的或已擦除的。因而,在大部分情况中,在写操作之前进行擦除操作。此外,如上所述,闪存设备通常具有有限的写入持久性。
进一步参考图3A,基于闪存的FBDIMM模块320包括缓冲器IC 326,其以将数据存储在一个或多个指定块360(示出为阴影块)内的方式,来将从下游串行链接340b接收的串行化数据重映射,这里利用了最小数量的设备。这确保了写操作最大化每个块可用的存储利用率,并且最小化了影响所有设备持久性的写操作数量。该映射还可以沿两个模块间的上游路径以相反方向工作。在此类情况中,来自于给定块的数据将重映射到类似于示出的多个DRAM中。
图3B示出了第一层级地址空间363和第二层级地址空间364之间的地址映射362。在实施方式中,第一地址空间363对应于层级101(具有易失性集成电路存储器设备)中的地址空间(或可寻址存储器位置的量),并且层级地址空间364对应于层级102(具有非易失性IC)中的地址空间。层级地址空间363至少包括可寻址存储器位置366a-n,并且层级地址空间364至少包括可寻址存储器位置368a-t。在实施方式中,层级地址空间364显著大于层级地址空间363。如上所述,电路和/或可执行指令映射或分配数据到层级地址空间363或层级地址空间364。在实施方式中,相关联的数据可以是读数据和/或写数据,所述数据曾经被分配了层级地址空间363或364之一中的地址,并且继而被重映射或分配先前分配的层级地址空间中的不同存储器位置处的不同地址,或重映射或分配到不同层级地址空间中的不同存储器位置。在实施方式中,图3B示出的存储器位置对应于连续存储器位置的块或组。
例如,存储在存储器位置364a处或将存储在存储器位置364a处的数据被映射或分配地址为存储器位置363b,并且存储在存储器位置363b处。类似地,存储在存储器位置363n处或将存储在存储器位置363n处的数据被映射地址到存储器位置364t,并且存储在存储器位置364t处。
被分配了存储器位置364e的数据还可以被重分配层级地址空间364中的存储器位置364s,并且存储在存储器位置364s处。在预定数量的写操作已经在特定存储器位置处发生时和/或在确定特定存储器位置有缺陷或不可靠时,可以发生在层级地址空间364中重分配以及存储数据。
图4示出了控制器110,如图1所示,其具有HRCH电路180。HRCH电路180的操作类似于图2A和图2B中示出的HRCH电路190。控制器110还包括接口401,类似于接口310,用于在信号路径140a上传送控制信息和读数据/写数据。控制器110还包括时钟电路403,也类似于时钟电路370在同步和传送控制以及读/写数据中使用。串行接口402连同IC缓冲器设备125a-b和126a-b中的串行接口374,用于提供控制器110和IC缓冲器设备125a-b和126a-b之间的串行信息。
在实施方式中,控制器110或IC缓冲器设备300的控制电路390从存储电路读取信息,存储电路诸如SPD设备,该信息指示系统100中的层级数量和类型。然后,控制电路390可以响应于从SPD设备读取的信息生成合适的控制信号。
在操作中,上述系统可以基于模块位置(例如,上游和下游)以及设备类型(例如,易失性和非易失性)建立层级。当与包括上游和下游路径的FBDIMM型基础设施耦合时,此类架构利用易失性和非易失性存储器的益处,同时避免不兼容的问题。
图5A-5D示出了用于操作如图1所示的系统100的方法500、510、520和530。通过利用上述的菊花链式点到点链接架构,下文描述的很多方法包括并发执行的多个操作。而且,在实施方式中,图5A-5D示出的逻辑块表示硬件(例如,电路)、软件(可执行指令)或用户的单独或组合操作。例如,图1所示的HRCH电路,其可以独立地或与其它电路组合地执行该操作。未示出的其他逻辑块可以包括在各种实施方式中。类似地,示出的逻辑块可以在各种实施方式中排除。而且,虽然以顺序逻辑块描述了方法500、510、520和530,但是由方法的逻辑块表示的操作完成非常迅速或几乎是瞬时完成,并且可以并发执行。
图5A中所示的方法500在501处包括写数据缓冲,以及通过从存储器控制器110传送写数据到一个或多个存储器模块的第一层级101中来开始。在502处,在第一层级中,还累积写数据,并且该写数据可以装配为预定数量的连续比特值或写数据的块。然后,在503处,第一层级中的累积写数据可以从模块的第一层级传送到一个或多个存储器模块的第二层级102。在504处,存储在第一层级中的写数据可以退隐。在方法500中,第一层级充当用于第二层级的写入高速缓存。由于与第二层级模块中的非易失性存储器设备相关联的写入延迟可以是毫秒量级,所以这是重要的。通过在将数据从第一层级传送到第二层级时在第一层级中高速缓存写数据,控制器可以并发执行其他操作而无需等待第二层级模块。
图5B示出了读数据高速缓存的方法510,其中第一层级101充当用于第二层级102的读数据(相对于控制器110)的读取高速缓存。在511和512处,方法510通过以下操作开始:将读数据装配为预定数量的连续比特值或读数据块,然后将该读数据从第二层级传送到第一层级。在513处,第一层级能够相对于控制器并发执行写操作和读操作,同时将读数据的块从第二层级传送到第一层级。上述层级系统提供的另一有益方法包括写数据合并。在某些实例中,某些所需数据的一部分可以存储在第一层级101内的模块中,而另一部分已经存储在第二层级102内的模块中。对第二层级(具有非易失性设备)中的块的任何写入包括首先擦除全部块的内容。因而,为了避免丢失块的原始内容,可以如图5C所示采用“读取-修改-写入”系列步骤的形式。
进一步参考图5C,写数据合并的方法520包括如下步骤,即在521处,从模块的第一层级101中的易失性存储器设备首先读取所需数据“DATA A(数据A)”。该数据可以临时存储在易失性存储器模块缓冲器IC 125或非易失性存储器模块缓冲器IC 126之一中。然后,来自于非易失性设备的所需数据“BLOCK B(块B)”的块从第二层级102中的存储器模块中读取,如步骤522所示,并且临时存储在存储数据DATA A的同一缓冲器IC中。然后,在步骤523处,由缓冲器电路将数据DATA A和BLOCK B合并在一起。然后,在524处,将合并的数据“DATA A”和“BLOCK B”写回到第二层级的单个数据块“BLOCK C”中。
图5D示出了方法530,该方法开始于531,将写数据A传送到第一层级101,其中在将写数据的块写入第二层级102之前,将写数据A存储或高速缓存到写数据的块中。在532处,访问高速缓存到第一层级中的写数据A的块。然后,在533处,将高速缓存的写数据A的块从第一层级传送到第二层级并且存储在第二层级中,同时访问第一层级中的数据B,诸如通过读取操作。虽然图5D示出了包括并发操作的方法的一个实施方式,但是由于将控制器和缓冲器设备110、125和126互连的菊花链式上游和下游点到点链接140a-n和150a-n,并发操作的各种组合是可能的。例如,读操作和/或写操作可以在控制器110和存储器设备的第一层级之间、与第一和第二水平存储器层级之间执行的写操作和/或读操作并发执行。
返回到图1所示的实施方式,存储器模块120a-d包括带有接口123a-d的基板,接口123a-d具有多个用于耦合至信号路径140a-d的导电触点,诸如管脚和/或球。在实施方式中,多个触点、焊球或管脚包括在接口中以提供接口和存储器模块基板之间的电连接。在实施方式中,接口可以从连接器或基板(诸如印刷电路板)移除。在实施方式中,控制器110、集成电路存储器设备103a-p和104a-p以及IC缓冲器设备125a-b和126a-b独立地容纳集成单片电路,和/或组合在多个封装中(例如,存储器设备和单个封装中的缓冲器设备)。该封装可以布置于一个或多个基板上。
在实施方式中,一个或多个信号路径140a-d是点到点链接,其表示一个或多个信号线,每个信号线仅具有两个收发器连接点,每个收发器连接点耦合至发送器、接收器或收发器电路。例如,点到点链接可以包括耦合在一端处或一端附近的发送器以及耦合在一端处或一端附近的接收器。
在实施方式中,一个或多个信号路径140a-d可以包括不同类型的总线或点到点链接架构。在实施方式中,信号路径还可以具有不同类型的信令和时钟类型架构。具有不同链接架构的实施方式包括同时双向链接、时分复用双向链接和多个单向链接。可以在这些链接或总线架构的任一个中采用电压或电流模式信令。在实施方式中,信号路径140a-d包括串行数据总线,诸如SMBus。串行总线可以经由串行接口474将控制器110耦合至一个或多个IC缓冲器设备125a-b和126a-b。
在实施方式中,一个或多个存储器模块120a-d是双列内插式存储器模块(“DIMM”),其具有标准DIMM形式因子。在实施方式中,存储器模块可以包括在单个单元封装中,如在“系统级封装”(“SIP”)中。在一个类型的SIP实施方式中,存储器模块可以包括一系列堆叠在彼此顶部并且经由导电互连耦合的集成电路裸片(即,存储器设备和缓冲器设备)。焊球或引线可以用作连接器接口,从而存储器模块可以固定地附接至印刷电路板基板。连接器接口还可以是物理上可分离的类型,其例如包括凹凸连接部分,从而存储器模块可从系统的其余部分中拆卸。另一SIP实施方式可以包括以二维配置布置在公共基板平面以及位于单个封装外壳内的多个存储器设备和缓冲器设备。
在图1所示的实施方式中,集成电路存储器设备103a-p和104a-p包括不同类型的集成电路存储器设备。例如,集成电路存储器设备103a-p可以是易失性集成电路存储器设备,而集成电路存储器设备104a-p可以是非易失性集成电路存储器设备。易失性集成电路存储器设备包括多个存储器单元,在一个实施方式中,当从设备移除电源时,该存储器单元中存储的信息丢失。相反,非易失性集成电路存储器设备包括多个存储器单元,当从实施方式的设备移除电源时,该存储器单元中的信息保持。
易失性存储器设备的类型包括但不限于:动态随机访问存储器设备(“DRAM”)、基于分子电荷的(ZettaCore)DRAM、浮体DRAM和静态随机访问存储器(“SRAM”)。特定类型的DRAM包括双数据速率SDRAM(“DDR”)或下一代SDRAM(例如,“DDR”或“DDR3”)以及XDRTMDRAM或DIRECT
Figure G2008800107707D00161
DRAM(“DRDRAM”)。
非易失性存储器设备的类型包括但不限于:电可擦除程序只读存储器(“EEPROM”)、FLASH(“包括NAND和NOR FLASH”)、ONO FLASH、磁阻式或磁性RAM(“MARM”)、铁电性RAM(“FRAM”)、全息介质、奥氏/相变、纳米晶体、纳米管RAM(NRAM-Nantero)、MEMS扫描探针系统、MEMS悬臂开关、聚合体、分子、纳米晶浮栅和单个电子。
某些类型的非易失性存储器设备的一个特性在于,尽管可以以随机访问的方式每次对其读取或编程/写入一个字节或字,但是必须每次对其进行擦除。从可刷新擦除块开始,块内的任何字节都可以被编程。然而,一旦已经对字节编程,则通常不能对其再次改变,直到擦除整个块。例如,NOR FLASH存储器设备可以提供随机访问读取和编程操作,但是通常不能提供随机访问重写或擦除操作。
集成电路存储器设备可以包括:二维存储器单元的一个或多个存储阵列(或存储体),其可以按行(经由字线和位线)对其独立访问;以及解码器电路和多个读出放大器。可以将各种电压或电流量应用于存储阵列中的一个或多个存储器单元,以对存储对应于逻辑值(例如,逻辑1或0)的电压值的存储器单元进行编程(写入)、读取和/或擦除。
在图1所示的实施方式中,控制器110是主设备,其可以是包含其他接口或功能(例如,芯片组的北桥芯片)的集成电路设备。该主设备可以集成在微处理器或图像处理器单元(“GPU”)或视觉处理器单元(“VPU”)上。该主设备可以实现为现场可编程门阵列(“FPGA”)。系统100可以包括在各种系统或子系统中,诸如服务器(例如,刀片服务器)、个人计算机、图像卡、机顶盒、有线调制解调器、蜂窝电话、游戏控制台、数字电视机(例如,高清电视(“HDTV”))、传真机、有线调制解调器、数字多功能盘(“DVD”)播放器或网络路由器。
在图1所示的实施方式中,系统100可以在用作搜索引擎来执行或运行的服务器中使用,该服务器响应于输入关键字来提供存储在因特网上的搜索结果,该搜索结果包括到web站点(或页面)的超链接、图像和/或视频。在搜索引擎实施方式中,经常被检索的信息(例如,最近搜索结果)可以存储在层级101中,而很少被检索的信息(例如,索引)可以存储在层级102中。
上述信号可以由电导体在控制器/存储器模块/设备/电路之间和内部发送或接收,并且可以使用任何数量的信令技术(包括但不限于对电信号的电压或电流水平进行调制)来生成。信号可以表示任何类型的控制和定时信息(例如,命令、地址值、时钟信号和配置信息)以及数据。在实施方式中,控制、地址和/或数据信息包括在请求分组中,该请求分组表示特定信号线上的特定比特窗所表示的一个或多个信号。在实施方式中,从控制器向一个或多个存储器模块并且在存储器模块之间提供请求分组。
在实施方式中,信号路径是传送信号的介质,诸如单独的或组合的互连、导电元件、触点、管脚、半导体基板中的区域、线缆、金属布线/信号线或光电导体。在实施方式中,多个信号路径可以代替图中所示的单个信号路径,并且单个信号路径可以代替图中所示的多个信号路径。在实施方式中,信号路径可以包括总线和/或点到点连接。在实施方式中,信号路径包括控制和数据信号线。在备选实施方式中,信号路径仅包括数据信号线或仅包括控制信号线。此外,在其他实施方式中,信号路径是单向(在一个方向上传播的信号)或双向(在两个方向上传播的信号)或单向信号线和双向信号线两者的组合。
应该指出,按照这里公开的各种电路的行为、寄存器传送、逻辑组件、晶体管、布局几何和/或其他特性,这些电路可以使用计算机辅助设计工具描述,并且表达(或表示)为包含在各种计算机可读介质中的数据和/或指令。可以在其中实现此类电路表示的文件和其他对象的格式包括但不限于:支持诸如C、Verilog和HLDL的行为语言的格式;支持例如RTL的寄存器级描述语言的格式;支持诸如GDSII、GDSIII、GDSIV、CIF、MEBES的几何描述语言的格式;以及任何其他合适的格式和语言。此类格式化数据和/或指令可以包含在其中的计算机可读介质包括但不限于:各种形式的非易失性存储介质(例如,光、磁或半导体存储介质)以及可以用于通过无线、光或有线信令介质或其任何组合传送此类格式化数据和/或指令的载波。由载波传输此类格式化数据和/或指令的示例包括但不限于:经由一个或多个数据传送协议(例如,HTPP、FTP、SMTP等)在因特网和/或其他计算机网络上传送(上传、下载、电子邮件等)。当经由一个或多个计算机可读介质在计算机系统内接收到时,上述电路基于此类数据和/或指令的表达可以由计算机系统内的处理实体(例如,一个或多个处理器)结合执行一个或多个其他计算机程序来处理,以生成此类电路物理表现的表示或图像,其中所述一个或多个其他计算机程序包括但不限于:网表生成程序、放置和布线程序等。此后,此类表示或图像可以用于设备制造中,例如,通过支持生成用于形成设备制造过程中的电路各种组件的一个或多个掩膜来实现。
在此描述电路的功能还可以部分地或整体地由在例如系统100中存储和执行的计算机/处理器可执行指令(或软件)替换。
已经出于示出和描述的目的提供了优选实施方式的前述描述。其不旨在穷举或限制实施方式为所公开的精确形式。对于本领域的技术人员来说,修改和变形是明显的。为了对本发明的原理及其实际应用进行最佳解释,选择并且描述了实施方式,从而使得本领域的技术人员能够针对适于所构思的特定用途的各种实施方式和各种修改来理解本发明。本发明的范围由后面的权利要求书和其等效物限定。

Claims (17)

1.一种存储器系统,包括:
存储器控制器;
定义第一存储器层级的易失性存储器设备的第一集合,所述易失性存储器设备的第一集合布置在至少一个第一存储器模块上,所述至少一个第一存储器模块以菊花链式配置耦合至所述存储器控制器,并且包括第一集成电路缓冲器设备;
定义第二存储器层级的非易失性存储器设备的第二集合,所述非易失性存储器设备的第二集合布置在至少一个第二存储器模块上,所述至少一个第二存储器模块以菊花链式配置耦合至所述至少一个第一存储器模块,并且包括第二集成电路缓冲器设备。
2.根据权利要求1所述的存储器系统,其中在所述存储器控制器和所述第二存储器层级之间传输的信号通过所述第一存储器层级。
3.根据权利要求1所述的存储器系统,其中所述至少一个第一存储器模块包括多个第一存储器模块,所述多个第一存储器模块中的每个包括相应的第一集成电路缓冲器设备,并且其中所述相应的第一集成电路缓冲器设备以菊花链方式经由相应的点到点链接集合耦合。
4.根据权利要求3所述的存储器系统,其中所述相应的点到点链接集合包括用于向所述存储器控制器传输信号的至少一个上游信号路径,以及用于从所述存储器控制器传输出信号的至少一个下游信号路径。
5.根据权利要求4所述的存储器系统,其中每个点到点链接包括单向串行链接。
6.根据权利要求1所述的存储器系统,其中所述易失性存储器设备包括动态随机访问存储器(DRAM)设备。
7.根据权利要求1所述的存储器系统,其中所述非易失性存储器设备包括闪存设备。
8.根据权利要求1所述的存储器系统,其中所述至少一个第一存储器模块包括全缓冲双列内插式存储器模块。
9.根据权利要求1所述的存储器系统,其中所述至少一个第二存储器模块包括多个第二存储器模块,所述多个第二存储器模块中的每个包括相应的第二集成电路缓冲器设备,并且其中所述相应的第二集成电路缓冲器设备以菊花链方式经由相应的点到点链接集合彼此耦合。
10.根据权利要求9所述的存储器系统,其中所述相应的点到点链接集合包括用于向所述存储器控制器传输信号的至少一个上游信号路径,以及用于从所述存储器控制器传输出信号的至少一个下游信号路径。
11.根据权利要求10所述的存储器系统,其中每个点到点链接包括单向串行链接。
12.一种用于操作存储器系统的方法,所述存储器系统具有以菊花链方式耦合至易失性存储器设备的第一集合的存储器控制器,所述易失性存储器设备的第一集合布置在至少一个第一存储器模块上,所述存储器系统包括布置在至少一个第二存储器模块上的非易失性存储器设备的第二集合,所述至少一个第二存储器模块以菊花链式耦合至所述至少一个第一存储器模块,所述方法包括:
沿下游信号路径,从所述存储器控制器向所述易失性存储器设备的第一集合的一部分传输写数据;
在所述易失性存储器设备的第一集合的一部分中累积所述写数据;以及
沿第二下游信号路径,将所述写数据从所述易失性存储器设备的第一集合传送到所述非易失性存储器设备的第二集合的一部分。
13.根据权利要求12所述的方法,其中所述传输、累积和传送操作中的至少两个并发发生。
14.根据权利要求12所述的方法,其中所述易失性存储器设备包括动态随机访问存储器设备,所述非易失性存储器设备包括闪存设备,以及
其中累积所述写数据包括将所述写数据写入相同地址处的DRAM设备的平行集合;以及
其中将所述写数据从所述易失性存储器设备的第一集合传送到所述非易失性存储器设备的第二集合包括:将所述写数据从所述动态随机访问存储器设备的第一集合中相同地址的所述平行集合重映射到所述闪存设备之一中的块。
15.一种用于操作存储器系统的方法,所述存储器系统具有以菊花链方式耦合至易失性存储器设备的第一集合的存储器控制器,所述易失性存储器设备的第一集合布置在至少一个第一存储器模块上,所述存储器系统包括布置在至少一个第二存储器模块上的非易失性存储器设备的第二集合,所述至少一个第二存储器模块以菊花链式耦合至所述至少一个第一存储器模块,所述方法包括:
沿上游数据路径,从所述非易失性存储器设备的第二集合的一部分,向所述易失性存储器设备的第一集合传送读数据;
将所述读数据存储在所述易失性存储器设备的第一集合的一部分中;
访问存储在所述易失性存储器设备的第一集合的所述一部分中的数据。
16.根据权利要求15所述的方法,其中所述传送、存储和访问操作中的至少两个并发发生。
17.一种用于操作存储器系统的方法,所述存储器系统具有以菊花链方式耦合至易失性存储器设备的第一集合的存储器控制器,所述易失性存储器设备的第一集合布置在至少一个第一存储器模块上,所述存储器系统包括布置在至少一个第二存储器模块上的非易失性存储器设备的第二集合,所述至少一个第二存储器模块以菊花链式耦合至所述至少一个第一存储器模块,所述方法包括:
沿第一上游数据路径从所述非易失性存储器设备的第二集合的第一部分向所述易失性存储器设备的第一集合传送第一读数据;
将所述第一读数据写入所述易失性存储器设备的第一集合的第二部分;
标识所述易失性存储器设备的第一集合的第三部分中存储的第二数据;以及
通过以下操作将所述第一数据与所述第二数据合并:
沿下游数据路径,将所述第一读数据和所述第二数据从所述易失性存储器设备的第一集合的所述第一部分和第二部分传送到所述非易失性存储器设备的第二集合,并且将所述第一数据和第二数据写入所述非易失性存储器设备的第二集合的块部分。
CN200880010770A 2007-03-30 2008-03-19 包括具有不同类型集成电路存储器设备的分层存储器模块的系统 Pending CN101689145A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US90935907P 2007-03-30 2007-03-30
US60/909,359 2007-03-30
PCT/US2008/057471 WO2008121559A1 (en) 2007-03-30 2008-03-19 System including hierarchical memory modules having different types of integrated circuit memory devices

Publications (1)

Publication Number Publication Date
CN101689145A true CN101689145A (zh) 2010-03-31

Family

ID=39512709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880010770A Pending CN101689145A (zh) 2007-03-30 2008-03-19 包括具有不同类型集成电路存储器设备的分层存储器模块的系统

Country Status (5)

Country Link
US (5) US9195602B2 (zh)
EP (2) EP2132635B1 (zh)
JP (1) JP5401444B2 (zh)
CN (1) CN101689145A (zh)
WO (1) WO2008121559A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216837A (zh) * 2013-05-31 2014-12-17 华为技术有限公司 一种内存系统、内存访问请求的处理方法和计算机系统
CN104303167A (zh) * 2012-05-08 2015-01-21 马维尔国际贸易有限公司 计算机系统和存储器管理的方法
CN105760562A (zh) * 2014-12-19 2016-07-13 吴国盛 基于分层读取的集成电路设计架构
CN107797945A (zh) * 2017-10-31 2018-03-13 郑州云海信息技术有限公司 一种存储系统及其数据存储方法、装置、系统及设备
CN108139978A (zh) * 2015-10-01 2018-06-08 拉姆伯斯公司 具有高速缓存的存储器模块操作的存储器系统
CN109416656A (zh) * 2016-10-31 2019-03-01 拉姆伯斯公司 混合存储器模块
CN110008149A (zh) * 2017-10-30 2019-07-12 爱思开海力士有限公司 融合式存储器件及其操作方法
CN110275840A (zh) * 2014-02-23 2019-09-24 拉姆伯斯公司 在存储器接口上的分布式过程执行和文件系统
CN111210857A (zh) * 2016-06-27 2020-05-29 苹果公司 组合了高密度低带宽和低密度高带宽存储器的存储器系统
CN111580749A (zh) * 2016-03-03 2020-08-25 三星电子株式会社 存储节点、混合存储器控制器及控制混合存储器组的方法
CN112771490A (zh) * 2018-09-24 2021-05-07 美光科技公司 通过读取标识(rid)号在存储器中寻址
US11544168B2 (en) 2017-10-30 2023-01-03 SK Hynix Inc. Memory system

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008057557A2 (en) 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
US8427891B2 (en) 2007-04-17 2013-04-23 Rambus Inc. Hybrid volatile and non-volatile memory device with a shared interface circuit
US8055809B2 (en) * 2008-12-24 2011-11-08 International Business Machines Corporation System and method for distributing signal with efficiency over microprocessor
US9123409B2 (en) 2009-06-11 2015-09-01 Micron Technology, Inc. Memory device for a hierarchical memory architecture
US8245024B2 (en) 2009-08-21 2012-08-14 Micron Technology, Inc. Booting in systems having devices coupled in a chained configuration
US9483399B2 (en) * 2009-12-31 2016-11-01 Micron Technology, Inc. Sub-OS virtual memory management layer
US8799553B2 (en) 2010-04-13 2014-08-05 Apple Inc. Memory controller mapping on-the-fly
US8463959B2 (en) * 2010-05-31 2013-06-11 Mosaid Technologies Incorporated High-speed interface for daisy-chained devices
JP5498933B2 (ja) * 2010-12-27 2014-05-21 株式会社リガク X線検出器
GB2493340A (en) * 2011-07-28 2013-02-06 St Microelectronics Res & Dev Address mapping of boot transactions between dies in a system in package
WO2014155592A1 (ja) 2013-03-27 2014-10-02 株式会社日立製作所 Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール
CN105027092B (zh) 2013-03-27 2018-01-30 株式会社日立制作所 具有sdram接口的dram、混合闪存存储器模块
US9858181B2 (en) 2013-06-20 2018-01-02 Hitachi, Ltd. Memory module having different types of memory mounted together thereon, and information processing device having memory module mounted therein
US20150106547A1 (en) * 2013-10-14 2015-04-16 Micron Technology, Inc. Distributed memory systems and methods
US20150363309A1 (en) * 2014-06-17 2015-12-17 Kingtiger Technology (Canada) Inc. System and method of increasing reliability of non-volatile memory storage
US10169257B2 (en) 2015-03-06 2019-01-01 Rambus Inc. Module based data transfer
CN107209718B (zh) * 2015-03-11 2021-11-19 拉姆伯斯公司 高性能非易失性存储器模块
JP6384375B2 (ja) 2015-03-23 2018-09-05 富士通株式会社 情報処理装置、記憶装置制御方法、記憶装置制御プログラム及び情報処理システム
KR102430561B1 (ko) * 2015-09-11 2022-08-09 삼성전자주식회사 듀얼 포트 디램을 포함하는 메모리 모듈
US11054992B2 (en) * 2015-12-28 2021-07-06 SK Hynix Inc. Memory module and memory system including the memory module
KR102681170B1 (ko) * 2017-01-17 2024-07-04 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템, 및 그의 리페어 동작 방법
US10402521B1 (en) * 2017-01-19 2019-09-03 Xilinx, Inc. Programmable integrated circuits for emulation
US10147712B1 (en) 2017-07-21 2018-12-04 Micron Technology, Inc. Memory device with a multiplexed command/address bus
US10959872B2 (en) 2017-08-02 2021-03-30 Samsung Electronics Co., Ltd. Motion assistance apparatus
US11403241B2 (en) 2017-10-02 2022-08-02 Micron Technology, Inc. Communicating data with stacked memory dies
US10355893B2 (en) 2017-10-02 2019-07-16 Micron Technology, Inc. Multiplexing distinct signals on a single pin of a memory device
US10725913B2 (en) 2017-10-02 2020-07-28 Micron Technology, Inc. Variable modulation scheme for memory device access or operation
US10446198B2 (en) 2017-10-02 2019-10-15 Micron Technology, Inc. Multiple concurrent modulation schemes in a memory system
US10490245B2 (en) 2017-10-02 2019-11-26 Micron Technology, Inc. Memory system that supports dual-mode modulation
WO2019074743A1 (en) 2017-10-12 2019-04-18 Rambus Inc. NON-VOLATILE PHYSICAL MEMORY WITH DRAM CACHE MEMORY
US11403035B2 (en) * 2018-12-19 2022-08-02 Micron Technology, Inc. Memory module including a controller and interfaces for communicating with a host and another memory module
US20210081318A1 (en) * 2019-09-17 2021-03-18 Micron Technology, Inc. Flexible provisioning of multi-tier memory
US11416422B2 (en) 2019-09-17 2022-08-16 Micron Technology, Inc. Memory chip having an integrated data mover
US11397694B2 (en) 2019-09-17 2022-07-26 Micron Technology, Inc. Memory chip connecting a system on a chip and an accelerator chip
US11163490B2 (en) 2019-09-17 2021-11-02 Micron Technology, Inc. Programmable engine for data movement
US11604744B2 (en) 2020-10-16 2023-03-14 Alibaba Group Holding Limited Dual-modal memory interface controller
US20240152279A1 (en) * 2022-11-08 2024-05-09 Micron Technology, Inc. Memory sub-system for memory cell in-field touch-up

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04324194A (ja) * 1991-04-25 1992-11-13 Nec Corp Rom回路
US5359569A (en) 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
US6170047B1 (en) * 1994-11-16 2001-01-02 Interactive Silicon, Inc. System and method for managing system memory and/or non-volatile memory using a memory controller with integrated compression and decompression capabilities
WO1999030240A1 (en) * 1997-12-05 1999-06-17 Intel Corporation Memory system including a memory module having a memory module controller
WO2002001375A1 (en) 2000-06-27 2002-01-03 Koninklijke Philips Electronics N.V. Integrated circuit with flash
US6625687B1 (en) 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6553450B1 (en) 2000-09-18 2003-04-22 Intel Corporation Buffer to multiply memory interface
US6877079B2 (en) 2001-03-06 2005-04-05 Samsung Electronics Co., Ltd. Memory system having point-to-point bus configuration
JP4049297B2 (ja) 2001-06-11 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
US7779212B2 (en) 2003-10-17 2010-08-17 Micron Technology, Inc. Method and apparatus for sending data from multiple sources over a communications bus
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
KR100588599B1 (ko) * 2005-05-03 2006-06-14 삼성전자주식회사 메모리 모듈 및 메모리 시스템
US7966446B2 (en) * 2005-09-12 2011-06-21 Samsung Electronics Co., Ltd. Memory system and method having point-to-point link
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
US7966469B2 (en) * 2006-08-14 2011-06-21 Qimonda Ag Memory system and method for operating a memory system
US7554855B2 (en) * 2006-12-20 2009-06-30 Mosaid Technologies Incorporated Hybrid solid-state memory system having volatile and non-volatile memory
US7564722B2 (en) * 2007-01-22 2009-07-21 Micron Technology, Inc. Memory system and method having volatile and non-volatile memory devices at same hierarchical level
US8185685B2 (en) * 2007-12-14 2012-05-22 Hitachi Global Storage Technologies Netherlands B.V. NAND flash module replacement for DRAM module
US9547589B2 (en) * 2008-06-18 2017-01-17 Super Talent Technology, Corp. Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
KR102534648B1 (ko) * 2018-03-08 2023-05-22 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11442635B2 (en) * 2019-01-10 2022-09-13 Western Digital Technologies, Inc. Data storage systems and methods for optimized scheduling of background management operations

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104303167A (zh) * 2012-05-08 2015-01-21 马维尔国际贸易有限公司 计算机系统和存储器管理的方法
US9881657B2 (en) 2012-05-08 2018-01-30 Marvell World Trade Ltd. Computer system and method of memory management
CN104216837A (zh) * 2013-05-31 2014-12-17 华为技术有限公司 一种内存系统、内存访问请求的处理方法和计算机系统
CN110275840B (zh) * 2014-02-23 2024-03-15 拉姆伯斯公司 在存储器接口上的分布式过程执行和文件系统
CN110275840A (zh) * 2014-02-23 2019-09-24 拉姆伯斯公司 在存储器接口上的分布式过程执行和文件系统
CN105760562A (zh) * 2014-12-19 2016-07-13 吴国盛 基于分层读取的集成电路设计架构
CN108139978A (zh) * 2015-10-01 2018-06-08 拉姆伯斯公司 具有高速缓存的存储器模块操作的存储器系统
US11836099B2 (en) 2015-10-01 2023-12-05 Rambus Inc. Memory system with cached memory module operations
CN108139978B (zh) * 2015-10-01 2023-03-03 拉姆伯斯公司 具有高速缓存的存储器模块操作的存储器系统
CN111580749A (zh) * 2016-03-03 2020-08-25 三星电子株式会社 存储节点、混合存储器控制器及控制混合存储器组的方法
CN111580749B (zh) * 2016-03-03 2023-06-23 三星电子株式会社 存储节点、混合存储器控制器及控制混合存储器组的方法
CN111210857A (zh) * 2016-06-27 2020-05-29 苹果公司 组合了高密度低带宽和低密度高带宽存储器的存储器系统
US11830534B2 (en) 2016-06-27 2023-11-28 Apple Inc. Memory system having combined high density, low bandwidth and low density, high bandwidth memories
CN111210857B (zh) * 2016-06-27 2023-07-18 苹果公司 组合了高密度低带宽和低密度高带宽存储器的存储器系统
CN109416656A (zh) * 2016-10-31 2019-03-01 拉姆伯斯公司 混合存储器模块
CN109416656B (zh) * 2016-10-31 2023-08-11 拉姆伯斯公司 混合存储器模块
CN110008149B (zh) * 2017-10-30 2023-06-06 爱思开海力士有限公司 融合式存储器件及其操作方法
CN110008149A (zh) * 2017-10-30 2019-07-12 爱思开海力士有限公司 融合式存储器件及其操作方法
US11544168B2 (en) 2017-10-30 2023-01-03 SK Hynix Inc. Memory system
CN107797945A (zh) * 2017-10-31 2018-03-13 郑州云海信息技术有限公司 一种存储系统及其数据存储方法、装置、系统及设备
CN112771490A (zh) * 2018-09-24 2021-05-07 美光科技公司 通过读取标识(rid)号在存储器中寻址
US12014082B2 (en) 2018-09-24 2024-06-18 Micron Technology, Inc. Addressing in memory with a read identification (RID) number
CN112771490B (zh) * 2018-09-24 2024-09-13 美光科技公司 通过读取标识(rid)号在存储器中寻址

Also Published As

Publication number Publication date
US9195602B2 (en) 2015-11-24
EP2132635A1 (en) 2009-12-16
WO2008121559A1 (en) 2008-10-09
US20170025187A1 (en) 2017-01-26
US11823757B2 (en) 2023-11-21
EP3279798A1 (en) 2018-02-07
US9767918B2 (en) 2017-09-19
US20160098354A1 (en) 2016-04-07
EP3279798B1 (en) 2020-07-29
US20100115191A1 (en) 2010-05-06
JP2010524059A (ja) 2010-07-15
US20170365354A1 (en) 2017-12-21
EP2132635B1 (en) 2017-08-16
JP5401444B2 (ja) 2014-01-29
US9460021B2 (en) 2016-10-04
US10755794B2 (en) 2020-08-25
US20210035652A1 (en) 2021-02-04

Similar Documents

Publication Publication Date Title
CN101689145A (zh) 包括具有不同类型集成电路存储器设备的分层存储器模块的系统
JP4891925B2 (ja) メモリモジュールからローカルデータをマージするためのメモリバッファ
CN103635968B (zh) 包含存储器系统控制器的设备和相关方法
CN108459974B (zh) 集成闪存的高带宽存储器设备
CN102349109B (zh) 存储器预取系统及方法
US7937641B2 (en) Memory modules with error detection and correction
CN101405708B (zh) 自动计算机器的存储器系统
JP2015111425A (ja) ハイブリッドメモリのためのシステム、方法及び装置
JP2009510562A (ja) 複数の集積回路メモリデバイスと複数のバッファデバイスをマトリクストポロジーで備えるメモリモジュール
CN102354299A (zh) 存储卡和半导体器件
KR20100104903A (ko) 디램 버퍼 관리 장치 및 방법
US8719532B2 (en) Transferring data between memories over a local bus
CN108630282A (zh) 裸芯上信号校准
CN109584944A (zh) 支持多输入移位寄存器功能的输入输出电路及存储器件
KR20240142588A (ko) 가변적인 물리 치수들, 메모리 포맷들, 및 동작 능력들을 가진 메모리 디바이스들, 모듈들 및 메모리 디바이스들을 가진 시스템들
US11630785B2 (en) Data storage with improved data transfer
US12045506B2 (en) Combining operations during reset
US11226767B1 (en) Apparatus with access control mechanism and methods for operating the same
CN114730301A (zh) 用于多协议处理的存储系统和方法
CN114842887A (zh) 存储器系统
CN113936727A (zh) 存储芯片、存储芯片的读写方法、读写装置和单片机
CN115995250A (zh) 半导体存储器装置和操作半导体存储器装置的方法
WO2007116485A1 (ja) メモリ装置、そのインタフェース回路、メモリ・システム、メモリ・カード、回路基板及び電子機器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100331