KR20070086503A - 메모리 액세스 속도의 동적인 제어 - Google Patents

메모리 액세스 속도의 동적인 제어 Download PDF

Info

Publication number
KR20070086503A
KR20070086503A KR1020077014100A KR20077014100A KR20070086503A KR 20070086503 A KR20070086503 A KR 20070086503A KR 1020077014100 A KR1020077014100 A KR 1020077014100A KR 20077014100 A KR20077014100 A KR 20077014100A KR 20070086503 A KR20070086503 A KR 20070086503A
Authority
KR
South Korea
Prior art keywords
memory
access
control signals
command queue
parameter
Prior art date
Application number
KR1020077014100A
Other languages
English (en)
Other versions
KR100953257B1 (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 KR20070086503A publication Critical patent/KR20070086503A/ko
Application granted granted Critical
Publication of KR100953257B1 publication Critical patent/KR100953257B1/ko

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

액세스 속도가 조정될 수 있는 메모리 시스템이 제시된다. 메모리 시스템은 메모리 및 메모리 제어기를 포함한다. 메모리 제어기는 메모리에 액세스하기 위한 복수의 제어 신호들을 생성하고, 메모리 시스템의 동작에 관련된 파라미터의 함수로써 메모리 액세스 속도를 변경시키기 위해 상기 제어 신호들 사이에서 타이밍을 조정하도록 구성된다.

Description

메모리 액세스 속도의 동적인 제어{DYNAMIC CONTROL OF MEMORY ACCESS SPEED}
본 발명은 메모리에 관한 것으로서, 특히 메모리 액세스 속도의 동적인 제어에 관한 것이다.
메모리 시스템들이 다양한 처리 엔티티들에 의해 요구되는 데이터를 저장하기 위해서 디지털 시스템에서 광범위하게 사용된다. 메모리 시스템은 일반적으로 메모리에 대한 액세스를 제어하는 메모리 제어기를 포함한다. 일반적인 메모리는 메모리 셀들의 로우(row) 및 칼럼(column)에 의해 형성되는 매트릭스 구조를 가지며, 각 메모리 셀은 데이터를 저장할 수 있다. 메모리 셀은 메모리 제어기에 적절한 로우 및 칼럼 어드레스를 제공함으로써, 처리 엔티티 또는 다른 소스에 의해 액세스된다. 로우 및 칼럼 어드레스는 버스를 통해 전송되고, 로우 어드레스는 하위-차수 비트들을 점유하고, 칼럼 어드레스는 버스 상의 상위-차수 비트들을 점유한다. 이러한 로우 및 칼럼 어드레스들은 총칭하여 여기서 "어드레스"로 지칭될 것이다.
메모리 제어기는 어드레스로부터 메모리에 대한 적절한 제어 신호들을 생성하는데 사용된다. 구체적으로, 메모리 제어기는 적절한 로우로 내부 포인터들을 이동시키기 위해서 메모리에 "로우 액세스 스트로브"를 제공한다. 이는 일반적으로, 메모리에서 "페이지"를 오픈(open)하는 것으로 간주된다. 페이지가 오픈되면, 메모리 제어기는 선택된 로우의 메모리 셀에 액세스하기 위해서 메모리에 "칼럼 액세스 스트로브"를 제공한다. 따라서, 메모리 동작과 관련된 지연은 처리 엔티티가 메모리의 오픈 페이지에 대한 액세스를 시도하는지, 아니면 오픈되지 않은 페이지에 대한 액세스를 시도하는지에 따라 달라짐을 알 수 있다. 처리 엔티티가 메모리의 오픈되지 않은 페이지에 대한 액세스를 시도하면, 메모리 제어기는 칼럼 액세스 스트로브를 제공하기에 앞서 포인터를 이동시키기 위해서 메모리에 로우 액세스 스트로브를 제공하여야만 한다. 이와 달리, 처리 엔티티가 메모리의 오픈 페이지에 대한 액세스를 시도하면, 메모리 제어기는 메모리에 칼럼 액세스 스트로브만 제공하면 된다.
보다 강력한 프로세서 기반 소프트웨어 프로그램의 출현으로 인해, 메모리에 대한 요구들이 증가되고 있다. 결과적으로, 고속 액세스를 구비한 고성능 메모리 시스템이 시장에서 보다 광범위하게 사용되고 있다. 이러한 고성능 메모리 시스템들은 저성능 메모리 시스템에 비해 보다 많은 전력을 소비하는 경향이 있다. 이는 배터리에 의해 동작되는 장치, 예를 들면 셀룰러 및 무선 전화, 랩톱, 개인 휴대 단말기(PDA) 등과 같은 장치들에서 중요하다. 다른 응용예들 뿐만 아니라, 이러한 장치들에서, 전력 보존 문제는 감소된 메모리 액세스 속도의 관점에서 저 성능 설계를 초래한다. 이러한 저성능 설계는 배터리 수명을 증가시키지만, 메모리에 액세스하기 위해 대기하여야만 하는 하나 이상의 처리 엔티티들을 초래한다.
본 발명의 일 양상에서, 메모리 시스템은 메모리 및 상기 메모리에 액세스하기 위한 복수의 제어 신호들을 생성하도록 구현된 메모리 제어기를 포함하며, 상기 메모리 제어기는 메모리 시스템의 동작에 관련된 파라미터의 함수로써 메모리 액세스 속도를 변경시키기 위해서 상기 제어 신호들 사이에서 타이밍을 조정하도록 추가로 구현된다.
본 발명의 또 다른 양상에서, 메모리 시스템의 메모리에 액세스하는 방법은 메모리에 액세스하기 위한 복수의 제어 신호들을 생성하는 단계, 및 상기 메모리 시스템의 동작에 관련된 파라미터의 함수로써 메모리 액세스 속도를 변경시키기 위해서 상기 제어 신호들 사이에서 타이밍을 조정하는 단계를 포함한다.
본 발명의 또 다른 양상에서, 메모리 시스템은 메모리, 및 메모리 제어기를 포함하며, 상기 메모리 제어기는 상기 메모리에 액세스하기 위한 복수의 제어 신호들을 생성하는 수단, 및 상기 메모리 시스템의 동작에 관련된 파라미터의 함수로써 상기 메모리 액세스 속도를 변경시키기 위해서 상기 제어 신호들 사이에서 타이밍을 조정하는 수단을 포함한다.
본 발명의 다른 실시예들이 하기 설명을 통해 당업자에게 용이하게 이해될 수 있을 것이며, 본 발명의 다양한 실시예들이 예시적으로 제시된다. 이해되는 바와 같이, 본 발명은 다른 실시예들로 확장될 수 있으며, 그 상세한 내용들은 변경될 수 있고, 이들 역시 본 발명의 영역에 속한다. 따라서, 하기 도면 및 설명은 단지 예로서 이해되어야 하고, 제한적으로 해석되어서는 않된다.
도1은 예시적인 메모리 시스템을 보여주는 블록 다이아그램이다.
도2는 고속 메모리 액세스를 위해 메모리 제어기에 의해 생성되는 다양한 제어 신호들의 예를 보여주는 타이밍도이다.
도3은 저속 메모리 액세스를 위해 메모리 제어기에 의해 생성되는 다양한 제어 신호들의 예를 보여주는 타이밍도이다.
도4는 메모리에 대한 제어 신호가 어떻게 제어되는지에 대한 일 예를 보여주는 기능 블록 다이아그램이다.
첨부된 도면을 참조하여 여기서 설명되는 내용은 본 발명의 다양한 예들을 설명하기 위한 것이며, 본 발명이 이들로 제한되는 것은 아니다. 여기서 제시된 설명은 본 발명의 이해를 위한 특정 예들을 포함한다. 그러나, 당업자는 본 발명이 이러한 특정 예들로 제한되지 않음을 잘 이해할 것이다. 일부 예들에서, 공지된 구조 및 컴포넌트들이 본 발명의 개념을 흐리지 않도록 블록 다이아그램 형태로 제시된다.
메모리 시스템의 일 실시예에서, 액세스 속도는 하나 이상의 파라미터들(예를 들면, 메모리에 대한 현재 요구)에 기반하여 동적으로 조정된다. 이러한 예에서, 메모리에 대한 요구가 높은 경우, 메모리에 대한 다양한 제어 신호들의 타이밍을 조정함으로써 메모리 제어기는 액세스 속도를 증가시킨다. 이는 메모리가 처리할 수 있을 만큼 빠르게 메모리 제어기로부터 로우 및 칼럼 액세스 스트로브들을 발행(issue)함으로써 달성된다. 보다 구체적으로, 연속적인 칼럼 액세스 스트로브 사이의 지연(tCCD)은 메모리의 오픈(open) 페이지를 액세스하는데 필요한 최소 시간으로 설정되며, 로우 액세스 스트로브 및 칼럼 액세스 스트로브 사이의 지연(tRCD)은 메모리의 새로운 페이지를 액세스하는데 필요한 최소 시간으로 설정되며, 2개의 연속적인 로우 액세스 스트로브들 사이의 지연(tRRD)은 새로운 페이지가 오픈될 때까지 페이지가 오픈 상태로 유지되어야 하는 최소 시간으로 설정된다. 메모리에 대한 요구가 감소하면, 로우 및 칼럼 액세스 스트로브들 사이의 지연은 전력 소비를 감소시키도록 동적으로 증가된다.
도1은 메모리 시스템의 일 예를 보여주는 블록 다이아그램이다. 메모리 시스템(100)은 메모리(102)를 포함하며, 메모리(102)는 다이나믹 랜덤 액세스 메모리(SDRAM), 또는 다른 타입의 저장 매체일 수 있다. 메모리 제어기(104)는 다양한 처리 엔티티들(미도시)에 의해 메모리(102)에 대한 액세스를 관리하는데 사용된다. 메모리 시스템(100)은 또한 다양한 처리 엔티티들 및 메모리(102) 사이에서 전송되는 데이터에 대한 쌍방향 버퍼링을 제공하기 위한 데이터 큐(106), 및 이러한 데이터와 관련된 메모리 액세스 명령들을 버퍼링하기 위한 명령 큐(108)를 포함한다. 각 명령은 메모리(102)의 특정 어드레스에 대한 판독 또는 기록 동작 요청을 포함한다. 메모리 제어기(104)는 메모리(102)에 제어 신호들을 제공함으로써 명령 큐(108) 내의 명령들을 실행하는데 사용된다. 제어 신호들은 판독/기록 인에이블 신호뿐만 아니라, 로우 및 칼럼 액세스 스트로브들을 포함한다.
도2는 메모리 제어기에 의해 생성되는 다양한 제어 신호들의 예를 보여주는 타이밍 다이아그램이다. 클록(214)은 메모리에 대한 액세스를 동기화하는데 사용된다. 제1 클록 사이클(201)에서, 메모리 제어기는 메모리의 새로운 페이지에 대한 기록 동작을 요청하는 명령을 명령 큐로부터 수신한다. 이에 응답하여, 메모리 제어기는 로우 액세스 스트로브(216)를 메모리에 제공한다. 이러한 예에서, 메모리는 그 내부 포인터를 선택된 로우로 이동시키는데 최소 2 클록 사이클을 필요로하고, 따라서 tRCD는 메모리 제어기에 의해 2로 설정된다.
제3 클록 사이클(203)에서, 메모리 제어기는 그 선택된 로우에서 적절한 칼럼을 활성화하기 위해서 메모리에 칼럼 액세스 스트로브(218)을 제공한다. 칼럼 액세스 스트로브(218) 동안, 메모리는 기록 동작이 요청중임을 결정하기 위해서 판독/기록 인에이블 신호(220)를 샘플링한다. 기록 동작 요청에 응답하여, 메모리 제어기는 데이터 큐로부터 메모리로 데이터를 릴리스(release)한다.
메모리 제어기는 메모리의 새로운 페이지에 대한 판독 동작을 요청하는 또 다른 명령을 명령 큐로부터 검색(retrieve)한다. 그러나, 이러한 예에서, 메모리의 페이지는 적절한 동작을 보장하기 위해서 최소 4 클록 사이클 동안 오픈상태로 유지되어야 하고, 따라서 tRRD는 메모리 제어기에 의해 4로 설정된다. 결과적으로, 메모리 제어기는 제4 클록 사이클(204)에서 메모리에 로우 액세스 스트로브(216)를 제공한다. 이에 응답하여, 메모리 제어기는 메모리의 새로운 페이지에 대응하는 로우로 그 내부 포인터를 이동시킨다.
메모리에 칼럼 액세스 스트로브(218)를 제공하기에 앞서, 제6 클록 사이클(206)까지, 메모리 제어기는 2개의 추가적인 클록 사이클을 대기한다. 칼럼 액세스 스트로브(218) 기간 동안, 메모리는 판독 동작이 요청중임을 결정하기 위해서 판독/기록 인에이블 신호(220)를 샘플링한다. 판독 동작 요청에 응답하여, 메모리는 데이터(222)를 데이터 큐로 이전시키기 시작한다.
메모리 제어기는 메모리의 동일한 페이지에 대한 판독 동작을 요청하는 또 다른 명령을 명령 큐로부터 검색한다. 이러한 예에서, 2개의 연속적인 칼럼 액세스 스트로브들 사이의 최소 지연은 2이고, 따라서 tCCD는 메모리 제어기에 의해 2로 설정된다. 결과적으로, 메모리 제어기는 제8 클록 사이클(208)에서 메모리에 칼럼 액세스 스트로브(218)를 제공한다. 칼럼 액세스 스트로브(218) 기간 동안, 메모리는 판독 동작이 요청중임을 결정하기 위해서 판독/기록 인에이블 신호(220)를 샘플링한다. 판독 동작 요청에 응답하여, 메모리는 데이터(222)를 데이터 큐로 이전하기 시작한다.
도2에 제시된 예에서, 제어 신호들은 메모리에 대한 최대 액세스 속도를 위해 메모리 제어기에 의해 설정되었다. 동작 조건들이 변경되는 경우, 이러한 제어 신호들 및/또는 다른 제어 신호들은 메모리 제어기에 의해 메모리에 대한 액세스 속도를 감소시키도록 조정될 수 있다. 예를 들어, 메모리 제어기는 메모리에 대한 요구가 낮은 경우 전력을 보존하기 위해서 로우 및 칼럼 액세스 스트로브들 사이의 지연을 증가시킬 수 있다. 메모리 제어기가 메모리에 대한 요구를 결정하는 방식 은 다양한 형태를 취할 수 있다. 일 실시예에서, 메모리 제어기는 명령 큐 내의 명령들의 수에 기반하여 하나 이상의 제어 신호들을 조정할 수 있다. 명령 큐 내의 명령들의 수가 제1 임계치를 초과하는 경우, 메모리 제어기는 로우 및 칼럼 액세스 스트로브들 사이의 지연을 감소시킴으로써 고속 액세스로 메모리를 설정할 수 있다. 명령 큐 내의 명령들의 수가 제2 임계치 이하로 떨어지는 경우, 메모리 제어기는 저속 액세스로 메모리를 설정할 수 있다. 제1 및 제2 임계치들은 동일할 수도 있고, 상이할 수도 있다. 후자의 경우, 히스테리시스(hysteresis)가 메모리 제어기가 고속 및 저속 액세스 사이에서 메모리를 빈번히 전이시키는 것을 방지할 수 있다. 예를 들어, 제1 임계치는 명령 큐가 30% 만큼 채워지는 명령들의 수로 설정되고, 제2 임계치는 명령 큐가 20% 만큼 채워지는 명령들의 수로 설정되어, 20% 및 30% 사이에서 10%의 히스테리시스가 제공될 수 있다. 대안적으로, 히스테리시스 밴드는 메모리에 대한 중간 액세스 속도를 위한 하나 이상의 제어 신호들을 설정하는데 사용될 수 있다. 특정 응용예에서 사용되는 실제 임계치 레벨들은 시스템 성능 요건 및 전체 설계 제한들을 포함하는 다양한 인자들에 따라 달라질 수 있다.
메모리 시스템의 일부 실시예들에서, 메모리 제어기는 메모리에 대한 요구를 제외한 다른 고려사항들에 기반하여 하나 이상의 제어 신호들의 타이밍을 조정하도록 구현될 수 있다. 예를 들어, 메모리 제어기는 온도에 따라 하나 이상의 제어 신호들의 타이밍을 조정할 수 있다. 온도가 너무 높으면, 메모리에 대한 요구가 높은 동안에도, 메모리 제어기는 메모리에 대한 고속 액세스를 금지할 수 있다. 이는 온도가 증가하는 경우 로우 및 칼럼 액세스 스트로브들 사이의 지연을 증가시킴으로써 달성될 수 있다.
메모리 시스템의 동일 및/또는 대안적 실시예들에서, 메모리 제어기는 명령 큐 내의 명령들의 연령(age)에 기반하여 하나 이상의 제어 신호들의 타이밍을 조정하도록 구현될 수 있다. 이는 각 뱅크에 대해 개별적인 명령 큐를 갖는 다수의 메모리 뱅크들을 사용하는 메모리 시스템에 적합하다. 이러한 구현에서, 하나의 메모리 뱅크에 대한 한 블록의 명령들은 다른 메모리 뱅크들에 대한 명령들을 메모리 제어기가 실행하는 경우 연령이 증가하기 시작한다. 이러한 경우, 메모리 및/또는 메모리 뱅크에 대한 전체 요구가 낮은 경우라도, 메모리 제어기는 명령 큐 내의 오래된 연령의 명령들을 갖는 메모리 뱅크에 대해 메모리를 고속 액세스로 조정한다.
도3은 메모리에 대한 저속 액세스를 위해 메모리 제어기에 의해 생성되는 다양한 제어 신호들의 예를 보여주는 타이밍도이다. 이러한 예에서, 로우 및 칼럼 액세스 스트로브 사이의 지연(tRCD)은 2 클록 사이클에서 3 클록 사이클로 증가되었고, 2개의 연속적인 로우 액세스 스트로브들 사이의 지연(tRRD)은 4 클록 사이클에서 6 클록 사이클로 증가되었으며, 2개의 연속적인 칼럼 액세스 스트로브들 사이의 지연(tCCD)은 2 클록 사이클에서 3 클록 사이클로 증가되었다.
도3을 참조하면, 메모리 제어기는 메모리의 새로운 페이지에 대한 기록 동작을 요청하는 명령을 명령 큐로부터 검색(retrieve)한다. 이에 응답하여, 메모리 제어기는 제1 클록 사이클(201)에서 메모리에 로우 액세스 스트로브(216)를 제공하고, 제4 클록 사이클(204)에서 메모리에 칼럼 액세스 스트로브(218)를 제공하여 선택된 로우에서 적절한 칼럼을 활성화한다. 칼럼 액세스 스트로브(218) 기간 동안, 메모리는 기록 동작이 요청중임을 결정하기 위해서 판독/기록 인에이블 신호(220)를 샘플링한다. 기록 동작 요청에 응답하여, 메모리 제어기는 데이터 큐로부터 메모리로 데이터를 릴리스한다.
메모리 제어기는 메모리의 새로운 페이지에 대한 판독 동작을 요청하는 또 다른 명령을 명령 큐로부터 검색한다. 이러한 예에서, 메모리 제어기는 제6 클록 사이클(206)에서 메모리로 로우 액세스 스트로브(216)를 제공하고, 제9 클록 사이클(209)에서 메모리에 칼럼 액세스 스트로브(218)를 제공한다. 칼럼 액세스 스트로브(218) 기간 동안, 메모리는 판독 동작이 요청중임을 결정하기 위해서 판독/기록 인에이블 신호(220)를 샘플링한다. 판독 동작 요청에 응답하여, 메모리는 데이터(222)를 데이터 큐로 이전시키기 시작한다.
메모리 제어기는 메모리의 동일 페이지에 대한 판독 동작을 요청하는 또 다른 명령을 명령 큐로부터 검색한다. 이러한 예에서, 메모리 제어기는 제12 클록 사이클(212)에서 메모리에 칼럼 액세스 스트로브(218)를 제공한다. 칼럼 액세스 스트로브(218) 기간 동안, 메모리는 판독 동작이 요청중임을 결정하기 위해서 판독/기록 인에이블 신호(220)를 샘플링한다. 판독 동작 요청에 응답하여, 메모리는 새로운 데이터(222) 블록을 데이터 큐로 이전시키기 시작한다.
제어 신호들 사이의 타이밍은 다양한 방식으로 메모리 제어기에 의해 조정될 수 있다. 도4는 제어 신호가 어떻게 조정되는지에 대한 일 예를 보여주는 기능 블록 다이아그램이다. 타이밍 파라미터 레지스터(402)는 메모리에 대한 고속 액세스를 위한 타이밍 파라미터 값을 저장하는데 사용된다. 예를 들어, 타이밍 파라미터 값은 메모리의 오픈 페이지에 액세스하는데 필요한 최소 시간(tCCD), 메모리의 새로운 페이지에 액세스하는데 필요한 최소 시간(tRCD), 또는 새로운 페이지가 오픈될 때까지 페이지가 오픈 상태로 유지되어야 하는 최소 시간(tRRD) 일 수 있다.
덧셈기(404)는 현재 동작 조건들에 따라 타이밍 파라미터 값을 증가시키는데 사용된다. 타이밍 파라미터가 증가되는 양은 멀티플렉서(406)에 의해 결정되며, 멀티플렉서(406)는 메모리에 대한 요구 및 동작 온도 모두에 기반하여 타이밍 파라미터 값에 더해질 지연 값을 선택한다. 메모리에 대한 요구는 명령 큐가 얼마나 채워져 있는지를 표시하는 명령 큐에 의해 생성된 신호로부터 결정되고, 동작 온도는 하나 이상의 온도 센서에 의해 생성된 신호로부터 결정된다. 타이밍 파라미터 및 지연 값의 합산은 적절한 시점에 카운터Z(408) 내로 로딩되고, 각 클록 사이클로 카운트 다운된다. 카운터(408)가 0에 도달하면, 제어 신호가 메모리에 제공된다.
로우 및 칼럼 액세스 스트로브 사이의 타이밍(tRCD)과 관련하여 일 예가 이제 설명될 것이다. 이러한 경우, 지연 값은 명령 큐 내의 명령들의 수 및 동작 온도에 기반하여 멀티플렉서(408)에 의해 선택된다. 예를 들어, 명령 큐가 높은 레벨로 채워지는 경우, 동작 온도가 낮으면 "0"의 지연 값이 선택되고, 동작 온도가 높 으면 "1"의 지연 값이 선택된다. 이는 메모리 액세스 속도의 관점에서 가장 높은 성능을 야기하지만, 동작 온도가 증가하는 경우 메모리의 액세스 속도가 감소되도록 한다. 명령 큐 내의 명령들이 낮은 레벨로 떨어지는 경우, 동작 온도가 낮으면 "2"의 지연 값이 선택되고, 동작 온도가 높으면 "3"의 지연 값이 선택된다. 임의의 경우에, 선택된 지연 값은 타이밍 파라미터 값과 합산되고, 결과적인 합산 값이 카운터(408)의 입력으로 제공된다. 메모리 제어기에 의해 생성된 로우 액세스 스트로브가 카운터를 로딩하는데 사용된다. 카운터(408)는 0에 도달할 때까지 각 클록 사이클로 카운트 다운된다. 카운터(408)로부터의 0 출력이 칼럼 액세스 스트로브로서 메모리에 제공된다.
다양한 예시적인 논리 블록들, 모듈들, 및 회로들이 범용 프로세서; 디지털 신호 처리기, DSP; 주문형 집적회로, ASIC; 필드 프로그램어블 게이트 어레이, FPGA; 또는 다른 프로그램어블 논리 장치; 이산 게이트 또는 트랜지스터 논리; 이산 하드웨어 컴포넌트들; 또는 이러한 기능들을 구현하도록 설계된 것들의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다.
상술한 방법의 단계들 및 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들의 조합에 의해 직접 구현될 수 있다. 소프트 웨어 모듈들은 랜덤 액세스 메모리(RAM); 플래쉬 메모리; 판독 전용 메모리(ROM); 전기적 프로그램어블 ROM(EPROM); 전기적 삭제가능한 프로그램어블 ROM(EEPROM); 레지스터; 하드디스크; 휴대용 디스크; 콤팩트 디스크 ROM(CD-ROM); 또는 공지된 저장 매체의 임의의 형태로서 존재한다. 예시적인 저장매체는 프로세서와 결합되어, 프로세서는 저장매체로부터 정보를 판독하여 저장매체에 정보를 기록한다. 대안적으로, 저장 매체는 프로세서의 구성요소일 수 있다.
본 발명의 실시예들은 당업자가 본 발명을 용이하게 이용할 수 있도록 하기 위해서 제시되었다. 이러한 실시예들의 다양한 변형이 가능함을 당업자는 잘 이해할 수 있을 것이다. 따라서, 본 발명은 이러한 실시예들로 제한되지 않으며, 다양한 명령이 가능하며, 여기서 단수로 설명된 구성요소들은 하나 이상의 구성요소들로 해석될 수 있다. 여기서 제시된 구조 및 기능부들은 등가의 다른 구조 및 기능부들로 대체될 수 있다.

Claims (23)

  1. 메모리 시스템으로서, 상기 메모리 시스템은
    메모리; 및
    상기 메모리에 액세스하기 위한 복수의 제어 신호들을 생성하도록 구현된 메모리 제어기를 포함하며,
    상기 메모리 제어기는 상기 메모리 시스템의 동작에 관련된 파라미터의 함수(function)로써 상기 메모리 액세스 속도를 변경하기 위해 상기 제어 신호들 사이의 타이밍을 조정하도록 추가로 구현되는, 메모리 시스템.
  2. 제1항에 있어서,
    상기 파라미터는 상기 메모리에 대한 요구(demand)에 관련되는, 메모리 시스템.
  3. 제1항에 있어서,
    하나 이상의 소스들로부터 복수의 메모리 액세스 명령들을 수신하도록 구현된 명령 큐(queue)를 더 포함하며,
    상기 파라미터는 상기 명령 큐 내의 명령들의 수에 관련되는, 메모리 시스템.
  4. 제3항에 있어서,
    상기 메모리 제어기는 상기 명령 큐 내의 명령들의 수가 제1 임계치를 초과하는 경우 상기 메모리 액세스 속도를 제1 액세스 속도로 변경하고, 상기 명령 큐 내의 명령들의 수가 제2 임계치 이하로 떨어지는 경우 상기 메모리 속도를 제2 액세스 속도로 변경하기 위해서 상기 제어 신호들 사이의 타이밍을 조정하도록 추가 구현되며, 상기 제1 액세스 속도는 상기 제2 액세스 속도 보다 더 고속인, 메모리 시스템.
  5. 제4항에 있어서,
    상기 제1 및 제2 임계치들은 동일한, 메모리 시스템.
  6. 제4항에 있어서,
    상기 제1 및 제2 임계치들은 서로 상이한, 메모리 시스템.
  7. 제1항에 있어서,
    상기 제어 신호들은 로우(row) 액세스 스트로브 및 칼럼(column) 액세스 스트로브를 포함하는, 메모리 시스템.
  8. 제7항에 있어서,
    상기 메모리 제어기는 2개의 로우 액세스 스트로브들, 2개의 칼럼 액세스 스 트로브들, 또는 하나의 로우 액세스 스트로브 및 하나의 칼럼 액세스 스트로브 사이의 지연을 변경시킴으로써 상기 제어 신호들 사이의 타이밍을 조정하도록 추가로 구현되는, 메모리 시스템.
  9. 제1항에 있어서,
    상기 파라미터는 상기 메모리 시스템의 온도와 추가로 관련되는, 메모리 시스템.
  10. 제1항에 있어서,
    하나 이상의 소스들로부터 복수의 메모리 액세스 명령들을 수신하도록 구현되는 명령 큐를 더 포함하며,
    상기 파라미터는 상기 명령 큐 내의 하나 이상의 명령들의 연령(age)과 관련되는, 메모리 시스템.
  11. 제1항에 있어서,
    하나 이상의 소스들로부터 복수의 메모리 액세스 명령들을 수신하도록 구현된 명령 큐를 더 포함하며,
    상기 파라미터는 상기 메모리 시스템의 온도 및 상기 명령 큐의 명령들의 수와 관련되며, 상기 제어 신호들은 로우 액세스 스트로브 및 칼럼 액세스 스트로브를 포함하는, 메모리 시스템.
  12. 메모리 시스템의 메모리에 액세스하는 방법으로서,
    상기 메모리에 액세스하기 위한 복수의 제어 신호들을 생성하는 단계; 및
    상기 메모리 시스템의 동작과 관련된 파라미터의 함수로써 상기 메모리 액세스 속도를 변경시키기 위해서 상기 제어 신호들 사이의 타이밍을 조정하는 단계를 포함하는, 메모리 액세스 방법.
  13. 제12항에 있어서,
    상기 파라미터는 상기 메모리에 대한 요구(demand)에 관련되는, 메모리 액세스 방법.
  14. 제12항에 있어서,
    하나 이상의 소스들로부터 명령 큐 내로 복수의 메모리 액세스 명령들을 수신하는 단계를 더 포함하며,
    상기 파라미터는 상기 명령 큐 내의 명령들의 수에 관련되는, 메모리 액세스 방법.
  15. 제14항에 있어서,
    제1 임계치를 초과하는 명령 큐 내의 명령들의 수에 응답하여 상기 메모리 액세스 속도를 제1 액세스 속도로 변경하고, 제2 임계치 미만으로 떨어지는 명령 큐 내의 명령들의 수에 응답하여 상기 메모리 액세스 속도를 제2 액세스 속도로 변경하도록 상기 제어 신호들 사이의 타이밍이 조정되며, 상기 제1 액세스 속도는 상기 제2 액세스 속도 보다 고속인, 메모리 액세스 방법.
  16. 제15항에 있어서,
    상기 제1 및 제2 임계치들은 동일한, 메모리 액세스 방법.
  17. 제15항에 있어서,
    상기 제1 및 제2 임계치들은 서로 상이한, 메모리 액세스 방법.
  18. 제12항에 있어서,
    상기 제어 신호들은 로우 액세스 스트로브 및 칼럼 액세스 스트로브를 포함하는, 메모리 액세스 방법.
  19. 제18항에 있어서,
    상기 제어 신호들 사이의 타이밍은 2개의 로우 액세스 스트로브들, 2개의 칼럼 액세스 스트로브들, 또는 하나의 로우 액세스 스트로브 및 하나의 칼럼 액세스 스트로브 사이의 지연을 변경시킴으로써 조정되는, 메모리 액세스 방법.
  20. 제12항에 있어서,
    상기 파라미터는 상기 메모리 시스템의 온도에 추가로 관련되는, 메모리 액세스 방법.
  21. 제12항에 있어서,
    하나 이상의 소스들로부터 명령 큐 내로 복수의 메모리 액세스 명령들을 수신하는 단계를 더 포함하며, 상기 파라미터는 상기 명령 큐 내의 하나 이상의 명령들의 연령에 관련되는, 메모리 액세스 방법.
  22. 제12항에 있어서,
    하나 이상의 소스들로부터 명령 큐 내로 복수의 메모리 액세스 명령들을 수신하는 단계, 및 상기 메모리 시스템의 온도를 모니터링하는 단계를 더 포함하며, 상기 파라미터는 상기 명령 큐 내의 명령들의 수 및 상기 모니터링된 온도에 관련되며, 상기 제어 신호들은 로우 액세스 스트로브 및 칼럼 액세스 스트로브를 포함하는, 메모리 액세스 방법.
  23. 메모리 시스템으로서, 상기 메모리 시스템은
    메모리; 및
    메모리 제어기를 포함하며,
    상기 메모리 제어기는 상기 메모리에 액세스하기 위한 복수의 제어 신호들을 생성하는 수단, 및 상기 메모리 시스템의 동작에 관련된 파라미터의 함수로써 상기 메모리 액세스 속도를 변경하기 위해서 상기 제어 신호들 사이의 타이밍을 조정하는 수단을 포함하는, 메모리 시스템.
KR1020077014100A 2004-11-24 2005-11-22 메모리 액세스 속도의 동적인 제어 KR100953257B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/997,140 US7650481B2 (en) 2004-11-24 2004-11-24 Dynamic control of memory access speed
US10/997,140 2004-11-24

Publications (2)

Publication Number Publication Date
KR20070086503A true KR20070086503A (ko) 2007-08-27
KR100953257B1 KR100953257B1 (ko) 2010-04-16

Family

ID=36129981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077014100A KR100953257B1 (ko) 2004-11-24 2005-11-22 메모리 액세스 속도의 동적인 제어

Country Status (8)

Country Link
US (1) US7650481B2 (ko)
EP (1) EP1836583B1 (ko)
JP (2) JP4805943B2 (ko)
KR (1) KR100953257B1 (ko)
CN (1) CN101103344B (ko)
BR (1) BRPI0518265A2 (ko)
IL (1) IL183411A0 (ko)
WO (1) WO2006058115A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101725691B1 (ko) * 2015-12-28 2017-04-12 성균관대학교산학협력단 발열을 고려한 비휘발성 데이터 저장 장치 및 액세스 제어 방법

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7164289B1 (en) * 2005-01-21 2007-01-16 Altera Corporation Real time feedback compensation of programmable logic memory
US8504788B2 (en) * 2006-12-20 2013-08-06 Rambus Inc. Memory controller, system and method for read signal timing calibration
JP5340658B2 (ja) * 2007-07-10 2013-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション コマンド選択のメモリ・コントローラ読み取りキュー動的最適化
US7837907B2 (en) * 2007-07-20 2010-11-23 Molecular Imprints, Inc. Alignment system and method for a substrate in a nano-imprint process
US20100274933A1 (en) * 2009-04-24 2010-10-28 Mediatek Inc. Method and apparatus for reducing memory size and bandwidth
US8996836B2 (en) * 2009-12-18 2015-03-31 Micron Technology, Inc. Stacked device detection and identification
US8510598B2 (en) * 2010-03-29 2013-08-13 Dot Hill Systems Corporation Buffer management method and apparatus for power reduction during flush operation
US8972818B2 (en) * 2012-10-05 2015-03-03 Qualcomm Incorporated Algorithm for optimal usage of external memory tuning sequence
US9224442B2 (en) * 2013-03-15 2015-12-29 Qualcomm Incorporated System and method to dynamically determine a timing parameter of a memory device
CN105229619B (zh) * 2013-05-16 2021-05-07 超威半导体公司 具有指定区域存储器访问调度的存储器系统
KR102108839B1 (ko) 2013-06-12 2020-05-29 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 사용자 장치 및 그것의 데이터 쓰기 방법
TWI493568B (zh) 2013-08-19 2015-07-21 Ind Tech Res Inst 記憶體裝置
KR102193468B1 (ko) 2014-04-04 2020-12-21 삼성전자주식회사 타이밍 마진을 적응적으로 보정하는 메모리 장치 및 이를 포함하는 집적 회로
US20150363116A1 (en) * 2014-06-12 2015-12-17 Advanced Micro Devices, Inc. Memory controller power management based on latency
US10592122B2 (en) * 2015-03-31 2020-03-17 Sandisk Technologies Llc Inherent adaptive trimming
US10756816B1 (en) * 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
KR20180085605A (ko) 2017-01-19 2018-07-27 삼성전자주식회사 핸드쉐이크를 이용하여 메모리의 전력을 조절하는 시스템 온 칩 및 이의 동작 방법
US10691345B2 (en) * 2017-09-29 2020-06-23 Intel Corporation Systems, methods and apparatus for memory access and scheduling
US10593409B2 (en) 2017-10-12 2020-03-17 Distech Controls Inc. Memory device comprising flash memory and method for controlling a write speed of a bus transmitting data for storage on the flash memory
US10642746B2 (en) * 2018-03-22 2020-05-05 Western Digital Technologies, Inc. Controlling cached/non-cached memory access decisions based on memory access queue fill levels
US11169583B2 (en) * 2018-08-07 2021-11-09 Western Digital Technologies, Inc. Methods and apparatus for mitigating temperature increases in a solid state device (SSD)
US11119665B2 (en) * 2018-12-06 2021-09-14 Advanced Micro Devices, Inc. Dynamic voltage and frequency scaling based on memory channel slack
CN111913651B (zh) * 2019-05-10 2024-03-01 技嘉科技股份有限公司 固态硬盘以及固态硬盘的效能优化方法
US11151043B2 (en) 2019-08-12 2021-10-19 Micron Technology, Inc. Demand delay and data value correlated memory pre-fetching systems and methods
CN110927562B (zh) * 2019-12-19 2022-08-05 西安紫光国芯半导体有限公司 一种兼容老化测试的方法及其芯片
TWI801106B (zh) * 2022-01-24 2023-05-01 宜鼎國際股份有限公司 記憶體存取速度調整方法、控制裝置以及記憶體模組
WO2023158136A1 (ko) * 2022-02-18 2023-08-24 삼성전자주식회사 메모리 제어 방법 및 상기 방법을 수행하는 전자 장치

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US137519A (en) * 1873-04-01 Improvement in buckle attachments to harness-saddles
US19738A (en) * 1858-03-23 mihan
AU5368696A (en) 1995-03-22 1996-10-08 Ast Research, Inc. Rule-based dram controller
JPH09282042A (ja) * 1996-04-15 1997-10-31 Sony Corp データ処理装置
US5956289A (en) * 1997-06-17 1999-09-21 Micron Technology, Inc. Clock signal from an adjustable oscillator for an integrated circuit
US6145052A (en) * 1997-11-04 2000-11-07 Western Digital Corporation Disk drive with adaptive pooling for command reordering
US6049882A (en) * 1997-12-23 2000-04-11 Lg Semicon Co., Ltd. Apparatus and method for reducing power consumption in a self-timed system
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
US6119207A (en) 1998-08-20 2000-09-12 Seiko Epson Corporation Low priority FIFO request assignment for DRAM access
US6438670B1 (en) * 1998-10-02 2002-08-20 International Business Machines Corporation Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device
JP2001290697A (ja) * 2000-04-06 2001-10-19 Hitachi Ltd 情報処理システム
US6636909B1 (en) 2000-07-05 2003-10-21 Sun Microsystems, Inc. Adaptive throttling for fiber channel disks
US6662278B1 (en) 2000-09-22 2003-12-09 Intel Corporation Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system
US6772352B1 (en) * 2000-09-29 2004-08-03 Intel Corporation Method and apparatus for reducing the rate of commands being issued if the rate exceeds a threshold which is based upon a temperature curve
US6542416B1 (en) * 2001-11-02 2003-04-01 Rambus Inc. Methods and arrangements for conditionally enforcing CAS latencies in memory devices
US20030137519A1 (en) 2002-01-22 2003-07-24 Nazanda Rima M. Method and apparatus to handle multiple requests to different memory agents
US6680874B1 (en) * 2002-08-29 2004-01-20 Micron Technology, Inc. Delay lock loop circuit useful in a synchronous system and associated methods
US6963516B2 (en) * 2002-11-27 2005-11-08 International Business Machines Corporation Dynamic optimization of latency and bandwidth on DRAM interfaces
US6940768B2 (en) * 2003-11-04 2005-09-06 Agere Systems Inc. Programmable data strobe offset with DLL for double data rate (DDR) RAM memory
JP2006099569A (ja) * 2004-09-30 2006-04-13 Kyocera Mita Corp メモリインタフェース回路及びクロック制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101725691B1 (ko) * 2015-12-28 2017-04-12 성균관대학교산학협력단 발열을 고려한 비휘발성 데이터 저장 장치 및 액세스 제어 방법

Also Published As

Publication number Publication date
CN101103344A (zh) 2008-01-09
CN101103344B (zh) 2011-12-14
JP2008522287A (ja) 2008-06-26
JP4805943B2 (ja) 2011-11-02
JP2011238256A (ja) 2011-11-24
US20060112250A1 (en) 2006-05-25
EP1836583B1 (en) 2018-05-30
IL183411A0 (en) 2007-09-20
US7650481B2 (en) 2010-01-19
WO2006058115A1 (en) 2006-06-01
EP1836583A1 (en) 2007-09-26
BRPI0518265A2 (pt) 2008-11-11
JP5389865B2 (ja) 2014-01-15
KR100953257B1 (ko) 2010-04-16

Similar Documents

Publication Publication Date Title
KR100953257B1 (ko) 메모리 액세스 속도의 동적인 제어
US10146292B2 (en) Power management
US9244519B1 (en) Storage system with data transfer rate adjustment for power throttling
EP3014623B1 (en) Hybrid memory device
KR101363844B1 (ko) 전력 소모를 제한하기 위해 비휘발성 메모리에서의 동작들을 동적으로 제어하는 방법들 및 시스템들
EP2191376B1 (en) Detection of speculative precharge
JP3715714B2 (ja) 低電力メモリシステム
KR20070086640A (ko) 메모리내의 명령을 실행하기 위한 우선순위 부여 방식
US20080043562A1 (en) Power Management of Memory via Wake/Sleep Cycles
US20130311815A1 (en) Providing Adaptive Frequency Control For A Processor
US20100031075A1 (en) Memory Power Profiling
CN104460941B (zh) 一种降低主存存储器满负荷运行功耗的方法
WO2014059613A1 (zh) 降低内存系统功耗的方法和内存控制器
US20050060533A1 (en) Method, device, software and apparatus for adjusting a system parameter value, such as a page closing time
GB2488516A (en) Using priority dependent delays to ensure that the average delay between accesses to a memory remains below a threshold
US9601180B2 (en) Automatic partial array self-refresh
WO2018188085A1 (zh) 内存刷新技术及计算机系统
WO2016160163A1 (en) Mechanism to adapt garbage collection resource allocation in a solid state drive
Bhati et al. Coordinated refresh: Energy efficient techniques for DRAM refresh scheduling
US10175893B2 (en) Predictive scheduler for memory rank switching
Quan et al. Prediction table based management policy for STT-RAM and SRAM hybrid cache
US20180364934A1 (en) Adaptive throttling
US20140281637A1 (en) Memory state management for electronic device
US11803467B1 (en) Request buffering scheme
US7543127B2 (en) Computer system

Legal Events

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

Payment date: 20160330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 10