KR100874441B1 - 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템 - Google Patents
멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템 Download PDFInfo
- Publication number
- KR100874441B1 KR100874441B1 KR1020070002598A KR20070002598A KR100874441B1 KR 100874441 B1 KR100874441 B1 KR 100874441B1 KR 1020070002598 A KR1020070002598 A KR 1020070002598A KR 20070002598 A KR20070002598 A KR 20070002598A KR 100874441 B1 KR100874441 B1 KR 100874441B1
- Authority
- KR
- South Korea
- Prior art keywords
- flash memory
- memory device
- pointer
- bit
- read
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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
-
- 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
Abstract
본 발명의 예시적인 실시예들은 멀티-비트 플래시 메모리 장치와; 그리고 상기 멀티-비트 플래시 메모리 장치를 제어하도록 구성된 플래시 제어기를 포함하며, 상기 플래시 제어기는 읽기/프로그램 동작을 위해 일련의 명령, 포인터, 그리고 어드레스를 상기 멀티-비트 플래시 메모리 장치로 출력하도록 구성되는 메모리 시스템을 제공할 것이다.
Description
도 1은 일반적인 낸드 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 2는 도 1에 도시된 메모리 블록의 일부 및 대응하는 데이터 레지스터 & 감지 증폭 회로를 보여주는 블록도이다.
도 3a는 셀 당 2-비트 데이터를 저장하는 플래시 메모리 장치의 블록 및 페이지 어드레스들을 보여주는 도면이다.
도 3b는 셀 당 3-비트 데이터를 저장하는 플래시 메모리 장치의 블록 및 페이지 어드레스들을 보여주는 도면이다.
도 4는 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 5는 도 4에 도시된 메모리 제어기와 플래시 메모리 장치 사이의 인터페이스 방식을 설명하기 위한 도면이다.
도 6은 도 4에 도시된 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
* 도면의 주요 부분에 대한 부호 설명 *
1000 : 플래시 메모리 장치 1100 : 메모리 셀 어레이
1200 : 행 디코더 회로 1300 : 열 디코더 회로
1400 : 데이터 레지스터 & 감지 증폭 회로
1500 : 열 게이트 회로 1600 : 입출력 인터페이스
1700 : 커맨드 레지스터 & 제어 로직
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 멀티-비트 데이터를 저장하는 플래시 메모리 장치에 관한 것이다.
플래시 메모리 장치는 복수의 메모리 영역들이 한번의 프로그램 동작으로 소거 또는 프로그램되는 일종의 EEPROM이다. 일반적인 EEPROM은 단지 하나의 메모리 영역이 한 번에 소거 또는 프로그램 가능하게 하며, 이는 플래시 메모리 장치를 사용하는 시스템들이 동시에 다른 메모리 영역들에 대해 읽고 쓸 때 보다 빠르고 효과적인 속도로 플래시 메모리 장치가 동작할 수 있음을 의미한다. 플래시 메모리 및 EEPROM의 모든 형태는 데이터를 저장하는 데 사용되는 전하 저장 수단을 둘러싸고 있는 절연막의 마멸로 인해서 특정 수의 소거 동작들 후에 마멸된다.
플래시 메모리 장치는 실리콘 칩에 저장된 정보를 유지하는 데 전원을 필요로 하지 않는 방법으로 실리콘 칩 상에 정보를 저장한다. 이는 만약 칩에 공급되는 전원이 차단되면 전원의 소모없이 정보가 유지됨을 의미한다. 추가로, 플래시 메모리 장치는 물리적인 충격 저항성 및 빠른 읽기 접근 시간을 제공한다. 이러한 특징들때문에, 플래시 메모리 장치는 배터리에 의해서 전원을 공급받는 장치들의 저장 장치로서 일반적으로 사용되고 있다. 플래시 메모리 장치는 각 저장 소자에 사용되는 로직 게이트의 형태에 따라 2가지 종류 즉, NOR 플래시 메모리 장치와 NAND 플래시 메모리 장치로 이루어진다.
플래시 메모리 장치는 셀이라 불리는 트랜지스터들의 어레이에 정보를 저장하며, 각 셀은 1-비트 정보를 저장한다. 멀티-레벨 셀 장치라 불리는 보다 새로운 플래시 메모리 장치들은 셀의 플로팅 게이트 상에 놓인 전하량을 가변시킴으로써 셀 당 1 비트보다 많이 저장할 수 있다.
도 1은 일반적인 플래시 메모리 장치를 개략적으로 보여주는 블록도이다.
도 1을 참조하면, 일반적인 플래시 메모리 장치는 메모리 셀 어레이(10), 행 선택 회로(20), 그리고 데이터 레지스터 & 감지 증폭 회로(30)를 포함할 것이다. 메모리 셀 어레이(10)는 복수의 메모리 블록들(MB0∼MB(m-1))을 포함한다. 메모리 블록들(MB0∼MB(m-1)) 각각은 행들(또는 워드 라인들)과 열들(또는 비트 라인들)로 배열된 메모리 셀들로 구성될 것이다. 각 메모리 셀은 멀티-비트 데이터, 예를 들면, 2N-비트 데이터(N은 1 또는 그 보다 큰 정수)를 저장할 것이다. 행 선택 회로(20)는 행 어드레스에 응답하여 메모리 블록들(MB0∼MB(m-1) 중 하나를 그리고 선택된 메모리 블록의 워드 라인들 중 하나를 선택할 것이다. 데이터 레지스터 & 감지 증폭 회로(30)는 비트 라인들을 통해 선택된 메모리 블록에 연결되며, 프로그램 동작시 기입 드라이버로서 그리고 읽기 동작시 감지 증폭기로서 동작할 것이다.
도 2는 도 1에 도시된 메모리 블록의 일부 및 대응하는 데이터 레지스터 & 감지 증폭 회로를 보여주는 블록도이다.
도 2를 참조하면, 메모리 블록(MB0)은 복수의 비트 라인들(BLe0, BLo0, BLe1, BLo1, ...)에 각각 연결된 스트링들(11)로 구성된다. 각 스트링(11)은 스트링 선택 트랜지스터(SST), 접지 선택 트랜지스터(GST), 그리고 선택 트랜지스터들(SST, GST) 사이에 직렬 연결된 메모리 셀들(MC31∼MC0)로 구성된다. 스트링들(11)에 속하는 스트링 선택 트랜지스터들(SST)은 행 선택 회로(20)에 의해서 제어되는 스트링 선택 라인(SSL)에 공통으로 연결되며, 스트링들(11)에 속하는 접지 선택 트랜지스터들(GST)은 행 선택 회로(20)에 의해서 제어되는 접지 선택 라인(GSL)에 공통으로 연결된다. 각 스트링(11)에 속하는 메모리 셀들(MC31∼MC0)은 행 선택 회로(20)에 의해서 제어되는 대응하는 워드 라인들(WL31∼WL0)에 각각 연결되어 있다. 설명의 편의상, 도 2에는 한 쌍의 비트 라인들(BLe0, BLo0)이 도시되어 있다. 나머지 메모리 블록들(MB0∼MB(m-1))은 도 2에 도시된 것과 실질적으로 동일하게 구성되며, 그것에 대한 설명은 그러므로 생략될 것이다.
데이터 레지스터 및 감지 증폭 회로(30)는 한 쌍의 비트 라인들(BLe0, BLo0)에 연결된 비트 라인 선택기(31)와 레지스터(32)로 구성된다. 비트 라인 선택기(31)는 한 쌍의 비트 라인들(BLe0, BLo0) 중 하나를 선택하고, 선택된 비트 라인을 레지스터(32)와 전기적으로 연결한다. 레지스터(32)는 프로그램 동작시 프로그 램 데이터에 따라 선택된 비트 라인을 프로그램 전압(예를 들면, 접지 전압) 또는 프로그램 금지 전압(예를 들면, 전원 전압)으로 구동한다. 레지스터(32)는 읽기 동작시 선택된 비트 라인을 통해 선택된 메모리 셀로부터 데이터를 감지한다. 비록 도면에는 도시되지 않았지만, 나머지 비트 라인 쌍들은 도 2에 도시된 것과 동일한 방식으로 비트 라인 선택기들을 통해 대응하는 레지스터들에 각각 연결될 것이다.
도 2에서 알 수 있듯이, 하나의 워드 라인이 2개의 페이지들(짝수 페이지 및 홀수 페이지)로 구성되고, 각 메모리 셀이 2-비트 데이터를 저장하며, 하나의 메모리 블록이 32개의 워드 라인들로 구성된다고 가정할 때, 하나의 메모리 블록은 128개의 페이지들(32WL*2P*2B)로 구성될 것이다. 여기서, "WL"은 워드 라인을 나타내고, "P"는 페이지를 나타내며, "B"는 비트를 나타낸다.
행 어드레스는 메모리 블록들을 선택하기 위한 블록 어드레스 및 선택된 메모리 블록의 페이지들을 선택하기 위한 페이지 어드레스를 포함할 것이다. 128개의 페이지들을 선택하기 위해서 7-비트 어드레스(이하, "제 1 행 어드레스"라 칭함)가 사용되며, 복수의, 예를 들면, 1024개의 메모리 블록들을 선택하기 위해서 10-비트 어드레스(이하, "제 2 행 어드레스"라 칭함)가 사용될 것이다. 하나의 메모리 블록에 속한 페이지들이 모두 선택되고 다음의 메모리 블록이 선택되도록 어드레스 코딩이 이루어져야 한다. 예를 들면, 도 3a에 도시된 바와 같이, 각 메모리 블록에 속하는 128개의 페이지들을 선택하기 위해서 7-비트 어드레스(A12-A18)가 사용되며, 메모리 블록들을 선택하기 위해서 복수의 어드레스 비트들(A19-Ai)이 사용된다. 메모리 블록들을 선택하기 위한 어드레스 비트들의 수는 메모리 블록들의 수에 따라 결정될 것이다. 7-비트 어드레스가 "0000000"일 때, 선택된 메모리 블록의 첫 번째 페이지(0P)가 선택될 것이다. 7-비트 어드레스가 "1111111"일 때, 선택된 메모리 블록의 마지막 페이지(127P)가 선택될 것이다. 이는 외부에서 제공되는 어드레스를 플래시 메모리 장치의 물리적인 어드레스와 맵핑하는 것이 용이함을 의미한다. 다시 말해서, 외부에서 제공되는 어드레스를 행 어드레스를 구성하는 블록 어드레스와 페이지 어드레스로 변환하는 것이 용이하다.
이에 반해서, 셀 당 2-비트(2N-비트) 데이터(N은 1 또는 그 보다 큰 정수)를 저장하는 대신에 셀 당 3-비트(2N+1) 데이터를 저장할 때 다음과 같은 문제점이 생길 수 있다.
셀 당 3-비트 데이터를 저장하는 경우, 32개의 워드 라인들 및 홀수번째 및 짝수번째 비트 라인들이 제공되기 때문에, 하나의 메모리 블록은 192개의 페이지들(32WL*2P*3B)로 구성될 것이다. 여기서, "WL"은 워드 라인을 나타내고, "P"는 페이지를 나타내며, "B"는 비트를 나타낸다.
셀 당 3-비트 데이터를 저장하는 경우, 도 3b에 도시된 바와 같이, 하나의 메모리 블록이 192개의 페이지들로 구성되기 때문에, 페이지 어드레스와 블록 어드레스를 구분하는 것이 불가능하다. 192개의 페이지들을 선택하기 위해서는 8-비트 어드레스가 필요하다. 하지만, 8-비트 어드레스에 의해서 실질적으로 256개의 페이지들이 선택될 수 있다. 그러한 까닭에, 8-비트 어드레스에 의해서 선택되는 반면에 실질적으로 각 메모리 블록에 할당될 수 없는 페이지들이 존재하게 된다. 예를 들면, 셀 당 2-비트 데이터를 저장하는 플래시 메모리 장치의 경우, 도 3a에 도시된 바와 같이, 첫 번째 메모리 블록(BLK0)의 첫 번째/마지막 페이지를 선택하기 위한 페이지 어드레스가 두 번째 또는 다른 메모리 블록의 첫 번째/마지막 페이지를 선택하기 위한 페이지 어드레스와 동일하다. 이에 반해서, 셀 당 3-비트 데이터를 저장하는 플래시 메모리 장치의 경우, 도 3b에 도시된 바와 같이, 첫 번째 메모리 블록(BLK0)의 첫 번째/마지막 페이지를 선택하기 위한 페이지 어드레스는 두 번째 또는 다른 메모리 블록의 첫 번째/마지막 페이지를 선택하기 위한 페이지 어드레스와 다르다. 이는 외부로부터 제공되는 어드레스를 플래시 메모리 장치의 페이지 어드레스와 블록 어드레스로 변환하는 것이 불가능함을 의미한다. 다시 말해서, 셀 당 3-비트 데이터를 저장하는 경우, 메모리 블록들에 맵핑되는 어드레스와 페이지들에 맵핑되는 어드레스를 구별하는 것이 불가능하다. 그러한 까닭에, 플래시 메모리 장치를 제어하기 위한 메모리 제어기는 외부로부터 제공되는 어드레스를 플래시 메모리 장치의 어드레스로 변환하기 위한 도 3b에 도시된 바와 같은 어드레스 변환 테이블을 필요로 할 것이다.
본 발명의 목적은 어드레스 변환 테이블을 필요로 하지 않는 멀티-비트 플래시 메모리 장치 및 그것을 포함한 메모리 시스템을 제공하는 것이다.
본 발명의 다른 목적은 포인터를 이용하여 액세스될 페이지를 선택할 수 있는 3-비트 플래시 메모리 장치 및 그것을 포함한 메모리 시스템을 제공하는 것이다.
본 발명의 예시적인 실시예들은 멀티-비트 플래시 메모리 장치와; 그리고 상기 멀티-비트 플래시 메모리 장치를 제어하도록 구성된 플래시 제어기를 포함하며, 상기 플래시 제어기는 읽기/프로그램 동작을 위해 일련의 명령, 포인터, 그리고 어드레스를 상기 멀티-비트 플래시 메모리 장치로 출력하도록 구성되는 메모리 시스템을 제공할 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 멀티-비트 플래시 메모리 장치의 읽기/프로그램 시퀀스들 중 어느 하나를 선택하는 데 사용될 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 멀티-비트 플래시 메모리 장치의 각 메모리 셀에 저장되는 복수의 데이터 비트들 중 하나에 대한 읽기/프로그램 동작을 선택하는 데 사용될 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 상기 어드레스에 응답하여 워드 라인들 중 하나를 선택하도록 그리고 상기 포인터에 응답하여 상기 선택된 워드 라인에 속하는 페이지들 중 하나를 선택하도록 구성될 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 상기 포인터에 응답하여 상기 멀티-비트 플래시 메모리 장치에 포함된 행들의 영역들 중 하나를 선택할 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 명령의 전송 이후에 그리고 상기 어드레스의 전송 이전에 전송될 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 명령의 전송 이전에 전송되고, 상기 명령은 상기 어드레스의 전송 이전에 전송될 것이다.
예시적인 실시예에 있어서, 상기 명령과 상기 포인터는 하나의 명령 형태로 전송될 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 (2N+1)-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장할 것이다. 또는, 상기 멀티-비트 플래시 메모리 장치는 2N-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장할 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 낸드 플래시 메모리 장치, 노어 플래시 메모리 장치, PRAM, FRAM, 그리고 MRAM 중 어느 하나일 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치와 상기 플래시 제어기는 플래시 메모리 카드 및 스마트 카드 중 하나를 구성할 것이다.
예시적인 실시예에 있어서, 상기 플래시 제어기는 컴퓨팅 시스템의 메인 보드에 직접 연결되도록 구성될 것이다.
예시적인 실시예에 있어서, 상기 플래시 제어기는 ATA, SATA, USB, SCSI, ESDI, ISO, PCI, 또는 IDE 인터페이스와 같은 표준 인터페이스에 의해서 상기 멀티-비트 플래시 메모리 장치와 연결될 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 행들과 열 들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와; 상기 메모리 셀 어레이의 읽기 및 프로그램 동작들을 수행하도록 구성된 읽기/프로그램 회로와; 그리고 상기 포인터에 응답하여 상기 읽기/프로그램 회로를 제어하도록 구성된 제어 블록을 포함할 것이다.
예시적인 실시예에 있어서, 상기 제어 블록은 상기 포인터에 응답하여 선택된 행에 속하는 페이지들 중 하나를 선택하도록 구성되며, 상기 선택된 페이지에 대한 읽기/프로그램 동작을 수행하도록 상기 읽기/프로그램 회로를 제어할 것이다.
예시적인 실시예에 있어서, 상기 제어 블록은 상기 포인터에 응답하여 선택된 행에 속하는 페이지들 중 하나를 선택하도록 구성되며, 상기 선택된 페이지에 대응하는 읽기/프로그램 시퀀스에 따라 읽기/프로그램 동작을 수행하도록 상기 읽기/프로그램 회로를 제어할 것이다.
예시적인 실시예에 있어서, 상기 행들은 복수의 영역들로 구분되며, 상기 제어 블록은 상기 포인터에 응답하여 상기 행들의 영역들 중 하나를 선택하도록 구성될 것이다.
예시적인 실시예에 있어서, 상기 메모리 셀들은 스트링 구조를 갖도록 구성될 것이다.
본 발명의 다른 예시적인 실시예들은 행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와; 외부로부터 제공되는 어드레스에 응답하여 행을 선택하고, 상기 선택된 행의 메모리 셀들에 대한 읽기/프로그램 동작을 수행하는 읽기/프로그램 회로와; 그리고 외부로부터 제공되는 포인터 및 명령에 응답하여 상기 읽기/프로그램 회로를 제어하는 제어 블록을 포함하며, 상기 제어 블록은 상기 포인터에 응답하여 상기 선택된 행에 속하는 페이지들 중 하나를 선택하도록 구성되며, 상기 선택된 페이지에 대응하는 읽기/프로그램 시퀀스에 따라 읽기/프로그램 동작을 수행하도록 상기 읽기/프로그램 회로를 제어하는 멀티-비트 플래시 메모리 장치를 제공할 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 명령의 전송 이후에 그리고 상기 어드레스의 전송 이전에 전송될 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 명령의 전송 이전에 전송되고, 상기 명령은 상기 어드레스의 전송 이전에 전송될 것이다.
예시적인 실시예에 있어서, 상기 명령과 상기 포인터는 하나의 명령 형태로 전송될 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 (2N+1)-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장할 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 2N-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장할 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 낸드 플래시 메모리 장치, 노어 플래시 메모리 장치, PRAM, FRAM, 그리고 MRAM 중 어느 하나일 것이다.
본 발명의 또 다른 예시적인 실시예들은 멀티-비트 플래시 메모리 장치와 상 기 멀티-비트 플래시 메모리 장치를 포함하는 메모리 시스템의 동작 방법을 제공하며, 이 방법은 읽기/프로그램 동작을 위한 일련의 명령, 포인터, 그리고 어드레스를 발생하는 단계와; 그리고 상기 일련의 명령, 포인터, 그리고 어드레스에 응답하여 상기 읽기/프로그램 동작을 수행하는 단계를 포함할 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 멀티-비트 플래시 메모리 장치의 읽기/프로그램 시퀀스들 중 어느 하나를 선택하는 데 사용될 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 멀티-비트 플래시 메모리 장치의 각 메모리 셀에 저장되는 복수의 데이터 비트들 중 하나에 대한 읽기/프로그램 동작을 선택하는 데 사용될 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 상기 어드레스에 응답하여 워드 라인들 중 하나를 선택하도록 그리고 상기 포인터에 응답하여 상기 선택된 워드 라인에 속하는 페이지들 중 하나를 선택하도록 구성될 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 상기 포인터에 응답하여 상기 멀티-비트 플래시 메모리 장치에 포함된 행들의 영역들 중 하나를 선택할 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 명령의 전송 이후에 그리고 상기 어드레스의 전송 이전에 전송될 것이다.
예시적인 실시예에 있어서, 상기 포인터는 상기 명령의 전송 이전에 전송되고, 상기 명령은 상기 어드레스의 전송 이전에 전송될 것이다.
예시적인 실시예에 있어서, 상기 명령과 상기 포인터는 하나의 명령 형태로 전송될 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 (2N+1)-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장할 것이다.
예시적인 실시예에 있어서, 상기 멀티-비트 플래시 메모리 장치는 2N-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장할 것이다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 불 휘발성 메모리 장치로서 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 4는 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 4를 참조하면, 본 발명에 따른 메모리 시스템은 멀티-비트 플래시 메모리 장치(1000)와 플래시 제어기(또는, 메모리 제어기라 불림)(2000)를 포함할 것이다. 본 발명에 따른 메모리 시스템은, 예를 들면, 메모리 카드, HDD의 버퍼 메모리, 컴퓨팅 시스템의 대용량 메모리, 등에 적용될 것이다. 하지만, 본 발명에 따른 메모리 시스템이 여기에 개시된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 본 발명에 따른 멀티-비트 플래시 메모리 장치(1000)는, 바람직하게는, (2N+1)-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장하는 플래시 메모리 장치일 것이다. 하지만, 본 발명에 따른 멀티-비트 플래시 메모리 장치(1000)가 2N-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장하는 플래시 메모리 장치일수도 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명에 따른 플래시 제어기(2000)는 멀티-비트 플래시 메모리 장치(1000)에 대한 액세스를 제어하도록 구성될 것이다. 특히, 플래시 제어기(2000)는 행(또는 워드 라인)을 선택하기 위한 어드레스의 전송에 앞서 포인터를 멀티-비트 플래시 메모리 장치(1000)로 제공할 것이다. 여기서, 포인터는 각 메모리 셀에 저장된 복수의 데이터 비트들 중 어느 데이터 비트에 대한 액세스가 수행될 지의 여부를 나타낼 것이다. 다시 말해서, 포인터는 임의의 행에 속하는 페이지들 중 어느 페이지가 선택되는 지의 여부를 나타내는 어드레스 정보로서 사용될 것이다.
예를 들면, 각 메모리 셀이 3-비트 데이터를 저장한다고 가정하자. 설명의 편의상, 최하위 비트는 제 1 데이터 비트라 칭하고, 중간 비트는 제 2 데이터 비트라 칭하며, 최상위 비트는 제 3 데이터 비트라 칭한다. 포인터가 "00h"의 값을 가 질 때, 멀티-비트 플래시 메모리 장치(1000)는 제 1 데이터 비트에 대한 읽기/프로그램 동작을 수행할 것이다. 포인터가 "01h"의 값을 가질 때, 멀티-비트 플래시 메모리 장치(1000)는 제 2 데이터 비트에 대한 읽기/프로그램 동작을 수행할 것이다. 포인터가 "10h"의 값을 가질 때, 멀티-비트 플래시 메모리 장치(1000)는 제 3 데이터 비트에 대한 읽기/프로그램 동작을 수행할 것이다. 어드레스 대신 포인터를 이용하여 데이터 비트를 선택함으로써 앞서 설명된 문제 즉, (2N+1)-비트 데이터를 저장하는 멀티-비트 플래시 메모리 장치의 어드레스 코딩 문제를 해결하는 것이 가능하다. 즉, 페이지 어드레스를 사용하지 않고 포인터를 이용하여 각 행의 페이지를 지정함으로써 앞서 설명된 문제는 근본적으로 해결될 수 있다.
포인터는 행을 선택하기 위한 어드레스에 앞서 플래시 메모리 장치(1000)에 제공될 수 있다. 예를 들면, 플래시 제어기(2000)는 프로그램 동작을 위해서 제 1 명령(CMD1), 어드레스(ADD), 데이터, 그리고 제 2 명령(CMD2)을 정해진 타이밍에 따라 멀티-비트 플래시 메모리 장치(1000)로 전송할 것이다. 특히, 도 5a에 도시된 바와 같이, 제 1 명령(CMD1)에 이어서 포인터가 멀티-비트 플래시 메모리 장치(1000)로 전송될 수 있다. 또는, 도 5b에 도시된 바와 같이, 제 1 명령(CMD1)에 앞서 포인터가 멀티-비트 플래시 메모리 장치(1000)로 전송될 수 있다. 플래시 제어기(2000)는 읽기 동작을 위해서 제 3 명령(CMD3), 어드레스(ADD), 그리고 제 4 명령(CMD4)을 정해진 타이밍에 따라 멀티-비트 플래시 메모리 장치(1000)로 전송할 것이다. 특히, 도 5c에 도시된 바와 같이, 제 3 명령(CMD3)에 이어서 포인터가 멀 티-비트 플래시 메모리 장치(1000)로 전송될 수 있다. 또는, 도 5d에 도시된 바와 같이, 제 3 명령(CMD3)에 앞서 포인터가 멀티-비트 플래시 메모리 장치(1000)로 전송될 수 있다. 포인터를 포함한 새로운 명령가 정의될 수도 있다. 예를 들면, 도 5e에 도시된 바와 같이, 플래시 제어기(2000)는 프로그램 동작을 위해 어드레스의 전송에 앞서 명령(CMD1')(CMD1과 포인터를 포함함)을 멀티-비트 플래시 메모리 장치(1000)로 전송할 것이다. 도 5f에 도시된 바와 같이, 플래시 제어기(2000)는 읽기 동작을 위해 어드레스의 전송에 앞서 명령(CMD3')(CMD3과 포인터를 포함함)을 멀티-비트 플래시 메모리 장치(1000)로 전송할 것이다.
본 발명에 있어서, 셀 당 3-비트 데이터를 저장하는 경우, 32개의 워드 라인들 및 홀수번째 및 짝수번째 비트 라인들이 제공될 것이다. 이러한 경우, 하나의 메모리 블록은 192개의 페이지들(32WL*2P*3B)로 구성될 것이다. 여기서, "WL"은 워드 라인을 나타내고, "P"는 페이지를 나타내며, "B"는 비트를 나타낸다. 하나의 메모리 블록이 192개의 페이지들로 구성되더라도, 2N-비트 데이터를 저장하는 멀티-비트 플래시 메모리 장치와 마찬가지로, 페이지 어드레스(또는, 워드 라인 어드레스)와 블록 어드레스를 구분하는 것이 가능하다. 여기서, 페이지 어드레스는 32개의 워드 라인들 중 하나를 선택하기 위한 어드레스와 홀수번째 및 짝수번째 비트 라인들 중 하나를 선택하기 위한 어드레스를 포함할 것이다. 선택된 워드 라인의 페이지들(예를 들면, (2N+1)개의 페이지들) 중 하나는 포인터에 의해서 선택될 것이다. 셀 당 (2N+1)-비트 데이터를 저장하는 멀티-비트 플래시 메모리 장치의 경우, 따라 서, 메모리 블록들에 맵핑되는 어드레스와 페이지들에 맵핑되는 어드레스를 구별하는 것이 가능하다. 그러한 까닭에, 플래시 메모리 장치를 제어하기 위한 메모리 제어기는 외부로부터 제공되는 어드레스를 플래시 메모리 장치의 어드레스로 변환하기 위한 도 3b에 도시된 바와 같은 어드레스 변환 테이블을 필요로 하지 않는다.
포인터를 전송하는 실시예들이 낸드 플래시 메모리 장치의 인터페이스 프로토콜에 따라 설명되었지만, 포인터를 전송하는 방식이 노어 플래시 메모리 장치, PRAM, MRAM, FRAM, 등과 같은 불 휘발성 메모리 장치들의 인터페이스 프로토콜에도 적용될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 6은 도 4에 도시된 멀티-비트 플래시 메모리 장치를 개략적으로 보여주는 블록도이다. 본 발명의 예시적인 실시예들에 따른 멀티-비트 플래시 메모리 장치(1000)는 낸드 플래시 메모리 장치를 포함할 것이다. 하지만, 본 발명이 멀티-비트 노어 플래시 메모리 장치, 멀티-비트 PRAM, 멀티-비트 MRAM, 멀티-비트 FRAM, 등에도 적용될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 6을 참조하면, 본 발명에 따른 멀티-비트 플래시 메모리 장치(1000)는 메모리 셀 어레이(1100), 행 디코더 회로(1200), 열 디코더 회로(1300), 데이터 레지스터 & 감지 증폭 회로(1400), 열 게이트 회로(1500), 입출력 인터페이스(1600), 그리고 커맨드 레지스터 & 제어 로직(1700)을 포함할 것이다.
메모리 셀 어레이(1100)는 복수의 메모리 블록들로 구성되며, 각 메모리 블록은 워드 라인들 및 비트 라인들로 배열된 메모리 셀들을 포함할 것이다. 메모리 블록의 구조는 도 2에 도시된 것과 실질적으로 동일하며, 그것에 대한 설명은 그러 므로 생략될 것이다. 행 디코더 회로(1200)는 입출력 인터페이스(1600)를 통해 제공되는 행 어드레스(RA)에 응답하여 메모리 셀 어레이(1100)의 페이지들을 선택한다. 열 디코더 회로(1300)는 입출력 인터페이스(1600)를 통해 제공되는 열 어드레스(CA)를 디코딩하고, 열 선택 정보로서 디코딩 결과를 열 게이트 회로(1500)로 출력한다. 데이터 레지스터 & 감지 증폭 회로(1400)는 읽기 동작시 감지 증폭기로서 그리고 프로그램 동작시 기입 드라이버로서 동작하며, 도 2에 도시된 것과 실질적으로 동일하게 구성될 것이다.
본 발명에 따른 커맨드 레지스터 & 제어 로직(1700)은 제어 신호들에 응답하여 입출력 인터페이스(1600)를 통해 명령을 입력받고, 입력된 명령에 따라 플래시 메모리 장치(1000)의 구성 요소들을 제어할 것이다. 특히, 본 발명에 따른 커맨드 레지스터 & 제어 로직(1700)은 입출력 인터페이스(1600)를 통해 포인터를 입력받는다. 포인터는, 앞서 언급된 바와 같이, 메모리 셀의 데이터 비트들 중 어느 하나에 대한 읽기/프로그램 동작을 선택하기 위해서 사용될 것이다. 잘 알려진 바와 같이, 메모리 셀의 데이터 비트들 각각에 대한 읽기/프로그램 시퀀스(또는 알고리즘)가 상이하다. 예를 들면, 메모리 셀의 데이터 비트들 중 어느 것에 대한 액세스가 요청되었는 지의 여부에 따라, 읽기 및 프로그램 전압들 그리고 읽기/프로그램 동작들의 순서가 다르게 설정될 것이다. 메모리 셀의 데이터 비트들 각각에 대한 읽기/프로그램 시퀀스(또는 알고리즘)는 입력된 포인터에 의해서 선택될 것이다. 이후, 데이터 비트들 중 어느 하나에 대한 요청된 프로그램/읽기 동작은 포인터에 의해서 선택되는 읽기/프로그램 시퀀스(또는 알고리즘)에 따라 커맨드 레지스터 & 제어 로 직(1700)의 제어하에 수행될 것이다.
이 실시예에 있어서, 행 디코더 회로(1200), 열 디코더 회로(1300), 데이터 레지스터 & 감지 증폭 회로(1400), 그리고 열 게이트 회로(1500)는 선택된 메모리 셀들에 대한 읽기/프로그램 동작을 수행하는 읽기/프로그램 회로를 구성하며, 커맨드 레지스터 & 제어 로직(1700)은 읽기/프로그램 회로를 제어하는 제어 블록을 구성할 것이다.
본 발명의 예시적인 실시예들에 있어서, 포인터는 다양하게 사용될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 행들을 복수의 영역들(planes)로 구분하여 선택하고자 할 때, 그러한 영역들을 선택하는 데 어드레스 대신에 포인터가 사용될 수도 있다. 어드레스 비트 수는 메모리 셀에 저장되는 데이터 비트들의 수가 증가함에 따라 증가될 것이다. 이는 입출력 핀들의 수의 증가를 초래할 수 있다. 하지만, 본 발명에 따른 포인터를 사용함으로써 입출력 핀들의 수가 증가되는 것을 방지할 수 있다.
본 발명의 예시적인 실시예들에 있어서, 멀티-비트 플래시 메모리 장치와 플래시 제어기는 플래시 메모리 카드 및 스마트 카드 중 하나를 구성할 것이다. 또는, 플래시 제어기는 컴퓨팅 시스템과 같은 PC의 메인 보드에 직접 설치되도록 구성될 수도 있다. 이러한 경우, 플래시 제어기는 ATA, SATA, USB, SCSI, ESDI, ISO, PCI, 또는 IDE 인터페이스와 같은 표준 인터페이스 (standardized interface)에 의해서 멀티-비트 플래시 메모리 장치와 연결될 수 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하 게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
상술한 바와 같이, 포인터를 이용하여 메모리 셀의 데이터 비트들 중 하나를 선택함으로써 (2N+1)-비트 플래시 메모리 장치의 어드레스 코딩 문제를 근본적으로 해결하는 것이 가능하다.
Claims (36)
- 멀티-비트 플래시 메모리 장치와; 그리고상기 멀티-비트 플래시 메모리 장치를 제어하도록 구성된 플래시 제어기를 포함하며,상기 플래시 제어기는 읽기/프로그램 동작을 위해 일련의 명령, 포인터, 그리고 어드레스를 상기 멀티-비트 플래시 메모리 장치로 출력하도록 구성되는 메모리 시스템.
- 제 1 항에 있어서,상기 포인터는 상기 멀티-비트 플래시 메모리 장치의 읽기/프로그램 시퀀스들 중 어느 하나를 선택하는 데 사용되는 메모리 시스템.
- 제 1 항에 있어서,상기 포인터는 상기 멀티-비트 플래시 메모리 장치의 각 메모리 셀에 저장되는 복수의 데이터 비트들 중 하나에 대한 읽기/프로그램 동작을 선택하는 데 사용되는 메모리 시스템.
- 제 1 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 상기 어드레스에 응답하여 워드 라인 들 중 하나를 선택하도록 그리고 상기 포인터에 응답하여 상기 선택된 워드 라인에 속하는 페이지들 중 하나를 선택하도록 구성되는 메모리 시스템.
- 제 1 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 상기 포인터에 응답하여 상기 멀티-비트 플래시 메모리 장치에 포함된 행들의 영역들 중 하나를 선택하는 메모리 시스템.
- 제 1 항에 있어서,상기 포인터는 상기 명령의 전송 이후에 그리고 상기 어드레스의 전송 이전에 전송되는 메모리 시스템.
- 제 1 항에 있어서,상기 포인터는 상기 명령의 전송 이전에 전송되고, 상기 명령은 상기 어드레스의 전송 이전에 전송되는 메모리 시스템.
- 제 1 항에 있어서,상기 명령과 상기 포인터는 하나의 명령 형태로 전송되는 메모리 시스템.
- 제 1 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 (2N+1)-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장하는 메모리 시스템.
- 제 1 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 2N-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장하는 메모리 시스템.
- 청구항 11은(는) 설정등록료 납부시 포기되었습니다.제 1 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 낸드 플래시 메모리 장치, 노어 플래시 메모리 장치, PRAM, FRAM, 그리고 MRAM 중 어느 하나인 메모리 시스템.
- 청구항 12은(는) 설정등록료 납부시 포기되었습니다.제 1 항에 있어서,상기 멀티-비트 플래시 메모리 장치와 상기 플래시 제어기는 플래시 메모리 카드 및 스마트 카드 중 하나를 구성하는 메모리 시스템.
- 청구항 13은(는) 설정등록료 납부시 포기되었습니다.제 1 항에 있어서,상기 플래시 제어기는 컴퓨팅 시스템의 메인 보드에 직접 연결되도록 구성되는 메모리 시스템.
- 청구항 14은(는) 설정등록료 납부시 포기되었습니다.상기 플래시 제어기는 ATA, SATA, USB, SCSI, ESDI, ISO, PCI, 또는 IDE 인터페이스와 같은 표준 인터페이스에 의해서 상기 멀티-비트 플래시 메모리 장치와 연결되는 메모리 시스템.
- 청구항 15은(는) 설정등록료 납부시 포기되었습니다.제 1 항에 있어서,상기 멀티-비트 플래시 메모리 장치는행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와;상기 메모리 셀 어레이의 읽기 및 프로그램 동작들을 수행하도록 구성된 읽기/프로그램 회로와; 그리고상기 포인터에 응답하여 상기 읽기/프로그램 회로를 제어하도록 구성된 제어 블록을 포함하는 메모리 시스템.
- 청구항 16은(는) 설정등록료 납부시 포기되었습니다.제 15 항에 있어서,상기 제어 블록은 상기 포인터에 응답하여 선택된 행에 속하는 페이지들 중 하나를 선택하도록 구성되며, 상기 선택된 페이지에 대한 읽기/프로그램 동작을 수행하도록 상기 읽기/프로그램 회로를 제어하는 메모리 시스템.
- 청구항 17은(는) 설정등록료 납부시 포기되었습니다.제 15 항에 있어서,상기 제어 블록은 상기 포인터에 응답하여 선택된 행에 속하는 페이지들 중 하나를 선택하도록 구성되며, 상기 선택된 페이지에 대응하는 읽기/프로그램 시퀀스에 따라 읽기/프로그램 동작을 수행하도록 상기 읽기/프로그램 회로를 제어하는 메모리 시스템.
- 청구항 18은(는) 설정등록료 납부시 포기되었습니다.제 15 항에 있어서,상기 행들은 복수의 영역들로 구분되며,상기 제어 블록은 상기 포인터에 응답하여 상기 행들의 영역들 중 하나를 선택하도록 구성되는 메모리 시스템.
- 청구항 19은(는) 설정등록료 납부시 포기되었습니다.제 15 항에 있어서,상기 메모리 셀들은 스트링 구조를 갖도록 구성되는 메모리 시스템.
- 행들과 열들로 배열된 메모리 셀들을 포함하는 메모리 셀 어레이와;외부로부터 제공되는 어드레스에 응답하여 행을 선택하고, 상기 선택된 행의 메모리 셀들에 대한 읽기/프로그램 동작을 수행하는 읽기/프로그램 회로와; 그리고외부로부터 제공되는 포인터 및 명령에 응답하여 상기 읽기/프로그램 회로를 제어하는 제어 블록을 포함하며,상기 제어 블록은 상기 포인터에 응답하여 상기 선택된 행에 속하는 페이지들 중 하나를 선택하도록 구성되며, 상기 선택된 페이지에 대응하는 읽기/프로그램 시퀀스에 따라 읽기/프로그램 동작을 수행하도록 상기 읽기/프로그램 회로를 제어 하는 멀티-비트 플래시 메모리 장치.
- 청구항 21은(는) 설정등록료 납부시 포기되었습니다.제 20 항에 있어서,상기 포인터는 상기 명령의 전송 이후에 그리고 상기 어드레스의 전송 이전에 전송되는 멀티-비트 플래시 메모리 장치.
- 청구항 22은(는) 설정등록료 납부시 포기되었습니다.제 20 항에 있어서,상기 포인터는 상기 명령의 전송 이전에 전송되고, 상기 명령은 상기 어드레스의 전송 이전에 전송되는 멀티-비트 플래시 메모리 장치.
- 청구항 23은(는) 설정등록료 납부시 포기되었습니다.제 20 항에 있어서,상기 명령과 상기 포인터는 하나의 명령 형태로 전송되는 멀티-비트 플래시 메모리 장치.
- 청구항 24은(는) 설정등록료 납부시 포기되었습니다.제 20 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 (2N+1)-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장하는 멀티-비트 플래시 메모리 장치.
- 청구항 25은(는) 설정등록료 납부시 포기되었습니다.제 20 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 2N-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장하는 멀티-비트 플래시 메모리 장치.
- 청구항 26은(는) 설정등록료 납부시 포기되었습니다.제 20 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 낸드 플래시 메모리 장치, 노어 플래시 메모리 장치, PRAM, FRAM, 그리고 MRAM 중 어느 하나인 멀티-비트 플래시 메모리 장치.
- 멀티-비트 플래시 메모리 장치와 상기 멀티-비트 플래시 메모리 장치를 포함하는 메모리 시스템의 동작 방법에 있어서:읽기/프로그램 동작을 위한 일련의 명령, 포인터, 그리고 어드레스를 발생하는 단계와; 그리고상기 일련의 명령, 포인터, 그리고 어드레스에 응답하여 상기 읽기/프로그램 동작을 수행하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
- 청구항 28은(는) 설정등록료 납부시 포기되었습니다.제 27 항에 있어서,상기 포인터는 상기 멀티-비트 플래시 메모리 장치의 읽기/프로그램 시퀀스들 중 어느 하나를 선택하는 데 사용되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
- 청구항 29은(는) 설정등록료 납부시 포기되었습니다.제 27 항에 있어서,상기 포인터는 상기 멀티-비트 플래시 메모리 장치의 각 메모리 셀에 저장되는 복수의 데이터 비트들 중 하나에 대한 읽기/프로그램 동작을 선택하는 데 사용되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
- 청구항 30은(는) 설정등록료 납부시 포기되었습니다.제 27 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 상기 어드레스에 응답하여 워드 라인들 중 하나를 선택하도록 그리고 상기 포인터에 응답하여 상기 선택된 워드 라인에 속하는 페이지들 중 하나를 선택하도록 구성되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
- 청구항 31은(는) 설정등록료 납부시 포기되었습니다.제 27 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 상기 포인터에 응답하여 상기 멀티-비트 플래시 메모리 장치에 포함된 행들의 영역들 중 하나를 선택하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
- 청구항 32은(는) 설정등록료 납부시 포기되었습니다.제 27 항에 있어서,상기 포인터는 상기 명령의 전송 이후에 그리고 상기 어드레스의 전송 이전에 전송되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
- 청구항 33은(는) 설정등록료 납부시 포기되었습니다.제 27 항에 있어서,상기 포인터는 상기 명령의 전송 이전에 전송되고, 상기 명령은 상기 어드레스의 전송 이전에 전송되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
- 청구항 34은(는) 설정등록료 납부시 포기되었습니다.제 27 항에 있어서,상기 명령과 상기 포인터는 하나의 명령 형태로 전송되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
- 청구항 35은(는) 설정등록료 납부시 포기되었습니다.제 27 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 (2N+1)-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
- 청구항 36은(는) 설정등록료 납부시 포기되었습니다.제 27 항에 있어서,상기 멀티-비트 플래시 메모리 장치는 2N-비트 데이터(N은 1 또는 그 보다 큰 양의 정수)를 저장하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070002598A KR100874441B1 (ko) | 2007-01-09 | 2007-01-09 | 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템 |
US12/007,216 US7827347B2 (en) | 2007-01-09 | 2008-01-08 | Memory system, multi-bit flash memory device, and associated methods |
US12/915,303 US8019933B2 (en) | 2007-01-09 | 2010-10-29 | Memory system, multi-bit flash memory device, and associated methods |
US13/227,647 US8127073B2 (en) | 2007-01-09 | 2011-09-08 | Memory system, multi-bit flash memory device, and associated methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070002598A KR100874441B1 (ko) | 2007-01-09 | 2007-01-09 | 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080065450A KR20080065450A (ko) | 2008-07-14 |
KR100874441B1 true KR100874441B1 (ko) | 2008-12-17 |
Family
ID=39595252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070002598A KR100874441B1 (ko) | 2007-01-09 | 2007-01-09 | 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템 |
Country Status (2)
Country | Link |
---|---|
US (3) | US7827347B2 (ko) |
KR (1) | KR100874441B1 (ko) |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009037697A2 (en) | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
WO2009053961A2 (en) | 2007-10-25 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
WO2009072103A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
US8607128B2 (en) | 2007-12-05 | 2013-12-10 | Densbits Technologies Ltd. | Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications |
WO2009072104A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
WO2009074979A2 (en) * | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
US8327246B2 (en) | 2007-12-18 | 2012-12-04 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
JP4649503B2 (ja) * | 2008-08-13 | 2011-03-09 | 株式会社東芝 | 半導体装置 |
US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
KR101070511B1 (ko) * | 2009-03-20 | 2011-10-05 | (주)인디링스 | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) * | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8305812B2 (en) | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US8626988B2 (en) | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8700970B2 (en) | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US8516274B2 (en) | 2010-04-06 | 2013-08-20 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8510639B2 (en) | 2010-07-01 | 2013-08-13 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
US9104547B2 (en) * | 2011-08-03 | 2015-08-11 | Micron Technology, Inc. | Wear leveling for a memory device |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
KR20170010274A (ko) * | 2015-07-17 | 2017-01-26 | 삼성전자주식회사 | 적응적 페이지 사이즈 조절 기능을 갖는 반도체 메모리 장치 |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
CN111367829A (zh) * | 2018-12-25 | 2020-07-03 | 北京兆易创新科技股份有限公司 | 一种线性地址获取方法及装置 |
CN109872754B (zh) * | 2019-02-15 | 2021-02-26 | 长江存储科技有限责任公司 | 数据编程方法及装置、存储器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442076B1 (en) | 2000-06-30 | 2002-08-27 | Micron Technology, Inc. | Flash memory with multiple status reading capability |
JP2004078907A (ja) | 2002-06-20 | 2004-03-11 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理方法及びプログラム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100566466B1 (ko) * | 1995-01-31 | 2006-03-31 | 가부시끼가이샤 히다치 세이사꾸쇼 | 반도체 메모리 장치 |
JPH1011984A (ja) | 1996-06-28 | 1998-01-16 | Sony Corp | 半導体不揮発性記憶装置 |
US7886108B2 (en) * | 2000-01-06 | 2011-02-08 | Super Talent Electronics, Inc. | Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device |
US8266367B2 (en) * | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
EP1514189A1 (en) * | 2002-06-20 | 2005-03-16 | Tokyo Electron Device Limited | Memory device, memory managing method and program |
KR100530420B1 (ko) | 2003-07-11 | 2005-11-22 | 주식회사 하이닉스반도체 | 플래시 메모리 소자의 제조방법 |
US20090193184A1 (en) * | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
KR100600303B1 (ko) | 2004-05-14 | 2006-07-13 | 주식회사 하이닉스반도체 | 플래쉬 메모리 소자의 페이지 프로그램 방법 |
KR100632947B1 (ko) * | 2004-07-20 | 2006-10-12 | 삼성전자주식회사 | 불 휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR100671625B1 (ko) | 2004-12-28 | 2007-01-19 | 주식회사 하이닉스반도체 | 블록 사이즈를 변경할 수 있는 난드 플래시 메모리 장치 |
CN101194238B (zh) * | 2005-06-24 | 2010-05-19 | 松下电器产业株式会社 | 存储器控制器、非易失性存储装置、非易失性存储系统及数据写入方法 |
US8195945B2 (en) * | 2005-12-01 | 2012-06-05 | Sony Mobile Communications Ab | Secure digital certificate storing scheme for flash memory and electronic apparatus |
JP4945187B2 (ja) * | 2006-07-31 | 2012-06-06 | 株式会社東芝 | 半導体記憶装置 |
KR100813627B1 (ko) * | 2007-01-04 | 2008-03-14 | 삼성전자주식회사 | 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치를제어하는 메모리 제어기와 그것을 포함한 메모리 시스템 |
US8832408B2 (en) * | 2007-10-30 | 2014-09-09 | Spansion Llc | Non-volatile memory array partitioning architecture and method to utilize single level cells and multi-level cells within the same memory |
JP5019611B2 (ja) * | 2007-12-27 | 2012-09-05 | 株式会社東芝 | メモリシステム |
TWI362667B (en) * | 2007-12-31 | 2012-04-21 | Phison Electronics Corp | Data writing method for flash memory and controller thereof |
US20090319721A1 (en) * | 2008-06-19 | 2009-12-24 | Silicon Motion, Inc. | Flash memory apparatus and method for operating the same |
US7941592B2 (en) * | 2008-08-14 | 2011-05-10 | Bonella Randy M | Method and apparatus for high reliability data storage and retrieval operations in multi-level flash cells |
-
2007
- 2007-01-09 KR KR1020070002598A patent/KR100874441B1/ko active IP Right Grant
-
2008
- 2008-01-08 US US12/007,216 patent/US7827347B2/en active Active
-
2010
- 2010-10-29 US US12/915,303 patent/US8019933B2/en active Active
-
2011
- 2011-09-08 US US13/227,647 patent/US8127073B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442076B1 (en) | 2000-06-30 | 2002-08-27 | Micron Technology, Inc. | Flash memory with multiple status reading capability |
US6606269B2 (en) | 2000-06-30 | 2003-08-12 | Micron Technology, Inc. | Flash memory with multiple status reading capability |
JP2004078907A (ja) | 2002-06-20 | 2004-03-11 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US7827347B2 (en) | 2010-11-02 |
US20080168216A1 (en) | 2008-07-10 |
US20110047323A1 (en) | 2011-02-24 |
US8019933B2 (en) | 2011-09-13 |
KR20080065450A (ko) | 2008-07-14 |
US8127073B2 (en) | 2012-02-28 |
US20110320691A1 (en) | 2011-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100874441B1 (ko) | 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템 | |
KR102518884B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
KR100813627B1 (ko) | 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치를제어하는 메모리 제어기와 그것을 포함한 메모리 시스템 | |
CN111696608A (zh) | 存储器装置及其操作方法 | |
CN111258793B (zh) | 存储器控制器及其操作方法 | |
CN111104059B (zh) | 存储器控制器及操作该存储器控制器的方法 | |
CN110780802B (zh) | 存储器控制器及其操作方法 | |
TW201329987A (zh) | 快閃記憶體系統 | |
CN111009275A (zh) | 存储器装置和存储器装置的操作方法 | |
JP2009086849A (ja) | 半導体記憶装置 | |
US20190121727A1 (en) | Memory system and method for operating the same | |
US9298650B2 (en) | Memory system, semiconductor memory device and operating method thereof | |
US9189440B2 (en) | Data interleaving module | |
US9940030B2 (en) | Memory system and method of operating the same | |
JP2009530758A (ja) | メモリデバイス分散型制御器システム | |
US11061616B2 (en) | Memory device and method of operating the same | |
KR100953044B1 (ko) | 불휘발성 메모리 장치의 프로그램 방법 | |
CN112151096B (zh) | 存储器装置及其操作方法 | |
KR102351933B1 (ko) | 반도체 기억장치 | |
CN110858501B (zh) | 存储器系统以及存储器系统的操作方法 | |
US11646089B2 (en) | Memory device for performing verify operation and operating method thereof | |
KR20240050568A (ko) | 메모리 장치 및 그것의 동작 방법 | |
KR20220156397A (ko) | 메모리 장치 및 그 동작 방법 | |
CN116206655A (zh) | 用于多层级单元存储器装置中编程验证配对的方法和设备 | |
CN115910167A (zh) | 没有介于中间的擦除操作的存储器单元的多编程 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20121130 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20131129 Year of fee payment: 6 |