KR20200078331A - 장치로 애플리케이션 기능들을 오프로드하는 시스템 및 방법 - Google Patents
장치로 애플리케이션 기능들을 오프로드하는 시스템 및 방법 Download PDFInfo
- Publication number
- KR20200078331A KR20200078331A KR1020190159399A KR20190159399A KR20200078331A KR 20200078331 A KR20200078331 A KR 20200078331A KR 1020190159399 A KR1020190159399 A KR 1020190159399A KR 20190159399 A KR20190159399 A KR 20190159399A KR 20200078331 A KR20200078331 A KR 20200078331A
- Authority
- KR
- South Korea
- Prior art keywords
- bridge kernel
- host
- bridge
- kernel
- dram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Stored Programmes (AREA)
Abstract
Description
도 1b는 브릿지 커널에 의해 상이한 커널들로의 비용 기반 라우팅 프로세스를 도시한다.
도 2a 내지 2b는 오프로드된 커널과 접속하는 호스트 애플리케이션의 예시적인 흐름을 도시한다.
도 3은 브릿지 커널에 의해 호스트에 제시된 레지스터 인터페이스의 예를 도시한다.
도 4는 도 1에 도시된 것처럼 핸드셰이크 영역의 레이아웃의 예를 도시한다.
도 5는 브릿지 커널 하드웨어를 상태 기계로서 사용하는 방법을 도시한다.
도 6은 브릿지 커널 펌웨어 동작을 도시한다.
Claims (20)
- 호스트 장치;
임베디드 프로세서를 포함하는 저장 장치; 및
브릿지 커널 하드웨어 및 브릿지 커널 펌웨어를 포함하는 브릿지 커널 장치를 포함하되,
상기 브릿지 커널 장치는 상기 호스트 장치로부터 복수의 인자를 수신하고, 데이터 처리를 위해 상기 임베디드 프로세서로 상기 복수의 인자를 전송하도록 구성되는 시스템. - 제 1 항에 있어서,
상기 브릿지 커널 장치의 구현은 상기 호스트 장치에 투명하고,
상기 브릿지 커널 장치는 상기 호스트 장치와 상기 브릿지 커널 장치간의 전송 메커니즘에 무관하고,
상기 전송 메커니즘은 PCIe(Peripheral Component Interconnect express) 또는 이더넷 연결 중 하나인 시스템. - 제 1 항에 있어서,
상기 저장 장치는 SSD(Solid State Device)이고,
상기 임베디드 프로세서는 FPGA(Field Programmable Gate Array) 프로세서 또는 SSD 컨트롤러 또는 이산 보조 프로세서이고,
상기 임베디드 프로세서는 상기 임베디드 프로세서 상에서 실행되도록 구성되는 오프로드된 애플리케이션 기능들을 포함하고, 상기 브릿지 커널 펌웨어를 더 포함하고,
상기 브릿지 커널 장치는 상기 호스트 장치로부터 수신된 복수의 인자를 상기 오프로드된 애플리케이션 기능들로 전송하고, 상기 호스트 장치의 호스트 레지스터 인터페이스로부터 수신된 상기 복수의 인자를 페치하는 시스템. - 제 3 항에 있어서,
상기 스토리지 장치는 FIFO(First In, First Out) 레지스터 및 DRAM(Dynamic Random-Acess Memory)을 포함하고,
상기 DRAM은 상기 호스트 장치로부터 수신된 상기 복수의 인자를 저장하기 위해 복수의 데이터 버퍼 및 핸드셰이크 영역을 포함하고,
상기 FIFO 레지스터 및 상기 DRAM은 상기 브릿지 커널 하드웨어와 통신 가능하도록 연결되는 시스템. - 제 4 항에 있어서,
상기 FIFO 레지스터는 데이터 처리를 위해 상기 오프로드된 애플리케이션 기능들을 포함하는 상기 임베디드 프로세서로 상기 복수의 인자를 통과시키도록 구성되는 시스템. - 제 4 항에 있어서,
상기 브릿지 커널 하드웨어는 상기 호스트 장치로부터 수신된 상기 복수의 인자를 상기 DRAM의 상기 핸드셰이크 영역에 일시적으로 저장하도록 구성되는 시스템. - 제 4 항에 있어서,
상기 브릿지 커널 장치는 상기 호스트 장치의 고객 애플리케이션 모듈 상에서 실행되는 호스트 애플리케이션에 대해 프록시로써 동작하도록 구성되고,
상기 호스트 애플리케이션은 상기 오프로드된 애플리케이션 기능들이 어디서 또는 어떻게 실행되는지와 무관한 시스템. - 제 4 항에 있어서,
상기 호스트 장치는 고객 애플리케이션 모듈 및 OpenCL(Open Computing Language) 모듈을 포함하고,
상기 호스트 장치는 상기 저장 장치를 이용하여 PCIe(Peripheral Component Internet express) 또는 이더넷 연결을 설정하도록 구성되는 시스템. - 제 8 항에 있어서,
상기 브릿지 커널 하드웨어는 복수의 하드웨어 커널을 포함하고,
상기 브릿지 커널 펌웨어는 상기 임베디드 프로세서 상에서 실행되도록 구성되는 복수의 소프트웨어 커널을 포함하고,
상기 호스트 장치의 상기 고객 애플리케이션 모듈 상에서 실행되는 호스트 애플리케이션은 상기 OpenCL 모듈을 통해 상기 복수의 소프트웨어 커널 및 상기 복수의 하드웨어 커널 중 적어도 하나와 접속하도록 구성되는 시스템. - 제 9 항에 있어서,
상기 브릿지 커널 장치는 비용 기능에 기초하여 데이터 처리를 위해 상기 하드웨어 커널 및 상기 복수의 소프트웨어 커널 중에서 하나 이상의 커널을 선택하도록 구성되는 시스템. - 제 10 항에 있어서,
상기 브릿지 커널 장치는 상기 복수의 인자 및 상기 호스트 장치로부터 수신된 스토리지 또는 네트워킹 파라미터를 이용하여, 상기 비용 기능에 기초하여 데이터 처리를 위해 상기 하나 이상의 커널을 선택하도록 구성되고, 상기 호스트 장치로부터 수신된 상기 스토리지 또는 상기 네트워킹 파라미터는 SQID(Submission Queue Identifier), CQID(Completion Queue Identifier), 스트림 ID, 호스트 ID, LBA(Logical Block Address) 범위, NSID(Network Service ID), MAC(Media Access Control) ID, TCP(Transmission Control Protocol)/IP(Internet Protocol) 필드, 애플리케이션 식별자, 또는 상기 호스트와 관련된 시간 및 날짜 중 적어도 하나를 포함하는 시스템. - 제 11 항에 있어서,
상기 브릿지 커널 장치는 상기 FIFO 레지스터를 이용하여 데이터 처리를 위해 상기 복수의 하드웨어 커널 및 상기 복수의 소프트웨어 커널 중에서 하나 이상의 커널을 선택하도록 구성되는 시스템. - 제 12 항에 있어서,
상기 브릿지 커널 펌웨어는 상기 DRAM의 상기 핸드셰이크 영역 내의 상기 복수의 인자를 페치하도록 구성되고, 상기 호스트 장치로부터 수신된 상기 복수의 인자를 갖는 상기 오프로드된 애플리케이션 기능들을 호출하도록 구성되는 시스템. - 제 13 항에 있어서,
상기 오프로드된 애플리케이션 기능들은 데이터 처리를 위해 상기 복수의 인자를 사용하도록 구성되는 시스템. - 저장 장치 내의 브릿지 커널 장치에 의해, 상기 저장 장치와 연결된 호스트 장치로부터 트리거를 수신하는 단계;
상기 브릿지 커널 장치에 의해, 상기 호스트 장치로부터 수신된 복수의 인자를 페치하는 단계;
상기 브릿지 커널 장치에 의해, 상기 저장 장치의 DRAM 내에 상기 복수의 인자를 저장하는 단계;
상기 브릿지 커널 장치에 의해, 상기 DRAM 내에 제 1 준비 플래그를 설정하는 단계;
상기 브릿지 커널 장치에 의해, 상기 복수의 인자에 기초하여 상기 저장 장치의 임베디드 프로세서 내의 상기 브릿지 커널 장치의 펌웨어 내의 오프로드된 기능들의 처리가 완료되었는지를 결정하는 상기 브릿지 커널 장치에 기초하여, 상기 DRAM 내의 완료 플래그를 폴링하는 단계; 및
상기 브릿지 커널 장치에 의해, 상기 브릿지 커널 장치가 상기 복수의 인자를 페치하도록 구성되는 호스트 레지스터 인터페이스 내에 제 2준비 플래그가 설정되는 단계를 포함하되,
상기 복수의 인자는 상기 DRAM의 핸드셰이크 영역 내에 저장되고,
상기 제 1 준비 플래그는 상기 DRAM의 상기 핸드셰이크 영역 내에 설정되고,
상기 완료 플래그는 상기 DRAM의 상기 핸드셰이크 영역 내에 폴링되는 방법. - 제 15 항에 있어서,
상기 브릿지 커널 장치에 의해, 상기 DRAM의 상기 핸드셰이크 영역 내의 상기 완료 플래그를 감지하는 것에 기초하여, 상기 DRAM의 상기 핸드셰이크 영역으로부터 에러 또는 상태를 판독하는 단계; 및
상기 브릿지 커널 장치에 의해, 상기 호스트 레지스터 인터페이스로 상기 에러 또는 상기 상태를 업데이트 하는 단계를 더 포함하는 방법. - 제 15 항에 있어서,
상기 브릿지 커널 장치의 상기 펌웨어에 의해, 상기 DRAM 내에 제 1 준비 플래그를 폴링하는 단계;
상기 브릿지 커널 장치의 상기 펌웨어에 의해, 상기 DRAM의 핸드셰이크 영역 내에 복수의 인자를 페치하는 단계;
상기 브릿지 커널 장치의 상기 펌웨어에 의해, 데이터 처리를 위해 상기 복수의 인자를 갖는 상기 스토리지 장치의 상기 임베디드 프로세서 내의 오프로드된 애플리케이션 기능들을 호출하는 단계;
상기 오프로드된 애플리케이션 기능들에 의해, 상기 데이터 처리의 완료에 기초하여 상기 브릿지 커널 장치의 상기 펌웨어로 상기 브릿지 커널 장치의 상기 펌웨어에 의해 호출된 상기 오프로드된 애플리케이션 기능들을 반환하는 단계; 및
상기 브릿지 커널 장치의 상기 펌웨어에 의해, 상기 DRAM의 상기 핸드셰이크 영역 내에 완료 플래그를 설정하는 단계를 더 포함하는 방법. - 임베디드 프로세서를 포함하는 저장 장치; 및
호스트 장치로부터 복수의 인자를 수신하고, 데이터 처리를 위해 상기 복수의 인자를 상기 임베디드 프로세서로 전송하는 브릿지 커널 장치를 포함하는 시스템. - 제 18 항에 있어서,
상기 브릿지 커널 장치는 브릿지 커널 하드웨어 및 브릿지 커널 펌웨어를 포함하고,
상기 저장 장치는 SSD(Solid State Drive)이고,
상기 임베디드 프로세서는 FPGA(Field Programmable Gate Array) 프로세서 또는 SSD 컨트롤러 또는 이산 보조 프로세서이고,
상기 임베디드 프로세서는 오프로드된 애플리케이션 기능들 및 상기 브릿지 커널 펌웨어를 포함하고;
상기 브릿지 커널 장치는 상기 호스트 장치로부터 수신된 상기 복수의 인자를 상기 임베디드 프로세서 상에서 실행되도록 구성되는 상기 오프로드된 애플리케이션 기능들로 전송하고, 상기 호스트 장치로부터 수신된 복수의 인자를 상기 호스트 레지스터 인터페이스로부터 페치하는 시스템. - 제 19 항에 있어서,
상기 저장 장치는 FIFO(First In First Out) 레지스터 및 DRAM(Dynamic Random Acess Memory)를 포함하고,
상기 DRAM은 복수의 데이터 버퍼 및 핸드셰이크 영역을 포함하고,
상기 FIFO 레지스터 및 상기 DRAM은 상기 브릿지 커널 하드웨어와 통신 가능하도록 연결되고,
상기 브릿지 커널 하드웨어는 복수의 하드웨어 커널 및 복수의 소프트웨어 커널을 포함하고,
상기 복수의 소프트웨어 커널은 상기 임베디드 프로세서에서 실행되도록 구성되고,
상기 브릿지 커널 장치는 상기 복수의 인자 및 상기 호스트 장치로부터 수신된 스토리지 또는 네트워킹 매개 변수들을 이용하여, 비용 기능에 기초하여 데이터 처리를 위해 상기 복수의 하드웨어 커널 및 상기 복수의 소프트웨어 커널 중에서 하나 이상의 커널을 선택하도록 구성되고,
상기 호스트 장치로부터 수신된 상기 스토리지 또는 상기 네트워킹 파라미터는 SQID(Submission Queue Identifier), CQID(Completion Queue Identifier), 스트림 ID, 호스트 ID, LBA(Logical Block Address) 범위, NSID(Network Service ID), MAC(Media Access Control) ID, TCP(Transmission Control Protocol)/IP(Internet Protocol) 필드, 애플리케이션 식별자, 또는 상기 호스트와 관련된 시간 및 날짜 중 하나 이상을 포함하고,
상기 브릿지 커널 장치는 상기 FIFO 레지스터를 사용하여 데이터 처리를 위해 상기 복수의 하드웨어 커널 및 상기 복수의 소프트웨어 커널 중에서 상기 하나 이상의 커널을 선택하도록 구성되는 시스템.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862784275P | 2018-12-21 | 2018-12-21 | |
| US62/784,275 | 2018-12-21 | ||
| US16/543,264 | 2019-08-16 | ||
| US16/543,264 US11204819B2 (en) | 2018-12-21 | 2019-08-16 | System and method for offloading application functions to a device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200078331A true KR20200078331A (ko) | 2020-07-01 |
| KR102833381B1 KR102833381B1 (ko) | 2025-07-11 |
Family
ID=71096874
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190159399A Active KR102833381B1 (ko) | 2018-12-21 | 2019-12-03 | 장치로 애플리케이션 기능들을 오프로드하는 시스템 및 방법 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US11204819B2 (ko) |
| JP (1) | JP7506472B2 (ko) |
| KR (1) | KR102833381B1 (ko) |
| CN (1) | CN111352666B (ko) |
| TW (1) | TWI865471B (ko) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20230052207A (ko) * | 2021-10-12 | 2023-04-19 | 삼성전자주식회사 | 스토리지 장치의 장치 프로그램에 액세스하는 시스템, 방법, 및 장치 |
| US12249003B2 (en) | 2021-06-09 | 2025-03-11 | Samsung Electronics Co., Ltd. | Device and method with data preprocessing |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11016755B2 (en) * | 2019-07-31 | 2021-05-25 | Dell Products L.P. | System and method to secure embedded controller flashing process |
| KR102876844B1 (ko) * | 2020-03-09 | 2025-10-27 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그 동작 방법 |
| CN113051206B (zh) * | 2020-05-04 | 2024-10-18 | 威盛电子股份有限公司 | 桥接电路与计算机系统 |
| JP7560200B2 (ja) | 2020-11-05 | 2024-10-02 | Necソリューションイノベータ株式会社 | 情報処理方法 |
| US11687276B2 (en) | 2021-01-26 | 2023-06-27 | Seagate Technology Llc | Data streaming for computational storage |
| JP7566674B2 (ja) | 2021-03-18 | 2024-10-15 | キオクシア株式会社 | メモリシステム、方法及びデータ処理システム |
| US12393830B2 (en) | 2021-06-15 | 2025-08-19 | Seagate Technology Llc | Deep learning computational storage drive |
| US11675540B2 (en) | 2021-08-05 | 2023-06-13 | Seagate Technology Llc | In-line data flow for computational storage |
| US12346595B2 (en) | 2021-12-27 | 2025-07-01 | Dell Products L.P. | System and method for a local level data sharding analysis of information handling systems |
| US12363203B2 (en) | 2022-01-05 | 2025-07-15 | Dell Products L.P. | Method and system for managing telemetry services for composed information handling systems |
| US12223359B2 (en) | 2022-01-05 | 2025-02-11 | Dell Products L.P. | Computational offloads for composed information handling systems |
| US12223357B2 (en) | 2022-01-05 | 2025-02-11 | Dell Products L.P. | Method and system for performing predictive compositions for composed information handling systems using telemetry data |
| US11728979B2 (en) | 2022-01-05 | 2023-08-15 | Dell Products L.P. | Method and system for performing telemetry services for composed information handling systems |
| CN114035842B (zh) * | 2022-01-07 | 2022-04-08 | 飞腾信息技术有限公司 | 固件配置方法、计算系统配置方法、计算装置以及设备 |
| US12204940B2 (en) * | 2022-01-17 | 2025-01-21 | Xilinx, Inc. | Transparent and remote kernel execution in a heterogeneous computing system |
| CN115145592A (zh) * | 2022-09-01 | 2022-10-04 | 新华三技术有限公司 | 离线模型部署方法和装置、网络设备、分析器 |
| KR20240066845A (ko) * | 2022-11-08 | 2024-05-16 | 삼성전자주식회사 | 오프로딩 프로그램을 실행하는 연산 저장 장치 및 이를 포함하는 전자 시스템 |
| US20240281354A1 (en) * | 2023-02-17 | 2024-08-22 | Samsung Electronics Co., Ltd. | System and method for identifying kernels suitable for computational storage |
| CN116633900B (zh) * | 2023-06-01 | 2025-11-07 | 北京火山引擎科技有限公司 | 逻辑地址分配方法、装置、电子设备及存储介质 |
| CN116541336B (zh) * | 2023-07-04 | 2024-06-11 | 南方电网数字电网研究院有限公司 | 多核芯片、协处理器的软件运行方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150025393A (ko) * | 2013-08-29 | 2015-03-10 | 주식회사 유니테스트 | 복수개의 스토리지를 개별 제어 가능한 테스트 장치 |
| KR20170092091A (ko) * | 2016-02-02 | 2017-08-10 | 삼성전자주식회사 | 폴리모픽 저장 장치들 |
Family Cites Families (50)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
| US6715011B1 (en) * | 2000-05-31 | 2004-03-30 | International Business Machines Corporation | PCI/PCI-X bus bridge with performance monitor |
| US7870384B2 (en) * | 2002-11-06 | 2011-01-11 | International Business Machines Corporation | Offload processing for secure data transfer |
| US20040123287A1 (en) * | 2002-12-19 | 2004-06-24 | International Business Machines Corporation | System and method for installation and Integration of component datamodels |
| US8549345B1 (en) * | 2003-10-31 | 2013-10-01 | Oracle America, Inc. | Methods and apparatus for recovering from a failed network interface card |
| TWI252424B (en) | 2004-04-05 | 2006-04-01 | Genesys Logic Inc | Computer operational environment transition system, related devices, method, and computer readable storage medium |
| US20060143506A1 (en) * | 2004-12-29 | 2006-06-29 | Lsi Logic Corporation | RAID storage controller assist circuit, systems and methods |
| US20070043804A1 (en) * | 2005-04-19 | 2007-02-22 | Tino Fibaek | Media processing system and method |
| US8151323B2 (en) | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
| US8019929B2 (en) * | 2006-09-13 | 2011-09-13 | Rohm Co., Ltd. | Data processing apparatus and data control circuit for use therein |
| US7958280B2 (en) * | 2006-10-27 | 2011-06-07 | Stec, Inc. | Parallel data transfer in solid-state storage |
| US9734086B2 (en) | 2006-12-06 | 2017-08-15 | Sandisk Technologies Llc | Apparatus, system, and method for a device shared between multiple independent hosts |
| DE102007023246B3 (de) * | 2007-05-18 | 2008-04-03 | Dräger Medical AG & Co. KG | Vorrichtung zum Beatmen eines Patienten und Verfahren zum Betreiben dieser Vorrichtung |
| US7660933B2 (en) * | 2007-10-11 | 2010-02-09 | Broadcom Corporation | Memory and I/O bridge |
| JP4839489B2 (ja) * | 2008-02-06 | 2011-12-21 | Necシステムテクノロジー株式会社 | ディスクリプタ制御方法、ダイレクトメモリ転送装置およびプログラム |
| US9223642B2 (en) * | 2013-03-15 | 2015-12-29 | Super Talent Technology, Corp. | Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance |
| WO2010029812A1 (ja) * | 2008-09-09 | 2010-03-18 | 日本電気株式会社 | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム |
| JP5225010B2 (ja) | 2008-10-14 | 2013-07-03 | キヤノン株式会社 | プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 |
| US20110283059A1 (en) * | 2010-05-11 | 2011-11-17 | Progeniq Pte Ltd | Techniques for accelerating computations using field programmable gate array processors |
| KR101564569B1 (ko) * | 2011-01-18 | 2015-11-03 | 엘에스아이 코포레이션 | 상위-레벨 리던던시 정보 계산 |
| US20120331278A1 (en) * | 2011-06-23 | 2012-12-27 | Mauricio Breternitz | Branch removal by data shuffling |
| US20140059278A1 (en) | 2011-11-14 | 2014-02-27 | Lsi Corporation | Storage device firmware and manufacturing software |
| US8848741B2 (en) | 2012-06-21 | 2014-09-30 | Breakingpoint Systems, Inc. | High-speed CLD-based TCP segmentation offload |
| KR20140067737A (ko) | 2012-11-27 | 2014-06-05 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 |
| US20140201416A1 (en) | 2013-01-17 | 2014-07-17 | Xockets IP, LLC | Offload processor modules for connection to system memory, and corresponding methods and systems |
| US20150052280A1 (en) * | 2013-08-19 | 2015-02-19 | Emulex Design & Manufacturing Corporation | Method and system for communications-stack offload to a hardware controller |
| US10326448B2 (en) * | 2013-11-15 | 2019-06-18 | Scientific Concepts International Corporation | Code partitioning for the array of devices |
| US10332229B2 (en) * | 2014-05-12 | 2019-06-25 | Palo Alto Research Center Incorporated | System and method for high performance k-means clustering on GPU with smart kernels |
| WO2015193947A1 (ja) * | 2014-06-16 | 2015-12-23 | 株式会社日立製作所 | 物理計算機及び仮想計算機移行方法 |
| KR102269271B1 (ko) * | 2014-09-12 | 2021-06-28 | 삼성전자주식회사 | 오픈 컴퓨팅 언어 기반의 애플리케이션 실행 방법 및 장치 |
| US9632831B2 (en) | 2014-09-29 | 2017-04-25 | Samsung Electronics Co., Ltd. | Distributed real-time computing framework using in-storage processing |
| US11099918B2 (en) * | 2015-05-11 | 2021-08-24 | Xilinx, Inc. | Accelerating algorithms and applications on FPGAs |
| US20170046152A1 (en) | 2015-08-12 | 2017-02-16 | Quanta Computer Inc. | Firmware update |
| US10075524B1 (en) * | 2015-09-29 | 2018-09-11 | Amazon Technologies, Inc. | Storage bridge device for communicating with network storage |
| US10031736B2 (en) * | 2015-09-29 | 2018-07-24 | Quanta Computer Inc. | Automatic system software installation on boot |
| JP2017102552A (ja) * | 2015-11-30 | 2017-06-08 | 日本電気株式会社 | コンピュータシステム |
| US10445271B2 (en) * | 2016-01-04 | 2019-10-15 | Intel Corporation | Multi-core communication acceleration using hardware queue device |
| KR101923661B1 (ko) * | 2016-04-04 | 2018-11-29 | 주식회사 맴레이 | 플래시 기반 가속기 및 이를 포함하는 컴퓨팅 디바이스 |
| US20180115496A1 (en) * | 2016-10-21 | 2018-04-26 | Advanced Micro Devices, Inc. | Mechanisms to improve data locality for distributed gpus |
| US10235202B2 (en) * | 2016-11-08 | 2019-03-19 | International Business Machines Corporation | Thread interrupt offload re-prioritization |
| CN108733479B (zh) * | 2017-04-24 | 2021-11-02 | 上海宝存信息科技有限公司 | 卸载固态硬盘卡的方法以及使用该方法的装置 |
| US10545860B2 (en) * | 2017-08-10 | 2020-01-28 | Samsung Electronics Co., Ltd. | Intelligent high bandwidth memory appliance |
| WO2019043710A1 (en) * | 2017-08-31 | 2019-03-07 | Rail Vision Ltd | SYSTEM AND METHOD FOR IMPROVING FLOW IN NUMEROUS CALCULATIONS |
| US10445118B2 (en) * | 2017-09-22 | 2019-10-15 | Intel Corporation | Methods and apparatus to facilitate field-programmable gate array support during runtime execution of computer readable instructions |
| US10719474B2 (en) | 2017-10-11 | 2020-07-21 | Samsung Electronics Co., Ltd. | System and method for providing in-storage acceleration (ISA) in data storage devices |
| US10896139B2 (en) * | 2018-03-15 | 2021-01-19 | Western Digital Technologies, Inc. | Methods and apparatus for host register access for data storage controllers for ongoing standards compliance |
| US20200301898A1 (en) * | 2018-06-25 | 2020-09-24 | BigStream Solutions, Inc. | Systems and methods for accelerating data operations by utilizing dataflow subgraph templates |
| US10719462B2 (en) * | 2018-09-25 | 2020-07-21 | Intel Corporation | Technologies for computational storage via offload kernel extensions |
| US11074101B2 (en) * | 2018-10-23 | 2021-07-27 | International Business Machines Corporation | Automated switching between interrupt context I/O processing and thread context I/O processing |
| US12254337B2 (en) * | 2021-09-24 | 2025-03-18 | Intel Corporation | Technologies for expanded trusted domains |
-
2019
- 2019-08-16 US US16/543,264 patent/US11204819B2/en active Active
- 2019-11-22 TW TW108142424A patent/TWI865471B/zh active
- 2019-12-03 KR KR1020190159399A patent/KR102833381B1/ko active Active
- 2019-12-18 CN CN201911311441.2A patent/CN111352666B/zh active Active
- 2019-12-20 JP JP2019229993A patent/JP7506472B2/ja active Active
-
2021
- 2021-12-15 US US17/552,276 patent/US12265862B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150025393A (ko) * | 2013-08-29 | 2015-03-10 | 주식회사 유니테스트 | 복수개의 스토리지를 개별 제어 가능한 테스트 장치 |
| KR20170092091A (ko) * | 2016-02-02 | 2017-08-10 | 삼성전자주식회사 | 폴리모픽 저장 장치들 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12249003B2 (en) | 2021-06-09 | 2025-03-11 | Samsung Electronics Co., Ltd. | Device and method with data preprocessing |
| KR20230052207A (ko) * | 2021-10-12 | 2023-04-19 | 삼성전자주식회사 | 스토리지 장치의 장치 프로그램에 액세스하는 시스템, 방법, 및 장치 |
| US12147701B2 (en) | 2021-10-12 | 2024-11-19 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for accessing a device program on a storage device |
Also Published As
| Publication number | Publication date |
|---|---|
| US12265862B2 (en) | 2025-04-01 |
| US20200201692A1 (en) | 2020-06-25 |
| TWI865471B (zh) | 2024-12-11 |
| JP7506472B2 (ja) | 2024-06-26 |
| JP2020102218A (ja) | 2020-07-02 |
| CN111352666B (zh) | 2025-11-25 |
| US20220107857A1 (en) | 2022-04-07 |
| US11204819B2 (en) | 2021-12-21 |
| KR102833381B1 (ko) | 2025-07-11 |
| TW202042059A (zh) | 2020-11-16 |
| CN111352666A (zh) | 2020-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102833381B1 (ko) | 장치로 애플리케이션 기능들을 오프로드하는 시스템 및 방법 | |
| Tork et al. | Lynx: A smartnic-driven accelerator-centric architecture for network servers | |
| US12554906B2 (en) | Low latency and highly programmable interrupt controller unit | |
| CN106663021B (zh) | 虚拟化环境中的智能gpu调度 | |
| US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
| US10394604B2 (en) | Method for using local BMC to allocate shared GPU resources inside NVMe over fabrics system | |
| US20250060908A1 (en) | Maintaining connection with cxl host on reset | |
| WO2016155335A1 (zh) | 异构多核可重构计算平台上任务调度的方法和装置 | |
| KR102052964B1 (ko) | 컴퓨팅 스케줄링 방법 및 시스템 | |
| US12141613B2 (en) | Resource management for preferred applications | |
| US11366690B2 (en) | Scheduling commands in a virtual computing environment | |
| US10558574B2 (en) | Reducing cache line collisions | |
| Smolyar et al. | Ioctopus: Outsmarting nonuniform dma | |
| US20230195664A1 (en) | Software management of direct memory access commands | |
| US20220058062A1 (en) | System resource allocation for code execution | |
| CN113439260B (zh) | 针对低时延存储设备的i/o完成轮询 | |
| US20250245065A1 (en) | Load balancing technologies | |
| US11119787B1 (en) | Non-intrusive hardware profiling | |
| US20250013493A1 (en) | Frequency scaling in multi-tenant environments | |
| US12307087B2 (en) | Polymorphic computing architecture for computational storage | |
| US20230199078A1 (en) | Acceleration of microservice communications | |
| US20250251961A1 (en) | Enforcement of maximum memory access latency for virtual machine instances | |
| CN106922189B (zh) | 设备代理装置及其控制方法 | |
| US20250181550A1 (en) | Unified Management Framework for Mediating Access to a Reconfigurable Processor System | |
| EP4647871A1 (en) | Frequency scaling in multi-tenant environments |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| F11 | Ip right granted following substantive examination |
Free format text: ST27 STATUS EVENT CODE: A-2-4-F10-F11-EXM-PR0701 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U11-OTH-PR1002 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| Q13 | Ip right document published |
Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE) |