用于實(shí)時(shí)遷移為dma鎖定的頁(yè)的技術(shù)和機(jī)制的制作方法
【專利摘要】用于將來(lái)白第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)遷移到第二范圍的物理存儲(chǔ)單元的技術(shù)。分配第二范圍的物理存儲(chǔ)單元,以用于來(lái)自第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)的遷移。清除針對(duì)第一范圍的物理存儲(chǔ)單元的未決事務(wù)。對(duì)一個(gè)或多個(gè)地址轉(zhuǎn)換條目進(jìn)行重新編程。將數(shù)據(jù)從第一范圍的物理存儲(chǔ)單元遷移到第二范圍的物理存儲(chǔ)單元。對(duì)后續(xù)的存儲(chǔ)器事務(wù)進(jìn)行處理,以使這些事務(wù)被定向到第二范圍的物理存儲(chǔ)單元。
【專利說(shuō)明】用于實(shí)時(shí)遷移為DMA鎖定的頁(yè)的技術(shù)和機(jī)制
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實(shí)施例涉及存儲(chǔ)器管理技術(shù)。具體地說(shuō),本發(fā)明的實(shí)施例涉及用于管理去往各個(gè)存儲(chǔ)器模塊的直接存儲(chǔ)器存取(DMA)業(yè)務(wù)的技術(shù)。
【背景技術(shù)】
[0002]通常需要關(guān)鍵任務(wù)環(huán)境中的處理器提供高可靠性、服務(wù)性和可用性特性。存儲(chǔ)器模塊(例如,雙列直插式存儲(chǔ)器模塊(DIMM))是頻繁地遭遇故障的組件,并且可能會(huì)造成災(zāi)難性的存儲(chǔ)器系統(tǒng)故障。大多數(shù)現(xiàn)代操作系統(tǒng)使用的技術(shù)通過(guò)監(jiān)測(cè)存儲(chǔ)器模塊組件中的軟差錯(cuò)率,從而不使用具有高故障概率的模塊,來(lái)防止這些故障。這種技術(shù)可以稱為預(yù)測(cè)故障分析(PFA)。例如,如果檢測(cè)到的差錯(cuò)的數(shù)量超過(guò)門限量,則可以建議進(jìn)行替換。在這些系統(tǒng)中,存儲(chǔ)器模塊替換需要進(jìn)行停工。
【專利附圖】
【附圖說(shuō)明】
[0003]在附圖的圖中,通過(guò)示例的方式,而不是限制的方式來(lái)描繪本發(fā)明的實(shí)施例,在附圖中,相似的附圖標(biāo)記指代類似的部件。
[0004]圖1是可以接收要通過(guò)直接存儲(chǔ)器存取(DMA)機(jī)制傳送到存儲(chǔ)器的數(shù)據(jù)的系統(tǒng)的一個(gè)實(shí)施例的概念圖,其中DMA機(jī)制支持如本申請(qǐng)所描述的數(shù)據(jù)遷移。
[0005]圖2是涉及DMA機(jī)制的用于將來(lái)自于一個(gè)物理存儲(chǔ)器地址集的數(shù)據(jù)重新安置到第二物理存儲(chǔ)器地址集的技術(shù)的一個(gè)實(shí)施例的流程圖。
[0006]圖3是可以提供如本申請(qǐng)所描述的數(shù)據(jù)遷移的電子系統(tǒng)的一個(gè)實(shí)施例的框圖?!揪唧w實(shí)施方式】
[0007]在下面的描述中,對(duì)眾多特定的細(xì)節(jié)進(jìn)行了闡述。但是,可以在不使用這些特定細(xì)節(jié)的情況下實(shí)現(xiàn)本發(fā)明的實(shí)施例。在其它實(shí)例中,為了避免對(duì)本說(shuō)明書的理解造成模糊,沒(méi)有詳細(xì)地示出公知的電路、結(jié)構(gòu)和技術(shù)。
[0008]操作系統(tǒng)具有對(duì)可用于本操作系統(tǒng)的用戶頁(yè)進(jìn)行遷移的能力。但是,操作系統(tǒng)不能對(duì)為了直接存儲(chǔ)器存取(DMA)用途而鎖定的物理存儲(chǔ)器進(jìn)行很容易地遷移,這是由于這需要在有關(guān)的物理存儲(chǔ)器區(qū)域可以退出使用之前與設(shè)備進(jìn)行通信。本申請(qǐng)描述了允許對(duì)存儲(chǔ)在為了 DMA用途所鎖定的物理存儲(chǔ)器之中的數(shù)據(jù)進(jìn)行遷移的技術(shù)。在一個(gè)實(shí)施例中,將輸入/輸出存儲(chǔ)器管理單元(IOMMIU)連同操作系統(tǒng)(OS)和/或虛擬機(jī)器管理器(VMM)支持一起使用,以便提供對(duì)存儲(chǔ)在為了 DMA用途所鎖定的物理存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行的遷移。
[0009]當(dāng)前技術(shù)并不支持DMA頁(yè)的遷移。允許存儲(chǔ)器移除的大多數(shù)操作系統(tǒng)將DMA頁(yè)共置在單個(gè)節(jié)點(diǎn)中,并且期望該存儲(chǔ)器具有足夠的冗余,以便具有更大的彈性。將所有的存儲(chǔ)器強(qiáng)制到單個(gè)節(jié)點(diǎn),會(huì)增加通往存儲(chǔ)器的路徑,并增加時(shí)延,包括由于NUMA特性而引起的帶寬問(wèn)題。
[0010]例如,本申請(qǐng)所描述的技術(shù)可以用于將來(lái)自有故障DMM的物理頁(yè)重新安置到另一個(gè)DIMM??梢詫?duì)IOMMU頁(yè)表進(jìn)行重新編程或修改,使得后續(xù)的DMA轉(zhuǎn)換使用新的頁(yè)。這可以準(zhǔn)許從有故障的(或者不期望的)物理存儲(chǔ)器中移除舊的頁(yè)。
[0011]圖1是可以接收要通過(guò)直接存儲(chǔ)器存取(DMA)機(jī)制傳送到存儲(chǔ)器的數(shù)據(jù)的系統(tǒng)的一個(gè)實(shí)施例的概念圖,其中DMA機(jī)制支持如本申請(qǐng)所描述的數(shù)據(jù)遷移。圖1的系統(tǒng)可以是任何類型的電子系統(tǒng)。下面提供電子系統(tǒng)的進(jìn)一步細(xì)節(jié)。
[0012]可以將主機(jī)電子系統(tǒng)概念性地至少劃分成用戶空間110和內(nèi)核空間120。用戶空間110可以指代用于應(yīng)用程序和其它面向用戶的操作的資源,例如存儲(chǔ)單元。內(nèi)核空間120可以指代用于操作系統(tǒng)和其它系統(tǒng)功能目的的資源。
[0013]內(nèi)核130位于內(nèi)核空間120中。內(nèi)核130是在圖1的電子系統(tǒng)上運(yùn)行的操作系統(tǒng)的中心組件。在一個(gè)實(shí)施例中,I/O存儲(chǔ)器管理單元(IOMMU)驅(qū)動(dòng)器135與內(nèi)核130進(jìn)行交互,以便向主機(jī)系統(tǒng)提供存儲(chǔ)器管理功能。在一個(gè)實(shí)施例中,設(shè)備驅(qū)動(dòng)器140與內(nèi)核130和/或IOMMU驅(qū)動(dòng)器135進(jìn)行交互,以便向一個(gè)或多個(gè)應(yīng)用程序提供低層級(jí)系統(tǒng)服務(wù)。僅僅是為了簡(jiǎn)化的理由,在圖1中只描繪了一個(gè)設(shè)備驅(qū)動(dòng)器,可以支持任意數(shù)量的設(shè)備驅(qū)動(dòng)器。設(shè)備驅(qū)動(dòng)器140可以使用DMA機(jī)制來(lái)訪問(wèn)存儲(chǔ)單元。
[0014]當(dāng)系統(tǒng)在運(yùn)行時(shí),遠(yuǎn)程設(shè)備195可以發(fā)送一請(qǐng)求,該請(qǐng)求導(dǎo)致通過(guò)DMA機(jī)制進(jìn)行存儲(chǔ)器存取。遠(yuǎn)程設(shè)備195可以通過(guò)網(wǎng)絡(luò)190與該系統(tǒng)進(jìn)行通信。網(wǎng)絡(luò)接口 170向主機(jī)系統(tǒng)提供去往網(wǎng)絡(luò)190的接口。網(wǎng)絡(luò)接口 170可以是本領(lǐng)域已知的任何類型的網(wǎng)絡(luò)接口。
[0015]來(lái)自于遠(yuǎn)程設(shè)備的消息被網(wǎng)絡(luò)接口 170接收。在將從網(wǎng)絡(luò)接口 170接收的I/O虛擬地址進(jìn)行轉(zhuǎn)換之后,將這些消息從網(wǎng)絡(luò)接口 170傳遞到10MMU155。存儲(chǔ)器控制器150提供去往10MMU155的接口,后者可以維持成一個(gè)表格或者其它適當(dāng)?shù)慕Y(jié)構(gòu)。10MMU155提供到存儲(chǔ)器系統(tǒng)160中所包括的物理地址的映射。
[0016]存儲(chǔ)器控制器150與IOMMU驅(qū)動(dòng)器135進(jìn)行交互,以便管理包括DMA存儲(chǔ)器存取在內(nèi)的存儲(chǔ)器存取。IOMMU驅(qū)動(dòng)器135和/或設(shè)備驅(qū)動(dòng)器140可以如下文所描述那樣地進(jìn)行工作,以便針對(duì)于DMA機(jī)制,至少管理和控制虛擬地址到物理地址的映射。IOMMU驅(qū)動(dòng)器135和設(shè)備驅(qū)動(dòng)器140也可以提供另外的功能。
[0017]IOMMU驅(qū)動(dòng)器135和存儲(chǔ)器控制器150用于使用10MMU155來(lái)管理存儲(chǔ)器存取。10MMU155提供到物理存儲(chǔ)器系統(tǒng)160中的多個(gè)物理存儲(chǔ)單元的映射。物理存儲(chǔ)器系統(tǒng)160可以包括多個(gè)物理存儲(chǔ)器器件(例如,多個(gè)DIMM)。例如,與存儲(chǔ)單元167相比,存儲(chǔ)單元165可能位于不同的物理存儲(chǔ)器件上。
[0018]在操作期間,IOMMU驅(qū)動(dòng)器135和存儲(chǔ)器控制器150可以如本申請(qǐng)所描述那樣地進(jìn)行工作,以便將數(shù)據(jù)從例如存儲(chǔ)單元165遷移到存儲(chǔ)單元167。在一個(gè)實(shí)施例中,存儲(chǔ)器控制器150或者其它系統(tǒng)組件與物理存儲(chǔ)器系統(tǒng)160相耦合,以便監(jiān)測(cè)與物理存儲(chǔ)器系統(tǒng)160的性能有關(guān)的差錯(cuò)和其它統(tǒng)計(jì)信息。可以使用該信息來(lái)確定應(yīng)當(dāng)何時(shí)在物理存儲(chǔ)器器件之間遷移數(shù)據(jù)。在一個(gè)實(shí)施例中,PFA統(tǒng)計(jì)數(shù)據(jù)可以由操作系統(tǒng)代理進(jìn)行編譯,或者可以在系統(tǒng)B10S/BMC中執(zhí)行,等等。
[0019]圖2是涉及DMA機(jī)制的用于將來(lái)自于一個(gè)物理存儲(chǔ)器地址集的數(shù)據(jù)重新安置到第二物理存儲(chǔ)器地址集的技術(shù)的一個(gè)實(shí)施例的流程圖。參照?qǐng)D2所提供的示例涉及:將頁(yè)從產(chǎn)生過(guò)多的校正錯(cuò)誤的DIMM移到另一個(gè)DIMM。但是,參照?qǐng)D2所描述的技術(shù)也可適用于其它應(yīng)用。[0020]可以針對(duì)物理存儲(chǔ)器模塊的每一個(gè)頁(yè),執(zhí)行參照?qǐng)D2所描述的技術(shù),直到該物理存儲(chǔ)器模塊中的所有數(shù)據(jù)都已經(jīng)被遷移為止。操作系統(tǒng)或者其它系統(tǒng)實(shí)體可以指示該存儲(chǔ)器模塊可以被安全地替換。如果IOMMU使用較大的頁(yè),那么復(fù)制一個(gè)較大的頁(yè)具有時(shí)延暗示,以便在頁(yè)復(fù)制期間保持DMA。在一個(gè)實(shí)施例中,執(zhí)行頁(yè)重新安置的IOMMU驅(qū)動(dòng)器可以在進(jìn)行較大的頁(yè)遷移之前,選擇將該頁(yè)分割成多個(gè)較小(例如,4k字節(jié)、16k字節(jié)、32k字節(jié))的塊,隨后再重組回較大的頁(yè)。
[0021]在一個(gè)實(shí)施例中,IOMMU驅(qū)動(dòng)器或者其它系統(tǒng)組件可以為遷移,分配新的物理頁(yè)210。在一個(gè)實(shí)施例中,與要被遷移的數(shù)據(jù)所處的頁(yè)相比,該新的頁(yè)物理地位于不同的物理存儲(chǔ)器器件上。例如,該遷移可以由操作系統(tǒng)進(jìn)行觸發(fā),或者可以由檢測(cè)到存儲(chǔ)器故障超過(guò)預(yù)先選定的門限的其它實(shí)體進(jìn)行觸發(fā)。再舉一個(gè)例子,操作系統(tǒng)或其它實(shí)體可以觸發(fā)遷移,使得可以將有缺陷的存儲(chǔ)器模塊換成良好的存儲(chǔ)器模塊。
[0022]可以將排隊(duì)無(wú)效提交給事務(wù)隊(duì)列,以便清除未完成的事務(wù),并停止進(jìn)一步的事務(wù)220。在一個(gè)實(shí)施例中,針對(duì)特定的存儲(chǔ)器區(qū)域,執(zhí)行該無(wú)效和清除命令。該無(wú)效和清除允許在轉(zhuǎn)換到新的物理存儲(chǔ)單元之前,使用舊的物理存儲(chǔ)器對(duì)未決的事務(wù)/轉(zhuǎn)換進(jìn)行處理。這防止了數(shù)據(jù)的丟失和/或損壞。
[0023]當(dāng)已經(jīng)清除了該未決隊(duì)列時(shí),將控制轉(zhuǎn)交給IOMMU驅(qū)動(dòng)器230。此時(shí),對(duì)于DMA不存在未決事務(wù),輸入的事務(wù)已被停止和存儲(chǔ),直到重新啟動(dòng)這些事務(wù)為止。
[0024]IOMMU驅(qū)動(dòng)器將存儲(chǔ)在舊物理存儲(chǔ)單元之中的數(shù)據(jù)復(fù)制到新物理存儲(chǔ)單元240。該新物理存儲(chǔ)單元可以位于單個(gè)物理存儲(chǔ)器模塊上,或者可以分布在多個(gè)物理存儲(chǔ)器模塊上。
[0025]IOMMU驅(qū)動(dòng)器或者其它系統(tǒng)實(shí)體對(duì)一個(gè)或多個(gè)轉(zhuǎn)換結(jié)構(gòu)進(jìn)行重新編程250。在一個(gè)實(shí)施例中,對(duì)轉(zhuǎn)換表格的最高級(jí)進(jìn)行重新編程,以指示將使用新的物理地址。在一個(gè)實(shí)施例中,IOMMU驅(qū)動(dòng)器更新與該新頁(yè)相對(duì)應(yīng)的頁(yè)表項(xiàng)(PTE)條目。在多級(jí)表格結(jié)構(gòu)中,只有最后一級(jí)可能是必須更新的。
[0026]可以至少部分地基于在頁(yè)之間傳送數(shù)據(jù)所需要的時(shí)間量,來(lái)確定要使用的頁(yè)大小。頁(yè)越小,所需要的時(shí)間也越少,這使得在進(jìn)行遷移時(shí)具有更低的存儲(chǔ)器時(shí)延。在一個(gè)實(shí)施例中,可以將頁(yè)分段成更小的片段(例如,4k字節(jié))。此外,也可以支持其它片段和/或頁(yè)大小。
[0027]IOMMU驅(qū)動(dòng)器可以提交用于重新啟動(dòng)轉(zhuǎn)換的命令260。此時(shí),新的DMA請(qǐng)求或者轉(zhuǎn)換由新的物理存儲(chǔ)單元進(jìn)行服務(wù)270。舊的物理存儲(chǔ)單元可以退出使用。在一個(gè)實(shí)施例中,在設(shè)備使用地址轉(zhuǎn)換服務(wù)(ATS)的情況下,在繼續(xù)進(jìn)行上面的步驟之前,IOMMU驅(qū)動(dòng)器可以使任何轉(zhuǎn)換無(wú)效。否則,目標(biāo)設(shè)備可鞒具有不會(huì)意識(shí)到該新的物理頁(yè)的狀態(tài)轉(zhuǎn)換。
[0028]一些IOMMU實(shí)現(xiàn)具有在某些條件之下保持針對(duì)給定的頁(yè)的轉(zhuǎn)換的能力,例如,如果現(xiàn)有的轉(zhuǎn)換導(dǎo)致造成頁(yè)行走(page walk)的未命中,則到相同頁(yè)的后續(xù)轉(zhuǎn)換將被阻止,直到完成該未決的頁(yè)行走為止。類似地,當(dāng)例如用于頁(yè)的IOTLB無(wú)效時(shí),本申請(qǐng)所描述的技術(shù)可以保證在完成無(wú)效命令之前,完成任何已轉(zhuǎn)換的請(qǐng)求。
[0029]IOMMU能力提供了對(duì)新請(qǐng)求進(jìn)行拖延的能力,其可以用于支持本申請(qǐng)所描述的技術(shù)。具體而言,當(dāng)操作系統(tǒng)提交一個(gè)無(wú)效命令時(shí),其還可以指定用于暫停而不是立即恢復(fù)的標(biāo)志。稍后,當(dāng)操作系統(tǒng)或其它系統(tǒng)實(shí)體已經(jīng)執(zhí)行了頁(yè)復(fù)制時(shí),其可以提交具有恢復(fù)標(biāo)志的另一個(gè)無(wú)效命令,來(lái)準(zhǔn)許轉(zhuǎn)換繼續(xù)進(jìn)行。
[0030]在一個(gè)實(shí)施例中,本申請(qǐng)所描述的技術(shù)可以實(shí)現(xiàn)短期靜默,并恢復(fù)IOTLB無(wú)效的流,其中當(dāng)在驅(qū)動(dòng)器幫助的情況下使用時(shí),其可以用于存儲(chǔ)器過(guò)量使用的場(chǎng)景。在一個(gè)實(shí)施例中,當(dāng)存儲(chǔ)器過(guò)量使用時(shí),在不設(shè)置PTE的情況下但是通過(guò)清除許可,IOMMU驅(qū)動(dòng)器可以建立頁(yè)表。當(dāng)對(duì)寫進(jìn)行復(fù)制時(shí),可以允許讀,但可以通過(guò)在葉PTE條目中適當(dāng)?shù)厍宄S可,來(lái)阻止寫。
[0031]在一個(gè)實(shí)施例中,當(dāng)嘗試執(zhí)行針對(duì)IO虛擬地址的DMA寫時(shí),IOMMU驅(qū)動(dòng)器可以攔截故障,執(zhí)行頁(yè)鎖定(page pin)或者建立PTE,并提交恢復(fù)命令。如果需要重新安置頁(yè),則可以在更新葉PTE許可并提交恢復(fù)命令之前,執(zhí)行復(fù)制。
[0032]圖3是可以提供如本申請(qǐng)所描述的數(shù)據(jù)遷移的電子系統(tǒng)的一個(gè)實(shí)施例的框圖。圖3中所示的電子系統(tǒng)旨在表示一系列的電子系統(tǒng)(無(wú)論是有線系統(tǒng)還是無(wú)線系統(tǒng)),其包括:例如,桌面型計(jì)算機(jī)系統(tǒng)、膝上型計(jì)算機(jī)系統(tǒng)、蜂窩電話、個(gè)人數(shù)字助理(PDA)(其包括具有蜂窩能力的PDA)、機(jī)頂盒。替代性的電子系統(tǒng)可以包括更多、更少和/或不同的組件。
[0033]在一個(gè)實(shí)施例中,電子系統(tǒng)300是平板設(shè)備或者智能電話設(shè)備。這些設(shè)備可以具有多個(gè)無(wú)線接口(例如,WiFi和/或蜂窩、或者無(wú)線接口的其它組合)。此外,這些設(shè)備可以具有觸摸屏接口或者其它類型的用戶接口,其中這些接口允許用戶在不需要諸如鍵盤、鼠標(biāo)、指示器等等之類的外部組件的情況下與設(shè)備進(jìn)行交互。
[0034]電子系統(tǒng)300包括用于傳輸信息的總線305或者其它通信設(shè)備,以及耦接到總線305的處理器310,其中處理器310可以對(duì)信息進(jìn)行處理。雖然電子系統(tǒng)300被示為具有單個(gè)處理器,但電子系統(tǒng)300可以包括多個(gè)處理器和/或協(xié)處理器。此外,電子系統(tǒng)300還可以包括耦接到總線305的隨機(jī)存取存儲(chǔ)器(RAM)或者其它動(dòng)態(tài)存儲(chǔ)設(shè)備320 (本申請(qǐng)稱為主存儲(chǔ)器),并且可以存儲(chǔ)可以由處理器310執(zhí)行的信息和指令。此外,主存儲(chǔ)器320還可以用于在處理器310執(zhí)行指令期間,存儲(chǔ)臨時(shí)變量或者其它中間信息。
[0035]此外,電子系統(tǒng)300還可以包括耦接到總線305的只讀存儲(chǔ)器(ROM)和/或其它靜態(tài)存儲(chǔ)設(shè)備330,其可以存儲(chǔ)用于處理器310的靜態(tài)信息和指令。數(shù)據(jù)存儲(chǔ)設(shè)備340可以耦接到總線305,以存儲(chǔ)信息和指令。諸如磁盤或光盤之類的數(shù)據(jù)存儲(chǔ)設(shè)備340和相應(yīng)的驅(qū)動(dòng)器可以耦接到電子系統(tǒng)300。
[0036]此外,電子系統(tǒng)300還可以通過(guò)總線305耦接到顯示設(shè)備350 (例如,陰極射線管(CRT)或液晶顯示器(IXD)),以便向用戶顯示信息。字母數(shù)字式輸入設(shè)備360 (其包括字母數(shù)字鍵和其它鍵)可以耦接到總線305,以便向處理器310傳輸信息和命令選擇。另一種類型的用戶輸入設(shè)備是光標(biāo)控制370(例如,鼠標(biāo)、跟蹤球或者光標(biāo)指示鍵),用于向處理器310傳輸方向信息和命令選擇,并控制顯不器350上的光標(biāo)移動(dòng)。
[0037]此外,電子系統(tǒng)300還可以包括網(wǎng)絡(luò)接口 380,以便提供針對(duì)網(wǎng)絡(luò)(例如,局域網(wǎng))的接入。網(wǎng)絡(luò)接口 380可以包括:例如,具有天線385的無(wú)線網(wǎng)絡(luò)接口,其中天線385可以表示一付或多付天線。此外,網(wǎng)絡(luò)接口 380還可以包括:例如,用于通過(guò)網(wǎng)絡(luò)電纜387與遠(yuǎn)程設(shè)備進(jìn)行通信的有線網(wǎng)絡(luò)接口,例如,該網(wǎng)絡(luò)電纜387可以是以太網(wǎng)電纜、同軸電纜、光纖光纜、串行電纜或者并行電纜。
[0038]在一個(gè)實(shí)施例中,例如,網(wǎng)絡(luò)接口 380可以通過(guò)遵循IEEE802.1lb和/或IEEE802.1lg標(biāo)準(zhǔn)來(lái)提供針對(duì)局域網(wǎng)的接入,和/或無(wú)線網(wǎng)絡(luò)接口可以例如通過(guò)遵循藍(lán)牙標(biāo)準(zhǔn)來(lái)提供針對(duì)個(gè)域網(wǎng)的接入。還可以支持其它無(wú)線網(wǎng)絡(luò)接口和/或協(xié)議。
[0039]IEEE802.1lb 與 1999 年 9 月 16 日批準(zhǔn)的、題目為“Local and Metropolitan AreaNetworks, Partll:ffireless LAN Medium Access Control(MAC)and Physical Layer(PHY)Specifications:Higher-Speed Physical Layer Extension in the2.4GHz Band,,的 IEEE標(biāo)準(zhǔn)802.llb-1999以及有關(guān)的文檔相對(duì)應(yīng)。IEEE802.1lg與2003年6月27日批準(zhǔn)的、題目為 “Local and Metropolitan Area Networks, Partll:ffireless LAN Medium AccessControl (MAC)and Physical Layer (PHY)Specifications, Amendment4:Further HigherRate Extension in the2.4GHz Band” 的 IEEE 標(biāo)準(zhǔn) 802.llg-2003 以及有關(guān)的文檔相對(duì)應(yīng)。在藍(lán)牙技術(shù)聯(lián)盟、公司于2001年2月22日公布的“Specification of the BluetoothSystem:Core, Versionl.1”中,描述了藍(lán)牙協(xié)議。此外,還可以支持相關(guān)協(xié)議以及該藍(lán)牙標(biāo)準(zhǔn)的前一版本或者后續(xù)版本。
[0040]除了或替代通過(guò)無(wú)線LAN標(biāo)準(zhǔn)的通信,網(wǎng)絡(luò)接口 380還可以使用例如時(shí)分多址(TDMA)協(xié)議、全球移動(dòng)通信系統(tǒng)(GSM)協(xié)議、碼分多址(CDMA)協(xié)議和/或任何其它類型的無(wú)線通信協(xié)議來(lái)提供無(wú)線通信。
[0041]說(shuō)明書中對(duì)于“一個(gè)實(shí)施例”或“實(shí)施例”的提及是指結(jié)合該實(shí)施例描述的具體特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。在本說(shuō)明書的各個(gè)地方出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”未必都是表不相同的實(shí)施例。
[0042]雖然通過(guò)一些實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,本發(fā)明并不限于所描述的實(shí)施例,而是在所附權(quán)利要求書的精神和范圍內(nèi),可以用修改和改變來(lái)實(shí)施。因此應(yīng)將所描述內(nèi)容視作為示例性的,而非限制性的。
【權(quán)利要求】
1.一種用于將來(lái)自第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)遷移到第二范圍的物理存儲(chǔ)單元的方法,包括: 分配所述第二范圍的物理存儲(chǔ)單元,以用于來(lái)自所述第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)的遷移; 清除針對(duì)所述第一范圍的物理存儲(chǔ)單元的未決事務(wù); 對(duì)一個(gè)或多個(gè)地址轉(zhuǎn)換條目進(jìn)行重新編程; 將來(lái)自所述第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)遷移到所述第二范圍的物理存儲(chǔ)單元;以及 對(duì)后續(xù)的存儲(chǔ)器事務(wù)進(jìn)行處理,以使所述事務(wù)被定向到所述第二范圍的物理存儲(chǔ)單J Li ο
2.根據(jù)權(quán)利要求1所述的方法,其中,所述第一范圍的物理存儲(chǔ)單元位于第一物理存儲(chǔ)器器件上,并且所述第二范圍的物理存儲(chǔ)單元位于第二物理存儲(chǔ)器器件上。
3.根據(jù)權(quán)利要求1所述的方法,還包括: 監(jiān)測(cè)至少所述第一范圍的物理存儲(chǔ)單元的一個(gè)或多個(gè)差錯(cuò)率;以及響應(yīng)于所述一個(gè)或多個(gè)差錯(cuò)率中的至少一個(gè)滿足或者超過(guò)相應(yīng)的門限值,發(fā)起所述數(shù)據(jù)的遷移。
4.根據(jù)權(quán)利要求1所述的方法,其中,對(duì)一個(gè)或多個(gè)地址轉(zhuǎn)換條目進(jìn)行重新編程包括:對(duì)多級(jí)轉(zhuǎn)換結(jié)構(gòu)中的最后一級(jí)條目進(jìn)行重新編程。
5.根據(jù)權(quán)利要求1所述的方法,其中,對(duì)所述第一范圍的物理存儲(chǔ)單元進(jìn)行的存儲(chǔ)器存取是通過(guò)直接存儲(chǔ)器存取(DMA)機(jī)制提供的。
6.根據(jù)權(quán)利要求5所述的方法,其中,對(duì)所述第二范圍的物理存儲(chǔ)單元進(jìn)行的存儲(chǔ)器存取是通過(guò)所述直接存儲(chǔ)器存取(DMA)機(jī)制提供的。
7.一種系統(tǒng),包括: 用于存儲(chǔ)數(shù)據(jù)的物理存儲(chǔ)器系統(tǒng); 與所述物理存儲(chǔ)器系統(tǒng)相耦合的存儲(chǔ)器控制器,所述存儲(chǔ)器控制器有權(quán)訪問(wèn)用于存儲(chǔ)虛擬地址和物理地址之間的映射的信息的一個(gè)或多個(gè)結(jié)構(gòu),所述物理存儲(chǔ)器系統(tǒng)至少包括第一范圍的物理存儲(chǔ)單元和第二范圍的物理存儲(chǔ)單元; 與所述存儲(chǔ)器控制器相耦合的輸入/輸出存儲(chǔ)器管理單元(IOMMU),所述IOMMU使得所述第二范圍的物理存儲(chǔ)單元被分配以用于來(lái)自所述第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)的遷移,使得清除針對(duì)所述第一范圍的物理存儲(chǔ)單元的未決事務(wù),使得對(duì)一個(gè)或多個(gè)地址轉(zhuǎn)換條目進(jìn)行重新編程,使得將來(lái)自所述第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)遷移到所述第二范圍的物理存儲(chǔ)單元,以及使得對(duì)后續(xù)的存儲(chǔ)器事務(wù)進(jìn)行處理以使所述事務(wù)被定向到所述第二范圍的物理存儲(chǔ)單元。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中,所述第一范圍的物理存儲(chǔ)單元位于第一物理存儲(chǔ)器器件上,并且所述第二范圍的物理存儲(chǔ)單元位于第二物理存儲(chǔ)器器件上。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其中,所述IOMMU還使得:
監(jiān)測(cè)至少所述第一范圍的物理存儲(chǔ)單元的一個(gè)或多個(gè)差錯(cuò)率;以及 響應(yīng)于所述一個(gè)或多個(gè)差錯(cuò)率中的至少一個(gè)滿足或者超過(guò)相應(yīng)的門限值,發(fā)起所述數(shù)據(jù)的遷移。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其中,對(duì)一個(gè)或多個(gè)地址轉(zhuǎn)換條目進(jìn)行重新編程包括:對(duì)多級(jí)轉(zhuǎn)換結(jié)構(gòu)中的最后一級(jí)條目進(jìn)行重新編程。
11.根據(jù)權(quán)利要求7所述的方法,其中,對(duì)所述第一范圍的物理存儲(chǔ)單元進(jìn)行的存儲(chǔ)器存取是通過(guò)直接存儲(chǔ)器存取(DMA)機(jī)制提供的。
12.根據(jù)權(quán)利要求11所述的方法,其中,對(duì)所述第二范圍的物理存儲(chǔ)單元進(jìn)行的存儲(chǔ)器存取是通過(guò)所述直接存儲(chǔ)器存取(DMA)機(jī)制提供的。
13.一種用于將來(lái)自第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)遷移到第二范圍的物理存儲(chǔ)單元的裝置,包括: 用于分配所述第二范圍的物理存儲(chǔ)單元,以用于來(lái)自所述第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)的遷移的模塊; 用于清除針對(duì)所述第一范圍的物理存儲(chǔ)單元的未決事務(wù)的模塊; 用于對(duì)一個(gè)或多個(gè)地址轉(zhuǎn)換條目進(jìn)行重新編程的模塊; 用于將來(lái)自所述第一范圍的物理存儲(chǔ)單元的數(shù)據(jù)遷移到所述第二范圍的物理存儲(chǔ)單元的模塊;以及 用于對(duì)后續(xù)的存儲(chǔ)器事務(wù)進(jìn)行處理,以使所述事務(wù)被定向到所述第二范圍的物理存儲(chǔ)單元的模塊。
14.根據(jù)權(quán)利要求13所述的裝置,其中,所述第一范圍的物理存儲(chǔ)單元位于第一物理存儲(chǔ)器器件上,并且所述第二范圍的物理存儲(chǔ)單元位于第二物理存儲(chǔ)器器件上。
15.根據(jù)權(quán)利要求13所述的裝置,`還包括: 用于監(jiān)測(cè)至少所述第一范圍的物理存儲(chǔ)單元的一個(gè)或多個(gè)差錯(cuò)率的模塊;以及 用于響應(yīng)于所述一個(gè)或多個(gè)差錯(cuò)率中的至少一個(gè)滿足或者超過(guò)相應(yīng)的門限值,發(fā)起所述數(shù)據(jù)的遷移的模塊。
【文檔編號(hào)】G06F13/16GK103502954SQ201280016387
【公開日】2014年1月8日 申請(qǐng)日期:2012年2月9日 優(yōu)先權(quán)日:2011年3月31日
【發(fā)明者】A·拉伊, R·M·??ㄌm 申請(qǐng)人:英特爾公司