KR100348774B1 - 플래시형코어를갖는소거/기록가능롬어레이 - Google Patents
플래시형코어를갖는소거/기록가능롬어레이 Download PDFInfo
- Publication number
- KR100348774B1 KR100348774B1 KR1019960705804A KR19960705804A KR100348774B1 KR 100348774 B1 KR100348774 B1 KR 100348774B1 KR 1019960705804 A KR1019960705804 A KR 1019960705804A KR 19960705804 A KR19960705804 A KR 19960705804A KR 100348774 B1 KR100348774 B1 KR 100348774B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- data
- eeprom
- byte
- sector
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3431—Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 완전 특징 바이트 프로그램 가능 EEPROM 의 바이트 프로그램 가능 기능을 대행할 수 있는 섹터 프로그램 가능 EEPROM 메모리에 관한 것이다. 상기 EEPROM 메모리는 사용자 시스템으로 입력되는 바이트 레벨 데이타와 메인 메모리 코어에 기록되는 워드 레벨 데이타 사이의 버퍼로 사용되는 온-칩 기록 캐시(83)를 통합한다. 상기 EEPROM 메인 메모리 코어는 서브 페이지 섹터(59-62)로 다시 분리되는 각각의 메모리 페이지를 갖는 메모리 페이지(32)로 분리되며, 각각의 서브 페이지 섹터는 다수의 멀티 바이트 데이타 워드를 유지한다. 메모리 페이지내의 서브 페이지 섹터는 프로그램 및 소거 사이클에 개별적으로 또는 집합적으로 따르게 될 수 있다. 상기 EEPROM 메모리는 상기 메모리 코어내의 손상 데이타를 회복 및 재생시키는데 사용되는 ECC 유닛(73)을 통합한다. 상기 EEPROM 메모리는 로드 사이클을 또한 인터럽트하는 것이 가능하다.
Description
EEPROM은 전기적으로 프로그램 및 소거되는 능력을 갖고, 전원이 제거된 후에도 자체의 데이타를 유지한다. 그러나, 상기 EEPROM은 각 기억 셀이 프로그램 및 소거될 수 있는 횟수면에서 제한되므로 일반적으로는 프로그램 및 소거 사이클이 수천 회 정도로 제한된다. 1 바이트, 또는 바이트의 그룹과 같은 전체 메모리 유닛은 새로운 정보가 메모리 유닛내의 임의의 1 비트 또는 비트의 그룹으로 기록되기 전에는 소거 사이클을 견뎌내야 한다.
완전 특징(full-featured) EEPROM은 1 바이트(byte) 메모리 셀에 대응하는 메모리 유닛 사이즈를 갖는 메모리 시스템의 일부분이고, 따라서 동시에 최소한인 1 바이트의 메모리에 기록 액세스를 할 수 있게 한다. 이것은 변경이 필요한 바이트에만 프로그램 및 소거 사이클을 할 수 있도록 제한하게 함으로써 상기 메모리 소자의 내구성을 증가시킨다. 완전 특징 EEPROM의 바이트 단위 억세스(byte accessbility)는 또한 사용자의 관점에서 프로그래밍을 단순화 시킬 수 있는데, 사용자는 이 때, 상기 EEPROM에 대해서 프로그램 하기를 원하는 데이타와 그 데이타가 저장되는 어드레스만을 통신하면 되기 때문이다. 그러나, 전체 칩을 재프로그램해야 할 필요가 있다면, 프로그램, 소거 및 각각의 변경된 바이트를 재프로그램해야 하는 경우에는 긴 프로그래밍 시간이 필요하다. 또한, 자체의 복잡한 선택 회로 때문에, 완전 특징 EEPROM은 밀도 및 비용, 효율성에 관해서 다른 반도체 메모리 기술보다 뒤떨어진다. 완전 특징 EEPROM메모리 시스템은 기억 셀의 코어 어레이를 포함하는데, 각 셀은 가변 임계치를 가진 NMOS트랜지스터와 이에 직렬 연결된 선택 트랜지스터를 포함한다. 상기 어레이는 기억 셀의 어드레스 위치를 포함하는 행(row) 및 열(column)의 교차점을 갖는 행 및 열 어레이로 구성된다.
대표적인 종래 기술 완전 특징 EEPROM 코어 아키텍쳐는 도 1에 도시되어 있다. 하나의 행내에서 모든 셀 선택 트랜지스터(21)의 제어 게이트에 전기적으로 결합되는 전용 워드 라인(11)에 의해 식별되는 메모리 셀의 행은 어드레스 가능 공간 내의 메모리 페이지와 등가이다. 직렬 접속된 가변 임계 트랜지스터(19)와 함께 각각의 셀 선택 트랜지스터(21)는 1 비트의 정보를 기억할 수 있는 하나의 메모리 셀을 구성한다. 워드 라인(11)이 가동될 때, 선택 트랜지스터(21)는 자체에 직렬 접속된 가변 임계 트랜지스터(19)를, 상기 가변 임계 트랜지스터(19)에 저장된 정보를 판독하는데 사용되는 비트 라인(25)에 결합시킨다. 완전 특징 EEPROM은 바이트 단위의 어드레스가 가능하므로 종래 기술인 완전 특징 EEPROM의 내부 데이타 구조는 1바이트를 구성하는 8비트로 제한되었다. 기억 셀의 가변 임계 트랜지스터(19)의 제어 게이트에 판독, 프로그래밍 및 소거 전압을 인가하는 감지 라인(15)은 8개의 연속적인 기억 가변 임계 트랜지스터의 제어 게이트, 또는 1 바이트(27)와 함께결합하는 세그먼트로 분할된다. 이 데이타 구조는 여분의 바이트 선택 컬럼 라인(13) 및 대부분의 바이트의 메모리 셀에 대한 바이트 선택 트랜지스터(17)의 사용을 필요로 하고, 바이트 선택 컬럼 라인 및 바이트 선택 트랜지스터에 의해, 오직 하나의 감지 라인만이 분할하며 그것에 의해 단지 1 바이트만이 프로그래밍 중에 개별적으로 선택될 수 있다. 상기 바이트 선택 트랜지스터(17)는 비교적 큰 실리콘 면적을 요구한다. 또한, 완전 특징 EEPROM은 8비트 데이타 워드의 1손실 비트를 검출 및 복구하기 위한 여러 종류의 에러 보정 실현수단을 요구하는데, 이 경우 일반적으로 코어 메모리 영역이 약 50%증가하면 4패리티 비트를 요구한다. 종래의 완전 특징 EEPROM 의 상기 아키텍쳐 특성은 지금까지 자체의 밀도를 1메가 비트로 제한하였다.
플래시 EEPROM 의 출현이 완전 특징 EEPROM과 관련된 문제점에 대한 해답을 제시하였다. 플래시 EEPROM은 메모리 셀당 하나 또는 두 개의 트랜지스터를 이용하지만, 바이트 선택 컬럼 라인 및 바이트 선택 트랜지스터를 포함하지 않는다. 이 방식에서, 플래시 EEPROM은 완전 특징 EEPROM보다 더 콤팩트한 설계를 달성하지만, 상기 플래시 EEPROM이 바이트 단위의 프로그램을 하는 것은 아니다. 플래시 EEPROM은 기억 셀의 블록, 또는 섹터로 이루어진 최소 기록 유닛을 갖는다. 일반적으로, 상기 블록은 메모리 어레이의 하나 이상의 행을 포함한다. 플래시 EEPROM은 자체의 컬럼을 바이트 단위가 아니라 출력 단위로 그룹 짓는다. 즉, 모든 워드의 모든 비트 0 들은 인접한다. 플래시 EEPROM은 완전 특징 EEPROM의 바이트 선택 라인 및 바이트 선택 트랜지스터를 제거할 수 있으므로 높은 밀도를 달성할 수 있다. 그러나,플래시 EEPROM의 대용량 메모리 블록은 전체 칩의 수명을 제한한다. 1 바이트의 메모리 블록을 재프로그램하기 위하여, 상기 전체 블록은 일반적으로 캐시로 구성된 일시 유지 메모리(temporary holding memory)에서 먼저 판독되어야 하고, 해당 바이트는 상기 유지 캐시내에서 편집되며, 전체 플래시 메모리 블록에는 상기 유지 캐시내의 데이타가 상기 플래시 메모리 블록으로 다시 기록되기 전에 소거 사이클이 수행되는데, 이는 다수의 메모리 셀에 불필요한 소거/기록 사이클을 발생시키고 사용가능한 시스템 캐시 공간을 비효율적으로 사용하게 만든다. 또한, 단지 몇 바이트 정도만이 동시에 재프로그래밍의 요구를 하는 경우에도 상기처럼 그 외의 여분의 바이트를 불필요하게 소거/기록하게 하는 것은 플래시 칩의 평균 프로그래밍 시간을 증가시킬 수 있다.
일부 종래 기술 장치는 완전 특징 EEPROM과 플래시 EEPROM사이의 절충안을 찾으려고 했었다. Rao에게 허여된 미국 특허 제4,949,309호는 완전 특징 및 플래시 소거 프로그래밍 모드를 둘 다 갖는 칩을 제공한다. 이러한 설계는 통상적인 EEPROM메모리 셀로부터 선택 트랜지스터를 제거하는 대신, 더 복잡한 워드 라인 디코딩 개념을 사용하였지만, 바이트 선택 라인 및 바이트 선택 트랜지스터를 유지하고 대부분의 워드 라인 쌍에 대한 추가적인 대량 소거 라인과 대량 소거 트랜지스터를 채용하였다. Radjy에게 허여된 미국 특허 제5,191,556호는 플래시 메모리 블록의 크기를 단일 메모리 페이지 즉, 메모리 셀의 행으로 감소시키는 방법을 제시하고 있다. Talreja 에게 허여된 미국 특허 제5,317,535 호는 8 비트에서 16 비트로 EEPROM의 데이타 포맷을 증가시키는 방법을 개시하고 있다. Gupta 에게 허여된특허 제5,353,248 호는 동일 칩상에 동일 크기의 백업 플래시 메모리를 갖는 SRAM을 개시하고 있다. 이것은 프로그래밍을 간단하게 하지만, 상기 플래시 메모리를 효율적으로 사용하지 못한다. Fujita등에게 허여된 미국 특허 제5,359,569 호는 캐시 메모리를 통합함으로써 사용자의 관점에서 플래시 메모리의 프로그래밍을 간단하게 하고, 컴퓨터 보드 레벨에서 복수의 플래시 소자의 엑세싱을 관리하도록 유닛을 제어한다.
본 발명의 목적은 메모리 셀이 거쳐야 하는 스트레스성의 프로그램 및 소거 사이클의 수를 감소시킨 반면에 고밀도를 달성할 수 있는 완전 특징 기능을 갖는 EEPROM을 제공하는 것이다.
본 발명의 다른 목적은 완전 특징 EEPROM의 데이타의 기록 속도를 개선하는 것이다.
본 발명은 전기적으로 소거/기록이 가능한 판독 전용 메모리 즉, EEPROM반도체에 관한 것으로, 특히, 상기 장치의 내부 아키텍쳐에 관한 것이다.
도 1은 일부 종래의 완전 특징 EEPROM 코어 어레이에 대한 트랜지스터 수준의 개략도.
도 2는 본 발명에 따라 구성된 플래시형 EEPROM 코어의 일부의 트랜지스터 수준의 개략도.
도 3은 도 2처럼 구성된 메모리 코어와 상기 코어에 대한 완전 특징 기록 액세스를 제공하는 주변 논리 회로를 통합한 본 발명의 EEPROM장치의 개략적인 블록도.
도 4A 내지 도 4C는 본 발명에 따르는 기록 상태 머신의 동작 흐름도.
본 발명은 완전 특징 구조 EEPROM에 대해 섹터 소거가 가능한 신규의 내부 아키텍쳐를 제공한다. 상기 EEPROM의 메모리 어레이는 복수의 선택적으로 소거가능한 페이지 섹터로 다시 분할되는 각각의 메모리 페이지를 갖는 메모리 페이지로 분할된다. 각각의 페이지 섹터는 복수의 개별적으로 판독 어드레스가 가능한 멀티 바이트 데이타 워드(read-addressable multi-byte data words)를 포함한다. 상기 페이지 섹터는 최소 프로그램 어드레스 가능 데이타 유닛이다. 페이지 섹터의 사용은, 동일한 페이지내의 다른 바이트가 재프로그램을 요구할 때, 소거 및 프로그램 사이클을 겪어야 하는 메모리 페이지내의 다른 선택되지 않은 데이타 바이트의 수를 감소시킨다. 또한, 메모리 셀의 각각의 바이트에 대해 선택 라인 및 선택 장치를 요구하는 완전 특징EEPROM 에서 제안되는 바와는 달리, 복수 워드 페이지 섹터 당 하나의 선택 라인 및 선택 장치만을 요구한다. 또한, 1 바이트의 비트 0 내지 7이 인접되어야 하는 종래의 완전 특징 EEPROM처럼 바이트에 의해서가 아닌, 동일 페이지 섹터내의 모든 비트 0 컬럼이 인접하는 출력 단위로 한 페이지 섹터내의 비트를 구성한다.
에러 보정 코드(Error correcting code, ECC) 유닛을 사용하는 종래 기술 메모리는 일반적으로 바이트당 적어도 1비트를 보정한다. 본 발명은 멀티 바이트 데이타 워드당 1비트를 보정하도록 ECC 유닛을 사용하며, 그것에 의해 데이타 바이트 당 ECC 비트의 수를 감소시킨다. 또한, 본 발명은 임의의 오판독 데이타 비트를 회복시키도록 상기 ECC유닛의 사용을 요구하는 임의의 메모리 워드의 자동 리프레쉬(refresh)기능을 채용하였다.
본 발명은 한 페이지 섹터 감지 라인의 가동을 제어하도록 래치의 뱅크를 사용한다. 이것이 상기 워드 라인상에서 저전압을 유지할 때 상기 감지 라인에 고전압을 인가하는 것을 가능하게 한다.
본 발명의 아키텍쳐는 하나의 메모리 코어 행에 물리적으로 대응하는 하나의 메모리 페이지내의 페이지 섹터의 일부, 또는 모두를 동시에 프로그래밍 및 소거할 수 있다. 이것은 사용자와 메인 메모리 코어 사이의 버퍼와 같이 동작하는 온 보드 저전압 기록 캐시의 추가에 의해 달성된다. 사용자가 상기 캐시에 연속적인 데이타 워드를 빨리 기록할 수 있기 때문에 기록 시간을 개선시킨다. 상기 기록 캐시는 상기 EEPROM 메모리 코어의 멀티 바이트 워드 구조에 관련된 멀티 바이트 워드 구조를 갖는다. 상기 캐시는 상기 메모리 코어의 하나의 메모리 페이지와 동일한 크기를 갖지만, 바이트 레벨에서 멀티 바이트 워드 레벨로 데이타 내부 흐름을 반전시킨다. 상기 기록 캐시는 사용자로부터의 데이타를 바이트 형태로 수용하고, 바이트 플래그의 사용을 통해 모든 신규 데이터를 그 경로를 따라 추적한다. 사용자가 신규 데이타 입력을 종료했을 때, 신규 입력된 데이타의 최종 래치된 행 어드레스, 고(high) 어드레스 비트는 상기 코어 메모리 페이지, 즉, 상기 입력된 어드레스에 대응하는 행을 결정한다. 상기 기록 캐시는, 신규 입력된 데이타가 상기 메모리 코어로부터 판독된 구(舊)데이타에 겹쳐 쓰이지 않도록 하면서, 상기 선택된 메모리 코어 행로부터 ECC 유닛을 통해 모든 이전 데이터를 멀티 바이트 워드 율(rate)로 입력받아 캐시 메모리로 넘긴다. 이 때 소자는 페이지 섹터 플래그 및/또는 ECC 에러 신호(ERR)를 사용하여, 신규 데이타가 수신되었거나 손실된 데이타를 회복시키기 위해 ECC 유닛이 필요했던 상기 기록 캐시내의 상기 페이지 섹터만 복구시킨다. 상기 기록 캐시는 바이트 단위뿐만 아니라 멀티 바이트 데이타 워드 기록 어드레스가 가능하고 멀티 바이트 데이타 워드 판독 어드레스도 가능하다.
도 2에 따르면, 본 발명인 EEPROM아키텍쳐의 특유의 메모리 코어 구조는 메모리 페이지, 즉, 하나의 행내의 모든 기억 셀을 2, 4 또는 그 이상의 페이지 섹터(33)로 분할한다. 각 기억 셀은 가변 임계 기억 트랜지스터(24)에 직렬 접속되는 셀 선택 트랜지스터(22)를 포함한다. 바람직한 EEPROM아키텍쳐는 8 비트 외부 바이트 판독/기록 액세스 가능성을 유지하면서 16 비트 또는 32 비트 내부 데이타 워드 아키텍쳐를 사용한다. 상기 신규 코어 구조는 바이트 또는 워드에 의해서가 아닌, 복수 데이타 워드로 이루어진 각각의 페이지 섹터(33)를 갖는 페이지 섹터(33)에 의해 비트 라인을 그룹화하며, 그 결과 바이트 선택 라인 및 바이트 선택 트랜지스터가 더 이상 사용되지 않는다. 대신에, 상기 신규 아키텍쳐는 각각의 페이지 섹터(33)에 대한 선택 래치로 구현되는 페이지 섹터 선택 장치 및 페이지 섹터 선택 라인(37)을 사용하며, 따라서 공핍 모드 선택 트랜지스터를 사용할 필요가 감소된다. 선택적으로, 상기 페이지 섹터 선택 장치는, 도 2에 도시되어 있는 바와 같이, 선택 트랜지스터(40)로 수행될 수 있다. 각각의 페이지 섹터(33)내의 데이타 비트는 랭크에 의해 배열되는데 이 때 동일 랭크(rank)의 비트들이 블록으로 함께 그룹화 된다. 이는 종래 기술처럼 비트를 바이트로 그룹화 해서 각 비트그룹이 랭크 0인 1 비트 , 랭크 1인 1 비트 , 랭크 2인 1 비트 식으로 해서 랭크 7 인 1 비트까지로 이루어지는 것과는 다르다. 본 발명에서, 각각의 페이지 섹터(33)가 32 개의 16 비트 워드로 이루어지면, 각각의 페이지 섹터(33)는 16 비트 라인 블록(31)으로 분할되는데 이 때 각각의 비트 라인 블록은 32 비트의 동일 랭크로 이루어진다. 예를 들어, 16 비트 폭 워드 구조의 경우에 페이지 섹터(33)내의 랭크 0 의 모든 비트는 비트 라인 블록 0(31)내에 연속적으로 그룹화 되고, 동일 페이지 섹터(33)내의 랭크 1 의 모든 비트는 비트 라인 블록 1(도시 생략)내에서 연속적으로 그룹화 되며 이런 식으로 비트 라인 블록 15(35)까지 계속된다.
도 3 을 참조하면, 상기 신규 EEPROM 아키텍쳐는 상기 메모리 코어의 판독 액세스 중에 발생될 수 있는 2, 4 또는 그 이상의 긴 바이트 워드당 임의의 1 비트 에러를 검출 및 자동적으로 보정하도록 해밍(Hamming) 코드에 기초한 ECC 메카터즘 (73)을 또한 사용한다. 멀티 바이트 데이타 아키텍쳐의 사용은 상기 워드가 더 광대하면 할수록 상기 ECC 패리티 비트와 상기 데이타 비트 사이의 비가 더 작아지기 때문에, 실리콘 영역을 더 많이 감소시킨다. 예를 들어, 8 비트 데이타 워드의 1비트를 보정하기 위해서는 데이타 워드당 50 % 의 비트 폭 증가에 대해 4 비트 패리티 비트가 요구되는데, 16 비트 데이타 워드는 31 % 의 증가에 대해 5 패리티 비트를 요구하고, 32 비트 데이타 워드는 단지 19 %의 증가에 대해 6 패리티 비트를 요구한다.
본 발명은 멀티 바이트 워드로 배열된 내부 데이타 아키텍쳐를 갖지만, 시스템 사용자와는 바이트 단위로 통신한다. 도 3 에 도시되어 있는 바와 같이, 본 발명의 회로는 멀티 바이트 워드중 어떤 바이트가 시스템 사용자에게 보내져야 하는지를 선택하는 연속적인 멀티플렉싱 회로(75)와 시스템 사용자로부터 로드되는 바이트 크기 데이타를 수용하기 위해서와 기록 캐시(83)의 복수 기록 클록 수행에 의해 연속적인 바이트 크기 데이타 청크(chunk)를 멀티 바이트 데이타 워드로 그룹화 하기 위한 디멀티플렉싱 회로(79)를 통해 상기 목적을 달성한다. 상기 기록 래치(83)는 하나의 코어 메모리 페이지의 크기이고, 아래에 기술되는 바와 같은 소거/기록 사이클 중에 전체 메모리 페이지의 되읽기 사이클(read back cycle)을 실행하기 위해 유한 상태 머신(finite state machine) 및 카운터와 같은 모든 자체의 필수 제어 논리를 구비한 SRAM으로 구현된다.
프로그램밍은 3 개의 사이클; 즉, 로드 사이클, 되읽기 사이클 및 로드백 (road back) 사이클로 이루어진다. 상기 프로그래밍 사이클은 시스템 사용자가 신규 데이타를 기록 캐시(83)에 로드하는 동안 구동되는, 사용자에 의한 로드 사이클로 개시된다. 종래 기술 EEPROM 에서와 같이, 사용자는 CE% 가 낮게 유지되면 WE%핀을 통해 로드 클록을 제공한다. 대안적으로, 상기 로드 클록은 상기 WE% 핀이 낮게 유지되면 상기 PE%핀을 통해 제공될 수도 있다. 각각의 로드 사이클에서, 선택된 바이트 어드레스의 대응하는 바이트 플래그(byte flag)가 가동된다. 멀티 바이트 워드당 2, 4 또는 그 이상의 바이트 플래그가 있지만, 상기 기록 캐시는 바이트 단위로 기록-어드레스(byte write-addressable)가 가능하다. 상기 WE%외부 클록은 시스템 사용자로부터의 명령 모드를 기록 상태 머신(WSM, 77)에 대한 제어 신호로 번역하는 인터페이스로 사용되는 명령 디코더(도시 생략)를 구동시킨다. 상기 기록상태 머신(77)은 프로그램의 상이한 판독 및 기록 단계와 소거 사이클뿐만 아니라 아래에 기술되는 바와 같은 셀을 적절하게 프로그램하고 소거하는데 필요한 전압 및 타이밍을 교대로 제어한다. 종래 기술의 메모리 로드에서와 같이, 상기 로드 사이클은 타임 아웃 프로토콜을 사용하여 종료한다.
종래 기술 EEPROM 이 시스템 사용자에 대해 칩의 내부 기능 모드로 액세스할 수 있도록 하는 명령 디코더를 갖지만, 종래 기술 EEPROM 은 일부 사용자 모드로만 시스템 사용자의 액세스를 제한한다. 상기 신규 EEPROM 아키텍쳐는 모든 사용자 모드 및 테스트 모드의 시스템 사용자 제어를 제공하도록 상기 명령 디코더의 사용을 확장한다. 상기 칩은 8 비트 모드 레지스터를 가지며, 이는 상기 시스템 사용자가 소정의 전용 시퀀스를 사용함으로써 소프트웨어 기록 보호 프로토콜을 통해 원하는 명령 모드 ID바이트를 갖고 로드할 수 있는 것이다. 상기 모드 레지스터는 실현을 위해, WSM(77)과 적절한 제어 신호를 통신하는 명령 디코더에 의해 판독된다.
로드 사이클에 후속하여, 프로그래밍 제어가 상기 WSM(77)에 이전되어 되읽기 사이클을 개시함으로써 시작된다. 상기 로드 사이클의 말단에서 래치된 페이지 어드레스에 기초하여, 되읽기 사이클중에 상기 WSM(77)은 워드 라인(57)에 의해 기록 캐시(83)로 정의되는 바와 같은 대응하는 코어 메모리 페이지로부터 데이타를 판독하기 시작한다. 상기 캐시 바이트 플래그(85)는 상기 메모리 코어로부터 현재 판독되고 있는 기존 데이타에 시스템 사용자에 의해 입력된 임의의 신규 데이타가 재기록되지 않게 하는데 사용된다. 코어 메모리 페이지의 되읽기 사이클중에, 상기 WSM(77)은 ECC(73)가 적어도 하나의 데이타 워드를 보정했는지를 검출하기 위해ECC 유닛(73)에서 나오는 에러 신호, 즉 ERR 111를 모니터한다. 상기 ECC(73)가 사용자가 기록 캐시(83)로 임의의 신규 데이타를 로드하지 않았을 지라도 데이타 워드를 보정하였다면, 상기 WSM(77)은 대응하는 프로그래밍 페이지 섹터 플래그(47-50)를 세트하고 상기 페이지 섹터 감지 라인(99-102)중 하나에 의해 결정되는 상기 보정된 페이지 섹터를 프로그램하도록 진행하여 이 페이지 섹터를 리프레쉬한다. 이러한 방식으로 상기 칩의 데이타 보유 성능이 확장된다. 상기 코어 메모리 페이지가 상기 기록 캐시(83)에 기록되면, 상기 WSM(77)은 가동되는 자체의 페이지 섹터 플래그(47-50)를 가지는 대응하는 페이지 섹터 감지 라인(99-102)에 의해 정의되는 바에 따른 페이지 섹터가 소거되는, 소거 단계를 개시한다. 이러한 방식으로, 신규 로드된 데이타를 수신하거나 또는 손실 데이타를 복구하도록 ECC(73) 유닛을 요구하는 코어 메모리 페이지 섹터만이 소거된다. 따라서, 상기 칩은 아래의 조건중 어느 하나를 만족시키는 페이지 섹터만을 갱신한다: (1) 사용자가 상기 기록 캐시(83)의 대응 페이지 섹터에 적어도 하나의 신규 바이트를 로드한다.; (2) 되읽기 사이클중에, 메모리 코어로부터 기록 캐시(83)로의 페이지 섹터의 전송시, 적어도 하나의 에러를 보정하기 위해 ECC(73)를 사용한다. 상기 페이지 섹터중 어느 것도 상술된 조건중 어느 하나를 만족시키지 못한다면, 상기 칩은 상기 프로그래밍 사이클을 함께 중단시킨다. 그러나, 상기 조건중 어느 하나를 만족시킨다면, 상기 칩은 상기 선택된 페이지 섹터만을 재프로그램할 것이고, 따라서, 상기 코어 메모리 페이지상의 불필요한 스트레스를 방지하고 종래 기술 플래시 EEPROM 내구성 레벨과 비교하여 상기 EEPROM의 내구성을 결과적으로 개선시킨다.
상기 WSM(77)은 대응하는 코어 메모리 페이지 섹터의 프로그래밍 준비를 하면서 상기 기록 캐시(83)로부터 고전압 페이지 섹터(43-46)로 데이타를 전송하는, 로드 백 사이클을 개시한다. 상기 로드 백 사이클중에, 상기 ECC 유닛(73)은 상기 기록 캐시내의 각각의 데이타 워드에 대한 신규 패리티 비트를 발생시켜 상기 기록 캐시로부터의 데이타와 함께 상기 메모리 코어에 기록되도록 상기 신규 패리티 비트를 상기 고전압 페이지 섹터(43-46)로 송달한다. 상기 WSM(77)이 상기 고전압 페이지 섹터(43-46)를 로딩하는 것을 종료하면, WSM(77)은 상술한 조건에 의해 기록 되어야 할 것으로 결정된 페이지 섹터에만 높은 프로그래밍 전압을 인가한다. 프로그래밍 종료 시에, 상기 WSM(77)은 상기 메모리 성분의 내부 클록을 상기 시스템 외부 클록과 동기시키도록 어드레스의 변이를 사용하는 어드레스 변이 검출(ATD) 회로(도시 생략)로 제어을 다시 되돌림으로써 상기 칩이 정상 판독 모드를 재개할 수 있다.
도 3을 참조하면, 상기 메모리 코어는 상기 메모리 페이지 분절 (segmentation)에 따라서 분절된다. 상기 X-선택 디코더(55)에서 기인하는 워드 라인(57)은 메모리 페이지를 한정하고, 모든 워드 라인 래치 뱅크(51-54) 및 메모리 섹터(59-62)에 결합된다. 각각의 메모리 섹터(59-62)는 페이지 섹터 감지 라인(99-102)에 의해 각각 한정되는 각각의 페이지 섹터를 갖는 복수의 페이지 섹터로 이루어진다. 워드 라인 래치 뱅크(51-54)는 자체의 페이지 섹터 감지 라인(99-102)을 통해 대응하는 메모리 섹터(59-62)에만 결합된다. 예를 들어, 워드 라인 래치 뱅크 "0"(51)은 자체의 페이지 섹터 감지 라인(99)을 통해 메모리 섹터 "0"(59)내의 페이지 섹터에만 결합된다. 정상 프로그래밍시에, 워드 라인 래치 뱅크(51-54)의 임의의 조합이 활성화될 수 있고, 그것에 의해 상기 선택된 페이지 섹터의 페이지 섹터 감지 라인을 내부 고프로그래밍 전압(internal high programming voltage)으로 상승시킨다. 종래 기술인 완전 특징 EEPROM 아키텍쳐의 바이트 선택 트랜지스터는 상기 페이지 섹터 플래그(47-50)와 상기 선택된 워드 라인 래치 뱅크(51-54)에 의해 구동되는 섹터 선택 래치로 대체된다.
상기 메모리 코어 위에 고전압 페이지 섹터(43-46) 및 상기 비트 라인을 상기 내부 고전압 레벨로 선택적으로 상승시킬 수 있는 래치의 행(row)가 존재한다.
상기 메모리 코어 아래에 정상 판독 사이클, 되읽기 사이클, 로드 사이클 및 로드 백 사이클 중에 필요한 데이타 경로를 제어하기 위해 형성된 신규 아키텍쳐가 존재한다. 상기 아키텍쳐는 정상 판독 사이클 및 프로그램 명령의 데이타 경로를 설명함으로써 가장 적절하게 이해될 수 있다.
상기 ATD 회로(도시 생략)에 의해 제어되는 판독 사이클 중에, 데이타는 활성 Y-선택 패스 트랜지스터(63-66)을 통해 감지 앰프(67 및 69)에 의해 판독된다. 데이타 비트는 감지 앰프(67)에 의해 판독되고, 패리티 비트는 감지 앰프(69)에 의해 판독된다. 상기 감지 시간이 끝났을 때, 마스터 클록 신호("MCLK")(91)는 낮아지고 전체 워드, 즉 데이터 및 패리티 비트를 마스터 래치 레지스터(71)로 래치한다. MCLK가 고에서 저로 변위되면 이를 개시신호로 하여, 상기 ECC(73) 매트릭스는 상기 마스터 래치 레지스터 출력에 의해 자기에게 전송된 행(raw) 데이타를 계산하기 시작한다. MCLK와는 위상이 다른 슬레이브(slave) 클록 신호("SCLK")(93)는 높아지고 상기 ECC 출력을 상기 슬레이브 래치 멀티플렉서 레지스터(75)로 전송하게 한다. 이 레지스터는 상기 ECC 출력으로부터 보정된 데이타 워드를 수신하고, 적어도 하나의 최하위 유효 어드레스 비트(the least significant address bits, 95) 즉, 16 비트 크기 워드인 경우 A0, 또는 32 비트 크기 데이타 워드인 경우의 A1 및 A0 을 사용함으로써 멀티 바이트 데이타 워드로부터 단지 1 바이트만을 선택한다. 상기 슬레이브 래치 멀티플렉서 레지스터로부터의 출력은 상기 칩 출력 버퍼(78)를 직접 구동시키는데, 이는 상기 0E% 핀으로부터도 구동될 수 있다. 상기 ATD 회로에 의해 검출되는 후속 어드레스 변경 후에, SCLK 가 낮아지고, 따라서 상기 신규 데이타의 감지 시간과 동일한 제어된 구 데이터 유지 시간을 제공한다. MCLK 는 상기 감지 앰프(67 및 69)가 자체의 신규 출력을 마스터 래치 레지스터로 전파하게 하기 위해 높아진다.
상기 MCLL및 SCLK내부 클록 신호는 상기 칩 판독 사이클을 상기 시스템 클록과 동기시키는 어드레스 변이 검출(ATD) 회로(도시 생략)에 의해 발생된다. 또한 상기 어드레스 변이 검출(ATD) 회로는 고출력 스위칭 전류에 의해 발생된 내부 전력 레일 잡음에 대해 상기 칩을 보호한다.
상기 프로그래밍 명령은 시스템 사용자로부터의 입력 데이타가 종래 기술과 같이 고전압 페이지로 직접 로드되는 대신에 저전압 SRAM 기록 캐시(83)로 로드되는 동안 사용자 구동 로드 사이클로 개시된다. 상기 기록 캐시(83)는 워드(84)와 이에 더해 바이트 플래그(85)로 구성되지만 바이트 단위의 기록이 가능하며, 사용자가 데이타를 바이트로 입력할 때, 입력 디멀티플렉서(79)는 하위 어드레스비트(95)로 식별되는 바와 같이 멀티 바이트 워드로 배열되도록 기록 캐시에 적절한 바이트를 표시한다. 상기 기록 캐시는 9 번째 비트, 바이트 플래그를 워드의 각각의 바이트로 결합함으로써 사용자에 의해 입력된 신규 데이타와 상기 메모리 코어로부터 판독된 구 데이타를 구별한다. 로드 사이클의 개시에서, 예컨대, 모든 바이트 플래그는 이 순간에 상기 기록 캐시내의 모든 데이타가 파괴되고 되읽기 사이클이 개시될 때 상기 코어 메모리로부터의 데이타로 대체될 수 있다는 것을 의미하도록 세트된다. 시스템 사용자에 의해 생성된 각각의 로드 액세스에서, 상기 페이지 내부의 선택된 바이트 어드레스에 대응하는 바이트 플래그가 리셋되어 이들 어드레스가 되읽기 사이클중에 코어 메모리로 기록되지 않는다. 따라서, 상기 기록 캐시(83)는 로드 백 사이클이 개시될 때 신규 로드된 데이타를 보유하고, 상기 기록 캐시(83)는 상기 코어 메모리로의 기록에 대비하여 고전압 페이지 섹터(43-46)에 자체의 내용의 로딩을 개시한다.
각 워드 라인 래치 뱅크(51-54)는 자체의 페이지 섹터 플래그(47-50)을 갖는다. 로드 사이클의 개시에서, 모든 페이지 섹터 플래그(47-50)는 워드 라인 래치 뱅크(51-54) 및 결과적으로 페이지 섹터가 작동하지 않는 것을 의미하도록 리셋된다. 적어도 1 바이트가 상기 기록 캐시(83)의 페이지 섹터로 로드되면, 상기 대응하는 페이지 섹터 플래그(47-50)가 세트되어 그것에 의해 페이지 섹터 감지 라인(99-102)에 의해 정의되는 바와 같이 대응하는 코어 메모리 페이지 섹터를 제어하는 워드 라인 래치 뱅크를 작동시킨다. 상기 로드 사이클은 종래 기술에서와 같이 타임 아웃 기간 프로토콜(time-out period protocol)을 통해 종료된다.
이 순간부터, 상기 프로그래밍 제어는 기록 상태 머신(77)에 속한다. 상기 WSM 은 상기 Y-선택 패스 트랜지스터(63-66)를 통해 기록 캐시(83) 및 선택된 코어 메모리 페이지를 스위프하기 위해 내부 워드 어드레스 비트를 구동시킬 능력을 갖는다. 도 4A 내지 도 4C 는 다양한 명령 모드 하에서 취해지는 명령 경로를 포함하는 WSM 의 동작 흐름도이다. 명령 모드를 프로그래밍하기 위해, 로드 사이클 타임 아웃 기간에 후속하여 상기 WSM 이 되읽기 사이클을 개시한다. 상기 되읽기 사이클 내의 각각의 판독 워드 단계(read word-step)는 아래에 기술되는 바와 같이 4 단계를 갖는다.
단계 1 : 상기 SRAM 컬럼은 약 VCC/2 에서 균등화된다. 이러한 균등화 시간 동안 상기 WSM(77)이 상기 SRAM 내용을 갱신함없이 워드 어드레스를 변경시킨다. 갱신된 워드 어드레스에서, 상기 코어는 데이타 감지 앰프(67)에 의해 및 패리티 감지 앰프(69)에 의해 액세스되고, 구(舊) 행(raw) 데이터와 이에 더한 패리티 비트는 상기 ECC회로(73)에 제공된다.
단계 2 : 상기 ECC(73)가 에러 보정을 종료할 때, 자체의 출력에 유효 데이타를 가지고, 상기 원 데이타가 보정되어야 하면 세트 에러 신호(ERR)(111)를 갖는다. 동시에, 상기 SSAM 은 자체의 출력에 바이트 플래그를 래치시키고, 후속 워드 단계까지 상기 플래그를 래치된 상태로 유지한다.
단계 3 : 상기 되읽기(RB) 게이트(81)는 상기 WSM(77)이 상기 바이트 플래그를 평가하는 동안 기록 캐시(83) 입력에 상기 ECC(73) 출력을 접속시킨다.
단계 4 : 워드내의 각각의 바이트는 상기 대응하는 바이트 플래그가 이전 단계 중에 세트한 것으로 판독되는 경우에만 상기 WSM(77)으로부터 도달하는 자체의 SRAM기록 클록 신호(도시 생략)을 갖는다. 상기 바이트 플래그가 리셋으로 판독되면, 이 위치가 신규로 로드된 데이타를 갖는 것을 의미하며 상기 기록 캐시 SRAM은 상기 대응하는 바이트에 대한 기록 클록을 수신하지 않고, 신규 로드된 데이타가 상기 기록 캐시에 유지될 것이다.
전체 되읽기 사이클 중에, 상기 WSM(77)은 도 4A 의 단계 2 에 도시되어 있는 바와 같이 ECC 에러 신호(ERR)(111)을 모니터한다. 워드가 에러를 보정하기 위해 ECC(73)를 사용하여 되읽기될 때, 상기 ERR(111) 신호는 세트되고, 상기 WSM은 상기 로드 사이클에 의해 이미 세트하지 않았다면 대응하는 워드 라인 래치 뱅크 (51-54)의 페이지 섹터 플래그(47-50)를 세트할 것이다.
상기 WSM(77)은 온 칩 고전압 펌프(도시 생략)를 시동하고 소거 단계를 개시한다. 세트 페이지 섹터 플래그(47-50)을 갖는 상기 워드 라인 래치 뱅크(51-54)만이 상기 소거 전압을 수신할 것이다. 상기 대응 코어 메모리 페이지 섹터는 소거된다. 상기 WSM(77)은 이 소거 단계를 종료시키도록 온 칩 타이머(도시 생략)를 또한 폴링한다(poll). 소거 시간의 종료에서, 상기 WSM(77)은 소거 복구를 실행, 즉, 상기 선택된 감지 라인 섹터 세그먼트상에 고전압을 방전한다.
이어서, 상기 WSM(77)은 로드 백 사이클을 개시한다. 상기 WSM은 다시 워드 어드레스 공간을 스위프하고, 각각의 로드 워드 단계는 다시 아래에 기술하는 바와 같이 4단계를 갖는다.
단계 1 : 상기 SRAM 컬럼은 약 VCC/2 에서 균등화된다. 이러한 균등화 시간중에 상기 WSM은 상기 SRAM 내용을 갱신함없이 워드 어드레스를 변경할 수 있다.
단계 2 : 상기 SRAM 감지 앰프(도시 생략)는 상기 후속 워드 단계가 상기 SRAM출력(87)에서 래치된 상태를 유지할 때까지 신규 데이타를 판독한다.
단계 3 : 상기 ECC(73)는 패리티 발생 모드로 스위치되고, 자체의 입력은 데이타 버스(107)를 통해 SRAM 출력(87)에 접속된다. 이러한 멀티플렉싱 기능은 상기 되읽기 신호(RB)(103) 및 로드 백 신호(LB)(104)에 의해 제어되는 이중 입력을 갖는 마스터 래치 레지스터(71)에 의해 송달된다. RB 와 LB 둘다 상기 WSM 에 의해 제어된다. 단계 3 의 종료에서, 상기 ECC(73) 출력 패리티 비트(89)가 준비되고, 상기 SRAM 데이타 비트(87)와 함께 기록되도록 버스(109)상에 유효 신규 패리티 정보를 표시한다.
단계 4 : 상기 SRAM출력 버퍼(87)는 버스(107)를 구동시키고, 상기 ECC 패리티 출력 버퍼(89)는 버스(109)를 구동시켜, 상기 신규 워드를 적절한 Y-선택 패스 트랜지스터(63-66) 및 코어 비트 라인을 통해 고전압 페이지 섹터(43-46)으로 기록한다.
상기 WSM(77)은 기록 단계를 개시시킨다. 또, 세트 페이지 섹터 플래그(47-50)을 갖는 워드 라인 래치 뱅크(51-54)만이 자체의 페이지 섹터 감지 라인(99-102)상에 높은 프로그래밍 전압을 송출한다. 각각의 활성 메모리 섹터(59-62)내에서, 단지 세트 고전압 페이지 래치를 갖는 비트 라인만이 실제로 고전압을 가지고, 따라서 상기 선택된 코어 행상의 기억 셀에 기록한다. 상기 선택된 워드 라인(57)은 또한 고전압을 갖는다. 상기 WSM(77)은 이러한 기록 단계를 종료시키도록 온 칩타이머를 폴링시킨다. 기록 시간의 종료에서, 상기 WSM(77)은 비트 라인 복구를 실행, 즉, 상기 선택된 비트 라인상에 고전압을 방전시키며, 따라서 워드 라인을 복구시킨다. 상기 WSM(77)은 온 칩 고전압 펌프를 방전시키고, 엑시트 시에 상기 칩 제어를 ATD 회로에 통과시켜, 상기 칩이 판독 모드를 재개시킬 수 있다.
본 발명의 회로는 WSM(77)의 기록 상태를 폴링하는 종래 기술의 방법에 3 개의 신규 비트를 도입함으로써 인터럽트가능 로드 사이클을 또한 수행한다. 로드 사이클의 개시에서, 모든 3 개의 신규 상태 비트가 리셋되고, 아래에 기술하는 바와 같이 기록 사이클 중에 상이한 포인트에서 세트한다.
비트 : 로드 타임 아웃 경고 -- 종료된 로드 사이클의 총 타임 아웃 기간의 75%후에 세트되고, 상기 WSM의 엑시트까지 세트를 유지한다.
비트 : 소거 활성화 --되읽기 및 소거 단계 중에 세트된다.
비트 : 기록 활성화 --로드 백 및 기록 단계 중에 세트된다.
대표적인 인터럽트가능 로드 사이클이 아래의 흐름으로 후속한다:
부분 1 : 사용자 시스템은 기록 캐시 SRAM을 클리어하고 상기 로드 사이클의 종료시에 코어 갱신을 진행하지 않도록 상기 칩에 알리는 모드 ID 를 로딩함으로써 기록 캐시 클리어 플러스 로드 사이클만을 개시한다. 이러한 로드 사이클 중에, 상위 우선순위 인터럽트 요구가 도달하면, 사용자 시스템은 상기 인터럽트 요구를 안전하게 부여하고 이러한 로드 사이클을 지연시킨다. 다른 공정의 엑시트에서, 사용자 시스템은 아래와 같은 상태 조회 성능을 사용해야 한다:
-- 동일한 어드레스에서 연속적인 판독 사이클에 의해 상기 WSM 이 여전히활성화 상태임을 의미하는 상기 토글 비트가 여전히 활성화 상태인지를 체크한다. 상기 토글 비트가 토글링중이면, 상기 사용자 시스템은 로드 타임 아웃 경고 비트를 체크해야 한다. 상기 토글 비트가 리셋되면, 상기 사용자 시스템은 데이타 로딩을 종료하도록 총 로드 사이클 타임 아웃 기간의 적어도 25%를 가져 상기 로드 사이클을 안전하게 재개시킬 수 있다. 상기 토글 비트가 토글링중이지만 상기 로드 타임 아웃 경고 비트가 이미 세트되었다면, 상기 사용자 시스템은 상기 칩이 타임 아웃 기간을 종료하게 하고 상기 토글 비트가 상기 WSM 이 더 이상 활성화 상태가 아님을 나타내는 토글링을 야기한 후에 로딩을 재개하도록 시도한다.
-- 상기 토글 비트가 더 이상 활성화 상태가 아니라면, 상기 사용자 시스템이 부분 2로 진행할 수 있다.
부분 2 : 로드만이 인터럽트 가능성을 갖는 로딩 사이클을 지속시키도록 모드 ID 로 로드되어야 한다. 상기 상태 조회에 의해 제공된 핸드세이크(handshake)가 아래에 기술하는 바와 같이 사용되어야 한다.
부분 3 : 상기 로드 사이클의 종료시에, 즉, 모든 인터럽트에도 불구하고 상기 사용자 시스템이 상기 선택된 페이지내의 모든 신규 바이트를 로드하기 위해 관리할 때, 또는 상기 사용자 시스템이 모든 상위 우선순위 인터럽트를 디스에이블할 수 있을 때, 최종 로드 플러스 프로그램이 모드 ID 가 상기 기록 캐시내에 로드된 신규 데이타를 갖는 코어를 갱신하게 하도록 상기 칩에 제공될 수 있다.
상기 최종 로드는 실질적으로 비어있을 수 있다. 상기 칩은 규칙적인 로드 사이클 타임 아웃 기간을 관측하고 프로그래밍으로 진행한다. 상기 최종 로드 사이클이 비어있을 수 있기 때문에, 상기 최종 로드 모드가 인터럽트될 수 있다는 것은 명백하다. 상기 칩이 상기 로드 타임 아웃을 카운트하기 위해 온 칩 타이머를 사용하고 있기 때문에, 인터럽트가 상기 칩을 프로그래밍 입력으로부터 방해하지 않을 것이다. 실제로, 상기 최종 로드 플러스 프로그래밍 모드 ID를 제공한 후에, 상기 사용자 시스템은 다른 공정을 사용하는 것으로 진행할 수 있다.
Claims (27)
- EEPROM에 있어서,소거 가능 및 프로그램이 가능한 서브 페이지 섹터- 각 서브 페이지 섹터는, 섹터 선정 소자를 통해 섹터 감지 라인과 연결되고 다시 차례로 서브 페이지 섹터내의 모든 저장 장치와 연결된 섹터 선정 라인에 의해 정의되며, 상기 서브 페이지 섹터 각각은 상기 섹터 선정 소자에 의해 개별적으로 어드레스가 가능하고, 각 서브 페이지 섹터는 메모리 페이지의 정수 인자이며, 각 서브 페이지 섹터는 복수 개의 개별적으로 판독 어드레스가 가능한 멀티 바이트 데이터 워드로 분할되며, 상기 메인 메모리 코어는 고(高) 전압 페이지를 통해 억세스할 수 있는 고 전압전원을 가짐- 로 분할되는 EEPROM 메모리 셀의 어레이로 구성되는 메인 메모리 코어와,외부 입력 및 출력 데이터 리드, 입력 어드레스 리드, 기록 기동 리드, 칩 기동 리드 -상기 어드레스 및 데이터 리드는 내부적으로 기록 캐시에 연결되고 상기 기록 캐시는 상기 메인 메모리 코어에 연결됨- 와,메모리 코어 및 상기 기록 캐시로부터 제공되는 멀티플렉스된 입력과, 상기 메모리 코어 및 기록 캐시에 연결되며 데이터 비트와 패리티 비트를 나타내는 멀티 플렉스된 출력을 가지는 에러 수정 제어(ECC) 유닛을 포함하는 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 상기 저장 장치 각각은 전기적으로 소거 및 프로그램이 가능한 메모리 소자에 직렬로 연결된 셀 선정 트랜지스터를 포함하는 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 모든 서브 페이지 섹터는 동일한 크기를 갖는 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 상기 섹터 선정 소자는 래치인 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 상기 섹터 선정 소자는 선정 트랜지스터인 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 상기 기록 캐시는 복수 개의 SRAM 소자를 포함하는 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 상기 기록 캐시는 저(低) 전압 캐시를 포함하는 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 상기 기록 캐시는 하나의 메모리 페이지의 크기와 동일한 크기를 갖는 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 상기 기록 캐시는 멀티 바이트 워드의 각 바이트에 대해 분리된 기록 제어 신호를 수신하는 수단을 포함하는 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 상기 ECC 유닛으로부터의 상기 멀티플렉스된 출력은 상기 입력 및 출력 데이터 리드에 선택적으로 연결된 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 상기 ECC 유닛은 데이터 워드가 훼손된 데이터일 경우, 이를 지시하는 출력 신호를 생성하는 수단을 포함하는 것을 특징으로 하는 EEPROM.
- 제1항에 있어서, 데이터 워드 비트 카운트에 대한 ECC 비트 카운트의 비율이 50% 이하인 것을 특징으로 하는 EEPROM.
- EEPROM에 있어서,행과 열의 어레이로 배열되는 복수 개의 메모리 셀- 상기 메모리 셀은 복수개의 메모리 유닛으로 그룹지어지고, 각 메모리 유닛은 데이터 워드 섹션 및 패리티 비트 섹션을 포함함-과,메모리 유닛의 데이터 워드 섹션에 억세스하기 위한 데이타 버스와,메모리 유닛의 패리티 비트 섹션에 억세스하기 위한 패리티 버스와,상기 데이터 버스와 패리티 버스에서 선택적으로 래치하기 위한 마스터 래치와,상기 마스터 래치로부터 상기 데이터 버스와 패리티 버스에 래치된 것을 수신하기 위한 에러 수정 제어(ECC) 유닛- 상기 ECC 유닛은 상기 패리티 비트 섹션에 대응하는 수정된 데이터 워드와 상기 데이터 워드 섹션에 대응하는 패리티 비트중 하나를 선택적으로 생성함-과,상기 ECC 유닛으로부터 상기 수정된 데이터 워드를 입력/출력 리드 세트에 선택적으로 라우팅하기 위한 출력 데이터 라우팅 수단과,상기 ECC 유닛으로부터 상기 새로운 패리티 비트 세트를 상기 패리티 버스에 선택적으로 연결하기 위한 패리티 비트 라우팅 드라이버를 포함하는 것을 특징으로 하는 EEPROM.
- 제13항에 있어서, 상기 데이터 워드 섹션은 1 바이트 이상을 포함하는 것을 특징으로 하는 EEPROM.
- 제13항에 있어서, 상기 데이터 버스에 연결된 출력 수단을 가지며, 상기 ECC 유닛으로부터 상기 수정된 데이터 워드를 선택적으로 수신하는 기록 캐시를 추가로 포함하는 것을 특징으로 하는 EEPROM.
- 제15항에 있어서, 상기 입력/출력 리드로부터 바이트 크기의 입력을 수신해서, 메모리 유닛의 데이터 워드 섹션과 크기가 동일한 데이터 입력 워드로 상기 바이트 크기의 입력을 배열하고, 상기 데이터 입력 워드를 상기 기록 캐시에 저장하는 입력 데이터 라우팅 수단을 추가로 포함하는 것을 특징으로 하는 EEPROM.
- 제16항에 있어서, 상기 기록 캐시는, 상기 입력 데이터 라우팅 수단으로부터의 데이터 입력 워드가 상기 기록 캐시에 저장되는 것에 대한 응답으로 셋팅되는 플래그 비트를 추가로 포함하는 것을 특징으로 하는 EEPROM.
- 제17항에 있어서, 상기 ECC 유닛을 모니터하기 위해 연결되고, 상기 ECC 유닛이 수정된 데이터 워드를 생성하는 것에 대한 응답으로 상기 기록 캐시의 상기 플래그 비트중 하나를 셋팅하는 기록 상태 머신을 추가로 포함하는 것을 특징으로 하는 EEPROM.
- 메모리 유닛들로 그룹지어진 메모리 셀의 어레이로 구성된 메인 메모리 코어와,메모리 유닛의 데이터 워드 섹션에 억세스하기 위한 데이타 버스와,메모리 유닛의 패리티 비트 섹션에 억세스하기 위한 패리티 버스와,상기 데이터 버스와 패리티 버스에서 선택적으로 래치하기 위한 마스터 래치와,상기 마스터 래치로부터 상기 데이터 버스와 패리티 버스에 래치된 것을 수신하기 위한 에러 수정 제어(ECC) 유닛- 상기 ECC 유닛은 상기 패리티 비트 섹션에 대응하는 수정된 데이터 워드와 상기 데이터 워드 섹션에 대응하는 새로운 패리티비트 셋트중 하나를 선택적으로 생성함-과,상기 ECC 유닛으로부터 상기 데이터 워드를 입력/출력 리드 세트에 선택적으로 라우팅하기 위한 출력 데이터 라우팅 수단과,상기 데이터 버스에 연결된 출력 수단과, 상기 ECC 유닛으로부터 상기 수정된 데이터 워드를 선택적으로 수신하기 위해 연결된 입력 수단을 가지는 기록 캐시를 포함하는 것을 특징으로 하는 비휘발성 실리콘 메모리.
- 제19항에 있어서, 상기 메모리 셀의 어레이는 소거 가능 및 프로그램이 가능한 서브 페이지 섹터 -각 서브 페이지 섹터는, 섹터 선정 소자를 통해 섹터 감지 라인과 연결되고 다시 차례로 서브 페이지 섹터내의 모든 저장 장치와 연결된 섹터 선정 라인에 의해 정의되며, 상기 서브 페이지 섹터 각각은 상기 섹터 선정 소자에 의해 개별적으로 어드레스가 가능하고, 각 서브 페이지 섹터는 메모리 페이지의 정수인자이며, 각 서브 페이지 섹터는 복수 개의 상기 메모리 유닛으로 분할되며, 상기 메모리 유닛은 개별적으로 어드레스가 가능하며, 데이터 워드 섹션과 패리티 비트 섹션으로 구성됨-로 분할되는 것을 특징으로 하는 비휘발성 실리콘 메모리.
- 제19항에 있어서, 메모리 유닛내에서 데이터 워드 섹션에 대한 패리티 비트 섹션의 비율이 50% 이하인 것을 특징으로 하는 비휘발성 실리콘 메모리.
- 제19항에 있어서, 상기 ECC로부터 생성된 상기 새로운 패리티 비트 셋트를선택적으로 상기 패리티 버스에 연결시키는 패리티 비트 라우팅 드라이버를 추가로 포함한 것을 특징으로 하는 비휘발성 실리콘 메모리.
- 제20항에 있어서, 상기 기록 캐시는 복수 개의 1 바이트 크기 데이터 유닛으로 배열되고, 상기 기록 캐시의 입력 수단은 상기 ECC 유닛으로부터의 멀티 바이트 데이터 워드의 한 바이트를 선택적으로, 순차적으로 수신하기 위해 실시되는 것을 특징으로 하는 비휘발성 실리콘 메모리.
- 제19항에 있어서, 상기 기록 캐시의 크기는 상기 메모리 코어의 크기보다 작은 것을 특징으로 하는 비휘발성 실리콘 메모리.
- 제19항에 있어서, 상기 입력/출력 리드로부터 바이트 크기의 입력을 수신하고, 상기 바이트 크기 입력을 멀티 바이트 데이터 입력으로 배열해서 상기 기록 캐시에 상기 멀티 바이트 데이터 입력 워드를 저장하는 입력 데이터 라우팅 수단을 추가로 포함하는 것을 특징으로 하는 비휘발성 실리콘 메모리.
- 제25항에 있어서, 상기 기록 캐시는, 상기 입력 데이터 라우팅 수단으로부터 상기 캐시에 저장된 멀티 바이트 데이터 입력 워드에 대한 응답으로 셋팅되는 플래그 비트를 추가로 포함하는 것을 특징으로 하는 비휘발성 실리콘 메모리.
- 제19항에 있어서, 상기 기록 캐시는 수정된 데이터 워드를 생성하는 상기 ECC 유닛에 대한 응답으로 플래그 비트를 수정하는 것을 특징으로 하는 비휘발성 실리콘 메모리.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/405,884 US5606532A (en) | 1995-03-17 | 1995-03-17 | EEPROM array with flash-like core |
US08/405,884 | 1995-03-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970702561A KR970702561A (ko) | 1997-05-13 |
KR100348774B1 true KR100348774B1 (ko) | 2003-01-24 |
Family
ID=23605633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960705804A KR100348774B1 (ko) | 1995-03-17 | 1996-02-22 | 플래시형코어를갖는소거/기록가능롬어레이 |
Country Status (8)
Country | Link |
---|---|
US (2) | US5606532A (ko) |
EP (2) | EP1158533B1 (ko) |
JP (1) | JPH10500801A (ko) |
KR (1) | KR100348774B1 (ko) |
CN (2) | CN100483548C (ko) |
DE (2) | DE69621201T2 (ko) |
TW (1) | TW309616B (ko) |
WO (1) | WO1996029704A1 (ko) |
Families Citing this family (174)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69034227T2 (de) * | 1989-04-13 | 2007-05-03 | Sandisk Corp., Sunnyvale | EEprom-System mit Blocklöschung |
US5430859A (en) * | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US5673417A (en) * | 1995-07-20 | 1997-09-30 | Inventec Corporation | Electronic organizer with a flash memory and associated data archiving |
JP3941149B2 (ja) * | 1996-12-03 | 2007-07-04 | ソニー株式会社 | 半導体不揮発性記憶装置 |
KR100200922B1 (ko) * | 1995-12-27 | 1999-06-15 | 윤종용 | 반도체 메모리장치의 펌핑전압발생기 |
US5890192A (en) * | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
JP3411186B2 (ja) * | 1997-06-06 | 2003-05-26 | シャープ株式会社 | 不揮発性半導体記憶装置 |
DE19731954C2 (de) * | 1997-07-24 | 2000-08-24 | Bosch Gmbh Robert | Verfahren zur Erkennung von fehlprogrammierten Speicherzellen eines Speichers |
US5930167A (en) * | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
TW337607B (en) | 1997-08-06 | 1998-08-01 | Mos Electronics Taiwan Inc | Process for forming a contact hole in an EEPROM with NOR construction |
US6040216A (en) * | 1997-08-11 | 2000-03-21 | Mosel Vitelic, Inc. | Method (and device) for producing tunnel silicon oxynitride layer |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
JPH11176158A (ja) * | 1997-12-10 | 1999-07-02 | Fujitsu Ltd | ラッチ回路、データ出力回路及びこれを有する半導体装置 |
TW425660B (en) * | 1997-12-12 | 2001-03-11 | Mosel Vitelic Inc | Method of forming uniform dielectric layer between two conductive layers in integrated circuit |
TW374939B (en) | 1997-12-19 | 1999-11-21 | Promos Technologies Inc | Method of formation of 2 gate oxide layers of different thickness in an IC |
KR100266748B1 (ko) * | 1997-12-31 | 2000-10-02 | 윤종용 | 반도체 메모리 장치 및 그 장치의 에러 정정 방법 |
TW382801B (en) | 1998-02-25 | 2000-02-21 | Mosel Vitelic Inc | Method of forming two transistors having different threshold voltage in integrated circuit |
TW480713B (en) * | 1998-03-03 | 2002-03-21 | Mosel Vitelic Inc | Method for forming different thickness of field oxide in integrated circuit and the structure of the same |
US6136653A (en) | 1998-05-11 | 2000-10-24 | Mosel Vitelic, Inc. | Method and device for producing undercut gate for flash memory |
US6261903B1 (en) | 1998-05-14 | 2001-07-17 | Mosel Vitelic, Inc. | Floating gate method and device |
US6365455B1 (en) | 1998-06-05 | 2002-04-02 | Mosel Vitelic, Inc. | Flash memory process using polysilicon spacers |
ATE218004T1 (de) * | 1998-06-24 | 2002-06-15 | Infineon Technologies Ag | Elektronische prüfungsspeichereinrichtung |
JP3999900B2 (ja) | 1998-09-10 | 2007-10-31 | 株式会社東芝 | 不揮発性半導体メモリ |
US6088268A (en) * | 1998-09-17 | 2000-07-11 | Atmel Corporation | Flash memory array with internal refresh |
JP4074029B2 (ja) | 1999-06-28 | 2008-04-09 | 株式会社東芝 | フラッシュメモリ |
FR2798767B1 (fr) * | 1999-09-16 | 2001-12-14 | St Microelectronics Sa | Procede d'ecriture en mode page d'une memoire non volatile electriquement programmable/effacable et architecture correspondante |
FR2802012B1 (fr) * | 1999-12-07 | 2002-02-15 | St Microelectronics Sa | Memoire dram rapide |
US6728913B1 (en) * | 2000-02-25 | 2004-04-27 | Advanced Micro Devices, Inc. | Data recycling in memory |
US6731538B2 (en) * | 2000-03-10 | 2004-05-04 | Kabushiki Kaisha Toshiba | Semiconductor memory device including page latch circuit |
JP2001297038A (ja) | 2000-04-11 | 2001-10-26 | Toshiba Corp | データ記憶装置および記録媒体並びに記録媒体制御方法 |
US6950336B2 (en) * | 2000-05-03 | 2005-09-27 | Emosyn America, Inc. | Method and apparatus for emulating an electrically erasable programmable read only memory (EEPROM) using non-volatile floating gate memory cells |
US6400603B1 (en) | 2000-05-03 | 2002-06-04 | Advanced Technology Materials, Inc. | Electronically-eraseable programmable read-only memory having reduced-page-size program and erase |
FR2809222A1 (fr) * | 2000-05-17 | 2001-11-23 | St Microelectronics Sa | Memoire eeprom comprenant un systeme de correction d'erreur |
EP1233421B1 (en) * | 2001-02-19 | 2007-07-11 | STMicroelectronics S.r.l. | Method for refreshing stored data in an electrically erasable and programmable non-volatile memory |
JP4530562B2 (ja) * | 2001-03-27 | 2010-08-25 | ローム株式会社 | 不揮発性メモリ |
US6717847B2 (en) * | 2001-09-17 | 2004-04-06 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6456528B1 (en) | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6683817B2 (en) | 2002-02-21 | 2004-01-27 | Qualcomm, Incorporated | Direct memory swapping between NAND flash and SRAM with error correction coding |
US6751127B1 (en) | 2002-04-24 | 2004-06-15 | Macronix International, Co. Ltd. | Systems and methods for refreshing non-volatile memory |
US6633500B1 (en) | 2002-04-26 | 2003-10-14 | Macronix International Co., Ltd. | Systems and methods for refreshing a non-volatile memory using a token |
JP4257824B2 (ja) * | 2002-07-03 | 2009-04-22 | シャープ株式会社 | 半導体記憶装置 |
US7061792B1 (en) * | 2002-08-10 | 2006-06-13 | National Semiconductor Corporation | Low AC power SRAM architecture |
US20040153902A1 (en) * | 2003-01-21 | 2004-08-05 | Nexflash Technologies, Inc. | Serial flash integrated circuit having error detection and correction |
US6996688B2 (en) * | 2003-03-11 | 2006-02-07 | International Business Machines Corporation | Method, system, and program for improved throughput in remote mirroring systems |
CN1311366C (zh) * | 2003-05-22 | 2007-04-18 | 群联电子股份有限公司 | 快闪存储器的平行双轨使用方法 |
DE60322387D1 (de) * | 2003-08-27 | 2008-09-04 | Advanced Risc Mach Ltd | Vorrichtung und Verfahren zur Verwaltung von Transaktionen zum Schreiben und Lesen auf EEPROM-Speicher oder Flash-Speicher |
US7640370B1 (en) * | 2003-11-25 | 2009-12-29 | Marvell International Ltd. | Method and apparatus for controlling data transfer between EEPROM and a physical layer device |
US7173863B2 (en) * | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
US7099221B2 (en) * | 2004-05-06 | 2006-08-29 | Micron Technology, Inc. | Memory controller method and system compensating for memory cell data losses |
JP4135680B2 (ja) * | 2004-05-31 | 2008-08-20 | ソニー株式会社 | 半導体記憶装置および信号処理システム |
US20060010339A1 (en) * | 2004-06-24 | 2006-01-12 | Klein Dean A | Memory system and method having selective ECC during low power refresh |
US7340668B2 (en) * | 2004-06-25 | 2008-03-04 | Micron Technology, Inc. | Low power cost-effective ECC memory system and method |
US7116602B2 (en) * | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US6965537B1 (en) | 2004-08-31 | 2005-11-15 | Micron Technology, Inc. | Memory system and method using ECC to achieve low power refresh |
US7882299B2 (en) * | 2004-12-21 | 2011-02-01 | Sandisk Corporation | System and method for use of on-chip non-volatile memory write cache |
US7212440B2 (en) * | 2004-12-30 | 2007-05-01 | Sandisk Corporation | On-chip data grouping and alignment |
TWI263229B (en) * | 2005-03-17 | 2006-10-01 | Sunplus Technology Co Ltd | Memory device with interface for serial transmission and error correction method for serial transmission interface |
KR100680473B1 (ko) * | 2005-04-11 | 2007-02-08 | 주식회사 하이닉스반도체 | 액세스 시간이 감소된 플래시 메모리 장치 |
JP4761910B2 (ja) * | 2005-10-05 | 2011-08-31 | 株式会社東芝 | 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム |
JP4910360B2 (ja) * | 2005-10-20 | 2012-04-04 | ソニー株式会社 | 記憶装置、コンピュータシステム、およびデータ書き込み方法 |
US7447096B2 (en) * | 2006-05-05 | 2008-11-04 | Honeywell International Inc. | Method for refreshing a non-volatile memory |
US7471562B2 (en) * | 2006-05-08 | 2008-12-30 | Macronix International Co., Ltd. | Method and apparatus for accessing nonvolatile memory with read error by changing read reference |
US8077516B2 (en) * | 2006-05-08 | 2011-12-13 | Macronix International Co., Ltd. | Method and apparatus for accessing memory with read error by changing comparison |
US7773421B2 (en) * | 2006-05-08 | 2010-08-10 | Macronix International Co., Ltd. | Method and apparatus for accessing memory with read error by changing comparison |
US8997255B2 (en) | 2006-07-31 | 2015-03-31 | Inside Secure | Verifying data integrity in a data storage device |
US7567461B2 (en) * | 2006-08-18 | 2009-07-28 | Micron Technology, Inc. | Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells |
US8352752B2 (en) * | 2006-09-01 | 2013-01-08 | Inside Secure | Detecting radiation-based attacks |
US7894289B2 (en) | 2006-10-11 | 2011-02-22 | Micron Technology, Inc. | Memory system and method using partial ECC to achieve low power refresh and fast access to data |
US7900120B2 (en) | 2006-10-18 | 2011-03-01 | Micron Technology, Inc. | Memory system and method using ECC with flag bit to identify modified data |
WO2008068706A1 (en) * | 2006-12-07 | 2008-06-12 | Nxp B.V. | Method and device for reconfiguration of reliability data in flash eeprom storage pages |
JP5018074B2 (ja) * | 2006-12-22 | 2012-09-05 | 富士通セミコンダクター株式会社 | メモリ装置,メモリコントローラ及びメモリシステム |
KR100819102B1 (ko) * | 2007-02-06 | 2008-04-03 | 삼성전자주식회사 | 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치 |
KR100914265B1 (ko) * | 2007-05-10 | 2009-08-27 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법 |
KR100888482B1 (ko) | 2007-05-11 | 2009-03-12 | 삼성전자주식회사 | 비휘발성 반도체 메모리 장치 및 상기 비휘발성 반도체메모리 장치의 쓰기 방법 |
KR101472797B1 (ko) * | 2007-07-16 | 2014-12-15 | 삼성전자주식회사 | 데이터를 읽거나 쓰기 위한 방법 및 장치 |
KR101425957B1 (ko) * | 2007-08-21 | 2014-08-06 | 삼성전자주식회사 | 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템 |
JP2009104757A (ja) * | 2007-10-02 | 2009-05-14 | Panasonic Corp | 半導体記憶装置 |
JP5049733B2 (ja) | 2007-10-17 | 2012-10-17 | 株式会社東芝 | 情報処理システム |
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US8621138B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
KR101483190B1 (ko) * | 2008-09-05 | 2015-01-19 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
EP2267724A1 (fr) * | 2009-06-26 | 2010-12-29 | STMicroelectronics Rousset SAS | Architecture de mémoire EEPROM optimisée pour les mémoires embarquées |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US9135190B1 (en) | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
WO2011067795A1 (en) * | 2009-12-02 | 2011-06-09 | Ferdinando Bedeschi | Refresh architecture and algorithm for non-volatile memories |
US20120246384A1 (en) * | 2011-03-21 | 2012-09-27 | Winbond Electronics Corp. | Flash memory and flash memory accessing method |
CN102339644B (zh) * | 2011-07-27 | 2014-12-24 | 聚辰半导体(上海)有限公司 | 存储器及其操作方法 |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US8938658B2 (en) * | 2011-11-07 | 2015-01-20 | Sandisk Enterprise Ip Llc | Statistical read comparison signal generation for memory systems |
EP2608036A1 (en) * | 2011-12-22 | 2013-06-26 | Thomson Licensing | Method and system for managing error detection and correction |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
CN102768859A (zh) * | 2012-07-12 | 2012-11-07 | 深圳市锐能微科技有限公司 | 一种eeprom擦写控制装置 |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
JP5853906B2 (ja) * | 2012-08-24 | 2016-02-09 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法 |
US9123401B2 (en) * | 2012-10-15 | 2015-09-01 | Silicon Storage Technology, Inc. | Non-volatile memory array and method of using same for fractional word programming |
US9472284B2 (en) | 2012-11-19 | 2016-10-18 | Silicon Storage Technology, Inc. | Three-dimensional flash memory system |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9361221B1 (en) | 2013-08-26 | 2016-06-07 | Sandisk Technologies Inc. | Write amplification reduction through reliable writes during garbage collection |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9685242B2 (en) * | 2014-03-11 | 2017-06-20 | Kabushiki Kaisha Toshiba | Memory system |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
JP6411282B2 (ja) * | 2015-05-15 | 2018-10-24 | ラピスセミコンダクタ株式会社 | 半導体メモリ及びデータ書込方法 |
FR3039922B1 (fr) * | 2015-08-06 | 2018-02-02 | Stmicroelectronics (Rousset) Sas | Procede d'ecriture dans une memoire du type eeprom et dispositif de memoire correspondant |
US9910749B2 (en) | 2016-06-23 | 2018-03-06 | Sandisk Technologies Llc | Non-volatile memory with dynamic repurpose of word line |
US10290353B2 (en) | 2016-09-06 | 2019-05-14 | Western Digital Technologies, Inc. | Error mitigation for 3D NAND flash memory |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
US11256616B2 (en) * | 2019-12-24 | 2022-02-22 | Micron Technology, Inc. | Power loss data protection in a memory sub-system |
FR3107139B1 (fr) * | 2020-02-06 | 2022-07-29 | St Microelectronics Rousset | Dispositif de mémoire EEPROM et procédé d’écriture correspondant |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4949309A (en) * | 1988-05-11 | 1990-08-14 | Catalyst Semiconductor, Inc. | EEPROM utilizing single transistor per cell capable of both byte erase and flash erase |
DE69034227T2 (de) * | 1989-04-13 | 2007-05-03 | Sandisk Corp., Sunnyvale | EEprom-System mit Blocklöschung |
US5535328A (en) * | 1989-04-13 | 1996-07-09 | Sandisk Corporation | Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells |
US5191556A (en) * | 1991-03-13 | 1993-03-02 | Advanced Micro Devices, Inc. | Method of page-mode programming flash eeprom cell arrays |
US5359569A (en) * | 1991-10-29 | 1994-10-25 | Hitachi Ltd. | Semiconductor memory |
TW231343B (ko) * | 1992-03-17 | 1994-10-01 | Hitachi Seisakusyo Kk | |
US5353248A (en) * | 1992-04-14 | 1994-10-04 | Altera Corporation | EEPROM-backed FIFO memory |
US5317535A (en) * | 1992-06-19 | 1994-05-31 | Intel Corporation | Gate/source disturb protection for sixteen-bit flash EEPROM memory arrays |
JP3328321B2 (ja) * | 1992-06-22 | 2002-09-24 | 株式会社日立製作所 | 半導体記憶装置 |
JPH0683716A (ja) * | 1992-09-01 | 1994-03-25 | Rohm Co Ltd | 電気的書換可能型不揮発メモリ |
JPH0750558B2 (ja) * | 1992-09-22 | 1995-05-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリ |
KR960000616B1 (ko) * | 1993-01-13 | 1996-01-10 | 삼성전자주식회사 | 불휘발성 반도체 메모리 장치 |
US5488711A (en) * | 1993-04-01 | 1996-01-30 | Microchip Technology Incorporated | Serial EEPROM device and associated method for reducing data load time using a page mode write cache |
US5363334A (en) * | 1993-04-10 | 1994-11-08 | Microchip Technology Incorporated | Write protection security for memory device |
US5353256A (en) * | 1993-06-30 | 1994-10-04 | Intel Corporation | Block specific status information in a memory device |
US5424997A (en) * | 1994-03-15 | 1995-06-13 | National Semiconductor Corporation | Non-volatile semiconductor memory having switching devices for segmentation of a memory page and a method thereof |
-
1995
- 1995-03-17 US US08/405,884 patent/US5606532A/en not_active Expired - Lifetime
-
1996
- 1996-02-22 EP EP01117713A patent/EP1158533B1/en not_active Expired - Lifetime
- 1996-02-22 CN CNB031060390A patent/CN100483548C/zh not_active Expired - Fee Related
- 1996-02-22 CN CN96190070A patent/CN1110053C/zh not_active Expired - Fee Related
- 1996-02-22 KR KR1019960705804A patent/KR100348774B1/ko not_active IP Right Cessation
- 1996-02-22 WO PCT/US1996/002482 patent/WO1996029704A1/en active IP Right Grant
- 1996-02-22 DE DE69621201T patent/DE69621201T2/de not_active Expired - Lifetime
- 1996-02-22 JP JP8528421A patent/JPH10500801A/ja not_active Ceased
- 1996-02-22 DE DE69630624T patent/DE69630624T2/de not_active Expired - Lifetime
- 1996-02-22 EP EP96907103A patent/EP0764330B1/en not_active Expired - Lifetime
- 1996-03-07 TW TW085102771A patent/TW309616B/zh not_active IP Right Cessation
- 1996-09-16 US US08/714,605 patent/US5765185A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1145684A (zh) | 1997-03-19 |
EP0764330A1 (en) | 1997-03-26 |
DE69630624T2 (de) | 2004-07-29 |
US5606532A (en) | 1997-02-25 |
KR970702561A (ko) | 1997-05-13 |
TW309616B (ko) | 1997-07-01 |
CN1607609A (zh) | 2005-04-20 |
DE69621201T2 (de) | 2002-12-19 |
US5765185A (en) | 1998-06-09 |
JPH10500801A (ja) | 1998-01-20 |
EP0764330A4 (en) | 2000-07-19 |
WO1996029704A1 (en) | 1996-09-26 |
DE69630624D1 (de) | 2003-12-11 |
EP1158533A1 (en) | 2001-11-28 |
CN100483548C (zh) | 2009-04-29 |
DE69621201D1 (de) | 2002-06-20 |
EP0764330B1 (en) | 2002-05-15 |
EP1158533B1 (en) | 2003-11-05 |
CN1110053C (zh) | 2003-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100348774B1 (ko) | 플래시형코어를갖는소거/기록가능롬어레이 | |
US8797798B2 (en) | Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks | |
EP1476812B1 (en) | Pipelined parallel programming operation in a non-volatile memory system | |
US8161230B2 (en) | Nonvolatile memory system, and data read/write method for nonvolatile memory system | |
US7468915B2 (en) | Method of reducing disturbs in non-volatile memory | |
US6570785B1 (en) | Method of reducing disturbs in non-volatile memory | |
KR101174306B1 (ko) | 고집적 비휘발성 메모리 및 내부 직렬 버스들에 의한 방법 | |
EP2256637A1 (en) | On-chip data grouping and alignment | |
US8433980B2 (en) | Fast, low-power reading of data in a flash memory | |
KR20050084585A (ko) | 공간 효율적 데이타 레지스터들을 갖춘 고집적 비휘발성메모리 및 그 방법 | |
JP4661748B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
KR100480653B1 (ko) | 프로그램판독/데이터기록을동시에수행하는능력을갖는결합된프로그램및데이터비휘발성메모리 | |
JP2002124092A (ja) | 不揮発性半導体メモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090728 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |