KR101022473B1 - 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치 - Google Patents

다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치 Download PDF

Info

Publication number
KR101022473B1
KR101022473B1 KR1020040009755A KR20040009755A KR101022473B1 KR 101022473 B1 KR101022473 B1 KR 101022473B1 KR 1020040009755 A KR1020040009755 A KR 1020040009755A KR 20040009755 A KR20040009755 A KR 20040009755A KR 101022473 B1 KR101022473 B1 KR 101022473B1
Authority
KR
South Korea
Prior art keywords
memory
bus
bank
sdram
layer
Prior art date
Application number
KR1020040009755A
Other languages
English (en)
Other versions
KR20050081498A (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 KR1020040009755A priority Critical patent/KR101022473B1/ko
Priority to US11/052,773 priority patent/US7373453B2/en
Publication of KR20050081498A publication Critical patent/KR20050081498A/ko
Application granted granted Critical
Publication of KR101022473B1 publication Critical patent/KR101022473B1/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
    • 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)
  • Dram (AREA)
  • Bus Control (AREA)

Abstract

다층 버스(multi-layer bus) 구조를 가진 시스템에서의 메모리 뱅크 인터리빙 방법 및 장치가 개시된다. 본 발명에 따라, 복수의 레이어를 가진 버스에 연결된 메모리내의 메모리 뱅크를 인터리빙하는 장치에 있어서, 버스 액세스 요구 신호를 수신하여 제어신호를 생성하는 복수개의 슬레이브 인터페이스부; 및 상기 생성된 제어신호들을 상기 복수개의 슬레이브 인터페이스부로부터 수신하여 상기 메모리의 뱅크를 액세스하는데 필요한 신호들을 생성하는 제어부를 포함하는 것을 특징으로 한다. 이에 의해, 다층 버스 구조로 구성된 시스템에서의 SDRAM 액세스 지연 시간을 크게 줄일 수 있는 효과가 있다.

Description

다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및 장치 {Memory bank interleaving method and apparatus in the multi-layer bus system}
도 1a는 N 개의 데이터를 버스트하게 전송하는 경우, SDRAM 제어신호의 발생 순서를 도시한 도면,
도 1b는 연속적으로 버스트 전송을 수행하는 경우의 SDRAM 제어신호의 발생 순서를 도시한 도면,
도 1c는 두 번째 버스트 전송을 첫 번째 버스트 전송과 동일한 뱅크(bank)의 동일한 열(row) 위치에 수행하는 경우의 SDRAM 제어신호의 발생순서를 도시한 도면,
도 1d는 뱅크 인터리빙시의 SDRAM 제어신호의 발생순서를 도시한 도면,
도 2a는 여러개의 마스터 또는 슬레이브 장치가 하나의 레이어 버스에 연결되어 있으며, 하나의 SDRAM을 공유하는 경우를 도시한 도면,
도 2b는 여러개의 마스터 또는 슬레이브 장치가 두개의 레이어의 버스에 연결되어 있으며, 두개의 SDRAM을 공유하는 경우를 도시한 도면,
도 3은 2개의 버스트 전송을 연속적으로 수행하는 경우에 AHB 프로토콜에 따른 타이밍도를 도시한 도면,
도 4는 SDRAM이 가질 수 있는 상태를 도시한 FSM(Finite State Machine),
도 5는 본 발명의 버스 구조를 도시한 도면,
도 6은 레이어가 N 개가 존재하는 경우의 버스 구조를 도시한 도면,
도 7은 2개의 버스트 전송을 연속적으로 수행하는 경우에 본 발명의 따른 버스 액세스 타이밍도를 도시한 도면,
도 8은 본 발명에 따른 SDRAM의 FSM을 도시한 도면,
도 9는 본 발명의 SDRAM 제어부의 상세 블록도이다.
본 발명은 메모리 뱅크의 인터리빙에 관한 것으로, 보다 상세하게는 다층 버스(multi-layer bus) 구조를 가진 시스템에서의 메모리 뱅크 인터리빙 방법 및 장치에 관한 것이다.
임베디드 시스템 온 칩(embedded system on chip)에서의 버스 구조는 내장된 프로세서의 종류에 따라 다르다. 예를 들어 ARM 프로세서가 내장되어 있는 시스템 온 칩의 경우에는 AHB 버스(AMBA High-performance Bus)가 사용된다. 일반적으로 이러한 시스템 온 칩(SoC)의 성능은 프로세서 및 소프트웨어의 성능, 버스의 성능 등에 따라 달라진다. 시스템 온 칩을 사용하여 하드웨어를 만들 때 메모리를 연결해 주어야 하는데, 메모리 액세스 성능에 따라서 하드웨어의 성능이 크게 좌우된다. 일반적으로 메모리로서 SDRAM 또는 DDR 램을 사용할 수 있으며, 이러한 메모리의 특성에 따라 전송지연이 발생한다.
SDRAM과 같은 하나의 슬레이브 장치를, 프로세서나 DMA와 같은 여러개의 마스터 장치가 공유하여 동시에 접근하는 경우에 시스템의 성능은 버스의 종류에 의해 크게 좌우되지는 않는다. 이 경우에는 단지 버스 자체가 가지는 응답지연에 의해서만 시스템의 성능이 결정된다. 예를 들어, AHB는 버스 응답지연이 0 클럭이므로 성능이 좋은 버스라고 할 수 있다.
또한, 슬레이브 장치로서 SDRAM을 사용하는 경우에, SDRAM을 액세스하여 읽기 또는 쓰기를 수행할 때 SDRAM 자체의 뱅크 인터리빙(Bank interleaving) 기능을 이용하여 SDRAM을 연속적으로 액세스할 때의 응답지연을 줄일 수 있다. 뱅크 인터리빙은 메모리내의 기억공간을 여러개의 뱅크(데이타를 저장/처리하는 방)로 나누고, 데이터 처리 명령을 각각 받아 처리함으로써, 데이터의 처리속도를 향상시키는 것을 말한다.
그러나, 명령과 응답이 소정의 순서에 따라 정해져 있는 AHB 버스 구조하에서는 SDRAM의 뱅크 인터리빙 기능을 이용할 수 없기 때문에 전송지연이 크다는 문제점이 있다.
따라서, 본 발명이 이루고자 하는 기술적 과제는, 공유된 하나의 SDRAM에 여러개의 마스터 장치들이 액세스하는 경우, SDRAM의 뱅크 인터리빙 기능을 이용하여 메모리 접근지연을 최소화시킨 뱅크 인터리빙 방법 및 장치를 제공하는 것이다.
상기 기술적 과제는 본 발명에 따라, 복수의 레이어를 가진 버스에 연결된 메모리내의 메모리 뱅크를 인터리빙하는 방법에 있어서, (a) 버스 액세스 요구 신호를 수신하여 제어신호를 생성하는 단계; 및 (b) 상기 생성된 제어신호들의 복수개의 세트를 수신하여, 상기 메모리의 뱅크를 액세스하는데 필요한 신호들을 생성하는 단계를 포함하는 것을 특징으로 하는 뱅크 인터리빙 방법에 의해 달성된다.
상기 (b) 단계는, 현재 액세스하고 있지 않는 메모리 뱅크의 액세스를 요구하는 메모리 액세스 요구 신호를 우선적으로 처리하는 것이 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 기술적 과제는 복수의 레이어를 가진 버스에 연결된 메모리내의 메모리 뱅크를 인터리빙하는 장치에 있어서, 버스 액세스 요구 신호를 수신하여 제어신호를 생성하는 복수개의 슬레이브 인터페이스부; 및 상기 생성된 제어신호들을 상기 복수개의 슬레이브 인터페이스부로부터 수신하여 상기 메모리의 뱅크를 액세스하는데 필요한 신호들을 생성하는 제어부를 포함하는 것을 특징으로 하는 뱅크 인터리빙 장치에 의해서도 달성된다.
상기 각각의 레이어에는 복수개의 마스터 장치 및/또는 슬레이브 장치가 연결되어 있으며, 각각의 레이어에 각기 다른 뱅크가 할당되어 있는 것이 바람직하다.
상기 복수개의 장치들로부터의 버스 액세스 요구 신호들을 수신하고 이를 중재하여 하나의 장치에게 버스 액세스 권한을 부여하는 중재부를 더 포함하는 것이 바람직하다.
또한 상기 제어부는, 현재 액세스하고 있지 않는 메모리 뱅크의 액세스를 요구하는 슬레이브 인터페이스부로부터의 메모리 액세스 요구 신호를 우선적으로 처 리하는 것이 바람직하다.
또한, 상기 메모리는 메모리내의 기억공간이 복수개의 뱅크로 나누어져 상기 각 슬레이브 인터페이스부에 할당되어 있는 것이 바람직하다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1a는 N 개의 데이터를 버스트하게 전송하는 경우, SDRAM 제어신호의 발생 순서를 도시한 도면이다.
SDRAM에서 기억공간의 위치는 열(row)과 행(column)에 의해서 결정되고, 따라서 SDRAM의 특정번지에 데이터를 기록하거나 특정번지에서 데이터를 읽어오기 위해서는 그 번지에 대응되는 열(row)과 행(column)을 선택하여야 한다.
액세스하고자 하는 SDRAM 의 번지가 정해지면, 그 위치에 대응되는 열을 선택하는 RAS(Row Address Strobe) 신호가 첫 번째 클럭에 나오고, 다음 클럭에는 아무런 동작을 수행하지 않는 NOP(No Operation)가 되며, 그 다음 클럭에 SDRAM의 행을 선택하는 CAS(Column Address Strobe) 신호가 나온다. RAS 신호와 함께 뱅크를 지정하는 신호도 함께 출력된다. 그 다음에는 전송하고자 하는 데이터의 개수에서 하나를 뺀 N-1 클럭 동안 아무런 신호도 내보내지 않고 있다가 이후에 BS(Burst Stop) 신호 또는 PR(Precharge) 신호가 나온다. PR 신호후에는 2 클럭동안 아무런 제어신호도 생성하지 않는다. BS 신호후에는 새로 RAS 신호를 내 보낼 필요가 없는 반면에, PR 신호후에는 이전 열(row) 어드레스를 닫기 때문에 RAS 신호를 새로 생성하여야 한다. 즉, 새로 RAS 신호를 생성할 필요가 없는 경우에는 BS 신호가 나오 고 그렇지 않은 경우에는 PR 신호가 나온다.
도 1b는 연속적으로 버스트 전송을 수행하는 경우의 SDRAM 제어신호의 발생 순서를 도시한 도면이다.
도 1b를 참조하면, 버스트 전송을 동일한 뱅크의 다른 행(row) 위치로 연속적으로 수행하는 경우 또는 두 번째 버스트 전송에 대한 내용을 미리 알 수 없는 경우에는, RAS1, NOP, CAS1, NOP, PR1, NOP로 이루어진 첫 번째 버스트 전송후에, RAS2, NOP, CAS2, NOP, PR2, NOP 신호로 이루어진 두 번째 버스트 전송을 수행함을 알 수 있다. 따라서 연속적인 버스트 전송에 시간이 많이 소요된다.
도 1c는 두 번째 버스트 전송을 첫 번째 버스트 전송과 동일한 뱅크(bank) 및 동일한 열(row) 위치에 수행하는 경우의 SDRAM 제어신호의 발생순서를 도시한 도면이다.
도 1c를 참조하면, 두 번째 버스트 전송이 첫 번째 버스트 전송과 동일한 뱅크의 같은 열(row) 위치로 수행되기 때문에, PR1 신호 대신 BS1 신호가 오고, NOP가 나올 필요가 없이 바로 CAS2 신호가 오는 것을 알 수 있다.
도 1d는 뱅크 인터리빙시의 SDRAM 제어신호의 발생순서를 도시한 도면이다.
도 1d를 참조하면, 두 번째 버스트 전송이 첫 번째 버스트 전송이 수행되는 뱅크와는 다른 뱅크에서 수행되기 때문에, RAS2, CAS2 신호를 첫 번째 버스트 전송의 NOP 대신에 미리 나오도록 할 수 있음을 알 수 있다. 이렇게 하면 NOP 동안의 클럭의 수가 감소하므로 액세스 타임이 줄어든다.
도 2a는 여러개의 마스터 또는 슬레이브 장치가 하나의 레이어 버스에 연결 되어 있으며, 하나의 SDRAM을 공유하는 경우를 도시한 도면이다.
여러개의 마스터 장치들이 각각 SDRAM을 액세스하기 위해서는 각각의 마스터 장치들이 버스를 사용하겠다는 신호를 AHB 중재기 및 디코더(AHB Arbiter & Decoder)로 보내고, AHB 중재기 및 디코더는 이들 신호를 중재하여 소정의 우선순위에 따라 어느 하나의 마스터 장치에게 버스의 액세스 권한을 부여하고, 그 마스터 장치가 액세스 하고자 하는 슬레이브 장치의 주소에 대응되는 슬레이브 장치가 어느 슬레이브 장치인가를 해석하여 해당 슬레이브 장치를 선택한다.
이 경우에는 구조가 단순하고 전력소비가 적으나, 어느 하나의 마스터 장치가 SDRAM을 액세스 하고 있는 동안에는 다른 마스터 장치는 SDRAM을 액세스 할 수 없다.
도 2b는 여러개의 마스터 또는 슬레이브 장치가 두개의 레이어의 버스에 연결되어 있으며, 두개의 SDRAM을 공유하는 경우를 도시한 도면이다.
여기서 레이어는 버스의 수를 나타내는 것으로, 하나의 레이어에 여러개의 장치들이 연결되어 있다. 매트릭스(Matrix)는 각각의 레이어로부터의 SDRAM 액세스 명령을 받아 SDRAM #1 또는 SDRAM #2 로 스위칭한다. 이 경우에는 두 개의 SDRAM을 사용하기 때문에, SDRAM #1과 SDRAM #2로의 데이터 전송이 동시에 가능하므로 성능이 향상되나 비용이 비싸지고 소비전력도 많아진다.
도 3은 2개의 버스트 전송을 연속적으로 수행하는 경우에 AHB 프로토콜에 따른 타이밍도를 도시한 도면이다.
여러개의 마스터 장치들이 SDRAM을 동시에 액세스를 할 수 없기 때문에 마스 터 장치 #1의 HGRANT 신호와 마스터 장치 #3의 HGRANT 신호는 서로 동시에 액티브 될 수 없다. 따라서 HBUSREQ(#1), HGRANT(#1), HTRANS(#1), HREADY(#1)에 의해서 수행되는 버스트 전송이 완료된 후에, HBUSREQ(#3), HGRANT(#3), HTRANS(#3), HREADY(#3)에 의해서 수행되는 버스트 전송이 수행될 수 밖에 없다. 따라서 전송지연시간이 많아진다.
도 4는 SDRAM이 가질 수 있는 상태를 도시한 FSM(Finite State Machine)이다.
IDLE(410) 상태에서 RAS(420) 상태로 바뀌고, NOP(440) 상태로 바뀔 수 있다. NOP(440) 상태 후에는 CAS(430) 상태, BS(450) 상태 또는 PR(460) 상태로 될 수 있으며, BS(450) 상태 후에는 PR(460) 상태가 될 수 있다. 모든 데이터의 전송은 한번에 하나씩 처리되며, 각 전송시마다 새로운 RAS 신호가 있어야 한다.
도 5는 본 발명의 버스 구조를 도시한 도면이다.
본 발명에서 버스는 여러개의 레이어로 구성될 수 있는데, 본 실시예에서는 두 개의 레이어로 나누어져 있는 경우를 설명한다. 하나의 레이어에는 마스터 장치(502, 504) 또는 슬레이브 장치(506)가 여러개 연결되어 있을 수 있다. 다른 레이어에도 여러개의 마스터 장치(508, 510)가 연결될 수 있다. 각각의 레이어에는 슬레이브 인터페이스부(540, 542)가 각각 연결되어 있고, 이는 SDRAM 컨트롤러(550)와 연결되어 있다. 중재기 및 디코더(520)는 레이어 1에 위치해 있는 마스터 장치와 슬레이브 장치의 버스 액세스 명령을 중재하고 슬레이브 장치의 어드레스를 디코딩하고, 중재기(530)는 레이어 2에 위치해 있는 마스터 장치들의 버 스 액세스 명령을 중재한다.
본 실시예에서 버스는 AHB 버스가 될 수 있다. 따라서, AHB 버스인 경우에 각각의 마스터 장치들 또는 슬레이브 장치(502 내지 510)는 AHB 마스터 장치 또는 AHB 슬레이브 장치가 되고, 중재기 및 디코더(520)는 AHB 중재기 및 디코더가 된다. 또한 슬레이브 인터페이스부(540, 542)는 AHB 슬레이브 인터페이스부가 된다.
SDRAM 컨트롤러(550)는 SDRAM(560)을 제어한다. SDRAM(560)은 두 개의 뱅크로 구성되어 있다. SDRAM 뱅크 1(562)은 레이어 1에 연결되어 있는 장치들(502 내지 506)이 주로 액세스하는 뱅크이며, SDRAM 뱅크 2(564)는 레이어 2에 연결되어 있는 장치들(508, 510)이 주로 액세스하는 뱅크이다.
도 6은 레이어가 N 개가 존재하는 경우의 버스 구조를 도시한 도면이다.
레이어가 두 개인 경우와 마찬가지로, 각각의 레이어에 복수개의 장치들이 연결되어 있으며 각각의 레이어의 슬레이브 인터페이스를 담당하는 슬레이브 인터페이스부가 N 개가 존재한다. 또한 SDRAM의 뱅크도 N 개가 존재한다.
도 7은 2개의 버스트 전송을 연속적으로 수행하는 경우에 본 발명의 따른 버스 액세스 타이밍도를 도시한 도면이다.
여러개의 마스터 장치들이 SDRAM을 동시에 액세스를 할 수 있으므로 마스터 장치 #1의 HGRANT 신호와 마스터 장치 #3의 HGRANT 신호는 서로 동시에 액티브 될 수 있다. 하나의 버스트 전송이 완료되기 이전에라도 RAS2 신호가 나올 수 있어, NOP에 할당되는 클럭의 수가 적어지므로 빠른 액세스가 가능하다. 즉, 마스터 장치 #1의 명령은 해당 레이어의 중재기에 의해 슬레이브 인터페이스부에 전달된다. 이 때 SDRAM 컨트롤러는 SDRAM-RAS 명령을 시작으로 SDRAM으로의 데이터 전송을 시작한다. 이후 SDRAM-CAS를 거쳐 응답신호 HREADY1가 나오는 시간지연은 5 클럭이다. 한편 마스터 장치 #1의 전송이 수행되는 동안 다른 레이어의 마스터 장치 #3가 SDRAM을 액세스 하고자 하는 경우, 해당 레이어의 중재기에 의해 슬레이브 인터페이스부에 명령이 전달되고, 상기 응답지연시간동안에 전송준비를 할 수 있다. 따라서 전송지연이 크게 줄어든다.
도 8은 본 발명에 따른 SDRAM의 FSM을 도시한 도면이다.
참조번호 810은 레이어 1의 상태를 도시한 것이고, 참조번호 820은 레이어 2의 상태를 도시한 것이다. IDLE 상태와 PR 상태는 서로 공유할 수 있다. 이러한 상태간의 전환을 통해 SDRAM의 액세스가 이루어진다.
도 9는 본 발명의 SDRAM 제어부의 상세 블록도이다.
복수개의 슬레이브 인터페이스 신호를 처리하는 인터페이스부(910-1, 910-N)가 N 개가 존재하며, 이들 인터페이스 신호를 스위치하고 제어하는 제어부(920)가 존재한다. 제어부(920)는 복수개의 제어신호를 받아 SDRAM에 연결해 주는 RAS, CAS, ADDR, DATA 및 여러 가지 제어신호를 생성한다.
이상에서는 SDRAM을 예를 들어 뱅크 인터리빙 방법에 대하여 설명하였으나, 다층 버스를 가지는 시스템이면 SDRAM이나 DDR 메모리 등 그 종류에 한정되지 않고 사용될 수 있다.
한편, 전술한 메모리 뱅크 인터리빙 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 인터리빙 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
전술한 바와 같이 본 발명에 따르면, 다음에 수행되어야 하는 전송에 필요한 정보들을 미리 읽어오기 때문에, 다층 버스 구조로 된 시스템에서 SDRAM 뱅크를 인터리빙할 수 있으며, SDRAM 의 액세스 지연 시간을 크게 줄일 수 있는 효과가 있다.

Claims (13)

  1. 복수의 레이어를 가진 버스에 연결된 메모리내의 메모리 뱅크를 인터리빙하는 방법에 있어서,
    (a) 버스 액세스 요구 신호를 수신하여 제어신호를 생성하는 단계; 및
    (b) 상기 생성된 제어신호들의 복수개의 세트를 수신하여, 상기 메모리의 뱅크를 액세스하는데 필요한 신호들을 생성하는 단계를 포함하는 것을 특징으로 하는 뱅크 인터리빙 방법.
  2. 제1항에 있어서,
    상기 각각의 레이어에는 복수개의 마스터 장치 및/또는 슬레이브 장치가 연결되어 있으며, 각각의 레이어에 각기 다른 뱅크가 할당되어 있는 것을 특징으로 하는 뱅크 인터리빙 방법.
  3. 제1항에 있어서,
    상기 복수개의 장치들로부터의 버스 액세스 요구 신호들을 수신하고 이를 중재하여 하나의 장치에게 버스 액세스 권한을 부여하는 단계를 더 포함하는 것을 특징으로 하는 뱅크 인터리빙 방법.
  4. 제1항에 있어서, 상기 (b) 단계는
    현재 액세스하고 있지 않는 메모리 뱅크의 액세스를 요구하는 메모리 액세스 요구 신호를 우선적으로 처리하는 것을 특징으로 하는 뱅크 인터리빙 방법.
  5. 제1항에 있어서,
    상기 메모리는 메모리내의 기억공간이 복수개의 뱅크로 나누어져 각각의 레이어의 버스에 할당되어 있는 것을 특징으로 하는 뱅크 인터리빙 방법.
  6. 제1항에 있어서,
    상기 메모리는 SDRAM 메모리인 것을 특징으로 하는 뱅크 인터리빙 방법.
  7. 복수의 레이어를 가진 버스에 연결된 메모리내의 메모리 뱅크를 인터리빙하는 장치에 있어서,
    버스 액세스 요구 신호를 수신하여 제어신호를 생성하는 복수개의 슬레이브 인터페이스부; 및
    상기 생성된 제어신호들을 상기 복수개의 슬레이브 인터페이스부로부터 수신하여 상기 메모리의 뱅크를 액세스하는데 필요한 신호들을 생성하는 제어부를 포함하는 것을 특징으로 하는 뱅크 인터리빙 장치.
  8. 제7항에 있어서,
    상기 각각의 레이어에는 복수개의 마스터 장치 및/또는 슬레이브 장치가 연결되어 있으며, 각각의 레이어에 각기 다른 뱅크가 할당되어 있는 것을 특징으로 하는 뱅크 인터리빙 장치.
  9. 제7항에 있어서,
    상기 복수개의 장치들로부터의 버스 액세스 요구 신호들을 수신하고 이를 중재하여 하나의 장치에게 버스 액세스 권한을 부여하는 중재부를 더 포함하는 것을 특징으로 하는 뱅크 인터리빙 장치.
  10. 제7항에 있어서, 상기 제어부는
    현재 액세스하고 있지 않는 메모리 뱅크의 액세스를 요구하는 슬레이브 인터페이스부로부터의 메모리 액세스 요구 신호를 우선적으로 처리하는 것을 특징으로 하는 뱅크 인터리빙 장치.
  11. 제7항에 있어서,
    상기 메모리는 메모리내의 기억공간이 복수개의 뱅크로 나누어져 상기 각 슬레이브 인터페이스부에 할당되어 있는 것을 특징으로 하는 뱅크 인터리빙 장치.
  12. 제7항에 있어서,
    상기 메모리는 SDRAM 메모리인 것을 특징으로 하는 뱅크 인터리빙 장치.
  13. 제1항 내지 제6항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040009755A 2004-02-13 2004-02-13 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치 KR101022473B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040009755A KR101022473B1 (ko) 2004-02-13 2004-02-13 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
US11/052,773 US7373453B2 (en) 2004-02-13 2005-02-09 Method and apparatus of interleaving memory bank in multi-layer bus system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040009755A KR101022473B1 (ko) 2004-02-13 2004-02-13 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치

Publications (2)

Publication Number Publication Date
KR20050081498A KR20050081498A (ko) 2005-08-19
KR101022473B1 true KR101022473B1 (ko) 2011-03-15

Family

ID=34836757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040009755A KR101022473B1 (ko) 2004-02-13 2004-02-13 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치

Country Status (2)

Country Link
US (1) US7373453B2 (ko)
KR (1) KR101022473B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617368B2 (en) * 2006-06-14 2009-11-10 Nvidia Corporation Memory interface with independent arbitration of precharge, activate, and read/write
JP5481428B2 (ja) * 2011-05-26 2014-04-23 株式会社東芝 半導体記憶装置およびメモリシステム
US9256531B2 (en) 2012-06-19 2016-02-09 Samsung Electronics Co., Ltd. Memory system and SoC including linear addresss remapping logic
US10241941B2 (en) 2015-06-29 2019-03-26 Nxp Usa, Inc. Systems and methods for asymmetric memory access to memory banks within integrated circuit systems
WO2017019095A1 (en) * 2015-07-30 2017-02-02 Hewlett Packard Enterprise Development Lp Interleaved access of memory
EP3252651A1 (en) * 2016-05-30 2017-12-06 Samsung Electronics Co., Ltd Computing system having an on-the-fly encryptor and an operating method thereof
JP2019057071A (ja) * 2017-09-20 2019-04-11 ルネサスエレクトロニクス株式会社 半導体装置および当該半導体装置において用いられるプログラム
US10585689B1 (en) * 2017-12-20 2020-03-10 Cisco Technology, Inc. Shared memory interface for application processes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010105938A (ko) * 2000-05-19 2001-11-29 윤종용 플레쉬 메모리를 내장하는 마이크로 컨트롤러 유닛 및그의 인터리빙 방식을 이용한 메모리 억세스 제어 방법
KR20030033064A (ko) * 2000-09-18 2003-04-26 인텔 코포레이션 다중 메모리 인터페이스에 대한 버퍼
JP2003131943A (ja) 2001-10-25 2003-05-09 Hitachi Ltd 統合型分離型切替えキャッシュメモリ及び該キャッシュメモリを備えたプロセッサシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386537A (en) 1991-03-28 1995-01-31 Minolta Camera Kabushiki Kaisha System with reduced instruction set processor accessing plural memories at different speeds using bank interleaving
GB2381622B (en) * 1997-12-17 2003-06-25 Fujitsu Ltd Synchronous dynamic random access memory apparatus
US6564284B2 (en) 1998-12-23 2003-05-13 Micron Technology, Inc. Apparatus for controlling a multibank memory device
US6948098B2 (en) * 2001-03-30 2005-09-20 Cirrus Logic, Inc. Circuits and methods for debugging an embedded processor and systems using the same
KR100438427B1 (ko) 2001-12-04 2004-07-03 삼성전자주식회사 디인터리빙 장치 및 방법
US6985985B2 (en) * 2002-06-05 2006-01-10 Lsi Logic Corporation Methods and structure for dynamic modifications to arbitration for a shared resource
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
US7013356B2 (en) * 2002-08-30 2006-03-14 Lsi Logic Corporation Methods and structure for preserving lock signals on multiple buses coupled to a multiported device
US6742058B2 (en) * 2002-09-27 2004-05-25 Texas Instruments Incorporated Memory controller having a multiplexer selecting either second set of input signals or converted signals from first set of input signals by a bus mode input
US6883082B2 (en) * 2002-12-19 2005-04-19 Lsi Logic Corporation Central dynamic memory manager
US7114041B2 (en) * 2002-12-20 2006-09-26 Lsi Logic Corporation AMBA modular memory controller
US7039756B2 (en) * 2003-04-28 2006-05-02 Lsi Logic Corporation Method for use of ternary CAM to implement software programmable cache policies

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010105938A (ko) * 2000-05-19 2001-11-29 윤종용 플레쉬 메모리를 내장하는 마이크로 컨트롤러 유닛 및그의 인터리빙 방식을 이용한 메모리 억세스 제어 방법
KR20030033064A (ko) * 2000-09-18 2003-04-26 인텔 코포레이션 다중 메모리 인터페이스에 대한 버퍼
JP2003131943A (ja) 2001-10-25 2003-05-09 Hitachi Ltd 統合型分離型切替えキャッシュメモリ及び該キャッシュメモリを備えたプロセッサシステム

Also Published As

Publication number Publication date
US7373453B2 (en) 2008-05-13
KR20050081498A (ko) 2005-08-19
US20050182908A1 (en) 2005-08-18

Similar Documents

Publication Publication Date Title
JP6761873B2 (ja) セルフリフレッシュステートマシンmopアレイ
JP6840145B2 (ja) 高速メモリインタフェースのためのコマンドアービトレーション
US6026464A (en) Memory control system and method utilizing distributed memory controllers for multibank memory
US6393531B1 (en) Queue based data control mechanism for queue based memory controller
US6173356B1 (en) Multi-port DRAM with integrated SRAM and systems and methods using the same
KR101622311B1 (ko) 적응가능한 수의 오픈 로우들을 갖는 메모리 디바이스
KR20210021302A (ko) 메모리 제어기에서의 리프레시 방식
US6963516B2 (en) Dynamic optimization of latency and bandwidth on DRAM interfaces
KR20050005481A (ko) 아웃 오브 오더 dram 시퀀서
JP2006260472A (ja) メモリアクセス装置
JP6761870B2 (ja) 低電力メモリのスロットリング
JP2000501536A (ja) 種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット
US7373453B2 (en) Method and apparatus of interleaving memory bank in multi-layer bus system
JP2023539737A (ja) 複数のコマンドサブキュー及び対応するアービタを有するメモリコントローラ
US6549991B1 (en) Pipelined SDRAM memory controller to optimize bus utilization
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US20040006665A1 (en) Methods and structure for hiding DRAM bank precharge and activate latency by issuing apriori bank state transition information
US5802581A (en) SDRAM memory controller with multiple arbitration points during a memory cycle
JP2023530642A (ja) Dramコマンドストリーク管理
EP3270294B1 (en) Command arbitration for high-speed memory interfaces
KR20240022655A (ko) 하이브리드 dram/영구 메모리 채널 중재 기능을 갖는 메모리 제어기
US6499087B1 (en) Synchronous memory sharing based on cycle stealing
JP2006164099A (ja) メモリ制御装置
JPH0142017B2 (ko)
JPH06324940A (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
LAPS Lapse due to unpaid annual fee