이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
도 1은 본 발명에 따른 비휘발성 메모리 장치의 제 1 실시 예를 보여주는 도면이다. 도 1을 참조하면, 비휘발성 메모리 장치(100)는 셀 어레이(110), 제 1 및 제 2 어드레스 디코더들(122,124), 입출력 회로(130), 전압 발생기(140), 선택라인 드라이버(150), 제 1 및 제 2 스위치 회로들(162.164) 및 제어 로직(170)을 포함할 것이다. 본 발명에 따른 비휘발성 메모리 장치(100)는 블록 어드레스(BA) 정보에 의거하여 선택 라인들(SL1, SL2) 중 어느 하나와 음전압 라인들(NVL1, NVL2) 중 어느 하나를 활성화시키는 제 1 및 제 2 스위치 회로들(162,164)을 포함할 것이다.
본 발명의 비휘발성 메모리 장치(100)는 낸드 플래시 메모리 장치, 노아 플래시 메모리 장치, 저항변화 메모리 장치(Resistive Random Access Memory: RRAM), 상변화 메모리 장치(Phase-Change Memory: PRAM), 자기저항 메모리 장치(Magnetroresistive Random Access Memory: MRAM), 강유전체 메모리 장치(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리 장치(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다. 또한, 본 발명의 비휘발성 메모리 장치는 3차원 어레이 구조(Three-Dimentional Array Structure)로 구현될 수 있다. 아래에서는 설명의 편의를 위하여, 본 발명의 비휘발성 메모리 장치가 낸드 플래시 메모리 장치라고 가정하겠다.
셀 어레이(110)는 데이터를 저장하기 위한 복수의 메모리 셀들을 갖는 복수의 메모리 블록들(도시되지 않음)을 포함할 것이다. 여기서 복수의 메모리 셀들 각각은 전원이 꺼지더라도 소실되지 데이터가 소실되지 않은 비휘발성 메모리 셀을 포함할 것이다.
제 1 어드레스 디코더(XDEC1)는 셀 어레이(110)의 좌측에 배치되고, 제 2 어드레스 디코더(XDEC2)는 셀 어레이(110)의 우측에 배치될 것이다. 제 1 및 제 2 어 드레스 디코더(XDEC1, XDEC2) 각각은 어드레스를 입력받아 디코딩하고, 디코딩된 결과에 따라 복수의 메모리 블록들 중 어느 하나를 활성화시킬 것이다.
예를 들어, 제 1 어드레스 디코더(XDEC1)는 선택된 메모리 블록을 제 1 선택 라인들(SL1)로 제공되는 전압들로 구동시킬 것이다. 제 2 어드레스 디코더(XDEC2)는 선택된 메모리 블록을 제 2 선택 라인들(SL2)로 제공되는 전압들로 구동시킬 것이다. 여기서 제 1 및 제 2 어드레스 디코더들(XDEC1, XDEC2) 중 어느 하나의 메모리 블록이 입력 어드레스에 의해 선택될 것이다. 하지만, 본 발명이 반드시 여기에 국한될 필요는 없다. 본 발명은 입력 어드레스에 의해 활성화되는 적어도 하나의 메모리 블록을 포함할 수 있다.
또한, 제 1 어드레스 디코더(122)가 형성된 웰과 제 2 어드레스 디코더(124)가 형성된 웰은 서로 분리될 것이다. 제 1 어드레스 디코더(122)의 웰은 제 1 음전압 라인(NVL1)을 통하여 웰전압을 제공받고, 제 2 어드레스 디코더(124)의 웰은 제 2 음전압 라인(NVL1)을 통하여 웰전압을 제공받을 것이다. 여기서 제공되는 웰전압은 음전압(Vneg)을 포함할 것이다.
예를 들어, 제 1 어드레스 디코더(XDEC1)이 제 1 선택 라인들(SL1) 중 적어도 하나의 라인을 통하여 음전압(Vneg)을 제공받을 때, 제 1 어드레스 디코더(XDEC1)의 웰은 제 1 음전압 라인(NVL1)을 통하여 음전압(Vneg)을 제공받을 것이다. 반면에, 제 1 어드레스 디코더(XDEC1)이 제 1 선택 라인들(SL1)을 통하여 음전압(Vneg)을 제공받지 않을 때, 제 1 어드레스 디코더(XDEC1)의 웰은 제 1 음전압 라인(NVL1)을 통하여 접지 전압을 제공받을 것이다. 다른 실시 예에 있어서, 제 1 어드레스 디코더(XDEC1)이 제 1 선택 라인들(SL1)을 통하여 음전압(Vneg)을 제공받지 않을 때, 제 1 음전압 라인(NVL1)은 플로팅 상태가 될 것이다.
또한, 제 2 어드레스 디코더(XDEC2)이 제 2 선택 라인들(SL2) 중 적어도 하나의 라인을 통하여 음전압(Vneg)을 제공받을 때, 제 2 어드레스 디코더(XDEC2)의 웰은 제 2 음전압 라인(NVL2)을 통하여 음전압(Vneg)을 제공받을 것이다. 반면에, 제 2 어드레스 디코더(XDEC2)이 제 2 선택 라인들(SL2)을 통하여 음전압(Vneg)을 제공받지 않을 때, 제 2 어드레스 디코더(XDEC2)의 웰은 제 2 음전압 라인(NVL2)을 통하여 접지 전압을 제공받을 것이다. 다른 실시 예에 있어서, 제 2 어드레스 디코더(XDEC2)이 제 2 선택 라인들(SL2)을 통하여 음전압(Vneg)을 제공받지 않을 때, 제 2 음전압 라인(NVL2)은 플로팅될 것이다.
상술 된 바와 같이, 본 발명에 따른 비휘발성 메모리 장치(100)는 적어도 하나의 선택 라인을 통하여 음전압(Vneg)이 제공되는 어드레스 디코더의 웰에 음전압(Vneg)을 제공하고, 선택 라인들을 통하여 음전압(Vneg)이 제공되지 않는 어드레스 디코더의 웰에 접지 전압을 제공하거나 플로팅 전압을 제공할 것이다.
어드레스 디코더들(122,124) 각각은 선택된 메모리 블록에 프로그램 동작, 읽기 동작, 소거 동작에 바이어스 전압들(예를 들어, 프로그램 전압, 패스 전압, 스트링 선택 전압, 접지 선택 전압)을 제공할 것이다. 여기서 바이어스 전압들은, 선택 라인들(SL1, SL2) 중 어느 하나를 통하여 대응하는 어드레스 디코더로 제공될 것이다.
입출력 회로(130)는 복수의 비트라인들(BL)을 통하여 메모리 셀 어레이(110) 에 연결될 것이다. 입출력 회로(130)는 복수의 페이지 버퍼들(도시되지 않음)을 포함할 것이다. 복수의 페이지 버퍼들은 선택된 메모리 블록에서 입력 어드레스에 대응하는 메모리 셀들에 프로그램될 데이터를 임시로 저장하거나, 혹은 선택된 메모리 블록에서 입력 어드레스에 대응하는 메모리 셀들로부터 읽혀진 데이터를 임시로 저장할 것이다.
전압 발생기(140)는 제어 로직(170)의 제어에 따라 비휘발성 메모리 장치(100)를 구동하기 위한 전압들을 생성할 것이다. 전압 발생기(140)는 고전압 레벨 발생기(142), 저전압 레벨 발생기(144), 및 음전압 레벨 발생기(146)를 포함할 것이다.
고전압 레벨 발생기(142)는 제어 로직(170)의 제어에 따라 구동에 필요한 고전압 레벨들을 생성할 것이다. 여기서 고전압 레벨들은, 프로그램 전압, 패스 전압 등으로 이용될 것이다.
저전압 레벨 발생기(144)는 제어 로직(170)의 제어에 따라 구동에 필요한 저전압 레벨들을 생성할 것이다. 여기서 저전압 레벨들은, 읽기 전압, 읽기 검증 전압 등으로 이용될 것이다.
음전압 레벨 발생기(146)는 제어 로직(170)의 제어에 따라 구동에 필요한 음전압 레벨들을 생성할 것이다. 여기서 음전압 레벨들은, 워드라인 전압, 웰전압 등으로 이용될 것이다. 여기서 워드라인 전압은 워드라인에 제공되는 프로그램 전압, 패스 전압, 읽기 전압, 읽기 검증 전압, 소거 전압 등이 될 것이다.
특히, 음전압 레벨 발생기(146)는 선택 라인 드라이버(150) 및 제 1 및 제 2 스위치 회로들(162,164)에 제공될 음전압(Vneg)을 생성할 것이다. 여기서 음전압(Vneg)은 선택 라인 드라이버(150)의 웰, 제 1 및 제 2 스위치 회로들(162,164)의 웰, 제 1 음전압 라인(NVL1)을 통하여 제 1 어드레스 디코더(XDEC1)의 웰, 그리고 제 2 음전압 라인(NVL2)을 통하여 제 2 어드레스 디코더(XDEC2)의 웰에 제공될 것이다.
한편, 음전압 레벨 발생기(146)는 적어도 하나의 워드라인으로 음의 워드라인 전압이 인가되는 지의 여부에 따라 활성화될 수 있다. 즉, 적어도 하나의 워드라인으로 음의 워드라인 전압(VWL)이 인가되지 않을 때에는 음전압 레벨 발생기(146)은 비활성화될 것이다. 하지만, 본 발명의 음전압 레벨 발생기(146)이 반드시 여기에 국한될 필요는 없다. 다른 실시 예에 있어서, 음전압 레벨 발생기(146)은 워드라인으로 음전압이 인가되는 지의 여부에 상관없이 활성화될 수 있다.
선택 라인 드라이버(150)는 제어 로직(170)의 제어에 따라 전압 발생기(140)로부터 생성된 바이어스 전압들로 복수의 선택 라인들(SL)을 구동할 것이다. 예를 들어, 선택 라인 드라이버(150)는 입력 어드레스에 대응하는 선택 라인에는 프로그램 전압을 제공하고, 그 외의 선택 라인들에는 패스 전압을 제공할 것이다. 또한, 선택 라인 드라이버(150)는 입력 어드레스에 대응하는 선택 라인에는 읽기 전압을 제공하고, 그 외의 선택 라인들에는 접지 전압을 제공할 것이다.
한편, 선택 라인 드라이버(150)가 입력 어드레스에 대응하는 선택 라인으로 음전압(Vneg)을 제공할 때, 선택 라인 드라이버(150)의 웰에는 음전압(Vneg)이 제공될 것이다. 이로써, 선택 라인 드라이버(150)의 적어도 하나의 내부 소자(예를 들어, 트랜지스터)에 DC 패스가 형성되는 것을 방지할 것이다. 예를 들어, 소자는 P형 도핑된 웰과 워드라인에 연결된 N형 도핑 영역을 포함할 것이다. 따라서, 선택 라인에 음전압(Vneg)이 제공될 때, 즉, N형 도핑 영역에 음전압(Vneg)이 인가될 때 P형 도핑된 웰에 음전압(Vneg)이 제공됨으로써, P형 웰과 N형 도핑 영역 사이에 DC 패스가 형성되는 것을 막을 것이다.
반면에, 선택 라인 드라이버(150)가 적어도 하나의 선택 라인으로 음전압(Vneg)을 제공하지 않을 때에는, 선택 라인 드라이버(150)의 웰에는 디폴트 전압(예를 들어, 접지전압)이 제공될 것이다.
도 1에서는 적어도 하나의 선택 라인에 제공되는 음전압의 레벨은 웰에 제공되는 음전압 레벨과 동일하였다. 그러나 본 발명이 반드시 여기에 국한될 필요는 없다. 본 발명의 비휘발성 메모리 장치(100)에서 적어도 하나의 선택 라인에 제공되는 음전압의 레벨은 웰에 제공되는 음전압의 레벨과 비교할 때 동일하거나 높을 것이다.
제 1 스위치 회로(162)는 블록 어드레스(BA)에 응답하여 선택 라인들(SL)을 제 1 선택 라인들(SL1) 및 제 2 선택 라인들(SL2) 중 어느 하나에 전기적으로 연결시킬 것이다. 즉, 제 1 스위치 회로(162)는 블록 어드레스(BA)에 응답하여 제 1 선택 라인들(SL1) 및 제 1 선택 라인들(SL2) 중 어느 하나를 활성화시킬 것이다.
적어도 하나의 선택 라인으로 음전압(Vneg)이 제공될 때, 제 1 스위치 회로(162)의 웰에 음전압(Vneg)이 제공될 것이다. 이로써, 제 1 스위치 회로(162)의 적어도 하나의 내부 소자(예를 들어, 트랜지스터)에 DC 패스가 형성되는 것을 방지 할 것이다. 반면에, 선택 라인들로 음전압(Vneg)이 제공되지 않을 때, 제 1 스위치 회로(162)의 웰에는 디폴트 전압(예를 들어, 접지전압)이 제공될 것이다. 다른 실시 예에 있어서, 선택 라인들로 음전압(Vneg)이 제공되지 않을 때, 제 1 스위치 회로(162)의 웰은 플로팅될 것이다.
제 2 스위치 회로(164)는 블록 어드레스(BA)에 응답하여 음전압(Vneg)을 제 1 음전압 라인(NVL1) 및 제 2 음전압 라인(NVL1) 중 어느 하나에 제공할 것이다. 음전압 레벨 발생기(146)로부터 음전압(Vneg)이 제공될 때, 제 2 스위치 회로(162)의 웰에는 음전압(Vneg)이 제공될 것이다. 이로써, 제 2 스위치 회로(164)의 적어도 하나의 내부 소자(예를 들어, 트랜지스터)에 DC 패스가 형성되는 것을 방지할 것이다.
제어 로직(170)은 비휘발성 메모리 장치(100)의 전반적인 동작(예를 들어, 프로그램/읽기/소거)을 제어할 것이다. 제어 로직(170)은 외부로부터 제공되는 제어 신호들(CTRL)에 따라 프로그램/읽기/소거 동작을 수행할 것이다.
제어 로직(170)은 증가형 펄스 프로그램 방식에 따라 프로그램 동작을 수행하도록 어드레스 디코더(120), 입출력 회로(130), 전압 발생기(140), 및 선택 라인 드라이버(150)를 제어할 것이다.
일반적인 비휘발성 메모리 장치는 선택 라인들을 통하여 바이어스 전압들을 모든 어드레스 디코더들에 동일하게 제공하였다. 반면에, 본 발명에 따른 비휘발성 메모리 장치(100)는 어드레스 디코더들(XDEC1, XDEC2) 각각에 바이어스 전압들을 제공할 복수의 선택 라인들(SL1, SL2)을 포함하고, 블록 어드레스(BA)에 따라 선택 된 선택 라인들을 통하여 바이어스 전압들을 제공할 것이다. 이로써, 블록 어드레스(BA)에 대응하는 어드레스 디코더에만 바이어스 전압들이 제공되고, 나머지 어드레스 디코더에는 바이어스 전압들이 제공되지 않을 것이다. 그 결과로서, 본 발명의 비휘발성 메모리 장치(100)는 일반적인 비휘발성 메모리 장치와 비교할 때 전압 발생기(140)의 전압 펌핑 용량을 크게 줄일 수 있다.
도 2는 도 1에 도시된 어드레스 디코더들의 배치에 대한 실시 예를 보여주는 도면이다. 도 2를 참조하면, 셀 어레이(110)는 복수의 메모리 블록들(MB_1, MB_2, ..., MB_K)을 포함할 것이다. 여기서 K는 적어도 2 이상의 자연수이다. 제 1 어드레스 디코더(122)는 셀 어레이(110)의 좌측에 배치되고, 복수의 블록 선택기들(BS_1, BS_3,...BS_(K-1))을 포함할 것이다. 제 2 어드레스 디코더(124)는 셀 어레이(110)의 우측에 배치되고, 복수의 블록 선택기들(BS_2, BS_4,..., BS_K)을 포함할 것이다.
여기서 블록 선택기들(BS_1,BS_2,...BS_K) 각각은 대응하는 메모리 블록을 구동시킬 것이다. 예를 들어, 제 1 블록 선택기(BS_1)는 제 1 메모리 블록(MB_1)을 구동시킬 것이다. 제 2 블록 선택기(BS_2)는 제 2 메모리 블록(MB_1)을 구동시킬 것이다. 제 K 블록 선택기(BS_K)는 제 K 메모리 블록(MB_K)을 구동시킬 것이다.
본 발명에 따른 어드레스 디코더들(XDEC1, XDEC2)의 배치가 반드시 도 2에 국한될 필요는 없다. 본 발명의 어드레스 디코더들(XDEC1, XDEC2) 각각은 서로 다른 웰들에 형성되어 다양하게 배치될 수 있다.
도 3은 도 2에 도시된 제 1 메모리 블록 및 제 1 블록 선택기에 대한 실시 예를 보여주는 도면이다.
제 1 메모리 블록(MB_1)은 복수의 워드라인들(WL0~WLm-1) 및 복수의 비트라인들(BL0~BLn-1)이 교차한 곳에 형성된 복수의 메모리 셀들을 포함할 것이다. 여기서, m 및 n은 자연수이다. 메모리 블록은 복수의 페이지들을 포함할 것이다. 그리고 페이지들 각각은 대응하는 워드라인에 연결된 복수의 메모리 셀들을 포함할 것이다.
각각의 메모리 셀은 한 비트의 데이터 혹은 두 비트 이상의 데이터를 저장할 수 있다. 하나의 메모리 셀에 한 비트의 데이터를 저장할 수 있는 메모리 셀은 싱글 레벨 셀(Single Level Cell: SLC)이라고 불린다. 하나의 메모리 셀에 두 비트 이상의 데이터를 저장할 수 있는 메모리 셀은 멀티 레벨 셀(Multi Level Cell: MLC)라고 불린다. 싱글 레벨 셀(SLC)은 문턱 전압에 따라 소거 상태(Erase State) 혹은 프로그램 상태(Program State)를 갖는다. 멀티 레벨 셀(MLC)은 문턱 전압에 따라 소거 상태와 복수의 프로그램 상태들 중 어느 하나를 갖는다.
계속해서 도 3을 참조하면, 메모리 블록(MB_1)은 셀 스트링 구조(Cell String Structure)로 구현될 것이다. 각각의 셀 스트링은 스트링 선택 라인(String Selection Line: SSL)에 연결되는 스트링 선택 트랜지스터(SST), 복수의 워드라인들(WL0~WLm-1)에 각각 연결되는 복수의 메모리 셀들(MC0~MCm-1), 그리고 접지 선택 라인(Ground Selection Line: GSL)에 연결되는 접지 선택 트랜지스터(GST)를 포함할 것이다. 여기서 스트링 선택 트랜지스터(SST)는 비트라인과 스트링 채널(String Channel) 사이에 연결되고, 접지 선택 트랜지스터(GST)는 스트링 채널과 공통 소스 라인(Common Source Line: CSL) 사이에 연결될 것이다.
제 1 블록 선택기(BS_1)는 선택 라인들(SSL, GSL), 및 복수의 워드라인들(WL0~WLm-1)을 통해 제 1 메모리 블록(MB_1)에 연결될 것이다. 제 1 블록 선택기(BS_1)는 프로그램 동작 혹은 읽기 동작시 블록 어드레스(BA)를 입력받고, 입력된 블록 어드레스(BA)에 따라 제 1 메모리 블록(MB_1)의 활성화를 결정할 것이다.
즉, 제 1 블록 선택기(BS_1)는 블록 어드레스(BA)에 응답하여 제 1 선택 라인들(SL1)을 제 1 메모리 블록(MS_1)의 선택 라인들(SSL, GSL) 및 복수의 워드라인들(WL0~WLm-1)의 전기적으로 연결할 것이다.
제 1 블록 선택기(BS_1)는 블록 선택 스위치(1221), 풀업 회로(1222), 풀 다운 회로(1223), 및 블록 어드레스 디코더(1224)를 포함할 것이다.
블록 선택 스위치(1221)는 제 1 선택 라인들(SL1: G1_S, SL1_0~SL1_(m-1), S1_S)와 선택 라인들(SSL, GSL, WL0~WLm-1) 사이에 위치할 것이다. 블록 선택 스위치들(1221)은 복수의 블록 선택 트랜지스터들(BST1~BSTm+2)을 포함할 것이다.
각 블록 선택 트랜지스터들(BST1~BSTm+2) 각각은 블록 워드라인(BWL)에 제공되는 전압에 응답하여 제 1 선택 라인들(SL1) 중 어느 하나와 선택 라인들(SSL, GSL, WL0~WLm-1) 중 어느 하나를 전기적으로 연결할 것이다. 여기서 블록 선택 트랜지스터들(BST1~BSTm+2)의 게이트들에는 블록 워드라인(BWL)이 연결될 것이다.
블록 선택 스위치(1221)의 스위칭 동작은 다음과 같다. 예를 들어, 블록 워드라인(BWL)에 고전압(VPP)이 제공되면, 블록 선택 스위치(1221)는 제 1 선택 라인들(SL1)과 제 1 메모리 블록(MB_1)의 선택 라인들(SSL, GSL, WL0~WLm-1)이 전기적 으로 연결시킬 것이다. 여기서 제 1 선택 라인들(SL1) 중 적어도 하나의 선택 라인으로 음전압(Vneg)이 제공될 경우에, 블록 선택 트랜지스터들(BST1~BSTm+2)의 웰에는 음전압(Vneg)이 제공될 것이다.
반면에, 블록 워드라인(BWL)에 고전압(VPP)이 제공되지 않으면, 블록 선택 스위치(1221)는 제 1 선택 라인들(SL1)과 제 1 메모리 블록(MB_1)의 선택 라인들(SSL, GSL, WL0~WLm-1)이 전기적으로 차단시킬 것이다.
풀업 회로(1222)는 블록 워드라인(BWL)에 연결될 것이다. 풀업 회로(1222)는 블록 활성화 신호에 응답하여 고전압(VPP)을 블록 워드라인(BWL)에 제공할 것이다. 여기서 블록 활성화 신호는 블록 어드레스 디코더(1223)로부터 생성될 것이다.
풀다운 회로(1223)는 블록 워드라인(BWL)에 연결될 것이다. 풀다운 회로(1223)는 블록 활성화 신호에 응답하여 제 1 음전압 라인(NVL1)에 제공되는 전압을 블록 워드라인(BWL)에 제공할 것이다. 여기서 블록 활성화 신호는 블록 어드레스 디코더(1224)로부터 생성될 것이다.
풀다운 회로(1223)는, 풀업 회로(1222)가 블록 워드라인(BWL)에 고전압(VPP)을 제공할 때 제 1 블록 선택기(BS_1)의 웰로부터 블록 워드라인(BWL)을 전기적으로 차단시킬 것이다. 또한, 풀다운 회로(1223)는 풀업 회로(1222)가 블록 워드라인(BWL)에 고전압(VPP)을 제공하지 않을 때 제 1 블록 선택기(BS_1)의 웰을 블록 워드라인(BWL)으로 전기적으로 연결할 것이다. 즉, 풀다운 회로(1223)는 풀업 회로(1222)가 블록 워드라인(BWL)에 고전압(VPP)을 제공하지 않을 때 블록 워드라인(BWL)에 제 1 음전압 라인(NVL1)을 통하여 제공되는 웰전압을 제공할 것이다.
블록 어드레스 디코더(1224)는 블록 어드레스(BA)를 입력받아 블록 활성화 신호를 생성할 것이다. 여기서 블록 활성화 신호는 블록 어드레스(BA) 및 방전 신호의 조합으로 결정될 것이다. 여기서 방전 신호는 제어 로직(170)으로부터 제공될 것이다.
도 4는 도 2에 도시된 제 2 메모리 블록 및 제 2 블록 선택기에 대한 실시 예를 보여주는 도면이다. 도 4를 참조하면, 제 2 메모리 블록(MB_2)은 도 3에 도시된 제 1 메모리 블록(MB_1)과 동일하게 구현되고, 제 2 블록 선택기(BS_2)는 제 2 선택 라인들(SL2) 및 제 2 음전압 라인(NVL2)에 연결된 것을 제외하고 도 3에 도시된 제 블록 선택기(BS_1)와 동일하게 구현될 것이다.
도 5는 본 발명의 실시 예에 따른 음전압 레벨 발생기를 보여주는 도면이다. 도 5를 참조하면, 음전압 레벨 발생기(146)는 오실레이터 회로(1461), 음전압 전하 펌프(1462), 및 전압 검출기(1463)를 포함 것이다.
오실레이터 회로(1461)는 제어 로직(170)의 제어 혹은 전압 검출기(1463)의 검출 결과에 따라 발진 신호를 생성할 것이다.
음전압 전하 펌프(1462)는 발진 신호에 응답하여 출력단으로 음전하 펌핑 동작을 수행할 것이다. 이로써, 음전압 전하 펌프(1462)는 출력단의 전압을 음전압(Vneg)으로 만들 것이다.
전압 검출기(1463)는 출력단의 전압을 감지하고, 감지된 전압이 타켓 전압과 비교함으로써 비교 결과 값을 오실레이터(1461)로 출력할 것이다.
한편, 고전압 레벨 발생기(142) 및 저전압 레벨 발생기(144)도, 도 5에 도시 된 음전압 레벨 발생기(146)와 유사한 구성으로 구현될 것이다.
도 6은 도 1에 도시된 비휘발성 메모리 장치의 프로그램 방법을 보여주는 실시 예이다. 도 1 내지 도 6을 참조하면, 비휘발성 메모리 장치(100)의 프로그램 방법은 다음과 같이 진행될 것이다.
비휘발성 메모리 장치(100)는 프로그램 동작시 외부(예를 들어, 메모리 제어기)로부터 명령(CMD), 어드레스(ADDR), 및 데이터(DATA)를 입력받을 것이다(S110). 여기서 입력된 데이터(DATA)는 입출력 회로(도 1 참조, 130)의 각 페이지 버퍼들에 로딩 될 것이다.
제 1 스위치 회로(도 1 참조, 162)는 입력 어드레스(ADDR)에 따라 선택 라인들(SL)을 제 1 선택 라인들(SL1) 및 제 2 선택 라인들(SL2) 중 어느 하나에 전기적으로 연결시킬 것이다. 또한, 제 2 스위치 회로(도 1 참조, 164)는 입력 어드레스(ADDR)에 따라 생성된 음전압(Vneg)을 제 1 음전압 라인(NVL1) 및 제 1 음전압 라인(NVL2) 중 어느 하나에 제공할 것이다(S120).
전압 발생기(도 1 참조, 140)는 제어 로직(도 1참조, 170)의 제어에 따라 프로그램 동작에 필요한 바이어스 전압들(예를 들어, 프로그램 전압, 패스 전압, 고전압, 웰전압, 검증읽기 전압 등)을 생성할 것이다(S130).
이후, 제어 로직(170)은 프로그램 루프를 진행시킬 것이다. 제어 로직(17)은 페이지 버퍼들에 로딩된 데이터에 따라 비트라인들(BL0~BLn-1)을 세트업 시킬 것이다. 이후, 비선택된 워드라인들로 패스 전압이 인가되고, 선택된 워드라인으로 프로그램 전압이 인가될 것이다. 여기서 프로그램 전압의 레벨은 루프 회수가 증가됨 에 따라 소정의 값만큼 증가될 것이다(S140).
프로그램 전압이 인가되기 전에 선택된 워드라인으로 소정의 시간 동안 패스 전압이 인가될 수 있다. 이후, 프로그램 리커버리 동작이 수행될 것이다. 이러한 프로그램 리커버리 동작에서는, 워드라인들(WL0~WLm-1) 및 스트링 선택라인(SSL)에 인가된 바이어스 전압들이 디스챠지되고, 비트라인들(BL0~BLn-1)에 인가된 전압들이 디스챠지될 것이다.
이후, 제어 로직(170)은 적어도 하나 검증 읽기 레벨들을 이용하여 검증 읽기 동작을 수행할 것이다. 검증 읽기 결과로써, 프로그램 패스 여부가 결정될 것이다(S150). 만일, 프로그램 패스이면, 프로그램 루프가 종료될 것이다.
반면에, 프로그램 페일이면, 제어 로직(170)은 루프 회수가 최대값인지 판별할 것이다(S160). 만약, 루프 회수가 최대이면, 프로그램 동작은 실패로 처리될 것이다. 반면에, 루프 회수가 최대가 아니라면, 루프 회수가 증가되고, 그 다음 프로그램 루프가 진행될 것이다(S170).
도 7은 도 1에 도시된 비휘발성 메모리 장치의 읽기 방법을 보여주는 실시 예이다. 도 1 내지 도 5 및 도 7을 참조하면, 비휘발성 메모리 장치(100)의 읽기 방법은 다음과 같이 진행될 것이다.
비휘발성 메모리 장치(100)는 읽기 동작시 외부(예를 들어, 메모리 제어기)로부터 명령(CMD), 및 어드레스(ADDR)를 입력받을 것이다(S210).
제 1 스위치 회로(도 1 참조, 162)는 입력 어드레스(ADDR)에 따라 선택 라인들(SL)을 제 1 선택 라인들(SL1) 및 제 2 선택 라인들(SL2) 중 어느 하나에 전기적 으로 연결시킬 것이다. 또한, 제 2 스위치 회로(도 1 참조, 164)는 입력 어드레스(ADDR)에 따라 생성된 음전압(Vneg)을 제 1 음전압 라인(NVL1) 및 제 1 음전압 라인(NVL2) 중 어느 하나에 제공할 것이다(S220).
전압 발생기(도 1 참조, 140)는 제어 로직(도 1참조, 170)의 제어에 따라 읽기 동작에 필요한 바이어스 전압들(예를 들어, 읽기 전압, 고전압, 웰전압 등)을 생성할 것이다(S230).
이후, 제어 로직(170)은 적어도 하나의 읽기 전압 레벨을 이용하여 읽기 동작을 수행할 것이다. 입력 어드레스에 대응하는 메모리 셀들로부터 읽혀진 데이터는 페이지 버퍼들에 저장될 것이다. 이후, 페이지 버퍼들에 저장된 데이터는 외부(예를 들어, 메모리 제어기)로 출력될 것이다(S240). 이로써 읽기 동작이 완료될 것이다.
도 8은 본 발명에 따른 비휘발성 메모리 장치의 제 2 실시 예를 보여주는 도면이다. 도 8을 참조하면, 비휘발성 메모리 장치(200)는 제 1 및 제 2 매트들(211,212), 제 1 내지 제 4 어드레스 디코더들(221~224), 입출력 회로(230), 전압 발생기(240), 선택라인 드라이버(250), 제 1 및 제 2 스위치 회로들(262, 264) 및 제어 로직(270)을 포함할 것이다.
제 1 매트(211)는 도 1에 도시된 셀 어레이(110)와 동일하게 구현될 것이다. 제 2 매트(212)는 도 1에 도시된 셀 어레이(110)와 동일하게 구현될 것이다.
제 1 및 제 2 어드레스 디코더들(221,222) 각각은 제 1 매트(211)의 양 측면에 배치될 것이다. 제 1 및 제 2 어드레스 디코더들(221,222) 각각은, 도 1에 도시 된 제 1 및 제 2 어드레스 디코더들(122,124)과 동일하게 구현될 것이다.
제 3 및 제 4 어드레스 디코더들(223,224) 각각은 제 2 매트(212)의 양측면에 배치될 것이다. 제 2 어드레스 디코더들(223,234) 각각은, 도 1에 도시된 제 1 및 제 2 어드레스 디코더들(122,124)과 동일하게 구현될 것이다.
도 8을 계속 참조하면, 제 1 선택 라인들(SL1)은 제 1 및 제 4 어드레스 디코더들(221,224)에 연결되고, 제 2 선택 라인들(SL2)은 제 2 및 제 3 어드레스 디코더들(222,223)에 연결될 것이다.
제 1 음전압 라인(NVL1)은 제 1 및 제 4 어드레스 디코더들(221,224)에 연결되고, 제 2 음전압 라인(NVL2)은 제 2 및 제 3 어드레스 디코더들(223,224)에 연결될 것이다.
한편, 제 1 내지 제 4 어드레스 디코더들(221~224) 각각은 서로 다른 웰에 각각 형성될 것이다.
입출력 회로(230)는 복수의 비트라인들을 통하여 제 1 매트(211) 혹은 제 2 매트(212)에 연결될 것이다. 입출력 회로(130)는 복수의 페이지 버퍼들(도시되지 않음)을 포함할 것이다. 입출력 회로(230)는 제 1 매트(211) 혹은 제 2 매트(212)로 프로그램될 데이터를 임시로 저장하거나, 제 1 매트(211) 혹은 제 2 매트(212)로부터 읽혀진 데이터를 임시로 저장할 것이다. 제 1 매트(211) 및 제 2 매트(212)는 각각 복수의 페이지 버퍼들에 연결되거나 공유된 페이지 버퍼들에 연결될 수 있다.
전압 발생기(240), 선택 라인 드라이버(250), 및 제 1 및 제 2 스위치 회로 들(262,264) 각각은, 도 1에 도시된 전압 발생기(140), 선택 라인 드라이버(150), 및 제 1 및 제 2 스위치 회로들(162,164)과 동일하게 구현될 것이다.
제어 로직(270)은 비휘발성 메모리 장치(200)의 전반적인 동작(예를 들어, 프로그램/읽기/소거)을 제어할 것이다. 제어 로직(270)은 외부로부터 제공되는 제어 신호들(CTRL)에 따라 프로그램/읽기/소거 동작을 수행할 것이다.
제어 로직(270)은 1배속 모드인지 혹은 2배속 모드인지에 따라 서로 다른 방식으로 입출력 회로(230)를 제어할 것이다. 여기서 1배속 모드 혹은 2 배속 모드의 결정은, 입력되는 어드레스가 한번이지 혹은 두 번인지에 따라 결정될 수 있다. 예를 들어, 하나의 프로그램 명령에 어드레스 및 데이터가 두 번 입력되면, 2 배속모드일 것이다.
본 발명의 비휘발성 메모리 장치(200)는 2배속 모드시 동시에 두 개의 메모리 블록을 활성화시킬 것이다. 예를 들어, 2배속 모드시 제 1 어드레스에 응답하여 제 1 매트(211)의 복수의 메모리 블록들 중 하나가 활성화되고, 제 2 어드레스에 응답하여 제 2 매트(212)의 복수의 메모리 블록들 중 하나가 활성화될 것이다.
또한, 활성화된 메모리 블록들을 갖는 어드레스 디코더들의 웰들에는 공통의 웰전압이 제공될 것이다. 여기서 공통의 웰전압은 제 2 스위치 회로(264)에 의해 선택된 제 1 및 제 2 음전압 라인들(NVL1, NVL2) 중 어느 하나를 통해 제공될 것이다.
일반적인 비휘발성 메모리 장치는 선택 라인들을 통하여 바이어스 전압을, 적어도 하나의 선택된 메모리 블록들에 대응하는 어드레스 디코더들과 나머지 어드 레스 디코더들에 동일하게 제공하였다. 반면에, 본 발명에 따른 비휘발성 메모리 장치(200)는 블록 어드레스(BA)에 따라 활성화될 선택 라인들 및 활성화될 음전압 라인을 선택하고, 선택된 선택 라인들 및 선택된 음전압 라인들을 통하여 바이어스 전압들을 선택된 메모리 블록에 대응하는 어드레스 디코더들에 제공하고, 나머지 어드레스 디코더들에 접지 전압을 제공하거나 혹은 플로팅 전압을 제공할 것이다. 이로써, 본 발명의 비휘발성 메모리 장치(200)는 일반적인 비휘발성 메모리 장치와 비교할 때 전압 발생기(240)의 전압 펌핑 용량을 크게 줄일 수 있다.
도 9는 도 9에 도시된 어드레스 디코더들의 배치에 대한 실시 예를 보여주는 도면이다. 도 9를 참조하면, 제 1 매트(211)는 복수의 메모리 블록들(MB1_1, MB1_2, ..., MB1_K)을 포함하고, 제 2 매트(212)는 복수의 메모리 블록들(MB2_1, MB2_2, ..., MB2_K)을 포함할 것이다. 여기서 K는 적어도 2 이상의 자연수이다.
제 1 어드레스 디코더(221)는 제 1 매트(211)의 좌측에 배치되고, 복수의 블록 선택기들(BS1_1, BS1_3,...BS1_(K-1))을 포함할 것이다. 제 2 어드레스 디코더(222)는 제 1 매트(211)의 우측에 배치되고, 복수의 블록 선택기들(BS1_2, BS1_4,..., BS1_K)을 포함할 것이다.
제 3 어드레스 디코더(223)는 제 2 매트(212)의 좌측에 배치되고, 복수의 블록 선택기들(BS2_1, BS2_3,...BS2_(K-1))을 포함할 것이다. 제 4 어드레스 디코더(224)는 제 2 매트(212)의 우측에 배치되고, 복수의 블록 선택기들(BS2_2, BS2_4,..., BS2_K)을 포함할 것이다.
도 10은 본 발명에 따른 비휘발성 메모리 장치의 제 3 실시 예를 보여주는 도면이다. 도 10을 참조하면, 비휘발성 메모리 장치(300)는 제 1 및 제 2 매트들(311,312), 제 1 내지 제 4 어드레스 디코더들(321~324), 입출력 회로(330), 전압 발생기(340), 선택라인 드라이버(350), 제 1 및 제 2 스위치 회로들(362, 364) 및 제어 로직(370)을 포함할 것이다.
제 1 및 제 2 매트들(311,312)은, 도 8에 도시된 제 1 및 제 2 매트들(211,212)과 동일하게 구현될 것이다. 제 1 내지 제 4 어드레스 디코더들(321~324)은, 도 8에 도시된 제 1 내지 제 4 어드레스 디코더들(221~224)과 동일하게 구현될 것이다. 입출력 회로(330), 전압 발생기(340), 및 선택 라인 드라이버(350) 각각은, 도 8에 도시된 입출력 회로(230), 전압 발생기(240), 및 선택 라인 드라이버(250)와 동일하게 구현될 것이다.
제 1 스위치 회로(362)는 블록 어드레스(BA)에 응답하여 선택 라인들(SL)을 제 1 내지 제 4 선택 라인들(SL1~SL4) 중 어느 하나에 전기적으로 연결시킬 것이다. 적어도 하나의 선택 라인으로 음전압(Vneg)이 제공될 때, 제 1 스위치 회로(362)의 웰에는 음전압(Vneg)이 제공될 것이다. 반면에, 선택 라인들로 음전압(Vneg)이 제공되지 않을 때, 제 1 스위치 회로(362)의 웰에 디폴트 전압(예를 들어, 접지전압)이 제공될 것이다.
제 2 스위치 회로(364)는 블록 어드레스(BA)에 응답하여 음전압(Vneg)을 제 1 내지 제 4 음전압 라인들(NVL1~NVL4) 중 어느 하나에 제공할 것이다. 음전압 레벨 발생기(346)로부터 음전압(Vneg)이 제공될 때, 제 2 스위치 회로(362)의 웰에는 음전압(Vneg)이 제공될 것이다. 이로써, 제 2 스위치 회로(364)의 적어도 하나의 내부 소자(예를 들어, 트랜지스터)에 DC 패스가 형성되는 것을 방지할 것이다.
본 발명에 따른 비휘발성 메모리 장치(300)는 블록 어드레스(BA)에 따라 활성화될 선택 라인들 및 활성화될 음전압 라인을 선택하고, 선택된 선택 라인들 및 선택된 음전압 라인들을 통하여 바이어스 전압들을 선택된 메모리 블록이 포함된 어드레스 디코더들에 제공하고, 나머지 어드레스 디코더들에 접지 전압을 제공하거나 혹은 플로팅 전압을 제공할 것이다. 이로써, 본 발명의 비휘발성 메모리 장치(300)는 전압 발생기(340)의 전압 펌핑 용량을 크게 줄일 수 있다.
도 11은 도 10에 도시된 비휘발성 메모리 장치의 프로그램 방법을 보여주는 실시 예이다. 도 10 및 도 11을 참조하면, 비휘발성 메모리 장치(300)의 프로그램 방법은 다음과 같이 진행될 것이다.
비휘발성 메모리 장치(300)는 프로그램 동작시 외부(예를 들어, 메모리 제어기)로부터 명령(CMD), 어드레스(ADDR), 및 데이터(DATA)를 입력받을 것이다(S310). 여기서 입력된 데이터(DATA)는 입출력 회로(도 10 참조, 230)의 각 페이지 버퍼들에 로딩 될 것이다.
이후, 제어 로직(도 10 참조, 270)은 2배속 모드인지를 판별할 것이다(S320). 여기서 2 배속 모드인지의 판별 동작은 하나의 쓰기 명령에 어드레스가 두 번 입력되었는 지를 확인함으로써 결정될 것이다. 예를 들어, 하나의 쓰기 명령에 제 1 어드레스 및 제 2 어드레스가 입력되면 2 배속 모드일 것이다. 여기서 제 1 어드레스는 제 1 매트(311)에 포함된 메모리 블록들 중 어느 하나를 선택하기 위한 어드레스이고, 제 2 어드레스는 제 2 매트(312)에 포함된 메모리 블록들 중 어 느 하나를 선택하기 위한 어드레스이다.
만약, 2배속 모드가 아니라면, 즉, 어드레스가 하나만 입력되었다면, 제 1 스위치 회로(도 10 참조, 362)는 입력 어드레스(ADDR)에 따라 선택 라인들(SL)을 제 1 및 제 4 선택 라인들(SL1~SL4) 중 어느 하나에 전기적으로 연결시킬 것이다. 또한, 제 2 스위치 회로(도 10 참조, 364)는 입력 어드레스(ADDR)에 따라 음전압(Vneg)을 제 1 내지 제 4 음전압 라인들(NVL1~NVL4) 중 어느 하나에 제공할 것이다(S330).
반면에, 2배속 모드라면, 즉, 어드레스가 두 번 입력되었다면, 제 1 스위치 회로(362)는 제 1 어드레스에 따라 선택 라인들(SL)을 제 1 및 제 2 선택 라인들(SL1, SL2) 중 어느 하나에 전기적으로 연결시키고, 제 2 어드레스에 따라 선택 라인들(SL)을 제 3 및 제 4 선택 라인들(SL3, SL4) 중 어느 하나에 전기적으로 연결시킬 것이다. 또한, 제 2 스위치 회로(364)는 제 1 어드레스에 따라 음전압(Vneg)을 제 1 및 제 2 음전압 라인들(NVL1, NVL2) 중 어느 하나에 제공하고, 제 2 어드레스에 따라 음전압(Vneg)을 제 3 및 제 4 음전압 라인들(NVL3, NVL4) 중 어느 하나에 제공할 것이다(S335).
전압 발생기(도 10 참조, 340)는 제어 로직(도 1참조, 170)의 제어에 따라 프로그램 동작에 필요한 바이어스 전압들(예를 들어, 프로그램 전압, 패스 전압, 고전압, 웰전압, 검증읽기 전압 등)을 생성할 것이다(S340).
이후, 제어 로직(370)은 프로그램 루프를 진행시킬 것이다. 제어 로직(370)은 페이지 버퍼들에 로딩된 데이터에 따라 비트라인들(BL0~BLn-1)을 세트업 시킬 것이다. 이후, 비선택된 워드라인들로 패스 전압이 인가되고, 선택된 워드라인으로 프로그램 전압이 인가될 것이다. 여기서 프로그램 전압의 레벨은 루프 회수가 증가됨에 따라 소정의 값만큼 증가될 것이다(S350).
프로그램 전압이 인가되기 전에 선택된 워드라인으로 소정의 시간 동안 패스 전압이 인가될 수 있다. 이후, 프로그램 리커버리 동작이 수행될 것이다. 이러한 프로그램 리커버리 동작에서는, 워드라인들(WL0~WLm-1) 및 스트링 선택라인(SSL)에 인가된 바이어스 전압들이 디스챠지되고, 비트라인들(BL0~BLn-1)에 인가된 전압들이 디스챠지될 것이다.
이후, 제어 로직(370)은 적어도 하나 검증 읽기 레벨들을 이용하여 검증 읽기 동작을 수행할 것이다. 검증 읽기 결과로써, 프로그램 패스 여부가 결정될 것이다(S360). 만일, 프로그램 패스이면, 프로그램 루프가 종료될 것이다.
반면에, 프로그램 페일이면, 제어 로직(370)은 루프 회수가 최대값인지 판별할 것이다(S370). 만약, 루프 회수가 최대이면, 프로그램 동작은 실패로 처리될 것이다. 반면에, 루프 회수가 최대가 아니라면, 루프 회수가 증가되고, 그 다음 프로그램 루프가 진행될 것이다(S380).
도 12는 도 10에 도시된 비휘발성 메모리 장치의 읽기 방법을 보여주는 실시 예이다. 도 10 및 도 12를 참조하면, 비휘발성 메모리 장치(300)의 읽기 방법은 다음과 같이 진행될 것이다.
비휘발성 메모리 장치(300)는 읽기 동작시 외부(예를 들어, 메모리 제어기)로부터 명령(CMD), 및 어드레스(ADDR)를 입력받을 것이다(S410).
이후, 제어 로직(도 10 참조, 270)은 2배속 모드인지를 판별할 것이다(S420).
만약, 2배속 모드가 아니라면, 즉, 어드레스가 하나만 입력되었다면, 제 1 스위치 회로(도 10 참조, 362)는 입력 어드레스(ADDR)에 따라 선택 라인들(SL)을 제 1 및 제 4 선택 라인들(SL1~SL4) 중 어느 하나에 전기적으로 연결시킬 것이다. 또한, 제 2 스위치 회로(도 10 참조, 364)는 입력 어드레스(ADDR)에 따라 음전압(Vneg)을 제 1 내지 제 4 음전압 라인들(NVL1~NVL4) 중 어느 하나에 제공할 것이다(S430).
반면에, 2배속 모드라면, 즉, 어드레스가 두 번 입력되었다면, 제 1 스위치 회로(362)는 제 1 어드레스에 따라 선택 라인들(SL)을 제 1 및 제 2 선택 라인들(SL1, SL2) 중 어느 하나에 전기적으로 연결시키고, 제 2 어드레스에 따라 선택 라인들(SL)을 제 3 및 제 4 선택 라인들(SL3, SL4) 중 어느 하나에 전기적으로 연결시킬 것이다. 또한, 제 2 스위치 회로(364)는 제 1 어드레스에 따라 음전압(Vneg)을 제 1 및 제 2 음전압 라인들(NVL1, NVL2) 중 어느 하나에 제공하고, 제 2 어드레스에 따라 음전압(Vneg)을 제 3 및 제 4 음전압 라인들(NVL3, NVL4) 중 어느 하나에 제공할 것이다(S435).
전압 발생기(도 10 참조, 340)는 제어 로직(도 10참조, 370)의 제어에 따라 읽기 동작에 필요한 바이어스 전압들(예를 들어, 읽기 전압, 고전압, 웰전압 등)을 생성할 것이다(S440).
이후, 제어 로직(370)은 적어도 하나의 읽기 전압 레벨을 이용하여 읽기 동 작을 수행할 것이다. 입력 어드레스에 대응하는 메모리 셀들로부터 읽혀진 데이터는 페이지 버퍼들에 저장될 것이다. 이후, 페이지 버퍼들에 저장된 데이터는 외부(예를 들어, 메모리 제어기)로 출력될 것이다(S450). 이로써 읽기 동작이 완료될 것이다.
도 13은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 13를 참조하면, 메모리 시스템(10)은 비휘발성 메모리 장치(12) 및 메모리 제어기(14)를 포함할 것이다.
비휘발성 메모리 장치(12)는, 도 1에 도시된 비휘발성 메모리 장치(100), 도 8에 도시된 비휘발성 메모리 장치(200), 도 10에 도시된 비휘발성 메모리 장치(300) 중 어느 하나와 동일하게 구현될 것이다.
메모리 제어기(14)는 외부(예를 들어, 호스트)의 요청에 따라 비휘발성 메모리 장치(12)를 제어할 것이다. 예를 들어, 메모리 제어기(14)는 비휘발성 메모리 장치(12)의 읽기, 쓰기, 및 소거 동작을 제어하도록 구현될 것이다.
메모리 제어기(14)는 비휘발성 메모리 장치(12) 및 호스트 사이에 인터페이스를 제공할 것이다. 메모리 제어기(14)는 비휘발성 메모리 장치(12)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구현될 것이다. 메모리 제어기(14)는 중앙처리장치(14_1), 버퍼(14_2), 에러정정회로(14_3), 롬(14_4), 호스트 인터페이스(14_5), 및 메모리 인터페이스(14_6)를 포함할 것이다.
중앙처리장치(14_1)는 메모리 제어기(14)의 전반적인 동작을 제어할 것이다.
버퍼(14_2)는 중앙처리장치(14_1)의 동작 메모리로서 이용될 것이다. 호스트 의 쓰기 요청시, 호스트로부터 입력된 데이터는 버퍼(14_2)에 임시로 저장될 것이다. 또한, 호스트의 읽기 요청시, 비휘발성 메모리 장치(12)로부터 읽혀진 데이터는 버퍼(14_2)에 임시로 저장될 것이다.
에러정정회로(14_3)는 쓰기 요청시 버퍼(14_2)에 저장된 데이터를 에러정정코드에 의해 디코딩할 것이다. 이때, 디코딩된 데이터 및 이용된 에러정정코드 값은 비휘발성 메모리 장치(12)에 저장될 것이다. 한편, 에러정정회로(14_3)는 읽기 요청시 비휘발성 메모리 장치(12)로부터 읽혀진 데이터를 에러정정코드 값을 이용하여 복원시킬 것이다. 여기서 에러정정코드 값은 읽혀진 데이터에 포함될 것이다.
롬(14_4)은 메모리 제어기(14)를 구동하기 위하여 필요한 데이터가 저장될 것이다.
호스트 인터페이스(14_5)는 호스트(Host) 및 메모리 제어기(14) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함할 것이다. 예를 들어, 메모리 제어기(14) USB (Universal Serial Bus) 프로토콜, MMC (multimedia card) 프로토콜, PCI (peripheral component interconnection) 프로토콜, PCI-E (PCI-express) 프로토콜, ATA (Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI (enhanced small disk interface) 프로토콜, 그리고 IDE (Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(호스트)와 통신하도록 구성될 것이다.
메모리 인터페이스(14_6)는 비휘발성 메모리 장치(12)와 메모리 제어기(14) 사이의 인터페이싱할 것이다.
도 14는 본 발명의 실시 예에 따른 메모리 카드에 대한 블록도이다. 도 14를 참조하면, 메모리 카드(20)는 플래시 메모리(22), 버퍼 메모리(24) 및 그것들을 제어하는 메모리 제어기(26)를 포함할 것이다.
플래시 메모리(22)는, 도 1에 도시된 비휘발성 메모리 장치(100), 도 8에 도시된 비휘발성 메모리 장치(200), 및 도 10에 도시된 비휘발성 메모리 장치(300) 중 어느 하나와 동일하게 구현될 것이다.
버퍼 메모리(24)는 메모리 카드(20)의 동작 중 발생되는 데이터를 임시로 저장하기 위한 장치이다. 버퍼 메모리(24)는 디램 혹은 에스램 등으로 구현될 수 있다.
메모리 제어기(26)는 호스트 및 플래시 메모리(22)에 사이에 연결될 것이다. 호스트로부터의 요청에 응답하여, 메모리 제어기(26)는 플래시 메모리(22)를 억세스하도록 구현될 것이다.
메모리 제어기(26)는 마이크로 프로세서(26_1), 호스트 인터페이스(26_2). 플래시 제어기(26_3), 및 버퍼 제어기(26_4)를 포함할 것이다.
메모리 제어기(26)는 플래시 메모리(22)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구현될 것이다. 호스트 인터페이스(26_2)는 호스트와 메모리 제어기들(26_3,26_4) 사이에 데이터 교환을 수행하기 위한 카드(예를 들어, MMC) 프로토콜을 통해 호스트와 인터페이싱할 것이다.
이러한 메모리 카드(20)는 멀티미디어 카드(Multimedia Card: MMC), 보안 디 지털(Security Digital: SD), miniSD, 메모리 스틱(Memory Stick), 스마트미디어(SmartMedia), 트랜스플래시(TransFlash) 카드 등에 적용가능하다.
도 15는 본 발명의 실시 예에 따른 모비낸드를 보여주는 블록도이다. 도 15를 참조하면, 모비낸드(30)는 낸드 플래시 메모리 장치(32) 및 제어기(34)를 포함할 것이다.
낸드 플래시 메모리 장치(32)는 단품의 낸드 플래시 메모리들이 한 패키지(예를 들어, FBGA, Fine-pitch Ball Grid Array)에 적층됨으로써 구현될 것이다. 여기서, 단품의 낸드 플래시 메모리들 각각은, 도 1에 도시된 비휘발성 메모리 장치(100), 도 8에 도시된 비휘발성 메모리 장치(200), 및 도 10에 도시된 비휘발성 메모리 장치(300) 중 어느 하나와 동일하게 구현될 것이다.
제어기(34)는 제어기 코어(34_1), 호스트 인터페이스(34_2) 및 낸드 인터페이스(34_3)를 포함할 것이다. 제어기 코어(34_1)는 모비낸드(30)의 전반적인 동작을 제어할 것이다. 호스트 인터페이스(34_2)는 제어기(34)와 호스트의 MMC(Multi Media Card) 인터페이싱을 수행할 것이다. 낸드 인터페이스(34_3)는 낸드 플래시 메모리 장치(32)와 제어기(34)의 인터페이싱을 수행할 것이다.
모비낸드(30)는 호스트로부터 전원전압들(Vcc, Vccq)을 제공받을 것이다. 여기서, 전원전압(Vcc: 3V)은 낸드 플래시 메모리 장치(32) 및 낸드 인터페이스(34_3)에 공급되고, 전원전압(Vccq: 1.8V/3V)은 제어기(34)에 공급될 것이다.
한편, 본 발명은 솔리드 스테이트 드라이버(Solid State Drive: 이하, 'SSD'라고 함)에 적용가능하다.
도 16은 본 발명의 실시 예에 따른 SSD를 보여주는 블록도이다. 도 16을 참조하면, SSD(40)는 복수의 플래시 메모리 장치들(42) 및 SSD 제어기(44)를 포함할 것이다.
복수의 플래시 메모리 장치들(42) 각각은, 도 1에 도시된 비휘발성 메모리 장치(100), 도 8에 도시된 비휘발성 메모리 장치(200), 및 도 10에 도시된 비휘발성 메모리 장치(300) 중 어느 하나와 동일하게 구현될 것이다.
SSD 제어기(44)는, 중앙처리장치(44_1), 호스트 인터페이스(44_2), 캐쉬 버퍼(44_3), 및 플래시 인터페이스(44_4)를 포함할 것이다.
호스트 인터페이스(44_2)는 중앙처리장치(44_1)의 제어에 따라 호스트와 ATA 프로토콜 방식으로 데이터를 교환할 것이다. 여기서 호스트 인터페이스(44_2)는 SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, ESATA(External SATA) 인터페이스 등 중에서 어느 하나일 것이다.
인터페이스(44_2)를 통해 호스트로부터 입력되는 데이터나 호스트로 전송되어야 할 데이터는 중앙처리장치(44_1)의 제어에 따라 CPU 버스를 경유하지 않고 캐시 버퍼(44_3)를 통해 전달될 것이다.
캐쉬 버퍼(44_3)는 외부와 플래시 메모리 장치들(42) 간의 이동 데이터를 임시로 저장할 것이다. 또한, 캐쉬 버퍼(44_3)는 중앙처리장치(44_1)에 의해서 운용될 프로그램을 저장하는 데에도 사용될 것이다. 캐쉬 버퍼(44_3)는 일종의 버퍼 메모리로 간주할 수 있으며, 에스램(SRAM)으로 구현될 수 있다.
플래시 인터페이스(44_4)는 저장 장치로 사용되는 플래시 메모리 장치들(42)과 SSD 제어기(44) 사이의 인터페이싱을 수행할 것이다. 플래시 인터페이스(44_4)는 낸드 플래시 메모리, 원내드(One-NAND) 플래시 메모리, 멀티 레벨 플래시 메모리, 싱글 레벨 플래시 메모리를 지원하도록 구성될 수 있다.
도 17은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다. 도 17를 참조하면, 컴퓨팅 시스템(50)은, 중앙처리장치(51), 롬(52), 램(53), 입출력 장치(54), 그리고, SSD(55)을 포함할 것이다.
중앙처리장치(51)는 시스템 버스에 연결될 것이다. 롬(52)은 컴퓨팅 시스템(50)을 구동하는데 필요한 데이터가 저장될 것이다. 이러한 데이터에는 개시 명령 시퀀스, 혹은 기본적인 입/출력 동작 시스템(예를 들어, BIOS) 시퀀스 등이 될 것이다. 램(53)은 중앙처리장치(51)가 실행될 때 발생되는 데이터가 임시로 저장될 것이다.
입출력 장치(54)는, 예를 들어, 키보드, 포인팅 장치(마우스), 모니터, 모뎀, 등이 입출력 장치 인터페이스를 통하여 시스템 버스에 연결될 것이다.
SSD(55)는 읽기 가능한 저장 장치로써, 도 16에 도시된 SSD(40)와 동일하게 구현될 것이다.
도 18은 본 발명의 실시 예에 따른 전자기기에 대한 블록도이다. 도 18을 참조하면, 전자기기(60)는, 프로세서(61), 롬(62), 램(63), 그리고 플래시 인터페이스(64), 및 SSD(65)을 포함할 것이다.
프로세서(61)는 펌웨어 코드 혹은 임의의 코드를 실행하기 위하여 램(63)을 억세스할 것이다. 또한, 프로세서(61)는 개시 명령 시퀀스 혹은 기본 입출력 동작 시스템 시퀀스들과 같은 고정 명령 시퀀스들을 실행하기 위하여 롬(62)에 억세스할 것이다. 플래시 인터페이스(64)는 전자기기(60)와 SSD(65) 사이의 인터페이싱을 수행할 것이다.
SSD(65)는 전자기기(60)에 착탈이 가능할 것이다. SSD(65)는, 도 16에 도시된 SSD(40)와 동일하게 구현될 것이다.
본 발명의 전자기기(60)는 셀룰러 폰, 개인 디지털 보조기(Personal Digital Assistants: PDAs), 디지털 카메라, 캠코더, 및 휴대용 오디오 재생장치(예를 들어, MP3), PMP 등이 될 수 있다.
도 19는 본 발명의 실시 예에 따른 서버 시스템을 보여주는 블록도이다. 도 19를 참조하면, 서버 시스템(70)은 서버(72), 및 서버(72)를 구동하는 데 필요한 데이터를 저장하는 SSD(74)를 포함할 것이다. 여기서 SSD(74)는, 도 16에 도시된 SSD(40)와 동일한 구성을 포함할 것이다.
서버(72)는 응용 통신 모듈(72_1), 데이터 처리 모듈(72_2), 업그레이드 모듈(72_3), 스케줄링 센터(72_4), 로컬 리소스 모듈(72_5), 그리고 리페어 정보 모듈(72_6)을 포함할 것이다.
응용 통신 모듈(73_1)은 서버(72)와 네트워크에 연결된 컴퓨팅 시스템과 통신하거나 혹은 서버(72)과 SSD(74)이 통신하도록 구현될 것이다. 응용 통신 모듈(73_1)은 사용자 인터페이스를 통하여 제공된 데이터 혹은 정보를 데이터 처리 모듈(72_2)로 전송할 것이다.
데이터 처리 모듈(72_2)은 로컬 리소스 모듈(72_5)에 링크될 것이다. 여기서 로컬 리소스 모듈(72_5)은 서버(72)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 리페어 숍들(repair shops)/딜러들(dealers)/기술적인 정보의 목록을 제공할 것이다.
업그레이드 모듈(72_3)은 데이터 처리 모듈(72_2)과 인터페이싱할 것이다. 업그레이드 모듈(72_3)은 SSD(74)로부터 전송된 데이터 혹은 정보를 근거로 하여 펌웨어, 리셋 코드, 진단 시스템 업그레이드 혹은 다른 정보들을 전자기기(appliance)에 업그레이드할 것이다.
스케쥴링 센터(72_4)는 서버(72)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 실시간의 옵션을 허용할 것이다.
리페어 정보 모듈(72_6)은 데이터 처리 모듈(72_2)과 인터페이싱할 것이다. 리페어 정보 모듈(72_6)은 사용자에게 리페어 관련 정보(예를 들어, 오디오, 비디오, 혹은 문서 파일)를 제공하는데 이용될 것이다. 데이터 처리 모듈(72_2)은 SSD(74)으로부터 전달된 정보를 근거로하여 관련된 정보를 패키징할 것이다. 그 뒤, 이러한 정보는 SSD(74)에 전송되거나 혹은 사용자에게 디스플레이될 것이다.
본 발명의 실시 예에 따른 메모리 시스템 또는 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명의 실시 예에 따른 메모리 시스템 또는 저장 장치는 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), 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.