KR20200028280A - 메모리 액세스 커맨드를 위한 전송 디스크립터 - Google Patents
메모리 액세스 커맨드를 위한 전송 디스크립터 Download PDFInfo
- Publication number
- KR20200028280A KR20200028280A KR1020187013674A KR20187013674A KR20200028280A KR 20200028280 A KR20200028280 A KR 20200028280A KR 1020187013674 A KR1020187013674 A KR 1020187013674A KR 20187013674 A KR20187013674 A KR 20187013674A KR 20200028280 A KR20200028280 A KR 20200028280A
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- descriptor
- transfer
- command
- memory device
- 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
- 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/0647—Migration mechanisms
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
도 1은 본 발명의 일 실시예에 따른 방법을 구현하기에 적합한 컴퓨터 시스템의 개략적인 블록도이다;
도 2a 내지 도 2d는 본 발명의 일 실시예에 따라 전송 디스크립터(transfer descriptor)를 사용하기 위한 구성 요소들의 개략적인 블록도이다;
도 3은 종래 기술에 따른 명령 워드의 필드들의 다이어그램이다; 및
도 4a 및 도 4b는 본 발명의 일 실시예에 따라 메모리 액세스 커맨드에서 전송 디스크립터를 처리하기 위한 방법의 프로세스 흐름도를 도시한다.
Claims (20)
- 방법으로서,
복수의 명령을 저장하는 메모리 디바이스를 제공하는 단계로서, 상기 복수의 명령의 각 명령은 (a) 명령 코드, (b) 소스 유형, 및 (c) 소스 어드레스를 포함하는, 상기 복수의 명령을 저장하는 메모리 디바이스를 제공하는 단계;
상기 메모리 디바이스에 동작 가능하게 연결된 처리 디바이스를 제공하는 단계;
상기 처리 디바이스에 의해, 상기 메모리 디바이스로부터 상기 복수의 명령 중 제1 명령을 검색하는 단계; 및
상기 처리 디바이스 및 메모리 제어 시스템 중 적어도 하나에 의해 상기 제1 명령을 처리하는 단계로서,
상기 제1 명령의 소스 유형이 전송 디스크립터 플래그(transfer descriptor flag)인지를 결정하고;
상기 제1 명령의 소스 유형이 상기 전송 디스크립터 플래그인 것으로 결정한 것에 응답하여, 전송 버퍼 내의 상기 제1 명령의 소스 어드레스에 저장된 제1 전송 디스크립터를 실행하여 제1 중간 결과를 획득하고;
상기 제1 중간 결과에 대해 상기 제1 명령의 명령 코드를 실행하는 것에 의해, 상기 제1 명령을 처리하는 단계를 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 처리 디바이스에 의해, 상기 메모리 디바이스로부터 상기 복수의 명령 중 제2 명령을 검색하는 단계; 및
상기 처리 디바이스 및 메모리 제어 시스템 중 하나에 의해 상기 제2 명령을 처리하는 단계로서,
상기 제2 명령의 소스 유형이 전송 디스크립터 플래그가 아닌지를 결정하고;
상기 제2 명령의 소스 유형이 전송 디스크립터 플래그가 아닌 것으로 결정한 것에 응답하여, 상기 제2 명령의 소스 어드레스에 저장된 데이터 값을 요청하고;
상기 데이터 값에 대해 상기 제2 명령의 명령 코드를 실행하는 것에 의해, 상기 제2 명령을 처리하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제2항에 있어서, 상기 제2 명령의 명령 코드는 상기 제1 명령의 명령 코드와 동일하여, 상기 제2 명령의 명령 코드를 실행하는 것은 상기 제1 명령의 명령 코드를 실행하는 것과 동일한 동작을 수행하는 것을 포함하는 것을 특징으로 하는 방법.
- 제3항에 있어서, 상기 제1 중간 결과에 대해 상기 제1 명령의 명령 코드를 실행하는 것은 제1 결과 값을 산출하고, 상기 방법은,
상기 제1 명령의 목적지 유형이 상기 전송 디스크립터 플래그인지를 결정하는 단계;
상기 제1 명령의 목적지 유형이 상기 전송 디스크립터 플래그인 것으로 결정한 것에 응답하여, 상기 전송 버퍼 내의 상기 제1 명령의 목적지 어드레스에 저장된 제2 전송 디스크립터를 실행하여 제2 중간 결과를 획득하는 단계; 및
상기 제2 중간 결과에 대응하는 어드레스에 저장된 상기 제1 결과 값을 상기 메모리 디바이스에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제4항에 있어서, 상기 데이터 값에 대해 상기 제2 명령의 명령 코드를 실행하는 것은 제2 결과 값을 산출하고, 상기 방법은,
상기 제2 명령의 목적지 유형이 상기 전송 디스크립터 플래그가 아닌지를 결정하는 단계; 및
상기 제2 명령의 목적지 유형이 상기 전송 디스크립터 플래그가 아닌 것으로 결정한 것에 응답하여, 상기 제2 명령의 목적지 어드레스에서 상기 메모리 디바이스에 상기 제2 결과 값을 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제5항에 있어서, 상기 제1 전송 디스크립터를 실행하는 단계는 상기 제1 전송 디스크립터의 상태를 업데이트하는 단계를 포함하고;
상기 제2 전송 디스크립터를 실행하는 단계는 상기 제2 전송 디스크립터의 상태를 업데이트하는 단계를 포함하는 것을 특징으로 하는 방법. - 제6항에 있어서, 상기 제1 전송 디스크립터를 실행하는 단계는,
상기 제1 전송 디스크립터의 상태에 따라 적어도 하나의 판독 어드레스를 식별하는 단계; 및
상기 메모리 디바이스에서 상기 적어도 하나의 판독 어드레스로부터 적어도 하나의 검색된 데이터 값을 검색하는 단계를 더 포함하고;
상기 제1 중간 결과는 상기 검색된 데이터 및 상기 적어도 하나의 검색된 데이터 값으로부터 유도된 값 중 적어도 하나인 것을 특징으로 하는 방법. - 제5항에 있어서, 상기 제1 명령을 처리하는 단계는 애플리케이션에 의해 인스턴스화(instantiated)된 제1 실행 스레드(thread)를 실행하는 동안 상기 프로세서에 의해 수행되고, 상기 방법은,
상기 프로세서에 의해, 상기 제1 전송 디스크립터와 상기 제2 전송 디스크립터 중 적어도 하나의 전송 디스크립터의 상태를 평가하는 단계;
상기 제1 전송 디스크립터의 상태와 상기 제2 전송 디스크립터의 상태 중 적어도 하나가 임계 조건을 충족하는지를 결정하는 단계; 및
상기 제1 전송 디스크립터의 상태와 상기 제2 전송 디스크립터의 상태 중 상기 적어도 하나가 상기 임계 조건을 충족한다고 결정한 것에 응답하여, 상기 애플리케이션에 의해 인스턴스화된 상기 제1 실행 스레드와 이와 다른 실행 스레드 중 적어도 하나의 실행 스레드의 적어도 하나의 실행을 차단하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서, 상기 전송 버퍼는 상기 메모리 디바이스와는 별개의 디바이스인 것을 특징으로 하는 방법.
- 제9항에 있어서,
상기 제1 명령의 소스 유형이 상기 전송 디스크립터 플래그인지를 결정하는 것; 및
상기 제1 명령의 소스 유형이 상기 전송 디스크립터 플래그인 것으로 결정한 것에 응답하여, 상기 전송 버퍼 내의 상기 제1 명령의 소스 어드레스에 저장된 상기 제1 전송 디스크립터를 실행하여 상기 제1 중간 결과를 획득하는 것의 둘 모두는,
상기 처리 디바이스와 상기 메모리 디바이스 사이에 개재된 상기 처리 디바이스와는 별개의 디바이스에 의해 수행되는 것을 특징으로 하는 방법. - 시스템으로서,
메모리 디바이스; 및
상기 메모리 디바이스에 동작 가능하게 연결된 처리 디바이스를 포함하고, 상기 처리 디바이스는 (a) 명령 코드, (b) 소스 유형, 및 (c) 소스 어드레스를 포함하는 명령들을 처리하도록 프로그래밍되고, 상기 처리 디바이스는,
상기 메모리 디바이스로부터 명령을 검색하고;
상기 처리 디바이스에 의해 상기 명령을 처리하는 것과, 상기 메모리 디바이스와 상기 처리 디바이스 사이에 개재된 메모리 제어 시스템에서 상기 명령을 처리하는 것 중 적어도 하나를 수행하여;
상기 명령의 소스 유형을 평가하고;
상기 명령의 소스 유형이 전송 디스크립터 플래그인 경우, (i) 전송 버퍼 내의 상기 소스 어드레스에 대응하는 어드레스에서 대응하는 전송 디스크립터를 검색하고, (ii) 상기 대응하는 전송 디스크립터를 실행하여 제1 중간 결과를 획득하고, (iii) 상기 제1 중간 결과에 대한 상기 명령의 명령 코드를 실행하여 결과 값을 획득하는데 효과적이도록 더 프로그래밍된 것을 특징으로 하는 시스템. - 제11항에 있어서, 상기 처리 디바이스는, 상기 처리 디바이스에 의해 상기 명령을 처리하는 것과, 상기 메모리 디바이스와 상기 처리 디바이스 사이에 개재된 상기 메모리 제어 시스템에서 상기 명령의 처리를 호출하는 것 중 적어도 하나를 수행하여,
상기 명령의 소스 유형이 상기 전송 디스크립터 플래그가 아닌 경우, (iv) 상기 명령의 소스 어드레스에서 상기 메모리 디바이스에 저장된 데이터 값을 검색하고, (v) 상기 소스 어드레스에서 상기 메모리 디바이스에 저장된 상기 데이터 값에 대해 상기 명령의 명령 코드를 실행하는데 효과적이도록 더 프로그래밍된 것을 특징으로 하는 시스템. - 제12항에 있어서, (a) 상기 명령 코드에 응답하여 수행되는 동작이 상기 소스 유형에 상관 없이 동일하도록 상기 처리 디바이스가 상기 명령 코드를 실행하도록 프로그래밍되는 것과, (b) 상기 처리 디바이스가 상기 메모리 제어 시스템에서 상기 명령을 처리하도록 프로그래밍되는 것 중 적어도 하나가 수행되고, 상기 메모리 제어 시스템은 상기 소스 유형에 상관 없이 상기 명령 코드에 응답하여 수행되는 동작이 동일하도록 프로그래밍되는 것을 특징으로 하는 시스템.
- 제13항에 있어서, 상기 처리 디바이스는, 상기 처리 디바이스에 의해 상기 명령을 처리하는 것과, 상기 메모리 디바이스와 상기 처리 디바이스 사이에 개재된 상기 메모리 제어 시스템에서 상기 명령의 처리를 호출하는 것 중 적어도 하나를 수행하여,
상기 명령의 목적지 유형을 평가하고;
상기 명령의 목적지 유형이 상기 전송 디스크립터 플래그인 경우, (ⅵ) 상기 명령의 목적지 어드레스에 대응하는 어드레스에서 상기 전송 버퍼에 저장된 제2 전송 디스크립터를 실행하여 제2 중간 결과를 획득하고, (vii) 상기 결과 값을 상기 메모리 디바이스에서 상기 제2 중간 결과에 대응하는 어드레스에 저장하는데 효과적이도록 더 프로그래밍된 것을 특징으로 하는 시스템. - 제14항에 있어서, 상기 처리 디바이스는, 상기 처리 디바이스에 의해 상기 명령을 처리하는 것과, 상기 메모리 디바이스와 상기 처리 디바이스 사이에 개재된 상기 메모리 제어 시스템에서 상기 명령의 처리를 호출하는 것 중 적어도 하나를 수행하여,
상기 명령의 목적지 유형이 상기 전송 디스크립터 플래그가 아닌 경우, 상기 명령의 목적지 어드레스에서 상기 메모리 디바이스에 상기 결과 값을 저장하는데 효과적이도록 더 프로그래밍된 것을 특징으로 하는 시스템. - 제16항에 있어서, 상기 제1 전송 디스크립터는 상기 제1 전송 디스크립터의 상태를 업데이트하는데 효과적인 실행 가능 코드를 포함하고;
상기 제2 전송 디스크립터는 상기 제2 전송 디스크립터의 상태를 업데이트하는데 효과적인 실행 가능 코드를 포함하는 것을 특징으로 하는 방법. - 제16항에 있어서, 상기 제1 전송 디스크립터는,
상기 제1 전송 디스크립터의 상태에 따라 적어도 하나의 판독 어드레스를 식별하고;
상기 메모리 디바이스에서 상기 적어도 하나의 판독 어드레스로부터 적어도 하나의 검색된 데이터 값을 검색하고;
상기 적어도 하나의 검색된 데이터 값에 대해 함수를 평가하는 것에 의해 및 상기 검색된 데이터의 적어도 하나로서 상기 제1 중간 결과를 계산하는데
효과적인 실행 가능 코드를 포함하는 것을 특징으로 하는 방법. - 제16항에 있어서, 상기 처리 디바이스는,
상기 제1 전송 디스크립터와 상기 제2 전송 디스크립터 중 적어도 하나의 전송 디스크립터의 상태를 평가하고;
상기 제1 전송 디스크립터와 상기 제2 전송 디스크립터 중 적어도 하나의 전송 디스크립터의 상태가 임계 조건을 충족하면, 상기 처리 디바이스에 의해 실행되는 적어도 하나의 실행 스레드의 실행을 차단하도록 더 프로그래밍된 것을 특징으로 하는 방법. - 제11항에 있어서, 상기 전송 버퍼는 상기 메모리 디바이스와는 별개의 디바이스인 것을 특징으로 하는 방법.
- 시스템으로서,
복수의 명령을 포함하는 애플리케이션을 저장하는 메모리 디바이스로서, 상기 명령의 적어도 일부는 복수의 메모리 액세스 커맨드를 포함하고, 상기 복수의 메모리 액세스 커맨드의 각각의 메모리 액세스 커맨드는 (a) 명령 코드, (b) 소스 유형, (c) 소스 어드레스, (d), 목적지 유형, 및 (e) 목적지 어드레스를 포함하는 명령 워드를 포함하는, 상기 메모리 디바이스; 및
상기 메모리 디바이스에 연결되고 상기 명령들을 실행하도록 프로그래밍된 처리 디바이스를 포함하고, 상기 처리 디바이스는, 각각의 메모리 액세스 커맨드에 대해,
(i) 상기 각각의 메모리 액세스 커맨드의 소스 유형을 평가하고;
(ii) 상기 소스 유형이 상기 메모리 디바이스에 대응하는 경우, 상기 메모리 디바이스 내 상기 각각의 메모리 액세스 커맨드의 소스 어드레스에 저장된 데이터를 요청하고, 상기 각각의 메모리 액세스 커맨드의 소스 어드레스에 저장된 데이터에 대해 상기 명령 코드에 대응하는 동작을 실행하여 최종 결과를 획득하고;
(iii) 상기 목적지 유형이 상기 메모리 디바이스에 대응하는 경우, 상기 메모리 내 상기 각각의 메모리 액세스 커맨드의 목적지 어드레스에 상기 최종 결과를 기록할 것을 요청하고;
(iv) 상기 소스 유형이 전송 디스크립터 플래그인 경우,
상기 메모리 디바이스 및 별도의 버퍼 디바이스 중 하나를 포함하는 전송 버퍼에서 상기 각각의 메모리 액세스 커맨드의 소스 어드레스에 대응하는 어드레스에 저장된 제1 전송 디스크립터로서, 제1 중간 결과를 출력하도록 프로그래밍된 상기 제1 전송 디스크립터를 실행하는 단계;
상기 제1 중간 결과에 대해 상기 명령 코드에 대응하는 동작을 실행하여 상기 최종 결과를 획득하고;
(v) 상기 목적지 유형이 상기 전송 디스크립터 플래그인 경우,
상기 전송 버퍼 내 상기 각각의 메모리 액세스 커맨드의 목적지 어드레스에 대응하는 어드레스에 저장된 제2 전송 디스크립터로서, 제2 중간 결과를 출력하도록 프로그래밍된 상기 제2 전송 디스크립터를 실행하고;
상기 메모리 디바이스에서 상기 제2 중간 결과에 대응하는 위치에 상기 최종 결과를 기록할 것을 요청하는 것에 의해,
상기 복수의 메모리 액세스 커맨드를 실행하도록 더 프로그래밍된 것을 특징으로 하는 시스템.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/934,707 | 2015-11-06 | ||
| US14/934,707 US9977619B2 (en) | 2015-11-06 | 2015-11-06 | Transfer descriptor for memory access commands |
| PCT/US2016/060995 WO2017079769A1 (en) | 2015-11-06 | 2016-11-08 | Transfer descriptor for memory access commands |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200028280A true KR20200028280A (ko) | 2020-03-16 |
| KR102632382B1 KR102632382B1 (ko) | 2024-01-31 |
Family
ID=58663110
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020187013674A Active KR102632382B1 (ko) | 2015-11-06 | 2016-11-08 | 메모리 액세스 커맨드를 위한 전송 디스크립터 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9977619B2 (ko) |
| EP (1) | EP3398075B1 (ko) |
| JP (1) | JP6888019B2 (ko) |
| KR (1) | KR102632382B1 (ko) |
| CN (1) | CN108292277B (ko) |
| WO (1) | WO2017079769A1 (ko) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113805813B (zh) * | 2018-11-30 | 2024-07-16 | 北京忆芯科技有限公司 | 降低读命令处理延迟的方法与装置 |
| CN111831337B (zh) * | 2019-04-19 | 2022-11-29 | 安徽寒武纪信息科技有限公司 | 数据同步方法及装置以及相关产品 |
| CN111782267B (zh) * | 2019-04-04 | 2022-12-09 | 安徽寒武纪信息科技有限公司 | 数据处理方法及装置以及相关产品 |
| CN111831329B (zh) * | 2019-04-19 | 2022-12-09 | 安徽寒武纪信息科技有限公司 | 数据处理方法及装置以及相关产品 |
| CN112347186B (zh) * | 2019-08-09 | 2023-02-28 | 安徽寒武纪信息科技有限公司 | 数据同步方法及装置以及相关产品 |
| CN111782577B (zh) * | 2019-04-04 | 2023-03-24 | 安徽寒武纪信息科技有限公司 | 数据处理装置及方法以及相关产品 |
| US11243699B2 (en) * | 2019-05-22 | 2022-02-08 | Micron Technology, Inc. | System using a restricted operation mode memory indicator |
| CN110457232A (zh) * | 2019-07-31 | 2019-11-15 | 联想(北京)有限公司 | 数据处理方法、装置、计算设备及介质 |
| US11221776B2 (en) * | 2019-12-30 | 2022-01-11 | Micron Technology, Inc. | Metadata indication for a memory device |
| US11385820B2 (en) * | 2020-03-04 | 2022-07-12 | Micron Technology, Inc. | Command batching for a memory sub-system |
| CN117992123B (zh) * | 2024-04-02 | 2024-07-05 | 摩尔线程智能科技(北京)有限责任公司 | 指令执行方法、装置、电子设备、存储介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100198998A1 (en) * | 2009-01-30 | 2010-08-05 | Fujitsu Limited | I/o controller and descriptor transfer method |
| US20120131309A1 (en) * | 2010-11-18 | 2012-05-24 | Texas Instruments Incorporated | High-performance, scalable mutlicore hardware and software system |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3739352A (en) | 1971-06-28 | 1973-06-12 | Burroughs Corp | Variable word width processor control |
| US5761740A (en) | 1995-11-30 | 1998-06-02 | Unisys Corporation | Method of and apparatus for rapidly loading addressing registers |
| US5941959A (en) | 1995-12-20 | 1999-08-24 | Tandem Computers Incorporated | System for transferring a data stream to a requestor without copying data segments to each one of multiple data source/sinks during data stream building |
| US5961639A (en) | 1996-12-16 | 1999-10-05 | International Business Machines Corporation | Processor and method for dynamically inserting auxiliary instructions within an instruction stream during execution |
| US6115761A (en) | 1997-05-30 | 2000-09-05 | Lsi Logic Corporation | First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment |
| US6145016A (en) | 1998-09-03 | 2000-11-07 | Advanced Micro Devices, Inc. | System for transferring frame data by transferring the descriptor index data to identify a specified amount of data to be transferred stored in the host computer |
| US6434649B1 (en) | 1998-10-14 | 2002-08-13 | Hitachi, Ltd. | Data streamer |
| US6754732B1 (en) * | 2001-08-03 | 2004-06-22 | Intervoice Limited Partnership | System and method for efficient data transfer management |
| US7363467B2 (en) | 2002-01-03 | 2008-04-22 | Intel Corporation | Dependence-chain processing using trace descriptors having dependency descriptors |
| ATE369587T1 (de) | 2003-05-15 | 2007-08-15 | Nxp Bv | Usb host controller mit speicher für transferdeskriptoren |
| JP4340519B2 (ja) * | 2003-11-04 | 2009-10-07 | 富士通株式会社 | 情報処理端末 |
| US7293121B2 (en) | 2004-02-25 | 2007-11-06 | Analog Devices, Inc. | DMA controller utilizing flexible DMA descriptors |
| US7496695B2 (en) | 2005-09-29 | 2009-02-24 | P.A. Semi, Inc. | Unified DMA |
| US8683143B2 (en) * | 2005-12-30 | 2014-03-25 | Intel Corporation | Unbounded transactional memory systems |
| US20090119460A1 (en) * | 2007-11-07 | 2009-05-07 | Infineon Technologies Ag | Storing Portions of a Data Transfer Descriptor in Cached and Uncached Address Space |
| US7877524B1 (en) * | 2007-11-23 | 2011-01-25 | Pmc-Sierra Us, Inc. | Logical address direct memory access with multiple concurrent physical ports and internal switching |
| US8549182B2 (en) * | 2010-06-23 | 2013-10-01 | International Business Machines Corporation | Store/store block instructions for communicating with adapters |
| JP2012014436A (ja) * | 2010-06-30 | 2012-01-19 | Toshiba Corp | ダイレクトメモリアクセス制御装置及び方法 |
| US9436629B2 (en) * | 2011-11-15 | 2016-09-06 | Marvell World Trade Ltd. | Dynamic boot image streaming |
| CN104247436A (zh) * | 2012-04-25 | 2014-12-24 | 三星电子株式会社 | 在数字广播系统中用于发送和接收的信令信息的装置和方法 |
| US20140181427A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Compound Memory Operations in a Logic Layer of a Stacked Memory |
| CN103593437A (zh) * | 2013-11-14 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种基于dma的数据压缩芯片结构及其实现方法 |
| US9785565B2 (en) * | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
-
2015
- 2015-11-06 US US14/934,707 patent/US9977619B2/en active Active
-
2016
- 2016-11-08 JP JP2018543080A patent/JP6888019B2/ja active Active
- 2016-11-08 CN CN201680070312.7A patent/CN108292277B/zh active Active
- 2016-11-08 KR KR1020187013674A patent/KR102632382B1/ko active Active
- 2016-11-08 EP EP16863185.1A patent/EP3398075B1/en active Active
- 2016-11-08 WO PCT/US2016/060995 patent/WO2017079769A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100198998A1 (en) * | 2009-01-30 | 2010-08-05 | Fujitsu Limited | I/o controller and descriptor transfer method |
| US20120131309A1 (en) * | 2010-11-18 | 2012-05-24 | Texas Instruments Incorporated | High-performance, scalable mutlicore hardware and software system |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102632382B1 (ko) | 2024-01-31 |
| JP2018537800A (ja) | 2018-12-20 |
| EP3398075A4 (en) | 2019-07-10 |
| US9977619B2 (en) | 2018-05-22 |
| EP3398075B1 (en) | 2022-02-16 |
| EP3398075A1 (en) | 2018-11-07 |
| US20170131939A1 (en) | 2017-05-11 |
| JP6888019B2 (ja) | 2021-06-16 |
| CN108292277B (zh) | 2021-08-17 |
| CN108292277A (zh) | 2018-07-17 |
| WO2017079769A1 (en) | 2017-05-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102632382B1 (ko) | 메모리 액세스 커맨드를 위한 전송 디스크립터 | |
| KR102683211B1 (ko) | 다중 스레드 액세스를 위한 소프트웨어로 한정된 fifo 버퍼 | |
| US10795606B2 (en) | Buffer-based update of state data | |
| US20140059114A1 (en) | Application service providing system and method and server apparatus and client apparatus for application service | |
| CN111159606B (zh) | 应用于楼宇系统的三维模型加载方法、设备和存储介质 | |
| US9377940B2 (en) | Predictive pre-decoding of encoded media item | |
| CN109684566B (zh) | 标签引擎实现方法、装置、计算机设备及存储介质 | |
| US20160328816A1 (en) | Gpu operation | |
| US8898625B2 (en) | Optimized storage of function variables | |
| US10679321B2 (en) | Efficient release of target memory | |
| US20150070393A1 (en) | Tile-based accumulative multi-layer alpha blending systems and methods | |
| KR102651864B1 (ko) | 하드웨어 액세스 카운터 및 다중 스레드 처리를 조정하기 위한 이벤트 생성 | |
| CN116991600B (zh) | 图形调用指令的处理方法、装置、设备及存储介质 | |
| US10186071B2 (en) | Rendering system and method for generating ray |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20180515 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20211026 Comment text: Request for Examination of Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20230620 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20240119 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20240129 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20240129 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |