KR20210118474A - 구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치 - Google Patents
구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치 Download PDFInfo
- Publication number
- KR20210118474A KR20210118474A KR1020217029760A KR20217029760A KR20210118474A KR 20210118474 A KR20210118474 A KR 20210118474A KR 1020217029760 A KR1020217029760 A KR 1020217029760A KR 20217029760 A KR20217029760 A KR 20217029760A KR 20210118474 A KR20210118474 A KR 20210118474A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- error detection
- memory device
- memory
- mode
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0787—Storage of error reports, e.g. persistent data storage, storage using memory protection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/221—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements using ferroelectric capacitors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/225—Auxiliary circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
호스트 장치로부터 수신된 정보에 대해, 다이 크기에 눈에 띄는 영향을 주지 않고, 단일 에러 정정(SEC) 동작들 또는 단일 에러 정정 및 더블 에러 검출(SECDED) 동작들을 선택적으로 구현하기 위한 방법들, 시스템들 및 장치. 예를 들어, 호스트 장치는 메모리 시스템이 하나 이상의 통신들(예를 들어, 메시지들)을 사용하여 SECDED 동작들을 구현하기 위한 것임을 나타낼 수 있다. 다른 예에서, 메모리 시스템은 특정 옵션들에 대해 SECDED를 수행하도록 하드와이어링될 수 있다. 메모리 시스템은 다이 크기에 눈에 띄는 영향을 주지 않고 SECDED 동작들을 구현하도록 SEC 동작들과 연관된 회로부를 적응시킬 수 있다. SEC 회로부를 사용하여 SECDED 동작들을 구현하기 위해, 메모리 시스템은 SECDED 동작들에 대한 SEC 회로부의 용도를 변경하기 위한 일부 추가 회로부를 포함할 수 있다.
Description
상호 참조
본 특허 출원은 SCHAEFER 등에 의해 2020년 2월 17일자로 출원된, "구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치"라는 명칭의 미국 특허 출원 번호 제16/792,820호, 및 SCHAEFER 등에 의해 2019년 2월 19일자로 출원된, "구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치"라는 명칭의 미국 임시 특허 출원 제62/807,520호에 대한 우선권을 주장하며, 그 각각은 그 양수인에게 할당되며, 그 각각은 명시적으로 본원에 참조로서 통합된다.
다음은 일반적으로 메모리 시스템에 관한 것이며, 보다 구체적으로는 구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치에 관한 것이다.
메모리 장치들은 컴퓨터, 무선 통신 장치, 카메라, 디지털 디스플레이 등과 같은 다양한 전자 장치들에서 정보를 저장하는데 폭넓게 사용된다. 정보는 메모리 장치의 상이한 상태들을 프로그래밍함으로써 저장된다. 예를 들어, 이진 장치들은 대부분 논리 1 또는 논리 0에 의해 표시되는 두 개의 상태들 중 하나를 저장한다. 다른 장치들에서, 둘 이상의 상태들이 저장될 수 있다. 저장된 정보에 액세스 하기 위해, 장치의 컴포넌트는, 메모리 장치의 적어도 하나의 저장된 상태를 판독 또는 감지할 수 있다. 정보를 저장하기 위해, 전자 장치의 컴포넌트는 메모리 장치에 상태를 기입 또는 프로그래밍할 수 있다.
자기 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 동적 RAM(DRAM), 동기식 동적 RAM(SDRAM), 강유전성 RAM(FeRAM), 자기 RAM(MRAM), 저항성 RAM(RRAM), 플래시 메모리, 상 변화 메모리(PCM) 등을 포함하여 다양한 유형의 메모리 장치들이 존재한다. 메모리 장치들은 휘발성 또는 비휘발성일 수 있다. 비휘발성 메모리, 예를 들어, FeRAM은 외부 전원이 없는 경우에도 저장된 논리 상태를 장기간 유지할 수 있다. 휘발성 메모리 장치들, 예를 들어, DRAM은 이들이 외부 전원에 의해 주기적으로 리프레시되지 않는 한 시간이 지남에 따라 저장된 상태를 상실할 수 있다.
일부 경우에, 메모리 장치(예를 들어, DRAM 장치)는 외부 장치(예를 들어, 호스트 장치)로부터 명령들 또는 데이터를 수신할 수 있다. 일부 경우에, 메모리 장치에 내부적으로 저장되는 데이터에 에러가 발생할 수 있다.
도 1은 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 시스템의 일 예를 예시한다.
도 2는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 메모리 다이의 일 예를 예시한다.
도 3은 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 시스템의 일 예를 예시한다.
도 4는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 정보 버스트의 일 예를 예시한다.
도 5는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 프로세스 흐름의 일 예를 예시한다.
도 6은 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 장치의 블록도를 도시한다.
도 7 내지 12는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 방법 또는 방법들을 예시하는 흐름도들을 도시한다.
도 2는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 메모리 다이의 일 예를 예시한다.
도 3은 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 시스템의 일 예를 예시한다.
도 4는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 정보 버스트의 일 예를 예시한다.
도 5는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 프로세스 흐름의 일 예를 예시한다.
도 6은 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 장치의 블록도를 도시한다.
도 7 내지 12는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 방법 또는 방법들을 예시하는 흐름도들을 도시한다.
메모리 장치들은 개인용 컴퓨터들, 무선 통신 장치들, 서버들, 사물 인터넷(IoT) 장치들, 자동차들의 전자 부품들 등과 같은 전자 장치들의 일부로 다양한 조건들에서 동작할 수 있다. 일부 경우에, 특정 구현들을 위한 애플리케이션들을 지원하는 메모리 장치들(예를 들어, 일부 경우 자율 또는 반자율 주행 능력들이 있는 자동차들)은 향상된 신뢰성 제약을 받을 수 있다. 이와 같이, 일부 애플리케이션들(예를 들어, 자동차 애플리케이션들)을 위한 메모리 장치들(예를 들어, DRAM)는 상대적으로 높은 산업 사양들(예를 들어, 더 높은 신뢰성 제약들)에 기초하는 신뢰성으로 동작할 것으로 예상될 수 있다.
메모리 장치에 저장된 데이터는 일부 경우에 손상될 수 있다. 데이터의 손상은 데이터의 의도하지 않은 변경을 지칭할 수 있으며, 따라서 하나 이상의 메모리 셀들에 의해 저장된 데이터의 의도하지 않은 변경(예를 들어, 논리 일(1)에서 논리 제로(0)로 또는 그 반대)을 지칭할 수 있다. 원래의 그리고 의도된 값으로부터 비트의 값의 편차는 에러, 비트 에러 또는 데이터 에러로 지칭될 수 있다. 일부 메모리 장치들은 이러한 데이터 손상 또는 에러를 내부적으로 감지하고 적어도 일부 경우에 정정(복구)하여 손상 전에 의도된 데이터를 복구하도록 구성될 수 있다. 예를 들어, 기입 동작의 일부로서, 메모리 장치는 하나 이상의 에러 검출 코드워드를 생성하고 호스트 장치로부터 수신된 데이터로 메모리 셀 어레이에 이러한 코드워드를 저장할 수 있다. 데이터를 검색하기 위한 판독 동작을 수행 시, 메모리 장치는 또한 에러 검출 코드워드를 검색하고 메모리 장치에 의해 도입되었을 수 있는 데이터의 임의의 에러들을 수정하기 위해 에러 검출 또는 에러 정정 동작들을 수행할 수 있다. 이러한 에러 검출 및 정정은 하나 이상의 에러 정정 코드(ECC)(예를 들어, 해밍 코드)를 포함하는 에러 검출 정보에 의존할 수 있다. 에러 검출 동작은 데이터 세트에서 에러들을 검출하거나 정정하는 모든 동작일 수 있으며, 관련 프로세스들, 절차들 및 기술들은 예러 검출/정정 동작, 단일 에러 정정(SEC) 동작, 단일 에러 정정 이중 에러 검출(SECDED) 동작, ECC 프로세스들, ECC 절차들, ECC 기술들 또는 일부 경우에는 단순히 ECC로 지칭될 수 있다. 에러 검출 정보 또는 에러 검출 코드워드들은 해당 데이터의 에러들을 검출하거나 정정하기 위해 데이터를 기반으로 생성된 모든 유형의 정보 또는 코드워드일 수 있으며, 신드롬, ECC 신드롬, ECC 정보, ECC, ECC 코드워드, 에러 검출/정정 정보, 에러 검출/정정 코드워드, SEC 코드워드, SEC 정보, SECDED 코드워드, SECDED 정보, 또는 이들의 임의의 조합으로 지칭될 수 있다. 메모리 장치 내에서 내부적으로 수행되는 ECC는 일반적으로 (단일 다이 메모리 장치 내에서든 멀티 다이 메모리 장치 내에서든) 온-다이 ECC로 지칭될 수 있다.
호스트 장치는 메모리 셀 어레이에 데이터를 저장하기 위한 기입 동작의 일부로서 데이터 채널들을 통해 데이터를 전송할 수 있다. 데이터 수신 시, 메모리 장치는 에러 검출 동작을 수행할 수 있다. 에러 검출 동작의 일부로서, 메모리 장치는 호스트 장치로부터 수신된 데이터에 기초하여 ECC 코드워드와 같은 코드워드를 생성하고 메모리 셀 어레이에 데이터 및 코드워드를 저장할 수 있다. 판독 동작 동안, 메모리 장치는 또한 코드워드를 검색하고 메모리 장치에 있는 동안 도입되었을 수 있는 데이터의 임의의 에러들을 수정하기 위해 에러 검출 또는 에러 정정 동작들을 수행할 수 있다. 이러한 절차들의 일부로서, 메모리 장치는 제1 코드워드를 생성하는데 사용된 것과 동일한 에러 정정 코드를 사용하여 메모리 셀 어레이로부터 검색된 데이터에 기초하여 새로운 코드워드(예를 들어, 제2 ECC 코드워드)를 생성할 수 있다. 제1 및 제2 코드워드들이 일치하는 경우, 메모리 장치는 데이터가 손상되지 않았다(예를 들어, 에러들이 없다)고 결정할 수 있다. 제1 및 제2 코드워드들이 일치하지 않는 경우, 에러 검출 동작은 데이터가 손상되었다(예를 들어, 적어도 하나의 에러가 존재한다)고 결정할 수 있다. 에러 정정 코드의 강도에 따라, 에러 검출 동작은 일부 수량의 비트 에러들을 정정하거나 검출할 수 있다.
SEC 절차는 단일 비트 에러의 발생(데이터의 한 비트가 손상됨)을 검출하고 단일 비트 에러를 정정할 수 있다(데이터의 손상되지 않은 원래 값을 결정하고 데이터의 원래 값에 기초하여 하나 이상의 후속 동작들을 수행한다). 그러나, 일부 경우에, (예를 들어, 둘 이상의 비트 에러들의 경우에) SEC 절차는 손상되지 않은 비트를 뜻하기 않게 변경함으로써 데이터 내의 비트 에러들의 양을 증가시킬 수 있다. SECDED 절차는 단일 비트 에러들 및 더블 비트 에러들 둘 다의 발생을 검출할 뿐만 아니라 검출된 단일 비트 에러들을 정정할 수 있다. 즉, SECDED 절차는 메모리 장치에 대한 증가된 신뢰성에 대응할 수 있는 증가된 에러 검출(예를 들어, 더블 비트 에러의 경우)을 제공할 수 있다.
본원에 설명된 메모리 시스템은 다이 크기에 눈에 띄게 영향을 미치지 않고(예를 들어, 메모리 시스템이 SEC 동작들 또는 SECDED 동작들을 선택적으로 구현할 수 있는 경우 호스트 장치에 의해 표시된 바와 같이) SEC 동작들 또는 SECDED 동작들을 선택적으로 구현하도록 구성될 수 있다. 예를 들어, 선택적인 경우, 호스트 장치는 메모리 시스템이 SECDED를 구현하도록 표시할 수 있다. 여기서, 메모리 시스템은 SECDED를 구현하도록 일부 SEC 회로부를 적응시킬 있다. 추가로 또는 대안으로, 호스트 장치는 메모리 시스템이 SEC를 구현하도록 지시할 수 있다. DRAM은 SEC ECC를 지원하도록 설계될 수 있으며, 그런 다음 금속 마스크 또는 일부 기타 영구 방법에 의해, 다이 크기에 눈에 띄는 영향을 미치지 않으면서 SECDED ECC를 하드 코딩할 수 있다. SEC 회로부를 사용하여 SECDED를 구현하기 위해, 메모리 시스템음 다이 크기에 눈에 띄는 영향을 미치지 않고 SECDED를 위한 SEC 회로부의 용도를 변경하기 위한 일부 추가 회로부를 포함할 수 있다. 일부 경우에, 에러 검출 코드워드와 연관된 데이터의 입도는 SEC 동작들 또는 SECDED 동작들을 사용하는 것에 기초하여 조정될 수 있다. 예를 들어, 메모리 시스템은 SEC용 8비트 ECC 코드워드를 사용하여 2개의 128비트 데이터 어레이들에 대해 에러 검출 동작을 수행할 수 있지만 10비트 ECC 코드워드를 사용하여 256비트 데이터 어레이에서 SECDED를 수행하도록 에러 검출 동작을 적응시킬 수 있다. 이는 메모리 시스템이 다이 크기에 눈에 띄게 영향을 주지 않고 SECDED 절차를 실행하기 위해 SEC를 위한 회로부(예를 들어, ECC 정보를 저장하기 위한 메모리 어레이의 데이터 핀 부분들)를 활용하는 것을 가능하게 할 수 있다. 예를 들어, 메모리 시스템은 SEC 절차에 의해 생성된 ECC 정보를 저장하기 위해 메모리 어레이의 일부에 SECDED 절차에 의해 생성된 ECC 정보를 저장할 수 있다.
본 개시의 특징들은 도 1 내지 3을 참조하여 메모리 시스템들 및 메모리 장치의 맥락에서 하기에 더 설명된다. 그런 다음, 본 개시의 특징들은 도 4 및 도 5를 참조하여 정보의 버스트 및 프로세스 흐름의 맥락에서 설명된다. 본 개시의 이들 및 다른 특징들은 구성 가능한 에러 정정 모드들에 관한 도 6 내지 9의 장치 도면들 및 흐름도들에 의해 더 예시되고 이들을 참조하여 설명된다.
도 1은 본원에 개시된 양태들에 따라 하나 이상의 메모리 장치들을 이용하는 시스템(100)의 예를 예시한다. 시스템(100)은 외부 메모리 컨트롤러(105), 메모리 장치(110) 및 외부 메모리 컨트롤러(105)를 메모리 장치(110)와 결합하는 복수의 채널들(115)을 포함할 수 있다. 시스템(100)은 하나 이상의 메모리 장치들을 포함할 수 있지만, 설명의 편의를 위해 하나 이상의 메모리 장치들은 단일 메모리 장치(110)로 설명될 수 있다.
시스템(100)은 컴퓨팅 장치, 모바일 컴퓨팅 장치, 무선 장치 또는 그래픽 처리 장치와 같은 전자 장치의 양상들을 포함할 수 있다. 시스템(100)은 휴대용 전자 장치의 예일 수 있다. 시스템(100)은 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 휴대폰, 웨어러블 장치, 인터넷 연결 장치 등의 예일 수 있다. 메모리 장치(110)는 시스템(100)의 하나 이상의 다른 컴포넌트들에 대한 데이터를 저장하도록 구성된 시스템의 컴포넌트일 수 있다. 일부 예들에서, 시스템(100)은 기지국 또는 액세스 포인트를 사용하는 다른 시스템들 또는 장치들과의 양방향 무선 통신을 위해 구성된다. 일부 예들에서, 시스템(100)은 기계 유형 통신(MTC), 기계 대 기계(M2M) 통신, 또는 장치 대 장치(D2D) 통신이 가능하다.
시스템(100)의 적어도 일부들은 호스트 장치의 예들일 수 있다. 이러한 호스트 장치는 메모리를 사용하여 컴퓨팅 장치, 모바일 컴퓨팅 장치, 무선 장치, 그래픽 처리 장치, 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 휴대폰, 웨어러블 장치, 인터넷 연결 장치, 일부 기타 고정식 또는 휴대용 전자 장치 등과 같은 프로세스들을 실행하는 장치의 예일 수 있다. 일부 경우들에서, 호스트 장치는 외부 메모리 컨트롤러(105)의 기능들을 구현하는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합을 지칭할 수 있다. 일부 경우들에서, 외부 메모리 컨트롤러(105)는 호스트 또는 호스트 장치로 지칭될 수 있다. 일부 예들에서, 시스템(100)은 그래픽 카드이다.
일부 경우들에서, 메모리 장치(110)는 시스템(100)의 다른 컴포너트들과 통신하도록 구성되고 시스템(100)에 의해 잠재적으로 사용되거나 참조될 물리적 메모리 어드레스들/공간을 제공하도록 구성된 독립 장치 또는 컴포넌트일 수 있다. 일부 예들에서, 메모리 장치(110)는 적어도 하나 또는 복수의 상이한 유형의 시스템들(100)과 작동하도록 구성될 수 있다. 시스템(100)의 컴포넌트들과 메모리 장치(110) 간의 시그널링은 신호들을 변조하기 위한 변조 방식들, 신호들을 통신하기 위한 서로 다른 핀 설계들, 시스템(100)과 메모리 장치(110)의 개별 패키징, 시스템(100)과 메모리 장치(110) 간의 클록 시그널링 및 동기화, 타이밍 규약들 및/또는 기타 요인들을 지원하도록 동작할 수 있다.
메모리 장치(110)는 시스템(100)의 컴포넌트들에 대한 데이터를 저장하도록 구성될 수 있다. 일부 경우들에서, 메모리 장치(110)는 (예를 들어, 외부 메모리 컨트롤러(105)를 통해 시스템(100)에 의해 제공된 명령들에 응답하고 실행하는) 시스템(100)에 대해 슬레이브형 장치 역할을 할 수 있다. 이러한 명령들은 기입 동작을 위한 기입 명령, 판독 동작을 위한 판독 명령, 리프레시 동작을 위한 리프레시 명령, 또는 기타 명령들과 같은 액세스 동작을 위한 액세스 명령을 포함할 수 있다. 메모리 장치(110)는 데이터 저장을 위해 원하는 또는 지정된 용량을 지원하기 위해 둘 이상의 메모리 다이들(160)(예를 들어, 메모리 칩들)을 포함할 수 있다. 둘 이상의 메모리 다이들을 포함하는 메모리 장치(110)는 멀티 다이 메모리 또는 패키지(멀티 칩 메모리 또는 패키지라고도 함)로 지칭될 수 있다.
시스템(100)은 프로세서(120), 기본 입력/출력 시스템(BIOS) 컴포넌트(125), 하나 이상의 주변 컴포넌트들(130) 및 입/출력(I/O) 컨트롤러(135)를 더 포함할 수 있다. 시스템(100)의 컴포넌트들은 버스(140)를 사용하여 서로 전자 통신할 수 있다.
프로세서(120)는 시스템(100)의 적어도 일부들을 제어하도록 구성될 수 있다. 프로세서(120)는 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 반도체(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA) 또는 기타 프로그램 가능 로직 장치, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들일 수 있거나, 또는 이러한 유형의 컴포넌트들의 조합일 수 있다. 이러한 경우에, 프로세서(120)는 기타 예들 중에서, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 범용 GPU(GPGPU) 또는 시스템 온 칩(SoC)의 예일 수 있다.
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)는 메모리 셀들의 집합(예를 들어, 그리드)일 수 있으며, 각 메모리 셀은 적어도 1 비트의 디지털 데이터를 저장하도록 구성된다. 메모리 어레이들(170) 및/또는 메모리 셀들의 특징들은 도 2를 참조하여 더 상세히 설명된다.
메모리 장치(110)는 2차원(2D) 메모리 셀 어레이의 예일 수 있거나, 3차원(3D) 메모리 셀 어레이의 예일 수 있다. 예를 들어, 2D 메모리 장치는 단일 메모리 다이(160)를 포함할 수 있다. 3D 메모리 장치는 둘 이상의 메모리 다이들(160)(예를 들어, 메모리 다이(160-a), 메모리 다이(160-b) 및/또는 임의 수량의 메모리 다이들(160-N))을 포함할 수 있다. 3D 메모리 장치에서, 복수의 메모리 다이들(160-N)은 서로의 위에 또는 서로의 옆에 적층될 수 있다. 일부 경우들에, 3D 메모리 장치의 메모리 다이들(160-N)은 덱크들, 레벨들, 층들 또는 다이들로 지칭될 수 있다. 3D 메모리 장치는 임의 수량의(예를 들어, 2개 이상, 3개 이상, 4개 이상, 5개 이상, 6개 이상, 7개 이상, 8개 이상) 적층 메모리 다이들(160-N)을 포함할 수 있다. 이는 단일 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)는 시스템(100)의 프로세서(120) 또는 다른 컴포넌트에 의해 구현된 하드웨어, 펌웨어 또는 소프트웨어 또는 그 일부 조합일 수 있다. 외부 메모리 컨트롤러(105)가 메모리 장치(110) 외부에 있는 것으로 도시되어 있지만, 일부 경우에, 외부 메모리 컨트롤러(105) 또는 본원에 설명된 그 기능들은 메모리 장치(110)에 의해 구현될 수 있다. 예를 들어, 외부 메모리 컨트롤러(105)는 장치 메모리 컨트롤러(155) 또는 하나 이상의 로컬 메모리 컨트롤러들(165)에 의해 구현되는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 일부 조합일 수 있다. 일부 경우들에서, 외부 메모리 컨트롤러(105)는 외부 메모리 컨트롤러(105)의 일부들이 프로세서(120)에 의해 구현되고 다른 부분들이 장치 메모리 컨트롤러(155) 또는 로컬 메모리 컨트롤러(165)에 의해 구현되도록 프로세서(120) 및 메모리 장치(110)에 걸쳐 분산될 수 있다. 마찬가지로, 일부 경우들에서, 본원에서 장치 메모리 컨트롤러(155) 또는 로컬 메모리 컨트롤러(165)에 속하는 하나 이상의 기능들은 일부 경우에 외부 메모리 컨트롤러(105)(프로세서(120)와 별개로 또는 프로세서(120)에 포함됨)에 의해 수행될 수 있다.
시스템(100)의 컴포넌트들은 복수의 채널들(115)을 사용하여 메모리 장치(110)와 정보를 교환할 수 있다. 일부 예들에서, 채널들(115)은 외부 메모리 컨트롤러(105)와 메모리 장치(110) 사이의 통신들을 가능하게 할 수 있다. 각 채널(115)은 시스템(100)의 컴포넌트들과 관련된 단자들 사이의 하나 이상의 신호 경로들 또는 전송 매체들(예를 들어, 전도체들)를 포함할 수 있다. 예를 들어, 채널(115)은 외부 메모리 컨트롤러(105)에서의 하나 이상의 핀들 또는 패드들을 포함하는 제1 단자 및 메모리 장치(110)에서의 하나 이상의 핀들 또는 패드들을 포함할 수 있다. 핀은 시스템(100) 장치의 전도성 입력 또는 출력 지점의 예일 수 있으며, 핀은 채널의 일부로 작동하도록 구성될 수 있다.
일부 경우들에서, 단자의 핀 또는 패드는 채널(115)의 신호 경로의 일부일 수 있다. 추가 신호 경로들은 시스템(100)의 컴포넌트 내에서 신호들을 라우팅하기 위해 채널의 단자와 결합될 수 있다. 예를 들어, 메모리 장치(110)는 채널(115)의 단자로부터 메모리 장치(110)(예를 들어, 장치 메모리 컨트롤러(155), 메모리 다이들(160), 로컬 메모리 컨트롤러들(165), 메모리 어레이들(170))의 다양한 컴포넌트들로 신호를 라우팅하는 신호 경로들(예를 들어, 메모리 다이(160) 내부와 같은, 메모리 장치(110) 내부의 신호 경로들 또는 그 컴포넌트들)을 포함할 수 있다.
채널들(115)(및 관련 신호 경로들 및 단자들)은 특정 유형의 정보를 전달하는 데 전용될 수 있다. 일부 경우들에서, 채널(115)은 통합 채널일 수 있고 따라서 다수의 개별 채널들을 포함할 수 있다. 예를 들어, 데이터 채널(190)은 x4(예를 들어, 4개의 신호 경로들을 포함), x8(예를 들어, 8개의 신호 경로들을 포함), x16(16개의 신호 경로들을 포함) 등일 수 있다. 채널들을 통해 통신되는 신호들은 이중 데이터 레이트(DDR) 시그널링을 사용할 수 있다. 예를 들어, 신호의 일부 부호는 클록 신호의 상승 에지에 등록될 수 있고 신호의 다른 부호는 클록 신호의 하강 에지에 등록될 수 있다. 채널들을 통해 통신되는 신호들은 단일 데이터 레이트(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)의 신호 경로들은 그에 따라 구성될 수 있다. 일부 경우들에서, 클록 신호는 단일 엔디드일 수 있다. 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) 중 하나 이상을 사용하여 통신될 수 있다. SEC 동작들 또는 SECDED 동작들을 선택적으로 수행하도록 구성된 에러 검출 로직을 이용한 본원에 설명된 기술들은 데이터가 호스트 장치로부터 메모리 장치(110)로 전송될 때 데이터에 도입된 에러들을 검출하거나 정정하도록 수정될 수 있다. 에러 검출 정보는 관련 데이터 내의 에러들을 검출 또는 정정하기 위한 코드워드들을 포함할 수 있다. 코드워드들은 시스템(100)에 의해 구현되는 ECC의 유형에 따라 SEC 코드워드 또는 SECDED 코드워드일 수 있다. 에러 검출 정보는 하나 이상의 ECC 채널들(191)을 통해 통신될 수 있다. 데이터는 DQ 채널(190)을 통해 통신될 수 있고 에러 검출 정보는 동일한 버스트 기간 동안 통신될 수 있다. 추가로 또는 대안으로, 에러 검출 정보는 DQ 채널들(190)을 통해 통신될 수 있다. 이러한 에러 검출 정보는 인라인 또는 랭크 에러 검출 정보로 지칭될 수 있다. 인라인 또는 랭크 에러 검출을 사용할 때, 외부 메모리 컨트롤러(105) 및/또는 메모리 장치(110)는 액세스 동작과 연관된 데이터 및 데이터와 연관된 에러 검출 정보 둘 다를 포함하도록 데이터 버스트의 버스트 길이를 조정할 수 있다.
일부 경우에, 채널들(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)는 하나 이상의 하드웨어 컴포넌트들(예를 들어, 오실레이터들, 크리스탈들, 논리 게이트들, 트랜지스터들 등)을 포함할 수 있는 데이터 클록에 의해 생성될 수 있다. 다른 경우에, 채널(192)은 외부 메모리 컨트롤러(105) 및 메모리 장치(110)으로 및 로부터 데이터 전송에 대한 ECC 보호를 제공하도록 링크 ECC(예를 들어, SEC ECC, SECDED ECC 또는 기타 ECC)를 포함할 수 있다.
채널들(115)은 다양한 다른 아키텍쳐들을 사용하여 외부 메모리 컨트롤러(105)와 메모리 장치(110)를 결합할 수 있다. 다양한 아키텍처들의 예들은 버스, 점 대 점 연결, 크로스바, 실리콘 인터포저와 같은 고밀도 인터포저, 또는 유기 기판에 형성된 채널들 또는 이들의 일부 조합을 포함할 수 있다. 예를 들어, 일부 경우들에서, 신호 경로들은 실리콘 인터포저 또는 유리 인터포저와 같은 고밀도 인터포저를 적어도 부분적으로 포함할 수 있다.
채널들(115)을 통해 통신되는 신호들은 다양한 상이한 변조 방식들을 사용하여 변조될 수 있다. 일부 경우들에서, 이진 부호(또는 이진 레벨) 변조 방식은 외부 메모리 컨트롤러(105)와 메모리 장치(110) 사이에서 통신되는 신호들을 변조하는 데 사용될 수 있다. 이진 부호 변조 방식은 M이 2인 M-진 변조 방식의 예일 수 있다. 이진-부호 변조 방식의 각 부호는 1 비트의 디지털 데이터를 나타내도록 구성될 수 있다(예를 들어, 부호는 논리 1 또는 논리 0을 나타낼 수 있다). 이진 부호 변조 방식의 예들로는 이에 제한되는 것은 아니나, 비제로 복귀(NRZ), 유니폴라 인코딩, 바이폴라 인코딩, 맨체스터 인코딩, 두 개의 부호들(예를 들어, PAM2)을 갖는 펄스 진폭 변조(PAM) 등을 포함한다.
일부 경우들에서, 멀티 부호(또는 멀티 레벨) 변조 방식은 외부 메모리 컨트롤러(105)와 메모리 장치(110) 사이에서 통신되는 신호들을 변조하는 데 사용될 수 있다. 멀티 부호 변조 방식은 M이 3 이상인 M-진 변조 방식의 예일 수 있다. 멀티 부호 변조 방식의 각 부호는 1 비트 이상의 디지털 데이터를 나타내도록 구성될 수 있다(예를 들어, 부호는 논리 00 또는 논리 01, 논리 10 또는 논리 11을 나타낼 수 있다). 멀티 부호 변조 방식의 예들로는 이에 제한되는 것은 아니나, PAM4, PAM8 등, 직교 진폭 변조(QAM), 직교 위상 시프트 키잉(QPSK) 등을 포함한다. 멀티 부호 신호 또는 PAM4 신호는 1 비트 이상의 정보를 인코딩하기 위해 적어도 3개의 레벨들을 포함하는 변조 방식을 사용하여 변조되는 신호일 수 있다. 멀티 부호 변조 방식들 및 부호들은 대안으로 비-이진, 멀티-비트 또는 고차 변조 방식들 및 부호들로 지칭될 수 있다.
메모리 장치(110)는 기입 동작의 일부로서 호스트 장치로부터 수신된 데이터에 대해 SEC 동작들 또는 SECDED 동작들을 선택적으로 수행하도록 구성될 수 있다. 데이터 수신 시, 메모리 장치(110)는 수신된 데이터와 연관된 하나 이상의 에러 검출 코드워드들(예를 들어, ECC 코드워드들)을 결정하거나 생성할 수 있다. 그런 다음, 메모리 장치(110)는 데이터 및 하나 이상의 에러 검출 코드워드들을 하나 이상의 메모리 어레이들(170)에 저장할 수 있다. 판독 동작의 일부로서 하나 이상의 메모리 어레이들(170)로부터 데이터를 수신 시, 메모리 장치(110)는 또한 하나 이상의 메모리 어레이들(170)로부터 하나 이상의 에러 검출 코드워드들을 검색할 수 있다. 메모리 장치(110)는 하나 이상의 메모리 어레이들(170)로부터 검색된 데이터에 기초하여 추가적인 에러 검출 코드워드들을 생성할 수 있다. 메모리 장치(110)는 하나 이상의 메모리 어레이들(170)로부터 검색된 에러 검출 코드워드들을 하나 이상의 메모리 어레이들(170)로부터 검색된 데이터에 기초하여 생성 또는 결정된 추가 에러 검출 코드워드들과 비교할 수 있다. 메모리 장치(110)는 코드워드들의 비교에 기초하여 하나 이상의 메모리 어레이들(170)로부터 검색된 데이터 내에서 하나 이상의 에러들을 검출하거나, 하나 이상의 메모리 어레이들(170)로부터 검색된 데이터 내에서 하나 이상의 에러들을 정정하거나, 또는 둘 다를 수행할 수 있다. 메모리 장치(110)는 판독 동작의 일부로서 에러 검출 동작들을 수행한 후 검색된 데이터를 호스트 장치로 전송할 수 있다. 본원에 설명된 에러 검출 동작들은 외부 메모리 컨트롤러(105), 장치 메모리 컨트롤러(155), 또는 로컬 메모리 컨트롤러(165), 또는 이들의 조합에 의해 수행될 수 있다.
도 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)는 Vpl과 같은 셀 플레이트 기준 전압일 수 있거나, Vss와 같은 접지일 수 있다. 일부 경우들에서, 전압 소스(240)는 플레이트 라인 드라이버와 결합된 플레이트 라인의 예일 수 있다. 스위칭 컴포넌트(235)는 트랜지스터 또는 2개의 컴포넌트들 사이의 전자 통신을 선택적으로 설정하거나 해제하는 임의의 다른 유형의 스위치 장치의 예일 수 있다.
메모리 셀(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) 및 디지트 라인(215)의 커패시터(230)를 결합 및/또는 분리하도록 구성될 수 있다. 일부 아키텍쳐들에서, 메모리 셀(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)의 검출된 논리 상태는 출력(255)으로서 ECC 블록(265)를 통해 출력될 수 있다. 일부 경우들에서, 감지 컴포넌트(245)는 다른 컴포넌트(예를 들어, ECC 블록(265), 열 디코더(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)는 타겟 메모리 셀(205)에 액세스하기 위해 타겟 워드 라인(210) 및 타겟 디지트 라인(215)을 활성화(예를 들어, 워드 라인(210) 또는 디지트 라인(215)에 전압 인가)할 수 있다. 로컬 메모리 컨트롤러(260)는 기입 동작 동안 디지트 라인(215)에 특정 신호(예를 들어, 전압)를 인가하여 메모리 셀(205)의 커패시터(230)에 특정 상태(예를 들어, 전하)를 저장할 수 있으며, 특정 상태(예를 들어, 전하)는 원하는 논리 상태를 나타낼 수 있다.
ECC 블록(265) 또는 로컬 메모리 컨트롤러(260)는 기입 동작의 일부로서 호스트 장치로부터 수신된 데이터에 대해 하나 이상의 에러 검출 동작들을 수행할 수 있다. 예를 들어, ECC 블록(265)은 기입 동작의 일부로서 호스트 장치로부터 수신된 데이터와 연관된 하나 이상의 에러 검출 코드워드들을 결정하거나 생성할 수 있다. 일부 경우에, ECC 블록(265)은 에러 검출 로직을 포함할 수 있거나 에러 검출 로직(미도시)이 본원에 설명된 에러 검출 동작들을 수행하게 할 수 있다. ECC 블록(265)은 데이터 및 하나 이상의 에러 검출 코드워드들이 기입 동작의 일부로서 하나 이상의 메모리 셀들(205)에 저장되게 할 수 있다.
일부 경우에, 호스트 장치는 기입 동작의 일부로서 제1 채널을 통해 메모리 다이에 저장될 데이터 및 제2 채널을 통한 에러 검출 정보를 전송할 수 있다. 에러 검출 정보는 메모리 다이(200)의 ECC 동작 모드에 따라 하나 이상의 SEC 코드워드들 또는 SECDED 코드워드들을 포함할 수 있다. 메모리 다이(200)는 에러 검출 정보를 활용하여 단일 비트를 검출 및 정정하고, 일부 경우에는 더블 비트 에러들을 검출 및/또는 정정할 수 있다. 일부 경우에, 메모리 다이(200)는 검출된 단일 비트 또는 더블 비트 에러들의 표시를 저장할 수 있다. 단일 비트 에러들를 정정하고/하거나 검출된 더블 비트 에러들의 표시를 저장함으로써, 메모리 다이(200)는 저장된 데이터의 신뢰성을 증가시킬 수 있다.
하기에 도시된 표 1은 각 유형의 에러 검출 동작을 사용한 후 발생할 수 있는 에러들의 수량(예를 들어, 잘못된 에러들이 있는 비트 수량)을 도시한다. 특히, SECDED 동작은 더블 비트 에러가 발생한 경우 데이터에 추가 에러들이 도입되는 것을 방지할 수 있는 반면 SEC 동작은 에러들의 양을 더블 비트 에러에서 3비트 에러로 늘릴 수 있다.
에러 검출 동작 전 에러들 | 1 | 2 | 3 | 4 | 5 |
SEC 동작 후 에러들 | 0 | 3 | 3/4 | 4/5 | 5/6 |
SECDED 동작 후 에러들 | 0 | 2 | 3/4 | 4/5 | 5/6 |
에러 검출 동작 후 에러들
일부 경우들에서, 로컬 메모리 컨트롤러(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))에 전달할 수 있다.
판독 동작의 일부로서, 로컬 메모리 컨트롤러(260) 또는 ECC 블록(265)은 하나 이상의 메모리 셀들(205)로부터 검색된 데이터에 대해 하나 이상의 에러검출 동작들을 수행하도록 구성될 수 있다. 판독 동작의 일부로서 하나 이상의 메모리 어레이들(205)로부터 데이터를 수신 시, ECC 블록(265)은 또한 하나 이상의 메모리 셀들(205)로부터 하나 이상의 에러 검출 코드워드들을 검색할 수 있다. ECC 블록(265)은 하나 이상의 메모리 셀들(205)로부터 검색된 데이터에 기초하여 추가적인 에러 검출 코드워드들을 생성할 수 있다. ECC 블록(265)은 하나 이상의 메모리 셀들(205)로부터 검색된 에러 검출 코드워드들을 하나 이상의 메모리 셀들(205)로부터 검색된 데이터에 기초하여 생성 또는 결정된 추가 에러 검출 코드워드들과 비교할 수 있다. ECC 블록(265)은 코드워드들의 비교에 기초하여 하나 이상의 메모리 셀들(205)로부터 검색된 데이터 내에서 하나 이상의 에러들을 검출하거나, 하나 이상의 메모리 셀들(205)로부터 검색된 데이터 내에서 하나 이상의 에러들을 정정하거나, 또는 둘 다를 수행할 수 있다. ECC 블록(265)은 하나 이상의 메모리 셀들(205)로부터의 데이터를 (예를 들어, 출력(255)으로서) 로컬 메모리 컨트롤러(260)로 출력할 수 있다. 데이터는 하나 이상의 메모리 셀들(205)로부터 검색된 데이터의 정정 버전일 수 있거나 검출된 에러의 표시를 포함할 수 있다. 로컬 메모리 컨트롤러(260)는 (예를 들어, ECC 블록(265)이 판독 동작의 일부로서 에러 검출 동작을 수행한 후) 데이터를 호스트 장치에 전송하거나, 검색된 데이터가 판독 동작의 일부로서 에러 검출 동작을 수행한 후에 전송되도록 할 수 있다. 일부 경우에, 로컬 메모리 컨트롤러(260)는 본원에 설명된 바와 같이 ECC 블록(265)을 포함할 수 있다.
일부 경우에, 로컬 메모리 컨트롤러(260) 또는 ECC 블록(265)은 임의의 저장된 에러 검출 정보(예를 들어, 데이터를 저장하기 전에 수행된 ECC 동작에 의해 검출된 더블 비트 에러의 표시)를 호스트 장치에 전달할 수 있다. 이러한 경우에, 메모리 다이(200)는 데이터가 판독 동작의 일부로서 검색될 때 연관된 에러 검출 정보를 검색할 수 있다. 메모리 다이(200)는 판독 동작의 일부로서 에러 검출 정보를 호스트 장치로 전송할 수 있다. 일부 다른 경우에, 로컬 메모리 컨트롤러(260)는 데이터와 연관된 저장된 ECC 코드워드(예를 들어, SEC 코드워드 또는 SECDED 코드워드)를 검색할 수 있다. 로컬 메모리 컨트롤러(260)는 데이터에 대한 ECC 동작을 수행하여 새로운 ECC 코드워드를 생성하고 2개의 ECC 코드워드들(예를 들어, 저장된 ECC 코드워드 및 생성된 ECC 코드워드)를 비교하여 특정 에러들을 검출 및/또는 정정할 수 있다.
일부 메모리 아키텍처들에서, 메모리 셀(205)(예를 들어, 기입 동작 또는 판독 동작 동안)에 액세스하는 것은 메모리 셀(205)에 저장된 논리 상태를 저하시키거나 파괴할 수 있다. 예를 들어, DRAM 아키텍처들에서 수행되는 판독 동작은 타겟 메모리 셀의 커패시터를 부분적으로 또는 완전히 방전시킬 수 있다. 로컬 메모리 컨트롤러(260)는 메모리 셀을 원래의 논리 상태로 되돌리기 위해 재기입 동작 또는 리프레시 동작을 수행할 수 있다. 로컬 메모리 컨트롤러(260)는 판독 동작 후 논리 상태를 타겟 메모리 셀에 재기입할 수 있다. 일부 경우에, 재기입 동작은 판독 동작의 일부로 간주될 수 있다. 추가로, 워드 라인(210)과 같은 단일 액세스 라인을 활성화하는 것은 해당 액세스 라인과 전자적으로 통신하는 일부 메모리 셀들에 저장된 상태를 방해할 수 있다. 따라서, 재기입 동작 또는 리프레시 동작은 액세스되지 않았을 수 있는 하나 이상의 메모리 셀들에서 수행될 수 있다.
도 3은 본원에 개시된 구성 가능한 에러 정정 모드를 갖는 시스템(300)의 일 예를 예시한다. 시스템(300)은 도 1 및 2를 참조하여 설명된 바와 같은 하나 이상의 컴포넌트들을 포함할 수 있다. 시스템(300)은 복수의 채널들(예를 들어, C/A 채널(386), CLK 채널(388), 데이터 채널(390), 에러 검출 채널, 다른 채널, 또는 이들의 조합)을 사용하여 함께 결합된 호스트 장치(305) 및 메모리 장치(310)를 포함할 수 있다. 호스트 장치(305)는 도 1을 참조하여 설명된 바와 같이 외부 메모리 컨트롤러(105)의 일 예일 수 있다. 메모리 장치(310)는 도 1 및 2를 참조하여 설명된 메모리 장차(110) 및/또는 메모리 다이(200)의 예일 수 있다; C/A 채널(386), CLK 채널(388), 및 데이터 채널(390)은 도 1을 참조하여 설명된 바와 같이 각각 C/A 채널(186), CLK 채널(188) 및 데이터 채널(190)의 예들일 수 있다; 메모리 어레이(325)는 도 1을 참조하여 설명된 바와 같은 메모리 어레이들(170) 중 하나 이상의 일 예일 수 있다; 메모리 컨트롤러(340)는 도 1 및 2를 참조하여 설명된 바와 같은 장치 메모리 컨트롤러(155) 또는 로컬 메모리 컨트롤러들(165 또는 260)의 일 예일 수 있다. 행 디코더(345)는 도 2를 참조하여 설명된 행 디코더(220)의 예일 수 있다; 열 디코더(350)는 도 2를 참조하여 설명된 열 디코더(225)의 일 예일 수 있다; 에러 검출 로직(320)은 개별 컴포넌트들, 도 1 및 2와 함께 설명된 장치 메모리 컨트롤러(155) 또는 로컬 메모리 컨트롤러들(165 또는 260)의 양태들 또는 이들의 조합을 포함할 수 있다. 메모리 장치(310)는 또한 데이터 채널들(390)을 통해 호스트 장치(305)와 데이터를 통신하기 위한 트랜시버(315)를 포함할 수 있다. 일부 경우에, 트랜시버(315)는 하나 이상의 I/O 버퍼들을 포함할 수 있다.
호스트 장치(305)는 기입 동작의 일부로서 데이터 채널(390)을 통해 데이터를 전송할 수 있다. 데이터는 특정 버스트 길이(예를 들어, 단위 간격의 양) 동안 데이터 채널(390)을 구성하는 핀(355)의 양을 통해 전송될 수 있다. 메모리 장치(310)는 기입 동작의 일부로서 메모리 어레이(325)에 데이터를 저장할 수 있다. 일부 경우에, 메모리 어레이(325)에 저장된 데이터는 손상될 수 있다. 메모리 장치(310)는 메모리 어레이(325)에 저장된 데이터에 대해 하나 이상의 에러 검출 및/또는 에러 정정 동작들을 수행하도록 구성될 수 있다. 데이터에 도입된 에러들은 호스트 장치(305) 및/또는 메모리 장치(310)에 의해 수행되는 프로세스들이 실패하도록 하거나 문제를 일으키도록 할 수 있다. 에러 검출 정보는 이러한 에러들 중 일부를 검출 및/또는 정정하기 위해 일부 상황들에서 사용될 수 있다.
메모리 컨트롤러(340)는 프로그래밍 가능한 경우, 어떤 유형의 에러 정정 절차가 활성화되는지(예를 들어, SEC 또는 SECDED) 결정할 수 있다. 일부 경우에, 메모리 컨트롤러(340)는 호스트 장치(305)로부터 수신된 표시에 기초하여 에러 정정 절차의 유형을 식별할 수 있다. 예를 들어, 호스트 장치(305)는 레지스터(370)(예를 들어, 모드 레지스터)의 값이 에러 정정 절차의 유형을 나타내도록 설정되게 할 수 있다(예를 들어, 호스트 장치(305)는 레지스터(370)를 논리 값 '0'으로 설정하여 SEC를 나타내고 논리 값 "1"로 설정하여 SECDED를 나타낼 수 있다). 일부 다른 예들에서, 호스트 장치(305)는 (예를 들어, CA 채널(386)을 통해) 메모리 장치(310)에 표시를 전송할 수 있다. 일부 다른 경우에, 메모리 장치(310)는 특정 옵션들에 대해 SECDED를 수행하도록 하드와이어링될 수 있다.
기입 동작의 일부로서, 메모리 장치(310)는 하나 이상의 데이터 채널들(390)을 통해 호스트 장치(305)로부터 데이터를 수신할 수 있다. 일부 경우에, 메모리 장치(310)는 데이터 채널들(390)과 결합하기 위한 핀들의 수량을 포함할 수 있다. 트랜시버(315)는 호스트 장치(305)로부터 데이터를 수신 및/또는 버퍼링할 수 있다. 에러 검출 로직(320)은 기입 동작의 일부로서 호스트 장치(305)로부터 수신된 데이터와 연관된 하나 이상의 에러 검출 코드워드들을 결정하거나 생성할 수 있다. 에러 검출 로직(320)은 메모리 장치(310)가 동작중인 모드에 기초하여 수신된 데이터에 대한 SEC 동작들 또는 수신된 데이터에 대한 SECDED 동작들을 수행하도록 구성될 수 있다. 하나 이상의ECC 동작들을 수행한 후, 호스트 장치(305)로부터 수신된 데이터 및 에러 검출 로직(320)에 의해 생성 또는 결정된 ECC 코드워드들은 I/O 로직(375)으로 전달되고 메모리 어레이(325)에 저장될 수 있다. 일부 경우에, 데이터는 메모리 어레이(예를 들어, 데이터 어레이(360))의 제1 부분에 저장될 수 있고 ECC 코드워드들은 메모리 어레이(예를 들어, ECC 어레이(365))의 제2 부분에 저장될 수 있다.
메모리 장치(310)는 메모리 장치(310)의 동작 모드에 기초하여 상이한 유형의 에러 검출 동작들을 수행할 수 있다. 예를 들어, 제1 모드에서, 메모리 장치(310)는 호스트 장치(305)로부터 수신된 데이터에 대해 적어도 하나의 SEC 동작을 수행할 수 있다. 제2 모드에서, 메모리 장치는 호스트 장치(305)로부터 수신된 데이터에 대해 적어도 하나의 SECDED 동작을 수행할 수 있다.
SEC 동작들 및 SECDED 동작들을 수행하기 위한 회로부 및/또는 ECC 어레이 저장 장치는 다를 수 있다. 예를 들어, 메모리 시스템은 메모리 다이의 일부를 에러 검출 동작을 위한 회로부 및/또는 저장 장치에 할당할 수 있다. 일부 기존의 시스템들에서, SECDED를 수행하도록 메모리 다이를 구성하기 위한 회로부는 SEC를 수행하도록 메모리 다이를 구성하기 위한 회로부보다 더 광범위할 수 있다. 추가로 또는 대안으로, 일부 기존의 시스템들에서, SECDED에 대한 ECC 어레이 할당은 SEC에 대한 ECC 어레이 할당보다 더 광범위할 수 있다. 일부 경우에, SECDED를 수행하기 위한 추가 회로부는 SEC와 비교할 때 SECDED에 대한 증가된 ECC 코드워드 크기와 관련될 수 있다. 예를 들어, SEC로 구성된 메모리 시스템은 2개의 128비트 데이터에 대한 에러 검출 동작을 수행하기 위해 2개의 8비트 ECC 코드워드들을 사용할 수 있는 반면, SECDED로 구성된 메모리 시스템은 2개의 9비트 ECC 코드워드를 사용하여 2개의 128비트 데이터에 대한 에러 검출 동작을 수행할 수 있다. 증가된 ECC 코드워드 크기는 더 넓은 내부 ECC 채널을 초래할 수 있다. 예를 들어, SEC를 수행하도록 구성된 메모리 다이는 제1 ECC 채널 폭을 사용할 수 있는 반면 SECDED를 수행하도록 구성된 메모리 다이는 증가된 ECC 채널 폭을 사용할 수 있다. 증가된 코드워드 크기는 또한 데이터 및 ECC 코드워드를 저장하기 위해 메모리 어레이(325)의 더 많은 메모리 셀들을 사용할 수 있다. 이는 ECC 회로부 및 ECC 정보 저장을 위해 할당되는 메모리 다이의 증가된 부분으로 이어질 수 있다(예를 들어, SEC의 경우 6.3%에서 SECDED의 경우 12.6%). 예를 들어, 메모리 장치(310)는 ECC가 DQ 채널(390)을 구성하는 16개의 데이터 핀을 통해 2개의 128비트 데이터를 수신하는 것과 동일한 간격 동안 2개의 8비트 SEC ECC 코드워드들을 수신하기 위해 ECC 어레이 저장 장치를 위한 단일 내부 데이터 경로를 활용할 수 있다. 그러나, 메모리 장치(310)는 DQ 채널(390)을 구성하는 16개의 데이터 핀들을 통해 2개의 128비트 데이터를 수신하는 것과 동일한 간격 동안 2개의 9비트 SECDED ECC 코드워드들을 수신하기 위해 ECC에 대한 ECC 어레이 저장 장치를 위한 2개의 내부 데이터 경로들을 사용할 수 있다. 일부 경우에, 메모리 시스템은 (예를 들어, SEC와 비교할 때) SECDED를 활성화하기 위한 증가된 회로 요구 사항들을 지원하지 않을 수 있다. 예를 들어, 상용 LP5 DRAM 마켓은 추가 다이 크기 증가를 지원하지 않을 수 있다. 추가로, 더 큰 ECC 코드워드들은 저장하는 데 더 많은 메모리를 사용할 수 있다. 예를 들어, 메모리 어레이(325)는 데이터를 저장하는 제1 부분(예를 들어, 데이터 어레이(360)) 및 에러 검출 정보를 저장하는 제2 부분(예를 들어, ECC 어레이(365))으로 분할될 수 있다. ECC 코드워드의 크기가 커지면, 메모리 어레이 및 지원 회로부의 크기가 6.3% 또는 12.6% 만큼 증가할 수 있다.
여기서, 메모리 장치(310)는 SEC 동작들 및 SECDED 동작들 둘 다를 위한 SEC 회로부를 사용할 수 있다. SEC 동작을 수행할 때, 에러 검출 로직(320)의 제어 로직(335)은 표시된 유형의 에러 정정 절차에 따라 에러 검출 로직(320) 내의 회로부(예를 들어, SEC 회로부(330))의 기능을 구성할 수 있다. 에러 검출 로직(320)은 정보의 버스트가 데이터의 하나 이상의 부분들로 분할되고 해당 코드워드들이 데이터의 각 부분에 대해 결정되도록 할 수 있다. 에러 검출 로직(320)은 해당 ECC 코드워드들을 이용하여 데이터의 일부들에 대해 에러 검출 동작을 수행할 수 있다. 예를 들어, 데이터 채널(390)은 16개의 데이터 핀을 포함하고 호스트 장치(305)는 256비트 데이터 버스트를 생성할 수 있는 16개의 버스트 길이를 사용한다. 에러 검출 로직은 데이터 버스트를 2개의 128비트 부분들로 나눌 수 있고 데이터의 각 부분에 대해 2개의 대응하는 SEC 코드워드들(예를 들어, 2개의 8비트 코드워드들)을 결정할 수 있다. 제어 로직(335)은 SEC 회로부(330-a)가 (예를 들어, 제1 SEC 코드워드를 사용하여) 데이터의 제1 부분에 대해 SEC 동작을 수행하는 반면 SEC 회로부(330-b)가 (예를 들어, 제2 SEC 코드워드 사용하여) 데이터의 제2 부분에 대해 SEC 동작을 수행하도록 SEC 회로부(330)를 구성할 수 있다. 여기서, 에러 검출 로직(320)은 단일 비트 에러들을 검출 및 정정할 수 있다. 일부 경우에(예를 들어, 더블 비트 에러의 경우에), 에러 검출 로직(320)은 정확했던 비트를 실수로 뒤집을 수 있어, 추가 비트 에러를 생성할 수 있다. 업데이트된(예를 들어, 정정되거나 부주의하게 잘못된) 데이터는 메모리 어레이(325)에 저장될 수 있다.
SECDED 동작을 수행할 때, 제어 로직(335)은 표시된 유형의 에러 정정 절차에 따라 에러 검출 로직(320) 내의 회로부(예를 들어, SEC 회로부(330))의 기능을 구성할 수 있다. 예를 들어, 제어 로직(335)은 제1 SEC 회로부(330-a) 및 제2 SEC 회로부(330-b)가 SECDED 회로부의 단일 세트로서 작용하도록 구성할 수 있다.
에러 검출 로직(320)은 일부 경우에 SEC 동작보다 더 작은 입도를 갖는 정보 버스트에 대해 SECDED 동작을 수행할 수 있다. 예를 들어, 데이터 채널(390)이 16개의 데이터 핀들을 포함하고 호스트 장치(305)가 16의 버스트 길이를 사용하여 256비트의 데이터 버스트를 생성할 때, 에러 정정 정보는 SECDED 코드워드(예를 들어, 길이 10비트)일 수 있으며, 에러 검출 로직(320)은 SECDED 코드워드를 사용하여 256비트의 데이터 버스트에 대해 하나의 SECDED 동작을 수행할 수 있다. 여기서, 제어 로직(335)은 SEC 회로부(330-a) 및 SEC 회로(330-b)부가 함께 호스트 장치(305)로부터 수신된 데이터 버스트에 대해 SECDED ECC 동작을 수행하도록 SEC 회로부(330)를 구성할 수 있다. 에러 검출 로직(320)은 단일 비트 에러들을 검출 및 정정할 수 있으며 더블 비트 에러들을 검출할 수 있다. 일부 경우에, 에러 검출 정보는 SECDED 코드워드 외에 패리티 비트들을 포함할 수 있다. 일부 경우에, 추가 패리티 비트들은 더 높은 레벨의 더블 비트 에러 검출(예를 들어, 에러 검출의 보다 정확한 위치)을 제공할 수 있다. 일부 다른 경우에, 추가 패리티 비트들은 에러 검출 로직이 더블 비트 에러들도 정정하도록 할 수 있다. 업데이트된(예를 들어, 정정되거나 업데이트) 데이터는 메모리 어레이(325)에 저장될 수 있다. 일부 경우에, 더블 비트 에러(예를 들어, 정정되지 않을 수 있음)의 표시는 또한 메모리 어레이(325)에 저장될 수 있다. 추가로 또는 대안으로, 더블 비트 에러는 트랜시버(315)를 통해 호스트 장치(305)에 표시될 수 있다.
판독 동작의 일부로서, 메모리 장치(310)는 메모리 어레이(325)로부터 검색된 하나 이상의 에러 검출 코드워드들을 사용하여 메모리 어레이(325)로부터 검색된 데이터에 대해 하나 이상의 에러 검출 동작들을 수행하도록 구성될 수 있다. 에러 검출 동작은 메모리 어레이(325)에 저장된 데이터의 에러들을 정정하거나 검출하도록 구성될 수 있다.
판독 동작의 일부로서 데이터 어레이(360)로부터 데이터를 검색 시, 메모리 장치(310)는 또한 ECC 어레이(365)로부터 하나 이상의 에러 검출 코드워드들을 검색할 수 있다. 에러 검출 로직(320)은 데이터 어레이(360)로부터 검색된 데이터에 기초하여 추가적인 에러 검출 코드워드들을 생성할 수 있다. 에러 검출 로직(320)은 ECC 어레이(365)로부터 검색된 에러 검출 코드워드들을 데이터 어레이(360)로부터 검색된 데이터에 기초하여 생성되거나 결정된 추가 에러 검출 코드워드들과 비교할 수 있다. 에러 검출 로직(320)은 코드워드들의 비교에 기초하여 검색된 데이터에서 하나 이상의 에러들을 검출하거나, 검색된 데이터에서 하나 이상의 에러들을 정정하거나 둘 다를 수행할 수 있다. 메모리 장치(310)는 판독 동작의 일부로서 에러 검출 동작들을 수행한 후에 검색된 데이터를 호스트 장치(305)에 전송하거나, 검색된 데이터가 데이터 채널(390)을 통해 에러 검출 동작들을 수행한 후에 전송되도록 할 수 있다. 일부 경우에, 에러 검출 로직(320)의 기능은 메모리 컨트롤러(340)에 의해 적어도 부분적으로 수행될 수 있다. 일부 경우에, 메모리 컨트롤러(340)는 하나 이상의 제어 레지스터들 또는 하나 이상의 리던던시 퓨즈들 및 로직 또는 이들의 조합을 포함할 수 있다.
일부 경우에, 메모리 어레이(325)에 저장된 데이터에 대한 내부 에러 검출 동작들을 참조하여 위에서 설명된 기술들은 호스트 장치(305)와 메모리 장치(310) 사이에서 통신되는 임의의 정보(예를 들어, 데이터 채널(390)을 통해 통신되는 데이터, C/A 채널(386)을 통해 통신되는 명령/어드레스 정보, 등)에 적용될 수 있다. 호스트 장치(305)와 메모리 장치(310) 사이에서 통신되는 데이터는 전송 중에 손상될 수 있다. 호스트 장치(305)는 에러 검출 채널을 통해 에러 검출 정보를 전송할 수 있고, 이는 메모리 장치(310)가 온-다이 에러 정정 및/또는 검출을 수행하도록 할 수 있다. 에러 검출 채널은 에러 검출 정보 내에서 전송되는 비트의 양이 데이터의 버스트 길이보다 작거나 같도록 단일 핀을 포함할 수 있다. 일부 경우에, 에러 검출 채널은 복수의 핀들(예를 들어, 2개의 핀, 3개의 핀, 4개의 핀, 5개의 핀, 등)을 포함할 수 있다.
에러 검출 정보를 전송하기 전에, 호스트 장치(305)는 메모리 시스템(300)에 대한 데이터 및 에러 검출 모드에 기초하여 에러 검출 정보(예를 들어, 코드워드)를 생성할 수 있다. 즉, 메모리 장치(310)는 데이터 내의 에러들을 검출 및/또는 정정하기 위해 하나 이상의 유형의 ECC(예를 들어, SEC 또는 SECDED)를 활용하는 능력을 가질 수 있다. 예를 들어, ECC 코드워드는 메모리 시스템이 SEC를 수행하기 위한 모드에 따라 동작하는 경우 SEC ECC를 위한 패리티 비트들을 포함할 수 있다. 다른 예에서, 코드워드는 메모리 장치(310)가 SECDED를 수행하기 위한 모드에 따라 동작하는 경우 SECDED ECC에 대한 패리티 비트를 포함할 수 있다. 일부 경우에, 에러 검출 정보는 데이터의 대응하는 부분과 연관된 하나 이상의 패리티 비트들을 더 포함할 수 있다. 예를 들어, 에러 검출 정보는 4개의 추가 패리티 비트들을 포함할 수 있으며, 여기서 각 패리티 비트는 데이터의 고유한 1/4에 해당한다. 일부 경우에, 이는 메모리 장치(310)가 수신된 데이터 내의 추가 에러들을 검출 및/또는 정정하도록 할 수 있다.
호스트 장치(305)는 데이터에 사용될 에러 검출 모드를 메모리 장치(310)와 통신할 수 있다. 에러 검출 및 동작이 적절하게 작동하는 것을 보장하기 위해, 호스트 장치(305) 및 메모리 장치(310) 모두가 그들이 사용하는 모드들을 조정하도록 구성될 수 있다. 예를 들어, 호스트 장치(305)는 트랜시버(315)를 통해 메모리 장치(301)에 정보 버스트를 전송할 수 있다. 정보 버스트에는 데이터를 포함할 수 있으며, 일부 경우에, 에러 검출 정보를 포함할 수 있다. 정보 버스트의 크기는 버스트 길이뿐만 아니라 DQ 채널(390) 및 ECC 채널을 구성하는 핀의 양에 대응할 수 있다. 트랜시버(315)는 수신된 정보 버스트(예를 들어, 데이터 및 에러 검출 정보를 포함함)를 에러 검출 로직(320)에 중계할 수 있다. ECC에 대한 SEC 또는 SECDED 모드를 사용하여, 에러 검출 로직(320)은 에러 검출 정보에 기초하여 데이터와 연관된 하나 이상의 에러들을 (예를 들어, 제어 로직(335) 및 하나 이상의 SEC 회로부(330)를 사용하여) 검출 및/또는 정정할 수 있다.
일부 경우에, 표준 LP DRAM은 x16(16 I/O)이고 16의 버스트 길이에서 DRAM으로 데이터를 클록하거나 DRAM으로부터 데이터를 클록할 수 있으며, 어레이는 2개의 128비트 x8 서브 어레이들로 구성될 수 있다. 따라서, x16 장치는 상위 바이트와 하위 바이트를 가질 수 있다; 다이는 설계를 바이트 모드 장치로 만들고 x8(8 I/O)로 사용 가능하게 하고 16의 버스트 길이에서 DRAM으로 또는 DRAM으로부터 데이터를 클록하는 옵션을 가질 수 있으며, 어레이는 128비트 x8 서브 어레이로 구성될 수 있으므로 x8 장치에는 1바이트를 가질 수 있다. 일부 x16 LP DRAM의 경우, DRAM과 SoC 간에 데이터를 전송하기 위한 16개의 I/O들이 있을 수 있으며, 표준 x8 LP DRAM의 경우, DRAM과 SoC 간에 데이터를 전송하기 위한 8개의 I/O들이 있다.
일부 LP DRAM들에는 내부 온-다이 ECC가 있을 수 있다. 즉, ECC 데이터 생성 및 검사는 전적으로 LPDRAM 내에서 수행될 수 있다; 내부 ECC 기능은 SoC 또는 호스트 장치에 가려지거나 보이지 않을 수 있다. 내부 온-다이 ECC는 8개의 I/O들이 있는 2개의 128+8 어레이로 구성될 수 있다. 예를 들어, 내부 온-다이 ECC는 128비트 어레이 데이터(예를 들어, 데이터 코드워드) 및 하나 이상의 8비트 ECC 데이터 세그먼트(예를 들어, ECC 코드워드 또는 에러 검출 정보)를 처리하도록 구성될 수 있다. x16 LPDRAM 내부 온-다이 ECC는 2개의 128+8, 128 어레이 데이터와 8개의 ECC 데이터를 포함하여 전체 256개 어레이 데이터와 16개의 ECC 데이터를 포함하는 SEC ECC일 수 있다. 바이트 모드 LPDRAM 내부 온-다이 ECC는 128+8, 128 어레이 데이터와 8 ECC 데이터를 포함하는 SEC ECC일 수 있다. x16에서, 128비트 어레이 데이터의 두 부분들은 총 256 비트 어레이 데이터에 대해 16개의 DQ들을 통해 SoC로부터 전송된다. LPDRAM이 256비트 어레이 데이터(2개의 128비트 어레이)를 캡처하여 이를 내부적으로 전송하면, 내부 온-다이 ECC는 각 128비트의 어레이 데이터에 대해 내부 SEC ECC 8비트 ECC 데이터를 생성할 수 있다. 내부 16비트 ECC 데이터는 추가 의사 내부 DQ를 통해 내부적으로 전송될 수 있다. 즉, x16 LPDRAM의 경우, 16개의 단위 간격(ui)이 16개의 DQ들을 통해 256비트의 어레이 데이터를 LPDRAM의 메모리 어레이로 전송할 수 있다. 내부적으로 생성된 16비트 ECC 데이터는 저장을 위해 메모리 어레이의 추가 섹션으로 전송될 수도 있다. LPDRAM로부터 데이터를 판독할 때, 어레이 데이터와 ECC 데이터가 내부적으로 비교될 수 있으며, 어레이 데이터를 SoC 또는 호스트 장치로 판독하기 전에 임의의 단일 비트 에러를 정정할 수 있다. 내부적으로 생성된 ECC 데이터는 일부 경우에, SoC 또는 호스트 장치로 전송되지 않을 수 있다.
LPDRAM이 자동차 또는 기타 차량(예를 들어, 오토바이, 버스, 트럭, 비행기, 기차 등)에 사용되는 경우, 일부 사용자들은 가능하면 SEC 온다이 ECC 대신 SECDED 온다이 ECC를 선호할 수 있다. LPDRAM에서 SEC를 SECDED로 변경하기 위해, 128+8 대신 128+9의 두 서브 어레이들을 지원하도록 어레이를 256+18로 변경해야 할 수 있다. 버스트 길이가 16 단위 간격이므로, ECC 데이터에 대한 내부 버싱 및 저장은 하나의 추가 의사 내부 DQ 경로들 및 저장 장치를 사용할 수 있으며, 이는 다이 크기에 상당한 추가로 이어질 수 있다.
SECDED 온-다이 ECC가 x8 LPDRAM이 아닌 x16에서 지원되는 경우, 2개의 128+9 서브 어레이 지원이 필요하지 않을 수 있다. SECDED는 10비트의 에러 검출 정보만 있는 단일 256비트 어레이에서 지원될 수 있다. 이러한 구성은 DRAM이 최대 16개의 에러 비트들을 지원할 수 있기 때문에 다이 크기 증가가 없을 수 있음을 의미한다. 따라서, 다이는 SEC 온-다이 ECC가 있는 표준 바이트 모드 장치 또는 온-다이 ECC 커버리지를 위해 선택적으로 SECDED 또는 SEC가 될 수 있는 옵션이 있는 x16 장치로 설계될 수 있다.
도 4는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 정보 버스트(400)의 일 예를 예시한다. 정보 버스트에는 데이터(405) 및 에러 검출 정보(420)를 포함할 수 있다. 정보 버스트의 일부는 도 1 내지 3을 참조하여 설명된 바와 같이 호스트 장치에 의해 생성 및 전송될 수 있다. 정보 버스트(400)의 다른 부분들은 메모리 장치(예를 들어, 에러 검출 정보(420))에 의해 생성될 수 있다. 데이터(405)는 도 1 내지 도 3을 참조하여 설명된 메모리 장치(110), 메모리 다이(160), 메모리 다이(200), 또는 메모리 장치(310)의 일 예일 수 있는, 메모리 장치에서 수신 및 저장될 수 있다. 메모리 장치는 (예를 들어, 도 1 내지 도 3을 참조하여 설명된 바와 같이) 데이터가 메모리 어레이에 저장된 후 데이터(405) 내의 일부 에러들을 검출 및/또는 정정하기 위해 에러 검출 정보(420)를 사용할 수 있다.
데이터 버스트는 데이터(405)를 포함할 수 있으며, 이는 데이터 채널(예를 들어, DQ 채널(190, 390))을 통해 통신되는 데이터 버스트의 일 예일 수 있다. 데이터(405)는 부분들, 예를 들어 데이터 부분들(430-a 및 430-b)로 분할될 수 있다. 데이터 채널은 채널의 폭을 정의하는 데이터 핀(410)의 양을 가질 수 있다. 예를 들어, 데이터 채널의 폭은 16핀일 수 있습니다(예를 들어, DQ01 내지 DQ15). 다른 예들에서, 데이터 채널은 너비가 16핀 미만이거나 너비가 16핀 이상일 수 있다. 데이터 버스트는 또한 복수의 단위 간격들(415), 또는 데이터의 적어도 하나의 부호(예를 들어, 비트)를 통신하기 위한 시간 리소스들을 가질 수 있다. 더블 데이터 레이트를 사용하는 시스템들에서, 단위 간격(415)은 상승 및 하강 모두에서 모든 클록 에지에서 발생할 수 있다. 단일 데이터 레이트를 사용하는 기타 시스템들에서, 단위 간격(415)은 클록 사이클마다 발생할 수 있다.
일부 경우에, 정보 버스트는 에러 검출 정보(420)의 일부들을 포함할 수 있다. 일부 경우에, 에러 검출 정보(420)는 메모리 장치에서 내부적으로 생성되고 메모리 장치에서 내부적으로 사용된다. 다른 경우에, 에러 검출 정보(420)는 호스트 장치에 의해 생성되고 호스트 장치에 의해 메모리 장치로 전송된다. 이러한 경우들 중 일부에서, 에러 검출 채널은 에러 검출 채널의 폭을 정의하는 단일 에러 검출 핀(425)을 가질 수 있다. 일부 경우에, 에러 검출 정보(420)에 포함된 비트의 양은 단위 간격(415)의 양보다 작거나 같을 수 있다. 에러 검출 정보(420)는 하나 이상의 코드워드들(예를 들어, SEC 코드워드, SECDED 코드워드)을 포함할 수 있으며, 일부 경우에, 데이터(405)와 관련된 추가 패리티 비트들을 포함할 수 있다. 에러 검출 정보(420)에 포함된 코드워드 또는 코드워드들의 유형은 메모리 장치의 동작 모드 또는 메모리 시스템에 의해 사용되는 에러 검출 동작의 유형에 대응할 수 있다. 즉, 메모리 시스템은 (예를 들어, 호스트 장치에 의해 지시된 바와 같이) SEC 모드 또는 SECDED 모드에 따라 동작할 수 있다. 에러 검출 정보(420) 및 데이터(405)는 메모리 시스템에 의해 사용되는 에러 검출 동작의 유형에 기초하여 할당될 수 있다.
메모리 시스템이 SEC 모드에 따라 동작할 때, 정보 버스트(400)는 하나 이상의 데이터 부분들(430)로 분할될 수 있다. 정보 버스트(400)는 각 데이터 부분(430)에 대응하는 에러 검출 정보(420)를 포함할 수 있다. 일부 경우에, 정보 버스트(400)는 단위 간격들(415)에 따라 부분들로 분할될 수 있다. 예를 들어, 단위 간격들(415)의 제1 수량은 제1 데이터 부분(430-a) 및 제1 코드워드(예를 들어, 에러 검출 정보(420)의 처음 8비트 내에 포함됨)를 포함할 수 있다. 데이터(405)는 2개의 128비트 데이터 부분들(430)로 분할될 수 있는 반면, 에러 검출 정보(420)는 2개의 대응하는 8비트 코드워드들로 분할될 수 있다. 즉, 데이터 부분(430-a)은 에러 검출 핀(425)을 통해 동일한 처음 8 단위 간격 내에서 전송된 제1 코드워드에 대응할 수 있다. 또한, 데이터 부분(430-b)은 마지막 8 단위 간격 내에서 전송된 제2 코드워드에 대응할 수 있다. 이 예에서, 정보 버스트(400)는 2개의 별개의 128비트 데이터 부분들 및 2개의 대응하는 8비트 SEC 코드워드들을 포함할 수 있다. 일부 경우에, 데이터는 각 부분 내에서 임의의 양의 비트들을 갖는 임의의 양의 부분들로 분할될 수 있다. 마찬가지로, 에러 검출 정보(420)는 임의의 비트 크기의 임의의 양의 코드워드들을 포함할 수 있다. 메모리 장치는 각 부분에서 단일 비트 에러들을 검출하고 정정하기 위해 서브 어레이들에 대해 별개의 SEC 절차들을 수행할 수 있다. 즉, 메모리 장치는 부분별 입도에 대해 SEC 절차를 수행할 수 있다.
메모리 시스템이 SECDED 모드에 따라 동작할 때, 정보 버스트(400)는 데이터 부분들(430)로 분할되지 않을 수 있다(또는 더 큰 부분으로 분할될 수 있다). 메모리 시스템은 대응하는 에러 검출 정보(420)를 사용하여 (예를 들어, 데이터 부분들(430-a 및 430-b)에 대응하는) 모든 데이터(405)에 대해 SECDED 동작을 수행할 수 있다. 즉, 에러 검출 정보(420)는 모든 데이터(405)에 대응할 수 있다. 여기서, 에러 검출 정보(420)는 256 비트의 데이터에 대한 에러 검출 정보(420)를 제공할 수 있다. 에러 검출 정보(420)는 단일 SECDED 코드워드를 포함할 수 있다. 예를 들어, 코드워드는 메모리 장치가 단일 비트 에러들을 정정하고 더블 비트 에러들을 검출할 수 있게 하는 10비트 SECDED 코드워드(예를 들어, 에러 검출 정보(420)의 비트 0 내지 9 내에서 전송됨)일 수 있다. 일부 경우에, 에러 검출 정보(420) 내의 나머지 비트들(예를 들어, 비트 10, 11, 12, 13, 14, 및 15)는 사용되지 않을 수 있다. 대안으로, 에러 검출 정보(420) 내의 나머지 비트들 중 하나 이상은 데이터(405)의 일부와 연관된 패리티 비트들을 포함할 수 있다. 추가 패리티 비트 또는 비트들은 메모리가 더 작은 경계에서 에러 위치를 식별할 뿐만 아니라 더블 비트 또는 더 많은 에러들을 검출하거나 정정하도록 할 수 있다. 예를 들어, 비트 10, 11, 12 및 13은 데이터(405)의 별개의 1/4에 대한 패리티 비트들로 사용될 수 있다. 여기서, 비트 10은 처음 4개의 단위 간격들(415)(예를 들어, ui0 내지 ui3) 내에서 전송된 데이터(405)에 대응하는 패리티 비트들일 수 있고, 비트 11 내지 13은 데이터(405)의 다른 3개의 별개의 부분들(예를 들어, ui4 내지 ui7, ui8 내지 ui11, ui12 내지 ui15로 정의됨)에 대응하는 패리티 비트들일 수 있다. 다른 예에서, 비트 10 내지 15는 니블 기준(예를 들어, 4비트 기준)에 대한 추가 패리티 비트를 제공할 수 있다.
도 5는 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 프로세스 흐름(500)의 일 예를 예시한다. 프로세스 흐름(500)은 도 1 내지 3을 참조하여 설명된 시스템들(100, 300) 및 메모리 다이(200)의 양태들을 구현할 수 있다. 프로세스 흐름(500)은 호스트 장치(505)에 의해 수행되는 동작들을 포함할 수 있으며, 이는 도 3을 참조하여 설명된 호스트 장치(305)의 예일 수 있다. 호스트 장치(505)는 도 1을 참조하여 설명된 바와 같이 외부 메모리 컨트롤러(105)의 양태들을 구현할 수 있다. 프로세스 흐름(500)은 메모리 장치(510)에 의해 수행되는 동작들을 더 포함할 수 있으며, 이는 도 1 내지 3을를 참조하여 설명된 메모리 장치(110), 메모리 어레이(170) 또는 메모리 서브 어레이(200), 또는 메모리 장치(310)의 일 예일 수 있다.
515에서, 호스트 장치(505)는 메모리 장치(510)에서 에러 정정을 수행하기 위한 모드를 선택적으로 설정할 수 있다. 예를 들어, 메모리 장치(510)는 SEC 동작(예를 들어, 에러 정정을 수행하기 위한 제1 모드)을 수행함으로써 또는 SECDED 동작(예를 들어, 에러 정정을 수행하기 위한 제2 모드)을 수행함으로써 에러 정정을 수행하도록 구성될 수 있다. 호스트 장치(505)는 모드 레지스터(예를 들어, 메모리 장치(510)에서)의 값이 에러 정정 절차의 유형을 나타내도록 설정되도록 함으로써 메모리 장치(510)에서 에러 정정을 수행하기 위한 모드를 설정할 수 있다. 예를 들어, 호스트 장치(505)는 모드 레지스터를 논리 값 '0'으로 설정하여 SEC를 나타내고, 논리 값 '1'로 설정하여 SECDED를 나타낼 수 있다. 추가로 또는 대안으로, 호스트 장치(505)는 에러 정정을 수행하기 위한 모드를 나타내는 표시를 메모리 장치(510)로 전송할 수 있다. 일부 경우에, 호스트 장치(505)로부터 수신된 표시자는 메모리 장치(510)의 모드 레지스터에 저장될 수 있다.
520에서, 메모리 장치(510)는 선택적으로 에러 정정을 수행하기 위한 모드를 식별할 수 있다. 일부 경우에, 메모리 장치(510)는 메모리 장치(510)의 하드 코딩된 특성에 기초하여 에러 검출 또는 정정을 수행하기 위한 모드를 식별할 수 있다. 일부 경우에, 메모리 장치(510)는 메모리 장치(510)의 모드 레지스터로부터 메모리 장치를 동작시키기 위한 모드의 표시자를 검색함으로써 에러 검출 또는 정정을 수행하기 위한 모드를 식별할 수 있다. 일부 경우에, 메모리 장치(510)는 호스트 장치(505)로부터 메모리 장치(510)가 상이한 모드에서 동작하도록 요청하는 표시자를 수신할 수 있다.
525에서, 메모리 장치(510)는 모드에 따라(예를 들어, 520에서 식별된 바와 같이) 메모리 장치(510)를 선택적으로 구성할 수 있다. 즉, 메모리 장치(510)는 에러 정정을 수행하기 위한 모드를 식별하는 것에 기초하여 호스트 장치(505)로부터 수신된 데이터에서 (예를 들어, SECDED 또는 SEC에 따라) 에러들을 정정하기 위해 메모리 장치(510)를 구성할 수 있다. 일부 경우에, 메모리 장치(510)는 520에서 모드를 식별하는 것에 기초하여 하나의 모드(예를 들어, SEC)에서 다른 모드(예를 들어, SECDED)로 전환할 수 있다. 예를 들어, 메모리 장치(510)는 호스트 장치(505)로부터 모드를 전환하기 위한 표시자를 수신하는 것에 기초하여 전환할 수 있다.
추가로 또는 대안으로, 메모리 장치(510)는 에러 정정을 수행하기 위한 특정 모드에 따라 동작하도록 미리 구성될 수 있다. 예를 들어, 모드 레지스터는 공장에서 에러 정정을 수행하기 위한 모드를 나타내는 값으로 하드 설정될 수 있다. 다른 예에서, 메모리 장치(510)는 에러 정정을 수행하기 위한 특정 모드에 따라 동작하도록 (예를 들어, 마스크 또는 퓨즈에 의해) 하드 코딩될 수 있다. 여기서, 호스트 장치는 515를 수행하지 않을 수 있으며, 메모리 장치는 520 또는 525를 수행하지 않을 수 있다. 대신, 에러 정정을 수행하는 모드는 메모리 장치(510)의 미리 구성된 특성일 수 있다.
530에서, 메모리 장치(510)는 호스트 장치(505)로부터 데이터를 수신할 수 있다. 메모리 장치(510)는 DQ 채널(예를 들어, 제1 채널)을 통해 데이터를 수신할 수 있다. DQ 채널은 16개의 전도성 경로들(예를 들어, 핀들)을 포함할 수 있다.
블록 535에서, 메모리 장치(510)는 호스트 장치(505)로부터 수신된 데이터로부터 에러 검출 정보를 결정할 수 있다. 즉, 메모리 장치(510)는 (예를 들어, 메모리 장치(510)에서 내부 ECC 엔진에 의해) 호스트 장치(505)로부터 수신된 데이터에 기초하여 에러 검출 정보를 생성할 수 있다. 일부 경우에, 메모리 장치(510)는 기입 동작 동안(예를 들어, 메모리 장치(510)가 호스트 장치(505)로부터 데이터를 수신하고 데이터를 메모리 장치(510)에서 어레이로 전송할 때) 에러 검출 정보를 생성할 수 있는 ECC 블록(예를 들어, 도 2를 참조하여 설명됨)을 포함할 수 있다. 에러 검출 정보는 에러 검출 코드워크들의 예들일 수 있다. 메모리 장치(510)가 제1 모드(예를 들어, SEC 모드)로 동작할 때, 에러 검출 정보는 하나 이상의 SEC 코드워드들일 수 있다. 메모리 장치(510)가 제2 모드(예를 들어, SECDED 모드)에서 동작할 때, 에러 검출 정보는 하나 이상의 SECDED 코드워드들일 수 있다.
에러 검출 정보는 동작 모드에 따른 코드워드를 포함할 수 있다. 예를 들어, 메모리 장치(510)가 SECDED를 사용하고 있다면, 에러 검출 정보는 SECDED 코드워드 및 데이터의 일부들과 연관된 하나 이상의 패리티 비트들을 포함할 수 있다. 여기서, SECDED 코드워드는 10비트를 포함할 수 있고 모든 데이터와 연관될 수 있다. 다른 예에서, 메모리 장치(510)이 SEC를 사용하고 있다면, 에러 검출 정보는 데이터의 제1 부분과 연관된 제1 코드워드(예를 들어, 제1 SEC 코드워드) 및 데이터의 제2 부분과 연관된 제2 코드워드(예를 들어, 제2 SEC 코드워드)를 포함할 수 있다.
540에서, 메모리 장치(510)는 호스트 장치(505)로부터 수신된 데이터 및 에러 검출 정보(예를 들어, 기입 동작 동안 메모리 장치(510)의 내부 ECC 엔진에 의해 생성됨)를 메모리 셀 어레이에 저장할 수 있다. 에러 검출 정보는 판독 동작의 일부로서 메모리 셀의 어레이로부터 데이터가 검색될 때 데이터의 에러들을 검출하거나 정정하도록 구성될 수 있다. 일부 경우에, 데이터는 정정된 비트(예를 들어, SEC 또는 SECDED에 의해 정정됨)를 포함할 수 있다. 일부 다른 경우에, 데이터는 더블 비트 에러가 검출되었지만 정정되지는 않은 데이터를 포함할 수 있다.
블록(545)에서, 메모리 장치(510)는 메모리 셀 어레이로부터 해당 데이터를 검색할 수 있고 메모리 셀 어레이로부터 에러 검출 정보를 검색할 수 있다. 메모리 셀 어레이에 에러 검출 정보를 저장함으로써, 메모리 장치(510)는 메모리 어레이에 데이터를 기입하거나, 메모리 어레이에 데이터를 저장하거나, 메모리 어레이에서 데이터를 리프레시하거나, 메모리 어레이로부터 데이터를 판독하는 동작들 또는 이들의 조합을 통해 데이터에 도입될 수 있는 에러들을 검출 및/또는 정정하도록 구성될 수 있다.
550에서, 메모리 장치(510)는 메모리 어레이로부터 검색된 에러 검출 정보를 사용하여 메모리 어레이로부터 검색된 데이터에 대한 에러 검출 동작을 수행할 수 있다. 메모리 장치(510)는 식별된 모드에 따라 메모리 장치(510)를 구성하는 것에 기초하여 에러 검출 동작을 수행할 수 있다. 예를 들어, 메모리 장치(510)는 SECDED 모드에서 동작하는 메모리 장치(510)에 기초한 에러 검출 정보를 사용하여 데이터에 대한 SECDED 동작을 수행할 수 있다. 메모리 장치(510)는 일부 경우에, 메모리 셀 어레이로부터 검색된 데이터로부터 새로운 에러 검출 정보를 생성할 수 있다. 메모리 장치(510)는 일부 경우에, 새로운 에러 검출 정보를 메모리 어레이로부터 검색된 에러 검출 정보와 비교할 수 있다. 다른 경우에, 메모리 장치(510)는 새로운 에러 검출 정보를 생성하지 않고, 메모리 어레이로부터 검색된 에러 검출 정보를 사용하여 에러 검출 동작(550)을 수행할 수 있다.
일부 경우에, 메모리 장치(510)는 555에서 에러 검출 정보에 기초하여 데이터의 에러를 식별할 수 있다. 예를 들어, 메모리 장치(510)는 에러 검출 정보에 포함된 SECDED 코드워드에 기초하여 데이터의 에러를 식별할 수 있다. 일부 경우에, 메모리 장치(510)는 에러 검출 정보에 포함된 패리티 비트에 기초하여 에러를 포함하는 데이터의 일부를 결정할 수 있다. 일부 다른 경우에, 메모리 장치(510)는 에러 검출 정보를 사용하여 데이터의 단일 비트 에러를 식별하고 데이터의 단일 에러를 정정할 수 있다. 추가로 또는 대안으로, 메모리 장치(510)는 에러 검출 정보를 사용하여 데이터 내의 더블 비트 에러를 식별할 수 있다.
도 6은 본원에 개시된 구성 가능한 에러 정정 모드를 지원하는 장치(605)의 블록도(600)를 도시한다. 장치(605)는 도 1, 3 및 5를 참조하여 본원에 개시된 메모리 장치(110), 메모리 장치(310), 및 메모리 장치(510)의 양태들의 일 예일 수 있다. 장치(605)는 모드 식별자(610), 데이터 트랜시버(615), 에러 감지 관리자(620), 데이터 저장 매니저(625), 에러 검출 매니저(630), 및 데이터 저장 매니저(635)를 포함할 수 있다. 이러한 모듈들 각각은 (예를 들어, 하나 이상의 버스들을 통해) 직접 또는 간접적으로 서로 통신할 수 있다.
모드 식별자(610)는 적어도 하나의 SEC 동작들을 수행하기 위한 제1 모드 및 SECDED 동작을 수행하기 위한 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별할 수 있다. 데이터 트랜시버(615)는 제2 모드로 동작하는 메모리 장치에 의해 채널을 통해 데이터를 수신할 수 있다. 에러 검출 매니저(620)는 채널을 통해 데이터를 수신하는 것에 기초하여 메모리 장치에 의해, SECDED 동작을 사용하여 데이터와 연관된 에러 검출 정보를 검출할 수 있다. 데이터 저장 매니저(625)는 메모리 셀 어레이에 데이터 및 에러 검출 정보를 저장할 수 있다. 일부 예들에서, 데이터 저장 매니저(625)는 메모리 셀 어레이로부터 데이터 및 에러 검출 정보를 검색할 수 있다. 일부 예들에서, 에러 검출 매니저(620)는, 메모리 장치에 의해, 데이터와 연관된 코드워드(예를 들어, SECDED 코드워드) 및 데이터의 일부들과 연관된 하나 이상의 패리티 비트들을 결정할 수 있다.
모드 식별자(610)는 메모리 장치가 SECDED 동작을 수행하기 위한 제2 모드에서 동작중이고, 메모리 장치는 적어도 하나의 SEC 동작을 수행하기 위한 제1 모드 및 제2 모드에서 동작하도록 구성되어 있음을 식별할 수 있다. 데이터 트랜시버(615)는 제2 모드로 동작하는 메모리 장치에 의해, 메모리 장치와 결합된 채널을 통해 데이터를 수신할 수 있다. 에러 검출 매니저(620)는 제2 모드에서 동작하는 메모리 장치에 기초하여 메모리 셀 어레이로부터 검색된 에러 검출 정보를 사용하여 메모리 셀 어레이로부터 검색된 데이터에 대한 SECDED 동작을 수행할 수 있다. 즉, 에러 검출 매니저(620)는 채널을 통해 수신된 데이터에 기초하여 장치(605)에서 에러 검출 정보를 생성할 수 있다. 데이터 저장 매니저(625)는 데이터, SECDED 코드워드, 및 하나 이상의 패리티 비트를 메모리 셀 어레이에 저장할 수 있다. 일부 예들에서, 데이터 저장 매니저(625)는 메모리 셀 어레이로부터 데이터, SECDED 코드워드, 및 하나 이상의 패리티 비트들을 검색할 수 있고, 여기서 메모리 셀 어레이로부터 검색된 SECDED 코드워드 및 하나 이상의 패리티 비트들을 사용하여 메모리 셀 어레이로부터 검색된 데이터에 대해 에러 검출 동작이 수행된다. 일부 예들에서, 에러 검출 매니저(620)는 제2 모드에서 동작하는 메모리 장치에 기초하여 SECDED 코드워드 및 하나 이상의 패리티 비트들을 이용하여 데이터에 대한 에러 검출 동작을 수행할 수 있다.
일부 예들에서, 모드 식별자(610)는 메모리 장치의 모드 레지스터로부터 메모리 장치를 동작시키기 위한 모드의 표시자를 검색할 수 있고, 여기서 메모리 장치가 제2 모드에서 동작하고 있다는 것을 식별하는 것은 모드 레지스터로부터 표시자를 검색하는 것에 기초한다. 일부 경우에, 모드 식별자(610)는 장치(605)가 에러 정정을 수행하기 위한 특정 모드에 따라 동작하도록 미리 구성되어 있다고 결정할 수 있다. 예를 들어, 모드 레지스터는 공장에서 에러 정정을 수행하기 위한 모드를 나타내는 값으로 하드 설정될 수 있다. 다른 예에서, 장치(605)는 에러 정정을 수행하기 위한 특정 모드에 따라 동작하도록 (예를 들어, 마스크 또는 퓨즈에 의해) 하드 코딩될 수 있다.
일부 예들에서, 모드 식별자(610)는 호스트 장치로부터, 메모리 장치가 제2 모드에서 동작할 것을 요청하는 표시자를 수신할 수 있다. 일부 예들에서, 모드 식별자(610)는 표시자의 수신에 기초하여 제1 모드에서 제2 모드로 전환할 수 있으며, 여기서 메모리 장치가 제2 모드에서 동작하고 있다는 식별하는 것은 제1 모드에서 제2 모드로 전환하는 것에 기초한다. 일부 예들에서(예를 들어, 메모리 장치를 동작시키기 위한 모드가 메모리 장치에 하드 코딩되지 않는 예에서), 모드 식별자(610)는, 호스트 장치로부터, 메모리 장치가 제1 모드로 동작하도록 요청하는 표시자를 수신할 수 있다.
일부 예들에서, 모드 식별자(610)는 식별자에 기초하여 제2 모드에서 제1 모드로 전환할 수 있다. 일부 경우에, 제1 모드에서 동작하는 메모리 장치에 의해 결정된 에러 검출 정보는 데이터의 제1 부분과 연관된 제1 코드워드(예를 들어, 제1 SEC 코드워드) 및 데이터의 제2 부분과 연관된 제2 코드워드(예를 들어, 제2 SEC 코드워드)를 포함한다. 일부 경우에, 채널은 16개의 전도성 경로들을 갖는다.
일부 예들에서, 에러 검출 매니저(620)는 메모리 장치가 제2 모드에서 동작하고 있다는 것을 식별하는 것에 기초하여 호스트 장치로부터 수신된 데이터 내의 에러들을 정정하도록 메모리 장치를 구성할 수 있고, 여기서 SECDED 동작을 수행하는 것은 메모리 장치를 구성하는 것에 기초한다.
일부 예들에서, 에러 검출 매니저(620)는 에러 검출 정보에 포함된 SECDED 코드워드에 기초하여 메모리 셀 어레이로부터 검색된 데이터 내 에러를 식별할 수 있다. 일부 예들에서, 에러 검출 매니저(620)는 에러 검출 정보에 포함된 패리티 비트에 기초하여 에러를 포함하는 데이터의 일부를 결정할 수 있다.
일부 예들에서, 에러 검출 매너저(620)는 에러 검출 정보를 사용하여 메모리 셀 어레이로부터 검색된 데이터의 단일 비트 에러를 식별할 수 있다. 일부 예들에서, 에러 검출 매니저(620)는 데이터 내의 단일 비트 에러를 정정할 수 있다.
일부 예들에서, 에러 검출 매니저(620)는 에러 검출 정보를 사용하여 메모리 셀 어레이로부터 검색된 데이터 내의 더블 비트 에러를 식별할 수 있다. 일부 예들에서, 에러 검출 매니저(620)는 데이터의 에러를 정정하지 않고 더블 비트 에러의 표시자를 갖는 데이터를 다른 장치로 전송할 수 있다. 일부 예들에서, 에러 검출 매니저(620)는 SECDED 코드워드에 기초하여 데이터 내의 에러를 식별할 수 있다.
일부 예들에서, 에러 검출 매니저(620)는 하나 이상의 패리티 비트들의 패리티 비트에 기초하여 에러를 포함하는 데이터의 부분을 결정할 수 있고, 여기서 에러 검출 동작을 수행하는 것은 에러를 포함하는 데이터의 부분을 결정하는 것에 기초한다. 일부 경우에, 메모리 장치에 의해 결정된 에러 검출 정보는 데이터의 일부들과 연관된 코드워드(예를 들어, SECDED ECC 코드워드) 및 하나 이상의 패리티 비트들을 포함한다. 일부 경우에, 코드워드는 10비트를 포함한다. 일부 인스턴스들에서, 코드워드는 ECC 코드워드이다.
일부 경우에, 에러 검출 정보에 포함된 코드워드(예를 들어, SECDED 코드워드)는 모든 데이터와 연관된다. 일부 경우에, 하나 이상의 패리티 비트들 중 제1 패리티 비트는 데이터의 제1 부분과 연관된다. 일부 경우에, 하나 이상의 패리티 비트들 중 제2 패리티 비트는 데이터의 제2 부분과 연관된다. 일부 경우에, SECDED 코드워드는 10비트를 포함한다. 일부 경우에, 하나 이상의 패리티 비트들은 4비트를 포함한다.
데이터 저장 매니저(625)는 SECDED 동작을 사용하여 결정된 데이터와 연관된 에러 검출 정보를 SEC 동작을 사용하여 결정된 데이터와 연관된 에러 검출 정보를 저장하기 위한 어레이 영역에 저장할 수 있다.
도 7은 본 개시의 양태들에 따른 구성 가능한 에러 정정 모드들로 메모리 장치를 지원하는 방법 또는 방법들(700)을 예시하는 흐름도를 도시한다. 방법(700)의 동작들은 메모리 장치(예를 들어, 도 1, 3 및 5를 참조하여 본원에 개시된 메모리 장치(110), 메모리 장치(310), 및 메모리 장치(510)) 또는 본원에 기술된 바와 같은 그 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(700)의 동작들은 도 6을 참조하여 설명된 바와 같은 메모리 장치에 의해 수행될 수 있다. 일부 예들에서, 메모리 장치는 설명된 기능들을 수행하도록 메모리 장치의 기능 요소들을 제어하기 위한 인스트럭션 세트를 실행할 수 있다. 추가로 또는 대안으로, 메모리 장치는 특수 목적 하드웨어를 사용하여 설명된 기능들의 측면들을 수행할 수 있다.
705에서, 메모리 장치는 적어도 하나의 SEC 동작들을 수행하기 위한 제1 모드 및 SECDED 동작을 수행하기 위한 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별할 수 있다. 705의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 705의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 모드 식별자에 의해 수행될 수 있다.
710에서, 메모리 장치는 제2 모드로 동작하는 메모리 장치에 의해 채널을 통해 데이터를 수신할 수 있다. 일부 경우에, 메모리 장치는 내부 채널에 의해 (예를 들어, 도 2를 참조하여 논의된 바와 같이) ECC 블록과 어레이 사이에서 데이터를 전달할 수 있다. 710의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 710의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 데이터 트랜시버에 의해 수행될 수 있다.
715에서, 메모리 장치는, 채널을 통해 데이터를 수신하는 것에 기초하여 메모리 장치에 의해, SECDED 동작을 사용하여 데이터와 연관된 에러 검출 정보를 결정할 수 있다. 715의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 715의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 에러 검출 매니저에 의해 수행될 수 있다.
720에서, 메모리 장치는 제2 모드에서 동작하는 메모리 장치에 기초한 에러 검출 정보를 사용하여 데이터에 대한 SECDED 동작을 수행할 수 있다. 720의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 720의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 에러 검출 매니저에 의해 수행될 수 있다.
도 8은 본 개시의 양태들에 따른 구성 가능한 에러 정정 모드들로 메모리 장치를 지원하는 방법 또는 방법들(800)을 예시하는 흐름도를 도시한다. 방법(800)의 동작들은 메모리 장치(예를 들어, 도 1, 3 및 5를 참조하여 본원에 개시된 메모리 장치(110), 메모리 장치(310), 및 메모리 장치(510)) 또는 본원에 기술된 바와 같은 그 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(800)의 동작들은 도 6을 참조하여 설명된 바와 같은 메모리 장치에 의해 수행될 수 있다. 일부 예들에서, 메모리 장치는 설명된 기능들을 수행하도록 메모리 장치의 기능 요소들을 제어하기 위한 인스트럭션 세트를 실행할 수 있다. 추가로 또는 대안으로, 메모리 장치는 특수 목적 하드웨어를 사용하여 설명된 기능들의 측면들을 수행할 수 있다.
805에서, 메모리 장치는 적어도 하나의 SEC 동작들을 수행하기 위한 제1 모드 및 SECDED 동작을 수행하기 위한 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별할 수 있다. 805의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 805의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 모드 식별자에 의해 수행될 수 있다.
810에서, 메모리 장치는 제2 모드로 동작하는 메모리 장치에 의해 채널을 통해 데이터를 수신할 수 있다. 일부 경우에, 메모리 장치는 내부 채널에 의해 (예를 들어, 도 2를 참조하여 논의된 바와 같이) ECC 블록과 어레이 사이에서 데이터를 전달할 수 있다. 810의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 810의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 데이터 트랜시버에 의해 수행될 수 있다.
815에서, 메모리 장치는, 채널을 통해 데이터를 수신하는 것에 기초하여 메모리 장치에 의해, SECDED 동작을 사용하여 데이터와 연관된 에러 검출 정보를 결정할 수 있다. 815의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 815의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 에러 검출 매니저에 의해 수행될 수 있다.
820에서, 데이터 장치는 메모리 셀 어레이에 데이터 및 에러 검출 정보를 저장할 수 있다. 820의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 820의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 데이터 저장 매니저에 의해 수행될 수 있다.
825에서, 메모리 장치는 메모리 셀 어레이로부터 데이터 및 에러 검출 정보를 검색할 수 있다. 825의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 825의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 데이터 저장 매니저에 의해 수행될 수 있다.
830에서, 메모리 장치는 제2 모드에서 동작하는 메모리 장치에 기초하여 메모리 셀 어레이로부터 검색된 에러 검출 정보를 사용하여 메모리 셀 어레이로부터 검색된 데이터에 대한 SECDED 동작을 수행할 수 있다. 830의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 830의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 에러 검출 매니저에 의해 수행될 수 있다.
일부 예들에서, 본원에 설명된 바와 같은 장치는 방법(800)과 같은, 방법 또는 방법들을 수행할 수 있다. 장치는, 적어도 하나의 SEC 동작을 수행하는 제1 모드 및 SECDED 동작을 수행하는 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별하고, 제2 모드에서 동작하는 메모리 장치에 의해, 채널을 통해 데이터를 수신하고, 채널을 통해 데이터를 수신하는 기초하여 메모리 장치에 의해, SECDED 동작을 사용하여 데이터와 연관된 에러 검출 정보를 결정하고, 메모리 셀 어레이로부터 데이터 및 에러 검출 정보를 검색하고, 제2 모드에서 동작하는 메모리 장치에 기초하여 메모리 셀 어레이로부터 검색된 에러 검출 정보를 사용하여 메모리 셀 어레이로부터 검색된 데이터에 대한 SECDED 동작을 수행하기 위한 특징들, 수단들 또는 인스트럭션들(예를 들어, 프로세서에 의해 실행 가능한 인스트럭션들을 저장하는 비일시적 컴퓨터 판독 가능 매체)을 포함할 수 있다.
본원에 설명된 방법(800) 및 장치의 일부 예들은 메모리 장치가 제2 모드에서 동작될 수 있음을 식별하는 것에 기초하여 호스트 장치로부터 수신된 데이터 내의 에러들을 정정하도록 메모리 장치를 구성하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있으며, SECDED 동작을 수행하는 것은 메모리 장치를 구성하는 것에 기초할 수 있다.
본원에 설명된 방법(800) 및 장치의 일부 예들은 메모리 장치의 모드 레지스터로부터 메모리 장치를 동작시키기 위한 모드의 표시자를 검색하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있으며, 메모리 장치가 제2 모드에서 동작될 수 있음을 식별하는 것은 모드 레지스터로부터 표시자를 검색하는 것에 기초할 수 있다.
본원에 설명된 방법(800) 및 장치의 일부 예들에서, 메모리 장치에 의해 결정된 에러 검출 정보는 데이터의 일부들과 연관된 코드워드(예를 들어, SECDED 코드워드) 및 하나 이상의 패리티 비트들을 포함한다.
본원에 설명된 방법(800) 및 장치의 일부 예들은 에러 검출 정보에 포함된 SECDED 코드워드에 기초하여 메모리 셀 어레이로부터 검색된 데이터 내의 에러를 식별하고, 에러 검출 정보에 포함된 패리티 비트에 기초하여 에러를 포함하는 데이터 일부를 결정하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있다.
본원에 설명된 방법(800) 및 장치의 일부 예들에서, SECDED 코드워드는 10비트를 포함한다.
본원에 설명된 방법(800) 및 장치의 일부 인스턴스들에서, 코드워드는 ECC 코드워드이다.
본원에 설명된 방법(800) 및 장치의 일부 인스턴스들에서, SECDED 동작을 수행하는 것은 에러 검출 정보를 사용하여 메모리 셀 어레이로부터 검색된 데이터 내의 단일 비트 에러를 식별하고, 데이터 내의 단일 비트 에러를 정정하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 포함할 수 있다.
본원에 설명된 방법(800) 및 장치의 일부 예들에서, SECDED 동작을 수행하는 것은 에러 검출 정보를 사용하여 메모리 셀 어레이로부터 검색된 데이터 내의 더블 비트 에러를 식별하고, 더블 비트 에러의 표시자를 갖는 데이터를 다른 장치로 전송하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 포함할 수 있다.
본원에 설명된 방법(800) 및 장치의 일부 예들에서, 채널은 16개의 전도성 경로들을 가질 수 있다.
본원에 설명된 방법(800) 또는 장치의 일부 예들에서, 제1 모드에서 동작하는 메모리 장치에 의해 결정된 에러 검출 정보는 데이터의 제1 부분과 연관된 제1 코드워드(예를 들어, 제1 SEC 코드워드) 및 데이터의 제2 부분과 연관된 제2 코드워드(예를 들어, 제2 SEC 코드워드)를 포함한다.
본원에 설명된 방법(800) 및 장치의 일부 예들에서, 에러 검출 정보에 포함된 코드워드(예를 들어, SECDED 코드워드)는 모든 데이터와 연관될 수 있다.
본원에 설명된 방법(800) 및 장치의 일부 예들은 호스트 장치로부터, 메모리 장치가 제2 모드에서 동작하도록 요청하는 표시자를 수신하고, 식별자를 수신하는 것에 기초하여 제1 모드에서 제2 모드에서 전환하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있으며, 메모리 장치를 동작시키는 것은 제1 모드로 동작시키는 것일 수 있으며, 제1 모드에서 제2 모드로 전환하는 것에 기초할 수 있다.
본원에 설명된 방법(800) 및 장치의 일부 경우에, SECDED 동작을 이용한 데이터와 연관된 에러 검출 정보는 SEC 동작을 이용한 데이터와 연관된 에러 검출 정보를 저장하기 위한 영역의 영역에 저장된다.
도 9는 본 개시의 양태들에 따른 구성 가능한 에러 정정 모드들로 메모리 장치를 지원하는 방법 또는 방법들(900)을 예시하는 흐름도를 도시한다. 방법(900)의 동작들은 메모리 장치(예를 들어, 도 1, 3 및 5를 참조하여 본원에 개시된 메모리 장치(110), 메모리 장치(310), 및 메모리 장치(510)) 또는 본원에 기술된 바와 같은 그 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 방법(900)의 동작들은 도 6을 참조하여 설명된 바와 같은 메모리 장치에 의해 수행될 수 있다. 일부 예들에서, 메모리 장치는 설명된 기능들을 수행하도록 메모리 장치의 기능 요소들을 제어하기 위한 인스트럭션 세트를 실행할 수 있다. 추가로 또는 대안으로, 메모리 장치는 특수 목적 하드웨어를 사용하여 설명된 기능들의 측면들을 수행할 수 있다.
905에서, 메모리 장치는 적어도 하나의 SEC 동작들을 수행하기 위한 제1 모드 및 SECDED 동작을 수행하기 위한 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별할 수 있다. 905의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 905의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 모드 식별자에 의해 수행될 수 있다.
910에서, 메모리 장치는 제2 모드로 동작하는 메모리 장치에 의해, 메모리 장치와 결합된 채널을 통해 데이터를 수신할 수 있다. 910의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 910의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 데이터 트랜시버에 의해 수행될 수 있다.
915에서, 메모리 장치는, 메모리 장치에 의해, 데이터와 연관된 코드워드(예를 들어, SECDED 코드워드) 및 데이터의 일부들과 연관된 하나 이상의 패리티 비트들을 결정할 수 있다. 915의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 915의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 에러 검출 매니저에 의해 수행될 수 있다.
920에서, 메모리 장치는 제2 모드에서 동작하는 메모리 장치에 기초하여 SECDED 코드워드 및 하나 이상의 패리티 비트들을 이용하여 데이터에 대한 에러 검출 동작을 수행할 수 있다. 920의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 920의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 에러 검출 매니저에 의해 수행될 수 있다.
일부 예들에서, 본원에 설명된 바와 같은 장치는 방법(900)과 같은, 방법 또는 방법들을 수행할 수 있다. 장치는 적어도 SEC 동작을 수행하는 제1 모드 및 SECDED 동작을 수행하는 제2 모드에서 동작하도록 구성되는 메모리 장치가 제2 모드에서 동작중임을 식별하고, 제2 모드에서 동작하는 메모리 장치에 의해, 메모리 장치와 결합된 데이터 채널을 통해 데이터를 수신하고, 메모리 장치에 의해, 데이터와 연관된 코드워드(예를 들어, SECDED 코드워드) 및 데이터의 일부들과 연관된 하나 이상의 패리티 비트들을 결정하고, 제2 모드에서 동작하는 메모리 장치에 기초한 SECDED 코드워드 및 하나 이상의 패리티 비트들을 사용하여 데이터에 대한 에러 검출 동작을 수행하기 위한 특징들, 수단들 또는 인스트럭션들(예를 들어, 프로세서에 의해 실행 가능한 인스트럭션들을 저장하는 비일시적 컴퓨터 판독 가능 매체)을 포함할 수 있다.
본원에 설명된 방법(900) 및 장치의 일부 예들은 메모리 셀 어레이에 데이터, SECDED 코드워드, 및 하나 이상의 패리티 비트들을 저장하고, 메모리 셀 어레이로부터 데이터, SECDED 코드워드, 및 하나 이상의 패리티 비트들을 검색하기 위한 동작들, 특징들, 수단들, 또는 인스트럭션들을 더 포함할 수 있으며, SECDED 코드워드를 사용하여 메모리 셀 어레이로부터 검색된 데이터 및 메모리 셀 어레이로부터 검색된 하나 이상의 패리티 비트들에 대해 에러 검출 동작이 수행될 수 있다.
본원에 설명된 방법(900) 및 장치의 일부 예들은 SECDED 코드워드에 기초하여 데이터 내의 에러를 식별하고, 하나 이상의 패리티 비트들의 패리티 비트에 기초하여 에러를 포함하는 데이터의 일부를 결정하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있으며, 에러 검출 동작을 수행하는 것은 에러를 포함하는 데이터의 일부를 결정하는 것에 기초할 수 있다.
본원에 설명된 방법(900) 및 장치의 일부 예들에서, 하나 이상의 패리티 비트들 중 제1 패리티 비트는 데이터의 제1 부분과 연관될 수 있고, 하나 이상의 패리티 비트들 중 제2 패리티 비트는 데이터의 제2 부분과 연관될 수 있다.
본원에 설명된 방법(900) 및 장치의 일부 예들에서, SECDED 코드워드는 10비트를 포함하며, 하나 이상의 패리티 비트들은 4비트, 5비트 또는 6비트를 포함한다.
도 10은 본원에 개시된 바와 같은 구성 가능한 에러 정정 모드를 지원하는 방법(1000)을 예시하는 흐름도를 도시한다. 방법(1000)의 동작들은 메모리 장치(예를 들어, 도 1, 3 및 5를 참조하여 본원에 개시된 메모리 장치(110), 메모리 장치(310), 및 메모리 장치(510)) 또는 본원에 기술된 바와 같은 그 컴포넌트들에 의해 구현될 수 있다. 일부 예들에서, 메모리 장치는 본원에 설명된 기능들을 수행하도록 메모리 장치의 기능적 요소들을 제어하기 위한 인스트럭션 세트를 실행시킬 수 있다. 추가로 또는 대안으로, 메모리 장치는 특수 목적 하드웨어를 사용하여 본원에 설명된 기능들의 양태들을 수행할 수 있다.
1005에서, 메모리 장치는 적어도 하나의 SEC 동작들을 수행하기 위한 제1 모드 및 적어도 하나의 SECDED 동작을 수행하기 위한 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별할 수 있다. 1005의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1005의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 모드 식별자에 의해 수행될 수 있다.
1010에서, 메모리 장치는, 제2 모드에서 동작하는 메모리 장치에 의해, 제1 채널을 통한 데이터 및 제2 채널을 통한 데이터와 연관된 에러 검출 정보를 수신할 수 있다. 1010의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1010의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 데이터 트랜시버에 의해 수행될 수 있다.
1015에서, 메모리 장치는 제2 모드에서 동작하는 메모리 장치에 기초한 에러 검출 정보를 사용하여 데이터에 대한 SECDED 동작을 수행할 수 있다. 1015의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1015의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 에러 검출 매니저에 의해 수행될 수 있다.
도 11은 본원에 개시된 바와 같은 구성 가능한 에러 정정 모드를 지원하는 방법 또는 방법들(1100)을 예시하는 흐름도를 도시한다. 방법(1100)의 동작들은 메모리 장치(예를 들어, 도 1, 3 및 5를 참조하여 본원에 개시된 메모리 장치(110), 메모리 장치(310), 및 메모리 장치(510)) 또는 본원에 기술된 바와 같은 그 컴포넌트들에 의해 구현될 수 있다. 일부 예들에서, 메모리 장치는 본원에 설명된 기능들을 수행하도록 메모리 장치의 기능적 요소들을 제어하기 위한 인스트럭션 세트를 실행시킬 수 있다. 추가로 또는 대안으로, 메모리 장치는 특수 목적 하드웨어를 사용하여 본원에 설명된 기능들의 양태들을 수행할 수 있다.
1105에서, 메모리 장치는 적어도 하나의 SEC 동작들을 수행하기 위한 제1 모드 및 SECDED 동작을 수행하기 위한 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별할 수 있다. 1105의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1105의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 모드 식별자에 의해 수행될 수 있다.
1110에서, 메모리 장치는 메모리 장치가 제2 모드에서 동작하고 있다는 것을 식별하는 것에 기초하여 호스트 장치로부터 수신된 데이터 내의 에러들을 정정하도록 메모리 장치를 구성할 수 있으며, SECDED 동작을 수행하는 것은 메모리 장치를 구성하는 것에 기초한다. 1110의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1110의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 모드 식별자에 의해 수행될 수 있다.
1115에서, 메모리 장치는, 제2 모드에서 동작하는 메모리 장치에 의해, 제1 채널을 통한 데이터 및 제2 채널을 통한 데이터와 연관된 에러 검출 정보를 수신할 수 있다. 1115의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1115의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 데이터 트랜시버에 의해 수행될 수 있다.
1120에서, 메모리 장치는 제2 모드에서 동작하는 메모리 장치에 기초한 에러 검출 정보를 사용하여 데이터에 대한 SECDED 동작을 수행할 수 있다. 1120의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1120의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 에러 검출 매니저에 의해 수행될 수 있다
일부 예들에서, 본원에 설명된 바와 같은 장치는 방법(1100)과 같은, 방법 또는 방법들을 수행할 수 있다. 장치는 적어도 하나의 SEC 동작을 수행하는 제1 모드 및 SECDED 동작을 수행하는 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별하고, 제2 모드에서 동작하는 메모리 장치에 의해, 제1 채널을 통한 데이터 및 제2 채널을 통한 데이터와 연관된 에러 검출 정보를 수신하고, 제2 모드에서 동작하는 메모리 장치에 기초하여 에러 검출 정보를 사용하여 데이터에 대한 SECDED 동작을 수행하기 위한 특징들, 수단들 또는 인스트럭션들(예를 들어, 프로세서에 의해 실행 가능한 인스트럭션들을 저장하는 비일시적 컴퓨터 판독 가능 매체)을 포함할 수 있다.
방법(1100)의 일부 예들 및 본원에 설명된 장치는 메모리 장치가 제2 모드에서 동작될 수 있음을 식별하는 것에 기초하여 호스트 장치로부터 수신된 데이터 내의 에러들을 정정하도록 메모리 장치를 구성하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있으며, SECDED 동작을 수행하는 것은 메모리 장치를 구성하는 것에 기초할 수 있다.
방법(1100)의 일부 예들 및 본원에 설명된 장치는 메모리 장치의 모드 레지스터로부터 메모리 장치를 동작시키기 위한 모드의 표시자를 검색하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있으며, 메모리 장치가 제2 모드에서 동작될 수 있음을 식별하는 것은 모드 레지스터로부터 표시자를 검색하는 것에 기초할 수 있다.
본원에 설명된 방법(1100) 및 장치의 일부 예들에서, 에러 검출 채널을 통해 수신된 에러 검출 정보는 데이터의 일부들과 연관된 코드워드(예를 들어, SECDED 코드워드) 및 하나 이상의 패리티 비트들을 포함한다.
본원에 설명된 방법(1100) 및 장치의 일부 예들은 에러 검출 정보에 포함된 SECDED 코드워드에 기초하여 데이터 내의 에러를 식별하고, 에러 검출 정보에 포함된 패리티 비트에 기초한 에러를 포함하는 데이터 일부를 결정하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있다.
본원에 설명된 방법(1100) 및 장치의 일부 예들에서, 에러 검출 정보에서 수신된 SECDED 코드워드는 10비트를 포함한다.
본원에 설명된 방법(1100) 및 장치의 일부 예들에서, SECDED 동작을 수행하는 것은 에러 검출 정보를 사용하여 데이터 내의 단일 비트 에러를 식별하고, 데이터 내의 단일 에러를 정정하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 포함할 수 있다.
본원에 설명된 방법(1100) 및 장치의 일부 예들에서, SECDED 동작을 수행하는 것은 에러 검출 정보를 사용하여 데이터 내의 더블 비트 에러를 식별하고, 데이터 내의 에러를 정정하지 않고 메모리 장치의 메모리 셀 어레이에 데이터를 저장하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 포함할 수 있다.
본원에 설명된 방법(1100) 및 장치의 일부 예들은 에러 검출 정보를 사용하여 데이터에 대한 SECDED 동작을 수행하는 것에 기초하여 메모리 장치의 메모리 셀 어레이에 데이터를 저장하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있다.
본원에 설명된 방법(1100) 및 장치의 일부 예들에서, 제1 채널은 16개의 전도성 경로들을 가질 수 있다. 일부 경우에, 제2 채널은 단일 전도성 경로를 가질 수 있다.
본원에 설명된 방법(1100) 및 장치의 일부 예들에서, 제1 모드에서 동작하는 메모리 장치에 의해 에러 검출 채널을 통해 수신된 제2 에러 검출 정보는 데이터의 제1 부분과 연관된 제1 코드워드(예를 들어, 제1 SEC 코드워드) 및 데이터의 제2 부분과 연관된 제2 코드워드(예를 들어, 제2 SEC 코드워드)를 포함한다.
본원에 설명된 방법(1100) 및 장치의 일부 예들에서, 에러 검출 정보에 포함된 코드워드(예를 들어, SECDED 코드워드)는 모든 데이터와 연관될 수 있다.
본원에 설명된 방법(1100) 및 장치의 일부 예들은 호스트 장치로부터, 메모리 장치가 제2 모드에서 동작하도록 요청하는 표시자를 수신하고, 식별자를 수신하는 것에 기초하여 제1 모드에서 제2 모드에서 전환하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있으며, 메모리 장치를 동작시키는 것은 제1 모드로 동작시키는 것일 수 있으며, 제1 모드에서 제2 모드로 전환하는 것에 기초할 수 있다.
도 12는 본원에 개시된 바와 같은 구성 가능한 에러 정정 모드를 지원하는 방법 또는 방법들(1200)을 예시하는 흐름도를 도시한다. 방법(1200)의 동작들은 메모리 장치(예를 들어, 도 1, 3 및 5를 참조하여 본원에 개시된 메모리 장치(110), 메모리 장치(310), 및 메모리 장치(510)) 또는 본원에 기술된 바와 같은 그 컴포넌트들에 의해 구현될 수 있다. 일부 예들에서, 메모리 장치는 본원에 설명된 기능들을 수행하도록 메모리 장치의 기능적 요소들을 제어하기 위한 인스트럭션 세트를 실행시킬 수 있다. 추가로 또는 대안으로, 메모리 장치는 특수 목적 하드웨어를 사용하여 본원에 설명된 기능들의 양태들을 수행할 수 있다.
1205에서, 메모리 장치는 적어도 하나의 SEC 동작들을 수행하기 위한 제1 모드 및 SECDED 동작을 수행하기 위한 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별할 수 있다. 1205의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1205의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 모드 식별자에 의해 수행될 수 있다.
1210에서, 메모리 장치는, 제2 모드에서 동작하는 메모리 장치에 의해, 메모리 장치의 데이터 채널을 통한 데이터, 메모리 장치의 에러 검출 채널을 통한 데이터와 연관된 코드워드(예를 들어, SECDED ECC 코드워드), 및 메모리 장치의 에러 검출 채널을 통한 데이터의 일부들과 연관된 하나 이상의 패리티 비트들을 수신할 수 있다. 1210의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1210의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 데이터 트랜시버에 의해 수행될 수 있다.
1215에서, 메모리 장치는 제2 모드에서 동작하는 메모리 장치에 기초하여 SECDED 코드워드 및 하나 이상의 패리티 비트들을 이용하여 데이터에 대한 에러 검출 동작을 수행할 수 있다. 1215의 동작들은 본원에 설명된 방법들에 따라 수행될 수 있다. 일부 예들에서, 1215의 동작들의 양태들은 도 6을 참조하여 설명된 바와 같이 에러 검출 매니저에 의해 수행될 수 있다.
일부 예들에서, 본원에 설명된 바와 같은 장치는 방법(1200)과 같은, 방법 또는 방법들을 수행할 수 있다. 장치는 적어도 SEC 동작을 수행하는 제1 모드 및 SECDED 동작을 수행하는 제2 모드에서 동작하도록 구성되는 메모리 장치가 제2 모드에서 동작중임을 식별하고, 제2 모드에서 동작하는 메모리 장치에 의해, 메모리 장치의 데이터 채널을 통해 데이터, 메모리 장치의 에러 검출 채널을 통해 데이터와 연관된 코드워드(예를 들어, SECDED 코드워드) 및 메모리 장치의 에러 검출 채널을 통한 데이터의 일부들과 연관된 하나 이상의 패리티 비트들을 수신하고, 제2 모드에서 동작하는 메모리 장치에 기초한 SECDED 코드워드 및 하나 이상의 패리티 비트들을 사용하여 데이터에 대한 에러 검출 동작을 수행하기 위한 특징들, 수단들 또는 인스트럭션들(예를 들어, 프로세서에 의해 실행 가능한 인스트럭션들을 저장하는 비일시적 컴퓨터 판독 가능 매체)을 포함할 수 있다.
본원에 설명된 방법(1200) 및 장치의 일부 예들은 SECDED 코드워드에 기초하여 데이터 내의 에러를 식별하고, 하나 이상의 패리티 비트들의 패리티 비트에 기초하여 에러를 포함하는 데이터의 일부를 결정하기 위한 동작들, 특징들, 수단들 또는 인스트럭션들을 더 포함할 수 있으며, 에러 검출 동작을 수행하는 것은 에러를 포함하는 데이터의 일부를 결정하는 것에 기초할 수 있다.
본원에 설명된 방법(1200) 및 장치의 일부 예들에서, 하나 이상의 패리티 비트들 중 제1 패리티 비트는 데이터의 제1 부분과 연관될 수 있고, 하나 이상의 패리티 비트들 중 제2 패리티 비트는 데이터의 제2 부분과 연관될 수 있다.
본원에 설명된 방법(1200) 및 장치의 일부 예들에서, SECDED 코드워드는 10비트를 포함하며, 하나 이상의 패리티 비트들은 4비트를 포함한다.
상기 설명된 방법들은 가능한 구현들을 설명하고, 동작들 및 단계들은 재배열되거나 또는 그 외 수정될 수 있으며, 다른 구현들이 가능하다는 것에 주의해야 한다. 게다가, 둘 이상의 방법들로부터의 양태들이 조합될 수 있다.
일부 예들에서, 구성 가능한 에러 정정 모드를 갖는 장치는 범용 또는 특수 목적 하드웨어를 사용하여 본원에 설명된 기능의 양태들을 수행할 수 있다. 장치는 각각이 전도성 요소들을 포함하는 메모리 셀 어레이, 호스트 장치와 데이터 채널을 통해 데이터 및 에러 검출 채널을 통한 에러 검출 정보를 통신하도록 구성된 트랜시버, 및 트랜시버와 결합되고 적어도 하나의 SEC 동작을 사용하여 데이터와 연관된 에러 검출 정보를 결정하기 위해 제1 모드에 동작하도록 구성되고 SECDED 동작을 사용하여 데이터와 연관된 에러 검출 정보를 결정하기 위해 제2 모드에서 동작하도록 구성된 에러 검출 로직을 포함할 수 있다.
일부 경우에, 에러 검출 로직은 제2 모드에서 동작할 때 데이터 채널을 통해 수신된 데이터에 대한 SECDED 동작을 수행하도록 구성될 수 있으며, 에러 검출 로직은 데이터 채널을 통해 수신된 데이터의 제1 부분에 대한 제1 SEC 동작 및 제1 모드에서 동작할 때 데이터의 제2 부분에 대한 제2 SEC 동작을 수행하도록 구성될 수 있다.
일부 경우에, 에러 검출 로직은 에러 검출 로직이 제2 모드에서 동작할 수 있다는 것을 식별하고 식별하는 것에 기초하여 에러 검출 로직을 구성하도록 구성된 로직을 제어할 수 있다.
일부 경우에, 장치는 에러 검출 로직을 동작시키기 위한 모드의 표시자를 저장하도록 구성된 모드 레지스터를 포함할 수 있으며, 에러 검출 로직은 모드 레지스터에 저장된 표시자에 기초하여 제2 모드에서 동작하도록 구성될 수 있다.
일부 경우에, 에러 검출 채널을 통해 수신되거나 에러 검출 로직에 의해 결정된 에러 검출 정보는 데이터의 일부들과 연관된 코드워드(예를 들어, SECDED 코드워드) 및 하나 이상의 패리티 비트들을 포함한다.
일부 경우에, 에러 검출 로직은 데이터 검출 정보를 사용하여 데이터 내의 단일 비트 에러를 식별하고 데이터 내의 단일 에러를 정정하도록 구성될 수 있다.
일부 인스턴스들에서, 에러 검출 로직은 제2 모드에서 동작할 때, 에러 검출 정보를 사용하여 데이터 내의 더블 비트 에러를 식별하고 데이터 내의 에러를 정정하지 않고 메모리 셀 어레이에 데이터를 저장하도록 구성될 수 있다.
일부 경우에, 메모리 셀 어레이는 에러 검출 로직에 의해 결정된 데이터 및 에러 검출 정보를 저장하도록 구성될 수 있으며, 에러 검출 로직은 메모리 셀 어레이로부터 검색된 에러 검출 정보를 사용하여 메모리 셀 어레이로부터 검색된 데이터에 대한 SECDED 동작을 수행하도록 구성될 수 있다.
특정 특징들이 DRAM 기술에 대해 또는 그의 맥락에서 본원에 설명될 수 있지만, 이는 예시만을 위한 것이며, 당업자는 본원의 교시들이 메모리 장치의 모든 유형에 적용될 수 있다는 것을 이해할 것이다. 예를 들어, 본원의 교시들은 자기 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 동적 RAM(DRAM), 동기식 동적 RAM(SDRAM), 강유전성 RAM(FeRAM), 자기 RAM(MRAM), 저항성 RAM(RRAM), 플래시 메모리, 상 변화 메모리(PCM) 등과 같은 휘발성 또는 비휘발성 메모리 장치들에 적용될 수 있다.
본 출원에서 설명된 정보 및 신호들은 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수 있는 데이터, 인스트럭션들, 명령들, 정보, 신호들, 비트들, 부호들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학 필드들 또는 입자들, 또는 그의 임의의 조합에 의해 표현될 수 있다. 일부 도면들은 신호들을 단일 신호로서 예시할 수 있지만; 그러나, 신호는 신호들의 버스를 나타낼 수 있으며, 버스는 다양한 비트 폭들을 가질 수 있다는 것이 이 기술분야에서의 통상의 숙련자에 의해 이해될 것이다.
본원에 사용된 바와 같이, "가상 접지(virtual ground)"라는 용어는 대략 0 볼트(0V)의 전압으로 유지되지만 접지와 직접 결합되지 않은 전기 회로의 노드를 지칭한다. 따라서, 가상 접지의 전압이 일시적으로 변동하고 정상 상태에서 대략 0V로 리턴될 수 있다. 가상 접지는 연산 증폭기들 및 저항들로 구성된 전압 분배기와 같은 다양한 전자 회로 소자들을 사용하여 구현될 수 있다. 다른 구현예들도 가능하다. "가상 접지(Virtual grounding)" 또는 "사실상 접지(virtually grounded)"는 약 0V에 연결된 것을 의미한다.
"전자 통신(electronic communication)", "전도성 콘택(conductive contact)", "연결된(connected)" 및 "결합된(coupled)"이라는 용어들은 컴포넌트들 간의 신호들의 흐름을 지원하는 컴포넌트들 간의 관계를 지칭할 수 있다. 컴포넌트들은 언제라도 컴포넌트들 간 신호들의 흐름을 지원할 수 있는 컴포넌트들 간 임의의 전도성 경로가 있는 경우, 컴포넌트들은 서로 전자 통신하는(또는 전도성 콘택하거나 또는 연결되거나 또는 결합되는) 것으로 고려된다. 언제라도, 서로 전자 통신하는(또는 전도성 콘택하거나 연결되거나 결합되는) 컴포넌트들 간 전도성 경로는 연결된 컴포넌트들을 포함하는 장치의 동작에 기초한 개방 회로 또는 폐쇄 회로일 수 있다. 연결된 컴포넌트들 간 전도성 경로는 컴포넌트들 간 직접적 전도성 경로일 수 있거나 또는 연결된 컴포넌트들 간 전도성 경로는 스위치들, 트랜중간 컴포넌트들을 포함할 수 있는 간접적 전도성 경로일 수 있다. 일부 경우, 연결된 컴포넌트들 간 신호들의 흐름은 예를 들어 스위치들 또는 트랜지스터들과 같은 하나 이상의 중간 컴포넌트들을 사용하여 일정 시간 동안 중단될 수 있다.
"결합(coupling)"이라는 용어는 신호들이 현재 전도성 경로를 통해 컴포넌트들 간 통신될 수 없는 컴포넌트들 사이의 개방 회로 관계로부터 신호들이 전도성 경로를 통해 컴포넌트들 간 통신될 수 있는 컴포넌트들 사이의 폐쇄 회로 관계로 이동되는 상태를 지칭한다. 컨트롤러와 같은 컴포넌트가 다른 컴포넌트들과 함께 결합할 때, 컴포넌트는 이전에 신호들이 흐르도록 하지 않았던 전도성 경로를 통해 신호들이 다른 컴포넌트들 간에 흐르도록 하는 변경이 시작된다.
"절연된(isolated)"이라는 용어는 신호들이 현재 컴포넌트들 사이에 흐를 수 없는 컴포넌트들 사이의 관계를 지칭한다. 컴포넌트들은 컴포넌트들 간에 개방 회로가 있는 경우 서로 절연된다. 예를 들어, 컴포넌트들 사이에 위치되는 스위치에 의해 분리된 두 개의 컴포넌트들은 스위치가 열려 있을 때 서로 절연된다. 컨트롤러가 두 개의 컴포넌트들을 절연시킬 경우, 컨트롤러는 이전에 신호들이 흐르도록 허용한 전도성 경로를 사용하여 신호들이 컴포넌트들 간에 흐르지 않도록 하는 변경에 영향을 미친다.
메모리 어레이를 포함하는 본원에 논의된 장치들은 실리콘, 게르마늄, 실리콘-게르마늄 합금, 갈륨 비소, 질화 갈륨 등과 같은 반도체 기판 상에 형성될 수 있다. 일부 경우들에서, 기판은 반도체 웨이퍼이다. 다른 경우들에서, 기판은 실리콘-온-유리(SOG) 또는 실리콘-온-사파이어(SOP)와 같은 실리콘-온-절연체(SOI) 기판, 또는 또 다른 기판상에서의 반도체 재료들의 에피택셜 층들일 수 있다. 기판, 또는 기판의 서브-영역들의 도전성은 이에 제한되지 않지만, 인, 붕소, 또는 비소를 포함한, 다양한 화학적 종들을 사용하여 도핑을 통해 제어될 수 있다. 도핑은 기판의 초기 형성 또는 성장 동안, 이온-주입에 의해, 또는 임의의 다른 도핑 수단에 의해 수행될 수 있다.
본원에 논의된 스위칭 컴포넌트 또는 트랜지스터는 전계 효과 트랜지스터(FET)를 나타낼 수 있으며, 소스, 드레인 및 게이트를 포함하는 3단자 장치를 포함할 수 있다. 단자들은 전도성 물질들, 예를 들어, 금속들을 통해 다른 전자 소자들에 연결될 수 있다. 소스 및 드레인은 전도성일 수 있으며, 고농도로 도핑된, 예를 들어 축퇴(degenerate) 반도체 영역을 포함할 수 있다. 소스 및 드레인은 저농도로 도핑된 반도체 영역 또는 채널에 의해 분리될 수 있다. 채널이 n 형인 경우(즉, 다수의 캐리어들이 신호들인 경우), FET는 n형 FET로 지칭될 수 있다. 채널이 p 형인 경우(즉, 다수의 캐리어들이 홀(hole)들인 경우), FET는 p형 FET로 지칭될 수 있다. 채널은 절연 게이트 산화물에 의해 캡핑될(capped) 수 있다. 채널 전도성은 게이트에 전압을 인가함으로써 제어될 수 있다. 예를 들어, n-형 FET 또는 p-형 FET에 각각 양의 전압 또는 음의 전압을 인가하면 채널이 전도성이 될 수 있다. 트랜지스터는 트랜지스터의 문턱 전압 이상의 전압이 트랜지스터 게이트에 인가될 때 "온(on)" 또는 "활성화(activated)"될 수 있다. 트랜지스터는 트랜지스터의 문턱 전압보다 낮은 전압이 트랜지스터 게이트에 인가될 때 "오프(off)" 또는 "비활성화(deactivated)"될 수 있다.
첨부된 도면들과 관련하여 본원에 명시된 설명은 예시적인 구성들을 설명하며, 구현될 수 있거나 청구 범위의 범주 내에 있는 모든 예들을 나타내지는 않는다. 본원에 사용된 "예시적인(exemplary)" 이라는 용어는 "예, 실례 또는 예시로서 제공되는(serving as an example, instance, or illustration)"을 의미하며, "바람직한(preferred)" 또는 "다른 예보다 유리한(advantageous over other examples)"을 의미하는 것은 아니다. 상세한 설명은 설명된 기술들의 이해를 제공하기 위한 특정 세부 사항들을 포함한다. 그러나, 이러한 기술들은 이들 특정 세부 사항들 없이도 실시될 수 있다. 일부 예들에서, 잘 알려진 구조들 및 장치들은 설명된 예들의 개념들을 모호하게 하는 것을 피하기 위해 블록도 형태로 도시된다.
첨부된 도면들에서, 유사한 컴포넌트들 또는 특징들은 동일한 기준 라벨을 가질 수 있다. 또한, 동일한 유형의 다양한 컴포넌트들은 유사한 컴포넌트들 사이를 구별하는 대시(dash) 및 제2 라벨에 의해 기준 라벨을 따라 구별될 수 있다. 명세서에서 제1 기준 라벨만 사용되는 경우, 설명은 제2 기준 라벨에 상관없이 동일한 제1 기준 라벨을 갖는 유사한 컴포넌트들 중 어느 하나에 적용될 수 있다.
본 출원에서 설명된 정보 및 신호들은 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수 있는 데이터, 인스트럭션들, 명령들, 정보, 신호들, 비트들, 부호들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학 필드들 또는 입자들, 또는 그의 임의의 조합에 의해 표현될 수 있다.
본원에서 본 개시와 관련하여 설명된 다양한 예시 블록들과 모듈들은 범용 프로세서, DSP, ASIC, FPGA 또는 기타 프로그래밍 가능한 로직 장치, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들 또는 본원에 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합을 사용하여 구현되거나 수행될 수 있다. 범용 프로세서는 마이크로 프로세서일 수 있지만, 대안으로, 프로세서는 임의의 프로세서, 컨트롤러, 마이크로 컨트롤러, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 장치들의 조합(예를 들어, DSP 및 마이크로 프로세서, 다중 마이크로 프로세서들, DSP 코어와 관련된 하나 이상의 마이크로 프로세서들, 또는 임의의 다른 구성)의 조합으로 구현될 수 있다.
본 출원에서 설명된 기능들은 하드웨어, 프로세서에 의해 실행된 소프트웨어, 펌웨어, 또는 그의 임의의 조합으로 구현될 수 있다. 프로세서에 의해 실행되는 소프트웨어로 구현되는 경우, 기능들은 컴퓨터 판독 가능 매체 상에 하나 이상의 인스트럭션들 또는 코드로 저장되거나 전송될 수 있다. 다른 예들 및 구현들은 본 개시 및 첨부된 청구항들의 범위 내에 있다. 예를 들어, 소프트웨어의 특성으로 인해, 위에 설명된 기능들은 프로세서, 하드웨어, 펌웨어, 하드와이어링(hardwiring) 또는 이들 중 임의의 조합들에 의해 실행되는 소프트웨어를 사용하여 구현될 수 있다. 기능들을 구현한 특징들은 또한, 기능들의 부분들이 상이한 물리적 위치들에서 구현되도록 분산되는 것을 포함하여, 다양한 위치들에 물리적으로 위치될 수 있다. 또한, 청구 범위를 포함하여 본원에 사용된 바와 같이, 항목들의 목록에 사용된 바와 같은 "또는(or)"(예를 들어, "~ 중 적어도 하나(at least one of)" 또는 "~ 중 하나 이상(one or more of)"과 같은 문구로 시작되는 항목들의 목록)은 예를 들어, A, B 또는 C 중 적어도 하나가 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC를 의미하는 포괄적인 리스트(즉, A 및 B 및 C)를 나타낸다. 또한, 본 출원에서 사용된 바와 같이, 구절 "~에 기초한"은 조건들의 폐쇄된 세트에 대한 참조로서 해석되지 않을 것이다. 예를 들어, "조건 A에 기초한"으로서 설명되는 대표적인 단계는 본 개시의 범위로부터 벗어나지 않고 조건 A 및 조건 B 둘 모두에 기초할 수 있다. 다시 말해서, 본 출원에서 사용된 바와 같이, 구절 "~에 기초한"은 구절 "~에 적어도 부분적으로 기초한"과 동일한 방식으로 해석될 것이다.
본원의 설명은 당업자가 본 개시를 실시하거나 사용할 수 있도록 제공된다. 본 개시에 대한 다양한 수정들은 당업자에게 명백할 것이며, 본원에 정의된 일반적인 원리들은 본 개시의 범위를 벗어나지 않고 다른 변형들에 적용될 수 있다. 따라서, 본 개시는 본원에 설명된 예들 및 설계들에 제한되지 않으며, 본원에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위에 따라야 한다.
Claims (25)
- 방법에 있어서,
적어도 하나의 단일 에러 정정(SEC) 동작을 수행하는 제1 모드 및 단일 에러 정정 더블 에러 검출(SECDED) 동작을 수행하는 제2 모드에서 동작하도록 구성된 메모리 장치가 제2 모드에서 동작중임을 식별하는 단계;
상기 제2 모드에서 동작하는 상기 메모리 장치에 의해, 채널을 통해 데이터를 수신하는 단계;
상기 채널을 통해 상기 데이터를 수신하는 것에 적어도 부분적으로 기초하여 상기 메모리 장치에 의해, 상기 SECDED 동작을 사용하여 상기 데이터와 연관된 에러 검출 정보를 결정하는 단계;
메모리 셀 어레이에 상기 데이터 및 상기 에러 검출 정보를 저장하는 단계;
상기 메모리 어레이로부터 상기 데이터 및 상기 에러 검출 정보를 검색하는 단계; 및
상기 제2 모드에서 동작하는 상기 메모리 장치에 적어도 부분적으로 기초하여 상기 메모리 셀 어레이로부터 검색된 상기 에러 검출 정보를 사용하여 상기 메모리 셀 어레이로부터 검색된 상기 데이터에 대한 상기 SECDED 동작을 수행하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 메모리 장치가 상기 제2 모드에서 동작중임을 식별하는 것에 적어도 부분적으로 기초하여 호스트 장치로부터 수신된 상기 데이터 내의 에러들을 정정하도록 상기 메모리 장치를 구성하는 단계를 더 포함하며, 상기 SECDED 동작을 수행하는 단계는 상기 메모리 장치를 구성하는 단계에 적어도 부분적으로 기초하는, 방법. - 제1항에 있어서,
상기 메모리 장치의 모드 레지스터로부터 상기 메모리 장치를 동작시키는 모드의 표시자를 수신하는 단계를 더 포함하며, 상기 메모리 장치가 상기 제2 모드에서 동작중임을 식별하는 단계는 상기 모드 레지스터로부터 상기 표시자를 검색하는 것에 적어도 부분적으로 기초하는, 방법. - 제1항에 있어서, 상기 메모리 장치에 의해 결정된 상기 에러 검출 정보는 상기 데이터의 일부들과 연관된 코드워드 및 하나 이상의 패리티 비트들을 포함하는, 방법.
- 제4항에 있어서,
상기 에러 검출 정보에 포함된 상기 코드워드에 적어도 부분적으로 기초하여 상기 메모리 셀 어레이로부터 검색된 상기 데이터 내의 에러를 식별하는 단계; 및
상기 에러 검출 정보에 포함된 패리티 비트에 적어도 부분적으로 기초하여 상기 에러를 포함하는 상기 데이터 일부를 결정하는 단계를 더 포함하는, 방법. - 제1항에 있어서, 상기 SECDED 동작을 수행하는 단계는,
상기 에러 검출 정보를 사용하여 상기 메모리 셀 어레이로부터 검색된 상기 데이터 내의 단일 비트 에러를 식별하는 단계; 및
상기 데이터 내의 상기 단일 비트 에러를 정정하는 단계를 더 포함하는, 방법. - 제1항에 있어서, 상기 SECDED 동작을 수행하는 단계는,
상기 에러 검출 정보를 사용하여 상기 메모리 셀 어레이로부터 검색된 상기 데이터 내의 더블 비트 에러를 식별하는 단계; 및
상기 더블 비트 에러의 표시자를 갖는 상기 데이터를 다른 장치로 전송하는 단계를 더 포함하는, 방법. - 제1항에 있어서, 상기 채널은 16개의 전도성 경로들을 갖는, 방법.
- 제1항에 있어서, 상기 제2 모드에서 동작하는 상기 메모리 장치에 의해 결정된 상기 에러 검출 정보는 상기 데이터의 제1 부분관 연관된 제1 코드워드 및 상기 데이터의 제2 부분과 연관된 제2 코드워드를 포함하는, 방법.
- 제1항에 있어서, 상기 에러 검출 정보에 포함된 코드워드는 모든 상기 데이터와 연관되는, 방법.
- 제1항에 있어서,
호스트 장치로부터, 상기 메모리 장치가 상기 제2 모드에서 동작할 것을 요청하는 표시자를 수신하는 단계; 및
상기 표시자를 수신하는 것에 적어도 부분적으로 기초하여 상기 제1 모드에서 상기 제2 모드로 전환하는 단계를 더 포함하며, 상기 메모리 장치가 상기 제2 모드에서 동작중임을 식별하는 것은 상기 제1 모드에서 상기 제2 모드로 전환하는 것에 적어도 부분적으로 기초하는, 방법. - 제1항에 있어서, 상기 SECDED 동작을 사용하여 결정된 상기 데이터와 연관된 상기 에러 검출 정보는 SEC 동작을 사용하여 결정된 상기 데이터와 연관된 에러 검출 정보를 저장하기 위한 상기 메모리 셀 어레이의 영역에 저장되는, 방법.
- 장치에 있어서,
각각이 전도성 저장 요소들을 포함하는 메모리 셀 어레이;
데이터 채널을 통해 데이터를 호스트 장치와 통신하도록 구성된 트랜시버; 및
상기 트랜시버와 결합되고, 적어도 하나의 단일 에러 정정(SEC) 동작을 사용하여 상기 데이터와 연관된 에러 검출 정보를 결정하기 위해 제1 모드에서 동작하도록 구성되며 단일 에러 정정 더블 에러 검출(SECDED) 동작을 사용하여 상기 데이터와 연관된 에러 검출 정보를 결정하기 위해 제2 모드에서 동작하도록 구성된 에러 검출 로직을 포함하는, 장치. - 제13항에 있어서,
상기 에러 검출 로직은 상기 제2 모드에서 동작할 때 상기 데이터 채널을 통해 수신된 상기 데이터에 대한 상기 SECDED 동작을 수행하도록 구성되고;
상기 에러 검출 로직은 상기 제1 모드에서 동작할 때 상기 데이터 채널을 통해 수신된 상기 데이터의 제1 부분에 대한 제1 SEC 동작 및 상기 데이터의 제2 부분에 대한 제2 SEC 동작을 수행하도록 구성되는, 장치. - 제13항에 있어서, 상기 에러 검출 로직은,
상기 에러 검출 로직이 상기 제2 모드에서 동작중임을 식별하도록 구성되고 상기 식별하는 것에 적어도 부분적으로 기초하여 상기 에러 감출 로직을 구성하도록 구성된 제어 로직을 포함하는, 장치. - 제13항에 있어서,
상기 에러 검출 로직을 동작시키기 위한 모드의 표시자를 저장하도록 구성된 모드 레지스터를 더 포함하며, 상기 에러 검출 로직은 상기 모드 레지스터에 저장된 상기 표시자에 적어도 부분적으로 기초하여 상기 제2 모드에서 동작하도록 구성되는, 장치. - 제13항에 있어서, 상기 에러 검출 로직에 의해 결정된 상기 에러 검출 정보는 상기 데이터의 일부들과 연관된 코드워드 및 하나 이상의 패리티 비트들을 포함하는, 장치.
- 제13항에 있어서, 상기 에러 검출 로직은 상기 에러 검출 정보를 사용하여 상기 데이터 내의 단일 비트 에러를 식별하고 상기 데이터 내의 상기 단일 비트 에러를 정정하도록 구성되는, 장치.
- 제13항에 있어서, 상기 에러 검출 로직은 상기 제2 모드에서 동작할 때, 상기 에러 검출 정보를 사용하여 상기 데이터 내의 더블 비트 에러를 식별하고, 상기 데이터 내의 에러를 정정하지 않고 상기 메모리 셀 어레이에 상기 데이터를 저장하도록 구성되는, 장치.
- 제13항에 있어서,
상기 메모리 셀 어레이는 상기 에러 검출 로직에 의해 결정된 상기 데이터 및 상기 에러 검출 정보를 저장하도록 구성되고;
상기 에러 검출 로직은 상기 메모리 셀 어레이로부터 검색된 상기 에러 검출 정보를 사용하여 상기 메모리 셀 어레이로부터 검색된 상기 데이터에 대한 상기 SECDED 동작을 수행하도록 구성되는, 장치. - 방법에 있어서,
적어도 하나의 단일 에러 정정(SEC) 동작을 수행하는 제1 모드 및 단일 에러 정정 더블 에러 검출(SECDED) 동작을 수행하는 제2 모드에서 동작하도록 구성된 메모리 장치가 상기 제2 모드에서 동작중임을 식별하는 단계;
상기 제2 모드에서 동작하는 상기 메모리 장치에 의해, 상기 메모리 장치와 결합된 데이터 채널을 통해 데이터를 수신하는 단계;
상기 메모리 장치에 의해, 상기 데이터와 연관된 코드워드 및 상기 데이터의 일부들과 연관된 하나 이상의 패리티 비트들을 결정하는 단계; 및
상기 제2 모드에서 동작하는 상기 메모리 장치에 적어도 부분적으로 기초하여 상기 코드워드 및 상기 하나 이상의 패리티 비트들을 사용하여 상기 데이터에 대한 에러 검출 동작을 수행하는 단계를 포함하는, 방법. - 제21항에 있어서,
상기 데이터, 상기 코드워드 및 상기 하나 이상의 패리티 비트들을 메모리 어레이에 저장하는 단계; 및
상기 메모리 셀 어레이로부터 상기 데이터, 상기 코드워드 및 상기 하나 이상의 패리티 비트들을 검색하는 단계를 더 포함하며, 상기 메모리 셀 어레이로부터 검색된 상기 코드워드 및 상기 하나 이상의 패리티 비트들을 사용하여 상기 메모리 셀 어레이로부터 검색된 상기 데이터에 대한 상기 에러 검출 동작이 수행되는, 방법. - 제21항에 있어서,
상기 코드워드에 적어도 부분적으로 기초하여 상기 데이터 내의 에러를 식별하는 단계; 및
상기 하나 이상의 패리티 비트들의 패리티 비트에 적어도 부분적으로 기초하여 상기 에러를 포함하는 상기 데이터의 일부를 결정하는 단계를 더 포함하며, 상기 에러 검출 동작을 수행하는 단계는 상기 에러를 포함하는 상기 데이터의 상기 일부를 결정하는 것에 기초하는, 방법. - 제21항에 있어서,
상기 하나 이상의 패리티 비트들 중 제1 패리티 비트는 상기 데이터의 제1 부분과 연관되고;
상기 하나 이상의 패리티 비트들 중 제2 패리티 비트는 상기 데이터의 제2 부분과 연관되는, 방법. - 제21항에 있어서,
상기 코드워드는 10비트를 포함하고;
상기 하나 이상의 패리티 비트들은 4비트, 5비트 또는 6비트를 포함하는, 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020227001013A KR20220009506A (ko) | 2019-02-19 | 2020-02-18 | 구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962807520P | 2019-02-19 | 2019-02-19 | |
US62/807,520 | 2019-02-19 | ||
US16/792,820 | 2020-02-17 | ||
US16/792,820 US11126498B2 (en) | 2019-02-19 | 2020-02-17 | Memory device with configurable error correction modes |
PCT/US2020/018672 WO2020172185A1 (en) | 2019-02-19 | 2020-02-18 | Memory device with configurable internal error correction modes |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227001013A Division KR20220009506A (ko) | 2019-02-19 | 2020-02-18 | 구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210118474A true KR20210118474A (ko) | 2021-09-30 |
KR102352217B1 KR102352217B1 (ko) | 2022-01-17 |
Family
ID=72042167
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227001013A KR20220009506A (ko) | 2019-02-19 | 2020-02-18 | 구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치 |
KR1020217029760A KR102352217B1 (ko) | 2019-02-19 | 2020-02-18 | 구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227001013A KR20220009506A (ko) | 2019-02-19 | 2020-02-18 | 구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11126498B2 (ko) |
EP (1) | EP3928206A4 (ko) |
KR (2) | KR20220009506A (ko) |
CN (2) | CN115437830A (ko) |
WO (1) | WO2020172185A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210026201A (ko) * | 2019-08-29 | 2021-03-10 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 리페어 제어 방법 |
US11372717B2 (en) * | 2019-08-30 | 2022-06-28 | Qualcomm Incorporated | Memory with system ECC |
US20200097362A1 (en) | 2019-11-29 | 2020-03-26 | Intel Corporation | Methods and apparatus for reducing microbumps for inter-die double-data rate (ddr) transfer |
US11442808B2 (en) | 2020-03-12 | 2022-09-13 | Kioxia Corporation | Memory system |
US20210151120A1 (en) * | 2020-12-24 | 2021-05-20 | Intel Corporation | Modular error correction code circuitry |
US11687405B2 (en) | 2021-12-01 | 2023-06-27 | Western Digital Technologies, Inc. | Centralized SRAM error location detection and recovery mechanism |
US20230231574A1 (en) * | 2022-01-20 | 2023-07-20 | Micron Technology, Inc. | Syndrome check functionality to differentiate between error types |
WO2024092437A1 (zh) * | 2022-10-31 | 2024-05-10 | 华为技术有限公司 | 一种数据传输方法、装置和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160022390A (ko) * | 2013-07-26 | 2016-02-29 | 마이크론 테크놀로지, 인크 | 감지 회로를 사용하여 비교 동작들을 수행하기 위한 장치들 및 방법들 |
KR20170007520A (ko) * | 2014-06-03 | 2017-01-18 | 마이크론 테크놀로지, 인크. | 소프트 데이터 결정 |
US20180053545A1 (en) * | 2016-08-17 | 2018-02-22 | Samsung Electronics Co., Ltd. | Semiconductor memory devices, memory systems including the same and methods of operating the same |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5917838A (en) * | 1998-01-05 | 1999-06-29 | General Dynamics Information Systems, Inc. | Fault tolerant memory system |
US6279072B1 (en) | 1999-07-22 | 2001-08-21 | Micron Technology, Inc. | Reconfigurable memory with selectable error correction storage |
US7747933B2 (en) | 2005-07-21 | 2010-06-29 | Micron Technology, Inc. | Method and apparatus for detecting communication errors on a bus |
US7707463B2 (en) * | 2005-11-30 | 2010-04-27 | International Business Machines Corporation | Implementing directory organization to selectively optimize performance or reliability |
US7810017B2 (en) * | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
US7292950B1 (en) * | 2006-05-08 | 2007-11-06 | Cray Inc. | Multiple error management mode memory module |
US8627169B2 (en) | 2008-06-20 | 2014-01-07 | Cadence Design Systems, Inc. | Method and apparatus for dynamically configurable multi level error correction |
US8677205B2 (en) * | 2011-03-10 | 2014-03-18 | Freescale Semiconductor, Inc. | Hierarchical error correction for large memories |
US8917838B2 (en) * | 2012-06-12 | 2014-12-23 | Mitel Networks Corporation | Digital media recording system and method |
KR102457144B1 (ko) * | 2017-04-18 | 2022-10-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10606689B2 (en) | 2017-04-18 | 2020-03-31 | SK Hynix Inc. | Memory system and operating method thereof |
KR102258140B1 (ko) | 2017-07-06 | 2021-05-28 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템 |
-
2020
- 2020-02-17 US US16/792,820 patent/US11126498B2/en active Active
- 2020-02-18 CN CN202211130001.9A patent/CN115437830A/zh active Pending
- 2020-02-18 KR KR1020227001013A patent/KR20220009506A/ko active Application Filing
- 2020-02-18 KR KR1020217029760A patent/KR102352217B1/ko active IP Right Grant
- 2020-02-18 EP EP20759581.0A patent/EP3928206A4/en not_active Withdrawn
- 2020-02-18 CN CN202080014991.2A patent/CN113454602B/zh active Active
- 2020-02-18 WO PCT/US2020/018672 patent/WO2020172185A1/en unknown
-
2021
- 2021-09-09 US US17/470,584 patent/US11663075B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160022390A (ko) * | 2013-07-26 | 2016-02-29 | 마이크론 테크놀로지, 인크 | 감지 회로를 사용하여 비교 동작들을 수행하기 위한 장치들 및 방법들 |
KR20170007520A (ko) * | 2014-06-03 | 2017-01-18 | 마이크론 테크놀로지, 인크. | 소프트 데이터 결정 |
US20180053545A1 (en) * | 2016-08-17 | 2018-02-22 | Samsung Electronics Co., Ltd. | Semiconductor memory devices, memory systems including the same and methods of operating the same |
KR20180019818A (ko) * | 2016-08-17 | 2018-02-27 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP3928206A4 (en) | 2022-06-22 |
US20200264950A1 (en) | 2020-08-20 |
CN113454602A (zh) | 2021-09-28 |
KR102352217B1 (ko) | 2022-01-17 |
EP3928206A1 (en) | 2021-12-29 |
KR20220009506A (ko) | 2022-01-24 |
CN115437830A (zh) | 2022-12-06 |
US11663075B2 (en) | 2023-05-30 |
WO2020172185A1 (en) | 2020-08-27 |
US11126498B2 (en) | 2021-09-21 |
US20220066867A1 (en) | 2022-03-03 |
CN113454602B (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102352217B1 (ko) | 구성 가능한 내부 에러 정정 모드를 갖는 메모리 장치 | |
US11953988B2 (en) | Error correction memory device with fast data access | |
US11061771B2 (en) | Extended error detection for a memory device | |
WO2020247149A1 (en) | Scrub rate control for a memory device | |
US11714711B2 (en) | Memory device with status feedback for error correction | |
US11100972B2 (en) | Refresh rate control for a memory device | |
US11907061B2 (en) | Methods and devices for error correction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |