KR100978206B1 - 메모리로의 접근 요청을 재정렬하는 다중 대기큐를포함하는 요청 재정렬 장치 및 그 방법 - Google Patents

메모리로의 접근 요청을 재정렬하는 다중 대기큐를포함하는 요청 재정렬 장치 및 그 방법 Download PDF

Info

Publication number
KR100978206B1
KR100978206B1 KR1020080017262A KR20080017262A KR100978206B1 KR 100978206 B1 KR100978206 B1 KR 100978206B1 KR 1020080017262 A KR1020080017262 A KR 1020080017262A KR 20080017262 A KR20080017262 A KR 20080017262A KR 100978206 B1 KR100978206 B1 KR 100978206B1
Authority
KR
South Korea
Prior art keywords
access
request
reordering
queue
priority
Prior art date
Application number
KR1020080017262A
Other languages
English (en)
Other versions
KR20090092006A (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 KR1020080017262A priority Critical patent/KR100978206B1/ko
Publication of KR20090092006A publication Critical patent/KR20090092006A/ko
Application granted granted Critical
Publication of KR100978206B1 publication Critical patent/KR100978206B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

본 발명은 디램으로의 접근 요청을 재정렬하는 다중 대기큐를 포함하는 요청 재정렬 장치 및 그 방법에 관한 것으로, 사용자 우선순위를 가지는 접근 요청을 수신하면 포함하는 다중 대기큐 중에서 상기 사용자 우선순위에 상응하는 대기큐에 상기 접근 요청을 푸시(push)하고 상기 다중 대기큐별로 각각 재정렬하는 요청 대기부; 및 상기 요청 대기부에서 재정렬한 접근 요청을 수신하여 디램에 접근하는 디램(DRAM) 제어부를 포함한다.
디램(DRAM), 요청, 재정렬, 다중 대기큐, 우선순위

Description

메모리로의 접근 요청을 재정렬하는 다중 대기큐를 포함하는 요청 재정렬 장치 및 그 방법{REQUEST REORDERING APPARATUS INCLUDING MULTIPLE QUEUE AND METHOD THAT REORDER ACCESS REQUEST OF MEMORY}
본 발명은 메모리로의 접근 요청을 재정렬하는 다중 대기큐를 포함하는 요청 재정렬 장치 및 그 방법에 관한 것으로, 특히, 디램에서 데이터를 저장하는 구조의 특성과 각 접근 요청의 사용자 우선순위를 고려하여 현재 진행중인 접근 요청 후에 보다 빠르게 접근 가능한 요청을 우선하도록 하며, 이때 접근 요청의 기아(starvation)현상을 줄이도록 접근 요청을 재정렬하는 다중 대기큐를 포함하는 요청 재정렬 장치 및 그 방법에 관한 것이다.
근래, 휴대 전화 등으로 대표되는 휴대 기기에서는 다기능화가 진전되고, 그에 수반하여 필요한 메모리의 용량이 증대하기 때문에, 소비 전류가 보다 작은 특징을 갖는 에스램(SRAM:static RAM) 대신에 대용량화에 보다 적합한 디램(DRAM)을 사용하고자 하는 요구가 발생하여 왔다.
일반적으로 DRAM에 접근하기 위해서는 접근 요청을 DRAM 제어기에 전달하여야 한다. DRAM에 접근하는 방법으로 요청자가 직접 DRAM 제어기에 접근 요청을 전달하고 DRAM에 대한 소유권을 가진 상태로 DRAM 제어기로부터 응답이 올 때 까지 기다리는 방법 혹은 요청자가 DRAM에 대한 소유권을 가지지 않는 상태로 DRAM 접근 요청을 선입선출기(FIFO)에 저장해 두고 차례가 돌아올 때 까지 기다린 후 DRAM 제어기로부터 응답을 기다리는 방법이 있다. 그 중 대표적인 방법은 선입선출기(FIFO)를 사용하는 방법으로 이 방법의 경우 DRAM에 전달된 접근 요청은 요청이 들어온 순서에 따라 처리되어 DRAM의 자료를 접근할 수 있다.
DRAM은 장치적 구조상 요청에 의해 현재 접근 중인 주소에 이어서 특정한 주소가 요청될 경우 DRAM 접근 지연 시간을 줄일 수 있는 특성을 가지고 있다. 즉, DRAM은 장치적 구조상 현재 요청에 따른 접근 주소와 다음 요청에 따른 접근 주소와의 상관관계에 따라 다음 요청에 따른 접근 주소로의 접근 속도가 다르다.
다음 요청에 따른 접근 주소로의 접근 속도가 빠른 경우에는 DRAM의 장치적 구조상 현재 접근 주소 이후 다음 접근 주소에 접근하기 위한 준비 시간이 필요하지 않은 경우, 현재 요청 진행중인 요청이 처리되는 동안 병렬로 다음 접근 주소의 접근을 미리 준비 할 수 있는 경우이며, 현재 요청의 명령과 다음 요청의 명령이 동일한 경우 그렇지 않은 경우보다 상대적으로 빠르다.
상술한 바와 같이, 다음 요청에 따른 접근 주소로의 접근 속도가 다름에도 불구하고, 종래의 DRAM의 접근 방법은 선입선출기(FIFO)를 사용하여 요청의 진입 순서에 따라 요청된 접근 주소의 순서를 변경하지 않고 사용하고 있다.
본 발명은 상기와 같은 종래 기술을 개선하기 위해 안출된 것으로서, 디램으로의 접근 요청을 재정렬하는 다중 대기큐를 포함하는 요청 재정렬 장치 및 그 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은, 디램에서 데이터를 저장하는 구조의 특성과 각 접근 요청의 사용자 우선순위를 고려하여 현재 진행중인 접근 요청의 처리 후에 보다 빠르게 접근 가능한 접근 요청을 우선하도록 하며, 이때 접근 요청의 기아(starvation)현상을 줄이도록 접근 요청을 재정렬하는 다중 대기큐를 포함하는 요청 재정렬 장치 및 그 방법을 제공하는 것이다.
본 발명의 목적은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 목적들을 달성하기 위한 본 발명의 실시예에 따르면, 요청 재정렬 장치는, 사용자 우선순위를 가지는 요청을 수신하면 포함하는 다중 대기큐 중에서 상기 사용자 우선순위에 상응하는 대기큐에 상기 요청을 푸시(push)하고 상기 다중 대기큐별로 각각 재정렬하는 요청 대기부; 및 상기 요청 대기부에서 재정렬한 요청을 수신하여 디램에 접근하는 디램(DRAM) 제어부를 포함한다.
상기한 목적들을 달성하기 위한 본 발명의 다른 실시예에 따르면, 요청 재정렬 장치에서 다중 대기큐의 요청을 재정렬하는 방법은, 사용자 우선순위에 따라 구분되는 다중 대기큐에서 2개 이상의 요청을 가진 대기큐의 요청들을 디램에 접근하기 위한 지연시간이 줄어들도록 재정렬하는 단계를 포함한다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
상술한 바와 같이 본 발명의 실시예에 따르면, 사용자 우선순위와 디램으로의 접근 대기시간을 고려하여 다중 대기큐를 재정렬 하여서 DRAM 자료 처리량을 향상시키고, 요청의 대기시간을 고려한 다중 대기큐 내의 승격으로 기아(starvation)현상을 제거할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명의 기본적인 원리는 디램에서 데이터를 저장하는 구조의 특성과 각 요청의 사용자 우선순위를 고려하여 현재 진행중인 요청 후에 보다 빠르게 접근 가능한 요청을 우선하도록 하며, 이때 요청의 기아(starvation)현상을 줄이도록 접근 요청을 재정렬하는 것이다. 이하, 본 발명의 원리에 따른 구체적인 실시예를 첨부 된 도면을 참조하여 상세히 설명하기로 한다.
본 발명의 상세한 설명에 앞서 본 발명에서 정의하는 사용자 우선순위는 디램으로의 접근 요청을 생성한 사용자 혹은 프로세서에 의해 주어지는 접근 요청의 중요도를 나타내는 값이고, 접근 우선순위는 다중 대기큐 각각에 포함된 접근 요청들을 재정렬하기 위한 기준이 되는 값으로, 접근 우선순위는 비교 기준이 되는 참조요청이 디램(DRAM)에 접근 중일 때 다음에 참조요청 다음으로 디램에 접근하기 위한 지연시간이 작을수록 높은 중요도를 측정하여 결정한다. 본 발명의 설명에서 디램으로의 접근 요청을 “접근 요청” 또는 “요청”으로 칭한다.
도 1은 본 발명의 일 실시 예에 따른 디램으로의 사용자 우선순위를 가진 요청을 재정렬하는 다중 대기큐를 포함하는 요청 재정렬 장치의 구성을 도시한 도면이다. 상기 도 1을 참조하면 본 발명의 요청 재정렬 장치는 접근 요청부(110), 요청 대기부(120) 및 디램(DRAM)(140)을 제어하기 위한 제어부(130)를 포함하여 구성한다.
먼저, 접근 요청부(110)는 사용자 우선순위를 가지는 요청을 요청 대기부(120)로 제공하는 장치로, 요청을 발생 시키는 사용자 또는 요청을 발생시키는 프로세서가 될 수 있다.
요청 대기부(120)는 접근 요청부(110)로부터 우선순위를 가지는 요청을 수신하면, 수신한 요청을 우선순위별로 구분하여 포함하는 다중 대기큐 중에 우선순위에 상응하는 대기큐에 저장하고 본 발명에 따른 재정렬 규칙에 따라 각 대기큐별로 저장한 요청들을 재정렬하고 디램 제어부(130)로부터 디램(140)에 접근 가용함을 알리는 가용신호(ACK)를 수신하면 요청을 가진 대기큐 중에서 우선순위가 가장 높은 대기큐에서 재정렬한 순서에 따른 다음 요청을 디램(DRAM) 제어부(130)로 제공한다. 요청 대기부(120)의 보다 상세한 설명은 이후 도 4를 참조하여 후술한다.
디램(DRAM) 제어부(130)는 디램으로의 접근 가용시 즉, 진행중인 요청이 없을 때 요청 대기부(120)로 가용함을 알리는 가용신호(ACK)를 송신하고 요청 대기부(120)로부터 요청을 수신하면 디램(DRAM)(140)으로 요청에 해당하는 주소로의 접근을 요청하여 요청에 포함된 명령을 수행한다.
디램(140)은 컴퓨터의 주기억 장치로서 널리 사용되고 있는 대규모 집적 회로(LSI) 기억 장치의 일종으로 디램 제어부(130)의 제어를 받아 요청 받는 주소의 데이터로의 접근을 허용하고 요청에 따른 명령에 따라 접근 주소의 데이터를 읽어 디램 제어부(130)에 제공하거나 명령에 따라 접근 주소에 디램 제어부(130)를 통해 제공받는 데이터를 저장한다. 그러면 디램(140)의 구조를 아래에서 도 2를 참조하여 보다 상세히 설명하고자 한다.
도 2는 본 발명의 일 실시 예에 따른 다중 대기큐를 포함하는 요청 재정렬 장치에서 디램의 구조를 도시한 도면이다. 상기 도 2를 참조하면 디램(140)은 행과 열의 주소로 다수의 데이터를 저장하는 다수의 뱅크(202, 204, 206)와, 디램의 특정 주소로의 접근시 특정 주소에 해당하는 뱅크의 해당 행을 임시로 저장하는 디램(DRAM) 버퍼(210)를 포함한다.
즉, 디램(140)은 디램 제어부(130)로부터 특정 주소로의 접근을 요청받으면 특정 주소에 상응하는 해당 뱅크의 해당 행을 모두 디램 버퍼(210)에 저장하고 디램 버퍼(210)에 저장된 데이터로 접근하도록 한다. 위와 같은 디램(140)의 구조로 인해 예를 들어 디램 제어부(130)로부터 다음으로 접근하는 주소가 동일한 뱅크의 동일한 행일 경우 뱅크와 행을 검색하여 디램 버퍼(210)에 저장하는 과정이 생략 됨으로 접근속도가 빨라지게 된다.
이하, 본 발명의 실시예에 따른 요청의 재정렬에 앞서 디램(140)에 접근하기 위한 요청의 구성을 아래 도 3을 통해 설명하고자 한다. 도 3은 본 발명의 일 실시 예에 따른 다중 대기큐를 포함하는 요청 재정렬 장치에서 디램으로 접근하기 위한 요청의 구성을 도시한 도면이다. 상기 도 3을 참조하면 본 발명의 요청(300)은 뱅크(Bank) 주소(310), 행 주소(320), 열 주소(330), 명령(340) 및, 부가 정보(350)을 포함한다.
여기서, 뱅크(Bank) 주소(310)는 디램(140)에 포함된 다수의 뱅크(202, 204, 206)중에서 해당 뱅크의 나타내는 주소이고, 행 주소(320)는 해당 뱅크의 행을 지시하는 주소이고, 열 주소(330)는 해당 뱅크의 열을 지시하는 주소이다. 즉, 상기 도 2의 디램(140)의 구조에서 기억 소자에 해당하는 주소 지정은 뱅크 주소(310), 행 주소(320) 및, 열 주소(330)로 구성하여 하나의 접근 주소를 이룬다.
또한, 명령(340)에는 해당 주소에서 자료를 읽어올 것인지, 주소에 자료를 쓸 것인지에 대한 제어 명령을 저장하고, 부가 정보(350)에는 차후에 부가 기능을 지원하기 위한 부가 정보를 더 포함할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 다중 대기큐를 포함하는 요청 재정렬 장치에서 사용자 우선순위를 가지는 요정을 재정렬하는 요청 대기부의 구성을 도시 한 도면이다.
상기 도 4를 참조하면 본 발명의 요청 대기부(120)는 다중 대기큐 제어부(410), 다수의 대기큐(420, 430, 440) 및, 승격 대기큐(424, 434)를 포함하여 구성한다.
다중 대기큐 제어부(410)는 접근 요청부(110)로부터 사용자 우선순위를 가지는 요청을 수신하면 우선순위에 따라 상응하는 대기큐(410)의 후미에 삽입하여 저장한다.
또한, 다중 대기큐 제어부(410)는 디램 제어부(130)로부터 디램(140)에 접근 가용함을 알리는 가용신호(ACK)를 수신하면 요청을 가진 대기큐 중에서 우선순위가 가장 높은 대기큐로 팝업(pop-up)을 지시하는 요구신호(ACK)를 송신하고, 그 외 나머지 대기큐들로는 대기신호(NACK)를 송신한다.
이후, 다중 대기큐 제어부(410)는 팝업(pop-up)을 지시하는 요구신호(ACK)를 송신한 대기큐로부터 요청을 수신하면, 이를 디램 제어부(130)로 송신한다.
다수의 대기큐(420, 430, 440)들은 포함하는 요청들을 디램 제어부(130)에서 현재 진행중인 요청이 접근하고 있는 주소와 비교하여 접근 우선순위를 확인하고, 접근 우선순위를 고려하여 각 대기큐(420, 430, 440)별로 재정렬한다. 이때 접근 우선순위는 진행중인 요청을 참조요청으로 할 때 접근 속도가 빠른 주소를 가지는 요청 일수록 더 높은 접근 우선순위를 가진다.
대기큐(420, 430, 440)는 다중 대기큐 제어부(410)로부터 팝업(pop-up)을 지시하는 요구신호(ACK)를 수신하면, 대기큐에서 가장 빠른 순서의 요청을 다중 대 기큐 제어부(410)로 송신한다. 또한, 대기큐(420, 430, 440)는 다중 대기큐 제어부(410)로부터 대기신호(NACK)를 수신하면, 각 대기큐(420, 430, 440)별로 포함하는 승격 카운터(422, 432, 442)를 통해 기설정한 승격시간을 초과하였는지 여부를 확인하여 승격시간을 초과하지 않았으면 계속 현 상태를 유지하고, 승격시간을 초과하였으면 대기큐에서 가장 빠른 순서의 요청을 팝업하여 각 대기큐(420, 430, 440)에 상응하는 승격 대기큐(424, 434)에 입력한다.
승격 대기큐(424, 434)는 대기큐(420, 430)로부터 요청을 입력받으면 한단계 높은 사용자 우선순위를 가지는 대기큐(430, 440)에 푸시(push)가 가능한지 확인하고 가능하면 푸시(push)하여 입력한다. 즉, 승격 카운터(422, 432, 442)와 승격 대기큐(424, 434)의 역할은 사용자 우선순위로 인한 기아(starvation)현상을 제거하기 위해 기설정된 승격대기 기간을 초과하는 요청의 우선순위를 높이기 위해 존재한다.
그러면, 참조요청과의 비교결과에 따른 각 등급별 접근 우선순위를 살펴보면 첫번째 접근 우선순위는 참조요청과 비교했을 때 뱅크 주소와 행 주소가 동일한 경우이고, 두번째 접근 우선순위는 참조요청과 비교했을 때 뱅크 주소가 서로 다른 경우이고, 세번째 접근 우선순위는 참조요청과 비교했을 때 제어명령이 동일한 경우이다. 만약 재정렬 대상인 요청이 동일한 접근 우선수위를 가지면 먼저 재정렬 대기큐(410)에 진입한 요청이 우선한다.
본 발명의 실시예에서 접근 우선순위에 따른 각 대기큐(420, 430, 440)별로의 재정렬 방법에는 다양한 방법이 존재 할 수 있으나 본문에서는 대표적인 2가지 예를 설명하고자 한다.
첫번째 재정렬 방법은 각 대기큐(420, 430, 440) 별로 가장 앞에 위치한 2개의 요청만을 재정렬 하는 방법이다. 즉, 현재 진행 중인 요청을 접근 우선순위를 결정하는 참조요청으로 하여 각 대기큐(420, 430, 440) 별로 앞에 위치한 2개의 요청의 접근 우선순위를 확인하고, 각 대기큐(420, 430, 440) 별로 앞에 위치한 2개의 요청 중에서 접근 우선순위가 높은 요청이 먼저 디램 제어부(130)로 제공하도록 재정렬 시킨다.
두번째 재정렬 방법은 각 대기큐(420, 430, 440) 별로 각기 포함하는 요청들을 두 개씩 짝지어서 두 요청간의 순서를 재정렬 하는 방법이다. 즉, 각 대기큐(420, 430, 440) 별로 각기 포함하는 요청들을 두 개씩 묶어 하나의 요청그룹으로 만들고, 요청그룹의 바로 직전에 위치한 요청을 각 요청그룹의 참조요청으로 하여 각 요청그룹별로 포함하는 요청들과 해당하는 참조요청과의 접근 우선순위를 확인하고, 각 요청 그룹별로 접근 우선순위가 높은 요청을 먼저 상기 디램에 접근하도록 재정렬한다. 이때 각 대기큐(420, 430, 440) 별로 맨 앞에 위치하는 요청그룹의 참조요청은 현재 진행중인 요청이 된다.
이하, 상기와 같이 구성된 본 발명에 따른 다중 대기큐를 포함하는 요청 재정렬 장치에서 디램으로의 접근 요청을 재정렬하는 방법을 아래에서 도면을 참조하여 설명한다.
도 5는 본 발명의 일 실시 예에 따른 요청 재정렬 장치에서 디램으로의 접 근 요청을 재정렬하는 과정을 도시한 흐름도이다.
상기 도 5를 참조하면 본 발명의 요청 재정렬 장치는 500단계에서 요청 발생을 감지하면, 502단계로 진행하여 요청의 사용자 우선순위를 확인하고, 504단계로 진행하여 사용자 우선순위에 따라 사응하는 대기큐에 요청을 푸시(push)하여 삽입하고, 500단계로 돌아가며 동시에 510단계로 진행한다. 이때 상가 500단계에서 504단계는 이후 510단계에서 518단계에서 설명하는 재정렬 과정과는 별개로 반복 수행한다.
한편, 요청 재정렬 장치는 510단계로 진행하여 다중 대기큐 중에서 요청을 가진 대기큐가 존재하는지 확인한다. 확인결과 요청을 가진 대기큐가 존재하면, 요청 재정렬 장치는 512단계로 진행하여 디램에 접근 가능한지 여부를 확인한다. 이때 접근 가능 여부는 디램에 접근 가용함을 알리는 가용신호(ACK)를 수신하면 접근 가능하다고 판단한다.
상기 512단계의 확인결과 디램에 접근 가능하면, 요청 재정렬 장치는 514단계로 진행하여 요청을 가진 대기큐 중에서 사용자 우선순위가 가장 높은 대기큐를 선택하고, 516단계로 진행하여 선택한 대기큐에서 가장 앞에 위치한 즉, 가장 빠른 순서의 요청을 팝업(pop-up)하고 디램 제어부에 제공하여 디램 제어부를 통해 요청의 주소로 접근한다.
상기 514단계에서 요청 재정렬 장치는 요청을 가진 대기큐이나 선택받지 못한 경우, 기설정한 승격 대기시간을 초과하였는지 확인하여 초과하였으면 대기큐의 요청을 팝업(pop-up)하여 한단계 높은 사용자 우선순위의 대기큐로 푸시(push)하여 승격한다.
상기 512단계의 확인결과 디램에 접근 가능하지 않거나 또는 상기 516단계 이후 요청 재정렬 장치는 518단계로 진행하여 다중 대기큐 별로 각각에 대기중인 요청이 2개 이상이면 상기 도 4의 설명에서 설명한 바와 같은 방법으로 대기큐 별로 각각의 요청들을 재정렬하고, 510단계로 돌아간다.
상기 518단계에서 다중 대기큐들의 재정렬은 요청이 다중 대기큐에 삽입 될 때, 다중 대기큐에서 요청이 디램 제어부로 제공될 때 또는, 일정 시간 간격으로 발생할 수 있다. 다시 말해서 다중 대기큐별로 요청의 푸시(push) 또는 팝업(pop-up)이 발생할 때와 기설정 시간 간격으로 발생한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것 이다.
도 1은 본 발명의 일 실시 예에 따른 디램으로의 사용자 우선순위를 가진 요청을 재정렬하는 다중 대기큐를 포함하는 요청 재정렬 장치의 구성을 도시한 도면,
도 2는 본 발명의 일 실시 예에 따른 다중 대기큐를 포함하는 요청 재정렬 장치에서 디램의 구조를 도시한 도면,
도 3은 본 발명의 일 실시 예에 따른 다중 대기큐를 포함하는 요청 재정렬 장치에서 디램으로 접근하기 위한 요청의 구성을 도시한 도면,
도 4는 본 발명의 일 실시 예에 따른 다중 대기큐를 포함하는 요청 재정렬 장치에서 사용자 우선순위를 가지는 요정을 재정렬하는 요청 대기부의 구성을 도시한 도면 및,
도 5는 본 발명의 일 실시 예에 따른 다중 대기큐 요청 재정렬 장치에서 디램으로의 접근 요청을 사용자 우선순위를 고려하여 재정렬하는 과정을 도시한 흐름도이다.

Claims (21)

  1. 진행중인 디램(DRAM)으로의 접근 요청이 없으면 디램(DRAM)의 가용함을 알리는 가용신호(ACK)를 요청 대기부로 송신하고, 상기 요청 대기부에서 재정렬한 접근 요청을 수신하여 디램에 접근하는 디램 제어부; 및
    사용자 우선순위에 따라 구분되는 하나 이상의의 대기큐로 구성되는 다중 대기큐를 포함하고, 상기 사용자 우선순위를 가지는 접근 요청을 수신하면 상기 다중 대기큐 중에서 상기 사용자 우선순위에 대응하는 대기큐에 상기 수신한 접근 요청을 푸시(push)하고 상기 다중 대기큐별로 각각 재정렬하고,
    상기 가용신호를 수신하면 접근 요청을 가진 상기 다중 대기큐 중에서 상기 사용자 우선순위가 가장 높은 대기큐를 선택하여 접근 요청을 팝업(pop-up)해서 상기 디램 제어부로 제공하고,
    접근 요청을 가졌으나 기설정한 승격 대기시간 동안 선택받지 못한 대기큐가 존재하면, 상기 선택받지 못한 대기큐의 접근 요청을 팝업(pop-up)하여 한단계 높은 사용자 우선순위의 대기큐로 푸시(push)하여 승격하는 상기 다중 대기큐를 포함하는 상기 요청 대기부를 포함하는 요청 재정렬 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 접근 요청은,
    뱅크(Bank) 주소, 행 주소, 열 주소 및, 명령을 포함함을 특징으로 하는 요청 재정렬 장치.
  5. 제1항에 있어서,
    상기 다중 대기큐의 재정렬은,
    상기 다중 대기큐에서 각각의 대기큐 별로 접근 요청들을 상기 디램에 접근하기 위한 지연시간이 줄어들도록 재정렬함은 특징으로 하는 요청 재정렬 장치.
  6. 제1항에 있어서,
    상기 다중 대기큐의 재정렬은,
    진행중인 접근 요청을 접근 우선순위를 결정하는 참조요청으로 할 때 상기 다중 대기큐에서 각각의 대기큐 별로 포함하는 접근 요청들을 상기 참조요청과 비교하여 상기 디램으로의 상기 접근 우선순위를 확인하고, 상기 접근 우선순위를 고려하여 상기 각각의 대기큐 별로 접근 요청들을 재정렬함을 특징으로 하는 요청 재정렬 장치.
  7. 제1항에 있어서,
    상기 다중 대기큐의 재정렬은,
    진행중인 접근 요청을 접근 우선순위를 결정하는 참조요청으로 하여 상기 다중 대기큐에서 각각의 대기큐 별로 가장 빠른 순서 순으로 2개의 접근 요청을 선택하고, 상기 선택한 접근 요청들과 상기 참조요청간의 접근 우선순위를 확인하고, 그 중에서 상기 접근 우선순위가 높은 접근 요청이 먼저 팝업(pop-up)되도록 상기 각각의 대기큐 별로 접근 요청들을 재정렬함을 특징으로 하는 요청 재정렬 장치.
  8. 제1항에 있어서,
    상기 다중 대기큐의 재정렬은,
    상기 다중 대기큐에서 각각의 대기큐 별로 접근 요청들을 두 개씩 묶어 하나의 그룹으로 만들고, 상기 요청그룹의 바로 직전에 위치한 접근 요청을 각 요청그룹의 참조요청으로 하여 각 요청그룹별로 포함하는 접근 요청들과 해당하는 참조요청과의 접근 우선순위를 확인하고, 각 요청 그룹별로 상기 접근 우선순위가 높은 접근 요청이 먼저 팝업(pop-up)되도록 재정렬 함을 특징으로 하는 요청 재정렬 장치.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 접근 우선순위의 확인은,
    확인하고자 하는 접근 요청과 상기 참조요청을 비교했을 때 뱅크 주소와 행 주소가 동일한 경우를 첫번째 접근 우선순위로 하고, 뱅크 주소가 서로 다른 경우를 두번째 접근 우선순위로 하고, 제어명령이 동일한 경우를 세번째 접근 우선순위로 함을 특징으로 하는 요청 재정렬 장치.
  10. 제1항에 있어서,
    상기 재정렬 대기큐의 재정렬은,
    상기 재정렬 대기큐에 상기 접근 요청이 푸시(push) 될 때, 상기 재정렬 대기큐에서 접근 요청이 팝업(pop-up) 될 때, 또는 일정 시간 간격으로 발생함을 특징으로 하는 요청 재정렬 장치.
  11. 사용자 우선순위를 가지는 디램(DRAM)으로의 접근 요청 발생을 감지하면 다중 대기큐 중에서 상기 사용자 우선순위에 상응하는 대기큐에 상기 발생한 접근 요청을 푸시(push)하는 단계;
    상기 사용자 우선순위에 따라 구분되는 상기 다중 대기큐에서 2개 이상의 접근 요청을 가진 대기큐의 접근 요청들을 디램에 접근하기 위한 지연시간이 줄어들도록 재정렬하는 단계;
    상기 디램의 가용함을 확인하면, 접근 요청을 가진 상기 다중 대기큐 중에서 상기 사용자 우선순위가 가장 높은 대기큐를 선택하여 접근 요청을 팝업(pop-up)하는 단계;
    접근 요청을 가진 대기큐이나 선택받지 못한 경우, 기설정한 승격 대기시간을 초과하였는지 확인하는 단계; 및
    확인결과 상기 승격 대기시간을 초과하였으면 상기 선택받지 못한 대기큐의 접근 요청을 팝업(pop-up)하여 한단계 높은 사용자 우선순위의 대기큐로 푸시(push)하여 승격하는 단계를 포함하는 요청 재정렬 장치에서 다중 대기큐의 접근 요청을 재정렬하는 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 제11항에 있어서,
    상기 접근 요청은,
    뱅크(Bank) 주소, 행 주소, 열 주소 및, 명령을 포함함을 특징으로 하는 요청 재정렬 장치에서 다중 대기큐의 접근 요청을 재정렬하는 방법.
  16. 제11항에 있어서,
    상기 다중 대기큐의 재정렬은,
    상기 다중 대기큐에서 각각의 대기큐 별로 접근 요청들을 상기 디램에 접근하기 위한 지연시간이 줄어들도록 재정렬함은 특징으로 하는 요청 재정렬 장치에서 다중 대기큐의 접근 요청을 재정렬하는 방법.
  17. 제11항에 있어서,
    상기 다중 대기큐의 재정렬은,
    진행중인 접근 요청을 접근 우선순위를 결정하는 참조요청으로 할 때 상기 다중 대기큐에서 각각의 대기큐 별로 포함하는 접근 요청들을 상기 참조요청과 비교하여 상기 디램으로의 상기 접근 우선순위를 확인하고, 상기 접근 우선순위를 고려하여 상기 각각의 대기큐 별로 접근 요청들을 재정렬함을 특징으로 하는 요청 재정렬 장치에서 다중 대기큐의 접근 요청을 재정렬하는 방법.
  18. 제11항에 있어서,
    상기 다중 대기큐의 재정렬은,
    진행중인 접근 요청을 접근 우선순위를 결정하는 참조요청으로 하여 상기 다중 대기큐에서 각각의 대기큐 별로 가장 빠른 순서 순으로 2개의 접근 요청을 선택하고, 상기 선택한 접근 요청들과 상기 참조요청간의 접근 우선순위를 확인하고, 그 중에서 상기 접근 우선순위가 높은 요청이 먼저 팝업(pop-up)되도록 상기 각각의 대기큐 별로 접근 요청들을 재정렬함을 특징으로 하는 요청 재정렬 장치에서 다중 대기큐의 접근 요청을 재정렬하는 방법.
  19. 제11항에 있어서,
    상기 다중 대기큐의 재정렬은,
    상기 다중 대기큐에서 각각의 대기큐 별로 접근 요청들을 두 개씩 묶어 하나의 그룹으로 만들고, 상기 요청그룹의 바로 직전에 위치한 접근 요청을 각 요청그룹의 참조요청으로 하여 각 요청그룹별로 포함하는 접근 요청들과 해당하는 참조요청과의 접근 우선순위를 확인하고, 각 요청 그룹별로 상기 접근 우선순위가 높은 접근 요청이 먼저 팝업(pop-up)되도록 재정렬 함을 특징으로 하는 요청 재정렬 장치에서 다중 대기큐의 접근 요청을 재정렬하는 방법.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 접근 우선순위의 확인은,
    확인하고자 하는 접근 요청과 상기 참조요청을 비교했을 때 뱅크 주소와 행 주소가 동일한 경우를 첫번째 접근 우선순위로 하고, 뱅크 주소가 서로 다른 경우를 두번째 접근 우선순위로 하고, 제어명령이 동일한 경우를 세번째 접근 우선순위로 함을 특징으로 하는 요청 재정렬 장치에서 다중 대기큐의 접근 요청을 재정렬하는 방법.
  21. 제11항에 있어서, 상기 재정렬 대기큐의 재정렬은,
    상기 재정렬 대기큐에 상기 접근 요청이 푸시(push) 될 때, 상기 재정렬 대기큐에서 접근 요청이 팝업(pop-up) 될 때, 또는 일정 시간 간격으로 발생함을 특징으로 하는 요청 재정렬 장치에서 다중 대기큐의 접근 요청을 재정렬하는 방법.
KR1020080017262A 2008-02-26 2008-02-26 메모리로의 접근 요청을 재정렬하는 다중 대기큐를포함하는 요청 재정렬 장치 및 그 방법 KR100978206B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080017262A KR100978206B1 (ko) 2008-02-26 2008-02-26 메모리로의 접근 요청을 재정렬하는 다중 대기큐를포함하는 요청 재정렬 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080017262A KR100978206B1 (ko) 2008-02-26 2008-02-26 메모리로의 접근 요청을 재정렬하는 다중 대기큐를포함하는 요청 재정렬 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090092006A KR20090092006A (ko) 2009-08-31
KR100978206B1 true KR100978206B1 (ko) 2010-08-25

Family

ID=41209194

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080017262A KR100978206B1 (ko) 2008-02-26 2008-02-26 메모리로의 접근 요청을 재정렬하는 다중 대기큐를포함하는 요청 재정렬 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100978206B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11755246B2 (en) * 2021-06-24 2023-09-12 Advanced Micro Devices, Inc. Efficient rank switching in multi-rank memory controller

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010092745A (ko) * 1998-11-16 2001-10-26 마이클 골위저, 호레스트 쉐퍼 메모리 요청 재정렬에 의해 버스 이용도를 향상시키는메모리 제어기

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010092745A (ko) * 1998-11-16 2001-10-26 마이클 골위저, 호레스트 쉐퍼 메모리 요청 재정렬에 의해 버스 이용도를 향상시키는메모리 제어기

Also Published As

Publication number Publication date
KR20090092006A (ko) 2009-08-31

Similar Documents

Publication Publication Date Title
KR100724557B1 (ko) 아웃 오브 오더 dram 시퀀서
KR101051815B1 (ko) 저장 컨트롤러 및 저장 시스템
US9639280B2 (en) Ordering memory commands in a computer system
JP6072783B2 (ja) メモリコントローラおよびかかるメモリコントローラの動作方法
US6092158A (en) Method and apparatus for arbitrating between command streams
US9037810B2 (en) Pre-fetching of data packets
US20150046642A1 (en) Memory command scheduler and memory command scheduling method
US9632954B2 (en) Memory queue handling techniques for reducing impact of high-latency memory operations
US6779092B2 (en) Reordering requests for access to subdivided resource
US8489851B2 (en) Processing of read requests in a memory controller using pre-fetch mechanism
US10901887B2 (en) Buffered freepointer management memory system
US6836831B2 (en) Independent sequencers in a DRAM control structure
EP1970815A1 (en) Data transfering apparatus and information processing system
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US9781225B1 (en) Systems and methods for cache streams
US20150331616A1 (en) Set head flag of request
KR100947745B1 (ko) 메모리로의 접근 요청을 재정렬하는 요청 재정렬 장치 및그 방법
KR100978206B1 (ko) 메모리로의 접근 요청을 재정렬하는 다중 대기큐를포함하는 요청 재정렬 장치 및 그 방법
JP2007108950A (ja) I/o処理装置及び方法
US8719542B2 (en) Data transfer apparatus, data transfer method and processor
KR100328726B1 (ko) 메모리 엑세스 시스템 및 그 제어방법
US10169235B2 (en) Methods of overriding a resource retry
US9116814B1 (en) Use of cache to reduce memory bandwidth pressure with processing pipeline
US7899957B1 (en) Memory controller having a buffer for providing beginning and end data
US9753873B1 (en) Systems and methods for key-value transactions

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130717

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150723

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160712

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee