KR101460826B1 - 플래시 메모리용 부분 블록 소거 구조 - Google Patents

플래시 메모리용 부분 블록 소거 구조 Download PDF

Info

Publication number
KR101460826B1
KR101460826B1 KR1020097020969A KR20097020969A KR101460826B1 KR 101460826 B1 KR101460826 B1 KR 101460826B1 KR 1020097020969 A KR1020097020969 A KR 1020097020969A KR 20097020969 A KR20097020969 A KR 20097020969A KR 101460826 B1 KR101460826 B1 KR 101460826B1
Authority
KR
South Korea
Prior art keywords
block
sub
memory
data
memory block
Prior art date
Application number
KR1020097020969A
Other languages
English (en)
Other versions
KR20100015423A (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 KR20100015423A publication Critical patent/KR20100015423A/ko
Application granted granted Critical
Publication of KR101460826B1 publication Critical patent/KR101460826B1/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
    • 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
    • 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/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/08Address circuits; Decoders; Word-line control 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

메모리 블록의 서브-블록을 부분적으로 소거함으로써 플래시 메모리 장치의 수명을 증가시키는 방법 및 시스템이 제공된다. 플래시 메모리 장치의 각각의 물리적 메모리 블록은 적어도 2개의 논리적 서브-블록으로 분할가능하며, 상기 적어도 2개의 논리적 서브-블록의 각각은 소거가능하다. 그러므로, 논리적 서브-블록의 데이터만이 소거되고 재프로그램되는 반면, 다른 논리적 서브-블록에서의 수정되지 않은 데이터는 불필요한 프로그램/소거 주기를 회피한다. 소거되는 논리적 서브-블록은 크기 및 블록 내에서의 위치가 동적으로 구성가능하다. 프로그램 및 데이터 수정 동작 동안 물리적 블록의 수명을 최대화하기 위해 메모리 어레이의 물리적 및 논리적 서브-블록을 통해 데이터를 분배하기 위해 웨어 레벨링 알고리즘이 사용된다.

Description

플래시 메모리용 부분 블록 소거 구조{PARTIAL BLOCK ERASE ARCHITECTURE FOR FLASH MEMORY}
플래시 메모리는 예를 들면 디지털 카메라 및 휴대용 디지털 음악 플레이어 등의 소비자 전자 기기용 대량 저장매체로서 널리 사용되는 비휘발성 메모리의 일반적으로 사용되는 유형이다. 현재 이용가능한 플래시 메모리 칩의 밀도는 32Gbits(4GB)이며, 이것은 한 개의 플래시 칩의 크기가 작기 때문에 대중적인 USB 플래시 드라이브에서 사용하기에 적합하다.
도 1은 종래 기술의 전형적인 플래시 메모리의 일반적인 블록도이다. 플래시 메모리(10)는 플래시 회로의 각종 기능을 제어하는 제어 회로(12) 등의 논리 회로, 어드레스 정보, 데이터 정보 및 커맨드 데이터 정보를 저장하는 레지스터, 필요한 프로그램 및 소거 전압을 발생하는 고전압 회로, 및 메모리 어레이(18)에 액세스하기 위한 로우 어드레스 디코더(14)와 로우 어드레스 디코더 버퍼(16) 등의 코어 메모리 회로를 포함한다. 제어 회로(12)는 판독, 프로그램, 소거 기능 등의 내부 플래시 동작을 실행하는 로직과 커맨드 디코더를 포함한다. 플래시 메모리(10)의 도시된 회로 블록의 기능은 본 기술에서 잘 알려져 있다. 본 기술에서 숙련된 자는 도 1에 나타낸 플래시 메모리(10)가 많은 가능한 구조 중에서 가능한 하나의 플래 시 메모리 구성을 나타내는 것으로 이해해야 한다.
도 1의 플래시 메모리(10)의 메모리 셀 어레이(18)는 임의의 수의 뱅크로 구성되며, 특정 플래시 장치에 대하여 선택된 디자인 파라미터이다. 도 2는 도 1의 메모리 셀 어레이(18)의 1개의 뱅크(20)의 조직을 나타내는 개략 도면이다. 뱅크(20)는 블록(Block[0] ~ Block[k])으로 조직화되어 있고, 각각의 블록은 페이지(WL0 ~ WLi)로 구성되어 있다. k와 i는 모두 0이 아닌 정수값이다. 각각의 페이지는 공통의 워드라인에 연결된 메모리 셀의 로우에 대응한다. 다음은 블록의 메모리 셀에 대해 상세히 설명한다.
각각의 블록은 직렬로 배열되어 있고, 서로 전기적으로 연결된 플래시 메모리 셀(22)을 갖는 NAND 메모리 셀 스트링으로 구성된다. 따라서, 워드 라인(WL0 ~ WLi)은 메모리 셀 스트링의 각각의 플래시 메모리 셀의 게이트에 연결된다. 신호 SSL(string select line)에 연결된 스트링 선택 장치(24)는 메모리 셀 스트링을 비트라인(26)에 선택적으로 연결하고, 신호 GSL(ground select line)에 연결된 접지 선택 장치(28)는 메모리 셀 스트링을 VSS 등의 소스 라인에 선택적으로 연결한다. 스트링 선택 장치(24)와 접지 선택 장치(28)는 n채널 트랜지스터이다.
비트 라인(26)(BL0 ~ BLj, 여기서 j는 0이 아닌 정수값)이 뱅크(20)의 모든 블록에 공통이며, 각각의 비트 라인(26)은 각각의 블록 [0] ~ [k]에서 1개의 NAND 메모리 셀 스트링에 연결된다. 각각의 워드라인(WL0 ~ WLi), SSL 및 GSL 신호가 블 록의 각각의 NAND 메모리 셀 스트링에서 동일한 대응하는 트랜지스터 장치에 연결된다. 본 기술에서 숙련된 자가 알고 있듯이, 1개의 워드라인을 따라서 플래시 메모리 셀에 저장된 데이터를 데이터의 페이지라고 칭한다.
플래시 메모리 셀의 1개의 페이지에 프로그램되는 1개의 페이지의 쓰기 데이터를 저장하는 데이터 레지스터(30)가 뱅크(20) 외측의 각각의 비트라인에 연결되어 있다. 데이터 레지스터(30)는 플래시 메모리 셀의 1개의 페이지로부터 판독된 데이터를 감지하는 감지 회로를 또한 포함한다. 프로그램 동작 동안, 데이터 레지스터는 선택된 워드 라인에 연결된 플래시 메모리 셀에 데이터가 적절히 프로그램되었는지를 확실하게 하기 위한 프로그램 검증 동작을 행한다. 고밀도를 얻기 위해, 각각의 플래시 메모리 셀은 적어도 2 비트의 데이터를 저장하며, MBC(multi-bit-cell)로 칭해진다.
본 기술에서 숙련된 자는, MBC 플래시 메모리의 문제는 프로그램 디스터브(disturb)에 대한 그 메모리 셀의 민감도인 것으로 이해한다. 프로그램 디스터브는, 각각의 제조 기술 발생으로 서로에 더 가깝게 형성된 인접한 워드 라인과 플로팅 게이트 사이의 용량 연결의 결과이다. 그러므로, 프로그래밍 동안 1개의 셀에 인가된 고전압은 인접하는 셀의 프로그램된 임계 전압을 다른 논리 상태를 나타내는 것으로 이동시킬 수 있으며, 1개의 셀의 프로그램된 상태는 현재 프로그램되고 있는 인접하는 셀의 임계 전압에 영향을 줄 수 있다. MBC 플래시 메모리에서 프로그램 디스터브를 최소화하기 위해, 블록내에서 프로그램이 WL0에 대응하는 페이지에 서 시작하고, WLi까지 순차적으로 진행한다. 또는 프로그램은 WLi에서 시작하여 WL0로 하방으로 순차적으로 진행할 수 있다. NAND MBC 플래시 메모리 셀을 프로그램하는 이들 방식은 산업분야에서 잘 알려져 있다. 블록이 데이터로 전체 프로그램되면, 다음 파일의 프로그램 또는 데이터 세트는 다음 블록의 WL0에서 시작한다. 장치 내에서, 블록은 전형적으로 시퀀스로 프로그램된다.
플래시 메모리 장치는 더 이상 사용될 수 없기 전에 데이터를 신뢰성있게 저장하기 위해 제한된 수의 소거-프로그램 주기를 가지는 것으로 알려져 있다. 더 구체적으로, 플래시 메모리 셀은 누적된 프로그램 및 소거 동작으로 인해 플래시 메모리 셀의 열화가 진행되는 프로그램/소거 주기 웨어링(wearing)에 들어간다. 본 기술에서 숙련된 자는 데이터가 프로그램되기 전에 우선 메모리 블록이 항상 소거되므로, 주기는 프로그램 및 소거 주기 모두로 칭해질 수 있는 것으로 이해한다. 현재 알려진 모든 플래시 메모리는 블록 소거용으로 구성되며, 이것은 블록에서 한 페이지의 데이터만이 수정/갱신되어도, 그 페이지를 포함하는 전체 블록이 소거되고, 수정된 페이지와 수정되지 않은 페이지로 재프로그램되는 것을 의미한다. 이러한 누적되는 프로그램 및 소거 동작은 최적의 파라미터를 넘어서 메모리 셀의 프로그램 및 소거 특징이 교체되게 하는 효과를 가져 온다. 메모리 셀이 열화되면, 메모리 셀을 원하는 임계 전압까지 프로그램하거나 소거하기 위해서 더 높은 프로그램 및 소거 전압이 필요하다. 결국, 메모리 셀은 프로그램된 임계 전압으로 표현되는 데이터를 적절히 보유하지 못한다. 예를 들면, MBC 플래시 메모리에 대한 전형 적인 소거-프로그램 주기는 대략 10,000주기이다.
현재, 이용가능한 대부분의 플래시 메모리는 칩 크기에 비해 큰 저장 밀도로 인해서 MBC 유형이다. 이것은 대부분의 전자 애플리케이션 기기에 적합하지만, 10,000 주기 프로그램-소거의 한계는 프로그램 및 소거가 빈번한 다른 애플리케이션에 대해 불충분할 수 있다. 그러므로, MBC 플래시 메모리가 10,000 주기의 수명에 도달하면, 더 이상 이용가능하지 않아서 폐기되어야 한다. 이 문제는 더 빈번한 프로그램-소거 주기가 있는 HDD 애플리케이션 등의 상업적인 애플리케이션에 더 치명적이다. HDD 애플리케이션은 대부분의 소비자 전자 기기 애플리케이션보다 더 높은 데이터 보전(integrity)을 요구하기 때문에, MBC 플래시 메모리는 상대적으로 짧은 10,000 주기 수명으로 인해 사용하기에 적합하지 않다.
저장되고 있는 데이터 파일 크기가 비교적 정적으로 남아 있는 반면, 플래시 메모리 장치의 블록 크기가 계속 증가되는 사실로 인해 이 문제가 더 심각하다. 예를 들면, 요즈음 고밀도 플래시 장치에 대한 블록 크기가 256KB의 범위에 있지만, 미래의 고밀도 플래시 장치는 512KB에 달하는 블록 크기를 가진다. 블록에 저장된 데이터 파일이 작으면, 더 많은 메모리 셀이 데이터 파일이 수정될 때의 크기를 갖는 블록에 대해 소거/프로그램 주기에 반드시 들어갈 필요가 있는 것은 아니다.
그러므로, 연장된 수명을 갖는 플래시 메모리 장치를 제공하는 것이 바람직하다.
본 실시예의 구성은 종래의 플래시 메모리 시스템의 적어도 1개의 단점을 제거하거나 완화시키는 것이다.
제1 구성에서, 메모리 어레이 및 로우 회로를 갖는 플래시 메모리 장치가 제공된다. 메모리 어레이는 칼럼으로 배열된 적어도 1개의 블록의 NAND 플래시 메모리 셀 스트링을 가지며, 적어도 1개의 블록은 선택적으로 소거가능한 소정 수의 플래시 메모리 셀을 갖는다. 로우 회로는, 기판이 소정 수의 플래시 메모리 셀을 소거하기 위한 소거 전압으로 바이어스될 때 소정 수의 플래시 메모리 셀에 대응하는 제1 워드라인을 제1 전압으로 구동한다. 로우 디코더는 제2 워드라인을 제2 워드라인에 결합된 플래시 메모리 셀의 소거를 금지하기 위한 제2 전압으로 구동한다. 제1 구성의 실시예에 따르면, 소정 수의 플래시 메모리 셀은 MBC(multi-bit-cells)일 수 있고, 이들은 1개의 순차적인 세트의 플래시 메모리 셀에 대응하거나, 2개의 순차적인 세트의 플래시 메모리 셀에 대응하며, 2개의 순차적인 세트의 플래시 메모리 셀은 서로 인접하지 않는다. 본 구성의 또 다른 실시예에서, 적어도 1개의 블록의 NAND 플래시 메모리 셀 스트링은 공통 소스 라인에 결합되고, 플래시 메모리 장치는 소거 검증 동작 동안 공통 소스 라인의 전압을 제3 전압과 제4 전압의 사이에 설정하는 소스 라인 전압 제어 회로를 더 포함한다. 제4 전압은 제3 전압보다 작고, 제1 워드라인의 수가 증가하면서 상기 공통 소스 라인의 전압이 감소한다.
제2 구성에서, 메모리 블록의 서브 블록을 소거하는 방법이 제공되며, 메모리 블록은 제1 워드라인, 최종 워드라인 및 제1 워드라인과 최종 워드라인 사이의 중간 워드라인에 결합된 NAND 플래시 메모리 셀 스트링을 갖는다. 이 방법은 제1 어드레스를 갖는 제1 입력 어드레스 커맨드를 발행하는 단계, 제2 어드레스를 갖는 제2 입력 어드레스 커맨드를 발행하는 단계, 부분 소거 커맨드를 발행하는 단계; 및 제1 어드레스 및 제2 어드레스에 대응하는 워드라인에 의해 결합된 워드라인 세트를 갖는 서브-블록을 소거하는 단계를 포함한다.
본 구성의 실시예에 따르면, 제1 어드레스는 널 어드레스를 포함하고, 서브-블록은 제2 어드레스에 대응하는 1개의 워드라인과 제1 워드라인에 의해 결합된 워드라인 세트를 포함한다. 본 구성의 또 다른 실시예에서, 제2 어드레스는 널 어드레스를 포함하고, 서브-블록은 제1 어드레스에 대응하는 1개의 워드라인과 최종 워드라인에 의해 결합된 워드라인 세트를 포함한다. 또 다른 실시예에서, 이 방법은 소거된 서브-블록을 소거 검증하는 단계를 더 포함한다. 소거 검증 단계는, 비트라인을 프리차지하고, 워드라인 세트를 바이어스하고, 비선택 워드라인을 바이어스하고, 감지하는 단계를 포함한다. 프리차지단계는 NAND 메모리 셀 스트링에 결합된 비트라인을 프리차지 전압 레벨로 프리차지하는 단계를 포함한다. 워드라인 세트에 결합된 소거된 메모리 셀을 턴온하기 위해 제1 전압으로 워드라인 세트가 바이어스된다. 비선택 워드라인에 결합된 메모리 셀을 턴온하기 위한 제2 전압으로 비선택 워드라인이 바이어스된다. 감지하는 단계는 프리차지 전압 레벨에서의 변화를 감지하는 단계를 포함한다.
또 다른 실시예에서, 제1 전압은 음의 전압이고, 제2 전압은 판독 동작 동안 사용된 판독 전압이다. 또는, 제1 전압은 0V이고, 제2 전압은 판독 동작 동안 사용된 판독 전압이 가능하다. 또 다른 실시예에서, NAND 플래시 메모리 셀 스트링에 결합된 공통 소스 라인은 가변 소스 바이어스 전압으로 바이어스되고, 워드라인 세트의 수가 감소하면서 가변 소스 바이어스 전압은 0V로부터 최대 전압으로 증가한다.
제3 구성에서, 메모리 블록의 서브-블록에서의 데이터를 수정할 때 웨어 레벨링 제어를 행하는 방법이 제공된다. 수정된 데이터를 새로운 메모리 블록의 빈 서브-블록에 프로그램하는 단계 및 메모리 블록의 서브-블록을 소거하는 단계를 포함한다. 일 실시예에서, 이 방법은 새로운 데이터를 최저 순위의 이용가능한 서브-블록에 프로그램하는 단계를 더 포함하고, 각각의 메모리 블록은 적어도 2개의 서브-블록을 포함하고, 최저 순위의 이용가능한 서브-블록은 순차적인 프로그램 방식으로 프로그램되는 제1 워드라인에 가장 근사한 한 세트의 워드라인을 포함한다. 또 다른 실시예에서, 이 방법은 수정된 데이터의 논리 어드레스를 새로운 메모리 블록의 빈 서브-블록에 대응하는 물리 어드레스로 매핑하기 위해 어드레스 매핑 테이블을 업데이트하는 단계를 포함한다. 또 다른 실시예에서, 빈 서브-블록은 최저 순위의 이용가능한 서브-블록이거나, 서브-블록과 동등한 순위를 갖는다. 빈 서브-블록의 순위가 서브-블록과 동등하면, 새로운 메모리 블록이 비거나 빈 서브-블록 보다 낮은 순위의 또 다른 서브-블록에 저장된 다른 데이터를 포함한다. 또는, 빈 서브-블록은 서브-블록보다 높은 순위를 갖는다. 또 다른 실시예에서, 이 방법은, 서브-블록과 1개의 또 다른 서브-블록의 프로그램/소거 주기 사이의 차이가 소정 값에 달할 때, 서브-블록의 데이터와 메모리 블록의 1개의 또 다른 서브-블록의 다른 데이터를 교환하는 단계를 포함한다.
상기 서술된 실시예의 다른 구성 및 특징은 첨부 도면과 함께 특정 실시예의 다음의 설명을 고려할 때 본 기술에서 숙련된 자들에게 분명해진다.
실시예를 첨부된 도면을 참조하여 예를 통해 설명한다.
도 1은 종래 기술의 전형적인 플래시 메모리의 블록도이다.
도 2는 메모리 어레이의 물리적인 배열을 나타내는 도면이다.
도 3은 플래시 메모리 장치의 부분적으로 소거된 물리적 메모리 블록의 개념적인 도시이다.
도 4는 플래시 메모리 어레이의 물리적 메모리 블록의 회로 상세를 나타내는 개념적인 도시이다.
도 5는 소거 검증 동작 동안 소스 라인 전압과 선택된 워드라인의 수 사이의 관계를 도시하는 그래프이다.
도 6은 부분적인 블록 소거와 소거 검증에 대한 방법의 플로우챠트이다.
도 7a, 7b, 7c는 선택적으로 소거가능한 서브-블록의 예를 도시하는 NAND 메모리 셀 스트링의 개략 회로도이다.
도 8은 메모리 블록의 서브-블록을 소거하는 커맨드 프로토콜을 도시하는 플로우 챠트이다.
도 9는 도 8에 나타낸 커맨드 프로토콜을 사용하여 상부 서브-블록, 하부 서브-블록, 또는 서브-블록 슬라이스를 소거하는 방법의 플로우챠트이다.
도 10a, b는 상이한 논리적인 서브-블록 구성을 갖는 메모리 블록의 개략도이다.
도 11은 웨어 레벨링 알고리즘의 플로우챠트이다.
도 12는 도 11에 나타낸 웨어 레벨링 알고리즘의 서브-블록 할당자 서브-루틴이다.
도 13a, 13b, 13c, 13d는 또 다른 서브-블록으로의 데이터 재프로그램의 그래픽적 도시이다.
도 14는 메모리 블록의 서브-블록들 사이의 프로그램/소거 주기 불균형을 제어하는 방법의 플로우챠트이다.
도 15a 및 15b는 도 14의 방법을 사용하는 데이터 교환 전후의 메모리 블록의 그래픽적 도시이다.
일반적으로, 실시예는 플래시 메모리 장치의 수명을 증가시키기 위한 방법 및 시스템을 제공한다. 플래시 메모리 장치의 각각의 물리적 메모리 블록은 적어도 2개의 논리적 서브-블록으로 분할가능하며, 적어도 2개의 논리적 서브-블록이 각각 소거가능하다. 그러므로, 1개의 논리 블록의 데이터만이 소거되고 재프로그램되는 반면, 다른 논리 블록에 있는 수정되지 않은 데이터는 불필요한 프로그램/소거 주기에 들어가지 않는다. 소거되는 논리 서브-블록은 크기와 블록 내에서의 위치가 동적으로 구성가능하다. 물리적 블록의 수명을 최대화하기 위해 메모리 어레이의 물리적 및 논리적 서브-블록을 통해 데이터를 분배하도록 웨어 레벨링 알고리즘(wear leveling algorithm)이 사용된다.
도 3은 본 실시예에 따르는, 플래시 메모리 장치의 물리적 메모리 블 록(Block[0] ~ Block[k])의 개념적인 도시이다. 각각의 물리적 블록은 선택적으로 소거되는 논리적 서브-블록을 가질 수 있으며, 소거되고 있는 서브-블록은 임의의 수의 페이지로 구성될 수 있다. 도 3에서, 데이터를 저장하는 메모리 블록의 일부가 빗금으로 표시되어 있는 반면, 메모리 블록의 소거된 서브-블록은 빗금 표시가 되어 있지 않다. 선택적으로 소거되고 있는 서브-블록의 크기는 물리적 블록의 임의의 비율로 미리 설정될 수 있거나, 동작 중에 동적으로 구성가능하다. 도 3의 예에서, Block[0]는 Block[1]보다 더 작은 소거된 서브-블록을 가진다. 물리적 블록 크기에 의거해서, 물리적 블록은 2개 이상의 논리적 서브-블록(예를 들면, 4개의 논리적인 서브-블록)으로 분할하는 것이 편리할 수 있다. 그러므로, 각각의 물리적 블록은 부분적으로 소거가능하다. 각각의 물리적 블록의 메모리 셀이 도 2에 도시된 것같이, NAND 메모리 셀 스트링에 배열되어 있고, 각각의 페이지가 WL0 에서 WLi(여기서, WLi는 프로그램되는 최종 워드 라인)의 방향으로 순차적으로 프로그램되는 것으로 가정한다.
데이터가 WL0 에서 WLi로 순차적으로 프로그램되는 본 실시예에서, 하부의 서브-블록과 상부의 서브-블록이 있다. 하부의 서브-블록은 더 낮은 순차적인 세트의 워드라인을 포함하는 반면, 상부의 서브-블록은 더 높은 순차적인 세트의 워드라인을 포함한다. 프로그램 디스터브를 최소화하기 위해, 임의의 메모리 블록의 상부의 서브-블록이 소거되고 프로그램되는 반면, 하부의 서브 블록의 데이터가 보유된다. 이 구조는 이전에 소거된 물리적 블록이 특정 페이지까지 순차적으로 프로그 램되고, 나머지 페이지는 소거된 상태로 남겨두는 상황을 모방한다. 그러므로, 소거된 상부 서브-블록으로 순차적으로 나중에 데이터가 프로그램될 때, 프로그램 디스터브가 최소화된다. 인접한 상부 서브-블록에 데이터가 보유되고 하부 서브-블록이 소거될 수 있는 반면, 인접한 상부 서브-블록이 소거될 때까지 데이터가 하부의 서브-블록에 재프로그램되어서는 안된다.
물리적 블록을 부분적으로 소거하는 일반적인 개념이 도입되면, 더 상세한 실시예를 도 4를 참조하여 기재한다. 도 4는 플래시 메모리 어레이의 물리적 블록(100), 워드 라인 드라이버 블록(102), 및 소스 라인 전압 제어 회로(104)를 나타내는 개략 회로도이다. 워드 라인 드라이버 블록(102), 및 소스 라인 전압 제어 회로(104)는 물리적 블록(100)에 전형적으로 로컬이다. 물리적 블록(100)은 칼럼으로 배열된 NAND 플래시 메모리 셀 스트링을 갖고, 각각의 스트링은 비트 라인(BL0 ~ BLj) 및 공통 소스 라인(CSL)에 연결된다. 워드 라인 드라이버 블록(102)은 신호(SS)를 SSL 제어 라인에, S[0:n]을 WL0 ~ WLn의 워드 라인에 각각 연결하고, GS를 GSL 제어 라인에 연결한다. 프로그램, 프로그램 검증, 판독 및 소거 동작 동안, 본 기술에서 숙련된 자에게 알려진 것같이, 신호 SS, S[0:n] 및 GSL은 다른 전압 레벨로 설정된다. 소스 라인 전압 제어 회로(104)는 실행되는 상기 서술된 동작 중 하나에 의거해서 CSL의 전압 레벨을 설정해야 한다.
다음은 물리적 블록(100)의 소거가능한 서브-블록의 논리적 형식을 도시하는 예이다. 물리적 블록(100)의 모든 페이지(WL0 ~ WLn)가 WL0로부터 WLn의 방향으로 데 이터가 프로그램되고, WL27 ~ WLn에 연결된 메모리 셀에 저장된 데이터가 수정되는 것으로 가정한다. 따라서, 비트라인, 워드라인 WL27 ~ WLn, 및 소스 라인 CSL이 바이어스되어 워드라인 WL27 ~ WLn에 연결된 메모리 셀에 저장된 데이터만을 소거한다. 그 후, 수정된 데이터는 동일한 워드라인에 재프로그램된다. 워드라인 WL27 ~ WLn에 대응하는 페이지는 상부 서브-블록(106)이라고 칭하고, 워드라인 WL0 ~ WL26에 대응하는 페이지는 하부 서브-블록(108)이라고 칭한다. 그러므로, 상부 서브-블록(106)은 크기가 소거되고 있는 데이터에 의존하기 때문에, 그 크기가 동적으로 구성가능하다. 또는, 서브-블록(106)과 서브-블록(108)의 크기가 고정될 수 있다.
서브-블록이 소거된 후에 데이터가 반드시 재프로그램되어야 하는 것은 아니기 때문에, 현재 서술된 실시예는 서브-블록의 소거 및 재프로그램에 한정되지 않는다. 이것은 서브-블록이 1개의 동작에서 일단 소거된면, 소거된 서브-블록 아래의 임의의 수의 순차적인 페이지가 다음 동작에서 소거될 수 있음으로써, 소거된 서브-블록의 크기를 연장시키는 것을 의미한다.
이전에 언급한 것같이, 특정 페이지의 물리적 블록이 비트 라인, 선택/비선택된 워드 라인, 및 소스 라인을 바이어스하여 소거된다. 표 1 및 표 2는 선택된 물리적 블록에서 페이지의 서브-블록에 대해 효과적인 바이어스 조건과, 비선택된 물리적 블록에서 소거를 금지하기에 효과적인 바이어스 조건의 예를 제공한다.
[표 1]
Figure 112009061451831-pct00001
표 1의 예에서, 대응하는 비선택된 페이지가 소거되는 것을 방지하기 위해 비선택 워드라인은 양(positive)의 전압으로 바이어스된다. 이 전압은 Vers라고 칭한다. 선택된 워드라인은 선택된 페이지를 소거하기 위해 다른 전압(예를 들면, 0V)으로 바이어스 된다. 메모리 셀의 기판이 Vers 등의 양의 전압으로 바이어스되면, 0V로 바이어스된 메모리 셀과 기판 사이에 전계가 형성되고, 이것은 메모리 셀을 소거하기에 효과적이다. Vers로 바이어스된 메모리 셀과 기판 사이의 전계가 메모리 셀을 소거하기에 불충분하므로, 소거가 금지되고, 거기에 저장된 데이터가 보유된다.
비선택된 블록에서 메모리 셀의 소거를 방지하기 위해, 소거 동작 동안 비선택된 블록의 모든 워드라인이 플로팅하도록 남겨진다. 비선택된 블록의 다음의 워드 라인이 거의 소거 전압 Vers으로 부스트되며, 이것은 Vers가 기판에 인가될 때 기판과 워드라인 사이의 용량 결합에 의해, 셀 어레이의 기판이 Vers로 바이어스될 때 Vers의 대략 90%가 될 수 있다.
플로팅 워드라인 상의 실제의 부스트된 전압 레벨이 기판과 워드라인 사이의 결합 비율에 의해 결정되는 것에 주의한다. 비선택된 블록에서 워드라인상의 부스트된 전압은 기판과 워드라인 사이의 전계를 감소시킴으로써, 메모리 셀의 소거를 금지한다. 플래시 메모리에서 워드라인 부스팅의 더욱 상세한 내용은 2006년 11월 30일에 출원된 공통으로 소유된 미국 특허 출원 번호 11/565,170에 서술되어 있다.
[표 2]
Figure 112009061451831-pct00002
표2의 예에서, 바이어스 조건은 선택된 블록의 비선택 워드라인이 거의 소거 전압 Vers으로 부스트되는 것을 제외하고, 표 1에 나타낸 조건과 동일하다. 일 실시예에서, 부스트된 전압은 대략 Vers의 90%이고, 이것은 비트라인과 소스라인을 통해 메모리 셀을 프리차지하고, Vers로 상승되면서 기판에 용량 결합을 통해서 워드라인을 부스팅함으로써 얻어진다. 다시 한번, 소거를 금지하는 워드라인 부스팅의 상세한 내용은 미국 특허 출원 번호 11/565,170에 상세하게 서술되어 있다. 표 1 및 2에 나타낸 도시된 바이어스 조건은 단지 일 예일 뿐이며, 본 기술에서 숙련된 자는 특정 값이 제조 공정, 사용된 재료, 및 메모리 셀의 특정 설계에 의존하는 것으로 이해해야 한다.
물리적 블록의 서브-블록이 소거되면, 데이터가 재프로그램되기 전에 행해지는 선택적인 절차는 소거 검증 동작이다. 소거 검증 동작은 소거된 셀이 적절한 임계 전압 마진을 가지는지 확인한다. 예를 들면, 소거 임계 전압은 일부 음의 전압값이다. 종래의 블록 소거 구조에서, 블록의 모든 워드라인을 0V로 바이어스하고, NAND 메모리 셀 스트링을 통해 전류를 감지하여 소거 검증이 행해진다. 0V 보다 큰 소거 임계 전압을 갖는 적어도 1개의 메모리 셀을 갖는 임의의 메모리 셀은 온으로 되지 않고, 대응하는 비트 라인에서 전류의 부재가 감지된다. 일부 메모리 셀이 많은 가능한 임계 전압 중 하나에 대응하는 데이터를 여전히 보유하면 이 종래의 구조는 가능하지 않다.
실시예에 따르면, 소거된 메모리 셀에 결합된 선택된 워드라인을 소거 임계 전압보다 큰 전압으로 바이어스하고, 모든 잔여 비선택 워드라인을 판독 동작을 위해 사용되는 전압으로 바이어스함으로써, 부분적인 소거 블록에 대한 소거 검증 동작이 행해진다. 이 전압은 Vread로 칭해지며, 예를 들면 4 ~ 5V의 범위에 있다. 표 3은 부분적으로 소거된 블록에서 소거 검증 동작을 행하기 위한 일 예의 바이어스 조건을 나타낸다.
[표 3]
Figure 112009061451831-pct00003
실시예에 따르면, 음의 임계 소거 전압이 0V로부터 충분히 떨어져 있는 것을 확실하게 하기 위해, 검증되고 있는 워드 라인의 수에 대해 소스 라인의 전압(Vcs)이 조정가능하다. 예를 들면, 음의 임계 소거 전압이 적어도 -0.5V이어야 하고, -0.2V의 임계에서 소거가 행해지면, -0.2V 임계를 검출하기 위해 워드라인은 -0.5V로 바이어스되어야 한다. 그러나, 음의 전압이 몇몇 장치에서 사용하기에 부적합할 수 있기 때문에, 선택된 워드라인이 0V로 바이어스되는 반면, 소스 라인 Vcs가 양의 전압 레벨로 상승된다. Vcs를 양으로 바이어스함으로써, 선택된 워드라인은 효과적으로 음이 된다. 본 기술에서 숙련된 자는 이 효과를 이해해야 한다.
도 5는 검증되고 있는 소거된 서브-블록에 대응하는 선택된 워드라인의 수 사이의 관계를 나타낸다. x축은 검증되는 워드 라인의 전체 수인 반면, y축은 공통 소스 라인의 전압(Vcs)이다. 대각선(120)은 Vcs의 전압 레벨과 선택된 워드라인의 수 사이의 이상적인 관계를 나타낸다. 검증되는 선택된 워드라인의 수가 증가하면서 Vcs 전압이 감소하는 것이 분명하다. 오직 1개의 워드라인이 검증되면, Vcs는 예를 들면 0.4V와 같이 제1 전압으로 설정될 수 있다. 다른 예에서, 모든 워드라인이 검증되면, Vcs는 0V보다 작은 제2 전압으로 설정될 수 있다. 그러므로, 현재 나타낸 실시예에서 Vcs의 범위가 0V와 0.4V 사이의 범위에 올 수 있다. 각각의 NAND 메모리 셀 스트링에서 보다 많은 워드라인을 갖는 다른 실시예에서, 0.4V보다 높은 전압이 사용될 수 있다.
대각선(120)이 이상적이지만, 적어도 일부 실시예에서 구현이 필요한 미세한 제어는 실제적이지 않다. 그러나, 본 기술에서 숙련된 자가 이해하듯이, 선택된 워 드라인의 그룹화를 위해 스텝된(stepped) 전압이 소스 라인 전압 제어 회로(104)에서 실제적으로 구현될 수 있다. 스텝된 커브(122)는 가능한 워드라인 그룹화와 스텝 크기의 일 예를 나타낸다. 제1 전압, 제2 전압, 워드라인 그룹화의 크기 및 그룹화들 사이의 전압 스텝 크기의 선택은 플래시 메모리 장치의 설계 파라미터에 기초한다.
부분적인 블록 소거 및 소거 검증 방법 실시예를 도 6을 참조하여 설명한다. 도 6의 방법은 각각의 부분적인 블록 소거 동작에 대해 실행될 수 있다. ERS_LOOP로 불리는 소거 루프 카운터 변수를 1과 같게 설정하거나, 임의의 원하는 시작 값으로 설정함으로써 이 방법은 단계 200에서 시작한다. 단계 202에서, 부분적인 블록 소거 동작이 NAND 메모리 셀 스트링에서 적어도 1개의 메모리 셀을 소거하기 위해 실행된다. 이 단계는 부분적인 소거 지시를 수신하는 것, 소거되는 메모리 셀에 대응하는 어드레스를 수신하는 것, 및 선택된 워드라인, 비선택 워드라인, 비트 라인 및 다른 관련된 신호들을 선택된 워드 라인에 결합된 메모리 셀을 소거하기에 충분한 레벨로 바이어스하는 것을 포함한다. 이전에 도시된 표 1 및 표 2는 사용될 수 있는 일 예의 바이어스 값을 열거한다.
지금, 물리적인 블록의 서브-블록이 부분적으로 소거된 후, 소거 검증 시퀀스는 단계 204에서 시작한다. 이 단계는 선택된 워드라인의 수에 기초해 적절한 Vcs 레벨을 설정하는 것과, 선택된 워드라인에 결합된 메모리 셀의 소거된 상태를 감지하기 위해 적절한 전압으로 선택 및 비선택 워드라인을 바이어스하는 것을 포함한다. 이전에 도시된 표 3은 사용될 수 있는 일 예의 바이어스 값을 열겨한다. 비트라인이 프리차지되고, 비트라인의 감지가 시작된다. 단계 206에서, 감지가 완료되고, 결과는 부분적인 소거 동작이 성공적인지 아닌지를 나타낸다. 예를 들면, 선택된 워드라인을 0V로 바이어스하고, 비선택 워드라인 SSL 및 GSL을 Vread로 바이어스함으로써, 선택된 워드 라인에 결합된 모든 메모리 셀이 0V보다 작은 임계 전압을 가지면 고전압 레벨로 프리차지된 대응하는 비트라인이 Vcs로 디스차지되어, 테스트를 통과한다. 그러나, 선택된 워드라인에 결합된 적어도 1개의 메모리 셀이 0V 보다 높은 임계를 가지면, 비트라인은 Vcs로 디스차지되지 않음으로써, 테스트에 실패한다. 어떠한 경우도 비트라인 센스 증폭기 회로에 의해 검출될 수 있는 것으로 본 기술에서 숙련된 자에 의해 이해되어야 한다.
테스트가 실패하면, 방법은 단계 208로 진행되어, 카운터 변수 ERS_LOOP가 최대치 MAX와 비교된다. 전류 루프 카운터가 MAX보다 작으면, ERS_LOOP가 단계 210에서 증가된다. 단계 210으로부터, 방법은 단계 202로 되돌아가고, 선택된 서브-블록의 부분적인 소거가 반복된다. 2개 중 1개의 조건에 맞을 때까지 부분적인 소거 및 검증 단계 202, 204, 206, 208 및 210이 계속된다. 카운터 변수 ERS_LOOP가 최대치 MAX에 도달하면 제1 조건이 발생하고, 방법은 단계 212로 진행되어 상태 레지스터가 실패된 소거 상태를 반영하기 위해 업데이트된다. 또는, 서브-블록에 대응하는 모든 페이지가 더 많은 사용을 위해 매핑된다. 그 다음 방법은 단계 214에서 종료한다. 테스트가 통과되면 제2 조건이 발생하고, 방법은 단계 206 ~ 216으로 진행되어 상태 레지스터가 통과된 소거 상태를 반영하기 위해 업데이트된다. 서브-블록은 새로운 데이터로 프로그램되도록 준비된다.
요약하면, 부분적인 소거 개념이 도 3 ~ 6에 나타낸 실시예를 참조하여 일반적으로 서술된다. 메모리 블록을 부분적으로 소거함으로써, 플래시 메모리 장치는 메모리 블록내에서 서브-블록으로 칭해지는 더 작은 서브분할을 만들 수 있다. 서브-블록을 점유하는 데이터는 전체 메모리 블록을 소거해야할 필요없이 수정될 수 있음으로써, 프로그램/소거 주기를 보존하고, 메모리 블록의 수명을 증가시킨다. 다음은 특정 서브-블록이 소거되도록 선택되는 방법을 설명한다.
메모리 블록의 임의의 서브-블록이 소거되면, 플래시 메모리 장치는 메모리 블록내에서 그 위치에 대한 정보를 필요로 하므로, 거기에 결합된 메모리 셀의 소거를 확실히 하기 위해 바이어스 전압의 인가를 위해 어느 로우를 선택할 지를 안다. 도 7a ~ 7c는 메모리 블록내에서 소거가능한 서브-블록의 3개의 가능한 크기/위치를 도시한다.
도 7a는 WL0에서 시작하여 WL31까지의 순서로 프로그램되는 NAND 메모리 셀 스트링의 개략 회로도이다. 이 실시예에서, 플래시 메모리 장치는 시작 어드레스로서 한 개의 워드라인 어드레스만을 필요로 한다. 시작 어드레스가 수신되면, 플래시 메모리 장치의 로직이 서브-블록 크기를 시작 어드레스로부터 최종 워드라인(이 예에서는 WL31)까지 되도록 자동적으로 설정한다. 도 7a를 참조하며 도시하면, WL27에 대응하는 시작 어드레스가 부분적인 소거 동작을 위해 수신되면, 플래시 메모리 장치의 로직은 서브-블록(300)이 WL27에서 시작하여 WL31에서 끝나는 것으로 결정한다. 즉, 종료 어드레스는 제공되는 시작 어드레스에 상관없이 WL31으로 미리 설정된 다. 서브-블록(300)에 대한 워드라인의 세트가 결정되면, 선택 및 비선택 워드라인을 바이어스함으로써 부분적인 소거 및 소거 검증 절차가 실행될 수 있다. 서브-블록(300)은 상부 서브-블록이고, 상부 서브-블록은 순차적으로 프로그램되며 최종 워드라인을 포함하는 임의의 그룹의 워드라인이다.
도 7b는 도 7a의 NAND 메모리 셀 스트링의 개략 회로도이다. 도 7a의 실시예와 유사하게, 부분적인 소거를 위해서 오직 1개의 시작 로우 어드레스가 필요하다. 이 실시예에서, 플래시 메모리 장치의 로직은 서브-블록 크기가 시작 어드레스로부터 아래로 제1 워드라인 WL0까지 되도록 자동적으로 설정한다. 도 7b를 참조하여 설명하면, WL26에 대응하는 시작 어드레스가 부분적인 소거 동작을 위해 수신되면, 플래시 메모리 장치의 로직은 서브-블록(302)이 WL26에서 시작하여 WL0에서 끝나는 것으로 결정한다. 제공되는 시작 어드레스에 상관없이 종료 어드레스는 WL0으로 미리 설정된다. 서브-블록(302)은 하부 서브-블록이고, 하부 서브-블록은 순차적으로 프로그램되며 제1 워드라인을 포함하는 임의의 그룹의 워드라인이다.
도 7a 및 7b의 실시예는 모두 한 개의 메모리 블록을 하부의 서브-블록과 상부의 서브-블록으로 서브분할한다. 그러나, 1개의 서브-블록이 소거되어 부분적으로만 데이터로 재프로그램되면, 여전히 소거된 상태의 페이지가 있다. 또한, 원래 서브-블록의 소거는 소거된 페이지로 하여금 원하지 않는 더 많은 소거 동작을 하게 한다. 그러므로, 도 7c의 실시예에 도시된 것같이 서브-블록 슬라이스가 선택될 수 있다.
도 7c는 도 7a의 NAND 메모리 셀 스트링의 개략 회로도이다. 현재, 시작 어드레스와 종료 어드레스는 메모리 블록 내에서 서브-블록 위치와 크기를 지정한다. 이 실시예에서, 플래시 메모리 장치의 로직은 서브 블록의 크기를 시작 어드레스로부터 종료 어드레스까지 되도록 자동적으로 설정한다. 도 7c를 참조하여 설명하면, WL2에 대응하는 시작 어드레스와 WL28에 대응하는 종료 어드레스가 부분적인 소거 동작을 위해 수신되면, 플래시 메모리 장치의 로직은 서브-블록(304)이 WL2에서 시작하여 WL28에서 끝나는 것으로 결정한다. 서브-블록 슬라이스는 NAND 메모리 셀 스트링의 다른 워드라인 사이에 위치하는 워드라인의 임의의 그룹화이다. 프로그램 디스터브를 최소화하기 위해, 서브-블록 슬라이스(304)가 반복적으로 소거되며, WL0 ~ WL1에 대응하는 페이지에 저장된 데이터가 있어도, WL29 ~ WL31에 대응하는 프로그램된 제공된 페이지가 소거된다.
도 7a ~ 7c에 나타낸 것같이, 상부 및 하부 서브-블록을 소거하기 위해 적어도 1개의 어드레스가 사용되는 반면, 서브-블록 슬라이스를 소거하기 위해 2개의 어드레스가 사용된다. 실시예에 따르면, 플래시 메모리 컨트롤러로 하여금 플래시 메모리 장치와 인터페이스하고 상부 서브-블록 및 하부 서브-블록 또는 서브-블록 슬라이스의 소거를 시작하는 것을 허용하기 위해 커맨드 프로토콜이 제공된다. 본 기술에서 숙련된 자는 하나 이상의 플래시 메모리 장치가 컴퓨터 등의 호스트 시스템과 플래시 메모리 장치 사이에서 인터페이스 역할을 행하는 단일 플래시 메모리 컨트롤러에 의해 제어될 수 있는 것으로 이해한다.
도 8은 메모리 블록의 서브-블록을 소거하기 위한 커맨드 프로토콜 실시예를 도시하는 플로우챠트이다. 도 1의 제어 회로(12)에서 구현될 수 있는 플래시 메모리 제어 로직이 현재의 커맨드 프로토콜에 응답하도록 구성된다. 메모리 블록에서 부분적인 소거 동작을 행하기 위해, 플래시 메모리 컨트롤러는 우선 단계 400에서 제1 어드레스를 포함하는 어드레스 입력 커맨드를 발행한다. 다음에 단계 402에서, 플래시 메모리 컨트롤러는 제2 어드레스를 포함하는 다른 어드레스 입력 커맨드를 발행한다. 다음에 더욱 상세하게 서술되는 것같이, 제1 또는 제2 어드레스는 널 어드레스값일 수 있다. 부분적인 소거 커맨드가 단계 404에서 발행되고, 미리 수신된 제1 및 제2 어드레스에 의거하여 상부 서브-블록 및 하부 서브-블록 또는 서브-블록 슬라이스가 단계 406에서 소거된다. 단계 406에서의 소거는 워드 라인, 비트라인 및 소스라인을 그 적절한 전압 레벨로 바이어스하는 것을 포함한다.
이 커맨드 프로토콜 예에서, 3개의 어드레스 조합이 허용된다. 제1 경우에서, 제1 어드레스가 유효하고 제2 어드레스가 널(null)일 때, 제어 로직은 제1 어드레스에 대응하는 워드라인(NAND 메모리 셀 체인의 제1 및 최종 워드라인 사이의 중간 워드라인으로 칭해지는)으로부터 본 예에서 NAND 메모리 셀 스트링의 최종 워드라인, 즉 WL31,까지를 포함하여, 이들에 의해 결합된 상부 서브-블록을 선택한다. 제2 경우에서, 제1 어드레스가 널이고 제2 어드레스가 유효할 때, 제어 로직은 제2 어드레스에 대응하는 중간 워드라인으로부터 본 예에서 NAND 메모리 셀 스트링의 제1 워드라인, 즉 WL0,까지를 포함하고, 이들에 의해 결합된 하부 서브-블록을 선택 한다. 제3 경우에서, 제1 및 제2 어드레스가 유효할 때, 제어 로직은 제1 및 제2 어드레스에 대응하는 워드라인을 포함하고, 이들에 의해 결합된 서브-블록 슬라이스를 선택한다. 본 기술에서 숙련된 자는 상기 열거된 3가지 상황이 1개의 가능한 프로토콜 구성을 표현한다. 또 다른 구성에서, 제1 경우는 하부 서브-블록의 선택을 가져오고, 제2 경우는 상부 서브-블록의 선택을 가져 온다. 또 다른 실시예에서, 제1 또는 제2 입력 어드레스 커맨드가 발행되기 전에 부분적인 소거 커맨드가 발행될 수 있다.
도 9는 도 8에 나타낸 커맨드 프로토콜을 사용하여 상부 서브-블록, 하부 서브-블록, 서브-블록 슬라이스 중 하나를 소거하는 특정 방법 실시예의 플로우 챠트이다. 더 상세하게는, 제1 입력 어드레스 커맨드 및 제2 입력 어드레스 커맨드에서 수신된 제1 또는 제2 유효 어드레스의 존재 또는 부존재에 기초하여 상부 서브-블록, 하부 서브-블록, 서브-블록 슬라이스 중 하나가 소거된다. 다음의 설명을 위해, 플래시 메모리 장치의 메모리 블록의 서브-블록을 소거하기 위한 부분적인 소거 커맨드를 발행하기 위해 플래시 컨트롤러가 구성되고, 플래시 메모리 장치가 부분적인 소거 및 소거 검증 동작을 위해 워드라인, 비트라인 및 다른 신호들을 바이어스하기 위해 제어 로직을 포함하는 것으로 가정한다.
도 9의 방법은 도 8의 커맨드 프로토콜에 따라서, 어드레스 입력 커맨드 및 소거 커맨드에 응답하여 플래시 메모리 장치 제어 로직의 논리적인 동작을 도시한다. 도 9의 방법은 제1 어드레스 입력 커맨드가 수신되는 단계 500에서 시작한다. 이 어드레스 입력 커맨드는 메모리 블록의 NAND 메모리 셀 스트링의 워드라인에 대 응하는 제1 유효 어드레스 또는 널 어드레스를 포함한다. 제1 경우에, 제1 어드레스가 유효하고, 방법은 제2 어드레스 입력 커맨드가 제2 어드레스와 함께 수신되는 단계 502로 진행한다. 제2 어드레스는 NAND 메모리 셀 스트링의 다른 워드라인에 대응하는 유효한 어드레스 또는 널 어드레스일 수 있다. 제1 경우에 계속되어, 제2 어드레스는 널 어드레스이고, 방법은 단계 504로 진행한다. 단계 504에서, 부분적인 소거 커맨드가 수신되고, 단계 506에서 상부 서브-블록이 소거되고 검증된다. 단계 504는 상부 서브-블록을 소거하고 상부 서브-블록을 소거 검증하기 위해 워드라인, 비트라인 및 다른 관련 신호의 적절한 바이어스를 포함한다.
단계 500으로 되돌아가면, 제1 어드레스가 유효 어드레스 대신에 널 어드레스이면, 방법은 단계 502와 동일한 단계 508로 진행한다. 제2 어드레스가 또한 널 어드레스이면, 부분적인 소거 방법은 종료되어 단계 500으로 되돌아간다. 한편, 제2 어드레스가 유효한 어드레스이면, 경우2가 발생한다. 부분적인 소거 커맨드가 단계 510에서 수신되면, 단계 512에서 하부 서브-블록이 소거되고 검증된다. 단계 512는 하부 서브-블록을 소거하고 하부 서브-블록을 소거 검증하기 위해 워드라인, 비트라인 및 다른 관련 신호의 적절한 바이어스를 포함한다. 단계 502로 되돌아가면, 단계 500으로부터의 제1 어드레스가 유효하고, 제2 어드레스가 유효하면, 경우 3이 발생한다. 그 다음 방법은 부분적인 소거 커맨드가 수신되는 단계 514로 진행한다. 그 다음 단계 516에서 서브-블록 슬라이스가 소거되고 검증된다. 단계 516은 서브-블록 슬라이스를 소거하고 서브-블록 슬라이스를 소거 검증하기 위해 워드라인, 비트라인 및 다른 관련 신호의 적절한 바이어스를 포함한다.
커맨드 프로토콜이 경우 1에 대해 제2 유효한 어드레스 또는 경우 2에 대해 제1 유효 어드레스를 필요로 하지 않을 때, 경우 1 및 경우 2에 대해 각각 유효한 제2 및 제1 어드레스를 수용하도록 커맨드 프로토콜이 구성될 수 있다. 예를 들면, 상부 서브-블록을 소거하기 위해, 제1 어드레스는 중간 워드라인에 대응하고, 제2 유효한 어드레스는 예를 들면 최종 워드라인 WL3에 대응한다. 유사하게, 하부 서브-블록을 소거하기 위해, 제1 어드레스는 최초 워드라인 WL0에 대응하며, 제2 유효한 어드레스는 중간 워드라인에 대응한다.
그러므로, 도 8 및 9에 나타낸 커맨드 프로토콜 및 방법을 사용하여, 메모리 어레이의 다른 서브-블록 또는 서브-블록들은 프로그램 소거 주기 수명에 영향을 주지 않는 데이터로 메모리 블록의 임의의 서브-블록이 반복적으로 소거되고 재프로그램될 수 있다. 임의의 서브-블록을 소거하도록 구성된, 임의의 플래시 메모리 장치 또는 하나 이상의 플래시 메모리 장치를 포함하는 플래시 메모리 시스템이 메모리 블록의 수명을 최대화하기 위해 웨어 레벨링 알고리즘을 실행하도록 제어될 수 있음으로써, 플래시 메모리 장치의 수명을 최대화한다. 웨어 레벨링 알고리즘이 없이 동작하는 플래시 메모리 장치는 제1 메모리 블록으로부터 최종 메모리 블록까지 순차적으로 데이터를 프로그램하며, 다음 메모리 블록을 프로그램하기 전에 각각의 메모리 블록을 채운다. 불공평한 웨어링(uneven wear)은, 시스템이 제1 메모리 블록에서 연속적으로 데이터를 프로그램 및 소거하면 다른 메모리 블록은 사용되지 않고 남겨지는 결과를 가져 온다.
웨어 레벨링은 플래시 메모리 장치의 모든 메모리의 공평한 사용을 확실하게 하는 구조이다. 더 구체적으로, 웨어 레벨링은 모든 메모리 블록이 실질적으로 동일한 수의 프로그램 주기 또는 소거 주기를 확실히 행하게 한다. 본 기술에서 숙련된 자는, 데이터가 더 이상 신뢰성있게 저장될 수 없기 전에 플래시 메모리 셀이 유한한 횟수 프로그램/소거될 수 있는 것으로 이해한다. 플래시 컨트롤러는 각각의 메모리 블록 또는 메모리 블록의 페이지에 의해 수행되는 프로그램/소거 주기의 총 수를 추적한다. 주기의 수가 메모리 어레이의 각각의 페이지의 스페어 필드에 저장된다. 플래시 컨트롤러는 데이터의 논리적인 어드레스 위치를, 데이터가 플래시 메모리 장치에 저장되는 물리적인 어드레스로 매핑한다. 메모리 블록이 최대 소정수의 프로그램/소거 주기에 도달하면, 플래시 컨트롤러는 플래시 메모리 장치가 메모리 블록에 저장된 데이터를 이용가능한 메모리 블록에 재프로그램하도록 지시하고, 더 많은 사용(현재 무효한 블록이라고 칭한다)으로부터 원래의 메모리 블록을 매핑한다. 그 다음 매핑은 이에 따라서 조정된다.
현재 알려진 웨어 레벨링 기술은 다른 메모리 블록들에 걸쳐 데이터를 프로그램하기 위해 논리적으로부터 물리적 매핑 기술을 사용한다. 예를 들면, 프로그램되는 많은 데이터 파일이 제1 블록에 프로그램된 제1 부분 및 제2 블록에 프로그램된 제2 부분 등을 가질 수 있다. 또 다른 예에서, 1개의 메모리 블록의 크기보다 전체적으로 더 적은 다중 데이터 파일은 다른 메모리 블록에 각각 프로그램될 수 있다. 그러므로, 많은 데이터 파일의 특정 부분 또는 특정 작은 데이터 파일이 수정되면, 이를 저장하고 있는 대응하는 메모리 블록만이 프로그램/소거 주기로 된 다. 이들 모든 구조에서의 문제점은 작은 데이터 파일 또는 메모리 블록에 존재하는 데이터 파일의 일부를 수정하는 것이 전체 메모리 블록의 소거를 필요로 하는 것이다. 그러므로, 메모리 블록에 저장된 다른 데이터가 또한 소거되며, 수정된 데이터가 재프로그램되면서 불필요하게 재프로그램된다. 이것은 메모리 블록의 수명을 계속적으로 감소시키는 주요 인자이다.
이전 서술된 실시에에서, 소거되는 서브-블록이 임의의 크기이었으며, 소거되거나 수정되는 메모리 블록의 데이터에 의해 결정된다. 서브-블록의 데이터를 수정하는 것은 서브-블록을 소거하고, 수정된 데이터로 재프로그램함으로써 행해진다. 그러나, 이것은 서브-블록으로 하여금 많은 프로그램/소거 주기를 가질 수 있게 함으로써 미사용의 서브-블록에 대해 그 수명을 조급하게 감소시킨다. 그러므로, 또 다른 실시예에 따르면, 불필요한 프로그램/소거 주기를 최소화하기 위해 소거가능한 서브-블록을 이용하는 웨어 레벨링 알고리즘이 제공된다.
본 웨어 레벨링 알고리즘은 소정의 서브-블록으로 논리적으로 분할되는 플래시 메모리 장치의 메모리 블록을 갖는다. 도 10a는 메모리 블록(600)이 2개의 동일한 크기의 서브-블록(서브-블록0, 서브-블록1)으로 분할되는 예를 나타낸다. 서브-블록0은 페이지 0 ~ 15로 구성되며, 서브-블록1은 페이지 16 ~ 31로 구성된다. 메모리 블록은 페이지 0 ~ 페이지 31로 순차적으로 프로그램되는 것으로 가정하고, 각각의 페이지는 특정 워드라인에 대응한다. 도 10는 메모리 블록(602)이 4개의 동일한 크기의 서브-블록(서브-블록0, 서브-블록1, 서브-블록2, 서브-블록3)으로 분할되는 예를 나타낸다. 또는, 메모리 블록(600, 602)의 서브-블록이 반드시 동일한 크기로 분할될 필요는 없으므로, 다른 소정의 크기를 가질 수 있다. 논리적 서브-블록이 결정되면, 웨어 레벨링 알고리즘에 따라서 데이터가 프로그램될 수 있다.
이전에 설명된 것같이, 데이터 WL0부터 WL31로(또는 교대로 WL31부터 WL0로) 순차적으로 프로그램된 NAND 메모리 셀 스트링은, 프로그램되는 서브-블록 위의 페이지에 데이터가 없는 것으로 제공되는 최소 프로그램 디스터브를 경험한다. 본 실시예에서, 서브-블록 위의 페이지는 더 높은 번호를 갖는 워드라인에 대응한다. 따라서, 도 10a의 예에서, 서브-블록 0은 하부 블록으로 칭해지고, 서브-블록 1은 상부 블록으로 칭해진다. 본 실시예의 웨어 레벨링 알고리즘에서, 상부 서브-블록에 데이터가 있으면 데이터는 하부 서브-블록에 프로그램되지 않는다. 플래시 메모리 컨트롤러는, 하부 서브-블록의 각각의 페이지의 스페어 필드로부터 로드된 하나 이상의 유효 비트를 포함할 수 있는 어드레스 매핑 테이블을 참조함으로써 상부 서브-블록에 데이터가 있는지를 안다. 유효 비트의 특정 논리 상태는, 하위 서브-블록이 프로그램될 수 있는지 아닌지를 플래시 메모리 컨트롤러에 나타낸다. 또는, 상부 서브-블록에 대응하는 스페어 필드의 유효 비트는 데이터가 하부 서브-블록에 프로그램되지 않는 것을 나타낸다. 도 10b의 예에서, 더 높은 번호를 갖는 인접하는 서브-블록 쌍의 서브-블록이 상부 서브-블록이고, 더 작은 번호를 갖는 또 다른 것이 하부 서브-블록이다. 도 10b에 나타낸 것같이 2보다 많은 서브-블록을 가지도록 구성된 메모리 블록에서, 서브-블록0이 최저 순위의 서브-블록이고, 서브-블록3이 최고 순위의 서브-블록이고, 더 높은 순위를 갖는 임의의 서브-블록에 저장된 데이터가 있으면 데이터는 서브-블록에 프로그램되지 않는다.
도 11에 나타낸 본 실시예의 웨어 레벨링 알고리즘은 새로운 데이터를 플래시 메모리 장치에 프로그램하는 데이터 프로그램 서브-루틴, 및 수정된 데이터를 플래시 메모리 장치에 재프로그램하는 데이터 수정 서브-루틴을 포함한다. 양 서브-루틴은 플래시 메모리 장치의 서브-블록들이 공평하게 사용되는 것을 확실하게 한다. 웨어 레벨링 알고리즘은 소정 크기의 서브-블록을 소거하도록 구성된 플래시 메모리 장치용 플래시 메모리 컨트롤러에 의해 실행되며, 호스트 시스템으로부터 커맨드를 수신하여 단계 700에서 시작한다. 단계 702에서, 플래시 메모리 컨트롤러는 커맨드가 새로운 데이터를 프로그램하는 것인지 또는 현재 프로그램된 데이터를 수정하는 것인지를 결정한다. 커맨드가 새로운 데이터를 프로그램하는 것이면, 데이터가 최저 순위의 이용가능한 서브-블록으로 프로그램되는 단계 704로 진행한다. 예를 들면, 플래시 메모리 장치가, 도 10a에 나타낸 것같이 2개의 서브-블록(서브-블록0, 서브-블록1)으로 각각 논리적으로 분할된 4개의 빈 메모리 블록으로 구성되면, 데이터는 모든 메모리 블록의 서브-블록0에 성공적으로 프로그램된다. 결국, 모든 서브-블록0이 데이터를 저장하고, 프로그램되는 다음 데이터는 첫번째 이용가능한 서브-블록1에 프로그램된다.
최저 이용가능한 서브-블록에 데이터를 우선 프로그램함으로써, 모든 메모리 블록이 사용된다. 그러나, 단계 704는 또 다른 데이터 프로그램 방식으로 대체될 수 있다. 이 또 다른 방식에서, 새로운 데이터를 프로그램하는 것은 프로그램되는 데이터의 높은 또는 낮은 우선순위 레벨에 기초한다. 호스트 시스템은 음악 파일 및 적절한 파일 연장자를 갖는 실행가능한 애플리케이션이 높은 우선순위를 갖는 반면, 빈번하게 수정되는 문서 등의 데이터 파일이 낮은 우선순위를 갖는 것으로 결정할 수 있다. 높은 또는 낮은 우선순위로서 데이터의 지정은 호스트 시스템에 의해 임의로 설정될 수 있다.
또 다른 데이터 프로그램 실시예에서, 단계 704는 데이터의 우선순위 레벨을 결정하는 단계로 대체될 수 있다. 데이터가 높은 우선 순위로 지정되면, 높은 우선 순위 데이터파일이 시간에 대해 수정될 가능성이 적기 때문에 메모리 블록의 서브-블록의 이용가능한 최저 순위로 프로그램된다. 이용가능한 최저 순위의 하부 서브-블록이 데이터를 저장하기에 너무 작으면, 높은 우선순위의 데이터가 다른 메모리 블록의 2개 이상의 최저 순위의 이용가능한 서브-블록에 걸쳐서 분할되어 분배될 수 있다. 또는 데이터가 동일한 메모리 블록의 임의의 수의 인접한 최저 순위의 이용가능한 서브-블록에 프로그램될 수 있다. 데이터가 낮은 우선 순위로 지정되면, 낮은 우선순위의 데이터가 시간에 대해 더 수정되기 쉽기때문에 메모리 블록의 최고 이용가능한 순위의 서브-블록에 프로그램된다. 서브-블록이 너무 작으면, 높은 우선순위의 데이터에 대해서 이전에 서술된 것과 동일한 방식으로 분배될 수 있다.
단계 702로 되돌아가서, 커맨드가 이전에 프로그램된 데이터를 수정하기 위한 것이면, 방법은 단계 710으로 진행한다. 이전에 프로그램된 데이터가 메모리 블록의 서브-블록에 존재하기 때문에, 그 서브-블록이 소거되어 수정된 데이터로 재프로그램될 수 있다. 서브-블록이 다른 데이터 파일을 포함하면, 동시에 재프로그램된다. 그러나, 재프로그램전에 실행되어야 하는 서브-블록 소거 동작이 플래시 메모리 장치의 성능을 느리게 하고, 서브-블록이 프로그램/소거 주기로 들어가게 한다. 이들 문제를 모두 해결하기 위해, 원래의 서브-블록의 수정된 데이터가 단계 710에서 또 다른 메모리 블록의 또 다른 서브-블록에 프로그램된다. 플래시 메모리 컨트롤러에 의해 유지되는 원래의 어드레스 매핑 테이블은 단계 712에서 조정되어 원래의 메모리 블록의 서브-블록에 저장된 데이터가 새로운 메모리 블록의 서브-블록에 물리적으로 현재 위치하는 것을 나타낸다. 시스템이 아이들(idle)인 후에, 데이터가 원래 저장되어 있는 서브-블록이 단계 714에서 소거되고, 이 소거된 서브-블록은 소거되어 데이터를 저장하기에 유용한 것으로서 표시된다. 소거 단계는 도 9에서 이전에 서술된 방법 다음에 온다. 서브-블록을 나중에 소거함으로써, 프로그램 성능이 최대화된다.
단계 710에서 수정된 데이터를 재프로그램하는 것은 프리 서브-블록 할당자(allocator) 서브-루틴에 의해 또한 관리된다. 서브-루틴은 플래시 메모리 장치의 다른 메모리 블록의 상태에 기초하여, 데이터를 재프로그램하기에 가장 적절한 서브-블록을 식별한다. 서브-블록 할당자 서브-루틴의 실시예는 서브-블록의 데이터를 정합하는 물리적 서브-블록(즉, 동일한 서브-블록 순위)에 데이터를 첫번째로 재프로그램하는 우선순위로 또 다른 메모리 블록의 서브-블록에 재프로그램한다. 정합하는 물리적 서브-블록이 이용가능하지 않으면, 데이터는 다음의 가장 적합한 물리적인 서브-블록에 재프로그램된다. 서브-블록을 정합하는 목적은, 낮은 우선순위 데이터가 더 높은 순위의 서브-블록에 프로그램되도록 도 11에 서술된 선택적인 데이터 분배 알고리즘에 따라서 높고 낮은 우선순위 데이터의 분배를 가능한 한 유지하는 것이다. 서브-블록 할당자 서브-루틴 방법이 도 12의 플로우 챠트 및 도 13a ~ 13d의 원래의 메모리 블록 및 새로운 메모리 블록의 그래픽적인 도시를 참조하여 서술된다.
도 12의 방법은 단계 800에서 데이터를 수정하는 커맨드가 수신되면 시작한다. 커맨드는 현재 수정되는 데이터가 그 안에 있는 원래의 메모리 블록의 서브-블록의 어드레스 위치에 속하는 정보를 포함한다. 단계 802에서, 평가할 메모리 블록의 순서를 결정하기 위한 소정의 오더링 방식에 따라서 다른 메모리 블록들이 논리적으로 정렬된다. 예를 들면, 가장 간단한 방식은 메모리 블록의 할당된 물리적/논리적 위치에 기초하여 순서를 설정한다. 제2 방식은 예를 들면 전체적으로 비어 있는 블록으로부터 전체적으로 프로그램된 블록까지 등의 메모리 블록의 점유율에 기초하여 순서를 설정하는 것이다. 제3 방식은 가장 작은 수의 프로그램/소거 주기로 메모리 블록에 기초하는 순서를 설정하는 것이다. 제2 및 제3 방식은, 비어 있는 서브-블록 및 각각의 페이지 또는 메모리 블록의 프로그램/소거 주기의 수를 나타내는 메모리 블록의 어드레스 매핑 테이블을 스캔함으로써 실행될 수 있다.
이 방법은 메모리 블록의 논리적으로 정렬된 리스트에서 처음의 새로운 메모리 블록을 평가하여, 데이터가 재프로그램되어야 하는지를 결정한다. 단계 804에서, 이 방법은 새로운 메모리 블록이 이용가능한 정합하는 물리적인 서브-블록, 즉, 소거되는 동일한 순위의 서브-블록을 갖는지 검사한다. 하나가 새로운 메모리 블록에 존재하면, 시스템은 단계 806에서 원래의 데이터를 현재 저장하고 있는 서브-블록 보다 높은 순위의 임의의 서브-블록이 있는지 검사한다. 프로그램 디스터 브를 최소화하기 위해, 거기에 저장된 데이터를 갖는 더 높은 순위의 서브-블록이 있을때 데이터는 정합하는 물리적 서브-블록에 재프로그램되지 않는다. 데이터가 있는 더 높은 순위의 서브-블록이 존재하면, 방법은 단계 808에서 다음의 메모리 블록을 평가하여, 단계 804로 되돌아간다. 한편, 데이터를 저장하고 있는 다른 서브-블록이 더 낮은 순위이면, 단계 810으로 진행하여 새로운 메모리 블록이 비어 있는지를 결정한다. 메모리 블록이 비어 있지 않으면, 하나 이상의 더 낮은 순위의 서브-블록에 프로그램된 데이터가 있고, 단계 812에서 데이터는 새로운 메모리 블록의 정합하는 서브-블록에 재프로그램된다.
예를 들면, 도 13a는 서브-블록 0 ~ 3을 갖도록 구성된 원래의 메모리 블록(900)과, 평가되고 서브-블록 0 ~ 3을 갖도록 구성된 새로운 메모리 블록(902)을 나타낸다. 해칭을 갖는 페이지는 데이터의 존재를 표시하며, 해칭을 갖지 않는 페이지는 비어 있으며 이전에 소거되었다. 서브-블록1의 데이터가 수정되는 것으로 가정하면, 메모리 블록(902)에서 정합하는 서브-블록1이 발견되며, 더 낮은 순위의 서브-블록0에는 프로그램된 데이터를 포함한다. 메모리 블록(902)에 프로그램된 데이터를 갖는 더 높은 순위의 서브-블록이 없기때문에, 데이터는 메모리 블록(902)의 서브-블록1에 프로그램된다.
단계 810으로 되돌아가서, 새로운 메모리 블록이 비어있으면, 단계 814에서 데이터는 메모리 블록의 제1 서브-블록(서브-블록0)에 재프로그램된다. 도 13b는 서브-블록 0 ~ 3을 갖도록 구성된 원래의 메모리 블록(900)과, 평가되고 서브-블록 0 ~ 3을 갖도록 구성된 새로운 메모리 블록(904)을 나타낸다. 이 예에서, 메모리 블록(904)은 비어 있고, 데이터는 비어 있는 메모리 블록(904)의 서브-블록0에 프로그램된다.
또 다른 실시예에서, 단계 810은 생략될 수 있고, 새로운 메모리 블록이 비어 있으면 데이터는 정합하는 서브-블록에 프로그램된다. 또 다른 실시예에 따르면, 새로운 메모리 블록이 데이터가 점유된 모든 더 낮은 순위의 서브-블록을 갖는 것을 확실하게 하는 또 다른 단계를 포함함으로써 메모리 블록 사용이 최대화된다.
이전에 서술된 단계 806, 808, 810, 812, 814는 새로운 메모리 블록에 정합하는 서브-블록이 있으면 실행되는 방법의 단계들이다. 단계 804, 806, 808의 반복을 통해서 결정되는 것같이, 모든 이용가능한 메모리 블록이 데이터가 프로그램된 더 높은 순위의 서브-블록을 갖는 상황이 생길 수 있다. 이러한 경우에, 이 방법은 메모리 블록이 이용가능한 정합하는 서브-블록을 갖지 않는 것을 처리한다. 단계 804로 되돌아가서, 정합하는 물리적 서브-블록이 없으면, 방법은 수정되는 데이터를 현재 저장하고 있는 서브-블록보다 더 높은 순위의 서브-블록에 데이터를 재프로그램하기 위해 단계 816으로 진행한다. 데이터는 첫번째 이용가능한 더 높은 순위의 서브-블록 또는 이용가능한 최저 순위의 서브-블록에 프로그램될 수 있다. 도 13c 및 13d는 더 높은 순위의 서브-블록에 데이터가 재프로그램되는 경우를 도시한다.
도 13c는 서브-블록 0 ~ 3을 갖도록 구성된 원래의 메모리 블록(900)과 서브-블록 0 ~ 3을 갖도록 구성된 새로운 메모리 블록(906)을 나타낸다. 이 예에서, 메모리 블록(906)의 서브-블록1이 데이터를 현재 저장하므로 메모리 블록(900)의 서 브-블록1의 데이터는 비어 있는 메모리 블록(904)의 서브-블록0에 프로그램된다. 도 13d는 모두 서브-블록 0 ~ 3을 갖도록 구성된 동일한 메모리 블록(900)과 새로운 메모리 블록(908)을 나타낸다. 이 예에서, 메모리 블록(908)의 서브-블록1은 비어 있지만, 더 높은 순위의 서브-블록2는 또 다른 데이터를 저장한다. 그러므로, 데이터는 다음의 가장 높은 이용가능한 서브-블록, 메모리 블록(908)의 서브-블록3에 재프로그램된다.
플래시 메모리 장치의 수명 동안, 플래시 메모리 컨트롤러는 새로운 데이터가 프로그램되고 이전 데이터가 수정되면서 발생하는 각각의 서브-블록에 의해 누적된 프로그램/소거 주기의 수를 감시한다. 메모리 블록의 특정 서브-블록이 메모리 블록의 다른 서브-블록보다 더 높은 수의 프로그램/소거 주기를 가질 수 있다. 이로 인해 메모리 블록의 서브-블록들 사이의 프로그램/소거 주기의 불균형을 가져 온다. 또 다른 실시예에 따르면, 소정 조건이 맞으면, 메모리 블록의 서브-블록의 데이터가 다른 메모리 블록으로 교환되거나 이동될 수 있다. 이러한 기준 중 하나는 예를 들면 서브-블록들 사이의 프로그램/소거 주기의 소정의 차이일 수 있다.
도 14는 메모리 블록의 서브-블록들 사이의 프로그램/소거 주기 불균형을 제어하는 일반적인 방법의 플로우챠트이다. 이 방법은 플래시 메모리 장치가 전원 인가시 또는 플래시 메모리 장치가 전원이 인가되어 있는 동안 임의의 시간에 시작될 수 있고, 플래시 메모리 컨트롤러에 의해 실행된다. 단계 1000에서, 메모리블록의 모든 쌍의 서브-블록에 대한 프로그램/소거 주기의 수가 스캔된다. 본 기술에서 숙련된 자는 각각의 서브-블록의 하나 이상의 페이지가, 행해져야 하는 프로그램/소 거 주기의 수에 대응하는 스페어 필드 영역에 카운터를 저장하는 것을 안다. 이들 카운터 값이 판독되어 플래시 메모리 컨트롤러의 어드레스 매핑 테이블에 로드된다. 단계 1002에서, 메모리 블록의 각각의 서브-블록에 대한 프로그램/소거 주기 카운트의 검사가 행해진다. 프로그램/소거 주기 카운트가 최대 허용된 값에 도달하면, 단계 1004에서 거기에 저장된 데이터가 이용가능한 서브-블록으로 복사되고, 단계 1006에서 원래의 서브-블록이 더 많은 사용으로 인해 후퇴되어 매핑아웃된다. 1004의 복사 단계는 도 11 및 12에 개략적으로 나타낸 방법 다음에 온다.
한편, 처리는 가장 높은 프로그램/소거 카운트를 갖는 서브-블록과 가장 낮은 프로그램/소거 카운트를 갖는 서브-블록 사이의 차이가 △Cycle로 계산되는 단계 1008로 진행한다. △Cycle이 "Set_diff"로 칭해지는 설정된 한계보다 적으면, 방법 루프는 단계 1002로 되돌아가고 다음의 메모리 블록이 평가된다. 한편, △Cycle이 적어도 "Set_diff"이면, 방법은 2개의 서브-블록에 있는 데이터가 서로 교환되는 단계 1010으로 진행한다. "Set_diff"의 값은 제조자 플래시 관리 정책에 따라서, 플래시 메모리 시스템 또는 플래시 메모리 컨트롤러의 제조자에 의해 설정된다. 단계 1010의 서브-블록 교환은 메모리 블록의 모든 서브-블록에 저장된 데이터를 이용가능한 물리적인 블록 또는 다른 이용가능한 서브-블록에 복사하여 실행된다. 원래의 메모리 블록이 소거되고, 2개의 서브-블록의 데이터가 교환되도록 데이터는 메모리 블록의 서브-블록에 재프로그램된다. 데이터의 임시 저장매체로서 동작하는 다른 메모리 블록 또는 이용가능한 서브-블록은 이전에 서술된 것같이 전체 메모리 블록 소거 또는 부분적인 소거에 의해 임의의 시간에 소거될 수 있다. 어드 레스 매핑 테이블은 교환된 데이터의 물리적인 위치의 교환을 반영하도록 갱신된다.
도 15a는 서브-블록 0 ~ 3을 갖도록 구성된 원래의 메모리 블록(1100)을 나타내며, 여기서, 서브-블록0은 데이터 DATA A를 저장하며, 서브-블록1은 데이터 DATA B를 저장하며,서브-블록2는 데이터 DATA C를 저장하며,서브-블록3은 데이터 DATA D를 저장한다. 서브-블록 0과 3이 △Cycle > "Set_diff"로 결정되면, 데이터가 교환된다. 도 15b는 데이터 교환 뒤의 메모리 블록(1100)에서 결과의 데이터 매핑을 나타낸다. 지금은 서브-블록0이 DATA D를 저장하고, 서브-블록 3이 DATA A를 저장한다.
모든 메모리 블록의 데이터가 교환되면, 통상의 프로그램 동작이 진행될 수 있다. 예를 들면, 새로운 데이터가 플래시 메모리 장치에 프로그램될 수 있고 현존하는 데이터가 수정될 수 있다.
이전에 서술된 실시예는 워드라인 비트라인 및 다른 관련된 신호들을 바이어스함으로써 서브-블록으로 불리우는 메모리 블록의 일부의 선택적인 소거를 허용한다. 그러므로 데이터가 수정되는 서브-블록 만이 프로그램/소거 주기로 들어가기 때문에 메모리 블록의 수명은 연장될 수 있다. 서브-블록은 임의의 크기일 수 있으며, 특정 크기로 설정될 수도 있다. 플래시 컨트롤러가 플래시 메모리 장치와 인터페이스하고 임의의 크기의 서브-블록 및 미리 설정된 크기의 서브-블록의 소거를 시작하는 것을 허용하도록 커맨드 프로토콜이 제공된다. 커맨드 프로토콜은 새로운 데이터를 플래시 메모리 장치에 프로그램하고, 플래시 메모리 장치에 저장되어 있 는 현존하는 데이터를 수정할 때 웨어 레벨링 알고리즘을 실행하기 위해 사용될 수 있다. 이들 모든 구성은 메모리 블록의 수명을 연장하기 위해 각자 또는 조합되어 사용될 수 있다.
이전에 서술된 실시예는 2개 또는 4개의 서브-블록을 갖는 메모리 블록을 참조하여 서술된다. 그러나, 실시예는 임의의 수의 서브-블록으로 논리적으로 분할가능한 메모리 블록에 이용가능하다.
앞의 설명에서, 설명을 위해, 실시예의 완전한 이해를 제공하기 위해 많은 상세한 내용이 설명되었다. 그러나, 이들 실시예를 구현하기 위해 본 기술에서 숙련된 자에게 이들 특정 상세한 내용은 필요하지 않은 것은 분명하다. 다른 예에서, 실시예들의 구성을 모호하게 하지 않기 위해 주지의 전기적인 구조 및 회로가 블록도 형태로 도시되어 있다. 예를 들면, 여기 서술된 실시예들이 소프트웨어 루틴, 하드웨어 회로, 펌웨어 또는 그 조합으로 구현되는지에 관한 특정 상세한 내용이 제공되지 않는다.
상기 서술된 실시예들은 일 예로서만 의도된 것이다. 첨부된 청구범위에 의해서만 한정되는 범위를 벗어나지 않으면, 교체, 수정 및 변형이 본 기술에서 숙련된 자에 의해 특정 실시예에 행해질 수 있다.

Claims (52)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 메모리 뱅크를 갖는 메모리 장치의 웨어 레벨링(wear leveling) 제어를 위한 방법으로서, 상기 메모리 뱅크는 메모리 블록을 포함하며, 각각의 상기 메모리 블록은 적어도 2개의 서브-블록을 포함하며, 메모리 블록은 NAND 메모리 셀 스트링에 의해 정의되고 제1 워드라인으로부터 최종 워드라인까지 순차적으로 프로그램가능하며, 최저 순위의 서브-블록은 제1 워드라인을 포함하는 한 세트의 워드라인을 포함하며, 상기 방법은:
    수정된 데이터를 새로운 메모리 블록의 빈 서브-블록에 프로그램하는 단계; 및
    상기 수정된 데이터의 비수정된 버전을 포함하는 상기 메모리 블록의 서브-블록을 소거하는 단계를 포함하는, 웨어 레벨링 제어 방법.
  26. 청구항 25에 있어서,
    상기 빈 서브-블록은 상기 새로운 메모리 블록의 최저 순위의 유효 서브-블록인, 웨어 레벨링 제어 방법.
  27. 청구항 25에 있어서,
    상기 빈 서브-블록은 상기 서브-블록과 동일한 순위를 가지며, 상기 새로운 메모리 블록의 상기 빈 서브-블록과 상기 메모리 블록의 상기 서브-블록은 논리적으로 공통인 워드라인 어드레스에 의해 어드레스되는 워드라인을 갖는, 웨어 레벨링 제어 방법.
  28. 청구항 26에 있어서,
    상기 새로운 메모리 블록은 빈, 웨어 레벨링 제어 방법.
  29. 청구항 27에 있어서,
    상기 새로운 메모리 블록은 상기 빈 서브-블록보다 낮은 순위의 다른 서브-블록내에 저장되는 다른 데이터를 포함하며, 상기 다른 서브-블록은 상기 논리적으로 공통인 워드라인 어드레스와는 상이한 한 세트의 워드라인 어드레스에 의해 어드레스되는, 웨어 레벨링 제어 방법.
  30. 청구항 25에 있어서,
    상기 빈 서브-블록은 상기 서브-블록보다 높은 순위를 가지며, 상기 빈 서브-블록은 제1 세트의 워드라인 어드레스에 의해 어드레스되며, 상기 서브-블록은 상기 제1 세트의 워드라인 어드레스와는 상이한 제2 세트의 워드라인 어드레스에 의해 어드레스되는, 웨어 레벨링 제어 방법.
  31. 청구항 25에 있어서,
    서브-블록과 하나의 다른 서브 블록 사이의 프로그램/소거 사이클의 차이가 소정값에 도달하는 경우 상기 메모리 블록의 서브-블록내의 데이터와 상기 하나의 다른 서브-블록내의 다른 데이터를 교환하는 단계를 더 포함하는, 웨어 레벨링 제어 방법.
  32. 청구항 25에 있어서,
    커맨드를 수신하는 단계 및 상기 커맨드가 새로운 데이터를 프로그램하는 것인지 또는 데이터를 수정하기 위한 것인지를 결정하는 단계를 포함하는, 웨어 레벨링 제어 방법.
  33. 청구항 32에 있어서,
    상기 커맨드가 새로운 데이터를 프로그램하는 것인 경우, 상기 새로운 데이터를 상기 메모리 블록과 상기 새로운 메모리 블록 사이의 최저 순위의 유효 서브-블록으로 프로그래밍하는 단계를 더 포함하는, 웨어 레벨링 제어 방법.
  34. 청구항 25에 있어서,
    상기 수정된 데이터의 논리 어드레스를 상기 새로운 메모리 블록의 상기 빈 서브-블록에 대응하는 물리 어드레스로 매핑하기 위한 어드레스 매핑 테이블을 업데이트하는 단계를 더 포함하는, 웨어 레벨링 제어 방법.
  35. 청구항 32에 있어서,
    상기 커맨드가 데이터를 수정하기 위한 것인 경우, 상기 메모리 블록을 소정 순서로 분류하는 단계를 더 포함하는, 웨어 레벨링 제어 방법.
  36. 청구항 35에 있어서,
    상기 메모리 블록을 분류하는 단계는 상기 메모리 블록의 할당된 물리적 위치에 의해 상기 메모리 블록의 순서를 정하는(ordering) 단계를 포함하는, 웨어 레벨링 제어 방법.
  37. 청구항 35에 있어서,
    상기 메모리 블록을 분류하는 단계는 상기 메모리 블록의 할당된 논리적 위치에 의해 상기 메모리 블록의 순서를 정하는 단계를 포함하는, 웨어 레벨링 제어 방법.
  38. 청구항 35에 있어서,
    상기 메모리 블록을 분류하는 단계는 상기 메모리 블록의 점유율에 기초하여 상기 메모리 블록의 순서를 정하는 단계를 포함하는, 웨어 레벨링 제어 방법.
  39. 청구항 38에 있어서,
    상기 메모리 블록을 분류하는 단계는 어떤 서브-블록이 비어있는지를 결정하기 위하여 상기 메모리 블록의 어드레스 매핑 테이블을 스캔하는 단계를 더 포함하는, 웨어 레벨링 제어 방법.
  40. 청구항 35에 있어서,
    상기 메모리 블록을 분류하는 단계는 프로그램/소거 사이클의 수에 기초하여 상기 메모리 블록의 순서를 정하는 단계를 포함하는, 웨어 레벨링 제어 방법.
  41. 청구항 40에 있어서,
    상기 메모리 블록을 분류하는 단계는 각각의 메모리 블록에 대한 프로그램/소거 사이클의 수를 결정하기 위하여 상기 메모리 블록의 어드레스 매핑 테이블을 스캔하는 단계를 더 포함하는, 웨어 레벨링 제어 방법.
  42. 청구항 25에 있어서,
    상기 수정된 데이터의 프로그래밍을 위하여 상기 서브-블록과 같거나, 보다 낮거나 또는 보다 높은 순위를 갖는 상기 새로운 메모리 블록의 상기 빈 서브-블록을 선택하는 단계를 포함하는, 웨어 레벨링 제어 방법.
  43. 청구항 42에 있어서,
    상기 서브-블록과 동일한 순위를 갖는 상기 새로운 메모리 블록의 서브-블록이 비어 있지 않은 경우, 상기 서브-블록보다 높은 순위를 갖는 빈 서브-블록이 선택되는, 웨어 레벨링 제어 방법.
  44. 청구항 43에 있어서,
    상기 선택 단계는 상기 서브-블록과 동일한 순위를 갖는 상기 새로운 메모리 블록의 서브-블록이 비어 있는 경우, 상기 빈 서브-블록을 선택하기 위하여 다른 새로운 메모리 블록을 선택하는 단계를 포함하며, 상기 새로운 메모리 블록은 상기 서브-블록 보다 높은 순위를 갖는 프로그램된 서브-블록을 포함하는, 웨어 레벨링 제어 방법.
  45. 청구항 44에 있어서,
    상기 새로운 블록이 비어 있는 경우, 상기 새로운 메모리 블록의 최저 순위의 빈 서브-블록이 선택되는, 웨어 레벨링 제어 방법.
  46. 청구항 45에 있어서,
    상기 새로운 메모리 블록이 상기 서브-블록보다 낮은 순위를 갖는 프로그램된 서브-블록을 포함하는 경우, 상기 서브-블록과 동일한 순위를 갖는 상기 빈 서브-블록이 선택되는, 웨어 레벨링 제어 방법.
  47. 워드라인에 연결되고 메모리 블록으로서 배열된 메모리 셀의 로우를 갖는 메모리 뱅크 - 상기 메모리 블록 각각은 각각의 NAND 메모리 셀 스트링에 의해 정의됨 -;
    적어도 2개의 서브-블록을 포함하는 상기 메모리 뱅크내의 제1 메모리 블록;
    적어도 2개의 서브-블록을 포함하는 상기 메모리 뱅크내의 제2 메모리 블록 - 상기 제2 메모리 블록은 제1 워드라인으로부터 최종 워드라인까지 순차적으로 프로그램되도록 구성됨 - ;
    상기 제1 워드라인을 포함하는 한 세트의 워드라인을 포함하는 상기 제2 메모리 블록의 최저 순위 서브-블록;
    수정된 데이터를 포함하도록 프로그램되도록 구성된 상기 제2 메모리 블록의 빈 서브-블록; 및
    상기 수정된 데이터의 비수정된 버전을 포함하도록 구성되고, 상기 수정된 데이터가 상기 빈 서브-블록에 프로그램된 이후에 소거되도록 구성되는, 상기 제1 메모리 블록의 서브-블록
    을 포함하는, 플래시 메모리 장치.
  48. 청구항 47에 있어서,
    상기 빈 서브-블록은 상기 제2 메모리 블록의 상기 최저 순위의 유효 서브-블록인, 플래시 메모리 장치.
  49. 청구항 48에 있어서,
    상기 제2 메모리 블록은 비어 있는, 플래시 메모리 장치.
  50. 청구항 47에 있어서,
    상기 빈 서브-블록은 상기 서브-블록과 동일한 순위를 가지며, 상기 제2 메모리 블록의 상기 빈 서브-블록 및 상기 제1 메모리 블록의 상기 서브-블록은 논리적으로 공통인 워드라인 어드레스에 의해 어드레스되는 워드라인을 갖는, 플래시 메모리 장치.
  51. 청구항 50에 있어서,
    상기 제2 메모리 블록은 상기 빈 서브-블록 보다 낮은 순위를 갖는 다른 서브-블록내에 저장된 다른 데이터를 포함하며, 상기 다른 서브-블록은 상기 논리적으로 공통인 워드라인 어드레스와는 상이한 한 세트의 워드라인 어드레스에 의해 어드레스되는. 플래시 메모리 장치.
  52. 청구항 47에 있어서,
    상기 빈 서브-블록은 상기 서브-블록보다 높은 순위를 가지며, 상기 빈 서브-블록은 제1 세트의 워드라인 어드레스에 의해 어드레스되며, 상기 서브-블록은 상기 제1 세트의 워드라인 어드레스와는 상이한 제2 세트의 워드라인 어드레스에 의해 어드레스되는, 플래시 메모리 장치.
KR1020097020969A 2007-03-07 2008-03-04 플래시 메모리용 부분 블록 소거 구조 KR101460826B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US89343207P 2007-03-07 2007-03-07
US60/893,432 2007-03-07
US91484907P 2007-04-30 2007-04-30
US60/914,849 2007-04-30
US11/779,685 US7804718B2 (en) 2007-03-07 2007-07-18 Partial block erase architecture for flash memory
US11/779,685 2007-07-18
PCT/CA2008/000411 WO2008106778A1 (en) 2007-03-07 2008-03-04 Partial block erase architecture for flash memory

Publications (2)

Publication Number Publication Date
KR20100015423A KR20100015423A (ko) 2010-02-12
KR101460826B1 true KR101460826B1 (ko) 2014-11-11

Family

ID=39737732

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097020969A KR101460826B1 (ko) 2007-03-07 2008-03-04 플래시 메모리용 부분 블록 소거 구조

Country Status (8)

Country Link
US (3) US7804718B2 (ko)
EP (2) EP2135253A4 (ko)
JP (3) JP2010520571A (ko)
KR (1) KR101460826B1 (ko)
CN (1) CN101681677A (ko)
CA (1) CA2678886A1 (ko)
TW (1) TWI457939B (ko)
WO (1) WO2008106778A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672932B2 (en) 2015-05-13 2017-06-06 Samsung Electronics Co., Ltd. Nonvolatile memory device and memory system including the same
KR20170084467A (ko) * 2016-01-12 2017-07-20 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR20180019345A (ko) * 2016-08-16 2018-02-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20180027276A (ko) * 2016-09-06 2018-03-14 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR20190107963A (ko) * 2018-03-13 2019-09-23 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Families Citing this family (324)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349254B2 (en) * 2006-05-31 2008-03-25 Qimonda Flash Gmbh & Co. Kg Charge-trapping memory device and methods for its manufacturing and operation
US7646636B2 (en) 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US7865761B1 (en) * 2007-06-28 2011-01-04 Emc Corporation Accessing multiple non-volatile semiconductor memory modules in an uneven manner
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009072101A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
US8335977B2 (en) 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
US8607128B2 (en) 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8291248B2 (en) 2007-12-21 2012-10-16 Mosaid Technologies Incorporated Non-volatile semiconductor memory device with power saving feature
US8145925B2 (en) * 2007-12-21 2012-03-27 Mosaid Technologies Incorporated Non-volatile semiconductor memory device with power saving feature
JP4672742B2 (ja) * 2008-02-27 2011-04-20 株式会社東芝 メモリコントローラおよびメモリシステム
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
JP2009266258A (ja) * 2008-04-22 2009-11-12 Hitachi Ltd 半導体装置
US8332725B2 (en) * 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8244959B2 (en) * 2008-11-10 2012-08-14 Atmel Rousset S.A.S. Software adapted wear leveling
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
KR101678909B1 (ko) * 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US8495281B2 (en) * 2009-12-04 2013-07-23 International Business Machines Corporation Intra-block memory wear leveling
US8285946B2 (en) 2009-12-15 2012-10-09 International Business Machines Corporation Reducing access contention in flash-based memory systems
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
TWI417889B (zh) * 2009-12-30 2013-12-01 Silicon Motion Inc 快閃記憶體之寫入逾時控制方法及其記憶裝置
KR101658479B1 (ko) * 2010-02-09 2016-09-21 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR101691088B1 (ko) 2010-02-17 2016-12-29 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US9324440B2 (en) 2010-02-09 2016-04-26 Samsung Electronics Co., Ltd. Nonvolatile memory devices, operating methods thereof and memory systems including the same
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US9378831B2 (en) 2010-02-09 2016-06-28 Samsung Electronics Co., Ltd. Nonvolatile memory devices, operating methods thereof and memory systems including the same
US8908431B2 (en) 2010-02-17 2014-12-09 Samsung Electronics Co., Ltd. Control method of nonvolatile memory device
KR101655306B1 (ko) * 2010-02-24 2016-09-07 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8838878B2 (en) * 2010-06-01 2014-09-16 Greenliant Llc Method of writing to a NAND memory block based file system with log based buffering
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
KR101710089B1 (ko) * 2010-08-26 2017-02-24 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
JP2012064290A (ja) * 2010-09-17 2012-03-29 Toshiba Corp 不揮発性半導体メモリ
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
KR101703106B1 (ko) 2011-01-04 2017-02-06 삼성전자주식회사 부분-이레이즈 동작을 수행할 수 있는 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 포함하는 장치들
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
JP5646369B2 (ja) 2011-03-01 2014-12-24 株式会社東芝 不揮発性半導体記憶装置
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
TWI410890B (zh) * 2011-04-08 2013-10-01 Mstar Semiconductor Inc 顯示分支架構的方法與裝置
KR101193059B1 (ko) * 2011-04-21 2012-10-22 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그 동작 방법
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
FR2977047B1 (fr) * 2011-06-22 2013-08-16 Starchip Procede de gestion de l'endurance de memoires non volatiles.
CN102290101B (zh) * 2011-07-04 2016-02-24 上海华虹宏力半导体制造有限公司 源线偏置电路及存储器
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US9104547B2 (en) * 2011-08-03 2015-08-11 Micron Technology, Inc. Wear leveling for a memory device
US8797806B2 (en) 2011-08-15 2014-08-05 Micron Technology, Inc. Apparatus and methods including source gates
US8593873B2 (en) 2011-08-26 2013-11-26 Micron Technology, Inc. Apparatuses and methods of reprogramming memory cells
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
KR20130042780A (ko) 2011-10-19 2013-04-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
US9058338B2 (en) 2011-10-26 2015-06-16 International Business Machines Corporation Storing a small file with a reduced storage and memory footprint
KR20130049330A (ko) 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 메모리 관리 기법
US20140189284A1 (en) * 2011-12-23 2014-07-03 Nevin Hyuseinova Sub-block based wear leveling
US9262336B2 (en) 2011-12-23 2016-02-16 Intel Corporation Page miss handler including wear leveling logic
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
KR101916718B1 (ko) 2012-02-28 2018-11-09 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 메모리 관리 방법
KR20130100507A (ko) 2012-03-02 2013-09-11 에스케이하이닉스 주식회사 비휘발성 메모리 장치의 소거 방법
JP5619812B2 (ja) * 2012-04-24 2014-11-05 ウィンボンドエレクトロニクス コーポレーション 半導体記憶装置
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
TWI454916B (zh) * 2012-05-08 2014-10-01 Phison Electronics Corp 儲存單元管理方法、記憶體控制器與記憶體儲存裝置
CN103425587B (zh) * 2012-05-18 2016-12-14 北京兆易创新科技股份有限公司 一种非易失性存储器的擦写方法及擦写装置
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
KR20130134186A (ko) 2012-05-30 2013-12-10 삼성전자주식회사 메모리 장치의 리라이트 방법
WO2014011149A1 (en) 2012-07-10 2014-01-16 Hewlett-Packard Development Company, L.P. List sort static random access memory
KR101975406B1 (ko) 2012-07-11 2019-05-07 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
US10541029B2 (en) 2012-08-01 2020-01-21 Micron Technology, Inc. Partial block memory operations
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
KR101988434B1 (ko) 2012-08-31 2019-06-12 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 서브-블록 관리 방법
US20140075094A1 (en) * 2012-09-12 2014-03-13 GM Global Technology Operations LLC Method to implement a binary flag in flash memory
US9318199B2 (en) * 2012-10-26 2016-04-19 Micron Technology, Inc. Partial page memory operations
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9183945B2 (en) 2012-11-30 2015-11-10 Sandisk Technologies Inc. Systems and methods to avoid false verify and false read
KR102021808B1 (ko) 2012-12-04 2019-09-17 삼성전자주식회사 3차원 구조의 메모리 셀 어레이를 포함하는 불휘발성 메모리
KR102067029B1 (ko) 2012-12-13 2020-01-16 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US8972776B2 (en) * 2013-03-06 2015-03-03 Seagate Technology, Llc Partial R-block recycling
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US9558108B2 (en) * 2013-04-15 2017-01-31 Macronix International Co., Ltd. Half block management for flash storage devices
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US8923054B1 (en) 2013-06-14 2014-12-30 Sandisk Technologies Inc. Pseudo block operation mode in 3D NAND
US20160196076A1 (en) * 2013-07-08 2016-07-07 Wilus Institute Of Standards And Technology Inc. Memory system and method for controlling same
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9195590B2 (en) * 2013-08-29 2015-11-24 Micron Technology, Inc. Sub-sector wear leveling in memories
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
KR102242022B1 (ko) 2013-09-16 2021-04-21 삼성전자주식회사 불휘발성 메모리 및 그것의 프로그램 방법
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US10733069B2 (en) 2013-12-04 2020-08-04 International Business Machines Corporation Page retirement in a NAND flash memory system
US9274882B2 (en) 2013-12-04 2016-03-01 International Business Machines Corporation Page retirement in a NAND flash memory system
KR102154620B1 (ko) 2013-12-19 2020-09-10 삼성전자주식회사 비휘발성 메모리 장치의 소거 방법 및 그것을 포함하는 저장 장치
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
CN104882163A (zh) * 2014-02-27 2015-09-02 北京兆易创新科技股份有限公司 消除擦除干扰的flash芯片擦除方法
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
KR102179284B1 (ko) 2014-05-12 2020-11-18 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 소거 방법
JP5943153B2 (ja) * 2014-05-16 2016-06-29 富士通株式会社 情報処理装置、書き込み制御回路、書き込み制御方法、及び書き込み制御プログラム
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9036428B1 (en) 2014-06-13 2015-05-19 Sandisk Technologies Inc. Partial block erase for a three dimensional (3D) memory
US9652381B2 (en) * 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
TWI533309B (zh) * 2014-10-06 2016-05-11 群聯電子股份有限公司 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US9563504B2 (en) * 2014-12-05 2017-02-07 Sandisk Technologies Llc Partial block erase for data refreshing and open-block programming
US9552885B2 (en) 2014-12-10 2017-01-24 Sandisk Technologies Llc Partial block erase for open block reading in non-volatile memory
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
KR102360211B1 (ko) * 2015-01-21 2022-02-08 삼성전자주식회사 메모리 시스템의 동작 방법
US9543023B2 (en) 2015-01-23 2017-01-10 Sandisk Technologies Llc Partial block erase for block programming in non-volatile memory
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
EP3254287A4 (en) 2015-02-06 2018-08-08 Micron Technology, INC. Apparatuses and methods for memory device as a store for program instructions
WO2016126474A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for parallel writing to multiple memory device locations
KR102301772B1 (ko) 2015-03-09 2021-09-16 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법
CN107408408B (zh) 2015-03-10 2021-03-05 美光科技公司 用于移位决定的装置及方法
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
CN107430874B (zh) 2015-03-12 2021-02-02 美光科技公司 用于数据移动的设备及方法
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US9946471B1 (en) * 2015-03-31 2018-04-17 EMC IP Holding Company LLC RAID groups based on endurance sets
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
CN105095009B (zh) * 2015-06-24 2019-04-19 合肥格易集成电路有限公司 一种存储器的擦除方法和装置
CN106301875A (zh) * 2015-06-26 2017-01-04 伊姆西公司 确定设备的物理位置的方法和装置
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
KR102312404B1 (ko) * 2015-09-07 2021-10-13 에스케이하이닉스 주식회사 저장 장치 및 이의 동작 방법
CN106531212B (zh) * 2015-09-11 2020-02-07 硅存储技术公司 将存储器单元用作源极线下拉电路的闪速存储器系统
US9786375B2 (en) 2015-09-11 2017-10-10 Intel Corporation Multiple blocks per string in 3D NAND memory
US9952769B2 (en) * 2015-09-14 2018-04-24 Microsoft Technology Licensing, Llc. Data storage system with data storage devices operative to manage storage device functions specific to a particular data storage device
US9449698B1 (en) 2015-10-20 2016-09-20 Sandisk Technologies Llc Block and zone erase algorithm for memory
US10453535B2 (en) * 2015-10-26 2019-10-22 Intel Corporation Segmented erase in memory
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US11205483B2 (en) 2016-04-11 2021-12-21 SK Hynix Inc. Memory system having dies and operating method of the memory system outputting a command in response to a status of a selected die
KR102469549B1 (ko) 2016-04-11 2022-11-22 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
TWI605548B (zh) 2016-05-04 2017-11-11 旺宏電子股份有限公司 記憶體結構及其製造方法
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
CN106158034A (zh) * 2016-07-06 2016-11-23 北京兆易创新科技股份有限公司 一种存储单元的擦除方法
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
KR102461730B1 (ko) * 2016-08-29 2022-11-02 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10275156B2 (en) * 2016-09-29 2019-04-30 Intel Corporation Managing solid state drive defect redundancies at sub-block granularity
US10489064B2 (en) 2016-10-03 2019-11-26 Cypress Semiconductor Corporation Systems, methods, and devices for user configurable wear leveling of non-volatile memory
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10074440B2 (en) 2016-10-28 2018-09-11 Sandisk Technologies Llc Erase for partially programmed blocks in non-volatile memory
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10418106B2 (en) 2017-08-28 2019-09-17 Micron Technology, Inc. Methods of programming different portions of memory cells of a string of series-connected memory cells
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
KR102336659B1 (ko) 2017-09-05 2021-12-07 삼성전자 주식회사 데이터 신뢰성을 향상시키기 위한 메모리 동작을 수행하는 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 장치의 동작 방법
US11232841B2 (en) 2017-09-05 2022-01-25 Samsung Electronics Co., Ltd. Methods of operating memory devices based on sub-block positions and related memory system
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US10340017B2 (en) * 2017-11-06 2019-07-02 Macronix International Co., Ltd. Erase-verify method for three-dimensional memories and memory system
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US11294580B2 (en) * 2017-12-22 2022-04-05 Samsung Electronics Co., Ltd. Nonvolatile memory device
KR102469539B1 (ko) 2017-12-22 2022-11-22 삼성전자주식회사 비휘발성 메모리 장치, 비휘발성 메모리 장치의 동작 방법 및 저장 장치
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
CN110147200A (zh) * 2018-02-13 2019-08-20 矽创电子股份有限公司 闪存的控制器及控制方法
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10839922B2 (en) 2018-05-26 2020-11-17 Sandisk Technologies Llc Memory disturb detection
KR102530327B1 (ko) 2018-06-01 2023-05-08 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
TWI688861B (zh) 2018-09-18 2020-03-21 新唐科技股份有限公司 資料處理裝置及其資料保護方法
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US10585619B1 (en) * 2018-11-15 2020-03-10 International Business Machines Corporation Memory block erasure
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
BR112021007364B1 (pt) * 2018-12-07 2024-01-30 Yangtze Memory Technologies Co., Ltd Dispositivo de memória
US11288007B2 (en) * 2019-05-16 2022-03-29 Western Digital Technologies, Inc. Virtual physical erase of a memory of a data storage device
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11150812B2 (en) 2019-08-20 2021-10-19 Micron Technology, Inc. Predictive memory management
KR20210039185A (ko) 2019-10-01 2021-04-09 에스케이하이닉스 주식회사 메모리 시스템에서 멀티 스트림 동작을 제공하는 방법 및 장치
RU2731959C1 (ru) * 2019-10-02 2020-09-09 Акционерное общество "Центральный научно-исследовательский радиотехнический институт имени академика А.И. Берга" Устройство и способ стирания информации с системы адресации микросхемы
CN110767258B (zh) * 2019-10-22 2022-03-22 江苏芯盛智能科技有限公司 数据擦除命令测试方法和相关装置
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
US11527296B2 (en) 2020-04-24 2022-12-13 Samsung Electronics Co., Ltd. Operation method of nonvolatile memory device
US11557335B2 (en) 2020-07-07 2023-01-17 International Business Machines Corporation Erasing a partition of an SRAM array with hardware support
US11302378B2 (en) 2020-07-07 2022-04-12 International Business Machines Corporation Semiconductor circuit including an initialization circuit for initializing memory cells and clearing of relatively large blocks of memory
KR20220010212A (ko) 2020-07-17 2022-01-25 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
KR20220090210A (ko) 2020-12-22 2022-06-29 삼성전자주식회사 데이터 신뢰성을 보전하기 위한 소거 동작을 수행하는 메모리 장치
CN113421607B (zh) * 2021-06-30 2023-08-04 芯天下技术股份有限公司 一种闪存的校验修复方法、装置和电子设备
CN115620790A (zh) * 2022-09-29 2023-01-17 长江存储科技有限责任公司 存储器及其操作方法、存储器系统
CN116185282B (zh) * 2022-12-20 2023-10-13 珠海妙存科技有限公司 一种闪存虚拟块的分段擦除方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US20060256623A1 (en) 2005-05-12 2006-11-16 Micron Technology, Inc. Partial string erase scheme in a flash memory device

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5099297A (en) * 1988-02-05 1992-03-24 Emanuel Hazani EEPROM cell structure and architecture with programming and erase terminals shared between several cells
JPH02177097A (ja) 1988-12-27 1990-07-10 Toshiba Corp 不揮発性半導体メモリ装置
EP0935255A2 (en) * 1989-04-13 1999-08-11 SanDisk Corporation Flash EEPROM system
KR930000869B1 (ko) * 1989-11-30 1993-02-08 삼성전자 주식회사 페이지 소거 가능한 플래쉬형 이이피롬 장치
JP3099887B2 (ja) * 1990-04-12 2000-10-16 株式会社東芝 不揮発性半導体記憶装置
US5270980A (en) * 1991-10-28 1993-12-14 Eastman Kodak Company Sector erasable flash EEPROM
US5361227A (en) * 1991-12-19 1994-11-01 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
KR950000273B1 (ko) * 1992-02-21 1995-01-12 삼성전자 주식회사 불휘발성 반도체 메모리장치 및 그 최적화 기입방법
JP2831914B2 (ja) 1992-09-30 1998-12-02 株式会社東芝 半導体集積回路装置
KR960000616B1 (ko) * 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
JPH06275085A (ja) * 1993-03-17 1994-09-30 Hitachi Ltd 不揮発性半導体メモリ素子
JPH06275086A (ja) * 1993-03-24 1994-09-30 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JPH06282484A (ja) * 1993-03-29 1994-10-07 Sharp Corp 不揮発性半導体メモリ用データ書込管理装置
JPH06324938A (ja) 1993-05-11 1994-11-25 Mitsubishi Electric Corp ワンチップマイクロコンピュータ
US5365484A (en) * 1993-08-23 1994-11-15 Advanced Micro Devices, Inc. Independent array grounds for flash EEPROM array with paged erase architechture
US5448529A (en) * 1994-11-17 1995-09-05 Alliance Semiconductor Corporation High speed and hierarchical address transition detection circuit
KR0142367B1 (ko) * 1995-02-04 1998-07-15 김광호 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
JP2838993B2 (ja) 1995-11-29 1998-12-16 日本電気株式会社 不揮発性半導体記憶装置
US5796657A (en) * 1996-03-29 1998-08-18 Aplus Integrated Circuits, Inc. Flash memory with flexible erasing size from multi-byte to multi-block
JP3219699B2 (ja) * 1996-09-17 2001-10-15 三洋電機株式会社 半導体メモリ装置
US5805510A (en) * 1996-10-18 1998-09-08 Kabushiki Kaisha Toshiba Data erase mechanism for nonvolatile memory of boot block type
JPH10150627A (ja) * 1996-11-18 1998-06-02 Konica Corp デジタルスチルカメラ
KR100272037B1 (ko) * 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US5847994A (en) * 1997-09-08 1998-12-08 Mitsubishi Denki Kabushiki Kaisha Non-volatile semiconductor memory device having a back ground operation mode
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US5886923A (en) * 1997-10-27 1999-03-23 Integrated Silicon Solution Inc. Local row decoder for sector-erase fowler-nordheim tunneling based flash memory
US6359810B1 (en) * 1998-03-13 2002-03-19 Atmel Corporation Page mode erase in a flash memory array
US6118705A (en) * 1998-03-13 2000-09-12 Atmel Corporation Page mode erase in a flash memory array
US6026021A (en) * 1998-09-10 2000-02-15 Winbond Electronics Corp. America Semiconductor memory array partitioned into memory blocks and sub-blocks and method of addressing
US5995417A (en) * 1998-10-20 1999-11-30 Advanced Micro Devices, Inc. Scheme for page erase and erase verify in a non-volatile memory array
JP2000330967A (ja) * 1999-05-25 2000-11-30 Nec Corp 半導体記憶装置とその製造方法
JP2001093288A (ja) * 1999-09-20 2001-04-06 Toshiba Corp 不揮発性半導体記憶装置
KR100381957B1 (ko) * 2001-01-04 2003-04-26 삼성전자주식회사 비휘발성 반도체 메모리 장치 및 그것의 데이터 입/출력제어 방법
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6549467B2 (en) * 2001-03-09 2003-04-15 Micron Technology, Inc. Non-volatile memory device with erase address register
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
US6732116B2 (en) * 2001-06-21 2004-05-04 International Business Machines Corporation Method and system for dynamically managing data structures to optimize computer network performance
WO2003073431A1 (fr) * 2002-02-28 2003-09-04 Renesas Technology Corp. Memoire a semi-conducteurs non volatile
KR100456596B1 (ko) * 2002-05-08 2004-11-09 삼성전자주식회사 부유트랩형 비휘발성 기억소자의 소거 방법
KR100482766B1 (ko) * 2002-07-16 2005-04-14 주식회사 하이닉스반도체 메모리 소자의 컬럼 선택 제어 신호 발생 회로
JP4270832B2 (ja) * 2002-09-26 2009-06-03 株式会社東芝 不揮発性半導体メモリ
JP4256175B2 (ja) * 2003-02-04 2009-04-22 株式会社東芝 不揮発性半導体メモリ
JP4156986B2 (ja) 2003-06-30 2008-09-24 株式会社東芝 不揮発性半導体記憶装置
JP4220319B2 (ja) * 2003-07-04 2009-02-04 株式会社東芝 不揮発性半導体記憶装置およびそのサブブロック消去方法
JP4287222B2 (ja) * 2003-09-03 2009-07-01 株式会社東芝 不揮発性半導体記憶装置
US6940759B2 (en) * 2003-10-14 2005-09-06 Atmel Corporation Group erasing system for flash array with multiple sectors
JP4175991B2 (ja) * 2003-10-15 2008-11-05 株式会社東芝 不揮発性半導体記憶装置
JP2005191413A (ja) * 2003-12-26 2005-07-14 Toshiba Corp 不揮発性半導体記憶装置
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
KR100559715B1 (ko) 2004-02-25 2006-03-10 주식회사 하이닉스반도체 낸드 플래시 메모리 소자의 소거 방법
JP4331053B2 (ja) * 2004-05-27 2009-09-16 株式会社東芝 半導体記憶装置
KR100705221B1 (ko) * 2004-09-03 2007-04-06 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자 및 이를 이용한 플래쉬 메모리 셀의소거 방법
JP4192129B2 (ja) * 2004-09-13 2008-12-03 株式会社東芝 メモリ管理装置
JP2006164408A (ja) * 2004-12-08 2006-06-22 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ消去方法。
KR100672125B1 (ko) * 2005-03-15 2007-01-19 주식회사 하이닉스반도체 사전 소거 검증을 위한 페이지 버퍼를 갖는 불휘발성 메모리 장치
US7391654B2 (en) * 2005-05-11 2008-06-24 Micron Technology, Inc. Memory block erasing in a flash memory device
JP5130646B2 (ja) * 2005-06-06 2013-01-30 ソニー株式会社 記憶装置
JP5162846B2 (ja) 2005-07-29 2013-03-13 ソニー株式会社 記憶装置、コンピュータシステム、および記憶システム
US7511995B2 (en) * 2006-03-30 2009-03-31 Sandisk Corporation Self-boosting system with suppression of high lateral electric fields
US7511996B2 (en) 2006-11-30 2009-03-31 Mosaid Technologies Incorporated Flash memory program inhibit scheme
JP2008146254A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
JP2008146253A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
JP4461170B2 (ja) * 2007-12-28 2010-05-12 株式会社東芝 メモリシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US20060256623A1 (en) 2005-05-12 2006-11-16 Micron Technology, Inc. Partial string erase scheme in a flash memory device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672932B2 (en) 2015-05-13 2017-06-06 Samsung Electronics Co., Ltd. Nonvolatile memory device and memory system including the same
KR20170084467A (ko) * 2016-01-12 2017-07-20 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR102456490B1 (ko) * 2016-01-12 2022-10-20 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR20180019345A (ko) * 2016-08-16 2018-02-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR102461738B1 (ko) * 2016-08-16 2022-11-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20180027276A (ko) * 2016-09-06 2018-03-14 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR102452994B1 (ko) * 2016-09-06 2022-10-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR20190107963A (ko) * 2018-03-13 2019-09-23 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR102596407B1 (ko) * 2018-03-13 2023-11-01 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Also Published As

Publication number Publication date
TW200849261A (en) 2008-12-16
TWI457939B (zh) 2014-10-21
CA2678886A1 (en) 2008-09-12
JP2013131289A (ja) 2013-07-04
KR20100015423A (ko) 2010-02-12
JP2014241185A (ja) 2014-12-25
JP2010520571A (ja) 2010-06-10
US8842472B2 (en) 2014-09-23
US20080219053A1 (en) 2008-09-11
EP2135253A4 (en) 2010-04-14
US20100226183A1 (en) 2010-09-09
WO2008106778B1 (en) 2008-11-06
EP2629300A2 (en) 2013-08-21
WO2008106778A1 (en) 2008-09-12
US7804718B2 (en) 2010-09-28
CN101681677A (zh) 2010-03-24
EP2135253A1 (en) 2009-12-23
JP5633890B2 (ja) 2014-12-03
US20150009754A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
KR101460826B1 (ko) 플래시 메모리용 부분 블록 소거 구조
US7453712B2 (en) Hybrid flash memory device and method for assigning reserved blocks thereof
KR100721062B1 (ko) 멀티레벨 메모리 내의 일부 메모리 블록을 바이너리 메모리블록으로 이용하는 비휘발성 반도체 메모리 장치
US9182928B2 (en) Lower page only host burst writes
US7400549B2 (en) Memory block reallocation in a flash memory device
CN105810249B (zh) 用于非易失性存储器装置的操作参数的快速适应性整理
JP5196965B2 (ja) 不揮発性半導体記憶装置
US9875802B2 (en) Access line management in a memory device
KR20100010355A (ko) 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법
WO2005076745A2 (en) Method of managing a multi-bit-cell flash memory
JP2003217288A (ja) リードディスターブを緩和したフラッシュメモリ
JP2008123330A (ja) 不揮発性半導体記憶装置
JP2017054561A (ja) 半導体記憶装置及びメモリシステム
KR20160150501A (ko) 불휘발성 메모리 장치의 동작 방법
CN111863077A (zh) 存储装置、控制器以及操作控制器的方法
KR102416047B1 (ko) 더미 셀의 제어 방법 및 반도체 장치
US7864590B2 (en) Non-volatile memory device and method of operating the same
US20210117119A1 (en) Memory system, memory controller and operating method
JP2022038210A (ja) メモリシステム及びメモリシステムの制御方法

Legal Events

Date Code Title Description
A201 Request for 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: 20181018

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191016

Year of fee payment: 6