提供待檢索的數(shù)據(jù)的制作方法
【專利說(shuō)明】提供待檢索的數(shù)據(jù)
【背景技術(shù)】
[0001] 現(xiàn)代計(jì)算系統(tǒng)已經(jīng)發(fā)展到包括多種存儲(chǔ)器件。例如,計(jì)算系統(tǒng)可以包含非易失性 存儲(chǔ)器件和幾個(gè)易失性存儲(chǔ)器件。在許多計(jì)算系統(tǒng)中,非易失性存儲(chǔ)器件具有比易失性存 儲(chǔ)器件大的儲(chǔ)存容量。然而,儲(chǔ)存于非易失性存儲(chǔ)器件中的數(shù)據(jù)的存取時(shí)間可能比儲(chǔ)存于 易失性存儲(chǔ)器件中的數(shù)據(jù)的存取時(shí)間慢。因此,一些計(jì)算系統(tǒng)將來(lái)自非易失性存儲(chǔ)源的數(shù) 據(jù)的副本儲(chǔ)存于易失性存儲(chǔ)源中。于是處理器可以試圖在請(qǐng)求來(lái)自較慢的非易失性存儲(chǔ)源 之前請(qǐng)求來(lái)自易失性存儲(chǔ)源的數(shù)據(jù)。然而,預(yù)測(cè)處理器可能請(qǐng)求哪個(gè)數(shù)據(jù)可能是困難的。此 夕卜,如果被儲(chǔ)存的數(shù)據(jù)沒(méi)有被處理器請(qǐng)求,則將來(lái)自非易失性存儲(chǔ)器件的數(shù)據(jù)儲(chǔ)存于易失 性存儲(chǔ)器中可能是低效的。
【附圖說(shuō)明】
[0002] 在下面的詳細(xì)描述中并參考附圖描述了特定實(shí)例,在附圖中: 圖1是能夠提供待檢索的數(shù)據(jù)的計(jì)算系統(tǒng)的實(shí)例的框圖; 圖2是示出用于提供待檢索的數(shù)據(jù)的方法的實(shí)例的過(guò)程流程圖; 圖3是示出用于初始化提供待檢索的數(shù)據(jù)的系統(tǒng)的方法的實(shí)例的過(guò)程流程圖; 圖4是示出在能夠提供待檢索的數(shù)據(jù)的系統(tǒng)中的數(shù)據(jù)流的實(shí)例;以及 圖5是能夠提供待檢索的數(shù)據(jù)的有形的非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)的實(shí)例。
【具體實(shí)施方式】
[0003] 已經(jīng)開(kāi)發(fā)了多種方法來(lái)識(shí)別和檢索儲(chǔ)存于非易失性存儲(chǔ)器件中的數(shù)據(jù)的副本。例 如,一些方法基于由處理器請(qǐng)求的數(shù)據(jù)從非易失性存儲(chǔ)器件識(shí)別和檢索數(shù)據(jù)的副本。這些 方法可以儲(chǔ)存具有遵循由處理器最后請(qǐng)求的數(shù)據(jù)的存儲(chǔ)地址的連續(xù)存儲(chǔ)地址的數(shù)據(jù)的副 本。然而,許多應(yīng)用可能沒(méi)有以連續(xù)配置儲(chǔ)存數(shù)據(jù)。例如,關(guān)系數(shù)據(jù)庫(kù)可以將數(shù)據(jù)儲(chǔ)存在表 格中。對(duì)于關(guān)系數(shù)據(jù)庫(kù)的每個(gè)表格的數(shù)據(jù)可以以不連續(xù)的配置儲(chǔ)存在非易失性存儲(chǔ)器中, 因?yàn)閬?lái)自第一數(shù)據(jù)庫(kù)表格的行可以儲(chǔ)存在來(lái)自第二數(shù)據(jù)庫(kù)表格的行之后。在該實(shí)例中,處 理器可能不可能以連續(xù)模式請(qǐng)求數(shù)據(jù)。因此,檢索并將非易失性存儲(chǔ)器數(shù)據(jù)的副本儲(chǔ)存在 易失性存儲(chǔ)源中的連續(xù)方法可能是低效的。
[0004] 本文公開(kāi)的技術(shù)描述了一種用于提供待檢索的數(shù)據(jù)的方法。如本文所提到的,該 數(shù)據(jù)包括任何數(shù)據(jù)塊、數(shù)據(jù)頁(yè)、表格、或可以由處理器請(qǐng)求的任何其他信息。使用連續(xù)存儲(chǔ) 模塊、神經(jīng)網(wǎng)絡(luò)模塊和條件概率模塊來(lái)識(shí)別待檢索的數(shù)據(jù)。每個(gè)模塊可以基于試圖確定處 理器可能請(qǐng)求哪個(gè)數(shù)據(jù)的計(jì)算來(lái)識(shí)別待檢索的預(yù)期數(shù)據(jù)。然后確定在每個(gè)模塊中識(shí)別的預(yù) 期數(shù)據(jù)的組合以提供處理器可能請(qǐng)求的準(zhǔn)確預(yù)期數(shù)據(jù)。這些模塊的組合可以通過(guò)將最可能 由處理器請(qǐng)求的數(shù)據(jù)的副本提供給快速存儲(chǔ)器件來(lái)提高計(jì)算系統(tǒng)的效率。
[0005] 圖1是可以用于提供待檢索的數(shù)據(jù)的計(jì)算系統(tǒng)100的實(shí)例的框圖。計(jì)算系統(tǒng)100 可以包括例如移動(dòng)電話、膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)或平板電腦等等。計(jì)算系統(tǒng)100可以包 括適于執(zhí)行儲(chǔ)存的指令的處理器102。處理器102可以是單核處理器、多核處理器、計(jì)算集 群或任何數(shù)量的其他適當(dāng)?shù)呐渲谩?br>[0006] 處理器102可以通過(guò)系統(tǒng)總線104 (例如PCI、快速PCI、HyperTransport?、串行 ATA等等)連接到適于將計(jì)算系統(tǒng)100連接到一個(gè)或多個(gè)輸入/輸出(I/O)裝置108的I/ 〇裝置接口 106。I/O裝置108可以包括例如鍵盤和指示裝置,其中指示裝置可以包括觸摸 板或觸摸屏等等。I/O裝置108可以是計(jì)算系統(tǒng)100的內(nèi)建部件,或者可以是在外部連接到 計(jì)算系統(tǒng)100的裝置。
[0007] 處理器102還可以通過(guò)系統(tǒng)總線104鏈接到適于將計(jì)算系統(tǒng)100連接到顯示裝置 112的顯示接口 110。顯示裝置112可以包括作為計(jì)算系統(tǒng)100的內(nèi)建部件的顯示屏幕。 顯示裝置112還可以包括計(jì)算機(jī)監(jiān)控器、電視機(jī)或投影儀等等,其在外部連接到計(jì)算系統(tǒng) 100。另外,處理器102還可以通過(guò)系統(tǒng)總線104鏈接到網(wǎng)絡(luò)接口卡(NIC)114。NIC 114可 以適于通過(guò)系統(tǒng)總線104將計(jì)算系統(tǒng)100連接到網(wǎng)絡(luò)(未描繪)。該網(wǎng)絡(luò)(未描繪)可以是廣 域網(wǎng)(WAN)、局域網(wǎng)(LAN)或因特網(wǎng)等等。
[0008] 處理器首先在存儲(chǔ)器116中搜索被請(qǐng)求的數(shù)據(jù)。存儲(chǔ)器116可以包括隨機(jī)存取存 儲(chǔ)器(例如 SRAM、DRAM、SONOS、eDRAM、EDO RAM、DDR RAM、RRAM、PRAM 等等)、只讀存儲(chǔ)器(例 如掩模ROM、PROM、EPROM、EEPROM等等)、閃速存儲(chǔ)器、非易失性存儲(chǔ)器或任何其他合適的存 儲(chǔ)系統(tǒng)。如果被請(qǐng)求的指令或數(shù)據(jù)沒(méi)有位于存儲(chǔ)器116中,則處理器102可以在儲(chǔ)存裝置 118中搜索被請(qǐng)求的指令或數(shù)據(jù)。儲(chǔ)存裝置118可以包括硬盤驅(qū)動(dòng)器、光驅(qū)、USB閃速驅(qū)動(dòng) 器、驅(qū)動(dòng)器陣列或其任何其他適當(dāng)?shù)慕M合。在一些實(shí)例中,儲(chǔ)存裝置118可以包含用于計(jì)算 系統(tǒng)100的所有儲(chǔ)存的指令和數(shù)據(jù)。儲(chǔ)存裝置118還可以包括存儲(chǔ)管理器120,其包括神 經(jīng)網(wǎng)絡(luò)模塊122、條件概率模塊124和連續(xù)存儲(chǔ)模塊126。存儲(chǔ)管理器120可以基于神經(jīng)網(wǎng) 絡(luò)模塊122、連續(xù)存儲(chǔ)模塊126和條件概率模塊124提供待從儲(chǔ)存機(jī)構(gòu)106檢索的數(shù)據(jù)并 將該數(shù)據(jù)儲(chǔ)存在存儲(chǔ)器116中。神經(jīng)網(wǎng)絡(luò)模塊122、連續(xù)存儲(chǔ)模塊126和條件概率模塊124 可以識(shí)別最有可能被處理器102請(qǐng)求的數(shù)據(jù)。
[0009] 應(yīng)當(dāng)理解圖1的框圖并不旨在表明計(jì)算系統(tǒng)100包括圖1中所示的所有部件。更 確切地說(shuō),計(jì)算系統(tǒng)100可以包括較少的部件或未在圖1中示出的另外的部件(例如,另外 的存儲(chǔ)器件、視頻卡、另外的網(wǎng)絡(luò)接口等)。此外,存儲(chǔ)管理器120的任何功能可以部分地或 完全地在硬件中或在處理器102中實(shí)施。例如,所述功能可以利用專用集成電路、在實(shí)施于 處理器102中的邏輯中或者在外圍裝置上的協(xié)處理器中等等來(lái)實(shí)施。
[0010] 圖2是示出用于提供待檢索的數(shù)據(jù)的方法的實(shí)例的過(guò)程流程圖。方法200可以用 于提供通過(guò)使用計(jì)算系統(tǒng)(例如圖1中描述的計(jì)算系統(tǒng)100)檢索的數(shù)據(jù)。方法200可以由 存儲(chǔ)管理器120實(shí)施,存儲(chǔ)管理器120可以部分地基于神經(jīng)網(wǎng)絡(luò)模塊和條件概率模塊來(lái)提 供待檢索的數(shù)據(jù)。
[0011] 在塊202處,檢測(cè)數(shù)據(jù)檢索請(qǐng)求。如本文所提到的,數(shù)據(jù)檢索請(qǐng)求可以包括檢索數(shù) 據(jù)(例如數(shù)據(jù)塊、數(shù)據(jù)頁(yè)、數(shù)據(jù)表格或與數(shù)據(jù)相關(guān)的信息)的請(qǐng)求。例如,數(shù)據(jù)檢索請(qǐng)求可以 包括檢索有可能被處理器請(qǐng)求的指令。在一些實(shí)例中,數(shù)據(jù)檢索請(qǐng)求可以識(shí)別儲(chǔ)存機(jī)構(gòu)中 的將被復(fù)制并被儲(chǔ)存在存儲(chǔ)器件中的數(shù)據(jù)。在這些實(shí)例中,存儲(chǔ)器件可以比儲(chǔ)存裝置更快。 通過(guò)將數(shù)據(jù)的副本儲(chǔ)存在存儲(chǔ)器件中,處理器可以以較短的時(shí)間段存取被請(qǐng)求的數(shù)據(jù)。
[0012] 在塊204處,連續(xù)存儲(chǔ)模塊識(shí)別第一組預(yù)期數(shù)據(jù)??梢酝ㄟ^(guò)識(shí)別由處理器最后存 取的數(shù)據(jù)塊的存儲(chǔ)地址并基于由處理器最后存取的數(shù)據(jù)塊的存儲(chǔ)地址檢索下一個(gè)連續(xù)數(shù) 據(jù)塊來(lái)識(shí)別該第一組預(yù)期數(shù)據(jù)。例如,連續(xù)存儲(chǔ)模塊可以檢測(cè)儲(chǔ)存在儲(chǔ)存機(jī)構(gòu)的存儲(chǔ)地址N 處的處理器最后存取的數(shù)據(jù)。連續(xù)存儲(chǔ)模塊然后可以檢索駐留在儲(chǔ)存機(jī)構(gòu)的存儲(chǔ)地址N+1 處的數(shù)據(jù)并將所檢索的數(shù)據(jù)的副本儲(chǔ)存在存儲(chǔ)器中。在一些實(shí)例中,連續(xù)存儲(chǔ)模塊可以基 于位于由處理器最后存取的數(shù)據(jù)塊的存儲(chǔ)地址之后的連續(xù)存儲(chǔ)地址來(lái)檢索數(shù)據(jù)塊的范圍。 通過(guò)將連續(xù)數(shù)據(jù)的副本儲(chǔ)存在存儲(chǔ)器中,連續(xù)存儲(chǔ)模塊可以提高指令的執(zhí)行速度,因?yàn)樘?理器可以從存儲(chǔ)器件而不是從較慢的儲(chǔ)存裝置請(qǐng)求數(shù)據(jù)。
[0013] 在塊206處,確定神經(jīng)網(wǎng)絡(luò)模塊和條件概率模塊是否被初始化。如本文所提到的, 神經(jīng)網(wǎng)絡(luò)模塊包括互連的神經(jīng)元組。如本文所提到的,神經(jīng)元包括具有一個(gè)或多個(gè)輸入和 一個(gè)或多個(gè)輸出的裝置。在一些實(shí)例中,神經(jīng)元可以包括數(shù)學(xué)函數(shù)或任何其他適當(dāng)?shù)臄?shù)學(xué) 計(jì)算。神經(jīng)元可以將數(shù)學(xué)函數(shù)或計(jì)算應(yīng)用于一組輸入并返回輸出。例如,神經(jīng)元可以包括 多項(xiàng)式函數(shù),該多項(xiàng)式函數(shù)包括代表不同輸入值的幾個(gè)變量。在一些實(shí)例中,所述輸入值可 以是用于有可能由處理器請(qǐng)求的數(shù)據(jù)塊的存儲(chǔ)地址。然后多項(xiàng)式函數(shù)可以計(jì)算代表最有可 能由處理器請(qǐng)求的數(shù)據(jù)塊的輸出。在其他實(shí)例中,神經(jīng)元可以返回代表有可能由處理器請(qǐng) 求的一組數(shù)據(jù)塊的多個(gè)輸出。
[0014] 如本文所提到的,條件概率模塊可以包括矩陣或條件概率的任何其他適當(dāng)表示。 如本文所提到的,條件概率包括基于第二事件的發(fā)生的一個(gè)事件的概率。例如,給定B的 情況下A的條件概率是如果已知B已經(jīng)發(fā)生時(shí)A的概率。在一些實(shí)例中,給定B的情況下 A的條件概率是如果已知數(shù)據(jù)點(diǎn)B已經(jīng)由處理器請(qǐng)求時(shí)另一數(shù)據(jù)點(diǎn)A正由處理器請(qǐng)求的概 率。條件概率模塊可以基于先前已經(jīng)被請(qǐng)求的其他數(shù)據(jù)塊來(lái)提供數(shù)據(jù)塊正由處理器請(qǐng)求的 條件概率。如果神經(jīng)網(wǎng)絡(luò)模塊和條件概率模塊已經(jīng)被初始