欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

映射持久存儲器的制造方法

文檔序號:6485101閱讀:157來源:國知局
映射持久存儲器的制造方法
【專利摘要】提供一種訪問存儲器的計算機裝置和相關方法。在一個方面中,控制器將存儲器的數(shù)據塊的地址范圍映射至多個處理器中至少一個處理器的可訪問內存地址范圍內。在另一方面中,該控制器保證由多個處理器在多個內存中緩存的數(shù)據塊的復本是一致的。
【專利說明】映射持久存儲器
【背景技術】
[0001]云計算和手持設備的出現(xiàn)已經增加了對數(shù)據更快、更可靠訪問的需求。數(shù)據庫性能嚴重依賴于處理器對存儲器的平均訪問時間。此前的系統(tǒng)利用各種技術來增強處理器和存儲器之間的數(shù)據轉移性能。
【專利附圖】

【附圖說明】
[0002]圖1圖示根據本申請的方面的計算機裝置。
[0003]圖2是根據本申請的方面的控制器的并攏圖示。
[0004]圖3是處理器和存儲器的說明性地址空間。
[0005]圖4圖示根據本申請的方面的流程圖。
[0006]圖5是根據本申請的方面所存儲的數(shù)據的工作示例。
[0007]圖6是根據本申請的方面向處理器轉移的數(shù)據的工作示例。
【具體實施方式】
[0008]從隨機存取內存(“RAM”)獲取數(shù)據通??煊趶拇鎯ζ鳙@取。因此,過去許多使處理器和存儲器之間的延遲最小化的嘗試涉及多種RAM緩存策略。然而,存儲器中可利用的地址范圍通常寬于處理器的內存地址空間。相應地,所緩存的數(shù)據必須經常轉移至存儲器和從存儲器轉移出,以保證處理器可訪問內存緩存中的必要的存儲部分。RAM和存儲器之間的連續(xù)交換低于理想情況,并且對性能有負面影響。
[0009]本申請的方面提供用處理器直接訪問存儲器的計算機裝置和方法。在一個方面中,持久存儲介質中的數(shù)據塊的地址范圍可以被映射到多個處理器中至少一個處理器的可訪問的內存地址范圍。在另一方面,保持在多個內存中緩存的數(shù)據塊的請求部分的復本的
一致性。
[0010]當參考下面的示例描述和附圖時,本申請的方面、特征和優(yōu)勢將被理解。下面的描述不局限于申請,相反本申請的范圍由所附權利要求和等同物限定。
[0011]圖1呈現(xiàn)根據本申請的方面的繪出各個組件的說明性計算機裝置100的示意圖。計算機裝置100可以包括與計算機相關正常使用的所有組件。例如,其可以具有鍵盤、鼠標和/或諸如筆輸入、游戲桿、按鍵、觸摸屏等之類的各種其它類型的輸入設備以及顯示器,顯示器能夠包括例如CRT、IXD、等離子屏監(jiān)視器、TV、投影儀等。計算機裝置100還可以包含處理器110和處理器122、內存112和存儲器114。內存112可以存儲可以由處理器110和處理器122獲取并運行的指令115。在一個示例中,內存112可以是RAM設備,如動態(tài)隨機存取內存(“DRAM”)設備。在另一示例中,內存112可以被分成多個內存片段,這些內存片段被組織為雙列直插式內存模塊(“DIMM”)。
[0012]處理器110和處理器122可以是任何數(shù)量的眾所周知的處理器,如來自丨ntel?公司的處理器??商娲?,處理器可以是用于運行操作的專用控制器,如專用集成電路(“ASIC”)。處理器110和處理器122可以分別包括本地緩存111和本地緩存123。每個本地緩存可以由靜態(tài)隨機存取內存(“SRAM”)設備構成,或者作為單層緩存內存或者作為具有緩存層次的多層緩存內存。處理器110和處理器122還可以可通信地聯(lián)接至輸入/輸出(“I/O”)接口 113,該輸入/輸出接口 113與諸如鍵盤、鼠標或監(jiān)視器之類的基本輸入/輸出設備接合。盡管圖1中僅示出兩個處理器和一個內存,但是要理解,計算機裝置100可以具有附加處理器和內存,圖1僅是說明性的。
[0013]指令115可以包括待由處理器(多個處理器)直接地運行(如機器代碼)或間接地運行(如腳本)的任何指令集。在這一方面,術語“指令”、“步驟”和“程序”可以在本文中可互換地使用。指令可以以任何計算機語言或任何格式存儲,如以目標代碼或源代碼的模塊。指令115可以將處理器110和處理器122配置為向存儲器114寫數(shù)據并且從存儲器114讀數(shù)據。
[0014]存儲器114可以是允許處理器110和處理器122獲取、操縱和存儲信息的存儲介質。存儲器114可以利用由蔡少棠(Leon Chua)在1971年假定的憶阻器技術。名稱“憶阻器”是記憶電阻器的縮寫。憶阻器是兩端子無源設備,其電阻狀態(tài)依賴于其前一狀態(tài)和其當前電偏置條件??紤]到它們結構簡單和電子無源性,憶阻器可以適于用作存儲介質。然而,存儲器114可以是其它類型的非易失性存儲設備,如相變存儲器(“PCM”)或者旋轉力矩轉移RAM(“STT-RAM”)。在另一示例中,存儲器可以是閃存或有后備電池的DRAM。存儲器114還可以被分成多個片段,該多個片段被組織為DIMM。在另一示例中,存儲器114可以位于與處理器110和處理器122物理地遠離但是仍可由處理器110和處理器122訪問的位置。在又一示例中,數(shù)據可以在多個存儲設備之間分布。
[0015]圖1還示出控制器116,控制器116可以是負責存儲器114和處理器110、122之間的通信的任何類型的芯片集或控制邏輯??刂破?16可以是可編程邏輯器件(PLD)、可編程邏輯陣列(PLA)、ASIC等。第一總線118可以用來將控制器116可通信地與處理器110和處理器122聯(lián)接。第一總線118可以是高速/高頻率串行鏈路,如Intel? QuickPathInterconnect (快速通道互聯(lián))。在另一示例中,第一總線118可以符合超傳輸規(guī)范修訂版3.1 (超傳輸技術聯(lián)盟,2008年8月18日發(fā)布)和/或其它修訂版。第二總線120可以是與第一總線118相同或不同的技術。盡管圖1示出與處理器110、處理器122和存儲器114直接聯(lián)接的控制器116,但是應當理解在它們之間可以布置和配置其它組件或設備。在這一點上,應當理解可以在處理器110、處理器122、存儲器112和I/O接口 113之間布置和配置其它組件或設備。盡管計算機裝置100的所有組件在圖1中從功能上被示出為位于相同框內,但是將理解這些組件可以被存儲在或可以不被存儲在相同物理外殼內。
[0016]計算機裝置100可以包括適合于與其它計算機或設備通信的電路(未示出),如實現(xiàn)由電氣電子工程師協(xié)會(“IEEE”)完成的標準(標準802.3)的以太網接口。在另一示例中,計算機裝置100可以利用根據一套IEEE802.11標準的無線保真(“Wi_Fi”)接口。要理解,可以利用其它標準或協(xié)議,如藍牙或令牌環(huán)。
[0017]圖2呈現(xiàn)根據本公開內容的方面的控制器116的并攏圖示??刂破?16的一種可能功能可以是將持久存儲介質中的數(shù)據塊的地址映射到多個處理器中至少一個處理器的可訪問內存地址范圍內,如框201所示??讖?aperture)在本文中被定義為內存地址的處理器可訪問范圍中預限定的地址范圍。描述符表212可以存儲多個描述符,每個描述符可以包括孔徑和存儲器塊之間的關聯(lián)。盡管描述符中的孔徑和存儲器塊之間關聯(lián)可以更改,但是描述符僅可以與一個孔徑關聯(lián)??讖脚c存儲器塊的關聯(lián)可以通過改變該描述符中表示的存儲器塊來改變。于是,該存儲器塊可以由處理器或I/o設備經由孔徑的地址范圍直接訪問。每個描述符還可以包括:待與孔徑關聯(lián)的存儲器塊的指針或索引,以及表示對與該孔徑對應的存儲器塊所允許的訪問類型(例如讀取訪問、寫入訪問等)的至少一個標志(flag)。盡管圖2不出在控制器116中布置的描述符表212,但是將理解,描述符表212可以存儲在不同于控制器116的位置處的易失性內存或非易失性內存中。描述符表212可以以硬件、軟件或硬件及軟件的組合的形式實現(xiàn)。
[0018]控制器116的另一可能功能可以是保證由多個處理器在多個內存中緩存的數(shù)據塊的請求部分的復本是一致的(即,緩存一致性(cache coherency)),如框202所示。內存可以是緩存內存或者是其它本地內存??刂破?16可以包括緩存一致性引擎117,緩存一致性引擎117可以是例如用于管理處理器和存儲器之間的緩存一致性的硬線狀態(tài)機(hardwired state machine)。緩存一致性引擎117可以保證一個處理器對數(shù)據的更新被施加至由其它處理器緩存的相同數(shù)據的復本。在另一示例中,緩存一致性引擎117可以保證存儲器114中的數(shù)據與由處理器緩存的數(shù)據一致。對于描述符表212而言,緩存一致性引擎117還可以以硬件、軟件或者硬件及軟件的組合的形式實現(xiàn)。
[0019]在圖3中,地址空間302代表處理器的說明性內存地址空間,地址空間303代表存儲器的說明性地址空間。處理器可訪問的內存地址范圍通常受其地址總線和寄存器的寬度限制。存儲器的地址范圍一般寬于處理器可訪問的范圍。例如,如果存儲器114是憶阻器存儲設備,則存儲器114的地址范圍可以是大約264個字節(jié),而處理器的地址范圍可以是大約246個字節(jié)。此外,處理器的地址空間的一部分可以為其它用途保留。在圖3的示例中,地址范圍304是專用于內存112的地址空間的區(qū)域。
[0020]在一個示例中,孔徑的大小可以與由計算機裝置100的操作系統(tǒng)確定的存儲器塊大小一致。在另一示例中,指令115可以確定孔徑的大小。孔徑可以對應于存儲器中相同大小的地址范圍(即,存儲器塊)。例如,圖3的孔徑306-312可以分別對應于數(shù)據塊322-328。數(shù)據塊322-328被示出為在地址空間303各處散布。描述符336-342每個可以代表孔徑和存儲器塊之間的關聯(lián)。如果處理器110需要來自例如存儲器塊322的數(shù)據的多個部分,則處理器110可以使用描述符336來使孔徑306與存儲器塊322關聯(lián),如圖3所示。由于孔徑306具有位于處理器110的地址空間內的地址范圍,所以處理器可以通過引用孔徑306的地址來訪問存儲器塊322的多個部分。因此,即便其地址位于處理器的地址空間以外,處理器110仍可以訪問存儲器塊322。
[0021]本系統(tǒng)和方法的一個工作示例在圖4至圖6中示出。具體地,圖4圖示用于將數(shù)據從存儲器直接轉移至多個處理器之一的過程400的流程圖。為了便于說明,下面的工作示例集中于控制器116和處理器110之間的通信。圖5和圖6圖示存儲器數(shù)據轉移的方面。圖5和圖6所示的動作將在下面關于圖4的流程圖介紹。
[0022]在圖4的框401中,處理器選擇孔徑。在使該孔徑與存儲器塊關聯(lián)以前,處理器110可以確定與該孔徑關聯(lián)的描述符是否被緩存,如框402所示。如果該描述符未被緩存,則緩存遺失結果并且處理器Iio可以請求該描述符,如框404所示。在提供該描述符以前,在框408中,控制器116可以確定當前與該孔徑關聯(lián)的數(shù)據塊的先前請求部分是否仍被緩存在內存(如本地緩存111)中。如果數(shù)據塊的先前的請求部分被緩存在內存中,則控制器116可以從中移除這些數(shù)據塊部分,將任何被修改的數(shù)據轉移至存儲器114中的對應數(shù)據塊,如框410所示。這可以保證對數(shù)據塊的所有修改在處理器訪問該描述符以前都已經被存儲并交付給存儲器114。參考圖5的示例,處理器110的本地緩存111被示出為具有孔徑306,孔徑306可以包含來自存儲器114的先前獲取的塊322的復本。在圖5的時刻tl,處理器110可以從緩存一致性引擎117請求描述符。在將描述符傳輸至處理器110以前,控制器116的緩存一致性引擎117可以在時刻t2從本地緩存111中移除孔徑306的內容。在時刻t3,緩存一致性引擎117可以將孔徑306的內容存儲在其在存儲器114中對應的地址中。在圖5的示例中,描述符表212的描述符336表示孔徑306與存儲器中的地址322關聯(lián)。
[0023]在圖4的框412中,控制器116可以將該描述符傳輸至處理器110。如圖5所示,在時刻t4,處理器110可以接收該描述符并且將其存儲在位置502處的本地緩存111中,這允許處理器修改該描述符。返回參考圖4,處理器可以修改該描述符,以使對應的孔徑與不同的存儲器塊關聯(lián),如框406所示?,F(xiàn)在參考圖6,緩存位置502處的描述符可以改變,以便改變與來自322至333的孔徑306關聯(lián)的數(shù)據塊。在圖4的框407中,處理器可以訪問該孔徑的現(xiàn)在被映射至新選擇的存儲器塊(數(shù)據塊333)的一部分。在框414中,處理器110可以確定來自新映射的存儲器塊的數(shù)據的請求部分是否已經經由所選擇的孔徑被緩存。如果數(shù)據未被緩存,則緩存遺失結果并且處理器可以經由該孔徑從存儲器請求數(shù)據塊的多個部分,如框417所示。在轉發(fā)該數(shù)據以前,控制器116可以確定該描述符是否已被緩存,如框416所示。如果描述符已被緩存,則控制器116可以從中移除該描述符,如框418所示??刂破骺梢詫⑺薷牡拿枋龇鎯υ诿枋龇碇?,這改變孔徑映射,如框419所示。這可以保證在處理器訪問該數(shù)據塊以前存儲對先前請求的描述符做出的改變。圖6的示例圖示在描述符表212的描述符336中存儲的孔徑306和存儲器塊333之間的關聯(lián)。在圖6的時刻tl,處理器110可以經由孔徑306請求新數(shù)據塊的多個部分。緩存一致性引擎117可以在時刻t2獲取該描述符并且在時刻t3將其存儲在描述符表112中。在時刻t4,所請求的數(shù)據塊部分可以從塊333經由孔徑306轉移至處理器110。返回參考圖4,在圖4的塊420中,控制器116現(xiàn)在可以經由孔徑306將數(shù)據從存儲器傳輸至處理器。在框422中,處理器可以接收數(shù)據,并且在框424中,處理器可以訪問該數(shù)據。
[0024]有利地,上面描述的裝置和方法允許處理器直接訪問來自存儲設備的數(shù)據,該存儲設備的地址范圍大于該處理器的地址范圍。在這一點上,程序訪問數(shù)據庫的速度被增大。于是,終端用戶體驗更少的數(shù)據獲取延遲。
[0025]盡管已經關于特定示例描述了本文的公開內容,但是應當理解這些示例僅說明本公開內容的原理。因此應當理解,可以對這些示例進行多種修改并且可以設計其它布置,而不背離由所附權利要求限定的公開示例的精神和范圍。此外,盡管在附圖中以特定順序示出特定過程,但是這樣的過程不局限于任何特定的順序,除非這樣的順序在本文中明確地表達。相反能夠以不同的順序或同時處理各個步驟,并且可以省略或添加步驟。
【權利要求】
1.一種計算機裝置,包括: 控制器,該控制器: 將持久存儲介質中的數(shù)據塊的地址范圍映射至多個處理器中至少一個處理器的可訪問內存地址范圍中;以及 保證由所述多個處理器在多個內存中緩存的所述數(shù)據塊的請求部分的復本保持一致。
2.根據權利要求1所述的計算機裝置,其中所述至少一個處理器是如下的處理器,該處理器: 選擇孔徑,所述孔徑是位于所述至少一個處理器的可訪問內存地址范圍內的預確定的地址范圍,所述孔徑的所述預確定的地址范圍與所述數(shù)據塊的地址范圍關聯(lián);并且引用所述孔徑的所述預確定的地址范圍內的地址來訪問所述數(shù)據塊的請求部分。
3.根據權利要求2所述的計算機裝置,其中所述控制器是存儲描述符的控制器,該描述符包括所述孔徑和所述數(shù)據塊之間的關聯(lián)。
4.根據權利要求3所述的計算機裝置,其中所述描述符與所述孔徑關聯(lián)。
5.根據權利要求4所述的計算機裝置,其中所述描述符進一步包括:對所述數(shù)據塊的索引或指針,以及在經由所述孔徑訪問所述數(shù)據塊時表示對所述數(shù)據塊的訪問許可的至少一個標志。
6.根據權利要求4所述的計算機裝置,其中所述控制器是如下的控制器,該控制器保證由一個處理器緩存的所述孔徑和所述描述符的復本與由其它處理器緩存的所述孔徑和所述描述符的其它復本一致。
7.根據權利要求6所述的計算機裝置,其中所述控制器是如下的控制器,該控制器: 保證由處理器對先前請求的數(shù)據塊所做的修改在該處理器訪問所述描述符以前被存儲;并且 保證由所述處理器對先前請求的描述符所做的修改在該處理器訪問所述數(shù)據塊以前被存儲。
8.根據權利要求1所述的計算機裝置,其中所述持久存儲介質是憶阻器設備。
9.一種計算機裝置,包括: 控制器,該控制器: 使孔徑與憶阻器存儲設備中的數(shù)據塊關聯(lián),所述孔徑是位于多個處理器中至少一個處理器的可訪問內存地址范圍內的預確定的地址范圍,所述孔徑的所述預確定的地址范圍對應于所述數(shù)據塊的地址范圍; 將所述數(shù)據塊的請求部分經由所述孔徑轉移至所述至少一個處理器;以及 保證由所述多個處理器在多個內存中緩存的所述數(shù)據塊的請求部分的復本保持一致。
10.根據權利要求9所述的計算機裝置,其中所述至少一個處理器是如下的處理器,該處理器: 選擇所述孔徑;并且 引用所述孔徑的所述預確定的地址范圍內的地址來訪問所述數(shù)據塊的請求部分。
11.根據權利要求9所述 的計算機裝置,其中所述控制器是如下的控制器,該控制器存儲描述符,該描述符包括所述孔徑和所述數(shù)據塊之間的關聯(lián)。
12.根據權利要求11所述的計算機裝置,其中所述描述符與所述孔徑關聯(lián)。
13.根據權利要求12所述的計算機裝置,其中所述描述符進一步包括:與所述數(shù)據塊關聯(lián)的索引或指針,以及在經由所述孔徑訪問所述數(shù)據塊時表示對所述數(shù)據塊的訪問許可的至少一個標志。
14.根據權利要求13所述的計算機裝置,其中所述控制器是如下的控制器,該控制器保證由一個處理器緩存的所述孔徑和所述描述符的復本與由其它處理器緩存的所述孔徑和所述描述符的其它復本一致。
15.根據權利要求13所述的計算機裝置,其中所述控制器是如下的控制器,該控制器: 保證由處理器對先前請求的數(shù)據塊所做的修改在該處理器訪問所述描述符以前被存儲;并且 保證由所述處理器對先前請求的描述符所做的修改在該處理器訪問所述數(shù)據塊以前被存 儲。
【文檔編號】G06F12/02GK103890737SQ201180074041
【公開日】2014年6月25日 申請日期:2011年10月7日 優(yōu)先權日:2011年10月7日
【發(fā)明者】加里·戈斯廷, 克雷格·韋爾納, 約翰·W·博克豪斯 申請人:惠普發(fā)展公司,有限責任合伙企業(yè)
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
西宁市| 博客| 乡城县| 勃利县| 青海省| 涿鹿县| 云梦县| 大港区| 乐都县| 泗水县| 淮阳县| 青阳县| 昭苏县| 龙泉市| 若尔盖县| 乐都县| 桦甸市| 沙坪坝区| 根河市| 石台县| 辽源市| 襄汾县| 宜丰县| 淮阳县| 河东区| 遵化市| 台江县| 桂林市| 永城市| 盐城市| 贵南县| 天津市| 梅河口市| 都兰县| 宁陵县| 宜兰市| 定边县| 昌图县| 宣城市| 长顺县| 阜城县|