KR20070012857A - 메모리 허브 및 메모리 시퀀싱 방법 - Google Patents

메모리 허브 및 메모리 시퀀싱 방법 Download PDF

Info

Publication number
KR20070012857A
KR20070012857A KR1020067026356A KR20067026356A KR20070012857A KR 20070012857 A KR20070012857 A KR 20070012857A KR 1020067026356 A KR1020067026356 A KR 1020067026356A KR 20067026356 A KR20067026356 A KR 20067026356A KR 20070012857 A KR20070012857 A KR 20070012857A
Authority
KR
South Korea
Prior art keywords
memory
sequencer
requests
operable
performance
Prior art date
Application number
KR1020067026356A
Other languages
English (en)
Other versions
KR100813422B1 (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 KR20070012857A publication Critical patent/KR20070012857A/ko
Application granted granted Critical
Publication of KR100813422B1 publication Critical patent/KR100813422B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch

Landscapes

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

Abstract

메모리 모듈은 몇 개의 메모리 디바이스들에 연결된 메모리 허브를 포함한다. 메모리 허브는 하나 이상의 시스템 메트릭들, 예를 들면, 페이지 히트 레이트, 프리페치 히트들, 및/또는 캐시 히트 레이트를 추적하는 적어도 하나의 성능 카운터를 포함한다. 성능 카운터는 성능 카운터에 의해 추적된 시스템 메트릭들에 기초하여 동작을 조정하는 메모리 시퀀서와 통신한다.
메모리 모듈, 메모리 디바이스, 메모리 허브, 시스템 메트릭, 성능 카운터

Description

메모리 허브 및 메모리 시퀀싱 방법{Memory hub and method for memory sequencing}
이 발명은 컴퓨터 시스템들에 관한 것으로, 특히 몇몇의 메모리 디바이스들을 프로세서 혹은 다른 메모리 액세스 디바이스에 연결하는 메모리 허브를 구비한 컴퓨터 시스템에 관한 것이다.
컴퓨터 시스템들은 프로세서에 의해 액세스되는 데이터를 저장하기 위해서 동적 랜덤 액세스 메모리("DRAM") 디바이스들과 같은 메모리 디바이스들을 사용한다. 이들 메모리 디바이스들은 통상적으로 컴퓨터 시스템에서 시스템 메모리로서 사용된다. 전형적인 컴퓨터 시스템에서, 프로세서는 프로세서 버스 및 메모리 제어기를 통해 시스템 메모리와 통신한다. 프로세서는 판독 명령, 및 데이터 혹은 명령들을 읽어낼 위치를 지정하는 주소와 같은 메모리 명령을 포함하는 메모리 요청을 발행한다. 메모리 제어기는 시스템 메모리에 인가되는 것들로서 행 및 열 주소들 및 적합한 명령신호들을 생성하기 위해서 명령 및 주소를 사용한다. 명령들 및 주소들에 응답하여, 데이터가 시스템 메모리와 프로세서간에 전송된다. 메모리 제어기는 흔히 시스템 제어기의 일부이고, 이 시스템 제어기는 PCI 버스와 같은 확장버스에 프로세서 버스를 연결하기 위한 버스 브리지 회로를 포함한다.
메모리 디바이스들의 동작속도가 계속하여 증가하였음에도 불구하고, 이러한 동작속도의 증가는 프로세서들의 동작속도의 증가와 보조를 맞추지 않았다. 프로세서들을 메모리 디바이스들에 연결하는 메모리 제어기들의 동작속도 증가는 훨씬 더 느렸다. 메모리 제어기들 및 메모리 디바이스들의 비교적 느린 속도는 프로세서와 메모리 디바이스들간의 데이터 대역폭을 제한시킨다.
프로세서들과 메모리 디바이스들간의 제한된 대역폭 외에도, 컴퓨터 시스템들의 성능은 시스템 메모리 디바이스들로부터 데이터를 읽는데 요구되는 시간을 증가시키는 레이턴시 문제들에 의해 또한 제한된다. 구체적으로, 메모리 디바이스 판독명령이 동기형 DRAM("SDRAM")디바이스와 같은 시스템 메모리 디바이스에 연결될 때, 판독 데이터는 몇 개의 클럭 기간들의 지연 후에만 SDRAM 디바이스로부터 출력된다. 그러므로, SDRAM 디바이스들이 높은 데이터 레이트로 동기에 맞추어 버스트 데이터를 출력할 수 있을지라도, 초기에 데이터를 제공함에 있어 지연은 이러한 SDRAM 디바이스들을 사용하는 컴퓨터 시스템의 동작속도를 현저하게 느리게 할 수 있다.
메모리 레이턴시 문제를 완화시키는 한 방법은 메모리 허브를 통해 프로세서에 연결된 복수 메모리 디바이스들을 사용하는 것이다. 메모리 허브 구조에서, 시스템 제어기 혹은 메모리 제어기는 몇 개의 메모리 모듈들에 연결되고, 그 각각은 몇 개의 메모리 디바이스들에 연결된 메모리 허브를 포함한다. 메모리 허브는 메모리 요청들 및 응답들을 제어기와 메모리 디바이스들간에 효율적으로 보낸다. 이러한 구조를 채용하는 컴퓨터 시스템들은 다른 메모리 디바이스가 이전 메모리 액세 스에 응답하고 있는 동안에 프로세서가 한 메모리 디바이스에 액세스할 수 있기 때문에 높은 대역폭을 가질 수 있다. 예를 들면, 프로세서는 시스템 내 다른 메모리 디바이스가 판독 데이터를 프로세서에 제공하는 것을 준비하고 있는 동안에 시스템 내 메모리 디바이스들 중 한 메모리 디바이스에 기입 데이터를 출력할 수 있다.
메모리 허브들을 사용하는 컴퓨터 시스템들이 우수한 수행을 제공할 수도 있지만, 그럼에도 이들은 몇가지 이유로 최적속도로 동작할 수 없다. 예를 들면, 메모리 허브들이 보다 큰 메모리 대역폭을 컴퓨터 시스템들에 제공할 수 있을지라도, 이들은 여전히 위에 기술한 유형의 레이턴시 문제를 안고 있다. 구체적으로, 다른 메모리 디바이스가 데이터 전송을 준비하고 있는 동안에 프로세서가 한 메모리 디바이스와 통신할 수 있을지라도, 다른 메모리 디바이스로부터 데이터가 사용될 수 있기 전에 한 메모리 디바이스로부터 데이터를 수신하는 것이 종종 필요하고, 다른 메모리 디바이스로부터 수신된 데이터가 사용될 수 있기 전에 한 메모리 디바이스로부터 데이터가 수신되어야 하는 경우에는 레이턴시 문제가 이러한 컴퓨터 시스템들의 동작속도를 계속하여 느리게 한다.
메모리 디바이스들에서 레이턴시를 줄이는데 사용되었던 한 기술은 데이터 프리페치, 즉 실행되는 프로그램에 의해 데이터가 요청되기 전에 시스템 메모리로부터 데이터를 읽어내는 것이다. 일반적으로, 프리페치할 데이터는 사전에 페치해온 데이터의 패턴에 기초하여 선택된다. 패턴은 실행되는 프로그램에 의해 데이터가 필요로 되기 전에 순차가 연속된 주소들로부터 데이터가 페치될 수 있도록 데이터를 페치할 일련의 주소들만큼이나 단순할 수 있다. "스트라이드"로서 알려진 패 턴은, 물론, 더 복잡할 수도 있다.
또한, 메모리 허브들이 보다 큰 메모리 대역폭을 컴퓨터 시스템들에 제공할 수 있을지라도, 이들은 여전히 스루풋 문제들을 안고 있다. 예를 들면, 데이터가 특정의 한 행의 메모리 셀들로부터 판독될 수 있기 전에, 어레이 내 디지트 라인들은 통상적으로 어레이 내 디지트 라인들을 등화시킴으로써 프리차지된다. 이어서 특정 행은 행 내의 메모리 셀들을 각 열들 내 디지트 라인에 연결함으로써 개방된다. 각 열 내 디지트 라인들 간에 연결된 각각의 센스 증폭기는 각 메모리 셀에 저장된 데이터에 대응하는 전압 변화에 응한다. 일단 행이 개방되었으면, 디지트 라인들을 데이터 판독경로에 연결함으로써 열린 행의 각 열로부터 데이터가 연결될 수 있다. 페이지라고도 하는, 행 개방은 유한한량의 시간을 소비하며 메모리 스루풋에 제한을 가한다.
마지막으로, 행을 프리차지할 것인지 혹은 개방할 것인지 만이 아니라, 데이터를 프리페치할지(또한 어떤 데이터를 프리페치할 것인지), 및 액세스된 데이터를 캐시할 것인지에 대한 최적의 판단 시간에 따라 달라질 수 있고 메모리 허브에 연결되는 프로세서에 의해 실행되는 애플리케이션의 기능에 따라 달라질 수도 있다. 그러므로 메모리 허브 구조의 잇점들을 제공하면서도 이러한 시스템들에 공통적인 레이턴시 및/또는 스루풋 문제들을 최소화하여, 메모리 디바이스들에 고 대역폭, 고 스루풋, 및 저 레이턴시를 제공하는 컴퓨터 구조의 필요성이 있다. 바람직하게 이러한 시스템은 메모리 허브의 동작이 시간에 따라 변경될 수 있게 할 것이다.
본 발명의 일 면에 따라, 복수의 메모리 디바이스들 및 메모리 허브를 포함하는 메모리 모듈 및 방법이 제공된다. 메모리 허브는 메모리 디바이스들 중 적어도 한 디바이스 내 메모리 셀들에의 액세스를 위한 메모리 요청들을 수신하는, 이를테면 광입력/출력포트와 같은 링크 인터페이스를 포함한다. 메모리 허브는 메모리 디바이스들에 연결된 메모리 디바이스 인터페이스를 더 포함하고, 메모리 디바이스 인터페이스는 메모리 디바이스들 중 적어도 한 디바이스 내 메모리 셀들에의 액세스를 위해 메모리 디바이스들에 메모리 요청들을 연결하고 메모리 요청들 중 적어도 일부에 응답하여 판독 데이터를 수신하게 동작한다. 메모리 허브는 메모리 디바이스 인터페이스에 연결된 성능 카운터를 더 포함하고, 성능 카운터는 페이지 히트 레이트, 프리페치 히트들, 및 캐시 히트 레이트로 구성된 그룹에서 선택된 적어도 한 메트릭을 추적하게 동작한다. 메모리 허브는 링크 인터페이스 및 메모리 디바이스 인터페이스에 연결된 메모리 시퀀서를 더 포함한다. 메모리 시퀀서는 링크 인터페이스로부터 수신된 메모리 요청들에 응답하여 메모리 디바이스 인터페이스에 메모리 요청들을 연결하게 동작한다. 메모리 시퀀서는 성능 카운터에 응답하여 동작을 동적으로 조정하게 또한 동작한다. 예를 들면, 성능 카운터는 페이지 히트 레이트를 추적할 수 있고 메모리 시퀀서는 메모리 디바이스 내 개방 페이지 수를 변경할 수도 있고 추적된 페이지 히트 레이트에 응답하여 자동-프리차지 모드로 전환할 수도 있다. 대안적으로 성능 카운터는 프리페치 히트들의 퍼센티지를 추적할 수도 있고, 메모리 시퀀스는 프리페치를 인에이블 혹은 디스에이블할 수도 있고, 추적된 프리페치 히트 퍼센티지의 함수로서 프리페치 요청들의 수를 조정할 수도 있다. 다른 예로서, 성능 카운터는 캐시 히트 레이트를 추적할 수도 있고, 메모리 시퀀서는 추적된 캐시 히트 레이트의 함수로서 캐시를 디스에이블할 수 있다.
도 1은 메모리 허브가 복수의 메모리 모듈들 각각에 포함된 본 발명의 일 예에 따른 컴퓨터 시스템의 블록도.
도 2는 본 발명의 일 예에 따른 성능 카운터들을 포함하는, 도 1의 컴퓨터 시스템에 사용되는 메모리 허브의 블록도.
도 3은 본 발명의 일 예에 따른 프리페치 버퍼들을 포함하는, 도 1의 컴퓨터 시스템에서 사용되는 메모리 허브의 블록도.
본 발명의 일 예에 따른 컴퓨터 시스템(100)이 도 1에 도시되었다. 컴퓨터 시스템(100)은 특정의 계산들 혹은 타스크들을 수행하기 위한 특정의 소프트웨어를 실행하는 등의, 각종의 계산기능들을 수행하기 위한 프로세서(104)를 포함한다. 프로세서(104)는 통상적으로 주소버스, 제어버스, 및 데이터 버스를 포함하는 프로세서 버스(106)을 포함한다. 프로세서 버스(106)는 통상적으로 앞서 언급한 바와 같이 정적 랜덤 액세스 메모리("SRAM")인 캐시 메모리(108)에 연결된다. 마지막으로, 프로세서 버스(106)는 "노스 브리지" 혹은 "메모리 제어기"라고도 하는 시스템 제어기(110)에 연결된다. 시스템 제어기(110)는 다양한 다른 구성요소들에 대한 프로세서(104)에의 통신경로로서 작용한다. 구체적으로, 시스템 제어기(110)는 통상적으로 그래픽스 제어기(112)에 연결되는 그래픽스 포트를 포함하고, 이 그래픽스 제어기(112)는 비디오 단만에 연결된다.
시스템 제어기(110)는 조작자가 컴퓨터 시스템(100)과 인터페이스할 수 있게, 키보드 혹은 마우스와 같은 하나 이상의 입력 디바이스들(118)에 연결된다. 통상적으로, 컴퓨터 시스템(100)은 시스템 제어기(110)를 통해 프로세서(104)에 연결되는, 프린터와 같은 하나 이상의 출력 디바이스들(120)를 또한 포함한다. 프로세서(104)가 내부 혹은 외부 저장 매체들(도시생략)에 데이터 저장 혹은 데이터를 불어들일 수 있게 통상적으로 하나 이상의 데이터 저장 디바이스들(124)이 시스템 제어기(110)를 통해 프로세서(104)에 연결된다. 전형적인 저장 디바이스들(124)의 예들은 하드 및 플로피 디스크들, 테이프 카세트들, 및 컴팩트 디스크 판독전용 메모리들(CD-ROM)을 포함한다.
시스템 제어기(110)는 컴퓨터 시스템(100)용의 시스템 메모리로서 기능하는 몇 개의 메모리 모듈들(130a,b...n)에 연결된다. 바람직하게 메모리 모듈들(130)은 광학적 혹은 전기적 통신통로 혹은 이외 어떤 다른 유형의 통신경로일 수 있는 고속링크(134)를 통해 시스템 제어기(110)에 연결되고, 고속링크(134)가 광통신경로로서 구현되는 경우, 광통신경로는 예를 들면 하나 이상의 광섬유들 형태일 수 있다. 이러한 경우에, 시스템 제어기(110) 및 메모리 모듈들은 광통신경로에 연결된 광 입력/출력포트 혹은 별도의 입력 및 출력포트들을 포함할 것이다. 메모리 모듈들(130)은 고속링크(134)가 메모리 모듈들(130) 모두에 연결된 멀티-드롭 배열로 시스템 제어기(110)에 연결된 것으로 도시되었다. 그러나, 메모리 모듈들(130) 각각을 시스템 제어기(110)에 연결하기 위해 별도의 고속링크(도시생략)가 사용되는 점 대 점 연결 구성과 같은 다른 토폴로지들도 사용될 수 있음을 알 것이다. 시스템 제어기(110)가 스위치(도시생략)을 통해 메모리 모듈들(130) 각각에 선택적으로 연결되는 스위칭 토폴로지가 사용될 수도 있다. 사용될 수 있는 그 외 다른 토폴로지들은 당업자에게 명백할 것이다.
메모리 모듈들(130) 각각은 도 1에 도시한 예에서는 동기형 동적 랜덤 액세스 메모리("SDRAM")인 32개의 메모리 디바이스들(148)에의 액세스를 제어하기 위한 메모리 허브(140)를 포함한다. 그러나, 몇 개의 메모리 디바이스들(148)이 사용될 수도 있고, SDRAM 디바이스들 이외의 메모리 디바이스들도 물론 사용될 수 있다. 도 1에 도시한 예에서, 메모리 허브들(140)은 고속링크(134)로 4개의 독립적인 메모리 채널들(149)을 통해 통신한다. 이 예에서, 도 1에는 도시하지 않았지만, 각각이 한 메모리 채널(149)로부터 데이터를 수신하기 위한 것인 메모리 허브 제어기들(128)이 제공된다. 그러나, 다른 예들에서는 몇 개의 메모리 채널들(149)이 사용될 수도 있다. 메모리 허브(140)는 통상적으로 제어버스, 주소버스 및 데이터 버스를 포함하는 버스 시스템(150)을 통해 시스템 메모리 디바이스들(148) 각각에 연결된다.
본 발명에 따른 메모리 허브(200)가 도 2에 도시되었다. 메모리 허브(200)는 도 1의 메모리 허브(140)로 대치될 수 있다. 도 2에는 메모리 허브(200)가 본 예에서는 종래의 SDRAM 디바이스들인 4개의 메모리 디바이스들(240a-d)에 연결되는 것으로서 도시되었다. 대안적 실시예에서, 메모리 허브(200)는 4개의 단지 서로 다른 메모리 디바이스들(240a-d)인 것이 아니라 4개의 서로 다른 뱅크들의 메모리 디바 이스들에 연결되고, 각각의 뱅크는 통상적으로 복수의 메모리 디바이스들을 구비한다. 그러나, 예를 제공하는 목적을 위해서, 본 설명은 4개의 메모리 디바이스들(240a-d)에 연결된 메모리 허브(200)를 참조로 할 것이다. 복수 뱅크들의 메모리를 수용하기 위한 메모리 허브(200)에 대한 필요한 수정은 당업자들의 지식 내임을 알 것이다.
메모리 허브(200)에는 메모리 허브(200)가 놓여진 메모리 모듈을 제1 고속 데이터 링크(220) 및 제2 고속 데이터 링크(222)에 각각 연결하기 위한 링크 인터페이스들(210a-d 및 212a-d)이 더욱 포함한다. 도 1에 관하여 앞에서 논한 바와 같이 고속 데이터 링크들(220, 222)은 광학적 혹은 전기적 통신경로 혹은 이외 어떤 다른 유형의 통신경로를 사용하여 구현될 수 있다. 링크 인터페이스들(210a-d, 212a-d)은 통상의 것이며, 데이터, 명령, 및 주소정보를 고속 데이터 링크들(220, 222)에 및 이로부터 전송하는데 사용되는 회로를 포함한다. 공지된 바와 같이, 이러한 회로는 이 기술에 공지된 전송기 및 수신기 로직을 포함한다. 당업자들은 특정 유형들의 통신경로들에 사용하기 위해 링크 인터페이스들(210a-d, 212a-d)를 수정할 충분한 이해를 갖고 있고 링크 인터페이스들(210a-d, 212a-d)에 대한 이러한 수정들은 본 발명의 범위 내에서 행해질 수 있음을 알 것이다. 예를 들면, 고속 데이터 링크(220, 222)가 광통신경로를 사용하여 구현되는 경우에, 링크 인터페이스들(210a-d, 212a-d)은 광 통신경로를 통해 광 신호들을 전기신호들로 변환할 수 있는 광 입력/출력포트를 포함할 것이다.
링크 인터페이스들(210a-d, 212a-d)은 버스들(214)로 나타낸 복수의 버스 및 신호라인들을 통해 스위치(260)에 연결된다. 버스들(214)은 통상의 것이며, 기입 데이터버스 및 판독 데이터 버스를 포함하나, 링크 인터페이스들(210a-d, 212a-d)을 통해 양 방향들로 데이터를 연결하기 위해 단일의 양방향 데이터 버스가 대안적으로 제공될 수도 있다. 당업자들은 버스들(214)이 예에 의해 제공된다는 것과, 버스들(214)이 캐시 코히어런시를 유지하는데 사용될 수 있는 요청라인 및 스누프 라인을 더 포함하는 등의 몇 개의 신호라인들을 포함할 수 있음을 알 것이다.
링크 인터페이스들(210a-d, 212a-d)은 메모리 허브(200)가 다양한 구성들로 시스템 메모리에 접속될 수 있게 하는 회로를 포함한다. 예를 들면, 도 1에 도시한 바와 같이 멀티-드롭 구성은 링크 인터페이스들(210a-d 혹은 212a-d) 중 하나를 통해서 메모리 허브 제어기(128)에 각 메모리 모듈을 연결함으로써 구현될 수 있다. 대안적으로, 점 대 점, 혹은 데이지 체인 구성은 직렬로 메모리 모듈들을 연결함으로써 구현될 수 있다. 예를 들면, 링크 인터페이스들(210a-d)은 제1 메모리 모듈을 연결하는데 사용될 수 있고 링크 인터페이스들(212a-d)은 제2 메모리 모듈을 연결하는데 사용될 수 있다. 프로세서, 혹은 시스템 제어기에 연결되는 메모리 모듈은 한 세트의 링크 인터페이스들을 통해 그에 연결되고 다른 한 세트의 링크 인터페이스들을 통해 다른 메모리 모듈에 또한 연결될 것이다. 본 발명의 일 실시예에서, 메모리 모듈의 메모리 허브(200)는 프로세서(104)와 메모리 허브(200) 간에 접속에 연결되는 다른 디바이스들은 전혀 없는 점 대 점 구성으로 프로세서에 연결된다. 이러한 유형의 상호접속은 비교적 낮은 정전용량, 신호들을 반사시키는 비교적 소수의 라인 단절들 및 비교적 짧은 신호경로들을 포함하여, 몇가지 이유로 프로세 서(104)와 메모리 허브(200)간에 보다 나은 신호 연결을 제공한다.
스위치(260)는 4개의 메모리 인터페이스들(270a-d)에 또한 연결되고, 이들 인터페이스들은 각각 시스템 디바이스들(240a-d)에 연결된다. 각각의 시스템 메모리 디바이스(240a-d)마다 별도의 독립적인 메모리 인터페이스(270a-d)를 제공함으로써, 메모리 허브(200)는 통상적으로 단일 채널 메모리 구조들에서 발생하는 버스 혹은 메모리 뱅크 충돌들을 회피한다. 스위치(260)는 버스들(274)로 나타낸 복수의 버스 및 신호라인들을 통해 각각의 메모리 인터페이스에 연결된다. 버스들(274)은 기입 데이터 버스, 판독 데이터 버스 및 요청라인을 포함한다. 그러나, 개별 기입 데이터 버스 및 판독 데이터 버스 대신에 단일의 양방향 데이터 버스가 대안적으로 사용될 수 있음을 알 것이다. 또한, 버스들(274)은 앞에서 기술된 것들보다 많은 혹은 적은 수의 신호라인들을 포함할 수 있다.
본 발명의 실시예에서, 각 메모리 인터페이스(270a-d)는 연결되는 시스템 메모리 디바이스들(240a-d)에 특히 맞게 하였다. 구체적으로, 각 메모리 인터페이스(270a-d)는 특히, 연결되는 시스템 메모리 디바이스(240a-d)에 의해 수신 및 발생되는 특정의 신호들을 제공하고 수신하도록 구성된다. 또한, 메모리 인터페이스들(270a-d)는 서로 다른 클럭 주파수들에서 동작하는 시스템 메모리 디바이스들(240a-d)과 동작할 수 있다. 결국, 메모리 인터페이스들(270a-d)은 메모리 허브(200)에 연결된 메모리 디바이스들(240a-d)와 메모리 허브(230)간의 인터페이스에서 발생할 수 있는 변화들로부터 프로세서(104)를 분리시키며, 메모리 디바이스들(240a-d)이 인터페이스할 수 있는 보다 제어된 환경을 제공한다.
링크 인터페이스들(210a-d, 212a-d)과 메모리 인터페이스들(270a-d)간에 연결한 스위치(260)는 다양한 종래의 혹은 이후 개발되는 스위치들 중 하나일 수 있다. 예를 들면, 스위치(260)는 링크 인터페이스들(210a-d, 212a-d) 및 메모리 인터페이스들(270a-d)을 다양한 구성들로 서로 동시에 연결시킬 수 있는 크로스-바 스위치일 수 있다. 스위치(260)는 크로스-바 스위치와 동일한 수준의 접속성을 제공하진 않으나 그럼에도 메모리 인터페이스들(270a-d) 각각에 링크 인터페이스들(210a-d, 212a-d) 일부 혹은 전부를 연결할 수 있는 한 세트의 멀티플렉서들일 수도 있다. 스위치(260)는 어떤 메모리 액세스들이 다른 메모리 액세스들보다 우선도를 받을 것인지를 결정하는 중재 로직(도시생략)을 포함할 수도 있다. 이러한 기능을 수행하는 버스 중재는 당업자에게 공지되어 있다.
도 2를 참조하여, 메모리 인터페이스들(270a-d) 각각은 각각의 메모리 제어기(280), 각각의 기입 버퍼(282) 및 각각의 캐시 메모리 유닛(284)을 포함한다. 메모리 제어기(280)는 연결되는 시스템 메모리 디바이스(240a-d)에 제어, 주소 및 데이터 신호들을 제공하고, 연결되는 시스템 메모리 디바이스(240a-d)로부터 데이터 신호들을 수신함으로써 종래의 메모리 제어기와 동일한 기능들을 수행한다. 기입 버퍼(282) 및 캐시 메모리 유닛(284)은 이 기술에 공지된 바와 같이 태그 메모리, 데이터 메모리, 비교기, 등을 포함하여, 버퍼 및 캐시 메모리의 통상의 구성요소들을 포함한다. 기입 버퍼(282) 및 캐시 메모리 유닛(284)에서 사용되는 메모리 디바이스들은 DRAM 디바이스들이거나, 정적 랜덤 액세스 메모리("SRAM") 디바이스들이거나, 이외 다른 유형의 메모리 디바이스들이거나, 모이들 3가지의 조합일 수 있 다. 또한, 캐시 메모리 유닛(284)에 사용되는 다른 구성요소들만이 아니라 이들 메모리 디바이스들 중 하나 혹은 전부는 내장되거나 독자형 디바이스들일 수 있다.
각각의 메모리 인터페이스(270a-d) 내 기입 버퍼(282)는 판독 요청이 서비스되고 있는 기입 요청들을 저장하는데 사용된다. 이러한 시스템에서, 프로세서(104)는 기입요청이 보내지는 메모리 디바이스가 그 전의 기입 혹은 판독 요청에 서비스하는 비지상태에 있을지라도 시스템 메모리 디바이스(240a-d)에 기입요청을 발행할 수 있다. 이러한 방식을 사용하여, 메모리 요청들은 후속 판독 요청이 서비스되고 있는 중에 기입 버퍼(282)에 그 전의 기입 요청이 저장될 수 있기 때문에 순서없이 서비스될 수 있다. 판독요청이 서비스될 수 있게 하기 위해 기입요청들을 버퍼하는 능력은 판독 요청들의 시간적 순서에 관계없이 이들 요청들에 제1 우선도가 주어질 수 있기 때문에 메모리 판독 레이턴시를 크게 줄일 수 있다. 예를 들면, 판독요청들이 산재된 일련의 기입 요청들은 기입 버퍼(282)에 저장될 수 있으므로 판독요청들은 파이프라인 방식으로 서비스될 수 있고 이에 이어 그 저장된 기입요청들을 파이프라인 방식으로 서비스할 수 있게 된다. 결국, 기입 및 판독요청들을 교대로 하기 위해서 기입요청을 메모리 디바이스들(270a-d)에 연결하는 것과 이어서 판독요청을 메모리 디바이스들(270a-d)에 연결하는 것간에 긴 결정시간들을 피할 수 있다.
각 메모리 인터페이스(270a-d)에 캐시 메모리 유닛(284)을 사용함으로써 프로세서(104)는 각각의 시스템 메모리 디바이스(240a-d)에 보내진 판독명령에 응답하여 데이터를 제공함에 있어, 데이터가 그 메모리 디바이스(240a-d)로부터 혹은 이에 최근에 기입되었을 경우에 메모리 디바이스(240a-d)가 이러한 데이터를 대기함이 없이, 수신할 수 있게 된다. 이에 따라 캐시 메모리 유닛(284)는 컴퓨터 시스템의 메모리 대역폭을 최대화하기 위해서 시스템 메모리 디바이스들(240a-d)의 판독 레이턴시를 감소시킨다. 유사하게, 프로세서(104)는 기입 데이터를 캐시 메모리 유닛(284)에 저장한 후 다른 기능들을 수행할 수 있고 아울러 동일 메모리 인터페이스(270a-d) 내 메모리 제어기(280)는 캐시 메모리 유닛(284)으로부터의 기입 데이터를 연결된 시스템 메모리 디바이스(240a-d)에 전송한다.
메모리 허브(200)에는 진단 버스(292)를 통해 스위치(260)에 연결된 내장형 자기-테스트(BIT) 및 진단 엔진(290)이 포함된다. 진단엔진(290)은 시스템 관리버스(SMBus)와 같은 유지버스(296), 혹은 조인트 테스트 액션 그룹(JTAG) 및 IEEE 1149.1 표준들에 따른 유지버스에 또한 연결된다. SMBus 및 JTAG 표준들 모두는 당업자들에 의해 공지되어 있다. 일반적으로, 유지버스(296)는 메모리 채널 및 링크 진단들을 수행하기 위해서 진단엔진(290)에의 사용자 액세스를 제공한다. 예를 들면, 사용자는 진단 테스트를 행하거나 메모리 시스템 동작을 감시하기 위해서 유지버스(296)를 통해 별도의 PC 호스트를 연결시킬 수 있다. 진단 테스트 결과들에 액세스하기 위해서 유지버스(296)를 사용함으로써, 앞서 논한 바와 같이, 테스트 프로브들의 사용에 관계된 문제들이 회피될 수 있다. 유지버스(296)는 본 발명 내에서 종래의 버스 표준들로부터 수정될 수 있음을 알 것이다. 진단 엔진(290)은 유지버스(296)의 표준들을 수용해야 하고 이 경우 표준 유지버스가 채용됨을 또한 알 것이다. 예를 들면, 진단엔진은 이러한 유지버스가 사용되는 JTAG 버스 표준에 준 한 유지버스 인터페이스를 구비해야 한다.
메모리 허브(200)에는 버스(288)를 통해 스위치(260)에 연결되는 DMA 엔진(286)이 포함된다. DMA 엔진(286)은 프로세서(104)로부터 개입없이 시스템 메모리 내 한 위치에서 시스템 메모리 내 또 다른 위치로 다수 블록들의 데이터를 이동시킬 수 있게 한다. 버스(288)는 시스템 메모리에서 데이터 전송들을 취급하기 위해서, 주소, 제어, 데이터 버스들과 같은 통상의 복수의 버스 라인들 및 신호라인들을 포함한다. 당업자들에 의해 공지된 종래의 DMA 동작들은 DMA 엔진(286)에 의해 구현될 수 있다. 적합한 DMA 엔진의 보다 상세한 설명은 참조로 여기 포함시키는 2003년 7월 22일 출원된 본 양수인의 APPARATUS AND METHOD FOR DIRECT MEMORY ACCESS IN A HUB-BASED MEMORY SYSTEM 명칭의 미국특허출원 10/625,132에서 볼 수 있다. 언급한 특허출원에 상세히 기술된 바와 같이, DMA 엔진(286)은 프로세서 개입없이 DMA 메모리 동작들을 실행하기 위해 시스템 메모리에서 링크 리스트를 읽을 수 있고, 이에 따라 프로세서(104) 및 대역폭 제한된 시스템 버스가 메모리 동작들을 실행하는 것으로부터 자유롭게 할 수 있다. DMA 엔진(286)은 예를 들면 시스템 메모리 디바이스들(240a-d) 각각마다 복수 채널들에 관한 DMA 동작을 수용하기 위한 회로를 포함할 수 있다. 이러한 복수 채널 DMA 엔진들은 이 기술에 공지되어 있고 통상의 기술들을 사용하여 구현될 수 있다.
진단엔진(290) 및 DMA 엔진(286)은 바람직하게는 메모리 허브(200) 내 내장된 회로들이다. 그러나, 메모리 허브(200)에 연결되는 개별적 진단엔진 및 개별적 DMA 디바이스를 포함하는 것은 본 발명의 범위 내 이다.
본 발명의 실시예들은 메모리 하나 이상의 제어기들(280)과 통신하는 구성요소들을 감시하는 수행을 제공한다. 수행 감시 구성요소들은 메모리 유닛들(240)로부터 데이터를 송신 및 수신하는데 사용되는 방법들을 메모리 제어기들(280)이 동적으로 조정할 수 있게 한다. 도 2에 도시한 예에서, 적어도 성능 카운터(300)는 후술하는 바와 같이 메모리 제어기들(280)과 통신되게 제공된다.
성능 카운터들(300)은 예를 들면 본 발명의 일 예에서 페이지 히트 레이트, 프리페치 히트들의 수 혹은 퍼센티지, 및 캐시 히트 레이트 혹은 퍼센티지를 포함하여, 메모리 액세스 및/또는 메모리 허브(200)의 수행에 연관된 하나 이상의 메트릭들을 추적한다.
위에 기술한 바와 같이, 메모리 디바이스들에서 레이턴시를 감소시키는 한 방법은 데이터를 프리페치하는 것이다. 프리페치 버퍼들을 갖는 도 1의 메모리 허브(140)의 일 예가 도 3에 도시되었고 참조로 여기 포함시키는 2003년 6월 20일에 출원된 MEMORY HUB AND ACCESS METHOD HAVING INTERNAL PREFETCH BUFFERS 명칭의 미국특허출원 10/601,252에 기술되어 있다. 언급한 특허출원에 기술된 바와 같이, 메모리 허브(140)는 고속 링크(134)에 연결된 링크 인터페이스(152)를 포함한다. 링크 인터페이스(152)는 다양한 종래의 인터페이스 회로, 이를테면 고속링크(134)를 통해 수신되는 메모리 요청들을 수신 및 저장하기 위한 선입선출 버퍼(도시생략)를 포함할 수 있다. 메모리 요청들은 이들이 메모리 허브(140)에 의해 처리될 수 있을 때까지 링크 인터페이스에 저장될 수 있다.
링크 인터페이스(152)에 의해 수신된 메모리 요청은 먼저, 도 2에 하나 이상 의 메모리 제어기들(270a-d)에 포함되어 하나 이상의 성능 카운터들(300)과 통신하는 메모리 시퀀서(160)에 요청을 전송함으로써 처리된다. 메모리 시퀀서(160)는 시스템 제어기(110)(도 1)로부터의 포맷 출력으로부터 메모리 디바이스들(148)에 의해 사용될 수 있는 포맷을 갖는 메모리 요청으로 메모리 요청들을 변환한다. 이들 재포맷된 요청신호들은 통상적으로는 메모리 허브(140)에 의해 수신된 메모리 요청에 포함된 메모리 명령들로부터 도출되는 메모리 명령신호들, 및 메모리 허브(140)에 의해 수신된 메모리 요청으로부터 도출되는 행 및 열 주소 신호들 및 그 메모리 요청에 포함된 주소를 포함한다. 메모리 요청이 기입 메모리 요칭인 경우에, 재포맷된 요청 신호들은 통상적으로, 메모리 허브(140)에 의해 수신된 메모리 요청에 포함된 기입 데이터로부터 도출되는 기입 데이터 신호들을 포함할 것이다. 예를 들면, 메모리 디바이스들(148)이 통상의 DRAM 디바이스들인 경우, 메모리 시퀀서(160)는 행 주소 신호들, 행 주소 스트로브("RAS") 신호, 활성 로우 기입/활성 하이 판독신호("W*/R"), 열 주소신호들 및 열 주소 스트로브("CAS")신호를 출력할 것이다. 재포맷된 메모리요청들은 바람직하게는 이들이 메모리 디바이스들(148)에 의해 사용될 순서로 시퀀서(160)로부터 출력된다.
메모리 시퀀서(160)는 재포맷된 메모리 요청들을 메모리 디바이스 인터페이스(166)에 인가한다. 링크 인터페이스(152)처럼, 메모리 디바이스 인터페이스(166)는 링크 인터페이스(152)로부터 수신되는 하나 이상의 메모리 요청들을 수신하여 저장하기 위한 FIFO 버퍼(도시생략)을 포함할 수도 있다.
메모리 디바이스 인터페이스(166)가 메모리 디바이스들(148)에 의해 처리될 수 있는 몇 개의 메모리 요청들을 저장하는 경우에, 메모리 디바이스 인터페이스(166)는 어떤 다른 순서로 메모리 디바이스들(148)에 인가되도록 메모리 요청들의 순서를 다시 정리할 수도 있다. 예를 들면, 메모리 요청들은 다른 유형들의 요청들, 예를 들면 기입요청들 전에 한 유형의 요청, 예를 들면 판독요청들이 처리되게 하는 방식으로 인터페이스(166)에 저장될 수도 있다.
앞서 설명한 바와 같이, 메모리 허브들을 사용하는 단점들 중 하나는 이들이 때때로 야기할 수 있는 증가된 레이턴시이다. 앞에서 설명한 바와 같이, 통상적으로 메모리 판독 레이턴시를 감소시키는데 사용되는 프리페치 방법들은 메모리 허브들을 사용하는 메모리 시스템에 그다지 적합하지 않다. 반대로, 도 4에 도시한 메모리 허브(140)는 어떤 데이터가 프로그램의 실행중에 필요로 될 것인지를 정확하게 예상한 후 이들 데이터를 프리페치하고 프리페치 시스템(170)의 일부인 하나 이상의 버퍼들에 이드를 저장하는 메모리 허브(140) 내 프리페치 시스템(170)을 포함함으로써 비교적 낮은 메모리 판독 레이턴시를 제공한다. 프리페치 시스템(170)은 몇 개의 프리페치 버퍼들(176)을 포함하고, 이들 수는 후술하는 바와 같이, 그리고 앞서 언급한 특허출원에 설명한 바와 같이 동작상태들에 따라 다르게 할 수 있다. 요약하여, 프리페치 버퍼들(176)은 메모리 디바이스 인터페이스(166)로부터 프리페치된 데이터를 수신한다. 데이터는 이들이 후속 메모리 액세스에 사용할 수 있게 되도록 프리페치 버퍼들(176)에 저장된다. 이어서 데이터는 멀티플렉서(178)를 통해 링크 인터페이스(152)에 연결된다.
프리페치 시스템(170)은 링크 인터페이스(152)로부터 메모리 요청들을 수신 하는 이력 로직(180)을 포함한다. 이력 로직(180)은 차후의 메모리 요청들을 예측할 수 있는 패턴 혹은 스트라이드를 검출하기 위한 통상의 알고리즘을 사용하여 메모리 요청을 분석한다. 데이터가 메모리 디바이스들(148)에서 임의의 주소로부터 프리페치될 수도 있을지라도, 데이터는 바람직하게는 프리페치가 메모리 디바이스들(148) 내 한 행의 메모리 셀들이 프리차지될 것을 필요로 하지 않게 되도록 현재 활성 혹은 "개방된" 메모리 디바이스들(148) 내 행들로부터만 프리페치되는 것이 바람직하다. 한 예에서, 하나 이상의 성능 카운터(300)는 페이지 히트들의 수 혹은 퍼센티지를 추적한다. 메모리 시퀀서(160)는 도 2에 도시한, 하나 이상의 성능 카운터들(300)에 의해 공급되는 정보에 기초하여 활성 혹은 "개방된" 페이지 수를 조정한다. 본 발명의 일 예에서, 개방 페이지들의 수는 적어도 한 성능 카운터(300)에 의해 추적된 페이지 히트 카운트 및/또는 페이지 히트 퍼센티지가 임계값 미만이 될 때 메모리 시퀀서(160)에 의해 감소된다. 유사하게, 일 예에서, 개방된 페이지들의 수는 페이지 히트 카운트 혹은 페이지 히트 퍼센티지가 임계값을 초과할 때 증가된다. 물론, 개방 페이지들 수를 조정하는 다른 방법들이 본 발명의 다른 예들에서 사용된다.
메모리 시퀀서(160)는 페이지 히트 레이트, 프리페치 히트들의 퍼센티지, 등과 같은, 하나 이상의 성능 카운터들(300)에 의해 공급되는 정보에 따라 프리페치를 선택적으로 인에이블 혹은 디스에이블시킬 수도 있다. 그러나, 프리페치는 항시 인에이블될 수도 있다. 한 예에서, 메모리 시퀀서(300)는 프리페치 히트들 및/또는 페이지 히트 레이트의 수가 임계값 미만으로 감소될 때 프리페치를 디스에이블한 다. 대안적으로, 시퀀서(160)는 메모리 디바이스들(148)로부터가 아니라 프리페치 버퍼들(176)로부터 요청된 데이터를 판독하게 되는 메모리 요청들의 퍼센티지에 기초하여 프리페치를 인에이블 혹은 디스에이블할 수 있다.
메모리 허브(140)을 내장한 메모리 모듈(130)이 판독 메모리 요청을 수신할 때, 먼저 요청에 의해 요청된 데이터 혹은 명령이 프리페치 버퍼들(176)에 저장되는지 여부를 판정한다. 이 판정은 메모리 요청을 태그 로직(186)에 연결함으로써 행해진다. 태그 로직(186)은 각 프리페치 제안에 대응하는 이력 로직(180)으로부터 프리페치 주소들을 수신한다. 대안적으로, 태그 로직(186)은 메모리 디바이스 인터페이스(186)에 연결된 각각의 프리페치 요청에 대응하는 메모리 시퀀서(160)로부터 프리페치 주소들을 수신할 수도 있을 것이다. 다른 수단은 메모리 판독 요청에 의해 요구된 데이터가 프리페치 버퍼(176)에 저장되는지를 태그 로직(186)이 판정하게 하는데 사용될 수도 있을 것이다. 어느 경우이든, 태그 로직(186)은 프리페치 버퍼들(176)에 저장된 데이터의 레코드를 제공하기 위해 프리페치 주소들을 저장한다. 종래의 기술들을 사용하여, 태그 로직(186)은 메모리 요청에 의해 요구된 데이터가 프리페치 버퍼들(176)에 저장되는지를 판정하기 위해서 링크 인터페이스(152)로부터 수신된 각 메모리 요청 내 주소를 태그 로직(186)에 저장된 프리페치 주소들과 비교한다.
메모리 요청에 의해 요구된 데이터가 프리페치 버퍼들(176)에 저장되지 않은 것으로 태그 로직(186)이 판정한다면, HIT/MISS* 신호를 메모리 시퀀서(160)에 연결한다. 메모리 요청에 의해 요구되는 데이터가 프리페치 버퍼들(176)에 저장된 것 으로 태그 로직(186)이 판정한다면, 하이 HIT/MISS" 신호를 메모리 시퀀서(160)에 연결한다. 일 예에서, 총 메모리 요청들의 수에 대해 히트들의 수를 추적하기 위해서 하이 및/또는 로우 HIT/MISS" 신호들의 발생이 하나 이상의 성능 카운터들(300)에 의해 카운트된다.
일 예에서, 도 3에 도시된 성능 카운터들(300)은 시간에 걸쳐 페이지 히트 레이트를 추적한다. 이어서 페이지 히트 레이트는 개방 페이지들의 수를 조정하고/하거나 요청된 라인이 자동으로 프리차지하게 될 자동 프리차지 모드로 전환시키기 위해서 메모리 시퀀서(160)에 연락된다. 또 다른 예에서, 프리페치 히트들의 퍼센티지는 프리페치가 인에이블되고/되거나 발행할 프리페치 요청들의 수를 조정하기 위해 성능 카운터들(300)에 의해 추적된다. 일 예에서, 적어도 한 성능 카운터(300)는 캐치들(284a-d)에의 요청들은 캐시 히트들의 수를 추적하며, 여기서 요청된 데이터는 캐시에 놓여진다. 캐시 히트 레이트가 너무 낮다면, 캐시는 예를 들면, 디스에이블될 수 있다.
일 예에서, 프로그램가능 임계값들은 자동-프리차지 모드, 페이지 모드를 위한 개방 페이지들의 수, 프리페치 요청들의 수 및 캐시가능성을 사용할지 여부를 확정하는데 사용된다. 일 예에서, 하나 이상의 성능 카운터들(300)에 의한 감시 기간은 프로그램 가능하다. 메모리 버스는 결과들을 얻기 위해서 혹은 카운터들을 리셋하기 위해서 여러 가지 예들에서 수초동안, 수 시간동안, 혹은 수일간 감시될 수 있다. 전술한 바로부터 본 발명의 구체적인 실시예들의 예시 목적으로 여기 기술되었을지라도, 본 발명의 정신 및 범위 내에서 다양한 수정들이 행해질 수 있음을 알 것이다. 따라서, 본 발명은 첨부한 청구항들에 의한 것을 제외하고 한정되지 않는다.

Claims (38)

  1. 메모리 모듈에 있어서,
    복수의 메모리 디바이스들; 및
    메모리 허브를 포함하고, 상기 메모리 허브는,
    상기 메모리 디바이스들 중 적어도 하나의 디바이스 내의 메모리 셀들에 액세스하기 위한 메모리 요청들을 수신하는 링크 인터페이스;
    상기 메모리 디바이스들에 연결되고, 상기 메모리 디바이스들 중 적어도 하나의 디바이스 내의 메모리 셀들에 액세스하기 위해 상기 메모리 요청을 상기 메모리 디바이스들에 연결하고 상기 메모리 요청들 중 적어도 일부에 응답하여 판독 데이터를 수신하도록 동작하는 메모리 디바이스 인터페이스;
    상기 메모리 디바이스 인터페이스에 연결되고, 적어도 하나의 성능 메트릭(performance metric)을 추적하도록 동작하는 성능 카운터(performance counter); 및
    상기 링크 인터페이스 및 상기 메모리 디바이스 인터페이스에 연결되고, 상기 링크 인터페이스로부터 수신된 메모리 요청들에 응답하여 상기 메모리 디바이스 인터페이스에 메모리 요청들을 연결하도록 동작가능하며, 상기 성능 카운터에 의해 추적된 상기 성능 메트릭에 응답하여 동작능력(operability)을 동적으로 조정하도록 동작가능한 메모리 시퀀서를 포함하는, 메모리 모듈.
  2. 제 1 항에 있어서,
    상기 링크 인터페이스는 광 입력/출력 포트를 포함하는, 메모리 모듈.
  3. 제 1 항에 있어서,
    상기 성능 카운터에 의해 추적된 상기 성능 메트릭은 페이지 히트 레이트(page hit rate), 프리페치 히트들, 및 캐시 히트 레이트로 구성된 그룹으로부터 선택된 적어도 하나의 성능 메트릭을 포함하는, 메모리 모듈.
  4. 제 3 항에 있어서,
    상기 성능 카운터는 페이지 히트 레이트를 추적하고 상기 메모리 시퀀서는 상기 메모리 디바이스 내의 개방 페이지들 수를 변경하도록 동작가능한, 메모리 모듈.
  5. 제 3 항에 있어서,
    상기 성능 카운터는 페이지 히트 레이트를 추적하고, 상기 메모리 시퀀서는 자동-프리차지 모드로 전환하도록 동작가능한, 메모리 모듈.
  6. 제 3 항에 있어서,
    상기 성능 카운터는 프리페치 히트들의 퍼센티지를 추적하고, 상기 메모리 시퀀서는 프리페치를 인에이블 혹은 프리페치를 디스에이블하도록 동작가능한, 메 모리 모듈.
  7. 제 3 항에 있어서,
    상기 성능 카운터는 프리페치 히트들의 퍼센티지를 추적하고 상기 메모리 시퀀서는 프리페치 요청들의 수를 결정하도록 동작가능한, 메모리 모듈.
  8. 제 3 항에 있어서,
    상기 성능 카운터는 캐시 히트 레이트를 추적하고, 상기 메모리 시퀀서는 상기 캐시를 디스에이블하도록 동작가능한, 메모리 모듈.
  9. 제 1 항에 있어서,
    상기 메모리 디바이스들은 동적 랜덤 액세스 메모리 디바이스들을 포함하는, 메모리 모듈.
  10. 메모리 허브에 있어서,
    상기 메모리 디바이스들 중 적어도 하나의 메모리 디바이스 내의 메모리 셀들에 액세스하기 위한 메모리 요청들을 수신하는 링크 인터페이스;
    상기 메모리 디바이스들에 연결되고, 상기 메모리 디바이스들 중 적어도 하나의 메모리 디바이스 내의 메모리 셀들에 액세스하기 위해 메모리 요청들을 상기 메모리 디바이스들에 연결하고, 상기 메모리 요청들 중 적어도 일부에 응답하여 판 독 데이터를 수신하도록 동작가능한 메모리 디바이스 인터페이스;
    상기 메모리 디바이스 인터페이스에 연결되고, 적어도 하나의 성능 메트릭을 추적하도록 동작가능한 성능 카운터; 및
    상기 링크 인터페이스 및 상기 메모리 디바이스 인터페이스에 연결되고, 상기 링크 인터페이스로부터 수신된 메모리 요청들에 응답하여 상기 메모리 디바이스 인터페이스에 메모리 요청들을 연결하도록 동작가능하며, 또한 상기 성능 카운터에 의해 추적된 성능 메트릭에 응답하여 동적으로 동작능력을 조정하도록 동작가능한 메모리 시퀀서를 포함하는, 메모리 허브.
  11. 제 10 항에 있어서,
    상기 링크 인터페이스는 광 입력/출력 포트를 포함하는, 메모리 허브.
  12. 제 10 항에 있어서,
    상기 성능 카운터에 의해 추적된 상기 성능 메트릭은 페이지 히트 레이트, 프리페치 히트들, 및 캐시 히트 레이트로 구성된 그룹으로부터 선택된 적어도 하나의 성능 메트릭을 포함하는, 메모리 허브.
  13. 제 12 항에 있어서,
    상기 성능 카운터는 페이지 히트 레이트를 추적하고 상기 메모리 시퀀서는 상기 메모리 디바이스 내의 개방 페이지들 수를 변경하도록 동작하는, 메모리 허 브.
  14. 제 12 항에 있어서,
    상기 성능 카운터는 페이지 히트 레이트를 추적하고, 상기 메모리 시퀀서는 자동-프리차지 모드로 전환하도록 동작가능한, 메모리 허브.
  15. 제 12 항에 있어서,
    상기 성능 카운터는 프리페치 히트들의 퍼센티지를 추적하고, 상기 메모리 시퀀서는 프리페치를 인에이블 혹은 프리페치를 디스에이블하도록 동작가능한, 메모리 허브.
  16. 제 12 항에 있어서,
    상기 성능 카운터는 프리페치 히트들의 퍼센티지를 추적하고 상기 메모리 시퀀서는 프리페치 요청들의 수를 결정하도록 동작가능한, 메모리 허브.
  17. 제 12 항에 있어서,
    상기 성능 카운터는 캐시 히트 레이트를 추적하고, 상기 메모리 시퀀서는 상기 캐시를 디스에이블하도록 동작가능한, 메모리 허브.
  18. 컴퓨터 시스템에 있어서,
    중앙 처리유닛("CPU");
    상기 CPU에 연결되고, 입력포트 및 출력포트를 구비한 시스템 제어기;
    상기 시스템 제어기를 통해 상기 CPU에 연결된 입력 디바이스;
    상기 시스템 제어기를 통해 상기 CPU에 연결된 출력 디바이스;
    상기 시스템 제어기를 통해 상기 CPU에 연결된 저장 디바이스;
    복수의 메모리 모듈들을 포함하고,
    상기 메모리 모듈들 각각은,
    복수의 메모리 디바이스들; 및
    메모리 허브를 포함하며,
    상기 메모리 허브는,
    상기 메모리 디바이스들 중 적어도 하나의 메모리 디바이스 내의 메모리 셀들에 액세스하기 위한 메모리 요청들을 수신하는 링크 인터페이스;
    상기 메모리 디바이스들에 연결되고, 상기 메모리 디바이스들 중 적어도 하나의 메모리 디바이스 내의 메모리 셀들에 액세스하기 위해 메모리 요청들을 상기 메모리 디바이스들에 연결하고, 상기 메모리 요청들 중 적어도 일부에 응답하여 판독 데이터를 수신하도록 동작가능한 메모리 디바이스 인터페이스;
    상기 메모리 디바이스 인터페이스에 연결되고, 적어도 하나의 성능 메트릭을 추적하도록 동작가능한 성능 카운터; 및
    상기 링크 인터페이스 및 상기 메모리 디바이스 인터페이스에 연결되고, 상기 링크 인터페이스로부터 수신된 메모리 요청들에 응답하여 상기 메모리 디바이스 인터페이스에 메모리 요청들을 연결하도록 동작가능하며, 또한 상기 성능 카운터에 의해 추적된 성능 메트릭에 응답하여 동작능력을 동적으로 조정하도록 동작가능한 메모리 시퀀서를 포함하는, 컴퓨터 시스템.
  19. 제 18 항에 있어서,
    상기 링크 인터페이스는 광 입력/출력 포트를 포함하는, 컴퓨터 시스템.
  20. 제 18 항에 있어서,
    상기 성능 카운터에 의해 추적된 상기 성능 메트릭은 페이지 히트 레이트, 프리페치 히트들, 및 캐시 히트 레이트로 구성된 그룹으로부터 선택된 적어도 하나의 성능 메트릭을 포함하는, 컴퓨터 시스템.
  21. 제 20 항에 있어서,
    상기 성능 카운터는 페이지 히트 레이트를 추적하고 상기 메모리 시퀀서는 상기 메모리 디바이스 내의 개방 페이지들 수를 변경하도록 동작가능한, 컴퓨터 시스템.
  22. 제 20 항에 있어서,
    상기 성능 카운터는 페이지 히트 레이트를 추적하고, 상기 메모리 시퀀서는 자동-프리차지 모드로 전환하도록 동작가능한, 컴퓨터 시스템.
  23. 제 20 항에 있어서,
    상기 성능 카운터는 프리페치 히트들의 퍼센티지를 추적하고, 상기 메모리 시퀀서는 프리페치를 인에이블 혹은 프리페치를 디스에이블하도록 동작가능한, 컴퓨터 시스템.
  24. 제 20 항에 있어서,
    상기 성능 카운터는 프리페치 히트들의 퍼센티지를 추적하고 상기 메모리 시퀀서는 프리페치 요청들의 수를 결정하도록 동작가능한, 컴퓨터 시스템.
  25. 제 20 항에 있어서,
    상기 성능 카운터는 캐시 히트 레이트를 추적하고, 상기 메모리 시퀀서는 상기 캐시를 디스에이블하도록 동작가능한, 컴퓨터 시스템.
  26. 제 18 항에 있어서,
    상기 메모리 디바이스들은 동적 랜덤 액세스 메모리 디바이스들을 포함하는, 컴퓨터 시스템.
  27. 메모리 모듈로부터 데이터를 판독하는 방법에 있어서,
    상기 메모리 모듈에 장착된 메모리 디바이스에 액세스하기 위한 메모리 요청 들을 수신하는 단계;
    상기 수신된 메모리 요청에 응답하여 상기 메모리 디바이스에 상기 메모리 요청들을 연결하는 단계로서, 상기 메모리 요청들의 적어도 일부는 데이터를 판독하기 위한 메모리 요청들인 상기 단계;
    상기 판독 메모리 요청들에 응답하여 판독 데이터를 수신하는 단계;
    적어도 하나의 성능 메트릭을 추적하는 단계; 및
    상기 추적된 성능 메트릭에 기초하여 메모리 시퀀서의 동작능력을 조정하는 단계를 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  28. 제 27 항에 있어서,
    적어도 하나의 성능 메트릭을 추적하는 단계는 페이지 히트 레이트, 프리페치 히트들, 및 캐시 히트 레이트로 구성된 그룹으로부터 선택된 적어도 하나의 성능 메트릭을 추적하는 것을 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  29. 제 28 항에 있어서,
    상기 추적된 메트릭에 기초하여 메모리 시퀀서의 동작능력을 조정하는 단계는 상기 추적된 메트릭이 임계레벨을 초과한다면 메모리 시퀀서의 동작능력을 조정하는 것을 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  30. 제 29 항에 있어서,
    상기 추적을 수행하는 성능 카운터에 상기 임계레벨을 프로그램하는 것을 더 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  31. 제 28 항에 있어서,
    상기 추적된 메트릭에 기초하여 메모리 시퀀서의 동작능력을 조정하는 단계는 상기 추적된 메트릭이 임계레벨보다 낮으면 메모리 시퀀서의 동작능력을 조정하는 것을 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  32. 제 31 항에 있어서,
    상기 추적을 수행하는 성능 카운터에 상기 임계레벨을 프로그램하는 것을 더 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  33. 제 28 항에 있어서,
    상기 메모리 모듈에 장착된 메모리 디바이스에 액세스하기 위한 메모리 요청들을 수신하는 단계는 상기 메모리 요청들에 대응하는 광신호들을 수신하는 것을 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  34. 제 28 항에 있어서,
    상기 추적된 성능 메트릭은 페이지 히트 레이트를 포함하고 상기 추적된 성능 메트릭에 기초하여 메모리 시퀀서의 동작능력을 조정하는 단계는 상기 메모리 디바이스 내의 개방 페이지들의 수를 변경하기 위해 상기 메모리 시퀀서의 동작능력을 조정하는 것을 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  35. 제 28 항에 있어서,
    상기 추적된 성능 메트릭은 페이지 히트 레이트를 포함하고 상기 추적된 성능 메트릭에 기초하여 메모리 시퀀서의 동작능력을 조정하는 단계는 자동-프리차지 모드로 전환하기 위해 상기 메모리 시퀀서의 동작능력을 조정하는 것을 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  36. 제 28 항에 있어서,
    상기 추적된 성능 메트릭은 프리페치 히트들의 퍼센티지를 포함하고 상기 추적된 성능 메트릭에 기초하여 메모리 시퀀서의 동작을 조정하는 단계는 프리페치를 인에이블 혹은 디스에이블하기 위해 상기 메모리 시퀀서의 동작능력을 조정하는 것을 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  37. 제 28 항에 있어서,
    상기 추적된 성능 메트릭은 프리페치 히트들의 퍼센티지를 포함하고 상기 추적된 성능 메트릭에 기초하여 메모리 시퀀서의 동작능력을 조정하는 단계는 프리페치 요청들의 수를 결정하기 위해 상기 메모리 시퀀서의 동작능력을 조정하는 것을 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
  38. 제 28 항에 있어서,
    상기 추적된 성능 메트릭은 캐시 히트 레이트를 포함하고, 상기 추적된 성능 메트릭에 기초하여 메모리 시퀀서의 동작을 조정하는 단계는 상기 캐시를 디스에이블기 위해 상기 메모리 시퀀서의 동작을 조정하는 것을 포함하는, 메모리 모듈로부터 데이터를 판독하는 방법.
KR1020067026356A 2004-05-14 2005-05-04 메모리 허브 및 메모리 시퀀싱 방법 KR100813422B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/846,988 2004-05-14
US10/846,988 US7162567B2 (en) 2004-05-14 2004-05-14 Memory hub and method for memory sequencing

Publications (2)

Publication Number Publication Date
KR20070012857A true KR20070012857A (ko) 2007-01-29
KR100813422B1 KR100813422B1 (ko) 2008-03-13

Family

ID=35310683

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067026356A KR100813422B1 (ko) 2004-05-14 2005-05-04 메모리 허브 및 메모리 시퀀싱 방법

Country Status (7)

Country Link
US (3) US7162567B2 (ko)
EP (1) EP1756718A4 (ko)
JP (1) JP4769797B2 (ko)
KR (1) KR100813422B1 (ko)
CN (1) CN101390060B (ko)
TW (1) TWI309772B (ko)
WO (1) WO2005114427A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10157152B2 (en) 2014-12-02 2018-12-18 SK Hynix Inc. Semiconductor device including a global buffer shared by a plurality of memory controllers

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US6820181B2 (en) 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7120727B2 (en) 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7107415B2 (en) * 2003-06-20 2006-09-12 Micron Technology, Inc. Posted write buffers and methods of posting write requests in memory modules
US7260685B2 (en) * 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7133991B2 (en) * 2003-08-20 2006-11-07 Micron Technology, Inc. Method and system for capturing and bypassing memory transactions in a hub-based memory system
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7188219B2 (en) 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7519788B2 (en) 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7539800B2 (en) * 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7512762B2 (en) * 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US20060095620A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for merging bus data in a memory subsystem
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US7478259B2 (en) * 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7469309B1 (en) * 2005-12-12 2008-12-23 Nvidia Corporation Peer-to-peer data transfer method and apparatus with request limits
US7477257B2 (en) * 2005-12-15 2009-01-13 Nvidia Corporation Apparatus, system, and method for graphics memory hub
JP2007183816A (ja) * 2006-01-06 2007-07-19 Elpida Memory Inc メモリ制御装置
JP4915774B2 (ja) * 2006-03-15 2012-04-11 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US7353316B2 (en) 2006-03-24 2008-04-01 Micron Technology, Inc. System and method for re-routing signals between memory system components
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7594055B2 (en) * 2006-05-24 2009-09-22 International Business Machines Corporation Systems and methods for providing distributed technology independent memory controllers
US7669086B2 (en) * 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7581073B2 (en) * 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US7870459B2 (en) * 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7606988B2 (en) * 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
US7917702B2 (en) * 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
US7761656B2 (en) * 2007-08-22 2010-07-20 Advanced Micro Devices, Inc. Detection of speculative precharge
JP4829191B2 (ja) * 2007-08-30 2011-12-07 株式会社東芝 キャッシュシステム
US20090119114A1 (en) * 2007-11-02 2009-05-07 David Alaniz Systems and Methods for Enabling Customer Service
US7870351B2 (en) * 2007-11-15 2011-01-11 Micron Technology, Inc. System, apparatus, and method for modifying the order of memory accesses
US8364901B2 (en) * 2009-02-13 2013-01-29 Micron Technology, Inc. Memory prefetch systems and methods
TWI420982B (zh) * 2010-12-03 2013-12-21 Hon Hai Prec Ind Co Ltd 印刷電路板
US8649609B1 (en) 2011-03-24 2014-02-11 The United States Of America As Represented By The Adminstrator Of The National Aeronautics And Space Administration Field programmable gate array apparatus, method, and computer program
US8595407B2 (en) * 2011-06-14 2013-11-26 Lsi Corporation Representation of data relative to varying thresholds
US8627021B2 (en) 2011-08-31 2014-01-07 Qualcomm Incorporated Method and apparatus for load-based prefetch access
WO2013052056A1 (en) * 2011-10-06 2013-04-11 Intel Corporation Apparatus and method for dynamically managing memory access bandwidth in multi-core processor
US8675444B2 (en) 2011-12-08 2014-03-18 International Business Machines Corporation Synchronized command throttling for multi-channel duty-cycle based memory power management
US20130262779A1 (en) * 2012-03-30 2013-10-03 Jayaram Bobba Profile-based hardware prefetching
EP2842040B1 (en) * 2012-04-27 2017-06-07 Hewlett-Packard Enterprise Development LP Collaborative caching
US9201796B2 (en) * 2012-09-27 2015-12-01 Apple Inc. System cache with speculative read engine
US9281036B2 (en) 2013-01-08 2016-03-08 Qualcomm Incorporated Memory device having an adaptable number of open rows
US9880842B2 (en) 2013-03-15 2018-01-30 Intel Corporation Using control flow data structures to direct and track instruction execution
US20150134933A1 (en) * 2013-11-14 2015-05-14 Arm Limited Adaptive prefetching in a data processing apparatus
KR102161311B1 (ko) * 2014-12-03 2020-10-05 에스케이하이닉스 주식회사 메모리 컨트롤러
KR101887741B1 (ko) * 2016-04-11 2018-09-11 전자부품연구원 적응적 블록 캐시 운용 방법 및 이를 적용한 dbms
US10402120B2 (en) * 2016-07-15 2019-09-03 Advanced Micro Devices, Inc. Memory controller arbiter with streak and read/write transaction management
US10365681B1 (en) * 2016-09-04 2019-07-30 Netronome Systems, Inc. Multiprocessor system having fast clocking prefetch circuits that cause processor clock signals to be gapped
US10474578B2 (en) * 2017-08-30 2019-11-12 Oracle International Corporation Utilization-based throttling of hardware prefetchers
US11281587B2 (en) * 2018-01-02 2022-03-22 Infinidat Ltd. Self-tuning cache
US10831391B2 (en) * 2018-04-27 2020-11-10 EMC IP Holding Company LLC Method to serve restores from remote high-latency tiers by reading available data from a local low-latency tier in a deduplication appliance
US10996890B2 (en) * 2018-12-19 2021-05-04 Micron Technology, Inc. Memory module interfaces
US10877889B2 (en) * 2019-05-16 2020-12-29 Micron Technology, Inc. Processor-side transaction context memory interface systems and methods
US20210303470A1 (en) * 2020-03-27 2021-09-30 Micron Technology, Inc. Sequential prefetching through a linking array
US20210357336A1 (en) * 2020-05-14 2021-11-18 Advanced Micro Devices, Inc. Efficient memory bus management
US11379376B2 (en) 2020-05-20 2022-07-05 Micron Technologies, Inc. Embedding data in address streams

Family Cites Families (187)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4045781A (en) 1976-02-13 1977-08-30 Digital Equipment Corporation Memory module with selectable byte addressing for digital data processing system
US4253146A (en) 1978-12-21 1981-02-24 Burroughs Corporation Module for coupling computer-processors
US4245306A (en) 1978-12-21 1981-01-13 Burroughs Corporation Selection of addressed processor in a multi-processor network
US4253144A (en) 1978-12-21 1981-02-24 Burroughs Corporation Multi-processor communication network
US4240143A (en) 1978-12-22 1980-12-16 Burroughs Corporation Hierarchical multi-processor network for memory sharing
US4724520A (en) 1985-07-01 1988-02-09 United Technologies Corporation Modular multiport data hub
US4707823A (en) 1986-07-21 1987-11-17 Chrysler Motors Corporation Fiber optic multiplexed data acquisition system
JPH07117863B2 (ja) 1987-06-26 1995-12-18 株式会社日立製作所 オンラインシステムの再立上げ方式
AU2022188A (en) 1987-07-30 1989-02-02 Alliant Computer Systems Corporation Parallel processing computer in which memory access priorities are varied
US5251303A (en) 1989-01-13 1993-10-05 International Business Machines Corporation System for DMA block data transfer based on linked control blocks
US5442770A (en) 1989-01-24 1995-08-15 Nec Electronics, Inc. Triple port cache memory
JPH02232890A (ja) * 1989-03-06 1990-09-14 Hitachi Ltd 主記憶制御装置
US4953930A (en) 1989-03-15 1990-09-04 Ramtech, Inc. CPU socket supporting socket-to-socket optical communications
JPH03156795A (ja) 1989-11-15 1991-07-04 Toshiba Micro Electron Kk 半導体メモリ回路装置
US5317752A (en) 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall
JP2772103B2 (ja) 1990-03-28 1998-07-02 株式会社東芝 計算機システム立上げ方式
US5243703A (en) 1990-04-18 1993-09-07 Rambus, Inc. Apparatus for synchronously generating clock signals in a data processing system
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5461627A (en) 1991-12-24 1995-10-24 Rypinski; Chandos A. Access protocol for a common channel wireless network
JP2554816B2 (ja) 1992-02-20 1996-11-20 株式会社東芝 半導体記憶装置
US5355391A (en) 1992-03-06 1994-10-11 Rambus, Inc. High speed bus system
WO1993018463A1 (en) 1992-03-06 1993-09-16 Rambus, Inc. Method and circuitry for minimizing clock-data skew in a bus system
DE69331053T2 (de) 1992-03-25 2002-07-04 Sun Microsystems Inc Faseroptisches speicherkupplungsystem.
US5659713A (en) 1992-04-24 1997-08-19 Digital Equipment Corporation Memory stream buffer with variable-size prefetch depending on memory interleaving configuration
US5432907A (en) 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
US5270964A (en) 1992-05-19 1993-12-14 Sun Microsystems, Inc. Single in-line memory module
GB2270780A (en) 1992-09-21 1994-03-23 Ibm Scatter-gather in data processing systems.
JP3516963B2 (ja) * 1993-03-12 2004-04-05 株式会社東芝 メモリアクセス制御装置
US5465343A (en) 1993-04-30 1995-11-07 Quantum Corporation Shared memory array for data block and control program storage in disk drive
JPH0713945A (ja) 1993-06-16 1995-01-17 Nippon Sheet Glass Co Ltd 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造
US5878273A (en) * 1993-06-24 1999-03-02 Discovision Associates System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence-- end token generating by token generator responsive to received data
US5497494A (en) 1993-07-23 1996-03-05 International Business Machines Corporation Method for saving and restoring the state of a CPU executing code in protected mode
US5729709A (en) 1993-11-12 1998-03-17 Intel Corporation Memory controller with burst addressing circuit
US5613075A (en) * 1993-11-12 1997-03-18 Intel Corporation Method and apparatus for providing deterministic read access to main memory in a computer system
US5502621A (en) 1994-03-31 1996-03-26 Hewlett-Packard Company Mirrored pin assignment for two sided multi-chip layout
US5566325A (en) 1994-06-30 1996-10-15 Digital Equipment Corporation Method and apparatus for adaptive memory access
US6175571B1 (en) 1994-07-22 2001-01-16 Network Peripherals, Inc. Distributed memory switching hub
US5978567A (en) 1994-07-27 1999-11-02 Instant Video Technologies Inc. System for distribution of interactive multimedia and linear programs by enabling program webs which include control scripts to define presentation by client transceiver
JPH08255107A (ja) * 1994-11-29 1996-10-01 Toshiba Corp ディスプレイコントローラ
WO1996018153A1 (en) 1994-12-08 1996-06-13 Intel Corporation A method and an apparatus for enabling a processor to access an external component through a private bus or a shared bus
US5715456A (en) 1995-02-13 1998-02-03 International Business Machines Corporation Method and apparatus for booting a computer system without pre-installing an operating system
US5638534A (en) 1995-03-31 1997-06-10 Samsung Electronics Co., Ltd. Memory controller which executes read and write commands out of order
US5875352A (en) 1995-11-03 1999-02-23 Sun Microsystems, Inc. Method and apparatus for multiple channel direct memory access control
US5796413A (en) 1995-12-06 1998-08-18 Compaq Computer Corporation Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering
US5966724A (en) 1996-01-11 1999-10-12 Micron Technology, Inc. Synchronous memory device with dual page and burst mode operations
US5832250A (en) 1996-01-26 1998-11-03 Unisys Corporation Multi set cache structure having parity RAMs holding parity bits for tag data and for status data utilizing prediction circuitry that predicts and generates the needed parity bits
US5819304A (en) 1996-01-29 1998-10-06 Iowa State University Research Foundation, Inc. Random access memory assembly
US5659798A (en) 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US5787304A (en) 1996-02-05 1998-07-28 International Business Machines Corporation Multipath I/O storage systems with multipath I/O request mechanisms
US5818844A (en) 1996-06-06 1998-10-06 Advanced Micro Devices, Inc. Address generation and data path arbitration to and from SRAM to accommodate multiple transmitted packets
US5875454A (en) 1996-07-24 1999-02-23 International Business Machiness Corporation Compressed data cache storage system
JPH1049511A (ja) 1996-08-02 1998-02-20 Oki Electric Ind Co Ltd 1チップマイクロコンピュータ
JP4070255B2 (ja) 1996-08-13 2008-04-02 富士通株式会社 半導体集積回路
TW304288B (en) 1996-08-16 1997-05-01 United Microelectronics Corp Manufacturing method of semiconductor memory device with capacitor
US6167486A (en) 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US5887159A (en) 1996-12-11 1999-03-23 Digital Equipment Corporation Dynamically determining instruction hint fields
KR19980064365A (ko) * 1996-12-19 1998-10-07 윌리엄비.켐플러 메모리 모듈로의 어드레스 및 데이타 분산용 장치 및 방법
US6308248B1 (en) 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
JPH10214223A (ja) * 1997-01-29 1998-08-11 Hitachi Ltd 情報処理システム
US6553476B1 (en) * 1997-02-10 2003-04-22 Matsushita Electric Industrial Co., Ltd. Storage management based on predicted I/O execution times
US6031241A (en) 1997-03-11 2000-02-29 University Of Central Florida Capillary discharge extreme ultraviolet lamp source for EUV microlithography and other related applications
US6271582B1 (en) 1997-04-07 2001-08-07 Micron Technology, Inc. Interdigitated leads-over-chip lead frame, device, and method for supporting an integrated circuit die
US6092158A (en) 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6073190A (en) 1997-07-18 2000-06-06 Micron Electronics, Inc. System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair
US6243769B1 (en) 1997-07-18 2001-06-05 Micron Technology, Inc. Dynamic buffer allocation for a computer system
US6105075A (en) 1997-08-05 2000-08-15 Adaptec, Inc. Scatter gather memory system for a hardware accelerated command interpreter engine
US6128703A (en) 1997-09-05 2000-10-03 Integrated Device Technology, Inc. Method and apparatus for memory prefetch operation of volatile non-coherent data
US6249802B1 (en) 1997-09-19 2001-06-19 Silicon Graphics, Inc. Method, system, and computer program product for allocating physical memory in a distributed shared memory network
US6223301B1 (en) 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory
US6185676B1 (en) 1997-09-30 2001-02-06 Intel Corporation Method and apparatus for performing early branch prediction in a microprocessor
JPH11120120A (ja) 1997-10-13 1999-04-30 Fujitsu Ltd カードバス用インターフェース回路及びそれを有するカードバス用pcカード
US5889714A (en) * 1997-11-03 1999-03-30 Digital Equipment Corporation Adaptive precharge management for synchronous DRAM
US5987196A (en) 1997-11-06 1999-11-16 Micron Technology, Inc. Semiconductor structure having an optical signal path in a substrate and method for forming the same
US6098158A (en) 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
US6212590B1 (en) 1997-12-22 2001-04-03 Compaq Computer Corporation Computer system having integrated bus bridge design with delayed transaction arbitration mechanism employed within laptop computer docked to expansion base
US6052134A (en) * 1997-12-22 2000-04-18 Compaq Computer Corp. Memory controller and method for dynamic page management
US6415364B1 (en) * 1997-12-31 2002-07-02 Unisys Corporation High-speed memory storage unit for a multiprocessor system having integrated directory and data storage subsystems
US6023726A (en) 1998-01-20 2000-02-08 Netscape Communications Corporation User configurable prefetch control system for enabling client to prefetch documents from a network server
GB2333896B (en) 1998-01-31 2003-04-09 Mitel Semiconductor Ab Vertical cavity surface emitting laser
US7024518B2 (en) * 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6186400B1 (en) 1998-03-20 2001-02-13 Symbol Technologies, Inc. Bar code reader with an integrated scanning component module mountable on printed circuit board
US6006340A (en) 1998-03-27 1999-12-21 Phoenix Technologies Ltd. Communication interface between two finite state machines operating at different clock domains
US6079008A (en) 1998-04-03 2000-06-20 Patton Electronics Co. Multiple thread multiple data predictive coded parallel processing system and method
US6247107B1 (en) 1998-04-06 2001-06-12 Advanced Micro Devices, Inc. Chipset configured to perform data-directed prefetching
KR100283243B1 (ko) * 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
US6167465A (en) 1998-05-20 2000-12-26 Aureal Semiconductor, Inc. System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection
US6405280B1 (en) * 1998-06-05 2002-06-11 Micron Technology, Inc. Packet-oriented synchronous DRAM interface supporting a plurality of orderings for data block transfers within a burst sequence
US6301637B1 (en) 1998-06-08 2001-10-09 Storage Technology Corporation High performance data paths
US6134624A (en) 1998-06-08 2000-10-17 Storage Technology Corporation High bandwidth cache system
US6453377B1 (en) * 1998-06-16 2002-09-17 Micron Technology, Inc. Computer including optical interconnect, memory unit, and method of assembling a computer
JP2000011640A (ja) 1998-06-23 2000-01-14 Nec Corp 半導体記憶装置
FR2780535B1 (fr) * 1998-06-25 2000-08-25 Inst Nat Rech Inf Automat Dispositif de traitement de donnees d'acquisition, notamment de donnees d'image
US6912637B1 (en) * 1998-07-08 2005-06-28 Broadcom Corporation Apparatus and method for managing memory in a network switch
JP3248617B2 (ja) 1998-07-14 2002-01-21 日本電気株式会社 半導体記憶装置
US6145033A (en) 1998-07-17 2000-11-07 Seiko Epson Corporation Management of display FIFO requests for DRAM access wherein low priority requests are initiated when FIFO level is below/equal to high threshold value
US6157743A (en) 1998-07-31 2000-12-05 Hewlett Packard Company Method for retrieving compressed texture data from a memory system
US6272609B1 (en) 1998-07-31 2001-08-07 Micron Electronics, Inc. Pipelined memory controller
US6061296A (en) 1998-08-17 2000-05-09 Vanguard International Semiconductor Corporation Multiple data clock activation with programmable delay for use in multiple CAS latency memory devices
US6029250A (en) 1998-09-09 2000-02-22 Micron Technology, Inc. Method and apparatus for adaptively adjusting the timing offset between a clock signal and digital signals transmitted coincident with that clock signal, and memory device and system using same
US6587912B2 (en) * 1998-09-30 2003-07-01 Intel Corporation Method and apparatus for implementing multiple memory buses on a memory module
US6243831B1 (en) 1998-10-31 2001-06-05 Compaq Computer Corporation Computer system with power loss protection mechanism
JP3248500B2 (ja) 1998-11-12 2002-01-21 日本電気株式会社 半導体記憶装置およびそのデータ読み出し方法
US6434639B1 (en) * 1998-11-13 2002-08-13 Intel Corporation System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation
US6216178B1 (en) * 1998-11-16 2001-04-10 Infineon Technologies Ag Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution
US6430696B1 (en) * 1998-11-30 2002-08-06 Micron Technology, Inc. Method and apparatus for high speed data capture utilizing bit-to-bit timing correction, and memory device using same
US6349363B2 (en) 1998-12-08 2002-02-19 Intel Corporation Multi-section cache with different attributes for each section
US6067262A (en) 1998-12-11 2000-05-23 Lsi Logic Corporation Redundancy analysis for embedded memories with built-in self test and built-in self repair
US6191663B1 (en) 1998-12-22 2001-02-20 Intel Corporation Echo reduction on bit-serial, multi-drop bus
US6367074B1 (en) 1998-12-28 2002-04-02 Intel Corporation Operation of a system
US6061263A (en) 1998-12-29 2000-05-09 Intel Corporation Small outline rambus in-line memory module
US6684304B2 (en) 1999-01-29 2004-01-27 Micron Technology, Inc. Method to access memory based on a programmable page limit
CN100359601C (zh) * 1999-02-01 2008-01-02 株式会社日立制作所 半导体集成电路和非易失性存储器元件
US6285349B1 (en) 1999-02-26 2001-09-04 Intel Corporation Correcting non-uniformity in displays
JP2000268006A (ja) * 1999-03-15 2000-09-29 Fuji Xerox Co Ltd マルチプロセッサシステム
US6389514B1 (en) 1999-03-25 2002-05-14 Hewlett-Packard Company Method and computer system for speculatively closing pages in memory
US6381190B1 (en) 1999-05-13 2002-04-30 Nec Corporation Semiconductor memory device in which use of cache can be selected
US6233376B1 (en) 1999-05-18 2001-05-15 The United States Of America As Represented By The Secretary Of The Navy Embedded fiber optic circuit boards and integrated circuits
US6294937B1 (en) 1999-05-25 2001-09-25 Lsi Logic Corporation Method and apparatus for self correcting parallel I/O circuitry
JP2001014840A (ja) 1999-06-24 2001-01-19 Nec Corp 複数ラインバッファ型メモリlsi
US6434736B1 (en) * 1999-07-08 2002-08-13 Intel Corporation Location based timing scheme in memory design
US6401213B1 (en) * 1999-07-09 2002-06-04 Micron Technology, Inc. Timing circuit for high speed memory
US6629220B1 (en) * 1999-08-20 2003-09-30 Intel Corporation Method and apparatus for dynamic arbitration between a first queue and a second queue based on a high priority transaction type
US6539490B1 (en) * 1999-08-30 2003-03-25 Micron Technology, Inc. Clock distribution without clock delay or skew
US6552564B1 (en) * 1999-08-30 2003-04-22 Micron Technology, Inc. Technique to reduce reflections and ringing on CMOS interconnections
US6594713B1 (en) * 1999-09-10 2003-07-15 Texas Instruments Incorporated Hub interface unit and application unit interfaces for expanded direct memory access processor
US6438668B1 (en) * 1999-09-30 2002-08-20 Apple Computer, Inc. Method and apparatus for reducing power consumption in a digital processing system
US6421744B1 (en) * 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
JP3546788B2 (ja) * 1999-12-20 2004-07-28 日本電気株式会社 メモリ制御回路
JP3356747B2 (ja) 1999-12-22 2002-12-16 エヌイーシーマイクロシステム株式会社 半導体記憶装置
US6560667B1 (en) * 1999-12-28 2003-05-06 Intel Corporation Handling contiguous memory references in a multi-queue system
US6252821B1 (en) 1999-12-29 2001-06-26 Intel Corporation Method and apparatus for memory address decode in memory subsystems supporting a large number of memory devices
KR100343383B1 (ko) 2000-01-05 2002-07-15 윤종용 반도체 메모리 장치 및 이 장치의 데이터 샘플링 방법
US6745275B2 (en) * 2000-01-25 2004-06-01 Via Technologies, Inc. Feedback system for accomodating different memory module loading
US6185352B1 (en) 2000-02-24 2001-02-06 Siecor Operations, Llc Optical fiber ribbon fan-out cables
JP2001274323A (ja) * 2000-03-24 2001-10-05 Hitachi Ltd 半導体装置とそれを搭載した半導体モジュール、および半導体装置の製造方法
US6370611B1 (en) 2000-04-04 2002-04-09 Compaq Computer Corporation Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data
US6728800B1 (en) * 2000-06-28 2004-04-27 Intel Corporation Efficient performance based scheduling mechanism for handling multiple TLB operations
JP2002014875A (ja) 2000-06-30 2002-01-18 Mitsubishi Electric Corp 半導体集積回路、半導体集積回路のメモリリペア方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6754812B1 (en) * 2000-07-06 2004-06-22 Intel Corporation Hardware predication for conditional instruction path branching
US6704817B1 (en) * 2000-08-31 2004-03-09 Hewlett-Packard Development Company, L.P. Computer architecture and system for efficient management of bi-directional bus
US6526483B1 (en) * 2000-09-20 2003-02-25 Broadcom Corporation Page open hint in transactions
US6523092B1 (en) * 2000-09-29 2003-02-18 Intel Corporation Cache line replacement policy enhancement to avoid memory page thrashing
US6523093B1 (en) * 2000-09-29 2003-02-18 Intel Corporation Prefetch buffer allocation and filtering system
US6792059B2 (en) * 2000-11-30 2004-09-14 Trw Inc. Early/on-time/late gate bit synchronizer
US6801994B2 (en) * 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
US6622227B2 (en) * 2000-12-27 2003-09-16 Intel Corporation Method and apparatus for utilizing write buffers in memory control/interface
US6751703B2 (en) * 2000-12-27 2004-06-15 Emc Corporation Data storage systems and methods which utilize an on-board cache
US6889304B2 (en) * 2001-02-28 2005-05-03 Rambus Inc. Memory device supporting a dynamically configurable core organization
DE10110469A1 (de) * 2001-03-05 2002-09-26 Infineon Technologies Ag Integrierter Speicher und Verfahren zum Testen und Reparieren desselben
US6670959B2 (en) * 2001-05-18 2003-12-30 Sun Microsystems, Inc. Method and apparatus for reducing inefficiencies in shared memory devices
US6697926B2 (en) * 2001-06-06 2004-02-24 Micron Technology, Inc. Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device
US6920533B2 (en) * 2001-06-27 2005-07-19 Intel Corporation System boot time reduction method
US6944694B2 (en) * 2001-07-11 2005-09-13 Micron Technology, Inc. Routability for memory devices
US6721195B2 (en) * 2001-07-12 2004-04-13 Micron Technology, Inc. Reversed memory module socket and motherboard incorporating same
JP4087121B2 (ja) * 2001-08-22 2008-05-21 古河電気工業株式会社 波長モニタおよびそれを内蔵したレーザモジュール
US6681292B2 (en) * 2001-08-27 2004-01-20 Intel Corporation Distributed read and write caching implementation for optimized input/output applications
US7941056B2 (en) * 2001-08-30 2011-05-10 Micron Technology, Inc. Optical interconnect in high-speed memory systems
US6718440B2 (en) * 2001-09-28 2004-04-06 Intel Corporation Memory access latency hiding with hint buffer
DE10153657C2 (de) * 2001-10-31 2003-11-06 Infineon Technologies Ag Anordnung zur Datenübertragung in einem Halbleiterspeichersystem und Datenübertragungsverfahren dafür
US6886048B2 (en) * 2001-11-15 2005-04-26 Hewlett-Packard Development Company, L.P. Techniques for processing out-of-order requests in a processor-based system
US6912612B2 (en) * 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
US6735682B2 (en) * 2002-03-28 2004-05-11 Intel Corporation Apparatus and method for address calculation
JP4100025B2 (ja) * 2002-04-09 2008-06-11 ソニー株式会社 磁気抵抗効果素子及び磁気メモリ装置
US7133972B2 (en) * 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US6901486B2 (en) * 2002-07-05 2005-05-31 Hewlett-Packard Development Company, L.P. Method and system for optimizing pre-fetch memory transactions
US7082504B2 (en) * 2002-07-19 2006-07-25 Edmundo Rojas Method and apparatus for asynchronous read control
US7054985B2 (en) * 2002-07-23 2006-05-30 Hewlett-Packard Development Company, L.P. Multiple hardware partitions under one input/output hub
US7200024B2 (en) * 2002-08-02 2007-04-03 Micron Technology, Inc. System and method for optically interconnecting memory devices
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US6754117B2 (en) * 2002-08-16 2004-06-22 Micron Technology, Inc. System and method for self-testing and repair of memory modules
US7149874B2 (en) * 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
US6981112B2 (en) 2002-08-26 2005-12-27 International Business Machines Corporation Dynamic cache disable
US7836252B2 (en) * 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
DE60204687T2 (de) * 2002-09-06 2006-05-18 Sun Microsystems, Inc., Santa Clara Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird
US7117289B2 (en) * 2002-09-30 2006-10-03 Intel Corporation Claiming cycles on a processor bus in a system having a PCI to PCI bridge north of a memory controller
KR100449807B1 (ko) * 2002-12-20 2004-09-22 한국전자통신연구원 호스트 버스 인터페이스를 갖는 데이터 전송 프로토콜제어 시스템
WO2004102403A2 (en) * 2003-05-13 2004-11-25 Advanced Micro Devices, Inc. A system including a host connected to a plurality of memory modules via a serial memory interconnect
US7120727B2 (en) * 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US20050060533A1 (en) * 2003-09-17 2005-03-17 Steven Woo Method, device, software and apparatus for adjusting a system parameter value, such as a page closing time
US7433258B2 (en) * 2003-10-10 2008-10-07 Datasecure Llc. Posted precharge and multiple open-page RAM architecture
US7177211B2 (en) * 2003-11-13 2007-02-13 Intel Corporation Memory channel test fixture and method
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7412614B2 (en) * 2004-04-29 2008-08-12 Hewlett-Packard Development Company, L.P. Power management using a pre-determined thermal characteristic of a memory module
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7318130B2 (en) * 2004-06-29 2008-01-08 Intel Corporation System and method for thermal throttling of memory modules
US7305518B2 (en) * 2004-10-20 2007-12-04 Hewlett-Packard Development Company, L.P. Method and system for dynamically adjusting DRAM refresh rate

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10157152B2 (en) 2014-12-02 2018-12-18 SK Hynix Inc. Semiconductor device including a global buffer shared by a plurality of memory controllers

Also Published As

Publication number Publication date
EP1756718A4 (en) 2008-11-26
TWI309772B (en) 2009-05-11
US20050257005A1 (en) 2005-11-17
KR100813422B1 (ko) 2008-03-13
US7162567B2 (en) 2007-01-09
EP1756718A2 (en) 2007-02-28
CN101390060A (zh) 2009-03-18
US7353320B2 (en) 2008-04-01
US20070033353A1 (en) 2007-02-08
WO2005114427A3 (en) 2007-09-07
TW200613976A (en) 2006-05-01
CN101390060B (zh) 2012-03-28
JP4769797B2 (ja) 2011-09-07
WO2005114427A2 (en) 2005-12-01
US7562178B2 (en) 2009-07-14
US20080133853A1 (en) 2008-06-05
JP2007537541A (ja) 2007-12-20

Similar Documents

Publication Publication Date Title
KR100813422B1 (ko) 메모리 허브 및 메모리 시퀀싱 방법
US7216196B2 (en) Memory hub and method for memory system performance monitoring
US7213082B2 (en) Memory hub and method for providing memory sequencing hints
US7133972B2 (en) Memory hub with internal cache and/or memory access prediction
US8127081B2 (en) Memory hub and access method having internal prefetch buffers

Legal Events

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

Payment date: 20130221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee