KR20030096093A - 반도체 기억장치 및 데이터 기록방법 - Google Patents
반도체 기억장치 및 데이터 기록방법 Download PDFInfo
- Publication number
- KR20030096093A KR20030096093A KR10-2003-0038529A KR20030038529A KR20030096093A KR 20030096093 A KR20030096093 A KR 20030096093A KR 20030038529 A KR20030038529 A KR 20030038529A KR 20030096093 A KR20030096093 A KR 20030096093A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- circuit
- memory cell
- write
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- 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/3468—Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
- G11C16/3486—Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
1비트 이상의 데이터를 기억 가능한 복수의 메모리 셀을 구비하는 메모리 어레이를 포함하는 반도체 기억장치는, 상기 복수의 메모리 셀에 대한 데이터 기록 동작을 제어하는 데이터 기록 제어부; 소정 메모리 셀의 어드레스를 지정하는 어드레스 신호를 생성하는 어드레스 신호 생성부; 상기 소정 메모리 셀에 데이터를 기록할지의 여부를 판단하고 제1기록신호를 출력하는 판단부; 상기 제1기록신호에 의해 지정되는 데이터를 기억하고 제2기록신호를 출력하는 데이터 레지스터부; 및 상기 제2기록신호에 의거하여 상기 소정 메모리 셀에 데이터를 기록하는 데이터 기록부를 포함한다. 상기 데이터 레지스터부는 상기 데이터 기록 제어부에 의해 출력되는 제어신호에 의거하여 데이터를 기억한다.
Description
본 발명은 복수의 메모리 셀을 구비하는 반도체 기억장치 및 그 반도체 기억장치에 대한 데이터 기록을 제어하는 방법에 관한 것이다.
MLC(multi level cell) 플래시 메모리 장치 등의, 1비트 이상의 데이터를 기억하는 복수의 메모리 셀을 구비하는 반도체 기억장치에 있어서, 메모리 셀 내의 데이터를 나타내는 메모리 셀의 역치전압은 다르다. 그러므로, 메모리 셀에 대한 데이터 기록과 메모리 셀로부터의 데이터 판독을 위해 어떻게라도 해서 데이터 변환이 수행될 필요가 있다.
통상적으로 MLC 플래시 메모리에 있어서, 각 메모리 셀은 3개 이상의 역치전압을 가질 수 있다(또는 3개 이상의 상태일 수 있다). 1개의 역치전압만을 갖는 2진 메모리와 비교하면, 각 역치전압에 대응하여 데이터 기록 및 판독에 더욱 복잡한 제어 동작이 요구된다.
이하, 매트릭스 상으로 배치된 복수의 메모리 셀을 포함하는 MLC 플래시 메모리인 반도체 기억장치의 데이터 기록 동작을 설명한다.
우선, 종래의 MLC 플래시 메모리에 있어서의 MLC 데이터를 기억하는 방법을 종래의 2진 플래시 메모리에 있어서의 MLC 데이터를 기억하는 방법과 비교하여 설명한다.
비휘발성 반도체 기억장치인 MLC 플래시 메모리는 통상 MOSFET로 이루어진 복수의 메모리 셀을 포함한다. 각각의 MOSFET의 플로팅 게이트(floating gate)에 축적된 전하량에 따라서 각 메모리 셀의 역치전압이 변화하는 현상을 이용하여 데이터를 기억한다.
도 10은 일반적인 2진 플래시 메모리에 설치된 복수의 메모리 셀의 역치전압의 분포를 나타내는 그래프이다. 가로축은 역치전압을 나타내고, 세로축은 메모리 셀의 개수를 나타낸다. 가로축 중심의 기준 역치전압은 데이터가 판독되는 전압을 나타낸다.
통상, 대표적인 2진 NOR 플래시 메모리는 메모리 셀의 플로팅 게이트가 축적전하를 가지지 않을 때 데이터 소거 상태에 있다. 이 상태를 데이터 "1"로 나타낸다. 2진 NOR 플래시 메모리는 메모리 셀의 플로팅 게이트가 그 안에 주입된 음전하(전자)를 가질 때 데이터 기록 상태에 있다. 이 상태를 데이터 "0"으로 나타낸다.
도 10에서 기준 역치전압 보다 낮은 영역은 데이터 소거 상태의 역치전압의 분포를 나타내고, 도 10에서 기준 역치전압 보다 높은 영역은 데이터 기록 상태의 역치전압의 분포를 나타낸다.
메모리 셀의 역치전압은 데이터 소거 상태에서가 데이터 기록 상태에서 보다 낮다. 그러므로, 메모리 셀의 제어 게이트에 인가된 전압이 동일 레벨이면, 데이터 소거 상태에서의 메모리 셀이 데이터 기록 상태에서의 메모리 셀 보다 큰 전류가 흐른다. 즉, 메모리 셀에 흐르는 전류값은 데이터 소거 상태에서와 데이터 기록 상태에서는 다르다. 전류값이 다른 점을 이용하여 메모리 셀 내에 데이터가 존재("데이터 기억 상태")하는지의 여부를 확인한다. 이것은 검증을 위한 데이터 판독 동작의 기준이 된다.(후술하는 데이터 검증 동작도 기본적으로 검증을 위한 데이터 판독 동작과 동일하다.)
상술한 기준 역치전압이 설정된 기준 셀에 흐르는 전류와 데이터가 판독되는 메모리 셀에 흐르는 전류를 검출한 후 이들 전류값을 비교함으로써 데이터 판독 동작이 수행된다.
이들 전류값은 구체적으로 관심있는 메모리 셀에 접속된 비트라인에 흐르는 전류와 기준 셀에 접속된 비트라인에 흐르는 전류를 감지 증폭기에 의해 검출하여 비교된다.
도 11은 일반적인 4진 플래시 메모리(quaternary flash memory)에 설치된 복수의 메모리 셀의 역치전압의 분포를 나타내는 그래프이다. 이 예에서는, 4진 플래시 내의 각 메모리 셀은 2비트 데이터를 기억한다. 가로축은 역치전압을 나타내고 세로축은 메모리 셀의 개수를 나타낸다. 가로축을 따라서 기준 역치전압 1, 2 및 3은 각각 데이터가 판독되는 전압을 나타낸다.
4진 플래시 메모리 내의 각 메모리 셀은 4개의 상태, 즉, 하나의 데이터 소거 상태 및 3개의 데이터 기록 상태를 가진다. 메모리 셀의 역치전압은 데이터 소거 상태에서 가장 낮다. 3개의 데이터 기록 상태의 역치전압은 다르다. 4개의 상태에서 선택할 수 있는 메모리 셀로부터의 데이터 기록 동작을 수행하기 위해, 3개의 기준 전압 1, 2 및 3은 도 11에 나타낸 바와 같이 설정된다.
도 11에 나타낸 플래시 메모리의 메모리 셀에 기록된 2비트 데이터는 "11", "10", "01" 또는 "00"으로 정의된다. 데이터 "11"을 기억하는 메모리 셀은 가장 낮은 역치전압을 가지며, 데이터 "00"을 기억하는 메모리 셀은 가장 높은 역치전압을 가진다. 데이터 "11"는 데이터 소거 상태에 대응된다. 데이터 "10", "01" 및 "00"에 대응하는 데이터 기록 상태에 있어서, 기준 역치전압은 역치전압의 분포 변동이 복수의 메모리 셀 중에서 가능한 한 작게 되도록 설정된다.
도 11에 나타낸 4진 플래시 메모리와 같은 MLC 플래시 메모리에 대한 데이터 기록 제어 동작은 다음의 문제점을 가진다.
데이터 기록 동작은 복수의 메모리 셀 내의 데이터에 대응하는 역치전압의 분포가 비교적 작은 범위 내에 있도록(즉, 분포의 변동이 비교적 작게 되도록) 수행될 필요가 있다.
더욱 구체적으로는, 재생시 메모리 셀로부터 데이터가 판독될 경우 복수의 메모리 셀 내의 데이터에 대응하는 역치전압의 분포 범위는 데이터 기록 동작에서의 역치전압의 분포 범위 보다 확대된다. 그러므로, 데이터를 기록하는 동안 기준 전압에 관해 하한 역치전압 및 상한 역치전압에 대한 마진은 감소된다.
또한, 3개의 기준 전압이 설정된 메모리 셀로부터 재생시 데이터를 효율적으로 판독할 필요가 있다.
도 12는 4진 플래시 메모리에 데이터를 기록하는 대표적인 알고리즘을 나타낸다. 도 12에 나타낸 알고리즘에 있어서, 데이터 기록은 3스텝, 즉, 스텝1∼3으로 수행된다.
스텝1∼3의 각각에 있어서, 메모리 셀에 기억될 목표 데이터 및 메모리 셀에 기억된 현재 데이터를 확인하여, 메모리 셀에 데이터 기록을 실행할지의 여부를 판단한다. 데이터 기록 동작에 있어서, 데이터가 기록된 후 시간 경과에 따른 데이터 열화에 대한 마진 및 데이터 판독에 대한 마진을 확보하기 위해, 역치전압은 데이터 판독 동작에 사용되는 기준 역치전압 보다 더욱 엄격한 조건으로 설정된다. 역치전압은 데이터 검증 동작에도 사용된다.
스텝1∼3에 있어서, 소정 기록 데이터 펄스를 제어 게이트 및 각 메모리 셀의 드레인에 인가한다. 그후, 데이터 검증 동작을 수행하여(즉, 기준 역치전압을 변경하고 데이터 판독 동작을 수행하여), 메모리 셀의 역치전압이 소망하는 레벨에 도달했는지의 여부를 확인한다. 역치전압이 소망하는 레벨에 도달했으면, 기록 데이터 펄스의 인가를 정지한다. 역치전압이 소망하는 레벨에 도달하지 않았으면, 기록 데이터 펄스의 인가를 계속한다. 기록 데이터 펄스의 인가 및 검증 동작을 이러한 방식으로 반복함으로써, 소망하는 역치전압을 메모리 셀에 설정한다.
더욱 구체적으로, 도 12의 오른쪽 표에 나타낸 바와 같이 메모리 셀에 데이터가 기록될 필요가 있는지의 여부에 따라서 데이터 기록이 실행된다.
스텝1에서는, 현재 데이터가 "11"(데이터 소거 상태)이고 목표 데이터가 "10", "01" 및 "00"인 메모리 셀에 데이터 기록 동작이 수행된다.
데이터가 기록될 모든 메모리 셀의 역치전압이 목표 데이터 "10"의 하한값인 기준 역치전압 1' 이상이 될 때까지 데이터 기록 동작을 계속한다. (기준 역치전압 1'은 검증을 위해 사용되는 값이며, 데이터를 판독하는 동안 데이터 "10"의 하한값인 기준 역치전압 1(도 11) 보다 더욱 엄격한 조건으로 설정된다. 유사하게, 기준 역치전압 2' 및 2"는 기준 역치전압 2 보다 더욱 엄격한 조건으로 설정되고, 기준 역치전압 3' 및 3"은 기준 역치전압 3 보다 더욱 엄격한 조건으로 설정된다.)
데이터를 판독하는데 사용되는 감지 회로의 검출 정밀도에 대한 마진 및 메모리 셀에 기억된 데이터의 시간 경과에 따른 열화에 의해 야기되는 역치전압의 변동에 대한 마진을 확실히 얻기 위해, 기준 역치전압 1'는 데이터를 판독하는데 사용되는 기준 역치전압 1 보다 높게 설정된다. 동일한 목적으로, 목표 데이터 "10"의 상한값인 기준 역치전압 2'는 데이터를 판독하는데 사용되는 기준 역치전압 2 보다 낮게 설정된다.
예컨대, 메모리 셀이 데이터 기록 동작시 목표 데이터 "10"의 기준 역치전압2'를 초과하는 역치전압을 얻을 경우, 메모리 셀은 목표 데이터 "10"의 판독을 확보하는 역치전압 범위 밖에 있는 오버 프로그램 상태(over-program state)에 있다. 그러므로, MLC 플래시 메모리의 데이터 기록 동작을 수행할 경우, 예컨대, 데이터 기록 전압을 제어함으로써 메모리 셀에 오버 프로그램 상태가 발생하는 것을 방지하는 것이 중요하다.
스텝2에서는, 목표 데이터가 "01" 또는 "00"이고 현재 데이터가 "01"에 도달하지 않은 메모리 셀에 데이터 기록 동작을 수행한다. 데이터 기록 동작의 세부 사항은 스텝1에서와 거의 동일하다.
스텝2에서는, 목표 데이터 "01"의 하한값인 기준 역치전압 2"는 데이터를 판독하는 동안 데이터 "01"의 하한값인 기준 역치전압 2(도 11) 보다 높게 설정된다. 목표 데이터 "01"의 상한값인 기준 역치전압 3'는 데이터를 판독하는 동안 데이터 "01"의 상한값인 기준 역치전압 3(도 11) 보다 낮게 설정된다.
데이터가 기록될 모든 메모리 셀이 기준 역치전압 2"(목표 데이터 "01"의 하한값)에서 기준 역치전압 3'(목표 데이터 "01"의 상한값)까지의 범위의 역치전압을 얻도록 데이터 기록 동작이 수행된다.
스텝3에서는, 목표 데이터가 "00"이고 현재 데이터가 "00"에 도달하지 않은 메모리 셀에 데이터 기록 동작을 수행한다. 데이터 기록 동작의 세부 사항은 스텝1에서와 거의 동일하다.
스텝3에서는, 목표 데이터 "00"의 하한값인 기준 역치전압 3"는 데이터를 판독하는 동안 데이터 "00"의 하한값인 기준 역치전압 3(도 11) 보다 높게 설정된다.
데이터가 기록될 모든 메모리 셀이 기준 역치전압 3"(목표 데이터 "00"의 하한값) 이상의 역치전압을 얻도록 데이터 기록 동작이 수행된다.
상술한 바와 같이, 도 12에 나타낸 알고리즘에 의해 4진 플래시 메모리에 데이터를 기록할 수 있다.
이어서, "어레이 노이즈(array noise)"라고 하는 현상에 대해 설명한다. "어레이 노이즈"는 데이터 기록 동작에서 오버 프로그램 상태와 같은 심각한 문제를 야기시킨다.
어레이 노이즈는 다음의 현상을 말한다. 예컨대, 소정 메모리 셀 및 다른 메모리 셀이 메모리 어레이 내의 소정 워드라인에 접속되어 있다고 가정한다. 소정 메모리 셀에 데이터가 기록되어 소정 메모리 셀의 역치전압이 변화되면, 어떠한 데이터도 기록되지 않았던 다른 메모리 셀의 역치전압은 명백히 변화된다.
도 13은 MLC NOR 플래시 메모리의 메모리 어레이의 일부를 나타낸다. 도 13은 4개의 워드라인(WL1∼WL4), 4비트의 라인(BL1∼BL4), 소스라인(SRC), 및 메모리 셀(CELL11∼CELL44)를 나타낸다.
모든 메모리 셀의 소스는 소스라인(SRC)에 공통으로 접속되어 있다. 워드라인(WL) 및 비트라인(BL)은 서로 수직이다.
워드라인(WL1∼WL4)는 거기에 접속되는 각 메모리 셀의 제어 게이트에 공통으로 접속되어 있다. 비트라인(BL1∼BL4)는 거기에 접속되는 각 메모리 셀의 드레인에 공통으로 접속되어 있다. 그리하여, 메모리 셀은 매트릭스 상에 배치되어 있다.
각 비트라인(BL1∼BL4)에 접속되는 2개의 인접하는 메모리 셀의 드레인은 서로 접속되어 있고, 2개의 인접하는 메모리 셀의 소스도 서로 접속되어 있다. 예컨대, 메모리 셀(CELL11 및 CELL21)의 드레인은 서로 접속되어 있고, 이들 드레인은 비트라인(BL1)에 접속되어 있다. 메모리 셀(CELL21 및 CELL31)의 소스는 서로 접속되어 있고, 이들 소스는 소스라인(SRC)에 접속되어 있다. 메모리 셀(CELL31 및 CELL41)의 드레인은 서로 접속되어 있고, 이들 드레인은 비트라인(BL1)에 접속되어 있다.
모든 메모리 셀 내의 데이터가 소거된 상태에서 워드라인(WL2)에 접속되는 메모리 셀(CELL21∼CELL23)에 임의의 데이터를 기록하는 동작에 대해 설명한다. 워드라인(WL2)에 접속되는 메모리 셀(CELL24)에 데이터가 기록되지 않고, 메모리 셀(CELL24)가 데이터 소거 상태로 유지된다.
데이터 기록 동작을 수행하기 전에, 모든 메모리 셀은 데이터 소거 상태에 있다. 역치전압은 모든 메모리 셀에서 가장 낮은 상태에 있다. 메모리 셀(CELL21∼CELL24)로부터 검증을 위한 데이터 판독 동작을 수행하면, 메모리 셀(CELL21∼CELL24)에 비교적 큰 전류가 흐른다.
그리하여, 소스라인(SRC)의 기생 저항(parasitic resistance), 구동 회로 내의 출력 트랜지스터의 출력 저항의 증대 등에 의해, 소스라인(SRC)의 전압은 본래의 전압(예컨대, 접지 전압)으로부터 비교적 충분히 플로팅(floating)한다.
메모리 셀(CELL21∼CELL23)에 데이터 기록 동작이 실시됨에 따라, 메모리 셀(CELL21∼CELL23)의 역치전압이 상승한다. 이것은 메모리 셀(CELL21∼CELL23)에흐르는 전류값을 감소시키므로, 소스라인(SRC)의 전압의 접지 전압으로부터의 플로팅 레벨이 점차 감소된다.
소스라인(SRC)의 전압의 플로팅 레벨이 감소되면, 메모리 셀(CELL21∼CELL23)의 드레인-소스 전압이 증대되므로, 검증을 위한 데이터 판독 동작에 의해 흐르게 되는 전류가 증가한다. 그러므로, 감지 증폭기는 메모리 셀(CELL21∼CELL23)의 역치전압이 감소되였다고 부정확하게 검출한다.
데이터 기록이 처리되지 않아서 역치전압이 변화되지 않는 메모리 셀(CELL24)는 메모리 셀(CELL21∼CELL23) 뿐만 아니라 소스라인(SRC)에 접속되어 있다. 그러므로, 증가된 전류가 검증을 위한 데이터 판독 동작의 결과로서 메모리 셀(CELL24)에 흐르고, 감지 증폭기는 메모리 셀(CELL24)의 역치전압이 감소되었다고 부정확하게 검출한다.
이러한 현상을 "어레이 노이즈"라고 한다. 어레이 노이즈가 발생하면, 데이터 기록 동작 및 검증 동작이 완료된 메모리 셀은, 검증을 위한 수반되는 데이터 판독 동작의 결과로서 역치전압이 감소하였다고 부정확하게 판단할 수도 있으므로 재차 메모리 셀에 데이터가 기록된다.
어레이 노이즈에 의한 이러한 오동작은, 각 메모리 셀의 역치전압이 정밀하게 제어될 필요가 있는 MLC 플래시 메모리에 심각한 문제를 야기시키므로, 역치전압 분포의 변동을 감소시킨다.
이것은 다음의 이유 때문에 2진 플래시 메모리 내에 매우 심각한 문제가 되지 않는다. 2진 플래시 메모리에서도, 통상 데이터 기록 상태에서의 역치전압과 비교해서 재차 데이터가 기록될 때 메모리 셀의 역치전압이 증대된다. 그러나, 2진 플래시 메모리에서 기준 전압에 대한 하한 역치전압 및 상한 역치전압에 있어서의 마진이 도 10에 나타낸 바와 같은 MLC 플래시 메모리에서 보다 크다. 그러므로, 재생시 데이터가 판독될 때 2진 플래시 메모리가 오동작을 일으킬 위험은 거의 없다.
한편, MLC 플래시 메모리에 있어서, 기준 전압에 대한 하한 역치전압 및 상한 역치전압의 마진이 작다. 그러므로, 데이터 "10" 및 "01"에 대응하는 역치전압(도 11)이 너무 높게 되면("오버 프로그램"), 실제로 기록되는 데이터는 목표 데이터와 다를 수도 있다.
또한, 데이터가 항상 동일 조건으로 기록되더라도, 본래의 전압을 초과하는 역치전압의 플로팅 레벨은 점차 감소될 수도 있다.
이러한 문제점을 해결하기 위해, 메모리 셀에 기록될 데이터 펄스의 진폭(전압값) 및 주기(인가시간)를 조정해야만 한다. 그러나, 이러한 조정을 수행하더라도, 데이터를 비교적 용이하게 기록할 수 있는 메모리 셀은, 데이터 기록 동작의 초기 단계에서 데이터 기록이 완전히 처리되었다고 판단한 후에, 데이터 기록이 완전히 처리되지 않았다고 부정확하게 판단할 수도 있다. 이 경우, 고전압을 갖는 데이터 펄스가 오래동안 인가되어, 오버 프로그램 상태를 일으킬 가능성이 높게 된다.
유사한 현상이 예컨대, 공급 전압의 변동에 의해 야기되는 감지 증폭기의 감지 특성의 변동에 의해도 발생될 수 있다.
이어서, 다른 MLC 플래시 메모리에 대한 데이터 기록 동작을 도 14를 참조하여 설명한다.
메모리 셀의 역치전압이 정밀하게 제어되는 것이 요구되는 MLC 플래시 메모리에 있어서의 데이터 기록 동작은 통상적으로 2진 플래시 메모리 보다 긴 시간을 필요로 한다.
데이터 기록 동작에 요구되는 시간을 단축하기 위해, MLC 플래시 메모리는 메모리 셀에 기록될 데이터를 일시적으로 기억하는 페이지 버퍼 회로를 포함한다. 도 14는 페이지 버퍼 회로를 포함하는 MLC 플래시 메모리(400)의 일부를 나타낸다.
MLC 플래시 메모리(400)는 사용자 인터페이스 회로(이하, "UI 회로"라 함)(410), 제어 버스(401), 어드레스 버스(402) 및 데이터 버스(403)를 포함한다. MLC 플래시 메모리(400)는 UI 회로(410)에 접속되어 있는 제어 버스(401), 어드레스 버스(402) 및 데이터 버스(403)를 통해 외부에서 조작된다.
UI 회로(410)는 제어 버스(401), 어드레스 버스(402) 및 데이터 버스(403)를 통해 외부에서 신호를 수신하고, 그 신호를 해석하여 MLC 플래시 메모리(400)의 동작을 제어한다. UI 회로(410)는 제어 버스(411), 어드레스 버스(412) 및 데이터 버스(413)를 통해 페이지 버퍼 회로(420)에 접속되어 있고, 또한 제어 버스(414)를 통해 기록 상태 머신 회로(이하, "WSM 회로")(430)에 접속되어 있다.
페이지 버퍼 회로(420)는 메모리 셀에 기록될 데이터를 일시적으로 기억하고, 제어 버스(411), 어드레스 버스(412) 및 데이터 버스(413)를 통해 UI 회로(410)에 의해 데이터 기록을 제어한다.
WSM 회로(430)는 예컨대, 메모리 셀에 데이터를 재기록하라는 지시를 받아예컨대, 메모리 어레이(460)의 동작을 제어한다. WSM 회로(430)는 제어 버스(414)를 통해 UI 회로(410)로부터 제어 신호에 의해 지시를 받아서, 그 상태를 신호(413)에 의해 UI 회로(410)에 알린다. WSM 회로(430)는 제어 버스(434, 435, 436)를 통해 각각 판독 회로(감지 증폭기)(440), 기록 회로(프로그램 회로)(450) 및 메모리 어레이(460)에 접속되어 있다. 판독회로(440), 기록 회로(450) 및 메모리 어레이(460)는 판독 버스(460)를 통해 서로 접속되어 있다.
UI 회로(410)에 의해 데이터 기록이 지시되면, WSM 회로(430)는 제어 버스(432) 및 어드레스 버스(433)를 통해 각각 페이지 버퍼 회로(420)에 제어 신호 및 어드레스 신호를 출력하여 페이지 버퍼 회로(420)가 메모리 셀에 기록될 특정 데이터를 출력하도록 지시한다. 페이지 버퍼 회로(420)는 지시된 특정 데이터를 데이터 버스(421)를 통해 WSM 회로(430)에 출력한다.
판독 회로(440)는 제어 버스(434)를 통해 WSM 회로(430)로부터 제어 신호를 수신하여 메모리 어레이(460) 내의 메모리 셀로부터 데이터를 판독한다. 데이터가 판독되는 메모리 셀은 제어 버스(436) 및 어드레스 버스(433)를 통해 WSM 회로(430)에 의해 각각 출력되는 제어 신호 및 어드레스 신호에 의거하여 선택된다. 선택된 메모리 셀은 WSM 회로(430)에 의해 활성화된다.
상기 선택된 메모리 셀의 드레인은 판독 버스(461)에 접속된다. 판독 회로(440)는 판독 버스(461)를 통해 각 선택된 메모리 셀의 역치전압(데이터 기억 상태를 표시)을 확인한 후 상기 선택된 메모리 셀로부터 판독된 데이터를 WSM 회로(430)로 데이터 버스(441)를 통해 출력한다.
WSM 회로(430)는 데이터 버스(421)를 통해 페이지 버퍼 회로(420)로부터 기록될 특정 데이터(목표 데이터)를 수신하고, 또한 데이터 버스(441)를 통해 판독 회로(440)로부터 데이터를 수신한다. 각 선택된 메모리 셀의 현재 역치전압에 의거하여 WSM 회로(430)가 각 선택된 메모리 셀에 데이터를 기록할 것인지의 여부를 판단한다. 판단 결과로서의 기록 데이터 펄스는 데이터 버스(437)를 통해 기록 회로(450)에 출력된다.
WSM 회로(430)는 메모리 어레이(460)가 데이터를 수신하도록 제어 버스(436)를 통해 메모리 어레이(460)에 제어신호를 출력한다. 이어서, WSM 회로(430)는 메모리 어레이(460)에 기록 데이터 펄스를 인가하기 위해 제어 버스(435)를 통해 기록 회로(450)에 제어신호를 출력한다. 기록 회로(450)는 선택된 메모리 셀 각각의 드레인에 접속된 비트 라인에 판독 버스(461)를 통해 고 전압 신호를 순차적으로 인가함으로써 기록 데이터 펄스에 상응하는 데이터를 상기 선택된 메모리 셀에 기록한다.
도 15는 도 14에 도시된 MLC 플래시 메모리(400)보다 효율적인 데이터 기록 동작을 실현하는 기타 MLC 플래시 메모리(500)의 일부를 도시한다.
MLC 플래시 메모리(500)는 복수의 어드레스로 지정된 데이터를 동시에 판독하여 이 판독 데이터로부터 필요한 데이터를 선택하는 페이지 모드 판독 기능을 갖는다.
도 14에 도시된 MLC 플래시 메모리(400)와 유사하게 MLC 플래시 메모리(500)는 UI 회로(510), 제어 버스(501) 및 어드레스 버스(502)를 포함한다. MLC 플래시메모리(500)는 UI 회로(510)에 접속된 제어 버스(501), 어드레스 버스(502) 및 데이터 버스(503)를 통해 외부에서 조작된다.
UI 회로(510)는 제어 버스(501), 어드레스 버스(502) 및 데이터 버스(503)를 통해 신호를 외부에서 수신하고, MLC 플래시 메모리(500)내의 동작을 제어하기 위하여 신호를 해석한다. UI 회로(501)는 제어 버스(511), 어드레스 버스(512) 및 데이터 버스(513)를 통해 페이지 버퍼 회로(520)에 접속되며, 제어 버스(514)를 통해 WSM 회로(530)에 접속된다.
페이지 버퍼 회로(520)는 메모리 셀에 기록될 데이터를 일시적으로 기억하며, 제어 버스(511), 어드레스 버스(512) 및 데이터 버스(513)를 통해 UI 회로(510)에 의해서 데이터 기록이 제어된다.
WSM 회로(530)는 예컨대, 메모리 셀에 데이터를 재기록하라는 지시를 수신하여 예컨대, 메모리 어레이(560)의 동작을 제어한다. WSM 회로(530)는 제어 버스(514)를 통해 UI 회로(510)로부터의 제어 신호에 의한 지시를 수신하여 신호(531)에 의해 UI 회로(510)에 그 상태를 알린다. WSM 회로(530)는 제어 버스(533, 534, 535 및 536)를 통해 MLC 논리회로(580), 판독 회로(감지 증폭기)(540), 기록 회로(프로그램 회로)(550) 및 메모리 어레이(560)에 각각 접속된다. 판독 회로(540), 기록 회로(550) 및 메모리 어레이(560)는 판독 버스(561)를 통해 서로 접속된다.
어드레스 생성 회로(어드레스 제어기)(570)는 내부 어드레스를 생성하기 위해 제어 버스(538) 및 어드레스 버스(539)를 통해 각각 WSM 회로(530)로부터 제어신호 및 어드레스 신호를 수신한다. 데이터가 기록될 선두 어드레스가 어드레스 버스(539)에 출력되는 상황에서 어드레스 생성 회로(570)는 선두 어드레스로서 제어 버스(538)로부터 수신된 초기화 신호에 의거하여 어드레스 버스(51)에 출력될 주소를 설정한다. 이어서, 어드레스 생성 회로(570)는 제어 버스(538)로부터 수신된 클록 신호에 의거하여 어드레스를 인크리먼트(increment)하고, 어드레스 버스(571)에 인크리먼트된 어드레스를 출력한다.
판독 회로(540)는 제어 버스(534)를 통해 WSM 회로(530)로부터 제어신호를 수신하여 메모리 어레이(560)에 있어서의 메모리 셀로부터 데이터를 판독한다. 제어 버스(536) 및 어드레스 버스(571)를 통해 각각 WSM 회로(530)에 의해 출력된 제어신호와 어드레스 생성 회로(570)에 의해 출력된 어드레스 신호에 의거하여 데이터가 판독되는 메모리 셀이 선택된다. 선택된 메모리 셀은 WSM 회로(530)에 의해 활성화된다.
선택된 메모리 셀의 드레인은 판독 버스(561)에 접속된다. 판독 회로(540)는 판독 버스(561)를 통해 각 선택된 메모리 셀의 역치전압(데이터 기억 상태를 표시)을 확인하며, 이후 데이터 버스(541)를 통해 데이터 멀티플랙스 회로(이하, "MUX 회로"라 함)에 상기 선택된 메모리 셀로부터 판독된 데이터를 출력한다.
MUX 회로(545)는 어드레스 버스(571)를 통해 어드레스 생성 회로(570)로부터 어드레스 신호를 수신한다. 어드레스 신호에 의거하여 MUX 회로(545)는 판독 회로(540)로부터 수신된 데이터로부터 출력될 데이터를 선택하고, 데이터 버스(546)를 통해 MLC 논리회로(580)에 선택된 데이터를 출력한다.
MLC 논리회로(580)는 제어 버스(533)를 통해 WSM 회로(530)로부터 출력된 제어 신호, 데이터 버스(521)를 통해 페이지 버퍼 회로(520)로부터 출력된 목표 데이터, 및 데이터 버스(546)를 통해 MUX 회로(545)로부터 선택되어 출력되는 데이터를 수신한다. 각 선택된 메모리 셀의 현재의 역치전압에 의거하여 MLC 논리회로(580)는 데이터를 각 선택된 메모리 셀에 기록할 것인지의 여부를 판단한다.
기록 데이터 펄스는 판단 결과로서 데이터 버스(581)를 통해 WSM 회로(530)에 출력된다. WSM 회로(530)는 기록 데이터 펄스에 의거하여 각 선택된 메모리 셀에 데이터를 기록할 것인지의 여부를 지시하는 데이터를 데이터 버스(537)를 통해 기록 회로(550)에 출력한다.
WSM 회로(530)는 메모리 어레이(560)가 데이터를 수신하도록 제어 버스(536)를 통해 메모리 어레이(560)에 제어신호를 출력한다. 이후, WSM 회로(530)는 메모리 어레이(560)에 기록 데이터 펄스를 인가하기 위해 제어 버스(535)를 통해 기록 회로(550)에 제어신호를 출력한다. 기록 회로(550)는 선택된 메모리 셀 각각의 드레인에 접속된 비트 라인에 판독 버스(561)를 통해 고 전압 신호를 순차적으로 인가함으로써 기록 데이터 펄스에 상응하는 데이터를 상기 선택된 메모리 셀에 기록한다.
도 15에 도시된 MLC 플래시 메모리(500)의 페이지 버퍼 회로(520)는 다음과 같은 피드백 기능을 가진다. 제어 버스(532)를 통해 WSM 회로(530)로부터 출력된 제어 신호에 의거하여 페이지 버퍼 회로(520)는 어드레스 버스(571)를 통해 어드레스 생성 회로(570)로부터 출력된 어드레스 신호로 지정된 데이터를 갱신하여 MLC논리회로(580)에 의해 생성된 데이터를 피드백할 수 있다. 피드백 데이터는 데이터 버스(582)를 통해 MLC 논리회로(580)로부터 페이지 버퍼 회로(520)에 출력된다.
도 16은 4진 플래시 메모리에 대한 데이터 기록 조작시에 MLC 논리회로(580)의 대표적인 동작을 도시하는 진리표를 도시한다.
도 16은 MLC 논리회로(580)에 의해 사용되는 메모리 셀당 논리를 도시한다. 이 논리는 도 12에 도시된 3스텝의 데이터 기록 조작에 사용된 논리와 같다. 도 16의 스텝1, 2 및 3은 각각 도 12를 참조하여 위에 설명된 스텝1, 2 및 3에 각각 대응한다. 도 1에 있어서 "목표"는 목표 데이터를 나타내며, "현재"는 현재 데이터를 나타낸다. "기록"은 데이터가 각 메모리 셀에 기록될 것인지의 여부를 나타낸다. "L"은 어떠한 데이터도 기록되지 않음을 나타내며, "H"는 데이터가 기록됨을 나타낸다.
도 17은 도 16에 있어서의 진리표에 도시된 논리를 실현하는 예시적인 논리회로를 도시한다. 도 17에 도시된 논리회로는 NAND 회로, NOR 회로, AND 회로 및 OR 회로를 포함한다. 도 17에 도시된 논리회로로의 신호 입력 및 이 논리회로부터 신호 출력은 다음과 같이 설정된다.
STP[1:0]는 현재 스텝(도 16)을 나타내는 신호이다. 현재 스텝이 스텝 1이면 STP[1:0]가 01이다. 현재 스텝이 스텝 3이면 STP[1:0]은 11이다. STP1은 상위 비트에 대응하며, STP0는 하위 비트에 대응한다. 예컨대, 현재 스텝이 스텝 1이면 STP[1:0]은 01이고, 따라서 STP1이 0이며, STP0은 1이다.
TGH 및 TGL은 목표 데이터(도 16에서는 "목표")의 상위 비트 및 하위 비트에각각 대응한다. 예컨대, 목표 데이터가 01이고, TGH는 0이며, TGL은 1이다.
RDH 및 RDL은 각기 현재 데이터(도 16에서 "현재")의 상위 비트 및 하위 비트에 대응한다. 예컨대, 현재 데이터가 01이면 RDH가 0이고, RDL은 1이다.
PROG는 출력 데이터를 나타내고, 표 16에 있어서의 "기록"에 대응한다. PROG가 L이면 어떠한 데이터도 기록되지 않으며, PROG가 H이면 데이터가 기록된다.
도 14에 도시된 MLC 플래시 메모리(400)와 도 15에 도시된 MLC 플래시 메모리(500)은 다음의 네가지 점에서 주로 상이하다.
(1) 메모리 셀에 데이터를 기록할 것인지의 여부를 판단하는 연산은 MLC 플래시 메모리(400)에 있어서는 WSM 회로(430)에 의해서 수행되는 반면, MLC 플래시 메모리(500)에 있어서는 MLC 논리회로(580)에 의해서 수행된다.
(2) 데이터가 기록될 메모리 셀을 선택하기 위해 사용되는 어드레스 버스는 MLC 플래시 메모리(400)에 있어서는 WSM 회로(430)에 의해서 제어되는 반면, MLC 플래시 메모리(500)에 있어서는 어드레스 생성 회로(570)에 의해서 제어된다.
(3) MLC 플래시 메모리(500)는 페이지 버퍼 회로(520) 내에 데이터를 재기록하는 피드백 기능을 가진 반면, MLC 플래시 메모리(400)는 이와 같은 기능을 갖지 않는다.
(4) MLC 플래시 메모리(500)는 필요한 데이터를 선택하는 페이지 모드 판독 기능을 가진 반면, MLC 플래시 메모리(400)는 이와 같은 기능을 갖지 않는다.
상위점(1)을 상세히 설명하기로 한다. 도 16 및 도 17을 참조하여 상술한 바와 같이, 메모리 셀에 데이터를 기록할 것인지의 여부를 판단하는 연산은 복잡한논리 및 그 논리를 실행하는 논리 연산 회로를 필요로 한다. MLC 플래시 메모리(400)의 WSM 회로(430)가 다목적 연산 회로(예컨대, AND, OR, NOR 및 NAND)의 조합에 의해서 데이터를 기록할 것인지의 여부를 판단하는 데에는 매우 긴 처리시간을 필요로 한다. 이 상황에서 MLC 플래시 메모리(500)는 이 목적 전용으로 제공된 MLC 논리회로(580)에 의해서 판단 연산을 수행하며, WSM 회로가 MLC 논리회로(580)의 연산 결과를 처리하게 한다.
상위점(2)을 상세히 설명하기로 한다. 복수의 어드레스에 상응하는 복수의 메모리 셀에 기억되는 데이터를 기록하기 위해서 메모리 어레이에 있어서의 내부 주소는 제어 버스 및 어드레스 버스에 의해서 제어될 필요가 있다. 이와 같은 제어는 예컨대, 선두 어드레스를 인크리먼트함으로써 수행된다. MLC 플래시 메모리(400)는 WSM 회로(430)에 의해 이와 같은 어드레스 버스의 제어를 수행하기 위해서(예컨대, 어드레스를 인크리먼트하기 위해서) WSM 회로(430)에 가산 회로와 이 가산 회로를 제어하는 수단을 포함시킬 필요가 있다. MLC 플래시 메모리(500)는 이 목적 전용으로 제공된 어드레스 생성 회로(570)에 의해서 어드레스의 이와 같은 제어를 수행한다.
상위점(3)을 상세히 설명하기로 한다. MLC 플래시 메모리(500)에 있어서 페이지 버퍼 회로(520)는 상기 피드백 기능을 갖는다. 이는 검증을 위한 데이터 판독 동작에 의해 메모리 셀의 역치전압에 있어서의 변화로 야기되는 오버-프로그램 상태를 방지한다. 상기한 어레이 노이즈로 인해, 데이터 기록 동작 결과로서 기준 역치전압에 도달되었다고 일단 결정된 메모리 셀에서 조차도 검증을 위한 연이은 데이터 판독 동작에 의해서 기준 역치전압에 도달하지 않은 것으로 판정될 수 있다. 기준 역치전압에 도달된 것으로 일단 결정된 메모리 셀에 다시 데이터가 기록되는 것을 방지하기 위해서 버퍼 회로(520)에 기억된 데이터가 재기록된다.
도 16으로부터 명백한 바와 같이, MLC 플래시 메모리(500)에 있어서 목표 데이터가 "11"인 메모리 셀에는 어떠한 데이터도 기록되지 않는다.
따라서, 예컨대, 데이터 기록에 의해 완전히 처리된 것으로 판정된 메모리 셀에 대응하는 페이지 버퍼 회로(520)내의 데이터는 "11"로 재기록된다. 이 재기록으로 인해 검증을 위한 연이은 데이터 기록 동작시에 메모리 셀에는 어떠한 기록 데이터 펄스도 추가적으로 인가되지 않으므로 어레이 노이즈에 의한 오버-프로그램 상태의 발생이 저감될 수 있다.
상기한 바와 같이, MLC 플래시 메모리(500)는 페이지 버퍼 회로(520)에 기억된 데이터를 갱신하는 기능을 갖는다. MLC 논리회로(580)에 의해서 갱신된 데이터(피드백 데이터)가 생성된다.
갱신된 데이터를 생성하는 신호가 데이터를 기록할 것인지의 여부를 판단하기 위해 사용된 신호와 같으므로 갱신된 데이터는 MLC 논리회로(580)에 의해 생성된다. 기타 회로에 의해서 갱신된 데이터가 생성되어도 좋다.
상위점(4)을 상세히 설명하기로 한다. 통상적으로, MLC 플래시 메모리에 있어서는 데이터 판독 동작은 상대적으로 느리다. 전체 동작의 성능이 저하되는 것을 방지하기 위해서 외부 회로에 데이터를 출력하는 데이터 출력부는 페이지 모드 판독 기능, 동기 버스트 기능 등의 부가기능을 갖는다. 이와 같은 사양으로 인해 데이터가 한번에 판독되는 메모리 셀의 수는 통상적인 사양에 의해 데이터가 판독되는 메모리의 수보다 크다. 페이지 모드 판독기능, 동기 버스트 기능 또는 데이터 기록 동작을 제어하는 기능등을 사용함으로써 데이터 기록 동작 속도가 증가된다.
도 18은 4진 플래시 메모리에 대한 데이터 기록 동작, 특히 피드백 기능을 사용하여 갱신된 데이터를 생성하는 데에 있어서 MLC 논리회로(580)의 대표적인 동작을 나타내는 진리표를 도시한다. 도 19는 도 18에 도시된 논리를 실현하는 대표적인 논리회로를 도시한다.
도 18에 도시된 논리 구성에 있어서, 필요시에, 페이지 버퍼 회로(520)에 기억된 데이터는 어떠한 데이터도 기록되지 않은 상태를 나타내는 "11"로 재기록된다.
페이지 버퍼 회로(520)에 기억된 데이터는 메모리 셀에 대한 데이터 기록 동작이 완료되는 상태 즉, 스텝 1에서 목표 데이터가 "10"인 반면 "10" 이상에 대응하는 데이터는 이미 기록된 상태, 스텝 2에서 목표 데이터가 "01"인 반면 "01"이상에 대응하는 데이터가 이미 기록된 상태, 또는 스텝 3에서 목표 데이터가 "00"인 반면 "00"에 대응하는 데이터가 이미 기록된 상태에서 "11"로 재기록될 수 있다.
이와 같은 상태에 있는 메모리 셀에 있어서 목표 역치전압은 이미 도달하였으며, 어떠한 추가적인 데이터 기록도 필요없다.
따라서, 페이지 버퍼 회로(520)에 기억된 데이터를 "11"로 재기록할 때 어떠한 문제점도 없다. 이와 같은 재기록은 오버-프로그램 상태의 위험이 발생되는 것을 줄여준다.
도 19에 도시된 논리회로는 NAND 회로, NOR 회로, AND 회로 및 OR 회로를 포함한다. 도 19에 도시된 논리회로에 입력되거나 이 논리회로로부터 출력된 신호는, 논리회로로부터 출력된 피드백 신호(FBK1 및 FBK0)를 제외하고, 도 16 및 도 17을 참조하여 전술한 바와 같이 설정된다.
데이터 재기록(업데이터)후의 FBK[1:0]는 "11"로의 데이터 재기록이 수행되는 상태에서 "11"이다. 다른 상태에서는 FBK[1:0]가 변경되지 않는다. FBK1은 상위 비트에 대응하며, FBK0은 하위 비트에 대응한다.
도 20 및 도 21을 참조하여, MLC 플래시 메모리(400)의 WSM 회로(430)(도 14)와 MLC 플래시 메모리(500)의 WSM 회로(530)(도 15)에 의해서 수행되는 데이터 기록 동작을 설명하기로 한다.
우선, 도 20을 참조하여, MLC 플래시 메모리(400)의 WSM 회로(430)(도 14)에 의해 수행되는 데이터 기록 동작을 설명하기로 한다.
MLC 플래시 메모리(400)에 있어서 데이터 기록을 위해 사용되는 구성요소는 단순하므로 데이터 기록을 위한 제어연산에 있어서의 WSM 회로(430)의 역할은 상대적으로 중요하다.
도 20은 1 워드에 대응하는 데이터를 기록하는 동작을 도시하는 플로우챠트이다. 도 20에 있어서는, 본 발명에 의한 MLC 플래시 메모리(500)와 MLC 플래시 메모리에 의해 수행되는 동작의 비교를 위해 필요한 단하나의 처리가 도시되어 있다. 실제로, WSM 회로(430)는 다른 처리도 수행한다. 동작의 일부는 도 20에 도시한 바와 같이 될 필요는 없다.
스텝(S4000)에 있어서 WSM 회로(430)는 데이터가 기록될 메모리 셀의 어드레스를 처리한다. 가장 간단한 과정에 따르면, 데이터가 기록되는 메모리 셀 중 제 1 메모리 주소는 제1 동작 주기에서 선두 어드레스로서 설정되며, 이후 어드레스는 인크리먼트된다.
스텝(S4001)에 있어서 WSM 회로(430)는 메모리 어레이(460)에 내부 어드레스로서 결과 어드레스를 출력한다. 이어서, 메모리 어레이(460)는 데이터가 판독될 수 있는 상태에 놓인다(스텝 S4003). 내부 어드레스로 지정된 메모리 어레이(460)에 있어서의 메모리 셀은 활성화되어 그로부터 데이터가 판독된다(스텝 S4003).
페이지 버퍼 회로(420)에 기억된 데이터를 판독하기 위해서 특정 제어가 필요할 때 이 시점에서 이와 같은 제어가 수행된다. 도 20의 실시예에 있어서는, 단순화를 위해서 페이지 버퍼 회로(420)가 내부 어드레스에 대응하는 데이터를 출력하는 것으로 한다. 본 내용은 도 21(아래)에 적용된다.
스텝(S4004)에 있어서는 페이지 버퍼 회로(420)로부터 판독된 데이터의 결과와 메모리 셀로부터 판독된 데이터의 결과에 의거하여 WSM 회로(430)는, 예컨대 도 16에 도시한 진리표에 의거하여 동작을 수행함으로써 메모리 셀에 데이터를 기록할지의 여부를 판단한다.
상대적으로 복잡함에도 불구하고, 이 동작은 MLC 플래시 메모리(400)가 이 목적 전용의 회로[MLC 플래시 메모리(500)에 있어서의 어드레스 생성 회로(570) 등]를 포함하지 않으므로 MLC 플래시 메모리(400)에 있어서의 WSM 회로(430)에 의해 수행될 필요가 있다.
스텝(S4005)에 있어서 WSM 회로(430)는 스텝(S4004)에서의 판정 결과에 의거하여 생성된 기록될 데이터를 기록 회로(450)에 출력한다. 메모리 어레이(46)는 데이터가 기록될 수 있는 상태에 놓이고(스텝 S4006), 기록 제어기(450)가 제어되어 메모리 셀에 데이터를 기록한다(스텝 S4007).
이와 같이, 데이터는 메모리 어레이(460)에 있어서의 메모리 셀에 기록된다. 기록될 필요가 있는 데이터의 수만큼 이와 같은 처리를 반복해감으로써 모든 데이터가 기록된다.
도 21을 참조하여 MLC 플래시 메모리(500)의 WSM 회로(530)(도 15)에 의해서 수행되는 데이터 기록 동작을 설명하기로 한다. 도 21은 1 페이지에 대응하는 데이터를 기록하는 동작을 도시하는 플로우챠트이다.
스텝(S5000)에 있어서 WSM 회로(530)는 페이지 어드레스의 선두 어드레스로서 내부 주소를 설정한다.
스텝(S5001)에 있어서 WSM 회로(530)는 메모리 어레이(560)을 데이터가 판독될 수 있는 상태로 놓는다. 스텝(S5002)에 있어서 메모리 어레이(560)에 있어서의 메모리 셀로부터 데이터가 판독된다. 페이지 모드 판독으로 인해 페이지내의 모든 어드레스에 대응하는 데이터가 동시에 판독될 수 있다. 따라서, 본 스텝후에 모든 어드레스 중의, 어드레스 생성 회로(570)에 의해서 지정된 어드레스에 대응하는 데이터가 MUX 회로(545)로부터 순차적으로 출력된다.
스텝(S5003)에 있어서 WSM 회로(530)는 메모리 어레이(560)를 데이터가 기록될 수 있는 상태로 놓는다. 이어서, MLC 논리회로(58)에 의해서 생성된 기록될 데이터가 판독되어(스텝 S5004), 기록 회로(550)로 출력된다(스텝 S5005). 이후 데이터가 메모리 어레이(560)에 있어서의 메모리 셀에 기록된다(스텝 S5006). 스텝(S5007)에 있어서는 기록될 1페이지에 대응하는 모든 데이터가 기록되었는 지의 여부가 판정된다. 모든 데이터가 기록되었다면 데이터 기록 동작은 완료된다. 모든 데이터가 기록되지 않았다면 어드레스는 갱신된다(스텝 S5008). 동일 페이지에 대한 데이터 판독 동작을 반복할 필요가 없으면 어드레스가 갱신된 후 스텝(S5004)으로 리턴되어 데이터 기록 동작이 반복된다.
따라서, 1 페이지에 대응하는 데이터가 메모리 어레이(56)에 있어서의 메모리 셀에 기록된다. 기록될 데이터 수만큼 상기 처리를 반복함으로써 모든 데이터가 기록된다.
도 20 및 도 21의 플로우챠트를 비교해보면, MLC 플래시 메모리(500)는 WSM 회로(530)에 의해서 데이터를 기록할 것인지의 여부를 판정할 필요가 없다. 따라서, 동작은 매우 단순하다.
메모리 어레이(560)의, 데이터 판독 가능 상태 및 데이터 기록 가능 상태가 스위칭되는 횟수는 메모리 어레이(460)의 경우보다 작다. 이에 따라서, 예컨대, MLC 플래시 메모리(500)에 있어서 메모리 어레이(560)에 인가되는 전압의 스위칭 등의 시간-소모 처리가 상대적으로 감소될 수 있음으로써 데이터 기록 동작 속도가 증가될 수 있다.
어드레스에 대한 처리는 주로 어드레스를 단순히 인크리먼트시키는 것이므로 이 목적을 위한 전용 회로[어드레스 생성 회로(570) 등]에 의해서 이루어질 수 있다.
상기한 바와 같이, 도 15에 도시된 MLC 플래시 메모리(500)는 도 14에 도시된 MLC 플래시 메모리(400)와 비교하면 데이터 기록 동작 속도를 보다 증가시킴과 아울러 WSM 회로(530)의 구성을 더욱 단순화할 수 있게 한다.
상기한 바와 같이, 종래의 MLC 플래시 메모리는, 소정의 범위까지, 데이터 기록 동작 속도를 증가시킴과 아울러 WSM 회로의 구성을 단순화시킬 수 있다.
그러나, 종래의 MLC 플래시 메모리에 있어서의 데이터 기록 동작은 내부 어드레스의 생성 및 필요한 데이터의 입/출력 제어를 필요로 한다. 따라서, WSM 회로는 보다 대형화되고 복잡해짐으로써 데이터 기록 동작 속도를 매우 증가시킬 수 없다. 발생될 어레이 노이지의 위험은 완전히 제거되지 않는다.
본 발명의 한 실시형태에 따르면, 1비트 이상의 데이터를 기억 가능한 복수의 메모리 셀을 구비하는 메모리 어레이를 포함하는 반도체 기억장치는, 상기 복수의 메모리 셀에 대한 데이터 기록 동작을 제어하는 데이터 기록 제어부; 상기 복수의 메모리 셀 중에서 데이터가 기록되는 소정 메모리 셀의 어드레스를 지정하는 어드레스 신호를 생성하는 어드레스 신호 생성부; 상기 소정 메모리 셀로부터 데이터를 판독하는 데이터 판독부; 상기 소정 메모리 셀에 기록된 데이터를 일시적으로 기억하는 버퍼부; 상기 소정 메모리 셀에 데이터를 기록할지의 여부를 판단하고, 그 판단 결과에 의거하여 제1기록신호를 출력하는 판단부; 상기 제1기록신호에 의해 지정되는 데이터를 기억하고, 그 기억 데이터에 의거하여 제2기록신호를 출력하는 데이터 레지스터부; 및 상기 제2기록신호에 의거하여 상기 소정 메모리 셀에 데이터를 기록하는 데이터 기록부를 포함한다. 상기 데이터 레지스터부는 상기 데이터 기록 제어부에 의해 출력되는 제어신호에 의거하여 제1기록신호에 의해 지정되는 데이터를 기억한다.
본 발명의 일실시형태에 있어서, 상기 데이터 레이지터부는 복수의 레지스터를 포함하며, 상기 제1기록신호에 의해 지정되는 데이터를 상기 복수의 레지스터 중에서 어드레스 신호에 의해 지정되는 어드레스에 대응하는 레지스터에 기억한다.
본 발명의 일실시형태에 있어서, 상기 소정 메모리 셀에 데이터를 기록할 필요가 없는 경우, 상기 소정 메모리 셀에 데이터가 기록되는 것을 방지하기 위해 상기 데이터 레지스터부는 상기 기억된 데이터를 소정값으로 고정한다.
상기 일실시형태에 있어서, 상기 데이터 판독부는 복수의 메모리 셀 중에서 2개 이상의 메모리 셀로부터 데이터를 동시에 판독한다.
본 발명의 다른 실시형태에 따르면, 1비트 이상의 데이터를 기억 가능한 복수의 메모리 셀을 구비하는 메모리 어레이를 포함하는 반도체 기억장치는, 상기 복수의 메모리 셀에 대한 데이터 기록 동작을 제어하는 데이터 기록 제어부; 상기 복수의 메모리 셀 중에서 데이터가 기록될 소정 메모리 셀의 어드레스를 지정하는 어드레스 신호를 생성하는 어드레스 신호 생성부; 상기 소정 메모리 셀로부터 데이터를 판독하는 데이터 판독부; 상기 소정 메모리 셀에 기록될 데이터를 일시적으로 기억하는 버퍼부; 및 상기 소정 메모리 셀에 데이터를 기록할지의 여부를 판단하는 판단부를 포함한다. 상기 판단부는 상기 버퍼부에 기억된 데이터를 갱신하는 피드백 데이터를 출력한다. 상기 버퍼부는 상기 데이터 기록 제어부에 의해 출력되는 제어신호에 따라서 피드백 데이터에 의거하여 상기 버퍼부에 기억된 데이터를 갱신한다.
본 발명의 일실시형태에 있어서, 상기 소정 메모리 셀에 데이터를 기록할 필요가 없는 경우, 상기 소정 메모리 셀에 데이터가 기록되는 것을 방지하기 위해 상기 버퍼부는 상기 기억된 데이터를 소정값으로 갱신한다.
본 발명의 일실시형태에 있어서, 상기 데이터 판독부는 복수의 메모리 셀 중에서 2개 이상의 메모리 셀로부터 데이터를 동시에 판독한다.
본 발명의 일실시형태에 있어서, 상기 버퍼부에 기억된 데이터는 상기 소정 메모리 셀에 데이터가 기록되기 전에 상기 피드백 데이터에 의거하여 소정 메모리 셀에 기억된 데이터로 갱신된다.
본 발명의 또 다른 실시형태에 따르면, 1비트 이상의 데이터를 기억 가능한 복수의 메모리 셀을 구비하며 반도체 기억장치에 포함되는 메모리 어레이에 데이터를 기록하는 방법은, 상기 복수의 메모리 셀 중에서 데이터가 기록될 소정 메모리 셀의 어드레스를 지정하는 어드레스 신호를 생성하는 단계; 상기 소정 메모리 셀로부터 데이터를 판독하는 단계; 상기 소정 메모리 셀에 기록될 데이터를 일시적으로 기억하는 단계; 상기 소정 메모리 셀에 데이터를 기록할지의 여부를 판단하고, 그 판단 결과에 의거하여 제1기록신호를 출력하는 단계; 상기 제1기록신호에 의해 지정되는 데이터를 기억하고, 그 기억 데이터에 의거하여 제2기록신호를 출력하는 단계; 및 상기 제2기록신호에 의거하여 상기 소정 메모리 셀에 데이터를 기록하는 단계을 포함한다.
본 발명의 일실시형태에 있어서, 상기 일시적으로 기억된 데이터를 갱신하는 피드백 데이터를 출력하는 단계; 및 상기 피드백 데이터에 의거하여 상기 일시적으로 기억된 데이터를 갱신하는 단계을 더 포함한다.
본 발명의 반도체 기억장치에 따르면, 데이터 기록 제어부는 제1제어신호를 출력하여 데이터 레지스터부가 제1기록신호를 기억하도록 지시한다. 데이터 기록 제어부로부터 출력되는 제2제어신호에 의해 지정되는 타이밍에 의거하여, 데이터 레지스터부는 어드레스 신호에 의해 지정되는 소정 레지스터 셀에 제1기록신호를 기억한다. 데이터 레지스터부는 기억된 제1기록신호에 의거하여 생성되는 제2기록신호를 데이터 기록부에 직접 출력한다. 이러한 구성에 의해, MLC 논리회로, 데이터 레지스터부 및 데이터 기록 동작용 데이터 기록부 간의 데이터 처리를 WSM 회로(데이터 기록 제어부)와 관계없이 수행할 수 있다. 그리하여, WSM 회로의 구성을 단순화할 수 있고, 데이터 처리시간도 단축할 수 있다.
그리하여, 여기에 기재된 본 발명은, 데이터 기록 동작의 속도를 증가시키고, 어레이 노이즈의 영향을 충분히 억제하도록 단순화된 WSM 회로를 갖는 반도체 기억장치, 및 상기 반도체 기억장치에 대한 데이터 기록을 제어하는 방법을 제공하는 이점을 가능하게 한다.
도 1은 본 발명의 실시예에 따른 반도체 기억장치를 나타내는 블록도;
도 2는 도 1에 나타낸 반도체 기억장치의 데이터 레지스터 회로를 나타내는 도면;
도 3은 도 2에 나타낸 데이터 레지스터 회로의 레지스터 셀을 나타내는 도면;
도 4는 도 2에 나타낸 데이터 레지스터 회로의 레지스터 제어회로를 나타내는 도면;
도 5는 도 1에 나타낸 반도체 기억장치의 데이터 기록 동작에 있어서의 신호의 타이밍 차트;
도 6은 도 1에 나타낸 반도체 기억장치의 데이터 기록 동작을 나타내는 플로우차트;
도 7은 도 2에 나타낸 데이터 레지스터에 포함될 수 있는 다른 레지스터 셀을 나타내는 도면;
도 8은 데이터 기록 동작시의, MLC 플래시 메모리의 데이터와 이진 플래시의 데이터 간의 호환성을 나타내는 진리표;
도 9는 도 8에 나타낸 논리를 실현하기 위한 논리회로를 나타내는 도면;
도 10은 종래의 반도체 기억장치의 역치전압의 분포를 나타내는 그래프;
도 11은 제2 종래의 반도체 기억장치의 역치전압의 분포를 나타내는 그래프;
도 12는 제2 종래의 반도체 기억장치에 데이터를 기록하는 알고리즘을 나타내는 도면;
도 13은 제2 종래의 반도체 기억장치의 메모리 어레이를 나타내는 도면;
도 14는 제2 종래의 반도체 기억장치의 구성을 나타내는 도면;
도 15는 제3 종래의 반도체 기억장치의 구성을 나타내는 도면;
도 16은 제3 종래의 반도체 기억장치에 데이터를 기록하는데 사용되는 논리를 나타내는 진리표;
도 17은 도 16에 의해 나타낸 논리를 실현하는 대표적인 논리회로를 나타내는 도면;
도 18은 제3 종래의 반도체 기억장치에 데이터를 기록하는데 사용되는 논리를 나타내는 다른 진리표;
도 19는 도 18에 의해 나타낸 논리를 실현하는 대표적인 논리회로를 나타내는 도면;
도 20은 제2 종래의 반도체 기억장치의 데이터 기록 동작을 나타내는 플로우차트; 및
도 21은 제3 종래의 반도체 기억장치의 데이터 기록 동작을 나타내는 플로우차트이다.
<도면의 주요부분에 대한 부호의 설명>
100 : MLC 플래시 메모리
101, 111, 114, 132, 133, 134, 134, 135, 136, 137, 138 : 제어 버스
102, 112, 139, 171 : 어드레스 버스
103, 113, 121, 141, 146, 181, 182, 191: 데이터 버스
110 : UI 회로 120 : 페이지 버퍼 회로
130 : WSM 회로 131 : 신호
140 : 판독 회로 145 : MUX 회로
150 : 기록 회로 160 : 메모리 어레이 회로
161 : 판독 버스 170 : 어드레스 생성회로
180 : MLC 논리회로 190 : 데이터 레지스터 회로
본 발명의 이들 및 다른 이점은 첨부 도면을 참조하여 당업자에 의해 다음의 상세한 설명을 읽고 이해될 수 있다.
(실시형태)
이하, 첨부 도면을 참조하여 실시형태에 의해 본 발명을 상세하게 설명한다.
도 1은 본 발명의 실시형태에 따른 반도체 기억장치로서 MLC 플래시 메모리(100)를 나타내는 블록도이다. 도 1은 데이터 기록 동작에 관계되는 MLC 플래시 메모리(100)의 구성 요소를 나타낸다.
MLC 플래시 메모리(100)는 데이터 레지스터 회로(190)를 포함한다. 나머지 구성은 도 15에 나타낸 MLC 플래시 메모리(500)의 구성과 거의 동일하다. MLC 플래시 메모리(100)는 도 13에 나타낸 메모리 어레이와 거의 동일한 메모리 어레이(160)를 포함한다. 메모리 어레이(160)는 1비트 이상에 대응하는 데이터를 기억 가능한 복수의 메모리 셀을 포함한다.
MLC 플래시 메모리(100)에 있어서, 페이지 버퍼 회로(120)는 페이지 버퍼 기록 기능을 가지며, 판독 회로(감지 증폭기)(140)는 페이지모드 판독 기능를 가진다.
MLC 플래시 메모리(100)의 구성 및 데이터 기록 동작을 설명한다.
MLC 플래시 메모리(100)는 사용자인터페이스 회로(이하, "UI 회로"라 함)(110), 제어 버스(101), 어드레스 버스(102) 및 데이터 버스(103)를 포함한다. MLC 플래시 메모리(100)는 UI 회로(110)에 접속되어 있는 제어 버스(101), 어드레스 버스(102) 및 데이터 버스(103)를 통해 외부에서 조작된다.
UI 회로(110)는 제어 버스(101), 어드레스 버스(102) 및 데이터 버스(103)를 통해 외부신호를 수신하고, 그 신호를 해석하여 MLC 플래시 메모리(100)의 동작을제어한다. UI 회로(110)는 제어 버스(111), 어드레스 버스(112) 및 데이터 버스(113)을 통해 페이지 버퍼 회로(120)에 접속되고, 또한, 제어 버스(114)를 통해 기록 상태 머신 회로(이하, "WSM 회로"라 함)(130)에 접속되어 있다.
페이지 버퍼 회로(120)는 메모리 셀에 기록될 데이터를 일시적으로 기억하고, 제어 버스(111), 어드레스 버스(112) 및 데이터 버스(113)를 통해 UI 회로(110)에 의해 데이터 기록을 제어한다.
WSM 회로(130)는 복수의 메모리 셀에 대한 데이터 기록을 제어하는 데이터 기록 제어부로서 작용한다. 예컨대, WSM 회로(130)는 예컨대, 메모리 셀에 데이터를 재기록하라는 지시를 받아 메모리 어레이(160)의 동작을 제어한다. WSM 회로(130)는 제어 버스(114)를 통해 UI 회로(110)로부터의 제어 신호에 의해 지시를 받아서, WSM 회로(130)의 상태를 신호(131)에 의해 UI 회로(110)에 알린다.
WSM 회로(130)는 제어 버스(133, 134, 135, 136, 137)를 통해 MLC 논리회로(180), 판독 회로(감지 증폭기)(140), 기록 회로(프로그램 회로)(150), 메모리 어레이(160) 및 데이터 레지스터 회로(190)에 각각 접속되어 있다. 판독 회로(140), 기록 회로(150) 및 메모리 어레이(160)는 판독 버스(161)를 통해 서로 접속되어 있다.
어드레스 생성회로(어드레스 제어기)(170)는 제어 버스(138) 및 어드레스 버스(139)를 통해 WSM 회로(130)로부터 제어 신호 및 어드레스 신호를 각각 수신하여 내부 주소를 생성한다. 어드레스 생성회로(170)는 데이터가 기록될 선두 어드레스(leading address)를 어드레스 버스(171)에 출력한다. 그후, 어드레스 생성회로(170)는 제어 버스(138)로부터 수신된 제어 클록신호(CLK)(어드레스 제어신호)에 의해 어드레스를 인크리먼트하여, 인크리먼트된 어드레스를 어드레스 버스(171)에 출력한다. 어드레스 신호는 데이터가 기록될 메모리 셀의 어드레스를 지정한다.
판독 회로(140)는 페이지모드 판독 기능을 가진다. 판독 회로(140)는 제어 버스(134)를 통해 WSM 회로(130)로부터 제어 신호를 수신하여 메모리 어레이(160) 내의 메모리 셀로부터 데이터를 판독한다. 데이터가 판독되는 메모리 셀은 제어 버스(136)를 통해 WSM 회로(130)에 의해 출력되는 제어 신호 및 어드레스 버스(171)를 통해 어드레스 생성회로(170)에 의해 출력되는 어드레스 신호에 의거하여 선택된다. 선택된 메모리 셀은 WSM 회로(130)에 의해 활성화된다. 메모리 어레이(160)에 있어서, 메모리 셀, 기준 셀, 더미 셀 등이 어레이화되어 있다.
선택된 메모리 셀의 드레인이 판독 버스(161)에 접속되어 있다. 판독 회로(140)는 판독 버스(161)를 통해 각 선택된 메모리 셀의 역치전압(데이터 기억상태를 지정)을 확인한 후 선택된 메모리 셀로부터 판독된 데이터를 데이터 버스(141)를 통해 데이터 멀티플렉스 회로(이하, "MUX 회로"라 함)(145)에 출력한다.
MUX 회로(145)는 어드레스 버스(171)를 통해 어드레스 생성회로(170)로부터의 어드레스 신호를 수신한다. 이 어드레스 신호에 의거하여, MUX 회로(145)는 판독 회로(140)로부터 수신된 데이터로부터 출력될 데이터를 선택(처리)하고, 그 선택된 데이터를 데이터 버스(146)를 통해 MLC 논리회로(180)에 출력한다.
MLC 논리회로(180)(판단부)는 제어 버스(133)를 통해 WSM 회로(130)로부터 출력되는 제어 신호, 데이터 버스(121)를 통해 페이지 버퍼 회로(120)로부터 출력되는 목표 데이터, 및 데이터 버스(146)를 통해 MUX 회로(145)로부터 출력되는 데이터를 수신한다. 각 선택된 메모리 셀의 현재 역치전압에 의거하여, MLC 논리회로(180)는 각 선택된 메모리 셀에 데이터를 기록할지의 여부를 판단한다. 그 판단 결과로서 기록 데이터 펄스(PRG)를 데이터 버스(181)를 통해 데이터 레지스터 회로(190)에 출력한다.
데이터 레지스터 회로(190)는 제어 버스(137)를 통해 WSM 회로(130)에 의해 출력(발행)되는 기록 제어신호(WRT)에 의해 기록 데이터 펄스(PRG)를 래치(latch)하라고 지시한다. 이때, 어드레스 생성회로(170)를 제어하는 제어 버스(138)를 통해 WSM 회로(130)로부터 출력되는 제어 클록신호(CLK)가 데이터 레지스터 회로(190)에 또한 입력된다. 제어 클록신호(CLK)에 의거하여, 데이터 레지스터 회로(190)는 MLC 논리회로(180)로부터 수신된 기록 데이터 펄스(PRG)를 어드레스 버스(171)를 통해 어드레스 생성회로(170)로부터 어드레스 신호(ADD)에 의해 지정되는 데이터 레지스터 회로(190) 내의 레지스터 셀에 기억한다.
데이터 레지스터 회로(190)는 데이터 버스(191)를 통해 레지스터 셀에 기억된 기록 데이터 펄스(PRG)의 내용을 포함하는 데이터 신호(PLS)를 기록 회로(150)에 출력한다.
WSM 회로(130)는 제어 버스(136)를 통해 메모리 어레이(160)에 제어신호를 출력하여 메모리 어레이(160)가 데이터를 수신하도록 한다. 그후, WSM 회로(130)는제어 버스(135)를 통해 기록 회로(150)에 제어 신호를 출력하여 메모리 어레이(160)에 기록 데이터 펄스를 인가한다. 기록 회로(150)는 판독 버스(161)를 통해 각 선택된 메모리 셀의 드레인에 접속된 비트라인에 고전압 신호를 순차적으로 인가함으로써, 기록 데이터 펄스에 대응하는 데이터를 선택된 메모리 셀에 기록한다.
도 1에 나타낸 MLC 플래시 메모리(100)의 페이지 버퍼 회로(120)는 다음과 같은 피드백 기능을 가진다. 제어 버스(132)를 통해 WSM 회로(130)로부터 출력되는 제어 신호에 의해 피드백 수행이 지시되면, 페이지 버퍼 회로(120)는 제어 버스(138)를 통해 WSM 회로(130)로부터 출력된 제어 클록신호(CLK)에 의거하여, 어드레스 버스(171)를 통해 어드레스 생성회로(170)로부터 출력되는 어드레스 신호에 의해 지정되는 데이터를 MLC 논리회로(180)에 의해 생성되는 피드백 데이터로 갱신할 수 있다. 피드백 데이터는 데이터 버스(182)를 통해 MLC 논리회로(180)로부터 페이지 버퍼 회로(120)에 출력된다. 어드레스 신호에 의해 지정되는 메모리 셀에 데이터를 기록할 필요가 없는 경우, 페이지 버퍼 회로(120)는 기억된 데이터를 소정값으로 갱신하여 메모리 셀에 데이터가 기록되는 것을 방지할 수 있다.
제어 클록신호(CLK)에 의거하여, 데이터 레지스터 회로(190)는 기록 데이터 펄스(PRG)를 어드레스 신호(ADD)에 의해 지정되는 레지스터 셀에 기억한다. 그후, 기억된 기록 데이터 펄스(PRG)의 내용을 포함하는 데이터(PLS)가 기록 회로(150)에 직접 출력된다.
상술한 바와 같이, MLC 논리회로(180), 데이터 레지스터 회로(190) 및 데이터 기록 동작용 기록 회로(150) 간의 데이터 처리를 WSM 회로(130)와 관계없이 수행할 수 있다. 그리하여, WSM 회로(130)의 구성을 단순화할 수 있고, 데이터 처리시간도 단축할 수 있다.
도 2는 데이터 레지스터 회로(190)의 대표적인 구성을 나타낸다. 이 실시형태에 있어서, 하나의 어드레스에 4개의 메모리 셀이 할당되고, 1페이지에 4개의 어드레스가 대응된다.
도 2에 나타낸 바와 같이, 데이터 레지스터 회로(190)는 레지스터 제어회로(192), 레지스터 셀(Reg) 및 데이터를 반전 출력하는 인버터(193)를 포함한다.
레지스터 제어회로(192)는 어드레스 생성회로(170)로부터 출력되는 어드레스 신호(ADD), WSM 회로(130)로부터 출력되는 기록 제어신호(WRT), 및 WSM 회로(130)로부터 출력되는 클록신호(CLK)를 수신하여, 기록 제어신호(WRO∼WR3) 및 판독 제어신호(RD0∼RD3)를 대응하는 레지스터 셀(Reg)에 출력한다. 각 레지스터 셀(Reg)은 예컨대, 플립플롭 회로와 같은 래치로 이루어져 있다.
기록 제어신호(WR0∼WR3) 중 대응하는 하나에 의해 활성화되는 각 레지스터 셀(Reg)은 데이터 버스(181)을 통해 MLC 논리회로(180)에 의해 출력되는 기록 데이터 펄스(PRG0∼PRG3) 중 대응하는 하나를 수신하여, 그 수신된 기록 데이터 펄스를 래치한다.
또한, 각 레지스터 셀(Reg)은 판독 제어신호(RD0∼RD3) 중 대응하는 하나에 의해 활성화되고, 래치된 기록 데이터 펄스(기록 데이터 펄스(PRG0∼PRG3) 중 하나에 대응)를 반전하여 출력한다. 각 인버터(193)는 수신된 기록 데이터 펄스(기록 데이터 펄스(PRG0∼PRG3) 중 하나에 대응)를 또한 반전하고, 데이터 신호(PLS0∼PLS3) 중 하나로서 반전된 기록 데이터 펄스를 데이터 버스(191)에 출력한다(도 1). 데이터 신호(PLS0∼PLS3)은 데이터 레지스터 회로(190)에 입력되는 기록 데이터 펄스(PRG0∼PRG3)에 각각 대응한다.
상술한 바와 같이, 레지스터 제어회로(192)는 데이터 레지스터 회로(190)에 입력되는 3개의 제어신호, 즉, 어드레스 신호(ADD), 기록 제어신호(WRT) 및 제어 클록신호(CLK)에 의거하여 기록 제어신호(WR0∼WR3) 및 판독 제어신호(RD0∼RD3)를 생성한다. 레지스터 제어회로(192)는 이들 신호를 각 레지스터 셀(Reg)에 공급하고, 각 레지스터 셀(Reg)은 기록 제어신호(WR0∼WR3) 및 판독 제어신호(RD0∼RD3)에 의거하여 동작한다. 데이터 레지스터 회로(190)에 입력되는 기록 데이터 펄스(PRG0∼PRG3)은 각 레지스터 셀(Reg) 및 각 인버터(193)에 대해 소정값 만큼 변환되어, 인버터(193)로부터 데이터 신호(PLS0∼PLS3)가 출력된다.
도 3은 도 2에 나타낸 레지스터 셀(Reg)의 대표적인 구성을 나타내는 회로도이다.
도 3에 나타낸 레지스터 셀(Reg)은 NAND회로 및 인버터를 포함하는 래치 회로이다. 입력신호로서의 기록 데이터 펄스(PRG)는 판독 제어신호(RD) 및 기록 제어신호(WR)에 의거하여 변환되고, 그 변환된 데이터는 데이터 신호(PLS#)로서 출력된다.
판독 제어신호(RD)는 판독 활성화 신호이며, 데이터 출력이인에이블(enable)된다. 그리하여, 래치된 기록 데이터 펄스(PRG)를 반전함으로써 얻어지는 신호는 데이터 신호(PLS#)으로서 출력된다. 데이터 신호(PLS#)은 도 2의 레지스터 셀(Reg)에 의해 출력되는 각 데이터 신호(PLS0∼PLS3)에 대응한다.
기록 제어신호(WR)는 기록 활성화 신호이며, 데이터 기록이 인에이블된다. 그리하여, 기록 데이터 펄스(PRG)에 의해 지정되는 데이터는 플립플롭 회로에 의해 래치된다.
도 4는 도 2에 나타낸 레지스터 제어회로(192)의 대표적인 구성 나타내는 회로도이다.
레지스터 제어회로(192)는 인버터 및 AND회로를 포함한다. 레지스터 제어회로(192)는 입력된 2비트 어드레스 신호(ADD0 및 ADD1)를 해독하고, 판독 제어신호(RD0∼RD3) 중 하나를 출력한다.
기록 제어신호(WRT)가 인에이블인 경우, 레지스터 제어회로(192)는 제어 클록신호(CLK)에 의거하여 기록 제어신호(WRO∼WR3) 중 하나를 각 레지스터 셀(Reg)에 출력한다.
도 5는 MLC 플래시 메모리(100)(도 1)의 데이터 기록 동작의 대표적인 타이밍을 나타내는 타이밍 차트이다.
도 5의 타이밍 차트는 데이터 기록 동작의 순서를 나타내며 각 동작 스텝에 요구되는 실제 시간을 정확하게 나타내는 것은 아니다. 이 실시형태에 있어서, 1페이지에 2개의 어드레스가 포함되고, 페이지 버퍼 회로(120) 및 데이터 레지스터 회로(190)는 4개 이상의 어드레스에 대응하는 데이터를 기억할 수 있다.
시각 t0에서, WSM 회로(130)에 의해 제어 버스(139)에 출력되는 어드레스 초기화 신호에 의해, 어드레스 버스(171)에 출력되는 어드레스 신호는 데이터가 기록될 제1메모리 셀의 어드레스로서 셋된다. 이 경우, 어드레스 신호는 어드레스 신호(ADD0)에 셋된다.
시각 t1에서, WSM 회로(130)에 의해 제어 버스(134)에 출력되는 감지 인에이블 신호(sense enable signal)에 의거하여, 2개의 어드레스에 의해 지정되는 메모리 셀로부터 1페이지에 대응하는 데이터가 판독된다.
어드레스 신호(ADD0)에 의해 지정되는 메모리 어레이(160) 내의 메모리 셀에 기억된 데이터(RDAT0), 및 동일 페이지 내의 어드레스 신호(ADD1)에 의해 지정되는 메모리 셀에 기억되는 데이터(RDAT1)는, 판독 회로(140)에 의해 판독되어 데이터 버스(141)에 출력된다.
MUX 회로(145)는 데이터 버스(141)를 통해 판독 회로(140)로부터 출력되는 2개의 어드레스에 대한 데이터를 수신하여, 어드레스 신호(ADD0)에 대응하는 데이터를 데이터 버스(146)를 통해 MLC 논리회로(180)에 출력한다.
페이지 버퍼 회로(120)는 어드레스 신호(ADD0)에 의해 지정되는 메모리 셀에 기록될 데이터를 데이터 버스(121)를 통해 MLC 논리회로(180)에 출력한다.
MLC 논리회로(180)는 페이지 버퍼 회로(120)에 기억된 판독 데이터(RDAT0) 및 데이터(PB0)를 수신하여, 판단 결과로서 기록 데이터 펄스(PRG0)를 데이터 버스(181)를 통해 데이터 레지스터 회로(190)에 출력한다.
또한, MLC 논리회로(180)는 피드백 데이터(FBK0)를 데이터 버스(182)를 통해페이지 버퍼 회로(120)에 출력한다.
이어서, 시각 t2에서, 어드레스 생성회로(170)를 제어하는 어드레스 제어신호가 출력된다.
도 5에 있어서, 어드레스는 어드레스 제어신호의 하강 에지(falling edge)에서 갱신된다. 어드레스 제어신호가 HIGH인 기간에서, 데이터 레지스터 회로(190)는 데이터 레지스터 제어신호에 의거하여 기록 데이터 펄스(PRG)를 래치한다. 피드백 신호에 의거하여, 페이지 버퍼 회로(120)에 기억된 데이터의 피드백이 수행된다. 어드레스 제어신호가 HIGH인 경우, 데이터 레지스터 회로(190)는 어드레스 신호(ADD0)에 대응하는 기록 데이터 펄스(PRG0)(데이터 레지스터 0)를 래치한다.
어드레스 신호(ADD0)에 대응하는 피드백 신호(FBK0)는 페이지 버퍼 회로(120)(페이지 버퍼 0)에 의해 래치된다. 이때, 페이지 버퍼 회로(120)는 피드백 신호(FBK0)에 의거하여, 예컨대, 그 안에 기억된 데이터(PB0)를 데이터(RDAT0)와 동일한 내용을 갖는 데이터로 갱신하여도 좋다.
시각 t3에서, 어드레스 제어신호의 하강 에지에서, 어드레스 신호(ADD0)는 동일 페이지 내의 다른 어드레스를 지정하는 어드레스 신호(ADD1)로 변화된다. 그에 따라, MUX 회로(145)는 어드레스 신호(ADD1)에 의해 지정되는 메모리 셀로부터 판독되는 데이터(RDAT1)를 데이터 버스(146)를 통해 MLC 논리회로(180)에 출력한다.
페이지 버퍼 회로(120)는 어드레스 신호(ADD1)에 의해 지정되는 메모리 셀에 기록될 데이터(PB1)를 출력한다. MLC 논리회로(180)는 데이터(RDAT1) 및 데이터(PB1)를 수신하여, 새로운 기억 데이터 펄스(PRG1) 및 새로운 피드백 데이터(FBK1)를 출력한다. 어드레스 신호가 어드레스 신호(ADD1)인 경우, MLC 플래시 메모리(100)의 동작은 어드레스 신호가 어드레스 신호(ADD0)일 때와 거의 동일하다.
다른 페이지의 어드레스가 처리 목표가 되면, 데이터 판독 동작이 필요하게 된다. 이 경우 역시, 어드레스의 갱신, 데이터 레지스터 회로(190)의 데이터 기억 및 페이지 버퍼 회로(120)에 기억된 데이터의 피드백은 상술한 바와 거의 동일한 방식으로 수행된다.
도 6은 MLC 플래시 메모리(100)(도 1)의 데이터 기록 동작에 있어서의 WSM 회로(130)에 의해 수행되는 제어 동작을 나타내는 플로우차트이다.
도 6에 있어서의 스텝 S1000∼S1004는 도 5를 참조하여 상기에 설명한 제어 동작에 각각 대응한다.
도 6에 있어서, 종래 기술에 의해 수행되는 동작과 비교하는데 필요한 처리만을 나타낸다. 실제로, WSM 회로(130)는 다른 처리도 수행한다. 처리 순서는 도 6에 나타낸 것과 달라도 좋다.
스텝 S1000에서, WSM 회로(130)는 내부 어드레스를 페이지 어드레스의 선두 어드레스로서 설정한다. 스텝 S1001에서, WSM 회로(130)는 메모리 어레이(160)를 데이터 판독 가능한 상태로 설정한다.
스텝 S1002에서, 메모리 어레이(160) 내의 메모리 셀로부터 데이터가 판독된다. 페이지모드 판독에 의해, 페이지의 모든 어드레스에 대응하는 데이터가 동시에판독될 수 있다.
스텝 S1003에서, 내부 어드레스가 갱신되고, 내부 어드레스의 갱신에 따라 데이터 레지스터 회로(190)에 데이터가 기억되고 페이지 버퍼 회로(120)에 기억된 데이터의 피드백이 수행된다.
내부 어드레스의 갱신은 한 페이지에 포함되는 어드레스의 개수 만큼 반복된다. 스텝 S1004에서, 데이터가 기록될 모든 페이지에 대해 메모리 셀로부터의 데이터 판독 및 어드레스의 갱신이 동시에 수행된다. 스텝 S1004에 있어서 메모리 셀로부터의 데이터 판독 및 어드레스의 갱신이 데이터가 기록되는 모든 페이지에 대해 동시에 수행되지 않는다면, 다음 페이지에 대해 스텝 S1002 및 S1003에서의 처리가 수행된다. 스텝 S1004에 있어서 모든 페이지에 대해 메모리 셀로부터의 데이터 판독 및 어드레스의 갱신이 수행되면(즉, 데이터 기록에 대한 준비가 완료되면), 스텝 S1005의 처리가 수행된다.
데이터 기록에 대한 준비가 완료되면, 메모리 어레이(160)를 데이터 가능한 상태로 설정하고(스텝 S1005), 메모리 어레이(160)에 데이터를 기록한다(스텝 S1006).
상술한 바와 같이, 본 발명에 따른 MLC 플래시 메모리(100)는 WSM 회로(130)가 종래의 데이터 기록 동작 제어와 비교해서 명백히 간단한 제어를 수행하도록 한다.
MLC 플래시 메모리(100) 내의 WSM 회로(130)는 제어하는 신호의 개수가 더 작으므로, 데이터 기록 동작의 속도가 용이하게 증가하고 회로 규소도 작게 된다.
상기 실시형태에 있어서, 본 발명에 따른 MLC 플래시 메모리(100)는 페이지모드 판독 기능을 가진다. 페이지모드 판독 기능을 가지지 않더라도, 내부 어드레스(171)가 변경될 때마다 데이터 판독 동작을 수행하는 것에 의해 거의 동일한 효과가 얻어진다.
데이터 레지스터 회로(190)의 기록 데이터 펄스의 래치 및 페이지 버퍼 회로(120)에 기억된 데이터의 피드백은 어드레스 신호에 의거하여 제어된다. 어드레스 신호에 의거하여 반드시 두 동작을 제어할 필요는 없으며, 어드레스 신호에 의거하여 어느 한 동작을 제어하는 것에 의해 거의 동일한 효과가 얻어진다.
데이터 레지스터 회로(190) 또는 페이지 버퍼 회로(120)의 특정 구성, 또는 데이터 버스 또는 제어 버스의 특정 배선 방식에 의해 하나의 동작만, 즉, 래치 또는 피드백을 제어할 수 있더라도, 거의 동일한 효과가 얻어진다.
도 7은 도 2에 나타낸 데이터 레지스터 회로(190)에 포함될 수 있는 레지스터 셀(Reg)의 다른 대표적인 구성을 나타내는 회로도이다. 도 7에 있어서, 레지스터 셀(Reg)은 NAND 회로 및 인버터를 포함하는 래치 회로이다. 도 7의 회로는 WSM 회로(130)로부터의 리셋신호(RSTB)를 수신하는 것을 제외하고는 도 3의 회로와 동일하다.
도 7의 레지스터 셀(Reg)(래치 회로)의 구성은, 예컨대, 검증을 위한 데이터 판독 동작에 의해 야기되는 어레이 노이즈 등의 메모리 셀의 역치전압의 명백한 변동에 의해 일어나는 메모리 셀의 오버 프로그램 상태를 억제한다.
WSM 회로(130)에 의해 제어되는 도 7의 레지스터 셀(Reg)은 기록될 데이터를래치한다. 레지스터 셀(Reg)은 기록될 래치된 데이터를 리셋할 수 있지만 셋할 수 없는 동작모드를 가진다.
이러한 모드에서는, 제어신호로서의 리셋신호(RSTB)를 LOW로 설정한다.
이 경우, 플립플롭 회로로 이루어진 래치 회로는 데이터를 리셋할 수 있지만 데이터를 셋할 수 없다. 리셋신호(RSTB)가 HIGH인 경우, 플립플롭 회로로 이루어진 래치 회로는 데이터의 셋 및 리셋 모두 가능하며, 도 3에 나타낸 래치 회로와 거의 동일한 방식으로 동작한다.
데이터 레지스터 회로(190)에 최초로 데이터가 기억될 때, 리셋신호(RSTB)를 HIGB로 설정한다. 그후, 리셋신호(RSTB)를 LOW로 설정한다. 그리하여, 데이터 기록이 필요없는 메모리 셀에 데이터가 기록되는 것을 방지하기 위해, 대응하는 레지스터 셀(Reg)에 기억된 데이터를 소정값으로 고정한다. 도 7의 래치 회로의 동작은 데이터 레지스터 회로(190)에 데이터를 기억하는 동작을 제외하고는 도 3의 래치 회로의 동작과 동일하다.
상술한 바와 같이, 최초에 데이터 레지스터 회로(190)에 데이터가 기억될 때, 리셋신호(RSTB)를 HIGB로 설정한다. 이때, 데이터가 기록될 메모리 셀에 대응하는 레지스터 셀(Reg)은 셋된다. 데이터가 기록되지 않을 메모리 셀에 대응하는 레지스터 셀(Reg)은 리셋된다.
그러므로, 리셋신호(RSTB)가 HIGH인 경우, 도 7의 래치 회로를 포함하는 데이터 레지스터 회로(190)는, 도 3의 래치 회로를 포함하는 데이터 레지스터 회로(190)와 마찬가지로, 데이터를 기록할지의 여부를 메모리 셀 단위로 설정할 수있다.
도 7의 래치 회로를 포함하는 데이터 레지스터 회로(190)에 있어서, 동일 기록 주기 내에서 데이터가 이미 기록된 레지스터 셀(Reg)에 데이터를 축적하지 않도록 리셋신호(RSTB)를 LOW로 설정한다.
도 7의 래치 회로를 포함하는 데이터 레지스터 회로(190)에 있어서, 최초의 데이터 판독 동작의 기준 역치전압에 도달하지 않았다고 판단되는 메모리 셀에 대응하는 레지스터 셀(Reg)은 셋된다. 한번 셋되었던 모든 레지스터 셀(Reg)이 리셋되면, 하나의 기록 주기 동작이 완료된 것으로 판단할 수 있다.
한번 리셋되었던 레지스터 셀(Reg)가 다시 셋되는 현상은, 어레이 노이즈의 영향 및 공급전압의 변동에 의해 야기되는 감지 증폭기에 의한 검출 결과의 변동에 의해 일어난다. 이것은 MLC 플래시 메모리의 오버 프로그램 상태를 야기시키므로 바람직하지 않다.
도 7의 래치 회로를 포함하는 데이터 레지스터 회로(190)는 최초의 데이터 기록 동작을 제외하고는 레지스터 셀(Reg)의 데이터를 셋하지 않는다. 그리하여, 어레이 노이즈 등에 의해 야기되는 부정확한 기록 동작이 억제되고, 메모리 셀의 오버 프로그램 상태가 방지된다.
MLC 플래시 메모리(100)의 페이지 버퍼 회로(120)에 기억된 데이터의 피드백 기능은 검증을 위한 데이터 판독 동작에서의 메모리 셀의 역치전압의 명백한 변동을 감소시킨다. 도 7의 래치 회로를 포함하는 데이터 레지스터 회로(190)를 사용하면, 피드백 기능을 삭제할 수 있다.
MLC 플래시 메모리(100)(도 1)는 데이터 레지스터 회로(190) 내에 도 3 또는 도 7에 나타낸 래치 회로를 설치하고 회로(예컨대, MLC 논리회로)의 일부를 변경함으로써 2진 플래시 메모리와 외관상으로 동일 방식으로 데이터를 처리할 수 있다.
일반적으로 플래시 메모리에 있어서, 메모리 셀에 대한 데이터 기록 동작은 일방향으로 수행된다. 일반적인 2진 플래시 메모리에 있어서, 낮은 역치전압으로부터 높은 역치전압으로만 데이터 기록이 수행된다. 예컨대, 데이터 "1"로부터 데이터 "0"으로만 데이터 기록이 수행된다. 역방향으로의 데이터 재기록은, 예컨대, 블록 단위의 데이터 소거가 요구된다.
메모리 셀에 기억된 데이터를 겹쳐 기록(overwrite)하는 것에 대해, 2진 플래시 메모리는 데이터 "1"을 데이터 "0"으로 겹쳐 기록할 수 있지만 데이터 "0"을 데이터 "1"로 겹쳐 기록할 수는 없다. 그러므로, 기록후 데이터는 기록전 데이터와 기록될 지시된 데이터의 AND(논리합)이다.
도 8은 MLC 플래시 메모리의 데이터와 2진 플래시 메모리의 데이터 간의 호환성을 나타내는 대표적인 진리표를 나타낸다.
도 8에 나타낸 바와 같이, MLC 플래시 메모리는 데이터 "10"을 데이터 "01"로 겹쳐 기록할 수 있으므로, 데이터 겹쳐 기록에 대해 유연하게 대응할 수 있다. 사용자가 MLC 플래시 메모리를 2진 플래시 메모리와 유사한 방식으로 취급하도록 하기 위해, 2진 플래시 메모리와 마찬가지로 기록후 데이터는 기록전 데이터와 기록이 지시된 데이터의 AND(논리합)인 것이 바람직하다.
상술한 바와 같이, 본 발명에 따른 MLC 플래시 메모리는 페이지 버퍼 회로에기억된 데이터를 메모리 셀에 기억된 데이터로 갱신할 수 있다.
이러한 기능을 사용하면, 데이터 겹쳐 기록의 논리가 2진 플래시 메모리와 유사하게 데이터를 용이하게 재기록할 수 있다.
상기에 언급한 도 19는 피드백 데이터를 생성하는 대표적인 논리회로를 나타낸다. 도 9는 도 19에 나타낸 논리회로의 구성에 추가하여 데이터 겹쳐 기록에 대한 논리를 생성하는 기능을 갖는 논리회로를 나타낸다.
도 9에 나타낸 논리회로는 NAND회로, NOR회로, AND회로, OR회로 및 인버터를 포함한다. 출력신호(FBK1 및 FBK0), 입력신호 등은 도 19에 나타낸 논리회로와 동일하다.
도 9에 나타낸 논리회로에 데이터 겹쳐 기록에 대한 논리를 생성하기 위해, STP1=STP0=L(L: LOW레벨 또는 0)로 설정하므로, 데이터 겹쳐 기록에 대한 논리를 생성하는 단계은 데이터 기록에 대한 다른 단계과 구별된다.
도 9에 나타낸 논리회로는 출력데이터(FBK)[0:1]를 최종 단계에 설치된 AND회로(AND게이트)에 의한 LOW레벨로 고정할 수 있는 점에서 도 19에 나타낸 논리회로와 다르다.
그러므로, 도 9에 나타낸 논리회로에 있어서, STP1=STP0=L이고 현재 메모리 셀로부터 판독된 데이터를 LOW레벨일 경우 LOW 출력신호가 얻어진다.
도 8 및 도 9를 참조하여 설명한 바와 같이, 도 1에 나타낸 MLC 플래시 메모리(100)의 데이터 기록 제어용 회로구성은 데이터 겹쳐 기록에도 사용할 수 있다.
본 발명의 반도체 기억장치에 따르면, 데이터 기록 제어부는 제1제어신호를 출력하여 데이터 레지스터부가 제1기록신호를 기억하도록 지시한다. 데이터 기록 제어부로부터 출력되는 제2제어신호에 의해 지정되는 타이밍에 의거하여, 데이터 레지스터부는 어드레스 신호에 의해 지정되는 소정 레지스터 셀에 제1기록신호를 기억한다. 데이터 레지스터부는 기억된 제1기록신호에 의거하여 발생되는 제2기록신호를 데이터 기록부에 직접 출력한다. 이러한 구성에 의해, MLC 논리회로, 데이터 레지스터부 및 데이터 기록 동작용 기록부 간의 데이터 처리를 WSM 회로(데이터 기록 제어부)와 관계없이 수행할 수 있다. 그리하여, WSM 회로의 구성을 단순화할 수 있고, 데이터 처리시간도 단축할 수 있다.
본 발명의 사상 및 범위로부터 벗어나지 않게 각종 다른 수정이 가해질 수 있다.
Claims (10)
1비트 이상의 데이터를 기억 가능한 복수의 메모리 셀을 구비하는 메모리 어레이를 포함하는 반도체 기억장치로서,
상기 복수의 메모리 셀에 대한 데이터 기록 동작을 제어하는 데이터 기록 제어부;
상기 복수의 메모리 셀 중에서 데이터가 기록될 소정 메모리 셀의 어드레스를 지정하는 어드레스 신호를 생성하는 어드레스 신호 생성부;
상기 소정 메모리 셀로부터 데이터를 판독하는 데이터 판독부;
상기 소정 메모리 셀에 기록될 데이터를 일시적으로 기억하는 버퍼부;
상기 소정 메모리 셀에 데이터를 기록할지의 여부를 판단하고, 그 판단 결과에 의거하여 제1기록신호를 출력하는 판단부;
상기 제1기록신호에 의해 지정되는 데이터를 기억하고, 그 기억 데이터에 의거하여 제2기록신호를 출력하는 데이터 레지스터부; 및
상기 제2기록신호에 의거하여 상기 소정 메모리 셀에 데이터를 기록하는 데이터 기록부를 포함하고:
상기 데이터 레지스터부는 상기 데이터 기록 제어부에 의해 출력되는 제어신호에 의거하여 제1기록신호에 의해 지정되는 데이터를 기억하는 것을 특징으로 하는 반도체 기억장치.
제1항에 있어서, 상기 데이터 레이지터부는 복수의 레지스터를 포함하며, 상기 제1기록신호에 의해 지정되는 데이터를 상기 복수의 레지스터 중에서 상기 어드레스 신호에 의해 지정되는 어드레스에 대응하는 레지스터에 기억하는 것을 특징으로 하는 반도체 기억장치.
제1항에 있어서, 상기 소정 메모리 셀에 데이터를 기록할 필요가 없는 경우, 상기 소정 메모리 셀에 데이터가 기록되는 것을 방지하기 위해 상기 데이터 레지스터부는 상기 기억된 데이터를 소정값으로 고정하는 것을 특징으로 하는 반도체 기억장치.
제1항에 있어서, 상기 데이터 판독부는 복수의 메모리 셀 중에서 2개 이상의 메모리 셀로부터 데이터를 동시에 판독하는 것을 특징으로 하는 반도체 기억장치.
1비트 이상의 데이터를 기억 가능한 복수의 메모리 셀을 구비하는 메모리 어레이를 포함하는 반도체 기억장치로서,
상기 복수의 메모리 셀에 대한 데이터 기록 동작을 제어하는 데이터 기록 제어부;
상기 복수의 메모리 셀 중에서 데이터가 기록될 소정 메모리 셀의 어드레스를 지정하는 어드레스 신호를 생성하는 어드레스 신호 생성부;
상기 소정 메모리 셀로부터 데이터를 판독하는 데이터 판독부;
상기 소정 메모리 셀에 기록될 데이터를 일시적으로 기억하는 버퍼부; 및
상기 소정 메모리 셀에 데이터를 기록할지의 여부를 판단하는 판단부를 포함하고:
상기 판단부는 상기 버퍼부에 기억된 데이터를 갱신하는 피드백 데이터를 출력하고;
상기 버퍼부는 상기 데이터 기록 제어부에 의해 출력되는 제어신호에 따라서 피드백 데이터에 의거하여 상기 버퍼부에 기억된 데이터를 갱신하는 것을 특징으로 하는 반도체 기억장치.
제5항에 있어서, 상기 소정 메모리 셀에 데이터를 기록할 필요가 없는 경우, 상기 소정 메모리 셀에 데이터가 기록되는 것을 방지하기 위해 상기 버퍼부는 상기 기억된 데이터를 소정값으로 갱신하는 것을 특징으로 하는 반도체 기억장치.
제5항에 있어서, 상기 데이터 판독부는 상기 복수의 메모리 셀 중에서 2개 이상의 메모리 셀로부터 데이터를 동시에 판독하는 것을 특징으로 하는 반도체 기억장치.
제5항에 있어서, 상기 버퍼부에 기억된 데이터는 상기 소정 메모리 셀에 데이터가 기록되기 전에 상기 피드백 데이터에 의거하여 상기 소정 메모리 셀에 기억된 데이터로 갱신되는 것을 특징으로 하는 반도체 기억장치.
1비트 이상의 데이터를 기억 가능한 복수의 메모리 셀을 구비하며 반도체 기억장치에 포함되는 메모리 어레이에 데이터를 기록하는 방법으로서,
상기 복수의 메모리 셀 중에서 데이터가 기록될 소정 메모리 셀의 어드레스를 지정하는 어드레스 신호를 생성하는 단계;
상기 소정 메모리 셀로부터 데이터를 판독하는 단계;
상기 소정 메모리 셀에 기록될 데이터를 일시적으로 기억하는 단계;
상기 소정 메모리 셀에 데이터를 기록할지의 여부를 판단하고, 그 판단 결과에 의거하여 제1기록신호를 출력하는 단계;
상기 제1기록신호에 의해 지정되는 데이터를 기억하고, 그 기억 데이터에 의거하여 제2기록신호를 출력하는 단계; 및
상기 제2기록신호에 의거하여 상기 소정 메모리 셀에 데이터를 기록하는 단계을 포함하는 것을 특징으로 하는, 데이터를 기록하는 방법.
제9항에 있어서, 상기 일시적으로 기억된 데이터를 갱신하는 피드백 데이터를 출력하는 단계; 및
상기 피드백 데이터에 의거하여 상기 일시적으로 기억된 데이터를 갱신하는 단계을 더 포함하는 것을 특징으로 하는, 데이터를 기록하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2002-00175044 | 2002-06-14 | ||
JP2002175044A JP4010400B2 (ja) | 2002-06-14 | 2002-06-14 | 半導体記憶装置およびデータ書き込み制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030096093A true KR20030096093A (ko) | 2003-12-24 |
KR100556199B1 KR100556199B1 (ko) | 2006-03-03 |
Family
ID=29561827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030038529A KR100556199B1 (ko) | 2002-06-14 | 2003-06-14 | 반도체 기억장치 및 데이터 기록방법 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7161843B2 (ko) |
EP (1) | EP1372157B1 (ko) |
JP (1) | JP4010400B2 (ko) |
KR (1) | KR100556199B1 (ko) |
CN (1) | CN100338685C (ko) |
DE (1) | DE60307184T2 (ko) |
TW (1) | TWI229340B (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2005093760A1 (ja) * | 2004-03-26 | 2008-02-14 | スパンション エルエルシー | 半導体装置および半導体装置にデータを書き込む方法 |
JP4421925B2 (ja) | 2004-03-30 | 2010-02-24 | 三星電子株式会社 | 不揮発性半導体記憶装置 |
KR100732628B1 (ko) * | 2005-07-28 | 2007-06-27 | 삼성전자주식회사 | 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치 |
US8184469B2 (en) * | 2009-11-30 | 2012-05-22 | Micron Technology, Inc. | Stored multi-bit data characterized by multiple-dimensional memory states |
JP5270627B2 (ja) * | 2010-09-01 | 2013-08-21 | スパンション エルエルシー | 半導体装置 |
CN104111901B (zh) * | 2014-08-07 | 2017-05-24 | 昆腾微电子股份有限公司 | 用于填充存储器的方法及装置 |
US11194515B2 (en) * | 2019-09-16 | 2021-12-07 | Macronix International Co., Ltd. | Memory system, method of operating memory, and non-transitory computer readable storage medium |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7447069B1 (en) | 1989-04-13 | 2008-11-04 | Sandisk Corporation | Flash EEprom system |
KR100470575B1 (ko) * | 1995-01-31 | 2005-06-27 | 가부시끼가이샤 히다치 세이사꾸쇼 | 불휘발성메모리 |
US5825708A (en) | 1997-11-18 | 1998-10-20 | Western Digital Corporation | Control system for allowing multiple chips of a disk drive to safely assert and de-assert a reset signal on a reset line |
US6034891A (en) * | 1997-12-01 | 2000-03-07 | Micron Technology, Inc. | Multi-state flash memory defect management |
US6424486B2 (en) | 1997-12-17 | 2002-07-23 | Texas Instruments Incorporated | Method and apparatus for positioning a read/write head of a hard disk drive |
JP2923643B2 (ja) * | 1998-02-27 | 1999-07-26 | 株式会社日立製作所 | 多値メモリの記録方法および半導体記憶装置 |
US6026031A (en) * | 1998-05-13 | 2000-02-15 | Micron Technology, Inc. | Relaxed write timing for a memory device |
JP3871184B2 (ja) | 2000-06-12 | 2007-01-24 | シャープ株式会社 | 半導体記憶装置 |
US6496406B1 (en) | 2000-06-30 | 2002-12-17 | Mitsumi Electric Co., Ltd. | Systems for managing optical disk drive parameters |
US6728798B1 (en) * | 2000-07-28 | 2004-04-27 | Micron Technology, Inc. | Synchronous flash memory with status burst output |
JP2002288988A (ja) * | 2001-03-28 | 2002-10-04 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
-
2002
- 2002-06-14 JP JP2002175044A patent/JP4010400B2/ja not_active Expired - Fee Related
-
2003
- 2003-06-12 US US10/461,066 patent/US7161843B2/en active Active
- 2003-06-12 EP EP03253721A patent/EP1372157B1/en not_active Expired - Lifetime
- 2003-06-12 DE DE60307184T patent/DE60307184T2/de not_active Expired - Lifetime
- 2003-06-13 TW TW092116151A patent/TWI229340B/zh not_active IP Right Cessation
- 2003-06-14 KR KR1020030038529A patent/KR100556199B1/ko active IP Right Grant
- 2003-06-16 CN CNB031427235A patent/CN100338685C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60307184D1 (de) | 2006-09-14 |
CN1469389A (zh) | 2004-01-21 |
EP1372157B1 (en) | 2006-08-02 |
KR100556199B1 (ko) | 2006-03-03 |
EP1372157A1 (en) | 2003-12-17 |
DE60307184T2 (de) | 2007-07-12 |
JP2004022061A (ja) | 2004-01-22 |
US20030233526A1 (en) | 2003-12-18 |
TWI229340B (en) | 2005-03-11 |
TW200405348A (en) | 2004-04-01 |
JP4010400B2 (ja) | 2007-11-21 |
CN100338685C (zh) | 2007-09-19 |
US7161843B2 (en) | 2007-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9087608B2 (en) | Method of programming non-volatile memory device and non-volatile memory device using the same | |
KR100616214B1 (ko) | 멀티-레벨 셀을 가지는 플래시 메모리 장치의 프로그램제어 회로 및 그 프로그램 제어 방법 | |
US7978532B2 (en) | Erase method of flash memory device | |
JP4744819B2 (ja) | マルチレベルセルを有するフラッシュメモリ装置とその読み出し方法及びプログラム方法 | |
US8611155B2 (en) | Semiconductor memory device and program methods thereof | |
JP3889699B2 (ja) | 不揮発性半導体記憶装置及びそのデータ書き込み方法 | |
KR100885784B1 (ko) | 불휘발성 메모리 장치의 소프트 프로그램 방법 | |
KR100960448B1 (ko) | 불휘발성 메모리 장치의 프로그램 검증 방법 | |
US20090161432A1 (en) | Flash memory device and operating method thereof | |
KR100882206B1 (ko) | 비휘발성 메모리 장치 및 그 동작 방법 | |
JP2013254542A (ja) | 半導体メモリ | |
KR20120050184A (ko) | 반도체 메모리 장치 및 그 소거 방법 | |
US6937522B2 (en) | Nonvolatile semiconductor memory device | |
JP2022535376A (ja) | メモリデバイスおよび方法 | |
KR20120059035A (ko) | 반도체 메모리 장치의 프로그램 방법 | |
US8730735B2 (en) | Method of programming a semiconductor memory device | |
KR100556199B1 (ko) | 반도체 기억장치 및 데이터 기록방법 | |
KR20150110917A (ko) | 비휘발성 메모리 및 이의 프로그램 방법 | |
JPH09320289A (ja) | 半導体不揮発性メモリ | |
KR20120069115A (ko) | 반도체 메모리 장치 및 그의 동작 방법 | |
WO2005093760A1 (ja) | 半導体装置および半導体装置にデータを書き込む方法 | |
KR20090016945A (ko) | 읽기동작타임을 줄일 수 있는 플래시 메모리 시스템 및그것의 읽기 동작 방법 | |
JP2011134422A (ja) | 不揮発性半導体記憶装置 | |
KR20120069116A (ko) | 반도체 메모리 장치 |
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: 20130131 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140129 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150202 Year of fee payment: 10 |