TWI454923B - 在具有組態以控制非揮發性記憶體存取之記憶體控制器的系統中之主記憶體及相關技術 - Google Patents
在具有組態以控制非揮發性記憶體存取之記憶體控制器的系統中之主記憶體及相關技術 Download PDFInfo
- Publication number
- TWI454923B TWI454923B TW096136068A TW96136068A TWI454923B TW I454923 B TWI454923 B TW I454923B TW 096136068 A TW096136068 A TW 096136068A TW 96136068 A TW96136068 A TW 96136068A TW I454923 B TWI454923 B TW I454923B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- volatile memory
- dram
- printed circuit
- circuit board
- Prior art date
Links
Classifications
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- 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/1694—Configuration of memory controller to different memory types
-
- 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/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Structures For Mounting Electric Components On Printed Circuit Boards (AREA)
Description
本文件大體上係關於記憶體控制器及記憶體模組。
計算系統可包括動態隨機存取記憶體(DRAM,dynamic random access memory)積體電路(IC)作為其主記憶體之部分。DRAM IC藉由將一定量電荷儲存於每一記憶體單元中之電容器上以儲存邏輯1或者邏輯0來保持資料資訊。隨時間推移且由於讀取操作,電容器上所儲存之電荷在通常被稱為漏泄之過程中耗散。為了保存DRAM電容器上之所儲存電荷,且因此維持DRAM維持其記憶內容之能力,記憶體單元中之所儲存電荷可經由再新循環而增加,再新循環有時週期性地執行。
在以下詳細描述中,陳述特定實施例之多個實例。然而,實施例可包括包括少於所有在此等實例中所陳述之詳細特徵及組合或該等詳細特徵及組合之替代的組態。
對於類似記憶體容量,動態隨機存取記憶體(DRAM)積體電路(IC)通常消耗比非揮發性記憶體積體電路更多的功率,尤其在讀取資料時。非揮發性記憶體積體電路通常不需要再新循環且因此節省功率。為了減少具有主記憶體之系統應用中的功率消耗,非揮發性記憶體積體電路可代替DRAM積體電路或作為DRAM積體電路之補充而使用。
通常,寫入存取非揮發性記憶體積體電路比寫入存取DRAM積體電路花費更多時間。諸如NOR FLASH EEPROM積體電路之一些類型的非揮發性記憶體積體電路可以改良之讀取存取時間(例如,DRAM積體電路時間的兩倍)來組態。為了解決在讀取效能與寫入效能之間的差異,可使用一資料通信協定,該資料通信協定以不同於DRAM記憶體模組之方式存取非揮發性記憶體模組。
在一組態中,非DRAM記憶體控制器及非揮發性記憶體模組可被引入至電腦系統中。由非揮發性記憶體積體電路所使用之技術在其記憶體單元之結構以及其如何將資訊儲存於單元內方面不同於動態隨機存取記憶體(DRAM)積體電路(IC)。此等差異可幫助所得電腦系統達成相對較低的功率消耗特徵。舉例而言,非揮發性記憶體積體電路通常不需要再新循環且因此節省功率。替代地或另外,其可幫助擴充系統中主記憶體之容量。
現參看圖1,說明具有雙行記憶體模組(DIMM,dual in-line memory module)之電腦系統的功能區塊圖。該電腦系統包括多處理器主機板100A。複數個處理器插口101A-101N安裝至主機板100A。處理器122A-122N可插入於此等處理器插口101A-101N中。處理器插口經由迹線102A-102N連接至互連結構103。互連結構103可僅由印刷電路板迹線組成,或其可包括其他積體電路。互連結構103可經組態以將各種處理器、記憶體及I/O一起連接於主機板內。互連結構邏輯之部分可嵌入於處理器及記憶體控制器內。
另外,經由迹線106A-106N連接至互連結構103之一或多個記憶體控制器107A-107N、117安裝至主機板100A。記憶體控制器107A-107N、117分別控制記憶體通道123A-123N、133A-133N中之每一者。在記憶體通道123A-123N、133A-133N中之每一者中的額外印刷電路板迹線110A-110N耦合於記憶體模組插口108A-108N與記憶體控制器107A-107N、117之間。
一或多個DRAM記憶體DIMM 109A-109N可由記憶體通道123A-123N中之插口108A-108N容納。諸如非揮發性隨機存取記憶體(NVRAM,non-volatile random access memory)DIMM之一或多個非DRAM DIMM 119A-119N可由記憶體通道133A-133N中之插口108A-108N容納。
另外,經由迹線104A-104N連接至互連結構103之一或多個I/O子系統105A-105N安裝至主機板100A。
另外,藉由迹線120A-120N連接至互連結構之一或多個擴充(EXP)連接器121A-121N可安裝至主機板100A。在一組態中,擴充連接器121A-121N中之一或多者用於升級主機板100A之主記憶體。
在圖1中,記憶體控制器107A-107N、117使用PCB迹線110A-110N直接耦合至每一各別記憶體通道123A-123N、133A-133N中之插口108A-108N。然而,記憶體控制器亦可經由二次記憶體控制器而間接耦合至每一記憶體通道中之插口108A-108N。
現參看圖1A,替代記憶體控制器系統代替由記憶體控制器107A-107N、117所提供之直接記憶體控制而使用。替代記憶體控制器系統包括用於若干或所有記憶體控制通道中之每一者的一或多個一次記憶體控制器(PMC,primary memory controller)113A及用於一或多個一次記憶體控制器113A中之每一者的一或多個二次記憶體控制器(SMC,secondary memory controller)112A-112N、(SNVMC)132。
一或多個一次記憶體控制器(PMC)113A經由迹線106A-106N連接至互連結構103。在此組態中,一或多個一次記憶體控制器113A間接耦合至記憶體通道123A-123N、133A-133N。一或多個一次記憶體控制器113A中之每一者經由互連迹線111A-111N連接至一或多個二次記憶體控制器(SMC)112A-112N、(SNVMC)132。
一或多個二次記憶體控制器112A-112N、132中之每一者經由印刷電路板迹線110A-110N耦合至DIM M插口108A-108N。一或多個二次記憶體控制器112A-112N可耦合至插入於記憶體通道123A-123N之DIMM插口108A-108N中之DRAM DIMM 109A-109N中的一或多者,以控制對DRAM記憶體模組之讀取及寫入存取。諸如二次非揮發性記憶體控制器之一或多個二次非DRAM記憶體控制器(SNVMC)132可耦合至插入於記憶體通道133A-133N之DIMM插口108A-108N中之非DRAM DIMM 119A-119N(諸如非揮發性記憶體(NVRAM)DIMM)中的一或多者,以控制對非DRAM記憶體模組之讀取及寫入存取。在一些實施例中,二次非DRAM記憶體控制器132為用以控制對非揮發性記憶體模組之讀取及寫入存取的二次非揮發性記憶體控制器。
現參看圖2A,說明替代多處理器系統及主機板100B。在圖2A中,圖1之外部記憶體控制器107A-107N、117移動至處理器封裝200A-200N、200P'中作為具有一或多個整合式記憶體控制器之處理器的部分。
在多處理器系統100B中,處理器插口204A-204P經由迹線102A-102N連接至互連結構103。處理器插口204A-204N亦經由迹線110A-110N連接至記憶體通道123A-123N、133A-133N。在此構造中,處理器封裝200A-200N、200P'包括一或多個處理器元件(MP,processor element)201A-201P及一整合式記憶體控制器(IMC,integrated memory controller)202A-202N、(INVMC)212。
整合式記憶體控制器(IMC)202A-202N控制對插入於記憶體通道123A-123N之DIMM插口108A-108N中之DRAM記憶體模組109A-109N的讀取及寫入存取。整合式記憶體控制器(INVMC)212控制對插入於記憶體通道133A-133N之DIMM插口108A-108N中之非DRAM記憶體模組119A-119N(諸如非揮發性記憶體模組)的讀取及寫入存取。
處理器封裝內可存在一或多個記憶體控制器。
現參看圖2B,說明另一替代多處理器系統及主機板100B'。多處理器系統及主機板100B'類似於多處理器系統及主機板100B。然而,在圖2B中,處理器封裝200P"包括具有兩個整合式記憶體控制器202P及212之一或多個處理器元件(MP)201P。
整合式記憶體控制器(IMC)202P控制對插入於耦合至處理器200P"之記憶體通道123N之DIMM插口108A-108N中之DRAM記憶體模組109A-109N的讀取及寫入存取。整合式記憶體控制器(INVMC)212控制對插入於耦合至處理器200P"之記憶體通道133N之DIMM插口108A-108N中之非DRAM記憶體模組119A-119N(諸如非揮發性記憶體模組)的讀取及寫入存取。
如先前所論述,多處理器系統100A、100B及100B'之構造可具有一或多個擴充連接器121A-121N。此等連接器可用於藉由以子卡增加記憶體容量來改良系統效能。在一些狀況下,其可幫助減小電腦系統之主記憶體的功率消耗。
在一組態中,一或多個擴充連接器121A-121N可用於升級且擴充主機板100A、100B及100B'之主記憶體。
現參看圖3A,說明用以升級具有主機板100A、100B、100B'之電腦系統中之主記憶體的子卡300。子卡300包括用以控制非DRAM型記憶體DIMM的記憶體控制器302。子卡300在本文中亦可稱為擴充板。
一或多個擴充板300經由邊緣連接器301分別連接至主機板100A、100B、100B'中之一或多個擴充主機板連接器121A-121N。非DRAM記憶體控制器302經由印刷電路板300A上之迹線306A-306N耦合至邊緣連接器301。非DRAM記憶體控制器302經由迹線303A-303N連接至非DRAM記憶體通道307A-307N中之每一者,迹線303A-303N又連接至插口304A-304N。非DRAM DIMM 305A-305N隨後插入於插口304A-304N中以擴充主記憶體,使得主記憶體中包括非DRAM型記憶體。亦即,電腦系統中之主記憶體擴充為其中具有不同類型記憶體積體電路的異質主記憶體。
現參看圖4,說明非DRAM型記憶體模組305的圖。非DRAM型記憶體模組305可插入於圖3A中所說明之擴充板300A之一或多個非DRAM記憶體通道307A-307N中的記憶體模組插口304A-304N中。
在一實施例中,非DRAM型記憶體模組305為非揮發性類型之記憶體模組。在此種狀況下,非DRAM記憶體控制器302為非揮發性記憶體控制器。詳言之,在一實施例中,非揮發性類型之記憶體模組可包括至少一NOR閘快閃電可抹除可程式化唯讀記憶體(EEPROM)積體電路。
在圖4中,非DRAM型記憶體模組305包括印刷電路板400,該印刷電路板400具有形成於其上之邊緣連接器401的墊(在DIMM之每一側上具有一者)、複數個非DRAM記憶體晶片402A-402N及複數個支援晶片403A-403N。記憶體模組305進一步包括形成於PCB 400上之複數個印刷電路板迹線(例如,印刷導線)404A-404N及406A-406L,其耦合於非DRAM記憶體晶片402A-402N與支援晶片403A-403N之間且耦合於支援晶片403A-403N與邊緣連接器401之墊之間。
在一實施例中,記憶體模組305為雙行記憶體模組(DIMM),且印刷電路板(PCB)400為DIMM PCB。非DRAM記憶體晶片402A-402N可為NOR FLASH EEPROM積體電路晶片或一些其他種類之非DRAM型記憶體積體電路晶片。
複數個支援晶片403A-403N可用於緩衝位址,及/或多路傳輸資料至非DRAM記憶體晶片402A-402N且多路分解來自非DRAM記憶體晶片402A-402N之資料。複數個支援晶片403A-403N在本文中亦可稱為複數個緩衝積體電路403。
在替代實施例中,非DRAM型記憶體積體電路402A-402N(例如,NOR Flash EEPROM)及支援晶片403A-403N可直接安裝於每一記憶體通道307A-307N中之擴充板300的印刷電路板300A上,且耦合至迹線303A-303N而無電路板400、邊緣連接器401及插口304A-304N。
現參看圖3B,替代耦合至印刷電路板插口之非DRAM型記憶體模組,非DRAM型記憶體積體電路312AA-312MN(例如,NOR Flash EEPROM)及支援晶片313A-313N如所示直接安裝於印刷電路板300B上。非DRAM記憶體控制器302亦安裝於印刷電路板300B上。支援晶片313A-313N耦合於記憶體控制器302與非DRAM型記憶體積體電路312AA-312MN之間。
在一實施例中,非DRAM型記憶體積體電路312AA-312MN為諸如NOR Flash EEPROM積體電路之非揮發性記憶體積體電路。在一組態中,對非揮發性記憶體積體電路之讀取與寫入存取係不對稱的。在此種狀況下,寫入存取非揮發性記憶體積體電路比讀取存取非揮發性記憶體積體電路花費更多的時間。諸如NOR FLASH EEPROM積體電路之一些類型的非揮發性記憶體積體電路可經組態使得讀取存取時間可減少至足以用於主記憶體中之水準。
若系統300'為擴充板,則印刷電路板300B包括插入於主機板上之擴充插口中的邊緣連接器301。在此種狀況下,記憶體控制器302可耦合至邊緣連接器301。
雖然擴充板可如先前所論述用於增加具有非揮發性記憶體之主記憶體的容量,但DRAM記憶體模組可換出非揮發性記憶體模組,且DRAM記憶體控制器可換出非揮發性記憶體控制器。
根據由發明者Kumar Ganapathy等人於2006年9月28日申請之美國臨時專利申請案60/827,421的教示,圖1之主機板100A的主記憶體可升級以在一或多個記憶體通道中以非揮發性記憶體模組換出DRAM記憶體模組。若如此做,則可由所得電腦系統達到相對較低的功率消耗特徵。在此種狀況下(見圖1),非揮發性記憶體模組119A-119N插入於各別記憶體通道133A-133N之插口108A-108N中。
在一實施例中(見圖1),具有非揮發性記憶體模組119A-119N之記憶體通道之各別記憶體控制器中的一或多者為控制對非揮發性記憶體模組119A-119N之讀取及寫入存取的非揮發性記憶體控制器117。在另一實施例中(見圖1A),記憶體通道之一或多個二次記憶體控制器可為控制對各別記憶體通道133A-133N中之非揮發性記憶體模組119A-119N之讀取及寫入存取的非揮發性記憶體控制器132。在又一實施例中(見圖2A至圖2B),多處理器系統中之一或多個處理器可用具有一或多個整合式記憶體控制器212、201P及202P之處理器封裝200P'、200P"來替換,其中之一或多者可為控制對各別記憶體通道133A-133N中之非揮發性記憶體模組119A-119N之讀取及寫入存取的非揮發性記憶體控制器212。
現參看圖6A,根據一實施例,支援積體電路晶片313說明為圖3B中所說明之支援晶片313A-313N或圖4中所說明之支援晶片403A-403N中之每一者的例子。支援積體電路晶片支援(亦即,促進)由非揮發性記憶體控制器對非揮發性類型之記憶體模組及非揮發性記憶體積體電路之讀取及寫入資料存取。
支援晶片313可包括多對一匯流排多工器602及一對多匯流排解多工器604。多對一匯流排多工器602用於將資料寫入至資料匯流排316(諸如圖3B中所說明之資料匯流排316A-316N或圖4中所說明之印刷電路板迹線406A-406L)上。一對多匯流排解多工器604可用於將資料自資料匯流排316(諸如資料匯流排316A-316N或印刷電路板迹線406A-406L)讀取至耦合至記憶體積體電路之許多資料匯流排(諸如資料匯流排314A-314N或印刷電路板迹線404A-404N)中的一者上。
現參看圖6B,根據另一實施例,支援晶片313'說明為圖3B中所說明之支援晶片313A-313N或圖4中所說明之支援晶片403A-403N中之每一者的例子。支援晶片313'可替代地包括一交叉開關606,其耦合於連接至記憶體積體電路之圖3B中的複數個資料匯流排314A-314N或圖4中的印刷電路板迹線404A-404N與諸如圖3B中所說明之資料匯流排316A-316N或圖4中所說明之印刷電路板迹線406A-406L的資料匯流排316之間。交叉開關606用於將資料自記憶體積體電路寫入至資料匯流排316或印刷電路板迹線406A-406L上。交叉開關616進一步用於自資料匯流排316或印刷電路板迹線406A-406L讀取資料,且將資料耦合至連接至記憶體積體電路之資料匯流排314A-314N或複數個印刷電路板迹線404A-404N中的一者上。
現參看圖7A,說明用於使用圖3A或圖3B中所示形式之擴充板來升級計算系統之方法的流程圖。
在區塊702,將具有記憶體控制器之擴充板插入於主機板上之擴充插口中。該記憶體控制器為控制對非DRAM型記憶體模組之讀取及寫入存取的非DRAM記憶體控制器。舉例而言,在一實施例中,非DRAM型記憶體模組為諸如NOR快閃電可抹除可程式化唯讀記憶體(EEPROM)之非揮發性類型的記憶體模組。
在區塊704,將複數個非DRAM型記憶體模組插入於擴充板之記憶體插口中。記憶體插口經由擴充板上之印刷電路板迹線耦合至記憶體控制器。
在區塊706,為了存取擴充板中之非DRAM型記憶體模組,使用用於非DRAM型記憶體模組之資料通信協定。用以存取非揮發性類型之記憶體模組的資料通信協定可不同於用以存取DRAM型記憶體模組的資料通信協定。若非揮發性記憶體模組插入於記憶體模組插口中,則用於存取非揮發性記憶體模組之資料通信協定可用於解決在讀取效能與寫入效能之間的不對稱性。
在用於存取非揮發性記憶體模組之資料通信協定中,反饋狀態控制信號自非揮發性記憶體模組傳達至記憶體控制器以減輕非揮發性記憶體模組中之抹除及寫入操作的非確定性質。藉由反饋狀態控制信號,記憶體控制器可避免當完成抹除或寫入操作時持續輪詢記憶體模組。每一反饋狀態控制信號指示記憶體模組中之記憶體等級忙或準備好另一存取,以減輕對非揮發性記憶體模組之抹除及寫入操作的非確定性質。
現參看圖7B,說明裝配印刷電路板總成之方法。
在區塊712,將非DRAM型記憶體積體電路(例如,NOR Flash EEPROM)安裝至印刷電路板,且耦合至印刷電路板之印刷電路板迹線。
在區塊714,將支援晶片亦安裝至印刷電路板上使其耦合至印刷電路板之印刷電路板迹線。
在區塊716,將非DRAM記憶體控制器亦安裝於印刷電路板上,且耦合至印刷電路板之印刷電路板迹線。
支援晶片耦合於記憶體控制器與非DRAM型記憶體積體電路之間。在一實施例中,非DRAM型記憶體積體電路為諸如NOR Flash EEPROM積體電路之非揮發性記憶體積體電路。
若印刷電路板被製造為擴充板,則印刷電路板之裝配方法可進一步包括將邊緣連接器耦合於印刷電路板上或形成於其中。在此種狀況下,非DRAM記憶體控制器可耦合至邊緣連接器。
現參看圖5,說明耦合至網際網路502之網際網路伺服器500及遠端客戶端501的方塊圖。網際網路伺服器500包括主機板100A、100B、100B',其已藉由插入於一或多個主機板擴充插口121A-121N中之擴充板300A或300B中的一或多者升級。擴充板300A中之每一者包括非揮發性記憶體模組305,其插入於一或多個新增之記憶體通道的記憶體模組插口中以升級主記憶體,使主記憶體包括非揮發性記憶體。
現在描述非揮發性記憶體模組在主記憶體中之使用實例。遠端客戶端501相對於在網際網路伺服器500上運轉之搜尋引擎來執行搜尋查詢510以搜尋資料。在此種狀況下,較寫入而言,可能會更頻繁地讀取與網際網路伺服器500相關聯的主機板100A、100B上之主記憶體512。此應用程式行為允許非揮發性記憶體模組代替DRAM記憶體模組而使用。在主機板100A、100B、100B'經升級以在其主記憶體512中包括非揮發性記憶體模組之情況下,較僅具有DRAM記憶體模組之主記憶體而言可節省功率。另外,由於非揮發性記憶體積體電路在成本上優於DRAM積體電路,因此網際網路伺服器500可以較少財力而組態有相同的主記憶體容量,或者可以相同成本受益於較高的主記憶體容量。
雖然此說明書包括許多特定細節,但此等不應解釋為對本揭示案或所主張物之範疇的限制,而應解釋為對專用於本揭示案之特定實施例之特徵的描述。在此說明書中在個別實施例之上下文中所述之某些特徵亦可在單一實施例中以組合實施。相反,在單一實施例之上下文中所述的各種特徵亦可個別地在多個實施例中或以子組合而實施。此外,儘管可在上文將特徵描述為以某些組合起作用且即使最初主張如此,但來自所主張組合之一或多個特徵在一些狀況下可自組合刪除,且所主張組合可針對子組合或子組合之變化。
已描述許多實施例。儘管如此,應理解,在不偏離本揭示案之精神及範疇的情況下可進行各種修改。其他實施例在以下申請專利範圍之範疇內。舉例而言,已將記憶體模組及記憶體插口描述為雙行記憶體模組(DIMM)及DIMM插口。然而,例如,記憶體模組及記憶體插口可具有諸如單行記憶體模組(SIMM)之其他類型的形狀因數。
100A...多處理器主機板
100B...多處理器系統及主機板
100B'...多處理器系統及主機板
101A-101N...處理器插口
102A-102N...迹線
103...互連結構
104A-104N...迹線
105A-105N...I/O子系統
106A-106N...迹線
107A-107N...記憶體控制器
108A-108N...記憶體模組插口
109A-109N...DRAM DIMM
110A-110N...印刷電路板迹線
111A-111N...互連迹線
112A-112N...二次記憶體控制器
113A...一次記憶體控制器(PMC)
117...記憶體控制器
119A-119N...非DRAM DIMM120A-120N迹線
121A-121N...擴充連接器
122A-122N...處理器
123A-123N...記憶體通道
132...二次非DRAM記憶體控制器(SNVMC)
133A-133N...記憶體通道
200A-200N...處理器封裝
200P'...處理器封裝
200P"...處理器封裝
201A-201P...處理器元件(MP)
202A-202N...整合式記憶體控制器(IMC)
202P...整合式記憶體控制器(IMC)
204A-204P...處理器插口
212...INVMC
300...子卡/擴充板
300'...系統
300A...印刷電路板
300B...印刷電路板
301...邊緣連接器
302...非DRAM記憶體控制器303A-303N迹線
304A-304N...插口
305A-305N...非DRAM DIMM
306A-306N...迹線
307A-307N...非DRAM記憶體通道
312AA-312MN...非DRAM型記憶體積體電路
313...支援積體電路晶片
313'...支援晶片
313A-313N...支援晶片
314A-314N...資料匯流排
316...資料匯流排
316A-316N...資料匯流排
400...印刷電路板
401...邊緣連接器
402A-402N...非DRAM記憶體晶片
403A-403N...支援晶片
404A-404N、406A-406L...印刷電路板迹線
500...網際網路伺服器
501...遠端客戶端
502...網際網路
510...搜尋查詢
512...主記憶體
602...多對一匯流排多工器
604...一對多匯流排解多工器
606...關交叉開
圖1為僅具有DRAM DIMM之電腦系統的功能區塊圖,其中記憶體控制器實體上與處理器分開。
圖1A為使用輔助記憶體控制器晶片之記憶體控制器之替代組態的功能區塊圖。
圖2A為具有配置於處理器內之整合式記憶體控制器之電腦系統的功能區塊圖。
圖2B為具有配置於處理器內之整合式記憶體控制器之另一電腦系統的功能區塊圖。
圖3A為能夠插入於擴充槽中具有用以控制非DRAM型記憶體DIMM之記憶體控制器之卡的功能區塊圖。
圖3B為具有記憶體控制器及安裝至記憶體控制器之非DRAM型記憶體之卡的功能區塊圖。
圖4為非DRAM型記憶體模組的功能區塊圖。
圖5為耦合至網際網路之網際網路伺服器的功能區塊圖。
圖6A至圖6B為支援積體電路之功能區塊圖。
圖7A說明用於升級計算系統之方法的流程圖。
圖7B說明用於以記憶體控制器及安裝至記憶體控制器之非DRAM型記憶體積體電路來裝配印刷電路板總成之方法的流程圖。
100A...多處理器主機板
101A-101N...處理器插口
102A-102N...迹線
103...互連結構
104A-104N...迹線
105A-105N...I/O子系統
106A-106N...迹線
107A-107N...記憶體控制器
108A-108N...記憶體模組插口
109A-109N...DRAM DIMM
110A-110N...印刷電路板迹線
117...記憶體控制器
119A-119N...非DRAM DIMM
120A-120N...迹線
121A-121N...擴充連接器
122A-122N...處理器
123A-123N、133A-133N...記憶體通道
Claims (41)
- 一種系統,其包含:一主機板,其具有處理器插口、記憶體模組插口及一或多個擴充插口,該等處理器插口之每一者經組態以收納一處理器,且該等記憶體模組插口之每一者經組態以收納一主要記憶體之一記憶體模組,每一處理器插口經由相應印刷電路板迹線耦合至一或多個動態隨機存取記憶體(DRAM)通道,該一或多個動態隨機存取記憶體通道中之每一者具有耦合至該等相應印刷電路板迹線之該等記憶體模組插口之一或多個,該一或多個擴充插口及該等處理器插口耦合至該主機板之一互連結構;及至少一擴充板,其耦合至該一或多個擴充插口之至少一個以擴充該主機板之該主要記憶體,該至少一擴充板包括至少一非DRAM記憶體通道,及一經組態以控制利用該至少一非DRAM記憶體通道之資料讀取及寫入存取的第一非DRAM記憶體控制器。
- 如請求項1之系統,其中該至少一擴充板進一步包括:在該至少一非DRAM記憶體通道中之一或多個記憶體模組插口,其耦合至該第一非DRAM記憶體控制器;及一或多個非揮發性記憶體模組,其分別插入於該或該等記憶體模組插口中。
- 如請求項2之系統,其中該至少一擴充板之該或該等記憶體模組插口為雙行記憶體模組(DIMM)插口,且該或該等非揮發性記憶體模組為非揮發性雙行記憶體模組。
- 如請求項2之系統,其中該或該等非揮發性記憶體模組之至少一記憶體設備為一NOR快閃電可抹除可程式化唯讀記憶體(EEPROM)積體電路晶片。
- 如請求項1之系統,其中該至少一擴充板進一步包括:第一非揮發性記憶體,其處於耦合至該第一非DRAM記憶體控制器之該至少一非DRAM記憶體通道中。
- 如請求項5之系統,其進一步包含:至少另一擴充板,其耦合至至少另一擴充插口以進一步擴充該系統之主記憶體,該至少另一擴充板包括:一第二非DRAM記憶體控制器,其安裝至該至少另一擴充板以控制在至少另一非DRAM記憶體通道中之資料讀取及寫入存取。
- 如請求項6之系統,其中該至少另一擴充板進一步包括:第二非揮發性記憶體,其處於耦合至該第二非DRAM記憶體控制器之該至少另一非DRAM記憶體通 道中,該第二非揮發性記憶體不同於該第一非揮發性記憶體。
- 一種裝置,包含:一印刷電路板(PCB),其具有複數個印刷電路板迹線;一記憶體控制器,其安裝於該印刷電路板上,耦接至該複數個印刷電路板迹線中之一或多者;複數個隨機可存取非揮發性記憶體積體電路,其耦合至該印刷電路板,其中該記憶體控制器平行控制該複數個隨機可存取非揮發性記憶體積體電路之至少兩個;及複數個支援積體電路,其耦合於該記憶體控制器與該複數個隨機可存取非揮發性記憶體積體電路之間,其中該複數個支援積體電路緩衝多個位址及資料、並多路傳輸資料至該複數個隨機可存取非揮發性記憶體積體電路且多路分解來自該複數個隨機可存取非揮發性記憶體積體電路之資料。
- 如請求項8之裝置,其中該複數個支援積體電路各包括:一多對一匯流排多工器,其用以將資料寫入至該印刷電路板上之一資料匯流排上;及一一對多匯流排解多工器,其用以將資料自該資料匯流排讀取至該等隨機可存取非揮發性記憶體積體電路中之一或多者中。
- 如請求項8之裝置,其中 該複數個支援積體電路各包括:一交叉(cross bar)開關,其耦合於該等記憶體積體電路與一耦合至該記憶體控制器之資料匯流排之間,該開關用以將資料自該等記憶體積體電路寫入至該資料匯流排上,該開關進一步自該資料匯流排讀取資料且將該資料耦合至該等記憶體積體電路中之一或多者中。
- 如請求項8之裝置,其中該複數個隨機可存取非揮發性記憶體積體電路係安裝至該印刷電路板且耦合至該等印刷電路板迹線中之一或多者;且該複數個支援積體電路係安裝至該印刷電路板且耦合至該等印刷電路板迹線中之一或多者。
- 如請求項8之裝置,其中該複數個隨機可存取非揮發性記憶體積體電路及該複數個支援積體電路係安裝至複數個非揮發性記憶體模組,且該印刷電路板進一步包括複數個插口,該複數個非揮發性記憶體模組插入於該等插口中。
- 如請求項8之裝置,其中該印刷電路板進一步具有一邊緣連接器以插入於一主機板上之一擴充插口中,且該記憶體控制器進一步耦合至該邊緣連接器。
- 如請求項8之裝置,其中 該複數個隨機可存取非揮發性記憶體積體電路為NOR快閃電可抹除可程式化唯讀記憶體(EEPROM)積體電路。
- 一種系統,其包含:一印刷電路板,其包括:一第一記憶體通道,其具有插入於第一複數個插口中之複數個DRAM記憶體模組;一第一記憶體控制器,其藉由具有第一複數個迹線之一第一記憶體通道匯流排耦合至該第一記憶體通道中之該第一複數個插口,該第一記憶體控制器控制對該複數個DRAM記憶體模組之存取;一第二記憶體通道,其具有插入於第二複數個插口中之第一複數個非揮發性記憶體模組,該第一複數個非揮發性記憶體模組節省功率;及一第二記憶體控制器,其藉由具有與該第一複數個迹線不同之第二複數個迹線之一第二記憶體通道匯流排耦合至該第二記憶體通道中之該第二複數個插口,該第二記憶體控制器控制對該第一複數個非揮發性記憶體模組之存取。
- 如請求項15之系統,其進一步包含:一第三記憶體通道,其具有插入於第三複數個插口中之第二複數個非揮發性記憶體模組,該第二複數個非揮發性記憶體模組不同於該第一複數個非揮發性記憶體模組,該第二複數個非揮發性記憶體模組節省功率且擴充 主記憶體之記憶體容量;及一第三記憶體控制器,其藉由具有與該第一及該第二複數個迹線不同之第三複數個迹線之一第三記憶體通道匯流排耦合至該第三記憶體通道中之該第三複數個插口,該第三記憶體控制器控制對該第二複數個非揮發性記憶體模組之存取。
- 如請求項15之系統,其進一步包含:一處理器,其耦合至該第一記憶體控制器及該第二記憶體控制器。
- 如請求項15之系統,其中該第二記憶體控制器為一二次記憶體控制器;且該系統進一步包括:一第三記憶體控制器,其耦合於該處理器與該第二記憶體控制器之間。
- 如請求項15之系統,其中該第一記憶體控制器及該第二記憶體控制器與一處理器整合至一單一封裝中,該單一封裝耦合至該第一記憶體通道及該第二記憶體通道。
- 如請求項15之系統,其中一支援一寫入存取至該第一記憶體通道中之該複數個DRAM記憶體模組的第一資料通信協定,該寫入存取不同於由一第二資料通信協定所支援之至該第二記憶體通道中之該第一複數個非揮發性記憶體模組的一寫入存取。
- 如請求項16之系統,其中一支援一寫入存取至該第一記憶體通道中之該複數個DRAM記憶體模組的第一資料通信協定,該寫入存取不同於由一第二資料通信協定所支援之至該第二記憶體通道中之該第一複數個非揮發性記憶體模組的一寫入存取,且一用以存取該第三記憶體通道中之該第二複數個非揮發性記憶體模組的第三資料通信協定不同於該用以存取該第二記憶體通道中之該第一複數個非揮發性記憶體模組的第二資料通信協定。
- 一種升級一電腦系統之方法,該方法包含:將一主要記憶體擴充板插入於一主機板之一擴充插口中以擴充該主機板之主要記憶體,該主要記憶體擴充板具有一記憶體控制器控制對非揮發性記憶體模組之讀取及寫入存取;將複數個非揮發性記憶體模組插入於該主要記憶體擴充板之記憶體模組插口中,該等記憶體模組插口藉由該主要記憶體擴充板之印刷電路板迹線而耦合至該記憶體控制器;及使用一用於非揮發性記憶體模組之資料通信協定來隨機存取該主要記憶體擴充板中之該等非揮發性記憶體模組,資料係週期性地儲存在該主要記憶體擴充板中。
- 如請求項22之方法,其中該等非揮發性記憶體模組包括NOR快閃電可抹除可程 式化唯讀記憶體(EEPROM)。
- 如請求項22之方法,其中該用以存取該等非揮發性記憶體模組之資料通信協定支援一寫入存取時間,其實質上大於動態隨機存取記憶體(DRAM)記憶體模組之寫入存取時間。
- 如請求項24之方法,其中該用以存取非揮發性記憶體模組之資料通信協定包括一指示一非揮發性記憶體模組中之記憶體之一行列何時忙於執行一操作之狀態信號。
- 如請求項24之方法,其中該用以存取非揮發性記憶體模組之資料通信協定包括一指示一非揮發性記憶體模組中之記憶體之一行列何時準備好執行一操作之狀態信號。
- 如請求項24之方法,其中該等非揮發性記憶體模組之一寫入存取時間不同於該等DRAM記憶體模組之一寫入存取時間。
- 如請求項24之方法,其中該等非揮發性記憶體模組之一讀取存取時間大體上類似於該等DRAM記憶體模組之一讀取存取時間。
- 一種裝配一印刷電路板總成之方法,該方法包含:將複數個隨機可存取非揮發性記憶體積體電路安裝至一印刷電路板上,使其耦合至該印刷電路板之印刷電路板迹線;將一非DRAM記憶體控制器安裝至該印刷電路板,使 其耦合至該印刷電路板之印刷電路板迹線;將複數個支援晶片安裝置該印刷電路板,使其在該非DRAM記憶體控制器與該複數個隨機可存取非揮發性記憶體積體電路之間耦合至印刷電路板迹線,該等支援晶片緩衝多個位址及資料、並多路傳輸資料至該複數個隨機可存取非揮發性記憶體積體電路且多路分解來自該複數個隨機可存取非揮發性記憶體積體電路之資料;及其中該非DRAM記憶體控制器用於平行控制對該複數個隨機可存取非揮發性記憶體積體電路之至少兩個之讀取及寫入存取。
- 如請求項29之方法,其中該複數個非揮發性記憶體積體電路為NOR快閃電可抹除可程式化唯讀記憶體(EEPROM)積體電路。
- 如請求項29之方法,其中一用以存取該複數個非揮發性記憶體積體電路之資料通信協定支援一寫入存取時間,該寫入存取時間實質上不同於由一用以存取動態隨機存取記憶體(DRAM)積體電路之資料通信協定所支援之寫入存取時間。
- 如請求項29之方法,其中該等非揮發性記憶體積體電路之一寫入存取時間不同於DRAM積體電路之一寫入存取時間。
- 如請求項32之方法,其中該複數個非揮發性記憶體積體電路之一讀取存取時間大體上類似於DRAM積體電路之一讀取存取時間。
- 如請求項29之方法,其進一步包含:將一邊緣連接器耦合至該印刷電路板,該邊緣連接器與該非DRAM記憶體控制器連通。
- 如請求項29之方法,其進一步包含:在該印刷電路板中形成一邊緣連接器,該邊緣連接器耦合至該非DRAM記憶體控制器。
- 一種裝配一電腦系統之方法,該方法包含:將一處理器封裝插入於一主機板上之一處理器插口中,該處理器封裝包括一處理器及一第一整合式記憶體控制器,該第一整合式記憶體控制器控制對一第一記憶體通道中之非揮發性記憶體模組的讀取及寫入存取;將複數個隨機可存取非揮發性記憶體模組插入於該主機板上之該第一記憶體通道中的記憶體插口中,該等記憶體插口係藉由印刷電路板迹線而耦合至該處理器插口;及使用一用於隨機可存取非揮發性記憶體模組之資料通信協定來隨機存取該第一記憶體通道中之該複數個隨機可存取非揮發性記憶體模組中之資料,其中該複數個隨機可存取非揮發性記憶體模組之每一者包括複數個非揮發性記憶體積體電路。
- 如請求項36之方法,其中該複數個非揮發性記憶體積體電路之每一者為一NOR快閃電可抹除可程式化唯讀記憶體(EEPROM)積體電路。
- 如請求項36之方法,其中該用以隨機存取該複數個隨機可存取非揮發性記憶體模組之資料通信協定包括一指示一非揮發性記憶體模組何時忙於執行一寫入或抹除操作之忙碌狀態信號。
- 如請求項36之方法,其中該用以隨機存取該複數個隨機可存取非揮發性記憶體模組之資料通信協定包括一指示一非揮發性記憶體模組何時已經完成一寫入或抹除操作之準備好狀態信號。
- 如請求項36之方法,其中該處理器封裝進一步包括一第二整合式記憶體控制器,該第二整合式記憶體控制器控制對一第二記憶體通道中之動態隨機存取記憶體模組的讀取及寫入存取。
- 如請求項40之方法,其中該用以存取該第一記憶體通道中之該等非揮發性記憶體模組的資料通信協定支援一寫入存取時間,該寫入存取時間實質上不同於由一用以存取該第二記憶體通道中之動態隨機存取記憶體(DRAM)記憶體模組的資料通信協定所支援之寫入存取時間。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US82742106P | 2006-09-28 | 2006-09-28 | |
US86259706P | 2006-10-23 | 2006-10-23 | |
US11/847,986 US7761623B2 (en) | 2006-09-28 | 2007-08-30 | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200825751A TW200825751A (en) | 2008-06-16 |
TWI454923B true TWI454923B (zh) | 2014-10-01 |
Family
ID=39230958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096136068A TWI454923B (zh) | 2006-09-28 | 2007-09-27 | 在具有組態以控制非揮發性記憶體存取之記憶體控制器的系統中之主記憶體及相關技術 |
Country Status (3)
Country | Link |
---|---|
US (5) | US7761623B2 (zh) |
TW (1) | TWI454923B (zh) |
WO (1) | WO2008039886A2 (zh) |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080082750A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Methods of communicating to, memory modules in a memory channel |
WO2008040028A2 (en) * | 2006-09-28 | 2008-04-03 | Virident Systems, Inc. | Systems, methods, and apparatus with programmable memory control for heterogeneous main memory |
US8074022B2 (en) | 2006-09-28 | 2011-12-06 | Virident Systems, Inc. | Programmable heterogeneous memory controllers for main memory with different memory modules |
US8949555B1 (en) | 2007-08-30 | 2015-02-03 | Virident Systems, Inc. | Methods for sustained read and write performance with non-volatile memory |
US9984012B2 (en) | 2006-09-28 | 2018-05-29 | Virident Systems, Llc | Read writeable randomly accessible non-volatile memory modules |
US7761625B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory with non-volatile type memory modules, and related technologies |
US7761626B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US7761624B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
WO2008051940A2 (en) * | 2006-10-23 | 2008-05-02 | Virident Systems, Inc. | Methods and apparatus of dual inline memory modules for flash memory |
WO2008055272A2 (en) | 2006-11-04 | 2008-05-08 | Virident Systems, Inc. | Integrating data from symmetric and asymmetric memory |
US8230145B2 (en) * | 2007-07-31 | 2012-07-24 | Hewlett-Packard Development Company, L.P. | Memory expansion blade for multiple architectures |
US9513695B2 (en) | 2008-06-24 | 2016-12-06 | Virident Systems, Inc. | Methods of managing power in network computer systems |
US8417873B1 (en) | 2008-06-24 | 2013-04-09 | Virident Systems, Inc. | Random read and read/write block accessible memory |
US8069300B2 (en) | 2008-09-30 | 2011-11-29 | Micron Technology, Inc. | Solid state storage device controller with expansion mode |
JP5473317B2 (ja) * | 2008-12-24 | 2014-04-16 | ピーエスフォー ルクスコ エスエイアールエル | メモリモジュールおよびそのレイアウト方法 |
US8446729B2 (en) * | 2009-03-23 | 2013-05-21 | Ocz Technology Group Inc. | Modular mass storage system and method therefor |
US9330736B2 (en) * | 2012-11-09 | 2016-05-03 | Qualcomm Incorporated | Processor memory optimization via page access counting |
CN104704569B (zh) * | 2012-12-19 | 2017-11-14 | 慧与发展有限责任合伙企业 | Nvram路径选择 |
US9280497B2 (en) * | 2012-12-21 | 2016-03-08 | Dell Products Lp | Systems and methods for support of non-volatile memory on a DDR memory channel |
US9921980B2 (en) | 2013-08-12 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules |
US9396065B2 (en) | 2014-06-25 | 2016-07-19 | Intel Corporation | Extensible memory hub |
US10606651B2 (en) | 2015-04-17 | 2020-03-31 | Microsoft Technology Licensing, Llc | Free form expression accelerator with thread length-based thread assignment to clustered soft processor cores that share a functional circuit |
US10452995B2 (en) | 2015-06-29 | 2019-10-22 | Microsoft Technology Licensing, Llc | Machine learning classification on hardware accelerators with stacked memory |
US10540588B2 (en) | 2015-06-29 | 2020-01-21 | Microsoft Technology Licensing, Llc | Deep neural network processing on hardware accelerators with stacked memory |
US10073644B2 (en) | 2016-03-21 | 2018-09-11 | Toshiba Memory Corporation | Electronic apparatus including memory modules that can operate in either memory mode or storage mode |
US10359946B1 (en) * | 2016-05-03 | 2019-07-23 | Altera Corporation | Systems and methods for operating a flash memory in an integrated circuit |
WO2018106441A1 (en) | 2016-12-09 | 2018-06-14 | Rambus Inc. | Memory module for platform with non-volatile storage |
US10877898B2 (en) | 2017-11-16 | 2020-12-29 | Alibaba Group Holding Limited | Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements |
US10496548B2 (en) | 2018-02-07 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for user-space storage I/O stack with user-space flash translation layer |
US10831404B2 (en) * | 2018-02-08 | 2020-11-10 | Alibaba Group Holding Limited | Method and system for facilitating high-capacity shared memory using DIMM from retired servers |
WO2019222958A1 (en) | 2018-05-24 | 2019-11-28 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
WO2020000136A1 (en) | 2018-06-25 | 2020-01-02 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of i/o requests |
US10921992B2 (en) | 2018-06-25 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency |
US10996886B2 (en) | 2018-08-02 | 2021-05-04 | Alibaba Group Holding Limited | Method and system for facilitating atomicity and latency assurance on variable sized I/O |
US11327929B2 (en) | 2018-09-17 | 2022-05-10 | Alibaba Group Holding Limited | Method and system for reduced data movement compression using in-storage computing and a customized file system |
TWI684914B (zh) * | 2018-12-25 | 2020-02-11 | 技嘉科技股份有限公司 | 免開機更新在板資料的電子裝置以及電子裝置包裝總成 |
US10977122B2 (en) | 2018-12-31 | 2021-04-13 | Alibaba Group Holding Limited | System and method for facilitating differentiated error correction in high-density flash devices |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
US11132291B2 (en) | 2019-01-04 | 2021-09-28 | Alibaba Group Holding Limited | System and method of FPGA-executed flash translation layer in multiple solid state drives |
US11200337B2 (en) | 2019-02-11 | 2021-12-14 | Alibaba Group Holding Limited | System and method for user data isolation |
US10970212B2 (en) | 2019-02-15 | 2021-04-06 | Alibaba Group Holding Limited | Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones |
US11061834B2 (en) | 2019-02-26 | 2021-07-13 | Alibaba Group Holding Limited | Method and system for facilitating an improved storage system by decoupling the controller from the storage medium |
US10891065B2 (en) | 2019-04-01 | 2021-01-12 | Alibaba Group Holding Limited | Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive |
US10922234B2 (en) | 2019-04-11 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive |
US10908960B2 (en) | 2019-04-16 | 2021-02-02 | Alibaba Group Holding Limited | Resource allocation based on comprehensive I/O monitoring in a distributed storage system |
CN110058818B (zh) * | 2019-04-18 | 2022-06-07 | 深圳忆联信息系统有限公司 | 一种基于ssd优化描述符处理顺序的方法及其系统 |
US11169873B2 (en) | 2019-05-21 | 2021-11-09 | Alibaba Group Holding Limited | Method and system for extending lifespan and enhancing throughput in a high-density solid state drive |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
US11074124B2 (en) | 2019-07-23 | 2021-07-27 | Alibaba Group Holding Limited | Method and system for enhancing throughput of big data analysis in a NAND-based read source storage |
US11126561B2 (en) | 2019-10-01 | 2021-09-21 | Alibaba Group Holding Limited | Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive |
US11617282B2 (en) | 2019-10-01 | 2023-03-28 | Alibaba Group Holding Limited | System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US11379447B2 (en) | 2020-02-06 | 2022-07-05 | Alibaba Group Holding Limited | Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller |
US11150986B2 (en) | 2020-02-26 | 2021-10-19 | Alibaba Group Holding Limited | Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction |
US11200114B2 (en) | 2020-03-17 | 2021-12-14 | Alibaba Group Holding Limited | System and method for facilitating elastic error correction code in memory |
US11449386B2 (en) | 2020-03-20 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory |
US11169881B2 (en) | 2020-03-30 | 2021-11-09 | Alibaba Group Holding Limited | System and method for facilitating reduction of complexity and data movement in erasure coding merging on journal and data storage drive |
US11301173B2 (en) | 2020-04-20 | 2022-04-12 | Alibaba Group Holding Limited | Method and system for facilitating evaluation of data access frequency and allocation of storage device resources |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11218165B2 (en) | 2020-05-15 | 2022-01-04 | Alibaba Group Holding Limited | Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11354200B2 (en) | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
CN112071354A (zh) * | 2020-07-22 | 2020-12-11 | 深圳市宏旺微电子有限公司 | 用于NAND Flash测试电路和测试方法 |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
US20240012709A1 (en) * | 2020-12-03 | 2024-01-11 | Rambus Inc. | Dynamically configurable memory error control schemes |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
KR20220097586A (ko) * | 2020-12-30 | 2022-07-08 | 삼성전자주식회사 | 메모리 모듈, 메인 보드, 및 서버 장치 |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
CN115565560A (zh) * | 2022-01-06 | 2023-01-03 | 澜起电子科技(上海)有限公司 | 模块化设计的存储设备及包括其的存储系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6765812B2 (en) * | 2001-01-17 | 2004-07-20 | Honeywell International Inc. | Enhanced memory module architecture |
US6893268B1 (en) * | 1993-09-01 | 2005-05-17 | Sandisk Corporation | Removable mother/daughter peripheral card |
Family Cites Families (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
US4757533A (en) | 1985-09-11 | 1988-07-12 | Computer Security Corporation | Security system for microcomputers |
US5012408A (en) | 1990-03-15 | 1991-04-30 | Digital Equipment Corporation | Memory array addressing system for computer systems with multiple memory arrays |
US5430859A (en) | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US5375222A (en) | 1992-03-31 | 1994-12-20 | Intel Corporation | Flash memory card with a ready/busy mask register |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5898857A (en) | 1994-12-13 | 1999-04-27 | International Business Machines Corporation | Method and system for interfacing an upgrade processor to a data processing system |
US5701438A (en) | 1995-09-29 | 1997-12-23 | Intel Corporation | Logical relocation of memory based on memory device type |
US5710733A (en) | 1996-01-22 | 1998-01-20 | Silicon Graphics, Inc. | Processor-inclusive memory module |
US6185704B1 (en) | 1997-04-11 | 2001-02-06 | Texas Instruments Incorporated | System signaling schemes for processor and memory module |
EP1036362B1 (en) | 1997-12-05 | 2006-11-15 | Intel Corporation | Memory system including a memory module having a memory module controller |
US20040236877A1 (en) | 1997-12-17 | 2004-11-25 | Lee A. Burton | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
US6970968B1 (en) | 1998-02-13 | 2005-11-29 | Intel Corporation | Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module |
US6207474B1 (en) | 1998-03-09 | 2001-03-27 | Micron Technology, Inc. | Method of forming a stack of packaged memory die and resulting apparatus |
US6109929A (en) * | 1998-07-29 | 2000-08-29 | Agilent Technologies, Inc. | High speed stackable memory system and device |
US6564326B2 (en) | 1999-07-06 | 2003-05-13 | Walter A. Helbig, Sr. | Method and apparatus for enhancing computer system security |
US7254806B1 (en) | 1999-08-30 | 2007-08-07 | Ati International Srl | Detecting reordered side-effects |
US7404032B2 (en) | 2000-01-05 | 2008-07-22 | Rambus Inc. | Configurable width buffered module having switch elements |
US7010642B2 (en) | 2000-01-05 | 2006-03-07 | Rambus Inc. | System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices |
JP3955712B2 (ja) | 2000-03-03 | 2007-08-08 | 株式会社ルネサステクノロジ | 半導体装置 |
US6757751B1 (en) * | 2000-08-11 | 2004-06-29 | Harrison Gene | High-speed, multiple-bank, stacked, and PCB-mounted memory module |
US6785780B1 (en) | 2000-08-31 | 2004-08-31 | Micron Technology, Inc. | Distributed processor memory module and method |
JP2002132402A (ja) | 2000-10-20 | 2002-05-10 | Mitsubishi Electric Corp | 負荷調整ボード及び情報処理装置 |
US7034955B2 (en) | 2000-12-11 | 2006-04-25 | Texas Instruments Incorporated | Using a processor enhanced memory module to accelerate hardcopy image processing within existing printer controller |
US6779049B2 (en) | 2000-12-14 | 2004-08-17 | International Business Machines Corporation | Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism |
US7091598B2 (en) | 2001-01-19 | 2006-08-15 | Renesas Technology Corporation | Electronic circuit device |
JP4722305B2 (ja) | 2001-02-27 | 2011-07-13 | 富士通セミコンダクター株式会社 | メモリシステム |
US20020138600A1 (en) | 2001-03-26 | 2002-09-26 | International Business Machines Corporation | Method, apparatus and program for multi-machine network install using writeable media |
US20030090879A1 (en) | 2001-06-14 | 2003-05-15 | Doblar Drew G. | Dual inline memory module |
US7293014B2 (en) * | 2001-06-18 | 2007-11-06 | Siebel Systems, Inc. | System and method to enable searching across multiple databases and files using a single search |
US6721195B2 (en) | 2001-07-12 | 2004-04-13 | Micron Technology, Inc. | Reversed memory module socket and motherboard incorporating same |
US6707756B2 (en) | 2002-03-12 | 2004-03-16 | Smart Modular Technologies, Inc. | System and method for translation of SDRAM and DDR signals |
US7096377B2 (en) | 2002-03-27 | 2006-08-22 | Intel Corporation | Method and apparatus for setting timing parameters |
KR100929143B1 (ko) | 2002-12-13 | 2009-12-01 | 삼성전자주식회사 | 컴퓨터 및 그 제어방법 |
KR100506062B1 (ko) * | 2002-12-18 | 2005-08-05 | 주식회사 하이닉스반도체 | 복합형 메모리 장치 |
US6950919B2 (en) | 2003-03-26 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | Computer system with operating system to dynamically adjust the main memory |
DE10330593B4 (de) * | 2003-07-07 | 2010-11-04 | Qimonda Ag | Integrierter Taktversorgungsbaustein für ein Speichermodul, Speichermodul, welches den integrierten Taktversorgungsbaustein umfasst, sowie Verfahren zum Betreiben des Speichermoduls unter Testbedingungen |
US7657706B2 (en) | 2003-12-18 | 2010-02-02 | Cisco Technology, Inc. | High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory |
US20050251617A1 (en) | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
US7269708B2 (en) | 2004-04-20 | 2007-09-11 | Rambus Inc. | Memory controller for non-homogenous memory system |
US7206915B2 (en) | 2004-06-03 | 2007-04-17 | Emc Corp | Virtual space manager for computer having a physical address extension feature |
TWI299497B (en) | 2004-06-24 | 2008-08-01 | Via Tech Inc | Method and related apparatus for accessing memory apparatus |
US20060026375A1 (en) * | 2004-07-30 | 2006-02-02 | Christenson Bruce A | Memory controller transaction scheduling algorithm using variable and uniform latency |
US7324352B2 (en) | 2004-09-03 | 2008-01-29 | Staktek Group L.P. | High capacity thin module system and method |
US7613870B2 (en) | 2004-11-18 | 2009-11-03 | International Business Machines Corporation | Efficient memory usage in systems including volatile and high-density memories |
US7212408B2 (en) * | 2004-12-28 | 2007-05-01 | Intel Corporation | Multi-slot socket for mounting integrated circuits on circuit board |
US20060195631A1 (en) | 2005-01-31 | 2006-08-31 | Ramasubramanian Rajamani | Memory buffers for merging local data from memory modules |
US7702839B2 (en) | 2005-04-12 | 2010-04-20 | Nokia Corporation | Memory interface for volatile and non-volatile memory devices |
US7398484B2 (en) * | 2005-04-27 | 2008-07-08 | Microsoft Corporation | Memory efficient array transposition via multi pass tiling |
JP2006338370A (ja) * | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8089795B2 (en) * | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US20070047655A1 (en) * | 2005-08-26 | 2007-03-01 | Vannerson Eric F | Transpose buffering for video processing |
US7464225B2 (en) * | 2005-09-26 | 2008-12-09 | Rambus Inc. | Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology |
US7640386B2 (en) | 2006-05-24 | 2009-12-29 | International Business Machines Corporation | Systems and methods for providing memory modules with multiple hub devices |
US7550834B2 (en) | 2006-06-29 | 2009-06-23 | Sandisk Corporation | Stacked, interconnected semiconductor packages |
US7411757B2 (en) * | 2006-07-27 | 2008-08-12 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive with nonvolatile memory having multiple modes of operation |
WO2008014494A2 (en) | 2006-07-28 | 2008-01-31 | Drc Computer Corporation | Fpga co-processor for accelerated computation |
WO2008040028A2 (en) | 2006-09-28 | 2008-04-03 | Virident Systems, Inc. | Systems, methods, and apparatus with programmable memory control for heterogeneous main memory |
US7761625B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory with non-volatile type memory modules, and related technologies |
US8074022B2 (en) | 2006-09-28 | 2011-12-06 | Virident Systems, Inc. | Programmable heterogeneous memory controllers for main memory with different memory modules |
US7761626B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US7761624B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
US20080082750A1 (en) | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Methods of communicating to, memory modules in a memory channel |
WO2008051940A2 (en) | 2006-10-23 | 2008-05-02 | Virident Systems, Inc. | Methods and apparatus of dual inline memory modules for flash memory |
US8301833B1 (en) * | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
US9251899B2 (en) | 2008-02-12 | 2016-02-02 | Virident Systems, Inc. | Methods for upgrading main memory in computer systems to two-dimensional memory modules and master memory controllers |
US8856464B2 (en) | 2008-02-12 | 2014-10-07 | Virident Systems, Inc. | Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices |
-
2007
- 2007-08-30 US US11/847,986 patent/US7761623B2/en not_active Expired - Fee Related
- 2007-09-27 TW TW096136068A patent/TWI454923B/zh active
- 2007-09-27 WO PCT/US2007/079622 patent/WO2008039886A2/en active Application Filing
-
2010
- 2010-07-06 US US12/831,233 patent/US8370547B2/en active Active
-
2013
- 2013-01-22 US US13/747,455 patent/US8972633B2/en not_active Expired - Fee Related
-
2014
- 2014-09-02 US US14/475,398 patent/US9626290B2/en active Active
-
2017
- 2017-04-17 US US15/489,282 patent/US10191842B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6893268B1 (en) * | 1993-09-01 | 2005-05-17 | Sandisk Corporation | Removable mother/daughter peripheral card |
US6765812B2 (en) * | 2001-01-17 | 2004-07-20 | Honeywell International Inc. | Enhanced memory module architecture |
Also Published As
Publication number | Publication date |
---|---|
WO2008039886A3 (en) | 2008-08-14 |
US20100274957A1 (en) | 2010-10-28 |
US8370547B2 (en) | 2013-02-05 |
US20140379969A1 (en) | 2014-12-25 |
US7761623B2 (en) | 2010-07-20 |
WO2008039886A2 (en) | 2008-04-03 |
US9626290B2 (en) | 2017-04-18 |
TW200825751A (en) | 2008-06-16 |
US20080082731A1 (en) | 2008-04-03 |
US10191842B2 (en) | 2019-01-29 |
US20130138872A1 (en) | 2013-05-30 |
US20170220461A1 (en) | 2017-08-03 |
US8972633B2 (en) | 2015-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI454923B (zh) | 在具有組態以控制非揮發性記憶體存取之記憶體控制器的系統中之主記憶體及相關技術 | |
US7761626B2 (en) | Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies | |
TWI500031B (zh) | 具非揮發性類型記憶體模組的主記憶體之系統、方法及裝置,及其相關技術 | |
US7761625B2 (en) | Methods for main memory with non-volatile type memory modules, and related technologies | |
US9767867B2 (en) | Methods of communicating to different types of memory modules in a memory channel | |
US8874843B2 (en) | Systems with programmable heterogeneous memory controllers for main memory | |
US8051253B2 (en) | Systems and apparatus with programmable memory control for heterogeneous main memory | |
US8943245B2 (en) | Non-volatile type memory modules for main memory | |
US20120311249A1 (en) | Memory system, memory control method, and recording medium storing memory control program | |
US9984012B2 (en) | Read writeable randomly accessible non-volatile memory modules | |
TWI446171B (zh) | 用於異質性主記憶體具有可程式化記憶體控制的系統,方法及裝置 |