一種混合內(nèi)存的遷移方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種混合內(nèi)存的遷移方法,用于PRAM與DRAM間的遷移,包括:遷移正在進(jìn)行時(shí),判斷當(dāng)前來(lái)訪地址是否屬于遷移頁(yè)面;若是,中斷當(dāng)前來(lái)訪地址的訪存,直到完成遷移頁(yè)面的遷移后再完成被中斷的訪存;否則,中斷遷移頁(yè)面的遷移,優(yōu)先完成當(dāng)前地址的訪存后再繼續(xù)被中斷的遷移。該方法避免頻繁遷移而造成的訪存阻塞問(wèn)題,降低訪存的平均響應(yīng)時(shí)間,從整體上提高存儲(chǔ)器系統(tǒng)的性能。
【專利說(shuō)明】一種混合內(nèi)存的遷移方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲(chǔ)器領(lǐng)域,尤其涉及一種包含相變存儲(chǔ)器PRAM的混合內(nèi)存的遷移方法及系統(tǒng)。
【背景技術(shù)】
[0002]DRAM (Dynamic Random Access Memory,動(dòng)態(tài)隨機(jī)存儲(chǔ)器)一直以來(lái)?yè)?dān)當(dāng)著計(jì)算機(jī)體系中主存儲(chǔ)器的角色,但隨著集成電路關(guān)鍵尺寸的不斷減小,DRAM在尺寸收縮、功耗控制、存儲(chǔ)密度和發(fā)熱量等方面遇到了極大的挑戰(zhàn),其技術(shù)已接近瓶頸,迫切需要找到新的替代者。PRAM (Phase change Random Access Memory,相變隨機(jī)存儲(chǔ)器)憑借其優(yōu)良的特性已逐步成為最有可能取代DRAM地位的存儲(chǔ)器件。
[0003]與DRAM相比,PRAM雖然具有讀功耗低、靜態(tài)功耗低的優(yōu)勢(shì),但其寫(xiě)功耗和寫(xiě)延時(shí)均比較大,因此PRAM還不能完全取代DRAM獨(dú)自成為主存。目前最常見(jiàn)的方法是讓PRAM與DRAM —同構(gòu)成混合主存。在DRAM-PRAM的混合存儲(chǔ)架構(gòu)下,為了最大化的發(fā)揮兩種存儲(chǔ)器件的優(yōu)點(diǎn)以降低內(nèi)存系統(tǒng)的功耗,已有的技術(shù)均是通過(guò)對(duì)內(nèi)存頁(yè)面讀、寫(xiě)次數(shù)的統(tǒng)計(jì),將DRAM中讀頻繁的頁(yè)面遷入PRAM,而將PRAM中寫(xiě)頻繁的頁(yè)面遷入DRAM,從而充分發(fā)揮DRAM寫(xiě)功耗低、寫(xiě)延時(shí)低,PRAM讀功耗低的優(yōu)點(diǎn)。
[0004]PRAM與DRAM的混合內(nèi)存的一種實(shí)現(xiàn)方案,是通過(guò)獨(dú)立的硬件來(lái)實(shí)現(xiàn)內(nèi)存頁(yè)面的讀、寫(xiě)統(tǒng)計(jì),以及內(nèi)存頁(yè)面的交換,而無(wú)需改動(dòng)操作系統(tǒng)的內(nèi)核。如圖1所示,為目前硬件接口實(shí)現(xiàn)混合內(nèi)存交換的方案,在該方案中,當(dāng)訪存地址到來(lái)時(shí),首先,查詢內(nèi)外地址重映射表,得到真正的物理地址;而后,到訪存行為記錄表中查詢?cè)摰刂匪陧?yè)面的歷史訪問(wèn)情況,若訪存記錄顯示已經(jīng)達(dá)到了觸發(fā)遷移的標(biāo)準(zhǔn),則會(huì)開(kāi)啟頁(yè)面遷移模塊,相應(yīng)的訪存行為會(huì)被暫時(shí)阻塞;遷移完成后,更新內(nèi)外地址重映射表和訪存行為記錄表;重新開(kāi)始此次訪存。若并不觸發(fā)訪存,則直接完成訪存。
[0005]在該方案中,為了保證數(shù)據(jù)的正確性,在頁(yè)面的遷移過(guò)程中,系統(tǒng)的訪存行為必須等待遷移完成之后進(jìn)行,即禁止遷移過(guò)程中的其他系統(tǒng)訪問(wèn)。然而,在數(shù)據(jù)密集型的應(yīng)用場(chǎng)景下,PRAM與DRAM頁(yè)面之間會(huì)發(fā)生頻繁的遷移,這會(huì)導(dǎo)致系統(tǒng)進(jìn)行的訪存受阻,影響系統(tǒng)的效率。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的實(shí)施例提供了一種混合內(nèi)存的遷移方法,通過(guò)阻塞遷移,實(shí)現(xiàn)對(duì)遷移非相關(guān)單元的立即訪問(wèn),降低平均訪存響應(yīng)時(shí)間。
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了如下技術(shù)方案:
[0008]一種混合內(nèi)存的遷移方法,用于PRAM與DRAM間的遷移,包括:
[0009]遷移正在進(jìn)行時(shí),判斷當(dāng)前來(lái)訪地址是否屬于遷移頁(yè)面;
[0010]若是,中斷當(dāng)前來(lái)訪地址的訪存,直到完成遷移頁(yè)面的遷移;
[0011]否則,中斷遷移頁(yè)面的遷移,直到完成當(dāng)前地址的訪存。[0012]可選的,中斷當(dāng)前來(lái)訪地址的訪存的步驟具體為:將當(dāng)前訪存地址存入地址緩存中;進(jìn)行遷移頁(yè)面的遷移,遷移完成后,繼續(xù)當(dāng)前訪存地址的訪存。
[0013]可選的,中斷遷移頁(yè)面的遷移的步驟具體為:將當(dāng)前遷移頁(yè)面的基地址和偏移量存入遷移緩存;進(jìn)行當(dāng)前地址的訪存,訪存結(jié)束,繼續(xù)將緩存中的頁(yè)面遷移。
[0014]可選的,通過(guò)地址過(guò)濾標(biāo)志位和遷移進(jìn)行標(biāo)志位構(gòu)成的狀態(tài)值觸發(fā)當(dāng)前來(lái)訪地址的判斷以及繼續(xù)遷移頁(yè)面的遷移。
[0015]可選的,根據(jù)遷移頁(yè)面狀態(tài)和當(dāng)前訪存地址的狀態(tài)分別更新地址過(guò)濾標(biāo)志位和遷移進(jìn)行標(biāo)志位的狀態(tài)值。
[0016]此外,本發(fā)明還提供了一種混合內(nèi)存的遷移系統(tǒng),包括:
[0017]地址過(guò)濾模塊,遷移正在進(jìn)行時(shí),判斷當(dāng)前來(lái)訪地址是否屬于遷移頁(yè)面,若是,則控制交換硬件接口暫停交換;
[0018]訪存中斷模塊,用于中斷當(dāng)前來(lái)訪地址的訪存,直到完成遷移頁(yè)面的遷移;
[0019]遷移中斷模塊,用于中斷遷移頁(yè)面的遷移,直到完成當(dāng)前訪存地址的訪存。
[0020]可選的,所述訪存中斷模塊包括訪存緩存單元,用于存入當(dāng)前來(lái)訪地址,等待遷移頁(yè)面完成遷移后,進(jìn)行當(dāng)前來(lái)訪地址的訪存。
[0021]可選的,所述遷移中斷模塊包括遷移緩存單元,用于存入當(dāng)前遷移頁(yè)面的基地址和偏移量,等待完成當(dāng)前地址訪存后,啟動(dòng)頁(yè)面遷移模塊進(jìn)行該遷移頁(yè)面的遷移,頁(yè)面遷移模塊用于控制內(nèi)存轉(zhuǎn)移硬件接口的啟動(dòng)。
[0022]可選的,還包括地址過(guò)濾標(biāo)志位和遷移進(jìn)行標(biāo)志位,其構(gòu)成的狀態(tài)值觸發(fā)地址過(guò)濾模塊的啟動(dòng)以及頁(yè)面遷移模塊的啟動(dòng)。
[0023]可選的,根據(jù)頁(yè)面遷移模塊的狀態(tài)和地址過(guò)濾模塊的狀態(tài)分別更新地址過(guò)濾標(biāo)志位和遷移進(jìn)行標(biāo)志位的狀態(tài)值。
[0024]本發(fā)明實(shí)施例提供的混合內(nèi)存的遷移方法及系統(tǒng),在遷移進(jìn)行時(shí),對(duì)當(dāng)前來(lái)訪地址進(jìn)行判斷,對(duì)屬于當(dāng)前遷移頁(yè)面的地址,中斷當(dāng)前來(lái)訪,對(duì)于不屬于當(dāng)前遷移頁(yè)面的地址,中斷遷移頁(yè)面的遷移。該方法使得與遷移頁(yè)面無(wú)關(guān)的訪存行為能立即發(fā)生,避免頻繁遷移過(guò)度占用主存訪問(wèn)權(quán)限而造成的訪存阻塞問(wèn)題,降低平均訪存響應(yīng)時(shí)間,從整體上提高存儲(chǔ)體系的性能表現(xiàn)。
【專利附圖】
【附圖說(shuō)明】
[0025]圖1為根據(jù)現(xiàn)有技術(shù)中硬件接口實(shí)現(xiàn)內(nèi)存交換的結(jié)構(gòu)示意圖;
[0026]圖2為根據(jù)本發(fā)明的實(shí)施例的混合內(nèi)存的遷移方法的流程圖示意圖;
[0027]圖3為根據(jù)本發(fā)明的實(shí)施例的混合內(nèi)存的遷移系統(tǒng)的結(jié)構(gòu)示意圖;
[0028]圖4為根據(jù)本發(fā)明的實(shí)施例的混合內(nèi)存的遷移方法的系統(tǒng)狀態(tài)示意圖。
【具體實(shí)施方式】
[0029]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】做詳細(xì)的說(shuō)明。
[0030]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是本發(fā)明還可以采用其他不同于在此描述的其它方式來(lái)實(shí)施,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以下實(shí)施例所做的任何簡(jiǎn)單修改、等同變化及修飾,均仍屬于本發(fā)明技術(shù)方案保護(hù)的范圍內(nèi),因此本發(fā)明不受下面公開(kāi)的具體實(shí)施例的限制。
[0031]正如【背景技術(shù)】的描述,在通過(guò)硬件接口實(shí)現(xiàn)內(nèi)存交換的方案中,系統(tǒng)的訪存行為必須等待遷移完成之后進(jìn)行,會(huì)導(dǎo)致系統(tǒng)進(jìn)行的訪存受阻。為此本發(fā)明提供了一種混合內(nèi)存的遷移方法,參考圖2所示,包括:
[0032]在中斷態(tài),判斷當(dāng)前來(lái)訪地址是否屬于遷移頁(yè)面,所述中斷態(tài)為遷移正在進(jìn)行中、有地址來(lái)訪的系統(tǒng)狀態(tài);
[0033]若是,中斷當(dāng)前來(lái)訪地址的訪存,直到完成當(dāng)前遷移頁(yè)面的遷移;
[0034]否則,中斷遷移頁(yè)面的遷移,直到完成當(dāng)前地址的訪存。
[0035]在本發(fā)明中,在遷移時(shí),若有地址來(lái)訪,則先判斷當(dāng)前來(lái)訪地址是否屬于遷移頁(yè)面,若當(dāng)前來(lái)訪地址不在遷移頁(yè)面的地址范圍內(nèi),則,中斷遷移頁(yè)面的遷移,進(jìn)行當(dāng)前來(lái)訪地址的訪存,待訪存結(jié)束后,再進(jìn)行遷移頁(yè)面的遷移。
[0036]若當(dāng)前來(lái)訪地址在遷移頁(yè)面的范圍內(nèi),則,中斷當(dāng)前來(lái)訪地址的訪存,進(jìn)行遷移頁(yè)面的遷移,在遷移結(jié)束后,進(jìn)而完成訪存。對(duì)于當(dāng)前來(lái)訪地址不在遷移頁(yè)面的范圍時(shí),包括兩種情形,一種是訪存地址不在當(dāng)前遷移頁(yè)面內(nèi)且該地址沒(méi)有觸發(fā)新的遷移,此時(shí),中斷該當(dāng)前遷移頁(yè)面的遷移,進(jìn)行該訪存地址的訪存,訪存結(jié)束后繼續(xù)遷移;另一種是,該訪存地址不在當(dāng)前遷移頁(yè)面但在完成此次訪存后達(dá)到觸發(fā)頁(yè)面的條件,此時(shí),完成此次訪存后,新觸發(fā)的遷移頁(yè)面進(jìn)入緩存中,等待當(dāng)前頁(yè)面遷移完成后再進(jìn)行。該方法避免頻繁遷移而造成的訪存阻塞問(wèn)題,降低平均訪存響應(yīng)時(shí)間,從整體上提高存儲(chǔ)體系的性能表現(xiàn)。
[0037]為了更好的理解本發(fā)明,以下將結(jié)合具體的實(shí)施例進(jìn)行描述。
[0038]在本實(shí)施例中,采用地址標(biāo)志位和遷移標(biāo)志位構(gòu)成的狀態(tài)值來(lái)判斷系統(tǒng)的狀態(tài)。并根據(jù)遷移頁(yè)面的狀態(tài)以及當(dāng)前訪存地址的狀態(tài),來(lái)更新地址標(biāo)志位和遷移標(biāo)志為構(gòu)成的狀態(tài)值。在一個(gè)具體的實(shí)施例中,該兩個(gè)標(biāo)志為分別通過(guò)一個(gè)一位的寄存器來(lái)實(shí)現(xiàn),系統(tǒng)狀態(tài)包括正常態(tài)、中斷態(tài)、遷移態(tài)和完成態(tài),正常態(tài)為遷移未發(fā)生的系統(tǒng)狀態(tài),中斷態(tài)為遷移正在進(jìn)行中、有地址來(lái)訪的系統(tǒng)狀態(tài),遷移態(tài)為遷移在進(jìn)行、無(wú)訪存地址來(lái)訪的系統(tǒng)狀態(tài),完成態(tài)為遷移已完成、正在更新映射表的系統(tǒng)狀態(tài)。
[0039]在狀態(tài)值為中斷態(tài)時(shí),即遷移正在進(jìn)行中、有地址來(lái)訪的系統(tǒng)狀態(tài)時(shí),先進(jìn)行當(dāng)前來(lái)訪地址的判斷。
[0040]在當(dāng)前地址在遷移頁(yè)面的地址范圍時(shí),中斷訪存。在本實(shí)施例中,具體地,將當(dāng)前來(lái)訪地址存入緩存中,在當(dāng)前遷移頁(yè)面完成遷移后,系統(tǒng)的狀態(tài)值更新為正常態(tài),此時(shí),對(duì)內(nèi)存的交換操作完畢,緩存中的地址即可繼續(xù)進(jìn)行訪存的操作。
[0041]在當(dāng)前地址不在遷移頁(yè)面的地址范圍時(shí),中斷遷移。在本實(shí)施例中,具體地,將當(dāng)前遷移頁(yè)面的基地址和偏移量存入緩存,當(dāng)前地址進(jìn)行正常的訪存,在訪存結(jié)束后,系統(tǒng)的狀態(tài)值更新為正常態(tài),此時(shí),繼續(xù)進(jìn)行頁(yè)面遷移,即將緩存中的基地址和偏移量讀出并繼續(xù)進(jìn)行頁(yè)面遷移。
[0042]在本實(shí)施例中,通過(guò)地址標(biāo)志位和遷移標(biāo)志位構(gòu)成的狀態(tài)值,確定是否進(jìn)行當(dāng)前來(lái)訪地址范圍的判斷,以及遷移頁(yè)面的遷移中斷,簡(jiǎn)單且易于實(shí)現(xiàn)。
[0043]此外,本發(fā)明的實(shí)施例還提供了利用上述方法設(shè)計(jì)的混合內(nèi)存的遷移系統(tǒng),適用于硬件接口實(shí)現(xiàn)頁(yè)面遷移的系統(tǒng),如圖3所示,在該實(shí)施例中,所述系統(tǒng)包括:地址過(guò)濾模塊100、地址過(guò)濾標(biāo)志位E和遷移進(jìn)行標(biāo)志位S、訪存緩存單元102、內(nèi)外地址映射表104及訪存行為記錄表106、遷移緩存單元108和頁(yè)面遷移模塊110。
[0044]在本實(shí)施例中,通過(guò)地址過(guò)濾標(biāo)志位E和遷移進(jìn)行標(biāo)志位S來(lái)控制地址過(guò)濾模塊的觸發(fā),以及頁(yè)面遷移模塊的觸發(fā),同時(shí),其狀態(tài)值分別由地址過(guò)濾模塊和頁(yè)面遷移模塊來(lái)更新。其狀態(tài)值與地址過(guò)濾模塊和頁(yè)面遷移模塊的關(guān)系,以及系統(tǒng)的工作狀態(tài)如下表所示。
[0045]
【權(quán)利要求】
1.一種混合內(nèi)存的遷移方法,用于PRAM與DRAM間的遷移,包括: 遷移正在進(jìn)行時(shí),判斷當(dāng)前來(lái)訪地址是否屬于遷移頁(yè)面; 若是,中斷當(dāng)前來(lái)訪地址的訪存,直到完成遷移頁(yè)面的遷移; 否則,中斷遷移頁(yè)面的遷移,直到完成當(dāng)前地址的訪存。
2.根據(jù)權(quán)利要求1所述的遷移方法,其特征在于,中斷當(dāng)前來(lái)訪地址的訪存的步驟具體為:將當(dāng)前訪存地址存入地址緩存中;進(jìn)行遷移頁(yè)面的遷移,遷移完成后,繼續(xù)當(dāng)前訪存地址的訪存。
3.根據(jù)權(quán)利要求1所述的遷移方法,其特征在于,中斷遷移頁(yè)面的遷移的步驟具體為:將當(dāng)前遷移頁(yè)面的基地址和偏移量存入遷移緩存;進(jìn)行當(dāng)前地址的訪存,訪存結(jié)束,繼續(xù)將緩存中的頁(yè)面遷移。
4.根據(jù)權(quán)利要求3所述的遷移方法,其特征在于,通過(guò)地址過(guò)濾標(biāo)志位和遷移進(jìn)行標(biāo)志位構(gòu)成的狀態(tài)值觸發(fā)當(dāng)前來(lái)訪地址的判斷以及繼續(xù)遷移頁(yè)面的遷移。
5.根據(jù)權(quán)利要求4所述的遷移方法,其特征在于,根據(jù)遷移頁(yè)面狀態(tài)和當(dāng)前訪存地址的狀態(tài)分別更新地址過(guò)濾標(biāo)志位和遷移進(jìn)行標(biāo)志位的狀態(tài)值。
6.—種混合內(nèi)存的遷移系統(tǒng),用于PRAM與DRAM間的遷移,包括: 地址過(guò)濾模塊,遷移正在進(jìn)行時(shí),判斷當(dāng)前來(lái)訪地址是否屬于遷移頁(yè)面,若是,則控制交換硬件接口暫停交換; 訪存中斷模塊,用于中斷當(dāng)前來(lái)訪地址的訪存,直到完成遷移頁(yè)面的遷移; 遷移中斷模塊,用于中斷遷移頁(yè)面的遷移,直到完成當(dāng)前訪存地址的訪存。
7.根據(jù)權(quán)利要求6所述的遷移系統(tǒng),其特征在于,所述訪存中斷模塊包括訪存緩存單元,用于存入當(dāng)前來(lái)訪地址,等待遷移頁(yè)面完成遷移后,進(jìn)行當(dāng)前來(lái)訪地址的訪存。
8.根據(jù)權(quán)利要求6所述的遷移系統(tǒng),其特征在于,所述遷移中斷模塊包括遷移緩存單元,用于存入當(dāng)前遷移頁(yè)面的基地址和偏移量,等待完成當(dāng)前地址訪存后,啟動(dòng)頁(yè)面遷移模塊進(jìn)行該遷移頁(yè)面的遷移,頁(yè)面遷移模塊用于控制內(nèi)存轉(zhuǎn)移硬件接口的啟動(dòng)。
9.根據(jù)權(quán)利要求8所述的遷移系統(tǒng),其特征在于,還包括地址過(guò)濾標(biāo)志位和遷移進(jìn)行標(biāo)志位,其構(gòu)成的狀態(tài)值觸發(fā)地址過(guò)濾模塊的啟動(dòng)以及頁(yè)面遷移模塊的啟動(dòng)。
10.根據(jù)權(quán)利要求9所述的遷移系統(tǒng),其特征在于,根據(jù)頁(yè)面遷移模塊的狀態(tài)和地址過(guò)濾模塊的狀態(tài)分別更新地址過(guò)濾標(biāo)志位和遷移進(jìn)行標(biāo)志位的狀態(tài)值。
【文檔編號(hào)】G06F12/10GK103914406SQ201410127420
【公開(kāi)日】2014年7月9日 申請(qǐng)日期:2014年3月31日 優(yōu)先權(quán)日:2014年3月31日
【發(fā)明者】陳嵐, 覃力, 郝曉冉 申請(qǐng)人:中國(guó)科學(xué)院微電子研究所