一種接口適配器,包括:包含非易失性隨機訪問存儲器(RAM)的存儲模塊和查找模塊。存儲模塊被配置為將元數據存儲在非易失性RAM中。元數據標識緩存在固態存儲設備中的來自外部存儲設備的數據。查找模塊被配置為接收讀請求。查找模塊進一步被配置為響應于讀請求并且基于元數據而選擇性地提供來自固態存儲設備的已緩存數據或者提供從外部存儲設備獲取的第二數據。
【技術實現步驟摘要】
【國外來華專利技術】
本公開涉及緩存主機總線適配器,并且更具體地,涉及使用固態存儲設備和非易失性存儲器的緩存主機總線適配器。
技術介紹
在此提供的背景描述是為了總體上給出本公開的上下文。就在此
技術介紹
中描述 的工作而言,專利技術人的工作以及在提交時沒有被證明為現有技術的描述并未被明確或者隱含地稱為相對于本公開的現有技術。現在參考圖1A,示出了一個計算機架構的示例的框圖。處理器100經由北橋模塊106與主存儲器102和圖形處理模塊104通信。北橋模塊106與提供對外圍設備的訪問的南橋模塊108對接。僅作為示例,南橋模塊108與PCI (外圍組件互連)Express插槽110對接。在圖IA中,PCI Express卡112-1和112-2安裝在PCI Express插槽110上。現在參考圖1B,示出了一個備選計算機架構。處理器150包括允許處理器150直接與主存儲器152和圖形處理模塊154通信的電路。用于在處理器150與圖形處理模塊154之間通信的總線例如可以是AGP(加速圖形端口)或者PCI Express。北橋模塊156提供對處理器150的外圍訪問。例如,北橋模塊156與安裝有PCI Express卡112-1和112-2的PCI Express插槽110對接。南橋模塊108和156可以與附加的總線對接,例如用于連網的以太網、用于外部外設的USB(通用串行總線)以及用于盤驅動的SATA(串行高級技術附件)。PCI Express卡112可以實現附加的接口。例如,PCI Express卡112-1可以是主機總線適配器,其為處理器100提供對諸如SCSI (小型計算機系統接口 )、eSATA (外部SATA)或者光纖通道的接口的訪問。
技術實現思路
一種接口適配器,包括包含非易失性隨機訪問存儲器(RAM)的存儲模塊和查找模塊。存儲模塊被配置為將元數據存儲在非易失性RAM中。元數據標識緩存在固態存儲設備中的來自外部存儲設備的數據。查找模塊被配置為接收讀請求。查找模塊進一步被配置為響應于讀請求并且基于元數據而選擇性地提供來自固態存儲設備的已緩存數據或者提供從外部存儲設備獲取的第二數據。在其他特征中,存儲模塊進一步被配置為在非易失性RAM中維護寫緩沖區。第二數據在從外部存儲設備被獲取之后被存儲在寫緩沖區中。第二數據在被存儲在寫緩沖區之后被存儲到固態存儲設備中。在其他特征中,接口適配器包括緩沖區控制模塊,被配置為確定何時將來自寫緩沖區的第二數據存儲到固態存儲設備中。緩沖區控制模塊被配置為基于寫緩沖區中存在的用于存儲在固態存儲設備中的相鄰位置中的、包括第二數據在內的數據的預定數量,而將第二數據存儲到固態存儲設備中。在又一些特征中,接口適配器包括緩存回收模塊,被配置為選擇性地允許固態存儲設備中的數據被覆蓋。在其他特征中,查找模塊被配置為響應于讀請求而構建存在于存儲模塊中的數據的命中列表,構建不存在于存儲模塊中的數據的未命中列表,以及根據未命中列表向外部存儲設備發送數據請求。一種主機總線適配器,包括固態存儲設備、非易失性隨機訪問存儲器(RAM)以及執行模塊。主機總線適配器被配置為安裝在計算機中。執行模塊被配置為將來自外部存儲設備的數據緩存在固態存儲設備中。執行模塊還被配置為將元數據存儲在非易失性RAM中。元數據指示什么數據被緩存在固態存儲設備中。執行模塊還被配置為從計算機的中央處理器接收讀請求,并且使用來自固態存儲設備的已緩存數據選擇性地對讀請求做出響 應。在其他特征中,執行模塊被配置為使用部分非易失性RAM作為寫緩沖區。執行模塊還被配置為從中央處理器接收寫請求。執行模塊還被配置為在將對應于寫請求的寫數據存儲在固態存儲設備之前將寫數據存儲在寫緩沖區中。執行模塊還被配置為響應于讀請求而選擇性地提供來自寫緩沖區的數據。執行模塊還被配置為當元數據指示用于讀請求之一的第一數據未被存儲在寫緩沖區或者固態存儲設備中時,從外部存儲設備請求第一數據。執行模塊還被配置為一旦從外部存儲設備接收到第一數據,便在將第一數據存儲在固態存儲設備中之前將第一數據存儲在寫緩沖區中。一種操作接口適配器的方法,包括將元數據存儲在接口適配器的非易失性隨機訪問存儲器(RAM)中。元數據標識被緩存在固態存儲設備中的來自外部存儲設備的數據。該方法包括接收讀請求,以及響應于讀請求并且基于元數據而選擇性地提供來自固態存儲設備的已緩存數據或者提供從外部存儲設備獲取的第二數據。通過詳細描述、權利要求和附圖,本公開的其他適用領域將變得清楚。詳細描述和具體示例僅用于說明目的,無意限制本公開的范圍。附圖說明通過詳細描述和附圖,本公開將變得被更完全地理解,其中圖IA是根據現有技術的一個計算機架構的功能框圖;圖IB是根據現有技術的一個計算機架構的功能框圖;圖2A是根據本公開原理的一個計算系統的示例的功能框圖;圖2B是根據本公開原理的一個計算系統的備選示例的功能框圖;圖3A是根據本公開原理的緩存存儲適配器的示例的一個高級別功能框圖;圖3B是根據本公開原理的緩存存儲適配器的示例的另一高級別功能框圖;圖4是根據本公開原理的緩存存儲適配器的一個實現示例的功能框圖;圖5是根據本公開原理的緩存存儲適配器的一個實現示例的功能框圖;圖6是描繪根據本公開原理的緩存存儲適配器的操作示例的流程圖;以及圖7是描繪根據本公開原理的緩存存儲適配器的操作示例的流程圖。具體實施例方式下面的描述本質上僅僅是說明性的,而絕非有意限制公開、其應用或使用。出于清楚的目的,在附圖中將使用相同的參考標號來標識類似的元素。在此使用的短語“A、B和C中至少一個”應當被解釋為使用非排他性邏輯“或”的邏輯(A或B或C)。應當理解,方法中的步驟可以按照不同的順序執行而不改變本專利技術的原理。在此使用的術語“模塊”可以是以下項的部分或者包括以下項專用集成電路(ASIC);電子電路;組合邏輯電路;現場可編程門陣列(FPGA);執行代碼的處理器(共享、專用或群組);提供所描述功能的其他適當部件;或者上述某些或全部的組合,諸如在片上·系統中。術語“模塊”可以包括存儲由處理器執行的代碼的存儲器(共享、專用或群組)。上面使用的術語“代碼”可以包括軟件、固件和/或微代碼,并且可以表示程序、例程、函數、類和/或對象。上面使用的術語“共享”表示來自多個模塊的某些或者全部代碼可以使用單個(共享的)處理器執行。而且,來自多個模塊某些或者全部代碼可以由單個(共享的)存儲器存儲。上面使用的術語“群組”表示來自單個模塊的某些或者全部代碼可以使用一組處理器執行。而且,來自單個模塊的某些或者全部代碼可以使用一組存儲器存儲。在此描述的裝置和方法可以由一個或多個處理器執行的一個或多個計算機程序來實現。計算機程序包括存儲在非瞬態有形計算機可讀介質上的處理器可執行指令。計算機程序還可以包括存儲的數據。非瞬態有形計算機可讀介質的非限制性示例是非易失性存儲器、磁性存儲設備以及光學存儲設備。現在參考圖2A,其示出了根據本公開原理的一個計算系統的示例。計算機202包括處理器204,其使用北橋模塊210與主存儲器206和圖形處理模塊208對接。北橋模塊210與南橋模塊212對接,南橋模塊212為處理器204提供對外設的訪問。北橋模塊212與PCI Express插槽220對接。PCI Expres本文檔來自技高網...
【技術保護點】
【技術特征摘要】
【國外來華專利技術】...
【專利技術屬性】
技術研發人員:A·普魯西,S·卡馬卡,K·拉斯托吉,S·施沃卡,
申請(專利權)人:馬維爾國際貿易有限公司,
類型:
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。