KR100585116B1 - 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법 - Google Patents

멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법 Download PDF

Info

Publication number
KR100585116B1
KR100585116B1 KR1020030090944A KR20030090944A KR100585116B1 KR 100585116 B1 KR100585116 B1 KR 100585116B1 KR 1020030090944 A KR1020030090944 A KR 1020030090944A KR 20030090944 A KR20030090944 A KR 20030090944A KR 100585116 B1 KR100585116 B1 KR 100585116B1
Authority
KR
South Korea
Prior art keywords
bank
access
request information
masters
arbiter
Prior art date
Application number
KR1020030090944A
Other languages
English (en)
Other versions
KR20050058919A (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 KR1020030090944A priority Critical patent/KR100585116B1/ko
Priority to US10/995,820 priority patent/US7370161B2/en
Priority to TW093136834A priority patent/TWI278746B/zh
Publication of KR20050058919A publication Critical patent/KR20050058919A/ko
Application granted granted Critical
Publication of KR100585116B1 publication Critical patent/KR100585116B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를 구비한 메모리 억세스 중재 시스템 및 그 방법이 개시된다. 상기 아비터는 비지 뱅크에 속하지 않는 요구들을 판별하여, 가장 많은 펜딩 요구들을 가진 뱅크에 대응하는 요구들에 우선권을 부여한다. 또한, 마스터들에서 발생하는 라이트 요구 정보를 소정 버퍼에 저장하여 추가적인 마스터 요구 정보로서 출력되도록 하고, 그 해당 마스터에 새로운 요구 정보를 발생시킬 수 있는 기회를 제공한다.

Description

멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를 구비한 메모리 억세스 중재 시스템 및 그 방법{Arbiter improving access efficiency of the multi-bank memory device, memory access arbitration system having the same and method thereof}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 멀티 뱅크 메모리에 억세스하는 종래의 방식을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 아비터를 구비한 메모리 억세스 중재 시스템의 블록도이다.
도 3은 도 2의 아비터의 동작 설명을 위한 흐름도이다.
도 4는 멀티 뱅크 메모리부에 대한 억세스 중재를 하는 도 2의 아비터 동작 방식을 설명하기 위한 도면이다.
도 5는 라이트 버퍼를 가지는 도 2의 아비터를 구체적으로 나타낸 블록도이다.
도 6은 도 5의 아비터의 동작 설명을 위한 흐름도이다.
도 7은 멀티 뱅크 메모리부에 대한 억세스 중재를 하는 도 5의 아비터 동작 방식을 설명하기 위한 도면이다.
본 발명은 메모리 억세스에 관한 것으로, 특히 멀티 뱅크 메모리의 억세스를 중재하는 아비터, 이를 구비한 메모리 억세스 중재 시스템 및 그 방법에 관한 것이다.
SDRAM(synchronous dynamic random access memory) 또는 DDR(double data rate)-SDRAM와 같은 멀티 뱅크(multi-bank) 반도체 메모리를 지원하는 어플리케이션(application) 시스템에서, 비디오(video) 또는 오디오(audio) 용 등의 SOC(system on chip)는 높은 메모리 대역폭(high memory bandwidth)이 요구되고 있다. 이러한 SOC가 더 높은 메모리 대역폭을 가지기 위해서는, 시스템 클럭(system clock) 스피드만 높여서 해결되지 않으며, 메모리 버스의 중재 효율을 함께 높여 주어야 한다. 즉, 멀티 뱅크(multi-bank) 메모리의 억세스 중재에 있어서, MCU(micro-control unit)나 ARM 코아(ARM 사의 마이크로 칩)와 같은 마스터들(masters)이 메모리 내에 구비되는 뱅크들에 억세스 하려고 할 때, 마스터들에 효율적인 억세스 허가(grant)를 줌으로써, 그 뱅크들이 인터리빙(interleaving)하게 동작할 수 있도록 중재가 이루어져야 한다. 마스터들(masters)은 메모리에 데이터를 라이트(write)하거나 메모리에 저장된 데이터를 리드(read)하기 위하여, 요구 정보를 송신함으로써, 뱅크들에 억세스 한다.
종래 아비터(arbiter)는 메모리 내에 구비되는 뱅크들에 억세스 하려는 마스터들의 요구들을 중재할 때, 단순한 방식을 사용한다. 첫째로, 뱅크 인터리빙 방식에서는, 펜딩 요구들(pending requests) 중에서 단순히 비지 뱅크(busy bank)에 대한 억세스가 아닌 요구들을 추출하여, 그들에 억세스 허가를 주는 방식을 사용한다. 비지 뱅크는 메모리 내의 뱅크들 중 리드 또는 라이트 동작을 수행 중인 뱅크이고, 리드 또는 라이트 동작은 시스템 클럭의 소정 싸이클 동안 이루어진다. 둘째로, 리드/라이트 턴-어라운드 시간 최소화(read/write turn-around time minimize) 방식에서는, 펜딩 요구들 중에서 단순히 이전 억세스와 같은 방향성(direction)을 가지는 요구를 추출하여, 그들에 억세스 허가를 주는 방식을 사용한다. 셋째로, 같은 행 억세스 검출(same row access detection) 방식에서는, 펜딩 요구들 중에서 단순히 비지 뱅크의 액티브된 행(row)(메모리 셀 어레이의 한 행)과 같은 행을 억세스 하려는 요구를 추출하여, 그들에 억세스 허가를 주는 방식을 사용한다.
그러나, 메모리 뱅크들은 한번 억세스 될 때, 시스템 클럭의 소정 싸이클 동안 비지 상태에 있으므로, 비지 상태의 뱅크가 비지 상태에서 해제될 때를 고려하여 그 뱅크에 다시 억세스 허가를 줄 수 있다. 어떤 뱅크가 비지 상태에 있는 동안에는, 비지 상태에 있지 않은 다른 뱅크에 억세스 허가를 준다. 도 1은 멀티 뱅크 메모리에 억세스하는 종래의 방식을 설명하기 위한 도면이다. 도 1을 참조하면, (a) 내지 (c) 각각은, 정상적인 경우, 오버헤드 싸이클(overhead cycle)이 존재하는 제1 케이스, 및 오버헤드 싸이클이 존재하는 제2 케이스를 나타낸다. 여기서, 뱅크의 비지 상태는 3AT(access time) 동안 유지된다고 가정하였다. 도 1에서 (a) 는, "뱅크 0"이 억세스 된 시점 후에 3AT 기간을 지나서 다시 억세스되는 경우로서, 오버헤드 싸이클 없이 정상적인 뱅크 인터리빙이 이루어지는 경우에 해당한다. 도 1에서 (b)는, "뱅크 0"의 비지 상태 해제 전 1AT 내에 다시 "뱅크 0"의 요구가 있는 경우로서, "뱅크 1"이 억세스 된 후 "뱅크 0"에 다시 억세스하려면 1AT 기간의 오버헤드 싸이클을 기다린 후 억세스가 이루어져야 한다. 이는 위에서 기술한 바와 같이, 억세스된 뱅크의 비지 상태는 3AT 동안 유지되기 때문이다. 마찬가지로, 도 1에서 (c)는, "뱅크 0"의 비지 상태 해제 전 2AT 내에 다시 "뱅크 0"의 요구가 있는 경우로서, "뱅크 0"에 다시 억세스하려면 2AT 기간의 오버헤드 싸이클을 기다린 후 억세스가 이루어져야 한다. 이와 같이, 멀티 뱅크 메모리에 억세스하는 종래의 방식에서는, 뱅크에 억세스하는 순서를 적절하게 중재하지 못할 때, 상당한 오버헤드 싸이클이 발생하여, 시스템 스피드를 떨어뜨리고, 이에 따라 어플리케이션 시스템에 요구되는 높은 메모리 대역폭을 충분히 만족시키지 못하는 문제점이 있다.
따라서, 본 발명이 이루고자하는 기술적 과제는, 비지 뱅크에 속하지 않는 요구들을 판별하여, 가장 많은 펜딩 요구들을 가진 뱅크에 대응하는 요구들에 우선권을 주거나, 마스터들에서 발생하는 라이트 요구 정보를 소정 버퍼에 저장하여 추가적인 마스터 요구 정보로서 출력되도록 하고, 그 해당 마스터에 새로운 요구 정보를 발생시킬 수 있는 기회를 제공하여 효과적인 뱅크 인터리빙 동작이 이루어지도록 하는 멀티 뱅크 메모리의 억세스를 중재하는 아비터를 제공하는 데 있다.
본 발명이 이루고자하는 다른 기술적 과제는, 상기 아비터를 구비한 멀티 뱅크 메모리 억세스 중재 시스템을 제공하는 데 있다.
본 발명이 이루고자하는 또 다른 기술적 과제는, 상기 멀티 뱅크 메모리의 억세스 중재 방법을 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 멀티 뱅크 메모리 억세스 아비터는, 다수의 마스터들로부터 요구 정보들을 수신하여, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권으로 억세스 허가를 부여하는 아비터를 구비하는 것을 특징으로 한다.
상기의 기술적 과제를 달성하기 위한 본 발명의 다른 일면에 따른 멀티 뱅크 메모리 억세스 아비터는, 다수의 마스터들로부터 요구 정보들을 수신하여 일부의 라이트 요구 정보들은 일시 저장하고, 억세스 허가 판단 시 상기 마스터들로부터 수신되고 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들과 상기 일시 저장된 라이트 요구 정보들 각각에 대응하는 마스터들에 억세스 허가를 부여하는 아비터를 구비하는 것을 특징으로 한다.
상기의 다른 기술적 과제를 달성하기 위한 본 발명에 따른 멀티 뱅크 메모리 억세스 중재 시스템은, 다수의 마스터들, 아비터, 인터페이스 콘트롤부, 및 멀티 뱅크 메모리부를 구비하는 것을 특징으로 한다. 상기 다수의 마스터들은 각각의 요구 정보를 출력한다. 상기 아비터는 상기 요구 정보들을 수신하여 일부의 라이트 요구 정보들은 일시 저장하고, 억세스 허가 판단 시 상기 마스터들로부터 수신되고 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들과 상기 일시 저장된 라이트 요구 정보들 각각에 대응하는 마스터들에 억세스 허가를 부여함으로써, 그에 대응하여 선택된 요구 정보를 출력한다. 상기 인터페이스 콘트롤부는 상기 선택된 요구 정보를 처리하여 메모리 억세스 콘트롤 정보를 출력한다. 상기 멀티 뱅크 메모리부는 상기 메모리 억세스 콘트롤 정보에 응답하여 그에 대응하는 뱅크에 억세스하여, 데이터를 리드하여 출력하거나 데이터를 라이트한다. 상기 아비터는 상기 요구 정보들을 수신하여, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권으로 억세스 허가를 부여하는 것을 특징으로 한다.
상기의 또 다른 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 멀티 뱅크 메모리 억세스 중재 방법은, 다수의 마스터들로부터 요구 정보들을 수신하는 단계; 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하는 단계; 및 상기 뱅크별 억세스 요구 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권으로 억세스 허가를 부여하는 단계를 구비하는 것을 특징으로 한다.
상기의 또 다른 기술적 과제를 달성하기 위한 본 발명의 다른 일면에 따른 멀티 뱅크 메모리 억세스 중재 방법은, 다수의 마스터들로부터 요구 정보들을 수신하는 단계; 일부의 라이트 요구 정보들은 일시 저장하는 단계; 및 억세스 허가 판단 시 상기 마스터들로부터 수신되고 비지 뱅크가 아닌 다른 뱅크들에 억세스하려 는 요구 정보들과 상기 일시 저장된 라이트 요구 정보들 각각에 대응하는 마스터들에 억세스 허가를 부여하는 단계를 구비하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 일실시예에 따른 아비터를 구비한 메모리 억세스 중재 시스템의 블록도이다. 도 2를 참조하면, 본 발명의 일실시예에 따른 아비터를 구비한 메모리 억세스 중재 시스템은, 다수의 마스터들(masters)(211~213), 아비터(arbiter)(220), 인터페이스 콘트롤부(interface controlling unit)(230), 및 멀티 뱅크 메모리부(multi-bank memory unit)(240)를 구비한다.
상기 다수의 마스터들(211~213)은 버스 점유를 위한 각각의 요구 정보(RI1~RIN)를 출력한다. 상기 마스터들(211~213)은 버스를 점유하여 상기 멀티 뱅크 메모리부(240)에 데이터를 저장하거나 그 메모리에 저장되어 있는 데이터를 읽어오기 위하여 상기 멀티 뱅크 메모리부(240)에 억세스하는 모든 장치를 말한다. DVD(digital video disc) 플레이어와 같이 소정 목적을 위하여 개발되는 시스템에서, MCU(micro-control unit)나 ARM 코아(ARM 사의 마이크로 칩) 등과 같은 시스템 콘트롤 장치가 주로 마스터들(211~213)에 해당하고, 이외에도 상기 멀티 뱅크 메모리부(240)에 접근하려는 다른 마스터들이 다양하게 존재할 수 있다. 이와 같은 마스터들(211~213)은 리드(read) 요구 정보를 출력함으로써, 상기 멀티 뱅크 메모리부(240)에 저장되어 있는 데이터를 읽어올 수 있고, 라이트(write) 요구 정보를 출력함으로써, 상기 멀티 뱅크 메모리부(240)에 데이터를 저장할 수 있다.
상기 아비터(220)는 상기 마스터들(211~213)이 출력하는 요구 정보들(RI1~RIN) 중 더 높은 우선 순위의 요구 정보를 선택하여 출력하고, 상기 인터페이스 콘트롤부(230)는 상기 선택된 요구 정보(SRI)를 처리하여 메모리 억세스 콘트롤 정보(ACI)를 출력한다. 메모리 억세스 콘트롤 정보(ACI)는 상기 멀티 뱅크 메모리부(240)에서 해당 데이터를 읽어오거나 저장할 수 있도록, 상기 멀티 뱅크 메모리부(240)를 콘트롤하는 신호들로 구성된다. 이러한 신호들에는 멀티 뱅크(multi-bank) 형태의 SDRAM(synchronous dynamic random access memory), DDR(double data rate)-SDRAM, 또는 FRAM(flash random access memory)와 같은 반도체 메모리 장치를 콘트롤 하기 위하여, 메모리 셀 어레이의 로우(row) 라인을 선택하는 신호 RAS(row address signal), 컬럼(column) 라인을 선택하는 신호 CAS(column address signal), 프리차지(precharge) 콘트롤 신호 등이 있다. 상기 멀티 뱅크 메모리부(240)는 상기 메모리 억세스 콘트롤 정보(ACI)에 응답하여 그에 대응하는 뱅크에 억세스하여, 데이터를 리드하여 출력하거나 데이터를 라이트한다. 상기 멀티 뱅크 메모리부(240)는 스택형(stack) 뱅크들로 구성될 수 있고, 뱅크들 각각은 다수의 메모리 셀들로 구성되는 메모리 셀 어레이를 말한다. 스택형 멀티 뱅크 메모리는 고속화 동작이 필요한 많은 응용 제품에 적용되어 있다. 이와 같은 상기 뱅크들은 상기 마스터들(211~213) 중 2 이상으로부터 동시에 억세스 될 수 없고, 한번 억세스되면 RAS, CAS , 프리차지 콘트롤 신호 등의 제어를 받는 일련의 억세스 시간(AT)이 요구되므로, 이러한 뱅크들이 효율적으로 인터리빙하게 동작되도록 하기 위하여, 마스터들(211~213)에 대한 메모리 억세스 중재가 필요하다. 상기 마스터들(211~213) 중 어느 하나에 의하여 억세스 된 뱅크는 비지 뱅크이고, 이러한 비지 뱅크는 아비터(220)의 다음 억세스 허가 판단에서 비지 상태에 있지 않은 다른 뱅크보다 우선 순위가 낮다. 즉, 아비터(220)는 억세스 허가를 받은 비지 뱅크가 RAS, CAS , 프리차지 콘트롤 신호 등의 제어를 받는 일련의 억세스 시간(AT)을 예측하여, 비지 상태에 있지 않은 뱅크에 억세스하려는 마스터에 먼저 높은 우선 순위를 부여한다.
도 3은 도 2의 아비터(220)의 동작 설명을 위한 흐름도이다.
도 3을 참조하면, 도 2의 아비터(220)는 마스터들(211~213)로부터 요구 정보(RI1~RIN)를 수신하면, 먼저 비지 상태에 있지 않은 뱅크가 있는 지를 체크한다(S310~S320). 이때, 아비터(220)는 멀티 뱅크 메모리부(240)의 모든 뱅크들이 억세스 허가를 받은 비지 상태에 있으면, 마스터들(211~213)의 억세스를 대기시킨다(S330). 그런데, 멀티 뱅크 메모리부(240)에 비지 상태에 있지 않은 뱅크가 있으면, 상기 아비터(220)는 상기 마스터들(211~213)이 출력하는 요구 정보들(RI1~RIN)에 다음과 같이 우선 순위를 부여한다. 즉, 상기 멀티 뱅크 메모리부(240)의 뱅크들 중 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들(RI1~RIN)로부터 억세스 요구 수를 뱅크별로 계산하고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들(211~213)에 더 높은 우선권으로 억세스 허가를 부여하는 방식을 사용한다(S340). 이에 따라 가장 우선 순위가 높은 마스터가 억세스 허가를 부여받으면, 아비터(220)는 그 마스터가 출력한 요구 정보(SRI)를 선택하여 출력한다.
예를 들어, 아비터(220)가 마스터들(211~213)로부터 출력된 요구 정보들(RI1~RIN) 중에서, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터, [표 1]과 같이 뱅크별로 억세스 요구 수를 계산하였다고 가정한다. 또한, 멀티 뱅크 메모리부(240)는 4 뱅크들을 가진다고 가정한다.
[표 1]
뱅크 번호 억세스 요구 수
0 1
1 2
2 1
3 0
이때, "뱅크 1"에 대한 억세스 요구 수가 가장 크므로, 아비터(220)는 그 "뱅크 1"에 억세스하려는 2개의 마스터들에 더 높은 우선권으로 억세스 허가를 부여한다. "뱅크 1"에 억세스하려는 2개의 마스터들 중 어느 것에 더 높은 우선권을 부여할 지는 중요하지 않다. 다만, 도 4에 도시된 바와 같이, 아비터(220)는 "뱅크 1"이 제일 먼저 억세스되도록 중재한다. 즉, 아비터(220)는 뱅크들이 억세스되는 순서가 "뱅크 1"-"뱅크 0"-"뱅크 2"-"뱅크 1", 또는 "뱅크 1"-"뱅크 2"-"뱅크 0"-"뱅크 1"와 같이 되도록 중재한다. 여기서, 도 1에서와 마찬가지로, 뱅크의 비지 상태는 3AT(access time) 동안 유지된다고 가정하였다. 따라서, 위의 예에서, "뱅크 1"에 억세스하려는 마스터에 더 높은 우선권을 부여하지 않는 경우, 즉, "뱅크 0"-"뱅크 1"-"뱅크 2"-"뱅크 1"와 같은 순서로 뱅크들에 억세스 순위를 부여한다면, "뱅크 1"-"뱅크 2"-"뱅크 1"과 같이, "뱅크 1" 억세스 후 3AT 이전에 다시 "뱅크 1"이 억세스되는 결과가 발생한다. 이때, 두 번째 "뱅크 1"의 억세스에서는, 첫 번째 "뱅크 1"의 비지 상태가 해제될 때까지 기다려야 하는 상당한 오버헤드(overhead) 싸이클이 존재한다. 그러나, 본 발명의 일실시예에 따른 도 2의 아비터(220)는, 위와 같이, 억세스 요구 수가 많은 뱅크에 억세스하려는 마스터들에 더 높은 우선권을 부여하므로, 효과적인 뱅크 인터리빙 동작이 이루어지도록 한다. 이와 같은 중재 방식은, 뱅크 인터리빙 방식뿐만 아니라, 리드/라이트 턴-어라운드 시간 최소화(read/write turn-around time minimize) 방식, 및 같은 행 억세스 검출(same row access detection) 방식 등을 효율적으로 지원할 수 있다. 그러므로, 메모리 버스 중재 효율이 높아져 메모리 대역폭(memory bandwidth)을 개선시킬 수 있다.
도 5는 라이트 버퍼(222)를 가지는 도 2의 아비터(220)를 구체적으로 나타낸 블록도이다. 도 5를 참조하면, 상기 아비터(220)는 서브 아비터(sub-arbiter)(221), 라이트 버퍼(write buffer)(222), 및 메인 아비터(main arbiter)(223)를 구비한다.
상기 서브 아비터(221)는 상기 마스터들(211~213)로부터 요구 정보들(RI1~RIN)을 수신하여 일부의 라이트 요구 정보들을 선택하여 출력한다. 요구 정보들(RI1~RIN) 중에는 라이트 요구 정보 및 리드 요구 정보가 있고, 이들 중 라이트 요구 정보가 직접 메인 아비터(223)에서 억세스 허가를 받지 못하고, 현재 라이트 버퍼(222)에 엑세스 가능한 경우에 해당하면, 상기 서브 아비터(221)는 그 요구 정보를 상기 라이트 버퍼(222)에 일시 저장시킨다.
상기 라이트 버퍼(222)에 일시 저장되는 라이트 요구 정보들(RIN+1~RIN+M)은, 상기 메인 아비터(223)의 다음 허가 판단에서 추가적인 마스터 요구 정보로서 출력된다. 즉, 서브 아비터(221)에 의해 선택된 마스터는 해당 라이트 요구 정보를 라이트 버퍼(222)에 라이트함으로써, 라이트 버퍼(222)로의 라이트 동작을 마치고, 이후(다음 허가 판단 시)에 라이트 버퍼(222)에 저장된 라이트 요구 정보 이외에도 새로운 요구 정보를 생성할 수 있다. 상기 라이트 버퍼(222)에 일시 저장되는 라이트 요구 정보들(RIN+1~RIN+M)은 억세스 허가를 요구하는 정보 및 멀티 뱅크 메모리부(240)에 라이트되어 저장될 데이터를 포함한다.
상기 메인 아비터(223)는 상기 마스터들(211~213)로부터 수신되는 요구 정보들(RI1~RIN) 중에서, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들을 판별하여, 그와 같이 판별된 요구 정보들과 상기 라이트 요구 정보들(RIN+1~RIN+M) 각각에 대응하는 마스터들(211~213)에 소정 우선 순위로 억세스 허가를 부여한다. 이 에 따라, 억세스 허가가 부여된 마스터가 출력한 요구 정보(SRI)를 선택하여 출력한다. 이때, 도 2에서와 같이, 상기 메인 아비터(223)는 상기 억세스 허가 판단 시 수신되는 요구 정보들(RI1~RIN) 중에서, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권을 부여할 수 있다.
도 6은 도 5의 아비터(220)의 동작 설명을 위한 흐름도이다.
도 6을 참조하면, 도 5의 아비터(220)는 마스터들(211~213)로부터 요구 정보(RI1~RIN)를 수신하면, 먼저 수신된 요구 정보들(RI1~RIN ) 중에 라이트 요구 정보가 있는지를 체크한다(S610~S620). 여기서, 라이트 요구 정보가 있는 경우에, 만일 이것이 직접 메인 아비터(223)에서 억세스 허가를 받아 처리되지 않고, 라이트 버퍼(222)를 현재 억세스 할 수 있으면, 서브 아비터(221)는 라이트 버퍼(222)에 라이트 데이터를 포함하는 상기 라이트 요구 정보를 저장시키며, 해당 라이트 요구를 보낸 마스터는 라이트 버퍼(222)로의 라이트 동작을 마친다(S630~S640). 이에 따라, 이 마스터는 새로운 버스 요구 정보를 보낼 수 있는 상황에 있다. 즉, 이 마스터는 이후(다음 허가 판단 시)에 라이트 버퍼(222)에 저장된 라이트 요구 정보 이외에도 새로운 요구 정보를 생성하여 출력한다. 이와 같이 라이트 버퍼(222)에 일시 저장된 라이트 요구 정보들(RIN+1~RIN+M)은, 메인 아비터(223)의 다음 허가 판단 시에, 다른 요구 정보들(RI1~RIN)이 마스터들(211~213)에서 직접 메인 아비터(223)로 출력될 때, 메인 아비터(223)로 함께 출력된다(S650).
이에 따라 메인 아비터(223)는 마스터들(211~213)에서 직접 수신된 요구 정보들(RI1~RIN)과 라이트 버퍼(222)에서 출력되는 라이트 요구 정보들(RIN+1 ~RIN+M)에 대하여, 소정 우선 순위로 억세스 허가를 부여하고, 그 허가에 대응하는 요구 정보(SRI)를 선택하여 출력한다. 메인 아비터(223)는, 도 2에서와 마찬가지로, 먼저, 억세스 허가를 받은 비지 뱅크가 RAS, CAS , 프리차지 콘트롤 신호 등의 제어를 받는 일련의 억세스 시간(AT)을 예측하여, 비지 상태에 있지 않은 뱅크에 억세스하려는 마스터에 먼저 높은 우선 순위를 부여한다. 이를 위하여, 메인 아비터(223)는 요구 정보들(RI1~RIN+M)을 수신하면, 먼저 비지 상태에 있지 않은 뱅크가 있는 지를 체크한다(S660). 이때, 메인 아비터(223)는 멀티 뱅크 메모리부(240)의 모든 뱅크들이 억세스 허가를 받은 비지 상태에 있으면, 마스터들(211~213)의 억세스를 대기시킨다(S670). 그런데, 멀티 뱅크 메모리부(240)에 비지 상태에 있지 않은 뱅크가 있으면, 상기 메인 아비터(223)는 상기 마스터들(211~213)이 출력하는 요구 정보들(RI1~RIN+M)에 다음과 같이 우선 순위를 부여한다. 즉, 도 3에서 설명된 바와 마찬가지로, 상기 멀티 뱅크 메모리부(240)의 뱅크들 중 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권으로 억세스 허가를 부여하는 방식을 사용한다(S680). 이에 따라 가장 우선 순위가 높은 마스터가 억세스 허가를 부여받으면, 메인 아비터(223)는 그 마스터가 출력한 요구 정보(SRI)를 선택하여 출력한 다.
도 7은 멀티 뱅크 메모리부(240)에 대한 억세스 중재를 하는 도 5의 아비터(220) 동작 방식을 설명하기 위한 도면이다.
도 7을 참조하면, (a)에서, "뱅크 2"-"뱅크 0"-"뱅크 1"의 순서로 억세스 허가를 받은 경우에, 다음 억세스 허가 판단에서, "뱅크 0"이 억세스 허가를 받는다면, "뱅크 0" 억세스 후 2AT 후에 다시 "뱅크 0"이 억세스되는 결과가 발생한다. 이때, 두 번째 "뱅크 0"의 억세스에서는, 첫 번째 "뱅크 0"의 비지 상태가 해제될 때까지 기다려야 하는 상당한 오버헤드(overhead) 싸이클이 존재한다. 여기서, 도 4에서와 마찬가지로, 뱅크의 비지 상태는 3AT(access time) 동안 유지된다고 가정하였다.
그러나, 본 발명의 일실시예에 따라 라이트 버퍼(222)를 사용하는 경우에, 메인 아비터(223)가 "뱅크 1"에 억세스하려는 마스터에 억세스 허가를 준 후, 다음 허가 판단에서, 라이트 버퍼(222)에서 출력되는 라이트 요구 정보(RIN+1~RIN+M)가 있으면, 오버헤드(overhead) 싸이클을 피할 수 있다. 즉, 허가 판단 시 라이트 버퍼(222)에서 출력되는 라이트 요구 정보(RIN+1~RIN+M) 중 "뱅크 2"에 억세스하려는 요구 정보가 있을 때, 그 요구 정보를 출력한 마스터에 억세스 허가를 줌으로써 해결된다.
마찬가지로, 도 7의 (b)에서, "뱅크 1"-"뱅크 2"-"뱅크 0"의 순서로 억세스 허가를 받은 경우에, 다음 억세스 허가 판단에서, "뱅크 0"이 억세스 허가를 받는 다면, "뱅크 0" 억세스 후 1AT 후에 다시 "뱅크 0"이 억세스되는 결과가 발생한다. 이때, 두 번째 "뱅크 0"의 억세스에서는, 첫 번째 "뱅크 0"의 비지 상태가 해제될 때까지 2AT 시간 동안 기다려야 하는 상당한 오버헤드(overhead) 싸이클이 존재한다. 그러나, 메인 아비터(223)가 "뱅크 0"에 억세스하려는 마스터에 억세스 허가를 준 후, 다음 허가 판단 시, 라이트 버퍼(222)에서 출력되는 라이트 요구 정보(RIN+1~RIN+M) 중 "뱅크 1"에 억세스하려는 요구 정보가 있을 때, 그 요구 정보를 출력한 마스터에 억세스 허가를 주면, 오버헤드(overhead) 싸이클이 발생하지 않는다. 또한, 메인 아비터(223)가 이와 같이 "뱅크 1"에 억세스하려는 라이트 요구 정보를 출력한 마스터에 억세스 허가를 준 후, 그 다음 허가 판단 시에도, "뱅크 2"에 억세스하려는 라이트 요구 정보가 라이트 버퍼(222)에 있을 때, 그 요구 정보를 출력한 마스터에 억세스 허가를 주면, 오버헤드(overhead) 싸이클이 발생하지 않는다.
이와 같이 본 발명의 일실시예에 따라 억세스 요구 수가 많은 뱅크에 억세스하려는 마스터들에 더 높은 우선권을 부여하고, 이와 함께 라이트 버퍼(222)를 사용하는 중재 방식은, 효과적인 뱅크 인터리빙 동작이 이루어지도록 한다. 이와 같은 방식은 뱅크 인터리빙 방식뿐만 아니라, 리드/라이트 턴-어라운드 시간 최소화(read/write turn-around time minimize) 방식, 및 같은 행 억세스 검출(same row access detection) 방식 등을 효율적으로 지원하여, 메모리 대역폭(memory bandwidth)을 향상시킬 수 있다.
위에서 기술한 바와 같이 본 발명의 일실시예에 따른 아비터(220)는, 마스터들(211~213)로부터 수신되는 요구 정보들(RI1~RIN) 중에서, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들을 판별하여, 그와 같이 판별된 요구 정보들과 라이트 요구 정보들(RIN+1~RIN+M) 각각에 대응하는 마스터들(211~213)에 소정 우선 순위로 억세스 허가를 부여한다. 또한, 상기 아비터(220)는 억세스 허가 판단 시 수신되는 요구 정보들(RI1~RIN) 중에서, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권을 부여하는 방식을 동시에 적용할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 멀티 뱅크 메모리 억세스를 중재하는 아비터는 비지 뱅크에 속하지 않는 요구들을 판별하여, 가장 많은 펜딩 요구들을 가진 뱅크에 대응하는 요구들에 우선권을 부여한다. 또한, 마스터들에서 발생하는 라이트 요구 정보를 소정 버퍼에 저장하여 추가적인 마스터 요구 정보로서 출력되도록 하고, 그 해당 마스터에 새로운 요구 정보를 발생시킬 수 있는 기회를 제공한다. 이에 따라, 상기 아비터는 뱅크 인터리빙 방식, 리드/라이트 턴-어라운드 시간 최소화(read/write turn-around time minimize) 방식, 및 같은 행 억세스 검출(same row access detection) 방식 등을 효율적으로 지원하여 메모리 대역폭(memory bandwidth)을 향상시킬 수 있는 효과가 있다.

Claims (19)

  1. 다수의 마스터들로부터 요구 정보들을 수신하여, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권으로 억세스 허가를 부여하는 아비터를 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 아비터.
  2. 제 1항에 있어서, 상기 비지 뱅크는,
    비지 상태에 있지 않은 다른 뱅크보다 억세스 우선 순위가 낮은 것을 특징으로 하는 멀티 뱅크 메모리 억세스 아비터.
  3. 제 1항에 있어서, 상기 비지 뱅크는,
    상기 마스터들 중 어느 하나에 의하여 억세스 된 뱅크인 것을 특징으로 하는 멀티 뱅크 메모리 억세스 아비터.
  4. 다수의 마스터들로부터 요구 정보들을 수신하여 일부의 라이트 요구 정보들은 일시 저장하고, 억세스 허가 판단 시 상기 마스터들로부터 수신되고 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들과 상기 일시 저장된 라이트 요구 정보들 각각에 대응하는 마스터들에 억세스 허가를 부여하는 아비터를 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 아비터.
  5. 제 4항에 있어서, 상기 아비터는,
    상기 마스터들로부터 요구 정보들을 수신하여 상기 라이트 요구 정보들을 선택하여 출력하는 서브 아비터;
    상기 라이트 요구 정보들을 일시 저장하는 라이트 버퍼; 및
    상기 마스터들로부터 수신되는 요구 정보들 중에서 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들, 및 상기 라이트 요구 정보들 각각에 대응하는 마스터들에 억세스 허가를 부여하는 메인 아비터를 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 아비터.
  6. 제 5항에 있어서, 상기 메인 아비터는,
    상기 억세스 허가 판단 시 수신되는 요구 정보들 중에서, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하 고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권을 부여하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 아비터.
  7. 제 4항에 있어서, 상기 비지 뱅크는,
    비지 상태에 있지 않은 다른 뱅크보다 억세스 우선 순위가 낮은 것을 특징으로 하는 멀티 뱅크 메모리 억세스 아비터.
  8. 제 4항에 있어서, 상기 비지 뱅크는,
    상기 마스터들 중 어느 하나에 의하여 억세스 된 뱅크인 것을 특징으로 하는 멀티 뱅크 메모리 억세스 아비터.
  9. 각각의 요구 정보를 출력하는 다수의 마스터들;
    상기 요구 정보들을 수신하여, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권으로 억세스 허가를 부여함으로써, 그에 대응하여 선택된 요구 정보를 출력하는 아비터;
    상기 선택된 요구 정보를 처리하여 메모리 억세스 콘트롤 정보를 출력하는 인터페이스 콘트롤부; 및
    상기 메모리 억세스 콘트롤 정보에 응답하여 그에 대응하는 뱅크에 억세스하여, 데이터를 리드하여 출력하거나 데이터를 라이트하는 멀티 뱅크 메모리부를 구 비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 시스템.
  10. 각각의 요구 정보를 출력하는 마스터들;
    상기 요구 정보들을 수신하여 일부의 라이트 요구 정보들은 일시 저장하고, 억세스 허가 판단 시 상기 마스터들로부터 수신되고 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들과 상기 일시 저장된 라이트 요구 정보들 각각에 대응하는 마스터들에 억세스 허가를 부여함으로써, 그에 대응하여 선택된 요구 정보를 출력하는 아비터;
    상기 선택된 요구 정보를 처리하여 메모리 억세스 콘트롤 정보를 출력하는 인터페이스 콘트롤부; 및
    상기 메모리 억세스 콘트롤 정보에 응답하여 그에 대응하는 뱅크에 억세스하여, 데이터를 리드하여 출력하거나 데이터를 라이트하는 멀티 뱅크 메모리부를 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 시스템.
  11. 제 10항에 있어서, 상기 아비터는,
    상기 마스터들로부터 요구 정보들을 수신하여 상기 라이트 요구 정보들을 선택하여 출력하는 서브 아비터;
    상기 라이트 요구 정보들을 일시 저장하는 라이트 버퍼; 및
    상기 마스터들로부터 수신되는 요구 정보들 중에서 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들, 및 상기 라이트 요구 정보들 각각에 대응하는 마스터들에 억세스 허가를 부여하는 메인 아비터를 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 시스템.
  12. 제 11항에 있어서, 상기 메인 아비터는,
    상기 억세스 허가 판단 시 수신되는 요구 정보들 중에서, 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하고, 그 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권을 부여하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 시스템.
  13. 다수의 마스터들로부터 요구 정보들을 수신하는 단계;
    비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하는 단계; 및
    상기 뱅크별 억세스 요구 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권으로 억세스 허가를 부여하는 단계를 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 방법.
  14. 제 13항에 있어서, 상기 멀티 뱅크 메모리 억세스 중재 방법은,
    상기 억세스 허가에 대응하는 요구 정보를 선택하여 출력하는 단계;
    상기 선택된 요구 정보를 처리하여 메모리 억세스 콘트롤 정보를 출력하는 단계; 및
    상기 메모리 억세스 콘트롤 정보에 응답하여 그에 대응하는 뱅크에 억세스하여, 데이터를 리드하여 출력하거나 데이터를 라이트하는 단계를 더 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 방법.
  15. 다수의 마스터들로부터 요구 정보들을 수신하는 단계;
    일부의 라이트 요구 정보들은 일시 저장하는 단계; 및
    억세스 허가 판단 시 상기 마스터들로부터 수신되고 비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들과 상기 일시 저장된 라이트 요구 정보들 각각에 대응하는 마스터들에 억세스 허가를 부여하는 단계를 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 방법.
  16. 제 15항에 있어서, 상기 멀티 뱅크 메모리 억세스 중재 방법은,
    상기 억세스 허가에 대응하는 요구 정보를 선택하여 출력하는 단계;
    상기 선택된 요구 정보를 처리하여 메모리 억세스 콘트롤 정보를 출력하는 단계; 및
    상기 메모리 억세스 콘트롤 정보에 응답하여 그에 대응하는 뱅크에 억세스하여, 데이터를 리드하여 출력하거나 데이터를 라이트하는 단계를 더 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 방법.
  17. 제 15항에 있어서, 상기 억세스 허가 부여 단계는,
    비지 뱅크가 아닌 다른 뱅크들에 억세스하려는 요구 정보들로부터 억세스 요구 수를 뱅크별로 계산하는 단계; 및
    상기 뱅크별 억세스 요구 수가 가장 큰 뱅크에 억세스하려는 마스터들에 더 높은 우선권으로 억세스 허가를 부여하는 단계를 구비하는 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 방법.
  18. 제 13항 또는 제 14항에 있어서, 상기 비지 뱅크는,
    비지 상태에 있지 않은 다른 뱅크보다 억세스 우선 순위가 낮은 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 방법.
  19. 제 13항 또는 제 14항에 있어서, 상기 비지 뱅크는,
    상기 마스터들 중 어느 하나에 의하여 억세스 된 뱅크인 것을 특징으로 하는 멀티 뱅크 메모리 억세스 중재 방법.
KR1020030090944A 2003-12-13 2003-12-13 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법 KR100585116B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020030090944A KR100585116B1 (ko) 2003-12-13 2003-12-13 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법
US10/995,820 US7370161B2 (en) 2003-12-13 2004-11-23 Bank arbiter system which grants access based on the count of access requests
TW093136834A TWI278746B (en) 2003-12-13 2004-11-30 Arbiter capable of improving access efficiency of multi-bank memory device, memory access arbitration system including the same, and arbitration method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030090944A KR100585116B1 (ko) 2003-12-13 2003-12-13 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050058919A KR20050058919A (ko) 2005-06-17
KR100585116B1 true KR100585116B1 (ko) 2006-06-01

Family

ID=34651430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030090944A KR100585116B1 (ko) 2003-12-13 2003-12-13 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US7370161B2 (ko)
KR (1) KR100585116B1 (ko)
TW (1) TWI278746B (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327057B1 (en) * 2007-04-16 2012-12-04 Juniper Networks, Inc. Ordering write bursts to memory
JP4715801B2 (ja) * 2007-04-26 2011-07-06 日本電気株式会社 メモリアクセス制御装置
WO2009139109A1 (ja) * 2008-05-13 2009-11-19 パナソニック株式会社 メモリ制御装置、およびこれを備えた情報処理装置
KR101014149B1 (ko) * 2008-11-13 2011-02-14 (주)인디링스 메모리 뱅크로의 접근을 제어하는 고체 상태 디스크를 위한컨트롤러
US8683089B1 (en) * 2009-09-23 2014-03-25 Nvidia Corporation Method and apparatus for equalizing a bandwidth impedance mismatch between a client and an interface
US9904476B2 (en) * 2010-08-27 2018-02-27 Cisco Technology, Inc. Performing multiple write operations to a memory using a pending write queue/cache
KR101258533B1 (ko) * 2011-07-01 2013-04-30 성균관대학교산학협력단 Dram 버퍼 엑세스 스케줄링 방법 및 장치
US9342258B2 (en) 2011-09-01 2016-05-17 Freescale Semiconductor, Inc. Integrated circuit device and method for providing data access control
US9208002B2 (en) * 2012-01-06 2015-12-08 International Business Machines Corporation Equalizing bandwidth for multiple requesters using a shared memory system
US8909860B2 (en) 2012-08-23 2014-12-09 Cisco Technology, Inc. Executing parallel operations to increase data access performance
CN103226526A (zh) * 2013-04-19 2013-07-31 无锡云动科技发展有限公司 一种存储器访问控制装置
KR102034626B1 (ko) * 2013-06-26 2019-10-21 삼성전자 주식회사 메모리 동작을 제어하는 방법 및 장치
US9471501B2 (en) * 2014-09-26 2016-10-18 Intel Corporation Hardware apparatuses and methods to control access to a multiple bank data cache
US9753655B2 (en) * 2014-12-30 2017-09-05 Samsung Electronics Co., Ltd. Computing system with write buffer including speculative storage write and method of operation thereof
JP2016173798A (ja) * 2015-03-18 2016-09-29 ルネサスエレクトロニクス株式会社 半導体装置
WO2017216840A1 (ja) * 2016-06-13 2017-12-21 オリンパス株式会社 メモリアクセス制御装置、画像処理装置、および撮像装置
JP2019103013A (ja) * 2017-12-05 2019-06-24 ルネサスエレクトロニクス株式会社 半導体装置及びその再構成制御方法
US10545701B1 (en) * 2018-08-17 2020-01-28 Apple Inc. Memory arbitration techniques based on latency tolerance
CN110516329B (zh) * 2019-08-15 2022-02-18 上海天数智芯半导体有限公司 一种预约机制解决多路访问存储单元簇冲突的数字电路设计方法
CN111459414B (zh) * 2020-04-10 2023-06-02 上海兆芯集成电路有限公司 存储器调度方法及存储器控制器
US20220357879A1 (en) * 2021-05-06 2022-11-10 Apple Inc. Memory Bank Hotspotting

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4237534A (en) * 1978-11-13 1980-12-02 Motorola, Inc. Bus arbiter
US4314335A (en) * 1980-02-06 1982-02-02 The Perkin-Elmer Corporation Multilevel priority arbiter
US4384323A (en) * 1980-02-25 1983-05-17 Bell Telephone Laboratories, Incorporated Store group bus allocation system
US4514728A (en) * 1980-02-25 1985-04-30 At&T Bell Laboratories Store group bus allocation system
US4760515A (en) * 1985-10-28 1988-07-26 International Business Machines Corporation Arbitration apparatus for determining priority of access to a shared bus on a rotating priority basis
JPH0786853B2 (ja) * 1988-02-29 1995-09-20 株式会社ピーエフユー バス転送制御方式
US5237670A (en) * 1989-01-30 1993-08-17 Alantec, Inc. Method and apparatus for data transfer between source and destination modules
JPH04225459A (ja) 1990-12-27 1992-08-14 Matsushita Electric Ind Co Ltd システムバス調停装置
JPH0589027A (ja) 1991-09-27 1993-04-09 Casio Comput Co Ltd 監視機能付ライトバツフア
US5440713A (en) * 1992-05-29 1995-08-08 Industrial Technology Research Institute M-way N-port paged-interleaved memory system
JPH08339346A (ja) * 1995-06-09 1996-12-24 Toshiba Corp バスアービタ
US6026464A (en) * 1997-06-24 2000-02-15 Cisco Technology, Inc. Memory control system and method utilizing distributed memory controllers for multibank memory
US20040006665A1 (en) * 2002-07-02 2004-01-08 Moss Robert W. Methods and structure for hiding DRAM bank precharge and activate latency by issuing apriori bank state transition information
US6892289B2 (en) * 2002-07-02 2005-05-10 Lsi Logic Corporation Methods and structure for using a memory model for efficient arbitration

Also Published As

Publication number Publication date
US7370161B2 (en) 2008-05-06
TWI278746B (en) 2007-04-11
TW200534090A (en) 2005-10-16
US20050132146A1 (en) 2005-06-16
KR20050058919A (ko) 2005-06-17

Similar Documents

Publication Publication Date Title
KR100585116B1 (ko) 멀티 뱅크 메모리의 억세스 효율을 개선한 아비터, 이를구비한 메모리 억세스 중재 시스템 및 그 방법
JP4926963B2 (ja) 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法
US7698498B2 (en) Memory controller with bank sorting and scheduling
US8209497B2 (en) Multi-port memory and system using the same
US9268720B2 (en) Load balancing scheme in multiple channel DRAM systems
US6820142B2 (en) Token based DMA
US7899940B2 (en) Servicing commands
JP2009518753A (ja) メモリアクセス要求のアービトレーション
US5822768A (en) Dual ported memory for a unified memory architecture
EP1313019B1 (en) Arbitration apparatus
KR100640722B1 (ko) 반도체 제어장치, 반도체 장치, 및 이들을 구비하는 시스템
US7099976B2 (en) Bus arbiter and bus arbitrating method
US6374244B1 (en) Data transfer device
KR101022472B1 (ko) 효율적으로 버스를 사용하는 방법
KR100686304B1 (ko) 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법
US7586779B2 (en) Controller apparatus for utilizing downgrade memory and method for operating the same
JP7414477B2 (ja) メモリコントローラ、メモリコントローラで実施される方法および装置
JP3618249B2 (ja) データ転送装置
US7447830B2 (en) Information processing system and memory controller for controlling operation of memories
JP4593220B2 (ja) メモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法
KR100618823B1 (ko) 옵티컬 장치에서의 메모리 중재기 및 메모리 중재 방법
TW201831B (en) An interleave memory system
JP2015225458A (ja) 情報処理装置および調停方法
JPH10312333A (ja) データ転送制御装置
JP2011242928A (ja) 半導体装置

Legal Events

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

Payment date: 20130430

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160429

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 14