KR101614672B1 - 온더플라이 메모리 디바이스 리프레시 명령들 - Google Patents

온더플라이 메모리 디바이스 리프레시 명령들 Download PDF

Info

Publication number
KR101614672B1
KR101614672B1 KR1020157014362A KR20157014362A KR101614672B1 KR 101614672 B1 KR101614672 B1 KR 101614672B1 KR 1020157014362 A KR1020157014362 A KR 1020157014362A KR 20157014362 A KR20157014362 A KR 20157014362A KR 101614672 B1 KR101614672 B1 KR 101614672B1
Authority
KR
South Korea
Prior art keywords
refresh
combination
memory
time
cycle time
Prior art date
Application number
KR1020157014362A
Other languages
English (en)
Other versions
KR20150068491A (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 KR20150068491A publication Critical patent/KR20150068491A/ko
Application granted granted Critical
Publication of KR101614672B1 publication Critical patent/KR101614672B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/406Refreshing of dynamic cells
    • G11C2211/4061Calibration or ate or cycle tuning

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

하나의 메모리 디바이스 리프레시 레이트로부터 다른 메모리 디바이스 리프레시 레이트로의 온더플라이 전환이 제공된다. 메모리 디바이스와 관련된 제어 논리가 현재 적용된 리프레시 레이트를 상이한 리프레시 레이트로 전환하기 위한 조건을 검출한다. 조건에 응답하여, 리프레시 레이트가 동적으로 전환된다. 전환은 모드 레지스터의 변경을 필요로 하지 않는다. 따라서, 메모리 디바이스에 대한 리프레시 레이트가 동적으로 온더플라이로 변경될 수 있다.

Description

온더플라이 메모리 디바이스 리프레시 명령들{MEMORY DEVICE REFRESH COMMANDS ON THE FLY}
<관련 사건>
본원은 2010년 12월 6일자로 출원된 미국 특허 가출원 제61/420,269호의 우선권의 이익을 주장한다.
<분야>
본 발명의 실시예들은 일반적으로 메모리 디바이스, 구체적으로는 메모리 디바이스의 리프레시 레이트를 온더플라이(on the fly)로 변경하는 것에 관한 것이다.
<저작권 고지/허가>
본 특허 문헌의 명세서의 부분들은 저작권 보호를 받는 내용을 포함할 수 있다. 저작권 소유자는 본 특허 문헌 또는 본 특허 명세서가 특허청의 특허 파일 또는 레코드들에 나타날 때 누구라도 이를 복사하는 것에 반대하지 않지만, 그렇지 않을 때에는 어떤 경우라도 모든 저작권을 소유한다. 이 저작권 고지는 후술하는 바와 같은 그리고 이에 첨부된 도면들 내의 모든 데이터에 적용되는 것은 물론, 후술하는 임의의 소프트웨어에도 적용된다: Copyright ⓒ 2010, Intel Corporation, All Rights Reserved.
메모리 디바이스들은 컴퓨팅 디바이스들에서 보편적으로 사용된다. 동적 랜덤 액세스 메모리(DRAM)는 일반적으로 컴퓨팅 디바이스들에서 작업 메모리(working memory)로서 사용된다. 작업 메모리는 종종 휘발성이며(시스템에 대한 전력이 차단되는 경우에 상태를 잃음), 시스템 프로세서(들)에 의해 액세스 및 실행될 데이터 및 프로그램들(코드)에 대한 임시 저장을 제공한다.
다수의 DRAM 타입 및 변형이 존재한다(그 일례는 동기식 DRAM(SDRAM)이다). DRAM은 동적이므로, 메모리 디바이스에 저장된 데이터 비트들의 계속적인 또는 정기적인 리프레싱을 필요로 한다. 리프레싱은 일반적으로 메모리 제어기에 의해 제어되며, 메모리 제어기는 메모리 디바이스 내의 데이터 비트들에 주기적으로 액세스한다.
DRAM 내의 각각의 메모리 셀은 통상적으로 단일 트랜지스터 및 단일 커패시터로 구성되며, 그의 데이터가 주변 셀들 및 기판으로의 다양한 누설 전류 경로들로 인해 소실되고 무효화되므로 동적이라고 지칭된다. 따라서, 셀들 내의 데이터를 유효하게 유지하기 위해, 각각의 메모리 셀은 주기적으로 리프레시된다. DRAM 셀 어레이 내의 데이터는 데이터가 셀 어레이로부터 감지 증폭기들 내로 판독된 후에 셀 내에 재기록될 때마다 리프레시된다. 판독되지 않은 메모리는 특정 리프레시 동작에 의해 리프레시된다.
메모리 제어기는 메모리 셀 어레이에 대한 리프레시 유지 동작들을 주기적으로 수행하는 것을 담당한다. 메모리 어레이의 모든 행은 행 내의 데이터가 무효 상태로 소실되기 전에 리프레시되는 것이 필요하다. 셀프-리프레시 모드 동안, DRAM 디바이스는 리프레시들의 수행을 담당한다.
DRAM의 리프레시 사이클 시간(tRFC)은 DRAM 밀도와 더불어 계속 증가하며, 등시 대역폭 및 최악의 경우 레이턴시 수에 영향을 미치기 시작한다. 등시 대역폭은 메모리 서브시스템 상에서의 대역폭 보장을 지칭한다.
본 발명의 실시예들은 일반적으로 메모리 디바이스, 구체적으로는 메모리 디바이스의 리프레시 레이트를 온더플라이(on the fly)로 변경하는 것에 관한 것이다.
하나의 메모리 디바이스 리프레시 레이트로부터 다른 메모리 디바이스 리프레시 레이트로의 온더플라이 전환이 제공된다. 메모리 디바이스와 관련된 제어 논리가 현재 적용된 리프레시 레이트를 상이한 리프레시 레이트로 전환하기 위한 조건을 검출한다. 조건에 응답하여, 리프레시 레이트가 동적으로 전환된다. 전환은 모드 레지스터의 변경을 필요로 하지 않는다. 따라서, 메모리 디바이스에 대한 리프레시 레이트가 동적으로 온더플라이로 변경될 수 있다.
메모리 디바이스, 구체적으로는 메모리 디바이스의 리프레시 레이트를 온더플라이(on the fly)로 변경할 수 있게 한다.
아래의 설명은 본 발명의 실시예들의 구현들의 예로서 주어지는 도해들을 갖는 도면들의 설명을 포함한다. 도면들은 한정이 아니라 예시적인 것으로서 이해되어야 한다. 본 명세서에서 사용될 때, 하나 이상의 "실시예들"에 대한 참조들은 본 발명의 적어도 하나의 구현에 포함되는 특정 특징, 구조 또는 특성을 설명하는 것으로 이해되어야 한다. 따라서, 본 명세서에 나오는 "일 실시예에서" 또는 "대안 실시예에서"라는 표현들은 본 발명의 다양한 실시예들 및 구현들을 설명하며, 모두가 반드시 동일 실시예를 지칭하지는 않는다. 그러나, 이들은 또한 반드시 서로 배타적인 것은 아니다.
도 1은 메모리 제어기로부터의 제어들에 기초하는 리프레시 레이트의 동적 전환을 갖는 메모리 디바이스를 구비하는 시스템의 일 실시예의 블록도이다.
도 2는 온더플라이 리프레시 레이트 전환을 갖는 시스템의 일 실시예의 타이밍도이다.
도 3은 온더플라이 리프레시 레이트 제어를 갖는 메모리 디바이스를 구비하는 시스템의 일 실시예의 블록도이다.
도 4는 메모리 디바이스에 대한 리프레시 레이트를 동적으로 전환하고 캐치업(catch-up) 리프레시 명령들을 발행하기 위한 프로세스의 일 실시예의 흐름도이다.
도 5는 뱅크 그룹 어드레스 비트들을 이용하여 리프레시 레이트들을 전환하기 위한 프로세스의 일 실시예의 흐름도이다.
후술하는 실시예들 중 일부 또는 전부를 도시할 수 있는 도면들의 설명은 물론, 본 명세서에서 제공되는 발명의 개념들의 다른 잠재적인 실시예들 또는 구현들의 설명을 포함하는 소정의 상세들 및 구현들의 설명이 이어진다. 본 발명의 실시예들의 개요가 아래에 제공되며, 도면들을 참조하는 더 상세한 설명이 이어진다.
하나의 메모리 디바이스 리프레시 레이트로부터 다른 메모리 디바이스 리프레시 레이트로의 온더플라이 전환이 제공된다. 상이한 리프레시 레이트들은 상이한 관련 리프레시 사이클 시간들(tRFC)을 가질 수 있다. 따라서, 온더플라이 전환은 시스템으로 하여금 디바이스의 사용 및 메모리 요소들의 리프레시의 필요에 따라 리프레시 사이클 시간을 동적으로 조정할 수 있게 해준다. 게다가, 온더플라이 전환은 밀도 증가에 따른 메모리 디바이스의 표준 증가 tRFC에 대한 더 짧은 대안들을 시스템에 허용한다. 리프레시 레이트의 동적 조정은 시스템으로 하여금 등시 대역폭 및 최악의 경우 레이턴시에 대한 영향을 줄이는 성능 결정을 행할 수 있게 해준다.
메모리 디바이스와 관련된 제어 로직은 현재 적용되는 리프레시 레이트로부터 다른 리프레시 레이트로 전환하기 위한 조건을 검출한다. 조건에 응답하여, 리프레시 레이트가 동적으로 전환된다. 전환은 모드 레지스터의 변경을 필요로 하지 않는다. 일 실시예에서, 선택된 리프레시 레이트들 각각은 모드 레지스터 내의 개별 리프레시 모드이다. 모드 레지스터는 상이한 레이트들 사이의 동적 전환(따라서, 상이한 모드들 사이의 그러나 모드 레지스터의 변경이 없는 온더플라이 전환으로도 간주될 수 있음)을 가능하게 하는 소정의 모드들을 가질 수 있다. 따라서, 메모리 디바이스에 대한 리프레시 레이트가 동적으로 온더플라이로 변경될 수 있다.
통상적으로 메모리 서브시스템의 구현은 데이터를 저장하는 메모리 자원들, 및 메모리 자원들에 대한 액세스를 제어하는 관련 메모리 제어기를 포함한다. 메모리 제어기는 메모리 자원들의 리프레시도 관리할 수 있다. 일 실시예에서, 메모리 디바이스는 듀얼 데이터 레이트(DDR) 표준들과 호환되는 DRAM이다. 아래에서는 DRAM을 일례로서 참조하며, 이는 상이한 리프레시 레이트들 사이의 전환을 지원하는 본 명세서에서 설명되는 임의의 실시예에 따른 임의의 메모리 디바이스로서 이해되어야 한다.
DDR 버전 4(DDR4)를 지원하는 것들과 같은 소정의 메모리 구현들은 1x, 2x 및 4x와 같은 상이한 속도들 또는 레이트들에서 메모리 리프레시를 수행할 수 있다. 그러한 다양한 메모리 리프레시 속도들은 모드 레지스터를 이용하여 선택될 수 있다. 다양한 리프레시 레이트들이 선택 가능할 수 있지만, 선택은 통상적으로 시스템의 초기화를 위해 의도되며, 메모리 디바이스의 동작 전반에서 일정할 것으로 예상되었다. 따라서, 리프레시 모드에 의해 설정되는 리프레시 속도는 전통적으로 고정되거나 일정한 것으로 간주된다. 본 명세서에서 설명되는 바와 같이, 메모리 리프레시 레이트들은 동적으로 선택되거나, "온더플라이"로 선택될 수 있다.
설명의 간소화 및 용어 사용의 명료화를 위해, 본 명세서에서는 상이한 리프레시 '모드들' 사이의 전환이 아니라 상이한 리프레시 '레이트들' 사이의 전환이 참조된다. 전환은 상이한 리프레시 모드들 사이에서 이루어진다고 말할 수 있지만, 리프레시 '모드'의 사용은 모드 레지스터를 통한 리프레시 속도의 전환을 암시할 수도 있다. 오히려, 본 명세서에서 설명되는 바와 같이, 온더플라이 레이트 전환은 모드 레지스터 설정들의 변경 없이 달성될 수 있다. 따라서, 레이트들을 전환하기 위해 모드 레지스터 설정들이 변경될 필요가 없다는 것을 명확히 하기 위해 리프레시 '레이트'의 전환이 참조될 것이다. 상이한 리프레시 레이트들 사이의 동적 전환을 설명하기 위하여 상이한 용어가 사용될 수 있다는 것을 이해할 것이다. 따라서, 모드 레지스터 설정의 변경 없이 리프레시 레이트들을 전환하는 것을 설명하기 위해 리프레시 모드 전환이 사용될 수 있는 한도에서, 그러한 용어는 본 명세서에서 설명되는 것에 상당할 수 있다.
본 명세서에서 참조될 때, "온더플라이" 선택은 메모리 디바이스의 활성 동작 동안의 동적 선택을 지칭한다. 따라서, 디바이스는 디바이스의 리프레시 레이트를 변경하기 위해 중지 또는 비활성 상태에 있을 필요가 없다. 게다가, 메모리 제어기에 대한 모드 레지스터는 상이한 리프레시 레이트들 사이의 전환을 위해 시스템 실행 시간 동안 변경될 필요가 없다. 본 명세서에서 사용될 때, "리프레시 레이트"는 메모리 디바이스를 리프레시하는 데 사용될 특정 규약을 지칭한다. 상이한 레이트들은 상이한 리프레시 규약들을 갖는 규약들, 구체적으로는 리프레시들 사이의 상이한 평균 시간들, 및/또는 아래에 더 상세히 설명되는 바와 같은 리프레시 명령을 구현하는 상이한 지속 기간들을 지칭한다. 다시, 위의 설명에 따라, "리프레시 모드"가 유사하게 정의될 수 있지만, 일반적으로는 대응하는 메모리 모드 레지스터에 의해 설정되는 바와 같은 모드를 지칭한다.
본 명세서에서는 tREF, tREFI 및 tRFC를 포함하는 다양한 리프레시 타이밍 파라미터들이 참조된다. 이러한 파라미터들은 다음과 같이 간단히 설명될 수 있다.
tREF = 리프레시 주기 또는 리프레시 간격. DRAM의 행들(예를 들어, 64K의 행)에서의 데이터 무결성을 보증하기 위해, tREF 주기 내에 모든 메모리 뱅크에 대한 각각의 행에 대해 리프레시 명령(예로서, 64K의 리프레시 명령)이 실행된다. 명세서 초안 작성일 현재, 디바이스들에 대한 통상적인 값은 약 64 밀리초이다.
tREFI = 리프레시 명령들 사이의 평균 시간. tREFI의 구현은 (본 명세서에서 설명되는 바와 같이) 변경될 수 있지만, 주류 DRAM들은 약 7.8 마이크로초의 표준 tREFI를 갖는 경향이 있다. 전통적으로, tREFI는 리프레시 기간 동안 내에 모든 행들을 리프레시하는 것을 보증하기 위해 tREF를 행들의 수로 나눈 값으로서 계산될 수 있다. 그러나, DRAM 밀도가 증가함에 따라, 더 최근의 구현들은 리프레시 명령들 사이의 원하는 tREFI 평균 시간을 달성하기 위해 리프레시 명령마다 다수의 행을 리프레시하는 것을 포함한다.
tRFC = 리프레시 명령이 발행될 때 리프레시하기 위한 시간. 이것은 또한 동일 뱅크의 상이한 행들에 대한 REF(리프레시)와 REF 명령 사이의 시간 간격이며, 통상적으로 100 또는 200 나노초 정도이다. 열 액세스 게이트들이 턴온되지 않음에 따라 tRFC는 tRC(명령을 판독하기 위한 시간)보다 적다. tRFC의 끝에서, REF 또는 ACT(활성화) 명령이 방금 리프레시된 뱅크에 제공될 수 있다. 시간이 지나면서 DRAM 밀도가 (256Mbit에서 512Mbit로 1Gbit로...) 증가함에 따라, 메모리는 더 많은 행을 갖는 경향이 있으며, 이는 또한 tRFC를 포함하여 리프레시 오버헤드를 증가시킬 것이다.
일 실시예에서, 리프레시 간격(tREFI)은 대응하는 리프레시 사이클 시간(tRFC)과 관련된다. 따라서, 리프레시 레이트는 리프레시 사이클 시간과 관련될 수 있다. 일반적으로 더 짧은 tREFI(즉, 더 빈번한 리프레시)는 더 짧은 tRFC와 관련된다. 그러나, tREFI에 대한 2x 값은 tRFC와 관련된 스태거링(staggering)의 고정 오버헤드로 인해 tRFC를 반드시 절반으로 줄이지는 않는다. 더 짧은 tREFI가 사용되는 경우, 리프레싱에 소비되는 전체 시간이 더 길며, 명령 대역폭에도 영향을 미친다. 명령 대역폭은 메모리 액세스를 관리하기 위한 제어 채널들에 대한 대역폭을 지칭한다.
본 명세서에서 설명되는 바와 같이, 메모리는 리프레시를 온더플라이로 발행할 수 있다. 메모리 제어기는 명령 인코딩의 일부로서 리프레시 타입을 지정하기 위한 옵션을 갖는다. 따라서, 메모리 제어기는 메모리 액세스에 대해 더 많은 트래픽이 존재하거나 메모리 액세스 대역폭에 대해 더 높은 감도를 갖는 엔티티에 의해 액세스가 행해질 때 tREFI에 대해 예를 들어 2x 또는 4x 값을 구현할 수 있으며, 트래픽이 더 적을 때 또는 레이턴시가 심하지 않은 것으로 간주될 때 tREFI 값을 줄일 수 있다.
리프레시 레이트들의 동적 전환의 제어는 소정 종류의 트리거에 기초한다. 일 실시예에서, 트리거는 스케줄에 따른 전환, 또는 소정 기간 초과 또는 명령어들의 수 초과 동안의 가속화된 리프레시 레이트의 사용의 불가와 같은 타이밍에 기초한다. 일 실시예에서, 트리거는 (많은 액세스 동안 리프레시의 오버헤드를 줄이기 위해 가속화된 리프레시 레이트로 응답될 수 있는) 많은 액세스 트래픽 또는 (리프레시 최소의 충족을 보증하기 위해 더 늦은 리프레시 레이트를 트리거할 수 있는) 적은 액세스 트래픽과 같은 메모리 디바이스에서의 트래픽에 기초한다. 따라서, 리프레시 레이트 전환을 트리거하기 위해 더 낮은 그리고/또는 더 높은 트래픽 임계치가 설정될 수 있다. 임계치는 요청 버퍼의 깊이, 시간 주기당 요청들의 수, 또는 명령의 발행과 그의 완료 사이에 예상되는 지연의 기간(예를 들어, 명령이 얼마나 오랫동안 버퍼 내에 있을 수 있는지를 고려함)일 수 있다.
일 실시예에서, 메모리 제어기는 리프레시 명령들의 시리즈를 발행하여, 리프레시 클린업(clean-up) 또는 캐치업을 수행할 수 있다. 예를 들어, 전술한 바와 같이, 가속 리프레시는 비가속 리프레시 레이트에서 달성될 수 있는 것과 동일한 수의 사이클에서 메모리 디바이스의 모든 메모리 자원들을 리프레시할 수 있을 것으로 예상되지 않는다. 따라서, 표준 또는 디폴트 레이트 대신에 가속 또는 고속 리프레시 레이트를 사용한다는 것은 소정의 메모리 요소들이 데이터 손실을 피하기 위해 갱신을 위한 중대한 시간에 접근하고 있을 수 있다는 것이다. 리프레시 명령들의 시리즈는 메모리 디바이스가 갱신되게 할 수 있다. 명령들의 시리즈는 액세스 요청 없는 리프레시를 위한 명령들의 시리즈인 것으로 이해될 수 있다.
일 실시예에서, "캐치업" 명령들의 시리즈는 항상 가장 느린 가능한 리프레시 사이클 시간(예를 들어, 1x 리프레시 레이트)에 따른 리프레시 명령들이다. 디폴트 또는 표준 리프레시 레이트의 사용은 명령당 더 많은 리프레싱이 달성될 수 있게 한다. 따라서, 리프레시 캐치업은 가속 레이트에서 달성될 수 있지만, 더 많은 명령이 요구되므로 더 많은 오버헤드를 가질 수 있다. 예를 들어 1x 리프레시 레이트에서의 명령들의 발행은 2x 또는 4x에 비해 더 적은 명령 오버헤드를 갖는데, 그 이유는 각각 2개 또는 4개가 아니라 하나의 명령만이 필요하기 때문이다. 리프레시 모드들의 전환은 시스템에서 동일한 작업이 더 효율적으로 달성될 수 있게 한다.
도 1은 메모리 제어기로부터의 제어들에 기초하는 리프레시 레이트의 동적 전환을 갖는 메모리 디바이스를 구비하는 시스템의 일 실시예의 블록도이다. 시스템(100)은 동적 리프레시 레이트 전환을 갖는 메모리 디바이스를 포함할 수 있는 임의의 다양한 컴퓨팅 디바이스를 나타낸다. 이러한 컴퓨팅 디바이스들은 서버, 데스크탑, 랩탑, 이동 디바이스, 스마트폰, 게임 디바이스 등을 포함할 수 있다. 시스템(100)은 메모리(120)를 포함하며, 이 메모리는 본 명세서에서 설명되는 임의의 실시예에 따른 메모리 디바이스이고, 메모리(120)에 대해 데이터가 저장되는 자원들을 나타내는 하나 이상의 메모리 자원(124)을 포함한다.
메모리 제어기(110)는 이 분야에서 이해되는 바와 같이 메모리(120)에 대한 액세스를 제어하기 위한 표준 논리(하드웨어 및/또는 소프트웨어)를 포함한다. 메모리 제어기(110)는 메모리(120)에 대한 액세스를 제어하므로 메모리(120)와 관련된다. 일 실시예에서, 메모리 제어기(110)는 기능(예를 들어, 메모리 제어기(110)의 논리에 의해 구현되는 특징들) 액세스 관리기(112), 트리거 검출기(114), 리프레시 레이트 선택(116) 및 자원 선택(118)을 포함한다. 도시된 기능은 메모리 제어기(110)의 모든 기능을 나타내는 것을 의도하지 않는다. 메모리 제어기(110)는 도시된 것보다 많거나 적은 기능 컴포넌트들로 구현될 수 있다.
액세스 관리기(112)는 메모리 제어기(110)로 하여금 메모리(120)에 대해 얼마나 많은 액세스 트래픽이 존재하는지를 결정할 수 있게 한다. 따라서, 액세스 관리기(112)는 메모리 제어기로 하여금 시스템(100) 내의 상이한 메모리 디바이스들에 대한 액세스의 수와 관련된 정보를 모니터링, 추적 및 아마도 저장하는 것을 가능하게 한다. 액세스 관리기(112)는 메모리(120)로의 트래픽을 식별할 수 있다.
트리거 검출기(114)는 메모리 제어기(110)로 하여금 리프레시 레이트가 전환되어야 하는 조건들을 결정할 수 있게 한다. 전술한 바와 같이, 트리거는 타이밍 또는 트래픽에 기초할 수 있다. 트래픽 임계치는 리프레시 레이트가 전환될 수 있거나 전환되어야 하는 시기를 지시할 수 있다. 트리거 검출기(114)는 액세스 관리기(112)와 연계하여 동작할 수 있다. 예컨대, 메모리 제어기(110)는 메모리(120)에 대해 어떤 액세스 트래픽이 존재하는지를 액세스 관리기(112)를 통해 알 수 있고, 이어서 그러한 트래픽의 양이 리프레시 레이트의 변경을 위한 조건들을 지시하는지의 여부를 트리거 검출기(114)를 통해 결정할 수 있다.
리프레시 레이트 선택(116)은 메모리 제어기(110)로 하여금 다양한 상이한 리프레시 레이트들을 구현하고 적절히 적용할 수 있게 한다. 일 실시예에서, 메모리 제어기(110)는 상이한 리프레시 모드들과 관련된 다수의 상이한 리프레시 레이트들을 구현하기 위한 논리를 포함할 수 있다. 상이한 리프레시 레이트들은 명령들을 언제 전송할지, 명령들 사이에 얼마나 많은 무작동(nop)이 발행될지, 메모리 자원이 명령 실행을 위해 얼마나 오랫동안 점유될지, 특정 레이트에 대해 얼마나 많은 명령이 발행될 수 있거나 발행되어야 하는지, 또는 다른 규약들과 같은 동반 규약들을 갖는다.
*일 실시예에서, 상이한 리프레시 레이트들은 상이한 메모리 자원들(124)에 적용되는 데 사용된다. 따라서, 자원 선택(118)은 메모리 제어기(110)로 하여금 선택된 리프레시 레이트를 특정 메모리 자원에 적절히 적용할 수 있게 한다. 일 실시예에서, 상이한 자원들에 대한 상이한 레이트들의 적용은 데이터 구조 또는 테이블 또는 다른 그러한 메커니즘을 이용하여 관리된다. 대안으로서, 상이한 자원들의 상이한 리프레시 레이트들을 관리하기 위해 상이한 자원들에 상이한 레지스터들이 적용될 수 있다.
클럭(102)은 메모리 액세스 명령들을 위해 메모리(120) 및 메모리 제어기(110)에 적용할 클럭 신호를 나타낸다. 클럭(102)은 메인 시스템 클럭(예를 들어, 프로세서를 제어하는 데 사용되는 클럭), 주변장치 클럭, 또는 소정의 그러한 클럭의 소정의 변경된(예를 들어, 축소된) 버전일 수 있다. 클럭 디바이스를 특히 메모리 액세스를 위해 구현하는 것도 가능하다. 명령 발행 및 메모리(120)의 상태 변경은 통상적으로 클럭(102)을 참조하여 이루어진다. 리프레시 레이트는 특히 클럭(102)과 관련하여 이루어지며, 가속 리프레시 사이클은 표준 리프레시 사이클보다 적은 클럭 사이클들에서 종료될 것이다.
메모리(120)는 메모리 제어기(110)로부터의 명령들의 파이프라인을 나타내는 동작 파이프라인(122)을 포함한다. 액세스 명령들 및 리프레시 명령들이 메모리(120)에 의한 실행을 위해 동작 파이프라인(122) 내에 배치될 수 있다. 일 실시예에서, 리프레시 캐치업 동작은 리프레시 명령들을 갖는 충전(filling) 동작 파이프라인(122)을 포함한다. 리프레시 명령들로 파이프라인을 채움으로써, 메모리 제어기(110)는 캐치업이 종료될 때까지 다른 메모리 액세스 동작들 또는 리프레시 레이트 전환들을 효과적으로 방지할 수 있다. 대신, 메모리 제어기(110)는 리프레시 캐치업이 종료될 때까지 단지 그러한 명령들을 허가하지 않음으로써 액세스 동작들 또는 리프레시 레이트 전환을 능동적으로 방지할 수 있다.
도 2는 온더플라이 리프레시 모드 전환을 갖는 시스템의 일 실시예의 타이밍도이다. 타이밍도(200)는 하나의 예시적인 구현을 나타낸다. 타이밍도(200)는 가변 리프레시 레이트들을 사용하는 메모리 디바이스에 대한 상대적 타이밍을 나타낸다. 메모리 디바이스는 관련 메모리 제어기로부터 명령 라인을 통해 리프레시 명령들을 수신한다. 일 실시예에서, 메모리 디바이스는 DDR4와 같은 DDR(듀얼 데이터 레이트) 표준들과 호환되는 DRAM이다. 메모리 디바이스에 대한 관련 메모리 제어기 또는 대응하는 메모리 제어기는 메모리 디바이스에 대한 액세스를 제어하는 메모리 제어기이다.
타이밍도(200)는 클럭 신호(210) 및 명령 신호(220)의 도시를 포함한다. 명령 신호들에서, 명령들은 "무정의(Don't Care)" 신호들과 혼재될 수 있으며, 이는 (예를 들어, 인에이블 라인을 설정하는) 명령을 지시하는 트리거가 제공되지 않았으므로 그 시간 동안에 신호 라인의 상태가 어떠한지는 중요하지 않다는 것을 의미한다.
타이밍도(200)에 따르면, 메모리 제어기가 1x REF 명령(명령 신호(220) 내의 REF1)을 사용할 때, tRFC1의 리프레시 사이클 시간은 tREFI1의 리프레시 간격과 함께 사용된다. 메모리 제어기가 2x REF 명령(명령 신호(220) 내의 REF2)을 사용할 때, tRFC2의 리프레시 사이클 시간은 tREFI2의 리프레시 간격과 함께 사용된다. 타임 브레이크들에서, 타이밍도(200)는 tREFI1과 tREFI2 사이의 비교의 정확한 도시를 제공하지 않지만, tREFI2가 tREFI1보다 약 절반만큼 짧다.
일 실시예에서, 메모리 제어기는 제1 2x REF 명령 직후에 제2 2x REF 명령(tREFI2의 완료 후에 제2 REF2)을 발행한다. 메모리 제어기가 표준(예를 들어, 1x)과 가속(예를 들어, 2x 또는 4x) 리프레시 레이트들 사이에서 얼마나 자주 전환할 수 있는지를 제어하기 위한 상이한 가능한 옵션들이 존재한다. 타이밍도는 메모리 제어기가 2x 레이트를 사용할 때 1x 레이트로 다시 전환하기 전에 2개의 명령 또는 2개의 명령의 배수를 발행하도록 제약되는 옵션을 도시한다. 일반적으로, Nx 레이트에서 다른 레이트로 전환하기 전에 N개의 명령 또는 N개의 명령의 배수를 발행해야 하는 제약이 존재할 수 있으며, 여기서 N은 정수(즉, 1x 레이트의 경우 1개 명령, 2x 레이트의 경우 2개 명령, 4x 레이트의 경우 4개 명령 등)이다.
더 유연한 옵션은 메모리 제어기가 필요에 따라 전환하는 것이다. 예를 들어, 메모리 제어기는 2x 리프레시 레이트를 갖는 단일 명령을 발행한 후에 1x 레이트를 갖는 명령을 발행할 수 있다. 이러한 구현에서, 메모리 제어기는 모든 필요한 메모리 요소들을 리프레시하기 위해 tREF 내에 모든 리프레시들이 발행되는 것을 보증하는 것이 필요할 것이다. 리프레시 레이트들의 변경에 관하여 (전환 전의 N개의 명령 또는 N개의 명령의 배수의 발행과 같은) 제한이 존재하지 않는 경우, 메모리 디바이스 설계는 또한 복잡성이 증가할 수 있다. 예를 들어, 메모리 디바이스는 더 많은 비트를 갖는 행 어드레스 카운터들 및 추가적인 제어 논리를 필요로 할 수 있다.
따라서, (예를 들어, 모든 리프레시들의 발행을 모니터링하고 보증하기 위한) 메모리 제어기 내의 논리 대 리프레시 레이트들 사이에서 전환하기 위한 메모리 제어기의 유연성의 절충이 존재할 수 있다. 본 명세서에서의 대부분의 예들은 2개의 리프레시 레이트를 참조하지만, 로직은 더 많은(예를 들어, 3개) 상이한 리프레시 레이트들이 이용될 수 있는 구현들을 위해 더 정교해질 필요가 있을 것이다. 일 실시예에서, 메모리 제어기는 다양한 리프레시 레이트들을 갖는 명령들을 이용하여 리프레싱을 행하는 것에 대한 리프레시 요구들을 계산하고 모니터링하기 위한 기능 요소를 포함한다.
일 실시예에서, 메모리 제어기는 파이프라인 내에 많은 요청이 존재할 때 2x 또는 4x 리프레시 레이트를 사용한다. 리프레시들이 결정적인 임계치에 도달하는 경우, 메모리 제어기는 1x 레이트로 전환하고, 캐치업을 위한 리프레시들의 시리즈를 발행할 수 있다. 일 실시예에서, DRAM 사양들은 최대 9개의 리프레시의 큐잉(queuing)을 허락한다.
도 3은 온더플라이 리프레시 모드 제어를 갖는 메모리 디바이스를 구비하는 시스템의 일 실시예의 블록도이다. 임의의 다양한 컴퓨팅 디바이스 중 임의의 것이 본 명세서에서 설명되는 바와 같은 온더플라이 동적 리프레시 레이트 전환을 갖는 메모리 디바이스를 포함할 수 있다. 시스템(300)은 리프레시 레이트들의 동적 전환을 포함할 수 있는 임의의 다수한 컴퓨팅 디바이스를 나타낸다. 이러한 컴퓨팅 디바이스들은 서버, 데스크탑, 랩탑, 이동 디바이스, 스마트폰, 게임 디바이스, 및 주기적인 리프레시를 필요로 하는 메모리를 갖는 다른 디바이스를 포함할 수 있다.
시스템(300)은 메모리(310)를 포함하며, 이 메모리는 본 명세서에서 설명되는 임의의 실시예에 따른 메모리 디바이스이고, 하나 이상의 메모리 자원(312-314)을 포함한다. 메모리 자원들(312-314)은 메모리(310)에 대해 데이터가 저장되는 자원들을 나타낸다. 일 실시예에서, 메모리 자원들은 분리된 메모리 채널들, 메모리 뱅크들, 메모리 그룹들, 또는 다른 유사한 분리이다. 메모리 채널들의 분리 외의 임의의 분리를 구현하는 데 필요한 로직은 많은 실용적인 구현들에서 분리된 채널들보다 큰 어떠한 분리도 방지할 수 있다.
메모리(310)는 메모리 제어기(330)로부터의 명령들에 응답하여 리프레시 동작들을 구현하기 위한 메모리(310) 내의 하드웨어 및/또는 소프트웨어 논리를 나타내는 리프레시 제어(320)를 더 포함한다. 일 실시예에서, 리프레시 제어(320)는 메모리 제어기로부터 수신된 명령들의 파이프라인을 포함한다. 일 실시예에서, 메모리(310)는 메모리 제어기(330)에 다시 응답하기 전에 단일 명령만을 수신하고 실행하며, 따라서 이러한 구현에서는 명령들의 파이프라인이 메모리 제어기(330)에서 구현될 수 있다.
메모리 제어기(330)는 이 분야에서 이해되는 바와 같이 메모리(310)에 대한 액세스를 제어하기 위한 표준 논리(하드웨어 및/또는 소프트웨어)를 포함한다. 게다가, 메모리 제어기(330)는 전술한 바와 같이 시스템(300)에서 생성되는 리프레시 레이트 변경 트리거들을 판독하고 그에 대응하기 위한 논리를 포함한다. 따라서, 메모리 제어기는 상이한 리프레시 레이트들의 상이한 리프레시 모드들 사이에서 동적으로 전환하기 위한 논리를 포함한다. 메모리 제어기(330)는 메모리(310)의 액세스를 제어하므로 메모리(310)와 관련된다. 메모리 제어기(330)는 단일 라인 채널 또는 다중 라인 채널(예를 들어, 버스) 또는 이들의 조합일 수 있는 채널(352)을 통해 메모리(310)에 접속된 것으로 도시된다.
일 실시예에서, 메모리 제어기(330)는 메모리(310)와 관련된 리프레시 정책(332)에 액세스한다. 일 실시예에서, 메모리 제어기(330)는 시스템(300) 내의 메모리 뱅크들의 수에 따라 다수의 상이한 정책을 갖는다. 실험은 단일 메모리 뱅크가 채워진 상태에서 온더플라이 버스트가 더 좋은 성능을 나타낸다는 것을 보여주었다. 다수의 뱅크를 갖는 경우, 메모리 제어기(330)는 액세스되고 있지 않은 뱅크를 리프레시할 더 많은 기회를 갖는다.
일 실시예에서, DRAM은 뱅크 그룹별로 리프레시하거나 모든 뱅크 그룹들을 리프레시하기 위한 옵션을 가질 수 있다. 이러한 구현에서, 메모리 제어기(330)는 뱅크 그룹별 리프레시와 모두 리프레시 사이에서 선택하기 위해 온더플라이로 리프레시 명령을 발행할 수 있다. 표준 및 가속 리프레시 레이트들 사이의 전환에 대해 설명된 기술들도 이러한 구현에 적용된다.
프로세서(340)는 시스템(300)의 처리 자원들을 나타낸다. 단수로 도시되지만, 프로세서(340)는 다중 코어 디바이스들과 같은 또는 이들을 포함하는 하나 이상의 프로세서 디바이스를 포함할 수 있다는 것을 이해할 것이다. 프로세서(340)는 판독 및 기록 동작들을 수행하기 위해 버스(354)를 통해 메모리(310)에 액세스한다. 일 실시예에서, 버스(354)는 메모리 제어기(330)를 통해 물리적으로 라우팅될 수 있지만, 프로세서(340)로부터 메모리(310)로의 액세스가 메모리 제어기(330) 내에 존재하는 소정의 기능들(리프레시 레이트 변경 등)을 포함하지 않을 수 있다는 사실을 나타내기 위해 논리적으로 분리하여 도시된다.
도 4는 메모리 디바이스에 대한 리프레시 모드를 동적으로 전환하고 캐치업 리프레시 명령들을 발행하기 위한 프로세스의 일 실시예의 흐름도이다. 본 명세서에서 예시되는 바와 같은 흐름도들은 다양한 프로세스 액션들의 시퀀스들의 예들을 제공한다. 특정 시퀀스 또는 순서로 도시되지만, 달리 지정되지 않는 한, 액션들의 순서는 변경될 수 있다. 따라서, 도시된 구현들은 단지 예로서 이해되어야 하며, 프로세스는 상이한 순서로 수행될 수 있고, 일부 액션들은 병렬로 수행될 수도 있다. 게다가, 본 발명의 다양한 실시예들에서는 하나 이상의 액션이 생략될 수 있고, 따라서 모든 액션들이 모든 구현에 필요한 것은 아니다. 다른 프로세스 흐름들이 가능하다.
메모리 제어기 또는 메모리 자원 제어 로직은 리프레시 레이트 변경 트리거를 검출한다(402). 예를 들어, 제어기는 더 빠른 리프레시들을 사용하도록 제어기를 트리거하는, 임계치보다 높은 트래픽을 검출하거나, 제어기로 하여금 더 느린 리프레시 레이트를 사용할 수 있게 하는 더 낮은 트래픽 임계치를 검출할 수 있다. 일 실시예에서, 데이터 요청 타입(예로서, 요청된 데이터의 타입)은 리프레시 레이트 변경을 트리거할 수 있다. 예를 들어, 보증된 대역폭을 갖는 타입의 데이터에 대한 요청은 더 높은 리프레시 레이트의 사용을 트리거할 수 있다.
일 실시예에서는, 상이한 리프레시 레이트들이 상이한 메모리 자원들에 적용된다. 제어기는 리프레시 레이트 변경을 적용할 메모리 자원을 선택할 수 있다(404). 다른 실시예에서는, 예를 들어 메모리 구조 또는 구성에 기초하여, 리프레시 레이트들이 모든 메모리 자원들에 동일하게 적용되어, 자원의 선택이 필요 없어진다. 제어기는 선택된 메모리 자원에 대한 리프레시 레이트를 전환한다(406). 이어서, 다른 리프레시 레이트가 선택될 때까지 리프레시 명령들이 선택된 메모리 자원에 대해 발행된다.
일 실시예에서, 시스템은 메모리 자원들에 저장된 데이터의 유효성을 보증하는 데 필요한 시간 내에 모든 리프레시들이 완료될지를 결정하기 위해 리프레시 트래픽을 모니터링한다(412). 통상적으로 제어기가 리프레시 트래픽을 모니터링한다. 모든 리프레시들을 완료하기 위한 타이밍 임계치에 도달하지 않은 경우(414), 시스템은 리프레시 트래픽을 계속 모니터링한다(412).
리프레시들을 완료하기 위한 타이밍 임계치에 도달하는 경우(414), 제어기는 캐치업을 위한 리프레시 명령들의 시리즈를 발행한다(416). 제어기는 데이터의 유효성을 보증하는 데 필요한 시간 내에 명령들을 발행하지만, 한가한 많은 시간 없이 명령들을 발행할 수 있다. 따라서, 명령들의 시리즈는 리프레시 동작들과 함께 메모리 자원들을 일시적으로 점유하는 것이 필요할 수 있다. 메모리 액세스 성능에 영향을 미칠 수도 있지만, 데이터 유효성을 보증하는 것이 필요하다. 제어기는 리프레시 캐치업 동안 리프레시 레이트 변경을 방지할 수 있다(418). 전술한 바와 같이, 리프레시 레이트 변경의 방지는 명령을 발행하지 않음으로써 직접 달성될 수 있고, 그리고/또는 메모리 파이프라인에 명령들을 로딩함으로써 더 수동적으로 수행될 수 있다.
도 5는 뱅크 그룹 어드레스 비트들을 이용하여 리프레시 모드들을 전환하기 위한 프로세스의 일 실시예의 흐름도이다. 일 실시예에서, 메모리 자원에 대해 어떤 리프레시 레이트들이 지원되는지를 설정 및 결정하기 위해 모드 레지스터가 사용된다(502). 모드 레지스터는 시스템 BIOS(기본 입출력 시스템, 통상적으로 시스템 초기화를 위해) 또는 제어기에 의해 설정될 수 있다. 모드들 중 일부는 고정 모드들일 수 있으며, 이들은 리프레시 레이트를 변경하기 위해 모드 레지스터 내의 설정이 변경되는 것을 필요로 한다(예를 들어, 어떤 리프레시 모드가 선택되더라도 대응하는 상이한 리프레시 레이트를 획득하기 위해서는 모드 레지스터에서 다른 리프레시 모드로 변경되어야 한다).
온더플라이 리프레시 레이트 변경이 리프레시 모드에 의해 지원되지 않는 경우(504), 제어기는 고정 레이트 리프레시 모드를 따르며(506), 메모리 디바이스의 동작 동안 리프레시 레이트 변경들을 동적으로 발행할 수 없다. 온더플라이 리프레시 레이트 변경이 리프레시 모드에 의해 지원되는 경우(504), 제어기는 디폴트/가속 레이트 규약을 따른다(508). 디폴트 리프레시 레이트는 메모리 자원들에 대한 표준 레이트인 레이트이다. 본 명세서에서 설명되는 바와 같이, 그러한 레이트는 1x로서 참조될 수 있다. 가속 레이트 또는 레이트들은 표준 레이트의 팩터들이며, 상이한 구현들에 대해 상이할 수 있다.
일 실시예에서, 제어기는 디폴트 또는 가속 레이트를 적용할지를 결정한다(510). 이러한 결정은 특정 메모리 자원에 대한 정책에 기초하여(예를 들어, 트래픽 및/또는 유효성 보증에 기초하여) 이루어질 수 있다. 일 실시예에서, 제어기는 선택된 리프레시 레이트를 식별하기 위해 하나 이상의 뱅크 그룹 어드레스 비트를 설정한다(512). 제어기는 선택된 리프레시 레이트에 따라 tRFC 및 tREFI를 설정한다(514).
일 실시예에서, 본 명세서에서 설명되는 리프레시는 DDR4 구현에서 적용된다. 아래의 테이블은 DDR4에 대해 정의되는 모드 레지스터 설정의 일례를 제공한다.
Figure 112015051976738-pat00001
온더플라이 모드는 대응하는 모드 레지스터 내의 이용 가능 옵션들을 통해 인에이블될 수 있다. 레지스터 내의 제어 비트들은 관련 메모리 자원의 리프레시 모드를 제어하는 데 사용될 수 있다. 제어 비트 Ax는 고정 리프레시 모드 대신에 온더플라이 모드를 사용하도록 시스템에 지시할 수 있다. 또한, 다른 제어 비트들 중 하나 이상은 tREFI의 어떤 값들이 이용가능한지를 결정하는 데 사용될 수 있다. 도시된 것보다 많은 리프레시 모드를 인에이블하기 위해 더 많은 비트가 사용될 수 있다는 것을 이해할 것이다. 일 실시예에서, 모드들의 수는 메모리 검사 및 검증의 복잡성을 줄이기 위해 제한될 수 있다. 일례로서, 위의 테이블은 1x와 2x 사이에서 전환하기 위한 온더플라이 옵션 및 1x와 4x 사이에서 전환하기 위한 다른 옵션을 나타낸다. 다른 구현들에서는 (1x, 2x 및 4x 중 임의의 것들 간의 전환과 같은) 다른 옵션들도 사용될 수 있다. 예를 들어, 1x, 2x 및 4x의 상이한 리프레시 사이클 시간들의 임의의 조합이 발행될 수 있으며, 여기서 1x는 표준 시간이고, 2x는 표준 시간을 2로 나눈 시간이며, 4x는 표준 시간을 4로 나눈 시간이다. 따라서, 테이블의 예는 제한되지 않는다.
정상 모드(고정 1x)는 레거시 모드(예로서, 7.8 마이크로초의 평균 리프레시 간격)이다. 고정 2x 및 4x 레이트들도 지원될 수 있다. 2x 리프레시 모드에서, 리프레시들은 평균 리프레시 간격보다 2배 빠르게(예를 들어, 3.9 마이크로초(7.8 usec/2)에) 발행된다. 일 실시예에서, 2x 리프레시 모드에서, DRAM은 내부적으로 그가 1x 리프레시 모드에서 리프레시한 행들의 수의 절반만을 리프레시할 것이다. 4x 리프레시 모드에서, 리프레시들은 평균 리프레시 간격보다 4배 빠르게(예를 들어, 1.95 마이크로초(7.8 usec/4)에) 발행된다. 1x, 2x 또는 4x 고정 리프레시 모드의 구현은 비트들 Ay 및 Az에 의해 제어되며, 이들은 모드 레지스터(예로서, DRAM에 그리고/또는 메모리 제어기에 저장된 레지스터) 내의 2개의 비트를 나타낸다.
전환은 메모리 제어기에 의해 제어되며, 예를 들어 제어기에 의해 관찰되는 트래픽에 기초하여 변경될 수 있다. 일 실시예에서, 리프레시 명령은 메모리 제어기에 의해 발행되는 특정 명령 인코딩이다. 리프레시 명령들을 발행하기 위한 명령 테이블의 일례는 다음과 같다.
Figure 112015051976738-pat00002
도시된 바와 같이, 일 실시예에서, 인코딩의 타입을 지정하기 위해 특정 핀(BG0 또는 뱅크 그룹 0)이 사용될 수 있다(예를 들어, BG0=0에 대해 1x를 사용하고, BG0=1에 대해서는 선택된 구현에 따라 2x 또는 4x를 사용한다). 모드 레지스터를 이용하여 리프레시 "온더플라이 1x/2x" 옵션이 선택되는 경우, 1x 및 2x 명령들을 구별하기 위해 뱅크 그룹 어드레스 비트 BG0이 사용된다. 따라서, 모드 레지스터에 대한 참조는 어떤 리프레시 모드들이 이용 가능한지를 지시할 수 있으며, 다른 제어 비트들은 어떤 리프레시 레이트(또는 어떤 동적 리프레시 모드)가 선택되는지를 지시할 수 있다.
일 실시예에서, BG0=L인 경우, DRAM은 1x의 tRFC를 이용하여 리프레시를 실행하며, BG0=H인 경우, DRAM은 2x 리프레시와 관련된 대응 tRFC 값을 이용하여 리프레시를 실행한다. 리프레시 "온더플라이 1x/4x" 옵션이 대신 선택된 경우, BG0=H는 DRAM으로 하여금 4x 리프레시와 관련된 대응 tRFC 값을 이용하여 리프레시를 실행하게 할 수 있다. 하이(H) 및 로우(L) 논리 레벨들 간의 교대도 행해질 수 있다.
다양한 동작들 또는 기능들이 본 명세서에서 설명되며, 이들은 소프트웨어 코드, 명령어들, 구성 및/또는 데이터로서 설명되거나 정의될 수 있다. 콘텐츠는 직접 실행 파일("객체" 또는 "실행 파일" 형태), 소스 코드 또는 차이 코드("델타" 또는 "패치" 코드)일 수 있다. 본 명세서에서 설명되는 실시예들의 소프트웨어 콘텐츠는 콘텐츠를 저장한 제조물을 통해 제공되거나, 통신 인터페이스를 동작시켜 통신 인터페이스를 통해 데이터를 전송하는 방법을 통해 제공될 수 있다. 기계 판독 가능 매체 또는 컴퓨터 판독 가능 매체가 기계로 하여금 설명되는 기능들 또는 동작들을 수행하게 할 수 있으며, 예를 들어 기록 가능/기록 불가 저장 매체(예로서, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 디바이스 또는 다른 저장 매체)를 통해 또는 전송 매체(예로서, 광, 디지털, 전기, 음향 신호들 또는 다른 전파 신호)를 통해 기계(예로서, 컴퓨팅 디바이스, 전자 시스템 또는 다른 디바이스)에 의해 액세스될 수 있는 형태로 정보를 제공(즉, 저장 및/또는 전송)하는 임의의 메커니즘을 포함한다. 통신 인터페이스는 메모리 버스 인터페이스, 프로세서 버스 인터페이스, 인터넷 접속, 디스크 제어기와 같이 다른 디바이스와 통신하기 위해 유선, 무선, 광학 또는 다른 매체 중 임의의 매체와 인터페이스하는 임의의 메커니즘을 포함한다. 통신 인터페이스는 구성 파라미터들을 제공함으로써 그리고/또는 소프트웨어 콘텐츠를 기술하는 데이터 신호를 제공하도록 통신 인터페이스를 준비시키기 위한 신호들을 전송함으로써 구성될 수 있다.
본 명세서에서 설명되는 다양한 컴포넌트들은 설명되는 동작들 또는 기능들을 수행하기 위한 수단일 수 있다. 본 명세서에서 설명되는 각각의 컴포넌트는 소프트웨어, 하드웨어 또는 이들의 조합을 포함한다. 컴포넌트들은 소프트웨어 모듈, 하드웨어 모듈, 특수 목적 하드웨어(예를 들어, 주문형 하드웨어, 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP) 등), 내장 제어기, 유선 회로 등으로서 구현될 수 있다.
본 명세서에서 설명된 것 외에도, 개시된 본 발명의 실시예들 및 구현들의 범위로부터 벗어나지 않고 이들에 대한 다양한 변경들이 이루어질 수 있다. 따라서, 본 명세서에서의 예시들 및 예들은 한정이 아니라 예시적인 것으로 해석되어야 한다. 본 발명의 범위는 아래의 청구항들만을 참조하여 판단되어야 한다.

Claims (18)

  1. 제1 조합의 리프레시 사이클 시간 및 리프레시 간격 시간 및 제2 조합의 리프레시 사이클 시간 및 리프레시 간격 시간을 제1 구성 레지스터 공간에 입력함으로써 동작의 제1 온더플라이 모드를 정의하는 단계;
    제3 조합의 리프레시 사이클 시간 및 리프레시 간격 시간 및 제4 조합의 리프레시 사이클 시간 및 리프레시 간격 시간을 제2 구성 레지스터 공간에 입력함으로써 동작의 제2 온더플라이 모드를 정의하는 단계;
    상기 제1 온더플라이 모드에서의 시스템 실행(runtime) 중에,
    a) 리프레시 레이트 변경 트리거를 검출하는 것; 및
    b) 상기 리프레시 레이트 변경 트리거의 상기 검출에 응답하여, 메모리 디바이스의 활성 동작을, 상기 제1 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로부터 상기 제2 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로 동적 전환하는 것 - 상기 제1 및 제2 조합은 서로 다른 리프레시 사이클 시간들 및 서로 다른 리프레시 간격 시간들을 가짐 -
    을 수행하는 단계; 및
    상기 제2 온더플라이 모드에서의 시스템 실행 중에,
    c) 리프레시 레이트 변경 트리거를 검출하는 것; 및
    d) 상기 리프레시 레이트 변경 트리거의 상기 검출에 응답하여, 메모리 디바이스의 활성 동작을, 상기 제3 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로부터 상기 제4 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로 동적 전환하는 것 - 상기 제3 및 제4 조합은 서로 다른 리프레시 사이클 시간들 및 서로 다른 리프레시 간격 시간들을 가짐 -
    을 수행하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 트리거를 검출하는 단계는
    상기 메모리 디바이스에 대한 트래픽의 임계량을 검출하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 제1 및 제2 조합 중 하나의 조합은, 나머지 다른 하나의 조합의 상기 리프레시 간격 시간의 두 배인 리프레시 간격 시간을 갖는, 방법.
  4. 제1항에 있어서, 상기 리프레시 레이트 변경 트리거는 스케줄에 기초한 것인, 방법.
  5. 제1항에 있어서,
    상기 메모리 디바이스에 대한 리프레시 캐치업(catch-up)을 수행하기 위해 리프레시 명령들의 시리즈를 발행하는 단계를 더 포함하는 방법.
  6. 제5항에 있어서, 상기 리프레시 명령들의 시리즈를 발행하는 단계는
    가장 느린 이용 가능 사이클 시간을 갖는 리프레시 명령들의 시리즈를 발행하는 단계를 포함하는 방법.
  7. 제1 조합의 리프레시 사이클 시간 및 리프레시 간격 시간 및 제2 조합의 리프레시 사이클 시간 및 리프레시 간격 시간을 정의하기 위한 제1 온더플라이 모드 구성 레지스터 공간;
    제3 조합의 리프레시 사이클 시간 및 리프레시 간격 시간 및 제4 조합의 리프레시 사이클 시간 및 리프레시 간격 시간을 정의하기 위한 제2 온더플라이 모드 구성 레지스터 공간; 및
    메모리 자원들에 결합되기 위한 인터페이스를 갖는 메모리 자원 제어 로직 하드웨어 회로를 포함하는 장치로서,
    상기 제어 로직 하드웨어 회로는
    상기 제1 온더플라이 모드에서의 상기 메모리 자원들의 활성 동작 동안에, 리프레시 레이트 변경 트리거의 검출에 응답하여, 상기 제1 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로부터 상기 제2 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로 동적 전환 - 상기 제1 및 제2 조합은 서로 다른 리프레시 사이클 시간들 및 서로 다른 리프레시 간격 시간들을 가짐 - 하고,
    상기 제2 온더플라이 모드에서의 상기 메모리 자원들의 활성 동작 동안에, 리프레시 레이트 변경 트리거의 검출에 응답하여, 상기 제3 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로부터 상기 제4 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로 동적 전환 - 상기 제3 및 제4 조합은 서로 다른 리프레시 사이클 시간들 및 서로 다른 리프레시 간격 시간들을 가짐 - 하는 장치.
  8. 제7항에 있어서, 상기 메모리 자원 제어 로직 하드웨어 회로는 상기 메모리 자원들에 대한 트래픽의 임계량을 검출하고, 상기 임계량은 리프레시 레이트 변경 트리거로서 작용하는 장치.
  9. 제7항에 있어서, 상기 제1 및 제2 조합 중 하나의 조합은, 나머지 다른 하나의 조합의 상기 리프레시 간격 시간의 두 배인 리프레시 간격 시간을 갖는, 장치.
  10. 제7항에 있어서, 상기 리프레시 레이트 변경 트리거는 스케줄에 기초한 것인, 장치.
  11. 제7항에 있어서, 상기 메모리 자원 제어 로직 하드웨어 회로는 또한 상기 메모리 자원들에 대한 리프레시 캐치업을 수행하기 위해 리프레시 명령들의 시리즈를 발행하는 장치.
  12. 제11항에 있어서, 상기 메모리 자원 제어 로직 하드웨어 회로는 가장 느린 이용 가능 사이클 시간을 갖는 리프레시 명령들의 시리즈를 발행하는 장치.
  13. 시스템으로서,
    제1 조합의 리프레시 사이클 시간 및 리프레시 간격 시간 및 제2 조합의 리프레시 사이클 시간 및 리프레시 간격 시간을 정의하기 위한 제1 온더플라이 모드 구성 레지스터 공간;
    제3 조합의 리프레시 사이클 시간 및 리프레시 간격 시간 및 제4 조합의 리프레시 사이클 시간 및 리프레시 간격 시간을 정의하기 위한 제2 온더플라이 모드 구성 레지스터 공간;
    데이터를 저장하기 위한 메모리 자원들을 갖는 메모리 디바이스; 및
    메모리 자원 제어 로직 하드웨어 회로에 결합된 다중 코어 프로세서를 포함하고,
    상기 다중 코어 프로세서는 상기 메모리 디바이스에 저장된 데이터에 대한 메모리 액세스 요청들을 생성하고, 상기 메모리 자원 제어 로직 하드웨어 회로는 상기 메모리 자원들에 결합되며, 상기 제어 로직 하드웨어 회로는
    상기 제1 온더플라이 모드에서의 상기 메모리 자원들의 활성 동작 동안에, 리프레시 레이트 변경 트리거의 검출에 응답하여, 상기 제1 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로부터 상기 제2 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로 동적 전환 - 상기 제1 및 제2 조합은 서로 다른 리프레시 사이클 시간들 및 서로 다른 리프레시 간격 시간들을 가짐 - 하고,
    상기 제2 온더플라이 모드에서의 상기 메모리 자원들의 활성 동작 동안에, 리프레시 레이트 변경 트리거의 검출에 응답하여, 상기 제3 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로부터 상기 제4 조합의 리프레시 사이클 시간 및 리프레시 간격 시간으로 동적 전환 - 상기 제3 및 제4 조합은 서로 다른 리프레시 사이클 시간들 및 서로 다른 리프레시 간격 시간들을 가짐 - 하는
    시스템.
  14. 제13항에 있어서, 상기 메모리 자원 제어 로직 하드웨어 회로는 상기 메모리 디바이스에 대한 트래픽의 임계량을 검출하고, 상기 임계량은 리프레시 레이트 변경 트리거로서 작용하는 시스템.
  15. 제13항에 있어서, 상기 제1 및 제2 조합 중 하나의 조합은, 나머지 다른 하나의 조합의 상기 리프레시 간격 시간의 두 배인 리프레시 간격 시간을 갖는, 시스템.
  16. 제13항에 있어서, 상기 리프레시 레이트 변경 트리거는 스케줄에 기초한 것인, 시스템.
  17. 제13항에 있어서, 상기 메모리 자원 제어 로직 하드웨어 회로는 또한 상기 메모리 디바이스에 대한 리프레시 캐치업을 수행하기 위해 리프레시 명령들의 시리즈를 발행하는 시스템.
  18. 제17항에 있어서, 상기 메모리 자원 제어 로직 하드웨어 회로는 가장 느린 이용 가능 사이클 시간을 갖는 리프레시 명령들의 시리즈를 발행하는 시스템.
KR1020157014362A 2010-12-06 2011-11-22 온더플라이 메모리 디바이스 리프레시 명령들 KR101614672B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US42026910P 2010-12-06 2010-12-06
US61/420,269 2010-12-06
US12/977,974 US8775725B2 (en) 2010-12-06 2010-12-23 Memory device refresh commands on the fly
US12/977,974 2010-12-23
PCT/US2011/061853 WO2012078357A2 (en) 2010-12-06 2011-11-22 Memory device refresh commands on the fly

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020137014525A Division KR20130089266A (ko) 2010-12-06 2011-11-22 온더플라이 메모리 디바이스 리프레시 명령들

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167009759A Division KR101798802B1 (ko) 2010-12-06 2011-11-22 온더플라이 메모리 디바이스 리프레시 명령들

Publications (2)

Publication Number Publication Date
KR20150068491A KR20150068491A (ko) 2015-06-19
KR101614672B1 true KR101614672B1 (ko) 2016-04-21

Family

ID=46163334

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167009759A KR101798802B1 (ko) 2010-12-06 2011-11-22 온더플라이 메모리 디바이스 리프레시 명령들
KR1020157014362A KR101614672B1 (ko) 2010-12-06 2011-11-22 온더플라이 메모리 디바이스 리프레시 명령들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167009759A KR101798802B1 (ko) 2010-12-06 2011-11-22 온더플라이 메모리 디바이스 리프레시 명령들

Country Status (4)

Country Link
US (3) US8775725B2 (ko)
EP (1) EP2649618B1 (ko)
KR (2) KR101798802B1 (ko)
WO (1) WO2012078357A2 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775725B2 (en) * 2010-12-06 2014-07-08 Intel Corporation Memory device refresh commands on the fly
JP2012178194A (ja) * 2011-02-25 2012-09-13 Renesas Electronics Corp 不揮発性半導体記憶装置
US9269418B2 (en) * 2012-02-06 2016-02-23 Arm Limited Apparatus and method for controlling refreshing of data in a DRAM
US9299400B2 (en) 2012-09-28 2016-03-29 Intel Corporation Distributed row hammer tracking
US9076499B2 (en) * 2012-12-28 2015-07-07 Intel Corporation Refresh rate performance based on in-system weak bit detection
US9536626B2 (en) 2013-02-08 2017-01-03 Intel Corporation Memory subsystem I/O performance based on in-system empirical testing
US10042750B2 (en) 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US9390785B2 (en) 2014-03-27 2016-07-12 Intel Corporation Method, apparatus and system for determining a write recovery time of a memory based on temperature
US9490002B2 (en) 2014-07-24 2016-11-08 Rambus Inc. Reduced refresh power
KR102272132B1 (ko) 2014-12-26 2021-07-01 삼성전자주식회사 반도체 장치 및 그 구동 방법
US10438658B2 (en) * 2014-12-26 2019-10-08 Intel Corporation Refresh logic to refresh only memory cells having a first value
JP6180450B2 (ja) * 2015-02-02 2017-08-16 キヤノン株式会社 制御装置、制御装置の制御方法及びプログラム
US10599504B1 (en) * 2015-06-22 2020-03-24 Amazon Technologies, Inc. Dynamic adjustment of refresh rate
TWI619069B (zh) * 2015-09-02 2018-03-21 輝達公司 記憶體管理系統和方法
US10937484B2 (en) * 2015-12-30 2021-03-02 International Business Machines Corporation Dynamic bandwidth throttling of DRAM accesses for memory tracing
US9824742B1 (en) 2016-04-28 2017-11-21 Qualcomm Incorporated DRAM access in self-refresh state
US10318187B2 (en) * 2016-08-11 2019-06-11 SK Hynix Inc. Memory controller and memory system including the same
JP6780897B2 (ja) 2017-04-14 2020-11-04 ホアウェイ・テクノロジーズ・カンパニー・リミテッド メモリリフレッシュ技術及びコンピュータシステム
CA3058778C (en) * 2017-04-14 2023-02-21 Huawei Technologies Co., Ltd. Memory refresh technology and computer system
US20190026028A1 (en) * 2017-07-24 2019-01-24 Qualcomm Incorporated Minimizing performance degradation due to refresh operations in memory sub-systems
US10475519B2 (en) * 2018-03-23 2019-11-12 Micron Technology, Inc. Methods for detecting and mitigating memory media degradation and memory devices employing the same
KR102358563B1 (ko) 2018-05-09 2022-02-04 삼성전자주식회사 로우 해머 핸들링과 함께 리프레쉬 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템
US11226752B2 (en) * 2019-03-05 2022-01-18 Apple Inc. Filtering memory calibration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305518B2 (en) 2004-10-20 2007-12-04 Hewlett-Packard Development Company, L.P. Method and system for dynamically adjusting DRAM refresh rate
US20080140923A1 (en) 2004-11-12 2008-06-12 Mark David Bellows Deferring Refreshes During Calibrations in Memory Systems

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638529A (en) * 1992-08-24 1997-06-10 Intel Corporation Variable refresh intervals for system devices including setting the refresh interval to zero
JP3607407B2 (ja) * 1995-04-26 2005-01-05 株式会社日立製作所 半導体記憶装置
US6272588B1 (en) * 1997-05-30 2001-08-07 Motorola Inc. Method and apparatus for verifying and characterizing data retention time in a DRAM using built-in test circuitry
US6021076A (en) * 1998-07-16 2000-02-01 Rambus Inc Apparatus and method for thermal regulation in memory subsystems
JP4034923B2 (ja) * 1999-05-07 2008-01-16 富士通株式会社 半導体記憶装置の動作制御方法および半導体記憶装置
KR100336838B1 (ko) * 1999-06-17 2002-05-16 윤종용 리프레시 주기 선택 회로 및 입/출력 비트 폭 선택 회로를 구비한 다이내믹 랜덤 액세스 메모리 장치
US6646942B2 (en) * 2001-10-09 2003-11-11 Micron Technology, Inc. Method and circuit for adjusting a self-refresh rate to maintain dynamic data at low supply voltages
US7272065B2 (en) * 2003-12-03 2007-09-18 Simon Lovett Compensated refresh oscillator
JP4237109B2 (ja) 2004-06-18 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置及びリフレッシュ周期制御方法
US7233538B1 (en) 2004-08-02 2007-06-19 Sun Microsystems, Inc. Variable memory refresh rate for DRAM
US7436727B2 (en) * 2004-09-30 2008-10-14 Intel Corporation Method and apparatus to control a power consumption of a memory device
US8438328B2 (en) * 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US20080028136A1 (en) * 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
KR100714487B1 (ko) * 2005-11-29 2007-05-07 삼성전자주식회사 동적 메모리 장치 및 그 리프레쉬 주기 결정 방법
US7894282B2 (en) * 2005-11-29 2011-02-22 Samsung Electronics Co., Ltd. Dynamic random access memory device and method of determining refresh cycle thereof
TWI303763B (en) * 2006-01-25 2008-12-01 Via Tech Inc Device and method for controlling refresh rate of memory
US7286377B1 (en) 2006-04-28 2007-10-23 Mosaid Technologies Incorporated Dynamic random access memory device and method for self-refreshing memory cells with temperature compensated self-refresh
JP4470185B2 (ja) * 2006-11-28 2010-06-02 エルピーダメモリ株式会社 半導体記憶装置
WO2009011052A1 (ja) * 2007-07-18 2009-01-22 Fujitsu Limited メモリリフレッシュ装置およびメモリリフレッシュ方法
DE102007051550A1 (de) * 2007-10-29 2009-04-30 Robert Bosch Gmbh Stößel für ein Magnetventil und ein Verfahren zur Kennzeichnung von Stößeln für Magnetventile
US7990795B2 (en) 2009-02-19 2011-08-02 Freescale Semiconductor, Inc. Dynamic random access memory (DRAM) refresh
JP2011165247A (ja) * 2010-02-08 2011-08-25 Seiko Epson Corp 電子機器
US8775725B2 (en) * 2010-12-06 2014-07-08 Intel Corporation Memory device refresh commands on the fly

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305518B2 (en) 2004-10-20 2007-12-04 Hewlett-Packard Development Company, L.P. Method and system for dynamically adjusting DRAM refresh rate
US20080140923A1 (en) 2004-11-12 2008-06-12 Mark David Bellows Deferring Refreshes During Calibrations in Memory Systems

Also Published As

Publication number Publication date
EP2649618A2 (en) 2013-10-16
US8775725B2 (en) 2014-07-08
KR20150068491A (ko) 2015-06-19
KR101798802B1 (ko) 2017-11-16
US20170076780A1 (en) 2017-03-16
US20140241094A1 (en) 2014-08-28
US9858980B2 (en) 2018-01-02
KR20160135158A (ko) 2016-11-25
EP2649618A4 (en) 2015-07-29
WO2012078357A2 (en) 2012-06-14
EP2649618B1 (en) 2019-11-20
WO2012078357A3 (en) 2012-09-07
US9396785B2 (en) 2016-07-19
US20120144106A1 (en) 2012-06-07

Similar Documents

Publication Publication Date Title
KR101614672B1 (ko) 온더플라이 메모리 디바이스 리프레시 명령들
US9754655B2 (en) Controlling a refresh mode of a dynamic random access memory (DRAM) die
US10185618B2 (en) Method and apparatus for selecting one of a plurality of bus interface configurations to use
US8909856B2 (en) Fast exit from self-refresh state of a memory device
US7496777B2 (en) Power throttling in a memory system
KR102151627B1 (ko) Ddr에 호환되는 메모리 시스템들을 위한 자가 최적화된 파워 관리
JP5228472B2 (ja) 半導体メモリおよびシステム
US7242631B2 (en) Semiconductor memory device and information processing system
US9281036B2 (en) Memory device having an adaptable number of open rows
BR112012025292B1 (pt) circuito integrado e método
KR101692128B1 (ko) 리프레시 모드들 동안의 메모리 디바이스들에서의 전력 소비의 감소
JP4339995B2 (ja) 半導体記憶装置
US8738993B2 (en) Memory device on the fly CRC mode
WO2018188085A1 (zh) 内存刷新技术及计算机系统
WO2018188083A1 (zh) 内存刷新技术及计算机系统
KR20200067227A (ko) 메모리 채널 상호연결의 정보에 근거하여 스토리지 장치 타스크들을 개시하기 위한 시스템 및 방법
US7145814B2 (en) RAS time control circuit and method for use in DRAM using external clock
KR20130089266A (ko) 온더플라이 메모리 디바이스 리프레시 명령들
JP2012216283A (ja) 半導体メモリおよびシステム

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 4