KR100764052B1 - 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 - Google Patents

유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 Download PDF

Info

Publication number
KR100764052B1
KR100764052B1 KR1020060073452A KR20060073452A KR100764052B1 KR 100764052 B1 KR100764052 B1 KR 100764052B1 KR 1020060073452 A KR1020060073452 A KR 1020060073452A KR 20060073452 A KR20060073452 A KR 20060073452A KR 100764052 B1 KR100764052 B1 KR 100764052B1
Authority
KR
South Korea
Prior art keywords
data
address
program
buffer
data buffer
Prior art date
Application number
KR1020060073452A
Other languages
English (en)
Inventor
윤치원
임흥수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060073452A priority Critical patent/KR100764052B1/ko
Priority to US11/775,872 priority patent/US7539077B2/en
Application granted granted Critical
Publication of KR100764052B1 publication Critical patent/KR100764052B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

여기에 개시된 플래시 메모리 장치는, 복수 개의 메모리 셀들로 구성된 메모리 셀 어레이, 연속된 어드레스를 가지며 상기 메모리 셀들에 프로그램될 복수 개의 데이터를 저장하는 데이터 버퍼, 상기 데이터 버퍼에 저장된 데이터를 상기 메모리 셀들로 프로그램하는 기입 드라이버, 그리고 상기 데이터 버퍼 및 상기 기입 드라이버의 동작을 제어하는 컨트롤러를 포함하며, 상기 컨트롤러는 상기 프로그램될 데이터의 첫번째 어드레스 정보를 근거로 하여 상기 데이터 버퍼의 물리적인 어드레스와 상기 프로그램 데이터의 어드레스를 유동적으로 매핑한다.

Description

유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및 그것의 프로그램 방법{FLASH MEMORY DEVICE WITH FLEXIBLE ADDRESS BOUNDARY AND PROGRAM METHOD THEREOF}
도 1은 N 개의 워드에 대응되는 데이터를 저장하는 데이터 버퍼의 구성을 보여주는 도면;
도 2는 N 워드의 데이터 버퍼에 프로그램 데이터를 저장하는 일반적인 데이터 저장 예를 보여주는 도면;
도 3은 본 발명에 따른 플래시 메모리 장치의 전체 구성을 보여주는 블록도;
도 4는 본 발명에서 N 워드의 데이터 버퍼에 프로그램 데이터(PGM_DATA)를 저장하는 예를 보여주는 도면;
도 5는 본 발명에 따른 데이터 버퍼의 데이터 저장 방법을 보여주는 흐름도; 그리고
도 6은 본 발명에 따른 프로그램 방법을 보여주는 흐름도이다.
*도면의 주요부분에 대한 부호의 설명*
10 : 메모리 셀 어레이 20 : 열 선택부
30 : 행 선택부 40 : 기입 드라이버
50 : 데이터 버퍼 60 : 컨트롤러
70 : 전압 발생회로 100 : 플래시 메모리 장치
본 발명은 플래시 메모리 장치에 관한 것으로, 좀 더 구체적으로는 버퍼를 구비한 플래시 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(volatile semiconductor memory device)와 불 휘발성 반도체 메모리 장치(non-volatile semiconductor memory device)로 구분된다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에, 불 휘발성 반도체 메모리 장치는 외부 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로, 불 휘발성 반도체 메모리장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다. 불 휘발성 반도체 메모리 장치 중에서도 플래시(flash) EEPROM(electrically erasable programmable read-only memory)은 집적도가 높아, 대용량 보조 기억 장치로의 응용에 매우 유리하다.
플래시 메모리는 일반적으로 낸드형과 노어형으로 구분된다. 낸드 플래시 메모리는 F-N 터널링(Fowler-Nordheim tunneling) 방식에 의해 쓰기(이하, 프로그램이라 칭함) 및 소거 동작을 수행한다. 반면에, 노어 플래시 메모리는 열 전자 주 입(Hot Electron Injection) 방식에 의해 프로그램되고, F-N 터널링(Fowler-Nordheim tunneling) 방식에 의해 소거된다. 노어 플래시 메모리는 코드 저장형 메모리로서, 낸드 플래시 메모리에 비해 동작 속도가 빠르기 때문에 고속 데이터 처리가 요구되는 장치에 주로 사용된다.
노어형 플래시 메모리의 셀 어레이(Cell Array)는 복수 개의 뱅크(Bank)로 구성되고, 각각의 뱅크는 복수 개의 섹터(Sector)로 구성된다. 그리고, 각각의 섹터는 복수 개의의 메모리 셀(Memory Cell)들로 구성된다. 일반적으로, 노어형 플래시 메모리의 소거(Erase) 동작은 섹터 단위로 수행되고, 프로그램(Program)은 복수의 워드(Word) 단위(또는, Byte 단위)로 수행된다.
플래시 메모리에 대한 저비용(low cost) 및 고 집적도(high density)의 요구가 높아짐에 따라, 하나의 메모리 셀에 2 개의 상태 정보(예를 들면, 0, 1)를 저장하는 SLC(Single-Level Cell) 방식 대신, 하나의 메모리 셀에 복수 개의 상태(state) 정보(예를 들면, 00, 10, 01, 00)를 저장하는 MLC(Multi-Level Cell) 방식이 사용되고 있다.
MLC 방식을 사용하는 경우, 하나의 셀이 복수 개의 상태 정보를 가질 수 있어야 한다. 통상, MLC의 각각의 상태에 대해 서로 다른 프로그램 방식이 적용되어야 하므로, 각각의 상태에 대해 정밀한 프로그램 제어를 수행해야 한다. 따라서, MLC 방식은 SLC 방식에 비해 긴 프로그램 시간을 갖는다. 이와 같은 문제를 해결하기 위해, 버퍼 프로그램 방식이 사용되고 있다. 버퍼 프로그램 방식은 데이터 버퍼에 N 개의 워드(N은 양의 정수)에 대응되는 프로그램 데이터를 미리 입력받아 저장 한 후, 저장된 데이터 중에서 실제 프로그램될 데이터를 스캔하여 프로그램한다.
일반적으로, 플래시 메모리에서 프로그램을 수행하기 위해서는 사전에 해당 어드레스 부분을 반드시 소거(erase)(즉, 데이터 값을 1 (또는 11)로 만듦)하여야 한다. 따라서, 프로그램 데이터가 1 (또는 11)이라는 것은, 프로그램시 아무런 프로그램 동작을 수행하지 않아도 원하는 데이터를 프로그램한 것과 같다고 할 수 있다. 따라서, 버퍼 프로그램 방식에서는 데이터 버퍼에 저장된 데이터 중에서 실제 프로그램 될 데이터(0 (또는 00, 01, 10))를 스캔(Scan)하여 찾아내고, 찾아낸 데이터를 소정의 개수 만큼씩 동시에 프로그램한다.
도 1은 N 개의 워드에 대응되는 데이터를 저장하는 데이터 버퍼의 구성을 보여주는 도면이다.
도 1을 참조하면, 데이터 버퍼의 어드레스 구성은 데이터 버퍼에 저장될 데이터의 어드레스 구성에 대응되도록 물리적으로 고정되어 있다. 예를 들면, 저장될 데이터의 열 어드레스(column address)에 따라서 해당 데이터가 데이터 버퍼의 몇 번째 워드에 저장될 지가 결정된다. 데이터 버퍼에 저장되는 데이터는 연속된 어드레스를 갖는 데이터이다. 만일 페이지 버퍼에 저장될 데이터의 첫 번째 데이터의 어드레스가 데이터 버퍼의 10번째 워드에 대응된다면, 상기 데이터는 데이터 버퍼의 10번째 워드 영역부터 N 번째 워드 영역까지 순차적으로 저장된다.
도 2는 N 워드의 데이터 버퍼에 프로그램 데이터를 저장하는 일반적인 데이터 저장 예를 보여주는 도면이다. 도 2에는 32 워드의 사이즈를 가지는 데이터 버퍼에 프로그램 데이터를 저장하는 방식이 도시되어 있다.
도 2를 참조하면, 만일 프로그램하고자 하는 데이터(PGM_DATA)가 연속된 데이터이고 32 워드에 해당된다 하더라도, 어드레스의 구성에 따라 한번에 데이터 버퍼에 모두 저장되지 못하는 경우가 발생한다. 예를 들면, 연속된 프로그램 데이터(PGM_DATA)의 첫 번째 데이터의 어드레스(1st_ADD)가 데이터 버퍼의 21번째 워드 영역(ADD 20)에 대응되는 경우, 상기 프로그램 데이터(PGM_DATA)는 데이터 버퍼의 21번째 워드 영역(ADD 20)부터 32번째 워드 영역(ADD 31)까지 순차적으로 저장된다(도 2의 A 참조). 그리고, 나머지 프로그램 데이터(PGM_DATA)는 데이터 버퍼에 저장된 데이터가 프로그램되고 난 후에 페이지 버퍼의 첫번째 워드 영역(ADD 0)부터 20번째 영역(ADD 19)까지 순차적으로 저장된다(도 2의 B 참조). 즉, 도 2에 도시된 프로그램 데이터(PGM_DATA)는 연속된 어드레스를 갖는 32 워드의 데이터임에도 불구하고, 데이터 버퍼가 가지고 있는 물리적인 어드레스 바운더리의 제약 때문에 2개의 그룹(A, B)으로 분할되어 저장된다. 2개의 그룹으로 분할 저장된 데이터는 각각 독립적으로 프로그램된다. 따라서, 프로그램에 소요되는 시간이 길어지는 문제가 있다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 프로그램 시간을 단축할 수 있는 플래시 메모리 장치 및 그것의 프로그램 방법을 제공하는데 있다.
상기의 과제를 이루기 위하여 본 발명의 플래시 메모리 장치는, 복수 개의 메모리 셀들로 구성된 메모리 셀 어레이; 연속된 어드레스를 가지며 상기 메모리 셀들에 프로그램될 복수 개의 데이터를 저장하는 데이터 버퍼; 상기 데이터 버퍼에 저장된 데이터를 상기 메모리 셀들로 프로그램하는 기입 드라이버; 그리고 상기 데이터 버퍼 및 상기 기입 드라이버의 동작을 제어하는 컨트롤러를 포함하며, 상기 컨트롤러는 상기 프로그램될 데이터의 첫번째 어드레스 정보를 근거로 하여 상기 데이터 버퍼의 물리적인 어드레스와 상기 프로그램 데이터의 어드레스를 유동적으로 매핑하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 데이터 버퍼는 한 번의 프로그램 동작 동안 상기 메모리 셀들에 프로그램될 복수 개의 데이터를 저장하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 데이터 버퍼는 N 워드의 데이터 저장 용량을 가진 적어도 하나 이상의 버퍼를 구비하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램될 데이터의 전체 용량은 상기 데이터 버퍼의 데이터 저장 용량과 같거나 작은 것을 특징으로 한다.
이 실시예에 있어서, 상기 컨트롤러는, 상기 첫번째 어드레스에 대응되는 데이터 저장 영역부터 상기 데이터 버퍼의 마지막 물리적인 어드레스에 대응되는 데이터 저장 영역까지 상기 프로그램될 데이터를 순차적으로 저장한 후, 상기 데이터 버퍼의 첫번째 물리적인 어드레스에 대응되는 데이터 저장 영역부터 상기 첫번째 어드레스에 대응되는 데이터 저장 영역 이전까지 상기 프로그램될 데이터를 순차적으로 저장하는 것을 특징으로 한다.
이 실시예에 있어서, 입력된 상기 프로그램 데이터의 어드레스가 ADD 이고, 상기 데이터 버퍼에 N 워드의 데이터가 저장될 때, 상기 프로그램 데이터의 어드레스는 ADD mod N 값에 대응되는 상기 데이터 버퍼의 어드레스로 매핑되는 것을 특징으로 한다.
상기의 과제를 이루기 위하여 본 발명에 따른 플래시 메모리 장치의 프로그램 방법은, 연속된 어드레스를 가지는 프로그램 데이터의 첫번째 어드레스 정보를 근거로 하여, 데이터 버퍼의 물리적인 어드레스와 상기 프로그램 데이터의 어드레스를 유동적으로 매핑하는 단계; 상기 매핑 결과에 따라 상기 프로그램 데이터를 상기 데이터 버퍼에 저장하는 단계; 그리고 상기 데이터 버퍼에 저장된 데이터를 상기 메모리 셀들로 프로그램하는 단계를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 데이터 버퍼에는 한 번의 프로그램 동작 동안 상기 메모리 셀들에 프로그램될 복수 개의 데이터가 저장되는 것을 특징으로 한다.
이 실시예에 있어서, 상기 데이터 버퍼에는 N 워드의 데이터 저장 용량을 가진 적어도 하나 이상의 버퍼가 구비되는 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램될 데이터의 전체 용량은 상기 데이터 버퍼의 데이터 저장 용량과 같거나 작은 것을 특징으로 한다.
이 실시예에 있어서, 상기 데이터 버퍼의 물리적인 어드레스와 상기 프로그램 데이터의 어드레스를 유동적으로 매핑하는 단계는, 상기 첫번째 어드레스를 근거로 하여 상기 프로그램 데이터의 어드레스 입력 레인지를 결정하는 단계; 그리고 상기 어드레스 입력 레인지에 속하는 상기 프로그램 데이터가 상기 데이터 버퍼로 로딩될 위치를 결정하는 단계를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램 데이터가 상기 데이터 버퍼로 로딩될 위치는, 입력된 상기 프로그램 데이터의 어드레스가 ADD 이고, 상기 데이터 버퍼에 N 워드의 데이터가 저장되는 경우, ADD mod N 값에 대응되는 상기 데이터 버퍼의 어드레스 위치인 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램 데이터를 상기 데이터 버퍼에 저장하는 단계는, 상기 첫번째 어드레스에 대응되는 데이터 저장 영역부터 상기 데이터 버퍼의 마지막 물리적인 어드레스에 대응되는 데이터 저장 영역까지 상기 프로그램될 데이터를 순차적으로 저장하는 단계; 그리고 상기 데이터 버퍼의 첫번째 물리적인 어드레스에 대응되는 데이터 저장 영역부터 상기 첫번째 어드레스에 대응되는 데이터 저장 영역 이전까지 상기 프로그램될 데이터를 순차적으로 저장하는 단계를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램 단계는 상기 데이터 버퍼에 저장된 데이터를 L 워드 단위의 데이터 스캔 동작을 수행하고, 상기 스캔 결과를 소정의 비트 단위로 프로그램하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 프로그램 단계는 상기 첫번째 어드레스에 대응되는 데이터 저장 영역부터 상기 데이터 버퍼의 마지막 물리적인 어드레스에 대응되는 데이터 저장 영역에 저장된 상기 프로그램 데이터를 프로그램하는 단계; 그리고 상기 데이터 버퍼의 첫번째 물리적인 어드레스에 대응되는 데이터 저장 영역부터 상기 첫번째 어드레스에 대응되는 데이터 저장 영역 이전까지 저장된 상기 프로그램 데이터를 프로그램하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 3은 본 발명에 따른 플래시 메모리 장치의 전체 구성을 보여주는 블록도로서, 노어형 플래시 메모리의 구성이 도시되어 있다.
도 3을 참조하면, 본 발명에 따른 플래시 메모리 장치(100)는 메모리 셀 어레이(10), 열 선택부(20), 행 선택부(30), 기입 드라이버(40), 데이터 버퍼(50), 컨트롤러(60), 및 전압 발생회로(70)를 포함한다.
메모리 셀 어레이(10)는 복수 개의 뱅크들로 구성되고, 각각의 뱅크는 복수 개의 섹터들로 구성된다. 그리고, 각각의 섹터는 복수 개의 행들(즉, 워드 라인들)과 복수 개의 열들(즉, 비트 라인들)의 교차 영역에 배열된 복수 개의 메모리 셀들을 포함한다.
전압 발생 회로(70)는 메모리 셀에 대한 프로그램, 소거, 및 독출 동작에서 필요로 하는 복수 개의 정전압들(예를 들면, 벌크 전압(VBULK), 워드라인 전압(VWL), 비트라인 전압(VBL))을 발생한다. 행 선택부(30)는 행 어드레스(X-Addr)에 응답해서 하나의 워드라인을 선택하고, 전압 발생 회로(70)에서 발생된 워드라인 전압(VWL)을 선택된 워드라인으로 인가한다. 열 선택부(20)는 열 어드레스(Y-Addr)에 응답해서 복수 개의 비트라인들을 선택한다.
데이터 버퍼(50)는 N 개의 워드(즉, N ×16 bit)에 대응되는 데이터 저장 용량을 갖도록 구성된다. 데이터 버퍼(50)에는 한 번의 프로그램 동작 동안 사용될 N 워드의 프로그램 데이터(PGM_DATA)가 미리 저장된다. 데이터 버퍼(50)에 저장된 프로그램 데이터(PGM_DATA)는 기입 드라이버(40)로 제공된다.
기입 드라이버(40)는 스캔 동작을 통해서 데이터 버퍼(50)로부터 제공되는 데이터 중 실제 프로그램될 데이터를 검색한다. 그리고, 기입 드라이버(40)는 검색된 실제 프로그램될 데이터를 동시 프로그램 가능한 비트 수 단위로 프로그램한다. 기입 드라이버(40)에서 사용되는 스캔 알고리즘은 다양한 형태로 구성될 수 있다. 예를 들면, 이전에 수행된 스캔 결과가 프로그램되는 구간 동안 새로운 스캔 동작이 수행될 수도 있고, 데이터 버퍼(50)로부터 데이터가 로딩되는 동작과 스캔 동작이 동시에 수행될 수도 있다. 이와 같은 스캔 프로그램 동작은 본 발명의 사상을 벗어나지 않는 범위 내에서 다양한 형태로 변형 및 변경 가능하다.
컨트롤러(60)는 기입 드라이버(40), 데이터 버퍼(50) 및 전압 발생회로(70)로 복수 개의 제어 신호를 발생하여, 플래시 메모리의 프로그램, 소거, 및 독출 동작과 관련된 제반 동작을 제어한다. 특히, 본 발명에 따른 컨트롤러(60)는 데이터 버퍼(50)가 가지고 있는 물리적인 어드레스 바운더리에 영향을 받지 않도록, 데이터 버퍼(50)에 프로그램 데이터(PGM_DATA)를 유동적으로 저장한다. 데이터 버퍼(50)에 저장되는 데이터는 연속적인 어드레스를 갖는다. 데이터 버퍼(50)에 저장되는 프로그램 데이터(PGM_DATA)의 전체 크기는 데이터 버퍼(50)의 전체 저장 용량과 같거나 작다.
도 4는 본 발명에서 N 워드의 데이터 버퍼(50)에 프로그램 데이터(PGM_DATA)를 저장하는 예를 보여주는 도면이다. 도 4에는 32 워드의 데이터를 저장하는 데이터 버퍼(50)의 데이터 저장 방식이 도시되어 있다.
도 4를 참조하면, 프로그램 데이터(PGM_DATA)의 어드레스 구성이 데이터 버퍼(50)의 물리적인 어드레스 바운더리를 벗어난다 하더라도 데이터 버퍼(50)에 모두 저장될 수 있다. 예를 들면, 연속된 프로그램 데이터(PGM_DATA)의 첫 번째 데이터의 어드레스(1st_ADD)가 데이터 버퍼의 21번째 워드 영역(ADD 20)에 대응되는 경우, 상기 프로그램 데이터(PGM_DATA)는 데이터 버퍼(50)의 21번째 워드 영역(ADD 20)부터 32번째 워드 영역(ADD 31)까지 순차적으로 저장된다(도 4의 A 참조). 그리고, 나머지 프로그램 데이터(PGM_DATA)는 데이터 버퍼(50)의 첫번째 워드 영역(ADD 0)부터 20번째 영역(ADD 19)까지 순차적으로 저장된다(도 4의 B 참조). 이와 같은 데이터의 저장 방식은 컨트롤러(60)의 제어에 의해 수행된다. 컨트롤러(60)는 연속된 프로그램 데이터(PGM_DATA)의 첫 번째 데이터(1st_DATA)의 어드레스 정보(1st_ADD)를 저장하고, 저장된 첫 번째 어드레스 정보(1st_ADD)를 이용하여 프로그램 데이터(PGM_DATA)와 데이터 버퍼(50)의 어드레스 매핑을 수행한다. 그 결과, 데이터 버퍼(50)가 가지고 있는 물리적인 어드레스 바운더리의 제약을 받지 않고 프로그램 데이터(PGM_DATA)를 데이터 버퍼(50) 내에 모두 저장할 수 있게 된다. 데이터 버퍼(50)에 저장된 프로그램 데이터(PGM_DATA)는 한 번의 프로그램 동작 동안 모두 프로그램된다. 따라서, 프로그램에 소요되는 시간이 종래에 비해 현저히 줄어들게 된다.
도 4에 도시된 A 영역의 데이터와 B 영역의 데이터는 어드레스 영역(특히 열 어드레스)이 서로 중복되지 않는다. 따라서, A 영역의 데이터와 B 영역의 데이 터를 하나의 데이터 버퍼(50)에 저장하더라도 프로그램하는데 문제가 되지 않는다. 데이터 버퍼(50)에 저장된 A 영역의 데이터와 B 영역의 데이터의 행 어드레스는 동일할 수도 있고, 서로 다를 수도 있다. 만일 A 영역의 데이터와 B 영역의 데이터 행 어드레스가 달라질 경우, 달라진 워드라인에 대해 워드라인 레벨 셋업을 수행 한 후 프로그램을 수행한다.
본 발명에서 데이터 버퍼(50)에 프로그램 데이터(PGM_DATA)가 저장되는 방법과, 데이터 버퍼(50)에 저장된 프로그램 데이터(PGM_DATA)를 이용하여 프로그램하는 방법을 구체적으로 살펴보면 다음과 같다.
도 5는 본 발명에 따른 데이터 버퍼(50)의 데이터 저장 방법을 보여주는 흐름도이다.
도 3 및 도 5를 참조하면, 프로그램 커맨드가 입력되면 컨트롤러(60)는 프로그램될 데이터(PGM_DATA)의 어드레스(X-Addr, Y-Addr)를 입력받는다(S1000 단계). 이어서, 컨트롤러(60)는 입력된 어드레스(X-Addr, Y-Addr)가 프로그램될 데이터(PGM_DATA)의 첫번째 어드레스(1st_ADD)인지 여부를 판별한다(S1100 단계).
S1100 단계에서의 판별 결과, 입력된 어드레스(X-Addr, Y-Addr)가 프로그램될 데이터(PGM_DATA)의 첫번째 어드레스(1st_ADD)이면, 컨트롤러(60)에 첫번째 어드레스 정보(1st_ADD)를 저장한다(S1200 단계). 컨트롤러(60)는 S1200 단계에서 저장된 첫번째 어드레스 정보(1st_ADD)를 이용하여 어드레스 입력 레인지(ADD_RNG)를 설정한다(S1300 단계). S1300 단계에서 설정되는 어드레스 입력 레인지(ADD_RNG)는 [수학식 1]과 같다.
ADD_RNG = 1st_ADD + (N-1)
여기서, 1st_ADD는 프로그램될 데이터(PGM_DATA) 중 첫번째 데이터의 어드레스, 즉 첫번째 어드레스 정보(1st_ADD)를 의미한다. 그리고, N은 데이터 버퍼(50)에 저장 가능한 워드의 개수이고, N은 양의 정수이다. 계산된 어드레스 입력 레인지(ADD_RNG)는 첫번째 어드레스 정보(1st_ADD)로부터 계산된 N번째 워드 데이터의 어드레스, 즉 마지막 워드 데이터의 어드레스(즉, ADD N-1)를 의미한다.
이어서, 입력된 첫번째 어드레스(1st_ADD)에 대응되는 프로그램 데이터가 데이터 버퍼(50)에 로딩되어 저장된다(S1400 단계). 그리고 나서 수순은 S1000 단계로 되돌아가서 어드레스를 입력받는다.
한편, S1100 단계에서의 판별 결과, 입력된 어드레스(X-Addr, Y-Addr)가 프로그램될 데이터(PGM_DATA)의 첫번째 어드레스(1st_ADD)가 아니면, 컨트롤러(60)는 입력된 어드레스가 어드레스 입력 레인지(ADD_RNG)(즉, 마지막 어드레스)를 초과하는지 여부를 판별한다(S1500 단계). S1500 단계에서의 판별 결과, 입력된 어드레스가 어드레스 입력 레인지(ADD_RNG)를 초과하는 경우, 수순은 비정상적으로 종료된다. 반면, S1500 단계에서의 판별 결과, 입력된 어드레스가 어드레스 입력 레인지(ADD_RNG)를 초과하지 않는 경우, 컨트롤러(60)는 입력된 어드레스가 동시에 프로그램될 수 있는 최대 어드레스 개수(예를 들면, N 워드)에 도달했는지 여부를 판별한다(S1600 단계).
S1600 단계에서의 판별 결과, 입력된 어드레스가 동시에 프로그램될 수 있 는 최대 어드레스 개수에 도달했으면, 프로그램 알고리즘을 수행하게 된다. 본 발명에 따른 프로그램 알고리즘은 도 6을 참조하여 상세히 설명될 것이다. 한편, S1600 단계에서의 판별 결과, 입력된 어드레스가 동시에 프로그램될 수 있는 최대 어드레스 개수에 도달하지 않았으면, S1400 단계로 진행하여 입력된 어드레스에 대응되는 프로그램 데이터를 데이터 버퍼(50)에 로딩하여 저장한다. 그리고 나서 수순은 S1000 단계로 되돌아 간다. S1400 단계에서 프로그램 데이터가 데이터 버퍼(50)에 로딩되는 위치(DATA_LOC)는 [수학식 2]와 같다.
DATA_LOC = ADD mod N
여기서, ADD는 입력된 프로그램 데이터의 어드레스를 의미하고, N은 데이터 버퍼에 저장 가능한 워드의 개수(예를 들면, 32)를 의미한다. [수학식 2]에서 수행되는 모듈러 연산(modulation; mod라 표시함)에 따르면, 프로그램 데이터(PGM_DATA)의 첫번째 데이터(1st_DATA)로부터 마지막 데이터에 이르기까지 데이터 버퍼(50)의 대응되는 위치가 중복되지 않게 매핑되어 저장된다. 예를 들면, 첫번째 데이터(1st_DATA)가 로딩된 데이터 버퍼 상의 위치로부터 N번째 위치(ADD N-1)까지 데이터가 모두 저장되고 나면(도 4의 A 영역 참조), 다음번 프로그램 데이터는 데이터 버퍼의 첫번째 위치(ADD 0)부터 첫번째 데이터(1st_DATA)가 저장된 바로 앞의 위치까지 순차적으로 저장된다(도 4의 B 영역 참조).
이상과 같은 프로그램 데이터(PGM_DATA)의 로딩 방법에 따르면, 프로그램하고자 하는 데이터(PGM_DATA)가 연속된 N 워드의 데이터일 경우, 데이터 버퍼(50)가 가지고 있는 물리적인 바운더리의 영향을 받지 않고 유동적으로 저장될 수 있다. 이를 위해 컨트롤러(60)는 연속된 프로그램 데이터(PGM_DATA)의 시작 어드레스(1st_ADD)를 저장해 두고, 이를 이용하여 데이터 버퍼(50)에 프로그램 데이터(PGM_DATA)를 유동적으로 로딩한다. 컨트롤러(60)에 저장된 프로그램 데이터(PGM_DATA)의 시작 어드레스(1st_ADD)는 프로그램 동작에도 참조된다. 그 결과, 데이터 버퍼(50)에 유동적으로 저장된 프로그램 데이터(PGM_DATA)가 정확한 위치에 프로그램될 수 있게 된다.
이상에서, N 개의 워드에 해당되는 프로그램 데이터(PGM_DATA)가 데이터 버퍼(50)에 저장되는 경우가 예를 들어 설명되었다. 그러나, 이는 본 발명을 실시하기 위한 일 예에 불과하며, 프로그램 데이터(PGM_DATA)가 N 개의 워드 보다 작거나 같은 범위 내에서도 다양한 형태로 적용이 가능하다. 또한, 본 발명에서는 N 워드의 데이터 버퍼가 1개 구비되는 플래시 메모리 장치를 예로 들었으나, 이 또한 본 발명이 적용되는 일 예에 불과하다. 예를 들면, N 워드의 데이터 버퍼가 복수 개 구비된 경우에도 본 발명이 적용될 수 있다.
도 6은 본 발명에 따른 프로그램 방법을 보여주는 흐름도이다. 도 6에는 N 워드의 데이터 버퍼(50)에 저장된 데이터를 L 워드 단위로 스캔하여 프로그램하는 예가 도시되어 있다(N≥L, N, L은 양의 정수).
도 6을 참조하면, 본 발명에 따른 플래시 메모리 장치(100)는 프로그램 알고리즘이 시작되면 첫번째 워드(1st_DATA)가 포함된 프로그램 데이터(PGM_DATA)를 L 워드 단위로 덤핑한다(S2000 단계). S2000 단계에서의 데이터 덤핑 동작에 따라 서, 데이터 버퍼(50)에 저장되어 있는 프로그램 데이터(PGM_DATA)가 L 워드 단위로 기입 드라이버(40)에게 순차적으로 로딩된다. 예를 들면, 먼저 첫번째 워드(1st_DATA)로부터 시작되는 도 4의 A 영역의 프로그램 데이터가 L 워드 단위로 기입 드라이버(40)에게 순차적으로 로딩되고, 그리고 나서 B 영역의 프로그램 데이터가 L 워드 단위로 기입 드라이버(40)에게 순차적으로 로딩된다. 이와 같은 데이터 덤핑 순서의 제어를 수행하기 위해 컨트롤러(60)에는 첫번째 워드(1st_DATA)의 어드레스 정보(1st_ADD)가 저장되어 있다.
S2000 단계에서 프로그램될 데이터가 L 워드 단위로 덤핑되고 나면, 덤핑된 데이터의 어드레스(PGM_ADD)에 대응되는 워드라인이 레벨이 셋업된다(S2100 단계). 그리고, L 워드에 대한 데이터 스캔 동작과, 스캔 결과에 대한 프로그램이 수행된다(S2200 단계). 예를 들면, 구동 드라이버(40)는 데이터 버퍼(50)에 저장된 데이터 중 실제 프로그램될 데이터인 "0"의 데이터를 검색하고, 검색된 "0"의 데이터의 개수가 최대 동시 프로그램 비트수(예를 들면, 4 비트)가 될 때마다 검색된 "0"의 데이터를 동시에 프로그램한다. 이와 같은 스캔 프로그램 동작은 L 워드에 대해 수행된다. 이 분야의 통상의 지식을 가진 이들에게 잘 알려져 있는 바와 같이, 플래시 메모리 장치(100)의 프로그램시 제공되는 고전압은 칩 내부에 구비된 챠지 펌프(charge pump)를 통해 생성된다. 따라서, 동시에 프로그램할 수 있는 메모리의 개수는 통상 2개 내지 4개로 제한된다.
S2200 단계에서 프로그램이 수행되고 나면, 프로그램 된 데이터의 어드레스가 데이터 버퍼(50)에 저장된 프로그램 데이터(PGM_DATA)의 마지막 어드레스인지 여부가 판별된다(S2300 단계). 여기서, 마지막 어드레스는 도 4에 도시된 프로그램 데이터(PGM_DATA)의 마지막 어스레스(예를 들면, 도 4의 ADD 51)를 의미한다.
S2300 단계에서의 판별 결과, 프로그램된 데이터의 어드레스가 마지막 어드레스이면, 프로그램 알고리즘은 종료된다. 그리고, S2300 단계에서의 판별 결과, 프로그램된 데이터의 어드레스가 마지막 어드레스가 아니면, L 워드 단위의 어드레스 카운트업이 수행된다(S2400 단계). S2400 단계에서 수행되는 어드레스 카운트업 동작은 기입 드라이버(40) 내부에 구비된 카운터(미 도시됨)를 통해 수행된다.
이어서, 워드라인에 변경 사항이 발생되었는지 여부가 판별된다(S2500 단계). S2500 단계에서의 판별 결과 프로그램될 데이터의 어드레스에서 새로운 워드라인이 검출된 경우, 워드라인을 변경한다(S2600 단계). 그리고 나서, 수순은 S2100 단계로 되돌아 간다. 그리고, S2500 단계에서의 판별 결과 프로그램될 데이터의 어드레스에서 새로운 워드라인이 검출되지 않은 경우, 수순은 S2100 단계로 되돌아 간다. 이와 같은 프로그램 알고리즘은 마지막 어드레스에 대한 프로그램이 종료될 때까지 반복해서 수행된다.
이상에서, N 워드의 데이터 버퍼(50)를 이용하는 버퍼 프로그램 방법에 대해 설명되었다. 그러나, 앞에서 설명된 프로그램 방법은 본 발명이 적용되는 일 예에 불과하며, 다양한 종류의 스캔 및 프로그램 알고리즘이 적용될 수 있다. 또한, 본 발명에 따른 프로그램 방법에 적용되는 데이터 버퍼(50)의 크기 및 형태 또한 다양하게 변형 및 변경가능하다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특 정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상과 같은 본 발명에 따른 플래시 메모리 장치 및 그것의 프로그램 방법에 의하면, 데이터 버퍼가 가지고 있는 물리적인 어드레스 바운더리에 영향을 받지 않고 프로그램 데이터가 유동적으로 저장될 수 있다. 따라서, 데이터 버퍼에 데이터를 로딩하여 프로그램하는데 걸리는 전체 시간 및 횟수를 효과적으로 줄일 수 있다.

Claims (15)

  1. 복수 개의 메모리 셀들로 구성된 메모리 셀 어레이;
    연속된 어드레스를 가지며 상기 메모리 셀들에 프로그램될 복수 개의 데이터를 저장하는 데이터 버퍼;
    상기 데이터 버퍼에 저장된 데이터를 상기 메모리 셀들로 프로그램하는 기입 드라이버; 그리고
    상기 데이터 버퍼 및 상기 기입 드라이버의 동작을 제어하는 컨트롤러를 포함하며,
    상기 컨트롤러는 상기 프로그램될 데이터의 첫번째 어드레스 정보를 근거로 하여 상기 데이터 버퍼의 물리적인 어드레스와 상기 프로그램 데이터의 어드레스를 유동적으로 매핑하는 것을 특징으로 하는 플래시 메모리 장치.
  2. 제 1 항에 있어서,
    상기 데이터 버퍼는 한 번의 프로그램 동작 동안 상기 메모리 셀들에 프로그램될 복수 개의 데이터를 저장하는 것을 특징으로 하는 플래시 메모리 장치.
  3. 제 1 항에 있어서,
    상기 데이터 버퍼는 N 워드의 데이터 저장 용량을 가진 적어도 하나 이상의 버퍼를 구비하는 것을 특징으로 하는 플래시 메모리 장치.
  4. 제 1 항에 있어서,
    상기 프로그램될 데이터의 전체 용량은 상기 데이터 버퍼의 데이터 저장 용량과 같거나 작은 것을 특징으로 하는 플래시 메모리 장치.
  5. 제 1 항에 있어서,
    상기 컨트롤러는, 상기 첫번째 어드레스에 대응되는 데이터 저장 영역부터 상기 데이터 버퍼의 마지막 물리적인 어드레스에 대응되는 데이터 저장 영역까지 상기 프로그램될 데이터를 순차적으로 저장한 후, 상기 데이터 버퍼의 첫번째 물리적인 어드레스에 대응되는 데이터 저장 영역부터 상기 첫번째 어드레스에 대응되는 데이터 저장 영역 이전까지 상기 프로그램될 데이터를 순차적으로 저장하는 것을 특징으로 하는 플래시 메모리 장치.
  6. 제 1 항에 있어서,
    입력된 상기 프로그램 데이터의 어드레스가 ADD 이고, 상기 데이터 버퍼에 N 워드의 데이터가 저장될 때, 상기 프로그램 데이터의 어드레스는 ADD mod N 값에 대응되는 상기 데이터 버퍼의 어드레스로 매핑되는 것을 특징으로 하는 플래시 메모리 장치.
  7. 연속된 어드레스를 가지는 프로그램 데이터의 첫번째 어드레스 정보를 근거로 하여, 데이터 버퍼의 물리적인 어드레스와 상기 프로그램 데이터의 어드레스를 유동적으로 매핑하는 단계;
    상기 매핑 결과에 따라 상기 프로그램 데이터를 상기 데이터 버퍼에 저장하는 단계; 그리고
    상기 데이터 버퍼에 저장된 데이터를 상기 메모리 셀들로 프로그램하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 장치의 프로그램 방법.
  8. 제 7 항에 있어서,
    상기 데이터 버퍼에는 한 번의 프로그램 동작 동안 상기 메모리 셀들에 프로그램될 복수 개의 데이터가 저장되는 것을 특징으로 하는 플래시 메모리 장치의 프로그램 방법.
  9. 제 7 항에 있어서,
    상기 데이터 버퍼에는 N 워드의 데이터 저장 용량을 가진 적어도 하나 이상의 버퍼가 구비되는 것을 특징으로 하는 플래시 메모리 장치의 프로그램 방법.
  10. 제 7 항에 있어서,
    상기 프로그램될 데이터의 전체 용량은 상기 데이터 버퍼의 데이터 저장 용량과 같거나 작은 것을 특징으로 하는 플래시 메모리 장치의 프로그램 방법.
  11. 제 7 항에 있어서,
    상기 데이터 버퍼의 물리적인 어드레스와 상기 프로그램 데이터의 어드레스를 유동적으로 매핑하는 단계는,
    상기 첫번째 어드레스를 근거로 하여 상기 프로그램 데이터의 어드레스 입력 레인지를 결정하는 단계; 그리고
    상기 어드레스 입력 레인지에 속하는 상기 프로그램 데이터가 상기 데이터 버퍼로 로딩될 위치를 결정하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 장치의 프로그램 방법.
  12. 제 11 항에 있어서,
    상기 프로그램 데이터가 상기 데이터 버퍼로 로딩될 위치는,
    입력된 상기 프로그램 데이터의 어드레스가 ADD 이고, 상기 데이터 버퍼에 N 워드의 데이터가 저장되는 경우, ADD mod N 값에 대응되는 상기 데이터 버퍼의 어드레스 위치인 것을 특징으로 하는 플래시 메모리 장치의 프로그램 방법.
  13. 제 7 항에 있어서,
    상기 프로그램 데이터를 상기 데이터 버퍼에 저장하는 단계는,
    상기 첫번째 어드레스에 대응되는 데이터 저장 영역부터 상기 데이터 버퍼의 마지막 물리적인 어드레스에 대응되는 데이터 저장 영역까지 상기 프로그램될 데이터를 순차적으로 저장하는 단계; 그리고
    상기 데이터 버퍼의 첫번째 물리적인 어드레스에 대응되는 데이터 저장 영 역부터 상기 첫번째 어드레스에 대응되는 데이터 저장 영역 이전까지 상기 프로그램될 데이터를 순차적으로 저장하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 장치의 프로그램 방법.
  14. 제 7 항에 있어서,
    상기 프로그램 단계는,
    상기 데이터 버퍼에 저장된 데이터를 L 워드 단위의 데이터 스캔 동작을 수행하고, 상기 스캔 결과를 소정의 비트 단위로 프로그램하는 것을 특징으로 하는 플래시 메모리 장치의 프로그램 방법.
  15. 제 7 항에 있어서,
    상기 프로그램 단계는,
    상기 첫번째 어드레스에 대응되는 데이터 저장 영역부터 상기 데이터 버퍼의 마지막 물리적인 어드레스에 대응되는 데이터 저장 영역에 저장된 상기 프로그램 데이터를 프로그램하는 단계; 그리고
    상기 데이터 버퍼의 첫번째 물리적인 어드레스에 대응되는 데이터 저장 영역부터 상기 첫번째 어드레스에 대응되는 데이터 저장 영역 이전까지 저장된 상기 프로그램 데이터를 프로그램하는 단계를 포함하는 것을 특징으로 하는 플래시 메모리 장치의 프로그램 방법.
KR1020060073452A 2006-08-03 2006-08-03 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 KR100764052B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060073452A KR100764052B1 (ko) 2006-08-03 2006-08-03 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법
US11/775,872 US7539077B2 (en) 2006-08-03 2007-07-11 Flash memory device having a data buffer and programming method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060073452A KR100764052B1 (ko) 2006-08-03 2006-08-03 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법

Publications (1)

Publication Number Publication Date
KR100764052B1 true KR100764052B1 (ko) 2007-10-08

Family

ID=39028993

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060073452A KR100764052B1 (ko) 2006-08-03 2006-08-03 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법

Country Status (2)

Country Link
US (1) US7539077B2 (ko)
KR (1) KR100764052B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109785A (zh) * 2019-04-16 2019-08-09 晶晨半导体(上海)股份有限公司 内存容量获取方法、装置、计算机设备及可读存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560756B2 (en) * 2007-10-17 2013-10-15 Spansion Llc Hybrid flash memory device
US8860124B2 (en) * 2009-01-15 2014-10-14 Macronix International Co., Ltd. Depletion-mode charge-trapping flash device
US8341501B2 (en) 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
US8176234B2 (en) * 2009-12-04 2012-05-08 International Business Machines Corporation Multi-write coding of non-volatile memories
US8176235B2 (en) * 2009-12-04 2012-05-08 International Business Machines Corporation Non-volatile memories with enhanced write performance and endurance
US8769374B2 (en) 2010-10-13 2014-07-01 International Business Machines Corporation Multi-write endurance and error control coding of non-volatile memories
US9569351B2 (en) 2010-10-25 2017-02-14 Seagate Technology Llc Storing corresponding data units in a common storage unit
JP5781313B2 (ja) * 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
US9183091B2 (en) 2012-09-27 2015-11-10 Intel Corporation Configuration information backup in memory systems
CN104407325A (zh) * 2014-12-05 2015-03-11 歌尔声学股份有限公司 物体的定位方法及定位系统
CN108694016B (zh) * 2017-04-10 2021-06-08 联合汽车电子有限公司 模拟eeprom数据分析系统及方法
KR20190135746A (ko) * 2018-05-29 2019-12-09 삼성전자주식회사 쓰기 버퍼 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014217A (ja) 1999-06-29 2001-01-19 Nec Viewtechnology Ltd メモリ制御装置
WO2002056600A1 (en) 2001-01-12 2002-07-18 Koninklijke Philips Electronics N.V. Unit and method for memory address translation and image processing apparatus comprising such a unit
KR20050011869A (ko) * 2003-07-24 2005-01-31 주식회사 레인콤 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840863A (en) * 1973-10-23 1974-10-08 Ibm Dynamic storage hierarchy system
US4085439A (en) * 1976-08-27 1978-04-18 Itek Corporation Computer programming system having greatly reduced storage capacity and high speed
JPS62103893A (ja) * 1985-10-30 1987-05-14 Toshiba Corp 半導体メモリ及び半導体メモリシステム
US4745407A (en) * 1985-10-30 1988-05-17 Sun Microsystems, Inc. Memory organization apparatus and method
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JPH10230638A (ja) * 1997-02-20 1998-09-02 Oki Data:Kk 画像メモリ制御回路
US6014737A (en) * 1997-11-19 2000-01-11 Sony Corporation Of Japan Method and system for allowing a processor to perform read bypassing while automatically maintaining input/output data integrity
US6076137A (en) * 1997-12-11 2000-06-13 Lexar Media, Inc. Method and apparatus for storing location identification information within non-volatile memory devices
KR100385370B1 (ko) * 1998-07-21 2003-05-27 시게이트 테크놀로지 엘엘씨 개선된 메모리 시스템 장치 및 방법
US6370073B2 (en) * 1998-10-01 2002-04-09 Monlithic System Technology, Inc. Single-port multi-bank memory system having read and write buffers and method of operating same
JP4055103B2 (ja) * 2000-10-02 2008-03-05 株式会社ルネサステクノロジ 不揮発性メモリおよびそれを内蔵した半導体集積回路並びに不揮発性メモリの書込み方法
US6992674B2 (en) * 2001-02-15 2006-01-31 Sony Corporation Checkerboard buffer using two-dimensional buffer pages and using state addressing
US6791557B2 (en) * 2001-02-15 2004-09-14 Sony Corporation Two-dimensional buffer pages using bit-field addressing
US6834364B2 (en) * 2001-04-19 2004-12-21 Agilent Technologies, Inc. Algorithmically programmable memory tester with breakpoint trigger, error jamming and 'scope mode that memorizes target sequences
US6868519B2 (en) * 2001-04-23 2005-03-15 Lucent Technologies Inc. Reducing scintillation effects for optical free-space transmission
EP1345236B1 (en) * 2002-03-14 2011-05-11 STMicroelectronics Srl A non-volatile memory device
JP4170682B2 (ja) 2002-06-18 2008-10-22 株式会社東芝 不揮発性半導体メモリ装置
US6906964B2 (en) * 2003-06-27 2005-06-14 Hewlett-Packard Development Company, L.P. Multiple buffer memory interface
US7379372B2 (en) * 2004-09-15 2008-05-27 Samsung Electronics Co., Ltd. Non-volatile memory device with scanning circuit and method
KR100568117B1 (ko) 2004-09-15 2006-04-05 삼성전자주식회사 가속화된 비트 스캐닝 프로그램을 수행하는 불휘발성메모리 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014217A (ja) 1999-06-29 2001-01-19 Nec Viewtechnology Ltd メモリ制御装置
WO2002056600A1 (en) 2001-01-12 2002-07-18 Koninklijke Philips Electronics N.V. Unit and method for memory address translation and image processing apparatus comprising such a unit
KR20050011869A (ko) * 2003-07-24 2005-01-31 주식회사 레인콤 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109785A (zh) * 2019-04-16 2019-08-09 晶晨半导体(上海)股份有限公司 内存容量获取方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
US20080031050A1 (en) 2008-02-07
US7539077B2 (en) 2009-05-26

Similar Documents

Publication Publication Date Title
KR100764052B1 (ko) 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법
CN103477392B (zh) 具有减少的验证的改进的编程的非易失性存储器和方法
KR100836762B1 (ko) 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR100645047B1 (ko) 불휘발성 메모리 장치 및 그것의 고속 프로그램 방법
US8363468B2 (en) Semiconductor memory device
US7453712B2 (en) Hybrid flash memory device and method for assigning reserved blocks thereof
KR101460826B1 (ko) 플래시 메모리용 부분 블록 소거 구조
KR100753156B1 (ko) 플래시 메모리 장치 및 그것의 메모리 셀 어레이
TW540054B (en) Method of reducing disturbs in non-volatile memory
US9177653B2 (en) Method and system for programming non-volatile memory cells based on programming of proximate memory cells
US20130003455A1 (en) Nonvolatile semiconductor memory device with advanced multi-page program operation
EP1152339A2 (en) Semiconductor memory device and restoration method therefor
US7489557B2 (en) Methods for reducing write time in nonvolatile memory devices and related devices
US20060126399A1 (en) Flash memory device capable of reduced programming time
US20020188814A1 (en) Non-volatile storage device and rewrite control method thereof
KR20080018495A (ko) 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR20100010355A (ko) 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법
US7800944B2 (en) Nonvolatile semiconductor memory device and programming method thereof
EP1443521A2 (en) Memory read and write operations with address scrambling
US20080273405A1 (en) Multi-bit programming device and method of multi-bit programming
KR20110065759A (ko) 불휘발성 메모리 소자의 동작 방법
KR100721018B1 (ko) 플래시 메모리 장치 및 그것의 소거 방법
US7532510B2 (en) Flash memory device with sector access
JP2008097705A (ja) 半導体記憶装置
US7042795B2 (en) Flash memory device with burst read mode of operation

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120831

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150831

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 12