欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種flash-dram混合存儲器模塊的制作方法

文檔序號:6496659閱讀:301來源:國知局
一種flash-dram混合存儲器模塊的制作方法
【專利摘要】一種能夠連接到主系統(tǒng)的存儲控制器集線器(MCH)的存儲器模塊,包括非易失存儲子系統(tǒng),連接至該非易失存儲子系統(tǒng)的數(shù)據(jù)管理器,連接至該數(shù)據(jù)管理器并通過該數(shù)據(jù)管理器可用于與非易失存儲子系統(tǒng)交換數(shù)據(jù)的易失存儲子系統(tǒng),以及可用于接收來自MCH的命令的控制器,該控制器基于該命令管理MCH、易失存儲子系統(tǒng)或非易失存儲子系統(tǒng)中的任意兩個或兩個以上間的數(shù)據(jù)傳輸。
【專利說明】—種FLASH-DRAM混合存儲器模塊
[0001]優(yōu)先權(quán)聲明
本發(fā)明申請要求享有以下申請的優(yōu)先權(quán):2011年7月28日提交的申請?zhí)枮?1/512,6871的美國臨時專利申請;2012年7月26日提交的申請?zhí)枮?3/559,476的美國專利申請,其為要求2007年6月I日提交的申請?zhí)枮?0/941,586的美國臨時專利申請的優(yōu)先權(quán)的2008年6月2日提交的申請?zhí)枮?2/131,873的美國專利繼續(xù)申請的2008年9月29日提交的申請?zhí)枮?2/240,916的美國專利申請的部分繼續(xù)申請。上述申請的全部內(nèi)容都以引用的方式并入到本申請中。
[0002]本發(fā)明申請也可能被認(rèn)為與2012年6月28日提交的且在此共同擁有的申請?zhí)枮?3/536,173的共同審理中的美國專利申請有關(guān)。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明涉及計算機(jī)存儲設(shè)備,特別地,涉及采用不同類型存儲設(shè)備,如Flash和隨機(jī)存取存儲器(Random Access Memories, RAM),的設(shè)備。
【背景技術(shù)】
[0004]隨著技術(shù)進(jìn)步,以及便攜式計算設(shè)備,如平板筆記本電腦,的使用的增加,更多的數(shù)據(jù)需要在數(shù)據(jù)中心間傳輸,并輸入/輸出給終端用戶。在許多情況下,數(shù)據(jù)中心通過聚集多個聯(lián)網(wǎng)服務(wù)器建立,以提高性能。
[0005]雖然有許多類型的對于應(yīng)用預(yù)期類型而言特定的聯(lián)網(wǎng)服務(wù)器,但是基本概念通常是通過動態(tài)地分配計算和存儲資源來提高服務(wù)器性能。今年來,服務(wù)器技術(shù)已經(jīng)發(fā)展為針對特定應(yīng)用,如“金融交易”(例如,記點(diǎn)服務(wù)計劃、銀行同業(yè)交易、證據(jù)市場交易)、“科學(xué)計算”(例如,流體動力學(xué)汽車和船舶設(shè)計、天氣預(yù)報、石油和天然氣勘探)、“醫(yī)療診斷”(例如,基于模糊邏輯的診斷、醫(yī)用數(shù)據(jù)處理)、“簡單的信息共享和搜索”(例如,網(wǎng)頁搜索、零售商店網(wǎng)站、公司主頁)、“電子郵件”(信息分發(fā)和存檔)、“安全服務(wù)”、“娛樂”(例如,視頻點(diǎn)播),等等。然而,由于高速CPU (中央處理單元)不能在相對低速的存儲或內(nèi)存子系統(tǒng)內(nèi)外有效地傳輸數(shù)據(jù),特別是由于數(shù)據(jù)通常通過CPU輸入/輸出(I/O)通道傳輸,因此所有這些應(yīng)用都要承受相同的信息傳輸瓶頸。
[0006]圖1所示的配置舉例說明了由于CPU的數(shù)據(jù)傳輸限制,這種限制與主存儲器(例如,硬盤(Hard Disk, HD)或固態(tài)驅(qū)動器(Solid State Drive, SSD))和內(nèi)存子系統(tǒng)(例如,與前端總線(Front Side Bus FSB)連接的動態(tài)隨機(jī)訪問存儲器雙列直插式內(nèi)存模塊(Dynamic Random Access Memory Dual In-line Memory Module, DRAM DIMM))間的數(shù)據(jù)傳輸有關(guān)。在圖1所示的配置中,傳統(tǒng)存儲器配置的SSD/HD和DRAM DIMM通過單獨(dú)的存儲器控制端口(未顯示)連接至CPU。圖1特別地通過雙箭頭顯示了計算機(jī)或服務(wù)器主存儲器(SSD/HD)與DRAM DIMM間的數(shù)據(jù)流路徑。由于SSD/HD數(shù)據(jù)1/0和DRAM DIMM數(shù)據(jù)1/0受CPU控制,CPU需要分配其處理周期來控制這些1/0,這可能包括了 CPU周期性執(zhí)行的中斷請求(Interrupt Request, IRQ)服務(wù)。可以理解的是,CPU分配越多的時間來控制數(shù)據(jù)傳輸流量,CPU不得不用越少的時間執(zhí)行其他任務(wù)。因此,服務(wù)器的整體性能將隨著CPU耗費(fèi)在執(zhí)行數(shù)據(jù)傳輸上的時間的增加而惡化。
[0007]已經(jīng)有多種不同的方法來增加進(jìn)出主存儲器,如SSD/HS,到局部存儲器,如DRAMDIMM的數(shù)據(jù)傳輸吞吐率。在如圖2所示的一個實(shí)施例中,飛索半導(dǎo)體(Spansion)開發(fā)的EcoRAM ?提供了一種假定了 DIMM實(shí)體尺寸的基于存儲SSD的系統(tǒng)。EcoRAM ?由Flash
存儲器和使用DRAM用作數(shù)據(jù)緩沖的相對小的存儲容量組成。雖然SSD/HD通常通過SATA(serial AT attachment,串行高級技術(shù)附件)、USB (Universal Serial Bus,通用串行總線)或 PC1-E (Peripheral Component Interface Express,外圍組件接口快速)連接,但是
EcoRAM111通過高速接口,如HT (Hyper Transport,超傳輸)接口,連接至CPU (中央處理單
元),因此這種配置方式相比基于標(biāo)準(zhǔn)SSD的系統(tǒng)能夠提供更高的吞吐車?yán)?,相比于?br> 用標(biāo)準(zhǔn)PC1-E總線的NAND SSD存儲子系統(tǒng)400MB/s的讀速率,EcoRAMm的讀隨機(jī)訪問吞
吐率接近3GB/s。這是7.5倍的性能提升。然而,寫隨機(jī)訪問吞吐率的性能提升小于2倍(EcoRAM為197MB/s,NAND SSD為104MB/s)。這主要是由于寫速率不可能比NAND Flash的
寫訪問時間快。圖2是使用具有標(biāo)準(zhǔn)DIMM的SSD的EcoRAMm的一個實(shí)施例,其可以連接
至FSB(前端總線)。然而,由于DRAM和Flash的接口協(xié)議不同,占用了其中一個服務(wù)器CPU
插槽的接口設(shè)備(EcoRAM Accelerator? )被使用,并因此通過減少可用CPU插槽的數(shù)量進(jìn)
一步降低服務(wù)器性能,并相應(yīng)地降低整體計算效率。由于讀寫操作間數(shù)據(jù)傳輸吞吐率的巨大不同導(dǎo)致的CPU總線的有限利用,服務(wù)器的性能將進(jìn)一步受到負(fù)面影響。
[0008]EcoRAM?架構(gòu)使得CPU將Flash DIMM控制芯片認(rèn)作具有大量可供CPU訪問的存儲空間的處理器。
[0009]通常,F(xiàn)lash系統(tǒng)的訪問速率受到以下四方面限制=Flash存儲器的讀/寫速率;CPU的FSB總線速率和性能;Flash DIMM控制其的固有延長;HT互連速率和取決于CPU和Flash DMM控制器芯片中的HT接口控制器的性能。
[0010]已經(jīng)公開的文獻(xiàn)結(jié)果表明由于讀操作的最大吞吐率為1.56 GBs,寫操作的最大吞吐率為104 MBs,上述缺點(diǎn)是明顯的。這些速率為工作在400MHz的DRAM讀訪問速率的25%,和DRAM寫訪問速率的1.7%。讀操作和寫操作間訪問速率(15到I)的不同突出了這種結(jié)構(gòu)的主要缺點(diǎn)。由于DRAM技術(shù)比Flash存儲器技術(shù)進(jìn)步得快得多,這種類型架構(gòu)和JEDEC標(biāo)準(zhǔn)DRAM DIMM間的訪問速率的差別預(yù)計將越來越大。

【發(fā)明內(nèi)容】

[0011]本發(fā)明的一方面提供一種能夠連接到主系統(tǒng)的存儲控制器的存儲器模塊。該存儲器模塊包括非易失存儲子系統(tǒng),數(shù)據(jù)管理器,其連接至所述非易失存儲子系統(tǒng);易失存儲子系統(tǒng),其連接至所述數(shù)據(jù)管理器,并可操作,以通過該數(shù)據(jù)管理器與所述非易失存儲子系統(tǒng)交換數(shù)據(jù);控制器,其可操作,以接收來自所述存儲控制器的命令,該控制器管理(I)所述非易失存儲子系統(tǒng)的運(yùn)作、(2)所述易失存儲子系統(tǒng)的運(yùn)作以及(3)基于至少一個接收到的來自所述存儲控制器的命令在所述存儲控制器、所述易失存儲子系統(tǒng)或所述非易失存儲子系統(tǒng)中的任意兩個或兩個以上之間的數(shù)據(jù)傳輸。[0012]本發(fā)明的另一方面提供一種通過存儲控制器管理存儲器模塊的方法,該存儲器模塊包括易失和非易失存儲子系統(tǒng)。該方法包括接收來自存儲控制器的控制信息,其中,該控制信息使用易失存儲子系統(tǒng)的協(xié)議接收。該方法還包括識別用于使用接收到的控制信息將數(shù)據(jù)傳入或傳出該存儲器模塊的數(shù)據(jù)通路,使用該存儲器模塊的數(shù)據(jù)管理器和控制器基于至少一個接收到的控制信息和識別的數(shù)據(jù)通路在存儲控制器、易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)中的任意兩個或兩個以上間傳輸數(shù)據(jù)。
[0013]在本發(fā)明的存儲器模塊中,所述數(shù)據(jù)管理器用于響應(yīng)接收到的來自控制器的至少一個控制信號和控制信息來控制數(shù)據(jù)流速率、數(shù)據(jù)傳輸大小、數(shù)據(jù)緩存大小、數(shù)據(jù)錯誤監(jiān)測以及數(shù)據(jù)錯誤糾正中的一個或多個。
[0014]在本發(fā)明的存儲器模塊中,所述數(shù)據(jù)管理器基于接收到的來自所述控制器的指令控制存儲控制器、易失存儲子系統(tǒng)或非易失存儲子系統(tǒng)中的任意兩個或兩個以上間的數(shù)據(jù)通信。
[0015]在本發(fā)明的存儲器模塊中,所述數(shù)據(jù)通信控制涉及數(shù)據(jù)流速率、數(shù)據(jù)傳輸大小、數(shù)據(jù)緩存大小、數(shù)據(jù)傳輸位寬、格式信息、數(shù)據(jù)流方向和數(shù)據(jù)傳輸起始時間中的任意一個或多個。
[0016]在本發(fā)明的存儲器模塊中,所述控制器響應(yīng)接收到的來自存儲控制器的命令以和所述存儲器模塊的存儲地址空間初始化信息中的至少一個來配置易失存儲子系統(tǒng)的第一存儲地址空間和非易失存儲子系統(tǒng)的第二存儲地址空間中的至少一個。
[0017]在本發(fā)明的存儲器模塊中,所述數(shù)據(jù)管理器配置為具有兩組或兩組以上與易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)中任意一個連接的數(shù)據(jù)端口的雙向數(shù)據(jù)傳輸結(jié)構(gòu)。
[0018]在本發(fā)明的存儲器模塊中,所述易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)中的至少一個包括一個或多個存儲段。
[0019]在本發(fā)明的存儲器模塊中,每個存儲段包括至少一個存儲電路、存儲設(shè)備或存儲晶粒。
[0020]在本發(fā)明的存儲器模塊中,所述易失存儲子系統(tǒng)包括DRAM存儲器。
[0021]在本發(fā)明的存儲器模塊中,所述非易失存儲子系統(tǒng)包括Flash存儲器。
[0022]在本發(fā)明的存儲器模塊中,至少一組數(shù)據(jù)端口由所述數(shù)據(jù)管理器進(jìn)行操作以獨(dú)自和/或同時地將數(shù)據(jù)傳入或傳出所述易失存儲子系統(tǒng)或非易失存儲子系統(tǒng)中的一個或多個存儲段。
[0023]在本發(fā)明的存儲器模塊中,所述數(shù)據(jù)管理器和控制器響應(yīng)通過控制器接收到的來自存儲控制器的存儲器訪問命令來實(shí)現(xiàn)所述存儲控制器和非易失存儲子系統(tǒng)間的數(shù)據(jù)傳輸。
[0024]在本發(fā)明的存儲器模塊中,所述易失存儲子系統(tǒng)用作所述存儲控制器和非易失存儲子系統(tǒng)間的數(shù)據(jù)傳輸緩存。
[0025]在本發(fā)明的存儲器模塊中,所述數(shù)據(jù)控制器還包括數(shù)據(jù)格式模塊,用于根據(jù)接收到的來自控制器的控制信息將數(shù)據(jù)按一定格式在存儲控制器、易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)中的任意兩個或兩個以上間傳輸。
[0026]在本發(fā)明的存儲器模塊中,所述數(shù)據(jù)管理器還包括數(shù)據(jù)緩存,用以緩存?zhèn)魅氲絺鞒龇且资Т鎯ψ酉到y(tǒng)的數(shù)據(jù)。[0027]在本發(fā)明的存儲器模塊中,所述控制器用于執(zhí)行存儲器地址轉(zhuǎn)換、存儲器地址映射、地址域轉(zhuǎn)換、存儲器存取控制、數(shù)據(jù)錯誤糾正和易失存儲子系統(tǒng)與非易失存儲子系統(tǒng)間的數(shù)據(jù)位寬調(diào)節(jié)中的一個或多個。
[0028]在本發(fā)明的存儲器模塊中,所述控制器用于依照規(guī)定的協(xié)議實(shí)現(xiàn)與主系統(tǒng)的操作。
[0029]在本發(fā)明的存儲器模塊中,所述規(guī)定的協(xié)議選自DDR、DDR2、DDR3和DDR4協(xié)議中的
一種或多種。
[0030]在本發(fā)明的存儲器模塊中,所述控制器能夠基于以下至少一種信息配置存儲空間:接收到的來自存儲控制器的命令;寫入寄存器的可編程的值;對應(yīng)易失存儲子系統(tǒng)開始部分的值;對應(yīng)非易失存儲子系統(tǒng)開始部分的值;以及時間值。
[0031]在本發(fā)明的存儲器模塊中,所述控制器至少使用所述易失存儲子系統(tǒng)開始部分和所述非易失存儲子系統(tǒng)開始部分配置所述存儲器模塊的存儲空間,并且該控制器向所述存儲控制器給出統(tǒng)一的存儲空間。
[0032]在本發(fā)明的存儲器模塊中,所述控制器使用專用的分割指令配置存儲器模塊中的存儲空間。
[0033]在本發(fā)明的存儲器模塊中,所述控制器在上電過程中用于從非易失存儲子系統(tǒng)向易失存儲子系統(tǒng)復(fù)制啟動彳目息。
[0034]在本發(fā)明的存儲器模塊中,所述控制器包括易失存儲器控制模塊、非易失存儲器控制模塊、數(shù)據(jù)管理器控制模塊、命令解析模塊和調(diào)度模塊。
[0035]在本發(fā)明的存儲器模塊中,從易失存儲器控制模塊到易失存儲子系統(tǒng)的命令從屬于從存儲控制器到控制器的命令。
[0036]在本發(fā)明的存儲器模塊中,所述控制器實(shí)現(xiàn)從非易失存儲器到易失存儲器的數(shù)據(jù)的預(yù)取。
[0037]在本發(fā)明的存儲器模塊中,所述預(yù)取通過所述存儲控制器向所述控制器的寄存器寫入請求數(shù)據(jù)的地址而發(fā)出。
[0038]在本發(fā)明的存儲器模塊中,所述控制器用于發(fā)起所述易失存儲子系統(tǒng)中封閉塊到所述非易失存儲子系統(tǒng)中目標(biāo)塊的數(shù)據(jù)復(fù)制操作。
[0039]在本發(fā)明的存儲器模塊中,如果所述封閉塊解封,那么所述控制器用于中止所述復(fù)制操作,并且從所述非易失存儲子系統(tǒng)擦除所述目標(biāo)塊。
[0040]在本發(fā)明的存儲器模塊中,所述數(shù)據(jù)傳輸包括非易失存儲子系統(tǒng)和易失存儲子系統(tǒng)間的數(shù)據(jù)雙向傳輸。
[0041]本發(fā)明的管理存儲器模塊的方法還包括操作所述數(shù)據(jù)管理器控制數(shù)據(jù)流速率,、數(shù)據(jù)傳輸大小、數(shù)據(jù)位寬大小、數(shù)據(jù)緩存大小、數(shù)據(jù)錯誤監(jiān)測、數(shù)據(jù)錯誤糾正和數(shù)據(jù)傳輸起始時間中的一個或多個。
[0042]本發(fā)明的管理存儲器模塊的方法還包括操作所述數(shù)據(jù)管理器控制存儲控制器和易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)中至少一個間的數(shù)據(jù)通信。
[0043]在本發(fā)明的管理存儲器模塊的方法中,所述數(shù)據(jù)通信控制數(shù)據(jù)傳輸大小、格式信息、數(shù)據(jù)流方向和數(shù)據(jù)傳輸起始時間中的任意一個或多個。
[0044]在本發(fā)明的管理存儲器模塊的方法中,由通過所述數(shù)據(jù)管理器的數(shù)據(jù)通信控制基于接收到的來自所述控制器的指令。
[0045]本發(fā)明的管理存儲器模塊的方法還包括將所述數(shù)據(jù)管理器用作具有兩組或兩組以上與易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)中任意一個連接的數(shù)據(jù)端口的雙向數(shù)據(jù)傳輸結(jié)構(gòu)。
[0046]在本發(fā)明的管理存儲器模塊的方法中,所述易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)中的至少一個包括一個或多個存儲段。
[0047]在本發(fā)明的管理存儲器模塊的方法中,每個存儲段均包括至少一個存儲電路、存儲設(shè)備或存儲晶粒。
[0048]在本發(fā)明的管理存儲器模塊的方法中,所述易失存儲子系統(tǒng)包括DRAM存儲器。
[0049]在本發(fā)明的管理存儲器模塊的方法中,所述非易失存儲子系統(tǒng)包括Flash存儲器。
[0050]本發(fā)明的管理存儲器模塊的方法還包括操作所述數(shù)據(jù)端口獨(dú)自和/或同時地將數(shù)據(jù)傳入或傳出所述易失存儲子系統(tǒng)或非易失存儲子系統(tǒng)中的一個或多個存儲段。
[0051]本發(fā)明的管理存儲器模塊的方法還包括響應(yīng)通過控制器接收到的來自存儲控制器的存儲器訪問命令,使用數(shù)據(jù)管理器管理所述易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)間的數(shù)據(jù)雙向傳輸。
[0052]本發(fā)明的管理存儲器模塊的方法還包括使用所述易失存儲子系統(tǒng)緩存所述存儲控制器和非易失存儲子系統(tǒng)間傳輸?shù)臄?shù)據(jù)。
[0053]本發(fā)明的管理存儲器模塊的方法還包括使用所述控制器執(zhí)行存儲器地址轉(zhuǎn)換、存儲器地址映射、地址域轉(zhuǎn)換、存儲器存取控制、數(shù)據(jù)錯誤糾正和易失存儲子系統(tǒng)與非易失存儲子系統(tǒng)間的數(shù)據(jù)位寬調(diào)節(jié)中的一個或多個。
[0054]本發(fā)明的管理存儲器模塊的方法還包括使用所述控制器依照規(guī)定的協(xié)議通過所述易失存儲子系統(tǒng)實(shí)現(xiàn)與主系統(tǒng)間的通信。
[0055]在本發(fā)明的管理存儲器模塊的方法中,所述規(guī)定的協(xié)議選自DDR、DDR2、DDR3和DDR4協(xié)議中的一種或多種。
[0056]本發(fā)明的管理存儲器模塊的方法還包括使用所述控制器基于以下至少一種信息配置所述存儲器模塊中的存儲空間:接收到的來自存儲控制器的命令;寫入寄存器的可編程的值;對應(yīng)易失存儲子系統(tǒng)開始部分的值;對應(yīng)非易失存儲子系統(tǒng)開始部分的值;以及時間值。
[0057]在本發(fā)明的管理存儲器模塊的方法中,所述控制器至少使用所述易失存儲子系統(tǒng)開始部分和所述非易失存儲子系統(tǒng)開始部分配置所述存儲器模塊的存儲空間,并且該控制器向所述存儲控制器給出統(tǒng)一的存儲空間。
[0058]在本發(fā)明的管理存儲器模塊的方法中,所述控制器使用專用的分割指令配置存儲器模塊中的存儲空間。
[0059]本發(fā)明的管理存儲器模塊的方法還包括在上電過程中使用所述控制器從非易失存儲子系統(tǒng)向易失存儲子系統(tǒng)復(fù)制啟動信息。
[0060]在本發(fā)明的管理存儲器模塊的方法中,所述控制器包括易失存儲器控制模塊,所述方法還包括響應(yīng)來自所述存儲控制器的命令,通過易失存儲器控制模塊生產(chǎn)命令,并且將生產(chǎn)的命令傳輸?shù)揭资Т鎯ψ酉到y(tǒng)中。[0061]本發(fā)明的管理存儲器模塊的方法還包括預(yù)取從非易失存儲器到易失存儲器的數(shù)據(jù)。
[0062]在本發(fā)明的管理存儲器模塊的方法中,所述預(yù)取通過所述存儲控制器向所述控制器的寄存器寫入請求數(shù)據(jù)的地址而發(fā)出。
[0063]本發(fā)明的管理存儲器模塊的方法還包括發(fā)起所述易失存儲子系統(tǒng)中封閉塊到所述非易失存儲子系統(tǒng)中目標(biāo)塊的數(shù)據(jù)復(fù)制操作。
[0064]本發(fā)明的管理存儲器模塊的方法還包括當(dāng)所述易失存儲子系統(tǒng)的封閉塊解封時,中止所述復(fù)制操作,并擦除所述非易失存儲子系統(tǒng)中的所述目標(biāo)塊。
【專利附圖】

【附圖說明】
[0065]以下并入并構(gòu)成本說明書的一部分的附圖,舉例說明了本發(fā)明的一個或多個實(shí)施例,其結(jié)合對優(yōu)選實(shí)施例的具體描述,有助于理解本發(fā)明原理及實(shí)施本發(fā)明。
[0066]圖1為一個常規(guī)存儲器配置中經(jīng)過CPU的數(shù)據(jù)傳輸路徑框圖;
圖2為一種已知的EcoRAM?架構(gòu)框圖;
圖3A和3B為非易失存儲器DI麗或NVDI麗的框圖;
圖4A和4B為Flash-DRAM混合DIMM或FDHDIMM的框圖;
圖5A為本發(fā)明特定實(shí)施例中的存儲器模塊500的框圖;
圖5B為展示了圖5A所示的存儲器模塊的部分功能的框圖;
圖6為展示了數(shù)據(jù)管理器(DMgr)部分細(xì)節(jié)的框圖;
圖7為模組控制器(⑶C)的功能框圖;
圖8A為展示了如圖4A和4B所示的現(xiàn)有技術(shù)中Flash-DRAM混合DIMM (FDHDIMM)更多細(xì)節(jié)的框圖;
圖8B為根據(jù)本發(fā)明特定實(shí)施例的Flash-DRAM混合DIMM (FDHDIMM)的框圖;
圖9為針對示范的FDHDIMM中數(shù)據(jù)從Flash存儲器傳到DRAM存儲器以及從DRAM存儲器傳到Flash存儲器的的流程圖;
圖10為展示了將DRAM地址空間映射到Flash存儲空間的框圖;
圖11為使用各種平均塊使用時間的不同DRAM密度在寫回Flash存儲器的一個隊列中對最大允許封閉塊的評估表格。
【具體實(shí)施方式】
[0067]本文在計算機(jī)系統(tǒng)、服務(wù)器、控制器、存儲器模塊、硬盤驅(qū)動和軟件前提下對實(shí)施例進(jìn)行了描述。本領(lǐng)域的一般技術(shù)人員將認(rèn)識到下面所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本領(lǐng)域技術(shù)人員很容易借助本發(fā)明的優(yōu)先想到其他實(shí)施例?,F(xiàn)在,將做出詳細(xì)參考以執(zhí)行附圖所示的實(shí)施例。附圖和以下描述所使用的相同的參考編號涉及相同或相似的物件。
[0068]為了本發(fā)明的描述更清晰,沒有對本文所描述的實(shí)現(xiàn)方式的全部常規(guī)特征都進(jìn)行顯示和敘述。當(dāng)然,可以理解的是,在發(fā)展任何這樣的實(shí)際實(shí)現(xiàn)中,必須做出許多的特定于實(shí)現(xiàn)的決定以實(shí)現(xiàn)開發(fā)人員的具體目標(biāo),如符合應(yīng)用和業(yè)務(wù)相關(guān)的約束,并且這些具體目標(biāo)從一種實(shí)現(xiàn)方式到另一種實(shí)現(xiàn)方式以及從一個開發(fā)人員到另一個開發(fā)人員將會改變。此夕卜,還可以理解的是,這樣的開發(fā)工作可能是負(fù)責(zé)并且費(fèi)時的,然而,借助于本發(fā)明,對于本領(lǐng)域一般技術(shù)人員而言這不過是常規(guī)工程任務(wù)。
[0069]根據(jù)本發(fā)明,本文所述的組件、處理步驟和/或數(shù)據(jù)結(jié)構(gòu)可以使用各種類型的操作系統(tǒng)、計算平臺、計算機(jī)程序和/或通用設(shè)備實(shí)現(xiàn)。此外,本領(lǐng)域一般技術(shù)人員將認(rèn)識到也可以使用具有更少通用用途的設(shè)備,如硬連接設(shè)備、現(xiàn)場可編程門陣列(FieldProgrammable Gate Array, FPGA)、專用集成電路(Application Specific IntegratedCircuit,ASIC)等等,而不脫離本發(fā)明的范圍和精神。由計算機(jī)或機(jī)器實(shí)現(xiàn)的包含一系列處理步驟的方法以及這些處理步驟可以存儲為一系列機(jī)器可讀指令,它們可能存儲在有形媒介中,如計算機(jī)存儲設(shè)備(例如,ROM (Read Only Memory,只讀存儲器)、PR0M (Progra_ableRead Only Memory,可編程只讀存儲器)、EEPR0M (Electrically Eraseable ProgrammableRead Only Memory,電可擦除可編程只讀存儲器)、Flash存儲器、跳轉(zhuǎn)驅(qū)動(Jump Drive)等等)、磁存儲媒質(zhì)(例如,磁帶、磁盤驅(qū)動器等等)、光存儲媒質(zhì)(例如,CD-ROM、DVD-ROM、紙卡和紙帶等等),以及其他類型的程序存儲器。
[0070]本文用到的“示范的”術(shù)語用來表示“作為一個例子、實(shí)例或說明”。本文描述的任何“示范的”實(shí)施例不一定被理解為比其他實(shí)施例更優(yōu)或更好。
[0071]本文所公開的配置可以提高存儲器訪問速率和處理讀數(shù)據(jù)吞吐率和寫數(shù)據(jù)吞吐率間的懸殊差異(15比I的比率)。在一個配置中,使用了具有集成的Flash-DRAM的Flash-DRAM混合DIMM (FDHDIMM)。下面將介紹對這種配置的控制方法。
[0072]在一些實(shí)施例中,DIMM的實(shí)際存儲密度(大小或容量)和/或DRAM存儲器到Flash存儲器的比率都是可配置的以實(shí)現(xiàn)特定應(yīng)用的最優(yōu)化使用(例如,P0S、銀行同業(yè)交易、證券市場交易、如汽車和船舶設(shè)計流體動力學(xué)等的科學(xué)計算、天氣預(yù)報、石油和天然氣勘探、如基于模糊邏輯的診斷、醫(yī)用數(shù)據(jù)處理等的醫(yī)療診斷、如例如,網(wǎng)頁搜索、零售商店網(wǎng)站、公司主頁、電子郵件或信息分發(fā)和存檔等的簡單的信息共享和搜索、安全服務(wù)以及如視頻點(diǎn)播等的娛樂)。
[0073]在一些實(shí)施例中,所述設(shè)備包括具有低密度DRAM的高密度Flash存儲器,其中,該DRAM用作讀/寫操作的數(shù)據(jù)緩存。該Flash充當(dāng)主存儲器。這里描述的實(shí)施例克服了在啟動命令(可以稱為RAS)和對應(yīng)的讀或?qū)懨?可以稱為開始CAS命令)間對長的間隔期的需要。
[0074]根據(jù)本發(fā)明的一個實(shí)施例,參考圖3A和3B,存儲系統(tǒng)300包括非易失(例如,F(xiàn)lash)存儲子系統(tǒng)302和易失(例如DRAM)存儲子系統(tǒng)304。圖3A和3B的例子針對非易失DMM (NVDIMM) NVDMM系統(tǒng)架構(gòu),該系統(tǒng)可能把包括電池或電容器的電源子系統(tǒng)(未顯示)用作能量存儲以便在運(yùn)行過程中檢測到發(fā)生或預(yù)計發(fā)生供電中斷時將DRAM存儲器上的數(shù)據(jù)復(fù)制到Flash存儲器上。當(dāng)供電恢復(fù)正常時,發(fā)起恢復(fù)NVDIMM操作,存儲在Flash存儲器中的數(shù)據(jù)被正確地存儲進(jìn)DRAM存儲器。在這種架構(gòu)中,F(xiàn)lash的密度和DRAM存儲容量差不多一樣,或者在幾倍的范圍內(nèi),然而,在一些應(yīng)用中,F(xiàn)lash的密度可能更大。這種架構(gòu)還可能用于提供連接至FSB (前端總線)非易失存儲以支持基于RAID (Redundant Arrayof Independent Disk,獨(dú)立磁盤冗余陣列)的系統(tǒng)或其他類型的操作。NVDIMM控制器306接收并解析來自系統(tǒng)存儲控制器集線器(Memory Controller Hub,MCH)的命令。該NVDIMM控制器306控制NVDIMM DRAM和Flash存儲器的操作。在圖3A中,DRAM 304與MCH進(jìn)行數(shù)據(jù)通信,而內(nèi)部總線308用于DRAM存儲子系統(tǒng)和Flash存儲子系統(tǒng)間的數(shù)據(jù)傳輸。在圖3B中,NVDIMM 300’的NVDIMM控制器306’監(jiān)視事件或命令并且使得DRAM 304’和Flash302’間的第一模式或DRAM和MCH間的第二模式發(fā)生數(shù)據(jù)傳輸。
[0075]根據(jù)本發(fā)明的一個實(shí)施例,F(xiàn)lash-DRAM混合DIMM (FDHDIMM)系統(tǒng)400的一般架構(gòu)如圖4A所示。FDHDI麗與MCH接合以操縱和用作高密度DIMM,其中,與MCH接合的非易失存儲子系統(tǒng)(例如,F(xiàn)lash)402由FDHDIMM控制器404控制。雖然MCH通過FDHDIMM控制器與Flash接合,但是FDHDIMM全部性能由Flash訪問時間決定。易失存儲子系統(tǒng)(例如,DRAM)406主要用作數(shù)據(jù)緩存或臨時存儲位置,使得來自Flash存儲器402的數(shù)據(jù)能夠以Flash訪問速度傳輸?shù)紻RAM 406,并緩存或收集進(jìn)DRAM 406,而后該易失存儲子系統(tǒng)將緩存的數(shù)據(jù)基于DRAM訪問時間傳輸?shù)組CH。類似地,當(dāng)MCH傳輸數(shù)據(jù)到DRAM 406,F(xiàn)DHDIMM控制器404管理從DRAm406到Flash 402的數(shù)據(jù)傳輸。由于Flash存儲訪問速度(讀和寫)相對DRAM要慢,(例如,讀訪問需要幾百毫秒),F(xiàn)DHDIMM 400的平均數(shù)據(jù)吞吐率受限于Flash訪問速度。因此,DRAM 406充當(dāng)需要傳入/傳出Flash 402的數(shù)據(jù)的臨時存儲。此外,根據(jù)本發(fā)明的一個實(shí)施例,MCH將作為高密度DIMM運(yùn)作的FDHDIMM的物理密度僅識別為Flash密度。
[0076]根據(jù)本發(fā)明的一個實(shí)施例,讀操作可以由MCH通過向FDHDIMM 400發(fā)送啟動命令(可以簡單地稱為RAS,或行地址選通)以進(jìn)行從Flash 402到DRAM 406的預(yù)取讀數(shù)據(jù)操作來執(zhí)行,預(yù)取數(shù)據(jù)大小為,例如,一頁(IKB或2KB,或可以設(shè)計為任意大小)。接著MCH發(fā)送讀命令(可以簡單地稱為CAS,或列地址選通)以從DRAM讀取數(shù)據(jù)。在這個實(shí)施例中,從Flash到DRAM的數(shù)據(jù)傳輸發(fā)生在Flash訪問速率,而從DRAM到MCH的數(shù)據(jù)傳輸發(fā)生在DRAM訪問速率。在這個實(shí)施例中,只要讀操作執(zhí)行在預(yù)先發(fā)送的以從Flash預(yù)取數(shù)據(jù)到DRAM的啟動命令打開的頁上,數(shù)據(jù)延遲和吞吐率與任意DRAM操作相同。因此,考慮到從Flash預(yù)取數(shù)據(jù)到DRAM需要花費(fèi)的時間,RAS (例如,啟動命令)和首個CAS (列地址選通,例如,讀或?qū)懨?間需要更長的間隔時間。
[0077]圖4B展示了運(yùn)作為具有SSD的DDR DIMM的FDHDIMM的例子,其中,F(xiàn)DHDIMM 400’具有到MCH的兩個不同接口解析。在第一個接口解析中,MCH把FDHDMM 400’看作DRAMDIMM和SSD (未顯示)的組合。以這種方式,MCH需要管理兩個地址空間,一個用于DRAMs402’,另一個用于Flash 404’。MCH連接并控制DRAM存儲子系統(tǒng)和Flash存儲子系統(tǒng)。這種方式的一個優(yōu)點(diǎn)是當(dāng)數(shù)據(jù)從DRAM轉(zhuǎn)移到Flash或者從Flash到DRAM,CPU不需要在數(shù)據(jù)路徑中。在第二接口解析中,MCH把FDHDMM 400’看作在擴(kuò)展的內(nèi)存空間中具有SSD的DMM上Flash,該擴(kuò)展的內(nèi)存空間在DRAM空間之后。因此,以這種方式,MCH物理地從SSD獲取數(shù)據(jù)到DDR DRAM,接著DRAM將該數(shù)據(jù)發(fā)送到MCH。由于所有的數(shù)據(jù)傳送都發(fā)生在FDHDI麗上,這種方式比起通過或經(jīng)過CPU傳送數(shù)據(jù)提供更好的性能。
[0078]根據(jù)本發(fā)明的一個實(shí)施例,如圖4B所示,F(xiàn)DHDI麗400’接收來自MCH的控制信號,其中,該控制信號可能包括專門針對DRAM 402’操作的一個或多個控制信號和專門針對Flash 404’操作的一個或多個控制信息。在這個實(shí)施例中,MCH或CPU通過將MCH連接至DRAM的單數(shù)據(jù)總線接口 410連接到FDHDI麗。
[0079]圖5A和5B為連接到主系統(tǒng)(未顯示)的存儲器模塊500的框圖。該主系統(tǒng)可能為服務(wù)器或包含存儲系統(tǒng)控制器或向一個或多個存儲系統(tǒng)提供并控制讀/寫訪問的MCH的任何其他系統(tǒng),其中,每個存儲系統(tǒng)可能包括多個存儲子系統(tǒng)、多個存儲設(shè)備或至少一個存儲器模塊。術(shù)語“讀/寫訪問”表示MCH與存儲系統(tǒng)或子系統(tǒng)接口的性能,以向其寫入或從其讀取數(shù)據(jù),該性能取決于特殊時間的特殊要求。
[0080]在一些實(shí)施例中,存儲器模塊500為Flash-DRAM混合存儲器系統(tǒng),該系統(tǒng)可能集成有主系統(tǒng)的其他組件。在一些實(shí)施例中,存儲器模塊500為具有DIMM(雙內(nèi)聯(lián)存儲模塊)形狀因數(shù)的Flash-DRAM混合存儲器模塊,其可以被稱作FDHDIMM,然而,可以理解的是,它與上述FDHDI麗和參照圖4A和4B的描述在結(jié)構(gòu)和操作上可能不同。存儲器模塊500包括兩個模塊上中間組件:控制器和數(shù)據(jù)管理器。這些模塊上中間組件可能是物理上分離的組件、電路或模塊,或者它們可能集成到一個集成電路或設(shè)備上,或者與其他存儲設(shè)備集成,例如,在三維堆棧中,或在本領(lǐng)域技術(shù)人員已知用以實(shí)現(xiàn)特定設(shè)計、應(yīng)用或經(jīng)濟(jì)目標(biāo)的其他可能的若干集成的實(shí)施例中的任意一個中。至于DIMM,這些模塊上中間組件為DIMM上控制器(⑶C) 502和DMM上數(shù)據(jù)管理器(DMgr) 504。盡管DMM形狀因子將占本文討論的主導(dǎo)地位,可以理解的是,這只是為了便于說明,存儲系統(tǒng)也是可以考慮使用其他形狀因子。⑶C502和數(shù)據(jù)管理器DMgr 504用于管理非易失存儲子系統(tǒng)(如Flash 506)和易失存儲子系統(tǒng)(如DRAM 508)間的接口,以及由MCH 510所代表的主系統(tǒng)。
[0081 ] 在一些實(shí)施例中,⑶C 502控制從DRAM存儲器508到Flash存儲器506或從Flash存儲器506到DRAM存儲器508,以及從MCH 510.到Flash 506或從Flash 506到MCH 510的讀/寫訪問。DRAM 508,Flash 506和MCH 510間的讀/寫訪問在這一般可以稱為通信,其中,控制和訪問信息C/A 560從MCH 510發(fā)送到⑶C 502,并且可能的數(shù)據(jù)傳輸遵循數(shù)據(jù)550、數(shù)據(jù)555和/或數(shù)據(jù)556所示的路徑。在一些實(shí)施例中,⑶C 502執(zhí)行特定功能來進(jìn)行存儲地址轉(zhuǎn)換,如地址轉(zhuǎn)換、映射或地址域轉(zhuǎn)換、Flash訪問控制、數(shù)據(jù)錯誤糾正、Flash存儲器和DRAM間數(shù)據(jù)位寬或數(shù)據(jù)格式調(diào)整或數(shù)據(jù)調(diào)制,等等。在一些實(shí)施例中,⑶C 502確保存儲器模塊500依照特定工業(yè)標(biāo)準(zhǔn),如DDR、DDR2、DDR3、DDR4協(xié)議,提供對MCH的透明操作。在如圖5A和5B所示的配置中,沒有從MCH 510到Flash 506存儲子系統(tǒng)的直接訪問。因此,根據(jù)一些實(shí)施例,F(xiàn)lash訪問速度對整個FDHDIMM訪問速度的影響微乎其微。在圖5B的示意圖中,根據(jù)一個實(shí)施例,CDC控制器505從MCH接收標(biāo)準(zhǔn)DDR命令,解析并生產(chǎn)命令和/或控制信號來控制數(shù)據(jù)管理器(DMgr)、Flash存儲器和DRAM存儲器的操作。DMgr控制DRAM.Flash和MCH之間的數(shù)據(jù)路徑的選路,正如下面所提到的。數(shù)據(jù)路徑選路控制信號獨(dú)立運(yùn)作沒有任何排外性。
[0082]參照圖6,將對DMgr 504的示范作用進(jìn)行描述。在一些實(shí)施例中,響應(yīng)來自⑶C502的通信,DMgr 504提供了各種功能來控制數(shù)據(jù)流速率、數(shù)據(jù)傳輸大小、數(shù)據(jù)緩存大小、數(shù)據(jù)錯誤監(jiān)測或數(shù)據(jù)錯誤糾正。例如,這些功能或操作可以即時執(zhí)行(當(dāng)數(shù)據(jù)通過DMgr 504傳輸)或在DRAM或緩存中緩存或存儲的數(shù)據(jù)上執(zhí)行。此外,DMgr 504的一個作用是在各種存儲子系統(tǒng)或組件和/或MCH 510中提供互操作性。
[0083]在一個實(shí)施例中,示范的主系統(tǒng)運(yùn)作開始于初始化。⑶C 502從MCH 510接收第一個命令,使用特定存儲空間對FDHDIMM 500進(jìn)行初始化。由MCH 510控制的該存儲空間,在初始化期間或初始化完成后可以被配置或編程。MCH 510可以通過針對主系統(tǒng)需要運(yùn)行或執(zhí)行的特定應(yīng)用優(yōu)化的各種方式對該存儲空間進(jìn)行分割或解析。在一個實(shí)施例中,CDC 502使用MCH 510通過第一個命令發(fā)送的信息映射實(shí)際物理Flash 506和DRAM 508存儲空間。在一個實(shí)施例中,⑶C 502使用接收到的來自主系統(tǒng)的、存儲在FDHDIMM 500寄存器中的或存儲在非易失存儲子系統(tǒng)的存儲單元中的存儲地址映射信息映射Flash 506和DRAM 508存儲子系統(tǒng)中的任意一個的存儲地址空間,例如,F(xiàn)lash 506的一部分或單獨(dú)的非易失存儲子系統(tǒng)。在一個實(shí)施例中,該存儲地址空間信息對應(yīng)FDHDIMM 500初始化信息的一部分。
[0084]在一個實(shí)施例中,MCH 510可能發(fā)送從Flash 506恢復(fù)一定量的數(shù)據(jù)信息到DRAM508的命令。⑶C 502提供控制信息到DMgr 504,從而適當(dāng)?shù)貜腇lash 506復(fù)制必要信息到DRAM 508。這種操作可以對各種主系統(tǒng)啟動操作和/或特定主系統(tǒng)上電操作提供支持。
[0085]在一個實(shí)施例中,MCH 510發(fā)送可能包含各種字段的命令,該字段包括關(guān)于數(shù)據(jù)傳輸大小、數(shù)據(jù)格式選項和/或啟動時間的控制信息。CDC 502接收并解析該命令,并向DMgr 504提供控制信息,從而控制Flash 506,DRAM 508和MCH 510間的數(shù)據(jù)通信。例如,DMgr 504從CDC 502接收數(shù)據(jù)傳輸大小、格式信息、數(shù)據(jù)流方向(通過一個或多個多路選擇器,如下面所述的611、612、621、622),以及實(shí)際數(shù)據(jù)傳輸?shù)膯⑹緯r間。DMgr 504還可能從⑶C 502接收附加的控制信息,從而建立數(shù)據(jù)流路徑和/或正確地建立數(shù)據(jù)傳輸結(jié)構(gòu)。在一些實(shí)施例中,DMgr 504還用作雙向數(shù)據(jù)傳輸結(jié)構(gòu)。例如,DMgr 504可能具有兩組以上面向Flash 506和DRAM 508的數(shù)據(jù)端口。多路選擇器611和612提供從DRAM 508(1)和508(2) (DRAM-A和DRAM-B)中任意一個到MCH 510和Flash 506中任意一個的可控制的數(shù)據(jù)路徑。類似的,多路選擇器621和622提供從MCH 510和Flash 506中任意一個到DRAM 508(1)和508 (2) (DRAM-A和DRAM-B )中任意一個的可控制的數(shù)據(jù)路徑。在一個實(shí)施例中,DRAM 508(1)是DRAM 508的一段,而在其他實(shí)施例中,DRAM 508(1)是單獨(dú)的DRAM存儲子系統(tǒng)。可以理解的是,每個存儲段能夠包含一個或多個存儲電路、存儲設(shè)備和/或存儲集成電路。當(dāng)然,DRAM 508的其他配置也是可以的,并且也可以考慮使用復(fù)雜數(shù)據(jù)路徑的其他數(shù)據(jù)傳輸結(jié)構(gòu)和合適類型的多路選擇邏輯。
[0086]根據(jù)本發(fā)明的一個實(shí)施例,兩組多路選擇器611、612和621、622允許從DRAM-A508(1)和DRAM-B 508(2)到Flash 506的獨(dú)立數(shù)據(jù)傳輸。例如,響應(yīng)來自CDC 502的一個或多個控制信號或命令,DMgr 504可以通過多路選擇器611從DRAM-A 508(1)向MCH 510傳輸數(shù)據(jù),同時,通過多路選擇器612從DRAM-B 508(2)向Flash 506傳輸數(shù)據(jù);或者數(shù)據(jù)通過多路選擇器611從DRAM-B 508(2)傳輸?shù)組CH 510,同時,數(shù)據(jù)通過多路選擇器621從Flash 506傳輸?shù)紻RAM-A 508(1)。此外,通過相同的方式,數(shù)據(jù)可以以全局或分段方式傳入或傳出DRAM存儲器,數(shù)據(jù)可以以全局或分段方式傳入或傳出Flash存儲器,因而可以訪問并存取Flash存儲器。
[0087]根據(jù)本發(fā)明的一個實(shí)施例,DMgr 504數(shù)據(jù)傳輸結(jié)構(gòu)舉例說明的配置還允許⑶C502通過使用緩存602緩存來自Flash506的數(shù)據(jù),以及匹配MCH 510的數(shù)據(jù)速率和/或數(shù)據(jù)格式,從而控制從Flash存儲器到MCH的數(shù)據(jù)傳輸。如圖6所示,緩存602是數(shù)據(jù)格式模塊604的一部分。然而,緩存602也可能是分散式的緩存,這樣多路選擇器邏輯元件組,顯示為多路選擇器611、612、621和622,中的每一個均使用一個緩存??梢允褂酶鞣N緩存配置,諸如大小可編程的緩存,以滿足給定系統(tǒng)設(shè)計要求,例如,讀/寫訪問時間之間的差異;或整體系統(tǒng)性能,例如,延遲。在一些實(shí)施例中,緩存604可以對MCH 510.DRAM508和Flash506間的數(shù)據(jù)通信路徑引入一個或多個時鐘周期的時滯。
[0088]在一些實(shí)施例中,數(shù)據(jù)格式模塊604包括數(shù)據(jù)格式化子系統(tǒng)(為顯示),使得DMgr依照接收到的來自CDC502的控制信息將數(shù)據(jù)以一定格式傳輸。上面討論的數(shù)據(jù)格式模塊602的數(shù)據(jù)緩存604還支持連接至Flash存儲器506工作在第一頻率的寬數(shù)據(jù)總線606,而使用位寬較小且工作在第二頻率的數(shù)據(jù)總線608從DRAM508接收數(shù)據(jù),在一些實(shí)施例中,該第二頻率大于該第一頻率。緩存602設(shè)計用以匹配DRAM 508和Flash 506間的數(shù)據(jù)流速率。
[0089]寄存器690提供寄存通過C/A 560 (圖5A)接收來自MCH 510的命令的能力。寄存器690可能將這些命令傳達(dá)至⑶C 502和/或DRAM 508和/或Flash 506。寄存器690將這些寄存的命令傳達(dá)至⑶C 502進(jìn)行處理。寄存器690還可能包括多個寄存器(未顯示),這樣其可以提供存儲多個命令、一系列命令的能力,或?yàn)榻邮盏降膩碜訫CG510的特定命令的緩存和提供受控的執(zhí)行而提供流水延時。
[0090]在一些實(shí)施例中,寄存器690可能寄存來自MCH 510的命令,并將寄存的命令傳送至DRAM 508和/或Flash 506存儲子系統(tǒng)。在一些實(shí)施例中,⑶C 502通過控制和地址總線C/A 560監(jiān)控接收到的來自MCH510的命令,并向DMgr 504,DRAM 508或Flash 506提供合適的控制信息以實(shí)行這些命令并通過MCH數(shù)據(jù)總線610在MCH 510和FDHDI麗500間執(zhí)行數(shù)據(jù)傳輸操作。
[0091]圖7為⑶C 502的功能框圖。在一些實(shí)施例中,⑶C 502主要的功能模塊為DRAM控制模塊 DRAMCtrl 702、Flash 控制模塊 FlashCtrl 704、MCH 命令解析模塊 Cmdlnt 706、DRAM-Flash 接口調(diào)度模塊 Scheduler 708 和 DMgr 控制模塊 DMgrCtrl 710。
[0092]根據(jù)本發(fā)明的一個實(shí)施例,DRAMCtrl 702生產(chǎn)獨(dú)立于MCH 510發(fā)出的命令的DRAM命令。根據(jù)發(fā)明的一個實(shí)施例,當(dāng)MCH 510向當(dāng)前正在執(zhí)行來自DRAMCtrl 702命令的相同的DRAM 508發(fā)起讀/寫操作時,⑶C 502可能選擇指示DRAMCtrl 702中止其操作,從而執(zhí)行由MCH發(fā)起的操作。然而,⑶C 502還可能流水化處理該操作,這樣其導(dǎo)致在執(zhí)行MCH的操作前DRAMCtrl 702既可以停止也可以完成它當(dāng)前的操作。一旦來自MCH 510的命令完成了,⑶C 502還可以指示DRAMCtrl 702繼續(xù)它的操作。
[0093]根據(jù)本發(fā)明的一個實(shí)施例,FlashCtrl 704為適當(dāng)?shù)刈x/寫操作生產(chǎn)合適的Flash命令。Cmdlnt 706截獲接收到的來自MCH 510的命令,生成合適的控制信息和控制信號,并將它們傳送至合適的FDHDIMM功能模塊。例如,當(dāng)MCH發(fā)出與當(dāng)前正在執(zhí)行的或等待執(zhí)行的DRAMCtrl 702發(fā)起的獨(dú)立于MCH 510的命令沖突(抵觸)的命令,Cmdlnt 706向DRAMCtrl702發(fā)出中斷信號,從而使得上述來自DRAMCtrl的命令從屬與來自MCH的命令。調(diào)度器708對Flash-DRAM接口操作進(jìn)行調(diào)度,使得DMgr 504中不存在資源沖突。根據(jù)本發(fā)明的一個實(shí)施例,調(diào)度器708基于當(dāng)前狀態(tài)和接收到的或可接收到的來自MCH的掛起的命令為DRAMCtrl 702和FlashCtrl 704操作分配時隙。DMgrCtrl 710為正確操作及控制數(shù)據(jù)傳輸結(jié)構(gòu)生成并發(fā)送合適的控制信息和控制信號,以使能或不使能Flash 506,DRAM 508和MCH510間的數(shù)據(jù)路徑。
[0094]FIG.8A 為 Flash-DRAM 混合 DIMM (FDHDIMM) 801 的框圖。如圖 8A 所示,F(xiàn)lash-DRAM混合DMM要求兩個分離且獨(dú)立的地址總線來分別控制地址空間:一個用于Flash 存儲器 Flash 803,另一個用于 DRAM 存儲器 DRAM 805。MCH 810 把 DRAM 805 和 Flash803看作單獨(dú)的存儲子系統(tǒng),例如,DRAM存儲子系統(tǒng)和SSD/HD存儲子系統(tǒng)。在每個地址空間中的存儲器均由MCH直接控制。然而,F(xiàn)lash 803和DRAM 805間的DIMM上數(shù)據(jù)路徑807允許Flash 803和DRAM 805間發(fā)生直接數(shù)據(jù)傳輸以響應(yīng)來自Ctrl 830的控制信息。在這個實(shí)施例中,數(shù)據(jù)傳輸機(jī)制為執(zhí)行來自MCH的命令提供直接支持,無需MCH直接控制數(shù)據(jù)傳輸,這提高了從Flash 803到DRAM 805的數(shù)據(jù)傳輸性能。然而,MCH需要同時管理兩個地址空間和兩個不同的存儲器協(xié)議。此外,MCH需要將DRAM存儲空間映射到Flash存儲空間,并且由于Flash存儲器和DRAM存儲器的數(shù)據(jù)訪問時間不同,因此數(shù)據(jù)接口時間將會受到負(fù)面影響。
[0095]根據(jù)本發(fā)明的一個實(shí)施例,F(xiàn)lash-DRAM混合DIMM的存儲空間映射如圖8B所示。主系統(tǒng)的存儲控制器(未顯示)使用單一地址空間控制DRAM 508地址空間和Flash 506地址空間。⑶C 502從MCH接收存儲器訪問命令,并為合適的映射和Flash和DRAM存儲子系統(tǒng)間的數(shù)據(jù)傳輸生成控制信息,以正確實(shí)施存儲器訪問命令。在一個實(shí)施例中,主系統(tǒng)的存儲控制器視大的Flash存儲空間為DRAM存儲空間,并且使用訪問DRAM的標(biāo)準(zhǔn)DDR(doubledata rate,雙數(shù)據(jù)速率)協(xié)議訪問該統(tǒng)一了的存儲空間。在這種情況下,該統(tǒng)一了的存儲空間可以顯示Flash 506和DRAM 508間重疊的存儲地址空間。該重疊的存儲地址空間可能用作Flash 506和DRAM 508間的數(shù)據(jù)傳輸?shù)臅捍婊蚓彺?。例如,DRAM存儲空間可能保存有復(fù)制自選擇的Flash存儲空間的數(shù)據(jù),因此MCH能夠通過DDR存儲器訪問命令訪問該數(shù)據(jù)。⑶C 502響應(yīng)接收到的來自主系統(tǒng)存儲控制器的命令來控制Flash 506和DRAM 508存儲子系統(tǒng)。
[0096]在一個實(shí)施例中,統(tǒng)一了的存儲空間對應(yīng)連續(xù)的地址空間,該連續(xù)的地址空間包括Flash 506地址空間的第一部分和DRAM 508地址空間的第一部分。Flash 506地址空間的第一部分可以通過保存有對應(yīng)需要使用的Flash存儲大小的第一值的第一可編程寄存器確定。類似的,DRAM 508地址空間的第一部分可以通過保存有對應(yīng)需要使用的DRAM存儲大小的第二值的第二可編程寄存器確定。在一個實(shí)施例中,F(xiàn)lash 506地址空間的第一部分和DRAM 508地址空間的第一部分中的任意一個均可以通過對應(yīng)性能要求或存儲器大小的第一值確定,該第一值通過主系統(tǒng)的存儲控制器發(fā)送的命令由⑶C 502接收。
[0097]根據(jù)本發(fā)明的一個實(shí)施例,圖9為針對示范的FDHDIMM中數(shù)據(jù)從Flash存儲器傳到DRAM存儲器以及從DRAM存儲器傳到Flash存儲器的流程圖。在一些實(shí)施例中,從Flash506到DRAM 508的數(shù)據(jù)傳輸按照CDC 502接收的來自主系統(tǒng)存儲控制器的存儲器訪問命令進(jìn)行。在一些實(shí)施例中,⑶C 502控制從DRAM 508到Flash 506的數(shù)據(jù)傳輸,以避免與當(dāng)前正執(zhí)行的任何存儲操作沖突。例如,當(dāng)特定DRAM存儲塊中的全部頁都關(guān)閉。CDC 502為了對所需應(yīng)用的支持最優(yōu)化,將DRAM存儲空間劃分為若干塊??刂破骰诮邮盏降膩碜訫CH的一個或多個命令、接收到的來自MCH的指令、寫入寄存器的可編程值、對應(yīng)易失存儲子系統(tǒng)第一部分的值、對應(yīng)非易失存儲子系統(tǒng)第一部分的值和時序值中的至少一個對存儲器模塊中的存儲空間進(jìn)行配置。此外,塊大小可以由主系統(tǒng)的存儲控制器配置,這樣,可以優(yōu)化塊中的頁數(shù)以支持特定的應(yīng)用或任務(wù)。進(jìn)一步地,塊大小可以即時配置,例如,⑶C 502可以通過存儲器命令或可編程值從存儲控制器接收關(guān)于需要的塊大小的指令。
[0098]在一些實(shí)施例中,存儲控制器使用標(biāo)準(zhǔn)訪問協(xié)議(如JEDEC的DDR DRAM)通過向CDC 502發(fā)送存儲器訪問命令訪問存儲器模塊,其中,CDC 502依次確定數(shù)據(jù)傳輸操作的類型以及對應(yīng)的存儲數(shù)據(jù)信息的目標(biāo)地址,例如,數(shù)據(jù)信息存儲在DRAM 508或Flash 506存儲子系統(tǒng)中。響應(yīng)讀操作時,如果CDC 502確定數(shù)據(jù)信息,如頁(或塊),不屬于DRAM 508而屬于Flash 506,那么⑶C 502將發(fā)起并控制從Flash 506到DRAM 508的全部必要的數(shù)據(jù)傳輸操作,隨后再將數(shù)據(jù)傳輸?shù)酱鎯刂破鳌T谝粋€實(shí)施例中,一旦CDC 502完成請求的數(shù)據(jù)信息從Flash 506到DRAM 508的數(shù)據(jù)傳輸,⑶C 502將通知存儲控制器從DRAM 508取回數(shù)據(jù)信息。在一個實(shí)施例中,存儲控制器通過向⑶C 502中的寄存器寫入目標(biāo)Flash地址和有效的塊大小,發(fā)起從Flash 506到DRAM 508的數(shù)據(jù)信息復(fù)制。⑶C 502依次執(zhí)行合適的操作并生成控制信息以將數(shù)據(jù)信息復(fù)制到DRAM 508。因此,存儲控制器可以使用標(biāo)準(zhǔn)存儲器訪問命令或協(xié)議訪問或取回數(shù)據(jù)信息。
[0099]圖9為一個示范的流程圖,先是起始步驟或上電902,接著為初始化步驟904,存儲控制器初始化,在步驟906中,通過向⑶C 502的控制寄存器寫入目標(biāo)地址和大小,數(shù)據(jù)從Flash 506移至DRAM 508,在步驟908中,CDC 502將數(shù)據(jù)從Flash 506復(fù)制至DRAM 508并擦除Flash中的塊。從Flash擦除數(shù)據(jù)信息可能獨(dú)立于(或同時于)在該流程圖中⑶C 502執(zhí)行的其他步驟完成,例如,在擦除Flash塊的步驟中,其他步驟可以同時執(zhí)行。一旦數(shù)據(jù)信息或數(shù)據(jù)信息塊移到了 DRAM 508上,在步驟910,存儲控制器可以使用標(biāo)準(zhǔn)存儲訪問協(xié)議或命令操作該數(shù)據(jù)塊。在步驟912,⑶C 502檢查是否每個DRAM 508塊或復(fù)制的塊都關(guān)閉了。如果DRAM 508中每個打開的塊都被存儲控制器關(guān)閉了,在步驟914,⑶C 502發(fā)起Flash寫操作將關(guān)閉的塊從DRAM 508寫到Flash 506。此外,在步驟916,存儲控制器重新打開當(dāng)前正被寫進(jìn)Flash 506的關(guān)閉的塊,然后⑶C 502停止Flash寫操作并擦除已經(jīng)被寫入的Flash塊,如步驟918所示。否則,⑶C 502在步驟920繼續(xù)并完成向Flash的寫操作。
[0100]圖9中的虛線表示了可以由⑶C 502執(zhí)行的單獨(dú)的或并行的活動。在任何時候,CDC 502接收到來自存儲控制器的DRAM加載命令,在步驟922,該存儲控制器向RC寄存器寫入Flash目標(biāo)地址和/或塊大小信息,如上所述。接著,⑶C 502執(zhí)行加載DRAM w/RC步驟906,并且發(fā)起包含步驟908-922的另一活動分支(線路)。在一個實(shí)施例中,⑶C 502控制DRAM 508和Flash 506間的數(shù)據(jù)傳輸操作,這樣,F(xiàn)lash 506對存儲控制器是完全隱藏的。⑶C 502監(jiān)控由存儲控制器使用標(biāo)準(zhǔn)DRAM協(xié)議發(fā)送的全部存儲器訪問命令,并且恰當(dāng)配置并操作Flash 506和DRAM 508存儲子系統(tǒng)來執(zhí)行被請求的存儲器訪問操作,并因此達(dá)到預(yù)期的效果。該存儲控制器不直接與Flash存儲子系統(tǒng)接口。代替的是,該存儲控制器與⑶C 502和/或DMgr 504接口,如圖5和圖6所示。此外,存儲控制器可能使用一種或多種協(xié)議,如DDR、DDR2、DDR3、DDR4協(xié)議等等。
[0101]根據(jù)本發(fā)明的一個實(shí)施例,圖10展示了將DRAM地址空間映射到Flash存儲地址空間的例子。形成24位擴(kuò)展存儲頁面地址的兩組(1002、1004) AD6到AD17的地址位分配為塊地址。例如,假定256K字節(jié)的塊大小,接著24位塊地址空間(使用兩組AD6到AD17的1002和1004)將能夠訪問4TB的Flash存儲器存儲空間。如果存儲器模塊具有IGB DRAM存儲容量,它可以在DRAM存儲器中保存大約4K個數(shù)據(jù)塊,每個塊包含265K字節(jié)數(shù)據(jù)。對應(yīng)4K個塊的DRAM地址空間可以分配給不同虛擬物理行(rank)和邏輯行(bank),其中,虛擬物理行和邏輯行的數(shù)量是可配置的,并且可以進(jìn)行操作以滿足特定設(shè)計或性能需求。例如,如果IG字節(jié)存儲器模塊被配置為兩個物理行,每個物理行具有八個邏輯行,接著,每個邏輯行可保存250個塊或相當(dāng)于62 M字節(jié)或62K頁面,其中每頁對應(yīng)IK字節(jié)。還可以使用具有不同頁數(shù)、塊數(shù)、物理行數(shù)或邏輯行數(shù)的其他配置。此外,圖10展示了使用上述塊尋址示范地將24位DDR DIMM塊地址映射到Flash存儲器地址上。該24位地址可以按字段分解,比如邏輯單元號LUN (Logical Unit Number)地址1060字段、塊(Block)地址1050字段、平面(Plane)地址1040、頁(Page)地址1030,以及一組最低有效地址位AOAl 1020。平面地址1040為塊地址的子地址,并且它可以用于支持多頁IO以便提高Flash存儲子系統(tǒng)的操作。在這個例子中,可以理解的是,該24位地址的每個字段可以分配不同個數(shù)的位數(shù)。
[0102]⑶C 502通過對準(zhǔn)備寫回Flash存儲器的塊進(jìn)行排序來管理塊寫回操作。如上所述,如果寫操作的排列了的塊中的任意一個頁被重新打開,那么CDC 502將停止該排列了的塊的寫操作,并將該塊移除隊列。一旦塊中的所有頁都關(guān)閉,那么CDC 502重新開始寫回操作并為寫操作將該塊排序。
[0103]根據(jù)本發(fā)明的一個實(shí)施例,執(zhí)行從Flash 506到DRAM 508示范的讀操作大約需要400 μ S,而執(zhí)行從Flash 506到DRAM 508示范的寫操作大約需要22 ms,導(dǎo)致讀寫比率為55比I。因此,如果主系統(tǒng)的存儲控制器花在訪問DRAM的塊中的數(shù)據(jù)信息的平均時間為22ms(這為包含一個或多個頁的塊打開的持續(xù)時間),那么從DRAM到Flash的塊寫回操作不會影響性能,并且讀和寫訪問間的差異因此可能完全對存儲控制器隱藏。如果塊使用時間為Ilms而不是22ms,那么⑶C 502控制DRAM 508和Flash 506間的數(shù)據(jù)傳輸操作,這樣,在隊列中不超過9個封閉塊可以寫回到Flash存儲器中,因此標(biāo)準(zhǔn)DDR DRAM操作可以持續(xù)大約IOOms的平均時間。此外,隊列中要寫回Flash存儲子系統(tǒng)的封閉塊的數(shù)量隨著平均塊使用時間以及特定主系統(tǒng)或使用該主系統(tǒng)資源運(yùn)行的特定應(yīng)用的性能要求的變化而變化。
[0104]因此,要寫回Flash的封閉塊的最大數(shù)可以約為
((每個邏輯行的塊數(shù))/ (Flash塊寫時間與Flash塊讀時間的比率)* ((塊使用時間)/ (Flash塊寫時間))
為了排列了的寫回塊持續(xù)小于IOOms時間周期,使用具有22ms每個塊的寫訪問時間的Flash存儲子系統(tǒng),導(dǎo)致對向Flash 506的寫操作最大數(shù)量為四的塊進(jìn)行排列。因此,塊平均大約88ms (22ms * 4)表示每個邏輯行不應(yīng)有超過四個的需要寫回Flash506的塊。
[0105]上式還表明了更大的DRAM存儲空間可以支持更短的塊使用時間。例如,2GB DRAM存儲器允許8個封閉塊寫回Flash。圖11為使用各種平均塊使用時間的不同DRAM密度在寫回Flash存儲器的一個隊列中對最大允許封閉塊的評估表格。
[0106]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種可連接到主系統(tǒng)的存儲控制器的存儲器模塊,包括: 非易失存儲子系統(tǒng); 數(shù)據(jù)管理器,其連接至所述非易失存儲子系統(tǒng); 易失存儲子系統(tǒng),其連接至所述數(shù)據(jù)管理器,并可操作,以通過該數(shù)據(jù)管理器與所述非易失存儲子系統(tǒng)交換數(shù)據(jù); 控制器,其可操作,以接收來自所述存儲控制器的命令,該控制器管理(I)所述非易失存儲子系統(tǒng)的運(yùn)作、(2)所述易失存儲子系統(tǒng)的運(yùn)作以及(3)基于至少一個接收到的來自所述存儲控制器的命令在所述存儲控制器、所述易失存儲子系統(tǒng)或所述非易失存儲子系統(tǒng)中的任意兩個或兩個以上之間的數(shù)據(jù)傳輸。
2.根據(jù)權(quán)利要求1所述的存儲器模塊,其特征在于,所述數(shù)據(jù)管理器響應(yīng)接收到的來自控制器的至少一個控制信號和控制信息來控制數(shù)據(jù)流速率、數(shù)據(jù)傳輸大小、數(shù)據(jù)緩存大小、數(shù)據(jù)錯誤監(jiān)測以及數(shù)據(jù)錯誤糾正中的一個或多個。
3.根據(jù) 權(quán)利要求1所述的存儲器模塊,其特征在于,所述數(shù)據(jù)管理器基于接收到的來自所述控制器的指令控制所述存儲控制器、所述易失存儲子系統(tǒng)或所述非易失存儲子系統(tǒng)中的任意兩個或兩個以上間的數(shù)據(jù)通信。
4.根據(jù)權(quán)利要求3所述的存儲器模塊,其特征在于,所述數(shù)據(jù)通信控制涉及數(shù)據(jù)流速率、數(shù)據(jù)傳輸大小、數(shù)據(jù)緩存大小、數(shù)據(jù)傳輸位寬、格式信息、數(shù)據(jù)流方向和數(shù)據(jù)傳輸起始時間中的任意一個或多個。
5.根據(jù)權(quán)利要求1所述的存儲器模塊,其特征在于,所述控制器響應(yīng)接收到的來自所述存儲控制器的命令和所述存儲器模塊的存儲地址空間初始化信息中的至少一個來配置所述易失存儲子系統(tǒng)的第一存儲地址空間和所述非易失存儲子系統(tǒng)的第二存儲地址空間中的至少一個。
6.根據(jù)權(quán)利要求1所述的存儲器模塊,其特征在于,所述數(shù)據(jù)管理器配置為具有兩組或兩組以上與所述易失存儲子系統(tǒng)和所述非易失存儲子系統(tǒng)中任意一個連接的數(shù)據(jù)端口的雙向數(shù)據(jù)傳輸結(jié)構(gòu)。
7.根據(jù)權(quán)利要求6所述的存儲器模塊,其特征在于,所述易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)中的至少一個包括一個或多個存儲段。
8.根據(jù)權(quán)利要求7所述的存儲器模塊,其特征在于,每個存儲段包括至少一個存儲電路、存儲設(shè)備或存儲晶粒。
9.根據(jù)權(quán)利要求1所述的存儲器模塊,其特征在于,所述易失存儲子系統(tǒng)包括DRAM存儲器。
10.根據(jù)權(quán)利要求7所述的存儲器模塊,其特征在于,至少一組數(shù)據(jù)端口由所述數(shù)據(jù)管理器進(jìn)行操作以獨(dú)自和/或同時地將數(shù)據(jù)傳入或傳出所述易失存儲子系統(tǒng)或所述非易失存儲子系統(tǒng)中的一個或多個存儲段。
11.根據(jù)權(quán)利要求6所述的存儲器模塊,其特征在于,所述數(shù)據(jù)控制器還包括數(shù)據(jù)格式模塊,用于根據(jù)接收到的來自所述控制器的控制信息將數(shù)據(jù)按一定格式在所述存儲控制器、所述易失存儲子系統(tǒng)和所述非易失存儲子系統(tǒng)中的任意兩個或兩個以上間傳輸。
12.根據(jù)權(quán)利要求11所述的存儲器模塊,其特征在于,所述數(shù)據(jù)管理器還包括數(shù)據(jù)緩存,用以緩存?zhèn)魅氲絺鞒鏊龇且资Т鎯ψ酉到y(tǒng)的數(shù)據(jù)。
13.—種通過存儲控制器管理存儲器模塊的方法,該存儲器模塊包括易失和非易失存儲子系統(tǒng),該方法包括: 接收來自所述存儲控制器的控制信息,其中,該控制信息使用易失存儲子系統(tǒng)的協(xié)議接收; 識別數(shù)據(jù)通路,該數(shù)據(jù)通路用于使用接收到的所述控制信息將數(shù)據(jù)傳入或傳出所述存儲器1旲塊; 使用所述存儲器模塊的數(shù)據(jù)管理器和控制器基于至少一個接收到的控制信息和識別的數(shù)據(jù)通路,在所述存儲控制器、所述易失存儲子系統(tǒng)和所述非易失存儲子系統(tǒng)中的任意兩個或兩個以上間傳輸數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述方法還包括操作所述數(shù)據(jù)管理器控制數(shù)據(jù)流速率,、數(shù)據(jù)傳輸大小、數(shù)據(jù)位寬大小、數(shù)據(jù)緩存大小、數(shù)據(jù)錯誤監(jiān)測、數(shù)據(jù)錯誤糾正和數(shù)據(jù)傳輸起始時間中的一個或多個。
15.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述方法還包括將所述數(shù)據(jù)管理器用作具有兩組或兩組以上與所述易失存儲子系統(tǒng)和所述非易失存儲子系統(tǒng)中任意一個連接的數(shù)據(jù)端口的雙向數(shù)據(jù)傳輸結(jié)構(gòu)。
16.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述易失存儲子系統(tǒng)和非易失存儲子系統(tǒng)中的至少一個包括一個或多個存儲段。
17.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述方法還包括操作所述數(shù)據(jù)端口以獨(dú)自和/或同時地將數(shù)據(jù)傳入或傳出所述易失存儲子系統(tǒng)或所述非易失存儲子系統(tǒng)中的一個或多個存儲段。
18.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述方法還包括響應(yīng)通過所述控制器接收到的來自存儲控制器的存儲器訪問命令,使用所述數(shù)據(jù)管理器管理所述易失存儲子系統(tǒng)和所述非易失存儲子系統(tǒng)間的數(shù)據(jù)雙向傳輸。
19.根據(jù)權(quán)利要求18所述的方法,其特征在于,所述方法還包括使用所述易失存儲子系統(tǒng)緩存所述存儲控制器和所述非易失存儲子系統(tǒng)間傳輸?shù)臄?shù)據(jù)。
20.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述方法還包括使用所述控制器執(zhí)行存儲器地址轉(zhuǎn)換、存儲器地址映射、地址域轉(zhuǎn)換、存儲器存取控制、數(shù)據(jù)錯誤糾正和易失存儲子系統(tǒng)與非易失存儲子系統(tǒng)間的數(shù)據(jù)位寬調(diào)節(jié)中的一個或多個。
21.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述方法還包括使用所述控制器基于以下至少一種信息配置所述存儲器模塊中的存儲空間:接收到的來自存儲控制器的命令,寫入寄存器的可編程的值,對應(yīng)易失存儲子系統(tǒng)開始部分的值,對應(yīng)非易失存儲子系統(tǒng)開始部分的值,以及時間值。
22.根據(jù)權(quán)利要求21所述的方法,其特征在于,所述控制器至少使用所述易失存儲子系統(tǒng)開始部分和所述非易失存儲子系統(tǒng)開始部分配置所述存儲器模塊的存儲空間,并且該控制器向所述存儲控制器給出統(tǒng)一的存儲空間。
23.根據(jù)權(quán)利要求21所述的方法,其特征在于,所述控制器使用專用的分割指令配置所述存儲器模塊中的存儲空間。
24.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述方法還包括: 當(dāng)所述存儲系統(tǒng)處于第一工作模式下,即數(shù)據(jù)在所述易失存儲子系統(tǒng)和所述主系統(tǒng)間通信時,所述易失存儲子系統(tǒng)工作在第一時鐘頻率; 當(dāng)所述存儲系統(tǒng)處于第二工作模式下,即數(shù)據(jù)在所述易失存儲子系統(tǒng)和所述非易失存儲子系統(tǒng)間通信時,所述非易失存儲子系統(tǒng)工作在第二時鐘頻率; 當(dāng)所述存儲系統(tǒng)處于所述第二工作模式下,所述易失存儲子系統(tǒng)工作在第三時鐘頻率,該第三時鐘頻率小于所述 第一時鐘頻率。
【文檔編號】G06F1/16GK103890688SQ201280047758
【公開日】2014年6月25日 申請日期:2012年7月28日 優(yōu)先權(quán)日:2011年7月28日
【發(fā)明者】李賢 , 陳季碩, 杰弗里·C.·索羅蒙, 斯科特·米爾頓, 杰西·巴克塔 申請人:奈特力斯公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
泰顺县| 岱山县| 莆田市| 察隅县| 揭东县| 项城市| 高安市| 衡阳市| 新昌县| 高邑县| 达州市| 迁安市| 荆门市| 固原市| 霍林郭勒市| 海林市| 临城县| 格尔木市| 东丽区| 双流县| 沁阳市| 玉门市| 唐山市| 舟山市| 谢通门县| 资中县| 图木舒克市| 枝江市| 石家庄市| 锡林郭勒盟| 牟定县| 汤原县| 金川县| 荔浦县| 兰州市| 思茅市| 嵊州市| 万州区| 重庆市| 双鸭山市| 永宁县|