KR20100040288A - Programmable chip enable and chip address in semiconductor memory - Google Patents

Programmable chip enable and chip address in semiconductor memory Download PDF

Info

Publication number
KR20100040288A
KR20100040288A KR1020107000810A KR20107000810A KR20100040288A KR 20100040288 A KR20100040288 A KR 20100040288A KR 1020107000810 A KR1020107000810 A KR 1020107000810A KR 20107000810 A KR20107000810 A KR 20107000810A KR 20100040288 A KR20100040288 A KR 20100040288A
Authority
KR
South Korea
Prior art keywords
chip
memory
address
programmable
memory chip
Prior art date
Application number
KR1020107000810A
Other languages
Korean (ko)
Other versions
KR101440568B1 (en
Inventor
록 투
지안 첸
알렉스 막
티엔-치엔 쿠오
팡 롱
Original Assignee
샌디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/763,292 external-priority patent/US7477545B2/en
Priority claimed from US11/763,287 external-priority patent/US7715255B2/en
Application filed by 샌디스크 코포레이션 filed Critical 샌디스크 코포레이션
Publication of KR20100040288A publication Critical patent/KR20100040288A/en
Application granted granted Critical
Publication of KR101440568B1 publication Critical patent/KR101440568B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/886Masking faults in memories by using spares or by reconfiguring with partially good memories combining plural defective memory devices to provide a contiguous address range, e.g. one device supplies working blocks to replace defective blocks in another device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Semiconductor Memories (AREA)

Abstract

Memory die are provided with programmable chip enable circuitry to allow particular memory die to be disabled after packaging and/or programmable chip address circuitry to allow particular memory die to be readdressed after being packaged. In a multi-chip memory package, a memory die that fails package-level testing can be disabled and isolated from the memory package by a programmable circuit that overrides the master chip enable signal received from the controller or host device. To provide a continuous address range, one or more of the non-defective memory die can be re-addressed using another programmable circuit that replaces the unique chip address provided by the pad bonding. Memory chips can also be also be readdressed after packaging independently of detecting a failed memory die.

Description

반도체 메모리의 프로그램가능한 칩 인에이블 및 칩 어드레스{PROGRAMMABLE CHIP ENABLE AND CHIP ADDRESS IN SEMICONDUCTOR MEMORY}Programmable Chip Enable and Chip Address of Semiconductor Memory {PROGRAMMABLE CHIP ENABLE AND CHIP ADDRESS IN SEMICONDUCTOR MEMORY}

본 발명은, 반도체-기반 메모리 디바이스들과 같은 집적회로를 제조하는 기법에 관한 것이다. The present invention relates to techniques for fabricating integrated circuits, such as semiconductor-based memory devices.

DRAM 또는 SRAM 과 같은 휘발성 메모리와 플래시 메모리와 같은 비휘발성 메모리를 포함하는 반도체-기반 메모리 디바이스는 다양한 전자 디바이스에서 점점 더 많이 사용되고 있다. 예를 들어, 비휘발성 반도체 메모리는 휴대폰, 디지털 카메라, PDA(personal digital assistant), 이동형 컴퓨팅 디바이스, 고정형(non-mobile) 컴퓨팅 디바이스 및 다른 디바이스들에서 이용된다. 그 중에서도, 플래시 EEPROM을 포함하는 전기적으로 소거가능한 프로그램가능 판독 전용 메모리(EEPROM)와 전기적으로 프로그램가능한 판독 전용 메모리(EPROM)는 가장 널리 사용되는 반도체 메모리들이다. BACKGROUND OF THE INVENTION Semiconductor-based memory devices, including volatile memory such as DRAM or SRAM and nonvolatile memory such as flash memory, are increasingly used in various electronic devices. For example, nonvolatile semiconductor memory is used in cell phones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices, and other devices. Among them, electrically erasable programmable read only memory (EEPROM) and electrically programmable read only memory (EPROM) including flash EEPROM are the most widely used semiconductor memories.

대부분의 저장 디바이스들과 같이, 반도체 메모리 디바이스는 불량 소자 또는 불량 저장영역을 가질 수도 있다. 예를 들어, 반도체 메모리 어레이의 개별 저장소자들 또는 메모리 셀들은 불량이 있을 수 있다. 또한, 워드라인, 비트라인, 디코더 등등을 포함하는 메모리 어레이를 위한 주변회로가 불량일 수도 있으며, 이는 관련 저장소자들 역시도 불량으로 만들 수 있다. 상업적으로 제조된 임의의 반도체 메모리 디바이스에서 메모리 어레이의 일부가 불량이 될 것이란 점은 부득이한 일이다. Like most storage devices, semiconductor memory devices may have bad elements or bad storage areas. For example, individual reservoirs or memory cells of a semiconductor memory array may be defective. In addition, peripheral circuitry for memory arrays, including word lines, bit lines, decoders, and the like, may be bad, which may also cause the associated reservoirs to be bad as well. It is inevitable that some of the memory arrays will be defective in any commercially manufactured semiconductor memory device.

대부분의 불량 관리 체계는 불량이라고 판별된 기본 메모리 셀을 대체하는 리던던트(redundant) 메모리 셀에 기초하고 있다. 도1에 도시된 바와 같은 통상적인 반도체 메모리 제조 공정에서, 메모리 칩을 패키징하여 메모리 디바이스를 형성하기 이전에, 웨이퍼 레벨 테스트(12)가 수행된다. 하나의 웨이퍼는 수백 내지 수천개의 메모리 칩들을 포함할 수 있으며, 각각의 메모리 칩은 메모리 어레이 및 주변회로 요소들을 포함할 것인바, 주변회로 요소들은 어레이의 메모리 셀들을 액세스하기 위한 제어 로직 및 논리 회로와 같은 것들을 들 수 있다. 웨이퍼 레벨 테스트(12) 동안, 메모리 칩의 기능이 테스트되며, 따라서 불량 소자들은 패키징된 디바이스 내에 불필요하게 통합되지 않는다. 극한의 조건에서 그 기능을 보장하고 그리고 칩에 스트레스를 가한 이후에도 기능을 보장하기 위해서, 웨이퍼 레벨 테스트는 높은 온도 및/또는 낮은 온도(예컨대, 85℃ 및/또는 -30℃)에서 종종 수행된다. 기능성 테스트를 통과하지 못한 메모리 셀들은 칩의 리던던트 메모리 셀들로 대체될 수 있다. 제조되는 메모리의 유형에 따라, 서로 다른 리던던시 체계(redundancy scheme)가 적용될 수 있다. 예를 들어, 개별 메모리 셀들이 대체될 수 있으며, 전체 컬럼들 또는 메모리 셀들의 비트라인들이 대체될 수도 있으며, 또는 메모리 셀들의 전체 블록들이 대체될 수도 있다. Most failure management schemes are based on redundant memory cells that replace the primary memory cells that are determined to be defective. In a typical semiconductor memory manufacturing process as shown in FIG. 1, a wafer level test 12 is performed before packaging a memory chip to form a memory device. One wafer may include hundreds to thousands of memory chips, each memory chip comprising a memory array and peripheral circuit elements, wherein the peripheral circuit elements include control logic and logic circuitry for accessing the memory cells of the array. Such as: During the wafer level test 12, the function of the memory chip is tested, so that bad devices are not unnecessarily integrated into the packaged device. Wafer level testing is often performed at high and / or low temperatures (eg, 85 ° C. and / or −30 ° C.) to ensure its functionality under extreme conditions and to ensure its functionality even after stressing the chip. Memory cells that do not pass the functional test can be replaced with redundant memory cells on the chip. Depending on the type of memory being manufactured, different redundancy schemes may be applied. For example, individual memory cells may be replaced, entire columns or bitlines of memory cells may be replaced, or entire blocks of memory cells may be replaced.

웨이퍼 레벨 테스팅(12) 이후, 웨이퍼는 개별 메모리 칩들로 분리되며 그리고 하나 이상의 메모리 칩들이 패키지화되어(14) 메모리 디바이스를 형성한다. 이후, 패키지된 메모리 디바이스에 대해 번-인(burn-in) 공정(16)이 수행되어 칩의 메모리 어레이와 주변회로에 스트레스가 가해진다. 일반적으로, 번-인 공정은 웨이퍼 레벨 테스트보다 고온(예를 들면, 125℃)에서 수행된다. 스트레스를 가하여 약한 소자를 가려내기 위해서 각각의 칩의 다양한 부분에 고전압이 인가된다. 약한 디바이스들의 고장을 유발하도록 번-인 공정의 스트레스 조건들이 설정되는바, 이러한 약한 디바이스들은 후속 패키지 레벨 테스팅(18) 동안 검출될 수 있다. 몇몇 제조 공정에서는 번-인 공정이 수행되지 않을 수도 있다. After wafer level testing 12, the wafer is separated into individual memory chips and one or more memory chips are packaged 14 to form a memory device. A burn-in process 16 is then performed on the packaged memory device to stress the memory array and peripheral circuitry of the chip. In general, burn-in processes are performed at higher temperatures (eg, 125 ° C.) than wafer level tests. High voltages are applied to various parts of each chip to stress out the weak devices. Stress conditions of the burn-in process are set to cause the failure of the weak devices, such weak devices may be detected during subsequent package level testing 18. In some manufacturing processes a burn-in process may not be carried out.

패키지 레벨 테스팅은, 번-인 공정 이후 어떤 셀들이 결함이 있는지를 판별하기 위한 다양한 기능성 테스트들로 구성된다. 최근 몇년 동안, 안티-퓨즈(anti-fuse) 기법과 같은 기법들이 제조 공정에 통합되어 왔는바, 번-인 공정 이후 결함이 있는 것으로 판명된 메모리 셀들은 메모리 칩의 리던던트 메모리 셀들로 대체될 수 있다. Package level testing consists of various functional tests to determine which cells are defective after the burn-in process. In recent years, techniques such as anti-fuse techniques have been incorporated into the fabrication process, and memory cells that have proven defective after the burn-in process can be replaced with redundant memory cells in the memory chip. .

몇몇 경우에 있어서, 패키지 레벨 테스팅(18)은 전체 메모리 칩이 결함이 있다고 판별할 수도 있다. 예를 들어, 어레이에서 결함있는 메모리 셀들의 개수는, 고장날 수 있는 다이 또는 소정의 주변회로에 대한 리던던시 용량을 초과할 수도 있는바, 이러한 다이에 대해서는 사용불가 판정이 내려진다. 이 같은 상황이 발생할 경우, 결함있는 다이를 포함하고 있는 전체 메모리 패키지는 사용할 수 없게되며 불량처리(20)되는 것이 일반적인바, 이는 제조 공정의 수율 감소를 야기한다. 메모리 패키지가 다수의 메모리 칩들을 포함하고 있는 경우, 하나의 다이의 고장은 전체 패키지가 폐기되게 할 것이다. In some cases, package level testing 18 may determine that the entire memory chip is defective. For example, the number of defective memory cells in an array may exceed the redundancy capacity for a die that may fail or certain peripheral circuitry, and an unusable determination is made for such a die. If this situation occurs, the entire memory package containing the defective die becomes unusable and is generally badly processed 20, which leads to reduced yields in the manufacturing process. If the memory package contains multiple memory chips, failure of one die will cause the entire package to be discarded.

패키징 이후에 특정 메모리 다이를 격리시키고(isolating) 그리고 디스에이블시키기 위해서, 프로그램가능한 칩 인에이블 회로가 메모리 다이에 제공된다. 멀티-칩 메모리 패키지에서, 패키지-레벨 테스트를 통과하지 못한 메모리 다이는 프로그램가능한 회로에 의해서 디스에이블될 수 있으며 그리고 메모리 패키지로부터 격리될 수 있다. 일반적으로, 멀티-칩 패키지에서 각 메모리 다이의 칩 인에이블 핀들은, 마스터 칩 인에이블 신호에 응답하여 모든 칩들이 인에이블되도록, 함께 묶여져 있다. 프로그램가능한 칩 인에이블 회로는 제어기 또는 호스트 디바이스로부터 수신된 마스터 칩 인에이블 신호를 무효화(override)시킬 수 있다. 특정 메모리 다이가 패키징 이후에 재-주소지정되는 것을 허용하기 위해서, 프로그램가능한 칩 어드레스 회로가 제공된다. 예를 들어, 하나 이상의 결함없는 메모리 다이는 패드 본딩에 의해 제공되는 고유 어드레스를 대체하는 프로그램가능한 회로를 이용하여 재-주소지정될 수 있는바, 따라서 연속적인 어드레스 범위가 제공될 수 있다. 또한, 오류있는 메모리 다이를 검출하는 것에 상관없이, 메모리 칩들은 패키징 이후에 재-주소지정될 수 있다. After packaging, a programmable chip enable circuit is provided in the memory die to isolate and disable a particular memory die. In a multi-chip memory package, memory dies that do not pass a package-level test may be disabled by programmable circuitry and isolated from the memory package. In general, the chip enable pins of each memory die in a multi-chip package are tied together so that all chips are enabled in response to the master chip enable signal. The programmable chip enable circuit may override the master chip enable signal received from the controller or host device. In order to allow a particular memory die to be re-addressed after packaging, a programmable chip address circuit is provided. For example, one or more defect free memory die may be re-addressed using programmable circuitry to replace the unique address provided by pad bonding, so that a contiguous range of addresses may be provided. Also, regardless of detecting a faulty memory die, the memory chips can be re-addressed after packaging.

본 발명의 일실시예에서, 비휘발성 메모리를 제조하는 방법이 제공되는바, 상기 방법은, 복수의 비휘발성 메모리 칩들과 제어기를 메모리 패키지에 패키지하는 것을 포함하며, 여기서 메모리 패키지는 비휘발성 메모리 칩들 각각과 제어기에 접속된 공통 칩 인에이블 라인(common chip enable line)을 포함한다. 복수의 비휘발성 메모리 칩들은 공통 칩 인에이블 라인 상에 제공되는 칩 인에이블 신호에 응답하여 인에이블된다. 패키징 이후에, 복수의 비휘발성 메모리 칩들이 결함이 있는지를 판별하기 위한 테스트가 수행된다. 메모리 칩이 결함이 있다면, 그 메모리 칩은 칩 인에이블 신호에 응답하여 인에이블되지 못하게 격리된다. In one embodiment of the present invention, a method of manufacturing a nonvolatile memory is provided, the method comprising packaging a plurality of nonvolatile memory chips and a controller in a memory package, where the memory package is a nonvolatile memory chip. And a common chip enable line connected to each and the controller. The plurality of nonvolatile memory chips are enabled in response to a chip enable signal provided on a common chip enable line. After packaging, a test is performed to determine whether the plurality of nonvolatile memory chips are defective. If the memory chip is defective, it is isolated from being enabled in response to the chip enable signal.

본 발명의 일실시예에 따르면 비휘발성 메모리 시스템이 제공되는바, 상기 비휘발성 메모리 시스템은, 각각의 칩이 복수의 비휘발성 저장소자들과 하나 이상의 칩 인에이블 핀들을 갖는 복수의 비휘발성 메모리 칩들을 포함한다. 각 메모리 칩의 칩 인에이블 핀(들)은 공통 라인에 접속된다. 제어기는 공통 라인과 통신하며 그리고 각 메모리 칩 상의 선택 회로는 제어기에 의해 제공되는 칩 인에이블 신호에 응답한다. 각각의 선택 회로는 칩 인에이블 신호에 응답하여 그것의 대응 메모리 칩을 인에이블시킨다. 각 칩 상의 하나 이상의 프로그램가능한 회로들의 세트는 칩 인에이블 핀 및 칩의 선택 회로와 통신한다. 프로그램가능한 회로들의 세트는 칩 인에이블 신호에 응답하여 인에이블되지 않게 대응 메모리 칩을 격리시키도록, 비휘발성 메모리 시스템을 패키징한 이후에 설정가능하다. According to an embodiment of the present invention, there is provided a nonvolatile memory system, in which each chip has a plurality of nonvolatile memory chips having a plurality of nonvolatile reservoirs and one or more chip enable pins. Include them. The chip enable pin (s) of each memory chip is connected to a common line. The controller is in communication with a common line and the selection circuit on each memory chip is responsive to the chip enable signal provided by the controller. Each select circuit enables its corresponding memory chip in response to a chip enable signal. The set of one or more programmable circuits on each chip is in communication with a chip enable pin and a select circuit of the chip. The set of programmable circuits are configurable after packaging the nonvolatile memory system to isolate the corresponding memory chip not to be enabled in response to the chip enable signal.

또한, 각 메모리 칩은 하나 이상의 디바이스 선택 핀들의 세트와 하나 이상의 프로그램가능한 추가 회로를 더 포함한다. 디바이스 선택 핀들은 하나 이상의 패드들의 세트에 접속되며 그리고 프로그램가능한 추가 회로들은 디바이스 선택 핀들과 선택 회로 사이에 접속된다. 각 메모리 칩에 대한 고유 어드레스는, 패키징의 일부로서 패드들의 세트에 대한 기결정된 구성을 이용하여 정의된다. 각 메모리 칩에 대한 선택 회로는 디바이스 선택 핀들의 세트 상에서 수신된 고유 어드레스와 제어기로부터 수신한 어드레스를 비교할 것인바, 이는 메모리 칩이 선택되었는지 아닌지를 판별하기 위한 것이다. 패드들의 세트로부터 수신된 어드레스를 대신하여 다른 어드레스를 칩의 선택 회로로 제공하도록 프로그램가능한 추가 회로를 구성함으로써, 메모리 칩의 고유 어드레스는 다른 어드레스로 대체될 수 있다. In addition, each memory chip further includes a set of one or more device select pins and one or more programmable additional circuits. Device select pins are connected to the set of one or more pads and additional programmable circuits are connected between the device select pins and the select circuit. A unique address for each memory chip is defined using a predetermined configuration for a set of pads as part of packaging. The selection circuit for each memory chip will compare the unique address received on the set of device selection pins with the address received from the controller to determine whether the memory chip has been selected. By configuring additional circuitry programmable to provide another address to the chip's selection circuit in place of the address received from the set of pads, the unique address of the memory chip can be replaced with another address.

메모리 다이에 프로그램가능한 칩 인에이블 회로가 제공되어, 패키징 이후에 특정 메모리 다이가 디스에이블되는 것이 가능해지며 및/또는 프로그램가능한 칩 어드레스 회로가 제공되어, 패키징 이후에 특정 메모리 다이가 재-주소지정되는 것이 가능해진다. Programmable chip enable circuitry is provided in the memory die to enable specific memory die to be disabled after packaging and / or programmable chip address circuitry to provide that the specific memory die is re-addressed after packaging. It becomes possible.

도1은 종래 기술에 따라 메모리를 제조하는 방법을 도시한 순서도이다.
도2는 예시적인 메모리 패키지의 블록도이다.
도3은 본 발명의 일실시예에 따른 메모리 패키지의 블록도이다.
도4는 본 발명의 일실시예에 따라 반도체 메모리를 제조하는 방법을 도시한 순서도이다.
도5는 패키지된 메모리 다이를 재-주소지정(re-address)하기 위한 예시적인 기법들을 설명하는 테이블이다.
도6은 본 발명의 일실시예에 따른 메모리 다이에 대한 선택회로를 도시한 블록도이다.
도7의 본 발명의 일실시예에 따른 프로그램가능한 칩 인에이블 회로의 일부를 도시한 회로도이다.
도8은 본 발명의 일실시예에 따른 프로그램가능한 칩 어드레스 회로의 일부를 도시한 회로도이다.
도9는 더 작은 각 패키지의 메모리 다이로부터 패키지를 형성하기 위해서 다중 패키지들로부터 메모리 다이를 재-주소지정하기 위한 예시적인 기법을 도시하는 테이블이다.
도10은 비휘발성 메모리 시스템의 블록도이다.
도11은 낸드 스트링의 평면도이다.
도12는 도11의 낸드 스트링의 등가 회로도이다.
도13은 메모리 어레이의 예시적인 구조에 대한 도면이다.
도14는 비휘발성 메모리를 프로그래밍하는 방법에 대한 순서도이다.
도15는 메모리 셀들의 어레이에 대한 예시적인 임계전압 분포와 풀-시퀀스 프로그래밍을 도시한 그래프이다.
도16은 메모리 셀들의 어레이에 대한 예시적인 임계전압 분포와 각각의 메모리 셀이 2 페이지들에 대한 데이터를 저장하는 투-패스(two-pass) 프로그래밍 기법을 도시한 그래프이다.
도17은 비휘발성 메모리를 판독하는 방법에 대한 순서도이다.
도18은 비휘발성 메모리로부터 데이터의 페이지를 판독하는 방법에 대한 순서도이다.
1 is a flow chart illustrating a method of manufacturing a memory in accordance with the prior art.
2 is a block diagram of an exemplary memory package.
3 is a block diagram of a memory package according to an embodiment of the present invention.
4 is a flowchart illustrating a method of manufacturing a semiconductor memory in accordance with an embodiment of the present invention.
FIG. 5 is a table describing example techniques for re-addressing a packaged memory die.
Figure 6 is a block diagram illustrating a selection circuit for a memory die in accordance with one embodiment of the present invention.
7 is a circuit diagram illustrating a portion of a programmable chip enable circuit according to an embodiment of the present invention.
8 is a circuit diagram illustrating a portion of a programmable chip address circuit according to an embodiment of the present invention.
FIG. 9 is a table illustrating an example technique for re-addressing a memory die from multiple packages to form a package from the memory die of each smaller package.
10 is a block diagram of a nonvolatile memory system.
11 is a plan view of a NAND string.
FIG. 12 is an equivalent circuit diagram of the NAND string of FIG.
13 is a diagram of an exemplary structure of a memory array.
14 is a flowchart of a method of programming a nonvolatile memory.
15 is a graph illustrating exemplary threshold voltage distribution and full-sequence programming for an array of memory cells.
FIG. 16 is a graph illustrating an exemplary threshold voltage distribution for an array of memory cells and a two-pass programming technique in which each memory cell stores data for two pages.
17 is a flowchart of a method of reading a nonvolatile memory.
18 is a flowchart of a method of reading a page of data from a nonvolatile memory.

도2에는 다수의 개별 메모리 다이(102)와 제어기(110)를 갖는 비휘발성 메모리 시스템(100)이 도시되어 있다. 각각의 메모리 다이는 집적회로 메모리 칩이거나 또는 기판(또는 인쇄회로기판 104) 상에 마운트된 다이이다. 제어기(110)도 또한 집적회로 칩이거나 또는 그 자신의 인쇄회로기판(124) 상에 마운트된 다이이다. 상기 2개의 인쇄회로기판은 제3의 인쇄회로기판(미도시) 상에 마운트될 수 있다. 다른 구현예에서, 제어기와 메모리 다이는 동일한 보드 상에 마운트될 수도 있다. 2 shows a nonvolatile memory system 100 having a plurality of individual memory dies 102 and a controller 110. Each memory die is an integrated circuit memory chip or a die mounted on a substrate (or printed circuit board 104). Controller 110 is also an integrated circuit chip or die mounted on its own printed circuit board 124. The two printed circuit boards may be mounted on a third printed circuit board (not shown). In other implementations, the controller and the memory die may be mounted on the same board.

각각의 메모리 디바이스는 개별 비휘발성 메모리 셀들로 구성된 비휘발성 메모리 어레이(106)를 포함한다. 메모리 어레이는 가령 NAND 및 NOR 아키텍처와 같은 구조를 이용하여 배열된 플래시 메모리 셀들을 포함할 수 있지만, 이에 한정되는 것은 아니다. 각각의 메모리 다이(102)는 개별 메모리 어레이를 어드레싱하고 제어하기 위한 주변회로들을 포함한다. 제어기(110)는 메모리 시스템 내에 포함되어, 호스트 디바이스와 개별 메모리 다이(102) 사이에서 메모리 동작을 제어한다. 상기 제어기는 시스템의 각 메모리 다이를 독립적으로 어드레싱할 수 있다. 제어기가 메모리 시스템 내에 꼭 포함될 필요는 없다. 예를 들어, 몇몇 구현예에서는 가령, 표준형(standard) 프로세서-기반 컴퓨팅 시스템의 프로세서와 같은 호스트 디바이스가 제어기의 기능을 담당할 수도 있다. 또한, 다수의 메모리 다이(102)가 제어기 없이 하나의 패키지 내에 패키지될 수도 있으며 이후 다른 패키지들 및 제어기와 결합되어 메모리 시스템을 구성할 수도 있다. Each memory device includes a nonvolatile memory array 106 composed of individual nonvolatile memory cells. The memory array may include, but is not limited to, flash memory cells arranged using structures such as, for example, NAND and NOR architectures. Each memory die 102 includes peripheral circuits for addressing and controlling an individual memory array. Controller 110 is included within the memory system to control memory operation between the host device and the individual memory die 102. The controller can independently address each memory die of the system. The controller does not necessarily need to be included in the memory system. For example, in some implementations, a host device, such as a processor of a standard processor-based computing system, may be responsible for the function of the controller. Also, multiple memory dies 102 may be packaged in one package without a controller and then combined with other packages and controllers to form a memory system.

각각의 메모리 다이(102)는 2 세트의 외부 핀아웃(또는 핀)을 포함한다. 각각의 다이에 대해서, 핀아웃들의 제 1 그룹(116)은 디바이스 선택 핀들의 그룹이다. 디바이스 선택 핀은 패키지된 메모리 시스템에 대한 고유 칩 어드레스를 메모리 디바이스에게 제공한다. 각 다이의 다바이스 선택 핀은 그 다이의 본딩 패드들(114)의 세트에 연결된다. 이러한 특정 구성에서, 각각의 메모리 다이(102)는 5개의 디바이스 선택 핀아웃(116)을 가지며, 이들 5개의 디바이스 선택 핀아웃(116)은 대응 패드들(114)에 연결된다. 메모리 다이에 대해 특정 패드를 선택적으로 접지시킴으로써, 메모리 다이는 어드레스를 갖게 구성되거나 또는 키잉된다. 패드들에 대한 기결정된 접지 구성이 개별 메모리 다이에게 제공되어, 패키지 내에서 고유 칩 어드레스를 할당할 수 있다. 기판(104)은 기결정된 패드 구성을 구비한 마운트들을 포함할 수 있다. 기판에 다이가 마운트되는 경우, 대응하는 칩 어드레스가 이들 다이들에게 할당된다. 각각의 메모리 다이는 패드에 적용된 구성으로부터 어드레스를 판별할 것이다. 디바이스 선택 핀들은 패드의 접지 구성을 디바이스 내의 선택 회로에 제공한다. 디바이스가 인에이블되는 때에, 상기 선택 회로는 제어기(110)에 의해 제공되는 어드레스들과 접지 구성을 비교하여, 이것이 선택되고 그리고 요청을 처리해야만 하는지를 판별한다. Each memory die 102 includes two sets of external pinouts (or pins). For each die, the first group of pinouts 116 is a group of device select pins. The device select pin provides the memory device with a unique chip address for the packaged memory system. The device select pin of each die is connected to the set of bonding pads 114 of that die. In this particular configuration, each memory die 102 has five device select pinouts 116, which are connected to corresponding pads 114. By selectively grounding a particular pad to the memory die, the memory die is configured or keyed to have an address. A predetermined ground configuration for the pads may be provided to the individual memory die to assign a unique chip address within the package. Substrate 104 may include mounts having a predetermined pad configuration. When a die is mounted on the substrate, the corresponding chip address is assigned to these dies. Each memory die will determine an address from the configuration applied to the pad. Device select pins provide the pad's ground configuration to select circuitry in the device. When the device is enabled, the selection circuit compares the ground configuration with the addresses provided by the controller 110 to determine if it is selected and must process the request.

도2에서 접지가 논리'0'을 나타낸다고 가정하면, 메모리 다이(1)에는 어드레스 '11'이 할당되며 그리고 도면에서 'x'는 접지된 패드를 나타낸다. 메모리 다이(2)에는 어드레스 '10'이 할당되며, 메모리 다이(3)에는 어드레스 '01'이 할당되며 그리고 메모리 다이(4)에는 어드레스 '00'이 할당된다. 비록, 도2에는 각각의 다이에 대해서 총 5개의 디바이스 선택 핀들과 접지 패드들이 도시되어 있지만, 도2에 도시된 4개의 개별 메모리 다이들을 어드레싱하기 위해서는, 오직 2개의 패드만이 필요할 뿐이다. Assuming that ground in FIG. 2 represents logic '0', memory die 1 is assigned address '11' and in the figure 'x' represents a pad that is grounded. An address '10' is assigned to the memory die 2, an address '01' is assigned to the memory die 3, and an address '00' is assigned to the memory die 4. Although FIG. 2 shows a total of five device select pins and ground pads for each die, only two pads are needed to address the four individual memory dies shown in FIG.

핀아웃들의 제 2 세트(118)는 각각의 메모리 다이를 공통 디바이스 버스(120)에 연결하기 위한 디바이스 버스 핀아웃들이다. 디바이스 버스(120)의 한쪽 끝은 제어기(110)에 연결되며 다른 한쪽 끝은 개별 메모리 다이(102) 각각에 연결된다. 디바이스 버스 핀아웃들(118)의 개수는 구현예에 따라 달라질 것인바, 특히 시스템 내에서 버스의 요구사항들에 따라 달라질 것이다. 각각의 메모리 다이는 공통 버스에 연결되어, 제어기(110)에 의해 발행되는 다양한 제어 명령 및 어드레스 커맨드를 수신하고 그리고 이에 응답한다. 콘트롤 라인(122)은 디바이스 버스(120)와 별개인 것으로 도시되어 있지만, 다양한 실시예에서 콘트롤 라인은 디바이스 버스(120)의 일부로 간주될 수도 있다. 콘트롤 라인(122)은 마스터 칩 인에이블 라인이다. 일반적으로, 각각의 메모리 디바이스는 제어기(110)에 의해 제공되는 마스터 칩 인에이블 신호에 응답하여 인에이블된다. 이러한 칩 인에이블 신호에 응답하여, 각각의 디바이스는 디바이스 내에 있는 입력 레지스터들의 세트를 인에이블 시킨다. 칩 또는 어레이 어드레스는 디바이스 버스 상에서 제어기로부터 전달되며 그리고 인에이블되는 동안 각 디바이스의 레지스터들 내로 쉬프트된다. 각 디바이스 내의 선택 회로(130)는, 패드들(114)의 세트에 대한 기결정된 접지 구성에 의해 제공되는 고유 어드레스와 수신된 어레이 어드레스를 비교하는바, 이는 그 메모리 디바이스가 선택될 것인지를 판별하기 위함이다. 만일 그렇다면, 메모리 다이에 대한 제어 회로는 어레이에 데이터를 기입하거나 또는 어레이로부터 데이터를 판독함으로써, 요청을 처리할 것이다. The second set of pinouts 118 are device bus pinouts for connecting each memory die to the common device bus 120. One end of the device bus 120 is connected to the controller 110 and the other end is connected to each of the individual memory die 102. The number of device bus pinouts 118 will vary from implementation to implementation, in particular depending on the requirements of the bus within the system. Each memory die is connected to a common bus to receive and respond to various control commands and address commands issued by the controller 110. Although the control line 122 is shown as separate from the device bus 120, in various embodiments the control line may be considered part of the device bus 120. The control line 122 is a master chip enable line. In general, each memory device is enabled in response to a master chip enable signal provided by controller 110. In response to this chip enable signal, each device enables a set of input registers within the device. The chip or array address is delivered from the controller on the device bus and shifted into the registers of each device while enabled. The selection circuit 130 in each device compares the received array address with the unique address provided by the predetermined ground configuration for the set of pads 114 to determine whether the memory device will be selected. For sake. If so, the control circuitry for the memory die will process the request by writing data to or reading data from the array.

전술한 바와 같이, 도2에 도시된 바와 같은 패키지를 형성하기 위해서 메모리 다이를 패키징한 후에 검출되는 몇몇 결함들은, 전체 메모리 패키지에 대한 오류(failure)를 야기할 수도 있다. 각 메모리 다이의 디바이스 버스 핀아웃(118)들은 패키지 내에서 내부적으로 함께 묶여진다. 예를 들어, 상기 핀아웃들 각각은, 공통 본딩 패드에 연결될 수도 있다. 일단 다이가 함께 패키지되면, 불량 다이(bad die)와의 접속을 끊기 위해서 내부 배선을 물리적으로 변경하는 것은 불가능하다. 또한, 각 메모리 다이의 패드 본딩(114)은 패키징 시에 고정된다. 패드의 기결정된 구성이 적용되며 그리고 메모리 다이는 패키징 공정의 일부로서 디바이스 선택 핀들을 통해 연결된다. 일단 다이가 패키징되면, 고정된 패드 본딩에 대한 구성은 변경될 수 없다. 따라서, 하나의 다이가 패키지 레벨 테스트를 통과하지 못하면 그 패키지는 오류로 판명되며 그리고 폐기되는 것이 일반적이다. 칩 인에이블 및 디바이스 선택 핀들이 다이의 오류를 검출하기 이전에 고정되기 때문에, 그 다이는 디바이스에 대한 어드레스 범위로부터 디스에이블 또는 매핑 아웃될 수 없다. 오류가 있는 다이가 오직 하나뿐인 경우에도 전체 패키지가 사용불가로 된다. As mentioned above, some defects detected after packaging a memory die to form a package as shown in FIG. 2 may cause a failure for the entire memory package. The device bus pinouts 118 of each memory die are bundled together internally in a package. For example, each of the pinouts may be connected to a common bonding pad. Once the dies are packaged together, it is not possible to physically change the internal wiring to disconnect from the bad die. In addition, the pad bonding 114 of each memory die is fixed at the time of packaging. The predetermined configuration of the pad is applied and the memory die is connected via device select pins as part of the packaging process. Once the die is packaged, the configuration for fixed pad bonding cannot be changed. Thus, if one die does not pass the package level test, the package is typically found to be an error and discarded. Because the chip enable and device select pins are fixed prior to detecting a die error, the die cannot be disabled or mapped out from the address range for the device. Even if there is only one faulty die, the entire package becomes unusable.

이러한 단점들을 극복하기 위해서, 프로그램가능한 칩 인에이블 및 프로그램가능한 칩 어드레스가, 비휘발성 메모리 시스템 내의 개별 메모리 다이에게 제공된다. 다중 칩 구성에서 오류있는 다이는, 그들의 오류가 패키징 이후에 검출되는 경우, 격리될 수 있다. 오류있는 다이가 메모리 시스템에 대한 연속적인 어드레스 범위를 중단시키는 경우, 프로그램가능한 칩 어드레스를 통하여 패키지 내의 다른 다이들이 재-주소지정될 수 있는바, 이는 오류있는 다이에도 불구하고 연속적인 어드레스 범위를 얻기 위함이다.To overcome these disadvantages, a programmable chip enable and a programmable chip address are provided to individual memory dies in the nonvolatile memory system. Faulty dies in a multi-chip configuration can be isolated if their errors are detected after packaging. If a faulty die breaks the contiguous address range for the memory system, other dies in the package can be re-addressed via a programmable chip address, which yields a contiguous address range despite the faulty die. For sake.

도3은 본 발명의 일실시예에 따른 비휘발성 메모리 시스템(200)을 예시한 도면이다. 도3의 시스템(200)은 도2에 도시된 시스템의 구성요소와 동일한 구성요소들을 많이 포함하고 있다. 제어기(210)와 함께 다수의 메모리 디바이스들(202)이 패키지 내에 제공된다. 각각의 메모리 디바이스(202)는 다이에 대한 본딩 패드들(214)의 대응 세트에 연결되는 핀들의 제 1 그룹(216)을 포함한다. 핀(또는 핀아웃)들의 제 2 그룹(218)은, 각각의 메모리 다이를 공통 디바이스 버스(220)에 연결하기 위한 디바이스 버스 핀아웃이다. 먼저와 같이, 각각의 메모리 다이는 칩 인에이블 핀을 통해 콘트롤 라인(22)에 연결되는바, 콘트롤 라인은 디바이스 버스(220)의 일부로 간주될 수도 있다. 3 illustrates a nonvolatile memory system 200 according to an embodiment of the present invention. The system 200 of FIG. 3 includes many of the same components as the components of the system shown in FIG. Along with the controller 210, a number of memory devices 202 are provided in a package. Each memory device 202 includes a first group 216 of pins connected to a corresponding set of bonding pads 214 for a die. The second group of pins (or pinouts) 218 is a device bus pinout for connecting each memory die to the common device bus 220. As before, each memory die is connected to the control line 22 via a chip enable pin, which may be considered part of the device bus 220.

도3에서 각 메모리 다이의 제어회로들은, 접지 패드들의 세트에 의해 제공되는 고유 어드레스를 대체하거나 또는 재프로그램하는 프로그램가능한 제 1 회로(240)를 포함하며, 또한 콘트롤 라인(222) 상에서 제공되는 마스터 칩 인에이블 신호로부터 메모리 다이를 격리시키는(isolating) 프로그램가능한 제 2 회로(242)를 포함한다. 비록, 상기 제 1 및 제 2 회로들(240, 242)은 각 메모리 다이의 선택 회로(230)와 별개인 것으로 도시되었지만, 이들 회로들(240, 242)은 선택 회로의 일부로서 선택 회로에 포함될 수도 있다. 프로그램가능한 상기 회로들 각각은 하나 이상의 퓨즈들을 포함하거나 또는 해당 메모리 다이에 대한 칩 인에이블 신호 및/또는 고유 어레이 어드레스를 재프로그램할 수 있는 프로그램가능한 다른 적절한 회로소자들을 포함할 수 있다. The control circuits of each memory die in FIG. 3 include a first programmable circuit 240 that replaces or reprograms the unique address provided by the set of ground pads, and is also provided on the control line 222. Second programmable circuitry 242 isolating the memory die from the chip enable signal. Although the first and second circuits 240 and 242 are shown as separate from the select circuit 230 of each memory die, these circuits 240 and 242 may be included in the select circuit as part of the select circuit. It may be. Each of the programmable circuits may include one or more fuses or other programmable circuitry capable of reprogramming the chip enable signal and / or the unique array address for that memory die.

특정 메모리 다이에 대한 칩 인에이블 신호 및/또는 고유 어드레스를 재프로그래밍하는데 필요한 데이터를 저장하기 위해서, 다양한 유형들의 프로그램가능한 회로들이 이용될 수 있다. 통상적으로는, 몇몇 유형의 퓨즈 회로들이 제공되어, 다이에 대한 칩 인에이블 신호 및/또는 칩 어드레스를 프로그래밍하는데 이용되는 로직 데이터를 저장할 수 있다. 디바이스 패키징 이후에 퓨즈 회로들이 프로그램되기 때문에, 상기 퓨즈 회로들은 패키지된 상태에서 기입가능해야만 한다. 안티-퓨즈들은, 로직 데이터를 저장하기 위한 유용한 수단을 제공하며 그리고 본 발명의 일실시예에서 이용된다. 표준형 퓨즈의 초기 저저항 상태와는 달리, 안티-퓨즈는 높은 저항에 해당하는 제 1 논리 상태와 낮은 저항에 해당하는 제 2 논리 상태를 갖는다. 몇몇 구현예에서는, 디바이스를 제 2 논리 상태 또는 프로그래밍된 논리 상태에 해당하는 낮은 저항 상태로 만들기 위해서 레이저 어닐링 공정 혹은 전기적인 공정을 이용하여, 안티 퓨즈들이 기입되거나 혹은 끊어진다. 퓨즈에 대한 직접 액세스가 종종 요구되며 그리고 오직 웨이퍼 레벨 테스팅에 통합될 수 있기 때문에, 후-패키징(post-packaging) 프로그래밍에 대해서는 이러한 유형의 안티 퓨즈들이 적절하지 않을 수도 있다. Various types of programmable circuits may be used to store the chip enable signal and / or data needed to reprogram the unique address for a particular memory die. Typically, some type of fuse circuits may be provided to store logic data used to program the chip enable signal and / or chip address for the die. Since fuse circuits are programmed after device packaging, the fuse circuits must be writable in a packaged state. Anti-fuses provide a useful means for storing logic data and are used in one embodiment of the present invention. Unlike the initial low resistance state of a standard fuse, the anti-fuse has a first logic state corresponding to high resistance and a second logic state corresponding to low resistance. In some implementations, antifuses are written or blown using a laser annealing process or an electrical process to bring the device into a low resistance state corresponding to a second logic state or a programmed logic state. Because direct access to fuses is often required and can only be integrated into wafer level testing, this type of antifuse may not be appropriate for post-packaging programming.

몰딩 및 패키징 공정 이후에도 ROM 퓨즈들은 기입될 수 있기 때문에, 이들 ROM 퓨즈들이, 후-패키징 프로그래밍에 특히 더 적합하다. ROM 퓨즈는, 프로그램되지 않은 상태(고-저항 상태) 또는 프로그램된 상태(저-저항 상태)를 포함하는 2개의 논리 상태들 중 하나에 있는 안티-퓨즈 소자를 포함한다. ROM 어레이 또는 레지스터에서 프로그램되지 않은 안티-퓨즈 링크는 기가오옴(gigaohm) 정도의 저항을 가질 수 있으며 그리고 프로그램된 안티-퓨즈 링크는 수백 오옴정도의 저항을 가질 수 있다. 전형적인 안티-퓨즈를 프로그래밍하기 위하여, 고전압이 인가되어 초기 고저항 상태로부터 프로그램된 상태(저저항 상태)로 상기 링크를 이동시킨다. 이러한 것은 1 비트의 논리 데이터를 저장하도록 작용한다. 전기적으로 프로그램가능한 다른 퓨즈들이 이용될 수도 있는바, 이들은 후-패키징 프로그래밍을 경험한다. 예컨대, 전기적으로 프로그램가능한 몇몇 퓨즈들은 통상적으로 프로그래밍가능한 비휘발성 메모리 소자를 이용하여 논리 상태의 데이터를 저장한다. 일반적으로, 전기적으로 프로그램가능한 퓨즈는 디바이스 패키징 전후 모두에서 액세스 및 프로그램될 수 있다. 프로그램가능한 퓨즈를 이용하는 일실시예에서, 메모리 다이에 대해서 메모리 셀들의 메인 어레이의 일부가 이용될 수 있다. Since ROM fuses can be written even after the molding and packaging process, these ROM fuses are particularly suitable for post-packaging programming. The ROM fuse includes an anti-fuse element in one of two logic states, including an unprogrammed state (high-resistance state) or a programmed state (low-resistance state). Anti-fuse links that are not programmed in ROM arrays or registers can have a gigaohm resistance, and programmed anti-fuse links can have hundreds of ohms. To program a typical anti-fuse, a high voltage is applied to move the link from an initial high resistance state to a programmed state (low resistance state). This serves to store one bit of logical data. Other electrically programmable fuses may also be used, which experience post-packaging programming. For example, some electrically programmable fuses typically store data in a logic state using a programmable nonvolatile memory device. In general, electrically programmable fuses can be accessed and programmed both before and after device packaging. In one embodiment using a programmable fuse, a portion of the main array of memory cells may be used for the memory die.

프로그램가능한 칩 인에이블 회로(242)는 퓨즈 또는 초기 상태에 있는 안티-퓨즈를 가질 수 있는바, 안티-퓨즈의 초기 상태는 칩 인에이블 신호가 메모리 다이의 선택 회로로 곧바로 전달되게끔 한다. 이 상태에서 메모리 다이는 통상적으로 작동하는바, 자신의 칩 인에이블 핀 상에서 제어기(또는 호스트 디바이스)로부터의 마스터 칩 인에이블 신호를 수신한다. 칩 인에이블 신호가 그 특정 메모리 다이에 대해서 기본적으로 무효화(override)되게 하기 위해서, 디바이스를 패키징한 이후에 제 2 값이 상기 퓨즈에 세팅될 수 있다. ROM 안티-퓨즈(단순히 ROM 퓨즈라고 지칭되기도 함)는 저-저항 상태로 설정될 수도 있는바, 이는 디바이스 버스 상에서 제공되는 칩 인에이블 신호 대신에, 다른 신호가 제공되게끔 한다. Programmable chip enable circuit 242 may have a fuse or an anti-fuse in its initial state, the initial state of the anti-fuse causing the chip enable signal to be passed directly to the selection circuitry of the memory die. In this state, the memory die typically operates to receive a master chip enable signal from a controller (or host device) on its chip enable pin. A second value may be set in the fuse after packaging the device to cause the chip enable signal to be basically overridden for that particular memory die. ROM anti-fuse (also simply referred to as ROM fuse) may be set to a low-resistance state, which allows other signals to be provided instead of the chip enable signal provided on the device bus.

칩 인에이블 라인 상의 저전압 또는 접지전압에 응답하여 각각의 메모리 다이(202)가 선택 회로에 의해서 인에이블된다고 가정하자. 도3에 도시된 바와 같이, 프로그램가능한 칩 인에이블 회로가 칩 인에이블 핀과 선택 회로 사이에 제공된다. 프로그램가능한 회로가 제 2 값으로 세팅되는 경우, 칩 인에이블 신호 대신에 고전압이 선택 회로의 입력에 인가될 수 있다. 따라서, 상기 칩은, 제어기 또는 호스트에 의해 제공되는 칩 인에이블 신호에 응답하여 인에이블되지 않을 것이다. Assume that each memory die 202 is enabled by a selection circuit in response to a low or ground voltage on the chip enable line. As shown in FIG. 3, a programmable chip enable circuit is provided between the chip enable pin and the select circuit. When the programmable circuit is set to the second value, a high voltage may be applied to the input of the selection circuit instead of the chip enable signal. Thus, the chip will not be enabled in response to the chip enable signal provided by the controller or host.

프로그램가능한 칩 어드레스 회로(240)에 대한 하나 이상의 퓨즈들은, 그것의 대응 메모리 다이를 위해서 대안적인 고유 어드레스를 저장 및 제공할 수 있다. 도3에서, 각각의 고유 칩 어드레스는 4개의 메모리 다이들을 개별적으로 어드레싱하기 위해서 2 비트로 구성된다. 따라서, 대안적인 어드레스를 할당하기 위해서는 2개의 퓨즈들이 이용될 수 있다. 퓨즈에 의해 제공되는 어드레스가 패드 본딩으로부터의 표준 어드레스를 대신하여 이용되어야만 하는지를 나타내는 값을 저장하는데에 제 3의 퓨즈가 이용될 수 있다. 예를 들어, 메모리 다이 칩 어드레스는 재프로그램될 수 있는바, 칩 어드레스를 대체하기 위해서 칩 어드레스 회로가 활성화되게끔 제 3 퓨즈를 재프로그래밍함으로써, 메모리 다이 칩 어드레스가 재프로그램될 수 있다. 프로그래밍된 상태로 제 3 퓨즈가 세팅되는 것에 응답하여, 패드 본딩으로부터 디바이스 선택 핀들 상에 제공된 고유 어드레스를 대신하여 처음 2개의 퓨즈들에 의해 저장된 논리 값들이 선택 회로에 제공될 수 있다. 그 초기 상태에 있는 퓨즈는 예컨대, 논리 '0'에 대응할 수 있으며 그리고 프로그래밍된 상태에 있는 퓨즈는 논리 '1'에 대응할 수 있다. 만일, 제 3 퓨즈가 세팅된다면, 패드 본딩된 어드레스를 대신하여 처음 2개의 퓨즈들로부터의 값들이 선택회로의 입력으로 공급된다. One or more fuses for programmable chip address circuit 240 may store and provide an alternative unique address for its corresponding memory die. In Figure 3, each unique chip address consists of two bits to address four memory dies individually. Thus, two fuses may be used to assign an alternative address. A third fuse can be used to store a value indicating whether the address provided by the fuse should be used in place of the standard address from the pad bonding. For example, the memory die chip address may be reprogrammed, such that the memory die chip address may be reprogrammed by reprogramming the third fuse to activate the chip address circuitry to replace the chip address. In response to the third fuse being set in the programmed state, logic values stored by the first two fuses may be provided to the selection circuit in place of the unique address provided on the device select pins from the pad bonding. The fuse in its initial state may, for example, correspond to logic '0' and the fuse in the programmed state may correspond to logic '1'. If the third fuse is set, values from the first two fuses are supplied to the input of the selection circuit in place of the pad bonded address.

비휘발성 반도체 메모리 디바이스를 제조하는 공정이 도4에 예시되어 있는바, 여기에서는 프로그램가능한 칩 인에이블 및/또는 프로그램가능한 칩 어드레스가 이용된다. 단계 302에서 반도체 웨이퍼들의 그룹에 대해서 웨이퍼 레벨 테스팅이 수행되는바, 통상적으로 각각의 웨이퍼는 메모리 어레이 및 메모리 어레이를 제어하기 위한 주변회로를 포함하는 다수의 분리되지 않은 메모리 어레이 다이를 갖는다. 웨이퍼 레벨 테스팅 이후, 웨이퍼의 각각의 메모리 다이는 분리 및 패키지된다(단계 304). 단일 칩 패키지들, 다중-칩 패키지들, 이들 모두는 콘트롤러 칩과 함께 또는 콘트롤러 칩이 없이 단계 304에서 패키지될 수 있다. 매우 다양한 패키지 구성들이 이용될 수 있다. 일반적으로, 상기 다이는 일측 또는 양측이 식각된 전도성 층을 이용하여 기판 상에 마운트된다. 다이와 전도성 층(들) 사이에는 전기적인 연결이 형성되는바, 전도성 층(들)은 전자 시스템에 다이를 통합하기 위한 전기적 리드 구조(lead structure)를 제공한다. A process for manufacturing a nonvolatile semiconductor memory device is illustrated in FIG. 4 where programmable chip enable and / or programmable chip address is used. Wafer level testing is performed on a group of semiconductor wafers in step 302, where typically each wafer has a plurality of non-separated memory array dies including a memory array and peripheral circuitry for controlling the memory array. After wafer level testing, each memory die of the wafer is separated and packaged (step 304). Single chip packages, multi-chip packages, all of which may be packaged in step 304 with or without a controller chip. A wide variety of package configurations can be used. Generally, the die is mounted on a substrate using a conductive layer etched on one or both sides. An electrical connection is made between the die and the conductive layer (s), which provide an electrical lead structure for integrating the die into the electronic system.

다이와 전도성 층(들) 사이에 전기적인 연결을 형성하는 공정의 일부로서, 각 메모리 어레이의 칩 인에이블 핀들은, 제어기 또는 호스트 디바이스로부터 칩 인에이블 신호를 수신하기 위해서, 마스터 칩 인에이블 라인 또는 공통 버스에 연결된다(단계 306). 단계 308에서, 각 칩의 디바이스 선택 핀들을 위해, 기결정된 구성이 본드 패드들의 세트에 적용되는바, 따라서 각각의 칩들에게는 자신만의 고유 칩 어드레스가 할당된다. 선택된 핀들은, 도3의 일례에 도시된 바와 같은 어드레스를 정의하는 접지 패드로 구성될 수도 있다. 몇몇 다이들의 경우, 그 다이 상에 본드 패드들이 제공될 수 있는데, 본드 패드들은 예컨대, 리드프레임의 전기적 리드에 연결되어, 고유 칩 어드레스를 정의할 수 있다. 일단, 다이와 기판 사이에 전기적인 연결이 형성되면, 그 조립체는 보호성 패키지를 제공하기 위해서 몰딩 화합물로 둘러싸이는 것이 일반적이다. As part of the process of forming an electrical connection between the die and the conductive layer (s), the chip enable pins of each memory array may have a master chip enable line or common to receive a chip enable signal from a controller or host device. Is connected to the bus (step 306). In step 308, for the device select pins of each chip, a predetermined configuration is applied to the set of bond pads, so that each chip is assigned its own unique chip address. The selected pins may be configured as ground pads defining an address as shown in the example of FIG. For some dies, bond pads may be provided on the die, which may be connected to, for example, an electrical lead of a leadframe, to define a unique chip address. Once an electrical connection is established between the die and the substrate, the assembly is typically surrounded by a molding compound to provide a protective package.

메모리 어레이(들), 주변회로, 제어기, 등등을 포함하여 패키지에 스트레스를 가하기 위하여, 도1과 관련하여 전술된 바와 같은 선택적인 번-인 공정이 단계 310에서 수행될 수 있다. 번-인 이후, 패키지에 대해서 테스팅이 수행된다(단계 312). 예를 들면, 결함, 단락(short) 등등을 검출하기 위한 비트라인 테스트 및 워드라인 테스트, 판독, 기입 및 데이터 보유능력에 대한 메모리 셀 테스트, 주변회로 테스트 등등을 포함하는 다양한 유형의 패키지 레벨 테스트가 적용될 수 있다. 몇몇 실시예에서는, 패키징 이후에, 개별 메모리 다이의 결함있는 메모리 셀들을 개별적으로 또는 블록 단위 또는 컬럼 단위 등등으로 대체하기 위하여, 리던던트 메모리 셀들이 단계 312에서 이용될 수 있다. An optional burn-in process as described above with respect to FIG. 1 may be performed in step 310 to stress the package, including the memory array (s), peripherals, controllers, and the like. After burn-in, testing is performed on the package (step 312). For example, there are various types of package level tests, including bit line tests and word line tests to detect defects, shorts, etc., memory cell tests for read, write, and data retention, peripheral circuit tests, and the like. Can be applied. In some embodiments, after packaging, redundant memory cells may be used in step 312 to replace defective memory cells of individual memory die individually or in block units, column units, or the like.

결함이 있는 것으로 판별된 다이가 하나도 없다면, 공정은 완료되며 그리고 완전한 용량(full capacity)을 갖는 패키지된 디바이스들이 단계 316에서 인도된다. 만일, 하나 이상의 메모리 다이가 결함이 있다면, 이들 결함있는 다이들은 패키지 내에서 다른 다이들로부터 격리될 수 있다(단계 318). 일실시예에서, 단계 314는 결함있는 다이의 개수가 관리가능한 개수인지를 판별하는 단계와 결함있는 다이들의 개수가 상기 프로그램가능한 회로에 의해서 처리될 수 있는 경우에만 단계 318로 진행하도록 하는 단계를 포함할 수 있다. 만일, 모든 다이가 오류가 있거나 또는 다른 기결정된 개수의 다이들이 오류가 있다면, 상기 패키지는 폐기될 수 있다. If no die is determined to be defective, the process is complete and packaged devices with full capacity are delivered at step 316. If one or more memory dies are defective, these defective dies may be isolated from other dies in the package (step 318). In one embodiment, step 314 includes determining if the number of defective dies is a manageable number and proceeding to step 318 only if the number of defective dies can be processed by the programmable circuitry. can do. If all dies are faulty or if another predetermined number of dies are faulty, the package may be discarded.

단계 318에서, 결함있는 다이는 본 발명의 일실시예에서 전술된 바와 같이 디스에이블된다. 메모리 다이 상의 프로그램가능한 회로는, 패키지에 대한 공통 디바이스 버스 상에서 상기 다이에 제공되는 칩 인에이블 신호를 무효화시킬 수 있다. 예를 들어, ROM 퓨즈는, 다이가 디스에이블되도록 하는 소정의 논리 상태로 프로그램될 수 있다. 이에 응답하여, 상기 회로는 칩 인에이블 신호를 무효화시키는 다른 바이어스를 칩 인에이블 입력(예컨대, 칩 인에이블 핀)에 제공할 수 있다. 만일, 디바이스를 인에이블시키기 위해서 칩 인에이블 신호가 로우 상태가 되면, 상기 프로그램가능한 회로는 고전압을 칩 인에이블 라인 상에 출력할 수 있는바, 이는 상기 다이에 내부적인 것으로 다이를 항상 디스에이블시킨다. In step 318, the defective die is disabled as described above in one embodiment of the present invention. Programmable circuitry on a memory die may invalidate a chip enable signal provided to the die on a common device bus for a package. For example, a ROM fuse may be programmed to a predetermined logic state that causes the die to be disabled. In response, the circuit can provide another bias to the chip enable input (eg, a chip enable pin) that invalidates the chip enable signal. If the chip enable signal goes low to enable the device, the programmable circuit can output a high voltage on the chip enable line, which is internal to the die and always disables the die. .

단계 320에서, 칩의 하나 이상의 결함없는 메모리 다이들이 재-주소지정(re-address)될 수 있는지가 판별된다. 몇몇 경우에 있어서, 결함있는 다이는 단순히 디스에이블되며 그리고 상기 메모리 패키지는 그 만큼 용량이 감소된 상태로 제공된다. 하기에 좀더 상술되는 바와 같이, 다른 경우들에서는, 하나 이상의 결함없는 메모리 다이들이 재-주소지정되는바, 이는 메모리 패키지에 대해서 흠결없는 연속적인 어드레스 범위를 제공하기 위함이다. 예를 들어, 4개의 칩 메모리 패키지 중에서 2번째 것이 디스에이블된다면, 칩 2 와 칩 3 에 대해서 연속적인 어드레스 범위를 제공하기 위해서, 칩 0 은 칩 1 의 주소로 재-주소지정될 수 있다. 만일, 하나 이상의 다이가 재-주소지정된다면, 프로그램가능한 회로를 이용하여 그 다이에 대해 대안적인 어드레스가 제공되는바, 이는 패드 본딩에 의해 제공되는 고유 어드레스를 대체하기 위함이다. In step 320, it is determined whether one or more defect free memory dies of the chip can be re-addressed. In some cases, the defective die is simply disabled and the memory package is provided with a reduced capacity by that amount. As will be described in more detail below, in other cases, one or more defect free memory dies are re-addressed to provide a flawless contiguous address range for the memory package. For example, if the second of the four chip memory packages is disabled, chip 0 may be re-addressed to the address of chip 1 to provide a contiguous address range for chip 2 and chip 3. If one or more die is re-addressed, an alternate address is provided for that die using programmable circuitry to replace the unique address provided by pad bonding.

도5는 4개의 칩 패키지에서 메모리 다이를 재-주소지정하기 위한 예시적인 체계를 도시한 테이블이다. 상기 예시적인 체계는, 메모리 다이에 대해 칩 어드레스들을 재구성하기 위한 단지 하나의 일례일 뿐이다. 상기 일례에서는, 3개의 칩 패키지가 제공되지는 않는다. 따라서, 오직 하나의 다이만이 결함이 있는 경우라 하더라도, 적어도 2개의 다이들이 디스에이블된다. 이러한 것은, 예를 들어, 규격화된 사이즈를 갖는 메모리 패키지를 제공하기 위해서 수행될 수 있다. 또 다른 일례에서는, 오직 하나의 결함있는 다이만이 디스에이블되며 그리고 3개의 칩 패키지가 제공될 수 있다. FIG. 5 is a table illustrating an exemplary scheme for re-addressing memory die in a four chip package. The example scheme is just one example for reconfiguring chip addresses for a memory die. In this example, three chip packages are not provided. Thus, even if only one die is defective, at least two dies are disabled. This can be done, for example, to provide a memory package having a normalized size. In another example, only one defective die may be disabled and three chip packages may be provided.

만일, 모든 칩들이 양호하다면, 재-주소지정이 필요 없으며 그리고 완전한 용량의 패키지가 제공된다. 만일, 칩 3 이 불량이라면, 칩 2 및 칩 3 이 격리되며 그리고 1/2 용량을 갖는 패키지가 제공된다. 칩 0 과 칩 1 이 연속적인 어드레스 범위를 제공하고 있기 때문에, 그 어떤 칩도 재-주소지정되지 않는다. 만일, 칩 2 가 불량이라면, 칩 2 및 칩 3 이 다시 한번 격리되며 그리고 그 어떤 칩도 재-주소지정되지 않는다. 만일, 칩 1 이 불량이라면, 칩 1 및 칩 3 이 격리되며 그리고 칩 2 는 칩 1의 칩 어드레스로 재프로그래밍된다. 이러한 것은 칩 0 과 칩 1의 원래 어드레스에 해당하는 연속적인 어드레스 범위를 제공한다. 만일, 칩 1 과 칩 3 이 불량이라면 이들은 격리되며 그리고 칩 2 는 칩 1 에 대한 칩 어드레스로 재프로그래밍된다. 만일, 칩 1 과 칩 2 가 불량이라면 이들은 격리되며 그리고 칩 3 은 칩 1 의 어드레스로 재프로그래밍된다. 만일, 칩 1, 칩 2, 및 칩 3 이 불량이라면 이들은 디스에이블되며 그리고 칩 0 은 그 원래의 어드레스로 남아있는다. 만일, 칩 0 이 불량이거나 또는 칩 0 및 칩 3 이 불량이라면, 칩 0 및 칩 3은 디스에이블되며 그리고 칩 2 는 칩 0의 어드레스로 재프로그래밍된다. 만일, 칩 0 과 칩 2 가 불량이라면 이들은 격리되며 그리고 칩 3 은 칩 0 의 어드레스로 프로그래밍된다. 만일, 칩 0, 칩 2, 및 칩 3 이 불량이라면 이들은 디스에이블되며 그리고 칩 1 은 칩 0 의 어드레스로 프로그래밍된다. 만일, 칩 0 과 칩 1 이 불량이라면 이들은 디스에이블되며 그리고 칩 2 는 칩 0 의 어드레스로 프로그래밍된다. 만일, 칩 0, 칩 1, 및 칩 3 이 불량이라면 이들은 디스에이블되며 그리고 칩 2 는 칩 0 의 어드레스로 프로그래밍된다. 만일, 칩 0, 칩 1, 및 칩 2 가 불량이라면 이들은 격리되며 그리고 칩 3 은 칩 0 의 어드레스로 프로그래밍된다. 만일, 모든 칩들이 불량이라면, 패키지는 폐기된다. If all chips are good, no re-addressing is required and a full capacity package is provided. If chip 3 is defective, a package is provided in which chip 2 and chip 3 are isolated and having a capacity of 1/2. Since chip 0 and chip 1 provide contiguous address ranges, no chip is re-addressed. If chip 2 is bad, chips 2 and 3 are once again isolated and none of the chips are re-addressed. If chip 1 is bad, chip 1 and chip 3 are isolated and chip 2 is reprogrammed to chip 1's chip address. This provides a contiguous address range corresponding to the original addresses of chip 0 and chip 1. If Chip 1 and Chip 3 are bad, they are isolated and Chip 2 is reprogrammed with the chip address for Chip 1. If chip 1 and chip 2 are bad, they are isolated and chip 3 is reprogrammed to the address of chip 1. If chip 1, chip 2, and chip 3 are bad, they are disabled and chip 0 remains at its original address. If chip 0 is bad or chip 0 and chip 3 are bad, chip 0 and chip 3 are disabled and chip 2 is reprogrammed to the address of chip 0. If chip 0 and chip 2 are bad, they are isolated and chip 3 is programmed to the address of chip 0. If chip 0, chip 2, and chip 3 are bad, they are disabled and chip 1 is programmed to the address of chip 0. If chip 0 and chip 1 are bad, they are disabled and chip 2 is programmed to the address of chip 0. If chip 0, chip 1, and chip 3 are bad, they are disabled and chip 2 is programmed to the address of chip 0. If chip 0, chip 1, and chip 2 are bad, they are isolated and chip 3 is programmed to chip 0's address. If all chips are bad, the package is discarded.

도6은 본 발명의 일실시예에 따른 선택 회로(230)를 예시한 도면이다. 도6에서, 프로그램가능한 회로는 선택 회로(230)의 일부인 것으로 도시되어 있지만, 모든 구현예에서 이럴 필요는 없다. 통상적으로, 선택 회로는 쉬프트 레지스터(352), 비교기(354), 어드레스 매칭 래치(356), 및 S-R 레지스터(358)를 포함한다. 선택 회로는, 칩 인에이블 라인(222)을 포함하여 디바이스 선택 핀(216)들 및 디바이스 버스(220)로부터의 입력을 갖는다. 선택 회로는 제어하고 있는 디바이스(메모리 다이)를 선택 또는 비선택하기 위한 출력 DS를 갖는다. 6 illustrates a selection circuit 230 according to an embodiment of the present invention. In Figure 6, the programmable circuit is shown as being part of the selection circuit 230, although this need not be the case in all implementations. Typically, the selection circuit includes a shift register 352, a comparator 354, an address matching latch 356, and an S-R register 358. The select circuit has device select pins 216 and input from device bus 220, including chip enable line 222. The selection circuit has an output DS for selecting or not selecting the device (memory die) under control.

비교기(354)와 어드레스 매칭 래치(356)는 메모리 다이에 대한 어드레스 매칭을 구현한다. 도6의 일례에서, 2-비트 어드레스가 디바이스 버스(220)의 직렬 라인 S0 및 S1 으로부터 쉬프트 레지스터(352) 안으로 쉬프트된다. 클록킹 신호는 콘트롤 라인 P/D 상에서 전송되는바, 이는 마스터 칩 인에이블 라인(222) 상의 LOW 신호에 의해 게이트-인에이블(gate-enabled)된다. 상기 LOW 신호는 인버터(368)에 의해 반전된다. 도6에서 마스터 칩 인에이블 라인(222)는 디바이스 버스(220)의 일부인 것으로 도시된다. 다음으로, 2-비트의 고유 칩 어드레스가 쉬프트 레지스터(352)로부터 비교기(354)로 전달된다. Comparator 354 and address matching latch 356 implement address matching for the memory die. In the example of FIG. 6, the 2-bit address is shifted from the serial lines S0 and S1 of the device bus 220 into the shift register 352. The clocking signal is transmitted on the control line P / D, which is gate-enabled by the LOW signal on the master chip enable line 222. The LOW signal is inverted by the inverter 368. In FIG. 6, the master chip enable line 222 is shown as part of the device bus 220. Next, a 2-bit unique chip address is passed from the shift register 352 to the comparator 354.

프로그램가능한 칩 어드레스 회로가 그 초기 상태에 있는 경우, 비교기는 디바이스 선택 핀아웃(216)으로부터 획득한 고유 칩 어드레스를 제 2 입력으로서 수신한다. 전술한 바와 같이, 어레이 내의 각각의 위치에 대한 어드레스는 본딩 패드(214)의 접지 구성(grounding configuration) 또는 "key"에 의해 정의된다. 보드 상의 특정 마운트에 연결되는 메모리 다이때문에, 마운트의 패드에 의해 정의되는 어드레스는 디바이스 선택 핀아웃을 통해 메모리 디바이스로 전달된다. When the programmable chip address circuit is in its initial state, the comparator receives the unique chip address obtained from the device select pinout 216 as a second input. As discussed above, the address for each location in the array is defined by the grounding configuration or "key" of the bonding pads 214. Because of the memory die connected to a particular mount on the board, the address defined by the mount's pad is passed to the memory device through the device select pinout.

비교기는 직렬 라인 S0 및 S1 상에서 수신된 어드레스와 디바이스 선택 핀 상에서 획득한 어드레스를 비교한다. 상기 어드레스들이 매칭된다면, 비교기 출력(360)은 HIGH 가 된다. 이 출력은, 칩 인에이블 라인 CE(222) 상의 칩 인에이블 신호의 하강 에지에 의해 어드레스 매칭 레지스터(356) 내에 클록킹된다(그 연결관계는 미도시됨). 이는 S-R 레지스터(358)가 HIGH로 세팅되게 하며, 따라서 출력 DS 역시 하이가 되며 그리고 디바이스가 선택된다. 어드레스들이 매칭되지 않는 경우, DS는 LOW가 될 것이며 그리고 디바이스는 선택되지 않는다. The comparator compares the address received on serial lines S0 and S1 with the address obtained on the device select pin. If the addresses match, the comparator output 360 goes HIGH. This output is clocked in the address matching register 356 by the falling edge of the chip enable signal on the chip enable line CE 222 (its connection not shown). This causes the S-R register 358 to be set to HIGH, so the output DS is also high and the device is selected. If the addresses do not match, the DS will be LOW and the device will not be selected.

프로그램가능한 칩 인에이블 회로(242)는 패키지로부터 특정 메모리 다이를 격리시키는데 이용된다. 이러한 것은 마스터 칩 인에이블 신호로부터 메모리 다이를 격리시킴으로써 달성되는바, 상기 메모리 다이는 디스에이블되며 따라서 메모리 다이는 선택되지 않는다. 프로그램가능한 칩 인에이블 회로는 해당 메모리 다이를 디스에이블 시키도록 패키징 이후에도 프로그래밍될 수 있다. 프로그램가능한 칩 인에이블 회로가 초기 상태에 있는 경우, 프로그램가능한 칩 인에이블 회로는 마스터 칩 인에이블 라인(222)을 통해 수신한 칩 인에이블 신호를 게이트(362)를 제어하기 위한 인버터(368)로 곧바로 전달할 것이다. 선택 회로는 정상 모드에서 동작하며 따라서 칩 인에이블 신호는 클록킹 신호 P/D를 인에이블시켜, 직렬 라인 S0 및 S1 상의 어드레스를 쉬프트 레지스터(352) 내에 쉬프트시킨다. Programmable chip enable circuitry 242 is used to isolate a particular memory die from a package. This is accomplished by isolating the memory die from the master chip enable signal, where the memory die is disabled and thus no memory die is selected. The programmable chip enable circuit can be programmed even after packaging to disable the corresponding memory die. When the programmable chip enable circuit is in an initial state, the programmable chip enable circuit transfers the chip enable signal received through the master chip enable line 222 to an inverter 368 for controlling the gate 362. Will deliver immediately. The selection circuit operates in the normal mode so that the chip enable signal enables the clocking signal P / D to shift the address on the serial lines SO and Sl into the shift register 352.

만일, 상기 프로그램가능한 회로가 제 2 상태로 세팅된다면, 해당 메모리 다이는 칩 인에이블 라인(222)으로부터 격리된다. 마스터 칩 인에이블 신호가 LOW 로 됨에 의해 게이트(362)가 인에이블된다. 따라서, 프로그램가능한 회로는, 라인(370) 상에서 통상적으로 전달되어 왔었던 칩 인에이블 신호 대신에 HIGH 신호를 라인(370) 상에서 구동할 수 있다. 이와 같은 방법으로, 호스트 또는 제어기에 의해서 칩 인에이블 라인 상에 제공되는 칩 인에이블 신호에 상관없이, 상기 게이트는 오프된 상태로 남아있을 것이며 그리고 클록킹 신호 역시도 직렬 라인 S0 및 S1 상의 고유 칩 어드레스를 수신하기 위한 쉬트프 레지스터(352)를 인에이블시키지 않을 것이다. 입력 쉬프트 레지스터(352)를 디스에이블시킴으로서, 해당 메모리 다이가 디스에이블되며 그리고 칩 인에이블 신호에 상관없이 그 상태로 남아있을 것이다. If the programmable circuit is set to the second state, the memory die is isolated from the chip enable line 222. The gate 362 is enabled by the master chip enable signal going low. Thus, the programmable circuit can drive the HIGH signal on line 370 instead of the chip enable signal that has typically been delivered on line 370. In this way, regardless of the chip enable signal provided on the chip enable line by the host or controller, the gate will remain off and the clocking signal will also be unique chip address on serial lines S0 and S1. Will not enable the shift register 352 to receive. By disabling the input shift register 352, the corresponding memory die is disabled and will remain in that state regardless of the chip enable signal.

프로그램가능한 디바이스 선택 회로(240)는 패키지 내의 특정 메모리 다이에 대한 고유 칩 어드레스를 재프로그래밍하는데 이용된다. 디바이스 선택 입력 핀들은 프로그램가능한 디바이스 선택 회로에 연결되며, 프로그램가능한 회로가 초기 동작 상태에 있는 경우, 프로그램가능한 디바이스 선택 회로는 그 신호들을 곧바로 비교기(354)에게 전달할 것이다. 제 1 퓨즈는 단일 비트를 저장할 수 있는바, 상기 단일 비트는 디바이스 선택 핀 상에서 수신된 칩 어드레스가 무효화되어야 함을 나타낸다. 상기 단일 비트가 어써트(assert)되는 경우, 프로그램가능한 디바이스 선택 회로는 다른 고유 어드레스를 비교기(354)에게 제공하며, 따라서 물리적인 본딩에 의해서 제공된 칩 어드레스가 무효화될 수 있다. 고유 칩 어드레스의 비트 수에 상응하는 다수의 퓨즈들이 이용되어, 상이한 어드레스를 제공한다. 예를 들어, 퓨즈의 초기 저항 상태는 논리 '0'에 대응될 수 있으며 그리고 프로그램된 저-저항 상태는 논리 '1'에 대응될 수 있다. 또는 그 반대도 가능하다. 새로운 칩 어드레스를 저장하기 위해서, 어드레스 퓨즈들이 선택적으로 조건화될 수도 있다. 이후, 프로그램가능한 회로는 이러한 어드레스를 버스(364)를 통해 비교기에게 제공할 것이다. 이와 같이, 메모리 다이는 패키징 이후에도 새로운 고유 칩 어드레스로 재프로그램될 수 있다. Programmable device selection circuitry 240 is used to reprogram the unique chip address for a particular memory die in a package. The device select input pins are connected to the programmable device select circuit, and when the programmable circuit is in the initial operating state, the programmable device select circuit will pass those signals directly to the comparator 354. The first fuse can store a single bit, which indicates that the chip address received on the device select pin should be invalidated. When the single bit is asserted, the programmable device selection circuit provides a different unique address to the comparator 354, so that the chip address provided by physical bonding can be invalidated. Multiple fuses corresponding to the number of bits of the unique chip address are used to provide different addresses. For example, the initial resistance state of the fuse may correspond to logic '0' and the programmed low resistance state may correspond to logic '1'. Or vice versa. In order to store a new chip address, address fuses may be optionally conditioned. The programmable circuit will then provide this address to the comparator via bus 364. As such, the memory die can be reprogrammed with a new unique chip address even after packaging.

도7은 본 발명의 일실시예에 따른 프로그램가능한 칩 인에이블 회로(242)를 예시한 것이다. ROMRD 타이밍 신호가 제 1 입력으로서 게이트(402)에 제공된다. ROM 퓨즈로부터의 데이터 신호가 제 2 입력으로 제공된다. 상기 데이터 신호는, 상기 회로에 대한 ROM 퓨즈로부터의 단일 비트 데이터에 대한 신호를 운반한다. 만일, ROM 퓨즈가 그 초기 상태에 있다면, 게이트는 타이밍 신호에 응답하여 인에이블되지 않는다. 다양한 실시예에서, ROM 퓨즈로부터의 상기 데이터가 판독되게 하기 위하여, 상기 타이밍 신호는 예를 들면 파워 업 또는 파워 다운시에 어써트(assert)될 수 있다. 프로그래밍된 퓨즈에 의해서 상기 게이트가 인에이블되지 않는다면, 게이트 출력은 LOW 로 남아있으며 그리고 출력 CE_force 도 LOW 로 남아있는다. 이와 같이, 마스터 칩 인에이블 신호가 선택 회로로 전달되는바, 이는 도6과 관련하여 전술한 바와 같다. Figure 7 illustrates a programmable chip enable circuit 242 in accordance with one embodiment of the present invention. The ROMRD timing signal is provided to the gate 402 as a first input. The data signal from the ROM fuse is provided to the second input. The data signal carries a signal for single bit data from a ROM fuse for the circuit. If the ROM fuse is in its initial state, the gate is not enabled in response to the timing signal. In various embodiments, the timing signal may be asserted at power up or power down, for example, to allow the data from the ROM fuse to be read. If the gate is not enabled by a programmed fuse, the gate output remains LOW and the output CE_force also remains LOW. As such, the master chip enable signal is transferred to the selection circuit, as described above with reference to FIG.

만일, ROM 퓨즈가 프로그래밍된다면, ROMRD 타이밍 신호가 발행되는 때에 CE_ROM 은 하이가 될 것이며 그리고 게이트(402)의 출력은 하이(HIGH)가 된다. 게이트(402)의 출력이 하이로 되는 경우, OR 게이트(404)의 출력도 하이가 된다. 타이밍 신호 i_RRD 및 o_RRD 에 응답하여, OR 게이트의 출력인 HIGH 값은 플립 플롭(406)에 의해 샘플링된다. 다음으로, 샘플링된 HIGH 값은 출력 CE_force 로서 제공된다. If a ROM fuse is programmed, CE_ROM will be high when the ROMRD timing signal is issued and the output of gate 402 will be high. When the output of the gate 402 becomes high, the output of the OR gate 404 also becomes high. In response to the timing signals i_RRD and o_RRD, the HIGH value, which is the output of the OR gate, is sampled by the flip flop 406. Next, the sampled HIGH value is provided as the output CE_force.

칩 인에이블 핀으로부터의 칩 인에이블 신호의 샘플링된 값과 함께 출력 CE_force 가 NOR 게이트(408)에 제공된다. 샘플링된 값에 대해서 입력 버퍼(미도시)가 이용될 수도 있다. ROM 퓨즈를 프로그래밍함에 의해서 CE_force 가 HIGH 가 된다면, NOR 게이트(408)의 출력은 LOW 이다. 상기 출력은 인버터(410)에 의해서 반전되며 그리고 내부 칩 인에이블 신호인 CE_internal 로서 제공된다. HIGH 인 CE_internal 신호가 인버터(368, 도6)에 제공될 것인바, 인버터(368)는 게이트(362, 도6)에 LOW 값을 출력한다. 따라서, 쉬프트 레지스터(352)가 디스에이블되며, 결과적으로 메모리 다이가 디스에이블된다. An output CE_force is provided to the NOR gate 408 along with a sampled value of the chip enable signal from the chip enable pin. An input buffer (not shown) may be used for the sampled values. If CE_force is HIGH by programming the ROM fuse, the output of NOR gate 408 is LOW. The output is inverted by inverter 410 and provided as an internal chip enable signal CE_internal. A CE_internal signal that is HIGH will be provided to inverter 368 (FIG. 6), which outputs a LOW value to gate 362 (FIG. 6). Thus, shift register 352 is disabled, resulting in the memory die being disabled.

도8은 본 발명의 일실시예에 따른 프로그램가능한 디바이스 선택 회로(240)를 예시한 도면이다. ROMRD 타이밍 신호와 제 1 ROM 퓨즈(선택 퓨즈라고 지칭된다)의 출력이 게이트(420)에 제공된다. 타이밍 신호 ROMRD 가 하이로 되는 때에, ROM 퓨즈로부터의 데이터가 게이트에 제공된다. 만일, 퓨즈가 프로그램되지 않는다면, 상기 게이트의 출력은 로우로 남아있으며 그리고 플립 플롭(424)의 출력은 로우이다. 만일, 퓨즈가 프로그램된다면, 게이트(420)의 출력은 HIGH 가 되며 그리고 OR 게이트(422)의 출력도 HIGH 가 된다. 다음으로, 타이밍 신호 i_RRD 및 o_RRD 에 응답하여 플립 플롭(424)의 출력인 CADD_SEL 이 HIGH 가 된다. Figure 8 illustrates a programmable device selection circuit 240 in accordance with one embodiment of the present invention. An output of the ROMRD timing signal and the first ROM fuse (referred to as the selection fuse) are provided to the gate 420. When the timing signal ROMRD goes high, data from the ROM fuse is provided to the gate. If no fuse is programmed, the output of the gate remains low and the output of flip flop 424 is low. If the fuse is programmed, the output of gate 420 goes HIGH and the output of OR gate 422 goes HIGH. Next, CADD_SEL, which is an output of the flip flop 424, becomes HIGH in response to the timing signals i_RRD and o_RRD.

도8에 도시된 회로의 하단 부분은, 패드 본딩에 의해서 제공되는 원래의 칩 어드레스 또는 프로그램가능한 회로에 의해서 제공되는 프로그램된 어드레스 중 어느 하나를 선택하는데 이용된다. 제 1 멀티플렉서 MUX1(426)는 2개의 입력들, 즉 CADD0_ori 및 CADD0_ROM 를 수신하는바, 이들 2개의 입력들은 칩 어드레스의 첫번째 비트에 대한 것이다. CADD0_ori 는 패드 본딩으로부터의 신호로서 칩 어드레스의 첫번째 비트에 대한 것이다. CADD0_ROM 는 제 1 ROM 퓨즈로부터의 신호로서 첫번째 어드레스 비트에 대한 것이다. 제 2 멀티플렉서 MUX2(428)는 2개의 입력들, 즉 CADD1_ori 및 CADD1_ROM 를 수신하는바, 이들 2개의 입력들은 칩 어드레스의 두번째 비트에 대한 것이다. CADD1_ori 는 패드 본딩으로부터의 신호로서 칩 어드레스의 두번째 비트에 대한 것이다. CADD1_ROM 는 제 2 ROM 퓨즈로부터의 신호로서 두번째 어드레스 비트에 대한 것이다. 만일, CADD_SEL 이 로우라면, 이는 프로그램가능한 디바이스 선택 회로에 대해서 선택 ROM 퓨즈가 프로그램되지 않았다는 것에 해당하며 따라서, 멀티플렉서들로부터 원래의 칩 어드레스가 제공된다. 즉, MUX1 은 패드 본딩으로부터(CADD0_ori) 칩 어드레스의 첫번째 비트에 대해서 출력 CADD0 를 제공하며 그리고 MUX2 는 패드 본딩으로부터(CADD1_ori) 칩 어드레스의 두번째 비트에 대해서 출력 CADD1 을 제공한다. 만일, CADD_SEL 이 하이라면, 이는 선택 ROM 퓨즈가 프로그램된 것에 해당하며, 각각의 ROM 퓨즈들로부터의 프로그래밍된 칩 어드레스가 제공된다. 즉, MUX1 은 제 1 어드레스 ROM 퓨즈로부터의 CADD0_ROM 값을 출력 CADD0 상에 제공하며 그리고 MUX2 는 제 2 어드레스 ROM 퓨즈로부터의 CADD1_ROM 값을 출력 CADD1 상에 제공한다. The lower portion of the circuit shown in Figure 8 is used to select either the original chip address provided by pad bonding or the programmed address provided by the programmable circuit. The first multiplexer MUX1 426 receives two inputs, CADD0_ori and CADD0_ROM, which are for the first bit of the chip address. CADD0_ori is the signal from pad bonding for the first bit of the chip address. CADD0_ROM is the signal from the first ROM fuse for the first address bit. The second multiplexer MUX2 428 receives two inputs, CADD1_ori and CADD1_ROM, which are for the second bit of the chip address. CADD1_ori is the signal from the pad bonding for the second bit of the chip address. CADD1_ROM is for the second address bit as the signal from the second ROM fuse. If CADD_SEL is low, this corresponds to that no selection ROM fuse has been programmed for the programmable device selection circuit, and hence the original chip address is provided from the multiplexers. That is, MUX1 provides the output CADD0 for the first bit of the chip address from pad bonding (CADD0_ori) and MUX2 provides the output CADD1 for the second bit of the chip address from pad bonding (CADD1_ori). If less than CADD_SEL, this corresponds to the selection ROM fuse being programmed, and the programmed chip address from each of the ROM fuses is provided. That is, MUX1 provides the CADD0_ROM value from the first address ROM fuse on the output CADD0 and MUX2 provides the CADD1_ROM value from the second address ROM fuse on the output CADD1.

도6 내지 도8에 도시된 예시적인 실시예들은 2 비트의 어드레스를 이용한다. 따라서, 상기 멀티플렉서들은 2개의 입력들을 수신하며 그리고 칩 어드레스를 대체하기 위하여 2개의 ROM 퓨즈들이 이용된다. 칩 어드레스에 대해서 더 많은 비트들이 이용된다면, 어드레스의 추가 비트들에 대해서 추가 ROM 퓨즈들이 이용될 수 있다. The exemplary embodiments shown in Figs. 6-8 use two bits of address. Thus, the multiplexers receive two inputs and two ROM fuses are used to replace the chip address. If more bits are used for the chip address, additional ROM fuses may be used for the additional bits of the address.

프로그램가능한 칩 어드레스는, 프로그램가능한 칩 인에이블과는 독립적으로 이용될 수도 있다는 점을 유의해야 한다. 예를 들면, 특정 칩이 다른 칩들에 비하여 더욱 양호하다던가 또는 더욱 우수한 성능 특성을 갖고 있다는 점이 패키지 레벨 테스팅을 통해 밝혀질 수도 있다. 만일, 패키지의 칩 0 이 더욱 깨끗해야 한다("cleaner")라거나 또는 더욱 양호한 성능을 가져야함이 요구(또는 요망)된다면, 선택된 칩들은 재-주소지정될 수 있다. 예를 들어, 칩 3 이 특별하게 우수한 성능을 갖고 있다면, 칩 3 의 어드레스와 칩 0 의 어드레스는 서로 교환될 수 있으며 따라서 우수한 칩이 어레이의 헤드에 놓여질 수 있다. 이러한 경우에는 그 어떤 칩도 디스에이블되지 않는다. It should be noted that the programmable chip address may be used independently of the programmable chip enable. For example, it may be revealed through package level testing that a particular chip has better or better performance characteristics than other chips. If it is desired (or desired) that chip 0 of the package should be "cleaner" or have better performance, the selected chips may be re-addressed. For example, if chip 3 has particularly good performance, then the address of chip 3 and the address of chip 0 can be exchanged with each other so that a good chip can be placed in the head of the array. In this case, none of the chips are disabled.

전술한 바와 같이, 몇몇 메모리 시스템은 다중 패키지들을 포함할 수도 있다. 예를 들어, 하나의 메모리 카드는 2개 혹은 그 이상의 메모리 패키지들을 포함할 수도 있다. 도9는 연속적인 어드레스 범위를 제공하기 위하여, 선택 메모리 다이를 재-주소지정하기 위한 또 다른 일례를 예시한 테이블이다. 도9에서 2개의 메모리 패키지들이 결합되어 더 큰 메모리 패키지(예컨대, 메모리 카드)를 형성한다. 각각의 패키지는 4개의 메모리 어레이 다이를 포함한다. 결합된 메모리 패키지 각각은 적어도 하나의 결함있는 다이를 포함한다. 그 각각이 결함있는 다이를 포함하고 있는 2개의 패키지들을 결합함으로써, 하나의 양호한 4-다이 패키지가 제공된다. As mentioned above, some memory systems may include multiple packages. For example, one memory card may include two or more memory packages. 9 is a table illustrating another example for re-addressing a select memory die to provide a continuous address range. In Figure 9 two memory packages are combined to form a larger memory package (e.g., a memory card). Each package contains four memory array dies. Each combined memory package includes at least one defective die. By combining two packages, each of which contains a defective die, one good four-die package is provided.

제 1 패키지의 칩 3 이 불량이고 그리고 제 2 패키지의 칩 0, 칩 1, 칩 2이 불량이라면, 상기 2개의 패키지들이 결합되어, 4개의 메모리 다이로 구성된 연속적인 어드레스 범위를 갖는 메모리 패키지를 형성할 수 있다. 전술한 바와 같이, 제 1 패키지의 칩 3 과 제 2 패키지의 칩 0, 1, 및 2 가 격리될 수 있다. 다음으로, 제 2 패키지의 칩 3 는, 제 1 패키지의 칩 3 의 어드레스로 재구성될 수 있다. 몇몇 실시예에서는, 별도의 패키지 어드레스들을 이용할 수 있으며 또는 패키지 및 내부 다이 어드레스들에 대해서 특정 비트들을 이용할 수도 있다. 이러한 경우, 제 2 패키지의 칩 3 을 재구성하는 것은, 비트들을 재구성하여 제 1 패키지를 나타내도록 하기만 하면 된다. 다른 경우에는, 좀더 복잡한 재-주소지정이 이용될 수도 있다. If chip 3 of the first package is bad and chip 0, chip 1, and chip 2 of the second package are bad, the two packages are combined to form a memory package having a contiguous address range consisting of four memory dies. can do. As described above, chips 3 of the first package and chips 0, 1, and 2 of the second package may be isolated. Next, chip 3 of the second package may be reconfigured to the address of chip 3 of the first package. In some embodiments, separate package addresses may be used or specific bits may be used for the package and internal die addresses. In this case, reconfiguring chip 3 of the second package only needs to reconfigure the bits to represent the first package. In other cases, more complex re-addressing may be used.

도10은 도3에 도시된 바와 같은 비휘발성 메모리 시스템에 대한 다른 도면으로서, 몇몇 구현예에 포함될 수 있는 추가적인 구성요소들을 도시한 도면이다. 메모리 디바이스(510)는 하나 이상의 메모리 다이 또는 칩(512)을 포함한다. 메모리 다이(512)는 메모리 셀들의 2차원적인 어레이(500), 제어 회로(520), 및 판독/기입 회로(530A, 530B)를 포함한다. 본 발명의 일실시예에서, 다양한 주변회로들에 의한 메모리 어레이(500)로의 액세스는, 어레이의 대향 측면들 상에서 대칭적인 방식으로 구현되며, 따라서 액세스 라인들의 밀도와 각각의 사이드에서의 회로의 밀도가 절반으로 감소될 수 있다. 상기 판독/기입 회로(530A, 530B)는 다수의 감지 블록들(550)을 포함하는바, 이는 메모리 셀들의 페이지가 병렬로 판독 또는 프로그래밍될 수 있게 한다. 메모리 어레이(500)는, 로우 디코더(540A, 540B)를 통해서 워드라인들에 의해서 그리고 컬럼 디코더(542A, 542B)를 통해서 비트라인들에 의해서 어드레스될 수 있다. 전형적인 실시예에서는, 하나 이상의 메모리 다이(512)처럼, 동일한 메모리 디바이스(510) 내에 제어기(544)가 포함된다(예컨대, 착탈가능한 저장 카드 또는 패키지). 커맨드 및 데이터가 라인들(532)을 통해서 호스트와 제어기(544) 사이에서 전달되며, 그리고 라인들(534)을 통해서 제어기와 하나 이상의 메모리 다이(512) 사이에서 전달되는바, 이는 디바이스 버스(220)가 될 수 있다. FIG. 10 is another diagram of a nonvolatile memory system as shown in FIG. 3, illustrating additional components that may be included in some implementations. Memory device 510 includes one or more memory dies or chips 512. Memory die 512 includes a two-dimensional array 500 of memory cells, control circuit 520, and read / write circuits 530A, 530B. In one embodiment of the invention, access to the memory array 500 by various peripheral circuits is implemented in a symmetrical manner on opposite sides of the array, thus the density of the access lines and the density of the circuit at each side. Can be reduced in half. The read / write circuit 530A, 530B includes a number of sense blocks 550, which allows pages of memory cells to be read or programmed in parallel. Memory array 500 may be addressed by word lines through row decoders 540A and 540B and by bit lines through column decoders 542A and 542B. In a typical embodiment, like one or more memory die 512, a controller 544 is included within the same memory device 510 (eg, a removable storage card or package). Command and data are passed between the host and the controller 544 via lines 532, and between the controller and one or more memory die 512 via lines 534, which is the device bus 220. Can be

제어 회로(520)는 판독/기입 회로(530A, 530B)와 협동하여 메모리 어레이(500) 상에서 메모리 동작을 수행한다. 상기 제어 회로(520)는 상태머신(522), 온-칩 어드레스 디코더(524) 및 전력 제어 모듈(526)을 포함한다. 상태머신(522)은 메모리 동작에 대한 칩 레벨 제어를 제공한다. 온-칩 어드레스 디코더(524)는, 호스트 혹은 메모리 제어기에 의해 이용되는 어드레스와 디코더들(540A, 540B, 542A, 542B)에 의해 이용되는 하드웨어 어드레스 사이에서 어드레스 인터페이스를 제공한다. 전력 제어 모듈(526)은, 메모리 동작 동안에 워드라인들 및 비트라인들에 공급되는 전원 및 전압들을 제어한다. The control circuit 520 cooperates with the read / write circuits 530A and 530B to perform a memory operation on the memory array 500. The control circuit 520 includes a state machine 522, an on-chip address decoder 524, and a power control module 526. State machine 522 provides chip level control for memory operations. On-chip address decoder 524 provides an address interface between an address used by a host or a memory controller and a hardware address used by decoders 540A, 540B, 542A, 542B. The power control module 526 controls the power and voltages supplied to the word lines and bit lines during the memory operation.

일 실시예에서, 선택 회로(230)는 제어 회로(520)이 일부이다. 제어 회로는 상태 머신의 일부를 형성할 수도 있으며 또는 독립형 회로 구성요소가 될 수도 있다. 이것처럼, 프로그램가능한 회로들(240, 240)은 상태 머신뿐만 아니라 제어 회로 내에 포함될 수도 있다. 상기 제어 회로는 프로그램가능한 퓨즈 소자를 구비할 수도 있으며 구비하지 않을 수도 있다. 예를 들어, 몇몇 구현예에서는 전용 ROM 퓨즈가 제어 회로 내에 제공될 수도 있다. 다른 경우들에서, 프로그램가능한 소자들에 대해서 실제 메모리 어레이(500)가 이용될 수도 있는바, 따라서 프로그램가능한 회로를 제어 회로(520)와 어레이 사이에서 나눌 수 있다. In one embodiment, the selection circuit 230 is part of the control circuit 520. The control circuit may form part of the state machine or may be a standalone circuit component. As such, programmable circuits 240 and 240 may be included in the control circuit as well as the state machine. The control circuit may or may not have programmable fuse elements. For example, in some implementations a dedicated ROM fuse may be provided in the control circuit. In other cases, a real memory array 500 may be used for the programmable elements, so that programmable circuitry can be divided between the control circuit 520 and the array.

일실시예에서 메모리 셀 어레이(500)는 낸드(NAND) 플래시 메모리 어레이로 구성된다. 도11은 예시적인 낸드 스트링(600)을 도시한 평면도이다. 도12는 그 등가회로도이다. 도11 및 도12에 도시된 낸드 스트링은 제 1 선택 게이트(612)와 제 2 선택 게이트(622) 사이에 직렬로 배치된 트랜지스터들(610, 612, 614, 616)을 포함한다. 일실시예에서, 트랜지스터들(610, 612, 614, 616) 각각은 낸드 스트링의 개별 메모리 셀을 형성한다. 다른 실시예에서, 낸드 스트링의 메모리 셀들은 다수의 트랜지스터들을 포함할 수 있으며 또는 도11 및 도12에 도시된 것과는 다를 수도 있다. 본 명세서에서 논의되는 바는, 하나의 낸드 스트링 내에 존재하는 특정 개수의 메모리 셀에 한정되지 않는다. 선택 게이트(620)는 낸드 스트링을 비트라인(626)에 연결한다. 선택 게이트(622)는 낸드 스트링을 공통 소스라인(628)에 연결한다. 선택 게이트(620)는 선택 라인 SGD를 통해 제어 게이트(620CG)에 적절한 전압을 인가함으로써 제어된다. 선택 게이트(622)는 선택 라인 SGS를 통해 제어 게이트(622CG)에 적절한 전압을 인가함으로써 제어된다. 각각의 트랜지스터들은 제어 게이트와 플로팅 게이트를 갖는다. 예를 들어, 트랜지스터(610)는 제어 게이트(610CG)와 플로팅 게이트(610FG)를 갖는다. 트랜지스터(612)는 제어 게이트(612CG)와 플로팅 게이트(612FG)를 갖는다. 트랜지스터(614)는 제어 게이트(614CG)와 플로팅 게이트(614FG)를 갖는다. 트랜지스터(616)는 제어 게이트(616CG)와 플로팅 게이트(616FG)를 갖는다. 제어 게이트(610CG)는 워드라인(WL3)에 연결되며, 제어 게이트(612CG)는 워드라인(WL2)에 연결되며, 제어 게이트(614CG)는 워드라인(WL1)에 연결되며, 제어 게이트(616CG)는 워드라인(WL0)에 연결된다. In one embodiment, the memory cell array 500 is configured as a NAND flash memory array. 11 is a top view illustrating an example NAND string 600. 12 is an equivalent circuit diagram thereof. 11 and 12 include transistors 610, 612, 614, and 616 disposed in series between the first select gate 612 and the second select gate 622. In one embodiment, each of the transistors 610, 612, 614, 616 forms a separate memory cell of the NAND string. In another embodiment, the NAND string memory cells may include multiple transistors or may differ from those shown in FIGS. 11 and 12. As discussed herein, it is not limited to a particular number of memory cells present in one NAND string. The select gate 620 connects the NAND string to the bit line 626. The select gate 622 connects the NAND string to the common source line 628. The selection gate 620 is controlled by applying an appropriate voltage to the control gate 620CG via the selection line SGD. The select gate 622 is controlled by applying an appropriate voltage to the control gate 622CG via the select line SGS. Each transistor has a control gate and a floating gate. For example, transistor 610 has control gate 610CG and floating gate 610FG. Transistor 612 has control gate 612CG and floating gate 612FG. Transistor 614 has control gate 614CG and floating gate 614FG. Transistor 616 has control gate 616CG and floating gate 616FG. The control gate 610CG is connected to the word line WL3, the control gate 612CG is connected to the word line WL2, the control gate 614CG is connected to the word line WL1, and the control gate 616CG. Is connected to the word line WL0.

도13에 도시된 일례와 같이, 낸드 플래시 EEPROM은 1024개의 블록으로 나뉘어진다. 메모리 셀들의 각각의 블록은 컬럼을 형성하는 비트라인들의 세트와 로우를 형성하는 워드라인들의 세트를 포함한다. 일반적으로, 각각의 블록은 다수의 페이지들로 나뉘어진다. 비록, 하나 이상의 페이지들이 단일 동작을 통해서 프로그래밍되거나 판독될 수도 있지만, 일반적으로 하나의 페이지는 프로그래밍 또는 판독의 최소 단위이다. 다른 실시예에서, 개별 페이지들은 세그먼트들로 나뉘어질 수 있으며 그리고 세그먼트는 기본 프로그래밍 동작으로서 한번에 기입되는 가장 적은 개수의 셀들을 포함할 수 있다. 일반적으로, 하나 이상의 데이터 페이지들이 메모리 셀들의 한 로우(row)에 저장된다. 페이지는 하나 이상의 데이터 섹터들을 저장할 수 있으며, 그 사이즈는 호스트 시스템에 의해서 정의되는 것이 일반적이다. 하나의 섹터는 사용자 데이터 및 오버헤드 데이터를 포함한다. 일반적으로, 오버헤드 데이터는 그 섹터의 사용자 데이터로부터 계산된 에러 보정 코드(Error Correction Code)를 포함한다. 제어기(후술될 것임)의 일부가, 데이터가 상기 어레이 내로 프로그래밍되는 때에 상기 ECC를 계산하며, 또한 데이터가 상기 어레이로부터 판독되는 때에 상기 ECC를 체크한다. 대안적으로는, ECC 및/또는 다른 오버헤드 데이터는, 이들에 관련된 사용자 데이터와는 다른 페이지들에 저장될 수도 있으며, 심지어는 상이한 블록들에 저장될 수도 있다. 일반적으로, 사용자 데이터의 섹터는 512 바이트(byte)이며, 이는 자기 디스크 드라이브에서 통상적으로 이용되는 하나의 섹터의 사이즈에 대응한다. 일반적으로, 오버헤드 데이터는 추가 16-20 바이트이다. 많은 수의 페이지들이 하나의 블록을 형성하는바, 예를 들면 8 페이지가 하나의 블록을 형성하거나 또는 32, 64 또는 그 이상의 페이지들이 블록을 형성할 수도 있다. 몇몇 실시예에서는, 낸드 스트링의 로우가 블록을 구성한다. As in the example shown in Fig. 13, the NAND flash EEPROM is divided into 1024 blocks. Each block of memory cells includes a set of bit lines forming a column and a set of word lines forming a row. In general, each block is divided into a number of pages. Although one or more pages may be programmed or read through a single operation, generally one page is the smallest unit of programming or reading. In another embodiment, individual pages may be divided into segments and the segment may include the fewest number of cells written at a time as a basic programming operation. In general, one or more data pages are stored in a row of memory cells. A page can store one or more sectors of data, the size of which is typically defined by the host system. One sector includes user data and overhead data. In general, the overhead data includes an Error Correction Code calculated from the user data of that sector. A portion of the controller (to be described later) calculates the ECC when data is programmed into the array and also checks the ECC when data is read from the array. Alternatively, the ECC and / or other overhead data may be stored in pages different from the user data associated with them, even in different blocks. Generally, a sector of user data is 512 bytes, which corresponds to the size of one sector typically used in magnetic disk drives. In general, overhead data is an additional 16-20 bytes. A large number of pages form one block, for example eight pages may form one block, or 32, 64 or more pages may form a block. In some embodiments, rows of NAND strings make up the block.

도13에는 직렬로 연결되어 하나의 낸드 스트링을 형성하는 4개의 메모리 셀들이 도시되어 있다. 비록, 각각의 낸드 스트링에 4개의 셀들이 포함된 것으로 도시되어 있지만, 4개보다 더 많거나 더 적은 셀들(예컨대, 16개, 32개, 또는 또 다른 개수의 셀들)이 이용될 수 있다. 낸드 스트링의 일 단자는 제 1 선택 트랜지스터 또는 게이트(선택 게이트 드레인 라인 SGD에 연결됨)를 통해 해당 비트라인에 연결된다. 그리고 낸드 스트링의 타 단자는 제 2 선택 트랜지스터(선택 게이트 소스 라인 SGS에 연결됨)를 통해 공통 소스(c-source)에 연결된다. 각각의 블록에 저장된 데이터는 동시에 소거될 수 있다. 도13의 일례의 각각의 블록에는 8512개의 컬럼들이 존재하며, 이들 컬럼들은 짝수 컬럼들과 홀수 컬럼들로 나뉘어진다. 비트라인들은 짝수 비트라인들(BLe)과 홀수 비트라인들(BLo)로 나뉘어진다. 홀수/짝수 비트라인 구조에서, 공통 워드라인을 따라 있으며 홀수 비트라인들에 연결된 메모리 셀들은 한번에 프로그래밍되며, 공통 워드라인을 따라 있으며 짝수 비트라인들에 연결된 메모리 셀들은 다른 한번으로 프로그래밍된다. 따라서, 532 바이트의 데이터가 동시에 판독 혹은 프로그래밍될 수 있다. 동시에 판독 혹은 프로그래밍되는 이들 532 바이트의 데이터는 하나의 논리 페이지를 형성한다. 따라서, 상기 일례에서, 하나의 블록이 적어도 8개의 페이지를 저장할 수 있다. 각각의 메모리 셀이 2 비트의 데이터(예컨데, 멀티 레벨 셀)를 저장하는 경우, 하나의 블록은 16 개의 페이지를 저장한다. 다른 크기의 블록들 및 페이지들 또한 본 발명과 함께 이용될 수 있다. 13 shows four memory cells connected in series to form one NAND string. Although each cell is shown as including four cells in the NAND string, more or fewer than four cells (eg, 16, 32, or another number of cells) may be used. One terminal of the NAND string is connected to the corresponding bit line through a first select transistor or gate (connected to the select gate drain line SGD). The other terminal of the NAND string is connected to a common source (c-source) through a second select transistor (connected to the select gate source line SGS). Data stored in each block can be erased at the same time. There are 8512 columns in each block of the example of FIG. 13, and these columns are divided into even columns and odd columns. The bit lines are divided into even bit lines BLe and odd bit lines BLO. In an odd / even bitline structure, memory cells along a common wordline and connected to odd bitlines are programmed at one time, and memory cells along a common wordline and connected to even bitlines are programmed once. Thus, 532 bytes of data can be read or programmed simultaneously. These 532 bytes of data being read or programmed simultaneously form one logical page. Thus, in the above example, one block can store at least eight pages. When each memory cell stores two bits of data (eg, a multi-level cell), one block stores 16 pages. Other sized blocks and pages may also be used with the present invention.

본 발명의 다른 실시예에서, 비트라인들은 홀수 및 짝수 비트라인들로 나뉘어지지 않는다. 이러한 구조는 통상적으로 올(all) 비트라인 구조라고 지칭된다. 올 비트라인 구조에서, 판독 및 프로그램 동작 동안, 한 블록의 모든 비트라인들은 동시에 선택된다. 공통 워드라인을 따라 있으며 그리고 임의의 비트라인에 연결된 메모리 셀들은 동시에 프로그래밍된다. 다른 실시예에서, 비트라인들 또는 블록은 다른 단위로 쪼개질 수도 있다(예를 들면, 우측 및 좌측, 2개 이상의 그룹으로 등등) In another embodiment of the present invention, the bit lines are not divided into odd and even bit lines. This structure is commonly referred to as an all bitline structure. In an all bitline structure, during read and program operations, all bitlines of a block are selected simultaneously. Memory cells along a common wordline and connected to any bitline are programmed simultaneously. In other embodiments, the bitlines or blocks may be split into other units (eg, right and left, in two or more groups, etc.).

본 발명의 일례에서 메모리 셀을 프로그래밍하는 때에, 드레인 및 P-웰은 0 볼트를 수신하는 반면 제어 게이트는 크기(magnitude)가 증가하는 일련의 프로그래밍 펄스를 수신한다. 일 실시예에서, 상기 일련의 펄스들의 크기는 12 볼트에서 24 볼트 사이의 범위를 갖는다. 다른 실시예에서, 상기 일련의 펄스들의 범위는 다를 수 있으며, 예를 들어, 12 볼트보다 더 높은 시작 레벨을 가질 수 있다. 메모리 셀들을 프로그래밍하는 동안, 프로그래밍 펄스들 사이의 기간들에서 검증 동작들이 수행된다. 즉, 병렬로 프로그래밍되고 있는 셀 그룹의 각 셀의 프로그래밍 레벨이 각각의 프로그래밍 펄스들 사이에서 판독되는바, 프로그래밍되고 있는 셀이 검증 레벨에 도달하였는지 혹은 초과하였는지가 판단된다. 프로그래밍을 검증하기 위한 수단 중 하나는, 특정 비교 포인트에서의 도통을 테스트하는 것이다. 충분하게 프로그래밍된 것으로 검증되는 셀들은, 예컨대, NAND 셀 내에서 록아웃(locked out)되는바, 비트라인 전압을 0 볼트에서 VDD(예컨데, 1.8 ~ 3.3 볼트)로 상승시킴으로써 모든 후속 프로그래밍 펄스들에 대하여 이들 셀들에 대한 프로그래밍 프로세스를 종료시킨다. 몇몇 경우들에서는, 펄스들의 개수가 제한될 것이며(예를 들어, 20개의 펄스들로 제한됨), 소정 메모리 셀이 마지막 펄스에 의해서도 충분히 프로그래밍되지 않을 경우에는, 에러가 예상된다. 일부 구현예들에서는, 프로그래밍하기 이전에 메모리 셀들이 소거된다(블록 단위로 또는 다른 단위로). In one example of the invention, when programming a memory cell, the drain and P-well receive zero volts while the control gate receives a series of programming pulses of increasing magnitude. In one embodiment, the magnitude of the series of pulses ranges from 12 volts to 24 volts. In another embodiment, the range of the series of pulses may be different, for example having a starting level higher than 12 volts. During programming of the memory cells, verify operations are performed in the periods between the programming pulses. That is, the programming level of each cell of the cell group being programmed in parallel is read out between the respective programming pulses to determine whether the cell being programmed has reached or exceeded the verify level. One means for verifying programming is to test continuity at a particular comparison point. Cells that are verified to be fully programmed are locked out, for example, in a NAND cell, thereby all subsequent programming pulses by raising the bitline voltage from 0 volts to V DD (eg, 1.8 to 3.3 volts). Terminates the programming process for these cells. In some cases, the number of pulses will be limited (eg, limited to 20 pulses), and an error is expected if a given memory cell is not fully programmed even by the last pulse. In some implementations, memory cells are erased (in blocks or other units) prior to programming.

도14는 비휘발성 메모리를 프로그래밍하는 방법에 대한 일실시예를 예시한 순서도이다. 프로그래밍될 메모리 셀들은 단계 700에서 소거된다. 단계 700은, 프로그래밍될 메모리 셀들 이외의 메모리 셀들을 소거(블록 단위 또는 단위 단위로)하는 단계를 포함할 수도 있다. 단계 702에서, 소거된 메모리 셀들에 대한 소거 임계전압 분포를 좁히기 위해 소프트 프로그래밍이 수행된다. 소거 프로세스의 결과, 몇몇 메모리 셀들은 필요한 것보다 더 깊은 소거 상태에 있을 수도 있다. 소프트 프로그래밍은 작은 프로그래밍 펄스들을 인가하여, 소거된 메모리 셀들의 임계전압 분포를 소거 검증 레벨에 좀더 가깝게 이동시킬 수 있다. 단계 704에서, "데이터 로드(load)" 커맨드가 제어기(544)에 의해 발행되며 그리고 제어 회로(520)로 입력되는바, 이는 데이터 입/출력 버퍼로 데이터가 입력되게 한다. 입력 데이터는 커맨드로서 인식되고 그리고 커맨드 래치 신호를 통해 상태 머신(522)에 래치되며, 도시되어 있지는 않지만, 제어 회로(520)로 입력된다. 단계 706에서, 페이지 어드레스를 나타내는 어드레스 데이터가 제어기 또는 호스트로부터 로우(row) 콘트롤러 또는 디코더(540A, 540B)로 입력된다. 입력 데이터는 페이지 어드레스로서 식별되며 그리고 상태 머신(522)을 통해 래치되며, 제어 회로로 입력되는 어드레스 래치 신호에 의해 영향을 받는다. 단계 708에서, 어드레스된 페이지에 대한 프로그램 데이터의 페이지가 프로그래밍을 위해서 데이터 입력/출력 버퍼로 입력된다. 예를 들면, 본 발명의 일실시예에서 532 바이트의 데이터가 입력될 수 있다. 상기 데이터는 선택된 비트라인들에 대해서 적절한 레지스터들/래치들 내에 래치된다. 몇몇 실시예에서, 상기 데이터는 또한 선택된 비트라인들에 대해서 제 2 레지스터에 래치되는바, 이는 검증 동작에서 이용될 것이다. 단계 710에서, "프로그램" 커맨드가 제어기에 의해 발행되며 그리고 데이터 입력/출력 버퍼로 입력된다. 이 커맨드는 제어 회로로 입력되는 커맨드 래치 신호를 통해 상태 머신(522)에 의해 래치된다. Figure 14 is a flow chart illustrating one embodiment of a method of programming a nonvolatile memory. The memory cells to be programmed are erased at step 700. Step 700 may include erasing (in blocks or units) memory cells other than the memory cells to be programmed. In step 702, soft programming is performed to narrow the erase threshold voltage distribution for erased memory cells. As a result of the erase process, some memory cells may be in a deeper erase state than necessary. Soft programming may apply small programming pulses to move the threshold voltage distribution of erased memory cells closer to the erase verify level. At step 704, a " data load " command is issued by the controller 544 and input to the control circuit 520, which causes data to be input into the data input / output buffer. The input data is recognized as a command and latched in the state machine 522 via a command latch signal and, although not shown, is input to the control circuit 520. In step 706, address data representing the page address is input from a controller or host to a row controller or decoder 540A, 540B. The input data is identified as a page address and latched through state machine 522 and is affected by the address latch signal input to the control circuit. In step 708, a page of program data for the addressed page is input to the data input / output buffer for programming. For example, in one embodiment of the present invention, 532 bytes of data may be input. The data is latched in the appropriate registers / latches for the selected bit lines. In some embodiments, the data is also latched in the second register for the selected bit lines, which will be used in the verify operation. At step 710, a " program " command is issued by the controller and entered into the data input / output buffer. This command is latched by the state machine 522 via a command latch signal input to the control circuit.

"프로그램(program)" 커맨드에 의해 트리거링되어, 단계 708에서 래치된 데이터는 선택된 메모리 셀들 안으로 프로그래밍될 것인바, 이는 적절한 워드라인에 인가되는 스텝핑된 펄스 프로그램 전압 신호를 이용하여 상태머신에 의해 제어된다. 단계 712에서, 선택된 워드라인에 인가되는 프로그래밍 펄스 전압 레벨인 Vpgm 이 시작 펄스(예컨대, 12볼트)로 초기화되며 그리고 상태머신(522)에 의해 유지되는 프로그램 카운터(PC)가 0으로 초기화된다. 단계 714에서, 제 1 Vpgm 펄스가 선택된 워드라인에 인가된다. 만일, 논리 "0" 이 특정 데이터 래치에 저장되어 해당 메모리 셀이 프로그램되어야한다는 것을 나타내면, 대응 비트라인은 접지된다. 다른 한편으로, 만일 논리 "1" 이 특정 데이터 래치에 저장되어 해당 메모리 셀이 그 현재 데이터 상태를 유지해야만 한다는 것을 나타내면, 대응 비트라인은 VDD 에 접속되어 프로그래밍이 금지된다. Triggered by a "program" command, the data latched in step 708 will be programmed into the selected memory cells, which are controlled by the state machine using a stepped pulse program voltage signal applied to the appropriate word line. . In step 712, the program pulse voltage level Vpgm applied to the selected word line is initialized to a start pulse (e.g., 12 volts) and the program counter PC held by the state machine 522 is initialized to zero. In step 714, a first Vpgm pulse is applied to the selected word line. If a logic " 0 " is stored in a particular data latch to indicate that the corresponding memory cell should be programmed, the corresponding bit line is grounded. On the other hand, if logic " 1 " is stored in a particular data latch to indicate that the memory cell must maintain its current data state, the corresponding bit line is connected to V DD and programming is inhibited.

단계 716에서, 선택된 메모리 셀들의 상태들이 검증된다. 선택된 메모리 셀의 타겟 임계전압이 적절한 타겟 레벨에 도달했다는 것이 검출되면, 대응 데이터 래치 내에 저장된 데이터는 논리 "1"으로 변경된다. 선택된 메모리 셀의 타겟 임계전압이 적절한 타겟 레벨에 도달하지 못했다는 것이 검출되면, 대응 데이터 래치 내에 저장된 데이터는 변경되지 않는다. 이러한 방법으로, 대응 데이터 래치에 논리 "1" 이 저장된 비트라인은 프로그래밍될 필요가 없다. 모든 데이터 래치들이 논리 "1" 을 저장하고 있는 경우, 상태 머신은 선택된 모든 셀들이 프로그래밍되었다는 것을 알게 된다. 단계 718에서, 모든 데이터 래치들이 논리 "1" 을 저장하고 있는지가 체크된다. 만일 그렇다면, 프로그래밍 프로세스는 완료되며 그리고 성공적인 것으로 되는바, 이는 선택된 모든 메모리 셀들이 프로그래밍되었으며 그리고 타겟 상태에 있음이 검증되었기 때문이다. "통과(PASS)" 라는 상태가 단계 720에서 보고된다. 몇몇 구현예에서는, 단계 718에서, 모든 데이터 래치들이 논리 "1"을 저장할 필요는 없다는 점을 유의해야 한다. 만일, 적어도 기결정된 개수의 데이터 래치들이 논리 "1"을 저장하고 있다면, 그걸로 충분할 수도 있다. 여전히 논리 "0" 을 저장하고 있는 데이터 래치들은, 아직까지 프로그래밍되지 않은 셀들(느리게 프로그래밍되는 셀들)에 관련된 것이거나 혹은 결함있는 셀들에 관련된 것이다. 한정된 개수의 불충분하게 프로그래밍된 셀들 또는 결함있는 셀들이 용인될 수 있는바, 이는 느리게 프로그래밍되는 메모리 셀들 혹은 결함있는 메모리 셀들에 관련된 훼손된 데이터를 보정하기 위해서, 후속 판독 동작 동안에 에러 보정(ECC)이 적용될 수 있기 때문이다. In step 716, states of the selected memory cells are verified. If it is detected that the target threshold voltage of the selected memory cell has reached the appropriate target level, the data stored in the corresponding data latch is changed to logic " 1. " If it is detected that the target threshold voltage of the selected memory cell has not reached the appropriate target level, the data stored in the corresponding data latch is not changed. In this way, the bit lines in which logic "1" is stored in the corresponding data latches do not need to be programmed. If all data latches are storing logic "1", the state machine knows that all selected cells have been programmed. In step 718, it is checked whether all data latches are storing logic "1". If so, the programming process is complete and successful, since all selected memory cells have been programmed and verified to be in the target state. A status of "PASS" is reported at step 720. In some implementations, it should be noted that at step 718, not all data latches need to store a logic "1". If at least a predetermined number of data latches are storing logic "1", that may be sufficient. The data latches still storing logic "0" are related to cells that have not yet been programmed (slowly programmed cells) or to defective cells. A limited number of insufficiently programmed cells or defective cells may be tolerated, in which error correction (ECC) is applied during subsequent read operations to correct corrupted data associated with slow programmed memory cells or defective memory cells. Because it can.

만일, 단계 718에서, 모든 데이터 래치들이 논리 "1"을 저장하고 있는 것은 아니다라고 판명되면, 프로그래밍 프로세스는 계속된다. 단계 722에서, 프로그램 제한값에 대해서 프로그램 카운터(PC)가 체크된다. 프로그램 제한값에 대한 일례는 20 이다. 하지만, 다른 값들이 이용될 수도 있다. 만일, 프로그램 카운터(PC)가 20 보다 작지 않다면, 성공적으로 프로그래밍되지 못한 메모리 셀들의 개수가 소정 개수보다 작은지 또는 같은지가 판별된다(단계 724). 만일, 성공적으로 프로그래밍되지 못한 비트들의 개수가 상기 소정 개수와 같거나 또는 이보다 작으면, 프로그래밍 프로세스는 통과된 것으로 플래그되며 그리고 통과(PASS)라는 상태가 단계 726에서 보고된다. 성공적으로 프로그래밍되지 못한 비트들은, 판독 프로세스 동안에 에러 보정을 이용하여 교정될 수 있다. 하지만, 성공적으로 프로그래밍되지 못한 메모리 셀들의 개수가 소정 개수보다 크다면, 프로그래밍 프로세스는 실패한 것으로 플래그되며 그리고 실패(FAIL)라는 상태가 단계 728에서 보고된다. 만일, 프로그램 카운터(PC)가 20 보다 작다면, Vpgm 레벨은 스텝 사이즈에 의해 증가되며 그리고 프로그램 카운터(PC)는 단계 730에서 증분된다. 단계 730 이후, 다음 Vpgm 펄스를 인가하기 위해서, 프로세스는 단계 714로 되돌아 간다. If at step 718 it is found that not all data latches are storing logic "1", the programming process continues. In step 722, the program counter PC is checked for a program limit value. An example of a program limit is 20. However, other values may be used. If the program counter PC is not less than 20, it is determined whether the number of memory cells not successfully programmed is less than or equal to a predetermined number (step 724). If the number of bits that were not successfully programmed is less than or equal to the predetermined number, then the programming process is flagged as passed and a status of PASS is reported in step 726. Bits that were not successfully programmed can be corrected using error correction during the read process. However, if the number of memory cells that were not successfully programmed is greater than the predetermined number, then the programming process is flagged as failed and a status of FAIL is reported in step 728. If the program counter PC is less than 20, the Vpgm level is increased by the step size and the program counter PC is incremented at step 730. After step 730, the process returns to step 714 to apply the next Vpgm pulse.

도14의 순서도는 이진 저장소자에 적용될 수 있는 싱글-패스(single-pass) 프로그래밍 방법을 도시한 것이다. 다중-레벨 저장소자에 적용될 수 있는 투-패스(two-pass) 프로그래밍 방법에서는, 예를 들어 다중 프로그래밍 단계들 혹은 검증 단계들이 순서도의 단일 반복구간(single iteration) 내에서 이용될 수도 있다. 단계 712 - 730는 프로그래밍 동작의 각각의 패스(pass)에 대해서 수행될 수도 있다. 제 1 패스에서, 하나 이상의 프로그램 펄스들이 인가될 수도 있으며 그리고 그 결과들이 검증되어 그 셀이 적절한 중간 상태에 있는지 아닌지가 판별된다. 제 2 패스에서, 하나 이상의 프로그램 펄스들이 인가될 수도 있으며 그리고 그 결과들이 검증되어 그 셀이 적절한 최종 상태에 있는지가 판별된다. The flowchart of FIG. 14 illustrates a single-pass programming method that can be applied to a binary repository. In a two-pass programming method that can be applied to a multi-level repository, for example, multiple programming steps or verification steps may be used within a single iteration of the flowchart. Steps 712-730 may be performed for each pass of a programming operation. In a first pass, one or more program pulses may be applied and the results verified to determine whether the cell is in an appropriate intermediate state. In a second pass, one or more program pulses may be applied and the results verified to determine if the cell is in the proper final state.

프로그래밍 프로세스가 성공적으로 종료되면, 메모리 셀들의 임계전압들은, 프로그래밍된 메모리 셀들에 대한 하나 이상의 임계전압 분포들 혹은 소거된 메모리 셀들에 대한 하나 이상의 임계전압 분포들 내에 있어야 한다. 도15는 각각의 메모리 셀이 2 비트의 데이터를 저장하는 경우, 메모리 셀 어레이에 대한 임계전압 분포들을 예시한 도면이다. 도15에는 소거된 메모리 셀들에 대한 제 1 임계전압 분포 E 가 도시되어 있다. 프로그래밍된 메모리 셀들에 대한 3개의 임계전압 분포들 A, B, C 도 또한 도시되어 있다. 일실시예에서, E 분포 내의 임계전압들은 음이며, A, B 및 C 분포 내의 임계전압들은 양이다.If the programming process ends successfully, the threshold voltages of the memory cells must be within one or more threshold voltage distributions for programmed memory cells or one or more threshold voltage distributions for erased memory cells. FIG. 15 is a diagram illustrating threshold voltage distributions for a memory cell array when each memory cell stores two bits of data. 15 shows a first threshold voltage distribution E for erased memory cells. Three threshold voltage distributions A, B, C for programmed memory cells are also shown. In one embodiment, the threshold voltages in the E distribution are negative and the threshold voltages in the A, B and C distributions are positive.

도15에 도시된 각각의 상이한 임계전압 범위는, 데이터 비트들의 세트에 대한 기결정된 값들에 대응한다. 메모리 셀로 프로그래밍되는 데이터와 메모리 셀의 임계 전압 레벨들 사이의 특정한 관계는, 그 셀에 적용되는 데이터 인코딩 체계에 의존한다. 일실시예에서, 데이터 값들은 그레이 코드 할당(Gray code assignment)을 이용하여 임계전압 범위들에 할당되는바, 따라서 플로팅 게이트의 임계전압이, 오류로 인해 인접 물리적인 상태로 쉬트프되더라도, 오직 1 비트만이 영향을 받을 것이다. 일례로서, "11"이 임계전압 범위 E (상태 E) 에 할당되며, 논리값 "10"은 임계전압 범위 A (상태 A) 에 할당되며, 논리값 "00"은 임계전압 범위 B (상태 B) 에 할당되며, 논리값 "01"은 임계전압 범위 C (상태 C) 에 할당된다. 하지만, 다른 실시예에서는 그레이 코드가 이용되지 않을 수도 있다. 비록, 도15에는 4개의 상태들이 도시되어 있지만, 본 발명은 4개보다 더 많거나 또는 더 적은 상태들을 포함하는 또 다른 다중 상태 구조들과 함께 이용될 수 있다. Each different threshold voltage range shown in FIG. 15 corresponds to predetermined values for the set of data bits. The particular relationship between the data programmed into the memory cell and the threshold voltage levels of the memory cell depends on the data encoding scheme applied to that cell. In one embodiment, data values are assigned to threshold voltage ranges using Gray code assignment, so that even if the threshold voltage of the floating gate is shifted to an adjacent physical state due to an error, only 1 Only bits will be affected. As an example, "11" is assigned to threshold voltage range E (state E), logic value "10" is assigned to threshold voltage range A (state A), and logic value "00" is assigned to threshold voltage range B (state B). Is assigned to the threshold voltage range C (state C). However, in other embodiments, gray codes may not be used. Although four states are shown in Figure 15, the present invention can be used with other multi-state structures that include more or fewer than four states.

또한, 도15에는 메모리 셀들로부터 데이터를 판독하기 위한 3개의 판독 참조 전압들(Vra, Vrb, Vrc)이 도시되어 있다. 주어진 메모리 셀의 임계전압이 Vra, Vrb, Vrc 보다 높은지 또는 낮은지를 테스트함으로써, 시스템은 메모리 셀이 어떤 상태에 있는지를 판별할 수 있다. 또한, 도15에는 3개의 검증 참조 전압들(Vva, Vvb, Vvc)이 도시되어 있다. 메모리 셀들을 상태 A로 프로그래밍할 때에, 시스템은 이들 메모리 셀들이 Vva 와 같거나 혹은 더 큰 임계전압을 갖고 있는지를 테스트할 것이다. 메모리 셀들을 상태 B로 프로그래밍할 때에, 시스템은 이들 메모리 셀들이 Vvb 와 같거나 혹은 더 큰 임계전압을 갖고 있는지를 테스트할 것이다. 메모리 셀들을 상태 C로 프로그래밍할 때에, 시스템은 이들 메모리 셀들이 Vvc 와 같거나 혹은 더 큰 임계전압을 갖고 있는지를 테스트할 것이다. 15 also shows three read reference voltages Vra, Vrb, and Vrc for reading data from memory cells. The threshold voltages of a given memory cell are Vra, Vrb, Vrc By testing whether it is higher or lower, the system can determine which state the memory cell is in. 15, three verify reference voltages Vva, Vvb, and Vvc are shown. When programming the memory cells to state A, the system will test whether these memory cells have a threshold voltage equal to or greater than Vva. When programming the memory cells to state B, the system will test whether these memory cells have a threshold voltage equal to or greater than Vvb. When programming the memory cells to state C, the system will test whether these memory cells have a threshold voltage equal to or greater than Vvc.

풀 시퀀스 프로그래밍이라고 알려진 도15에 도시된 일실시예에서, 메모리 셀들은 소거 상태 E 로부터 프로그래밍 상태 A, B, C 중 어느 하나로 곧바로 프로그래밍될 수 있다. 예를 들어, 프로그래밍될 메모리 셀들의 집단(population)은 먼저 소거될 수도 있으며, 따라서 상기 집단 내의 모든 저장소자들은 소거상태 E에 있게 된다. 이후 도15에 도시된 프로세스가 이용되어 메모리 셀들을 상태 A, B, 또는 C 로 곧바로 프로그래밍하게 될 것이다. 몇몇 메모리 셀들은 상태 E에서 상태 A로 프로그래밍되지만, 반면에 다른 메모리 셀들은 상태 E에서 상태 B로 프로그래밍되거나 및/또는 상태 E에서 상태 C로 프로그래밍된다. 이러한 실시예에서, 메모리 셀의 특정 메모리 상태를 위해 코드화된 2개의 비트들 모두는 단일 페이지 데이터의 일부로서 간주될 수도 있다. In one embodiment shown in Fig. 15, known as full sequence programming, memory cells can be programmed directly from erase state E to any of programming states A, B, C. For example, a population of memory cells to be programmed may be erased first, so that all reservoirs in the population are in erased state E. The process shown in Figure 15 will then be used to program the memory cells directly into state A, B, or C. Some memory cells are programmed from state E to state A, while other memory cells are programmed from state E to state B and / or from state E to state C. In such an embodiment, both bits coded for a particular memory state of a memory cell may be considered part of a single page data.

도16은 상이한 2개의 페이지들(하위 페이지와 상위upper 페이지)에 대해 데이터를 저장하는 다중-상태 메모리 셀을 프로그래밍하는 투 패스(two-pass) 기법의 일례를 예시한 것이다. 상태 E(11), 상태 A(10),상태 B(00),상태 C(01)의 4개의 상태들이 도시되어 있다. 상태 E의 경우, 2개의 페이지들 모두는 "1"을 저장한다. 상태 A의 경우, 하위(lower) 페이지는 "0"을 저장하고 상위(upper) 페이지는 "1"을 저장한다. 상태 B의 경우, 2개의 페이지들 모두는 "0"을 저장한다. 상태 C의 경우, 하위 페이지는 "1"을 저장하고 상위 페이지는 "0"을 저장한다. 비록, 특정한 비트 패턴들이 각각의 상태에 대해서 할당되었지만, 이와 다른 비트 패턴들도 할당될 수 있음을 유의해야 한다. 제 1 프로그래밍 패스에서, 메모리 셀의 임계전압 레벨은, 하위 논리 페이지 내에 프로그래밍될 비트에 따라 설정된다. 만일, 상기 비트가 논리 "1" 이라면, 이전에 소거되었던 결과로서 그 임계전압이 이미 적절한 상태에 있기 때문에, 임계전압은 변화되지 않는다. 하지만, 프로그래밍될 비트가 논리 "0" 이라면, 셀의 임계전압은 상태 A로 상승하는바, 이는 화살표 750으로 도시된다. 이는 제 1 프로그래밍 패스를 종결한다. Figure 16 illustrates an example of a two-pass technique for programming a multi-state memory cell that stores data for two different pages (lower page and upper page). Four states are shown: state E (11), state A (10), state B (00), and state C (01). For state E, both pages store "1". For state A, the lower page stores "0" and the upper page stores "1". In the case of state B, both pages store "0". For state C, the lower page stores "1" and the upper page stores "0". Although specific bit patterns have been assigned for each state, it should be noted that other bit patterns may be assigned. In the first programming pass, the threshold voltage level of the memory cell is set according to the bit to be programmed in the lower logical page. If the bit is a logic " 1 ", the threshold voltage is not changed since the threshold voltage is already in the proper state as a result of being previously erased. However, if the bit to be programmed is a logic "0", the cell's threshold voltage rises to state A, which is shown by arrow 750. This terminates the first programming pass.

제 2 프로그래밍 패스에서, 셀의 임계전압 레벨은 상위 논리 페이지로 프로그래밍될 비트에 따라 설정된다. 만일, 상위 논리 페이지 비트가 논리 "1"을 저장할 예정이라면, 하위 페이지 비트의 프로그래밍에 따라 상기 메모리 셀이 상태 E 또는 A 중 어느 하나에 있기 때문에 프로그래밍이 일어나지 않으며, 상기 상태 E, A 둘다는 논리 "1"의 상위 페이지 비트를 갖는다. 만일, 상위 페이지 비트가 논리 "0"을 저장할 예정이라면, 임계전압은 쉬프트된다. 제 1 패스의 결과 상기 셀이 소거 상태 E에 남아있게 된다면, 제 2 패스에서 상기 셀은 프로그래밍되며, 따라서 상태 C 내에 있도록 임계전압이 증가되는바, 이는 화살표 754로 도시된다. 만일, 제 1 프로그래밍 패스의 결과로서 메모리 셀이 상태 A로 프로그래밍되었다면, 상기 메모리 셀은 제 2 패스에서 추가로 프로그래밍되며, 따라서 임계전압은 화살표 752로 도시된 바와같이 상태 B에 있도록 증가된다. 제 2 패스의 결과는, 하위 페이지에 대한 데이터를 변경하는 일 없이, 상위 페이지에 대해 논리 "0"을 저장하도록 명시된 소정 상태로 저장소자를 프로그래밍하는 것이다. 판독 또는 검증 동작 동안에 메모리 셀의 도통 전류를 측정하는 다른 많은 방법들이 존재한다. 상기한 일례에서, 선택된 메모리 셀의 도통 전류는 그 선택된 메모리 셀을 포함하고 있는 낸드(NAND) 스트링이 비트라인을 방전시키는 것을 허용(또는 불허)할 것이다. 비트라인이 방전되었는지 아닌지를 판별하기 위하여, 소정의 시간 이후에 그 비트라인 상의 전압이 측정된다. 다른 일례에서는, 감지 증폭기 내의 전용 캐패시터를 방전시키는 속도에 의해서, 메모리 셀의 도통 전류가 측정된다. In the second programming pass, the threshold voltage level of the cell is set in accordance with the bit to be programmed into the upper logical page. If the upper logical page bit is to store a logic "1", programming does not occur because the memory cell is in either state E or A, depending on the programming of the lower page bit, and both states E and A are logic. Has an upper page bit of "1". If the upper page bit is to store a logic "0", the threshold voltage is shifted. If the cell remains in erase state E as a result of the first pass, then the cell is programmed in the second pass, so that the threshold voltage is increased to be in state C, as shown by arrow 754. If the memory cell was programmed to state A as a result of the first programming pass, then the memory cell is further programmed in the second pass, thus the threshold voltage is increased to be in state B as shown by arrow 752. The result of the second pass is to program the repository into a predetermined state specified to store a logical "0" for the upper page without changing the data for the lower page. Many other methods exist for measuring the conduction current of a memory cell during a read or verify operation. In the above example, the conduction current of the selected memory cell will allow (or disallow) the NAND string containing the selected memory cell to discharge the bit line. In order to determine whether the bit line is discharged or not, the voltage on the bit line is measured after a predetermined time. In another example, the conduction current of the memory cell is measured by the rate at which the dedicated capacitor in the sense amplifier is discharged.

도17은 비휘발성 메모리 셀들로부터 데이터를 판독하기 위한 일실시예를 예시한 순서도이다. 도17은 시스템 레벨에서 판독 프로세스를 제공한다. 단계 800에서 수신된 데이터 판독을 위한 요청에 응답하여 특정 페이지에 대해서 판독 동작이 수행된다(단계 802). 일실시예에서, 페이지에 대해서 데이터가 프로그램되는 때, 시스템은 또한 에러 보정 코드(Error Correction Codes : ECCs)를 생성할 것이며 그리고 이들 ECC들을 데이터 페이지와 함께 기입할 것이다. ECC 기법들을 해당 기술분야에 널리 알려져 있다. 사용되는 ECC 프로세스는 해당 기술분야에 공지된 임의의 적절한 ECC 프로세스를 포함할 수 있다. 페이지로부터 데이터를 판독할 때, ECC가 이용되어 데이터에 에러가 존재하는지를 판별하게 될 것이다(단계 804). 상기 ECC 프로세스는 제어기에서, 상태 머신에서 또는 시스템의 그 어딘가에서 수행될 수 있다. 데이터에 에러가 없다면, 단계 806에서 그 데이터는 사용자에게 보고된다. 만일, 단계 804에서 에러가 발견된다면, 그 에러가 보정가능한 것인지가 판별된다(단계 808). 상기 에러는 플로팅 게이트간 커플링 효과에 기인한 것일 수도 있으며 또는 다른 물리적인 매커니즘 때문에 기인된 것일 수도 있다. 다양한 ECC 방법들은 데이터 세트에서 기결정된 개수의 에러들을 보정할 수 있는 능력을 갖는다. 만일, ECC 프로세스가 데이터를 보정할 수 있다면, ECC 프로세스가 이용되어 단계 810에서 데이터를 보정하며 그리고 보정된 데이터는 단계 812에서 사용자에게 보고된다. 만일, ECC 프로세스에 의해서 데이터가 보정될 수 없다면, 데이터 복원 프로세스가 단계 814에서 수행된다. 몇몇 실시예에서, ECC 프로세스는 단계 814 이후에 수행될 것이다. 데이터가 복원된 이후, 그 데이터는 단계 816에서 보고된다. 도16의 프로세스는, 올 비트 프로그래밍 또는 홀수/짝수 비트라인 프로그래밍을 이용하여 프로그래밍된 데이터와 함께 이용될 수 있다는 점을 유의해야 한다. Figure 17 is a flow chart illustrating one embodiment for reading data from nonvolatile memory cells. Figure 17 provides a read process at the system level. In response to the request for reading data received in step 800, a read operation is performed on the particular page (step 802). In one embodiment, when data is programmed for a page, the system will also generate Error Correction Codes (ECCs) and write these ECCs along with the data page. ECC techniques are well known in the art. The ECC process used may include any suitable ECC process known in the art. When reading data from the page, ECC will be used to determine if there is an error in the data (step 804). The ECC process may be performed at the controller, at the state machine, or somewhere in the system. If there is no error in the data, then at step 806 the data is reported to the user. If an error is found in step 804, it is determined whether the error is correctable (step 808). The error may be due to the floating gate coupling effect or due to other physical mechanisms. Various ECC methods have the ability to correct a predetermined number of errors in the data set. If the ECC process can correct the data, then the ECC process is used to correct the data in step 810 and the corrected data is reported to the user in step 812. If the data cannot be corrected by the ECC process, a data recovery process is performed at step 814. In some embodiments, the ECC process will be performed after step 814. After the data has been restored, the data is reported at step 816. It should be noted that the process of Figure 16 can be used with data programmed using all-bit programming or odd / even bitline programming.

도18은 페이지에 대해서 판독 동작을 수행하기 위한 프로세스를 예시한 순서도이다. 도18의 프로세스는 블록의 모든 비트라인들, 블록의 홀수 비트라인들만, 블록의 짝수 비트라인들만, 또는 블록의 비트라인들의 다른 서브세트들을 망라하는 페이지에 대해서 수행될 수 있다. 단계 850에서, 그 페이지에 관련된 적절한 워드라인에 판독 참조 전압 Vra 가 인가된다. 단계 852에서, 상기 페이지에 관련된 비트라인들이 감지되는바, 이는 그 제어 게이트들에 Vra 를 인가함에 기초하여, 어드레스된 상기 메모리 셀들이 도통되는지 또는 도통되지 않는지를 판별하기 위한 것이다. 도통되는 비트라인들은 메모리 셀들이 턴온되었음을 나타내는바, 따라서 이들 메모리 셀들의 임계전압들은 Vra 보다 낮다(예컨대, 상태 E). 단계 854에서, 비트라인들에 대한 감지동작(sensing)의 결과가, 이들 비트라인들에 대한 적절한 래치들에 저장된다. 단계 856에서, 판독되고 있는 상기 페이지에 관련된 워드라인들에게 판독 참조 전압 Vrb 가 인가된다. 단계 858에서, 비트라인들이 전술한 바와 같이 감지된다. 단계 860에서, 그 결과들은 이들 비트라인들에 대한 적절한 래치들에 저장된다. 단계 862에서, 상기 페이지에 관련된 워드라인들에게 판독 참조 전압 Vrc 가 인가된다. 단계 864에서, 전술한 바와 같이 비트라인들이 감지되어, 어떤 메모리 셀들이 도통되는지가 판별된다. 단계 866에서, 감지 단계의 결과들은 이들 비트라인들에 대한 적절한 래치들에 저장된다. 단계 868에서, 각각의 비트라인에 대한 데이터 값들이 결정된다. 예를 들어, 만일 메모리 셀이 Vra 에서 도통된다면, 그 메모리 셀은 상태 E에 있다. 만일, 메모리 셀이 Vrb 및 Vrc 에서 도통되지만 Vra에서 도통되지 않는다면, 그 메모리 셀은 상태 A에 있다. 만일, 메모리 셀이 Vrc 에서 도통되지만 Vra 및 Vrb에서 도통되지 않는다면, 그 메모리 셀은 상태 B에 있다. 만일 메모리 셀이 Vra, Vrb 또는 Vrc 에서 도통되지 않는다면 그 메모리 셀은 상태 C에 있다. 다른 실시예에서, 다양한 레벨들(Vra, Vrb 및 Vrc)을 감지하는 것은 상이한 순서로 수행될 수도 있다. 18 is a flowchart illustrating a process for performing a read operation on a page. The process of FIG. 18 may be performed for a page covering all the bitlines of the block, only the odd bitlines of the block, only the even bitlines of the block, or other subsets of the bitlines of the block. In step 850, a read reference voltage Vra is applied to the appropriate word line associated with the page. In step 852, bit lines associated with the page are sensed to determine whether the addressed memory cells are conductive or not, based on applying Vra to their control gates. The conducting bit lines indicate that the memory cells are turned on, so the threshold voltages of these memory cells are lower than Vra (eg, state E). In step 854, the result of sensing for the bit lines is stored in the appropriate latches for these bit lines. In step 856, a read reference voltage Vrb is applied to word lines associated with the page being read. In step 858, the bitlines are sensed as described above. At step 860, the results are stored in the appropriate latches for these bit lines. In step 862, a read reference voltage Vrc is applied to word lines associated with the page. In step 864, the bit lines are sensed as described above to determine which memory cells are conductive. In step 866, the results of the sense step are stored in the appropriate latches for these bit lines. In step 868, data values for each bitline are determined. For example, if a memory cell is conductive at Vra, the memory cell is in state E. If the memory cell is conductive at Vrb and Vrc but not at Vra, the memory cell is in state A. If the memory cell is conductive at Vrc but not at Vra and Vrb, the memory cell is in state B. If the memory cell is not conductive at Vra, Vrb or Vrc, the memory cell is in state C. In other embodiments, sensing the various levels Vra, Vrb and Vrc may be performed in a different order.

적용된 코딩 및/또는 아키텍처에 따라, 상이한 개수의 판독 참조 전압들이 다양한 실시예에서 인가되어야할 필요가 있을 수도 있다. 예를 들면, 상위 페이지/하위 페이지 구조가 적용되는 경우, 메모리 셀이 상태 E 와 A(상위 페이지 비트 = 1) 중 어느 한 상태에 있는지 또는 상태 B 와 C(상위 페이지 비트 = 0) 중 어는 한 상태에 있는지를 판별하기 위해서 판독 참조 전압 Vrb를 단순히 이용함으로써, 상위 페이지 판독이 완수될 수도 있다. 하위 페이지 판독은 Vra 및 Vrc 판독 참조 전압 레벨들을 이용함으로써 완수될 수도 있는바, 이는 메모리 셀이 상태 E 와 C(하위 페이지 비트 = 1) 중 어느 한 상태에 있는지 또는 상태 A 와 B(하위 페이지 비트 = 0) 중 어는 한 상태에 있는지를 판별하기 위한 것이다. Depending on the coding and / or architecture applied, different numbers of read reference voltages may need to be applied in various embodiments. For example, if the upper page / lower page structure applies, as long as the memory cell is in one of states E and A (high page bit = 1) or one of states B and C (high page bit = 0). By simply using the read reference voltage Vrb to determine if it is in a state, the upper page read may be completed. The lower page read may be completed by using the Vra and Vrc read reference voltage levels, which indicate whether the memory cell is in one of states E and C (lower page bit = 1) or states A and B (lower page bit). = 0) to determine if one is in a state.

비록, NAND형 플래시 메모리가 예시적인 목적으로 주로 설명되었지만, 본 발명은 이에 한정되는 것이 아니며 다양한 유형의 집적회로들에 대한 응용예를 갖는다. 기본적으로, 본 발명의 실시예들은 어드레스가능한 다이를 포함하는 임의 유형의 회로들에서 이용될 수 있다. 다른 실시예들은 NOR형 플래시 메모리와 SRAM 및 DRAM과 같은 휘발성 메모리를 포함할 수 있다. 또한, 전술한 상세한 설명들은 예시 및 설명을 위한 목적으로 제공된 것이다. 개시된 정확한 형태로 본 발명을 제한하고자 의도되거나 또는 개시된 내용을 속속들이 규명하고자 의도되는 것은 아니다. 전술한 가르침에 비추어 볼때 수 많은 수정예들 및 변형예들이 가능하다. 본 발명의 기술적 사상과 그의 실제적인 응용을 최적으로 설명하기 위해, 본 발명의 실시예들이 선택되었다. 따라서, 해당 기술분야의 당업자들은 다양한 실시예들을 통해서 본 발명을 가장 잘 활용할 수 있을 것이며, 고려중인 특정한 용도에 적합한 다양한 변형예들을 가장 잘 활용할 수 있을 것이다. 본 발명의 범위는 첨부된 청구항들에 의해서 정의되어야 한다. Although a NAND type flash memory has been described mainly for illustrative purposes, the present invention is not limited thereto and has application to various types of integrated circuits. Basically, embodiments of the present invention can be used in any type of circuits that include an addressable die. Other embodiments may include NOR type flash memory and volatile memory such as SRAM and DRAM. In addition, the foregoing detailed description is provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. In order to best explain the technical idea of the present invention and its practical application, embodiments of the present invention have been selected. Accordingly, those skilled in the art will be able to best utilize the present invention through various embodiments, and best utilize various modifications suitable for the specific application under consideration. The scope of the invention should be defined by the appended claims.

202 : 메모리 다이
214 : 본딩 패드
216 : 디바이스 선택 핀
218 : 핀(또는 핀아웃)들의 제 2 그룹
240 : 프로그램가능한 칩 어드레스 회로
242 : 프로그램가능한 칩 인에이블 회로
202: memory die
214: Bonding Pad
216 device select pin
218: second group of pins (or pinouts)
240: programmable chip address circuit
242: Programmable Chip Enable Circuit

Claims (18)

비휘발성 저장소자의 제조 방법으로서,
복수의 비휘발성 메모리 칩들과 제어기를 메모리 패키지에 패키지하는 단계, 상기 메모리 패키지는 상기 비휘발성 메모리 칩들 각각과 상기 제어기에 접속된 공통 칩 인에이블 라인(common chip enable line)을 포함하며, 상기 공통 칩 인에이블 라인 상에 제공되는 칩 인에이블 신호에 응답하여 상기 복수의 비휘발성 메모리 칩들이 인에이블되며;
상기 패키지하는 단계 이후에, 상기 복수의 비휘발성 메모리 칩들이 결함이 있는지를 판별하는 단계; 및
상기 판별하는 단계 동안 특정 메모리 칩이 결함이 있는 것으로 판별되면, 상기 칩 인에이블 신호에 응답하여 상기 특정 메모리 칩이 인에이블되지 못하도록 상기 복수의 비휘발성 메모리 칩들 중 상기 특정 메모리 칩을 격리시키는(isolating) 단계
를 포함하는 비휘발성 저장소자의 제조 방법.
As a manufacturing method of a nonvolatile reservoir,
Packaging a plurality of nonvolatile memory chips and a controller in a memory package, the memory package including a common chip enable line connected to each of the nonvolatile memory chips and the controller, wherein the common chip The plurality of nonvolatile memory chips are enabled in response to a chip enable signal provided on an enable line;
After the packaging, determining whether the plurality of nonvolatile memory chips are defective; And
If it is determined that a particular memory chip is defective during the determining, isolating the particular memory chip of the plurality of nonvolatile memory chips to prevent the specific memory chip from being enabled in response to the chip enable signal. ) step
Method for producing a nonvolatile reservoir comprising a.
제1항에 있어서,
상기 특정 메모리 칩을 격리시키는 단계는,
상기 특정 메모리 칩에 대해 상기 칩 인에이블 신호를 무효화(override)시키는 것을 특징으로 하는 비휘발성 저장소자의 제조 방법.
The method of claim 1,
Isolating the specific memory chip,
And overriding said chip enable signal for said particular memory chip.
제1항에 있어서,
상기 복수의 비휘발성 메모리 칩 각각은, 칩 인에이블 핀, 선택 회로, 및 상기 칩 인에이블 핀과 상기 선택 회로 사이에 접속된 하나 이상의 프로그램가능한 회로들을 포함하며, 상기 칩 인에이블 신호는 상기 칩 인에이블 핀 상에서 수신되며;
상기 특정 메모리 칩을 격리시키는 단계는, 상기 칩 인에이블 신호와 무관하게 상기 칩 인에이블 핀으로부터 상기 선택 회로로 실질적으로 일정한 바이어스를 제공하기 위해서 상기 하나 이상의 프로그램가능한 회로들을 프로그래밍하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장소자의 제조 방법.
The method of claim 1,
Each of the plurality of nonvolatile memory chips includes a chip enable pin, a select circuit, and one or more programmable circuits connected between the chip enable pin and the select circuit, wherein the chip enable signal is the chip in Received on the enable pin;
Isolating the particular memory chip comprises programming the one or more programmable circuits to provide a substantially constant bias from the chip enable pin to the selection circuit independent of the chip enable signal. A method of producing a nonvolatile reservoir.
제3항에 있어서,
상기 하나 이상의 프로그램가능한 회로들은 하나 이상의 프로그램가능한 제 1 회로들이며;
상기 메모리 칩들 각각은 하나 이상의 디바이스 선택 핀들의 세트와 하나 이상의 프로그램가능한 제 2 회로들을 포함하며, 상기 하나 이상의 디바이스 선택 핀들은 하나 이상의 패드들의 세트에 접속되며, 상기 하나 이상의 프로그램가능한 제 2 회로들은 상기 하나 이상의 디바이스 선택 핀들과 상기 선택 회로 사이에 접속되며;
상기 방법은, 상기 하나 이상의 패드들의 세트에 대한 기결정된 구성을 이용하여 상기 메모리 칩들 각각에 대해 고유 어드레스를 정의하는 단계를 더 포함하며, 각 메모리 칩의 상기 선택 회로는, 상기 각각의 메모리 칩이 선택되었는지를 판별하기 위해서 상기 제어기로부터 수신된 어드레스와 상기 하나 이상의 디바이스 선택 핀들의 세트 상에서 수신된 상기 고유 어드레스를 비교하는 것을 특징으로 하는 비휘발성 저장소자의 제조 방법.
The method of claim 3,
The one or more programmable circuits are one or more programmable first circuits;
Each of the memory chips comprises a set of one or more device select pins and one or more programmable second circuits, the one or more device select pins connected to a set of one or more pads, the one or more programmable second circuits Connected between one or more device select pins and the select circuit;
The method further includes defining a unique address for each of the memory chips using a predetermined configuration for the set of one or more pads, wherein the selection circuitry of each memory chip comprises: And comparing the address received from the controller with the unique address received on the set of one or more device selection pins to determine if selected.
제4항에 있어서,
상기 방법은, 상기 특정 메모리 칩이 결함이 있는 것으로 판별되면 제 2 메모리 칩의 상기 고유 어드레스를 다른 어드레스로 대체하는 단계를 더 포함하며,
상기 대체하는 단계는, 상기 하나 이상의 디바이스 선택 핀들을 통해 상기 패드들의 세트로부터 수신된 상기 고유 어드레스를 대신하여 상기 제 2 메모리 칩의 선택 회로에게 상기 다른 어드레스를 제공하도록, 상기 제 2 메모리 칩에 대해 상기 하나 이상의 프로그램가능한 제 2 회로를 설정하는 것을 특징으로 하는 비휘발성 저장소자의 제조 방법.
The method of claim 4, wherein
The method further comprises replacing the unique address of a second memory chip with another address if it is determined that the particular memory chip is defective;
The replacing step may be performed for the second memory chip to provide the other address to the selection circuitry of the second memory chip in place of the unique address received from the set of pads through the one or more device select pins. Setting up said at least one programmable second circuit.
제5항에 있어서,
상기 제 2 메모리 칩에 대해 상기 하나 이상의 프로그램가능한 제 2 회로를 설정하는 것은,
상기 다른 어드레스를 정의하기 위해 하나 이상의 퓨즈들을 프로그래밍하는 것을 포함하며, 상기 다른 어드레스는 상기 하나 이상의 퓨즈들로부터 상기 선택 회로로 제공되며 그리고 상기 다른 어드레스는 상기 패드들의 세트로부터 수신된 상기 고유 어드레스를 무효화(override)시키는 것을 특징으로 하는 비휘발성 저장소자의 제조 방법.
The method of claim 5,
Configuring the one or more programmable second circuits for the second memory chip,
Programming one or more fuses to define the other address, the other address being provided from the one or more fuses to the selection circuit and the other address invalidating the unique address received from the set of pads. (Override) The manufacturing method of a nonvolatile reservoir characterized by the above-mentioned.
제3항에 있어서,
상기 하나 이상의 프로그램가능한 제 1 회로는 하나 이상의 퓨즈인 것을 특징으로 하는 비휘발성 저장소자의 제조 방법.
The method of claim 3,
Wherein said at least one programmable first circuit is at least one fuse.
제7항에 있어서,
상기 하나 이상의 퓨즈는 안티-퓨즈(anti-fuse), 레이저 퓨즈, 전기적으로 블로잉가능한 퓨즈(electrically blowable fuse) 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 비휘발성 저장소자의 제조 방법.
The method of claim 7, wherein
Wherein said at least one fuse comprises at least one of an anti-fuse, a laser fuse, and an electrically blowable fuse.
제1항에 있어서,
상기 각각의 메모리 칩은 비휘발성 NAND 메모리 어레이를 포함하는 것을 특징으로 하는 비휘발성 저장소자의 제조 방법.
The method of claim 1,
Wherein each memory chip comprises a nonvolatile NAND memory array.
비휘발성 메모리 시스템으로서,
복수의 비휘발성 메모리 칩들, 그 각각은 복수의 비휘발성 저장소자들과 하나 이상의 칩 인에이블 핀들을 포함하며, 각 메모리 칩의 상기 하나 이상의 칩 인에이블 핀들은 공통 라인에 접속되며;
상기 공통 라인과 통신하는 제어기;
상기 제어기에 의해 상기 공통 라인 상에 제공되는 칩 인에이블 신호에 응답하는, 각 메모리 칩 상의 선택 회로, 각각의 선택 회로는 상기 칩 인에이블 신호에 응답하여 대응 메모리 칩을 인에이블시키며; 그리고
각 칩 상의 하나 이상의 프로그램가능한 회로들의 세트
를 포함하여 이루어지며,
프로그램가능한 회로들의 상기 세트는 대응 메모리 칩의 상기 칩 인에이블 핀 및 선택 회로와 통신하며,
프로그램가능한 회로들의 상기 세트는, 상기 칩 인에이블 신호에 응답하여 인에이블되지 않게 상기 대응 메모리 칩을 격리시키도록, 상기 비휘발성 메모리 시스템을 패키징한 이후에 설정가능한 것을 특징으로 하는 비휘발성 메모리 시스템.
A nonvolatile memory system,
A plurality of nonvolatile memory chips, each comprising a plurality of nonvolatile reservoirs and one or more chip enable pins, wherein the one or more chip enable pins of each memory chip are connected to a common line;
A controller in communication with the common line;
A selection circuit on each memory chip, responsive to a chip enable signal provided on the common line by the controller, each selection circuit enabling a corresponding memory chip in response to the chip enable signal; And
Set of one or more programmable circuits on each chip
It is made, including
Said set of programmable circuits are in communication with said chip enable pin and a selection circuit of a corresponding memory chip,
And said set of programmable circuits are configurable after packaging said nonvolatile memory system to isolate said corresponding memory chip not to be enabled in response to said chip enable signal.
제10항에 있어서,
프로그램가능한 회로들의 상기 세트는, 상기 대응 메모리 칩의 상기 선택 회로에 도달하기 전에 상기 칩 인에이블 신호를 무효화함으로써, 상기 대응 메모리 칩을 격리시키는 것을 특징으로 하는 비휘발성 메모리 시스템.
The method of claim 10,
And said set of programmable circuits isolate said corresponding memory chip by invalidating said chip enable signal prior to reaching said selection circuit of said corresponding memory chip.
제10항에 있어서,
프로그램가능한 회로들의 상기 세트는, 상기 칩 인에이블 신호와 무관한 실질적으로 일정한 바이어스를 상기 칩 인에이블 핀으로부터 상기 선택 회로로 제공함으로써, 상기 대응 메모리 칩을 격리시키는 것을 특징으로 하는 비휘발성 메모리 시스템.
The method of claim 10,
And said set of programmable circuits isolate said corresponding memory chip by providing a substantially constant bias from said chip enable pin to said selection circuit independent of said chip enable signal.
제10항에 있어서,
각 메모리 칩은 상기 각 칩에 대한 하나 이상의 패드들의 세트에 접속된 하나 이상의 디바이스 선택 핀들을 포함하며, 상기 각 칩에 대한 패드들의 상기 세트는 상기 각 칩에 대한 고유 어드레스를 정의하는 기결정된 구성을 가지며;
각 칩 상의 하나 이상의 프로그램가능한 회로들의 상기 세트는 하나 이상의 프로그램가능한 회로들의 제 1 세트이며; 그리고
각 칩은 상기 하나 이상의 디바이스 선택 핀들 및 상기 각 칩에 대한 상기 선택 회로와 통신하는 하나 이상의 프로그램가능한 회로들의 제 2 세트를 더 포함하며, 각 메모리 칩에 대한 하나 이상의 프로그램가능한 회로들의 상기 제 2 세트는 상기 각 메모리 칩에 대해 다른 어드레스를 정의하기 위해서 상기 비휘발성 메모리 시스템을 패키징한 이후에 설정가능한 것을 특징으로 하는 비휘발성 메모리 시스템.
The method of claim 10,
Each memory chip includes one or more device select pins connected to a set of one or more pads for each chip, the set of pads for each chip having a predetermined configuration defining a unique address for each chip. Has;
Said set of one or more programmable circuits on each chip is a first set of one or more programmable circuits; And
Each chip further includes a second set of one or more device select pins and one or more programmable circuits in communication with the select circuit for each chip, wherein the second set of one or more programmable circuits for each memory chip Is configurable after packaging the nonvolatile memory system to define a different address for each of the memory chips.
제13항에 있어서,
상기 복수의 메모리 칩은 결함있는 메모리 칩과 결함없는 제 1 메모리 칩을 포함하며;
상기 결함있는 칩에 대한 하나 이상의 프로그램가능한 회로들의 상기 제 1 세트는 상기 칩 인에이블 신호에 응답하여 인에이블되지 않게 상기 결함있는 메모리 칩을 격리시키도록 구성되며; 그리고
상기 결함없는 제 1 메모리 칩에 대한 하나 이상의 프로그램가능한 회로들의 상기 제 2 세트는 상기 결함없는 제 1 메모리 칩의 고유 어드레스를 다른 어드레스로 대체하도록 구성된 것을 특징으로 하는 비휘발성 메모리 시스템.
The method of claim 13,
The plurality of memory chips comprises a defective memory chip and a defect free first memory chip;
The first set of one or more programmable circuits for the defective chip is configured to isolate the defective memory chip so that it is not enabled in response to the chip enable signal; And
And said second set of one or more programmable circuits for said defect free first memory chip are configured to replace a unique address of said defect free first memory chip with a different address.
제14항에 있어서,
상기 결함없는 제 1 메모리 칩에 대한 상기 다른 어드레스는 상기 결함있는 메모리 칩의 고유 어드레스인 것을 특징으로 하는 비휘발성 메모리 시스템.
The method of claim 14,
And the other address for the defect free first memory chip is a unique address of the defective memory chip.
제13항에 있어서,
특정 메모리 칩에 대한 하나 이상의 프로그램가능한 회로들의 상기 제 2 세트는 상기 다른 어드레스를 저장함에 의해서 다른 어드레스를 정의하도록 구성되며, 상기 다른 어드레스는 상기 특정 메모리 칩에 대한 패드들의 상기 세트의 상기 기결정된 구성에 의해 정의되는 상기 고유 어드레스를 대신하여 상기 특정 메모리 칩에 대한 선택 회로로 제공되는 것을 특징으로 하는 비휘발성 메모리 시스템.
The method of claim 13,
The second set of one or more programmable circuits for a particular memory chip is configured to define another address by storing the other address, the other address being the predetermined configuration of the set of pads for the particular memory chip. And a selection circuit for the particular memory chip in place of the unique address defined by.
제16항에 있어서,
하나 이상의 프로그램가능한 회로들의 상기 제 1 세트는 하나 이상의 퓨즈들인 것을 특징으로 하는 비휘발성 메모리 시스템.
The method of claim 16,
And the first set of one or more programmable circuits is one or more fuses.
제17항에 있어서,
상기 하나 이상의 퓨즈는 안티-퓨즈, 레이저 퓨즈, 전기적으로 블로잉가능한 퓨즈 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 비휘발성 메모리 시스템.
The method of claim 17,
And the at least one fuse comprises at least one of an anti-fuse, a laser fuse, and an electrically blowable fuse.
KR1020107000810A 2007-06-14 2008-06-06 Programmable chip enable and chip address in semiconductor memory KR101440568B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/763,287 2007-06-14
US11/763,292 US7477545B2 (en) 2007-06-14 2007-06-14 Systems for programmable chip enable and chip address in semiconductor memory
US11/763,287 US7715255B2 (en) 2007-06-14 2007-06-14 Programmable chip enable and chip address in semiconductor memory
US11/763,292 2007-06-14
PCT/US2008/066111 WO2008157084A1 (en) 2007-06-14 2008-06-06 Programmable chip enable and chip address in semiconductor memory

Publications (2)

Publication Number Publication Date
KR20100040288A true KR20100040288A (en) 2010-04-19
KR101440568B1 KR101440568B1 (en) 2014-09-15

Family

ID=40156586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107000810A KR101440568B1 (en) 2007-06-14 2008-06-06 Programmable chip enable and chip address in semiconductor memory

Country Status (4)

Country Link
KR (1) KR101440568B1 (en)
CN (1) CN101779249B (en)
TW (1) TWI380165B (en)
WO (1) WO2008157084A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101124331B1 (en) * 2010-04-30 2012-03-19 주식회사 하이닉스반도체 Semiconductor Apparatus
KR101223540B1 (en) * 2011-01-14 2013-01-21 에스케이하이닉스 주식회사 Semiconductor Apparatus, Method for Assigning Chip ID thereof and Method for Setting thereof
US8819504B2 (en) 2011-02-28 2014-08-26 Hynix Semiconductor Inc. Nonvolatile memory device and method for operating the same
US8883521B2 (en) 2012-07-05 2014-11-11 SK Hynix Inc. Control method of multi-chip package memory device

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102543189A (en) * 2012-02-28 2012-07-04 北京忆恒创源科技有限公司 Semiconductor memory, interface circuit and access method thereof
JP2014082245A (en) * 2012-10-15 2014-05-08 J Devices:Kk Semiconductor storage device and method of manufacturing the same
CN105989899B (en) * 2015-03-05 2019-04-02 旺宏电子股份有限公司 Memory repair method and its application element
KR20180067846A (en) * 2016-12-13 2018-06-21 에스케이하이닉스 주식회사 Semiconductor device and operating method thereof
CN106844266B (en) * 2017-02-06 2020-01-14 京信通信系统(中国)有限公司 Hardware address addressing circuit and manufacturing and using method thereof
KR20190041071A (en) 2017-10-12 2019-04-22 에스케이하이닉스 주식회사 Memory chip, package device and operating method thereof
US11017866B2 (en) 2019-09-03 2021-05-25 Silicon Storage Technology, Inc. Method of improving read current stability in analog non-volatile memory using final bake in predetermined program state
WO2021072695A1 (en) * 2019-10-17 2021-04-22 Yangtze Memory Technologies Co., Ltd. Method of testing memory device employing limited number of test pins and memory device utilizing same
CN110993522A (en) * 2019-12-19 2020-04-10 华天科技(西安)有限公司 Method for reducing capacity of 3D NAND of inferior good
US20210311638A1 (en) * 2020-04-07 2021-10-07 Micron Technology, Inc. Apparatuses and methods for die replacement in stacked memory
CN112331251A (en) * 2020-12-03 2021-02-05 深圳市博业诚电子有限公司 Test method of semiconductor memory
CN114743585B (en) * 2022-06-10 2022-08-30 芯天下技术股份有限公司 Programming method and device for testing flash memory and flash memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282900A (en) * 1996-04-11 1997-10-31 Oki Electric Ind Co Ltd Memory module
US6034882A (en) * 1998-11-16 2000-03-07 Matrix Semiconductor, Inc. Vertically stacked field programmable nonvolatile memory and method of fabrication
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6901498B2 (en) * 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
KR100555506B1 (en) * 2003-07-11 2006-03-03 삼성전자주식회사 Memory device including programmed memory cells and programmable and erasable memory cells
US7269062B2 (en) * 2005-12-09 2007-09-11 Macronix International Co., Ltd. Gated diode nonvolatile memory cell

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101124331B1 (en) * 2010-04-30 2012-03-19 주식회사 하이닉스반도체 Semiconductor Apparatus
US8279702B2 (en) 2010-04-30 2012-10-02 SK Hynix Inc. Semiconductor apparatus
KR101223540B1 (en) * 2011-01-14 2013-01-21 에스케이하이닉스 주식회사 Semiconductor Apparatus, Method for Assigning Chip ID thereof and Method for Setting thereof
US8519734B2 (en) 2011-01-14 2013-08-27 SK Hynix Inc. Semiconductor apparatus, method for assigning chip IDs therein, and method for setting chip IDs thereof
US8819504B2 (en) 2011-02-28 2014-08-26 Hynix Semiconductor Inc. Nonvolatile memory device and method for operating the same
US8883521B2 (en) 2012-07-05 2014-11-11 SK Hynix Inc. Control method of multi-chip package memory device

Also Published As

Publication number Publication date
TW200912632A (en) 2009-03-16
KR101440568B1 (en) 2014-09-15
CN101779249B (en) 2013-03-27
WO2008157084A1 (en) 2008-12-24
TWI380165B (en) 2012-12-21
CN101779249A (en) 2010-07-14

Similar Documents

Publication Publication Date Title
US7715255B2 (en) Programmable chip enable and chip address in semiconductor memory
KR101440568B1 (en) Programmable chip enable and chip address in semiconductor memory
US7477545B2 (en) Systems for programmable chip enable and chip address in semiconductor memory
US7168013B2 (en) Memory with element redundancy
US6553510B1 (en) Memory device including redundancy routine for correcting random errors
US9455048B2 (en) NAND flash word line management using multiple fragment pools
US6646930B2 (en) Non-volatile semiconductor memory
KR101368375B1 (en) Erased sector detection mechanisms
US8446772B2 (en) Memory die self-disable if programmable element is not trusted
US20070141731A1 (en) Semiconductor memory with redundant replacement for elements posing future operability concern
US10482986B2 (en) Adaptive erase fail bit criteria
US9437321B2 (en) Error detection method
US7411848B2 (en) Independent polling for multi-page programming
US7437625B2 (en) Memory with element redundancy
JP4387547B2 (en) Nonvolatile semiconductor memory
JP4439539B2 (en) Nonvolatile semiconductor memory and test method thereof
US7640465B2 (en) Memory with element redundancy
TW202312175A (en) Program dependent biasing of unselected sub-blocks
US20230395171A1 (en) One-time programmable (rotp) nvm
CN113906508A (en) Method for checking an erase phase of a memory device

Legal Events

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

Payment date: 20170804

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 5