鬼佬大哥大
  • / 10
  • 下載費用:30 金幣  

調節存儲器激活率.pdf

摘要
申請專利號:

CN201380075099.5

申請日:

2013.03.28

公開號:

CN105190566A

公開日:

2015.12.23

當前法律狀態:

撤回

有效性:

無權

法律詳情: 發明專利申請公布后的視為撤回IPC(主分類):G06F 12/00申請公布日:20151223|||專利申請權的轉移IPC(主分類):G06F 12/00登記生效日:20170111變更事項:申請人變更前權利人:惠普發展公司,有限責任合伙企業變更后權利人:慧與發展有限責任合伙企業變更事項:地址變更前權利人:美國德克薩斯州變更后權利人:美國德克薩斯州|||實質審查的生效IPC(主分類):G06F 12/00申請日:20130328|||公開
IPC分類號: G06F12/00; G06F12/08 主分類號: G06F12/00
申請人: 惠普發展公司,有限責任合伙企業
發明人: M.K.貝尼迪克特; W.J.沃克; A.C.沃爾頓
地址: 美國德克薩斯州
優先權:
專利代理機構: 中國專利代理(香港)有限公司 72001 代理人: 張凌苗;陳嵐
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201380075099.5

授權公告號:

|||||||||

法律狀態公告日:

2018.04.24|||2017.02.01|||2016.01.20|||2015.12.23

法律狀態類型:

發明專利申請公布后的視為撤回|||專利申請權、專利權的轉移|||實質審查的生效|||公開

摘要

技術包括監視與多個存儲器地址相關聯的多個存儲器位置的激活率并且調節激活率。調節包括基于激活率利用存儲器地址來選擇性地刷新高速緩存。

權利要求書

權利要求書
1.  一種方法,其包括:
監視與多個存儲器地址相關聯的多個存儲器位置的激活率;以及
調節激活率,調節包括基于激活率利用存儲器地址選擇性地更新高速緩存。

2.  如權利要求1所述的方法,其中監視激活率包括:
維持具有條目并且具有計數器的陣列,每個條目與存儲器地址中的一個相關聯,所述計數器用以跟蹤針對相關聯的存儲器地址的激活率,維持包括選擇性地調節第二較大的多個存儲器地址的哪些存儲器地址由表格跟蹤。

3.  如權利要求2所述的方法,其中調節包括響應于在不由表格跟蹤的事務中指示的存儲器地址,逐出表格的條目中的一個并且以對應于在事務中指示的存儲器地址的新條目代替逐出的條目。

4.  如權利要求3所述的方法,其中逐出包括從對應于存儲器地址的、用于逐出的條目選擇條目,比由表格跟蹤的至少一個其他存儲器地址更不頻繁地訪問所述存儲器地址。

5.  如權利要求4所述的方法,其中逐出包括應用至少近似最近最少使用的代替策略的代替策略。

6.  如權利要求2所述的方法,其中調節包括響應于在由表格跟蹤的總線事務中指示的存儲器地址,使相關聯的條目的計數器遞增以指示指示的地址的更近的使用。

7.  如權利要求1所述的方法,其中:
監視激活率包括使用與多個存儲器地址相關聯的計數器來跟蹤激活率;
當在計數器上超過指示的閾值時,確定多個存儲器地址中的相關聯的存儲器地址已經超過激活閾值;并且
選擇性地更新高速緩存包括逐出高速緩存條目并且以與超過激活閾值的存儲器地址相關聯的數據代替逐出的高速緩存條目。

8.  一種系統,包括:
系統存儲器,其包括多個存儲器地址;
高速緩存,其用以將多個存儲器地址的第一集合作為目標;以及
控制器,其用以監視多個存儲器地址的第二較大集合的激活率并且基于監視的激活率來選擇性地更新被高速緩存作為目標的第一集合的組成。

9.  如權利要求8所述的系統,進一步包括:
陣列,其包括條目和計數器,每個條目與第二集合的存儲器位置相關聯,所述計數器用以跟蹤與相關聯的存儲器位置相關聯的激活率,
其中耦合控制器以使用陣列來確定何時將更新第一集合的組成。

10.  如權利要求9所述的系統,其中控制器進一步適于基于多頻繁地訪問相關聯的存儲器位置來選擇性地更新存儲器地址的第二集合的組成。

11.  如權利要求9所述的系統,其中條目中的至少一個包括用以存儲針對指向高速緩存的相應條目的指針的數據的域以及用以存儲指示計數器以跟蹤相對于由陣列跟蹤的其他存儲器位置而多頻繁地訪問相關聯的存儲器位置的數據的域。

12.  如權利要求9所述的系統,其中條目中的至少一個進一步包括用以指示針對由條目的計數器指示的值的閾值以標識何時已經超過激活率閾值的域。

13.  一種包括用以存儲由基于處理器的系統可讀的指令的非瞬時存儲介質的制品,所述指令在由基于處理器的系統執行時使得基于處理器的系統:
監視與多個存儲器地址相關聯的多個存儲器位置的激活率;并且
基于激活率,利用存儲器地址選擇性地更新高速緩存。

14.  如權利要求13所述的制品,存儲介質存儲指令,所述指令由基于處理器的系統執行時使得基于處理器的系統:
維持具有條目并且具有計數器的陣列,每個條目與存儲器地址中的一個相關聯,所述計數器用以跟蹤針對相關聯的存儲器地址的激活率,維持包括擇性地調節第二較大的多個存儲器地址的哪些存儲器地址由表格跟蹤。

15.  如權利要求13所述的制品,其中存儲器位置中的至少一個包括高速緩存行地址。

說明書

說明書調節存儲器激活率
背景技術
許多現實世界分析學應用處理大量的數據集。例如,出于允許在線業務達到在線市場中更好位置本身的目的,可以將機器學習應用于大數據集。以該方式,在線業務可以由于通過其在線目錄的銷售和/或通過由用戶點擊出現在商業的web站點上的廣告產生的收入的銷售而接收收入。出于理解在線用戶的期望和傾向的目的,可以發掘(mine)描述該活動的大數據集。
附圖說明
圖1是根據示例實現的計算機系統的示意圖。
圖2是根據示例實現的圖1的計算機系統的激活率調節系統的示意圖。
圖3是描繪根據示例實現的用以調節存儲器的激活率的技術的流程圖。
圖4是圖示根據示例實現的在圖1的計算機系統的控制器和檢測陣列之間的交互的示意圖。
具體實施方式
處理大量數據集由于與該處理相關的對相同或者附近存儲器位置的大量潛在的重復的訪問而在計算機系統的存儲器上可能是相當繁重的。如果不針對本文公開的系統和技術,則重復的訪問可以處于大到足夠潛在地影響存儲在存儲器中的數據的完整性的率。
更具體地,電荷被選擇性地存儲在動態隨機訪問存儲器(DRAM)設備的基于電容器的存儲器單元中以表示相應的存儲數據。因為泄漏電流使存儲的電荷降級(degrade),所以DRAM設備的存儲器單元被周期性刷新,這涉及讀存儲在DRAM的設備存儲器單元中的數據并且將數據重寫回到存儲器單元。然而,刷新DRAM設備的率可能不足以維持用于某個活動的電荷水平。以該方式,出于訪問DRAM設備的存儲器單元的行的目的,可以發出被稱為“激活命令”的命令以打開用于訪問的行。即使周期性地刷新這些字行,以足夠高的率的給定行的重復激活(例如,每刷新周期大約數千次的激活)可能使存儲在相鄰字行中的數據降級(歸因于DRAM特征的相對緊密的間距的DRAM中的自然發生)。換言之,當激活率超過某閾值時,周期性的刷新間隔可能不足以維持存儲的數據。
出于控制可能否則由于在給定的刷新周期期間的給定行的重復激活而發生的降級的目的,本文公開了針對頻繁訪問的DRAM行使用高速緩存條目來存儲數據內容的系統和技術。
更具體地,本文公開了系統和技術,用于監視針對對應于被監視的系統地址池的存儲器位置的激活率。該地址池繼而可以包含比被高速緩存作為目標的地址的數量顯著更大數量的地址。基于針對池的地址的監視的激活率來更新被高速緩存作為目標的地址。例如,如果池中被監視的地址中的一個具有超過預定的刷新率閾值的相關聯的激活率,則可以更新高速緩存以隨后處理對該存儲器位置的訪問,使得此后不超過存儲器位置的刷新率閾值。同樣地,現在可以較不頻繁地訪問被頻繁訪問并且當前被高速緩存的存儲器位置。針對該情況,可以更新高速緩存以逐出或者移除對應于較不頻繁地訪問的存儲器位置的條目。
作為更具體的示例,圖1描繪了示例計算機系統100。針對該示例,計算機系統100包括處理器包120(在圖1中兩個處理器包120-1和120-2被描繪作為示例)。一般地,處理器包120可以是包括一個或多個處理器核130的半導體包(例如,球(ball)和網格包)。除(一個或多個)處理器核130之外,處理器包120還可以包括存儲器控制器160,所述存儲器控制器160一般地控制存儲和取回在共同形成存儲器180的存儲器模塊182(作為示例,雙列直插存儲器模塊(DIMM))中的數據。如在圖1中描繪的那樣,在示例實現中,每個處理器包120可以具有相關聯的存儲器180,所述存儲器180可以充當例如用于計算機系統100的本地和共享的存儲器兩者。設想在所附權利要求書的范圍內的其他實現。
根據示例實現,出于限制可以以其激活存儲器180的任何給定位置的率的目的,處理器包120包括控制器164。應注意控制器164可以是存儲器控制器160的部分(如在圖1中作為示例描繪的那樣)或者可以與存儲器控制器160分離。此外,控制器164可以被實現為CPU包的部分(即,通過由CPU執行機器可執行指令實現的);可以使用在CPU包外部的電路(例如,一個或多個集成電路)被實現;或者取決于特定實現可以是上文的組合。
不論其特定形式,出于檢測何時激活對應于在給定地址池內的地址的存儲器位置的目的,控制器164監視與存儲器180的事務。取決于特定實現,位置可以包括存儲器180的連續和/或非連續的位置。
根據示例實現,出于確定何時給定地址在地址的池內的目的,控制器164使用檢測陣列140。作為示例,檢測陣列140一般地包含存儲器180的最頻繁地激活的地址(例如,與高速緩存行相關聯的最頻繁地激活的地址)。根據示例實現,控制器164控制哪些地址屬于池。以該方式,根據示例實現,控制器164基于觀察的針對地址的激活率選擇性地向固定數池(作為示例)逐出和增加地址。
當地址的池的給定地址超過預定義閾值(例如,與在可能發生存儲器降級之前每刷新周期的確定的激活的最大數量一致的閾值)時,出于減少訪問相關聯的存儲器位置的率的目的,控制器164采取修正動作。如本文進一步公開的那樣,以該方式,控制器164響應于檢測針對池的相關聯的地址的激活率已經被超過來更新高速緩存150以在此后跟蹤地址,即控制器164更新相應的高速緩存標記(tag)地址以將該地址作為目標,使得與該地址相關聯的清潔數據被存儲在高速緩存150的行中。通過配置高速緩存150來高速緩存頻繁訪問的存儲器地址,顯著減少了相應存儲器位置的激活率,因為從高速緩存150供應大多數訪問。
因此,參考圖2,根據示例實現,激活率調節系統200監視不被控制器204高速緩存的請求220,所述請求220可以是例如在存儲器總線操作中傳送的請求并且其可以涉及激活命令的傳送。控制器204將與請求220相關聯的存儲器地址與監視的地址212的池210相比較,所述請求220與激活命令相關聯。以該方式,針對監視的地址212,控制器204維持相應的激活率214的日志。此外,控制器204維持哪些地址212屬于池210,使得池210一般包含最頻繁激活的地址212。一般地,存儲器250因此包括具有相應地址264的存儲器位置260,其中最頻繁激活的地址264對應于池210的跟蹤的地址212。
當給定激活率214超過預定義閾值時,控制器204更新高速緩存270以逐出高速緩存270的高速緩存條目276中的一個并且以對應于具有已經被超過的激活率214的地址212的高速緩存條目276代替被逐出的高速緩存條目276。出于該目的,高速緩存270可以更新相應的標記地址條目274,使得高速緩存270存儲針對新地址212的數據。
因此,參考圖3,根據示例實現的技術300包括監視(框302)與存儲器地址的池相關聯的存儲器位置的激活率。技術300包括調節(框304)激活率,包括將高速緩存到高速緩存訪問選擇性地配置到被太頻繁激活的存儲器地址。
一般地,通過對被最頻繁激活的地址高速緩存來降低激活率。例如,根據示例實現,如果最大激活率是每刷新間隔一百萬次激活并且問題發生在每刷新間隔二十萬次激活,則高速緩存270包含針對至少五個地址的高速緩存條目,即1M/200K=5個地址。在這樣的情況下,在系統上運行的應用可以迅速地訪問五個地址并且不命中(hit)存儲器250。如果應用假設迅速訪問六個地址,則存儲器250將得到最頻繁激活的每六個中的一個,并且這將處于低到足以不引起問題的率。
參考圖4,作為更具體的示例,根據某些實現,檢測陣列140可以包括與被監視的地址的池相關聯的N個條目402(在圖4中被描繪為示例的N個條目402-1、402-2……402-N)。根據示例實現,檢測陣列可以包括對應于監視的地址的十六個條目402。
每個條目402可以包括針對圖4的示例高速緩存行402-1圖示的以下域。高速緩存條目指針域404包含數據以表示指向相應的高速緩存條目的潛在指針。狀態域406包含指示是否高速緩存條目402-1的數據以及標識針對條目402的最近最少使用的(LRU)計數值的數據408。如本文進一步討論的那樣,出于標識最頻繁激活的存儲器地址的目的,(根據示例實現)按照至少近似LRU代替策略的高速緩存條目代替策略來使用LRU計數值。條目402的域可以進一步包括標識具體地址的域,所述域諸如列選擇域410、組(bank)標識域412和行地址域414之類的。此外,條目402包括域416,所述域416包含數據以存儲激活計數值。
在該點上,域416形成激活計數器,出于跟蹤針對相關聯的地址的激活的目的,所述激活計數器由控制器164使用和更新。當這些激活超過閾值時,控制器164然后采取適當的動作以更新高速緩存。針對圖4的具體示例,可以針對每個地址定義閾值。在該點上,根據示例實現,條目402包含域418,所述域418包含標識閾值狀態的數據。當由在域416中的數據指示的計數值超過由在域418中的數據指示的閾值時,然后控制器164認為針對相應的地址的激活率已經被超過。
根據示例實現,可能存在可以被用于確定刷新周期的單個刷新間隔計數器。以該方式,根據某些實現,可以將任何活躍芯片選擇信號用作用于刷新的源。根據進一步實現,可以使用其他時間間隔。不論特定實現,周期性重置激活計數器(即,由域416指示的計數值)。
設想在所附權利要求書的范圍內的其他實現。以該方式,根據進一步實現,可以使用其他方式來決定代替哪個高速緩存條目。例如,根據進一步示例實現,可以以將被太頻繁訪問的新地址作為目標的條目隨機地代替高速緩存條目。在進一步實現中,可以基于由升計數器(upcounter)提供的計數值來代替最老的條目。根據進一步實現,出于決定代替哪個高速緩存條目的目的,可以使用其他技術。
如在圖4中描繪的那樣,控制器164可以在每個激活周期上執行以下動作。以該方式,在每個激活周期上,控制器164確定(決定框420)來自激活周期的地址是否與由檢測陣列140的條目402指示的地址中的任何地址匹配。如果匹配,則控制器164使針對條目的激活率計數器遞增(框424)并且設置(框426)針對條目的LRU計數值408等于“7”,針對該示例所述LRU計數值408是針對計數器的最大值。換言之,利用該最大LRU計數值,現在將條目指定為檢測陣列140的被最頻繁訪問的條目中的一個。控制器164進一步使針對其他條目402的LRU計數器遞減(框428)。因此,當針對每個激活周期更新檢測陣列140時,未訪問的條目具有遞減的LRU計數,因此允許最近最少使用的條目402的標識。
控制器164確定(決定框430)是否已經超過激活率閾值。如果是,則控制器164與高速緩存通信以逐出(框432)具有最低LRU計數的高速緩存條目并且以對應于來自當前激活周期的地址的高速緩存條目代替它。
如果在決定框420中,控制器164確定來自當前激活周期的地址不匹配檢測陣列140的相應的條目402的任何地址,那么控制器164選擇(框440)具有最低激活計數/LRU計數的檢測陣列的條目。在該點上,例如,如果兩個條目402具有相同的LRU計數,那么控制器164選擇具有較低的相應的激活率的候選條目402。按照框442,然后從檢測陣列140逐出或者移除選擇的條目。控制器164以來自激活周期的地址代替(框444)在檢測陣列140中逐出的條目,針對條目設置LRU計數等于7并且使針對其他條目的LRU計數遞減。
雖然本文已經公開了有限數量的示例,但是具有本公開的益處的本領域中的那些技術人員將理解來自本文的許多修改和變型。意圖所附權利要求書覆蓋所有這樣的修改和變型。

關 鍵 詞:
調節 存儲器 激活
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:調節存儲器激活率.pdf
鏈接地址:http://www.wwszu.club/p-6405399.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大