TWI768047B - 記憶模組 - Google Patents
記憶模組 Download PDFInfo
- Publication number
- TWI768047B TWI768047B TW107117225A TW107117225A TWI768047B TW I768047 B TWI768047 B TW I768047B TW 107117225 A TW107117225 A TW 107117225A TW 107117225 A TW107117225 A TW 107117225A TW I768047 B TWI768047 B TW I768047B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- module
- banks
- bank
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/073—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
- G11C29/883—Masking 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
- Oscillators With Electromechanical Resonators (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
記憶模組包括:屬於第一組的多個第一記憶排;屬於第二組的多個第二記憶排;以及排映射電路,其適用於將第一記憶排之中有缺陷的第一記憶排映射到第二記憶排之中無缺陷的第二記憶排。
Description
本發明的示例性實施例涉及一種記憶模組。
由於最近廣泛使用諸如智慧型電話和平板PC(個人電腦)的移動通信終端,並且社交網路服務(SNS)和機器對機器(M2M)網路以及感測器網路的使用增加,因此資料量、產生資料的產生速率以及資料的多樣性呈幾何增加。為了處理大資料,不僅需要記憶體的高資料速率,還需要較大資料儲存容量的記憶體裝置和包括記憶體裝置的記憶模組。
當用作當前系統記憶體的DIMM(雙列直插式記憶模組)型的記憶模組被製造為具有大容量時,包括在記憶模組中的記憶體裝置的數量可以增加,這可能會導致更多的缺陷。因此,應付增加的缺陷數量的技術將是非常需要的。
本專利申請請求於2017年9月20日向韓國智慧財產權局提交的申請號為10-2017-0121049的韓國專利申請的優先權,其全部內容透過引用合併於此。
本發明的實施例針對一種即使在發生缺陷時也能夠操作的記憶模組。
在根據本發明的一個實施例中,一種記憶模組可以包括:屬於第一組的多個第一記憶排;屬於第二組的多個第二記憶排;以及排映射電路,其適用於:將所述第一記憶排之中有缺陷的第一記憶排映射到所述第二記憶排之中無缺陷的第二記憶排。
向所述第一記憶排之中所述有缺陷的第一記憶排的時脈提供被阻止,並且向所述第二記憶排之中有缺陷的第二記憶排的時脈提供可以被阻止。
向所述第二記憶排之中有缺陷的第二記憶排和未用於映射的第二記憶排的時脈提供可以被阻止。
所述記憶模組還可以包括:多個時脈閘控電路,其適用於控制向所述第一記憶排和所述第二記憶排的時脈提供。
所述記憶模組還可以包括:序列存在檢測(Serial Presence Detect,SPD),其適用於向記憶體控制器提供表示所述記憶模組的總容量等於所述第一組的總容量的資訊。
所述排映射電路可以被包括在模組控制器中,並且所述模組控制器可以包括:錯誤校正碼(ECC)產生電路,其適用於:基於將被編程到所述第一組和所述第二組的寫入資料來產生將要與將要被編程到所述第一組和所述第二組的寫入資料一起被儲存的錯誤校正碼;以及錯誤校正電路,其適用於:基於從所述第一組和所述第二組讀取的所述錯誤校正碼來校正從所述第一組和所述第二組讀取的讀取資料的錯誤。
所述模組控制器還可以包括:命令緩衝電路,其適用於緩衝將要被傳輸到所述第一組和所述第二組的命令;以及位址緩衝電路,其適用於緩衝將要被傳輸到所述第一組和所述第二組的位址。
所述記憶模組還可以包括:多個資料緩衝器,其適用於接收從記憶體控制器傳輸的寫入資料並且將接收到的寫入資料傳輸到所述模組控制器,以及接收從所述模組控制器傳輸的讀取資料並且將接收到的讀取資料傳輸到所述記憶體控制器。
所述第一記憶排和所述第二記憶排中的每一個記憶排可以包括多個記憶體裝置。
所述記憶體裝置中的每一個記憶體裝置可以為動態隨機存取記憶體(Dynamic Random-Access Memory,DRAM),以及所述記憶模組可以為雙列直插式記憶模組(Dual In-Line Memory Module,DIMM)。
根據本發明的另一個實施例,一種記憶模組可以包括:多個記憶排;以及映射電路,其適用於基於記憶排缺陷資訊來映射所述記憶排,其中向所述記憶排之中的有缺陷記憶排的時脈提供被阻止。
所述映射電路可以操作以將一個或更多個有缺陷記憶排之中低編號(lower number)的記憶排映射到一個或更多個無缺陷記憶排之中高編號(higher number)的記憶排。
所述記憶模組還可以包括:多個時脈閘控電路,其適用於控制向所述記憶排的時脈提供。
所述記憶模組還可以包括:序列存在檢測(SPD),其適用於:向記憶體控制器提供表示所述記憶模組的總容量是透過從所述記憶排的總容量中減去所述有缺陷記憶排的容量而獲得的容量的資訊。
映射電路可以被包括在模組控制器中,並且所述模組控制器可以包括:錯誤校正碼產生電路,其適用於:基於將要被編程到所述記憶排的寫入資料來產生將要與將要被編程到所述記憶排的寫入資料一起被儲存的錯誤校正碼;以及錯誤校正電路,其適用於:基於從所述記憶排中讀取的所述錯誤校正碼來校正從所述記憶排中讀取的讀取資料的錯誤。
所述模組控制器還可以包括:命令緩衝電路,其適用於緩衝將要被傳輸到所述記憶排的命令;以及位址緩衝電路,其適用於緩衝將要被傳輸到所述記憶排的位址。
所述記憶排中的每一個記憶排可以包括多個記憶體裝置。
所述記憶體裝置中的每一個記憶體裝置可以為動態隨機存取記憶體(DRAM),並且所述記憶模組可以為雙列直插式記憶模組(DIMM)。
所述記憶排可以被劃分為屬於第一組的多個第一記憶排和屬於第二組的多個第二記憶排,以及所述映射電路可以將所述第一記憶排之中有缺陷的第一記憶排映射到所述第二記憶排之中無缺陷的第二記憶排。
向所述第二記憶排之中未用於映射的第二記憶排的時脈提供可以被阻止。
根據本發明的另一實施例,一種操作記憶模組的方法可以包括:將多個記憶排分為多個第一記憶排和多個第二記憶排;以及將所述第一記憶排之中有缺陷的第一記憶排映射到所述第二記憶排之中無缺陷的第二記憶排。
該方法還可以包括:阻止向所述第一記憶排之中有缺陷的第一記憶排的時脈提供,並且阻止向所述第二記憶排之中有缺陷的第二記憶排的時脈提供。
該方法還可以包括:阻止向所述第二記憶排之中有缺陷的第二記憶排和未用於映射的第二記憶排的時脈提供。
所述記憶模組可以包括記憶體控制器,並且其中該方法還可以包括:向所述記憶體控制器提供表示所述記憶模組的總容量等於所述第一記憶排的總容量的資訊。
該方法還可以包括:基於將被編程到所述第一組和所述第二組的寫入資料來產生將要與將要被編程到所述第一記憶排和所述第二記憶排的寫入資料一起被儲存的錯誤校正碼;以及基於從所述第一記憶排和所述第二記憶排讀取的所述錯誤校正碼來校正從所述第一記憶排和所述第二記憶排讀取的讀取資料的錯誤。
該方法還可以包括:緩衝將要被傳輸到所述第一記憶排和所述第二記憶排的命令;以及緩衝將要被傳輸到所述第一記憶排和所述第二記憶排的位址。
所述記憶模組可以包括:記憶體控制器;多個時脈閘控電路,其適用於:控制向所述第一記憶排和所述第二記憶排的時脈提供;以及多個資料緩衝器,其適用於:接收從記憶體控制器傳輸的寫入資料並且將接收到的寫入資料傳輸到所述模組控制器,以及接收從所述模組控制器傳輸的讀取資料並且將接收到的讀取資料傳輸到所述記憶體控制器。
所述第一記憶排和所述第二記憶排中的每一個記憶排可以包括多個記憶體裝置。
所述記憶體裝置中的每一個記憶體裝置可以為DRAM,並且所述記憶模組可以為DIMM。
從以下結合所附圖式的描述中,本發明的這些特徵和其他特徵以及優點對於本發明所屬領域的普通技術人員而言將變得顯而易見。
1:記憶體控制器
100:記憶模組
110:模組控制器
211:錯誤校正碼產生電路
212:錯誤校正電路
220:命令緩衝電路
230:位址緩衝電路
240:時脈緩衝電路
250:排映射電路
120_0:資料緩衝器
120_1:資料緩衝器
120_2:資料緩衝器
120_3:資料緩衝器
120_4:資料緩衝器
120_5:資料緩衝器
120_6:資料緩衝器
120_7:資料緩衝器
130_0:記憶排
130_1:記憶排
130_2:記憶排
130_3:記憶排
130_4:記憶排
130_5:記憶排
130_6:記憶排
130_7:記憶排
130_8:記憶排
130_9:記憶排
130_10:記憶排
130_11:記憶排
130_12:記憶排
130_13:記憶排
130_14:記憶排
130_15:記憶排
140_0:時脈閘控電路
140_1:時脈閘控電路
140_2:時脈閘控電路
140_3:時脈閘控電路
140_4:時脈閘控電路
140_5:時脈閘控電路
140_6:時脈閘控電路
140_7:時脈閘控電路
140_8:時脈閘控電路
140_9:時脈閘控電路
140_10:時脈閘控電路
140_11:時脈閘控電路
140_12:時脈閘控電路
140_13:時脈閘控電路
140_14:時脈閘控電路
140_15:時脈閘控電路
150:序列存在檢測
CG:時脈閘控電路
CID:晶片標識
CLK:時脈
CLK_INT:內部時脈匯流排
CMD/ADD_INT:內部命令/位址匯流排
CS:晶片選擇信號
DATA:數據
DATA_INT1:內部資料匯流排
DATA_INT2:內部資料匯流排
DB:資料緩衝器
SM_BUS:系統管理匯流排
SPD:序列存在檢測
〔圖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,使得SPD 150基於映射資訊而利用關於記憶模組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個記憶排的資訊和關於它們的容量的資訊來更新SPD 150。
圖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。
根據本文中所描述的本發明的實施例,例如,透過將記憶排劃分為多個第一記憶排和多個第二記憶排並且採用排映射電路將第一記憶排之中有缺陷的第一記憶排映射到第二記憶排之中無缺陷的第二記憶排,即使當出現有缺陷記憶排時,也可以使用包括多個記憶排的記憶模組。
儘管已經關於具體實施方式描述了本發明,但是對於本領域技術人員來說顯而易見的是,可以在不脫離如所附申請專利範圍所限定的本發明的精神和範圍的情況下,進行各種改變和修改。
1:記憶體控制器
100:記憶模組
110:模組控制器
120_0:資料緩衝器
120_1:資料緩衝器
120_2:資料緩衝器
120_3:資料緩衝器
120_4:資料緩衝器
120_5:資料緩衝器
120_6:資料緩衝器
120_7:資料緩衝器
130_0:記憶排
130_1:記憶排
130_2:記憶排
130_3:記憶排
130_4:記憶排
130_5:記憶排
130_6:記憶排
130_7:記憶排
130_8:記憶排
130_9:記憶排
130_10:記憶排
130_11:記憶排
130_12:記憶排
130_13:記憶排
130_14:記憶排
130_15:記憶排
140_0:時脈閘控電路
140_1:時脈閘控電路
140_2:時脈閘控電路
140_3:時脈閘控電路
140_4:時脈閘控電路
140_5:時脈閘控電路
140_6:時脈閘控電路
140_7:時脈閘控電路
140_8:時脈閘控電路
140_9:時脈閘控電路
140_10:時脈閘控電路
140_11:時脈閘控電路
140_12:時脈閘控電路
140_13:時脈閘控電路
140_14:時脈閘控電路
140_15:時脈閘控電路
150:序列存在檢測
CG:時脈閘控電路
CLK:時脈
CMD/ADD_INT:內部命令/位址匯流排
CS:晶片選擇信號
DATA:數據
DATA_INT1:內部資料匯流排
DATA_INT2:內部資料匯流排
DB:資料緩衝器
SM_BUS:系統管理匯流排
SPD:序列存在檢測
Claims (10)
- 一種記憶模組,包括:多個第一記憶排,所述多個第一記憶排共用一第一晶片選擇信號且所述多個第一記憶排具有不同的晶片標識;多個第二記憶排,所述多個第二記憶排共用一第二晶片選擇信號且所述多個第二記憶排具有不同的晶片標識;以及排映射電路,其適用於將該第一晶片選擇信號映射至該第二晶片選擇信號,且改變所述第一記憶排之中有缺陷的第一記憶排的晶片標示,以將所述第一記憶排之中有缺陷的第一記憶排映射到所述第二記憶排之中無缺陷的第二記憶排。
- 如請求項1所述的記憶模組,其中,向所述第一記憶排之中所述有缺陷的第一記憶排的時脈提供被阻止,以及其中,向所述第二記憶排之中有缺陷的第二記憶排的時脈提供被阻止。
- 如請求項1所述的記憶模組,其中,向所述第二記憶排之中有缺陷的第二記憶排和未用於映射的第二記憶排的時脈提供被阻止。
- 如請求項2所述的記憶模組,還包括:多個時脈閘控電路,其適用於控制向所述第一記憶排和所述第二記憶排的時脈提供。
- 如請求項1所述的記憶模組,還包括:序列存在檢測(Serial Presence Detect,SPD),其適用於向記憶體控制器提供表示所述記憶模組的總容量等於所述第一組的總容量的資訊。
- 如請求項1所述的記憶模組,其中,所述排映射電路被包括在模組控制器中,並且所述模組控制器包括:錯誤校正碼產生電路,其適用於:基於將要被編程到所述第一組和所述第二組的寫入資料來產生將要與將要被編程到所述第一組和所述第二組的寫入資料一起被儲存的錯誤校正碼;以及錯誤校正電路,其適用於:基於從所述第一組和所述第二組讀取的所述錯誤校正碼來校正從所述第一組和所述第二組讀取的讀取資料的錯誤。
- 如請求項6所述的記憶模組,其中,所述模組控制器還包括:命令緩衝電路,其適用於緩衝將要被傳輸到所述第一組和所述第二組的命令;以及位址緩衝電路,其適用於緩衝將要被傳輸到所述第一組和所述第二組的位址。
- 如請求項6所述的記憶模組,還包括:多個資料緩衝器,其適用於接收從記憶體控制器傳輸的寫入資料並且將接收到的寫入資料傳輸到所述模組控制器,以及接收從所述模組控制器傳輸的讀取資料並且將接收到的讀取資料傳輸到所述記憶體控制器。
- 如請求項1所述的記憶模組,其中,所述第一記憶排和所述第二記憶排中的每一個記憶排包括多個記憶體裝置。
- 如請求項9所述的記憶模組,其中,所述記憶體裝置中的每一個記憶體裝置為動態隨機存取記憶體(Dynamic Random-Access Memory,DRAM),以及 所述記憶模組為雙列直插式記憶模組(Dual In-Line Memory Module,DIMM)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170121049A KR20190032793A (ko) | 2017-09-20 | 2017-09-20 | 메모리 모듈 |
KR10-2017-0121049 | 2017-09-20 | ||
??10-2017-0121049 | 2017-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201923572A TW201923572A (zh) | 2019-06-16 |
TWI768047B true TWI768047B (zh) | 2022-06-21 |
Family
ID=65720291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107117225A TWI768047B (zh) | 2017-09-20 | 2018-05-21 | 記憶模組 |
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200015233A (ko) * | 2018-08-03 | 2020-02-12 | 삼성전자주식회사 | 불휘발성 메모리 장치들을 포함하는 반도체 메모리 모듈 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200917262A (en) * | 2007-08-14 | 2009-04-16 | Dell Products Lp | Method for creating a memory defect map and optimizing performance using the memory defect map |
US20140101382A1 (en) * | 2012-10-10 | 2014-04-10 | Rambus Inc. | Data buffer with a strobe-based primary interface and a strobe-less secondary interface |
TW201539462A (zh) * | 2011-11-29 | 2015-10-16 | Kingtiger Technology Canada Inc | 用於測試及組裝記憶體模組之系統及方法 |
US20150363287A1 (en) * | 2014-06-11 | 2015-12-17 | International Business Machines Corporation | Bank-level fault management in a memory system |
US20160147623A1 (en) * | 2014-11-20 | 2016-05-26 | Samsung Electronics Co., Ltd. | Rank and page remapping logic in a volatile memory |
TW201732831A (zh) * | 2016-01-19 | 2017-09-16 | 美光科技公司 | 用以支援記憶體錯誤校正之非揮發性記憶體模組架構 |
Family Cites Families (5)
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 |
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 |
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) 발생 회로를 갖는 반도체 장치 |
-
2017
- 2017-09-20 KR KR1020170121049A patent/KR20190032793A/ko unknown
-
2018
- 2018-05-15 US US15/980,275 patent/US10713137B2/en active Active
- 2018-05-21 TW TW107117225A patent/TWI768047B/zh active
- 2018-08-10 CN CN201810906556.5A patent/CN109522149B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200917262A (en) * | 2007-08-14 | 2009-04-16 | Dell Products Lp | Method for creating a memory defect map and optimizing performance using the memory defect map |
TW201539462A (zh) * | 2011-11-29 | 2015-10-16 | Kingtiger Technology Canada Inc | 用於測試及組裝記憶體模組之系統及方法 |
US20140101382A1 (en) * | 2012-10-10 | 2014-04-10 | Rambus Inc. | Data buffer with a strobe-based primary interface and a strobe-less secondary interface |
US20150363287A1 (en) * | 2014-06-11 | 2015-12-17 | International Business Machines Corporation | Bank-level fault management in a memory system |
US20160147623A1 (en) * | 2014-11-20 | 2016-05-26 | Samsung Electronics Co., Ltd. | Rank and page remapping logic in a volatile memory |
TW201732831A (zh) * | 2016-01-19 | 2017-09-16 | 美光科技公司 | 用以支援記憶體錯誤校正之非揮發性記憶體模組架構 |
Also Published As
Publication number | Publication date |
---|---|
US10713137B2 (en) | 2020-07-14 |
KR20190032793A (ko) | 2019-03-28 |
US20190087292A1 (en) | 2019-03-21 |
TW201923572A (zh) | 2019-06-16 |
CN109522149A (zh) | 2019-03-26 |
CN109522149B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9466351B2 (en) | Semiconductor memory device and method for refreshing memory cells | |
US10671478B2 (en) | Scrubbing controllers of semiconductor memory devices, semiconductor memory devices and methods of operating the same | |
US10255989B2 (en) | Semiconductor memory devices, memory systems including the same and methods of operating the same | |
US10037244B2 (en) | Semiconductor memory devices, memory systems including the same and methods of operating memory systems | |
US10635531B2 (en) | Semiconductor memory device error correction circuit, semiconductor memory device including the same, and memory system including the same | |
CN103426467B (zh) | 存储装置、存储系统及其操作方法 | |
US9324458B2 (en) | Method and controller for receiving and outputting commands and addresses using a queue | |
CN110120243A (zh) | 半导体存储器装置、操作其的方法以及存储器系统 | |
CN107924349A (zh) | 存储器装置管芯上错误校验和纠正代码 | |
CN107039083A (zh) | 执行封装后修复操作的存储器设备 | |
US9875810B2 (en) | Self-identifying memory errors | |
US20150286529A1 (en) | Memory device having controller with local memory | |
US10846220B2 (en) | Memory system and operation method thereof | |
US20170310341A1 (en) | Efficient data path architecture for flash devices | |
US10020074B1 (en) | Nonvolatile storage circuit and semiconductor memory device including the same | |
CN111033483A (zh) | 存储器地址验证方法和使用所述方法的存储器装置 | |
US11556440B2 (en) | Memory module, memory system including the same and operation method thereof | |
US10802759B2 (en) | Memory system including memory device and memory controller, and operating method thereof | |
TWI768047B (zh) | 記憶模組 | |
US20220291836A1 (en) | Simplified high capacity die and block management | |
US11860734B2 (en) | Semiconductor memory devices and memory systems | |
US10521134B2 (en) | Memory system |