KR100297895B1 - 동기식 dram-타입 메모리와 시스템 버스간의 데이터 전송을 제어하는 방법 및 장치 - Google Patents

동기식 dram-타입 메모리와 시스템 버스간의 데이터 전송을 제어하는 방법 및 장치 Download PDF

Info

Publication number
KR100297895B1
KR100297895B1 KR1019997006027A KR19997006027A KR100297895B1 KR 100297895 B1 KR100297895 B1 KR 100297895B1 KR 1019997006027 A KR1019997006027 A KR 1019997006027A KR 19997006027 A KR19997006027 A KR 19997006027A KR 100297895 B1 KR100297895 B1 KR 100297895B1
Authority
KR
South Korea
Prior art keywords
data
syncdram
page
read
address
Prior art date
Application number
KR1019997006027A
Other languages
English (en)
Other versions
KR20000069848A (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 피터 엔. 데트킨
Publication of KR20000069848A publication Critical patent/KR20000069848A/ko
Application granted granted Critical
Publication of KR100297895B1 publication Critical patent/KR100297895B1/ko

Links

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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

동기식 DRAM(syncDRAM 12)에 대한 인터페이스(26)와 방법이 수행을 개선하도록 제공된다. syncDRAM(12)의 판독 동작은 예측 판독 방법을 사용하는 syncDRAM에서의 데이터의 새로운 페이지를 오픈하는 단계를 제거함으로써 속도를 상당히 향상시킨다. 이것은 데이터 요청에 응답하여 명령 생성기(28)를 구비한 syncDRAM의 정보의 페이지를 오픈하기 위한 능력을 제공한다. 예측 판독 논리(34)는 또한 제 2 판독 요청이 발생할때까지 유효하지 않은 어드레스를 갖는 페이지로부터 판독을 계속하는 것이 포함된다. 따라서, 다음의 판독 요청이 이전 요청과 같이 동일한 페이지에 위치된 데이터를 요청하는 것이 발생하는 경우에, 데이터는 우선 SCS#과 SCAS#을 표명하지 않고 페이지상의 위치로부터 색인되고 판독될 수 있다. 이것은 종종 판독 프로세스로부터 페이지를 오픈하는 단계를 제거하고 시간 초과에 대하여 컴퓨터 시스템에서 모든 syncDRAM(12)를 판독하는데 속도를 상당히 향상시킬수 있다.

Description

동기식 DRAM-타입 메모리와 시스템 버스간의 데이터 전송을 제어하는 방법 및 장치{METHOD AND APPARATUS FOR CONTROLLING DATA TRANSFER BETWEEN A SYNCHRONOUS DRAM-TYPE MEMORY AND A SYSTEM BUS}
종래의 중앙 처리 장치(CPU) 디자인에 있어서, 데이터가 CPU내로 전송되는 속도는 한정 명령 세트 컴퓨터(RISC) 구조와 심지어 파이프라인의 확장에 기인하여 빠르게 증가해 왔다. 그러나, CPU 개발과는 달리, 다양한 타입의 메모리의 개발은 메모리의 비트당 비용은 감소시키고 속도는 감소하지 않도록 하기 위하여 미디어 밀도를 증가시키는 것에 집중되어 왔다. 이러한 상이한 점은 작은 저 비용 시스템을 요구하는 메모리 대역폭에 있어서 불균형을 가져 왔다. 메모리 대역폭을 개선하기위한 외부 인터리빙은 이러한 문제를 극복하기 위해 사용되었지만 실패했다. 외부 인터리빙은 비동기 인터페이스, 높은 타이밍 마진, 높은 데이터 속도, 및 제어신호, 어드레스와 입력/출력에 대한 레지스터의 부족에 기인하여 바람직하지 않은 옵션이 되었다. 또한 부가적인 글르(glue) 논리와 주어진 대역폭이 요구되는 총 메모리 밀도에 기인하여 외부 인터리빙의 비용은 높다. 이러한 불균형때문에syncDRAM 타입 메모리 유닛에 대한 필요성이 발생된다.
syncDRAM은 저 비용과 높은 대역폭 메모리 구조를 갖는 광범위한 메모리 밀도를 제공한다. 더우기, syncDRAM은 주기억장치, 주변장치, 그래픽, 및 비디오같은 다양한 응용을 지원할 수 있다.
syncDRAM은 대기 시간, 버스트 길이 및 버스트 타입같은 프로그램가능한 특성을 갖는 광범위한 응용을 위해 디자인된다. syncDRAM은 단일 또는 이중 뱅크 고주파와 저 전력 동작을 지원할 수 있다.
syncDRAM에 의해 제공된 중요한 특성은 '버스트'라 불리우는 다중 블록으로 즉시 액세스한다는 것이다. 버스트 길이는 판독 또는 기록 사이클 각각의 출력 또는 입력될 워드 수를 말한다. 판독 버스트가 종료된 후에, 출력 버스는 고 임피던스가 될 것이다. 버스트 길이는 1, 2, 4 또는 8 워드로, 또는 전 페이지로 프로그램가능하다. 이러한 정보의 버스트를 액세스하기 위한 CPU의 능력은 메모리의 더 넓은 대역폭에 CPU가 액세스하게 한다.
syncDRAM은 더 진보된 특성을 갖는 프로세서 DRAM에 유사하게 동작한다. 종래의 DRAM과는 달리, syncDRAM은 페이지 모드일때 전 페이지의 버스트를 수신지 유닛에 전송할 수 있는 단일 사이클에서 직렬로 0 에서 8 워드 데이터의 버스트를 제공할 수 있다. 전형적인 시퀀스에서, 컴퓨터 시스템의 마이크로프로세서는 시스템 버스를 통하여 판독 또는 기록 요청을 메모리 제어로 송신한다. 메모리 제어는 실행하기 위하여 DRAM 버스를 통하여 syncDRAM으로 전송되는 신호를 생성할 것이다. 일단 명령이 syncDRAM에 의해 수신되면, syncDRAM은 데이터를 전송하기 위한 프로그램된 시퀀스를 진행할 것이다.
syncDRAM은 데이터가 전송될 수 있기전에 종래의 DRAM같이 전원-온 시퀀스에 초기화되어야 한다. 초기화동안, syncDRAM 내부 클록과 데이터 마스크는 시퀀스동안 syncDRAM으로 데이터를 기록하는 것을 피하도록 활동화되어야 한다. 전형적으로 초기 시퀀스가 시작된 후에 syncDRAM에 의해 조작되는 명령을 수행하는 100미리초 지연이 있다. 명령을 표명할때, 칩 인에이블은 명령이 실행을 위해 syncDRAM에 의해 인식되도록 표명되어야 한다. syncDRAM 내부에서, 실행된 명령은 내부 클록의 상승 에지에 상응한다. 명령이 syncDRAM에 송신될때, 클록 인에이블 신호(CE)는 syncDRAM이 명령을 수신하고 다음 클록 사이클의 타당성을 결정하는 것을 가능하게 한다. 클록 인에이블이 하이이면, 다음의 클록 상승 에지는 유효하고, 그렇지 않다면 유효하지 않다. 클록 상승 에지가 유효하지 않으면, 내부 클록은 표명되지 않고 syncDRAM에서의 동작은 중단된다. 종래의 사용에서, 명령이 데이터를 전송하기 위해 syncDRAM에 표명될때마다, 칩은 칩 선택을 사용하여 초기화되어야 하고 클록은 명령이 syncDRAM에 의해 인식되도록 동일한 클록에서 인에이블되어야 한다.
일단 칩이 칩 인에이블과 클록 인에이블 명령의 동시 표명으로 초기화되면, 데이터 전송은 시작될 수 있다. 어드레스가 유효할때, 페이지 히트가 발생하고 다음에 syncDRAM은 데이터를 전송하려고 한다. 페이지는 다음에 특정 데이터가 전송되도록 색인된다. 어드레스 요청이 유효하지 않으면, 페이지 미스가 발생하고 다음에 새로운 페이지가 요청된 데이터를 적절하게 위치결정하기 위해 오픈되어야 한다.
사전설정 버스트 속도에 따라, 다음에 직렬의 워드는 기록 요청에 응답하여 syncDRAM으로 전송되고 또는 판독 요청에 응답하여 syncDRAM으로부터 전송된다. 판독 또는 기록 요청에서 데이터가 전송될 준비가 되지 않은 경우에, syncDRAM은 데이터의 준비에 관계없이 버스트의 데이터를 계속하여 전송한다. 판독 요청의 경우에, 데이터는 일단 초기화된 초기 버스트 시작 어드레스로부터 계속해서 판독된다. 버스트 시작 어드레스로부터 워드의 초기 전송의 다음에, syncDRAM의 내부 어드레스 증분기는 버스트 시작 어드레스 다음의 실행 워드를 데이터 통로 컨트롤러가 수용할 준비가 되어 있는지 아닌지를 DRAM에 의해 사전설정된 버스트 길이의 끝까지 위로 전송하기 위해 판독 포인터를 증분한다.
유사하게, 기록 시퀀스동안, 초기 워드가 버스트 시작 어드레스로 전송된 후에, 내부 증분기는 다음에 데이터가 송신 디바이스에 준비가 되어 있는지에 관계없이, 버스트 시작 어드레스 다음의 실행 워드를 다음의 어드레스로 수신하기 위해 내부 어드레스를 증분한다. 데이터 통로 컨트롤러(18)는 데이터가 전송될 것인지를 결정한다.
동작에서, syncDRAM은 CPU로부터 데이터 전송 요청에 응답하여 메모리 제어 유닛으로부터의 명령에 의해 인에이블될 수 있다. syncDRAM은 데이터가 판독되고 기록되는 것으로부터 내부적으로 어드레스를 래칭하는 것을 포함하는 초기 프로세스와 응답한다. 버스트의 데이터가 요청될때마다, syncDRAM은 데이터가 판독 되거나 또는 기록되는 것으로부터 어드레스를 액세스하기 위해 초기 시퀀스를 끝내야한다. 초기 프로세스를 종료하기 위해 걸리는 시간은 데이터를 액세스하기에 필요한 전부의 메모리 검색 시간을 부족하게 할 것이다.
따라서, 데이터 검색 사이클을 초기화하는데 걸리는 시간을 줄임으로써 syncDRAM을 액세스하는데 걸리는 시간을 줄여 충분한 syncDRAM 메모리 속도를 더 향상시키는 것은 컴퓨터 산업에 유용하게 사용될 것이다. 이벤트 데이터가 전송될 준비가 되지 않는 경우에, 종래의 구현은 데이터가 준비될때 데이터를 syncDRAM으로 전송하고 데이터를 syncDRAM로부터 판독하기 위한 제 2 요청을 요구한다. 이것은 syncDRAM을 초기화하고 페이지를 다시 오픈하는 것을 요구하는 다음의 판독 또는 기록 요청을 요구한다.
syncDRAM으로부터 판독하는 동작은 특히 syncDRAM을 초기화하는 것 뿐만 아니라 특정한 데이터가 위치된 페이지상의 위치와 특정한 페이지를 오픈하는 것을 요구한다. 판독 동작에서의 하나 이상의 이러한 단계를 제거하는 것은 판독 동작의 속도를 상당히 향상할 수 있고, 따라서 컴퓨터 시스템에 데이터를 상당히 더 빠르게 이용가능하게 한다. 보여지는 바와 같이, 일 실시예에서의 본 발명은 간단하고 정연한 내용으로 상기의 내용을 달성한다.
발명의 개요
일 실시예에서, 본 발명은 수행을 개선하는 동기식 DRAM(syncDRAM)에 대한 인터페이스 및 방법을 제공한다. 일 실시예에서, syncDRAM에서의 판독 동작은 이론적인 판독 방법을 사용하는 syncDRAM에서 데이터의 새로운 페이지를 오프닝하는 단계를 제거함으로써 속도가 상당히 향상된다. 실시예는 데이터 요청에 응답하여 명령 생성기를 구비한 syncDRAM에서 정보의 페이지를 오픈하기 위한 능력을 제공한다. 이론적인 판독 논리는 또한 제 2 판독 요청이 발생할 때까지 유효하지 않은 어드레스를 갖는 페이지로부터 계속하여 판독하는 장치에 포함된다. 따라서, 다음의 판독 요청이 이전 요청에서 동일한 페이지상에 위치된 데이터를 요청하는것이 발생하는 경우에, 데이터는 SCS#과 SCAS#을 먼저 표명하지 않고 페이지상의 위치로부터 판독되고 색인될수 있다. 이것은 종종 판독 프로세스로부터 페이지를 오프닝하는 단계를 제거하고 컴퓨터 시스템의 전체 syncDRAM 판독 속도를 상당히 향상시킬 수 있다.
본 발명은 일반적으로 컴퓨터 시스템의 데이터 통신에 관한 것이고, 더 상세하게, 동기식 DRAM(SyncDRAM) 타입 메모리에 관한 것이다.
도 1은 종래 기술의 메모리 제어를 사용하는 컴퓨터 시스템의 일반적인 블록도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 제어와 syncDRAM를 사용하는 컴퓨터 시스템의 일반적인 블록도이다.
도 3은 본 발명의 일 실시예에 따른 주 메모리 컨트롤러와 syncDRAM 인터페이스의 일반적인 블록도이다.
도 4는 본 발명의 일 실시예의 기능적 태양을 설명하는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 판독 요청을 사용하는 명령을 도시하는 시간도이다.
도면의 도 2 내지 도 5는 설명을 목적으로 본 발명의 다양한 실시예를 개시한다. 여기에 설명되고 청구하는 구조 및 방법에 의해 설명되는 발명의 원리를 벗어나지 않고 대체 실시예가 사용될 수 있다는 것을 해당분야에 능숙한 당업자는 이해할 것이다.
본 발명은 동기식 DRAM 타입 메모리(syncDRAM)와 시스템버스간의 데이터 전송을 제어하는 방법 및 장치를 제공한다. 도 1에서 볼수있는 바와 같이, 종래의 컴퓨터 시스템은 시스템 버스(20)와 통신하는 하나이상의 마이크로프로세서(10)를 구비할 수 있다. 종래의 컴퓨터 시스템은 syncDRAM 메모리를 포함할 수 있는 다양한 메모리 뱅크를 더 포함한다. 마이크로프로세서는 메모리 제어(14)를 통하여 syncDRAM 메모리(12)와 통신한다. 데이터가 하나의 마이크로프로세서로부터 syncDRAM(12)으로 전송되도록하는 데이터통로(16)와, 데이터통로(16), 시스템 버스(20) 및 궁극적으로 syncDRAM 메모리(12)와 통신하는 DRAM 버스(22)사이에 인터페이스를 제공하는 데이터 통로 컨트롤러(18)가 메모리 제어에 포함된다.
도 2에 도시된 본 발명의 일 실시예에서, 확장 메모리 제어(24)는 시스템 버스(20)와 syncDRAM(12)사이의 판독 사이클동안 특정한 제어를 제공하는 포함된 syncDRAM 인터페이스(26)을 구비한 종래 메모리 제어와 유사하게 동작한다. syncDRAM 인터페이스(28)는 데이터 통로 컨트롤러(18)와 통신하고, syncDRAM(12)과 통신하는 DRAM 버스(22)와 통신하는 것을 볼 수 있다.
더 상세한 syncDRAM 인터페이스(26)를 도 3에서 볼 수 있다. 인터페이스(26)는 메모리 콘트롤러(18) 및 DRAM 버스(22)와 통신하는 명령 생성기(28), 메모리 컨트롤러(18), 명령 생성기(28), DRAM 버스(22)와 통신하는 어드레스 증분 논리(30),및 데이터 통로 컨트롤러(18), 어드레스 증분 논리(30), 명령 생성기(28) 및 DRAM 버스(22)와 통신하는 마스크 생성기(32)를 포함한다.
명령 생성기(28)는 행 어드레스 스트로브(RAS#), 열 어드레스 스트로브(CAS#) 및 기록 인에이블(WE#)을 포함하는 도 2의 syncDRAM(12)를 제어하기 위하여 명령을 발생하도록 구성된다. syncDRAM의 칩 선택(CS#)은 내부적으로 종래의 syncDRAM 구성으로 제어되고 각 데이터를 syncDRAM에 액세스하면서 활동화된다. 그러나 본 발명의 일 실시예에서, CS#는 판독 시퀀스동안 외부적으로 액티브 로우로 유지된다. 이것은 아래에 더 상세히 설명되는 바와 같이 데이터의 이론적인 판독을 가능하게 한다. 이것은 종래 구현의 syncDRAM에 의해 인식되는 표준 명령이다. 이 명령은 종래의 DRAM과 유사하지만, 부가적인 기능을 갖고 있다. DRAM과 syncDRAM이 단일 컴퓨터 시스템의 다른 타입의 메모리사이에 구현되는 시스템에서, 이러한 명령은 명령을 시스템의 syncDRAM과 특별히 결합하기 위하여 각각 SRAS#, SCAS#, SWE# 및 SCS#으로 구별될 수 있다.
syncDRAM 인터페이스(26)는 주 메모리 제어로부터 수신된 어드레스를 유지함으로써 버스트동안 syncDRAM의 증분된 내부 어드레스의 계정을 유지하는 어드레스 증분 논리(30)를 포함한다. 이러한 기능은 아래에서 더 상세하게 설명될 것이다.
syncDRAM 인터페이스의 개별 메카니즘이 블록도로 도 3에 추상적으로 도시되었음에도 불구하고, 이러한 개별 메카니즘은 마이크로프로세서 또는 컨트롤러와 결합하여 사용되는 소프트웨어뿐만 아니라 하드웨어 형태의 논리 회로를 사용함으로써 구현될 수 있다. 컴퓨터 디자인 기술에 능숙한 당업자는 syncDRAM과 인터페이싱하는 논리 회로를 구현하기 위한 많은 이용가능한 방법을 갖는다. 그러나, 본 발명은 아래의 청구 범위내에 구속되는 하나의 특정한 구성으로 제한되지는 않는다.
상기에 설명된 본 발명의 실시예의 상세한 설명은 도 4의 흐름도로 도시되는 바와 같이 기능에 의해 최선으로 설명된다. 도 4는 판독 요청의 경우에 시간에 관하여 syncDRAM에서 실행되는 명령 시퀀스를 도시하는 도 5의 두개의 시간도와 결합하여 설명될 것이다.
우선 도 4의 제 1 스테이지(35)에서, 메모리 제어는 사이클이 준비되었는지를 결정한다. 제 2 스테이지(36)는 syncDRAM 버스트가 요청되는지를 결정한다. 인터페이스가 응답하기 위하여, 제 1 요청은 우선 syncDRAM 메모리로부터 데이터 전송을 시작하기 위해 시스템을 통하여 송신되어야 하고, 제 1 요청은 시스템의 마이크로프로세서로부터 발생하는 판독 또는 기록 요청이며, syncDRAM을 초기화하기 위해 시스템 버스와 주 메모리 컨트롤러를 통하여 송신된다. 버스트가 데이터의 거의 한 워드가 될 수 있다는 것을 주목하는 것이 중요하다. 일단 준비가 되면, 데이터 검색 프로세스는 칩 인에이블(37)을 시작하고, 다음에 컴퓨터 시스템으로부터 syncDRAM 인터페이스로 초기 판독 데이터 요청(38)을 계속한다. 다음 단계(39)는 새로운 페이지를 오픈한다. 이 단계에서, 칩 선택(SCS#)과 행 어드레스 스트로브(SRAS#)가 표명되고 로우를 유지하며, 열 어드레스 스트로브(SCAS#)는 표명되지 않고 하이를 유지한다. 이 단계는 페이지 어드레스가 syncDRAM에 이용가능하고 유효하다는 것을 가정한다. 다음 단계(46)는 데이터가 위치된 오픈 페이지를 색인한다. 이 단계에서, 버스(SCS# 과 SCAS#)가 표명되고 색인 어드레스가 어드레스(MA)상에 이용가능한 동안 로우로 유지된다.
다음 단계(48)는 시스템이 데이터 버스(MD)상에 이용가능할때 이용가능한 데이터를 샘플링하는 것을 가능하게 한다. 일단 데이터가 시스템에 의해 샘플링되면, 다음 단계(50)는 로우로 표명된 SCS#와 SCAS#를 유지함으로써 다음 어드레스를 대기하는 동안 페이지 오픈을 유지한다. 이것은 페이지를 오픈할때 전형적으로 SCS# 와 SCAS#를 펄싱하는 종래의 syncDRAM의 응용과는 구별된다. 종래의 방법은 SCS#과 SCAS#이 새로운 판독이 오픈 페이지로 초기화될때 단지 표명되는 것을 요구한다. 다음 데이터 어드레스는 단계(52)에서 수신된다.
다음은 새로운 데이터 요청에 대한 새로운 어드레스가 이전 요청에서와 동일한 페이지상에 있는지를 결정하는 질의 단계(54)이다. 본 발명에 따라, 다음 어드레스가 이전 요청에서와 동일한 오픈 페이지상에 발생한다면, syncDRAM 인터페이스는 다음 어드레스가 단계(46)로 되돌아감으로써 어드레스 버스(MA)상에 이용가능할때 SCS#과 SCAS#을 유지함으로써 동일한 페이지를 단순하게 색인한다. 다른 한편으로, 다음 어드레스가 이전 요청에서와 동일한 페이지상에 위치하지 않으면, 시스템은 단계(39)로 돌아가 SCAS#은 표명하지 않고 SCS#은 표명하며 SRAS#은 로우로 함으로써 새로운 페이지를 오픈한다. 새로운 페이지는 페이지 어드레스가 어드레스 버스(MA)상에 이용가능할때 오픈한다. 일단 사이클이 종료되면, 시퀀스는 새로운 사이클을 위해 단계(35)로 돌아간다.
도 5를 이제 언급하면, 종래 기술의 경로지정 명령 시퀀스와 본 발명의 일 실시예에 따른 새로운 시퀀스사이의 대조를 볼수있다. 명료하게 설명할 목적으로,또한 클록은 메모리 클록과 동기를 맞춘 각 신호의 상승 에지를 지시한다. 마지막으로 도 5의 시간도는 클록 인에이블(CKE) 신호가 판독 시퀀스동안 계속해서 표명된다.
우선 종래 기술의 시퀀스(70)를 언급하면, 클록수 1상에 발생하는 초기 단계는 어드레스가 어드레스 버스(MA)상에 이용가능할때 SCS#신호(72)와 SRAS#신호(74)가 함께 액티브로 표명되는 페이지 오픈 단계이다. 데이터는 클록 사이클 4에서 SCAS# 신호(78)을 따라 SCS# 신호(72)를 다음에 표명함으로써 syncDRAM의 오픈 페이지상에 색인된다. 열 어드레스 스트로브가 이제 데이터를 지적하면, 다음에 시스템이 데이터(D0')를 샘플링하고 판독하는 클록(6)상에 데이터가 이용가능하다.
제 2 요청이 발생하고 데이터가 동일한 페이지상에 위치되면, SCS#신호(72)와 SCAS#신호(78)은 클록수(10)상에 데이터(D1')의 제 2 블록을 주는 클록수(8)상에 액티브가 다시 펄싱된다. 두 데이터 요청에 따라, 데이터는 SCS#(72)와 SCAS#(78)이 표명된 후에 시스템 두 클록 사이클에 의해 샘플링이 가능하다. 다시, 제 2 요청에 대해서, 페이지가 클록 8에 색인되고 데이터가 두 클록 후에 데이터 버스(MD 80)상에 이용가능하도록 하기 위해 데이터에 대한 어드레스는 클록 8 에서 어드레스 버스(MA 76)상에 이용가능해야 한다.
이제 새로운 시퀀스(90)를 언급하면, 제 1 페이지가 종래 기술과 동일한 방법으로 오픈되는 것을 볼수있다. 종래 기술에서와 같이, 본 발명에 따른 새로운 정보는 페이지 어드레스가 어드레스 버스(MA 96)상에 이용가능한 동안 SRAS#(94)를 따라 SCS#(92)를 표명한다. 페이지는 다음에 색인 어드레스(A0)가 클록 사이클(4)에서 어드레스 버스(MA 98)상에 이용가능할때 SCAS# 신호(96)를 따라 SCS# 신호(92)를 표명함으로써 색인된다. 데이터(D0)는 다음에 시스템이 샘플링하기 위해 두 클록후에 데이터 버스(100)상에 이용가능하다.
본 발명에 따른 이러한 새로운 시퀀스에서, SCS#(92)와 SCAS#(96)은 새로운 어드레스가 어드레스 버스(MA 98)상에 이용가능할때까지 로우를 표명함으로써 액티브가 유지된다. 클록 7에서 어드레스 버스(MA 98)상에 이용가능하게 된 다음 어드레스(A1)는 다음에 두 클록 후인 클록수 9에 데이터 버스(MD 100)에 데이터를 준다. 종래 기술 시퀀스와 비교하여 볼수있는 바와 같이, D1은 종래 기술 시퀀스(70)의 D'1보다 한 클록 먼저 이용가능하다. 이것은 색인 어드레스가 이전에 색인된 어드레스와 동일한 페이지상에 있는 경우에 세이브가 인식되는 것이다.
통계적으로, 이것은 전형적인 시스템에서 50% 정도의 판독 시퀀스로 발생하고, 메모리 판독동안 상당한 양의 시간을 절약할 수 있다.
예측 판독이 시도되고 다음 어드레스 요청이 상이한 페이지상에 위치한 데이터에 적합한 경우에, 페이지 미스가 발생하여야 하고, 새로운 페이지가 오픈되어야 한다. 이 경우에, SCS# 신호(92)는 동작 상태로 유지되고, SRAS# 신호(94)는 새로운 페이지로 액세스하기 위해 동작상태로 펄스를 발생시킨다. 다음 어드레스는 이전 데이터 판독으로부터 3개의 클록을 발생시키는 데이터를 주는 다음 클록상에 색인될 수 있다. 이것은 정확히 페이지 미스의 경우에 종래의 시퀀스(70)에 발생할 수 있는 것이다.
따라서, 두 개의 연속 어드레스가 동일 페이지상에 발생하는 곳에서 페이지히트가 발생하는 경우에, 하나의 클록이 세이브된다. 반면에, 두 개의 연속 어드레스가 상이한 페이지상에 위치한 곳에서 페이지 미스가 발생하는 경우에, 종래의 시퀀스(70)와 비교하여 데이터를 검색할 때 시간이 소모되지 않는다. 환언하면, 연속의 데이터 요청이 syncDRAM의 공통 페이지상에 위치한 데이터에 대하여 발생하면, 일 클록이 세이브된다. 역으로, 연속의 데이터 요청은 상이한 페이지상에 위치한 데이터에 대하여 발생하면, 단일 클록 사이클은 종래의 시퀀스(70)와 동일한 시간에 데이터에 액세스하고, 데이터를 검색하는데 필요하다.
상기 명세서로부터, 본 발명은 동기식 DRAM형 메모리와 시스템 버스간의 데이터 전송을 제어하는 새롭고 이로운 방법과 장치를 제공한다는 것은 분명할 것이다. 당업자는 본 발명은 근본적인 특징과 사상에서 벗어나지 않고 다른 특정 형태로 포함될 수 있다는 것을 알 것이고, 따라서, 상기 실시예는 본 발명의 범위를 제한하는 것은 아니다. 다음 청구 범위는 본 발명의 범위를 나타내는 것이고, 청구 범위와 의미내에서의 모든 변경은 그 범위내에 포함되어야 한다.

Claims (8)

  1. 예측 판독 논리 회로, 칩 선택 입력, 행 어드레스 스트로브(SRAS), 및 열 어드레스 스트로브(SCAS)를 구비한 동기식 동적 랜덤 액세스 메모리(syncDRAM), 프로세서, 및 명령 생성기와 예측 제어 논리 회로를 구비한 메모리 컨트롤러를 구비한 컴퓨터 시스템에서, syncDRAM으로부터 데이터를 선택적으로 판독하는 방법에 있어서,
    (a) 동기식 DRAM 컨트롤러에 의해 판독 요청을 수신하는 단계;
    (b) syncDRAM 인터페이스로 데이터를 판독하기 위해 syncDRAM을 초기화하는 단계;
    (c) 메모리 컨트롤러로 데이터의 새로운 페이지를 오픈하는 단계;
    (d) 메모리 컨트롤러로 데이터의 오픈된 페이지내의 데이터를 색인하는 단계;
    (e) 컴퓨터 시스템으로 색인 데이터를 샘플링하는 단계;
    (f) 메모리 컨트롤러로 표명된 SCS#와 SCAS# 신호를 유지하는 단계;
    (g) syncDRAM내의 데이터와 관련된 어드레스를 가진 새로운 데이터 요청을 수신하는 단계;
    (h) 데이터 요청이 오픈된 현재의 페이지에 위치한 데이터에 적합하다면, 단계(d)로 되돌아가는 단계; 및
    (i) 데이터 요청이 현재 페이지와 다른 페이지에 위치한 데이터에 적합하다면, 단계(c)로 되돌아가는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, syncDRAM내의 새로운 페이지를 오픈하는 단계는, 유효 어드레스 위치가 이용가능한 동안에 syncDRAM의 SRAS와 칩 선택 입력부를 활성화함으로써 완성되는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 오픈된 현재 페이지를 유지하는 단계는, 유효 어드레스가 예측 판독 논리 회로를 사용하여 이용가능한 동안에 새로운 판독 요청은 syncDRAM에 의해 수신될 때까지 칩 선택 입력부와 SCAS를 계속해서 활성화함으로써 완성되는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서, 각각의 단계동안에 클록 인에이블(CKE)을 표명하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 동기식 동적 랜덤 액세스 메모리(syncDRAM) 컨트롤러에 있어서, syncDRAM에 저장된 데이터의 페이지를 오픈하기 위한 명령을 발생시키도록 구성된 명령 생성기와, 다음의 판독 요청이 데이터의 오픈된 페이지상에 위치한 데이터에 대하여 일어나는 경우에, 데이터가 먼저 페이지를 오픈하지 않고 판독될 수 있도록 제 2 판독 요청이 일어날 때까지, 데이터의 오픈된 페이지가 오픈된 상태를 유지하도록 구성된 예측 판독 논리 회로를 포함하는 것을 특징으로 하는 syncDRAM 컨트롤러
  6. 제 5 항에 있어서, 예측 판독 논리 회로는 다음의 판독 요청이 오픈된 페이지상에 위치되지 않은 데이터에 적합한 경우에 새로운 페이지를 오픈하도록 추가로 구성된 것을 특징으로 하는 syncDRAM 컨트롤러.
  7. 데이터 프로세서;
    시스템 데이터 버스;
    시스템 클록;
    얼마나 많은 블록의 데이터가 syncDRAM으로부터 연속적으로 전송될 수 있는지를 나타내는 소정의 버스트 속도를 가지며, 시스템 클록에 대응하는 마스터 클록, syncDRAM이 입력 명령을 인식하는지 여부를 제어하는 칩 선택부, 내부 어드레스 상수를 유지하는 어드레스 래치, 내부 어드레스 증분기, 및 syncDRAM내의 어드레스로부터 전송되는 것으로부터 데이터를 외부로 마스킹할 수 있는 마스크를 구비한 동기식 DRAM 유형의 메모리(syncDRAM);
    시스템 버스와 syncDRAM간의 데이터 전송을 제어하는 데이터 통로 컨트롤러; 및
    syncDRAM에 저장된 데이터의 페이지를 오픈하기 위한 명령을 발생시키도록 구성된 명령 생성기와, 다음의 판독 요청이 데이터의 오픈된 페이지상에 위치한 데이터에 적합하게 발생하는 경우에, 데이터가 SCS#와 SCAS#를 표명하지 않고 판독될 수 있도록, 제 2 판독 요청이 발생할 때까지, 표명된 SCS#와 SCAS#를 오픈 상태로 유지하도록 구성된 예측 판독 논리 회로를 포함하는 syncDRAM 컨트롤러;를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  8. 제 7 항에 있어서, 예측 판독 논리 회로는 다음의 판독 요청이 오픈된 페이지상에 위치하지 않은 데이터에 적합한 경우에, 새로운 페이지를 오픈하도록 추가로 구성된 것을 특징으로 하는 syncDRAM 컨트롤러.
KR1019997006027A 1997-01-02 1999-07-01 동기식 dram-타입 메모리와 시스템 버스간의 데이터 전송을 제어하는 방법 및 장치 KR100297895B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/735,433 1997-01-02
US08/735,433 US6148380A (en) 1997-01-02 1997-01-02 Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
US8/735,433 1997-01-02

Publications (2)

Publication Number Publication Date
KR20000069848A KR20000069848A (ko) 2000-11-25
KR100297895B1 true KR100297895B1 (ko) 2001-11-03

Family

ID=24955784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997006027A KR100297895B1 (ko) 1997-01-02 1999-07-01 동기식 dram-타입 메모리와 시스템 버스간의 데이터 전송을 제어하는 방법 및 장치

Country Status (8)

Country Link
US (1) US6148380A (ko)
EP (1) EP1012687B1 (ko)
KR (1) KR100297895B1 (ko)
AU (1) AU7892798A (ko)
DE (1) DE69732377T2 (ko)
HK (1) HK1030817A1 (ko)
TW (1) TW377419B (ko)
WO (1) WO1998029794A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047391B2 (en) * 1998-09-14 2006-05-16 The Massachusetts Institute Of Technology System and method for re-ordering memory references for access to memory
US6836818B1 (en) 1999-09-29 2004-12-28 Emc Corporation Central processing unit
US6915394B1 (en) 1999-09-29 2005-07-05 Emc Corporation Microprocessor interface
US6581137B1 (en) 1999-09-29 2003-06-17 Emc Corporation Data storage system
DE10027205A1 (de) * 2000-05-31 2002-01-03 Fujitsu Siemens Computers Gmbh Datenverarbeitungsanordnung mit einem Systembus, einem Speicherinterface, einem Speicherbus und einem Speicher, sowie ein Verfahren zu ihrem Betrieb
US6766385B2 (en) 2002-01-07 2004-07-20 Intel Corporation Device and method for maximizing performance on a memory interface with a variable number of channels
US6799257B2 (en) 2002-02-21 2004-09-28 Intel Corporation Method and apparatus to control memory accesses
US20040176759A1 (en) * 2003-03-07 2004-09-09 Subashini Krishnamurthy Radiopaque electrical needle
US20040078558A1 (en) * 2002-03-25 2004-04-22 Sprangle Eric A. Method and apparatus to process instructions in a processor
US20040030349A1 (en) * 2002-08-08 2004-02-12 Mikhail Boukhny Liquefaction handpiece tip

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530944A (en) * 1991-02-27 1996-06-25 Vlsi Technology, Inc. Intelligent programmable dram interface timing controller
US5353429A (en) * 1991-03-18 1994-10-04 Apple Computer, Inc. Cache memory systems that accesses main memory without wait states during cache misses, using a state machine and address latch in the memory controller
US5253214A (en) * 1991-09-27 1993-10-12 Eastman Kodak Company High-performance memory controller with application-programmable optimization
US5608896A (en) * 1992-05-28 1997-03-04 Texas Instruments Incorporated Time skewing arrangement for operating memory devices in synchronism with a data processor
CA2118662C (en) * 1993-03-22 1999-07-13 Paul A. Santeler Memory controller having all dram address and control signals provided synchronously from a single device
US5627985A (en) * 1994-01-04 1997-05-06 Intel Corporation Speculative and committed resource files in an out-of-order processor
US5513135A (en) * 1994-12-02 1996-04-30 International Business Machines Corporation Synchronous memory packaged in single/dual in-line memory module and method of fabrication
US5490114A (en) * 1994-12-22 1996-02-06 International Business Machines Corporation High performance extended data out
WO1996020482A1 (en) * 1994-12-23 1996-07-04 Micron Technology, Inc. Burst edo memory device
US5630096A (en) * 1995-05-10 1997-05-13 Microunity Systems Engineering, Inc. Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order
US5655105A (en) * 1995-06-30 1997-08-05 Micron Technology, Inc. Method and apparatus for multiple latency synchronous pipelined dynamic random access memory
US5603010A (en) * 1995-12-28 1997-02-11 Intel Corporation Performing speculative system memory reads prior to decoding device code
US5926828A (en) * 1996-02-09 1999-07-20 Intel Corporation Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
US5587961A (en) * 1996-02-16 1996-12-24 Micron Technology, Inc. Synchronous memory allowing early read command in write to read transitions

Also Published As

Publication number Publication date
DE69732377T2 (de) 2005-12-22
DE69732377D1 (de) 2005-03-03
KR20000069848A (ko) 2000-11-25
EP1012687B1 (en) 2005-01-26
TW377419B (en) 1999-12-21
AU7892798A (en) 1998-07-31
US6148380A (en) 2000-11-14
WO1998029794A1 (en) 1998-07-09
EP1012687A1 (en) 2000-06-28
HK1030817A1 (en) 2001-05-18
EP1012687A4 (en) 2002-05-15

Similar Documents

Publication Publication Date Title
US5239639A (en) Efficient memory controller with an independent clock
US5721860A (en) Memory controller for independently supporting synchronous and asynchronous DRAM memories
US6295592B1 (en) Method of processing memory requests in a pipelined memory controller
US7017022B2 (en) Processing memory requests in a pipelined memory controller
US5909701A (en) Interface for high speed memory
KR920010950B1 (ko) 컴퓨터 시스템과 정보 판독 및 데이타 전송방법
US6631440B2 (en) Method and apparatus for scheduling memory calibrations based on transactions
US6026464A (en) Memory control system and method utilizing distributed memory controllers for multibank memory
US6134638A (en) Memory controller supporting DRAM circuits with different operating speeds
US6073223A (en) Memory controller and method for intermittently activating and idling a clock signal for a synchronous memory
US5623638A (en) Memory control unit with programmable edge generator to minimize delay periods for critical DRAM timing parameters
JP4507186B2 (ja) モードレジスタにおけるバースト長設定の変更を行わずに、異なるバースト長のアクセスをサポートするdram
US6640292B1 (en) System and method for controlling retire buffer operation in a memory system
JPH04230544A (ja) ダイナミックメモリシステムのタイミングを動的に設定するデータ処理装置
GB2430053A (en) Accessing external memory from an system on a chip integrated circuit
US5822768A (en) Dual ported memory for a unified memory architecture
WO1997032307A1 (en) Simplified clocked dram with a fast command input
KR100297895B1 (ko) 동기식 dram-타입 메모리와 시스템 버스간의 데이터 전송을 제어하는 방법 및 장치
US5253214A (en) High-performance memory controller with application-programmable optimization
KR100623892B1 (ko) 메모리 제어기 및 메모리 액세스 방법
US5448717A (en) Transparently inserting wait states into memory accesses when microprocessor in performing in-circuit emulation
US6243768B1 (en) Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
US6918016B1 (en) Method and apparatus for preventing data corruption during a memory access command postamble
US5893917A (en) Memory controller and method of closing a page of system memory
US5926828A (en) Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130520

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140502

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee