[0001]【技术领域】
[0002][0001]우선권 출원
[0003][0002]본 출원은 2017년 10월 31일자로 출원된 미국 출원 일련번호 제15/799,508에 대한 우선권의 이익을 주장하며, 이러한 출원은 그 전체가 본원에 참조로서 포함된다.
[0004]【背景技术】
[0005][0003]메모리 디바이스들은 일반적으로 컴퓨터들 또는 다른 전자 디바이스들에서 내부 반도체의 집적 회로들로서 제공된다. 휘발성 및 비 휘발성 메모리를 포함하는 다수의 상이한 유형들의 메모리가 존재한다.
[0006][0004]휘발성 메모리는 그것의 데이터를 유지하기 위해 전력을 요구하며, 랜덤 액세스 메모리(random-access memory; RAM), 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM), 또는 동기 동적 랜덤 액세스 메모리(synchronous dynamic random access memory; SDRAM)를 포함한다.
[0007][0005]비-휘발성 메모리는 전력이 공급되지 않을 때 저장된 데이터를 유지할 수 있으며, 다른 것들 중에서도 특히 플래시 메모리, 판독 전용 메모리(read only memory; ROM), 전기 소거가능 프로그램가능 ROM(Electrically Erasable Programmable ROM; EEPROM), 정적 램(static RAM; SRAM), 소거가능 프로그램가능 ROM(Erasable Programmable ROM; EPROM), 저항 가변 메모리, 예컨대 상 변화 랜덤 액세스 메모리(phase change random access memory; PCRAM), 저항성 랜덤 액세스 메모리(resistive random access memory; RRAM), 및 자기저항성 랜덤 액세스 메모리(magnetoresistive random access memory; MRAM), 또는 3D XPoint™ 메모리를 포함할 수 있다.
[0008][0006]플래시 메모리는 광범위한 전자 애플리케이션들에 대한 비-휘발성 메모리로서 사용된다. 플래시 메모리 디바이스들은 전형적으로, 고 메모리 밀도들, 고 신뢰성, 및 저 전력 소비를 가능하게 하는 1-트랜지스터, 플로팅 게이트 또는 전하 트랩 메모리 셀들의 하나 이상의 그룹들을 포함한다.
[0009][0007]2개의 일반적인 유형들의 플래시 메모리 어레이 아키텍처들은 NAND 및 NOR 아키텍처들을 포함하며, 이들은 각각의 기본 메모리 셀 구성이 배열되는 논리 형태를 따라 명명되었다. 메모리 어레이의 메모리 셀들은 전형적으로 매트릭스로 배열된다. 일 예에 있어서, 어레이 내의 로우(row) 내의 각각의 플로팅 게이트 메모리 셀의 게이트들은 액세스 라인(예를 들어, 워드 라인)에 결합된다. NOR 아키텍처에서, 어레이의 컬럼(column) 내의 각각의 메모리 셀의 드레인들은 데이터 라인(예를 들어, 비트 라인)에 결합된다. NAND 아키텍처에서, 어레이의 스트링(string) 내의 각각의 메모리 셀의 드레인들은, 소스 라인과 비트 라인 사이에서, 소스 대 드레인으로, 함께 직렬로 결합된다.
[0010][0008]NOR 및 NAND 아키텍처 반도체 메모리 어레이들 둘 모두, 그들의 게이트들에 결합된 워드 라인을 선택하여 특정 메모리 셀들을 활성화하는 디코더들을 통해 액세스된다. NOR 아키텍처 반도체 메모리 어레이에서, 일단 활성화되면, 선택된 메모리 셀들은 비트 라인들 상에 그들의 데이터 값들을 위치시키며, 이는 특정 셀이 프로그래밍된 상태에 따라 상이한 전류들이 흐르게끔 한다. NAND 아키텍처 반도체 메모리 어레이에서, 높은 바이어스 전압이 드레인-측 선택 게이트(drain-side select gate; SGD) 라인에 인가된다. 각각의 그룹의 선택되지 않은 메모리 셀들의 게이트들에 결합된 워드 라인들은 (예를 들어, 그들의 저장된 데이터 값들에 의해 제한되지 않는 방식으로 전류를 패스(pass)하기 위한) 패스 트랜지스터들로서 각각의 그룹의 선택되지 않은 메모리 셀들을 동작시키기 위해 지정된 패스 전압(예를 들어, Vpass)으로 드라이브된다. 그러면 전류는 소스 라인으로부터 오로지 각각의 그룹의 선택된 메모리 셀들에 의해서만 제한되는 각각의 직렬 결합된 그룹을 통해 비트 라인으로 흐르며, 이는 선택된 메모리 셀들의 인코딩된 데이터 값들을 비트 라인들 상에 위치시킨다.
[0011][0009]NOR 또는 NAND 아키텍처 반도체 메모리 어레이 내의 각각의 플래시 메모리 셀은 하나 또는 복수의 프로그래밍된 상태들로 개별적으로 또는 집합적으로 프로그래밍될 수 있다. 예를 들어, 단일-레벨 셀(single-level cell; SLC)이 2개의 프로그래밍된 상태들 중 하나(예를 들어, 1 또는 0)을 나타낼 수 있으며, 이는 데이터의 하나의 비트를 나타낸다.
[0012][0010]그러나, 플래시 메모리 셀들은 또한 2개를 초과하는 프로그래밍된 상태들 중 하나를 나타낼 수 있으며, 이는, 각각의 셀이 1개를 초과하는 2진 디지트(digit)(예를 들어, 1개를 초과하는 비트)를 나타낼 수 있음에 따라 메모리 셀들의 수를 증가시키지 않고 더 높은 밀도의 메모리들의 제조를 가능하게 한다. 이러한 셀들은 다중-상태 메모리 셀들, 다중-디지트 셀들, 또는 다중-레벨 셀(multi-level cell; MLC)들로서 지칭될 수 있다. 특정 예들에 있어서, MLC는 셀 당 데이터의 2개의 비트들(예를 들어, 4개의 프로그래밍된 상태들 중 하나)를 저장할 수 있는 메모리 셀을 지칭할 수 있으며, 3중-레벨 셀(triple-level cell; TLC)은 셀 당 데이터의 3개의 비트들(예를 들어, 8개의 프로그래밍된 상태들 중 하나)를 저장할 수 있는 메모리 셀을 지칭할 수고, 4중-레벨 셀(quad-level cell; QLC)은 셀 당 데이터의 4개의 비트들을 저장할 수 있다. MLC는 본원에서, 셀 당 데이터의 1개를 초과하는 비트를 저장할 수 있는(즉, 2개를 초과하는 프로그래밍된 상태들을 나타낼 수 있는) 임의의 메모리 셀을 지칭하기 위하여 그것의 더 광범위한 맥락에서 사용된다.
[0013][0011]전통적인 메모리 어레이들은 반도체 기판의 표면 상에 배열된 2-차원(2D) 구조체들이다. 주어진 면적에 대하여 메모리 용량을 증가시키기 위하여 그리고 비용을 감소시키기 위하여, 개별적인 메모리 셀들의 크기가 감소되어 왔다. 그러나, 개별적인 메모리 셀들의 크기의 감소에 대한 기술적인 한계가 존재하며, 따라서, 2D 메모리 어레이들의 메모리 밀도에 대한 기술적인 한계가 존재한다. 이에 응답하여, 3D NAND 아키텍처 반도체 메모리 디바이스들과 같은 3-차원(3D) 메모리 구조체들이 메모리 밀도를 더 증가시키고 메모리 비용을 더 낮추기 위하여 개발되고 있다.
[0014][0012]이러한 3D NAND 디바이스들은 흔히 소스에 인접한 하나 이상의 소스-측 선택 게이트(source-side select gate; SGS)들 사이에 직렬로 결합된(예를 들어, 드레인 대 소스) 저장 셀들의 스트링들, 및 비트 라인에 인접한 하나 이상의 드레인-측 선택 게이트(drain-side select gate; SGD)들을 포함한다. 일 예에 있어서, SGS들 또는 SGD들은 하나 이상의 전계-효과 트랜지스터(field-effect transistor; FET)들 또는 금속-산화물 반도체(metal-oxide semiconductor; MOS) 구조체 디바이스들 등을 포함할 수 있다. 일부 예들에 있어서, 스트링들은 개별적인 워드 라인들을 포함하는 다수의 수직으로 이격된 계층들을 통해 수직으로 연장할 것이다. 반도체 구조체(예를 들어, 폴리실리콘 구조체)는 스트링의 저장 셀들에 대한 채널을 형성하기 위하여 저장 셀들의 스트링에 인접하여 연장할 수 있다. 수직 스트링의 예에 있어서, 폴리실리콘 구조체는 수적으로 연장하는 필러(pillar)의 형태일 수 있다. 일부 예들에 있어서, 스트링은 "접힐(folded)" 수 있으며, 그에 따라서 U-형 필러에 대하여 배열될 수 있다. 다른 예들에 있어서, 다수의 수직 구조체들은 저장 셀 스트링들의 스택(stack)된 어레이들을 형성하기 위하여 서로 상에 스택될 수 있다.
[0015][0013]메모리 어레이들 또는 디바이스들은 메모리 시스템의 저장 볼륨, 예컨대 고체-상태 드라이브(solid-state drive; SSD), 범용 플래시 저장(Universal Flash Storage; UFS™) 디바이스, 멀티미디어카드(MultiMediaCard; MMC) 고체-상태 저장 디바이스, 내장형 MMC(embedded MMC; eMMC™) 디바이스 등을 형성하기 위하여 함께 결합될 수 있다. 다른 것들 중에서도 특히, SSD는, 예를 들어, 성능, 크기, 중량, 견고성, 동작 온도 범위, 및 전력 소비에 대하여 움직이는 부분을 갖는 통상적인 하드 드라이브들을 뛰어넘는 장점들을 갖는 컴퓨터의 메인 저장 디바이스로서 사용될 수 있다. 예를 들어, SSD는 감소된 탐색 시간, 레이턴시(latency), 또는 자기 디스크 드라이브들과 연관된(예를 들어, 전기계적 등) 다른 지연을 가질 수 있다. SSD들은 내부 배터리 공급 필요성들을 제거하기 위해 플래시 메모리 셀들과 같은 비-휘발성 메모리 셀들을 사용하며, 그에 따라서 드라이브를 더 다목적으로 그리고 더 콤팩트하게 만든다.
[0016][0014]SSD는 다수의 다이(die)들 또는 논리적 유닛들(예를 들어, 논리적 유닛 번호들 또는 LUN(logical unit number)들)을 포함하여 다수의 메모리 디바이스들을 포함할 수 있으며, 메모리 디바이스들을 동작시키기 위해 또는 외부 시스템들과 인터페이스하기 위해 요구되는 논리적 기능들을 수행하는 하나 이상의 프로세서들 또는 다른 제어기들을 포함할 수 있다. 이러한 SSD들은 그 위의 다수의 메모리 어레이들 및 주변 회로부(circuitry)를 포함하는 하나 이상의 플래시 메모리 다이를 포함할 수 있다. 플래시 메모리 어레이들은 복수의 물리적 페이지(page)들로 조직화된 메모리 셀들의 복수의 블록들을 포함할 수 있다. 다수의 예들에 있어서, SSD들은 또한 DRAM 또는 SRAM(또는 다른 형태의 메모리 다이 또는 다른 메모리 구조체들)을 포함할 것이다. SSD는, 메모리 디바이스들과 호스트 사이에서 데이터(예를 들어, 사용자 데이터 및 연관된 무결성 데이터, 예컨대 오류 데이터 및 어드레스 데이터 등)를 전송하기 위한 판독 또는 기입 동작들 또는 메모리 디바이스들로부터 데이터를 소거하기 위한 소거 동작들과 같은 메모리 동작들과 연관된 명령들을 호스트로부터 수신할 수 있다.
[0017]【附图说明】
[0018][0015]반드시 축적이 맞추어져야만 하는 것은 아닌 도면들 내에서, 유사한 번호들은 상이한 도면들에서 유사한 컴포넌트들을 기술하기 위하여 사용될 수 있다. 상이한 문자 접미사들을 갖는 유사한 번호들은 유사한 컴포넌트들의 상이한 사례들을 나타낼 수 있다. 도면들은, 예로서 그리고 비제한적으로, 본 문서에서 논의되는 다양한 실시예들을 전반적으로 예시한다.도 1은 메모리 디바이스를 포함하는 환경의 일 예를 예시한다.도 2 내지 도 3은 3D NAND 아키텍처 반도체 메모리 어레이의 일 예의 개략도들을 예시한다.도 4는 메모리 모듈의 예시적인 블록도를 예시한다.도 5는 본 개시의 일부 예들에 따른 물리적 파티션을 생성하기 위한 요청에 응답하여 논리적 파티션을 생성하기 위한 방법의 순서도를 예시한다.도 6은, 본 개시의 일부 예들에 따른 논리적 파티션으로서 NAND에 의해 생성된 물리적 파티션으로 보내진 호스트 명령을 NAND 제어기가 프로세싱하는 방법의 순서도를 예시한다.도 7은 본 개시의 일부 예들에 따른 메모리 제어기의 개략도를 도시한다.도 8은, 하나 이상의 실시예들이 구현될 수 있는 기계의 일 예를 예시하는 블록도이다.
[0019][0016]모바일 전자 디바이스들(예를 들어, 스마트 폰들, 태블릿들 등), 자동차 애플리케이션에서 사용하기 위한 전자 디바이스들(예를 들어, 자동차 센서들, 제어 유닛들, 운전자-보조 시스템들, 승객 안전 또는 쾌적 시스템들 등) 및 인터넷-연결형 전기기기들 또는 디바이스들(예를 들어, 사물-인터넷(internet-of-things; IoT) 디바이스들 등)과 같은 전자 디바이스들은, 다른 것들 중에서도 특히, 전자 디바이스의 유형, 사용 환경, 성능 기대 등에 따라 다양한 저장 요구들을 갖는다.
[0020][0017]전자 디바이스들은 몇몇 메인 컴포넌트들: 프로세서(예를 들어, 중앙 프로세싱 유닛(central processing unit; CPU) 또는 다른 메인 프로세서); 메모리(예를 들어, 하나 이상의 휘발성 또는 비-휘발성 랜덤 액세스 메모리(RAM) 메모리 디바이스, 예컨대 동적 RAM(DRAM), 모바일 또는 저-전력 이중-데이터-레이트 동기식 DRAM(double-data-rate synchronous DRAM; DDR SDRAM) 등); 및 저장 디바이스(예를 들어, 비-휘발성 메모리(non-volatile memory; NVM) 디바이스, 예컨대 플래시 메모리, 판독-전용 메모리(ROM), SSD, MMC, 또는 다른 메모리 카드 구조체 또는 어셈블리 등)로 나누어질 수 있다. 특정 예들에 있어서, 전자 디바이스들은 사용자 인터페이스(예를 들어, 디스플레이, 터치-스크린, 키보드, 하나 이상의 버튼들 등), 그래픽 프로세싱 유닛(graphics processing unit; GPU), 전력 관리 회로, 기저대역 프로세서 또는 하나 이상의 트랜시버 회로 등을 포함할 수 있다.
[0021][0018]도 1은 통신 인터페이스를 통해 통신하도록 구성된 호스트 디바이스(105) 및 메모리 디바이스(110)를 포함하는 환경(100)의 일 예를 예시한다. 제품(150)의 프로세싱, 통신, 또는 제어를 지원하기 위하여 호스트 디바이스(105) 또는 메모리 디바이스(110)는 사물 인터넷(Internet of Things; IoT) 디바이스들(예를 들어, 냉장고 또는 다른 전기기기, 센서, 모터 또는 작동기)과 같은 다양한 제품들(150) 내에 포함될 수 있다.
[0022][0019]메모리 디바이스(110)는, 메모리 제어기(115) 및, 예를 들어, 복수의 개별적인 메모리 다이(예를 들어, 3-차원(3D) NAND 다이의 스택)를 포함하는 메모리 어레이(120)를 포함한다. 3D 아키텍처 반도체 메모리 기술품에 있어서, 수직 구조체들이 스택되며, 이는 계층들, 물리적 페이지들의 수를 증가시키고, 그에 따라서 메모리 디바이스(예를 들어, 저장 디바이스)의 밀도를 증가시킨다. 일 예에 있어서, 메모리 디바이스(110)는 호스트 디바이스(105)의 개별적인 메모리 또는 저장 디바이스 컴포넌트일 수 있다. 다른 예들에 있어서, 메모리 디바이스(110)는, 호스트 디바이스(105)의 하나 이상의 다른 컴포넌트들과 스택되거나 또는 이에 달리 포함된 집적 회로(예를 들어, 시스템 온 칩(system on a chip; SOC) 등)의 일 부분일 수 있다.
[0023][0020]직렬 고급 기술 부착(Serial Advanced Technology Attachment; SATA) 인터페이스, 주변 컴포넌트 상호연결 익스프레스(Peripheral Component Interconnect Express; PCIe) 인터페이스, 범용 직렬 버스(Universal Serial Bus; USB) 인터페이스, 범용 플래시 저장부(Universal Flash Storage; UFS) 인터페이스, eMMC™ 인터페이스, 또는 하나 이상의 다른 커넥터들 또는 인터페이스들과 같은 하나 이상의 통신 인터페이스들이 메모리 디바이스(110)와 호스트 디바이스(105)의 하나 이상의 다른 컴포넌트들 사이에서 데이터를 전송하기 위해 사용될 수 있다. 호스트 디바이스(105)는 호스트 시스템, 전자 디바이스, 프로세서, 메모리 카드 리더, 또는 메모리 디바이스(110) 외부의 하나 이상의 다른 전자 디바이스들을 포함할 수 있다. 일부 예들에 있어서, 호스트(105)는 도 8의 기계(800)를 참조하여 논의되는 컴포넌트들 중 일부 부분 또는 전부를 갖는 기계일 수 있다.
[0024][0021]메모리 제어기(115)는 호스트(105)로부터 명령어들을 수신할 수 있으며, 예컨대 메모리 어레이의 메모리 셀들, 평면들, 서브-블록들, 블록들 또는 페이지들 중 하나 이상으로 데이터를 전송(예를 들어, 기입 또는 소거)하거나 또는 이로부터 데이터를 전송(예를 들어, 판독)하기 위해서 메모리 어레이와 통신할 수 있다. 메모리 제어기(115)는, 다른 것들 중에서도 특히, 하나 이상의 컴포넌트들 또는 집적 회로들을 포함하는 회로부 또는 펌웨어를 포함할 수 있다. 예를 들어, 메모리 제어기(115)는 메모리 어레이(120)에 걸친 액세스를 제어하고 호스트(105)와 메모리 디바이스(110) 사이에 변환 계층(translation layer)을 제공하도록 구성된 하나 이상의 메모리 제어 유닛들, 회로들, 또는 컴포넌트들을 포함할 수 있다. 메모리 제어기(115)는 메모리 어레이(120)로 데이터를 전송하거나 또는 이로부터 데이터를 전송하기 위한 하나 이상의 입력/출력(input/output; I/O) 회로들, 라인들, 또는 인터페이스들을 포함할 수 있다. 메모리 제어기(115)는 메모리 관리자(125) 및 어레이 제어기(135)를 포함할 수 있다.
[0025][0022]메모리 관리자(125)는, 다른 것들 중에서도 특히, 다양한 메모리 관리 기능들과 연관된 복수의 컴포넌트들 또는 집적 회로들과 같은 회로부 또는 펌웨어를 포함할 수 있다. 본 설명의 목적들을 위하여, 예시적인 메모리 동작 및 관리 기능들이 NAND 메모리의 맥락에서 설명될 것이다. 당업자들은, 다른 형태들의 비-휘발성 메모리가 유사한 메모리 동작들 및 관리 기능들을 가질 수 있다는 것을 인식할 것이다. 이러한 NAND 관리 기능들은 마모 레벨링(wear leveling)(예를 들어, 가비지 콜렉션(garbage collection) 또는 재활용(reclamation)), 오류 검출 또는 정정, 블록 폐기(block retirement), 또는 하나 이상의 다른 메모리 관리 기능들을 포함한다. 메모리 관리자(125)는 어레이 제어기(135) 또는 메모리 디바이스(110)의 하나 이상의 다른 컴포넌트들에 대하여 호스트 명령들(예를 들어, 호스트로부터 수신된 명령들)을 디바이스 명령들(예를 들어, 메모리 어레이의 동작과 연관된 명령들 등)로 파싱(parse)하거나 또는 포맷할 수 있거나, 또는 (예를 들어, 다양한 메모리 관리 기능들을 달성하기 위하여) 디바이스 명령들을 생성할 수 있다.
[0026][0023]메모리 관리자(125)는 메모리 디바이스(110)의 하나 이상의 컴포넌트들과 연관된 다양한 정보(예를 들어, 메모리 제어기(115)에 결합된 하나 이상의 메모리 셀들 또는 메모리 어레이와 연관된 다양한 정보)를 유지하도록 구성된 관리 테이블들(130)의 세트를 포함할 수 있다. 예를 들어, 관리 테이블들(130)은 메모리 제어기(115)에 결합된 메모리 셀들의 하나 이상의 블록들에 대한 블록 나이, 블록 소거 카운트, 오류 이력, 또는 하나 이상의 오류 카운트들(예를 들어, 기입 동작 오류 카운트, 판독 비트 오류 카운트, 판독 동작 오류 카운트, 소거 오류 카운트 등)에 관한 정보를 포함할 수 있다. 특정 예들에 있어서, 오류 카운트들 중 하나 이상에 대하여 검출된 오류들의 수가 임계 이상인 경우, 비트 오류는 정정불능 비트 오류로서 지칭될 수 있다. 관리 테이블들(130)은, 다른 것들 중에서도 특히, 정정가능 또는 정정불능 비트 오류들의 카운트를 유지할 수 있다.
[0027][0024]어레이 제어기(135)는, 다른 것들 중에서도 특히, 메모리 제어기(115)에 결합된 메모리 디바이스(110)의 하나 이상의 메모리 셀들에 데이터를 기입하는 것, 이로부터 데이터를 판독하는 것, 또는 이를 소거하는 것과 연관된 메모리 동작들을 제어하도록 구성된 회로부 또는 컴포넌트들을 포함할 수 있다. 메모리 동작들은, 예를 들어, 호스트(105)로부터 수신된 호스트 명령들에 기초하거나 또는 (예를 들어, 마모 레벨링, 오류 검출 또는 정정 등과 연관되어) 메모리 관리자(125)에 의해 내부적으로 생성될 수 있다.
[0028][0025]어레이 제어기(135)는 오류 정정 코드(error correction code; ECC) 컴포넌트(140)를 포함할 수 있으며, 이는, 다른 것들 중에서도 특히, 메모리 제어기(115)에 결합된 메모리 디