本申請(qǐng)涉及計(jì)算機(jī),尤其涉及一種內(nèi)存刷新方法、內(nèi)存控制器、存儲(chǔ)系統(tǒng)和計(jì)算設(shè)備。
背景技術(shù):
1、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dynamic?random?access?memory,dram)是最為常見(jiàn)的系統(tǒng)內(nèi)存。為了保持?jǐn)?shù)據(jù),dram使用電容存儲(chǔ),但是只能將數(shù)據(jù)保持很短的時(shí)間,所以必須隔一段時(shí)間刷新一次,如果存儲(chǔ)單元沒(méi)有被刷新,存儲(chǔ)的信息就會(huì)丟失。為了保證數(shù)據(jù)不丟失,內(nèi)存控制器要不斷地向dram發(fā)送刷新命令,在該過(guò)程中,對(duì)內(nèi)存的刷新命令與讀寫(xiě)訪問(wèn)請(qǐng)求可能存在同時(shí)搶占命令總線的情況,在這種情況下就需要對(duì)刷新命令進(jìn)行調(diào)度,比如當(dāng)刷新命令與讀寫(xiě)訪問(wèn)請(qǐng)求沖突時(shí),將刷新命令延遲一段時(shí)間后再發(fā)送。
2、隨著dram設(shè)備的尺寸和速度的增加,對(duì)dram的刷新操作以及對(duì)刷新命令的調(diào)度操作越來(lái)越頻繁,隨之引起的系統(tǒng)功耗也顯著增加。
技術(shù)實(shí)現(xiàn)思路
1、基于上述技術(shù)問(wèn)題,本申請(qǐng)?zhí)岢鲆环N內(nèi)存刷新方法、內(nèi)存控制器、存儲(chǔ)系統(tǒng)和計(jì)算設(shè)備,能夠降低由于調(diào)度刷新操作帶來(lái)的系統(tǒng)功耗。
2、本申請(qǐng)第一方面提出一種內(nèi)存刷新方法,其特征在于,應(yīng)用于內(nèi)存控制器,所述內(nèi)存控制器中包括計(jì)數(shù)器,用于對(duì)被延遲的刷新命令進(jìn)行計(jì)數(shù);所述方法包括:在所述內(nèi)存控制器切換至低功耗工作模式的情況下,所述內(nèi)存控制器向內(nèi)存發(fā)送第一數(shù)量的刷新命令,所述第一數(shù)量不小于所述計(jì)數(shù)器統(tǒng)計(jì)的被延遲的刷新命令的數(shù)量;在所述內(nèi)存控制器發(fā)送完所述第一數(shù)量的刷新命令的情況下,所述內(nèi)存控制器按照設(shè)定頻率向內(nèi)存發(fā)送刷新命令;其中,所述內(nèi)存控制器發(fā)送所述第一數(shù)量的刷新命令的頻率大于所述設(shè)定頻率。
3、本申請(qǐng)第二方面提出一種內(nèi)存控制器,所述內(nèi)存控制器中包括計(jì)數(shù)器,用于對(duì)被延遲的刷新命令進(jìn)行計(jì)數(shù);所述內(nèi)存控制器包括:刷新模塊,用于在所述內(nèi)存控制器切換至低功耗工作模式的情況下,向內(nèi)存發(fā)送第一數(shù)量的刷新命令,所述第一數(shù)量不小于所述計(jì)數(shù)器統(tǒng)計(jì)的被延遲的刷新命令的數(shù)量;在發(fā)送完所述第一數(shù)量的刷新命令的情況下,按照設(shè)定頻率向內(nèi)存發(fā)送刷新命令;其中,所述刷新模塊發(fā)送所述第一數(shù)量的刷新命令的頻率大于所述設(shè)定頻率。
4、本申請(qǐng)第三方面提出一種存儲(chǔ)系統(tǒng),包括內(nèi)存控制器以及與所述內(nèi)存控制器連接的內(nèi)存,所述內(nèi)存控制器被配置為實(shí)現(xiàn)上述的內(nèi)存刷新方法。
5、本申請(qǐng)第四方面提出一種計(jì)算設(shè)備,包括上述的存儲(chǔ)系統(tǒng)。
6、基于上述第一方面至第四方面中的任一方面,本申請(qǐng)?zhí)岢龅膬?nèi)存刷新方法在內(nèi)存控制器切換到低功耗工作模式的時(shí)候以較高的頻率向內(nèi)存補(bǔ)發(fā)被延遲的刷新命令,并且在刷新命令補(bǔ)發(fā)完成后,將刷新命令發(fā)送頻率調(diào)整為較低的頻率。上述方案在內(nèi)存控制器處于空閑狀態(tài)并且進(jìn)入低功耗工作模式時(shí)補(bǔ)發(fā)刷新命令,能夠降低補(bǔ)發(fā)刷新命令的系統(tǒng)功耗,同時(shí),上述方案在內(nèi)存控制器進(jìn)入低功耗工作模式時(shí)以較高頻率快速完成刷新命令補(bǔ)發(fā),然后將刷新命令的發(fā)送頻率降低至正常頻率,可以避免在低功耗工作模式下由于長(zhǎng)時(shí)間保持較高的刷新頻率而導(dǎo)致系統(tǒng)功耗提升。
7、在一些實(shí)現(xiàn)方式中,所述方法還包括:基于所述內(nèi)存控制器的歷史空閑周期分布,對(duì)所述內(nèi)存控制器的下一空閑周期的時(shí)長(zhǎng)進(jìn)行預(yù)測(cè);所述空閑周期為不存在對(duì)內(nèi)存的讀寫(xiě)訪問(wèn)請(qǐng)求的工作周期;在確定所述內(nèi)存控制器的下一空閑周期的時(shí)長(zhǎng)大于設(shè)定時(shí)長(zhǎng)閾值的情況下,在所述內(nèi)存控制器進(jìn)入所述下一空閑周期時(shí),將所述內(nèi)存控制器的工作模式切換為低功耗工作模式?;谠搶?shí)現(xiàn)方式,通過(guò)歷史空閑周期分布對(duì)內(nèi)存控制器的下一空閑周期進(jìn)行預(yù)測(cè),能夠提前預(yù)知內(nèi)存控制器的空閑周期時(shí)長(zhǎng),從而能夠及時(shí)控制內(nèi)存控制器切換至低功耗工作模式,有利于降低系統(tǒng)功耗。
8、在一些實(shí)現(xiàn)方式中,在所述內(nèi)存控制器切換至低功耗工作模式的情況下,所述內(nèi)存控制器向內(nèi)存發(fā)送第一數(shù)量的刷新命令,包括:在所述內(nèi)存控制器切換至低功耗工作模式的情況下,所述內(nèi)存控制器按照第一頻率向內(nèi)存發(fā)送第一數(shù)量的刷新命令,所述第一頻率大于所述設(shè)定頻率?;谠搶?shí)現(xiàn)方式,通過(guò)調(diào)整內(nèi)存控制器的刷新命令發(fā)送頻率,可以更高效、更便捷地實(shí)現(xiàn)刷新命令補(bǔ)發(fā)操作。
9、在一些實(shí)現(xiàn)方式中,在所述內(nèi)存控制器切換至低功耗工作模式的情況下,所述內(nèi)存控制器向內(nèi)存發(fā)送第一數(shù)量的刷新命令,包括:在所述內(nèi)存控制器切換至低功耗工作模式的情況下,所述內(nèi)存控制器連續(xù)向內(nèi)存發(fā)送第一數(shù)量的刷新命令?;谠搶?shí)現(xiàn)方式,內(nèi)存控制器在進(jìn)入低功耗工作模式后連續(xù)補(bǔ)發(fā)刷新命令,可以提高刷新命令補(bǔ)發(fā)效率。
10、在一些實(shí)現(xiàn)方式中,所述第一數(shù)量不小于被延遲的刷新命令的數(shù)量,并且不大于允許被調(diào)度的刷新命令的最大數(shù)量?;谠搶?shí)現(xiàn)方式,對(duì)內(nèi)存控制器發(fā)送刷新命令的數(shù)量進(jìn)行限制,可以使得內(nèi)存刷新操作滿足系統(tǒng)要求,避免過(guò)多發(fā)送刷新命令影響系統(tǒng)正常工作。
11、在一些實(shí)現(xiàn)方式中,所述方法還包括:在所述計(jì)數(shù)器統(tǒng)計(jì)的被延遲的刷新命令的數(shù)量不小于允許被調(diào)度的刷新命令的最大數(shù)量的情況下,所述內(nèi)存控制器按照所述設(shè)定頻率向內(nèi)存發(fā)送刷新命令?;谠搶?shí)現(xiàn)方式,在被延遲的刷新命令過(guò)多時(shí),強(qiáng)制按照設(shè)定頻率發(fā)送刷新命令,可以避免由于刷新命令被過(guò)度延遲而導(dǎo)致內(nèi)存數(shù)據(jù)丟失。
12、在一些實(shí)現(xiàn)方式中,所述方法還包括:在所述內(nèi)存控制器按照設(shè)定頻率向內(nèi)存發(fā)送刷新命令的過(guò)程中,基于所述內(nèi)存控制器的歷史空閑周期分布,對(duì)所述內(nèi)存控制器的下一空閑周期的時(shí)長(zhǎng)進(jìn)行預(yù)測(cè);所述空閑周期為不存在對(duì)內(nèi)存的讀寫(xiě)請(qǐng)求的工作周期;在確定所述內(nèi)存控制器的下一空閑周期的時(shí)長(zhǎng)不大于設(shè)定時(shí)長(zhǎng)閾值的情況下,在所述內(nèi)存控制器處于所述下一空閑周期時(shí),所述內(nèi)存控制器發(fā)送插入刷新命令;其中,所述插入刷新命令是在所述內(nèi)存控制器按照設(shè)定頻率向內(nèi)存發(fā)送的兩個(gè)相鄰刷新命令之間發(fā)送的刷新命令?;谠搶?shí)現(xiàn)方式,內(nèi)存控制器在按照設(shè)定頻率發(fā)送刷新命令的同時(shí)還在刷新命令發(fā)送周期內(nèi)插入發(fā)送刷新命令,這樣可以在正常發(fā)送刷新命令的同時(shí)實(shí)現(xiàn)對(duì)延遲刷新命令的補(bǔ)發(fā),提高刷新命令發(fā)送效率。
1.一種內(nèi)存刷新方法,其特征在于,應(yīng)用于內(nèi)存控制器,所述內(nèi)存控制器中包括計(jì)數(shù)器,用于對(duì)被延遲的刷新命令進(jìn)行計(jì)數(shù);所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述內(nèi)存控制器切換至低功耗工作模式的情況下,所述內(nèi)存控制器向內(nèi)存發(fā)送第一數(shù)量的刷新命令,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述內(nèi)存控制器切換至低功耗工作模式的情況下,所述內(nèi)存控制器向內(nèi)存發(fā)送第一數(shù)量的刷新命令,包括:
5.根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的方法,其特征在于,所述第一數(shù)量不小于被延遲的刷新命令的數(shù)量,并且不大于允許被調(diào)度的刷新命令的最大數(shù)量。
6.根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的方法,其特征在于,所述方法還包括:
8.一種內(nèi)存控制器,其特征在于,所述內(nèi)存控制器中包括計(jì)數(shù)器,用于對(duì)被延遲的刷新命令進(jìn)行計(jì)數(shù);所述內(nèi)存控制器包括:
9.一種存儲(chǔ)系統(tǒng),其特征在于,包括內(nèi)存控制器以及與所述內(nèi)存控制器連接的內(nèi)存,所述內(nèi)存控制器被配置為實(shí)現(xiàn)如權(quán)利要求1至7中任意一項(xiàng)所述的內(nèi)存刷新方法。
10.一種計(jì)算設(shè)備,其特征在于,包括如權(quán)利要求9所述的存儲(chǔ)系統(tǒng)。