KR100450726B1 - 제어된 메모리 저장 장치의 타이밍 파라미터를 토대로 하여 실행 능력을 조절하기 위한 프로그램 가능 지연 카운터를 갖는 메모리 컨트롤러 - Google Patents

제어된 메모리 저장 장치의 타이밍 파라미터를 토대로 하여 실행 능력을 조절하기 위한 프로그램 가능 지연 카운터를 갖는 메모리 컨트롤러 Download PDF

Info

Publication number
KR100450726B1
KR100450726B1 KR10-2001-7003241A KR20017003241A KR100450726B1 KR 100450726 B1 KR100450726 B1 KR 100450726B1 KR 20017003241 A KR20017003241 A KR 20017003241A KR 100450726 B1 KR100450726 B1 KR 100450726B1
Authority
KR
South Korea
Prior art keywords
memory
delay
counter
memory control
memory storage
Prior art date
Application number
KR10-2001-7003241A
Other languages
English (en)
Other versions
KR20010075082A (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 KR20010075082A publication Critical patent/KR20010075082A/ko
Application granted granted Critical
Publication of KR100450726B1 publication Critical patent/KR100450726B1/ko

Links

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/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

본 발명은 하나 이상의 프로그램 가능한 지연 카운터(24)를 통해 메모리 제어 동작의 타이밍을 제어하는 튜닝 회로(22)를 이용한 메모리 컨트롤러 회로 장치 및 방법에 관한 것이다. 각각의 카운터는 메모리 제어 동안의 실행 능력을 지연시키기 위하여 선택된 수의 클록 사이클 만큼 사이클링하도록 프로그램되어 컨트롤러(10, 78)에 접속된 메모리 저장 장치용의 기설정된 타이밍 파라미터를 맞춘다. 프로그램 가능한 지연 카운터를 사용함으로써, 가변 타이밍 파라미터를 갖는 다수의 메모리 저장 장치(76)가 동일한 메모리 컨트롤러 설계에 의해 지원될 수 있다. 또한, 프로그램 가능한 지연 카운터는 메모리 컨트롤러 상태 머신에서의 단일 실행 경로가 특정 타이밍 특성 및 다수의 타이밍 특성에 대한 소정의 수의 타이밍 파라미터를 지원할 수 있도록 한다.

Description

제어된 메모리 저장 장치의 타이밍 파라미터를 토대로 하여 실행 능력을 조절하기 위한 프로그램 가능 지연 카운터를 갖는 메모리 컨트롤러{MEMORY CONTROLLER WITH PROGRAMMABLE DELAY COUNTER FOR TUNING PERFORMANCE BASED ON TIMING PARAMETER OF CONTROLLED MEMORY STORAGE DEVICE}
컴퓨터 및 그 이외의 데이터 처리 시스템은 컴퓨터의 작업을 수행하는 데에 있어서 컴퓨터 시스템 등에 의해 사용되는 정보를 저장시키기 위하여 다수의 메모리에 폭넓게 의존한다. 예컨대, 메모리는 컴퓨터에 의해 수행되는 일부분의 컴퓨터 프로그램 및 컴퓨터에 의해 수행되는 데이터들을 저장하도록 사용될 수 있다.
메모리들은 컴퓨터의 다수의 부품에서도 찾아 볼 수 있다. 예컨대, 컴퓨터의 두뇌 역할을 하는 마이크로 프로세서는 통상 컴퓨터의 메인 메모리로부터 획득 가능한 소정의 데이터 또는 컴퓨터 명령에 보다 빠르게 액세스할 수 있는 전용의 캐쉬 메모리를 갖는다. 또한, 그래픽 컨트롤러에 의해 사용되는 전용 메모리는 컴퓨터 모니터 또는 다른 디스플레이 상에 디스플레이할 정보를 저장한다.
메모리는 컴퓨터에 사용되는 다수의 형태, 예컨대 외부 네트웍을 통하여 컴퓨터와 다른 컴퓨터 간을 인터페이스하는 인터페이스의 다수의 형태로 발견될 수 있다. 통상적으로, 이 인터페이스들은, 예컨대 컴퓨터 내부에 플러그인되어 특정 형태의 네트웍에 연결하기 위하여 필요한 커넥터를 갖는 전용 하드웨어로 구현된다. 컴퓨터와 네트웍 간의 데이터의 전송을 처리하는 데에 통상 컨트롤러가 사용되며, 통상적으로 전용 메모리가 컨트롤러에 의해 사용되는 제어 데이터 및 인터페이스를 통해 전송되는 데이터의 일시적인 카피를 저장하는 데에 사용된다.
전술한 어플리케이션에 사용되는 메모리는 하나 이상의 고체 상태의 저장 장치 또는 "칩"으로 구현된다. 통상적으로 전용 메모리 컨트롤러는 기설정된 프로토콜에 따라 이러한 메모리 기억 장치와의 데이터의 송수신을 처리하는 데에 사용된다.
통상적으로, 메모리 저장 장치는 그 저장 장치에서 소정의 동작을 수행하기 전에 반드시 대기해야만 하는 최소 지연을 정의하는 하나 이상의 타이밍 특성을 갖는다. 따라서, 특정의 메모리 저장 장치를 구현하는 데에는 상기 특성과 관련된 타이밍 파라미터가 정의된다. 이들 타이밍 파라미터는 종종 장치의 물리적인 구조에 의해 제한되며, 저장 장치의 신뢰성 있는 동작을 보증하기 위하여 저장 장치의 설계자에 의해 정의된다. 한가지 단순한 예를 들자면, 메모리 저장 장치의 일 형태인 DRAM은 데이터가 저장 장치로부터 판독되기 전에 적어도 기설정된 시간 동안 저장 장치 내의 회로가 프리차지될 것을 요구한다. 이 특성과 관련된 타이밍 파라미터가 특정 메모리 저장 장치 구현을 충족시키지 못하는 경우, 이 저장 장치에 오류가 발생하여 데이터의 유효성이 위협 받게 될 것이다.
상이한 형태의 메모리 저장 장치는 상이한 형태의 타이밍 파라미터를 가질 수 있다. 또한, 기술이 향상됨에 따라 소정 형태의 메모리 저장 장치는 과거의 설계보다 향상될 수 있으며, 그 결과 과거의 설계와는 다른 타이밍 파라미터를 가질 수 있다.
소정 형태의 메모리 저장 장치에 따라 데이터 전송을 제어하기 위하여, 메모리 컨트롤러는 종종 이 저장 장치에 사용되는 다양한 타이밍 파라미터들을 맞추도록 특별히 조절되어야만 한다. 소정의 형태의 메모리 저장 장치에 따라 최적으로 가능한 실행 능력을 보증하기 위하여, 종종 메모리 컨트롤러가 이 장치용으로 한정된 타이밍 파라미터를 맞추거나 또는 약간 초과하도록 다수의 메모리 컨트롤러 동작들 간의 지연을 설정하는 것이 요구된다.
그러나, 몇몇 메모리 컨트롤러는 다른 형태의 메모리 저장 장치와 함께 사용될 필요가 있다. 예컨대, 다수의 형태의 메모리 저장 장치를 지원하여 메모리 컨트롤러가 상이한 어플리케이션에 사용될 수 있도록 하는 것이 바람직하다. 그러나, 다수의 형태의 메모리 저장 장치를 지원하기 위해서는, 통상적으로 타이밍 파라미터가 최소의 수용 가능한 지연을 정의하므로 소정의 메모리 저장 장치의 최악의 경우의 타이밍 파라미터를 처리하도록 설계될 필요성이 종종 생긴다. 결과적으로, 메모리 컨트롤러가 그 컨트롤러에 대해 정의된 최악의 경우의 타이밍 파라미터보다 빠른 실행 능력을 제공하는 타이밍 파라미터를 갖는 메모리 저장 장치와 함께 사용되는 경우면, 이 메모리 저장 장치는 이의 최대 실행 능력 레벨 보다 낮게 동작하게 되며, 그 컨트롤러가 아니었다면 가능했었을 향상된 실행 능력을 상실하게 된다.
몇몇 종래의 메모리 컨트롤러 설계에 있어서, 컨트롤러와 메모리 저장 장치간의 실행 능력의 불일치를 고려하여 하나 이상의 "대기 상태"를 메모리 엑세스 동작으로 제어 가능하게 삽입함으로써, 소정의 타이밍 특성에 대한 상이한 타이밍 파라미터를 제공하고자 하는 시도가 있었다. 통상적으로 이러한 컨트롤러 설계는 실행할 수 있는 2개의 경로 중의 하나의 경로를 제어 가능하게 선택함으로써, 2개의 타이밍 파라미터 중에 하나의 타이밍 파라미터를 지원한다.
특히, 메모리 컨트롤러는 상이한 "스테이지(stage)"들 간을 사이클링(cycling)하는 상태 머신을 사용하여 메모리 저장 장치와 함께 데이터 전송을 제어하는 것과 관련한 상이한 메모리 제어 동작을 수행한다. 상태 머신은 각 상태들 간에 대기하는 시간을 정의하는 클록 신호에 의해 타이밍이 맞춰진다. 실행 경로는 스테이지의 순서에 의해 정의되어 이 경로가 이어지는 경우 상태 머신에서 순차적으로 수행된다.
이러한 종래의 메모리 컨트롤러 설계의 중요한 한계는 실행의 제2 경로를 지원하는 것이 상태 머신의 복잡성을 증가시키게 되어 모든 비용 및 컨트롤러의 복잡성을 증가시키는 경향이 있다는 것이다. 또한, 상태 머신의 복잡성은 실행 경로의 수가 증가함에 따라 급격하게 증가한다. 또한, 다수의 타이밍 특성에 대하여 다수의 타이밍 파라미터를 지원하는 것이 타당하다면, 상태 머신의 복잡성은 더 큰 비율로 증가한다. 결과적으로, 통상적인 종래의 메모리 컨트롤러 설계는 극소수의 타이밍 특성에 대하여 극소수의 타이밍 파라미터만을 지원하는 것으로 제한된다.
또한, 종래의 메모리 컨트롤러 설계는 다수의 메모리 저장 장치를 지원하지 못하므로, 짧은 타이밍 파라미터를 갖는, 즉 종래보다 향상된 실행 능력의 메모리 저장 장치의 사용을 고려한 설계는 종종 비용상 비효율적이게 된다. 결과적으로, 새로운 메모리 컨트롤러 설계는 메모리 저장 장치 기술의 발달에 대응하여 발전해야만 한다.
따라서, 폭넓게 다수의 메모리 저장 장치를 지원할 수 있는 보다 유연하고 확장성이 있는 메모리 컨트롤러 설계에 대한 중요한 필요성은 계속되고 있다.
본 발명은 집적 회로 소자 구조 및 설계에 관한 것으로서, 특히 메모리 기억 장치로의 데이터 전송을 제어하는 메모리 컨트롤러의 구조 및 설계에 관한 것이다.
도 1은 본 발명에 따른 튜닝 회로를 사용한 메모리 컨트롤러 회로 장치의 블록도.
도 2는 도 1의 메모리 컨트롤러 회로 장치에서의 프로그램 가능한 지연 카운터의 블록도.
도 3은 도 2에 도시된 메모리 컨트롤러 회로 장치 내의 또 다른 프로그램 가능한 지연 카운터의 블록도.
도 4는 본 발명에 따른 데이터 처리 시스템의 블록도.
도 5는 도 4의 데이터 처리 시스템 내의 네트웍 어댑터의 블록도.
도 6은 도 5의 네트웍 어댑터 내의 메모리 컨트롤러의 블록도.
도 7은 메모리 특정 상태 머신/지원 논리 회로의 블록도.
도 8은 도 7의 메모리 특정 상태 머신/지원 논리 회로 내에서 적합하게 사용되는 감산형 프로그램 가능한 지연 카운터의 블록도.
도 9는 도 7의 메모리 특정 상태 머신/지원 논리 회로 내에서 적합하게 사용되는 가산형 프로그램 가능한 지연 카운터의 블록도.
도 10은 본 발명에 따른 메모리 컨트롤러를 사용하여 판독 액세스하는 동안 제1 집단의 타이밍 파라미터를 갖는 메모리 저장 장치와 함께 사용하는 메모리 제어 동작의 예시적인 타이밍을 도시한 타이밍도.
도 11은 본 발명에 따른 메모리 컨트롤러를 사용하여 기록 액세스하는 동안 제2 집단의 타이밍 파라미터를 갖는 메모리 저장 장치와 함께 사용하는 메모리 제어 동작의 예시적인 타이밍을 도시한 타이밍도.
본 발명은 튜닝 회로를 사용하는 메모리 컨트롤러 회로 장치 및 방법을 제공함으로써 종래 기술과 관련된 전술한 문제 및 다른 문제들에 접근하여 하나 이상의 프로그램 가능한 지연 카운터를 통해 메모리 제어 동작의 타이밍을 제어한다. 각각의 카운터는 메모리 제어 동작의 실행 능력을 지연시키기 위하여 선택된 수의 클록 사이클을 사이클링하도록 프로그램 되어 컨트롤러에 접속된 메모리 저장 장치에 대한 기설정된 타이밍 파라미터에 맞춘다.
예컨대, 프로그램 가능한 지연 카운터가 논리 회로에 의하여 메모리 제어 동작의 실행 능력을 초기화하기 위하여 상태 머신 논리 회로에서 상태 천이가 가능하도록 사용될 수 있으며, 이 논리 회로에서의 단일 실행 경로가 특정 타이밍 특성에 대한 소정의 수의 타이밍 파라미터 변동을 지원하는 데에 사용될 수 있다. 또한, 다수의 프로그램 가능한 지연 카운터를 통해 다수의 타이밍 특성들이 동일한 실행 경로 내에서 조절될 수 있다. 따라서, 결과적으로 다수의 타이밍 특성들 및 타이밍 파라미터들은 단일 집적 설계 내에서 지원받을 수 있으며, 종래의 기술보다 양호한 유연성 및 확장성을 제공할 수 있다.
따라서, 본 발명의 일특징과 일치하는 논리 회로 및 튜닝 회로를 포함하는 메모리 컨트롤러 회로 장치가 제공된다. 이 논리 회로는 제1 및 제2 메모리 제어 동작을 수행함으로써, 적어도 하나의 메모리 저장 장치와 함께 제어 데이터를 전송하도록 구성된다. 기 설정된 타이밍 파라미터를 갖는 이 형태의 메모리 저장 장치는 제1 및 제2 메모리 제어 동작들 간의 최소 지연을 한정한다. 튜닝 회로는 논리 회로에 접속되며, 제1 및 제2 메모리 제어 동작들간의 지연을 제어하도록 구성되어 제2 메모리 제어 동작에 대한 선택된 수의 프로그램 가능한 지연 카운터를 사이클링함으로써, 메모리 저장 장치에 대한 기설정된 타이밍 파라미터에 맞춘다.
본 발명에서 특징지워지는 이들 및 다른 이점 및 특징은 본 발명과 관련된 특허청구범위를 설정하여 본 발명의 추가적인 부분을 형성한다. 그러나, 본 발명 및 본 발명을 사용함으로써 얻을 수 있는 이점 및 목적을 보다 잘 이해하기 위하여, 참조 번호가 도면 및 첨부된 상세한 설명 부분에도 부기되어 있으며, 상세한 설명 및 도면에는 본 발명의 예시적인 실시예가 설명되어 있다.
일반적으로, 본 발명에 설명된 일실시예는 메모리 제어 동작의 실행 능력을 지연시키기 위하여 메모리 컨트롤러 내의 프로그램 가능한 지연 카운터를 사이클링시켜 동작시킴으로써, 메모리 컨트롤러에 접속된 메모리 저장 장치에 대한 타이밍 파라미터를 맞춘다. 이와 같이, 가변 타이밍 파라미터를 갖는 다수의 고체 상태(반도체) 메모리 저장 장치는 보다 유연하게 확장 가능한 방법으로 지원될 수 있지만, 동기형 DRAM(Synchronous Dynamic Random Access Memory), 향상된 동기형 DRAM, 램버스 DRAM, 확장형 데이터 출력 DRAM, 페이지 모드 DRAM, SRAM, 플래쉬 메모리, ROM, EEPROM(Electronically-Erasable Progrmable Read Only Memory), 직렬 EPROM, 직접 엑세스 저장 장치(DASD;Direct Access Storage Device), 메모리 처럼 동작하는 하부 시스템 등에 국한되지 않고, 이들 장치를 포함한다.
본 명세서에 제출된 방법의 3개의 주된 관점은 메모리 컨트롤러의 실행 능력을 조절하는 것이 바람직하다는 것에서 생각한 것이다. 첫 번째로, 즉 소정의 메모리 엑세스에 대하여 소정의 메모리 엑세스 사이클 동안, 예컨대 로우와 컬럼 어드레스 스트로브()(row and column address strobe) 신호들 간의 시간 기간 동안, 어서팅 신호(asserting signal)와 디어서팅 신호(deasserting signal) 간의 지연을 제어하는 것이 종종 바람직하다. 두 번째로, 예컨대 EDO DRAM에 대하여 이프리차지 시간을 어서팅하고 해제하는 사이의 지연, 즉 연속적인 메모리 엑세스 간의 어서팅 신호와 디어서팅 신호 간의 지연을 제어하는 것이 바람직할 때가 종종 있다. 세 번째로, 예컨대 다수 뱅크 DRAM 내의 소정의 뱅크로의 연속적인 엑세스 사이의 지연, 즉 연속적이지는 않지만 상호 연관된 메모리 엑세스 사이클들 사이의 어서팅 신호와 디어서팅 신호간의 지연을 제어하는 것이 바람직할 때가 종종 있다. 당업자라면 본 명세서의 내용을 읽음으로써, 다른 경우의 실시예도 가능함을 명백히 알 수 있을 것이다.
예컨대, 도 1에 도시된 바와 같이, 메모리 컨트롤러(10)는 논리 회로(12)를 포함할 수 있고, 제1 및 제2 제어 동작이 수행되는 스테이지(14, 16)를 포함하는 복수의 스테이지를 갖는 상태 머신을 구현한다. 논리 회로(12)는 실질적으로 메모리 저장 장치와 연관되어 사용되는 어떤 형태의 상태 머신을 포함할 수 있으며, 종래 기술에서 잘 알려진 바와 같이 다른 논리 회로를 포함할 수 있다. 이와 같이, 결정되지 않은 수의 스테이지들이 스테이지(14, 16) 이전 및 이후로 도시되어 있다. 심지어 스테이지가 없는 경우의 어떤 수의 스테이지라도 스테이지(14, 16) 사이에 삽입될 수 있다.
메모리 제어 동작은 메모리 컨트롤러에 의해 수행된 실질적으로 어떤 적절한 동작을 나타낼 수 있으며, 예컨대, 어떤 수의 메모리 제어 신호를 메모리 저장 장치로 어서팅 또는 디어서팅하는 단계, 메모리 저장 장치로부터 수신한 어떤 수의 신호를 래치하는 단계 및 새로운 데이터 신호를 메모리 저장 장치로 전송하는 단계 등을 주로 포함한다. 스테이지(14, 16)에서 수행되는 제1 및 제2 메모리 제어 동작은, 예컨대 동일한 제어 신호를 어서팅 및 디어서팅하고, 상이한 제어 신호를 어서팅 및 디어서팅하며, 메모리 저장 장치로부터 리턴된 동일하거나 상이한 신호를 래칭하는 등의 다수의 방법과도 서로 상관 관계를 갖는다. 또한, 제1 및 제2 메모리 제어 동작은 동일한 메모리 엑세스 사이클 동안, 연속적인 메모리 엑세스 사이클 동안, 또는 분리되어 불연속적인 메모리 엑세스 사이클 동안 수행될 수 있다.
본 발명과 관련된 제1 및 제2 메모리 제어 동작은 메모리 컨트롤러(10)에 연결된 특정 메모리 저장 장치에 사용되는 타이밍 파라미터와 관련된 기설정된 지연에 의해 시간 내에 분리되어야만 한다. 타이밍 파라미터는 메모리 컨트롤러에 사용하기에 적합한 상이한 메모리 저장 장치에 공통인 타이밍 특성용의 특정 값을 나타낸다. 타이밍 파라미터는 최소 시간, 예컨대 10-9초 단위로 특정지워질 수 있다. 또 다른 실시예에서, 타이밍 파라미터는 최소 수의 클록 사이클로 특정지워질 수 있다. 또한, 통상적으로 메모리 컨트롤러는 동기되어 동작하며, 통상적으로 제1 및 제2 메모리 제어 동작 사이에 삽입된 지연은 타이밍 파라미터의 유닛과는 상관없이 소정의 메모리 컨트롤러 클록용 사이클의 선택된 수로 나타난다.
다수의 타이밍 파라미터 특성이 상이한 형태의 메모리 저장 장치와 연관이 있을 수 있다. 예컨대, 다른 타이밍 파라미터 중에서, 뱅크 사이클 시간(tRC), 활성 커맨드 주기(tRAS), 프리차지 시간에 대한 데이터 입력 시간(tDPL), 프리차지 시간(tRP),지연 시간(tRCD),지연(tAA) 등의 동기형 DRAM용의 적절한 타이밍 특성을 포함한다. 다른 타이밍 특성도 다른 형태의 메모리 저장 장치 용으로 존재할 수 있다. 각각의 경우에 있어서, 소정의 메모리 저장 장치와 연관 있는 특정 타이밍 파라미터들은 이 산업 부분에서 통상적으로 잘 알려져 있으며, 통상적으로 본 명세서에 기술된 방법으로 메모리 컨트롤연의 실행 능력을 조절하는 것은 하나 이상의 이들 바람직한 특정 타이밍 특성과 관련이 있다.
메모리 컨트롤러(10)에서, 단계(14)에서의 지연 신호를 어서팅하여 제1 및 제2 메모리 제어 동작의 실행 능력 사이의 지연을 제어되도록 하며, 이는 선택된 수의 사이클 동안 제2 메모리 제어 동작의 동작 지연을 요구하는 것을 나타낸다. 제2 메모리 제어 동작의 실행 능력은 인에이블 신호(20)로 나타낸 바와 같이 단계(16)로의 상태 천이를 가능하게 함으로써 초기화 된다.
프로그램 가능한 지연 카운터(24) 및 구성 레지스터(26)를 포함하는 튜닝 회로(22)는 지연 신호(18)를 수신하여 인에이블 신호(20)를 출력하는 것으로 도시된다. 통상적으로 지연 카운터(24)는 제1 및 제2 메모리 제어 동작을 수행하는 동안 대기하기 위하여 바람직한 수의 클록 사이클을 토대로 하여 선택된 수의 클록 사이클을 사이클링하도록 프로그램된다. 이 선택된 수의 클록 사이클은 제1 및 제2 메모리 제어 동작 사이의 총 사이클 수와 동일하거나, 또는, 예컨대 제1 및 제2 메모리 제어 실행 능력 사이에 다른 지연이 이미 존재하는 경우면, 다를 수도 있다. 예컨대 후자의 예시에 있어서, 지연 및/또는 인에이블 신호의 어서팅은 메모리 제어 동작의 실행 능력으로부터 하나 이상의 사이클을 오프셋시킬 수 있다.
본 명세서의 내용을 읽음으로서 인에이블 신호가 제1 메모리 제어 동작에 이어지는 제2 메모리 제어 동작의 실행 능력을 초기화시키는 데에 사용되는 구조를 쉽게 이해할 수 있을 것이다. 실시예들은 유지 신호, 비교 임계 전압에 가까운 신호 전압 등를 제거하는 데에 한정되는 것은 아니다.
일반적으로, 본 발명에 따른 프로그램 가능한 지연 카운터는 프로그램 가능한 수의 사이클을 사이클링하여, 이후에 인에이블 신호가 제2 메모리 제어 동작의 실행 능력을 초기화시킬 목적으로 어서팅되도록 한다. 지연 카운터는 구성 레지스터(26)로부터 제공된 지연 카운터를 토대로 하여 프로그램 된다. 이 지연 카운터는 지연된 사이클의 총 수와 동일하거나, 예컨대 다른 지연이 카운터에 나타나는 경우면 사이클의 총 수의 일부분일 수 있다.
통상적으로, 본 발명에 따른 프로그램 가능한 지연 카운터는 다른 변형 실시예들 중에서, 감산형 카운터 또는 가산형 카운터 중의 어느 하나로 구성될 수 있다. 예컨대, 도 2는 튜닝 회로(22)의 프로그램 가능한 지연의 감산형 구현을 도시하며, 여기서 이 카운터는 데이터(D) 입력에서 구성 레지스터(26)로부터 지연 카운트를 수신한다. 이 지연 카운터는 지연 신호를 통하여 기록 인에이블(WE) 입력을 어서팅함으로써 카운터(24)에 기록된다. 이후에는, 카운터의 감산(DEC) 입력에 연결된 메모리 컨트롤러용의 클록 신호가 각각의 이전 클록 사이클에서 카운터에 저장된 값을 감산시킨다. 지연 카운터에 대응하는 수의 사이클에 대하여 카운터를 사이클링시키는 것은 제로 대 비교(=0) 출력을 통하여 검출되며, 이로부터 인에이블 신호가 유도될 수 있다.
증가형 카운터 실행은 도 3의 튜닝 회로로 도시되며, 여기서 카운터는 이의 데이터(D) 입력에서 초기의 제로 값을 수신한다. 이 카운터는 지연 신호(18)를 통해 기록 인에이블(WE) 입력을 어서팅한 것에 대한 응답으로 제로 카운트로 초기화된다. 이후에, 카운터의 가산(INC) 입력에 접속된 메모리 컨트롤러에 대한 클록 신호는 각각의 이전 클록 사이클에 저장된 값을 가산시킨다. 지연 카운터에 대응하는 수의 사이클에 대하여 카운터를 사이클링시키는 것은 비교부(34)를 통해 검출되며, 카운터(30)의 출력을 입력시키는 경우 구조 레지스터(32)로부터 지연 카운트를 수신한다. 결과적으로 인에이블 신호(20)는 카운터의 출력이 레지스터에 저장된 지연 카운터와 대응하는 경우 어서팅된다.
프로그램 가능한 카운터를 프로그램하기 위하여 구성 레지스터를 로딩시키는것은 다수의 방법으로 수행될 수 있다. 예컨대, 하나 이상의 컨트롤러용 외부핀이 지연 카운트를 특정하기 위하여 사용될 수 있다. 또 다른 실시예에서, 지연 카운트는 외부 소자를 통해, 예컨대 네트웍 또는 버스 상에서의 특정 명령을 통해 공급될 수 있다. 또한 이 지연 카운트는 하드웨어적으로 배선되어 상이하게 물리적으로 수행될 수 있으므로, 메모리 컨트롤러의 공통 설계가 상이한 메모리 저장 요구 사항에 맞추어 제작된 몇몇 상이한 메모리 컨트롤러 모텔에서의 최소한의 변경으로 재사용될 수 있다. 또한, 지연 카운트는 동일한 핀/명령이 다수의 파라미터를 집단적으로 제어할 수 있도록 수 개의 집합들로 그룹지워질 수 있다. 프로그램 가능한 카운터를 프로그래밍하는 다른 방법들이 대용적으로 사용될 수 있다. 예컨대, 하나 이상의 종래의 파라미터로 시작하며, 파리미터들을 점진적으로 가속시키는 동안 메모리 저장 장치의 오류 비율을 모니터링하여 오류가 검출될 때 마다 하나 이상의 파라미터를 감속시키도록 동작하는 동적 제어 회로가 구성될 수 있다.
도 1로 되돌아 가서 보면, 논리 회로(12) 및 튜닝 회로(22) 각각은 회로 장치, 즉, 전도성 경로, 신호 경로 및/또는 배선을 통해 전기적으로 또는 광학적으로 상호 접속된 아날로그 및/또는 디지털 전자 소자 또는 광학 소자의 배열이 하나의 집적된 회로 장치로 구현되던지 또는 하나 이상의 회로 보드를 통해 서로 간에 전기적으로 접속된 복수의 집적 회로 장치들로 구현될 수 있음을 나타낸다. 또한, 집적 회로 장치는 하나 이상의 컴퓨터 데이터 파일을 사용하여 설계되고 제조된다는 것을 통상적으로 알 수 있으며, 본 명세서에서는 하드웨어 정의 프로그램으로 나타내어 장치 상에서의 회로 장치의 레이아웃을 정의한다. 통상적으로 이 프로그램들은 설계 툴에 의하여 주지의 방법으로 생성되며, 제조 공정 동안 반도체 웨이퍼에 사용되는 회로 장치를 정의하는 레이아웃 마스크를 생성하도록 연속하여 이용된다. 통상적으로, 이 프로그램은 하드웨어 정의 언어(HDL;Hardware Definition Language), 예컨대 VHDL(VHSIC Hardware Description Language), 베리로그(verilog), EDIF(Electronics Design Interchange Format) 등을 사용하여 기설정된 포멧으로 제공된다. 따라서, 본 발명은 이후부터 완전히 기능적으로 집적된 회로 장치로 구현된 회로 장치과 관련하여 설명될 것이며, 당업자라면, 본 발명에 따른 회로 장치가 다양한 형태의 프로그램 제품으로 배포될 수 있을을 쉽게 알 수 있을 것이므로, 본 발명은 실질적으로 배포하기 위해 사용되는 특정 형태의 신호 포함 매체에도 불구하고 동일하게 사용될 수 있다. 그러나, 신호 포함 매체의 실시예들은, 예컨대 휘발성 및 비휘발성 메모리 장치, 플로피 디스크, 하드 디스크 드라이브, CD-ROM 및 DVD 등과 같은 기록 가능한 형태의 매체에 국한되는 것이 아니며, 이들 및 디지털 및 아날로그 통신 링크와 같은 전송형 매체를 포함한다.
도 4로 돌아가서 살펴보면, 본 발명에 따른 데이터 처리 시스템(40)이 도시된다. 데이터 처리 시스템(40)은 소정의 수의 컴퓨터들 및 이와 유사한 시스템을 나타낸다. 예컨대, 데이터 처리 시스템(40)은 주저장 메모리(44)에 접속된 시스템 프로세서(42)를 포함하며, 이 시스템은 입출력(I/O) 서브시스템(46)을 통하여 다수의 외부 장치와 교대로 접속된다. 서브 시스템(46)은 시스템 버스(48)를 통하여 복수의 외부 장치와 접속된다. 도 4에는 [하나 이상의 저장 장치(52)와 인터페이스하는 데에 사용되는] 저장 컨트롤러(50), [하나 이상의 워크 스테이션(56)과 인터페이스하는 데에 사용되는] 워크 스테이션 컨트롤러(54), [I/O 버스(60)를 통해 추가적인 장치와 인터페이스하는 데에 사용되는] I/O 확장 유닛(58) 및 [참조 번호 64로 나타내어 지는 외부 네트웍과 인터페이스하는 데에 사용되는] 네트웍 어댑터(62)를 포함하는 다양한 형태의 외부 장치가 도시된다.
다수의 대용 장치가 본 발명에 따른 데이터 처리 시스템에 접속될 수 있음을 쉽게 알 수 있을 것이다.
데이터 처리 시스템(40)이 중간 범위의 컴퓨터 시스템, 예컨대 인터네셔널 비즈네스 머신즈 코오포레이션에서 생산된 AS/400의 중간 범위의 컴퓨터을 사용할 수 있다. 본 발명은 다른 컴퓨터 시스템, 예컨대 구현된 컨트롤러와 같은 메모리 컨트롤러를 포함할 필요도 없이, 개인 컴퓨터, 메인 프레임 컴퓨터, 슈퍼 컴퓨터 등과; 브릿지, 라우터 및 스위치와 같은 통신 시스템과; 소비재 전자 장치 등을 사용할 수 있다.
도시된 실시예에서, 본 발명에 따른 메모리 컨트롤러는 네트웍 어댑터(62)로 구현될 수 있으며, 예컨대 네트웍을 연결하는 데에 비동기 전송 모드(ATM)의 어댑터가 적합할 것이다. 그러나, 본 발명의 원리가 다른 형태의 네트웍, 예컨대 TCP/IP 네트웍, LAN 및 WAN 네트웍, 프레임 릴레이 네트웍 등에 사용함 수 있음을 쉽게 알 수 있을 것이다. 또한, 본 발명에 따른 메모리 컨트롤러도 데이터 처리 프로세서(40) 내의 다른 소자, 예컨대 소정의 소자(50, 54, 58), 또는 데이터 처리 시스템 내의 주처리 구조 내에서 사용될 수 있음을 쉽게 알 수 있을 것이다. 따라서, 본 발명은 본 명세서에 개시된 특정 구현에 한정되는 것은 아니다.
도 5에서는 네트웍 어댑터(62)가 보다 상세하게 도시된다. 네트웍 어댑터(62)는 시스템 버스 인터페이스(68)를 통해 시스템 버스(48)와 인터페이스하는 컨트롤러(66)의 제어를 받는다. 컨트롤러(66)는 네트웍 인터페이스 논리 회로(70) 및 참조 번호 72로 나타내어 지는 물리적인 네트웍 콘넥터를 통해 네트웍(64)과 교대로 인터페이스한다.
컨트롤러(66)는 하나 이상의 메모리, 예컨대, 각각이 복수의 메모리 저장 장치(76)를 포함하는 메모리(74, 74a)에 좌우된다. 컨트롤러(66)와 각각의 메모리(74, 74a) 간의 데이터 전송은 하나 이상의 메모리 컨트롤러, 예컨대 메모리(74)용의 메모리 컨트롤러(78) 및 메모리(74a)용의 메모리 컨트롤러(78a)를 통해 제어된다. 일련의 I/O 신호(예컨대, 각각의 컨트롤러에 사용되는 각각의 신호)는 각 메모리에 따라 데이터 전송을 제어하는 데에 사용된다. 메모리에서 데이터의 송수신을 요구할 수 있는 컨트롤러에서의 다수의 소자를 나타내는 복수의 리쿼스터(81, 81a, 81b)가 컨트롤러(66)에도 나타날 수 있다. 예컨대, 컨트롤러(66) 내의 송수신 회로 내에서의 다수의 소자를 나타낼 수 있다. 또한, 리쿼스터는 컨트롤러(66)에 의해 수신된 외부 엑세스 커맨드를 나타낼 수 있다.
어떤 수의 리쿼스트 및 메모리 컨트롤러/메모리의 쌍이 네트웍 어댑터에 배치될 수 있음을 쉽게 알 수 있을 것이다. 예컨대, 개별적인 패킷 및 제어 메모리는 네트웍 어댑터에 사용되어 2개의 메모리 및 2개의 관련된 메모리 컨트롤러를 요구할 수 있다. 또한, 메모리 컨트롤러는 원하는 경우 하나 이상의 메모리와 인터페이스할 수 있다.
각 메모리 내의 각각의 메모리 저장 장치(76)는 관련된 메모리 컨트롤러(78, 78a)에 의해 제공된 전용 I/O 신호에 응답하며, 특정 메모리 저장 장치의 설계에 의하여 규정된다. 또한, 전술한 바와 같이 메모리 저장 장치는 특정 최소 지연을 제공하는 하나 이상의 타이밍 파라미터를 가질 수 있다. 도시된 실시예에서, 메모리 저장 장치(76)는 동기형 DRAM 장치, 예컨대 인터내셔널 비즈네스 버신즈 코오퍼레이션에서 제조한 IBM 0364164 64-MB 동기형 DRAM일 수 있다. 이 카운트 파라미터 및 인터페이스가 이들 장치들과 함께 데이터 전송을 제어하는 데에 필요하다는 것은 이 기술 분야에서 널리 알려진 것이다.
도 6에 보다 상세하게 도시된 메모리 컨트롤러(78)는 멀티플렉서(84)를 통해 메모리 I/O 신호(80)와 접속된 메모리 특정 상태 머신/지원 로직부(82, 82a)를 포함한다. 메모리 리쿼스터 인터페이스(86)는 하나 이상의 리쿼스터로부터 본 기술 분야에서 잘 알려진 방법으로 다수의 제어 신호를 수신하도록 구성된다. 다수의 리쿼스터가 제공되는 경우, 다수의 리쿼스터를 간을 중재하기 위한 추가적인 인터페이스 로직(도시되지 않음)이 필요하다는 것은 쉽게 알 수 있을 것이다. 메모리 리쿼스터 인터페이스(86)는 어드레스 발생/데이터 체크부(88)로 인터페이스하고, 메모리 특정 상태 머신/지원 로직부(82, 82a)에 교대로 접속된다.
메모리 리쿼스터 인터페이스(86) 및 어드레스 발생/데이터 체크부(88)는 인지된 인터페이스에 의해 동작하고, 통상적으로 데이터 체크 및 어드레스 발생 동작은 다양한 형태의 메모리 저장 장치를 포괄한다. 그러나, 상이한 형태의 메모리 저장 장치와 인터페이스하기 위한 타이밍 특성 및 프로토콜 필요성은 다를 수 있으므로, 예컨대 도 6에 도시된 바와 같이, 다수의 메모리 특정 상태 머신/지원 로직부를 구현하는 것이 특정 메모리 컨트롤러 설계에 있어서는 바람직할 수 있다. 예컨대, 구성부(82)가 동기형 DRAM 장치를 제어하고, 구성부(82a)가 동기형 SRAM 장치를 제어하도록 하는 것이 바람직할 수 있다. 이 외의 장치 형태의 다른 조합도 변형 실시예에서 지원될 수 있다.
메모리 컨트롤러(78)도 한 뱅크의 컨트롤러 레지스터(90)를 포함하며, 컨트롤러 레지스터는 메모리형 레지스터(92) 및 메모리 파라미터 레지스터(94)를 포함한다. 추가적인 파라미터, 예컨대 상태 및 오류 레지스터, 인터럽트 레지스터, 그 이외의 제어 레지스터 등이 필요한 대로 지원될 수 있다.
메모리형 레지스터(92)는 메모리 컨트롤러(예컨대, 참조 번호 82 및 82a로 나타나 있음) 내에서 사용 가능한 하나의 상태 머신을 활성화시키기 위하여 사용되며, 메모리 컨트롤러가 다른 형태의 메모리 저장 장치와 함께 동작할 수 있도록 한다. 특히, 값이 저장된 메모리 형태의 레지스트(92)를 토대로 하여 인에이블 신호가 메모리 특정 상태 머신/지원 로직부(82, 82a) 중의 어느 하나에 공급되어 상태 머신의 동작을 인에이블시킨다. 또한, 인에이블 신호는 선택기 신호로서 멀티플렉서(84)에 전송되어 메모리 I/O 신호(80)와 메모리 특정 상태 머신/지원 로직부(82, 82a) 중의 어느 하나를 접속시킨다. 변형 실시예에서, 2개 이상의 메모리 장치 형태가 지원될 수 있거나, 이와 같은 하나만의 장치 형태가 지원될수 있으므로, 레지스터(92), 멀티플렉서(84) 및 추가적인 메모리 특정 상태 머신/지원 로직부(82a)가 필요 없음을 쉽게 알 수 있을 것이다.
상이한 파라미터를 가지고 다수의 메모리 저장 장치와 함께 동작하는 메모리 컨트롤러(78)의 실행 능력을 적합하게 조절하기 위하여, 다수의 타이밍 파라미터에 대응하는 하나 이상의 지연 카운터와 함께 초기화되며, 이 다수의 타이밍 파라미터는 컨트롤러가 타이밍을 맞추는 것이 바람직하다. 이러한 지연 카운터는 각각의 메모리 특정 상태 머신/지원 로직부(82, 82a)에 공급되어 레지스터에서 지연 카운터로 나타내어진 타이밍 파라미터에 따라 동작하는 상태 머신을 구성한다.
예컨대, 도 7에 가장 잘 도시된 바와 같이, 메모리 특정 상태 머신/지원 로직부(82)가 도 6의 동기형 DRAM 메모리 저장 장치와 어드레스 발생/데이터 체크부(88) 사이를 통과하는 동기형 DRAM 특정 상태 머신(96)을 포함한다.
튜닝 회로(97)는 상태 머신(96)의 실행 능력을 조절하여 동기형 DRAM 장치와 관계있는 몇몇 상이한 타이밍 특성을 맞추도록 소정의 메모리 제어 동작들 간의 지연을 조정함으로써, 상이한 동기형 DRAM 저장 장치와 더 잘 동작한다.
이러한 제1 타이밍 특성은 프리차지 타임(tRP)이며, 이는 새로운 커맨드를 장치 상에 초기화하기 전에 특정 동기형 DRAM 장치 상의 뱅크를 프리차지하는 데에 필요한 최소 시간을 나타낸다. 이 실시예에서, 제1 메모리 제어 동작은 프리 차지 동작의 초기화이며, 제2 메모리 제어 동작은 새로운 커맨드를 발급하는 것이다. 이러한 동작들 간의 지연은 프리차지 카운터(98a)에 의해 제어되며, 이는 메모리 파리미터 레지스터(94)로부터의 프리차지 시간 라인(100a)를 통해 공급된 지연 카운터에 의해 프로그램 된다. 카운터(98a)는 프리차지 시작 라인(102a) 상에서 상태 머신(96)에 의해 발급된 지연 신호에 응답하여 시작한다. 카운터는 라인(100a) 상에서 공급된 지연 카운터에 의해 특정된 사이클의 수를 사이클링시킨 이후에, 프리차지 완료 라인(104a) 상에서 인에이블 신호를 상태 머신(96)으로 리턴시킨다.
제2 타이밍 특성은 활성 커맨드 주기(tRAS)이며, 이는 장치 상에서의 다음 명령을 예상하여 프리차지를 초기화하기 이전에 특정 동기형 DRAM 장치에서의 커맨드를 처리하는 데에 필요한 최소 시간을 나타낸다. 이 실시예에서, 제1 메모리 제어 동작은 특정 메모리 뱅크 상의 커맨드 사이클의 시작이고, 제2 메모리 제어 동작은 뱅크에서의 프리차지 동작의 초기화이다. 이러한 동작들 간의 지연은 활성 명령 카운터(98b)에 의해 제어되며, 이는 메모리 파라미터 레지스터(94)로부터의 활성 커맨드 주기 라인(100b)을 통해 공급된 지연 카운터를 통해 프로그램되도록 한다. 카운터(98b)는 새로운 명령 사이클 시작 라인(102b) 상에서 상태 머신(96)에 의해 제공된 지연 신호에 응답하여 시작한다. 이 카운터는 라인(100b) 상에서 공급된 지연 카운터에 의해 특정된 사이클의 수를 사이클링시킨 이후에, 커맨드 사이클 완료 라인(104b) 상에서 인에이블 신호를 상태 머신(96)으로 리턴시킨다.
세 번째 타이밍 특성은 프리차지로의 데이터 입력 시간(tDPL)이며, 이는 프리차지 동작이 장치에서의 다음 명령을 예상하여 초기화되기 이전에 데이터가 장치에 기록된 이후에 발생해야만 하는 최소 지연을 나타낸다. 이 실시예에서, 제1 메모리 제어 동작은 장치 상의 특정 뱅크에 데이터가 기록되는 것을 완료하는 것이며, 제2 메모리 제어 동작은 뱅크 상에서의 프리차지 동작을 초기화시키는 것이다. 이러한 동작들 사이의 지연은 프리자치 카운터(98c)로 입력되는 데이터에 의해 제어되며, 이는 메모리 파라미터 레지시터(94)로부터 프리차지 라인(100c)으로 데이터 입력을 통해 공급된 지연 카운터를 통하여 프로그램된다. 카운터(98c)는 데이터 기록 라인(102c) 상에서 상태 머신(96)에 의해 공급된 지연 신호에 응답하여 시작한다. 이 카운터는 라인(100c) 상에서 공급된 지연 카운터에 의해 특정된 사이클의 수를 사이클링시킨 이후에, 프리 차지 커맨드 전송 라인(104c) 상에서 인에이블 신호를 상태 머신(96)으로 리턴시킨다.
네 번째 타이밍 특성은 뱅크 사이클 시간(tRC)이며, 이는 장치들의 특정 뱅크 상에서 연속적인 커맨드를 활성화시키는 사이에 발생해야만 하는 최소 지연을 나타낸다. 이 실시예에서, 제1 메모리 제어 동작은 장치 상의 특정 뱅크에 제1 커맨드를 활성화시키는 것이며, 제2 메모리 제어 동작은 장치 상에서의 동일한 뱅크 상에서의 제2 커맨드를 활성화시키는 것이다. 이러한 동작들 사이의 지연은 뱅크 엑세스 카운터(98d)에 의해 제어되며, 이는 메모리 파라미터 레지시터(94)로부터 뱅크 사이클 시간 라인(100d)을 통해 공급된 지연 카운터를 통하여 프로그램된다. 카운터(98d)는 뱅크 X 엑세스 시작 라인(102d) 상에서 상태 머신(96)에 의해 공급된 지연 신호에 응답하여 시작한다. 이 카운터는 라인(100d) 상에서 공급된 지연 카운터에 의해 특정된 사이클의 수를 사이클링시킨 이후에, 뱅크 X 엑세스 시작 라인(104d) 상에서 인에이블 신호를 상태 머신(96)으로 리턴시킨다.
다른 타이밍 특성도 본 명세서에 기술된 방법으로 추가적인 카운터를 통해 제어되며, 이는 통상적으로 메모리 컨트롤러와 바람직하게 인터페이스하는 다수의 메모리 저장 장치의 특정 설계에 의해 규정될 것이라는 것을 쉽게 알 수 있을 것이다. 예컨대, 도 7은 메모리 저장 장치의 단일 뱅크의 실행 능력을 조절하기에 적합한 카운터들을 도시한다. 그러나, 모든 동기형 DRAM 장치가 다중 뱅크 장치로 수행되지 않는 다면, 이들 장치의 모든 성능을 향상시키기 위하여 삽입된 상이한 뱅크로 엑세스할 수 있도록 한다. 이와 같이, 이러한 다른 뱅크용의 메모리 컨트롤러의 실행 능력을 조절하기에 적합한 추가적인 카운터가 사용될 수 있지만, 도시하지는 않는다. 특히, 각각의 뱅크는 개별적인 tRC카운터를 통상적으로 필요로 한다는 것은 쉽게 알 수 있을 것이다. 이러한 추가적인 뱅크의 실행 능력을 조정하기 위하여 본 발명의 원리를 적용하는 것은 본 명세서에 나타나도록 개시된 본 발명의 기술 분야에서 당업자의 능력이라면 실현 가능하다.
각각의 실시예에서, 특정 타이밍 특성에 대한 지연 카운터는 메모리 컨트롤러에 대한 최소 수의 클록 사이클로 선택되며, 이는 메모리 컨트롤러가 조정되는 특정 메모리 저장 장치용의 타이밍 파라미터와 동일하거나 또는 초과하게 될 것이다. 예컨대, 메모리 컨트롤러가 7.5ns 클록 사이클로 동작하고, 하나의 특정 메모리 저장 장치는 68ns의 타이밍 파라미터를 가지며, 반면에, 또 다른 특정 메모리 저장 장치는 37.5ns의 타이밍 파라미터를 가지는 경우, 전자의 장치에 대한 최적의 지연 카운트는 10이 될 것이며, 반면에 후자의 장치에 대한 최적의 지연 카운트는 5가 될 것이다.
각각의 카운터(98a-98d)는 전술한 바와 같이 감산형 카운터 또는 가산형 카운터 중 어느 하나를 사용하여 실현될 수 있다. 예컨대, 도 8은 감산형 카운터(110)의 하나의 적합한 구현예를 도시한다. 카운터(110)는 1..n까지의 1비트래치(112)들을 포함하고, 여기서 n은 특정 카운터의 최대 지연 카운트를 저장하는 데에 필요한 비트의 수이다. 예컨대, 16 사이클 지연을 지원하려면 4비트 카운터면 족하고, 이는 대부분의 메모리 저장 장치용의 상당수의 타이밍 파라미터를 조절하는 데에 적합하다.
각각의 래치의 활성 하이(Q) 출력은 감산기(114)로 제공되고, 이의 응답으로 래치(112)에 저장된 카운트보다 적은 하나를 나타내는 n 비트의 광역 신호를 출력한다. 이 감산된 신호는 멀티플렉서(118)의 제1 입력(D1)으로 공급된다. 각각의 비트가 하나의 래치(112)에 이의 입력으로 공급된 채로, 멀티플렉서(118)는 n비트의 출력을 갖는다.
멀티플렉서(118)로의 제2 입력(D2)은 메모리 파라미터 레지스터의 적절한 비트로부터 n 비트 파라미터 값, 또는 지연 카운트를 수신하도록 접속된다. 또한, 각각의 래치(112)의 활성 하이(Q) 출력도 멀티플렉서(118)를 향한 제3 데이터 입력에 제공된다.
래치(112)의 활성 로우() 출력은 n 비트의 AND 게이트를 통해 논리적으로 함께 엔드(AND) 연산되어, 모든 래치(112)의 활성 하이(Q) 출력이 제로인 경우(카운터에 대한 제로 카운트를 나타냄), 인에이블 신호를 출력한다(여기서는 "파라미터가 맞춰"지는 경우로 지정됨).
멀티플렉서(118)는 2개의 게이트 신호(G1, G2)에 의해 게이팅된다. 제1 게이트 신호(G1)는 상태 머신으로부터 지연 신호를 수신한다(여기서는 "파라미터가 맞춰"지는 경우로 지정됨). 제2 게이트 신호(G2)는 AND 게이트(116)에 의해 출력된인에이블 신호를 수신한다. 3개의 데이터 입력(D1-D3) 중 어느 하나가 멀티플렉서(118)의 출력에 접속되었는 지는 하기의 표 1에 한정된 바와 같이 신호(G1, G2)의 상태에 따라 결정된다.
G1 G2 출력
1 X D2
0 0 D1
0 1 D3
전술한 구성을 토대로 하여 게이트 신호(G1)의 어서팅에 대한 응답에서, 입력(D2)에 공급된 지연 카운트는 멀티플렉서(118)에 의해 출력되어 다수의 래치(112)로 공급되고, 결과적으로 이의 활성 하이(Q) 출력은 감산기(114)로 공급된다. 다음 클록 사이클 동안, 지연 신호가 디어서팅된 경우, 래치(112)제로의 카운트를 저장할 때의 이들 시간까지 그 이후의 각각의 클록 사이클에 대하여 래치(112)에 저장된 카운트를 감산시키기 위하여 감산기(114)의 출력은 멀티플렉서(118)의 출력으로 전송된다. 이 시간에 인에이블 신호는 AND 게이트에 의해 어서팅됨으로써, 제2 게이트 신호(G2)가 어서팅되고, 카운터가 지연 시간의 어서팅을 통하여 재시작되는 경우의 시간까지 제로의 값을 갖는 카운터를 멈추게 하는 효과를 갖게 된다.
가산형 카운터의 적합한 구현예는 도 9에 참조 번호 120으로 도시된다. 이 구현예에서, 1..n 래치(122)의 활성 하이(Q) 출력은 가산기(124), 비교기(126) 및 멀티플렉서(128)의 제3 데이터 입력(D3)에 공급된다. 가산기(124)의 출력은 1 더하여진 래치에 저장된 현재의 카운트이며, 이는 멀티플렉서(128)의 제1 데이터입력(D1)에 공급된다. 멀티플렉서(128)의 제2 데이터 입력(D2)은 카운터로 제로의 초기 카운트를 제공하기 위하여 접지된다.
멀티플렉서(128)의 출력은 래치(122)의 데이터(D) 입력에 접속된다. 멀티플렉서(128)의 제1 게이트 입력(G1)은 상태 머신에 의해 출력된 지연 신호에 접속된다(여기서는 "파라미터 시작"으로 지정됨). 제2 게이트 입력(G2)은 비교기(126)의 출력을 수신하도록 접속된다. 표 1과 관련하여 전술한 바와 같은 동일한 멀티플렉서 출력 로직은 이 구현예에서도 사용된다.
동작에서, 상태 머신으로부터 지연 신호를 어서팅하면, 데이터 입력(D2)에 인가된 초기 제로 카운트가 바로 래치(122)로 출력되어 카운터를 제로로 초기화시킨다. 지연 신호를 디어서팅하면, 가산기(124)로부터 출력된 증가된 카운터 값이 멀티플렉서에 의해 래치(122)로 전송된다. 이후에, 이러한 각각의 클록 사이클에 대하여 래치(122)에 저장된 현재의 카운트가 비교기(126) 내의 메모리 파라미터 레지시터에 출력된 파라미터 값과 비교한다. 따라서, 이 카운터는 현재의 카운트가 원하는 지연 카운트와 동일해질 때까지 각각의 클록 사이클을 증가시킨다. 이 시간에, 인에이블 신호는 비교기(126)에 의해 어서팅되고, 카운터는 멀티플렉서(128)의 제2 게이트 입력(G2)의 어서팅에 의해 정지된다.
지연 신호의 어서팅 이후에 인에이블 신호의 어서팅을 원하는 수의 클록 사이클 만큼 지연시키기 위하여 대용의 카운터 구현예가 사용될 수 있음을 쉽게 이해할 수 있을 것이다.
도 10 및 도 11은 가상적으로 각각의 제1 및 제2 동기형 DRAM 메모리 저장장치로의 판독 및 기록 엑세스시에 적합한 타이밍도를 각각 도시한다. 판독 엑세스에 대하여, 도 10에는 4 개의 버스트 길이의 타이밍 파라미터를 갖는 제1 동기형 DRAM이 도시되며, 이들 파라미터는 3 사이클의 컬럼 어드레스 스트로브 지연 및 3사이클의지연 시간(tRCD)이다. 제1 메모리 저장 장치로의 판독 엑세스를 처리하는 것과 관련된 다수의 제어 신호들은 도 10에 도시되며, 이 제어 신호들은 클록 신호(CLK), 클록 인에이블 신호(CKE), 활성 로우(low) 칩 선택 신호(), 활성 로우 로우 어드레스 스트로브 신호(), 활성 로우 칼럼 어드레스 스트로브 신호(), 활성 로우 기록 인에이블 신호(), 12 비트의 어드레스 신호 [개별적으로 표시된 어드레스 라인(A10) 포함] 및 데이터 출력 라인(DQ) 이다. 이 클록 신호의 나타내어진 사이클은 T0-T13으로 표시된다.
도 10에 도시된 바와 같이, 판독 엑세스는 사이클 T0에서 클록 인에이블 신호의 어서팅 이후에 사이클 T1에서 시작한다. 이 때, 이라인은 어서팅 되고,라인은 디어서팅된다. 또한 로우 어드레스(RAx)는 어드레스 라인에 공급된다. 그러므로, 3개의 사이클의지연에 따라 클록 사이클(T4)에서 컬럼 어드레스는 이 장치로 공급되고,신호는 어서팅되고,신호는 디어서팅되어 칼럼 어드레스가 어드레스 라인(A0-A9, A11)에 공급된다. 이 특정 구현예에서, 어드레스 라인(A10)이 자동 프리차지 명령을 나타내도록 어서팅된다. 3 사이클의지연에 따라, 요청된 데이터는 사이클(T7)에 시작하는 데이터 라인(DQ) 상으로 공급된다. 그러므로, 또한 4의 버스트 길이에 따라 4개의 연속적인 어드레스(Ax0, Ax1, Ax3, Ax4)에 저장된 데이터는 4개의 이어지는 사이클에 공급된다.
도 10에 나타난 특정 메모리 저장 장치에 대하여, 프리차지 시간(tRP)은 대략 20.4ns이다. 이 파라미터를 맞추기 위한 최적의 컨트롤러 지연은 클록 사이클(T8)에서의 자동 프리차지와 클록 사이클(T11)에서 시작하는 다음 활성 커맨드 사이의 시간 기간으로서 도 10에 나타난다.
도 10에 나타난 바와 같은 메모리 저장 장치에 대한 활성 커맨드 기간(tRAS)은 대략 47.6ns이다. 이 파라미터를 맞추기 위한 최적의 컨트롤러 지연은 클록 사이클(T1)에서 시작하는 활성 커맨드와 사이클(T8)에서의 발생하는 프리차지의 시작 사이의 시간 기간으로서 도 10에 나타난다. 또한, 각각의 클록 사이클(T1 및 T11)에서의 2개의 연속적인 활성 커맨드들 간의 시간 주기로서 나타내어진 최적 컨트롤러 지연에 따라, 메모리 저장 장치로의 뱅크 사이클 시간(t RC )는 대략 68ns이다. 또한, 이 장치에 대하여 프리차지 시간 파라미터(tDPL)로의 데이터 입력은 대략 8ns이지만, 도 10은 기록 엑세스에 대해서만 관계있으므로 도시되지 않았다.
본 실시예를 도시할 목적으로 본 발명에 따른 메모리 컨트롤러가 도 7과 관련하여 전술한 4개의 파라미터, 즉 tRP, tRAS, tRC및 tDPL, 그리고 2개의 추가적인 파라미터지연 및 tRDC를 변경시키도록 구성되었다. 메모리 컨트롤러 클록 사이클 시간을 대략 7.5ns로 가정하면, 다음과 같은 표 2에서 특정된 지연 카운트에 따라 최적으로 구성될 것이다.
특성 파라미터 지연 카운트
tRP 20.4 ns 3
tRAS 47.6 ns 7
tRC 68 ns 10
tDPL 8 ns 2
지연 3 사이클 3
tRCD 3 사이클 3
도시를 단순화시키기 위하여 메모리 저장 장치의 단일 뱅크에 따라 발생한 신호 동작만이 도 10에 도시된다. 본 장치의 또 다른 뱅크가 2개의 활성 커맨드 사이의 시간 기간 동안 엑세스될 수 있음을 쉽게 알 수 있을 것이다. 예컨대, 다른 뱅크에 엑세스하기 위하여 대체 뱅크에 대한 로우 및 컬럼 어스레스가 엑세스 요구를 시작하기 위하여 클록 사이클(T6, T9)에 공급될 수 있으며, 반면에 데이터는 제1 뱅크로 출력된다.
도 11은 동일한 메모리 컨트롤러로 사용하기에 적합한 또 다른 메모리 저장 장치용 제어 신호의 타이밍을 도시하며, 이는 기록 엑세스하는 동안의 시간이다. 이 메모리 저장 장치에 따라지연 및 tRCD는 각각의 2개의 사이클이다. 또한, 이 장치의 프리차지 시간은 대략 15ns이며, 활설 커맨드 기간(tRAS)은 대략 40ns이다. 또한, 뱅크 사이클 시간은 대략 55ns로 감소되었다. 이 도면에서 추가적으로 도시된 것은 프리차지(tDPL)로의 데이터 입력을 나타내며, 이 장치에서는 대략 6ns를 나타낸다. 따라서, 다음 활성 커맨드의 프리차지를 초기화하는 것에 대한 클록 사이클(T1)에서 시작한 기록 동작 동안의 기록된 마지막 데이터들 간의 지연은 클록 사이클(T6)의 시작과 클록 사이클(T7)에서 수행되는 프리차지의 시작 사이에 발생하는 것으로 나타내어 진다.
따라서, 도 10을 참조하여 전술한 동일한 실시예의 메모리 컨트롤러를 최적화하기 위하여 하기의 표 3에 특정된 최적의 지연 카운트가 사용될 것이다.
특성 파라미터 지연 카운트
tRP 15 ns 2
tRAS 40 ns 6
tRC 55 ns 8
tDPL 6 ns 1
지연 2 사이클 2
tRCD 2 사이클 2
컨트롤러에 접속된 특정 메모리 저장 장치용으로 적합한 포맷으로 판독/기록 데이터를 초기화하기 위해 전술한 I/O 메모리 신호의 타이밍을 조정하기에 적합한 상태 머신의 구성은 해당 기술 분야의 일반적인 당업자의 능력 이라면 쉽게 알 수 있을 것이다.
다수의 변형 실시예가 본 발명의 사상 및 범주를 벗어나지 않는 범위 내에서 도시된 실시예 대로 구성될 수 있다. 따라서, 본 발명은 하기에 첨부되는 특허청구범위의 범주 내에 놓이게 된다.

Claims (24)

  1. 메모리 컨트롤러 회로 장치에 있어서,
    (a) 제1 및 제2 메모리 제어 동작을 수행함으로써 적어도 하나의 메모리 저장 장치 ―여기서, 이 메모리 장치는 상기 제1 및 제2 메모리 제어 동작간의 최소 지연을 정의하는 기설정된 타이밍 파라미터를 갖는 형태의 것임 ―와의 데이터 전송을 제어하도록 구성된 논리 회로와,
    (b) 상기 논리 회로에 접속되고, 제1 및 제2 메모리 제어 동작간의 지연을 제어하여 제2 메모리 제어 동작의 실행 능력을 지연시키도록 프로그램 가능 지연 카운터를 선택된 수의 클록 사이클만큼 사이클링(cycling)함으로써 상기 메모리 저장 장치에 대해 기설정된 타이밍 파라미터에 맞추도록 구성된 튜닝 회로
    를 포함하는 메모리 컨트롤러 회로 장치.
  2. 제1항에 있어서, 상기 제1 메모리 제어 동작은 제어 신호를 어서팅(assering)며, 상기 제2 메모리 제어 동작은 상기 제어 신호를 디어서팅(deasserting)시키는 것을 포함하는 것인 메모리 컨트롤러 회로 장치.
  3. 제1항에 있어서, 상기 제1 메모리 제어 동작은 제1 제어 신호를 어서팅시키는 것을 포함하며, 상기 제2 메모리 제어 동작은 제2 제어 신호를 어서팅시키는 것을 포함하는 것인 메모리 컨트롤러 회로 장치.
  4. 제1항에 있어서, 상기 제1 및 제2 메모리 제어 동작은 개별적인 메모리 엑세스 사이클로 수행되는 것인 메모리 컨트롤러 회로 장치.
  5. 제4항에 있어서, 상기 제1 및 제2 메모리 제어 동작은 연속적인 메모리 엑세스 사이클로 수행되는 것인 메모리 컨트롤러 회로 장치.
  6. 제1항에 있어서, 상기 제1 및 제2 메모리 제어 동작은 동일한 메모리 엑세스 사이클로 수행되는 것인 메모리 컨트롤러 회로 장치.
  7. 제1항에 있어서, 상기 기설정된 타이밍 파라미터는 뱅크 사이클 시간, 활성 커맨드 주기 시간, 프리차지 시간으로의 데이터 입력, 프리차지 시간,지연 시간,지연 시간으로 구성된 그룹으로부터 선택된 타이밍 특성과 관련된 것인 메모리 컨트롤러 회로 장치.
  8. 제1항에 있어서, 상기 튜닝 회로는 상기 프로그램 가능 지연 카운터에 접속되고, 상기 메모리 저장 장치에 대한 상기 기결정된 타이밍 파라미터에 맞추기 위해 상기 제2 메모리 제어 동작의 실행 능력을 지연시키도록 다수의 클록 사이클을 나타내는 지연 카운트를 저장하도록 구성된 구성 레지스터(configuration register)를 더 포함하는 것인 메모리 컨트롤러 회로 장치.
  9. 제8항에 있어서, 상기 튜닝 회로는 상기 프로그램 가능 지연 카운터 내의 상기 구성 레지스터에 저장된 상기 지연 카운트를 저장하고, 그 후 상기 프로그램 가능 카운터에서 각 클록 사이클만큼을 감소시키며, 상기 프로그램 가능 지연 카운터가 제로값에 도달하면 상기 제2 메모리 제어 동작의 실행 능력을 인에이블시키도록 구성된 것인 메모리 컨트롤러 회로 장치.
  10. 제8항에 있어서, 상기 튜닝 회로는 상기 프로그램 가능 카운터가 제로값을 갖도록 초기화시키고, 그 후 상기 프로그램 가능 지연 카운터에서 각 클록 사이클을 가산시키며, 상기 프로그램 가능 지연 카운터가 상기 구성 레지스터 내에 저장된 상기 지연 카운트와 동일하게 되면, 상기 제2 메모리 제어 동작의 실행 능력을 인에이블시키도록 구성된 것인 메모리 컨트롤러 회로 장치.
  11. 제8항에 있어서, 상기 튜닝 회로는 외부 입력에 응답하여 상기 구성 레지스터 내에 상기 지연 카운트를 저장하도록 구성되는 것인 메모리 컨트롤러 회로 장치.
  12. 제8항에 있어서, 상기 구성 레지스터 내에 저장된 상기 지연 카운트는 상기 제1 및 제2 메모리 제어 동작의 실행 능력 간의 총 클록 사이클 수와 동일한 것인 메모리 컨트롤러 회로 장치.
  13. 제1항에 있어서, 상기 메모리 저장 장치는 상기 논리 회로에 의하여 수행된 제3 및 제4 메모리 제어 동작간의 제2 최저 지연을 정의하는 제2 기설정된 타이밍 파라미터를 구비하며, 상기 튜닝 회로는 상기 제3 및 제4 메모리 제어 동작간의 지연을 제어하여 상기 제4 메모리 제어 동작의 실행 능력을 지연시키도록 제2 지연 카운터를 제2 선택된 수의 클록 사이클만큼 사이클링함으로써 상기 메모리 저장 장치에 대한 상기 제2 기설정된 타이밍 파라미터를 맞추도록 추가적으로 구성된 것인 메모리 컨트롤러 회로 장치.
  14. 청구항 제1항에 기재된 회로 장치를 포함하는 집적 회로 장치.
  15. 청구항 제1항에 기재된 회로 장치를 포함하는 네트웍 어댑터.
  16. 청구항 제1항에 기재된 회로 장치를 포함하는 데이터 처리 시스템.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 메모리 컨트롤러를 사용하여, 복수 형태의 메모리 저장 장치들 ―여기서, 이 복수 형태의 메모리 저장 장치들은 그 복수 형태의 메모리 저장 장치에 공통되는 실행 능력 특성과 연관된 가변 타이밍 파라미터(varying timing parameters)를 가짐 ―중 하나의 메모리 저장 장치와의 데이터 전송을 제어하는 방법에 있어서,
    (a) 상기 메모리 저장 장치에서 수행되는 제1 및 제2 메모리 제어 동작간의 최소 지연을 정의하는 그 메모리 저장 장치에 대해 기설정된 타이밍 파라미터와 연관된 구성 파라미터(configuration parameter)를 수신하는 단계와,
    (b) 상기 구성 파라미터에 기초하여, 상기 제2 메모리 제어 동작의 실행 능력을 지연시키도록 프로그램 가능 지연 카운터를 선택된 수의 클록 사이클만큼 사이클링함으로써 상기 제1 및 제2 메모리 제어 동작의 수행간의 지연을 제어 가능하도록 변화시키는 단계
    를 포함하는 메모리 저장 장치와의 데이터 전송 제어 방법.
  21. 제20항에 있어서, 상기 프로그램 가능 지연 카운터에 접속된 구성 레지스터 내의 상기 구성 파라미터를 나타내는 지연 카운트를 저장하는 단계를 더 포함하는 데이터 전송 제어 방법.
  22. 제21항에 있어서, 상기 지연을 제어 가능하게 가변시키는 단계는,
    (a) 상기 구성 레지스터 내에 저장된 상기 지연 카운트를 상기 프로그램 가능 지연 카운터에 저장하는 단계와;
    (b) 상기 프로그램 가능 지연 카운터에서 각각의 클록 사이클만큼을 감소시키는 단계와;
    (c) 상기 프로그램 가능 지연 카운터가 제로값에 도달하면 상기 제2 메모리 제어 동작의 실행 능력을 인에이블시키는 단계를 포함하는 것인 데이터 전송 제어 방법.
  23. 제21항에 있어서, 상기 지연을 제어 가능하게 가변시키는 단계는,
    (a) 상기 프로그램 가능 지연 카운터를 제로값으로 초기화하는 단계와,
    (b) 상기 프로그램 가능 지연 카운터에서 각각의 클록 사이클만큼을 증가시키는 단계와,
    (c) 상기 프로그램 가능 지연 카운터가 상기 구성 레지스터 내에 저장된 상기 지연 카운트와 동일해지면 상기 제2 메모리 제어 동작의 실행 능력을 인에이블시키는 단계를 포함하는 것인 데이터 전송 제어 방법.
  24. 제21항에 있어서, 상기 구성 레지스터 내에 저장된 상기 지연 카운트는 상기 제1 및 제2 메모리 제어 동작의 실행 능력간의 총 클록 사이클 수와 동일한 것인 데이터 전송 제어 방법.
KR10-2001-7003241A 1998-10-02 1999-03-10 제어된 메모리 저장 장치의 타이밍 파라미터를 토대로 하여 실행 능력을 조절하기 위한 프로그램 가능 지연 카운터를 갖는 메모리 컨트롤러 KR100450726B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/166,004 US6438670B1 (en) 1998-10-02 1998-10-02 Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device
US09/166,004 1998-10-02

Publications (2)

Publication Number Publication Date
KR20010075082A KR20010075082A (ko) 2001-08-09
KR100450726B1 true KR100450726B1 (ko) 2004-10-01

Family

ID=22601388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7003241A KR100450726B1 (ko) 1998-10-02 1999-03-10 제어된 메모리 저장 장치의 타이밍 파라미터를 토대로 하여 실행 능력을 조절하기 위한 프로그램 가능 지연 카운터를 갖는 메모리 컨트롤러

Country Status (6)

Country Link
US (3) US6438670B1 (ko)
EP (1) EP1116123B1 (ko)
JP (1) JP2002526861A (ko)
KR (1) KR100450726B1 (ko)
DE (1) DE69907704D1 (ko)
WO (1) WO2000020978A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100936149B1 (ko) * 2006-12-29 2010-01-12 삼성전자주식회사 복수의 비휘발성 메모리를 갖는 메모리 시스템 그것의 메모리 억세스 방법

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539440B1 (en) * 1998-11-16 2003-03-25 Infineon Ag Methods and apparatus for prediction of the time between two consecutive memory accesses
US6519716B1 (en) * 1999-09-22 2003-02-11 International Business Machines Corporation Electronic device initialization with dynamic selection of access time for non-volatile memory
US6684314B1 (en) * 2000-07-14 2004-01-27 Agilent Technologies, Inc. Memory controller with programmable address configuration
KR100389916B1 (ko) * 2000-08-28 2003-07-04 삼성전자주식회사 메모리 모듈 및 메모리 컨트롤러
JP4549628B2 (ja) * 2000-12-08 2010-09-22 富士通セミコンダクター株式会社 メモリ回路試験システム、半導体装置及びメモリ試験方法
JP4922480B2 (ja) * 2000-12-19 2012-04-25 株式会社アドバンテスト 半導体デバイス試験装置
US6553472B2 (en) * 2001-01-12 2003-04-22 Sun Microsystems, Inc. Method for programming clock delays, command delays, read command parameter delays, and write command parameter delays of a memory controller in a high performance microprocessor
US6934871B2 (en) * 2001-05-17 2005-08-23 Lsi Logic Corporation Programmable counters for setting bus arbitration delays involves counting clock cycles equal to a count number loaded from a memory
KR100432218B1 (ko) 2001-07-28 2004-05-22 삼성전자주식회사 데이타 액세스 타이밍을 조정하는 듀얼 포트 메모리콘트롤러
US6424198B1 (en) * 2001-08-09 2002-07-23 International Business Machines Corporation Memory clock generation with configurable phase advance and delay capability
FR2829253A1 (fr) * 2001-08-31 2003-03-07 Koninkl Philips Electronics Nv Controle d'acces dynamique d'une fonction a ressource collective
US6779096B1 (en) * 2001-09-29 2004-08-17 Apple Computer, Inc. Method and apparatus for a calibrated variable phase offset timing between synchronous clock subdomains
US6941416B2 (en) 2001-10-04 2005-09-06 Zilog, Inc. Apparatus and methods for dedicated command port in memory controllers
US20040098549A1 (en) * 2001-10-04 2004-05-20 Dorst Jeffrey R. Apparatus and methods for programmable interfaces in memory controllers
US6883045B1 (en) * 2001-10-15 2005-04-19 Advanced Micro Devices, Inc. Apparatus for reordering graphics responses in a peripheral interface circuit for an I/O node of a computer system
US6594748B1 (en) * 2001-11-09 2003-07-15 Lsi Logic Corporation Methods and structure for pipelined read return control in a shared RAM controller
KR100454126B1 (ko) * 2002-01-15 2004-10-26 삼성전자주식회사 분리된 클록 라인을 구비한 정보 처리 시스템
US6934899B2 (en) * 2002-01-30 2005-08-23 Etron Technology, Inc. Variable self-time scheme for write recovery by low speed tester
US6778175B2 (en) * 2002-02-05 2004-08-17 Xgi Technology Inc. Method of arbitration of memory request for computer graphics system
JP3800164B2 (ja) * 2002-10-18 2006-07-26 ソニー株式会社 情報処理装置、情報記憶装置、情報処理方法、及び情報処理プログラム
US20040203483A1 (en) * 2002-11-07 2004-10-14 International Business Machines Corporation Interface transceiver power mangagement method and apparatus
US7043611B2 (en) * 2002-12-11 2006-05-09 Lsi Logic Corporation Reconfigurable memory controller
US7096349B1 (en) * 2002-12-16 2006-08-22 Advanced Micro Devices, Inc. Firmware algorithm for initializing memory modules for optimum performance
KR100560646B1 (ko) * 2002-12-20 2006-03-16 삼성전자주식회사 지연된 오토프리챠지 기능을 갖는 반도체 메모리 장치
JP2004213337A (ja) * 2002-12-27 2004-07-29 Nec Computertechno Ltd 半導体記憶装置及び実装型半導体装置
US6925542B2 (en) * 2003-03-21 2005-08-02 Freescale Semiconductor, Inc. Memory management in a data processing system
JP4792196B2 (ja) * 2003-03-27 2011-10-12 三洋電機株式会社 データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US20050041453A1 (en) * 2003-08-22 2005-02-24 Brazis Paul W. Method and apparatus for reading and writing to solid-state memory
US7310752B2 (en) 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
US7433258B2 (en) * 2003-10-10 2008-10-07 Datasecure Llc. Posted precharge and multiple open-page RAM architecture
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US6940768B2 (en) * 2003-11-04 2005-09-06 Agere Systems Inc. Programmable data strobe offset with DLL for double data rate (DDR) RAM memory
US6829191B1 (en) 2003-12-03 2004-12-07 Hewlett-Packard Development Company, L.P. Magnetic memory equipped with a read control circuit and an output control circuit
US7216196B2 (en) * 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
KR100546403B1 (ko) * 2004-02-19 2006-01-26 삼성전자주식회사 감소된 메모리 버스 점유 시간을 가지는 시리얼 플레쉬메모리 컨트롤러
US7310748B2 (en) * 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
JP4616586B2 (ja) * 2004-06-30 2011-01-19 富士通株式会社 メモリ初期化制御装置
TWI245287B (en) * 2004-09-08 2005-12-11 Via Tech Inc Method for initialization drams
CN100395740C (zh) * 2004-11-03 2008-06-18 明基电通股份有限公司 通用型串行传输系统、打印机及其控制方法
US7139673B1 (en) * 2004-11-05 2006-11-21 Xilinx, Inc. Method of and circuit for verifying a data transfer protocol
JP2006134196A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd ディスクアレイ装置
US8099638B2 (en) * 2004-11-12 2012-01-17 Ati Technologies Ulc Apparatus and methods for tuning a memory interface
US20060136606A1 (en) * 2004-11-19 2006-06-22 Guzy D J Logic device comprising reconfigurable core logic for use in conjunction with microprocessor-based computer systems
US7650481B2 (en) * 2004-11-24 2010-01-19 Qualcomm Incorporated Dynamic control of memory access speed
US7532218B1 (en) * 2005-02-01 2009-05-12 Nvidia Corporation Method and apparatus for memory training concurrent with data transfer operations
US8881233B2 (en) * 2005-05-23 2014-11-04 Microsoft Corporation Resource management via periodic distributed time
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8438328B2 (en) * 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US7609567B2 (en) * 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
GB2441726B (en) 2005-06-24 2010-08-11 Metaram Inc An integrated memory core and memory interface circuit
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8619452B2 (en) 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
US8244971B2 (en) * 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
DE102005031643B4 (de) * 2005-07-06 2007-06-14 Infineon Technologies Ag DRAM-Speicher
US9048951B2 (en) * 2005-09-02 2015-06-02 Georgios Margaritis Free space optics photodetector and transceiver
CN100349108C (zh) * 2005-11-21 2007-11-14 北京中星微电子有限公司 与非门快闪存储器的物理接口、接口方法和管理设备
JP2007156567A (ja) * 2005-11-30 2007-06-21 Toshiba Corp 情報処理装置、およびメモリ制御方法
US7752488B2 (en) * 2006-01-06 2010-07-06 International Business Machines Corporation Method to adjust error thresholds in a data storage and retrieval system
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
ITTO20060719A1 (it) * 2006-10-06 2008-04-07 Micron Technology Inc Architettura di registri filtrati per generare segnali per attuatori
US7764798B1 (en) * 2006-07-21 2010-07-27 Cingular Wireless Ii, Llc Radio frequency interference reduction in connection with mobile phones
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US20080114960A1 (en) * 2006-11-14 2008-05-15 Tau-Li Huang Memory control methods for accessing a memory with partial or full serial transmission, and related apparatus
TWI311326B (en) * 2006-12-01 2009-06-21 Realtek Semiconductor Corp Memory controller and signal synchronizing method thereof
US8140803B2 (en) * 2007-01-09 2012-03-20 International Business Machines Corporation Structure for reducing latency associated with read operations in a memory system
US20080276133A1 (en) * 2007-05-02 2008-11-06 Andrew Hadley Software-Controlled Dynamic DDR Calibration
JP4922834B2 (ja) * 2007-05-29 2012-04-25 株式会社日立製作所 コンピュータシステムに存在するリソースの性能を監視する装置及び方法
WO2008149415A1 (ja) * 2007-06-04 2008-12-11 Fujitsu Limited パケットスイッチ装置
US8209479B2 (en) * 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8099564B1 (en) * 2007-08-10 2012-01-17 Xilinx, Inc. Programmable memory controller
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
JP5103663B2 (ja) 2007-09-27 2012-12-19 ルネサスエレクトロニクス株式会社 メモリ制御装置
JP2009282721A (ja) 2008-05-21 2009-12-03 Nec Electronics Corp メモリコントローラ、メモリコントロールシステム及びメモリ遅延量制御方法
US8295402B2 (en) * 2008-06-04 2012-10-23 Qualcomm Incorporated Optimal blind channel estimation for DQPSK demodulation
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
TWI414925B (zh) * 2008-11-27 2013-11-11 Asustek Comp Inc 決定記憶體模組控制訊號之品質參數的方法及其電子裝置
DE102009007215A1 (de) * 2009-02-03 2010-08-05 Siemens Aktiengesellschaft Automatisierungssystem mit einem programmierbaren Matrixmodul
TWI474260B (zh) * 2009-02-16 2015-02-21 Asustek Comp Inc 電腦系統與其主機板上之記憶體電路和開機方法
CN101859330B (zh) * 2009-04-09 2012-11-21 辉达公司 验证集成电路效能模型的方法
DE202010017690U1 (de) 2009-06-09 2012-05-29 Google, Inc. Programmierung von Dimm-Abschlusswiderstandswerten
TWI400607B (zh) * 2009-06-11 2013-07-01 Asustek Comp Inc 調整記憶體內部參數的方法及使用其之電腦系統
US8248869B1 (en) * 2009-10-16 2012-08-21 Xilinx, Inc. Configurable memory map interface and method of implementing a configurable memory map interface
US20120110400A1 (en) * 2010-11-01 2012-05-03 Altera Corporation Method and Apparatus for Performing Memory Interface Calibration
US8806245B2 (en) * 2010-11-04 2014-08-12 Apple Inc. Memory read timing margin adjustment for a plurality of memory arrays according to predefined delay tables
US8914564B2 (en) * 2010-12-29 2014-12-16 Silicon Laboratories Inc. Port control apparatus and associated methods
US8880831B2 (en) * 2011-05-12 2014-11-04 Advanced Micro Devices, Inc. Method and apparatus to reduce memory read latency
US20130151755A1 (en) 2011-12-12 2013-06-13 Reuven Elhamias Non-Volatile Storage Systems with Go To Sleep Adaption
US9519428B2 (en) 2012-09-26 2016-12-13 Qualcomm Incorporated Dynamically improving performance of a host memory controller and a memory device
US8581756B1 (en) 2012-09-27 2013-11-12 Cirrus Logic, Inc. Signal-characteristic determined digital-to-analog converter (DAC) filter stage configuration
US9411721B2 (en) 2013-11-15 2016-08-09 Sandisk Technologies Llc Detecting access sequences for data compression on non-volatile memory devices
US9287005B2 (en) * 2013-12-13 2016-03-15 International Business Machines Corporation Detecting missing write to cache/memory operations
KR20150070528A (ko) * 2013-12-17 2015-06-25 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9594516B2 (en) * 2014-02-14 2017-03-14 Sony Semiconductor Solutions Corporation Memory device with variable trim parameters
US20160299894A1 (en) * 2015-04-07 2016-10-13 Victor Chernov Method of sparse array implementation for large arrays
US9601193B1 (en) 2015-09-14 2017-03-21 Intel Corporation Cross point memory control
US9818458B1 (en) 2015-09-23 2017-11-14 Intel Corporation Techniques for entry to a lower power state for a memory device
CN106557267A (zh) * 2015-09-29 2017-04-05 鸿富锦精密工业(深圳)有限公司 硬盘工作环境修改系统及修改方法
US20180095699A1 (en) * 2016-10-01 2018-04-05 National Tsing Hua University Memory system, memory device thereof, and method for writing to and reading from memory device thereof
US10090067B1 (en) 2017-05-30 2018-10-02 Seagate Technology Llc Data storage device with rewritable in-place memory
US10068663B1 (en) 2017-05-30 2018-09-04 Seagate Technology Llc Data storage device with rewriteable in-place memory
US10147501B1 (en) 2017-05-30 2018-12-04 Seagate Technology Llc Data storage device with rewriteable in-place memory
US11449431B2 (en) 2017-05-30 2022-09-20 Seagate Technology Llc Data storage device with rewritable in-place memory
CN109600195B (zh) * 2017-09-30 2020-09-25 电信科学技术研究院 一种信息交织方法、信息解交织方法及相关装置
US10866900B2 (en) 2017-10-17 2020-12-15 Samsung Electronics Co., Ltd. ISA extension for high-bandwidth memory
US11079945B2 (en) * 2018-09-20 2021-08-03 Ati Technologies Ulc Dynamic configuration of memory timing parameters
US10685722B1 (en) * 2019-01-24 2020-06-16 Western Digital Technologies, Inc. Method and system for improving performance of a storage device using asynchronous independent plane read functionality
US11314686B2 (en) * 2019-02-26 2022-04-26 Nxp Usa, Inc. Hardware for supporting time triggered load anticipation in the context of a real time OS
KR20230026877A (ko) * 2021-08-18 2023-02-27 에스케이하이닉스 주식회사 컴퓨팅 시스템 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0339224A2 (en) * 1988-04-29 1989-11-02 International Business Machines Corporation Memory controller

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4063308A (en) * 1975-06-27 1977-12-13 International Business Machines Corporation Automatic clock tuning and measuring system for LSI computers
US5276858A (en) * 1991-12-26 1994-01-04 Intel Corporation Memory controller with integrated delay line circuitry
US5809340A (en) 1993-04-30 1998-09-15 Packard Bell Nec Adaptively generating timing signals for access to various memory devices based on stored profiles
US6338148B1 (en) * 1993-11-10 2002-01-08 Compaq Computer Corporation Real-time test controller
US5692165A (en) 1995-09-12 1997-11-25 Micron Electronics Inc. Memory controller with low skew control signal
US6088774A (en) * 1996-09-20 2000-07-11 Advanced Memory International, Inc. Read/write timing for maximum utilization of bidirectional read/write bus
US6173345B1 (en) * 1998-11-03 2001-01-09 Intel Corporation Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0339224A2 (en) * 1988-04-29 1989-11-02 International Business Machines Corporation Memory controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100936149B1 (ko) * 2006-12-29 2010-01-12 삼성전자주식회사 복수의 비휘발성 메모리를 갖는 메모리 시스템 그것의 메모리 억세스 방법

Also Published As

Publication number Publication date
WO2000020978A1 (en) 2000-04-13
DE69907704D1 (de) 2003-06-12
JP2002526861A (ja) 2002-08-20
US6438670B1 (en) 2002-08-20
EP1116123B1 (en) 2003-05-07
KR20010075082A (ko) 2001-08-09
US20020013881A1 (en) 2002-01-31
US6453434B2 (en) 2002-09-17
EP1116123A1 (en) 2001-07-18
US6334174B1 (en) 2001-12-25

Similar Documents

Publication Publication Date Title
KR100450726B1 (ko) 제어된 메모리 저장 장치의 타이밍 파라미터를 토대로 하여 실행 능력을 조절하기 위한 프로그램 가능 지연 카운터를 갖는 메모리 컨트롤러
US5717654A (en) Burst EDO memory device with maximized write cycle timing
US5966724A (en) Synchronous memory device with dual page and burst mode operations
US5610864A (en) Burst EDO memory device with maximized write cycle timing
US5812488A (en) Synchronous burst extended data out dram
US6804760B2 (en) Method for determining a type of memory present in a system
JP5017708B2 (ja) ダブルデータレートダイナミックランダムアクセスメモリからのデータ取り出し方法、及びデータストローブ信号提供方法
US5526320A (en) Burst EDO memory device
EP1356468B1 (en) Method for programming memory controller in a high performance microprocessor
US6611905B1 (en) Memory interface with programable clock to output time based on wide range of receiver loads
US6940760B2 (en) Data strobe gating for source synchronous communications interface
US6782459B1 (en) Method and apparatus for controlling a read valid window of a synchronous memory device
US20010010655A1 (en) Method and system for accessing rows in multiple memory banks within an integrated circuit
US6594748B1 (en) Methods and structure for pipelined read return control in a shared RAM controller
WO1996020480A9 (en) System adapted to receive multiple memory types
US20150113236A1 (en) Memory controller
US6529424B2 (en) Propagation delay independent SDRAM data capture device and method
KR100297895B1 (ko) 동기식 dram-타입 메모리와 시스템 버스간의 데이터 전송을 제어하는 방법 및 장치
JP4206508B2 (ja) 信号制御回路
EP0798645B1 (en) Bus controller and information processing device
EP1262989B1 (en) System to set burst mode in a device
KR100284987B1 (ko) 버스트 edo 메모리 장치 어드레스 카운터
JP2003228512A (ja) データ転送装置
JP2000284959A (ja) データアクセス装置
JP2000187635A (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