TWI778350B - 具管線式資料變換功能之資料移動器系統 - Google Patents
具管線式資料變換功能之資料移動器系統 Download PDFInfo
- Publication number
- TWI778350B TWI778350B TW109112374A TW109112374A TWI778350B TW I778350 B TWI778350 B TW I778350B TW 109112374 A TW109112374 A TW 109112374A TW 109112374 A TW109112374 A TW 109112374A TW I778350 B TWI778350 B TW I778350B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- mover
- memory
- final
- data mover
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Advance Control (AREA)
- Pipeline Systems (AREA)
Abstract
一種具管線式資料變換功能之資料移動器系統包括耦接至一記憶體系統之一資料移動器裝置。該資料移動器裝置自包括在該記憶體系統中之一或多個記憶體位置讀取初始資料,且包括至少一個第一資料移動器元件,該至少一個第一資料移動器元件對該初始資料執行至少一個中間資料變換操作,以便產生中間資料。該資料移動器裝置亦包括至少一個第二資料移動器元件,該至少一個第二資料移動器元件隨後對該中間資料執行至少一個最終資料變換操作,以便產生最終資料。該資料移動器裝置接著將該最終資料寫入至包括在該記憶體系統中之一或多個記憶體位置。該資料移動器裝置可由一處理系統經由一單一描述符加以組態,該單一描述符將該資料移動器裝置組態為自該記憶體系統中之不同的記憶體位置執行多個讀取操作,以便讀取該初始資料。
Description
本發明大體上係關於資訊處置系統,且更特定而言,係關於在資訊處置系統中使用資料移動器裝置執行管線式資料變換。
發明背景
本發明大體上係關於資訊處置系統,且更特定而言,係關於在資訊處置系統中使用資料移動器裝置執行管線式資料變換。
隨著資訊之價值及使用持續增加,個人及企業都在尋求額外方式來處理及儲存資訊。使用者可用之一個選項為資訊處置系統。資訊處置系統通常出於企業、個人或其他目的而處理、編譯、儲存及/或傳達資訊或資料,藉此允許使用者利用資訊之價值。由於技術及資訊處置之需求及要求在不同使用者或應用之間會有所不同,因此資訊處置系統在處理何資訊、如何處理資訊、處理、儲存或傳達多少資訊及可如何快速且有效地處理、儲存或傳達資訊方面亦可能有所不同。資訊處置系統之變化允許資訊處置系統為通用的或針對特定使用者或特定用途(諸如金融交易處理、航空公司預訂、企業資料儲存或全球通信)進行組態。另外,資訊處置系統可包括可經組態以處理、儲存及傳達資訊之多種硬體及軟體組件,且可包括一或多個電腦系統、資料儲存系統及聯網系統。
諸如伺服器裝置之資訊處置系統所包括的處理系統(例如,中央處理單元(CPU))通常能夠提供經由由彼等處理系統執行之指令界定的多層級資料管線操作。如熟習本發明所屬領域之技術者將理解,資料管線由串聯連接之資料處理元件組提供,使得一個資料處理元件之輸出將輸入提供給下一資料處理元件,其中彼等資料處理元件通常以並行或按時間分段之方式執行,其間提供一定量之緩衝區儲存。現在,將資料移動器裝置引入伺服器裝置中,以便提供資料移動而無需利用大量之處理系統資源,但習知資料移動器裝置為單級、單執行步驟裝置,其可簡單地將資料自源記憶體位置移動至目的地記憶體位置(但有時經啟用以執行其他類似之簡單功能),不能進行多級/管線式資料變換。由此,實施資料移動器裝置之伺服器裝置仍將大量處理系統資源專用於資料變換操作。
因此,需要提供一種能夠執行資料變換操作的資料移動器裝置。
發明概要
根據一個實施例,一種資訊處置系統(IHS)包括:一資料移動器處理子系統;及一資料移動器記憶體子系統,該資料移動器記憶體子系統耦接至該資料移動器處理子系統且包括指令,該等指令在由該資料移動器處理子系統執行時使該資料移動器處理子系統提供一資料移動器引擎,該資料移動器引擎經組態以:自包括在一主記憶體系統中之至少一個主記憶體位置讀取初始資料;經由包括在該資料移動器引擎中之至少一個第一資料移動器元件對該初始資料執行至少一個中間資料變換操作,以便產生中間資料;經由在該資料移動器引擎中提供之至少一個第二資料移動器元件對該中間資料執行至少一個最終資料變換操作,以便產生最終資料;及將該最終資料寫入至包括在該主記憶體系統中之至少一個主記憶體位置。
較佳實施例之詳細說明
為了本發明之目的,資訊處置系統可包括可操作以計算、推算、判定、分類、處理、傳輸、接收、擷取、發起、切換、儲存、顯示、傳達、展現、偵測、記錄、複製、處置或利用任何形式的資訊、情報或資料以用於商業、科學、控制或其他目的的任何工具或工具集合。舉例而言,資訊處置系統可為個人電腦(例如,桌上型電腦或膝上型電腦)、平板電腦、行動裝置(例如,個人數位助理(PDA)或智慧型電話)、伺服器(例如,刀鋒伺服器或機架伺服器)、網路儲存裝置或任何其他合適之裝置,且大小、形狀、效能、功能性及價格可能會有所不同。資訊處置系統可包括隨機存取記憶體(RAM)、一或多個處理資源(諸如中央處理單元(CPU)或硬體或軟體控制邏輯)、ROM及/或其他類型之非揮發性記憶體。資訊處置系統之額外組件可包括一或多個磁碟驅動器、用於與外部裝置通信之一或多個網路埠以及多種輸入及輸出(I/O)裝置(例如鍵盤、滑鼠、觸控螢幕及/或視訊顯示器)。資訊處置系統亦可包括可操作以在多種硬體組件之間傳輸通信之一或多個匯流排。
在一個實施例中,圖1之IHS 100包括連接至匯流排104之處理器102。匯流排104用作處理器102與IHS 100之其他組件之間的連接。輸入裝置106耦接至處理器102以向處理器102提供輸入。輸入裝置之實例可包括鍵盤、觸控螢幕、諸如滑鼠、軌跡球及觸控板之指向裝置,及/或本領域中已知之多種其他輸入裝置。程式及資料儲存在耦接至處理器102之大容量儲存裝置108上。大容量儲存裝置之實例可包括硬碟、光碟、磁光碟、固態儲存裝置及/或本領域已知之多種其他大容量儲存裝置。IHS 100進一步包括顯示器110,該顯示器藉由視訊控制器112耦接至處理器102。系統記憶體114耦接至處理器102,以向處理器提供快速儲存,以促進處理器102執行電腦程式。系統記憶體之實例可包括隨機存取記憶體(RAM)裝置,諸如動態RAM (DRAM)、同步DRAM (SDRAM)、固態儲存裝置及/或本領域中已知之多種其他記憶體裝置。在一實施例中,機櫃116容納IHS 100之一些或所有組件。應理解,可在上述組件與處理器102之間部署其他匯流排及中間電路,以促進該等組件與處理器102之間的互連。
現在參考圖2,說明聯網系統200之實施例。在所說明之實施例中,聯網系統200包括伺服器裝置202。在一實施例中,伺服器裝置202可由以上參考圖1論述之IHS 100提供,及/或可包括IHS 100之一些或所有組件。然而,儘管說明且論述為伺服器裝置,但熟習本發明所屬領域之技術者將認識到,聯網系統200中提供之伺服器裝置202可由可經組態以類似地操作的任何裝置來提供,如下文論述。儘管下文僅說明及論述了單一伺服器裝置202,但熟習本發明所屬領域之技術者將認識到,可(且通常將)在聯網系統200 (例如,資料中心)中提供更多之伺服器裝置,且保持在本發明之範疇內。
在所說明之實施例中,伺服器裝置202耦接至網路204,該網路包括在聯網系統200中且可由例如區域網路(LAN)、網際網路及/或對於熟習本發明所屬領域之技術者將顯而易見的任何其他網路(或網路之組合)提供。此外,聯網系統200之所說明實施例包括經由網路204耦接至伺服器裝置202之記憶體系統206。在一實施例中,記憶體系統206可由上文參考圖1論述之IHS 100提供,及/或可包括IHS 100之一些或所有組件。在特定實例中,記憶體系統206可由一或多個單獨之伺服器裝置、提供為伺服器裝置202、204及206中之一或多者的邏輯部分,及/或以熟習本發明所屬領域之技術者將顯而易見的多種其他方式提供。在下文論述之實施例中,記憶體系統206提供可由伺服器裝置202經由網路204利用之網路連接之記憶體組構。
舉例而言,網路連接之記憶體組構可為由Z代(Gen-Z)聯盟建立及商業化之Gen-Z記憶體組構,且熟習本發明所屬領域之技術者將認識到,Gen-Z記憶體組構藉由使伺服器裝置202a-c中之處理系統/計算功能性與記憶體系統206中之記憶體系統/媒體功能性解耦而將處理系統/記憶體系統可位元組定址之負載/儲存模型擴展至整個聯網系統200,從而允許處理系統與記憶體系統充當使用相同語言且經由經簡化、高效能、低延遲之通信路徑進行通信之對等體,該等通信路徑不會招致與習知系統相關聯之轉譯損失及軟體額外負荷,因此消除瓶頸且經由通信路徑之統一及處理系統/記憶體系統通信所需的軟體之簡化而提高了效率。然而,熟習本發明所屬領域之技術者將認識到,其他類型之記憶體組構亦將落入本發明之範疇內。此外,儘管將伺服器裝置202說明為經由網路204耦接至記憶體系統206,但熟習本發明所屬領域之技術者將認識到,在其他實施例中,記憶體系統206可提供於伺服器裝置202中,同時仍實現下文描述之功能性且亦保持在本發明之範疇內。由此,儘管已說明及描述特定聯網系統200,但熟習本發明所屬領域之技術者將認識到,本發明之具管線式資料變換功能之資料移動器系統可利用多種其他組件及組件組態,同時亦保持在本發明之範疇內。
現在參考圖3,說明伺服器裝置300之一實施例,其可提供上文參考圖2論述之伺服器裝置202。由此,伺服器裝置300可由上文參考圖1論述之IHS 100提供及/或可包括IHS 100之一些或所有組件。此外,儘管說明及論述為伺服器裝置300,但熟習本發明所屬領域之技術者將認識到,下文論述之伺服器裝置300之功能性可由經組態以類似地操作之其他裝置來提供,如下文所論述。在所說明之實施例中,伺服器裝置300包括容納伺服器裝置300之組件的機櫃302,下文僅論述該等組件中的一些。
舉例而言且如圖3中所說明,機櫃302可容納複數個處理子系統304a、306a及308a,每個處理系統304a、306a及308a耦接至各別記憶體子系統304a,306a及308a。在不同實施例中,處理子系統304a、306a及308a可為由不同處理系統(例如,在多處理器系統中)及/或其組合提供之單一處理系統(例如,單一處理器中之核心)之一部分。類似地,在不同實施例中,儲存子系統304b、306b及308b可為由不同記憶體系統及/或其組合提供之單一記憶體系統之一部分。然而,儘管說明且描述了處理系統/記憶體系統組態之特定實例,但熟習本發明所屬領域之技術者將認識到,多種處理系統/記憶體系統組態將自本發明之教示受益,因此亦將落入其範疇內。
在一些實施例中,機櫃302可容納資料移動器處理系統(未說明,但可包括上文參考圖1論述之處理器102)及資料移動器記憶體系統(未說明,但可包括上文參考圖1論述之記憶體114),該資料移動器記憶體系統耦接至資料移動器處理系統,且包括在由資料移動器處理系統執行時使資料移動器處理系統提供經組態以執行下文論述之資料移動器引擎及/或資料移動器裝置之功能的資料移動器裝置310之指令。在所說明之實施例中,資料移動器裝置310說明為與處理子系統304a、306a及308a分離,且因此可由耦接至彼等處理子系統304a、306a及308a之單獨資料移動器硬體及軟體(例如,提供於周邊組件高速互連(PCIe)卡上之場可程式化閘陣列(FPGA)及/或此項技術中已知之其他子系統)提供。然而,在其他實施例中,資料移動器裝置310可與處理子系統304a、306a及308a中之任一者或每一者整合、包括在其中及/或以其他方式為其一部分。由此,在彼等實施例中,資料移動器裝置310a可由伺服器裝置300中之本端記憶體系統上之指令來提供,該本端記憶體系統由處理子系統304a、306a及308a中之任一者或每一者的CPU獨立部分所利用、提供為FPGA (其為處理子系統304a、306a及308a中之任一者或每一者的一部分),及/或以對於熟習本發明所屬領域之技術者而言顯而易見之多種方式提供。
在一些實施例中,除了下文論述之管線式資料變換操作之外,資料移動器裝置310亦可經組態以對處理子系統304a、306a及308a執行讀取、寫入、複製及/或其他資料移動操作,以便例如使處理子系統304a、306a及308a不必使用處理週期來執行彼等操作。然而,熟習本發明所屬領域之技術者將認識到,下文論述之資料移動器裝置310之管線式資料變換功能性可由其自身提供及/或與其他功能一起提供,同時亦保持在本發明之範疇內。儘管已描述資料移動器裝置實施方式及功能性之一些實例,但熟習本發明所屬領域之技術者將認識到,可以多種方式來實現資料移動器裝置310之多種不同功能性,其將亦落入本發明之範疇內。
在所說明之實施例中,機櫃302容納通信子系統312,其可包括網路介面控制器(NIC)、無線通信子系統(例如,BLUETOOTH®、近場通信(NFC)、WiFi等)及/或對於熟習本發明所屬領域之技術者而言顯而易見之其他通信組件。此外,在利用記憶體組構之本發明之實施例中,通信系統312可經組態以為伺服器裝置300提供記憶體組構管理操作。舉例而言,當記憶體組構為如上所述之Gen-Z記憶體組構時,通信系統312可包括Gen-Z記憶體管理單元(Gen-Z ZMMU),在下文提供之實例中,該單元作為Gen-Z ZMMU請求器操作,其為處理系統304a、306a及308a提供對Gen-Z記憶體組構之存取(例如,與記憶體系統206中之Gen-Z ZMMU回應器協作)。然而,熟習本發明所屬領域之技術者將認識到,用於其他記憶體組構之其他記憶體組構管理子系統可與本發明之教示一起使用,同時亦保持在本發明之範疇內。儘管已說明特定伺服器裝置300,但熟習本發明所屬領域之技術者將認識到,伺服器裝置(或根據本發明之教示以與下文針對伺服器裝置300所描述之方式類似的方式操作的其他裝置)可包括多種組件及/或組件組態,用於提供習知伺服器裝置功能以及下文論述之功能性,同時亦保持在本發明之範疇內。
現在參考圖4,說明資料移動器裝置400之實施例,其可為以上參考圖3論述之資料移動器裝置310。由此,資料移動器裝置可由資料移動器處理系統(未說明,但可包括上文參考圖1論述之處理器102)及資料移動器記憶體系統(未說明,但可包括上文參考圖1論述之記憶體114)提供,該資料移動器記憶體系統耦接至該資料移動器處理系統,且包括當由資料移動器處理系統執行時使資料移動器處理系統提供資料移動器裝置400之指令,該資料移動器裝置經組態以執行下文論述之資料移動器引擎及/或資料移動器裝置之功能。
此外,亦如上所述,資料移動器裝置400可為與以上參考圖2論述之處理子系統304a、306a及308a分離之裝置,且因此可由耦接至彼等處理子系統304a、306a及308a之單獨資料移動器硬體及軟體(例如,提供於周邊組件高速互連(PCIe)卡上之場可程式化閘陣列(FPGA)及/或此項技術中已知之其他子系統)提供。然而,亦如上所述,資料移動器裝置400可與處理子系統304a、306a及308a中之任一者或每一者整合、包括在其中及/或以其他方式為其一部分。由此,在彼等實施例中,資料移動器裝置400可由伺服器裝置300中之本端記憶體系統上之指令來提供,該本端記憶體系統由處理子系統304a、306a及308a中之任一者或每一者的CPU獨立部分所利用、提供為FPGA (其為處理子系統304a、306a及308a中之任一者或每一者的一部分),及/或以對於熟習本發明所屬領域之技術者而言顯而易見之多種方式提供,且熟習本發明所屬領域之技術者將認識到,可通過將資料移動器裝置提供為處理系統之部分來實現許多效率。在一些實例中,資料移動器裝置400對於處理子系統304a、306a及308a可呈現為單獨的連接的PCIe裝置(而不管資料移動器裝置400係與處理子系統單獨地提供還是提供為處理子系統之部分)。
在所說明之實施例中,資料移動器裝置400包括容納資料移動器裝置400之組件的機櫃402,在圖4中僅說明該等組件中之一些。如上所述,機櫃402可為處理系統機櫃(例如,當資料移動器裝置與處理系統整合時)、處理系統機櫃內之子機櫃、FPGA機櫃、PCI-e卡及/或熟習本發明所屬領域之技術者將顯而易見之任何其他機櫃。如圖4所說明,機櫃402可容納記憶體硬體404,如在下文提供之實例中所論述,該記憶體硬體可經組態以提供資料之儲存,且因此可包括記憶體裝置、提供資料儲存陣列之資料儲存子系統及/或對於熟習本發明所屬領域之技術者將顯而易見的其他類似子系統。機櫃402亦可容納資料複製硬體406,該資料複製硬體耦接至記憶體硬體404,且如以下實例中所論述,可經組態以提供經組態以存取記憶體系統且自可存取記憶體系統複製資料且執行實現下文論述之任何資料變換操作的操作之複製引擎。
機櫃402亦可容納資料操作硬體408,該資料操作硬體耦接至記憶體硬體404及資料複製硬體406,且如下文之實例中所論述,可經組態以提供經組態以執行下文論述之任何資料變換操作的資料操作引擎。機櫃402亦可容納資料功能硬體410,該資料功能硬體耦接至資料操作硬體408,且如下文之實例中所論述,可經組態以提供經組態以執行下文論述之任何資料變換操作的資料功能引擎。然而,儘管已說明及描述了資料移動器裝置400,但熟習本發明所屬領域之技術者將認識到,根據本發明之教示提供之資料移動器裝置可包括可實現多種不同之資料變換功能的多種不同的硬體子系統,同時亦保持在本發明之範疇內。熟習本發明所屬領域之技術者將認識到,資料移動器裝置400中提供之硬體子系統允許複雜之資料變換組態(下文論述其一個實例),其實現在習知資料移動器裝置中根本無法提供的多種複雜之資料變換功能性。
現在參考圖5,說明用於經由資料移動器系統提供管線式資料變換之方法500之實施例。如下所述,本發明之系統及方法提供可作為處理系統之一部分提供的架構資料移動器裝置(但與任何處理系統分開之本發明之資料移動器裝置的實施亦將落入本發明之範疇內)。可設想,本發明之資料移動器裝置係經由以下規範提供:該規範經組態以保持代系相容性,同時保持類似於指令集架構之穩定性,從而使資料移動器微操作(即,提供任何特定資料移動及/或變換操作)類似於對應之處理系統微操作而得以模型化。如下所述,用於資料移動器裝置之編譯器或作業系統可構建在用於處理系統之平台上,且可支援該處理系統及資料移動器裝置之指令集架構,從而允許其組態資料移動器裝置以執行多種所需之資料變換操作中之任一者。由此,資料移動器裝置可由處理系統組態以自記憶體系統中包括之至少一個記憶體位置讀取初始資料,使資料移動器裝置中包括之至少一個第一資料移動器元件對初始資料執行至少一個中間資料變換操作以便將初始資料變換為中間資料,使包括在資料移動器裝置中之至少一個第二資料移動器元件對中間資料執行至少一個最終資料變換操作以便將中間資料變換為最終資料;並且將最終資料寫入至包括在記憶體系統中之至少一個記憶體位置。因此,描述了提供管線式資料變換之架構資料移動器,以便進一步減輕此種資料變換操作利用處理系統資源方面的負擔。
方法500開始於區塊502,其中處理系統組態資料移動器裝置。在一個實施例中,在區塊502處,伺服器裝置300中之處理子系統可操作以例如藉由提供組態資料移動器裝置310/400中之硬體以執行多種管線式資料變換操作中之任一者的資料變換組態來組態資料移動器裝置310/400。如熟習本發明所屬領域之技術者將理解,處理系統用來執行管線式資料變換操作的指令將不同於在資料移動器裝置中提供類似功能所必需之指令。舉例而言,下表A說明了特定處理系統指令及其類似之資料移動器指令:
處理系統指令 | 資料移動器指令 |
運算元 | 描述符 |
運算符 | 資料變換功能 |
助記符 | 描述符規範 |
語法檢查 | 描述符邏輯解碼器 |
剖析器 | 波流解碼器 |
特權檢查 | 存取控制清單 |
上下文狀態(環境變數 | 具有預填充資料變數/狀態之裝置本端記憶體 |
如熟習本發明所屬領域之技術者所理解,可將上文表A的左欄中之處理系統指令之清單變換成表A的右欄中之對應資料移動器指令,且可用來組態資料移動器裝置310/400以執行在下文提供之實例中論述之記憶體/資料比較操作及記憶體/資料區別操作以及資料加密操作、資料壓縮操作及/或對於熟習本發明所屬領域之技術者將顯而易見的多種其他資料變換操作。舉例而言,用於資料移動器裝置310/400之編譯/作業系統可構建處理系統/資料移動器裝置指令集,該處理系統/資料移動器裝置指令集構成在用於伺服器裝置300的伺服器裝置構建期間在區塊502處提供給資料移動器裝置310/400之資料變換組態。在特定實例中,可將以下指令碼提供給資料移動器裝置310/400之編譯器/作業系統,以便在發現在伺服器裝置構建期間在伺服器裝置300中存在處理系統及資料移動器裝置兩者時使該編譯器/作業系統構建用於執行記憶體/資料比較之指令集/資料變換組態:
#define CPU
status = memcmp(src A, dest B, size)
#else DATA_MOVER
Status = data_mover_memcmp (src A, dest B, size)
#endif
如熟習本發明所屬領域之技術者將認識到,用此指令碼程式化之編譯器/作業系統使得能夠將資料移動器裝置與編譯器/作業系統進行整合,以使得此種編譯器/作業系統可插入資料移動器裝置中之資料移動器助記符,以便加快處理系統原本要執行之資料變換操作。
在伺服器裝置300之預組態操作的一個實例中,在伺服器裝置300之伺服器裝置構建時,資料移動器裝置310/400之編譯器/作業系統可對資料移動器裝置310/400執行檢查,以便判定任何處理系統/管線式資料變換功能由資料移動器裝置310/400支援,且接著可操作以構建指令集/資料變換組態,該等指令集/資料變換組態隨後可由處理系統在方法500之區塊502處提供給資料移動器裝置310/400。在特定實例中且參考上表A中之指令集對應關係,用於資料移動器裝置310/400之編譯器/作業系統識別提供特定管線式資料變換功能之處理系統指令集中之一或多個運算元,且接著判定資料移動器裝置310/400中是否存在對應描述符,且若存在,則可使用資料移動器裝置310/400之對應描述符來構建與彼等運算元相關聯之指令集。然而,儘管已描述指令集/資料變換組態之構建的特定實例,但熟習本發明所屬領域之技術者將認識到,可以類似之方式產生多種指令集/資料變換組態,同時亦保持在本發明之範疇內。
在圖6A中提供之特定實例中,資料移動器裝置310/400中之資料複製硬體406說明為提供一對複製引擎600a及600b,資料移動器裝置310/400中之記憶體硬體404說明為提供資料比較陣列602,資料移動器裝置310/400中之資料操作硬體408說明為提供包括第一資料操作元件604a及第二資料操作元件604b之資料操作引擎604,且資料移動器裝置310/400中之資料功能硬體410說明為提供第二層級功能引擎606,下文將進一步詳細論述其中之每一者。舉例而言,在區塊502處且如圖6A中提供之實例中所說明,處理子系統304a可向資料移動器裝置310/400提供資料變換組態608,以便組態在資料移動器裝置310/400中提供之任何硬體/引擎/子系統。在特定實例中,資料變換組態608可儲存在用於處理子系統304a之記憶體子系統304b中,且處理系統304a可自記憶體子系統304b擷取該資料變換組態608以用於組態資料移動器裝置310/400。
在特定實例中,資料變換組態608可包括描述符(其可對應於用於處理系統之運算元指令),在區塊502處,處理子系統304a將該等描述符載入至資料移動器裝置310/400中,以便組態資料移動器裝置310/400中之硬體/引擎/子系統以下文論述之方式操作。舉例而言,為了提供下文論述之記憶體/資料比較操作以及記憶體/資料區別操作,資料變換組態608可包括描述符,該描述符使資料複製硬體406提供自下文論述之不同記憶體位置讀取的複製引擎600a及600b。特定而言,經由本發明之教示,處理子系統304a可將單一描述符載入至資料移動器裝置中,該描述符將資料移動器裝置組態為例如經由由資料複製硬體406布建複製引擎600及600b來自記憶體系統中之不同記憶體位置執行多個讀取操作。然而,儘管已提供特定實例,但熟習本發明所屬領域之技術者將認識到,可以落入本發明之範疇內的多種方式來組態資料移動器裝置310/400。
接著,方法500進行至區塊504,其中資料移動器裝置自至少一個記憶體位置讀取初始資料。在一個實施例中,在區塊504處,由資料移動器裝置310/400中之資料複製硬體406提供之複製引擎600a可操作以自第一記憶體位置讀取初始資料。如上所述,在區塊502處,資料移動器裝置310/400之組態(且特定而言,經由上述單一描述符對該資料移動器裝置310/400之組態)可能已將資料複製硬體406組態為提供操作以自第一記憶體位置讀取初始資料610之複製引擎600a (且提供操作以自下文論述之第二記憶體位置讀取初始資料之複製引擎600b),且提供該初始資料610以儲存在由資料移動器裝置310/400中之記憶體硬體404提供之資料比較陣列602中,如圖6B所說明。舉例而言,第一記憶體位置可包括原始資料集,而複製引擎600b準備好之第二記憶體位置可包括待與原始資料集進行比較之經修改(或可能經修改)之資料集。如熟習本發明所屬領域之技術者將理解,可在記憶體系統206、記憶體子系統304b、306b及308b及/或可由資料移動器裝置310/400存取之任何其他記憶體系統中之任一者中提供第一記憶體位置及/或第二記憶體位置。此外,儘管已描述特定實例,但熟習本發明所屬領域之技術者將認識到,取決於所執行之資料變換操作,可以多種方式執行資料移動器裝置310/400對初始資料之讀取。舉例而言,對於本文所述之資料加密及/或資料壓縮操作,初始資料可自單一記憶體位置讀取,可包括自第一記憶體位置讀取待加密或壓縮之資料,及自第二記憶體位置讀取加密密鑰資料或壓縮演算法資料。
方法500接著前進至區塊506,其中資料移動器裝置中之第一資料移動器元件對初始資料執行中間資料變換操作以產生中間資料。如上文所論述,資料移動器裝置310/400在區塊502處之組態(且特定而言,經由上文論述之單一描述符)可能已將資料複製硬體406組態為提供操作以自第二記憶體位置讀取初始資料612之複製引擎600b,且提供該初始資料612用於中間資料變換操作,如圖6C所說明。在所說明之實施例中,中間資料變換操作614由資料操作引擎604中之資料操作元件604a提供,在特定實例中,圖6A-C中所提供,該等資料操作元件在執行XOR運算,以便將自第一記憶體位置擷取且儲存在資料比較陣列602中之原始資料與由複製引擎600b自第二記憶體位置擷取之經修改(或可能經修改)資料進行比較。如熟習本發明所屬領域之技術者將認識到,由資料操作引擎604中之資料操作元件604a執行之XOR運算的結果可產生中間資料,該中間資料識別XOR運算是否判定出待比較資料之區別。然而,在其他實例中,中間資料變換操作可包括產生中間加密資料之第一資料加密操作,產生中間壓縮資料之第一壓縮操作及/或對於熟習本發明所屬領域之技術者將顯而易見之任何其他資料變換操作。
方法500接著前進至區塊508,其中資料移動器裝置中之第二資料移動器元件對中間資料執行中間資料變換操作以產生最終資料。在一實施例中,在區塊508處且如圖6D所示,最終資料變換操作614由資料操作引擎604中之資料操作元件604b提供,在該特定實例中,該等資料操作元件執行XOR運算以便比較資料。如熟習本發明所屬領域之技術者將認識到,由資料操作引擎604中之資料操作元件604a執行之XOR運算的結果可產生中間資料,該中間資料識別XOR運算是否判定出所比較資料之區別,且由資料操作元件604b執行之最終資料操作可包括多種操作(例如,多項式變換函數、乘法及累加函數、編碼函數等),其可提供中間資料至最終資料之變換,如圖6D之特定實例所說明,該最終資料由資料操作元件604b中之一者傳輸至由資料功能硬體410提供之第二層級功能引擎606。然而,在其他實例中,最終資料變換操作可包括產生最終加密資料之第二資料加密操作、產生最終壓縮資料之第二壓縮操作及/或對於熟習本發明所屬領域之技術者將顯而易見之任何其他資料變換操作。
接著,方法500進行至區塊510,其中資料移動器裝置將最終資料寫入至至少一個記憶體位置。在一個實施例中,在區塊510處且如圖6E所說明,由資料功能硬體410提供之第二層級功能引擎606可將在區塊508處接收到之最終資料寫入至包括在可存取記憶體系統(例如,記憶體系統206、儲存子系統304b、306b及308b及/或任何其他可存取記憶體系統)中之一或多個記憶體位置。舉例而言,在區塊510中,第二層級功能引擎可寫入最終資料,該最終資料包括與包括在可存取記憶體系統中之一或多個記憶體位置的管線式記憶體/資料比較操作之結果。在另一實例中,在區塊510處,第二層級功能引擎可將包括在管線式記憶體/資料區別操作中識別出之記憶體資料區別之最終資料寫入至包括在可存取記憶體系統中之一或多個記憶體位置。在又一實例中,在區塊510處,第二層級功能引擎可將包括在管線式資料加密操作中產生之加密資料的最終資料寫入至包括在可存取記憶體系統中之一或多個記憶體位置。在又一實例中,在區塊510處,第二層級功能引擎可將包括在管線式資料壓縮操作中產生之壓縮資料的最終資料寫入至包括在可存取記憶體系統中之一或多個記憶體位置。儘管已描述一些特定實例,但熟習本發明所屬領域之技術者將認識到,可在區塊510處將經由由資料移動器裝置執行之任何管線式資料變換操作產生之任何最終資料寫入至記憶體位置處,同時保持在本發明之範疇內。
因此,已描述了可提供架構資料移動器裝置作為處理系統之一部分且經由經組態以維持代系相容性之規範提供同時亦保持類似於指令集架構之穩定性之系統及方法,使得資料移動器微操作(即,提供任何特定資料移動及/或變換操作)類似於對應之處理系統微操作而得以模型化。在用於處理系統之平台上構建之資料移動器裝置之編譯器或作業系統亦支援該處理系統及資料移動器裝置之指令集架構,從而允許在資料移動器裝置中組態硬體子系統以執行多種所需資料變換操作中之任一者。由此,資料移動器裝置可由處理系統組態以自包括在記憶體系統中之記憶體位置讀取初始資料,使包括在資料移動器裝置中之第一資料移動器元件對初始資料執行中間資料變換操作以便將初始資料變換為中間資料,使包括在資料移動器裝置中之第二資料移動器元件對中間資料執行最終資料變換操作以將中間資料變換為最終資料,且將最終資料寫入至包括在記憶體系統中之記憶體位置。因此,描述了架構資料移動器,該等架構資料移動器提供管線式資料變換,該等管線式資料變換操作以進一步減輕資料變換操作利用處理系統資源方面的負擔。
儘管已示出且描述了說明性實施例,但在前述揭示內容中設想了多種修改、改變及替換,且在一些情況下,實施例之一些特徵可在不相應地使用其他特徵的情況下來採用。因此,可適當地廣義地且以與本文揭示之實施例之範疇一致之方式解釋所附申請專利範圍。
100:IHS
102:處理器
104:匯流排
106:輸入裝置
108:大容量儲存裝置
110:顯示器
112:視訊控制器
114:系統記憶體
116:機櫃
200:聯網系統
202:伺服器裝置
204:網路/伺服器裝置
206:記憶體系統/伺服器裝置
300:伺服器裝置
302:機櫃
304a:處理子系統
304b:儲存子系統
306a:處理子系統
306b:儲存子系統
308a:處理子系統
308b:儲存子系統
310:資料移動器裝置
312:通信子系統
400:資料移動器裝置
402:機櫃
404:記憶體硬體
406:資料複製硬體
408:資料操作硬體
410:資料功能硬體
500:方法
502:區塊
504:區塊
506:區塊
508:區塊
510:區塊
600a:複製引擎
600b:複製引擎
602:資料比較陣列
604:資料操作引擎
604a:第一資料操作元件
604b:第二資料操作元件
606:第二層級功能引擎
608:資料變換組態
610:初始資料
612:初始資料
圖1為說明資訊處置系統(IHS)之一實施例之示意圖。
圖2為說明聯網系統之一實施例之示意圖。
圖3為說明伺服器裝置之一實施例的示意圖,該伺服器裝置可在圖2之聯網系統中提供且包括本發明之具管線式資料變換功能之資料移動器系統。
圖4為說明可在圖3之伺服器裝置中提供的資料移動器裝置之一實施例之示意圖。
圖5為說明用於使用資料移動器裝置提供管線式資料變換的方法之一實施例之流程圖。
圖6A為說明在圖5之方法期間操作的圖4之資料移動器裝置之一實施例之示意圖。
圖6B為說明在圖5之方法期間操作的圖4之資料移動器裝置之一實施例之示意圖。
圖6C為說明在圖5之方法期間操作的圖4之資料移動器裝置之一實施例之示意圖。
圖6D為說明在圖5之方法期間操作的圖4之資料移動器裝置之一實施例之示意圖。
圖6E為說明在圖5之方法期間操作的圖4之資料移動器裝置之一實施例之示意圖。
300:伺服器裝置
302:機櫃
304a:處理子系統
304b:儲存子系統
306a:處理子系統
306b:儲存子系統
308a:處理子系統
308b:儲存子系統
310:資料移動器裝置
312:通信子系統
Claims (15)
- 一種具管線式資料變換功能之資料移動器系統,該資料移動器系統包括:一記憶體系統;一處理系統,該處理系統耦接至該記憶體系統;及一資料移動器裝置,該資料移動器裝置耦接至該記憶體系統,其中該資料移動器裝置經組態以:自該處理系統接收一資料變換組態,該資料變換組態將該資料移動器裝置組態用以讀取初始資料、執行至少一個中間資料變換操作、執行至少一個最終資料變換操作且寫入最終資料;自包括在該記憶體系統中之至少一個記憶體位置讀取該初始資料;經由包括在該資料移動器裝置中之至少一個第一資料移動器元件對該初始資料執行該至少一個中間資料變換操作,以便產生中間資料;經由包括在該資料移動器裝置中之至少一個第二資料移動器元件對該中間資料執行該至少一個最終資料變換操作,以便產生該最終資料;及將該最終資料寫入至包括在該記憶體系統中之至少一個記憶體位置。
- 如請求項1之系統,其中該資料變換組態包括一單一描述符,該單一描述符將該資料移動器裝置組態為自該記憶體系統中之不同的記憶體位置執行多個讀取操作,以便讀取該初始資料。
- 如請求項1或2中任一項之系統,其中該資料移動器裝置經組態以:在執行該至少一個最終資料變換操作之前,儲存該中間資料。
- 如請求項1或2中任一項之系統,其中該至少一個中間資料變換操作包括一記憶體比較操作,該記憶體比較操作比較自該記憶體系統中之不 同的記憶體位置擷取之該初始資料,且其中該至少一個最終資料變換操作包括一資料區別操作,該資料區別操作識別自在該記憶體比較操作中執行之該比較產生的該中間資料之區別,以提供該最終資料。
- 如請求項1或2中任一項之系統,其中該至少一個中間資料變換操作包括對自該記憶體系統擷取之該初始資料執行以產生該中間資料之一第一資料加密操作,且其中該至少一個最終資料變換操作包括對自該第一加密操作產生之該中間資料執行以提供該最終資料之一第二資料加密操作。
- 一種資訊處置系統(IHS),該資訊處置系統包括:一主處理系統,該主處理系統耦接至一主記憶體系統;一資料移動器處理子系統;及一資料移動器記憶體子系統,該資料移動器記憶體子系統耦接至該資料移動器處理子系統且包括指令,該等指令在由該資料移動器處理子系統執行時致使該資料移動器處理子系統提供一資料移動器引擎,該資料移動器引擎如請求項1至5中任一項之資料移動器裝置運作,該資料移動器引擎經組態以:自該主處理系統接收一資料變換組態,該資料變換組態將該資料移動器引擎組態用以讀取初始資料、執行至少一個中間資料變換操作、執行至少一個最終資料變換操作且寫入最終資料;自包括在該主記憶體系統中之至少一個主記憶體位置讀取該初始資料;經由在該資料移動器引擎中提供之至少一個第一資料移動器元件對該初始資料執行該至少一個中間資料變換操作,以便產生中間資料;經由在該資料移動器引擎中提供之至少一個第二資料移動器元件對該中間資料執行該至少一個最終資料變換操作,以便產生該最終資料;及將該最終資料寫入至包括在該主記憶體系統中之至少一個主記憶體位置。
- 如請求項6之IHS,其中該資料變換組態包括一單一描述符, 該單一描述符將該資料移動器引擎組態為自該主記憶體系統中之不同的主記憶體位置執行多個讀取操作,以便讀取該初始資料。
- 如請求項6之IHS,其中該資料移動器引擎經組態以:在執行該至少一個最終資料變換操作之前,儲存該中間資料。
- 如請求項6至8中任一項之IHS,其中該至少一個中間資料變換操作包括一記憶體比較操作,該記憶體比較操作比較自該主記憶體系統中之不同的主記憶體位置擷取之該初始資料,且其中該至少一個最終資料變換操作包括一資料區別操作,該資料區別操作識別自在該記憶體比較操作中執行之該比較產生的該中間資料之區別,以提供該最終資料。
- 如請求項6至8中任一項之IHS,其中該至少一個中間資料變換操作包括對自該主記憶體系統擷取之該初始資料執行以產生該中間資料之一第一資料加密操作,且其中該至少一個最終資料變換操作包括對自該第一加密操作產生之該中間資料執行以提供該最終資料之一第二資料加密操作。
- 一種用於經由一資料移動器系統提供管線式資料變換之方法,該方法包括:藉由一資料移動器裝置自耦接至一記憶體系統之一處理系統接收一資料變換組態,該資料變換組態將該資料移動器裝置組態用以讀取初始資料、執行至少一個中間資料變換操作、執行至少一個最終資料變換操作且寫入最終資料;藉由該資料移動器裝置自包括在該記憶體系統中之至少一個記憶體位置讀取該初始資料;藉由該資料移動器裝置經由包括在該資料移動器裝置中之至少一個第一資料移動器元件對該初始資料執行該至少一個中間資料變換操作,以便產生中間資料;藉由該資料移動器裝置經由包括在該資料移動器裝置中之至少一個第二資 料移動器元件對該中間資料執行該至少一個最終資料變換操作,以便產生該最終資料;及藉由該資料移動器裝置將該最終資料寫入至包括在該記憶體系統中之至少一個記憶體位置。
- 如請求項11之方法,其中該資料變換組態包括一單一描述符,該單一描述符將該資料移動器裝置組態為自該記憶體系統中之不同的記憶體位置執行多個讀取操作,以便讀取該初始資料。
- 如請求項11或12中任一項之方法,其中該至少一個中間資料變換操作包括一記憶體比較操作,該記憶體比較操作比較自該記憶體系統中之不同的記憶體位置擷取之該初始資料,且其中該至少一個最終資料變換操作包括一資料區別操作,該資料區別操作識別自在該記憶體比較操作中執行之該比較產生的該中間資料之區別,以提供該最終資料。
- 如請求項11或12中任一項之方法,其中該至少一個中間資料變換操作包括對自該記憶體系統擷取之該初始資料執行以產生該中間資料之一第一資料加密操作,且其中該至少一個最終資料變換操作包括對自該第一加密操作產生之該中間資料執行以提供該最終資料之一第二資料加密操作。
- 如請求項11或12中任一項之方法,其中該至少一個中間資料變換操作包括對自該記憶體系統擷取之該初始資料執行以產生該中間資料之一第一資料壓縮操作,且其中該至少一個最終資料變換操作包括對自該第一加密操作產生之該中間資料執行以提供該最終資料之一第二資料壓縮操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/401,913 US11157423B2 (en) | 2019-05-02 | 2019-05-02 | Pipelined-data-transform-enabled data mover system |
US16/401,913 | 2019-05-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202111523A TW202111523A (zh) | 2021-03-16 |
TWI778350B true TWI778350B (zh) | 2022-09-21 |
Family
ID=70775559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109112374A TWI778350B (zh) | 2019-05-02 | 2020-04-13 | 具管線式資料變換功能之資料移動器系統 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11157423B2 (zh) |
EP (1) | EP3963446A1 (zh) |
CN (1) | CN113692570B (zh) |
TW (1) | TWI778350B (zh) |
WO (1) | WO2020223575A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113126914B (zh) * | 2021-03-26 | 2022-07-19 | 福州智象信息技术有限公司 | 一种基于智能音箱操作系统的个性化数据存储方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1050800A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | A pipelined execution unit |
US20120110316A1 (en) * | 2003-05-23 | 2012-05-03 | Washington University | Intelligent Data Storage and Processing Using FPGA Devices |
TW201701291A (zh) * | 2015-06-18 | 2017-01-01 | 愛思開海力士有限公司 | 非揮發性記憶體系統及其操作方法 |
TW201725509A (zh) * | 2015-12-18 | 2017-07-16 | 英特爾公司 | 用於安全指令執行管線之指令及邏輯 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5944797A (en) | 1997-05-28 | 1999-08-31 | International Business Machines Corporation | Data mover hardware controlled processing in a commanding system and in a commanded system for controlling frame communications on a link |
US6195739B1 (en) | 1998-06-29 | 2001-02-27 | Cisco Technology, Inc. | Method and apparatus for passing data among processor complex stages of a pipelined processing engine |
US9015390B2 (en) * | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
JP2007272982A (ja) * | 2006-03-31 | 2007-10-18 | Matsushita Electric Ind Co Ltd | 半導体記憶装置およびその検査方法 |
US9021226B2 (en) * | 2011-06-10 | 2015-04-28 | International Business Machines Corporation | Moving blocks of data between main memory and storage class memory |
US9201606B1 (en) * | 2013-05-20 | 2015-12-01 | Ca, Inc. | System and method for automating data migrations between heterogeneous architectures |
US11120329B2 (en) * | 2016-05-07 | 2021-09-14 | Intel Corporation | Multicast network and memory transfer optimizations for neural network hardware acceleration |
WO2018058403A1 (en) * | 2016-09-29 | 2018-04-05 | Intel Corporation | Techniques for movement of data between virtual machines |
US11119981B2 (en) * | 2017-10-27 | 2021-09-14 | Hewlett Packard Enterprise Development Lp | Selectively redirect-on-write data chunks in write-in-place file systems |
-
2019
- 2019-05-02 US US16/401,913 patent/US11157423B2/en active Active
-
2020
- 2020-04-13 TW TW109112374A patent/TWI778350B/zh active
- 2020-04-30 EP EP20727077.8A patent/EP3963446A1/en active Pending
- 2020-04-30 CN CN202080028891.5A patent/CN113692570B/zh active Active
- 2020-04-30 WO PCT/US2020/030883 patent/WO2020223575A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1050800A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | A pipelined execution unit |
US20120110316A1 (en) * | 2003-05-23 | 2012-05-03 | Washington University | Intelligent Data Storage and Processing Using FPGA Devices |
TW201701291A (zh) * | 2015-06-18 | 2017-01-01 | 愛思開海力士有限公司 | 非揮發性記憶體系統及其操作方法 |
TW201725509A (zh) * | 2015-12-18 | 2017-07-16 | 英特爾公司 | 用於安全指令執行管線之指令及邏輯 |
Also Published As
Publication number | Publication date |
---|---|
CN113692570A (zh) | 2021-11-23 |
US11157423B2 (en) | 2021-10-26 |
WO2020223575A1 (en) | 2020-11-05 |
EP3963446A1 (en) | 2022-03-09 |
CN113692570B (zh) | 2024-04-16 |
US20200349095A1 (en) | 2020-11-05 |
TW202111523A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220382526A1 (en) | Techniques for distributed operation of secure controllers | |
US10810208B2 (en) | Efficient evaluation of queries with multiple predicate expressions | |
CN109219821A (zh) | 运算装置和方法 | |
Alshammari et al. | H2hadoop: Improving hadoop performance using the metadata of related jobs | |
US9459897B2 (en) | System and method for providing data analysis service in cloud environment | |
US20200301857A1 (en) | Multi-port storage device multi-socket memory access system | |
US10108605B1 (en) | Natural language processing system and method | |
JP2021507382A (ja) | ブロックチェーンネットワークのアカウント処理方法、装置、機器及び記憶媒体 | |
US9424205B2 (en) | System and method for SATA virtualization and domain protection | |
US20220318160A1 (en) | Computational pipelines for computational storage devices | |
TWI778350B (zh) | 具管線式資料變換功能之資料移動器系統 | |
JP2022101478A (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 | |
Fakhry et al. | A review on computational storage devices and near memory computing for high performance applications | |
US11093175B1 (en) | Raid data storage device direct communication system | |
US11157191B2 (en) | Intra-device notational data movement system | |
Li et al. | Performance analysis and framework optimization of open source cloud storage system | |
HeydariGorji et al. | In-storage processing of I/O intensive applications on computational storage drives | |
US11003378B2 (en) | Memory-fabric-based data-mover-enabled memory tiering system | |
Adhikari et al. | A performance analysis of openstack cloud vs real system on hadoop clusters | |
US11106543B2 (en) | Application image cloning system | |
Sun et al. | FPGA-based acceleration architecture for Apache Spark operators | |
US10853293B2 (en) | Switch-based inter-device notational data movement system | |
Liu et al. | An Abstract Description Method of Map‐Reduce‐Merge Using Haskell | |
Gajbe et al. | Benchmarking and performance studies of mapreduce/hadoop framework on blue waters supercomputer | |
Mayhew | SAHARA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |