新四季網

包括用於i/o和計算卸載的多層次地址轉換的i/o存儲器管理單元的製作方法

2023-05-21 05:09:16


專利名稱::包括用於i/o和計算卸載的多層次地址轉換的i/o存儲器管理單元的製作方法
技術領域:
:本發明涉及計算機系統領域,更特別地,涉及用於輸入/輸出(I/O)設備的存儲器管理單元。
背景技術:
:在現代社會中,各種類型的計算機系統是普遍存在的,包括個人計算機(PC)、工作站、伺服器、各種個人數字助理(PDA)設備等。大多數的計算機系統,如果不是所有的話,已經實現了用於處理器訪問存儲器的存儲器管理功能。一般來說,存儲器管理功能包括從每個進程使用的虛擬地址空間到跨越真實系統存儲器的物理地址空間的地址轉換以及包括各種存儲器保護(如只讀、讀/寫、權限層次要求等)。存儲器管理功能具有多種用途保護每一個過程所使用的存儲器不被其它進程進行未經授權的訪問;即使物理存儲器系統沒有那麼大也允許過程使用大的虛擬空間;沒有進程參與而將虛擬地址再定位到可用的物理存儲器;等等。雖然經常轉換處理器地址,在計算機系統中的輸入/輸出(I/O)設備使用的地址一般不會轉換。也就是說,I/O設備使用物理地址來訪問存儲器。在諸如大多數PC之類單作業系統(OS)的計算機系統中,作業系統控制其它進程(應用程式和作業系統服務)對I/O設備的訪問。因此,作業系統可控制哪一進程在任何給定時間點訪問設備,可至少在某種程度上控制設備訪問的地址。然而,在可能有在一個虛擬機監視器上運行的多個客機作業系統的虛擬機系統中,這樣的機制變得更加複雜和繁瑣。此外,由於遊閒設備(或由惡意軟體工具編程的設備)可訪問暢通的存儲器,物理地址的設備使用降低了系統的整體安全性。在一個虛擬化的系統中,很多應用程式可能在虛擬存儲器上運行,而I/O設備則訪問物理存儲器。在某些系統中,虛擬機管理器可攔截和轉換I/O設備將使用的地址。但是,這種方法可能會繁瑣且指令密集,導致系統性能退化,或至少減少了使用諸如計算卸載引擎之類I/O設備得到的任何好處。
發明內容公開了包括多級地址轉換的IOMMU的各種實施方式。在一種實施方式中,IOMMU配置為控制由I/O設備向系統存儲器的請求。IOMMU包括控制邏輯,可執行兩個層次的客機轉換以使用存儲在系統存儲器中的轉換數據轉換與I/O設備生成的請求相關聯的地址。轉換數據可包括有多個條目的設備表。用於給定請求的設備表條目可通過使用與生成所述請求的I/O設備對應的設備標識符的控制邏輯來選擇。所述轉換數據還可包括包括成組的客機頁表和成組的嵌套頁表的第一成組的I/O頁表。所述客機頁表條目可包括例如與控制寄存器CR3的條目類似的條目。為所述給定請求的所述選擇的設備表條目可包括到(to)所述成組的客機轉換表的指針,最後客機轉換表包括到所述成組的嵌套頁表的指針。IOMMU還可6包括可配置為存儲可用於將來的請求的已完成的轉換的高速緩存存儲器。在一種具體的實施方式中,所述轉換數據也可包括包括成組的主機轉換頁表的第二成組的I/O頁表。如果I/O請求包括進程標識符,所述控制邏輯可使用所述第一成組的I/O頁表執行所述兩個層次的轉換,如果I/O請求不包括進程標識符,就使用所述第二成組的I/O頁表執行一個層次的轉換。圖1是計算機系統的一種實施方式的高層次視圖的框圖。圖2是計算機系統的另一種實施方式的框圖。圖3是說明了圖1的成組的I/O轉換表的一種實施方式的圖。圖4是用於圖3中的設備表的設備表條目的一種實施方式的圖。圖5是說明了所述客機虛擬地址轉換機制的更詳細方面的圖。圖6是說明圖1至圖5的計算機系統的實施方式的操作的流程圖。雖然本發明可進行各種修改和採用替代的形式,但在附圖中以示例的方式示出了其具體的實施方式,在這裡將詳細介紹。但應認識到,附圖及其詳細說明不是為了將本發明限制為所公開的具體形式,與此相反,本發明包括落在由所附權利要求書定義的精神和範圍內的所有的修改、等同和替代物。要說明的是,在本申請全篇中是在寬容的意義上(即,有潛力、能夠)使用「可」字,而不是在強制性的意義上(即必須)。具體實施例方式關於圖1,圖1是示出了計算機系統10的一種實施方式的簡化的和高層次視圖的框圖。在所示實施方式中,系統10包括一個或多個處理器12,包括一個或多個轉換後備緩衝器(TLB)16的存儲器管理單元14,存儲器控制器(MC)18,存儲器20,可包括一個或多個I/OTLB(IOTLB)24的一個或多個I/O設備22,和可包括表輔助工具(tablewalker)28、高速緩存30、控制寄存器32和控制邏輯34的I/OMMU(IOMMU)26。處理器12聯接到與存儲器控制器18聯接的MMU14。I/O設備22聯接到與存儲器控制器18聯接的IOMMU26。在IOMMU26內,表輔助器觀、高速緩存30、控制寄存器32和控制單元34聯接在一起。正如下面要進一步說明的,IOMMU26可包括各種特徵來簡化系統10中的虛擬化。下面的說明將參照管理虛擬機(調度其在底層硬體上的執行)和控制訪問各種系統資源等的虛擬機監視器(VMM)。說明的是,虛擬機監視器有時也稱作管理程序(hypervisor)。在所示的實施方式中,處理器12是在虛擬環境中執行的軟體。相應地,示出了三個虛擬機100A、100B、100C(例如,VM客機1-3)和VMM106。在一種給定的實施方式中的虛擬機的數量可能會有不同,在用戶啟動和停止虛擬機時的使用過程中可能動態改變。在所示的實施方式中,虛擬機100A包括一個或多個客機應用程式102和客機作業系統(0104。OS104被稱為「客機」作業系統,因為作業系統104控制由VMM106為它創建的虛擬機,而不是物理硬體系統10。類似地,VM100B和VM100C也可每一個包括一個或多個客機應用程式和客機作業系統。一般來說,在虛擬機中的應用程式使用客機虛擬地址空間和因此使用客機虛擬地址(GVA)。在每一個虛擬機中的客機作業系統可管理在虛擬機中的從GVA到客機「物理」地址(GPA)的映射。如果客機作業系統直接運行在系統10硬體上、沒有VMM,由所述客機作業系統生成的物理地址將確實是系統10的存儲器位置的系統物理地址(SPA)。然而,在虛擬機環境中,VMM106可管理從GPA到SPA的映射。因此,當處理器12執行存儲器請求時,客機作業系統104可管理從GVA到GPA的映射(這可進一步由VMM106映射到SPA)。如圖1所示,從I/O設備22到存儲器20的路徑至少部分地與從處理器12到存儲器20的路徑分離。具體地說,從I/O設備22到存儲器20的路徑不通過MMU14,而是通過IOMMU26。相應地,MMU14對來自I/O設備22的存儲器請求不會提供存儲器管理。一般來說,存儲器管理可包括從一種類型的虛擬地址(即,可為軟體使用的地址)到物理地址(即可由存儲器控制器使用的地址)的地址轉換和存儲器保護。存儲器保護可控制在某一粒度層次(例如頁)的對存儲器的讀和/或寫訪問以及諸如特權層次要求、高速緩存性、高速緩存控制(如寫通過或寫回)和一致性等之類各種其它各種屬性。任何成組的存儲器保護可以各種實施方式實施。在一些實施方式中,由IOMMU沈實施的存儲器保護至少在某些方面與由MMU14實施的存儲器保護會有所不同。在一種實施方式中,由IOMMU沈實施的存儲器保護可定義為使存儲IOMMU沈所使用的轉換數據的轉換表和存儲MMU14所使用的轉換數據的轉換表可以共享(雖然為便於討論在圖1中是分離示出的)。根據需要,其它實施方式可不在IOMMU26和MMU14之間共享轉換表。一般來說,I/O設備22可配置為發出諸如存儲器讀取和寫入請求之類存儲器請求以訪問存儲器20中的存儲器位置,在某些情況下,可配置為發出轉換請求。存儲器請求可以是例如直接存儲器存取(DMA)讀或寫操作的一部分。DMA操作可以由直接或間接地編程I/O設備22以執行DMA操作的處理器12執行的軟體啟動。根據在處理器上執行的軟體所運行的地址空間,可提供地址對應於訪問存儲器20的地址空間的I/O設備22。例如,在處理器12上執行的客機應用程式(例如,應用程式10可提供帶有GVA的I/O設備22,而在處理器12(例如,作業系統104)上執行的客機作業系統可提供GPA22給I/O設備22。在任一情況下,當I/O設備22請求存儲器訪問時,可由IOMMU沈將客機地址轉換到相應的系統物理地址(SPA)以訪問存儲器,所述系統物理地址可提供給存儲器控制器18來訪問。也就是說,IOMMU沈可修改源自I/O設備22的存儲器請求來將在所述請求中的所述接收地址改變(即轉換)為SPA,所述存儲器請求可轉發給所述存儲器控制器18以訪問存儲器20。在各種實施方式中,IOMMU沈可根據從I/O設備接收到的地址類型,提供一個層次的轉換、兩個層次的轉換或沒有轉換。更特別的是,IOMMU沈可執行提供一個層次的嵌套轉換或兩個層次的客機轉換。就是說,IOMMU26可提供GPA至SPA轉換(一個層次)和提供GVA至SPA轉換(兩個層次)。因此,如上所述,在請求存儲器訪問時,客機申請可直接提供GVA地址到I/O設備,從而使傳統的VMM攔截和轉換成為不必要。這一功能可允許諸如計算卸載、用戶級I/O和加速I/O設備之類先進的計算架構更加無縫地用於虛擬化系統。要說明的是,雖然說明了一個層次、兩個層次或沒有轉換,但設想的是在其它實施方式中,可以使用額外的地址空間。在這樣的實施方式中,額外的轉換層次(即,多層次轉換)可由IOMMU26執行,以容納額外的地址空間。IOMMU26可使用諸如存儲在存儲器20中的一組或多組I/O轉換表36之類一些數據結構來轉換存儲器地址和來自I/O設備22的轉換請求。一般來說,轉換表可以是可用於將地址從一種類型轉換到另一種類型的轉換數據的表。轉換表可以用任何形式存儲轉換數8據。例如,在一種實施方式中,I/O轉換表36可包括與在X86和AMD64指令集結構中定義的那些頁表類似的頁表。根據所述轉換層次,客機虛擬地址位或客機物理地址的各個子集可用於索引所述表的層次,每一個層次可以是轉換結束(即,為轉換存儲真實的頁碼),或可以是指向另一個表(由另一組地址位索引)。頁可以是轉換單位(即,在所述虛擬頁中的每一個地址轉換到相同的物理頁)。頁可以有不同的大小,從4千字節到數兆字節甚至數千兆字節。此外,I/O轉換表36可包括將I/O設備映射到頁表集(例如,通過設備標識符)的設備表(如圖3所示)。設備識別碼(ID)可以多種方式定義,可取決於連接設備的外圍設備互連。例如,外圍組件互連(PCI)設備可用總線號、設備號和功能號(BDF)形成設備ID。HyperTransport(HT)設備可使用總線號和單元編號形成設備ID。如下面要進一步說明的那樣,設備表可包括多個由設備ID索引的條目,每一個條目可包括到由有相應的設備ID的設備所使用的成組的頁表的指針。此外,在I/O設備直接分配到進程或在I/O設備可作為用戶進程在同一地址空間中運行計算的情況下,識別所述進程地址空間並將其提供給I0MMU26以加強存儲器隔離保護。在一些實施方式中,設備表可進一步包括到中斷再映射表(如圖3所示)的指針,以重新映射所述設備的中斷。因此,在一般情況下,從客機虛擬地址或客機物理地址到系統物理地址的轉換可存儲在一個或多個轉換表中的一個或多個條目中,所述條目中的一些可以與其它轉換共享。從一個條目到一個條目的遍歷或「走遍」表可以是識別所述虛擬地址的所述轉換的一部分。在一種實施方式中,轉換表36可包括上面提及的中斷再映射表。具體地說,圖1的IOMMU26可包括表輔助工具28以為給定的存儲器請求的轉換搜索I/O轉換表36。表輔助工具觀可生成例如讀存儲器請求之類的存儲器請求來從所述轉換表36讀轉換數據。轉換表讀取在圖1中由虛線箭頭38和40所示。為了便於更快速的轉換,IOMMU沈可高速緩存一些轉換數據。例如,高速緩存30可以是與高速緩存以前轉換的結果的TLB相類似的高速緩存形式,將客機虛擬頁編號和客機物理頁編號映射到系統物理頁編號和相應的轉換數據。如果對給定的存儲器請求的轉換沒有在高速緩存30中發現,表輔助工具觀就被調用。在各種實施方式中,表輔助工具觀可以用硬體或微控制器或其它處理器和相應的可執行代碼(例如,在IOMMU沈中的只讀存儲器(ROM)裡)實現。此外,可包括作為高速緩存30的一部分的其它高速緩存來高速緩存頁表或其一部分和/或設備表或其部分。相應地,10匪似6可包括一個或多個存儲器來存儲從存儲在存儲器20中的轉換數據讀取或派生的轉換數據。控制邏輯34可配置為訪問高速緩存30來為給定的存儲器請求檢測轉換命中/錯過並可調用表輔助工具觀。控制邏輯34也可配置為修改從具有轉換地址的I/O設備來的存儲器請求,並向上遊向存儲器控制器18轉發請求。此外,控制邏輯34可控制編程在控制寄存器32中的、IOMMU沈中的各種功能。例如,在此實施方式中,控制寄存器32可以定義一個存儲器區域為指令隊列42,以使存儲器管理軟體向IOMMU沈傳達控制指令。控制邏輯34可配置為從指令隊列42讀取控制指令並執行控制指令。類似地,控制寄存器32可定義另一個存儲器區域為事件日誌緩衝區44。控制邏輯34可檢測到各種事件,並將它們寫入事件日誌緩衝區44。這些事件可包括控制邏輯34檢測到的與IOMMU沈的轉換和/或其它功能有關的各種錯誤。控制邏輯34也可實現IOMMU沈的其它功能。I/O設備22可包括在計算機系統10和其它設備之間通信的任何設備,為計算機系統10提供人的界面、提供存儲(例如,磁碟驅動器、光碟(CD)或數字視頻光碟(DVD)驅動器、固態存儲等)和/或為計算機系統10提供增強功能。例如,I/O設備22可包括網絡接口卡、集成網絡接口功能、數據機、視頻加速器、音卡或集成音頻硬體、硬碟或軟盤驅動器或驅動控制器、接口到諸如鍵盤、滑鼠和平板等之類用戶輸入設備的硬體、用於視頻顯示器的視頻控制器、印表機接口硬體、到諸如PCI、PCIExpress(PCI)、PCIX、USB、火線、SCSI(小型計算機系統接口)等之類一個或多個外設接口的橋、音效卡和諸如GPIB或現場總線接口卡之類多種數據採集卡等中的一個或多個。術語「外圍設備」也可用來形容一些I/O設備。在某些情況下,一個或多個I/O設備22可包括諸如IOTLB24和/或MMU(例如,圖2的私有MMU23D)之類I0TLB。這些IOTLB可被稱為「遠程I0TLB」,因為它們是在IOMMU沈的外部。在這樣的情況下,已被轉換的地址可以以某種方式標誌,以使IOMMU沈不試圖再次轉換存儲器請求。在一種實施方式中,轉換的地址可簡單標記為「預轉換」。存儲器控制器18可包括設計為在存儲器20和系統10的其它部分之間接口的任何電路。存儲器20可包括諸如一個或多個RAMBUSDRAM(RDRAM)、同步DRAM(SDRAM)、DDRSDRAM、靜態RAM等任何半導體存儲器。存儲器20可分布在系統中,從而可以是多存儲器控制器18。MMU14可包括用於源自處理器12的存儲器請求的存儲器管理單元。MMU可包括TLB16以及表輔助功能。當轉換是由MMU14執行時,MMU14可向CPU轉換表50生成轉換存儲器請求(如圖1中的虛線箭頭46和48所示)。CPU轉換表50可存儲在由處理器12實施的指令集架構中定義的轉換數據。處理器12可包括執行任何所需的指令集架構的任何處理器硬體。在一種實施方式中,處理器12執行x86架構,特別是AMD64架構。各種實施方式可以是超級流水線和/或超標量體系結構。包括一個以上的處理器12的實施方式可以離散地實施,或作為晶片多處理器(CMP)和/或晶片多線程(CMT)實施。系統10說明了系統的高層次功能,實際的物理實現可以採取多種形式。例如,MMU14通常集成到每一個處理器12中。雖然所示的是存儲器20,但在一些實施方式中,存儲器系統可以是分布式存儲器系統,其中所述存儲器地址空間被映射到多個在物理上分離的、與在物理上分離的存儲器控制器聯接的存儲器。IOMMU沈可放置在沿I/O來源的存儲器請求和存儲器20之間的路徑的任何地方,可以有一個以上的I0MMU。另外,IOMMU可位於所述系統的不同部分的不同點上。圖2是在處理器節點和I/O設備之間的處理器節點和HTI/O連結(例如,70A和70B)之間使用HyperTransp0rtTM(HT)相干連結61的系統的一種實施方式的一個例子。更特別地,在一種實施方式中,可在I/O集線器和與其它外圍設備互連橋接的I/O設備之間使用HTI/O連結(例如,71A)。此外,其它任何的相干連結可在處理器節點和I/O設備之間使用和/或任何其它I/O連結可在處理器節點和I/O設備之間使用。例如,在各種實施方式中,I/O連結71B、71C和71D可以是PCI連結。此外,另一例可包括在傳統的PC設計中的聯接到北橋的處理器,其中北橋進一步聯接到存儲器和一個或多個I/O互聯。關於圖2所示的實施方式,系統IOa包括處理節點60A-60B,處理節點60A-60B分別包括進一步包括MMU14A-14B的處理器12A-12B。處理器節點60A-60B還包括存儲器控制器18A-18B。處理器12A-12B的每一個可如上所述為處理器12的一個實例。類似地,MMU14A-14B和存儲器控制器18A-18B的每一個可以是圖1所示的MMU14和存儲器控制器18的實例。在所示的實施方式中,MMU功能被納入處理器中。系統IOa包括包括存儲器20A-20B的分布式存儲系統。所述系統物理地址空間可以分布在存儲器20A-20B上。相應地,指定給定地址的給定存儲器請求被路由到與存儲器20A或20B聯接的存儲器控制器18A或18B,該指定地址被分配給該存儲器20A或20B。從I/O設備(例如I/O設備22A-22D,其圖2所示與I/O集線器62A-62B聯接)來的存儲器請求可不採取相同的路逕到達將服務請求的存儲器控制器18A-18B。例如,I/0設備22A-22B可傳輸請求至I/O集線器62A,I/O集線器62A傳輸存儲器請求至處理節點60A。如果將給定的存儲器請求的地址分配給存儲器20B,則處理節點60A可傳送給定的存儲器請求給處理節點60B,使得存儲器控制器18B可接收並處理該請求。I/O設備22C-22D可傳輸存儲器請求給I/O集線器62B,I/O集線器62B可發送該請求至處理節點60B。如果一個給定的存儲器請求的地址是被分配給存儲器20A,則處理節點60B可將所述給定的存儲器請求傳遞給處理節點60A。IOMMU可以放在沿在I/O來源的存儲器請求和存儲器20之間的路徑的任何地方。在所示的實施方式中,IOMMU26A-26B是包括在I/O集線器62A-62B中。因此,由與相應的集線器聯接的源自I/O設備的任何存儲器請求可由在I/O集線器中的IOMMU轉換。其它實施方式可以將IOMMU放在從I/O設備內的IOTLB到處理節點60A-60B中的I0MMU,甚至是位於存儲器控制器18A-18B的IOMMU的不同的地方。進一步地,IOMMU可位於系統的不同部分的不同點。例如,在一些實施方式中,如圖所示,I/O設備可為可包括本地存儲器MD的設備。相應地,I/O設備22D還包括本地/私有MMU23D。關於圖3,示出了I/O轉換表36的一種實施方式的圖。具體地說,I/O轉換表36可包括設備表36A、中斷再映射表36B和兩組I/O頁表(例如,36C和36D)。圖3也示出了控制寄存器32中的一個(控制寄存器32A)。所述控制寄存器32A可存儲設備表36A的基地址。設備表36A包括由分配給所述設備的設備ID索引的多個條目。因此,給定的設備對應於設備表36A中的條目中的一個(除非所述設備有多個設備ID,或者除非所述設備的流量與其它在橋接設備處聚集並且所述設備的流量是以所述橋的設備ID傳送)。設備表條目可包括各種數據。圖4示出了一個典範的設備表條目325的一部分,在下面更詳細地進行說明。一個給定的設備表條目325可包括到I/O頁表36C和36D的指針(由箭頭301和302表示)。所述指針可指向是用於在I/O頁表36C或36D中進行轉換搜索的出發點的頁表。如圖所示,初始頁表可包括到其它頁表的指針,如上所述,是分層方式。如下面進一步說明的那樣,根據所實施的轉換過程,一些表可由進程標識符索引,而其它表可使用所述客機虛擬地址的或要轉換的客機物理地址的各個位索引。設備表條目325也可包括到中斷再映射表36B(由箭頭304表示)的指針。在設備傳輸中斷請求時,可使用再映射數據,並可由中斷ID索引。中斷ID可包括識別所述請求的中斷的數據,可根據用來傳輸中斷請求的機制而不同。11說明的是,雖然示出了一個設備表36A,但如果需要,可保持多個設備表。在控制寄存器32A中的設備表基地址可能會改變為指向其它設備表。此外,如果需要的話,設備表可為分層的,類似於上面說明的頁表。類似地,雖然示出的是一個中斷再映射表36B,但可有多個中斷映射表,例如在設備表36A中直至每一個條目有一個中斷映射表。也可有多組頁表,例如在設備表36A中直至每一個條目有一組頁表。說明的是,雖然彼此獨立,但其它的實施方式可以不中斷再映射功能而實現I/O轉換功能。在圖示的實施方式中,I/O轉換表36C和36D可以支持一個層次的客機轉換和兩個層次的客機轉換的各種組合。如虛線所示,當轉換是客機(即,兩個層次的)轉換(由虛線表示)時,就遵循以箭頭301開始的路徑。然而,當客機轉換是無效時,就只是遵循以箭頭302開始的實線路徑。更特別地,當從一個I/O設備接收到存儲器訪問請求或包括GVA的轉換請求時,訪問與所述請求的設備ID對應的設備表條目。如下面結合圖5的說明更詳細地說明的那樣,使用到GCR3表307的基址的SPA指針(例如,301),可以使用進程ID(例如,PASID)索引到GCR3表307。在GCR3表307內的條目可包括到GCR3頁表311的基的GPA指針。然而,這一GPA和所述表中的所有後續GPA指針可以例如使用轉換邏輯和諸如表333和335之類成組的頁表而轉換為SPA,以訪問存儲器中的下一個頁表。這一轉換機制在圖3中以GPA/SPA轉換單元309A、309B、309C和309D表示。所述請求的GVA的一些位數可用於到GCR3頁表311的索引。在一種實施方式中,在311中的相應的條目可包括到頁映射四級(PML4)頁表313的基的GPA指針。在每一個嵌套頁表中的後續地址也可為指向下一表的基地址的GPA,或者在是最後一個表的情況下(如315),該條目可包括到物理存儲器頁的GPA指針。這些表(例如,313,315)中的每一個也可由I/O請求的GVA索引。最後轉換(SPA)可通過連接GVA的一部分(例如,最後幾位)和存儲器317中的物理頁的SPA而得到。這樣,在兩個層次的客機轉換中,客機轉換表和嵌套轉換表都可使用。但是,如果I/O設備提供了GPA,就通過使用提供主機轉換頁表36D的基址的指針302執行一個層次的轉換。更具體地,在設備表條目中的客機信息將被忽略,而可使用其它頁表路徑條目信息(如圖4所示)來訪問相應的主機轉換頁表。在各個層次的轉換中,GPA的位的不同子集可用於索引到每一個連續的頁表中。具體地說,指針302可以是到PML4頁表333的基的SPA指針。與客機表36C對比,在主機頁表36D中的每一個指針可為指向下一表的基的SPA。由在PM4L頁表333中GPA索引的條目包括到PML3/2頁表335的基的SPA指針。根據實際的頁表層次(即3或2),在頁表335的條目中的指針可以是到下一表的SPA指針,或是物理存儲器頁337的SPA。相應地,最後轉換(SPA)可通過連接GPA的一部分(例如,最後數位)和存儲器337中的物理頁的SPA而得到。為了保持存儲器隔離,在一種實施方式中,在訪問每一個後續頁表時,可以檢查權限,如果有權限不一致或如果頁不存在,IOMMU沈就可中止轉換和/或查找和在內部發出頁故障並記錄錯誤。在其它實施方式中,在每一個階段,IOMMU可只積累任何錯誤和在轉換結束時丟棄轉換、發出頁錯誤和記錄錯誤或其中的某些組合。關於圖4,示出了一個典範的設備表的一種實施方式的圖。說明的是,在圖4的實施方式中所示的域可與中斷再映射和/或地址轉換有關,可提供其它域以用於在各種實施方式中的其它目的。在所示的實施方式中,設備表條目325是一個256位的條目。然而,其它的實施方式可實現所述域的超集和其它域、所述域的子集、或與其它域相結合的子集。相應地,根據需要,設備表條目325可以是任意數目的位。一個域可包括一個或多個的位,在由IOMMU沈解釋時,其編碼被賦予特別的意義。如果一個域是單個的位,對這一實施方式來說,它可被稱為位。然而,在其它的實施方式中,對類似的用途可以用多位的域。對這一實施方式,多位的域如圖4中的位的範圍所示。各種具體的中斷控制位可提供在保留域和其它域中以控制某些特定的中斷是否被封鎖或未修改而通過。中斷表指針域antTablePtr)可存儲上述的中斷再映射表的基址。中斷表長度antTableLen)指定中斷向量表的程度。中斷表長度域可編碼為幾個可能的長度(如,在一種實施方式中,是1-2048中的2的乘方(power))。如果對中斷信息檢測到I/O頁故障,就可使用IG位來指示是否要在事件日誌緩衝區44中創建事件日誌條目。中斷有效(IV)位可指示與中斷相關的域是否有效。如果域不是有效的,IOMMU沈就通過所有中斷不進行修改。客機CR3(GCR3)表的根指針^CR3TabIeRtPtr)域可包括用於I/O設備的客機CR3表的SPA。外設頁服務請求(PPR)位指示外設是否可發出IOMMU轉換為外圍頁服務請求日誌條目的外圍頁服務請求或請求是否是作為錯誤處理。要說明的是,雖然在示出的實施方式中GCR3TabIeRtPtr是分解成多個域,但在其它實施方式中,GCR3TableRtPtr可以是一個連續的域,或根據需要而不同地分解。SysMgt域可進行編碼以提供在系統管理範圍內的進一步的通信控制。具體地說,在一種實施方式中,SysMgt域可編碼為在範圍內的塊請求;在範圍內的請求轉發而不修改(僅發布的寫);轉發映射到INTx信息的請求而不修改(僅發布的寫);或使用I/O頁錶轉換請求。IoCtl域可編碼,以提供在I/O空間範圍內的進一步的通信控制。具體地說,在一種實施方式中,IoCtl域可編碼為在範圍內的塊請求;轉發請求而不修改;或使用I/O頁錶轉換請求。然而,在一種實施方式中,域中的一些(如SysMgt和IoCtl)可只與GPA-SPA轉換有關而不應用於GVA-SPA轉換。域ID是用來標記高速緩存30條目和IOMMU26內的任何其它高速緩存條目,以使不同的設備區分它們的轉換數據。如果設備共享轉換表,它們就有相同的域ID來共享高速緩存條目。域ID是完全在軟體的控制下,因此可允許靈活性使控制軟體(例如,虛擬機監視器或在非虛擬機實現中的作業系統)來將I/O設備分組到共享轉換數據的域組或分離設備。例如,分配到給定的虛擬機的設備可具有相同的域ID,可為不同的虛擬機使用不同的域ID。這樣,可創建分離設備和分組設備的任意組合。在一種實施方式中,客機CR3的水平位(GLX)指定GCR3查找的類型(即一個層次或兩個層次的GCR3表)將由IOMMU執行。客機轉換有效(GV)位決定是進行兩個層次(即嵌套層次和客機層次)轉換還是進行一個層次(例如,主機)轉換。在一種實施方式中,當GV位清除時,GLX位和GCR3TabIeRtPtr域被忽略。頁表指針(PageTablePtr)是到主機轉換頁表36D的指針。當I/O設備提供了GPA時,這個指針可以使用。模式域(Mode)可編碼為指示設備的I/O頁表的深度和轉換是否完全禁用。例如,對於提供SPA和標誌請求為預轉換的設備,相應的設備條目可將這一個域編碼為禁用轉換。其它的編碼可指示對映射到這一條目的請求轉換開始的、在頁表層次中的層次。TV位指示頁轉換數據是否有效,V位指示條目80是否有效。13關於圖5,示出了客機虛擬地址轉換機制的更詳細方面的圖。如上所述,設備表36A可包括一些條目(DTE),每一個都包括GCR3TableRtPtr域。如果對那一條目來說客機轉換是有效的,該域就將包括到存儲器中的客機CR3表501的SPA指針。如圖所示,GCR3表501可由與設備的請求相關的PASID值索引。如上所述,根據所使用的I/O連結的類型,設備PASID可用各種方式獲得。如圖所示,GCR3表501有兩個條目,每一個都包括GCR3基指針,如上所述,GCR3基址指針可以是到客機頁表503和505的GPA指針。在所示的實施方式中,客機頁表503和505可由I/O請求的GVA索引。此外,在客機頁表503和505中的每一個有效條目可包括到各自的頁映射層次四表的基地址的GPA指針。在一種實施方式中,GCR3表501必須在存儲器中是連續的。因此,在有大量的PASID的系統中,存儲器管理可能會變得繁瑣。相應地,在替代的實施方式中,GCR3表可以分層的方式來實施。例如,可使用一個或多個第二層次的GCR3表(未示)。在這樣的一種實施方式中,第一層次的GCR3表可以是GCR3基表並可以使用PASID位的第一子集來索引。在第一層次GCR3表中的給定條目可包括到各自的第二層次GCR3表的GPA指針。第二層次GCR3表可使用PASID的第二子集索引。第二層次GCR3表的每一個條目可包括到諸如表503或505之類客機頁表的GPA指針。因此,選擇是執行一個還是兩個層次的GCR3表可取決於使用的PASID的數量。要說明的是,在不同的實施方式中,根據需要,PASID位的子集可以是非重疊或者它們可以是重疊的。關於圖6,示出了在圖1至圖5中所示的計算機系統的實施方式的操作方面的流程圖。一起參考圖1-圖6,以圖6的塊601開始,IOMMU沈接收到I/O請求。例如,請求可為諸如例如代表VM應用程式之一的DMA訪問之類I/O存儲器訪問請求。可替換地,請求可為例如具有遠程IOTLB的I/O設備的轉換請求。如果請求不是存儲器請求,如圖所示,操作可在塊604繼續。但是,如果請求是存儲器請求,IOMMU26就例如在I/O設備有機載MMU的情況下確定該請求是否標記為預轉換(塊60幻。在那種情況下,地址可為SPA,不需要任何轉換。如果請求被標記為預轉換,IOMMU沈就為存儲器控制器18(塊60提供請求。回來參考塊602,如果請求不標記為預轉換或如果請求是轉換清求,IOMMU26就可在高速緩存30內為轉換做查找(塊604)。如果轉換存在,IOMMU沈就可為請求者提供迴轉換,或與請求一起提供轉換給存儲器控制器18(塊603)。然而,如果轉換不存在於高速緩存30(塊604),與控制邏輯34關聯的表輔助工具28可訪問I/O轉換表36。更特別地,表輔助工具34可訪問設備表基址寄存器32A以在存儲器20獲得設備表的基地址。表輔助工具觀可使用設備ID來索引到設備表36A(塊605)。如果請求包含PASID值(塊606),表輔助工具觀就使用設備表條目中的GCR3控制位和GCR3TableRtPtr地址進行兩個層次的客機轉換,以在存儲器中找到GCR3表(塊607)。如上所述,在一種實施方式中,GCR3TabIeRtPtr地址可為SPA。表輔助工具28可使用GPA指針找到相應的GCR3和客機表和PASID以索引GCR3表。如塊614所示,如上所述,每一個GPA指針可使用例如主機轉換頁表36D由IOMMU沈轉換。請求的GVA位的某子集可用於索引客機頁表。最後客機頁表可包括到主機頁映射層次四的表的基地址的GPA指針。在一種實施方式中,在每一個連續的客機表訪問時檢查權限,任何失敗的權限可生成頁錯誤或其它錯誤(塊608)。然後,表輔助工具觀可使用在每一個先前的表的每一個條目中的GPA指針依次找14到主機轉換表36D。在頁表的各個層次,可使用請求的GVA位的不同子集來索引到每一個主機轉換頁表。如上所述,一旦訪問最後頁表,相應的條目可包含在存儲器中的物理頁的GPA。控制邏輯34可將該GPA轉換成SPA(塊609)。然後,控制邏輯34可連接物理存儲器頁的SPA和GVA的最後幾位以獲得最後轉換地址(塊610)。如果請求是存儲器請求,控制邏輯塊34可將轉換地址與請求一起提供給存儲器控制器18。可替換地,如果請求是轉換請求,控制邏輯34就可提供轉換給請求的I/O設備。控制邏輯34也可將轉換存儲在高速緩存30中,以在未來的轉換查找中使用(塊611)。返回參考塊606,如果請求不包括PASID,那麼請求的地址是GPA。在這種情況下,控制邏輯34可使用設備表條目中的PageTableRtPtr地址來執行一個層次的轉換,以在存儲器中找到主機轉換頁表36D(塊61。表輔助工具觀以與上面所述相類似的方式,可針對I/O設備使用到主機頁映射第四層次表的基地址的SPA指針。與客機轉換比較,在主機轉換頁表中,到下一個頁表/存儲器物理頁的每一個指針是SPA。因此,表輔助工具觀可使用在每一個先前表的每一個條目中的SPA指針依次找到主機轉換表36D。在主機頁表的每一個層次,可使用所述請求的GPA位的不同的子集來索引到每一個主機轉換頁表中。如上所述,一旦訪問最後頁表,相應的條目可包含在存儲器中的物理頁的SPA(塊613)。控制邏輯34可連接物理存儲器頁的SPA和請求的GPA的最後幾位以獲得最後轉換地址(塊610)。操作可如上所述與塊611—起繼續進行。要說明的是,上述實施方式可用硬體、軟體或兩者的結合來實施。此外,上述硬體組件中的各種組件可先使用以硬體定義語言編寫的軟體設計。相應地,用於實現上述實施方式的任何指令被存儲在各種類型的存儲中。因此,各實施方式可進一步包括按照上述對計算機可讀存儲介質的說明實施的存儲指令和/或數據。一般來說,計算機可讀存儲介質可包括存儲介質或存儲器介質、易失性或非易失性介質和其它,其中所述存儲介質或存儲器介質是諸如例如盤、CD-ROM和DVD之類的磁介質或光介質,其中所述易失性或非易失性介質是諸如RAM(例如SDRAM、DDRSDRAM、RDRAM、SRAM等)禾ΠROM等。雖然已經相當詳細地說明了上述實施方式,但對本領域的技術人員而言,一旦充分理解了上述公開,無數的變化和修改將變得很明顯。旨在將下面的權利要求書解釋為包括所有這些變化和修改。權利要求1.配置為控制由I/O設備向存儲器的請求的輸入/輸出存儲器管理單元(IOMMU),所述IOMMU包括配置為執行兩個層次的客機轉換以使用存儲在所述系統存儲器中的轉換數據來轉換與I/O設備生成的請求相關聯的地址的控制邏輯;其中所述轉換數據包括在設備表中的一個或多個設備表條目,其中,基於設備標識符來選擇用於給定請求的所述設備表條目;和包括成組的客機頁表和成組的嵌套頁表的第一成組的頁表,其中,用於給定請求的所選擇的設備表條目包括到所述成組的客機轉換表的指針,並且其中,客機頁表包括到所述成組的嵌套頁表的指針。2.如權利要求1所述的I0MMU,其中,到所述成組的客機轉換表的所述指針包括與由在所述計算機系統的處理器上執行的虛擬存儲器監視器(VMM)映射的地址空間對應的系統物理地址(SPA),其中,給定的SPA是用來訪問所述存儲器中的物理存儲器頁。3.如權利要求2所述的I0MMU,其中,到所述成組的嵌套頁表的所述指針包括與在所述計算機系統的處理器上的虛擬機(VM)中執行的客機作業系統映射的地址空間對應的客機物理地址(GPA),其中,所述控制邏輯進一步配置為將所述GPA轉化為訪問所述存儲器中的物理存儲器頁的SPA。4.如權利要求2所述的I0MMU,其中,與所述I/O請求相關的所述地址包括與在所述計算機系統的處理器上的虛擬機(VM)中執行的客機應用程式映射的地址空間對應的客機虛擬地址(GVA),其中,所述控制邏輯還配置為使用所述兩個層次的客機轉換將所述GVA轉化為SPA。5.如權利要求1所述的I0MMU,其中,所述客機頁表中的至少一些包括包括到相應的下一客機頁表的指針的至少一個條目。6.如權利要求1所述的I0MMU,其中,所述成組的客機頁表的最後客機頁表包括包括到所述成組的嵌套頁表的相應的第一頁表的指針的至少一個條目。7.如權利要求3所述的I0MMU,其中,所述成組的嵌套頁表的最後頁表包括包括具有與所述存儲器中的相應的物理頁對應的地址的指針的至少一個條目。8.如權利要求7所述的I0MMU,其中,具有與所述存儲器中的相應的物理頁對應的地址的所述指針包括GPA。9.如權利要求8所述的I0MMU,其中,所述控制邏輯進一步配置為將與所述存儲器中的相應的物理頁對應的所述GPA指針轉換為所述相應的物理頁的SPA。10.如權利要求9所述的I0MMU,其中,所述控制邏輯進一步配置為將與所述I/O請求關聯的所述地址的位的子集和所述相應的物理頁的所述SPA連接以提供最後轉換頁。11.如權利要求1所述的I0MMU,其中,用於所述給定的請求的所述設備表條目還包括到包括成組的主機轉換頁表的第二成組的I/O頁表的第二指針。12.如權利要求11所述的I0MMU,其中,所述主機轉換表中的至少一些包括具有到下一個連續的主機轉換表的指針的條目,其中,每一個指針包括與由在所述計算機系統的處理器上執行的虛擬存儲器監視器(VMM)映射的地址空間對應的系統物理地址(SPA),其中,給定的SPA是用來訪問所述存儲器中的物理存儲器頁。13.一種系統,包括處理器;聯接到所述處理器並配置為存儲轉換數據的存儲器,其中所述轉換數據包括包括一個或多個條目的設備表;包括成組的客機頁表和成組的嵌套頁表的成組的頁表;配置為生成用於訪問所述系統存儲器的請求的至少一個輸入/輸出(I/O)設備;聯接到所述I/O設備和所述存儲器的I/O存儲器管理單元(IOMMU),其中,所述IOMMU配置為執行兩個層次的客機轉換,以使用所述轉換數據轉換與所述I/O設備生成的請求相關聯的地址;其中,所述IOMMU配置為根據設備標識符為給定的請求選擇設備表條目;使用從選定的設備表條目來的指針訪問所述成組的客機轉換數據結構,以及使用從客機頁表來的指針來訪問所述成組的嵌套頁表。14.如權利要求13所述的系統,其中,所述IOMMU配置為使用所述設備表和在第一客機轉換層次的所述成組的客機頁表並使用在第二客機轉換層次的所述成組的嵌套頁表來獲得最後轉換地址。15.如權利要求13所述的系統,其中,所述存儲器被映射到多個地址空間,其中所述多個地址空間包括與在所述處理器上執行的虛擬存儲器監視器(VMM)映射的地址空間對應的系統物理地址(SPA)、與在所述處理器的虛擬機(VM)上執行的客機作業系統映射的地址空間對應的客機物理地址(GPA)、和與在所述處理器的虛擬機(VM)上執行的客機應用程式映射的地址空間對應的客機虛擬地址(GVA)。16.如權利要求15所述的系統,其中,到所述成組的客機轉換表的所述指針包括SPA,其中給定的SPA被用來訪問在所述存儲器中的物理存儲器頁。17.如權利要求15所述的系統,其中,到所述成組的嵌套頁表的所述指針包括GPA,其中所述IOMMU進一步配置為將所述GPA轉化為用於訪問所述存儲器中的物理存儲器頁的SPA。18.如權利要求14所述的系統,其中,與所述I/O請求相關的所述地址包括GVA,其中所述IOMMU配置為使用兩個層次的客機轉換來將所述GVA轉換為SPA。19.如權利要求15所述的系統,其中,所述IOMMU進一步配置為使用與所述I/O請求相關的進程標識符表索引到所述成組的客機頁表的至少一部分,以及使用與所述I/O請求相關的所述GVA索引到所述成組的客機頁表的另外一部分。20.如權利要求19所述的系統,其中,響應於包括所述進程標識符的所述I/O設備生成的請求,所述IOMMU配置為執行所述兩個層次的客機轉換來轉換與所述I/O設備生成的請求相關的GVA。21.如權利要求19所述的系統,其中,響應於不包括所述進程標識符的所述I/O設備生成的請求,所述IOMMU配置為執行一個層次的轉換來轉換與所述I/O設備生成的請求相關的地址,其中所述地址包括GPA。22.一種用於控制到計算機系統的存儲器的輸入/輸出I/O請求的方法,所述方法包括將轉換數據存儲在計算機系統的存儲器中,其中所述轉換數據包括在設備表中的一個或多個設備表條目;和包括成組的客機頁表和成組的嵌套頁表的第一成組的頁表;控制邏輯通過如下方式來在I/O請求中接收到的地址上進行兩個層次的客機轉換的第一轉換層次基於設備標識符為給定的請求選擇設備表條目;以及使用從選擇的設備表條目來的指針訪問所述成組的客機轉換表;並且所述控制邏輯通過使用從客機頁表來的指針執行所述兩個層次的客機轉換的第二轉換層次,以訪問所述成組的嵌套頁的數據結構。23.如權利要求22所述的方法,其中,所述控制邏輯響應接收在所述I/O請求中的進程標識符執行所述兩個層次的客機轉換。24.如權利要求22所述的方法,其中,在所述I/O請求中接收到的所述地址包括與在所述計算機系統的處理器上的虛擬機(VM)上執行的客機應用程式映射的地址空間對應的客機虛擬地址(GVA)。25.如權利要求23所述的方法,其中,所述控制邏輯響應接收不包括進程標識符的I/O請求執行一個層次的轉換。26.如權利要求25所述的方法,其中,在不包括進程標識符的所述I/O請求中接收到的所述地址包括與在所述計算機系統的處理器上的虛擬機(VM)上執行的客機作業系統映射的地址空間對應的客機物理地址(GPA)。27.一種包括由計算機系統上的可執行的程序運行的數據結構的計算機可讀存儲介質,所述程序在所述數據結構上運行以執行過程的一部分來製造包括由所述數據結構所說明的電路的集成電路,由所述數據結構說明的所述電路包括控制邏輯,其配置為執行兩個層次的客機轉換以使用存儲在所述存儲器中的轉換數據轉換與I/O設備生成的請求相關聯的地址;其中所述轉換數據包括在設備表中的一個或多個設備表條目,其中根據設備標識符選擇用於給定的請求的所述設備表條目;包括成組的客機頁表和成組的嵌套頁表的第一成組的頁表,其中用於給定的請求的選擇的設備表條目包括到所述成組的客機轉換表的指針,其中客機頁表包括到所述成組的嵌套頁表的指針。28.如權利要求1所述的I0MMU,還包括聯接到所述控制邏輯並配置為存儲所完成的轉換的高速緩存存儲器。29.如權利要求M所述的方法,還包括在高速緩存存儲器中存儲所完成的轉換的所述控制邏輯。30.一種輸入/輸出(I/O)存儲器管理單元(IOMMU),包括控制邏輯,其配置為執行多個層次的分層轉換以使用存儲在存儲器中的轉換數據轉換與I/O設備生成的請求相關聯的客機地址,其中所述客機地址對應於由在處理器上的客機虛擬機中執行的客機應用程式映射的客機虛擬地址;其中所述轉換數據包括在設備數據結構中的一個或多個設備表條目;和包括成組的客機頁面數據結構和成組的嵌套頁面數據結構的第一成組的頁面數據結構;其中所述控制邏輯進一步配置為根據與生成所述請求的所述I/O設備對應的設備標識符,為給定的請求選擇設備數據結構條目;使用從選定的設備數據結構條目來的指針來訪問所述成組的客機轉換數據結構;和使用從客機頁面數據結構來的指針來訪問所述成組的嵌套頁面數據結構。全文摘要配置為控制由I/O設備向系統存儲器的請求的一種輸入/輸出存儲器管理單元(IOMMU),包括可執行兩個層次的客機轉換以使用存儲在系統存儲器中的轉換數據來轉換與I/O設備生成的請求相關聯的地址的控制邏輯。所述轉換數據包括有多個條目的設備表。所述控制邏輯可通過使用與生成所述請求的I/O設備對應的設備標識符來為給定請求選擇所述設備表條目。所述轉換數據還可包括包括成組的客機頁表和成組的嵌套頁表的第一成組的I/O頁表。為所述給定請求的所述選擇的設備表條目可包括到所述成組的客機轉換表的指針,並且最後客機轉換表包括到所述成組的嵌套頁表的指針。文檔編號G06F12/10GK102473139SQ201080033605公開日2012年5月23日申請日期2010年7月24日優先權日2009年7月24日發明者安德魯·G·凱格爾,馬克·D·胡梅爾申請人:超威半導體公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀