KR20060127015A - 쓰기/삭제 중단 검출 메카니즘을 갖는 플래시 저장 시스템 - Google Patents

쓰기/삭제 중단 검출 메카니즘을 갖는 플래시 저장 시스템 Download PDF

Info

Publication number
KR20060127015A
KR20060127015A KR1020067012950A KR20067012950A KR20060127015A KR 20060127015 A KR20060127015 A KR 20060127015A KR 1020067012950 A KR1020067012950 A KR 1020067012950A KR 20067012950 A KR20067012950 A KR 20067012950A KR 20060127015 A KR20060127015 A KR 20060127015A
Authority
KR
South Korea
Prior art keywords
data storage
sector
data
flag
storage area
Prior art date
Application number
KR1020067012950A
Other languages
English (en)
Other versions
KR100992985B1 (ko
Inventor
제이슨 린
케빈 엠. 콘레이
로버트 씨. 창
Original Assignee
쌘디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20060127015A publication Critical patent/KR20060127015A/ko
Application granted granted Critical
Publication of KR100992985B1 publication Critical patent/KR100992985B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0416Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a single floating gate transistor and no select transistor, e.g. UV EPROM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/16Flash programming of all the cells in an array, sector or block simultaneously

Abstract

본 발명은 최소화된 시스템 성능 페널티를 통해 비휘발성 메모리 프로그래밍 및 삭제 동안 전력의 손실의 경우에 쓰기 삭제 중단 검출에 대한 신뢰성 있는 메카니즘을 보장하는 그것의 동작을 위한 비휘발성 메모리 및 방법을 나타낸다. 다중 섹터 쓰기 프로세스 동안, 하나의 섹터 내에서 성공적인 쓰기의 표시는 다음의 섹터의 데이터 콘텐츠가 쓰여지는 것과 동일한 시간에 다음 섹터의 오버헤드로 쓰여진다. 쓰여진 마지막 섹터는 그것의 오버헤드로 쓰여지는 자신의 성공적인 쓰기의 표시를 추가적으로 가질 것이다. 삭제를 위해, 상기 블록의 제 1 섹터 내 삭제 중단 플래그는 성공적인 삭제 동작 후에 마킹될 수 있다.

Description

쓰기/삭제 중단 검출 메카니즘을 갖는 플래시 저장 시스템{FLASH STORAGE SYSTEM WITH WRITE/ERASE ABORT DETECTION MECHANISM}
본 발명은 일반적으로 비휘발성 메모리 및 그의 동작, 보다 구체적으로는 중단된 쓰기 및 삭제 동작들에 관한 것이다.
플래시 EEPROM의 공통 애플리케이션은 전자 디바이스들에 대한 대량 데이터 저장 서브 시스템과 같다. 그러한 서브 시스템들은 다중 호스트 시스템들로 삽입될 수 있는 이동식 메모리 카드들 또는 호스트 시스템 내의 이동 불가 매립 저장소로 공통으로 구현된다. 양자의 구현들에서, 서브 시스템은 하나 또는 그 이상의 플래시 디바이스들 및 종종 서브 시스템 제어기를 포함한다.
플래시 EEPROM 디바이스들은 트랜지스터 셀들의 하나 또는 그 이상의 배열들로 구성되고, 각각의 셀은 데이터의 하나 또는 그 이상의 비트들을 비휘발성으로 저장할 수 있다. 따라서, 플래시 메모리는 그에 프로그래밍될 데이터를 유지하기 위해 전력을 요구하지 않는다. 그러나, 일단 프로그래밍되면, 셀은 그것이 새로운 데이터 값을 통해 재프로그래밍될 수 있기 이전에 삭제되어야 한다. 셀들의 이러한 베열들은 판독, 프로그램, 및 삭제 기능들의 효과적인 구현을 제공하도록 그룹들로 분할된다. 대량 저장을 위한 전형적인 플래시 메모리 구조는 삭제 가능한 블록들로 셀들의 큰 그룹들을 배치하고, 블록은 한번에 삭제 가능한 셀들의 가장 작은 수(삭제의 단위)를 포함한다.
한가지 상업적 형태에 있어서, 각각의 블록은 사용자 데이터와, 그 사용자 데이터 및/또는 그것이 저장되는 블록에 관한 일부 오버헤드 데이터를 더한 하나의 섹터를 저장하도록 충분한 셀들을 포함한다. 섹터 내에 포함되는 사용자 데이터의 양은 그러한 메모리 시스템들의 하나의 클래스에서 표준 512 바이트이지만, 다른 사이즈일 수 있다. 셀들이 개별적으로 삭제가능하도록 하기 위해 요구되는 상호간으로부터 그 셀들의 개별적 블록들의 격리가 집적 회로 칩 상에 공간을 차지하기 때문에, 플래시 메모리들의 또 다른 클래스는 그러한 격리에 대해 더 적은 공간이 요구되도록 그 블록들을 현저히 터 크게 만든다. 그러나, 훨씬 더 작은 섹터들 내 사용자 데이터를 취급하는 것이 또한 바람직하기 때문에, 각각의 큰 블록은 종종 사용자 데이터를 판독 및 프로그래밍하기 위한 기초 유닛인 개별적 어드레스 가능한 페이지들로 추가로 분할된다. 각각이 페이지는 보통 사용자 데이터의 하나의 섹터를 저장하지만, 페이지는 부분적 섹터 또는 다중 섹터들을 저장할 수 있다. "섹터"는 유닛으로 호스트로부터 호스트로 전달되는 사용자 데이터의 양으로 언급하도록 본 명세서에서 사용된다.
큰 블록 시스템 내 서브 시스템 제어기는 호스트로부터 메모리 서브 시스템에 의해 수신되는 논리적 어드레스들 및 매모리 셀 배열 내 물리적 어드레스들 사이의 해석을 포함하는 다수의 기능들을 수행한다. 이러한 해석은 종종 논리적 블록 번호(LBN) 및 논리적 페이지에 대한 중간 용어들의 사용을 포함한다. 제어기는 또 한 자신이 인터페이스 버스를 통해 플래시 메모리 디바이스들로 내보내는 일련의 명령들을 통해 저레벨 플래시 회로 동작을 관리한다. 제어기가 수행하는 또 다른 기능은 에러 정정 코드(ECC)를 사용하는 것과 같이 다양한 수단을 통해 서브 시스템에 저장된 데이터의 무결성을 유지하는 것이다.
그러한 메모리 회로의 동작 동안 전력 중단의 경우에, 예를 들어 메모리 카드가 호스트로부터 제거되거나 전력이 집적 메모리를 갖는 디바이스에서 손실된다면, 그 메모리는 쓰기 또는 삭제 동작의 중간에 묶여 있을 수 있고, 불완전한 동작을 결과로 나타낸다. 예를 들어, 기록될 그룹 내 셀들의 전체가 아닌 대부분이 그것들의 타겟 상태에 도달했을 때 프로그래밍 프로세스 동안 메모리 시스템이 전력을 손실한다면, 쓰기 그룹은 다수의 에러들을 포함할 수 있다. 본 기술 분야에 공지된 바와 같이, 데이터 에러들을 결정하고 정정하기 위해 메모리 시스템들로 에러 정정 코드(ECC)를 포함하는 것이 공통적이다. 프로그래밍 동작의 완료 이전에 전력 중단은 인터럽트된 쓰기 그룹이 판독될 때 그 쓰기 그룹이 (1) ECC에 의해 정정 가능하고, (2) ECC에 의해 정정 불가능하며, (3) ECC 오류 검출이 발생할 수 있는 3가지 상황들 중에 있도록 할 수 있다. 제 1 경우에서, 에러의 범위는 에러 정정 코드가 데이터를 회수할 수 있기에 충분히 작다. 제 2 경우에서, 데이터가 부정확할 것이지만, 시스템이 이러한 조건을 결정할 것이다. 제 3 경우에서, 데이터가 다시 부정확할 것이지만, ECC 오류 검출로 인해 시스템이 그 상황을 인식하지 못한다.
이러한 마지막 경우, ECC 오류 검출은 예를 들어 ECC가 말하자면 에러의 4 비트까지 정정하기 위한 용량을 갖지만, 쓰기 그룹 내 데이터의 7 비트가 정확하게 쓰여지지 않는 경우 발생할 수 있다. 그에 따라, 시스템은 부정확하게 쓰여진 데이터를 인식하지 못할 것이고 그것이 쓰기 그룹 내 어떠한 에러도 정정하지 않은 것처럼 동작할 것이지만, 그 데이터는 여전히 잘못된 것이다. 유사한 경우는 전력 손실이 삭제 프로세스 동안 발생하는 경우 발생할 수 있다. 이러한 시나리오들은 ECC 쓰기 및 삭제 중단 검출을 결코 완벽하게 하지 않으며, 특히 데이터가 정확하게 입력되었는지의 여부를 아는 것이 중요한 임무의 결정적인 상황들에 대해 다루기 힘들다. 결과적으로, 메모리 시스템들의 이러한 측면에서 향상을 위한 공간이 존재한다.
제 1 측면에 따라, 본 발명은 최소화된 시스템 성능 페널티를 통해 비휘발성 메모리 프로그래밍 및 삭제 동안 전력의 손실이 경우에서 쓰기 및 삭제 중단 검출을 위한 신뢰성 있는 메카니즘을 보장하는 그것의 동작에 대한 비휘발성 메모리 및 방법을 나타낸다. 예시적인 실시예에 있어서, 쓰기 중단 실패를 삭제하는 것은 최소 성능 감화를 통해 신뢰 가능하게 검출될 수 있고, 새로운 쓰기 중단 검출 메카니즘이 도입된다. 그 알고리즘은 섹터 오버헤드 정보 내에 PSS(Previous Sector Status flag) 및 LSS(Last Sector Status flag)를 포함하고, PSS(Previous Sector Status flag)는 ECC에 의해 보호될 수 있다.
블록 내 쓰기 섹터들 0 내지 x인 멀티 섹터 쓰기 프로세스에 있어서, 섹터 0 내 데이터를 프로그래밍 한 후에, 알고리즘은 섹터 0이 프로그래밍을 완료한 것을 규정하도록 섹터 1 내 데이터에 따라 섹터 1의 PSS를 쓸 것이고 어떠한 쓰기 중단도 발생하지 않고, 섹터 1이 프로그래밍된 후에, 알고리즘은 섹터 1이 프로그래밍을 완료한 것을 규정하도록 섹터 2 내 데이터에 따라 섹터 2의 PSS를 쓸 것이고 어떠한 쓰기 중단도 발생하지 않는 것과 같이 마지막 섹터가 프로그래밍될 때까지 이루어진다. 마지막 섹터가 쓰기 중단 없이 프로그래밍을 완료했다는 것을 규정하기 위해, 마지막 섹터의 LSF가 쓰여진다. 결과적으로, 호스트 프로그램 명령 내 마지막 섹터만이 쓰기 중단 검출을 보장하기 위해 2개 프로그래밍 동작을 요구한다.
본 발명의 또 다른 측면에 따라, 상기 메카니즘은 다음의 물리적 섹터의 PSS 및 최신 섹터의 LSS를 조사하여 쓰기 중단 실패 검출을 삭제하고, 그 섹터는 블록 내 마지막 프로그래밍된 섹터 또는 블록의 마지막 물리적 섹터이다.
본 발명의 추가적인 측면에 있어서, 블록의 제 1 섹터 내 삭제 중단 플래그(EAF)는 성공적인 삭제 동작 후에 마킹될 수 있다. 이러한 플래그들을 통해, 시스템은 다음의 전력 공급의 다음 초기화 동안 쓰기 중단 또는 삭제 중단을 성공적으로 검출할 수 있다. 쓰기 중단 검출 방식은 특히 다중 상태 메모리에 대해 효과적이고, (1) 요구되는 보다 긴 프로그래밍 시간으로 인해 다중 상태 시스템들을 취급하도록 하드웨어를 디자인하는 것이 더 어렵고 비용이 많이 들며, (2) 모든 단일 섹터에 대해 2번 프로그래밍하지 않아서 얻어진 성능은 또한 보다 긴 프로그래밍 시간 요구로 인해 다중 상태 시스템들에 대해 훨씬 더 크다.
본 발명의 추가적인 측면들, 특징들, 및 장점들은 예시적인 실시예들의 다음의 기술 내에 포함되며, 그 기술은 첨부된 도면들과 관련하여 취해질 것이다.
도 1은 본 발명의 다양한 측면들이 구현되도록 기술되는 비휘발성 메모리 시스템을 도시한 블록도.
도 2는 NAND 타입일 때, 도 1의 메모리 배열의 기존 회로 및 구성을 도시한 도면.
도 3은 반도체 기판 상에 형성된 메모리 배열의 NAND 타입의 컬럼에 따른 단면도.
도 4는 섹션 4-4에서 취해진 그것의 도 3의 메모리 배열을 도시한 단면도.
도 5는 섹션 5-5에서 취해진 그것의 도 3의 메모리 베열을 도시한 단면도.
도 6A 내지 도 6C는 예시적인 실시예들에 따른 블록 구조를 개략적으로 도시한 도면.
도 7은 예시적 쓰기 프로세스를 도시한 흐름도.
예시적 비휘발성 메모리 시스템
도 1 내지 도 7을 참조로 하면, 본 발명의 다양한 측면들이 구현되는 특정한 비휘발성 메모리 시스템이 특정한 예들을 제공하도록 기술되어 있다. 삭제 프로세스들 내 방해의 양을 감소시키기 위해, 본 발명은 자신들의 기초 웰 구조와 동일한 전압 레벨에서 선택되지 않는 저장 요소들의 제어 게이트들을 유지한다. 예시적 실시예에서, 저장 요소들은 웰 구조 위에 형성된다. 삭제 프로세스 동안, 상기 웰 위의 선택된 저장 요소들 및 선택되지 않은 저장 요소들 모두 그 웰 내 이러한 전압 레벨을 동시에 설정하여 삭제 전압 레벨로 상승된다. 그에 따라, 이 전압은 상 기 웰 및 선택되지 않은 저장 요소들에 대해 유지되고, 그에 의해 선택된 저장 요소들이 방전하도록 허용되는 동안 방해들에 관련된 어떠한 삭제의 기회를 삭제시키고, 필요로 되는 삭제 조건들을 생성한다. 추가로, 이것은 회로의 어떠한 피치 영역을 증가시키지 않거나 메모리 배열 내 새로운 배선들을 추가하지 않으며 달성될 수 있고, 상기 회로에 더해질 최소의 추가적 주변 영역을 결과로 나타낸다.
특이성을 위해, 일반적인 것들이 이하 추가로 기술될지라도, 본 발명은 NAND 타입의 EEPROM 플래시 메모리에 대해 기술하고 있다. 특히, 본 명세서는 미국 특허 번호 제 6,522,580 호와, 상기 참조 문헌으로 포함된 NAND 시스템들과 관련된 다른 애플리케이션들에 기술된 시스템의 종류를 사용할 것이다. 특정한 전압들이 다음에 따라 요구될 때, 다른 값들이 사용될 수 있을지라도 디자인에 의존하여 삭제 전압(Verase)은 15 내지 20 volt 범위 내에 있도록 취해지고, 낮은 논리 레벨은 그라운드로 취해지며, 높은 논리 레벨(Vdd)은 1.5 내지 3 volt 범위 내에 있도록 취해진다.
도 1은 플래시 메모리 시스템의 블록도이다. 매트릭스 내 배열된 복수의 저장 유닛들(M)을 포함하는 메모리 셀 배열(1)은 컬럼 제어 회로(2), 로우 제어 회로(3), c-source 제어 회로(4), 및 c-p-well 제어 회로(5)에 의해 제어된다. 컬럼 제어 회로(2)는 프로그램 동작 동안 메모리 셀들(M)의 상태를 결정하고, 프로그래밍을 조장하거나 그 프로그래밍을 금지하도록 비트 라인들(BL)의 잠재적 레벨들을 제어하기 위해 메모리 셀들(M) 내에 저장된 데이터를 판독하는 메모리 셀 배열(1) 의 비트 라인들(BL)에 접속된다. 로우 제어 회로(3)는 판독 전압들을 인가하고, 컬럼 제어 회로(2)에 의해 제어되는 비트 라인 잠재 레벨들과 결합되는 프로그램 전압들을 인가하며, 메모리 셀들(M)이 형성되는 (도 3에 "c-p-well"로 명칭이 붙은) p형 영역들의 전압을 통해 연결되는 삭제 전압을 인가하기 위해 워드 라인들(WL) 중 하나를 선택하도록 워드 라인들(WL)에 접속된다. c-source 제어 회로(4)는 메모리 셀들(M)에 접속되는 (도 2에 "c-source"로 명칭이 붙은) 공통 소스 라인들을 제어한다. c-p-well 제어 회로(5)는 c-p-well의 전압을 제어한다.
메모리 셀들(M) 내에 저장된 데이터는 컬럼 제어 회로(2)에 의해 독출되고, I/O 라인 및 데이터 입력/출력 버퍼(6)를 통해 외부 I/O 라인들로 출력된다. 메모리 셀들 내에 저장될 프로그램 데이터는 외부 I/O 라인들을 통해 데이터 입력/출력 버퍼(6)에 입력되고, 컬럼 제어 회로(2)에 전달된다. 외부 I/O 라인들은 제어기(20)에 접속된다. 플래시 메모리 디바이스를 제어하는 명령 데이터는 외부 제어 라인들에 접속되는 명령 인터페이스로 입력되고, 그것은 제어기(20)에 접속된다. 명령 데이터는 플래시 메모리에 어떠한 동작이 요청되는지 알린다. 입력 명령은 컬럼 제어 회로(2), 로우 제어 회로(3), c-source 제어 회로(4), c-p-well 제어 회로(5), 및 데이터 입력/출력 버퍼(6)를 제어하는 상태 머신(8)에 전달된다. 상태 머신(8)은 준비됨/분주함 또는 통과/실패와 같은 플래시 메모리의 상태 데이터를 출력할 수 있다.
제어기(20)는 개인용 컴퓨터, 디지털 카메라, 또는 개인용 디지털 보조기와 같은 호스트 시스템을 통해 접속되거나 접속가능하다. 호스트는 메모리 배열(1)로 부터 또는 메모리 배열(1)로 데이터를 저장하거나 판독하도록 명령들을 시작하고, 그러한 데이터를 각각 제공하거나 수신한다. 제어기는 명령 회로들(7)에 의해 해석되고 실행될 수 있는 명령 신호들로 그러한 명령들을 변환한다. 제어기는 또한 전형적으로 메모리 배열로부터 판독되거나 그 메모리 배열로 쓰여질 사용자 데이터에 대한 버퍼 메모리를 포함한다. 전형적인 메모리 시스템은 제어기(20)를 포함하는 하나의 집적 회로 칩(21)과, 각각이 메모리 배열 및 연관된 제어를 포함하는 하나 또는 그 이상의 집적 회로 칩들(22)과, 입력/출력 및 상태 머신 회로들을 포함한다. 물론, 추세는 하나 또는 그 이상의 집적 회로 칩들 상에 함께 시스템의 제어기 회로들 및 메모리 배열을 집적하는 것이다. 메모리 시스템은 호스트 시스템의 일부로 매립될 수 있거나, 호스트 시스템들의 메이팅 소켓(mating socket)으로 이동식으로 삽입가능한 메모리 카드 내에 포함될 수 있다. 그러한 카드는 전체 메모리 시스템을 포함할 수 있거나, 연관된 주변 회로들을 통해 제어기 및 메모리 배열이 개별적 카드들 내에 제공될 수 있다.
도 2를 참조로 하면, 메모리 셀 배열(1)의 예시적 구조가 기술되어 있다. NAND 타입의 플래시 EEPROM이 예로 기술되어 있다. 메모리 셀들(M)은 다수의 블록들, 특정한 예로 1,024개로 분할된다. 각각의 블록 내 저장된 데이터는 동시에 삭제된다. 따라서, 블록은 동시에 삭제 가능한 다수의 셀들의 최소 유닛이다. 각각의 블록에서, 추가적인 미국 특허 번호 제 6,522,580 호에 기술된 바와 같이, 좌측 컬럼들 및 우측 컬럼들로 나눠지는 이러한 예에서 N=8,512인 N 컬럼들이 존재한다. 비트 라인들은 또한 좌측 비트 라인들(BLL) 및 우측 비트 라인들(BLR)로 나눠진다. 각각의 게이트 전극에서 워드 라인들(WL0 내지 WL3)에 접속되는 4개 메모리 셀들은 NAND 셀 유닛을 형성하기 위해 직렬로 접속된다. NAND 셀 유닛의 하나의 단자는 게이트 전극이 제 1 (Drain) 선택 게이트 라인(SGD)에 연결되는 제 1 선택 트랜지스터(S)를 통해 대응하는 비트 라인(BL)에 접속되고, 또 다른 단자는 게이트 전극이 제 2 선택 게이트 라인(SGS)에 연결되는 제 2 (Source) 선택 트랜지스터(S)를 통해 c-source에 접속된다. 4개 플로팅 게이트 트랜지스터들이 각각의 셀 유닛 내에 포함되도록 제시될지라도, 단순성을 위해 8, 16, 또는 심지어 32개와 같와 같은 다른 수들의 트랜지스터들이 사용된다. 도 2는 또한 웰 전압을 공급하기 위해 접속, C-P-well을 포함한다.
각각의 블록에서, 이러한 예에서 8,512 컬럼들은 짝수 컬럼들 및 홀수 컬럼들로 나눠진다. 비트 라인들은 또한 짝수 비트 라인들(BLe) 및 홀수 비트 라인들(BLo)로 분할된다. 각각의 게이트 전극에서 워드 라인들(WL0 내지 WL3)에 접속되는 4개 메모리 셀들은 NAND 셀 유닛을 형성하도록 직렬로 접속된다. NAND 셀 유닛의 하나의 단자는 게이트 전극이 제 1 선택 게이트 라인(SGD)에 연결되는 제 1 선택 트랜지스터를 통해 대응하는 비트 라인(BL)에 접속되고, 또 다른 단자는 게이트 전극이 제 2 선택 게이트 라인(SGS)에 연결되는 제 2 선택 트랜지스터(S)를 통해 c-source에 접속된다. 단순선을 위해 4개 플로팅 게이트 트랜지스터들이 각각의 셀 유닛 내에 포함되도록 제시될지라도, 8, 16, 또는 심지어 32개와 같은 더 높은 수의 트랜지스터들이 사용된다.
참조 문헌으로 본 명세서에 포함되고, 2002년 2월 27일 출원된 미국 특허 출 원서 일련 번호 10/086495에 기술된 바와 같이 실시예들의 대안적인 세트에서, 배열은 홀수 짝수 배치 대신에 좌측 및 우측 부분들로 나뉠 수 있다. 좌측 및 우측들은 도 1의 c-p-well 제어 회로(5)에 의해 독립적으로 세팅되도록 전압 레벨들을 허용하는 그러한 개별적 웰 구조들 위에 각각 형성되는 배열의 우측 및 좌측들을 통해 추가적으로 독립적인 웰 구조들을 가질 수 있다. 추가적인 변형에 있어서, 이것은 또한 블록의 모든 분할들보다 적은 서브 블록의 삭제를 허용할 수 있다. 본 발명과 호환가능한 추가적인 변형들은 또한 출원 번호 10/086495에 기술되어 있다.
예시적인 실시예들에 있어서, 동일한 워드 라인에 대한 셀 번호들보다 더 작은 페이지 사이즈는 512 바이트이다. 이러한 페이지 사이즈는 사용자 선호도 및 규약에 기초한다. 셀들의 하나의 페이지의 가치 이상에 대응하도록 워드 라인 사이즈를 허용하는 것은 데이터의 서로 다른 페이지들 가치가 디코더들을 공유할 수 있기 때문에 X 디코더(로우 제어 회로(3)) 공간을 절약한다. 사용자 데이터 판독 및 프로그래밍 동작 동안, N=4,256 셀들(M)은 이러한 예에서 동시에 선택된다. 선택된 셀들(M)은 동일한 워드 라인(WL), 예를 들어 WL2와, 비트 라인(BL)의 동일한 종류를 갖는다. 그러므로, 데이터의 532 바이트는 동시에 판독 또는 프로그래밍될 수 있다. 동시에 판독되거나 프로그래밍된 이러한 532B 데이터는 논리적으로 "페이지"를 형성한다. 그러므로, 하나의 블록은 적어도 8개 페이지들을 저장할 수 있다. 각각의 메모리 셀(M)이데이터의 2 비트들, 즉 다중 레벨 셀을 저장할 때, 하나의 블록은 셀 저장소 당 2비트의 경우에 16개 페이지들을 저장한다. 이러한 실시예에서, 메모리 셀들의 각각의 플로팅 게이트의 이러한 경우에 각각의 메모리 셀들의 저장 요소는 사용자 데이터의 2비트를 저장한다.
도 3은 비트 라인(BL)의 방향에 따라 도 2에 개략적으로 도시된 타입의 NAND 셀 유닛의 단면도를 도시한다. p형 반도체 기판(9)의 표면에서, p형 영역 c-p-well(11)이 형성되고, 각각의 좌측 및 우측 c-p-well들은 p형 기판으로부터 c-p-well들을 전기적으로 격리시키기 위해 n형 영역(10)으로 둘러싸인다. n형 영역(10)은 제 1 접촉 홀(CB) 및 n형 확산층(12)을 통해 제 1 금속(M0)으로 구성된 c-p-well 라인에 접속된다. p형 영역 c-p-well(11)은 또한 제 1 접촉 홀(CB) 및 p형 확산층(13)을 통해 c-p-well 라인에 접속된다. c-p-well 라인은 c-p-well 제어 회로(5)에 접속된다(도 1).
예시적 실시예들은 Flash EEPROM 저장 유닛들을 사용하고, 각각의 메모리 셀은 셀 내에 저장될 데이터에 대응하는 전기적 전하의 양을 저장하는 플로팅 게이트(FG)와, 게이트 전극을 형성하는 워드 라인(WL)과, p형 확산층(12)으로 구성된 드레인 및 소스 전극들을 갖는다. 플로팅 게이트(FG)는 터널 산화막(14)을 통해 c-p-well의 표면상에 형성된다. 워드 라인(WL)은 질연막을 통해 플로팅 게이트(FG)상에 스택된다. 소스 전극은 제 2 선택 트랜지스터(S) 및 제 1 접촉 홀(CB)을 통해 제 1 금속(M0)으로 구성된 공통 소스 라인(c-source)에 접속된다. 공통 소스 라인은 c-source 제어 회로(4)에 접속된다. 드레인 전극은 제 1 선택 트랜지스터(S), 제1 접촉 홀(CB), 제 1 금속(M0)의 중간 쓰기, 및 제 2 접촉 홀(V1)을 통해 제 2 금속(M1)으로 구성된 비트 라인(BL)에 접속된다. 비트 라인은 컬럼 제어 회로(2)에 접속된다.
도 4 및 도 5는 워드 라인(WL2)의 방향에 따라 메모리 셀(도 3의 섹션 4-4) 및 선택 트랜지스터(도 3의 섹션 5-5) 각각의 단면도를 도시하고 있다. 각각의 컬럼은 기판 내에 형성되는 트렌치에 의해 이웃하는 컬럼들로부터 격리되고, STI(shallow trench isolation)로 공지된 격리 재료를 통해 충전된다. 플로팅 게이트들(FG)은 STI와, 절연막(15) 및 워드 라인(WL)에 의해 서로 격리된다. 선택 트랜지스터(S)의 게이트 전극(SG)이 플로팅 게이트(FG) 및 워드 라인(WL)과 동일한 정보 프로세스 단계들에 따라 형성되기 때문에, 그것은 스택된 게이트 구조를 제시한다. 이러한 2개 선택 게이트 라인들(SG)은 라인들의 엔드에서 단락된다.
상기 참조 문헌으로 포함되는 미국 특허 번호 제 6,522,580 호는 메모리 셀 배열(1)을 동작시키기 위해 인가되는 다양한 전압들을 기술하며, 특정한 예로 메모리 셀의 플로팅 게이트는 상태들 "11", "10", "01", "00" 중 하나를 갖는 2개 비트들을 저장한다. 이것은 워드 라인 "WL2" 및 "BLe"의 비트 라인들이 삭제, 판독, 또는 프로그래밍을 위해 선택되는 경우에 대해 본 명세서에 간략하게 고려된다. Verase=15-20V의 삭제 전압으로 c-p-well을 상승시키고, 선택된 블록의 워드 라인들(WL)을 그라운딩함으로써, 선택된 블록의 데이터가 삭제된다. 선택되지 않은 블록들의 워드 라인들(WL), 비트 라인들(BL), 선택 라인들(SG), 및 c-source가 플로팅 상태에 있기 때문에, 또한 c-p-well과의 용량적 연결로 인해 거의 Verase까지 상승된다. 그러므로, 강한 전기장은 단지 선택된 메모리 셀들(M)의 터널 산화막들(14)(도 4 및 도 5)에만 인가되며, 선택된 메모리 셀들의 데이터는 터널 전류가 터널 산화막(14)에 걸쳐 흐르는 것과 같이 삭제된다. 삭제된 셀, 이러한 예에서 4개의 가능한 프로그래밍된 상태들 중 하나, 즉 "11"이다.
삭제 및 프로그래밍 값들 내 사용되는 높은 전압 값들은 (도 1에 도시되지 않은) 충전 펌프를 사용하여 더 낮은 공급 값들로부터 생성될 수 있다. 이러한 더 높은 전압 값들은 메모리 칩(22) 자체에 생성될 수 있거나, 메모리 시스템 내 또 다른 칩으로부터 공급될 수 있다. 높은 전압 소스의 사용 및 위치는 참조 문헌으로 본 명세서에 포함되는 미국 특허 번호 제 6,282,130 호에서 보다 자세히 논의되고, 추가적인 참조 문헌들이 그에서 인용된다.
도 6은 종래 기술의 배치를 개략적으로 도시하고 있다. 3개 표현적인 워드 라인들(WLA, WLB, WLC)은 트랜지스터들(101, 103, 105)을 통해 각각 다양한 전압 레베들을 공급하는 라인(107)에 접속된다. 라인(17)과 함께 트랜지스터들(101, 103, 105)은 도 1의 로우 제어 회로(3)의 일부이다. 도 1의 c-p-well 제어 회로(5)는 웰 구조 c-p-well(11)에 대한 전압을 제공한다. 그 후에, 워드 라인들은 도 2에 도시된 메모리(1)의 서로 다른 블록들의 다양한 워드 라인들 중 어느 것에 따라 웰 구조(11) 위에 계속된다. 삭제 프로세스에 있어서, 선택된 워드 라인 및 모두 선택되지 않은 WLA 및 WLB에 대응하는 워드 라인 WLC을 통해, c-p-well 내 전압은 말하자면 17 volts의 삭제 전압으로 상승되고, 라인(107)이 그라운드로 세팅된다. 트랜지스터들(101, 103) 모두가 플로팅하도록 WLA 및 WLB를 남겨둔 상태로 그라운딩하기 위해 그것들의 게이트들을 세팅하여 턴 오프되는 반면에, 트랜지스터(105)의 게이 트는 그라운딩하도록 워드 라인(WLC)을 취하여 Vdd의 높은 레벨로 세팅된다. 이것은 상기 기술된 삭제 조건들을 결과로 나타내고, 선택되지 않은 삭제 게이트들은 (예를 들어 상기 포함된 미국 특허 번호 제 5,546,341 호에 기술된 바와 같이) 웰로부터 용량적 연결들에 의해 충전되고, 선택된 삭제 게이트들은 그라운딩하도록 강요된다. 삭제 프로세스의 다른 측면들은 참조 문헌으로 본 명세서에 포함되는 2001년 9월 17일 출원된 미국 특허 출원서 제 09/956,201 호에 기술되어 있다. 특히, 미국 특허 출원서 제 09/956,201 호는 선택되지 않은 워드 라인들이 플로팅될 수 있는 프로세스와, 또한 본 발명의 다양한 측면들의 대안적 실시예들로 포함될 수 있는 프로세스를 기술하고 있다.
프로그래밍 동작 동안 플로팅 게이트(FG) 내에 전자들을 저장하기 위해, 선택된 워드 라인(WL2)은 프로그램 펄스(Vpgm)에 접속되고, 선택된 비트 라인들(BLe)이 그라운딩된다. 반면에, 프로그래밍이 발생하지 않는 메모리 셀들(M) 상에 프로그램을 금지하기 위해, 대응하는 비트 라인들(BLe)은 선택되지 않은 비트 라인들(BLo) 뿐만 아니라 전력 공급, 예를 들어 3V의 Vdd에 접속된다. 선택되지 않은 워드 라인들(WL0, WL1, WL3)이 10V에 접속되고, 제 1 선택 게이트(SGD)가 Vdd에 접속되며, 제 2 선택 게이트(SGS)가 그라운딩된다. 결과적으로, 프로그래밍되는 메모리 셀(M)의 채널 전위는 0V에서 세팅된다. 프로그램 금지에서 채널 전위는 워드 라인들(WL)을 통한 용량적 연결에 의해 끌어 올려지는 채널 전위의 결과로 약 6V까지 상승된다. 상기 설명된 바와 같이, 강한 전기장은 프로그래밍 동안 단지 메모리 셀 들(M)의 터널 산화막들(14)에만 인가되고, 터널 전류는 삭제와 비교하여 역방향에 따라 터널 산화막(14)에 걸쳐 흐르며, 그에 따라 논리 상태는 "11"로부터 다른 상태들 "10", "01", 또는 "00" 중 하나로 변경된다.
프로그래밍 동작 동안 플로팅 게이트(FG) 내 전자들을 저장하기 위해, 선택된 워드 라인(WL2)은 프로그램 펄스(Vpgm)에 접속되고, 선택된 비트 라인들(BLe)이 그라운딩된다. 반면에, 프로그래밍이 발생하지 않는 메모리 셀들(M) 상에 프로그램을 금지하기 위해, 대응하는 비트 라인들(BLe)은 선택되지 않은 비트 라인들(BLo) 뿐만 아니라 전력 공급, 예를 들어 3V의 Vdd로 접속된다. 선택되지 않은 워드 라인들(WL0, WL1, WL3)은 10V에 접속되고, 제 1 선택 게이트(SGD)는 Vdd에 접속되며, 제 2 선택 게이트(SGS)는 그라운딩된다. 결과적으로, 프로그래밍되는 메모리 셀(M)의 채널 전위는 0V에서 세팅된다. 프로그램 금지에서 채널 전위는 워드 라인들(WL)을 통한 용량적 연결에 의해 끌어 올려지는 채널 전위 때문에 약 6V까지 상승된다. 상기 설명된 바와 같이, 강한 전기장은 프로그래밍 동안 메모리 셀들(M)의 터널 산화막들(14)에만 인가되고, 터널 전류는 삭제와 비교하여 역방향에 따라 터널 산화막(14)에 걸쳐 흐르며, 그에 따라 논리 상태는 "11"로부터 다른 상태들 "10", "01", "00" 중 하나로 변경된다.
판독 및 검증 동작들에 있어서, 선택 게이트들(SGD, SGS) 및 선택되지 않은 워드 라인들(WL0, WL1, WL3)은 통과 게이트들로 이것들을 만들기 위해 4.5V의 판독 통과 전압으로 상승된다. 선택된 워드 라인(WL2)은 관련된 메모리 셀의 문턱 전압 이 그러한 레벨에 도달했는지의 여부를 결정하기 위해 각각의 판독 및 검증 동작에 대해 명시된 전압 레벨로 접속된다. 예를 들어, 판독(10) 동작에 있어서, 선택된 워드 라인(WL2)이 그라운딩되고, 그러므로 문턱 전압이 0V보다 더 높은지의 여부가 검출된다. 이러한 판독의 경우에 있어서, 판독 레벨이 0V라 할 수 있다. 검증(01) 동작에 있어서, 선택된 워드 라인(WL2)이 2.4V에 접속되고, 그러므로 문턱 전압이 2.4V에 도달했는지의 여부가 검증된다. 이러한 검증의 경우에, 검증 레벨이 2.4V라 할 수 있다. 다시 말해서, 모든 기술된 프로세스들에 대해, 인용된 전압 레벨들은 단지 예시적인 값들이다.
선택된 비트 라인들(BLe)은 높은 레벨, 예를 들어 0.7V로 미리 충전된다. 문턱 전압이 판독 또는 검증 레벨보다 더 높은 경우, 관련된 비트 라인(BLe)의 전위 레벨은 비전도성 메모리 셀(M) 때문에 높은 레벨을 유지한다. 반대로, 문턱 전압이 판독 또는 검증 레벨보다 더 낮은 경우, 관련된 비트 라인(BLe)의 잠재적 레벨은 전도성 메모리 셀(M) 때문에 낮은 레벨, 예를 들어 0.5V보다 더 낮게 감소한다. 판독 및 검증 동작들의 추가적인 세부사항들이 이하 설명된다.
쓰기/삭제 중단 검출 메카니즘들의 예들
본 발명의 원리적 측면은 최소화된 시스템 성능 페널티를 통한 메모리 프로그래밍 및 삭제 동안 전력의 손실의 경우에 쓰기 및 삭제 중단 검출에 대해 신뢰성 있는 메카니즘들을 보장하기 위한 테크닉들이다. 특정한 실시예가 참조로 사용될 때, 그 개념들이 이하 추가로 기술되는 바와 같이 보다 일반적으로 확장될지라도, 본 발명은 이전 섹션에서와 같은 NAND 구조를 갖는 플래시 타입 메모리에 따른 견 해로 주로 기술될 것이다.
쓰기 중단을 막는 공지된 한가지 방법은 참조 문헌으로 본 명세서에 포함되는 미국 특허 5,418,752에 기술된 바와 같이 메모리 동작이 완료될 때까지 메모리 Vdd를 보전하도록 여분의 하드웨어를 추가하는 것이다. 변형에 있어서, 보다 빠른 쓰기 시간을 갖는 비휘발성 메모리의 대안적 형태는 전력 손실 상황에서 손실되는 데이터를 저장하도록 사용될 수 있다. 이러한 접근 방식은 그것이 상대적으로 비용이 많이 들 수 있고 항상 쉽게 구현될 수 없기 때문에 단점들을 갖는다. 쓰기 중단 검출의 또 다른 방법은 실제 프로그래밍 동작 이전과, 프로그래밍 동작의 완료를 다시 승인하도록 예비된 영역을 업데이트 하기 위해 발생되는 실제 프로그래밍 이후 모두 예비된 영역 내 의도된 프로그래밍 섹터의 어드레스를 표시하는 것이다. 데이터의 실제 프로그래밍을 포함하여, 이러한 방법은 사용자에 의한 매 단일 섹터 쓰기에 대해 3개 프로그래밍 동작들을 요구할 것이다. 또 다른 방법은 섹터가 프로그래밍된 후에 미리 규정된 쓰기 중단 헤더를 쓰는 것이다. 이러한 방법은 쓰여진 매 섹터에 대해 2개 프로그래밍 동작들을 요구할 것이다. 삭제와 관련하여, 삭제 이전에 예비된 영역 내에 삭제될 섹터 또는 블록의 어드레스를 쓸 수 있고, 삭제 동작이 완료된 후에 예비된 영역에 다시 어드레스를 쓸 수 있다. 본 발명의 주요 측면들은 이러한 테크닉들을 향상시킨다.
보다 구체적으로는, 쓰기 중단 실패를 보장하는 것은 최소 성능 감화를 통해 신뢰 가능하게 검출될 수 있고, 새로운 쓰기 중단 검출 메카니즘이 도입된다. 그것의 예시적인 실시예에 있어서, 알고리즘은 섹터 오버헤드 정보 내에 PSS(Previous Sector Status) 플래그 및 LSS(Last Sector Status) 플래그를 도입한다. 시스템이 블록 내에서 쓰기 섹터들 0 내지 x라 가정하면, 알고리즘은 섹터 0이 완료된 것을 표시하기 위해 섹터 1 내 데이터에 따라 섹터 1의 PSS를 쓸 것이고, 쓰기 중단이 발생하지 않는다. 이것은 PSS 플래그가 ECC에 의해 보호되도록 허용하고, 오버헤드를 포함하는 전체 섹터에 대한 ECC 또는 실시예들에서 오버헤드 ECC가 이러한 특징을 갖는다. 유사하게는, 섹터 2가 쓰여질 때, 그것의 PSS는 쓰기 명령의 마지막 섹터가 도달될 때까지 섹터 1이 쓰기 중단 없이 프로그래밍을 완료하는 등등을 표사하도록 쓰여질 것이다. 마지막 섹터, 섹터 x가 도달될 때, 마찬가지로 섹터 x 데이터가 입력되는 동일한 시간에 입력된 섹터(x-1)에 대응하는 PSS 플래그를 갖고, 그러나 쓰기에서 마지막 섹터와 같이, 섹터 x에 대응하는 PSS 플래그를 세탕하기 위한 다음 섹터가 존재하지 않을 것이다. 이것을 설명하기 위해, LSS 플래그가 사용된다. 섹터의 LSS 플래그는 섹터 자체에 대응하고, 그것을 포함하는 섹터가 쓰기 중단 없이 프로그래밍을 완료한 것을 표시한다.
섹터 x가 프로그래밍된 후에, 알고리즘은 섹터 x의 LSS를 프로그래밍한다. 이것은 호스트 프로그램 명령에 따른 마지막 섹터만이 쓰기 중단 검출을 보장하도록 2개 프로그래밍 동작을 요구한다는 것을 의미한다. PSS 방식은 제어기에 의해 캐싱된 명령들의 그룹 또는 호스트 원자 쓰기 명령 내 모든 섹터들에 대해 적용된다. LSS 방식은 시퀀스 페이지 이외에 프로그래밍이 허용되지 않는 경우 블록의 마지막 물리적 페이지 및 호스트 원자 쓰기 명령의 마지막 섹터에 적용한다. 메모리 시스템은 호스트 명령으로부터 프로그래밍될 섹터들의 수를 결정할 수 있고, PSS 및 LSS를 통해 쓰기 동작을 관리하도록 호스트 캐싱을 사용하여 시스템 성능 감화를 최소화한다. 예를 들어, 제어기는 메모리 동작의 하나의 시퀀스로 다중 호스트 원자 쓰기들을 그룹화할 수 있고, 그에 의해 섹터의 큰 척(chuck)에 걸쳐 쓰기 LSS의 오버헤드를 상환하여 성능 감화를 감소시킨다. 이러한 메카니즘들은 섹터가 블록 내 마지막 프로그래밍된 섹터 또는 블록의 마지막 물리적 섹터인 경우 다음의 물리적 섹터의 PSS 및 최신 섹터의 LSS를 조사하여 쓰기 중단 실패 검출을 보장한다.
삭제에 대해, 삭제 중단 플래그(EAF)는 성공적인 삭제 동작 후에 마킹될 수 있다. EAF 플래그는 블록의 제 1 섹터 내에서와 같이 미리 정해진 위치에 배치될 수 있다. PSS 플래그 및 EAF 플래그 모두에 대해(블록이 단일 섹터 이상을 포함할 때), 하나의 섹터에서 성공적인 동작의 표시가 또 다른 섹터에서 유지된다는 것에 주의한다. 이러한 플래그들을 통해, 시스템은 다음의 전력 공급의 다음 초기화 동안 쓰기 중단 또는 삭제 중단을 성공적으로 검출할 수 있다. 이러한 중단 검출 방식들은 요구되는 보다 긴 프로그래밍 및 삭제 시간들로 인해 MLC를 취급하도록 하드웨어를 디자인하기에 더 어렵고 비용이 많이 들기 때문에, 그리고 모든 단일 섹터에 대해 두번 프로그래밍하지 않고 얻어진 성능이 또한 전형적으로 보다 긴 프로그래밍 시간 요구로 인한 MLC에 대해 훨씬 더 크기 때문에 다중 상태(MLC) 메모리들에 대해 특히 효과적이다.
예시적 실시예는 섹터 레벨 기초에 대해 PSS 및 LSS 플래그들을 활용한다. 이것은 섹터가 호스트가 함께 작업하는 가장 작은 데이터 유닛이기 때문에 편리하 다. 보다 일반적으로, PSS 및 LSS 플래그는 전형적으로 얼마간의 물리적 데이터 유닛 또는 구조에 기초하여 데이터의 양들에 대해 각각의 성공적인 쓰기를 위해 세팅될 수 있다. 예를 들어, 데이터 쓰기의 유닛이 다중 섹터 데이터 페이지일 때, 데이터의 페이지의 성공적인 프로그래밍은 다음 페이지와 동시에, 그리고 마지막 페이지의 성공적인 쓰기를 위해 그 다음으로 세팅될 LSS 플래그를 통해 프로그래밍되는 PSS 플래그 내에 기록될 수 있다. 예시적인 실시예들의 본 설명이 섹터들과 "섹터"를 포함하는 플래그 명칭들에 관련할지라도, 이러한 실시예들은 보다 일반적인 상황으로 모두 확장될 수 있다. 마찬가지로, 예시적인 실시예에 대한 EAF 플래그가 블록 레벨에 대해 사용될지라도, 이것이 삭제 유닛이기 때문에, 보다 일반적으로 메타 블록에 대한 단일 삭제 플래그와 같이 서로 다른 스케일로 또한 사용될 수 있다.
예시적 실시예들의 쌍이 도 6A 내지 도 6C에 개략적으로 도시되어 있고, 도 6A 및 도 6C는 섹터의 구조를 도시하며, 도 6B는 다양한 필드들을 기술하고 있다. 도 6A는 메모리 배열(1)로부터 블록들의 수 n을 표현하고, 이것들은 블록 i(601)로부터 블록 i+n(603)까지 작동한다. 각각이 도면에서 로우로 표현되는 631 및 633과 같은 각각의 블록 내에 다수의 섹터들이 도시되어 있다. 다양한 필드들은 도 6B에 도시되어 있다.
일반적 섹터의 다양한 부분들은 도 6B에 도시되어 있다. 이것들은 사용자 데이터가 저장되는 데이터 부분(611)과, 본 기술 분야에 공지된 대응하는 에러 정정 코드(ECC)(615) 및 오버헤드의 다른 종류들(다른 613)과 같은 섹터에 대한 다양한 데이터를 포함하는 헤더 또는 오버헤드 부분(623)으로 구성된다. ECC는 데이터 및 오베헤드 모두에 대한 것일 수 있거나, 각각에 대한 개별적 ECC일 수 있다. 설명의 목적들을 위해서일지라도, 다양한 필드들이 이러한 도면들에서 분리되어 제시되며, 실제로 실제 저장 요소들 내에서 혼합될 수 있다. 추가적으로, 오버헤드 전용인 다른 물리적 위치들 및 데이터만을 포함하는 물리적 섹터들을 통해 오버헤드가 개별적으로 저장되는 실시예들이 또한 존재한다. 새로운 특징들은 오버헤드 내에 플래그들(PSS 617, LSS 619, EAF 621)을 포함한다는 것이다.
도 6A로 돌아가서, 각각의 섹터는 이전 섹터가 성공적으로 쓰여진 것을 표시하도록 세팅될 수 있는 PSS 플래그(617)와, 섹터 자체가 정확하게 쓰여진 것을 표시하도록 세팅될 수 있는 LSS 플래그(619) 모두를 갖는다. 이하 논의되는 바와 같이, 각각의 이러한 플래그들은 다중 비트들로 구성될 수 있다. 섹터가 쓰여지기 전에 알려진 PSS 플래그와 같이, 데이터 및 오버헤드 콘텐츠와 동시에 쓰여지고 ECC 보호될 수 있다. LSS 플래그가 계속해서 쓰여질 때, 성공적으로 쓰여질 섹터의 나머지에 의존하여 ECC 보호되지 않을 것이고, ECC는 이전에 쓰여진다.
블록의 콘텐츠들이 모두 함께 삭제되기 때문에, 예시적 실시예는 각각의 블록에 대해 단지 단일한 삭제 중단 플래그, EAF(621)를 활용할 수 있다. 본 발명은 다중 비트들로 다시 구성될 수 있는 EAF 플래그가 블록 i(601) 내 섹터(631)와 같은 블록의 제 1 섹터 내에 배치되는 규약을 채택한다. 삭제 프로세스가 성공적으로 완료된 훼, EAF가 세팅된다. 결과적으로, 예시적인 실시예에서 EAF 플래그는 항상 세팅되어야 한다. 세팅되지 않는 유일한 시간은 삭제 동작 후 EAF 플래그를 세팅하 기 위한 동작이 발생하지 않는 경우에 삭제 중단이 발생할 때이다. 데이터가 블록에 쓰여지기 전에 이미 세팅되어 있기 때문에, ECC 보호되지 않을 것이다.(ECC 보호되는 EAF 플래그를 갖는 것이 바람직한 경우, 그것이 삭제되어 그에 따라 추가적인 프로그래밍 오버헤드를 야기하는 데이터를 통해 다시 쓰여질 필요가 있다.) 양호한 실시예가 삭제 중단 검출에 대한 EAF 플래그들 및 쓰기 중단 검출에 대한 PSS/LSS 플래그들 모두를 포함할지라도, 이것들이 본 발명의 무관한 측면들이고 메모리 디바이스로 독립적으로 포함될 수 있다는 것에 주의해야 한다.
도 6A는 블록 i(601)의 섹터 0(631)에서 시작하고 블록 i+n(603) 내 섹터(639)에서 작동하는 쓰기 프로세스의 성공적인 결과에서 상태 섹터 플래그들 PSS(617) 및 LSS(619)의 배치를 도시하고 있다. 각각의 이러한 섹터들의 데이터 부분(611)은 그것들이 모두 성공적으로 쓰여졌기 때문에 검증된 데이터를 포함할 것이다. 오버헤드 부분에 있어서, 플래그들 PSS(617), LSS(619), 및 EAF(621)의 상태만이 세팅되지 않은 플래그를 표시하는 개방형 사각형 및 세트 플랙를 표시하는 X를 통해 제시된다. 오버헤드(613, 615)의 다른 부분들의 콘텐츠는 도시되지 않는다. 데이터 부분(611)은 호스트로 부터 공급되는 것으로 사용자 데이터 또는 시스템 데이터를 저장할 수 있고, 그 예들은 본 명세서에 참조 문헌으로 포함되는 국제 특허 공보 WO 03/027828에 기술되어 있다.
EAF 플래그들(621)은 블록들이 발생하는 삭제 중단 없이 성공적으로 이전에 삭제된 블록들 내에 세팅된다. 첫째로 쓰여진 섹터(631)는 세팅된 그것의 PSS 플래그(617) 또는 그것의 LSS 플래그(619) 어느 것도 갖지 않을 것이다. 다음 섹 터(633)는 선행하는 섹터(631)가 성공적으로 쓰여진 것을 표시하는 세팅된 그것의 PSS 플래그(617)를 가질 것이다. 마찬가지로, 쓰기의 마지막 섹터(639)까지 포함하는 각각의 연속적인 섹터는 세팅된 그것의 PSS 플래그를 가질 것이다. 마지막으로 쓰여진 섹터는 추가적으로 세팅된 그것의 LSS 플래그(619)를 가질 것이고, 세팅된 이러한 플래그를 갖기 위한 독립된 쓰기 프로세스의 유일한 섹터일 것이다.(세팅된 그것의 LSS 플래그를 갖지만 세팅되지 않은 그것의 PSS 플래그를 갖는 섹터의 경우는 유일한 단일 섹터가 쓰여지는 경우에만 발생할 것이다.)
도 7은 예시적인 쓰기 프로세스의 흐름도이다. 이것은 데이터의 다중 논리 섹터들에 쓰기 위한 쓰기 명령을 통해 단계(701)에서 시작한다. 그 후에, 제 1 논리 섹터는 대응하는 물리적 섹터(703)로 쓰여진다. 데이터가 정확하게 입력되어 검증된 후(705), 프로세스는 다음 섹터로 진행한다. 데이터 콘텐츠가 다음 섹터(707)로 쓰여질 때, PSS 플래그는 또한 이전 섹터가 정확하게 프로그래밍된 것을 표시하도록 그것의 오버헤드 영역 내에 세팅된다. 쓰기는 단계(709)에서 검증된다. 이것이 마지막 섹터(711, "아니오")가 아닌 경우, 쓰기 프로세스는 다음 섹터로 진행하고 선행하는 루프에서 단계(709)에 응답하여 단계(707)에서 PSS 플래그를 다시 세팅하는 단계들(707, 709)을 반복한다. 일단 마지막 섹터가 쓰여지고 확인되면(711, "예"), PSS 플래그를 세팅하기 위한 다음 섹터가 존재하지 않기 때문에, LSS 플래그는 마지막 섹터 내에 세팅된다. 섹터들이 블록 내에 쓰여지는 순서와, 블록들이 원자 쓰기 프로세스에서 쓰여지는 순서는 예를 들어 본 명세서에 참조 문헌으로 포함되는 미국 특허 공보 US 2003/0065899에서와 같이 포인터 구조에 기초하여 고정 되거나 가변적일 수 있다. (순서가 고정되지 않는 경우, 섹터가 PSS 플래그에 대응하는 선행 섹터라는 것을 결정하기 위해 유지될 필요가 있을 것이다. NAND 구조를 갖는 메모리들이 순차적 섹터 쓰기를 사용하기 때문에, 도 7의 방식에서 사용되는 섹터들의 순차적 쓰기가 추세이다.)
도 6A 및 도 6B로 돌아가면, 쓰기 프로세스가 성공적이었는지의 여부를 결정하기 위해, 단지 PSS(617) 및 LSS(619) 플래그들이 검사될 필요가 있다. 이러한 플래그들은 섹터들이 성공적으로 쓰여진 것을 보장하는 것으로 사용될 수 있다. 섹터의 LSS 플래그가 세팅되는 경우, 그것과 모든 쓰기 프로세스의 선행하는 섹터들은 성공적으로 프로그래밍되어 있다. 예를 들어, 쓰기 프로세스 동안 전력 손실이 존재하는 경우, 플래그들이 스캐닝될 수 있고, LSS 플래그(619)가 세팅되는 경우, 프로그래밍이 완료되고, LSS 플래그(619)가 세팅되지 않은 경우, PSS 플래그들(617)을 통해 반대로 작동함으로써, 제 1 세트 PSS 플래그는 전력이 손실되기 이전에 쓰기 프로세스에서 모든 섹터들이 성공적으로 쓰여진 것을 표시할 것이다. 마찬가지로, EAF 플래그(621)를 검사하는 것은 삭제 프로세스가 전체 블록의 데이터 콘텐츠를 검사하지 않으며 성공적으로 완료된 것을 결정하도록 허용한다. 그것은 또한 시스템이 (PSS 및 LSS 플래그들에 의해 또한 결정될 수 있는) 모두 0으로 발생하는 모든 유효한 데이터를 포함하는 블록과, 실제 삭제되는 블록을 구별하도록 허용한다.
도 6C는 많은 애플리케이션에서 바람직할 수 있는 도 6B의 실시예에 대한 변경을 도시하고 있다. 이러한 실시예에서, 완전한 블록이 쓰여질 때, LSS 플래그는 쓰기가 다른 블록들 내에 더 많은 섹터들로 진행할 때조차 블록 내에 쓰여지는 마지막 섹터에 대해 세팅된다. 결과적으로, 섹터(635)의 LSS 플래그는 도 6C에 세팅되어 있다. 섹터(635)의 성공적인 쓰기가 섹터(635) 자체 내에 기록되기 때문에, 또 다른 블록 내 제 1 섹터인 다음으로 쓰여진 섹터 내 PSS 플래그를 세팅할 필요는 없다. 따라서, 섹터(637)는 심지어 선행하는 섹터가 성공적으로 쓰여졌을지라도 세팅된 그것의 PSS 플래그를 갖지 않고, 이것은 선행하는 블록 내 마지막 섹터의 LSS 플래그에 의해 표시된다. 각각의 블록 내 제 1 섹터가 결과적으로 세팅된 그것의 PSS 플래그를 가질 필요가 없기 때문에, 이러한 플래그는 도 6C에서 섹터들(631, 637)에 대해 도시된 바와 같이 이러한 섹터들에 대해 제거될 수 있다. 섹터 0 내 이러한 비트들과 같이, 그것들은 EAF 플래그에 대해 사용될 수 있다. 결과적으로, EAF 플래그(621)가 도 6C에 도시된 바와 같이 제시될지라도, 다른 섹터들 내 PSS에 대해 사용될 영역은 섹터 0 내 EAF에 대해 사용가능하다.
도 6C의 배열은 블록 내 모든 섹터들의 상태가 블록 내 마지막 섹터의 LSS 플래그를 조사함으로써 바로 검사될 수 있다는 장점을 갖는다. 그것은 또한 섹터 0이 EAF 및 PSS 플래그 모두를 갖도록 요구되지 않기 때문에 블록 내 모든 섹터들이 데이터 비트들의 동일한 수를 갖는 장점이 있다.
도 6C의 배열에서, 도 7의 흐름도는 전류 섹터가 블록의 제 1 섹터인 경우 단계(707)에서 PSS 플래그가 세팅되지 않을 것이라는 점에 따라 약간 변경될 것이다. 블록의 마지막 섹터에 대해 단계들(709, 711) 사이에 LSS를 세팅할 필요가 있다.
플래그들의 구조를 고려하면, 이것들은 단일 비트 플래그들 또는 다중 비트 플래그들일 수 있다. 이것은 디자인 선택이며, 플래그들의 견고성 및 공간의 양이 사용되는 트레이드오프이다. 또한, 플래그들에서 번호 비트들이 증가하기 때문에, 플래그 자체가 에러의 증가된 위험과 직면하는 경우 데이터 쓰기가 성공적인지의 여부를 결정하는 것이 플래그들의 목적에 따라 카운터 생산적인 플래그 자체 내 불량 비트 또는 쓰기 에러의 확률이 존재한다. 예시적인 실시예는 몇 개의 각각의 플래그들을 사용하며, 사용되는 ECC를 대략적으로 매칭시킨다. 추가적으로, 추가된 견고성에 대해, 플래그들은 2진 모드, 심지어 다중 상태 메모리 내에 저장될 수 있다. 실제 데이터와 같은 동일한 MLC 프로그램 동작 동안 PSS 플래그가 세팅될 때, 2진 플래그들을 사용하는 것은 프로그래밍 알고리즘들을 다소 복잡하게 할 수 있고, 또한 다중 비트 플래그들이 사용될 수 있는 대부분의 애플리케이션들에서 필요로되지 않는다. 상기 기술된 예시적인 실시예에서, 상위 페이지/하위 페이지를 통해, 플래그들은 또한 동작의 복잡성을 감소시키기 위해 상위 페이지 플래그 및 하위 페이지 플래그에 대응하는 다중 레벨 방식에 따라 저장되는 것이 바람직하다.
상기 논의된 바와 같이, 본 발명은 예시적인 실시예의 플래시 메모리의 NAND 타입뿐만 아니라 다른 구조들 및 메모리 테크놀로지에 적용가능하다. 예를 들어, 예를 들어 셀 삭제를 통한 NOR 타입 플래시 메모리와 같은 다른 EEPROM 또는 전하 저장 셀들이 이익을 준다. 저장 요소가 플로팅 게이트 트랜지스터가 아닌 경우에, 예를 들어 참조 문헌으로 본 명세서에 포함되고 2002년 10월 25일 출원된 Eliyahou Harari, George Samachisa, Jack H. Yuan, 및 Daniel C. Guterman에 의한 명칭이 "유전체 저장 요소들을 활용하는 다중 상태 비휘발성 집적 회로 메모리 시스템들(Multi-State Non-Volatile Integrated Circuit Memory Systems That Employ Dielectric Storage Elements)")인 미국 특허 공보에 기술된 종류의 유전체 저장 요소인 경우에 마찬가지로 확장될 수 있다. 이제까지의 논의가 메모리 디바이스에 대한 플로팅 게이트 EEPROM 또는 플래시 셀들과 같은 전하 저장 디바이스를 사용하는 실시예들에 초점을 맞추었을지라도, 다른 실시예들, 예를 들어 모두 참조 문헌으로 본 명세서에 포함되어 사용될 수 있는 Eitan의 미국 특허 5,768,192 및 Sato 등의 미국 특허 제 4,630,086 호에 각각 기술된 것들과 같은 NROM 및 MNOS 셀들, 또는 Gallagher 등의 미국 특허 5,991,193 및 Shimize 등의 미국 특허 제 5,892,706 호에 각각 기술된 것들과 같은 자기 RAM 및 FRAM 셀들에 적용될 수 있다.
본 발명의 다양한 측면들이 특정한 실시예들과 관련하여 기술되었을지라도, 본 발명이 첨부된 특허청구범위 내에서 보호된다는 것을 이해할 것이다.

Claims (32)

  1. 복수의 데이터 저장 영역들을 포함하는 비휘발성 메모리에 있어서,
    각각의 상기 데이터 저장 영역들은,
    사용자 데이터 부분과,
    오버헤드 데이터 부분을 포함하며,
    각각의 데이터 저장 영역의 상기 오베헤드 데이터 부분은 상기 데이터 저장 영역들 중 또 다른 하나가 정확하게 쓰여진다는 것을 표시하기 위해 제 1 플래그를 포함하는, 상기 비휘발성 메모리.
  2. 제 1 항에 있어서,
    각각의 상기 데이터 저장 영역들의 오버헤드 데이터 부분은 상기 데이터 저장 영역 자체가 정확하게 쓰여진다는 것을 표시하기 위해 제 2 플래그를 더 포함하는, 상기 비휘발성 메모리.
  3. 제 1 항에 있어서,
    각각의 상기 데이터 저장 영역들은 데이터의 섹터에 대응하는, 상기 비휘발성 메모리.
  4. 제 1 항에 있어서,
    상기 데이터 저장 영역들은 복수의 삭제의 유닛들로 구성되고, 각각의 상기 삭제의 유닛들에서 미리 결정된 데이터 저장 유닛의 상기 오버헤드 데이터 부분은 상기 미리 결정된 데이터 저장 유닛이 속하는 삭제의 유닛이 삭제 동작을 완료한 것을 표시하기 위해 제 3 플래그를 더 포함하는, 상기 비휘발성 메모리.
  5. 제 1 항에 있어서,
    상기 데이터 저장 영역들은 복수의 삭제의 유닛들로 구성되고, 각각의 상기 불록들은 상기 제 2 플래그를 갖고 상기 제 1 플래그를 갖지 않는 오버헤드 데이터 부분과 추가적인 데이터 저장 영역을 더 포함하는, 상기 비휘발성 메모리.
  6. 제 5 항에 있어서,
    상기 제 1 플래그를 갖지 않는 각각의 상기 저장 영역들의 상기 오버헤드 데이터 부분은 상기 제 1 플래그를 갖지 않는 상기 데이터 저장 영역들이 속하는 삭제의 유닛이 삭제 동작을 완료한 것을 표시하기 위해 제 3 플래그를 포함하는, 상기 비휘발성 메모리.
  7. 제 6 항에 있어서,
    상기 데이터 저장 영역들은 미리 결정된 시퀀스에 따라 쓰여지고, 상기 데이터 저장 요소들 중 상기 또 다른 하나는 상기 시퀀스에 따른 선행하는 데이터 저장 영역이며, 상기 제 1 플래그를 갖지 않는 상기 데이터 저장 요소들은 자신들이 속 하는 각각의 블록들에서 상기 시퀀스에 따른 상기 제 1 데이터 저장 영역들인, 상기 비휘발성 메모리.
  8. 제 1 항에 있어서,
    상기 제 1 플래그들은 각각 다중 비트들로 구성되는, 상기 비휘발성 메모리.
  9. 제 1 항에 있어서,
    상기 데이터 저장 영역들은 미리 결정된 시퀀스에 따라 쓰여지고, 상기 데이터 저장 영역들 중 상기 또 다른 하나는 상기 시퀀스에 따라 선행하는 데이터 저장 영역인, 상기 비휘발성 메모리.
  10. 제 1 항에 있어서,
    상기 제 1 플래그들 및 상기 사용자 데이터 부분들의 콘텐츠는 에러 정정 코드(ECC)에 의해 보호되는, 상기 비휘발성 메모리.
  11. 복수의 데이터 저장 영역들을 포함하는 비휘발성 메모리에 있어서,
    각각의 상기 데이터 저장 영역들은,
    사용자 데이터 부분과,
    오버헤드 데이터 부분을 포함하며,
    상기 데이터 저장 영역들은 복수의 삭제의 유닛들로 구성되고, 각각의 상기 삭제의 유닛들에서 미리 결정된 데이터 저장 유닛의 오버헤드 데이터 부분은 상기 미리 결정된 데이터 저장 유닛이 속하는 삭제의 유닛이 삭제 동작을 완료한 것을 표시하기 위해 플래그를 더 포함하는, 상기 비휘발성 메모리.
  12. 제 11 항에 있어서,
    상기 플래그는 다중 비트들로 구성되는, 상기 비휘발성 메모리.
  13. 메모리에 있어서,
    복수의 데이터 저장 영역들을 포함하는 비휘발성 메모리와,
    상기 메모리에서 데이터의 판독 및 쓰기를 위한 제어기를 포함하며,
    상기 데이터 저장 영역들 중 2개 또는 그 이상으로 데이터의 순차적 쓰기 프로세스 동안, 우선적으로 계속되는 각각의 데이터 저장 영역에 대해 선행하는 데이터 저장 영역의 쓰기의 표시는 그것의 쓰기 프로세스의 일부로서 최신 데이터 저장 영역으로 쓰여지는, 상기 메모리.
  14. 제 13 항에 있어서,
    상기 순차적 쓰기 프로세스 동안, 상기 시퀀스 프로세스에서 상기 데이터 저장 영역들 중 마지막에 대해 상기 데이터 저장 영역들의 마지막의 쓰기의 표시는 상기 데이터 저장 영역들 중 마지막으로 쓰여지는, 상기 메모리.
  15. 제 14 항에 있어서,
    각각의 상기 데이터 저장 영역들은 데이터 부분 및 오버헤드 부분을 포함하고, 상기 표시들은 상기 오버헤드 부분으로 쓰여지는, 상기 메모리.
  16. 비휘발성 메모리를 동작시키는 방법에 있어서,
    제 1 데이터 저장 영역으로 사용자 데이터를 포함하는 제 1 콘텐츠를 프로그래밍하는 단계와,
    상기 제 1 콘텐츠가 상기 제 1 데이터 저장 영역 내에 정확하게 프로그래밍되는 것을 검증하는 단계와,
    제 2 데이터 저장 영역으로 사용자 데이터를 포함하는 제 2 콘텐츠를 계속해서 프로그래밍하는 단계와,
    상기 프로그래밍 제 2 콘텐츠를 통해 동시에, 상기 제 1 데이터 저장 영역이 정확하게 프로그래밍되는 표시를 상기 제 2 데이터 저장 영역에 쓰는 단계를 포함하는, 비휘발성 메모리 동작 방법.
  17. 제 16 항에 있어서,
    상기 프로그래밍 제 2 콘텐츠에 따라, 상기 제 2 콘텐츠가 상기 제 1 데이터 저장 영역에서 정확하게 프로그래밍되는 것을 검증하는 단계와,
    상기 제 2 데이터 저장 영역이 정확하게 프로그래밍되는 표시를 상기 제 2 데이터 저장 영역에 계속해서 쓰는 단계를 더 포함하는, 비휘발성 메모리 동작 방 법.
  18. 제 16 항에 있어서,
    상기 데이터 저장 영역들은 미리 결정된 순서로 쓰여지는, 비휘발성 메모리 동작 방법.
  19. 제 18 항에 있어서,
    상기 프로그래밍 제 2 콘텐츠에 따라, 상기 제 2 콘텐츠가 상기 제 1 데이터 저장 영역에서 정확하게 프로그래밍되는 것을 증명하는 단계와,
    상기 제 2 데이터 저장 영역이 속하는 삭제의 유닛에서 상기 미리 결정된 순서에 따라 쓰여지는 상기 데이터 저장 영역들의 마지막이 상기 제 2 데이터 저장소일 때 상기 제 2 데이터 저장 영역이 정확하게 프로그래밍되는 표시를 상기 제 2 데이터 저장 영역에 계속해서 쓰는 단계를 더 포함하며,
    데이터 저장 영역은 삭제의 유닛들로 그룹화되는, 비휘발성 메모리 동작 방법.
  20. 제 16 항에 있어서,
    상기 제 1 데이터 저장 영역이 정확하게 프로그래밍되는 표시 및 상기 제 2 콘텐츠는 에러 정정 코드(ECC)에 의해 보호되는, 비휘발성 메모리 동작 방법.
  21. 복수의 순차적으로 쓰여진 섹터들이 정확하게 프로그래밍되었는지의 여부를 결정하는 방법에 있어서,
    시퀀스에 따라 초기 섹터를 제외한 모든 섹터가 다음 섹터의 콘텐츠에 기초하여 정확하게 프로그래밍되었는지의 여부를 결정하는 단계와,
    상기 이어지는 섹터의 콘텐츠에 기초하여 정확하게 프로그래밍되도록 표시되지 않은 제 1 섹터를 발견하는 단계와,
    상기 제 1 섹터의 콘텐츠에 기초하여, 상기 제 1 섹터가 정확하게 프로그래밍되는지의 여부를 결정하는 단계를 포함하는, 상기 결정 방법.
  22. 제 21 항에 있어서,
    상기 다음의 섹터의 콘텐츠는 상기 선행하는 섹터가 정확하게 프로그래밍되는 것을 표시하는 플래그를 포함하는, 상기 결정 방법.
  23. 제 22 항에 있어서,
    상기 선행하는 섹터가 정확하게 프로그래밍되는 것을 표시하는 상기 플래그는 다중 비트들로 구성되는, 상기 결정 방법.
  24. 제 22 항에 있어서,
    상기 선행하는 섹터가 정확하게 프로그래밍되는 것을 표시하는 상기 플래그는 에러 정정 코드(ECC)에 의해 보호되는, 상기 결정 방법.
  25. 제 21 항에 있어서,
    상기 제 1 섹터 자체의 콘텐츠는 상기 제 1 섹터가 정확하게 프로그래밍되는 것을 표시하는 플래그를 포함하는, 상기 결정 방법.
  26. 제 25 항에 있어서,
    상기 제 1 섹터가 정확하게 프로그래밍되는 것을 표시하는 상기 플래그는 다중 비트들로 구성되는, 상기 결정 방법.
  27. 비휘발성 메모리를 동작시키는 방법에 있어서,
    상기 비휘발성 메모리의 블록의 데이터 콘텐츠를 삭제하는 단계로서, 상기 블록은 각각이 데이터 부분 및 오버헤드 부분을 갖는 복수의 섹터들을 포함하는, 상기 삭제 단계와,
    상기 블록이 성공적으로 삭제되는 것을 검증하는 단계와,
    상기 블록이 상기 섹터들 중 지정된 것의 오버헤드 부분으로 정확하게 성공적으로 쓰여진다는 표시를 쓰는 단계를 포함하는, 상기 비휘발성 메모리 동작 방법.
  28. 제 27 항에 있어서,
    상기 표시는 플래그를 포함하는, 상기 비휘발성 메모리 동작 방법.
  29. 제 28 항에 있어서,
    상기 플래그는 다중 비트들로 구성되는, 상기 비휘발성 메모리 동작 방법.
  30. 각각이 데이터 부분 및 오버헤드 부분을 갖는 복수의 섹터들을 갖는 비휘발성 메모리를 동작시키는 방법에 있어서,
    적어도 제 1 섹터의 데이터 콘텐츠를 변경하는 단계와,
    적어도 제 1 섹터의 데이터 콘텐츠를 변경하는 상기 단계가 성공적으로 완료되는 것을 계속해서 검증하는 단계와,
    적어도 제 1 섹터의 데이터 콘텐츠를 변경하는 상기 단계가 성공적으로 완료되는 표시를 제 2 섹터의 오버헤드 부분에 계속해서 기록하는 단계를 포함하는, 상기 비휘발성 메모리 동작 방법.
  31. 제 30 항에 있어서,
    상기 데이터 콘텐츠를 변경하는 단계는 프로그래밍 동작인, 상기 비휘발성 메모리 동작 방법.
  32. 제 30 항에 있어서,
    상기 제 1 및 제 2 섹터들이 동일한 블록에 속하고, 상기 데이터 콘텐츠를 변경하는 단계는 삭제 동작인, 상기 비휘발성 메모리 동작 방법.
KR1020067012950A 2003-12-31 2004-12-16 쓰기/삭제 중단 검출 메카니즘을 갖는 플래시 저장 시스템 KR100992985B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/751,096 2003-12-31
US10/751,096 US7299314B2 (en) 2003-12-31 2003-12-31 Flash storage system with write/erase abort detection mechanism

Publications (2)

Publication Number Publication Date
KR20060127015A true KR20060127015A (ko) 2006-12-11
KR100992985B1 KR100992985B1 (ko) 2010-11-08

Family

ID=34701265

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067012950A KR100992985B1 (ko) 2003-12-31 2004-12-16 쓰기/삭제 중단 검출 메카니즘을 갖는 플래시 저장 시스템

Country Status (7)

Country Link
US (2) US7299314B2 (ko)
EP (1) EP1700312B1 (ko)
JP (1) JP5085939B2 (ko)
KR (1) KR100992985B1 (ko)
CN (1) CN1902712B (ko)
TW (1) TWI290321B (ko)
WO (1) WO2005066973A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014150814A1 (en) * 2013-03-15 2014-09-25 Western Digital Technologies, Inc. Atomic write command support in a solid state drive

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761770B2 (en) * 2003-05-29 2010-07-20 Emc Corporation Disk controller architecture to allow on-the-fly error correction and write disruption detection
JP2005108273A (ja) * 2003-09-26 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
US8415302B2 (en) 2004-01-28 2013-04-09 The Regents Of The University Of California Surgical applications for BMP binding protein
US8193312B2 (en) 2004-01-28 2012-06-05 The Regents Of The University Of California Bone morphogenic protein binding peptide
US20050235283A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic setup of parameters in networked devices
US7500135B2 (en) * 2004-04-15 2009-03-03 Broadcom Corporation Fault tolerant data storage device
US20050235063A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic discovery of a networked device
US20050231849A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Graphical user interface for hard disk drive management in a data storage system
US7395402B2 (en) * 2004-04-15 2008-07-01 Broadcom Corporation Method and system of data storage capacity allocation and management using one or more data storage drives
US7681007B2 (en) * 2004-04-15 2010-03-16 Broadcom Corporation Automatic expansion of hard disk drive capacity in a storage device
US8065350B2 (en) * 2005-01-31 2011-11-22 Broadcom Corporation Method and system for flexibly providing shared access to data pools
US7966353B2 (en) * 2005-01-31 2011-06-21 Broadcom Corporation Method and system for flexibly providing shared access to non-data pool file systems
US20060248252A1 (en) * 2005-04-27 2006-11-02 Kharwa Bhupesh D Automatic detection of data storage functionality within a docking station
KR100732628B1 (ko) * 2005-07-28 2007-06-27 삼성전자주식회사 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치
US7971071B2 (en) * 2006-05-24 2011-06-28 Walkoe Wilbur J Integrated delivery and protection device for digital objects
KR100809319B1 (ko) * 2006-09-13 2008-03-05 삼성전자주식회사 플래시 메모리에서 연속한 섹터 쓰기 요청에 대해 원자성을제공하는 장치 및 방법
KR100833189B1 (ko) * 2006-11-03 2008-05-28 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의환경설정정보 설정 방법
US7930585B2 (en) * 2007-01-04 2011-04-19 Sandisk Il Ltd Recovery of a failed file transfer between a host and a data storage device
US7668018B2 (en) * 2007-04-03 2010-02-23 Freescale Semiconductor, Inc. Electronic device including a nonvolatile memory array and methods of using the same
US20080320253A1 (en) * 2007-06-19 2008-12-25 Andrew Tomlin Memory device with circuitry for writing data of an atomic transaction
US8266391B2 (en) * 2007-06-19 2012-09-11 SanDisk Technologies, Inc. Method for writing data of an atomic transaction to a memory device
US7719890B2 (en) * 2007-09-12 2010-05-18 Sandisk Corporation Data protection for write abort
KR20090042039A (ko) * 2007-10-25 2009-04-29 삼성전자주식회사 불휘발성 메모리 장치의 데이터 관리 방법
US8832408B2 (en) * 2007-10-30 2014-09-09 Spansion Llc Non-volatile memory array partitioning architecture and method to utilize single level cells and multi-level cells within the same memory
TW200929225A (en) * 2007-12-25 2009-07-01 Powerchip Semiconductor Corp Memory programming method and data access method
US8775758B2 (en) * 2007-12-28 2014-07-08 Sandisk Technologies Inc. Memory device and method for performing a write-abort-safe firmware update
CN101364444B (zh) * 2008-02-05 2011-05-11 威盛电子股份有限公司 控制方法及运用该控制方法的存储器及处理系统
TW200951960A (en) * 2008-06-12 2009-12-16 Genesys Logic Inc Flash memory control apparatus having sequential writing and method thereof
TWI399651B (zh) * 2008-09-12 2013-06-21 Communication protocol method and system for input / output device
KR101541736B1 (ko) * 2008-09-22 2015-08-04 삼성전자주식회사 멀티-레벨 셀 플래시 메모리 장치에서의 lsb 페이지 복구 방법
US8027195B2 (en) 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
EP2445512B1 (en) 2009-06-23 2018-08-29 The Regents of The University of California Enhancement of bmp retention
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
CN102004706B (zh) * 2009-09-01 2012-09-19 联芯科技有限公司 一种基于ftl的闪存擦写掉电保护方法
EP2302636B1 (fr) 2009-09-21 2014-11-05 STMicroelectronics (Rousset) SAS Procédé de lecture d'une mémoire non volatile au moyen de métadonnées et d'une table de correspondance
FR2950465B1 (fr) * 2009-09-21 2012-08-17 St Microelectronics Rousset Methode d'ecriture de donnees dans une memoire non volatile, protegee contre l'arrachement
US8271719B2 (en) * 2009-10-29 2012-09-18 Freescale Semiconductor, Inc. Non-volatile memory controller device and method therefor
US20110153912A1 (en) * 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8468294B2 (en) 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8054684B2 (en) * 2009-12-18 2011-11-08 Sandisk Technologies Inc. Non-volatile memory and method with atomic program sequence and write abort detection
US9396104B1 (en) * 2010-03-22 2016-07-19 Seagate Technology, Llc Accessing compressed data of varying-sized quanta in non-volatile memory
EP2413329B1 (en) * 2010-07-28 2014-03-26 Fujitsu Semiconductor Europe GmbH Electronic apparatuses
EP2466479B1 (en) * 2010-12-20 2013-11-27 STMicroelectronics (Grenoble 2) SAS Interface system, and corresponding integrated circuit and method
EP2466478B1 (en) 2010-12-20 2013-11-27 STMicroelectronics (Grenoble 2) SAS Communication system, and corresponding integrated circuit and method
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
JP5803614B2 (ja) * 2011-11-29 2015-11-04 ソニー株式会社 不揮発性キャッシュメモリ、不揮発性キャッシュメモリの処理方法、コンピュータシステム
US9141308B2 (en) 2011-12-30 2015-09-22 Sandisk Technologies Inc. Controller and method for using a transaction flag for page protection
US20130205066A1 (en) * 2012-02-03 2013-08-08 Sandisk Technologies Inc. Enhanced write abort management in flash memory
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
ITMI20120595A1 (it) * 2012-04-12 2013-10-13 St Microelectronics Srl Gestione della cancellazione di pagine operative di un dispositivo di memoria flash tramite pagine di servizio
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
KR101944793B1 (ko) 2012-09-04 2019-02-08 삼성전자주식회사 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
BR112015018304A2 (pt) * 2013-01-30 2017-07-18 Hewlett Packard Development Co mecanismo de escrita de memória não volátil
US9378829B2 (en) * 2013-02-07 2016-06-28 Cypress Semiconductor Corporation Non-volatile memory device with an EPLI comparator
KR102116983B1 (ko) 2013-08-14 2020-05-29 삼성전자 주식회사 메모리 장치 및 메모리 시스템의 동작 방법.
TWI501242B (zh) * 2013-10-04 2015-09-21 Winbond Electronics Corp 快閃記憶體之抹除方法
KR20150046974A (ko) * 2013-10-23 2015-05-04 에스케이하이닉스 주식회사 저항성 메모리 장치 및 동작 방법과 이를 포함하는 시스템
CN104575604B (zh) * 2013-10-25 2018-01-19 华邦电子股份有限公司 快闪存储器的抹除方法
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10482008B2 (en) 2015-01-23 2019-11-19 Hewlett Packard Enterprise Development Lp Aligned variable reclamation
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9659619B2 (en) 2015-05-21 2017-05-23 Sandisk Technologies Llc System and method for memory integrated circuit chip write abort indication
KR102491624B1 (ko) * 2015-07-27 2023-01-25 삼성전자주식회사 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법
US9653154B2 (en) * 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
US9929167B2 (en) * 2016-07-13 2018-03-27 Taiwan Semiconductor Manufacturing Co., Ltd. Semiconductor device and manufacturing method thereof
KR20180025356A (ko) * 2016-08-29 2018-03-09 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리 시스템
KR20180031853A (ko) * 2016-09-19 2018-03-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI616807B (zh) * 2016-11-17 2018-03-01 英屬維京群島商大心電子(英屬維京群島)股份有限公司 資料寫入方法以及儲存控制器
CN106951189B (zh) * 2017-03-17 2019-11-26 数据通信科学技术研究所 一种在线深度擦除flash文件的方法
US11294579B2 (en) 2020-06-18 2022-04-05 Western Digital Technologies, Inc. Mode handling in multi-protocol devices
US11557348B1 (en) 2021-06-24 2023-01-17 Western Digital Technologies, Inc. Enhanced word line stripe erase abort detection

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6050666A (ja) 1983-08-29 1985-03-20 Hitachi Ltd 記録制御方式
GB9116493D0 (en) 1991-07-30 1991-09-11 Inmos Ltd Read and write circuitry for a memory
JP3391475B2 (ja) * 1992-07-16 2003-03-31 大日本印刷株式会社 データの書き込み方法および読み出し方法ならびにこれらの方法を実施するデータ記録再生装置
FR2703501B1 (fr) 1993-04-01 1995-05-19 Gemplus Card Int Circuit intégré pour carte à mémoire et procédé de décomptage d'unités dans une carte à mémoire.
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
JPH09185551A (ja) * 1996-01-08 1997-07-15 Mitsubishi Electric Corp 半導体記憶装置
JP3718578B2 (ja) * 1997-06-25 2005-11-24 ソニー株式会社 メモリ管理方法及びメモリ管理装置
JPH11213626A (ja) * 1998-01-21 1999-08-06 Toshiba Corp データ記録媒体とデータ記録装置とデータ再生装置
JP3640802B2 (ja) * 1998-06-08 2005-04-20 富士通株式会社 データバックアップ方式
US6662334B1 (en) 1999-02-25 2003-12-09 Adaptec, Inc. Method and device for performing error correction on ECC data sectors
JP3920501B2 (ja) 1999-04-02 2007-05-30 株式会社東芝 不揮発性半導体記憶装置及びそのデータ消去制御方法
US6535949B1 (en) * 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
US6564307B1 (en) * 1999-08-18 2003-05-13 International Business Machines Corporation Method, system, and program for logically erasing data
JP2001250388A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd 消去動作情報を記憶する不揮発性メモリ
JP4031190B2 (ja) * 2000-09-29 2008-01-09 株式会社東芝 メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置
JP4037605B2 (ja) * 2000-12-04 2008-01-23 株式会社東芝 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
US6549467B2 (en) 2001-03-09 2003-04-15 Micron Technology, Inc. Non-volatile memory device with erase address register
JP3692313B2 (ja) * 2001-06-28 2005-09-07 松下電器産業株式会社 不揮発性メモリの制御方法
US7240178B2 (en) 2001-07-25 2007-07-03 Sony Corporation Non-volatile memory and non-volatile memory data rewriting method
JP3675375B2 (ja) * 2001-07-25 2005-07-27 ソニー株式会社 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法
US6977847B2 (en) 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
US7010662B2 (en) * 2002-02-27 2006-03-07 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
GB2386212A (en) * 2002-03-09 2003-09-10 Sharp Kk Storing temporally consecutive values in a memory segment that cannot be overwritten using sequential and bridging pointers
JP3978720B2 (ja) * 2002-05-13 2007-09-19 日本電気株式会社 データ記憶方法
US6891690B2 (en) 2002-11-20 2005-05-10 International Business Machines Corporation On-drive integrated sector format raid error correction code system and method
JP3984209B2 (ja) * 2003-07-31 2007-10-03 株式会社東芝 半導体記憶装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014150814A1 (en) * 2013-03-15 2014-09-25 Western Digital Technologies, Inc. Atomic write command support in a solid state drive
US10254983B2 (en) 2013-03-15 2019-04-09 Western Digital Technologies, Inc. Atomic write command support in a solid state drive

Also Published As

Publication number Publication date
TW200535853A (en) 2005-11-01
JP2007520801A (ja) 2007-07-26
CN1902712B (zh) 2012-03-28
EP1700312B1 (en) 2012-09-05
CN1902712A (zh) 2007-01-24
JP5085939B2 (ja) 2012-11-28
KR100992985B1 (ko) 2010-11-08
TWI290321B (en) 2007-11-21
US20050144362A1 (en) 2005-06-30
EP1700312A1 (en) 2006-09-13
US7299314B2 (en) 2007-11-20
US7669004B2 (en) 2010-02-23
US20080065818A1 (en) 2008-03-13
WO2005066973A1 (en) 2005-07-21

Similar Documents

Publication Publication Date Title
KR100992985B1 (ko) 쓰기/삭제 중단 검출 메카니즘을 갖는 플래시 저장 시스템
KR101368375B1 (ko) 소거된 섹터 검출 메커니즘
US7009889B2 (en) Comprehensive erase verification for non-volatile memory
US7379346B2 (en) Erase inhibit in non-volatile memories
KR101089575B1 (ko) 사이클 카운트를 저장하는 대량 소거 블록들을 구비한비휘발성 반도체 메모리
JP4391941B2 (ja) メモリセルの隣接する行の記憶素子間の結合の効果を減少させる方法
US8942038B2 (en) High endurance nonvolatile memory
CN113345503A (zh) 半导体存储装置以及读出方法
CN111383703B (zh) 非易失性存储器及其操作方法

Legal Events

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

Payment date: 20131017

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141021

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee