基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)及其損耗均衡算法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)及其損耗均衡算法,包括內(nèi)外存控制器及其外圍設(shè)備以及與內(nèi)外存控制器連接的內(nèi)、外存存儲(chǔ)單元;所述內(nèi)存存儲(chǔ)單元為相變存儲(chǔ)器PCM和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM,所述外存存儲(chǔ)單元為相變存儲(chǔ)器PCM。本發(fā)明將傳統(tǒng)的計(jì)算機(jī)存儲(chǔ)體系結(jié)構(gòu)中分離的內(nèi)存與外存聯(lián)合起來(lái),數(shù)據(jù)讀寫(xiě)能力將比現(xiàn)在以外部I/O連接的外存高幾十萬(wàn)倍,同時(shí)非常省電,從根本上解決外存與內(nèi)存、傳統(tǒng)存儲(chǔ)層次結(jié)構(gòu)與處理器之間性能不匹配的矛盾,內(nèi)存和外存由同一控制器控制,讀寫(xiě)過(guò)程的速度和能耗可以比現(xiàn)有存儲(chǔ)系統(tǒng)優(yōu)越萬(wàn)倍以上,從而從根本上解決內(nèi)存與外存之間性能的巨大差異。
【專(zhuān)利說(shuō)明】基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)及其損耗均衡算法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于相變存儲(chǔ)器(Phase Change Memory, PCM)的內(nèi)外存存儲(chǔ)單元的存儲(chǔ)系統(tǒng)結(jié)構(gòu)及其損耗均衡算法。
【背景技術(shù)】
[0002]計(jì)算機(jī)存儲(chǔ)系統(tǒng)包括了內(nèi)存與外存。傳統(tǒng)的內(nèi)存(DRAM)與外存(硬盤(pán))在速度與能耗上存在巨大的差異,如圖1所示。
[0003]經(jīng)比較,相變存儲(chǔ)器PCM與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM相比,相變存儲(chǔ)器PCM是非易失的,不需要刷新操作;DRAM在硬件上所需的空間較大,它無(wú)法縮小到20納米或更小的芯片上實(shí)現(xiàn),而相變存儲(chǔ)器甚至可以在5納米的芯片上實(shí)現(xiàn)。因此,具有較強(qiáng)可塑性的相變存儲(chǔ)器PCM成為替代動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM的很有吸引力的存儲(chǔ)器。
[0004]但是使用相變存儲(chǔ)器PCM存在如下問(wèn)題:1、“讀” “寫(xiě)”速度的不對(duì)稱(chēng)。相對(duì)于讀操作而言,非易失性存儲(chǔ)器上的寫(xiě)操作較慢并消耗更多的能量;2、非易失性存儲(chǔ)器的擦寫(xiě)操作次數(shù)有限。因此仍然需要考慮相變存儲(chǔ)器PCM的損耗均衡問(wèn)題。
[0005]隨著相變存儲(chǔ)器PCM技術(shù)的發(fā)展,PCM可以提供比DRAM更多的存儲(chǔ)容量,同時(shí)維持低消耗、低功耗。已經(jīng)有幾種基于PCM的存儲(chǔ)架構(gòu)被提出來(lái)了。第一種存儲(chǔ)架構(gòu)是用PCM直接替代DRAM ;這是一種理想的架構(gòu),PCM的訪(fǎng)問(wèn)延遲不能滿(mǎn)足DDR接口的時(shí)序要求。另一種存儲(chǔ)架構(gòu)是在PCM之前用一小塊DRAM作為緩存,這種架構(gòu)的訪(fǎng)問(wèn)時(shí)間和性能接近只有DRAM的架構(gòu)。
[0006]在整個(gè)存儲(chǔ)架構(gòu)中,外存仍然是一個(gè)瓶頸。在之前的研究中,只有PCM被用來(lái)代替DRAM作為主存,而沒(méi)有用來(lái)替換硬盤(pán)作為外存的存儲(chǔ)器結(jié)構(gòu)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的就是為了解決上述問(wèn)題,提出了一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)及其損耗均衡算法。該結(jié)構(gòu)把傳統(tǒng)的計(jì)算機(jī)存儲(chǔ)體系結(jié)構(gòu)中分離的內(nèi)存與外存聯(lián)合起來(lái),從根本上解決外存與內(nèi)存、傳統(tǒng)存儲(chǔ)層次結(jié)構(gòu)與處理器之間性能不匹配的矛盾。
[0008]為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0009]一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu),包括內(nèi)外存控制器及其外圍設(shè)備以及與內(nèi)外存控制器連接的內(nèi)、外存存儲(chǔ)單元;所述內(nèi)存存儲(chǔ)單元為相變存儲(chǔ)器PCM和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM,所述外存存儲(chǔ)單元為相變存儲(chǔ)器PCM。
[0010]所述內(nèi)外存控制器包括:
[0011]緩存管理模塊:用于暫存頻繁更新的數(shù)據(jù)。
[0012]地址映射管理模塊:通過(guò)查找地址映射表,實(shí)現(xiàn)邏輯地址到內(nèi)、外存存儲(chǔ)單元中物理地址的轉(zhuǎn)換。
[0013]讀寫(xiě)邏輯單元:用于對(duì)內(nèi)、外存存儲(chǔ)單元進(jìn)行讀寫(xiě)操作。
[0014]狀態(tài)監(jiān)測(cè)模塊:與上層操作系統(tǒng)通信,用于對(duì)內(nèi)外存存儲(chǔ)單元的配置進(jìn)行優(yōu)化。[0015]損耗均衡控制單元:通過(guò)損耗均衡算法,將寫(xiě)操作均衡分布到各個(gè)相變存儲(chǔ)器PCM單元中。
[0016]所述地址映射管理模塊與緩存管理模塊、狀態(tài)監(jiān)測(cè)模塊、損耗均衡控制單元和讀寫(xiě)邏輯單元分別連接,損耗均衡控制單元與讀寫(xiě)邏輯單元連接。
[0017]所述內(nèi)外存控制器的外圍模塊包括:
[0018]DMM接口:實(shí)現(xiàn)內(nèi)外存控制器與CPU的連接通信。
[0019]時(shí)鐘管理模塊:用于為內(nèi)外存控制器中的各個(gè)模塊提供不同的時(shí)鐘。
[0020]電源管理模塊:用于負(fù)責(zé)內(nèi)外存控制器中電源的管理。
[0021]調(diào)試單元:用于對(duì)內(nèi)外存控制器進(jìn)行程序燒寫(xiě)及仿真調(diào)試。
[0022]以及實(shí)現(xiàn)內(nèi)外存控制器與內(nèi)、外存存儲(chǔ)單元連接的DDR接口和若干PCM接口。
[0023]所述PCM接口與相變存儲(chǔ)器PCM連接,DDR接口與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM連接。
[0024]一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)的損耗均衡算法,包括以下步驟:
[0025](I)將存放頁(yè)表和ECC校驗(yàn)的地址空間作為熱區(qū),剩下的區(qū)域作為冷區(qū)。
[0026](2)在整個(gè)相變存儲(chǔ)器PCM中周期性的移動(dòng)熱區(qū):當(dāng)寫(xiě)的次數(shù)到達(dá)預(yù)設(shè)的閾值時(shí),觸發(fā)熱區(qū)的移動(dòng),當(dāng)熱區(qū)移動(dòng)到PCM的底部時(shí),繼續(xù)移動(dòng)與PCM芯片頂部的內(nèi)容進(jìn)行交換。
[0027](3)隨著熱區(qū)的移動(dòng),通過(guò)建立地址映射關(guān)系將邏輯地址映射到物理地址。
[0028](4)根據(jù)物理地址所在區(qū)域?qū)?yīng)的寄存器再進(jìn)行一次地址變換,得到真正的物理地址。
[0029]所述步驟(3)中建立邏輯地址和物理地址的地址映射關(guān)系,分3種情況:
[0030]a.當(dāng)邏輯地址LA在熱區(qū)內(nèi)時(shí),把邏輯地址LA加上熱區(qū)的起始物理地址R_HStart得到物理地址。
[0031]b.當(dāng)邏輯地址LA不在熱區(qū)中,且小于熱區(qū)之后的第一個(gè)邏輯地址R_CStartL時(shí),邏輯地址LA加上熱區(qū)的起始物理地址R_HStart,再加上整個(gè)PCM的總長(zhǎng)度Len,再減去R_CStartL得到物理地址。
[0032]c.當(dāng)邏輯地址LA不在熱區(qū),且大于等于熱區(qū)之后的第一個(gè)邏輯地址R_CStartL時(shí),邏輯地址LA加上熱區(qū)的起始物理地址R_HStart,再加上熱區(qū)的總長(zhǎng)度HLen,再減去R_CStartL得到物理地址。
[0033]所述步驟(4)中地址變換的過(guò)程為:將物理地址PA中用于區(qū)域內(nèi)尋址的循環(huán)右移之后的低位地址與對(duì)應(yīng)的高位地址結(jié)合得到真正的物理地址。
[0034]本發(fā)明的有益效果是:
[0035]本發(fā)明將傳統(tǒng)的計(jì)算機(jī)存儲(chǔ)體系結(jié)構(gòu)中分離的內(nèi)存與外存聯(lián)合起來(lái),數(shù)據(jù)讀寫(xiě)能力將比現(xiàn)在以外部I/O連接的外存高幾十萬(wàn)倍,同時(shí)又非常省電,從根本上解決外存與內(nèi)存、傳統(tǒng)存儲(chǔ)層次結(jié)構(gòu)與處理器之間性能不匹配的矛盾,這是對(duì)現(xiàn)有存儲(chǔ)系統(tǒng)的革命性變化。
[0036]本發(fā)明中內(nèi)存和外存由同一控制器控制,可以應(yīng)用在任何計(jì)算機(jī)或嵌入式系統(tǒng)的存儲(chǔ)系統(tǒng)里,讀寫(xiě)過(guò)程的速度和能耗可以比現(xiàn)有存儲(chǔ)系統(tǒng)優(yōu)越萬(wàn)倍以上,從而從根本上解決內(nèi)存與外存之間性能的巨大差異。
[0037]本發(fā)明提供的損耗均衡算法與START-GAP這種典型的算法做比較,損耗均衡方面做的更好,PCM最大位的反轉(zhuǎn)次數(shù)要少86.77%,PCM總的寫(xiě)次數(shù)要多3.6%,雖然增加了寄存 器的容量,但是帶來(lái)了非常好的效果。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0038]圖1為傳統(tǒng)的存儲(chǔ)系統(tǒng)結(jié)構(gòu)及數(shù)據(jù)傳輸路徑示意圖;
[0039]圖2為本發(fā)明基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)路徑示意圖;
[0040]圖3為本發(fā)明基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)示意圖;
[0041]圖4為邏輯地址到物理地址的映射示意圖。
[0042]其中,1.DIMM接口,2.緩存管理模塊,3.地址映射管理模塊,4.讀寫(xiě)邏輯單元,5.狀態(tài)監(jiān)測(cè)模塊,6.損耗均衡控制單元,7.時(shí)鐘管理模塊,8.電源管理模塊,9.調(diào)試單元,10.DDR 接口,11.PCM 接口,12.DRAM, 13.PCM。
【具體實(shí)施方式】:
[0043]下面結(jié)合附圖與實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明:
[0044]圖2所示為本發(fā)明基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)路徑示意圖,用相變存儲(chǔ)器PCM13來(lái)替換DRAM和硬盤(pán),達(dá)到內(nèi)外存存儲(chǔ)單元。在PCM13主存部分,由于PCM13的寫(xiě)延遲和寫(xiě)次數(shù)限制,仍然用一小塊DRAM12作為緩存;通過(guò)一個(gè)內(nèi)外存控制器來(lái)有效的管理PCMl3,避免不均衡的寫(xiě)導(dǎo)致PCM單元損壞。本法明將傳統(tǒng)的計(jì)算機(jī)存儲(chǔ)體系結(jié)構(gòu)中分離的內(nèi)存與外存統(tǒng)一起來(lái),內(nèi)存和外存由同一控制器控制,可以應(yīng)用在任何計(jì)算機(jī)或嵌入式系統(tǒng)的存儲(chǔ)系統(tǒng)里。
[0045]如圖3所示,一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu),包括內(nèi)外存控制器及其外圍設(shè)備以及與內(nèi)外存控制器連接的內(nèi)、外存存儲(chǔ)單元;內(nèi)存存儲(chǔ)單元為相變存儲(chǔ)器PCM13和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM12,外存存儲(chǔ)單元為相變存儲(chǔ)器PCM13。
[0046]內(nèi)外存控制器及其外圍設(shè)備主要包括以下模塊:DIMM接口 1、時(shí)鐘管理模塊7、電源管理模塊8、調(diào)試單元9、緩存管理模塊2、地址映射管理模塊3、讀寫(xiě)邏輯單元4、狀態(tài)監(jiān)測(cè)模塊5、損耗均衡控制單元6、DDR接口 10和PCM接口 11。
[0047]其中DMM接口 I和CPU進(jìn)行連接,然后通過(guò)該接口控制內(nèi)外存存儲(chǔ)單元的數(shù)據(jù)傳輸;時(shí)鐘管理模塊7用于管理內(nèi)外存存儲(chǔ)單元控制器內(nèi)部的時(shí)鐘,負(fù)責(zé)給內(nèi)外存存儲(chǔ)單元控制器中各個(gè)模塊提供不同的時(shí)鐘;電源管理模塊8負(fù)責(zé)電源的管理;調(diào)試單元用于對(duì)內(nèi)外存存儲(chǔ)單元控制器進(jìn)行程序的燒寫(xiě)以及仿真調(diào)試;緩存管理模塊2擁有暫存頻繁更新的數(shù)據(jù),從而減少對(duì)統(tǒng)一內(nèi)存中PCM的寫(xiě)操作;地址映射管理模塊3擁有實(shí)現(xiàn)內(nèi)外存存儲(chǔ)單元中的內(nèi)存與外存地址空間的連續(xù)性,通過(guò)一定的映射方法查找地址映射表,實(shí)現(xiàn)邏輯地址到內(nèi)外存存儲(chǔ)單元中物理地址的轉(zhuǎn)換;讀寫(xiě)邏輯單元4根據(jù)地址映射管理所提供的物理地址,實(shí)現(xiàn)對(duì)內(nèi)外存存儲(chǔ)單元中存儲(chǔ)單元的讀寫(xiě)操作;狀態(tài)監(jiān)測(cè)模塊接收上層操作系統(tǒng)的指令,收集內(nèi)外存存儲(chǔ)單元的狀態(tài)信息并報(bào)告給上層操作系統(tǒng),用于對(duì)內(nèi)外存存儲(chǔ)單元的配置進(jìn)行相應(yīng)的優(yōu)化;損耗均衡控制單元6通過(guò)檢測(cè)地址映射關(guān)系,判斷出經(jīng)常被寫(xiě)的PCM存儲(chǔ)單元,采取一定得損耗均衡算法,將到來(lái)的寫(xiě)操作均衡分布到不同的非易失性存儲(chǔ)器(如相變存儲(chǔ)器)單元中;DDR接口 10和內(nèi)外存存儲(chǔ)單元中的DRAM12存儲(chǔ)單元連接,然后通過(guò)該接口控制內(nèi)外存存儲(chǔ)單元中DRAM數(shù)據(jù)的傳輸;PCM接口 11和內(nèi)外存存儲(chǔ)單元中的PCM13存儲(chǔ)單元連接,然后通過(guò)該接口控制內(nèi)外存存儲(chǔ)單元中PCM數(shù)據(jù)的傳輸。[0048]相對(duì)現(xiàn)有的硬盤(pán)或閃存固態(tài)硬盤(pán),內(nèi)外存存儲(chǔ)單元原型系統(tǒng)在內(nèi)外存讀寫(xiě)速度和能耗效率方面將獲得明顯的突破。內(nèi)外存存儲(chǔ)單元原型系統(tǒng)使用Micron P8P相變存儲(chǔ)器,我們的內(nèi)外存存儲(chǔ)單元原型系統(tǒng)的讀操作峰值帶寬為2GB/s左右,寫(xiě)操作的速度為400MB/s左右。讀與性能指標(biāo)推算如下:
[0049]根據(jù)Micron P8P相變存儲(chǔ)器的技術(shù)手冊(cè),讀16字節(jié)需要314ns,寫(xiě)64字節(jié)需要120us,那么我們可以推算出單個(gè)相變存儲(chǔ)器芯片的峰值讀帶寬為48.6MB/s,寫(xiě)帶寬為
0.5MB/s。由于我們所設(shè)計(jì)的內(nèi)外存存儲(chǔ)單元原型系統(tǒng)中至少有32*4片可并行訪(fǎng)問(wèn)的相變存儲(chǔ)器芯片,因此估算出理想情況下讀峰值帶寬可以達(dá)到32*4*48.6MB/s=6220.8MB/s=6GB/s。但是,這個(gè)速度在真實(shí)情況下很可能是達(dá)不到的。其原因是主要是內(nèi)外存存儲(chǔ)單元存儲(chǔ)卡上有很多邏輯操作,會(huì)降低系統(tǒng)的響應(yīng)速度。因此把這些因素考慮在內(nèi),我們預(yù)測(cè)內(nèi)外存存儲(chǔ)單元原型系統(tǒng)的讀操作峰值帶寬為2GB/s左右。寫(xiě)操作的峰值速度則為400MB/S,考慮到邏輯操作等開(kāi)銷(xiāo),我們預(yù)測(cè)內(nèi)外存存儲(chǔ)單元原型系統(tǒng)的寫(xiě)操作平均帶寬大概為 300MB/s。
[0050]由于PCM13擦寫(xiě)次數(shù)的限制,要盡量保證均衡的寫(xiě)PCM13的每個(gè)單元,于是提出了一種損耗均衡算法;這個(gè)算法的基本思想是周期性的移動(dòng)擦寫(xiě)比較頻繁的區(qū)域在整個(gè)PCM芯片中。這樣的話(huà),寫(xiě)操作就可以均衡的分布到PCM13的每個(gè)單元。在這個(gè)算法中,我們主要解決三個(gè)問(wèn)題:(I)如何確定和分配PCM13的熱區(qū)和冷區(qū);(2)何時(shí)移動(dòng)熱區(qū);(3)熱區(qū)移動(dòng)之后如何實(shí)現(xiàn)地址映射。
[0051]具體步驟如下:
[0052](I)將存放頁(yè)表和ECC校驗(yàn)的地址空間作為熱區(qū),剩下的區(qū)域作為冷區(qū)。這樣的話(huà),整個(gè)熱區(qū)的地址空間是連續(xù)的,長(zhǎng)度是固定,熱區(qū)的邏輯地址的起始地址是不變的。
[0053](2)在整個(gè)相變存儲(chǔ)器PCM13中周期性的移動(dòng)熱區(qū):當(dāng)寫(xiě)的次數(shù)到達(dá)預(yù)設(shè)的閾值時(shí),觸發(fā)熱區(qū)的移動(dòng),當(dāng)熱區(qū)移動(dòng)到PCM13的底部時(shí),繼續(xù)移動(dòng)與PCM芯片頂部的內(nèi)容進(jìn)行交換。為了完成這個(gè)操作,除了 一個(gè)寄存器記錄熱區(qū)的起始物理地址,還需要一個(gè)寄存器記錄寫(xiě)的次數(shù),一個(gè)寄存器記錄在熱區(qū)之后的第一個(gè)冷區(qū)的邏輯地址,這是為了實(shí)現(xiàn)在熱區(qū)移動(dòng)之后的地址映射。每個(gè)區(qū)域內(nèi)又細(xì)化為8個(gè)子區(qū)域,這樣的話(huà),每個(gè)區(qū)域又需要一個(gè)額外的3位寄存器來(lái)記錄這8個(gè)子區(qū)域的順序。每次交換數(shù)據(jù)的時(shí)候,需要交換的區(qū)域內(nèi)的子區(qū)域循環(huán)右移一個(gè)位置,同時(shí)對(duì)應(yīng)的3位寄存器進(jìn)行加I操作。例如圖4所示的(a)到(d),在(a)中物理地址O對(duì)應(yīng)的熱區(qū)中的子區(qū)域順序沒(méi)有發(fā)生改變,所以對(duì)應(yīng)的3位寄存器值為O ;(b)中熱區(qū)交換到了物理地址I中,這是其中的子區(qū)域的順序循環(huán)右移了一個(gè)單元,此時(shí)對(duì)應(yīng)的3位寄存器的值變?yōu)镮 ;同理(c)中物理地址2對(duì)應(yīng)的熱區(qū)中的寄存器值為
2,Cd)物理地址3對(duì)應(yīng)的熱區(qū)中的寄存器值為3。
[0054](3)由于移動(dòng)熱區(qū)會(huì)導(dǎo)致邏輯地址與物理地址的不對(duì)應(yīng),因此需要通過(guò)建立地址映射關(guān)系將邏輯地址映射到物理地址。建立邏輯地址和物理地址的地址映射關(guān)系分3種情況:
[0055]a.當(dāng)邏輯地址LA在熱區(qū)內(nèi)時(shí),把邏輯地址LA加上熱區(qū)的起始物理地址R_HStart得到物理地址。
[0056]b.當(dāng)邏輯地址LA不在熱區(qū)中,且小于熱區(qū)之后的第一個(gè)邏輯地址R_CStartL時(shí),邏輯地址LA加上熱區(qū)的起始物理地址R_HStart,再加上整個(gè)PCM的總長(zhǎng)度Len,再減去R_CStartL得到物理地址。
[0057]c.當(dāng)邏輯地址LA不在熱區(qū),且大于等于熱區(qū)之后的第一個(gè)邏輯地址R_CStartL時(shí),邏輯地址LA加上熱區(qū)的起始物理地址R_HStart,再加上熱區(qū)的總長(zhǎng)度HLen,再減去R_CStartL得到物理地址。
[0058](4)獲得上述物理地址之后,還要根據(jù)這個(gè)物理地址所在的區(qū)域?qū)?yīng)的3位寄存器再進(jìn)行一次地址變換,才能得到真正的物理地址。具體變換如下,需要變換的地址是PA的低位,用來(lái)區(qū)域內(nèi)尋址的幾位,循環(huán)右移的地址空間是根據(jù)區(qū)域內(nèi)劃分的子區(qū)域的長(zhǎng)度和寄存器的值決定的,就是子區(qū)域的長(zhǎng)度乘以對(duì)應(yīng)該區(qū)域的寄存器的值。將循環(huán)右移之后的低幾位的地址與對(duì)應(yīng)的高位地址結(jié)合得到真正的物理地址。
[0059]本算法與START-GAP這種典型的算法做比較,損耗均衡方面做的更好,PCM13最大位的反轉(zhuǎn)次數(shù)要少86.77%, PCMl3總的寫(xiě)次數(shù)要多3.6%,雖然增加了寄存器的容量,但是帶來(lái)的效果確是非常好的。
[0060]上述雖然結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行了描述,但并非對(duì)本發(fā)明保護(hù)范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動(dòng)即可做出的各種修改或變形仍在本發(fā)明的保護(hù)范圍以?xún)?nèi)。
【權(quán)利要求】
1.一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu),其特征是,包括內(nèi)外存控制器及其外圍設(shè)備以及與內(nèi)外存控制器連接的內(nèi)、外存存儲(chǔ)單元;所述內(nèi)存存儲(chǔ)單元為相變存儲(chǔ)器PCM和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM,所述外存存儲(chǔ)單元為相變存儲(chǔ)器PCM。
2.如權(quán)利要求1所述的一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu),其特征是,所述內(nèi)外存控制器包括: 緩存管理模塊:用于暫存頻繁更新的數(shù)據(jù); 地址映射管理模塊:通過(guò)查找地址映射表,實(shí)現(xiàn)邏輯地址到內(nèi)、外存存儲(chǔ)單元中物理地址的轉(zhuǎn)換; 讀寫(xiě)邏輯單元:用于對(duì)內(nèi)、外存存儲(chǔ)單元進(jìn)行讀寫(xiě)操作; 狀態(tài)監(jiān)測(cè)模塊:與上層操作系統(tǒng)通信,用于對(duì)內(nèi)外存存儲(chǔ)單元的配置進(jìn)行優(yōu)化; 損耗均衡控制單元:通過(guò)損耗均衡算法,將寫(xiě)操作均衡分布到各個(gè)相變存儲(chǔ)器PCM單元中; 所述地址映射管理模塊與緩存管理模塊、狀態(tài)監(jiān)測(cè)模塊、損耗均衡控制單元和讀寫(xiě)邏輯單元分別連接,損耗均衡控制單元與讀寫(xiě)邏輯單元連接。
3.如權(quán)利要求1所述的一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu),其特征是,所述內(nèi)外存控制器的外圍模塊包括: DMM接口:實(shí)現(xiàn)內(nèi)外存控制器與CPU的連接通信; 時(shí)鐘管理模塊:用于為內(nèi)外存控制器中的各個(gè)模塊提供不同的時(shí)鐘; 電源管理模塊:用于負(fù)責(zé)內(nèi)外存控制器中電源的管理; 調(diào)試單元:用于對(duì)內(nèi)外存控制器進(jìn)行程序燒寫(xiě)及仿真調(diào)試; 以及實(shí)現(xiàn)內(nèi)外存控制器與內(nèi)、外存存儲(chǔ)單元連接的DDR接口和若干PCM接口。
4.如權(quán)利要求3所述的一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu),其特征是,所述PCM接口與相變存儲(chǔ)器PCM連接,DDR接口與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM連接。
5.一種如權(quán)利要求1所述的基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)的損耗均衡算法,其特征是,包括以下步驟: (1)將存放頁(yè)表和ECC校驗(yàn)的地址空間作為熱區(qū),剩下的區(qū)域作為冷區(qū); (2)在整個(gè)相變存儲(chǔ)器PCM的始端到終端周期性的移動(dòng)熱區(qū); (3)隨著熱區(qū)的移動(dòng),通過(guò)建立地址映射關(guān)系將邏輯地址映射到物理地址PA; (4)根據(jù)物理地址PA所在區(qū)域?qū)?yīng)的寄存器再進(jìn)行一次地址變換,得到真正的物理地址。
6.如權(quán)利要求5所述的一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)的損耗均衡算法,其特征是,所述步驟(2)中周期性的移動(dòng)熱區(qū)的過(guò)程為:當(dāng)寫(xiě)的次數(shù)到達(dá)預(yù)設(shè)的閾值時(shí),觸發(fā)熱區(qū)的移動(dòng),當(dāng)熱區(qū)移動(dòng)到PCM的底部時(shí),繼續(xù)移動(dòng)與PCM芯片頂部的內(nèi)容進(jìn)行交換。
7.如權(quán)利要求5所述的一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)的損耗均衡算法,其特征是,所述步驟(3)中建立邏輯地址和物理地址的地址映射關(guān)系:當(dāng)邏輯地址LA在熱區(qū)內(nèi)時(shí),把邏輯地址LA加上熱區(qū)的起始物理地址R_HStart得到物理地址PA。
8.如權(quán)利要求5所述的一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)的損耗均衡算法,其特征是,所述步驟(3)中建立邏輯地址和物理地址的地址映射關(guān)系:當(dāng)邏輯地址LA不在熱區(qū)中,且小于熱區(qū)之后的第一個(gè)邏輯地址R_CStartL時(shí),邏輯地址LA加上熱區(qū)的起始物理地址R_HStart,再加上整個(gè)PCM的總長(zhǎng)度Len,再減去R_CStartL得到物理地址PA。
9.如權(quán)利要求5所述的一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)的損耗均衡算法,其特征是,所述步驟(3)中建立邏輯地址和物理地址的地址映射關(guān)系:當(dāng)邏輯地址LA不在熱區(qū),且大于等于熱區(qū)之后的第一個(gè)邏輯地址R_CStartL時(shí),邏輯地址LA加上熱區(qū)的起始物理地址R_HStart,再加上熱區(qū)的總長(zhǎng)度HLen,再減去R_CStartL得到物理地址PA。
10.如權(quán)利要求5所述的一種基于相變存儲(chǔ)器的存儲(chǔ)系統(tǒng)結(jié)構(gòu)的損耗均衡算法,其特征是,所述步驟(4)中地址變換的過(guò)程為:將物理地址PA中用于區(qū)域內(nèi)尋址的循環(huán)右移之后的低位地址與對(duì) 應(yīng)的高位地址結(jié)合得到真正的物理地址。
【文檔編號(hào)】G06F13/16GK103885724SQ201410095582
【公開(kāi)日】2014年6月25日 申請(qǐng)日期:2014年3月14日 優(yōu)先權(quán)日:2014年3月14日
【發(fā)明者】賈智平, 王冠 申請(qǐng)人:山東大學(xué)