CN102110057A - 存储器模组及存储器模组内的数据交换方法 - Google Patents

存储器模组及存储器模组内的数据交换方法 Download PDF

Info

Publication number
CN102110057A
CN102110057A CN2009102008261A CN200910200826A CN102110057A CN 102110057 A CN102110057 A CN 102110057A CN 2009102008261 A CN2009102008261 A CN 2009102008261A CN 200910200826 A CN200910200826 A CN 200910200826A CN 102110057 A CN102110057 A CN 102110057A
Authority
CN
China
Prior art keywords
data
memory module
volatile storage
memory devices
devices
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
CN2009102008261A
Other languages
English (en)
Other versions
CN102110057B (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.)
Lanqi Technology Co Ltd
Original Assignee
LANQI SEMICONDUCTOR SHANGHAI CO Ltd
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 LANQI SEMICONDUCTOR SHANGHAI CO Ltd filed Critical LANQI SEMICONDUCTOR SHANGHAI CO Ltd
Priority to CN2009102008261A priority Critical patent/CN102110057B/zh
Priority to US12/903,223 priority patent/US9361250B2/en
Publication of CN102110057A publication Critical patent/CN102110057A/zh
Application granted granted Critical
Publication of CN102110057B publication Critical patent/CN102110057B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F13/1694Configuration of memory controller to different memory types
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • 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
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种存储器模组及存储器模组内的数据交换方法,存储器模组是用于缓存一计算机的CPU和其他装置之间的数据交换。存储器模组包括至少一个易失性存储器装置,至少一个非易失性存储装置,以及数据交换控制装置。数据交换控制装置根据指令控制易失性存储器装置和非易失性存储装置在存储器模组内的数据交换。

Description

存储器模组及存储器模组内的数据交换方法
【技术领域】
本申请的一方面是有关一种存储器模组及存储器模组内的数据交换方法,尤其是有关一种包括易失性存储装置和非易失性存储装置的存储器模组。
【背景技术】
存储器大致可分为易失性存储器(volatile memory)和非易失性存储器(non-volatilememory)。易失性存储器包括动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)等,具有存取速度快的优点,但由于工作时需要持续为其供电否则将导致存储于其内的数据丢失,因而具有较高的功耗。非易失性存储器包括闪速存储器(FLASH memory),相比易失性存储器具有高集成度的优点,即单位体积存储密度高,并且由于断电不会导致存储于其内的数据丢失而具有较低的功耗。非易失性存储器的存取速度低于易失性存储器,高于机械式硬盘。
目前,被用于计算机存储系统的主要是易失性存储器,如DRAM。而非易失性存储器,如FLASH,则越来越多地被用于通过I/O接口存取的外部存储设备,比如固态硬盘(solid statedisk)或U盘等。
【发明内容】
一方面,在计算机系统中通过I/O接口与存储系统进行数据交换一般需要经过多次数据格式转换,比如外部设备的数据格式与I/O接口的数据格式之间的转换,以及I/O接口的数据格式与存储系统的数据格式之间的转换等,因此,外部设备与存储系统之间的数据交换过程比较复杂并且会消耗较大的系统资源。
另一方面,存储系统是由系统中各设备所共享,一个外部设备,如固态硬盘,若要与存储系统进行数据交换就需要跟其他设备进行竞争。而连接于I/O接口的外部设备的优先级一般较低,在竞争中处于劣势,这样将使外部设备中的一些重要数据无法及时送至存储系统而降低了整个系统的效率。
又一方面,通过I/O接口与存储系统进行数据交换需要由中央处理器(CPU)进行调度,而这又进一步的消耗了CPU的资源。
又一方面,通过I/O接口与存储系统进行数据交换需要由主控制器参与,这会消耗主控制器的资源。
又一方面,当计算机处于休眠状态时,存储系统中仍存储着大量数据,为保持这些数据不丢失,系统必须为存储系统一直供电,而这将进一步增加系统的功耗;若将这些数据在计算机休眠时存储于连接于I/O接口的硬盘的话,由于I/O接口与存储系统之间的数据交换速度较慢,将导致恢复系统的时间较长。
发明人意识到由于I/O接口传输速率的瓶颈以及I/O接口与存储系统之间的数据交换的复杂机制,非易失性存储器,如FLASH,远高于传统机械式硬盘存取速度的优势并未得到充分利用。
本申请的一方面提供了一种存储器模组(memory module),该存储器模组包括至少一个易失性存储装置、至少一个非易失性存储装置以及数据交换控制装置。该数据交换控制装置根据接收到的指令控制易失性存储器装置和非易失性存储装置在该存储器模组内的数据交换。
在一些实施例中,当数据交换控制装置接收到第一指令时,控制从非易失性存储装置读取数据并把这些数据写入易失性存储装置;当数据交换控制装置接收到第二指令时,控制从易失性存储装置读取数据并把这些数据写入非易失性存储装置。
在一些实施例中,存储器模组用于缓存一计算机处理器,如CPU,和其他装置,如通过I/O接口连接于该计算机的装置,之间的数据交换。
在一些实施例中,存储器模组是由一主控制器控制,主控制器与处理器和存储器模组直接连接。
在一些实施例中,存储器模组的易失性存储装置用于存储计算机处理器正在使用的数据。
易失性存储器包括但不限于动态随机存取存储装置(DRAM)、静态随机存取存储装置(SRAM)等。非易失性存储器包括但不限于闪速存储装置(FLASH)、铁电随机存取存储装置(FRAM)、相变随机存取存储装置(PCRAM)等。
在一些实施例中,存储器模组是安装在一块印刷电路板上的至少一个存储装置的总成。
在一些实施例中,计算机可以包括一个以上处理器。
该存储器模组包括一个数据接口,该存储器模组通过该数据接口与其他装置进行数据交换。在一些实施例中,该数据接口为双数据率(DDR,double data rate)接口;在又一实施例中,该存储器模组数据接口为RAMBUS存储器模组接口。
在一些实施例中,易失性存储装置和非易失性存储装置之间的数据交换可以是单向的,如自非易失性存储装置至易失性存储装置,或自易失性存储装置至非易失性存储装置。在又一实施例中,易失性存储装置和非易失性存储装置之间的数据交换可以是双向的。其中,易失性存储装置和非易失性存储装置之间的数据交换不经过控制各存储器模组和其他装置之间数据交换的主控制器。
在一些实施例中,存储器模组对应每一非易失性存储装置设有非易失性存储装置控制器,以控制对应的非易失性存储装置。
在一些实施例中,存储器模组还包括易失性存储装置控制器,以控制易失性存储装置。
在一些实施例中,存储器模组还包括故障区块管理装置,以管理非易失性存储装置中的故障区块。
在一些实施例中,存储器模组还包括读写次数管理装置,以使非易失性存储装置中各区块的读写次数尽量平均,从而提高非易失性存储装置的使用寿命。
在一些实施例中,存储器模组还包括一个预取缓存,以缓存由非易失性存储装置读出的数据。在一些实施例中,复数个非易失性存储装置并行地连接于预取缓存,以提高数据读取速度。
在一些实施例中,存储器模组还包括一个命令分配装置。命令分配装置把从存储器模组外部接收到的命令分配给对应的装置。在一些实施例中,当命令分配装置接收到向易失性存储装置写入从存储器模组外部接收到的数据的命令时,把接收到的写命令分配给易失性存储装置控制器。当命令分配装置接收到由易失性存储器读出数据至其他设备时,把接收到的读命令分配给易失性存储装置控制器。当命令分配装置接收到从非易失性存储装置读取数据至数据接口的命令时,命令分配装置把接收到的命令分配给非易失性存储装置。当命令分配装置接收到从易失性存储装置读取数据并写入非易失性存储装置的命令时,把接收到的命令分配给数据交换控制装置。接着,数据交换控制装置产生一个读命令至易失性存储装置,产生一个写命令至非易失性存储装置。当命令分配装置接收到从非易失性存储装置读取数据并写入易失性存储装置的命令时,把接收到的命令分配给数据交换控制装置。接着,数据交换控制装置产生一个读命令至非易失性存储装置,产生一个写命令至易失性存储装置。
本申请的又一方面提供了一种计算机存储系统,用于缓存一计算机内的CPU和其他装置之间的数据交换。该存储系统包括一个或多个存储器模组以及一个主控制器。该主控制器控制存储器模组与其他装置之间的数据交换。该存储器模组包括至少一个易失性存储器装置、至少一个非易失性存储装置以及数据交换控制装置。该数据交换控制装置根据接到的指令控制该至少一个易失性存储器装置和该至少一个非易失性存储装置在该存储器模组内的数据交换。存储器模组内易失性存储器装置和非易失性存储装置之间的数据交换不经过主控制器。
在一些实施例中,主控制器可以是一个独立的装置,也可以是集成在计算机处理器中。
本申请的又一方面提供了一种存储器模组,用于缓存计算机处理器与其他装置之间的数据交换。该存储器模组包括至少一个易失性存储器装置、至少一个非易失性存储装置以及数据交换控制装置。该数据交换控制装置根据接到的指令控制该至少一个易失性存储器装置和该至少一个非易失性存储装置在该存储器模组内的数据交换。
本申请的又一方面提供了一种存储器模组,用于计算机系统,该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置。其中,非易失性存储装置可用于当计算机系统处于关机或休眠状态时存储计算机程序,易失性存储装置可用于运行这些计算机程序。
本申请的又一方面提供了一种存储器模组,用于计算机系统,该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置。其中,非易失性存储装置可用于当计算机系统从运行状态切换休眠状态时,存储至少部分易失性存储装置中的数据。
在一些实施例中,存储器模组是双面引脚存储器模组(dual-in-line memory module)。
在一些实施例中,存储器模组为双数据率双面引脚存储器模组。
在一些实施例中,非易失性存储装置的总容量大于等于易失性存储装置的总容量。
本申请的又一方面提供了一种存储器模组内的数据读写方法,该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置,该方法包括以下操作:接收来自主控制器的把非易失性存储装置中的数据读出并写入易失性存储装置的指令;自非易失性存储装置读出这些数据;以及把这些数据写入易失性存储装置。
在一些实施例中,这些数据在从非易失性存储装置中读出到写入易失性存储装置的过程不经过主控制器。在又一实施例中,这些数据在从非易失性存储装置中读出到写入易失性存储装置的过程在存储器模组内进行。在又一实施例中,这些数据在从非易失性存储装置中读出到写入易失性存储装置的过程不经过存储器模组对外的接口。
在一些实施例中,存储器模组还包括缓存,方法还包括以下操作:把自非易失性存储装置读出这些数据存储在缓存中;以及把缓存中的这些数据写入易失性存储装置。
本申请的又一方面提供了一种存储器模组内的数据读写方法,该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置,该方法包括以下操作:接收来自主控制器的把易失性存储装置中的数据读出并写入非易失性存储装置的指令;自易失性存储装置读出这些数据;以及把这些数据写入非易失性存储装置。其中,这些数据在从易失性存储装置中读出到写入非易失性存储装置的过程中不经过主控制器。
在一些实施例中,存储器模组还包括缓存,方法还包括以下操作:把自易失性存储装置读出这些数据存储在缓存中;以及把缓存中的这些数据写入非易失性存储装置。
在一些实施例中,这些数据在从易失性存储装置中读出到写入非易失性存储装置的过程不经过主控制器。在又一实施例中,这些数据在从易失性存储装置中读出到写入非易失性存储装置的过程在存储器模组内进行。在又一实施例中,这些数据在从易失性存储装置中读出到写入非易失性存储装置的过程不经过存储器模组对外的接口。
本申请的又一方面提供了一种存储器模组,用于一计算机,该存储器模组包括至少一个易失性存储装置,该存储器模组还包括至少一个非易失性存储装置,用于存储计算机操作系统,其中,易失性存储装置和非易失性存储装置可在存储器模组内进行数据交换。
本申请的又一方面提供了一种存储器模组,用于一计算机,该存储器模组包括至少一个易失性存储装置,该存储器模组还包括至少一个非易失性存储装置,当计算机从运行状态切换至休眠状态时,在存储器模组内,易失性存储装置中的相应数据被读取并写入非易失性存储装置;当计算机从休眠状态切换至运行状态时,在存储器模组内,非易失性存储装置中的相应数据被读取并写入易失性存储装置。
本申请的又一方面提供了一种存储器模组内的数据交换方法,该存储器模组用于缓存计算机的CPU与其他装置之间的数据交换,该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置,该方法包括以下操作:接收从非易失性存储装置读取数据并写入所述易失性存储装置的命令;从非易失性存储装置读取数据;以及把从非易失性存储装置读取的数据写入易失性存储装置,其中,从非易失性存储装置读取数据并写入易失性存储装置的操作是在存储器模组内进行。
本申请的又一方面提供了一种存储器模组内的数据交换方法,该存储器模组用于缓存计算机的CPU与其他装置之间的数据交换,该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置,该方法包括以下操作:接收从易失性存储装置读取数据并写入非易失性存储装置的命令;从易失性存储装置读取数据;以及把从易失性存储装置读取的数据写入非易失性存储装置,其中,从易失性存储装置读取数据并写入非易失性存储装置的操作是在存储器模组内进行。
本申请的又一方面提供了一种存储器模组,用于缓存计算机处理器与其他装置之间的数据交换。该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置。该存储器模组被设置成当接收到从易失性存储装置读取数据并写入非易失性存储装置的命令,从易失性存储装置读取数据,并把从易失性存储装置读取的数据写入非易失性存储装置,其中,从易失性存储装置读取数据并写入非易失性存储装置的操作是在存储器模组内进行。
本申请的又一方面提供了一种存储器模组,用于缓存计算机处理器与其他装置之间的数据交换,该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置。该存储器模组被设置成当接收到从非易失性存储装置读取数据并写入易失性存储装置的命令,从非易失性存储装置读取数据,并把从非易失性存储装置读取的数据写入易失性存储装置,其中,从非易失性存储装置读取数据并写入易失性存储装置的操作是在存储器模组内进行。
本申请的设计可以在一定程度上减轻计算机系统中CPU和主控制器的负担,提高计算机系统开关机速度以及在运行状态和休眠状态之间的切换的速度,以及降低存储系统的功耗。
【附图说明】
以下附图为本申请的一部分,结合以下附图可以更好地理解本申请。以下附图展示了本申请的一些实施例,以帮助技术人员更好地理解本申请的原理。在参考以下具体实施方式后,业界一般技术人员在本申请的启示下可以本申请的范围内得到更多其它实施例,并且理解本申请的其他优势。
图1展示了本申请一个实施例中存储系统的功能模块图。
图2展示了本申请一个实施例中把从主控制器接收到的数据写入易失性存储装置的方法的流程图。
图3展示了本申请一个实施例中从易失性存储装置读取数据至主控制器的方法的流程图。
图4展示了本申请一个实施例中从非易失性存储装置读取数据并写入易失性存储装置的方法的流程图。
图5展示了本申请一个实施例中从易失性存储装置读取数据并写入非易失性存储装置的方法的流程图。
图6展示了本申请一实施例中从非易失性存储装置读取数据至主控制器的方法的流程图。
【具体实施方式】
以下将对本申请的具体实施例进行详细描述,并且这些描述将详细到使业界一般技术人员能够理解本申请。可以理解,除了本申请描述的具体实施例外,还可以在本申请的精神下和范围内通过改变结构、逻辑以及电路以获得其他实施方案,这些实施方案依然在本申请的保护范围之内。在描述以下具体实施例的过程中,为了对这些具体实施例进行清楚的描述,将采用一些特定的术语,然而采这些术语的本意并非限制本申请的保护范围,这些术语的范围应该扩展至任何以大致相同的手段达到大致相同的目的的等效物。比如“连接”一词,不仅包括直接连接,还包括通过其他电路连接。
图1展示了本申请一个实施例中存储系统100的功能模块图。存储系统100可用于缓存CPU(图中未示)与其他装置之间的数据交换。存储系统100包括主控制器101和存储器模组103。为便于说明,图1所示的实施例中只展示了一个存储器模组,但可以理解的是,一个存储系统中可以包括任意个存储器模组,比如2个、3个、4个、6个等。
主控制器101控制对存储器模组103的读写操作。
存储器模组103包括数据接口105,存储器模组103通过数据接口105与外部进行数据交换。在一些实施例中,数据接口105符合DDR DIMM(双数据率双列直插存储器模组)的数据接口标准,比如DDR-1、DDR-2或DDR-3等。在一些实施例中,数据接口105符合RAMBUS存储器模组的数据接口标准。
存储器模组103包括多个动态随机存取存储装置107a-107n和动态随机存取存储装置控制器109。动态随机存取存储装置控制器109控制对动态随机存取存储装置107a-107n的读写操作。在一些实施例中,动态随机存取存储装置控制器109包括缓存111,用以缓存写入动态随机存取存储装置107a-107n的数据和/或从动态随机存取存储装置107a-107n读出的数据。
存储器模组103还包括多个闪速存储装置113a-113n,并且对应每一闪速存储装置113a-113n设有闪速存储装置控制器115a-115n,用以控制对对应的闪速存储装置的读写操作。
存储器模组103还包括管理装置117,以优化对闪速存储装置113a-113n的使用。管理装置117包括故障区块管理装置119和读写次数管理装置121。故障区块管理装置119检测闪速存储装置113a-113n中的故障区块,并防止系统再次使用这些故障区块。读写次数管理装置121均化对各闪速存储装置各区块的读写次数,防止系统对某些区块进行读写的次数远高于其他区块而使这些区块过早损坏。
存储器模组103还包括一个命令分配装置123,通过数据接口105接收主控制器101发出的指令,并把相应的指令发送至存储器模组103内对应的装置。
存储器模组103还包括一个内部数据交换控制装置125,以控制闪速存储装置113a-113n与动态随机存取存储装置107a-107n之间的数据交换。内部数据交换控制装置125可以包括第一数据交换控制装置127,以控制自闪速存储装置113a-113n读取数据并写入动态随机存取存储装置107a-107n的操作。内部数据交换控制装置125可以包括第二数据交换控制装置129,以控制从动态随机存取存储装置107a-107n读取数据并写入闪速存储装置113a-113n的操作。在一些实施例中,内部数据交换控制装置125可以采用状态机实现。
存储器模组103还包括预取缓存131和桥接装置133。预取缓存131用于缓存从闪速存储装置113a-113n读出的数据。在一些实施例中,预取缓存131的位宽比单个闪速存储装置的位宽大。把多个闪速存储装置并行地连接至预取缓存131,从这些闪速存储装置读出的数据可以并行地写入预取缓存131,可以在一定程度上弥补闪速存储装置较慢的读取速度,以提高存储器模组103的整体效率。预取缓存131通过桥接装置133与数据接口105连接,把从闪速存储装置113a-113n读出的数据输出存储器模组103。桥接装置105把从预取缓存131接收到的数据转换成符合数据接口105标准的数据,并通过数据接口105把这些数据发送给对应的装置。在一些实施例中,预取缓存131与桥接装置105可以整合为一个装置。
在一些实施例中,动态随机存取存储装置107a-107n和闪速存储装置113a-113n在同一地址空间被编址,或使用一统一的编址空间。
以下结合图1和图2-7说明本申请一个实施例中的存储器模组103的操作。
图2展示了本申请一个实施例中数据由主控制器101写入动态随机存取存储装置107a-107n的方法200的流程图。方法200包括以下操作:数据接口105接收由主控制器101发出的对动态随机存取存储装置107a-107n之一或多个进行写操作的命令以及需要写入的数据(201);数据接口105把接收到的命令发送给命令分配装置123(203);数据接口105把接收到的数据发送至缓存111(205);命令分配装置123对接收到的命令进行判断(207);命令分配装置123发送写命令给动态随机存取存储装置控制器109(209);动态随机存取存储装置控制器109根据从命令分配装置123接收到的命令把缓存111中的数据写入对应的动态随机存取存储装置(211)。
在一些实施例中,命令可以包括需要写入这些数据的动态随机存取存储装置的地址。
在一些实施例中,命令分配装置123可以根据接收到的命令发出新的命令。在一些实施例中,命令分配装置123也可以判断接收到的命令,再根据判断的结果直接把接收到的命令发送至相应的装置。
图3展示了本申请一个实施例中主控制器101从动态随机存取存储装置107a-107n读取数据的方法300的流程图。方法300包括以下操作:数据接口105接收由主控制器101发出的从动态随机存取存储装置107a-107n之一或多个读取数据的命令(301);数据接口105把接收到的命令发送给命令分配装置123(303);命令分配装置123对接收到的命令进行判断(305);命令分配装置123把命令发送给动态随机存取存储装置控制器109(307);动态随机存取存储装置控制器109根据接收到的命令控制动态随机存取存储装置107a-107n读出数据并把这些数据发送给数据接口105(309);数据接口105把这些数据发送给主控制器101(311)。
图4展示了本申请一个实施例中从闪速存储装置113a-113n读取数据并写入动态随机存取存储装置107a-107n的方法400的流程图。方法400包括以下操作:数据接口105接收由主控制器101发出的从闪速存储装置113a-113n读取数据并写入动态随机存取存储装置107a-107n的命令(401);数据接口105把接收到的命令发送给命令分配装置123(403);命令分配装置123对接收到的命令进行判断(405);命令分配装置123把接收到的命令发送给第一数据交换控制装置127(407);第一数据交换控制装置127根据接收到的命令,产生从闪速存储装置113a-113n读取数据的命令并将该命令发送至管理装置117,产生把这些数据写入动态随机存取存储装置107a-107n的命令并把该命令发送至动态随机存取存储装置控制器109(409);管理装置117根据接收到的命令从闪速存储装置113a-113n读取数据至预取缓存131(411);缓存111通过第一数据交换控制装置127从预取缓存131接收这些数据(413);动态随机存取存储装置控制器109根据接收到的命令把缓存111中的数据写入动态随机存取存储装置107a-107n(415)。
图5展示了本申请一个实施例中从动态随机存取存储装置107a-107n读取数据并写入闪速存储装置113a-113n的方法500的流程图。方法500包括以下操作:数据接口105接收由主控制器101发出的从动态随机存取存储装置107a-107n读取数据并写入闪速存储装置113a-113n的命令(501);数据接口105把接收到的命令发送给命令分配装置123(503);命令分配装置123对接收到的命令进行判断(505);命令分配装置123把接收到的命令发送给第二数据交换控制装置129(507);第二数据交换控制装置129根据接收到的命令,产生从动态随机存取存储装置107a-107n读取数据的命令并将该命令发送至动态随机存取存储装置控制器109,产生把这些数据写入闪速存储装置113a-113n的命令并把该命令发送至管理装置117(509);动态随机存取存储装置控制器根据109接收到的命令控制动态随机存取存储装置107a-107n读出数据经过第二数据交换控制装置129至管理装置117(511);管理装置117根据接收到的命令把接收到的数据写入闪速存储装置113a-113n(513)。
图6展示了本申请一个实施例中主控制器101从闪速存储装置113a-113n读取数据的方法600的流程图。方法600包括以下操作:数据接口105从主控制器101接收从闪速存储装置113a-113n之一或多个读取数据的命令(601);数据接口105把接收到的命令发送给命令分配装置123(603);命令分配装置123对接收到的命令进行判断(605);命令分配装置123根据判断结果把接收到的命令发送给管理装置117(607);管理装置117根据接收到的命令从闪速存储装置113a-113n中读取数据至预取缓存131(609);桥接装置133从预取缓存131接收数据(611);桥接装置133把接收到的数据转换成主控制器101所要求的格式(613);桥接装置133通过数据接口105把这些数据发送给主控制器101(615)。
对以上的方法的描述只是示例性的,以上每一方法的各操作可以不严格按照上述的顺序进行。一些操作可以合并为一个,而一些操作可以被分割成多个。
在一些实施例中,闪速存储装置113a-113n和动态随机存取存储装置107a-107n之间的数据交换可以不经过数据交换控制装置125。
以上所述的装置可以是电路装置,也可以是电路装置与计算机程序的结合,还可以是计算机程序所实现的功能。比如,命令分配装置123、桥接装置133、数据交换控制装置125和管理装置117等。
在一些实施例中,存储器模组103可以包括一个内建检测装置(MBIST)(图中未示)。因为内建检测装置具有读写存储器模组103上各存储装置的功能,数据交换控制装置125可以借用内建检测装置的部分电路或功能,以降低成本。
在一些实施例中,管理装置117可以在抽象层中(abstraction layer)。
在一些实施例中,闪速存储装置113a-113n可用于存储计算机操作系统、用户配置数据以及一些其他计算机程序,比如启动计算机时被自动运行的计算机程序,这些计算机程序包括但不限于杀毒软件、电子词典、各种驱动程序等。
在一些实施例中,一个存储系统中的各存储器模组可同时进行模组内的数据交换,比如从非易失性存储装置读取数据并写入易失性存储装置,或从易失性存储装置读取数据并写入非易失性存储装置。如果把计算机操作系统和其他相关的计算机程序存储在非易失性存储装置中,当需要把这些计算机程序载入非易失性存储装置时,各存储器模组只需要从主控制器接收一个命令即可,数据的交换在存储器模组内部完成。而现有的存储系统中,开机前,所有计算机程序和数据都是存储在硬盘或其它装置内,需要载入这些数据至易失性存储装置时,所有的数据都要经过同一主控制器载入各存储器模组,其效率显然较低。本申请的存储系统可以提高计算机开关机以及休眠和从休眠中恢复的速度。
在一些实施例中,可以在动态随机存取存储装置107a-107n中开辟一个区块作为缓存,把系统需要写入闪速存储装置113a-113n的数据先存储在这个缓存中。
由于本申请的存储器模组内易失性存储装置和非易失性存储装置之间的数据交换过程不需要主控制器和CPU参与,一方面可节约计算机系统的资源,另一方面还可提高系统效率。
在一些实施例中,在计算机开机时,用户可选择从硬盘或存储器模组载入操作系统和其他计算机程序。

Claims (25)

1.一种存储器模组,包括至少一个易失性存储器装置,其特征在于,所述存储器模组还包括:
至少一个非易失性存储装置;以及
数据交换控制装置,根据接收到的指令控制所述易失性存储器装置和所述非易失性存储装置之间在所述存储器模组内的数据交换。
2.如权利要求1所述的存储器模组,其特征在于,当所述数据交换控制装置接收到第一指令时,控制从所述非易失性存储装置读取数据并把这些数据写入所述易失性存储装置。
3.如权利要求1所述的存储器模组,其特征在于,当所述数据交换控制装置接收到第二指令时,控制从所述易失性存储装置读取数据并把这些数据写入所述非易失性存储装置。
4.如权利要求1所述的存储器模组,其特征在于,所述存储器模组用于缓冲计算机的CPU与其他装置之间的数据交换。
5.如权利要求1所述的存储器模组,其特征在于,所述易失性存储装置是动态随机存取存储装置。
6.如权利要求1所述的存储器模组,其特征在于,所述非易失性存储装置是闪速存储装置。
7.如权利要求1所述的存储器模组,其特征在于,所述存储器模组还包括一数据接口,所述存储器模组通过该数据接口与外部进行通信,该数据接口是双数据率双面引脚存储器模组数据接口。
8.如权利要求1所述的存储器模组,其特征在于,所述易失性存储器装置和所述非易失性存储装置之间的数据交换不经过控制所述存储器模组的主控制器。
9.如权利要求1所述的存储器模组,其特征在于,它还包括一管理装置,以管理所述非易失性存储装置中的故障区块和管理所述非易失性存储装置各区块的读写次数。
10.如权利要求1所述的存储器模组,其特征在于,它还包括一预取缓存,以缓存从所述非易失性存储装置读出的数据,其中,所述非易失性存储装置平行地连接于所述预取缓存。
11.如权利要求1所述的存储器模组,其特征在于,它还包括命令分配装置,用于判断所述存储器模组接收到的命令,并根据判断结果把接收到的命令分配给所述易失性存储装置或所述非易失性存储装置或所述数据交换控制装置。
12.如权利要求12所述的存储器模组,其特征在于,当所述命令分配装置接收到从所述易失性存储装置读取数据并输出所述存储器模组的命令,或把所述存储器模组接收到的数据写入所述易失性存储装置的命令,命令分配装置把接收到的命令分配给所述易失性存储装置。
13.如权利要求12所述的存储器模组,其特征在于,当所述命令分配装置接收到从所述非易失性存储装置读取数据并输出所述存储器模组的命令,命令分配装置把接收到的命令分配给所述非易失性存储装置。
14.如权利要求12所述的存储器模组,其特征在于,当所述命令分配装置接收到从所述易失性存储装置读取数据并写入所述非易失性存储装置的命令,或从所述非易失性存储装置读取数据并写入所述易失性存储装置的命令,命令分配装置把接收到的命令分配给所述数据交换控制装置。
15.如权利要求1所述的存储器模组,其特征在于,所述非易失性存储装置的总容量大于所述易失性存储装置的总容量。
16.如权利要求1所述的存储器模组,其特征在于,所述非易失性存储装置和所述易失性存储装置被编址在同一地址空间。
17.一种计算机存储系统,用于缓存一计算机的处理器和其他装置之间的数据交换,该计算机存储系统包括一个或多个存储器模组以及一个主控制器,该主控制器控制存储器模组与其他装置之间的数据交换,其特征在于,所述存储器模组是如权利要求1-15之一所述的存储器模组。
18.一种存储器模组,用于一计算机,该存储器模组包括至少一个易失性存储装置,其特征在于,该存储器模组还包括至少一个非易失性存储装置,用于存储计算机操作系统,其中,所述易失性存储装置和所述非易失性存储装置之间可在所述存储器模组内进行数据交换。
19.如权利要求18所述的存储器模组,所述易失性存储装置为动态随机存取存储装置,所述非易失性存储装置为闪速存储装置。
20.一种存储器模组,用于一计算机,该存储器模组包括至少一个易失性存储装置,其特征在于,该存储器模组还包括至少一个非易失性存储装置,当所述计算机从运行状态切换至休眠状态时,在所述存储器模组内,所述易失性存储装置中的相应数据被读取并写入所述非易失性存储装置;当所述计算机从休眠状态切换至运行状态时,在所述存储器模组内,所述非易失性存储装置中的相应数据被读取并写入所述易失性存储装置。
21.如权利要求20所述的存储器模组,所述易失性存储装置为动态随机存取存储装置,所述非易失性存储装置为闪速存储装置。
22.一种存储器模组内的数据交换方法,该存储器模组用于缓存计算机处理器与其他装置之间的数据交换,该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置,该方法包括以下操作:
接收从所述非易失性存储装置读取数据并写入所述易失性存储装置的命令;
从所述非易失性存储装置读取数据;以及
把从所述非易失性存储装置读取的数据写入所述易失性存储装置,其中,从所述非易失性存储装置读取所述数据并写入所述易失性存储装置的操作是在所述存储器模组内进行。
23.一种存储器模组内的数据交换方法,该存储器模组用于缓存计算机处理器与其他装置之间的数据交换,该存储器模组包括至少一个易失性存储装置和至少一个非易失性存储装置,该方法包括以下操作:
接收从所述易失性存储装置读取数据并写入所述非易失性存储装置的命令;
从所述易失性存储装置读取数据;以及
把从所述易失性存储装置读取的数据写入所述非易失性存储装置,其中,从所述易失性存储装置读取所述数据并写入所述非易失性存储装置的操作是在所述存储器模组内进行。
24.一种存储器模组,用于缓存计算机处理器与其他装置之间的数据交换,该存储器模组包括至少一个易失性存储装置,其特征在于,该存储器模组还包括至少一个非易失性存储装置,并且该存储器模组被设置成当接收到从所述易失性存储装置读取数据并写入所述非易失性存储装置的命令,从所述易失性存储装置读取数据,并把从所述易失性存储装置读取的数据写入所述非易失性存储装置,其中,从所述易失性存储装置读取所述数据并写入所述非易失性存储装置的操作是在所述存储器模组内进行。
25.一种存储器模组,用于缓存计算机处理器与其他装置之间的数据交换,该存储器模组包括至少一个易失性存储装置,其特征在于,该存储器模组还包括至少一个非易失性存储装置,并且该存储器模组被设置成当接收到从所述非易失性存储装置读取数据并写入所述易失性存储装置的命令,从所述非易失性存储装置读取数据,并把从所述非易失性存储装置读取的数据写入所述易失性存储装置,其中,从所述非易失性存储装置读取所述数据并写入所述易失性存储装置的操作是在所述存储器模组内进行。
CN2009102008261A 2009-12-25 2009-12-25 存储器模组及存储器模组内的数据交换方法 Active CN102110057B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2009102008261A CN102110057B (zh) 2009-12-25 2009-12-25 存储器模组及存储器模组内的数据交换方法
US12/903,223 US9361250B2 (en) 2009-12-25 2010-10-13 Memory module and method for exchanging data in memory module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102008261A CN102110057B (zh) 2009-12-25 2009-12-25 存储器模组及存储器模组内的数据交换方法

Publications (2)

Publication Number Publication Date
CN102110057A true CN102110057A (zh) 2011-06-29
CN102110057B CN102110057B (zh) 2013-05-08

Family

ID=44174223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102008261A Active CN102110057B (zh) 2009-12-25 2009-12-25 存储器模组及存储器模组内的数据交换方法

Country Status (2)

Country Link
US (1) US9361250B2 (zh)
CN (1) CN102110057B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077116A (zh) * 2013-01-18 2013-05-01 无锡云动科技发展有限公司 一种计算机的数据存储系统及计算机系统
CN103890688A (zh) * 2011-07-28 2014-06-25 奈特力斯公司 一种flash-dram混合存储器模块
CN109271334A (zh) * 2017-07-18 2019-01-25 比亚迪股份有限公司 数据存取系统、方法
CN111338984A (zh) * 2020-02-25 2020-06-26 大唐半导体科技有限公司 一种Cache RAM与Retention RAM数据高速交换架构及其方法
US10719246B2 (en) 2013-06-11 2020-07-21 Netlist, Inc. Non-volatile memory storage for multi-channel memory system

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904098B2 (en) 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
US8301833B1 (en) 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
US11048410B2 (en) 2011-08-24 2021-06-29 Rambus Inc. Distributed procedure execution and file systems on a memory interface
JP6465806B2 (ja) * 2012-11-20 2019-02-06 アイ. ペドル,チャールズ ソリッドステートドライブアーキテクチャ
US20150106547A1 (en) * 2013-10-14 2015-04-16 Micron Technology, Inc. Distributed memory systems and methods
WO2015127327A1 (en) * 2014-02-23 2015-08-27 Rambus Inc. Distributed procedure execution and file systems on a memory interface
CN105138481B (zh) * 2014-05-30 2018-03-27 华为技术有限公司 存储数据的处理方法、装置和系统
CN104575595B (zh) * 2014-12-12 2017-07-07 杭州华澜微电子股份有限公司 非易失性随机存取的存储装置
US10055236B2 (en) * 2015-07-02 2018-08-21 Sandisk Technologies Llc Runtime data storage and/or retrieval
KR102491651B1 (ko) * 2015-12-14 2023-01-26 삼성전자주식회사 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법
US10019367B2 (en) 2015-12-14 2018-07-10 Samsung Electronics Co., Ltd. Memory module, computing system having the same, and method for testing tag error thereof
CN106250067A (zh) * 2016-09-28 2016-12-21 深圳市金泰克半导体有限公司 一种基于数据特征的固态硬盘ssd加速系统的实现方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243185B2 (en) * 2004-04-05 2007-07-10 Super Talent Electronics, Inc. Flash memory system with a high-speed flash controller
US7093089B2 (en) * 2003-08-18 2006-08-15 Hewlett-Packard Development Company, Lp. Systems and methods for storing data on computer systems
CN100383744C (zh) * 2004-12-24 2008-04-23 联想(北京)有限公司 一种计算机多操作系统的切换方法
KR101257848B1 (ko) * 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
US20070136523A1 (en) * 2005-12-08 2007-06-14 Bonella Randy M Advanced dynamic disk memory module special operations
TWI317863B (en) * 2006-05-29 2009-12-01 Asustek Comp Inc Electrical device and heat dissipation module thereof
US7716411B2 (en) * 2006-06-07 2010-05-11 Microsoft Corporation Hybrid memory device with single interface
US20080126588A1 (en) * 2006-09-01 2008-05-29 Orion Micro Design (S) Pte Ltd Memory card
JP2008090436A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 情報処理装置およびシステム状態制御方法。
WO2008055272A2 (en) * 2006-11-04 2008-05-08 Virident Systems, Inc. Integrating data from symmetric and asymmetric memory
US8427891B2 (en) * 2007-04-17 2013-04-23 Rambus Inc. Hybrid volatile and non-volatile memory device with a shared interface circuit
US20080276050A1 (en) * 2007-05-02 2008-11-06 Yu-Cheng Hsieh Erase handling method for non-volatile memory and electronic apparatus thereof
US7865679B2 (en) * 2007-07-25 2011-01-04 AgigA Tech Inc., 12700 Power interrupt recovery in a hybrid memory subsystem
US20090049334A1 (en) * 2007-08-14 2009-02-19 John Charles Elliott Method and Apparatus to Harden an Internal Non-Volatile Data Function for Sector Size Conversion

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103890688A (zh) * 2011-07-28 2014-06-25 奈特力斯公司 一种flash-dram混合存储器模块
CN103890688B (zh) * 2011-07-28 2017-10-13 奈特力斯公司 一种flash‑dram混合存储器模块
CN107656700A (zh) * 2011-07-28 2018-02-02 奈特力斯公司 一种flash‑dram混合存储器模块
CN107656700B (zh) * 2011-07-28 2020-09-01 奈特力斯公司 一种flash-dram混合存储器模块
CN103077116A (zh) * 2013-01-18 2013-05-01 无锡云动科技发展有限公司 一种计算机的数据存储系统及计算机系统
US10719246B2 (en) 2013-06-11 2020-07-21 Netlist, Inc. Non-volatile memory storage for multi-channel memory system
CN109271334A (zh) * 2017-07-18 2019-01-25 比亚迪股份有限公司 数据存取系统、方法
CN109271334B (zh) * 2017-07-18 2021-01-26 深圳比亚迪微电子有限公司 数据存取系统、方法
CN111338984A (zh) * 2020-02-25 2020-06-26 大唐半导体科技有限公司 一种Cache RAM与Retention RAM数据高速交换架构及其方法

Also Published As

Publication number Publication date
CN102110057B (zh) 2013-05-08
US9361250B2 (en) 2016-06-07
US20110161569A1 (en) 2011-06-30

Similar Documents

Publication Publication Date Title
CN102110057B (zh) 存储器模组及存储器模组内的数据交换方法
US10191842B2 (en) Apparatus with a memory controller configured to control access to randomly accessible non-volatile memory
US8874843B2 (en) Systems with programmable heterogeneous memory controllers for main memory
US9767867B2 (en) Methods of communicating to different types of memory modules in a memory channel
US8370548B2 (en) Methods of assembly of a computer system with randomly accessible non-volatile memory
CN103810112B (zh) 一种非易失性内存系统及其管理方法
CN101133404B (zh) 用于与存储器装置通信的系统和方法
US20080082766A1 (en) Systems and apparatus with programmable memory control for heterogeneous main memory
CN1885277A (zh) Dram芯片设备以及包括该设备的多芯片封装
CN108701108A (zh) 具有窄带宽中继器通道的存储器子系统
JP2005216312A (ja) マルチポート揮発性メモリ装置、低速メモリリンク型高速メモリ装置、データ処理装置及びマルチチップ半導体装置
US10032494B2 (en) Data processing systems and a plurality of memory modules
CN103593324A (zh) 一种具有自学习功能的快速启动低功耗计算机片上系统
CN111158633A (zh) 一种基于fpga的ddr3多通道读写控制器及控制方法
JP2013149091A (ja) メモリ制御装置及び制御方法並びに情報処理装置
CN206331414U (zh) 一种固态硬盘
KR20200011136A (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법
JP2022161812A (ja) 低電力のコヒーレントメモリデバイスにアクセスする場合のプロセッサストールの回避法
WO2023096664A1 (en) Selective device power state recovery method
WO2021242316A1 (en) Shaped and optimized power cycles
CN201004226Y (zh) 具有flash和sdram的arm处理器最小系统模块
WO2022143434A1 (zh) 一种存储设备和计算机设备
CN214253209U (zh) 一种sdram控制器用户接口模块ip核
US20230307030A1 (en) Adaptive Wordline Refresh
US20240170038A1 (en) Adaptive Refresh Staggering

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MONTAGE TECHNOLOGY GROUP LTD.

Free format text: FORMER OWNER: MONTAGE SEMICONDUCTOR (SHANGHAI) CO., LTD.

Effective date: 20130311

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20130311

Address after: 200233, room 406, Pioneer Building, 680 Guiping Road, Shanghai, Xuhui District

Applicant after: Acrospeed, Inc.

Address before: 200233 room 33, building 680, No. 802, Guiping Road, Shanghai

Applicant before: Lanqi Semiconductor Shanghai Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: A6, No. 900 Yishan Road, Xuhui District, Shanghai, 2003

Patentee after: Lanqi Technology Co., Ltd.

Address before: Room 406, Venture Center Building, 680 Guiping Road, Xuhui District, Shanghai, 2003

Patentee before: Acrospeed, Inc.

CP03 Change of name, title or address