본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되지 않는다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 에러 체크 및 정정(ECC) 섹터의 구성 방법을 나타내는 개념도이고, 도 2은 본 발명의 실시예들에 따른 메모리 장치의 ECC 제어 방법을 나타내는 순서도이다.
도 1 및 도 2를 참조하면, 셀 특성에 따라서 복수의 셀 그룹들로 메모리 셀들을 그룹화한다(S100). 예를 들어, 도1에 도시된 바와 같이, 메모리 셀들은 셀 특성에 따라서 제1 메모리 셀들(C1) 및 제2 메모리 셀들(C2)로 그룹화될 수 있다. 여기서 상기 그룹화의 기준이 되는 상기 셀 특성은 메모리 셀 자체의 구조에 따른 특성, 메모리 셀과 주변 구조와의 관계에 따른 특성, 메모리 셀의 기입 및 독출에 따른 열화 특성 등 다양한 특성들 중 적어도 하나에 해당할 수 있다. 도 1에는 메모리 셀들이 제1 메모리 셀들(C1)과 제2 메모리 셀들(C2)의 두 개의 그룹들로 분류되는 예를 도시하였으나, 메모리 셀들은 세 개 이상의 그룹들로 분류될 수도 있다.
에러 체크 및 정정(ECC: error check and correction)의 단위에 해당하는 ECC 섹터 내에 상기 셀 그룹들의 각각에 속하는 메모리 셀들이 균일하게 포함되도록 상기 메모리 셀들의 데이터 입출력 순서를 재배열한다(S200). 도 1에 도시된 바와 같이, 제1 ECC 섹터(ESEC1)는 제1 메모리 셀들(C1) 만을 포함하고 제2 ECC 섹터(ESEC2)는 제2 메모리 셀들(C2) 만을 포함할 수 있다. 반면에 제3 ECC 섹터(ESEC3) 및 제3 ECC 섹터(ESEC4)는 제1 메모리 셀들(C1) 및 제2 메모리 셀들(C2)이 균일하게 포함된다. 상기 메모리 셀들의 데이터 입출력 순서를 재배열함으로써 제1 ECC 섹터(ESEC1) 및 제2 ECC 섹터(ESEC2)를 제3 ECC 섹터(ESEC3) 및 제4 ECC 섹터(ESEC4)로 변경할 수 있다.
여기서 균일하게 포함된다(uniformly included)는 것은 하나의 ECC 섹터에 포함되는 제1 메모리 셀들(C1)의 개수와 제2 메모리 셀들(C2)의 개수가 동일한 경우뿐만 아니라 큰 차이가 없을 정도로 유사한 경우를 포함하는 의미로 해석될 수 있다. 즉 하나의 ECC 섹터에 포함되는 제1 메모리 셀들(C1)의 개수가 N1 이고 제2 메모리 셀들(C2)의 개수가 N2일 때, |N2-N1|/(N1+N2)=K 가 충분히 작은 값일 때 ECC 섹터 내에 제1 메모리 셀들(C1) 및 제2 메모리 셀들(C2)이 균일하게 포함되는 것으로 간주될 수 있다. 예를 들어, K는 0보다 크고 0.1보다 작은 실수로 설정될 수 있다.
일 실시예에서, 본 발명은 버티컬 낸드 플래시(vertical NAND flash) 메모리 장치 또는 3차원 (three-dimensional) 낸드 플래시 메모리 장치에 적용될 수 있다. 평면형(planar) 낸드 플래시와 달리, 수직형 채널을 가지는 3차원 낸드 플래시에서는 구조적으로 다른 셀 특성을 갖는 메모리 셀들이 형성될 수 있다. 예를 들어, 도 7 및 도 8을 참조하여 후술하는 바와 같이, 3차원 낸드 플래시의 메모리 셀들은 공통 소스 노드까지의 거리가 상대적으로 가까운 아우터 셀들 및 공통 소스 노드까지의 거리가 상대적으로 먼 인너 셀들로 분류될 수 있다. 이러한 차이로 인하여 셀의 동작 특성 및 P/E(program/erase) 사이클에 의한 열화 특성이 달라지게 된다. 종래에는 이러한 특성 차이를 고려하지 않고 논리적인 ECC 섹터 내에 아우터 셀들이 모이거나 인너 셀들이 모이도록 구성되었다. 이 경우 어느 한쪽의 셀 특성이 나쁜 경우 전체 메모리 셀들의 ECC를 수행함에 있어서 최대 에러 비트 수준은 셀 특성이 나쁜 쪽에 의해 결정된다.
본 발명의 실시예들에 따라서 나쁜 셀 특성을 가진 메모리 셀들이 동일한 ECC 섹터 내에 모이지 않도록 메모리 셀들의 데이터 입출력 순서를 재배열함으로써 최대 에러 비트 수준을 감소시킬 수 있다. 예를 들어, 아우터 셀들의 에러 비트 수준이 1KB(Kilo Byte) 당 20 비트이고 인너 셀들의 에러 비트 수준이 1KB 당 10 비트인 경우, 도 1의 제1 ECC 섹터(ESEC1) 및 제2 ECC 섹터와 같은 기존 구조에서는 최대 에러 비트 수준이 1KB 당 20bit 이지만 도 1의 제3 ECC 섹터(ESEC3) 및 제4 ECC 섹터(ESEC4)와 같이 두 종류의 셀들이 균일하게 포함되도록 재배열하면 최대 에러 비트 수준은 1KB 당 약 15 비트가 된다.
이와 같이, 본 발명의 실시예들에 따른 메모리 장치의 ECC 제어 방법은 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소할 수 있다. 이러한 ECC 섹터의 최대 에러 비트 수준의 감소를 통하여 불량 구제율을 높이고 메모리 장치의 수율, 성능 및 수명을 향상시킬 수 있다.
도 3은 본 발명의 실시예들에 따른 메모리 시스템을 나타내는 블록도이다.
도 3을 참조하면, 메모리 시스템(100)은 메모리 컨트롤러(300) 및 적어도 하나의 메모리 장치(500)를 포함할 수 있다.
메모리 장치(500)는 메모리 컨트롤러(300)의 제어에 따라 독출, 기입 또는 소거 동작 등을 수행할 수 있다. 이를 위하여 메모리 장치(500)는 메모리 콘트롤러(300)로부터 제어 신호(CTRL), 커맨드(CMD), 어드레스(ADDR) 및 기입 데이터(DATA)를 수신하고, 메모리 콘트롤러(300)로 독출 데이터(DATA)를 송신한다.
메모리 콘트롤러(300)는 ECC 엔진(310)을 포함할 수 있다. ECC 엔진(310)은 에러 비트 정정을 수행하고, 도 3에 도시된 바와 같이 ECC 엔진(310)은 ECC 인코더(320)와 ECC 디코더(330)를 포함할 수 있다. ECC 엔진(310)은 ECC 섹터(sector)의 데이터 단위로 에러 비트 정정을 수행한다. 예를 들면, 페이지의 데이터 단위는 8KB~64KB이고, ECC 섹터의 데이터 단위는 1KB~4KB 일 수 있다.
ECC 인코더(320)는 메모리 장치(500)로 제공되는 데이터의 오류정정 인코딩을 하여, 패리티(parity) 비트가 부가된 코드워드(codeword)를 생성한다. 상기 코드워드는 메모리 장치(500)에 전달되어 저장될 수 있다. ECC 인코더(320)는 ECC 섹터의 데이터 단위로 인코딩을 수행할 수 있다. ECC 디코더(330)는 메모리 장치(500)로부터 독출된 데이터에 대하여 에러 정정 디코딩을 수행하고 수행 결과에 따라 상기 에러 정정 디코딩의 성공 여부를 판단한다. ECC 디코더(330)는 페리티(parity) 비트를 사용하여 데이터의 에러 비트를 정정 할 수 있다. 에러 비트 개수가 정정 가능한 에러 비트 한계치 이상 발생하면, ECC 디코더(330)는 에러 비트를 정정할 수 없고, 에러 정정 실패(fail)가 발생한다. 본 발명의 실시예들에 따라서 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소하고, 에러 정정 실패의 확률을 감소할 수 있다.
ECC 인코더(320)와 ECC 디코더(330)는 LDPC(low density parity check) code, BCH code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code, RSC(recursive systematic code), TCM(trellis-coded modulation), BCM(Block coded modulation) 등의 코디드 모듈레이션(coded modulation)을 사용하여 에러 정정을 할 수 있으며, 이에 한정되는 것은 아니다.
도 4는 본 발명의 실시예들에 따른 메모리 장치를 나타내는 블록도이다.
도 4를 참조하면, 메모리 장치(500)는 메모리 셀 어레이(510), 어드레스 디코더(520), 독출-기입 회로(530), 데이터 입출력 회로(540), 전압 생성 회로(550) 및 제어 로직(560)을 포함한다.
메모리 셀 어레이(510)는 워드 라인들(WL) 및 선택 라인들(SSL, GSL)을 통해 어드레스 디코더(520)에 연결된다. 예를 들면, 선택 라인들은 스트링 선택 라인들(SSL) 및 접지 선택 라인들(GSL)을 포함할 수 있다. 또한, 메모리 셀 어레이(510)는 비트 라인들(BL)을 통해 독출-기입 회로(530)에 연결된다.
메모리 셀 어레이(510)는 복수의 메모리 셀들을 포함한다. 예를 들면, 메모리 셀 어레이(510)는 기판 상에 행 및 열 방향을 따라 배치된 메모리 셀들을 포함한다. 예시적으로, 메모리 셀 어레이(510)는 셀 당 하나 또는 그 이상의 비트를 저장할 수 있는 복수의 메모리 셀들로 구성된다. 메모리 셀 어레이(510)는 도 5 내지 도 7에 도시된 바와 같은 수직형 낸드 플래시 구조를 가질 수 있다.
어드레스 디코더(520)는 워드 라인들(WL), 스트링 선택 라인들(SSL), 그리고 접지 선택 라인들(GSL)을 통해 메모리 셀 어레이(510)에 연결된다. 어드레스 디코더(520)는 제어 로직(560)의 제어에 응답하여 동작하도록 구성된다. 어드레스 디코더(520)는 외부로부터 어드레스(ADDR)를 수신한다.
어드레스 디코더(520)는 수신된 어드레스(ADDR) 중 행 어드레스를 디코딩하도록 구성된다. 어드레스 디코더(520)는 워드 라인들(WL) 중 디코디드 행 어드레스에 대응하는 워드 라인을 선택하도록 구성된다. 어드레스 디코더(520)는 스트링 선택 라인들(SSL) 및 접지 선택 라인들(GSL)을 포함하는 선택 라인들 중 디코디드 행 어드레스에 대응하는 선택 라인들을 선택하도록 구성된다.
어드레스 디코더(520)는 전압 생성 회로(550)로부터 수신되는 다양한 전압들을 선택된 워드 라인, 비선택된 워드 라인, 선택된 선택 라인, 그리고 비선택된 선택 라인에 전달하도록 구성된다.
어드레스 디코더(520)는 수신된 어드레스(ADDR) 중 열 어드레스를 디코딩하도록 구성된다. 어드레스 디코더(520)는 디코디드 열 어드레스(DCA)를 독출-기입 회로(530)에 전달한다.
예시적으로, 어드레스 디코더(520)는 행 어드레스를 디코딩하는 행 디코더, 열 어드레스를 디코딩하는 열 디코더, 수신된 어드레스(ADDR)를 저장하는 어드레스 버퍼를 포함할 수 있다.
독출-기입 회로(530)는 비트 라인들(BL)을 통해 메모리 셀 어레이(510)에 연결되고, 데이터 라인들(DL)을 통해 데이터 입출력 회로(540)에 연결된다. 독출-기입 회로(530)는 제어 로직(560)의 제어에 응답하여 동작한다. 독출-기입 회로(530)는 어드레스 디코더(520)로부터 디코디드 어드레스 신호들(DCA)을 수신한다. 디코디드 어드레스 신호들(DCA)을 이용하여, 독출-기입 회로(530)는 비트 라인들(BL)을 선택한다.
예시적으로, 독출-기입 회로(530)는 데이터 입출력 회로(540)로부터 데이터를 수신하고, 수신된 데이터를 메모리 셀 어레이(510)에 기입한다. 또한, 독출-기입 회로(530)는 메모리 셀 어레이(510)로부터 데이터를 독출하고, 독출 데이터를 데이터 입출력 회로(540)에 전달한다.
예를 들어, 독출-기입 회로(530)는 페이지 버퍼(또는 페이지 레지스터), 열 선택 회로 등과 구성 요소들을 포함할 수 있다. 다른 예로서, 독출-기입 회로(530)는 감지 증폭기, 쓰기 드라이버, 열 선택 회로 등과 같은 구성 요소들을 포함할 수 있다.
데이터 입출력 회로(540)는 데이터 라인들(DL)을 통해 독출-기입 회로(530)에 연결된다. 데이터 입출력 회로(530)는 제어 로직(560)의 제어에 응답하여 동작한다. 데이터 입출력 회로(540)는 외부와 데이터(DATA)를 교환하도록 구성된다. 데이터 입출력 회로(540)는 외부로부터 전달되는 데이터(DATA)를 데이터 라인들(DL)을 통해 독출-기입 회로(530)에 전달하도록 구성된다. 데이터 입출력 회로(540)는 독출-기입 회로(530)로부터 데이터 라인들(DL)을 통해 전달되는 데이터(DATA)를 외부로 출력하도록 구성된다. 예시적으로, 데이터 입출력 회로(540)는 데이터 버퍼와 같은 구성 요소를 포함할 수 있다.
전압 생성 회로(550)는 메모리 셀 어레이(510), 어드레스 디코더(520), 그리고 제어 로직(560)에 연결된다. 전압 생성 회로(550)는 외부로부터 전원을 공급받는다. 예를 들면, 전압 생성 회로(550)는 외부로부터 전원 전압(Vcc) 및 접지 전압(Vss)을 공급받는다. 제어 로직(560)의 제어에 응답하여, 전압 생성 회로(550)는 전원 전압(Vcc) 및 접지 전압(Vss)으로부터 다양한 레벨들을 갖는 전압들을 생성하도록 구성된다. 예를 들면, 전압 생성 회로(550)는 고전압(Vpp), 프로그램 전압(Vpgm), 패스 전압(Vpass), 읽기 전압(Vread), 소거 전압(Vers) 등과 같은 다양한 전압들을 생성하도록 구성된다.
전압 생성 회로(550)에 의해 생성된 전압들은 제어 로직(560)의 제어 하에 어드레스 디코더(520) 및 메모리 셀 어레이(510)에 공급된다. 예를 들면, 프로그램 동작 시에 프로그램 전압(Vpgm) 및 패스 전압(Vpass)이 어드레스 디코더(520)에 공급될 것이다. 읽기 동작 시에, 읽기 전압(Vread)이 어드레스 디코더(520)에 공급될 것이다. 메모리 셀 어레이(510)의 소거 시에, 소거 전압(Vers)이 메모리 셀 어레이(510)에 공급될 것이다.
전압 생성 회로(550)에 의해 생성되는 다양한 전압들이 설명되었다. 상술된 전압들은 전압 생성 회로(550)에 의해 생성되는 예시적인 전압들이다. 전압 생성 회로(550)에 의해 생성되는 전압들은 상술된 전압들로 한정되지 않는다.
제어 로직(560)은 어드레스 디코더(520), 독출-기입 회로(530) 및 데이터 입출력 회로(550)에 연결된다. 제어 로직(560)은 메모리 장치(500)의 제반 동작을 제어하도록 구성된다. 제어 로직(560)은 외부로부터 전달되는 제어 신호(CTRL)에 응답하여 동작한다.
도 5는 도 4의 메모리 장치에 포함되는 메모리 셀 어레이의 일 실시예를 나타내는 사시도이고, 도 6은 도 4의 메모리 장치에 포함되는 메모리 셀 어레이의 일 실시예를 나타내는 등가 회로도이다. 도 5 및 도 6에서 제1 방향(D1)은 수직 방향, 제2 방향(D2)은 행 방향, 제3 방향(D3)은 열 방향이라 칭할 수도 있다.
도 5를 참조하면, 메모리 셀 어레이(511)는 워드라인 컷 영역들 사이에 적어도 하나의 접지 스트링 라인(GSL), 복수의 워드라인들(WL), 적어도 하나의 스트링 선택 라인(SSL)이 수직 방향(D1)으로 기판 위에 적층되는 형태로 구현될 수 있다. 워드라인 컷 영역들(WDCT)의 기판 상부에는 도핑 영역들(DOP)이 형성될 수 있고, 도핑 영역들(DOP)은 공통 소스 전압이 공급되는 공통 소스 라인(CSL: common source line) 또는 또는 공통 소스 노드(CSN: common source node)로 이용될 수 있다.
복수의 수직 채널들 또는 채널 홀들이 적어도 하나의 접지 스트링 라인(GSL), 복수의 워드라인들(WL), 적어도 하나의 스트링 선택 라인(SSL)을 관통한다. 여기서 적어도 하나의 접지 스트링 라인(GSL), 복수의 워드라인들(WL), 적어도 하나의 스트링 선택 라인(SSL)은 기판 형태로 구현될 수 있다. 복수의 수직 채널들의 상부면에는 비트라인들(BL)이 연결된다.
도 6을 참조하면, 메모리 셀 어레이(512)는 수직 구조를 가지는 복수의 낸드 스트링(NS)들을 포함할 수 있다. 낸드 스트링(NS)은 제2 방향(D2)을 따라 복수 개로 형성되어 스트링 열을 형성할 수 있으며, 상기 스트링 열은 제3 방향(D3)을 따라 복수 개로 형성되어 스트링 어레이를 형성할 수 있다. 복수의 낸드 스트링(NS)들은 비트 라인들(BL(1), ..., BL(m))과 공통 소스 라인(CSL) 사이에 제1 방향을 따라 직렬로 배치되는 접지 선택 트랜지스터(GSTV)들, 메모리 셀(MC3)들 및 스트링 선택 트랜지스터(SSTV)들을 각각 포함할 수 있다.
접지 선택 트랜지스터(GSTV)들은 접지 선택 라인들(GSL11, GSL12, ..., GSLi1, GSLi2)에 각각 연결되고, 스트링 선택 트랜지스터(SSTV)들은 스트링 선택 라인들(SSL11, SSL12, ..., SSLi1, SSLi2)에 각각 연결될 수 있다. 동일한 층에 배열되는 메모리 셀(MC)들은 워드 라인들(WL(1), WL(2), ..., WL(n-1), WL(n)) 중 하나에 공통으로 연결될 수 있다. 접지 선택 라인들(GSL11, ..., GSLi2) 및 스트링 선택 라인들(SSL11, ..., SSLi2)은 제2 방향(D2)으로 연장되며 제3 방향(D3)을 따라 복수 개로 형성될 수 있다. 워드 라인들(WL(1), ..., WL(n))은 제2 방향(D2)으로 연장되며 제1 방향(D1) 및 제3 방향(D3)을 따라 복수 개로 형성될 수 있다. 비트 라인들(BL(1), ..., BL(m))은 제3 방향(D3)으로 연장되며 제2 방향(D2)을 따라 복수 개로 형성될 수 있다. 메모리 셀(MC2)들은 워드 라인들(WL(1), ..., WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.
메모리 셀 어레이(512)를 포함하는 수직형 또는 삼차원 낸드 플래시 메모리 장치는 NAND 플래시 메모리 셀들을 포함하므로, 이차원 NAND 플래시 메모리 장치와 마찬가지로 페이지 단위로 기입 동작 및 독출 동작을 수행하며, 블록 단위로 소거 동작을 수행한다.
실시예에 따라서, 하나의 스트링(NS)에 포함되는 두 개의 스트링 선택 트랜지스터들은 하나의 스트링 선택 라인에 연결되고 하나의 스트링에 포함되는 두 개의 접지 선택 트랜지스터들은 하나의 접지 선택 라인에 연결되도록 구현될 수도 있다. 또한, 실시예에 따라서, 하나의 스트링은 하나의 스트링 선택 트랜지스터 및 하나의 접지 선택 트랜지스터를 포함하여 구현될 수도 있다.
도 7은 도 4의 메모리 장치에 포함되는 메모리 셀 어레이의 일 실시예를 나타내는 평면도이고, 도 8은 도 7의 메모리 셀 어레이에 포함되는 낸드 스트링들의 연결을 나타내는 회로도이다.
도 7에서 점을 찍지 않은 원(white circle) 원은 아우터 셀 또는 아우터 채널 홀을 나타내고 점을 찍은 원(dotted circle)은 인너 셀 또는 인너 채널 홀을 나타낸다. 워드라인 컷 영역(WDCT) 내부에는 도 5에 도시된 도핑 영역들(DOP)에 상응하는 공통 소스 라인들이 배치된다.
도 7을 참조하면, 메모리 셀 어레이에는 채널 홀들이 지그-재그(Zig-Zag) 구조로 배치될 수 있다. 이러한 지그-재그 구조는 메모리 셀 어레이의 면적을 감소시키는 효과가 있다. 메모리 셀 어레이에는 서로 인접하는 두 개의 워드라인 컷 영역들(WDCT) 사이에 열 방향(D3)으로 하나의 아우터 채널 홀 및 하나의 인너 채널 홀이 배치될 수 있다. 이와 같이 열 방향(D3)으로 배치된 하나의 아우터 채널 홀 및 하나의 인너 채널 홀 중 하나는 짝수 번째 비트라인에 연결되고 다른 하나는 홀수 번째 비트라인에 연결될 수 있다. 도 7에는 편의상 하나의 비트라인 쌍(BLi, BLo)이 도시되어 있으며, 다른 비트라인들은 생략되어 있다. 인너 비트라인(Bi)이 짝수 번째 비트라인이고 아우터 비트라인(BLo)이 홀수 번째 비트라인일 수 있다. 반대로 인너 비트라인(Bi)이 홀수 번째 비트라인이고 아우터 비트라인(BLo)이 짝수 번째 비트라인일 수도 있다.
도 7에 도시된 바와 같이, 아우터 메모리 셀들은 워드라인 컷 영역(WDCT)으로부터의 거리(Do)가 상대적으로 가까운 아우터 채널 홀들에 형성되고 인너 메모리 셀들은 워드라인 컷 영역(WDCT)으로부터의 거리(Di)가 상대적으로 먼 인너 채널 홀들에 형성된다.
도 8을 참조하면, 인너 낸드 스트링(NSi)은 인너 채널 홀에 형성되고 아우터 낸드 스트링은 아우터 채널 홀에 형성된다. 인너 낸드 스트링(NSi)의 일단은 인너 비트라인(BLi)에 연결되고 타단은 인너 저항(Ri)을 통하여 공통 소스 라인(CSL)에 연결된다. 아우터 낸드 스트링(NSo)의 일단은 아우터 비트라인(BLo)에 연결되고 타단은 아우터 저항(Ro)을 통하여 공통 소스 라인(CSL)에 연결된다.
도 7을 참조하여 전술한 바와 같이 인너 낸드 스트링(NSi)(즉 인너 채널 홀)과 공통 소스 라인(즉 워드 라인 컷 영역) 사이의 거리(Di)가 아우터 낸드 스트링(NSo)(즉 아우터 채널 홀)과 공통 소스 라인 사이의 거리(Do)보다 크기 때문에 인너 저항(Ri)은 아우터 저항(Ro)보다 큰 값을 갖는다.
이와 같이, 인너 낸드 스트링(NSi)과 아우터 낸드 스트링(NSo)이 서로 다른 값의 저항들(Ri, Ro)을 통하여 공통 소스 라인(CSL)에 연결됨을 알 수 있다. 즉 인너 낸드 스트링(NSi)과 아우터 낸드 스트링(NSo)이 비대칭의 연결 구조를 갖기 때문에 인너 낸드 스트링(NSi)의 인너 셀들과 아우터 낸드 스트링(NSo)의 아우터 셀들은 동작에 있어서 전기적인 특성 차이가 발생될 수 있다. 이러한 특성 차이는 에러 비트 수준의 차이로 나타날 수 있다.
본 발명의 실시예들에 따른 메모리 장치 및 메모리 장치의 ECC 제어 방법은 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소할 수 있다. 이러한 ECC 섹터의 최대 에러 비트 수준의 감소를 통하여 불량 구제율을 높이고 메모리 장치의 수율, 성능 및 수명을 향상시킬 수 있다.
도 9는 도 4의 메모리 장치에 포함되는 독출-기입 회로의 일 실시예를 나타내는 도면이다.
도 9에는 편의상 메모리 셀 어레이로부터 데이터를 독출하기 위한 구성만이 도시되어 있으며 메모리 셀 어레이에 데이터를 기입하기 위한 구성은 그 도시를 생략하였다.
도 9를 참조하면, 독출-기입 회로(531)는 제1 독출-기입 유닛(RWU0), 제2 독출-기입 유닛(RWU1), 제3 독출-기입 유닛(RWU2) 및 제4 독출-기입 유닛(RWU3)를 포함할 수 있다. 제1 독출-기입 유닛(RWU0)은 제1 내지 제8 비트라인들(BL0~BL7) 및 제1 데이터 라인(DL0)에 연결된다. 제2 독출-기입 유닛(RWU1)은 제9 내지 제16 비트라인들(BL8~BL15) 및 제2 데이터 라인(DL1)에 연결된다. 제3 독출-기입 유닛(RWU2)은 제17 내지 제24 비트라인들(BL16~BL23) 및 제3 데이터 라인(DL2)에 연결된다. 제4 독출-기입 유닛(RWU3)은 제25 내지 제32 비트라인들(BL24~BL31) 및 제4 데이터 라인(DL3)에 연결된다.
이하에서는 편의상 32 개의 비트라인들(BL0~BL31)이 서로 인접하는 8개의 비트라인들을 포함하는 4개의 비트 라인 그룹들(BGR1~BGR4)로 그룹화되고 비트 라인 그룹들(BGR1~BGR4)이 4개의 독출-기입 유닛들(RWU0~RWU3)에 각각 연결되는 예를 들어 설명하지만, 비트라인들의 개수 및 독출-기입 유닛들의 개수는 이에 한정되지 않으며 다양하게 변경될 수 있다.
제1 독출-기입 유닛(RWU0)은 복수의 페이지 버퍼들(PB0~PB7)을 포함한다. 도 9에는 편의상 페이지 버퍼들(PB0~PB7)이 2행*4열의 매트릭스 형태로 배치되는 예를 도시하였으나, 페이지 버퍼들의 행수 및 열수는 다양하게 변경될 수 있다.
페이지 버퍼들(PB0~PB7)의 각각은 두 개의 인버터들을 포함하는 페이지 버퍼 래치, 구동 트랜지스터(TD) 및 래치 트랜지스터(TL)를 포함한다.
제1 페이지 버퍼(PB0)의 페이지 버퍼 래치의 일단은 비트라인 선택 신호(BLS)에 응답하여 턴온되는 스위칭 트랜지스터(TS)를 통하여 제 1 비트라인(BL0)에 연결되고, 타단은 구동 트랜지스터(TD)의 게이트에 연결된다. 구동 트랜지스터(TD)는 제 1 래치 신호(L0)에 응답하여 턴온되는 제1 래치 트랜지스터(TL0)를 통하여 제1 열 선택 트랜지스터(TY0)에 연결된다.
이와 유사하게, 제3 페이지 버퍼(PB2), 제5 페이지 버퍼(PB4) 및 제7 페이지 버퍼(PB6)는 제3 비트라인(BL2), 제5 비트라인(BL4) 및 제7 비트라인(BL6)과 제2 열 선택 트랜지스터(TY1), 제3 열 선택 트랜지스터(TY2) 및 제4 열 선택 트랜지스터(TY3) 사이에 각각 연결된다.
제2 페이지 버퍼(PB1)의 페이지 버퍼 래치의 일단은 비트라인 선택 신호(BLS)에 응답하여 턴온되는 스위칭 트랜지스터(TS)를 통하여 제 2 비트라인(BL1)에 연결되고, 타단은 구동 트랜지스터(TD)의 게이트에 연결된다. 구동 트랜지스터(TD)는 제 2 래치 신호(L1)에 응답하여 턴온되는 제2 래치 트랜지스터(TL1)를 통하여 제1 열 선택 트랜지스터(TY0)에 연결된다.
이와 유사하게, 제4 페이지 버퍼(PB3), 제6 페이지 버퍼(PB5) 및 제8 페이지 버퍼(PB7)는 제4 비트라인(BL3), 제6 비트라인(BL5) 및 제8 비트라인(BL7)과 제2 열 선택 트랜지스터(TY1), 제3 열 선택 트랜지스터(TY2) 및 제4 열 선택 트랜지스터(TY3) 사이에 각각 연결된다.
제1 페이지 버퍼(PB0) 및 제2 페이지 버퍼(PB1)는 제1 열 선택 신호(Y0)에 응답하여 턴온되는 제1 열 선택 트랜지스터(TY0)를 통하여 제1 데이터 라인(DL0)에 연결된다. 제3 페이지 버퍼(PB2) 및 제4 페이지 버퍼(PB3)는 제2 열 선택 신호(Y1)에 응답하여 턴온되는 제2 열 선택 트랜지스터(TY1)를 통하여 제2 데이터 라인(DL1)에 연결된다. 제5 페이지 버퍼(PB4) 및 제6 페이지 버퍼(PB5)는 제3 열 선택 신호(Y2)에 응답하여 턴온되는 제3 열 선택 트랜지스터(TY2)를 통하여 제3 데이터 라인(DL2)에 연결된다. 제7 페이지 버퍼(PB6) 및 제8 페이지 버퍼(PB7)는 제4 열 선택 신호(Y3)에 응답하여 턴온되는 제4 열 선택 트랜지스터(TY3)를 통하여 제4 데이터 라인(DL3)에 연결된다.
제1 래치 신호(L0) 및 제2 래치 신호(L1)는 한번에 하나만이 활성화된다. 제1 래치 신호(L0)가 활성화되는 경우 제1 행의 짝수 번째(even-numbered) 페이지 버퍼들(PB0, PB2, PB4, PB6)이 열 선택 트랜지스터들(TY0, TY1, TY2, TY3)에 연결된다. 제2 래치 신호(L1)가 활성화되는 경우 제2 행의 홀수 번째(odd-numbered) 페이지 버퍼들(PB1, PB3, PB5, PB7)이 열 선택 트랜지스터들(TY0, TY1, TY2, TY3)에 연결된다.
제1 내지 제 4 열 선택 신호들(Y0, Y1, Y2, Y3)은 한번에 하나만이 활성화된다. 제1 열 선택 신호(Y0)가 활성화되는 경우 제1 열의 페이지 버퍼들(PB0, PB1)이 제1 데이터 라인(DL0)에 연결된다. 제2 열 선택 신호(Y1)가 활성화되는 경우 제2 열의 페이지 버퍼들(PB2, PB3)이 제1 데이터 라인(DL0)에 연결된다. 제3 열 선택 신호(Y2)가 활성화되는 경우 제3 열의 페이지 버퍼들(PB4, PB5)이 제1 데이터 라인(DL0)에 연결된다. 제4 열 선택 신호(Y3)가 활성화되는 경우 제4 열의 페이지 버퍼들(PB6, PB7)이 제1 데이터 라인(DL0)에 연결된다.
결과적으로, 제1 독출-기입 유닛(RWU0)은 래치 신호들(L0, L1) 및 열 선택 신호들(Y0, Y1, Y2, Y3)에 응답하여 제1 내지 제8 비트라인들(BL0~BL7) 중 하나와 제1 데이터 라인(DL0)을 연결될 수 있다.
제2 독출-기입 유닛(RWU1), 제3 독출-기입 유닛(RWU2) 및 제4 독출-기입 유닛(RWU3)은 제1 독출-기입 유닛(RWU0)과 실질적으로 동일한 구성을 가질 수 있다. 따라서 제2 독출-기입 유닛(RWU1)은 래치 신호들(L0, L1) 및 열 선택 신호들(Y0, Y1, Y2, Y3)에 응답하여 제9 내지 제16 비트라인들(BL8~BL15) 중 하나와 제2 데이터 라인(DL1)을 연결될 수 있고, 제3 독출-기입 유닛(RWU2)은 래치 신호들(L0, L1) 및 열 선택 신호들(Y0, Y1, Y2, Y3)에 응답하여 제17 내지 제24 비트라인들(BL16~BL23) 중 하나와 제3 데이터 라인(DL2)을 연결될 수 있고, 제4 독출-기입 유닛(RWU3)은 래치 신호들(L0, L1) 및 열 선택 신호들(Y0, Y1, Y2, Y3)에 응답하여 제25 내지 제32 비트라인들(BL24~BL31) 중 하나와 제4 데이터 라인(DL3)을 연결될 수 있다.
도 10은 도 9의 독출-기입 회로에 제공되는 디코디드 어드레스 신호들의 일 예를 나타내는 도면이다.
도 4의 어드레스 디코더(520)는 어드레스(ADDR)의 일부 비트들에 해당하는 제1 내지 제3 어드레스 비트들(A0, A1, A2)에 기초하여 디코디드 어드레스 신호들(L0, L1, Y0, Y1, Y2, Y3)을 발생할 수 있다. 디코디드 어드레스 신호들(L0, L1, Y0, Y1, Y2, Y3)은 도 9를 참조하여 전술한 래치 신호들(L0, L1) 및 열 선택 신호들(Y0, Y1, Y2, Y3)을 포함할 수 있다.
도 10을 참조하면, 래치 신호들(L0, L1)은 제3 어드레스 비트(A2)에 기초하여 발생될 수 있고, 열 선택 신호들(Y0, Y1, Y2, Y3)은 제1 어드레스 비트(A0) 및 제2 어드레스 비트(A1)에 기초하여 발생될 수 있다.
제3 어드레스 비트(A2)가 '0'일 때 제1 래치 신호(L0)가 논리 하이 레벨(H)로 활성화될 수 있고 제2 래치 신호(L1)가 논리 로우 레벨(L)로 비활성화될 수 있다. 반면에 제3 어드레스 비트(A2)가 '1'일 때 제1 래치 신호(L0)가 논리 로우 레벨(L)로 비활성화될 수 있고 제2 래치 신호(L1)가 논리 하이 레벨(H)로 활성화될 수 있다.
제2 어드레스 비트(A1)와 제1 어드레스 비트(A0)가 '00'일 때 제1 열 선택 신호(Y0)만이 논리 하이 레벨(H)로 활성화되고 나머지 열 선택 신호들(Y1, Y2, Y3)은 논리 로우 레벨(L)로 비활성화될 수 있다. 제2 어드레스 비트(A1)와 제1 어드레스 비트(A0)가 '01'일 때 제2 열 선택 신호(Y1)만이 논리 하이 레벨(H)로 활성화되고 나머지 열 선택 신호들(Y0, Y2, Y3)은 논리 로우 레벨(L)로 비활성화될 수 있다. 제2 어드레스 비트(A1)와 제1 어드레스 비트(A0)가 '10'일 때 제3 열 선택 신호(Y2)만이 논리 하이 레벨(H)로 활성화되고 나머지 열 선택 신호들(Y0, Y1, Y3)은 논리 로우 레벨(L)로 비활성화될 수 있다. 제2 어드레스 비트(A1)와 제1 어드레스 비트(A0)가 '11'일 때 제3 열 선택 신호(Y2)만이 논리 하이 레벨(H)로 활성화되고 나머지 열 선택 신호들(Y0, Y1, Y3)은 논리 로우 레벨(L)로 비활성화될 수 있다.
제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'일 때 도 9의 독출-기입 회로(531)는 제1 비트라인(BL0), 제9 비트라인(BL8), 제17 비트라인(BL16) 및 제25 비트라인(BL24)을 각각 제1 내지 제4 데이터 라인들(DL0~DL3)에 연결한다. 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 1만큼 증가하여 '001'일 때 도 9의 독출-기입 회로(531)는 제3 비트라인(BL2), 제11 비트라인(BL10), 제19 비트라인(BL18) 및 제27 비트라인(BL26)을 각각 제1 내지 제4 데이터 라인들(DL0~DL3)에 연결한다.
이와 같이, 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'부터 '111'까지 순차적으로 증가하는 경우에 대한 비트라인의 데이터 입출력 순서(ORDB)가 도 11 내지 도 20에 도시되어 있다.
도 11은 본 발명의 일 실시예에 따른 메모리 셀들과 비트라인들의 연결 구조를 나타내는 도면이고, 도 12는 도 11의 연결 구조에 따른 입출력 데이터의 순서를 나타내는 도면이다.
도 11에 도시된 바와 같이, 제1 비트라인 그룹(BGR1)은 서로 인접하는 제1 내지 제8 비트라인들(BL0~BL7)을 포함하고, 제2 비트라인 그룹(BGR2)은 서로 인접하는 제9 내지 제16 비트라인들(BL8~BL15)을 포함하고, 제3 비트라인 그룹(BGR3)은 제17 내지 제24 비트라인들(BL16~BL23)을 포함하고, 제4 비트라인 그룹(BGR4)은 제25 내지 제32 비트라인들(BL24~BL31)을 포함한다.
이하, 각 비트라인 쌍에 대해서 짝수 번째 비트라인이 아우터 셀에 연결되고 홀수 번째 비트라인이 인너 셀에 연결되는 것을 제1 연결 방식이라 정의하고, 가 비트라인 쌍에 대해서, 짝수 번째 비트라인이 인너 셀에 연결되고 홀수 번째 비트라인이 아우터 셀에 연결되는 것을 제2 연결 방식이라 정의한다.
도 11을 참조하면, 제1 내지 제4 비트라인 그룹들(BGR1~BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제1 연결방식이 적용되는 제1 연결 구조(HBS1)를 갖는다. 도 11의 하부에는 도 9의 독출-기입 회로(531) 및 도 10의 어드레스 디코딩을 적용하였을 때, 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'부터 '111'까지 순차적으로 증가하는 경우에 대한 비트라인의 데이터 입출력 순서(ORDB)가 도시되어 있다.
도 12에는 도 11의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB) 및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)가 도시되어 있다. ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ESEC1) 및 제2 ECC 섹터(ESEC2)는 각각 아우터 셀들만을 포함하고, 제3 ECC 섹터(ESEC3) 및 제4 ECC 섹터(ESEC4)는 각각 인너 셀들만을 포함한다.
도 1 및 도 2를 참조하여 전술한 바와 같이, 논리적인 ECC 섹터 내에 동일한 셀 특성의 메모리 셀들만이 포함되는 경우 최대 에러 비트 수준은 셀 특성이 나쁜 쪽에 의해 결정된다. 본 발명의 실시예들에 따라서 나쁜 셀 특성을 가진 메모리 셀들이 동일한 ECC 섹터 내에 모이지 않도록 메모리 셀들의 데이터 입출력 순서를 재배열함으로써 최대 에러 비트 수준을 감소시킬 수 있다.
일 실시예에서, 도 13 내지 도 20을 참조하여 설명하는 바와 같이, 각 ECC 섹터 내에 상기 셀 그룹들의 각각에 속하는 메모리 셀들이 균일하게 포함되도록 상기 메모리 셀들과 비트라인들 사이의 연결 구조를 결정할 수 있다.
다른 실시예에서, 도 21 내지 도 24를 참조하여 설명하는 바와 같이, 각 ECC 섹터 내에 상기 셀 그룹들의 각각에 속하는 메모리 셀들이 균일하게 포함되도록 비트라인들과 독출-기입 회로 사이의 연결 구조를 결정할 수 있다.
또 다른 실시예에서, 도 25 내지 도 27을 참조하여 설명하는 바와 같이, 상기 ECC 섹터 내에 상기 셀 그룹들의 각각에 속하는 메모리 셀들이 균일하게 포함되도록 디코디드 어드레스 신호들과 독출-기입 회로 사이의 연결 구조를 결정할 수 있다.
또 다른 실시예에서, 도 28 내지 도 32를 참조하여 설명하는 바와 같이, 상기 ECC 섹터 내에 상기 셀 그룹들의 각각에 속하는 메모리 셀들이 균일하게 포함되도록 어드레스 디코더에 입력되는 어드레스를 변경할 수 있다.
도 13은 본 발명의 일 실시예에 따른 메모리 셀들과 비트라인들의 연결 구조를 나타내는 도면이고, 도 14는 도 13의 연결 구조에 따른 입출력 데이터의 순서를 나타내는 도면이다.
도 13을 참조하면, 제1 비트라인 그룹(BGR1) 및 제2 비트라인 그룹(BGR2)의 각각은 모든 비트라인 쌍들에 대해서 제1 연결 방식이 적용되는 제1 연결 구조(HBS1)를 갖고, 제3 비트라인 그룹(BGR3) 및 제4 비트라인 그룹(BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제2 연결 방식이 적용되는 제2 연결 구조(HBS2)를 갖는다. 도 13의 하부에는 도 9의 독출-기입 회로(531) 및 도 10의 어드레스 디코딩을 적용하였을 때, 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'부터 '111'까지 순차적으로 증가하는 경우에 대한 비트라인의 데이터 입출력 순서(ORDB)가 도시되어 있다.
도 14에는 도 13의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB)및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)가 도시되어 있다. ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ESEC1) 내지 제4 ECC 섹터(ESEC4)는 각각 2개의 아우터 셀들과 2개의 인너 셀들이 인터리빙되어 동일한 개수의 아우터 셀들과 인너 셀들을 포함할 수 있다.
도 15는 본 발명의 일 실시예에 따른 메모리 셀들과 비트라인들의 연결 구조를 나타내는 도면이고, 도 16은 도 15의 연결 구조에 따른 입출력 데이터의 순서를 나타내는 도면이다.
도 15를 참조하면, 제1 비트라인 그룹(BGR1) 및 제3 비트라인 그룹(BGR3)의 각각은 모든 비트라인 쌍들에 대해서 제1 연결 방식이 적용되는 제1 연결 구조(HBS1)를 갖고, 제2 비트라인 그룹(BGR3) 및 제4 비트라인 그룹(BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제2 연결 방식이 적용되는 제2 연결 구조(HBS2)를 갖는다. 도 15의 하부에는 도 9의 독출-기입 회로(531) 및 도 10의 어드레스 디코딩을 적용하였을 때, 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'부터 '111'까지 순차적으로 증가하는 경우에 대한 비트라인의 데이터 입출력 순서(ORDB)가 도시되어 있다.
도 16에는 도 15의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB)및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)가 도시되어 있다. ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ESEC1) 내지 제4 ECC 섹터(ESEC4)는 각각 1개의 아우터 셀들과 1개의 인너 셀들이 인터리빙되어 동일한 개수의 아우터 셀들과 인너 셀들을 포함할 수 있다.
도 17은 본 발명의 일 실시예에 따른 메모리 셀들과 비트라인들의 연결 구조를 나타내는 도면이고, 도 18은 도 17의 연결 구조에 따른 입출력 데이터의 순서를 나타내는 도면이다.
도 17을 참조하면, 제1 비트라인 그룹(BGR1) 내지 제4 비트라인 그룹(BGR4)의 각각은 제1 연결 방식과 제2 연결 방식이 혼합하여 적용되는 제3 연결 구조(HBS3)를 갖는다. 도 17의 하부에는 도 9의 독출-기입 회로(531) 및 도 10의 어드레스 디코딩을 적용하였을 때, 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'부터 '111'까지 순차적으로 증가하는 경우에 대한 비트라인의 데이터 입출력 순서(ORDB)가 도시되어 있다.
도 18에는 도 17의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB)및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)가 도시되어 있다. ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ESEC1) 내지 제4 ECC 섹터(ESEC4)는 각각 4개의 아우터 셀들과 4개의 인너 셀들이 인터리빙되어 동일한 개수의 아우터 셀들과 인너 셀들을 포함할 수 있다.
그러나, ECC 섹터의 크기가 4비트인 경우, 제1 ECC 섹터(ES1), 제3 ECC 섹터(ES3), 제5 ECC 섹터(ES5) 및 제7 ECC 섹터(ES7)는 아우터 셀들만을 포함하고, 제2 ECC 섹터(ES2), 제4 ECC 섹터(ES4), 제6 ECC 섹터(ES6) 및 제8 ECC 섹터(ES8)는 인너 셀들만을 포함한다. 이 경우 도 19 및 도 20을 참조하여 설명하는 바와 같이, 비트라인 그룹들 중 일부의 비트라인 그룹들에 대한 상기 제1 연결 방식과 상기 제2 연결 방식의 적용 순서를 나머지 비트라인 그룹들에 대한 상기 적용 순서와 반대로 함으로써, 각 ECC 섹터 내에 포함되는 인너 셀들과 아우터 셀들의 개수를 균일하게 할 수 있다.
도 19는 본 발명의 일 실시예에 따른 메모리 셀들과 비트라인들의 연결 구조를 나타내는 도면이고, 도 20은 도 19의 연결 구조에 따른 입출력 데이터의 순서를 나타내는 도면이다.
도 19를 참조하면, 제1 비트라인 그룹(BGR1) 및 제2 비트라인 그룹(BGR2)의 각각은 4개의 비트라인 쌍들에 대하여 제1 연결 방식, 제2 연결 방식, 제1 연결 방식 및 제2 연결 방식의 순서로 적용되는 제3 연결 구조(HBS3)를 갖는 반면에, 제3 비트라인 그룹(BGR3) 및 제4 비트라인 그룹(BGR4)의 각각은 4개의 비트라인 쌍들에 대하여 제2 연결 방식, 제1 연결 방식, 제2 연결 방식 및 제1 연결 방식의 순서로 적용되는 제4 연결 구조(HBS4)를 갖는다. 즉 제1 및 제2 비트라인 그룹들(BGR1, BGR2)에 대한 제1 연결 방식과 제2 연결 방식의 적용 순서는 제3 및 제4 비트라인 그룹들(BGR3, BGR4)에 대한 상기 적용 순서와 반대이다.
도 20에는 도 19의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB)및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)가 도시되어 있다. ECC 섹터의 크기가 4비트인 경우, 제1 ECC 섹터(ES1) 내지 제8 ECC 섹터(ES8)는 각각 2개의 아우터 셀들과 2개의 인너 셀들을 포함할 수 있다.
이상 도 13 내지 20을 참조하여 설명한 바와 같이, 각 ECC 섹터 내에 아우터 셀들과 인너 셀들이 동일한 개수로 포함되도록 메모리 셀들과 비트라인들 사이의 연결 구조를 결정할 수 있다. 이와 같이 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소할 수 있다.
도 21 내지 도 24는 본 발명의 실시예들에 따른 비트라인들과 페이지 버퍼들의 연결 구조들을 나타내는 도면들이다.
도 21 내지 도 24에서, 제1 내지 제4 비트라인 그룹들(BGR1~BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제1 연결방식이 적용되는 제1 연결 구조(HBS1)를 갖는다. 즉 도 21 내지 도 24에 도시된 메모리 셀들과 비트라인들의 연결 구조는 모두 도 11에 도시된 메모리 셀들과 비트라인들의 연결 구조와 동일하다.
이하 각 비트라인 쌍에 대해서 짝수 번째 비트라인이 짝수 번째 페이지 버퍼에 연결되고 홀수 번째 비트라인이 홀수 번째 페이지 버퍼에 연결되는 것을 제3 연결 방식이라 정의하고, 각 비트라인 쌍에 대해서 짝수 번째 비트라인이 홀수 번째 페이지 버퍼에 연결되고 홀수 번째 비트라인이 짝수 번째 페이지 버퍼에 연결되는 것을 제4 연결 방식이라 정의한다.
도 21을 참조하면, 제1 내지 제4 비트라인 그룹들(BGR1~BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제3 연결방식이 적용되는 제1 연결 구조(BPS1)를 갖는다. 즉, 도 21에 도시된 비트라인들과 페이지 버퍼들 사이의 연결 구조는 도 9에 도시된 비트라인들과 페이지 버퍼들 사이의 연결 구조와 동일하다.
결과적으로 도 21의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB) 및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)는 도 12에 도시된 것과 동일하다. 즉 ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ESEC1) 및 제2 ECC 섹터(ESEC2)는 각각 아우터 셀들만을 포함하고, 제3 ECC 섹터(ESEC3) 및 제4 ECC 섹터(ESEC4)는 각각 인너 셀들만을 포함한다.
도 1 및 도 2를 참조하여 전술한 바와 같이, 논리적인 ECC 섹터 내에 동일한 셀 특성의 메모리 셀들만이 포함되는 경우 최대 에러 비트 수준은 셀 특성이 나쁜 쪽에 의해 결정된다. 본 발명의 실시예들에 따라서 나쁜 셀 특성을 가진 메모리 셀들이 동일한 ECC 섹터 내에 모이지 않도록 메모리 셀들의 데이터 입출력 순서를 재배열함으로써 최대 에러 비트 수준을 감소시킬 수 있다.
도 22를 참조하면, 제1 비트라인 그룹(BGR1) 및 제2 비트라인 그룹(BGR2)의 각각은 모든 비트라인 쌍들에 대해서 제3 연결 방식이 적용되는 제1 연결 구조(BPS1)를 갖고, 제3 비트라인 그룹(BGR3) 및 제4 비트라인 그룹(BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제4 연결 방식이 적용되는 제2 연결 구조(BPS2)를 갖는다.
결과적으로 도 22의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB) 및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)는 도 14에 도시된 것과 동일하다. 즉 ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ECC1) 내지 제4 ECC 섹터(ECC4)는 각각 2개의 아우터 셀들과 2개의 인너 셀들이 인터리빙되어 동일한 개수의 아우터 셀들과 인너 셀들을 포함할 수 있다.
도 23을 참조하면, 제1 비트라인 그룹(BGR1) 및 제3 비트라인 그룹(BGR3)의 각각은 모든 비트라인 쌍들에 대해서 제3 연결 방식이 적용되는 제1 연결 구조(BPS1)를 갖고, 제2 비트라인 그룹(BGR2) 및 제4 비트라인 그룹(BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제4 연결 방식이 적용되는 제2 연결 구조(BPS2)를 갖는다.
결과적으로 도 23의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB) 및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)는 도 16에 도시된 것과 동일하다. 즉 ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ESEC1) 내지 제4 ECC 섹터(ESEC4)는 각각 1개의 아우터 셀들과 1개의 인너 셀들이 인터리빙되어 동일한 개수의 아우터 셀들과 인너 셀들을 포함할 수 있다.
도 22 및 도 23에 도시된 바와 같이, 동일한 비트라인 쌍에 속하는 짝수 번째 비트라인과 홀수 번째 비트라인을 평행하게 유지하여 상기 제3 연결 방식을 구현하고, 동일한 비트라인 쌍에 속하는 짝수 번째 비트라인과 홀수 번째 비트라인을 교차하여 상기 제4 연결 방식을 구현할 수 있다. 이와 같은 비트라인들과 페이지 버퍼들의 연결 구조는 다른 방법으로 구현될 수 있다.
예를 들어, 도 24에 도시된 바와 같이, 동일한 비트라인 쌍에 속하는 짝수 번째 비트라인과 홀수 번째 비트라인의 길이들을 변경하여 상기 제3 연결 방식 또는 상기 제4 연결 방식을 구현할 수 있다.
도 24를 참조하면, 제1 비트라인 그룹(BGR1) 및 제2 비트라인 그룹(BGR2)의 각각은 모든 비트라인 쌍들에 대해서 제3 연결 방식이 적용되는 제1 연결 구조(BPS1)를 갖고, 제3 비트라인 그룹(BGR3) 및 제4 비트라인 그룹(BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제4 연결 방식이 적용되는 제3 연결 구조(BPS3)를 갖는다. 도 22 및 도 23에서 제2 연결 구조(BPS2)는 동일한 비트라인 쌍에 속하는 짝수 번째 비트라인과 홀수 번째 비트라인을 교차하여 상기 제4 연결 방식을 구현하는 것임에 반해, 도 24의 제3 연결 구조(BPS3)는 짝수 번째 비트라인의 길이를 늘리고 홀수 번째 비트라인의 길이를 줄임으로써 상기 제4 연결 방식을 구현하는 것이다.
결과적으로 도 24의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB) 및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)는 도 14에 도시된 것과 동일하다. 즉 ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ESEC1) 내지 제4 ECC 섹터(ESEC4)는 각각 2개의 아우터 셀들과 2개의 인너 셀들이 인터리빙되어 동일한 개수의 아우터 셀들과 인너 셀들을 포함할 수 있다.
이상 도 21 내지 24를 참조하여 설명한 바와 같이, 각 ECC 섹터 내에 아우터 셀들과 인너 셀들이 동일한 개수로 포함되도록 비트라인들과 페이지 버퍼들 사이의 연결 구조를 결정할 수 있다. 이와 같이 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소할 수 있다.
본 발명의 일 실시예에 따라서, ECC 섹터 내에 상기 셀 그룹들의 각각에 속하는 메모리 셀들이 균일하게 포함되도록 디코디드 어드레스 신호들과 독출-기입 회로 사이의 연결 구조를 결정함으로써 메모리 셀들의 데이터 입출력 순서를 재배열할 수 있다.
예를 들어, 일부의 짝수 번째 페이지 버퍼에 제1 디코디드 어드레스 신호를 연결하고 상기 일부의 짝수 번째 페이지 버퍼에 상응하는 홀수 번째 페이지 버퍼에 제2 디코디드 어드레스 신호를 연결하는 반면에, 나머지 짝수 번째 페이지 버퍼에 상기 제2 디코디드 어드레스 신호를 연결하고 상기 나머지 짝수 번째 페이지 버퍼에 상응하는 홀수 번째 페이지 버퍼에 상기 제1 디코디드 어드레스 신호를 연결할 수 있다. 이하 도 25 내지 도 27을 참조하여 상기 제1 디코디드 어드레스 신호가 전술한 제1 래치 신호(L0)에 상응하고 제2 디코디드 어드레스 신호가 전술한 제2 래치 신호(L1)에 상응하는 실시예를 설명한다.
도 25는 본 발명의 일 실시예에 따른 디코디드 어드레스 신호들과 독출-기입 회로 사이의 연결 구조를 나타내는 도면이다.
도 25를 참조하면, 독출-기입 회로(532)는 제1 독출-기입 유닛(RWU0), 제2 독출-기입 유닛(RWU1), 제3 독출-기입 유닛(RWU2) 및 제4 독출-기입 유닛(RWU3)를 포함할 수 있다.
도 25의 독출-기입 회로(532)의 구성은 디코디드 어드레스 신호들과 페이지 버퍼들 사이의 연결 구조를 제외하고는 도 9의 독출-기입 회로(531)의 구성과 실질적으로 동일할 수 있다. 도 9의 독출-기입 회로(531)에서는 제1 내지 제4 독출-기입 회로들(RWU0~RWU3)의 모두에 대해서 제1 래치 신호(L0)는 제1 행의 페이지 버퍼들에 인가되고 제2 래치 신호(L1)는 제2 행의 페이지 버터들에 인가된다. 도 25의 독출-기입 회로(531)에서는 제1 및 제2 독출-기입 회로들(RWU0, RWU1)에 대해서는 제1 래치 신호(L0)가 제1 행의 페이지 버퍼들에 인가되고 제2 래치 신호(L1)가 제2 행의 페이지 버터들에 인가되는 반면에 제3 및 제4 독출-기입 회로들(RWU2, RWU3)에 대해서는 제1 래치 신호(L0)가 제2 행의 페이지 버퍼들에 인가되고 제2 래치 신호(L1)가 제1 행의 페이지 버터들에 인가된다.
도 26 및 도 27은 도 25의 연결 구조에 따른 입출력 데이터의 순서를 나타내는 도면이다.
도 26을 참조하면, 제1 내지 제4 비트라인 그룹들(BGR1~BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제1 연결방식이 적용되는 제1 연결 구조(HBS1)를 갖는다. 도 26의 하부에는 도 25의 독출-기입 회로(532) 및 도 10의 어드레스 디코딩을 적용하였을 때, 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'부터 '111'까지 순차적으로 증가하는 경우에 대한 비트라인의 데이터 입출력 순서(ORDB)가 도시되어 있다.
도 27에는 도 26의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB) 및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)가 도시되어 있다. ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ESEC1) 내지 제4 ECC 섹터(ESEC4)는 각각 2개의 아우터 셀들과 2개의 인너 셀들이 인터리빙되어 동일한 개수의 아우터 셀들과 인너 셀들을 포함할 수 있다.
이상 도 25 내지 27을 참조하여 설명한 바와 같이, 각 ECC 섹터 내에 아우터 셀들과 인너 셀들이 동일한 개수로 포함되도록 디코디드 어드레스 신호들과 페이지 버퍼들 사이의 연결 구조를 결정할 수 있다. 이와 같이 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소할 수 있다.
도 28은 본 발명의 실시예들에 따른 메모리 장치를 나타내는 블록도이다.
도 28을 참조하면, 메모리 장치(500a)는 메모리 셀 어레이(510), 어드레스 디코더(520), 독출-기입 회로(530), 데이터 입출력 회로(540), 전압 생성 회로(550), 제어 로직(560) 및 어드레스 매퍼(address mapper)(570)를 포함한다.
도 28의 메모리 장치(500a)는 어드레스 매퍼(570)를 더 포함하는 것을 제외하고는 도 4의 메모리 장치(500)와 실질적으로 동일하므로 중복되는 설명은 생략한다.
어드레스 매퍼(570)는 각 ECC 섹터 내에 상기 아우터 셀들과 상기 인너 셀들이 동일한 개수로 포함되도록 어드레스(ADDR)를 변경하여 변경된 어드레스(ADDR')를 어드레스 디코더(520)에 제공할 수 있다. 일 실시예에서, 도 29 및 도 30을 참조하여 후술하는 바와 같이, 어드레스 매퍼(570)는 수신된 어드레스(ADDR) 중에서 열 어드레스만을 변경할 수 있다.
도 29는 도 28의 메모리 장치에 포함되는 어드레스 매퍼의 일 실시예를 나타내는 도면이다.
도 29를 참조하면, 어드레스 매퍼(571)는 쉬프트 레지스터(SR)를 포함할 수 있다. 쉬프트 레지스터(SR)는 어드레스(ADDR)의 적어도 일부의 비트들(A2, A1, A0)을 쉬프트하여 변경된 어드레스(ADDR')를 출력할 수 있다. 예를 들어, 도 29에 도시된 바와 같이 변경된 어드레스(ADDR')의 비트들(A2'A1'A0')은 A2A1A0 이 쉬프트된 A0A2A1 일 수 있다.
도 30은 어드레스의 변경에 따라서 도 9의 독출-기입 회로에 제공되는 디코디드 어드레스 신호들의 일 예를 나타내는 도면이다.
도 28의 어드레스 디코더(520)는 변경된 어드레스(ADDR')의 일부 비트들에 해당하는 제1 내지 제3 어드레스 비트들(A0', A1', A2')에 기초하여 디코디드 어드레스 신호들(L0, L1, Y0, Y1, Y2, Y3)을 발생할 수 있다. 디코디드 어드레스 신호들(L0, L1, Y0, Y1, Y2, Y3)은 도 9를 참조하여 전술한 래치 신호들(L0, L1) 및 열 선택 신호들(Y0, Y1, Y2, Y3)을 포함할 수 있다.
도 10을 참조하여 설명한 바와 같이, 래치 신호들(L0, L1)은 제3 어드레스 비트(A2')에 기초하여 발생될 수 있고, 열 선택 신호들(Y0, Y1, Y2, Y3)은 제1 어드레스 비트(A0') 및 제2 어드레스 비트(A1')에 기초하여 발생될 수 있다.
제3 어드레스 비트(A2')가 '0'일 때 제1 래치 신호(L0)가 논리 하이 레벨(H)로 활성화될 수 있고 제2 래치 신호(L1)가 논리 로우 레벨(L)로 비활성화될 수 있다. 반면에 제3 어드레스 비트(A2')가 '1'일 때 제1 래치 신호(L0)가 논리 로우 레벨(L)로 비활성화될 수 있고 제2 래치 신호(L1)가 논리 하이 레벨(H)로 활성화될 수 있다.
제2 어드레스 비트(A1')와 제1 어드레스 비트(A0')가 '00'일 때 제1 열 선택 신호(Y0)만이 논리 하이 레벨(H)로 활성화되고 나머지 열 선택 신호들(Y1, Y2, Y3)은 논리 로우 레벨(L)로 비활성화될 수 있다. 제2 어드레스 비트(A1')와 제1 어드레스 비트(A0')가 '01'일 때 제2 열 선택 신호(Y1)만이 논리 하이 레벨(H)로 활성화되고 나머지 열 선택 신호들(Y0, Y2, Y3)은 논리 로우 레벨(L)로 비활성화될 수 있다. 제2 어드레스 비트(A1')와 제1 어드레스 비트(A0')가 '10'일 때 제3 열 선택 신호(Y2)만이 논리 하이 레벨(H)로 활성화되고 나머지 열 선택 신호들(Y0, Y1, Y3)은 논리 로우 레벨(L)로 비활성화될 수 있다. 제2 어드레스 비트(A1')와 제1 어드레스 비트(A0')가 '11'일 때 제3 열 선택 신호(Y2)만이 논리 하이 레벨(H)로 활성화되고 나머지 열 선택 신호들(Y0, Y1, Y3)은 논리 로우 레벨(L)로 비활성화될 수 있다.
변경 전의 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'일 때 변경된 제1 내지 제3 어드레스 비트들의 값(A2'A1'A0')은 '000'이고, 도 9의 독출-기입 회로(531)는 제1 비트라인(BL0), 제9 비트라인(BL8), 제17 비트라인(BL16) 및 제25 비트라인(BL24)을 각각 제1 내지 제4 데이터 라인들(DL0~DL3)에 연결한다. 변경 전의 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 1만큼 증가하여 '001'일 때 변경된 제1 내지 제3 어드레스 비트들의 값(A2'A1'A0')은 '100이고, 도 9의 독출-기입 회로(531)는 제2 비트라인(BL1), 제10 비트라인(BL9), 제18 비트라인(BL17) 및 제26 비트라인(BL25)을 각각 제1 내지 제4 데이터 라인들(DL0~DL3)에 연결한다.
이와 같이, 변경전의 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'부터 '111'까지 순차적으로 증가하는 경우에 대한 비트라인의 데이터 입출력 순서(ORDB)가 도 31 내지 도 32에 도시되어 있다.
도 31 및 도 32는 도 30의 어드레스의 변경에 따른 입출력 데이터의 순서를 나타내는 도면이다.
도 31을 참조하면, 제1 내지 제4 비트라인 그룹들(BGR1~BGR4)의 각각은 모든 비트라인 쌍들에 대해서 제1 연결방식이 적용되는 제1 연결 구조(HBS1)를 갖는다. 도 31의 하부에는 도 9의 독출-기입 회로(531) 및 도 30의 어드레스 디코딩을 적용하였을 때, 변경 전의 제1 내지 제3 어드레스 비트들의 값(A2A1A0)이 '000'부터 '111'까지 순차적으로 증가하는 경우에 대한 비트라인의 데이터 입출력 순서(ORDB)가 도시되어 있다.
도 32에는 도 31의 연결 구조에 따른 비트라인의 데이터 입출력 순서(ORDB) 및 인너 셀들과 아우터 셀들의 재배열된 데이터 입출력 순서(ORDR)가 도시되어 있다. ECC 섹터의 크기가 8비트인 경우, 제1 ECC 섹터(ESEC1) 내지 제4 ECC 섹터(ESEC4)는 각각 4개의 아우터 셀들과 4개의 인너 셀들이 인터리빙되어 동일한 개수의 아우터 셀들과 인너 셀들을 포함할 수 있다.
이상 도 28 내지 32를 참조하여 설명한 바와 같이, 각 ECC 섹터 내에 아우터 셀들과 인너 셀들이 동일한 개수로 포함되도록 어드레스 디코더에 입력되는 어드레스를 변경할 수 있다. 이와 같이 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소할 수 있다.
도 33은 본 발명의 실시예들에 따른 메모리 시스템을 나타내는 블록도이다.
도 33을 참조하면, 메모리 시스템(101)은 메모리 컨트롤러(301) 및 적어도 하나의 메모리 장치(501)를 포함할 수 있다.
메모리 장치(501)는 메모리 컨트롤러(301)의 제어에 따라 독출, 기입 또는 소거 동작 등을 수행할 수 있다. 이를 위하여 메모리 장치(501)는 메모리 콘트롤러(301)로부터 제어 신호(CTRL), 커맨드(CMD), 어드레스(ADDR) 및 기입 데이터(DATA)를 수신하고, 메모리 콘트롤러(301)로 독출 데이터(DATA)를 송신한다.
메모리 장치(501)는 온칩 ECC 회로(580)를 포함할 수 있다. 온칩 ECC 회로(580)는 메모리 셀 어레이로 데이터를 기입하는 때에 데이터를 인코딩(encoding)하여 패리티 데이터를 생성한다. 예를 들어, 패리티 데이터는 셀 어레이의 패리티 데이터 저장 영역에 저장될 수 있다. 온칩 ECC 회로(580)는 메모리 셀 어레이로부터 데이터를 독출하는 때에, 독출된 데이터의 패리티 데이터를 디코딩(decoding)하여 데이터의 에러를 체크하고 정정한다. 온칩 ECC 회로(580)는 상기의 동작을 수행하는 인코더 및 디코더를 포함할 수 있다.
도 34는 도 33의 메모리 시스템에 포함되는 메모리 장치의 일 실시예를 나타내는 블록도이다.
도 34를 참조하면, 메모리 장치(500b)는 메모리 셀 어레이(510), 어드레스 디코더(520), 독출-기입 회로(530), 데이터 입출력 회로(540), 전압 생성 회로(550), 제어 로직(560) 및 온칩 ECC 회로(580)를 포함한다.
도 34의 메모리 장치(500b)는 온칩 ECC 회로(580)를 더 포함하는 것을 제외하고는 도 4의 메모리 장치(500)와 실질적으로 동일하므로 중복되는 설명은 생략한다.
온칩 ECC 회로(580)는 독출-기입 회로(530)와 데이터 입출력 회로(540) 사이에 배치될 수 있고, 전술한 바와 같은 ECC 인코딩 및 ECC 디코딩을 수행할 수 있다.
도 35는 본 발명의 실시예들에 따른 메모리 시스템을 나타내는 블록도이다.
도 35를 참조하면, 메모리 시스템(102)은 메모리 컨트롤러(302) 및 적어도 하나의 메모리 장치(502)를 포함할 수 있다.
메모리 장치(502)는 메모리 컨트롤러(302)의 제어에 따라 독출, 기입 또는 소거 동작 등을 수행할 수 있다. 이를 위하여 메모리 장치(502)는 메모리 콘트롤러(302)로부터 제어 신호(CTRL), 커맨드(CMD), 어드레스(ADDR) 및 기입 데이터(DATA)를 수신하고, 메모리 콘트롤러(302)로 독출 데이터(DATA)를 송신한다.
메모리 콘트롤러(302)는 ECC 엔진(310)을 포함할 수 있고, 메모리 장치(502)는 온칩 ECC 회로(580)를 포함할 수 있다. ECC 엔진(310)과 온칩 ECC 회로(580)는 도 3 및 도 33을 참조하여 설명한 바와 같다.
메모리 컨트롤러(302)의 ECC 엔진(310)과 메모리 장치(502)의 온-칩 ECC 회로(580)는 서로 에러 정정 능력이 다를 수 있다. 예를 들어, 메모리 컨트롤러(302)의 ECC 엔진(310)의 에러 정정 능력이 메모리 장치(502)의 온-칩 ECC 회로(580)의 에러 정정 능력보다 높을 수 있다. 이 경우, 메모리 장치(502)의 온-칩 ECC 회로(580)에서 정정하지 못한 에러에 대해서 메모리 컨트롤러(302)의 ECC 엔진(310)이 에러 체크 및 정정 동작을 수행할 수 있다.
도 36은 본 발명의 실시예들에 따른 에스에스디(SSD: solid state disk or solid state drive)를 나타내는 블록도이다.
도 36을 참조하면, SSD(1000)는 복수의 비휘발성 메모리 장치들(1100) 및 SSD 제어기(1200)를 포함한다.
비휘발성 메모리 장치들(1100)은 옵션적으로 외부 고전압(VPP)을 제공받도록 구현될 수 있다. 비휘발성 메모리 장치들(1100)은 전술한 ECC 제어 방법을 수행하기 위한 구성을 가질 수 있다. 비휘발성 메모리 장치들(1100)은 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소할 수 있고, 이러한 ECC 섹터의 최대 에러 비트 수준의 감소를 통하여 불량 구제율을 높이고 메모리 장치의 수율, 성능 및 수명을 향상시킬 수 있다.
SSD 제어기(1200)는 복수의 채널들(CH1~CH4)을 통하여 비휘발성 메모리 장치들(1100)에 연결된다. SSD 제어기(1200)는 적어도 하나의 프로세서(1210), 버퍼 메모리(1220), 에러 정정 회로(1230), 호스트 인터페이스(1250) 및 비휘발성 메모리 인터페이스(1260)를 포함한다.
버퍼 메모리(1220)는 메모리 제어기(1200)의 구동에 필요한 데이터를 임시로 저장할 수 있다. 또한, 버퍼 메모리(1220)는 쓰기 요청시 파인 프로그램 동작에 이용될 데이터를 버퍼링해 놓을 수 있다. 도 36에서 버퍼 메모리(1220)는 SSD 제어기(1200) 내부에 존재하지만, 반드시 여기에 제한되지 않을 것이다. 버퍼 메모리는 SSD 제어기(1200)의 외부에 별도로 존재할 수도 있다.
에러 정정 회로(1230)는 쓰기 동작에서 프로그램될 데이터의 에러 정정 코드 값을 계산하고, 읽기 동작에서 읽혀진 데이터를 에러 정정 코드 값에 근거로 하여 에러 정정하고, 데이터 복구 동작에서 비휘발성 메모리 장치(1100)로부터 복구된 데이터의 에러를 정정할 수 있다. 도시되지 않았지만, 메모리 제어기(1200)를 구동하는 데 필요한 코드 데이터를 저장하는 코드 메모리가 더 포함될 수 있다. 코드 메모리는 비휘발성 메모리 장치로 구현될 수 있다.
호스트 인터페이스(1250)는 외부의 장치와 인터페이스 기능을 제공할 수 있다. 비휘발성 메모리 인터페이스(1260)는 비휘발성 메모리 장치(1100)와 인터페이스 기능을 제공할 수 있다.
도 37은 본 발명의 실시예들에 따른 임베디드 멀티 미디어 카드(eMMC: embedded multimedia card)를 나타내는 블록도이다.
도 37을 참조하면, eMMC(2000)는 적어도 하나의 낸드 플래시 메모리 장치(2100) 및 제어기(2200)를 포함할 수 있다.
낸드 플래시 메모리 장치(2100)는 전술한 ECC 제어 방법을 수행하기 위한 구성을 가질 수 있다. 낸드 플래시 메모리 장치(2100)는 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소할 수 있고, 이러한 ECC 섹터의 최대 에러 비트 수준의 감소를 통하여 불량 구제율을 높이고 메모리 장치의 수율, 성능 및 수명을 향상시킬 수 있다.
메모리 제어기(2200)는 복수의 채널들을 통하여 낸드 플래시 메모리 장치(2100)에 연결된다. 메모리 제어기(2200)는 적어도 하나의 제어기 코어(2210), 호스트 인터페이스(2250) 및 낸드 인터페이스(2260)를 포함한다. 적어도 하나의 제어기 코어(2210)는 eMMC(2000)의 전반적인 동작을 제어한다. 호스트 인터페이스(2250)는 제어기(2210)와 호스트의 인터페이싱을 수행한다. 낸드 인터페이스(2260)는 낸드 플래시 메모리 장치(2100)와 제어기(2200)의 인터페이싱을 수행한다.
일 실시 예에 있어서, 호스트 인터페이스(2250)는 병렬 인터페이스(예를 들어, MMC 인터페이스)일 수 있다. 다른 실시 예에 있어서, eMMC(2000)의 호스트 인터페이스(2250)는 직렬 인터페이스(예를 들어, UHS-II, UFS 인터페이스)일 수 있다.
eMMC(2000)는 호스트로부터 전원 전압들(Vcc, Vccq)을 제공받는다. 여기서, 제 1 전원 전압(Vcc, 예를 들어 3.3V)은 낸드 플래시 메모리 장치(2100) 및 낸드 인터페이스(2260)에 제공되고, 제 2 전원 전압(Vccq, 예를 들어 1.8V/3.3V)은 제어기(2200)에 제공된다. 실시 예에 있어서, eMMC(2000)는 외부 고전압(Vpp)을 옵션적으로 제공받을 수 있다.
도 38은 본 발명의 실시예들에 따른 유니버셜 플래시 스토리지(UFS: universal flash storage)를 나타내는 블록도이다.
도 38을 참조하면, UFS 시스템(3000)은 UFS 호스트(3100), UFS 장치들(3200, 3300), 임베디드 UFS 장치(3300), 착탈형 UFS 카드(3400)를 포함할 수 있다. UFS 호스트(3100)는 모바일 장치의 어플리케이션 프로세서일 수 있다. UFS 호스트(3100), UFS 장치들(3200, 3300), 임베디드 UFS 장치(3300), 및 착탈형 UFS 카드(3400) 각각은 UFS 프로토콜에 의하여 외부의 장치들과 통신할 수 있다. UFS 장치들(3200, 3300), 임베디드 UFS 장치(3300), 및 착탈형 UFS 카드(3400) 중 적어도 하나는 전술한 ECC 제어 방법을 수행하기 위한 구성을 가질 수 있다.
한편, 임베디드 UFS 장치(3300)와 착탈형 UFS 카드(3400)는 UFS 프로토콜이 아닌 다른 프로토콜에 의해 통신할 수 있다. UFS 호스트(3100)와 착탈형 UFS 카드(3400)는 다양한 카드 프로토콜(예를 들어, UFDs, MMC,SD(secure digital), mini SD, Micro SD 등)에 의해 통신할 수 있다.
도 39는 본 발명의 실시예들에 따른 모바일 장치를 나타내는 블록도이다.
도 39를 참조하면, 모바일 장치(4000)는 어플리케이션 프로세서(4100), 통신 모듈(4200), 디스플레이/터치 모듈(4300), 저장 장치(4400), 및 모바일 램(4500)를 포함한다.
어플리케이션 프로세서(4100)는 모바일 장치(4000)의 전반적인 동작을 제어한다. 통신 모듈(4200)은 외부와의 유선/무선 통신을 제어하도록 구현될 수 있다. 디스플레이/터치 모듈(4300)은 어플리케이션 프로세서(4100)에서 처리된 데이터를 디스플레이 하거나, 터치 패널로부터 데이터를 입력 받도록 구현될 수 있다. 저장 장치(4400)는 사용자의 데이터를 저장하도록 구현될 수 있다.
저장 장치(4400)는 eMMC, SSD, UFS 장치일 수 있다. 저장 장치(4400)는 전술한 ECC 제어 방법을 수행하기 위한 구성을 가질 수 있다.
모바일 램(4500)은 모바일 장치(4000)의 처리 동작 시 필요한 데이터를 임시로 저장하도록 구현될 수 있다.
본 발명의 실시 예에 따른 메모리 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 실시 예에 있어서, 본 발명의 실시 예에 따른 메모리 시스템 혹은 저장 장치는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 메모리 장치 및 메모리 장치의 ECC 제어 방법은, 셀 특성에 따른 에러 비트 수준의 균일화를 통해 ECC 섹터의 최대 에러 비트 수준을 감소할 수 있다. 이러한 ECC 섹터의 최대 에러 비트 수준의 감소를 통하여 불량 구제율을 높이고 메모리 장치의 수율, 성능 및 수명을 향상시킬 수 있다.