KR20180070743A - 메모리 시스템 및 이의 동작 방법 - Google Patents

메모리 시스템 및 이의 동작 방법 Download PDF

Info

Publication number
KR20180070743A
KR20180070743A KR1020160172387A KR20160172387A KR20180070743A KR 20180070743 A KR20180070743 A KR 20180070743A KR 1020160172387 A KR1020160172387 A KR 1020160172387A KR 20160172387 A KR20160172387 A KR 20160172387A KR 20180070743 A KR20180070743 A KR 20180070743A
Authority
KR
South Korea
Prior art keywords
memory
module
controller
memory module
data
Prior art date
Application number
KR1020160172387A
Other languages
English (en)
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 에스케이하이닉스 주식회사
Priority to KR1020160172387A priority Critical patent/KR20180070743A/ko
Priority to US15/666,739 priority patent/US10146709B2/en
Publication of KR20180070743A publication Critical patent/KR20180070743A/ko

Links

Images

Classifications

    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

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

Abstract

메모리 시스템의 동작 방법은, 메모리 콘트롤러가 메모리 모듈에 리드 커맨드를 인가하는 단계; 상기 메모리 모듈이 상기 메모리 콘트롤러로 규정된 구간에 리드 데이터를 전달할 수 없는 경우에, 데이터 스트로브 신호를 이용해 이를 통보하는 단계; 상기 통보에 응답해 상기 메모리 콘트롤러가 상기 메모리 모듈의 상태를 파악하기 위한 상태 확인 커맨드를 인가하는 단계; 및 상기 상태 확인 커맨드에 응답해 상기 메모리 모듈이 상기 메모리 콘트롤러로 자신의 상태 정보를 전달하는 단계를 포함할 수 있다.

Description

메모리 시스템 및 이의 동작 방법 {MEMORY SYSTEM AND OPERATION METHOD OF THE SAME}
본 특허 문헌은 메모리 시스템에 관한 것이다.
최근 스마트 폰, 태블릿 PC와 같은 이동 통신 단말기의 보급이 대중화되고, 소셜 네트워크 서비스(SNS, Social Network Service), 사물 네트워크(M2M, Machine to Machine), 센서 네트워크(Sensor Network) 등의 사용이 증가함에 따라 데이터의 양, 생성 속도 및 그 다양성이 기하급수적으로 증가하고 있다.
빅 데이터의 처리를 위해서는 메모리의 속도도 중요하지만 메모리 장치 및 이를 포함하는 메모리 모듈의 저장 용량이 매우 클 것이 요구된다. 예전에는 시스템 메모리로 사용되는 메모리 모듈에 속도가 빠른 DRAM만을 포함시키는 것이 일반적이었지만, 용량 증가의 요구에 따라 메모리 모듈에 용량이 큰 NAND Flash나 PCRAM 등의 비휘발성 메모리들도 포함시키려는 노력이 계속되고 있다. 그러나 메모리 모듈에 상대적으로 느린 속도로 동작하는 비휘발성 메모리들을 포함시키는 경우에 메모리 모듈의 레이턴시(latency) 규정을 지키지 못하는 상황이 빈번하게 발생할 수 있으므로, 이를 해결하기 위한 기술이 요구된다.
본 발명의 실시예들은 메모리 모듈의 레이턴시 문제를 해결하기 위한 기술을 제공할 수 있다.
본 발명의 일실시예에 따른 메모리 시스템의 동작 방법은, 메모리 콘트롤러가 메모리 모듈에 리드 커맨드를 인가하는 단계; 상기 메모리 모듈이 상기 메모리 콘트롤러로 규정된 구간에 리드 데이터를 전달할 수 없는 경우에, 데이터 스트로브 신호를 이용해 이를 통보하는 단계; 상기 통보에 응답해 상기 메모리 콘트롤러가 상기 메모리 모듈의 상태를 파악하기 위한 상태 확인 커맨드를 인가하는 단계; 및 상기 상태 확인 커맨드에 응답해 상기 메모리 모듈이 상기 메모리 콘트롤러로 자신의 상태 정보를 전달하는 단계를 포함할 수 있다.
상기 규정된 구간은 상기 리드 커맨드가 인가된 시점으로부터 리드 레이턴시(RL: Read Latency) 만큼의 시간이 지난 제1시점부터 제1시점으로부터 버스트 길이(BL: Burst Length)만큼의 시간이 지난 제2시점까지의 구간일 수 있다.
상기 통보하는 단계에서, 상기 메모리 모듈은 상기 규정된 구간 내에서 적어도 1클럭 이상의 시간 동안 상기 데이터 스트로브 신호를 고정할 수 있다.
본 발명의 다른 실시예에 따른 메모리 시스템의 동작 방법은, 메모리 콘트롤러가 메모리 모듈에 리드 커맨드를 인가하는 단계; 상기 메모리 모듈이 상기 메모리 콘트롤러로 규정된 구간에 리드 데이터를 전달할 수 없는 경우에, 데이터 스트로브 신호를 이용해 이를 통보하는 단계; 및 상기 통보에 이어 상기 메모리 모듈이 상기 메모리 콘트롤러로 자신의 상태 정보를 전달하는 단계를 포함할 수 있다.
상기 규정된 구간은 상기 리드 커맨드가 인가된 시점으로부터 리드 레이턴시(RL: Read Latency) 만큼의 시간이 지난 제1시점부터 제1시점으로부터 버스트 길이(BL: Burst Length)만큼의 시간이 지난 제2시점까지의 구간일 수 있다.
상기 통보하는 단계에서, 상기 메모리 모듈은 상기 규정된 구간 내의 일부 구간에서 상기 데이터 스트로브 신호를 고정할 수 있다.
상기 전달하는 단계는 상기 규정된 구간 내의 나머지 구간에서 수행될 수 있다.
상기 상태 정보는 데이터 스트로브 신호 전송 라인을 통해 전달될 수 있다.
상기 상태 정보는 데이터 전송 라인을 통해 전달될 수 있다.
본 발명의 일실시예에 따른 메모리 시스템은, 다수의 메모리 장치와 이를 제어하는 모듈 콘트롤러를 포함하는 메모리 모듈; 및 상기 메모리 모듈의 동작을 지시하는 메모리 콘트롤러를 포함하고, 상기 메모리 콘트롤러의 지시에 의한 상기 메모리 모듈의 리드 동작 수행시, 규정된 구간에 상기 메모리 모듈이 상기 메모리 콘트롤러로 리드 데이터를 전달할 수 없는 경우에, 상기 모듈 콘트롤러는 데이터 스트로브 신호를 이용해 이를 메모리 콘트롤러로 통보할 수 있다.
상기 규정된 구간은 상기 메모리 콘트롤러가 상기 메모리 모듈에게 리드 동작을 지시한 시점으로부터 리드 레이턴시(RL: Read Latency) 만큼의 시간이 지난 제1시부터 제1시점으로부터 버스트 길이(BL: Burst Length) 만큼의 시간이 지난 제2시점까지의 구간일 수 있다.
상기 메모리 콘트롤러는 상기 통보를 받은 경우에, 상기 모듈 콘트롤러에게 상기 메모리 모듈의 상태 정보를 요청할 수 있다.
상기 모듈 콘트롤러는 상기 요청에 응답해 상기 메모리 콘트롤러에게 상기 상태 정보를 전달할 수 있다.
상기 통보는 상기 규정된 구간의 일부 구간에서 상기 모듈 콘트롤러가 상기 데이터 스트로브 신호를 고정하는 것에 의해 수행되고, 상기 모듈 콘트롤러는 상기 규정된 구간의 나머지 구간에서 상기 메모리 모듈의 상태 정보를 상기 메모리 콘트롤러로 전달할 수 있다.
상기 상태 정보는 데이터 스트로브 신호 전송 라인을 통해 전달될 수 있다.
상기 상태 정보는 데이터 전송 라인을 통해 전달될 수 있다.
본 발명의 실시예들에 따르면, 메모리 모듈이 레이턴시를 지키지 못하는 문제를 해결할 수 있다.
도 1은 본 발명의 일실시예에 따른 메모리 시스템(100)의 구성도.
도 2는 도 1의 메모리 시스템(100)의 리드 동작을 도시한 타이밍도.
도 3은 도 1의 메모리 시스템(100)의 리드 동작 중 메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 규정된 구간 내에 전달해주는 것이 불가능한 경우에 대응하기 위한 방법의 제1실시예를 도시한 도면.
도 4는 도 1의 메모리 시스템(100)의 리드 동작 중 메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 규정된 구간 내에 전달해주는 것이 불가능한 경우에 대응하기 위한 방법의 제2실시예를 도시한 도면.
도 5는 도 1의 메모리 시스템(100)의 리드 동작 중 메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 규정된 구간 내에 전달해주는 것이 불가능한 경우에 대응하기 위한 방법의 제3실시예를 도시한 도면.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성 요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
도 1은 본 발명의 일실시예에 따른 메모리 시스템(100)의 구성도이다.
도 1을 참조하면, 메모리 시스템(100)은 메모리 콘트롤러(110)와 메모리 모듈(120)을 포함할 수 있다.
메모리 콘트롤러(110)는 커맨드 버스(CMD_BUS)를 통해 커맨드를 메모리 모듈(120)로 전송하고, 어드레스 버스(ADD_BUS)를 통해 어드레스를 메모리 모듈(120)로 전송할 수 있다. 그리고 데이터 버스(DATA_BUS)를 통해 메모리 모듈(120)과 데이터를 송수신할 수 있다. 메모리 콘트롤러(110)는 메모리 모듈(120)에 커맨드와 어드레스를 인가하는 것에 의해 메모리 모듈(120)의 라이트 동작 및 리드 동작 등의 동작을 지시하고, 라이트 동작시에는 메모리 모듈(120)에 라이트될 데이터를 송신하고 리드 동작시에는 메모리 모듈(120)로부터 리드된 데이터를 수신할 수 있다. 한편, 메모리 콘트롤러(110)는 메모리 모듈(120)에서 사용할 클럭을 클럭 라인(CLK_LINE)으로 전송할 수 있다. 메모리 콘트롤러(110)와 메모리 모듈(120) 간의 신호 전송은 DFI (DDR PHY Interface) 표준 프로토콜에 따라 이루어질 수 있다.
데이터 버스(DATA_BUS)는 다수의 데이터 전송 라인(DQ_LINE<0:63>)과 다수의 데이터 스트로브 신호 전송 라인(DQS_LINE<0:7>)을 포함할 수 있다. 다수의 데이터 전송 라인(DQ_LINE<0:63>)으로는 데이터가 전송되고, 다수의 데이터 스트로브 신호 전송 라인(DQS_LINE<0:7>)으로는 다수의 데이터 전송 라인(DQ_LINE<0:63>)으로 전송되는 데이터를 스트로빙(strobing)하기 위한 데이터 스트로브 신호들이 전송될 수 있다. 도 1에서는 데이터 전송 라인(DQ_LINE<0:63>)이 64개이고 데이터 스트로브 신호 전송 라인(DQS_LINE<0:7>)이 8개인 것을 예시했다. 하나의 데이터 스트로브 신호 전송 라인으로 전송되는 데이터 스트로브 신호가 8개의 데이터 전송 라인으로 전송되는 데이터를 스트로빙할 수 있다. 예를 들어, 데이터 스트로브 신호 전송 라인(DQS_LINE<0>)으로 전송되는 데이터 스트로브 신호는 데이터 전송 라인들(DQ_LINE<0:7>)로 전송되는 데이터를 스트로빙하고, 데이터 스트로브 신호 전송 라인(DQS_LINE<1>)으로 전송되는 데이터는 데이터 전송 라인들(DQ_LINE<8:15>)로 전송되는 데이터를 스트로빙할 수 있다.
메모리 모듈(120)은 모듈 콘트롤러(130)와 다수의 메모리 장치(141~148)를 포함할 수 있다. 다수의 메모리 장치(141~148)는 동일한 종류의 메모리 장치들일 수도 있고, 2가지 이상의 메모리 장치들이 섞여 있을 수도 있다. 예를 들어, 메모리 장치들(141~146)은 DRAM이고 메모리 장치들(147~148)은 PCRAM 또는 NAND flash일 수도 있다.
모듈 콘트롤러(130)는 커맨드 버스(CMD_BUS)와 어드레스 버스(ADD_BUS)를 통해 메모리 콘트롤러(110)로부터 커맨드와 어드레스를 수신하고, 데이터 버스(DATA_BUS)를 통해 메모리 콘트롤러(110)와 데이터를 송수신할 수 있다. 또한, 클럭 전달 라인(CLK_LINE)을 통해 메모리 콘트롤러(110)로부터 클럭을 수신할 수 있다. 모듈 콘트롤러(130)는 메모리 모듈(120) 내의 내부 버스(121)를 통해 메모리 장치들(141~148)에게 커맨드와 어드레스를 전달하고 메모리 장치들(141~148)과 데이터를 송수신하며, 메모리 장치들(141~148)이 라이트 동작 및 리드 동작 등을 수행하도록 제어할 수 있다. 모듈 콘트롤러(130)는 메모리 장치들(141~148)과 메모리 콘트롤러(110) 간의 인터페이스 역할 뿐만이 아니라, 메모리 장치들(141~148)에서 발생하는 에러를 정정하기 위한 에러 정정 동작 등을 수행할 수도 있다. 모듈 콘트롤러(130)와 메모리 장치들(141~148) 간의 커맨드, 어드레스 및 데이터의 전송은 모듈 콘트롤러(130)와 메모리 콘트롤러(110) 간의 커맨드, 어드레스 및 데이터의 전송과 동일한 프로토콜로 수행될 수도 있고, 다른 프로토콜로 수행될 수도 있다. 예를 들어, 메모리 장치들(141~148) 중 DRAM인 메모리 장치들과 모듈 콘트롤러(130) 간의 커맨드, 어드레스 및 데이터의 전송은 모듈 콘트롤러(130)와 메모리 콘트롤러(110) 간의 커맨드, 어드레스 및 데이터의 전송과 동일 또는 유사한 프로토콜로 수행될 수 있지만, 메모리 장치들(141~148) 중 PCRAM 또는 NAND flash인 메모리 장치들과 모듈 콘트롤러(130) 간의 커맨드, 어드레스 및 데이터의 전송은 모듈 콘트롤러(130)와 메모리 콘트롤러(110) 간의 커맨드, 어드레스 및 데이터의 전송과는 다른 프로토콜로 수행될 수 있다.
도 2는 도 1의 메모리 시스템(100)의 리드 동작을 도시한 타이밍도이다.
도 2를 참조하면, 먼저 시점(T0)에 리드 커맨드(RD)가 메모리 콘트롤러(110)로부터 메모리 모듈(120)로 인가될 수 있다. 여기에는 도시되지 않았지만 리드 동작이 수행될 영역을 선택하기 위한 어드레스도 리드 커맨드(RD)와 함께 인가될 수 있다.
시점(T0)으로부터 리드 레이턴시(RL: Read Latency, 11로 예시됨) 만큼의 시간이 지난 시점(T11)부터 8개의 데이터 스트로브 신호 전송 라인(DQS_LINE<0:7>)으로 전송되는 데이터 스트로브 신호들에 동기해 64개의 데이터 전송 라인(DQ_LINE<0:63>)을 통해 데이터(D)가 메모리 모듈(120)로부터 메모리 콘트롤러(110)로 전달될 수 있다. 여기서는 버스트 길이(BL: Burst Length)가 8이고, 4클럭 동안 데이터(D)가 출력되는 것을 예시했다.
도면의 tRPRE는 데이터 스트로브 신호의 프리앰블(preamble)을 나타내고, tRPST는 데이터 스트로브 신호의 포스트앰블(postamble)을 나타낸다. 그리고 도면의 DES는 DeSelect 즉 아무런 커맨드도 인가되지 않음을 나타낸다.
도 2는 메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 전달해주기로 규정된 구간, 즉 리드 커맨드(RD)의 인가 시점(T0)으로부터 리드 레이턴시만큼(RL)의 시간이 지난 시점(T11) ~ 시점(T11)으로부터 버스트 길이(BL)만큼의 시간이 지난 시점(T15)까지의 구간, 에 메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 전달해주는데 문제가 발생하지 않은 경우의 동작을 도시한다. 즉, 도 2는 정상적인 리드 동작의 수행이 가능한 경우의 동작을 도시한다.
메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 전달해주기로 규정된 구간(T11~T15)에 리드 데이터를 전달해주는 것이 불가능한 경우에는 하기의 도 3 내지 도 5에 도시된 방법 중 하나가 사용될 수 있다.
도 3은 도 1의 메모리 시스템(100)의 리드 동작 중 메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 규정된 구간 내에 전달해주는 것이 불가능한 경우에 대응하기 위한 방법의 제1실시예를 도시한 도면이다.
도 3을 참조하면, 먼저 시점(T0)에 리드 커맨드(RD)가 메모리 콘트롤러(110)로부터 메모리 모듈(120)로 인가될 수 있다. 여기에는 도시되지 않았지만 리드 동작이 수행될 영역을 선택하기 위한 어드레스도 리드 커맨드(RD)와 함께 인가될 수 있다.
시점(T0)으로부터 리드 레이턴시(RL) 만큼의 시간이 지난 시점(T11)부터 시점(T15)까지의 구간에는 데이터 스트로브 신호 전송 라인들(DQS_LINE<0:7>)로 전달되는 데이터 스트로브 신호들이 토글하고 이에 동기해 데이터 전송 라인들(DQ_LINE<0:63>)로 리드 데이터가 전달되어야 한다. 그러나 메모리 모듈(120)이 이 구간(T11~T15)에 리드 데이터를 메모리 콘트롤러(110)로 제공할 수 없는 경우에, 메모리 모듈(120)의 모듈 콘트롤러(130)는 데이터 스트로브 신호 전송 라인들(DQS_LINE<0:7>)로 전달되는 데이터 스트로브 신호들을 토글시키지 않고 고정시킴으로써 이를 알릴 수 있다. 도면에서는 데이터 스트로브 신호들이 로우 레벨로 고정되는 것을 예시했지만, 데이터 스트로브 신호들이 하이 레벨로 고정될 수도 있다. 구간(T11~T15) 동안 데이터 스트로브 신호들을 로우 레벨로 고정하는 것은 메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 제공하지 못한다는 것을 알리기 위해서인데, 이때 모든 데이터 스트로브 신호들을 로우 레벨로 고정해야 하는 것은 아니다. 하나의 데이터 스트로브 신호의 레벨만 로우로 고정하더라도 메모리 콘트롤러(110)가 이를 인식할 수 있다. 그리고 구간(T11~T15) 동안에 계속 데이터 스트로브 신호들의 레벨을 로우로 고정해야 하는 것도 아니다. 데이터 스트로브 신호들의 레벨을 적어도 1클럭 이상 로우로 고정해도 이를 메모리 콘트롤러(110)가 인식할 수 있다.
구간(T11~T15) 동안 데이터 스트로브 신호들이 고정되는 것에 의해 메모리 콘트롤러(110)는 메모리 모듈(120)이 리드 데이터를 제공하지 못한다는 것을 파악할 수 있다. 메모리 모듈(120)이 리드 데이터를 제공하지 못한다는 것을 파악한 이후인 시점(T18)에 메모리 콘트롤러(110)는 메모리 모듈(120)의 상태를 확인하기 위한 상태 확인 커맨드(MRS_STATUS)를 메모리 모듈(120)로 인가할 수 있다. 상태 확인 커맨드(MRS_STATUS)는 커맨드 버스(CMD_BUS)를 통해 MRS 커맨드를 인가하고, 어드레스 버스(ADD_BUS)를 통해 메모리 모듈(120)이 리드 데이터를 제공하지 못하는 원인을 문의하는 어드레스 값을 송신하는 것에 의해 메모리 콘트롤러(110)로부터 메모리 모듈(120)로 인가될 수 있다.
시점(T18)으로부터 일정 시간이 지난 시점(T21)에 메모리 모듈(120)의 모듈 콘트롤러(130)로부터 메모리 콘트롤러(110)로 상태 정보(S)가 전달될 수 있다. 상태 정보(S)의 전달은 데이터 전송 라인들(DQ_LINE<0:63>)을 통해 수행될 수 있다. 또한, 데이터 전송 라인들(DQ_LINE<0:63>)로 전달되는 상태 정보(S)의 스트로빙을 위해 데이터 스트로브 신호 전송 라인들(DQS_LINE<0:7>)의 데이터 스트로브 신호들이 토글할 수 있다. 상태 정보(S)의 정보양이 많지는 않을 것이기 때문에, 상태 정보(S)의 전송에 데이터 전송 라인들(DQ_LINE<0:63>)의 전부를 사용할 필요는 없다. 예를 들어, 데이터 전송 라인들(DQ_LINE<0:63>) 중 하나의 데이터 전송 라인(DQ_LINE<0>)으로만 상태정보가 전송되고, 이를 스트로빙하기 위해 데이터 스트로브 신호 전송 라인들(DQS_LINE<0:7>) 중 하나의 데이터 스트로브 신호 전송 라인(DQS_LINE<0>)의 스트로브 신호만이 토글할 수도 있다.
메모리 모듈(120)이 메모리 콘트롤러(110)로 규정된 구간(T11~T15)에 리드 데이터를 제공하지 못하는 이유는 다양할 수 있다. 예를 들어, (1)메모리 장치들(141~148) 중 특정 메모리 장치의 리드 동작에 시간이 많이 필요한 경우, (2)메모리 장치들(141~148)로부터 리드된 데이터에 에러가 많아 에러 정정에 보다 많은 시간이 필요한 경우, (3)메모리 장치들(141~148)로부터 리드된 데이터에 에러가 많아 아예 정정이 불가능한 경우, 및 (4)메모리 장치들(141~148) 중 일부 메모리 장치의 리드 동작에서 에러가 발생해 리드 리트라이(read retry) 동작을 수행해야 하는 경우 등등이 있을 수 있다.
상태 정보(S)에는 메모리 모듈(120)이 메모리 콘트롤러(110)로 규정된 구간(T11~T15)에 리드 데이터를 제공하지 못하는 원인에 대한 정보, 이후에는 리드 데이터의 제공이 가능한지/불가능한지에 대한 정보 및 리드 데이터의 제공이 가능하다면 언제 가능한지 등의 정보가 포함될 수 있다.
도 3을 참조하면, 메모리 모듈(120)이 메모리 콘트롤러(110)에 규정된 구간에 리드 데이터를 제공하지 못한다는 것을 통보하는 것이 가능하며, 메모리 콘트롤러(110)가 그 원인 및 리드 데이터를 수신 가능한 시점에 대한 정보를 파악하는 것이 가능할 수 있다. 이러한 프로토콜의 사용에 의해 메모리 모듈(120)에서 레이턴시 규정을 지키지 못하더라도 이에 대해 유연하게 대처하는 것이 가능할 수 있다.
도 4는 도 1의 메모리 시스템(100)의 리드 동작 중 메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 규정된 구간 내에 전달해주는 것이 불가능한 경우에 대응하기 위한 방법의 제2실시예를 도시한 도면이다.
도 4를 참조하면, 먼저 시점(T0)에 리드 커맨드(RD)가 메모리 콘트롤러(110)로부터 메모리 모듈(120)로 인가될 수 있다. 여기에는 도시되지 않았지만 리드 동작이 수행될 영역을 선택하기 위한 어드레스도 리드 커맨드(RD)와 함께 인가될 수 있다.
메모리 모듈(120)이 리드 데이터를 전달하기로 규정된 구간(T11~T15)에 리드 데이터를 메모리 콘트롤러(110)로 제공할 수 없는 경우에, 모듈 콘트롤러(130)는 규정된 구간(T11~T15)의 일부 구간(T11~T13)에서 데이터 스트로브 신호 전송 라인들(DQS_LINE<0:7>)로 전송되는 스트로브 신호들을 로우 레벨로 고정시켜 메모리 콘트롤러(110)에 규정된 구간에서는 리드 데이터의 제공이 불가능함을 알릴 수 있다.
그리고 규정된 구간의 나머지 구간(T13~T15)에서 메모리 모듈(120)의 모듈 콘트롤러(130)로부터 메모리 콘트롤러(110)로 상태 정보(S)가 전달될 수 있다. 상태 정보(S)는 데이터 스트로브 신호 전송 라인들(DQS_LINE<0:6>)을 통해 전송될 수 있으며, 상태 정보(S)를 스트로빙하기 위해 데이터 스트로브 신호 전송 라인(DQS_LINE<7>)의 데이터 스트로브 신호가 토글할 수 있다. 즉, 데이터 스트로브 신호 전송 라인들(DQS_LINE<0:6>)을 통해 전송되는 상태 정보(S)는 데이터 스트로브 신호 전송 라인(DQS_LINE<7>)으로 전송되는 데이터 스트로브 신호에 동기되 전송될 수 있다.
도 4의 실시예에 따르면, 메모리 모듈(120)이 리드 데이터를 전달하기로 규정된 구간에 리드 데이터를 메모리 콘트롤러(110)로 제공할 수 없는 경우에, 데이터 스트로브 신호를 고정시키는 것에 의해 이를 통보하고, 통보에 이어서 바로 상태 정보(S)를 메모리 콘트롤러(110)로 전달할 수 있다. 이러한 프로토콜의 사용에 의해 메모리 모듈(120)에서 레이턴시 규정을 지키지 못하더라도 이에 대해 유연하게 대처하는 것이 가능할 수 있다.
도 5는 도 1의 메모리 시스템(100)의 리드 동작 중 메모리 모듈(120)이 메모리 콘트롤러(110)로 리드 데이터를 규정된 구간 내에 전달해주는 것이 불가능한 경우에 대응하기 위한 방법의 제3실시예를 도시한 도면이다.
도 5를 참조하면, 먼저 시점(T0)에 리드 커맨드(RD)가 메모리 콘트롤러(110)로부터 메모리 모듈(120)로 인가될 수 있다. 여기에는 도시되지 않았지만 리드 동작이 수행될 영역을 선택하기 위한 어드레스도 리드 커맨드(RD)와 함께 인가될 수 있다.
메모리 모듈(120)이 리드 데이터를 전달하기로 규정된 구간(T11~T15)에 리드 데이터를 메모리 콘트롤러(110)로 제공할 수 없는 경우에, 모듈 콘트롤러(130)는 규정된 구간(T11~T15)의 일부 구간(T11~T13)에서 데이터 스트로브 신호 전송 라인들(DQS_LINE<0:7>)로 전송되는 스트로브 신호들을 로우 레벨로 고정시켜 메모리 콘트롤러(110)에 규정된 구간에서는 리드 데이터의 제공이 불가능함을 알릴 수 있다.
그리고 규정된 구간(T11~T15)의 나머지 구간(T13~T15)에서 메모리 모듈(120)의 모듈 콘트롤러(130)로부터 메모리 콘트롤러(110)로 상태 정보(S)가 전달될 수 있다. 상태 정보(S)는 데이터 전송 라인들(DQ_LINE<0:63>) 중 일부(DQ_LINE<56:63>)를 통해 전송될 수 있으며, 상태 정보(S)를 스트로빙하기 위해 데이터 스트로브 전송 라인(DQS_LINE<7>)의 신호가 구간(T13~T15) 동안에 토글할 수 있다. 즉, 데이터 전송 라인들(DQ_LINE<0:63>)을 통해 전송되는 상태 정보(S)는 데이터 스트로브 전송 라인(DQS_LINE<7>)으로 전송되는 데이터 스트로브 신호에 동기되 전송될 수 있다.
도 5의 실시예는 도 4의 실시예와 마찬가지로 메모리 모듈(120)이 리드 데이터를 전달하기로 규정된 구간에 리드 데이터를 메모리 콘트롤러(110)로 제공할 수 없는 경우에, 데이터 스트로브 신호를 고정시키는 것에 의해 이를 통보하고, 통보에 이어서 바로 상태 정보(S)를 메모리 콘트롤러(110)로 전달할 수 있다. 이러한 프로토콜의 사용에 의해 메모리 모듈(120)에서 레이턴시 규정을 지키지 못하더라도 이에 대해 유연하게 대처하는 것이 가능할 수 있다.
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 전문가라면 본 발명의 기술사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.
100: 메모리 시스템 110: 메모리 콘트롤러
120: 메모리 모듈 130: 모듈 콘트롤러
141~148: 메모리 장치들

Claims (16)

  1. 메모리 콘트롤러가 메모리 모듈에 리드 커맨드를 인가하는 단계;
    상기 메모리 모듈이 상기 메모리 콘트롤러로 규정된 구간에 리드 데이터를 전달할 수 없는 경우에, 데이터 스트로브 신호를 이용해 이를 통보하는 단계;
    상기 통보에 응답해 상기 메모리 콘트롤러가 상기 메모리 모듈의 상태를 파악하기 위한 상태 확인 커맨드를 인가하는 단계; 및
    상기 상태 확인 커맨드에 응답해 상기 메모리 모듈이 상기 메모리 콘트롤러로 자신의 상태 정보를 전달하는 단계
    를 포함하는 메모리 시스템의 동작 방법.
  2. 제 1항에 있어서,
    상기 규정된 구간은
    상기 리드 커맨드가 인가된 시점으로부터 리드 레이턴시(RL: Read Latency) 만큼의 시간이 지난 제1시점부터 제1시점으로부터 버스트 길이(BL: Burst Length)만큼의 시간이 지난 제2시점까지의 구간인
    메모리 시스템의 동작 방법.
  3. 제 1항에 있어서,
    상기 통보하는 단계에서
    상기 메모리 모듈은 상기 규정된 구간 내에서 적어도 1클럭 이상의 시간 동안 상기 데이터 스트로브 신호를 고정하는
    메모리 시스템의 동작 방법.
  4. 메모리 콘트롤러가 메모리 모듈에 리드 커맨드를 인가하는 단계;
    상기 메모리 모듈이 상기 메모리 콘트롤러로 규정된 구간에 리드 데이터를 전달할 수 없는 경우에, 데이터 스트로브 신호를 이용해 이를 통보하는 단계; 및
    상기 통보에 이어 상기 메모리 모듈이 상기 메모리 콘트롤러로 자신의 상태 정보를 전달하는 단계
    를 포함하는 메모리 시스템의 동작 방법.
  5. 제 4항에 있어서,
    상기 규정된 구간은
    상기 리드 커맨드가 인가된 시점으로부터 리드 레이턴시(RL: Read Latency) 만큼의 시간이 지난 제1시점부터 제1시점으로부터 버스트 길이(BL: Burst Length)만큼의 시간이 지난 제2시점까지의 구간인
    메모리 시스템의 동작 방법.
  6. 제 5항에 있어서,
    상기 통보하는 단계에서
    상기 메모리 모듈은 상기 규정된 구간 내의 일부 구간에서 상기 데이터 스트로브 신호를 고정하는
    메모리 시스템의 동작 방법.
  7. 제 6항에 있어서,
    상기 전달하는 단계는 상기 규정된 구간 내의 나머지 구간에서 수행되는
    메모리 시스템의 동작 방법.
  8. 제 7항에 있어서,
    상기 상태 정보는 데이터 스트로브 신호 전송 라인을 통해 전달되는
    메모리 시스템의 동작 방법.
  9. 제 7항에 있어서,
    상기 상태 정보는 데이터 전송 라인을 통해 전달되는
    메모리 시스템의 동작 방법.
  10. 다수의 메모리 장치와 이를 제어하는 모듈 콘트롤러를 포함하는 메모리 모듈; 및
    상기 메모리 모듈의 동작을 지시하는 메모리 콘트롤러를 포함하고,
    상기 메모리 콘트롤러의 지시에 의한 상기 메모리 모듈의 리드 동작 수행시, 규정된 구간에 상기 메모리 모듈이 상기 메모리 콘트롤러로 리드 데이터를 전달할 수 없는 경우에, 상기 모듈 콘트롤러는 데이터 스트로브 신호를 이용해 이를 메모리 콘트롤러로 통보하는
    메모리 시스템.
  11. 제 10항에 있어서,
    상기 규정된 구간은
    상기 메모리 콘트롤러가 상기 메모리 모듈에게 리드 동작을 지시한 시점으로부터 리드 레이턴시(RL: Read Latency) 만큼의 시간이 지난 제1시부터 제1시점으로부터 버스트 길이(BL: Burst Length) 만큼의 시간이 지난 제2시점까지의 구간인
    메모리 시스템.
  12. 제 10항에 있어서,
    상기 메모리 콘트롤러는 상기 통보를 받은 경우에, 상기 모듈 콘트롤러에게 상기 메모리 모듈의 상태 정보를 요청하는
    메모리 시스템.
  13. 제 12항에 있어서,
    상기 모듈 콘트롤러는 상기 요청에 응답해 상기 메모리 콘트롤러에게 상기 상태 정보를 전달하는
    메모리 시스템.
  14. 제 11항에 있어서,
    상기 통보는 상기 규정된 구간의 일부 구간에서 상기 모듈 콘트롤러가 상기 데이터 스트로브 신호를 고정하는 것에 의해 수행되고,
    상기 모듈 콘트롤러는 상기 규정된 구간의 나머지 구간에서 상기 메모리 모듈의 상태 정보를 상기 메모리 콘트롤러로 전달하는
    메모리 시스템.
  15. 제 14항에 있어서,
    상기 상태 정보는 데이터 스트로브 신호 전송 라인을 통해 전달되는
    메모리 시스템.
  16. 제 14항에 있어서,
    상기 상태 정보는 데이터 전송 라인을 통해 전달되는
    메모리 시스템.
KR1020160172387A 2016-12-16 2016-12-16 메모리 시스템 및 이의 동작 방법 KR20180070743A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160172387A KR20180070743A (ko) 2016-12-16 2016-12-16 메모리 시스템 및 이의 동작 방법
US15/666,739 US10146709B2 (en) 2016-12-16 2017-08-02 Memory system and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160172387A KR20180070743A (ko) 2016-12-16 2016-12-16 메모리 시스템 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20180070743A true KR20180070743A (ko) 2018-06-27

Family

ID=62562551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160172387A KR20180070743A (ko) 2016-12-16 2016-12-16 메모리 시스템 및 이의 동작 방법

Country Status (2)

Country Link
US (1) US10146709B2 (ko)
KR (1) KR20180070743A (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291126B2 (en) 2010-03-23 2012-10-16 Spansion Llc Variable read latency on a serial memory bus
US8966151B2 (en) * 2012-03-30 2015-02-24 Spansion Llc Apparatus and method for a reduced pin count (RPC) memory bus interface including a read data strobe signal
US9740485B2 (en) 2012-10-26 2017-08-22 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9111607B2 (en) * 2013-05-31 2015-08-18 Freescale Semiconductor, Inc. Multiple data rate memory with read timing information

Also Published As

Publication number Publication date
US20180173650A1 (en) 2018-06-21
US10146709B2 (en) 2018-12-04

Similar Documents

Publication Publication Date Title
USRE49151E1 (en) Memory system and electronic device
CN101783175B (zh) 从非易失性存储器设备向存储器控制器提供就绪-忙信号
US20070005922A1 (en) Fully buffered DIMM variable read latency
EP3436963A1 (en) Memory subsystem with narrow bandwidth repeater channel
KR100818298B1 (ko) 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법
US10521141B2 (en) Memory module and method system including the same
US8364872B2 (en) Slave and communicating method between a master and the same
US11195563B2 (en) Semiconductor apparatus and semiconductor system with training function
KR20190061856A (ko) 메모리 모듈 및 메모리 모듈의 동작 방법
KR20150145465A (ko) 메모리 시스템 및 이의 동작 방법
TW200304087A (en) Method and apparatus for supplementary command bus
US20060077730A1 (en) Memory control module and method for operating a memory control module
US10282133B2 (en) Memory devices with programmable latencies and methods for operating the same
US20210026789A1 (en) Method of Memory Time Division Control and Related Device
KR20190120526A (ko) 메모리 장치 및 이의 동작 방법
WO2019141050A1 (zh) 一种刷新处理方法、装置、系统及内存控制器
US9368236B2 (en) Semiconductor memory apparatus and test method thereof
KR20110018947A (ko) 전기 회로, 방법 및 동적 랜덤 액세스 메모리
CN108139879B (zh) 一种数据访问的方法及内存控制器
KR20180070743A (ko) 메모리 시스템 및 이의 동작 방법
KR102617843B1 (ko) 메모리 시스템 및 이의 동작 방법
KR20180102268A (ko) 메모리 모듈 및 이를 포함하는 메모리 시스템
CN110364195B (zh) 存储器件以及包括其的存储系统
KR20180070422A (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
JP3659481B2 (ja) Plc用表示システムおよびplcと表示器とのデータ通信方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal