KR20140121159A - 멀티 레벨 셀 메모리 시스템 - Google Patents
멀티 레벨 셀 메모리 시스템 Download PDFInfo
- Publication number
- KR20140121159A KR20140121159A KR1020130037561A KR20130037561A KR20140121159A KR 20140121159 A KR20140121159 A KR 20140121159A KR 1020130037561 A KR1020130037561 A KR 1020130037561A KR 20130037561 A KR20130037561 A KR 20130037561A KR 20140121159 A KR20140121159 A KR 20140121159A
- Authority
- KR
- South Korea
- Prior art keywords
- bit page
- data
- page data
- bit
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
멀티 레벨 셀 메모리 시스템이 제공된다. 상기 멀티 레벨 셀 메모리 시스템은 제1 비트 페이지 데이터와 제2 비트 페이지 데이터를 저장하는 메모리 셀 어레이와, 상기 메모리 셀 어레이에 프로그램할 데이터를 임시 저장하는 페이지 버퍼를 포함하는 비휘발성 메모리 장치, 및 상기 제1 비트 페이지 데이터와 상기 제2 비트 페이지 데이터를 상기 페이지 버퍼에 입력하는 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는, 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 상기 페이지 버퍼에 입력하되 상기 제1 비트 페이지 데이터를 임시 저장하고, 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 상기 임시 저장된 제1 비트 페이지 데이터와 함께 상기 페이지 버퍼에 입력한다.
Description
본 발명은 멀티 레벨 셀 메모리 시스템에 관한 것이다.
메모리 장치는 각각의 메모리 셀이 1-비트 데이터를 저장하는 싱글 레벨 셀(single level cell; SLC) 메모리 장치와 각각의 메모리 셀이 N-비트 데이터(단, N은 2 이상의 자연수)를 저장하는 멀티 레벨 셀(multi level cell; MLC) 메모리 장치로 구분될 수 있다. 각각의 메모리 셀이 2-비트 데이터를 저장하는 MLC 메모리 장치의 경우, 2-비트 중 하위 비트를 LSB(Least Significant Bit)라고 하고, 상위 비트를 MSB(Most Significant Bit)라고 한다.
본 발명이 해결하려는 과제는, MSB 페이지 프로그램 동작시, 목표 프로그램 상태 판단 오류를 개선할 수 있는 멀티 레벨 셀 메모리 시스템을 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 멀티 레벨 셀 메모리 시스템의 일 태양(aspect)은 제1 비트 페이지 데이터와 제2 비트 페이지 데이터를 저장하는 메모리 셀 어레이와, 상기 메모리 셀 어레이에 프로그램할 데이터를 임시 저장하는 페이지 버퍼를 포함하는 비휘발성 메모리 장치, 및 상기 제1 비트 페이지 데이터와 상기 제2 비트 페이지 데이터를 상기 페이지 버퍼에 입력하는 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는, 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 상기 페이지 버퍼에 입력하되 상기 제1 비트 페이지 데이터를 임시 저장하고, 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 상기 임시 저장된 제1 비트 페이지 데이터와 함께 상기 페이지 버퍼에 입력한다.
본 발명의 몇몇 실시예에서, 상기 메모리 컨트롤러는 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하는 버퍼 메모리를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 페이지 버퍼는 데이터를 임시 저장하는 제1 래치와 제2 래치를 포함하고, 상기 제1 래치는 상기 제1 비트 페이지 프로그램 동작 및 상기 제2 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 덤프받고, 상기 제2 래치는 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 덤프받을 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리 컨트롤러는 상기 제2 비트 페이지 프로그램 동작의 완료 이후 상기 임시 저장된 제1 비트 페이지 데이터를 소거할 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리 컨트롤러는 상기 비휘발성 메모리 장치의 프로그램/소거 사이클이 기준 사이클보다 큰 경우, 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하고, 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 상기 임시 저장된 제1 비트 페이지 데이터와 함께 상기 페이지 버퍼에 입력하고, 상기 비휘발성 메모리 장치의 상기 프로그램/소거 사이클이 상기 기준 사이클보다 크지 않은 경우, 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하지 않고, 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터만을 상기 페이지 버퍼에 입력할 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리 컨트롤러는 상기 비휘발성 메모리 장치의 독출 오류에 의한 오류 비트의 개수가 기준 개수보다 큰 경우, 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하고, 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 상기 임시 저장된 제1 비트 페이지 데이터와 함께 상기 페이지 버퍼에 입력하고, 상기 비휘발성 메모리 장치의 상기 독출 오류에 의한 오류 비트의 개수가 상기 기준 개수보다 크지 않은 경우, 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하지 않고, 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터만을 상기 페이지 버퍼에 입력할 수 있다.
본 발명의 몇몇 실시예에서, 상기 제1 비트 페이지 데이터는 LSB 페이지 데이터이고, 상기 제2 비트 페이지 데이터는 MSB 페이지 데이터일 수 있다.
본 발명의 몇몇 실시예에서, 상기 비휘발성 메모리 장치는 낸드형 플래시 메모리 장치일 수 있다.
상기 과제를 해결하기 위한 본 발명의 멀티 레벨 셀 메모리 시스템의 다른 태양은 데이터를 저장하는 비휘발성 메모리 장치, 및 프로그램할 데이터를 상기 비휘발성 메모리 장치에 입력하는 메모리 컨트롤러를 포함하되, 상기 비휘발성 메모리 장치는, 제1 비트 페이지 데이터와 제2 비트 페이지 데이터를 저장하는 메모리 셀 어레이와, 상기 메모리 셀 어레이에 프로그램할 제1 비트 페이지 데이터를 임시 저장하는 제1 래치와, 상기 메모리 셀 어레이에 프로그램할 제2 비트 페이지 데이터를 임시 저장하는 제2 래치를 포함하고, 상기 제1 래치는 제1 비트 페이지 프로그램 동작 및 제2 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 상기 메모리 컨트롤러로부터 덤프받고, 상기 제2 래치는 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 상기 메모리 컨트롤러로부터 덤프받는다.
본 발명의 몇몇 실시예에서, 상기 메모리 컨트롤러는 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 상기 제1 래치에 덤프하되 상기 제1 비트 페이지 데이터를 임시 저장하고, 상기 제2 비트 페이지 프로그램 동작에서 상기 임시 저장된 제1 비트 페이지 데이터를 상기 제1 래치에 덤프하고 상기 제2 비트 페이지 데이터를 상기 제2 래치에 덤프할 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리 컨트롤러는 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하는 버퍼 메모리를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리 컨트롤러는 상기 제2 비트 페이지 프로그램 동작의 완료 이후 상기 임시 저장된 제1 비트 페이지 데이터를 소거할 수 있다.
본 발명의 몇몇 실시예에서, 상기 비휘발성 메모리 장치는, 상기 제2 프로그램 동작에서 상기 제1 래치에 임시 저장된 데이터와 상기 제2 래치에 임시 저장된 데이터를 이용하여 상기 메모리 셀 어레이의 목표 프로그램 상태를 설정하는 제3 래치를 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 비휘발성 메모리 장치의 프로그램/소거 사이클이 기준 사이클보다 큰 경우, 상기 제1 래치는 상기 제1 비트 페이지 프로그램 동작 및 상기 제2 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 상기 메모리 컨트롤러로부터 덤프받고, 상기 비휘발성 메모리 장치의 상기 프로그램/소거 사이클이 상기 기준 사이클보다 크지 않은 경우, 상기 제1 래치는 상기 제1 비트 페이지 프로그램 동작에서만 상기 제1 비트 페이지 데이터를 상기 메모리 컨트롤러로부터 덤프받을 수 있다.
본 발명의 몇몇 실시예에서, 상기 비휘발성 메모리 장치의 독출 오류에 의한 오류 비트의 개수가 기준 개수보다 큰 경우, 상기 제1 래치는 상기 제1 비트 페이지 프로그램 동작 및 상기 제2 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 상기 메모리 컨트롤러로부터 덤프받고, 상기 비휘발성 메모리 장치의 상기 독출 오류에 의한 오류 비트의 개수가 상기 기준 개수보다 크지 않은 경우, 상기 제1 래치는 상기 제1 비트 페이지 프로그램 동작에서만 상기 제1 비트 페이지 데이터를 상기 메모리 컨트롤러로부터 덤프받을 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템을 설명하기 위한 블록도이다.
도 2는 도 1의 메모리 컨트롤러를 구체적으로 설명하기 위한 블록도이다.
도 3은 도 1의 비휘발성 메모리 장치를 구체적으로 설명하기 위한 블록도이다.
도 4는 도 3의 메모리 셀 어레이의 메모리 블록을 구체적으로 설명하기 위한 회로도이다.
도 5는 도 3의 메모리 셀 어레이의 프로그램 상태를 설명하기 위한 도면이다.
도 6은 도 3의 메모리 셀 어레이의 프로그램 과정을 설명하기 위한 도면이다.
도 7은 MSB 페이지 프로그램 동작에서 LSB 페이지 독출 오류(read error)를 설명하기 위한 도면이다.
도 8은 도 1의 메모리 시스템의 프로그램 동작을 설명하기 위한 흐름도이다.
도 9는 도 1의 메모리 시스템의 프로그램 동작의 응용예를 설명하기 위한 흐름도이다.
도 10은 도 1의 메모리 시스템의 응용 예를 설명하기 위한 블록도이다.
도 11은 솔리드 스테이트 드라이브를 포함하는 사용자 시스템을 설명하기 위한 블록도이다.
도 12는 메모리 카드를 포함하는 사용자 시스템을 설명하기 위한 블록도이다.
도 13은 도 1 또는 도 10의 메모리 시스템을 포함하는 컴퓨팅 시스템을 설명하기 위한 블록도이다.
도 2는 도 1의 메모리 컨트롤러를 구체적으로 설명하기 위한 블록도이다.
도 3은 도 1의 비휘발성 메모리 장치를 구체적으로 설명하기 위한 블록도이다.
도 4는 도 3의 메모리 셀 어레이의 메모리 블록을 구체적으로 설명하기 위한 회로도이다.
도 5는 도 3의 메모리 셀 어레이의 프로그램 상태를 설명하기 위한 도면이다.
도 6은 도 3의 메모리 셀 어레이의 프로그램 과정을 설명하기 위한 도면이다.
도 7은 MSB 페이지 프로그램 동작에서 LSB 페이지 독출 오류(read error)를 설명하기 위한 도면이다.
도 8은 도 1의 메모리 시스템의 프로그램 동작을 설명하기 위한 흐름도이다.
도 9는 도 1의 메모리 시스템의 프로그램 동작의 응용예를 설명하기 위한 흐름도이다.
도 10은 도 1의 메모리 시스템의 응용 예를 설명하기 위한 블록도이다.
도 11은 솔리드 스테이트 드라이브를 포함하는 사용자 시스템을 설명하기 위한 블록도이다.
도 12는 메모리 카드를 포함하는 사용자 시스템을 설명하기 위한 블록도이다.
도 13은 도 1 또는 도 10의 메모리 시스템을 포함하는 컴퓨팅 시스템을 설명하기 위한 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
하나의 소자(elements)가 다른 소자와 "접속된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 접속된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
소자(elements) 또는 층이 다른 소자 또는 층의 "위(on)" 또는 "상(on)"으로 지칭되는 것은 다른 소자 또는 층의 바로 위뿐만 아니라 중간에 다른 층 또는 다른 소자를 개재한 경우를 모두 포함한다. 반면, 소자가 "직접 위(directly on)" 또는 "바로 위"로 지칭되는 것은 중간에 다른 소자 또는 층을 개재하지 않은 것을 나타낸다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 소자 또는 구성 요소들과 다른 소자 또는 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 소자의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 소자를 뒤집을 경우, 다른 소자의 "아래(below)" 또는 "아래(beneath)"로 기술된 소자는 다른 소자의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 소자는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명하기로 한다. 이하에서 본 발명의 실시예들은 낸드형 플래시 메모리 장치를 이용하여 설명될 것이다. 그러나, 본 발명이 다른 비휘발성 메모리 장치에도 실질적으로 동일하게 적용될 수 있음은, 본 발명이 속하는 기술 분야의 통상의 기술자에게 자명하다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템을 설명하기 위한 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 메모리 컨트롤러(110; memory controller) 및 비휘발성 메모리 장치(120; non-volatile memory)을 포함한다.
메모리 컨트롤러(110)는 호스트의 요청에 응답하여 비휘발성 메모리 장치(120)를 액세스(access)하도록 구성된다. 예를 들어, 메모리 컨트롤러(110)는 비휘발성 메모리 장치(120)의 프로그램(program), 독출(read), 소거(erase) 동작 등을 제어하도록 구성될 수 있다. 메모리 컨트롤러(110)는 비휘발성 메모리 장치(120)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
비휘발성 메모리 장치(120)는 메모리 셀(memory cell; MC) 어레이를 포함하여 데이터를 저장하도록 구성된다. 예를 들어, 비휘발성 메모리 장치(120)는 낸드형 플래시 메모리 장치로 제공될 수 있다.
도 2는 도 1의 메모리 컨트롤러를 구체적으로 설명하기 위한 블록도이다.
도 2를 참조하면, 메모리 컨트롤러(110)는 호스트 인터페이스(111; host I/F), 프로세서(112; processor), 메모리 모듈(113; memory module), 메모리 인터페이스(114; memory I/F)를 포함한다.
호스트 인터페이스(111)는 호스트와 데이터/커맨드 등의 교환을 수행하기 위한 프로토콜을 포함할 수 있다. 예를 들어, 호스트 인터페이스(111)는 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) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 포함하도록 구성될 수 있다.
프로세서(112)는 메모리 컨트롤러(110)의 제반 동작을 제어하도록 구성될 수 있다.
메모리 모듈(113)은 프로세서(112)의 동작 메모리, 호스트 및 비휘발성 메모리 장치(120) 사이의 캐시 메모리, 호스트 및 비휘발성 메모리 장치(120) 사이의 버퍼 메모리 중 적어도 하나로 사용될 수 있다. 메모리 모듈(113)은 비휘발성 메모리 장치(120)에 기입할 데이터를 프로세서(112)로부터 전달받아 임시 저장할 수 있다. 메모리 모듈(113)에 임시 저장된 데이터는 다음 단계에서 비휘발성 메모리 장치(120)에 전달되어 프로그램될 수 있다. 예를 들어, 메모리 모듈(113)은 SRAM을 포함할 수 있으나, 이에 한정되는 것은 아니다.
메모리 인터페이스(114)는 비휘발성 메모리 장치(120)와 인터페이싱하도록 구성될 수 있다. 예를 들어, 메모리 인터페이스(114)는 낸드 인터페이스를 포함할 수 있다.
도 2에서는 명확하게 도시하지 않았으나, 메모리 컨트롤러(110)는 오류 정정 블록을 추가적으로 포함할 수 있다. 오류 정정 블록은 오류 정정 코드(ECC)를 이용하여 비휘발성 메모리 장치(120)로부터 독출된 데이터의 오류를 검출하고, 이를 정정하도록 구성될 수 있다.
예를 들어, 오류 정정 블록은 메모리 컨트롤러(110)의 구성 요소로서 제공되거나, 비휘발성 메모리 장치(120)의 구성 요소로서 제공될 수 있다.
도 3은 도 1의 비휘발성 메모리 장치를 구체적으로 설명하기 위한 블록도이다.
도 3을 참조하면, 비휘발성 메모리 장치(120)는 메모리 셀 어레이(121; memory cell array), 페이지 버퍼(122; page buffer), 컨트롤러 인터페이스(123; controller I/F)를 포함한다.
메모리 셀 어레이(121)는 복수의 행들과 복수의 열들로 배열된 메모리 셀들을 포함할 수 있다. 복수의 메모리 셀들은 복수의 메모리 블록들을 구성할 수 있다. 각각의 메모리 셀은 N-비트 데이터(단, N은 2 이상의 자연수)를 저장하도록 구성될 수 있다. 즉, 메모리 셀 어레이(121)는 N-비트 데이터를 저장하는 멀티 레벨 셀(multi level cell; MLC)로 구성될 수 있다. 메모리 셀 어레이(121)는 일반 데이터를 저장하기 위한 데이터 영역과, 일반 데이터와 관련된 부가 정보(예를 들어, 플래그 정보, 에러 정정 코드, 디바이스 코드, 메이커 코드, 페이지 정보 등)를 저장하기 위한 스페어 영역으로 구분될 수 있다.
설명의 편의를 위하여, 이하에서는 MLC 메모리 장치를 설명함에 있어서, 각각의 메모리 셀이 2-비트 데이터를 저장하는 MLC 메모리 장치를 예로 들어 설명하기로 한다.
메모리 셀 어레이(121)는 하나의 메모리 셀에 2-비트(또는 그 이상의 비트) 데이터를 저장하는데, 이 중 하위 비트를 LSB(Least Significant Bit)라고 하며, 상위 비트를 MSB(Most Significant Bit)라고 한다. LSB와 MSB는 동일한 워드 라인에 연결되는 동일한 메모리 셀에 프로그램된다. 이 경우, 하위 비트를 프로그램하거나 읽는 경우에는 LSB 페이지가 되고, 상위 비트를 프로그램하거나 읽는 경우에는 MSB 페이지가 된다. 2-비트 데이터는 2개의 서로 다른 페이지를 구성하므로, LSB 페이지와 MSB 페이지는 서로 다른 페이지 어드레스에 의하여 프로그램된다.
메모리 셀 어레이(121)의 프로그램(program) 또는 독출(read) 동작은 페이지 단위로 수행되고, 프로그램된 데이터의 소거(erase) 동작은 복수 개의 페이지를 포함하는 블록 단위로 수행될 수 있다. 프로그램 동작시 할당되는 페이지 어드레스(page address)는 워드 라인 방향으로 연속적으로 할당될 수 있고, 비연속적으로 할당될 수도 있다. 각각의 페이지에 대한 프로그램 동작 또는 소거 동작과 관련된 정보는 스페어 영역(또는 데이터 영역의 일부 영역)에 할당된 메모리 셀들에 저장될 수 있다.
페이지 버퍼(122)는 비휘발성 메모리 장치(120)의 동작에 따라, 기입 드라이버 또는 감지 증폭기로 동작할 수 있다. 예를 들어, 페이지 버퍼(122)는 비휘발성 메모리 장치(120)의 프로그램 동작시에는 기입 드라이버로서 동작하고, 비휘발성 메모리 장치(120)의 독출 동작시에는 감지 증폭기로 동작할 수 있다.
페이지 버퍼(122)는 비트 라인들에 연결된 데이터 래치들을 포함할 수 있다. 페이지 버퍼(122)는 메모리 컨트롤러(110)로부터 프로그램할 데이터를 입력받을 수 있다. 데이터 래치들은 선택된 워드 라인에 연결된 메모리 셀들에 프로그램할 데이터, 또는 독출된 데이터를 임시 저장할 수 있다. 예를 들어, 데이터 래치들은 S-래치(122a), L-래치(122b), M-래치(122c), C-래치(122d)를 포함할 수 있다. C-래치(122d)는 메모리 컨트롤러(110)와 연결되어, 메모리 컨트롤러(110)와 데이터를 교환할 수 있다. L-래치(122b)는 프로그램할 LSB 페이지 데이터를 임시 저장하고, M-래치(122c)는 프로그램할 MSB 페이지 데이터를 임시 저장할 수 있다. S-래치(122a)는 L-래치(122b)에 임시 저장된 데이터와 M-래치(122c)에 임시 저장된 데이터를 이용하여 목표 프로그램 상태(target program state)를 설정할 수 있다. L-래치(122b) 및 M-래치(122c)는, S-래치(122a)와 C-래치(122d) 사이에서 데이터를 전달할 수 있다.
페이지 버퍼(122)는 후술하는 바와 같이, 초기 독출(initial read) 동작을 수행할 수 있다. 페이지 버퍼(122)는 MSB 페이지 프로그램 동작시, 선택된 워드 라인에 연결된 메모리 셀들로부터 LSB 페이지 데이터를 독출하고, 독출된 LSB 페이지 데이터를 저장할 수 있다. 독출된 LSB 페이지 데이터는 S-래치(122a)를 거쳐 L-래치(122b)에 셋업될 수 있다.
컨트롤러 인터페이스(123)는 메모리 컨트롤러(110)와 인터페이싱하도록 구성될 수 있다. 예를 들어, 컨트롤러 인터페이스(123)는 낸드 인터페이스를 포함할 수 있다.
도 3에서는 명확하게 도시하지 않았으나, 비휘발성 메모리 장치(120)는 페이지 버퍼(122), 컨트롤러 인터페이스(123)의 동작을 제어하기 위한 제어 회로를 추가적으로 포함할 수 있다.
도 4는 도 3의 메모리 셀 어레이의 메모리 블록을 구체적으로 설명하기 위한 회로도이다.
도 4를 참조하면, 메모리 블록을 구성하는 메모리 셀들은 낸드 스트링(nand string) 구조를 가질 수 있다. 도 4에 도시된 낸드 스트링 구조는 데이터 영역에 포함되는 메모리 셀들은 물론, 스페어 영역에 포함되는 메모리 셀들에도 적용될 수 있다.
메모리 블록은 복수의 열들 또는 비트 라인들(BL0∼BLm-1)에 각각 대응되는 복수의 스트링들을 포함할 수 있다. 각각의 스트링은 스트링 선택 트랜지스터(SST), 복수 개의 메모리 셀들(MC0∼MCn-1), 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 각각의 스트링에서, 스트링 선택 트랜지스터(SST)의 드레인은 대응하는 비트 라인에 연결되고, 접지 선택 트랜지스터(GST)의 소오스는 공통 소오스 라인(CSL)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)의 소오스와 접지 선택 트랜지스터(GST)의 드레인 사이에는 복수 개의 메모리 셀들(MC0∼MCn-1)이 직렬로 연결될 수 있다. 동일한 행에 배열되는 메모리 셀들의 게이트는 대응되는 워드라인(WL0∼WLn-1)과 공통으로 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL)을 통해 인가되는 전압에 의해 제어되고, 접지 선택 트랜지스터(GST)는 접지 선택 라인(GSL)을 통해 인가되는 전압에 의해 제어될 수 있다. 메모리 셀들(MC0∼MCn-1)은 대응하는 워드 라인(WL0∼WLn-1)을 통해 인가되는 전압에 의해서 제어될 수 있다. 각각의 워드 라인(WL0∼WLn-1)에 접속되는 메모리 셀들은 복수 개의 페이지에 해당하는 데이터를 저장할 수 있다.
예를 들어, 메모리 시스템(100)은 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공될 수 있다.
또한, 비휘발성 메모리 장치(120) 또는 메모리 시스템(100)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들어, 비휘발성 메모리 장치(120) 또는 메모리 시스템(100)은 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) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
도 5는 도 3의 메모리 셀 어레이의 프로그램 상태를 설명하기 위한 도면이다. 도 5는 2-비트 데이터를 저장하는 MLC 메모리 장치의 셀 산포를 나타낸다. 도 5에 도시된 셀 산포는 다양한 형태로 변형될 수 있다.
도 5를 참조하면, 메모리 셀은 “E(Erase)”, “P(Program)1”, “P2”, “P3” 중 어느 하나의 프로그램 상태(program state)를 가질 수 있다. 메모리 셀은 프로그램 상태에 대응되는 전압 분포를 가질 수 있다. 각각의 프로그램 상태는 복수의 문턱 전압(VR1, VR2, VR3)에 의해 구별될 수 있다.
2-비트 MLC에 저장 가능한 데이터 값 중, “E” 상태는 “11”의 데이터 값에 대응되고, “P1”의 프로그램 상태는 “10”의 데이터 값에 대응되고, “P2”의 프로그램 상태는 “01”의 데이터 값에 대응되고, “P3”의 프로그램 상태는 “00”의 데이터 값에 대응될 수 있다.
각각의 비트는 독립적으로 수행되는 페이지 프로그램 동작을 통해 각각 프로그램될 수 있다. 각각의 프로그램 동작은 복수 개의 프로그램 루프들로 구성될 수 있다. 예를 들어, 2-비트 MLC의 경우, 2-비트 데이터 중 LSB는 LSB 페이지 프로그램 동작을 통해, MSB는 MSB 페이지 프로그램 동작을 통해 각각 독립적으로 프로그램될 수 있다.
도 6은 도 3의 메모리 셀 어레이의 프로그램 과정을 설명하기 위한 도면이다.
도 6을 참조하면, LSB 페이지 프로그램 동작이 수행된 후에, LSB 페이지의 셀 산포로부터 MSB 페이지 프로그램 동작이 수행될 수 있다.
LSB 페이지 프로그램 동작에서는 LSB 데이터 값에 따라 메모리 셀의 LSB의 값만 "1" 또는 "0"의 값으로 프로그램된다. 이때, MSB는 소거 상태를 유지한다. 도 6에서는, LSB가 "1"의 값으로 프로그램된 경우 프로그램 상태는 “E”로 도시하였다. 그리고, LSB가 "0"의 값으로 프로그램된 경우 프로그램 상태는 “P”로 도시하였다.
LSB 페이지 프로그램 동작이 완료되면, MSB 페이지 프로그램 동작이 수행될 수 있다. MSB 페이지 프로그램 동작에서는 MSB 데이터 값에 따라 메모리 셀의 MSB의 값이 "1" 또는 "0"의 값으로 프로그램된다. 이로써, 각각의 메모리 셀은 4 개의 프로그램 상태들 중 어느 하나의 상태를 갖게 된다. 메모리 셀의 데이터 값이 "11", “10”, “01”, “00”의 값 중 어느 값으로 프로그램되었는지 여부는, 복수의 문턱 전압을 이용한 독출 동작을 통해 감지될 수 있다.
도 7은 MSB 페이지 프로그램 동작에서 LSB 페이지 독출 오류(read error)를 설명하기 위한 도면이다.
도 7을 참조하면, “E” 상태로 프로그램된 메모리 셀들 중 일부의 전압 분포가 변화되어 제1 문턱 전압(VR0)보다 높은 전압 분포를 가질 수 있다.
종래의 플래시 메모리 장치는, MSB 페이지 프로그램 동작시 초기 독출(initial read) 동작을 수행하였다. 즉, 메모리 셀 어레이의 선택된 워드 라인에 연결된 메모리 셀들로부터 LSB 페이지 데이터를 독출하고, 독출된 LSB 페이지 데이터와 메모리 컨트롤러로부터 입력된 MSB 페이지 데이터를 조합하여(또는 독출된 LSB 페이지 데이터를 참조하여), 4 개의 프로그램 상태들 중 어느 하나의 상태로 프로그램하였다.
이러한 종래의 플래시 메모리 장치의 경우, 상기 일부 메모리 셀들의 LSB 데이터가 다른 데이터 값으로 독출될 수 있다. 그리고, 이와 같은 LSB 페이지 독출 오류로 인해, 일부 메모리 셀들은 목표하는 “E” 또는 “P1”의 프로그램 상태와 달리, “P1” 또는 “P3”의 상태로 프로그램될 수 있다.
그러나, 본 발명의 일 실시예에서, 메모리 컨트롤러(110)의 메모리 모듈(113)은 LSB 페이지 프로그램 동작에서 비휘발성 메모리 장치(120)에 LSB 페이지 데이터를 입력하고, MSB 페이지 프로그램 동작이 완료될 때까지 상기 LSB 페이지 데이터를 임시 저장할 수 있다. 그리고, 메모리 컨트롤러(110)의 메모리 모듈(113)은 MSB 페이지 프로그램 동작에서 비휘발성 메모리 장치(120)에 MSB 페이지 데이터와 함께 상기 임시 저장된 LSB 페이지 데이터를 입력할 수 있다. 메모리 컨트롤러(110)의 메모리 모듈(113)은 MSB 페이지 프로그램 동작이 완료된 이후에는 상기 임시 저장된 LSB 페이지 데이터를 소거할 수 있다.
비휘발성 메모리 장치(120)는 MSB 페이지 프로그램 동작시 초기 독출 동작을 수행하지 않고, 메모리 컨트롤러(110)로부터 입력된 LSB 페이지 데이터와 MSB 페이지 데이터를 조합하여, 선택된 워드라인에 연결된 메모리 셀들을 프로그램할 수 있다. 따라서, MSB 페이지 프로그램 동작시 목표 프로그램 상태 판단 오류가 개선될 수 있다.
도 8은 도 1의 메모리 시스템의 프로그램 동작을 설명하기 위한 흐름도이다.
도 8을 참조하면, 먼저 메모리 컨트롤러(110)는 MSB 페이지가 프로그램되는지 판단한다(S11). 메모리 컨트롤러(110)가 구동하는 펌웨어의 파일 변환 계층(FTL; File Transfer Layer)은, 현재 프로그램 동작에서 LSB 페이지를 프로그램하는지, 또는 MSB 페이지를 프로그램하는지 판단할 수 있다.
이어서, MSB 페이지가 프로그램되지 않으면, 즉 LSB 페이지 프로그램 동작의 경우, 메모리 컨트롤러(110)는 비휘발성 메모리 장치(120)에 LSB 페이지 프로그램 커맨드를 전송한다(S12). 이 때, LSB 페이지 데이터와 LSB 페이지 어드레스는 메모리 컨트롤러(110)가 입력하는 LSB 페이지 프로그램 커맨드와 동시에 또는 뒤이어 전송될 수 있다. 비휘발성 메모리 장치(120)에 전송된 LSB 페이지 데이터는 C-래치(122d)에 로드될 수 있다.
이어서, 비휘발성 메모리 장치(120)는 목표 프로그램 상태를 설정한다(S13). C-래치(122d)에 로드된 LSB 페이지 데이터는 L-래치(122b)에 덤프(dump)되고, S-래치(122a)는 L-래치(122b)에 저장된 LSB 페이지 데이터를 이용하여 목표 프로그램 상태를 설정한다.
한편, MSB 페이지가 프로그램되는 경우, 메모리 컨트롤러(110)는 비휘발성 메모리 장치(120)에 LSB 페이지 덤프 커맨드를 전송한다(S14). 이 때, LSB 페이지 데이터가 메모리 컨트롤러(110)가 입력하는 LSB 페이지 덤프 커맨드와 동시에 또는 뒤이어 전송될 수 있다. 비휘발성 메모리 장치(120)에 전송된 LSB 페이지 데이터는 C-래치(122d)에 로드될 수 있다. 여기서, LSB 페이지 데이터는 비휘발성 메모리 장치(120)로부터 초기 독출 동작에 의해 독출된 것이 아니라, 메모리 컨트롤러(110)의 버퍼 메모리에 임시 저장된 LSB 페이지 데이터이다. 그리고, 비휘발성 메모리 장치(120)는 C-래치(122d)에 로드된 LSB 페이지 데이터를 L-래치(122b)에 덤프할 수 있다.
이어서, 메모리 컨트롤러(110)는 비휘발성 메모리 장치(120)에 MSB 페이지 덤프 커맨드를 전송한다(S15). 이 때, MSB 페이지 데이터가 메모리 컨트롤러(110)가 입력하는 MSB 페이지 덤프 커맨드와 동시에 또는 뒤이어 전송될 수 있다. 비휘발성 메모리 장치(120)에 전송된 MSB 페이지 데이터는 C-래치(122d)에 로드될 수 있다. 비휘발성 메모리 장치(120)는 C-래치(122d)에 로드된 MSB 페이지 데이터를 M-래치(122c)에 덤프할 수 있다.
이어서, 메모리 컨트롤러(110)는 비휘발성 메모리 장치(120)에 새(new) 프로그램 커맨드를 전송할 수 있다(S16). 이 때, 데이터와 어드레스가 함께 전송되는 LSB 페이지 프로그램 커맨드와 달리, MSB 페이지 어드레스만이 메모리 컨트롤러(110)가 입력하는 새 프로그램 커맨드와 동시에 또는 뒤이어 전송될 수 있다.
이어서, 비휘발성 메모리 장치(120)는 목표 프로그램 상태를 설정한다(S17). 비휘발성 메모리 장치(120)의 S-래치(122a)는 L-래치(122b)에 저장된 LSB 페이지 데이터와 M-래치(122c)에 저장된 MSB 페이지 데이터를 이용하여 목표 프로그램 상태를 설정한다.
이어서, 비휘발성 메모리 장치(120)는 프로그램 루프를 수행하여 프로그램 동작을 완료한다(S18). 비휘발성 메모리 장치(120)는 LSB 페이지 어드레스 또는 MSB 페이지 어드레스에 대응되는 워드 라인에 연결된 메모리 셀들에 데이터를 기입할 수 있다. 비휘발성 메모리 장치(120)는 S-래치(122a)에 셋업된 목표 프로그램 상태를 판단하고, 상기 워드 라인에 연결된 메모리 셀들을 목표 프로그램 상태로 프로그램할 수 있다. 이로써, 메모리 셀들은 목표 프로그램 상태에 대응되는 전압 분포를 가질 수 있다.
도 9는 도 1의 메모리 시스템의 프로그램 동작의 응용예를 설명하기 위한 흐름도이다. 설명의 편의를 위해, 도 8과 차이점을 중점으로 하여 설명하기로 한다.
도 9를 참조하면, 먼저 메모리 컨트롤러(110)는 MSB 페이지가 프로그램되는지 판단한다(S21). 이어서, MSB 페이지가 프로그램되지 않으면, 메모리 컨트롤러(110)와 비휘발성 메모리 장치(120)는 S23 내지 S24의 단계를 수행한다.
한편, MSB 페이지가 프로그램되는 경우, 메모리 컨트롤러(110)는 비휘발성 메모리 장치(120)의 프로그램/소거 사이클이 기준 사이클보다 큰지 판단한다(S22).
이어서, 비휘발성 메모리 장치(120)의 프로그램/소거 사이클이 기준 사이클보다 작으면, 메모리 컨트롤러(110)는 비휘발성 메모리 장치(120)에 MSB 페이지 프로그램 커맨드를 전송한다(S29). 이 때, MSB 페이지 데이터와 MSB 페이지 어드레스는 메모리 컨트롤러(110)가 입력하는 MSB 페이지 프로그램 커맨드와 동시에 또는 뒤이어 전송될 수 있다. 비휘발성 메모리 장치(120)에 전송된 MSB 페이지 데이터는 C-래치(122d)에 로드될 수 있다.
이어서, 메모리 컨트롤러(110)는 비휘발성 메모리 장치(120)로부터 LSB 페이지 데이터를 독출한다(S30). 이 때, 메모리 컨트롤러(110)는 MSB 페이지 어드레스에 대응되는 워드 라인의 메모리 셀들로부터 상기 LSB 페이지 데이터를 독출한다. 비휘발성 메모리 장치(120)로부터 독출된 LSB 페이지 데이터는 S-래치(122a)에 로드되고, 이 후 L-래치(122b)에 덤프될 수 있다.
이어서, 비휘발성 메모리 장치(120)는 목표 프로그램 상태를 설정한다(S31). C-래치(122d)에 로드된 MSB 페이지 데이터는 M-래치(122c)에 덤프(dump)되고, S-래치(122a)는 L-래치(122b)에 저장된 LSB 페이지 데이터와 M-래치(122c)에 저장된 MSB 페이지 데이터를 이용하여 목표 프로그램 상태를 설정한다.
한편, 비휘발성 메모리 장치의 프로그램/소거 사이클이 기준 사이클보다 큰 경우, 메모리 컨트롤러(110)와 비휘발성 메모리 장치(120)는 S25 내지 S28의 단계를 수행한다.
이어서, 비휘발성 메모리 장치(120)는 프로그램 루프를 수행하여 프로그램 동작을 완료한다(S32). 비휘발성 메모리 장치(120)는 LSB 페이지 어드레스 또는 MSB 페이지 어드레스에 대응되는 워드 라인에 연결된 메모리 셀들에 데이터를 기입할 수 있다.
S23 내지 S24, S25 내지 S28의 단계는 도 8을 참조하여 설명한 바와 실질적으로 동일하므로, 상세한 설명은 생략하기로 한다.
한편, 비휘발성 메모리 장치(120)의 프로그램/소거 사이클이 기준 사이클보다 작은 경우, 메모리 컨트롤러(110)의 메모리 모듈(113)은 MSB 페이지 프로그램 동작이 완료될 때까지 LSB 페이지 데이터를 임시 저장하지 않을 수 있다.
플래시 메모리 장치와 같은 비휘발성 메모리 장치는 유한한 프로그램/소거 사이클을 가진다. 그리고, 프로그램/소거 사이클이 증가됨에 따라, 플래시 메모리 장치의 내구성(endurance)이 감소되어, 상술한 독출 오류의 발생 횟수가 증가될 수 있다.
도 9를 참조하여 설명한 메모리 시스템의 프로그램 동작의 응용예에 의하면, 비휘발성 메모리 장치(120)의 프로그램/소거 사이클에 따라, 제1 모드에서 버퍼 메모리에 임시 저장된 LSB 페이지 데이터를 참조하여 MSB 페이지 프로그램 동작을 수행하거나, 또는 제2 모드에서 초기 독출(initial read) 동작을 수행하여 MSB 페이지 프로그램 동작을 수행할 수 있다. 이에 따르면, 비휘발성 메모리 장치의 성능을 확보하면서, 데이터의 신뢰성도 향상시킬 수 있다. 일반적으로 플래시 메모리 장치의 초기 상태에서는 독출 오류가 크게 발생되지 않기 때문이다.
다른 응용예에서, S22의 단계는, 메모리 컨트롤러(110)가 비휘발성 메모리 장치(120)의 독출 오류에 의한 오류 비트의 개수가 기준 개수보다 큰지 판단하는 것으로 변형될 수도 있다.
도 10은 도 1의 메모리 시스템의 응용 예를 설명하기 위한 블록도이다. 설명의 편의를 위해, 도 1과 차이점을 중점으로 하여 설명하기로 한다.
도 10을 참조하면, 메모리 시스템(200)은 메모리 컨트롤러(210) 및 비휘발성 메모리 장치(220)를 포함한다.
비휘발성 메모리 장치(220)는 복수의 비휘발성 메모리 칩들을 포함한다. 복수의 비휘발성 메모리 칩들은 복수의 그룹들로 분할될 수 있다. 복수의 비휘발성 메모리 칩들의 각 그룹은 하나의 공통 채널을 통해 메모리 컨트롤러(210)와 인터페이싱하도록 구성될 수 있다. 예를 들어, 복수의 비휘발성 메모리 칩들은 제1 내지 제l 채널들(CH1~CHl)을 통해 메모리 컨트롤러(210)와 인터페이싱할 수 있다.
메모리 컨트롤러(210)는 상술한 버퍼 메모리를 포함하여, LSB 페이지 프로그램 동작에서 LSB 페이지 데이터를 임시 저장하고, MSB 페이지 프로그램 동작에서 상기 임시 저장된 LSB 페이지 데이터를 이용할 수 있다.
각 비휘발성 메모리 칩은 도 1을 참조하여 설명한 비휘발성 메모리 장치(120)와 실질적으로 동일하게 구성될 수 있다.
도 10의 메모리 시스템(200)에서는, 하나의 채널에 복수의 비휘발성 메모리 칩들이 연결되는 것으로 도시하였으나, 하나의 채널에 하나의 비휘발성 메모리 칩이 연결되도록 변형될 수도 있다.
도 11은 솔리드 스테이트 드라이브를 포함하는 사용자 시스템을 설명하기 위한 블록도이다.
도 15를 참조하면, 사용자 시스템(1000)은 호스트(1100; host)와 솔리드 스테이트 드라이브(1200; SSD)를 포함한다.
솔리드 스테이트 드라이브(1200)는 SSD 컨트롤러(1210; SSD controller), 버퍼 메모리(1220; buffer), 비휘발성 메모리 장치(1230; NVM)를 포함한다.
SSD 컨트롤러(1210)는 호스트(1100)와 인터페이싱하도록 구성될 수 있다. SSD 컨트롤러(1210)는 호스트(1100)로부터 수신되는 데이터/커맨드를 디코딩하여, 비휘발성 메모리 장치(1230)를 액세스할 수 있다. SSD 컨트롤러(1210)는 호스트(1100)로부터 수신되는 데이터를 버퍼 메모리(1220)에 전달할 수 있다. SSD 컨트롤러(1210)는 비휘발성 메모리 장치(1230)로부터 데이터를 독출하여 호스트(1100)에 제공할 수 있다.
버퍼 메모리(1220)는 SSD 컨트롤러(1210)로부터 수신된 데이터를 임시 저장하도록 구성될 수 있다. 버퍼 메모리(1220)는 임시 저장된 데이터를 비휘발성 메모리 장치(1230)에 전달하여 프로그램할 수 있다. 버퍼 메모리(1220)는 대용량의 보조 기억 장치로 사용되는 솔리드 스테이트 드라이브(1200)에서, 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다.
버퍼 메모리(1220)는 LSB 페이지 프로그램 동작에서 LSB 페이지 데이터를 임시 저장하고, MSB 페이지 프로그램 동작에서 상기 임시 저장된 LSB 페이지 데이터를 이용할 수 있다.
비휘발성 메모리 장치(1230)는 솔리드 스테이트 드라이브(1200)의 저장 매체로서 제공될 수 있다. 비휘발성 메모리 장치(1230)는 복수 개의 메모리 장치로 구성될 수 있다. 비휘발성 메모리 장치(1230)는 도 1을 참조하여 설명한 비휘발성 메모리 장치(120)와 실질적으로 동일하게 구성될 수 있다.
도 11에서는 버퍼 메모리(1220)가 SSD 컨트롤러(1210)의 외부에 위치하는 것으로 도시하였으나, 이에 한정되는 것은 아니고, 버퍼 메모리(1220)는 SSD 컨트롤러(1210)의 내부 구성 요소로 제공될 수도 있다.
도 12는 메모리 카드를 포함하는 사용자 시스템을 설명하기 위한 블록도이다.
사용자 시스템(2000)은 호스트(2100; host)와 메모리 카드(2200; memory card)를 포함한다.
호스트(2100)는 호스트 컨트롤러(2110; host controller) 및 호스트 접속 유닛(2120; host cnt)을 포함할 수 있다. 메모리 카드(2200)는 카드 접속 유닛(2210; card cnt), 카드 컨트롤러(2220; card controller), 비휘발성 메모리 장치(2230; NVM)를 포함할 수 있다.
호스트 접속 유닛(2120) 및 카드 접속 유닛(2210)은 복수의 핀으로 구성될 수 있다. 이들 핀에는 커맨드 핀, 데이터 핀, 클록 핀, 전원 핀 등이 포함될 수 있다. 핀의 수는 메모리 카드(2200)의 종류에 따라 변형될 수 있다.
호스트 컨트롤러(2110)는 메모리 카드(2200)에 데이터를 기입하거나, 메모리 카드(2200)에 저장된 데이터를 독출하도록 구성될 수 있다. 호스트 컨트롤러(2110)는 커맨드(CMD), 클록 신호(CLK), 데이터(DAT) 등을 호스트 접속 유닛(2120)을 통해 메모리 카드(2200)로 전송할 수 있다.
카드 컨트롤러(2220)는 카드 접속 유닛(2210)을 통해 수신된 커맨드에 응답하여, 데이터를 비휘발성 메모리 장치(2230)에 기입하거나, 비휘발성 메모리 장치(2230)로부터 데이터를 독출하도록 구성될 수 있다. 카드 컨트롤러(220)는 상술한 버퍼 메모리를 포함하여, LSB 페이지 프로그램 동작에서 LSB 페이지 데이터를 임시 저장하고, MSB 페이지 프로그램 동작에서 상기 임시 저장된 LSB 페이지 데이터를 이용할 수 있다.
비휘발성 메모리 장치(2230)는 도 1을 참조하여 설명한 비휘발성 메모리 장치(120)와 실질적으로 동일하게 구성될 수 있다.
예를 들어, 메모리 카드(2200)는 PC 카드(personal computer memory card international association; PCMCIA), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드로 구성될 수 있다.
도 13은 도 1 또는 도 10의 메모리 시스템을 포함하는 컴퓨팅 시스템을 설명하기 위한 블록도이다.
도 13을 참조하면, 컴퓨팅 시스템(3000)은 메모리 시스템(3100), 중앙 처리 장치(3200; CPU), 램(3300; RAM), 사용자 인터페이스(3400; user interface). 전원 공급 장치(3500; power supply)를 포함한다.
메모리 시스템(3100)은 시스템 버스(3600)를 통해서, 중앙 처리 장치(3200), 램(3300), 사용자 인터페이스(3400), 및 전원 공급 장치(3500)에 연결될 수 있다. 사용자 인터페이스(3400)을 통해 제공되거나, 중앙 처리 장치(3200)에 의해 처리된 데이터가 메모리 시스템(3100)에 저장될 수 있다.
도 13에서는, 비휘발성 메모리 장치(3120)가 메모리 컨트롤러(3110)를 통해 시스템 버스(3600)에 연결되는 것으로 도시하였으나, 비휘발성 메모리 장치(3120)는 시스템 버스(3600)에 직접 연결되도록 변형될 수 있다.
메모리 시스템(3100)은 도 1을 참조하여 설명한 메모리 시스템(100)과 실질적으로 동일하게 구성될 수 있다. 메모리 시스템(3100)은 도 10를 참조하여 설명한 메모리 시스템(200)으로 구성될 수도 있다. 한편, 컴퓨팅 시스템(3000)은 도 1 및 도 10을 참조하여 설명한 메모리 시스템들(100, 200)을 모두 포함하도록 구성될 수도 있다.
메모리 컨트롤러(31100)는 상술한 버퍼 메모리를 포함하여, LSB 페이지 프로그램 동작에서 LSB 페이지 데이터를 임시 저장하고, MSB 페이지 프로그램 동작에서 상기 임시 저장된 LSB 페이지 데이터를 이용할 수 있다.
본 발명의 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 컴퓨터로 읽을 수 있는 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 커플링되며, 그 프로세서는 기록 매체로부터 정보를 판독할 수 있고 기록 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
110: 메모리 컨트롤러
111: 호스트 인터페이스
112: 프로세서
113: 메모리 모듈
114: 메모리 인터페이스
120: 비휘발성 메모리 장치
121: 메모리 셀 어레이
122: 페이지 버퍼
123: 컨트롤러 인터페이스
111: 호스트 인터페이스
112: 프로세서
113: 메모리 모듈
114: 메모리 인터페이스
120: 비휘발성 메모리 장치
121: 메모리 셀 어레이
122: 페이지 버퍼
123: 컨트롤러 인터페이스
Claims (10)
- 제1 비트 페이지 데이터와 제2 비트 페이지 데이터를 저장하는 메모리 셀 어레이와, 상기 메모리 셀 어레이에 프로그램할 데이터를 임시 저장하는 페이지 버퍼를 포함하는 비휘발성 메모리 장치; 및
상기 제1 비트 페이지 데이터와 상기 제2 비트 페이지 데이터를 상기 페이지 버퍼에 입력하는 메모리 컨트롤러를 포함하되,
상기 메모리 컨트롤러는, 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 상기 페이지 버퍼에 입력하되 상기 제1 비트 페이지 데이터를 임시 저장하고, 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 상기 임시 저장된 제1 비트 페이지 데이터와 함께 상기 페이지 버퍼에 입력하는, 멀티 레벨 셀 메모리 시스템. - 제1항에 있어서,
상기 메모리 컨트롤러는 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하는 버퍼 메모리를 포함하는, 멀티 레벨 셀 메모리 시스템. - 제1항에 있어서,
상기 페이지 버퍼는 데이터를 임시 저장하는 제1 래치와 제2 래치를 포함하고,
상기 제1 래치는 상기 제1 비트 페이지 프로그램 동작 및 상기 제2 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 덤프받고, 상기 제2 래치는 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 덤프받는, 멀티 레벨 셀 메모리 시스템. - 제1항에 있어서,
상기 메모리 컨트롤러는 상기 제2 비트 페이지 프로그램 동작의 완료 이후 상기 임시 저장된 제1 비트 페이지 데이터를 소거하는, 멀티 레벨 셀 메모리 시스템. - 제1항에 있어서,
상기 메모리 컨트롤러는 상기 비휘발성 메모리 장치의 프로그램/소거 사이클이 기준 사이클보다 큰 경우, 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하고, 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 상기 임시 저장된 제1 비트 페이지 데이터와 함께 상기 페이지 버퍼에 입력하고,
상기 비휘발성 메모리 장치의 상기 프로그램/소거 사이클이 상기 기준 사이클보다 크지 않은 경우, 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하지 않고, 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터만을 상기 페이지 버퍼에 입력하는, 멀티 레벨 셀 메모리 시스템. - 제1항에 있어서,
상기 메모리 컨트롤러는 상기 비휘발성 메모리 장치의 독출 오류에 의한 오류 비트의 개수가 기준 개수보다 큰 경우, 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하고, 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 상기 임시 저장된 제1 비트 페이지 데이터와 함께 상기 페이지 버퍼에 입력하고,
상기 비휘발성 메모리 장치의 상기 독출 오류에 의한 오류 비트의 개수가 상기 기준 개수보다 크지 않은 경우, 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 임시 저장하지 않고, 상기 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터만을 상기 페이지 버퍼에 입력하는, 멀티 레벨 셀 메모리 시스템. - 제1항에 있어서,
상기 제1 비트 페이지 데이터는 LSB 페이지 데이터이고, 상기 제2 비트 페이지 데이터는 MSB 페이지 데이터인, 멀티 레벨 셀 메모리 시스템. - 제1항에 있어서,
상기 비휘발성 메모리 장치는 낸드형 플래시 메모리 장치인, 멀티 레벨 셀 메모리 시스템. - 데이터를 저장하는 비휘발성 메모리 장치; 및
프로그램할 데이터를 상기 비휘발성 메모리 장치에 입력하는 메모리 컨트롤러를 포함하되,
상기 비휘발성 메모리 장치는, 제1 비트 페이지 데이터와 제2 비트 페이지 데이터를 저장하는 메모리 셀 어레이와, 상기 메모리 셀 어레이에 프로그램할 제1 비트 페이지 데이터를 임시 저장하는 제1 래치와, 상기 메모리 셀 어레이에 프로그램할 제2 비트 페이지 데이터를 임시 저장하는 제2 래치를 포함하고,
상기 제1 래치는 제1 비트 페이지 프로그램 동작 및 제2 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 상기 메모리 컨트롤러로부터 덤프받고, 상기 제2 래치는 제2 비트 페이지 프로그램 동작에서 상기 제2 비트 페이지 데이터를 상기 메모리 컨트롤러로부터 덤프받는, 멀티 레벨 셀 메모리 시스템. - 제9항에 있어서,
상기 메모리 컨트롤러는 상기 제1 비트 페이지 프로그램 동작에서 상기 제1 비트 페이지 데이터를 상기 제1 래치에 덤프하되 상기 제1 비트 페이지 데이터를 임시 저장하고, 상기 제2 비트 페이지 프로그램 동작에서 상기 임시 저장된 제1 비트 페이지 데이터를 상기 제1 래치에 덤프하고 상기 제2 비트 페이지 데이터를 상기 제2 래치에 덤프하는, 멀티 레벨 셀 메모리 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130037561A KR102102171B1 (ko) | 2013-04-05 | 2013-04-05 | 멀티 레벨 셀 메모리 시스템 |
US14/210,883 US20140304459A1 (en) | 2013-04-05 | 2014-03-14 | Multi level cell memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130037561A KR102102171B1 (ko) | 2013-04-05 | 2013-04-05 | 멀티 레벨 셀 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140121159A true KR20140121159A (ko) | 2014-10-15 |
KR102102171B1 KR102102171B1 (ko) | 2020-05-29 |
Family
ID=51655325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130037561A KR102102171B1 (ko) | 2013-04-05 | 2013-04-05 | 멀티 레벨 셀 메모리 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140304459A1 (ko) |
KR (1) | KR102102171B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160128163A (ko) * | 2015-04-28 | 2016-11-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 메모리 시스템 및 그것의 동작 방법 |
KR20170135500A (ko) * | 2016-05-31 | 2017-12-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180041473A (ko) * | 2016-10-14 | 2018-04-24 | 한국외국어대학교 연구산학협력단 | 가상 낸드플래시 구현 방법 및 이를 기록한 컴퓨터 프로그램 |
US10528469B2 (en) | 2017-01-12 | 2020-01-07 | SK Hynix Inc. | Memory system for writing data based on types of command and data and operating method of the same |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160007972A (ko) * | 2014-07-10 | 2016-01-21 | 삼성전자주식회사 | 불 휘발성 메모리 장치 및 메모리 컨트롤러, 그리고 그것의 동작 방법 |
US20170075759A1 (en) * | 2015-09-11 | 2017-03-16 | Kabushiki Kaisha Toshiba | Memory system |
KR102608825B1 (ko) * | 2018-04-26 | 2023-12-04 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이의 동작 방법 |
JP7313889B2 (ja) | 2019-04-24 | 2023-07-25 | キオクシア株式会社 | 半導体記憶装置及びメモリシステム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100799688B1 (ko) * | 2007-01-03 | 2008-02-01 | 삼성전자주식회사 | 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법 |
KR20080069353A (ko) * | 2007-01-23 | 2008-07-28 | 삼성전자주식회사 | 페이지 데이터 저장 방법과 저장 장치 |
US20100318839A1 (en) * | 2009-06-16 | 2010-12-16 | Sandisk Corporation | Data recovery in multi-level cell nonvolatile memory |
KR20110094640A (ko) * | 2010-02-17 | 2011-08-24 | 삼성전자주식회사 | 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들 |
KR101586047B1 (ko) * | 2009-03-25 | 2016-01-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
KR100755718B1 (ko) * | 2006-09-04 | 2007-09-05 | 삼성전자주식회사 | 멀티 레벨 셀 플래시 메모리에서 런-타임 배드 블록 관리를위한 장치 및 방법 |
CN103329103B (zh) * | 2010-10-27 | 2017-04-05 | 希捷科技有限公司 | 使用用于基于闪存的数据存储的自适应ecc技术的方法和设备 |
US9036417B2 (en) * | 2012-09-06 | 2015-05-19 | Sandisk Technologies Inc. | On chip dynamic read level scan and error detection for nonvolatile storage |
US9477423B2 (en) * | 2013-11-26 | 2016-10-25 | Seagate Technology Llc | Eliminating or reducing programming errors when programming flash memory cells |
US9417960B2 (en) * | 2013-12-20 | 2016-08-16 | Seagate Technology Llc | Preventing programming errors from occurring when programming flash memory cells |
-
2013
- 2013-04-05 KR KR1020130037561A patent/KR102102171B1/ko active IP Right Grant
-
2014
- 2014-03-14 US US14/210,883 patent/US20140304459A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100799688B1 (ko) * | 2007-01-03 | 2008-02-01 | 삼성전자주식회사 | 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법 |
KR20080069353A (ko) * | 2007-01-23 | 2008-07-28 | 삼성전자주식회사 | 페이지 데이터 저장 방법과 저장 장치 |
KR101586047B1 (ko) * | 2009-03-25 | 2016-01-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
US20100318839A1 (en) * | 2009-06-16 | 2010-12-16 | Sandisk Corporation | Data recovery in multi-level cell nonvolatile memory |
KR20110094640A (ko) * | 2010-02-17 | 2011-08-24 | 삼성전자주식회사 | 페이지 버퍼 관리 방법과 상기 방법을 수행할 수 있는 장치들 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160128163A (ko) * | 2015-04-28 | 2016-11-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 메모리 시스템 및 그것의 동작 방법 |
KR20170135500A (ko) * | 2016-05-31 | 2017-12-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180041473A (ko) * | 2016-10-14 | 2018-04-24 | 한국외국어대학교 연구산학협력단 | 가상 낸드플래시 구현 방법 및 이를 기록한 컴퓨터 프로그램 |
US10528469B2 (en) | 2017-01-12 | 2020-01-07 | SK Hynix Inc. | Memory system for writing data based on types of command and data and operating method of the same |
Also Published As
Publication number | Publication date |
---|---|
US20140304459A1 (en) | 2014-10-09 |
KR102102171B1 (ko) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101893145B1 (ko) | 메모리 시스템들 및 그것들의 블록 복사 방법들 | |
KR102564563B1 (ko) | 메모리 시스템 및 그 동작 방법 | |
KR102102171B1 (ko) | 멀티 레벨 셀 메모리 시스템 | |
US8621266B2 (en) | Nonvolatile memory system and related method of performing erase refresh operation | |
US8539138B2 (en) | Flash memory device and method of programming flash memory device | |
US8164952B2 (en) | Nonvolatile memory device and related method of programming | |
US20160011779A1 (en) | Nonvolatile memory device, memory controller, and operating method of the same | |
US9281068B2 (en) | Nonvolatile memory and related reprogramming method | |
KR101716716B1 (ko) | 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법 | |
US8934304B2 (en) | Operating method of nonvolatile memory device and operating method of memory system including nonvolatile memory device | |
KR102163872B1 (ko) | 멀티 비트 메모리 장치, 그것의 온칩 버퍼 프로그램 방법 및 멀티 비트 메모리 시스템 | |
KR20100107294A (ko) | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법 | |
US11507448B2 (en) | Non-volatile memory device, method of operating the device, and memory system including the device | |
US9524781B2 (en) | Nonvolatile memory device and operating method thereof | |
KR20110099570A (ko) | 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템 | |
US9147475B2 (en) | Data storage device comprising nonvolatile memory chips and control method thereof | |
KR20140101617A (ko) | 메모리 시스템 | |
CN112395210A (zh) | 存储器系统和操作存储器系统的方法 | |
KR20190052441A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
KR102353363B1 (ko) | 메모리 시스템의 동작 방법 | |
KR20160089768A (ko) | 반도체 메모리 장치 및 그것의 동작 방법 | |
KR102106959B1 (ko) | 멀티 레벨 셀 비휘발성 메모리 시스템 | |
US11550492B2 (en) | Semiconductor memory device, controller, and memory system having semiconductor memory device and controller | |
US11093325B2 (en) | Controller, memory system including the same, and method of operating memory system | |
US10937511B2 (en) | Semiconductor memory device, memory system including controller, and method of operating controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |