專利名稱:存儲設(shè)備的刷新處理方法和存儲設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及存儲技術(shù),尤其涉及一種存儲設(shè)備的刷新處理方法和存儲設(shè)備。
背景技術(shù):
嵌入式動態(tài)隨機訪問存儲器(Embedded Dynamic Random AccessMemory,以下簡稱eDRAM)是一種各方面性能都比較理想的存儲器。它在擁有動態(tài)隨機訪問存儲器 (Dynamic Random Access Memory,以下簡稱DRAM)的高速率和大容量特點的同時,還可以像大多數(shù)靜態(tài)隨機訪問存儲器(Static Random Access Memory,以下簡稱SRAM) —樣與普通邏輯電路集成在一塊芯片中,較好地實現(xiàn)了低延遲。eDRAM的數(shù)據(jù)讀寫過程為在寫使能信號WR為高電平時,寫地址信號WR_ADDR和寫數(shù)據(jù)信號WR_DATA為有效輸入,在時鐘上升沿后,WR_DATA對應(yīng)的數(shù)據(jù)被寫入WR_ADDR對應(yīng)的eDRAM地址中。對于讀操作,在讀使能信號RD為高電平時,讀地址信號RD_ADDR為有效輸入,在時鐘上升沿后,RD.ADDR所對應(yīng)的eDRAM地址中的存儲值被讀取,并且在一定的時鐘周期,即讀出延遲后,輸出產(chǎn)生讀數(shù)據(jù)信號RD_DATA。eDRAM的每個存儲單元必須在刷新周期內(nèi)進行刷新才能保證正確性。eDRAM的刷新操作按照存儲塊(以下簡稱bank)來劃分,bank內(nèi)的存儲單元的刷新由存儲器的內(nèi)部電路自動完成,具體來說,訪問控制器可以根據(jù)bank的編號依次進行刷新操作,一旦出現(xiàn)讀寫操作的bank和刷新操作的bank編號相同,則需要延遲讀寫操作,從而導(dǎo)致eDRAM的訪問性能降低。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種存儲設(shè)備的刷新處理方法和存儲設(shè)備,以提高eDRAM的訪問性能。本發(fā)明實施例提供一種存儲設(shè)備的刷新處理方法,包括根據(jù)訪問請求中包含的存儲塊標識,確定在當前刷新周期的當前時間片內(nèi)需要進行讀寫操作的存儲塊;在所述當前時間片內(nèi),對所述當前時間片內(nèi)的待選存儲塊中除需要進行讀寫操作的存儲塊之外的其它存儲塊執(zhí)行刷新操作;將所述當前時間片內(nèi)未執(zhí)行刷新操作的存儲塊作為所述當前刷新周期的其它時間片的待選存儲塊。本發(fā)明實施例提供一種存儲設(shè)備,包括訪問控制器,用于根據(jù)訪問請求中包含的存儲塊標識,確定在當前刷新周期的當前時間片內(nèi)需要進行讀寫操作的存儲塊;刷新處理器,用于在所述當前時間片內(nèi),對所述當前時間片內(nèi)的待選存儲塊中除需要進行讀寫操作的存儲塊之外的其它存儲塊執(zhí)行刷新操作,并將所述當前時間片內(nèi)未執(zhí)行刷新操作的存儲塊作為所述當前刷新周期的其它時間片的待選存儲塊。本發(fā)明實施例,可以將存儲設(shè)備,例如eDRAM的刷新周期劃分為多個時間片且每個時間片中可包含至少一個時鐘周期,在該時間片內(nèi),eDRAM的訪問控制器可以根據(jù)訪問請求確定哪些存儲塊需要執(zhí)行讀寫操作,哪些存儲塊不需要執(zhí)行讀寫操作,對于在該時間片內(nèi)不執(zhí)行讀寫操作的存儲塊,存儲設(shè)備的訪問控制器即可對這些不執(zhí)行讀寫操作的存儲塊進行刷新操作。因此,本發(fā)明實施例中的刷新過程和讀寫過程相互無影響,因此,無需延遲讀寫操作,從而提高了存儲設(shè)備的訪問性能。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明存儲設(shè)備的刷新處理方法實施例一的流程圖;圖2為本發(fā)明存儲設(shè)備的刷新處理方法實施例二的流程示意圖;圖3為本發(fā)明存儲設(shè)備的刷新處理方法實施例二的流程圖;圖4為本發(fā)明存儲設(shè)備的刷新處理方法實施例三的流程示意圖;圖5為本發(fā)明存儲設(shè)備的刷新處理方法實施例四的流程示意圖;圖6為本發(fā)明存儲設(shè)備實施例的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。圖1為本發(fā)明存儲設(shè)備的刷新處理方法實施例一的流程圖,如圖1所示,本實施例的方法可以包括步驟101、根據(jù)訪問請求中包含的存儲塊標識,確定在當前刷新周期的當前時間片內(nèi)需要進行讀寫操作的存儲塊;步驟102、在所述當前時間片內(nèi),對所述當前時間片內(nèi)的待選存儲塊中除需要進行讀寫操作的存儲塊之外的其它存儲塊執(zhí)行刷新操作;步驟103、將所述當前時間片內(nèi)未執(zhí)行刷新操作的存儲塊作為所述當前刷新周期的其它時間片的待選存儲塊。具體來說,在本實施例中,一個存儲設(shè)備中可以設(shè)置多個bank,多個bank需要在刷新周期內(nèi)完成刷新,為了解決現(xiàn)有技術(shù)中存在的技術(shù)問題,在本發(fā)明實施例中,每個刷新周期又分為多個時間片,每個時間片的長度可以為一個或多個時鐘周期,在每個時間片內(nèi)均可以為多個bank執(zhí)行讀寫操作或者刷新操作。假設(shè)本發(fā)明實施例中的存儲設(shè)備為一個eDRAM,其通過訪問控制器接收訪問請求, 該訪問請求用于訪問該eDRAM中的bank,該訪問請求中可以包含所需訪問的bank的標識,該訪問請求既可以是讀訪問請求,也可以是寫訪問請求。因此,eDRAM的訪問控制器即可根據(jù)該訪問請求中包含的bank的標識,確定一個時間片內(nèi)待執(zhí)行讀寫操作的bank。eDRAM的訪問控制器在確定一個時間片內(nèi)哪個或者哪些bank需要被執(zhí)行讀寫操作后,即可對在該時間片內(nèi)不執(zhí)行讀寫操作的bank進行刷新處理。舉例來說,設(shè)定在一個時間片內(nèi)可以為5個bank,即bankO bank4,執(zhí)行讀寫操作和刷新操作。且該訪問請求中包含的bank的標識為2和3,則在當前時間片內(nèi)為bank2 和bank3執(zhí)行讀寫操作,而可以對bankO 1以及bank4中的一個或多個進行刷新處理。一個刷新周期內(nèi)有多個時間片,從而可以根據(jù)讀寫請求來安排各個bank在不同的時間片內(nèi)執(zhí)行刷新操作,以使得各個bank不會因為要處理刷新而造成讀寫請求的延誤。在實際應(yīng)用中,刷新周期中可以包括一個或多個時間片。每個時間片中可以設(shè)置1 個或多個bank作為刷新處理的待選bank。假設(shè)一個時間片內(nèi)可以對N個bank執(zhí)行刷新操作,為M個kmk執(zhí)行讀寫操作,也就是說,在硬件設(shè)備中設(shè)置N個刷新處理寄存器resultO、 resultU……、resultN-Ι以及M個讀寫操作寄存器。在每個時間片內(nèi),首先將接收到的讀寫請求對應(yīng)的bank的標識寫入到讀寫操作寄存器中,以在本時間片內(nèi)進行讀寫操作;然后,再從預(yù)設(shè)的刷新處理的待選bank中選擇沒有讀寫請求需要處理的bank作為當前時間片內(nèi)的需要進行刷新處理的bank,將需要進行刷新處理的bank的標識寫入到刷新處理寄存器中。從預(yù)設(shè)的刷新處理的待選bank中選擇沒有讀寫請求需要處理的bank時,可以順序選取,也可以按照一定的預(yù)設(shè)邏輯選取,不與執(zhí)行讀寫操作的bank相沖突即可。對于在本時間片內(nèi)執(zhí)行了讀寫操作而無法執(zhí)行刷新處理的bank,以及由于刷新處理寄存器被寫滿而沒有進行刷新處理的bank,可以根據(jù)當前刷新周期內(nèi)的隨后的其他時間片中的讀寫訪問情況再安排刷新處理,以使得每一個bank可以在當前刷新周期內(nèi)的不同時間片中,分別獲得刷新處理,并且避免與讀寫處理相沖突。圖2為本發(fā)明存儲設(shè)備的刷新處理方法實施例二的流程示意圖,如圖2所示,在本實施例中,一個時間片內(nèi)最多可以為N個bank執(zhí)行刷新操作,最多為M個bank執(zhí)行讀寫操作,resultO、resultl、……、resultN_l是本時間片內(nèi)可執(zhí)行刷新操作的bank編號的寄存
器。select0、selectl、select2、......、selectN+M_l是本時間片內(nèi)執(zhí)行刷新操作的待選kink
編號的寄存器,其初始值分別是 0、1、2、......、N+M_1。new_selectO、new_selectl、......、
new_selectN-l是下一時間片內(nèi)執(zhí)行刷新操作的部分待選bank編號的寄存器,初始值是 N+M、N+M+1、......、2N+M-1。在每個時間片,eDRAM的訪問控制器可以根據(jù)訪問請求中包含的bank的標識,從
selectO、selectl、select2、......、selectN+M-1中確定在本時間片執(zhí)行讀寫操作的X個
bank的編號,可以理解的是,確定的bank最多M個,也即0 < X彡M,相應(yīng)地,剩下的bank 至少為N個,至多為N+M-1個,也即N ^ N+M-X ^ N+M-1 ;然后,訪問控制器可以從N+M-X個 bank中選出在本時間片可以執(zhí)行刷新操作的N個bank編號,該選擇過程既可以為隨機選擇,也可以采用一定的策略,例如編號從小到大依次選擇;之后,訪問控制器即可將選定的 N個bank的編號更新到resultO、resultl、……、resultN_l中,以執(zhí)行本時間片內(nèi)的刷新操作,該更新方法可以可根據(jù)實現(xiàn)復(fù)雜度選擇。同時,selectO、selectl、SeleCt2、……、
selectN+M-1 中被選中的寄存器用 new_selectO、new_selectl、......、new_selectN_l 的值
更新,該更新方法仍然可以可根據(jù)實現(xiàn)復(fù)雜度選擇,而未被選中的寄存器則可以保持原值。最后,new_selectO、new_selectl、......、new_selectN_l 各自增力口 N,得至Ij新的待選 bank 編
號。不斷重復(fù)上述過程,即可在不影響讀寫操作的情況下,完成所有bank的刷新操作。依據(jù)上述圖2所示的流程示意圖,本發(fā)明實施例提供如下具體的刷新處理方法。 圖3為本發(fā)明存儲設(shè)備的刷新處理方法實施例二的流程圖,如圖2和3所示,本實施例中的第一寄存器即為圖2中的select寄存器,第二寄存器即為圖2中的result寄存器,第三寄存器即為newjelect寄存器,具體地,本實施例的方法可以包括步驟301、根據(jù)訪問請求中包含的存儲塊標識,確定N+M個第一寄存器中的X個第一寄存器中存儲的標識對應(yīng)的存儲塊為待執(zhí)行讀寫操作的存儲塊。步驟302、將選中的N個存儲塊的標識對應(yīng)地發(fā)送給N個第二寄存器,以使所述第二寄存器中的標識對應(yīng)的存儲塊被刷新處理。步驟303、將存儲在第三寄存器中的下一個時間片內(nèi)的N個存儲塊的標識對應(yīng)地發(fā)送給所述選中的N個存儲塊原先存儲的第一寄存器中。需要說明的是,步驟302和步驟303之間可以沒有先后順序,而是并行執(zhí)行。另外,針對某些bank有可能在刷新周期內(nèi)一直處于待讀寫狀態(tài),因此,本實施例可以在整個刷新周期的最后預(yù)留一個或幾個時鐘周期,如果在預(yù)留的最后一個或幾個時鐘周期內(nèi)仍存在未執(zhí)行刷新操作的bank,則延遲執(zhí)行讀寫操作并執(zhí)行bank的刷新操作。具體來說,本實施例可以確定將當前刷新周期中當前時間片之后的剩余時間片全部用于對未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,是否能夠完成對全部存儲塊的刷新操作;若不能,則在剩余時間片內(nèi),延遲執(zhí)行讀寫操作并優(yōu)先執(zhí)行刷新操作。以每個時間片內(nèi)能夠?qū)個存儲塊進行刷新操作且能夠?qū)個存儲塊進行讀寫操作舉例來說,若剩余時間片的個數(shù)為K且未執(zhí)行刷新操作的存儲塊的個數(shù)大于KXN,則確定將K個剩余時間片全部用于對KXN個未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,不能完成對全部存儲塊的刷新操作;若剩余時間片的個數(shù)為K且未執(zhí)行刷新操作的存儲塊的個數(shù)小于等于KXN,則確定將 K個剩余時間片全部用于對KXN個未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,能夠完成對全部存儲塊的刷新操作。本實施例,將eDRAM的刷新周期劃分為多個時間片且每個時間片中可包含至少一個時鐘周期,在該時間片內(nèi),eDRAM的訪問控制器可以根據(jù)訪問請求確定N+M個存儲開中哪些存儲塊需要執(zhí)行讀寫操作,哪些存儲塊不需要執(zhí)行讀寫操作,對于在該時間片內(nèi)不執(zhí)行讀寫操作的存儲塊,eDRAM的訪問控制器即可對這些不執(zhí)行讀寫操作的存儲塊進行刷新操作。因此,本實施例中的刷新過程和讀寫過程相互無影響,因此,無需延遲讀寫操作,從而提高了 eDRAM的訪問性能。而且,本實施例在具體實現(xiàn)時,可以采用寄存器,且實現(xiàn)邏輯僅是比較邏輯和加法邏輯,從而易于實現(xiàn)。本發(fā)明上述兩個實施例,具體來說可以適用于eDRAM NO. 2這種存儲設(shè)備或者適用于eDRAM NO. 3這種存儲設(shè)備。對于eDRAM NO. 3這種存儲設(shè)備來說,其基本特點如下eDRAM NO. 3,其基本特點如下有三個端口,一個用于讀操作,一個用于寫操作,一個用于刷新操作;同一個時鐘周期,讀寫和刷新的bank號不能相同;相鄰兩個時鐘周期,讀寫和刷新的bank號不能相同;
相鄰兩個時鐘周期,讀寫和刷新次數(shù)不能大于5次;在固定的時間內(nèi),要完成所有bank的刷新。因此,針對eDRAM NO. 3來說,時間片包括兩個時鐘周期,時間片內(nèi)存在5個存儲塊,其中待執(zhí)行刷新操作的候選存儲塊為1個,待執(zhí)行讀寫操作的候選存儲塊為4個。下面采用eDRAM NO. 3這種存儲設(shè)備對本發(fā)明的技術(shù)方案進行說明。圖4為本發(fā)明存儲設(shè)備的刷新處理方法實施例三的流程示意圖,如圖4所示,兩個時鐘周期為一個時間片,在一個時間片內(nèi),執(zhí)行刷新操作的bank數(shù)量為1,執(zhí)行讀寫操作的bank數(shù)量為4。result是最終選出的本時間片內(nèi)執(zhí)行刷新操作的bank編號。selectO、 selectl、select2、select3、select4是本時間片內(nèi)執(zhí)行刷新操作的待選bank編號的寄存器,初始值分別是0、1、2、3、4。neW_Select是下一時間片內(nèi)執(zhí)行刷新操作的待選bank編號的寄存器,初始值是5。cnt是一個刷新周期內(nèi)的時鐘周期計數(shù)器。初始值為一個刷新周期的時鐘周期數(shù),該值由eDRAM的最大刷新間隔決定。cnt每個時鐘周期自減1,直到減為1, 標志著一個刷新周期結(jié)束;然后回到初始值,開始下一個刷新周期。為了解決始終不可避免的讀寫和刷新沖突問題,預(yù)留一個刷新周期的最后八個時鐘周期。如果還存在沒有刷新過的bank,則優(yōu)先執(zhí)行刷新操作。類似固定刷新方案和乒乓刷新方案一個刷新周期的最后一個時鐘周期,如果讀寫操作和刷新操作的bank號相同,則延遲讀寫操作。在一個刷新周期的其他時鐘周期,優(yōu)先執(zhí)行讀寫操作。從selectO、selectl, select2、select3、select4中存儲的bank編號中,選擇一個與讀寫操作不沖突的bank作為本次刷新的bank。例如如果選中selectl,則selectl中存儲的bank編號發(fā)送給result, 對這個bank進行刷新。new_select中存儲的下一次刷新待選bank編號發(fā)送給selectl。 selectO、select2、select3、select4的存儲值保持不變,自動成為下一次刷新待選bank編號。new—select自增加1,成為再下一次刷新待選bank編號。每一次刷新都進行上述操作,就可以在不影響讀寫操作的情況下完成絕大多數(shù) bank的刷新。當new_select已經(jīng)等于最大bank數(shù)時就不再增加,此時,selectO、selectl、 select2、select3、select4以及new_select中存儲的6個bank編號,是當前還未刷新過的bank的編號。兩個時間片后,只剩下4個bank還未刷新,它們存儲在selectCKselectl、 select2、select3、select4 中。selectO、selectl、select2、select3、select4 中還包含著 1個已經(jīng)刷新過的bank編號,因為new_Select已經(jīng)等于最大kmk數(shù)而不需要更新。如果還未到一個刷新周期的最后八個時鐘周期,就不斷的從select0、selectl、select2、select3、 select4中存儲的未刷新bank編號中選擇bank刷新。當達到最后八個時鐘周期時,至多剩下4個bank —直沒有機會刷新。對于eDRAM N0. 2這種存儲設(shè)備來說,其基本特點如下有兩個端口,一個用于讀寫操作,一個用于刷新操作;同一個時鐘周期,讀寫和刷新的bank的編號不能相同;在固定的時間內(nèi),要完成所有bank的刷新。因此,針對eDRAM N0. 2來說,每個時間片可以包括一個時鐘周期,每個時間片內(nèi)存在2個存儲塊,其中待執(zhí)行刷新操作的候選存儲塊為1個,待執(zhí)行讀寫操作的候選存儲塊為1個。下面采用eDRAM NO. 2這種存儲設(shè)備對本發(fā)明的技術(shù)方案進行說明。圖5為本發(fā)明存儲設(shè)備的刷新處理方法實施例四的流程示意圖,如圖5所示,一個時鐘周期為一個時間片,在一個時間片內(nèi),執(zhí)行刷新操作的bank數(shù)量為1,執(zhí)行讀寫操作的 bank數(shù)量為1。result是最終選出的執(zhí)行本次刷新操作的bank編號。selectO、selectl 是本次刷新待選bank編號的寄存器,初始值分別是0、1。new_select是下一次刷新待選 bank編號的寄存器,初始值是2。上述兩個具體實施例,分別根據(jù)eDRAM NO. 2和eDRAM NO. 3各自的特點,將刷新周期劃分為多個時間片且每個時間片中可包含至少一個時鐘周期,在該時間片內(nèi),其對應(yīng)的訪問控制器可以根據(jù)訪問請求確定存儲開中哪些存儲塊需要執(zhí)行讀寫操作,哪些存儲塊不需要執(zhí)行讀寫操作,對于在該時間片內(nèi)不執(zhí)行讀寫操作的存儲塊,其對應(yīng)的訪問控制器即可對這些不執(zhí)行讀寫操作的存儲塊進行刷新操作。圖6為本發(fā)明存儲設(shè)備實施例的結(jié)構(gòu)示意圖,如圖6所示,本實施例的設(shè)備可以包括訪問控制器11和刷新處理器12,其中,訪問控制器11,用于根據(jù)訪問請求中包含的存儲塊標識,確定在當前刷新周期的當前時間片內(nèi)需要進行讀寫操作的存儲塊;刷新處理器 12,用于在所述當前時間片內(nèi),對所述當前時間片內(nèi)的待選存儲塊中除需要進行讀寫操作的存儲塊之外的其它存儲塊執(zhí)行刷新操作,并將所述當前時間片內(nèi)未執(zhí)行刷新操作的存儲塊作為所述當前刷新周期的其它時間片的待選存儲塊。本實施例的存儲設(shè)備可以用于執(zhí)行圖1所示方法實施例的方法,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。在上述存儲設(shè)備實施例一中,刷新處理器12,還用于確定將所述當前刷新周期中所述當前時間片之后的剩余時間片全部用于對未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,是否能夠完成對全部存儲塊的刷新操作;若不能,則在所述剩余時間片內(nèi),延遲執(zhí)行讀寫操作并優(yōu)先執(zhí)行刷新操作。具體來說,每個時間片內(nèi)能夠?qū)個存儲塊進行刷新操作且能夠?qū)個存儲塊進行讀寫操作,刷新處理器12,具體用于若所述剩余時間片的個數(shù)為K且未執(zhí)行刷新操作的存儲塊的個數(shù)大于KXN,則確定將K個剩余時間片全部用于對KXN個未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,不能完成對全部存儲塊的刷新操作;若所述剩余時間片的個數(shù)為K且未執(zhí)行刷新操作的存儲塊的個數(shù)小于等于KXN, 則確定將K個剩余時間片全部用于對KXN個未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,能夠完成對全部存儲塊的刷新操作。本實施例的存儲設(shè)備可以用于執(zhí)行圖3所示方法實施例的方法,其架構(gòu)可以采用圖2所示寄存器的架構(gòu),其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。在具體實現(xiàn)時,上述實施例中的存儲設(shè)備可以是eDRAM NO. 2或者eDRAMNO. 3,對于eDRAMNO. 2來說,其對應(yīng)地可以采用圖4所示的寄存器結(jié)構(gòu)實現(xiàn),對于eDRAM N0. 2來說, 其對應(yīng)地可以采用圖5所示的寄存器結(jié)構(gòu)實現(xiàn),其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過
9程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。 最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種存儲設(shè)備的刷新處理方法,其特征在于,包括根據(jù)訪問請求中包含的存儲塊標識,確定在當前刷新周期的當前時間片內(nèi)需要進行讀寫操作的存儲塊;在所述當前時間片內(nèi),對所述當前時間片內(nèi)的待選存儲塊中除需要進行讀寫操作的存儲塊之外的其它存儲塊執(zhí)行刷新操作;將所述當前時間片內(nèi)未執(zhí)行刷新操作的存儲塊作為所述當前刷新周期的其它時間片的待選存儲塊。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對所述當前時間片內(nèi)的待選存儲塊中除需要進行讀寫操作的存儲塊之外的其它存儲塊執(zhí)行刷新操作之后,還包括確定將所述當前刷新周期中所述當前時間片之后的剩余時間片全部用于對未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,是否能夠完成對全部存儲塊的刷新操作;若不能,則在所述剩余時間片內(nèi),延遲執(zhí)行讀寫操作并優(yōu)先執(zhí)行刷新操作。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,每個時間片內(nèi)能夠?qū)個存儲塊進行刷新操作且能夠?qū)個存儲塊進行讀寫操作,則所述確定將所述當前刷新周期中所述當前時間片之后的剩余時間片全部用于對未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,是否能夠完成對全部存儲塊的刷新操作,包括若所述剩余時間片的個數(shù)為K且未執(zhí)行刷新操作的存儲塊的個數(shù)大于KXN,則確定將 K個剩余時間片全部用于對KXN個未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,不能完成對全部存儲塊的刷新操作;若所述剩余時間片的個數(shù)為K且未執(zhí)行刷新操作的存儲塊的個數(shù)小于等于KXN,則確定將K個剩余時間片全部用于對KXN個未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,能夠完成對全部存儲塊的刷新操作。
4.一種存儲設(shè)備,其特征在于,包括訪問控制器,用于根據(jù)訪問請求中包含的存儲塊標識,確定在當前刷新周期的當前時間片內(nèi)需要進行讀寫操作的存儲塊;刷新處理器,用于在所述當前時間片內(nèi),對所述當前時間片內(nèi)的待選存儲塊中除需要進行讀寫操作的存儲塊之外的其它存儲塊執(zhí)行刷新操作,并將所述當前時間片內(nèi)未執(zhí)行刷新操作的存儲塊作為所述當前刷新周期的其它時間片的待選存儲塊。
5.根據(jù)權(quán)利要求4所述的設(shè)備,其特征在于,所述刷新處理器,還用于確定將所述當前刷新周期中所述當前時間片之后的剩余時間片全部用于對未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,是否能夠完成對全部存儲塊的刷新操作;若不能,則在所述剩余時間片內(nèi),延遲執(zhí)行讀寫操作并優(yōu)先執(zhí)行刷新操作。
6.根據(jù)權(quán)利要求5所述的設(shè)備,其特征在于,每個時間片內(nèi)能夠?qū)個存儲塊進行刷新操作且能夠?qū)個存儲塊進行讀寫操作,所述刷新處理器,具體用于若所述剩余時間片的個數(shù)為K且未執(zhí)行刷新操作的存儲塊的個數(shù)大于KXN,則確定將 K個剩余時間片全部用于對KXN個未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,不能完成對全部存儲塊的刷新操作;若所述剩余時間片的個數(shù)為K且未執(zhí)行刷新操作的存儲塊的個數(shù)小于等于KXN,則確定將K個剩余時間片全部用于對KXN個未執(zhí)行刷新操作的存儲塊執(zhí)行刷新操作,能夠完成對全部存儲塊的刷新操作。
全文摘要
本發(fā)明實施例提供一種存儲設(shè)備的刷新處理方法和存儲設(shè)備。存儲設(shè)備的刷新處理方法,包括根據(jù)訪問請求中包含的存儲塊標識,確定在當前刷新周期的當前時間片內(nèi)需要進行讀寫操作的存儲塊;在所述當前時間片內(nèi),對所述當前時間片內(nèi)的待選存儲塊中除需要進行讀寫操作的存儲塊之外的其它存儲塊執(zhí)行刷新操作;將所述當前時間片內(nèi)未執(zhí)行刷新操作的存儲塊作為所述當前刷新周期的其它時間片的待選存儲塊。本發(fā)明實施例中的刷新過程和讀寫過程相互無影響,因此,無需延遲讀寫操作,從而提高了存儲設(shè)備的訪問性能。
文檔編號G06F13/16GK102567243SQ201110412170
公開日2012年7月11日 申請日期2011年12月12日 優(yōu)先權(quán)日2011年12月12日
發(fā)明者侯鵬, 卞云峰, 楊惠萍, 羅秦川 申請人:華為技術(shù)有限公司