KR20200028694A - 마스터 버스의 우선순위를 고려한 메모리 제어 방법 - Google Patents

마스터 버스의 우선순위를 고려한 메모리 제어 방법 Download PDF

Info

Publication number
KR20200028694A
KR20200028694A KR1020180107115A KR20180107115A KR20200028694A KR 20200028694 A KR20200028694 A KR 20200028694A KR 1020180107115 A KR1020180107115 A KR 1020180107115A KR 20180107115 A KR20180107115 A KR 20180107115A KR 20200028694 A KR20200028694 A KR 20200028694A
Authority
KR
South Korea
Prior art keywords
priority
bus
memory
master
memory control
Prior art date
Application number
KR1020180107115A
Other languages
English (en)
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 KR1020180107115A priority Critical patent/KR20200028694A/ko
Publication of KR20200028694A publication Critical patent/KR20200028694A/ko

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

본 발명은 버스 시스템에 관한 것으로, 특히 마스터들의 특성에 따라 서로 다른 우선순위를 부여하는 방법에 관한 것으로 마스터에 연결된 메모리들을 관리함으로써, 데이터 전송 효율을 향상시킬 수 있는 마스터 버스의 우선순위를 고려한 메모리 제어 방법에 관한 것이다.
또한, 동일 기능을 수행하는 적어도 하나의 마스터로 그룹화된 마스터 그룹들 간에는 고정된 우선 순위 방법을 적용하고, 각각의 그룹 내의 마스터들 간에는 버스 사용 권한이 균등히 분배될 수 있는 메모리 제어 방법을 적용하는 것을 특징으로 한다.

Description

마스터 버스의 우선순위를 고려한 메모리 제어 방법 {CONTROL METHOD OF MEMORY USING PRIORITY OF MASTER BUS}
본 발명은 버스 시스템에 관한 것으로, 특히 마스터들의 특성에 따라 서로 다른 우선순위를 부여하는 방법에 관한 것으로 마스터에 연결된 메모리들을 관리함으로써, 데이터 전송 효율을 향상시킬 수 있는 마스터 버스의 우선순위를 고려한 메모리 제어 방법에 관한 것이다.
또한, 동일 기능을 수행하는 적어도 하나의 마스터로 그룹화된 마스터 그룹들 간에는 고정된 우선 순위 방법을 적용하고, 각각의 그룹 내의 마스터들 간에는 버스 사용 권한이 균등히 분배될 수 있는 메모리 제어 방법을 적용하는 것을 특징으로 한다.
또 다른 실시 예에서, 본 발명은 일반적으로 마스터 디바이스에 포함된 반도체 메모리 시스템, 디바이스, 및 방법에 관한 것으로, 보다 상세하게는, 마스터 버스의 우선순위를 고려한 메모리 제어 방법에 관한 것이다.
최근에 컴퓨터 등의 빠른 처리를 위해서 메모리에 대한 연구가 활발하게 진행되고 있다. 특히, 종래에 메인 메모리로 휘발성 메모리를 사용하였는데, 휘발성 메모리의 한계를 극복하기 위해 비휘발성 메모리의 연구가 활발하다.
비휘발성 메모리는 전원의 차단에도 불구하고 데이터를 소실하지 않는 특성을 갖는 메모리이다. 이러한 비휘발성 메모리는 메모리 셀(Memory cell)이 스스로 비휘발성을 띄고, 빠른 속도로 바이트 단위의 주소 접근이 가능하다.
한편, 이러한 메인 메모리로 사용되고 있는 다양한 메모리를 어떻게 관리하는지에 대한 연구도 진행되고 있다.
메모리 디바이스는 일반적으로 컴퓨터 또는 다른 전자 디바이스에서 내부, 반도체, 집적 회로로 제공된다. 여기에는 휘발성 메모리와 비 휘발성 메모리를 포함하는 많은 상이한 유형의 메모리가 있다. 휘발성 메모리는 그 정보를 유지하는데 전력을 요구하는 것으로, 특히 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)를 포함할 수 있다.
주변장치 및 개인용 컴퓨터에 접속되어 데이터를 송수신하는 외부 인터페이스들이 사용되어 왔다. 이러한 외부 인터페이스들로는 USB(Universal Serial Bus), I2C 버스(Inter-IC bus), SPI(Serial Peripheral Interface), UART(Universal Asynchronous Receiver/Transmitter) 등이 있다.
상기한 종래의 버스들은 고정된 우선순위에 따라 동작하므로 상황이 변해도 비효율적인 동작을 반복하는 문제점을 갖고 있다.
KR10-2004-0042321A (2004.05.20)
.
본 발명이 이루고자 하는 기술적인 과제는 마스터들의 특성에 따라 서로 다른 우선순위를 부여하는 방법에 관한 것으로 마스터에 연결된 메모리들을 관리함으로써, 데이터 전송 효율을 향상시킬 수 있는 마스터 버스의 우선순위를 고려한 메모리 제어 방법이 제공된다.
본 발명은 고속으로 통신하고 데이터를 처리할 수 있는 메모리 제어 시스템 및 이를 이용한 메모리 인터페이스 방법을 제공하고자 한다.
상기와 같은 단점을 극복하기 본 출원에서는 1) 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하는 단계; 2) 상기 데이터 정보에 마스터들을 그룹화 하는 단계; 3) 상기 데이터의 버스트 유·무 및 데이터의 크기에 따라 상기 마스터의 버스의 사용에 대한 우선순위를 선택하는 단계; 4) 상기 버스 사용 요청 횟수가 많은 마스터 그룹을 마스터의 버스의 사용에 대해 높은 우선순위를 선택하는 단계; 5) 상기 우선순위는 상기 사용 요청 횟수에 비례하여 할당하는 단계; 6) 상기 우선순위가 기존 할당된 우선순위와 비교하여 다른 경우, 할당예정인 우선순위와 기존 우선순위를 평균하여 우선순위를 적용하는 단계; 7) 할당된 우선순위로 마스터에 의한 버스 사용이 완료되면 우선순위를 지정하는 복수의 메모리 디바이스에 저장된 우선순위를 초기화하고 우선순위 할당을 위해 상기 1)단계부터 재시작하여 우선순위를 재할당하는 단계;를 포함하는 마스터 버스의 우선순위를 고려한 메모리 제어 방법으로 해결하고자 한다.
또한, 상기 메모리 디바이스는 병렬로 또는 순차로 구성되며, 상기 복수의 메모리 디바이스 각각은 각각의 체인 입력을 가지며, 병렬로 구성할 것인지 순차로 구성할 것인지는 프로그래밍 가능한 옵션에 기초하는 것을 특징으로 한다.
또다른 실시 예에서, 본 발명은 동일 기능을 수행하는 적어도 하나의 마스터로 그룹화된 마스터 그룹들 간에는 고정된 우선 순위 방법을 적용하고, 각각의 그룹 내의 마스터들 간에는 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법을 적용하는 것을 특징으로 한다.
또다른 실시 예에서, 본 발명은 마스터들중 어느 하나의 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계를 더 포함하는 것을 특징으로 한다.
또 다른 실시 예에서, 본 발명은 특정 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계를 추가로 포함하는 것을 특징으로 한다.
또 다른 실시 예에서, 본 발명은 상기 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법은 라운드 로빈, TDMA, 로터리 버스 방법 중 하나인 것을 특징으로 한다.
또 다른 실시 예에서, 본 발명은 상기 마스터 그룹들은 버스 이용요청 횟수가 동일 또는 비슷한 마스터들로 이루어지는 것을 특징으로 한다.
또 다른 실시 예에서, 본 발명은 마스터들의 버스 이용요청 횟수가 변화되는 경우, 상기 버스 이용요청 횟수에 따라 상기 마스터 그룹을 구성하는 마스터들을 우선순위를 초기화하는 것을 특징으로 한다.
본 발명의 실시예에 따른 메모리 제어 시스템 및 방법에 의하면 다음과 같은 효과가 있다.
첫째, 본 발명은 마스터들의 특성에 따라 서로 다른 우선순위를 부여할 수 있다.
둘째, 본 발명은 마스터들에 연결된 메모리들을 관리함으로써, 데이터 전송 효율을 향상시킬 수 있다.
셋째, 마스터 버스의 우선순위를 고려하여 메모리를 제어함으로써 마스터디바이스에 연결된 메인 메모리를 효율적으로 관리할 수 있다.
도 1은 본 발명의 한 실시예에 따른 메모리 제어 시스템을 도시한 블록도이다.
도 2는 본 발명의 한 실시예에 따른 메모리 제어 시스템을 도시한 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…모듈" 의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 출원에서는 효율적인 버스 마스터에 연결된 메모리를 관리하기 위해 1) 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하는 단계; 2) 상기 데이터 정보에 따라 마스터들을 그룹화 하는 단계; 3) 상기 데이터의 버스트 유·무 및 데이터의 크기에 따라 상기 마스터의 버스의 사용에 대한 우선순위를 선택하는 단계; 4) 상기 버스 사용 요청 횟수가 많은 마스터 그룹을 마스터의 버스의 사용에 대해 높은 우선순위를 선택하는 단계; 5) 상기 우선순위는 상기 사용 요청 횟수에 비례하여 할당하는 단계; 6) 상기 우선순위가 기존 할당된 우선순위와 비교하여 다른 경우, 할당예정인 우선순위와 기존 우선순위를 평균하여 우선순위를 적용하는 단계; 7) 할당된 우선순위로 마스터에 의한 버스 사용이 완료되면 우선순위를 지정하는 복수의 메모리 디바이스에 저장된 우선순위를 초기화하고 우선순위 할당을 위해 상기 1)단계부터 재시작하여 우선순위를 재할당하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 메모리 디바이스는 병렬로 또는 순차로 구성되며, 상기 복수의 메모리 디바이스 각각은 각각의 체인 입력을 가지며, 병렬로 구성할 것인지 순차로 구성할 것인지는 프로그래밍 가능한 옵션에 기초하는 특징을 포함할 수 있다.
또다른 실시 예에서, 본 발명은 동일 기능을 수행하는 적어도 하나의 마스터로 그룹화된 마스터 그룹들 간에는 고정된 우선 순위 방법을 적용하고, 각각의 그룹 내의 마스터들 간에는 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법을 적용하는 특징을 포함할 수 있다.
또다른 실시 예에서, 본 발명은 마스터들중 어느 하나의 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계를 더 포함하는 특징을 포함할 수 있다.
또 다른 실시 예에서, 본 발명은 특정 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계를 추가로 포함하는 특징을 포함할 수 있다.
또 다른 실시 예에서, 본 발명은 상기 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법은 라운드 로빈, TDMA, 로터리 버스 방법 중 하나인 특징을 포함할 수 있다.
또 다른 실시 예에서, 본 발명은 상기 마스터 그룹들은 버스 이용요청 횟수가 동일 또는 비슷한 마스터들로 이루어지는 특징을 포함할 수 있다.
또 다른 실시 예에서, 본 발명은 마스터들의 버스 이용요청 횟수가 변화되는 경우, 상기 버스 이용요청 횟수에 따라 상기 마스터 그룹을 구성하는 마스터들을 우선순위를 초기화하는 특징을 포함할 수 있다.
본 출원의 버스 시스템은 1개의 버스, 복수의 마스터, 복수의 슬레이브, 중재기, 및 버스의 우선순위를 제어하는 마스터 버스 메모리 제어기를 포함한다.
복수의 마스터는 복수의 슬레이브로 접속하고자 하는 경우 즉, 마스터들이 슬레이브들 데이터를 송신하거나, 슬레이브들로부터 데이터를 로딩하고자 하는 경우, 중재기에게 버스의 이용을 요청하게 된다. 이때, 중재기는 미리 정해진 우선 순위 판단 방법에 따라 마스터들 각각의 버스 이용의 우선권을 결정하며, 중재기로부터 버스의 이용 승인을 획득한 마스터가 버스(10)를 통해 슬레이브들로 접속하게 된다.
본 출원에서는 효율적인 버스 마스터에 연결된 메모리를 관리하기 위해 버스 마스터 제어기가 다른 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하게 된다.
버스 마스터 제어기는 수신된 상기 데이터 정보에 따라 마스터들을 그룹화하며, 그룹화 된 마스터들은 소정의 규칙에 의해 우선순위가 부여된다.
우선순위를 부여하는 기준으로는 상기 데이터의 버스트 유·무 및 데이터의 크기등이 있다. 또한, 상기 버스 사용 요청 횟수가 많은 마스터 그룹을 마스터의 버스의 사용에 대해 높은 우선순위를 선택할 수도 있다.
상기 우선순위는 버스의 효율적 사용을 위해 상기 사용 요청 횟수에 비례하여 할당할 수도 있다. 그러나, 상기 우선순위가 기존 할당된 우선순위와 비교하여 다른 경우, 할당 예정인 우선순위와 기존 우선순위를 평균하여 우선순위를 적용할 수도 있고, 기설정된 우선순위를 유지할 수 도 있다.
버스 마스터 제어기의 메모리는 항상 많은 연산을 하게 되므로, 우선순위 부여 횟수가 특정 수를 카운트하게 되거나, 상기 할당된 우선순위로 마스터에 의한 버스 사용이 완료되면 우선순위를 지정하는 복수의 메모리 디바이스에 저장된 우선순위를 초기화하고, 또한 초기화 영역은 우선순위 할당을 위한 영역이 될 수도 있고, 메모리 전체를 포함하여 초기화 할 수도 있다.
메모리가 초기화된 경우, 우선순위 할당을 위해 1) 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하는 단계; 부터 재시작하여 우선순위를 재할당하게 된다.
또한, 상기 버스 마스터 제어기의 메모리는 병렬로 또는 순차로 구성되며, 상기 복수의 메모리 디바이스 각각은 각각의 체인 입력을 가지며, 병렬로 구성할 것인지 순차로 구성할 것인지는 프로그래밍 가능한 옵션에 기초하는 특징을 포함할 수 있으며, 동작의 안정성을 위해 heartbit를 이용한 백업시스템을 이용할 수 도 있다.
상기 우선순위를 할당하는데 있어서, 동일 기능을 수행하는 적어도 하나의 마스터로 그룹화하거나, 운영자가 임의로 설정한 그룹으로 그룹화된 마스터 그룹들 간에는 고정된 우선 순위 방법을 적용하며, 각각의 그룹 내의 마스터들 간에는 버스 사용 권한이 균등히 분배될 수 있다.
상기 버스에 연결된 마스터들 중 어느 하나의 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하거나 전송해야하는 데이터가 많은 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 상향하여 선택할 수도 있다.
상기 그룹화된 마스터들은 상기 버스 사용 권한이 균등히 분배될 수 있도록 하여 버스에 연결된 마스터들을 효율적으로 운용할 수 있다..
또한, 마스터들을 그룹화 하는데 있어서, 버스 이용요청 횟수가 동일 또는 비슷한 마스터들로 그룹화 할 수도 있다. 그러나, 상기 마스터들의 버스 이용요청 횟수가 변화되는 경우에는, 상기 버스 이용요청 횟수에 따라 상기 마스터 그룹을 구성하는 마스터들의 우선순위를 초기화하여 제한된 버스 시스템의 자원을 공정하게 배분할 수도 있다.
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 메모리 제어 시스템 및 이를 이용한 메모리 인터페이스 방법에 대하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 메모리 제어 시스템을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 메모리 제어 시스템은 프로세서(10), 메모리 제어부(20), 메인 메모리(30), 저장장치(40)를 포함한다.
프로세서(10)는 적어도 하나 이상의 프로세스(예를 들어, 시스템 프로세스, 응용 프로세스 등)에 대한 컴퓨팅 연산을 수행하는 부분이다. 또한, 프로세서(10)는 메모리 제어 시스템 전체를 제어하고, 다양한 프로그램의 명령들을 실행하는 부분이다.
또한, 프로세서(10)는 메인 메모리(30) 할당을 위해 메모리 제어부(20)에 할당요청 명령을 하거나, 메인 메모리(30)에서 메모리 객체의 해제를 위해 메모리 제어부(20)에 해제요청 명령을 할 수 있다. 예를 들어, 프로세서(10)는 메모리 제어부(20)에 공간확보명령을 하면, 메모리 제어부(20)는 공간확보를 위한 일련의 과정을 처리하게 된다. 이에 대한 상세한 설명은 이하 도 2에서 하기로 한다.
메모리 제어부(20)는 메인 메모리(30)를 제어하는 부분이다. 메모리 제어부(20)는 통합메모리 제어부(21), 제1메모리 제어부(23), 제2메모리 제어부(25)를 포함할 수 있는데, 통합메모리 제어부(21)는 제1메모리 제어부(23)와 제2메모리 제어부(25)를 제어하고, 제1메모리 제어부(23)는 제1메모리(33)를 제어하고, 제2메모리 제어부(25)는 제2메모리(35)를 제어한다.
예를 들어, 통합메모리 제어부(21)는 프로세서(10)로부터 공간확보명령을 수신하여, 제1메모리 제어부(23)와 제2메모리 제어부(25)가 제1메모리(33)와 제2메모리(35)에 메모리 객체를 할당, 해제, 공간확보를 위한 이동, 회수를 하도록 제어한다.
제1메모리 제어부(23)와 제2메모리 제어부(25)는 제1메모리(33)와 제2메모리(35)에 메모리 객체를 할당, 해제, 공간확보를 위한 이동, 회수를 하도록 제어하고 그 결과를 통합메모리 제어부(21)에 송신한다.
또한, 통합메모리 제어부(21)는 프로세서(10)로부터 메모리 객체 할당요청을 수신하면, 제1메모리(33)와 제2메모리(35) 중에서 메모리 객체를 할당할 대상 하위 메모리를 선정하고, 제1메모리 제어부(23)와 제2메모리 제어부(25) 중에서 해당하는 부분에 할당요청을 송신한다.
또한, 통합메모리 제어부(21)는 프로세서(10)로부터 특정 메모리 객체 해제요청을 수신하면, 제1메모리(33)와 제2메모리(35) 중에서 특정 메모리 객체의 위치를 파악하고, 제1메모리 제어부(23)와 제2메모리 제어부(25) 중에서 해당하는 부분에 해제요청을 송신한다.
또한, 메모리 제어부(20)는 제1메모리(33)에 제1사용가능영역이 부족하면 제1희생객체를 결정하고, 제2메모리(35)에 제2사용가능영역이 있으면, 제1희생객체를 제2사용가능영역으로 이동하는 것을 제어한다.
또한, 메모리 제어부(20)는 제1희생객체를 이동할 것인지 판단하여, 제1희생객체를 이동하지 않으면, 제1희생객체를 회수하는 것을 제어한다.
본 발명의 메모리 제어부(20)는 하드웨어적으로 존재하거나 소프트웨어적으로 존재할 수 있음을 밝혀둔다.
메인 메모리(30)는 프로세서(10)가 처리하는 적어도 하나 이상의 프로세스에 대한 컴퓨팅 연산 도중의 데이터, 결과 데이터를 저장하는 부분이다. 또한, 메인 메모리(30)는 프로세서(10)가 프로세스에 대한 컴퓨팅 연산을 위해 저장장치(40)로부터 필요한 파일을 독출하여 임시로 저장하고, 프로세스에 대한 컴퓨팅 연산의 종료 등의 원인에 의해 저장장치(40)로 데이터가 옮겨지기 전까지 컴퓨팅 연산 도중의 데이터, 결과 데이터를 저장할 수 있다.
메인 메모리(30)는 제1메모리(33)와 제2메모리(35)를 포함할 수 있다. 메인 메모리(30)를 구성하는 제1메모리(33)와 제2메모리(35)는 비휘발성 메모리(Non-Volatile memory)와 휘발성 메모리(Volatile memory) 중 어느 하나가 가능하다. 예를 들어, 메인 메모리(30)를 하이브리드 메모리로 표현할 수 있는데, 메인 메모리(30)의 구성을 비휘발성 메모리와 휘발성 메모리, 휘발성 메모리와 휘발성 메모리, 비휘발성 메모리와 비휘발성 메모리 등 다양하게 할 수 있고 본 발명은 다양한 실시예에 적용 가능하다.
비휘발성 메모리는 예를 들어, 비휘발성 램(Non-Volatile Random Access Memory, NVRAM)이 가능하고, 비휘발성 램은 스토리지 클래스 메모리(Storage Class Memory, SCM)일 수 있는데, 스토리지 클래스 메모리로 PCRAM(Phase Change RAM), MRAM(Magnetroresistive RAM), FeRAM(Ferroelectric RAM) 등의 예가 있다. 휘발성 메모리로는 DRAM이 가능하다.
또한, 본 실시예에서는 메인 메모리(30)가 2개의 메모리로 구성되는 경우를 예로 하였으나 본 발명은 메인 메모리(30)를 2개 이상인 경우에도 적용 가능하다.
저장장치(40)는 데이터를 저장하는 부분이다. 예를 들어, 저장장치(40)로는 하드디스크 등이 가능하다.
도 2는 본 발명의 한 실시예에 따른 메모리 제어 시스템의 블록도이다.
도 2를 참고하면, 본 발명의 실시예에 따른 메모리 제어 시스템은 중앙 처리 장치(100), 메모리 제어부(200) 및 메모리(300)를 포함한다. 본 발명의 실시예에 따른 설명을 위해 필요한 개략적인 구성만을 도시할 뿐 이러한 구성에 국한되는 것은 아니다.
중앙 처리 장치(central processing unit, CPU)(100)는 메모리 제어 신호를 생성하고, 생성된 메모리 제어 신호를 메모리 제어부(200)로 전달한다.
그리고, 메모리 제어부(200)는 중앙 처리 장치(100)의 외부에 형성된다. 메모리 제어부(200)는 중앙 처리장치(100)로부터 전달된 메모리 제어 신호를 이용해 메모리(200)의 동작을 제어한다.
그리고, 중앙 처리 장치(100)와 메모리 제어부(200) 사이에는 본 발명의 한 실시예에 따라 시리얼 링크로 이루어진 단일 링크를 형성한다. 그리고, 중앙 처리장치(100)는 상기 단일 링크 통해 메모리 제어부(200)로 메모리 제어 신호를 전송한다.
여기서, 메모리 제어 신호는 메모리(300)를 제어하기 위한 명령어 신호 또는 메모리(300)에 저장된 데이터 중에 어느 하나 이상을 포함한다. 따라서, 본 발명의 한 실시예에 따른 메모리 제어 신호가 명령어 신호와 데이터를 모두 포함하는 경우에, 단일 링크는 하나의 시리얼 패킷으로 상기 명령어 신호 및 상기 데이터를 동시에 전송할 수 있다.
그리고, 메모리(300)는 데이터를 저장하며, 메모리 제어 신호와 같은 외부의 제어 신호에 의해서 동작을 수행한다. 여기서, 본 발명의 한 실시예에 따른 메모리(300)는 DDR SDRAM(double data rate synchronous DRAM)을 포함한다.
또한, 메모리(300)는 비휘발성 메모리(Non-Volatile Memory) 또는 휘발성 메모리(Volatile memory)일 수 있다.
비휘발성 메모리인 플래쉬(flash) 메모리나 이이피롬(EEPROM) 등은 읽기와 쓰기를 주 명령어로 하며, 여타 몇 개의 명령어를 통해 동작을 수행한다.
휘발성 메모리인 SDRAM의 경우에는 읽기와 쓰기 이외에도 리프레쉬(refresh), 프리차지(precharge) 및 액티브(active)의 명령어를 통해 동작을 수행하며, 파워 업(power-up) 상태에서 내부 데이터를 유지하기 위한 기본 동작 명령어가 존재한다.
이상을 통해 본 발명의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형 또는 변경하여 실시하는 것이 가능하고 이 또한 본 발명의 범위에 속하는 것은 당연하다.
10 프로세서
20 메모리제어부
21 통합메모리제어부
23 제1메모리제어부
25 제2메모리제어부
30 메인메모리
33 제1메모리
35 제2메모리
40 저장장치
100 중앙처리장치
110 트랜잭션계층
120 데이터계층
130 물리계층
200 메모리제어부
210 물리계층
220 데이터계층
230 트랜잭션계층
300 메모리

Claims (3)

  1. 마스터 버스의 우선순위를 고려한 메모리 제어 방법에 있어서,
    1) 버스 우선순위 제어기를 포함하는 제어기가 다른 버스 마스터로부터 버스를 통해 송·수신할 데이터의 버스트 유·무, 데이터의 크기, 버스 사용 요청 횟수 및 버스 사용 대기 시간 중 적어도 하나의 정보를 포함하는 데이터 정보를 수신하는 단계;
    2) 상기 데이터 정보에 따라 마스터들을 그룹화 하는 단계;
    3) 상기 데이터의 버스트 유·무 및 데이터의 크기에 따라 상기 마스터의 버스의 사용에 대한 우선순위를 선택하고, 상기 마스터들중 어느 하나의 마스터의 버스 사용 요청 대기 시간이 미리 설정된 시간을 초과하는 경우, 상기 특정 마스터의 버스 사용에 대한 우선순위를 일시적으로 최우선순위로 선택하는 단계;
    4) 상기 버스 사용 요청 횟수가 많은 마스터 그룹을 마스터의 버스의 사용에 대해 높은 우선순위를 선택하는 단계;
    5) 상기 우선순위는 상기 사용 요청 횟수에 비례하여 할당하는 단계;
    6) 상기 우선순위가 기존 할당된 우선순위와 비교하여 다른 경우, 할당예정인 우선순위와 기존 우선순위를 평균하여 우선순위를 적용하는 단계;
    7) 할당된 우선순위로 마스터에 의한 버스 사용이 완료되면 우선순위를 지정하는 복수의 메모리 디바이스에 저장된 우선순위를 초기화하고 우선순위 할당을 위해 상기 1)단계부터 재시작하여 우선순위를 재할당하는 단계;를 포함하며,
    상기 메모리 디바이스는 병렬로 또는 순차로 구성되며, 상기 복수의 메모리 디바이스 각각은 각각의 체인 입력을 가지며, 병렬로 구성할 것인지 순차로 구성할 것인지는 프로그래밍 가능한 옵션에 기초하는 것을 특징으로 하는 마스터 버스의 우선순위를 고려한 메모리 제어 방법.
  2. 제 1 항에 있어서,
    상기 버스 사용 권한이 균등히 분배될 수 있는 버스 중재 방법은 라운드 로빈, TDMA, 로터리 버스 방법 중 하나인 것을 특징으로 하는 마스터 버스의 우선순위를 고려한 메모리 제어 방법.
  3. 제 1 항에 있어서,
    상기 마스터 그룹들은 버스 이용요청 횟수가 동일 또는 비슷한 마스터들로 이루어지는 것을 특징으로 하는 마스터 버스의 우선순위를 고려한 메모리 제어 방법.

KR1020180107115A 2018-09-07 2018-09-07 마스터 버스의 우선순위를 고려한 메모리 제어 방법 KR20200028694A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180107115A KR20200028694A (ko) 2018-09-07 2018-09-07 마스터 버스의 우선순위를 고려한 메모리 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180107115A KR20200028694A (ko) 2018-09-07 2018-09-07 마스터 버스의 우선순위를 고려한 메모리 제어 방법

Publications (1)

Publication Number Publication Date
KR20200028694A true KR20200028694A (ko) 2020-03-17

Family

ID=70004025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180107115A KR20200028694A (ko) 2018-09-07 2018-09-07 마스터 버스의 우선순위를 고려한 메모리 제어 방법

Country Status (1)

Country Link
KR (1) KR20200028694A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040042321A (ko) 2002-11-14 2004-05-20 한국전자통신연구원 가중 파라메타를 이용한 직접 메모리 접근 제어기의 버스마스터 우선순위 결정방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040042321A (ko) 2002-11-14 2004-05-20 한국전자통신연구원 가중 파라메타를 이용한 직접 메모리 접근 제어기의 버스마스터 우선순위 결정방법

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
US11775220B2 (en) Storage device, host device controlling storage device, and operation method of storage device
US11487666B2 (en) Timed data transfer between a host system and a memory sub-system
JP6483631B2 (ja) メモリ装置及び制御プログラム
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
CN110647359B (zh) 半导体装置、其操作方法和具有其的层叠存储装置
JP2004527040A (ja) 非揮発性メモリをバッファーリングするために揮発性メモリを用いること
US10185501B2 (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
US11899947B2 (en) Storage device, storage system, and operating method thereof capable of dynamically allocating write blocks to a stream
KR101916645B1 (ko) 마스터 버스의 우선순위를 고려한 메모리 제어 방법
KR101916644B1 (ko) 마스터 버스의 우선순위를 고려한 메모리 제어 방법
KR20200028694A (ko) 마스터 버스의 우선순위를 고려한 메모리 제어 방법
KR20200028697A (ko) 마스터 버스의 우선순위를 고려한 메모리 제어 방법
US20220114086A1 (en) Techniques to expand system memory via use of available device memory
JP7330694B2 (ja) コンピュータシステム及びその動作方法
TW202303378A (zh) 多個固態硬碟(ssd)提交佇列間的公平共享
US10949256B2 (en) Thread-aware controller
US11960735B2 (en) Memory channel controller operation based on data types
KR102496994B1 (ko) PCIe 인터페이스 장치 및 그 동작 방법
US20230359578A1 (en) Computing system including cxl switch, memory device and storage device and operating method thereof
US20190303316A1 (en) Hardware based virtual memory management
KR20240007417A (ko) 시스템 리소스의 요구성능을 보장하는 데이터 저장 장치 및 그 동작 방법과, 이를 위한 메모리 컨트롤러