KR20210032543A - 크로스토크를 감소시키기 위한 전송 실패 피드백 방식 - Google Patents

크로스토크를 감소시키기 위한 전송 실패 피드백 방식 Download PDF

Info

Publication number
KR20210032543A
KR20210032543A KR1020217007546A KR20217007546A KR20210032543A KR 20210032543 A KR20210032543 A KR 20210032543A KR 1020217007546 A KR1020217007546 A KR 1020217007546A KR 20217007546 A KR20217007546 A KR 20217007546A KR 20210032543 A KR20210032543 A KR 20210032543A
Authority
KR
South Korea
Prior art keywords
data
memory device
line
controller
checksum
Prior art date
Application number
KR1020217007546A
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 마이크론 테크놀로지, 인크
Publication of KR20210032543A publication Critical patent/KR20210032543A/ko

Links

Images

Classifications

    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리 디바이스와 연관된 전송 실패 피드백을 위한 시스템들, 장치들 및 방법들이 설명된다. 메모리 디바이스는 수신된 데이터에서 에러들을 검출하고 에러가 검출될 때 이의 표시를 전송할 수 있다. 메모리 디바이스는 제어기로부터 데이터, 및 데이터에 대한 검사합 정보를 수신할 수 있다. 메모리 디바이스는 수신된 데이터에 대한 검사합을 생성하고 전송 에러들을 검출할 수 있다. 메모리 디바이스는 검출된 에러들의 표시를 제어기로 전송할 수 있고, 표시는 에러 검출 코드(EDC) 라인과 상이한 라인을 사용하여 전송될 수 있다. 저속 추적 클록 신호가 또한 메모리 디바이스에 의해 EDC 라인과 상이한 라인을 통해 전송될 수 있다. 메모리 디바이스는 EDC 라인을 통해 시그널링된 검사합에 적용되는 타임 오프셋과 생성된 검사합을 제어기로 전송할 수 있다.

Description

크로스토크를 감소시키기 위한 전송 실패 피드백 방식
상호 참조
본 특허 출원은 Mayer 외에 의해 2019년 8월 12일자로 출원된 "TRANSMISSION FAILURE FEEDBACK SCHEMES FOR REDUCING CROSSTALK(크로스토크를 감소시키기 위한 전송 실패 피드백 방식)"라는 명칭의 미국 특허 출원 16/538,537호 및 이는 Mayer 외에 의해 2018년 8월 21일자로 출원된 "TRANSMISSION FAILURE FEEDBACK SCHEMES FOR REDUCING CROSSTALK(크로스토크를 감소시키기 위한 전송 실패 피드백 방식)"라는 명칭의 미국 가 특허 출원 62/720,385호의 우선권을 주장하며, 이의 각각은 이의 양수인에 양도되고, 전문이 명시적으로 참고로 통합된다.
다음은 일반적으로 적어도 하나의 메모리 디바이스를 포함하는 시스템 그리고 보다 구체적으로는 크로스토크를 감소시키기위한 전송 실패 피드백 방식들에 관한 것이다.
메모리 디바이스들은 컴퓨터들, 무선 통신 디바이스들, 카메라들, 디지털 디스플레이들 기타 같은 종류의 것과 같은 다양한 전자 디바이스에 정보를 저장하기 위해 널리 사용된다. 정보는 메모리 디바이스의 상이한 상태들을 프로그램함으로써 저장된다. 예를 들어, 2진 디바이스들은 보통 논리 1 또는 논리 0으로 표기되는 두 개의 상태들 중 하나를 저장할 수 있다. 다른 디바이스들에서는, 두 개 이상의 상태들이 저장될 수도 있다. 저장된 정보에 액세스하기 위해, 디바이스의 구성요소는 메모리 디바이스에서 적어도 하나의 저장된 상태를 판독 또는 감지할 수 있다. 정보를 저장하기 위해, 디바이스의 구성요소는 메모리 디바이스에 상태를 기록 또는 프로그램할 수 있다.
자기 하드 디스크들, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 RAM(DRAM), 동기식 동적 RAM(SDRAM), 강유전 RAM(FeRAM), 자기 RAM(MRAM), 저항 RAM(RRAM), 플래시 메모리, 상 변화 메모리(PCM) 등을 비롯하여, 다양한 유형의 메모리 디바이스가 존재한다. 메모리 디바이스들은 휘발성 또는 비휘발성일 수 있다. 비휘발성 메모리, 예를 들어, FeRAM은 외부 전원이 없을 때에도 장시간 그것들의 저장된 논리 상태를 유지할 수 있다. 휘발성 메모리 디바이스들, 예를 들어, DRAM은 외부 전원에 의해 주기적으로 재생되지 않는 한 시간이 지남에 따라 그것들의 저장된 상태를 잃을 수 있다.
메모리 디바이스들은 시스템 내의 다른 디바이스들(예를 들어, 제어기)와 정보를 통신하기 위한 다양한 채널들을 포함할 수 있다. 예를 들어, 메모리 디바이스는 제어기로부터 데이터를 전송 및/또는 수신하기 위해 하나 이상의 채널을 사용할 수 있지만, 에러 검출 및 다른 기능들을 위해 제어기와 메모리 디바이스 사이의 개선된 시그널링이 요구될 수 있다.
도 1은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 시스템의 일례를 도시한다.
도 2은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 디바이스의 블록도를 도시한다.
도 3은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 시스템의 일례를 도시한다.
도 4은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 시스템의 일례를 도시한다.
도 5은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 시스템의 프로세스 흐름을 도시한다.
도 6 내지 도 9는 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 방법 또는 방법들을 도시한다.
메모리 디바이스는 하나 이상의 채널을 통해 또 다른 디바이스(예를 들어, 제어기 또는 호스트 디바이스, 이를테면 그래픽 처리 장치(GPU), 범용 GPU(GPGPU), 중앙 처리 장치(CPU))와 통신할 수 있다. 이러한 채널들(예를 들어, 전도성 라인들에 대응함)은 메모리 디바이스의 핀을 다른 디바이스의 핀과 결합할 수 있다. 예를 들어, 이러한 채널들은 메모리 디바이스의 데이터(DQ) 핀을 다른 디바이스의 대응하는 핀과 결합할 수 있고, 데이터는 하나 이상의 데이터 라인을 통해 메모리 디바이스와 다른 디바이스 사이에서 통신될 수 있다. 이와 같이, 이러한 데이터 라인들은 메모리 디바이스의 메모리 셀들의 어레이에 기록될 데이터를 수신하는 데 사용될 수 있고(예를 들어, 기록 동작들의 경우), 메모리 디바이스로부터 다른 디바이스로 데이터를 전송하는 데사용될 수 있다(예를 들어, 판독 동작들의 경우).
일부 경우들에서, 에러 검출 코드(EDC) 라인은 메모리 디바이스로부터 다양한 유형들의 정보의 전송을 가능하게 할 수 있다. 예를 들어, EDC 라인은 기록 동작 동안 제어기로부터 수신된 데이터에 관한 에러 검출 정보(예를 들어, 검사합)를 전송하는 데 사용될 수 있다. 이러한 경우들에서, 메모리 디바이스는 메모리 셀들의 어레이에 기록될 데이터를 수신시, 수신된 데이터로부터 유도되며 전송 에러들을 식별하는 데 사용되는 검사합을 생성할 수 있다. 이러한 검사합은 EDC 라인을 통해 제어기로 다시 전송될 수 있고, 그 다음 제어기가 메모리 디바이스로부터 수신된 검사합을 전송된 데이터에 대한 검사합 정보(예를 들어, 전송 전에 제어기가 알고 있는) 및 메모리 디바이스로부터 수신된 검사합을 비교할 수 있다. 제어기는 각각의 검사합들의 비교에 기초하여, 메모리 디바이스에서 수신된 데이터가 에러들을 갖는지 여부를 결정하고, 에러들이 검출되면 데이터를 재전송할 수 있다. 다른 예들에서, 메모리 디바이스는 EDC 라인을 사용하여 다른 유형들의 신호들(예를 들어, 메모리 디바이스의 타이밍을 나타내는 클록 신호들, 홀더 패턴들)을 전송할 수 있다.
그러나, EDC 라인을 통해 전송되는 정보는 데이터 채널들 상에서 전송되는 하나 이상의 신호에 간섭을 일으킬 수 있다. 예를 들어, EDC 라인은 하나 이상의 데이터 라인 주변(예를 들어, 인접)에 위치할 수 있고, 데이터 전송은 EDC 라인 상에서 전송되거나 EDC 라인과 관련된 다양한 신호들로부터의 크로스토크에 영향을 받을 수 있다. 이러한 크로스토크는 하나 이상의 데이터 라인 상에서 보내어진 데이터에 EDC 신호들의 결합(예를 들어, 용량성 결합)을 통해 데이터 라인들 상에서 수신된 데이터에 바람직하지 않은 효과를 일으킬 수 있다. 이 결과, 수신된 데이터에서 에러들이 증가하면 데이터를 더 빈번하게 재기록하게 될 수 있으므로, 시스템 및 이의 동작에 비효율과 레이턴시가 도입될 수 있다.
본 명세서에서 설명된 바와 같이, 다양한 기술들이 메모리 디바이스로부터 또 다른 디바이스, 이를테면 제어기로 정보의 피드백을 가능하게 하면서, 크로스토크를 감소 또는 제거할 수 있다. 예를 들어, 전송 에러 정보(예를 들어, 수신된 데이터에 대해 에러가 검출되었음을 나타내는 정보)가 데이터에서 에러들이 검출될 때 메모리 디바이스로부터 전송될 수 있으며, 이에 따라 시그널링이 수신된 데이터에 반하여(예를 들어, 반대 방향으로) 전송되는 빈도를 감소시킬 수 있다. 일부 경우들에서, 전송 에러 정보는 데이터 라인들 상으로의 크로스토크를 감소 또는 제거하기 위해 EDC 라인과 상이한 라인(예를 들어, 데이터 라인들로부터 떨어져 위치한 라인) 상에 전송될 수 있다.
전송 에러 정보는 메모리 디바이스에서 또 다른 디바이스(예를 들어, 데이터를 전송하는 제어기)로부터 수신된 검사합 정보와 메모리 디바이스에 의해 생성된 검사합을 비교함으로써 결정될 수 있다. 메모리 디바이스는 비교에 기초하여, 수신된 데이터에서 에러들을 식별하고, 그 다음 필요에 따라 전송 에러 정보(예를 들어, 1 비트를 사용하여 보내어지는 이진 표시)를 전송할 수 있다. 또한, 메모리 디바이스는 EDC 라인(이는 전송 에러 정보를 전송하는 데 사용되는 라인과 동일하거나 상이할 수 있음)과 상이한 라인을 사용하여 클록 신호(예를 들어, 저속 추적 클록)를 다른 디바이스로 전송할 수도 있다. 이 결과, EDC 라인은 메모리 디바이스로부터 데이터가 수신되는 동안 메모리 디바이스로부터 정보를 전송하는 데 사용되지 않을 수 있으며, 이에 의해 EDC 라인 상에 보내어지는 시그널링으로 인한 크로스토크를 감소시킬 수 있다.
추가적으로 또는 대안적으로, 메모리 디바이스에 의해 EDC 라인 상에 보내어지는 시그널링에 지연 또는 타이밍 오프셋이 도입될 수 있으며, 이는 마찬가지로 크로스토크를 감소 또는 제거할 수 있다. 예를 들어, 생성된 검사합을 EDC 라인을 통해 제어기로 전송할 때, 검사합 전송 타이밍에 트리밍 가능한 오프셋이 적용될 수 있다. EDC 라인 상에 전송되는 신호를 시간적으로 시프트함으로써, 메모리 디바이스에서 수신된 데이터 상에 EDC 시그널링으로부터의 크로스토크를 감소시키는 코히어런트로 도입되는 지연을 통해 크로스토크가 감소 또는 제거될 수 있다. 일부 경우들에서, 타이밍 오프셋은 결정된 오프셋 세트로부터 (예를 들어, 전원 공급시) 선택될 수 있으며, 여기서 결정된 오프셋들은 메모리 디바이스의 하나 이상의 동작 조건에 기초할 수 있다.
본 개시의 특징들은 아래에서 도 1과 관련하여 대표적인 메모리 시스템 레벨에서 설명되고 또한 도 2와 관련하여 대표적인 메모리 디바이스에 관하여 설명된다. 그 다음, 전송 에러 피드백에 사용되는 시스템들 및 기술들의 구체적인 예들이 도 3 내지 도 5와 관련하여 설명된다. 본 개시의 이들 및 다른 특징들은 또한 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들에 관한 도 7 및 도 8의 흐름도들에 의해 도시되고 이것들을 참조하여 설명된다.
도 1은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 디바이스들을 포함하는 시스템(100)의 일례를 도시한다. 시스템(100)은 외부 메모리 제어기(105), 메모리 디바이스(110), 및 외부 메모리 제어기(105)를 메모리 디바이스(110)와 결합하는 복수의 채널들(115)을 포함할 수 있다. 시스템(100)은 하나 이상의 메모리 디바이스를 포함할 수 있지만, 설명의 편의를 위해 하나 이상의 메모리 디바이스가 단일의 메모리 디바이스(110)로서 설명될 수 있다.
시스템(100)은 전자 디바이스, 이를테면 컴퓨팅 디바이스, 모바일 컴퓨팅 디바이스, 무선 디바이스 또는 그래픽 처리 디바이스의 양태들을 포함할 수 있다. 시스템(100)은 휴대용 전자 디바이스의 일례일 수 있다. 시스템(100)은 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 휴대폰, 웨어러블 디바이스, 인터넷 연결 디바이스 등의 일례일 수 있다. 메모리 디바이스(110)는 시스템(100)의 하나 이상의 다른 구성요소에 대한 데이터를 저장하도록 구성된 시스템의 구성요소일 수 있다. 일부 예들에서, 시스템(100)은 기지국 또는 액세스 포인트를 사용하여 다른 시스템들 또는 디바이스들과 양방향 무선 통신을 위해 구성된다. 일부 예들에서, 시스템(100)은 기계형 통신(MTC, machine-type communication), 기계 대 기계(M2M, machine-to-machine) 통신, 또는 디바이스 대 디바이스(D2D, device-to-device) 통신이 가능하다.
시스템(100)의 적어도 부분들은 호스트 디바이스의 예들일 수 있다. 이러한 호스트 디바이스는 메모리를 사용하여 프로세스들을 실행하는 디바이스, 이를테면 컴퓨팅 디바이스, 모바일 컴퓨팅 디바이스, 무선 디바이스, 그래픽 처리 디바이스, 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 휴대폰, 웨어러블 디바이스, 인터넷 연결 디바이스, 일부 다른 고정식 또는 휴대용 전자 디바이스 등의 일례일 수 있다. 일부 경우들에서, 호스트 디바이스는 외부 메모리 제어기(105)의 기능들을 구현하는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 나타낼 수 있다. 일부 경우들에서, 외부 메모리 제어기(105)는 호스트 또는 호스트 디바이스라고 할 수 있다. 일부 예들에서, 시스템(100)은 그래픽 카드이다.
일부 경우들에서, 메모리 디바이스(110)는 시스템(100)의 다른 구성요소들과 통신하고 시스템(100)에 의해 잠재적으로 사용 또는 참조될 물리적 메모리 어드레스들/공간을 제공하도록 구성된 독립적인 디바이스 또는 구성요소일 수 있다. 일부 예들에서, 메모리 디바이스(110)는 적어도 하나 또는 복수의 상이한 유형의 시스템(100)과 함께 작동하도록 구성될 수 있다. 시스템(100)의 구성요소들과 메모리 디바이스(110) 사이의 시그널링은 신호들을 변조하기 위한 변조 방식들, 신호들을 통신하기 위한 상이한 핀 설계들, 시스템(100) 및 메모리 디바이스(110)의 별개의 패키징, 시스템(100)과 메모리 디바이스(110) 사이의 클록 시그널링 및 동기화, 타이밍 규칙들, 및/또는 다른 팩터들을 지원하도록 동작 가능할 수 있다.
메모리 디바이스(110)는 정보를 전송 또는 수신할 때 크로스토크를 감소시키기 위한 기술들을 지원할 수 있다. 일례로서, 그리고 아래에서 더 상세히 설명될 바와 같이, 메모리 디바이스(110)는 클록 신호들을 위한 채널들(예를 들어, 전용 채널들) 및/또는 수신된 데이터에 대한 에러 표시들을 갖게 구성될 수 있다. 일부 경우들에서, 채널들은 EDC 채널(예를 들어, EDC 정보를 통신하는 데 사용되는 채널)과 상이할 수 있다. 추가적으로, 메모리 디바이스(110)는 메모리 셀들의 어레이에 기록될 데이터에서 에러들을 검출하도록 구성될 수 있으며, 여기서 에러 검출은 데이터를 전송한 디바이스(예를 들어, 외부 메모리 제어기(105))로부터 수신된 정보(예를 들어, 검사합 정보)에 기초할 수 있다. 일부 예들에서, 메모리 디바이스(110)는 또한 EDC 채널을 통해 보내어지는 시그널링에 타이밍 오프셋을 도입하도록 구성될 수 있다.
메모리 디바이스(110)는 시스템(100)의 구성요소들에 대한 데이터를 저장하도록 구성될 수 있다. 일부 경우들에서, 메모리 디바이스(110)는 시스템(100)에 대해 슬레이브형 디바이스(slave-type device)로서의 역할을 할 수 있다(예를 들어, 외부 메모리 제어기(105)를 통해 시스템(100)에 의해 제공되는 명령들에 응답하고 이들을 실행함). 이러한 명령들은 액세스 동작을 위한 액세스 명령, 이를테면 기록 동작을 위한 기록 명령, 판독 동작을 위한 판독 명령, 리프레시 동작을 위한 리프레시 명령, 또는 다른 명령들을 포함할 수 있다. 메모리 디바이스(110)는 데이터 저장을 위해 요구되는 또는 지정된 용량을 지원하기 위해 두 개 이상의 메모리 다이들(160)(예를 들어, 메모리 칩들)을 포함할 수 있다. 두 개 이상의 메모리 다이들을 포함하는 메모리 디바이스(110)는 멀티 다이 메모리 또는 패키지라고 할 수 있다(또한 멀티 칩 메모리 또는 패키지라고도 함).
시스템(100)은 또한 프로세서(120), 기본 입/출력 시스템(BIOS, basic input/output system) 구성요소(125), 하나 이상의 주변 구성요소(130), 및 입/출력(I/O) 제어기(135)를 포함할 수 있다. 시스템(100)의 구성요소들은 버스(140)를 사용하여 서로 결합되거나 전자 통신할 수 있다.
프로세서(120)는 시스템(100)의 적어도 부분들을 제어하도록 구성될 수 있다. 프로세서(120)는 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 현장 프로그래밍 가능한 게이트 어레이(FPGA, field-programmable gate array) 또는 다른 프로그래밍 가능한 논리 디바이스, 별개의 게이트 또는 트랜지스터 논리, 별개의 하드웨어 구성요소들일 수 있거나 또는 이러한 유형들의 구성요소 유형들의 조합일 수 있다. 이러한 경우들에서, 프로세서(120)는 다른 예들 중에서도 특히, CPU, GPU, GPGPU, 또는 시스템 온 칩(SoC, system on a chip)의 일례일 수 있다.
BIOS 구성요소(125)는 시스템(100)의 다양한 하드웨어 구성요소들을 초기화 및 실행할 수 있는, 펌웨어로서 동작되는 BIOS를 포함하는 소프트웨어 구성요소일 수 있다. BIOS 구성요소(125)는 또한 프로세서(120)와 시스템(100)의 다양한 구성요소들, 예를 들어 주변 구성요소들(130), I/O 제어기(135) 등 사이의 데이터 흐름을 관리할 수 있다. BIOS 구성요소(125)는 판독 전용 메모리(ROM), 플래시 메모리, 또는 임의의 다른 비휘발성 메모리에 저장되는 프로그램 또는 소프트웨어를 포함할 수 있다.
주변 구성요소(들)(125)는 임의의 입력 디바이스 또는 출력 디바이스, 또는 이러한 디바이스들을 위한 인터페이스일 수 있으며, 이는 시스템(100)으로 또는 이와 통합될 수 있다. 예들은 디스켓 제어기, 사운드 제어기, 그래픽 제어기, 이더넷 제어기, 모뎀, USB(universal serial bus) 제어기, 직렬 또는 병렬 포트, 또는 PCI(Peripheral Component Interconnect) 또는 AGP(accelerated graphics port) 슬롯들과 같은 주변 카드 슬롯들을 포함할 수 있다. 주변 구성요소(들)(125)는 해당 기술분야의 통상의 기술자들에 의해 주변 장치들인 것으로서 이해될 바와 같은 다른 구성요소들일 수 있다.
I/O 제어기(135)는 프로세서(120)와 주변 구성요소(들)(13), 입력 디바이스들(145) 또는 출력 디바이스들(150) 사이의 데이터 통신을 관리할 수 있다. I/O 제어기(135)는 시스템(100)으로 또는 이와 통합되지 않은 주변 장치들을 관리할 수 있다. 일부 경우들에서, I/O 제어기(135)는 외부 주변 구성요소들에 대한 물리적 연결 또는 포트를 나타낼 수 있다.
입력(145)은 시스템(100) 또는 이의 구성요소들에 정보, 신호들 또는 데이터를 제공할 수 있는 시스템(100) 외부의 디바이스 또는 신호를 나타낼 수 있다. 이는 사용자 인터페이스 또는 다른 디바이스들과의 인터페이스를 포함할 수 있다. 일부 경우들에서, 입력(145)은 하나 이상의 주변 구성요소(130)를 통해 시스템(100)과 인터페이싱하는 주변 장치일 수 있거나 또는 I/O 제어기(135)에 의해 관리될 수 있다.
출력(150)은 시스템(100) 또는 이의 구성요소들 중 어느 하나로부터 출력을 수신하도록 구성된 시스템(100) 외부의 디바이스 또는 신호를 나타낼 수 있다. 출력(150)의 예들은 디스플레이, 오디오 스피커들, 인쇄 디바이스, 또는 인쇄 회로 기판 상의 다른 프로세서 등을 포함할 수 있다. 일부 경우들에서, 출력(150)은 하나 이상의 주변 구성요소(130)를 통해 시스템(100)과 인터페이싱하는 주변 장치일 수 있거나 또는 I/O 제어기(135)에 의해 관리될 수 있다.
시스템(100)의 구성요소들은 각각의 기능들을 수행하도록 설계된 범용 또는 특수용 목적 회로로 구성될 수 있다. 이는 본 명세서에서 설명된 기능들을 수행하도록 구성된 다양한 회로 요소들, 예를 들어 전도성 라인, 트랜지스터, 커패시터, 인덕터, 저항기, 증폭기, 또는 다른 능동 또는 수동 요소들을 포함할 수 있다. 일부 경우들에서, 메모리 디바이스는 디바이스(예를 들어, 외부 메모리 제어기(105) 또는 메모리 디바이스(110))에 결합 또는 포함될 수 있으며 디바이스에 의해 시스템(100) 내에서 통신되는 데이터에서 에러들을 식별하기 위해 에러 검출 정보(예를 들어, 검사합)를 비교하는 데 사용될 수 있는 하나 이상의 비교기를 포함할 수 있다.
메모리 디바이스(110)는 디바이스 메모리 제어기(155) 및 하나 이상의 메모리 다이(160)를 포함할 수 있다. 각 메모리 다이(160)는 로컬 메모리 제어기(165)(예를 들어, 로컬 메모리 제어기(165-a), 로컬 메모리 제어기(165-b), 및/또는 로컬 메모리 제어기(165-N)) 및 메모리 어레이(170)(예를 들어, 메모리 어레이(170-a), 메모리 어레이(170-b), 및/또는 메모리 어레이(170-N))를 포함할 수 있다. 메모리 어레이(170)는 메모리 셀들의 집합(예를 들어, 그리드)일 수 있으며, 각 메모리 셀은 적어도 1 비트의 디지털 데이터를 저장하도록 구성된다. 메모리 어레이들(170) 및/또는 메모리 셀들의 특징들은 또한 도 2를 참조하여 설명된다.
메모리 디바이스(110)는 메모리 셀들의 2차원(2D) 어레이의 일례일 수 있거나 또는 메모리 셀들의 3차원(3D) 어레이의 일례일 수 있다. 예를 들어, 2D 메모리 디바이스는 단일 메모리 다이(160)를 포함할 수 있다. 3D 메모리 디바이스는 두 개 이상의 메모리 다이들(160)(예를 들어, 메모리 다이들(160-a), 메모리 다이들(160-b), 및/또는 임의의 수량의 메모리 다이들(160-N))을 포함할 수 있다. 3차원 메모리 디바이스에서, 복수의 메모리 다이들(160-N)은 서로의 위에 적층될 수 있다. 일부 경우들에서, 3D 메모리 디바이스의 메모리 다이들(160-N)은 데크, 레벨, 레이어 또는 다이라고 할 수 있다. 3D 메모리 디바이스는 임의의 수량의 적층된 메모리 다이들(160-N)(예를 들어, 2단, 3단, 4단, 5단, 6단, 7단, 8단)을 포함할 수 있다. 이는 단일 2D 메모리 디바이스와 비교하여 기판 상에 위치될 수 있는 메모리 셀들의 수량을 증가시킬 수 있으며, 이는 그 다음 생산 비용을 감소시키거나, 메모리 어레이의 성능을 증가 시키거나, 또는 둘 다일 수 있다. 일부 3D 메모리 디바이스에서, 상이한 데크들은 일부 데크들이 워드 라인, 디지트 라인, 및/또는 플레이트 라인 중 적어도 하나를 공유할 수 있도록 적어도 하나의 공통 액세스 라인을 공유할 수 있다.
디바이스 메모리 제어기(155)는 메모리 디바이스(110)의 동작을 제어하도록 구성된 회로들 또는 구성요소들을 포함할 수 있다. 이와 같이, 디바이스 메모리 제어기(155)는 메모리 디바이스(110)가 명령들을 수행할 수 있게 하는 하드웨어, 펌웨어, 및 소프트웨어를 포함할 수 있으며 메모리 디바이스(110)와 관련된 명령들, 데이터 또는 제어 정보를 수신, 전송, 또는 실행하도록 구성될 수 있다. 디바이스 메모리 제어기(155)는 외부 메모리 제어기(105), 하나 이상의 메모리 다이(160), 또는 프로세서(120)와 통신하도록 구성될 수 있다. 일부 경우들에서, 메모리 디바이스(110)는 외부 메모리 제어기(105)로부터 데이터 및/또는 명령들을 수신할 수 있다.
예를 들어, 메모리 디바이스(110)는 메모리 디바이스(110)가 시스템(100)의 구성요소(예를 들어, 프로세서(120))를 대신하여 특정 데이터를 저장해야 함을 나타내는 기록 명령 또는 메모리 디바이스(110)가 메모리 다이(160)에 저장된 특정 데이터를 시스템(100)의 구성요소(예를 들어, 프로세서(120))에 제공해야 함을 나타내는 판독 명령을 수신할 수 있다. 일부 경우들에서, 디바이스 메모리 제어기(155)는 메모리 다이(160)의 로컬 메모리 제어기(165)와 함께 본 명세서에 설명된 메모리 디바이스(110)의 동작을 제어할 수 있다. 디바이스 메모리 제어기(155) 및/또는 로컬 메모리 제어기(165)에 포함되는 구성요소들의 예들은 외부 메모리 제어기(105)로부터 수신된 신호들을 복조하기 위한 수신기들, 신호들을 변조하고 외부 메모리 제어기(105)로 전송하기 위한 디코더들, 논리, 디코더들, 증폭기들, 필터들 등을 포함할 수 있다.
로컬 메모리 제어기(165)(예를 들어, 메모리 다이(160)에 로컬인)는 메모리 다이(160)의 동작들을 제어하도록 구성될 수 있다. 또한, 로컬 메모리 제어기(165)는 디바이스 메모리 제어기(155)와 통신(예를 들어, 데이터 및/또는 명령들을 수신 및 전송)하도록 구성될 수 있다. 로컬 메모리 제어기(165)는 본 명세서에서 설명되는 메모리 디바이스(110)의 동작을 제어하기 위해 디바이스 메모리 제어기(155)를 지원할 수 있다. 일부 경우들에서, 메모리 디바이스(110)는 디바이스 메모리 제어기(155)를 포함하지 않으며, 로컬 메모리 제어기(165) 또는 외부 메모리 제어기(105)가 본 명세서에서 설명된 다양한 기능들을 수행할 수 있다. 이와 같이, 로컬 메모리 제어기(165)는 디바이스 메모리 제어기(155), 다른 로컬 메모리 제어기(165)와 통신하거나, 외부 메모리 제어기(105) 또는 프로세서(120)와 직접 통신하도록 구성될 수 있다.
외부 메모리 제어기(105)는 시스템(100)의 구성요소들(예를 들어, 프로세서(120))와 메모리 디바이스(110) 사이의 정보, 데이터 및/또는 명령들의 통신을 가능하게하도록 구성될 수 있다. 외부 메모리 제어기(105)는 시스템(100)의 구성요소들이 메모리 디바이스의 동작에 대한 세부 사항들을 알 필요가 없을 수 있도록 시스템(100)의 구성요소들과 메모리 디바이스(110) 사이의 연결 역할을 할 수 있다. 시스템(100)의 구성요소들은 외부 메모리 제어기(105)가 충족하는 요청들(예를 들어, 판독 명령 또는 기록 명령)을 외부 메모리 제어기(105)에 제시할 수 있다. 외부 메모리 제어기(105)는 시스템(100)의 구성요소들과 메모리 디바이스(110) 사이에서 교환되는 통신들을 전환 또는 변환할 수 있다. 일부 경우들에서, 외부 메모리 제어기(105)는 공통 (소스) 시스템 클록 신호를 생성하는 시스템 클록을 포함할 수 있다. 일부 경우들에서, 외부 메모리 제어기(105)는 공통 (소스) 시스템 클록 신호를 생성하는 공통 데이터 클록을 포함할 수 있다.
일부 경우들에서, 외부 메모리 제어기(105) 또는 시스템(100)의 다른 구성요소, 또는 본 명세서에에서 설명된 이의 기능들은 프로세서(120)에 의해 구현될 수 있다. 예를 들어, 외부 메모리 제어기(105)는 프로세서(120) 또는 시스템(100)의 다른 구성요소에 의해 구현되는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 일부 조합일 수 있다. 외부 메모리 제어기(105)가 메모리 디바이스(110)의 외부에 있는 것으로 도시되었지만, 일부 경우들에서, 외부 메모리 제어기(105) 또는 본 명세서에서 설명된 이의 기능들은 메모리 디바이스(110)에 의해 구현될 수 있다. 예를 들어, 외부 메모리 제어기(105)는 디바이스 메모리 제어기(155) 또는 하나 이상의 로컬 메모리 제어기(165)에 의해 구현되는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 일부 조합일 수 있다.
일부 경우들에서, 외부 메모리 제어기(105)는 외부 메모리 제어기(105)의 부분들이 프로세서(120)에 의해 구현되고 다른 부분들이 디바이스 메모리 제어기(155) 또는 로컬 메모리 제어기(165)에 의해 구현되도록 프로세서(120) 및 메모리 디바이스(110)에 걸쳐 분산될 수 있다. 마찬가지로, 일부 경우들에서, 본 명세서에서 디바이스 메모리 제어기(155) 또는 로컬 메모리 제어기(165)에 속하는 하나 이상의 기능은 일부 경우들에서, 외부 메모리 제어기(105)(프로세서(120)와 별개이ㅓ나 이에 포함되는 것으로서)에 의해 수행될 수 있다. 일부 예들에서, 외부 메모리 제어기(105)는 메모리 디바이스(110)로부터, 메모리 디바이스(110)로 전송된 데이터에서의 에러의 표시를 수신하도록 구성될 수 있다. 예를 들어, 외부 메모리 제어기(105)는 메모리 디바이스(110)에서 수신된 데이터에 에러가 있었음을 나타내는 이진 값을 갖는 비트를 수신할 수 있다. 이와 같이, 외부 메모리 제어기는 수신된 표시에 기초하여, 에러를 포함한 데이터를 재전송할 것을 결정할 수 있다.
시스템(100)의 구성요소들은 복수의 채널들(115)을 사용하여 메모리 디바이스(110)와 정보를 교환할 수 있다. 일부 예들에서, 채널들 (115)은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이의 통신을 가능하게 할 수 있다. 각 채널(115)은 시스템(100)의 구성요소들과 연관된 단자들 사이의 하나 이상의 신호 경로 또는 전송 매체(예를 들어, 도체)를 포함할 수 있다. 예를 들어, 채널(115)은 외부 메모리 제어기(105)의 하나 이상의 핀 또는 패드 및 메모리 디바이스(110)의 하나 이상의 핀 또는 패드를 포함하는 제1 단자를 포함할 수 있다. 핀은 시스템(100) 디바이스의 전도성 입력 또는 출력 지점의 일례일 수 있고, 핀은 채널의 일부로서의 역할을 하도록 구성될 수 있다. 일부 경우들에서, 단자의 핀 또는 패드는 채널(115)의 신호 경로의 일부일 수 있다. 시스템(100)의 구성요소 내에서 신호들을 라우팅하기 위해 채널의 단말과 추가 신호 경로들이 결합될 수 있다. 예를 들어, 메모리 디바이스(110)는 채널(115)의 단자로부터 메모리 디바이스(110)의 다양한 구성요소들(예를 들어, 디바이스 메모리 제어기(155), 메모리 다이들(160), 로컬 메모리 제어기들(165), 메모리 어레이들(170))로 신호를 라우팅하는 신호 경로들(예를 들어, 메모리 디바이스(110) 내부의 신호 경로들 또는 이의 구성요소들, 이를테면 메모리 다이(160) 내부)를 포함할 수 있다.
채널들(115)(및 관련 신호 경로들 및 단자들)은 특정 유형들의 정보를 통신하는 데 전용될 수 있다. 일부 경우들에서, 채널(115) 집합 채널일 수 있고 이에 따라 다수의 개별 채널들을 포함할 수 있다. 예를 들어, 데이터 채널(192)은 x4(예를 들어, 4개의 신호 경로들을 포함함), x8(예를 들어, 8개의 신호 경로들을 포함함), x16(16개의 신호 경로들을 포함함) 등일 수 있다. 일부 예들에서, 채널(115)은 물리적 라인들(예를 들어, 전도성 라인들)에 대응할 수 있다. 예를 들어, 디바이스들 사이에서 통신되는 시그널링은 채널(115)에 의해 시스템(100) 내에 위치한 하나 이상의 전도성 라인을 통해 전달될 수 있다.
일부 경우들에서, 채널들(115)은 하나 이상의 명령 및 어드레스(CA) 채널(186)을 포함할 수 있다. CA 채널들(186)은 명령들과 연관된 제어 정보(예를 들어, 어드레스 정보)를 포함하는 명령들을 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 통신하도록 구성될 수 있다. 예를 들어, CA 채널(186)은 요구되는 데이터의 어드레스를 갖는 판독 명령을 포함할 수 있다. 일부 경우들에서, CA 채널들(186)은 상승 클록 신호 에지 및/또는 하강 클록 신호 에지 상에 정합될 수 있다. 일부 경우들에서, CA 채널(186)은 8개 또는 9개의 신호 경로들을 포함할 수 있다.
일부 경우들에서, 채널들(115)은 하나 이상의 클록 신호(CK) 채널(188)을 포함할 수 있다. CK 채널들(188)은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 하나 이상의 공통 클록 신호를 통신하도록 구성될 수 있다. 각 클록 신호는 하이 상태와 로우 상태 사이에서 조정(예를 들어, 진동)하고 외부 메모리 제어기(105) 및 메모리 디바이스(110)의 동작들을 조정하도록 구성될 수 있다. 일부 경우들에서, 클록 신호는 차동 출력(예를 들어, CK_t 신호 및 CK_c 신호)일 수 있고, 이에 따라 CK 채널들(188)의 신호 경로들이 구성될 수 있다.
일부 경우들에서, 클록 신호는 단일 종단일 수 있다. 일부 경우들에서, 클록 신호는 1.5 GHz 신호일 수 있다. CK 채널(188)은 임의의 수량의 신호 경로를 포함할 수 있다. 일부 경우들에서, 클록 신호 CK(예를 들어, CK_t 신호 및 CK_c 신호)는 메모리 디바이스(110)에 대한 명령 및 어드레싱 동작들, 또는 메모리 디바이스(110)에 대한 다른 시스템 전반 동작들에 대한 타이밍 기준을 제공할 수 있다. 이에 따라, 클록 신호(CK)는 제어 클록 신호(CK), 명령 클록 신호(CK) 또는 시스템 클록 신호(CK)로서 다양하게 지칭될 수 있다. 시스템 클록 신호(CK)는 하나 이상의 하드웨어 구성요소(예를 들어, 발진기, 크리스탈, 논리 게이트, 트랜지스터 등)를 포함할 수 있는 시스템 클록에 의해 생성될 수 있다.
일부 경우들에서, 채널들(115)은 하나 이상의 데이터(예를 들어, DQ) 채널(190)을 포함할 수 있다. 데이터 채널들(190)은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 데이터 및/또는 제어 정보를 통신하도록 구성될 수 있다. 예를 들어, 데이터 채널들(190)은 메모리 디바이스(110)에 기록될 정보 또는 메모리 디바이스(110)로부터 판독된 정보를 통신할 수 있다(예를 들어, 양방향). 데이터 채널들(190)은 다양한 상이한 변조 방식들(예를 들어, NRZ, PAM4)을 사용하여 변조될 수 있는 신호들을 통신할 수 있다.
일부 경우들에서, 채널들(115)은 다른 목적들에 전용될 수 있는 하나 이상의 기타 채널(192)을 포함할 수 있다. 이러한 기타 채널들(192)은 임의의 수량의 신호 경로를 포함할 수 있다. 일부 경우들에서, 기타 채널들(192)은 하나 이상의 기록 클록 신호(WCK) 채널을 포함할 수 있다. WCK의 'W'는 명목상 "기록"을 의미할 수 있지만, 기록 클록 신호 WCK(예를 들어, WCK_t 신호 및 WCK_c 신호)는 일반적으로 메모리 디바이스(110)에 대한 액세스 동작들에 대한 타이밍 기준(예를 들어, 타이밍 판독 및 기록 동작들에 대한 타이밍 기준)을 제공할 수 있다.
이에 따라, 기록 클록 신호(WCK)는 데이터 클록 신호(WCK)라고도 지칭될 수 있다. WCK 채널들은 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 공통 데이터 클록 신호를 통신하도록 구성될 수 있다. 데이터 클록 신호는 외부 메모리 제어기(105)와 메모리 디바이스(110)의 액세스 동작(예를 들어, 기록 동작 또는 판독 동작)을 조정하도록 구성될 수 있다. 일부 경우들에서, 기록 클록 신호는 차동 출력(예를 들어, WCK_t 신호 및 WCK_c 신호)일 수 있고 이에 따라WCK 채널들의 신호 경로들이 구성될 수 있다. WCK 채널은 임의의 수량의 신호 경로를 포함할 수 있다. 데이터 클록 신호(WCK)는 데이터 클록에 의해 생성될 수 있으며, 이는 하나 이상의 하드웨어 구성요소(예를 들어, 발진기, 크리스탈, 논리 게이트, 트랜지스터 등)를 포함할 수 있다.
채널들(115)은 다양한 상이한 아키텍처들을 사용하여 외부 메모리 제어기(105)를 메모리 디바이스(110)와 결합할 수 있다. 다양한 아키텍처들의 예들은 버스, 점 대 점 연결, 크로스바, 실리콘 인터포저와 같은 고밀도 인터 포저, 또는 유기 기판에 형성된 채널들 또는 이들의 일부 조합을 포함할 수 있다. 예를 들어, 일부 경우들에서, 신호 경로들은 실리콘 인터포저 또는 글래스 인터포저와 같은 고밀도 인터포저를 적어도 부분적으로 포함할 수 있다.
채널들(115)을 통해 통신되는 신호들은 다양한 상이한 변조 방식들을 사용하여 변조될 수 있다. 일부 경우들에서, 이진 심볼(또는 이진 레벨) 변조 방식이 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 통신되는 신호들을 변조하는 데 사용될 수 있다. 이진 심볼 변조 방식은 M진 변조 방식(여기서 M은 2와 같다)의 일례일 수 있다. 이진 심볼 변조 방식의 각 심볼은 1 비트의 디지털 데이터를 나타내도록 구성될 수 있다(예를 들어, 심볼은 논리 1 또는 논리 0을 나타낼 수 있다). 이진 심볼 변조 방식들의 예들은 비제로 복귀(NRZ, non-return-to-zero), 유니폴라 인코딩, 바이폴라 인코딩, 맨체스터 인코딩, 두 개의 심볼들을 갖는 펄스 진폭 변조(PAM, pulse amplitude modulation)(예를 들어, PAM2), 및/또는 기타를 포함하지만, 이에 제한되지는 않는다.
일부 경우들에서, 멀티 심볼(또는 멀티 레벨) 변조 방식이 외부 메모리 제어기(105)와 메모리 디바이스(110) 사이에서 통신되는 신호들을 변조하는 데 사용될 수 있다. 멀티 심볼 변조 방식은 M진 변조 방식(여기서 M은 3보다 크거나 같다)의 일례일 수 있다. 멀티 심볼 변조 방식의 각 심볼은 1보다 많은 비트의 디지털 데이터를 나타내도록 구성될 수 있다(예를 들어, 심볼은 논리 00, 논리 01, 논리 10 또는 논리 11을 나타낼 수 있다). 멀티 심볼 변조 방식들의 예들은 PAM4, PAM8 등, 직교 진폭 변조(QAM, quadrature amplitude modulation), 직교 위상 편이 변조(QPSK, quadrature phase shift keying) 및/또는 기타를 포함하지만, 이에 제한되지는 않다. 멀티 심볼 신호 또는 PAM4 신호는 1보다 많은 비트의 정보를 인코딩하기 위해 적어도 세 개의 레벨을 포함하는 변조 방식을 사용하여 변조되는 신호일 수 있다. 멀티 심볼 변조 방식들 및 심볼들은 대안적으로 비-이진, 멀티 비트 또는 보다 고차 변조 방식들 및 심볼들이라고 지칭될 수 있다.
일부 경우들에서, 기타 채널들(192)은 하나 이상의 EDC 채널을 포함할 수 있다. EDC 채널은 판독 및 기록 동작들 동안의 에러 정정 및 판독 동작들 동안 메모리 디바이스(110)에서의 타이밍 시프트와 관련된 피드백과 같은 멀티 기능들을 위해 구성될 수 있다. 예를 들어, EDC 라인은 메모리 디바이스(110)에 기록되는 데이터에 대한 검사합(예를 들어, 순환 잉여 검사(CRC, cyclic redundancy check) 검사합)을 반환하는 데 사용될 수 있다. 이러한 경우들에서, 메모리 디바이스(110)에 의해 하나 이상의 데이터 채널(190)(또는 데이터 라인)을 통해 수신되는 여덟(8) 개의 데이터 비트들에 대해 8 비트 검사합이 생성될 수 있다. 다른 경우들에서, 검사합을 생성할 때에는 다수의 데이터 채널들(190) 상에서 또는 하나 이상의 데이터 버스트 동안 수신된 데이터가 조합될 수 있다.
어느 경우든, 메모리 디바이스(110)는 생성된 검사합을 EDC 핀을 통해 외부 메모리 제어기(105)(예를 들어, GPU)에 제공할 수 있다. 외부 메모리 제어기(105)는 마찬가지로 전송된 데이터에 대한 검사합을 생성하고, 검사합들 사이의 비교에 기초하여, 메모리 디바이스(110)에서 데이터가 올바르게 수신되었는지 여부를 결정할 수 있다. 에러가 검출되면, 에러를 포함한 임의의 데이터는 에러와 관련된 정보를 재기록하기 위해 메모리 디바이스(110)로 재전송될 수 있다.
외부 메모리 제어기(105)에 제공될 검사합 데이터가 없는 경우들에서는, 대안적으로 EDC 라인이 메모리 디바이스(110) 타이밍의 추적을 위해 외부 메모리 제어기(105)에 타이밍 신호(예를 들어, 클록 유사 패턴)를 통신하는 데 사용될 수 있다. 이러한 클록 유사 패턴들은 EDC 시그널링에 의해 구동되고 하나 이상의 모드 레지스터 설정에 의해 정의된(예를 들어, 모드 레지스터에서의 비트 수량이 홀드 패턴을 정의할 수 있다) 홀드 패턴(예를 들어, EDC 홀드 패턴)을 포함할 수 있다. 홀드 패턴은 클록 및 데이터 복구 동작들을 위해 메모리 디바이스(110)에 의해 반복적으로/지속적으로 전송될 수 있는 일부 수량의 비트들(예를 들어, 네(4) 비트)을 포함할 수 있다.
일부 경우들에서, 메모리 디바이스(110)의 타이밍은 다른 파라미터들 중에서도 특히, 온도 또는 공급 전압의 변화에 영향을 받을 수 있으며, 이는 메모리 디바이스(110)의 동작을 변화시킬 수 있다(예를 들어, 전압 잡음 증가(이를테면 전하 운반체들의 열 교란에 의해 야기됨), 온도 유발 지터). 이 결과, 메모리 디바이스(110)의 클록 유사 패턴 또는 클록 신호는 온도 및/또는 공급 전압의 변화에 따라 드리프트될 수 있으며, 이는 훈련된(예를 들어, 최적의) 데이터 아이 위치로부터 멀어지는 데이터 아이 위치의 시프트를 야기할 수 있어, 잠재적으로 전송 에러 가능성을 증가시킨다.
이러한 경우들에서, (예를 들어, EDC 채널을 통해) 보내진 클록 신호에 기초하여, 외부 메모리 제어기(105)는 메모리 디바이스(110)의 타이밍에서의 시프트를 처리하기 위해 재훈련이 필요한지 여부, 또는 예를 들어, 메모리 디바이스(110)로부터 수신되는 판독 데이터 상의 타이밍 오프셋이 적용될 필요가 있는지 여부를 결정할 수 있다. 이에 따라, 메모리 디바이스(110)에 의해 EDC 핀을 통해 보내어지는 클록 유사 패턴은 외부 메모리 제어기(105)가 메모리 타이밍 및 다른 조건들의 변화를 식별하고 이에 적응할 수 있게 할 수 있다.
그러나, 메모리 디바이스(110)로부터의 EDC 신호들은 메모리 디바이스(110)의 수신기에 가까운 외부 메모리 제어기(105)로부터의 상대적으로 더 약한 데이터 신호들에 간섭할 수 있다. 예를 들어, EDC 라인은 하나 이상의 데이터 라인(예를 들어, 데이터 채널(190)에 대응함) 사이에 또는 부근에 위치할 수 있다. 검사합 정보 또는 클록 유사 패턴이 하나 이상의 데이터 라인 상에서 전송되는 데이터에 반하는(반대 방향으로) EDC 라인 상에서 전송될 때, 크로스토크는 메모리 디바이스(110)에서 수신되는 데이터에 영향을 미칠 수 있다.
일례로서, 갭이 없는 기록 사이클들은 하나 이상의 데이터 라인과 반대 방향으로(예를 들어, 그리고 데이터가 전송되는 것과 동일한 속도로) EDC 라인으로부터의 지속적인 데이터 전달을 사용할 수 있다. EDC 라인이 메모리 디바이스(110)에서 데이터가 래칭되는 것과 동시에 또는 함께(또는 거의 동시에) 메모리 디바이스(110) 외로 시그널링을 구동하는 경우, 간섭(예를 들어, 역방향 크로스토크라고도 지칭되는 근단 크로스토크)이 하나 이상의 데이터 채널에서 발생할 수 있다.
크로스토크는 전자기 효과를 통해 시스템 내의 다른 신호들(예를 들어, 주변 신호)에 의도치 않게 영향을 미치는 신호라고 지칭될 수 있으며, 하나의 신호와 다른 신호의 결합에 대응할 수 있다(예를 들어, 두 개 이상의 신호들이 하나의 신호의 변화가 의도치 않게 다른 신호에 영향을 미치고 다른 신호에서 관찰될 수 있도록 결합될 수 있는 경우). 결합은 신호들 사이의 용량성, 유도성 및/또는 전도성 결합을 포함할 수 있으며, 또한 신호들의 기판 결합(예를 들어, 집적 회로의 기판을 통한 신호들의 결합)을 포함할 수 있다. 추가적으로, 크로스토크는 "희생(victim)” 신호에 영향을 미치는 "공격자(aggressor)” 신호의 측면으로 설명될 수 있으며, 여기서 "희생” 신호는 예를 들어, 둘 중 더 약한 신호(예를 들어, 더 낮은 전력)일 수 있다. 크로스토크는 고주파 전송을 사용하는 일부 시스템들에서 발생할 수 있고, 크로스토크는 시스템(100)에 원치 않는 간섭을 도입하여, 전송된 정보의 품질 및 효율성을 저하시킬 수 있다.
일부 경우들에서, EDC 시그널링에 의해 야기되는 크로스토크로 인해 크로스토크가 있는 EDC 라인을 사용하는 것과 EDC 라인의 사용을 완전히 피하는 것 사이에 절충이 발생할 수 있다. 예를 들어, 검사합 정보의 전송은 에러 정정 및 타이밍 추적을 위해 EDC 라인을 사용하는 대신 주기적인 재교육을 수행하는 것(예를 들어, 매 300 마이크로 초(μs)마다)이 더 효율적일 수 있는 지점까지 시스템을 중단시킬 수 있다. 이와 같이, EDC 시그널링으로부터의 크로스토크의 부정적인 영향이 너무 커서 주기적인 재교육(및 임의의 관련 효율성 손실)이 에러 검출 기능 없이 동작하는 것보다 더 바람직할 수 있다(예를 들어, EDC 핀의 사용을 완전히 피할 때). 이 경우, 외부 메모리 제어기(105)는 외부 메모리 제어기(105)와 메모리 디바이스(110)의 클록들을 동기화하기 위해 하나 이상의 동작(예를 들어, 일련의 단계들)을 수행할 수 있고, 또한 메모리 디바이스(110)의 입출력들에 대한 데이터 아이 위치들을 결정할 수 있다. 예를 들어, 재훈련은 각각의 클록들을 정렬하고 하나 이상의 판독 및/또는 기록 동작과 연관된 레이턴시들을 식별하기 위해 CK 채널(188)을 통해 보내어지는 클록 신호들의 지연들의 수정을 포함할 수 있다. 일부 경우들에서, 이 다음에는 데이터 아이 위치들을 결정하기 위해 메모리 디바이스(110)에 다양한 명령들의 시그널링이 이어질 수 있다.
시스템(100)은 EDC 채널을 통해 전송되는 시그널링을 참조하여 본 명세서에 설명된 바와 같이, 상이한 채널들(115) 사이의 크로스토크를 감소 또는 제거하기 위한 기술들을 지원할 수 있다. 일례로서, 메모리 디바이스(110)는 수신된 데이터에서 에러들을 검출하고 에러가 검출될 때 이의 표시를 전송함으로써, 메모리 디바이스(110)로부터 에러 검출 피드백의 빈도를 감소시킬 수 있다. 이러한 경우들에서, 외부 메모리 제어기(105) 대신 메모리 디바이스(110)에서 에러 검출 프로세스들이 수행될 수 있다.
예를 들어, 메모리 디바이스는 데이터 채널(190)을 통해 데이터를 수신할 수 있고, 또한 EDC 채널을 통해 데이터에 대한 검사합 정보를 수신할 수 있다. 이러한 경우들에서, 데이터 및 검사합 정보는 외부 메모리 제어기(105)로부터 메모리 디바이스(110)로 동시에(예를 들어, 함께) 동일한 방향으로(예를 들어, 하나의 디바이스로부터 다른 디바이스로)로 전송될 수 있다. 이에 따라, 메모리 디바이스(110)는 수신된 데이터에 대한 검사합을 생성하며 예를 들어, 생성된 검사합과 외부 메모리 제어기(105)로부터 수신된 검사합 정보를 비교하여 전송 에러들을 검출할 수 있다. 그 다음, 메모리 디바이스(110)는 수신된 데이터에서 검출된 에러들의 표시를 외부 메모리 제어기(105)로 전송할 수 있고, 표시(예를 들어, 단일 비트)는 EDC 라인과 상이한 라인을 사용하여 전송될 수 있다.
일부 경우들에서, 저속 추적 클록 신호가 추가적으로 또는 대안적으로 메모리 디바이스(110)에 의해 EDC 라인과 상이한 라인을 통해 전송될 수 있다. 예를 들어, 수신된 데이터에 반하는 EDC 라인 상에서의 시그널링의 사용을 피하기 위해, 메모리 디바이스(110)는 하나 이상의 주변 데이터 라인 상에서 크로스토크를 제거하기 위해 데이터 라인들로부터 떨어져 위치하는 상이한 라인 상에 클록 신호 또는 클록 유사 패턴을 전송할 수 있다. (예를 들어, 시스템(100)의 데이터 전송 속도와 비교하여) 감소된 클록 유사 패턴의 속도는 또한 시스템(100)에서 크로스토크를 감소시킬 수 있다. 또한, 저속 추적 클록 신호는 시스템(100)에서 크로스토크의 추가 감소를 가능하게 하는 저전압 차동 신호일 수 있다.
추가적으로 또는 대안적으로, 메모리 디바이스(110)는 EDC 라인을 통해 시그널링된 검사합에 적용되는 타임 오프셋과 생성된 검사합을 외부 메모리 제어기(105)로 전송할 수 있다. 예를 들어, EDC 시그널링은 데이터 라인들 및 EDC 라인에서 전송되는 에지들 사이에 오프셋을 제공하기 위해 지연될 수 있다. EDC 시그널링의 특정 오프셋은 메모리 디바이스(110)에서의 동작 조건들에 기초하여 결정(예를 들어, 계산)될 수 있는 오프셋 세트로부터 선택될 수 있다.
시스템(100)에서 크로스토크를 감소시키기 위해 설명된 기술들은 개별적으로, 또는 조합하여, 또는 상이한 시간들에 둘 다 사용될 수 있다. 예를 들어, 일부 상황들에서 EDC 라인과 상이한 라인을 통해 저속 클록 신호를 전송하는 것이 바람직할 수 있는 한편, 다른 상황들에서는 EDC 시그널링의 스윙을 감소시키거나 이에 타이밍 오프셋을 추가하는 것이 바람직할 수 있다. 설명된 솔루션들의 구현은 설명된 솔루션들 중 하나 이상을 사용함으로써, 이러한 기술들 중 하나 이상의 기술들에 대한 회로가 PCB 상에 포함될 수 있는 경우, 자원들(예를 들어, 인쇄 회로 기판(PCB) 공간)을 절약할 수 있다.
도 2는 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 메모리 다이(200)의 일례를 도시한다. 메모리 디바이스(200)는 도 1을 참조하여 설명된 메모리 다이들(160)의 일례일 수 있다. 일부 경우들에서, 메모리 다이(200)는 메모리 칩, 메모리 디바이스, 또는 전자 메모리 장치라고 지칭될 수 있다. 메모리 다이(200)는 상이한 논리 상태들을 저장하도록 프로그래밍 가능한 하나 이상의 메모리 셀(205)을 포함할 수 있다. 각 메모리 셀(205)은 두 개 이상의 상태들을 저장하도록 프로그래밍될 수 있다. 예를 들어, 메모리 셀(205)은 한 번에 1 비트의 디지털 논리(예를 들어, 논리 0 및 논리 1)를 저장하도록 구성될 수 있다. 일부 경우들에서는, 단일 메모리 셀(205)(예를 들어, 멀티 레벨 메모리 셀)이 한 번에 1보다 많은 비트의 디지털 논리(예를 들어, 논리 00, 논리 01, 논리 10, 또는 논리 11)를 저장하도록 구성될 수 있다.
메모리 셀(205)은 프로그래밍 가능한 상태들을 나타내는 전하를 커패시터에 저장할 수 있다. DRAM 아키텍처들은 프로그래밍 가능한 상태를 나타내는 전하를 저장하기 위한 유전체 재료를 포함하는 커패시터를 포함할 수 있다. 다른 메모리 아키텍처들에서는, 다른 저장 디바이스들 및 구성요소들이 가능하다. 예를 들어, 비선형 유전체 재료들이 채용될 수 있다.
판독 및 기록과 같은 동작들은 액세스 라인 이를테면 워드 라인(210) 및/또는 디지트 라인(215)을 활성화 또는 선택함으로써 메모리 셀들(205)에 관해 수행될 수 있다. 일부 경우들에서, 디지트 라인들(215)은 또한 비트 라인들이라고도 할 수 있다. 액세스 라인들, 워드 라인들 및 디지트 라인들, 또는 각각의 유사물들에 대한 언급들은 이해 또는 운용을 잃지 않고 호환 가능하다. 워드 라인(210) 또는 디지트 라인(215)을 활성화 또는 선택하는 것은 각각의 라인에 전압을 인가하는 것을 포함할 수 있다.
메모리 다이(200)는 그리드 유사 패턴으로 배열된 액세스 라인들(예를 들어, 워드 라인들(210) 및 디지트 라인들(215))을 포함할 수 있다. 메모리 셀들(205)은 워드 라인들(210)과 디지트 라인들(215)의 교차점에 위치될 수 있다. 워드 라인(210) 및 디지트 라인(215)을 바이어싱(예를 들어, 워드 라인(210) 또는 디지트 라인(215)에 전압을 인가)함으로써, 이들의 교차점의 단일 메모리 셀(205)이 액세스될 수 있다.
메모리 셀들(205)에 액세스하는 것은 로우 디코더(220) 또는 컬럼 디코더(225)를 통해 제어될 수 있다. 예를 들어, 로우 디코더(220)는 로컬 메모리 제어기(260)로부터 로우 어드레스를 수신하고 수신된 로우 어드레스에 기초하여 워드 라인(210)을 활성화시킬 수 있다. 컬럼 디코더(225)는 로컬 메모리 제어기(260)로부터 컬럼 어드레스를 수신할 수 있고 수신된 컬럼 어드레스에 기초하여 디지트 라인(215)을 활성화시킬 수 있다. 예를 들어, 메모리 다이(200)는 WL_1 내지 WL_M으로 라벨링된 다수의 워드 라인들(210), 및 DL_1 내지 DL_N으로 라벨링된 다수의 디지트 라인들(215)을 포함할 수 있으며, 여기서 M 및 N은 메모리 어레이의 크기에 따른다. 이에 따라, 워드 라인(210) 및 디지트 라인(215), 예를 들어, WL_1 및 DL_3를 활성화시킴으로써, 이들의 교차점의 메모리 셀(205)이 액세스될 수 있다. 2차원 또는 3차원 구성 중 어느 하나에서, 워드 라인(210) 및 디지트 라인(215)의 교차점은 메모리 셀(205)의 어드레스라고 할 수 있다.
메모리 셀(205)은 커패시터(230) 및 스위칭 구성요소(235)와 같은 논리 저장 구성요소를 포함할 수 있다. 커패시터(230)는 유전체 커패시터 또는 강유전체 커패시터의 일례일 수 있다. 커패시터(230)의 제1 노드는 스위칭 구성요소(235)와 결합될 수 있고 커패시터(230)의 제2 노드는 전압원(240)과 결합될 수 있다. 일부 경우들에서, 전압원(240)은 Vss와 같은 접지이다. 일부 경우들에서, 전압원(240)은 플레이트 라인 드라이버와 결합된 플레이트 라인의 일례일 수 있다. 스위칭 구성요소(235)는 두 개의 구성요소들 사이의 전자 통신을 선택적으로 수립하거나 중지하는 트랜지스터 또는 임의의 다른 유형의 스위치 디바이스의 일례일 수 있다.
메모리 셀(205)을 선택 또는 선택 해제하는 것은 스위칭 구성요소(235)를 활성화 또는 비활성화함으로써 실현될 수 있다. 커패시터(230)는 스위칭 구성요소(235)를 사용하여 디지트 라인(215)과 전자 통신할 수 있다. 예를 들어, 스위칭 구성요소(235)가 비활성화될 때 커패시터는(230) 디지트 라인(215)과 단리될 수 있고, 스위칭 구성요소(235)가 활성화될 때 커패시터(230)는 디지트 라인(215)과 결합될 수 있다. 일부 경우들에서, 스위칭 구성요소(235)는 트랜지스터이고 이의 동작은 전압을 트랜지스터 게이트에 인가함으로써 제어될 수 있으며, 여기서 트랜지스터 게이트와 트랜지스터 소스 사이의 전압 차는 트랜지스터의 임계 전압보다 크거나 적을 수 있다. 일부 경우들에서, 스위칭 구성요소(235)는 p-형 트랜지스터 또는 n-형 트랜지스터일 수 있다. 워드 라인(210)은 스위칭 구성요소(235)의 게이트와 전자 통신할 수 있고, 워드 라인(210)에 인가되는 전압에 기초하여 스위칭 구성요소(235)를 활성화/비활성화시킬 수 있다.
워드 라인(210)은 메모리 셀(205)에 관한 액세스 동작들을 수행하는 데 사용되는 메모리 셀(205)과 전자 통신하는 전도성 라인일 수 있다. 일부 아키텍처들에서, 워드 라인(210)은 메모리 셀(205)의 스위칭 구성요소(235)의 게이트와 전자 통신할 수 있으며 메모리 셀의 스위칭 구성요소(235)를 제어하도록 구성될 수 있다. 일부 아키텍처들에서, 워드 라인(210)은 메모리 셀(205)의 커패시터의 노드와 전자 통신할 수 있고, 메모리 셀(205)은 스위칭 구성요소를 포함하지 않을 수 있다.
디지트 라인(215)은 메모리 셀(205)을 감지 구성요소(245)와 연결하는 전도성 라인일 수 있다. 일부 아키텍처들에서, 메모리 셀(205)은 액세스 동작의 부분들 동안 디지트 라인(215)과 선택적으로 결합될 수 있다. 예를 들어, 메모리 셀(205)의 워드 라인(210) 및 스위칭 구성요소(235)는 메모리 셀(205)의 커패시터(230) 및 디지트 라인(215)를 결합 및/또는 단리시키도록 구성될 수 있다. 일부 아키텍처들에서, 메모리 셀(205)은 디지트 라인(215)과 전자 통신할 수 있다(예를 들어, 일정하게).
감지 구성요소(245)는 메모리 셀(205)의 커패시터(230) 상에 저장된 상태(예를 들어, 전하)를 검출하며 저장된 상태에 기초하여 메모리 셀(205)의 논리 상태를 결정하도록 구성될 수 있다. 메모리 셀(205)에 의해 저장되는 전하는 일부 경우들에서, 극히 작을 수 있다. 이에 따라, 감지 구성요소(245)는 메모리 셀(205)에 의해 출력되는 신호를 증폭하기 위해 하나 이상의 감지 증폭기를 포함할 수 있다. 감지 증폭기들은 판독 동작 동안 디지트 라인(215)의 전하의 작은 변화를 검출할 수 있고, 검출된 전하에 기초하여 논리 상태 0 또는 논리 상태 1에 대응하는 신호들을 생성할 수 있다. 판독 동작 동안, 메모리 셀(205)의 커패시터(230)는 신호를 이의 대응하는 디지트 라인(215)에 출력(예를 들어, 전하를 방전)할 수 있다. 신호는 디지트 라인(215)의 전압을 변화시킬 수 있다.
감지 구성요소(245)는 디지트 라인(215)에 걸쳐 메모리 셀(205)로부터 수신되는 신호를 기준 신호(250)(예를 들어, 기준 전압)와 비교하도록 구성될 수 있다. 감지 구성요소(245)는 비교에 기초하여 메모리 셀(205)의 저장된 상태를 결정할 수 있다. 예를 들어, 이진 시그널링에서, 디지트 라인(215)이 기준 신호(250)보다 더 높은 전압을 갖는다면, 감지 구성요소(245)는 메모리 셀(205)의 저장된 상태가 논리 1이라고 결정할 수 있고, 디지트 라인(215)이 기준 신호(250)보다 더 낮은 전압을 갖는다면, 감지 구성요소(245)는 메모리 셀(205)의 저장된 상태가 논리 0이라고 결정할 수 있다. 감지 구성요소(245)는 다양한 트랜지스터들 또는 증폭기들을 포함하여 신호들의 차이를 검출 및 증폭할 수 있다. 메모리 셀(205)의 검출된 논리 상태가 컬럼 디코더(225)를 통해 출력(255)으로서 출력될 수 있다. 일부 경우들에서, 감지 구성요소(245)는 다른 구성요소(예를 들어, 컬럼 디코더(225), 로우 디코더(220))의 부분일 수 있다. 일부 경우들에서, 감지 구성요소(245)는 로우 디코더(220) 또는 컬럼 디코더(225)와 전자 통신할 수 있다.
로컬 메모리 제어기(260)는 다양한 구성요소들(예를 들어, 로우 디코더(220), 컬럼 디코더(225), 및 감지 구성요소(245))을 통해 메모리 셀들(205)의 동작을 제어할 수 있다. 로컬 메모리 제어기(260)는 도 1을 참조하여 설명된 로컬 메모리 제어기(165)의 일례일 수 있다. 일부 경우들에서, 로우 디코더(220), 컬럼 디코더(225), 및 감지 구성요소(245) 중 하나 이상은 메모리 제어기(260)와 함께 위치될 수 있다. 로컬 메모리 제어기(260)는 외부 메모리 제어기(105)(또는 도 1을 참조하여 설명된 디바이스 메모리 제어기(155))로부터 명령들 및/또는 데이터를 수신하고, 명령들 및/또는 데이터를 메모리 다이(200)에 의해 사용될 수 있는 정보로 변환하고, 메모리 다이(200)에 관해 하나 이상의 동작을 수행하며, 하나 이상의 동작을 수행하는 것에 응답하여 메모리 다이(200)로부터 외부 메모리 제어기(105)(또는 디바이스 메모리 제어기(155))로 데이터를 통신하도록 구성될 수 있다.
로컬 메모리 제어기(260)는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화시키기 위한 로우 및 컬럼 어드레스 신호들을 생성할 수 있다. 로컬 메모리 제어기(260)는 또한 메모리 다이(200)의 동작 동안 사용되는 다양한 전압들 또는 전류들을 생성 및 제어할 수 있다. 일반적으로, 본 명세서에서 논의되는 인가된 전압 또는 전류의 진폭, 형상 또는 지속 기간은 조정 또는 변경될 수 있고 메모리 다이(200)를 동작시키는 것에서 논의되는 다양한 동작들에 대해 상이할 수 있다.
일부 예들에서, 로컬 메모리 제어기(260)는 예를 들어, 기록 동작과 같은 액세스 동작 동안 수신되는 데이터에서 에러들을 검출할 수 있다. 예를 들어, 로컬 메모리 제어기는 메모리 셀(205)에 기록될 데이터에 대한 검사합 정보를 비교할 수 있으며, 여기서 데이터와 연관된 검사합은 로컬 메모리 제어기(260)에 의해 생성될 수 있고, 데이터가 전송되기 전에 생성된(예를 들어, 다른 디바이스에 의해 제공된 바와 같은) 검사합과 비교할 수 있다. 비교에 기초하여, 각각의 검사합들이 상이하여, 수신된 데이터가 전송된 데이터와 상이한 것을 나타내는 경우들에서 에러들이 검출될 수 있다. 수신된 데이터에서 에러들이 검출되는 경우, 로컬 메모리 제어기(260)는 에러를 나타내기 위한 표시를 다른 디바이스로 전송할 수 있으며, 이는 데이터의 재전송을 트리거할 수 있다. 다른 경우들에서는, 검사합 비교를 통해 검출된 에러가 없을 수 있고(예를 들어, 검사합들이 동일함), 로컬 메모리 제어기(260)는 수신된 데이터를 사용하여 액세스 동작을 진행할 수 있다.
일부 경우들에서, 로컬 메모리 제어기(260)는 메모리 다이(200)의 하나 이상의 메모리 셀(205)에 관해 기록 동작(예를 들어, 프로그래밍 동작)을 수행하도록 구성될 수 있다. 기록 동작 동안, 메모리 다이(200)의 메모리 셀(205)은 요구되는 논리 상태를 저장하도록 프로그래밍될 수 있다. 일부 경우들에서, 복수의 메모리 셀들(205)이 단일 기록 동작 동안 프로그래밍될 수 있다. 로컬 메모리 제어기(260)는 기록 동작을 수행할 타겟 메모리 셀(205)을 식별할 수 있다. 로컬 메모리 제어기(260)는 타겟 메모리 셀(205)(예를 들어, 타겟 메모리 셀(205)의 어드레스)과 전자 통신하는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 식별할 수 있다. 로컬 메모리 제어기(260)는 타겟 메모리 셀(205)에 액세스하기 위해, 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화(예를 들어, 워드 라인(210) 또는 디지트 라인(215)에 전압을 인가)할 수 있다. 로컬 메모리 제어기(260)는 기록 동작 동안 디지트 라인(215)에 특정 신호(예를 들어, 전압)를 인가하여 메모리 셀(205)의 커패시터(230)에 특정 상태(예를 들어, 전하)를 저장할 수 있으며, 특정 상태(예를 들어, 전하)는 요구되는 논리 상태를 나타낼 수 있다.
일부 경우들에서, 로컬 메모리 제어기(260)는 메모리 다이(200)의 하나 이상의 메모리 셀(205)에 관해 판독 동작(예를 들어, 감지 동작)을 수행하도록 구성될 수 있다. 판독 동작 동안, 메모리 다이(200)의 메모리 셀(205)에 저장된 논리 상태가 결정될 수 있다. 일부 경우들에서, 복수의 메모리 셀들(205)이 단일 판독 동작 동안 감지될 수 있다. 로컬 메모리 제어기(260)는 판독 동작을 수행할 타겟 메모리 셀(205)을 식별할 수 있다. 로컬 메모리 제어기(260)는 타겟 메모리 셀(205)(예를 들어, 타겟 메모리 셀(205)의 어드레스)과 전자 통신하는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 식별할 수 있다.
로컬 메모리 제어기(260)는 타겟 메모리 셀(205)에 액세스하기 위해, 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화(예를 들어, 워드 라인(210) 또는 디지트 라인(215)에 전압을 인가)할 수 있다. 타겟 메모리 셀(205)은 액세스 라인들을 바이어 싱하는 것에 응답하여 신호를 감지 구성요소(245)로 전달할 수 있다. 감지 구성요소(245)는 신호를 증폭할 수 있다. 로컬 메모리 제어기(260)는 감지 구성요소(245)를 발화(예를 들어, 감지 구성요소를 래칭)하며 이에 의해 메모리 셀(205)로부터 수신된 신호를 기준 신호(250)와 비교할 수 있다. 비교에 기초하여, 감지 구성요소(245)는 메모리 셀(205)에 저장된 논리 상태를 결정할 수 있다. 로컬 메모리 제어기(260)는 판독 동작의 일부로서 메모리 셀(205) 상에 저장된 논리 상태를 외부 메모리 제어기(105)(또는 디바이스 메모리 제어기(155))로 통신할 수 있다.
일부 메모리 아키텍처들에서, 메모리 셀(205)에 액세스하는 것은 메모리 셀(205)에 저장된 논리 상태를 저하 또는 파기할 수 있다. 예를 들어, DRAM 아키텍처들에서 수행되는 판독 동작은 타겟 메모리 셀의 커패시터를 부분적으로 또는 완전히 방전시킨 수 있다. 로컬 메모리 제어기(260)는 메모리 셀을 이의 원래의 논리 상태로 복귀시키기 위해 재기록 동작 또는 리프레시 동작을 수행할 수 있다. 로컬 메모리 제어기(260)는 판독 동작 후 논리 상태를 타겟 메모리 셀에 재기록할 수 있다. 일부 경우들에서, 재기록 동작이 판독 작업의 일부인 것으로 고려될 수 있다. 추가적으로, 워드 라인(210)과 같은 단일 액세스 라인을 활성화하는 것은 이러한 액세스 라인과 전자 통신하는 일부 메모리 셀들에 저장된 상태를 교란시킬 수 있다. 이에 따라, 재기록 동작 또는 리프레시 동작이 액세스되지 않았을 수 있는 하나 이상의 메모리 셀에 관해 수행될 수 있다.
메모리 다이(200)는 메모리 셀들의 2차원(2D) 어레이를 예시한다. 일부 경우들에서, 메모리 디바이스는 3차원(3D) 어레이들 또는 메모리 셀들을 포함할 수 있다. 3D 메모리 어레이는 서로의 위에 적층되는 두 개 이상의 2D 메모리 어레이들을 포함할 수 있다. 일부 경우들에서, 3D 메모리 어레이에서의 2D 메모리 어레이들이 데크, 레벨, 레이어 또는 다이라고 지칭될 수 있다. 3D 메모리 어레이는 임의의 수량의 적층된 메모리 어레이들(예를 들어, 2단, 3단, 4단, 5단, 6단, 7단, 8단)을 포함할 수 있다. 이는 단일 2D 메모리 디바이스와 비교하여 기판 상에 위치될 수 있는 메모리 셀들의 수량을 증가시킬 수 있으며, 이는 그 다음 생산 비용을 감소시키거나, 메모리 어레이의 성능을 증가 시키거나, 또는 둘 다일 수 있다. 일부 3D 메모리 어레이들에서, 상이한 데크들은 일부 데크들이 워드 라인(210) 또는 디지트 라인(215) 중 적어도 하나를 공유할 수 있도록 적어도 하나의 공통 액세스 라인을 공유할 수 있다.
도 3은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 시스템(300)의 일례를 도시한다. 시스템(300)은 제어기(305) 및 메모리 디바이스(310)를 포함할 수 있으며, 이들 각각은 설명된 기술들의 양태들을 구현할 수 있다. 예를 들어, 제어기(305)는 도 1을 참조하여 본 명세서에서 설명된 바와 같이, 외부 메모리 제어기(105)(예를 들어, GPU, GPGPU, CPU 등)의 일례일 수 있다. 추가적으로, 메모리 디바이스(310)는 도 1 및 도 2를 참조하여 설명된 바와 같은 메모리 디바이스(110)(예를 들어, GDDR(graphics double data rate) 메모리 디바이스)의 일례일 수 있다.
제어기(305) 및 메모리 디바이스(310)는 다수의 라인들(예를 들어, 데이터 라인들(315-a 및 315-b), 뿐만 아니라 EDC 라인(320))을 통해 서로 결합된 바와 같은 시스템(300)의 예에서 도시되며, 여기서 각 라인은 도 1을 참조하여 설명된 바와 같은 채널(115)에 대응할 수 있다. 제어기(305) 및 메모리 디바이스(310)는 서로 결합될 수 있고 임의의 수량의 라인들을 통해 신호들을 교환할 수 있다는 것을 이해해야 한다.
예를 들어, 제어기(305) 및 메모리 디바이스(310)는 하나의 데이터 라인(315)을 통해 결합되거나 다수의 데이터 라인들(315)을 통해 결합될(예를 들어, 도 3에 도시된 바와 같이, 데이터 라인(315-a) 위 및/또는 데이터 라인(315-b) 아래에 위치할) 수 있다. 데이터 라인들(315) 및 EDC 라인(320) 각각은 제어기(305)와 메모리 디바이스(310) 사이의 통신에 사용되는 단방향 또는 다방향 라인들일 수 있다.
일부 경우들에서, 데이터 라인들(315-a 및 315-b)은 데이터 채널(예를 들어, 도 1을 참조하여 설명된 바와 같은 데이터 채널(190))에 대응하는 전도성 라인들의 예들일 수 있고, EDC 라인(320)은 도 1을 참조하여 설명된 바와 같은 EDC 채널에 대응할 수 있다. 이와 같이, 제어기(305)는 하나 이상의 전송기(325)를 사용하여 각각의 데이터 라인들(315) 상에서 신호들을 구동 또는 전송할 수 있다. 예를 들어, 제1 전송기(325-a), 또는 또 다른 전송기(325-c), 또는 둘 모두는 메모리 디바이스(310)에서 메모리 셀들의 어레이(예를 들어, 도 1을 참조하여 설명된 메모리 어레이(170))에 기록될 데이터를 전송하도록 구성될 수 있다.
추가적으로, 제어부(305)는 EDC 라인(320)을 상에 정보를 전송하도록 구성된 제2 전송기(325-b)를 포함할 수 있다. 메모리 디바이스(310)는 제어기(305)에 의해 전송되는 신호들을 수신하도록 구성된 하나 이상의 수신기(330)(예를 들어, 수신기들(330-a. 내지 330-c))을 포함할 수 있다. 도시된 바와 같이, EDC 라인(320)은 데이터 라인(315-a)과 데이터 라인(315-b) 사이에 위치할 수 있다. 이와 같이, EDC 라인(320)을 통해 메모리 디바이스(310)로부터 제어기(305)로 보내어지는 시그널링은 하나 이상의 데이터 라인(315)(예를 들어, 데이터 라인(315-a), 또는 데이터 라인(315-b), 또는 도시되지 않은 다른 데이터 라인(들)(315), 또는 이들의 임의의 조합) 상에 크로스토크를 초래할 수 있다.
일부 양태들에서, 시스템(300)은 EDC 라인(320)으로부터 데이터 라인들(315)로의 크로스토크를 감소 또는 제거하는 기술들을 구현할 수 있다. 예를 들어, 제어기(305)는 (예를 들어, 제어기(305)로부터 메모리 디바이스(310)로의 기록 동작들을 위해) 하나 이상의 데이터 라인(315)을 통해 보내어지는 데이터에 대한 검사합 정보(예를 들어, CRC 검사합)를 제공할 수 있다. 즉, 제어기(305)는 전송될 데이터에 관해 검사합 계산을 수행할 수 있고, 데이터와 함께 검사합 정보를 제공할 수 있다. 검사합 정보는 EDC 라인(320)을 통해 메모리 디바이스(310)로 보내질 수 있다. 이러한 경우들에서, EDC 라인(320) 상(제어기(305)로부터 메모리 디바이스(310)로)의 시그널링은 데이터 라인(들)(315) 상에 보내어지는 데이터와 시간적으로 정렬될 수 있다. 이 결과, 데이터와 동일한 방향으로 보내어지는 시그널링은 메모리 디바이스(310)에서 크로스토크를 감소시킬 수 있고, 결과적으로 메모리 셀들의 어레이에 기록될 데이터에서 에러들을 감소시킬 수 있다.
또한, 메모리 디바이스(310)는 수신된 데이터에 대한 검사합을 생성할 수 있고, 수신된 데이터에서 에러들을 식별할 수 있다. 즉, 검사합 비교가 메모리 디바이스(310)에 의해 직접 수행될 수 있다. 일부 경우들에서, 메모리 디바이스(310)는 수신된 데이터에 대한 검사합과 제어기(305)로부터 수신된 검사합을 비교하는 데 사용되는 비교기(335)를 포함할 수 있다.
수신된 데이터에서 실패가 식별되는 경우, 메모리 디바이스(310)는 에러를 갖는 데이터(예를 들어, 실패한 데이터)의 재기록을 요청하기 위한 표시를 제어기(305)에 전송할 수 있다. 일부 예들에서, 실패한 데이터의 표시는 EDC 라인(320)을 사용하여 메모리 디바이스(310)에 의해 전송될 수 있다. 추가적으로 또는 대안적으로, 메모리 디바이스(310)는 (예를 들어, 비교기(335)로부터) 실패한 데이터의 표시를 수신하고, 그 다음 전송 실패와 관련된 정보를 (예를 들어, 에러 피드백 라인(345)를 통해) 제어기(305)로 보낼 수 있는 전송기(340)를 포함할 수 있다. 예를 들어, 에러 피드백 라인은 EDC 라인(320)과 별도의 다이 또는 기판 상의 추가 신호 라인을 포함할 수 있고, 에러 피드백 정보(예를 들어, 전송 에러 정보)의 전송을 위해 구성(예를 들어, 이에 전용)될 수 있다. 일부 예들에서, 에러 피드백 라인(345)은 JTAG(joint test action group) 신호 라인 또는 EDC 라인과 상이한 또 다른 라인일 수 있다.
일부 예들에서, 전송 실패 정보는 제어기(305)로부터 수신된 데이터가 실패했다(예를 들어, 비교된 검사합들이 상이했다)는 플래그의 역할을 하는 이진 값(예를 들어, 0 또는 1)을 갖는 단일 비트를 포함할 수 있다. 단일 데이터 비트는 완료된 기록 프로세스를 검증(또는 이에 대응)할 수 있으며, 이는 제어기(305)로 피드백되는 바이트당 또는 비트당 정보를 제거할 수 있으며(예를 들어, 재기록 동작들은 전체 데이터 버스트를 재기록할 수 있기 때문에) 이에 따라 EDC 라인(320)을 통해 보내어지는 시그널링에 대한 크로스토크를 감소시킬 수 있다. 일부 예들에서, 전송 에러 정보와 함께 전송되는 표시는 메모리 디바이스(310)로부터 제어기(305) 로의 지속적인 검사합 전송에 비해 덜 빈번하게 전송될 수 있다.
일부 경우들에서, 에러들의 양은 상대적으로 낮을 수 있고(예를 들어, 부분적으로 메모리 디바이스(310)로부터의 리턴 시그널링의 감소로 인해), 이에 따라 드문 리턴 시그널링(EDC 라인(320), 에러 피드백 라인(345), 또는 둘 모두를 사용)에 의해 야기될 수 있는 임의의 크로스토크가 최소화될 수 있다. 일부 양태들에서, 이진 표시는 전송된 데이터가 올바르게 수신되었는지 여부에 관한 피드백(예를 들어, 지속적인 피드백)을 제어기(305)에 제공할 수 있으며, 이는 제어기(305)가 메모리 디바이스(310)로 보내어지는 데이터의 상태를 모니터링할 수 있게 하는 것을 가능하게 할 수 있다.
추가적으로 또는 대안적으로, 저밀도(예를 들어, 저주파수) 클록 신호가 메모리 디바이스(310)와 제어기(305) 사이의 타이밍 추적의 피드백을 위해 사용될 수 있다. 이러한 경우들에서, 클록(350)은 EDC 라인(320)과 상이한 타이밍 피드백 라인(355)을 사용하여 클록 신호를 제어기(305)로 전송할 수 있다. 이러한 경우들에서, 클록(350)에 의해 구동되는 클록 신호의 주파수(예를 들어, 에지들의 수량)는 EDC 라인(320)을 통해 전송되는 클록 신호들 또는 클록 유사 패턴의 주파수보다 적을 수 있다. 예를 들어, 클록 신호의 주파수는 (예를 들어, 10배만큼) 감소될 수 있으며, 이로 인해 메모리 디바이스(310)로부터 제어기(305)로 전송되는 에지들이 더 적어지고, 이에 따라 시스템(300)에서 크로스토크를 감소시킬 수 있다. 일부 경우들에서, 클록 신호는 (예를 들어, 메모리 디바이스(310)의 타이밍의 피드백을 제공하는 데 사용되는) 메모리 디바이스(310)에 의해 반복되는 비트들의 수량의 홀드 패턴(예를 들어, 클록 유사 신호)을 포함할 수 있다.
일부 경우들에서, 클록(350)에 의해 구동되는 클록 신호는 (예를 들어, 시스템(300) 내에서 전송되는 다른 신호들의 전압 스윙과 비교하여) 낮은 전압 스윙을 갖는 차동 신호일 수 있다. 예를 들어, 클록 신호는 저전력으로 동작하고, 고속으로 실행되며 한 쌍의 전선 또는 라인 상의 전압 차이를 사용하여 정보를 전송하는 저전압 스윙(예를 들어, 최대 출력 전압과 최소 출력 전압의 차이)을 가질 수 있는 낮은 스윙 차동 클록 신호(예를 들어, JEDEC(Joint Electron Device Engineering Council) 표준 또는 LVDS(low voltage differential signaling)과 같은 산업 표준 또는 사양에 따르는)일 수 있다. 이러한 신호들은 시스템 내에서 사용되는 다른 신호들의 전압 스윙의 일부를 사용할 수 있지만, 여전히 높은 데이터 속도와 낮은 전력 소비를 가능하게 할 수 있다. 이와 같이, 클록 신호의 전압 스윙을 감소 시키거나, 메모리 디바이스(310)로부터의 추적 클록 신호에 대한 에지들의 수량을 감소 시키거나, 타이밍 피드백 라인(355) 상에 신호를 전송하거나, 또는 이들의 임의의 조합에 의해 시스템(300) 내에서 크로스토크가 감소될 수 있다.
일부 경우들에서, 전송 에러 정보, 또는 클록 신호 또는 둘 모두를 보낼 때 메모리 디바이스(310)에 의해 라인들의 임의의 조합이 사용될 수 있다. 예를 들어, 시스템(300)에 도시된 바와 같이, 메모리 디바이스(310)에 의해 보내어지는 각각의 신호들에 대해 각각의 라인들(예를 들어, 에러 피드백 라인(345) 및 타이밍 피드백 라인(355) 둘 모두)이 사용될 수 있다. 이러한 예들에서, 개별 라인들이 상이한 속도들로 구동될 수 있거나, 또는 각각의 라인들 상에 보내어지는 신호들이 상이할 수 있거나, 또는 이들의 조합일 수 있다. 예를 들어, 수신된 데이터에서의 에러들은 클록(350)에 의해 구동되는 클록 신호보다 덜 빈번하게 발생하고, 클록 신호는 에러 피드백 라인(345) 상에 보내어지는 전송 에러 정보에 비해 더 낮은 전압 스윙으로 타이밍 피드백 라인(355) 상에 보내어질 수 있다. 다른 예들에서는, 다양한 라인들이 상이한 기능들과 피드백 방식들 사이를 전환하도록 독립적으로 또는 동적으로 사용될 수 있다. 이러한 경우들에서, 메모리 디바이스(310)는 하나 이상의 조건에 기초하여 제어기(305)로 정보를 전송하기 위해, 에러 피드백 라인(345), 또는 타이밍 피드백 라인, 또는 EDC 라인(320), 또는 이들의 임의의 조합을 사용할 수 있다.
추가적으로 또는 대안적으로, EDC 라인(320)과 상이한 단일 라인이 저속 클록의 전송 및 에러 피드백 보고를 위해 사용될 수 있다. 즉, 동일한 신호를 사용하여 상이한 유형들의 정보가 보내어질 수 있다. 이러한 경우들에서는, 각 유형의 정보에 상이한 인코딩/디코딩 방식들이 적용될 수 있다. 예를 들어, 제어기(305)가 클록 신호의 변화와 수신된 데이터에서의 에러 표시 사이의 차이를 식별할 수 있도록, 클록 신호는 제1 유형의 인코딩을 사용할 수 있고, 수신된 데이터의 실패가 검출되면, 전송 에러 정보에 대해서는 상이한 인코딩(예를 들어, 0이 더 긴 위상 또는 1이 더 긴 위상)이 사용될 수 있다. 이에 따라, 에러 피드백 정보는 저속 클록 신호에 임베딩될 수 있고, 제어기(305)는 디코딩 방식에 따라 상이한 유형들의 신호들의 디코딩을 수행할 수 있다.
도 4은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 시스템(400)의 일례를 도시한다. 시스템(400)은 제어기(405) 및 메모리 디바이스(410)를 포함할 수 있으며, 이들 각각은 설명된 기술들의 양태들을 구현할 수 있다. 예를 들어, 제어기(405)는 도 1을 참조하여 본 명세서에서 설명된 바와 같이, 외부 메모리 제어기(105)의 일례(예를 들어, GPU)일 수 있다. 추가적으로, 메모리 디바이스(410)는 도 1 내지 도 3을 참조하여 설명된 바와 같은 메모리 디바이스(110)의 일례(예를 들어, GDDR 메모리 디바이스)일 수 있다.
제어기(405) 및 메모리 디바이스(410)는 다수의 라인들(예를 들어, 데이터 라인들(415-a 및 415-b), 뿐만 아니라 EDC 라인(420))을 통해 서로 결합된 바와 같은 시스템(400)의 예에서 도시되며, 여기서 각 라인은 도 1을 참조하여 설명된 바와 같은 채널(115)이거나 이에 대응할 수 있다. 제어기(405) 및 메모리 디바이스(410)는 서로 결합될 수 있고 임의의 수량의 라인들 또는 채널들(115)을 통해 신호들을 교환할 수 있다는 것을 이해해야 한다. 예를 들어, 제어기(405) 및 메모리 디바이스(410)는 하나의 데이터 라인(415)을 통해 결합되거나 다수의 데이터 라인들(415)을 통해 결합될(예를 들어, 도 4에 도시된 바와 같이, 데이터 라인(415-a) 위 및/또는 데이터 라인(415-b) 아래에 위치할) 수 있다.
데이터 라인들(415) 및 EDC 라인(420) 각각은 제어기(405)와 메모리 디바이스(410) 사이의 통신에 사용되는 단방향 또는 다방향 라인들일 수 있다. 일부 경우들에서, 데이터 라인들(415-a 및 415-b)은 데이터 채널(예를 들어, 도 1을 참조하여 설명된 바와 같은 데이터 채널(190))이거나 이에 대응할 수 있고, EDC 라인(420)은 도 1을 참조하여 설명된 바와 같은 EDC 채널이거나 이에 대응할 수 있다. 이와 같이, 제어기(405)는 하나 이상의 전송기(425)를 사용하여 각각의 데이터 라인들(415) 상에서 신호들을 구동 또는 전송할 수 있다.
예를 들어, 제1 전송기(425-a), 또는 제2 전송기(425-b), 또는 둘 모두는 메모리 디바이스(410)에서 메모리 셀들의 어레이(도시되지 않음)에 기록될 데이터를 전송하도록 구성될 수 있다. 메모리 디바이스(410)는 제어기(405)에 의해 전송되는 신호들을 수신하도록 구성된 하나 이상의 수신기(430)(예를 들어, 제1 수신기(430-a) 및 제2 수신기(430-b))를 포함할 수 있다. 도시된 바와 같이, EDC 라인(420)은 데이터 라인(415-a)과 데이터 라인(415-b) 사이에 위치할 수 있다. 이와 같이, EDC 라인(420)을 통해 메모리 디바이스(410)로부터 제어기(405)로 보내어지는 시그널링은 하나 이상의 데이터 라인(415)(예를 들어, 데이터 라인(415-a), 또는 데이터 라인(415-b), 또는 도시되지 않은 또 다른 데이터 라인(415), 또는 이들의 임의의 조합) 상에 크로스토크를 초래할 수 있다.
일부 경우들에서, 시스템(400)은 EDC 라인(420)으로부터 데이터 라인들(415)로의 크로스토크를 감소 또는 제거하는 기술들(435)을 구현할 수 있다. 예를 들어, 메모리 디바이스(410)는 시스템(400)에서 크로스토크를 감소시키기 위해 (예를 들어, EDC 라인(420)을 통해 전송되는) 공격자 신호를 희생 신호들(예를 들어, 이웃한 데이터 라인들 상의)에 대해 시간적으로 시프트할 수 있다. 예를 들어, 타이밍 오프셋(또는 프로그래밍 가능한 지연)이 메모리 디바이스(410)로부터 제어기(405)로의 EDC 피드백 경로(EDC 핀에 대응함)에 추가될 수 있다. EDC 경로상의 타이밍 오프셋은 EDC 신호들의 에지들을 데이터 라인들(415)을 통해 수신되는 신호들의 에지들에 대하여 이동 또는 조정할 수 있다.
이에 따라, 타이밍 오프셋은 데이터 라인들(415-a 및 415-b) 상에서 경험되는 크로스토크(435)가 최소화될 수 있고 이에 따라 데이터 아이가 최적화될 수 있도록 메모리 디바이스(410)로부터의 EDC 시그널링(예를 들어, 검사합 정보, 전송 에러 정보, 타이밍 신호, 클록 유사 패턴)의 타이밍을 조정할 수 있다. 특히, 데이터 라인들(415) 상에 보내어지는 데이터 신호들의 에지들 및 EDC 라인(420) 상에 보내어지는 정보의 에지들을 오프셋함으로써, 이러한 두 신호들 사이의 결합이 최소화될 수 있으며, 이에 의해 크로스토크(435)로부터의 간섭을 최소화할 수 있다.
예시적인 예로서, 메모리 디바이스(410)는 하나 이상의 데이터 라인(415) 상에서 수신되는 데이터를 사용하여 검사합(440)을 계산할 수 있다. 그 다음, 검사합은 전송 전에 적용된 타이밍 오프셋(445)(또는 프로그래밍 가능한 지연(d))을 가질 수 있다. 예를 들어, 시간 오프셋이 하나 이상의 인버터를 사용하여 신호에 도입될 수 있다. 그러나, 전송 경로에 지연을 도입하기 위한 임의의 방법이 사용될 수 있음이 이해된다. 그 다음, 오프셋 신호(예를 들어, 타이밍 오프셋이 적용된 신호)는 전송기(450)를 사용하여 EDC 라인(420)을 통해 제어기(405)로 전송될 수 있다.
일부 경우들에서, EDC 시그널링에 적용되는 타이밍 오프셋은 사전 정의된 타이밍 오프셋들로부터 선택될 수 있다. 예를 들어, 메모리 디바이스(410)는 EDC 신호들에 적용될 수 있는 다수의 타이밍 오프셋들을 지원할 수 있고, 다양한 타이밍 오프셋은 모드 레지스터에 의해 메모리 디바이스(410)에 저장될 수 있다. 이러한 경우들에서, 메모리 디바이스(410)에 의해 사용되는 하나 이상의 모드 레지스터는 상이한 타이밍 오프셋들을 정의할 수 있고, 상이한 지연 단계들 또는 오프셋들이 선택에 이용 가능할 수 있으며, 예를 들어, 전송 경로로부터 인버터들을 선택(예를 들어, 추가) 또는 선택 해제(예를 들어 , 제거)하여 원하는 지연을 적용할 수 있다. 즉, 전송 경로는 시그널링에 프로그래밍 가능한 지연들을 가능하게 하기 위해 동적으로 선택될 수 있는 인버터 세트를 가질 수 있다. 이 결과, EDC 시그널링의 타이밍은 하나 이상의 데이터 라인(415) 상의 데이터 전송의 타이밍에 관해 시간적으로 시프트될 수 있다.
사전 정의된 타이밍 오프셋들은 메모리 디바이스(410)에서의 다양한 조건에 기초하여 구성될 수 있다. 예를 들어, 다양한 EDC 출력 타이밍들은 메모리 디바이스(410)의 특정 조건 세트에 기초하여 EDC 신호들(및 대응하는 가장 큰 데이터 아이)로부터 최저 크로스토크(435)를 달성하도록 구성될 수 있다.
예를 들어, 타이밍 오프셋들은 시스템(400)이 실행되는 속도(예를 들어, 동작 속도, 클록 속도), 또는 시스템(400)이 실행되는 온도 등에 기초하여 구성될 수 있다. 일부 경우들에서, 메모리 디바이스(410)에서의 다양한 조건들에 기초하여 조정될 수 있는 성능들의 양이 모드 레지스터에 저장될 수 있고(예를 들어, 오프 칩 드라이버(OCD, off-chip driver)의 드라이버 강도, 종료 오프셋), 이러한 성능들은 크로스토크를 최소화하는 타이밍 오프셋을 찾도록 수정될 수 있다. 일부 예들에서, 사전 정의된 타이밍 오프셋은 BIOS에 저장될 수 있고, 시스템 시작시 모드 레지스터로 로딩될 수 있다. 이에 따라, 시스템(400)이 부팅될 때, 드라이버 강도들 및 종료 오프셋들이 식별될 수 있고, 다른 것들 중에서도 특히, 이러한 파라미터들에 기초하여 모드 레지스터로부터 선호되는 타이밍 오프셋들이 선택될 수 있으며, 크로스토크(435)를 최소화하는 데 사용될 수 있다.
도 5은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 프로세스 흐름(500)을 도시한다. 일부 예들에서, 프로세스 흐름(500)의 양태들은 제어기(505) 및 메모리 디바이스(510)에 의해 구현될 수 있으며, 이것들은 도 1 내지 도 4를 참조하여 설명된 대응하는 디바이스들의 예들일 수 있다. 예를 들어, 제어기(505)는 도 1을 참조하여 설명된 외부 메모리 제어기(105)의 일례(예를 들어, GPU)일 수 있다. 추가적으로, 메모리 디바이스(510)는 도 1을 참조하여 설명된 메모리 디바이스(110)의 일례일 수 있다. 프로세스 흐름(500)은 제어기(505)에 EDC 피드백 정보를 전송하기 위한 EDC 채널과 상이한 하나 이상의 채널의 사용을 예시할 수 있다.
예를 들어, 515에서, 제어기(505)는 메모리 디바이스(510)와 결합된 하나 이상의 데이터 채널(예를 들어, 데이터 라인들에 대응함)을 통해 메모리 셀들의 어레이에 기록될 데이터를 전송할 수 있고, 메모리 디바이스(510)는 수신할 수 있다. 일부 경우들에서, 데이터는 제어기(505)와 메모리 디바이스(510)를 결합하는 공통 데이터 채널을 통해 전송될 수 있다. 일부 예들에서, 하나 이상의 데이터 채널은 본 명세서에 설명된 데이터 채널(190)의 일례일 수 있고 단방향 또는 양방향 데이터 채널들일 수 있다.
520에서, 제어기(505)는 전송된 데이터에 대한 검사합 정보를 전송할 수 있고, 메모리 디바이스(510)는 수신할 수 있다. 일부 경우들에서, 검사합 정보는 메모리 디바이스(510)와 결합된 EDC 채널(예를 들어, 데이터 라인에 대응함)을 통해 전송될 수 있다.
525에서, 메모리 디바이스(510)는 하나 이상의 데이터 채널의 각 데이터 채널을 통해 수신된 데이터에 대한 검사합을 생성할 수 있다. 예를 들어, 메모리 디바이스(510)는 수신된 데이터를 나타내는 비트 세트와 생성기 다항식을 나타내는 비트 세트의 나눗셈을 통해 검사합을 생성할 수 있으며, 여기서 연산의 나머지가 검사합을 포함할 수 있다. 일부 경우들에서 검사합은 소프트웨어 또는 하드웨어를 사용하여 생성될 수 있다.
530에서, 메모리 디바이스(510)는 수신된 데이터에 대해 생성된 검사합과 수신된 검사합 정보를 비교할 수 있다. 일부 경우들에서, 메모리 디바이스(510)에 의한 피드백 시그널링의 감소 또는 수정을 통해 크로스토크를 감소시키기 위해 시스템에 구현된 기술들로 인해, 그리고 도 3을 참조하여 본 명세서에서 설명된 바와 같이, 비교를 통해 검출된 에러들은 상대적으로 드물게 발생할 수 있다. 수신된 데이터에서 에러들이 검출되지 않으면, 데이터는 메모리 디바이스(510)의 메모리 셀들의 어레이에 기록될 수 있다.
그러나, 일부 경우들에서, 메모리 디바이스(510)는 535에서 검사합 정보에 기초하여 데이터에서 에러를 검출할 수 있다. 예를 들어, 에러를 검출하는 것은 수신된 데이터에 대해 생성된 검사합과 수신된 검사합 정보의 비교에 기초할 수 있다. 비교된 검사합들이 상이하다면, 수신된 데이터에서의 에러가 식별될 수 있다. 이에 따라, 메모리 디바이스(510)는 수신된 데이터에서 실패들을 식별하기 위해 각각의 검사합들을 비교하는 것에 기초하여 생성된 검사합과 수신된 검사합 정보 사이의 차이를 계산할 수 있다.
540에서, 수신된 데이터에서 에러를 검출하는 것에 기초하여, 메모리 디바이스(510)는 데이터에서의 에러를 나타내는 전송 실패 정보를 제어기(505)로 전송할 수 있다. 일부 경우들에서, 전송 실패 정보는 제어기(505)와 결합된 제1 채널을 통해 전송될 수 있으며, 여기서 제1 채널은 EDC 채널과 상이하다.
추가적으로 또는 대안적으로, 전송 실패 정보는 EDC 채널을 통해 전송될 수 있다. EDC 채널이 사용되지 않는 경우들에서, 메모리 디바이스(510)는 EDC 채널을 통해 제어기(505)로 정보를 전송하는 것을 억제하여 시스템에서 크로스토크를 더욱 최소화하거나 제거할 수 있다. 일부 예들에서, 표시는 논리 값(예를 들어, 1 또는 0을 제공하는 단일 비트)을 포함할 수 있고/있거나,515에서 전송된 데이터가 에러 이 성공적으로 수신되었는지 여부를 제어기(505)에 표시할 수 있다. 일례로서, 논리 값 1(또는 대안적으로 0)이 메모리 디바이스(510)에서 수신된 데이터가 실패했다는 제어기(505)에 대한 플래그의 역할을 할 수 있다.
545에서, 메모리 디바이스(510)는 또한 제어기(505)와 결합된 제2 채널을 통해 클록 신호를 전송할 수 있다. 제2 채널은 또한 EDC 채널과 상이할 수 있고, 클록 신호는 수신된 데이터의 주파수와 상이한(예를 들어, 더 낮은) 주파수를 가질 수 있다. 즉,클록 신호는 저속 추적 클록 신호(예를 들어, 낮은 스윙 차동 신호, 또는 드 패턴,또는 둘 다)일 수 있으며 제어기(505)에 의해 메모리 디바이스(510)을 추적하는 데 사용될 수 있다.
일부 경우들에서,클록 신호와 전송 실패 정보는 동일한 채널(예를 들어, EDC 채널과 상이한 채널)을 통해 전송될 수 있다. 이러한 경우들에서, 클록 신호 및 전송 실패 정보는 제어기(505)가 클록 신호에 사용된 변조, 또는 전송 실패 정보, 또는 둘 다에 기초하여 메모리 디바이스(510)에 의해 보내어지는 각 유형의 신호를 식별할 수 있도록 각각 상이하게 변조될 수 있다.
550에서, 메모리 디바이스(510)는 제어기(505)로부터, 에러를 나타내는 전송 실패 정보에 기초하여 메모리 셀들의 어레이에 기록될 데이터의 재전송을 수신할 수 있다. 그 다음, 메모리 디바이스(510)는 액세스 동작에 따라 (예를 들어, 메모리 디바이스(510)의 메모리 셀들의 어레이에) 데이터를 기록하는 것으로 진행할 수 있다.
도 6은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 프로세스 흐름(600)을 도시한다. 일부 예들에서, 프로세스 흐름(600)의 양태들은 제어기(605) 및 메모리 디바이스(610)에 의해 구현될 수 있으며, 이것들은 도 1 내지 도 5를 참조하여 설명된 대응하는 디바이스들의 예들일 수 있다. 예를 들어, 제어기(605)는 도 1을 참조하여 설명된 외부 메모리 제어기(105)의 일례(예를 들어, GPU)일 수 있다. 추가적으로, 메모리 디바이스(610)는 도 1을 참조하여 설명된 메모리 디바이스(110)의 일례일 수 있다. 프로세스 흐름(600)은 EDC 채널을 통해 전송되는 신호들에 대한 타이밍 오프셋의 사용을 예시할 수 있다.
615에서, 제어기(605) 및 메모리 디바이스(610)는 초기화 시퀀스를 수행할 수 있으며, 이 동안 메모리 디바이스(610)는 EDC 정보를 전송하는 데 사용되는 하나 이상의 사전 구성된 타이밍 오프셋을 설정하는 정보를 수신할 수 있다. 620에서, 메모리 디바이스(610)는 제어기(605)에 의해 구성되는 모드 레지스터에 사전 구성된 타이밍 오프셋들을 저장할 수 있다.
625에서, 제어기(605)는 메모리 디바이스(610)의 메모리 셀들의 어레이에 기록될 데이터를 전송할 수 있고, 메모리 디바이스(610)는 수신할 수 있으며, 여기서 데이터는 하나 이상의 데이터 채널(예를 들어, 데이터 라인에 대응함)을 통해 수신될 수 있다. 630에서, 메모리 디바이스(610)는 하나 이상의 데이터 채널의 각 데이터 채널을 통해 수신된 데이터에 대한 검사합을 생성할 수 있다. 635에서, 메모리 디바이스(610)는 생성된 검사합을 전송하기 위한 타이밍 오프셋을 결정할 수 있다. 일부 경우들에서, 타이밍 오프셋은 예를 들어, 620에서 모드 레지스터에 저장된 하나 이상의 사전 결정된 타이밍 오프셋으로부터 선택될 수 있다.
640에서, 메모리 디바이스는 타이밍 오프셋에 따라 시프트된 전송 시간에 검사합을 전송할 수 있다. 검사합은 EDC 채널을 통해 제어기(605)로 전송될 수 있다. 이러한 경우들에서, 타이밍 오프셋(또는 지연)은 제어기(605)로부터 수신된 데이터에 대하여 전송이 시프트되도록 검사합 전송에 적용될 수 있다. 시프트된 전송 시간에 검사합을 제어기로 전송함으로써, EDC 채널로부터 데이터 채널(들) 상으로의 크로스토크가 감소 또는 최소화될 수 있다.
메모리 디바이스(610)로부터 검사합 정보를 수신하는 것에 기초하여, 제어기(605)는 645에서, 메모리 디바이스(610)로부터 수신된 검사합과 제어기(605)에 의해 생성된 검사합을 비교함으로써 메모리 디바이스(610)에 의해 수신된 데이터가 실패했는지 여부를 결정할 수 있다. 메모리 디바이스(610)에 의해 수신된 데이터가 실패한 경우들에서, 제어기(605)는 데이터(예를 들어, 에러들로 수신된 데이터의 적어도 일 부분)를 메모리 디바이스(610)로 재전송할 수 있다. 대안적으로, 검사합 비교가 통과되면(예를 들어, 각각의 검사합들이 동일함), 제어기(605)는 625에서 전송된 데이터가 에러 없이 메모리 디바이스(610)에서 수신되었다고 결정할 수 있다.
도 7은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 방법(700)을 도시하는 흐름도를 도시한다. 방법(700)의 동작들은 도 1 내지 도 6을 참조하여 설명된 바와 같은, 메모리 디바이스 또는 이의 구성요소들에 의해 구현될 수 있다. 예를 들어, 방법(700)의 동작들은 도 3을 참조하여 설명된 바와 같은, 메모리 제어기(310)에 의해 수행될 수 있다. 일부 예들에서, 메모리 디바이스는 디바이스의 기능적 요소들을 본 명세서에서 설명된 기능들을 수행하기 위한 명령어 또는 코드 세트를 실행할 수 있다.
705에서, 메모리 디바이스는 제어기로부터 데이터 라인 세트를 통해, 메모리 디바이스의 메모리 셀들의 어레이에 기록될 데이터를 수신할 수 있다. 일부 예들에서, 데이터는 하나의 데이터 라인, 또는 다수의 데이터 라인들(예를 들어, 채널들)을 통해 수신될 수 있으며, 이는 하나 이상의 DQ 핀에 대응할 수 있다. 705의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
710에서, 메모리 디바이스는 제어기와 결합된 EDC 라인을 통해, 복수의 데이터 라인들을 통해 수신된 데이터에 대한 검사합 정보를 수신할 수 있다. 일부 경우들에서, 검사합 정보는 제어기로부터 데이터 라인 세트를 통해 수신된 데이터와 동시에 수신될 수 있거나, 또는 데이터 전송과 상이한 시간에 수신될 수 있다. 일부 예들에서, 검사합 정보는 제어기에 의해 전송된 데이터에 대한 CRC 검사합일 수 있거나, 또는 제어기에 의해 계산된 또 다른 유형의 에러 검출 코드일 수 있다. 710의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
715에서, 메모리 디바이스는 검사합 정보에 기초하여 데이터에서 에러를 검출할 수 있다. 일부 경우들에서, 메모리 디바이스는 데이터 라인 세트 상에서 수신된 데이터에 대한 검사합을 생성할 수 있고, 생성된 검사합을 제어기로부터 수신된 검사합 정보와 비교하여 수신된 데이터에서 에러를 검출할 수 있다. 715의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
720에서, 메모리 디바이스는 데이터에서 에러를 검출하는 것에 적어도 부분적으로 기초하여 제어기로, 데이터에서의 에러를 나타내는 전송 실패 정보를 전송할 수 있다. 전송 실패 정보는 데이터 라인 세트를 통해 수신된 데이터에서 에러가 검출되었는지 여부의 표시를 제공할 수 있다. 예를 들어, 표시는 검사합들의 비교에 기초하여 에러가 검출되었다는 제어기에 대한 표시 플래그로서의 역할을 하는 비트 값(예를 들어, 0 또는 1)을 포함할 수 있다. 720의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
일부 예들에서, 본 명세서에서 설명된 바와 같은 장치는 방법(700)과 같은, 방법 또는 방법들을 수행할 수 있다. 장치는 제어기로부터 데이터 라인 세트를 통해, 메모리 디바이스의 메모리 셀들의 어레이에 기록될 데이터를 수신하고, 메모리 디바이스에 의해 제어기와 결합된 EDC 라인을 통해, 데이터 라인 세트를 통해 수신된 데이터에 대한 검사합 정보를 수신하고, 메모리 디바이스에 의해, 검사합 정보에 기초하여 데이터에서 에러를 검출하며, 에러를 검출하는 것에 기초하여 제어기로, 데이터에서의 에러를 나타내는 전송 실패 정보를 전송하기 위한 특징부들, 수단들, 또는 명령어들(예를 들어, 프로세서에 의해 실행 가능한 명령어들을 저장하는 비일시적 컴퓨터 판독 가능한 매체)을 포함할 수 있다.
본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 데이터 라인 세트 각 데이터 라인을 통해 수신된 데이터에 대한 검사합을 생성하고 수신된 데이터에 대해 생성된 검사합과 수신된 검사합 정보를 비교하기 위한 동작들, 특징부들, 수단들, 또는 명령어들을 포함할 수 있으며, 에러를 검출하는 것은 수신된 데이터에 대해 생성된 검사합과 수신된 검사합 정보를 비교하는 것에 기초할 수 있다.
본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 생성된 검사합과 수신된 검사합 정보를 비교하는 것에 기초하여 생성된 검사합과 수신된 검사합 정보 사이의 차이를 결정하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있으며, 수신된 데이터에서 에러를 검출하는 것은 생성된 검사합과 수신된 검사합 정보사이의 결정된 차이에 기초할 수 있다.
본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 제어기와 결합된 제1 라인을 통해 전송 실패 정보를 전송하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있으며, 제1 라인은 EDC 라인과는 상이한 것이다. 본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 제1 라인을 통해 전송된 전송 실패 정보에 기초하여 EDC 라인을 사용하여 제어기로 신호를 전송하는 것을 억제하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있다.
본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 제어기와 결합된 제2 라인을 통해 클록 신호를 전송하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있으며, 제2 라인은 EDC 라인과 상이하되, 클록 신호는 수신된 데이터의 제2 주파수보다 더 낮을 수 있는 제1 주파수를 가질 수 있다. 본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들에서, 클록 신호는 낮은 스윙 차동 신호, 또는 홀드 패턴, 또는 둘 다를 포함한다.
본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 제어기와 결합된 제1 라인을 통해 전송 실패 정보를 전송하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있으며, 제1 라인은 EDC 라인과는 상이하되, 전송 실패 정보는 제1 변조 방식을 사용하여 전송될 수 있고 또한 제어기와 결합된 제1 라인을 통해 클록 신호를 전송하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있으며, 클록 신호는 제1 변조 방식과 상이한 제2 변조 방식을 사용하여 전송될 수 있다.
본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들에서, 클록 신호는 홀드 패턴을 포함한다. 본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 제어기로부터, 에러를 나타내는 전송 실패 정보에 기초하여 메모리 셀들의 어레이에 기록될 데이터의 재전송을 수신하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있다. 본 명세서에서 설명된 방법(700), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 수신된 데이터에서 검출된 에러를 나타내는 논리 값을 전송하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있다.
도 8은 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 방법(800)을 도시하는 흐름도를 도시한다. 방법(800)의 동작들은 도 1 내지 도 6을 참조하여 설명된 바와 같은, 메모리 디바이스 또는 이의 구성요소들에 의해 구현될 수 있다. 예를 들어, 방법(800)의 동작들은 도 4를 참조하여 설명된 바와 같은, 메모리 디바이스(410)에 의해 수행될 수 있다. 일부 예들에서, 메모리 디바이스는 디바이스의 기능적 요소들을 본 명세서에서 설명된 기능들을 수행하기 위한 명령어 또는 코드 세트를 실행할 수 있다.
805에서, 메모리 디바이스는 제어기로부터 데이터 라인 세트를 통해, 메모리 디바이스의 메모리 셀들의 어레이에 기록될 데이터를 수신할 수 있다. 일부 예들에서, 데이터는 하나의 데이터 라인, 또는 다수의 데이터 라인들(또는 채널들)(예를 들어, 하나 이상의 DQ 핀에 대응함)을 통해 수신될 수 있다. 805의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
810에서, 메모리 디바이스는 클록 신호(또는 클록 유사 패턴)를 전송하기 위한 타이밍 오프셋 및 데이터에 대한 검사합을 결정할 수 있다. 예를 들어, 타이밍 오프셋은 메모리 디바이스에서 수신된 데이터의 타이밍에 기초하여 클록 신호 및/또는 검사합의 전송을 위해 코히어런트로 선택될 수 있다. 이와 같이, 타이밍 오프셋은 크로스토크가 최소화되도록 클록 신호 및/또는 검사합에 대한 전송 타이밍을 시프트시킬 수 있다. 810의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
815에서, 메모리 디바이스는 타이밍 오프셋에 따라 시프트된 전송 시간에 제어기로, 검사합을 전송할 수 있다. 즉, 선택된 타이밍 오프셋은 검사합을 전송하는 데 사용되는 전송 경로에 적용될 수 있다. 815의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
일부 예들에서, 본원에 설명된 바와 같은 장치는 방법(800)과 같은 방법 또는 방법들을 수행할 수 있다. 장치는 제어기로부터 데이터 라인 세트를 통해, 메모리 디바이스의 메모리 셀들의 어레이에 기록될 데이터를 수신하고, 메모리 디바이스에 의해, 클록 신호 및 데이터에 대한 검사합을 전송하기 위한 타이밍 오프셋을 결정하며, 제어기로, 타이밍 오프셋에 따라 시프트된 전송 시간에 검사합을 전송하기 위한 특징부들, 수단들, 또는 명령어들(예를 들어, 프로세서에 의해 실행 가능한 명령어들을 저장하는 비일시적 컴퓨터 판독 가능한 매체)을 포함할 수 있다.
본원에 설명된 방법(800), 장치들 및 비-일시적 컴퓨터-판독 가능 매체들의 일부 예들은 또한 하나 이상의 사전 구성된 타이밍 오프셋로부터 타이밍 오프셋을 선택하기 위한 동작들, 특징들, 수단들 또는 명령어들을 포함할 수 있으며, 여기서 각각의 사전 구성된 타이밍 오프셋은 메모리 디바이스에서의 동작 조건에 기초할 수 있다.
본 명세서에서 설명된 방법(800), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 초기화 시퀀스 동안, 하나 이상의 사전 구성된 타이밍 오프셋을 설정하는 구성 정보를 수신하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있으며, 하나 이상의 사전 구성된 타이밍 오프셋으로부터 타이밍 오프셋을 선택하는 단계는 구성 정보에 기초할 수 있다.
본 명세서에서 설명된 방법(800), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 제어기에 의해 구성될 수 있는 모드 레지스터에 하나 이상의 사전 구성된 타이밍 오프셋을 저장하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있다. 본 명세서에서 설명된 방법(800), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들에서, 동작 조건은 데이터 종단 상태, 또는 드라이버 강도, 또는 둘 다를 포함한다.
도 9는 본 명세서에서 개시된 예들에 따라 크로스토크를 감소시키기 위한 전송 실패 피드백 방식들을 지원하는 방법(900)을 도시하는 흐름도를 도시한다. 방법(900)의 동작들은 도 1 내지 도 6을 참조하여 설명된 바와 같은 제어기 또는 이의 구성요소들에 의해 구현될 수 있다. 예를 들어, 방법(900)의 동작들은 도 3을 참조하여 설명된 바와 같은 메모리 제어기(305) 또는 도 4를 참조하여 설명된 바와 같은 메모리 제어기(405) 에 의해 수행될 수 있다. 일부 예들에서, 제어기는 디바이스(예를 들어, 메모리 디바이스(310), 이는 메모리 디바이스(110)를 포함할 수 있다)의 기능적 요소들을 제어하여 본 명세서에서 설명된 기능들을 수행하기 위한 코드 세트를 실행할 수 있다.
905에서, 제어기는 메모리 디바이스와 결합된 데이터 라인 세트를 통해, 메모리 셀들의 어레이에 기록될 데이터를 전송할 수 있다. 즉, 데이터는 기록 동작(예를 들어, 갭이 없는 기록 사이클들을 포함함)의 일부로서 제어기에 의해 전송될 수 있다. 905의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
910에서, 제어기는 메모리 디바이스와 결합된 EDC 라인을 통해, 전송된 데이터에 대한 검사합 정보를 전송할 수 있다. 일부 경우들에서, 검사합 정보는 데이터 전송과 동시에 전송될 수 있다. 910의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
915에서, 제어기는 전송된 검사합 정보에 기초하여 메모리 디바이스로부터, 데이터에서의 에러를 나타내는 전송 에러 정보를 수신할 수 있다. 예를 들어, 메모리 디바이스는 제어기가 제공한 검사합에 기초하여 전송 에러들을 식별할 수 있다. 일부 경우들에서, 제어기는 수신된 전송 에러 정보 및 표시된 에러에 기초하여 실패한 데이터를 재기록할 것을 결정할 수 있다. 915의 동작들은 도 1 내지 도 6을 참조하여 설명된 방법들에 따라 수행될 수 있다.
일부 예들에서, 본원에 설명된 바와 같은 장치는 방법(900)과 같은 방법 또는 방법들을 수행할 수 있다. 장치는 메모리 디바이스와 결합된 데이터 라인 세트를 통해, 메모리 셀들의 어레이에 기록될 데이터를 전송하고, 메모리 디바이스와 결합된 EDC 라인을 통해, 전송된 데이터에 대한 검사합 정보를 전송하며, 메모리 디바이스로부터, 전송된 검사합 정보에 기초하여 데이터에서의 에러를 나타내는 전송 실패 정보를 수신하기 위한 특징부들, 수단들, 또는 명령어들(예를 들어, 프로세서에 의해 실행 가능한 명령어들을 저장하는 비일시적 컴퓨터 판독 가능한 매체)을 포함할 수 있다.
본 명세서에서 설명된 방법(900), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 메모리 디바이스와 결합된 제1 라인을 통해 전송 실패 정보를 수신하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있으며, 제1 라인은 EDC 라인과는 상이한 것이다.
본 명세서에서 설명된 방법(900), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 메모리 디바이스와 결합된 제2 라인을 통해 클록 신호를 수신하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있으며, 제2 라인은 EDC 라인과 상이하되, 클록 신호는 수신된 데이터의 제2 주파수와 상이한 제1 주파수를 가질 수 있다.
본 명세서에서 설명된 방법(900), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 에러를 나타내는 전송 실패 정보에 기초하여 메모리 셀들의 어레이에 기록될 데이터를 재전송하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있다.
본 명세서에서 설명된 방법(900), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 메모리 디바이스와 결합된 제1 라인을 통해 전송 실패 정보 및 클록 신호를 수신하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있다. 본 명세서에서 설명된 방법(900), 장치들, 및 비일시적 컴퓨터 판독 가능 매체들의 일부 예들은 또한 제1 변조 방식을 사용하여 전송 실패 정보를 디코딩하고 제1 변조 방식과 상이한 제2 변조 방식을 사용하여 클록 신호를 디코딩하기 위한 동작들, 특징부들, 수단들 또는 명령어들을 포함할 수 있다.
본 명세서에서 설명된 방법들은 가능한 구현 예들을 설명한 것이고, 동작들 및 단계들이 재배열되거나 그 외 다르게 수정될 수 있으며, 다른 구현 예들이 가능하다는 점에 유의해야 한다. 나아가, 방법들 중 둘 이상으로부터의 양태들이 조합될 수 있다.
일부 예들에서, 장치 또는 디바이스는 본 명세서에서 설명된 기능들의 양태들을 수행할 수 있다. 일부 경우들에서, 디바이스는 메모리 셀들의 어레이, 데이터 라인 세트 및 EDC)라인과 결합된 수신기로서, 데이터 라인 세트를 통해 메모리 셀들의 어레이에 기록될 데이터를 수신하고 데이터 라인 세트를 통해 수신된 데이터와 관련된 검사합 정보를 수신하도록 구성된, 수신기, 검사합 정보에 기초하여 데이터에서 에러들을 검출하도록 구성된 비교기; 및 제어기와 결합되고 데이터에서 검출된 에러를 나타내는 전송 실패 정보 또는 클록 신호 중 적어도 하나를 전송하도록 구성된 하나 이상의 라인으로서, EDC 라인과 상이한, 하나 이상의 라인을 포함할 수 있다.
일부 예들에서, 디바이스는 하나 이상의 라인 중 제1 라인과 결합되는 제1 전송기를 포함할 수 있으며, 제1 전송기는 하나 이상의 라인 중 제1 라인을 통해 전송 실패 정보를 전송하도록 구성된다. 일부 경우들에서, 하나 이상의 라인 중 제2 라인과 결합된 제2 전송기를 포함할 수 있으며, 제2 전송기는 하나 이상의 라인을 통해 클록으로부터의 신호를 전송하도록 구성된다.
본 명세서에서 설명된 정보 및 신호들은 다양한 상이한 기술 및 기법 중 어느 하나를 사용하여 표현될 수 있다. 예를 들어, 상기한 설명 전반에 걸쳐 언급될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압, 전류, 전자기파, 자기장 또는 입자, 광학장 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다. 일부 도면은 신호들을 단일의 신호로서 도시할 수 있지만; 해당 기술분야의 통상의 기술자에 의해 신호는 신호들의 버스를 나타낼 수 있으며, 이때 버스는 다양한 비트 폭을 가질 수 있다는 것이 이해될 것이다.
"전자 통신", "도전 접촉", "연결된", 및 "결합된"이라는 용어들은 구성요소들 사이의 신호들의 흐름을 지원하는 구성요소들 사이의 관계를 나타낸다. 구성요소들 사이에 언제든, 구성요소들 사이의 신호들의 흐름을 지원할 수 있는 임의의 도전 경로가 있는 경우, 구성요소들은 서로 전자 통신(또는 도전 접촉 또는 연결 또는 결합)된 것으로 고려된다. 임의의 소정의 시간에, 서로 전자 통신하는(또는 도전 접촉 또는 연결 결합된) 구성요소들 사이의 도전 경로는 연결된 구성요소들을 포함하는 디바이스의 동작에 기초하여 개방 회로 또는 폐쇄 회로일 수 있다. 연결된 구성요소들 사이의 도전 경로는 구성요소들 사이의 직접 도전 경로일 수 있거나 연결된 구성요소들 사이의 도전 경로는 스위치, 트랜지스터 또는 다른 구성요소들과 같은 중간 구성요소들을 포함할 수 있는 간접 도전 경로일 수 있다. 일부 경우들에서, 연결된 구성요소들 사이의 신호들의 흐름은 예를 들어, 스위치 또는 트랜지스터와 같은 하나 이상의 중간 구성요소를 사용하여, 잠시 인터럽트될 수 있다.
"결합(coupling)"이라는 용어는 신호들이 현재 도전 경로를 통해 구성요소들 사이에서 통신될 수 없는 구성요소들 사이의 개방 회로 관계로부터 신호들이 도전 경로를 통해 구성요소들 사이에서 통신될 수 있는 구성요소들 사이의 폐쇄 회로 관계로 이동하는 조건을 나타낸다. 제어기와 같은 구성요소가 다른 구성요소들을 함께 결합할 때, 구성요소들은 이전에 신호들의 흐름을 허용하지 않았던 도전 경로를 통해 다른 구성요소들 사이에서 신호들이 흐를 수 있게 하는 변화를 개시한다.
"단리된(isolated)"이라는 용어는 신호들이 현재 구성요소들 사이를 흐를 수 없는 구성요소들 사이의 관계를 나타낸다. 구성요소들은 이들 사이에 개방 회로가 있는 경우 서로 단리된다. 예를 들어, 구성요소들 사이에 위치되는 스위치에 의해 분리되는 두 개의 구성요소들이 스위치가 개방될 때 서로 단리될 수 있다. 제어기가 두 구성요소들을 단리시킬 때, 제어기는 이전에 신호들의 흐름을 허용했던 도전 경로를 사용하여 구성요소들 사이에서 신호들이 흐르지 못하게 하는 변화에 영향을 미친다.
본 명세서에서 사용될 때, "실질적으로"라는 용어는 변형된 특성(예를 들어, 실질적으로 용어에 의해 변형된 동사 또는 형용사)이 절대적일 필요는 없지만 특성의 이점들을 달성하기에 충분히 근접함을 의미한다.
메모리 어레이를 비롯하여 본 명세서에서 논의되는 디바이스들은 실리콘, 게르마늄, 실리콘-게르마늄 합금, 갈륨 비소, 질화 갈륨 등과 같은 반도체 기판 상에 형성될 수 있다. 일부 경우들에, 기판은 반도체 웨이퍼이다. 다른 경우들에서, 기판은 실리콘-온-절연체(SOI) 기판, 이를테면 실리콘-온-글래스(SOG) 또는 실리콘-온-사파이어(SOP), 또는 다른 기판 상의 반도체 물질들의 에피택셜층들일 수도 있다. 기판, 또는 기판의 하위 영역들의 전도성은 인, 붕소 또는 비소를 포함하나 이에 제한되지 않는 다양한 화학 종을 사용한 도핑을 통해 제어될 수 있다. 도핑은 기판의 초기 형성 또는 성장 동안, 이온 주입에 의해 또는 임의의 다른 도핑 수단에 의해 수행될 수 있다.
본 명세서에서 논의된 스위칭 구성요소 또는 트랜지스터는 전계 효과 트랜지스터(FET)를 나타내고 소스, 드레인 및 게이트를 포함하는 3 단자 디바이스를 포함할 수 있다. 단자들은 전도성 물질들, 예를 들어, 금속들을 통해 다른 전자 요소들에 연결될 수 있다. 소스 및 드레인은 전도성일 수 있고 과도핑된, 예를 들어, 축퇴 반도체 영역을 포함할 수 있다. 소스 및 드레인은 저도핑된 반도체 영역 또는 채널에 의해 분리될 수 있다. 채널이 n-형(즉, 대부분 캐리어가 신호들이다)이면, FET는 n-형 FET로 지칭될 수 있다. 채널이 p-형(즉, 대부분 캐리어가 홀들이다)이면, FET는 p-형 FET로 지칭될 수 있다. 채널은 절연 게이트 산화물에 의해 캡핑될 수 있다. 채널 전도성은 게이트에 전압을 인가함으로써 제어될 수 있다. 예를 들어, 양의 전압 또는 음의 전압을 각각, n-형 FET 또는 p-형 FET에 인가하면 채널이 전도하게 될 수 있다. 트랜지스터는 트랜지스터의 임계 전압 이상의 전압이 트랜지스터 게이트에 인가될 때 "온" 또는 "활성화"될 수 있다. 트랜지스터는 트랜지스터의 임계 전압 미만의 전압이 트랜지스터 게이트에 인가될 때 "오프" 또는 "비활성화"될 수 있다.
첨부된 도면들과 관련하여, 본 명세서에서 제시된 설명은 예시적인 구성들을 설명하고 구현될 수 있거나 본 청구범위의 범위 내에 있는 모든 예를 나타내지는 않는다. 본 명세서에서 사용된 "대표적인"이라는 용어는 "예, 사례 또는 예시로서의 역할을 하는"을 의미하고 "바람직한" 또는 "다른 예들에 비해 유리한"을 의미하지는 않는다. 발명을 실시하기 위한 구체적인 내용은 설명된 기술들에 대한 이해를 제공하기 위해 구체적인 세부 사항들을 포함한다. 그러나, 이러한 기술들은 이러한 구체적인 세부 사항들 없이도 실시될 수 있다. 일부 사례에서, 주지된 구조들 및 디바이스들은 설명된 예들의 개념들을 모호하게 하는 것을 피하기 위해 블록도 형태로 도시된다.
첨부된 도면들에서, 유사한 구성요소들 또는 특징들은 동일한 참조 라벨을 가질 수 있다. 나아가, 동일한 유형의 다양한 구성요소는 참조 라벨 다음 유사한 구성요소들을 구별하는 대시 기호 및 제2 라벨이 뒤따르는 것에 의해 구별될 수 있다. 본 명세서에서 단지 제1 참조 라벨이 사용될 경우, 제2 참조 라벨과 무관하게 동일한 제1 참조 라벨을 갖는 유사한 구성요소들 중 임의의 구성요소에 설명이 적용 가능하다.
본 명세서에서 설명된 정보 및 신호들은 다양한 상이한 기술 및 기법 중 어느 하나를 사용하여 표현될 수 있다. 예를 들어, 상기한 설명 전반에 걸쳐 언급될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압, 전류, 전자기파, 자기장 또는 입자, 광학장 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다.
본 명세서에서의 개시와 관련되어 설명된 다양한 예시적인 블록 및 모듈은 본 명세서에서 설명된 기능들을 수행하도록 설계된 범용 프로세서, DSP, ASIC, FPGA 또는 다른 프로그램 가능한 논리 디바이스, 별개의 게이트 또는 트랜지스터 논리, 별개의 하드웨어 구성요소들 또는 이들의 임의의 조합으로 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 프로세서, 제어기, 마이크로 제어기 또는 상태 기계일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합(예를 들어, DSP와 마이크로 프로세서의 조합, 다수의 마이크로 프로세서, DSP 코어와 관련된 하나 이상의 마이크로 프로세서, 또는 임의의 다른 그러한 구성)으로 구현될 수도 있다.
본 명세서에서 설명된 기능들은 하드웨어, 프로세서에 의해 실행되는 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 프로세서에 의해 실행되는 소프트웨어로 구현되는 경우, 기능들은 컴퓨터 판독 가능한 매체 상에 하나 이상의 지시 또는 코드로서 저장되거나 송신될 수 있다. 다른 예들 및 구현들은 본 개시 내용 및 첨부된 청구범위의 범위 내이다. 예를 들어, 소프트웨어의 성질에 기인하여, 위에서 설명된 기능들은 프로세서, 하드웨어, 펌웨어, 배선 또는 이들의 임의의 조합들에 의해 실행되는 소프트웨어를 사용하여 구현될 수 있다. 또한 기능들을 구현하는 특징부들은 기능들의 부분들이 상이한 물리적 위치들에서 구현되도록 분산되는 것을 포함하여 물리적으로 다양한 위치에 위치될 수 있다. 또한, 청구범위를 포함하여 본 명세서에서 사용될 때,항목들의 리스트(예를 들어, "~ 중 적어도 하나" 또는 "~ 중 하나 이상"과 같은 어구로 끝나는 항목들의 리스트)에 사용되는 "또는"은 예를 들어, A, B 또는 C 중 적어도 하나의 리스트가 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C)를 의미하도록 포괄적인 리스트를 나타낸다. 또한, 본 명세서에서 사용될 때, "~에 기초하여"라는 어구는 조건들의 폐집합을 언급하는 것으로 간주되지 않아야 한다. 예를 들어, "조건 A에 기초하여"로서 기술되는 대표적인 단계는 본 개시의 범위에서 벗어나지 않고 조건 A 및 조건 B 양자에 기초할 수 있다. 다시 말해, 본 명세서에서 사용될 때, "~에 기초하여"라는 어구는 "적어도 부분적으로 ~에 기초하여"라는 어구와 동일한 방식으로 간주되어야 한다.
컴퓨터 판독 가능한 매체는 하나의 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 가능하게 하는 임의의 매체를 포함하는 비일시적 컴퓨터 저장 매체 및 통신 매체 둘 다를 포함한다. 비일시적 저장 매체는 범용 또는 특수용 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 비제한적인 예로서, 컴퓨터 판독 가능한 비일시적 저장 매체는 RAM, ROM, EEPROM(electrically erasable programmable read-only memory), CD(compact disk)-ROM 또는 다른 광학 디스크 저장 장치, 자기 디스크 저장 장치 또는 다른 자기 저장 디바이스, 또는 명령어 또는 데이터 구조의 형태로 원하는 프로그램 코드 수단을 전달 또는 저장하는 데 사용될 수 있고 범용 또는 특수용 컴퓨터 또는 범용 또는 특수용 프로세서에 의해 액세스될 수 있는 임의의 다른 비일시적 매체를 포함할 수 있다. 또한, 임의의 연결부를 컴퓨터 판독 가능한 매체라고 칭하는 것도 적절하다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선(DSL, digital subscriber line), 또는 적외선, 라디오파, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선(DSL), 또는 적외선, 라디오파, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된사용다. 본 명세서에서 사용될 때, 디스켓(disk) 또는 디스크(disc)는 CD, 레이저 디스크, 광학 디스크, DVD(digital versatile disc), 플로피 디스켓, 및 블루레이 디스크를 포함하며, 여기서 디스켓들은 통상적으로 데이터를 자기적으로 재생하는 한편, 디스크들은 레이저를 사용하여 데이터를 광학적으로 재생한다. 상기한 것들의 조합들 또한 컴퓨터 판독 가능한 매체의 범위 내에 포함된다.
본 명세서에서의 설명은 해당 기술분야의 통상의 기술자가 본 개시를 실시 또는 사용할 수 있게 하기 위해 제공된다. 본 개시에 대한 다양한 변형들은 해당 기술분야의 통상의 기술자들에게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리들은 본 개시의 범위로부터 벗어나지 않고 다른 변형들에 적용될 수 있다. 따라서, 본 개시는 본 명세서에서 설명된 예들 및 설계들로 제한되지 않으며, 본 명세서에서 개시된 원리들 및 신규한 특징들에 부합하는 최광의의 범위를 인정받아야 한다.

Claims (24)

  1. 방법으로서,
    제어기로부터 복수의 데이터 라인들을 통해, 메모리 디바이스의 메모리 셀들의 어레이에 기록될 데이터를 수신하는 단계;
    상기 메모리 디바이스에 의해 상기 제어기와 결합된 에러 검출 코드(EDC, error detection code) 라인을 통해, 상기 복수의 데이터 라인들을 통해 수신된 상기 데이터에 대한 검사합 정보(checksum information)를 수신하는 단계;
    상기 메모리 디바이스에 의해, 상기 검사합 정보에 적어도 부분적으로 기초하여 상기 데이터에서 에러를 검출하는 단계; 및
    상기 에러를 검출하는 것에 적어도 부분적으로 기초하여 상기 제어기로, 상기 데이터에서의 상기 에러를 나타내는 전송 실패 정보를 전송하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 복수의 데이터 라인들의 각 데이터 라인을 통해 수신된 상기 데이터에 대한 검사합을 생성하는 단계; 및
    수신된 상기 데이터에 대해 생성된 상기 검사합과 수신된 상기 검사합 정보를 비교하는 단계를 더 포함하며, 상기 에러를 검출하는 단계는 수신된 상기 데이터에 대해 생성된 상기 검사합과 수신된 상기 검사합 정보를 비교하는 단계에 적어도 부분적으로 기초하는, 방법.
  3. 제2항에 있어서,
    생성된 상기 검사합과 수신된 상기 검사합 정보를 비교하는 단계에 적어도 부분적으로 기초하여 생성된 상기 검사합과 수신된 상기 검사합 정보 사이의 차이를 결정하는 단계를 더 포함하며, 수신된 상기 데이터에서 상기 에러를 검출하는 단계는 생성된 상기 검사합과 수신된 상기 검사합 정보 사이의 결정된 상기 차이에 적어도 부분적으로 기초하는, 방법.
  4. 제1항에 있어서,
    상기 제어기와 결합된 제1 라인을 통해 상기 전송 실패 정보를 전송하는 단계를 더 포함하며, 상기 제1 라인은 상기 EDC 라인과 상이한 것인, 방법.
  5. 제4항에 있어서,
    상기 제1 라인을 통해 전송된 상기 전송 실패 정보에 적어도 부분적으로 기초하여 상기 EDC 라인을 사용하여 상기 제어기로 신호를 전송하는 것을 억제하는 단계를 더 포함하는, 방법.
  6. 제1항에 있어서,
    상기 제어기와 결합된 제2 라인을 통해 클록 신호를 전송하는 단계를 더 포함하며, 상기 제2 라인은 상기 EDC 라인과 상이하며, 상기 클록 신호는 수신된 상기 데이터의 제2 주파수보다 더 낮은 제1 주파수를 가지는 것인, 방법.
  7. 제6항에 있어서, 상기 클록 신호는 낮은 스윙 차동 신호(low-swing differential signal), 또는 홀드 패턴(hold pattern), 또는 둘 다를 포함하는 것인, 방법.
  8. 제1항에 있어서,
    상기 제어기와 결합된 제1 라인을 통해 상기 전송 실패 정보를 전송하는 단계로서, 상기 제1 라인은 상기 EDC 라인과 상이하며, 상기 전송 실패 정보는 제1 변조 방식을 사용하여 전송되는, 상기 전송 실패 정보를 전송하는 단계; 및
    상기 제어기와 결합된 상기 제1 라인을 통해 클록 신호를 전송하는 단계로서, 상기 클록 신호는 상기 제1 변조 방식과 상이한 제2 변조 방식을 사용하여 전송되는, 상기 클록 신호를 전송하는 단계를 더 포함하는, 방법.
  9. 제8항에 있어서, 상기 클록 신호는 홀드 패턴을 포함하는 것인, 방법.
  10. 청구항 1에 있어서,
    상기 제어기로부터, 상기 에러를 나타내는 상기 전송 실패 정보에 적어도 부분적으로 기초하여 상기 메모리 셀들의 어레이에 기록될 상기 데이터의 재전송을 수신하는 단계를 더 포함하는, 방법.
  11. 청구항 1에 있어서,
    수신된 상기 데이터에서 검출된 상기 에러를 나타내는 논리 값을 전송하는 단계를 더 포함하는, 방법.
  12. 방법으로서,
    제어기로부터 복수의 데이터 라인들을 통해, 메모리 디바이스의 메모리 셀들의 어레이에 기록될 데이터를 수신하는 단계;
    상기 메모리 디바이스에 의해, 상기 데이터에 대한 검사합을 전송하기 위한 타이밍 오프셋을 결정하는 단계; 및
    상기 제어기로, 상기 타이밍 오프셋에 따라 시프트된 전송 시간에 상기 검사합을 전송하는 단계를 포함하는, 방법.
  13. 제12항에 있어서,
    하나 이상의 사전 구성된 타이밍 오프셋으로부터 상기 타이밍 오프셋을 선택하는 단계를 더 포함하며, 각각의 사전 구성된 타이밍 오프셋은 상기 메모리 디바이스에서의 동작 조건에 적어도 부분적으로 기초하는 것인, 방법.
  14. 제13항에 있어서,
    초기화 시퀀스 동안, 상기 하나 이상의 사전 구성된 타이밍 오프셋을 설정하는 구성 정보를 수신하는 단계를 더 포함하며, 상기 하나 이상의 사전 구성된 타이밍 오프셋으로부터 상기 타이밍 오프셋을 선택하는 단계는 상기 구성 정보에 적어도 부분적으로 기초하는, 방법.
  15. 제13항에 있어서,
    상기 제어기에 의해 구성되는 모드 레지스터에 상기 하나 이상의 사전 구성된 타이밍 오프셋을 저장하는 단계를 더 포함하는, 방법.
  16. 제13항에 있어서, 상기 동작 조건은 데이터 종단 상태, 또는 드라이버 강도, 또는 둘 다를 포함하는 것인, 방법.
  17. 방법으로서,
    메모리 디바이스와 결합된 복수의 데이터 라인들을 통해, 메모리 셀들의 어레이에 기록될 데이터를 전송하는 단계;
    상기 메모리 디바이스와 결합된 에러 검출 코드(EDC) 라인을 통해, 전송된 상기 데이터에 대한 검사합 정보를 전송하는 단계; 및
    상기 메모리 디바이스로부터, 전송된 상기 검사합 정보에 적어도 부분적으로 기초하여 상기 데이터에서의 에러를 나타내는 전송 실패 정보를 수신하는 단계를 포함하는, 방법.
  18. 제17항에 있어서,
    상기 메모리 디바이스와 결합된 제1 라인을 통해 상기 전송 실패 정보를 수신하는 단계를 더 포함하며, 상기 제1 라인은 상기 EDC 라인과 상이한 것인, 방법.
  19. 제17항에 있어서,
    상기 메모리 디바이스와 결합된 제2 라인을 통해 클록 신호를 수신하는 단계를 더 포함하며, 상기 제2 라인은 상기 EDC 라인과 상이하며, 상기 클록 신호는 수신된 상기 데이터의 제2 주파수와 상이한 제1 주파수를 가지는 것인, 방법.
  20. 제17항에 있어서,
    상기 에러를 나타내는 상기 전송 실패 정보에 적어도 부분적으로 기초하여 상기 메모리 셀들의 어레이에 기록될 상기 데이터를 재전송하는 단계를 더 포함하는, 방법.
  21. 제17항에 있어서,
    상기 메모리 디바이스와 결합된 제1 라인을 통해 상기 전송 실패 정보 및 클록 신호를 수신하는 단계를 더 포함하며, 상기 방법은:
    제1 변조 방식을 사용하여 상기 전송 실패 정보를 디코딩하는 단계; 및
    상기 제1 변조 방식과 상이한 제2 변조 방식을 사용하여 상기 클록 신호를 디코딩하는 단계를 더 포함하는, 방법.
  22. 디바이스로서,
    메모리 셀들의 어레이;
    복수의 데이터 라인들 및 에러 검출 코드(EDC) 라인과 결합된 수신기로서, 상기 복수의 데이터 라인들을 통해 상기 메모리 셀들의 어레이에 기록될 데이터를 수신하고 상기 복수의 데이터 라인들을 통해 수신된 데이터와 관련된 검사합 정보를 수신하도록 구성된, 상기 수신기;
    상기 검사합 정보에 적어도 부분적으로 기초하여 상기 데이터에서 에러들을 검출하도록 구성된 비교기; 및
    상기 제어기와 결합되고 상기 데이터에서 검출된 에러를 나타내는 전송 실패 정보 또는 클록 신호 중 적어도 하나를 전송하도록 구성된 하나 이상의 라인으로서, 상기 EDC 라인과 상이한, 상기 하나 이상의 라인을 포함하는, 디바이스.
  23. 제22항에 있어서,
    상기 하나 이상의 라인 중 제1 라인과 결합되는 제1 전송기를 더 포함하며, 상기 제1 전송기는 상기 하나 이상의 라인 중 상기 제1 라인을 통해 상기 전송 실패 정보를 전송하도록 구성되는 것인, 디바이스.
  24. 제22항에 있어서,
    클록; 및
    상기 하나 이상의 라인 중 제2 라인과 결합된 제2 전송기를 더 포함하며, 상기 제2 전송기는 상기 하나 이상의 라인을 통해 상기 클록으로부터의 신호를 전송하도록 구성되는 것인, 디바이스.
KR1020217007546A 2018-08-21 2019-08-13 크로스토크를 감소시키기 위한 전송 실패 피드백 방식 KR20210032543A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862720385P 2018-08-21 2018-08-21
US62/720,385 2018-08-21
US16/538,537 US11144385B2 (en) 2018-08-21 2019-08-12 Transmission failure feedback schemes for reducing crosstalk
US16/538,537 2019-08-12
PCT/US2019/046400 WO2020041046A1 (en) 2018-08-21 2019-08-13 Transmission failure feedback schemes for reducing crosstalk

Publications (1)

Publication Number Publication Date
KR20210032543A true KR20210032543A (ko) 2021-03-24

Family

ID=69583537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217007546A KR20210032543A (ko) 2018-08-21 2019-08-13 크로스토크를 감소시키기 위한 전송 실패 피드백 방식

Country Status (5)

Country Link
US (3) US11144385B2 (ko)
EP (1) EP3841473A4 (ko)
KR (1) KR20210032543A (ko)
CN (1) CN112602064A (ko)
WO (1) WO2020041046A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11803898B2 (en) * 2021-08-25 2023-10-31 Bank Of America Corporation Account establishment and transaction management using biometrics and intelligent recommendation engine

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4543628A (en) * 1983-01-28 1985-09-24 Digital Equipment Corporation Bus for data processing system with fault cycle operation
US5231640A (en) * 1990-07-20 1993-07-27 Unisys Corporation Fault tolerant processor/memory architecture
TWI269968B (en) * 2004-04-22 2007-01-01 Mediatek Inc Method for processing the noise in the SATA
US9459960B2 (en) * 2005-06-03 2016-10-04 Rambus Inc. Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation
US8352805B2 (en) 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
US9116828B2 (en) 2008-06-11 2015-08-25 Micron Technology, Inc. Data bus inversion usable in a memory system
US8756486B2 (en) * 2008-07-02 2014-06-17 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
JP5341503B2 (ja) 2008-12-26 2013-11-13 株式会社東芝 メモリデバイス、ホストデバイスおよびサンプリングクロックの調整方法
US9201444B2 (en) * 2010-11-29 2015-12-01 Rambus Inc. Clock generation for timing communications with ranks of memory devices
US8977944B2 (en) * 2010-12-14 2015-03-10 Cavium, Inc. DRAM address protection
US9009570B2 (en) * 2012-06-07 2015-04-14 Micron Technology, Inc. Integrity of an address bus
KR20140039948A (ko) 2012-09-21 2014-04-02 삼성전자주식회사 반도체 메모리 장치 및 그의 검출 클럭 패턴 생성방법
US9823966B1 (en) 2013-11-11 2017-11-21 Rambus Inc. Memory component with error-detect-correct code interface
US11403170B2 (en) * 2014-08-05 2022-08-02 Macronix International Co., Ltd. Method and device for monitoring data error status in a memory
CN104407929B (zh) 2014-12-19 2017-10-24 重庆川仪自动化股份有限公司 一种可变存储器校验的方法及系统
US9965352B2 (en) * 2015-11-20 2018-05-08 Qualcomm Incorporated Separate link and array error correction in a memory system
US10186309B2 (en) * 2016-06-29 2019-01-22 Samsung Electronics Co., Ltd. Methods of operating semiconductor memory devices and semiconductor memory devices
TWI638262B (zh) * 2017-11-17 2018-10-11 慧榮科技股份有限公司 資料儲存裝置及應用於其上的操作方法
US10841039B2 (en) * 2018-10-30 2020-11-17 Infineon Technologies Ag System and method for transferring data and a data check field
US11284462B2 (en) * 2019-12-17 2022-03-22 Cisco Technology, Inc. Techniques for providing a third generation partnership project (3GPP) fabric anchor for an enterprise fabric

Also Published As

Publication number Publication date
US20240095119A1 (en) 2024-03-21
US11144385B2 (en) 2021-10-12
US20200065185A1 (en) 2020-02-27
CN112602064A (zh) 2021-04-02
WO2020041046A1 (en) 2020-02-27
EP3841473A1 (en) 2021-06-30
US20220100604A1 (en) 2022-03-31
EP3841473A4 (en) 2022-04-06
US11709730B2 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
CN114080588A (zh) 用于存储器装置的擦除速率控制
CN112567463A (zh) 用于多电平信令的预失真
CN114097038B (zh) 具有用于错误校正的状态反馈的存储器装置
US11860731B2 (en) Channel modulation for a memory device
EP4345630A2 (en) Command block management
US11620241B2 (en) Dynamically configuring transmission lines of a bus
CN113168361A (zh) 用于存储器装置的多层级信令
CN112997250A (zh) 偏移消除
CN112306739A (zh) 多存储器裸片技术
KR102627211B1 (ko) 에러 정정 방법 및 디바이스
EP3895166B1 (en) Feedback for multi-level signaling in a memory device
CN113056789B (zh) 存储器命令验证
US20240095119A1 (en) Transmission failure feedback schemes for reducing crosstalk
US11327832B2 (en) Bit and signal level mapping
US11609865B2 (en) Method and apparatus for signal path biasing in a memory system
CN115428076A (zh) 数据反转技术

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application