KR20150104557A - 가변 레이턴시들을 갖는 메모리 동작들을 위한 장치들 및 방법들 - Google Patents

가변 레이턴시들을 갖는 메모리 동작들을 위한 장치들 및 방법들 Download PDF

Info

Publication number
KR20150104557A
KR20150104557A KR1020157012530A KR20157012530A KR20150104557A KR 20150104557 A KR20150104557 A KR 20150104557A KR 1020157012530 A KR1020157012530 A KR 1020157012530A KR 20157012530 A KR20157012530 A KR 20157012530A KR 20150104557 A KR20150104557 A KR 20150104557A
Authority
KR
South Korea
Prior art keywords
memory
write
command
read
period
Prior art date
Application number
KR1020157012530A
Other languages
English (en)
Other versions
KR101747570B1 (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 KR20150104557A publication Critical patent/KR20150104557A/ko
Application granted granted Critical
Publication of KR101747570B1 publication Critical patent/KR101747570B1/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals

Landscapes

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

Abstract

메모리 동작들을 수행하기 위한 장치들 및 방법들이 설명된다. 예시적인 장치에서, 메모리는 메모리 명령을 수신하고, 메모리 명령에 대한 응답으로 메모리 동작을 수행하도록 구성된다. 메모리는, 가변 레이턴시 기간의 종료를 나타내는 확인응답을 제공하도록 추가로 구성되고, 여기서, 확인응답은 메모리 명령의 수락과 관련된 정보를 포함한다. 메모리 명령과 연관된 데이터는 확인응답에 후속하여 메모리와 교환된다. 예시적인 방법에서, 판독 명령, 및 판독 데이터가 판독될 어드레스가 수신된다. 판독 명령에 대한 응답으로 기록 동작이 보류되고, 가변 레이턴시 기간의 종료를 나타내는 확인응답이 제공된다. 판독 명령에 대한 판독 데이터가 제공되고, 판독 동작의 완료에 후속하는 홀드-오프 기간 동안 기록 동작이 계속해서 보류된다.

Description

가변 레이턴시들을 갖는 메모리 동작들을 위한 장치들 및 방법들{APPARATUSES AND METHODS FOR MEMORY OPERATIONS HAVING VARIABLE LATENCIES}
관련 출원에 대한 상호 참조
본 출원은, 2012년 10월 26일에 출원된 미국 가특허출원 제 61/719,321호에 대한 우선권을 주장한다. 상기 출원은 모든 목적들을 위해 그 전체가 인용에 의해 본원에 통합된다.
기술 분야
본 발명의 실시예들은 일반적으로 메모리들에 관한 것이고, 상변화 메모리를 갖는 메모리들과 함께 이용될 수 있는 가변 레이턴시들을 갖는 기록 및 판독 동작들의 예들을 포함한다.
메모리 디바이스들은, 컴퓨터들, 또는 휴대용 메모리 디바이스들, 솔리드 스테이트 드라이브들, 개인 휴대 정보 단말들, 뮤직 플레이어들, 카메라들, 전화들, 무선 디바이스들, 디스플레이들, 칩셋들, 셋탑 박스들, 게이밍 시스템들, 차량들 및 전자기기들을 포함하지만 이들에 제한되는 것은 아닌 다른 전자 디바이스들과 같은 장치들에서 제공될 수 있다. 그 중에서도 특히, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 플래쉬 메모리 및 저항 가변 메모리를 포함하는 많은 상이한 타입들의 메모리가 존재한다.
저항 가변 메모리 디바이스들과 같은 장치들은 광범위한 전자 디바이스들에 대한 비휘발성 메모리로서 이용될 수 있다. 저항 가변 메모리 디바이스들은, 그 중에서도 특히, 예를 들어, 상변화 메모리(PCM) 또는 저항성 메모리(RR)를 포함할 수 있다. PCM 디바이스의 물리적 레이아웃은 DRAM 셀의 커패시터가 상변화 재료, 예를 들어, 게르마늄-안티모니-텔룰라이드(GST) 또는 다른 칼코게나이드 재료들로 대체되는 경우에 DRAM 디바이스의 물리적 레이아웃과 유사할 수 있다. 즉, 다이오드 또는 금속 산화물 반도체 전계효과 트랜지스터(MOSFET)와 같은 액세스 디바이스는 상변화 재료와 직렬로 접속될 수 있다. 칼코게나이드 재료들은, 그 중에서도 특히, 황화물들, 셀렌화물들 또는 텔룰라이드들의 화합물들을 포함할 수 있다. GST는, 재기록가능 광학 디스크들, 예를 들어, 재기록가능 컴팩트 디스크(CD-RW)들 및 재기록가능 디지털 다기능 디스크(DVD-RW)들에서 이용되어 왔다.
PCM은, 비휘발성 메모리들에서와 같이, 제 1 상태(예를 들어, 로직 "0")로부터 제 2 상태(예를 들어, 로직 "1")로 변하는 것으로 기록될 수 있다. PCM은 또한 제 2 상태로부터 제 1 상태로 변하는 것으로 기록될 수 있다. PCM에 대한 일반적인 판독 동작은 또한 RAM과 유사하다. 따라서, PCM은 랜덤 액세스 메모리에서 이용될 수 있다. 그러나, PCM에서의 기록 동작들은 종래의 RAM에 대한 기록 동작들보다 상대적으로 느리다. 즉, 기록 동작의 진행을 모니터링하는 것뿐만 아니라 메모리에 기록될 데이터를 준비하는 것, 판독 액세스 요청의 경우 기록 동작을 보류하는 것과 같이 기록 동작들을 관리 및 완료하기 위해서 시간을 필요로 할 수 있다. 판독 동작들은 종래의 RAM에 대한 판독 동작들보다 느릴 수 있고, 판독 동작들은, 그와 동시에 실행되는 기록 동작과 관련된 메모리 위치에서는 수행될 수 없다.
PCM을 RAM 대체로서 이용하는 것에 대한 제한들의 결과로서, 메모리 시스템들에서 PCM들의 동작은 몇몇 방식들로 제한된다. 예를 들어, 기록 및 판독 동작들은 임의의 메모리 위치에서 임의의 시간에 수행되지 않을 수 있다. 기록 동작들의 진행을 모니터링하기 위해 이용되는 상태 레지스터들은, 새로운 기록 동작을 시작하기 전에 기록 동작의 완료를 결정하기 위해 정기적으로 폴링(poll)될 수 있다. 추가적으로, 몇몇 애플리케이션들에서, 기록 동작들은 판독 동작들을 위해 필연적으로 보류되고, 판독 동작의 완료 시에 재개된다.
메모리 동작들을 수행하기 위한 장치들 및 방법들이 설명된다. 예시적인 장치에서, 메모리는 메모리 명령을 수신하고 메모리 명령에 대한 응답으로 메모리 동작을 수행하도록 구성된다. 메모리는, 가변 레이턴시 기간의 종료를 나타내는 확인응답을 제공하도록 추가로 구성되고, 확인응답은 메모리 명령의 수락과 관련된 정보를 포함한다. 메모리 명령과 연관된 데이터는 확인응답에 후속하여 메모리와 교환된다.
다른 예시적인 장치는 메모리 어레이 및 메모리 동작 제어기를 포함한다. 메모리 동작 제어기는 메모리 명령들을 수신하고, 메모리 명령들을 디코딩하여 메모리 동작들을 수행하기 위한 내부 신호들을 제공하도록 구성된다. 메모리 동작 제어기는 보류된 메모리 동작을 재개하기 전에 홀드-오프(hold-off) 기간을 대기하도록 추가로 구성된다.
다른 예시적인 장치는 메모리 어레이, 기록 버퍼, 메모리 동작 제어기 및 레지스터를 포함한다. 기록 버퍼는 메모리 어레이에 기록될 기록 데이터를 저장하도록 구성된다. 메모리 동작 제어기는 메모리 명령들을 수신하고, 메모리 명령들을 디코딩하여 메모리 명령들에 대한 메모리 동작들을 수행하기 위한 내부 신호들을 제공하도록 구성된다. 메모리 동작 제어기는 가변 레이턴시 기간의 종료를 나타내는 확인응답을 제공하도록 추가로 구성된다. 레지스터는 메모리 동작 제어기에 연결되고, 보류된 기록 동작을 재개하기 전에 판독 동작의 완료에 후속하는 홀드-오프 기간과 관련된 정보를 저장하도록 구성된다.
예시적인 방법에서, 기록 명령, 및 기록 데이터가 기록될 어드레스가 메모리에서 수신된다. 예시적인 방법은, 가변 레이턴시 기간의 종료를 나타내는 확인응답을 제공하는 단계 및 확인응답에 후속하는 버스 턴어라운드 시간을 대기하는 단계를 더 포함한다. 기록 명령에 대한 기록 데이터가 수신된다.
다른 예시적인 방법은 판독 명령, 및 판독 데이터가 판독될 어드레스를 수신하는 단계를 포함한다. 판독 명령에 대한 응답으로 기록 동작이 보류되고, 가변 레이턴시 기간의 종료를 나타내는 확인응답이 제공된다. 판독 명령에 대한 판독 데이터가 제공되고, 판독 동작의 완료에 후속하는 홀드-오프 기간 동안 기록 동작은 계속해서 보류된다.
또 다른 예시적인 방법은, 메모리 명령들, 및 메모리 명령과 연관된 어드레스들을 메모리에서 수신하는 단계를 포함한다. 가변 레이턴시 기간의 종료를 나타내고 메모리 명령의 수락과 관련된 정보를 포함하는 확인응답이 제공되고, 메모리 명령과 연관된 데이터가 수신 또는 제공된다.
또 다른 예시적인 방법은, 메모리 명령 및 어드레스를 메모리에 제공하는 단계, 및 가변 레이턴시 기간의 종료를 나타내는 확인응답을 수신하는 단계를 포함한다. 메모리에 의한 메모리 명령의 수락과 관련된 정보가 포함된다. 메모리 명령과 연관된 데이터가 메모리와 교환된다.
도 1은 본 발명의 실시예에 따른 장치의 블록도이다.
도 2a는 본 발명의 실시예에 따른, 기록 동작에 대한 다양한 신호들의 타이밍도이다. 도 2b는 본 발명의 다른 실시예에 따른, 기록 동작에 대한 다양한 신호들의 타이밍도이다.
도 3은 본 발명의 실시예에 따른, 판독 동작에 대한 다양한 신호들의 타이밍도이다.
도 4a는 본 발명의 실시예에 따른 대기 상태들의 테이블이다. 도 4b는 본 발명의 실시예에 따른, 메모리 동작에 대한 다양한 신호들의 타이밍도이다.
도 5는, 본 발명의 실시예에 따른, 확인응답에 의해 제공되는 정보의 테이블이다.
도 6은 예시적인 동작을 도시하는 본 발명의 실시예에 따른 판독 및 기록 명령들의 시퀀스이다.
도 7은 예시적인 동작을 도시하는 본 발명의 실시예에 따른 판독 및 기록 명령들의 시퀀스이다.
도 8은 본 발명의 실시예에 따른 장치의 블록도이다.
본 발명의 실시예들의 충분한 이해를 제공하기 위해 특정한 세부사항들이 아래에서 기술된다. 그러나, 이러한 특정한 세부사항들 없이도 본 발명의 실시예들이 실시될 수 있음은 당업자에게 자명할 것이다. 아울러, 본 명세서에서 설명되는 본 발명의 특정한 실시예들은 예시의 방식으로 제공되고, 본 발명의 범주를 이러한 특정한 실시예들에 제한하기 위해 이용되어서는 안된다. 다른 예들에서, 본 발명을 불필요하게 모호하게 하는 것을 회피하기 위해, 주지의 회로들, 제어 신호들, 타이밍 프로토콜들 및 소프트웨어 동작들은 상세히 도시되지 않았다.
도 1은 본 발명의 실시예에 따른 장치를 도시한다. 장치는, 회로, 하나 이상의 반도체 다이, 패키지된 반도체, 이러한 회로, 다이 또는 패키지를 포함하는 디바이스, 및/또는 이러한 디바이스를 포함하는 시스템을 포함할 수 있고, 메모리(100)에 연결된 메모리 제어기(10)를 포함할 수 있다. 메모리 제어기(10)는 또한 시스템 버스(20)에 연결된다. 메모리 제어기(10)는 메모리 명령들 및 메모리 어드레스들을 버스(110)를 통해 메모리(100)에 제공한다. 메모리(100)는, 데이터를 저장하기 위한 메모리 셀들을 갖는 메모리 어레이(170)를 포함하고, 메모리 명령들을 수신하고 메모리(100)의 메모리 동작들을 제어하도록 구성되는 메모리 동작 제어기(140)를 더 포함한다. 아래에서 더 상세히 설명될 바와 같이, 메모리(100)에 포함된 기록 버퍼(150)는 기록 명령들 및 데이터를 저장하기 위해 이용될 수 있고, 레지스터(160)는 메모리(100)의 구성 및 동작과 관련된 값들을 저장하기 위해 이용될 수 있다. 도 1에는 별개의 구성요소들로서 도시되었지만, 메모리 동작 제어기(140), 기록 버퍼(150), 및 레지스터(160)는, 메모리 동작 제어기(140), 기록 버퍼(150) 및 레지스터(160) 중 하나 이상을 포함하는 다양한 상이한 배열들로 결합될 수 있다. 예를 들어, 메모리 동작 제어기(140)는 몇몇 실시예들에서 레지스터(160)를 포함할 수 있다.
메모리(100)는 메모리 명령들 및 어드레스들에 대한 응답으로 메모리 동작들을 수행한다. 메모리(100)는 다양한 정보를 버스(120)를 통해 메모리 제어기(10)에 제공한다. 아래에서 더 상세히 설명될 바와 같이, 메모리(100)에 의해 제공되는 정보는, 메모리 명령에 대해 수행되는 메모리 동작과 관련된 정보, 가변 레이턴시 기간의 나머지 시간, 가변 레이턴시 기간의 종료를 나타내는 확인응답뿐만 아니라 메모리(100)와 관련될 수 있는 다른 정보를 포함할 수 있다. 데이터는, 버스(130)를 통해 메모리(100)와 교환될 수 있는데, 예를 들어, 판독 명령에 대해 판독 데이터가 메모리(100)에 의해 메모리 제어기(10)에 제공되고, 다른 예에서, 기록 명령에 대해 기록 데이터가 메모리 제어기(10)에 의해 메모리(100)에 제공된다.
메모리(100)에 의해 제공되는 정보는, 메모리 제어기(10)와 메모리(100) 사이의 동작들을 관리하는데 이용될 수 있다. 예를 들어, 확인응답은, 메모리 동작이 종료할 때까지 작동상태(busy)로 남아있는 시스템 버스(20)에 대한 대기 신호로서 이용될 수 있다. 다른 예는, 메모리 동작이 완료될 때까지 시스템 버스(20)를 작동상태로 유지할지 또는 시스템 버스(20)를 (다른 동작들에 대한 동일한 마스터에 대해, 또는 프레임 버퍼들 등과 같은 다른 마스터들/주변기기들에 대해) 자유롭게 하기 위하여 동작을 중단(예를 들어, 메모리(100)를 선택해제)하고 추후의 시간에 재시도할지를 결정하기 위해 확인응답을 이용하는 것이다. 가변 레이턴시 기간의 나머지 시간에 관한 정보는 또한, 시스템 버스(20)를 작동상태로 유지할지 또는 동작을 중단하고 추후의 시간에 재시도할지를 결정하는데 보조하기 위해 제공될 수 있다.
동작 시에, 메모리 명령들 및 메모리 어드레스들은, 예를 들어, 메모리 제어기(10)로부터 메모리(100)에 의해 수신되고, 메모리 동작이 수행된다. 가변 레이턴시 기간 tLAT가 메모리 명령 및 메모리 어드레스의 수신에 후속한다. 레이턴시 기간의 종료는 메모리(100)에 의해 제공되는 확인응답 ACKNOWLEDGE로 표시되고, 그 이후, 데이터가 메모리와 교환될 수 있다 (예를 들어, ACKNOWLEDGE에 후속하여 메모리 제어기(10)에 데이터를 제공하는 것, ACKNOWLEDGE에 후속하여 메모리 제어기(10)로부터 데이터를 수신하는 것, 또는 ACKNOWLEDGE에 후속하여 데이터를 제공/수신하는 것 둘 다). tLAT 기간 동안, 메모리(100)는 메모리 동작들을 관리할 수 있다. 예를 들어, tLAT 기간 동안, 메모리는, (예를 들어, 메모리 동작을 수행하기 위해 메모리 회로들을 준비하는 것과 같이) 메모리 동작을 위해 준비되거나, 진행 중인 메모리 동작을 완료하거나, 메모리 동작을 수행하는 것을 시작하기 위해 진행 중인 동작을 보류하거나, 또는 다른 메모리 동작들을 관리할 수 있다. 메모리(100)는 또한, 예를 들어, 수신된 메모리 명령에 대한 메모리 동작을 수행하기 전에, tLAT 기간 동안 진행 중인 동작을 완료할 수 있다. 따라서, tLAT 기간은 비교적 짧은 시간으로부터 비교적 긴 시간까지의 시간 범위에 걸쳐 변할 수 있고, ACKNOWLEDGE는 tLAT 기간의 종료를 나타낸다. ACKNOWLEDGE는 또한, tLAT 기간이 진행 중인지 또는 종료되었는지를 호스트에 통지하기 위해 이용될 수 있다. 몇몇 실시예들에서, 메모리(100)는 tLAT 기간 동안 tLAT 기간에 대한 시간과 관련된 정보를 제공할 수 있다. 일례에서, 메모리(100)는 tLAT 기간에 대한 시간과 관련된 정보를 제공하고, tLAT 기간에 대한 시간과 관련된 업데이트된 정보를 추가로 제공할 수 있다. 업데이트된 정보는 tLAT 기간이 얼마나 길 수 있는지를 반영할 수 있다.
몇몇 실시예들에서, 메모리의 메모리 동작 제어기(예를 들어, 메모리(100)의 메모리 동작 제어기(140))는 메모리 명령들을 디코딩할 수 있고, 종래의 상변화 메모리(PCM)의 동일한 타이밍 제한들 없이, 결과적인 메모리 동작들을 관리하기 위한 내부 신호들을 제공하여, 데이터가 메모리의 메모리 어레이(예를 들어, 메모리(100)의 메모리 어레이(170))에 기록되도록 허용하고 데이터가 메모리의 메모리 어레이로부터 판독되도록 허용할 수 있다. 예를 들어, 몇몇 실시예들에서, 데이터는, 메모리 어레이에서의 위치가 기록 동작과 현재 관련된 경우에도 그 위치로부터 판독될 수 있다. 몇몇 실시예들에서, 내부 메모리 동작들(예를 들어, 기록 및 판독 동작들)의 보류 및 재개는 종래의 PCM들에 비해 덜 제한적일 수 있고, 따라서 메모리의 더 큰 동작 유연성을 제공할 수 있다. 예를 들어, 기록 동작이 판독 동작을 위해 반드시 보류되어야 할 필요는 없을 수 있고, 보류된 기록 동작들은 더 유연한 타이밍 조건들에 따라 재개될 수 있다.
요약하면, tLAT 기간 동안 메모리는 동작을 위해 또는 동작을 완료하기 위해 준비되고 있다. 예를 들어, 이 시간 동안, 메모리는 이전의 동작이 진행 중인지를 결정하고; 진행 중이 아니면, 현재의 동작은, 비교적 짧은 tLAT 기간 직후에 수행될 수 있다. 이전의 동작이 이미 진행 중이면, 메모리는 현재의 동작 및 이전의 동작을 어떻게 관리할지를 결정할 것이다. 현재의 동작이 수행되도록 허용하기 위해 이전의 동작이 보류될 수 있다. 이러한 경우, tLAT 기간은 비교적 짧을 수 있다. 그러나, 현재의 동작을 수행하기 전에 이전의 동작을 완료하는 것으로 메모리가 결정하면, LAT 기간은 비교적 길 수 있다.
본 발명의 실시예들은 다양한 메모리 인터페이스들과 함께 활용될 수 있다. 예를 들어, 몇몇 실시예들은 직렬 메모리 인터페이스들과 함께 활용할 수 있다. 본 발명의 몇몇 실시예들은, LPDDR2-N, NOR를 포함하는 메모리 맵핑된 인터페이스들뿐만 아니라 다른 메모리 인터페이스들과도 함께 활용될 수 있다.
메모리 명령들의 예들은 기록 명령 및 판독 명령이다. 기록 명령은 메모리(100)에 의해 기록 동작이 수행되게 하고, 메모리에 의해 수신된 기록 데이터는 메모리 어드레스에 대응하는 메모리 위치들에 기록된다. 판독 명령은 메모리(100)에 의해 판독 동작이 수행되게 하고, 판독 데이터는 메모리 어드레스에 대응하는 메모리 위치들로부터 메모리에 의해 제공된다.
본 발명의 실시예에 따른 기록 명령들은, 기록 동작을 수행하기 위해 메모리에 의해 수신된다. 일반적으로, 이러한 실시예들에서, 기록 명령 및 메모리 어드레스는 메모리에 의해 수신되고, 가변 레이턴시 기간이 명령 및 어드레스의 수신에 후속한다. 레이턴시 기간의 종료는 메모리에 의해 제공되는 확인응답 ACKNOWLEDGE로 표시되고, 그 후 기록 명령에 대한 기록 데이터가 메모리에 의해 수신될 수 있다. 아래에서 더 상세히 설명될 바와 같이, 몇몇 실시예들에서, 예를 들어, 최대 tLAT에 대한 값을 포함하는 레지스터를 프로그래밍함으로써, tLAT 기간에 대한 최대 시간이 정의될 수 있다. 도 2a는 본 발명의 실시예에 따른 기록 동작의 타이밍을 도시한다.
시간 T0 전에, 메모리선택 신호 S/(액티브 로우(active low) 및 모드 신호들 MODE는 액티브가 되어, 메모리를 액티브가 되게 된다. 시간 T0과 T1 사이에 메모리의 입력/출력들 DQ0-DQ3 상에서 메모리에 의해 기록 명령이 수신된다. 시간 T1과 T2 사이에, 기록 명령에 대한 위치에 대응하는 어드레스가 수신된다. 레이턴시 기간 tLAT가 시간 T2에 후속한다. tLAT 기간은 가변적일 수 있고, tLAT 기간의 종료는 메모리에 의해 제공되는 확인응답 ACKNOWLEDGE로 표시된다. 시간 T2와 T3 사이에, 원하는 경우, DQ0-DQ3이 정보의 교환 방향을 변경하도록 허용하기 위한 버스 턴어라운드 기간이 존재한다. 도 2a에 도시된 바와 같이, 버스 턴어라운드 시간 동안, DQ0-DQ3은 하이-임피던스 "Hi-Z" 상태에 있을 수 있다. 이전에 논의된 바와 같이, 메모리는 tLAT 기간의 종료를 나타내기 위해 ACKNOWLEDGE를 제공한다. 메모리는 ACKNOWLEDGE를 제공하기 위해 DQ0-DQ3 중 하나 이상을 이용할 수 있다. 도 2a의 실시예에서, 메모리는 ACKNOWLEDGE를 위해 DQ1을 이용한다. 시간 T3에 후속하여, 메모리는 DQ1 상에서 로직 "0"을 제공하고 DQ0, DQ2 및 DQ3은 임의의 로직 상태(즉, "don't care")일 수 있다.
시간 T4에서 메모리는 ACKNOWLEDGE를 제공한다. ACKNOWLEDGE는, 메모리가 DQ1의 로직 상태를 로직 "0"으로부터 로직 "1"로 변경하는 것으로 도 2a에 표현된다. ACKNOWLEDGE는 소정 시간 기간(예를 들어, 다수의 클럭 사이클들) 동안 메모리에 의해 제공될 수 있고, 그 후 기록 데이터가 메모리에 의해 수신될 수 있다. 도 2a에서, 예를 들어, ACKNOWLEDGE는 시간 T4로부터 시간 T5까지 2개의 클럭 사이클들에 걸쳐 DQ1 상에서 메모리에 의해 제공된다. 도 2a에는 DQ1 상에서 로직 상태가 "0"으로부터 "1"로 변화하는 것으로 도시되었지만 ACKNOWLEDGE는 다른 DQ 상에서 또는 하나보다 많은 DQ 상에서 제공될 수 있다. ACKNOWLEDGE는, "0"으로부터 "1"로의 변화 이외의 것, 예를 들어, "1"로부터 "0"으로 변화하는 것, Hi-Z으로부터 로직 상태로 변화하는 것, 또는 다른 표현들로 표현될 수 있다. 추가적으로, 도 2a에 구체적으로 도시된 것보다 더 짧거나 더 긴 기간 동안 ACKNOWLEDGE가 메모리에 의해 제공될 수 있다. 버스 턴어라운드 시간 tBT가 시간 T4와 T5 사이의 ACKNOWLEDGE에 후속할 수 있다. tBT는, 메모리가 ACKNOWLEDGE를 제공하는 것과 기록 데이터를 수신하는 것 사이에서 버스 경합을 회피하기 위해 제공될 수 있다. tBT에 후속하는 시간 T6에 기록 데이터가 메모리에 의해 수신된다.
tBT는, ACKNOWLEDGE에 대해 측정된 특정 수의 클럭 사이클들 tCK일 수 있다. 도 2a의 예에서, tBT는, ACKNOWLEDGE 이후 제 1 상승 엣지로부터 측정된 1 tCK로 도시되어 있다. 몇몇 실시예들에서, tBT는, 예를 들어, tBT 세팅을 포함하는 레지스터를 프로그래밍함으로써 프로그래밍가능할 수 있다. tBT는 다양한 구성가능한 시간들 또는 가변적 시간으로 프로그래밍가능할 수 있다. tBT가 구성가능한 시간으로 프로그래밍되는 경우, 클럭 사이클들의 몇몇 선택들 중 하나는, ACKNOWLEDGE에 대해 측정된 1 tCK, 2 tCK 또는 3 tCK의 tBT와 같이 선택될 수 있다. tBT가 1 tCK의 구성가능한 시간으로 프로그래밍되는 예에서, 도 2a는 또한 결과적 tBT를 도시한다. 2 tCK의 구성가능한 tBT의 경우, T5와 T6 사이의 시간은 1개의 클럭 사이클 더 길 것이고, 3 tCK의 구성가능한 tBT의 경우, T5와 T6 사이의 시간은 2개의 클럭 사이클 더 길 것이다.
가변 tBT는 ACKNOWLEDGE에 대해 가변적인 시간에 메모리에 의해 수신될 기록 데이터를 제공한다. 도 2b는, 본 발명의 실시예에 따른, 가변 tBT를 갖는 기록 동작에 대한 타이밍을 도시한다. 도 2a에서와 같이, 메모리는 신호 S/를 선택하고, 모드 신호들 MODE는 시간 T0 이전에 액티브이다. 시간 T0에서, 기록 명령이 메모리에 의해 수신되고, 시간 T1에서 어드레스가 수신된다. tLAT 기간이 T2에 후속하고, tLAT 기간은, 이전에 논의된 바와 같이, 가변적일 수 있고, ACKNOWLEDGE로 종료가 표시된다. 버스 턴어라운드 기간은 DQ1-DQ3에 대해 시간 T2와 T3 사이에 Hi-Z 상태로서 도시된다. 메모리는 DQ0 상에서 로직 "0"을 수신한다. DQ0은, 아래에서 더 상세히 설명될 바와 같이, 가변 tBT의 종료를 나타내기 위해 이용된다. 시간 T3에서, 메모리는 DQ1 상에서 로직 "0"을 제공하고, DQ1은, tLAT 기간의 종료를 나타내는 ACKNOWLEDGE를 제공하기 위해 이용되고, DQ2 및 DQ3은 “don't care”이다. "0"으로부터 "1"로 로직 상태를 변경함으로써 표현되는 바와 같이, DQ1 상에서 시간 T4와 T5 사이에 메모리에 의해 ACKNOWLEDGE가 제공된다. 가변 tBT가 ACKNOWLEDGE에 후속한다.
도 2b에서, 입력/출력 DQ0은, 가변 tBT의 종료를 나타내는 tBT 종료 표시자(BT)를 수신하기 위해 메모리에 의해 이용될 수 있다. 도 2b의 실시예에서, tBT 종료 표시자는 시간 T6에서 DQ0 상에서 메모리에 의해 수신되고, T7에서 메모리에 의해 수신되는 기록 데이터에 선행한다. DQ1 내지 DQ3은 “don't care”이다. tBT 종료 표시자는 가변 tBT의 종료를 그리고 기록 데이터가 후속할 것이라는 것을 메모리에 통지한다. 이러한 방식으로, tBT의 길이는, tBT 종료 표시자에 대해 별개의 전용 신호 라인을 이용함이 없이, 그리고 구성가능한 tBT(예를 들어, 1 tCK, 2 tCK, 3 tCK 등)를 갖기 보다는 호스트에 의해 (BT로 표시된 종료로) 결정될 수 있다. 다른 실시예들에서, tBT 종료 표시자는 상이한 DQ 상에서 또는 하나보다 많은 DQ 상에서 제공될 수 있다. 추가적으로, tBT 종료 표시자는 도 2b에 도시된 것보다 더 길거나 더 짧을 수 있다.
이전에 설명된 바와 같이, tLAT 기간 동안 메모리는 메모리 동작들을 관리할 수 있다. 예를 들어, tLAT 기간 동안 메모리는, 기록 동작을 수행하기 위해 메모리 회로들을 준비하는 것, 기록 동작을 수행하는 것을 시작하기 위해 진행 중인 동작을 보류하는 것과 같이 기록 동작을 위해 준비될 수 있거나, 다른 메모리 동작들을 관리할 수 있다. 메모리는 또한, 예를 들어, 기록 명령에 대한 기록 동작을 수행하기 전에, tLAT 기간 동안 진행 중인 동작을 완료할 수 있다. tLAT 기간은 소정 시간 범위에 걸쳐 변할 수 있다. 몇몇 실시예들들에서, tLAT 기간에 대한 시간은, 비교적 짧은 시간으로부터 비교적 긴 시간까지의 범위에 걸쳐 특징화될 수 있고, ACKNOWLEDGE는 tLAT 기간의 종료를 나타낸다.
본 발명은 도 2a 및 도 2b를 참조하여 설명된 특정한 실시예들로 제한되지 않음이 인식될 것이다. 예를 들어, 본 발명의 실시예에서, 기록 명령은 8-비트(1 바이트)이고, 어드레스는 복수의 클럭 사이클들에 걸쳐 수신된 24-비트(3 바이트)이다. 그러나, 상이한 길이들의 명령들 및 어드레스들이 또한 이용될 수 있고, 도 2a 및 도 2b에 도시된 것과는 다른 다수의 클럭 사이클들에 걸쳐 수신될 수 있다. 추가적으로, 명령 및 어드레스가 메모리에 의해 수신되는 순서는 본 발명의 범주를 벗어남이 없이 상이할 수 있다. 도 2a 및 도 2b는, 입력/출력 DQ0-DQ3이 명령들, 어드레스들 및 데이터에 대해 공유되는 실시예들을 도시한다. 그러나, 몇몇 실시예들에서, 메모리 명령들은 전용 입력 상에서 수신될 수 있고, 어드레스들 및 데이터는 다른 입력/출력을 공유한다. 몇몇 실시예들에서, 메모리 명령들 및 어드레스들은 공유된 입력 상에서 수신될 수 있고, 데이터는 전용 입력/출력들 상에서 수신/제공된다. 도 2a 및 도 2b에서 ACKNOWLEDGE는 2개의 클럭 사이클들에 걸쳐 제공되는 것으로 도시되지만, 다른 실시예들에서 ACKNOWLEDGE는 상이한 수의 클럭 사이클들에 걸쳐 제공될 수 있다. 기록 데이터가 수신될 수 있는 시간은 ACKNOWLEDGE 이후의 특정 수의 클럭 사이클들에 후속할 수 있거나, 또는 몇몇 실시예들에서, 기록 데이터는, 예를 들어, 이전에 논의된 바와 같이, 구성가능한 또는 가변적 버스 턴어라운드 시간 이후 ACKNOWLEDGE에 후속하는 시간에 수신될 수 있다.
버퍼는 몇몇 실시예들에서 메모리(예를 들어, 도 1의 메모리(100))에 포함될 수 있고, 충분한 수의 기록 명령들/데이터가 누적될 때까지 기록 데이터 및 대응하는 기록 명령들을 저장하기 위해 이용될 수 있고, 충분한 수의 기록 명령들/데이터가 누적될 때, 버퍼링된 기록 명령들에 대한 기록 동작들이 수행된다. 결과적으로, 몇몇 기록 명령들은, 비교적 짧은 tLAT 기간들(버퍼링된 기간들)을 갖고 그리고 그 후, 하나의 기록 명령은 비교적 짧은 tLAT 기간보다 더 긴 tLAT 기간을 가질 수 있다. 버퍼링된 기록 명령들에 대한 기록 동작들은 더 긴 tLAT 기간 동안 수행된다. 캐시된 데이터 코히어런시(coherency)를 유지하기 위한 것과 같이, 버퍼링된 기록 데이터가 판독될 예정이면, 버퍼링된 기록 데이터가 판독 동작을 위해 액세스가능하도록 버퍼는 액세스가능할 수 있다.
본 발명의 실시예에 따른 판독 명령들은 판독 동작을 수행하기 위해 메모리에 의해 수신된다. 일반적으로, 이러한 실시예들에서, 판독 명령 및 메모리 어드레스가 메모리에 의해 수신되고, 가변 레이턴시 기간이 명령 및 어드레스의 수신에 후속한다. 레이턴시 기간의 종료는 메모리에 의해 제공되는 확인응답 ACKNOWLEDGE로 표시되고, 그 후, 판독 명령에 대한 판독 데이터가 메모리에 의해 제공된다. 아래에서 더 상세히 설명될 바와 같이, 몇몇 실시예들에서, tLAT 기간에 대한 최대 시간은, 예를 들어, 최대 tLAT에 대한 값을 포함하는 레지스터를 프로그래밍함으로써 정의될 수 있다. 도 3은 본 발명의 실시예에 따른 판독 동작의 타이밍을 도시한다.
시간 T0 전에, 메모리 선택 신호 S/(액티브 로우) 및 모드 신호들 MODE는 액티브가 되어, 메모리를 액티브가 되게 된다. 시간 T0과 T1 사이에 판독 명령이 메모리에 의해 수신된다. 시간 T1과 T2 사이에, 판독 명령에 대한 위치에 대응하는 어드레스가 수신된다. 레이턴시 기간 tLAT가 시간 T2에 후속한다. tLAT 기간은 가변적일 수 있고, tLAT 기간의 종료는 메모리에 의해 제공되는 확인응답 ACKNOWLEDGE로 표시되고, 그 후, 판독 데이터가 메모리에 의해 제공될 수 있다. 버스 턴어라운드 기간은 Hi-Z 상태로서 DQ0-DQ3에 대해 시간 T2와 T3 사이에 도시되어 있다. 시간 T3에서, 메모리는 DQ1 상에서 로직 "0"을 제공하고, DQ1은 tLAT 기간의 종료를 나타내는 ACKNOWLEDGE를 제공하기 위해 이용되며, DQ0, DQ2 및 DQ3은 “don't care”이다. "0"으로부터 "1"로 로직 상태를 변경시킴으로써 표현되는 바와 같이, ACKNOWLEDGE는 DQ1 상에서 시간 T4와 T5 사이에 메모리에 의해 제공된다. 시간 T5에서 판독 데이터가 메모리에 의해 제공된다.
이전에 설명된 바와 같이, tLAT 기간 동안 메모리는 메모리 동작들을 관리할 수 있다. 예를 들어, tLAT 기간 동안 메모리는, 판독 동작을 수행하기 위해 메모리 회로들을 준비하는 것, 판독 동작을 수행하는 것을 시작하기 위해 진행 중인 동작을 보류하는 것과 같이 판독 동작을 위해 준비될 수 있거나, 다른 메모리 동작들을 관리할 수 있다. 메모리는 또한, 예를 들어, 판독 명령에 대한 판독 동작을 수행하기 전에, tLAT 기간 동안 진행 중인 동작을 완료할 수 있다. tLAT 기간은 소정 시간 범위에 걸쳐 변할 수 있고, ACKNOWLEDGE는 tLAT 기간의 종료를 나타낸다.
본 발명은 도 3을 참조하여 설명된 특정한 실시예로 제한되지 않음이 인식될 것이다. 예를 들어, 본 발명의 실시예에서, 판독 명령은 8-비트(1 바이트)이고, 어드레스는 복수의 클럭 사이클들에 걸쳐 수신된 24-비트(3 바이트)이다. 그러나, 상이한 길이들의 명령들 및 어드레스들이 또한 이용될 수 있고, 도 3에 도시된 것과는 다른 다수의 클럭 사이클들에 걸쳐 수신될 수 있다. 추가적으로, 명령 및 어드레스가 메모리에 의해 수신되는 순서는 본 발명의 범주를 벗어남이 없이 상이할 수 있다. 도 3은, 입력/출력들 DQ0-DQ3이 명령들, 어드레스들 및 데이터에 대해 공유되는 실시예들을 도시한다. 그러나, 몇몇 실시예들에서, 메모리 명령들은 전용 입력 상에서 수신될 수 있고, 어드레스들 및 데이터는 다른 입력/출력을 공유한다. 몇몇 실시예들에서, 메모리 명령들 및 어드레스들은 공유된 입력 상에서 수신될 수 있고, 데이터는 전용 입력/출력들 상에서 수신/제공된다. 도 3에서 ACKNOWLEDGE는 2개의 클럭 사이클들에 걸쳐 제공되는 것으로 도시되지만, 다른 실시예들에서 ACKNOWLEDGE는 상이한 수의 클럭 사이클들에 걸쳐 제공될 수 있다.
이전에 설명된 바와 같이, tLAT 기간 동안, 메모리는 메모리 동작들을 관리할 수 있다. tLAT 기간에 대한 시간은, 메모리가 메모리 동작들을 관리하는 방식에 의해 영향받을 수 있다. 이전에 설명된 바와 같이, ACKNOWLEDGE는 tLAT 기간의 종료를 나타내기 위해 메모리에 의해 제공되고, 그 후, 데이터가 교환된다(예를 들어, 기록 동작을 위해 기록 데이터가 메모리에 제공되고 판독 동작을 위해 판독 데이터가 메모리에 의해 제공된다). 도 2a, 도 2b 및 도 3을 참조하여 예시된 실시예들에서, tLAT 기간의 종료는 ACKNOWLEDGE의 시작과 일치한다. 다른 실시예들에서, tLAT 기간의 종료는 ACKNOWLEDGE를 포함할 수 있고 ACKNOWLEDGE와 동시에 종료될 수 있거나, ACKNOWLEDGE 이후 몇 클럭 사이클들까지 연장될 수 있지만 데이터가 메모리와 교환되기 전에 종료될 수 있다.
몇몇 실시예들에서, ACKNOWLEDGE는, tLAT 기간이 진행 중인 것 또는 종료된 것을 호스트에 통지하기 위해 이용될 수 있다. 예를 들어, 이전에 설명된 바와 같이, 메모리는, tLAT 기간이 진행 중인지 또는 종료되었는지를 나타내는 로직 상태를 갖고, tLAT 기간이 종료되는 시간에 하나의 로직 상태로부터 다른 로직 상태로 전이하는 신호를 DQ 상에서 (예를 들어, tLAT 기간의 종료를 나타내는 ACKNOWLEDGE의 일부로서) 제공할 수 있다. tLAT 기간이 진행 중인 동안, 다른 DQ들 상의 신호들은 “don't care”일 수 있고 그리고/또는 호스트로부터 신호를 수신하기 위해 적어도 하나의 DQ가 이용된다.
몇몇 실시예들에서, 정보는, 예를 들어, 메모리 명령에 대한 동작과 관련된 tLAT 기간 동안 메모리에 의해 제공될 수 있다. 이전에 논의된 바와 같이, 메모리는 tLAT 기간에 대한 시간과 관련된 정보를 제공할 수 있고, tLAT 기간의 나머지 시간과 관련된 tLAT 기간 동안 업데이트된 정보를 추가로 제공할 수 있다. 제공될 수 있는 예시적인 정보는, tLAT가 얼마나 더 길 수 있는지와 관련된 대기 상태를 포함한다. 정보는 하나 이상의 신호들로 표현될 수 있고, 신호들의 로직 상태들의 조합은 tLAT 동안 전달되는 정보를 나타낸다. 예를 들어, 제1 신호(예를 들어, 제 1 DQ 신호)는, tLAT 기간이 진행 중인지 또는 종료되었는지를 나타내는 로직 상태를 가져서, tLAT 기간이 종료되는 시간에 하나의 로직 상태로부터 다른 로직 상태로 (예를 들어, tLAT 기간의 종료를 나타내는 ACKNOWLEDGE의 일부로서) 전이할 수 있다. tLAT 기간이 진행 중인 동안, 제 2 및 제 3 신호(예를 들어, 제 2 및 제 3 DQ 신호들)는, 대기 상태를 나타내는 로직 상태들의 조합을 가질 수 있다.
도 4a는, 입력/출력들 DQ2 및 DQ3 상에서 메모리에 의해 제공되는 대기 상태들의 테이블을 도시한다. 대기 상태들 각각은 DQ2-DQ3 상에서 제공되는 각각의 로직 조합으로 표시된다. 예를 들어, "정규의" 대기 상태는, DQ2-DQ3 상에서 제공되는 "10" 조합으로 표시되고, "짧은" 및 "긴" 대기 상태들은, 각각 DQ2-DQ3 상에서 "00" 및 "01" 조합들을 제공함으로써 표시된다. 몇몇 실시예들에서, 이전에 논의된 바와 같이, 메모리는, tLAT 기간이 진행 중인지(예를 들어, DQ1 = "0") 또는 종료되는지(예를 들어, DQ1 = "1")를 나타내는 ACKNOWLEDGE를 제공하기 위해 DQ1을 이용할 수 있다. 로직 "0"은 tLAT 기간 동안 DQ1 상에서 메모리에 의해 제공될 수 있고, 메모리는 tLAT 기간의 종료를 나타내기 위해 DQ1 상에서 로직 "1"을 제공한다. DQ1 상에서의 로직 상태들의 변경은, tLAT 기간의 종료를 나타내는 ACKNOWLEDGE의 일부로서 포함될 수 있다.
짧은, 정규의, 그리고 긴 대기 상태들은 상대적이고, 몇몇 실시예들에서는 시간 척도에 기초할 수 있다. 예를 들어, 정규의 그리고 긴 대기 상태들에 대한 척도로서 시간 증분이 이용될 수 있다. 예시적인 시간 증분은 20 us일 수 있다. 즉, tLAT 기간에 대한 나머지 시간이 시간 증분보다 크면(예를 들어, 20 us보다 크면), DQ2 및 DQ3 상에서 메모리에 의해 "01" 조합이 제공되어, 대기 상태가 긴 것을 나타낸다. tLAT 기간에 대한 나머지 시간이 시간 증분보다 작으면(예를 들어, 20 us보다 작으면), DQ2 및 DQ3 상에서 메모리에 의해 "10" 조합이 제공되어, 대기 상태가 정규인 것을 나타낸다. tLAT 기간에 대한 나머지 시간이, 정규의 그리고 긴 대기 상태들에 대한 척도로서 이용되는 시간 증분보다 더 짧은 다른 시간 증분보다 작은 경우, 메모리는 짧은 대기 상태를 나타내는 "00" 조합을 DQ2 및 DQ3 상에서 제공할 수 있다. 예를 들어, tLAT 기간에 대한 나머지 시간이 1 us보다 작은 경우 짧은 대기 상태가 제공될 수 있다. 본 발명의 범주를 벗어남이 없이, 이전에 설명된 것과는 다른 시간 증분들이 이용될 수 있다. 아울러, 대기 상태들 또는 다른 정보를 나타내기 위해 로직 상태들의 다른 조합들을 이용하는 것뿐만 아니라 tLAT 기간 동안 추가적인 또는 대안적인 대기 상태들 또는 다른 정보가 전달될 수 있다.
도 4b는, 본 발명의 실시예에 따른, tLAT 기간의 나머지 시간과 관련된 정보를 제공하는 메모리에 의한 메모리 동작의 일부에 대한 타이밍을 도시한다. 시간 T0까지, 메모리는 메모리 동작에 대한 메모리 명령(도 4b에는 미도시)을 수신하였고, 메모리 명령과 연관된 어드레스는 시간 T0과 T1 사이에 수신된다. 메모리가 어드레스를 수신하는 것과 tLAT 기간의 나머지 시간과 관련된 정보를 제공하는 것 사이의 버스 경합을 회피하기 위해, 시간 T1과 시간 T2 사이에 버스 턴어라운드 시간이 존재한다. 어드레스에 후속하는 버스 턴어라운드 시간은 도 4b에 2개의 tCK들 길이로서 도시되어 있지만, 버스 턴어라운드 시간은, 길이에서 구성가능하든 가변적이든 간에 또한 다른 시간들일 수 있다. 도 4b의 실시예에서, tLAT 기간의 나머지 시간과 관련된 정보는 DQ2 및 DQ3을 이용하여 메모리에 의해 제공된다. DQ2 및 DQ3 상에서 메모리에 의해 제공되는 로직 상태들의 조합은, 예를 들어, tLAT 기간의 나머지 시간이 "긴지", "정규인지" 또는 "짧은지"를 나타낸다. 메모리에 의해 제공되는 정보는 tLAT 기간에 걸쳐 업데이트될 수 있고, 그에 따라 DQ2 및 DQ3의 로직 상태들이 메모리에 의해 업데이트된다.
DQ0 및 DQ1의 로직 상태들은, tLAT 기간에 대한 나머지 시간과 관련된 정보를 제공하는 것과는 다른 것을 위해 tLAT 기간 동안 이용될 수 있다. DQ0 및 DQ1은 "0" 로직 상태들로 구동되는 것으로 도 4b에 도시되어 있다. 그러나, 본 발명의 범주를 벗어남이 없이, DQ0 및 DQ1은 다른 로직 상태들일 수 있다. 이전에 논의된 바와 같이, DQ0은 (가변 tBT에 대한) tBT 종료 표시자 BT를 수신하기 위해 tLAT 기간 동안 메모리에 의해 이용될 수 있고, DQ1은 로직 "0"으로부터 로직 "1"로 로직 상태를 변경함으로써(미도시) ACKNOWLEDGE를 제공하기 위해 메모리에 의해 이용될 수 있다. 다른 실시예들에서, 메모리는 DQ0 및 DQ1 중 어느 하나 또는 둘 모두 상에서 어떠한 정보도 제공하지 않고 그리고/또는 도 4b에 구체적으로 도시된 것과는 다른 로직 상태들을 제공한다.
이전에 논의된 바와 같이, ACKNOWLEDGE는 tLAT 기간의 종료를 나타내고, 본 발명의 몇몇 실시예들에서는 정보를 또한 포함할 수 있다. 예를 들어, ACKNOWLEDGE는 또한, 메모리 명령이 수락되는지 또는 거부되는지와 관련된 정보를 포함할 수 있다. 수락되면, 수락된 메모리 명령에 대한 메모리 동작이 수행될 것이다. 메모리 명령의 수락과 관련된 정보는, 명령이 수락되었지만 이전의 명령의 동작 동안 에러가 존재하는 것 또는 동작이 수락되었지만 하우스 키핑 동작(예를 들어, 웨어 레벨링(wear leveling), 리프레시 등)의 필요성으로 인해 경고가 존재하는 것과 같은 추가적인 적격성을 포함할 수 있다. 반대로, 거부되면, 거부된 메모리 명령에 대한 메모리 동작은 수행되지 않을 것이다. 메모리 명령은, 예를 들어, 메모리 내의 에러 조건으로 인해, 또는 메모리가 메모리 동작을 수행하는 것을 금지시키는 다른 원인들로 인해 거부될 수 있다.
ACKNOWLEDGE는 하나 이상의 신호들에 의해 표현될 수 있으며, 신호들의 로직 상태들의 조합은 ACKNOWLEDGE에 의해 전달되는 정보를 나타낸다. 예를 들어, 제1 신호(예를 들어, 제1 데이터 신호)는 tLAT 기간의 종료를 표현하기 위해 로직 상태들을 변경할 수 있고, 제1 신호가 로직 상태들을 변경한 때에 제2 및 제3 신호(예를 들어, 제2 및 제3 데이터 신호들)의 로직 상태들의 조합은, 메모리 명령의 수락 또는 거부와 같은 추가적인 정보를 나타낼 수 있다.
도 5는, 본 발명의 실시예에 따른 ACKNOWLEDGE에 의해 제공되는 정보의 테이블을 도시한다. 이 실시예에서 DQ1, DQ2 및 DQ3이 이용되고, DQ1-DQ3 상에서 메모리에 의해 제공되는 로직 상태들의 조합은 ACKNOWLEDGE 정보를 나타낸다. 도시된 바와 같이, ACKNOWLEDGE는 tLAT 기간의 종료를 나타낼 수 있고, 명령이 수락되었는지, 적격성으로 수락되었는지, 또는 에러로 인해 거부되었는지와 관련된 정보를 더 포함할 수 있다.
본 발명의 범주를 벗어남이 없이, 추가적인 또는 대안적인 정보가 ACKNOWLEDGE에 포함될 수 있을 뿐만 아니라 정보를 나타내기 위한 로직 상태들의 다른 조합들을 이용할 수 있다.
가변 레이턴시 기간에 대한 시간은 다양한 팩터들에 기초할 수 있다. 예를 들어, 가변 레이턴시 기간에 대한 시간은 현재의 메모리 동작에 적어도 부분적으로 기초할 수 있다. 가변 레이턴시 기간에 대한 시간은 수신된 메모리 명령에 적어도 부분적으로 추가로 기초할 수 있다. 예를 들어, 메모리 명령이 수신될 때 메모리가 유휴(idle)인 경우, 메모리는 가능한 한 빨리 메모리 동작을 수행하는 것을 시작하여, 비교적 짧은 tLAT 기간을 초래할 수 있다. 예를 들어, 메모리가 유휴일 때 판독 명령 또는 기록 명령의 수신은, 메모리가 메모리 동작을 수행하는 것 및 비교적 짧은 시간에 동작을 시작하는 것을 초래하여, 그에 따라, tLAT 기간은 비교적 짧을 수 있고, 판독 또는 기록 명령이 각각 수신된 후 비교적 신속하게 판독 데이터가 메모리에 의해 제공될 수 있거나 기록 데이터가 메모리에 제공될 수 있다.
반대로, 메모리 명령이 수신될 때 메모리 동작이 진행 중이면, 메모리는 그 수신된 메모리 명령에 대한 메모리 동작의 수행을 시작하기 전에, 진행 중인 동작을 완료할 수 있다. 결과적으로, tLAT 기간은 비교적 짧은 tLAT 기간보다 더 길 수 있고, 진행 중인 동작을 완료하는데 필요한 시간으로 인해 비교적 긴 tLAT 기간이 될 수 있다. 예를 들어, 메모리에 의해 판독 명령이 수신될 때 기록 동작이 진행 중일 수 있다. 메모리는, 판독 명령에 대한 동작을 시작하기 전에 기록 동작을 완료할 수 있고, 따라서, 판독 명령에 대한 tLAT 기간은 비교적 짧은 tLAT 기간보다 더 길 수 있다. 하나보다 많은 기록 명령이 수행되고 있는 경우(예를 들어, 버퍼링된 기록 명령들을 수행하고 있는 경우), 판독 명령에 대한 tLAT 기간은 비교적 길 수 있다.
몇몇 실시예들에서, 메모리는, 수신된 메모리 명령에 대한 동작을 수행하는 것을 시작하기 위해 진행 중인 동작을 보류할 수 있다. 보류되는 동작이 완료되기를 대기할 필요없이, 수신된 메모리 명령에 대한 메모리 동작이 완료될 수 있다. 결과적으로, 수신된 메모리 명령에 대한 tLAT 기간은 비교적 긴 tLAT 기간보다 더 짧고, 비교적 짧은 tLAT 기간일 수 있다. 수신된 명령에 대한 동작이 완료되는 경우, 메모리는 보류된 동작을 수행하는 것을 재개할 수 있다. 예를 들어, 메모리에 의해 판독 명령이 수신될 때 기록 명령에 대한 동작이 진행 중일 수 있다. 메모리는 기록 명령에 대한 동작을 보류할 수 있고, 수신된 판독 명령에 대한 동작을 수행하는 것을 시작할 수 있다. 판독 명령에 대한 동작을 시작하기 전에 기록 명령에 대한 동작이 완료되기를 대기하지 않음으로써, 판독 명령에 대한 tLAT는 비교적 긴 tLAT 기간일 것이다.
수신된 메모리 명령의 수행 동안 추가적인 메모리 명령들이 수신되면, 또는 몇몇 실시예들에서, 홀드-오프 기간 tHOLDOFF 내에서 추가적인 메모리 명령들이 수신되면, 메모리는 진행 중이었던 동작을 보류하는 것을 계속할 수 있다. 몇몇 실시예들에서, tHOLDOFF 기간은 추가적인 메모리 명령의 완료로부터 측정된다. 몇몇 실시예들에서, tHOLDOFF 기간은, 예를 들어, 추가적인 메모리 명령들의 수신 또는 추가적인 메모리 명령과 관련된 다른 이벤트로부터 측정된다. tHOLDOFF 기간 내에서 메모리 명령의 수신은 메모리 동작의 완료 시에 tHOLDOFF 기간을 재시작시켜서, 새로운 tHOLDOFF 기간에 수신된 다른 메모리 명령들은 보류된 동작의 보류를 초래하는 것을 계속할 것이다. tHOLDOFF 기간은, tHOLDOFF 기간 내에서 수신된 추가적인 메모리 명령들이, 보류된 동작을 미리 재개함이 없이 수행되도록 허용하고, 결과적으로, 추가적인 메모리 명령들은, 비교적 짧은 tLAT 기간일 수 있는 tLAT 기간을 가질 수 있다. tHOLDOFF 기간은 또한, 웨어 레벨링, 메모리 내의 데이터의 단편화된 블록들을 통합하는 것, 디바이스 평가 및 조정을 수행하는 것과 같은 메모리 내의 배경 동작들뿐만 아니라 다른 배경 동작들을 시작하는 것을 지연시키기 위해 이용될 수 있다. 즉, 임의의 추가적인 메모리 명령들에 대한 비교적 긴 tLAT 기간을 회피하기 위해, tHOLDOFF 기간이 종료되는 이후까지 배경 동작들은 시작되지 않는다.
예를 들어, 이전의 예에서와 같이, 판독 명령에 대한 동작을 수행하는 것을 시작하기 위해 진행 중인 기록 동작은 보류되었다. tHOLDOFF 기간(즉, 제 1 tHOLDOFF 기간)은, 판독 명령의 완료에 후속하여 시작할 수 있고, 그 동안 추가적인 판독 명령이 수신된다. 결과적으로, 보류된 기록 동작은 보류되어 유지되고, 추가적인 판독 명령에 대한 판독 동작이 시작한다. 기록 동작의 계속된 보류로 인해 추가적인 판독 명령에 대한 tLAT 기간은 비교적 짧은 tLAT 기간일 수 있다. 추가적인 판독 명령의 완료 시에, 다른 tHOLDOFF 기간(즉, 제 2 tHOLDOFF 기간)이 시작하고, 그 동안 다른 추가적인 판독 명령들의 수신은 기록 동작이 추가로 보류되게 할 것이다. 또한 추가적인 판독 명령들은, 비교적 짧은 tLAT 기간일 수 있는 tLAT 기간을 또한 가질 수 있다. 그러나, 제 2 tHOLDOFF 기간 동안 어떠한 다른 판독 명령들도 수신되지 않을 때, 보류된 기록 동작은 재개되고 완료될 수 있다.
몇몇 실시예들에서, 특정한 타입 또는 타입들의 메모리 명령들의 수신은 보류된 메모리 동작이 재개되는 것을 초래할 것이다. 예를 들어, 판독 명령의 수신 시에 기록 동작이 보류된다고 다시 가정한다. 명령에 대한 판독 동작이 시작하고 완료되며, 이 때 tHOLDOFF 기간이 시작한다. 이전에 설명된 바와 같이, tHOLDOFF 기간 동안 판독 명령의 수신은 보류된 기록 동작이 보류되어 유지되게 할 수 있다. 그러나, tHOLDOFF 기간 동안 기록 명령이 수신되면, 이러한 타입의 메모리 명령은 보류된 기록 동작이 즉시 재개되어 완료되게 할 수 있다. 새로운 기록 명령에 대한 기록 동작은 이전에 보류된 기록 동작의 완료에 후속하여 수행될 수 있거나, 또는 몇몇 실시예들에서는, 예를 들어, 새로운 기록 명령이 수신된 후이지만 재개된 기록 동작의 완료 이전에 판독 명령의 수신으로 인해, 추후에 수행되도록 큐잉(queue)될 수 있다.
보류된 메모리 동작의 맥락에서 이전에 설명되었지만, tHOLDOFF 기간은 보류된 어떠한 메모리 동작들도 없는 경우에도 이용가능할 수 있다. 즉, tHOLDOFF 기간은 메모리 동작, 예를 들어, 판독 명령에 대한 메모리 동작의 완료에 후속할 수 있고, 그 시간 동안 어떠한 다른 메모리 동작들도 개시되지 않는다. tHOLDOFF 기간 동안 수신된 명령에 대한 메모리 동작은, 결과적으로, 어떠한 다른 메모리 동작들도 진행 중이 아니면 비교적 짧은 tLAT를 가질 수 있다. 몇몇 실시예에서, tHOLDOFF 기간 동안 기록 명령들의 수신은 tHOLDOFF 기간이 즉시 만료되고 재시작되지 않게 할 수 있다. tHOLDOFF 기간은 보류된 동작들과 함께 또는 어떠한 다른 메모리 동작들도 계류 중이 아닌 경우에 이용될 수 있어서, 메모리가 tHOLDOFF 기간 동안 수신된 명령에 대한 메모리 동작을 수행하기 위한 준비상태로 남도록 허용하여 비교적 짧은 tLAT 기간들을 초래할 수 있다.
tLAT에 대한 최대 시간 및 tHOLDOFF 기간에 대한 시간은 본 발명의 몇몇 실시예들에서 프로그래밍가능할 수 있다. 예를 들어, 최대 tLAT를 나타내는 값들을 저장하고 tHOLDOFF 기간에 대한 시간을 나타내는 값들을 저장하기 위해 이용되는 레지스터(예를 들어, 도 1의 레지스터(160))가 메모리에 포함될 수 있다. tLAT에 대한 최대 시간은 메모리 동작에 대한 최대 tLAT 시간을 설정할 수 있고, 예를 들어, 진행중인 현재의 메모리 동작을 보류할지 또는 메모리 동작으로 전환하기 전에 현재의 메모리 동작이 완료되도록 허용할지를 결정하기 위해 메모리에 의해 이용될 수 있다. 몇몇 실시예들에서, 판독 및 기록 동작들에 대해 별개의 최대 tLAT들이 설정될 수 있다. 몇몇 실시예들에서, 최대 tLAT 값 및/또는 tHOLDOFF 기간은 호스트에 의해 프로그래밍가능할 수 있고, 예를 들어, 마이크로코드의 효율적인 실행을 용이하게 하는 것에 기초할 수 있다. tLAT에 대해 프로그래밍된 값은 몇몇 실시예들에서 몇몇 미리 정의된 최대값들 중 하나를 식별할 수 있다. 몇몇 실시예들에서, tLAT 기간 동안 수행될 수 있는 동작들의 최대 수를 나타내어, 최대 tLAT 기간을 설정하는 값이 레지스터에 저장될 수 있다.
도 6은, 메모리의 예시적인 동작을 도시하기 위한 실시예에 따른 판독 및 기록 명령들의 시퀀스를 도시한다.
시간 T0에서, 기록 명령(604) 및 어드레스(606)가 메모리에 의해 수신된다. 시간 T0 이전에 메모리가 유휴였다고 가정하면, 기록 명령(604)에 대한 기록 동작은 비교적 짧은 tLAT(608)를 가질 것이다. 이전에 설명된 바와 같이, 예를 들어, 비교적 짧은 tLAT 기간을 제공하기 위해, 명령들, 어드레스 및 기록 데이터를 저장하기 위한 버퍼가 이용될 수 있다. 결과적으로, 기록 명령(604)에 대한 기록 데이터(612)는, 시간 T0에서 기록 명령(604)이 수신된 후 비교적 직후인 시간 T1에 수신될 수 있다. 시간 T1에서 기록 데이터(612)의 수신에 후속하여, 기록 동작에 대해 내부 메모리 동작들이 수행된다. 도 6의 예에서 도시된 바와 같이, 시간 T2에서, 판독 명령(616) 및 어드레스(618)가 메모리에 의해 수신된다. 시간 T0의 기록 명령(604)에 대한 기록 동작이 판독 동작을 수행하기 전에 완료 또는 보류되는 것으로 가정하면, 판독 명령(616)에 대한 판독 동작은 비교적 긴 tLAT(620)를 가질 것이다. tLAT(620)에 후속하여, 시간 T3에서 판독 명령(616)에 대한 판독 데이터(624)가 메모리에 의해 이용가능하게 된다. tHOLDOFF 기간(626)은 판독 데이터(624)의 제공에 후속하여 시간 T4에서 시작한다. 시간 T4는 판독 명령(616)에 대한 판독 동작의 완료를 표현할 수 있다. 시간 T5에서, 판독 명령(628) 및 어드레스(630)가 메모리에 의해 수신된다. 도 6에 도시된 바와 같이, 판독 명령(628)은 tHOLDOFF 기간(626) 내에서 수신된다. 따라서, 판독 명령(628)에 대한 판독 동작은 즉시 시작할 수 있고, 비교적 짧은 tLAT(632)를 가질 것이다. tLAT(632)에 후속하는 시간 T6에 그리고 시간 T7까지 메모리에 의해 판독 데이터(636)가 제공되고, 시간 T7은 판독 명령(628)에 대한 판독 동작의 종료를 표현한다.
비교하면, tLAT(632)는 tLAT(620)보다 짧다. 이전에 설명된 바와 같이, tLAT(620)는, 판독 명령(616)에 대한 판독 동작을 수행하기 전에 기록 명령(604)에 대한 기록 동작이 완료되거나 보류되기를 대기하는 것으로부터 도출되었을 수 있다. 반대로, 판독 명령(628)에 대한 판독 동작의 tLAT(632)는 더 짧은데, 이는, 메모리가 다른 메모리 동작들로 전환하기 전에 tHOLDOFF 기간(626)을 대기했기 때문이다. 따라서, 메모리는, 시간 T5에 tHOLDOFF 기간(626) 내에서 판독 명령(628)이 수신되었을 때 판독 명령(628)에 대한 판독 동작을 수행하는 것을 시작할 수 있었다. 도 6에는 도시되지 않았지만, 후속적으로 수신된 판독 동작들에 대한 판독 동작들은 또한 판독 명령이 tHOLDOFF 기간 내에 수신된다면 비교적 짧은 tLAT들을 가질 것이다.
도 6에 의해 도시된 바와 같이, 초기에 수신된 기록 명령에 대한 기록 동작은, 시간 T2에서 수신된 판독 명령(616)에 대한 판독 동작을 개시하기 전에 완료되거나 보류된다. 결과적으로, 판독 명령(616)에 대한 tLAT는 비교적 길어서, 기록 동작이 완료되거나 보류되도록 허용할 것이다. 그러나, 시간 T5에 수신된 판독 명령(628)에 대한 판독 동작은, tHOLDOFF 기간(626) 내에 판독 명령을 수신한 것으로 인해 비교적 짧은 tLAT를 갖는다. 이전에 논의된 바와 같이, tHOLDOFF 기간(626) 동안 수신된 명령들에 대한 메모리 동작들은 비교적 짧은 tLAT를 가질 수 있는데, 이는, 메모리가 tHOLDOFF 기간 동안 유휴로 유지되고 그 후 메모리가 보류된 메모리 동작을 재개할 수 있기 때문이다. 따라서, tHOLDOFF 기간(626) 동안 수신된 명령에 대한 동작은, 다른 메모리 동작이 완료되거나 보류되기를 대기함이 없이 수행될 수 있고, 결과적으로 비교적 짧은 tLAT를 가질 수 있다.
도 7은, 메모리의 예시적인 동작을 도시하는 실시예에 따른 판독 및 기록 명령들의 시퀀스를 도시한다.
시간 T0에서, 기록 명령(704) 및 어드레스(706)가 메모리에 의해 수신된다. 시간 T0 이전에 메모리가 유휴였다고 가정하면, 기록 명령(704)에 대한 기록 동작은 비교적 짧은 tLAT(708)를 가질 것이다. 결과적으로, 기록 명령(704)에 대한 기록 데이터(712)는, 시간 T0에서 기록 명령(704)이 수신된 후 비교적 직후인 시간 T1에 수신될 수 있다. 시간 T1에서 기록 데이터(712)의 수신에 후속하여, 기록 동작을 수행하기 위해 내부 메모리 동작들이 발생한다. 내부 메모리 동작들은 기록 데이터(712)를 기록 데이터 버퍼에 기록하는 것을 포함할 수 있고, 기록 데이터는 메모리에 기록되기 전에 기록 데이터 버퍼에 저장될 수 있다. 이전에 논의된 바와 같이, 기록 데이터 버퍼의 이용은, 기록 동작이 비교적 신속하게 완료되도록 허용할 수 있는데, 이는, 기록 데이터 버퍼에 기록 데이터를 기록하는 것이 메모리에 기록 데이터를 기록하는 것보다 더 적은 시간을 소요할 수 있기 때문이다. 그러나, 추후의 시간에, 기록 데이터 버퍼에 누적된 기록 데이터는 메모리로 기록될 것이고, 이것은 비교적 긴 시간이 소요될 수 있고, 비교적 긴 tLAT를 갖는 후속적으로 수신된 명령에 대한 메모리 동작을 초래할 수 있다. 그러나, 도 7의 예에서, tLAT(708)는 비교적 짧은 것으로 도시된다.
도 7의 예에 도시된 바와 같이, 시간 T2에서, 판독 명령(716) 및 어드레스(718)가 메모리에 의해 수신된다. 판독 명령(716)에 대한 판독 동작은 비교적 짧은 tLAT(720)로 도 7에 도시되어 있다. tLAT(720)는, 기록 명령(704)에 대한 기록 동작이 시간 T2까지 완료될 수 있으면 비교적 짧을 수 있다. tLAT(720)에 후속하여, 시간 T3으로부터 T4까지 판독 명령(716)에 대한 판독 데이터(724)가 메모리에 의해 이용가능하게 된다. tHOLDOFF 기간(726)은, 판독 동작의 완료 이후 시간 T4에서 시작한다. 이전에 논의된 바와 같이, tHOLDOFF 기간 동안 메모리는 어떠한 메모리 동작들도 개시하거나 재개하지 않는다.
시간 T5에서, 기록 명령(728) 및 어드레스(730)가 메모리에 의해 수신된다. 판독 명령(716)에 대한 판독 동작이 시간 T4까지 완료되고 tHOLDOFF 기간(726)이 여전히 경과하면서, 기록 명령(728)에 대한 기록 동작은, tHOLDOFF 기간이 비교적 짧은 tLAT(732)에 만료되게 함으로써 즉시 시작할 수 있다. 그 후, 기록 데이터(736)는 시간 T6에서 메모리에 의해 수신될 수 있다. 시간 T7에서, 기록 데이터(736)의 수신이 완료된다. 도 7의 예에서, tLAT(732)는 비교적 짧지만, 기록 명령(728)에 대한 기록 동작은, 기록 데이터 버퍼에 누적된 기록 데이터를 메모리 어레이에 기록하기 위한 내부 메모리 동작들을 시작할 수 있다. 예를 들어, 몇몇 실시예들에서, tHOLDOFF 기간 동안 수신된 기록 명령은 기록 동작이 시작하게 할 수 있거나, 또는 이전의 메모리 동작이 보류된 때, 보류된 동작이 재개하게 할 수 있다. 결과적으로, 후속적으로 수신된 메모리 명령에 대한 기록 동작은 비교적 짧은 tLAT(732)보다 긴 tLAT를 가질 수 있다. 예를 들어, 시간 T8에서, 기록 명령(740) 및 어드레스(742)가 메모리에 의해 수신된다. 기록 명령(728)에 대한 기록 데이터의 수신은 시간 T8에서 기록 명령(740)의 수신에 의해 완료되지만, 기록 명령(740)에 대한 기록 동작은, 비교적 짧은 tLAT(732)보다 긴 tLAT(744)를 갖는 것으로 도 7에 도시되어 있다. 더 긴 tLAT(744)는, 내부 메모리 동작들이 이전의 기록 명령들(예를 들어, 기록 명령들(704 및 728))에 대해 수행되는 것으로부터 도출될 수 있다. 즉, 이전에 논의된 바와 같이, 기록 명령들(704 및 728)에 대한 기록 동작들은 비교적 짧은 tLAT들(708 및 732)을 가질 수 있지만, 기록 명령(728)에 대한 기록 동작은 버퍼링된 기록 데이터를 메모리 어레이에 기록하는 것을 포함할 수 있다. 기록 명령(728)에 대한 기록 동작은, 메모리에 의해 기록 명령(740)이 수신되는 시간 T8까지 완료되지 않아서, 더 긴 tLAT(744)를 초래할 수 있다. 더 긴 tLAT(744)에 후속하여, 기록 명령(740)에 대한 기록 데이터는 시간 T9와 T10 사이에 메모리에 의해 수신된다.
도 7에 의해 도시된 바와 같이, 초기에 수신된 기록 명령(704)에 대한 기록 동작은 짧은 tLAT(708)를 갖는다. 기록 동작은 또한, 시간 T2에서 수신된 판독 명령(716)을 수신하기 전에, 예를 들어, 기록 데이터 버퍼의 이용을 통해 비교적 짧은 시간에 완료된다. 결과적으로, 판독 명령(716)에 대한 tLAT(720)는 비교적 짧을 것이다. 시간 T5에 수신된 기록 명령(728)에 대한 기록 동작은 또한 비교적 짧은 tLAT(732)를 갖는다. 비교적 짧은 tLAT는, 재개되고 완료될 필요가 있는 어떠한 보류된 동작들도 존재하지 않는다는 사실에 기인할 수 있는데, 예를 들어, 비교적 짧은 tLAT(732)는, 통상적으로 기록 데이터 버퍼에 기록하는 것보다 더 많은 시간을 소요하는 메모리 어레이에 저장되는 것보다는, 기록 데이터를 저장하는 기록 데이터 버퍼를 이용하는 것에 적어도 부분적으로 기인할 수 있다. 예를 들어, 짧은 tLAT(732)는, 판독 명령(716)에 대한 시간 T4에서의 판독 동작의 완료에 후속하여 tHOLDOFF 기간(726) 내에 기록 명령(728)이 수신되는 것에 기인할 수 있다. 반대로, 시간 T8에 수신된 기록 명령(740)에 대한 기록 동작은, tLAT(732)보다 긴 tLAT(744)를 갖는다. 이전에 논의된 바와 같이, 더 긴 tLAT(744)는, 예를 들어, 시간 T9와 T10 사이에 기록 데이터(748)를 수신하기 전에 기록 데이터 버퍼에 저장된 기록 데이터를 메모리 어레이에 기록하기 위한 동작들을 수행하는 것에 기인할 수 있다.
도 8은, 본 발명의 실시예에 따른 장치(예를 들어, 메모리 모듈과 같은 메모리 디바이스 또는 솔리드 스테이트 드라이브와 같은 메모리 시스템)(800)의 일부에 대한 개략적 도시이다. 장치(800)는, 예를 들어, 상변화 메모리 셀들, 저항 가변 랜덤 액세스 메모리 셀들 또는 다른 타입들의 메모리 셀들을 포함하는 저항 가변 메모리 셀들일 수 있는 메모리 셀들의 어레이(802)를 포함한다. 장치(800)는 또한, 명령 버스(808)를 통해 메모리 명령들을 수신할 수 있고 장치(800) 내에서 대응하는 제어 신호들을 생성하여 다양한 메모리 동작들이 수행되게 할 수 있는, 본 발명의 실시예에 따른 메모리 동작 제어기(806)를 포함한다. 예를 들어, 메모리 동작 제어기(806)는, 본 발명의 실시예들에 따라 판독 동작들 및 기록 동작들을 수행하기 위한 제어 신호들을 생성할 수 있다. 메모리 동작 제어기(806)는, 장치(800)의 구성 및 동작과 관련된 값들을 저장하기 위해 이용될 수 있는 레지스터(812)를 포함한다. 몇몇 실시예들에서, 레지스터(812)는, 다른 값들 중에서도, 최대 tLAT를 나타내는 값들을 저장할 수 있고, tHOLDOFF 기간에 대한 시간을 나타내는 값들을 저장할 수 있다. 레지스터(812)는 메모리 동작 제어기(806)에 포함되는 것으로 제한되지 않고, 메모리 동작 제어기로부터 별개일 수 있고 그리고/또는 장치(800)의 다른 구성요소에 포함될 수 있다.
행 및 열 어드레스 신호들이 어드레스 버스(820)를 통해 장치(800)의 어드레스 래치(810)에 제공될 수 있다. 몇몇 실시예들에서, 어드레스 버스(820)는 명령 버스(808)와 결합될 수 있고, 몇몇 실시예들에서, 어드레스 버스(820)는 데이터 버스와 결합될 수 있다. 그 다음, 어드레스 래치(810)는 별개의 열 어드레스 및 별개의 행 어드레스를 출력할 수 있다. 행 및 열 어드레스들은 어드레스 래치(810)에 의해 행 어드레스 디코더(822) 및 열 어드레스 디코더(828)에 각각 제공될 수 있다. 열 어드레스 디코더(828)는 각각의 열 어드레스들에 대응하는, 어레이(802)를 통해 연장되는 비트 라인들을 선택할 수 있다. 행 어드레스 디코더(822)는, 수신된 행 어드레스들에 대응하는, 어레이(802)의 메모리 셀들의 각각의 행들을 활성화시킬 수 있는 워드 라인 드라이버(824)에 접속될 수 있다. 수신된 열 어드레스에 대응하는 선택된 데이터 라인(예를 들어, 비트 라인 또는 비트 라인들)은 판독/기록 회로(830)에 연결되어 입력-출력 데이터 버스(840)를 통해 데이터 출력 버퍼(834)에 판독 데이터를 제공할 수 있다. 기록 데이터는 데이터 입력 버퍼(844) 및 메모리 어레이 판독/기록 회로(830)를 통해 메모리 어레이(802)에 제공될 수 있다. 장치(800)의 버퍼(846)는, 이전에 논의된, 수행될 기록 데이터 및/또는 기록 명령들을 저장하기 위해 이용될 수 있다.
상기 내용으로부터, 본 발명의 특정한 실시예들이 예시의 목적으로 본 명세서에서 설명되었지만, 본 발명의 사상 및 범주를 벗어남이 없이 다양한 변형들이 행해질 수 있음이 인식될 것이다. 따라서, 본 발명은 첨부된 청구항들에 의한 것을 제외하고는 제한되지 않는다.

Claims (53)

  1. 장치로서,
    메모리 명령들을 제공하도록 구성되는 메모리 제어기;
    상기 메모리 제어기에 연결되고, 상기 메모리 제어기로부터 메모리 명령을 수신하고 상기 메모리 명령에 응답하여 메모리 동작을 수행하도록 구성되는 메모리를 포함하고,
    상기 메모리는, 가변 레이턴시 기간의 종료를 나타내는 확인응답을 제공하도록 추가로 구성되고, 상기 확인응답은 메모리 명령의 수락과 관련된 정보를 포함하고, 상기 메모리는 상기 확인응답에 후속하여 상기 메모리 명령과 연관된 데이터를 상기 메모리 제어기와 교환하도록 추가로 구성되는, 장치.
  2. 제1항에 있어서,
    상기 메모리는 기록 데이터를 저장하도록 구성되는 기록 버퍼를 포함하는, 장치.
  3. 제1항에 있어서,
    상기 메모리는, 판독 명령을 수신하는 것에 대한 응답으로, 진행 중인 기록 동작을 보류하도록 추가로 구성되는, 장치.
  4. 제1항에 있어서,
    상기 메모리는 공유된 입력/출력들 상에서 메모리 명령들, 어드레스들 및 데이터를 수신하도록 구성되는, 장치.
  5. 제1항에 있어서,
    상기 메모리는 공유된 입력 상에서 메모리 명령들과 어드레스들을, 그리고 입력/출력들 상에서 데이터를 수신하도록 구성되는, 장치.
  6. 제1항에 있어서,
    상기 메모리는 상기 가변 레이턴시 기간 동안 메모리 동작을 위해 준비되도록 구성되는, 장치.
  7. 제1항에 있어서,
    상기 확인응답은, 상기 레이턴시 기간이 추가적인 적격성들로 종료되었다는 정보를 포함하는, 장치.
  8. 제1항에 있어서,
    상기 확인응답은, 상기 메모리 명령이 수락되지만, 이전의 메모리 명령의 동작 동안의 에러 발생으로 인한 경고가 존재한다는 정보를 포함하는, 장치.
  9. 제1항에 있어서,
    상기 확인응답은, 상기 메모리 명령이 수락되지만, 하우스 키핑 동작의 필요성으로 인한 경고가 존재한다는 정보를 포함하는, 장치.
  10. 제9항에 있어서,
    상기 하우스 키핑 동작은, 웨어 레벨링(wear leveling), 리프레싱 또는 이들의 조합들 중 적어도 하나를 포함하는, 장치.
  11. 제1항에 있어서,
    상기 확인응답은, 상기 메모리 명령이 거부된다는 정보를 포함하는, 장치.
  12. 제1항에 있어서,
    상기 메모리는, 상기 메모리에 의해 데이터가 수신되기 전에, 상기 확인응답에 후속하여 버스 턴어라운드(turnaround) 시간을 대기하도록 구성되는, 장치.
  13. 장치로서,
    메모리 셀들을 갖는 메모리 어레이; 및
    메모리 명령들을 수신하고, 상기 메모리 명령들에 대한 메모리 동작들을 수행하기 위한 내부 신호들을 제공하기 위해 상기 메모리 명령들을 디코딩하도록 구성되는 메모리 동작 제어기를 포함하고,
    상기 메모리 동작 제어기는, 보류된 메모리 동작을 재개하기 전에 홀드-오프(hold-off) 기간을 대기하도록 추가로 구성되는, 장치.
  14. 제13항에 있어서,
    상기 메모리 동작 제어기는, 판독 명령의 수신에 대한 응답으로 기록 동작을 보류하고, 판독 동작을 수행하도록 구성되는, 장치.
  15. 제14항에 있어서,
    최대 홀드-오프 기간을 저장하도록 구성되는 레지스터를 더 포함하고,
    상기 메모리 동작 제어기는 상기 최대 홀드-오프 기간을 대기한 후 상기 보류된 기록 동작을 재개하도록 구성되는, 장치.
  16. 제14항에 있어서,
    상기 메모리 동작 제어기는, 상기 홀드-오프 기간 동안 상기 판독 명령의 수신에 대한 응답으로 상기 기록 동작을 보류하는 것을 계속하고, 상기 판독 동작을 수행하고, 상기 판독 동작의 종료 시에 상기 홀드-오프 기간을 재시작하도록 구성되는, 장치.
  17. 제14항에 있어서,
    상기 메모리 동작 제어기는, 기록 명령의 수신에 대한 응답으로 상기 보류된 기록 동작을 재개하도록 구성되는, 장치.
  18. 제13항에 있어서,
    상기 메모리 셀들은 상변화 메모리 셀들을 포함하는, 장치.
  19. 제13항에 있어서,
    최대 가변 레이턴시 기간을 저장하도록 구성되는 레지스터를 더 포함하는, 장치.
  20. 제19항에 있어서,
    상기 레지스터는, 기록 동작들에 대한 최대 가변 레이턴시 기간을 저장하고, 판독 동작들에 대한 최대 가변 레이턴시 기간을 저장하도록 구성되는, 장치.
  21. 제13항에 있어서,
    상기 메모리 동작 제어기는 메모리 명령에 대한 가변 레이턴시 기간의 종료를 나타내는 확인응답을 제공하도록 구성되는, 장치.
  22. 제21항에 있어서,
    상기 메모리 동작 제어기는 상기 가변 레이턴시 기간 동안 메모리 동작들을 관리하도록 구성되는, 장치.
  23. 제21항에 있어서,
    상기 메모리 동작 제어기는 상기 가변 레이턴시 기간 동안 메모리 동작들을 수행하기 위한 메모리 회로들을 준비하도록 구성되는, 장치.
  24. 장치로서,
    메모리 셀들을 갖는 메모리 어레이;
    상기 메모리 어레이에 기록될 기록 데이터를 저장하도록 구성되는 기록 버퍼;
    메모리 명령들을 수신하고, 상기 메모리 명령들에 대한 메모리 동작들을 수행하기 위한 내부 신호들을 제공하기 위해 상기 메모리 명령들을 디코딩하도록 구성되는 메모리 동작 제어기로서, 가변 레이턴시 기간의 종료를 나타내는 확인응답을 제공하도록 추가로 구성되는, 상기 메모리 동작 제어기―; 및
    상기 메모리 동작 제어기에 연결되고, 보류된 기록 동작을 재개하기 전에, 판독 동작의 완료에 후속하여 홀드-오프 기간과 관련된 정보를 저장하도록 구성되는 레지스터를 포함하는, 장치.
  25. 제24항에 있어서,
    상기 레지스터는 판독 및 기록 동작들에 대한 최대 레이턴시 기간과 관련된 정보를 저장하도록 구성되는, 장치.
  26. 제25항에 있어서,
    상기 메모리 동작 제어기는, 진행 중인 현재의 메모리 동작을 보류할지 또는 상기 최대 레이턴시 기간에 적어도 부분적으로 기초하여 현재의 메모리 동작이 완료되도록 허용할지를 결정하도록 구성되는, 장치.
  27. 제24항에 있어서,
    상기 레지스터는 상기 메모리 동작 제어기에 포함되는, 장치.
  28. 제24항에 있어서,
    상기 메모리 동작 제어기는, 최대 레이턴시 기간과 관련된 저장된 정보에 적어도 부분적으로 기초하여 상기 가변 레이턴시 기간 동안 새로운 메모리 동작을 수행하는 것을 시작하기 위해, 진행 중인 메모리 동작을 보류하도록 구성되는, 장치.
  29. 제24항에 있어서,
    상기 메모리 동작 제어기는, 최대 레이턴시 기간과 관련된 저장된 정보에 적어도 부분적으로 기초하여 상기 가변 레이턴시 기간 동안 메모리 동작을 완료하도록 구성되는, 장치.
  30. 방법으로서,
    기록 데이터가 기록될 어드레스 및 기록 명령을 메모리에서 수신하는 단계;
    가변 레이턴시 기간의 종료를 나타내는 확인응답을 제공하는 단계;
    상기 확인응답에 후속하여 버스 턴어라운드 시간을 대기하는 단계; 및
    상기 기록 명령에 대한 기록 데이터를 수신하는 단계를 포함하는, 방법.
  31. 제30항에 있어서,
    상기 기록 명령에 대한 기록 동작을 수행하는 단계;
    상기 기록 동작 동안 판독 명령을 수신하는 것에 대한 응답으로 상기 기록 동작을 보류하는 단계를 더 포함하는, 방법.
  32. 제30항에 있어서,
    상기 기록 명령에 대해 수신된 상기 기록 데이터를 기록 데이터 버퍼에 저장하는 단계를 더 포함하는, 방법.
  33. 제30항에 있어서,
    상기 기록 명령에 대한 기록 데이터는, 상기 확인응답이 제공된 이후 그리고 버스 턴어라운드 시간 이후에 수신되는, 방법.
  34. 제30항에 있어서,
    상기 기록 명령을 수신하는 것에 대한 응답으로 기록 동작을 수행하는 단계; 및
    기록 데이터 버퍼에 저장된 기록 데이터를 메모리에 기록하는 단계를 더 포함하는, 방법.
  35. 제34항에 있어서,
    상기 기록 데이터 버퍼에 저장된 기록 데이터는 복수의 기록 명령과 연관되고, 상기 기록 동작은 상기 복수의 기록 명령 중 마지막 기록 명령에 대한 응답으로 수행되는, 방법.
  36. 제30항에 있어서,
    상기 버스 턴어라운드 시간은 상기 확인응답에 따라 측정되는, 방법.
  37. 방법으로서,
    판독 데이터가 판독될 어드레스 및 판독 명령을 메모리에서 수신하는 단계;
    상기 판독 명령에 대한 응답으로 기록 동작을 보류하는 단계;
    가변 레이턴시 기간의 종료를 나타내는 확인응답을 제공하는 단계;
    상기 판독 명령에 대한 판독 데이터를 제공하는 단계; 및
    상기 판독 동작의 완료에 후속하여 홀드-오프 기간 동안 상기 기록 동작을 보류하는 것을 계속하는 단계를 포함하는, 방법.
  38. 제37항에 있어서,
    상기 판독 명령에 대한 판독 데이터는, 상기 확인응답을 제공하는 것에 후속하여 제공되는, 방법.
  39. 제37항에 있어서,
    상기 홀드-오프 기간 동안 다른 판독 명령을 수신하는 단계;
    상기 다른 판독 명령을 수신하는 것에 대한 응답으로 상기 기록 동작을 추가로 보류하는 단계;
    상기 다른 판독 명령에 대한 판독 동작을 수행하고, 상기 판독 동작의 종료 시에 상기 홀드-오프 기간을 재시작하는 단계를 더 포함하는, 방법.
  40. 제37항에 있어서,
    상기 홀드-오프 기간 동안 기록 명령을 수신하는 단계;
    상기 기록 명령을 수신하는 것에 대한 응답으로 상기 보류된 기록 동작을 재개하는 단계를 더 포함하는, 방법.
  41. 제37항에 있어서,
    상기 홀드-오프 기간이 만료되는 것에 대한 응답으로 상기 보류된 기록 동작을 재개하는 단계를 더 포함하는, 방법.
  42. 방법으로서,
    메모리 명령들 및 상기 메모리 명령과 연관된 어드레스들을 메모리에서 수신하는 단계;
    가변 레이턴시 기간의 종료를 나타내고 메모리 명령의 수락과 관련된 정보를 포함하는 확인응답을 제공하는 단계; 및
    상기 메모리 명령과 연관된 데이터를 수신 또는 제공하는 단계를 포함하는, 방법.
  43. 제42항에 있어서,
    상기 메모리 명령들 및 상기 메모리 명령과 연관된 어드레스들은 동시에 수신되는, 방법.
  44. 제42항에 있어서,
    상기 메모리 명령에 대한 가변 레이턴시 기간에 대한 시간은 현재의 메모리 동작 및 상기 메모리 명령에 적어도 부분적으로 기초하는, 방법.
  45. 제42항에 있어서,
    상기 메모리 명령들은 복수의 기록 명령들을 포함하고,
    상기 방법은,
    상기 복수의 기록 명령들에 대한 기록 데이터를 기록 데이터 버퍼에 저장하는 단계;
    마지막 기록 명령에 대한 응답으로, 상기 기록 버퍼에 저장된 상기 복수의 기록 명령들에 대한 기록 데이터를 메모리에 기록하는 단계를 더 포함하는, 방법.
  46. 제42항에 있어서,
    기록 명령과 연관된 데이터를 제공하기 전에, 상기 확인응답에 후속하여 버스 턴어라운드 시간을 대기하는 단계를 더 포함하는, 방법.
  47. 제42항에 있어서,
    상기 메모리 명령과 연관된 어드레스들에 후속하여 버스 턴어라운드 시간을 대기하는 단계를 더 포함하는, 방법.
  48. 제42항에 있어서,
    상기 어드레스들을 수신한 후 버스 턴어라운드 시간을 대기하는 단계를 더 포함하는, 방법.
  49. 방법으로서,
    메모리 명령 및 어드레스를 메모리에 제공하는 단계;
    가변 레이턴시 기간의 종료를 나타내고 상기 메모리에 의한 상기 메모리 명령의 수락과 관련된 정보를 포함하는 확인응답을 수신하는 단계; 및
    상기 메모리 명령과 연관된 데이터를 상기 메모리와 교환하는 단계를 포함하는, 방법.
  50. 제49항에 있어서,
    상기 확인응답은 복수의 신호들의 논리 상태들의 조합에 의해 표현되는, 방법.
  51. 제49항에 있어서,
    상기 메모리 명령과 연관된 데이터를 상기 메모리와 교환하는 단계는, 기록 명령에 대한 상기 확인응답을 수신한 이후 버스 턴어라운드 시간에 발생하는, 방법.
  52. 제49항에 있어서,
    상기 수신된 확인응답에 의해 표현되는 메모리 동작의 완료까지 시스템 버스를 작동상태(busy)로 유지하는 단계를 더 포함하는, 방법.
  53. 제49항에 있어서,
    시스템 버스를 자유롭게 하기 위해 상기 메모리 명령과 관련된 메모리 동작을 중단하는 단계 및 추후의 시간에 상기 메모리 동작을 다시 재시도하는 단계를 더 포함하는, 방법.
KR1020157012530A 2012-10-26 2013-10-25 가변 레이턴시들을 갖는 메모리 동작들을 위한 장치들 및 방법들 KR101747570B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261719321P 2012-10-26 2012-10-26
US61/719,321 2012-10-26
US13/794,471 2013-03-11
US13/794,471 US9754648B2 (en) 2012-10-26 2013-03-11 Apparatuses and methods for memory operations having variable latencies
PCT/US2013/066949 WO2014066845A1 (en) 2012-10-26 2013-10-25 Apparatuses and methods for memory operations having variable latencies

Publications (2)

Publication Number Publication Date
KR20150104557A true KR20150104557A (ko) 2015-09-15
KR101747570B1 KR101747570B1 (ko) 2017-06-14

Family

ID=50545362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157012530A KR101747570B1 (ko) 2012-10-26 2013-10-25 가변 레이턴시들을 갖는 메모리 동작들을 위한 장치들 및 방법들

Country Status (7)

Country Link
US (3) US9754648B2 (ko)
EP (1) EP2912558B1 (ko)
JP (1) JP6006885B2 (ko)
KR (1) KR101747570B1 (ko)
CN (1) CN105264505B (ko)
SG (1) SG11201503217TA (ko)
WO (1) WO2014066845A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190085648A (ko) * 2018-01-11 2019-07-19 에스케이하이닉스 주식회사 반도체 장치와 그를 포함하는 반도체 시스템

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327052B2 (en) * 2009-12-23 2012-12-04 Spansion Llc Variable read latency on a serial memory bus
US9740485B2 (en) 2012-10-26 2017-08-22 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9754648B2 (en) 2012-10-26 2017-09-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9734097B2 (en) 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
US9477619B2 (en) * 2013-06-10 2016-10-25 Cypress Semiconductor Corporation Programmable latency count to achieve higher memory bandwidth
US9727493B2 (en) 2013-08-14 2017-08-08 Micron Technology, Inc. Apparatuses and methods for providing data to a configurable storage area
US9563565B2 (en) 2013-08-14 2017-02-07 Micron Technology, Inc. Apparatuses and methods for providing data from a buffer
US9183904B2 (en) 2014-02-07 2015-11-10 Micron Technology, Inc. Apparatuses, memories, and methods for facilitating splitting of internal commands using a shared signal path
US10365835B2 (en) 2014-05-28 2019-07-30 Micron Technology, Inc. Apparatuses and methods for performing write count threshold wear leveling operations
US10671291B2 (en) 2015-11-17 2020-06-02 Hewlett Packard Enterprise Development Lp Iterative write sequence interrupt
US10025727B2 (en) * 2016-02-05 2018-07-17 Honeywell International Inc. Relay mechanism to facilitate processor communication with inaccessible input/output (I/O) device
KR102641107B1 (ko) * 2016-07-29 2024-02-27 삼성전자주식회사 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법
US20180059933A1 (en) * 2016-08-26 2018-03-01 Sandisk Technologies Llc Electrically-Buffered NV-DIMM and Method for Use Therewith
US10331581B2 (en) 2017-04-10 2019-06-25 Hewlett Packard Enterprise Development Lp Virtual channel and resource assignment
CN109935252B (zh) * 2017-12-15 2021-03-30 旺宏电子股份有限公司 存储器装置及其操作方法
US10534731B2 (en) 2018-03-19 2020-01-14 Micron Technology, Inc. Interface for memory having a cache and multiple independent arrays
CN110716691B (zh) * 2018-07-13 2021-10-01 华为技术有限公司 调度方法、装置、闪存设备和系统
US11178055B2 (en) 2019-06-14 2021-11-16 Intel Corporation Methods and apparatus for providing deterministic latency for communications interfaces
KR20210042192A (ko) 2019-10-08 2021-04-19 삼성전자주식회사 반도체 메모리 장치, 전자 장치, 및 그것의 설정 방법
US11243804B2 (en) 2019-11-19 2022-02-08 Micron Technology, Inc. Time to live for memory access by processors
US11199995B2 (en) 2019-11-19 2021-12-14 Micron Technology, Inc. Time to live for load commands
US11720352B2 (en) 2019-12-10 2023-08-08 Micron Technology, Inc. Flexible command pointers to microcode operations

Family Cites Families (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0673114B2 (ja) 1987-03-31 1994-09-14 日本電気株式会社 キヤツシユ制御装置
EP0376285B1 (en) * 1988-12-27 1994-03-09 Nec Corporation Microcomputer having electrically erasable and programmable nonvolatile memory
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5369616A (en) * 1992-10-30 1994-11-29 Intel Corporation Method for assuring that an erase process for a memory array has been properly completed
US5668972A (en) 1994-10-05 1997-09-16 International Business Machines Corporation Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line
US5892961A (en) 1995-02-17 1999-04-06 Xilinx, Inc. Field programmable gate array having programming instructions in the configuration bitstream
US6412045B1 (en) 1995-05-23 2002-06-25 Lsi Logic Corporation Method for transferring data from a host computer to a storage media using selectable caching strategies
US5546344A (en) 1995-06-06 1996-08-13 Cirrus Logic, Inc. Extended data output DRAM interface
US5778432A (en) 1996-07-01 1998-07-07 Motorola, Inc. Method and apparatus for performing different cache replacement algorithms for flush and non-flush operations in response to a cache flush control bit register
US5893149A (en) 1996-07-01 1999-04-06 Sun Microsystems, Inc. Flushing of cache memory in a computer system
US5953522A (en) 1996-07-01 1999-09-14 Sun Microsystems, Inc. Temporary computer file system implementing using anonymous storage allocated for virtual memory
US6201739B1 (en) * 1996-09-20 2001-03-13 Intel Corporation Nonvolatile writeable memory with preemption pin
JPH10312684A (ja) * 1997-05-13 1998-11-24 Fujitsu Ltd 半導体集積回路
US6000006A (en) 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US5822244A (en) * 1997-09-24 1998-10-13 Motorola, Inc. Method and apparatus for suspending a program/erase operation in a flash memory
JP4034923B2 (ja) * 1999-05-07 2008-01-16 富士通株式会社 半導体記憶装置の動作制御方法および半導体記憶装置
US6460114B1 (en) 1999-07-29 2002-10-01 Micron Technology, Inc. Storing a flushed cache line in a memory buffer of a controller
US6546462B1 (en) 1999-12-30 2003-04-08 Intel Corporation CLFLUSH micro-architectural implementation method and system
US8341332B2 (en) 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US6314049B1 (en) * 2000-03-30 2001-11-06 Micron Technology, Inc. Elimination of precharge operation in synchronous flash memory
JP4762435B2 (ja) * 2001-05-09 2011-08-31 富士通セミコンダクター株式会社 内部カウンタを複数備えた不揮発性半導体記憶装置
US20040098549A1 (en) * 2001-10-04 2004-05-20 Dorst Jeffrey R. Apparatus and methods for programmable interfaces in memory controllers
US20030212865A1 (en) 2002-05-08 2003-11-13 Hicken Michael S. Method and apparatus for flushing write cache data
US7363540B2 (en) 2002-10-22 2008-04-22 Microsoft Corporation Transaction-safe FAT file system improvements
JP4077295B2 (ja) * 2002-10-23 2008-04-16 株式会社東芝 同期型半導体記憶装置及びその動作方法
JP2004171678A (ja) * 2002-11-20 2004-06-17 Sony Corp 情報記憶装置、情報記憶方法、及び情報記憶プログラム
US7219251B2 (en) 2003-05-09 2007-05-15 Hewlett-Packard Development Company, L.P. Programmable clock synchronizer
JP4540352B2 (ja) 2003-09-12 2010-09-08 ルネサスエレクトロニクス株式会社 記憶装置
US6996016B2 (en) * 2003-09-30 2006-02-07 Infineon Technologies Ag Echo clock on memory system having wait information
JP4452690B2 (ja) * 2003-12-09 2010-04-21 パナソニック株式会社 電子装置、その制御方法、ホスト装置及びその制御方法
US7173863B2 (en) 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US7579683B1 (en) * 2004-06-29 2009-08-25 National Semiconductor Corporation Memory interface optimized for stacked configurations
US7624209B1 (en) 2004-09-15 2009-11-24 Xilinx, Inc. Method of and circuit for enabling variable latency data transfers
US20060069812A1 (en) 2004-09-30 2006-03-30 Osborne Randy B Method to mitigate performance turnaround in a bidirectional interconnect
US7139673B1 (en) * 2004-11-05 2006-11-21 Xilinx, Inc. Method of and circuit for verifying a data transfer protocol
JP2006139556A (ja) * 2004-11-12 2006-06-01 Toshiba Corp メモリカード及びそのカードコントローラ
JP4734033B2 (ja) * 2005-05-30 2011-07-27 株式会社東芝 記憶装置
US7200043B2 (en) * 2005-05-31 2007-04-03 Elite Semiconductor Memory Technology, Inc. Nonvolatile memory using a two-step cell verification process
US20070005922A1 (en) * 2005-06-30 2007-01-04 Swaminathan Muthukumar P Fully buffered DIMM variable read latency
US7673111B2 (en) * 2005-12-23 2010-03-02 Intel Corporation Memory system with both single and consolidated commands
US7571297B2 (en) * 2005-12-30 2009-08-04 Intel Corporation Data invalid signal for non-deterministic latency in a memory system
US20070208904A1 (en) 2006-03-03 2007-09-06 Wu-Han Hsieh Wear leveling method and apparatus for nonvolatile memory
EP1835508B1 (en) * 2006-03-16 2012-01-18 Samsung Electronics Co., Ltd. Pram and associated operation method and system
KR100816748B1 (ko) * 2006-03-16 2008-03-27 삼성전자주식회사 프로그램 서스펜드/리줌 모드를 지원하는 상 변화 메모리장치 및 그것의 프로그램 방법
KR100746229B1 (ko) * 2006-07-07 2007-08-03 삼성전자주식회사 반도체 메모리 장치
US20080082707A1 (en) 2006-09-29 2008-04-03 Synfora, Inc. Non-blocking bus controller for a pipelined, variable latency, hierarchical bus with point-to-point first-in first-out ordering
FR2906624A1 (fr) 2006-10-03 2008-04-04 Bull S A S Soc Par Actions Sim Systeme et procede de stockage de masse.
KR100843546B1 (ko) * 2006-11-21 2008-07-04 삼성전자주식회사 멀티 칩 패키지 플래시 메모리 장치 및 그것의 상태 신호독출 방법
US7515500B2 (en) 2006-12-20 2009-04-07 Nokia Corporation Memory device performance enhancement through pre-erase mechanism
KR101087308B1 (ko) 2006-12-27 2011-11-25 인텔 코오퍼레이션 비휘발성 메모리에 대한 초기 웨어 레벨링
US8370562B2 (en) 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
US7660952B2 (en) 2007-03-01 2010-02-09 International Business Machines Corporation Data bus bandwidth scheduling in an FBDIMM memory system operating in variable latency mode
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US7643334B1 (en) 2007-04-26 2010-01-05 Super Talent Electronics, Inc. High-speed controller for phase-change memory peripheral device
US20080270811A1 (en) 2007-04-26 2008-10-30 Super Talent Electronics Inc. Fast Suspend-Resume of Computer Motherboard Using Phase-Change Memory
US7962670B2 (en) 2007-06-06 2011-06-14 Lantiq Deutschland Gmbh Pin multiplexing
JP2008305246A (ja) 2007-06-08 2008-12-18 Freescale Semiconductor Inc 情報処理装置、キャッシュフラッシュ制御方法及び情報処理制御装置
KR100857761B1 (ko) 2007-06-14 2008-09-10 삼성전자주식회사 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법
JP2009025866A (ja) 2007-07-17 2009-02-05 Nec Electronics Corp メモリコントローラ、バスシステム、集積回路、及び、集積回路の制御方法。
US8046524B2 (en) * 2007-08-08 2011-10-25 Sandisk Technologies Inc. Managing processing delays in an isochronous system
JP2009086988A (ja) * 2007-09-28 2009-04-23 Toshiba Corp メモリカード
ATE511676T1 (de) * 2007-11-19 2011-06-15 Rambus Inc Scheduling auf der basis eines turnaround- ereignisses
US8200904B2 (en) 2007-12-12 2012-06-12 Sandisk Il Ltd. System and method for clearing data from a cache
US7865658B2 (en) * 2007-12-31 2011-01-04 Sandisk Il Ltd. Method and system for balancing host write operations and cache flushing
US8489820B1 (en) 2008-03-18 2013-07-16 Netapp, Inc Speculative copying of data from main buffer cache to solid-state secondary cache of a storage server
US8001331B2 (en) 2008-04-17 2011-08-16 Arm Limited Efficiency of cache memory operations
US8704772B2 (en) 2008-07-16 2014-04-22 Enpulz, L.L.C. Writing pad with synchronized background audio and video and handwriting recognition
TWI385669B (zh) 2008-07-23 2013-02-11 Phison Electronics Corp 用於快閃記憶體的平均磨損方法、儲存系統與控制器
US7929356B2 (en) 2008-09-05 2011-04-19 Atmel Corporation Method and system to access memory
KR20100055105A (ko) 2008-11-17 2010-05-26 삼성전자주식회사 상 변화 메모리 장치
JP2010123164A (ja) 2008-11-18 2010-06-03 Elpida Memory Inc 半導体記憶装置及びその制御方法
US8064250B2 (en) 2008-12-16 2011-11-22 Micron Technology, Inc. Providing a ready-busy signal from a non-volatile memory device to a memory controller
US20100161932A1 (en) 2008-12-18 2010-06-24 Ori Moshe Stern Methods for writing data from a source location to a destination location in a memory device
KR100985410B1 (ko) 2008-12-30 2010-10-06 주식회사 하이닉스반도체 반도체 장치
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US7979759B2 (en) 2009-01-08 2011-07-12 International Business Machines Corporation Test and bring-up of an enhanced cascade interconnect memory system
KR20100083395A (ko) 2009-01-13 2010-07-22 삼성전자주식회사 병렬 인터페이싱 방법, 상기 방법을 수행하기 위한 장치들
US8195891B2 (en) 2009-03-30 2012-06-05 Intel Corporation Techniques to perform power fail-safe caching without atomic metadata
US8387065B2 (en) 2009-04-16 2013-02-26 International Business Machines Corporation Speculative popcount data creation
US20120179860A1 (en) 2009-06-10 2012-07-12 Francesco Falanga Suspension of memory operations for reduced read latency in memory arrays
US8370712B2 (en) 2009-07-23 2013-02-05 International Business Machines Corporation Memory management in a non-volatile solid state memory device
US8004884B2 (en) 2009-07-31 2011-08-23 International Business Machines Corporation Iterative write pausing techniques to improve read latency of memory systems
KR20110014923A (ko) 2009-08-06 2011-02-14 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR101585213B1 (ko) 2009-08-18 2016-01-13 삼성전자주식회사 라이트 레벨링 동작을 수행하기 위한 메모리 장치의 제어 방법, 메모리 장치의 라이트 레벨링 방법, 및 라이트 레벨링 동작을 수행하는 메모리 컨트롤러, 메모리 장치, 및 메모리 시스템
US8850103B2 (en) * 2009-08-28 2014-09-30 Microsoft Corporation Interruptible NAND flash memory
US8327092B2 (en) * 2009-09-21 2012-12-04 Freescale Semiconductor, Inc. Memory device configurable as interleaved or non-interleaved memory
US8327052B2 (en) * 2009-12-23 2012-12-04 Spansion Llc Variable read latency on a serial memory bus
US8595441B1 (en) 2010-01-04 2013-11-26 Marvell Israel (M.I.S.L) Ltd. Cache operations using transformed indexes
TWI447735B (zh) 2010-02-05 2014-08-01 Phison Electronics Corp 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統
US8291126B2 (en) 2010-03-23 2012-10-16 Spansion Llc Variable read latency on a serial memory bus
US8539129B2 (en) 2010-04-14 2013-09-17 Qualcomm Incorporated Bus arbitration techniques to reduce access latency
US9104546B2 (en) 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
US8522067B2 (en) 2010-06-17 2013-08-27 Stmicroelectronics, Inc. Variable latency interface for read/write channels
KR101131560B1 (ko) 2010-07-15 2012-04-04 주식회사 하이닉스반도체 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법
CN101930404B (zh) 2010-08-27 2012-11-21 威盛电子股份有限公司 存储装置及其操作方法
US9355051B2 (en) * 2010-09-10 2016-05-31 Cypress Semiconductor Corporation Apparatus, method, and manufacture for using a read preamble to optimize data capture
US8135881B1 (en) 2010-09-27 2012-03-13 Skyworks Solutions, Inc. Dynamically configurable serial data communication interface
US20120117303A1 (en) 2010-11-04 2012-05-10 Numonyx B.V. Metadata storage associated with flash translation layer
US8645637B2 (en) 2010-11-16 2014-02-04 Micron Technology, Inc. Interruption of write memory operations to provide faster read access in a serial interface memory
US8356153B2 (en) 2010-11-19 2013-01-15 International Business Machines Corporation Adaptive wear leveling via monitoring the properties of memory reference stream
TWI417727B (zh) 2010-11-22 2013-12-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與回應主機指令的方法
KR20120079682A (ko) 2011-01-05 2012-07-13 삼성전자주식회사 디램 캐시를 포함하는 메모리 장치 및 이를 포함하는 시스템
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8649210B2 (en) * 2011-09-06 2014-02-11 Mediatek Inc. DDR PSRAM and data writing and reading methods thereof
US8762625B2 (en) 2011-04-14 2014-06-24 Apple Inc. Stochastic block allocation for improved wear leveling
US8806171B2 (en) 2011-05-24 2014-08-12 Georgia Tech Research Corporation Systems and methods providing wear leveling using dynamic randomization for non-volatile memory
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
US9104547B2 (en) 2011-08-03 2015-08-11 Micron Technology, Inc. Wear leveling for a memory device
KR101804521B1 (ko) 2011-08-16 2017-12-07 에스케이하이닉스 주식회사 집적회로 칩, 이를 포함하는 시스템 및 동작방법, 메모리 및 메모리 시스템
CN103946819B (zh) 2011-09-30 2017-05-17 英特尔公司 用于非易失性系统存储器的统计耗损均衡
JP5642649B2 (ja) 2011-10-07 2014-12-17 シャープ株式会社 半導体記憶装置及び半導体装置
US9208070B2 (en) 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US8918581B2 (en) 2012-04-02 2014-12-23 Microsoft Corporation Enhancing the lifetime and performance of flash-based storage
US20140013028A1 (en) 2012-07-09 2014-01-09 Hamilton Sundstrand Corporation Hardware flash memory wear monitoring
CN102789423B (zh) 2012-07-11 2014-12-10 山东华芯半导体有限公司 四池闪存磨损均衡方法
US9515204B2 (en) 2012-08-07 2016-12-06 Rambus Inc. Synchronous wired-or ACK status for memory with variable write latency
TWI483111B (zh) 2012-09-20 2015-05-01 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置
US20140089562A1 (en) * 2012-09-27 2014-03-27 Hitachi, Ltd. Efficient i/o processing in storage system
US9754648B2 (en) 2012-10-26 2017-09-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9740485B2 (en) 2012-10-26 2017-08-22 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9268651B1 (en) 2012-10-31 2016-02-23 Amazon Technologies, Inc. Efficient recovery of storage gateway cached volumes
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9734097B2 (en) 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
US9727493B2 (en) 2013-08-14 2017-08-08 Micron Technology, Inc. Apparatuses and methods for providing data to a configurable storage area
US9563565B2 (en) 2013-08-14 2017-02-07 Micron Technology, Inc. Apparatuses and methods for providing data from a buffer
US20150095551A1 (en) 2013-09-30 2015-04-02 Micron Technology, Inc. Volatile memory architecutre in non-volatile memory devices and related controllers
US9824004B2 (en) 2013-10-04 2017-11-21 Micron Technology, Inc. Methods and apparatuses for requesting ready status information from a memory
US10365835B2 (en) 2014-05-28 2019-07-30 Micron Technology, Inc. Apparatuses and methods for performing write count threshold wear leveling operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190085648A (ko) * 2018-01-11 2019-07-19 에스케이하이닉스 주식회사 반도체 장치와 그를 포함하는 반도체 시스템

Also Published As

Publication number Publication date
WO2014066845A1 (en) 2014-05-01
US20190080733A1 (en) 2019-03-14
EP2912558A1 (en) 2015-09-02
SG11201503217TA (en) 2015-05-28
US20140122822A1 (en) 2014-05-01
CN105264505B (zh) 2019-04-05
JP6006885B2 (ja) 2016-10-12
US20170309318A1 (en) 2017-10-26
US9754648B2 (en) 2017-09-05
EP2912558B1 (en) 2020-12-16
CN105264505A (zh) 2016-01-20
EP2912558A4 (en) 2016-10-05
US10885957B2 (en) 2021-01-05
US10163472B2 (en) 2018-12-25
JP2015536503A (ja) 2015-12-21
KR101747570B1 (ko) 2017-06-14

Similar Documents

Publication Publication Date Title
KR101747570B1 (ko) 가변 레이턴시들을 갖는 메모리 동작들을 위한 장치들 및 방법들
KR101693131B1 (ko) 가변 레이턴시들을 갖는 메모리 동작들을 위한 장치들 및 방법들
US10740263B2 (en) Apparatuses and methods for variable latency memory operations
TWI629686B (zh) 用於同時存取非揮發性記憶體之多個分區之裝置及方法
US9978430B2 (en) Memory devices providing a refresh request and memory controllers responsive to a refresh request
US9710192B2 (en) Apparatuses and methods for providing data from a buffer
KR101027181B1 (ko) 메모리의 제어 방법 및 메모리 시스템
US8069303B2 (en) Method and apparatus for controlling memory precharge operation

Legal Events

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