TWI631569B - 用於解決動態隨機存取記憶體缺陷之系統,方法及電腦程式 - Google Patents
用於解決動態隨機存取記憶體缺陷之系統,方法及電腦程式 Download PDFInfo
- Publication number
- TWI631569B TWI631569B TW105140189A TW105140189A TWI631569B TW I631569 B TWI631569 B TW I631569B TW 105140189 A TW105140189 A TW 105140189A TW 105140189 A TW105140189 A TW 105140189A TW I631569 B TWI631569 B TW I631569B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- dram
- cache
- invalid
- codeword
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- 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/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1012—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 codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1064—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 cache or content addressable memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1072—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 multilevel memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明揭示用於解決動態隨機存取記憶體(DRAM)缺陷之系統、方法及電腦程式。一個實施例為包含電耦接至一系統單晶片(SoC)之一動態隨機存取記憶體(DRAM)系統的一系統。該SoC包含一快取及一快取控制器。該快取控制器經組態以將與該DRAM相關聯之一失效實體碼字位址的經校正資料儲存於該快取中,且自該快取而非該DRAM系統提供對該失效實體碼字位址的進一步存取。
Description
本案係關於用於解決動態隨機存取記憶體缺陷之系統、方法及電腦程式。
動態隨機存取記憶體(DRAM)製造程序技術持續按比例縮小以適應對較小晶片中之較大記憶容量的不斷增加的需求。DRAM程序技術之常見量度為半間距,其係指DRAM晶片中之單元之間的距離之一半。當前DRAM程序技術產生具有在20至30奈米(nm)之範圍內的半間距之DRAM晶片,但預期在不遠的將來,程序技術之改良將按比例縮小至小於20nm。
雖然密度較大的DRAM晶片提供合乎需要之效能及設計優點,但收縮之幾何結構產生諸多挑戰。舉例而言,隨著DRAM程序技術持續按比例縮小,將存在單元電容之成比例減小,其增大單元電晶體洩漏。跨越DRAM晶粒之單元保留的正常分佈將不緊固,且總體上其將持續展現「尾部」,其中一些單元具有與均值相比在單元保留方面之顯著變化。將資料可靠地維護在此等「尾部」中可能需要再新頻率的顯著增大,或替代地,諸如區塊錯誤校正的錯誤復原方案。可能需要區塊錯誤校正連同再新一起
對儲存在DRAM中之資料進行讀取、校正、寫入。在後一情況中,歷經裝置之生命週期的耗損可能導致錯誤之累積。校正DRAM上之多個同時存在之錯誤需要大量矽面積。此外,增大再新之頻率不利地影響可用的記憶體頻寬,且亦升高備用功率消耗。
因此,需要提供有成本效益且有效之方式以解決有缺陷的DRAM單元之問題的經改良之系統及方法,在DRAM程序技術持續按比例縮小的情況下尤為如此。
揭示用於解決動態隨機存取記憶體(DRAM)缺陷之系統、方法及電腦程式。一個實施例為包含電耦接至一系統單晶片(SoC)之一動態隨機存取記憶體(DRAM)系統的一系統。該SoC包含一快取及一快取控制器。該快取控制器經組態以將與該DRAM相關聯之一失效實體碼字位址的經校正資料儲存於該快取中,且自該快取而非該DRAM系統提供對該失效實體碼字位址的進一步存取。
另一實施例為一種用於解決動態隨機存取記憶體(DRAM)缺陷的方法。該方法包含識別在電耦接至一系統單晶片(SoC)之一動態隨機存取記憶體(DRAM)中的一失效實體碼字位址。自該DRAM提取與該失效實體碼字位址相關聯之錯誤經校正資料。該錯誤經校正資料儲存在駐存於該SoC上之一快取中。由該快取而非該DRAM服務針對該失效實體碼字位址之記憶體異動。
100‧‧‧系統
102‧‧‧系統單晶片
104‧‧‧記憶體/DRAM記憶體系統
106‧‧‧中央處理單元
107‧‧‧圖形處理單元
108‧‧‧DRAM控制器
109‧‧‧數位信號處理器
110‧‧‧靜態隨機存取記憶體
111‧‧‧快取控制器
112‧‧‧唯讀記憶體
113‧‧‧系統快取
114‧‧‧儲存控制器
116‧‧‧SoC匯流排
118‧‧‧記憶體管理單元
120‧‧‧作業系統
124‧‧‧ECC模組
126‧‧‧DRAM單元陣列
130‧‧‧失效碼字位址表
132‧‧‧非揮發性記憶體
140‧‧‧不良實體位址映射
150‧‧‧錯誤經校正資料
152‧‧‧失效碼字位址
160‧‧‧DRAM子系統
204‧‧‧小鍵盤
207‧‧‧DRAM晶片
209‧‧‧記憶體組
211‧‧‧DRAM頁
213‧‧‧碼字
215‧‧‧位元
301‧‧‧碼字位址
303‧‧‧錯誤計數/資料欄位
322‧‧‧晶片上系統/SoC
328‧‧‧顯示控制器
330‧‧‧觸控螢幕控制器
334‧‧‧視訊編碼器
336‧‧‧視訊放大器
338‧‧‧視訊埠
340‧‧‧USB控制器
342‧‧‧USB埠
346‧‧‧用戶身分模組(SIM)卡
348‧‧‧數位攝影機
350‧‧‧立體聲音訊CODEC
352‧‧‧音訊放大器
354‧‧‧第一立體聲揚聲器
356‧‧‧第二立體聲揚聲器
358‧‧‧麥克風放大器
360‧‧‧麥克風
362‧‧‧調頻(FM)無線電調諧器
364‧‧‧FM天線
366‧‧‧立體聲頭戴式耳機
368‧‧‧射頻(RF)收發器
370‧‧‧RF開關
372‧‧‧RF天線
376‧‧‧麥克風
378‧‧‧振動器
380‧‧‧電源供應器
388‧‧‧網路卡
402‧‧‧參考數字
404‧‧‧參考數字
406‧‧‧參考數字
408‧‧‧參考數字
410‧‧‧參考數字
412‧‧‧參考數字
502‧‧‧行
504‧‧‧行
600‧‧‧方法
602‧‧‧區塊
604‧‧‧區塊
606‧‧‧區塊
608‧‧‧區塊
700‧‧‧方法
702‧‧‧區塊
704‧‧‧區塊
705‧‧‧區塊
706‧‧‧區塊
708‧‧‧區塊
800‧‧‧方法
802‧‧‧區塊
804‧‧‧區塊
806‧‧‧區塊
808‧‧‧區塊
810‧‧‧區塊
900‧‧‧圖
902‧‧‧函數
904‧‧‧弱DRAM單元
1000‧‧‧方法
1006‧‧‧區塊
1008‧‧‧區塊
1100‧‧‧快取實體結構
1202‧‧‧多核心CPU
1206‧‧‧觸控螢幕顯示器
1210‧‧‧第零核心
1212‧‧‧第一核心
1214‧‧‧第N核心
在圖式中,除非另有指示,否則相同參考數字指代貫穿各種視圖之相同部件。對於諸如「102A」或「102B」之具有字母字符標示的參考數
字而言,字母字符標示可區分存在於相同圖中之兩個相同部件或元件。當參考數字意欲涵蓋所有圖式中具有相同參考數字的所有部件時,可省略參考數字之字母字符標示。
圖1為用於解決DRAM缺陷之系統的實施例之方塊圖。
圖2為說明圖1中之DRAM系統之實施例的實體架構之更詳細視圖的方塊圖。
圖3為說明用於實施用於解決圖1之系統中之DRAM缺陷的方法之某些態樣的失效碼字位址表之實施例的資料圖。
圖4為說明用於解決圖1之系統中之DRAM缺陷的方法之實施例的方塊圖。
圖5為說明圖1之系統中的不良實體位址映射之實施例的資料圖。
圖6為說明實施於圖1之系統中、用於解決DRAM缺陷的方法之實施例的流程圖。
圖7為說明用於初始化圖1之系統的方法之實施例的流程圖。
圖8為說明用於根據圖5之不良實體位址映射而調整DRAM再新率的方法之實施例的流程圖。
圖9為說明對應圖5之不良實體位址映射的例示性DRAM再新率之圖。
圖10為說明用於解決圖1之系統中之快取行分配衝突的方法之實施例的流程圖。
圖11為說明快取實體結構之實施例的資料圖,該快取實體結構包含集合/通道分割區以限制DRAM中因快取分配衝突而待儲存在快取中之失效位址的數目。
圖12為用於併有圖1之系統的攜帶型計算裝置之實施例的方塊圖。
詞「例示性」在本文中用以意謂「充當實例、例子或說明」。本文中描述為「例示性」之任何態樣不必解釋為比其他態樣更佳或更有利。
在此描述中,術語「應用程式」亦可包括具有可執行內容之檔案,諸如:目標碼、指令碼、位元組碼、標示語言檔案及修補程式。另外,本文中所提及之「應用程式」亦可包括在本質上不可執行之檔案,諸如可能需要打開的文件或需要存取的其他資料檔案。
術語「內容」亦可包括具有可執行內容之檔案,諸如:目標碼、指令碼、位元組碼、標示語言檔案及修補程式。另外,本文中所提及之「內容」亦可包括本質上不可執行之檔案,諸如可能需要打開的文件或需要存取的其他資料檔案。
如在此描述中所使用,術語「組件」、「資料庫」、「模組」、「系統」及其類似者意欲指代電腦相關實體,其為硬體、韌體、硬體與軟體之組合、軟體或執行中之軟體。舉例而言,組件可為(但不限於)在處理器上執行之處理程序、處理器、物件、可執行體、執行緒、程式及/或電腦。作為說明,在計算裝置上執行之應用程式及該計算裝置兩者皆可為組件。一或多個組件可駐存於處理程序及/或執行緒內,且組件可位於一個電腦上及/或分散於兩個或更多個電腦之間。另外,此等組件可自其上儲存有各種資料結構之各種電腦可讀媒體執行。該等組件可諸如根據具有一或多個資料封包的信號(例如,來自藉助於信號與本端系統、分散式系統中之另一組件互動及/或跨越諸如網際網路之網路而與其他系統互動的一個組件的資料)而藉助於本端及/或遠端程序通信。
在此描述中,術語「通信裝置」、「無線裝置」、「無線電話」、「無線通信裝置」與「無線手機」可互換使用。隨著第三代(「3G」)無線技術及第四代(「4G」)之出現,較大頻寬可用性使更多的攜帶型計算裝置能夠具備更多種無線能力。因此,攜帶型計算裝置可包括蜂巢式電話、傳呼機、PDA、智慧型手機、導航裝置或具有無線連接或連結之手持型電腦。
圖1說明用於解決動態隨機存取記憶體(DRAM)單元中之缺陷的系統100。系統100可實施於任何計算裝置中,包括個人電腦、工作台、伺服器或攜帶型計算裝置(PCD),諸如,蜂巢式電話、智慧型手機、攜帶型數位助理(PDA)、攜帶型遊戲控制台或平板電腦。如圖1之實施例中所說明,系統100包含電耦接至DRAM記憶體系統104及非揮發性記憶體132之系統單晶片(SoC)102。非揮發性記憶體132可包含任何非揮發性記憶體,諸如快閃記憶體、快閃驅動器、安全數位(SD)卡、固態驅動器(SSD)或其他類型。
SoC 102包含各種晶載組件,包括經由SoC匯流排116互連之一或多個記憶體用戶端、DRAM控制器108、靜態隨機存取記憶體(SRAM)110、唯讀記憶體(ROM)112及儲存控制器114。記憶體用戶端請求來自DRAM 104之記憶體資源。記憶體用戶端可包含一或多個處理單元(例如,中央處理單元(CPU)106、圖形處理單元(GPU)107、數位信號處理器(DSP)109等)、視訊編碼器或請求對DRAM系統104之讀取/寫入存取的其他用戶端。
SoC 102上之儲存控制器114電耦接至非揮發性記憶體132。儲存控制器114管理儲存於非揮發性記憶體132上之資料。DRAM控制器108經由(例如)RAM匯流排電耦接至DRAM 104。DRAM控制器108管理去至及來
自DRAM 104的資料流。DRAM控制器108通常包含用於讀取及寫入至DRAM 104的邏輯。
如大體在圖1中所說明及下文較詳細地描述,系統100使用晶載記憶體(例如,系統快取113、非快取靜態隨機存取記憶體(SRAM)等)儲存失效實體碼字位址152及與該位址相關聯之錯誤經校正資料150。失效碼字位址152及相關聯之錯誤經校正資料150可儲存在失效碼字位址表130中。當在記憶體用戶端中之任一者正存取DRAM 104(例如,讀取或寫入操作)時發生錯誤時,錯誤校正碼(ECC)模組124校正與DRAM單元陣列126相關聯之錯誤。DRAM 104可暫時儲存失效碼字位址152的錯誤經校正資料150。
如圖1之實施例中所說明,SoC 102可包含DRAM子系統160。DRAM子系統160可包含快取控制器111、晶載記憶體(例如,系統快取113)及DRAM控制器108。DRAM子系統160可維護失效碼字位址表130以供追蹤錯誤計數,該錯誤計數可用於判定實體位址在弱化及/或已失效。回應於錯誤及系統100識別出失效實體碼字位址152,快取控制器111可發指令給快取113以儲存來自失效碼字位址152之錯誤經校正資料150,且防止對失效實體碼字位址152的進一步存取。應瞭解,用於儲存錯誤經校正資料150的晶載記憶體可包含系統快取113(如圖1中所說明)或其他晶載記憶體,諸如非快取SRAM 110等。在圖1之使用系統快取113的實施例中,快取控制器111可經組態以鎖定與失效碼字位址152相關聯之快取行,使得經由系統快取113而非DRAM 104來存取錯誤經校正資料150。以此方式,應瞭解,倘若發生影響實體碼字位址152之DRAM單元缺陷,系統100可抽取正用於該位址之實體記憶體且因此經由晶載記憶體提供無錯誤
記憶體至記憶體用戶端。
在使用晶載記憶體而非系統快取113的實施例中,可產生查找表以列出儲存在晶載記憶體中的位址。DRAM控制器108針對每一異動檢查該查找表,且若存在匹配,則該異動被重導向至晶載記憶體,且不存取DRAM不良位址。此外,系統功率消耗及效能可經由識別失效位址且動態地調整儲存在晶載記憶體中之資料量的方法予以調節。
ECC模組124在DRAM操作(例如,讀取及/或寫入操作)期間偵測雙位元錯誤且校正單位元錯誤。舉例而言,在DRAM寫入操作期間,ECC模組124可使用寫入資料作為輸入,且接著產生冗餘同位檢查位元。經組合之寫入資料及同位檢查位元一起形成被稱為碼字之單元,且可分開或一起儲存在DRAM記憶體單元陣列126中。在讀取操作期間,ECC模組124可使用碼字之所擷取資料部分來重新計算同位檢查位元,且接著將此等同位檢查位元與在寫入操作期間所儲存之碼字的同位檢查位元部分進行比較。讀取的經重新計算之同位與所儲存的同位之間的失配指示所偵測到之錯誤。另外,同位檢查位元可足以在碼字內提供單個錯誤校正。
ECC模組124可整合為DRAM 104(如圖1中所展示)或SoC 102中之組件。一般熟習此項技術者將瞭解,DRAM位元錯誤可具有若干基本原因,諸如,潛在矽缺陷、電荷之粒子或電磁波中斷、或弱電容器保留,其中任一者可產生碼字錯誤。
圖2說明DRAM系統104之例示性實施例,其包含一或多個DRAM晶片207。如此項技術中所知,每一DRAM晶片207可包含複數個記憶體組209,其中每一記憶體組209界定複數個DRAM頁211。DRAM頁211包含複數個碼字213。碼字213包含DRAM單元陣列126中之複數個位元215。
圖2展示包含256位元資料且對應於實體位址(0x00000DAD0)的碼字213。
如此項技術中已知,在操作中,ECC模組124可偵測且校正失效位元,由此儘管位元失效亦實現成功的DRAM操作。ECC模組124可將錯誤資料(例如,錯誤經校正資料150)暫時儲存在(例如)DRAM 104中之揮發性暫存器/RAM中。錯誤資料可包含關於ECC失效(諸如,最新失效碼字之起點位址及錯誤是否成功地予以校正)的資訊。錯誤資料可能不可由SoC軟體直接定址,但經由DRAM控制器108查詢DRAM 104中的錯誤資料而使其可用。如上所述,當系統100判定出失效實體碼字位址152時,可自ECC模組124讀取錯誤資料。應瞭解,DRAM 104可使用專用硬體信號及/或內部讀取/寫入暫存器之組合來向SoC 102指示正在進行之異動的錯誤資訊。錯誤資訊可包含(例如)一種類型之錯誤(不論該錯誤是否經校正)及任何不可校正之錯誤。
圖3說明由系統100用以判定實體碼字位址301何時被認為已失效之失效碼字位址表130的例示性實施例。錯誤計數303可追蹤失效碼字位址301已遇到錯誤的次數。隨著新位置出錯,失效碼字位址表130中之條目的數目增大。隨著相同碼字位址301之錯誤重複,錯誤計數303遞增。如圖3中所說明,失效碼字位址表130可包含用於列出對應於失效碼字213(圖2)之實體位址的資料欄位301。資料欄位303包括失效碼字位址之累積錯誤的錯誤計數。應瞭解,錯誤計數資料欄位303可由快取控制器111或其他晶片上或晶片外組件存取以判定實體位址何時已弱化及/或失效且因此不應再予以存取。舉例而言,若碼字位址213之錯誤計數超出一預定臨限值,則在DRAM 104中之實體位置可定義為失效碼字位址152,且作為回應,快取控制器111可發指令給快取113以儲存來自失效碼字位址152之錯誤經
校正資料150且防止對失效實體碼字位址152的進一步存取。
圖4說明實施於系統100中用於使用系統快取113及快取控制器111解決DRAM缺陷之方法的實施例。如在參考數字402處所說明,DRAM控制器108可進行背景處理程序以檢測DRAM實體位址、檢查暫存器或以其他方式判定是否已發生ECC錯誤。當發生ECC錯誤時,DRAM控制器108可將中斷信號發送至快取控制器111(參考數字404)。應瞭解,快取控制器111通常包含資源管理器。快取控制器111可包含在系統快取113內之硬體邏輯、單獨硬體區塊或執行於(例如)系統超管理器上之軟體。回應於中斷信號,在參考數字406處,快取控制器111可查詢DRAM控制器108中之與失效碼字位址152相關聯的錯誤經校正資料150。快取控制器111可經組態以判定失效碼字位址152是否超出臨限值,如上文結合失效碼字位址表130(圖3)所描述。若超出臨限值或以其他方式識別為弱或失效,則該實體位址被識別為失效碼字位址152。
在參考數字408處,快取控制器111可藉由失效碼字位址152更新儲存在非揮發性記憶體132中的不良實體位址映射140。快取控制器111可直接發指令給儲存控制器114以更新不良實體位址映射140。在另一實施例中,快取控制器111可經由作業系統(O/S)120中之儲存驅動程式與儲存控制器114通信。在參考數字410處,系統快取113可自DRAM 104提取與失效碼字位址152相關聯之錯誤經校正資料150。如在參考數字412所說明,快取控制器111可經組態以鎖定與失效碼字位址152相關聯之快取行,使得經由系統快取113而非DRAM 104來存取錯誤經校正資料150。應瞭解,當鎖定快取行時,來自任何記憶體用戶端之任何清除或失效操作將不生效。快取行鎖定/解除鎖定機制由快取控制器111控制。
在另一實施例中,系統100可經組態以調整DRAM再新率,從而選擇性地控制系統功率消耗及效能。一般熟習此項技術者將瞭解,因為系統100可停用對弱及/或失效DRAM單元的存取,所以DRAM再新率可得以降低以節省系統功率消耗。系統100可經組態以判定使特定實體位址失效的DRAM再新率。基於系統效能及功率取捨,當系統100在執行高效能使用情況時,可能需要用作正常快取(亦即,未鎖定以供濾除不良DRAM存取)之系統快取113的比率較高。使用不良實體位址映射140,經由系統快取113提供之失效/不良位址鎖定/篩選機制可經控制以調整DRAM再新率,且對在該DRAM再新率下具功能性的失效碼字位址152進行解鎖。
應瞭解,受損或弱化之DRAM單元可能具有相對較高之洩漏,且因此需要比其他DRAM單元相對更高之再新率。視損壞或弱化程度而定,不同DRAM單元可在不同再新率下失效。就此而言,系統100可判定使特定實體位址失效的DRAM再新率,且將該資料儲存在不良實體位址映射140中。
圖5說明不良實體位址映射140之例示性實施例。行502可指定將使行504中所識別之碼字位址失效的DRAM再新率(例如,t1、t2、t3等)。在一實施例中,不良實體位址映射140可在啟動時間處的DRAM初始化程序期間產生。系統100可以各種再新率測試DRAM 104,且將資料儲存於非揮發性記憶體132中。在另一實施例中,不良實體位址映射140可在系統執行時間期間產生。系統100可在極低頻率下執行背景處理程序以在不同頻率點檢測及測試DRAM 104。DRAM再新率可隨著操作溫度改變而調整。行504中所識別之失效碼字位址可根據快取行及ECC碼字大小予以對準。
圖6為說明實施於圖1之系統中、用於解決DRAM缺陷的方法600之實
施例的流程圖。在區塊602處,系統100識別失效實體碼字位址152。在區塊604處,自DRAM 104提取與失效實體碼字位址152相關聯之錯誤經校正資料150。在區塊606處,將錯誤經校正資料150儲存在駐存於SoC 102上之系統快取113(或其他晶載記憶體)中。在區塊608處,系統100由系統快取113而非DRAM 104服務針對失效實體碼字位址152的進一步記憶體異動(例如,讀取或寫入操作)。
圖7為說明用於初始化系統100的方法700之實施例的流程圖。在啟動期間,在CPU 106上執行且自SRAM 110及/或ROM 112執行的啟動載入程式可開始對快取控制器111之執行(區塊702)。在區塊704處,快取控制器111讀取來自非揮發性記憶體132的不良實體位址映射140。若不良實體位址映射140不存在於非揮發性記憶體132上(決策區塊705),則系統100可以各種再新率執行對DRAM 104的檢測測試,且將資料儲存於非揮發性記憶體132中。在一實施例中,可在啟動時間處執行該檢測測試。若不良實體位址映射140已經存在,則在區塊706處,快取控制器111使用該資料來組態系統快取113以防止對對應於當前DRAM再新率之失效碼字位址的進一步存取。快取控制器111將失效碼字位址鎖定在系統快取113中。
圖8為說明用於根據圖5之不良實體位址映射140而調整DRAM再新率的方法800之實施例的流程圖。在區塊802處,系統100可設定為預設DRAM再新率(t1),且在t1下之實體位址可鎖定至系統快取113中。在決策區塊804處,系統100可判定對作為正常快取之系統快取113的利用率是否小於預判定「低」臨限值。若「否」,則該方法進行至決策區塊808。若系統快取利用率在預定「低」臨限值以下(亦即,「是」),則系統100可使用更多系統快取113以降低DRAM再新率。DRAM再新率可降低至值(t+
1),且在(t+1)下的不良實體位址可鎖定至系統快取113中。在決策區塊808處,系統100可判定對系統快取113的利用率是否大於預定「高」臨限值。若「否」,則該方法可按預定或經程式化之間隔返回至決策區塊804。若系統快取利用率大於預定「高」臨限值,則在區塊810處,系統100可踢除系統快取113中之一些鎖定快取行。在當前DRAM再新率下鎖定之實體位址可被清除且失效,且接著可將DRAM再新率增大至值(t-1)。
圖9為說明對應於圖5之不良實體位址映射的例示性DRAM再新率之直方圖的圖900。如此項技術中已知,DRAM 104可包含數十億個單元,每一單元含有週期性地再新之電容器。單元保留時間係指每一電容器在無再新的情況下可一貫且可靠地持續存在且仍在電容器上保留充足電荷以由內部DRAM電路正確地讀取(為「1」或「0」)的時間量。歸因於製造變化性,每一單元電容器之保留時間可變化,從而產生總體上為鐘形之密度函數902。DRAM 104可經組態以滿足單元保留之固定值(稱為「符合規範」),使得SoC 102或使用DRAM 104的任何其他系統可週期性地將符合規範之再新定時發佈至DRAM 104。所有DRAM單元可設計有再新持續時間的均值以符合規範。然而,歸因於變化性,可能存在需要較快再新率(以毫秒計的較短時間)的少量弱DRAM單元904。在製造及測試期間,此等弱單元904可永久地由有限數量之過度佈建(overprovisioned)的單元替換,使得整個DRAM 104具有零個弱單元904且宣告為「良好」。若有限數量之過度佈建的單元無法替換全部弱單元904,則DRAM可宣告為「不良」。
應進一步瞭解,即使對於良好DRAM亦可能出現潛在缺陷,從而導致在DRAM 104已部署於計算裝置(諸如攜帶型計算裝置1200(圖12))中之
後出現新的弱單元904。當潛在錯誤發生時,ECC模組124經設計以偵測、校正及記錄任何單元錯誤。此校正能力可延長攜帶型計算裝置1200之實際生命週期。然而,ECC模組124之校正強度可能歸因於(例如)成本原因(例如,校正強度愈大,則必須添加愈多冗餘DRAM單元以儲存同位位元)而不會校正多個錯誤,。當永久性潛在弱單元導致錯誤時,ECC模組124可能不再能夠保護免受另一錯誤。系統快取113(或其他晶載記憶體)可用作對此等失效DRAM單元的替換。參考圖5,表140中之條目對應ECC失效。行502表示產生錯誤之再新間隔設定,且行504表示DRAM104內指向失效碼字的位址。為了減少對偽錯誤(spurious error)(其並不永久存在於DRAM 104內)的偵測,可在宣告碼字位址不良之前對特定碼字位址的多個失效個例進行計數。
圖11說明具有集合/通道關聯且關聯之數目有限的快取實體結構1100之例示性實施例。在不同通道中之相同集合索引中發生的不良位址在圖11中說明為集合n。若所有集合用於鎖定不良實體位址,則系統100可能不能夠針對任務模式使用情況或可能需要相同集合索引之進一步不良實體位址鎖定而分配快取行。應瞭解,此情形可能歸因於不良實體位址之隨機性而發生,且可能產生可經由系統100予以防止的快取分配之衝突。
圖10為說明用於解決圖1之系統中之快取行分配衝突的方法1000之實施例的流程圖。應瞭解,圖10中之區塊1006等效於圖8中之區塊806。替代進行至區塊808以作出快取利用率是否高於預設定高臨限值的決策,可包括區塊1008以供作出決策。若其中鎖定之集合索引可供正常操作的快取通道之數目低於預組態可調諧通道的臨限值,則其可繞過不良位址快取鎖定,因此確保任務模式使用情況的可用集合。
如上所述,系統100可併入至任何合乎需要的計算系統中。圖12說明併入在例示性攜帶型計算裝置(PCD)1200中之系統100。應易於瞭解,系統100之某些組件包括於SoC 322(圖12)上,而其他組件(例如,DRAM 104)為耦接至SoC 322的外部組件。SoC 322可包括多核心CPU 1202。多核心CPU 1202可包括第零核心1210、第一核心1212以及第N核心1214。該等核心中之一者可包含例如圖形處理單元(GPU),而其他核心中之一或多者包含CPU。
顯示控制器328及觸控螢幕控制器330可耦接至CPU 1202。繼而,在晶載系統322外部之觸控螢幕顯示器1206可耦接至顯示控制器328及觸控螢幕控制器330。
圖12進一步展示視訊編碼器334(例如,逐行倒相(PAL)編碼器、順序傳送彩色與儲存(SECAM)編碼器或全國電視系統委員會(NTSC)編碼器)耦接至多核心CPU 602。另外,視訊放大器336耦接至視訊編碼器334及觸控螢幕顯示器1206。又,視訊埠338耦接至視訊放大器336。如圖12中所展示,通用串列匯流排(USB)控制器340耦接至多核心CPU 1202。又,USB埠342耦接至USB控制器340。記憶體104及用戶身分模組(SIM)卡346亦可耦接至多核心CPU 1202。記憶體104駐存於SoC 322上。系統快取113及快取控制器111駐存於SoC 322上。
此外,如圖12中所展示,數位攝影機348可耦接至多核心CPU 1202。在例示性態樣中,數位攝影機348為電荷耦合裝置(CCD)攝影機或互補金屬氧化物半導體(CMOS)攝影機。
如圖12中所進一步說明,立體聲音訊寫碼器-解碼器(CODEC)350可耦接至多核心CPU 1202。此外,音訊放大器352可耦接至立體聲音訊
CODEC 350。在一例示性態樣中,第一立體聲揚聲器354及第二立體聲揚聲器356耦接至音訊放大器352。圖12展示麥克風放大器358亦可耦接至立體聲音訊CODEC 350。另外,麥克風360可耦接至麥克風放大器358。在一特定態樣中,調頻(FM)無線電調諧器362可耦接至立體聲音訊CODEC 350。又,FM天線364耦接至FM無線電調諧器362。此外,立體聲頭戴式耳機366可耦接至立體聲音訊CODEC 350。
圖12進一步說明射頻(RF)收發器368可耦接至多核心CPU 1202。RF切換器370可耦接至RF收發器368及RF天線372。小鍵盤204可耦接至多核心CPU 1202。又,具有麥克風376之單聲道耳機可耦接至多核心CPU 1202。此外,振動器裝置378可耦接至多核心CPU 1202。
圖12亦展示電源供應器380可耦接至晶載系統322。在一特定態樣中,電源供應器380為直流(DC)電源供應器,其向需要電力之PCD 1200之各種組件提供電力。此外,在一特定態樣中,電源供應器為可充電DC電池或DC電源供應器,其來源於連接至交流電(AC)電源之AC至DC變壓器。
圖12進一步指示PCD 1200亦可包括可用於存取資料網路(例如,區域網路、個人區域網路或任何其他網路)之網路卡388。網路卡388可為藍芽網路卡、WiFi網路卡、個人區域網路(PAN)卡、個人區域網路超低電力技術(PeANUT)網路卡、電視/有線電視/衛星調諧器或此項技術中熟知之任何其他網路卡。此外,網路卡388可併入至晶片中,亦即,網路卡388可能為晶片中的全部解決方案,亦可能並非單獨的網路卡388。
如圖12中所描繪,觸控螢幕顯示器1206、視訊埠338、USB埠342、攝影機348、第一立體聲揚聲器354、第二立體聲揚聲器356、麥克風
360、FM天線364、立體聲頭戴式耳機366、RF開關370、RF天線372、小鍵盤374、單聲道耳機376、振動器378以及電源供應器380可在晶載系統322外部。
應瞭解,本文中所描述之方法步驟中之一或多者可作為電腦程式指令(諸如,上文所描述之模組)儲存在記憶體中。此等指令可結合或協同對應模組由任何合適之處理器執行,從而執行本文中所描述之方法。
為了讓本發明如所描述般起作用,本說明書中描述之程序或處理流程中的某些步驟自然地先於其他步驟。然而,若此類次序或順序不會更改本發明之功能性,則本發明不限於所描述之步驟的次序。亦即,應認識到,在不背離本發明之範疇及精神的情況下,一些步驟可在其他步驟之前、之後或與其並行(大體上與其同步)執行。在一些情況下,可在不背離本發明之情況下省略或不執行某些步驟。此外,諸如「此後」、「接著」、「接下來」等詞語並不意欲限制該等步驟之次序。此等詞語僅用以引導讀者閱讀例示性方法之描述。
另外,舉例而言,一般熟習程式化技術之技術者能夠基於本說明書中之流程圖及相關聯描述輕鬆地撰寫電腦程式碼或識別適當之硬體及/或電路以實施所揭示之發明。
因此,對特定一組程式碼指令或詳細硬體裝置之揭示並不視為對於充分理解如何製作及使用本發明而言為必要的。在上文之描述中且結合可說明各種處理流程之圖式更詳細地解釋所主張之電腦實施之程序的創造性功能性。
在一或多個例示性態樣中,所描述功能可在硬體、軟體、韌體或其任何組合中予以實施。若實施於軟體中,則可將功能作為一或多個指令或
程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體來傳輸。電腦可讀媒體包括電腦儲存媒體及通信媒體兩者,通信媒體包括促進電腦程式自一處傳送至另一處的任何媒體。儲存媒體可為可由電腦存取之任何可用媒體。作為實例而非限制,此類電腦可讀媒體可包含RAM、ROM、EEPROM、NAND快閃、NOR快閃、M-RAM、P-RAM、R-RAM、CD-ROM或其他光碟儲存裝置、磁碟儲存裝置或其他磁性儲存裝置、或可用以攜載或儲存呈指令或資料結構形式之所要程式碼且可由電腦存取之任何其他媒體。
又,任何連接適當地稱為電腦可讀媒體。舉例而言,若使用同軸電纜、光纖纜線、雙絞線、數位用戶線(「DSL」)或諸如紅外線、無線電及微波之無線技術自網站、伺服器或其他遠端源傳輸軟體,則同軸電纜、光纖纜線、雙絞線、DSL或諸如紅外線、無線電及微波之無線技術包括於媒體之定義中。
如本文中所使用,磁碟及光碟包括緊密光碟(「CD」)、雷射光碟、光學光碟、數位多功能光碟(「DVD」)、軟碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟用雷射以光學方式再現資料。以上各者之組合亦應包括於電腦可讀媒體之範疇內。
本發明涉及之不背離其精神及範疇的替代實施例對於一般熟習此項技術者而言將變得顯而易見。因此,雖然已詳細說明及描述了所選擇之態樣,但應理解,在不背離如以下申請專利範圍所界定的本發明之精神及範疇的情況下,可在其中進行各種取代及更改。
Claims (29)
- 一種用於解決動態隨機存取記憶體(DRAM)缺陷的系統,該系統包含:一動態隨機存取記憶體(DRAM)系統;及電耦接至該DRAM系統的一系統單晶片(SoC),該SoC包含一快取及一快取控制器,該快取控制器經組態以回應於錯誤資訊來判定該DRAM系統中的一失效實體碼字位址,該錯誤資訊與一或更多個記憶體用戶端的記憶體存取請求相關聯,該快取控制器經組態以將該失效實體碼字位址的經校正資料儲存於該快取中的一相關聯位址中及鎖定對應於該相關聯位址的一快取行以防止來自該一或更多個記憶體用戶端的清除操作生效,該快取控制器經組態以藉由存取該快取中的該相關聯位址而非該DRAM系統中的該失效實體碼字位址,來回應一記憶體用戶端所提之相關聯於該失效實體碼字位址的一記憶體存取請求,該快取控制器進一步經組態以解除鎖定對應於該相關聯位址的該快取行並按照失效實體位址的數目來動態調整一DRAM再新率,該調整動作是藉由回應於與該DRAM系統中之失效碼字位址相關聯的該快取中之相關聯位址的增加而減少該DRAM再新率。
- 如請求項1之系統,其中該快取控制器經進一步組態以自該DRAM系統提取該經校正資料。
- 如請求項1之系統,其進一步包含用於偵測且校正與該失效碼字位址相關聯之一或多個位元錯誤的一錯誤校正碼(ECC)模組。
- 如請求項1之系統,其中該快取控制器藉由判定與該失效實體碼字位址相關聯之錯誤的一數目超出一錯誤計數臨限值而判定該失效實體碼字位址。
- 如請求項1之系統,其中該快取控制器經進一步組態以藉由該失效實體碼字位址更新儲存在一非揮發性記憶體中之一不良實體位址映射。
- 如請求項1之系統,其實施於一攜帶型計算裝置中。
- 一種用於解決動態隨機存取記憶體(DRAM)缺陷的方法,該方法包含:回應於與一或更多個記憶體用戶端所起始的記憶體異動相關聯的錯誤資訊,識別電耦接至一系統單晶片(SoC)之一動態隨機存取記憶體(DRAM)中的一失效實體碼字位址;自該DRAM提取與該失效實體碼字位址相關聯之錯誤經校正資料;將該錯誤經校正資料儲存在駐存於該SoC上之一快取中的一相關聯位址中,該快取中的該相關聯位址與該失效實體碼字位址相關聯;鎖定對應於該相關聯位址的一快取行,以防止來自該一或更多個記憶體用戶端的清除操作生效;由該快取中的該相關聯位址,而非該DRAM中的該失效實體碼字位址,來服務針對該失效實體碼字位址之一記憶體異動;解除鎖定對應於相關聯位址的該快取行;及按照失效實體位址的數目來動態調整一DRAM再新率,該調整動作是藉由回應於與該DRAM中之失效碼字位址相關聯的該快取中之相關聯位址的增加而減少該DRAM再新率。
- 如請求項7之方法,其中該識別該失效實體碼字位址包含:判定與該失效實體碼字位址相關聯之錯誤的一數目超出一錯誤計數臨限值。
- 如請求項7之方法,其中該識別該失效實體碼字位址包含:接收來自一DRAM控制器之一中斷信號。
- 如請求項7之方法,其進一步包含:一錯誤校正碼(ECC)模組偵測且校正與該失效碼字位址相關聯之一或多個位元錯誤;及將該錯誤經校正資料儲存於該DRAM中。
- 如請求項7之方法,其進一步包含:將該失效實體碼字位址儲存在一非揮發性記憶體中之一不良實體位址映射中。
- 如請求項7之方法,其中該記憶體異動包含一讀取或寫入操作中之一者。
- 如請求項7之方法,其中該錯誤經校正資料儲存在一快取行中。
- 如請求項7之方法,其中該DRAM及該SoC併入於一攜帶型計算裝置中。
- 一種用於解決動態隨機存取記憶體(DRAM)缺陷的系統,該系統包含:用於回應於錯誤資訊來識別一動態隨機存取記憶體(DRAM)中之一失效實體碼字位址的構件,該DRAM電耦接至一系統單晶片(SoC),該錯誤資訊與一或更多個記憶體用戶端所起始的記憶體異動相關聯;用於自該DRAM提取與該失效實體碼字位址相關聯之錯誤經校正資料的構件;用於將該錯誤經校正資料儲存在駐存於該SoC上之一快取中的一相關聯位址中的構件,該快取中的該相關聯位址與該失效實體碼字位址相關聯;用於鎖定對應於該相關聯位址的一快取行的構件,用以防止來自該一或更多個記憶體用戶端的清除操作生效;用於由該快取中的該相關聯位址而非該DRAM中的該失效實體碼字位址來服務針對該失效實體碼字位址之記憶體異動的構件;用於解除鎖定對應於相關聯位址的該快取行的構件;及用於按照失效實體位址的數目來動態調整一DRAM再新率的構件,該調整動作是藉由回應於與該DRAM中之失效碼字位址相關聯的該快取中之相關聯位址的增加而減少該DRAM再新率。
- 如請求項15之系統,其中用於識別該失效實體碼字位址的該構件包含一快取控制器。
- 如請求項16之系統,其中該快取控制器經組態以接收來自一DRAM控制器之一中斷信號。
- 如請求項15之系統,其中用於識別該失效實體碼字位址的該構件包含:用於判定與該失效實體碼字位址相關聯之錯誤的一數目超出一錯誤計數臨限值的構件。
- 如請求項15之系統,其進一步包含:用於偵測且校正與該失效碼字位址相關聯之一或多個位元錯誤的構件;及用於儲存該錯誤經校正資料的構件。
- 如請求項15之系統,其進一步包含:用於將該失效實體碼字位址儲存在一不良實體位址映射中的非揮發性記憶體構件。
- 如請求項15之系統,其中該記憶體異動包含一讀取或寫入操作中之一者。
- 如請求項15之系統,其中該錯誤經校正資料儲存在一快取行中。
- 如請求項15之系統,其併入於一攜帶型計算裝置中。
- 一種實施於一記憶體中且可由一處理器執行之用於解決動態隨機存取記憶體(DRAM)缺陷的電腦程式,該電腦程式包含經組態以執行以下操作之邏輯:回應於與一或更多個記憶體用戶端所起始的記憶體異動相關聯的錯誤資訊,識別電耦接至一系統單晶片(SoC)之一動態隨機存取記憶體(DRAM)中的一失效實體碼字位址;自該DRAM提取與該失效實體碼字位址相關聯之錯誤經校正資料;將該錯誤經校正資料儲存在駐存於該SoC上之一快取中的一相關聯位址中,該快取中的該相關聯位址與該失效實體碼字位址相關聯;鎖定對應於該相關聯位址的一快取行,以防止來自該一或更多個記憶體用戶端的清除操作生效;由該快取中的該相關聯位址,而非該DRAM中的該失效實體碼字位址,來服務針對該失效實體碼字位址之記憶體異動;解除鎖定對應於相關聯位址的該快取行;及按照失效實體位址的數目來調整一DRAM再新率,該調整動作是藉由回應於與該DRAM中之失效碼字位址相關聯的該快取中之相關聯位址的增加而減少該DRAM再新率。
- 如請求項24之電腦程式,其中經組態以識別該失效實體碼字位址的該邏輯包含經組態以判定與該失效實體碼字位址相關聯之錯誤的一數目超出一錯誤計數臨限值的邏輯。
- 如請求項24之電腦程式,其中經組態以識別該失效實體碼字位址的該邏輯包含經組態以接收來自一DRAM控制器之一中斷信號的邏輯。
- 如請求項24之電腦程式,其進一步包含:經組態以將該失效實體碼字位址儲存在一非揮發性記憶體中之一不良實體位址映射中的邏輯。
- 如請求項24之電腦程式,其中該錯誤經校正資料儲存在一快取行中。
- 如請求項24之電腦程式,其併入於一攜帶型計算裝置中。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/970,273 US9928924B2 (en) | 2015-12-15 | 2015-12-15 | Systems, methods, and computer programs for resolving dram defects |
| US14/970,273 | 2015-12-15 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201729214A TW201729214A (zh) | 2017-08-16 |
| TWI631569B true TWI631569B (zh) | 2018-08-01 |
Family
ID=57485931
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW105140189A TWI631569B (zh) | 2015-12-15 | 2016-12-06 | 用於解決動態隨機存取記憶體缺陷之系統,方法及電腦程式 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9928924B2 (zh) |
| EP (1) | EP3391220B1 (zh) |
| CN (1) | CN108369545A (zh) |
| TW (1) | TWI631569B (zh) |
| WO (1) | WO2017105757A1 (zh) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10395748B2 (en) * | 2016-06-15 | 2019-08-27 | Micron Technology, Inc. | Shared error detection and correction memory |
| US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
| US10901868B1 (en) * | 2017-10-02 | 2021-01-26 | Marvell Asia Pte, Ltd. | Systems and methods for error recovery in NAND memory operations |
| US10269445B1 (en) * | 2017-10-22 | 2019-04-23 | Nanya Technology Corporation | Memory device and operating method thereof |
| KR20190048132A (ko) * | 2017-10-30 | 2019-05-09 | 삼성전자주식회사 | 페일 어드레스의 중복 프로그램을 방지하기 위한 메모리 장치 및 그것의 동작 방법 |
| CN111863059A (zh) * | 2019-04-29 | 2020-10-30 | 上海磁宇信息科技有限公司 | 具有动态冗余功能的mram芯片 |
| US11086791B2 (en) * | 2019-08-29 | 2021-08-10 | Micron Technology, Inc. | Methods for supporting mismatched transaction granularities |
| US20220076726A1 (en) * | 2020-09-04 | 2022-03-10 | Micron Technology, Inc. | Methods and apparatus for probabilistic refresh in volatile memory devices |
| US11948625B2 (en) | 2021-09-09 | 2024-04-02 | Winbond Electronics Corporation | Systems on chips, memory circuits, and methods for accessing data in a memory circuit directly using a transistor-level operation signal |
| CN114116355B (zh) * | 2021-11-30 | 2025-06-17 | 新华三技术有限公司合肥分公司 | 内存测试方法、装置及电子设备 |
| US12019870B2 (en) * | 2022-11-07 | 2024-06-25 | International Business Machines Corporation | System wide memory technology over-provisioning |
| US20250103479A1 (en) * | 2023-09-27 | 2025-03-27 | Qualcomm Incorporated | Dynamic Random-Access Memory (DRAM) Efficiency Calculation and Utilization of Last Level Cache (LLC) |
| CN121070678A (zh) * | 2024-05-28 | 2025-12-05 | 深圳市中兴微电子技术有限公司 | 随机存储器ram错误校验码ecc故障屏蔽方法及装置 |
| US20250383947A1 (en) * | 2024-06-17 | 2025-12-18 | Advanced Micro Devices, Inc. | Per row activation counting error handling |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW504692B (en) * | 2001-04-20 | 2002-10-01 | Geneticware Co Ltd | Method and architecture for DRAM defect management and status display |
| US20050022066A1 (en) * | 1999-07-16 | 2005-01-27 | Broadcom Corporation | Apparatus and method for managing memory defects |
| 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 |
| US7809920B2 (en) * | 2006-02-10 | 2010-10-05 | Hitachi, Ltd. | Information processor with memory defect repair |
| US20140281677A1 (en) * | 2013-03-18 | 2014-09-18 | Kabushiki Kaisha Toshiba | Error correction method and device and information storing device |
| US20150186198A1 (en) * | 2014-01-02 | 2015-07-02 | Qualcomm Incorporated | Bit remapping system |
| US20150243373A1 (en) * | 2014-02-23 | 2015-08-27 | Qualcomm Incorporated | Kernel masking of dram defects |
| US9432298B1 (en) * | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7805658B2 (en) | 2007-02-12 | 2010-09-28 | International Business Machines Corporation | DRAM Cache with on-demand reload |
| US11119857B2 (en) * | 2012-09-18 | 2021-09-14 | Mosys, Inc. | Substitute redundant memory |
| US9256527B2 (en) * | 2010-07-27 | 2016-02-09 | International Business Machines Corporation | Logical to physical address mapping in storage systems comprising solid state memory devices |
| US8904115B2 (en) * | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
| US20120243299A1 (en) | 2011-03-23 | 2012-09-27 | Jeng-Jye Shau | Power efficient dynamic random access memory devices |
| WO2013095525A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Content-aware caches for reliability |
| WO2013095533A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Fault-aware mapping for shared last level cache (llc) |
| US9679664B2 (en) * | 2012-02-11 | 2017-06-13 | Samsung Electronics Co., Ltd. | Method and system for providing a smart memory architecture |
| US9069719B2 (en) * | 2012-02-11 | 2015-06-30 | Samsung Electronics Co., Ltd. | Method and system for providing a smart memory architecture |
| US9069717B1 (en) | 2012-03-06 | 2015-06-30 | Inphi Corporation | Memory parametric improvements |
| US9037949B1 (en) | 2012-06-21 | 2015-05-19 | Rambus Inc. | Error correction in a memory device |
| US9141546B2 (en) * | 2012-11-21 | 2015-09-22 | Annapuma Labs Ltd. | System and method for managing transactions |
| US9026846B2 (en) * | 2013-03-15 | 2015-05-05 | Lsi Corporation | Data recovery in a raid controller by offloading contents of DRAM to a flash module on an SAS switch |
| US9274888B2 (en) | 2013-11-15 | 2016-03-01 | Qualcomm Incorporated | Method and apparatus for multiple-bit DRAM error recovery |
| US9262263B2 (en) | 2013-11-25 | 2016-02-16 | Qualcomm Incorporated | Bit recovery system |
| WO2015133982A1 (en) * | 2014-03-03 | 2015-09-11 | Hewlett-Packard Development Company, L.P. | Dram row sparing |
| EP2921959A1 (de) | 2014-03-18 | 2015-09-23 | Siemens Aktiengesellschaft | Verfahren und Anordnung zum effizienten Korrigieren von Ein-Bit-Fehlern |
-
2015
- 2015-12-15 US US14/970,273 patent/US9928924B2/en not_active Expired - Fee Related
-
2016
- 2016-11-17 EP EP16806391.5A patent/EP3391220B1/en active Active
- 2016-11-17 CN CN201680073088.7A patent/CN108369545A/zh active Pending
- 2016-11-17 WO PCT/US2016/062574 patent/WO2017105757A1/en not_active Ceased
- 2016-12-06 TW TW105140189A patent/TWI631569B/zh not_active IP Right Cessation
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050022066A1 (en) * | 1999-07-16 | 2005-01-27 | Broadcom Corporation | Apparatus and method for managing memory defects |
| TW504692B (en) * | 2001-04-20 | 2002-10-01 | Geneticware Co Ltd | Method and architecture for DRAM defect management and status display |
| US7809920B2 (en) * | 2006-02-10 | 2010-10-05 | Hitachi, Ltd. | Information processor with memory defect repair |
| 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 |
| US9432298B1 (en) * | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
| US20140281677A1 (en) * | 2013-03-18 | 2014-09-18 | Kabushiki Kaisha Toshiba | Error correction method and device and information storing device |
| US20150186198A1 (en) * | 2014-01-02 | 2015-07-02 | Qualcomm Incorporated | Bit remapping system |
| US20150243373A1 (en) * | 2014-02-23 | 2015-08-27 | Qualcomm Incorporated | Kernel masking of dram defects |
Also Published As
| Publication number | Publication date |
|---|---|
| US20170169902A1 (en) | 2017-06-15 |
| EP3391220B1 (en) | 2019-09-04 |
| CN108369545A (zh) | 2018-08-03 |
| US9928924B2 (en) | 2018-03-27 |
| EP3391220A1 (en) | 2018-10-24 |
| WO2017105757A1 (en) | 2017-06-22 |
| TW201729214A (zh) | 2017-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI631569B (zh) | 用於解決動態隨機存取記憶體缺陷之系統,方法及電腦程式 | |
| US9299457B2 (en) | Kernel masking of DRAM defects | |
| US9507675B2 (en) | Systems and methods for recovering from uncorrected DRAM bit errors | |
| US9436600B2 (en) | Non-volatile memory storage for multi-channel memory system | |
| US9071281B2 (en) | Selective provision of error correction for memory | |
| US20160004587A1 (en) | Method, apparatus and system for handling data error events with a memory controller | |
| EP3371702B1 (en) | Systems and methods for implementing error correcting code in a memory | |
| US10558521B2 (en) | System and method for providing predictive failure detection on DDR5 DIMMs using on-die ECC | |
| US11675645B2 (en) | System and method for tracking memory corrected errors by frequency of occurrence while reducing dynamic memory allocation | |
| US12271605B2 (en) | Storage device and operation method thereof | |
| US9983930B2 (en) | Systems and methods for implementing error correcting code regions in a memory | |
| US9645903B2 (en) | Managing failed memory modules | |
| US20150199279A1 (en) | Method and system for method for tracking transactions associated with a system memory management unit of a portable computing device | |
| US20180356994A1 (en) | Software assist memory module hardware architecture | |
| JP2019513264A (ja) | ダイナミックランダムアクセスメモリ(dram)キャッシュタグの空間効率的記憶の実現 | |
| US11392470B2 (en) | Information handling system to allow system boot when an amount of installed memory exceeds processor limit | |
| KR20230071023A (ko) | 스토리지 장치 및 이의 동작 방법 | |
| CN103270491B (zh) | 一种硬件资源保护方法和系统以及虚拟机管理器 | |
| US10461804B2 (en) | Elimination of crosstalk effects in non-volatile storage | |
| KR20140101626A (ko) | 솔리드 스테이트 드라이브의 데이터 처리 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |