KR20220024601A - 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스 - Google Patents

에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스 Download PDF

Info

Publication number
KR20220024601A
KR20220024601A KR1020227001481A KR20227001481A KR20220024601A KR 20220024601 A KR20220024601 A KR 20220024601A KR 1020227001481 A KR1020227001481 A KR 1020227001481A KR 20227001481 A KR20227001481 A KR 20227001481A KR 20220024601 A KR20220024601 A KR 20220024601A
Authority
KR
South Korea
Prior art keywords
error
data
channel
memory
indicator
Prior art date
Application number
KR1020227001481A
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 KR20220024601A publication Critical patent/KR20220024601A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/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/0793Remedial or corrective actions
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/325Display of status information by lamps or LED's
    • G06F11/326Display of status information by lamps or LED's for error or online/offline status
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • 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/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
    • G11C2029/1202Word line control
    • 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
    • G11C2029/1204Bit line control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 위한 방법들, 시스템들 및 디바이스들이 설명된다. 예를 들어, 메모리 디바이스는 판독 동작 동안에, 메모리 디바이스의 메모리 어레이로부터 판독된 제1 데이터에 대한 에러 정정 동작을 수행할 수 있다. 에러 정정 동작은 제2 데이터 및 제2 데이터에 대응하는 에러 상태의 표시자를 생성할 수 있다. 일 예에서, 표시자는 다수의 가능한 에러 상태들 중 하나를 표시할 수 있다. 다른 예에서, 표시자는 정정된 에러 또는 검출가능한 에러가 없음을 나타낼 수 있다. 메모리 디바이스는 동일한 버스트 간격 동안 제1 또는 제2 데이터 및 에러 상태의 표시자를 출력할 수 있다. 메모리 디바이스는 제1 채널을 통해 데이터를 출력하고 제2 채널을 통해 에러 상태의 표시자를 출력할 수 있다.

Description

에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스
상호 참조
본 특허 출원은 2020년 6월 11일 출원된 "MEMORY DEVICE WITH STATUS FEEDBACK FOR ERROR CORRECTION"라는 제목으로 SCHAEFER et al.에 의한 PCT 출원 번호 PCT/US2020/037188에 대한 우선권을 주장하고, 이는 2020년 6월 10일 출원된 "MEMORY DEVICE WITH STATUS FEEDBACK FOR ERROR CORRECTION"라는 제목으로 SCHAEFER et al.에 의한 미국 특허출원 번호 16/898,354와 2019년 6월 17일에 출원된 "MEMORY DEVICE WITH STATUS FEEDBACK FOR ERROR CORRECTION"라는 제목으로 SCHAEFER et al.에 의한 미국 가특허 출원 번호 62/862,254에 대한 우선권을 주장하고, 이들 각각은 본 발명의 양수인에게 양도되고, 이들 각각은 본 출원에 참조로 명시적으로 통합된다.
이하는 전반적으로 적어도 하나의 메모리 디바이스를 포함하는 시스템에 관한 것으로, 보다 구체적으로는 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스에 관한 것이다.
메모리 디바이스는 컴퓨터, 무선 통신 디바이스, 카메라, 디지털 디스플레이 등과 같은 다양한 전자 디바이스에 정보를 저장하는데 널리 사용된다. 정보는 메모리 디바이스의 상이한 상태들을 프로그래밍함으로써 저장된다. 예를 들어, 이진 디바이스들은 대부분 흔히 종종 로직 1 또는 로직 0으로 표시되는 2개의 상태들 중 하나를 저장한다. 다른 디바이스들에서, 2개 초과의 상태들이 저장될 수 있다. 저장된 정보에 액세스하기 위해, 디바이스의 컴포넌트는 메모리 디바이스에 저장된 적어도 하나의 상태를 판독 또는 감지할 수 있다. 정보를 저장하기 위해, 디바이스의 컴포넌트는 메모리 디바이스에 상태를 기록하거나 프로그래밍할 수 있다.
자기 하드 디스크, RAM(random access memory), ROM(read-only memory), DRAM(dynamic RAM), SDRAM(synchronous dynamic RAM), FeRAM(ferroelectric RAM), MRA(Mmagnetic RAM), RRAM(resistive RAM), 플래시 메모리, PCM(phase change memory) 등을 포함하는 다양한 유형의 메모리 디바이스가 존재한다. 메모리 디바이스는 휘발성 또는 비휘발성일 수 있다. 비휘발성 메모리, 예를 들어 FeRAM은 외부 전원이 없는 경우에도 장기간 동안 저장된 로직 상태를 유지할 수 있다. 휘발성 메모리 디바이스 예를 들어, DRAM는 외부 전원과의 연결이 끊어지면 저장된 상태를 상실할 수 있다.
일부 경우에, 메모리 디바이스 내에 저장된 데이터는 손상될 수 있다. 일부 메모리 디바이스들은 이러한 데이터 손상 또는 에러들(예를 들어, 데이터 에러들)을 내부적으로 검출 및/또는 정정하고, 이에 의해 손상 전에 저장된 데이터를 복구하도록 구성될 수 있다. 이러한 검출 및/또는 정정을 보고하기 위한 개선된 기술들이 바람직할 수 있다. 일반적으로, 메모리 디바이스들을 개선하는 것은, 다른 메트릭들 중에서, 메모리 셀 밀도를 증가시키는 것, 판독/기록 속도들을 증가시키는 것, 신뢰성을 증가시키는 것, 데이터 무결성을 증가시키는 것, 전력 소비를 감소시키는 것, 또는 제조 비용을 감소시키는 것을 포함할 수 있다.
도 1은 본 출원에 개시된 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 시스템의 예를 예시한다.
도 2는 본 출원에 개시된 예에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 메모리 다이의 예를 예시한다.
도 3은 본 출원에 개시된 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 시스템의 예를 예시한다.
도 4는 본 출원에 개시된 예에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 타이밍도의 예를 예시한다.
도 5는 본 출원에 개시된 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 프로세스 흐름의 예를 예시한다.
도 6은 본 출원에 개시된 예에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 메모리 디바이스의 블록도를 도시한다.
도 7 내지 9는 본 출원에 개시된 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스들을 지원하는 방법 또는 방법들을 예시하는 흐름도들을 도시한다.
메모리 디바이스는 개인용 컴퓨터, 무선 통신 디바이스, 서버, 사물 인터넷(IoT) 디바이스, 자동차 전자 부품 등과 같은 전자 디바이스의 일부로서 다양한 조건 하에서 동작할 수 있다. 일부 경우들에서, 특정 구현들(예를 들어, 자율 또는 반자율 주행 능력들을 갖는 일부 경우들에서, 자동차 차량들)을 위한 애플리케이션들을 지원하는 메모리 디바이스들은 증가된 신뢰성 제약들을 따를 수 있다. 이와 같이, 일부 애플리케이션들을 위한 메모리 디바이스들(예를 들어, DRAM)은 상대적으로 더 높은 산업 표준들 또는 사양들(예를 들어, 더 높은 신뢰성 제약들)에 종속되는 신뢰성으로 동작하는 것으로 예상될 수 있다.
메모리 디바이스에 저장된 데이터는 일부 경우에 (예를 들어, 누설, 기생 결합, 또는 전자기 간섭(EMI)으로 인해) 손상될 수 있다. 데이터의 손상은 메모리 디바이스 내에 저장된 데이터의 로직 값의 의도하지 않은 변화를 지칭할 수 있고, 따라서 하나 이상의 메모리 셀들에 의해 저장된 로직 값의 의도하지 않은 변화(예를 들어, 로직 일(1)로부터 로직 제로(0)로, 또는 그 반대로)를 지칭할 수 있다. 예를 들어, 메모리 디바이스는 메모리 디바이스 내에 저장된 데이터의 로직 값을 결정하기 위해 판독 동작을 수행할 수 있고, 메모리 셀들 중 하나 이상은 손상될 수 있다. 저장된 비트의 로직값이 원래 의도된 로직값으로부터의 벗어남(deviation)은 에러, 비트 에러, 또는 데이터 에러로 지칭될 수 있고, 손상에 기인할 수 있다. 일부 메모리 디바이스들은 내부적으로 이러한 데이터 손상 또는 에러들을 검출하고 적어도 일부 경우들에서 정정(복원)하여 손상 전에 저장된 데이터를 복구하도록 구성될 수 있다. 이러한 에러 검출 및 정정은 하나 이상의 에러 정정 코드(ECC)(예를 들어, 블록 코드, 콘볼루션 코드, 해밍 코드, 저밀도 패러티 체크 코드, 터보 코드, 폴라(polar) 코드), 및 관련 프로세스, 동작 및 기술에 의존할 수 있고, 따라서 ECC 프로세스, ECC 동작, ECC 기술, 또는 일부 경우에는 단순히 ECC로 지칭될 수 있다. 메모리 디바이스에 이전에 저장된 데이터에 대해 메모리 디바이스 내에서 내부적으로 수행되는 에러 검출 및 정정은 일반적으로 (단일-다이 메모리 디바이스 또는 멀티-다이 메모리 디바이스 내에 있든 간에) 인-라인(in-line) ECC로 지칭될 수 있고, 온-다이 ECC를 지원하는 메모리 디바이스들은 ECC 메모리로 지칭될 수 있다.
판독 동작 수행 시, ECC 메모리를 갖는 메모리 디바이스는 판독 동작에 따라 메모리 어레이로부터 판독된 데이터에 대한 에러 정정 동작을 수행할 수 있다. 에러 정정 동작은 정정된 데이터 및/또는 검출된 에러의 표시를 생성할 수 있다. 메모리 디바이스는 데이터(예를 들어, 정정된 데이터 또는 메모리 어레이로부터 판독된 데이터)를 호스트 디바이스로 출력할 수 있다. 에러 정정 동작의 상태의 표시를 추가로 출력하는 것이 바람직할 수 있다. 예를 들어, 데이터가 정정되는지 또는 데이터 내에서 에러가 검출되는지를 호스트 디바이스에 표시하는 것이 바람직할 수 있다. 에러 정정 동작들의 상태를 호스트 디바이스에 표시하는 것은 호스트 디바이스가 문제의 데이터(예를 들어, 검출된 에러를 표시하는 상태를 갖는 메모리 디바이스로부터 수신된 데이터)를 검출하고 어드레싱할 수 있게 할 수 있다. 이는 메모리 디바이스의 신뢰성을 향상시킬 수 있다.
에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스에 대한 기술들이 설명된다. 메모리 디바이스는 데이터(예를 들어, 정정된 데이터 또는 메모리 어레이로부터 판독된 데이터) 및 동일한 버스트 간격(burst interval) 동안 또는 그에 연쇄된(concatenated) 에러 상태의 대응하는 표시자를 출력할 수 있다. 에러 상태의 표시자는 에러 정정 동작의 상태를 나타낼 수 있다. 일 예에서, 에러 상태의 표시자는 3개 이상의 가능한 에러 상태들 중 하나를 표시할 수 있다. 다른 예로서, 에러 상태 표시자는 에러 정정 동작이 에러를 정정하였거나 에러를 검출하지 못하였음을 나타낼 수 있다. 메모리 디바이스는 데이터에 대한 채널들과 별개인 채널 상에서 에러 상태의 표시자를 출력할 수 있다.
본 개시의 특징들은 도 1-3들을 참조하여 설명된 메모리 시스템 및 메모리 다이의 맥락에서 초기에 설명된다. 본 개시의 특징들은 도 5를 참조하여 설명된 프로세스 흐름의 맥락에서 설명된다. 본 개시의 이들 및 다른 특징들은 도 6-9들을 참조하여 설명된 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스에 관련된 디바이스 다이어그램 및 흐름도들에 의해 추가로 예시되고 이를 참조하여 설명된다.
도 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)는 시스템(100)의 컴포넌트들에 대한 데이터를 저장하도록 구성될 수 있다. 일부 경우에, 메모리 디바이스(110)는 (예를 들어, 외부 메모리 컨트롤러(105)를 통해 시스템(100)에 의해 제공되는 명령들에 응답하여 실행하는) 시스템(100)에 대한 슬레이브-유형 디바이스로서 동작할 수 있다. 이러한 명령들은 액세스 동작을 위한 액세스 명령, 예컨대, 기록 동작을 위한 기록 명령, 판독 동작을 위한 판독 명령, 리프레쉬 동작을 위한 리프레쉬 명령, 또는 다른 명령들을 포함할 수 있다. 메모리 디바이스(110)는 데이터 저장을 위한 원하는 또는 특정된 용량을 지원하기 위해 2개 이상의 메모리 다이들(160)(예를 들어, 메모리 칩들)을 포함할 수 있다. 2개 이상의 메모리 다이들을 포함하는 메모리 디바이스(110)는 멀티-다이 메모리 또는 패키지(멀티-칩 메모리 또는 패키지로도 지칭됨)로 지칭될 수 있다.
시스템(100)은 프로세서(120), BIOS(basic input/output system) 컴포넌트(125), 하나 이상의 주변 컴포넌트(130), 및 입력/출력(I/O) 컨트롤러(135)를 더 포함할 수 있다. 시스템(100)의 컴포넌트들은 버스(140)를 사용하여 서로 전자 통신할 수 있다.
프로세서(120)는 시스템(100)의 적어도 일부를 제어하도록 구성될 수 있다. 프로세서(120)는 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들일 수 있거나, 또는 이러한 유형들의 컴포넌트들의 조합일 수 있다. 이 경우, 프로세서(120)는 다른 예들 중에서, CPU(central processing unit), GPU(graphics processing unit), GPGPU(general purpose GPU), 또는 SoC(system on a chip)일 수 있다.
BIOS 컴포넌트(125)는 시스템(100)의 다양한 하드웨어 컴포넌트들을 초기화하고 실행할 수 있는, 펌웨어로서 동작하는 BIOS를 포함하는 소프트웨어 컴포넌트일 수 있다. BIOS 컴포넌트(125)는 또한 프로세서(120)와 시스템(100)의 다양한 컴포넌트들, 예를 들어, 주변 컴포넌트들(130), I/O 컨트롤러(135) 등 사이의 데이터 흐름을 관리할 수 있다. BIOS 컴포넌트(125)는 판독 전용 메모리(ROM), 플래시 메모리, 또는 임의의 다른 비휘발성 메모리에 저장된 프로그램 또는 소프트웨어를 포함할 수 있다.
주변 컴포넌트(들)(130)는 시스템(100)에 또는 이와 통합될 수 있는 임의의 입력 디바이스 또는 출력 디바이스, 또는 이러한 디바이스들을 위한 인터페이스일 수 있다. 예는 디스크 컨트롤러, 사운드 컨트롤러, 그래픽 컨트롤러, 이더넷 컨트롤러, 모뎀, 범용 직렬 버스(USB) 컨트롤러, 직렬 또는 병렬 포트, 또는 주변 디바이스 카드 슬롯(예를 들어, PCI 또는 특수 그래픽 포트)을 포함할 수 있다. 주변 컴포넌트(들)(130)는 주변 디바이스로서 당업자에 의해 이해되는 다른 컴포넌트일 수 있다.
I/O 컨트롤러(135)는 프로세서(120)와 주변 디바이스(130), 입력 디바이스(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)의 컴포넌트들은 그것들의 기능들을 수행하도록 설계된 범용 또는 특수 목적 회로부로 구성될 수 있다. 이는 본 출원에 설명된 기능들을 수행하도록 구성된 다양한 회로 엘리먼트들, 예를 들어, 전도성 라인들, 트랜지스터들, 커패시터들, 인덕터들, 저항기들, 증폭기들, 또는 다른 능동 또는 수동 엘리먼트들을 포함할 수 있다.
메모리 디바이스(110)는 디바이스 메모리 컨트롤러(155) 및 하나 이상의 메모리 다이들(160)을 포함할 수 있다. 각각의 메모리 다이(160)는 로컬 메모리 컨트롤러(165)(예를 들어, 로컬 메모리 컨트롤러(165-a), 로컬 메모리 컨트롤러(165-b), 및/또는 로컬 메모리 컨트롤러(165-N)) 및 메모리 어레이(170)(예를 들어, 메모리 어레이(170-a), 메모리 어레이(170-b), 및/또는 메모리 어레이(170-N))를 포함할 수 있다. 메모리 어레이(170)는 메모리 셀들의 집합(예를 들어, 그리드)일 수 있으며, 각각의 메모리 셀은 디지털 데이터의 적어도 하나의 비트를 저장하도록 구성된다. 메모리 어레이들(170) 및/또는 메모리 셀들의 특징들은 도 2를 참조하여 더 상세히 설명된다.
메모리 디바이스(110)는 메모리 셀들의 2차원(2D) 어레이의 예일 수 있거나, 메모리 셀들의 3차원(3D) 어레이의 예일 수 있다. 예를 들어, 2D 메모리 디바이스는 단일 메모리 다이(160)를 포함할 수 있다. 3D 메모리 디바이스는 2개 이상의 메모리 다이들(160)(예를 들어, 메모리 다이(160-a), 메모리 다이(160-b), 및/또는 임의의 수량의 메모리 다이들(160-N))을 포함할 수 있다. 3D 메모리 디바이스에서, 메모리 다이들(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)는 본 출원에 설명된 바와 같이 디바이스 메모리 컨트롤러(155)가 메모리 디바이스(110)의 동작을 제어하는 것을 지원할 수 있다. 일부 경우에, 메모리 디바이스(110)는 디바이스 메모리 컨트롤러(155)를 포함하지 않으며, 로컬 메모리 컨트롤러(165) 또는 외부 메모리 컨트롤러(105)는 본 출원에서 설명된 다양한 기능들을 수행할 수 있다. 이와 같이, 로컬 메모리 컨트롤러(165)는 디바이스 메모리 컨트롤러(155)와, 다른 로컬 메모리 컨트롤러들(165)과, 또는 외부 메모리 컨트롤러(105) 또는 프로세서(120)와 직접 통신하도록 구성될 수 있다.
외부 메모리 컨트롤러(105)는 시스템(100)의 컴포넌트들(예를 들어, 프로세서(120))과 메모리 디바이스(110) 사이에서 정보, 데이터, 및/또는 명령들의 통신을 가능하게 하도록 구성될 수 있다. 외부 메모리 컨트롤러(105)는 시스템(100)의 컴포넌트들과 메모리 디바이스(110) 사이의 연락책으로서 동작할 수 있어서, 시스템(100)의 컴포넌트들은 메모리 디바이스의 동작의 세부사항들을 알 필요가 없을 수 있다. 시스템(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)에 본 출원에 설명된 하나 이상의 기능들은 일부 경우들에서 (프로세서(120)와 별개이거나 프로세서(120)에 포함된) 외부 메모리 컨트롤러(105)에 의해 수행될 수 있다.
시스템(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)은 집합(aggregated) 채널일 수도 있고, 따라서 다수의 개별 채널들을 포함할 수 있다. 예를 들어, 데이터 채널(190)은 x4(예를 들어, 4개의 신호 경로를 포함함), x8(예를 들어, 8개의 신호 경로를 포함함), x16(16개의 신호 경로를 포함함) 등일 수 있다. 채널을 통해 전달되는 신호는 DDR(double data rate) 시그널링을 사용할 수 있다. 예를 들어, 신호의 일부 심볼들은 클록 신호의 상승 에지에 정합되고, 신호의 다른 심볼들은 클록 신호의 하강 에지에 정합될 수 있다. 채널들을 통해 통신되는 신호들은 SDR 시그널링을 사용할 수 있다. 예를 들어, 신호의 하나의 심볼이 매 클록 사이클마다 정합될 수 있다.
일부 경우들에서, 채널들(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)의 신호 경로들은 그에 따라 구성될 수 있다. 일부 경우에, 클록 신호는 단일 종단(single ended)일 수 있다. CK 채널(188)은 임의의 수량의 신호 경로들을 포함할 수 있다. 일부 경우들에서, 클록 신호(CK)(예를 들어, CK_t 신호 및 CK_c 신호)는 메모리 디바이스(110)에 대한 명령 및 어드레싱 동작들, 또는 메모리 디바이스(110)에 대한 다른 시스템-와이드 동작들을 위한 타이밍 기준을 제공할 수 있다. 클록 신호(CK)는 제어 클록 신호(CK), 명령 클록 신호(CK) 또는 시스템 클록 신호(CK)로 다양하게 언급될 수 있다. 시스템 클록 신호(CK)는 시스템 클록에 의해 생성될 수 있으며, 시스템 클록은 하나 이상의 하드웨어 컴포넌트(예를 들어, 발진기, 크리스탈, 로직 게이트, 트랜지스터 등)를 포함할 수 있다.
일부 경우들에서, 채널들(115)은 하나 이상의 데이터(DQ) 채널들(190)을 포함할 수 있다. DQ 채널들(190)은 외부 메모리 컨트롤러(105)와 메모리 디바이스(110) 사이에서 데이터 및/또는 제어 정보를 통신하도록 구성될 수 있다. 예를 들어, DQ 채널들(190)은 메모리 디바이스(110)에 기록될 정보(예를 들어, 양방향) 또는 메모리 디바이스(110)로부터 판독된 정보를 통신할 수 있다.
일부 경우들에서, 판독 동작의 데이터와 연관된 에러 상태의 표시는 채널들(115) 중 하나 이상을 사용하여 통신될 수 있다. 즉, 메모리 디바이스(110)는 판독 동작과 관련된 데이터에 대해 인라인(in-line) 에러 정정 동작을 수행할 수 있다. 에러 상태의 표시자는 데이터와 연관된 에러 정정 동작의 상태를 표시할 수 있다. 에러 상태의 표시자는 하나 이상의 에러 표시자 채널들(192)을 통해 통신될 수 있다. 일부 경우들에서, 에러 표시자 채널 (192)은 에러 상태의 표시를 위한 전용 채널에 해당할 수도 있다. 일부 다른 경우들에서, 에러 표시자 채널 (192)은 다른 채널에 해당할 수도 있다. 예를 들어, 에러 표시자 채널(192)은 하나 이상의 DQ 채널들(190)(예를 들어, ZQ 채널)의 임피던스 교정을 위한 채널 또는 DMI(data mask/invert) 핀일 수 있다. 추가적으로 또는 대안적으로, 메모리 디바이스(110)는 하나 이상의 DQ 채널들(190)을 통해 에러 상태의 표시자를 통신할 수 있다. 예를 들어, 메모리 디바이스(110)는 판독 명령과 연관된 데이터를 외부 메모리 컨트롤러(105)에 통신하기 위한 버스트 간격 후에(예를 들어, 하나 이상의 클록 사이클들에 의해 연속되거나 분리된) DQ 채널들(190)에 의해 에러 상태의 표시자를 통신할 수 있다.
일부 경우들에서, 채널들(115)은 다른 목적들에 전용될 수 있는 하나 이상의 다른 채널들(194)을 포함할 수 있다. 이들 다른 채널들(194)은 임의의 수량의 신호 경로들을 포함할 수 있다.
일부 경우들에서, 다른 채널들(194)은 하나 이상의 기록 클록 신호(WCK) 채널들을 포함할 수 있다. WCK에서의 'W'는 명목상 "기록"을 나타낼 수 있지만, 기록 클록 신호(WCK)(예를 들어, WCK_t 신호 및 WCK_c 신호)는 일반적으로 메모리 디바이스(110)에 대한 액세스 동작들에 대한 타이밍 기준(예를 들어, 판독 및 기록 동작들 모두에 대한 타이밍 기준)을 제공할 수 있다. 따라서, 기록 클록 신호(WCK)는 데이터 클록 신호(WCK)로 지칭될 수 있다. WCK 채널들은 외부 메모리 컨트롤러(105)와 메모리 디바이스(110) 사이에서 공통 데이터 클록 신호를 통신하도록 구성될 수 있다. 데이터 클록 신호는 외부 메모리 컨트롤러(105)와 메모리 디바이스(110)의 액세스 동작(예컨대, 기록 동작 또는 판독 동작)을 조정하도록 구성될 수 있다. 일부 경우들에서, 기록 클록 신호는 차동 출력(예를 들어, WCK_t 신호 및 WCK_c 신호)일 수 있고, WCK 채널들의 신호 경로들은 그에 따라 구성될 수 있다. WCK 채널은 임의의 수량의 신호 경로들을 포함할 수 있다. 데이터 클록 신호(WCK)는 데이터 클록에 의해 생성될 수 있고, 데이터 클록은 하나 이상의 하드웨어 컴포넌트(예를 들어, 발진기, 크리스탈, 로직 게이트, 트랜지스터 등)를 포함할 수 있다.
일부 경우들에서, 다른 채널들 (194)은 하나 이상의 에러 검출 코드 (EDC) 채널들을 포함할 수 있다. EDC 채널들은 시스템 신뢰성을 개선하기 위해 체크섬(checksum)들과 같은 에러 검출 신호들을 통신하도록 구성될 수 있다. EDC 채널은 임의의 수량의 신호 경로들을 포함할 수 있다.
채널들(115)은 다양한 상이한 아키텍처들을 사용하여 외부 메모리 컨트롤러(105)를 메모리 디바이스(110)와 결합할 수 있다. 다양한 아키텍처들의 예들은 버스, 포인트-투-포인트 접속, 크로스바, 실리콘 인터포저와 같은 고밀도 인터포저, 또는 유기 기판에 형성된 채널들 또는 이들의 일부 조합을 포함할 수 있다. 예를 들어, 일부 경우에, 신호 경로는 실리콘 인터포저 또는 유리 인터포저와 같은 고밀도 인터포저를 적어도 부분적으로 포함할 수 있다.
채널들(115)을 통해 통신되는 신호들은 다양한 상이한 변조 방식들을 사용하여 변조될 수 있다. 일부 경우에, 이진-심볼(또는 이진-레벨) 변조 방식이 외부 메모리 컨트롤러(105)와 메모리 디바이스(110) 사이에서 통신되는 신호들을 변조하기 위해 사용될 수 있다. 이진-심볼 변조 방식은 M이 2인 M-진 변조 방식의 예일 수 있다. 이진-심볼 변조 방식의 각각의 심볼은 디지털 데이터의 하나의 비트를 나타내도록 구성될 수 있다(예를 들어, 심볼은 로직 1 또는 로직 0을 나타낼 수 있다). 이진-심볼 변조 방식들의 예들은 NRZ(non-return-to-zero), 유니폴라 인코딩, 바이폴라 인코딩, 맨체스터 인코딩, 2개의 심볼들을 갖는 펄스 진폭 변조(PAM)(예를 들어, PAM2) 등을 포함하지만, 이들로 제한되지 않는다.
일부 경우에, 멀티-심볼(또는 멀티-레벨) 변조 방식이 외부 메모리 컨트롤러(105)와 메모리 디바이스(110) 사이에서 통신되는 신호들을 변조하기 위해 사용될 수 있다. 멀티-심볼 변조 방식은 M이 3이상인 M-진 변조 방식의 일 예일 수 있다. 멀티-심볼 변조 방식의 각각의 심볼은 디지털 데이터의 하나 이상의 비트를 나타내도록 구성될 수 있다(예를 들어, 심볼은 로직 00, 로직 01, 로직 10, 또는 로직 11을 나타낼 수 있다). 멀티-심볼 변조 방식들의 예들은 PAM4, PAM8 등, 직교 진폭 변조(QAM), 직교 위상 시프트 키잉(QPSK) 등을 포함하지만, 이들로 제한되지 않는다. 멀티-심볼 신호 또는 PAM4 신호는 하나 이상의 비트의 정보를 인코딩하기 위해 적어도 3개의 레벨을 포함하는 변조 방식을 사용하여 변조된 신호일 수 있다. 멀티-심볼 변조 방식들 및 심볼들은 대안적으로 비-이진, 멀티-비트, 또는 고차 변조 방식들 및 심볼들로 지칭될 수 있다.
메모리 디바이스(110)는 외부 메모리 컨트롤러(105)로부터 수신된 판독 명령어에 따라 메모리 어레이(170)로부터 판독된 데이터에 대한 에러 정정 동작을 수행하도록 구성된다. 에러 정정 동작은 정정된 데이터 및/또는 검출된 에러의 표시를 생성할 수 있다. 메모리 디바이스(110)는 버스트 간격 동안 데이터(예컨대, 정정된 데이터 또는 메모리 어레이로부터 판독된 데이터)를 외부 메모리 컨트롤러(105)로 출력할 수 있다. 또한, 메모리 디바이스(110)는 동일한 버스트 간격 동안 에러 정정 동작의 상태를 표시할 수 있다. 일 예에서, 에러 상태의 표시자는 3개 이상의 가능한 에러 상태들 중 하나를 표시할 수 있다. 다른 예로서, 에러 상태 표시자는 에러 정정 동작이 에러를 정정하였거나 에러를 검출하지 못하였음을 나타낼 수 있다.
도 2는 본 출원에 개시된 예들에 따른 메모리 다이(200)의 예를 예시한다. 메모리 다이(200)는 도 1을 참조하여 설명된 메모리 다이(160)의 예일 수 있다. 일부 경우에, 메모리 다이(200)는 메모리 칩, 메모리 디바이스, 또는 전자 메모리 디바이스로 지칭될 수 있다. 메모리 다이(200)는 상이한 로직 상태들을 저장하도록 프로그램 가능한 하나 이상의 메모리 셀들(205)을 포함할 수 있다. 각각의 메모리 셀(205)은 2개 이상의 상태들을 저장하도록 프로그래밍가능할 수 있다. 예를 들어, 메모리 셀(205)은 한번에 디지털 로직의 하나의 비트(예를 들어, 로직 0 및 로직 1)를 저장하도록 구성될 수 있다. 일부 경우에, 단일 메모리 셀(205)(예를 들어, 멀티-레벨 메모리 셀)은 한번에 디지트 로직의 하나 초과의 비트(예를 들어, 로직 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)은 Vpl과 같은 셀 플레이트 기준 전압일 수 있거나, Vss와 같은 접지일 수 있다. 일부 경우에, 전압원(240)은 플레이트 라인 드라이버와 결합된 플레이트 라인의 예일 수 있다. 스위칭 컴포넌트(235)는 두 컴포넌트들 사이의 전자 통신을 선택적으로 수립하거나 수립 해제하는 트랜지스터 또는 임의의 다른 유형의 스위치 디바이스의 예일 수 있다.
메모리 셀(205)을 선택 또는 선택 해제는 스위칭 컴포넌트(235)를 활성화 또는 비활성화함으로써 달성될 수 있다. 커패시터(230)는 스위칭 컴포넌트(235)를 사용하여 디지트 라인(215)과 전자 통신할 수 있다. 예를 들어, 커패시터(230)는 스위칭 컴포넌트(235)가 비활성화될 때 디지트 라인(215)으로부터 격리될 수 있고, 커패시터(230)는 스위칭 컴포넌트(235)가 활성화될 때 디지트 라인(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)의 검출된 로직 상태는 I/O(255)에 의해 ECC 블록(265)을 통해 출력될 수 있다. 여기서, ECC 블록(265)은 검출된 메모리 셀(205)의 로직 상태에 대해 에러 정정 동작을 수행하고, I/O(255)에 의해 데이터(예를 들어, 원래 데이터 또는 정정된 데이터)를 출력할 수 있다. 일부 다른 경우에, 메모리 셀(205)의 검출된 로직 상태는 ECC 블록(265)을 바이패스할 수 있고 I/O(255)에 의해 출력될 수 있다. 일부 경우에, 메모리 셀(205)의 검출된 로직 상태는 I/O(255)에 의해 ECC 블록(265)을 통해 그리고 ECC 블록(265) 주변에 출력될 수 있다. 여기서, 메모리 셀(205)의 검출된 로직 상태는 ECC 블록(265)이 메모리 셀(205)의 검출된 로직 상태에 대해 에러 정정 동작을 수행하는 것과 동시에 메모리 다이(200)로부터 출력될 수 있다. 일부 경우에, 감지 컴포넌트(245)는 다른 컴포넌트(예를 들어, 열 디코더(225), 행 디코더(220))의 일부일 수 있다. 일부 경우에, 감지 컴포넌트(245)는 행 디코더(220) 또는 열 디코더(225)와 전자 통신할 수 있다.
로컬 메모리 컨트롤러(260)는 다양한 컴포넌트들(예를 들어, 행 디코더(220), 열 디코더(225), 및 감지 컴포넌트(245), ECC 블록(265))을 통해 메모리 셀들(205)의 동작을 제어할 수 있다. 로컬 메모리 컨트롤러(260)는 도 1을 참조하여 설명된 로컬 메모리 컨트롤러(165)의 일 예일 수 있다. 일부 경우에, 행 디코더(220), 열 디코더(225), 감지 컴포넌트(245), 및 ECC 블록(265) 중 하나 이상은 로컬 메모리 컨트롤러(260)와 같은 장소에 위치될 수 있다. 로컬 메모리 컨트롤러(260)는 외부 메모리 컨트롤러(105)(또는 도 1을 참조하여 설명된 디바이스 메모리 컨트롤러(155))로부터 명령들 및/또는 데이터를 수신하고, 명령들 및/또는 데이터를 메모리 다이(200)에 의해 사용될 수 있는 정보로 변환하고, 메모리 다이(200) 상에서 하나 이상의 동작들을 수행하고, 하나 이상의 동작들을 수행하는 것에 응답하여 메모리 다이(200)로부터 외부 메모리 컨트롤러(105)(또는 디바이스 메모리 컨트롤러(155))로 데이터를 통신하도록 구성될 수 있다. 로컬 메모리 컨트롤러(260)는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화시키기 위해 행 및 열 어드레스 신호들을 생성할 수 있다. 로컬 메모리 컨트롤러(260)는 또한 메모리 다이(200)의 동작 동안 사용되는 다양한 전압들 또는 전류들을 생성 및 제어할 수 있다. 일반적으로, 본 출원에서 논의된 인가된 전압 또는 전류의 진폭, 형상, 또는 지속기간은 조정되거나 변화될 수 있고, 메모리 다이(200)를 동작시키는데 논의된 다양한 동작들에 대해 상이할 수 있다.
일부 경우에, 로컬 메모리 컨트롤러(260)는 메모리 다이(200)의 하나 이상의 메모리 셀(205)에 대해 기록 동작(예를 들어, 프로그래밍 동작)을 수행하도록 구성될 수 있다. 기록 동작 동안, 메모리 다이(200)의 메모리 셀(205)은 원하는 로직 상태를 저장하도록 프로그램될 수 있다. 일부 경우들에서, 메모리 셀들의 세트(205)는 단일 기록 동작 동안 프로그래밍될 수 있다. 로컬 메모리 컨트롤러(260)는 기록 동작을 수행할 타겟 메모리 셀(205)을 식별할 수 있다. 로컬 메모리 컨트롤러(260)는 타겟 메모리 셀(205)(예를 들어, 타겟 메모리 셀(205)의 어드레스)과 전자 통신하는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 식별할 수 있다. 로컬 메모리 컨트롤러(260)는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화하여(예를 들어, 워드 라인(210) 또는 디지트 라인(215)에 전압을 인가함), 타겟 메모리 셀(205)을 액세스할 수 있다. 로컬 메모리 컨트롤러(260)는 특정 상태(예를 들어, 전하)를 메모리 셀(205)의 커패시터(230)에 저장하기 위해 기록 동작 동안 특정 신호(예를 들어, 전압)를 디지트 라인(215)에 인가할 수 있고, 특정 상태(예를 들어, 전하)는 원하는 로직 상태를 나타낼 수 있다.
ECC 블록(265) 또는 로컬 메모리 컨트롤러(260)는 기록 동작의 일부로서 호스트 디바이스로부터 수신된 데이터에 대한 에러 정정 동작을 수행할 수 있다. 예를 들어, ECC 블록(265)은 기록 동작의 일부로서 호스트 디바이스로부터 데이터를 수신할 수 있다. ECC 블록(265)은 데이터에 대한 에러 검출 또는 정정 정보를 결정 또는 생성할 수 있다. 일부 경우에, ECC 블록(265)은 에러 검출 로직을 포함하거나, 에러 검출 로직(미도시)으로 하여금 본 출원에서 설명된 에러 검출 동작들을 수행하게 할 수 있다. ECC 블록(265)은 데이터 및 에러 검출 또는 정정 정보가 기록 동작의 일부로서 하나 이상의 메모리 셀(205)에 저장되게 할 수 있다. 다른 예로서, ECC 블록(265)은 판독 동작의 일부로서 메모리 어레이로부터 데이터 및 이와 관련된 에러 검출 또는 정정 정보를 수신할 수 있다. ECC 블록(265)은 데이터 및 에러 검출 또는 정정 정보에 기초하여 에러 정정 동작을 수행할 수 있다. ECC 블록(265) 또는 로컬 메모리 컨트롤러(260)에 의해서 메모리 디바이스에서 에러 정정 동작이 수행됨으로써, 메모리 디바이스의 신뢰성이 향상될 수 있다.
ECC 블록(265) 또는 로컬 메모리 컨트롤러(260)는 에러 정정 동작의 상태를 나타내는 표시자를 생성할 수 있다. 표시자는 데이터의 에러 상태를 표시할 수 있다. 예를 들어, 표시자는 에러 정정 동작의 유형 또는 에러 정정 동작 중에 검출된 에러의 유형을 나타낼 수 있다. 예를 들어, 에러 상태의 표시자는 3개 이상의 가능한 에러 상태 중 하나를 표시할 수 있다. 다른 예로서, 에러 상태 표시자는 에러 정정 동작이 에러를 정정하였거나 에러를 검출하지 못하였음을 나타낼 수 있다.
일부 경우에, 로컬 메모리 컨트롤러(260)는 메모리 다이(200)의 하나 이상의 메모리 셀(205)에 대해 판독 동작(예를 들어, 감지 동작)을 수행하도록 구성될 수 있다. 판독 동작 동안, 메모리 다이(200)의 메모리 셀(205)에 저장된 로직 상태가 결정될 수 있다. 일부 경우들에서, 메모리 셀들의 세트(205)는 단일 판독 동작 동안 감지될 수 있다. 로컬 메모리 컨트롤러(260)는 판독 동작을 수행할 타겟 메모리 셀(205)을 식별할 수 있다. 로컬 메모리 컨트롤러(260)는 타겟 메모리 셀(205)(예를 들어, 타겟 메모리 셀(205)의 어드레스)과 전자 통신하는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 식별할 수 있다. 로컬 메모리 컨트롤러(260)는 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화하여(예를 들어, 워드 라인(210) 또는 디지트 라인(215)에 전압을 인가함), 타겟 메모리 셀(205)을 액세스할 수 있다. 타겟 메모리 셀(205)은 액세스 라인들을 바이어싱하는 것에 응답하여 감지 컴포넌트(245)에 신호를 전송할 수 있다. 감지 컴포넌트(245)는 신호를 증폭할 수 있다. 로컬 메모리 컨트롤러(260)는 감지 컴포넌트(245)를 파이어링(fire)(예를 들어, 감지 컴포넌트를 래치)할 수 있고, 이에 의해 메모리 셀(205)로부터 수신된 신호를 기준 신호(250)와 비교할 수 있다. 해당 비교에 기초하여, 감지 컴포넌트(245)는 메모리 셀(205) 상에 저장되는 로직 상태를 결정할 수 있다. 로컬 메모리 컨트롤러(260)는 판독 동작의 일부로서 메모리 셀(205) 상에 저장된 로직 상태를 외부 메모리 컨트롤러(105)(또는 디바이스 메모리 컨트롤러(155))에 통신할 수 있다.
메모리 셀(205) 상에 저장된 로직 상태가 호스트 디바이스와 메모리 디바이스 사이에서 통신될 때, 데이터는 손상될 수 있다. 로컬 메모리 컨트롤러(260) 또는 ECC 블록(265)은 이들 에러들의 일부를 검출 및/또는 정정하기 위해 사용될 에러 정정 코드를 생성할 수 있다. 메모리 디바이스와 호스트 디바이스 또는 외부 메모리 컨트롤러 사이의 채널들을 통한 데이터의 송신 동안 발생하는 에러들을 검출 또는 정정하기 위해 사용되는 에러 정정은 링크 ECC로 지칭될 수 있다. 로컬 메모리 컨트롤러(260) 또는 ECC 블록(265)은 판독 동작의 일부로서 (예를 들어, 메모리 셀(205) 상에 저장된 로직 상태에 더하여) 에러 정정 코드를 외부 메모리 컨트롤러(105)에 통신할 수 있다. 로컬 메모리 컨트롤러(260) 또는 ECC 블록(265)은 기록 동작의 일부로서 에러 정정 코드를 외부 메모리 컨트롤러(105)로부터 수신하고, 상기 기록 동작과 관련된 데이터의 송신 동안에 발생한 에러를 검출 또는 정정할 수 있다.
일부 메모리 아키텍처에서, 메모리 셀(205)을 액세스하는 것은 메모리 셀(205)에 저장된 로직 상태를 열화시키거나 파괴할 수 있다. 예를 들어, DRAM 아키텍처에서 수행되는 판독 동작은 타겟 메모리 셀의 커패시터를 부분적으로 또는 완전히 방전시킬 수 있다. 로컬 메모리 컨트롤러(260)는 재기록 동작 또는 리프레쉬 동작을 수행하여 메모리 셀을 원래의 로직 상태로 복귀시킬 수 있다. 로컬 메모리 컨트롤러(260)는 판독 동작 이후에 로직 상태를 타겟 메모리 셀에 재기록할 수 있다. 일부 경우에, 재기록 동작은 판독 동작의 일부로 간주될 수 있다. 추가적으로, 워드 라인(210)과 같은 단일 액세스 라인을 활성화시키는 것은 그 액세스 라인과 전자 통신하는 일부 메모리 셀들에 저장된 상태를 방해할 수 있다. 따라서, 액세스되지 않은 메모리 셀들에 대해 재기록 동작 또는 리프레쉬 동작이 수행될 수 있다.
도 3은 본 출원에 개시된 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 시스템(300)의 예를 예시한다. 시스템(300)은 다른 것들 중에서, 도 1 및 2를 참조하여 본 출원에 설명된 하나 이상의 컴포넌트들을 포함할 수 있다. 예를 들어, 시스템(300)은 도 1을 참조하여 설명된 외부 메모리 컨트롤러(105)의 예일 수 있는 호스트 디바이스(305); 도 1 및 2를 참조하여 설명된 바와 같은 메모리 디바이스(110), 메모리 다이들(160), 또는 메모리 다이(200)의 예일 수 있는 메모리 디바이스(310); 도 1 및 2를 참조하여 설명된 디바이스 메모리 컨트롤러(155), 하나 이상의 로컬 메모리 컨트롤러(165), 또는 로컬 메모리 컨트롤러(260)의 예일 수 있는 컨트롤러(320), 또는 이들의 임의의 조합; 도 1을 참조하여 설명된 메모리 어레이들(170)의 예일 수 있는 메모리 어레이(325); 도 2를 참조하여 설명된 로컬 메모리 컨트롤러(260) 또는 ECC 블록(265)의 예일 수 있는 에러 정정 회로(330); 및 도 1을 참조하여 설명된 대응하는 채널들의 예일 수 있는 CA 채널들(386), CK 채널들(388), DQ 채널들(390), 및 에러 표시자 채널들(392)을 포함할 수 있다. 메모리 디바이스(310)는 또한 메모리 인터페이스(315)를 포함할 수 있다.
호스트 디바이스(305)는 메모리 인터페이스(315)를 통해 수신될 수 있는 CA 채널(386)에 의해 메모리 디바이스(310)에 명령들을 발송할 수 있다. 명령들은 메모리 어레이(325)에서 하나 이상의 액세스 동작들(예를 들어, 판독 동작, 기록 동작)을 수행하기 위한 액세스 명령들을 포함할 수 있다. 컨트롤러(320)는 메모리 인터페이스(315)로부터 명령들을 수신하고, 명령들을 처리하고, 메모리 어레이(325) 상에서 명령들을 실행할 수 있다. 에러 정정 회로(330)는 액세스 명령들과 연관된 데이터에 대해 하나 이상의 에러 정정 동작들을 수행할 수 있다.
기록 동작 동안, 호스트 디바이스(305)는 CA 채널(386)에 의해 메모리 인터페이스(315)에 기록 명령을 발송할 수 있다. 기록 명령은 메모리 어레이(325)에 기록될 데이터를 포함할 수 있다. 메모리 인터페이스(315)는 데이터를 컨트롤러(320)로 발송할 수 있고, 이는 결국 데이터를 에러 정정 회로(330)로 통신할 수 있다. 에러 정정 회로(330)는 컨트롤러(320)로부터 수신된 데이터에 기초하여 에러 검출 또는 정정 정보를 생성할 수 있다. 예를 들어, 에러 정정 회로(330)는 데이터에 기초하여 패러티 또는 해밍 코드 정보를 생성할 수 있다. 에러 정정 회로(330)는 에러 검출 또는 정정 정보를 컨트롤러(320)로 통신하여 메모리 어레이(325)에 데이터를 저장할 수 있다. 컨트롤러(320)는 메모리 어레이(325)에(예를 들어, 호스트 디바이스(305)로부터 수신된 기록 명령에 의해 표시된 위치에) 데이터를 저장할 수 있다. 컨트롤러(320)는 또한 에러 검출 또는 정정 정보를 메모리 어레이(325)에 저장할 수 있다. 일부 경우에, 에러 검출 또는 정정 정보는 데이터와 동일한 위치(예를 들어, 동일한 서브 어레이, 동일한 행)에 저장될 수 있다. 일부 다른 경우에, 에러 검출 또는 정정 정보는 데이터와 상이한 메모리 어레이(325)의 부분에 저장될 수 있다.
판독 동작 동안, 호스트 디바이스(305)는 판독 명령을 CA 채널(386)에 의해 메모리 인터페이스(315)에 발송할 수 있다. 판독 명령은 메모리 어레이(325)로부터 판독될 데이터를 나타낼 수 있다. 메모리 인터페이스(315)는 컨트롤러(320)에 판독 명령을 통신할 수 있고 이는 결국 메모리 어레이(325)로부터 데이터(예를 들어, 제1 데이터)를 판독할 수 있다. 컨트롤러(320)는 또한 메모리 어레이(325)로부터 (예를 들어, 데이터와 연관된) 에러 검출 또는 정정 정보를 판독할 수 있다. 컨트롤러(320)는 데이터 및 에러 검출 또는 정정 정보를 에러 정정 회로(330)로 통신할 수 있다. 에러 정정 회로(330)는 데이터에 기초하여 에러 정정 동작을 수행하여 데이터와 관련된 에러(예를 들어, 누설, 기생 결합, 또는 EMI)를 검출 및/또는 정정할 수 있다. 에러 정정 동작 동안에, 에러 정정 회로(330)는 컨트롤러(320)로부터 수신된 데이터에 기초하여 에러 검출 또는 정정 정보를 생성할 수 있다. 에러 정정 회로(330)는 수신된 에러 검출 또는 정정 정보와 생성된 에러 검출 또는 정정 정보를 비교할 수 있다. 수신된 에러 검출 또는 정정 정보와 생성된 에러 검출 또는 정정 정보가 일치하지 않는 경우, 에러 정정 회로(330)는 에러를 검출할 수 있다.
에러 정정 동작은 에러 정정 동작의 유형에 따라 다양한 에러들을 검출 및/또는 정정할 수 있다. 첫 번째 경우, 에러 정정 동작은 에러를 검출하지 못할 수 있다. 두 번째 경우에, 에러 정정 동작은 에러를 검출하지만, 에러를 정정하지 않을 수 있다. 예를 들어, 에러 정정 동작은 (예를 들어, SECDED 동작 동안) 이중 비트(double-bit) 에러를 검출하고, 삼중 비트(triple-bit) 미정정 에러를 검출하고, 홀수 미정정 에러(예를 들어, 데이터 내의 반전된 비트들의 홀수 수량에 대응하는 에러)를 검출하고, 짝수 미정정 에러들(예를 들어, 데이터 내의 반전된 비트들의 짝수 수량에 대응하는 에러)을 검출하거나, 또는 앨리어싱된(aliased) 에러를 검출할 수 있다. 세 번째 경우, 에러 정정 동작은 에러를 정정할 수 있다. 예를 들어, 에러 정정 동작은 싱글 비트 에러 정정(SEC(single error correction) SEC 또는 SECDED(SEC double error detection) 동작), 트리플 비트 에러 정정, 홀수 에러 정정 또는 짝수 에러를 정정할 수 있다.
에러 검출 및/또는 정정의 유형들 각각은 에러 상태로 분류될 수 있다. 즉, 유한한 에러 상태들이 존재할 수 있고, 에러 정정 회로(330)는 에러 정정 동작에 기초하여 데이터와 연관된 에러 상태를 결정할 수 있다. 에러들의 가능한 상태들 및/또는 에러들의 가능한 상태들의 수량은 가변적일 수 있다. 일부 경우들에서, 에러들의 상태들은 메모리 디바이스(310)의 미리 구성된 특성(예를 들어, 메모리 디바이스(310) 상에 하드와이어링되거나 초기화 동안 설정됨)일 수 있다. 일부 다른 경우들에서, 에러들의 상태들은 (예를 들어, 호스트 디바이스(305)에 의해) 프로그래밍가능할 수 있다.
가능한 두 가지 에러 상태가 있을 수 있다. 예를 들어, 2개의 에러 상태는 (1) 에러 없음/검출불가능한 에러 또는 (2) 정정된 에러일 수 있다. 제2 예에서, 2개의 가능한 에러 상태들은 (1) 에러 없음/검출불가능한 에러/정정된 에러 또는 (2) 앨리어싱된 제3 에러에 대응할 수 있다. 첫번째 2개의 예에서, 에러 정정 회로(330)는 SEC 동작을 수행하는 것에 기초하여 에러 상태 (예를 들어, 2개의 가능한 에러 상태들 사이의)를 결정할 수 있다. 즉, 에러 정정 회로(330)는 (1) 에러가 없는지 또는 검출 불가능한 에러가 있는지 (2) 정정된 에러가 있는지 또는 (3) 앨리어싱된 에러가 있는지 여부를 나타내는 SEC 동작을 수행할 수 있다. 에러 정정 회로(330)는 에러의 유형 중 일부 또는 전부를 두 개의 에러 카테고리로 분류할 수 있다. 예를 들어, 2개의 카테고리는 (1) 에러 없음 또는 검출불가능한 에러 대 (2) 정정된 에러가 있는지, 또는 (1) 에러 없음/검출불가능한 에러/정정된 에러 대 (2) 앨리어싱된 제3 에러가 있는지 여부일 수 있다. 제3 예에서, 에러의 2개의 카테고리는 (1) 에러 없음/정정 가능한 에러 또는 (2) 정정 불가능한 에러일 수 있다. 일부 경우에, 에러 정정 회로(330)는 SEC 에러 정정 동작에 기초하여 (1) 에러 없음/정정 불가능한 에러와 (2) 정정 불가능한 에러 사이에서 결정하지 않을 수 있다. 이 경우, SEC 에러 정정 동작은 정정 불가능한 에러를 나타내지 않을 수 있다. 에러 정정 회로(330)는 에러의 카테고리에 대한 표시자를 출력할 수 있다.
일부 다른 경우들에서, 에러 정정 회로(330)는 에러의 상태들에 대한 2개 초과의 카테고리들 중 하나를 표시하는 표시자를 출력할 수 있다. 예를 들어, (1) 에러 없음/검출불가능한 에러, (2) 정정된 에러, 또는 (3) 정정되지 않은 에러에 대응하는 3개의 가능한 에러 상태들이 존재할 수 있다. 제2 예에서, (1) 검출된 에러 없음, (2) 정정된 에러, 또는 (3) 정정되지 않은 에러에 대응하는 3개의 가능한 에러 상태들이 존재할 수 있다. 예를 들어, SEC보다 복잡한 ECC에 대해 추가적인 에러 정보가 이용가능한 경우, 3개 초과의 가능한 에러 상태들이 존재할 수 있다. 예를 들어, 가능한 에러 상태들은 (1) 검출된 에러 없음, (2) 정정한 단일 비트 에러, (3) 검출된 이중 비트 에러, (4) 정정된 삼중 비트 에러, (5) 검출된 삼중 비트 정정되지 않은 에러, (6) 정정된 홀수 에러, (7) 검출된 홀수 정정되지 않은 에러, (8) 정정된 짝수 에러, 또는 (9) 검출된 짝수 정정되지 않은 에러를 포함할 수 있다. 에러 정정 회로(330)는 에러의 표시자를 생성하기 위해 에러들의 서브세트 또는 전부를 2개 이상(예를 들어, 총 가능한 에러 상태까지) 에러 카테고리들로 분류할 수 있다.
에러 정정 회로(330)는 에러 정정 동작에 기초하여 데이터(예를 들어, 제2 데이터)를 컨트롤러(320)로 출력할 수 있다. 일부 경우에, 제2 데이터는 메모리 어레이(325)로부터 판독된 데이터에 에러 정정 동작을 수행함으로써 생성된 정정 데이터일 수 있다. 일부 다른 경우에, 제2 데이터는 메모리 어레이(325)로부터 판독된 데이터와 동일할 수 있다(예를 들어, 에러 정정 회로(330)는 에러 정정 동작 동안 어떠한 에러도 정정하지 않았다). 에러 정정 회로(330)는 또한 에러 상태의 표시자를 컨트롤러(320)에 통신할 수 있다. 대안적으로, 에러 정정 회로(330)는 에러 정정 동작 동안 검출 및/또는 정정된 에러의 유형 또는 카테고리의 표시자를 컨트롤러(320)로 통신할 수 있다. 검출된 및/또는 정정된 에러의 유형 또는 카테고리에 기초하여, 컨트롤러(320)는 데이터와 연관된 에러의 상태를 결정할 수 있다.
컨트롤러(320)는 제1 데이터 및 제2 데이터 중 어느 하나를 메모리 인터페이스(315)로 통신할 수 있다. 메모리 인터페이스(315)는 이어서 버스트 간격에 따라 DQ 채널(390)에 의해 데이터(예를 들어, 제1 데이터 또는 제2 데이터)를 호스트 디바이스(305)로 출력할 수 있다. 버스트 간격은 DQ 채널(390)에 의해 호스트 디바이스(305)로 데이터를 출력하기 위해 (예를 들어, 도 1을 참조하여 논의된 WCK에 기초한) 클록 사이클들의 수량에 대응할 수 있다.
컨트롤러(320)는 에러 상태의 표시자를 메모리 인터페이스(315)에 통신할 수 있다. 메모리 인터페이스(315)는 동일한 버스트 간격(예를 들어, 데이터) 동안 에러 상태의 표시자를 출력할 수 있다. 일부 경우에, 메모리 인터페이스(315)는 DQ 채널(390)에 의해 에러 상태의 표시자를 통신할 수 있다. 여기서, 메모리 인터페이스(315)는 버스트 간격 동안 데이터의 백엔드에 에러 상태의 표시자를 순차적으로 출력할 수 있다. 다른 경우에, 메모리 인터페이스(315)는 에러 표시자 채널(392)에 의해 에러 상태의 표시자를 통신할 수 있다. 일부 경우들에서, 에러 표시자 채널 (392)은 에러 상태의 표시에 전용될 수 있다. 여기서, 메모리 인터페이스(315)는 플래그일 수 있다. 예를 들어, 메모리 인터페이스(315)는 플래그를 2개의 가능한 값들 중 하나로 설정함으로써 2개의 가능한 에러 상태들 중 하나를 나타낼 수 있다.
대안적으로, 에러 표시자 채널(392)은 다기능 채널일 수 있다. 예를 들어, 에러 표시자 채널(392)은 DMI 핀일 수 있다. 에러 표시자 채널(392)이 DMI 핀이면, 메모리 인터페이스(315)는 버스트 간격의 제1 부분 동안 에러 상태의 표시자를 출력할 수 있다. 예를 들어, 메모리 인터페이스(315)는 열여섯(16)사이클 버스트 간격의 첫번째 칠(7)클록 사이클 동안 에러 상태의 표시자를 출력할 수 있다. 여기서, 칠(7)개의 클록 사이클들은 에러 상태의 최대 27 가능한 표시들을 제공할 수 있다. 일부 경우들에서, 각각의 클록 사이클은 총 칠(7)개의 상이한 에러 상태들을 표시하기 위해 에러 상태에 대응할 수 있다(예를 들어, 각각의 비트는 특정 에러 상태와 연관된 플래그에 대응한다). 일부 다른 경우들에서, 최대 27개의 가능한 에러 상태들이 존재할 수 있으며, 여기서 비트들의 조합은 에러 상태에 대응한다. 다른 예에서, 에러 표시자 채널(392)은 ZQ 교정 외부의 ZQ 채널(예를 들어, DQ 채널(390)에 대한 임피던스 교정과 연관된 채널)일 수 있다. 에러 상태의 표시자는 코딩될 수 있다(예를 들어, 에러의 세(3) 개의 유형들 또는 카테고리들이 네(4)개 또는 그 초과의 비트들로 코딩됨).
에러 표시자 채널(392)의 기능에 따라, 메모리 인터페이스(315)는 에러 상태의 표시자를 출력하기 위해 버스트 간격의 변화량들을 이용할 수 있다(예를 들어, 버스트 간격의 제1 부분, 버스트 간격의 제2 부분, 전체 버스트 간격). 이는 에러들의 가능한 상태들의 높은 가능한 정도의 세분화도(granularity)를 허용할 수 있다. 예를 들어, 버스트 간격이 열여섯(16) 사이클이고, 전체 버스트 간격이 에러 상태의 표시자를 출력하는데 이용 가능하다면, 메모리 인터페이스(315)는 에러 상태의 열여섯(16) 비트 표시자를 출력할 수 있다. 따라서, 최대 216개의 가능한 에러 상태가 표시될 수 있다. 대안적으로, 216개 미만의 가능한 에러 상태들이 있을 수 있지만, 더 높은 정도의 중복성을(예를 들어, 표시자는 한번 초과로 송신 또는 코딩될 수 있다) 갖는다.
에러 표시자 채널(392)은 에러 상태의 표시자에 부가하여 정보를 포함할 수 있다. 예를 들어, 에러 표시자 채널(392)은 검출된 행 해머 이벤트들, 메모리 디바이스(310)에 대한 리프레쉬 레이트 파라미터들, 또는 메모리 디바이스(310)와 연관된 동작 모드에 관련된 정보를 표시할 수 있다. 동작 모드는 메모리 디바이스(310)가 안전 모드에 따라 동작하는지 여부의 표시를 포함할 수 있다. 안전 모드는 (예를 들어, 실행되는 명령들의 유형을 제한함으로써, 명령들을 실행하기 위해 메모리 디바이스(310)의 메모리 어레이(325)의 일부를 제한함으로써) 메모리 디바이스(310)의 동작의 제한에 해당할 수 있다.
메모리 인터페이스(315)는 (예를 들어, 호스트 디바이스(305)에 의해 폴링(poll)될 수 있는) 모드 레지스터에 메모리의 상태의 표시자를 출력할 수 있다. 메모리 인터페이스(315)는 또한 추후의 검색을 위해 모드 레지스터에 제2 데이터를 저장할 수 있다. 메모리 인터페이스(315)는 모드 레지스터에 메모리의 상태를 나타내는 표시자를 저장하고, 에러 상태의 표시자를 채널별로 호스트 디바이스(305)로 출력할 수 있다.
다수의 상이한 가능한 에러 상태들을 통신하기 위한 방법을 메모리 디바이스(310)에 제공함으로써, 시스템(300)은 더 높은 신뢰성으로 동작할 수 있다. 더 많은 세분화도로 에러 상태를 표시하는 것(예를 들어, 더 많은 수량의 가능한 에러 상태들로부터 에러 상태를 표시하는 것)은 판독 동작 동안 메모리 디바이스(310)로부터 수신된 데이터의 신뢰성에 관한 더 많은 정보를 호스트 디바이스(305)에 제공할 수 있다. 이는 메모리 시스템(300)의 신뢰성을 더욱 향상시킬 수 있다.
도 4는 본 출원에 개시된 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 타이밍도(400)의 예를 예시한다. 타이밍도(400)는 메모리 어레이(325)에 저장된 데이터를 출력하기 위한 판독 동작의 절차들을 도시한다. 타이밍도(400)는 도 3을 참조하여 설명된 호스트 디바이스(305)와 메모리 디바이스(310) 사이의 채널들과 연관된 (예를 들어, 시간의 함수로서 전압 레벨들에 대응할 수 있는) 다양한 로직 상태들을 도시한다. 따라서, 타이밍도(400)는 도 1, 2 및 3을 참조하여 본 출원에 설명된 하나 이상의 채널 상의 신호 송신을 예시할 수 있다. 구체적으로, 타이밍도(400)는 메모리 디바이스가 에러 표시자 채널에 의해 에러 상태의 표시자를 출력할 때 판독 동작 동안 하나 이상의 채널들 상의 신호 송신들을 예시할 수 있다. 도 4에서 사용되는 시간 및 전압 스케일들은 단지 예시를 위한 것이며, 일부 경우들에서 특정 값들을 반드시 도시할 필요는 없다. 타이밍도(400)는 CK 채널(488), CA 채널(386), WCK 채널(494), DQ 채널(490), 및 에러 표시자 채널(492)을 포함하며, 이들은 도 1 및 도 3을 참조하여 논의된 대응하는 채널들의 예들일 수 있다.
시간(405)에서, 메모리 디바이스는 CA 채널(486)에 의해 호스트 디바이스로부터 제1 판독 명령을 수신할 수 있다. 메모리 디바이스는 CK 채널(488) 상의 신호의 천이에서 판독 명령을 수신할 수 있다. 시간(410)에서, 메모리 디바이스는 CA 채널(486)에 의해 호스트 디바이스로부터 제2 판독 명령을 수신할 수 있다.
시간(415)에서, 메모리 디바이스는 제1 판독 동작에 대응하는 데이터를 DQ 채널(490)에 의해 출력하기 시작할 수 있다. 메모리 디바이스는 WCK 채널(494)에 의해 제공된 타이밍 기준에 따라 데이터를 출력할 수 있다. 시간(405)과 시간(415) 사이의 시간은 제1 판독 동작과 연관된 레이턴시에 대응할 수 있다. 메모리 디바이스는 시간(415)부터 시간(425)까지의 버스트 간격 동안 판독 동작에 대응하는 데이터를 출력할 수 있다. 여기서, 버스트 간격은 (예를 들어, WCK 채널 (494) 상의 신호에 의해 표시된 바와 같이) 열여섯(16)개의 사이클들에 대응할 수 있다. DQ 채널(490)이 여덟(8)의 폭을 갖는 경우(예를 들어, 여덟(8) 핀들을 포함함), 판독 동작은 128 비트의 데이터에 대응할 수 있다. 일부 경우에, DQ 채널은 16의 폭을 가질 수 있다. 여기서, 판독 동작은 256 비트의 데이터에 대응할 수 있다.
시간(415)으로부터 시간(425)까지의 버스트 간격 동안, 메모리 디바이스는 에러 표시자 채널(492)에 의해 에러 상태의 표시자(예를 들어, 시간(415)으로부터 시간(425)까지의 DQ 채널(490) 상의 데이터에 대응함)를 호스트 디바이스에 출력할 수 있다. 에러 표시자 채널(492)은 다기능 채널일 수 있다. 일부 경우에, 에러 표시자 채널(492)은 DMI 핀일 수 있다. 에러 표시자 채널(492)이 DMI 핀에 대응할 때, 버스트 간격의 일부(예를 들어, 시간(420)으로부터 시간(425)까지)는 다른 통신들을 위해 사용될 수 있다. 예를 들어, DMI 핀 상의 마지막 아홉(9) 비트들은 링크 ECC 정보를 포함할 수 있다. 즉, 메모리 디바이스는 SEC 또는 SECDED 동작을 수행하여 링크 ECC를 위한 에러 검출 및 정정 정보를 생성하고, 버스트 간격의 마지막 부분(예를 들어, 마지막 아홉(9)비트) 내에서 에러 검출 및 정정 정보를 출력할 수 있다.
에러 표시자 채널(492)이 DMI 핀이면, 시간(415)으로부터 시간(420)까지 에러 표시자 채널(492)에 의해 출력되는 신호는 에러 상태의 표시자일 수 있다. 즉, 버스트 간격의 제1 부분(예를 들어, 열여섯(16)개의 비트들 중 첫 번째 7개)은 에러 상태를 나타낼 수 있는 반면, 제2 부분(예를 들어, 마지막 아홉(9)개의 비트들)은 링크 ECC 정보를 나타낸다. 일부 경우에, 제1 부분의 각각의 비트는 동일할 수 있다. 여기서, 에러 상태의 표시자는 가능한 두 개의 에러 상태 중 하나를 나타낼 수 있다. 일부 다른 경우들에서, 더 많은 가능한 에러들의 상태들 또는 표시자가 버스트 간격의 제 1 부분의 서브세트 상에서 출력되도록 허용하는 더 적은 중복성이 존재할 수도 있다. 일부 경우들에서, 에러 상태는 (예를 들어, 버스트 간격의 제 1 부분 이외의) 버스트 간격의 비트들의 상이한 부분에서 출력될 수 있다.
예를 들어, 에러 상태를 결정하는 것은 버스트 간격 이전에 이용가능한 것보다 더 많은 시간을 수반할 수 있고, 버스트 간격의 시작에서 출력되지 않을 수 있다. 따라서, 에러의 상태는 마지막 부분에서, 또는 버스트 간격 전체에 걸쳐 분포될 수 있는 비트들에(예를 들어, 링크 ECC 비트들 사이에서, 콤 패턴(comb pattern)으로) 출력될 수 있다. DQ 채널이 임계치(예를 들어, 열여섯(16)개)를 만족하는 폭을 갖는다면, 에러 표시자 채널(492)은 하나 초과의 DMI 핀을 포함할 수 있고, 여기서 DMI 핀들 각각은 DQ 채널(490)의 별개의 세트(예를 들어, 여덟(8)개의 핀들)에 대응한다. 따라서, 에러 표시자 채널(492)은 DQ 채널(490)에 의해 출력된 데이터의 절반에 대한 에러 상태를 표시할 수 있다.
에러 표시자 채널(492)은 상이한 유형의 채널(예를 들어, ZQ 채널)일 수 있다. 에러 표시자 채널(492)의 기능에 따라, 에러 표시자 채널(492)은 에러의 상태를 표시하는 다양한 수량의 비트들을 포함할 수 있다. 이는 에러들의 가능한 상태들의 높은 가능한 정도의 세분화도를 허용할 수 있다. 예를 들어, 전체 버스트 간격이 에러 상태의 표시자를 출력하는데 이용 가능하다면, 시간(415)으로부터 시간(425)까지의 에러 표시자 채널(492) 상의 전체 신호는 에러 상태의 표시에 대응할 수 있다. 따라서, 표시된 최대 2N개의 가능한 에러 상태들이 있을 수 있으며, 여기서 N는 버스트 간격에서의 사이클들의 수량이다. 대안적으로, 2N 미만의 가능한 에러 상태들이 존재할 수 있지만, 더 높은 정도의 중복성(예를 들어, 표시자는 한번 초과로 송신 또는 코딩될 수 있다)을 갖는다.
일부 경우에, 에러 상태의 표시자는 에러 표시자 채널(492) 대신에 DQ 채널(490)에 의해 출력될 수 있다. 예를 들어, 판독 동작을 위한 데이터가 시간(425)에서 DQ 채널(490)에 의해 출력된 후, DQ 채널(490)은 데이터와 연관된 에러 상태의 표시자를 출력할 수 있다. DQ 채널(490)이 여덟(8)의 데이터 핀들을 포함하면, 데이터 핀들 중 하나 이상은 시간(425) 이후의 클록 사이클(예를 들어, 열여섯(16)개의 버스트 길이에 대한 17번째 클록 사이클)에서의 에러 상태의 표시자를 출력할 수 있다.
에러 상태의 표시자가 에러 표시자 채널(492)에 의해 출력되고 있는 경우, 메모리 디바이스는 시간(425)에서 제2 판독 동작에 대응하는 데이터를 DQ 채널(490)에 의해 출력하기 시작할 수 있다. 410에서 425 사이의 시간은 제 2 판독 동작과 관련된 레이턴시에 대응할 수 있다. 메모리 디바이스는 시간(425)부터 시간(435)까지의 버스트 간격 동안 판독 동작에 대응하는 데이터를 출력할 수 있다. 다시, 버스트 간격은 (예를 들어, WCK 채널 (494) 상의 신호에 의해 표시된) 열여섯(16)개의 사이클들에 대응할 수 있다. 시간(425)으로부터 시간(435)까지의 버스트 간격 동안, 메모리 디바이스는 에러 표시자 채널(492)에 의해 에러 상태의 표시자(예를 들어, 시간(425)으로부터 시간(435)까지의 DQ 채널(490) 상의 데이터에 대응함)를 호스트 디바이스에 출력할 수 있다. 에러 표시자 채널(492)이 DMI 핀에 대응하면, 에러 상태의 표시자는 시간(425)으로부터 시간(430)까지의 버스트 간격의 첫번째 일곱(7) 사이클들 동안 출력될 수 있다.
도 5는 본 출원에 개시된 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 프로세스 흐름(500)의 예를 예시한다. 프로세스 흐름(500)은 도 1 내지 3을 참조하여 설명된 시스템들(100 및 300) 및 메모리 다이(200)의 양태들을 구현할 수 있다. 프로세스 흐름(500)은, 도 3을 참조하여 설명된 호스트 디바이스(305)의 예일 수 있는 호스트 디바이스(505)에 의해 수행되는 동작들을 포함할 수 있다. 호스트 디바이스(505)는 도 1을 참조하여 설명된 외부 메모리 컨트롤러(105)의 양태들을 구현할 수 있다. 프로세스 흐름(500)은, 도 1 내지 3을 참조하여 설명된 메모리 디바이스(110), 메모리 어레이(170), 또는 메모리 다이(200), 또는 메모리 디바이스(310)의 예일 수 있는 메모리 디바이스(510)에 의해 수행되는 동작들을 더 포함할 수 있다.
515에서, 메모리 디바이스(510)는 호스트 디바이스(505)로부터 판독 명령을 수신할 수 있다.
520에서, 메모리 디바이스(510)는 판독 명령에 기초하여 메모리 어레이의 제1 데이터를 판독할 수 있다.
525에서, 메모리 디바이스(510)는 제2 데이터 및 제2 데이터의 에러 상태의 표시자를 획득하기 위해 제1 데이터에 에러 정정 동작을 수행한다. 일 예에서, 에러 상태의 표시자는 적어도 3개의 에러 상태들 중 하나를 표시할 수 있다. 일 경우에, 적어도 3개의 에러 상태들은 검출가능한 에러 없음, 정정된 에러, 또는 앨리어싱된 에러를 포함할 수 있다. 다른 경우에, 적어도 3개의 에러 상태는 검출가능한 에러 없음, 정정된 에러, 또는 정정되지 않은 에러를 포함할 수 있다. 세 번째 경우에서, 적어도 3개의 에러 상태들은 검출가능한 에러 없음, 정정된 단일-비트 에러, 검출된 이중-비트 에러, 정정된 삼중-비트 에러, 검출된 삼중-비트 정정되지 않은 에러, 정정된 홀수 에러, 검출된 홀수 정정되지 않은 에러, 정정된 짝수 에러, 또는 검출된 짝수 정정되지 않은 에러를 포함한다.
다른 예에서, 에러 상태의 표시자는 정정된 에러 또는 검출가능한 에러가 없음을 표시한다.
530에서, 메모리 디바이스(510)는 버스트 간격 동안 데이터 및 에러 상태의 표시자를 호스트 디바이스(505)에 출력할 수 있다. 데이터는 제1 데이터 또는 제2 데이터 중 하나일 수 있다. 메모리 디바이스(510)는 메모리 디바이스(510)의 제1 채널을 이용하여 데이터를 출력하고, 메모리 디바이스(510)의 제2 채널을 이용하여 에러 상태의 표시자를 출력할 수 있다. 일부 경우에, 제1 채널과 제2 채널은 서로 다른 채널일 수 있다. 예를 들어, 제1 채널은 데이터 채널일 수 있다. 제2 채널은 제1 채널의 임피던스 교정과 연관될 수 있다. 다른 경우에, 제1 및 제2 채널은 동일한 채널일 수 있다. 예를 들어, 메모리 디바이스(510)는 제1 데이터 또는 제2 데이터를 출력하고 (예를 들어, 동일 채널에 의해) 에러 상태 표시자를 순차적으로 출력할 수 있다.
버스트 간격(예를 들어, 메모리 디바이스(510)가 데이터 및 에러 상태의 표시자를 출력하는 동안)은 사이클들의 세트를 포함할 수 있다. 메모리 디바이스(510)는 메모리 디바이스(510)의 제1 채널을 이용하여 제1 데이터 또는 제2 데이터를 사이클들의 세트에 걸쳐 출력할 수 있다. 메모리 디바이스(510)는 메모리 디바이스(510)의 제2 채널을 사용하여 사이클들의 세트의 제1 부분에 걸쳐 에러 상태의 표시자를 출력할 수 있다. 메모리 디바이스(510)는 제2 채널을 사용하여 사이클들의 세트의 제2 부분에 걸쳐 링크 ECC를 출력할 수 있다. 사이클들의 세트의 제2 부분은 사이클들의 세트의 제1 부분 전에 발생할 수 있다(예를 들어, 메모리 디바이스(510)는 에러 상태의 표시자를 출력하기 전에 링크 ECC를 출력할 수 있다).
535에서, 메모리 디바이스(510)는 에러 정정 동작을 수행하는 것에 기초하여 메모리 디바이스(510)에서의 레지스터에 에러 상태의 표시자를 옵션으로 저장할 수 있다. 일부 경우에, 에러 상태의 표시자를 출력하는 것은 에러 상태의 표시자를 레지스터에 저장하는 것에 기초한다. 호스트 디바이스(505)는 옵션으로 에러 상태의 표시자를 수신하기 위해 레지스터를 폴링할 수 있다.
도 6은 본 출원에 개시된 예에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 메모리 디바이스(605)의 블록도(600)를 도시한다. 메모리 디바이스(605)는 도 1, 3 및 5을 참조하여 설명된 메모리 디바이스의 양태들의 예일 수 있다. 메모리 디바이스(605)는 판독 명령 수신기(610), 데이터 판독 관리자(615), 에러 정정 컴포넌트(620), 출력 관리자(625), 및 표시자 저장 컴포넌트(630)를 포함할 수 있다. 이들 모듈들 각각은 (예를 들어, 하나 이상의 버스들을 통해) 서로 직접 또는 간접적으로 통신할 수 있다.
판독 명령 수신기(610)는 메모리 어레이를 포함하는 메모리 디바이스에서 호스트 디바이스로부터 판독 명령을 수신할 수 있다.
데이터 판독 관리자(615)는 판독 명령에 기반하여 메모리 어레이의 제 1 데이터를 판독할 수 있다.
에러 정정 컴포넌트(620)는 제1 데이터에 대한 에러 정정 동작을 수행하여 제2 데이터 및 제2 데이터의 에러 상태의 표시자를 획득할 수 있다. 제1 예에서, 표시자는 적어도 3개의 에러 상태들 중 하나를 표시할 수 있다. 일부 경우에, 적어도 3개의 에러 상태는 검출가능한 에러 없음, 정정된 에러, 또는 앨리어싱된 에러를 포함한다. 일부 다른 경우에, 적어도 3개의 에러 상태는 검출가능한 에러 없음, 정정된 에러, 또는 정정되지 않은 에러를 포함한다. 일부 다른 경우들에서, 적어도 3개의 에러 상태들은 검출가능한 에러 없음, 정정된 단일 비트 에러, 검출된 이중 비트 에러, 정정된 삼중 비트 에러, 검출된 삼중 비트 정정되지 않은 에러, 정정된 홀수 에러, 검출된 홀수 정정되지 않은 에러, 정정된 짝수 에러, 또는 검출된 짝수 정정되지 않은 에러를 포함한다. 제2 예에서, 표시자는 정정된 에러 또는 검출가능한 에러 없음을 나타낼 수 있다.
출력 관리자(625)는 메모리 디바이스의 제1 채널을 이용하여 제1 데이터 또는 제2 데이터 중 하나를 출력하고, 메모리 디바이스의 제2 채널을 이용하여 에러 상태의 표시자를 출력할 수 있다. 일부 경우에, 제2 채널은 제1 채널과 다를 수 있다. 일부 예들에서, 제 2 채널은 제 1 채널의 임피던스 교정과 연관된다. 일부 경우에, 출력 관리자(625)는 에러의 표시자를 출력하기 전에 제2 채널을 이용하여 링크 에러 정정 코드를 출력할 수 있다. 일부 예들에서, 출력 관리자(625)는 제1 데이터 또는 제2 데이터를 출력하는 것에 순차로 에러 상태의 표시자를 출력한다.
버스트 간격은 복수의 사이클들을 포함할 수 있다. 여기서, 출력 관리자(625)는 메모리 디바이스의 제1 채널을 이용하여 제1 데이터 또는 제2 데이터를 사이클의 세트에 걸쳐 출력할 수 있다. 출력 관리자(625)는 제1 채널과는 상이한 메모리 디바이스의 제2 채널을 사용하여 사이클들의 세트의 제1 부분에 걸쳐 에러 상태의 표시자를 추가로 출력할 수 있다. 일부 예들에서, 출력 관리자(625)는 제2 채널을 사용하여 사이클들의 세트의 제2 부분에 걸쳐 링크 에러 정정 코드를 출력한다. 일부 경우들에서, 사이클들의 세트의 제 2 부분은 사이클들의 세트의 제 1 부분 전에 발생한다.
표시자 저장 컴포넌트(630)는 에러 정정 동작의 수행에 기초하여 에러 상태의 표시자를 메모리 디바이스의 레지스터에 저장할 수 있다. 일부 예들에서, 표시자 저장 컴포넌트(630)는 버스트 간격 동안 레지스터에 에러 상태의 표시자를 저장하며, 여기서 에러 상태의 표시자를 출력하는 것은 레지스터에 에러 상태의 표시자를 저장하는 것에 기초한다.
도 7은 본 개시의 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 방법 또는 방법들(700)을 예시하는 흐름도를 도시한다. 방법(700)의 동작들은 본 출원에 설명된 메모리 디바이스 또는 그의 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(700)의 동작들은 도 6을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다. 일부 예들에서, 메모리 디바이스는 설명된 기능들을 수행하기 위해 메모리 디바이스의 기능 엘리먼트들을 제어하기 위한 명령어들의 세트를 실행한다. 추가적으로 또는 대안적으로, 메모리 디바이스는 특수 목적 하드웨어를 사용하여 설명된 기능들의 양태들을 수행할 수 있다.
705에서, 메모리 어레이를 포함하는 메모리 디바이스는 호스트 디바이스로부터 판독 명령을 수신할 수 있다. 705의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 705의 동작들의 양태들은 도 6을 참조하여 설명된 판독 명령 수신기에 의해 수행될 수 있다.
710에서, 메모리 디바이스는 판독 명령에 기초하여 메모리 어레이의 제1 데이터를 판독할 수 있다. 710의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 710의 동작들의 양태들은 도 6을 참조하여 설명된 데이터 판독 관리자에 의해 수행될 수 있다.
715에서, 메모리 디바이스는 제2 데이터 및 제2 데이터의 에러 상태의 표시자를 획득하기 위해 제1 데이터에 대한 에러 정정 동작을 수행할 수 있다. 715의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 715의 동작들의 양태들은 도 6을 참조하여 설명된 에러 정정 컴포넌트에 의해 수행될 수 있다.
720에서, 메모리 디바이스는 버스트 간격 동안 호스트 디바이스로, 메모리 디바이스의 제1 채널을 사용하여 제1 데이터 또는 제2 데이터 중 하나를 그리고 제1 채널과 상이한 메모리 디바이스의 제2 채널을 사용하여 에러 상태의 표시자를 출력할 수 있으며, 여기서 표시자는 적어도 3개의 에러 상태 중 하나를 표시한다. 720의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 720의 동작들의 양태들은 도 6을 참조하여 설명된 출력 관리자에 의해 수행될 수 있다.
일부 예들에서, 본 출원에 설명된 장치는 방법(700)과 같은 방법 또는 방법들을 수행할 수 있다. 장치는, 메모리 어레이를 포함하는 메모리 디바이스에서, 호스트 디바이스로부터 판독 명령을 수신하는 것, 판독 명령에 기초하여 메모리 어레이의 제 1 데이터를 판독하는 것, 제 2 데이터 및 제 2 데이터에서의 에러 상태의 표시자를 획득하기 위해 제 1 데이터에 대해 에러 정정 동작을 수행하는 것, 및 버스트 간격 동안 호스트 디바이스로, 메모리 디바이스의 제 1 채널을 사용하여 제 1 데이터 또는 제 2 데이터 중 하나를 그리고 제 1 채널과는 상이한 메모리 디바이스의 제 2 채널을 사용하여 에러 상태의 표시자를 출력하는 것을 위한 특징들, 수단들, 또는 명령어들 (예를 들어, 프로세서에 의해 실행가능한 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체)을 포함할 수도 있으며, 여기서 표시자는 적어도 3 개의 에러 상태들 중 하나를 표시한다.
본 출원에 설명된 방법(700) 및 장치의 일부 예들에서, 버스트 간격은 메모리 디바이스의 제1 채널을 사용하여 사이클들의 세트에 걸쳐 제1 데이터 또는 제2 데이터를 출력하고, 제1 채널과는 상이한 메모리 디바이스의 제2 채널을 사용하여 사이클들의 세트의 제1 부분에 걸쳐 에러 상태의 표시자를 출력하기 위한 동작들, 특징들, 수단들 또는 명령어들을 포함할 수 있다.
본 출원에서 설명된 방법 (700) 및 장치의 일부 예들은 제 2 채널을 사용하여 사이클들의 세트의 제 2 부분에 걸쳐 링크 에러 정정 코드를 출력하기 위한 동작들, 특징들, 수단들, 또는 명령어들을 더 포함할 수도 있다.
본 출원에 설명된 방법(700) 및 장치의 일부 경우들에서, 사이클들의 세트의 제2 부분은 사이클들의 세트의 제1 부분 전에 발생한다.
본 출원에 설명된 방법(700) 및 장치의 일부 경우들에서, 제2 채널은 제1 채널의 임피던스 교정(impedance calibration)과 연관될 수 있다.
본 출원에 설명된 방법(700) 및 장치의 일부 예들은, 제1 데이터 또는 제2 데이터를 출력하고 순차로 에러 상태의 표시자를 출력하기 위한 동작들, 특징들, 수단들, 또는 명령어들을 더 포함할 수 있다.
본 출원에 설명된 방법(700) 및 장치의 일부 경우들은 에러 정정 동작을 수행하는 것에 기초하여 메모리 디바이스에서의 레지스터에 에러 상태의 표시자를 저장하기 위한 동작들, 특징들, 수단들 또는 명령어들을 더 포함할 수 있다.
본원에 설명된 방법(700) 및 장치의 일부 경우들에서, 적어도 3개의 에러 상태들은 검출가능한 에러 없음, 정정된 에러, 또는 앨리어싱된 에러를 포함한다.
본원에 설명된 방법(700) 및 장치의 일부 예들에서, 적어도 3개의 에러 상태들은 검출가능한 에러 없음, 정정된 에러, 또는 정정되지 않은 에러를 포함한다.
본 출원에 설명된 방법(700) 및 장치의 일부 경우들에서, 적어도 3개의 에러 상태들은 검출가능한 에러 없음, 정정된 단일 비트 에러, 검출된 이중 비트 에러, 정정된 삼중 비트 에러, 검출된 삼중 비트 정정되지 않은 에러, 정정된 홀수 에러, 검출된 홀수 정정되지 않은 에러, 정정된 짝수 에러, 또는 검출된 짝수 정정되지 않은 에러를 포함한다.
도 8은 본 개시의 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 방법 또는 방법들(800)을 예시하는 흐름도를 도시한다. 방법(800)의 동작들은 본 출원에 설명된 메모리 디바이스 또는 그의 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(800)의 동작들은 도 6을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다. 일부 예들에서, 메모리 디바이스는 설명된 기능들을 수행하도록 메모리 디바이스의 기능 엘리먼트들을 제어하기 위한 명령어들의 세트를 실행할 수 있다. 추가적으로 또는 대안적으로, 메모리 디바이스는 특수 목적 하드웨어를 사용하여 설명된 기능들의 양태들을 수행할 수 있다.
805에서, 메모리 디바이스는, 메모리 어레이를 포함하는 메모리 디바이스에서, 호스트 디바이스로부터 판독 명령을 수신할 수 있다. 805의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 805의 동작들의 양태들은 도 6을 참조하여 설명된 판독 명령 수신기에 의해 수행될 수 있다.
810에서, 메모리 디바이스는 판독 명령에 기초하여 메모리 어레이의 제1 데이터를 판독할 수 있다. 810의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 810의 동작들의 양태들은 도 6을 참조하여 설명된 데이터 판독 관리자에 의해 수행될 수 있다.
815에서, 메모리 디바이스는 제2 데이터 및 제2 데이터의 에러 상태의 표시자를 획득하기 위해 제1 데이터에 대한 에러 정정 동작을 수행할 수 있다. 815의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 815의 동작들의 양태들은 도 6을 참조하여 설명된 에러 정정 컴포넌트에 의해 수행될 수 있다.
820 및 825에서, 메모리 디바이스는 버스트 간격 동안 호스트 디바이스로, 메모리 디바이스의 제1 채널을 사용하여 제1 데이터 또는 제2 데이터 중 하나를 그리고 제1 채널과 상이한 메모리 디바이스의 제2 채널을 사용하여 에러 상태의 표시자를 출력할 수 있으며, 여기서 표시자는 적어도 3개의 에러 상태 중 하나를 표시한다.
820에서, 메모리 디바이스는 메모리 디바이스의 제1 채널을 사용하여 사이클들의 세트에 걸쳐 제1 데이터 또는 제2 데이터를 출력할 수 있다. 820의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 820의 동작들의 양태들은 도 6을 참조하여 설명된 출력 관리자에 의해 수행될 수 있다.
825에서, 메모리 디바이스는 제1 채널과는 상이한 메모리 디바이스의 제2 채널을 사용하여 사이클들의 세트의 제1 부분에 걸쳐 에러 상태의 표시자를 출력할 수 있다. 825의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 825의 동작들의 양태들은 도 6을 참조하여 설명된 출력 관리자에 의해 수행될 수 있다.
도 9는 본 개시의 예들에 따른 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스를 지원하는 방법 또는 방법들(900)을 예시하는 흐름도를 도시한다. 방법(900)의 동작들은 본 출원에 설명된 메모리 디바이스 또는 그의 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(900)의 동작들은 도 6을 참조하여 설명된 메모리 디바이스에 의해 수행될 수 있다. 일부 예들에서, 메모리 디바이스는 설명된 기능들을 수행하도록 메모리 디바이스의 기능 엘리먼트들을 제어하기 위한 명령어들의 세트를 실행할 수 있다. 추가적으로 또는 대안적으로, 메모리 디바이스는 특수 목적 하드웨어를 사용하여 설명된 기능들의 양태들을 수행할 수 있다.
905에서, 메모리 디바이스는, 메모리 어레이를 포함하는 메모리 디바이스에서, 호스트 디바이스로부터 판독 명령을 수신할 수 있다. 905의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 905의 동작들의 양태들은 도 6을 참조하여 설명된 판독 명령 수신기에 의해 수행될 수 있다.
910에서, 메모리 디바이스는 판독 명령에 기초하여 메모리 어레이의 제1 데이터를 판독할 수 있다. 910의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 910의 동작들의 양태들은 도 6을 참조하여 설명된 데이터 판독 관리자에 의해 수행될 수 있다.
915에서, 메모리 디바이스는 제2 데이터 및 제2 데이터에서의 에러 상태의 표시자를 획득하기 위해 제1 데이터에 대한 에러 정정 동작을 수행할 수 있으며, 여기서 표시자는 정정된 에러 또는 검출가능한 에러가 없음을 표시한다. 915의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 915의 동작들의 양태들은 도 6을 참조하여 설명된 에러 정정 컴포넌트에 의해 수행될 수 있다.
920에서, 메모리 디바이스는 버스트 간격 동안 호스트 디바이스로, 제1 채널을 사용하여 제1 데이터 또는 제2 데이터 중 하나를 그리고 제2 채널을 사용하여 에러 상태의 표시자를 출력할 수 있다. 920의 동작들은 본 출원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 920의 동작들의 양태들은 도 6을 참조하여 설명된 출력 관리자에 의해 수행될 수 있다.
일부 예들에서, 본 출원에 설명된 디바이스는 방법(900)과 같은 방법 또는 방법들을 수행할 수 있다. 디바이스는, 메모리 어레이를 포함하는 메모리 디바이스에서, 호스트 디바이스로부터 판독 명령을 수신하는 것, 판독 명령에 기초하여 메모리 어레이의 제 1 데이터를 판독하는 것, 제 2 데이터 및 제 2 데이터에서의 에러 상태의 표시자를 획득하기 위해 제 1 데이터에 대해 에러 정정 동작을 수행하는 것, 여기서 표시자는 정정된 에러 또는 검출가능한 에러가 없음을 표시하며, 버스트 간격 동안 호스트 디바이스로, 제 1 채널을 사용하여 제 1 데이터 또는 제 2 데이터 중 하나를 그리고 제 2 채널을 사용하여 에러 상태의 표시자를 출력하는 것을 위한 특징, 수단 또는 명령어들 (예를 들어, 프로세서에 의해 실행가능한 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체)을 포함할 수 있다.
본 출원에서 설명된 방법 (900) 및 장치의 일부 예들은 에러의 표시자를 출력하기 전에 제 2 채널을 사용하여 링크 에러 정정 코드를 출력하기 위한 동작들, 특징들, 수단들, 또는 명령어들을 더 포함할 수 있다.
본원에 설명된 방법 (900) 및 장치의 일부 경우들에서, 제 2 채널은 제 1 채널의 임피던스 교정과 연관될 수 있다.
본 출원에 설명된 방법(900) 및 장치의 일부 경우들은, 채널을 사용하여, 제1 데이터 또는 제2 데이터를 출력하고 순차로 에러 상태의 표시자를 출력하기 위한 동작들, 특징들, 수단들, 또는 명령어들을 더 포함할 수 있다.
본 출원에 설명된 방법(900) 및 장치의 일부 예들은 버스트 간격 동안 레지스터에 에러 상태의 표시자를 저장하기 위한 동작들, 특징들, 수단들 또는 명령어들을 더 포함할 수 있으며, 여기서 에러 상태의 표시자를 출력하는 것은 레지스터에 에러 상태의 표시자를 저장하는 것에 기초할 수 있다.
위에서 설명된 방법들은 가능한 구현들을 설명하며, 동작들 및 단계들은 재배열되거나 그렇지 않으면 수정될 수 있고, 다른 구현들이 가능하다는 점에 유의해야 한다. 또한, 방법들 중 둘 이상으로부터의 양태들이 조합될 수 있다.
일부 예들에서, 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스에 대응하는 디바이스는 범용 또는 특수 목적 하드웨어를 사용하여 본 출원에 설명된 기능의 양태들을 수행할 수 있다. 장치는, 각각 용량성 저장 소자들을 포함하는 메모리 셀들의 어레이, 호스트 디바이스로부터 판독 명령을 수신하도록 구성된 인터페이스, 인터페이스 및 메모리 셀들의 어레이와 결합되고 판독 명령에 기초하여 메모리 셀들의 어레이로부터 제1 데이터를 판독하도록 구성된 제1 회로, 및 제1 회로에 결합되고 제2 데이터 및 제2 데이터에서의 에러 상태의 표시자를 획득하기 위해 제1 데이터에 대해 에러 정정 동작을 수행하도록 구성된 제2 회로를 포함할 수 있고, 에러 상태의 표시자는 적어도 3개의 에러 상태 중 하나를 표시한다. 인터페이스는 버스트 간격 동안 에러 상태의 표시자 및 제1 데이터 또는 제2 데이터 중 하나를 호스트 디바이스와 통신하도록 구성될 수 있다.
일부 예들에서, 버스트 간격은 사이클들의 세트를 포함하고, 인터페이스는 제 1 채널을 통해 사이클들의 세트에 걸쳐 제 1 데이터 또는 제 2 데이터를 출력하고, 제 1 채널과는 상이한 제 2 채널을 통해 사이클들의 세트의 제 1 부분에 걸쳐 에러 상태의 표시자를 출력하도록 구성된다.
일부 경우들에서, 제 2 채널은 사이클들의 세트의 제 2 부분을 통해 링크 에러 정정 코드를 통신하도록 추가로 구성된다.
일부 경우들에서, 사이클들의 세트의 제2 부분은 사이클들의 세트의 제1 부분 전에 발생한다.
일부 예들에서, 인터페이스는 제1 채널을 통해 제1 데이터 또는 제2 데이터를 통신하고 순차로 제1 채널을 통해 에러 상태의 표시자를 통신하도록 추가로 구성된다.
일부 경우에, 적어도 3개의 에러 상태는 검출가능한 에러 없음, 정정된 에러, 또는 앨리어싱된 에러를 포함한다. 일부 다른 경우에, 적어도 3개의 에러 상태는 검출가능한 에러 없음, 정정된 에러, 또는 정정되지 않은 에러를 포함한다. 일부 다른 경우들에서, 적어도 3개의 에러 상태들은 검출불가능한 에러, 정정된 단일 비트 에러, 검출된 이중 비트 에러, 정정된 삼중 비트 에러, 검출된 삼중 비트 정정되지 않은 에러, 정정된 홀수 에러, 검출된 홀수 정정되지 않은 에러, 정정된 짝수 에러, 또는 검출된 짝수 정정되지 않은 에러를 포함한다.
본 출원에 설명된 정보 및 신호들은 다양한 상이한 기술들 및 기술들 중 임의의 것을 사용하여 표현될 수 있다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수 있는 데이터, 명령들, 명령어들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 조합에 의해 표현될 수 있다. 일부 도면들은 신호들을 단일 신호로서 예시할 수 있지만, 신호는 신호들의 버스를 나타낼 수 있으며, 여기서 버스는 다양한 비트 폭들을 가질 수 있다는 것이 당업자에 의해 이해될 것이다.
본 출원에서 사용되는, "가상 접지"라는 용어는 대략 0 볼트(0V)의 전압으로 유지되지만 접지와 직접 결합되지 않는 전기 회로의 노드를 지칭한다. 이에 따라, 가상 접지의 전압은 일시적으로 변동되어 정상 상태에서 대략 0V로 복귀할 수 있다. 가상 접지는 연산 증폭기와 저항으로 구성된 전압 분배기 등 다양한 전자 회로 소자를 이용하여 구현될 수 있다. 다른 구현예들도 가능하다. "가상 접지" 또는 "가상으로 접지된"는 약 0V에 연결됨을 의미합니다.
용어 "전자 통신", "전도성 접촉", "연결", 및 "결합"은 컴포넌트들 간의 신호의 흐름을 지원하는 컴포넌트들 간의 관계를 의미할 수 있다. 컴포넌트들은, 임의의 시간에, 컴포넌트들 사이의 신호들의 흐름을 지원할 수 있는 컴포넌트들 사이에 임의의 전도성 경로가 존재하는 경우, 서로 전자 통신하는(또는 서로 전도성 접촉 또는 연결되거나 결합되는) 것으로 간주된다. 임의의 주어진 시간에, 서로 전자 통신하는(또는 전도성 접촉 또는 연결되거나 결합되는) 컴포넌트들 사이의 전도성 경로는 연결된 컴포넌트들을 포함하는 디바이스의 동작에 기초하여 개방 회로 또는 폐쇄 회로일 수 있다. 연결된 컴포넌트들 사이의 전도성 경로는 컴포넌트들 사이의 직접 전도성 경로일 수 있거나, 연결된 컴포넌트들 사이의 전도성 경로는 스위치들, 트랜지스터들, 또는 다른 컴포넌트들과 같은 중간 컴포넌트들을 포함할 수 있는 간접 전도성 경로일 수 있다. 일부 경우들에서, 연결된 컴포넌트들 사이의 신호들의 흐름은 예를 들어, 스위치들 또는 트랜지스터들과 같은 하나 이상의 중간 컴포넌트들을 사용하여 일정 시간 동안 중단될 수 있다.
용어 "결합"은 신호가 현재 전도성 경로를 통해 컴포넌트들 사이에서 통신될 수 없는 컴포넌트들 사이의 개방-회로 관계로부터 신호가 전도성 경로를 통해 컴포넌트들 사이에서 통신될 수 있는 컴포넌트들 사이의 폐쇄-회로 관계로 이동하는 상태를 지칭한다. 컨트롤러와 같은 컴포넌트가 다른 컴포넌트들을 함께 결합할 때, 컴포넌트는, 이전에 신호들이 흐르는 것을 허용하지 않았던 전도성 경로를 통해 다른 컴포넌트들 사이에서 신호들이 흐르는 것을 허용하는 변경을 개시한다.
용어 "격리된"은 현재 신호가 흐를 수 없는 컴포넌트들 사이의 관계를 의미한다. 컴포넌트 사이에 열린 회로가 있으면 컴포넌트는 서로 격리된다. 예를 들어, 부품들 사이에 위치한 스위치에 의해 분리된 두 부품은 스위치가 열리면 서로 격리된다. 컨트롤러가 2개의 컴포넌트들을 격리시킬 때, 컨트롤러는 이전에 신호들이 흐르도록 허용한 전도성 경로를 사용하여 컴포넌트들 사이에서 신호들이 흐르는 것을 방지하는 변화에 영향을 미친다.
메모리 어레이를 포함하는 본 출원에서 논의된 디바이스들은 실리콘, 게르마늄, 실리콘-게르마늄 합금, 갈륨 비소, 갈륨 질화물 등과 같은 반도체 기판 상에 형성될 수 있다. 일부 경우에, 기판은 반도체 기판이다. 다른 경우에, 기판은 실리콘-온-글래스(SOG) 또는 실리콘-온-사파이어(SOP)와 같은 실리콘-온-절연체(SOI) 기판, 또는 다른 기판 상의 반도체 재료의 에피택셜 층일 수 있다. 기판 또는 기판의 서브-영역들의 전도성은 인, 붕소, 또는 비소를 포함하지만 이에 제한되지 않는 다양한 화학 종들을 사용하는 도핑을 통해 제어될 수 있다. 도핑은 기판의 초기 형성 또는 성장 동안, 이온 주입에 의해, 또는 임의의 다른 도핑 수단에 의해 수행될 수 있다.
본 출원에서 논의된 스위칭 컴포넌트 또는 트랜지스터는 전계 효과 트랜지스터(FET)를 나타낼 수 있고, 소스, 드레인 및 게이트를 포함하는 3 단자 디바이스를 포함할 수 있다. 단자들은 전도성 재료, 예를 들어 금속을 통해 다른 전자 소자들과 연결될 수 있다. 소스 및 드레인은 전도성일 수 있고, 고농도로 도핑된, 예를 들어, 축퇴성 반도체 영역을 포함할 수 있다. 소스 및 드레인은 저농도 도핑된 반도체 영역 또는 채널에 의해 분리될 수 있다. 채널이 n-형이면(즉, 다수 캐리어가 신호이면), FET는 n-형 FET로 지칭될 수 있다. 채널이 p-형이면(즉, 다수 캐리어가 홀이면), FET는 p-형 FET로 지칭될 수 있다. 채널은 절연 게이트 산화물로 캡핑될 수 있다. 채널 전도도는 게이트에 전압을 인가함으로써 제어될 수 있다. 예를 들어, n-형 FET 또는 p-형 FET에 각각 양의 전압 또는 음의 전압을 인가하는 것은 채널이 전도성이 되게 할 수 있다. 트랜지스터는 트랜지스터의 문턱 전압 이상의 전압이 트랜지스터 게이트에 인가될 때 "온" 또는 "활성화"될 수 있다. 트랜지스터는 트랜지스터 게이트에 트랜지스터의 문턱 전압보다 낮은 전압이 인가될 때 오프(off) 또는 비활성화될 수 있다.
첨부된 도면들과 관련하여 본 출원에 설명된 설명은 예시적인 구성들을 기술하며, 구현될 수 있거나 청구항들의 범위 내에 있는 모든 예들을 표현하지 않는다. 본 출원에서 사용되는 용어 "예시적인"은 "예시적인, 인스턴스, 또는 예시로서 작용하는 것"을 의미하고, "선호되는" 또는 "다른 예들에 비해 유리한 것"은 아니다. 상세한 설명은 설명된 기술의 이해를 제공하기 위한 특정 세부 사항을 포함한다. 그러나, 이러한 기술들은 이러한 특정 세부사항들 없이 실시될 수 있다. 일부 경우들에서, 잘 알려진 구조들 및 디바이스들은 설명된 예들의 개념들을 모호하게 하는 것을 피하기 위해 블록도 형태로 도시된다.
첨부된 도면들에서, 유사한 컴포넌트들 또는 특징들은 동일한 참조 라벨을 가질 수 있다. 또한, 동일한 유형의 다양한 컴포넌트들은 유사한 컴포넌트들을 구별하는 대시(dash) 및 제 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) ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 임의의 다른 비일시적 매체를 포함할 수 있다. 또한, 임의의 접속은 컴퓨터 판독가능 매체라고 적절하게 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 라인(DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 라인(DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다. 디스크 및 디스크는 CD, 레이저 디스크, 광학 디스크, DVD, 플로피 디스크 및 블루레이 디스크를 포함하며, 디스크는 일반적으로 데이터를 자기적으로 재생하고, 디스크는 레이저와 광학적으로 데이터를 재생한다. 상기의 조합들은 또한 컴퓨터 판독가능 매체의 범위 내에 포함된다.
본 출원에서의 설명은 통상의 지식을 가진 자가 본 개시를 만들거나 사용할 수 있도록 하기 위해 제공된다. 본 발명에 대한 다양한 변형들은 당업자에게 명백할 것이며, 본 출원에 정의된 일반적인 원리들은 본 발명의 범위를 벗어나지 않고 다른 변형들에 적용될 수 있다. 따라서, 본 개시는 본 출원에 설명된 예들 및 설계들에 제한되지 않지만, 본 출원에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위를 따른다.

Claims (23)

  1. 방법에 있어서,
    메모리 어레이를 포함하는 메모리 디바이스에서, 호스트 디바이스로부터 판독 명령을 수신하는 단계;
    상기 판독 명령에 적어도 부분적으로 기초하여 상기 메모리 어레이의 제1 데이터를 판독하는 단계;
    제2 데이터 및 상기 제2 데이터의 에러 상태의 표시자를 획득하기 위해 상기 제1 데이터에 대한 에러 정정 동작을 수행하는 단계; 및
    버스트 간격 동안 호스트 디바이스로, 상기 메모리 디바이스의 제1 채널을 사용하여 제1 데이터 또는 제2 데이터 중 하나를 그리고 상기 제1 채널과는 상이한 메모리 디바이스의 제2 채널을 사용하여 에러 상태의 표시자를 출력하는 단계를 포함하고, 상기 표시자는 적어도 3개의 에러 상태 중 하나를 표시하는, 방법.
  2. 제1항에 있어서, 상기 버스트 간격은 복수의 사이클들을 포함하고, 상기 방법은,
    상기 메모리 디바이스의 상기 제1 채널을 이용하여 상기 제1 데이터 또는 상기 제2 데이터를 상기 복수의 사이클들에 걸쳐 출력하는 단계; 및
    상기 제1 채널과 상이한 상기 메모리 디바이스의 상기 제2 채널을 사용하여 상기 복수의 사이클들의 제1 부분에 걸쳐 상기 에러 상태의 표시자를 출력하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서,
    상기 제2 채널을 사용하여 상기 복수의 사이클들의 제2 부분에 걸쳐 링크 에러 정정 코드를 출력하는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서, 상기 복수의 사이클들의 제2 부분은 상기 복수의 사이클들의 제1 부분 전에 발생하는, 방법.
  5. 제2항에 있어서, 상기 제 2 채널은 상기 제 1 채널의 임피던스 교정과 연관되는, 방법.
  6. 제1항에 있어서,
    상기 제1 데이터 또는 상기 제2 데이터를 출력하고 순차로 상기 에러 상태의 표시자를 출력하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서,
    상기 에러 정정 동작을 수행한 것에 적어도 부분적으로 기초하여 상기 에러 상태의 표시자를 상기 메모리 디바이스의 레지스터에 저장하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서, 상기 적어도 3개의 에러 상태는 검출가능한 에러 없음, 정정된 에러, 또는 앨리어싱된(aliased) 에러를 포함하는, 방법.
  9. 제1항에 있어서, 상기 적어도 3개의 에러 상태는 검출가능한 에러 없음, 정정된 에러, 또는 정정되지 않은 에러를 포함하는, 방법.
  10. 제1항에 있어서, 상기 적어도 3개의 에러 상태들은 검출가능한 에러 없음, 정정된 단일 비트 에러, 검출된 이중 비트 에러, 정정된 삼중 비트 에러, 검출된 삼중 비트 미정정 에러, 정정된 홀수 에러, 검출된 홀수 미정정 에러, 정정된 짝수 에러, 또는 검출된 짝수 미정정 에러를 포함하는, 방법.
  11. 방법에 있어서,
    메모리 어레이를 포함하는 메모리 디바이스에서, 호스트 디바이스로부터 판독 명령을 수신하는 단계;
    상기 판독 명령에 적어도 부분적으로 기초하여 상기 메모리 어레이의 제1 데이터를 판독하는 단계;
    제2 데이터 및 상기 제2 데이터의 에러 상태의 표시자를 획득하기 위해 상기 제1 데이터에 대한 에러 정정 동작을 수행하는 단계 - 상기 표시자는 정정된 에러 또는 검출가능한 에러 없음을 표시함 -; 및
    버스트 간격 동안 상기 호스트 디바이스로, 제1 채널을 사용하여 제1 데이터 또는 제2 데이터 중 하나를 그리고 제2 채널을 사용하여 에러 상태의 표시자를 출력하는 단계를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 에러의 표시자를 출력하기 전에 상기 제2 채널을 사용하여 링크 에러 정정 코드를 출력하는 단계를 더 포함하는, 방법.
  13. 제11항에 있어서, 상기 제2 채널은 상기 제1 채널의 임피던스 교정과 연관되는, 방법.
  14. 제11항에 있어서,
    채널을 이용하여, 데이터를 출력하고 순차로 상기 에러 상태의 표시자를 출력하는 단계를 더 포함하는, 방법.
  15. 제11항에 있어서,
    상기 버스트 간격 동안 레지스터에 상기 에러 상태의 표시자를 저장하는 단계로서, 상기 에러 상태의 표시자를 출력하는 단계는 레지스터에 상기 에러 상태의 표시자를 저장하는 것에 적어도 부분적으로 기초하는, 방법.
  16. 디바이스에 있어서,
    용량성 저장 소자들을 각각 포함하는 메모리 셀들의 어레이;
    호스트 디바이스로부터 판독 명령을 수신하도록 구성된 인터페이스;
    상기 인터페이스 및 상기 메모리 셀들의 어레이와 결합되고 상기 판독 명령에 적어도 부분적으로 기초하여 상기 메모리 셀들의 어레이로부터 제1 데이터를 판독하도록 구성된 제1 회로;
    상기 제1 회로에 결합되고, 제2 데이터 및 상기 제2 데이터에서의 에러 상태의 표시자를 획득하기 위해 상기 제1 데이터에 대한 에러 정정 동작을 수행하도록 구성된 제2 회로로서, 상기 에러 상태의 표시자는 적어도 3개의 에러 상태 중 하나를 표시하는, 상기 제2 회로를 포함하고, 및
    상기 인터페이스는 버스트 간격 동안 상기 호스트 디바이스와, 상기 에러 상태의 표시자 및 상기 제1 데이터 또는 상기 제2 데이터 중 하나를 통신하도록 구성된, 디바이스.
  17. 제16항에 있어서, 상기 버스트 간격은 복수의 사이클들을 포함하고, 상기 인터페이스는,
    상기 제1 데이터 또는 상기 제2 데이터를 상기 제1 채널을 통해 상기 복수의 사이클들에 걸쳐 출력하고; 및
    상기 제1 채널과는 상이한 제2 채널을 통해 복수의 사이클의 제1 부분에 걸쳐 에러 상태의 표시자를 출력하도록 구성된, 디바이스.
  18. 제17항에 있어서, 상기 제 2 채널은 상기 복수의 사이클들의 제 2 부분을 통해 링크 에러 정정 코드를 통신하도록 추가로 구성된, 디바이스.
  19. 제18항에 있어서, 상기 복수의 사이클들의 상기 제 2 부분은 상기 복수의 사이클들의 상기 제 1 부분 전에 발생하는, 디바이스.
  20. 제16항에 있어서, 상기 인터페이스는 상기 제1 채널을 통해 상기 제1 데이터 또는 상기 제2 데이터를 통신하고 순차로 상기 제1 채널을 통해 상기 에러 상태의 표시자를 통신하도록 추가로 구성된, 디바이스.
  21. 제16항에 있어서, 상기 적어도 3개의 에러 상태는 검출가능한 에러 없음, 정정된 에러, 또는 앨리어싱된 에러를 포함하는, 디바이스.
  22. 제16항에 있어서, 상기 적어도 3개의 에러 상태들은 검출가능한 에러 없음, 정정된 에러, 또는 정정되지 않은 에러를 포함하는, 디바이스.
  23. 제16항에 있어서, 상기 적어도 3개의 에러 상태들은 검출가능한 에러 없음, 정정된 단일 비트 에러, 검출된 이중 비트 에러, 정정된 삼중 비트 에러, 검출된 삼중 비트 정정되지 않은 에러, 정정된 홀수 에러, 검출된 홀수 정정되지 않은 에러, 정정된 짝수 에러, 또는 검출된 짝수 정정되지 않은 에러를 포함하는, 디바이스.
KR1020227001481A 2019-06-17 2020-06-11 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스 KR20220024601A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962862254P 2019-06-17 2019-06-17
US62/862,254 2019-06-17
US16/898,354 2020-06-10
US16/898,354 US11307929B2 (en) 2019-06-17 2020-06-10 Memory device with status feedback for error correction
PCT/US2020/037188 WO2020257044A1 (en) 2019-06-17 2020-06-11 Memory device with status feedback for error correction

Publications (1)

Publication Number Publication Date
KR20220024601A true KR20220024601A (ko) 2022-03-03

Family

ID=73746483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227001481A KR20220024601A (ko) 2019-06-17 2020-06-11 에러 정정을 위한 상태 피드백을 갖는 메모리 디바이스

Country Status (5)

Country Link
US (3) US11307929B2 (ko)
EP (1) EP3983898A4 (ko)
KR (1) KR20220024601A (ko)
CN (1) CN114097038B (ko)
WO (1) WO2020257044A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200106731A (ko) * 2019-03-05 2020-09-15 에스케이하이닉스 주식회사 반도체장치
US11307929B2 (en) * 2019-06-17 2022-04-19 Micron Technology, Inc. Memory device with status feedback for error correction
US11762736B2 (en) * 2021-05-18 2023-09-19 Samsung Electronics Co., Ltd. Semiconductor memory devices
US20240061614A1 (en) * 2022-08-18 2024-02-22 Micron Technology, Inc. Error detection and correction in a controller

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2828566B1 (fr) * 2001-08-10 2004-06-18 Iroc Technologies Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur
US7979759B2 (en) * 2009-01-08 2011-07-12 International Business Machines Corporation Test and bring-up of an enhanced cascade interconnect memory system
US8438453B2 (en) * 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US20110041005A1 (en) 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
KR102143517B1 (ko) 2013-02-26 2020-08-12 삼성전자 주식회사 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법
US20150067437A1 (en) 2013-08-30 2015-03-05 Kuljit S. Bains Apparatus, method and system for reporting dynamic random access memory error information
US10002043B2 (en) * 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
TWI537966B (zh) 2014-10-03 2016-06-11 群聯電子股份有限公司 錯誤處理方法、記憶體儲存裝置及記憶體控制電路單元
JP6577302B2 (ja) 2015-08-28 2019-09-18 東芝メモリ株式会社 メモリシステム
TWI600024B (zh) * 2016-07-05 2017-09-21 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US11061771B2 (en) * 2019-03-01 2021-07-13 Micron Technology, Inc. Extended error detection for a memory device
US11307929B2 (en) * 2019-06-17 2022-04-19 Micron Technology, Inc. Memory device with status feedback for error correction

Also Published As

Publication number Publication date
US20220237081A1 (en) 2022-07-28
US20230418708A1 (en) 2023-12-28
US11307929B2 (en) 2022-04-19
US11714711B2 (en) 2023-08-01
CN114097038A (zh) 2022-02-25
CN114097038B (zh) 2023-03-14
EP3983898A1 (en) 2022-04-20
WO2020257044A1 (en) 2020-12-24
US20200394103A1 (en) 2020-12-17
EP3983898A4 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
US11294766B2 (en) Coordinated error correction
US11748021B2 (en) Scrub rate control for a memory device
US11061771B2 (en) Extended error detection for a memory device
US11182244B2 (en) Error correction management for a memory device
US11953988B2 (en) Error correction memory device with fast data access
US11663075B2 (en) Memory device with configurable error correction modes
US11714711B2 (en) Memory device with status feedback for error correction
US11907061B2 (en) Methods and devices for error correction