高速緩衝存儲器設備、處理器和信息處理裝置的製作方法
2023-05-28 04:07:26 2
專利名稱:高速緩衝存儲器設備、處理器和信息處理裝置的製作方法
高速緩衝存儲器設備、處理器和信息處理裝置
對相關申請的交叉引用
本申請要求於2011年9月16日提出的日本專利申請No. 2011-202740的優先權, 該專利申請的全部內容以引用的方式併入本文中。技術領域
這裡所描述的各實施例一般涉及高速緩衝存儲器設備、處理器以及信息處理裝置。
背景
在信息處理裝置中,處理器通過重複從外部輸入數據、處理輸入的數據以及將處 理的結果輸出到外部,來執行程序。當沒有要被執行的進程時,如當處理器等待從外部輸入 數據時,或等待通過計時器設置的時間逝去時,處理器進入具有低功耗的待機模式。當處於 待機模式下的處理器被通過中斷通知從外部輸入數據、由計時器設置的時間逝去等等時, 處理器再次進入程序被執行並啟動中斷進程的模式(在下文中,簡稱為「執行模式」)。
處於待機模式下的處理器通過對於布置在處理器內的各種模塊(運算單元、高速 緩衝存儲器等等)降低時鐘的頻率、停止時鐘信號的供給、停止電能的供給等等,來降低功 耗。此時,停止向其供給時鐘信號或電能的模塊的數量越多,功耗降低的量就越多。特別是, 在高度集成的現代處理器中,由於洩漏電流等等,高速緩衝存儲器的功耗高。因此,通過在 待機模式停止向高速緩衝存儲器供給電能,可以預期功耗的顯著降低。
基於處理器所使用的數據寫入方法的差異,高速緩衝存儲器被粗略地分類為直寫 型和回寫型。在包括直寫型的高速緩衝存儲器的處理器中,在由處理器向主存儲器寫入數 據時,將數據寫入到高速緩衝存儲器和將數據寫入到主存儲器是同時執行的。與此不同,在 包括回寫型的高速緩衝存儲器的處理器中,由處理器將數據寫入到主存儲器只通過將數據 寫入到高速緩衝存儲器中來完成,並且在稍後的適當的時間,數據被寫入到主存儲器中。
在包括回寫型的高速緩衝存儲器的處理器中,當將數據寫入到高速緩衝存儲器的 操作完成時,程序的執行可以繼續,無需等待將數據寫入到主存儲器中的操作完成。另外, 在處理器多次寫入相同地址的數據或高速緩衝存儲器的同一線的數據的情況下,這樣的數 據可以被共同地寫入到主存儲器中。因此,一般而言,回寫型的高速緩衝存儲器的處理效率 高於直寫型的高速緩衝存儲器的處理效率,這也會導致功耗的降低。
然而,在包括回寫型的高速緩衝存儲器的處理器中,當向高速緩衝存儲器的電能 供給被停止時,需要在只被寫入到高速緩衝存儲器中但是沒有被寫入到主存儲器中的數據 被寫入到主存儲器中之後停止向高速緩衝存儲器進行電能的供給。因此,在回寫型的高速 緩衝存儲器中從執行模式切換到待機模式所需的成本(時間和功耗)高於在直寫型的高速 緩衝存儲器中的成本。儘管在切換到待機模式(在該模式下,向高速緩衝存儲器的電能供給 被停止)的頻率低的情況下進入待機模式所需的成本可忽略,但是,在頻率高的情況下,成 本不可忽略。例如,在處理器被配置成進入待機模式(在該模式下,向高速緩衝存儲器的電 能供給被停止)甚至以幾毫秒到幾十毫秒為單位的非常短的待機時間以便實現功耗的顯著降低的情況下,從執行模式到待機模式的切換頻繁地發生,從而增大了切換所需的成本,因 此,功耗的降低小於預期。
根據常規技術,功耗的降低量是不充分的。發明內容
各實施例的目標是提供能夠抑制從執行模式切換到待機模式所需的時間和功耗 的高速緩衝存儲器設備、處理器以及信息處理裝置。
根據一個實施例,一種高速緩衝存儲器設備高速緩衝存儲在或將要存儲在存儲器 設備中的數據。該高速緩衝存儲器設備包括包括多個高速緩衝線的存儲器區域;以及控 制器。當所述高速緩衝線之中的髒線的數量超過預定數量時,控制器將所述髒線的數據 寫入到所述存儲器設備中,所述髒線中的每一個都包含未被寫入在所述存儲器設備中的數 據。
根據上文所描述的高速緩衝存儲器設備,可以抑制從執行模式切換到待機模式所 需的時間和功耗。
圖25是由根據第六示例的第一寫入控制單元執行的過程的流程圖26是由根據第六示例的第一寫入控制單元執行的過程的流程圖27是由根據第六示例的第二讀取控制單元執行的過程的流程圖28是由根據第六示例的第二寫入控制單元執行的過程的流程圖;以及
圖29A到29C是示出了根據一個實施例的處理器中的變化的圖。
具體實施方式
在下文中,將參考附圖來描述根據各實施例的高速緩衝存儲器設備、處理器以及 信息處理裝置。
信息處理裝置
圖1是示出根據此實施例的信息處理裝置I的外觀的圖。此信息處理裝置I被配 置為平板型的信息終端。信息處理裝置I包括終端表面上的顯示單元2a。作為顯示單元 2a,例如,使用具有低功耗的反射型液晶顯示器,電子紙張單元等等。另外,信息處理裝置I 還在除終端表面的顯示單元2a以外的部分包括太陽能電池3。此外,信息處理裝置I在顯 示單元2a的表面上包括充當指示設備的觸摸板2b。另外,信息處理裝置I還在不與布置在 終端表面上的顯示單元2a重疊的位置處包括鍵盤4。鍵盤4可以通過使透明觸摸板2b重 疊太陽能電池3的表面來實現。另外,鍵盤4還可以使用透明材料或其一小部分具有遮光 特性的材料而實現為機械鍵盤4。
圖2是示出了根據此實施例的信息處理裝置I的硬體配置的示例的框圖。作為其 主要硬體配置,信息處理裝置I包括處理器10、主存儲器(存儲器設備)5、輔助存儲器6、太 陽能電池3、電力存儲單元7、功率控制單元8、顯示單元2a、觸摸板2b、鍵盤4以及通信接口 (通信 I/F)9。
信息處理裝置I利用由太陽能電池3所生成的電能而運轉。然而,在操作時(在執 行操作時)由整個信息處理裝置I所消耗的峰值功率無法僅僅通過由太陽能電池3所生成 的電能來滿足。因此,在空閒時間(等待來自用戶的響應的時間,信息處理裝置I不被使用 的時間等等)由太陽能電池3所生成的過剩電能存儲在電力存儲單元7中。然後,在操作 時,功率控制單元8執行控制操作,以便存儲在電力存儲單元7中的電能被提供給信息處理 裝置I的每一單元。這樣的功率控制操作也叫做峰值漂移。
電力存儲單元7可以通過使用諸如鋰離子電池之類的電池、雙電層電容器等等中 的一項或其組合來實現。例如,組合可以如此形成,以便首先,由太陽能電池3所生成的電 能存儲在雙電層電容器中,然後存儲的電能進一步對鋰離子電池進行充電。
功率控制單元8管理存儲在電力存儲單元7中的電能的量,並具有將存儲在電力 存儲單元7中的電能的量通知給諸如處理器10等等之類的外部配置單元的功能。將存儲 在電力存儲單元7中的電能的量通知給處理器10的功能例如可以通過配置功率控制單元 8,以便通過中斷將存儲在電力存儲單元7中的電能的量變得小於預定的指定的量的時間 點或存儲的電能的量超過指定的量的時間點通知給處理器10,來實現。另外,作為另一種實 現方法,功率控制單元8可以被實現以便在從處理器10接收到指示的情況下將電能的當前 量發回到處理器10。
處理器10通過執行應用程式或作業系統來控制信息處理裝置I的總體操作。根據此實施例的信息處理裝置I例如具有在其上安裝的諸如Linux (註冊商標)之類的操作 系統。
處理器10包括處理器核11和高速緩衝存儲器設備100。處理器核11在訪問主存 儲器5時執行應用程式或作業系統。高速緩衝存儲器設備100高速緩衝存儲在主存儲器5 中的數據的一部分。通過包括要被稍後詳細地描述的高速緩衝存儲器設備100,處理器10 積極地進入深度的待機模式,在該模式下,向高速緩衝存儲器設備100的電能供給被停止, 並在該待機模式下實現功耗的顯著降低。
主存儲器5通過使用具有高讀/寫速度的諸如磁阻隨機存取存儲器(MRAM)之類的 非易失性存儲器來實現。除MRAM以外,也可以使用相變存儲器(PCM,也叫做PRAM或PCRAM) 或電阻隨機存取存儲器(ReRAM)作為主存儲器5。另外,也可以將在待機時具有低功耗的低 功率動態隨機存取存儲器(DRAM)或一般性的DRAM用作主存儲器5。
輔助存儲器6是其中存儲了信息處理裝置I所需的數據和程序的輔助存儲器單 元。例如,輔助存儲器6可以通過使用其中安裝了 flash存儲器晶片的存儲器單元來實現。 另外,也可以使用SD卡或SSD來作為輔助存儲器6。
通信I/F9是例如通過無線區域網(LAN)等等來進行通信的接口。通信協議不僅 限於無線LAN,也可以使用諸如有線LAN、藍牙(註冊商標)、ZigBee (註冊商標)、紅外通信、 可見光通信、光線網絡、電話線路網絡,以及網際網路之類的所有協議。
高速緩衝存儲器設備的總覽
接下來,將描述根據此實施例的信息處理裝置I的處理器10中所包括的高速緩衝 存儲器設備100。圖3是示出高速緩衝存儲器設備100的總覽的圖。
如圖3所示,高速緩衝存儲器設備100包括高速緩衝存儲器(存儲器區域)110以 及高速緩衝控制器(控制器)120。
高速緩衝存儲器110是其中存儲了高速緩衝的數據的存儲器區域。高速緩衝存儲 器110包括多個高速緩衝線(在下文中,簡稱為「線」)。高速緩衝存儲器110的每一條線都 被配置成存儲固定大小的數據塊。存儲在每一線中的數據的大小叫做線大小,線大小的代 表性的示例是64位元組。還存在高速緩衝存儲器110的每一線被稱為條目的情況。
高速緩衝存儲器110的每一線都包括表示線中的數據在主存儲器5上的地址的 「地址」欄位,表示有效數據存儲在線中的「有效標記(V)」,表示線是髒線的「髒標記(D)」, 以及存儲線大小的數據並維持一組四個信息段的「數據」欄位。髒線表示處於處理器10的 寫入數據被存儲在其中但是寫入數據沒有被寫入到主存儲器5中的狀態的線。另外,在稍 後所描述的示例中,描述了這樣的方法當線的有效標記(V)被設置為關(OFF)時,髒標記 (D)被設置為關,因此,可以通過檢查髒標記(D)來以簡單方式確定線是否是髒線。可替換 地,在當線的有效標記(V)被設置為關時髒標記(D)的開(ON)或關不確定的情況下,通過檢 查有效標記(V)和髒標記(D)兩者是否被設置為開,可以確定線是否是髒線。
高速緩衝控制器120包括讀取控制單元121和寫入控制單元122。讀取控制單元 121處理來自處理器核11的數據讀取請求以從主存儲器5讀出數據。寫入控制單元122處 理來自處理器核11的數據寫入請求以將數據寫入到主存儲器5中。由處理器核11根據伴 隨程序的執行的一個指示從主存儲器5中讀取或寫入到主存儲器5中的數據的大小小於高 速緩衝存儲器110的線大小,諸如4位元組、I字節,或8位元組。
在處理器核11從主存儲器5讀出數據的情況下,高速緩衝控制器120的讀取控制單元121首先根據來自處理器核11的數據讀取請求,檢查對應於指定的地址的線是否存在於高速緩衝存儲器110中。然後,在相對應的線存在於高速緩衝存儲器110 (命中)的情況下,讀取控制單元121從高速緩衝存儲器110中讀出存儲在指定的地址處的數據,並將數據發回到處理器核11中。另一方面,在相對應的線不存在於高速緩衝存儲器110中(未命中)的情況下,讀取控制單元121從主存儲器5中讀出對應於線大小的包括存儲在指定的地址處的數據的數據,並將讀取的數據存儲在高速緩衝存儲器110中,然後,從高速緩衝存儲器110中讀出存儲在指定的地址處的數據,並將讀取的數據發回到處理器核11。通過在未命中時從主存儲器中共同地讀取對應於線大小的數據並將數據寫入到高速緩衝存儲器110 中,當接下來訪問(讀出或寫入)存儲在布置在其附近的地址處的數據時,數據已經被寫入到高速緩衝存儲器110中,因此,可以以高速存取數據。
在處理器核11將數據寫入到主存儲器5的情況下,高速緩衝控制器120的寫入控制單元122首先根據來自處理器核11的數據寫入請求,檢查對應於指定的地址的線是否存在於高速緩衝存儲器110中。這裡,由於在很多情況下寫入數據是覆蓋緊前面已經被讀出的數據或將數據寫入到相鄰地址中(高的參考局部性),因此,在很多情況下,對應於數據被希望寫入的地址的線存在於高速緩衝存儲器110中。在相對應的線存在於高速緩衝存儲器 110 (命中)的情況下,寫入控制單元122將數據寫入到指定的地址處。另一方面,在相對應的線不存在於高速緩衝存儲器110中(未命中)的情況下,寫入控制單元122例如從主存儲器5中讀出對應於線大小的包括存儲在指定的地址處的數據的數據,並將讀取的數據存儲在高速緩衝存儲器110中,然後重寫存儲在指定的地址處的數據。可替換地,還存在這樣的方法在未命中時,通過確保用於數據寫入的高速緩衝存儲器110的線,將數據寫入到該線中的幾個字節, 並另外準備表示數據被寫入到其中的字節的標記,數據可以被寫入到高速緩衝存儲器110中,而無需訪問主存儲器5。可替換地,還存在這樣的方法在未命中時,數據被直接寫入到主存儲器5中,無需將數據寫入到高速緩衝存儲器110中。此實施例可以通過在未命中時組合處理方法中的任何一種來執行。
一般而言,作為高速緩衝存儲器設備的配置,全相關類型、直接映射類型、(η路)組相關類型等等是已知的。
在全相關類型的高速緩衝存儲器設備中,用於訪問主存儲器5的處理器核11所使用的地址被分成上部分和下部分,利用上地址來搜索高速緩衝存儲器110的「地址」欄位, 在具有其中包括與上地址相同地址的「地址」欄位的線的情況下,訪問布置在由線的「數據」 欄位中所包括的下地址所指定的位置處的數據。
在直接映射類型或組相關類型的情況下,用於訪問主存儲器5的處理器核11所使用的地址被分成上部分、中間部分,以及下部分,根據中間地址來選擇高速緩衝存儲器110 的線(在組相關類型的情況下,每一路的一組線),以及在有具有其中所選線中不包括與上地址相同地址的「地址」欄位的線的情況下,訪問布置在由線的「數據」欄位中所包括的下地址所指定的位置處的數據。
根據此實施例的高速緩衝存儲器設備100可以使用一般是已知的上文所描述的配置中的任何一種。
另外,根據此實施例的高速緩衝存儲器設備100基本上使用回寫型的數據寫入方法。換言之,根據此實施例的高速緩衝存儲器設備100在晚於當數據被寫入到髒線時的時 間的適當的時間點將其中髒標記被設置為開的高速緩衝存儲器110的髒線的數據寫入(回 寫)到主存儲器5中。存在各種髒線的數據被寫入到主存儲器5中的定時,包括髒線的數據 被替換以便存儲被存儲在被處理器核11訪問的不同的地址處的數據時的定時(換言之,當 再次使用髒線時的定時,當處理器核11發出針對清除(也叫做「清空」)高速緩衝存儲器110 的指示時的定時,當從多核處理器的另一個處理器核的高速緩衝存儲器進行訪問時的定時坐坐 寸寸ο
根據此實施例的高速緩衝存儲器設備100管理存在於高速緩衝存儲器110內的髒 線的數量,以便不超過預先設置的預定數量(在下文中,簡稱為「允許的線數」)。換言之,根 據此實施例的高速緩衝存儲器設備100允許高速緩衝控制器120具有在高速緩衝存儲器 110內的髒線的數量超過允許的線數的情況下將數據線的數據寫入(回寫)到主存儲器5的 功能。通過將這樣的功能包括在高速緩衝控制器120中,在在有效地抑制由於等待將數據 寫入到主存儲器5的操作完成而導致的處理器核11的停轉的發生(在等待將數據寫入到主 存儲器5的操作完成的同時處理器核11不向前去執行下一指示的狀態)的同時,阻止對高 速緩衝存儲器設備100的電能供給的情況下,根據此實施例的高速緩衝存儲器設備100通 過利用回寫型的特徵,減小將數據寫入到主存儲器5中的頻率,並可以根據從處理器核11 發出的指示清除的指示,抑制被從高速緩衝存儲器110回寫到主存儲器5的數據量。因此, 由於包括根據此實施例的高速緩衝存儲器設備100的處理器10可以減少從執行模式切換 到深度待機模式(在該模式下,向高速緩衝存儲器設備100的電能供給被阻止)所需的時間 和功耗,甚至對於非常短的待機時間也可以執行切換到深度待機模式,並且功耗可以被顯 著降低。
另外,將描述應用此實施例的情況。在包括回寫型的高速緩衝存儲器的處理器中, 當向高速緩衝存儲器的電能供給被停止時,需要在只被寫入到高速緩衝存儲器中但是沒有 被寫入到主存儲器中的數據被寫入到主存儲器中之後阻止向高速緩衝存儲器供給電能。因 此,在回寫型的高速緩衝存儲器中從執行模式切換到待機模式所需的成本(時間和功耗)高 於在直寫型的高速緩衝存儲器中的成本。儘管在切換到待機模式(在該模式下,向高速緩衝 存儲器的電能供給被停止)的頻率低的情況下進入待機模式所需的成本可忽略,但是,在頻 率高的情況下,成本不可忽略。例如,在處理器被配置成進入待機模式(在該模式下,向高速 緩衝存儲器的電能供給被停止)甚至以幾毫秒到幾十毫秒為單位的非常短的待機時間以便 實現功率消耗的顯著降低的情況下,從執行模式到待機模式的切換頻繁地發生,從而增大 了切換所需的成本,因此,功耗的降低小於預期。通過將本發明的此實施例應用到這樣的情 況,在程序的執行期間將數據寫入到主存儲器中的頻率降低,並且從執行模式切換到待機 模式所需的時間和功耗可以被抑制。
在下文中,將參考圖4到28來描述根據此實施例的高速緩衝存儲器設備100的具 體示例(第一示例到第六示例)。在下文中,第一示例的高速緩衝存儲器設備將由高速緩衝 存儲器設備IOOa來表示,第二示例的高速緩衝存儲器設備將由高速緩衝存儲器設備IOOb 來表示,第三示例的高速緩衝存儲器設備將由高速緩衝存儲器設備IOOc來表示,第四示例 的高速緩衝存儲器設備將由高速緩衝存儲器設備IOOd來表示,第五示例的高速緩衝存儲 器設備將由高速緩衝存儲器設備IOOe來表示,而第六示例的高速緩衝存儲器設備將由高速緩衝存儲器設備IOOf來表示。
第一示例
首先,將描述根據第一示例的高速緩衝存儲器設備100a。圖4是示出根據第一示 例的高速緩衝存儲器設備IOOa的配置的圖。根據第一示例的高速緩衝存儲器設備IOOa包 括高速緩衝存儲器IlOa和高速緩衝控制器120a。
高速緩衝存儲器IlOa包括兩個存儲器單元,包括R高速緩衝存儲器(第一存儲器 區域)111和W高速緩衝存儲器(第二存儲器區域)112。R高速緩衝存儲器111是具有任意 數量的線的存儲器區域。W高速緩衝存儲器112是具有允許的線數(允許的髒線數)的線的 存儲器區域。儘管由處理器10從主存儲器5中讀出的數據被存儲在R高速緩衝存儲器111 和W高速緩衝存儲器112中的一個中,但是,要由處理器10寫入到主存儲器5中的數據只存 儲在W高速緩衝存儲器112中。換言之,在根據第一示例的高速緩衝存儲器設備IOOa中, 髒線只存在於W高速緩衝存儲器112中。因此,在R高速緩衝存儲器111的每一線中,髒標 記(D)欄位不是必需的。
高速緩衝控制器120a包括讀取控制單元121a和寫入控制單元122a。
當存在來自處理器核11的從主存儲器5讀出數據的數據讀取請求時,讀取控制單 元121a對R高速緩衝存儲器111和W高速緩衝存儲器112兩者作為目標執行數據讀取。
另一方面,當存在來自處理器核11的將數據寫入到主存儲器5中的數據寫入請求 時,寫入控制單元122a僅對於W高速緩衝存儲器112作為目標來執行數據寫入。然後,在W 高速緩衝存儲器112的所有線都是髒線並且需要確保一條線以便寫入新的數據的情況下, 寫入控制單元122a通過將髒線的數據回寫到主存儲器5中來釋放一條線,然後,將數據寫 入到到該線中。因此,存在於高速緩衝存儲器IlOa內的髒線的數量可以被配置成不變地是 允許的線數或更少。
圖5是示出了當處理器核11發出從主存儲器5中讀取數據的數據讀取請求時由 高速緩衝控制器120a的讀取控制單元121a所執行的過程的流程圖。
當處理器核11發出從主存儲器5讀取數據的數據讀取請求時,在步驟SlOl中,讀 取控制單元121a首先確定對應於指定的地址的線是否存在於R高速緩衝存儲器111內。然 後,在對應於指定的地址的線存在於R高速緩衝存儲器111內的情況下(在步驟SlOl中為 「是」),在步驟S102中,讀取控制單元121a從相對應的線讀出存儲在指定的地址的數據,並 將數據返回到處理器核11。
另一方面,在對應於指定的地址的線不存在於R高速緩衝存儲器111內的情況下 (在步驟SlOl中為「否」),在步驟S103中,讀取控制單元121a接下來確定對應於指定的地 址的線是否存在於W高速緩衝存儲器112內。然後,在對應於指定的地址的線存在於W高 速緩衝存儲器112內的情況下(在步驟S103中為「是」),在步驟S104中,讀取控制單元121a 從相對應的線讀出存儲在指定的地址的數據,並將數據返回到處理器核11。
另一方面,在對應於指定的地址的線不存在於W高速緩衝存儲器112內的情況下 (在步驟S103中為「否」),讀取控制單元121a選擇R高速緩衝存儲器111的線中的一條線, 從主存儲器5讀出對應於線大小的包括存儲在指定的地址處的數據的數據,並將數據存儲 在所選線中。然後,在步驟S105中,讀取控制單元121a將其中存儲了數據的線的有效標記 (V)設置為開,將存儲在指定的地址處的數據返回到處理器核11。
在上文所描述的示例中,在步驟S105中,雖然其中存儲了從主存儲器5新讀出的 數據的高速緩衝存儲器110的線被確保在R高速緩衝存儲器111中,但是,該線可以被確保 在R高速緩衝存儲器111和W高速緩衝存儲器112中的任何一個中。在這樣的情況下,為 了確保和再次使用W高速緩衝存儲器112的其髒標記(D)被設置為開的線,需要將存儲在 線(髒線)中的數據回寫到主存儲器5並再次使用該線。
圖6是示出了當處理器核11發出將數據寫入到主存儲器5中的數據寫入請求時 由高速緩衝控制器120a的寫入控制單元122a所執行的過程的流程圖。
當存在來自於處理器核11的將數據寫入到主存儲器5的數據寫入請求時,在步驟 S201中,寫入控制單元122a首先確定對應於指定的地址的線是否存在於W高速緩衝存儲器 112內。然後,在對應於指定的地址的線存在於W高速緩衝存儲器112內的情況下(在步驟 S201中為「是」),在步驟S202中,寫入控制單元122a選擇相對應的線作為寫入目標線。
另一方面,在對應於指定的地址的線不存在於W高速緩衝存儲器112內的情況下 (在步驟S201中為「否」),在步驟S203中,寫入控制單元122a選擇布置在W高速緩衝存儲 器112內的一條線作為寫入目標線。此時,在存在W高速緩衝存儲器112內的其髒標記(D) 被設置為關的線的情況下,寫入控制單元122a選擇該線作為具有高優先級的寫入目標線, 並且在布置在W高速緩衝存儲器112內的所有線中髒標記(D)都被設置為開的情況下,換言 之,在布置在W高速緩衝存儲器112內的所有線都是髒線的情況下,寫入控制單元122a選 擇髒線中的任何一條線作為寫入目標線。
接下來,在步驟S204中,寫入控制單元122a確定在步驟S203中選擇的線是否是 髒線。然後,在在步驟S203中選擇的線是髒線的情況下(在步驟S204中為「是」),在步驟 S205中,寫入控制單元122a將在步驟S203中選擇的線的數據回寫到主存儲器5中。另一 方面,在在步驟S203中選擇的線不是髒線的情況下(在步驟S204中為「否」),過程進入下一 步驟,而不必執行步驟S205的過程。
接下來,在步驟S206中,寫入控制單元122a確定對應於指定的地址的線是否存在 於R高速緩衝存儲器111內。然後,在對應於指定的地址的線不存在於R高速緩衝存儲器 111的情況下(在步驟S206中為「否」),在步驟S207中,寫入控制單元122a從主存儲器5中 讀出對應於線大小的包括存儲在指定的地址處的數據的數據,並將數據存儲於在步驟S203 中選擇的線中。
另一方面,在對應於指定的地址的線存在於R高速緩衝存儲器111內的情況下(在 步驟S206中為「是」),寫入控制單元122a將R高速緩衝存儲器111的對應於指定的地址的 線的內容複製到在步驟S203中選擇的線中。然後,在步驟S208中,寫入控制單元122a將 作為複製源的R高速緩衝存儲器111的線的有效標記(V)設置為關,以便將該線設置為未 被使用。
接下來,在步驟S209中,寫入控制單元122a將數據寫入到在步驟S202或步驟 S203中選擇的線的指定的地址,並將該線的髒標記(D)設置為開。
可以基於諸如全相關類型、直接映射型,以及組相關類型之類的一般已知的各種 類型的高速緩衝存儲器設備,來實現上文所描述的根據第一示例的高速緩衝存儲器設備 100a。可以通過管理通過使用高速緩衝控制器120a而被分成兩個部分的高速緩衝存儲器 IlOa的線來實現基於全相關類型的高速緩衝存儲器設備100a。在基於直接映射型的高速緩衝存儲器設備IOOa的情況下,它可以通過準備包括R高速緩衝存儲器111和W高速緩衝 存儲器112的兩個直接映射型高速緩衝存儲器來實現。在基於組相關類型的高速緩衝存儲 器設備IOOa的情況下,它可以通過以組為單元劃分的R高速緩衝存儲器111和W高速緩衝 存儲器112來實現。例如,在四路的組相關類型的情況下,它可以被如此實現,以便通過配 置三路以與R高速緩衝存儲器111對應並且一路與W高速緩衝存儲器112對應,使得髒線 的數量不超過高速緩衝存儲器IlOa的線的總數的25%。
另外,還可以向根據第一示例的上文所描述的高速緩衝存儲器設備IOOa中添加 寫入緩衝器。在添加寫入緩衝器的情況下,代替在圖6所示的步驟S205中將線的數據回寫 到主存儲器5中,將回寫所需的信息存儲在寫入緩衝器中。寫入緩衝器在不存在來自處理 器10的對主存儲器5的訪問時的適當時間將數據寫入到主存儲器5中。
第二示例
接下來,將描述根據第二示例的高速緩衝存儲器設備100b。圖7是示出根據第二 示例的高速緩衝存儲器設備IOOb的配置的圖。根據第二示例的高速緩衝存儲器設備IOOb 包括高速緩衝存儲器110和高速緩衝控制器120b。高速緩衝存儲器110與圖3中所示出的 高速緩衝存儲器110相同。
高速緩衝控制器120b包括讀取控制單元121、寫入控制單元122b、以及髒線計數 單元123。讀取控制單元121與圖3中所示出的讀取控制單元121相同。
當處理器核11發出將數據寫入到主存儲器5的數據寫入請求時,寫入控制單元 122b選擇對應於指定的地址的高速緩衝存儲器110的線,並將數據寫入到線的指定的地 址。然後,在作為將數據寫入到所選線的結果,高速緩衝存儲器110內的髒線的數量超過允 許的線數的情況下,寫入控制單元122b將髒線的數據回寫到主存儲器5中。如此,存在於 高速緩衝存儲器110內的髒線的數量可以被維持到允許的線數或更少。
髒線計數單元123對高速緩衝存儲器110內的髒線的數量進行計數。在根據來自 處理器核11的數據寫入請求寫入數據之後,寫入控制單元122b通過參考髒線計數單元123 的輸出來確定高速緩衝存儲器110內的髒線的數量是否超過允許的線數。
類似於根據第一示例的高速緩衝存儲器設備100a,可以基於諸如全相關類型、直 接映射型,以及組相關類型之類的各種類型的一般已知的高速緩衝存儲器設備,來實現根 據第二示例的高速緩衝存儲器設備100b。
圖8是示出了當處理器核11發出從主存儲器5中讀取數據的數據讀取請求時由 高速緩衝控制器120b的讀取控制單元121所執行的過程的流程圖。
當處理器核11發出從主存儲器5讀出數據的數據讀取請求時,在步驟S301中,讀 取控制單元121確定對應於指定的地址的線是否存在於高速緩衝存儲器110內。然後,在 對應於指定的地址的線存在於高速緩衝存儲器110內的情況下(在步驟S301中為「是」),在 步驟S302中,讀取控制單元121從相對應的線讀出存儲在指定的地址的數據,並將數據返 回到處理器核11。
另一方面,在對應於指定的地址的線不存在於高速緩衝存儲器110內的情況下 (在步驟S301中為「否」),在步驟S303中,讀取控制單元121選擇高速緩衝存儲器110的線 中的一條線。然後,在步驟S304中,讀取控制單元121通過參考在步驟S303中選擇的線的 髒標記(D)來確定該線是否是髒線。然後,在在步驟S303中選擇的線是髒線的情況下(在步驟S304中為「是」),在步驟S305中,讀取控制單元121將在步驟S303中選擇的線的數據回寫到主存儲器5中。另一方面,在在步驟S303中選擇的線不是髒線的情況下(在步驟S404中為「否」),過程進入下一步驟,而不必執行步驟S305的過程。接下來,讀取控制單元121從主存儲器5中讀出對應於線大小的包括存儲在指定的地址處的數據的數據,並將數據存儲於在步驟S303中選擇的線中。然後,在步驟S306中,讀取控制單元121將其中存儲了數據的線的有效標記(V)設置為開,將髒標記(D)設置為關,並將指定的地址的數據返回到處理器核11。圖9是示出了當處理器核11發出將數據寫入到主存儲器5中的數據寫入請求時由高速緩衝控制器120b的寫入控制單元122b所執行的過程的流程圖。當處理器核11發出將數據寫入到主存儲器5的數據寫入請求時,在步驟S401中,寫入控制單元122b首先確定對應於指定的地址的線是否存在於高速緩衝存儲器110內。然後,在步驟S402中,在對應於指定的地址的線存在於高速緩衝存儲器110內的情況下(在步驟S401中為「是」),寫入控制單元122b選擇相對應的線作為寫入目標線,將數據寫入到該線內的相對應的位置(一般而言,由於希望被寫入的數據的大小小於線大小,因此,根據指定的地址來計算將向其中寫入數據的線內的位置),並將線的髒標記(D)設置為開。另一方面,在對應於指定的地址的線不存在於高速緩衝存儲器110內的情況下(在步驟S401中為「否」),在步驟S403中,寫入控制單元122b選擇布置在高速緩衝存儲器110內的一條線作為寫入目標線。接下來,在步驟S404中,寫入控制單元122b確定在步驟S403中選擇的線是否是髒線。然後,在在步驟S403中選擇的線是髒線的情況下(在步驟S404中為「是」),在步驟S405中,寫入控制單元122b將在步驟S403中選擇的線的數據回寫到主存儲器5中。另一方面,在在步驟S403中選擇的線不是髒線的情況下(在步驟S404中為「否」),過程進入下一步驟,而不必執行步驟S405的過程。接下來,在步驟S406中,寫入控制單元122b從主存儲器5中讀出對應於線大小的包括存儲在指定的地址處的數據的數據,將數據存儲於在步驟S403中選擇的線中,將線的髒標記(D)設置為開,並將數據寫入到線內的相對應的位置。接下來,在步驟S407中,寫入控制單元122b首先通過參考髒線計數單元123的輸出來確定高速緩衝存儲器110內的髒線的數量是否超過允許的線數。然後,在高速緩衝存儲器110內的髒線的數量達到允許的線數的情況下(在步驟S407中為「是」),在步驟S408中,寫入控制單元122b選擇高速緩衝存儲器110內的除了在步驟S406中其中被寫入了數據的線以外的線,將線的數據回寫到主存儲器5中,並將線的髒標記(D)設置為關。另一方面,在高速緩衝存儲器110內的髒線的數量不超過允許的線數的情況下(在步驟S407中為「否」),過程結束,而不執行步驟S408的過程。在圖9中所示出的步驟S408中,在選擇其數據將被回寫到主存儲器5的髒線時排除在步驟S406中其中被寫入了數據的線的理由是,連續地發生對其中被寫入了數據的線進行隨後的訪問的概率是高的。然而,可以從包括在步驟S406中其中被寫入了數據的線的高速緩衝存儲器110內的所有髒線中選擇其數據將被回寫到主存儲器5中的線。作為在圖8中所示出的步驟S303中和圖9中所示出的步驟S403中選擇高速緩衝存儲器110內的一條線的方法,可以使用一般已知的任何方法。例如,可以使用各種方法,如選擇在向其中寫入之後流逝最長的時間的線的方法,選擇在最後一次寫入之後流逝最長的時間的線的方法,選擇在最後一次訪問(讀取或寫入)之後流逝最長的時間的線的方法,優先地選擇其髒標記(D)被設置為關的線的方法,優先地選擇其有效標記(V)被設置為關的線的方法,隨機地選擇線的方法,以及組合上文所描述的方法的方法。另外,在基於全相關類型的高速緩衝存儲器設備IOOb的情況下,用於選擇線的範圍是整個高速緩衝存儲器110。在基於直接映射型的高速緩衝存儲器設備IOOb的情況下,基於希望被訪問的主存儲器5的地址唯一地確定線,因此,存在一條要被選擇的線。在基於組相關類型的高速緩衝存儲器設備IOOb的情況下,類似於直接映射型,基於要被訪問的主存儲器5的地址確定每一路的一條線,因此,一組這樣的線是用於選擇線的目標範圍。另外,作為在圖9中所示出的步驟S408中選擇髒線的方法,可以使用各種方法,如選擇在最後一次寫入之後流逝最長的時間的線的方法,選擇在最後一次訪問(讀取或寫入)之後流逝最長的時間的線的方法,隨機地選擇線的方法,以及組合上文所描述的方法的方法。第三示例接下來,將描述根據第三示例的高速緩衝存儲器設備100c。圖10是示出根據第三示例的高速緩衝存儲器設備IOOc的配置的圖。根據第三示例的高速緩衝存儲器設備IOOc包括高速緩衝存儲器110、高速緩衝控制器120c以及寫入緩衝器130。高速緩衝存儲器110與圖3中所示出的高速緩衝存儲器110相同。高速緩衝控制器120c包括讀取控制單元121、寫入控制單元122c和髒線計數單元123。讀取控制單元121與圖3中所示出的讀取控制單元121相同。髒線計數單元123與圖7中所示出的髒線計數單元123相同。當處理器核11發出將數據寫入到主存儲器5的數據寫入請求時,類似於圖7中所示出的寫入控制單元122b,寫入控制單元122c選擇對應於指定的地址的高速緩衝存儲器110的線。此時,在對應於指定的地址的線不存在於高速緩衝存儲器110內的情況下,寫入控制單元122c從高速緩衝存儲器110中選擇一條線,將在所選線是髒線的情況下將線的數據回寫到主存儲器5所需的信息存儲在寫入緩衝器130中。另外,在將數據寫入到所選線的指定的地址之後,寫入控制單元122c通過參考髒線計數單元123的輸出來確定高速緩衝存儲器110內的髒線的數量是否超過允許的線數。然後,在高速緩衝存儲器110內的髒線的數量超過允許的線數的情況下,寫入控制單元122c將把髒線的數據回寫到主存儲器5中所需的信息存儲在寫入緩衝器130中。寫入緩衝器130臨時保存要被回寫到主存儲器5中的數據。寫入緩衝器130是一般性地廣泛地被使用以便改進高速緩衝存儲器設備的性能的機制。在不包括寫入緩衝器130的高速緩衝存儲器設備中,在布置在高速緩衝存儲器110內的髒線被再次使用以便存儲被存儲在新地址處的數據等等時,當將髒線的數據回寫到主存儲器5的過程沒有完成時,存儲在新地址處的數據無法被寫入。相比之下,在包括寫入緩衝器130的高速緩衝存儲器設備中,當將數據回寫到主存儲器5中所需的信息,即,由用於將數據回寫到主存儲器5上的地址配置的信息和數據被插入到寫入緩衝器130中時,存儲在新地址處的數據可以被立即寫入。如上所述,由於包括寫入緩衝器130的高速緩衝存儲器設備不需要等待數據被回寫到主存儲器5中完成,因此,不存在處理器10的停轉。另外,當地址和數據的組被插入到寫入緩衝器130中時,在適當的定時,執行將數據回寫到主存儲器5中。優選地當不存在對主存儲器5的其他訪問時執行數據的回寫。第三示例的高速緩衝存儲器設備IOOc與第二示例的高速緩衝存儲器設備IOOb的不同之處只在於下面的點回寫數據所需的信息存儲在寫入緩衝器130中,而不是通過使用寫入控制單元122c直接將髒線的數據回寫到主存儲器5中。因此,在第三示例的高速緩衝存儲器設備IOOc中,類似於第二示例的高速緩衝存儲器設備100b,在高速緩衝存儲器110內存在的髒線的數量可以被維持到允許的線數或更少。另外,根據第三示例的高速緩衝存儲器設備IOOc可以有效地防止將數據回寫到主存儲器5中所伴隨的處理器10的停轉。圖11是示出了當處理器核11發出從主存儲器5中讀取數據的數據讀取請求時由高速緩衝控制器120c的讀取控制單元121所執行的過程的流程圖。圖11中所示出的流程圖中的步驟S501到步驟S504的過程與圖8中所示出的流程圖中的步驟S301到步驟S304的過程相同。另外,圖11中所示出的流程圖中的步驟S506的過程與圖8中所示出的流程圖中的步驟S306的過程相同。在圖11中所示出的流程圖中,步驟S505的過程不同於圖8中所示出的流程圖中所示出的過程。具體而言,在步驟S505中,在在步驟S503中選擇的線是髒線的情況下(在步驟S504中為「是」),高速緩衝控制器120c的讀取控制單元121將把在步驟S503中選擇的線的數據回寫到主存儲器5中所需的信息存儲在寫入緩衝器130中。圖12是示出了當處理器核11發出將數據寫入到主存儲器5中的數據寫入請求時由高速緩衝控制器120c的寫入控制單元122c所執行的過程的流程圖。圖12中所示出的流程圖中的步驟S601到步驟S604的過程與圖9中所示出的流程圖中的步驟S401到步驟S404的過程相同。另外,圖12中所示出的流程圖中的步驟S606和步驟S607的過程與圖9中所示出的流程圖中的步驟S406和步驟S407的過程相同。在圖12中所示出的流程圖中,步驟S605的過程和步驟S608的過程不同於圖9中所示出的流程圖中所示出的過程。具體而言,在步驟S605中,在在步驟S603中選擇的線是髒線的情況下(在步驟S604中為「是」),高速緩衝控制器120c的寫入控制單元122c將把在步驟S603中選擇的線的數據回寫到主存儲器5所需的信息存儲在寫入緩衝器130中。另外,另外,在步驟S606中寫入數據之後,在高速緩衝存儲器110內的髒線的數量達到允許的線數的情況下(在步驟S607中為「是」),在步驟S608中,高速緩衝控制器120c的寫入控制單元122c選擇高速緩衝存儲器110內的除在步驟S606中向其中寫入了數據的線以外的髒線,將把線的數據回寫到主存儲器5中所需的信息存儲在寫入緩衝器中,並將線的髒標記(D)設置為關。寫入緩衝器130執行類似於一般使用的寫入緩衝器的操作的操作。圖13是示出了寫入緩衝器130的操作的示例的流程圖。圖13中所示出的流程圖中所示出的過程是在諸如當處理器10不訪問主存儲器5時的定時之類的任意定時執行的。寫入緩衝器130首先在步驟S701中確定將數據回寫到主存儲器5中所需的信息是否存儲在其中。然後,在將數據回寫到主存儲器5中所需的信息不存儲在寫入緩衝器130的情況下(在步驟S701中為「否」),過程結束。另一方面,在將數據回寫到主存儲器5中所需的信息被存儲的情況下(在步驟S701中為「是」),在步驟S702中,寫入緩衝器130確定處理器10是否處於訪問主存儲器5的狀態,換言之,它是否處於從主存儲器5進行數據讀取操作的中間或向主存儲器5進行數據寫入操作的中間。
然後,在它處於從主存儲器5進行數據讀取操作的中間或向主存儲器5中進行數據寫入操作的中間的情況下(在步驟S702中為「是」),寫入緩衝器130等待直到操作完成。另一方面,在既不執行從主存儲器5進行數據讀取操作也不執行向主存儲器5中進行數據寫入操作的情況下(在步驟S702中為「否」),在步驟S703中,寫入緩衝器130取出將數據回寫到主存儲器5中所需的一段信息,並基於已被取出的信息,將數據寫入到主存儲器5中。此後,過程被返回到步驟S701,並且重複後續過程,直到將數據回寫到主存儲器5中完成。第四示例接下來,將描述根據第四示例的高速緩衝存儲器設備100d。圖14是示出根據第四示例的高速緩衝存儲器設備IOOd的配置的圖。根據第四示例的高速緩衝存儲器設備IOOd包括高速緩衝存儲器110和高速緩衝控制器120d。高速緩衝存儲器110與圖3中所示出的高速緩衝存儲器110相同。高速緩衝控制器120d包括讀取控制單元121、寫入控制單元122d、髒線計數單元123以及回寫控制單元124。讀取控制單元121與圖3中所示出的讀取控制單元121相同。髒線計數單元123與圖7中所示出的髒線計數單元123相同。當處理器核11發出將數據寫入到主存儲器5的數據寫入請求時,寫入控制單元122e選擇對應於指定的地址的高速緩衝存儲器110的線,並將數據寫入到線的指定的地址。回寫控制單元124通過參考髒線計數單元123的輸出來在諸如處理器10不訪問主存儲器5時的定時之類的任意定時確定布置在高速緩衝存儲器110內的髒線的數量是否超過允許的線數。然後,在布置在高速緩衝存儲器110內的髒線的數量超過允許的線數的情況下,回寫控制單元124將髒線的數據回寫到主存儲器5中。如此,甚至在存在於高速緩衝存儲器110內的髒線的數量臨時超過允許的線數的情況下,髒線的數量也可以被返回到允許的線數或更少。另外,由於將髒線的數據回寫到主存儲器5的過程在任意定時執行,因此,可以有效地防止將數據回寫到主存儲器5中所伴隨的處理器10的停轉。圖15是示出了當處理器核11發出將數據寫入到主存儲器5中的數據寫入請求時由高速緩衝控制器120d的寫入控制單元122d所執行的過程的流程圖。圖15中所示出的流程圖中的步驟S801到步驟S806的過程與圖9中所示出的流程圖中的步驟S401到步驟S406的過程相同。圖15中所示出的流程圖與圖9中所示出的流程圖的不同之處在於,不包括對應於步驟S407和步驟S408的過程。具體而言,當在步驟S802或步驟S806中數據被寫入到所選線的指定的地址時,高速緩衝控制器120d的寫入控制單元122d結束過程。圖16是由高速緩衝控制器120d的回寫控制單元124所執行的過程的示例的流程圖。圖16中所示出的流程圖中所示出的過程是在諸如當處理器10不訪問主存儲器5時的定時之類的任意定時執行的。當開始過程時,在步驟S901中,回寫控制單元124首先通過參考髒線計數單元123的輸出來確定布置在高速緩衝存儲器110內的髒線的數量是否超過允許的線數。然後,在布置在高速緩衝存儲器110內的髒線的數量是允許的線數或更少的情況下(在步驟S901中為「否」),回寫控制單元124結束過程。另一方面,在布置在高速緩衝存儲器110內的髒線的數量超過允許的線數的情況下(在步驟S901中為「是」),在步驟S902中,回寫控制單元124選擇布置在高速緩衝存儲器110內的髒線中的一個。然後,回寫控制單元124在步驟S903中將在步驟S902中選擇的髒線的數據回寫到主存儲器5中,以及在步驟S904中將線的髒標記(D)設置為關。此後,過程被返回到步驟S901,重複後續過程,直到布置在高速緩衝存儲器110內的髒線的數量是允許的線數以及更少。圖17是由高速緩衝控制器120d的回寫控制單元124所執行的過程的另一個示例的流程圖。圖17中所示出的流程圖中的步驟S1001到步驟S1004的過程與圖16中所示出的流程圖中的步驟S901到步驟S904的過程相同。圖17中所示出的流程圖與圖16中所示出的流程圖的不同之處在於,添加了步驟S1005的過程。具體而言,在步驟S1001中,在布置在高速緩衝存儲器110內的髒線的數量被確定為允許的線數或更少的情況下(在步驟S1001中為「否」),在步驟S1005中,回寫控制單元124確定布置在高速緩衝存儲器110內的髒線的數量是否超過目標線數。這裡,目標線數是在減小布置在高速緩衝存儲器110內的髒線的數量時的目標值,並且是小於允許的線數的數量。作為在步驟S1005中作出的確定的結果,在布置在高速緩衝存儲器110的髒線的數量超過目標線數的情況下(在步驟S1005中為「是」),過程進入步驟S1002,並重複後續過程。然後,當布置在高速緩衝存儲器110內的髒線的數量變為目標線數或更少時(在步驟S1005中為「否」),過程結束。在回寫控制單元124執行圖17中所示出的過程的情況下,由於布置在高速緩衝存儲器110內的髒線的數量減小直到目標線數,因此,此後,直到布置在高速緩衝存儲器110內的髒線的數量達到允許的線數的時間可以被延長,由此將數據回寫到主存儲器5中的頻率可以減小。第五示例接下來,將描述根據第五示例的高速緩衝存儲器設備100e。圖18是示出根據第五示例的高速緩衝存儲器設備IOOe的配置的圖。根據第五示例的高速緩衝存儲器設備IOOe包括高速緩衝存儲器110、高速緩衝控制器120e以及寫入緩衝器130。高速緩衝存儲器110與圖3中所示出的高速緩衝存儲器110相同。寫入緩衝器130與圖10中所示出的寫入緩衝器130相同。高速緩衝控制器120e包括讀取控制單元121、寫入控制單元122e、髒線計數單元123以及回寫控制單元124e。讀取控制單元121與圖3中所示出的讀取控制單元121相同。髒線計數單元123與圖7中所示出的髒線計數單元123相同。當處理器核11發出將數據寫入到主存儲器5的數據寫入請求時,類似於圖14中所示出的寫入控制單元122d,寫入控制單元122e選擇對應於指定的地址的高速緩衝存儲器110的線。此時,在對應於指定的地址的線不存在於高速緩衝存儲器110內的情況下,寫入控制單元122e選擇布置在高速緩衝存儲器110中的一條線,將在所選線是髒線的情況下將線的數據回寫到主存儲器5所需的信息存儲在寫入緩衝器130中。回寫控制單元124e通過參考髒線計數單元123的輸出來在諸如處理器10不訪問主存儲器5時的定時之類的任意定時確定布置在高速緩衝存儲器110內的髒線的數量是否超過允許的線數。然後,在布置在高速緩衝存儲器110內的髒線的數量超過允許的線數的情況下,回寫控制單元124e將把髒線的數據回寫到主存儲器5中所需的信息存儲在寫入緩衝器130中。如此,甚至在存在於高速緩衝存儲器110內的髒線的數量臨時超過允許的線數的情況下,髒線的數量也可以被返回到允許的線數或更少。另外,代替直接將髒線的數據回寫到主存儲器5中,回寫數據所需的信息被存儲在寫入緩衝器130中,因此,可以有效地防止將數據回寫到主存儲器5所伴隨的處理器10的停轉。圖19是示出了當處理器核11發出將數據寫入到主存儲器5中的數據寫入請求時由高速緩衝控制器120e的寫入控制單元122e所執行的過程的流程圖。圖19中所示出的流程圖中的步驟SllOl到步驟S1104的過程與圖15中所示出的流程圖中的步驟S801到步驟S804的過程相同。另外,圖19中所示出的流程圖中的步驟S1106的過程與圖15中所示出的流程圖中的步驟S806的過程相同。在圖19中所示出的流程圖中,步驟S1105的過程不同於圖15中所示出的流程圖中所示出的過程。換言之,在步驟S1105中,在在步驟S1103中選擇的線是髒線的情況下(在步驟S1104中為「是」),高速緩衝控制器120e的寫入控制單元122e將把在步驟S1103中選擇的線的數據回寫到主存儲器5所需的信息存儲在寫入緩衝器130中。圖20是由高速緩衝控制器120e的回寫控制單元124e所執行的過程的示例的流程圖。圖20中所示出的流程圖中的步驟S1201和步驟S1202的過程與圖16中所示出的流程圖中的步驟S901和步驟S902的過程相同。另外,圖20中所示出的流程圖中的步驟S1204的過程與圖16中所示出的流程圖中的步驟S904的過程相同。在圖20中所示出的流程圖中,步驟S1203的過程不同於圖16中所示出的流程圖中所示出的過程。具體而言,在步驟S1203中,高速緩衝控制器120e的回寫控制單元124e將把在步驟S1202中選擇的髒線的數據回寫到主存儲器5所需的信息存儲在寫入緩衝器130中。圖21是由高速緩衝控制器120e的回寫控制單元124e所執行的過程的另一個示例的流程圖。圖21中所示出的流程圖中的步驟S1301和步驟S1302的過程與圖17中所示出的流程圖中的步驟S1001和步驟S1002的過程相同。另外,圖21中所示出的流程圖中的步驟S1304和步驟S1305的過程與圖17中所示出的流程圖中的步驟S1004和步驟S1005的過程相同。在圖21中所示出的流程圖中,步驟S1303的過程不同於圖17中所示出的流程圖中所示出的過程。具體而言,在步驟S1303中,高速緩衝控制器120e的回寫控制單元124e將把在步驟S1302中選擇的髒線的數據回寫到主存儲器5所需的信息存儲在寫入緩衝器130中。第六示例接下來,將描述根據第六示例的高速緩衝存儲器設備IOOf。圖22是示出根據第六示例的高速緩衝存儲器設備IOOf的略圖的圖。根據第六示例的高速緩衝存儲器設備具有其中分層次地組合第一高速緩衝存儲器設備IOOf-1和第二高速緩衝存儲器設備100f-2的配置。布置在處理器核11側的第一高速緩衝存儲器設備IOOf-1作為具有線的回寫型的高速緩衝存儲器設備來操作,線的數量與允許的線數相同。布置在第一高速緩衝存儲器設備IOOf-1和主存儲器5之間的第二高速緩衝存儲器設備100f-2作為具有線的直寫型的高速緩衝存儲器設備來操作,線的數量是任意的。由於第二高速緩衝存儲器設備100f-2是直寫型的,因此,髒線不存在於其中。根據這樣的組合,由第一高速緩衝存儲器設備IOOf-1和第二高速緩衝存儲器設備100f-2配置的高速緩衝存儲器設備IOOf內布置的髒線的最大數量(允許的線數)可以被抑制到與第一高速緩衝存儲器設備IOOf-1內布置的髒線的最大數量相同的線數。圖23是示出根據第六示例的高速緩衝存儲器設備IOOf的配置的圖。根據第六示例的高速緩衝存儲器設備IOOf包括第一高速緩衝存儲器設備IOOf-1和第二高速緩衝存儲器設備100f-2。第一高速緩衝存儲器設備IOOf-1包括第一高速緩衝存儲器(第一存儲器區域)1 IOf-1和第一高速緩衝控制器(第一控制器)120f-l。第一高速緩衝控制器120f-l包括第一讀取控制單元121f-l和第一寫入控制單元122f-l。第二高速緩衝存儲器設備100f-2包括第二高速緩衝存儲器(第二存儲器區域)110f-2和第二高速緩衝控制器(第二控制器)120f-2。第二高速緩衝控制器120f-2包括第二讀取控制單元121f-2和第二寫入控制單元122f-20圖24是示出了當處理器核11發出從主存儲器5中讀取數據的數據讀取請求時由第一高速緩衝控制器120f-l的第一讀取控制單元121f-l所執行的過程的流程圖。當處理器核11發出從主存儲器5讀出數據的數據讀取請求時,在步驟S1401中,第一讀取控制單元121f-l首先確定對應於指定的地址的線是否存在於第一高速緩衝存儲器IlOf-1內。然後,在對應於指定的地址的線存在於第一高速緩衝存儲器IlOf-1內的情況下(在步驟S1401中為「是」),在步驟S1402中,第一讀取控制單元從相對應的線讀出存儲在指定的地址的數據,並將數據返回到處理器核11。另一方面,在對應於指定的地址的線不存在於第一高速緩衝存儲器IlOf-1的情況下(在步驟S1401中為「否」),在步驟S1403中,第一讀取控制單元121f-l選擇第一高速緩衝存儲器IlOf-1的線中的一條線。然後,在步驟S1404中,第一讀取控制單元
通過參考在步驟S1403中選擇的線的髒標記(D)來確定該線是否是髒線。然後,在在步驟S1403中選擇的線是髒線的情況下(在步驟S1404中為「是」),在步驟S1405中,第一讀取控制單元請求第二高速緩衝存儲器設備100f-2將在步驟S1403中選擇的線中存儲的數據回寫到主存儲器5中。另一方面,在在步驟S1403中選擇的線不是髒線的情況下(在步驟S1404中為「否」),過程進入下一步驟,而不執行步驟S1405的過程。接下來,第一讀取控制單元從第二高速緩衝存儲器設備100f-2中讀出對應於線大小的包括存儲在指定的地址處的數據的數據,並將數據存儲於在步驟S1403中選擇的線中。然後,在步驟S1406中,第一讀取控制單元121f-l將其中存儲了數據的線的有效標記(V)設置為開,將髒標記(D)設置為關,並將指定的地址的數據返回到處理器核11。圖25是示出了當處理器核11發出將數據寫入到主存儲器5中的數據寫入請求時由第一高速緩衝控制器120f-l的第一寫入控制單元122f-l所執行的過程的示例的流程圖。當處理器核11發出將數據寫入到主存儲器5的數據寫入請求時,在步驟S1501中,第一寫入控制單元122f-l首先確定對應於指定的地址的線是否存在於第一高速緩衝存儲器IlOf-1內。然後,在對應於指定的地址的線存在於第一高速緩衝存儲器IlOf-1內的情況下(在步驟S1501中為「是」),在步驟S1502中,第一寫入控制單元122f-l選擇相對應的線作為寫入目標線,將數據寫入到該線內的相對應的位置,並將該線的髒標記(D)設置為開。另一方面,在對應於指定的地址的線不存在於第一高速緩衝存儲器IlOf-1內的情況下(在步驟S1501中為「否」),在步驟S1503中,第一寫入控制單元122f-l選擇布置在第一高速緩衝存儲器I IOf-1內的一條線作為寫入目標線。接下來,在步驟S1504中,第一寫入控制單元122f-l通過參考在步驟S1503中選擇的線的髒標記(D)來確定在步驟S1503中選擇的線是否是髒線。然後,在在步驟S1503中選擇的線是髒線的情況下(在步驟S1504中為「是」),在步驟S1505中,第一寫入控制單元122f-l請求第二高速緩衝存儲器設備100f-2將在步驟S1503中選擇的線中存儲的數據回寫到主存儲器5中。另一方面,在在步驟S1503中選擇的線不是髒線的情況下(在步驟S1504中為「否」),過程進入下一步驟,而不執行步驟S1505的過程。接下來,在步驟S1506中,第一寫入控制單元122f_l從第二高速緩衝存儲器設備100f-2中讀出對應於線大小的包括存儲在指定的地址處的數據的數據,將數據存儲於在步驟S1503中選擇的線中,將線的有效標記(V)設置為開,並將數據寫入到線內的相對應的位置。圖26是示出了當處理器核11發出將數據寫入到主存儲器5中的數據寫入請求時由第一高速緩衝控制器120f-l的第一寫入控制單元122f-l所執行的過程的另一個示例的流程圖。圖25中所示出的示例和圖26中所示出的示例彼此不同在於,在與存儲在作為寫入目標的地址處的數據對應的線不存在於第一高速緩衝存儲器IlOf-1內的情況下,換言之,在當由第一寫入控制單元122f-l處理來自處理器核11的將數據寫入到主存儲器5的數據寫入請求時未命中時,所使用的處理方法。在圖25中所示出的示例中,使用這樣的方法當在寫入操作中發生未命中時,通過從主存儲器5中讀出對應於線大小的包括存儲在相對應的地址處的數據的數據,並將數據寫入到新確保的線,來解決未命中狀態。另一方面,在圖26中所示出的示例中,當在寫入操作中發生未命中時,請求第二高速緩衝存儲器設備100f-2將數據寫入到主存儲器5中。當處理器核11發出將數據寫入到主存儲器5的數據寫入請求時,在步驟S1601中,第一寫入控制單元122f-l首先確定對應於指定的地址的線是否存在於第一高速緩衝存儲器IlOf-1內。然後,在對應於指定的地址的線存在於第一高速緩衝存儲器IlOf-1內的情況下(在步驟S1601中為「是」),在步驟S1602中,第一寫入控制單元122f-l選擇相對應的線作為寫入目標線,並將數據寫入到該線內的相對應的位置,並將該線的髒標記(D)設置為開。另一方面,在對應於指定的地址的線不存在於第一高速緩衝存儲器IlOf-1內的情況下(在步驟S1601中為「否」),在步驟S1603中,第一寫入控制單元122f-l請求第二高速緩衝存儲器設備100f-2將數據寫入到主存儲器5中。圖27是示出了當第一高速緩衝存儲器設備IOOf-1發出從主存儲器5讀取數據的數據讀取請求時由第二高速緩衝控制器120f-2的第二讀取控制單元121f-2執行的過程的流程圖。當第一高速緩衝存儲器設備IOOf-1 (詳細描述,布置在第一高速緩衝存儲器設備IOOf-1內的第一高速緩衝控制器120f_l)發出從主存儲器5讀取數據的數據讀取請求時,在步驟S1701中,第二讀取控制單元121f-2首先確定對應於指定的地址的線是否存在於第二高速緩衝存儲器110f-2內。然後,在對應於指定的地址的線存在於第二高速緩衝存儲器110f-2內的情況下(在步驟S1701中為「是」),在步驟S1702中,第二讀取控制單元121f-2從相對應的線讀出存儲在指定的地址處的數據,並將數據返回到第一高速緩衝存儲器設備IOOf-1o另一方面,在對應於指定的地址的線不存在於第二高速緩衝存儲器110f-2內的情況下(在步驟S1701中為「否」),在步驟S1703中,第二讀取控制單元121f-2選擇第二高速緩衝存儲器110f-2的一條線。接下來,第二讀取控制單元121f-2從主存儲器5中讀出對應於線大小的包括存儲在指定的地址處的數據的數據,並將數據存儲於在步驟S1703中選擇的線中。然後,在步驟S1704中,第二讀取控制單元121f-2將其中存儲了數據的線的有效標記(V)設置為開,將存儲在指定的地址處的數據返回到第一高速緩衝存儲器設備IOOf-1o圖28是示出了當第一高速緩衝存儲器設備IOOf-1發出將數據寫入到主存儲器5中的數據寫入請求時由第二高速緩衝控制器120f-2的第二寫入控制單元122f-2執行的過程的流程圖。當第一高速緩衝存儲器設備IOOf-1 (詳細描述,布置在第一高速緩衝存儲器設備IOOf-1內的第一高速緩衝控制器120f-l)發出將數據寫入到主存儲器5的數據寫入請求時,在步驟S1801中,第二寫入控制單元122f-2首先確定對應於指定的地址的線是否存在於第二高速緩衝存儲器110f-2內。然後,在對應於指定的地址的線存在於第二高速緩衝存儲器110f-2的情況下(在步驟S1801中為「是」),在步驟S1802中,第二寫入控制單元122f-2選擇相對應的線作為寫入目標線,並將數據寫入到該線內的相對應的位置。另一方面,在對應於指定的地址的線不存在於第二高速緩衝存儲器110f-2內的情況下(在步驟S1801中為「否」),過程進入下一步驟,而不執行步驟S1802的過程。接下來,在步驟S1803中,第二寫入控制單元122f_2將數據寫入到主存儲器5中。第一高速緩衝存儲器設備IOOf-1可以被配置成包括寫入緩衝器130。另外,第二高速緩衝存儲器設備100f-2可以被配置成包括寫入緩衝器130。如圖22所示,根據第六示例的高速緩衝存儲器設備IOOf中所包括的第一高速緩衝存儲器設備IOOf-1和第二高速緩衝存儲器設備100f-2之間的關係與包括兩個分級層的高速緩衝存儲器設備的SoC (片上系統)或處理器中的布置在處理器核11附近的I級高速緩衝和布置在主存儲器5附近的2級高速緩衝之間的關係相同。因此,通過使用由I級高速緩衝和2級高速緩衝配置的分級高速緩衝存儲器設備並可以將I級高速緩衝和2級高速緩衝的控制類型設置為回寫型或直寫型的SoC或處理器,基於此示例的操作可以通過將I級高速緩衝的線的數量設置為允許的線數,將I級高速緩衝設置為回寫型,並將2級高速緩衝設置為直寫型來執行。處理器的變化利用示例I到6詳細描述的根據實施例的高速緩衝存儲器設備100,可以應用於具有各種配置中的任何一種配置的處理器10。圖29A到29C是示出信息處理裝置I中所包括的處理器10中的變化的圖。圖2中所示出的處理器10的配置與圖29A中所示出的示例一致。圖29B中所示出的示例是其中處理器10包括主要高速緩衝存儲器設備200和輔助高速緩衝存儲器設備300的示例。在處理器10具有圖29B中所示出的配置的情況下,主要高速緩衝存儲器設備200是根據實施例的高速緩衝存儲器設備100。另外,根據實施例的用於回寫數據的高速緩衝存儲器設備100的目標是輔助高速緩衝存儲器設備300。此外,在第六示例作為如圖29B所示的修改的示例來執行的情況下,主要高速緩衝存儲器設備200是由I級高速緩衝和2級高速緩衝配置的分級高速緩衝存儲器設備。雖然優選地使用諸如MRAM或PCM之類的非易失性存儲器技術作為非易失性高速緩衝存儲器設備來實現輔助高速緩衝存儲器設備300,但是也可以通過使用SRAM來配置輔助高速緩衝存儲器設備300。另外,輔助高速緩衝存儲器設備300可以是直寫型或者回寫型。通過將輔助高速緩衝存儲器設備300配置為回寫型,訪問主存儲器5的頻率可以減小。另外,在圖29B中所示出的示例中,雖然採用了其中包括兩級的高速緩衝存儲器設備(包括主要高速緩衝存儲器設備200和輔助高速緩衝存儲器設備300)的配置,但是也可以採用其中包括三級或更多級的高速緩衝存儲器設備的配置。甚至在包括三級或更多級的高速緩衝存儲器設備的配置的情況下,主要高速緩衝存儲器設備200是實施例的高速緩衝存儲器設備 100。圖29C中所示出的示例是其中處理器10被配置為多核處理器的示例,該多核處理器包括第一處理器核Ila和第二處理器核lib。在圖29C中所示出的示例中,第一處理器核Ila使用第一主要高速緩衝存儲器設備200a,以及第二處理器核Ilb使用第二主要高速緩衝存儲器設備200b。另外,還布置對第一主要高速緩衝存儲器設備200a和第二主要高速緩衝存儲器設備200b通用的輔助高速緩衝存儲器設備300。在處理器10具有圖29C中所示出的配置的情況下,第一主要高速緩衝存儲器設備200a和第二主要高速緩衝存儲器設備200b形成根據實施例的高速緩衝存儲器設備100。根據實施例的用於回寫數據的高速緩衝存儲器設備100的目標是輔助高速緩衝存儲器設備300。另外,在圖29C中所示出的示例中,雖然採用了其中包括兩個處理器核(包括第一處理器核Ila和第二處理器核Ilb)的配置,但是也可以使用其中包括三個或更多個處理器核的配置。甚至在其中包括三個或更多個處理器核的配置的情況下,每一處理器核所使用的主要高速緩衝存儲器設備是根據實施例的高速緩衝存儲器設備100。如上所述,根據實施例的高速緩衝存儲器設備100基本上採用回寫型的寫入方法,將在高速緩衝存儲器110內存在的髒線的數量限制到允許的線數,以及在髒線的數量超過允許的線數的情況下,將髒線的數據回寫到主存儲器5中。因此,通過利用在程序的執行期間通過使用處理器10將數據寫入到主存儲器5中的頻率可以減小的回寫型的優點,在阻止電力供應時從高速緩衝存儲器110回寫到主存儲器5中的數據量可以被抑制。因此,根據包括實施例的高速緩衝存儲器設備100的處理器10,從執行模式切換到其中向高速緩衝存儲器設備100的電力供應被阻止的深度待機模式所需的時間和功耗可以降低,因此,到深度待機模式的切換可以被執行甚至非常短的待機時間,由此可以實現功耗的顯著降低。根據上文所描述的至少一個實施例的高速緩衝存儲器設備的數據的高速緩衝存儲器設備,高速緩衝存儲器設備包括其中包括多個高速緩衝線的存儲器;以及控制器。當高速緩衝線之中的、其中存儲有未被寫入到存儲器設備中的數據的髒線的數量超過預定數量時,控制器將髒線的數據寫入到存儲器設備中。因此,從執行模式切換到待機模式所需的時間和功耗可以被抑制。儘管描述了某些實施例,但是,這些實施例只是作為示例來呈現的,而不限制本發明的範圍。實際上,這裡所描述的新穎的實施例可以以各種其他形式實施;此外,還可以在不偏離本發明的精神的情況下對這裡所描述的實施例的形式作出替換和變化。所附的權利要求書以及它們的等效物旨在覆蓋落入本發明的範圍和精神內的這樣的形式或修改。
權利要求
1.一種高速緩衝存儲在存儲器設備中的數據或將要被存儲在存儲器設備中的數據的高速緩衝存儲器設備,所述高速緩衝存儲器設備包括 包括多個高速緩衝線的存儲器區域;以及 控制器,被配置成,當所述高速緩衝線之中的髒線的數量超過預定數量時,將所述髒線的數據寫入到所述存儲器設備中,所述髒線中的每一個包含未被寫入在所述存儲器設備中的數據。
2.根據權利要求1所述的高速緩衝存儲器設備,其中 所述存儲器區域包括第一存儲器區域和第二存儲器區域,所述第一存儲器區域包括任意數量的高速緩衝線,所述第二存儲器區域包括預定數量的高速緩衝線,以及 所述控制器只對所述第二存儲器區域的高速緩衝線執行數據寫入,並且當所述第二存儲器區域的髒線被再次使用時,將所述髒線的數據寫入到所述存儲器設備中。
3.根據權利要求1所述的高速緩衝存儲器設備,其中,當作為將數據寫入到任意所述高速緩衝線中的結果,所述髒線的數量超過預定數量時,所述控制器將所述髒線的數據寫入到所述存儲器設備中。
4.根據權利要求1所述的高速緩衝存儲器設備,其中,所述控制器在任意定時對所述髒線的數量進行計數,並且,當所計數的髒線的數量超過所述預定數量時,將所述髒線的數據寫入到所述存儲器設備中。
5.根據權利要求1所述的高速緩衝存儲器設備,其中 所述存儲器區域包括第一存儲器區域和第二存儲器區域,所述第一存儲器區域包括所述預定數量的高速緩衝線,所述第二存儲器區域包括任意數量的高速緩衝線, 所述控制器包括第一控制器和第二控制器,所述第一控制器控制所述第一存儲器區域,所述第二控制器控制所述第二存儲器區域, 所述第一控制器只對所述第一存儲器區域的高速緩衝線執行數據寫入,並且,當所述第一存儲器區域的髒線被再次使用時,指示所述第二控制器將所述髒線的數據寫入到所述存儲器設備中,以及 所述第二控制器根據來自所述第一控制器的所述指示,將所述髒線的數據寫入到所述存儲器設備中。
6.根據權利要求1所述的高速緩衝存儲器設備,其中,所述存儲器設備是非易失性輔助高速緩衝存儲器設備。
7.根據權利要求1所述的高速緩衝存儲器設備,還包括 被配置成臨時保存所述髒線的數據的寫入緩衝器,其中 所述控制器將所述髒線的數據輸出到所述寫入緩衝器,並在任意定時將來自所述寫入緩衝器的所述髒線的數據寫入到所述存儲器設備中。
8.一種處理器,包括 被配置成通過訪問存儲器設備來執行程序的處理器核;以及 被配置成高速緩衝存儲在所述存儲器設備中的數據或將要存儲在所述存儲器設備中的數據的高速緩衝存儲器設備,其中 所述高速緩衝存儲器設備包括 包括多個高速緩衝線的存儲器區域;以及控制器,被配置成,當所述高速緩衝線之中的髒線的數量超過預定數量時,將所述髒線的數據寫入到所述存儲器設備中,所述髒線中的每一個包含未被寫入在所述存儲器設備中的數據。
9.根據權利要求8所述的處理器,其中 所述存儲器區域包括第一存儲器區域和第二存儲器區域,所述第一存儲器區域包括任意數量的高速緩衝線,所述第二存儲器區域包括所述預定數量的高速緩衝線,以及 所述控制器只對所述第二存儲器區域的高速緩衝線執行數據寫入,並且當所述第二存儲器區域的所述髒線被再次使用時,將所述髒線的數據寫入到所述存儲器設備中。
10.根據權利要求8所述的處理器,其中,當作為將數據寫入到任意所述高速緩衝線中的結果,所述髒線的數量超過所述預定數量時,所述控制器將所述髒線的數據寫入到所述存儲器設備中。
11.根據權利要求8所述的處理器,其中,所述控制器在任意定時對所述髒線的數量進行計數,並且,當所計數的髒線的數量超過所述預定數量時,將所述髒線的數據寫入到所述存儲器設備中。
12.根據權利要求8所述的處理器,其中 所述存儲器區域包括第一存儲器區域和第二存儲器區域,所述第一存儲器區域包括所述預定數量的高速緩衝線,所述第二存儲器區域包括任意數量的高速緩衝線, 所述控制器包括第一控制器和第二控制器,所述第一控制器控制所述第一存儲器區域,所述第二控制器控制所述第二存儲器區域, 所述第一控制器只對所述第一存儲器區域的高速緩衝線執行數據寫入,並且,當所述第一存儲器區域的髒線被再次使用時,指示所述第二控制器將所述髒線的數據寫入到所述存儲器設備中,以及 所述第二控制器根據來自所述第一控制器的所述指示,將所述髒線的數據寫入到所述存儲器設備中。
13.根據權利要求8所述的處理器,其中,所述存儲器設備是非易失性輔助高速緩衝存儲器設備。
14.一種信息處理裝置,包括 存儲器設備; 被配置成通過訪問所述存儲器設備來執行程序的處理器核;以及被配置成高速緩衝存儲在所述存儲器設備中的數據或將要存儲在所述存儲器設備中的數據的高速緩衝存儲器設備,其中所述高速緩衝存儲器設備包括 包括多個高速緩衝線的存儲器區域;以及 控制器,被配置成,當所述高速緩衝線之中的髒線的數量超過預定數量時,將所述髒線的數據寫入到所述存儲器設備中,所述髒線中的每一個包含未被寫入在所述存儲器設備中的數據。
15.根據權利要求14所述的信息處理裝置,其中 所述存儲器區域包括第一存儲器區域和第二存儲器區域,所述第一存儲器區域包括任意數量的高速緩衝線,所述第二存儲器區域包括所述預定數量的高速緩衝線,以及所述控制器只對所述第二存儲器區域的高速緩衝線執行數據寫入,並且當所述第二存儲器區域的所述髒線被再次使用時,將所述髒線的數據寫入到所述存儲器設備中。
16.根據權利要求14所述的信息處理裝置,其中,當作為將數據寫入到任意所述高速緩衝線中的結果,所述髒線的數量超過所述預定數量時,所述控制器將所述髒線的數據寫入到所述存儲器設備中。
17.根據權利要求14所述的信息處理裝置,其中,所述控制器在任意定時對所述髒線的數量進行計數,並且,當所計數的髒線的數量超過所述預定數量時,將所述髒線的數據寫入到所述存儲器設備中。
18.根據權利要求14所述的信息處理裝置,其中 所述存儲器區域包括第一存儲器區域和第二存儲器區域,所述第一存儲器區域包括所述預定數量的高速緩衝線,所述第二存儲器區域包括任意數量的高速緩衝線, 所述控制器包括第一控制器和第二控制器,所述第一控制器控制所述第一存儲器區域,所述第二控制器控制所述第二存儲器區域, 所述第一控制器只對所述第一存儲器區域的高速緩衝線執行數據寫入,並且,當所述第一存儲器區域的所述髒線被再次使用時,指示所述第二控制器將所述髒線的數據寫入到所述存儲器設備中,以及 所述第二控制器根據來自所述第一控制器的所述指示,將所述髒線的數據寫入到所述存儲器設備中。
19.根據權利要求14所述的信息處理裝置,其中,所述存儲器設備是非易失性輔助高速緩衝存儲器設備。
全文摘要
本發明公開了一種高速緩衝存儲器設備、處理器和信息處理裝置。根據一個實施例,一種高速緩衝存儲器設備高速緩衝存儲在存儲器設備中的數據或將要被存儲在存儲器設備中的數據。所述高速緩衝存儲器設備包括包括多個高速緩衝線的存儲器區域;以及控制器。當所述高速緩衝線之中的髒線的數量超過預定數量時,所述控制器將所述髒線的數據寫入到所述存儲器設備中,所述髒線中的每一個包含未被寫入在所述存儲器設備中的數據。
文檔編號G06F12/08GK102999439SQ20121026303
公開日2013年3月27日 申請日期2012年7月27日 優先權日2011年9月16日
發明者金井達徳, 木村哲郎, 藤崎浩一, 外山春彥 申請人:株式會社東芝