CN110389721A - 半导体存储器模块和包括其的存储器*** - Google Patents
半导体存储器模块和包括其的存储器*** Download PDFInfo
- Publication number
- CN110389721A CN110389721A CN201910166951.9A CN201910166951A CN110389721A CN 110389721 A CN110389721 A CN 110389721A CN 201910166951 A CN201910166951 A CN 201910166951A CN 110389721 A CN110389721 A CN 110389721A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- controller
- stored
- storage
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 45
- 230000015654 memory Effects 0.000 claims abstract description 561
- 239000000872 buffer Substances 0.000 claims abstract description 93
- 230000004913 activation Effects 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 16
- 230000001680 brushing effect Effects 0.000 claims description 19
- 238000013500 data storage Methods 0.000 claims description 6
- 101001114057 Homo sapiens P antigen family member 1 Proteins 0.000 description 16
- 102100023219 P antigen family member 1 Human genes 0.000 description 16
- 238000007726 management method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 239000013589 supplement Substances 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 101150104680 MCH1 gene Proteins 0.000 description 2
- 101100382379 Rattus norvegicus Cap1 gene Proteins 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 101001114056 Homo sapiens P antigen family member 2 Proteins 0.000 description 1
- 102100027373 Melanin-concentrating hormone receptor 2 Human genes 0.000 description 1
- 101710089759 Melanin-concentrating hormone receptor 2 Proteins 0.000 description 1
- 102100023220 P antigen family member 2 Human genes 0.000 description 1
- 238000005299 abrasion Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005138 cryopreservation Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
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)
Abstract
公开了半导体存储器模块和包括其的存储器***。所述半导体存储器模块可包括随机存取存储器、非易失性存储器、缓冲存储器以及控制器,其中,控制器被配置为:响应于控制信号的激活,对缓冲存储器执行读取操作。控制器还可被配置为:根据读取操作的结果,执行将存储在随机存取存储器中的第一数据存储在非易失性存储器中的刷入操作。
Description
技术领域
本发明构思的示例性实施例涉及半导体装置,更具体地讲,涉及一种半导体存储器模块和包括半导体存储器模块的存储器***。
背景技术
半导体存储器是用于存储数据的半导体装置。存在两种半导体存储器:易失性存储器(例如,动态随机存取存储器装置和静态随机存取存储器装置)和非易失性存储器(例如,闪存装置、相变存储器装置、铁电存储器装置、磁存储器装置和电阻式存储器装置等)。
通常,易失性存储器用作计算***(诸如,个人计算机、服务器或工作站)的主存储器,并被配置为允许高速随机存取。非易失性存储器用作计算***的辅助存储装置,并被配置为具有大存储容量。
存储级存储器(SCM)允许非易失性大存储容量和高速随机存取。存储级存储器可使用非易失性存储器来实现。
为了实现与现有主存储器的兼容性,基于主存储器的存储器模块来研究并开发存储级存储器。然而,由于已经分别用作主存储器和存储级存储器的动态随机存取存储器(DRAM)与非易失性存储器之间的操作特性的差异,存储级存储器具有比现有主存储器的操作速度慢的操作速度。
发明内容
根据本发明构思的示例性实施例,一种半导体存储器模块可包括:随机存取存储器、非易失性存储器、缓冲存储器以及控制器,其中,控制器被配置为:响应于控制信号的激活,对缓冲存储器执行读取操作。控制器还可被配置为:根据读取操作的结果,执行将存储在随机存取存储器中的第一数据存储在非易失性存储器中的刷入操作。
当根据来自外部主机装置的请求将第一数据写入随机存取存储器时,控制器还可被配置为将第一数据的信息存储在缓冲存储器中。
在读取操作期间,控制器还可被配置为从缓冲存储器读取所述信息,其中,根据所述信息从存储在随机存取存储器中的数据选择第一数据。
控制器还可被配置为:在将第一数据存储在非易失性存储器中之后,从缓冲存储器移除所述信息。
存储在随机存取存储器中的数据还可包括不是由外部主机装置写入的第二数据,其中,第二数据在刷入操作期间不被存储在非易失性存储器中。
随机存取存储器可以是非易失性存储器的高速缓冲存储器。
刷入操作可包括被执行以读取存储在随机存取存储器中的第一数据然后将第一数据存储在缓冲存储器中的第一操作。
刷入操作还可包括将存储在缓冲存储器中的第二数据写入非易失性存储器的第二操作。
控制器可被配置为:在第一操作之前执行第二操作。
控制器还可被配置为:执行将存储在缓冲存储器中的第二数据写入非易失性存储器的后台操作。
当随机存取存储器的可用存储容量被减少到低于阈值时,控制器还可被配置为执行刷入操作。
第一数据可以是存储在随机存取存储器中的部分数据。
根据本发明构思的示例性实施例,一种半导体存储器模块可包括:随机存取存储器、非易失性存储器、缓冲存储器以及控制器。控制器可被配置为:响应于控制信号的激活,对缓冲存储器和随机存取存储器执行读取操作,并执行刷入操作。刷入操作可包括将从缓冲存储器读取的第一数据存储在非易失性存储器中并将从随机存取存储器读取的第二数据存储在缓冲存储器中。
控制器还可被配置为:通过后台操作,将存储在缓冲存储器中的第二数据存储在非易失性存储器中。
控制器还可被配置为:响应于控制信号的激活,从缓冲存储器读取写入表,其中,使用写入表从存储在随机存取存储器装置中的数据选择第二数据。
写入表可包含关于根据来自外部主机装置的请求而写入随机存取存储器中的数据的信息。
当刷入操作完成时,控制器还可被配置为初始化写入表。
根据本发明构思的示例性实施例,一种存储器***可包括:包括随机存取存储器、非易失性存储器以及控制器的半导体存储器模块和中央控制块,其中,中央控制块被配置为:当在尝试访问半导体存储器模块期间访问错误被检测到时,激活将被发送至控制器的控制信号。控制器可被配置为:响应于控制信号的激活,读取作为存储在随机存取存储器中的部分数据的第一数据,然后将第一数据存储在非易失性存储器作为第二数据。
半导体存储器模块还可包括:缓冲存储器,控制器还可被配置为:响应于控制信号的激活,将从随机存取存储器读取的第一数据存储在缓冲存储器中作为第三数据,并将从缓冲存储器读取的第三数据存储在非易失性存储器中作为第二数据。
半导体存储器模块还可包括:缓冲存储器,其中,写入表被存储在缓冲存储器中,其中,使用写入表从所述数据选择第一数据,控制器被配置为:将根据中央控制块的请求写入随机存取存储器中的写入数据的信息存储在写入表中。
附图说明
通过参照附图详细描述本发明构思的示例性实施例,将更加清楚地理解本发明构思的以上和其它特征。
图1是示出根据本发明构思的示例性实施例的存储器***的框图。
图2是示出根据本发明构思的示例性实施例的操作图1的存储器***的方法的流程图。
图3示出根据本发明构思的示例性实施例的在发生访问错误时指示的刷入(flush)操作。
图4示出根据本发明构思的示例性实施例的第一控制信号被图1的集线器(hub)激活的示例。
图5示出根据本发明构思的示例性实施例的在发生访问错误时指示的刷入操作。
图6是示出根据本发明构思的示例性实施例的存储器***的框图。
图7是示出根据本发明构思的示例性实施例的操作图6的第一存储器模块或第三存储器模块的方法的流程图。
图8示出根据本发明构思的示例性实施例的将数据存储在图6的第一存储器模块中的操作。
图9示出根据本发明构思的示例性实施例的在图6的第一存储器模块中执行并使用图6的缓冲存储器执行的刷入操作。
图10示出根据本发明构思的示例性实施例的在图6的第一存储器模块中执行并使用图6的缓冲存储器执行的刷入操作。
图11示出根据本发明构思的示例性实施例的将在图10的操作之后被执行的刷入操作。
图12示出根据本发明构思的示例性实施例的针对图6的第一存储器模块的应用使用图6的缓冲存储器的示例。
图13是示出根据本发明构思的一些实施例的第一类型存储器模块的框图。
具体实施方式
本发明构思的示例性实施例提供了一种半导体存储器模块和包括半导体存储器模块的存储器***,其中,半导体存储器模块被配置为具有提高的操作速度。
在下文中将参照附图更全面地描述本发明构思的示例性实施例。贯穿本申请,相同的参考标号可表示相同的元件。
图1是示出根据本发明构思的示例性实施例的存储器***的框图。例如,存储器***100a可包括例如服务器***,诸如,应用服务器、客户服务器或数据服务器。可选地,存储器***100a可包括个人计算机或工作站。
参照图1,存储器***100a可包括中央控制块110、第一存储器模块120a、第二存储器模块130a、第三存储器模块140、第四存储器模块150、根复合体(root complex)160、存储装置170、电源管理块180以及***装置190。
中央控制块110可包括处理器111和集线器114。处理器111可被配置为控制存储器***100a的元件和元件的操作。此外,处理器111可被配置为执行操作***和各种应用,并使用操作***或应用来处理数据。
处理器111可包括存储器控制器112和高速缓冲存储器113。存储器控制器112可通过主通道MCH和补充通道SCH来访问第一存储器模块120a、第二存储器模块130a、第三存储器模块140和第四存储器模块150。高速缓冲存储器113可包括高速存储器装置(例如,静态随机存取存储器(SRAM)装置)。
集线器114可连接到电源管理块180。集线器114可被配置为将处理器111连接到***装置190。集线器114可包括用于控制***装置190的各种控制器。例如,集线器114可包括平台控制器集线器(PCH)。
集线器114可分别将第一控制信号CS1和第二控制信号CS2发送至第一存储器模块120a和第二存储器模块130a,其中,第一存储器模块120a和第二存储器模块130a是第一类型存储器模块。例如,第一控制信号CS1和第二控制信号CS2可包括用于请求第一存储器模块120a和第二存储器模块130a中的每个的刷入操作的执行的异步DRAM刷新(ADR)信号。
第一存储器模块120a、第二存储器模块130a、第三存储器模块140和第四存储器模块150可通过主通道MCH和补充通道SCH连接到存储器控制器112。主通道MCH可用于将数据存储在第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150(例如,半导体存储器模块)中或从第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150读取数据。主通道MCH可包括针对第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150设置的多个通道。
补充通道SCH可用于提供附加功能,其中,附加功能是与第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150相关联的,除了将数据存储在第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150中或从第一存储器模块120a、
第二存储器模块130a、第三存储器模块140以及第四存储器模块150读取数据的功能以外的功能。
例如,第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150可通过补充通道SCH将它们自己特有的数据提供给存储器控制器112。补充通道SCH可包括针对第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150设置的多个通道。
第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150可用作存储器***100a的主存储器。第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150可被配置为根据用于存储器模块(诸如,双列直插式存储器模块(DIMM)、带寄存器的DIMM(RDIMM)或低负载DIMM(LRDIMM))的各种标准中的一个与存储器控制器112通信。
根复合体160可被配置为直接与处理器111通信或通过集线器114与处理器111通信。根复合体160可被配置为提供允许中央控制块110访问各种***装置的通道。例如,存储装置170可连接到根复合体160。存储装置170可包括硬盘驱动器、光盘驱动器、固态硬盘等中的至少一个。
然而,连接到根复合体160的***装置不限于存储装置170。例如,根复合体160可连接到各种装置(例如,调制解调器、图形处理器(GPU)或神经形态处理器)。
电源管理块180可被配置为监测并控制被供应给存储器***100a或存储器***100a的每个元件的电力。在存储器***100a中发生突然断电(SPO)的情况下,电源管理块180可将SPO警报信号提供给集线器114。
处理器111可被配置为分级地管理高速缓冲存储器113、用作主存储器的第一存储器模块120a、第二存储器模块130a、第三存储器模块140和第四存储器模块150、以及存储装置170。例如,处理器111可被配置为将必要数据从存储装置170加载到主存储器(例如,包括第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150)。处理器111还可被配置为将存储在主存储器中的将被备份的数据刷入到存储装置170。
包括第一存储器模块120a、第二存储器模块130a、第三存储器模块140和第四存储器模块150的主存储器的部分存储空间可被映射到高速缓冲存储器113。在必须访问主存储器的特定存储空间的情况下,处理器111可确定特定存储空间是否被映射到高速缓冲存储器113。
如果特定存储空间被映射到高速缓冲存储器113,则处理器111可访问高速缓冲存储器113的特定存储空间。如果特定存储空间未被映射到高速缓冲存储器113,则处理器111可将第一存储器模块120a、第二存储器模块130a、第三存储器模块140和第四存储器模块150的特定存储空间映射到或获取到高速缓冲存储器113。
如果高速缓冲存储器113的存储空间不足,则处理器111可释放先前映射到高速缓冲存储器113的现有存储空间的至少一部分。如果将被释放的存储空间的数据被更新,则处理器111可将更新的数据刷入到第一存储器模块120a、第二存储器模块130a、第三存储器模块140和第四存储器模块150。
第一存储器模块120a、第二存储器模块130a、第三存储器模块140和第四存储器模块150可以是异构存储器模块。例如,如上所述,第一存储器模块120a和第二存储器模块130a可以是第一类型存储器模块,而第三存储器模块140和第四存储器模块150可以是第二类型存储器模块。
第一存储器模块120a可包括第一类型存储器121、第二类型存储器122、媒体控制器123以及串行存在检测(SPD)装置125。第二存储器模块130a可包括第一类型存储器131、第二类型存储器132、媒体控制器133、串行存在检测(SPD)装置135。在下文中,将参照第一存储器模块120a更详细地描述第一类型存储器模块120a和130a。
第一类型存储器121可包括高速易失性存储器(例如,动态随机存取存储器(DRAM)装置)。第二类型存储器122可包括具有比第一类型存储器121更低的速度和更大的存储容量的非易失性存储器。例如,第二类型存储器122可包括闪存、相变存储器、铁电存储器、磁存储器、电阻式存储器等中的至少一个。
媒体控制器123可被配置为将通过主通道MCH的相应的通道从外部主机装置(例如,存储器控制器112或处理器111)发送的访问命令传送至第一类型存储器121或第二类型存储器122。根据访问命令,媒体控制器123可通过主通道MCH的相应的通道与外部主机装置(例如,存储器控制器112或处理器111)交换数据。
媒体控制器123可将第二类型存储器122的存储容量或存储空间提供给外部主机装置(例如,存储器控制器112或处理器111)。在媒体控制器123的控制下,第一类型存储器121可用作第二类型存储器122的高速缓冲存储器。
例如,媒体控制器123可被配置为将第二类型存储器122的部分存储空间映射到第一类型存储器121。如果与从外部主机装置(例如,存储器控制器112或处理器111)提供的访问命令相关联的存储空间被映射到第一类型存储器121,则媒体控制器123可将访问命令传送至第一类型存储器121。
如果与从外部主机装置(例如,存储器控制器112或处理器111)提供的访问命令相关联的存储空间未被映射到第一类型存储器121,则媒体控制器123可将相应的存储空间从第二类型存储器122映射或备份到第一类型存储器121。
如果第一类型存储器121的存储空间不足,则媒体控制器123可释放先前映射到第一类型存储器121的现有存储空间中的至少一部分。如果将被释放的存储空间的数据被更新,则媒体控制器123可将更新的数据刷入到第二类型存储器122。
SPD装置125可通过补充通道SCH的相应的通道与外部主机装置(例如,存储器控制器112或处理器111)通信。例如,当第一存储器模块120a被初始化时,SPD装置125可通过补充通道SCH的相应的通道将存储的数据提供给外部主机装置(例如,存储器控制器112或处理器111)。
例如,SPD装置125可以是第一存储器模块120a的存储空间,并可存储关于提供给外部主机装置(例如,存储器控制器112或处理器111)的存储容量的信息。例如,SPD装置125可存储关于第二类型存储器122的存储容量的信息。当初始化被执行时,SPD装置125可将关于第二类型存储器122的存储容量的信息提供给外部主机装置(例如,存储器控制器112或处理器111)。
例如,存储在SPD装置125中的容量信息可包含关于第二类型存储器122的用户容量的信息。第二类型存储器122的存储容量可包括用户容量、元容量或预备容量。
用户容量可以是由第二类型存储器122提供给外部主机装置(例如,存储器控制器112)的存储容量。
元容量可以是被提供以存储用于管理第二类型存储器122的各种元数据并且不暴露给外部主机装置(例如,存储器控制器112)的存储容量。
预备容量可以是被提供以管理第二类型存储器122并且不暴露给外部主机装置(例如,存储器控制器112)的存储容量。
存储在SPD装置125中的容量信息可包含关于第二类型存储器122的用户容量的信息。在下文中,除非另有定义,否则第二类型存储器122的容量可被解释为指示第二类型存储器122的用户容量。
第三存储器模块140可包括第一类型存储器141和SPD装置145。第四存储器模块150可包括第一类型存储器151和SPD装置155。在下文中,将参照第三存储器模块140更详细地描述第二类型存储器模块140和150。
与第一存储器模块120a的第一类型存储器121相似,第一类型存储器141可包括动态随机存取存储器。SPD装置145可通过补充通道SCH的相应的通道与外部主机装置(例如,存储器控制器112或处理器111)通信。例如,当第三存储器模块140被初始化时,SPD装置145可通过补充通道SCH的相应的通道将存储的数据提供给外部主机装置(例如,存储器控制器112或处理器111)。
例如,SPD装置145可以是第三存储器模块140的存储空间,并可存储关于提供给外部主机装置(例如,存储器控制器112或处理器111)的存储容量的信息。例如,SPD装置145可存储关于第一类型存储器141的存储容量的信息。当初始化被执行时,SPD装置145可将关于第一类型存储器141的存储容量的信息提供给外部主机装置(例如,存储器控制器112或处理器111)。
如果向存储器***100a供电,则存储器控制器112可初始化第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150。例如,第一存储器模块120a、第二存储器模块130a、第三存储器模块140和第四存储器模块150的SPD装置125、SPD装置135、SPD装置145和SPD装置155可通过补充通道SCH将各自的容量信息提供给存储器控制器112。
第一类型存储器模块120a和130a的SPD装置125和SPD装置135可将第二类型存储器122和第二类型存储器132的各自的存储容量提供给存储器控制器112。第二类型存储器模块140和150的SPD装置145和SPD装置155可将第一类型存储器141和第一类型存储器151的各自的存储容量提供给存储器控制器112。例如,存储器控制器112可从SPD装置125、SPD装置135SPD装置145和SPD装置155读取各自的存储容量。
图2是示出根据本发明构思的示例性实施例的操作图1的存储器***的方法的流程图。参照图1和图2,在操作S11中,处理器111可被配置为检测在尝试访问第一类型存储器模块120a和130a中的一个存储器模块(例如,第一存储器模块120a)时是否发生访问错误。
在操作S12中,如果访问错误被检测到,则中央控制块110可激活控制信号CS,以刷入第一存储器模块120a的数据。换言之,当尝试访问第一类型存储器模块120a和130a时发生访问错误时,存储器***100a可指示在其中发生访问错误的存储器模块执行刷入操作。
图3示出根据本发明构思的示例性实施例的在发生访问错误时指示的刷入操作。为了减小附图的复杂度,仅在图3中示出中央控制块110、第一存储器模块120a和第三存储器模块140。第一存储器模块120a可通过第一主通道MCH1与存储器控制器112通信,第三存储器模块140可通过第二主通道MCH2与存储器控制器112通信。
图3示出在尝试访问第一存储器模块120a时可能发生的访问错误。参照图1和图3,在操作S21中,处理器111可被配置为检测在尝试访问第一存储器模块120a时是否发生访问错误。例如,访问错误可包括页故障或不可校正的错误。
在处理器111上执行的操作***或应用可通过使用虚拟地址来生成对第一存储器模块120a的访问请求。存储器控制器112可基于存储在第一存储器模块120a、第二存储器模块130a、第三存储器模块140以及第四存储器模块150中的一个存储器模块中的页表将虚拟地址转换为物理地址。存储器控制器112可基于物理地址尝试访问第一存储器模块120a。
在操作***或应用请求存储新数据或访问先前释放的存储空间的情况下,不会存在对应于访问请求的页表。在这样的情况下,会发生页故障。如果发生页故障,则处理器111可执行异常处理。
如果存储器控制器112将读取请求发送至第一存储器模块120a,则媒体控制器123可确定请求的数据被存储在第一类型存储器121(例如,高速缓存命中)中还是存储在第二类型存储器122(例如,高速缓存未命中)中。
在高速缓存未命中的情况下,媒体控制器123可将从第二类型存储器122获取的读取请求的数据传送至第一类型存储器121。由于需要花费时间执行数据获取操作,所以第一存储器模块120a可能难以在针对存储器控制器112设置的给定的时间内将读取请求的数据提供给存储器控制器112。在这种情况下,存储器控制器112可确定发生不可校正的错误并可执行异常处理。
在高速缓存命中的情况下,第一类型存储器121可根据来自存储器控制器112的读取请求,将请求的数据传送至存储器控制器112。如果传送的数据具有不可校正的错误,则存储器控制器112可确定发生不可校正的错误并可执行异常处理。
如上所述,如果在处理器111或存储器控制器112尝试访问第一存储器模块120a时发生访问错误,则处理器111可执行异常处理。在异常处理的执行期间,处理器111或存储器控制器112可被禁止访问第一存储器模块120a。
换言之,在异常处理的执行期间,可以确保针对第一存储器模块120a的空闲时间,其中,在空闲时间中,不允许访问请求从处理器111或存储器控制器112传送至第一存储器模块120a。
根据本发明构思的示例性实施例,存储器***100a可告知第一存储器模块120a异常处理被执行。例如,在操作S22中,处理器111可请求集线器114激活第一控制信号CS1。在操作S23中,集线器114可激活第一控制信号CS1。
第一控制信号CS1的激活可允许媒体控制器123了解异常处理正被处理器111执行并且空闲时间被确保。由于空闲时间被确保,所以媒体控制器123可执行操作第一存储器模块120a所需要的后台操作(background operation)。
例如,后台操作可以是未被中央控制块110请求并且未被中央控制块110识别的操作。第一存储器模块120a可在其中不存在来自中央控制块110的访问请求的空闲时间期间执行后台操作。第一存储器模块120a可在用于处理来自中央控制块110的访问请求的操作之间的间隔期间,执行后台操作。
例如,在操作S24中,媒体控制器123可执行将存储在第一类型存储器121中的数据传送至第二类型存储器122的刷入操作。例如,存储在第一类型存储器121中的全部数据或一些数据可通过刷入操作写入第二类型存储器122。
第一类型存储器121可用作第二类型存储器122的高速缓冲存储器。因此,存储在第一类型存储器121中的数据可通过刷入操作传送至第二类型存储器122。
例如,当根据来自处理器111或存储器控制器112的访问请求必须将数据写入第一类型存储器121时,第一类型存储器121的可用存储空间可能不足。可选地,当根据来自处理器111或存储器控制器112的访问请求必须将存储在第二类型存储器122中的数据获取到第一类型存储器121时,第一类型存储器121的可用存储空间可能不足。
在第一类型存储器121的可用存储空间不足的情况下,刷入操作可被执行,以允许第一类型存储器121具有充足的可用存储空间。此外,在存储器***100a的电力中断的情况下,将存储在第一类型存储器121中的数据传送至第二类型存储器122的刷入操作可被执行,以保存存储在第一类型存储器121中的数据。
当从处理器111或存储器控制器112发送的访问请求由媒体控制器123处理时,刷入操作的执行可造成第一存储器模块120a的访问延迟的增大。根据本发明构思的示例性实施例,在发生访问错误的情况下,第一存储器模块120a可被配置为执行刷入操作。因此,可以减少应在访问请求被处理时被执行的刷入操作的频率,从而减小第一存储器模块120a和存储器***100a的访问延迟。
在本发明构思的示例性实施例中,如先前参照第一存储器模块120a所述,在第二存储器模块130a中可发生访问错误。集线器114可激活第二控制信号CS2,并且第二存储器模块130a可执行后台操作。在本发明构思的示例性实施例中,第一存储器模块120a和第二存储器模块130a中的每个执行的后台操作可以是刷入操作,但本发明构思不限于此。
后台操作可以是在第二类型存储器122被媒体控制器123管理时执行的各种操作(例如,读取回收、坏块管理、磨损均衡(wear leveling)、垃圾收集或擦除操作)中的一个。
图4示出根据本发明构思的示例性实施例的第一控制信号被图1的集线器激活的示例。为了减小附图的复杂度,仅在图4中示出中央控制块110、第一存储器模块120a、第三存储器模块140和电源管理块180。
参照图1和图4,在操作S31中,电源管理块180可被配置为检测突发断电(SPO)。在发生SPO的情况下,存储器***100a可使用存储在充电装置(诸如,电池或超级电容器)中的电力来执行用于处理SPO的后续处理。
在操作S32中,如果SPO被检测到,则电源管理块180可请求集线器114激活第一控制信号CS1。例如,电源管理块180可请求集线器114激活发送至第一存储器模块120a的第一控制信号CS1和发送至第二存储器模块130a第二控制信号CS2二者。
在操作S33中,如果SPO被电源管理块180检测到,则集线器114可激活第一控制信号CS1。在操作S34中,响应于第一控制信号CS1的激活,第一存储器模块120a可执行将存储在第一类型存储器121中的数据传送至第二类型存储器122的刷入操作。例如,存储在第一类型存储器121中的全部数据或一些数据可通过刷入操作写入第二类型存储器122。
相似地,如果第二控制信号CS2被激活,则第二存储器模块130a可执行将存储在第一类型存储器131中的数据传送至第二类型存储器132的刷入操作。例如,存储在第一类型存储器131中的全部数据或一些数据可通过刷入操作写入第二类型存储器132。
图5示出根据本发明构思的示例性实施例的在发生访问错误时指示的刷入操作。为了减小附图的复杂度,仅在图5中示出中央控制块110、第一存储器模块120a和第三存储器模块140。图5示出在尝试访问第一存储器模块120a时可能发生的访问错误的示例。
参照图1和图5,在操作S41中,处理器111可被配置为检测在尝试访问第一存储器模块120a时是否发生访问错误。在操作S42中,如果访问错误被检测到,则处理器111可激活通过第一主通道MCH1发送至第一存储器模块120a的第三控制信号CS3。
在操作S43中,如果第三控制信号CS3被激活,则媒体控制器123可执行后台操作(诸如,刷入操作)。换言之,存储器控制器112可直接将访问错误的发生通知第一存储器模块120a,而不经由集线器114。
作为示例,如参照图3和图4所述,当访问错误或SPO被检测到时,集线器114可激活第一控制信号CS1。作为另一示例,如参照图4和图5所述,当访问错误被检测到时,存储器控制器112可激活第三控制信号CS3,并且当SPO被检测到时,集线器114可激活第一控制信号CS1。
图6是示出根据本发明构思的示例性实施例的存储器***的框图。参照图6,存储器***100b可包括中央控制块110、第一存储器模块120b、第二存储器模块130b、第三存储器模块140、第四存储器模块150、根复合体160、存储装置170、电源管理块180以及***装置190。
中央控制块110、第三存储器模块140、第四存储器模块150、根复合体160、存储装置170、电源管理块180和***装置190可被配置为具有与图1的存储器***100a的那些组件基本相同的操作特征和结构特征。
例如,当访问错误被检测到时,中央控制块110可如图3中所示激活第一控制信号CS1,或可如图5中所示激活第三控制信号CS3。当SPO被检测到时,中央控制块110可如图4中所示激活第一控制信号CS1。
第一存储器模块120b可响应于第一控制信号CS1或第三控制信号CS3执行后台操作(例如,刷入操作)。第二存储器模块130b可响应于第二控制信号CS2或第三控制信号CS3执行后台操作(例如,刷入操作)。
第一存储器模块120b还可包括缓冲存储器126。第二存储器模块130b还可包括缓冲存储器136。缓冲存储器126可用于执行第一存储器模块120b的刷入操作。缓冲存储器136可用于执行第二存储器模块130b的刷入操作。
图7是示出根据本发明构思的示例性实施例的操作图6的第一存储器模块或第三存储器模块的方法的流程图。将参照第一存储器模块120b更详细地描述操作方法。参照图6和图7,在操作S51中,第一存储器模块120b的媒体控制器123可检测控制信号CS(例如,第一控制信号CS1或第三控制信号CS3)的激活。
在操作S52中,媒体控制器123可对缓冲存储器126执行读取操作。在操作S53中,媒体控制器123可基于读取操作的结果执行刷入操作。换言之,媒体控制器123可基于从缓冲存储器126读取的信息,执行将存储在第一类型存储器121中的数据写入第二类型存储器122的刷入操作。
图8示出根据本发明构思的示例性实施例的将数据存储在图6的第一存储器模块中的操作。为了减小附图的复杂度,仅在图8中示出第一类型存储器121、第二类型存储器122、媒体控制器123和缓冲存储器126。
在图8中,第一类型存储器121的第一存储空间SC1被示出为包括第一页PAGE1至第八页PAGE8。页可以是中央控制块110尝试访问第一存储器模块120b时处理的数据的单位。例如,中央控制块110可被配置为以页为单位将数据存储在第一存储器模块120b中或从第一存储器模块120b读取数据。
如图8中所示,写入表WT可被存储在缓冲存储器126的第二存储空间SC2中。写入表WT可包含关于第一类型存储器121的第一页PAGE1至第八页PAGE8的信息。例如,写入表WT可包含关于存储在第一类型存储器121的第一页PAGE1至第八页PAGE8中的数据是否为新写入的数据的信息。
参照图6和图8,中央控制块110可将写入请求发送至第一存储器模块120b。在操作S61中,媒体控制器123可接收从中央控制块110发送的写入请求。例如,写入请求可包括写入数据和关于地址的信息。地址可指示第二类型存储器122的存储空间的特定部分。
在操作S62中,媒体控制器123可确定第一类型存储器121的可用存储容量是否充足。例如,在第一类型存储器121的可用存储容量大于或等于写入数据的容量的情况下,媒体控制器123可确定存在充足的可用存储容量。
在操作S63中,在第一类型存储器121具有充足的可用存储容量的情况下,媒体控制器123可将从中央控制块110提供的写入请求传送至第一类型存储器121。
在操作S64中,根据写入请求,写入数据可被写入第一类型存储器121的第一页PAGE1。在操作S65中,在写入数据被写入第一页PAGE1的情况下,媒体控制器123可更新写入表WT。在操作S66中,指示新数据被写入第一类型存储器121的第一页PAGE1的脏标记(dirtymark)或脏标志(dirty flag)(例如,Dirty)可被记载在写入表WT中。
图9示出根据本发明构思的示例性实施例的在图6的第一存储器模块中执行并使用图6的缓冲存储器执行的刷入操作。如图9中所示,第二类型存储器122的第三存储容量SC3可被划分为第一存储器块BLK1至第四存储器块BLK4。第一存储器块BLK1至第四存储器块BLK4中的每个可被划分为第一非易失性页NPAGE1至第八非易失性页NPAGE8。
非易失性页可以是在媒体控制器123尝试访问第二类型存储器122时处理的数据的单位。非易失性页的数据量可等于或不同于页的数据大小。参照图6、图8和图9,在操作S71中,媒体控制器123可检测第一控制信号CS1或第三控制信号CS3的激活。
响应于第一控制信号CS1或第三控制信号CS3的激活,媒体控制器123可执行刷入操作。例如,在操作S72中,媒体控制器123可读取存储在缓冲存储器126中的写入表WT。在操作S73中,媒体控制器123可基于写入表WT来检查第一类型存储器121的第一页PAGE1的脏标志。
例如,媒体控制器123可在先前的刷入操作之后或在电力被供应给存储器***100b之后,从写入表WT检测数据是否被写入第一类型存储器121的第一页PAGE1。
新写入第一类型存储器121的第一页PAGE1中的数据应被存储在第二类型存储器122中,因此,刷入操作被需要。存储在第一类型存储器121的第二页PAGE2至第八页PAGE8中的数据可以是存储在第二类型存储器122中的数据或无效数据,因此,刷入操作不被需要。
在操作S74中,媒体控制器123可将读取请求传送至第一类型存储器121。例如,媒体控制器123可将针对需要刷入操作的第一页PAGE1的读取请求发送至第一类型存储器121。在操作S75中,第一类型存储器121的第一页PAGE1中的数据可根据读取请求被读取。
在操作S76中,媒体控制器123可将写入请求发送至第二类型存储器122。例如,媒体控制器123可将针对从第一类型存储器121读取的第一页PAGE1的数据的写入请求发送至第二类型存储器122。
在操作S77中,新写入第一类型存储器121中的数据可被写入第二类型存储器122的第一存储器块BLK1的第三非易失性页NPAGE3。如果新写入第一类型存储器121中的数据被写入第二类型存储器122,则数据的传输可被终止。
在操作S78中,媒体控制器123可从写入表WT清除脏标记。此外,媒体控制器123可清除第一类型存储器121与第二类型存储器122之间的映射关系。如果刷入操作被执行,则新写入第一类型存储器121中的数据可被刷入到第二类型存储器122,并且第一类型存储器121可被清空(evacuate)。
根据本发明构思的示例性实施例,仅存储在第一类型存储器121中的部分数据(例如,需要刷入操作或新写入第一类型存储器121的数据)可通过刷入操作写入第二类型存储器122。因此,可以减少应被传送的数据量。结果,可以减少刷入操作所需要的时间,并减少第一存储器模块120b的延迟。
在本发明构思的示例性实施例中,即使在第一类型存储器121装满数据时,参照图9描述的刷入操作也可被执行。第二类型存储器122的第三存储容量SC3被示出为具有四个存储器块,但本发明构思不限于此。此外,每个存储器块被示出为具有八个非易失性页,但本发明构思不限于此。
图10示出根据本发明构思的示例性实施例的在图6的第一存储器模块中执行并使用图6的缓冲存储器执行的刷入操作。如图10中所示,缓冲存储器126的第二存储空间SC2可被划分为第一页PAGE1至第八页PAGE8。第二存储空间SC2中的每页的容量可等于或不同于第一存储空间SC1中的每页的容量。
缓冲存储器126的容量可等于或不同于第一类型存储器121的容量。参照图6和图10,在操作S81中,媒体控制器123可检测第一控制信号CS1或第三控制信号CS3的激活。
在操作S82中,媒体控制器123可根据第一控制信号CS1或第三控制信号CS3的激活将读取请求发送至缓冲存储器126。在本发明构思的示例性实施例中,媒体控制器123可发送针对有效数据的读取请求,其中,有效数据是存储在缓冲存储器126中且需要被写入第二类型存储器122的部分数据。
例如,缓冲存储器126的第一页PAGE1中的数据可以是有效数据。在操作S83中,缓冲存储器126的第一页PAGE1中的数据可根据读取请求被读取。在操作S84中,媒体控制器123可将写入请求发送至第二类型存储器122。
例如,媒体控制器123可将针对从缓冲存储器126读取的第一页PAGE1的数据的写入请求发送至第二类型存储器122。在操作S85中,数据可根据写入请求写入第二类型存储器122的第一存储器块BLK1的第三非易失性页NPAGE3。
图11示出根据本发明构思的示例性实施例的将在图10的操作之后被执行的刷入操作。参照图6、图10和图11,在操作S91中,媒体控制器123可将读取请求发送至第一类型存储器121。在操作S92中,存储在第一类型存储器121中的数据可根据读取请求被读取。
在操作S93中,媒体控制器123可将写入请求发送至缓冲存储器126。例如,媒体控制器123可将针对从第一类型存储器121读取的数据的写入请求发送至缓冲存储器126。在操作S94中,数据可根据写入请求写入缓冲存储器126。
可通过将存储在缓冲存储器126中的数据写入第二类型存储器122并通过将存储在第一类型存储器121中的数据写入缓冲存储器126,来完成第一存储器模块120b的刷入操作。此后,媒体控制器123可执行将存储在缓冲存储器126中的数据写入第二类型存储器122的后台操作。
当缓冲存储器126的可用存储容量大于从第一类型存储器121读取的数据量时,可通过将第一类型存储器121中的数据写入缓冲存储器126来完成第一存储器模块120b的刷入操作。换言之,当省略参照图10描述的操作时,可通过参照图11描述的操作来完成刷入操作。
如果第一类型存储器121中的数据被存储在缓冲存储器126中,则媒体控制器123可存储第一类型存储器121与第二类型存储器122之间的映射信息作为参考信息,并可清除映射信息。媒体控制器123可使用参考信息来执行将存储在缓冲存储器126中的数据写入第二类型存储器122的后台操作。
根据本发明构思的示例性实施例,在刷入操作期间,第一类型存储器121的数据可被写入缓冲存储器126。写入缓冲存储器126的数据可通过后台操作被传送至第二类型存储器122。因此,刷入操作的延迟可被减少。
在本发明构思的示例性实施例中,媒体控制器123可监测第一类型存储器121的可用存储容量。如果第一类型存储器121的可用存储容量被减少到低于阈值或低于阈值比率,则媒体控制器123可执行刷入操作。
图12示出根据本发明构思的示例性实施例的针对图6的第一存储器模块的应用使用图6的缓冲存储器的示例。参照图12,缓冲存储器126的第二存储空间SC2可包括写入表WT和缓冲区BA。如参照图8和图9所述,写入表WT可用于存储脏标记。
如果第一控制信号CS1或第三控制信号CS3被激活,则媒体控制器123可参考写入表WT。媒体控制器123可读取存储在第一类型存储器121中并与写入表WT的脏标记相关联的数据,并可将读取数据存储在缓冲存储器126的缓存区BA中。
如果缓冲存储器126的可用存储容量不足,则媒体控制器123可执行从缓冲存储器126的缓存区BA读取数据并将读取数据写入第二类型存储器122的操作。如果刷入操作完成,则媒体控制器123可通过后台操作将缓冲存储器126中的数据传送至第二类型存储器122。
在本发明构思的示例性实施例中,中央控制块110可监测第一存储器模块120a或120b的可用存储容量。如果第一类型存储器121的可用存储容量被减少到低于阈值或低于阈值比率,则中央控制块110可激活第一控制信号CS1或第三控制信号CS3,以执行刷入操作。
根据本发明构思的示例性实施例,半导体存储器模块被配置为使用写入表将存储在随机存取存储器中的一些数据刷入到非易失性存储器。此外,半导体存储器模块还被配置为将在其中发生高速缓存未命中的数据存储在缓冲存储器中。这可使实现高速半导体存储器模块成为可能。此外,根据本发明构思的示例性实施例,在发生访问错误的情况下,存储器***被配置为指示半导体存储器模块执行刷入操作。这可使实现高速存储器***成为可能。
图13是示出根据本发明构思的一些实施例的第一类型存储器模块1100的框图。在一些实施例中,第一类型存储器模块1100可以是被提供以满足LRDIMM(“低负载”DIMM)标准的要求的存储器模块。参照图1和图13,第一类型存储器模块1100可包括易失性存储器装置1110、非易失性存储器装置1120、媒体控制器1130以及第一数据缓冲器1141至第八数据缓冲器1148。
易失性存储器装置1110可包括第一易失性存储器1111至第四易失性存储器1114。第一易失性存储器1111至第四易失性存储器1114可使用彼此分离的多个封装件来实现。第一易失性存储器1111至第四易失性存储器1114可包括动态随机存取存储器。易失性存储器装置1110可以是第一类型存储器121或第一类型存储器131。
非易失性存储器装置1120可包括第一非易失性存储器1121至第四非易失性存储器1124。第一非易失性存储器1121至第四非易失性存储器1124可使用彼此分离的多个封装件来实现。第一非易失性存储器1121至第四非易失性存储器1124可以是被设置在非易失性存储器装置1120中并利用不同地址标识的不同存储区域。非易失性存储器装置1120可以是第二类型存储器122或第二类型存储器132。
特别地,非易失性存储器装置1120可包括各种非易失性存储器装置(例如,包括闪存装置、相变存储器装置、铁电存储器装置、电阻式存储器装置和磁存储器装置)中的至少一个。
媒体控制器1130可从存储器控制器112接收第一命令和地址CA1、第一时钟信号CK1以及第一控制信号CTRL1。媒体控制器1130可与第一数据缓冲器1141至第八数据缓冲器1148交换第二数据信号DQ2。媒体控制器1130可根据第一命令和地址CA1、第一时钟信号CK1以及第一控制信号CTRL1,来访问易失性存储器装置1110或非易失性存储器装置1120。
媒体控制器1130可将第二命令和地址CA2、第二时钟信号CK2以及第二控制信号CTRL2发送至易失性存储器装置1110,并可与易失性存储器装置1110交换第三数据信号DQ3。媒体控制器1130可将第三命令和地址CA3、第三时钟信号CK3以及第三控制信号CTRL3发送至非易失性存储器装置1120,并可与非易失性存储器装置1120交换第四数据信号DQ4。
在这些实施例中的一些实施例中,第一命令和地址CA1、第二命令和地址CA2和第三命令和地址CA3可具有不同的格式。在特定实施例中,第一命令和地址CA1、第二命令和地址CA2和第三命令和地址CA3中的至少两个可具有相同的格式。例如,媒体控制器1130用来与易失性存储器装置1110通信的格式可不同于媒体控制器1130用来与非易失性存储器装置1120通信的格式。
媒体控制器1130可发送第一缓冲器命令CMD_B1,以控制第一数据缓冲器1141至第四数据缓冲器1144。媒体控制器1130可发送第二缓冲器命令CMD_B2,以控制第五数据缓冲器1145至第八数据缓冲器1148。
第一数据缓冲器1141至第八数据缓冲器1148可与数据选通信号DQS同步地与存储器控制器112交换第一数据信号DQ1。第一数据缓冲器1141至第八数据缓冲器1148可将从存储器控制器112接收的第一数据信号DQ1作为第二数据信号DQ2发送至媒体控制器1130。
第一数据缓冲器1141至第八数据缓冲器1148可将从媒体控制器1130接收的第二数据信号DQ2作为第一数据信号DQ1发送至存储器控制器112。第一数据缓冲器1141至第八数据缓冲器1148可使用彼此分离的多个封装件来实现。
在一些实施例中,易失性存储器装置1110可用作非易失性存储器装置1120的高速缓冲存储器。非易失性存储器装置1120的部分存储空间可被映射到易失性存储器装置1110。
当由从存储器控制器112接收的第一命令和地址CA1指示的第一存储空间被映射到易失性存储器装置1110时(即,当发生高速缓存命中时),媒体控制器1130可将第二命令和地址CA2发送至易失性存储器装置1110。易失性存储器装置1110可根据第二命令和地址CA2执行写入或读取操作。
在由从存储器控制器112接收的第一命令和地址CA1指示的第一存储空间未被映射到易失性存储器装置1110时(即,当发生高速缓存未命中时),媒体控制器1130可将由第一命令和地址CA1指示的第一存储空间映射到易失性存储器装置1110。
例如,可以确保易失性存储器装置1110中的与非易失性存储器装置1120的第一存储空间相关联的第二存储空间。如果易失性存储器装置1110的存储空间不足,则媒体控制器1130可丢弃映射到易失性存储器装置1110的其它存储空间,或可将其它存储空间归还到非易失性存储器装置1120,并且在这种情况下,可以确保易失性存储器装置1110中的第二存储空间。
如果存在存储在非易失性存储器装置1120的第一存储空间中的数据,则媒体控制器1130可将第一存储空间中的数据复制到易失性存储器装置1110的第二存储空间。此后,媒体控制器1130可将第二命令和地址CA2发送至易失性存储器装置1110。易失性存储器装置1110可响应于第二命令和地址CA2对第二存储空间执行写入或读取操作。
在一些实施例中,如果故障通知通过第一命令和地址CA1被发送,则媒体控制器1130可将非易失性存储器装置1120的与包括在故障通知中的一个或多个逻辑地址对应的存储空间映射到易失性存储器装置1110。故障通知可以以与用于读取操作的第一命令和地址CA1或用于写入操作的第一命令和地址CA1的格式不同的格式来发送。例如,媒体控制器1130可接收针对故障通知的第一命令和地址CA1,并可执行高速缓存分配。
当第二存储空间从易失性存储器装置1110释放时,媒体控制器1130可检查第二存储空间是否是脏的。例如,在已经对第二存储空间执行写入操作的情况下,第二存储空间可被确定为是脏的。
如果第二存储空间不是“脏的”,则媒体控制器1130可丢弃第二存储空间的数据,以释放第二存储空间。如果第二存储空间是“脏的”,则媒体控制器1130可将第二存储空间的数据写入非易失性存储器装置1120,以归还第二存储空间。在归还第二存储空间之后,媒体控制器1130可丢弃并释放第二存储空间。
在特定实施例中,易失性存储器装置1110和非易失性存储器装置1120可被存储器控制器112直接访问。例如,在第一命令和地址CA1或第一控制信号CTRL1指示易失性存储器装置1110的情况下,媒体控制器1130可将第二命令和地址CA2、第二时钟信号CK2或第二控制信号CTRL2发送至易失性存储器装置1110。
在第一命令和地址CA1或第一控制信号CTRL1指示非易失性存储器装置1120的情况下,媒体控制器1130可将第三命令和地址CA3、第三时钟信号CK3或第三控制信号CTRL3发送至非易失性存储器装置1120。
在一些实施例中,易失性存储器的数量、非易失性存储器的数量和数据缓冲器的数量不是固定的。例如,易失性存储器的数量或非易失性存储器的数量可与数据缓冲器的数量相等,数据缓冲器的数量可被改变为九。
媒体控制器1130可将逻辑地址LA与物理地址PA之间的映射信息存储在非易失性存储器装置1120的第一元存储区域中。从存储器控制器112接收的第一命令和地址CA1可基于非易失性存储器装置1120的逻辑地址LA。
当媒体控制器1130根据第一命令和地址CA1访问非易失性存储器装置1120时,媒体控制器1130可根据映射信息将逻辑地址LA转换为物理地址PA。媒体控制器1130可使用转换的物理地址PA来访问非易失性存储器装置1120。也就是说,第三命令和地址CA3可基于物理地址PA。
非易失性存储器装置1120到易失性存储器装置1110的高速缓存分配可基于逻辑地址LA或物理地址PA来执行。也就是说,第二命令和地址CA2可基于逻辑地址LA或物理地址PA。在媒体控制器1130中,逻辑地址LA或物理地址PA可用于确定发生高速缓存命中还是高速缓存未命中。
尽管已经参照本发明构思的示例性实施例具体示出并描述本发明构思,但是本领域普通技术人员将理解,在不脱离由权利要求阐述的本发明构思的精神和范围的情况下,可对其进行形式和细节上的改变。
Claims (20)
1.一种半导体存储器模块,包括:
随机存取存储器;
非易失性存储器;
缓冲存储器;以及
控制器,被配置为:响应于控制信号的激活,对缓冲存储器执行读取操作,
其中,控制器还被配置为:根据读取操作的结果,执行将存储在随机存取存储器中的第一数据存储在非易失性存储器中的刷入操作。
2.根据权利要求1所述的半导体存储器模块,其中,当根据来自外部主机装置的请求将第一数据写入随机存取存储器时,控制器还被配置为将第一数据的信息存储在缓冲存储器中。
3.根据权利要求2所述的半导体存储器模块,其中,在读取操作期间,控制器还被配置为从缓冲存储器读取所述信息,
其中,控制器根据所述信息从存储在随机存取存储器中的数据选择第一数据。
4.根据权利要求3所述的半导体存储器模块,其中,控制器还被配置为:在将第一数据存储在非易失性存储器中之后,从缓冲存储器移除所述信息。
5.根据权利要求1所述的半导体存储器模块,其中,存储在随机存取存储器中的数据还包括不是由外部主机装置写入的第二数据,
其中,第二数据在刷入操作期间不被存储在非易失性存储器中。
6.根据权利要求1所述的半导体存储器模块,其中,随机存取存储器是非易失性存储器的高速缓冲存储器。
7.根据权利要求1所述的半导体存储器模块,其中,刷入操作包括被执行以读取存储在随机存取存储器中的第一数据然后将第一数据存储在缓冲存储器中的第一操作。
8.根据权利要求7所述的半导体存储器模块,其中,刷入操作还包括将存储在缓冲存储器中的第二数据写入非易失性存储器的第二操作。
9.根据权利要求8所述的半导体存储器模块,其中,控制器被配置为:在第一操作之前执行第二操作。
10.根据权利要求7所述的半导体存储器模块,其中,控制器还被配置为:执行将存储在缓冲存储器中的第二数据写入非易失性存储器的后台操作。
11.根据权利要求7所述的半导体存储器模块,其中,当随机存取存储器的可用存储容量被减少到低于阈值时,控制器还被配置为执行刷入操作。
12.根据权利要求7所述的半导体存储器模块,其中,第一数据是存储在随机存取存储器中的部分数据。
13.一种半导体存储器模块,包括:
随机存取存储器;
非易失性存储器;
缓冲存储器;以及
控制器,被配置为:响应于控制信号的激活,对缓冲存储器和随机存取存储器执行读取操作,并执行将从缓冲存储器读取的第一数据存储在非易失性存储器中并将从随机存取存储器读取的第二数据存储在缓冲存储器中的刷入操作。
14.根据权利要求13所述的半导体存储器模块,其中,控制器还被配置为:通过后台操作,将存储在缓冲存储器中的第二数据存储在非易失性存储器中。
15.根据权利要求13所述的半导体存储器模块,其中,控制器还被配置为:响应于控制信号的激活,从缓冲存储器读取写入表,
其中,控制器使用写入表从存储在随机存取存储器中的数据选择第二数据。
16.根据权利要求15所述的半导体存储器模块,其中,写入表包含关于根据来自外部主机装置的请求而写入随机存取存储器中的数据的信息。
17.根据权利要求15所述的半导体存储器模块,其中,当刷入操作完成时,控制器还被配置为初始化写入表。
18.一种存储器***,包括:
半导体存储器模块,包括:随机存取存储器、非易失性存储器以及控制器;以及
中央控制块,被配置为:当在尝试访问半导体存储器模块期间访问错误被检测到时,激活将被发送至控制器的控制信号,
其中,控制器被配置为:响应于控制信号的激活,读取作为存储在随机存取存储器中的部分数据的第一数据,然后将第一数据存储在非易失性存储器中作为第二数据。
19.根据权利要求18所述的存储器***,其中,半导体存储器模块还包括:缓冲存储器,
控制器还被配置为:响应于控制信号的激活,将从随机存取存储器读取的第一数据存储在缓冲存储器中作为第三数据,并将从缓冲存储器读取的第三数据存储在非易失性存储器中作为第二数据。
20.根据权利要求18所述的存储器***,其中,半导体存储器模块还包括:缓冲存储器,其中,写入表被存储在缓冲存储器中,
其中,控制器使用写入表从存储在随机存取存储器中的数据选择第一数据,
控制器被配置为:将根据中央控制块的请求写入随机存取存储器中的写入数据的信息存储在写入表中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0043848 | 2018-04-16 | ||
KR1020180043848A KR102538253B1 (ko) | 2018-04-16 | 2018-04-16 | 반도체 메모리 모듈 및 반도체 메모리 모듈을 포함하는 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389721A true CN110389721A (zh) | 2019-10-29 |
CN110389721B CN110389721B (zh) | 2024-07-26 |
Family
ID=68284903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910166951.9A Active CN110389721B (zh) | 2018-04-16 | 2019-03-06 | 半导体存储器模块和包括其的存储器*** |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102538253B1 (zh) |
CN (1) | CN110389721B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220157155A (ko) | 2021-05-20 | 2022-11-29 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140223226A1 (en) * | 2011-12-22 | 2014-08-07 | Theodros Yigzaw | Apparatus and method for detecting and recovering from data fetch errors |
US9176808B2 (en) * | 2012-01-09 | 2015-11-03 | Samsung Electronics Co., Ltd. | Storage device and nonvolatile memory device and operating method thereof |
US20160357665A1 (en) * | 2015-06-08 | 2016-12-08 | Samsung Electronics Co., Ltd. | Nonvolatile memory module and operation method thereof |
US20160364289A1 (en) * | 2015-06-15 | 2016-12-15 | Freescale Semiconductor, Inc. | End-to-End Error Detection and Correction |
US9552175B2 (en) * | 2011-02-08 | 2017-01-24 | Diablo Technologies Inc. | System and method for providing a command buffer in a memory system |
US20170153826A1 (en) * | 2015-12-01 | 2017-06-01 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and operation method thereof |
KR20170064628A (ko) * | 2015-12-01 | 2017-06-12 | 삼성전자주식회사 | 불휘발성 메모리 모듈 및 그것의 동작 방법 |
US20170168931A1 (en) * | 2015-12-14 | 2017-06-15 | Samsung Electronics Co., Ltd. | Nonvolatile memory module, computing system having the same, and operating method therof |
US9785563B1 (en) * | 2015-08-13 | 2017-10-10 | Western Digital Technologies, Inc. | Read command processing for data storage system based on previous writes |
CN107481746A (zh) * | 2016-06-08 | 2017-12-15 | 三星电子株式会社 | 用于操作ddr可兼容异步存储器模块的***和方法 |
US20180077236A1 (en) * | 2016-09-09 | 2018-03-15 | Toshiba Memory Corporation | Storage system including a plurality of nodes |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085248A (en) * | 1997-02-11 | 2000-07-04 | Xaqtu Corporation | Media access control transmitter and parallel network management system |
US6336174B1 (en) * | 1999-08-09 | 2002-01-01 | Maxtor Corporation | Hardware assisted memory backup system and method |
-
2018
- 2018-04-16 KR KR1020180043848A patent/KR102538253B1/ko active IP Right Grant
-
2019
- 2019-03-06 CN CN201910166951.9A patent/CN110389721B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9552175B2 (en) * | 2011-02-08 | 2017-01-24 | Diablo Technologies Inc. | System and method for providing a command buffer in a memory system |
US20140223226A1 (en) * | 2011-12-22 | 2014-08-07 | Theodros Yigzaw | Apparatus and method for detecting and recovering from data fetch errors |
US9176808B2 (en) * | 2012-01-09 | 2015-11-03 | Samsung Electronics Co., Ltd. | Storage device and nonvolatile memory device and operating method thereof |
US20160357665A1 (en) * | 2015-06-08 | 2016-12-08 | Samsung Electronics Co., Ltd. | Nonvolatile memory module and operation method thereof |
US20160364289A1 (en) * | 2015-06-15 | 2016-12-15 | Freescale Semiconductor, Inc. | End-to-End Error Detection and Correction |
US9785563B1 (en) * | 2015-08-13 | 2017-10-10 | Western Digital Technologies, Inc. | Read command processing for data storage system based on previous writes |
US20170153826A1 (en) * | 2015-12-01 | 2017-06-01 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and operation method thereof |
KR20170064628A (ko) * | 2015-12-01 | 2017-06-12 | 삼성전자주식회사 | 불휘발성 메모리 모듈 및 그것의 동작 방법 |
US20170168931A1 (en) * | 2015-12-14 | 2017-06-15 | Samsung Electronics Co., Ltd. | Nonvolatile memory module, computing system having the same, and operating method therof |
CN107481746A (zh) * | 2016-06-08 | 2017-12-15 | 三星电子株式会社 | 用于操作ddr可兼容异步存储器模块的***和方法 |
US20180077236A1 (en) * | 2016-09-09 | 2018-03-15 | Toshiba Memory Corporation | Storage system including a plurality of nodes |
Also Published As
Publication number | Publication date |
---|---|
CN110389721B (zh) | 2024-07-26 |
KR20190120536A (ko) | 2019-10-24 |
KR102538253B1 (ko) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102505913B1 (ko) | 메모리 모듈 및 메모리 모듈을 포함하는 메모리 시스템 | |
CN105830059B (zh) | 文件访问方法、装置及存储设备 | |
CN103946811B (zh) | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 | |
KR930010981A (ko) | 플래시메모리를 사용한 기억장치 | |
CN107220185A (zh) | 基于闪存的数据存储方法、装置以及闪存芯片 | |
CN106708423A (zh) | 多模存储管理*** | |
US11714752B2 (en) | Nonvolatile physical memory with DRAM cache | |
CN108228473A (zh) | 通过动态地传送存储器范围分配的负载平衡 | |
CN101369245A (zh) | 一种实现存储器缺陷映射表的***和方法 | |
CN108062201A (zh) | 用于固态驱动器的自虚拟化闪速存储器 | |
US20220391318A1 (en) | Storage device and operating method thereof | |
CN109324980A (zh) | 一种l2p表管理方法、数据读取方法、装置及设备 | |
CN110389721A (zh) | 半导体存储器模块和包括其的存储器*** | |
CN106919342A (zh) | 基于自动精简配置的存储资源分配方法和装置 | |
CN110968527B (zh) | Ftl提供的缓存 | |
CN115079957B (zh) | 请求处理方法、装置、控制器、设备及存储介质 | |
US11861222B2 (en) | Object management in tiered memory systems | |
CN115357522A (zh) | 分层存储器***中的对象管理 | |
CN110349611A (zh) | 半导体存储器模块和存储器*** | |
CN108089820A (zh) | 一种混合使用mram和dram的存储装置 | |
CN114489487A (zh) | 一种数据存储保护方法及*** | |
CN100533364C (zh) | 广义闪存及其方法 | |
CN115359830B (zh) | Scm介质存储模块的读方法写方法,以及存储控制器 | |
JPS5918786B2 (ja) | 階層構成メモリ・システム | |
US20220197537A1 (en) | Object management in tiered memory systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |