CN109522149B - 存储模块 - Google Patents

存储模块 Download PDF

Info

Publication number
CN109522149B
CN109522149B CN201810906556.5A CN201810906556A CN109522149B CN 109522149 B CN109522149 B CN 109522149B CN 201810906556 A CN201810906556 A CN 201810906556A CN 109522149 B CN109522149 B CN 109522149B
Authority
CN
China
Prior art keywords
memory
banks
module
bank
defective
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.)
Active
Application number
CN201810906556.5A
Other languages
English (en)
Other versions
CN109522149A (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.)
SK Hynix Inc
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN109522149A publication Critical patent/CN109522149A/zh
Application granted granted Critical
Publication of CN109522149B publication Critical patent/CN109522149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/1673Details of memory controller using buffers
    • 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/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • 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/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/883Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • 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
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Abstract

存储模块包括:属于第一组的多个第一存储排;属于第二组的多个第二存储排;以及排映射电路,其适用于将第一存储排之中有缺陷的第一存储排映射到第二存储排之中无缺陷的第二存储排。

Description

存储模块
相关申请的交叉引用
本申请要求于2017年9月20日提交的申请号为10-2017-0121049的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种存储模块。
背景技术
由于最近广泛使用诸如智能电话和平板PC(个人电脑)的移动通信终端,并且社交网络服务(SNS)和机器对机器(M2M)网络以及传感器网络的使用增加,因此数据量、产生数据的发生速率以及数据的多样性呈几何增加。为了处理大数据,不仅需要存储器的高数据速率,还需要较大数据储存容量的存储器件和包括存储器件的存储模块。
当用作当前系统存储器的DIMM(双列直插式存储模块)型的存储模块被制造为具有大容量时,包括在存储模块中的存储器件的数量可以增加,这可能会导致更多的缺陷。因此,应付增加的缺陷数量的技术将是非常需要的。
发明内容
本发明的实施例针对一种即使在发生缺陷时也能够操作的存储模块。
在根据本发明的一个实施例中,一种存储模块可以包括:属于第一组的多个第一存储排;属于第二组的多个第二存储排;以及排映射电路,其适用于:将所述第一存储排之中有缺陷的第一存储排映射到所述第二存储排之中无缺陷的第二存储排。
向所述第一存储排之中所述有缺陷的第一存储排的时钟提供被阻止,并且向所述第二存储排之中有缺陷的第二存储排的时钟提供可以被阻止。
向所述第二存储排之中有缺陷的第二存储排和未用于映射的第二存储排的时钟提供可以被阻止。
所述存储模块还可以包括:多个时钟门控电路,其适用于控制向所述第一存储排和所述第二存储排的时钟提供。
所述存储模块还可以包括:串行存在检测(SPD),其适用于向存储器控制器提供表示所述存储模块的总容量等于所述第一组的总容量的信息。
所述排映射电路可以被包括在模块控制器中,并且所述模块控制器可以包括:错误校正码(ECC)发生电路,其适用于:基于将被编程到所述第一组和所述第二组的写入数据来产生将要与将要被编程到所述第一组和所述第二组的写入数据一起被储存的错误校正码;以及错误校正电路,其适用于:基于从所述第一组和所述第二组读取的所述错误校正码来校正从所述第一组和所述第二组读取的读取数据的错误。
所述模块控制器还可以包括:命令缓冲电路,其适用于缓冲将要被传输到所述第一组和所述第二组的命令;以及地址缓冲电路,其适用于缓冲将要被传输到所述第一组和所述第二组的地址。
所述存储模块还可以包括:多个数据缓冲器,其适用于接收从存储器控制器传输的写入数据并且将接收到的写入数据传输到所述模块控制器,以及接收从所述模块控制器传输的读取数据并且将接收到的读取数据传输到所述存储器控制器。
所述第一存储排和所述第二存储排中的每一个存储排可以包括多个存储器件。
所述存储器件中的每一个存储器件可以为动态随机存取存储器(DRAM),以及所述存储模块可以为双列直插式存储模块(DIMM)。
根据本发明的另一个实施例,一种存储模块可以包括:多个存储排;以及映射电路,其适用于基于存储排缺陷信息来映射所述存储排,其中向所述存储排之中的有缺陷存储排的时钟提供被阻止。
所述映射电路可以操作以将一个或更多个有缺陷存储排之中低编号(lowernumber)的存储排映射到一个或更多个无缺陷存储排之中高编号(higher number)的存储排。
所述存储模块还可以包括:多个时钟门控电路,其适用于控制向所述存储排的时钟提供。
所述存储模块还可以包括:串行存在检测(SPD),其适用于:向存储器控制器提供表示所述存储模块的总容量是通过从所述存储排的总容量中减去所述有缺陷存储排的容量而获得的容量的信息。
映射电路可以被包括在模块控制器中,并且所述模块控制器可以包括:错误校正码发生电路,其适用于:基于将要被编程到所述存储排的写入数据来产生将要与将要被编程到所述存储排的写入数据一起被储存的错误校正码;以及错误校正电路,其适用于:基于从所述存储排中读取的所述错误校正码来校正从所述存储排中读取的读取数据的错误。
所述模块控制器还可以包括:命令缓冲电路,其适用于缓冲将要被传输到所述存储排的命令;以及地址缓冲电路,其适用于缓冲将要被传输到所述存储排的地址。
所述存储排中的每一个存储排可以包括多个存储器件。
所述存储器件中的每一个存储器件可以为动态随机存取存储器(DRAM),并且所述存储模块可以为双列直插式存储模块(DIMM)。
所述存储排可以被划分为属于第一组的多个第一存储排和属于第二组的多个第二存储排,以及所述映射电路可以将所述第一存储排之中有缺陷的第一存储排映射到所述第二存储排之中无缺陷的第二存储排。
向所述第二存储排之中未用于映射的第二存储排的时钟提供可以被阻止。
根据本发明的另一实施例,一种操作存储模块的方法可以包括:将多个存储排分为多个第一存储排和多个第二存储排;以及将所述第一存储排之中有缺陷的第一存储排映射到所述第二存储排之中无缺陷的第二存储排。
该方法还可以包括:阻止向所述第一存储排之中有缺陷的第一存储排的时钟提供,并且阻止向所述第二存储排之中有缺陷的第二存储排的时钟提供。
该方法还可以包括:阻止向所述第二存储排之中有缺陷的第二存储排和未用于映射的第二存储排的时钟提供。
所述存储模块可以包括存储器控制器,并且其中该方法还可以包括:向所述存储器控制器提供表示所述存储模块的总容量等于所述第一存储排的总容量的信息。
该方法还可以包括:基于将被编程到所述第一组和所述第二组的写入数据来产生将要与将要被编程到所述第一存储排和所述第二存储排的写入数据一起被储存的错误校正码;以及基于从所述第一存储排和所述第二存储排读取的所述错误校正码来校正从所述第一存储排和所述第二存储排读取的读取数据的错误。
该方法还可以包括:缓冲将要被传输到所述第一存储排和所述第二存储排的命令;以及缓冲将要被传输到所述第一存储排和所述第二存储排的地址。
所述存储模块可以包括:存储器控制器;多个时钟门控电路,其适用于:控制向所述第一存储排和所述第二存储排的时钟提供;以及多个数据缓冲器,其适用于:接收从存储器控制器传输的写入数据并且将接收到的写入数据传输到所述模块控制器,以及接收从所述模块控制器传输的读取数据并且将接收到的读取数据传输到所述存储器控制器。
所述第一存储排和所述第二存储排中的每一个存储排可以包括多个存储器件。
所述存储器件中的每一个存储器件可以为DRAM,并且所述存储模块可以为DIMM。
从以下结合附图的描述中,本发明的这些特征和其他特征以及优点对于本发明所属领域的普通技术人员而言将变得显而易见。
附图说明
图1是示出根据本发明的一个实施例的存储模块100的框图。
图2是示出图1中所示的模块控制器的框图。
图3A示出了(1)半容量方案,其是图2所示的排映射电路的映射方案。
图3B示出了图2所示的排映射电路的映射表。
图4A示出了(1)线性方案,其是图2所示的排映射电路的映射方案。
图4B示出了图2所示的排映射电路的映射表。
具体实施方式
下面将参考附图更详细地描述本发明的示例性实施例。然而,本发明可以以不同的形式实施,并且不应该被解释为限于本文中所阐述的实施例。相反,提供这些实施例是为了使本公开透彻和完整,并且将本发明的范围充分地传达给本领域技术人员。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记指代相同的部分。
在描述本公开时,当确定已知相关技术的详细描述可能使本公开的主旨模糊时,将省略其详细描述。
虽然可以使用诸如第一和第二的术语来描述各种组件,但这些组件不受术语限制,并且这些术语仅用于将组件与其他组件区分开。
本文中所使用的术语仅用于描述特定实施例的目的,而不意图限制本发明。如本文所使用的,除非上下文另外明确指出,否则单数形式也旨在包括复数形式。
应进一步理解的是,当在本说明书中使用时,术语“包括”、“包括有”、“包含”和“包含有”指明所述元件的存在并且不排除存在或添加一个或更多其他元件。如本文所使用的,术语“和/或”包括一个或更多个相关所列项目的任何组合和全部组合。
在以下描述中,阐述了许多具体细节以便提供对本发明的透彻理解。本发明可以在没有这些具体细节中的一些或全部的情况下实施。在其他情况下,为了避免不必要地混淆本发明,没有详细描述公知的工艺结构和/或工艺。
还要注意的是,在一些情况下,如对相关领域的技术人员明显的是,结合一个实施例描述的特征或元件可以单独使用或与另一个实施例的其他特征或元件组合使用,除非另有明确说明。
图1是示出根据本发明的一个实施例的存储模块100的框图。为了便于描述,图1中还示出了用于控制存储模块100的主机的存储器控制器1。
参考图1,存储模块100可以包括模块控制器110、数据缓冲器(DB)120_0至120_7、存储排130_0至130_15、时钟门控电路(CG)140_0至140_15以及串行存在检测(SPD)150。存储模块100可以是DIMM型。
存储排130_0至130_15中的每一个可以包括多个存储器件(芯片)。例如,存储排130_0至130_15中的每一个可以包括九个存储器件。在这种情况下,存储模块100可以包括总共144个存储器件(144=16×9)。在存储模块100中,可以基于存储排来执行读取操作和写入操作。例如,在写入操作中,可以在存储排130_0至130_15之中选择存储排,并且可以在选中的存储排的九个存储器件中同时执行写入操作。类似地,在读取操作中,可以在存储排130_0至130_15之中选择存储排,并且可以在选中的存储排的九个存储器件中同时执行读取操作。包括在存储排130_0至130_15中的每一个中的每一个存储器件可以是动态随机存取存储器(DRAM)、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、铁电随机存取存储器(FRAM)、磁性随机存取存储器(MRAM)等中的一个。
在写入操作期间,数据缓冲器120_0至120_7可以从存储器控制器1接收数据DATA,并将接收到的数据DATA传输至模块控制器110。在读取操作期间,数据缓冲器120_0至120_7可以从模块控制器110接收数据,并将接收到的数据传输到存储器控制器1。在图1中,“DATA_INT1”可以表示用于在存储模块100的内部中的数据缓冲器120_0至120_7与模块控制器110之间传输/接收数据的内部数据总线。
模块控制器110可以缓冲从存储器控制器1传输的命令CMD、地址ADD和时钟CLK,并将它们传输到存储排130_0至130_15中的至少一个。而且,模块控制器110可以在数据缓冲器120_0至120_7与存储排130_0至130_15之间传输数据。模块控制器110可以基于在写入操作期间从数据缓冲器120_0至120_7传输的写入数据来产生错误校正码(ECC)。而且,模块控制器110可以将写入数据和错误校正码传输到存储排130_0至130_15中的至少一个,使得写入数据和错误校正码被编程到存储排130_0至130_15的至少一个中。而且,在读取操作期间,模块控制器110可以基于从存储排130_0至130_15的至少一个中读取的错误校正码来校正从存储排130_0至130_15的至少一个中读取的读取数据的错误,并且将错误校正后的读取数据传输至数据缓冲器120_0至120_7中的至少一个。因此,数据可以通过内部数据总线DATA_INT1在数据缓冲器120_0至120_7中的至少一个与模块控制器110之间来传输。数据和错误校正码可以通过内部数据总线DATA_INT2在存储排130_0至130_15中的至少一个与模块控制器110之间传输。通过模块控制器110中的错误校正码发生操作和错误校正码操作,可以至少部分地解决由存储排130_0至130_15中包括的存储器件的容量和数量的增加而导致的错误数量的增加的问题。
模块控制器110可以将存储排130_0至130_15之中的包括缺陷的存储排映射到存储排130_0至130_15之中的另一个存储排。当在存储排130_0至130_15之中存在包括缺陷的存储排时,可以不使用存储模块100的整个部分。然而,即使在存储排130_0至130_15之中存在包括缺陷的存储排,仍然也可以通过执行模块控制器110的存储排映射操作来使用存储模块100。模块控制器110可以将存储排130_0至130_15的映射信息应用到SPD 150,使得SPD150基于映射信息而利用关于存储模块100中可用的容量的信息来更新。模块控制器110可以控制时钟门控电路140_0至140_15,以阻止将时钟CLK提供给在存储排130_0至130_15之中基于映射而决定不被使用的存储排。
时钟门控电路140_0至140_15可以控制向存储排130_0至130_15提供时钟CLK。时钟门控电路140_0至140_15可以在模块控制器110的控制下来控制向存储排130_0至130_15提供时钟CLK。例如,假设在存储模块100中仅使用存储排130_0至130_7和130_10至130_15而不使用存储排130_8和130_9,时钟门控电路140_0至140_7和140_10至140_15可以向存储排130_0至130_7和130_10至130_15提供时钟CLK,而可以阻止向存储排130_8和130_9提供时钟CLK。当阻止向存储排130_8和130_9提供时钟CLK时,存储排130_8和130_9中的电流消耗可以显著减少。图1示出了时钟门控电路140_0至140_15与存储排130_0至130_15分开存在,然而,应注意到,在所描述的实施例的变型中,时钟门控电路140_0至140_15可以设置在相应的存储排130_0至130_15内部。例如,在每个存储排130_0至130_15内部可以存在时钟门控电路140_0至140_15。
SPD 150可以储存关于存储模块100的信息。SPD 150还可以储存包括在存储模块100中的存储排的数量、关于存储模块100的容量的信息以及关于存储模块100的不同参数的信息。储存在SPD 150中的信息可以通过系统管理总线SM_BUS被施加到存储器控制器1。储存在SPD 150中的包括在存储模块100中的存储排的数量和关于存储模块100的总容量的信息可以基于模块控制器110的存储排130_0至130_15的映射结果来更新。
在图1中,内部命令CMD/地址总线ADD_INT可以在存储模块100内部传输命令CMD和地址ADD。而且,内部时钟总线CLK_INT可以在存储模块100内部传输时钟CLK。
图2是示出图1中示出的模块控制器110的示例性配置的框图。
参考图2,模块控制器110可以包括错误校正码发生电路211、错误校正电路212、命令缓冲电路220、地址缓冲电路230、时钟缓冲电路240和排映射电路250。
错误校正码发生电路211可以在写入操作期间进行操作。错误校正码发生电路211可以使用从数据缓冲器120_0至120_7中的至少一个传输的数据来产生错误校正码,并且将数据和错误校正码传输至存储排130_0至130_15中的至少一个。数据可以通过内部数据总线DATA_INT1来传输,而数据和错误校正码可以通过内部数据总线DATA_INT2来传输。
错误校正电路212可以在读取操作期间进行操作。错误校正电路212可以基于从存储排130_0至130_15中的至少一个读取的错误校正码来校正数据的错误,并且将已错误校正的数据传输到数据缓冲器120_0至120_7中的至少一个。
命令缓冲电路220可以缓冲从存储器控制器1传输的命令CMD,并且命令缓冲电路220可以缓冲从存储器控制器1传输到内部命令/地址总线CMD/ADD_INT的地址ADD。而且,时钟缓冲电路240可以缓冲从存储器控制器1传输到内部时钟总线CLK_INT的时钟CLK。存储排由排映射电路250来映射,因此在地址ADD中用于选择存储排的部分地址和在地址ADD_INT中用于选择存储排的部分地址可以不同。
排映射电路250可以将存储排130_0至130_15之中的有缺陷存储排映射到无缺陷存储排。本文中,有缺陷存储排可以是包括大量有缺陷存储单元的存储排,该有缺陷存储单元的数量在可校正缺陷数量的阈值之上。因此,有缺陷存储排包括即使通过错误校正电路212也不可再修复的缺陷。例如,排映射电路250的映射方案可以包括半容量方案或线性方案。可以分别参考图3A和图3B以及图4A和图4B来详细地描述排映射电路250的映射方案。
图3A示出了(1)排映射电路250的半容量方案。
参考图3A,存储排130_0至130_15可以包括与第零芯片选择信号CS0相对应的第一组的第一存储排130_0至130_7以及与第一芯片选择信号CS1相对应的第二组的第二存储排130_8至130_15。
当第零芯片选择信号CS0被使能时,可以基于芯片标识CID来选择第一存储排130_0至130_7。例如,当第零芯片选择信号CS0被使能并且第三芯片标识CID3被选择时,可以选择第一存储排130_3,而当第五芯片标识CID5被选择时,可以选择第一存储排130_5。芯片选择信号CS0和CS1可以是在命令信号之中用于选择存储排的命令信号。芯片标识CID可以是在地址之中用于选择存储排的部分地址。
当第一芯片选择信号CS1被使能时,可以基于芯片标识CID来选择属于第二组的第二存储排130_8至130_15。例如,当第一芯片选择信号CS1被使能并且第一芯片标识被选择时,可以选择第二存储排,并且当第三芯片标识被选择时,可以选择第二存储排。
根据半容量方案,可以使用存储排130_0至130_15的一半。换言之,根据半容量方案,可以仅使用第一存储排130_0至130_7,而可以不使用第二存储排130_8至130_15。排映射电路250可以将第一存储排130_0至130_7之中的有缺陷的第一存储排130_0和130_3映射到第二存储排130_8和130_12。第一存储排130_0可以被映射到具有相同芯片标识的第二存储排130_8。就第一存储排130_3而言,由于具有相同芯片标识的第二存储排130_11也有缺陷,因此第一存储排130_3可以被映射到无缺陷的第二存储排130_12。
排映射电路250可以控制时钟门控电路140_0至140_15以将时钟CLK提供给在映射之后实际上未使用的存储排130_1、130_2、130_4至130_7、130_8和130_12,并且用于阻止向存储排130_0、130_3、130_9至130_11和130_13至130_15的时钟提供CLK。而且,排映射电路250可以用表示仅使用总存储排之中的一半存储排的信息(即,表示使用八个存储排的信息)以及关于存储排的容量的信息来更新SPD 150。
图3B示出的排映射电路250的映射表。标记为A的存储排可以被映射到标记为B的存储排。A可以包括四个比特位,这四个比特位表示芯片选择信号CS和代表存储排的芯片标识CID。B也可以包括四个比特位,这四个比特位表示芯片选择信号CS和代表存储排的芯片标识CID。参考图3B,第一存储排130_0和130_3被映射到第二存储排130_8和130_12。
图4A示出(1)排映射电路250的线性映射方案。
参考图4A,根据线性方案,在存储排130_0至130_15之中,可以使用除了有缺陷存储排130_0、130_3、130_9和130_11之外的存储排130_1、130_2、130_4至130_8、130_10和130_12至130_15。在图4A的情况下,由于在四个存储排130_0、130_3、130_9和130_11中存在缺陷,因此可以使用12个存储排130_1、130_2、130_4至130_8、130_10和130_12至130_15。由于所使用的存储排的存储排编号需要是连续的,因此在这种情况下也可能需要由排映射电路250来执行映射操作。
排映射电路250可以将有缺陷存储排130_0、130_3、130_9和130_11之中的低编号的存储排映射到无缺陷存储排130_1、130_2、130_4至130_8、130_10和130_12至130_15中的高编号的存储排。因此,最低编号的有缺陷存储排130_0可以被映射到最高编号的无缺陷存储排130_15,并且第二最低编号的有缺陷存储排130_3可以被映射到第二最高编号的无缺陷存储排130_14,并且第三最低编号的有缺陷存储排130_9可以被映射到第三最高编号的无缺陷存储排130_13,并且第四最低编号的有缺陷存储排130_11可以被映射到第四最高编号的无缺陷存储排130_12。
排映射电路250可以控制时钟门控电路140_0至140_15以将时钟CLK提供给实际使用的存储排130_1、130_2、130_4至130_8、130_10和130_12至130_15,并且用于阻止向未使用的存储排130_0、130_3、130_9和130_11提供时钟CLK。而且,排映射电路250可以用表示仅使用12个存储排的信息和关于它们的容量的信息来更新SPD150。
图4B示出了排映射电路250的映射表。标记为A的存储排可以被映射到标记为B的存储排。A可以包括四个比特位,这四个比特位表示芯片选择信号CS和代表存储排的芯片标识CID。B也可以包括四个比特位,这四个比特位表示芯片选择信号CS和代表存储排的芯片标识CID。参考图4B,可以看出,存储排130_0被映射到存储排130_15,并且存储排130_3被映射到存储排130_14,并且存储排130_9被映射到存储排130_13,并且存储排130_11被映射到存储排130_12。
根据本文中所描述的本发明的实施例,例如,通过将存储排划分为多个第一存储排和多个第二存储排并且采用排映射电路将第一存储排之中有缺陷的第一存储排映射到第二存储排之中无缺陷的第二存储排,即使当出现有缺陷存储排时,也可以使用包括多个存储排的存储模块。
尽管已经关于具体实施方式描述了本发明,但是对于本领域技术人员来说显而易见的是,可以在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,进行各种改变和修改。

Claims (10)

1.一种存储模块,包括:
多个第一存储排,所述多个第一存储排共享第一芯片选择信号并且具有不同的芯片标识;
多个第二存储排,所述多个第二存储排共享第二芯片选择信号并且具有不同的芯片标识;以及
排映射电路,其适用于通过将第一芯片选择信号映射到第二芯片选择信号并且改变有缺陷的第一存储排的芯片标识来将所述第一存储排之中有缺陷的第一存储排映射到所述第二存储排之中无缺陷的第二存储排。
2.根据权利要求1所述的存储模块,
其中,向所述第一存储排之中所述有缺陷的第一存储排的时钟提供被阻止,以及
其中,向所述第二存储排之中有缺陷的第二存储排的时钟提供被阻止。
3.根据权利要求1所述的存储模块,其中,向所述第二存储排之中有缺陷的第二存储排和未用于映射的第二存储排的时钟提供被阻止。
4.根据权利要求2所述的存储模块,还包括:
多个时钟门控电路,其适用于控制向所述第一存储排和所述第二存储排的时钟提供。
5.根据权利要求1所述的存储模块,还包括:
串行存在检测SPD,其适用于向存储器控制器提供表示所述存储模块的总容量等于所述第一组的总容量的信息。
6.根据权利要求1所述的存储模块,其中,所述排映射电路被包括在模块控制器中,并且
所述模块控制器包括:
错误校正码发生电路,其适用于:基于将要被编程到所述第一组和所述第二组的写入数据来产生将要与将要被编程到所述第一组和所述第二组的写入数据一起被储存的错误校正码;以及
错误校正电路,其适用于:基于从所述第一组和所述第二组读取的所述错误校正码来校正从所述第一组和所述第二组读取的读取数据的错误。
7.根据权利要求6所述的存储模块,其中,所述模块控制器还包括:
命令缓冲电路,其适用于缓冲将要被传输到所述第一组和所述第二组的命令;以及
地址缓冲电路,其适用于缓冲将要被传输到所述第一组和所述第二组的地址。
8.根据权利要求6所述的存储模块,还包括:
多个数据缓冲器,其适用于接收从存储器控制器传输的写入数据并且将接收到的写入数据传输到所述模块控制器,以及接收从所述模块控制器传输的读取数据并且将接收到的读取数据传输到所述存储器控制器。
9.根据权利要求1所述的存储模块,其中,所述第一存储排和所述第二存储排中的每一个存储排包括多个存储器件。
10.根据权利要求9所述的存储模块,其中,所述存储器件中的每一个存储器件为动态随机存取存储器DRAM,以及
所述存储模块为双列直插式存储模块DIMM。
CN201810906556.5A 2017-09-20 2018-08-10 存储模块 Active CN109522149B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170121049A KR20190032793A (ko) 2017-09-20 2017-09-20 메모리 모듈
KR10-2017-0121049 2017-09-20

Publications (2)

Publication Number Publication Date
CN109522149A CN109522149A (zh) 2019-03-26
CN109522149B true CN109522149B (zh) 2022-05-27

Family

ID=65720291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810906556.5A Active CN109522149B (zh) 2017-09-20 2018-08-10 存储模块

Country Status (4)

Country Link
US (1) US10713137B2 (zh)
KR (1) KR20190032793A (zh)
CN (1) CN109522149B (zh)
TW (1) TWI768047B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200015233A (ko) * 2018-08-03 2020-02-12 삼성전자주식회사 불휘발성 메모리 장치들을 포함하는 반도체 메모리 모듈

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369247A (zh) * 2007-08-14 2009-02-18 戴尔产品有限公司 创建存储器缺陷映射表并使用该映射表优化性能的方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101842245B1 (ko) 2011-07-25 2018-03-26 삼성전자주식회사 시스템 온 칩 버스 장치 및 그에 따른 루트 클럭 게이팅 방법
US8819379B2 (en) * 2011-11-15 2014-08-26 Memory Technologies Llc Allocating memory based on performance ranking
US8724408B2 (en) * 2011-11-29 2014-05-13 Kingtiger Technology (Canada) Inc. Systems and methods for testing and assembling memory modules
US9158679B2 (en) * 2012-10-10 2015-10-13 Rambus Inc. Data buffer with a strobe-based primary interface and a strobe-less secondary interface
US9600189B2 (en) * 2014-06-11 2017-03-21 International Business Machines Corporation Bank-level fault management in a memory system
US9424173B2 (en) * 2014-10-23 2016-08-23 GlobalFoundries, Inc. Performing secure address relocation within a multi-processor system sharing a same physical memory channel to external memory
US9804920B2 (en) 2014-11-20 2017-10-31 Samsung Electronics Co., Ltd. Rank and page remapping logic in a volatile memory
US9626106B2 (en) * 2015-01-13 2017-04-18 Sandisk Technologies Llc System and method for memory command queue management and configurable memory status checking
KR102339780B1 (ko) * 2015-10-29 2021-12-15 삼성전자주식회사 칩 아이디(id) 발생 회로를 갖는 반도체 장치
US9891864B2 (en) * 2016-01-19 2018-02-13 Micron Technology, Inc. Non-volatile memory module architecture to support memory error correction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369247A (zh) * 2007-08-14 2009-02-18 戴尔产品有限公司 创建存储器缺陷映射表并使用该映射表优化性能的方法

Also Published As

Publication number Publication date
TW201923572A (zh) 2019-06-16
TWI768047B (zh) 2022-06-21
US20190087292A1 (en) 2019-03-21
KR20190032793A (ko) 2019-03-28
US10713137B2 (en) 2020-07-14
CN109522149A (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
US9466351B2 (en) Semiconductor memory device and method for refreshing memory cells
US9921980B2 (en) Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
CN107924349A (zh) 存储器装置管芯上错误校验和纠正代码
US10521141B2 (en) Memory module and method system including the same
US20150286529A1 (en) Memory device having controller with local memory
CN108074595A (zh) 存储器系统的接口方法、接口电路和存储器模块
US10713114B2 (en) Memory module and operation method of the same
CN110349613B (zh) 半导体存储系统及修复半导体存储系统的方法
US8675431B2 (en) Semiconductor memory device and defective cell relieving method
US20150033064A1 (en) Self-identifying memory errors
CN105097011A (zh) 半导体装置和存储系统
US20140241085A1 (en) Semiconductor memory device for performing disable operation using anti-fuse and method thereof
CN212675921U (zh) 存储器装置和存储器系统
CN112908396A (zh) 具有修复匹配机制的存储器装置及其操作方法
CN109522149B (zh) 存储模块
US11556440B2 (en) Memory module, memory system including the same and operation method thereof
US20210134386A1 (en) Speculative section selection within a memory device
EP3855303B1 (en) Techniques to access non-volatile memory using deck offset
CN116724355A (zh) 存储单元的访问方法、修复方法、裸片和存储芯片
CN111599392B (zh) 存储器及其操作方法
US20240021260A1 (en) Memory, memory system and operation method of memory
US9824029B2 (en) Memory device and operation method of the same
US20140098589A1 (en) Replacement of a faulty memory cell with a spare cell for a memory circuit
CN114187954A (zh) 存储器装置及其测试方法和使用方法、存储器系统

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