本发明构思的实施例涉及半导体装置,更具体地讲,涉及存储器模块和包括存储器模块的存储器系统。
背景技术:
半导体存储器用于使用半导体元件存储数据。半导体存储器可包括易失性存储器(诸如,动态随机存取存储器或静态随机存取存储器)和/或非易失性存储器(诸如,闪存、相变存储器、铁电存储器、磁存储器、电阻式存储器等)。
一般来说,易失性存储器通常支持高速随机存取并用作计算系统(诸如,个人计算机、服务器或工作站)的主存储器。非易失性存储器通常支持大存储容量并用作计算系统的辅助存储器。
如今,正在研究和开发存储级存储器(storageclassmemory,scm,又称为存储级内存)。正在开发的存储级存储器的目标是支持大的非易失性存储容量和高速随机存取二者。存储级存储器可使用非易失性存储器来实现。
为了与现有的主存储器兼容,正基于主存储器的存储器模块来研究和开发存储级存储器。然而,作为主存储器的动态随机存取存储器(dram)的操作特性与非易失性存储器的操作特性之间的差异可能使得难以实现存储级存储器。
技术实现要素:
本发明构思的实施例提供一种存储器模块和包括存储器模块的存储器系统,其中,存储器模块为主机提供非易失性存储器的存储容量,并与主机成功地执行动态随机存取存储器的训练操作。
根据示例性实施例,一种存储器模块包括:第一类型存储器;第二类型存储器;串行存在检测装置,被配置为:在初始化操作期间将第二类型存储器的容量信息传送到外部主机装置;以及控制器。控制器被配置为:在初始化操作之后发生的训练操作期间,将从外部主机装置接收的针对第二类型存储器的训练命令传送到第一类型存储器。
根据另一示例性实施例,一种存储器模块包括:第一类型存储器、第二类型存储器、以及控制器,其中,控制器在训练操作期间控制第一类型存储器以执行与外部主机装置的训练,并且在训练操作完成之后为外部主机装置提供第二类型存储器的存储空间。
根据另一示例性实施例,一种存储器系统包括:第一类型存储器模块、第二类型存储器模块、以及处理器,其中,在对第一类型存储器模块和第二类型存储器模块中的每个执行训练操作之后,处理器分别访问第一类型存储器模块和第二类型存储器模块。第一类型存储器模块包括:第一类型存储器;第二类型存储器;串行存在检测装置,在训练操作之前将第二类型存储器的容量信息传送到处理器;以及控制器,在训练操作期间,将从处理器接收的针对第二类型存储器的训练命令传送到第一类型存储器。
附图说明
通过参照附图对本发明构思的示例性实施例的详细描述,本发明构思的以上和其他对象和特征将变得清楚。
图1是示出根据本发明构思的实施例的存储器系统的框图。
图2是示出根据本发明构思的实施例的第一类型存储器模块的操作方法的流程图。
图3是示出存储器控制器与第一存储器模块和第三存储器模块执行初始化的示例的示图。
图4是示出在执行初始化之后的训练期间媒体控制器与存储器控制器建立通道的示例的示图。
图5是示出在训练期间媒体控制器控制训练命令的示例的示图。
图6是示出媒体控制器与第二类型存储器建立通道的示例的示图。
图7是示出媒体控制器检测训练完成的示例的示图。
图8是示出根据本发明构思的实施例的第一类型存储器模块的框图。
具体实施方式
现在将参照示出了本发明的优选实施例的附图,更充分地描述本发明。然而,本发明可以以许多不同的形式来实施,并且不应被解释为限于在此阐述的实施例;更确切地说,提供这些实施例使得本公开将是彻底和完整的,并将向本领域的技术人员充分传达本发明的范围。相同的参考标号始终表示相同的元件。
将理解,虽然可在此使用术语“第一”、“第二”、“第三”等来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受这些术语限制。这些术语仅用于将一个元件、组件、区域、层或部分与另一元件、组件、区域、层或部分区分开。因此,在不脱离本发明的教导的情况下,下面讨论的第一元件、第一组件、第一区域、第一层或第一部分可被称为第二元件、第二组件、第二区域、第二层或第二部分。
在此使用的术语仅为了描述特定实施例的目的,并不意图限制本发明。除非上下文另外清楚地指示,否则如在此使用的,单数形式也意图包括复数形式。还将理解,当在本说明书中使用术语“包含”、“包括”、“具有”和它们的变形时,指定存在阐述的特征、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、步骤、操作、元件、组件和/或它们的组。相反,当在本说明书中使用术语“由……组成”时,指定阐述的特征、步骤、操作、元件和/或组件,并且排除额外的特征、步骤、操作、元件和/或组件。
除非另外定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。还将理解,除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的那些术语)应被解释为具有与它们在相关领域的上下文中的含义一致的含义,并且不应被解释为理想化的或过度正式的意义。
图1是示出根据本发明构思的实施例的存储器系统100的框图。本存储器系统100可包括服务器(诸如,应用服务器、客户端服务器或数据服务器)。或者,存储器系统100可包括个人计算机或工作站。
参照图1,存储器系统100可包括处理器110、第一存储器模块120至第四存储器模块150、根复合体160和存储装置170。处理器110可控制存储器系统100的组件和组件的操作。处理器110可执行操作系统和应用,并可通过使用操作系统或应用来处理数据。
处理器110可包括存储器控制器111和高速缓存存储器112,并且存储器控制器111可通过主通道mch和子通道sch访问第一存储器模块120至第四存储器模块150。高速缓存存储器112可包括高速存储器(诸如,静态随机存取存储器(sram))。
第一存储器模块120至第四存储器模块150可通过主通道mch和子通道sch与存储器控制器111连接。主通道mch可以是用于将数据存储(即,写入)到存储器模块120至150(例如,半导体存储器模块)或从存储器模块120至150读取数据的通道。主通道mch可包括分别关于第一存储器模块120至第四存储器模块150提供的通道。
除了向第一存储器模块120至第四存储器模块150存储数据或从第一存储器模块120至第四存储器模块150读取数据之外,子通道sch可提供与第一存储器模块120至第四存储器模块150相关联的附加功能。例如,第一存储器模块120至第四存储器模块150可通过子通道sch向存储器控制器111提供它们自己的独特信息。子通道sch可包括分别关于第一存储器模块120至第四存储器模块150提供的通道。
第一存储器模块120至第四存储器模块150可用作存储器系统100的主存储器。第一存储器模块120至第四存储器模块150可按照存储器模块(诸如,双列直插式存储器模块(dimm)、带寄存器的dimm(rdimm)、低负载dimm(lrdimm))的标准之一与存储器控制器111通信。
根复合体160可提供处理器110访问各种外围装置的通道。例如,存储装置170可连接到根复合体160。存储装置170可包括硬盘驱动器、光盘驱动器、固态驱动器等。
处理器110可分层次地管理高速缓存存储器112、作为主存储器的第一存储器模块120至第四存储器模块150以及存储装置170。例如,处理器110可执行在存储装置170和包括第一存储器模块120至第四存储器模块150的主存储器之间传送数据的操作。处理器110还可将存储在主存储器中的需要备份的数据从主存储器冲刷到存储装置170。
包括第一存储器模块120至第四存储器模块150的主存储器的存储区域的一部分可被映射到高速缓存存储器112。并且,当需要访问主存储器的特定存储空间时,处理器110可确定特定存储空间是否已被映射到高速缓存存储器112。
例如,在特定存储空间已被映射到高速缓存存储器112的情况下,处理器110可访问高速缓存存储器112的特定存储空间。然而,在特定存储空间未被映射到高速缓存存储器112的情况下,处理器110可将第一存储器模块120至第四存储器模块150的特定存储空间映射(或获取)到高速缓存存储器。
当高速缓存存储器112的存储空间不足时,处理器110可释放先前映射到高速缓存存储器112的存储空间。在将被释放的存储空间的数据已被更新的情况下,处理器110可将更新的数据冲刷到第一存储器模块120至第四存储器模块150。第一存储器模块120至第四存储器模块150可包括异构存储器模块。因此,第一存储器模块120和第二存储器模块130可以是第一类型存储器模块,第三存储器模块140和第四存储器模块150可以是第二类型存储器模块。
第一存储器模块120可包括第一类型存储器121、第二类型存储器122、媒体控制器123和串行存在检测(spd)装置125。第二存储器模块130可包括第一类型存储器131、第二类型存储器132、媒体控制器133和spd装置135。下面,将参照第一存储器模块120描述第一类型存储器模块。
第一类型存储器121可包括高速易失性存储器(诸如,动态随机存取存储器(dram))。第二类型存储器122可包括非易失性存储器,其中,非易失性存储器通常在速度上比第一类型存储器121慢,但是通常在容量上比第一类型存储器121大。例如,第二类型存储器122可包括非易失性存储器(诸如,闪存、相变存储器、铁电存储器、磁(或磁阻)存储器、电阻式存储器等)。
媒体控制器123可传送访问命令,其中,访问命令通过主通道mch的相应通道从外部主机装置(例如,存储器控制器111或处理器110)传送到第一类型存储器121或第二类型存储器122。根据命令,媒体控制器123可通过主通道mch的相应通道与外部主机装置(例如,存储器控制器111或处理器110)交换数据。
媒体控制器123可将第二类型存储器122的存储容量或存储空间提供给外部主机装置(诸如,存储器控制器111或处理器110)。媒体控制器123可将第一类型存储器121用作第二类型存储器122的高速缓存存储器。
此外,媒体控制器123可将第二类型存储器122的存储空间的一部分映射到第一类型存储器121。在第二类型存储器122的与来自外部主机装置(例如,存储器控制器111或处理器110)的访问命令相关联的存储空间已被映射到第一类型存储器121的情况下,媒体控制器123可将访问命令传送到第一类型存储器121。
在第二类型存储器122的与来自外部主机装置(例如,存储器控制器111或处理器110)的访问命令相关联的存储空间未被映射到第一类型存储器121的情况下,媒体控制器123可将存储空间从第二类型存储器122映射(或备份)到第一类型存储器121。
当第一类型存储器121的存储空间不足时,媒体控制器123可释放先前映射到第一类型存储器121的存储空间。在将被释放的存储空间的数据已被更新的情况下,媒体控制器123可将更新的数据冲刷到第二类型存储器122。
媒体控制器123可包括媒体交换器msw。媒体交换器msw可以以作为集成电路的一部分包括在媒体控制器123中的硬件的形式实现,或者可以以在媒体控制器123中执行的固件的形式实现。媒体交换器msw可控制与第一类型存储器121和第二类型存储器122的通信。
例如,在训练期间,媒体交换器msw可被配置为将训练命令从外部主机装置(例如,存储器控制器111或处理器110)仅传送到第一类型存储器121。在训练完成后,媒体交换器msw可根据来自外部主机装置的访问命令将访问命令传送到第一类型存储器121或第二类型存储器122。
spd装置125可通过子通道sch的相应通道与外部主机装置(例如,存储器控制器111或处理器110)通信。例如,当第一存储器模块120被初始化时,spd装置125可通过子通道sch的相应通道将存储在其中的信息提供给外部主机装置(例如,存储器控制器111或处理器110)。
例如,spd装置125可存储关于作为第一存储器模块120的存储空间将被提供给外部主机装置(例如,存储器控制器111或处理器110)的存储容量的信息。例如,spd装置125可存储关于第二类型存储器122的存储容量的信息。在初始化期间,spd装置125可将关于第二类型存储器122的存储容量的信息提供给外部主机装置(例如,存储器控制器111或处理器110)。
例如,存储在spd装置125中的容量信息可包括关于第二类型存储器122的用户容量的信息。第二类型存储器122的存储容量可包括用户容量、元容量和预留容量。用户容量可以是第二类型存储器122提供给外部主机装置(例如,存储器控制器111)的存储容量。
元容量可以是用于存储用于管理第二类型存储器122的各种元信息并且不向外部主机装置(例如,存储器控制器111)公开的存储容量。预留容量可以是被确保以管理第二类型存储器122并且不向外部主机装置(例如,存储器控制器111)公开的存储容量。
存储在spd装置125中的容量信息可包括关于第二类型存储器122的用户容量的信息。下面,第二类型存储器122的容量可被理解为指示第二类型存储器122的用户容量。
第三存储器模块140可包括第一类型存储器141和spd装置145。第四存储器模块150可包括第一类型存储器151和spd装置155。下面,将参照第三存储器模块140和第四存储器模块150描述第二类型存储器模块。
类似于第一存储器模块120的第一类型存储器121,第一类型存储器141可包括动态随机存取存储器。spd装置145可通过子通道sch的相应通道与外部主机装置(例如,存储器控制器111或处理器110)通信。例如,当第三存储器模块140被初始化时,spd装置145可通过子通道sch的相应通道将存储在其中的信息提供给外部主机装置(例如,存储器控制器111或处理器110)。
例如,spd装置145可存储关于作为第三存储器模块140的存储空间将被提供给外部主机装置(例如,存储器控制器111或处理器110)的存储容量的信息。例如,spd装置145可存储关于第一类型存储器141的存储容量的信息。在初始化期间,spd装置145可将关于第一类型存储器141的存储容量的信息提供给外部主机装置(例如,存储器控制器111或处理器110)。
当对存储器系统100供电时,存储器控制器111可对第一存储器模块120至第四存储器模块150执行初始化。例如,第一存储器模块120的spd装置125至第四存储区模块150的spd装置155可通过子通道sch分别将容量信息提供给存储器控制器111。
第一类型存储器模块120的spd装置125和第一类型存储器模块130的spd装置135可分别将第二类型存储器122和132的多条容量信息提供给存储器控制器111。第二类型存储器模块140和150的spd装置145和155可分别将第一类型存储器141和151的多条容量信息提供给存储器控制器111。例如,存储器控制器111可分别从spd装置125至155读取存储容量。
在执行初始化之后,存储器控制器111可对第一存储器模块120至第四存储器模块150执行训练。例如,存储器控制器111可通过将训练命令传送到第一存储器模块120至第四存储器模块150来执行训练。
训练命令可包括两个或更多个读取命令或两个或更多个写入命令。在训练操作期间,通过迭代地将命令传送到第一存储器模块120至第四存储器模块150,存储器控制器111可对准时序,以与时钟信号同步地传送命令,并可检查第一存储器模块120至第四存储器模块150的存储容量的完整性。
存储器控制器111识别的第二类型存储器模块140和150的存储空间是第一类型存储器141和151的存储空间。因此,存储器控制器111的训练命令被传送到第一类型存储器141和151。
存储器控制器111识别的第一类型存储器模块120和130的存储空间是第二类型存储器122和132的存储空间。因此,存储器控制器111可将训练命令传送到第二类型存储器122和132的存储空间。
然而,控制主存储器的存储器控制器111的训练命令可被确定为与第一类型存储器(即,动态随机存取存储器)一致。应改变存储器控制器111的结构或功能,以允许存储器控制器111对第二类型存储器122和132的存储空间执行训练。然而,现有的存储器控制器111的改变导致成本的明显增加。
为了解决以上问题,根据本发明构思的实施例的第一类型存储器模块120和130可将第二类型存储器122和132的存储空间提供给存储器控制器111,同时仅对第一类型存储器121和第一类型存储器131执行训练操作。因此,可将第二类型存储器122和132的存储空间提供给存储器控制器111,而不会对存储器控制器111的训练操作产生任何影响或者不会引起异常操作。
在以上实施例中,存储装置170被示出为连接到根复合体160。然而,连接到根复合体160的装置不限于存储装置170。
图2是示出根据本发明构思的实施例的第一类型存储器模块120或130的操作方法的流程图。在实施例中,将描述第一存储器模块120的操作方法。然而,第二存储器模块130也可执行参照图2描述的操作方法。
参照图1和图2,在操作s110中,在初始化期间,第一存储器模块120将第二类型存储器122的容量报告为第一存储器模块120的整体容量。例如,第一存储器模块120可将存储在spd装置125中的容量信息传送到存储器控制器111。容量信息可包括第二类型存储器122的容量信息。
在操作s120中,在训练期间,第一存储器模块120可将从存储器控制器111接收的针对第二类型存储器122的训练命令传送到第一类型存储器121。第一类型存储器121可响应于训练命令,执行与存储器控制器111的训练操作。
通过将针对第二类型存储器122的训练命令传送到第一类型存储器121而不是第二类型存储器122,第一存储器模块120可不影响训练操作,并且可因此在训练操作期间防止出现异常操作。
图3是示出存储器控制器111与第一存储器模块120和第三存储器模块140执行初始化的示例的示图。参照图3,第一存储器模块120和第三存储器模块140可分别通过第一子通道sch1和第二子通道sch2将第一容量信息ci1和第二容量信息ci2传送到存储器控制器111。例如,存储器控制器111可分别从spd装置125和145读取第一容量信息ci1和第二容量信息ci2。
第一容量信息ci1可将第二类型存储器122的容量指示为第一存储器模块120的容量。第一容量信息ci1指示的第二类型存储器122的容量可与第一类型存储器121的容量(在下文中称为“单位容量”)相关联。例如,包括在第一容量信息ci1中的第二类型存储器122的容量可以是单位容量的n倍(n是正整数)。
第一容量信息ci1可指示存在均具有单位容量的“n”个存储器。例如,第一容量信息ci1可指示存在均具有单位容量的“n”个存储排(rank)。例如,第一容量信息ci1可将第二类型存储器122的存储空间表示为物理上或逻辑上区分的“n”个存储空间(例如,虚拟区分的存储器)。
存储器控制器111可根据第一容量信息ci1,将第一存储器模块120的容量识别为第一识别容量ic1。存储器控制器111可将标识符分配给均具有单位容量的“n”个虚拟区分的存储器。例如,在“n”是8的情况下,存储器控制器111可将第一标识符cid1至第八标识符cid8分配给“8”个具有单位容量的虚拟存储器。
根据第一容量信息ci1,存储器控制器111可识别在第一存储器模块120中存在“n”个存储器(例如,虚拟区分的存储器)。在初始化和训练完成之后,存储器控制器111可单独访问“n”个存储器。在初始化和训练完成之后,第一存储器模块120的媒体控制器123可将对“n”个存储器的访问识别为对第二类型存储器122的物理上或逻辑上区分的存储空间的访问。
第二容量信息ci2可将第一类型存储器141的容量指示为第三存储器模块140的容量。根据第二容量信息ci2,存储器控制器111可将第三存储器模块140的容量识别为第二识别容量ic2。例如,根据第二容量信息ci2,可将一个或多个标识符分配给第二识别容量ic2。
图4是示出在执行初始化之后的训练期间媒体控制器123与存储器控制器111建立通道的示例的示图。参照图4,如图所示,媒体控制器123可通过第一主通道mch1与存储器控制器111通信。媒体控制器123的媒体交换器msw可仅与第一类型存储器121建立通道,而不与第二类型存储器122建立通道。
例如,由存储器控制器111识别的第一识别容量ic1的与第一类型存储器121对应的容量包括被分配第一标识符cid1的容量,并可具有实际的存储空间。例如,第一识别容量ic1的与第一类型存储器121不对应的容量包括被分配第二标识符cid2至第八标识符cid8的容量,并且可以是不具有实际存储空间的虚拟容量。
如图所示,与第一存储器模块120不同,第三存储器模块140的第一类型存储器141可通过第二主通道mch2与存储器控制器111建立直接通道。第二识别容量ic2可具有第三存储器模块140中的第一类型存储器141的存储空间。
图5是示出在训练期间媒体控制器123控制训练命令的示例的示图。参照图5,根据第一识别容量ic1,存储器控制器111识别在第一存储器模块120中存在具有第一标识符cid1至第八标识符cid8的存储器。
因此,存储器控制器111可将具有第一标识符cid1至第八标识符cid8的训练命令t_cmd顺序地传送到第一存储器模块120。例如,存储器控制器111可将具有第一标识符cid1的训练命令t_cmd传送到第一存储器模块120,并可对具有第一标识符cid1的存储器尝试进行训练操作。
在完成与具有第一标识符cid1的存储器相关联的训练操作之后,存储器控制器111可将具有第二标识符cid2的训练命令t_cmd传送到第一存储器模块120,并可对具有第二标识符cid2的存储器尝试进行训练操作。例如,训练命令t_cmd可包括各种命令(诸如,至少一个写入命令、至少一个读取命令或至少一个刷新命令)。
媒体交换器msw可将所有的训练命令t_cmd传送到第一类型存储器121。例如,媒体交换器msw可不管包括在训练命令t_cmd中的标识符cid1至cid8,迭代地将训练命令t_cmd传送到第一类型存储器121。例如,媒体交换器msw可将所有的训练命令t_cmd识别为具有第一标识符cid1。
随着存储器控制器111顺序地传送具有第一标识符cid1至第八标识符cid8的训练命令t_cmd,媒体交换器msw可迭代地将对应于第一标识符cid1至第八标识符cid8的训练命令t_cmd传送到第一类型存储器121。
也就是说,在第一识别容量ic1中,具有第二标识符cid2至第八标识符cid8的虚拟容量可不被训练,并且具有第一标识符cid1的第一类型存储器121可被迭代地训练。
第一类型存储器121与第一主通道mch1的训练过程一致。因此,当训练命令t_cmd从存储器控制器111传送到第一类型存储器121时,可防止第一存储器模块120对与存储器控制器111的训练操作产生影响或者可防止引起异常操作。
第二类型存储器122的初始化或训练可由媒体控制器123执行。因此,可在没有异常操作的情况下执行第一类型存储器121和第二类型存储器122的初始化和训练。
与第一存储器模块120不同,针对第三存储器模块140的训练命令t_cmd被直接传送到第一类型存储器141。第一类型存储器141与第二主通道mch2的训练过程一致。因此,在没有异常操作的情况下执行第三存储器模块140的训练。
如上所述,在训练期间,媒体交换器msw可防止训练命令t_cmd从存储器控制器111传送到第二类型存储器122。在训练期间,媒体交换器msw可将训练命令t_cmd从存储器控制器111传送到第一类型存储器121。因此,可在没有异常操作的情况下在第一存储器模块120中执行训练操作,其中,第一存储器模块120提供与第一主通道mch1的训练过程不一致的第二类型存储器122作为存储空间。
图6是示出媒体控制器123与第二类型存储器122建立通道的示例的示图。参照图5和图6,在操作s210中,媒体控制器123可检测(或确定)训练的完成。当检测到训练完成时,在操作s220中,媒体控制器123可将第二类型存储器122设置为主存储器,并将第一类型存储器121设置为高速缓存存储器。
例如,根据第一识别容量ic1,存储器控制器111可将第一存储器模块120的存储容量识别为第二类型存储器122的存储容量。第二类型存储器122的存储空间的一部分可被映射到第一类型存储器121。在存储器控制器111将要访问的第二类型存储器122的存储空间已被映射到第一类型存储器121的情况下,媒体控制器123可将访问命令从存储器控制器111传送到第一类型存储器121。
在存储器控制器111将要访问的第二类型存储器122的存储空间未被映射到第一类型存储器121的情况下,媒体控制器123可将请求访问的存储空间从第二类型存储器122映射到第一类型存储器121。然后,媒体控制器123可将访问命令从存储器控制器111传送到第一类型存储器121。
根据本发明构思的实施例,第一存储器模块120可将存储器控制器111的访问请求传送到第一类型存储器121,以确保存储器控制器111所需的访问速度。此外,第一存储器模块120可将第二类型存储器122的存储空间映射到第一类型存储器121(例如,备份),或者可将第一类型存储器121的存储空间冲刷到第二类型存储器122,以向存储器控制器111提供第二类型存储器122的大存储容量和非易失性功能。
图7是示出媒体控制器123检测训练的完成的示例的示图。参照图5,通过基本输入输出系统(bios)执行初始化和训练。当初始化和训练完成时,存储器控制器111可周期性地将刷新命令r_cmd传送到第一存储器模块120和第三存储器模块140。
当周期性地(或连续地)接收到刷新命令r_cmd时,媒体控制器123可检测到训练完成。例如,当仅刷新命令r_cmd被周期性地(或连续地)接收特定次数或更多次而在刷新命令r_cmd之间没有插入任何其他命令时,媒体控制器123可检测到训练完成。
当检测到训练完成时,媒体交换器msw可与第一类型存储器121和第二类型存储器122建立通道。在实施例中,在执行训练的同时,可以以噪声的形式接收刷新命令r_cmd。媒体控制器123可确定是否仅刷新命令r_cmd被周期性地或连续地接收,以区分在训练期间以噪声形式接收到的刷新命令r_cmd和在训练完成之后接收到的刷新命令r_cmd。
图8是示出根据本发明构思的实施例的第一类型存储器模块200的框图。在这个实施例中,第一类型存储器模块200可以是基于lrdimm标准的存储器模块。在实施例中,将参照第一存储器模块120来描述第一类型存储器模块200。
参照图1和图8,第一类型存储器模块200包括第一类型存储器210、第二类型存储器220、媒体控制器230、第一数据缓冲器241至第八数据缓冲器248以及spd装置250。
第一类型存储器210可以是易失性存储器。例如,第一类型存储器210包括第一易失性存储器211至第四易失性存储器214。第一易失性存储器211至第四易失性存储器214可以用彼此分离的封装件来实现。第一易失性存储器211至第四易失性存储器214可包括动态随机存取存储器。
第二类型存储器220可以是非易失性存储器。例如,第二类型存储器220可包括第一非易失性存储器221至第四非易失性存储器224。第一非易失性存储器221至第四非易失性存储器224可以用彼此分离的封装件来实现。第一非易失性存储器221至第四非易失性存储器224可以是通过不同的地址识别的第二类型存储器220的存储区域。
第二类型存储器220可包括各种非易失性存储器装置(诸如,闪存装置、相变存储器装置、铁电存储器装置、电阻式存储器装置和磁阻存储器装置)中的至少一种。
媒体控制器230可从存储器控制器111接收第一命令和地址ca1、第一时钟信号ck1以及第一控制信号ctrl1。媒体控制器230可与第一数据缓冲器241至第八数据缓冲器248交换第二数据信号dq2。媒体控制器230可根据第一命令和地址ca1、第一时钟信号ck1以及第一控制信号ctrl1访问第一类型存储器210或第二类型存储器220。
媒体控制器230可将第二命令和地址ca2、第二时钟信号ck2以及第二控制信号ctrl2传送到第一类型存储器210,并可与第一类型存储器210交换第三数据信号dq3。媒体控制器230可将第三命令和地址ca3、第三时钟信号ck3以及第三控制信号ctrl3传送到第二类型存储器220,并可与第二类型存储器220交换第四数据信号dq4。
在实施例中,第一命令和地址ca1、第二命令和地址ca2以及第三命令和地址ca3可具有不同的格式。作为另一示例,第一命令和地址ca1、第二命令和地址ca2以及第三命令和地址ca3中的至少两个可具有相同的格式。例如,媒体控制器230用于与第一类型存储器210通信的格式可与媒体控制器230用于与第二类型存储器220通信的格式不同。
媒体控制器230可传送第一缓冲命令cmd_b1以控制第一数据缓冲器241至第四数据缓冲器241。媒体控制器230可传送第二缓冲命令cmd_b2以控制第五数据缓冲器245至第八数据缓冲器248。
媒体控制器230可包括媒体交换器msw。如上所述,当第一类型存储器模块200被初始化时,媒体交换器msw可将从存储器控制器111传送的针对第二类型存储器220的训练命令传送到第一类型存储器210。当训练完成时,媒体交换器msw可将第二类型存储器220的存储容量提供给存储器控制器111作为第一类型存储器模块200的存储空间。
第一数据缓冲器241至第八数据缓冲器248可通过第一主通道mch1,与数据选通信号dqs同步地与存储器控制器111交换第一数据信号dq1。第一数据缓冲器241至第八数据缓冲器248可将通过第一主通道mch1从存储器控制器111接收的第一数据信号dq1作为第二数据信号dq2传送到媒体控制器230。
第一数据缓冲器241至第八数据缓冲器248可通过第一主通道mch1,将从媒体控制器230接收的第二数据信号dq2作为第一数据信号dq1传送到存储器控制器111。第一数据缓冲器241至第八数据缓冲器248可用彼此分开的封装件来实现。
spd装置250可与媒体控制器230通信,并可通过第一子通道sch1与存储器控制器111通信。spd装置250可基于各种通信方式(诸如,系统管理总线(smbus)和内部集成电路(i2c))中的至少一种。
在实施例中,第一类型存储器210可用作第二类型存储器220的高速缓存存储器。第二类型存储器220的存储空间的一部分可被映射到第一类型存储器210。
当由从存储器控制器111接收的第一命令和地址ca1指示的第一存储空间已被映射到第一类型存储器210时,即,当发生高速缓存命中时,存储器控制器111可将第二命令和地址ca2传送到第一类型存储器210。第一类型存储器210可根据第二命令和地址ca2执行读取或写入操作。
当由从存储器控制器111接收的第一命令和地址ca1指示的第一存储空间未被映射到第一类型存储器210时,即,当发生高速缓存未命中时,存储器控制器111可将由第一命令和地址ca1指示的第一存储空间映射到第一类型存储器210。
例如,可为第一类型存储器210确保与第二类型存储器220的第一存储空间相关联的第二存储空间。当第一类型存储器210的存储空间不足时,媒体控制器230可通过丢弃映射到第一类型存储器210的任何其他存储空间或将任何其他存储空间回送到第二类型存储器220,在第一类型存储器210确保存储空间。
在数据已被存储在第二类型存储器220的第一存储空间中的情况下,媒体控制器230可将第一存储空间的数据复制到第一类型存储器210的第二存储空间。然后,媒体控制器230可将第二命令和地址ca2传送到第一类型存储器210。第一类型存储器210可响应于第二命令和地址ca2,对第二存储空间执行读取操作或写入操作。
当意图从第一类型存储器210释放第二存储空间时,媒体控制器230可检查第二存储空间是否为“脏(dirty)”。例如,当对第二存储空间执行写入操作时,第二存储空间可被确定为“脏”。
在第二存储空间不为“脏”的情况下,媒体控制器230可通过丢弃第二存储空间的数据来释放第二存储空间。在第二存储空间为“脏”的情况下,媒体控制器230可通过将第二存储空间的数据写入到第二类型存储器220来回送(return)第二存储空间。在第二存储空间被回送之后,媒体控制器230可通过丢弃第二存储空间的数据来释放第二存储空间。
作为另一示例,第一类型存储器210和第二类型存储器220可被存储器控制器111直接访问。例如,当第一命令和地址ca1或第一控制信号ctrl1指示第一类型存储器210时,媒体控制器230可将第二命令和地址ca2、第二时钟信号ck2或第二控制信号ctrl2传送到第一类型存储器210。
当第一命令和地址ca1或第一控制信号ctrl1指示第二类型存储器220时,媒体控制器230可将第三命令和地址ca3、第三时钟信号ck3或第三控制信号ctrl3传送到第二类型存储器220。
在实施例中,易失性存储器的数量、非易失性存储器的数量和数据缓冲器的数量不受限制。易失性存储器或非易失性存储器的数量可与数据缓冲器的数量相同。数据缓冲器的数量可被改变为“9”。
根据本发明构思,半导体存储器模块向主机提供非易失性存储器的存储容量,并且仅对动态随机存取存储器执行与主机的训练。因此,提供一种存储器模块和包括存储器模块的存储器系统,其中,存储器模块向主机提供非易失性存储器的存储容量,同时无错误地执行与主机的训练。
尽管已经参照本发明构思的示例性实施例描述了本发明构思,但是本领域普通技术人员将清楚,在不脱离由所附权利要求阐述的本发明构思的精神和范围的情况下,可进行各种变化和修改。