KR100607987B1 - 명령어 스케줄링을 수행하는 메모리 제어장치 및 방법 - Google Patents
명령어 스케줄링을 수행하는 메모리 제어장치 및 방법 Download PDFInfo
- Publication number
- KR100607987B1 KR100607987B1 KR1020040047623A KR20040047623A KR100607987B1 KR 100607987 B1 KR100607987 B1 KR 100607987B1 KR 1020040047623 A KR1020040047623 A KR 1020040047623A KR 20040047623 A KR20040047623 A KR 20040047623A KR 100607987 B1 KR100607987 B1 KR 100607987B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- command
- memory access
- dram
- address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
메모리에 저장된 명령어 코드를 해석하여 수행하는데 있어서, 복수개의 마스터 장치가 메모리를 액세스할 때 그 처리순서를 조정함으로써 처리속도를 높인 메모리 제어장치 및 방법이 개시된다. 본 발명에 따라, 메모리 제어장치는 적어도 하나의 마스터 장치들로부터의 메모리 액세스 명령들을 수신하여 저장하는 명령어 큐; 상기 수신된 명령들이 액세스하고자 하는 메모리의 어드레스를 분석하여 그 연관관계에 따라, 상기 저장된 명령들의 처리순서를 조정하는 판단부; 및 상기 판단부의 제어에 따라 출력된 명령어를 해석하여, 어드레스 관련 신호를 출력하는 명령어 해석부를 포함하는 것을 특징으로 한다. 이에 의해, 시스템의 크기를 크게 늘리지 않으면서 명령어 처리속도를 향상시킬 수 있다.
Description
도 1은 복수개의 마스터 장치들을 포함하는 시스템 온 칩(SOC)의 간략화한 구성도,
도 2는 DRAM을 액세스 하는데 필요한 신호들을 도시한 도면,
도 3은 도 2의 메모리 액세스 신호에 따라 DRAM 메모리 셀에서 데이터가 출력되는 것을 도시한 도면,
도 4는 본 발명의 메모리 제어부에서 마스터 장치들로부터의 명령어들의 처리 순서를 바꾸는 것을 설명하는 도면,
도 5는 본 발명의 메모리 제어부의 블록도,
도 6은 복수개의 뱅크로 구성된 메모리의 구성도,
도 7은 RAS 신호의 생성에 관한 상태도를 도시한 도면,
도 8은 CAS 신호의 생성에 관한 상태도를 도시한 도면,
도 9는 본 발명의 메모리 제어방법의 플로우차트이다.
본 발명은 명령어의 처리에 관한 것으로, 보다 상세하게는 메모리에 저장된 명령어 코드를 해석하여 수행하는데 있어서, 복수개의 마스터 장치가 메모리를 액세스할 때 그 처리순서를 조정함으로써 처리속도를 높인 메모리 제어장치 및 방법에 관한 것이다.
프로세서가 포함된 시스템에서 프로세서가 수행할 명령어 코드들은 일반적으로 메모리에 저장되어 있으며, 그 명령어 코드의 해석 순서에 따라 프로세서의 동작이 수행된다. 명령을 수행하고 메모리를 액세스하는 프로세서를 마스터 장치(master device)라고 하는데, 경우에 따라서는 하나의 시스템에 복수개의 마스터 장치가 존재할 수 있다. 최근에는 복잡한 기능의 구현을 하나의 칩상에 구현하기도 하는데, 이를 시스템 온 칩(System On Chip, SOC)이라고 하며, 이 시스템 온 칩(SOC)상에는 여러개의 마스터 장치들이 존재할 수 있다.
복수개의 마스터 장치들은 각각 독립적으로 명령을 수행한다. 따라서, 복수개의 명령어 코드들이 각각 메모리를 액세스하기 때문에, 중간에 이를 중재하여 메모리 액세스 명령의 처리순서를 조정해 줄 필요가 있는데, 이와 같은 기능을 수행하는 것을 명령어 스케줄러(command scheduler)라고 한다. 명령어 스케줄러(command scheduler)는 현재 처리중인 메모리 액세스 명령을 분석하여 이와 유사한 메모리 영역을 액세스하는 명령을 우선적으로 처리하도록 명령어 처리순서를 조정한다. 명령어 스케줄러는 일반적으로 메모리 제어부가 아닌 버스 제어부(bus controller)에 위치한다.
그러나, 서로 유사한 메모리 영역을 액세스하는 경우는 일반적으로 많지 않 으나, 이를 위해서 명령어의 처리순서를 바꿔줄지의 여부를 항상 판단하도록 하면 버스 제어부가 필요이상으로 복잡해지고 처리속도도 느려지게 된다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 명령어들이 액세스하는 메모리 영역의 어드레스에 따라 명령어들의 처리순서를 조정하여, 메모리 액세스 속도를 높인 메모리 제어장치 및 방법을 제공하는 것이다.
상기 기술적 과제는 본 발명에 따라, 적어도 하나의 마스터 장치들로부터의 메모리 액세스 명령들을 수신하여 저장하는 명령어 큐; 상기 수신된 명령들이 액세스하고자 하는 메모리의 어드레스를 분석하여 그 연관관계에 따라, 상기 저장된 명령들의 처리순서를 조정하는 판단부; 및 상기 판단부의 제어에 따라 출력된 명령어를 해석하여, 어드레스 관련 신호를 출력하는 명령어 해석부를 포함하는 것을 특징으로 하는 메모리 제어장치에 의해 달성된다.
상기 메모리는 DRAM인 것이 바람직하며, 상기 명령어 해석부는, 상기 DRAM의 RAS 신호를 생성하는 RAS 처리부; 및 상기 DRAM의 CAS 신호를 생성하는 CAS 처리부를 포함하는 것이 바람직하다.
상기 판단부는, 상기 명령어 큐에 저장된 메모리 액세스 명령들 중, 명령어 해석부에서 현재 처리중인 메모리 액세스 명령어와 동일한 뱅크의 동일한 페이지의 메모리 액세스 명령을 먼저 처리하도록 명령어 처리순서를 정하는 것이 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 기술적 과제는 (a) 적어도 하나의 마스터 장치들로부터의 메모리 액세스 명령들을 수신하여 저장하는 단계; (b) 상기 수신된 명령들이 액세스하고자 하는 메모리의 어드레스를 분석하여 그 연관관계에 따라, 상기 저장된 명령들의 처리순서를 조정하는 단계; 및 (c) 상기 조정된 순서에 따라 출력된 명령어를 해석하여, 어드레스 관련 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 메모리 제어방법에 의해서도 달성된다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 복수개의 마스터 장치들을 포함하는 시스템 온 칩(SOC)의 간략화한 구성도이다.
시스템 온 칩(SOC)(100)은 복수개의 마스터 장치들(110 내지 114)을 구비할 수 있다. 마스터 장치는 일종의 프로세서로서 메모리에 기록된 명령어를 불러와 실행할 수 있는 장치이다. 예를 들어 중앙처리장치(CPU), 비디오/그래픽 프로세서, 오디오 프로세서 또는 네트워크 프로세서 등이 마스터 장치가 될 수 있다. 마스터 장치들(110 내지 114)로부터의 메모리 액세스 명령은 버스 제어부(120)로 전달된다. 버스 제어부(120)는 복수개의 마스터 장치들(110 내지 114)로부터의 메모리 액세스 명령의 처리순서를 조정한다. 버스 제어부(120)는 버스 중재부(bus aribiter) 및 명령어 스케줄러(command scheduler) 등을 포함한다.
메모리 제어부(130)는 버스 제어부(120)가 전달한 메모리 액세스 명령을 순서대로 처리하여 메모리(140)를 실제로 액세스 하는데 필요한 신호들을 생성한다. 메모리를 액세스하는데 필요한 신호들로, 예를 들어 메모리(140)가 DRAM 인 경우에는 RAS(Row Address Strobe), CAS(Column Address Strobe) 신호 등이 있다. 한편, 경우에 따라서 메모리 제어부(130)는 시스템 온 칩(100) 외부에 존재할 수도 있다. 이하에서는 메모리가 DRAM인 경우를 일예로 들어 설명한다.
도 2는 DRAM을 액세스 하는데 필요한 신호들을 도시한 도면이다.
DRAM을 액세스 하기 위해서 Clock(210), Addr(220), RAS(230), CAS(240), WE(250) 등의 신호가 필요하다. RAS(230) 신호의 'low' 시에 출력되는 Addr 값(222)은 DRAM의 행 주소를 의미하는 row address이다. RAS(230) 신호가 'low'가 되면 그 때의 Addr 값(222) 값인 row address에 존재하는 행의 데이터들을 읽어와 센스 앰프(sense amp)로 복사해 온다. 그리고, CAS(240) 신호가 'low' 가 되면 그 때의 addr 값(224)인 column address 위치의 데이터(260)를 출력한다. 버스트(burst) 모드인 경우에는 미리 지정된 개수만큼의 데이터가 매 clock(210) 마다 출력된다. 그리고 나서 WE(250)를 'low'로 만들어 프리차지(precharge)를 수행한다. 프리차지란 센스 앰프로 복사해 온 데이터를 DRAM의 해당 행으로 다시 복사하는 것을 말한다.
도 3은 도 2의 메모리 액세스 신호에 따라 DRAM 메모리 셀에서 데이터가 출력되는 것을 도시한 도면이다.
예를 들어, 하나의 메모리 셀(310)은 가로 512개, 세로 1024개의 컨덴서(capacitor)로 구성되어 있다고 하자. 여기서, 하나의 컨덴서가 한 비트의 데이터를 기록하고 있다. 가로 512개의 컨덴서로 구성된 단위를 하나의 페이지(page)라고 한다. 페이지는 row address에 의해서 선택된다. 그리고, 일반적으로 16개의 메모리 셀이 하나의 뱅크를 구성한다. 16개의 메모리 셀이 사용되면 16 비트 데이터가 만들어진다. 따라서 하나의 페이지는 512 개의 16비트 데이터가 된다. 또한, 경우에 따라서는 가로 1024개 또는 2048개의 컨덴서가 존재할 수도 있다. 이 경우에는 하나의 페이지가 1K 바이트 또는 2K 바이트가 된다.
프로세서가 액세스하고자 하는 위치의 데이터가 출력되는 것을 설명하면, 만일 프로세서의 첫번째 명령어가 메모리의 첫 번째 row를 액세스하는 명령어라고 하면, row address에 의해서 첫번째 페이지(312)의 데이터 512 바이트가 센스 앰프(sense amp)(320)로 입력된다. 센스 앰프도 16개가 존재하여, row address에 의해 선택된 페이지의 데이터 512 바이트를 기록할 수 있다. 다음으로, 센스앰프에 저장된 데이터 중에서, column address에 의해 선택된 하나의 데이터가 출력된다. 버스트 모드인 경우에는 미리 설정된 개수만큼의 데이터가 센스앰프로부터 출력된다. 센스앰프는 일반적으로 SRAM으로 만들어진다. 다음으로 프리차지 신호를 주면 센스앰프(320)에 기록되어 있던 데이터가 원래 위치인 첫 번째 페이지(312)로 다시 복사되어 그 값이 회복된다.
프로세서가 그 다음으로 액세스 하고자 하는 메모리 위치가 열번째 페이지(314)라고 하면 row address에 의해 열번째 페이지(314)의 데이터가 선택되어 센스앰프(320)로 복사되고 다시 column address에 의해 하나의 column이 선택된다. 이러한 과정으로 DRAM의 어드레스가 액세스되어 데이터가 출력된다.
도 4는 본 발명의 메모리 제어부에서 마스터 장치들로부터의 명령어들의 처 리 순서를 바꾸는 것을 설명하는 도면이다.
마스터 장치들로부터의 복수개의 명령어들을 메모리 제어부(410)로 입력받는다. 세 개의 명령어가 어떻게 순차적으로 처리되는가를 설명하면, 예를 들어 첫 번째 명령이 메모리(420)의 첫 번째 페이지의 첫 번째 컬럼의 데이터를 액세스하는 명령이고, 두 번째 명령이 메모리(420)의 열번째 페이지의 첫 번째 컬럼의 데이터를 액세스하는 명령이고, 세 번째 명령이 메모리(420)의 첫 번째 페이지의 다섯번째 컬럼의 데이터를 액세스하는 명령이라고 가정하자. 그리고, 메모리(420)가 버스트 모드로 동작하며, 버스트로 출력되는 데이터의 개수가 4로 설정되어 있다고 가정하자.
입력된 순서대로 명령어를 처리하면, 첫 번째 명령과 세 번째 명령이 동일한 페이지의 메모리를 액세스하는데도 불구하고, 무조건 순서대로 명령어를 처리하기 때문에 불필요하게 시간이 많이 소비된다. 즉, 첫 번째 명령어를 수행한 후에 바로 세 번째 명령어를 수행하면, RAS 신호를 다시 생성할 필요없이 CAS 신호만 다시 생성하면 되므로 처리속도가 훨씬 빨라진다.
따라서, 본 발명의 메모리 제어부(410)는 이과 같은 명령어 처리순서를 직접 결정한다. 즉, 마스터 장치들로부터 입력된 명령어들의 순서가 1, 2, 3이라고 하여도, 메모리 제어부(410)가 판단하였을 때 명령어 1과 명령어 3의 메모리(420) 액세스 위치가 유사한 경우에는 명령어의 처리순서를 1, 3, 2로 결정하여 처리한다.
도 5는 본 발명의 메모리 제어부의 블록도이다.
메모리 제어부는 명령어 큐(510), 판단부(520) 및 명령어 해석부(560)를 구 비한다. 명령어 해석부(560)는 RAS 처리부(530), RAS 큐(540) 및 CAS 처리부(550)를 더 구비한다.
마스터 장치들로부터의 명령어들은 명령어 큐(510)에 순서대로 저장된다. 도 5의 예에서는 명령어의 입력순서가 1, 2, 3이라고 가정한다. 첫 번째 명령어가 RAS 처리부(530)로 입력되면, RAS 처리부(530)는 액세스할 메모리의 row address를 결정하는 RAS 신호를 만들어 출력한다. 그리고 이 첫 번째 명령어는 RAS 큐(540)로 전달된다. CAS 처리부(550)는 RAS 큐(540)에 저장된 첫 번째 명령어를 해석하여, 액세스할 메모리의 column address를 결정하는 CAS 신호를 만들어 출력한다. 이와 같이 RAS 처리후 CAS 처리를 수행한다. 그리고 CAS 처리부(550)에서는 첫 번째 명령의 프리차지를 수행한 다음 두 번째 명령어를 처리한다. 그러나 두 번째 명령어를 처리할 차례이지만, 세 번째 명령어가 첫 번째 명령어가 처리한 페이지와 같은 페이지의 메모리를 액세스하는 명령어이면 두 번째 명령어를 처리하지 않고 세 번째 명령어를 먼저 처리하도록 한다. 이 판단은 판단부(520)에서 수행한다. 그리고 세 번째 명령어와 첫 번째 명령어의 row address는 동일하므로 RAS 신호를 다시 생성할 필요가 없으므로 CAS 신호만을 다시 생성한다.
도 6은 복수개의 뱅크로 구성된 메모리의 구성도이다.
도 6의 예에서는 4개의 뱅크로 메모리가 구성되어 있으며, 따라서 서로 다른 뱅크를 액세스하는 경우에는 서로 독립적으로 동작할 수 있음을 알 수 있다. 예를 들어 뱅크 0의 row 5 페이지를 액세스하고 있는 동안에 뱅크 1의 row 10 페이지를 액세스할 수 있다. 다른 뱅크의 경우도 마찬가지이다.
도 7은 RAS 신호의 생성에 관한 상태도를 도시한 도면이다.
RAS idle 상태에서 명령어 큐가 비어있지 않고 동일한 뱅크가 아닌 위치의 메모리 액세스 명령인 경우에는, 명령어 큐의 명령어를 해석하여 RAS 신호를 생성하여 출력한 후 RAS idle 상태로 되돌아간다. Auto refresh time이 되면 AR 상태로 가서 Auto Refresh 신호를 생성하여 출력한다.
도 8은 CAS 신호의 생성에 관한 상태도를 도시한 도면이다.
CAS idle 상태에서 RAS 큐가 비어있지 않으면 명령어를 해석하여 CAS 신호를 생성한다. 버스트 모드인 경우에는 출력되는 데이터의 개수, 즉 버스트 크기만큼의 클럭후 프리차지 신호를 생성한다. 버스트가 끝나면 프리차지 신호를 생성하여야 하므로 PR 상태로 간다. PR 상태에서 RAS 큐가 비어있는 상태이면 프리차지를 수행한 후 다시 CAS idle 상태로 돌아가고, 명령어 큐에 저장된 다음 명령어가 이전 명령과 동일한 뱅크, 동일한 row address의 데이터를 액세스하는 명령어라면 다시 CAS 신호를 생성하여 출력한다.
도 9는 본 발명의 메모리 제어방법의 플로우차트이다.
복수개의 마스터 장치들로부터 복수개의 명령어들을 수신한다(S910). 수신된 명령어들의 메모리 액세스 위치의 유사성을 판단한다(S920), 즉, 처음 수행한 명령어가 액세스한 메모리의 뱅크 및 row address가, 그 이후에 수행할 명령어가 액세스하고자 하는 메모리와 동일한 뱅크 및 동일한 row address를 가진 명령어인가를 판단한다. 판단방법은 도 4를 참조하여 상술한 바와 같다. 그리고 나서 그에 맞게 명령어의 실행순서를 조정한다(S930).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
전술한 바와 같이 본 발명에 따르면, 현재 수행한 명령어가 액세스하는 메모리의 위치와 동일한 명령어를 먼저 수행하도록, 마스터 장치들로부터의 명령어 처리순서를 조정함으로써, 시스템의 크기를 크게 늘리지 않으면서 명령어 처리속도를 향상시킬 수 있다.
Claims (8)
- 적어도 하나의 마스터 장치들로부터의 메모리 액세스 명령들을 수신하여 저장하는 명령어 큐;상기 수신된 명령들이 액세스하고자 하는 메모리의 어드레스를 분석하여 그 연관관계에 따라, 상기 저장된 명령들의 처리순서를 조정하는 판단부; 및상기 판단부의 제어에 따라 출력된 명령어를 해석하여, 어드레스 관련 신호를 출력하는 명령어 해석부를 포함하되,상기 판단부는 상기 명령어 큐에 저장된 메모리 액세스 명령들 중, 상기 명령어 해석부에서 현재 처리중인 메모리 액세스 명령어와 동일한 뱅크의 동일한 페이지의 메모리 액세스 명령을 먼저 처리하도록 명령어 처리순서를 정하는 것을 특징으로 하는 메모리 제어장치.
- 제1항에 있어서,상기 마스터 장치들이 액세스하는 메모리는 DRAM인 것을 특징으로 하는 메모리 제어장치.
- 제2항에 있어서, 상기 명령어 해석부는상기 DRAM의 RAS 신호를 생성하는 RAS 처리부; 및상기 DRAM의 CAS 신호를 생성하는 CAS 처리부를 포함하는 것을 특징으로 하는 메모리 제어장치.
- 삭제
- (a) 적어도 하나의 마스터 장치들로부터의 메모리 액세스 명령들을 수신하여 저장하는 단계;(b) 상기 수신된 명령들이 액세스하고자 하는 메모리의 어드레스를 분석하여 그 연관관계에 따라, 상기 저장된 명령들의 처리순서를 조정하는 단계; 및(c) 상기 조정된 순서에 따라 출력된 명령어를 해석하여, 어드레스 관련 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 메모리 제어방법.
- 제5항에 있어서,상기 마스터 장치들이 액세스하는 메모리는 DRAM인 것을 특징으로 하는 메모리 제어방법.
- 제6항에 있어서, 상기 (b) 단계는상기 저장된 메모리 액세스 명령들 중, 현재 처리중인 메모리 액세스 명령어와 동일한 뱅크의 동일한 페이지의 메모리 액세스 명령을 먼저 처리하도록 명령어 처리순서를 정하는 것을 특징으로 하는 메모리 제어방법.
- 제6항에 있어서, 상기 (c) 단계는(c1) 상기 DRAM의 RAS 신호를 생성하는 단계; 및(c2) 상기 DRAM의 CAS 신호를 생성하는 단계를 포함하는 것을 특징으로 하는 메모리 제어방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040047623A KR100607987B1 (ko) | 2004-06-24 | 2004-06-24 | 명령어 스케줄링을 수행하는 메모리 제어장치 및 방법 |
US11/088,793 US20050289319A1 (en) | 2004-06-24 | 2005-03-25 | Memory control apparatus and method for scheduling commands |
CNA2005100775985A CN1713163A (zh) | 2004-06-24 | 2005-06-21 | 用于调度命令的存储器控制设备及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040047623A KR100607987B1 (ko) | 2004-06-24 | 2004-06-24 | 명령어 스케줄링을 수행하는 메모리 제어장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050122503A KR20050122503A (ko) | 2005-12-29 |
KR100607987B1 true KR100607987B1 (ko) | 2006-08-02 |
Family
ID=35507451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040047623A KR100607987B1 (ko) | 2004-06-24 | 2004-06-24 | 명령어 스케줄링을 수행하는 메모리 제어장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050289319A1 (ko) |
KR (1) | KR100607987B1 (ko) |
CN (1) | CN1713163A (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426132B2 (en) * | 2006-03-13 | 2008-09-16 | Himax Technologies, Inc. | Static random access memory device having a high-bandwidth and occupying a small area |
US8539309B2 (en) * | 2009-09-17 | 2013-09-17 | International Business Machines Corporation | System and method for responding to error detection |
US8615629B2 (en) | 2010-01-18 | 2013-12-24 | Marvell International Ltd. | Access scheduler |
US9424210B1 (en) * | 2010-10-22 | 2016-08-23 | Altera Corporation | SDRAM memory organization and efficient access |
JP5699854B2 (ja) * | 2011-08-15 | 2015-04-15 | 富士通株式会社 | 記憶制御システムおよび方法、置換方式および方法 |
KR102634776B1 (ko) * | 2016-06-15 | 2024-02-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10318187B2 (en) * | 2016-08-11 | 2019-06-11 | SK Hynix Inc. | Memory controller and memory system including the same |
CN116257191B (zh) * | 2023-05-16 | 2023-10-20 | 北京象帝先计算技术有限公司 | 存储器的控制器、组件、电子设备及命令调度方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63187349A (ja) | 1987-01-30 | 1988-08-02 | Hitachi Ltd | 記憶装置 |
KR920004971A (ko) * | 1990-08-23 | 1992-03-28 | 가나이 쯔또무 | 마이크로프로세서 및 데이타단위처리방법 |
JPH0816455A (ja) * | 1994-07-05 | 1996-01-19 | Fuji Electric Co Ltd | ダイナミックramの排他制御方法及び排他制御機構 |
JP2000066946A (ja) | 1998-08-17 | 2000-03-03 | Nec Corp | メモリコントローラ |
KR20000076584A (ko) * | 1999-02-03 | 2000-12-26 | 포만 제프리 엘 | 컴퓨터 프로세싱 시스템에서의 로드 연산을 재순서화하기위한 방법 및 장치 |
KR20020022068A (ko) * | 1999-06-14 | 2002-03-23 | 트랜스메타 코포레이션 | 향상된 마이크로프로세서에서의 스케줄링을 향상시키는방법 및 장치 |
JP2003263363A (ja) | 2002-03-08 | 2003-09-19 | Ricoh Co Ltd | メモリ制御回路 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000163969A (ja) * | 1998-09-16 | 2000-06-16 | Fujitsu Ltd | 半導体記憶装置 |
CA2340804A1 (en) * | 2001-03-14 | 2002-09-14 | Atmos Corporation | Sram emulator |
US7069399B2 (en) * | 2003-01-15 | 2006-06-27 | Via Technologies Inc. | Method and related apparatus for reordering access requests used to access main memory of a data processing system |
US7181584B2 (en) * | 2004-02-05 | 2007-02-20 | Micron Technology, Inc. | Dynamic command and/or address mirroring system and method for memory modules |
-
2004
- 2004-06-24 KR KR1020040047623A patent/KR100607987B1/ko not_active IP Right Cessation
-
2005
- 2005-03-25 US US11/088,793 patent/US20050289319A1/en not_active Abandoned
- 2005-06-21 CN CNA2005100775985A patent/CN1713163A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63187349A (ja) | 1987-01-30 | 1988-08-02 | Hitachi Ltd | 記憶装置 |
KR920004971A (ko) * | 1990-08-23 | 1992-03-28 | 가나이 쯔또무 | 마이크로프로세서 및 데이타단위처리방법 |
JPH0816455A (ja) * | 1994-07-05 | 1996-01-19 | Fuji Electric Co Ltd | ダイナミックramの排他制御方法及び排他制御機構 |
JP2000066946A (ja) | 1998-08-17 | 2000-03-03 | Nec Corp | メモリコントローラ |
KR20000076584A (ko) * | 1999-02-03 | 2000-12-26 | 포만 제프리 엘 | 컴퓨터 프로세싱 시스템에서의 로드 연산을 재순서화하기위한 방법 및 장치 |
KR20020022068A (ko) * | 1999-06-14 | 2002-03-23 | 트랜스메타 코포레이션 | 향상된 마이크로프로세서에서의 스케줄링을 향상시키는방법 및 장치 |
JP2003263363A (ja) | 2002-03-08 | 2003-09-19 | Ricoh Co Ltd | メモリ制御回路 |
Non-Patent Citations (2)
Title |
---|
1019920004971 * |
63187349 * |
Also Published As
Publication number | Publication date |
---|---|
KR20050122503A (ko) | 2005-12-29 |
US20050289319A1 (en) | 2005-12-29 |
CN1713163A (zh) | 2005-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1560123B1 (en) | Information processing apparatus and method of accessing memory | |
US6615326B1 (en) | Methods and structure for sequencing of activation commands in a high-performance DDR SDRAM memory controller | |
US20050268024A1 (en) | Memory controller for use in multi-thread pipeline bus system and memory control method | |
US10725698B2 (en) | Memory controller and control method thereof | |
JPH0963264A (ja) | 同期型dram | |
US20050289319A1 (en) | Memory control apparatus and method for scheduling commands | |
JPH11134243A (ja) | 記憶装置の制御装置及びデータ処理システムにおける記憶装置の制御方法 | |
KR100914017B1 (ko) | 메모리 컨트롤러, 반도체 메모리의 액세스 제어 방법 및시스템 | |
JPH11224221A (ja) | メモリ制御装置および方法 | |
US20050182868A1 (en) | Apparatus and method for controlling memory | |
KR100831491B1 (ko) | 어드레스 디코드 | |
KR20050081498A (ko) | 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치 | |
JP4071930B2 (ja) | シンクロナスdram | |
US6094397A (en) | Method and apparatus for addressing multi-bank memory | |
JP4561089B2 (ja) | 記憶装置 | |
US6141727A (en) | Device and method for controlling data storage device | |
US12026107B2 (en) | Mitigating interference between commands for different access requests in LPDDR4 memory system | |
JPH01195552A (ja) | メモリアクセス制御方式 | |
JPH10187119A (ja) | 表示制御装置 | |
JP2001282612A (ja) | メモリコントローラ | |
JPH08249289A (ja) | メモリ制御装置およびその制御方法 | |
US20110066797A1 (en) | Memory system | |
JP2023127985A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP4383495B2 (ja) | 半導体集積回路 | |
JP3314395B2 (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 |