KR20200028697A - Control method of memory using priority of master bus - Google Patents

Control method of memory using priority of master bus Download PDF

Info

Publication number
KR20200028697A
KR20200028697A KR1020180107121A KR20180107121A KR20200028697A KR 20200028697 A KR20200028697 A KR 20200028697A KR 1020180107121 A KR1020180107121 A KR 1020180107121A KR 20180107121 A KR20180107121 A KR 20180107121A KR 20200028697 A KR20200028697 A KR 20200028697A
Authority
KR
South Korea
Prior art keywords
priority
bus
memory
master
memory control
Prior art date
Application number
KR1020180107121A
Other languages
Korean (ko)
Inventor
조상원
Original Assignee
조상원
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 조상원 filed Critical 조상원
Priority to KR1020180107121A priority Critical patent/KR20200028697A/en
Publication of KR20200028697A publication Critical patent/KR20200028697A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

The present invention relates to a bus system. Specifically, provided is a method for giving different priorities in accordance with characteristics of masters, which is a memory control method considering priority of a master bus which can improve data transmission efficiency by managing memories connected to the master. In addition, a fixed priority method is applied between master groups grouped in at least one master performing the same function, and the memory control method capable of evenly distributing bus usage authorities between masters in each group is applied.

Description

마스터 버스의 우선순위를 고려한 메모리 제어 방법 {CONTROL METHOD OF MEMORY USING PRIORITY OF MASTER BUS}Memory control method considering the priority of the master bus {CONTROL METHOD OF MEMORY USING PRIORITY OF MASTER BUS}

본 발명은 버스 시스템에 관한 것으로, 특히 마스터들의 특성에 따라 서로 다른 우선순위를 부여하는 방법에 관한 것으로 마스터에 연결된 메모리들을 관리함으로써, 데이터 전송 효율을 향상시킬 수 있는 마스터 버스의 우선순위를 고려한 메모리 제어 방법에 관한 것이다.The present invention relates to a bus system, and in particular, to a method of assigning different priorities according to characteristics of the masters, by managing memories connected to the master, memory considering the priority of the master bus that can improve data transmission efficiency It relates to a control method.

또한, 동일 기능을 수행하는 적어도 하나의 마스터로 그룹화된 마스터 그룹들 간에는 고정된 우선 순위 방법을 적용하고, 각각의 그룹 내의 마스터들 간에는 버스 사용 권한이 균등히 분배될 수 있는 메모리 제어 방법을 적용하는 것을 특징으로 한다.In addition, a fixed priority method is applied between master groups grouped into at least one master that performs the same function, and a memory control method in which bus usage rights can be evenly distributed among masters in each group is applied. It is characterized by.

또 다른 실시 예에서, 본 발명은 일반적으로 마스터 디바이스에 포함된 반도체 메모리 시스템, 디바이스, 및 방법에 관한 것으로, 보다 상세하게는, 마스터 버스의 우선순위를 고려한 메모리 제어 방법에 관한 것이다.In another embodiment, the present invention relates generally to a semiconductor memory system, device, and method included in a master device, and more particularly, to a memory control method considering priority of a master bus.

최근에 컴퓨터 등의 빠른 처리를 위해서 메모리에 대한 연구가 활발하게 진행되고 있다. 특히, 종래에 메인 메모리로 휘발성 메모리를 사용하였는데, 휘발성 메모리의 한계를 극복하기 위해 비휘발성 메모리의 연구가 활발하다.Recently, studies on memory have been actively conducted for fast processing of computers and the like. In particular, volatile memory has been used as the main memory in the related art, but research on non-volatile memory is actively conducted to overcome the limitations of volatile memory.

비휘발성 메모리는 전원의 차단에도 불구하고 데이터를 소실하지 않는 특성을 갖는 메모리이다. 이러한 비휘발성 메모리는 메모리 셀(Memory cell)이 스스로 비휘발성을 띄고, 빠른 속도로 바이트 단위의 주소 접근이 가능하다.Non-volatile memory is a memory having a characteristic that does not lose data despite the power off. In such a non-volatile memory, a memory cell is non-volatile by itself, and is capable of accessing addresses in bytes at a high speed.

한편, 이러한 메인 메모리로 사용되고 있는 다양한 메모리를 어떻게 관리하는지에 대한 연구도 진행되고 있다.Meanwhile, research on how to manage various types of memory used as the main memory is also being conducted.

메모리 디바이스는 일반적으로 컴퓨터 또는 다른 전자 디바이스에서 내부, 반도체, 집적 회로로 제공된다. 여기에는 휘발성 메모리와 비 휘발성 메모리를 포함하는 많은 상이한 유형의 메모리가 있다. 휘발성 메모리는 그 정보를 유지하는데 전력을 요구하는 것으로, 특히 RAM(random-access memory), DRAM(dynamic random access memory), 및 SDRAM(synchronous dynamic random access memory)을 포함할 수 있다. 비 휘발성 메모리는 전력 투입이 없을 때에도 저장된 정보를 유지하는 것에 의해 영구적으로 정보를 제공할 수 있는 것으로, 특히 NAND 플래시 메모리(flash memory), NOR 플래시 메모리, ROM(read only memory), EEPROM(Electrically Erasable Programmable ROM), EPROM(Erasable Programmable ROM), PCRAM(phase change random access memory), RRAM(resistive random access memory), 및 MRAM(magnetic random access memory), 예를 들어, STT RAM(spin torque transfer random access memory)를 포함할 수 있다. Memory devices are generally provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory, including volatile and non-volatile memory. Volatile memory requires power to maintain the information, and may include random-access memory (RAM), dynamic random access memory (DRAM), and synchronous dynamic random access memory (SDRAM). Non-volatile memory can provide information permanently by maintaining stored information even when there is no power input, in particular, NAND flash memory, NOR flash memory, ROM (read only memory), EEPROM (Electrically Erasable) Programmable ROM (EPROM), Erasable Programmable ROM (EPROM), phase change random access memory (PCRAM), resistive random access memory (RRAM), and magnetic random access memory (MRAM), such as spin torque transfer random access memory (STT) ).

주변장치 및 개인용 컴퓨터에 접속되어 데이터를 송수신하는 외부 인터페이스들이 사용되어 왔다. 이러한 외부 인터페이스들로는 USB(Universal Serial Bus), I2C 버스(Inter-IC bus), SPI(Serial Peripheral Interface), UART(Universal Asynchronous Receiver/Transmitter) 등이 있다.External interfaces connected to peripheral devices and personal computers to transmit and receive data have been used. Examples of such external interfaces include Universal Serial Bus (USB), Inter-IC bus (I2C), Serial Peripheral Interface (SPI), and Universal Asynchronous Receiver / Transmitter (UART).

상기한 종래의 버스들은 고정된 우선순위에 따라 동작하므로 상황이 변해도 비효율적인 동작을 반복하는 문제점을 갖고 있다.Since the above-described conventional buses operate according to a fixed priority, there is a problem of repeating inefficient operation even when the situation changes.

KR10-2004-0042321A (2004.05.20)KR10-2004-0042321A (2004.05.20)

..

본 발명이 이루고자 하는 기술적인 과제는 마스터들의 특성에 따라 서로 다른 우선순위를 부여하는 방법에 관한 것으로 마스터에 연결된 메모리들을 관리함으로써, 데이터 전송 효율을 향상시킬 수 있는 마스터 버스의 우선순위를 고려한 메모리 제어 방법이 제공된다.Technical problem to be achieved by the present invention relates to a method of assigning different priorities according to characteristics of masters, and managing memories connected to the master, thereby controlling memory in consideration of the priority of the master bus that can improve data transmission efficiency. Methods are provided.

본 발명은 고속으로 통신하고 데이터를 처리할 수 있는 메모리 제어 시스템 및 이를 이용한 메모리 인터페이스 방법을 제공하고자 한다.The present invention is to provide a memory control system that can communicate and process data at high speed and a memory interface method using the same.

상기와 같은 단점을 극복하기 본 출원에서는 1) 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하는 단계; 2) 상기 데이터 정보에 마스터들을 그룹화 하는 단계; 3) 상기 데이터의 버스트 유·무 및 데이터의 크기에 따라 상기 마스터의 버스의 사용에 대한 우선순위를 선택하는 단계; 4) 상기 버스 사용 요청 횟수가 많은 마스터 그룹을 마스터의 버스의 사용에 대해 높은 우선순위를 선택하는 단계; 5) 상기 우선순위는 상기 사용 요청 횟수에 비례하여 할당하는 단계; 6) 상기 우선순위가 기존 할당된 우선순위와 비교하여 다른 경우, 할당예정인 우선순위와 기존 우선순위를 평균하여 우선순위를 적용하는 단계; 7) 할당된 우선순위로 마스터에 의한 버스 사용이 완료되면 우선순위를 지정하는 복수의 메모리 디바이스에 저장된 우선순위를 초기화하고 우선순위 할당을 위해 상기 1)단계부터 재시작하여 우선순위를 재할당하는 단계;를 포함하는 마스터 버스의 우선순위를 고려한 메모리 제어 방법으로 해결하고자 한다.Overcoming the above disadvantages In the present application, 1) data including at least one of the presence or absence of bursts of data to be transmitted / received from the master through the bus, the size of the data, the number of requests to use the bus, and the waiting time for bus use. Receiving information; 2) grouping masters into the data information; 3) selecting a priority for the use of the bus of the master according to the presence or absence of the burst and the size of the data; 4) selecting a high priority for the use of the master's bus for the master group having a large number of the bus use requests; 5) allocating the priority in proportion to the number of use requests; 6) if the priority is different from the previously assigned priority, applying the priority by averaging the priority to be allocated and the existing priority; 7) When the use of the bus by the master is completed with the assigned priority, re-assigning the priority by initializing the priority stored in a plurality of memory devices that specify the priority and restarting from step 1) for priority assignment. It will be solved by the memory control method considering the priority of the master bus containing;.

또한, 상기 메모리 디바이스는 병렬로 또는 순차로 구성되며, 상기 복수의 메모리 디바이스 각각은 각각의 체인 입력을 가지며, 병렬로 구성할 것인지 순차로 구성할 것인지는 프로그래밍 가능한 옵션에 기초하는 것을 특징으로 한다. In addition, the memory devices are configured in parallel or sequentially, and each of the plurality of memory devices has respective chain inputs, and whether to configure in parallel or sequentially is based on a programmable option.

또다른 실시 예에서, 본 발명은 동일 기능을 수행하는 적어도 하나의 마스터로 그룹화된 마스터 그룹들 간에는 고정된 우선 순위 방법을 적용하고, 각각의 그룹 내의 마스터들 간에는 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법을 적용하는 것을 특징으로 한다.In another embodiment, the present invention applies a fixed priority method between master groups grouped into at least one master performing the same function, and bus usage rights can be evenly distributed among masters in each group. It is characterized by applying a bus arbitration method.

또다른 실시 예에서, 본 발명은 마스터들중 어느 하나의 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계를 더 포함하는 것을 특징으로 한다.In another embodiment, the present invention is to temporarily select a priority for bus use of the specific master as a priority when the waiting time of a bus use request of one of the masters exceeds a preset time. Characterized in that it further comprises.

또 다른 실시 예에서, 본 발명은 특정 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계를 추가로 포함하는 것을 특징으로 한다.In another embodiment, the present invention further includes the step of temporarily selecting a priority for the bus use of the specific master as a priority when the waiting time of a specific master bus use request exceeds a preset time. It is characterized by.

또 다른 실시 예에서, 본 발명은 상기 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법은 라운드 로빈, TDMA, 로터리 버스 방법 중 하나인 것을 특징으로 한다.In another embodiment, the present invention is characterized in that the bus arbitration method in which the bus usage authority is evenly distributed is one of the round robin, TDMA, and rotary bus methods.

또 다른 실시 예에서, 본 발명은 상기 마스터 그룹들은 버스 이용요청 횟수가 동일 또는 비슷한 마스터들로 이루어지는 것을 특징으로 한다.In another embodiment, the present invention is characterized in that the master groups are composed of masters having the same or similar bus requests.

또 다른 실시 예에서, 본 발명은 마스터들의 버스 이용요청 횟수가 변화되는 경우, 상기 버스 이용요청 횟수에 따라 상기 마스터 그룹을 구성하는 마스터들을 우선순위를 초기화하는 것을 특징으로 한다.In another embodiment, the present invention is characterized in that when the number of bus use requests of the masters is changed, the priorities of the masters constituting the master group are initialized according to the number of bus use requests.

본 발명의 실시예에 따른 메모리 제어 시스템 및 방법에 의하면 다음과 같은 효과가 있다. According to a memory control system and method according to an embodiment of the present invention has the following effects.

첫째, 본 발명은 마스터들의 특성에 따라 서로 다른 우선순위를 부여할 수 있다.First, the present invention can give different priorities according to the characteristics of the masters.

둘째, 본 발명은 마스터들에 연결된 메모리들을 관리함으로써, 데이터 전송 효율을 향상시킬 수 있다.Second, the present invention can improve data transmission efficiency by managing memories connected to masters.

셋째, 마스터 버스의 우선순위를 고려하여 메모리를 제어함으로써 마스터디바이스에 연결된 메인 메모리를 효율적으로 관리할 수 있다.Third, it is possible to efficiently manage the main memory connected to the master device by controlling the memory in consideration of the priority of the master bus.

도 1은 본 발명의 한 실시예에 따른 메모리 제어 시스템을 도시한 블록도이다.
도 2는 본 발명의 한 실시예에 따른 메모리 제어 시스템을 도시한 블록도이다.
1 is a block diagram illustrating a memory control system according to an embodiment of the present invention.
2 is a block diagram illustrating a memory control system according to an embodiment of the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains can easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In the drawings, parts not related to the description are omitted in order to clearly describe the present invention, and the same reference numerals are attached to the same or similar elements throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part “includes” a certain component, it means that the component may further include other components, not to exclude other components, unless otherwise stated.

또한, 명세서에 기재된 "…부", "…모듈" 의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, the terms "… unit" and "... module" described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software.

본 출원에서는 효율적인 버스 마스터에 연결된 메모리를 관리하기 위해 1) 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하는 단계; 2) 상기 데이터 정보에 따라 마스터들을 그룹화 하는 단계; 3) 상기 데이터의 버스트 유·무 및 데이터의 크기에 따라 상기 마스터의 버스의 사용에 대한 우선순위를 선택하는 단계; 4) 상기 버스 사용 요청 횟수가 많은 마스터 그룹을 마스터의 버스의 사용에 대해 높은 우선순위를 선택하는 단계; 5) 상기 우선순위는 상기 사용 요청 횟수에 비례하여 할당하는 단계; 6) 상기 우선순위가 기존 할당된 우선순위와 비교하여 다른 경우, 할당예정인 우선순위와 기존 우선순위를 평균하여 우선순위를 적용하는 단계; 7) 할당된 우선순위로 마스터에 의한 버스 사용이 완료되면 우선순위를 지정하는 복수의 메모리 디바이스에 저장된 우선순위를 초기화하고 우선순위 할당을 위해 상기 1)단계부터 재시작하여 우선순위를 재할당하는 단계;를 포함하는 것을 특징으로 한다.In this application, in order to manage the memory connected to an efficient bus master, 1) information on at least one of the presence or absence of bursts of data to be transmitted and received through the bus from the master, the size of the data, the number of requests to use the bus, and the waiting time for bus use. Receiving data information including; 2) grouping masters according to the data information; 3) selecting a priority for the use of the bus of the master according to the presence or absence of the burst and the size of the data; 4) selecting a high priority for the use of the master's bus for the master group having a large number of the bus use requests; 5) allocating the priority in proportion to the number of use requests; 6) if the priority is different from the previously assigned priority, applying the priority by averaging the priority to be allocated and the existing priority; 7) When the use of the bus by the master is completed with the assigned priority, re-assigning the priority by initializing the priority stored in a plurality of memory devices that specify the priority and restarting from step 1) for priority assignment. It characterized in that it contains a.

또한, 상기 메모리 디바이스는 병렬로 또는 순차로 구성되며, 상기 복수의 메모리 디바이스 각각은 각각의 체인 입력을 가지며, 병렬로 구성할 것인지 순차로 구성할 것인지는 프로그래밍 가능한 옵션에 기초하는 특징을 포함할 수 있다. In addition, the memory devices are configured in parallel or sequentially, and each of the plurality of memory devices has respective chain inputs, and whether to configure in parallel or sequentially may include features based on programmable options. .

또다른 실시 예에서, 본 발명은 동일 기능을 수행하는 적어도 하나의 마스터로 그룹화된 마스터 그룹들 간에는 고정된 우선 순위 방법을 적용하고, 각각의 그룹 내의 마스터들 간에는 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법을 적용하는 특징을 포함할 수 있다. In another embodiment, the present invention applies a fixed priority method between master groups grouped into at least one master performing the same function, and bus usage rights can be evenly distributed among masters in each group. It may include features that apply bus arbitration methods.

또다른 실시 예에서, 본 발명은 마스터들중 어느 하나의 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계를 더 포함하는 특징을 포함할 수 있다. In another embodiment, the present invention is to temporarily select a priority for bus use of the specific master as a priority when the waiting time of a bus use request of one of the masters exceeds a preset time. Features may further include.

또 다른 실시 예에서, 본 발명은 특정 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계를 추가로 포함하는 특징을 포함할 수 있다. In another embodiment, the present invention further includes the step of temporarily selecting a priority for the bus use of the specific master as a priority when the waiting time of a specific master bus use request exceeds a preset time. Features may be included.

또 다른 실시 예에서, 본 발명은 상기 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법은 라운드 로빈, TDMA, 로터리 버스 방법 중 하나인 특징을 포함할 수 있다. In another embodiment, the present invention may include a feature that the bus arbitration method in which the bus usage authority is evenly distributed is one of round robin, TDMA, and rotary bus methods.

또 다른 실시 예에서, 본 발명은 상기 마스터 그룹들은 버스 이용요청 횟수가 동일 또는 비슷한 마스터들로 이루어지는 특징을 포함할 수 있다. In another embodiment, the present invention may include a feature that the master groups consist of masters having the same or similar number of bus requests.

또 다른 실시 예에서, 본 발명은 마스터들의 버스 이용요청 횟수가 변화되는 경우, 상기 버스 이용요청 횟수에 따라 상기 마스터 그룹을 구성하는 마스터들을 우선순위를 초기화하는 특징을 포함할 수 있다. In another embodiment, the present invention may include a feature of initializing priorities of the masters constituting the master group according to the number of bus use requests, when the number of bus use requests of masters is changed.

본 출원의 버스 시스템은 1개의 버스, 복수의 마스터, 복수의 슬레이브, 중재기, 및 버스의 우선순위를 제어하는 마스터 버스 메모리 제어기를 포함한다.The bus system of the present application includes one bus, a plurality of masters, a plurality of slaves, an arbiter, and a master bus memory controller that controls the priority of the bus.

복수의 마스터는 복수의 슬레이브로 접속하고자 하는 경우 즉, 마스터들이 슬레이브들 데이터를 송신하거나, 슬레이브들로부터 데이터를 로딩하고자 하는 경우, 중재기에게 버스의 이용을 요청하게 된다. 이때, 중재기는 미리 정해진 우선 순위 판단 방법에 따라 마스터들 각각의 버스 이용의 우선권을 결정하며, 중재기로부터 버스의 이용 승인을 획득한 마스터가 버스(10)를 통해 슬레이브들로 접속하게 된다.When a plurality of masters want to connect to a plurality of slaves, that is, when the masters want to transmit data from slaves or to load data from slaves, the arbitrator requests the use of the bus. At this time, the arbiter determines the priority of each of the masters to use the bus according to a predetermined priority determination method, and the master who has obtained the use permission of the bus from the arbiter connects to the slaves through the bus 10.

본 출원에서는 효율적인 버스 마스터에 연결된 메모리를 관리하기 위해 버스 마스터 제어기가 다른 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하게 된다. In the present application, in order to manage a memory connected to an efficient bus master, at least one of bus presence / absence of the data to be transmitted / received through the bus from another master, the size of the data, the number of requests for bus use, and the waiting time for bus use Data information including information of is received.

버스 마스터 제어기는 수신된 상기 데이터 정보에 따라 마스터들을 그룹화하며, 그룹화 된 마스터들은 소정의 규칙에 의해 우선순위가 부여된다.The bus master controller groups masters according to the received data information, and the grouped masters are given priority according to predetermined rules.

우선순위를 부여하는 기준으로는 상기 데이터의 버스트 유·무 및 데이터의 크기등이 있다. 또한, 상기 버스 사용 요청 횟수가 많은 마스터 그룹을 마스터의 버스의 사용에 대해 높은 우선순위를 선택할 수도 있다.The criteria for giving priority include the presence or absence of the burst of the data and the size of the data. In addition, a master group having a large number of requests for bus use may select a high priority for the bus use of the master.

상기 우선순위는 버스의 효율적 사용을 위해 상기 사용 요청 횟수에 비례하여 할당할 수도 있다. 그러나, 상기 우선순위가 기존 할당된 우선순위와 비교하여 다른 경우, 할당 예정인 우선순위와 기존 우선순위를 평균하여 우선순위를 적용할 수도 있고, 기설정된 우선순위를 유지할 수 도 있다.The priority may be allocated in proportion to the number of use requests for efficient use of the bus. However, if the priority is different from the existing assigned priority, the priority may be applied by averaging the priority to be allocated and the existing priority, or maintaining a predetermined priority.

버스 마스터 제어기의 메모리는 항상 많은 연산을 하게 되므로, 우선순위 부여 횟수가 특정 수를 카운트하게 되거나, 상기 할당된 우선순위로 마스터에 의한 버스 사용이 완료되면 우선순위를 지정하는 복수의 메모리 디바이스에 저장된 우선순위를 초기화하고, 또한 초기화 영역은 우선순위 할당을 위한 영역이 될 수도 있고, 메모리 전체를 포함하여 초기화 할 수도 있다. Since the memory of the bus master controller always performs a lot of operations, the number of prioritization counts a certain number, or when the use of the bus by the master is completed with the assigned priority, it is stored in a plurality of memory devices that specify the priority. The priority is initialized, and the initialization area may be an area for priority allocation, or may be initialized including the entire memory.

메모리가 초기화된 경우, 우선순위 할당을 위해 1) 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하는 단계; 부터 재시작하여 우선순위를 재할당하게 된다.When the memory is initialized, for priority allocation, 1) contains information of at least one of the presence or absence of bursts of data to be transmitted and received from the master through the bus, the size of the data, the number of requests to use the bus, and the waiting time for bus use Receiving data information; Restart to reassign the priority.

또한, 상기 버스 마스터 제어기의 메모리는 병렬로 또는 순차로 구성되며, 상기 복수의 메모리 디바이스 각각은 각각의 체인 입력을 가지며, 병렬로 구성할 것인지 순차로 구성할 것인지는 프로그래밍 가능한 옵션에 기초하는 특징을 포함할 수 있으며, 동작의 안정성을 위해 heartbit를 이용한 백업시스템을 이용할 수 도 있다.In addition, the memory of the bus master controller is configured in parallel or sequentially, and each of the plurality of memory devices has respective chain inputs, and whether to configure in parallel or sequentially includes features based on programmable options. You can also use a backup system using a heartbit for operational stability.

상기 우선순위를 할당하는데 있어서, 동일 기능을 수행하는 적어도 하나의 마스터로 그룹화하거나, 운영자가 임의로 설정한 그룹으로 그룹화된 마스터 그룹들 간에는 고정된 우선 순위 방법을 적용하며, 각각의 그룹 내의 마스터들 간에는 버스 사용 권한이 균등히 분배될 수 있다.In assigning the priority, a group of at least one master performing the same function is grouped, or a fixed priority method is applied between master groups grouped by a group arbitrarily set by an operator, and between masters in each group. Bus usage rights can be evenly distributed.

상기 버스에 연결된 마스터들 중 어느 하나의 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하거나 전송해야하는 데이터가 많은 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 상향하여 선택할 수도 있다.When the waiting time for a bus use request of one of the masters connected to the bus exceeds a preset time or there is a lot of data to be transmitted, the priority for the bus use of the specific master may be temporarily increased and selected.

상기 그룹화된 마스터들은 상기 버스 사용 권한이 균등히 분배될 수 있도록 하여 버스에 연결된 마스터들을 효율적으로 운용할 수 있다.. The grouped masters can effectively distribute the bus usage rights so that the masters connected to the bus can be efficiently operated.

또한, 마스터들을 그룹화 하는데 있어서, 버스 이용요청 횟수가 동일 또는 비슷한 마스터들로 그룹화 할 수도 있다. 그러나, 상기 마스터들의 버스 이용요청 횟수가 변화되는 경우에는, 상기 버스 이용요청 횟수에 따라 상기 마스터 그룹을 구성하는 마스터들의 우선순위를 초기화하여 제한된 버스 시스템의 자원을 공정하게 배분할 수도 있다.In addition, in grouping masters, it is possible to group masters having the same or similar number of bus requests. However, when the number of bus use requests of the masters changes, the priority of the masters constituting the master group may be initialized according to the number of bus use requests to allocate resources of the limited bus system fairly.

이하, 도면을 참조로 하여 본 발명의 실시예에 따른 메모리 제어 시스템 및 이를 이용한 메모리 인터페이스 방법에 대하여 상세히 설명한다.Hereinafter, a memory control system and a memory interface method using the same according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 메모리 제어 시스템을 도시한 블록도이다.1 is a block diagram illustrating a memory control system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 메모리 제어 시스템은 프로세서(10), 메모리 제어부(20), 메인 메모리(30), 저장장치(40)를 포함한다.Referring to FIG. 1, a memory control system according to an embodiment of the present invention includes a processor 10, a memory control unit 20, a main memory 30, and a storage device 40.

프로세서(10)는 적어도 하나 이상의 프로세스(예를 들어, 시스템 프로세스, 응용 프로세스 등)에 대한 컴퓨팅 연산을 수행하는 부분이다. 또한, 프로세서(10)는 메모리 제어 시스템 전체를 제어하고, 다양한 프로그램의 명령들을 실행하는 부분이다.The processor 10 is a part that performs computing operations on at least one or more processes (eg, system processes, application processes, etc.). In addition, the processor 10 is a part that controls the entire memory control system and executes various program instructions.

또한, 프로세서(10)는 메인 메모리(30) 할당을 위해 메모리 제어부(20)에 할당요청 명령을 하거나, 메인 메모리(30)에서 메모리 객체의 해제를 위해 메모리 제어부(20)에 해제요청 명령을 할 수 있다. 예를 들어, 프로세서(10)는 메모리 제어부(20)에 공간확보명령을 하면, 메모리 제어부(20)는 공간확보를 위한 일련의 과정을 처리하게 된다. 이에 대한 상세한 설명은 이하 도 2에서 하기로 한다. In addition, the processor 10 may issue an allocation request command to the memory control unit 20 to allocate the main memory 30, or a release request command to the memory control unit 20 to release the memory object from the main memory 30. You can. For example, when the processor 10 instructs the memory control unit 20 to secure a space, the memory control unit 20 processes a series of processes for securing the space. 2 will be described below in detail.

메모리 제어부(20)는 메인 메모리(30)를 제어하는 부분이다. 메모리 제어부(20)는 통합메모리 제어부(21), 제1메모리 제어부(23), 제2메모리 제어부(25)를 포함할 수 있는데, 통합메모리 제어부(21)는 제1메모리 제어부(23)와 제2메모리 제어부(25)를 제어하고, 제1메모리 제어부(23)는 제1메모리(33)를 제어하고, 제2메모리 제어부(25)는 제2메모리(35)를 제어한다.The memory control unit 20 is a part that controls the main memory 30. The memory control unit 20 may include an integrated memory control unit 21, a first memory control unit 23, and a second memory control unit 25. The integrated memory control unit 21 may be configured to control the first memory control unit 23. 2 controls the memory control unit 25, the first memory control unit 23 controls the first memory 33, and the second memory control unit 25 controls the second memory 35.

예를 들어, 통합메모리 제어부(21)는 프로세서(10)로부터 공간확보명령을 수신하여, 제1메모리 제어부(23)와 제2메모리 제어부(25)가 제1메모리(33)와 제2메모리(35)에 메모리 객체를 할당, 해제, 공간확보를 위한 이동, 회수를 하도록 제어한다. For example, the integrated memory control unit 21 receives a space securing command from the processor 10, so that the first memory control unit 23 and the second memory control unit 25 have a first memory 33 and a second memory ( It controls to allocate, deallocate, and move and retrieve memory objects in 35).

제1메모리 제어부(23)와 제2메모리 제어부(25)는 제1메모리(33)와 제2메모리(35)에 메모리 객체를 할당, 해제, 공간확보를 위한 이동, 회수를 하도록 제어하고 그 결과를 통합메모리 제어부(21)에 송신한다.The first memory control unit 23 and the second memory control unit 25 control to allocate and release memory objects in the first memory 33 and the second memory 35, and to move and retrieve them to secure space. To the integrated memory control unit 21.

또한, 통합메모리 제어부(21)는 프로세서(10)로부터 메모리 객체 할당요청을 수신하면, 제1메모리(33)와 제2메모리(35) 중에서 메모리 객체를 할당할 대상 하위 메모리를 선정하고, 제1메모리 제어부(23)와 제2메모리 제어부(25) 중에서 해당하는 부분에 할당요청을 송신한다.In addition, when the memory object allocation request is received from the processor 10, the integrated memory control unit 21 selects a target sub-memory to allocate a memory object from among the first memory 33 and the second memory 35, and the first The allocation request is transmitted to the corresponding portion among the memory control unit 23 and the second memory control unit 25.

또한, 통합메모리 제어부(21)는 프로세서(10)로부터 특정 메모리 객체 해제요청을 수신하면, 제1메모리(33)와 제2메모리(35) 중에서 특정 메모리 객체의 위치를 파악하고, 제1메모리 제어부(23)와 제2메모리 제어부(25) 중에서 해당하는 부분에 해제요청을 송신한다.In addition, when receiving a request for releasing a specific memory object from the processor 10, the integrated memory control unit 21 determines the location of the specific memory object in the first memory 33 and the second memory 35, and the first memory control unit (23) and the second memory control unit (25) transmits a release request to the corresponding part.

또한, 메모리 제어부(20)는 제1메모리(33)에 제1사용가능영역이 부족하면 제1희생객체를 결정하고, 제2메모리(35)에 제2사용가능영역이 있으면, 제1희생객체를 제2사용가능영역으로 이동하는 것을 제어한다.In addition, the memory control unit 20 determines the first sacrificial object when the first usable area is insufficient in the first memory 33, and if the second usable area is present in the second memory 35, the first sacrificial object. Controls moving to the second usable area.

또한, 메모리 제어부(20)는 제1희생객체를 이동할 것인지 판단하여, 제1희생객체를 이동하지 않으면, 제1희생객체를 회수하는 것을 제어한다.Also, the memory control unit 20 determines whether to move the first victim object, and controls the recovery of the first victim object if the first victim object is not moved.

본 발명의 메모리 제어부(20)는 하드웨어적으로 존재하거나 소프트웨어적으로 존재할 수 있음을 밝혀둔다. It is noted that the memory control unit 20 of the present invention may exist in hardware or in software.

메인 메모리(30)는 프로세서(10)가 처리하는 적어도 하나 이상의 프로세스에 대한 컴퓨팅 연산 도중의 데이터, 결과 데이터를 저장하는 부분이다. 또한, 메인 메모리(30)는 프로세서(10)가 프로세스에 대한 컴퓨팅 연산을 위해 저장장치(40)로부터 필요한 파일을 독출하여 임시로 저장하고, 프로세스에 대한 컴퓨팅 연산의 종료 등의 원인에 의해 저장장치(40)로 데이터가 옮겨지기 전까지 컴퓨팅 연산 도중의 데이터, 결과 데이터를 저장할 수 있다.The main memory 30 is a portion for storing data and result data during a computing operation for at least one process processed by the processor 10. In addition, the main memory 30 is a storage device due to causes such as termination of the computing operation for the process, the processor 10 reads and temporarily stores the necessary files from the storage device 40 for computing operations for the process. Until data is transferred to (40), data during the computing operation and result data may be stored.

메인 메모리(30)는 제1메모리(33)와 제2메모리(35)를 포함할 수 있다. 메인 메모리(30)를 구성하는 제1메모리(33)와 제2메모리(35)는 비휘발성 메모리(Non-Volatile memory)와 휘발성 메모리(Volatile memory) 중 어느 하나가 가능하다. 예를 들어, 메인 메모리(30)를 하이브리드 메모리로 표현할 수 있는데, 메인 메모리(30)의 구성을 비휘발성 메모리와 휘발성 메모리, 휘발성 메모리와 휘발성 메모리, 비휘발성 메모리와 비휘발성 메모리 등 다양하게 할 수 있고 본 발명은 다양한 실시예에 적용 가능하다.The main memory 30 may include a first memory 33 and a second memory 35. The first memory 33 and the second memory 35 constituting the main memory 30 may be either non-volatile memory or volatile memory. For example, the main memory 30 may be expressed as a hybrid memory, and the configuration of the main memory 30 may be varied such as non-volatile memory and volatile memory, volatile memory and volatile memory, non-volatile memory and non-volatile memory. And the present invention is applicable to various embodiments.

비휘발성 메모리는 예를 들어, 비휘발성 램(Non-Volatile Random Access Memory, NVRAM)이 가능하고, 비휘발성 램은 스토리지 클래스 메모리(Storage Class Memory, SCM)일 수 있는데, 스토리지 클래스 메모리로 PCRAM(Phase Change RAM), MRAM(Magnetroresistive RAM), FeRAM(Ferroelectric RAM) 등의 예가 있다. 휘발성 메모리로는 DRAM이 가능하다.The non-volatile memory may be, for example, non-volatile random access memory (NVRAM), and the non-volatile RAM may be storage class memory (SCM), which is a storage class memory (PCRAM). Examples include Change RAM (MRAM), Magneto-resistive RAM (MRAM), and Ferroelectric RAM (FeRAM). DRAM is possible as a volatile memory.

또한, 본 실시예에서는 메인 메모리(30)가 2개의 메모리로 구성되는 경우를 예로 하였으나 본 발명은 메인 메모리(30)를 2개 이상인 경우에도 적용 가능하다.In addition, in this embodiment, the case where the main memory 30 is composed of two memories is exemplified, but the present invention is applicable even when the main memory 30 is two or more.

저장장치(40)는 데이터를 저장하는 부분이다. 예를 들어, 저장장치(40)로는 하드디스크 등이 가능하다.The storage device 40 is a part for storing data. For example, the storage device 40 may be a hard disk or the like.

도 2는 본 발명의 한 실시예에 따른 메모리 제어 시스템의 블록도이다.2 is a block diagram of a memory control system according to an embodiment of the present invention.

도 2를 참고하면, 본 발명의 실시예에 따른 메모리 제어 시스템은 중앙 처리 장치(100), 메모리 제어부(200) 및 메모리(300)를 포함한다. 본 발명의 실시예에 따른 설명을 위해 필요한 개략적인 구성만을 도시할 뿐 이러한 구성에 국한되는 것은 아니다.Referring to FIG. 2, a memory control system according to an embodiment of the present invention includes a central processing unit 100, a memory control unit 200, and a memory 300. It shows only a schematic configuration necessary for description according to an embodiment of the present invention, but is not limited to such configuration.

중앙 처리 장치(central processing unit, CPU)(100)는 메모리 제어 신호를 생성하고, 생성된 메모리 제어 신호를 메모리 제어부(200)로 전달한다.The central processing unit (CPU) 100 generates a memory control signal and transmits the generated memory control signal to the memory control unit 200.

그리고, 메모리 제어부(200)는 중앙 처리 장치(100)의 외부에 형성된다. 메모리 제어부(200)는 중앙 처리장치(100)로부터 전달된 메모리 제어 신호를 이용해 메모리(200)의 동작을 제어한다. In addition, the memory control unit 200 is formed outside the central processing unit 100. The memory control unit 200 controls the operation of the memory 200 using a memory control signal transmitted from the central processing unit 100.

그리고, 중앙 처리 장치(100)와 메모리 제어부(200) 사이에는 본 발명의 한 실시예에 따라 시리얼 링크로 이루어진 단일 링크를 형성한다. 그리고, 중앙 처리장치(100)는 상기 단일 링크 통해 메모리 제어부(200)로 메모리 제어 신호를 전송한다.And, between the central processing unit 100 and the memory control unit 200, a single link made of a serial link is formed according to an embodiment of the present invention. Then, the central processing unit 100 transmits a memory control signal to the memory control unit 200 through the single link.

여기서, 메모리 제어 신호는 메모리(300)를 제어하기 위한 명령어 신호 또는 메모리(300)에 저장된 데이터 중에 어느 하나 이상을 포함한다. 따라서, 본 발명의 한 실시예에 따른 메모리 제어 신호가 명령어 신호와 데이터를 모두 포함하는 경우에, 단일 링크는 하나의 시리얼 패킷으로 상기 명령어 신호 및 상기 데이터를 동시에 전송할 수 있다.Here, the memory control signal includes any one or more of a command signal for controlling the memory 300 or data stored in the memory 300. Accordingly, when the memory control signal according to an embodiment of the present invention includes both a command signal and data, a single link can simultaneously transmit the command signal and the data in one serial packet.

그리고, 메모리(300)는 데이터를 저장하며, 메모리 제어 신호와 같은 외부의 제어 신호에 의해서 동작을 수행한다. 여기서, 본 발명의 한 실시예에 따른 메모리(300)는 DDR SDRAM(double data rate synchronous DRAM)을 포함한다.In addition, the memory 300 stores data and performs an operation by an external control signal such as a memory control signal. Here, the memory 300 according to an embodiment of the present invention includes a DDR double data rate synchronous DRAM (SDRAM).

또한, 메모리(300)는 비휘발성 메모리(Non-Volatile Memory) 또는 휘발성 메모리(Volatile memory)일 수 있다.Also, the memory 300 may be a non-volatile memory or a volatile memory.

비휘발성 메모리인 플래쉬(flash) 메모리나 이이피롬(EEPROM) 등은 읽기와 쓰기를 주 명령어로 하며, 여타 몇 개의 명령어를 통해 동작을 수행한다. Nonvolatile memory, such as flash memory or EIPROM, is read and write as the main command, and the operation is performed through several other commands.

휘발성 메모리인 SDRAM의 경우에는 읽기와 쓰기 이외에도 리프레쉬(refresh), 프리차지(precharge) 및 액티브(active)의 명령어를 통해 동작을 수행하며, 파워 업(power-up) 상태에서 내부 데이터를 유지하기 위한 기본 동작 명령어가 존재한다.In the case of SDRAM, which is a volatile memory, in addition to reading and writing, operations are performed through commands of refresh, precharge and active, and to maintain internal data in the power-up state. There are basic operation commands.

이상을 통해 본 발명의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형 또는 변경하여 실시하는 것이 가능하고 이 또한 본 발명의 범위에 속하는 것은 당연하다. Although the preferred embodiment of the present invention has been described through the above, the present invention is not limited to this, and it is possible to carry out various modifications or changes within the scope of the claims and detailed description of the invention and the accompanying drawings. Moreover, it is natural that they fall within the scope of the present invention.

10 프로세서
20 메모리제어부
21 통합메모리제어부
23 제1메모리제어부
25 제2메모리제어부
30 메인메모리
33 제1메모리
35 제2메모리
40 저장장치
100 중앙처리장치
110 트랜잭션계층
120 데이터계층
130 물리계층
200 메모리제어부
210 물리계층
220 데이터계층
230 트랜잭션계층
300 메모리
10 processors
20 Memory control unit
21 Integrated Memory Control
23 1st memory control unit
25 Second memory control unit
30 main memory
33 1st memory
35 Second memory
40 storage
100 central processing unit
110 Transaction Layer
120 data layer
130 Physical Layer
200 memory control unit
210 Physical Layer
220 data layer
230 Transaction Layer
300 memory

Claims (3)

마스터 버스의 우선순위를 고려한 메모리 제어 방법에 있어서,
1) 버스 우선순위 제어기를 포함하는 제어기가 다른 버스 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하는 단계;
2) 상기 데이터 정보에 따라 마스터들을 그룹화 하는 단계;
3) 상기 데이터의 버스트 유·무 및 데이터의 크기에 따라 상기 마스터의 버스의 사용에 대한 우선순위를 선택하고, 특정 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계;
4) 상기 버스 사용 요청 횟수가 많은 마스터 그룹을 마스터의 버스의 사용에 대해 높은 우선순위를 선택하는 단계;
5) 상기 우선순위는 상기 사용 요청 횟수에 비례하여 할당하는 단계;
6) 상기 우선순위가 기존 할당된 우선순위와 비교하여 다른 경우, 할당예정인 우선순위와 기존 우선순위를 평균하여 우선순위를 적용하는 단계;
7) 할당된 우선순위로 마스터에 의한 버스 사용이 완료되면 우선순위를 지정하는 복수의 메모리 디바이스에 저장된 우선순위를 초기화하고 우선순위 할당을 위해 상기 1)단계부터 재시작하여 우선순위를 재할당하는 단계;를 포함하며,
상기 메모리 디바이스는 병렬로 또는 순차로 구성되며, 상기 복수의 메모리 디바이스 각각은 각각의 체인 입력을 가지며, 병렬로 구성할 것인지 순차로 구성할 것인지는 프로그래밍 가능한 옵션에 기초하는 것을 특징으로 하는 마스터 버스의 우선순위를 고려한 메모리 제어 방법.
In the memory control method considering the priority of the master bus,
1) The controller including the bus priority controller includes information on at least one of the presence or absence of bursts of data to be transmitted and received through the bus from other bus masters, the size of the data, the number of requests to use the bus, and the waiting time for bus use. Receiving data information;
2) grouping masters according to the data information;
3) Priority for the use of the bus of the master is selected according to the presence / absence of the burst of the data and the size of the data, and when the waiting time for a bus use request of a specific master exceeds a preset time, the specific master Temporarily selecting a priority for bus use as a priority;
4) selecting a high priority for the use of the bus of the master for the master group having a large number of requests for bus use;
5) assigning the priority in proportion to the number of use requests;
6) if the priority is different from the previously assigned priority, applying the priority by averaging the priority to be allocated and the existing priority;
7) When the use of the bus by the master is completed with the assigned priority, re-assigning the priority by initializing the priority stored in a plurality of memory devices that specify the priority and restarting from step 1) above for priority assignment. ;
The memory devices are configured in parallel or sequentially, each of the plurality of memory devices has a respective chain input, and whether to configure in parallel or sequentially is based on a programmable option. Memory control method considering rank.
제 1 항에 있어서,
상기 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법은 라운드 로빈, TDMA, 로터리 버스 방법 중 하나인 것을 특징으로 하는 마스터 버스의 우선순위를 고려한 메모리 제어 방법.
According to claim 1,
The bus arbitration method in which the bus usage authority can be evenly distributed is one of round robin, TDMA, and rotary bus methods, and the memory control method considering the priority of the master bus.
제 1 항에 있어서,
상기 마스터 그룹들은 버스 이용요청 횟수가 동일 또는 비슷한 마스터들로 이루어지는 것을 특징으로 하는 마스터 버스의 우선순위를 고려한 메모리 제어 방법.
According to claim 1,
The master group is a memory control method considering the priority of the master bus, characterized in that the number of bus use requests are made of the same or similar masters.
KR1020180107121A 2018-09-07 2018-09-07 Control method of memory using priority of master bus KR20200028697A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180107121A KR20200028697A (en) 2018-09-07 2018-09-07 Control method of memory using priority of master bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180107121A KR20200028697A (en) 2018-09-07 2018-09-07 Control method of memory using priority of master bus

Publications (1)

Publication Number Publication Date
KR20200028697A true KR20200028697A (en) 2020-03-17

Family

ID=70003792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180107121A KR20200028697A (en) 2018-09-07 2018-09-07 Control method of memory using priority of master bus

Country Status (1)

Country Link
KR (1) KR20200028697A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040042321A (en) 2002-11-14 2004-05-20 한국전자통신연구원 Method for determining bus master priority in direct memory access controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040042321A (en) 2002-11-14 2004-05-20 한국전자통신연구원 Method for determining bus master priority in direct memory access controller

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
.

Similar Documents

Publication Publication Date Title
US10866740B2 (en) System and method for performance-based multiple namespace resource allocation in a memory
US12045168B2 (en) Timed data transfer between a host system and a memory sub-system
US11775220B2 (en) Storage device, host device controlling storage device, and operation method of storage device
US11797188B2 (en) Solid state drive with multiplexed internal channel access during program data transfers
US11681553B2 (en) Storage devices including heterogeneous processors which share memory and methods of operating the same
US20220114086A1 (en) Techniques to expand system memory via use of available device memory
JP2016207195A (en) Memory device and control program
CN110647359B (en) Semiconductor device, method of operating the same, and stacked memory device having the same
JP2004527040A (en) Using volatile memory to buffer non-volatile memory
JP7330694B2 (en) Computer system and method of operation
EP3353664A1 (en) Method and apparatus for pinning memory pages in a multi-level system memory
US7386645B2 (en) System on a chip with an arbitration unit to grant right of access to a common resource in response to conflicting requests for access from initiator modules, and storage key incorporating the arbitration unit
US9146693B2 (en) Storage control device, storage system, and storage control method
KR101916645B1 (en) Control method of memory using priority of master bus
KR101916644B1 (en) Control method of memory using priority of master bus
US11899947B2 (en) Storage device, storage system, and operating method thereof capable of dynamically allocating write blocks to a stream
KR20200028697A (en) Control method of memory using priority of master bus
KR20200028694A (en) Control method of memory using priority of master bus
KR20240007417A (en) Data Storage Device and Operating Method Therefor Guarantee the Required Performance of System Resources, and Memory Controller therefor
US10949256B2 (en) Thread-aware controller
US11960735B2 (en) Memory channel controller operation based on data types
US20230359578A1 (en) Computing system including cxl switch, memory device and storage device and operating method thereof
CN110568991B (en) Method and storage device for reducing IO command conflict caused by lock
US20190303316A1 (en) Hardware based virtual memory management