KR100301913B1 - 메모리제어파라미터용비휘발성데이터기억구조를갖는메모리시스템과시스템동작의제어방법 - Google Patents

메모리제어파라미터용비휘발성데이터기억구조를갖는메모리시스템과시스템동작의제어방법 Download PDF

Info

Publication number
KR100301913B1
KR100301913B1 KR1019980700640A KR19980700640A KR100301913B1 KR 100301913 B1 KR100301913 B1 KR 100301913B1 KR 1019980700640 A KR1019980700640 A KR 1019980700640A KR 19980700640 A KR19980700640 A KR 19980700640A KR 100301913 B1 KR100301913 B1 KR 100301913B1
Authority
KR
South Korea
Prior art keywords
memory
data
data storage
memory system
voltage
Prior art date
Application number
KR1019980700640A
Other languages
English (en)
Other versions
KR19990035979A (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 로데릭 더블류 루이스
Publication of KR19990035979A publication Critical patent/KR19990035979A/ko
Application granted granted Critical
Publication of KR100301913B1 publication Critical patent/KR100301913B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/46Test trigger logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • 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
    • G11C16/20Initialising; Data preset; Chip identification
    • 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/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • 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/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/026Detection or location of defective auxiliary circuits, e.g. defective refresh counters in sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Abstract

제조 이후에 최적의 동작을 할 수 있도록 구성된 메모리 시스템(10)과 이 시스템을 제어하기 위한 방법. 이 시스템은 복수의 행과 복수의 열로 배열된 메모리 셀 어레이를 포함하고 있고, 행에 위치하는 각각의 셀은 공통워드선에 연결되고 열에 위치하는 각각의 셀은 공통비트선에 연결된다. 제어회로(19)는 메모리 동작을 제어하기 위해 포함되며, 이 메모리 동작(16)은 메모리셀을 프로그래밍하는 동작과, 메모리셀을 판독하는 동작과 이 셀을 바람직하게 프로그래밍하는 단계를 포함한다. 복수의 비휘발성 데이터 저장유닛(12A)은 메모리 동작을 제어하기 위한 제어수단에 의해 사용된 제어 파라미터를 저장하기 위해 공급된다. 예를들어 이러한 제어 파라미터는 프로그래밍을 수행하고 동작을 소거하기 위해 상기 메모리(10)에 인가된 전압 펄스의 크기와 지속길이를 조정하기 위한 파라미터를 포함하고 있다.

Description

[발명의 명칭]
메모리 제어 파라미터용 비휘발성 데이터 기억 구조를 갖는 메모리 시스템과 시스템 동작의 제어 방법
[기술분야]
본 발명은 메모리 시스템에 관한 것으로, 더 상세하게는 메모리의 동작을 제어하고 또한 메모리 시스템이 제조된 이후에 재프로그램될 수 있는 프로그램 가능 제어 파라미터를 갖는 메모리 시스템에 관한 것이다.
[배경기술]
대규모 저장용량을 갖는 집적회로 메모리 시스템이 개발되고 있다. 메모리 시스템의 제조를 주의깊게 제어함으로써 수율을 증가시키려는 시도가 계속되고 있지만, 동일한 디자인을 이용하는 메모리 시스템의 경우에도 메모리 시스템의 특성상 차이는 항상 존재하게 될 것이다. 이러한 특성상의 차이는 여러 요인(factors)에 의한 것이지만 대부분이 차이는 프로세싱의 변화에 의한 것이다. 따라서 하나의 반도체 웨이퍼로부터 취해진 메모리 시스템은 다른 웨이퍼로부터 취해진 메모리 시스템과는 상당히 다를 수도 있다.
메모리 시스템의 제조가 완료될 때까지는 그 메모리 시스템을 완전히 특성화하는 것은 통상 가능하지 않다. 이 시점에서는 메모리 시스템의 특성을 고려하여 메모리 시스템을 수정하는 것도 가능하지 않다. 예를들어 플래시 메모리 시스템에서는 플레시 셀(flash cells)을 전기적으로 프로그램하고, 판독하고, 소거하는 것이 가능하다. 상기 셀의 논리 상태는 이 셀을 프로그램하거나 또는 소거함으로써 설정되며, 프로그래밍 및 소거기능은 셀의 임계 전압을 변경시킨다. 셀이 판독되는 경우에는 이 셀의 논리 상태를 설정하기 위해 셀의 임계전압이 결정된다. 그러나 플래시 셀의 특성은 이 플래시 셀이 프로그래밍 펄스 또는 소거 펄스에 응답하는 방식으로는 정확히 확인되지 않는다. 하나의 메모리 시스템의 셀의 임계전압은 하나의 프로그래밍 펄스가 인가된 이후의 양을 변화시킬 수도 있고, 다른 하나의 동일한 메모리 시스템으로 추정되는 셀은 동일한 프로그래밍 펀스가 인가된 이후에 상이한 양(different amount)을 변화시킬 수도 있다.
메모리 시스템 특성에 있어서의 이러한 변화를 수용하기 위해서는 통상 최악의 상태를 가정하여 시스템을 설계할 필요가 있다. 이러한 경우에 시스템의 전체적인 수행능력은 거의 필연적으로 감소될 것이다.
또한 연관된 메모리와 동작하는 여러 프로세서 시스템은 적절한 동작을 위해서는 특별한 메모리 구성을 요구할 수도 있다. 예를들어 어느 시스템은 8비트 길이의 워드를 필요로하며, 또 다른 어느 시스템은 16비트 길이의 워드를 필요로 한다. 종래의 메모리 시스템은 최종 유저(end user)가 워드 사이즈를 어느 정도 제어할 수 있도록 하는데 이용할 수 있다. 그러나 이러한 시스템은 워드 길이를 제어하기 위해서는 말단 유저가 필요한 신호를 메모리에 제공하여야만하므로 메모리의 최종 유저에 부가되는 복잡성을 증가시킨다. 또다른 예로는 대부분의 프로세서 시스템은 파워온시 부트 데이나(boot data)용 메모리의 특정부를 조사한다. 이러한 부트 데이터는 시스템의 기능에 따른 프로세서용으로 필요하다. 이러한 프로세서는 특정 메모리 어드레스에 부트 데이터가 존재하는 것을 기대할 수 있도록 구현된다. 일부 프로세서는 부트 데이터가 메모리 로우 어드레스(보텀 부트(bottom boot))에 존재할 것으로 예상하고, 일부 프로세서는 부트 데이터가 메모리 고속 어드레스(톱 부트(top boot))에 존재할 것으로 예상한다.
상이한 유형의 프로세서 시스템에 대한 기능(capabilities)을 제공하기 위해 각각의 애플리케이션을 위한 상이한 메모리 시스템을 생산하는 것도 가능하다. 그러나, 제조되어야 하는 상이한 메모리 유형의 수는 항상 제한하는 것이 바람직하다.
제조 이후에 시스템이 완전히 특성화될 수 있도록 하고, 아울러 특정 동작파라미터가 영구적으로 조정되도록함으로써 시스템의 특별한 특성을 고려하여 최적화되는 메모리 시스템을 제공하는 것이 바람직하다. 제조 이후에 메모리 시스템의 구성을 수정(modifying)할 수 있는 능력을 제공함으로써 제조되어야하는 상이한 유형의 메모리수를 줄이는 것도 바람직하다. 본 발명은 이러한 특성을 제공하고 있으며, 기타 개선된 특성은 도면과 함께 본 발명을 읽음으로써 명백해질 것이다.
[발명의 상세한 설명]
[발명의 요약]
제조후에 최적의 동작을 할 수 있도록 구설되는 메모리 시스템이 개시된다. 이 시스템은 다수의 행과 다수의 열로 배열되는 메모리셀 어레이를 포함하고 있으며, 상기 행들중 하나의 행에 위치하는 각각의 셀은 공통워드 라인에 연결되고, 상기 열들중 하나의 열에 위치하는 각각의 셀은 공통비트 라인에 연결된다. 제어수단은 메모리 동작을 위해 포함되어 있는 것이며, 이 메모리의 동작은 메모리셀을 프로그래밍하고, 이 메모리셀을 판독한 후 이 셀을 바람직하게 프로그래밍하는 동작을 포함하고 있다.
시스템은 복수의 비휘발성 저장유닛을 추가로 포함하고 있으며, 이 저장유닛은 메모리 동작을 제어하기 위한 제어수단에 의해 사용된 제어 파라미터 데이터를 저장한다. 이러한 제어 파라미터는 프로그래밍과 소거 동작을 수행하기 위해 메모리에 인가된 전압의 크기와 펄스를 조정하기 위한 피라미터를 포함하고 있을 수도 있다. 또한 제어 파라미터는 판독된 워드와 메모리에 프로그램된 워드의 길이(비트수)를 제어하기 위한 파라미터도 포함할 수 있다. 더욱이 제어 파라미터는 예를 들어 외부 어드레스가 변경(alter)되어 메모리에 적용된 실제 어드레스가 반전(inverted)되도록 메모리 시스템의 어드레싱을 제어하기 위한 파라미터도 포함할 수 있다.
이러한 제어 파라미터는 메모리셀 어레이로부터 분리되는 데이터 저장구조(data storage structure)로 저장된다. 이 데이터 저장구조는 각각의 제어 파라미터를 저장하기 위한 데이터 저장유닛을 포함하는 것이 바람직하다. 각각의 데이터 저장유닛은 휘발성 기억소자(volatile storage element)와 비휘발성 기억소자(non-volatile storage element)를 포함하고 있다. 파워온시 제어 파라미터 데이터는 비휘발성 기억소자로부터 휘발성 기억소자로 자동적으로 전송되고, 제어수단은 휘발성 저장유닛내의 제어 파라미터 데이터에 응답한다. 제어 파라미터 데이터는 이 데이터가 먼저 휘발성 기억소자에 로딩되도록 하고 이 데이터를 휘발성 기억소자로부터 비취발성 기억소자에 전송함으로써 데이터 저장 유닛에 놓여진다.
[도면의 간단한 설명]
제1도는 본 발명에 따른 메모리 시스템의 전체적인 블록도로서, 워드 길이 제어특성의 특정 양상을 나타내는 도면.
제2도는 대상 메모리 시스템의 개략적인 부분도로서, 저장된 제어 파라미터에 기초한 워드 길이의 제어에 관련된 회로를 나타내는 도면.
제3도는 대상 메모리 시스템의 개략적인 부분도로서, 저장된 제어 파라미터에 기초한 어드레싱 극성(addressing polarity)의 제어에 관련된 회로를 나타내는 도면.
제4(a)도와 제4(b)도는 메모리 시스템 상태 머신(state machine)을 나타내는 흐름도.
제5도는 대상 메모리 시스템의 개략적인 부분도로서, 저장된 제어 파라미터에 기초한 감지 증폭기 기준의 제어에 관련된 회로를 나타내는 도면.
제6도는 대상 메모리 시스템의 개략적인 부분도로서, 저장된 제어 파라미터에 기초한 메모리 동작에 사용되는 고전압의 크기의 제어와 관련된 회로를 나타내는 도면.
제7도는 메모리 동작에 이용되는 펄스의 지속길이(duration)를 변화시키기 위해 선택되는 타이밍 디코드 신호를 발생시키기 위해 사용된 회로의 일부 블록도.
제8도는 저장된 제어 파라미터에 기초하여 상이한 펄스 지속길이를 발생시키는 제7도의 다이어그램에서 생성된 디코드 신호를 선택하기 위해 사용된 회로를 나타내는 개략적인 도면.
제9도는 제7도의 다이어그램에서 생성된 디코드 신호를 논리적으로 결합하기 위한 회로의 개략적인 도면.
제10도는 제8도의 다이어그램에서 사용된 멀티플렉서중 하나의 회로 상세를 나타내는 개략적인 도면.
제11도는 전형적인 프로그래밍 펄스가 생성되는 방법을 예시하는 타이밍도.
제12도는 제어 파라미터를 저장하는데 사용된 데이터 저장유닛의 개락적인 도면.
제13도는 제12도의 데이터 저장유닛에 의해 수행될 수 있는 여러 기능을 예시하는 타이밍도.
제14도는 대상 메모리 시스템이 테스트 모드에 놓인 경우를 검출하고 어느 테스트 모드에서 검출되었는지를 판정하기 위해 사용된 회로의 블록도.
제15(a)도 내지 제15(c)도는 9개의 예시적인 데이터 저장유닛과 이 저장유닛을 제어하기 위한 일부 연관 회로를 나타내는 개략적인 도면.
제16도는 데이터 저장유닛을 프로그래밍하고 기타 데이터 저장유닛의 동작을 위해 고전압 펄스를 발생시키는데 사용된 회로의 개략적인 다이어그램.
제17도는 데이터 저장유닛에서 여러 기능이 수행되는 방법을 추가로 예시하는 도면.
[실시예]
도면을 참조하면 제1도는 본 발명의 여러 양상을 포함하는 플래시 메모리 시스템(10)을 나타내는 도면이다. 시스템의 코어는 행(rows) 및 열(columns)에 배치되는 플래시 메모리셀 어레이(12)이다. 대상 메모리 시스템의 동작은 이 메모리 시스템이 제조된 이후 어느 순간에 변경될 수 있는 저장된 제어 피라미터 CPN에 의해 변경될 수 있다. 이러한 방법으로 제어될 수 있는 상이한 유형의 전형적인 동작이 이하 설명된다.
[워드 길이(버스의 크기)]
메모리 시스템(10)은 저장된 프로그램가능 제어 파라미터 CP1을 이용하여 8비트 워드인 전체 256K나 또는 16비트 워드인 전체 128K를 제공하도록 영구적으로 구성될 수 있다. 제어 파라미터 CP1을 포함하고 있는 제어 파라미터 비트의 상태가 비휘발성 데이터 저장유닛(14A)에 저장된다. 데이터 저장유닛은 본 출원과 동일자로 출원되어 “NON-VOLATILE DATA STORAGE UNIT AND METHOD OF CONTROLLING SAME”이라는 명칭으로 등록된 출원번호 제08/508,864호에 설명된 유형이 될 수도 있으며, 그 내용은 본 명세서에서 참조로 설명된다. 이 출원은 CP1 등의 제어 파라미터들이 메모리 시스템의 제조가 완료된 이후에 원하는 상태로 프로그램될 수 있도록 하는 플래시 메모리셀을 구비한 비휘발성 저장 유닛을 개시하고 있다. 이 데이터 저장유닛의 구성 및 동작과 관련된 추가적인 설명이 제공된다.
제어 파라미터 CP1은 대상 메모리 데이터 버스의 사이즈 즉, 메모리의 데이터 워드의 사이즈를 제어하기 위해 사용된다. 본 발명의 예에서 사이즈는 8비트 워드 또는 16비트 워드일 수도 있다. 저장유닛(14A)의 출력은 16비트 또는 8비트 워드 연산(operation)을 제공하도록 메모리 시스템 입력과 출력을 제어하는 I/O 제어 논리 유닛(15)에 접속된다.
프로그래밍, 판독, 소거를 포함한 메모리 연산이 여러 방법으로 개시될 수 있다. 모든 연산에 대해 칩 이네이블 신호 /CE는 활성(로우)으로 되어야만 한다. 판독 연산을 수행하기 위해서는 기록 이네이블 신호 /WE는 비활성(하이)으로도 되어야만한다. 기록 연산을 위해 신호 /WE는 활성(로우)으로 되어야만 한다. 데이터의 우발적인 수정(accidental modification) 가능성을 줄이기 위해서는 소거 및 프로그램 연산은 명령 실행 논리 유닛(16)에 의해 처리되는 2개의 연속 명령의 수신을 필요로한다. 프로그램 및 소거 명령은 데이터 I/O 단자 DQ0 - DQ7의 대응 프로세서(associated processor)에 의해 공급되어 입력 버퍼(13)에 전송되며 이어서 전송을 위해 명령 실행 논리 유닛(16)으로 전송된다.
256k 8비트 워드를 제공하도록 메모리가 구성된 경우에는 전부 19개의 어드레스 비트가 대응 프로세서에 의해 공급된다. 어드레스 18비트는 어드레스 단자 A0 - A17로 전송되고 이어서 어드레스 버퍼(17)로 전송된다. 마지막 어드레스는 A-1/DQ15에 공급된다. 이 단자는 메모리가 8비트 워드 구성인 경우에는 최하위 어드레스 A-1으로서 그리고 메모리가 16비트 구성인 경우에는 16 데이터 I/O (DQ0-DQ15)의 I/O DQ15로서 이용된다.
어드레스 A0-A17은 X디코더(20)와 Y디코더(22)에 전송되어 어레이(12)로부터 하나의 16비트 워드를 선택한다. 판독 연산이 수행되는 경우에는 어레이(12)로부터 판독된 16비트는 데이터 멀티플렉서(24)에 전송된다. I/O 제어 논리 유닛(15)은 메모리로부터 판독된 16비트로된 보다 하위의 8비트 워드 또는 보다 상위의 8비트워드를 선택함으로써 응답하게될 멀티플렉서(24)에 어드레스 A-1이 향하도록 입력 버퍼(18)를 조정하며 어드레스 비트 A-1의 상태에 좌우된다. 출력 데이터의 8비트는 교대로 출력 데이터를 메모리 단자 DQ0 - DQ7에 연결하는 출력버퍼(26)에 전송된다. 이러한 모드에서(8비트 모드) 단자 DQ8 - DQ14에 접속되는 데이터 출력 버퍼(28)의 출력은 고임피던스 상태로 설정된다.
메모리 시스템이 8비트 모드에 있는 경우 메모리 프로그램 연산이 수행되도록 되어 있다면, 대응 프로세서는 18개의 최상위 비트의 어드레스를 단자 A0 - A17에 그리고 최하위 비트를 단자 DQ15/A-1에 제공하게 될 것이다. 이 어드레스에서 프로그램될 데이터의 8비트는 프로세서에 의해 단자 DQ0 - DQ7 에 전송되고 이어서 데이터 입력 버퍼(13)에 전송된다. 8비트의 데이터는 입력 데이터 래치/멀티플렉서(30)에 공급되며, 이 래치/멀티플렉서(30)는 어드레스 A-1에 기초하여 Y 선택 게이트 유닛(32)에 공급된 16비트의 상위 또는 하위 절반에 공급될 입력 버퍼(13)로부터 8비트의 데이터를 선택한다.
18비트 어드레스 A0-A17은 어레이(12)의 16비트 워드를 선택하는 X디코더(20)와 Y디코더(22)에 의해 사용된다. 래치/멀티플렉서(30)는 그 출력중 선택해제된(deselected) 8비트를 디스에이블 상태가 되도록 하므로 이들 비트는 프로그램되지 않을 것이다. 따라서 디코더(20,22)에 의해 어드레스된 16비트 워드의 상위 또는 하위 절반은 래치/멀티플렉서(30)의 8비트에 의해 프로그램된다. 선택해재된 절반은 프로그램되지 않을 것이다.
제어 파라미터 CP1이 설정되어 16비프 워드를 공급하는 경우에, 대응 프로세서는 18비트 어드레스를 공급할 필요가 있을 뿐이다. 이러한 어드레스 비트는 단자 A0-A17에 인가될 것이다. 판독 동작이 수행될 것이라던 13비트의 어드레스가 X 디코더(20)와 Y 디코더(22)에 의해 사용되어 어레이(12)의 16비트 워드를 선택한다. 8비트의 워드가 멀티플렉서(24)에 전송되고, 이 멀티플렉서(24)는 이들 비트를 출력버퍼(26)에 전송하고 이어서 단자 DQ0 - DQ7에 전송한다. 어레이(12)로부터 판독된 데이터의 추가적인 7비트는 출력버퍼(28)에 전송되고 이어서 단자 DQ7-DQ14에 전송된다. 워드의 16번째 데이터 비트 DQ15는 출력버퍼(34)로 전송되고 이어서 이중 기능 단자 DQ15/A-1로 전송된다.
시스템이 16비트 모드에 있을 때 메모리 프로그램 연산이 수행되는 경우에는 대응 프로세서에 의해 단자 A0-A17에 공급된 18개의 어드레스 비트는 프로그램될 16비트 워드의 어레이(12)를 선택한다. 대응 프로세서는 프로그램될 16비트를 단자 DQ0-DQ7, DQ8-DQ14 및 DQ15/A-1에 전송한다. 15개의 데이터 비트가 입력버퍼(13,36)에 의해 수신된다. 16번째 비트는 입력버퍼(18)에 의해 수신된다. 버퍼(13,36,18)의 출력은 래치/멀티플렉서(30)에 공급되고, 이어서 Y선택 게이트 유닛(32)에 전송되어 18개의 어드레스 비트에 의해 선택된 워드로 프로그램된다.
제2도는 판독 동작동안의 본 발명의 워드 사이즈 제어 특징에 대해 더욱 상세히 나타낸 도면이다. 데이터 저장유닛(14A)은 워드 사이즈를 제어하는 제어 파라미터 CP1을 저장한다. “1”의 CP1 값은 8비트로된 워드 사이즈를 나타내고 “0”의 값은 16비트로된 워드 사이즈를 나타낸다. 앞서 주목한 바와 같이 어느 메모리 시스템 연산의 경우 신호 /CE는 활성(로우)이고 어느 판독 연산의 경우 신호 /OE는 활성(로우)이 된다. 신호 /CE와 /OE는 모두 회로(38)과 회로(40)에 의해 각각 모두 버퍼되며, 그 출력은 NOR 게이트(42)의 입력에 공급된다. 게이프의 출력(42)은 인버터(44)에 의해 반전되고, 인버터(44)의 출력은 데이터 출력버퍼(26)의 이네이블 신호의 기능을 한다. 따라서 신호 /CE와 /OE는 모두 활성이고, 인버터(44)의 로우 신호 출력은 출력 버퍼(26)의 출력 DQ0-DQ7이 활성이 되도록 한다. 신호 /CE 또는 /OE 중 어느 하나가 비활성인 경우 버퍼(26)의 출력은 비활성 또는 고임피던스 상태가 될 것이다.
인버터(44)의 출력은 NOR 게이트(46)의 한 입력에도 접속되고, 이 게이트는 제어 파라미터 CP1의 값을 나타내는 출력인 데이터 저장유닛(14A)에 접속되는 제2 입력을 갖는다. 게이트(46)의 출력은 출력버퍼(34)와 출력버퍼(28)에 연결되는 인버터(48)에 의해 반전된다. 따라서 판독 동작이 수행되고 CP1이 8비트 워드 길이를 나타내는 “1”인 경우, 양 버퍼(28,34)는 디스에이블될 것이므로 그 출력은 하이 임피던스가 될 것이다. 따라서 앞서 설명한 바와 같이 8비트의 데이터가 버퍼(26)에 의해 공급된다. CP1이 “0”이고 16비트 워드를 나타내면 모두 3개의 버퍼(26,28,34)는 이네이블되어 모두 16비트가 출력될 수 있다.
메모리 시스템(10)은 메모리 판독 동작을 위해 모두 16개의 센스 증폭기를 이용하고 있으며 이 증폭기는 제1도의 블록(33)으로 나타나 있다. 이들 증폭기는 프로그램 검사(verification)와 소거 검사에도 사용될 수 있으며 이후 설명한다. 제2도의 다이어그램에서 볼수 있는 바와 간비 신호 /CE는 활성(로우)이고, DQ0-DQ7과 연관된 8개의 감지증폭기는 인버터(52)의 “1”출력에 의해 표시되는 바와 같이 활성이 된다. 저장유닛(14A)의 출력은 인버터(50)에 공급되고, 이 인버터의 출력은 NAND 게이트(54)의 한 출력에 공급되며, 인버터(52)의 출력은 게이트(54)의 다른 입력에 공급된다. 게이트(54)의 출력은 인버터(56)에 의해 반전된다. 따라서 CP1이 8비트 동작을 나타내는 “1”로 설정되는 경우, 인버터(56)의 출력은 “0”이 되므로 DQ8-DQ15에 연관된 감지증폭기가 디스에이블된다. CP1이 16비트 동작을 나타내는 “0”인 경우 모두 16개의 감지증폭기는 이네이블될 것이다.
[톱/바텀 어드레싱]
제1도의 시스템 다이어그램에서 볼 수 있는 바와 같이 메모리 어레이(12)는 몇몇 메모리 블록으로 분할된다. 시스템은 전체 메모리가 소거되는 벌크 소거(bulk erasure) 보다는 메모리가 블록 단위로 소거되도록 구현된다. 어레이(12)는 통상 부트블록(12A)이라고 하는 것을 포함하고 있다. 이 블록은 파워온시 시스템을 시동하는데 사용된 커널코드(kernel)를 포함하도록 하기 위한 것이다. 통상 부트 블록(12A)은 하드웨어 프로텍트(hardware protected)되므로 특별한 단계가 취해지지 않는한 소거될 수 없다.
파워온시 대응 프로세서는 통상 부트 블록(12A)에 저장된 데이터를 판독하도록 자동적으로 조정되므로 시스템이 개시될 수 있다. 일부 프로세서는 어드레스 3FFFF(H)에서 부트 블록 데이터의 판독을 개시할 것이며, 일부 프로세서는 어드레스 00000(H)에서 부트 블록 데이터의 판독을 개시할 것이다(A0-A17은 모두 “0”). 이러한 2개의 접근은 때로는 각각 탑 및 바텀 어드레싱(top and bottom addressing)이라고 한다.
본 발명은 장치를 포함하고 있고, 메모리 시스템은 제조 이후에 탑 또는 바텀 어드레싱을 수행하도록 구성될 수 있다. 이것은 메모리 시스템의 양 유형을 제조할 필요성을 없애준다. 제3도는 제1도의 메모리 시스템에 대한 상세한 다이어그램으로서, 시스템이 제조 이후에 탑 또는 바텀 어드레싱 모두를 제공할 수 있도록 구성될 수도 있는 방법을 나타내는 도면이다. 하나의 제어 파라미터 CP2는 띠드레싱 유형을 제어하기 위해 사용된다.
파라미터 CP2는 파라미터 CP1을 저장하기 위해 사용되는 저장유닛(14A)과 유사한 프로그램가능 데이터 저장유닛(14B)에 저장된다. CP2가 “0”이라면 외부 어드레스 A0-AN은 불변화 상태로 남게 된다. 따라서 프로세서가 어드레스 00000 (H)에서 시작되는 부트 블록 데이터를 초기에 검사하게 되고, 그 데이터가 이 부트 블록의 내부 어드레스라면 외부 어드레스로는 어떠한 변경도 행해지지 않는다. 따라서 X 및 Y 에 적용된 내부 어드레스는 외부 어드레스와 동일하다. 이러한 경우에 제어 파라미터 CP2는 “0”으로 설정된다. CP2는 프로세서가 어드헤스 3FFFF(H)를 먼저 검토하고, 이 어드레스가 부트 블록의 내부 어드레스라면 “0”일 수도 있다.
프로세서가 부트 블록 데이터에 대한 어드레스 3FFFF(H)를 먼저 검토하고, 실제 부트 블록이 00000(H)에서 시작부에 위치한다면 파라미터 CP2는 “1”이 된다. 이는 초기 프로세서 어드레스가 00000(H)이고 실제 시작 어드레스가 3FFFF(H)라면 참이된다.
제3도를 참조하면 외부 어드레스 A0-AN은 어드레스 버퍼/래치(17)에 전송되고 이어서 별도의 XOR (배타적 OR) 게이트(58)의 한 입력에 전송된다. XOR 게이트(58)의 각각의 나머지 입력은 데이터 저장유닛(14B)에 접속되고 파라미터 CP2가 저장된다. CP2가 “0”으로 프로그램되었다면 XOR 게이트는 간단히 외부 어드레스를 X 및 Y 디코더(20,22)에 전송하게 된다. 따라서 내부 및 외부 어드레스가 동일하다. 만일 CP2가 “1”로 프로그램되었다면 XOR 게이트(58)는 X 및 Y 디코더(20,22)에 인가된 내부 어드레스를 발생시키기 위해 외부 어드레스를 반전시키게된다.
[감지증폭기 기준전압]
제1도의 블록(33)으로 표현된 감지증폭기는 앞서 설명한 바와 같이 여러 메모리 기능에 사용된다. 이들 감지증폭기들은 메모리 판독 동작에 이용되므로 어레이(12)내의 셀의 프로그램된 상태가 확인될 수 있다. 또한 감지증폭기들은 셀의 적절한 프로그래밍을 검사하고 셀의 적절한 소거를 검사하는데도 사용된다. 이러한 모든 동작에서는 감지되는 셀을 통한 전류 흐름을 나타내는 전압이 발달된다. 상기 감지전압은 감지증폭기에 의해 기준전압과 비교된다. 통상 감지전압에는 판독 동작과 프로그램 검사 동작에 사용된 하나의 기준전압과 소거 검사 동작에 사용된 또 다른 하나의 기준전압이 있다.
본 발명을 보다 완전히 이해하기 위해서는 제1도의 메모리 시스템의 동작에 대해 추가로 설명함으로써 도움이 될 수 있다. 메모리 시스템(10)은 프로그래밍, 판독, 및 소거 동작을 수행하는데 필요한 여러 개별적인 단계와 같은 이 시스템의 세부적인 동작을 제어하기 위한 내부 상태 머신(18)을 포함하는 유형이다. 따라서 상태머신(19)은 메모리 시스템(10)과 관련하여 통상 사용되는 프로세서(도시생략)에 요구되는 오버헤드를 감소시키는 기능을 한다.
예를들어 메모리셀 어레이(12)가 소거될 것이라면(벌크 단위로 또는 블록 단위로), 대응 프로세서는 출력 이네이블 /OE핀이 비활성(하이)이 되도록하고, 칩 이네이블 /CE 및 기록 이네이블 /WE 단자가 활성(로우)이 되도록한다. 프로세서는 데이터 I/O 단자 DQ0-DQ7에 8비트 명령 20H(00100000). 통상 소거 설정 명령(Erase Setup command)이라고 하는 명령을 발생시킬 수 있다. 이 명령 다음에는 통상 소거 확인 명령(Erase Confirm command)이라고 하는 제2 8비트 명령 DOH(11010000)의 발생이 이어진다. 2개의 별도의 명령이 사용되어 부적절한 소거 동작이 일어날 가능성을 최소화한다.
상기 명령은 데이터 입력 버퍼(13)에 전송되며 이어서 명령 실행 논리 유닛(16)에 전송된다. 논리 유닛(16)은 상태 머신(19)에 명령하여 어레이(12)를 소거하기 위한 수많은 공지의 모든 단계를 수행하도록 한다. 일단 소거 시퀀스가 완료되면 상태머신(19)은 8비트 상태 레지스터(25)를 갱신하고, 그 내용은 데이터 출력버퍼(26)에 전송되며, 이 버퍼(26)는 메모리 시스템의 데이터 I/O 단자 DQ0-DQ7에 접속된다. 프로세서는 소거 시퀀스가 완료되었는지와 이러한 소거가 성공적으로 완료되었는지를 판정하기 위해 데이터 I/O 단자를 주기적으로 폴(poll)하여 상태 레지스터(25)의 내용을 판독하게 된다.
제4(a)도와 제4(b)도는 상태머신(17)에 의해 수행되는 통상적인 소거 시퀀스를 나타내는 흐름도이다. 먼저 어느 소거동작 동반에는 소거 시퀀스가 지적되어야만하며 메모리의 하나 이상의 셀이 “과소거(overerased)”라는 용어로 나타나게될 가능성이 있다. 소거 시퀀스의 목적은 메모리 어레이(12)의 모든 셀을 소거하여 인계전압이 모두 특정 전압범위내에 있도록 하는 것이다. 그 범위는 +1.5 내지 +3.0 전압과 같은 작은 포지티브 전압 범위에 있다. 소거된 전압이 이러한 범위내에 있게 되면 판독될 셀, 선택 또는 타겟 셀은 판독 동작시 셀전류를 발생시키게 된다. 셀전류의 흐름이 존재한다는 것은 셀이 프로그램된 상태(논리 “0”)라기 보다는 소거된 상태(논리 “1”)라는 것을 나타낸다.
셀전류는 X 디코더(20)에 접속된 어레이로부터의 워드선에 의해, 제어 게이트에 인가된 전압이 실제적인 양만큼 소거된 셀의 인계전압을 초과하게될 것이기 때문에 소거된 셀에서 발생된다. 더욱이 판독되지 않는 셀과, 선택해제된 셀은 이들 셀이 낮은 임계 전압상태로 소거된 경우에도 셀전류의 발생을 방지한다. 예를들어 선택된 셀로서 동일한 로우에 위치한 셀의 경우 정의에 의해 선택된 셀로서 동일한 워드선을 공유한다. 그러나 드레인은 플로팅됨으로써 셀전류가 생성되는 것을 방지한다. 동일한 열에서 선택해제된 셀은 이러한 선택해제된 셀이 통상 접지되기 때문에 셀전류가 흐르게 하지는 않을 것이다. 따라서 이들 셀의 게이트-소스 전압은 셀들이 소거상태에 있다고 하더라도 이들 신택해제된 셀을 온시키기에는 불충분하게 될 것이다.
일단 어레이(12)가 소거되었다면 대다수의 셀은 적절한 소거 임계 전압을 갖게될 것이다. 그러나 몇개의 셀만이, 심지어는 하나의 셀만이 소거 시퀀스에 상이하게 응답할 수도 있고, 아울러 이들 셀이 과소거될 가능성이 있다. 만일 셀이 과소거되었다면 플로팅 게이트의 순전하(net charge)는 포지티브가 될 것이다. 그 결과는 임계전압이 어느 정도 네가티브가되는 것으로 나타날 것이다. 따라서 이러한 과소거 선택해제 셀에 접속된 워드선이 접지되는 경우, 선텍해제된 셀은 그럼에도 불구하고 전류를 흘리게 될 것이다. 이러한 전류는 선택된 셀의 판독을 간섭하게 되어 적절한 메모리 동작을 방해하게 된다. 제4(a)도와 제4(b)도의 소거 시퀀스의 주요 목적은 소거조건이 발생하는 것을 방지하는 것이다.
제4(a)도와 제4(b)도의 흐름도로 다시 돌아가면 소거 시퀀스는 상기 2개의 소거 명령의 발생에 의해 개시된다(소자 64). 일단 명령이 명령 실행 논리 유닛(16)에 의해 수신되었다면 내부 상태 머신(19)은 모든 셀의 어레이(12)가 프로그램되도록 할 것이다. 이것이 행해짐으로써 셀이 실질적으로 소거되는 경우에는 모든 셀이 실질적으로 동일한 상태에 있게된다. 이것은 모든 셀이 동일한 방법으로 연속 소거 시퀀스에 응답하도록 증가된 경향을 갖게 될 것이기 때문에 하나 이상의 셀이 과소거될 가능성을 줄여준다. 블록(66)으로 나타낸 바와 같이 어드레스 카운터(23)(제1도)는 메모리의 제1 어드레스에 개시된다. 다음에 블록(68)으로 나타낸 바와 같이 프로그래밍을 위해 사용된 전압은 +12볼트의 고전압 Vpp(제1도의 소자)를 포함하는 적절한 레벨로 설정된다.
일단 전압이 설정되면 내부 프로그램펄스 카운터(도시생략)는 블록(70)으로 나타낸 바와 같이 초기화된다. 이러한 카운터는 프로그램되는 워드(바이트)의 셀에 인가되는 프로그래밍 펄스의 트랙수를 유지하게 될 것이다. 다음에 프로그래밍 펄스는 블록(72)으로 나타낸 바와 같이 메모리의 제1 어드레스에 위치한 워드의 셀에 인가된다. 카운터의 펄스는 증가하게 되고(블록 74) 소정의 최대 펄스수가 셀에 인가되었는지에 대한 판정이 행해진다. 만일 최대 펄스수가 인가되었다면 셀은 실제로 어느 셀이 프로그램이었는지(78)를 판정하기 위해 판독된다. 이러한 판독은 감지증폭기와 제1도의 블록(33)으로 나타낸 관련 구성요소(components)와 관련되어 있다.
셀이 이러한 포인트에서 여전히 프로그램되지 않으면 프로그래밍 펄스의 최대수가 초과되기 때문에 장애(failure)가 있게된다. 특정 메모리에 좌우되어, 시퀀스가 종결되거나 또는 장애가 일어난(failed) 워드의 레코드가 만들미지게되어 상기 시퀀스가 계속된다. 이러한 정보는 이후 상태 레지스터(25)(제1도)에 전송되어 프로세서에 의해 판독될 수 있다. 상기 장애의 잠재적 원인중 하나는 메모리 내구성(endurance)이 초과되었기 때문일 수도 있다. 즉, 메모리가 너무 많이 사이클(cycle)되 었기 때문이다.
최대 카운트가 초과되지 않았다면 바이트는 소자(80)에 의해 표시된 바와 같이 검색된다. 바이트가 프로그램되지 않았다면 추가적인 프로그래밍 펄스가 인가되고(블록 72) 카운터의 펄스가 증가한다. 최대 카운트가 아직 초과되지 않았다면 바이트가 다시 검색된다(소자 80). 이러한 시퀀스는 바이트가 검색테스트를 최종적으로 통과하거나 또는 펄스 카운터가 최대가 될 때까지 계속된다.
제1 바이트가 결국 성공적으로 프로그램되었다고 하면 어레이(12)의 최종 어드레스가 프로그램되었는지(소자 82)에 대한 판정이 행해진다. 프로그램되지 않았다면 어드레스 카운터(23)(제1도)는 제2 어드레스(블록 84)로 증가하게 되고 내부 펄스 카운터가 리셋트되게 된다(블록 70). 제1 프로그래밍 펄스가 제2 어드레스의 바이트에 인가되면 블록 72) 시퀀스가 반복된다. 이러한 과정은 어레이(12)의 모든 셀이 프로그램될 때까지 또는 프로그래밍 장애(failure)가 있는 경우 판정이 행해질 때까지 계속된다.
모든 셀이 성공적으로 프로그램되어 검색되었다고 하면 머신(19)의 상태는 어드레스 카운터(23)(제4도의 블록(86))의 초기화(initialization)를 포함하는, 소거를 위해 사용된 적절한 전압을 설정하고, 전압 Vpp(블록 88)를 포함하는 적절한 전압을 셋업함으로써 소거 시퀀스를 계속하게 된다.
다음에 내부 소거 펄스 카운터가 리셋트(블록 90)되며 하나의 소거 펄스가 어레이의 모든 셀(또는 소거되는 어체이의 블록)에 인가된다. 어레이의 셀은 모든 셀이 성공적으로 소거되었는지를 판정하기 위해 순차적으로 판독된다. 먼저 소거 검색을 위해 필요한 조건, 즉 셀 판독을 위한 조건이 설정되고(블록 94) 어레이의 제1 셀이 판독된다.
하나의 소거 펄스는 대부분 소거를 달성하기에는 결코 충분하지 못하므로 이러한 테스트(소자 96)는 거의 항상 실패하게 된다. 소거 펄스 카운터의 상태가 조사되고(소자 98) 최대 카운트가 초과되지 않았다면 판정이 행해진다. 따라서 제2 소거펄스는 전체 어레이(12)(소자 92)에 인가되고 제1 바이트가 다시 테스트된다(소자 76).
일단 바이트가 충분한 수의 소거펄스를 수신하고, 검사(verification) 테스트(소자 96)가 통과되었다면 어드레스가 증가되고(블록 98) 제2 바이트가 테스트되어(소자 94 및 96) 이 제2 바이트가 성공적으로 소거되었는지를 판정한다. 셀이 항상 균일하지 않기 때문에, 제1 바이트에 의해 수신된 소거펄스의 동일한 수를 수신한 경우에도 상기 제2 바이트가 소거되지 않을 가능성이 있다. 그렇게 되면 전체 어레이(12)에는 추가 펄스가 인가되고 제2 바이트가 다시 적절한 소거를 위해 테스트된다. 어드레스는 이러한 시점에서는 리셋트되지 않으며, 이는 이미 소거된 바이트들을 다시 테스트할 필요는 없기 때문이다. 그러나 보다 빠른 소거 바이트가 과소거될 가능성은 있으며, 이하 설명한다.
일단 제2 바이트가 적절히 소거되었다고 확정되었다면 어레이의 최종 어드레스가 검사되었는지에 대한 판정이 행해진다(구성요소 100). 검사되지 않은 경우에 어드레스 카운터(23)가 증가하고(구성요소 102) 제3바이트가 테스트된다. 필요하다면 추가적인 소거펄스가 인가된다. 내부 펄스 카운터(구성요소 100)는 소거 시퀀스에 인가된 소거 펄스의 전체 수를 모니터하게 된다. 최대 수가 초과하였다면 시퀀스는 종료되게 되고 상태 레지스터(25)의 비트중 하나가 세트되어 소거 에러가 발생되었음을 반영하게 된다.
셀의 제2 바이트가 적절히 소거되었다면 나머지 비트가 검사되게되어 어떠한 필요한 추가적인 소거 펄스가 인가될 것이다. 일단 최종 어드레스가 검사되었다면 소거 시퀀스는 종료되고 상태 레지스터(25)가 갱신되어 소거 시퀀스가 성공적으로 종료되었음을 나타내게 된다.
비록 제4도의 흐름도에 도시되지는 않았지만 여러 메모리 시스템은 소거 임계 전압의 분배(distribution)를 줄이고 과소거된 셀을 정정하기 위한 연산을 제공한다. 이것은 때로는 힐연산(heal operation)이라고 하는 처리에 의해 행해진다. 힐연산에서 어레이 비트 라인이 오픈된 상태로 남아있게되고 소스 라인은 접지된다. 고전압 통상 +12V가 어레이(12)의 전체 워드선에 인가된다. 고전압이 펄스의 형태로 인가되고, 상기 힐연산은 통상 많은 펄스의 인가를 필요로 한다. 이러한 상태는 전자가 어레이의 모든셀의 플로팅 게이트에 전송될 수 있도록함으로써 인계 전압이 증가한다. 과소거된 셀은 이 셀들에 전송된 보다 많은 양의 전하를 가지게 되므로 그 임계전압은 다른 셀보다 더많이 증가하게 된다. 이러한 처리는 과소거 전압을 네가티브값으로부터 포지티브값으로 이동시키게 된다. 네가티브 임계 전압(과소거된 셀)을 갖는 셀과 작은 포지티브 인계전압을 갖는 셀은 다른 셀에 영향을 받게되고, 이러한 처리는 모든 셀의 전압분배를 줄이며 과소거된 셀을 정정하려는 경향이 있다.
이상 설명한 바와 같이 감지증폭기는 상이한 동작조건하에서의 플래시 메모리셀 전류를 나타내는 전압을 감지하기 위해 사용된다. 본 발명은 비교를 위해 감지증폭기에 의해 사용된 이러한 다양한 기준전압이, 메모리 제조가 완료된 이후에 조정되거나 또는 변경(trim)될 수 있도록 한다. 따라서 제조 이후에 판정되는 바와 같이 메모리 시스템의 특별한 특성을 고려하여 이러한 기준전압을 최적화하는 것이 가능하다.
제5도를 참조하면 예시된 다이어그램은 제1도의 메모리 시스템의 기준진압을 최적화하기 위한 예시적인 회로를 나타내고 있다. 감지증폭기에 의해 사용될 2개의 기준전압이 생성되며, 그중 한 전압은 메모리셀이 정상 판독 동작에서 판독되는 경우의 이용을 위한 것이며, 다른 하나는 셀이 적절히 프로그램되었음(프로그램 검사)을 확인하기 위한 프로그래밍 연산(programming operation)의 부분을 위한 것다. 이러한 전압은 감지 트림 기준전압(sense trim reference voltage)이라고 하며, 감지증폭기(120)의 반전입력에 인가된다. 제2 기준전압이 이후 설명되는 바와 같이, 소거동작에 사용되며, 소거트림 기준전압이라고 한다.
판독모드에서 판독될 셀(122)의 게이트에 접속된 워드선은 +5.5V에 접속된다. 셀이 프로그램되었다면, 이 워드선 전압은 셀의 프로그램 임계전압 이하가 될 것이며, 필연적으로 셀전류가 전혀 흐르지 않게 된다. 셀이 소거 상태에 있다면 워드선 전압은 임계전압을 초과하게 될 것이고, 유효 셀전류(significant cell current)가 흐르게 된다. 설명되는 바와 같이 셀전류는 감지트림 기준전압과 비교되는 대응하는 전압으로 변환된다.
셀(122)(셀 122는 어드레스 카운터(23)에 의해 어드레스되는 에레이(12)의 셀임)이 프로그램 검사의 한 부분으로서 판독되고 있다면 감지트림 기준전압은 감지증폭기(120)의 반전입력에도 인가된다. 그러나, 판독되는 셀에 인가된 워드선 전압은 프로그램된 임계전압을 초과하는 레벨인 대략 +7.5V로 증가된다. 이는 프로그램된 임계전압 레벨을 나타내는 전류가 검색중인 셀이 도통되게 한다. 이 셀 전류는 감지증폭기(120)의 비반전 입력에 인가되는 전압으로 반전되게 된다.
소거 검사가 발싱하는 경우에 소거 트림 기준전압(erase trim reference voltage)은 감지증폭기(120)의 반전입력에 인가된다. 통상 +5.5V의 워드선 전압은 검사되는 셀(122)의 제어 게이트에 인가된다. 이는 셀의 소거된 임계전압을 나타내는 셀전류로 나타난다. 셀전류는 소거 트림 기준진압과 비교되는 전압으로 반전된다.
소거 및 감지 트림 기준전압은 각 전압에 대해 2개의 프로그램가능 제어 파라미터의 상태를 제어함으로써 조정될 수 있다. 감지 트림 기준전압의 레벨은 비휘발성 데이터 저장유닛(14C,14D) 각각에 저장된 제어 파라미터 CP3와 CP4(제5도)를 이용하여 조정된다. 소거 트림 기준전압은 비휘발성 데이터 저장유닛(14E, 14F)에 저장된 제어 파라미터 CP5와 CP6을 이용하여 조정된다.
피라미터 CP3와 CP4는 감지 트림 멀티플렉서(109)에 연결되며, 이 멀티플렉서는, 판독 및 프로그램 검사 동작 동안 이네이블되는 경우, 2개의 입력 비트 CP3와 CP4를 이용하여 4개의 가능한 출력중 하나를 이네이블시킨다. 이네이블된 멀티플렉서 출력은 하이 레벨로 설정되고, 디스에이블된 축력은 로우 레벨로 설정된다. 따라서, 판독 또는 프로그램 검사가 발생하는 경우, 소거트림 멀티플렉서(111)는 디스에이블되므로 멀티플렉서(111)의 모두 4개의 출력은 로우 또는 디스에이블 상태이다.
4개의 N채널 트랜지스터(112A - 112D)중 선택된 하나는 파라미터 CP3와 CP4의 상태에 좌우되는 멀티플렉서(109)의 선택된 출력에 의해 온된다. 트랜지스터(112A - 112D)는 공급전압 Vcc 와 공통 메모리(memory common)간에 직렬로 접속된 저항(110A - 110F)을 포함하는 저항분배기(resistive divider)의 여러 노드에 접속된다. 저항분배기의 노드(115)에서의 전압의 크기는 저항(112A - 112D)중 하나가 제어 피라미터(CP3, CP4)에 의해 도통되는 것에 따라 변경될 수 있다. 저항(110A - 110F)의 상대적 사이즈에 따르던 제어 파라미터는 매우 작지만 정확한 트림을 제공하거나 또는 노드(115)에서의 전압에서는 보다 크지만 덜 정확한 트림을 제공하도록 하는 기능을 할 수 있다.
노드(115)에서의 전압은 기준 플래시셀(116)의 제어 게이트에 접속된다. 플래시셀(116)은 U.V. 소거 상태로 설정되고, 셀의 플로팅 게이트에는 순전하(net charge)가 전혀 나타나지 않는다. 부하(118)는 기준셀(117)의 드레인과 전압 VD간에 접속된다 셀(116)의 드레인과 로드(118) 중간의 노드(117)는 감지증폭기(120)의 반전입력에 접속된다.
선택된 셀(122)이 판독되는 경우, 제어 게이트(워드선) 전압은 +5.5V로 설정되고, 이 전압은 소거셀의 임계전압을 초과하지만 프로그램된 셀의 임계전압은 초과하지 않을 것이다. 노드 123에서의 전압은 셀이 소거되거나 또는 프로그램되는 지에 좌우되는 2레벨중 한 레벨에 있게된다. 노드 117에서의 기준전압은 제어 파라미터 CP3와 CP4를 이용하여 이러한 2레벨간의 중간으로 설정되어 셀이 감지증폭기(120)에 의해 판독되는 경우 에러 여유를 최소화하게 된다.
선택된 셀(122)이 프로그래밍을 위해 검사되는 경우, 노드 117에서의 감지전압은 판독 동작시와 동일하게 될 것이다. 그러나 앞에서 주목한 바와 같이 셀(122)에 인가된 워드선 전압은 큰 값(+7.5V)으로 설정되므로, 높은 임계전압을 갖는 프로그램된 셀은 전류가 흐르게될 것이다. 이러한 전류는 셀의 프로그램된 임계전압에 좌우되는 노드(123)에서의 전압변화로 나타나게 된다. 노드 117에서의 기준 트림 감지전압은 프로그램된 셀(122) 전류의 어느 정도 최대량에 대응하는 레벨로 설정된다. 따가서 간지증폭기(120)의 출력은 검사되는 셀이 적절히 프로그램되지 않았다면 하이가 될 것이다.
소거 검사 동작이 발생하는 경우에는, 감지 트림 멀티플렉서는 디스에이블되어 모두 4개의 트랜지스터(112A - 112D)가 오프된다. 소거 트림 멀티플렉서(111) 출력중 선택된 하나는 제어 파라미터 CP5와 CP6에 따라 온되게 된다. 이는 4개의 N채널 트랜지스터(114A - 114D)중 선택된 하나가 온됨으로써 저항분배기의 노드(115)에서 전압을 변화시킨다. 이는 노드 17에서의 소거 트림전압이 파라미터 CP5와 CP6에 따라 변경되도록 한다.
검사되는 소거셀(122)은 워드선에 인가된 전압 +5.5V가 소거 임계 전압을 초과하게 될 것이기 때문에 셀전류를 흘리게된다. 이 결과적인 셀전류는 셀의 소거된 임계전압을 나타내게 되고, 상기 전류는 노드(123)상의 전압의 강하로 나타나게 된다. 노드(123)의 전압이 노드(117)에서의 소거 트림 기준전압의 크기 이하로 떨어진다면, 셀은 적절하게 소거되고 감지증폭기(120)의 출력은 낮아지게 될 것이다. 감지 트림 기준 전압의 조정을 위해 2개의 제어 파라미터가 사용되고 있지만, 3개 이상의 제어 파라미터가 조정범위를 증가시키기 위해 사용될 수 있다.
[전압조정]
전형적인 메모리 시스템의 주공급전압 Vcc는 통상 +5V이다. 그러나 여러 메모리 동작을 수행하는 동안 되다 큰 전압이 생성된다. 예를들어 셀의 블록이 소거될 경우, 블록에 위치한 셀소스에 접속된 소스 라인은 통상 +12V의 각 포지티브전압으로 상승한다. 추가적인 예로서 셀이 프로그램되는 경우 셀과 관련된 워드선은 +12V로 상승된다. 앞서 주목한 바와 같이 프로그램검사 동작이 발생하는 경우, 워드선은 통상 +7.5V로 상승된다. 전압 트림 특성은 다른 메모리 애플리케이션에 이용될 수 있다. 예를들어 앞서 설명된 힐사이클(heal cycle)에 사용된 통상 +12v인 워드선 전압은 제어 파라미터를 이용하여 조정할 수 있다. 추가적인 예로서 프로그래밍 동작시 비트선에 인가된 전압은 통상 6V인 전압은 조정될 수 있다.
본 발명은 이러한 전압의 크기가 조정될 수 있도록함으로써 제조 이후에 메모리의 특별한 특성을 보상할 수 있도록 한다. 예를들어 집적된 메모리 회로의 하나의 웨이퍼는 소거동작동안 소스 영역에 인가될 +10.5V를 필요로하는 셀을 포함할 수도 있고, 다른 하나의 웨이퍼로부터의 회로는 부품(part)에 대한 타이밍 명세(timing specification)와 부합하도록 동일한 동작을 위해 +11.5V를 필요로 할 수도 있다. 제6도는 저장된 제어 피라미터에 응답하여 여러 메모리 전압의 크기를 제어하는데 사용될 수 있는 하나의 회로를 나타내고 있다. 예를들어 이들 파라미터는 프로그램 동작동안 어레이 워드선에 인가되는 전압 펄스와, 힐동작동안 어레이 워드선에 인가되고, 소거 동작동안 어레이 블록의 소스 라인에 인가되는 전압 펄스를 포함하고 있다. 예시된 예에서 저장된 파라미터는 데이터 저장유닛(14G,14H)에 각각 저장되는 CP7과 CP8이다. 이러한 파라미터들은 그 하나가 파라미터 CP7과 CP8의 상태에 따라 활성(액티브)이 되는 4개의 출력을 갖는 전압 트림 멀티플렉서(126)를 제어하는데 이용된다. 보다 큰 트림범위가 요구되면 제어 파라미터의 수는 4개 이상의 파라미터로 증가될 수 있다.
멀티플렉서(127)의 4 출력은 4개의 별도의 N채널 트랜지스터(130A-130D)에 연결된다. 트랜지스터(130A-130D)는 저항(128A-128D)을 포함하는 저항분배기의 여러 노드에 연결된다. 저항분배기는 비교회로(132)의 비반전입력에 접속되며, 반전 입력은 기준전압 VREF에 접속된다. 비교회로(132)의 출력은 레벨 시프트 회로(134)를 이용하여 P채널 트랜지스터(136)의 게이트에 접속된다. 피드백 저항(128F)은 트랜지스터(136)의 드레인과 비교회로(132)의 비반전 입력사이에 접속된다. 트랜지스터(136)의 드레인은 회로의 전압출력 VOUT의 기능도 하며, 트랜지스터의 소스는 통상 +12V인 전압 Vpp에 접속된다.
동작시 비교회로(132), 레벨시프터(134)와 P채널 트랜지스터(136)는 피드백 회로를 형성하게 되고, 비교회로(132)의 비반전입력인 노드(138)에서의 전압은 전압 VREF에 접속된 비반전 입력에서의 전압과 동일해지게 된다. 트랜지스터(136)의 드레인에서의 출력전압 VOUT은 +12V의 전압 Vpp에 도달할 수 있고, 비교회로(132) 출력단의 저전압 출력은 레벨시프트 회로(134)에 의해 트랜지스터(136)에 게이트 드라이브를 제공할 수 있다.
멀티플렉서(126)가 이네이블되어 트랜지스터(130A-130D)중 선택된 하나의 트랜지스터가 제어 파라미터 CP7과 CP8의 값에 따라 온되게 된다. 설명된 바와 같이 피드백이 제공되어 전압 VREF와 동일한 전압을 유지하는 기능을 하게 된다. 저항분배기(128A-128D) 양단의 전압은 VREF로 고정되기 때문에, 분배기를 통한 전류 흐름은 부분적으로는 트랜지스터(130A-130D)중 어느것이 온되는 것에 의해 결정되는 효과적인 분배기의 기능을 할 것이다. 따라서 전류 흐름은 트랜지스터(130B)가 온인 경우에 비해 트랜지스터(130A)가 온인 경우 보다 크게된다.
저항분배기(128A-128E)를 흐르는 전류는 피드백저항(128F)을 통해서도 흐르게되므로 전압 VOUT은 저항(128F) 양단의 전압강하에 전압 VRER를 더한 것과 동일하다. 트랜지스터(136)는 충분한 전류 구동능력을 제공하게 되어 실질적으로 요구되는 다양한 메모리 동작이 수행될 수 있다. 메모리 시스템의 요구에 따르면 제6도의 회로는 제조가 완료된 이후에 메모리 전압에 대한 제어가 요구되는 경우에 제공된다.
[펄스폭 조정]
앞서 설명한 바와 같이 프로그래밍과 소거를 포함하는 여러 메모리 동작을 수행하기 위해 전압이 플래시 메모리셀에 인가된다. 이러한 전압의 크기를 조정하는 것 뿐만 아니라 본 발명은 전압이 인가되는 지속길이가 조정될 수 있도록 한다. 예를들어 프로그램 동작시에는, 통상 +12V의 큰 포지티브전압 Vpp이 프로그램되는 셀의 워드선에 인가된다. 프로그래밍은 주기펄스 형태의 전압을 인가함으로써 달성되며, 각 펄스의 지속길이는 통상 몇 마이크로초 정도이다. 프로그래밍 펄스의 크기와 프로그램셀에 요구된 펄스의 지속길이는 셀의 특별한 특성에 따라 변할 수도 있다. 이상, 저장된 제어 파라미터를 이용하여 전압의 크기를 조정하는 회로를 설명하였다. 이하, 프로그래밍 펄스를 포함한, 메모리 동작에 이용된 펄스의 지속 길이를 조정하는 회로를 설명한다.
제7도는 전압 펄스의 지속길이를 제어하는데 사용될 수 있는 여러 디코드 신호를 발생시키기 위한 타이밍 회로를 나타내고 있다. 타이밍 회로에 관한 상세한 설명은 본 출원과 동시에 출원되어 “ADJUSTABLE TIMER CIRCUIT”이라는 이름으로 등록된 출원번호 제08/509,035호에 설명되어 있다. 이 출원의 내용은 본 명세서에서 참조된다. 제7도의 회로는 이네이블 신호 리셋트에 의해 트리거된 후에 고정된 주기의 출력펄스를 발생시키는 타이머 소자(140)를 포함하고 있다. 타이머 소자(140)에 의해 공급되는 고정된 주기의 끝에서 좁은 출력펄스 S0를 발생시키는 하나의 쇼트회로(144)에는 타이머소자(140)의 출력이 전송된다. 출력 S0는 NOR게이트(145)를 통해 타이머 소자(140)의 이네이블 입력에 다시 피드백됨에 따라 회로는 그 자체가 리트리거되며 고정된 지속길이와는 떨어져 있는 연속적인 출력 펄스 SO를 공급한다. 프로그램신호 PGM은 타이머 소자(140)에 공급되고, 특정 비프로그래밍 메모리 동작이 수행될 경우의 대략 1/2 밀리초의 긴 지속길이와 프로그래밍 메모리 동작이 수행될 경우의 1 마이크로초 정도의 보다 짧은 지속길이의 출력단 S0사이의 주기를 스위치시키는데 사용된다.
슈트(144)의 출력 신호 S0는 9개의 스테이지(stages)(142A-l42I)를 가지고 있는 카운터(142)의 입력에도 연결된다. 각각의 스테이지는 디바이드-바이-2기능(divide-by-two function)을 제공하도록, 입력에 다시 접속되는 출력이 있는 D-형 플립플롭을 포함하고 있다. 카운터(142)는 여러 디코딩회로에 전송되는 9개의 타이밍 출력 S1-S9를 발생시킨다 카운터(142)의 스테이지는 신호 리셋트에 의해 각각 리셋트된다. 디코딩 로직은 카운터(142)로부터 5개의 타이밍 신호(S1, S2, S3, S8, S9)를 수신하는 로직 블록(146)을 포함한다. 로직블록(146)은 6개의 타이밍 신호를 논리적으초 결합하여 /S1*S2, /S2*S3및 /S8*S9(* = AND)을 포함하는 3개의 디코드 신호를 공급한다. 이후 설명되는 바와 같이 이러한 출력이 선택됨으로써 프로그래밍과 같은 메모리 연산을 수행하기 위한 어느 원하는 소정의 출력펄스폭을 제공한다.
제9도는 로직블록(146)의 구현에 대한 상세를 나타낸 도면이다. 블록은 3개의 NOR 게이트(148,150,152)와 3개의 인버터(154,156,158)를 포함하고 있다. 6개의 타이밍 신호 SN은 논리게이트의 적절한 입력에 연결되어 3개의 출력을 공급한다. 예를들어 타이밍신호 S2는 인버터(154)에 접속되고 그 출력은 NOR게이트(148)의 한 입력에 접속된다. 타이밍신호 S1은 NOR게이트(148)의 제2 입력에 접속되고, 그 출력은 (/S1*S2)와 함께 AND화된 신호 /S1과 S2이다.
제1도의 메모리 시스템(10)은 메모리 동작에 사용된 모두 3 유형의 펄스를 이용하고 있다. 펄스들은 프로그래밍 동작과, 소거동작 및 힐링 동작을 위해 공급된다. 힐동작은 워드선에 인가된 전압 펄스가 메모리 소거 동작에 사용된 펄스 정도의 지속길이를 갖도록 하는데 요구된다. 따라서 타이머 소자(140)는 힐동작이 수행될 경우 비프로그램 상태(PGM 비활성)에 놓여진다.
제8도는 프로그래밍, 소거 및 힐메모리 동작에 사용된 특정펄스를 발생시키는 회로를 나타낸 도면이다. 이 실시예의 소거 펄스의 지속길이는 고정된다. 메모리 소거동작 타이밍 신호는 개시된 실시예에서는 조정가능하지 않다. 카운터(142)의 스테이지(142E)로부터 바로 취해진 디코드 S5는 2 입력 NAND 게이트(166)의 한 입력에 접속된다. 제2 입력은 메모리 소거 동작이 수행될 경우 활성인 신호 ERASE에 연결된다. 게이트(166)의 출력은 3입력 NAND 게이트(170)의 한 입력에 연결된다. 게이트(170)의 하강출력(falling output)은 하나의 슈트(172)를 트리거시킴으로써 짧은 지속길이(50나노초) 펄스가 발생되도록 하여 소거펄스의 종료를 나타낸다. 소거 동작동안 신호 PGM은 비활성이되어 타이머 소자(140)는 0.4밀리초의 지속길이를 갖는 펄스 S0를 출력하게 된다. 디코드 S5는 0.4밀리초 주기의 출력펄스 S0의 25(32)배의 출력을 공급한다.
힐동작에 사용된 개별적인 펄스의 지속길이는 데이터 저장유닛(14I,14J)에 각각 저장된 제어 파라미터 CP9와 CPIO에 의해 제어된다. 프로그래밍 동작에 사용된 펄스의 지속길이는 데이터 저장유닛(14K,14L,14M)에 각각 저장된 제어 피라미터 CP11, CP12, 및 CP13에 의해 제어된다.
힐 펄스폭은 조절가능하며 50밀리초 내지 20밀리초의 범위에 있을 수 있다. 특정 펄스폭은 저장된 제어 파라미터 CP9와 CP10의 2비트값에 따른 것이다. 이하의 표 1은 파라미터 CP9와 CP10의 조합과 대응하는 디코드 신호와 펄스 지속길이를 나타낸다. 힐 멀티플렉서(160)는 2개의 파라미터 CP9와 CP10에 기초하여 4개의 가능한 디코드 신호중 하나를 선택하는데 사용된다.
힐 멀티플렉서(160)의 출력 HD는 2입력 NAND 게이트(164)의 한 입력에 접속된다. NAND 게이트(164)의 제2 입력은 메모리 시스템이 힐동작을 수행하는 경우 메모리 시스템에 의해 발생되는 신호 HEAL 이다.
게이프(164)의 출력은 3입력 NAND 게이트(170)의 제2 입력에 접속된다. 따라서 신호 Heal이 활성인 경우, 하나의 슈트(172)는 4개의 가능한 힐디코드 신호중 선택된 하나에 의해 트리거된다.
디코드 회로는 메모리 프로그램 동작을 이용하기 위해 7개의 가능한 디코드 신호중 하나를 선택하는데 사용된 프로그램 멀티플렉서(162)를 포함하고 있다. 선택된 디코드 신호는 저장유닛(14K,14L,14M)에 각각 저장된 파라미터 CP11, CP12, CP13에 기초한 것이다. 이하의 표 2는 파라미터 CP11, CP12, CP13의 8개의 조합과 메모리 프로그래밍 동작에 사용된 대응하는 출력펄스폭을 나타낸다.
프로그램 멀티플렉서(162)의 출력 PD는 2입력 NAND 게이트(168)의 한 입력에 접속되고, 이 게이트의 제2 입력은 메모리가 프로그램 동작을 수행하는 경우 활성 신호를 수신하도록 접속된다. 디코드 신호는 게이트(170)에 의해 하나의 슈트(172)에 전송되고, 그 하강 에지에서 하나의 슈트를 트리거한다. 따라서 저장된 피라미터 CP11, CP12, CP13에 좌우되는 프로그램 펄스 출력은 상기 표 2에 설명되는 바와 같이 변화하게 될 것이다.
제10도는 힐 멀티플렉서(160)의 개략적인 다이어그램이다. 프로그램 멀티플렉서(162)는 유사한 방식으로 구현된다. 멀티플렉서(160)는 멀티플렉서의 출력 HD에 선택된 디코드 신호를 전달하도록 저장된 파라미터(CP9, CP10)에 따라 선택적으로 이네이블되는 4개의 P채널 패스 트랜지스터(174,176,178,180)를 포함하고 있다. 4개의 NAND 게이트(182,184,186,188)와 2개의 인버터(190,192)가 파라미터 CP9, CP10을 디코딩하기 위해 그리고 이러한 파라미터에 기초하여 4개의 NAND 게이트(182, 184, 186, 188)중 하나를 이네이블시키기 위해 사용된다. 예를들어 파라리터 CP9와 CP10이 각각 논리 “0”과 “1”이라던 NAND 게이트(186)의 양 입력은 논리 “1”이 될 것이므로 게이트(186)의 논리 “0”(로우) 출력은 패스 트랜지스터(176)를 온시키게 될 것이다. 트랜지스터(176)는 디코드 신호 S7을 멀티플렉서 출력 HD에 전송하게 될 것이다. 기타 NAND 게이트(182,186,188)는 이러한 상태하에서는 모두 하이(논리 “1”) 출력을 갖게 될 것이다.
멀티플렉서(160,162)중 하나 또는 이들 모두가 로우 논리 레벨신호를 결합시키는 경우, 멀티플렉서(HD 또는 PD)의 출력은 패스 트랜지스터가 P채널 및 N 채널 디바이스 모두이기 보다는 단지 P채널 디바이스만 포함한다는 점으로 인해 접지 이상의 하나의 임계전압에 있게된다. 작은 결합구조(geometry) 트랜지스터(174,176)는 이러한 상태하의 대략적인 전지레벨로 멀티플렉서 출력을 다운시키기위해 제공되고, 그 멀티플렉서의 출력 HD와 PD는 적절한 로우 레벨에 있게된다. 트랜지스터(174, 167)는 각각 NAND 게이트(168,164)의 하이 출력에 의해 도통되고, 이러한 게이트의 출력은 각각의 멀티플렉서(162, 160)의 출력이 접지전위 이상의 임계전압에 있는 경우 하이가 된다.
힐 제어 파라미터 CP9와 CP10 및 프로그램 제어 파라미터 CP11, CP12 및 CP13은 메모리 시스템이 제조되고 특성화된 이후에 선택되어 메모리 시스템의 성능을 최적화한다. 예를들어 메모리 집적회로의 특별한 로트(lot)는 메모리 어레이의 플래시 메모리셀이 9마이크로초 지속길이의 펄스를 인가함으로써 가장 효율적으로 프로그램될 수 있을 정도의 것들이 될 수도 있다. 이는 통상 메모리 테스트 설비(facility)에서 결정된다. 이러한 경우 파라미터 CP11, CP12, CP13은 표 2에 나타낸 바와 같이 각각 “1”,“0” 및 “0”이 되도록 선택된다. 이러한 값들은 테스트 설비에서 데이터 저장유닛(14K,14L,14M)의 3개의 비휘발성 플래시 메모기셀 내에 영구적으로 프로그램된다. 예를들어 메모리 집적회로의 연속로트(subsequent lot)의 예비평가(preliminary evaluation)는 프로그래밍을 위한 최적의 펄스 지속길이가 100 마이크로초이고, 요구되는 모든것은 표 2에 나타낸 바와같이 파라미터 CP11, CP12, 및 CP13 에 대해 프로그램 1,1, 및 1임을 나타내고 있다.
제11도는 본 발명의 동작을 추가로 설명하기 위한 타이밍도이다. 다이어그램은 4.5 마이크로초 펄스가 프로그래밍 동작시 발생되는 방법을 나타내고 있다. 표 2에 나타낸 바와 같이 저장된 파라미터 CP11, CP12 및 CP13은 이러한 지속길이의 프로그래밍 펄스를 발생시키기 위해 각각 “1”, “0”, 및 “1”이다. 타임 T0에서 신호 PGM은 활성으로됨으로써 표 2의 프로그래밍 출력중 하나가 발생될 것임을 나타낸다. 저장된 파라미터(제8도의 블록162)는 멀티플렉서(162)가 디코드 신호 /S1*S2를 선택하게끔한다.
T1에서 신호 EN은 리셋트 신호 Reset(제7도)의 생성에 의해 활성이 된다. 타이머 소자(140)는 이러한 포인트에서 충전처리될 타이밍 캐패시터를 포함하고 있다. 이것은 4.5 마이크로초 타이밍 펄스의 생성의 시작이 되고, 그 시점에서 프로그래밍 전압은 프로그램되는 플래시 메모리셀에 인가된다.
시간 T2에서 타이밍 캐패시터는 최종치에 도달하게 되므로, 타이머 소자(140)는 하나의 슈트 회로(144)가 신호 S0형태의 펄스를 발생시키도록 하는 출력을 발생시킨다. 신호 S0는 NOR 게이트(145)에 의해 타이머 소자에 다시 공급되어 연속 신호 EN을 발생시킨다. 시간 T0에서 EN의 하강에지로부터 다음 신호 EN의 상승에지(신호 S0의 상승에지)까지의 주기는 1.5마이크로초이다. 이러한 시퀀스는 주기적으로 반복되어 연속 신호 S0가 시간 T3, T4등에서 발생된다.
신호 S0는 카운터(142)를 클록하게 되고, 이 카운터 출력 S1은 신호 S0의 하강에지에서 상태가 변화함으로써 제1도의 다이어그램에서 볼수 있는 3마이크로초의 노미널 주기를 갖는 신호를 공급한다. 마찬가지로, 카운터 S2는 출력 S1의 하강에지의 상태를 변화시킴으로써 6마이크로초의 노미널 주기를 갖는 신호를 공급한다. /S1*S2의 논리적 조합은 6마이크로초(신호 S2)에서 1.5마이크로초(신호 S1)를 감하여 최종 4.5마이크로초값에 도달하는 것과 같다. 멀티플렉서(162)로부터의 디코드신호 /S1*S2의 하강에지는 게이트(168, 170)에 의해 하나의 슈트(172)를 트리거한다. 따라서 하나의 슈트(172)의 상승에지(또는 디프드 신호 /S1*S2의 하강에지)는 4.5마이크로초 주기의 끝을 나타낸다.
[데이터 저장유닛]
제어 파라미터 CP를 저장하기 위한 비휘발성 데이터 저장유닛(14)은 여러 형태로 구현될 수 있다. 데이터 저장유닛을 구현하는 하나의 방법이 본 출원과 동일자로 출원되어 “NON-VOLATILE DATA STORAGE UNIT AND METHOD OF CONTROLLING SAME”라는 명칭으로 등록된 미국출원 제08/508,864호에 설명되어 있다.
제12도는 제어 파라미터 CP를 저장하기 위한, 본 발명과의 이용에 적합한 저장유닛(14)의 세부 개략도이다. 데이터 저장유닛은 제어 파라미터 데이터의 신호비트를 저장할 수 있다. 각각의 비트에 대해 별도의 저장유닛(14)을 제공함으로써 복수의 비트가 간단히 저장될 수 있다. 이 저장유닛은 비휘발성 메모리나 플레시부(200), 비휘발싱 래치부(202) 및 비교부(201)를 포함하고 있다. 플래시부는 상보 형태로 제어 파라미터 데이터 1비트를 저장하기 위한 한쌍의 플래시 메모리셀 C와 /C를 포함하고 있다 공지된 바와 같이 플래시셀은 드레인, 소스, 플로팅 게이트 및 제어 게이트를 가지고 있는 플로팅 게이트 트랜지스터를 이용하고 있다. 데이터는 플로팅 게이트로부터 전하를 부가하거나 제거함으로써 셀에 저장된다. 소거는 플로팅 게이트와 셀전하 중간에 위치한 박막 게이트 산화물을 통해 플로팅 게이트로부터 Fowler-Nordheim 터널링에 의해 전하를 제거함으로써 달성된다. 플래시셀은 신호 SL을 수신하는 공통소스 라인에 접속된 자신의 공통소스 영역과, 신호 WL을 수신하는 공통워드선에 접속된 자신의 제어 게이트를 가지고 있다.
래치부(702)는 래치회로를 형성하는 크로스 연결된 한쌍의 인버터를 포함하고 있다. 제1 인버터(205)는 N채널 트랜지스터(208)와 직결로 집속된 P채널 트랜지스터(206)를 포함하고 있다. 트랜지스터(206,207)의 공통 드레인 접속은 인버터의 출력단을 형성하고, 그 공통 게이트 접속은 입력단을 형성한다. 제2 인버터(209)는 N채널 트랜지스터(212)와 직렬로 접속된 P채널 트랜지스터(210)를 포함하고 있다. 트랜지스터(210,212)의 공통 드레인 접속은 제2 인버터(209)의 출력을 형성하고 그 공통 게이트 접속은 입력을 형성한다.
앞서 설명한 바와같이 래치부(202)의 2인버터가 접속되어 래치회로를 형성한다. 특히, 제1 인버터(205)의 출력인, 트랜지스터(206과 208)의 공통 드레인 접속은 트랜지스터(210과 212)의 공통 게이트 접속인 제2 인버터(209)의 입력에 접속된다. 트랜지스터(210과 212)의 공통 드레인 접속인, 제2 인버터(209)의 출력은 트랜지스터(206,208)의 게이트들인 제1 인버터(205)의 입력에 다시 접속된다.
래치부(202)의 제1 인버터(105)의 출력은 N채널 트랜지스터(216)에 의해 플래시셀 /C의 드레인에 접속되고, 제2 인버터(209)의 출력은 N채널 트랜지스터(214)에 의해 플래시셀 C의 드레인에 접속된다. 2 접속 트랜지스터(214,216)의 게이트는 신호 CN을 운반하는 공통 제어선에 접속된다.
래치부(202)는 트랜지스터(206,210)의 소스에 전압 Fsup를 인가함으로써 전력이 공급된다. 이후 설명되는 바와 같이 전압 Fsup의 크기는 종래의 회로에 의해 제어될 수 있고, 그 세부사항은 통상적이며 본 발명의 일부를 형성하지는 않으므로 생략한다.
래치부(202)내에 로드될 데이터는 N채널 트랜지스터(203과 204)에 의해 상보 형태 A 및 /A로 공급된다. 트랜지스터(203,204)의 공통게이트는 로드 신호 LD를 수신하는 라인에 접속된다. 트랜지스터(203)는 데이터 입력 A를 래치부(202)의 제1 인버터(205)의 입력에 연결시키는 기능을 하고, 트랜지스터(204)는 데이터 입력 /A를 제2 인버터(209)의 입력에 연결시키는 기능을 한다.
래치부(202)의 두 상보출력은 각각의 인버터(228과 230)에 연결된다. 인버터(228과 230)의 출력은 상기 대상 데이터 저장유닛의 상보 출력 /OT1과 OT1을 형성한다. 래치부(202)의 출력은 비교회로(201)의 각각의 입력에도 연결된다. 데이티 입력 A와 /A은 비교회로(201)의 각각의 입력에도 연결된다. 이후 설명되는 바와 같이, 비교회로(201)는 래치부(202)에 저장된 데이터와 데이터 입력 A및 /A를 비교하여 래치부의 상태가 검사될 수 있도록 하는 기능이 있다. 통상 비교부(201)의 출력인 신호 /VER은 다른 데이터 저장유닛과 관련된 다른 비교부(201)에 오아(OR)화 결선되므로, 하나의 검사신호(Verification Signal) /VER은 래치부(202)의 내용과 몇몇 대상 저장유닛간의 관련 데이터 입력 A 및 /A간에 매치가 있는지를 나타내는데 사용될 수 있다.
비교부(201)는 5개의 N채널 트랜지스터(218,220,224,222.226)를 포함하고 있다. 트랜지스터(218)는 비교기 출력 /VER과 트랜지스터(220과 222)의 공통 드레인 접속간에 연결된다. 더욱이 트랜지스터(218)의 게이트는 비교부(201)의 상태가 샘플링되는 경우 활성화되는 신호 Fv를 수신할 수 있도록 접속된다. 트랜지스터(220,224)는 직렬로 접속되고, 트랜지스터(224)의 게이트는 데이터 입력 A를 수신하도록 접속되며, 트랜지스터(224)의 게이트는 래치부(202)의 제1 인버터(205)의 출력을 수신하도록 접속된다. 유사하게, 트랜지스터(222와 226)는 직렬로 접속되고, 트랜지스터(222)의 게이트는 데이터 입력 /A를 수신하도록 접속되며, 트랜지스터(226)의 게이트는 래치부(202)의 제2 인버터(209)의 출력을 수신하도록 접속된다. 이후, 설명되는 바와 같이 상보 데이터 입력 A와 /A가 2래치부 인버터의 상보출력과 매칭되는 경우, 상보회로(201)의 출력 /VER은 하이가 되고, 그렇지 않으면 그 출력은 로우가 된다.
대상 저장유닛(14)이 수행할 수 있는 로드(Load) 소거(Erase), 프로그램(Program), 리콜(Recall), 검사(Verify)를 포함한 모두 5개의 동작이 있다. 이들 동작은 제12도의 개략도와 함께 제13도의 타이밍도를 관련지어 각각 절명한다. 이후에 보다 상세히 설명되는 바와 같이 플래시셀 C 와 /C는 래치부(202)내에 프로그래밍 데이터를 먼저 로딩함으로써 프로그램된다. 더욱이 플래시셀 C와 /C는 플래시셀의 내용을 래치부(202)에 전송함으로써 판독된다.
[로드]
로드 사이클의 기능은 상보 입력 데이터 A와 /A에 따른 공지의 상태로 래치부(202)를 설정하는 것이다. 래치회로(20)가 원하는 상태에 있도록 하기 위해서는 프로그램에 앞서 로드 동작이 요구된다.
로드 사이클의 시작(beginning)은 타임 T0로 표시된다. 타임 T0에 이어, 입력 데이터 A와 /A는 트랜지스터(203과 204)의 드레인에 인가된다. 일단 입력 데이터가 안정화되면, 로드 신호 LD는 활성화되어 트랜지스터(203과 204)를 온시킨다. 더욱이 래치부(22) 공급전압 Fsup는 +5V의 노미널 주공급전압 Vcc에서 유지된다. 예를들어 A가 하이레벨 즉, 제1 인버터(205)의 입력이면 트랜지스터(206과 208)의 공통게이트는 하이레벨로 된다. 동시에 상보 신호 /A는 로우레벨이 될 것이고, 제2 인버터의 입력을 끌어당기는 경향이 있으며, 트랜지스터(210,212)의 게이트는 로드 트랜지스터(204)에 의해 로우 레벨로 다운된다.
2인버터의 입력에 대향하는 조합된 동작(combined opposing action on the inputs)은 제1 인버터(205)의 출력이 로우상태가 되도록 하고 제2 인버터(209)의 출력이 하이 상태가 되도록 할 것이다. 래치부(202)는 연속적인 로드 동작에 의해 대체(alter)될 때까지, 리콜 동작에 의해 변경될 때까지(이후 설명되는 바와 같이) 또는 파워가 시스템으로부터 제거될 때까지는 데이터를 유지하거나 저장한다. 로드 트랜지스터는 래치부(202) 트랜지스터가 원하는 상태가 될 수 있도록 충분한 사이즈가 되어야만 한다.
[소거]
플래시셀 C와 /C를 소거하기 위한 동작은 시간 T1에서 시작된다. 이러한 사이클은 래치부(202)에 의해서 보다는 셀에서 직접적으로 수행된다. 접속신호 CN은 이러한 동작에서는 비활성이므로 양접속 트랜지스터(214,216)는 비도통 상태가 될 것이다. 따라서 셀 C와 /C의 드레인은 플로팅 상태로 남아있을 것이다. 더욱이 2셀의 워드선에 접속된 신호 WL은 접지되며, 2셀의 소스에 접속된 신호 SL은 +12V 와 같은 큰 포지티브 전압으로 상승된다. 공지된 바와 같이 이러한 상태하에서 셀 C와 /C는 Fowler-Nordheim tunneling에 의해 모두 소거된다. 이어서 플레시부(200)는 셀 C와 /C가 완전히 데이터를 저장하토록 적절히 프로그램된다.
[프로그램]
프로그램밍 사이클은 시간 T2에서 시작된다. 이전에 주목한 바와 같이 래치부(202)는 플래시부(10)의 원하는 프로그램 상태로 미리 설정된다. 로드 신호 LD는 트랜지스터(203과 204)가 오프가 되도록 비활성이다. 공급전압 Fsup는 +6V의 노미널값에 있다. 예를들어 래치부(202)는 인버터(205)의 출력이 로우레벨이고 인버터(209)의 출력이 하이레벨이 되도록 미리 설정된다고 가정한다. 이러한 경우에 트랜지스터(214)의 드레인은 공급전압 Fsup에 대해 닫힌상태(close)가 되고 트랜지스터(216)의 드레인은 공통 회로에 대해 닫힌상태가 될 것이다.
접속신호 CN은 시간 T2이후에 즉시 활성(하이)이 됨으로써, 트랜지스터(214와 216)가 온되고 공급전압 Vsup와 공통회로를 셀 C와 /C의 드레인에 각각 효율적으로 접속시킨다. 접속 신호 CN은 프로그래밍 사이클에서 하이레벨인 +12V전압으로 스위치되므로, 트랜지스터(214,216)는 래치에 저장된 데이타에 좌우되는 셀 C와 /C의 드레인중 어느 하나에 +6V의 공급전압 Fsup를 접속하기에 충분한 게이트-소스전압을 갖고 있다. 이러한 경우에 셀 C는 그 드레인에서 Fsup를 얻게된다. 동시에 셀 C와 /C의 제어 게이트는 +12V와 동일한 크기를 갖는 워드선 신호 WL에 접속된다. 사실 여러 경우에 CN과 WL은 동일한 신호일 수 있다. 소스 라인 신호 SL은 공통회로(circuit common)에서의 신호이며, 셀 C와 /C의 공통소스에 접속된다 셀 C에 인가된 전압들의 이러한 조합은 셀이 프로그램되도록 할 것이며, 반면에 셀 /C에 인가된 전압들의 조합은 셀의 프로그래밍으로 나타나지는 않을 것이다. 셀 C와 /C가 대향 상태로 프로그램될 수 있도록 하기 위해서는 프로그래밍 사이클을 수행하기에 앞서 소거 사이클에서 양 셀을 먼저 소거할 필요가 있다. 앞서 주목한 바와 같이 래치부(202)는 프로그래밍 사이클을 실행하기 위해서는 사전에 역시 실정되어 있어야만 한다.
인버터 회로(209)의 트랜지스터(210)는 통상 500마이크로암페어인 프로그래밍 전류를 셀 C에 공급하게 된다. 셀 /C이 프로그램되면 프로그래밍 전류는 인버터 회로(205)의 트랜지스터(206)에 의해 공급된다. 따라서 래치부(202)의 트렌지스터(206과 210)는 이러한 프로그래밍 전류가 흐르게 할 수 있는 충분한 크기(size)여야만 한다. 앞서 주목한 바와 같이 트랜지스터(203,204)는 트랜지스터(206,210)가 로드 사이클 동안 원하는 상태가 될 수 있도록 충분한 크기여야만한다. 통상 프로그래밍 전압은 수백 마이크로초 내지 밀리초 범위의 비교적 긴 시간(duration) 동안 인가된다. 데이터는 셀 C와 /C에 상보 형태로 저장되고, 이후 설명하는 바와 같이, 셀은 상이한 방법으로 판독되기 때문에 큰 에러 허용한계 여유(large error tolerance margin)가 있게된다. 따라서, 데이터가 적절히 프로그램되었음을 확인하기 위해 플래시 시스템에서 빈번하게 행해지는 어떠한 유형의 프로그램 검사(verification)도 수행할 필요가 없다.
[리콜]
시간 T3에서 시작되는 리콜 사이클이 제13도에 예시되어 있다. 이러한 동작에서 셀 C와 /C의 상보상태는 래치부(202)에 전송된다 데이터 저장유닛(14)으로부터 파워가 제거되는 경우, 데이터는 비휘발성 래치부(202)에 보존되지 않는다. 따라서, 파워가 재인가되면, 초기화회로(initialization circuit)는 비휘발성셀 C와 /C에 저장된 데이터가 래치부(202)에 전송될 수 있도록하는데 사용된다.
플레시셀 C와 /C는 제한된 구동능력을 가지고 있으며, 아울러 래치부(202)의 트랜지스터가 원하는 상태로 되게할 만큼 충분한 강도(sufficient strength)는 통상 가지고 있지 않으므로, 공급전압 Vsup는 리콜 동작의 초기 단계에서 접지전위에 도달하는 낮은 레벨로 순간적으로 강하된다. 더욱이 접속신호 CN은 활성이됨으로써 플래시부(200)를 트랜지스터(214,216)에 의해 래치부(202)에 연결시킨다. 셀 C와 /C의 워드선은 통상 +5V의 주공급 전압 Vcc와 동일한 크기를 갖는 신호 WL에 접속된다. 다시 신호 WL과 CN은 이러한 동작을 위한 동일한 신호일 수 있다.
리콜 사이클은 몇가지 유형의 파워-온-리셋트 회로에 의해 바람직하게 초기화되며, 이 회로는 파워온 상태와, 래치부(202)의 상태에 영향을 미칠 가능성이 있는 어느 정도 소정의 레벨로 주공급전압 Vcc가 강하하는 경우에 상기 리콜 사미클이 수행되도록 한다. 리콜 사이클은 주공급전압 Vcc가 초기 파워온 이후 약 +3V로 램프업되었거나 또는 그 레벨 이하의 전압 Vcc에서의 강하 이후 대략 +3V로 램프업되었음을 파워-온-리셋트 회로가 검출한 경우, 이 회로에 의해 초기화된다.
리콜 사이클 동안, 공통 소스 라인 신호 SL은 접지전위로 설정된다. 셀 C가 프로그램되었고, 셀 /C가 소거상태에 있다고 하면, 셀 C는 비도통상태가 길 것이므로, 래치부(202)의 인버터(205)의 입력은 영향받지 않을 것이다. 셀 /C는 도통 상태가 될 것이고, 래치부(202)의 인버터(207)의 입력을 접지전위로 끌어내리는 경향이 있다.
래치부(202)는 이러한 시점에서는 전력이 공급되지 않기 때문에, /C는 인버터(209)의 입력을 셀의 제한된 구동능력에 상관없이 로우레벨로 끌어내릴 수 있다. 제13도의 타이밍도에서 볼수 있는 바와 같이, 전압 Vsup는 순간적으로는 낮은 값으로 유지되고, 이어서 정상 동작레벨로 증가된다. 바람직하게는 전압은 느린 비율로 증가된다.
공급전압 Vsup가 증가함에 따라, 셀 /C는 고우레벨로 인버터(209)의 입력을 유지하게 되므로 P채널 트랜지스터(210)는 온이될 것이다. 이것은 인버터(209)의 출력이 하이가 되게 하고, 이 인버터의 출력은 인터버(205)의 입력도 역시 하이가 되게한다. 따라서, 인버터(205)의 트랜지스터(208)는 온이됨으로써 인터버(205)의 출력이 로우가 되도록 하고, 다시 셀 /C가 인버터(209)의 입력을 끌어내리도록 한다. 결국 공급전압 Vsup는 Vcc의 정상 하이 전압이나 +5V에 있게될 것이고, 래치부(202)는 플래시부(200)의 상태를 나타내는 원하는 상태에 있게 될 것이다.
셀 /C는 매우 작은 구동능력을 갖는다하더라도 설명되는 바와 같이 공급전압 Vsup를 제어함으로써 셀은 래치부(202)를 원하는 상태가 되도록 할 수 있다. 프로그램된 셀 C는 있다손 치더라도, 인버터(205)의 입력을 끌어내리는 경향을 갖지는 않을 것이므로, 셀 /C의 동작과 대립하지는 않을 것이다. 그러나 셀 C의 프로그램된 이 셀 /C의 소거된 임계전압에 도달하였다하더라도 가장 큰 셀전류를 갖는 셀은 여전히 래치부(202)의 상태를 제어할 수 있다. 이러한 차동 동작(differential action)은 대상 데이터 저장 유닛(subject data storage unit)의 동작 신뢰성을 증대시킨다. 인버너(205와 209)의 출력은 각각의 인버터(228와 230)에 연결되어 래치부 출력의 로딩이 동일해진다. 래치부는 플래시셀 C와 /C의 능력(ability)을 증대시키도록 용량적으로 균형을 이루어 상기 래치부를 원하는 어떠한 상태가 되게한다.
[검사]
앞서 설명한 바와 같이, 검사 사이클(Verify cycle)은 래치부(202)의 상태를 판정하는데 사용된다. 이러한 동작은 만일 이 동작에 리콜 사이클(Recall cycle)이 선행된다면 플래시부(200)의 상태를 판정하는데 사용된다. 검사사이클은 상보 데이터 입력 A와 /A를 이용하여 이들 데이터와 래치부(202)의 상태를 비교한다. 비교부(201)는 필수적으로 배타적 NOR회로의 기능을 하며, 래치부(202)와 데이터 입력 A와 /A간에 매치가 있는 경우에는 논리적 출력 /VER을 공급한다.
예를들어 검사 사이클이 발생한다고 하면 검사신호 Fv는 활성이 된다. 이는 비교부(201)의 트랜지스터(218)가 도통이 되게 한다. 더욱이 데이터 입력 A가 논리 “1”(하이)이고 /A가 논리 “0”(로우)라고 가정한다. 또한 래치부(202)의 인버터(205)의 출력이 논리 “0”이 되어 인버터(209)의 출력이 논리 “1”이 될 것이라고 가정한다. 입력 A가 하이이고 인버터(205)의 출력이 로우이기 때문에 비교부(201)의 트랜지스터(220)는 도통이 될 것이고, 트랜지스터(204)는 오프가 될 것이다. 유사하게, 입력 /A가 로우이고 인버터(209)의 출력이 하이이기 때문에 트랜지스터(222)는 오프가 될 것이고, 트랜지스터(226)는 온이 될 것이다. 여기에는 비교부(201)와 전압 Vcc간에 접속되는 풀업 디바이스(도시생략)가 존재한다. 트랜지스터(224,222)가 오프되므로 트랜지스터(218)와 공통회로 사이에는 도통경로(conductive path)가 전혀 존재하지 않을 것이다. 따라서, 출력 /VER은 유효한 비교(valid compare)를 나타내는 하이 상태(“1”)로 남아있게 된 것이다.
인버터(205와 209)의 출력이 각각 논리 “1”과 논기 “0”이었다면 데이터 입력 A와 /A도 “1”과 “0”을 유지하게 되며 트랜지스터(220과 224)는 모두 도통되게된다. 따라서 트랜지스터(218)가 신호 Fv에 의해 온되면 출력 VER은 비교조건이 전혀 없음을 나타내는 논리 “0”으로 끌어내려진다.
데이터 입력 A와 /A가 각각 논리 “0”과 논리 “1”인 경우에 인버터(205와 209)의 출력은 각각 논리 “0”과 논리 “1”이되고, 트랜지스터(220과 226)는 오프가될 것이다. 따라서 신호 VER은 논리 “1”이 되어 유효비교(valid compare)를 나타내게 된다. 계속해서 데이터 입력 A와 /A가 논리 “1”과 논리 “0”이었고 인버터(205와 209)는 각각 논리 “0”과 논리 “1”이었다던 트랜지스터(222와 226)가 도통되므로 신호 /VER은 논리 “0”상태가 되어 아무런 비교도 없음을 나타내게된다.
데이터 저장유닛(14)에 제어 파라미터 CP를 프로그램하기 위한 여러 동작은 통상 메모리 시스템이 테스트 동작 모드와 같은 비유저 동작모드(non-user mode of operation)에 놓여지는 경우 수행된다. 메모리 시스템이 테스트 동작 모드(test mode of operation)에 놓여지는 경우를 감지하고, 이 동작모드에 시스템을 배치하기(placing)하기 위한 회로가 “APPARATUS FOR ENTERING AND EXECUTING TEST MODE OPERATION FOR MEMORY”라는 명칭으로 1995년 2월 10일 출원된 출원번호 제08/386,704호에 개시되어 있다. 비 출원의 내용은 참조적으로 본 명세서에 설명된다.
제14도는 테스트 모드 동작에 진입하고 실행하기 위한 회로의 일실시예를 나타내는 도면이다. 여러 명령중에서도 테스트 모드 명령(test mode commands)은 메모리의 데이터 I/O 터미널에 적용되어 여러 테스트 모드중 어느 모드가 진입될 것인지를 나타낸다. 통상 메모리 시스템의 엔드 유저는 테스트 모드가 메모리 제조설비(memory fabrication facility)에 의해 사용되는 경향이 있기 때문에, 메모리 시스템이 테스트 모드에 진입하도록 할 아무런 이유도 가지고 있지 않다. 더욱이 테스트 모드로의 우연한 진입(accidental entry)은 메모리가 이 모드에서는 영구적으로 비동작 상태가 되도록 할 수 있기 때문에 피해야한다. 따라서, 테스트 모드회로는 복수의 메모리 시스템 터미널에 고전압을 동시에 인가하도록 함으로써 테스트 모드로의 우연한 진입 가능성을 특별히 줄일 수 있도록 설계된다.
제14도의 회로는 외부소스로부터 메모리 시스템의 2개 이상의 터미널(240과 242)에 고전압을 인가함으로써 활성화된다. 이러한 터미널은 노미널 메모리 동작동안 사용된 비전용 터미널(non-dedicated terminals)이다. 터미널(240과 242)은 예를들어 어드레스 터미널(패드) A10과 기록 이네이블 터미널 /WE을 포함할 수도 있다. 터미널(240과 242)에 인가된 고전압의 크기는 메모리 시스템의 노미널(비테스트 모드) 동작 동안 상기 터미널에 통상 인가되는 전압 범위밖이 되도록 선택된다. 이는 엔드 유저가 우연히 테스트 모드에 진입하는 것을 방지하기 위해 행해진다. 터미널(240과 242)에 인가된 고전압은 검출기(244와 246)에 의해 검출된다. 적절한 검출회로는 1995년 6월 21일 출원되어 “INTEGRATED CIRCUIT HAVING HIGH VOLTAGE DETECTION CIRCUIT”이라는 이름으로 등록된 재08/493,162호에 개시되어 있으며, 그 내용은 참조적으로 본 명세서에서 설명된다.
고전압이 터미널(240과 242)에 인가된 후에 또다른 터미널(248), 이 경우에는 집 이네이블 /CE 터미널의 신호는 활성(로우)이 된다. 몇몇 가능 테스트 모드 중 하나에 대응하는 테스트 코드 데이터(test code data)는 메모리의 데이터 I/O 터미널(250)에 놓여지고 I/O 버퍼(252)로 전송된다.
AND 게이트(254)는 고전압 검출기(244와 246)의 출력이 2터미널(240과 242)에 인가되는 고전압을 나타내는 경우에는 테스트 모드 로드 이네이블 신호를 공급한다. 로드 이네이블 신호는 반전된 신호 /CE와 함께 AND 게이트의 한 입력에 연결된다. 이것은 AND 게이트(256)로 하여금 패스 트랜지스터(258)를 온시키게하고, 이 패스 트랜지스터는 버퍼(252)에 테스트 코드 데이터를 전송하고 이어서 테스트 코드 래치(260)에 전송한다. 별도의 I/O 터미널과 패스 트랜지스터(258)는 입력 테스트 모드 데이터의 각각의 비트에 대해 사용되므로 데이터는 래치(260)에 병렬로 로드될 것이다. 통상 여기에는 테스트 코드 데이터의 모두 8비트가 있으므로 래치(260)는 8비트를 포함할 것이다. 신호 /CE는 높은 상태(high state)가 되므로 래치(260)의 테스트 코드 데이터를 래치하게된다.
래치(260)가 테스트 코드 데이터에 의해 로드된 후에, 어드레스 A10 터미널(242)의 입력과 같은 고입력 전압중 하나가 제거되므로, 검출기(246)의 출력은 로우가되고 이로인해 인버터(266)에 의해 AND 게이트(268)에 높은 입력을 공급한다. 게이트(268)의 나머지 입력인 제2 고전압 검출기(244)의 출력은 하이상태가 되므로 게이트(268)는 테스트 모드 이네이를 신호를 발생시키게된다. 기타 신호중에서 이 신호는 테스트 모드 포맷 검사 및 디코드 로직 유닛(262)(Test Mode and Format Check and Decode Logic)을 이네이블하게 되고 이 유닛은 래치(260)의 데이터가 여러 적절한 모드중 하나에 대응하는지를 검사하게 된다. 더욱이 유닛(262)은 테스트 모드 코드를 디코드하여 대략 15개의 상이한 메모리 테스트 모드중 하나가 진입하였는지를 판정한다. 이러한 테스트 모드 각각은 테스트 모드 포맷 검사 및 디코드 로직 유닛(262)에 의해 생성되며, 여러 테스트 모드 기능을 수행하기 위해 다른 신호와 조합하여 메모리 시스템에 의해 사용되는 연관 테스트 모드 신호(associated test mode signal)를 가지고 있다.
시스템은 터미널(240)에 인가된 전압이 하이 상태로 남아있는한 선택된 테스트 모드에 남아있게 된다. 신호 /CE는 파시 하이상태가 되고 검출기 활성화 로직(270)은 터미널(240)에 인가된 전압이 하이상태인한은 검출회로(244와 246)가 이네이블 상태를 유지하도록 한다. 여러 테스트 모드 동작을 수행하는 과정동안에는 칩이네이블 /CE 신호의 상태를 주기적으로 변화시킬 필요가 있다. 그러나 라인(242)의 어드레스 A10은 로우 상태로 시프트되기 때문에 AND 게이트(256)의 로우 출력은 테스트 모드 코드 래치의 내용의 어떠한 변화도 방지하게 된다. 일단 테스트 모드 동작이 완료되면, 터미널(240)에 인가된 고전압이 제거됨으로써 AND 게이트(268)의 출력이 로우가 되어 테스트 모드 동작이 종료된다.
래치(260)에 로드된 테스트 모드 코드는 특정 포맷이 되는 것이 바람직하며 이렇게함으로써 테스트 모드로 우연히 진입(accidental entry)할 가능성을 감소시킨다. 테스트 모드 코드는 통상 2개의 비트그룹으로 분할되며, 비트의 제1 그룹인 포맷비트는 테스트 모드 동작을 의미하며, 나머지 비트는 테스트 모드중 특정 한 모드를 의미한다. 본 발명의 예시적 실시예에는 데이터 저장유닛(14)의 제어에 관련된 3개의 테스트 모드가 있다. 이를 테스트 모드는 레치(260)에 저장된 테스트 모드 코드에 정의된다. 이러한 테스트 모드중 첫번째 모드는 상태머신(19)(제1도)의 동작을 제어하는데 사용된 제어 파라미터에 관련된 것이다. 상태 머신 동작이 제어되는 방법에 관한 상세한 설명은 본 발명과 동일자로 출원되어 “MEMORY SYSTEM HAVING PROGRAMMABLE FLOW CONTROL REGISTER”라는 명칭으로 등록된 특허출원 제08/508,921호에 설명되어 있다. 이 출원의 내용은 본 명세서에서 참조적으로 설명된다.
이러한 저장유닛 테스트 모드의 제2 카테고리는 제3도와 관련하여 앞서 설명된 메모리 어드레싱의 제어와 제1도와 관련하여 앞서 설명된 메모리의 워드폭(버스폭)의 제어와 관련되어 있다. 저장 유닛 테스트 모드의 제3 카테고리는 제5도-제11도와 관련하여 앞서 설명된 트림기능과 관련되어 있다. 이러한 트림기능은 메모리 동작에 사용된 여러 전압 펄스의 크기와 지속길이이 저장된 제어 파라미터를 이용하여 변경될 수 있도록 해준다.
통상적인 메모리 시스템은 메모리의 동작에 대한 여러 양상을 제어하기 위해 많은 수의 데이터 저장유닛을 이용할 수도 있다. 트림기능 카테고리와 관련된 대략 12개의 저장유닛이 있다. 제12도와 제13도를 관련지어 설명된 바와 같이 데이터 저장유닛은 다음과 같은 5개의 기본 사이클 유형 즉, (1)로드(Load); (2)소거(Erase); (3)프로그램(Program), (4)리콜(Recall); (5)검사(Verify)를 수행할 수 있다. 비전용 메모리(non-dedicated memory)를 이용하여 이러한 데이터 저장유닛을 효과적으로 제어할 수 있으려면 터미널은 이후 설명되는 바와 같은 특별한 회로(specialized circuitry)를 필요로한다.
다음의 예시적인 설명은 제어 파라미터의 트림기능 카테고리의 동작에 관한 것이며, 이 설명은 다른 제어 파라미터 기능부(control parameter functions)의 동작에도 관련된 것이다. 제15(a)도 - 제15(c)도는 메모리 동작에 이용된 여러 전압 펄스의 크기를 설정하는 제어 파라미터를 저장하기 위해 사용되는 모두 9개의 데이터 저장유닛(14N - 14V)을 나타내고 있다. 3개의 데이터 저장유닛은 프로그램 동작동안 어레이의 워드선에 인가된 전압 펄스의 크기에 관련된 것이다. 이들 저장유닛은 제15(a)도에 나타낸 저장유닛 14N, 140 및 14P이다. 또다른 3개의 데이터 저장유닛은 프로그램 동작동안 어레이(12)의 비트선에 인가된 전압 펄스의 크기에 관련된 것이다. 이 저장유닛은 제1도에 나타낸 14Q, 14R 및 14s이다. 결국, 제15(c)도의 3개의 저장유닛(14T,14U,14V)은 소거 동작 동안 여러 어레이 블록의 소스선에 인가된 전압 펄스의 크기에 관련된 것이다. 따라서 이러한 트림 기능부 각각은 8개의 상이한 전압 펄스의 크기(23)를 제공하며, 관련 저장 유닛(14)에 저장된 3개의 제어 파라미터에 좌우된다.
트림 기능 데이터 저장 유닛은 로딩, 소거, 프로그래밍, 리콜, 또는 검사 사이클(Verify cycle)을 이용하여 조작될 수 있다고 가정한다. 제17도는 이러한 사이클에서 생성된 주요신호(principal signals)를 나타내는 타이밍도이다. 이하, 설명되는 바와같이 리콜 사이클(Recall cycle)은 파워온시 그리고 메모리 진압이 로우 레벨로 하강하거나 또는 하강하지 않아 테스트 모드로의 진입을 요구하는 경우 자동적으로 개시된다. 신호 /RST는 리콜 사이클을 개시하기 위해 파워온 회로(power on circuit)를 트리거하는데 사용될 수 있다.
제1 단계는 메모리 시스템(10)이 적절한 테스트 모드에 있도록 하는 것이다. 제14도와 관련하여 상술한 바와 같이, 단자 /WE와 어드레스 터미널 A10의 전압은 제17도의 타이밍도에서 볼수 있는 바와 같이 모두 초기시간 T0에서의 +12V에서 온 것이다. 더욱이 데이터 I/O 터미널에는 원하는 테스트 모드에 대응하는 데이터가 제공된다. 이 데이터는 제14도의 테스트 모드 코드 래치(260)에 진입하게 되는 테스트 모드이다. 데이터 I/O 터미널에 인가된 테스트 모드 데이터는 (1) 메모리가 테스트 모드에 있게될 것임과 (2) 테스트 모드가 데이터 저장유닛에 관련된 모드이고 (3) 데이터 저장유닛이 트림유닛임을 나타내게 될 것이고, 앞서 설명한 저장유닛의 기타 2카테고리에 대비된다.
테스트 모드 코드는 트림 데이터 저장유닛의 3카테고리중 어느 것이 온이 될 것임을 상술하지는 않는다. 이는 테스트 모드에 진입하는 시점에 메모리 시스템의 어드레스 터미널을 이용하여 행해진다. 이 시점에서 어드레스 A10은 메모리 시스템이 테스트 모드에 진입하도록 하는데 전용되고, 따라서 이용가능하지 않다. 어드레스 터미널 A15와 A16은 트림데이터 저장유닛의 3카테고리중 어느것이 온이 될 것인지를 설명하는데 사용된다. 표 3에서 볼 수 있는 바와 같이 A15와 A16은 “1”과 “0”으로 각각 설정되고, 하이 전압 트림 테스트 모드가 실명된다.
어드레스 터디널은 트림 제어 파라미터의 3카테고리중 각각의 카테고리내의 데이터 저장유닛의 그룹을 특정하는데 사용된다. 어드레스 터미널은 고전압 트림 카테고리에 사용된 9개의 데이터 저장유닛에 대한 표 4에 설명되는 기능부에 할당된다.
상기 표 4로부터 볼 수 있는 바와 같이, 고전압 트링기능을 위한 9개의 데이터 저장유닛 각각과 연관되는 어드레스 터미널이 있다. 예를들어 프로그래밍시 워드선에 인가된 고전압과 연관되는 3개의 데이터 저장유닛(14N,14O,14P)은 연관된 어드레스 A1, A2, A3를 갖는다. 더욱이 고전압 트림기능의 3개의 그룹중 각각의 그룹과 연관되는 이네이블 어드레스 터미널이 존재한다. 예를들어 어드레스 터미널 A4는 3개의 워드선 프로그래밍 데이터 저장유닛(14N,14O,14P)을 위한 이네이블 기능을 수행한다.
계속해서 예를들면 특정 데이터가 데이터 저장유닛(14N,14O,14P)의 휘발성 래치부(202)에 로드될 것이라고 가정한다. 이 3개의 유닛은 워드선 프로그래밍 전압에 관련된다. 앞서 설명한 바와 같이 이러한 로드 사이클은 데이터 저장유닛을 프로그램하기 위한 초기단계로서 수행된다. 시간 T0에서 또는 이에 앞서(제17도) 유저는 저장유닛에 저장될 데이터로 어드레스 터미널 A1, A2, A3을 설정하게 된다. 더욱이, 연관된 이네이블 어드레스 A4는 “1”로 설정될 것이다. 나머지 6개의 데이터 저장유닛(14Q,14R,14S,14T,14U,14V)은 변경되지 않을 것이며, 연관된 이네이블 어드레스 터미널 A8과 A13은 “0”으로 설정될 것이다. 이러한 경우에 어드레스 터미널 A5,A6,A7,A9,A11,A12의 상태는 이 터미널이 “부정(don't care)”이기 때문에 어떠한 상태로도 설정될 수 있다.
또한 시간 T0에서 신호 /CE는 순간적으로 로우가 되고 시간 T1에서 비활성 또는 하이 상태로 되돌아간다. 이는 테스트 모드 데이터가 테스트 모드 래치(260)(제14도)에 전송되도록 한다. 상태 머신(19)은 터미널 /WE와 A10에 인가된 전압이 고전압이라면 /CE의 상승에지에 응답하여 이 시점에서 신호 TLOAD를 발생시키도록 구현된다. 더욱이 테스트 모드 포맷 체크 및 디코드 로직(262)은 데이터 저장유닛과 연관된 3개의 테스트 모드중 한 모드에 진입했음을 나타내는 디코드 출력 테스트 신호 TM을 발생시킨다. 어드레스 A15와 A16은 3개의 모드중 어느 모드가 표 3에 나타낸 것과 같이 선택되었는지를 나타내게 된다.
로드될 데이터 저장유닛(14N)을 포함하는 제15(a)도를 보면, 어드레스 A15/A16은 NAND 게이트(276)의 2입력에 연결된다. 나머지 입력은 시간 T0에서 하이로된 테스트 신호 TM이다. 따라서 게이트(276)의 출력은 고전압 트림 테스트 모드에 진입하였음을 나타내는 신호 /Trim V를 발생시킴으로써 활성 또는 로우가 되므로 표 4에 나타낸 데이터 저장유닛(14)이 조정될 수도 있다. 인버터(278)는 /Trim V와 함께 제15(a)도 - 제15(c)도의 여러 소자에 의해 사용되는 신호 Trim V를 생성하기 위해 제공된다.
신호 트림 V, 하이 이네이블 어드레스 A4, 및 TLOAD신호를 수신하는 AND 게이트(280)가 제공된다. 이러한 모든 신호가 시간 T1에서 하이가 되기 때문에 게이트(280)의 출력인 로드 신호 LD1은 하이가 된다. 신호 LD1은 3개의 데이터 저장유닛(14N,14O,14P)의 로드 입력 LD에 접속된다. 어드레스(A1,A2,A3)의 데이터와 그 보수(도시생략)는 데이터 유닛(14N,14O,14P)의 데이터 입력에 각각 전속된다. 제12도와 제13도에 관련하여 앞서 설명한 바와 같이, 이는 입력 데이터가 각각의 데이터 유닛의 래치부(202)에 로드되도록한다. 이네이블 어드레스(A8, A13)는 모두 로우이고, 대응하는 AND 게이트(282)(제15(b)도)와 AND 게이트(284)(제15(c)도)는 대응하는 로드 신호 LD2와 LD3를 발생시키지는 않을 것이다.
실례를 계속들면 데이터 저장유닛중 어느 것도 데이터를 로드하지 않았다고 하면 모든 이네이블 어드레스 A4, A8, A13은 테스트 모드의 엔트리에 따라 “0”으로 설정될 것이다. 어드레스 A15와 A16은 앞서와 마찬가지로 각각 “1”과 “0”으로 설정됨으로써 테스트 모드는 제15(a)도 - 제15(c)도의 9개의 고전압 트림 저장유닛과 관련하여 계속될 것이다. 시간 T2에서 어드레스 터미널 A10에 인가된 전압은 로우가 될 것이므로, 다음의 어느 칩이네이블 신호 /CE는 제14도의 회로의 래치 레지스터(260)를 재로드하지는 않을 것이다.
추가적인 예로서 유저가 9개의 데이터 저장유닛(14N,14O,14P,14Q,14R,14S,14T,14U,14V)의 휘발성 래치부(202)의 내용을 검사하기를 원한다고 가정한다. 2가지 방안이 설명된다. 데이터 저장유닛(14)의 동작과 관련하여 알서 설명한 바와 같이, 각각의 유닛(14)(제12도)은 래치부(202)의 내용과 저장유닛의 입력에 나타나는 데이터 A및 /A를 비교하기 위한 내부 비교기(201)를 가지고 있다. 매칭이 이루어진다면 신호 VER은 하이상태를 유지한다. 매칭이 이루어지지 않는다면 신호 VER은 로우로 끌어내려진다. 모든 데이터 저장유닛의 검사출력은 함께 오어화되므로 검사되는 저장유닛의 어떠한 “매칭 전혀없음(no match)”은 로우 신호 VER을 발생시키게 되고 이 신호는 검사 사이클의 끝에서 메모리의 데이터 I/O 터미널중 한 터미널에 나타나게 된다.
통상적인 검사 동작에서 저장유닛(14)의 상태는 적절한 어드레스 터미널에 테스트 데이터를 먼저 설정해 놓고 검사 사이클을 수행함으로써 주기적으로 테스트된다. 저장유닛중 특정 하나가 “매칭 전혀없음(no match)”을 바로 확인하는 것은 가능하지 않기 때문에 입력 데이터는 변경되고 검사 사이클은 반복된다. 이것은 어드레스 터미널에 인가된 입력 데이터의 하나의 특정 세트가 매칭될 때까지 계속된다(하이 VER신호).
첫번째 검사 접근 방안에서는 테스트 데이터의 제1 세트가 어드레스 터미널 A1, A2, A3, A5, A6, A7, A9, A11 및 A12에 인가된다. 이것은 시간 T3주변에서 발생한다. 초기에 모두 “0”일 수도 있는 데이터는 고전압 트림 기능의 9개의 데이터 저장유닛(14N-14V)의 데이터 입력A에 인가된다. 더욱이 3개의 이네이블 어드레스 A4, A8, A13의 입력은 하이가 되므로 모두 9개의 데이터 저장유닛이 동시에 검사된다. 칩 이네이블 신호 /CE는 활성으로되며, 이 신호는 여러 메모리 시스템 소자가 이네이블되도록 하는 모든 테스트 동작을 위한 것이다. 활성 신호 /CE는 래치(260)(제14도)내의 테스트 모드 코드 데이터를 변경시키지는 않을 것이다. 더욱이 출력 이네이블 신호 /OE는 활성이 되므로, 다른 신호중에서, 신호 VER에 대응하는 비트는 메모리 시스템의 데이터 I/O 터미널중 하나에서 판독될 수 있다. 신호 VER을 제공하는, 데이터 I/O 터미널을 이용하기 위한 회로와 대체 기능(alternative functions)을 위한 기타 메모리 시스템 터미널은 본 출원과 동일자로 출원되어 “MEMORY HAVING INTERNAL STATE MONITORING CIRCUIT”이라는 명칭으로 등록된 출원번호 제 08/508,924호에 개시되고 있다. 이 출원의 내용은 본 명세서에서 참조적으로 설명된다.
NOR 게이트(246)(제15(a)도)는 로우 상태인 신호 /Trim V를 수신하고, 고전압 트림 기능 테스트 모드(High Voltage Trim function test mode)를 나타낸다. 게이트(286)는 신호 /OE와 어드레스 데이터 /A4를 추가로 수신하고, 이들 모두는 로우가 될 것이므로, 게이트(286)의 출력인 신호 Fv1은 하이가 될 것이다. 게이트(288, 290)에 의해 발생된 신호 Fv2와 Fv3는 반전된 이네이블 어드레스 /A8과 /A13이 로우이기 때문에 역시 하이가 될 것이며, 신호 /OE 및 /Trim V가 있다. 따라서 모두 9개인 비교기 회로의 데이터 저장유닛(14N-14V)은 각각의 래치부(202)의 내용과 연관 어드레스 터미널의 대응하는 입력 데이터를 비교한다.
어떠한 저장유닛에서도 비교가 전혀 없다면 신호 VER은 시간 T4에서 데이터 I/O 터미널의 한 터미널에서 로우가 될 것이다. 이 경우에 어드레스 터미널의 입력 데이터는 통상 바이너리 값을 증가시킴으로써 변경되고 테스트가 반복된다. 이러한 처리가 512회(29) 반복되도록 할 필요가 있을 수도 있다.
두번째 접근은 9개의 저장유닛의 상태를 검사하기 위해서 3단계로 저장유닛을 테스트하는 것이다. 먼저 이네이블 어드레스 A4는 “1”로 설정되고 이네이블 어드레스 A8과 A13은 “0”으로 설정된다. 다음에 테스트 데이터는, 저장유닛(14N, 14O, 14P)이 검사되는 유일한 유닛이기 때문에, 어드레스 터미널 A1, A2, A3에만 공급된다. 입력 데이터의 이러한 3비트는 높은 신호 VER에 의해 나타내는 것과 같이 나타나는 비교가 있을 때까지 변경된다. 일단 유닛(14N,14O,14P)의 상태가 결정되었다면, 이네이블 어드레스 A8을 “1”로 설정하고 다른 이네이블 어드레스 A4와 A13을 “0”으로 설정함으로써 3개의 저장유닛(14Q,14R,14S)이 테스트된다. 이것은 유닛 14T, 14U, 14V를 테스트하고 이네이블 어드레스 A13을 “1”로 설정하고 다른 이네이블 어드레스 “0”으로 설정함으로써 계속된다. 이네이블 어드레스를 선택적으로 활성화함으로써 작은 그룹의 저장유닛을 검사하는 접근은 저장 유닛의 일부(less than all of the storage units)가 검사되는 경우에도 특히 유용하다. 2번째 접근법은 저장유닛이 24사이클(23×3세트의 유닛)로만 검사되도록 해준다.
앞서 설명한 바와 같이 리콜 사이클은 플래시부(200)(제12도)에 지장된 비휘발성 데이터를 휘발성 래치부(202)에 전송하는 기능을 한다. 플레시부의 데이터는 메모리 시스템에서 파워가 제거되는 경우 상실되기 때문에, 이러한 경우가 감지되면 리콜 사이클은 자동적으로 초기화된다. 제13도의 타이밍도에 나타낸 바와 같이 리콜 사이클은 데이터 저장유닛의 소스선 SL을 접지시키고 접속신호 CN과 워드선 신호 WL을 인가함으로써 수행된다. 더욱이 래치부(202)의 파워 서플라이 Fsup는 순간적으로 접지되어 래치부가 플래시부(200)의 상태로 설정하도록 하며, Fsup는 정상 하이 값으로 되돌려 진다.
제16도는 리콜 사이클 동안 그리고 프로그램 사이클 동안 각각의 데이터 저장 유닛의 접속입력(connect inputs) WL/CN과 조합 워드선(combined word line)에 인가된 신호 VWL을 생성하기 위한 회로를 나타내고 있다. NOR 게이트(292)는 파워온시 그리고 파워가 외란(disturbance)된 경우 파워업 신호(solver up signal)를 수신한다. 이것은 게이트(292)의 출력이 로우가 되도록 함으로써 인버터 회로(소자 298과 소자 300으로 형성됨)의 입력을 N 채널 패스 트랜지스터(296)에 의해 로우로 끌어내린다. 게이트가 주공급전압 Vcc로 접속된 이후 항상 온상태인 트랜지스터(296)는, Vcc(+5V)와 접지간의 어느 한 스위치로부터 Vp(+12V)와 접지간의 어느 한 스위치로, 게이트(292)의 출력을 변환시키는 레벨 시프트 회로의 한 부분이다. P채널 및 N 채널 트랜지스터(298과 300)는 각각 인버터를 형성하며, 회로 출력 VWL은 2트랜지스터의 공통 드레인 접속에서의 출력이다. 인버터의 입력을 충분히 높은 하이 레벨인 진입(approaching) Vpp로 끌어당기는 경우, 게이트(292)를 보조하기 위해 피드백 트랜지스터(302)가 포함되어, 트랜지스터(298)는 게이트(292)의 출력이 하이인 경우 오프된다. 모든 데이터 저장유닛(14)의 워드선 입력 WL과 접속 입력 CN은 하나의 입력 WL/CN으로 조합되므로, 앞서 설명한 바와 같이, 저장유닛은 조합된 이러한 입력에 의해 동작할 수 있다. 제16도에서 터미널 Vpp는 프로그래밍 동작 동안만 +12V가 되고 다른 시간동안에 +5V의 Vcc레벨로 유지될 것이다. 파워온시, 파워업 신호는 데이터 저장유닛의 조합 입력 WL/CN에 인가된 신호 VWL이 +5V의 Vcc레벨이 되도록 한다. 도시되지는 않았지만 회로는 입력 Fsup에 인가된 신호 Vsup가 순간적으로 로우가 되도록하므로, 플래시 C 및 /C의 데이터는 래치부(202)에 전송됨으로써 리콜 사이클이 수행된다.
데이터 저장유닛(14)이 프로그램되도록 하려면 먼저 이 유닛을 소거할 필요가 있다. 저장 유닛의 소거는 정상 메모리 동작시 사용된 동일한 유형의 소거 명령을 발생시킴으로써 수행된다. 그러나, 메모리 시스템은 정상 동작 모드와는 상반되는 테스트 모드에 있기 때문에 소거 명령은 메모리 어레이(12)의 플래시셀 보다는 플래시셀 C와 /C의 소거로 귀착된다.
제한된 수의 저장유닛의 소거를 제한하려는 어떠한 시도도 행해지지 않으며, 이는 소거동작이 프로그램 동작에 이어져야하기 때문이다. 이러한 요구에 대한 한 이유는 소거절차(erase procedure)에서 플래시셀 C와 /C 모두가 소거되어 동일한 소거 상태가 되는 반면에, 저장 유닛 동작은 셀이 상보 형태로 데이터를 저장할 것을 요구하고 있다는 사실에 의한 것이다. 특정 저장유닛은 그 초기 상태(original state)로 남아있게 될 것이라면, 소거에 앞서 플래시부(200)에 저장된 초기 데이터는 래치부(202)에 저장된 동일한 데이터일 것이다. 따라서, 소거 이후에 연속 프로그래밍 시퀀스는 방금 소거되었던 동일한 데이터로 플래시부(200)를 간단히 재프로그램할 것이다.
이러한 소거 동작은 한쌍의 소거 멍령을 메모리에 공급함으로써 수행된다. 이러한 명령은 시간 T5에서 데이터 I/O 라인상에 게1 소거 명령(20H)을 놓음으로써 메모리에 공급된다. 더욱이 신호 /CE는 활성(로우)이 된다. 이는 활성 신호 /CE에 의해 수반되는 시간 T6에서 제2 소거 명령(DOH)이 뒤따른다. 이들 2개의 평균 소거 명령은 정상 소거 명령의 처리와 유사한 처리를 위해 명령 실행 로직(16)(제1도)에 전송된다. 대신에, 소거 동작 동안 메모리 어레이(12)의 소스 라인에 인가된 포지티브 전압을 생성하기 위한 메모리의 회로는 신호 VSL의 형태로 동일한 전압을 발생시킨다. 이어서, 신호 VSL은 모든 데이터 저장유닛(14)의 소스 라인 입력 SL에 인가된다. 입력 WL/CN은 로우 레벨이기 때문에 모든 데이터 저장유닛의 플래시셀 C와 /C는 시간 T6 이후에 소거될 것이다.
프로그램 사이클은 정상 메모리 프로그램 동작시 사용되는 동일한 한쌍의 명령의 발생에 의해 트림 테스트 모드에 진입한 후에 개시된다. 이러한 사이클은 휘발성 래치부(202)에 저장된 데이터가 비휘발성 플래시부(200)에 전송되도록 한다. 2개의 부(202와 200)는 정상적으로 동일한 데이터를 포함하고 있기 때문에 먼저 로드 사이클을 수행함으로써 새로운 데이터로 래치부(202)가 프로그램되도록 로드할 필요가 있다. 이후 설명되는 바와 같이 프로그램 동작은 3개의 트림 테스트 모드 중 선택된 하나에 있게되는 데이터 저장유닛(14)에 대한 것으로 제한된다. 따라서 고전압 트림 기능을 위해 사용된 9개의 데이터 저장유닛이 프로그램될 것이라면, 메모리 시스템은 특정 테스트 모드에 있어야만한다. 이러한 9개의 그룹에 포함되지 않은 데이터 저장유닛은 상기 테스트 모드에서는 프로그램되지 않을 것이다.
9개의 저장유닛(14N-14V)의 플레시부(200)를 프로그램하기 위한 제1 명령(40H)은 정상 메모리 동작시 사용된 어드레스 및 데이터 정보를 포함하는 명령에 이어지는 셋업 명령이다. 제2 명령은 메모리 데이터 I/O 터미널 및 어드레스 터미널에 인가된 어드레스와 데이터가 “부정(den't care)”이 되는 경우에도 발생되어야 한다. 시간 T5와 T6에서의 소거 동작의 설명에 더해, 제17도의 타이밍도는 동일한 주기에서의 프로그램 동작을 설명하는데 이용될 수 있다. 시간 T5에서 메모리 시스템이 고전압 트림 기능 테스트 모드에 있는 경우에는 제1 프호그램 명령(40H)은 데이터 I/O 터미널을 이용하며 전송된다. 동일한 시간에 칩 이네이블 신호 /CE가 활성화된다. 이는 활정 신호 /CE에 수반되는 제2 프로그램 명령에 의해 이어진다. 제2 명령의 한 부분으로서 그 상태가 “부정(don't care)”이라고 하더라도 데이터 I/O 터미널이 어느 상태가 되도록 할 필요가 있다. 제2 명령은 정상 동작 모드에서, 데이터 I/O 터미널에 나타나는 데이터가 어드레스 터미널의 어드레스에서 프로그램되도록 하는 워드선 이네이블 신호 WLEN을 상태 머신(19)(제1도)이 발생시키도록 한다. 그러나 이러한 테스트 모드에서 신호 WLEN은 대신에 모든 데이터 저장 래치부(202)의 내용이 관련 플래시부(200)에 프로그램될수 있도록 한다.
제16도에서 볼 수 있는 바와 같이 신호 WLEN은 AND 게이트(294)의 한 입력에 인가된다. 제2 입력은 메모리 시스템이 고전압 트림 테스트 모드에 있음을 나타내는 트림 Hv신호를 수신한다. 게이트(294)의 고출력은 게이트(292)가 로우 상태가 되도록함으로써 리콜 신호에 관련하여 앞서 논의된 바와 같이 높은 (+12V) 신호 VWL의 생성으로 나타난다. 높은 VWL신호는 모누 9개의 데이터 저장유닛(14N-14V)의 WL/CN에 인가된다. 더욱이 소스 라인 입력 SL은 모두 접지되며 공급입력 Fsup는 모두 하이 레벨에 있게된다. 제13도의 타이밍도에서 볼수 있는 바와 같이 이러한 상태는 연관된 래치부(202)의 데이터를 가지고 플래시부가 프로그램되는 것으로 나타난다.
일단, 테스트 동작이 모두 종결되면 터미널 /WE에 인가된 고전압은 시간 T7에서 제거됨으로써 메모리 시스템은 테스트 신호 TM의 하강에지에 의해 나타난 바와 같이 테스트 모드를 빠져나가게 된다.
예를들어 어드레스 터미널 A4, A8 및 A13을 이용하는 이네이블 기능에 의해 제공되는 능력은 융통성(flexibility)을 증가시킴을 볼 수 있다. 비록 모두 9개의 데이터 저장유닛이 선택되더라도 동시에 단지 3개의 저장유닛에 대한 트림기능을 제어할 수 있다. 따라서 512 사이클과 대비되는 단지 24 사이클에서 모두 9개의 저장유닛(14N-l4V)의 상태를 검사할 수 있다. 더욱이 모두 3개의 세트 보다는 3세트의 저장 유닛중 단 하나에 새로운 제어 파라미터 데이터를 로드하는 것이 가능하다. 예를들어 상기 유닛 14N-l4P에서 단지 한 세트의 유닛만이 수정될 것이라면 유닛 14Q-l4V의 내용은 외란될 필요가 없다. 따라서 유닛 14Q-l4V의 상태를 판정할 필요가 없으므로, 이 유닛들은 새로운 데이터로 셀(14N-l4P)을 로드하기 위해서는 자신의 이전 데이터에 의해 재로드될 것이다.
최적의 수행을 위해 제조 이후에도 조정될 수 있는 제어 파라미터를 갖는 신규의 메모리 시스템이 설명되었다. 비록 시스템에 대한 일실시예가 다소 상세히 설명되었지만, 당업자라면 첨부된 청구범위에 정의되는 바와 같은 본 발명의 취지와 범위를 벗어나지 않는 어떠한 변경이 행해질 수 있음을 이해할 것이다.

Claims (19)

  1. 메모리 시스템에 있어서, 복수의 행 및 복수의 열로 배열된 메모리셀 어레이 -각각의 메모리 셀이 상기 행들중 하나의 행에 위치하고 각각의 메모리 셀이 상기 열들중 하나의 열에 위치함- ; 상기 메모리셀을 프로그램하고 판독하는 동작을 포함한 메모리 동작을 제어하기 위한 메모리 제어 회로 -상기 메모리 동작은 제어 파라미터의 개개의 비트 또는 비트의 서브그룹에 응답하여 제어됨- ; 비휘발성 메모리 영역(non-volatile memory area)에 상기 제어 파라미터를 저장하는 데이터 저장 구조 -상기 데이터 저장 구조의 제어 파라미터는 제어 파라미터의 그룹 단위로 액세스됨- ; 및 제어 파라미터의 각 그룹의 개개의 비트 또는 비트의 서브그룹을 제어 파라미터의 동일한 그룹의 다른 비트 또는 서브그룹에 영향을 끼치지 않고 액세스하는 대체 모드 회로를 포함하는 것을 특징으로 하는 메모리 시스템.
  2. 제1항에 있어서, 데이터가 상기 메모리셀 어레이에 프로그램될 수 있고 상기메모리셀 어레이로부터 판독될 수 있는 정상 동작 모드(normal operating mode)와 상기 데이터 저장 구조의 제어 파라미터가 수정될 수 있는 대체 동작 모드(alternative operating mode) 사이에서 상기 메모리 시스템을 스위치하기 위한 모드 수단을 포함하는 것을 특징으로 하는 메모리 시스템.
  3. 제2항에 있어서, 상기 메모리 제어 회로는 주요 기능부의 각각이 상기 제어 파라미터의 연관된 서브그룹에 의해 제어가능한 주요 기능(major functions)을 실행할 수 있으며, 상기 데이터 저장 구조는, 상기 메모리 시스템이 대체 동작 모드에 있는 경우, 상기 제어 파라미터의 서브그룹중 선택된 하나가 상기 메모리 시스템에 제공된 기능 선택 데이터(function select data)에 기초하여 수정되도록 허용하는 것을 특징으로 하는 메모리 시스템.
  4. 제3항에 있어서, 상기 모드 수단은 상기 기능 선택 데이터의 수신에 응답하여 상기 메모리 시스템을 상기 대체 동작 모드로 스위치하도록 기능하는 것을 특징으로 하는 메모리 시스템.
  5. 제3항에 있어서, 상기 메모리 시스템과 상기 메모리 시스템의 외부 환경간에 인터페이스를 제공하는 메모리 터미널(memory terminals)을 포함하되, 상기 터미널은 상기 메모리가 정상 동작 모드에 있는 경우에는 정상 기능(normal function)을 하며, 상기 메모리가 상기 대체 동작 모드에 있는 경우에는 대체 기능(alternative function)을 갖는 것을 특징으로 하는 메모리 시스템.
  6. 제5항에 있어서, 상기 데이터 저장 구조는 각각의 제어 파라미터를 저장하기 위한 개별적인 데이터 저장유닛을 포함하되, 상기 각각의 데이터 저장유닛은 상기 제어 파라미터 데이터의 비트를 수신하기 위한 입력을 가지며, 상기 메모리 터미널은 상기 메모리 시스템이 상기 대체 동작 모드에 있는 경우 상기 데이터 저장 유닛중 선택된 유닛의 입력에 연결되는 것을 특징으로 하는 메모리 시스템.
  7. 제6항에 있어서, 상기 데이터 저장유닛의 입력에 연결된 상기 메모리 터미널은 상기 메모리 시스템이 상기 정상 동작 모드에 있는 경우 어드레스 터미널(address terminals)로서의 기능을 하는 것을 특징으로 하는 메모리 시스템.
  8. 제6항에 있어서, 상기 주요 기능부의 각각은 마이너 기능부의 그룹(groups of minor functions)을 포함하되, 상기 마이너 기능부의 각 그룹은 상기 제어 파라미터의 연관된 서브그룹에 의해 제어가능한 것을 특징으로 하는 메모리 시스템.
  9. 제8항에 있어서, 상기 제어 파라미터의 그룹중 선택된 하나를 포함하는 상기 데이터 저장유닛의 상기 데이터 입력은 상기 메모리 시스템의 각각의 터미널에 연결되며, 상기 데이터 저장구조는 상기 연결된 데이터 저장유닛에 저장된 데이터를 상기 연결된 데이터 저장 유닛의 데이터 입력에 나타나는 데이터와 비교하고 이 비교에 근거하여 비교 출력을 상기 터미널중의 다른 터미널에 공급하는 비교수단을 포함하고, 상기 데이터 저장 구조는 상기 비교수단을 상기 제어 파라미터의 서브그룹중 선택된 하나를 포함하는 데이터 저장유닛 입력만을 비교하는 것으로 제한하기 위한 제1 이네이블 수단을 포함하는 것을 특징으로 하는 메모리 시스템.
  10. 제9항에 있어서, 상기 제1 이네이블 수단은 상기 터미널중의 또다른 터미널에 인가된 이네이블 신호에 응답하는 것을 특징으로 한는 메모리 시스템.
  11. 제10항에 있어서, 상기 제어수단은 상기 메모리셀 어레이에 전압 펄스를 인가함으로써 메모리 동작의 일부를 수행하되, 상기 메모리셀 어레이로의 전압 펄스는 크기와 지속길이를 가지며, 상기 제어 파라미터의 서브그룹들 중의 하나는 상기 전압 펄스의 크기를 조정하기 위한 크기 제어 파라미터를 포함하며, 상기 서브그룹들 중의 다른 서브그룹은 상기 전압 펄스의 지속길이를 제어하기 위한 지속길이 제어 파라미터를 포함하는 것을 특징으로 하는 메모리 시스템.
  12. 제10항에 있어서, 상기 데이터 저장유닛 각각은 휘발성 기억소자와 비휘발성 기억소자를 포함하되, 상기 비휘발성 기억소자는 상기 제어 파라미터중의 하나를 저장하며, 상기 비교수단은 상기 휘발성 기억소자에 저장된 데이터를 상기 데이터 입력에 제시된 데이터와 비교하는 것을 특징으로 하는 메모리 시스템.
  13. 제12항에 있어서, 상기 제어 파라미터는 먼저 데이터를 상기 휘발성 기억소자에 로드한 다음 로드된 데이터를 상기 비휘발성 기억소자에 전송함으로써 상기 데이터 저장유닛에 저장되는 것을 특징으로 하는 메모리 시스템.
  14. 제13항에 있어서, 상기 데이터 저장구조는 상기 제어 파라미터의 상기 마이너 그룹중의 선택된 그룹을 포함하는 저장유닛으로의 상기 데이터 로딩을 제한하기 위한 제2 이네이블 수단을 포함하는 것을 틀징으로 하는 메모리 시스템.
  15. 제14항에 있어서, 상기 제2 이네이블 수단은 상기 터미널중 하나에 인가된 제2 이네이블 신호에 응답하는 것을 특징으로 하는 메모리 시스템.
  16. 행중의 하나에 위치한 각각의 셀이 공통 워드선에 연결되고 열중의 하나에 위치한 각각의 젤이 공통 비트선에 연결되어 있는, 복수의 행과 복수의 열로 배열된 메모리셀 어레이를 포함하는 메모리 시스템의 동작을 제어하기 위한 방법에 있어서, 상기 어레이와는 분리된 비휘발성 데이터 저장유닛에 복수의 제어 파라미터를 그룹으로서 입력하는 단계; 상기 제어 파라미터를 이용하여 상기 어레이에 데이터를 프로그램하는 단계; 상기 제어 파라미터를 이용하여 상기 어레이로부터 데이터를 판독하는 단계; 및 상기 제어 파라미터의 그룹의 다른 서브그룹에는 영향을 끼치지 않고 상기 제어 파라미터 그룹 중에 일부 서브그룹을 수정함으로써 상기 제어 파라미터를 수정하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템 동작의 제어방법.
  17. 제16항에 있어서, 상기 비휘발성 데이터 저장유닛 각각은 휘발성 데이터 기억소자와 비휘발성 기억소자를 포함하며, 상기 제저 파라미터를 수정하는 단계는 제어 파라미터 데이터를 상기 휘발성 데이터 기억소자에 로드하고, 이 로드된 데이터를 상기 휘발성 데이터 기억소자로부터 상기 비휘발성 기억소자에 전송하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템 동작의 제어방법.
  18. 제16항에 있어서, 상기 복수의 제어 파라미터 데이터를 입력하는 단계는 데이터 저장유닛의 제1 그룹의 입력을 메모리 시스템 터미널에 연결하고, 이어서 상기 데이터 저장유닛의 제1 그룹의 일부에 데이터를 로드하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템 동작의 제어방법.
  19. 제16항에 있어서, 상기 비휘발성 데이터 저장유닛 각각은 휘발성 데이터 기억소자와 비휘발성 기억소자를 포함하고, 상기 제어 파라미터를 수정하는 단계는 데이터 저장유닛의 제1 그룹의 입력을 메모리 시스템 터미널에 연결하고, 제어 파라미터 데이터를 상기 비휘발성 기억소자로부터 상기 휘발성 메모리 소자에 전송하고, 이어서 상기 터미널에 연결된 상기 데이터 저장유닛의 일부에 제어 파라미터 데이터를 로드한 다음, 상기 제어 파라미터 데이터를 상기 휘발성 기억소자로 부터 상기 데이터 저장유닛의 제1 그룹 모두의 비휘발성 기억소자에 전송하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템 동작의 제어방법.
KR1019980700640A 1995-07-28 1996-07-09 메모리제어파라미터용비휘발성데이터기억구조를갖는메모리시스템과시스템동작의제어방법 KR100301913B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US8/508923 1995-07-28
US08/508923 1995-07-28
US08/508,923 US5627784A (en) 1995-07-28 1995-07-28 Memory system having non-volatile data storage structure for memory control parameters and method
PCT/US1996/011388 WO1997005621A1 (en) 1995-07-28 1996-07-09 Memory system having non-volatile data storage structure for memory control parameters and method

Publications (2)

Publication Number Publication Date
KR19990035979A KR19990035979A (ko) 1999-05-25
KR100301913B1 true KR100301913B1 (ko) 2001-11-14

Family

ID=24024616

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980700640A KR100301913B1 (ko) 1995-07-28 1996-07-09 메모리제어파라미터용비휘발성데이터기억구조를갖는메모리시스템과시스템동작의제어방법

Country Status (7)

Country Link
US (2) US5627784A (ko)
EP (1) EP0842515B1 (ko)
KR (1) KR100301913B1 (ko)
AT (1) ATE229220T1 (ko)
AU (1) AU6675196A (ko)
DE (1) DE69625207T2 (ko)
WO (1) WO1997005621A1 (ko)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627784A (en) * 1995-07-28 1997-05-06 Micron Quantum Devices, Inc. Memory system having non-volatile data storage structure for memory control parameters and method
US5619453A (en) * 1995-07-28 1997-04-08 Micron Quantum Devices, Inc. Memory system having programmable flow control register
US5801985A (en) 1995-07-28 1998-09-01 Micron Technology, Inc. Memory system having programmable control parameters
US5687114A (en) 1995-10-06 1997-11-11 Agate Semiconductor, Inc. Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell
US5636166A (en) * 1995-12-05 1997-06-03 Micron Quantum Devices, Inc. Apparatus for externally timing high voltage cycles of non-volatile memory system
DE69609530T2 (de) * 1995-12-29 2001-03-29 Advanced Micro Devices Inc Rücksetzschaltung für eine batterie-getriebene integrierte schaltung und verfahren zum rücksetzen dieser integrierten schaltung
US5793775A (en) * 1996-01-26 1998-08-11 Micron Quantum Devices, Inc. Low voltage test mode operation enable scheme with hardware safeguard
US5687117A (en) 1996-02-23 1997-11-11 Micron Quantum Devices, Inc. Segmented non-volatile memory array with multiple sources having improved source line decode circuitry
US6052321A (en) * 1997-04-16 2000-04-18 Micron Technology, Inc. Circuit and method for performing test on memory array cells using external sense amplifier reference current
US6073204A (en) 1997-04-23 2000-06-06 Micron Technology, Inc. Memory system having flexible architecture and method
JP3093649B2 (ja) * 1996-09-05 2000-10-03 九州日本電気株式会社 不揮発性半導体メモリ装置
US5771346A (en) 1996-10-24 1998-06-23 Micron Quantum Devices, Inc. Apparatus and method for detecting over-programming condition in multistate memory device
US5768287A (en) 1996-10-24 1998-06-16 Micron Quantum Devices, Inc. Apparatus and method for programming multistate memory device
US5764568A (en) * 1996-10-24 1998-06-09 Micron Quantum Devices, Inc. Method for performing analog over-program and under-program detection for a multistate memory cell
US6279069B1 (en) * 1996-12-26 2001-08-21 Intel Corporation Interface for flash EEPROM memory arrays
US6487116B2 (en) 1997-03-06 2002-11-26 Silicon Storage Technology, Inc. Precision programming of nonvolatile memory cells
US5870335A (en) 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
US6097632A (en) 1997-04-18 2000-08-01 Micron Technology, Inc. Source regulation circuit for an erase operation of flash memory
US6529417B2 (en) 1997-04-18 2003-03-04 Micron Technology, Inc. Source regulation circuit for flash memory erasure
US6175891B1 (en) * 1997-04-23 2001-01-16 Micron Technology, Inc. System and method for assigning addresses to memory devices
US6134140A (en) * 1997-05-14 2000-10-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device with soft-programming to adjust erased state of memory cells
US5877984A (en) * 1997-09-05 1999-03-02 Information Storage Devices, Inc. Method and apparatus for adjustment and control of an iterative method of recording analog signals with on chip selection of a voltage ramp amplitude
EP0905704B1 (en) * 1997-09-24 2010-03-31 STMicroelectronics S.r.l. Sectored semiconductor memory device with configurable memory sector addresses
US6141247A (en) * 1997-10-24 2000-10-31 Micron Technology, Inc. Non-volatile data storage unit and method of controlling same
US6148435A (en) * 1997-12-24 2000-11-14 Cypress Semiconductor Corporation Optimized programming/erase parameters for programmable devices
US6289300B1 (en) 1998-02-06 2001-09-11 Analog Devices, Inc. Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit
EP0935195A2 (en) 1998-02-06 1999-08-11 Analog Devices, Inc. "An integrated circuit with a high resolution analog-to-digital converter, a microcontroller and high density memory and an emulator for an integrated circuit
US6385689B1 (en) 1998-02-06 2002-05-07 Analog Devices, Inc. Memory and a data processor including a memory
US6701395B1 (en) 1998-02-06 2004-03-02 Analog Devices, Inc. Analog-to-digital converter that preseeds memory with channel identifier data and makes conversions at fixed rate with direct memory access
US6587903B2 (en) 1998-02-27 2003-07-01 Micron Technology, Inc. Soft programming for recovery of overerasure
US6240023B1 (en) 1998-02-27 2001-05-29 Micron Technology, Inc. Method for efficiently executing soft programming of a memory block
US5930168A (en) * 1998-03-20 1999-07-27 Micron Technology, Inc. Flash memory with adjustable write operation timing
DE19819265C1 (de) * 1998-04-30 1999-08-19 Micronas Intermetall Gmbh Verfahren zum Parametrieren einer integrierten Schaltungsanordnung und integrierte Schaltungsanordnung hierfür
US6240519B1 (en) 1998-04-30 2001-05-29 Compaq Computer Corporation Computer method and apparatus to prompt for administrative password to flash a corrupted non-volatile memory
US6260104B1 (en) 1998-06-30 2001-07-10 Micron Technology, Inc. Multiplexing of trim outputs on a trim bus to reduce die size
US6438043B2 (en) 1998-09-02 2002-08-20 Micron Technology, Inc. Adjustable I/O timing from externally applied voltage
US6421757B1 (en) * 1998-09-30 2002-07-16 Conexant Systems, Inc Method and apparatus for controlling the programming and erasing of flash memory
US6282126B1 (en) 1998-12-16 2001-08-28 Micron Technology, Inc. Flash memory with overerase protection
US6469955B1 (en) * 2000-11-21 2002-10-22 Integrated Memory Technologies, Inc. Integrated circuit memory device having interleaved read and program capabilities and methods of operating same
US6567302B2 (en) 1998-12-29 2003-05-20 Micron Technology, Inc. Method and apparatus for programming multi-state cells in a memory device
US6115291A (en) * 1998-12-29 2000-09-05 Micron Technology, Inc. Healing cells in a memory device
US6021066A (en) * 1999-01-04 2000-02-01 International Business Machines Corporation NVRAM array architecture utilizing common bitline and wordline
US6282145B1 (en) * 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
US6151238A (en) * 1999-02-23 2000-11-21 Microchip Technology, Inc. Calibrating functions of an integrated circuit and storing calibration parameters thereof in a programmable fuse array
JP4023953B2 (ja) * 1999-06-22 2007-12-19 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6448845B2 (en) * 1999-09-30 2002-09-10 Koninklijke Philips Electronics N.V. Trimmable reference generator
US6327183B1 (en) * 2000-01-10 2001-12-04 Advanced Micro Devices, Inc. Nonlinear stepped programming voltage
US6269025B1 (en) * 2000-02-09 2001-07-31 Advanced Micro Devices, Inc. Memory system having a program and erase voltage modifier
US6363008B1 (en) * 2000-02-17 2002-03-26 Multi Level Memory Technology Multi-bit-cell non-volatile memory with maximized data capacity
US6246610B1 (en) 2000-02-22 2001-06-12 Advanced Micro Devices, Inc. Symmetrical program and erase scheme to improve erase time degradation in NAND devices
US6304487B1 (en) 2000-02-28 2001-10-16 Advanced Micro Devices, Inc. Register driven means to control programming voltages
US6295228B1 (en) 2000-02-28 2001-09-25 Advanced Micro Devices, Inc. System for programming memory cells
US6246611B1 (en) 2000-02-28 2001-06-12 Advanced Micro Devices, Inc. System for erasing a memory cell
US6654847B1 (en) * 2000-06-30 2003-11-25 Micron Technology, Inc. Top/bottom symmetrical protection scheme for flash
US6396744B1 (en) 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
US7079422B1 (en) 2000-04-25 2006-07-18 Samsung Electronics Co., Ltd. Periodic refresh operations for non-volatile multiple-bit-per-cell memory
US6856568B1 (en) 2000-04-25 2005-02-15 Multi Level Memory Technology Refresh operations that change address mappings in a non-volatile memory
US6396742B1 (en) 2000-07-28 2002-05-28 Silicon Storage Technology, Inc. Testing of multilevel semiconductor memory
JP2002056696A (ja) * 2000-08-10 2002-02-22 Mitsubishi Electric Corp 半導体記憶装置
US6466476B1 (en) 2001-01-18 2002-10-15 Multi Level Memory Technology Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell
JP2002230985A (ja) * 2001-02-06 2002-08-16 Sharp Corp 不揮発性半導体記憶装置及びその制御方法
WO2002069347A2 (en) * 2001-02-27 2002-09-06 Micron Technology, Inc. Flash cell fuse circuit
ITRM20010105A1 (it) 2001-02-27 2002-08-27 Micron Technology Inc Circuito a fusibile per una cella di memoria flash.
US6549467B2 (en) * 2001-03-09 2003-04-15 Micron Technology, Inc. Non-volatile memory device with erase address register
US6452836B1 (en) 2001-03-09 2002-09-17 Micron Technology, Inc. Non-volatile memory device with erase cycle register
US6490202B2 (en) 2001-04-06 2002-12-03 Micron Technology, Inc. Non-volatile memory device with erase register
US6614689B2 (en) 2001-08-13 2003-09-02 Micron Technology, Inc. Non-volatile memory having a control mini-array
ITRM20010556A1 (it) * 2001-09-12 2003-03-12 Micron Technology Inc Decodificatore per decodificare i comandi di commutazione a modo di test di circuiti integrati.
EP1324201A1 (en) * 2001-12-27 2003-07-02 STMicroelectronics S.r.l. System for debugging a microcontroller using a serial bus
US6700818B2 (en) * 2002-01-31 2004-03-02 Saifun Semiconductors Ltd. Method for operating a memory device
US6707749B2 (en) * 2002-08-14 2004-03-16 Intel Corporation Enabling an interim density for top boot flash memories
JP4305871B2 (ja) * 2003-09-08 2009-07-29 富士通株式会社 レジスタファイル及びその記憶素子
WO2005036747A2 (en) * 2003-10-10 2005-04-21 Atmel Corporation Selectable delay pulse generator
US20050226050A1 (en) * 2004-03-24 2005-10-13 Crosby Robert M Apparatus and method for programming flash memory units using customized parameters
DE102004015928A1 (de) * 2004-03-31 2005-10-27 Infineon Technologies Ag Schreib-/Lösch-Verfahren für resistiv schaltende Speicherbauelemente
WO2005112035A2 (en) * 2004-05-07 2005-11-24 Halo Lsi, Inc. Nonvolatile memory array organization and usage
US7447847B2 (en) * 2004-07-19 2008-11-04 Micron Technology, Inc. Memory device trims
FR2874449B1 (fr) * 2004-08-17 2008-04-04 Atmel Corp Circuit de retard de programme auto-adaptatif pour memoires programmables
US7430137B2 (en) * 2004-09-09 2008-09-30 Actel Corporation Non-volatile memory cells in a field programmable gate array
US20060062198A1 (en) * 2004-09-17 2006-03-23 Shoei-Lai Chen Network wireless telephone system for MSN platform and method for applying the same
ITMI20042538A1 (it) * 2004-12-29 2005-03-29 Atmel Corp Metodo e sistema per la riduzione del soft-writing in una memoria flash a livelli multipli
US7609561B2 (en) * 2006-01-18 2009-10-27 Apple Inc. Disabling faulty flash memory dies
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7747911B1 (en) * 2006-02-27 2010-06-29 Cypress Semiconductor Corporation Self verification of non-volatile memory
US20080288712A1 (en) * 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US7839703B2 (en) 2007-06-15 2010-11-23 Micron Technology, Inc. Subtraction circuits and digital-to-analog converters for semiconductor devices
US8117520B2 (en) 2007-06-15 2012-02-14 Micron Technology, Inc. Error detection for multi-bit memory
US7830729B2 (en) * 2007-06-15 2010-11-09 Micron Technology, Inc. Digital filters with memory
US20090164703A1 (en) * 2007-12-21 2009-06-25 Spansion Llc Flexible flash interface
US9230259B1 (en) 2009-03-20 2016-01-05 Jpmorgan Chase Bank, N.A. Systems and methods for mobile ordering and payment
US8874825B2 (en) * 2009-06-30 2014-10-28 Sandisk Technologies Inc. Storage device and method using parameters based on physical memory block location
JP5741427B2 (ja) * 2011-12-28 2015-07-01 富士通セミコンダクター株式会社 半導体記憶装置の試験方法及び半導体記憶装置
US9058126B2 (en) 2012-09-10 2015-06-16 Texas Instruments Incorporated Nonvolatile logic array with retention flip flops to reduce switching power during wakeup
US8873309B2 (en) * 2012-10-15 2014-10-28 Marvell World Trade Ltd. Apparatus and method for repairing resistive memories and increasing overall read sensitivity of sense amplifiers
US9140747B2 (en) * 2013-07-22 2015-09-22 Qualcomm Incorporated Sense amplifier offset voltage reduction
US8995200B1 (en) * 2013-09-23 2015-03-31 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with dynamically adjusted reference current
US9240249B1 (en) * 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
JP6453718B2 (ja) * 2015-06-12 2019-01-16 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US9601193B1 (en) * 2015-09-14 2017-03-21 Intel Corporation Cross point memory control
US20190129828A1 (en) * 2017-10-31 2019-05-02 International Business Machines Corporation Gathering coverage metrics for static program analysis tools
WO2020240226A1 (en) 2019-05-31 2020-12-03 Micro Technology, Inc. Memory device and method for monitoring the performances of a memory device

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2020437B (en) * 1978-04-14 1982-08-04 Seiko Instr & Electronics Voltage detecting circuit
US4460982A (en) * 1982-05-20 1984-07-17 Intel Corporation Intelligent electrically programmable and electrically erasable ROM
JPS5916470A (ja) * 1982-07-20 1984-01-27 Sony Corp パルス検出回路
JPS59123320A (ja) * 1982-12-29 1984-07-17 Fujitsu Ltd タイマ回路
US4571704A (en) * 1984-02-17 1986-02-18 Hughes Aircraft Company Nonvolatile latch
US4858185A (en) * 1988-01-28 1989-08-15 National Semiconductor Corporation Zero power, electrically alterable, nonvolatile latch
US4812687A (en) * 1988-07-13 1989-03-14 International Business Machines Corporation Dual direction integrating delay circuit
US5031142A (en) * 1989-02-10 1991-07-09 Intel Corporation Reset circuit for redundant memory using CAM cells
US5047664A (en) * 1989-07-21 1991-09-10 Advanced Micro Devices, Inc. Trimming circuit
US5130582A (en) * 1989-09-19 1992-07-14 Tdk Corporation Delay circuit which is free from temperature variation, power supply voltage variation and process variation
JPH03206709A (ja) * 1990-01-08 1991-09-10 Nec Corp パワーオン・リセット回路
US5144159A (en) * 1990-11-26 1992-09-01 Delco Electronics Corporation Power-on-reset (POR) circuit having power supply rise time independence
FR2672709B1 (fr) * 1991-02-11 1994-09-30 Intel Corp Machine d'etat d'ordre.
US5249158A (en) * 1991-02-11 1993-09-28 Intel Corporation Flash memory blocking architecture
JP3042012B2 (ja) * 1991-04-19 2000-05-15 日本電気株式会社 パワーオンリセット装置
US5262990A (en) * 1991-07-12 1993-11-16 Intel Corporation Memory device having selectable number of output pins
JP2829156B2 (ja) * 1991-07-25 1998-11-25 株式会社東芝 不揮発性半導体記憶装置の冗長回路
JP2761687B2 (ja) * 1991-12-19 1998-06-04 三菱電機株式会社 電圧レベル検出回路
JP2773546B2 (ja) * 1992-05-07 1998-07-09 日本電気株式会社 パルス発生回路
FR2707058B1 (ko) * 1993-06-23 1995-09-15 Sgs Thomson Microelectronics
US5509134A (en) * 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
US5377199A (en) * 1993-06-30 1994-12-27 Intel Corporation Boundary test scheme for an intelligent device
US5353256A (en) * 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
SG47058A1 (en) * 1993-09-10 1998-03-20 Intel Corp Circuitry and method for selecting a drain programming voltage for a nonvolatile memory
US5526364A (en) * 1995-02-10 1996-06-11 Micron Quantum Devices, Inc. Apparatus for entering and executing test mode operations for memory
US5627784A (en) * 1995-07-28 1997-05-06 Micron Quantum Devices, Inc. Memory system having non-volatile data storage structure for memory control parameters and method
US5619453A (en) * 1995-07-28 1997-04-08 Micron Quantum Devices, Inc. Memory system having programmable flow control register
US5615159A (en) * 1995-11-28 1997-03-25 Micron Quantum Devices, Inc. Memory system with non-volatile data storage unit and method of initializing same
US5661690A (en) * 1996-02-27 1997-08-26 Micron Quantum Devices, Inc. Circuit and method for performing tests on memory array cells using external sense amplifier reference current
US5675840A (en) * 1996-04-17 1997-10-14 Clavelle; Stella L. Skin heat shield system

Also Published As

Publication number Publication date
EP0842515A4 (en) 1999-09-01
KR19990035979A (ko) 1999-05-25
US5627784A (en) 1997-05-06
DE69625207D1 (de) 2003-01-16
AU6675196A (en) 1997-02-26
ATE229220T1 (de) 2002-12-15
EP0842515A1 (en) 1998-05-20
DE69625207T2 (de) 2003-08-28
US5880996A (en) 1999-03-09
WO1997005621A1 (en) 1997-02-13
EP0842515B1 (en) 2002-12-04

Similar Documents

Publication Publication Date Title
KR100301913B1 (ko) 메모리제어파라미터용비휘발성데이터기억구조를갖는메모리시스템과시스템동작의제어방법
US5801985A (en) Memory system having programmable control parameters
US5615159A (en) Memory system with non-volatile data storage unit and method of initializing same
EP0315819B1 (en) Method and apparatus for post-packaging testing of one-time programmable memories
US5825700A (en) Low voltage test mode operation enable scheme with hardware safeguard
US5930188A (en) Memory circuit for performing threshold voltage tests on cells of a memory array
JPH10510656A (ja) メモリ制御パラメータ用の不揮発性データ記憶構造を有するメモリ・システム及びその方法
US5903504A (en) Op amp circuit with variable resistance and memory system including same
JP4413406B2 (ja) 不揮発性半導体メモリ及びそのテスト方法
US7251190B2 (en) Non-volatile semiconductor memory device
KR100273179B1 (ko) 비휘발성 메모리 회로의 메모리 셀 검증 수행 방법 및 장치
US5675546A (en) On-chip automatic procedures for memory testing
US5959485A (en) Controllable one-shot circuit and method for controlling operation of memory circuit using same
US4903265A (en) Method and apparatus for post-packaging testing of one-time programmable memories
KR100338553B1 (ko) 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및그것의 프로그램 방법
JPH08106794A (ja) 不揮発性メモリ装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20130603

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140605

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20150602

Year of fee payment: 15

EXPY Expiration of term