KR100385228B1 - 불휘발성 메모리를 프로그램하는 방법 및 장치 - Google Patents

불휘발성 메모리를 프로그램하는 방법 및 장치 Download PDF

Info

Publication number
KR100385228B1
KR100385228B1 KR10-2001-0020764A KR20010020764A KR100385228B1 KR 100385228 B1 KR100385228 B1 KR 100385228B1 KR 20010020764 A KR20010020764 A KR 20010020764A KR 100385228 B1 KR100385228 B1 KR 100385228B1
Authority
KR
South Korea
Prior art keywords
data
register
serial data
address
nonvolatile memory
Prior art date
Application number
KR10-2001-0020764A
Other languages
English (en)
Other versions
KR20020080907A (ko
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 KR10-2001-0020764A priority Critical patent/KR100385228B1/ko
Priority to US09/975,420 priority patent/US6915175B2/en
Priority to GB0127236A priority patent/GB2374704B/en
Publication of KR20020080907A publication Critical patent/KR20020080907A/ko
Application granted granted Critical
Publication of KR100385228B1 publication Critical patent/KR100385228B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G11C16/10Programming or data input circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

여기에는 불휘발성 메모리를 프로그램하는 방법이 개시되어 있다. 불휘발성 메모리는 제어 시스템 내에 구현되고, 기입 버퍼 및 메모리 셀들의 어레이를 포함한다. 프로그램 방법에 의하면, 먼저, 직렬 어드레스 비트들이 순차적으로 입력되어 어드레스 레지스터에 유지되고, 제 1 그룹의 직렬 데이터 비트들이 순차적으로 입력되어 데이터 레지스터에 유지된다. 그 다음에, 상기 제 1 그룹의 직렬 데이터 비트들이 모두 전송되었는 지의 여부가 판별된다. 상기 직렬 데이터 비트들이 모두 전송될 때 상기 데이터 레지스터에서 상기 기입 버퍼로 상기 직렬 데이터 비트들이 동시에 전송된다. 상기 어드레스 비트들에 따라 상기 직렬 데이터 비트들에 대한 프로그램 동작을 수행하는 동안, 제 2 그룹의 직렬 데이터 비트들이 순차적으로 입력되어 상기 데이터 레지스터에 유지된다.

Description

불휘발성 메모리를 프로그램하는 방법 및 장치{METHOD AND DEVICE OF PROGRAMMING NONVOLATILE MEMORY}
본 발명은 반도체 집적 회로 장치에 관한 것으로, 좀 더 구체적으로 마이크로 제어 시스템에 구현된 불휘발성 반도체 메모리를 프로그램하는 방법 및 장치에 관한 것이다.
불휘발성 메모리는, 잘 알려진 바와 같이, 파워-오프시 조차 저장 정보를 유지하도록 마이크로 제어 시스템(또는 마이크로콘트롤러) 내에 제공되어 왔다. 그러한 불휘발성 메모리의 저장 정보는 다음의 2가지 방법에 의해서 갱신될 수 있다. 하나는 병렬 인터페이스 방식(parallel interface method)이고, 다른 하나는 직렬 인터페이스 방식(serial interface method)이다. 병렬 인터페이스 방식에 의하면, 불휘발성 메모리의 저장 정보는 어드레스, 데이터 그리고 제어 신호를 이용하여 외부에서 직접 갱신된다. 직렬 인터페이스 방식에 의하면, 불휘발성 메모리의 저장 정보는 일정 속도의 클럭 신호와 데이터 신호를 이용하여 갱신된다. 이러한 인터페이스 방식들은 모두 전용 인터페이스 회로(dedicated interface circuit)와 더불어 중앙 처리 장치(CPU)의 개입으로 또는 개입 없이 구현 가능하다.
병렬 인터페이스 방식을 이용하여 불휘발성 메모리의 저장 정보를 갱신하는 경우, 마이크로 제어 시스템에 있는 불휘발성 메모리가 어드레스, 데이터 및 제어 신호를 따라서 직접 제어될 수 있는 것이 장점이다. 즉, 마이크로 제어 시스템에구현되는 불휘발성 메모리는 마치 독립된 메모리 칩인 것처럼 제어될 수 있다. 하지만, 연결되는 신호 라인들이 많아지고, 이는 시스템 설계의 부담으로 작용할 수 있다. 직렬 인터페이스 방식을 이용하여 불휘발성 메모리의 저장 정보를 갱신하는 경우, 마이크로 제어 시스템 내부에는 불휘발성 메모리를 제어하기 위한 직렬 인터페이스가 제공되며, 불휘발성 메모리의 저장 정보는 클럭 및 데이터 신호들 또는 송수신 데이터 신호들을 이용하여 갱신된다.
일반적으로, 불휘발성 메모리의 크기가 다양하기 때문에, 불휘발성 메모리를 제어하기 위한 제어기 모듈은 통일된 하나의 커다란 직렬 버퍼(serial buffer)를 내장하고 있다. 직렬 버퍼에 데이터가 모두 채워지고, 그 다음에 직렬 버퍼의 크기에 상응하는 데이터가 불휘발성 메모리에 동시에 기입된다. 이러한 까닭에, 불휘발성 메모리 제어 모듈은 통일된 직렬 프로그래밍 인터페이스를 가질 수 있다. 직렬 버퍼에 입력된 데이터를 불휘발성 메모리에 동시에 기입하기 위해서는, 직렬 버퍼의 크기 또는 그것에 저장되는 데이터 비트들에 각각 대응하는 비트 라인들이 메모리 셀 어레이에 연결되어야 한다. 그러므로 커다란 데이터 버스가 필수적으로 요구된다.
이러한 프로그램 방법에는 복수의 데이터 비트들을 동시에 프로그램할 수 있다는 장점이 있다. 하지만 프로그램 시간의 증가, 전압 펌핑 회로의 구동 능력 증가 또는 소모 전류의 증가 등과 같은 부수적인 오버헤드가 생기게 된다.
한편, 경우에 따라서 전압 펌핑 회로의 구동 능력 및 크기 그리고 데이터 버스의 연결을 고려하여, 불휘발성 메모리의 기입 데이터의 버스 폭(bus width)이 8-비트, 16-비트, 32-비트 등으로 다양하게 정해질 수 있다. 예를 들면, 기입 데이터 경로의 폭이 읽기 데이터 경로의 폭과 동일하게 설계될 수 있다. 이러한 경우, 기입 시간이 짧고 전압 펌핑 회로의 소모 전류가 작아지는 장점이 있으나 상대적으로 여러 번 기입 동작을 수행해야 하는 단점이 있다. 또한 버스 폭에 따라서 기입할 데이터의 처리가 달라져야 하는 번거로움이 있다. 통일된 인터페이스를 가져갈 경우, 중앙 처리 장치의 개입으로 데이터의 처리를 적절히 행할 필요가 있다.
직렬 인터페이스를 통하여 불휘발성 메모리의 저장 정보를 갱신하고자 할 때, 불휘발성 메모리의 기입 데이터 폭이 달라져도 중앙 처리 장치의 개입 없이(또는 중앙 처리 장치의 개입을 최소화한 상태에서) 일관된 전송 프로토콜을 이용하여 불휘발성 메모리를 갱신할 수 있을 뿐만 아니라 직렬 데이터 전송 속도를 가변적으로 조정할 수 있는 새로운 온-보드 프로그래밍 방법이 요구되고 있다.
본 발명의 목적은 큰 사이즈의 직렬 버퍼 없이 불휘발성 메모리를 프로그램하는 방법을 제공하는 것이다.
본 발명의 다른 목적은 작은 사이즈의 직렬 버퍼를 이용하여 불휘발성 메모리의 프로그래밍을 제어하는 메모리 컨트롤러를 구비한 마이크로 제어 시스템을 제공하는 것이다.
도 1은 본 발명의 제 1 실시예에 따른 시스템 구성을 보여주는 블럭도;
도 2는 도 1에 도시된 직렬 인터페이스 회로를 이용한 1바이트의 데이터를 전송하고 프로그램하는 방법을 설명하기 위한 동작 타이밍도;
도 3은 도 1에 도시된 직렬 인터페이스 회로를 이용한 4바이트의 데이터를 전송하고 프로그램하는 방법을 설명하기 위한 동작 타이밍도;
도 4는 본 발명의 제 2 실시예에 따른 마이크로 제어 시스템의 개략적인 구성을 보여주는 블럭도; 그리고
도 5는 본 발명의 제 3 실시예에 따른 마이크로 제어 시스템의 개략적인 구성을 보여주는 블럭도이다.
* 주요 부분에 대한 부호 설명 *
100 : 불휘발성 메모리 120 : 행 및 열 디코더 블럭
140 : 어레이 160 : 고전압 발생기
180 : 기입 버퍼 200 : 메모리 컨트롤러
210 : 제어 로직 220 : 데이터 레지스터
230 : 어드레스 레지스터 240 : 바이트 선택 레지스터
250 : 커맨드 레지스터
(구성)
본 발명의 특징에 따르면, 제어 시스템 내에 구현되고, 기입 버퍼 및 메모리셀들의 어레이를 포함하는 불휘발성 메모리를 프로그램하는 방법이 제공된다. 이러한 프로그램 방법에 의하면, 먼저, 직렬 어드레스 비트들이 순차적으로 입력되어 어드레스 레지스터에 유지되고, 제 1 그룹의 직렬 데이터 비트들이 순차적으로 입력되어 데이터 레지스터에 유지된다. 그 다음에, 상기 제 1 그룹의 직렬 데이터 비트들이 모두 전송되었는 지의 여부가 판별된다. 상기 직렬 데이터 비트들이 모두 전송될 때 상기 데이터 레지스터에서 상기 기입 버퍼로 상기 직렬 데이터 비트들이 동시에 전송된다. 상기 어드레스 비트들에 따라 상기 직렬 데이터 비트들에 대한 프로그램 동작을 수행하는 동안, 제 2 그룹의 직렬 데이터 비트들이 순차적으로 입력되어 상기 데이터 레지스터에 유지된다. 나머지 그룹들의 직렬 데이터 비트들이 프로그램될 때까지, 판별 동작, 전송 동작 그리고 프로그램 동작이 반복적으로 수행된다.
이 실시예에 있어서, 상기 제 1 그룹을 제외하고 나머지 그룹들 각각의 직렬 데이터 비트들이 모두 상기 데이터 레지스터에 전송될 때마다 상기 어드레스 레지스터의 값이 증가된다.
이 실시예에 있어서, 상기 직렬 데이터 비트들의 각 그룹은 1바이트 또는 그 보다 많은 바이트들로 이루어진다.
본 발명의 다른 특징에 따르면, 제어 시스템은 데이터 정보를 저장하는 불휘발성 메모리와; 외부로부터 공급되는 어드레스를 저장하는 어드레스 레지스터와; 외부로부터 공급되는 직렬 데이터를 저장하는 데이터 레지스터와; 상기 불휘발성 메모리, 상기 어드레스 레지스터, 그리고 상기 데이터 레지스터를 제어하는 제어로직을 포함한다. 상기 데이터 레지스터로의 직렬 데이터 전송이 완료될 때, 상기 제어 로직은 상기 데이터 레지스터 내의 직렬 데이터가 상기 불휘발성 메모리의 기입 버퍼로 전송되게 하고 상기 직렬 데이터에 대한 프로그램 동작을 수행하도록 프로그램 인에이블 신호를 활성화시킨다. 상기 프로그램 동작을 수행하는 동안 다음의 직렬 데이터가 상기 데이터 레지스터로 전송된다. 그리고 상기 데이터 레지스터에서 상기 기입 버퍼로 상기 직렬 데이터가 전송될 때마다 상기 어드레스 레지스터의 어드레스를 변경하도록 상기 어드레스 레지스터를 제어한다.
이 실시예에 있어서, 상기 불휘발성 메모리의 기입 버스 폭을 나타내는 바이트 선택 정보를 출력하는 바이트 선택 회로를 더 포함하고, 상기 제어 로직은 상기 바이트 선택 정보에 따라 상기 프로그램 인에이블 신호의 활성화 구간을 조절한다.
이 실시예에 있어서, 직렬 데이터 전송 시간은 상기 프로그램 인에이블 신호의 활성화 시간과 같거나 그 보다 길다.
이 실시예에 있어서, 상기 바이트 선택 회로의 바이트 선택 정보는 상기 어드레스 및 상기 직렬 데이터가 전송되기 이전에 설정된다.
이 실시예에 있어서, 상기 바이트 선택 회로의 바이트 선택 정보는 상기 제어 시스템의 중앙 처리 장치, 접지 전압 핀, 전원 전압 핀, 그리고 커맨드 레지스터 중 어느 하나를 이용하여 설정된다.
(작용)
이러한 방법에 의하면, 작은 크기의 버퍼(또는 레지스터)를 이용하여 불휘발성 메모리에 저장된 정보를 갱신할 수 있다.
(실시예)
본 발명에 따른 마이크로 제어 시스템(또는 마이크로컨트롤러)에는 클럭 신호 및 데이터 신호를 이용하거나 송/수신 데이터 신호를 이용하여 시스템에 내장되는 불휘발성 메모리를 프로그램하기 위한 전송 프로토콜이 적용된다. 그러한 전송 프로토콜에 따르면, 불휘발성 메모리 내의 기입 버퍼의 크기(예를 들면, 1Byte 내지 4Byte)와 같거나 큰 데이터 레지스터(또는 직렬 버퍼)가 사용되며, 불휘발성 메모리의 저장 정보를 갱신하는 데 필요한 데이터 비트들(예를 들면, 1Byte 내지 4Byte)이 외부로부터 데이터 레지스터에 순차적으로 전달된다. 그렇게 전달된 데이터 비트들은 불휘발성 메모리 내의 기입 버퍼에 로드되고, 기입 버퍼 내에 로드된 데이터 비트들은 그 다음에 불휘발성 메모리의 어레이에 프로그램된다. 데이터 비트들이 프로그램되는 동안, 다음에 프로그램될 데이터 비트들이 외부로부터 데이터 레지스터에 순차적으로 전달된다. 데이터 전달 및 프로그램 동작들이 동시에 이루어지기 때문에, 큰 사이즈의 버퍼 없이 빠른 시간 내에 데이터를 프로그램할 수 있다. 이를 달성하기 위한 본 발명의 바람직한 실시예들이 참조 도면들에 의거하여 이후 상세히 설명될 것이다.
도 1은 본 발명의 제 1 실시예에 따른 메모리 컨트롤러를 구비한 마이크로 제어 시스템을 보여준다. 도 1을 참조하면, 불휘발성 메모리(100)는 전기적으로 소거 및 프로그램 가능하고, 그것의 소거/프로그램/읽기 동작들은 메모리 컨트롤러(200)에 의해서 제어된다. 불휘발성 메모리(100)는 행 및 열 디코더 블럭(X-DEC Y-DEC)(120), EEPROM 어레이(140), 고전압 발생 블럭(160) 그리고 기입 버퍼(180)를 포함한다. EEPROM 어레이(140)는 행들(또는 워드 라인들)과 열들(또는 비트 라인들)로 배열되는 전기적으로 소거 및 프로그램 가능한 메모리 셀들을 구비하고, 행 및 열 디코더 블럭(120)은 메모리 컨트롤러(200)로부터 제공되는 어드레스에 따라 어레이(140)의 행(또는 워드 라인) 및 열들(또는 비트 라인들)을 선택한다. 고전압 발생 블럭(160)은 메모리 컨트롤러(200)의 제어에 따라 프로그램/소거/읽기 동작들에 필요한 전압을 발생하고, 기입 버퍼(180)에는 메모리 컨트롤러(200)로부터 제공되는 프로그램될 데이터가 제어 신호(WE)에 의해서 로드된다.
계속해서 도 1을 참조하면, 메모리 컨트롤러(200)는 직렬 인터페이스 방식에 따라 외부로부터 순차적으로 제공되는 직렬 데이터 비트들을 임시적으로 저장하고, 그렇게 저장된 데이터 비트들을 불휘발성 메모리(100)의 기입 버퍼(180)에 전달한다. 메모리 컨트롤러(200)는 데이터 비트들을 프로그램하는 데 필요한 어드레스 뿐만 아니라 제어 신호들을 생성하며, 제어 로직(210), 데이터 레지스터(220), 어드레스 레지스터(230), 바이트 선택 레지스터(240) 그리고 커맨드 레지스터(250)를 포함한다.
제어 로직(210)은 커맨드, 어드레스 그리고 데이터를 받아들이기 위한 데이터 핀(301)과 클럭 신호(SCLK)를 받아들이기 위한 클럭 핀(302)에 연결되어 있다. 이하, 데이터 핀(301)에 인가되는 커맨드, 어드레스 그리고 데이터는 "SDA"으로 표기된다. 불휘발성 메모리(100)의 정보를 갱신하기 위한 프로그램 동작이 개시되면, 제어 로직(210)은 데이터 핀(301)에 인가되는 데이터 및 어드레스 정보가 데이터레지스터(220) 및 어드레스 레지스터(230)에 클럭 신호(SCLK)에 동기되어 저장되도록 데이터 레지스터(220) 및 어드레스 레지스터(230)를 제어한다. 제어 로직(210)은 불휘발성 메모리(100)를 제어하기 위한 제어 신호들(PGM, WE, HV)을 발생한다. 제어 신호(WE)는 데이터 레지스터(220)에 저장되어 있는 데이터 비트들을 기입 버퍼(180)에 로드시키기 위한 신호이고, 제어 신호(PGM)(또는 프로그램 인에이블 신호)는 기입 버퍼(180)에 로드된 데이터 비트들이 EEPROM 어레이(140)에 프로그램되는 구간을 나타내는 신호이며, 제어 신호(HV)는 프로그램 동작에 필요한 고전압을 발생하도록 고전압 발생 블럭(160)을 활성화시키기 위한 신호이다.
데이터 레지스터(220)는 제어 로직(210)의 제어 하에서 데이터 핀(301)에 순차적으로 인가되는 직렬 데이터 비트들을 클럭 신호(SCLK)에 동기되어 임시적으로 저장하고, 어드레스 레지스터(230)는 제어 로직(210)의 제어 하에서 클럭 핀(302)에 순차적으로 인가되는 어드레스 비트들을 클럭 신호(SCLK)에 동기되어 저장한다. 바이트 선택 레지스터(240)는 커맨드 레지스터(250)에 프로그램된 값에 따라 기입 데이터 버스 폭을 알리는(또는 불휘발성 메모리(100)의 기입 버퍼 사이즈)을 나타내는 선택 신호를 출력한다. 커맨드 레지스터(250)는 데이터 핀(301)과 클럭 핀(302)에 연결되고, 클럭 신호(SCLK)에 동기되어 데이터 핀(301)에 인가되는 데이터에 의해서 프로그램된다. 커맨드 레지스터(250)는 불휘발성 메모리(100)의 정보를 갱신하기 위한 프로그램 동작이 수행되기 이전에 프로그램된다. 제어 신호(PGM)의 활성화 구간(또는 활성화 시간)은 바이트 선택 레지스터(240)의 출력에 따라 가변될 수 있다.
도 2는 본 발명의 메모리 컨트롤러에 따른 프로그램 동작을 설명하기 위한 동작 타이밍도이다. 도 1 및 도 2를 참조하여 본 발명의 프로그램 동작이 이하 상세히 설명될 것이다. 프로그램 동작을 설명하기에 앞서, 불휘발성 메모리(100)의 기입 버퍼의 용량이 1바이트(8-비트)라고 가정하자.
프로그램 동작이 개시되면, 커맨드 레지스터(250)는 불휘발성 메모리(100)의 기입 데이터 버스 폭(또는 기입 버퍼의 사이즈)을 알리는 데이터에 의해서 프로그램되고, 바이트 선택 레지스터(240)는 커맨드 레지스터(250)의 프로그램된 값에 따라 기입 데이터 버스 폭을 나타내는 선택 신호를 제어 로직(210)에 출력한다. 제어 로직(210)은 선택 신호에 따라 불휘발성 메모리(100)의 기입 버퍼의 용량이 1바이트임을 인식하여 제어 신호(PGM)의 활성화 구간을 설정한다. 그 다음에, 도 2에 도시된 바와 같이, 데이터 핀(301)에 커맨드 및 어드레스가 외부로부터 순차적으로 인가된다. 제어 로직(210)은 데이터 핀(301)에 인가되는 커맨드를 받아들여 해석하고, 데이터 핀(301)에 인가되는 어드레스 비트들이 클럭 신호(SCLK)에 동기되어 어드레스 레지스터(230)에 순차적으로 저장되게 한다. 그 다음에 인가되는 데이터(이하, "제 1 프로그램 데이터"라 칭함)는 제어 로직(210)의 제어 하에서 데이터 레지스터(220)로 전달된다.
1바이트의 데이터 비트들 즉, 제 1 프로그램 데이터가 모두 데이터 레지스터(220)에 전송되기 이전에, 제어 로직(210)은 고전압 발생기(160)가 프로그램 동작에 필요한 고전압을 발생하도록 제어 신호(HV)를 활성화시킨다. 제어 로직(210)은 데이터 핀(301)에 인가되는 직렬 데이터(SDA)의 시작 비트(start bit)와 정지 비트(stop bit)를 검출한다. 만약 정지 비트가 검출되면, 제어 로직(210)은 데이터 레지스터(220)의 제 1 프로그램 데이터 비트들이 기입 버퍼(180)에 로드되게 하고, 어드레스 레지스터(230)의 어드레스가 행 및 열 디코더 블럭(120)으로 전달되게 한다. 이와 동시에, 제어 로직(210)은 제어 신호(PGM)를 활성화시키며, 그 결과 이 분야에 잘 알려진 방법에 따라 프로그램 동작이 소정 시간(예를 들면, 30㎲) 동안 수행된다.
프로그램 동작이 수행되는 동안(또는 제어 신호(PGM)가 활성화되어 있는 동안), 다음에 프로그램될 1바이트의 데이터 비트들(이하, "제 2 프로그램 데이터"라 칭함)이 제어 로직(210)의 제어 하에서 클럭 신호(SCLK)에 동기되어 데이터 레지스터(220)에 저장된다. 제 2 프로그램 데이터에 포함되는 정지 비트가 검출될 때, 제어 로직(210)은 어드레스가 "1"만큼 증가되도록 어드레스 레지스터(230)를 제어한다. 이와 동시에, 제어 로직(210)은 데이터 레지스터(220)의 제 2 프로그램 데이터 비트들이 기입 버퍼(180)에 로드되게 하고, 어드레스 레지스터(230)의 어드레스가 행 및 열 디코더 블럭(120)으로 전달되게 한다. 또한 제어 로직(210)은 제어 신호(PGM)를 활성화시키며, 그 결과 제 2 프로그램 데이터에 대한 프로그램 동작이 수행된다. 이후, 프로그램될 나머지 바이트 데이터 역시 앞서 설명된 것과 동일한 방법으로 불휘발성 메모리(100)의 기입 버퍼(180)로 전달된다.
결론적으로, 외부로부터 시리얼하게 전송되는 데이터는 프로그램될 데이터 용량에 비해 상당히 작은 크기의 데이터 레지스터(220)를 이용한 메모리 컨트롤러(20)를 통해 연속적으로 불휘발성 메모리(100)에 프로그램된다. 주의해야할 사항은 데이터 비트들이 데이터 레지스터(220)에 전송되는 시간이 프로그램 시간 또는 제어 신호(PGM)의 활성화 시간보다 길게 설정되지 않아야 한다는 점이다. 만약 데이터 비트들이 데이터 레지스터(220)에 전송되는 시간이 프로그램 시간 또는 제어 신호(PGM)의 활성화 시간보다 짧으면, 제어 신호(PGM)와 어드레스와 데이터 간의 타이밍이 보장되지 않아 프로그램을 수행할 수 없다.
도 1의 점선으로 표시된 바와 같이, 불휘발성 메모리(100)의 기입 버퍼(180)의 용량이 4바이트인 경우, 제어 로직(210)은 커맨드 레지스터(250)의 프로그램된 값에 의해서 결정된 바이트 선택 레지스터(240)의 선택 신호에 따라 불휘발성 메모리(100)의 기입 버퍼(180)가 4바이트의 용량을 가짐을 인식한다. 제어 로직(210)은 기입 버퍼의 사이즈 정보에 따라 데이터 레지스터(220) 및 제어 신호(PGM)의 활성화 구간을 제어한다(조정한다). 비록 기입 버퍼(180)의 용량이 변화되더라도, 메모리 컨트롤러(200)의 나머지 구성 요소들은 앞서 설명된 것과 동일하게 동작한다. 도 3에 도시된 동작 타이밍도에 따른 데이터 전송 및 프로그램 동작은 그러므로 생략된다.
프로그램 시간(예를 들면, 30㎲)이 고전압 펌핑 회로의 전류 구동 능력을 벗어나지 않는다면 일시에 프로그램하는 불휘발성 메모리의 셀마다 일정하므로, 4바이트의 데이터는, 도 3에 도시된 바와 같이, 정해진 프로그램 시간 내에 데이터 레지스터(220)에 전송될 수 있다. 데이터 레지스터(220)로 데이터를 전송하기 위한 데이터 전송 속도는 1바이트의 용량을 갖는 불휘발성 메모리에 비해서 증가된다. 따라서 가장 긴 프로그램 시간을 갖는 불휘발성 메모리를 기준으로 데이터 전송 속도가 결정되면, 그러한 전송 방식(transfer protocol)은 모든 불휘발성 메모리에 적용 가능하다. 즉 전송 데이터의 크기(또는 기입 버퍼의 크기)에 관계없이 동일한 방식으로 데이터 전송 및 프로그램 동작들이 수행될 것이다.
도 4는 본 발명의 제 2 실시예에 따른 마이크로 제어 시스템의 개략적인 구성을 보여주는 블럭도이다. 제 2 실시예에 따른 마이크로 제어 시스템은 바이트 선택 레지스터의 제어 방법을 제외하면 제 1 실시예의 그것과 동일하다. 도면에 도시된 바와 같이, 바이트 선택 회로(240')는 마이크로 제어 시스템의 중앙 처리 장치(미도시됨)에 의해서 프로그램되거나, 전원 전압 또는 접지 전압 핀을 이용하여 프로그램될 수 있다. 설명의 중복을 피하기 위해서, 제 2 실시예에 따른 데이터 전송 및 프로그램 동작은 생략된다. 도 5는 본 발명의 제 3 실시예에 따른 마이크로 제어 시스템의 개략적인 구성을 보여주는 블럭도이다. 도 5에 있어서, 도 1에 도시된 구성 요소들과 동일한 기능을 갖는 구성 요소들은 동일한 참조 번호들로 표기되며, 그것에 대한 설명은 그러므로 생략된다. 본 발명의 제 3 실시예는 비동기식 방식을 이용한다는 점을 제외하면, 제 1 및 제 2 실시예와 실질적으로 동일하다. 그러므로, 그것에 대한 설명은 생략된다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상 및 범위를 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
상술한 바와 같이, 직렬 인터페이스를 통하여 불휘발성 메모리의 저장 정보를 갱신하고자 할 때, 불휘발성 메모리의 기입 데이터 폭이 달라져도 중앙 처리 장치의 개입 없이(또는 중앙 처리 장치의 개입을 최소화한 상태에서) 일관된 전송 프로토콜을 이용하여 불휘발성 메모리의 저장 정보를 갱신할 수 있을 뿐만 아니라 직렬 데이터 전송 속도를 가변적으로 조정할 수 있다. 불휘발성 메모리가 내장되는 마이크로컨트롤러와 같은 칩의 양산시 불휘발성 메모리의 테스트 시간을 줄이고자 하는 경우, 불휘발성 메모리를 구별하여 전송 속도를 알맞게 높임으로써 테스트 시간을 줄일 수 있다.

Claims (8)

  1. 제어 시스템 내에 구현되고, 기입 버퍼 및 메모리 셀들의 어레이를 포함하는 불휘발성 메모리를 프로그램하는 방법에 있어서:
    a) 직렬 어드레스 비트들을 순차적으로 받아들여 어드레스 레지스터에 유지하는 단계;
    b) 제 1 그룹의 직렬 데이터 비트들을 순차적으로 받아들여 데이터 레지스터에 유지하는 단계와;
    c) 상기 제 1 그룹의 직렬 데이터 비트들이 모두 전송되었는 지의 여부를 판별하는 단계와;
    d) 상기 직렬 데이터 비트들이 모두 전송될 때 상기 데이터 레지스터에서 상기 기입 버퍼로 상기 직렬 데이터 비트들을 전송하는 단계와;
    e) 상기 어드레스 비트들에 따라 상기 직렬 데이터 비트들에 대한 프로그램 동작을 수행하는 동안, 제 2 그룹의 직렬 데이터 비트들을 순차적으로 받아들여 상기 데이터 레지스터에 유지하는 단계와; 그리고
    f) 나머지 그룹들의 직렬 데이터 비트들이 프로그램될 때까지 상기 단계들(c, d, e)을 반복적으로 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 그룹을 제외하고 나머지 그룹들 각각의 직렬 데이터 비트들이 모두 상기 데이터 레지스터에 전송될 때마다 상기 어드레스 레지스터의 값이 증가되는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    상기 직렬 데이터 비트들의 각 그룹은 1바이트 또는 그 보다 많은 바이트들로 이루어지는 것을 특징으로 하는 방법.
  4. 데이터 정보를 저장하는 불휘발성 메모리와;
    외부로부터 공급되는 어드레스를 저장하는 어드레스 레지스터와;
    외부로부터 공급되는 직렬 데이터를 저장하는 데이터 레지스터와;
    상기 불휘발성 메모리, 상기 어드레스 레지스터, 그리고 상기 데이터 레지스터를 제어하는 제어 로직을 포함하고,
    상기 데이터 레지스터로의 직렬 데이터 전송이 완료될 때, 상기 제어 로직은 상기 데이터 레지스터 내의 직렬 데이터가 상기 불휘발성 메모리의 기입 버퍼로 전송되게 하고 상기 직렬 데이터에 대한 프로그램 동작을 수행하도록 프로그램 인에이블 신호를 활성화시키며; 상기 프로그램 동작을 수행하는 동안 다음의 직렬 데이터가 상기 데이터 레지스터로 전송되며; 그리고 상기 데이터 레지스터에서 상기 기입 버퍼로 상기 직렬 데이터가 전송될 때마다 상기 어드레스 레지스터의 어드레스를 변경하도록 상기 어드레스 레지스터를 제어하는 제어 시스템.
  5. 제 4 항에 있어서,
    상기 불휘발성 메모리의 기입 버스 폭을 나타내는 바이트 선택 정보를 출력하는 바이트 선택 회로를 더 포함하고, 상기 제어 로직은 상기 바이트 선택 정보에 따라 상기 프로그램 인에이블 신호의 활성화 구간을 조절하는 제어 시스템.
  6. 제 5 항에 있어서,
    직렬 데이터 전송 시간은 상기 프로그램 인에이블 신호의 활성화 시간과 같거나 그 보다 긴 제어 시스템.
  7. 제 6 항에 있어서,
    상기 바이트 선택 회로의 바이트 선택 정보는 상기 어드레스 및 상기 직렬 데이터가 전송되기 이전에 설정되는 제어 시스템.
  8. 제 7 항에 있어서,
    상기 바이트 선택 회로의 바이트 선택 정보는 상기 제어 시스템의 중앙 처리 장치, 접지 전압 핀, 전원 전압 핀, 그리고 커맨드 레지스터 중 어느 하나를 이용하여 설정되는 제어 시스템.
KR10-2001-0020764A 2001-04-18 2001-04-18 불휘발성 메모리를 프로그램하는 방법 및 장치 KR100385228B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2001-0020764A KR100385228B1 (ko) 2001-04-18 2001-04-18 불휘발성 메모리를 프로그램하는 방법 및 장치
US09/975,420 US6915175B2 (en) 2001-04-18 2001-10-11 Method and device for programming nonvolatile semiconductor memory
GB0127236A GB2374704B (en) 2001-04-18 2001-11-13 Method and device for programming nonvolatile semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0020764A KR100385228B1 (ko) 2001-04-18 2001-04-18 불휘발성 메모리를 프로그램하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20020080907A KR20020080907A (ko) 2002-10-26
KR100385228B1 true KR100385228B1 (ko) 2003-05-27

Family

ID=19708411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0020764A KR100385228B1 (ko) 2001-04-18 2001-04-18 불휘발성 메모리를 프로그램하는 방법 및 장치

Country Status (3)

Country Link
US (1) US6915175B2 (ko)
KR (1) KR100385228B1 (ko)
GB (1) GB2374704B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100966895B1 (ko) * 2004-01-06 2010-06-30 삼성전자주식회사 불휘발성 메모리의 테스트 장치 및 방법

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111109B2 (en) * 2002-03-13 2006-09-19 Canon Kabushiki Kaisha Control system, recording device and electronic apparatus
US7644194B2 (en) * 2003-07-14 2010-01-05 Broadcom Corporation Method and system for addressing a plurality of Ethernet controllers integrated into a single chip which utilizes a single bus interface
US7069371B2 (en) * 2004-03-10 2006-06-27 Silicon Storage Technology, Inc. Motherboard having a non-volatile memory which is reprogrammable through a video display port and a non-volatile memory switchable between two communication protocols
DE102004043520A1 (de) * 2004-09-08 2006-03-23 Infineon Technologies Ag Digitale Programmierschnittstelle zwischen einem Basisbandprozessor und einem integrierten Hochfrequenzbaustein
US7709402B2 (en) 2006-02-16 2010-05-04 Micron Technology, Inc. Conductive layers for hafnium silicon oxynitride films
TWM305902U (en) * 2006-07-25 2007-02-01 Fortune Semiconductor Corp IC for facilitating to realize self-calibration, and its measuring device
US7783826B2 (en) * 2006-09-28 2010-08-24 Qimonda Ag Data bus width converter
IL187041A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Optimized hierarchical integrity protection for stored data
NL2005583C2 (en) * 2009-10-26 2014-09-04 Mapper Lithography Ip Bv Modulation device and charged particle multi-beamlet lithography system using the same.
KR101925384B1 (ko) * 2011-05-17 2019-02-28 삼성전자주식회사 불휘발성 메모리를 포함하는 메모리 시스템 및 불휘발성 메모리의 제어 방법
US9703945B2 (en) 2012-09-19 2017-07-11 Winbond Electronics Corporation Secured computing system with asynchronous authentication
US9455962B2 (en) 2013-09-22 2016-09-27 Winbond Electronics Corporation Protecting memory interface
US9343162B2 (en) * 2013-10-11 2016-05-17 Winbond Electronics Corporation Protection against side-channel attacks on non-volatile memory
US9318221B2 (en) 2014-04-03 2016-04-19 Winbound Electronics Corporation Memory device with secure test mode
IL234956A (en) 2014-10-02 2017-10-31 Kaluzhny Uri Data bus protection with enhanced key entropy
KR20170015708A (ko) * 2015-07-30 2017-02-09 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
US10019571B2 (en) 2016-03-13 2018-07-10 Winbond Electronics Corporation Protection from side-channel attacks by varying clock delays
JP6170596B1 (ja) * 2016-06-15 2017-07-26 ウィンボンド エレクトロニクス コーポレーション 半導体装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0929868A (ja) * 1995-07-20 1997-02-04 Dainippon Printing Co Ltd 紙容器
KR19990060756A (ko) * 1997-12-31 1999-07-26 윤종용 불 휘발성 반도체 메모리 장치의 프로그램 방법
KR20000068426A (ko) * 1997-07-03 2000-11-25 야스카와 히데아키 프로그램 가능한 불휘발성 메모리 장치 및 그것을 사용한 마이크로컴퓨터
KR20010003292A (ko) * 1999-06-22 2001-01-15 윤종용 고밀도 노어형 플래시 메모리 장치 및 그것의 프로그램 방법
JP2001057091A (ja) * 1999-08-03 2001-02-27 Stmicroelectronics Srl ゲート電圧の制御よるマルチレベル不揮発性メモリのプログラミング方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6194295A (ja) 1984-10-16 1986-05-13 Fujitsu Ltd 半導体記憶装置
US5313650A (en) * 1986-10-24 1994-05-17 Hitachi, Ltd. System for performing writes to non-volatile memory elements in a minimal time
US5047982A (en) * 1990-04-12 1991-09-10 Caterpillar, Inc. Write protection method and apparatus for an EEPROM
US5414744A (en) 1993-09-24 1995-05-09 Vlsi Technology, Inc. Serial bit input controller
US5708601A (en) * 1993-12-09 1998-01-13 Sgs-Thomson Microelectronics S.R.L. Integrated circuitry for checking the utilization rate of redundancy memory elements in a semiconductor memory device
US5432741A (en) * 1994-03-17 1995-07-11 Texas Instruments Incorporated Circuit for permanently disabling EEPROM programming
US5727233A (en) * 1994-08-02 1998-03-10 Apple Computer, Inc. Byte-mode and burst-mode data transfer mechanism for a high-speed serial interface
JP3099703B2 (ja) * 1995-02-22 2000-10-16 株式会社デンソー 通信システム
US5862367A (en) * 1995-03-17 1999-01-19 United Micro Electronics Corporation Apparatus and method for serial-to-parallel data conversion and transmission
JPH0922393A (ja) * 1995-07-06 1997-01-21 Mitsubishi Electric Corp 通信機能を有するワンチップフラッシュメモリ装置
JPH09307726A (ja) * 1996-05-17 1997-11-28 Oki Data:Kk 画像圧縮・復元装置
US5761732A (en) * 1996-06-28 1998-06-02 Intel Corporation Interleaving for memory cards
US6009496A (en) * 1997-10-30 1999-12-28 Winbond Electronics Corp. Microcontroller with programmable embedded flash memory
KR100271717B1 (ko) 1997-12-31 2000-11-15 김영환 클럭 주파수 체배 장치를 포함하는 반도체 메모리 장치의 데이터 전송 장치
IT1298517B1 (it) * 1998-01-30 2000-01-12 Sgs Thomson Microelectronics Circuito elettronico integrato su semiconduttore ed incorporante dispositivo elettronico di memoria non volatile programmabile
US6535780B1 (en) * 1999-11-10 2003-03-18 Data I/O Corporation High speed programmer system
KR100343285B1 (ko) * 2000-02-11 2002-07-15 윤종용 프로그램 시간을 단축시킬 수 있는 플래시 메모리 장치의프로그램 방법
JP2001344986A (ja) * 2000-06-05 2001-12-14 Mitsubishi Electric Corp 不揮発性半導体記憶装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0929868A (ja) * 1995-07-20 1997-02-04 Dainippon Printing Co Ltd 紙容器
KR20000068426A (ko) * 1997-07-03 2000-11-25 야스카와 히데아키 프로그램 가능한 불휘발성 메모리 장치 및 그것을 사용한 마이크로컴퓨터
KR19990060756A (ko) * 1997-12-31 1999-07-26 윤종용 불 휘발성 반도체 메모리 장치의 프로그램 방법
KR20010003292A (ko) * 1999-06-22 2001-01-15 윤종용 고밀도 노어형 플래시 메모리 장치 및 그것의 프로그램 방법
JP2001057091A (ja) * 1999-08-03 2001-02-27 Stmicroelectronics Srl ゲート電圧の制御よるマルチレベル不揮発性メモリのプログラミング方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100966895B1 (ko) * 2004-01-06 2010-06-30 삼성전자주식회사 불휘발성 메모리의 테스트 장치 및 방법

Also Published As

Publication number Publication date
US6915175B2 (en) 2005-07-05
US20020156539A1 (en) 2002-10-24
GB0127236D0 (en) 2002-01-02
KR20020080907A (ko) 2002-10-26
GB2374704A (en) 2002-10-23
GB2374704B (en) 2003-06-18

Similar Documents

Publication Publication Date Title
KR100385228B1 (ko) 불휘발성 메모리를 프로그램하는 방법 및 장치
CN107871525B (zh) 半导体存储装置及连续读出方法
US6829673B2 (en) Latched address multi-chunk write to EEPROM
US7290109B2 (en) Memory system and memory card
US7554879B2 (en) Apparatus for testing a nonvolatile memory and a method thereof
US6556504B2 (en) Nonvolatile semiconductor memory device and data input/output control method thereof
KR100466980B1 (ko) 낸드 플래시 메모리 장치
US5488711A (en) Serial EEPROM device and associated method for reducing data load time using a page mode write cache
US7831794B2 (en) Memory card and host device thereof
US9063849B2 (en) Different types of memory integrated in one chip by using a novel protocol
US7606952B2 (en) Method for operating serial flash memory
EP1774529B1 (en) Fuse data storage system using core memory
JP2001266580A (ja) 半導体メモリ装置
US20030137874A1 (en) Memory controller and memory system apparatus
US7590027B2 (en) Nonvolatile semiconductor memory device
WO2006046282A1 (ja) 不揮発性記憶装置
US20070233988A1 (en) Off-chip micro control and interface in a multichip integrated memory system
KR102114539B1 (ko) 반도체 기억장치 및 데이터 세팅 방법
JP2001084172A (ja) 半導体記憶装置
CN107633863B (zh) 存储器装置及其程式化方法
JP2021152779A (ja) 半導体記憶装置
KR20040087848A (ko) 멀티 칩에서 멀티 섹터 소거 동작 모드를 지원하는 반도체메모리 칩 및 멀티 칩 패키지, 그리고 멀티 섹터 소거 방법
JPH10208487A (ja) 不揮発性メモリ

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: 20120430

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee