TWI772279B - 用於具有可重配置多端口的快捷外設互聯標準儲存系統的服務品質感測輸入輸出管理的方法、系統及設備 - Google Patents
用於具有可重配置多端口的快捷外設互聯標準儲存系統的服務品質感測輸入輸出管理的方法、系統及設備 Download PDFInfo
- Publication number
- TWI772279B TWI772279B TW105140965A TW105140965A TWI772279B TW I772279 B TWI772279 B TW I772279B TW 105140965 A TW105140965 A TW 105140965A TW 105140965 A TW105140965 A TW 105140965A TW I772279 B TWI772279 B TW I772279B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- output
- port
- input
- data access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Abstract
本發明描述用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法以及系統的實施例。在實施例中,一種方法包含在接收器介面中自軟體應用程式接收輸入/輸出請求,輸入/輸出請求包括用於經由資料存取端口傳達資料的資訊。方法亦可包含在傳送模式選擇器中判定用於經由資料存取端口傳達資料的傳送模式選擇,傳送模式是選自輸送量定向模式、潛時敏感模式或平衡模式。另外,方法可包含回應於輸入/輸出請求且根據資料傳送模式而藉由區塊分配單元來經由資料存取端口傳達資料。
Description
本發明大體上是關於資料處置系統,且更特定言之,是關於用於具有可重組態多端口的快捷周邊組件互連(peripheral component interconnect express;PCIe)儲存系統的服務品質(quality of service;QoS)感測輸入/輸出(input/output;IO)管理。
諸如電腦系統的資料處置系統大體上包含具有若干核心組件的主機系統,所述核心組件包含中央處理單元(central processing unit;CPU)、記憶體裝置、輸入/輸出裝置以及用於在主機系統的各組件之間傳送資訊的裝置互連件或根複合體(root complex)。互連件協定的一個實例是快捷周邊組件互連,其定義主機系統組件之間的資料傳送的模式。
直接記憶體存取(direct memory access;DMA)、直接快取記憶體存取(direct cache access;DCA)以及資料直接輸入/輸出(data direct input/output;DDIO)是用以在主機系統(記憶體或快取記憶體)與輸入/輸出裝置之間傳送資料的現存技術。直接記憶體存取在輸入/輸出裝置與主機系統記憶體之間傳送資料。資料直接輸入/輸出在輸入/輸出裝置與主機中央處理單元的末級快取記憶體(last level cache;LLC)之間傳送資料。直接快取記憶體存取正如直接記憶體存取一般在輸入/輸出裝置與主機系統記憶體之間傳送資料,但在資料傳送完成之後,直接快取記憶體存取自記憶體預先擷取至中央處理單元快取記憶體的資料。
主機系統常常包含多個資料處置端口,所述資料處置端口中的每一者可經組態以藉由直接記憶體存取、直接快取記憶體存取或資料直接輸入/輸出協定中的一者來傳送資料。此等端口在本文中被稱作「多端口」。常見系統可具有經組態以用於直接記憶體存取的一些多端口、經組態以用於資料直接輸入/輸出的一些多端口,以及有可能經組態以用於直接快取記憶體存取的一些多端口。現存系統軟體使用這些技術(直接記憶體存取、直接快取記憶體存取或資料直接輸入/輸出)中的一者來將輸入/輸出請求發送至裝置。然而,當前不存在用以組合直接記憶體存取協定、直接快取記憶體存取協定或資料直接輸入/輸出協定的功能態樣或用以針對多工、服務品質控制或快取流動控制而在各協定之間動態地切換的方法。
描述用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法以及系統的實施例。在實施例中,一種方法包含在接收器介面中自軟體應用程式接收輸入/輸出請求,所述輸入/輸出請求包括用於經由資料存取端口傳達資料的資訊。所述方法亦可包含在傳送模式選擇器中判定用於經由所述資料存取端口傳達所述資料的傳送模式選擇,所述傳送模式是選自輸送量定向(throughput-oriented)模式、潛時敏感(latency-sensitive)模式或平衡模式。另外,所述方法可包含回應於所述輸入/輸出請求且根據所述資料傳送模式而藉由區塊分配單元來經由所述資料存取端口傳達資料。
一種系統的實施例可包含資料傳達控制器。所述資料傳達控制器可包含接收器介面,所述接收器介面經組態以自軟體應用程式接收輸入/輸出(IO)請求,所述輸入/輸出請求包括針對經由資料存取端口傳達資料的資訊。另外,所述資料傳達控制器可包含傳送模式選擇器,所述傳送模式選擇器耦接至所述接收器介面且經組態以判定用於經由所述資料存取端口傳達所述資料的傳送模式選擇,所述傳送模式是選自輸送量定向模式、潛時敏感模式或平衡模式。所述資料傳達控制器亦可包含區塊分配單元,所述區塊分配單元經組態以回應於所述輸入/輸出請求且根據所述資料傳送模式而經由所述資料存取端口來傳達所述資料。所述系統亦可包含資料存取端口,所述資料存取端口耦接至所述資料傳達控制器,所述資料存取端口經組態以經由周邊組件互連匯流排而將所述資料傳達至周邊裝置。
一種設備的實施例可包含接收器介面,所述接收器介面經組態以自軟體應用程式接收輸入/輸出(IO)請求,所述輸入/輸出請求包括針對經由資料存取端口傳達資料的資訊。所述設備亦可包含傳送模式選擇器,所述傳送模式選擇器耦接至所述接收器介面且經組態以判定用於經由所述資料存取端口傳達所述資料的傳送模式選擇,所述傳送模式是選自輸送量定向模式、潛時敏感模式或平衡模式。另外,所述設備可包含區塊分配單元,所述區塊分配單元經組態以回應於所述輸入/輸出請求且根據所述資料傳送模式而經由所述資料存取端口來傳達所述資料。
描述用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法以及系統的實施例。所描述實施例可改良某些資料處置系統的效能。資料處置系統可包含(但不限於)個人計算裝置,諸如電腦工作站、膝上型電腦、平板電腦、個人資料助理、智慧型電話及其類似者。其他實施例可結合諸如伺服器、儲存控制器、雲端伺服器群及資料群、以及其他企業資料中心系統的企業資料處置系統及組件使用。
所描述實施例向與主機系統相關聯地操作的應用程式提供邏輯裝置介面。在實施例中,邏輯裝置將具有可選擇資料傳送能力以及服務品質的多個實體端口組合成多個資料路徑。資料路徑可根據包含「輸送量加強器模式」、「快速模式」以及「平衡模式」的多種資料傳送模式中的一者進行組態。在實施例中,輸送量加強器模式跨越經組態用於直接記憶體存取資料傳送的端口傳送所有資料。在實施例中,快速模式跨越經組態用於資料直接輸入/輸出資料傳送的端口傳送所有資料。在實施例中,平衡模式取決於檢測到的資料特性而在直接記憶體存取端口與資料直接輸入/輸出端口之間切換。另外,本發明實施例描述基於平衡模式中的服務品質要求而對資料路徑進行多工,其中取決於服務品質要求以及資料特性而根據直接記憶體存取或資料直接輸入/輸出端口的集合來對輸入/輸出區塊進行分組以及傳輸。此外,本發明實施例包含用於進行流動控制以防止在使用資料直接輸入/輸出端口時中央處理單元快取記憶體的溢位的方法。
所屬領域中具通常知識者將認識到本發明實施例的各種優點以及益處。詳言之,相較於先前系統,可認識到包含系統潛時縮減的服務品質益處。另外,可根據一些實施例改良系統輸送量。此外,在與先前資料直接輸入/輸出技術或直接快取記憶體存取技術相比較時,在某些實施例中可防止快取記憶體溢位。儘管特定地參考快捷周邊組件互連描述了本發明實施例,但所屬領域中具通常知識者將會認識到本發明實施例可適於的額外系統或替代系統,只要選定的資料傳送協定提供在資料端口、記憶體以及處理器快取記憶體之間的存取即可。
圖1是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統100的實施例的示意性方塊圖。在實施例中,系統100包含主機系統102,且視情況包含一或多個周邊端點114。舉例而言,主機系統102例如可為諸如電腦的資料處置裝置。周邊端點可為經組態以經由快捷周邊組件互連或相似資料匯流排而與主機系統102通信的周邊裝置。實例可包含(但不限於)快捷周邊組件互連擴展裝置、資料儲存裝置、伺服器刀鋒等等。
在實施例中,主機系統102可包含根複合體104,所述根複合體104形成資料傳達網狀架構以用於在中央處理單元106、記憶體108以及一或多個內部端點112或外部端點114之間傳達資料,所述外部端點經由實體介面110而耦接至根複合體104。根複合體104可根據諸如(但不限於)快捷周邊組件互連的資料傳達協定操作。在實施例中,根複合體104及/或實體介面110可包含多個資料傳達端口,如圖4中所說明。各種端點112、114可經由根複合體104而與中央處理單元106及/或記憶體108傳達資料。在實施例中,中央處理單元106可包含快取記憶體116或以外部方式耦接至所述快取記憶體116。快取記憶體116的一個實施例是末級快取記憶體。
圖2是說明系統200的另一實施例的示意性方塊圖。在實施例中,中央處理單元106可包含多個中央處理單元核心202。系統200可相似地包含用於在中央處理單元核心202、記憶體108與一或多個端點之間傳達資料的根複合體104。術語「端點」可包含圖1中所說明的內部端點112以及外部端點114。端點的實例可包含圖形處理單元204、一或多個網路介面206、磁碟控制器208以及其他快捷周邊組件互連端點210a。另外,系統200可包含至周邊組件互連(PCI)/周邊組件互連擴充(PCI-x)的周邊組件互連交換器/快捷周邊組件互連橋接器212。在一些替代實施例中,周邊組件互連交換器可與快捷周邊組件互連橋接器分離。周邊組件互連交換器可將經切換的通信提供至多個快捷周邊組件互連端點210b至210c。快捷周邊組件互連橋接器可提供至根據舊版周邊組件互連或周邊組件互連擴充協定操作的舊版端點214的連接性。
圖3是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法300的實施例的示意性流程圖。在實施例中,方法300以自軟體應用程式接收輸入/輸出請求開始,其中輸入/輸出請求包含用於經由資料存取端口傳達資料的資訊或指令,如在區塊302處所展示。在區塊304處,方法300包含判定用於經由資料存取端口傳達資料的傳送模式選擇。傳送模式可選自包含以下各者的傳送模式群組:輸送量定向模式、潛時敏感模式以及平衡模式。在區塊306處,方法300包含回應於輸入/輸出請求且根據資料傳送模式而經由資料存取端口來傳達資料。
圖4是說明經特殊組態以用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統400的實施例的邏輯圖。在實施例中,可將系統400的態樣程式化至根複合體104的組件或其他快捷周邊組件互連控制組件中。系統軟體模組或系統韌體模組可呈現邏輯裝置402以供應用程式使用。在一個實施例中,系統400可包含資料傳達控制器401,所述資料傳達控制器401可包含具有傳送模式選擇器404的接收器介面403。另外,資料傳達控制器401可包含區塊分配單元405,區塊分配單元405具有用於處置直接記憶體存取請求的輸送量定向區塊分配器414、用於處置資料直接輸入/輸出請求的潛時敏感區塊分配器416,以及用於取決於資料特性的值而在輸送量定向區塊分配器414與潛時敏感區塊分配器416之間切換區塊的區塊識別器412。資料傳達控制器401亦可包含經組態以操作多個直接記憶體存取端口420及/或多個資料直接輸入/輸出端口422的多端口裝置驅動器407。
在實施例中,連接至諸如多端口儲存裝置428的儲存端點的端口可呈現邏輯儲存組件以供應用程式使用。在實施例中,系統400包含用於自應用程式接收輸入/輸出請求的接收器介面403。接收器介面403可包含傳送模式選擇器404。傳送模式選擇器404可在多個資料傳送模式間選擇一個模式。資料傳送模式的實例包含輸送量加強器模式406、快速模式410以及平衡模式408。
在實施例中,輸送量加強器模式406可允許應用程式將資料傳送至記憶體裝置108。此實施例可提供增強型資料輸送量。在實施例中,快速模式410可提供藉由將資料傳達至與中央處理單元核心202中的一或多者相關聯的快取記憶體116(諸如末級快取記憶體或其他快取記憶體)而與中央處理單元106進行快速資料傳達的應用程式。平衡模式408可基於自應用程式傳達的資料特性而可選擇地將資料傳達至記憶體108或快取記憶體116。
在此實施例中,以輸入/輸出請求的形式自應用程式接收資料區塊。傳送模式選擇器404識別待應用的傳送模式。在一個實施例中,傳送模式選擇器404可回應於輸入/輸出請求中的諸如資料特性的資訊而選擇傳送模式。在另一實施例中,傳送模式選擇器404可回應於直接記憶體存取端口是否可用或資料直接輸入/輸出端口是否可用的判定而選擇傳送模式。在又另一實施例中,傳送模式選擇器404可回應於預定服務品質協定、規則或負載平衡序列而判定傳送模式。所屬領域中具通常知識者可認識到出可由傳送模式選擇器404使用以判定待用於特定輸入/輸出請求的傳送模式的多種準則。在又一實施例中,傳送模式選擇器404可根據時序或封包計數規則來判定傳送模式。
傳送模式選擇器404可將資料區塊傳送至區塊分配單元405。在實施例中,區塊分配單元405可包含輸送量定向(TO)區塊分配器414、潛時敏感(LS)區塊分配器416、區塊識別器412以及流動控制器418。
若輸送量加強器模式406經選定,則可將資料區塊傳遞至輸送量定向區塊分配器414。輸送量定向區塊分配器414可將請求區塊劃分成多個子區塊,每一子區塊被傳遞至一或多個直接記憶體存取端口420,其經組態以經由直接記憶體存取協定而將資料傳送至記憶體108。在一些實施例中,例如,可在系統啟動時藉由多端口裝置驅動器或藉由系統的基本輸入/輸出系統(systems basic input/output system;BIOS)來定義一或多個直接記憶體存取端口420。相似地,可在系統啟動時定義一或多個資料直接輸入/輸出端口422。在替代實施例中,在操作期間且回應於輸入/輸出請求,可動態地將一或多個直接記憶體存取端口420重組態為資料直接輸入/輸出端口422。相似地,動態地且回應於輸入/輸出請求,可將一或多個資料直接輸入/輸出端口422重組態為直接記憶體存取端口420。
在快速模式410中,可將資料區塊傳達至潛時敏感區塊分配器416,所述潛時敏感區塊分配器416接著將資料區塊或子區塊傳遞至資料直接輸入/輸出端口422。在另一實施例中,流動控制器418可對資料區塊或子區塊至資料直接輸入/輸出端口的流動進行計量以便防止與中央處理單元106相關聯的快取記憶體116的溢位或污染。下文相對於圖10至圖12來描述流動控制方法的實施例。在實施例中,多端口儲存裝置428可包含經組態以將資料傳遞至多端口儲存裝置428的組件的多個直接記憶體存取端口424及/或多個資料直接輸入/輸出端口426。
在實施例中,平衡模式408可將資料區塊可選擇地傳遞至輸送量定向區塊分配器414以供經由直接記憶體存取端口420進行傳達,或傳遞至潛時敏感區塊分配器416以供經由資料直接輸入/輸出端口422進行傳達。在此實施例中,區塊識別器412可針對資料區塊檢測資料特性,且取決於資料特性而判定將資料區塊傳遞至輸送量定向區塊分配器414抑或潛時敏感區塊分配器416。在實施例中,資料特性可為由應用程式設定的緊急識別符。舉例而言,資料特性將資料區塊特性化為緊急或非緊急的。在此實施例中,可將緊急資料區塊傳遞至潛時敏感區塊分配器416,且可將非緊急資料區塊傳遞至輸送量定向區塊分配器414。
在實施例中,資料特性可為與資料區塊相關聯的標籤或後設資料(metadata)。替代地,資料特性可為設定於資料區塊內的位元。在再一實施例中,可回應於使用者或提供資料區塊的應用程式或回應於所提供的資料區塊的類型而固有地導出資料特性。在另一實施例中,一些使用者或應用程式可產生緊急資料區塊,且其他使用者或應用程式可產生非緊急資料區塊。在一個實施例中,使用者請求的區塊可為緊急的,此是因為一旦區塊準備好以進行存取,使用者即可存取區塊,且預先擷取區塊可為非緊急的,此是因為區塊在不遠的將來可能被存取或可未能被存取。所屬領域中具通常知識者將認識到額外或替代的資料特性,所述資料特性可由區塊識別器412用來判定將資料區塊發送至輸送量定向區塊分配器414抑或潛時敏感區塊分配器416。
圖5展示描述由圖4的結構執行的方法500的流程圖。在此實施例中,方法500包含自應用程式接收輸入/輸出請求,如在區塊502處所展示。在區塊504處,傳送模式選擇器404可基於資料特性而選擇傳送模式,如在區塊504處所展示。若所有端口被設定為直接記憶體存取端口420,則選定輸送量加強器模式406且將所有資料區塊發送至輸送量定向區塊分配器414。若所有端口被設定為資料直接輸入/輸出端口422,則選定快速模式410且將所有資料區塊導引至潛時敏感區塊分配器416。若端口中的一部分被設定為直接記憶體存取端口420且端口中的部分被設定為資料直接輸入/輸出端口422,則可在區塊504處選定平衡模式。在另一實施例中,所有端口無需被設定為一種類型或另一種類型。輸送量請求可簡單地將請求發送至端口的為直接記憶體存取的子集,從而使資料直接輸入/輸出端口未被使用。在此等實施例中,在區塊516處,可將資料區塊傳遞至區塊識別器412以用於識別區塊。可將「普通」或「非緊急」區塊傳遞至輸送量定向區塊分配器414,如在區塊506處所展示。可將緊急區塊傳遞至潛時敏感區塊分配器416,如在區塊510處所展示。在區塊512處,可執行流動控制程序,且在區塊514處可發佈資料直接輸入/輸出請求。替代地,在區塊508處,可發佈直接記憶體存取請求。
圖6是說明用於在用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統中進行資料多工的程序600的實施例的邏輯圖。在一個實施例中,可由輸送量定向區塊分配器414或直接記憶體存取傳送路徑中的相關聯組件進行圖6的程序。在實施例中,可接收到且檢測到所請求的資料區塊602。可將資料區塊602劃分成數個子區塊604(例如,八(8)個或多於八個子區塊)。在區塊606處,可進行關於子區塊大小的判定。舉例而言,若資料區塊602中的子區塊604的數目小於或等於可用以傳達子區塊604的直接記憶體存取端口420的數目,則可維持每一子區塊604的當前大小。然而,若在區塊606處判定子區塊604的數目大於可用以傳送子區塊604的直接記憶體存取端口420的數目,則可調整每一子區塊604的大小,且可縮減子區塊604的總數。舉例而言,對應於子區塊604的數目小於或等於直接記憶體存取端口420的數目的狀況的第一結果610可具有與最初所請求的資料區塊602的組態相同的子區塊組態。第二結果608可具有較少子區塊,每一子區塊大小較大以用於經由直接記憶體存取端口420進行傳達。
圖7是說明圖6中所描述的程序的實施例的示意性流程圖。在圖7的實施例中,方法700包含在702處接收資料區塊。在704處,方法700包含計算包括於所接收的資料區塊中的子區塊數目。子區塊的數目可計算為所接收的資料區塊的大小除以資料傳送的最小單位。此計算結果可為對原始資料區塊602中的子區塊604的識別,如圖6中所展示。
在圖7的方法中,在706處,判定子區塊的數目是否小於或等於可用的直接記憶體存取端口420的數目。若是,則子區塊的大小等於所接收的資料區塊的大小除以子區塊的數目,如在708處所展示。若否,則在710處調整子區塊的大小。在此實施例中,可使子區塊的大小增加至所請求區塊的大小除以可用的直接記憶體存取端口420的數目。在圖6的實例中,在710處可產生第二結果608。
一旦已在708處或在710處判定子區塊的大小,便隨子區塊將直接記憶體存取請求發送至裝置驅動器,如在區塊712處所展示。若在714處判定已到達資料區塊的末端,則程序結束。若未到達資料區塊的末端,則子區塊如在716處所展示而遞增,且在712處發送下一直接記憶體存取請求。此迴圈重複直至資料區塊中的所有子區塊已經由直接記憶體存取端口420被發送為止。
圖8是說明用於在用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統中進行資料多工的程序800的實施例的邏輯圖。圖8的實施例說明快速模式的實例,其中資料區塊是經由資料直接輸入/輸出端口422被發送。可至少部分地藉由潛時敏感區塊分配器416以及流動控制器418來進行程序800。如同圖6的實施例一樣,程序800以接收資料區塊602以供傳達開始。資料區塊602可包含若干子區塊604。在802處,判定子區塊604的數目是否小於或等於可用於傳達子區塊604的資料直接輸入/輸出端口422的數目。若子區塊604的數目小於或等於可用於傳達子區塊604的資料直接輸入/輸出端口422的數目,則第一結果804包含具有原始大小的子區塊。若子區塊604的數目不小於或不等於可用於傳達子區塊604的資料直接輸入/輸出端口422的數目,則第二結果806包含經重設大小的子區塊,其中區塊大小經修改成適應可用以傳達子區塊的資料直接輸入/輸出端口的數目。在808處,額外步驟包含判定子區塊的大小是否大於資料直接輸入/輸出快取記憶體的大小。若子區塊的大小大於資料直接輸入/輸出快取記憶體的大小,則所述大小經調整成適應資料直接輸入/輸出快取記憶體的大小要求。在512處,執行流動控制操作以防止快取記憶體發生溢流或污染。參考圖12描述流動控制程序的實例。在810處,根據循環(round-robin)程序將子區塊分配至資料直接輸入/輸出端口422。
圖9是說明圖8中所描述的程序的實施例的示意性流程圖。在圖9的實施例中,方法900包含在902處接收資料區塊。在904處,方法900包含計算包含於所接收的資料區塊中的子區塊數目。子區塊的數目可計算為所接收的資料區塊的大小除以資料傳送的最小單位。此計算結果可為對原始資料區塊602中的子區塊604的識別,如圖8中所展示。
在圖9的方法中,在906處,判定子區塊的數目是否小於或等於可用的資料直接輸入/輸出端口422的數目。若是,則子區塊的大小等於所接收的資料區塊的大小除以子區塊的數目,如在908處所展示。若否,則在910處調整子區塊的大小。在此實施例中,可使子區塊的大小增加至所請求區塊的大小除以可用的資料直接輸入/輸出端口422的數目。在圖8的實例中,在910處可產生第二結果806。
在實施例中,在912處,判定在910處調整的子區塊的大小是否小於末級快取記憶體中的資料直接輸入/輸出的所保留大小。若在910處調整的子區塊的大小小於末級快取記憶體中的資料直接輸入/輸出的所保留大小,則執行512處的流動控制。若在910處調整的子區塊的大小不小於末級快取記憶體中的資料直接輸入/輸出的保留大小,則將子區塊大重設大小成小於或等於末級快取記憶體中的資料直接輸入/輸出的保留大小。且執行512處的流動控制。
一旦已判定了子區塊的大小且執行流動控制,即隨子區塊將資料直接輸入/輸出請求發送至裝置驅動器,如在916處所展示。若在918處判定已到達資料區塊的末端,則程序結束。若未到達資料區塊的末端,則子區塊如在920處所展示而遞增,且在916處發送下一資料直接輸入/輸出請求。此迴圈重複,直至資料區塊中的所有子區塊已經由資料直接輸入/輸出端口422被發送為止。
圖10是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法的執行的邏輯圖。圖10說明與中央處理單元核心202相關聯的快取記憶體116,諸如末級快取記憶體。在所描述的實施例中,末級快取記憶體包含多個快取行(cache line;CL)。被佔據的快取行是含有資料以供中央處理單元核心202進行擷取的快取行。剩餘快取行是可儲存最新接收到的子區塊所在的未佔據或可用的快取行。被佔據的快取行與剩餘快取行的組合包括末級快取記憶體的全部保留的快取行。
圖10說明三種快取狀態的實例。在第一狀態1002中,三個快取行被所接收的資料佔據。在實施例中,快取行大小為64個位元組。在一個實施例中,末級快取記憶體的存取潛時可為100奈秒,且請求間的到達時間可為200奈秒。因此,對於每一請求到達而言,可藉由擷取快取行的中央處理單元核心202來保護兩個額外快取行。因此,在第二狀態1004中,僅佔據一個快取行。若隨256個位元組的資料的子區塊接收到第二請求,則可佔據四個額外快取行,從而總共有五個被佔據的快取行,如在第三狀態1006處所展示。
圖11是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法的實施例的示意性流程圖。可至少部分地藉由流動控制器418來執行針對流動控制的方法1100的實施例。流動控制器418可檢查快取記憶體116的狀態且藉由觸發溢位保護狀態而防止快取記憶體溢流。如本文中所使用,術語「溢位保護狀態」意謂藉由節流或計量至快取記憶體116的資料流而防止快取記憶體溢流所處的邏輯或操作狀態。在實施例中,在步驟1102處接收資料區塊。經存取快取行的數目被計算為請求間的到達時間除以快取行存取潛時平均值,如在1104處所展示。在1106處,藉由將經存取快取行的數目添加至先前剩餘的快取行的數目來計算剩餘快取行。在圖10的第二狀態1004中可見此計算的實例。
可觸發快取記憶體保護狀態以防止快取記憶體的溢流。並非將完整資料區塊寫入至快取記憶體,而是可基於剩餘快取行的數目而將區塊分解成具有合適大小的子區塊以供傳達至快取記憶體。在需要時,快取記憶體保護狀態可致使子區塊被依序寫入或被間隔開以防止快取記憶體溢流。在另一實施例中,快取記憶體保護狀態可致使資料區塊被寫入至記憶體108而非快取記憶體116。因此,在1108處,進行關於剩餘快取行是否大於全部保留的快取行的判定。若剩餘快取行大於全部保留的快取行,則剩餘快取行等於全部保留的快取行,如在1110處所展示。若剩餘快取行不大於全部保留的快取行,則在1112處進行關於快取行中的子區塊的數目是否小於剩餘快取行的數目的判定。若快取行中的子區塊的數目小於剩餘快取行的數目,則剩餘快取行被計算為剩餘快取行的原始數目減去快取行中的子區塊的數目,如在1114處所展示。若快取行中的子區塊的數目不小於剩餘快取行的數目,則以迴圈的形式執行所述計算直至快取行中的子區塊的數目小於剩餘快取行的數目為止。
圖12是包含快捷周邊組件互連資料傳達控制器401的計算系統1200的方塊圖,快捷周邊組件互連資料傳達控制器401包含圖4的接收器介面403、區塊分配單元405以及多端口裝置驅動器407。計算系統1200可包含時鐘1204、諸如隨機存取記憶體(random access memory;RAM)的記憶體108、使用者介面1208、諸如基頻晶片組的數據機1210、固態磁碟機/磁碟(solid state drive/disk;SSD)1214及/或中央處理單元(CPU)106,所述組件中的任一者或全部可電耦接至系統匯流排1202。計算系統1200可包含快捷周邊組件互連資料傳達控制器401,快捷周邊組件互連資料傳達控制器401包含圖4的接收器介面403、區塊分配單元405以及多端口裝置驅動器407,所述圖4的組件亦可電或邏輯地耦接至系統匯流排1202。
本發明實施例可包含仲裁或監視(watchdog)計時器以防止諸如視訊串流的潛時敏感輸入/輸出異動使輸入/輸出佇列爆滿。因此,效能加強器輸入/輸出請求將會有機會取得前向進展。另外,所述實施例亦可適應隨機(較少隨機讀取/寫入)輸入/輸出異動。
以下論述內容意欲提供對可實施本發明概念的某些態樣的合適機器的簡要大體的描述。通常,機器包含處理器、記憶體(例如,隨機存取記憶體(RAM)、唯讀記憶體(read-only memory;ROM)或其他狀態保持媒體)、儲存裝置、視訊介面以及輸入/輸出介面端口附接至的系統匯流排。可至少部分地藉由來自諸如鍵盤、滑鼠等等的習知輸入裝置的輸入以及藉由自另一機器、與虛擬現實(virtual reality;VR)環境的交互、生物統計反饋或其他輸入信號接收到的指引控制機器。如本文中所使用,術語「機器」意欲廣泛地涵蓋單個機器、虛擬機器,或具有一起操作的通信耦接的機器、虛擬機器或裝置的系統。例示性機器包含計算裝置,諸如個人電腦、工作站、伺服器、攜帶型電腦、手持型裝置、電話、平板電腦等等;以及運輸裝置,諸如私用或公眾交通,例如汽車、火車、出租車等等。
機器可包含嵌入型控制器,諸如可程式化或非可程式化邏輯裝置或陣列、特殊應用積體電路(Application Specific Integrated Circuit;ASIC)、嵌入型電腦、智慧卡及其類似物。機器可利用至一或多個遠端機器的一或多個連接,諸如經由網路介面、數據機或其他通信耦接。機器可藉助於諸如企業內部網路、網際網路、區域網路、廣域網路等等的實體及/或邏輯網路來互連。所屬領域中具通常知識者應瞭解,網路通信可利用各種有線及/或無線短程或長程載波及協定,包含射頻(radio frequency;RF)、衛星、微波、電機電子工程師學會(Institute of Electrical and Electronics Engineers;IEEE)545.11、Bluetooth®、光、紅外線、纜線、雷射等等。
當所述資料被機器存取時使得機器執行任務或定義抽象的資料類型或低位準硬體上下文,可參考或結合相關聯的資料描述本發明概念的實施例,所述資料包含功能、程序、資料結構、應用程式等等。相關聯的資料可例如儲存於揮發性及/或非揮發性記憶體中,例如隨機存取記憶體、唯讀記憶體等等;或儲存於其他儲存裝置以及其相關聯的儲存媒體中,包含硬碟機、軟性磁碟、光學儲存器、磁帶、快閃記憶體、記憶體棒、數位視訊磁碟、生物儲存體等等。相關聯的資料可以封包、串列資料、並行資料、經傳播的信號等等的形式經由包含實體及/或邏輯網路的傳輸環境遞送,且可以壓縮或加密的格式使用。相關聯的資料可用於分散式環境中,且本端及/或遠端地儲存以供機器存取。
已參考所說明的實施例描述且說明本發明概念的原理,將認識到,所說明的實施例可修改佈置以及細節而不會脫離此類原理,且可以任何所要方式組合。且儘管前述論述內容集中於特定實施例,但涵蓋其他組態。詳言之,儘管本文中使用諸如「根據本發明概念的實施例」或其類似者的表達,但此等片語通常意謂參考實施例可能性,且並不意欲將本發明概念限制於特定實施例組態。如本文中所使用,此等術語可參考可組合至其他實施例中的相同或不同實施例。
本發明概念的實施例可包含包括可由一或多個處理器執行的指令的非暫時性機器可讀媒體,所述指令包括執行如本文中所描述的本發明概念的元件的指令。
前述說明性實施例並不解釋為限制其發明概念。儘管已描述了幾個實施例,但所屬領域中具通常知識者將易於瞭解,在不實質上脫離本發明的新穎教示以及優點的情況下,對彼等實施例的許多修改是可能的。因此,所有此等修改意欲包含於如在申請專利範圍中界定的本發明概念的範疇內。
100、200、400‧‧‧系統102‧‧‧主機系統104‧‧‧根複合體106‧‧‧中央處理單元(CPU)108‧‧‧記憶體/記憶體裝置110‧‧‧實體介面112‧‧‧內部端點114‧‧‧周邊端點/外部端點116‧‧‧快取記憶體202‧‧‧中央處理單元(CPU)核心204‧‧‧圖形處理單元206‧‧‧網路介面208‧‧‧磁碟控制器210a、210b、210c‧‧‧快捷周邊組件互連(PCIe)端點212‧‧‧至PCI/PCI-x的PCI切換器/快捷周邊組件互連橋接器214‧‧‧舊版端點300‧‧‧用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法302、304、306、502、504、506、508、510、512、514、516、606、702、704、706、708、710、712、714、716、802、808、810、902、904、906、908、910、912、914、916、918、920、1102、1104、1106、1108、1110、1112、1114‧‧‧區塊401‧‧‧資料傳達控制器402‧‧‧邏輯裝置403‧‧‧接收器介面404‧‧‧傳送模式選擇器405‧‧‧區塊分配單元406‧‧‧輸送量加強器模式407‧‧‧多端口裝置驅動器408‧‧‧平衡模式410‧‧‧快速模式412‧‧‧區塊識別器414‧‧‧輸送量定向(TO)區塊分配器416‧‧‧潛時敏感(LS)區塊分配器418‧‧‧流動控制器420、424‧‧‧直接記憶體存取(DMA)端口422、426‧‧‧資料直接輸入/輸出(DDIO)端口428‧‧‧多端口儲存裝置500、700、900‧‧‧方法600、800‧‧‧用於在用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統中進行資料多工的程序602‧‧‧所請求的資料區塊604‧‧‧子區塊608、806‧‧‧第二結果610、804‧‧‧第一結果1002‧‧‧第一狀態1004‧‧‧第二狀態1006‧‧‧第三狀態1100‧‧‧針對流動控制的方法1102‧‧‧步驟1200‧‧‧計算系統1202‧‧‧系統匯流排1204‧‧‧時鐘1208‧‧‧使用者介面1210‧‧‧數據機1214‧‧‧固態磁碟機(SSD)/磁碟
本發明藉助於實例予以說明,且不受附圖限制,在附圖中,相同元件符號指示相似元件。諸圖中的元件為簡單且清晰起見而予以說明,且未必按比例繪製。 圖1是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統的實施例的示意性方塊圖。 圖2是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統的實施例的示意性方塊圖。 圖3是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法的實施例的示意性流程圖。 圖4是說明經特殊組態以用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統的實施例的邏輯圖。 圖5是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法的實施例的示意性流程圖。 圖6是說明用於在用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統中進行資料多工的方法的實施例的邏輯圖。 圖7是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法的實施例的示意性流程圖。 圖8是說明用於在用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的系統中進行資料多工的方法的實施例的邏輯圖。 圖9是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法的實施例的示意性流程圖。 圖10是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法的執行的邏輯圖。 圖11是說明用於具有可重組態多端口的快捷周邊組件互連儲存系統的服務品質感測輸入/輸出管理的方法的實施例的示意性流程圖。 圖12是根據本實施例經特殊組態的計算系統的方塊圖。
100‧‧‧系統
102‧‧‧主機系統
104‧‧‧根複合體
106‧‧‧中央處理單元(CPU)
108‧‧‧記憶體/記憶體裝置
110‧‧‧實體介面
112‧‧‧內部端點/端點
114‧‧‧周邊端點/外部端點/端點
116‧‧‧快取記憶體
Claims (23)
- 一種用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法,包括:在接收器介面中自軟體應用程式接收輸入/輸出(IO)請求,所述輸入/輸出請求包括用於經由資料存取端口傳達資料的資訊;在傳送模式選擇器中判定用於經由所述資料存取端口傳達所述資料的傳送模式,所述傳送模式是選自輸送量定向模式、潛時敏感模式或平衡模式,其中所述輸送量定向模式與設定為第一端口類型的所述資料存取端口中的一或多者相關聯,所述潛時敏感模式與設定為不同於所述第一端口類型的第二端口類型的所述資料存取端口中的一或多者相關聯,並且所述平衡模式與設定為所述第一端口類型的所述資料存取端口中的一或多者及設定為所述第二端口類型的所述資料存取端口中的一或多者相關聯;以及回應於所述輸入/輸出請求且根據所述傳送模式而藉由區塊分配單元來經由所述資料存取端口傳達所述資料。
- 如申請專利範圍第1項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法,其中所述輸送量定向模式經組態以根據直接記憶體存取(DMA)協定經由所述資料存取端口而用輸送量定向(throughput oriented;TO)區塊分配器來傳達資料。
- 如申請專利範圍第1項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測 輸入/輸出(IO)管理的方法,其中所述潛時敏感模式經組態以根據資料直接輸入/輸出(DDIO)協定經由所述資料存取端口而用潛時敏感(latency-sensitive;LS)區塊分配器來傳達資料。
- 如申請專利範圍第1項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法,其中所述平衡模式經組態以根據直接記憶體存取(DMA)協定或資料直接輸入/輸出(DDIO)協定經由所述資料存取端口來選擇地傳達資料。
- 如申請專利範圍第4項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法,更包括回應於針對待傳達的所述資料定義的資料特性而用區塊識別符來判定是否根據所述直接記憶體存取協定抑或所述資料直接輸入/輸出協定經由所述資料存取端口來傳達所述資料。
- 如申請專利範圍第5項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法,其中所述資料特性包括與所述資料相關聯的緊急識別符。
- 如申請專利範圍第4項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法,更包括回應於經組態以根據所述資料直接輸入/輸出協定接收資料的快取記憶體的狀態而判定是否根據所述直接記憶體存取協定抑或所述資料直接輸入/輸出協定經由所述資料存取端口來傳達所述資料,其中所述資料回應於所述快 取記憶體是處於溢位保護狀態的判定而根據所述直接記憶體存取協定被傳達。
- 如申請專利範圍第1項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法,更包括:組態所述資料存取端口的第一集合以用於根據直接記憶體存取(DMA)協定來傳達資料;以及組態所述資料存取端口的第二集合以用於根據資料直接輸入/輸出(DDIO)協定來傳達資料。
- 如申請專利範圍第8項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法,更包括根據由所述輸入/輸出請求定義的所述傳送模式經由所述資料存取端口的所述第一集合以及所述資料存取端口的所述第二集合中的至少一者來多工所述資料的傳達。
- 如申請專利範圍第1項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的方法,其中設定為所述第一端口類型的所述資料存取端口包括直接記憶體存取端口,並且設定為所述第二端口類型的所述資料存取端口包括資料直接輸入/輸出端口。
- 一種用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,包括:資料傳達控制器,包括:接收器介面,經組態以自軟體應用程式接收輸入/輸出 (IO)請求,所述輸入/輸出請求包括用於經由資料存取端口傳達資料的資訊;傳送模式選擇器,耦接至所述接收器介面且經組態以判定用於經由所述資料存取端口傳達所述資料的傳送模式,所述傳送模式是選自輸送量定向模式、潛時敏感模式或平衡模式,其中所述輸送量定向模式與設定為第一端口類型的所述資料存取端口中的一或多者相關聯,所述潛時敏感模式與設定為不同於所述第一端口類型的第二端口類型的所述資料存取端口中的一或多者相關聯,並且所述平衡模式與設定為所述第一端口類型的所述資料存取端口中的一或多者及設定為所述第二端口類型的所述資料存取端口中的一或多者相關聯;以及區塊分配單元,其經組態以回應於所述輸入/輸出請求且根據所述傳送模式而經由所述資料存取端口來傳達所述資料;以及所述資料存取端口,其耦接至所述資料傳達控制器,所述資料存取端口經組態以經由周邊組件互連匯流排而將所述資料傳達至周邊裝置。
- 如申請專利範圍第11項所述的用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,其中所述輸送量定向模式經組態以根據直接記憶體存取(DMA)協定經由所述資料存取端口來傳達資料。
- 如申請專利範圍第11項所述的用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,其中所述潛時敏感模式經組態以根據資料直接輸入/輸出(DDIO)協定經由所述資料存取端口來 傳達資料。
- 如申請專利範圍第11項所述的用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,其中所述平衡模式經組態以根據直接記憶體存取(DMA)協定或資料直接輸入/輸出(DDIO)協定經由所述資料存取端口來選擇地傳達資料。
- 如申請專利範圍第14項所述的用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,其中所述資料傳達控制器經進一步組態以回應於針對待傳達的所述資料定義的資料特性而判定是否根據所述直接記憶體存取協定抑或所述資料直接輸入/輸出協定經由所述資料存取端口來傳達所述資料。
- 如申請專利範圍第15項所述的用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,其中所述資料特性包括緊急識別符。
- 如申請專利範圍第14項所述的用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,其中所述資料傳達控制器經進一步組態以回應於經組態以根據所述資料直接輸入/輸出協定接收資料的快取記憶體的狀態而判定是否根據所述直接記憶體存取協定抑或所述資料直接輸入/輸出協定經由所述資料存取端口來傳達所述資料,其中所述資料回應於所述快取記憶體是處於溢位保護狀態的判定根據所述直接記憶體存取協定而被傳達。
- 如申請專利範圍第11項所述的用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,其中所述資料傳達控制器進行以下操作:組態所述資料存取端口的第一集合以用於根據直接記憶體存 取(DMA)協定來傳達資料;以及組態所述資料存取端口的第二集合以用於根據資料直接輸入/輸出(DDIO)協定來傳達資料。
- 如申請專利範圍第18項所述的用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,其中所述資料傳達控制器經進一步組態以根據由所述輸入/輸出請求定義的所述傳送模式經由所述資料存取端口的所述第一集合以及所述資料存取端口的所述第二集合中的至少一者來多工所述資料的傳達。
- 如申請專利範圍第11項所述的用於服務品質(QoS)感測輸入/輸出(IO)管理的系統,其中設定為所述第一端口類型的所述資料存取端口包括直接記憶體存取端口,並且設定為所述第二端口類型的所述資料存取端口包括資料直接輸入/輸出端口。
- 一種用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的設備,包括:接收器介面,經組態以自軟體應用程式接收輸入/輸出(IO)請求,所述輸入/輸出請求包括用於經由資料存取端口傳達資料的資訊;傳送模式選擇器,耦接至所述接收器介面且經組態以判定用於經由所述資料存取端口傳達所述資料的傳送模式,所述傳送模式是選自輸送量定向模式、潛時敏感模式或平衡模式,其中所述輸送量定向模式與設定為第一端口類型的所述資料存取端口中的一或多者相關聯,所述潛時敏感模式與設定為不同於所述第一端口類型的第二端口類型的所述資料存取端口中的一或多者相關聯, 並且所述平衡模式與設定為所述第一端口類型的所述資料存取端口中的一或多者及設定為所述第二端口類型的所述資料存取端口中的一或多者相關聯;以及區塊分配單元,其經組態以回應於所述輸入/輸出請求且根據所述傳送模式而經由所述資料存取端口來傳達所述資料。
- 如申請專利範圍第21項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的設備,其中:所述輸送量定向模式經組態以根據直接記憶體存取(DMA)協定經由所述資料存取端口來傳達資料;所述潛時敏感模式經組態以根據資料直接輸入/輸出(DDIO)協定經由所述資料存取端口來傳達資料;且所述平衡模式經組態以根據直接記憶體存取(DMA)協定或資料直接輸入/輸出(DDIO)協定經由所述資料存取端口來可選擇地傳達資料。
- 如申請專利範圍第21項所述的用於具有可重組態多端口的快捷周邊組件互連(PCIe)儲存系統的服務品質(QoS)感測輸入/輸出(IO)管理的設備,其中設定為所述第一端口類型的所述資料存取端口包括直接記憶體存取端口,並且設定為所述第二端口類型的所述資料存取端口包括資料直接輸入/輸出端口。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662341602P | 2016-05-25 | 2016-05-25 | |
US62/341,602 | 2016-05-25 | ||
US15/227,959 US10713202B2 (en) | 2016-05-25 | 2016-08-03 | Quality of service (QOS)-aware input/output (IO) management for peripheral component interconnect express (PCIE) storage system with reconfigurable multi-ports |
US15/227,959 | 2016-08-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201741887A TW201741887A (zh) | 2017-12-01 |
TWI772279B true TWI772279B (zh) | 2022-08-01 |
Family
ID=60417987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105140965A TWI772279B (zh) | 2016-05-25 | 2016-12-12 | 用於具有可重配置多端口的快捷外設互聯標準儲存系統的服務品質感測輸入輸出管理的方法、系統及設備 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10713202B2 (zh) |
JP (1) | JP7010598B2 (zh) |
KR (1) | KR102427550B1 (zh) |
CN (1) | CN107436855B (zh) |
TW (1) | TWI772279B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018206175A (ja) * | 2017-06-07 | 2018-12-27 | 富士通株式会社 | コンパイラ、情報処理装置及びコンパイル方法 |
US10963035B2 (en) * | 2017-10-11 | 2021-03-30 | Qualcomm Incorporated | Low power PCIe |
US10977198B2 (en) | 2018-09-12 | 2021-04-13 | Micron Technology, Inc. | Hybrid memory system interface |
CN109257431B (zh) * | 2018-10-12 | 2021-04-13 | 微网云(深圳)科技有限公司 | 分布式服务器系统 |
CN111278049B (zh) | 2019-01-11 | 2022-02-18 | 维沃移动通信有限公司 | 支持时间敏感通信服务质量的方法及通信设备 |
US11218396B2 (en) * | 2019-12-23 | 2022-01-04 | Seagate Technology Llc | Port-to-port network routing using a storage device |
CN111190843B (zh) * | 2020-01-08 | 2023-06-27 | 珠海趣印科技有限公司 | 一种提高打印速度和打印效果的方法 |
CN113419780B (zh) * | 2021-05-08 | 2023-05-12 | 中国科学院声学研究所 | 一种基于fpga加速卡的dpdk驱动系统 |
CN113807044B (zh) * | 2021-08-06 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 抗串扰pcie端口通道设计方法、系统、终端及存储介质 |
US11734207B1 (en) * | 2022-02-02 | 2023-08-22 | Western Digital Technologies, Inc. | Dynamic port allocation in PCIe bifurcation system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1233022A (zh) * | 1998-04-23 | 1999-10-27 | 富士通株式会社 | 信息处理设备和存储媒体 |
CN103281794A (zh) * | 2013-06-09 | 2013-09-04 | 重庆邮电大学 | 体域网中紧急数据优先传输调度方法 |
US20140173221A1 (en) * | 2012-12-14 | 2014-06-19 | Ahmad Samih | Cache management |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3188071B2 (ja) * | 1993-10-14 | 2001-07-16 | 富士通株式会社 | ディスクキャッシュ装置 |
US5634076A (en) * | 1994-10-04 | 1997-05-27 | Analog Devices, Inc. | DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer |
TW406229B (en) * | 1997-11-06 | 2000-09-21 | Hitachi Ltd | Data process system and microcomputer |
US6412027B1 (en) * | 1998-02-11 | 2002-06-25 | Globespanvirata, Inc. | Direct memory access controller having on-board arbitration circuitry |
US7162564B2 (en) * | 2002-07-09 | 2007-01-09 | Intel Corporation | Configurable multi-port multi-protocol network interface to support packet processing |
US7443845B2 (en) * | 2002-12-06 | 2008-10-28 | Cisco Technology, Inc. | Apparatus and method for a lightweight, reliable, packet-based transport protocol |
US7825684B2 (en) | 2005-03-15 | 2010-11-02 | Tabula, Inc. | Variable width management for a memory of a configurable IC |
US7937534B2 (en) * | 2005-12-30 | 2011-05-03 | Rajesh Sankaran Madukkarumukumana | Performing direct cache access transactions based on a memory access data structure |
JP4878185B2 (ja) * | 2006-03-17 | 2012-02-15 | 株式会社リコー | データ通信回路および調停方法 |
GB0616025D0 (en) | 2006-08-11 | 2006-09-20 | Aspex Semiconductor Ltd | Improvements relating to direct data input/output interfaces |
US20080063004A1 (en) * | 2006-09-13 | 2008-03-13 | International Business Machines Corporation | Buffer allocation method for multi-class traffic with dynamic spare buffering |
US7937532B2 (en) | 2007-03-30 | 2011-05-03 | Intel Corporation | Method and apparatus for speculative prefetching in a multi-processor/multi-core message-passing machine |
US8161209B2 (en) * | 2008-03-31 | 2012-04-17 | Advanced Micro Devices, Inc. | Peer-to-peer special purpose processor architecture and method |
US8949569B2 (en) * | 2008-04-30 | 2015-02-03 | International Business Machines Corporation | Enhanced direct memory access |
CN101631092A (zh) * | 2008-07-18 | 2010-01-20 | 株式会社日立制作所 | 数据分发系统及方法 |
US20100064080A1 (en) * | 2008-09-11 | 2010-03-11 | International Business Machines Corporation | Managing pci-express max payload size for legacy operating systems |
US8423710B1 (en) * | 2009-03-23 | 2013-04-16 | Marvell International Ltd. | Sequential writes to flash memory |
US20110103391A1 (en) * | 2009-10-30 | 2011-05-05 | Smooth-Stone, Inc. C/O Barry Evans | System and method for high-performance, low-power data center interconnect fabric |
JP2011186894A (ja) * | 2010-03-10 | 2011-09-22 | Ricoh Co Ltd | データ転送装置、画像処理装置、データ転送方法、データ転送プログラム及び記録媒体 |
US20110246686A1 (en) * | 2010-04-01 | 2011-10-06 | Cavanagh Jr Edward T | Apparatus and system having pci root port and direct memory access device functionality |
WO2012082792A2 (en) * | 2010-12-13 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for auto-commit memory |
US9432298B1 (en) * | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
CN102567256B (zh) * | 2011-12-16 | 2015-01-07 | 龙芯中科技术有限公司 | 处理器系统及其多通道内存拷贝dma加速器和方法 |
US9239607B2 (en) * | 2011-12-22 | 2016-01-19 | Intel Corporation | Storing data using a direct data path architecture to reduce energy consumption and improve performance |
KR101605285B1 (ko) * | 2012-03-07 | 2016-03-21 | 인텔 코포레이션 | 블레이드 및 랙 서버용 별도의 단일 클록 소스를 사용하는 스케일러블 공통 기준 클록킹 아키텍처 |
KR101598746B1 (ko) * | 2012-10-22 | 2016-02-29 | 인텔 코포레이션 | 고성능 상호연결 물리 계층 |
US9244872B2 (en) * | 2012-12-21 | 2016-01-26 | Ati Technologies Ulc | Configurable communications controller |
US9262270B2 (en) * | 2012-12-28 | 2016-02-16 | Intel Corporation | Live error recovery |
US20140198790A1 (en) * | 2013-01-17 | 2014-07-17 | International Business Machines Corporation | Data link layer analysis with packet trace replay |
CN104123252A (zh) * | 2013-04-26 | 2014-10-29 | 韩国科亚电子股份有限公司 | 多通道直接存储器存取控制器及其控制方法 |
US9648148B2 (en) * | 2013-12-24 | 2017-05-09 | Intel Corporation | Method, apparatus, and system for QoS within high performance fabrics |
US9734092B2 (en) | 2014-03-19 | 2017-08-15 | Facebook, Inc. | Secure support for I/O in software cryptoprocessor |
US9323701B2 (en) * | 2014-07-29 | 2016-04-26 | Netapp, Inc. | Technique for synchronizing IOMMU memory de-registration and incoming I/O data |
US9639473B1 (en) * | 2014-12-09 | 2017-05-02 | Parallel Machines Ltd. | Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location |
WO2016183028A2 (en) * | 2015-05-10 | 2016-11-17 | Apl Software Inc. | Methods and architecture for enhanced computer performance |
US10120809B2 (en) * | 2015-09-26 | 2018-11-06 | Intel Corporation | Method, apparatus, and system for allocating cache using traffic class |
US9779026B2 (en) * | 2016-01-14 | 2017-10-03 | Seagate Technology Llc | Cache bypass utilizing a binary tree |
US10157066B2 (en) * | 2016-03-21 | 2018-12-18 | Cisco Technology, Inc. | Method for optimizing performance of computationally intensive applications |
-
2016
- 2016-08-03 US US15/227,959 patent/US10713202B2/en active Active
- 2016-12-01 KR KR1020160162978A patent/KR102427550B1/ko active IP Right Grant
- 2016-12-12 TW TW105140965A patent/TWI772279B/zh active
-
2017
- 2017-02-16 CN CN201710084938.XA patent/CN107436855B/zh active Active
- 2017-04-13 JP JP2017079520A patent/JP7010598B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1233022A (zh) * | 1998-04-23 | 1999-10-27 | 富士通株式会社 | 信息处理设备和存储媒体 |
US20140173221A1 (en) * | 2012-12-14 | 2014-06-19 | Ahmad Samih | Cache management |
CN103281794A (zh) * | 2013-06-09 | 2013-09-04 | 重庆邮电大学 | 体域网中紧急数据优先传输调度方法 |
Also Published As
Publication number | Publication date |
---|---|
JP7010598B2 (ja) | 2022-01-26 |
CN107436855B (zh) | 2022-07-01 |
KR102427550B1 (ko) | 2022-08-01 |
KR20170133235A (ko) | 2017-12-05 |
US10713202B2 (en) | 2020-07-14 |
TW201741887A (zh) | 2017-12-01 |
JP2017211984A (ja) | 2017-11-30 |
CN107436855A (zh) | 2017-12-05 |
US20170344506A1 (en) | 2017-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI772279B (zh) | 用於具有可重配置多端口的快捷外設互聯標準儲存系統的服務品質感測輸入輸出管理的方法、系統及設備 | |
US9557922B2 (en) | System and method for peer-to-peer PCIe storage transfers | |
US7290066B2 (en) | Methods and structure for improved transfer rate performance in a SAS wide port environment | |
KR100555394B1 (ko) | Ngio/infiniband 어플리케이션용 리모트 키검증을 위한 방법 및 메커니즘 | |
US8312187B2 (en) | Input/output device including a mechanism for transaction layer packet processing in multiple processor systems | |
US8478982B2 (en) | Media access control security management in physical layer | |
US7287114B2 (en) | Simulating multiple virtual channels in switched fabric networks | |
US8521934B1 (en) | Multi-port context-based host controller | |
US11379374B2 (en) | Systems and methods for streaming storage device content | |
CN112543925A (zh) | 用于使用专用低延迟链路的多个硬件加速器的统一地址空间 | |
CN110727617B (zh) | 同时通过PCIe EP和网络接口访问双线SSD装置的方法和系统 | |
US10735335B2 (en) | Interface virtualization and fast path for network on chip | |
US11531636B2 (en) | Storage system, method, and apparatus for fast IO on PCIE devices | |
CN101425966A (zh) | 片上网络以及使用片上网络进行数据处理的方法 | |
TW202101951A (zh) | 輕量橋接器電路以及用於多實體功能模擬的方法及物品 | |
US20040100900A1 (en) | Message transfer system | |
US7177913B2 (en) | Method, system, and program for adding operations identifying data packets to structures based on priority levels of the data packets | |
TW200407712A (en) | Configurable multi-port multi-protocol network interface to support packet processing | |
US20170031841A1 (en) | Peripheral Device Connection to Multiple Peripheral Hosts | |
US20140164553A1 (en) | Host ethernet adapter frame forwarding | |
US7986630B1 (en) | High performance architecture for fiber channel targets and target bridges | |
WO2014035584A1 (en) | Limiting bandwidth for write transactions across networks of components in computer systems | |
CN112131166A (zh) | 轻量桥接器电路及其操作方法 |