KR102306585B1 - 거래 식별 - Google Patents

거래 식별 Download PDF

Info

Publication number
KR102306585B1
KR102306585B1 KR1020197033302A KR20197033302A KR102306585B1 KR 102306585 B1 KR102306585 B1 KR 102306585B1 KR 1020197033302 A KR1020197033302 A KR 1020197033302A KR 20197033302 A KR20197033302 A KR 20197033302A KR 102306585 B1 KR102306585 B1 KR 102306585B1
Authority
KR
South Korea
Prior art keywords
tid
memory device
host
record
command
Prior art date
Application number
KR1020197033302A
Other languages
English (en)
Other versions
KR20190129139A (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 KR20190129139A publication Critical patent/KR20190129139A/ko
Application granted granted Critical
Publication of KR102306585B1 publication Critical patent/KR102306585B1/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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • 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/1673Details of memory controller using buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)

Abstract

본 개시는 거래 식별에 관한 장치 및 방법을 포함한다. 예시적인 장치는 호스트 거래 식별(TID) 레코드를 메모리 디바이스 거래 식별(TID) 레코드와 비교함으로써 명령과 관련된 거래 식별(TID)을 결정할 수 있다.

Description

거래 식별
본 발명은 일반적으로 메모리 디바이스에 관한 것으로, 보다 구체적으로는 거래 식별용 장치 및 방법에 관한 것이다.
메모리 디바이스는 일반적으로 컴퓨터 또는 다른 전자 디바이스에서 내부 반도체 집적 회로로서 제공된다. 휘발성 및 비 휘발성 메모리를 포함하여 많은 상이한 유형의 메모리가 있다. 휘발성 메모리는 데이터를 유지하기 위해 전원이 필요할 수 있으며, 다른 것들 중에서도 RAM(Random-Access Memory), DRAM(Dynamic Random Access Memory) 및 SDRAM(Synchronous Dynamic Random Access Memory)을 포함한다. 비 휘발성 메모리는 전력이 공급되지 않을 때 저장된 데이터를 유지하여 영구 데이터를 제공할 수 있으며, 다른 것들 중에서도, NAND 플래시 메모리, NOR 플래시 메모리, ROM(Read Only Memory), EEPROM(Electrically Erasable Programmable ROM), EPROM(Erasable Programmable ROM), 가변 저항 메모리, 가령, PCRAM(phase change random access memory), RRAM(resistive random access memory) 및 MRAM(magnetoresistive random access memory)을 포함한다.
메모리는 또한 광범위한 전자 응용예를 위한 휘발성 및 비 휘발성 데이터 저장 장치로서 이용된다. 비 휘발성 메모리는 예를 들어 개인용 컴퓨터, 휴대용 메모리 스틱, 디지털 카메라, 휴대폰, MP3 플레이어와 같은 휴대용 음악 플레이어, 영화 플레이어 및 기타 전자 디바이스에 사용될 수 있다. 메모리 셀은 어레이로 배열될 수 있으며, 이러한 어레이가 메모리 디바이스에 사용된다.
메모리는 컴퓨팅 디바이스에 사용되는 메모리 모듈(예를 들어, 듀얼 인라인 메모리 모듈(DIMM))의 일부일 수 있다. 메모리 모듈은 예를 들어 DRAM과 같은 휘발성 메모리, 및/또는 플래시 메모리 또는 RRAM과 같은 비 휘발성 메모리를 포함할 수 있다. DIMM은 컴퓨팅 시스템에서 기본 메모리를 사용할 수 있다.
도 1a는 본 개시의 다수의 실시예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템 형태의 장치의 블록도이다.
도 1b는 본 개시의 다수의 실시예들에 따른 듀얼 인라인 메모리 모듈(DIMM) 형태의 장치의 블록도이다.
도 2는 본 개시의 다수의 실시예에 따른 다수의 동작들의 도해이다.
도 3a-3b는 거래 식별(ID) 레코드를 예시하는 표다.
도 4는 본 개시의 다수의 실시예에 따른 다수의 동작들의 도해이다.
도 5는 본 개시의 다수의 실시예에 따른 거래 식별의 순서도의 일례를 도시한다.
본 개시는 거래 식별용 장치 및 방법을 포함한다. 예시적인 장치는 호스트 거래 식별(TID) 레코드를 메모리 디바이스 거래 식별(TID) 레코드와 비교함으로써 명령과 관련된 거래 식별(TID)를 결정할 수 있다.
본 개시의 하나 이상의 실시예에서, 호스트 제어기는 명령과 관련된 거래 에러를 수신함에 응답하여 상태 요청으로 메모리 디바이스에 질의하고, 메모리 디바이스로부터 메모리 디바이스 거래 식별(TID) 레코드를 수신하며, 호스트 거래 식별(TID) 레코드를 메모리 디바이스 TID 레코드에 비교함으로써 명령과 관련된 거래 식별(TID)를 결정하도록 구성될 수 있다. 호스트 제어기는 메모리 디바이스로부터의 명령으로 데이터를 수신하도록 구성될 수 있다. 호스트 제어기는 명령과 관련된 데이터에 커럽트(corrupt) TID를 포함할 수 있는 전송 에러를 검출하도록 구성될 수 있다. 호스트 제어기는 그 후 전송 에러 수신에 응답하여 메모리 디바이스에 질의한다.
본 개시의 하나 이상의 실시예에서, 호스트 제어기는 호스트 TID로부터 빠진 메모리 디바이스 TID 레코드 내 TID를 식별함으로써 명령과 관련된 TID를 결정한다. 호스트 제어기는 그 후, 결정된 TID로 명령을 다시 전송함으로써 데이터를 재요청할 수 있다. 그 후 호스트 제어기는 메모리 디바이스로부터의 명령으로 데이터를 수신할 수 있다.
본 개시의 하나 이상의 실시예에서, 제 1 TID 및 제 2 TID는 제 1 및 제 2 명령에 대응하여 생성될 수 있다. 제 1 및 제 2 TID가 저장될 수 있다. 제 1 및 제 2 TID 저장은 메모리 제어기에서 실행될 수 있다. 제 1 TID를 가진 제 1 명령은 메모리 디바이스에 전송될 수 있고, 제 2 TID를 가진 제 2 명령이 메모리 디바이스에 전송될 수 있다. 하나 이상의 실시예에서, 제 1 명령 및 제 2 명령이 판독 동작 명령일 수 있다. 메모리 디바이스로부터 제 1 출력 데이터가 제공될 수 있다. 제 1 출력 데이터는 제 1 명령에 기초하여 제 1 동작 결과와, 제 1 동작 결과에 동반되는 제 3 TID를 포함할 수 있고, 제 3 TID는 제 1TID에 대응한다. 메모리 디바이스로부터 제 2 출력 데이터가 제공될 수 있다. 제 2 출력 데이터는 제 2 명령에 기초한 제 2 동작 결과와, 제 2 동작 결과에 수반되는 제 4 TID를 포함할 수 있고, 제 4 TID는 제 2 TID에 대응한다. 거래 에러가 제 3 및 제 4 TID 중 하나에서 발견될 때, 제 1 및 제 2 TID가 출력될 수 있다.
본 개시의 하나 이상의 실시예에서, 제 3 및 제 4 TID는 출력된 제 1 및 제 2 TID에 비교되어, 전송 에러를 포함한 되돌아온 제 1 및 제 2 TID 중 하나를 식별할 수 있다. 제 3 및 제 4 TID를 출력된 제 1 및 제 2 TID에 비교하는 과정이 호스트에서 실행될 수 있다. 제 1 TID를 가진 제 1 명령은 제 3 TID가 전송 에러를 포함하는 것으로 식별될 경우 메모리 디바이스로 재전송될 수 있다. 하나 이상의 실시예에서, 제 3 TID는 메모리 디바이스로부터 제 1 동작 결과보다 앞서 출력될 수 있고, 제 4 TID는 메모리 디바이스로부터 제 2 동작 결과보다 앞서 출력될 수 있다.
본 발명의 다음의 상세한 설명에서, 본 발명의 일부를 형성하고 본 발명의 다수의 실시예가 어떻게 실시될 수 있는지를 예시적으로 도시한 첨부 도면을 참조한다. 이들 실시예는 당 업자가 본 개시의 실시예를 실시할 수 있도록 충분히 상세하게 설명되며, 본 개시의 범위로부터 벗어남없이 다른 실시예가 이용될 수 있고 프로세스, 전기적 및/또는 구조적 변경이 이루어질 수 있음을 이해해야 한다. 본 명세서에 사용된 바와 같이, 지정자 "N"은 그렇게 지정된 다수의 특정 특징이 본 발명의 다수의 실시예에 포함될 수 있음을 나타낸다.
본 명세서에서 사용되는 바와 같이, "많은" 무엇은 그러한 것들 중 하나 이상을 지칭할 수 있다. 예를 들어, 다수의 메모리 디바이스는 하나 이상의 메모리 디바이스를 지칭할 수 있다. 또한, 특히 도면의 참조 번호와 관련하여 본 명세서에서 사용되는 "N"과 같은 부호는 이렇게 지정된 특정 특징의 개수가 본 개시의 다수의 실시예에 포함될 수 있음을 나타낸다.
본 명세서의 도면은 첫번째 숫자(들)가 도면 번호에 대응하고 나머지 숫자는 도면에서 요소 또는 구성 요소를 식별하는 넘버링 규칙을 따른다. 상이한 도면들 사이의 유사한 요소 또는 구성 요소는 유사한 숫자(digit)를 사용함으로써 식별될 수 있다. 이해할 수 있는 바와 같이, 본 명세서의 다양한 실시예에 도시된 요소는 본 개시의 다수의 추가 실시예를 제공하기 위해 추가, 교환 및/또는 제거될 수 있다. 또한, 도면들에 제공된 요소들의 비율 및 상대적인 스케일은 본 개시의 다양한 실시예들을 예시하기 위한 것이며 제한적인 의미로 사용되지 않아야 한다.
도 1a는 본 개시의 하나 이상의 실시예들에 따른, 다수의 메모리 시스템들(104-1 내지 104-N) 형태의 장치를 포함하는 컴퓨팅 시스템(100)의 기능 블록도이다. 본원에 사용된 "장치"는 예를 들어, 회로 또는 회로군, 다이 또는 다이스, 모듈 또는 모듈들, 장치 또는 장치들, 또는 시스템 또는 시스템들과 같은 다양한 구조 또는 구조들의 조합 중 임의의 것을 지칭할 수 있지만, 이에 제한되지는 않는다. 도 1a에 도시된 실시예에서, 메모리 시스템(104-1 내지 104-N)은 듀얼 인라인 메모리 모듈(DIMM)(110-1,..., 110-X, 110-Y)을 포함할 수 있다. DIMM(110-1,..., 110-X, 110-Y)은 휘발성 메모리 및/또는 비 휘발성 메모리를 포함할 수 있다. 다수의 실시예에서, 메모리 시스템(104-1,…, 104-N)은 멀티 칩 디바이스를 포함할 수 있다. 멀티 칩 디바이스는 다수의 상이한 메모리 유형 및/또는 메모리 모듈을 포함할 수 있다. 예를 들어, 메모리 시스템은 임의의 유형의 모듈 상에 비 휘발성 또는 휘발성 메모리를 포함할 수 있다. 도 1a 내지 도 5와 관련하여 아래에 설명된 예는 메모리 모듈로서 DIMM을 사용하지만, 본 개시의 프로토콜은 메모리가 비-결정적 명령을 실행할 수 있는 임의의 메모리 시스템에서 사용될 수 있다. 도 1a에서, 메모리 시스템(104-1)은 채널(112-1)을 통해 호스트에 연결되며, DIMM(110-1,..., 110-X)을 포함할 수 있으며, 여기서 DIMM(110-1)은 NVDIMM이고 DIMM(110-X)은 DRAM DIMM 이다. 이 예에서, 각각의 DIMM(110-1,..., 110-X, 110-Y)은 제어기(114)를 포함한다. 제어기(114)는 호스트(102)로부터 명령을 수신하고 DIMM 상에서 명령의 실행을 제어할 수 있다. 또한, 다수의 실시예에서, 본 개시의 프로토콜은 제어기없이 메모리 디바이스(예를 들어, DIMM)에 의해 구현될 수 있고, 본 개시의 프로토콜을 사용하는 명령의 실행은 메모리 디바이스에 내장될 수 있다. 호스트(102)는 DIMM 내 메모리의 유형에 따라 본 개시의 프로토콜 및/또는 종래의 프로토콜을 이용하여 명령을 DIMM(110-1,..., 110-X, 110-Y)에 전송할 수 있다. 예를 들어, 호스트는 본 개시의 프로토콜을 사용하여 NVDIMM과 동일한 채널(예를 들어, 채널(112-1))을 통해 통신할 수 있고, 종래의 프로토콜을 이용하여 역시 동일한 메모리 시스템 상에 있는 DRAM DIMM과 통신할 수 있다. 호스트 및 NVDIMM은 본 개시의 프로토콜에 따라, 판독 준비(R_RDY) 신호, 판독 전송(R_SEND) 신호, 기록 신용 증분(WC_INC) 신호 및 판독 식별(RID) 신호를 통해 통신할 수 있다. 판독 준비(R_RDY) 신호, 판독 전송(R_SEND) 신호, 기입 신용 증분(WC_INC) 신호 및 판독 식별(RID) 신호는 종래 프로토콜(예: DDR4)에서 사용되지 않은 핀을 통해, 또는, 본 프로토콜이 종래 프로토콜과 호환되도록 용도 변경(예를 들어 다르게 사용됨)되는 종래 프로토콜(예를 들어 DDR4)로부터의 핀을 통해 전송될 수 있다. 또한 핀은 개발 중인 프로토콜(예: DDR5)에서 판독 준비(R_RDY) 신호, 판독 전송(R_SEND) 신호, 기입 신용 증분(WC_INC) 신호 및 판독 식별(RID) 신호에 할당될 수 있다.
도 1a에 도시된 바와 같이, 호스트(102)는 메모리 시스템(104-1… 104-N)에 연결될 수 있다. 다수의 실시예들에서, 각각의 메모리 시스템(104-1 내지 104-N)은 채널을 통해 호스트(102)에 연결될 수 있다. 도 1a에서, 메모리 시스템(104-1)은 채널(112-1)을 통해 호스트(102)에 연결되고 메모리 시스템(104-N)은 채널(112-N)을 통해 호스트(102)에 연결된다. 호스트(102)는 다른 호스트 시스템 중에서 랩톱 컴퓨터, 개인용 컴퓨터, 디지털 카메라, 디지털 기록 및 재생 장치, 휴대 전화, PDA, 메모리 카드 판독기, 인터페이스 허브일 수 있고, 메모리 액세스 디바이스, 예를 들어 프로세서를 포함할 수 있다. 당 업자는 "프로세서"가 병렬 처리 시스템, 다수의 코프로세서 등과 같은 하나 이상의 프로세서를 의도할 수 있음을 이해할 것이다.
호스트(102)는 메모리 시스템(104-1… 104-N)과 통신하기 위한 호스트 제어기(108)를 포함한다. 호스트 제어기(108)는 명령을 채널(112-1...112-N)을 통해 DIMM(110-1,..., 110-X, 110-Y)에 전송할 수 있다. 호스트 제어기(108)는 DIMM(110-1,..., 110-X, 110-Y)과, 및/또는 DIMM(110-1,..., 110-X, 110-Y) 각각 상의 제어기(114)와 통신하여, 다른 동작들 중에서도, 데이터를 판독, 기입, 및 소거할 수 있다. 물리적 호스트 인터페이스는 메모리 시스템(104-1… 104-N)과, 물리적 호스트 인터페이스를 위한 호환 가능한 수용체를 갖는 호스트(102) 사이에서 제어, 어드레스, 데이터 및 다른 신호를 전달하기 위한 인터페이스를 제공할 수 있다. 이러한 신호들은 데이터 버스 및/또는 어드레스 버스와 같은 다수의 버스 상에서, 예를 들어, 채널(112-1...112-N)을 통해, 102와 DIMM(110-1,..., 110-X, 110-Y) 사이에서 통신될 수 있다.
DIMM 상의 호스트 제어기(108) 및/또는 제어기(114)는 제어 회로, 예를 들어 하드웨어, 펌웨어 및/또는 소프트웨어를 포함할 수 있다. 하나 이상의 실시예에서, 호스트 제어기(108) 및/또는 제어기(114)는 물리적 인터페이스를 포함하는 인쇄 회로 보드에 연결된 주문형 집적 회로(ASIC)일 수 있다. 또한, 각 DIMM(110-1,..., 110-X, 110-Y)은 휘발성 및/또는 비 휘발성 메모리의 버퍼(116) 및 레지스터(118)를 포함할 수 있다. 버퍼(116)는 명령 판독 및/또는 명령 기입 실행 중 사용되는 데이터를 버퍼링하는데 사용될 수 있다. 버퍼(116)는 기입 버퍼 및 판독 버퍼로 나누어질 수 있다. 기입 버퍼에 할당된 공간의 크기 및 판독 버퍼에 할당된 공간의 크기는 호스트 제어기(108)에 의해 제어될 수 있다. 호스트는 특정 DIMM으로 전송되는 명령의 유형에 기초하여, 기입 버퍼 및 판독 버퍼에 할당된 버퍼(116) 내 공간의 크기를 제어할 수 있다. 다수의 실시예에서, DIMM은 고정된 기입 버퍼 크기 및/또는 고정된 판독 버퍼 크기를 가질 수 있다. 레지스터(118)는 명령 실행의 우선순위를 결정하기 위해 우선순위 정보를 갖도록 프로그래밍될 수 있다.
DIMM(110-1,..., 110-X, 110-Y)은 메모리 시스템을 위한 메인 메모리를 제공할 수 있거나, 메모리 시스템 전체에 걸쳐 추가 메모리 또는 스토리지로서 사용될 수 있다. 각 DIMM(110-1,..., 110-X, 110-Y)은 메모리 셀들, 가령, 비휘발성 메모리 셀들의 하나 이상의 어레이를 포함할 수 있다. 어레이는 예를 들어 NAND 아키텍처를 갖는 플래시 어레이일 수 있다. 실시예는 특정 유형의 메모리 디바이스로 제한되지 않는다. 예를 들어, 메모리 디바이스는 특히 RAM, ROM, DRAM, SDRAM, PCRAM, RRAM 및 플래시 메모리를 포함할 수 있다.
도 1a의 실시예는 본 개시의 실시예를 모호하게하지 않도록 도시되지 않은 추가 회로를 포함할 수 있다. 예를 들어, 메모리 시스템(104-1 내지 104-N)은 I/O 회로를 통해 I/O 연결을 거쳐 제공된 어드레스 신호를 래치하기 위한 어드레스 회로를 포함할 수 있다. 어드레스 신호는 행 디코더 및 열 디코더에 의해 수신 및 디코딩되어 DIMM(110-1,..., 110-X, 110-Y)에 액세스할 수 있다. 어드레스 입력 연결의 수는 DIMM(110-1,..., 110-X, 110-Y)의 밀도 및 구조에 의존할 수 있음을 당 업자는 이해할 것이다.
도 1b는 본 개시의 다수의 실시예에 따른 듀얼 인라인 메모리 모듈(DIMM)(110) 형태의 장치의 블록도이다. 도 1b에서, DIMM(110)은 제어기(114)를 포함할 수 있다. 제어기(114)는 버퍼(116) 및/또는 다수의 레지스터(118)일 수 있는 SRAM 메모리와 같은 메모리를 포함할 수 있다. DIMM(110)은 제어기(113-1,..., 113-Z)에 연결된 다수의 메모리 디바이스를 포함할 수 있다. 메모리 디바이스(113-1,…, 113-Z)는 비 휘발성 메모리 어레이 및/또는 휘발성 메모리 어레이를 포함할 수 있다. 메모리 디바이스들(113-1,…, 113-Z)은 메모리 디바이스들(113-1,…, 113-Z)상에서 명령들을 실행하기 위해 사용될 수 있는 제어 회로(117)(예를 들어, 하드웨어, 펌웨어 및/또는 소프트웨어)를 포함할 수 있다. 제어 회로(117)는 제어기(114)로부터 명령을 수신할 수 있다. 제어 회로(117)는 메모리 디바이스(113-1,…, 113-Z)에서 데이터를 판독 및/또는 기록하는 명령을 실행하도록 구성될 수 있다.
도 2는 본 개시의 다수의 실시예에 따른 다수의 동작들의 도해이다. 도 2는 3개의 판독 동작의 예를 도시한다. 명령 신호(222)는 호스트로부터 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))로 전송될 수 있다. 명령 신호(222)는 활성화 명령 및 판독 명령을 포함할 수 있다. 도 2에서, 제 1 활성화 명령(242-100), 제 1 판독 명령(244-100), 제 2 활성화 명령((242-100), 제 2 판독 명령(244-200), 제 3 활성화 명령(242-300), 및 제 3 판독 명령(244-300)이 호스트(가령, 도 1a의 호스트(102))로부터 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))로 전송된다. 호스트(가령, 도 1a의 호스트(102))는 거래 식별(TID) 번호를 판독 명령에 할당할 수 있다. TID 번호는 호스트(가령, 도 1a의 호스트(102))에 의해 생성되는 식별자다. TID는 호스트(가령, 도 1a의 호스트(102)) 및 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))에 의해 동시에 생성되는 함축적(implicit) TID일 수 있다. 함축적 TID가 동기화 이벤트에 이어 나타날 수 있고, TID 정보는 호스트 및 메모리 디바이스 모두에 별개로 유지될 수 있으며, 에러있는 거래 식별자로부터 복원 방법을 제공할 수 있다. TID 번호는 판독 명령에 포함될 수 있고, 호스트(가령, 도 1의 호스트(102))로부터 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))로 판독 명령을 전송할 때 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))로 전송될 수 있다. 도 2에서, 제 1 판독 명령(244-100)이 123의 TID를 할당받을 수 있고, 제 2 판독 명령(244-200)이 131의 TID를 할당받을 수 있으며, 제 3 판독 명령(244-300)이 117의 TID를 할당받을 수 있다.
판독 명령(244-100,..., 244-300)의 수신에 응답하여, 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))는 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))의 버퍼 및/또는 캐시를 검사하여, 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))의 비휘발성 메모리에서, 판독 명령(244-100,..., 244-300)과 관련된 데이터의 위치를 결정할 수 있다. 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))는 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))에 의해 명령을 수신한 순서와는 다른 순서로 동작을 실행할 수 있다. 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))가 데이터의 위치를 결정하고 호스트(가령, 도 1a의 호스트(102))에 재송할 준비가 되었다면, 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))는 호스트(가령, 도 1a의 호스트(102))에 판독 레디 명령을 전송할 수 있다. 판독 레디 인디케이터는 데이터 관련 명령(244-100)이 호스트(가령, 도 1a의 호스트(102))에 전송될 준비가 되었음을 표시하기 위해 판독 레디 신호를 로우에서 하이로 또는 하이에서 로우로 토글링(가령, 전환)함으로써 호스트(가령, 도 1a의 호스트(102))에 전송될 수 있다. 호스트(가령, 도 1a의 호스트(102))는 판독 레디 신호의 전환을 검출함으로써 판독 레디 인디케이터를 검출할 수 있다. 판독 레디 인디케이터의 수신에 응답하여, 호스트(가령, 도 1a의 호스트(102))는 메모리 디바이스 제어기(가령, 도 1a의 메모리 디바이스 제어기(114))에 판독 전송 인디케이터를 전송하여, 호스트(가령, 도 1a의 호스트(102))가 명령(244-100)과 관련된 데이터를 수신할 준비가 되었음을 표시할 수 있다. 메모리 디바이스 제어기(가령, 도 1a의 메모리 디바이스 제어기(114))는 판독 전송 인디케이터의 수신에 응답하여, DQ+ECC 핀(224) 상에 명령(244-100,..., 244-300)과 관련된 데이터(246-100,..., 246-300)을 전송할 수 있다. 또한, 데이터(246-100,..., 246-300)가 호스트에 전송될 때 TID 신호(248-100,..., 248-300)가 RSP[n] 핀(226) 상에서 호스트에 전송된다. TID 신호(248-100,..., 248-300)는 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))에 의해 데이터의 청크에 할당된 TID 번호를 포함하고, 호스트(가령, 도 1a의 호스트(102))에 전송된 데이터(246-100,..., 246-300)와 관련된 판독 명령을 식별하는데 사용된다. 데이터(246-100)는 123의 TID 번호를 할당받고, 데이터(246-200)는 전송이 커럽트될 때 TID 번호를 할당받으며, 데이터(246-300)는 117의 TID 번호를 할당받는다.
도 3a-3b는 거래 식별(TID) 레코드를 예시하는 표다. 도 3a는 메모리 디바이스 거래 식별(TID) 레코드의 일례를 도시한다. 메모리 디바이스 TID 레코드(362)는 소정의 설정된 시간 주기 동안 저장될 수 있다. 예를 들어, 메모리 디바이스 TID 레코드(362)가 버퍼(가령, 도 1a의 버퍼(116))에 저장될 수 있다. 버퍼(가령, 도 1a의 버퍼(116))의 크기는 호스트 디바이스(가령, 도 1a의 호스트(102))로부터 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))로 두드러진 요청의 수에 기초할 수 있다. 메모리 디바이스 거래 식별자(TID) 레코드(362)는 제 1 메모리 디바이스 거래 식별(TID)(364), 제 2 메모리 디바이스 거래 식별(TID)(366), 및 제 3 메모리 디바이스 거래 식별(TID)(368)을 포함한다. 호스트는 TID 전송에 사용된 에러 검출 기법에 기초하여, 또는 대응하는 메모리 디바이스 TID에 대한 오-매칭(false match)에 의해, 호스트 TID가 커럽트 또는 에러 상태임을 결정할 수 있다. 에러 검출 기법은 예를 들어, 에러 교정 코드(ECC) 에러의 패리티를 포함한다.
도 3b는 호스트 거래 식별(TID) 레코드의 일례를 도시한다. 호스트 TID 레코드(372)는 제어기(가령, 도 1a의 제어기(114))에 저장될 수 있고, 호스트(가령, 도 1a의 호스트(102))로 다시 전송된 TID의 레코드이다. 호스트 TID 레코드(372)는 제 1 호스트 거래 식별(TID)(374), 제 2 호스트 거래 식별(TID)(376), 및 제 3 호스트 거래 식별(TID)(378)을 포함한다. 제 1 메모리 디바이스 TID(364)는 제 1 호스트 TID(374)에 대응하고, 제 2 메모리 디바이스 TID(366)는 제 2 호스트 TID(376)에 대응하며, 제 3 메모리 디바이스 TID(368)는 제 3 호스트 TID(378)에 대응한다. 도3b에서, 제 2 호스트 TID(376)는 수신시 호스트(가령, 도 1a의 호스트(102))에 의해 커럽트 값인 것으로 결정되었다. 그 결과, 호스트(가령, 도 1a의 호스트(102))는 메모리 디바이스 TID 레코드(362)에 대한 STATUS 요청 명령 또는 MODE REGISTER READ 명령을 이용하여 메모리 디바이스에 질의할 수 있다.
호스트(가령, 도 1a의 호스트(102))가 메모리 디바이스 TID 레코드(362)를 수신하면, 호스트(가령, 도 1a의 호스트(102))는 호스트 TID 레코드(372)를 메모리 디바이스 TID 레코드(362)에 비교할 수 있다. 호스트(가령, 도 1a의 호스트(102))는 호스트 TID 레코드(372)로부터 빠진 메모리 디바이스 TID 레코드(362) 내 TID를 식별함으로써 명령과 관련된 커럽트 TID를 결정할 수 있다. 예를 들어, 메모리 디바이스 TID 레코드(362)는 제 1 메모리 디바이스 TID(364), 제 2 메모리 디바이스 TID(366), 및 제 3 메모리 디바이스 TID(368)를 가진다. 그러나, 호스트 TID 레코드는 제 1 메모리 디바이스 TID(364)에 대응하는 제 1 호스트 TID(374)와, 제 3 메모리 디바이스 TID(368)에 대응하는 제 3 호스트 TID(378)만을 가진다. 따라서, 호스트(가령, 도 1a의 호스트(102))는 TID 호스트 레코드(376)의 메모리 디바이스 TID(366)가 호스트 TID 레코드로부터 빠졌음을 결정할 수 있다. 호스트(가령, 도 1a의 호스트(102))는 그 후 명령과 관련하여 결정된 TID를 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))에 다시 전송할 수 있고, 이전의 커럽트 TID와 관련된 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))로부터의 데이터를 수신할 수 있다.
도 4는 본 개시의 다수의 실시예에 따른 다수의 동작의 도해이다. 본 개시의 하나 이상의 실시예에서, 호스트 제어기는 명령과 관련된, 커럽트 TID를 포함한, 전송 에러의 수신에 응답하여 상태 요청을 메모리 디바이스에 질의하도록, 그리고, 메모리 디바이스로부터 메모리 디바이스 TID 레코드를 수신하도록, 구성될 수 있다. 도 4는 메모리 디바이스 TID 레코드(가령, 도 3a의 메모리 디바이스 TID 레코드(362))를 요청하기 위한 질의 동작을 수행하는 한 예를 도시한다. 명령 신호(422)가 호스트(가령, 도 1a의 호스트(102))로부터 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))로 전송될 수 있다. 질의(460)는 STATUS 요청 명령 또는 MODE REGISTER READ 명령을 포함할 수 있다. 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))가 명령을 수신하면, 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))는 이에 응답하여 DQ+ECC 핀(424) 상에서 메모리 디바이스 거래 식별(TID) 레코드(462)를 전송할 수 있다. 호스트(가령, 도 1a의 호스트(102))는 그 후, 호스트 TID 레코드(가령, 도 3b의 호스트 TID 레코드(372))를 메모리 디바이스 TID 레코드(462)에 비교함으로써 해당 명령과 관련된 TID를 결정할 수 있다. 호스트 제어기(가령, 도 1a의 호스트 제어기(108))는 그 후, 해당 명령과 관련된 TID로 다시 명령을 전송하는 과정을 통해 데이터를 재요청함으로써 명령과 관련된 TID의 식별에 응답하여 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))에 질의할 수 있다. 호스트(가령, 도 1a의 호스트(102))는 그 후, 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))로부터의 명령으로 데이터를 수신할 수 있다.
도 5는 본 개시의 다수의 실시예에 따른 거래 식별의 순서도의 한 예를 도시한다. TID를 가진 판독 명령(582)이 호스트(가령, 도 1a의 호스트(102))로부터 메모리 디바이스(가령, 도 1b의 메모리 디바이스(113))로 전송될 수 있다. 메모리 디바이스가 데이터의 위치를 결정하여 호스트에 재송할 준비가 된 데이터를 가진다면, 메모리 디바이스는 호스트에 판독 레디 명령(584)을 전송할 수 있다. 판독 레디 명령(584)의 수신에 응답하여, 호스트는 메모리 디바이스 제어기에 판독 전송 인디케이터(586)를 전송하여, 호스트가 명령과 관련된 데이터(가령, 도 2의 명령(244-100)과 관련된 데이터)를 수신할 준비가 되었음을 표시할 수 있다. 메모리 디바이스 제어기(가령, 도 1a의 메모리 디바이스 제어기(114))는 판독 전송 인디케이터(586)의 수신에 응답하여, 판독 데이터 및 TID를 전송(588)할 수 있다. 그 후 호스트는 TID가 커럽트 상태인지 여부를 결정할 수 있다(590). TID가 커럽트 상태가 아닐 경우, 프로세스는 종료된다(599). TID가 커럽트 상태일 경우, 호스트는 메모리 디바이스 TID 레코드(가령, 도 3의 메모리 디바이스 TID 레코드(362))에 대한 STATUS 요청(592)을 이용하여 메모리 디바이스에 질의할 수 있다. STATUS 요청(592) 수신 후 메모리 디바이스는 TID 레코드를 전송할 수 있다(594). 호스트(가령, 도 1a의 호스트(102))가 메모리 디바이스 TID 레코드(가령, 도 3의 메모리 디바이스 TID 레코드(362))를 수신하면, 호스트는 호스트 TID 레코드(가령, 도 3의 호스트 TID 레코드(372))를 메모리 디바이스 TID 레코드(가령, 도 3의 메모리 디바이스 TID 레코드(362)에 비교할 수 있다(596). 호스트는 호스트 TID 레코드(가령, 도 3의 호스트 TID 레코드(372))로부터 빠진 메모리 디바이스 TID 레코드(가령, 도 3의 메모리 디바이스 TID 레코드(362))를 결정함으로써 커럽트 상태인 TID를 식별할 수 있다(598).
특정 실시예가 여기에 도시되고 설명되었지만, 당 업자는 동일한 결과를 달성하도록 계산된 배열이 도시된 특정 실시예를 대신할 수 있음을 이해할 것이다. 본 개시는 본 개시의 다양한 실시예들의 적응 또는 변형을 포함하도록 의도된다. 상기 설명은 제한적인 것이 아니라 예시적인 방식으로 이루어진 것으로 이해되어야 한다. 상기 실시예들과 본 명세서에서 구체적으로 설명되지 않은 다른 실시예들의 조합은 상기 설명을 검토할 때 당 업자에게 명백할 것이다. 본 개시의 다양한 실시예의 범위는 상기 구조 및 방법이 사용되는 다른 응용을 포함한다. 그러므로, 본 개시의 다양한 실시예의 범위는 첨부된 청구 범위를 참조하여 그러한 청구 범위가 부여되는 전체 범위의 등가물과 함께 결정되어야 한다.
전술한 상세한 설명에서, 본 개시를 간소화하기 위해 다양한 특징들이 단일 실시예에서 함께 그룹화된다. 이 개시 방법은 본 개시의 개시된 실시예가 각 청구 범위에 명시적으로 언급된 것보다 더 많은 특징을 사용해야 한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려, 다음의 청구 범위가 반영하는 바와 같이, 본 발명의 주제는 단일의 개시된 실시예의 모든 특징보다 적다. 따라서, 이하의 청구 범위는 상세한 설명에 포함되며, 각 청구 범위는 그 자체가 별도의 실시예로서 서있다.

Claims (20)

  1. 장치로서,
    메모리 디바이스; 및
    메모리 디바이스에 연결된 호스트 디바이스를 포함하되, 상기 호스트 디바이스는 호스트 제어기를 포함하고, 상기 호스트 제어기는,
    메모리 디바이스 거래 식별(TID) 레코드를 수신하는 단계 - 상기 메모리 디바이스 TID 레코드는 거래 식별들(TIDs)을 포함함 - ; 및
    호스트 거래 식별(TID) 레코드를 상기 메모리 디바이스 TID 레코드와 비교하고 상기 호스트 TID 레코드로부터 빠진 상기 메모리 디바이스 TID 레코드 내 TID를 식별함으로써 명령과 관련된 거래 식별(TID)을 결정하도록 구성되는, 장치.
  2. 제 1 항에 있어서, 상기 호스트 디바이스는 결정된 TID를 메모리 디바이스에 전송하도록 구성되는, 장치.
  3. 삭제
  4. 제 1 항 또는 제 2 항에 있어서, 상기 메모리 디바이스는 비휘발성 듀얼 인라인 메모리 모듈(NVDIMM)인, 장치.
  5. 장치에 있어서,
    메모리 디바이스와,
    상기 메모리 디바이스에 연결된 호스트 디바이스를 포함하되, 상기 호스트 디바이스는 호스트 제어기를 포함하고, 상기 호스트 제어기는,
    명령과 관련된 전송 에러의 수신에 응답하여 상태 요청을 메모리 디바이스에 질의하도록 구성되고,
    상기 메모리 디바이스로부터 메모리 디바이스 거래 식별(TID) 레코드를 수신하도록 구성되며 - 상기 메모리 디바이스 TID 레코드는 거래 식별들(TIDs)을 포함함 -,
    호스트 거래 식별(TID) 레코드를 메모리 디바이스 TID 레코드와 비교하고 상기 호스트 TID 레코드로부터 빠진 상기 메모리 디바이스 TID 레코드 내 TID를 식별함으로써 명령과 관련된 거래 식별(TID)을 결정하도록 구성되는, 장치.
  6. 제 5 항에 있어서,
    상기 메모리 디바이스는 질의 수신에 응답하여 메모리 디바이스 TID 레코드를 전송하도록 구성되는, 장치.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 명령과 관련된 TID는 호스트 디바이스 및 메모리 디바이스에 의해 동시에 생성된 함축적(implicit) TID인, 장치.
  8. 제 5 항 또는 제 6 항에 있어서,
    상기 메모리 디바이스는 명령이 메모리 디바이스에 의해 수신되는 순서와는 다른 순서로 동작들을 실행하도록 구성되는, 장치.
  9. 장치에 있어서,
    메모리 디바이스와,
    상기 메모리 디바이스에 연결된 호스트 디바이스를 포함하되, 상기 호스트 디바이스는 호스트 제어기를 포함하고, 상기 호스트 제어기는,
    메모리 디바이스로부터의 명령과 연관된 데이터를 수신하도록 구성되고,
    상기 명령과 관련된 데이터 내 전송 에러를 검출하도록 구성되며,
    상기 전송 에러의 수신에 응답하여 상기 메모리 디바이스에 질의하도록 구성되고,
    상기 메모리 디바이스로부터 메모리 디바이스 거래 식별(TID) 레코드를 수신하도록 구성되며 - 상기 메모리 디바이스 TID 레코드는 거래 식별들(TIDs)을 포함함 - ,
    호스트 거래 식별(TID) 레코드를 메모리 디바이스 TID 레코드와 비교하고 상기 호스트 TID 레코드로부터 빠진 상기 메모리 디바이스 TID 레코드 내 TID를 식별함으로써 상기 명령과 관련된 거래 식별(TID)를 결정하도록 구성되는, 장치.
  10. 제 9 항에 있어서,
    상기 질의는 상태 요청 명령인, 장치.
  11. 제 9 항에 있어서,
    상기 질의는 메모리 디바이스 TID 레코드에 대한 모드 레지스터 판독 명령인, 장치.
  12. 방법에 있어서,
    제 1 및 제 2 거래 식별(TID)을 생성하는 단계 - 상기 제 1 및 제 2 TID는 각각 제 1 및 제 2 명령에 대응함 - 와,
    상기 제 1 TID를 갖는 제 1 명령을 메모리 디바이스에 전송하는 단계와,
    상기 제 2 TID를 갖는 제 2 명령을 메모리 디바이스에 전송하는 단계와,
    상기 메모리 디바이스의 버퍼에 상기 제 1 및 제 2 TID를 저장하는 단계와,
    상기 메모리 디바이스로부터 호스트로 제 1 출력 데이터를 제공하는 단계 - 상기 제 1 출력 데이터는 제 1 명령에 기초하여 제 1 동작 결과와, 제 1 동작 결과에 수반되는 제 3 거래 식별(TID)를 포함하고, 상기 제 3 TID는 제 1 TID에 대응함 - 와,
    상기 메모리 디바이스로부터 호스트로 제 2 출력 데이터를 제공하는 단계 - 상기 제 2 출력 데이터는 제 2 명령에 기초한 제 2 동작 결과와, 제 2 동작 결과에 수반되는 제 4 거래 식별(TID)를 포함하고, 상기 제 4 TID는 제 2 TID에 대응함 - 와,
    상기 호스트의 호스트 제어기에 상기 제 3 및 제 4 TID를 저장하는 단계와,
    상기 메모리 디바이스로부터 상기 호스트로 메모리 디바이스 거래 식별(TID) 레코드를 제공하는 단계 - 상기 메모리 디바이스 TID 레코드는 상기 제 1 및 제 2 TID를 포함함 -와,
    상기 제 3 및 제 4 TID를 상기 제 1 및 제 2 TID에 비교하여, 전송 에러를 포함한 상기 제 3 및 제 4 TID를 식별하는 단계와, 및
    전송 에러를 포함한 상기 제 3 TID에 응답하여 상기 호스트로부터 상기 메모리 디바이스로 상기 제 1 명령을 상기 제 1 TID와 함께 전송하는 단계 또는 상기 전송 에러를 포함한 상기 제 4 TID에 응답하여 상기 호스트로부터 상기 메모리 디바이스로 상기 제 2 명령을 상기 제 2 TID와 함께 전송하는 단계를 포함하는, 방법.
  13. 삭제
  14. 삭제
  15. 제 12 항에 있어서,
    상기 제 3 TID가 상기 메모리 디바이스로부터 제 1 동작 결과보다 앞서 출력되고, 상기 제 4 TID가 상기 메모리 디바이스로부터 제 2 동작 결과보다 앞서 출력되는, 방법.
  16. 삭제
  17. 방법에 있어서,
    메모리 디바이스로부터 명령과 관련된 전송 에러를 수신하는 단계와,
    전송 에러 수신에 응답하여 메모리 디바이스에 질의하는 단계와,
    메모리 디바이스로부터 메모리 디바이스 거래 식별(TID)을 수신하는 단계와 - 상기 메모리 디바이스 TID 레코드는 거래 식별들(TIDs)을 포함함 -,
    호스트 디바이스에서, 호스트 거래 식별(TID) 레코드로부터 빠진 메모리 디바이스 TID 레코드 내 거래 식별(TID)을 식별함으로써 상기 명령과 관련된 거래 식별(TID)을 결정하는 단계를 포함하는, 방법.
  18. 제 17 항에 있어서,
    상기 메모리 디바이스에 질의하는 단계는 메모리 디바이스 TID 레코드에 대한 모드 레지스터 명령을 이용하는 단계를 포함하는, 방법.
  19. 제 17 항에 있어서,
    소정의 설정된 시간 주기 동안 메모리 디바이스 TID 레코드를 저장하는 단계를 더 포함하는, 방법.
  20. 제 17 항에 있어서,
    호스트 디바이스로부터 메모리 디바이스로 거래 속도에 기초하여 버퍼의 크기를 설정하는 단계를 더 포함하는, 방법.
KR1020197033302A 2017-04-11 2018-02-14 거래 식별 KR102306585B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/484,744 2017-04-11
US15/484,744 US10635613B2 (en) 2017-04-11 2017-04-11 Transaction identification
PCT/US2018/018106 WO2018190947A1 (en) 2017-04-11 2018-02-14 Transaction identification

Publications (2)

Publication Number Publication Date
KR20190129139A KR20190129139A (ko) 2019-11-19
KR102306585B1 true KR102306585B1 (ko) 2021-09-30

Family

ID=63711578

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197033302A KR102306585B1 (ko) 2017-04-11 2018-02-14 거래 식별

Country Status (6)

Country Link
US (3) US10635613B2 (ko)
EP (1) EP3610379B1 (ko)
KR (1) KR102306585B1 (ko)
CN (1) CN110546626A (ko)
TW (1) TWI711929B (ko)
WO (1) WO2018190947A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847037B2 (en) * 2020-09-16 2023-12-19 Kioxia Corporation Device and method for high performance memory debug record generation and management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062459A1 (en) * 2000-08-21 2002-05-23 Serge Lasserre Fault management and recovery based on task-ID
US20170024297A1 (en) * 2015-07-22 2017-01-26 Kabushiki Kaisha Toshiba Storage Device and Data Save Method

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS561748A (en) 1979-06-20 1981-01-09 Hitachi Ltd Production of electromagnetic clutch motor
US4344171A (en) * 1980-12-11 1982-08-10 International Business Machines Corporation Effective error control scheme for satellite communications
US5590345A (en) 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
JPH0561748A (ja) 1991-09-02 1993-03-12 Nippon Telegr & Teleph Corp <Ntt> データベース・アクセスにおける同期確認の自動化方式
US5452311A (en) 1992-10-30 1995-09-19 Intel Corporation Method and apparatus to improve read reliability in semiconductor memories
US5574944A (en) 1993-12-15 1996-11-12 Convex Computer Corporation System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context
US5774683A (en) 1996-10-21 1998-06-30 Advanced Micro Devices, Inc. Interconnect bus configured to implement multiple transfer protocols
US5937423A (en) 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
JP2002023123A (ja) * 2000-07-11 2002-01-23 Fujitsu Ltd 非主要光を導波する光導波路を備える光回路
US6738831B2 (en) 2001-12-12 2004-05-18 Intel Corporation Command ordering
US7308524B2 (en) 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US7139878B2 (en) 2003-06-20 2006-11-21 Freescale Semiconductor, Inc. Method and apparatus for dynamic prefetch buffer configuration and replacement
US7574536B2 (en) * 2005-04-22 2009-08-11 Sun Microsystems, Inc. Routing direct memory access requests using doorbell addresses
US7587625B2 (en) * 2006-02-16 2009-09-08 Intel Corporation Memory replay mechanism
US7711889B2 (en) 2006-07-31 2010-05-04 Kabushiki Kaisha Toshiba Nonvolatile memory system, and data read/write method for nonvolatile memory system
US8074022B2 (en) 2006-09-28 2011-12-06 Virident Systems, Inc. Programmable heterogeneous memory controllers for main memory with different memory modules
US20090276556A1 (en) 2006-10-04 2009-11-05 Mediatek Inc. Memory controller and method for writing a data packet to or reading a data packet from a memory
US7904644B1 (en) 2006-11-01 2011-03-08 Marvell International Ltd. Disk channel system with sector request queue
US7596643B2 (en) 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
KR100904758B1 (ko) 2007-02-08 2009-06-29 삼성전자주식회사 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법
US7924521B1 (en) 2007-04-10 2011-04-12 Marvell International Ltd. Data wedge format table synchronization
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US8006047B2 (en) 2007-06-27 2011-08-23 Hitachi Global Storage Technologies Netherlands B.V. Storage device with write barrier sensitive write commands and write barrier insensitive commands
US7899999B2 (en) * 2007-06-27 2011-03-01 Microsoft Corporation Handling falsely doomed parents of nested transactions
US7870351B2 (en) 2007-11-15 2011-01-11 Micron Technology, Inc. System, apparatus, and method for modifying the order of memory accesses
US9513959B2 (en) 2007-11-21 2016-12-06 Arm Limited Contention management for a hardware transactional memory
TW200929237A (en) 2007-12-21 2009-07-01 Winbond Electronics Corp Memory architecture and configuration method thereof
US20090327535A1 (en) 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
TW201013400A (en) * 2008-09-22 2010-04-01 Promise Technology Inc Memory control system, data recovery method and date reading method thereof
KR20110131208A (ko) 2009-02-09 2011-12-06 램버스 인코포레이티드 동기화된 제어를 갖는 다중 플레인의 비휘발성 메모리
US7983107B2 (en) 2009-02-11 2011-07-19 Stec, Inc. Flash backed DRAM module with a selectable number of flash chips
US8285917B2 (en) 2009-03-26 2012-10-09 Scaleo Chip Apparatus for enhancing flash memory access
JPWO2011043012A1 (ja) 2009-10-05 2013-02-28 パナソニック株式会社 不揮発性半導体記憶装置、信号処理システム、及び信号処理システムの制御方法、並びに不揮発性半導体記憶装置の書き換え方法
US8499106B2 (en) 2010-06-24 2013-07-30 Arm Limited Buffering of a data stream
US8949502B2 (en) 2010-11-18 2015-02-03 Nimble Storage, Inc. PCIe NVRAM card based on NVDIMM
US8495338B2 (en) * 2010-12-03 2013-07-23 Micron Technology, Inc. Transaction log recovery
EP2656216B1 (en) 2010-12-20 2018-12-19 Marvell World Trade Ltd. Device with descriptor scheduler and corresponding method and system
US9104690B2 (en) * 2011-01-27 2015-08-11 Micron Technology, Inc. Transactional memory
US9779020B2 (en) * 2011-02-08 2017-10-03 Diablo Technologies Inc. System and method for providing an address cache for memory map learning
US8799557B1 (en) 2011-10-13 2014-08-05 Netapp, Inc. System and method for non-volatile random access memory emulation
US8880819B2 (en) 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses
US9122401B2 (en) 2012-08-23 2015-09-01 Apple Inc. Efficient enforcement of command execution order in solid state drives
US9250814B2 (en) 2013-02-11 2016-02-02 Apple Inc. Command order re-sequencing in non-volatile memory
US8595427B1 (en) 2013-03-08 2013-11-26 Avalanche Technology, Inc. Non-volatile block storage module using magnetic random access memory (MRAM)
US9128634B1 (en) 2013-03-11 2015-09-08 Marvell International Ltd. Systems and methods of packed command management for non-volatile storage devices
US9741442B2 (en) 2013-03-12 2017-08-22 Sandisk Technologies Llc System and method of reading data from memory concurrently with sending write data to the memory
WO2014193376A1 (en) 2013-05-30 2014-12-04 Hewlett-Packard Development Company, L.P. Separate memory controllers to access data in memory
US10108372B2 (en) 2014-01-27 2018-10-23 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US9454310B2 (en) 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
US20150279463A1 (en) 2014-03-31 2015-10-01 Dell Products, L.P. Adjustable non-volatile memory regions of dram-based memory module
KR102249416B1 (ko) 2014-06-11 2021-05-07 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 구동 방법
US9870318B2 (en) 2014-07-23 2018-01-16 Advanced Micro Devices, Inc. Technique to improve performance of memory copies and stores
US9489239B2 (en) 2014-08-08 2016-11-08 PernixData, Inc. Systems and methods to manage tiered cache data storage
US9721660B2 (en) 2014-10-24 2017-08-01 Microsoft Technology Licensing, Llc Configurable volatile memory without a dedicated power source for detecting a data save trigger condition
US20160232112A1 (en) 2015-02-06 2016-08-11 Futurewei Technologies, Inc. Unified Memory Bus and Method to Operate the Unified Memory Bus
US10621119B2 (en) * 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10613763B2 (en) 2016-04-21 2020-04-07 Adesto Technologies Corporation Memory device having multiple read buffers for read latency reduction
US10534540B2 (en) 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US10127074B2 (en) 2017-01-27 2018-11-13 Futurewei Technologies, Inc. Transaction identification synchronization
US10261907B2 (en) 2017-03-09 2019-04-16 International Business Machines Corporation Caching data in a redundant array of independent disks (RAID) storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020062459A1 (en) * 2000-08-21 2002-05-23 Serge Lasserre Fault management and recovery based on task-ID
US20170024297A1 (en) * 2015-07-22 2017-01-26 Kabushiki Kaisha Toshiba Storage Device and Data Save Method

Also Published As

Publication number Publication date
CN110546626A (zh) 2019-12-06
US10635613B2 (en) 2020-04-28
KR20190129139A (ko) 2019-11-19
EP3610379B1 (en) 2021-11-17
EP3610379A1 (en) 2020-02-19
US11237995B2 (en) 2022-02-01
US20220156209A1 (en) 2022-05-19
US20180293000A1 (en) 2018-10-11
US11755514B2 (en) 2023-09-12
WO2018190947A1 (en) 2018-10-18
TW201842450A (zh) 2018-12-01
TWI711929B (zh) 2020-12-01
US20200250118A1 (en) 2020-08-06
EP3610379A4 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
US11422705B2 (en) Non-deterministic memory protocol
US10534540B2 (en) Memory protocol
US11586566B2 (en) Memory protocol with command priority
US11755514B2 (en) Transaction identification
US12014082B2 (en) Addressing in memory with a read identification (RID) number
US11226770B2 (en) Memory protocol
US11687283B2 (en) Memory module interfaces
US20230342058A9 (en) Command bus in memory

Legal Events

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