KR101650042B1 - 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하기 위한 시스템 및 방법 - Google Patents

메모리 디바이스의 타이밍 파라미터를 동적으로 결정하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101650042B1
KR101650042B1 KR1020157028561A KR20157028561A KR101650042B1 KR 101650042 B1 KR101650042 B1 KR 101650042B1 KR 1020157028561 A KR1020157028561 A KR 1020157028561A KR 20157028561 A KR20157028561 A KR 20157028561A KR 101650042 B1 KR101650042 B1 KR 101650042B1
Authority
KR
South Korea
Prior art keywords
memory
timing
value
access request
memory access
Prior art date
Application number
KR1020157028561A
Other languages
English (en)
Other versions
KR20150131186A (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 KR20150131186A publication Critical patent/KR20150131186A/ko
Application granted granted Critical
Publication of KR101650042B1 publication Critical patent/KR101650042B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F17/5031
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

특정한 방법이 프로세서로부터의, 제 1 메모리 액세스 요청을 메모리 디바이스에서 수신하는 단계를 포함한다. 방법은 메모리 디바이스의 타이밍 파라미터에 기초하여 제 1 메모리 액세스 요청을 프로세싱하는 단계를 또한 포함한다. 방법은 프로세서로부터의, 제 2 메모리 액세스 요청을 메모리 디바이스에서 수신하는 단계를 더 포함한다. 방법은 수정된 타이밍 파라미터를 생성하기 위해 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 의해 식별되는 어드레스들에 기초하여 메모리 디바이스의 타이밍 파라미터를 수정하는 단계를 또한 포함한다. 방법은 수정된 타이밍 파라미터에 기초하여 제 2 메모리 액세스 요청을 프로세싱하는 단계를 더 포함한다.

Description

메모리 디바이스의 타이밍 파라미터를 동적으로 결정하기 위한 시스템 및 방법 {SYSTEM AND METHOD TO DYNAMICALLY DETERMINE A TIMING PARAMETER OF A MEMORY DEVICE}
[0001] 본원은 2013년 3월 15일 출원된 출원인 소유의 미국 정식 특허 출원 번호 13/842,410에 대해 우선권을 주장하고, 이것은 인용에 의해 본원에 그 전체가 명확히 포함된다.
분야
[0002] 본원의 기재는 일반적으로 메모리 디바이스의 타이밍 파라미터를 결정하는 것에 관련된다.
관련 기술의 기재
[0003] 기술의 발전들은 보다 작고 보다 파워풀한 컴퓨팅 디바이스들을 야기해왔다. 예를 들면, 최근에는 작고, 가볍고, 그리고 사용자에 의해 쉽게 옮겨지는 페이징 디바이스들, 포터블 무선 전화들, 개인용 정보 단말기들(PDAs)과 같은 무선 컴퓨팅 디바이스들을 포함하는 다양한 포터블 개인 컴퓨팅 디바이스들이 존재한다. 보다 구체적으로, 셀룰러 전화들 및 인터넷 프로토콜(IP) 전화들과 같은 포터블 무선 전화들은 무선 네트워크들을 통해 보이스 및 데이터 패킷들을 통신할 수 있다. 또한, 많은 이러한 무선 전화들이 그안에 포함되는 다른 타입들의 디바이스들을 포함할 수 있다. 예를 들면, 무선 전화는 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어를 또한 포함할 수 있다. 또한, 이러한 무선 전화들은 인터넷에 액세스 하기 위해 이용될 수 있는 웹 브라우저 어플리케이션과 같은 소프트웨어 어플리케이션들을 포함하는 실행 가능한 명령들을 프로세싱할 수 있다. 그러므로, 이 무선 전화들은 중요한 컴퓨팅 능력들을 포함할 수 있다.
[0004] 컴퓨팅 디바이스는 메모리 디바이스(예컨대, 동적 랜덤 액세스 메모리(DRAM))를 포함할 수 있다. 메모리 디바이스는 복수의 행들 및 복수의 열들 내에 정렬되는 복수의 저장 엘리먼트들을 포함할 수 있다. 메모리 디바이스는 타이밍 파라미터들(예컨대, 판독-데이터(read-to-data) 레이턴시(RL))에 기초해서 프로세서로부터 수신되는 메모리 액세스 요청들을 프로세싱할 수 있다. RL 타이밍 파라미터는 판독(READ) 커맨드를 수신하는 것과 판독 커맨드과 연관되는 데이터를 데이터 버스에 제공하는 것 사이의 타이밍 사이클들의 수에 대응한다. 메모리 디바이스의 타이밍 파라미터들은 고정된 값들(예컨대, 메모리 디바이스의 제조자에 의해 설정되는)을 가질 수 있다. 예를 들면, 고정된 RL 타이밍 파라미터는 행 액세스 레이턴시(예컨대, 행 액세스 스트로브(RAS) 레이턴시) 및 열 액세스 레이턴시(예컨대, 열 액세스 스트로브(CAS) 레이턴시)를 포함할 수 있다. 특정 메모리 액세스 동작들에 대해 고정된 RL 타이밍 파라미터를 이용하는 것은 타이밍 사이클들의 수에 대한 유휴 데이터 버스, 즉, 이전 메모리 액세스를 제공한(service) 이후에 유휴가 되는 데이터 버스를 야기할 수 있다.
[0005] 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하는 시스템들 및 방법들이 기재된다. 유리하게, 동적으로 결정된 타이밍 파라미터는 데이터 버스의 처리량(throughput)을 증가시킬 수 있다. 예를 들면, 다수의 메모리 액세스 요청들은 메모리 디바이스에 의해 수신될 수 있다. 특정 메모리 액세스 요청은 이전 메모리 액세스 요청으로서 메모리의 동일한 행으로부터 데이터를 요청할 수 있다. 고정된 타이밍 파라미터는 상이한 행들 및 열들이 성공적으로 액세스될 때 발생하는 행 액세스 레이턴시 및 열 액세스 레이턴시에 기초하여 정의된다. 그러나, 행이 변화하지 않을 때(즉, 동일한 행으로부터의 데이터가 다시 액세스 될 때) 행 액세스 레이턴시는 0이다. 따라서, 고정된 레이턴시 타이밍 파라미터의 이용은 동일한 행에서 순차적인 데이터 요청들에 대한 행 액세스 레이턴시와 연관되는 데이터 버스 유휴 시간으로 이어진다.
[0006] 기재된 기술들에 따라, 동적 타이밍 파라미터는 열 액세스 레이턴시에 기초하여 결정될 수 있다. 동적 타이밍 파라미터는 동일한 행에서 순차적인 데이터 요청들과 연관되는 데이터의 제공을 언제 시작할 것인지 결정하기 위해 이용될 수 있고, 데이터 버스가 유휴인 동안의 지속기간을 감소시킬 수 있다. 데이터 버스의 처리량은 그렇게 함으로써 동일한 행에 대한 순차적 데이터 요청들에 대해 증가된다.
[0007] 특정 실시예에서, 방법은 프로세서로부터의, 제 1 메모리 액세스 요청을 메모리 디바이스에서 수신하는 단계를 포함한다. 방법은 또한 메모리 디바이스의 타이밍 파라미터에 기초하여 제 1 메모리 액세스 요청을 프로세싱하는 단계를 포함한다. 방법은 프로세서로부터의, 제 2 메모리 액세스 요청을 메모리 디바이스에서 수신하는 단계를 더 포함한다. 방법은, 수정된 타이밍 파라미터를 생성하기 위해 제 1 메모리 액세스 요청 및 상기 제 2 메모리 액세스 요청에 의해 식별되는 어드레스들에 기초하여 메모리 디바이스의 타이밍 파라미터를 수정하는 단계를 포함한다. 방법은, 수정된 타이밍 파라미터에 기초하여 제 2 메모리 액세스 요청을 프로세싱하는 단계를 더 포함한다.
[0008] 다른 특정한 실시예에서, 메모리 디바이스는 복수의 저장 엘리먼트들 및 메모리 제어 로직을 포함한다. 메모리 제어 로직은 복수의 저장 엘리먼트들 및 프로세서에 커플링된다. 메모리 제어 로직은 프로세서로부터 수신되는 복수의 메모리 액세스 요청들에 의해 식별되는 메모리 어드레스들에 적어도 부분적으로 기초하여 타이밍 파라미터의 값을 동적으로 결정하도록 구성된다. 타이밍 파라미터는 복수의 메모리 액세스 요청들의 적어도 하나와 연관되는 데이터가 데이터 버스에 제공되기 전의 타이밍 사이클들의 수와 대응한다.
[0009] 다른 특정한 실시예에서, 장치는 프로세서 및 메모리 제어기를 포함한다. 메모리 제어기는 프로세서 및 메모리 디바이스에 커플링된다. 메모리 제어기는 메모리 디바이스로의 복수의 메모리 액세스 요청들에 의해 식별되는 메모리 어드레스들에 적어도 부분적으로 기초하여 타이밍 파라미터의 값을 동적으로 결정하도록 구성된다. 타이밍 파라미터는 복수의 메모리 액세스 요청들의 적어도 하나와 연관되는 데이터가 데이터 버스에 제공되기 전의 타이밍 사이클들의 수와 대응한다.
[0010] 다른 특정한 실시예에서, 방법은 메모리 제어기로부터 메모리 디바이스로 제 1 메모리 액세스 요청을 전송하는 단계를 포함한다. 방법은 또한 타이밍 파라미터의 제 1 값에 기초하여 메모리 디바이스로부터 메모리 제어기로의 제 1 데이터 전송의 제 1 시간을 예측하는 단계를 포함한다. 데이터 전송은 제 1 메모리 액세스 요청에 연관된다. 방법은 제 2 메모리 액세스 요청을 메모리 디바이스로 전송하는 단계를 더 포함한다. 방법은 또한 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 기초하여 타이밍 파라미터의 제 2 값을 결정하는 단계를 포함한다. 방법은 제 2 값에 기초하여 메모리 디바이스로부터 메모리 제어기로의 제 2 데이터 전송의 제 2 시간을 예측하는 단계를 더 포함한다. 제 2 데이터 전송은 제 2 메모리 액세스 요청에 연관된다.
[0011] 다른 특정한 실시예에서, 컴퓨터 판독가능 저장 디바이스는 프로세서에 의해서 실행될 때 프로세서로 하여금 제 1 메모리 액세스 요청을 수신하고, 타이밍 파라미터의 제 1 값에 기초하여 제 1 메모리 액세스 요청을 프로세싱하도록 하는 명령들을 저장한다. 명령들은 또한, 프로세서에 의해서 실행될 때, 프로세서로 하여금 제 2 메모리 액세스 요청을 수신하게 한다. 명령들은 추가로, 프로세서에 의하여 실행될 때, 프로세서로 하여금 수정된 타이밍 파라미터를 생성하기 위해 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 의해 식별되는 어드레스들에 적어도 부분적으로 기초하여 타이밍 파라미터를 수정하도록 한다. 수정된 타이밍 파라미터는 제 2 값을 갖는다. 명령들은 또한 프로세서에 의해서 실행될 때, 프로세서로 하여금 제 2 값에 기초하여 제 2 메모리 액세스 요청을 프로세싱하도록 한다.
[0012] 다른 특정한 실시예에서, 방법은 프로세서로부터의, 제 1 메모리 액세스 요청을 메모리 디바이스에서 수신하기 위한 제 1 스텝을 포함한다. 방법은 또한 메모리 디바이스의 타이밍 파라미터의 제 1 값에 기초하여 제 1 메모리 액세스 요청을 프로세싱하기 위한 제 2 스텝을 포함한다. 방법은 프로세서로부터의, 제 2 메모리 액세스 요청을 메모리 디바이스에서 수신하기 위한 제 3 스텝을 더 포함한다. 방법은 또한 수정된 타이밍 파라미터를 생성하기 위해 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 의해 식별되는 어드레스들에 기초하여 메모리 디바이스의 타이밍 파라미터를 수정하기 위한 제 4 스텝을 포함한다. 방법은 수정된 타이밍 파라미터에 기초하여 제 2 메모리 액세스 요청을 프로세싱하기 위한 제 5 스텝을 더 포함한다.
[0013] 기재된 실시예들 중 적어도 하나에 의해 제공되는 하나의 특별한 이점은 동적으로 타이밍 파라미터들을 업데이트 함으로써 메모리 디바이스의 데이터 버스가 보다 효율적으로 이용될 수 있다는 것이다. 예를 들면, 특정한 상황들에서 동적 RL 타이밍 파라미터는 고정된 RL 타이밍 파라미터보다 낮을 수 있다. 동적 RL 타이밍 파라미터는, 메모리 액세스가 이전 메모리 액세스로서 메모리의 동일한 행에 향해질 때 메모리 액세스에 대한 RAS 지연이 없는 이점을 가질 수 있다. 동적 RL 타이밍 파라미터를 이용하는 것은 메모리의 데이터 버스가 보다 짧은 지속 기간 동안 유휴이도록 할 수 있다.
[0014] 다른 양상들에서, 본원의 이점들, 및 피쳐들이 다음 섹션들(도면의 간단한 설명, 상세한 설명 및 청구항들)을 포함하는 전체 출원의 리뷰 후에 분명해질 것이다.
[0015] 도 1은 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하기 위해 동작가능한 시스템의 특정한 예시적인 실시예의 블록 다이어그램이다;
[0016] 도 2는 도 1의 시스템의 동적 타이밍 파라미터를 결정하는 것에 연관되는 타이밍 다이어그램이다;
[0017] 도 3은 도 1의 시스템의 동적 타이밍 파라미터를 결정하는 것에 연관되는 다른 타이밍 다이어그램이다;
[0018] 도 4는 도 1의 시스템의 메모리 제어기의 실시예의 다이어그램이다;
[0019] 도 5는 도 1의 시스템의 메모리 제어 로직의 실시예의 다이어그램이다;
[0020] 도 6은 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하기 위해 동작가능한 시스템의 다른 특정한 예시적인 실시예의 다이어그램이다;
[0021] 도 7은 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하는 방법의 특정한 예시적인 실시예의 흐름 차트이다;
[0022] 도 8은 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하는 방법의 특정한 예시적인 실시예의 흐름 차트이고, 이는 도 7의 동작(708)에 대응할 수 있다;
[0023] 도 9는 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하는 방법의 특정한 예시적인 실시예의 흐름 차트이고, 이는 도 8의 동작(804)에 대응할 수 있다;
[0024] 도 10은 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하는 방법의 다른 특정한 예시적인 실시예의 흐름 차트이다;
[0025] 도 11은 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하도록 구성되는 컴포넌트들을 포함하는 무선 통신 디바이스의 블록 다이어그램이다; 그리고
[0026] 도 12는 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하도록 구성되는 컴포넌트들을 포함하는 전자 디바이스들을 제조하기 위한 제조 프로세스의 특정한 예시적인 실시예의 데이터 흐름 다이어그램이다.
[0027] 도 1을 참조하면, 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하기 위해 동작 가능한 시스템의 특정한 예시적인 실시예가 개시되고 일반적으로 설계된다(100). 시스템(100)은 데이터 버스(140)를 통해 그리고 커맨드 버스(150)를 통해 메모리(120)에 커플링되는 프로세서(102)를 포함한다. 메모리(120)의 예들은, 더블 데이터 레이트(DDR) 동기화 동적 랜덤 액세스 메모리(synchronous dynamic random access memory, SDRAM), 비휘발성 랜덤 액세스 메모리(NVRAM), 및 동적 랜덤 액세스 메모리(DRAM)를 포함하지만 이제 제한되지는 않는다.
[0028] 프로세서(102)는 메모리 제어기(106)에 커플링되는 중앙 프로세싱 유닛(CPU)(104)을 포함한다. 메모리 제어기(106)는 동적 타이밍 파라미터들(108)을 포함할 수 있고 타이밍 파라미터의 값을 동적으로 결정하는 명령들(110)을 포함할 수 있다. 메모리(120)는 복수의 저장 엘리먼트들(124)에 커플링되는 메모리 제어 로직(122)을 포함한다. 메모리 제어 로직(122)은 동적 타이밍 파라미터들(126)을 포함할 수 있고 타이밍 파라미터의 값을 동적으로 결정하는 명령들(128)을 포함할 수 있다. 예를 들어, 명령들(128)은, 메모리 제어 로직(122)에 의해 실행될 때, 메모리 제어 로직(122)이 프로세서(102)로부터 제 1 메모리 액세스 요청을 수신하게 할 수 있다. 분명하게, 복수의 저장 엘리먼트들(124)은 복수의 행들 및 복수의 열들 내로 배열될 수 있다. 행들의 수는 열들의 수와 상이할 수 있다. 예를 들어, 행들의 수는 열들의 수보다 높을 수 있다. 저장 엘리먼트들(124)은 복수의 행들의 제 1 행에 제 1 저장 엘리먼트 및 제 2 저장 엘리먼트를 포함할 수 있다. 제 1 저장 엘리먼트는 복수의 열들의 제 1 열에 포함되고, 그리고 제 2 저장 엘리먼트는 복수의 열들의 제 2 열에 포함된다. 프로세서(102)는 제 1 저장 엘리먼트를 액세스하도록 커맨드 버스(150)을 통해 제 1 메모리 액세스 요청을 송출할 수 있다. 제 1 메모리 액세스 요청은 제 1 판독(READ) 커맨드 또는 제 1 기록(WRITE) 커맨드에 대응할 수 있다.
[0029] 제 1 메모리 액세스 요청은 행 활성(activation) 커맨드(예컨대, ACT 커맨드) 및 열 활성 커맨드(예컨대, 제 1 판독 커맨드)를 포함할 수 있다. ACT 커맨드는 제 1 행의 행 어드레스의 제 1 부분을 포함할 수 있고, 그리고 제 1 판독 커맨드는 제 1 행의 행 어드레스의 제 2 부분 및 제 1 열의 완료(complete) 열 어드레스를 포함할 수 있다. ACT 커맨드가 행 어드레스의 제 1 부분만을 포함하기 때문에, 메모리(120)에서 프로세싱 지연을 도입하는, 행 어드레스의 제 2 부분을 포함하는 제 1 판독 커맨드가 수신될 때 까지 제 1 행은 활성화되지 않을 수 있다. 프로세싱 지연을 감소시키기 위해, 프로세서(102)는 행 액세스 스트로브(RAS)-열 액세스 스트로브(CAS) 지연(tRCD)의 값(예컨대, 일(1) 타이밍 사이클)에 기초하여 제 1 판독 커맨드를 전송할 수 있다. tRCD 타이밍 파라미터는 행 활성 커맨드(예컨대, ACT 커맨드)을 수신하는 것과 행 활성 커맨드에 연관되는 행을 활성하는 것 사이의 지연에 대응한다.
[0030] 메모리(120)가 ACT 커맨드과 제 1 판독 커맨드를 모두 수신할 때, 메모리(120)는 행 어드레스의 제 1 부분 및 행 어드레스의 제 2 부분을 이용하여 제 1 행을 활성화시킬 수 있다. 일단 메모리(120)가 제 1 행의 활성화를 개시하면, 몇몇 타이밍 사이클들은 행 활성화가 완료되기 전에 경과할 수 있다. 제 1 행의 활성화를 완료하기 위한 타이밍 사이클들의 수는 RAS 레이턴시(예컨대, 오(5) 타이밍 사이클들)에 대응할 수 있다.
[0031] 제 1 행이 활성화 된 이후에, 메모리(120)는 제 1 판독 커맨드에 포함되는 완료 열 어드레스에 기초하여 제 1 열을 활성화 시킬 수 있다. 제 1 행의 활성화와 함께, 몇몇의 타이밍 사이클들은 열 활성화가 완료되기 전에 경과할 수 있다. 제 1 열의 활성화를 완료하기 위한 타이밍 사이클들의 수는 CAS 레이턴시(예컨대, 오(5) 타이밍 사이클들)에 대응할 수 있다.
[0032] 메모리(120)는 RL(판독-데이터 레이턴시) 타이밍 파라미터의 값에 기초하여 제 1 데이터(예컨대, 제 1 판독 커맨드에 연관되는 제 1 저장 엘리먼트에 저장되는 값에 대응하는 데이터)를 제공할 수 있다. RL 타이밍 파라미터의 값은, 예컨대, 제 1 판독 커맨드의 수신에 뒤따르는 십(10) 타이밍 사이클들이 경과한 이후에 데이터 버스(140)로 제공될 제 1 데이터를 표시하는, CAS 레이턴시 및 RAS 레이턴시의 합에 대응할 수 있다.
[0033] 메모리 제어 로직(122)은 RL 타이밍 파라미터에 기초하여 제 1 메모리 액세스 요청을 프로세싱할 수 있다. 예를 들어, ACT 커맨드가 타이밍 사이클 tCK1(예컨대, 타이밍 사이클 1) 동안 메모리(120)에서 수신될 때, 그리고 tRCD 타이밍 파라미터의 값이 일(1) 타이밍 사이클일 때, 메모리(120)는 타이밍 사이클 tCK2(예컨대, 타이밍 사이클 2) 동안 제 1 판독 커맨드를 수신할 수 있다. 타이밍 사이클 tCK2 동안 메모리(120)에서 제 1 판독 커맨드가 수신될 때, 그리고 RL 타이밍 파라미터의 값이 십(10) 타이밍 사이클들일 때, 제 1 데이터는 타이밍 사이클 tCK12(예컨대, 타이밍 사이클 12) 동안 데이터 버스(140)에 제공되기 시작할 수 있다. 제 1 데이터(112)는 타이밍 사이클 tCK15(예컨대, 타이밍 사이클 15)까지 메모리(120)로부터 데이터 버스(140)로 계속해서 제공될 수 있다. 타이밍 사이클 tCK15 이후에(즉, tCK16 동안 그리고 이후에), 데이터 버스(140)는 혼잡하지 않고, 그리고 프로세서(102)로부터 추가적인 데이터를 수신하기 위해 또는 프로세서(102)로 추가적인 데이터를 제공하기 위해 메모리(120)에 의해 이용될 수 있다.
[0034] 메모리 제어 로직(122)은 프로세서(102)로부터 제 2 메모리 액세스 요청을 수신할 수 있다. 프로세서(102)는 제 2 저장 엘리먼트를 액세스하기 위한 제 2 메모리 액세스 요청을 송출할 수 있다. 제 2 메모리 액세스 요청은 제 2 판독 커맨드, 제 2 기록 커맨드, 또는 프리차지(precharge) 커맨드에 대응할 수 있다. 제 2 메모리 액세스 요청은 제 2 열 활성화 커맨드(예컨대, 제 2 판독 커맨드)를 포함할 수 있다. 제 2 판독 커맨드는 제 1 행의 행 어드레스의 제 2 부분 및 제 2 열의 완료 열 어드레스를 포함할 수 있다. 예를 들어, 메모리(120)는 제 1 메모리 액세스 요청을 수신한 이후 적어도 타이밍 사이클들의 임계 수가 경과된 이후에 제 2 메모리 액세스 요청을 수신할 수 있다. 타이밍 사이클들의 임계 수는 열-열 지연(tCCD) 타이밍 파라미터의 값(예컨대, 사(4) 타이밍 사이클들)에 대응한다. 후속 판독 커맨드들에 포함되는 행 어드레스들이 ACT 커맨드에 포함되는 동일한 행 어드레스를 식별하고, 그리고 후속 판독 커맨드들이 메모리(120)에서 tCCD 타이밍 사이클들(예컨대, 매 사(4) 타이밍 사이클들)의 간격들로 수신된다고 가정하면, 메모리(120)는 ACT 커맨드가 수신될 때 타이밍 파라미터 tRCD에 의해 도입되는 지연외에 추가적인 지연들 없이 데이터를 데이터 버스(140)에 제공할 수 있고 메모리 액세스 요청들의 각각을 프로세싱 할 수 있게 된다.
[0035] 그러나, 후속 판독 커맨드들이 tCCD 타이밍 사이클들(예컨대, 매 사(4) 타이밍 사이클들)의 간격들로 수신되지 않을 때, 데이터 버스(140)의 처리량은 후속 판독 커맨드들에 포함되는 행 어드레스들이 고정된 RL 타이밍 파라미터(즉, RAS 레이턴시 및 CAS 레이턴시를 포함하는)를 갖는 ATC 커맨드에 포함되는 행 어드레스와 동일할 때에도 십사 퍼센트(14%)까지 감소될 수 있다. 분명하게, 제 2 메모리 액세스 요청에 대응하는 제 2 판독 커맨드는 타이밍 사이클 tCK13(예컨대, 타이밍 사이클 13) 동안 수신될 수 있다. 제 1 판독 커맨드과 제 2 판독 커맨드 사이에 경과된 타이밍 사이클들(즉, 십일(11) 사이클들)은 tCCD 타이밍 사이클들(즉, 사(4) 타이밍 사이클들)보다 높을 수 있다. 메모리 제어 로직(122)은 RL 타이밍 파라미터(즉, 십(10) 사이클들)에 기초하여 타이밍 사이클 tCK23(즉, 타이밍 사이클 23)동안 데이터 버스(140) 상에 제 2 데이터를 위치시킬 수 있다. 데이터 버스(140)는 데이터 버스(140) 상에 제 2 데이터를 위치시키기 전(즉, tCK23 동안)에 그리고 제 1 판독 커맨드를 제공한 이후에(즉, tCK16 동안) 유휴일 수 있다(즉, 칠(7) 타이밍 사이클에 대해 유휴). 따라서, 타이밍 사이클 tCK16에서 데이터 버스(140)는 프로세서(102)로부터 데이터를 수신하고 프로세서(102)로 데이터를 제공할 준비가 되어있으나, 제 2 데이터는 tCK23 까지는 데이터 버스(140) 상에 위치되지 않는다.
[0036] 데이터 버스(140)의 유휴 시간을 감소시키기 위해, 메모리 제어 로직(122)은 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 의해 식별되는 어드레스들에 기초하여 하나 또는 그 초과의 동적 타이밍 파라미터들(126)을 수정할 수 있다. 예를 들어, 메모리(120)는 타이밍 사이클 tCK13 동안 프로세서(102)로부터 제 2 메모리 액세스 요청(즉, 제 2 판독 커맨드)을 수신할 수 있다. 제 2 판독 커맨드는 메모리(120)의 제 2 저장 엘리먼트를 판독하기 위한 요청에 대응할 수 있다. 제 2 저장 엘리먼트는 제 1 메모리 액세스 요청(예컨대, ACT 커맨드 및 제 1 판독 커맨드)에 연관되는 제 1 저장 엘리먼트로서 동일한 행(즉, 제 1 행)에 포함될 수 있고 그리고 제 1 판독 커맨드에 연관되는 열과 상이한 열에 포함될 수 있다. 제 2 판독 커맨드가 수신될 때, 메모리(120)는 RL 타이밍 파라미터의 값을 동적으로 결정할 수 있다. RL 타이밍 파라미터의 동적으로 결정된 값은 데이터 버스(140)가 유휴인 타이밍 사이클들의 수를 감소시킬 수 있다.
[0037] 분명하게, 제 2 판독 커맨드는 타이밍 사이클 tCK13 동안 수신된다. RL의 값을 동적으로 결정하기 위해, 메모리(120)는 다음 식에 따라 제 1 차(x)를 결정할 수 있다:
[0038] x=(tCKR2)-(tCKR1)-(tCCD) (식 1)
[0039] 식 1에서, tCKR2는 제 2 판독 커맨드가 수신되는 타이밍 사이클에 대응하고, tCKR1은 제 1 판독 커맨드가 수신되는 타이밍 사이클에 대응한다. 기재된 예시에서, 제 2 판독 커맨드는 타이밍 사이클 tCK13(예컨대, tCKR2=13) 동안 수신되고, 제 1 판독 커맨드는 타이밍 사이클 tCK2(예컨대, tCKR1=2) 동안 수신되고, 그리고 tCCD 타이밍 파라미터는 고정된다(즉, 사(4) 타이밍 사이클들). 따라서, x=칠(7)(예컨대, x=13-2-4). 제 1 차를 결정한 이후, 메모리(120)는 이전 판독(예컨대, 제 1 판독 커맨드)을 위해 이용된 RL 타이밍 파라미터의 값과 다음 식에 따른 x 사이의 제 2 차를 결정할 수 있다:
[0040] potential_RL_value=RL(previous_read)-x (식 2)
[0041] 식 2에서, potential_RL_value은 RL 타이밍 파라미터의 포텐셜 새 값을 나타내고, RL(previous_read)은 이전 판독을 위해 이용된 RL의 값(예컨대, 메모리(120)가 제 1 판독 커맨드를 프로세싱한 때의 RL 타이밍 파라미터)에 대응하고, 그리고 x는 식 1의 결과(예컨대, 제 1 차)에 대응한다. 분명하게, RL(previous_read)은 RAS 지연 및 CAS 지연의 합에 대응하고, 십(10)의 값을 갖는다. 앞서 기재된 바와 같이, x는 칠(7)의 값을 갖는다. 따라서, potential_RL_value=삼(3)(예컨대, potential_RL_value=10-7). 메모리(120)는 타이밍 파라미터 tCCD의 값(예컨대, 연속적인 판독 동작들 사이의 타이밍 사이클들의 임계 수)에 기초하여 potential_RL_value을 제한하도록 구성될 수 있다. 따라서, 메모리 디바이스는 potential_RL_value가 CAS 지연보다 작을 때 식 2의 결과를 CAS 지연(예컨대, 오(5) 타이밍 사이클들)으로 제한할 수 있다. 메모리 디바이스는 그 후 다음 식에 따라 RL' 타이밍 파라미터의 값을 동적으로 결정할 수 있다:
[0042] RL'=max(potential_RL_value,RL0) (식 3)
[0043] 식 3에서, RL'은 제 2 판독 커맨드를 프로세싱하기 위해 메모리(120)에 의해 이용될 RL 타이밍 파라미터의 값(예컨대, 제 2 판독 커맨드를 수신하는 것과 제 2 판독 커맨드에 연관되는 제 2 데이터를 데이터 버스(140)로 전송하는 것 사이의 타이밍 사이클들의 수)에 대응한다. 식 3에서, RL0는 CAS 레이턴시(예컨대, 오(5) 타이밍 사이클들)에 대응한다. 메모리 디바이스는 potential_RL_value와 RL0의 값의 비교(예컨대, 오(5) 타이밍 사이클 지연)에 의해 RL 타이밍 파라미터의 RL' 값을 동적으로 결정할 수 있다. RL0의 값이 potential_RL_value 보다 클 때, RL'은 RL0의 값으로 설정된다. RL0의 값이 potential_RL_value보다 작을 때, RL'는 potential_RL_value로 설정된다. 전술한 바와 같이, potential_RL_value는 사(4) 타이밍 사이클들이다. 따라서, RL'=오(5)(예컨대, RL'=max(4,5)). 제 2 데이터는 RL 타이밍 파라미터의 동적으로 결정된 값(즉, RL'=5)에 기초하여 데이터 버스(140)에 제공될 수 있다. RL 타이밍 파라미터의 동적으로 결정된 값은 RL0의 값(예컨대, CAS 레이턴시)에 대응한다.
[0044] 메모리 제어 로직(122)은 수정된 타이밍 파라미터(즉, 동적 타이밍 파라미터들(126))에 기초하여 제 2 메모리 액세스 요청을 프로세싱할 수 있다. 타이밍 파라미터 RL이 RL'의 값으로 설정될 때, 제 2 판독 커맨드에 연관되는 제 2 데이터는 타이밍 사이클 tCK18(즉, 제 2 판독 커맨드의 수신 이후의 오(5) 타이밍 사이클들) 동안 제공될 수 있다. 고정된 RL 값과 비교될 때, 동적으로 결정된 RL 값(예컨대, RL')은 데이터 버스(140)가 유휴인 타이밍 사이클들의 감소된 수를 야기한다. 예를 들어, 타이밍 파라미터 RL의 고정된 값(즉, 십(10) 타이밍 사이클들)을 이용할 때, 데이터 버스(140)는 칠(7) 타이밍 사이클들에 대해 유휴이다. RL의 동적으로 결정된 값(즉, 오(5) 타이밍 사이클들)을 이용할 때, 데이터 버스(140)는 이(2) 타이밍 사이클들에 대해 유휴이다. 따라서, 메모리(120)는 RL 타이밍 파라미터의 동적으로 결정된 값을 이용할 때 오(5) 타이밍 사이클들 더 빨리 데이터 버스(140)로 제 2 데이터를 제공하는 것이 가능하다.
[0045] 프로세서(102)는 메모리(120)로부터의 데이터 전송의 수신의 시간을 예측하기 위해 동적으로 결정된 타이밍 파라미터들(예컨대, 동적 타이밍 파라미터들(108))을 이용할 수 있다. 예를 들어, 프로세서(102)는 RL 타이밍 파라미터(예컨대, 십(10) 타이밍 사이클들)의 값에 기초하여 타이밍 사이클 tCK12 동안 제 1 데이터의 수신을 예측할 수 있고, RL의 동적으로 결정된 값(예컨대, RL'=오(5) 타이밍 사이클들)에 기초하여 타이밍 사이클 tCK18(예컨대, 타이밍 사이클 18) 동안 메모리(12)로부터의 제 2 데이터의 수신을 예측할 수 있다.
[0046] 특정한 실시예에서, 명령들(110)은, 메모리 제어기(106)에 의해 실행될 때, 메모리 제어기(106)가 메모리(120)로 전송된 복수의 메모리 액세스 요청들에 의해 식별되는 메모리 어드레스들에 적어도 부분적으로 기초하여 RL의 값(즉, RL')을 동적으로 결정하도록 할 수 있다. 특정한 실시예에서, 메모리(120)는 메모리 제어기(106)로 동적 타이밍 파라미터들(126)을 제공할 수 있고, 메모리 제어기(106)는 수신된 동적 타이밍 파라미터들(126)에 기초하여 동적 타이밍 파라미터들(108)을 업데이트 할 수 있다. 예를 들어, 메모리(120)는 프로세서(102)로 RL 타이밍 파라미터의 동적으로 결정된 값(즉, RL'=5)을 전송할 수 있고, 프로세서(102)는 메모리(120)로부터 수신된 RL' 값에 기초하여 메모리 디바이스로부터의 데이터 전송들의 수신의 시간들을 예측할 수 있다. 특정한 실시예에서, 메모리(120)는 메모리 제어기(106)로 다른 값들(예컨대, potential_RL_value 및 RL0)을 제공할 수 있고, 메모리 제어기(106)는 다른 값들에 기초하여 RL'을 결정할 수 있다.
[0047] RL 타이밍 파라미터가 본원에서 실례가 되는 예시로서 이용됨을 알 수 있을 것이다. 특정한 실시예에서, RL 타이밍 파라미터, 기록-데이터(write-to-data) 레이턴시(WL) 타이밍 파라미터, 판독-프리차지(read-to-precharge) 레이턴시(tRTP) 타이밍 파라미터, 기록-프리차지(write-to-precharge) 레이턴시(tWTP) 타이밍 파라미터, 다른 타이밍 파라미터들, 또는 이들의 조합은 메모리 제어 로직(122), 메모리 제어기(106) 또는 둘다에 의해 동적으로 결정될 수 있다. WL 타이밍 파라미터는, 기록 커맨드를 수신하는 것과 데이터 버스가 기록 커맨드에 연관되는 데이터를 수신할 수 있도록 하는 것 사이의 타이밍 사이클들의 수에 대응한다. tRTP 타이밍 파라미터는 판독 커맨드를 수신하는 것과 행 프리차지 커맨드 사이의 타이밍 사이클들의 수에 대응한다. tRTP 타이밍 파라미터는 판독 커맨드를 수신하는 것과 행 프리차지(row precharge) 커맨드 사이의 타이밍 사이클들의 수에 대응한다. tWTP 타이밍 파라미터는 기록 커맨드를 수신하는 것과 행 프리차지 커맨드 사이의 타이밍 사이클들의 수에 대응한다.
[0048] 예를 들어, WL 타이밍 파라미터의 값은 식 4 및 5에 기초하여 동적으로 결정될 수 있다.
[0049] potential_WL_value=WL(previuos_write)-x (식 4)
[0050] WL(previous_write)은 이전 기록 커맨드를 위해 이용된 WL 타이밍 파라미터의 값에 대응할 수 있다. 특정한 실시예에서, WL(previous_write)은 RAS 지연 및 CAS 지연에 대응할 수 있다.
[0051] WL'=max(potential_WL_value, WL0) (식 5)
[0052] 메모리 제어 로직(122)은 potential_WL_value와 WL0의 비교에 기초하여 WL 타이밍 파라미터의 동적 값(즉, WL')을 결정할 수 있다. 특정한 실시예에서, WL0는 CAS 지연에 대응할 수 있다. 후속 기록 커맨드에 대응하는 WL 값은 potential_WL_value 및 WL0보다 높을 수 있다.
[0053] 따라서, 하나 또는 그 초과의 타이밍 파라미터들(예컨대, RL 타이밍 파라미터, WL 타이밍 파라미터 등)의 값은 동적으로 결정될 수 있고, 저장 엘리먼트들(124)의 동일한 행으로 후속 메모리 액세스 요청들을 제공하는 것 사이의 데이터 버스(140)가 유휴가 되는 타이밍 사이클들의 수를 감소시키도록 이용될 수 있다. 예를 들어, 메모리 제어 로직(122)은, tCCD보다 많은 수(예컨대, 5 또는 그 초과)의 경과된 타이밍 사이클들 이후에 후속 메모리 액세스 요청을 수신할 때, RAS 지연이 없는 이점을 취할 수 있고, 완전(full) RAS 지연을 기다려야 함이 없이 후속 메모리 액세스 요청에 대응하는 데이터를 데이터 버스(140) 상에 위치시킬 수 있다. 예를 들어, 메모리 제어 로직(122)은 CAS 지연 및 임의의 타이밍 사이클들이 이전 메모리 액세스 요청에 연관되는 제 1 데이터의 데이터 버스(140)를 비우는 것을 기다릴 수 있다. 데이터 버스(140)를 비우기 위한 타이밍 사이클은 RAS 지연보다 적을 수 있다.
[0054] 도 2를 참조하면, 도 1의 시스템의 동적 타이밍 파라미터를 결정하는 것에 연관되는 타이밍 다이어그램이 개시되고, 일반적으로 설계된다(200). 타이밍 다이어그램(200)은 tCK1 동안 메모리 제어 로직(122)에 의해 수신되는 ACT 커맨드(242)(예컨대, 제 1 메모리 액세스 요청에 대응하는 ACT 커맨드)을 포함한다. 타이밍 다이어그램(200)은 tCK2 동안 메모리 제어 로직(122)에 의해 수신되는 제 1 판독 커맨드(244)(예컨대, 제 1 메모리 액세스 요청에 대응하는 제 1 판독 커맨드)을 포함한다. 타이밍 다이어그램(200)은 tRCD 타이밍 파라미터(예컨대, 일(1) 타이밍 사이클)에 대응하는 지연(260)을 도시한다. 타이밍 다이어그램(200)은 RAS 지연(예컨대, 오(5) 타이밍 사이클들의 RAS 지연)에 대응하는 지연(248) 및 CAS 지연(예컨대, 오(5) 타이밍 사이클들의 CAS 지연)에 대응하는 지연(250)을 포함한다. 지연(262)은 RL 타이밍 파라미터(예컨대, 십(10) 타이밍 사이클들)의 값에 대응한다.
[0055] 타이밍 다이어그램(200)은, 도 1의 메모리 제어 로직(122)이 RL 타이밍 파라미터를 이용하여, tCK12에서(예컨대, 제 1 판독 커맨드(244)이 수신된 이후 십(10) 타이밍 사이클들(즉, tCK2 동안)) 데이터 버스(140) 상에 제 1 판독 커맨드(244)에 대응하는 데이터(212)(예컨대, 제 1 데이터)를 위치시키는 것을 도시한다. 타이밍 다이어그램(200)은 제 2 판독 커맨드(246)(예컨대, 제 2 판독 커맨드)이 tCK13 동안 메모리 제어 로직(122)에 의해 수신됨을 도시한다.
[0056] 고정된 RL 타이밍 파라미터(즉, 십(10) 타이밍 사이클들)을 이용하여, 메모리 제어 로직(122)은 tCK23 동안 도 1의 데이터 버스(140) 상에 제 2 판독 커맨드(246)에 대응하는 제 2 데이터(256)을 위치시킬 수 있다. 데이터 버스(140)는 tCK16 동안 이용 가능해질 수 있고 그리고 칠(7) 타이밍 사이클들에 대해 유휴로 남을 수 있다. 지연(272)은 동적 타이밍 파라미터들이 이용되지 않을 때 데이터 버스(140)가 유휴인 동안의 타이밍 사이클들에 대응한다.
[0057] 메모리 제어 로직(122)은, 도 1을 참조로 기재된 바와 같이, RL 타이밍 파라미터의 값(RL')을 동적으로 결정할 수 있다. 예를 들어, tCCD 타이밍 파라미터는 지연(264)(예컨대, 사(4) 타이밍 사이클들)에 대응할 수 있고 그리고 제 1 차(x)는 지연(266)(예컨대, 칠(7) 타이밍 사이클들)에 대응할 수 있다. 제 2 차(즉, potential_RL_value)는 지연(262)과 지연(266) 사이의 차(즉, RL(previous_read)-x=10-7=3)에 대응할 수 있다. 제 2 차가 지연(250)(즉, CAS 지연)보다 낮기 때문에, RL'은 CAS 지연(즉, RL'=max(potential_RL_value, RL0))에 대응한다. 지연(222)은 RL'의 값을 갖는 RL 타이밍 파라미터를 도시한다.
[0058] RL 타이밍 파라미터의 동적으로 결정된 값(예컨대, RL')을 이용하여, 메모리 제어 로직(122)은 tCK18 동안 도 1의 데이터 버스(140) 상에 제 2 데이터(216)를 위치시킬 수 있다. 데이터 버스(140)는 이(2) 타이밍 사이클들에 대해 유휴로 남을 수 있다. 지연(232)은 RL'을 이용할 때 데이터 버스(140)가 유휴인 타이밍 사이클들에 대응한다. 지연(232)(즉, 이(2) 타이밍 사이클들)은 지연(272)(즉, 칠(7) 타이밍 사이클들)보다 짧다.
[0059] 따라서, 도 1의 데이터 버스(140)는, 도 1의 메모리 제어 로직(122)이 RL 타이밍 파라미터의 동적으로 미리 결정된 값을 이용하여 데이터 버스 상에 제 2 데이터(216)를 위치시키기 전에, 더 적은 수의 타이밍 사이클들(즉, 이(2) 타이밍 사이클들) 동안 유휴일 수 있다.
[0060] 도 3을 참조하면, 도 1의 시스템의 동적 타이밍 파라미터를 결정하는 것과 연관되는 다른 타이밍 다이어그램이 기재되고, 일반적으로 설계된다(300). 타이밍 다이어그램(300)은 타이밍 사이클 tCK1 동안 도 1의 메모리 제어 로직(122)에 의해 수신되는 ACT 커맨드(302) 및 타이밍 사이클 tCK2 동안 도 1의 메모리 제어 로직(122)에 의해 수신되는 제 1 판독 커맨드(304)을 도시한다. 타이밍 다이어그램(300)은 타이밍 사이클 tCK8 동안 도 1 의 메모리 제어 로직(122)에 의해 수신되는 제 2 판독 커맨드(306)을 도시한다. 고정된 RL 타이밍 파라미터를 이용하여, 도 1의 메모리 제어 로직(122)은 tCK18 동안 도 1의 데이터 버스(140) 상에 제 2 판독 커맨드(306)에 대응하는 데이터를 위치시킬 수 있다. 데이터 버스(140)는 tCK16 동안 이용가능해 질 수 있고, 그리고 이(2) 타이밍 사이클들에 대해 유휴로 남을 수 있다.
[0061] 메모리 제어 로직(122)은, 도 1을 참조로 기재된 바와 같이, RL 타이밍 파라미터의 값(RL')을 동적으로 결정할 수 있다. 예를 들어, tCCD 타이밍 파라미터는 지연(264)(예컨대, 사(4) 타이밍 사이클들)에 대응할 수 있고 그리고 제 1 차(x)는 지연(366)(예컨대, 이(2) 타이밍 사이클들)에 대응할 수 있다. 제 2 차(즉, potential_RL_value)는 지연(262)과 지연(366) 사이의 차(즉, RL(previous_read)-x=10-2=8)에 대응할 수 있다. 제 2 차가 지연(250)(즉, CAS 지연) 보다 높기 때문에, RL'은 potential_RL_value(즉, RL'=max(potential_RL_value, RL0)=max(8,5)=8)에 대응한다. RL'의 값을 갖는 RL 타이밍 파라미터는 지연(322)으로서 타이밍 다이어그램(300)에 도시된다.
[0062] RL 타이밍 파라미터의 동적으로 결정된 값(예컨대, RL')을 이용하여, 메모리 제어 로직(즉, 메모리 제어 로직(122))은 제 2 데이터(316)를 tCK16 동안 데이터 버스(즉, 도 1의 데이터 버스(140)) 상에 위치시킬 수 있다.
[0063] 따라서, 데이터 버스(즉, 도 1의 데이터 버스(140))는 메모리 제어 로직(즉, 도 1의 메모리 제어 로직(122))이 RL 타이밍 파라미터의 동적으로 결정된 값을 이용하여 데이터 버스 상에 제 2 데이터(316)를 위치시키기 전에 더 적은 수의 타이밍 사이클들(즉, 영(0) 타이밍 사이클들) 동안 유휴일 수 있다.
[0064] 도 4를 참조하면, 도 1의 시스템(100)의 메모리 제어기의 특정한 예시적인 실시예가 기재된다. 메모리 제어기(106)의 동적 타이밍 파라미터들(126)은 RL 타이밍 파라미터(402), WL 타이밍 파라미터(404), tRTP 타이밍 파라미터(406), tWTP 타이밍 파라미터(408), tRCD 타이밍 파라미터(410), tCCD 타이밍 파라미터(412), RAS 타이밍 파라미터(414)(예컨대, RAS 지연), CAS 타이밍 파라미터(416)(예컨대, CAS 지연) 또는 이들의 조합을 포함할 수 있다.
[0065] 메모리 제어기(106)의 명령들(110)은, (430)에서, 메모리 제어기(106)에 의해 실행될 때, 메모리 제어기(106)로 하여금 제 2 타이밍 사이클과 제 1 타이밍 사이클 사이에 경과된 타이밍 사이클들의 수를 결정하는 것을 포함하는 동작들을 수행하도록 할 수 있다. 동작들은, (432)에서 경과된 타이밍 사이클들의 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하는 것 또한 포함할 수 있다. 동작들은, (434)에서, 제 1 값과 제 1 차 사이의 제 2 차를 결정하는 것을 더 포함할 수 있다. 동작들은, (436)에서 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 제 2 값을 결정하는 것을 또한 포함할 수 있다.
[0066] 도 5를 참조하면, 도 1의 시스템(100)의 메모리 제어 로직(122)의 특정한 예시적인 실시예가 기재된다. 메모리 제어 로직(122)의 동적 타이밍 파라미터들(126)은 RL 타이밍 파라미터(502), WL 타이밍 파라미터(504), tRTP 타이밍 파라미터(506), tWTP 타이밍 파라미터(508), tRCD 타이밍 파라미터(510), tCCD 타이밍 파라미터(512), RAS 타이밍 파라미터(514), CAS 타이밍 파라미터(516) 또는 이들의 조합을 포함할 수 있다.
[0067] 메모리 제어 로직(122)의 명령들(128)은, (530)에서, 메모리 제어 로직(122)에 의해 실행될 때, 메모리 제어 로직(122)으로 하여금 제 2 타이밍 사이클과 제 1 타이밍 사이클 사이에 경과된 타이밍 사이클들의 수를 결정하는 것을 포함하는 동작들을 수행하도록 할 수 있다. 동작들은, (532)에서 경과된 타이밍 사이클들의 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하는 것 또한 포함할 수 있다. 동작들은, (534)에서, 제 1 값과 제 1 차 사이의 제 2 차를 결정하는 것을 더 포함할 수 있다. 동작들은, (536)에서 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 제 2 값을 결정하는 것을 또한 포함할 수 있다.
[0068] 도 6을 참조하면, 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하도록 동작가능한 시스템의 특정한 예시적인 실시예가 기재되고 일반적으로 설계된다(600).
[0069] 시스템(600)은 도 1의 시스템(100)의 대안적인 실시예에 대응할 수 있다. 도 1에서, 메모리 제어기(106)는 타이밍 파라미터(예컨대, RL 타이밍 파라미터)의 값을 동적으로 결정하기 위해 명령들(110)을 포함하는 반면 도 6의 메모리 제어기(106)는 이러한 명령들을 포함하지 않는다. 시스템(600)에서, 메모리 제어 로직(122)은 타이밍 파라미터(들)의 값(예컨대, 타이밍 파라미터 값(660))을 동적으로 결정하고, 프로세서(102)로 전송할 수 있다. 프로세서(102)는 타이밍 파라미터 값(660)에 기초하여 동적 타이밍 파라미터들(108)을 업데이트 할 수 있다.
[0070] 도 7을 참조하면, 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하는 방법의 특정한 예시적인 실시예의 흐름 차트가 그려지고, 일반적으로 설계된다(700).
[0071] 방법(700)은, (702)에서, 프로세서로부터의, 제 1 메모리 액세스 요청을 메모리 디바이스에서 수신하는 단계를 포함할 수 있다. 예를 들어, 도 1의 메모리 제어 로직(122)은 프로세서(102)로부터 제 1 메모리 액세스 요청을 수신할 수 있다. 제 1 메모리 액세스 요청은 복수의 저장 엘리먼트들(124)의 제 1 저장 엘리먼트의 액세스에 대응할 수 있다. 제 1 저장 엘리먼트는 복수의 저장 엘리먼트들(124)의 제 1 행 및 제 1 열에 포함될 수 있다.
[0072] 방법(700)은, (704)에서, 메모리 디바이스의 타이밍 파라미터에 기초하여 제 1 메모리 액세스 요청을 프로세싱하는 단계를 또한 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 RL 타이밍 파라미터에 기초하여 제 1 메모리 액세스 요청을 프로세싱할 수 있다. RL 타이밍 파라미터(예컨대, 십(10) 타이밍 사이클들)는 RAS 지연(예컨대, 오(5) 타이밍 사이클들) 및 CAS 지연(예컨대, 오(5) 타이밍 사이클들)에 대응할 수 있다.
[0073] 방법(700)은, (706)에서, 프로세서로부터의, 제 2 메모리 액세스 요청을 메모리 디바이스에서 수신하는 단계를 더 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 프로세서(102)로부터 제 2 메모리 액세스 요청을 수신할 수 있다. 제 2 메모리 액세스 요청은 복수의 저장 엘리먼트들(124)의 제 2 저장 엘리먼트의 액세스에 대응할 수 있다. 제 2 저장 엘리먼트는 복수의 저장 엘리먼트들(124)의 제 1 행 및 제 2 열에 포함될 수 있다.
[0074] 방법(700)은, (708)에서, 수정된 타이밍 파라미터를 생성하기 위해 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 의해 식별되는 어드레스들에 기초하여 메모리 디바이스의 타이밍 파라미터를 수정하는 단계를 또한 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 복수의 저장 엘리먼트들(124)의 동일한 행(즉, 제 1 행) 상에서 어드레스들을 식별하는 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 기초하여 RL 타이밍 파라미터를 수정할 수 있다(예컨대, 값 RL'으로).
[0075] 방법(700)은, (710)에서, 수정된 타이밍 파라미터에 기초하여 제 2 메모리 액세스 요청을 프로세싱하는 단계를 더 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 RL 타이밍 파라미터의 동적으로 수정된 값(즉, RL')에 기초하여 제 2 메모리 액세스 요청을 프로세싱할 수 있다.
[0076] 따라서, 메모리 제어 로직(122)은 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 의해 표시되는 어드레스들에 기초하여 타이밍 파라미터(예컨대, RL 타이밍 파라미터)를 동적으로 수정할 수 있다. 동적으로 수정된 타이밍 파라미터는 데이터 버스의 유휴 타이밍 사이클들을 감소시킬 수 있다.
[0077] 도 7의 방법은 필드 프로그래머블 게이트 어레이(field-programmable gate array, FPGA) 디바이스, 주문형 반도체(application-specific intergrated circuit, ASIC), 중앙 프로세싱 유닛(CPU)과 같은 프로세싱 유닛, 디지털 신호 처리기(digital signal processor, DSP), 제어기, 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 임의의 이들의 조합에 의해 구현될 수 있다. 예로서, 도 7의 방법(700)은 도 1, 4-6 및 11에 대해 기재된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
[0078] 도 8을 참조하면, 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하는 방법의 특정한 예시적인 실시예의 흐름 차트가 그려지고, 일반적으로 설계된다(800). 특정한 실시예에서, 방법(800)은 도 7의 동작(708)에 대응할 수 있다.
[0079] 방법(800)은, (802)에서, 제 1 메모리 액세스 요청을 프로세싱하기 위해 이용되는 타이밍 파라미터의 제 1 값을 결정하는 단계를 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 RAS 지연(예컨대, 오(5) 타이밍 사이클들) 및 CAS 지연(예컨대, 오(5) 타이밍 사이클들)에 기초하여 타이밍 파라미터(예컨대, RL 타이밍 파라미터)의 제 1 값(예컨대, 십(10) 타이밍 사이클들)을 결정할 수 있다.
[0080] 방법(800)은, (804)에서, 제 1 값에 적어도 부분적으로 기초하여 타이밍 파라미터의 제 2 값을 결정하는 단계를 또한 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 제 1 값에 적어도 부분적으로 기초하여 타이밍 파라미터의 제 2 값(예컨대, RL')을 결정할 수 있다. 분명하게, 메모리 제어 로직(122)은 제 1 값과 제 1 차 사이의 제 2 차에 기초하여 RL'을 결정할 수 있다. 제 1 차는 제 1 메모리 액세스 요청과 제 2 메모리 액세스 요청 사이에 경과한 타이밍 사이클들의 수와 타이밍 사이클들의 임계 수 사이의 차에 대응할 수 있다.
[0081] 도 8의 방법은 필드 프로그래머블 게이트 어레이(FPGA) 디바이스, 주문형 반도체(ASIC), 중앙 프로세싱 유닛(CPU)과 같은 프로세싱 유닛, 디지털 신호 처리기(DSP), 제어기, 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 임의의 이들의 조합에 의해 구현될 수 있다. 예로서, 도 8의 방법(800)은 도 1, 4-6 및 11에 대해 기재된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
[0082] 도 9를 참조하면, 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하는 방법의 특정한 예시적인 실시예의 흐름 차트가 그려지고, 일반적으로 설계된다(900). 특정한 실시예에서, 방법(900)은 도 8의 동작(804)에 대응할 수 있다.
[0083] 방법(900)은, (902)에서, 제 2 타이밍 사이클과 제 1 타이밍 사이클 사이에 경과된 타이밍 사이클들의 수를 결정하는 단계를 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 제 2 메모리 액세스 요청이 수신되는 동안의 제 2 타이밍 사이클(예컨대, tCK13)과 제 1 메모리 액세스 요청이 수신되는 동안의 제 1 타이밍 사이클(예컨대 tCK2) 사이에 경과된 타이밍 사이클들(예컨대, 십일(11) 타이밍 사이클들)의 수를 결정할 수 있다.
[0084] 방법(900)은, (904)에서, 경과된 타이밍 사이클들의 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하는 단계를 또한 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 경과된 타이밍 사이클들의 수(즉, 십일(11))와 타이밍 사이클들의 임계 수(예컨대, tCCD 타이밍 파라미터=사(4) 타이밍 사이클들) 사이의 제 1 차(x=7)를 결정할 수 있다.
[0085] 방법(900)은, (906)에서, 제 1 값과 제 1 차 사이의 제 2 차를 결정하는 단계를 더 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 제 1 값(예컨대, 십(10) 타이밍 사이클들)과 제 1 차(즉, 7) 사이의 제 2 차(예컨대, 3)을 결정할 수 있다.
[0086] 방법(900)은, (908)에서, 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 제 2 값을 결정하는 단계를 또한 포함할 수 있다. 예를 들어, 메모리 제어 로직(122)은 제 2 차(즉, 3)와 CAS 지연(예컨대, 오(5) 타이밍 사이클들)의 비교에 기초하여 제 2 값(즉, RL')을 결정할 수 있다. 분명하게, 메모리 제어 로직(122)은 제 2 값으로서(예컨대, 오(5) 타이밍 사이클들) CAS 지연 및 제 2 차 중 더 높은 것을 이용할 수 있다.
[0087] 도 9의 방법은 필드 프로그래머블 게이트 어레이(FPGA) 디바이스, 주문형 반도체(ASIC), 중앙 프로세싱 유닛(CPU)와 같은 프로세싱 유닛, 디지털 신호 처리기(DSP), 제어기, 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 임의의 이들의 조합에 의해 구현될 수 있다. 예로서, 도 9의 방법(900)은 도 1, 4-6 및 11에 대해 기재된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
[0088] 도 10을 참조하면, 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하는 방법의 특정한 예시적인 실시예의 흐름 차트가 그려지고, 일반적으로 설계된다(1000).
[0089] 방법(1000)은, (1002)에서, 메모리 제어기로부터 메모리 디바이스로 제 1 메모리 액세스 요청을 전송하는 단계를 포함할 수 있다. 예를 들어, 도 1의 메모리 제어기(106)는 타이밍 사이클 tCK2 동안 제 1 메모리 액세스 요청을 메모리(120)로 전송할 수 있다.
[0090] 방법(1000)은, (1004)에서, 타이밍 파라미터의 제 1 값에 기초하여 메모리 디바이스로부터 메모리 제어기로 제 1 데이터 전송의 제 1 시간을 예측하는 단계를 또한 포함할 수 있고, 상기 데이터 전송은 제 1 메모리 액세스 요청에 연관된다. 예를 들어, 도 1의 메모리 제어기(106)는 RL 타이밍 파라미터의 제 1 값에 기초하여 메모리(120)로부터 메모리 제어기(106)로 제 1 데이터 전송의 제 1 시간을 예측할 수 있다. 분명하게, 메모리 제어기(106)는 십(10) 타이밍 사이클들의 RL 타이밍 파라미터의 제 1 값 및 제 1 메모리 액세스 요청이 메모리(120)로 전송되는 동안의 타이밍 사이클 tCK2(즉, 타이밍 사이클 2)의 합에 기초하여 타이밍 사이클 tCK12(즉, 타이밍 사이클 12) 동안 시작하도록 메모리(120)로부터 메모리 제어기(106)로의 제 1 데이터의 전송을 예측할 수 있다.
[0091] 방법(1000)은, (1006)에서, 메모리 디바이스로 제 2 메모리 액세스 요청을 전송하는 단계를 더 포함할 수 있다. 예를 들어, 메모리 제어기(106)는 tCK13 동안 메모리(120)로 제 2 메모리 액세스를 전송할 수 있다.
[0092] 방법(1000)은, (1008)에서, 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 기초하여 타이밍 파라미터의 제 2 값을 결정하는 단계를 또한 포함할 수 있다. 예를 들어, 메모리 제어기(106)는 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 기초하여 타이밍 파라미터의 제 2 값(예컨대, RL'=5)을 결정할 수 있다.
[0093] 방법(1000)은, (1010)에서, 제 2 값에 기초하여 메모리 디바이스로부터 메모리 제어기로의 제 2 데이터 전송의 제 2 시간을 예측하는 단계를 더 포함할 수 있고, 상기 제 2 데이터 전송은 제 2 메모리 액세스 요청에 연관된다. 예를 들어, 메모리 제어기(106)는 오(5) 타이밍 사이클들의 RL 타이밍 파라미터의 제 2 값(즉, RL'=5) 및 제 2 메모리 액세스 요청이 메모리(120)로 전송되는 타이밍 사이클 tCK13(즉, 타이밍 사이클 13)의 합에 기초하여 타이밍 사이클 tCK18(즉, 타이밍 사이클 18) 동안 시작하도록 메모리(120)로부터 메모리 제어기(106)로의 제 2 데이터의 전송을 예측할 수 있다.
[0094] 도 10의 방법은 필드 프로그래머블 게이트 어레이(FPGA) 디바이스, 주문형 반도체(ASIC), 중앙 프로세싱 유닛(CPU)와 같은 프로세싱 유닛, 디지털 신호 처리기(DSP), 제어기, 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 임의의 이들의 조합에 의해 구현될 수 있다. 예로서, 도 10의 방법(1000)은 도 1, 4-6 및 11에 대해 기재된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
[0095] 도 11을 참조하면, 무선 통신 디바이스의 특정한 예시적인 실시예의 블록 다이어그램이 그려지고 일반적으로 설계된다(1100). 디바이스(1100)는 DSP(digital signal processor)와 같은, 메모리(1132)에 커플링되는 프로세서(1110)(예를 들면, 랜덤 액세스 메모리(RAM), 플래시 메모리, 판독전용 메모리(ROM), 프로그래밍 가능한 판독전용 메모리(PROM), 소거가능한 프로그래밍 가능한 판독전용 메모리(EPROM), 전기적으로 소거가능한 프로그래밍 가능한 판독전용 메모리(EEPROM), 레지스터들, 하드 디스크, 제거가능 디스크, 컴팩트 디스크 판독전용 메모리(CD-ROM) 또는 임의의 당업계에 알려진 비일시적인 저장 매체의 다른 형태)를 포함한다. 예시적인 실시예에서, 프로세서(1110)가 도 1의 프로세서(102)에 대응할 수 있거나 메모리(1132)가 도 1의 메모리(120)에 대응할 수 있거나 또는 둘 다이다.
[0096] 프로세서(1110)는 메모리 제어기(1160)를 포함한다. 메모리 제어기(1160)는 메모리 제어기(1160), 프로세서(1110), 또는 둘 다에 의해 실행될 수 있는 명령들(1164)을 저장할 수 있다. 메모리 제어기(1160)는 동적 타이밍 파라미터들(1168)을 저장할 수 있다. 예시적인 실시예에서, 메모리 제어기(1160)가 도 1의 메모리 제어기(106)에 대응할 수 있거나, 동적 타이밍 파라미터들(1168)이 도 1의 동적 타이밍 파라미터들(108)에 대응할 수 있거나, 명령들(1164)이 도 1의 명령들(110)에 대응할 수 있거나, 또는 이들의 조합일 수 있다.
[0097] 메모리(1132)는 메모리 제어 로직(1150)을 포함하거나, 메모리 제어 로직(1150)에 커플링될 수 있다. 메모리 제어 로직(1150)은 메모리 제어 로직(1150)에 의해 실행될 수 있는 명령들(1162)을 포함할 수 있다. 메모리 제어 로직(1150)은 프로세서(1110)에 액세스할 수 있는 동적 타이밍 파라미터들(1152)을 포함할 수 있다. 예시적인 실시예에서, 메모리 제어 로직(1150)이 도 1의 메모리 제어 로직(122)에 대응할 수 있거나, 동적 타이밍 파라미터들(1152)이 도 1의 동적 타이밍 파라미터들(126)에 대응할 수 있거나, 명령들(1162)이 도 1의 명령들(128)에 대응할 수 있거나, 이들의 조합일 수 있다.
[0098] 도 11은 프로세서(1110)와 디스플레이(1128)에 커플링되는 디스플레이 제어기(1126)을 또한 도시한다. 코더/디코더(CODEC)(1134)는 프로세서(1110)에 또한 커플링될 수 있다. 스피커(1136) 및 마이크로폰(1138)은 CODEC(1134)에 커플링될 수 있다. 도 11은 또한 무선 제어기(1140)가 프로세서(1110)에 커플링될 수 있고 무선 안테나(1142)에 추가로 커플링될 수 있음을 나타낸다.
[0099] 특정한 실시예에서, 프로세서(1110), 디스플레이 제어기(1126), 메모리(1132), CODEC(1134) 및 무선 제어기(1140)는 시스템인패키지(system-in-package) 또는 시스템온칩(system-on-chip) 디바이스(1122)에 포함될 수 있다. 특정한 실시예에서, 입력 디바이스(1130) 및 파워 서플라이(1144)는 시스템온칩 디바이스(1122)에 커플링된다. 게다가, 특정한 실시예에서, 도 11에 도시되듯이, 디스플레이(1128), 입력 디바이스(1130), 스피커(1136), 마이크로폰(1138), 무선 안테나(1142) 및 파워 서플라이(1144)는 시스템온칩 디바이스(1122) 외부에 있다. 그러나, 디스플레이(1128), 입력 디바이스(1130), 스피커(1136), 마이크로폰(1138), 무선 안테나(1142) 및 파워 서플라이(1144) 각각은 인터페이스 또는 제어기와 같은 시스템온칩 디바이스(1122)의 컴포넌트에 커플링될 수 있다.
[00100] 앞서 기재된 디바이스들 및 기능들은 컴퓨터 판독가능 매체에 저장되는 컴퓨터 파일들(예컨대, RTL, GDSII, GERBER 등)내에 설계되고 구성될 수 있다. 이러한 파일들의 몇몇 또는 전부는 이러한 파일들에 기초하여 디바이스들을 제조하는 제조 관리자(fabrication handler)들에게 제공될 수 있다. 결과적인 물품들은 이후에 반도체 다이로 커팅되고 반도체 칩으로 패키징되는 반도체 웨이퍼들을 포함한다. 반도체 칩들은 도 12를 참조하여 추가로 기재되는 것과 같이, 그 다음에 전자 디바이스들에 집적될 수 있다.
[00101] 도 12를 참조하면, 전자 디바이스 제조 프로세스의 특정한 예시적인 실시예들이 그려지고 일반적으로 설계된다(1200). 도 12에서, 물리적 디바이스 정보(1202)는 리서치 컴퓨터(1206)에서와 같이, 제조 프로세스(1200)에서 수신된다. 물리적 디바이스 정보(1202)는, 타이밍 파라미터를 동적으로 결정하도록 구성된 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))와 같은, 반도체 디바이스의 적어도 하나의 물리적 성질(property)을 나타내는 설계 정보를 포함할 수 있다. 예를 들어, 물리적 디바이스 정보(1202)는 리서치 컴퓨터(1206)에 커플링되는 사용자 인터페이스(1204)를 통해 입력되는 물리적 파라미터들, 재료 특성들, 및 구조 정보를 포함할 수 있다. 리서치 컴퓨터(1206)는 하나 또는 그 초과의 프로세싱 코어들과 같은, 메모리(1210)와 같이 컴퓨터 판독가능 매체에 커플링되는 프로세서(1208)를 포함한다. 메모리(1210)는 파일 포맷에 따르고 라이브러리 파일(1212)을 생성하기 위해 프로세서(1208)가 물리적 디바이스 정보(1202)를 변환하도록 실행가능한 컴퓨터 판독가능 명령들을 저장할 수 있다.
[00102] 특정한 실시예에서, 라이브러리 파일(1212)은 변환된 설계 정보를 포함하는 적어도 하나의 데이터 파일을 포함한다. 예를 들어, 라이브러리 파일(1212)은 전자 설계 자동화(EDA) 툴(1220)에 이용하기 위해 제공되는 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))를 포함하는 회로들의 라이브러리를 포함할 수 있다.
[00103] 라이브러리 파일(1212)은, 하나 또는 그 초과의 프로세싱 코어들처럼, 메모리(1218)에 커플링되는 프로세서(1216)를 포함하는 설계 컴퓨터(1214)에서 EDA 툴(1220)과 함께 이용될 수 있다. EDA 툴(1220)은 설계 컴퓨터(1214)의 사용자가 라이브러리 파일(1212)을 이용하여 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))를 설계할 수 있도록 메모리(1218)에서 프로세서 실행가능 명령들로서 저장될 수 있다. 예를 들어, 설계 컴퓨터(1214)의 사용자는 설계 컴퓨터(1214)에 커플링되는 사용자 인터페이스(1224)를 통해 회로 설계 정보(1222)를 입력할 수 있다. 회로 설계 정보(1222)는 타이밍 파라미터를 동적으로 결정하도록 구성된 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))의 적어도 하나의 물리적 성질을 나타내는 설계 정보를 포함할 수 있다. 분명하게, 회로 설계 성질은 회로 설계에서의 다른 엘리먼트들과의 관계 및 특정한 회로들의 식별, 포지셔닝 정보, 피쳐 크기 정보, 상호 접속 정보, 또는 반도체 디바이스의 물리적 성질을 나타내는 다른 정보를 포함할 수 있다.
[00104] 설계 컴퓨터(1214)는, 파일 포맷에 따르기 위해 회로 설계 정보(1222)를 포함하는 설계 정보를 변환하도록 구성될 수 있다. 분명하게, 파일 형성은 그래픽 데이터 시스템(GDSII) 파일 포맷과 같은, 평면 기하 형상(planar geometric shape)들, 텍스트 라벨들, 및 계급 포맷(hierarchical format)에서의 회로 레이아웃에 관한 다른 정보를 나타내는 데이터베이스 2진(binary) 파일 포맷을 포함할 수 있다. 설계 컴퓨터(1214)는 다른 회로들 또는 정보에 더해 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))를 개시하는 정보를 포함하는 GDSII 파일(1226)과 같은, 변환된 설계 정보를 포함하는 데이터 파일을 생성하도록 구성될 수 있다. 분명하게, 데이터 파일은 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))를 포함하고 또한 시스템온칩(SOC) 내에 컴포넌트들 및 추가적인 전자 회로들을 포함하는 시스템온칩(SOC)에 대응하는 정보를 포함할 수 있다.
[00105] GDSII 파일(1226)은 GDSII 파일(1226)의 변환된 정보에 따라, 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))를 제조하기 위해 제조 프로세스(1228)을 수신할 수 있다. 예를 들어, 디바이스 제조 프로세스는 포토 리소그래피 프로세싱에 이용될 마스크들과 같이, 대표 마스크(1232)로서 도시되는 하나 또는 그 초과의 마스크들을 생성하기 위해 마스크 제조자(1230)에게 GDSII 파일(1226)을 제공하는 것을 포함할 수 있다. 마스크(1232)는 테스트되고 다이들로 분리될 수 있는 하나 또는 그 초과의 웨이퍼들(1234)을 생성하기 위해, 대표 다이(1236)와 같이 제조 프로세스 동안 이용될 수 있다. 다이(1236)는 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))를 포함한다.
[00106] 다이(1236)는 다이(1236)가 대표 패키지(1240)로 통합되는 패키징 프로세스(1238)에 제공될 수 있다. 예를 들어, 패키지(1240)는 시스템인패키지(SiP) 배열(arrangement)과 같이, 단일 다이(1236) 또는 복수 다이들을 포함할 수 있다. 패키지(1240)는 Joint Electron Device Engineering Council(JEDEC) 기준들과 같은, 하나 또는 그 초과의 기준들 또는 설계 명세서들을 따르도록 구성될 수 있다.
[00107] 패키지(1240)에 관한 정보는, 예를 들어, 컴퓨터(1246)에 저장된 컴포넌트 라이브러리를 통해 다양한 제품 설계자들에게 분배될 수도 있다. 컴퓨터(1246)는 메모리(1250)에 커플링된 하나 또는 그 초과의 프로세싱 코어들과 같은 프로세서(1248)를 포함할 수도 있다. 인쇄 회로 보드(PCB) 툴은 사용자 인터페이스(1244)를 통해 컴퓨터(1246)의 사용자로부터 수신되는 PCB 설계 정보(1242)를 프로세싱하기 위해 메모리(1250)에 프로세서 실행가능 명령들로서 저장될 수도 있다. PCB 설계 정보(1242)는 회로 보드 상의 패키징된 반도체 디바이스의 물리 포지셔닝 정보를 포함할 수도 있으며, 그 패키징된 반도체 디바이스는 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))를 포함하는 패키지(1240)에 대응한다.
[00108] 컴퓨터(1246)는, 회로 보드 상의 패키징된 반도체 디바이스의 물리 포지셔닝 정보 뿐만 아니라 트레이스들 및 비아들과 같은 전기 접속들의 레이아웃을 포함하는 데이터를 갖는 GERBER 파일(1252)과 같은 데이터 파일을 생성하기 위해 PCB 설계 정보(1242)를 변환하도록 구성될 수도 있으며, 여기서, 패키징된 반도체 디바이스는, 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))를 포함하는 패키지(1240)에 대응한다. 다른 실시예들에서, 변환된 PCB 설계 정보에 의해 생성되는 데이터 파일은 GERBER 포맷 이외의 포맷을 가질 수도 있다.
[00109] GERBER 파일(1252)은, 보드 어셈블리 프로세스(1254)에서 수신될 수도 있으며, GERBER 파일(1252) 내에 저장된 설계 정보에 따라 제조되는 대표적인 PCB(1256)와 같은 PCB들을 생성하는데 사용될 수도 있다. 예를 들어, GERBER 파일(1252)은 PCB 제조 프로세스의 다양한 단계들을 수행하기 위해 하나 또는 그 초과의 머신들에 업로딩될 수도 있다. PCB(1256)는 대표 인쇄 회로 어셈블리(PCA)(1258)를 형성하기 위해 패키지(1240)를 포함하는 전자 컴포넌트들로 파퓰레이팅(populate)될 수도 있다.
[00110] PCA(1258)는 제품 제조 프로세스(1260)에서 수신될 수도 있으며, 제 1 대표적인 전자 디바이스(1262) 및 제 2 대표적인 전자 디바이스(1264)와 같은 하나 또는 그 초과의 전자 디바이스들로 통합될 수도 있다. 예시적이고 비-제한적인 예로서, 제 1 대표적인 전자 디바이스(1262), 제 2 대표적인 전자 디바이스(1264), 또는 그 양자는 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))가 그 안에 통합되는 셀룰러 전화(cellular phone), 무선 로컬 영역 네트워크(LAN) 디바이스, 셋톱 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테이먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 개인 휴대 정보 단말(PDA), 고정 위치 데이터 유닛, 및 컴퓨터의 그룹으로부터 선택될 수도 있다. 또 다른 예시적이고 비-제한적인 예로서, 전자 디바이스들(1262 및 1264) 중 하나 또는 그 초과는 모바일 전화기들, 핸드헬드 개인 통신 시스템(PCS) 유닛들, 개인 휴대 정보 단말들과 같은 휴대용 데이터 유닛들, 글로벌 포지셔닝 시스템(GPS) 인에이블 디바이스들, 네비게이션 디바이스들, 미터 판독 장비와 같은 고정 위치 데이터 유닛들, 또는 데이터 또는 컴퓨터 명령들을 저장 또는 리트리브하는 임의의 다른 디바이스, 또는 이들의 임의의 조합과 같은 원격 유닛들일 수도 있다. 도 12가 본 발명의 교시들에 따른 원격 유닛들을 도시할 수도 있지만, 본 발명은 이들 예시적인 도시된 유닛들로 제한되지 않는다. 본 발명의 실시예들은, 메모리 및 온-칩 회로를 포함하는 활성 집적 회로를 포함하는 임의의 디바이스에서 적절히 이용될 수도 있다.
[00111] 타이밍 파라미터를 동적으로 결정하도록 구성되는 회로(예컨대, 도 1의 메모리 제어기(106), 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어기(1160) 및/또는 도 11의 메모리 제어 로직(1150))를 포함하는 디바이스는, 예시적인 프로세스(1200)에 개시된 것과 같이, 제조되고, 프로세싱되고, 그리고 전자 디바이스에 통합될 수 있다. 도 1 내지 도 12에 관해 기재된 실시예들 중 하나 또는 그 초과의 양상들은, 라이브러리 파일(1212), GDSII 파일(1226), 및 GERBER 파일(1252) 내에서와 같이 다양한 프로세싱 스테이지들에 포함될 수도 있을 뿐만 아니라, 리서치 컴퓨터(1206)의 메모리(1210), 설계 컴퓨터(1214)의 메모리(1218), 컴퓨터(1246)의 메모리(1250), 보드 어셈블리 프로세스(1254)에서와 같이 다양한 스테이지들에서 사용되는 하나 또는 그 초과의 다른 컴퓨터들 또는 프로세서들(미도시)의 메모리에 저장될 수도 있고, 또한 마스크(1232), 다이(1236), 패키지(1240), PCA(1258), 프로토타입 회로들 또는 디바이스들(미도시)과 같은 다른 제품들, 또는 이들의 임의의 결합과 같은 하나 또는 그 초과의 다른 물리적인 실시예들로 통합될 수도 있다. 도 1 내지 도 12에 관해 다양한 대표적인 스테이지들이 도시되지만, 다른 실시예들에서, 더 적은 스테이지들이 사용될 수도 있거나 부가적인 스테이지들이 포함될 수도 있다. 유사하게, 도 12의 프로세스(1200)는 단일 엔티티에 의해 또는 프로세스(1200)의 다양한 스테이지들을 수행하는 하나 또는 그 초과의 엔티티들에 의해 수행될 수도 있다.
[00112] 기재된 실시예들과 함께, 장치는 데이터를 저장하기 위한 수단을 포함하는 것으로 기재된다. 예를 들어, 데이터를 저장하기 위한 수단은 도 1의 메모리(120), 도 11의 메모리(1132), 또는 양자를 모두 포함할 수 있다. 장치는 또한 프로세서로부터 수신되는 복수의 메모리 액세스 요청들에 의해 식별되는 메모리 어드레스들에 적어도 부분적으로 기초하여 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단을 포함하고, 이때, 타이밍 파라미터는 복수의 메모리 액세스 요청들의 적어도 하나와 연관되는 데이터가 데이터 버스에 제공되기 전의 타이밍 사이클들의 제 1 수와 대응한다. 예를 들어, 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단은 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어 로직(1150), 또는 양자 모두를 포함할 수 있다.
[00113] 장치는 프로세서에 타이밍 파라미터의 값을 전송하기 위한 수단을 더 포함할 수 있다. 예를 들어, 전송하기 위한 수단은 도 1의 데이터 버스(140)를 포함할 수 있다. 장치는 하나 또는 그 초과의 메모리 액세스 요청들을 수신하기 위한 수단을 또한 포함할 수 있다. 예를 들어, 수신하기 위한 수단은 도 1의 데이터 버스(140)를 포함할 수 있다. 장치는 하나 또는 그 초과의 메모리 액세스 요청들을 프로세싱하기 위한 수단을 더 포함할 수 있다. 예를 들어, 프로세싱하기 위한 수단은 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어 로직(1150), 또는 양자 모두를 포함할 수 있다.
[00114] 특정한 실시예에서, 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단은 제 1 메모리 액세스 요청에 기초하여 타이밍 파라미터의 제 1 값을 결정하기 위한 수단을 포함할 수 있다. 하나 또는 그 초과의 메모리 액세스 요청들을 프로세싱하기 위한 수단은 제 1 값에 기초하여 제 1 메모리 액세스 요청을 프로세싱한다. 예를 들어, 타이밍 파라미터의 제 1 값을 결정하기 위한 수단은 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어 로직(1150), 또는 양자 모두를 포함할 수 있다.
[00115] 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단은 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 적어도 부분적으로 기초하여 타이밍 파라미터의 제 2 값을 결정하기 위한 수단을 또한 포함할 수 있다. 하나 또는 그 초과의 메모리 액세스 요청들을 프로세싱하기 위한 수단은 제 2 값에 기초하여 제 2 메모리 액세스 요청을 프로세싱한다. 예를 들어, 타이밍 파라미터의 제 2 값을 결정하기 위한 수단은 도 1의 메모리 제어 로직(122), 도 11의 메모리 제어 로직(1150), 또는 양자 모두를 포함할 수 있다.
[00116] 기재된 실시예들과 함께, 다른 장치는 데이터를 프로세싱하기 위한 수단을 포함하는 것으로 기재된다. 예를 들어 데이터를 프로세싱하기 위한 수단은 도 1의 CPU(104), 도 11의 프로세서(1110), 또는 양자 모두를 포함할 수 있다. 장치는 또한 복수의 전송된 메모리 액세스 요청들에 의해 식별되는 메모리 어드레스들에 적어도 부분적으로 기초하여 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단을 포함할 수 있고, 이때, 타이밍 파라미터는 복수의 전송된 메모리 액세스 요청들의 적어도 하나와 연관되는 데이터가 데이터 버스로부터 수신되기 전의 타이밍 사이클들의 제 1 수에 대응한다. 예를 들어, 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단은 도 1의 메모리 제어기 (106), 도 11의 메모리 제어기(1160), 또는 양자 모두를 포함할 수 있다.
[00117] 특정 실시예에서, 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단은 제 1 메모리 액세스 요청에 기초하여 타이밍 파라미터의 제 1 값을 결정하기 위한 수단을 포함할 수 있다. 예를 들어, 타이밍 파라미터의 제 1 값을 결정하기 위한 수단은 도 1 의 메모리 제어기(106), 도 11의 메모리 제어기(1160), 또는 양자 모두를 포함할 수 있다.
[00118] 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단은 제 2 타이밍 사이클과 제 1 타이밍 사이클 사이에 경과된 타이밍 사이클들의 제 2 수를 결정하기 위한 수단을 더 포함할 수 있다. 예를 들어, 제 2 타이밍 사이클과 제 1 타이밍 사이클 사이에 경과된 타이밍 사이클들의 제 2 수를 결정하기 위한 수단은 도 1의 메모리 제어기(106), 도 11의 메모리 제어기(1160), 또는 양자 모두를 포함할 수 있다.
[00119] 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단은 경과된 타이밍 사이클들의 제 2 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하기 위한 수단을 또한 포함할 수 있다. 예를 들어, 경과된 타이밍 사이클들의 제 2 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하기 위한 수단은 도 1의 메모리 제어기(106), 도 11의 메모리 제어기(1160), 또는 양자 모두를 포함할 수 있다.
[00120] 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단은 제 1 값과 제 1 차 사이의 제 2 차를 결정하기 위한 수단을 더 포함할 수 있다. 예를 들어, 제 1 값과 제 1 차 사이의 제 2 차를 결정하기 위한 수단은 도 1의 메모리 제어기(106), 도 11의 메모리 제어기(1160), 또는 양자 모두를 포함할 수 있다.
[00121] 타이밍 파라미터의 값을 동적으로 결정하기 위한 수단은 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 타이밍 파라미터의 제 2 값을 결정하기 위한 수단을 또한 포함할 수 있다. 예를 들어, 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 제 2 값을 결정하기 위한 수단은 도 1의 메모리 제어기(106), 도 11의 메모리 제어기(1160), 또는 양자 모두를 포함할 수 있다.
[00122] 장치는 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청을 메모리 디바이스로 전송하기 위한 수단을 더 포함할 수 있다. 예를 들어, 전송하기 위한 수단은 도 1의 데이터 버스(140)를 포함할 수 있다.
[00123] 당업자라면, 본 명세서에 설명된 실시예들과 연관되어 기술되어진 여러 도시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 프로세서에 의해 실행되는 컴퓨터 소프트웨어, 또는 그 둘의 결합으로서 구현될 수 있다는 것을 또한 알 것이다. 여러 도시적인 성분들, 블록들, 구조들, 모듈들, 회로들, 및 단계들이 그들의 기능과 관련해서 일반적으로 위에 설명되었다. 이러한 기능이 하드웨어 또는 명령들을 실행가능한 프로세서로서 구현되는지 여부는 전체적인 시스템에 부여되는 특정 어플리케이션 및 설계 제약들에 따라 좌우된다. 숙련된 기술자들은 각각의 특정 어플리케이션에 대해 가변적인 방법들을 통해 설명된 기능을 구현할 수 있지만, 이러한 구현 결정들은 본 발명의 범위로부터 벗어나는 것으로서 해석되지 않아야 한다.
[00124] 본 명세서에 기재된 실시예들과 관련하여 설명되어진 방법 또는 알고리즘의 단계들은 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 그들의 결합을 통해 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, PROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 제거가능 디스크, CD-ROM, 또는 해당 분야에 공지되어 있는 임의의 다른 형태의 저장 매체에 존재할 수 있다. 예시적인 저장 매체는 프로세서가 저장매체로부터 정보를 판독하고 그 정보를 상기 저장매체에 기록할 수 있도록 상기 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC 내에 존재할 수 있다. ASIC은 컴퓨팅 디바이스 또는 사용자 단말기에 존재할 수 있다. 대안적으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말기 내에서 이산적인 성분들로서 존재할 수 있다.
[00125] 기재된 실시예들에 대한 앞선 설명은 당업자가 본 발명을 구현하거나 사용할 수 있을 정도로 제공되었다. 이러한 실시예들에 대한 여러 변경들이 당업자에게는 쉽게 자명할 것이며, 여기서 정의된 일반 원리들은 본 발명의 사상 및 범위로부터 벗어나지 않고 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 본 명세서에 제시된 실시예들로 제한되도록 의도되지 않고, 다음의 청구범위에 의해 정해지는 원리들 및 새로운 특징들에 따른 가장 넓은 범위가 제공된다.

Claims (51)

  1. 방법으로서,
    프로세서로부터 메모리 디바이스에 의해, 상기 메모리 디바이스의 복수의 저장 엘리먼트들의 제 1 행(row)을 식별하는 제 1 메모리 액세스 요청을 수신하는 단계;
    상기 메모리 디바이스의 타이밍 파라미터에 기초하여 상기 제 1 메모리 액세스 요청을 프로세싱하는 단계;
    상기 프로세서로부터 상기 메모리 디바이스에 의해, 상기 복수의 저장 엘리먼트들의 상기 제 1 행을 식별하는 제 2 메모리 액세스 요청을 수신하는 단계;
    상기 제 1 메모리 액세스 요청 및 상기 제 2 메모리 액세스 요청이 각각 상기 복수의 저장 엘리먼트들의 상기 제 1 행을 식별한다는 결정에 응답하여, 수정된 타이밍 파라미터를 생성하기 위해 상기 메모리 디바이스의 상기 타이밍 파라미터를 수정하는 단계; 및
    상기 수정된 타이밍 파라미터에 기초하여 상기 제 2 메모리 액세스 요청을 프로세싱하는 단계를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 메모리 디바이스는 더블 데이터 레이트(DDR) 동기화 동적 랜덤 액세스 메모리(SDRAM), 비-휘발성 랜덤 액세스 메모리(NVRAM), 또는 동적 랜덤 액세스 메모리(DRAM) 중 하나이고, 그리고
    상기 제 1 메모리 액세스 요청 및 상기 제 2 메모리 액세스 요청은 각각 상기 복수의 저장 엘리먼트들의 상기 제 1 행을 식별하는 대응하는 행 어드레스를 포함하는,
    방법.
  3. 제 1 항에 있어서,
    상기 타이밍 파라미터를 수정하는 단계는:
    상기 제 1 메모리 액세스 요청을 프로세싱하기 위해 이용되는 상기 타이밍 파라미터의 제 1 값을 결정하는 단계; 및
    상기 제 1 값에 적어도 부분적으로 기초하여 상기 타이밍 파라미터의 제 2 값을 결정하는 단계를 포함하는,
    방법.
  4. 제 3 항에 있어서,
    상기 제 1 값은 행 액세스 레이턴시(latency) 및 열(column) 액세스 레이턴시의 합(sum)에 대응하고, 행 어드레스가 변경되지 않을 때 상기 제 2 값은 상기 열 액세스 레이턴시에 대응하는,
    방법.
  5. 제 4 항에 있어서,
    상기 복수의 저장 엘리먼트들은 복수의 행들 및 복수의 열들로 배열되고, 상기 제 1 메모리 액세스 요청은 상기 메모리 디바이스의 제 1 저장 엘리먼트를 액세스하는 요청에 대응하고, 상기 제 1 저장 엘리먼트는 상기 복수의 행들의 제 1 행 및 상기 복수의 열들의 제 1 열에 포함되며, 상기 제 2 메모리 액세스 요청은 상기 메모리 디바이스의 제 2 저장 엘리먼트를 액세스 하는 요청에 대응하고, 상기 제 2 저장 엘리먼트는 상기 제 1 행 및 상기 제 1 열과 상이한 제 2 열에 포함되는,
    방법.
  6. 제 5 항에 있어서,
    상기 메모리 디바이스의 상기 복수의 행들에 포함되는 행들의 수는 상기 메모리 디바이스의 상기 복수의 열들에 포함되는 열들의 수와 상이한,
    방법.
  7. 제 5 항에 있어서,
    상기 제 1 메모리 액세스 요청은 행 커맨드(command) 및 열 커맨드를 포함하고, 상기 행 커맨드는 상기 제 1 행의 행 어드레스의 제 1 부분을 포함하고, 상기 열 커맨드는 상기 제 1 열의 열 어드레스 및 상기 제 1 행의 행 어드레스의 제 2 부분을 포함하는,
    방법.
  8. 제 7 항에 있어서,
    상기 제 2 메모리 액세스 요청은 제 2 열 커맨드를 포함하고, 상기 제 2 열 커맨드는 상기 제 2 열의 열 어드레스 및 상기 행 어드레스의 상기 제 2 부분을 포함하는,
    방법.
  9. 제 3 항에 있어서,
    상기 제 1 메모리 액세스 요청은 제 1 타이밍 사이클 동안에 수신되고, 상기 제 2 메모리 액세스 요청은 제 2 타이밍 사이클 동안에 수신되며,
    상기 제 2 값을 결정하는 단계는:
    상기 제 2 타이밍 사이클과 상기 제 1 타이밍 사이클 사이의 경과된 타이밍 사이클들의 수를 결정하는 단계;
    상기 경과된 타이밍 사이클들의 수와 타이밍 사이클들의 임계 수 사이의 제 1 차(difference)를 결정하는 단계;
    상기 제 1 값과 상기 제 1 차 사이의 제 2 차를 결정하는 단계; 및
    상기 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 상기 제 2 값을 결정하는 단계를 포함하는,
    방법.
  10. 제 9 항에 있어서,
    상기 타이밍 사이클들의 임계 수는 열-열 지연(column-to-column delay)에 대응하는,
    방법.
  11. 제 9 항에 있어서,
    상기 제 2 값은 상기 제 2 차 및 상기 임계 타이밍 파라미터 값 중 더 큰 것(greater)에 대응하고, 상기 임계 타이밍 파라미터 값은 열 액세스 레이턴시에 대응하는,
    방법.
  12. 제 1 항에 있어서,
    상기 제 1 메모리 액세스 요청은 제 1 판독(read) 커맨드 또는 제 1 기록(write) 커맨드 중 하나에 대응하고, 상기 제 2 메모리 액세스 요청은 제 2 판독 커맨드, 제 2 기록 커맨드, 또는 프리차지(precharge) 커맨드 중 하나에 대응하는,
    방법.
  13. 메모리 디바이스로서,
    복수의 저장 엘리먼트들; 및
    상기 복수의 저장 엘리먼트들에 커플링되고 그리고 프로세서에 커플링되도록 구성되는 메모리 제어 로직을 포함하고,
    상기 메모리 제어 로직은 상기 프로세서로부터 수신되는 복수의 메모리 액세스 요청들이 상기 복수의 저장 엘리먼트들의 제 1 행을 식별한다는 결정에 응답하여 타이밍 파라미터의 값을 수정하도록 구성되고,
    상기 타이밍 파라미터는 상기 복수의 메모리 액세스 요청들의 적어도 하나와 연관되는 데이터가 데이터 버스(bus)에 제공되기 전의 타이밍 사이클들의 수에 대응하는,
    메모리 디바이스.
  14. 제 13 항에 있어서,
    상기 타이밍 파라미터의 값을 수정하기 위해 상기 메모리 제어 로직은:
    상기 프로세서로부터, 제 1 메모리 액세스 요청을 상기 메모리 디바이스에서 수신하고;
    상기 메모리 디바이스의 상기 타이밍 파라미터의 제 1 값에 기초하여 상기 제 1 메모리 액세스 요청을 프로세싱하고;
    상기 프로세서로부터, 제 2 메모리 액세스 요청을 상기 메모리 디바이스에서 수신하고;
    상기 제 1 메모리 액세스 요청에 의해 식별되는 제 1 메모리 어드레스 및 상기 제 2 메모리 액세스 요청에 의해 식별되는 제 2 메모리 어드레스에 적어도 부분적으로 기초하여 상기 메모리 디바이스의 상기 타이밍 파라미터의 제 2 값을 결정하고; 그리고
    상기 제 2 값에 기초하여 상기 제 2 메모리 액세스 요청을 프로세싱하도록 구성되는,
    메모리 디바이스.
  15. 제 14 항에 있어서,
    상기 제 1 값은 행 액세스 레이턴시 및 열 액세스 레이턴시에 대응하고,
    상기 제 2 값은, 상기 제 2 메모리 액세스 요청에 포함되는 행 어드레스가 상기 제 1 메모리 액세스 요청에 포함되는 행 어드레스에 대응할 때 상기 열 액세스 레이턴시에 대응하는,
    메모리 디바이스.
  16. 제 14 항에 있어서,
    상기 제 1 메모리 액세스 요청은 제 1 타이밍 사이클 동안에 수신되고, 상기 제 2 메모리 액세스 요청은 제 2 타이밍 사이클 동안에 수신되고,
    상기 제 2 값을 결정하기 위해 상기 메모리 제어 로직은:
    상기 제 2 타이밍 사이클과 상기 제 1 타이밍 사이클 사이의 경과된 타이밍 사이클들의 수를 결정하고;
    상기 경과된 타이밍 사이클들의 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하고;
    상기 제 1 값과 상기 제 1 차 사이의 제 2 차를 결정하고; 그리고
    상기 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 상기 제 2 값을 결정하도록 구성되고,
    상기 제 2 값은 상기 제 2 차 및 상기 임계 타이밍 파라미터 값 중 더 큰 것에 대응하고, 그리고
    상기 임계 타이밍 파라미터 값은 열 액세스 레이턴시에 대응하는,
    메모리 디바이스.
  17. 제 16 항에 있어서,
    상기 타이밍 사이클들의 임계 수는 열-열 지연에 대응하는,
    메모리 디바이스.
  18. 제 16 항에 있어서,
    상기 임계 타이밍 파라미터 값은 열 액세스 지연에 대응하는,
    메모리 디바이스.
  19. 제 13 항에 있어서,
    상기 메모리 디바이스는 더블 데이터 레이트(DDR) 동기화 동적 랜덤 액세스 메모리(SDRAM), 비-휘발성 랜덤 액세스 메모리(NVRAM), 또는 동적 랜덤 액세스 메모리(DRAM) 중 하나인,
    메모리 디바이스.
  20. 제 13 항에 있어서,
    상기 메모리 제어 로직은 상기 타이밍 파라미터의 값을 상기 프로세서에 제공하도록 추가로 구성되는,
    메모리 디바이스.
  21. 장치로서,
    복수의 저장 엘리먼트들을 포함하는 메모리 디바이스;
    프로세서; 및
    상기 프로세서 및 상기 메모리 디바이스에 커플링되는 메모리 제어기를 포함하고,
    상기 메모리 제어기는 상기 메모리 디바이스로의 복수의 메모리 액세스 요청들이 상기 복수의 저장 엘리먼트들의 제 1 행을 식별한다는 결정에 응답하여 타이밍 파라미터의 값을 수정하도록 구성되고,
    상기 타이밍 파라미터는 상기 복수의 메모리 액세스 요청들의 적어도 하나와 연관되는 데이터가 데이터 버스에 제공되기 전의 타이밍 사이클들의 수에 대응하는,
    장치.
  22. 제 21 항에 있어서,
    상기 타이밍 파라미터의 값을 수정하기 위해 상기 메모리 제어기는:
    제 1 메모리 액세스 요청의 상기 메모리 디바이스로의 전송을 개시하고;
    상기 타이밍 파라미터의 제 1 값에 기초하여 상기 메모리 디바이스로부터 상기 메모리 제어기로의 제 1 데이터 전송의 제 1 시간을 예측하고 ― 상기 제 1 데이터 전송은 상기 제 1 메모리 액세스 요청과 연관됨 ―;
    제 2 메모리 액세스 요청의 상기 메모리 디바이스로의 전송을 개시하고;
    상기 제 1 메모리 액세스 요청 및 상기 제 2 메모리 액세스 요청에 기초하여 상기 타이밍 파라미터의 제 2 값을 결정하고; 그리고
    상기 제 2 값에 기초하여 상기 메모리 디바이스로부터 상기 메모리 제어기로의 제 2 데이터 전송의 제 2 시간을 예측하도록 구성되고,
    상기 제 2 데이터 전송은 상기 제 2 메모리 액세스 요청과 연관되는,
    장치.
  23. 제 22 항에 있어서,
    상기 제 1 메모리 액세스 요청은 제 1 타이밍 사이클 동안 전송되고, 상기 제 2 메모리 액세스 요청은 제 2 타이밍 사이클 동안 전송되고, 그리고
    상기 제 1 메모리 액세스 요청 및 상기 제 2 메모리 액세스 요청에 기초하여 상기 타이밍 파라미터의 제 2 값을 결정하기 위해 상기 메모리 제어기는:
    상기 제 2 타이밍 사이클과 상기 제 1 타이밍 사이클 사이의 경과된 타이밍 사이클들의 수를 결정하고;
    상기 경과된 타이밍 사이클들의 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하고;
    상기 제 1 값과 상기 제 1 차 사이의 제 2 차를 결정하고; 그리고
    상기 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 상기 제 2 값을 결정하도록 구성되고,
    상기 제 2 값은 상기 제 2 차 및 상기 임계 타이밍 파라미터 값 중 더 큰 것에 대응하고, 그리고
    상기 임계 타이밍 파라미터 값은 열 액세스 레이턴시에 대응하는,
    장치.
  24. 제 22 항에 있어서,
    상기 복수의 저장 엘리먼트들은 복수의 행들 및 복수의 열들로 배열되고, 상기 복수의 저장 엘리먼트들 중 특정 저장 엘리먼트는, 특정 행 어드레스 및 특정 열 어드레스를 이용하여 어드레스가능(adressable)하며, 상기 특정 행 어드레스는 상기 특정 저장 엘리먼트를 포함하는 상기 복수의 행들 중 특정 행을 식별하고, 상기 특정 열 어드레스는 상기 특정 저장 엘리먼트를 포함하는 상기 복수의 열들 중 특정 열을 식별하는,
    장치.
  25. 제 24 항에 있어서,
    상기 제 1 메모리 액세스 요청은 상기 복수의 저장 엘리먼트들의 제 1 저장 엘리먼트와 연관되고, 상기 제 1 메모리 액세스 요청은 행 커맨드 및 열 커맨드를 포함하며, 상기 행 커맨드는 상기 제 1 저장 엘리먼트를 포함하는 상기 복수의 행들의 제 1 행에 대응하는 행 어드레스의 제 1 부분을 포함하고, 그리고 상기 열 커맨드는 상기 제 1 저장 엘리먼트를 포함하는 상기 복수의 열들의 제 1 열에 대응하는 열 어드레스 및 상기 제 1 행의 상기 행 어드레스의 제 2 부분을 포함하며, 상기 제 2 메모리 액세스 요청은 상기 복수의 저장 엘리먼트들의 제 2 저장 엘리먼트와 연관되고, 상기 제 2 메모리 액세스 요청은 제 2 열 커맨드를 포함하며, 그리고 상기 제 2 열 커맨드는 상기 제 2 저장 엘리먼트를 포함하는 상기 복수의 열들의 제 2 열에 대응하는 제 2 열 어드레스 및 상기 제 1 행의 상기 행 어드레스의 제 2 부분을 포함하는,
    장치.
  26. 제 21 항에 있어서,
    상기 타이밍 파라미터의 값을 수정하기 위해 상기 메모리 제어기는:
    상기 메모리 디바이스로부터 제 1 값을 수신하고;
    상기 메모리 디바이스로부터 제 2 값을 수신하고; 그리고
    상기 제 1 값 및 상기 제 2 값의 비교에 기초하여 상기 타이밍 파라미터의 값을 결정하도록 구성되고,
    상기 타이밍 파라미터의 값은 상기 제 1 값이 상기 제 2 값보다 작을 때 상기 제 2 값에 대응하고, 그리고 상기 제 1 값은 제 1 메모리 액세스 요청에 기초하여 상기 메모리 디바이스에서 생성되는,
    장치.
  27. 방법으로서,
    메모리 제어기로부터의 제 1 메모리 액세스 요청을 복수의 저장 엘리먼트들을 포함하는 메모리 디바이스로 전송하는 단계;
    타이밍 파라미터의 제 1 값에 기초하여 상기 메모리 디바이스로부터 상기 메모리 제어기로의 제 1 데이터 전송의 제 1 시간을 예측하는 단계 ― 상기 제 1 데이터 전송은 상기 제 1 메모리 액세스 요청과 연관됨 ―;
    제 2 메모리 액세스 요청을 상기 메모리 디바이스로 전송하는 단계;
    상기 제 1 메모리 액세스 요청 및 상기 제 2 메모리 액세스 요청이 각각 상기 복수의 엘리먼트들의 제 1 행을 식별한다는 결정에 응답하여 상기 타이밍 파라미터의 제 2 값을 결정함으로써 상기 타이밍 파라미터를 수정하는 단계; 및
    상기 제 2 값에 기초하여 상기 메모리 디바이스로부터 상기 메모리 제어기로의 제 2 데이터 전송의 제 2 시간을 예측하는 단계를 포함하고,
    상기 제 2 데이터 전송은 상기 제 2 메모리 액세스 요청과 연관되는,
    방법.
  28. 제 27 항에 있어서,
    상기 제 1 메모리 액세스 요청은 제 1 타이밍 사이클 동안에 전송되고, 그리고 상기 제 2 메모리 액세스 요청은 제 2 타이밍 사이클 동안에 전송되며, 상기 타이밍 파라미터의 제 2 값을 결정하는 단계는:
    상기 제 2 타이밍 사이클과 상기 제 1 타이밍 사이클 사이의 경과된 타이밍 사이클들의 수를 결정하는 단계;
    상기 경과된 타이밍 사이클들의 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하는 단계;
    상기 제 1 값과 상기 제 1 차 사이의 제 2 차를 결정하는 단계; 및
    상기 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 상기 제 2 값을 결정하는 단계를 포함하고,
    상기 제 2 값은 상기 제 2 차 및 상기 임계 타이밍 파라미터 값 중 더 큰 것에 대응하고, 그리고
    상기 임계 타이밍 파라미터 값은 열 액세스 레이턴시에 대응하는,
    방법.
  29. 제 27 항에 있어서,
    상기 메모리 디바이스로부터 상기 타이밍 파라미터의 상기 제 1 값 및 상기 타이밍 파라미터의 상기 제 2 값을 수신하는 단계를 더 포함하는,
    방법.
  30. 명령들을 저장하는 컴퓨터 판독가능 저장 디바이스로서,
    상기 명령들은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    타이밍 파라미터의 제 1 값에 기초하여 제 1 메모리 액세스 요청을 프로세싱하게 하고;
    수정된 타이밍 파라미터를 생성하기 위해, 상기 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청이 복수의 저장 엘리먼트들의 제 1 행을 식별한다는 결정에 적어도 부분적으로 응답하여 상기 타이밍 파라미터를 수정하게 하고 ― 상기 수정된 타이밍 파라미터는 제 2 값을 가짐 ―; 그리고
    상기 제 2 값에 기초하여 상기 제 2 메모리 액세스 요청을 프로세싱하게 하는,
    컴퓨터 판독가능 저장 디바이스.
  31. 제 30 항에 있어서,
    상기 제 1 메모리 액세스 요청은 제 1 타이밍 사이클 동안에 수신되고, 상기 제 2 메모리 액세스 요청은 제 2 타이밍 사이클 동안에 수신되며, 그리고
    상기 타이밍 파라미터를 수정하기 위한 상기 명령들은, 상기 프로세서로 하여금 추가로:
    상기 제 2 타이밍 사이클과 상기 제 1 타이밍 사이클 사이의 경과된 타이밍 사이클들의 수를 결정하게 하고;
    상기 경과된 타이밍 사이클들의 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하게 하고;
    상기 제 1 값과 상기 제 1 차 사이의 제 2 차를 결정하게 하고; 그리고
    상기 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 상기 제 2 값을 결정하게 하며,
    상기 제 2 값은 상기 제 2 차 및 상기 임계 타이밍 파라미터 값 중 더 큰 것에 대응하고, 그리고
    상기 임계 타이밍 파라미터 값은 열 액세스 레이턴시에 대응하는,
    컴퓨터 판독가능 저장 디바이스.
  32. 제 31 항에 있어서,
    상기 타이밍 사이클들의 임계 수는 열-열 지연에 대응하는,
    컴퓨터 판독가능 저장 디바이스.
  33. 제 30 항에 있어서,
    상기 제 1 메모리 액세스 요청 및 상기 제 2 메모리 액세스 요청은 메모리 디바이스의 메모리 제어 로직에서 수신되고, 그리고
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 상기 제 1 값 및 상기 제 2 값 중 적어도 하나의 제 2 프로세서로의 전송을 개시하게 하는 명령들을 더 포함하는,
    컴퓨터 판독가능 저장 디바이스.
  34. 제 33 항에 있어서,
    상기 메모리 디바이스는 더블 데이터 레이트(DDR) 동기화 동적 랜덤 액세스 메모리(SDRAM), 비-휘발성 랜덤 액세스 메모리(NVRAM), 또는 동적 랜덤 액세스 메모리(DRAM) 중 하나인,
    컴퓨터 판독가능 저장 디바이스.
  35. 장치로서,
    데이터를 저장하기 위한 수단; 및
    프로세서로부터 수신되는 복수의 메모리 액세스 요청들이 상기 데이터를 저장하기 위한 수단의 제 1 행을 식별한다는 결정에 적어도 부분적으로 응답하여, 타이밍 파라미터의 값을 수정하기 위한 수단을 포함하고,
    상기 타이밍 파라미터는 상기 복수의 메모리 액세스 요청들의 적어도 하나와 연관되는 데이터가 데이터 버스에 제공되기 전의 타이밍 사이클들의 제 1 수에 대응하는,
    장치.
  36. 제 35 항에 있어서,
    상기 타이밍 파라미터의 값을 상기 프로세서에 전송하기 위한 수단;
    하나 또는 그 초과의 메모리 액세스 요청들을 수신하기 위한 수단; 및
    상기 하나 또는 그 초과의 메모리 액세스 요청들을 프로세싱하기 위한 수단을 더 포함하는,
    장치.
  37. 제 36 항에 있어서,
    상기 타이밍 파라미터의 값을 수정하기 위한 수단은:
    제 1 메모리 액세스 요청에 기초하여 상기 타이밍 파라미터의 제 1 값을 결정하기 위한 수단 ― 상기 하나 또는 그 초과의 메모리 액세스 요청들을 프로세싱하기 위한 수단은 상기 제 1 값에 기초하여 상기 제 1 메모리 액세스 요청을 프로세싱함 ―; 및
    상기 제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청에 적어도 부분적으로 기초하여 상기 타이밍 파라미터의 제 2 값을 결정하기 위한 수단 ― 상기 하나 또는 그 초과의 메모리 액세스 요청들을 프로세싱하기 위한 수단은 상기 제 2 값에 기초하여 상기 제 2 메모리 액세스 요청을 프로세싱함 ― 을 포함하는,
    장치.
  38. 제 37 항에 있어서,
    상기 제 1 값은 행 액세스 레이턴시 및 열 액세스 레이턴시의 합에 대응하고, 그리고
    상기 제 2 값은, 상기 제 2 메모리 액세스 요청에 포함되는 행 어드레스가 상기 제 1 메모리 액세스 요청에 포함되는 행 어드레스에 대응할 때 상기 열 액세스 레이턴시에 대응하는,
    장치.
  39. 제 37 항에 있어서,
    상기 제 1 메모리 액세스 요청은 제 1 타이밍 사이클 동안에 수신되고, 상기 제 2 메모리 액세스 요청은 제 2 타이밍 사이클 동안에 수신되며, 그리고
    상기 제 2 값을 결정하기 위한 수단은:
    상기 제 2 타이밍 사이클과 상기 제 1 타이밍 사이클 사이의 경과된 타이밍 사이클들의 제 2 수를 결정하기 위한 수단;
    상기 경과된 타이밍 사이클들의 제 2 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하기 위한 수단;
    상기 제 1 값과 상기 제 1 차 사이의 제 2 차를 결정하기 위한 수단; 및
    상기 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 상기 제 2 값을 결정하기 위한 수단을 포함하고,
    상기 제 2 값은 상기 제 2 차 및 상기 임계 타이밍 파라미터 값 중 더 큰 것에 대응하고, 그리고
    상기 임계 타이밍 파라미터 값은 열 액세스 레이턴시에 대응하는,
    장치.
  40. 제 39 항에 있어서,
    상기 타이밍 사이클들의 임계 수는 열-열 지연에 대응하는,
    장치.
  41. 제 39 항에 있어서,
    상기 임계 타이밍 파라미터 값은 열 액세스 지연에 대응하는,
    장치.
  42. 제 35 항에 있어서,
    상기 데이터를 저장하기 위한 수단은 더블 데이터 레이트(DDR) 동기화 동적 랜덤 액세스 메모리(SDRAM), 비-휘발성 랜덤 액세스 메모리(NVRAM), 또는 동적 랜덤 액세스 메모리(DRAM) 중 하나를 포함하는,
    장치.
  43. 장치로서,
    데이터를 프로세싱하기 위한 수단; 및
    복수의 전송된 메모리 액세스 요청들이 복수의 저장 엘리먼트들의 제 1 행을 식별한다는 결정에 적어도 부분적으로 응답하여, 타이밍 파라미터의 값을 수정하기 위한 수단을 포함하고,
    상기 타이밍 파라미터는 상기 복수의 전송된 메모리 액세스 요청들의 적어도 하나와 연관되는 데이터가 데이터 버스로부터 수신되기 이전의 타이밍 사이클들의 제 1 수에 대응하는,
    장치.
  44. 제 43 항에 있어서,
    제 1 메모리 액세스 요청 및 제 2 메모리 액세스 요청을 메모리 디바이스에 전송하기 위한 수단을 더 포함하는,
    장치.
  45. 제 44 항에 있어서,
    상기 제 1 메모리 액세스 요청은 제 1 타이밍 사이클 동안에 전송되고, 상기 제 2 메모리 액세스 요청은 제 2 타이밍 사이클 동안에 전송되며,
    상기 타이밍 파라미터의 값을 수정하기 위한 수단은:
    상기 제 1 메모리 액세스 요청에 기초하여 상기 타이밍 파라미터의 제 1 값을 결정하기 위한 수단;
    상기 제 2 타이밍 사이클과 상기 제 1 타이밍 사이클 사이의 경과된 타이밍 사이클들의 제 2 수를 결정하기 위한 수단;
    상기 경과된 타이밍 사이클들의 제 2 수와 타이밍 사이클들의 임계 수 사이의 제 1 차를 결정하기 위한 수단;
    상기 제 1 값과 상기 제 1 차 사이의 제 2 차를 결정하기 위한 수단;및
    상기 제 2 차와 임계 타이밍 파라미터 값의 비교에 기초하여 상기 타이밍 파라미터의 제 2 값을 결정하기 위한 수단을 포함하고,
    상기 제 2 값은 상기 제 2 차 및 상기 임계 타이밍 파라미터 값 중 더 큰 것에 대응하고, 그리고
    상기 임계 타이밍 파라미터 값은 열 액세스 레이턴시에 대응하는,
    장치.
  46. 제 43 항에 있어서,
    적어도 하나의 반도체 다이에 통합되는,
    장치.
  47. 제 46 항에 있어서,
    상기 적어도 하나의 반도체 다이가 내부에 통합되는, 셋탑 박스, 음악 플레이어, 비디오 플레이어, 엔터테이먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 개인용 정보 단말기(personal digital assistant, PDA), 고정 위치 데이터 유닛 및 컴퓨터로 구성된 그룹으로부터 선택된 디바이스를 더 포함하는,
    장치.
  48. 방법으로서,
    프로세서로부터 제 1 메모리 액세스 요청을 메모리 디바이스에서 수신하기 위한 제 1 스텝(step) ― 상기 메모리 디바이스는 복수의 저장 엘리먼트들을 포함함 ―;
    상기 메모리 디바이스의 타이밍 파라미터의 제 1 값에 기초하여 상기 제 1 메모리 액세스 요청을 프로세싱하기 위한 제 2 스텝;
    상기 프로세서로부터 제 2 메모리 액세스 요청을 상기 메모리 디바이스에서 수신하기 위한 제 3 스텝;
    상기 제 1 메모리 액세스 요청 및 상기 제 2 메모리 액세스 요청이 상기 복수의 저장 엘리먼트들의 제 1 행을 식별한다는 결정에 응답하여 상기 메모리 디바이스의 상기 타이밍 파라미터를 수정하기 위한 제 4 스텝; 및
    상기 수정된 타이밍 파라미터에 기초하여 상기 제 2 메모리 액세스 요청을 프로세싱하기 위한 제 5 스텝을 포함하는,
    방법.
  49. 방법으로서,
    반도체 디바이스에 대응하는 설계(design) 정보를 포함하는 데이터 파일을 수신하는 단계;
    상기 설계 정보에 따라 상기 반도체 디바이스를 제조하는 단계를 포함하고,
    상기 반도체 디바이스는 복수의 메모리 액세스 요청들이 복수의 저장 엘리먼트들의 제 1 행을 식별한다는 결정에 적어도 부분적으로 응답하여 타이밍 파라미터의 값을 수정하도록 구성되는 로직을 포함하고,
    상기 타이밍 파라미터는 상기 복수의 메모리 액세스 요청들의 적어도 하나와 연관되는 데이터가 데이터 버스에 제공되기 전의 타이밍 사이클들의 수에 대응하는,
    방법.
  50. 제 49 항에 있어서,
    상기 데이터 파일은 GDSII 포맷을 포함하는,
    방법.
  51. 제 49 항에 있어서,
    상기 데이터 파일은 GERBER 포맷을 갖는,
    방법.
KR1020157028561A 2013-03-15 2014-03-12 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하기 위한 시스템 및 방법 KR101650042B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/842,410 US9224442B2 (en) 2013-03-15 2013-03-15 System and method to dynamically determine a timing parameter of a memory device
US13/842,410 2013-03-15
PCT/US2014/024311 WO2014150815A2 (en) 2013-03-15 2014-03-12 System and method to dynamically determine a timing parameter of a memory device

Publications (2)

Publication Number Publication Date
KR20150131186A KR20150131186A (ko) 2015-11-24
KR101650042B1 true KR101650042B1 (ko) 2016-08-22

Family

ID=50543671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157028561A KR101650042B1 (ko) 2013-03-15 2014-03-12 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US9224442B2 (ko)
EP (1) EP2973576B1 (ko)
JP (1) JP6059399B2 (ko)
KR (1) KR101650042B1 (ko)
CN (1) CN105190757B (ko)
WO (1) WO2014150815A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530468B2 (en) * 2014-09-26 2016-12-27 Intel Corporation Method, apparatus and system to manage implicit pre-charge command signaling
WO2017206000A1 (zh) * 2016-05-28 2017-12-07 华为技术有限公司 内存访问方法及内存控制器
KR20170141298A (ko) * 2016-06-14 2017-12-26 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10877547B2 (en) * 2016-11-18 2020-12-29 Ati Technologies Ulc Application profiling for power-performance management
US11210019B2 (en) * 2017-08-23 2021-12-28 Micron Technology, Inc. Memory with virtual page size
US10394456B2 (en) 2017-08-23 2019-08-27 Micron Technology, Inc. On demand memory page size
JP6891087B2 (ja) 2017-09-29 2021-06-18 株式会社小松製作所 作業車両、表示装置、および障害判定方法
US11079945B2 (en) * 2018-09-20 2021-08-03 Ati Technologies Ulc Dynamic configuration of memory timing parameters
CN111026258B (zh) * 2019-12-10 2020-12-15 深圳云天励飞技术有限公司 处理器及降低电源纹波的方法
US11183248B1 (en) * 2020-07-29 2021-11-23 Micron Technology, Inc. Timing parameter adjustment mechanisms

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103258A1 (en) 2002-11-27 2004-05-27 International Business Machines Corporation Dynamic optimization of latency and bandwidth on DRAM interfaces
US20060112250A1 (en) 2004-11-24 2006-05-25 Walker Robert M Dynamic control of memory access speed
US20100237463A1 (en) 2009-03-17 2010-09-23 Qualcomm Incorporated Selective Fabrication of High-Capacitance Insulator for a Metal-Oxide-Metal Capacitor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8807849D0 (en) * 1988-04-05 1988-05-05 Int Computers Ltd Data processing apparatus with page mode memory
US5159676A (en) * 1988-12-05 1992-10-27 Micron Technology, Inc. Semi-smart DRAM controller IC to provide a pseudo-cache mode of operation using standard page mode draws
JPH08314795A (ja) * 1994-05-19 1996-11-29 Hitachi Ltd 記憶装置の読み出し回路及び記憶システム
US5848025A (en) * 1997-06-30 1998-12-08 Motorola, Inc. Method and apparatus for controlling a memory device in a page mode
KR100304705B1 (ko) 1999-03-03 2001-10-29 윤종용 포스티드 카스 레이턴시 기능을 가지는 동기식 반도체 메모리 장치 및 카스 레이턴시 제어 방법
KR100374637B1 (ko) 2000-10-24 2003-03-04 삼성전자주식회사 Jedec 규격의 포스티드 카스 기능을 가지는 동기식반도체 메모리 장치
JP4085983B2 (ja) * 2004-01-27 2008-05-14 セイコーエプソン株式会社 情報処理装置およびメモリアクセス方法
KR100671747B1 (ko) * 2006-01-04 2007-01-19 삼성전자주식회사 개선된 애디티브 레이턴시를 가진 메모리 시스템 및제어방법
US8195907B2 (en) 2007-12-21 2012-06-05 Rambus Inc. Timing adjustment in a reconfigurable system
US8463987B2 (en) 2008-09-23 2013-06-11 Intel Corporation Scalable schedulers for memory controllers
US8683164B2 (en) 2009-02-04 2014-03-25 Micron Technology, Inc. Stacked-die memory systems and methods for training stacked-die memory systems
US20120284576A1 (en) 2011-05-06 2012-11-08 Housty Oswin E Hardware stimulus engine for memory receive and transmit signals
US8693269B2 (en) 2011-08-08 2014-04-08 Samsung Electronics Co., Ltd. Memory device for managing timing parameters
US9003256B2 (en) 2011-09-06 2015-04-07 Kingtiger Technology (Canada) Inc. System and method for testing integrated circuits by determining the solid timing window

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103258A1 (en) 2002-11-27 2004-05-27 International Business Machines Corporation Dynamic optimization of latency and bandwidth on DRAM interfaces
US20060112250A1 (en) 2004-11-24 2006-05-25 Walker Robert M Dynamic control of memory access speed
US20100237463A1 (en) 2009-03-17 2010-09-23 Qualcomm Incorporated Selective Fabrication of High-Capacitance Insulator for a Metal-Oxide-Metal Capacitor

Also Published As

Publication number Publication date
US9224442B2 (en) 2015-12-29
EP2973576B1 (en) 2017-11-08
KR20150131186A (ko) 2015-11-24
JP2016515269A (ja) 2016-05-26
WO2014150815A2 (en) 2014-09-25
EP2973576A2 (en) 2016-01-20
CN105190757B (zh) 2017-08-22
US20140281327A1 (en) 2014-09-18
CN105190757A (zh) 2015-12-23
WO2014150815A3 (en) 2014-11-27
JP6059399B2 (ja) 2017-01-11

Similar Documents

Publication Publication Date Title
KR101650042B1 (ko) 메모리 디바이스의 타이밍 파라미터를 동적으로 결정하기 위한 시스템 및 방법
US8266409B2 (en) Configurable cache and method to configure same
US8375173B2 (en) Accessing a multi-channel memory system having non-uniform page sizes
US9704557B2 (en) Method and apparatus for storing retention time profile information based on retention time and temperature
EP3143622B1 (en) Dual write wordline sram cell
EP3069346A2 (en) Volatile memory sending refresh request signal to memory controller
EP3114689B1 (en) Variable read delay system
EP3080814B1 (en) System and method to perform low power memory operations
US20160093345A1 (en) Dynamic random access memory timing adjustments

Legal Events

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