KR20100015423A - 플래시 메모리용 부분 블록 소거 구조 - Google Patents
플래시 메모리용 부분 블록 소거 구조 Download PDFInfo
- Publication number
- KR20100015423A KR20100015423A KR1020097020969A KR20097020969A KR20100015423A KR 20100015423 A KR20100015423 A KR 20100015423A KR 1020097020969 A KR1020097020969 A KR 1020097020969A KR 20097020969 A KR20097020969 A KR 20097020969A KR 20100015423 A KR20100015423 A KR 20100015423A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- sub
- voltage
- data
- address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements 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
플래시 메모리는 예를 들면 디지털 카메라 및 휴대용 디지털 음악 플레이어 등의 소비자 전자 기기용 대량 저장매체로서 널리 사용되는 비휘발성 메모리의 일반적으로 사용되는 유형이다. 현재 이용가능한 플래시 메모리 칩의 밀도는 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]
표 1의 예에서, 대응하는 비선택된 페이지가 소거되는 것을 방지하기 위해 비선택 워드라인은 양(positive)의 전압으로 바이어스된다. 이 전압은 Vers라고 칭한다. 선택된 워드라인은 선택된 페이지를 소거하기 위해 다른 전압(예를 들면, 0V)으로 바이어스 된다. 메모리 셀의 기판이 Vers 등의 양의 전압으로 바이어스되면, 0V로 바이어스된 메모리 셀과 기판 사이에 전계가 형성되고, 이것은 메모리 셀을 소거하기에 효과적이다. Vers로 바이어스된 메모리 셀과 기판 사이의 전계가 메모리 셀을 소거하기에 불충분하므로, 소거가 금지되고, 거기에 저장된 데이터가 보유된다.
비선택된 블록에서 메모리 셀의 소거를 방지하기 위해, 소거 동작 동안 비선택된 블록의 모든 워드라인이 플로팅하도록 남겨진다. 비선택된 블록의 다음의 워드 라인이 거의 소거 전압 Vers으로 부스트되며, 이것은 Vers가 기판에 인가될 때 기판과 워드라인 사이의 용량 결합에 의해, 셀 어레이의 기판이 Vers로 바이어스될 때 Vers의 대략 90%가 될 수 있다.
플로팅 워드라인 상의 실제의 부스트된 전압 레벨이 기판과 워드라인 사이의 결합 비율에 의해 결정되는 것에 주의한다. 비선택된 블록에서 워드라인상의 부스트된 전압은 기판과 워드라인 사이의 전계를 감소시킴으로써, 메모리 셀의 소거를 금지한다. 플래시 메모리에서 워드라인 부스팅의 더욱 상세한 내용은 2006년 11월 30일에 출원된 공통으로 소유된 미국 특허 출원 번호 11/565,170에 서술되어 있다.
[표 2]
표2의 예에서, 바이어스 조건은 선택된 블록의 비선택 워드라인이 거의 소거 전압 Vers으로 부스트되는 것을 제외하고, 표 1에 나타낸 조건과 동일하다. 일 실시예에서, 부스트된 전압은 대략 Vers의 90%이고, 이것은 비트라인과 소스라인을 통해 메모리 셀을 프리차지하고, Vers로 상승되면서 기판에 용량 결합을 통해서 워드라인을 부스팅함으로써 얻어진다. 다시 한번, 소거를 금지하는 워드라인 부스팅의 상세한 내용은 미국 특허 출원 번호 11/565,170에 상세하게 서술되어 있다. 표 1 및 2에 나타낸 도시된 바이어스 조건은 단지 일 예일 뿐이며, 본 기술에서 숙련된 자는 특정 값이 제조 공정, 사용된 재료, 및 메모리 셀의 특정 설계에 의존하는 것으로 이해해야 한다.
물리적 블록의 서브-블록이 소거되면, 데이터가 재프로그램되기 전에 행해지는 선택적인 절차는 소거 검증 동작이다. 소거 검증 동작은 소거된 셀이 적절한 임계 전압 마진을 가지는지 확인한다. 예를 들면, 소거 임계 전압은 일부 음의 전압값이다. 종래의 블록 소거 구조에서, 블록의 모든 워드라인을 0V로 바이어스하고, NAND 메모리 셀 스트링을 통해 전류를 감지하여 소거 검증이 행해진다. 0V 보다 큰 소거 임계 전압을 갖는 적어도 1개의 메모리 셀을 갖는 임의의 메모리 셀은 온으로 되지 않고, 대응하는 비트 라인에서 전류의 부재가 감지된다. 일부 메모리 셀이 많은 가능한 임계 전압 중 하나에 대응하는 데이터를 여전히 보유하면 이 종래의 구조는 가능하지 않다.
실시예에 따르면, 소거된 메모리 셀에 결합된 선택된 워드라인을 소거 임계 전압보다 큰 전압으로 바이어스하고, 모든 잔여 비선택 워드라인을 판독 동작을 위해 사용되는 전압으로 바이어스함으로써, 부분적인 소거 블록에 대한 소거 검증 동작이 행해진다. 이 전압은 Vread로 칭해지며, 예를 들면 4 ~ 5V의 범위에 있다. 표 3은 부분적으로 소거된 블록에서 소거 검증 동작을 행하기 위한 일 예의 바이어스 조건을 나타낸다.
[표 3]
실시예에 따르면, 음의 임계 소거 전압이 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 (27)
- 칼럼으로 배열된 NAND 플래시 메모리 셀 스트링들의 적어도 1개의 블록을 갖는 메모리 어레이로서, 상기 적어도 1개의 블록은 제1 워드라인으로부터 최종 워드라인까지 소정의 방향으로 프로그램가능한 페이지를 갖고, 동적으로 선택가능한 수의 플래시 메모리 셀들이 소거 가능한, 상기 메모리 어레이; 및기판이 상기 동적으로 선택가능한 수의 플래시 메모리 셀들을 소거하기 위한 소거 전압으로 바이어스될 때 미리 설정된 수의 플래시 메모리 셀들에 대응하는 제1 워드라인들을 제1 전압으로 구동하는 로우 회로로서, 로우 디코더는 제2 워드라인들을 상기 제2 워드라인들에 결합된 플래시 메모리 셀들의 소거를 금지하기 위한 제2 전압으로 구동하고, 상기 제2 워드라인들은 제1 워드라인부터 최종 비선택 워드라인까지를 포함하고, 상기 제1 워드라인들은 상기 최종 비선택 워드라인에 인접한 제1 선택된 워드라인으로부터 최종 선택된 워드라인까지를 포함하는, 상기 로우 회로를 포함하는, 플래시 메모리 장치.
- 청구항 1에 있어서,상기 최종 선택된 워드라인은 최종 워드라인을 포함하는, 플래시 메모리 장치.
- 청구항 1에 있어서,상기 동적으로 선택가능한 수의 플래시 메모리 셀들은 MBC(multi-bit-cells)인, 플래시 메모리 장치.
- 청구항 1에 있어서,상기 동적으로 선택가능한 수의 플래시 메모리 셀들은 1개의 순차적인 세트의 플래시 메모리 셀들에 대응하는, 플래시 메모리 장치.
- 청구항 1에 있어서,상기 동적으로 선택가능한 수의 플래시 메모리 셀들은 2개의 순차적인 세트의 플래시 메모리 셀들에 대응하고, 상기 2개의 순차적인 세트의 플래시 메모리 셀들은 서로 인접하지 않은, 플래시 메모리 장치.
- 청구항 1에 있어서,상기 적어도 1개의 블록의 NAND 플래시 메모리 셀 스트링들은 공통 소스 라인에 결합되고,소거 검증 동작 동안 공통 소스 라인의 전압을 제3 전압과 제4 전압의 사이에 설정하는 소스 라인 전압 제어 회로를 더 포함하는, 플래시 메모리 장치.
- 청구항 6에 있어서,상기 제4 전압은 상기 제3 전압보다 작고, 제1 워드라인들의 수가 증가할 때 상기 공통 소스 라인의 전압이 감소하는, 플래시 메모리 장치.
- 제1 워드라인, 최종 워드라인 및 상기 제1 워드라인과 상기 최종 워드라인 사이의 중간 워드라인들에 결합된 NAND 메모리 셀 스트링을 갖는 메모리 블록의 서브 블록을 소거하는 방법으로서,제1 어드레스를 갖는 제1 입력 어드레스 커맨드를 발행하는 단계;제2 어드레스를 갖는 제2 입력 어드레스 커맨드를 발행하는 단계;부분 소거 커맨드를 발행하는 단계; 및상기 제1 어드레스 및 상기 제2 어드레스에 대응하는 워드라인들에 의해 결합된 워드라인들의 세트를 갖는 서브-블록을 소거하는 단계를 포함하는, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 8에 있어서,상기 제1 어드레스는 널 어드레스를 포함하는, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 9에 있어서,상기 서브-블록은 상기 제2 어드레스에 대응하는 1개의 워드라인과 제1 워드라인에 의해 결합된 워드라인들의 세트를 포함하는, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 8에 있어서,상기 제2 어드레스는 널 어드레스를 포함하는, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 11에 있어서,상기 서브-블록은 상기 제1 어드레스에 대응하는 1개의 워드라인과 최종 워드라인에 의해 결합된 워드라인들의 세트를 포함하는, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 8에 있어서,상기 소거된 서브-블록을 소거 검증하는 단계를 더 포함하는, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 13에 있어서, 상기 소거 검증 단계는,상기 NAND 메모리 셀 스트링에 결합된 비트라인을 프리차지 전압 레벨로 프리차지하는 단계;상기 워드라인들의 세트에 결합된 소거된 메모리 셀들을 턴온하기 위한 제1 전압으로 상기 워드라인들의 세트를 바이어스하는 단계;상기 비선택 워드라인들에 결합된 메모리 셀들을 턴온하기 위한 제2 전압으 로 상기 비선택 워드라인을 바이어스하는 단계; 및상기 프리차지 전압 레벨에서의 변화를 감지하는 단계를 포함하는, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 14에 있어서,상기 제1 전압은 음의 전압이고, 상기 제2 전압은 판독 동작 동안 사용된 판독 전압인, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 14에 있어서,상기 제1 전압은 0V이고, 상기 제2 전압은 판독 동작 동안 사용된 판독 전압인, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 16에 있어서,상기 NAND 메모리 셀 스트링에 결합된 공통 소스 라인은 가변 소스 바이어스 전압으로 바이어스되는, 메모리 블록의 서브-블록을 소거하는 방법.
- 청구항 17에 있어서,워드라인들의 세트의 수가 감소할 때 상기 가변 소스 바이어스 전압은 0V로부터 최대 전압으로 증가하는, 메모리 블록의 서브-블록을 소거하는 방법.
- 메모리 블록의 서브-블록에서의 데이터를 수정할 때의 웨어 레벨링(wear leveling) 제어 방법으로서,수정된 데이터를 새로운 메모리 블록의 빈 서브-블록에 프로그램하는 단계; 및상기 메모리 블록의 서브-블록을 소거하는 단계를 포함하는, 웨어 레벨링 제어 방법.
- 청구항 19에 있어서,새로운 데이터를 최저 순위의 이용가능한 서브-블록에 프로그램하는 단계를 더 포함하고, 각각의 메모리 블록은 적어도 2개의 서브-블록들을 포함하고, 상기 최저 순위의 이용가능한 서브-블록은 순차적인 프로그램 방식으로 프로그램되는 제1 워드라인에 가장 가까운 워드라인들의 세트를 포함하는, 웨어 레벨링 제어 방법.
- 청구항 19에 있어서,수정된 데이터의 논리 어드레스를 상기 새로운 메모리 블록의 빈 서브-블록에 대응하는 물리 어드레스에 매핑하기 위해 어드레스 매핑 테이블을 업데이트하는 단계를 더 포함하는, 웨어 레벨링 제어 방법.
- 청구항 19에 있어서,상기 빈 서브-블록은 최저 순위의 이용가능한 서브-블록인, 웨어 레벨링 제 어 방법.
- 청구항 19에 있어서,상기 빈 서브-블록은 상기 서브-블록과 동일한 순위를 갖는, 웨어 레벨링 제어 방법.
- 청구항 23에 있어서,상기 새로운 메모리 블록은 비어 있는, 웨어 레벨링 제어 방법.
- 청구항 23에 있어서,상기 새로운 메모리 블록은 상기 빈 서브-블록보다 낮은 순위를 갖는 또 다른 서브-블록에 저장된 다른 데이터를 포함하는, 웨어 레벨링 제어 방법.
- 청구항 19에 있어서,상기 빈 서브-블록은 상기 서브-블록보다 높은 순위를 갖는, 웨어 레벨링 제어 방법.
- 청구항 19에 있어서,상기 서브-블록과 1개의 또 다른 서브-블록의 프로그램/소거 주기 사이의 차이가 소정 값에 달할 때, 상기 서브-블록의 데이터와 상기 메모리 블록의 1개의 또 다른 서브-블록의 다른 데이터를 교환하는 단계를 더 포함하는, 웨어 레벨링 제어 방법.
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 true KR20100015423A (ko) | 2010-02-12 |
KR101460826B1 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) | EP2629300A2 (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 (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8654580B2 (en) | 2011-01-04 | 2014-02-18 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and systems including the same, and methods of programming non-volatile memory devices |
KR20140028957A (ko) * | 2012-08-31 | 2014-03-10 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 서브-블록 관리 방법 |
KR20140071792A (ko) * | 2012-12-04 | 2014-06-12 | 삼성전자주식회사 | 3차원 구조의 메모리 셀 어레이를 포함하는 불휘발성 메모리 |
US9025389B2 (en) | 2012-03-02 | 2015-05-05 | SK Hynix Inc. | Erasing method of non-volatile memory device |
US9053794B2 (en) | 2011-10-19 | 2015-06-09 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related method of operation |
US9189384B2 (en) | 2011-11-04 | 2015-11-17 | Samsung Electronics Co., Ltd. | Memory system and memory managing method thereof |
US9390001B2 (en) | 2012-07-11 | 2016-07-12 | Samsung Electronics Co., Ltd. | Nonvolatle memory device and memory system having the same, and related memory management, erase and programming methods |
KR20160090124A (ko) * | 2015-01-21 | 2016-07-29 | 삼성전자주식회사 | 메모리 시스템의 동작 방법 |
KR20170116469A (ko) * | 2016-04-11 | 2017-10-19 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
KR20180024216A (ko) * | 2016-08-29 | 2018-03-08 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
Families Citing this family (320)
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 |
WO2009037697A2 (en) | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
US8365040B2 (en) | 2007-09-20 | 2013-01-29 | 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 |
US8443242B2 (en) | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
US8341335B2 (en) | 2007-12-05 | 2012-12-25 | Densbits Technologies Ltd. | Flash memory apparatus with a heating system for temporarily retired memory portions |
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 |
WO2009072105A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8276051B2 (en) | 2007-12-12 | 2012-09-25 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
WO2009078006A2 (en) | 2007-12-18 | 2009-06-25 | 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 |
CN101903953B (zh) | 2007-12-21 | 2013-12-18 | 莫塞德技术公司 | 具有功率节省特性的非易失性半导体存储器设备 |
JP4672742B2 (ja) * | 2008-02-27 | 2011-04-20 | 株式会社東芝 | メモリコントローラおよびメモリシステム |
WO2009118720A2 (en) | 2008-03-25 | 2009-10-01 | 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 |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
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 |
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 |
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 |
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 | 快閃記憶體之寫入逾時控制方法及其記憶裝置 |
US9324440B2 (en) | 2010-02-09 | 2016-04-26 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices, operating methods thereof and memory systems including the same |
KR101691088B1 (ko) | 2010-02-17 | 2016-12-29 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
KR101658479B1 (ko) * | 2010-02-09 | 2016-09-21 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US9378831B2 (en) | 2010-02-09 | 2016-06-28 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices, operating methods thereof and memory systems including the same |
KR101691092B1 (ko) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
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 | 삼성전자주식회사 | 메모리 시스템 및 그것의 액세스 방법 |
US8341502B2 (en) | 2010-02-28 | 2012-12-25 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8516274B2 (en) | 2010-04-06 | 2013-08-20 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
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 |
US8621321B2 (en) | 2010-07-01 | 2013-12-31 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8467249B2 (en) | 2010-07-06 | 2013-06-18 | Densbits Technologies Ltd. | 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 |
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 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 그 동작 방법 |
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 |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
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 |
US9058338B2 (en) | 2011-10-26 | 2015-06-16 | International Business Machines Corporation | Storing a small file with a reduced storage and memory footprint |
US9262336B2 (en) | 2011-12-23 | 2016-02-16 | Intel Corporation | Page miss handler including wear leveling logic |
WO2013095641A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Sub-block based wear leveling |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
KR101916718B1 (ko) | 2012-02-28 | 2018-11-09 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 메모리 관리 방법 |
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 | 삼성전자주식회사 | 메모리 장치의 리라이트 방법 |
US9384824B2 (en) | 2012-07-10 | 2016-07-05 | Hewlett Packard Enterprise Development Lp | List sort static random access memory |
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 |
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 |
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 |
WO2015005634A1 (ko) * | 2013-07-08 | 2015-01-15 | 주식회사 윌러스표준기술연구소 | 메모리 시스템 및 이의 제어 방법 |
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 |
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 |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
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 |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations 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 |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division 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 |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison 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 |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
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 |
EP3254287A4 (en) | 2015-02-06 | 2018-08-08 | Micron Technology, INC. | Apparatuses and methods for memory device as a store for program instructions |
WO2016126472A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for scatter and gather |
CN107408405B (zh) | 2015-02-06 | 2021-03-05 | 美光科技公司 | 用于并行写入到多个存储器装置位置的设备及方法 |
KR102301772B1 (ko) | 2015-03-09 | 2021-09-16 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법 |
US10522212B2 (en) | 2015-03-10 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for shift decisions |
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 |
WO2016144726A1 (en) | 2015-03-12 | 2016-09-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
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 |
KR20160133688A (ko) | 2015-05-13 | 2016-11-23 | 삼성전자주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
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 |
US10120573B2 (en) * | 2015-09-14 | 2018-11-06 | Microsoft Technology Licensing, Llc. | Modular sequential writing of data to data storage devices |
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 |
KR102456490B1 (ko) * | 2016-01-12 | 2022-10-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
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 |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
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 |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
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 |
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 |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
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 |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert 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 |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | 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 |
KR102461738B1 (ko) | 2016-08-16 | 2022-11-02 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
KR102452994B1 (ko) * | 2016-09-06 | 2022-10-12 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10275156B2 (en) * | 2016-09-29 | 2019-04-30 | Intel Corporation | Managing solid state drive defect redundancies at sub-block granularity |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
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 |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
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 |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison 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 |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
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 |
KR102336659B1 (ko) | 2017-09-05 | 2021-12-07 | 삼성전자 주식회사 | 데이터 신뢰성을 향상시키기 위한 메모리 동작을 수행하는 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 장치의 동작 방법 |
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 |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
CN110147200A (zh) * | 2018-02-13 | 2019-08-20 | 矽创电子股份有限公司 | 闪存的控制器及控制方法 |
KR102596407B1 (ko) * | 2018-03-13 | 2023-11-01 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
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 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 동작 방법 |
US10726922B2 (en) | 2018-06-05 | 2020-07-28 | Sandisk Technologies Llc | Memory device with connected word lines for fast programming |
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 |
JP2022513730A (ja) * | 2018-12-07 | 2022-02-09 | 長江存儲科技有限責任公司 | 新規の3d nandメモリデバイスおよびそれを形成する方法 |
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 |
KR102691776B1 (ko) | 2019-10-01 | 2024-08-06 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 멀티 스트림 동작을 제공하는 방법 및 장치 |
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 |
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 |
US11557335B2 (en) | 2020-07-07 | 2023-01-17 | International Business Machines Corporation | Erasing a partition of an SRAM array with hardware support |
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 | 珠海妙存科技有限公司 | 一种闪存虚拟块的分段擦除方法及系统 |
Family Cites Families (66)
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 | 不揮発性半導体メモリ装置 |
EP0392895B1 (en) * | 1989-04-13 | 1995-12-13 | Sundisk Corporation | Flash EEprom system |
KR930000869B1 (ko) | 1989-11-30 | 1993-02-08 | 삼성전자 주식회사 | 페이지 소거 가능한 플래쉬형 이이피롬 장치 |
JP3099887B2 (ja) * | 1990-04-12 | 2000-10-16 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
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 |
US20060256623A1 (en) | 2005-05-12 | 2006-11-16 | Micron Technology, Inc. | Partial string erase scheme 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 |
JP2008146253A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
JP2008146254A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
JP4461170B2 (ja) * | 2007-12-28 | 2010-05-12 | 株式会社東芝 | メモリシステム |
-
2007
- 2007-07-18 US US11/779,685 patent/US7804718B2/en active Active
-
2008
- 2008-03-04 CA CA002678886A patent/CA2678886A1/en not_active Abandoned
- 2008-03-04 KR KR1020097020969A patent/KR101460826B1/ko active IP Right Grant
- 2008-03-04 JP JP2009552034A patent/JP2010520571A/ja active Pending
- 2008-03-04 WO PCT/CA2008/000411 patent/WO2008106778A1/en active Application Filing
- 2008-03-04 EP EP13002537.2A patent/EP2629300A2/en not_active Withdrawn
- 2008-03-04 EP EP08714730A patent/EP2135253A4/en not_active Withdrawn
- 2008-03-04 CN CN200880015144A patent/CN101681677A/zh active Pending
- 2008-03-06 TW TW097107920A patent/TWI457939B/zh not_active IP Right Cessation
-
2010
- 2010-05-21 US US12/785,099 patent/US8842472B2/en active Active
-
2013
- 2013-04-04 JP JP2013078709A patent/JP5633890B2/ja not_active Expired - Fee Related
-
2014
- 2014-08-11 JP JP2014163661A patent/JP2014241185A/ja active Pending
- 2014-09-22 US US14/492,611 patent/US20150009754A1/en not_active Abandoned
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8654580B2 (en) | 2011-01-04 | 2014-02-18 | Samsung Electronics Co., Ltd. | Non-volatile memory devices and systems including the same, and methods of programming non-volatile memory devices |
US9053794B2 (en) | 2011-10-19 | 2015-06-09 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related method of operation |
US9189384B2 (en) | 2011-11-04 | 2015-11-17 | Samsung Electronics Co., Ltd. | Memory system and memory managing method thereof |
US9025389B2 (en) | 2012-03-02 | 2015-05-05 | SK Hynix Inc. | Erasing method of non-volatile memory device |
US9390001B2 (en) | 2012-07-11 | 2016-07-12 | Samsung Electronics Co., Ltd. | Nonvolatle memory device and memory system having the same, and related memory management, erase and programming methods |
US9818485B2 (en) | 2012-07-11 | 2017-11-14 | Samsung Electronics Co., Ltd. | Nonvolatle memory device and memory system having the same, and related memory management, erase and programming methods |
KR20140028957A (ko) * | 2012-08-31 | 2014-03-10 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 서브-블록 관리 방법 |
KR20140071792A (ko) * | 2012-12-04 | 2014-06-12 | 삼성전자주식회사 | 3차원 구조의 메모리 셀 어레이를 포함하는 불휘발성 메모리 |
US8987832B2 (en) | 2012-12-04 | 2015-03-24 | Samsung Electronics Co., Ltd. | Nonvolatile memory including memory cell array having three-dimensional structure |
KR20160090124A (ko) * | 2015-01-21 | 2016-07-29 | 삼성전자주식회사 | 메모리 시스템의 동작 방법 |
KR20170116469A (ko) * | 2016-04-11 | 2017-10-19 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
KR20180024216A (ko) * | 2016-08-29 | 2018-03-08 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2014241185A (ja) | 2014-12-25 |
US20100226183A1 (en) | 2010-09-09 |
US20150009754A1 (en) | 2015-01-08 |
CN101681677A (zh) | 2010-03-24 |
EP2629300A2 (en) | 2013-08-21 |
US7804718B2 (en) | 2010-09-28 |
WO2008106778A1 (en) | 2008-09-12 |
CA2678886A1 (en) | 2008-09-12 |
WO2008106778B1 (en) | 2008-11-06 |
EP2135253A1 (en) | 2009-12-23 |
EP2135253A4 (en) | 2010-04-14 |
JP2010520571A (ja) | 2010-06-10 |
JP5633890B2 (ja) | 2014-12-03 |
US8842472B2 (en) | 2014-09-23 |
TWI457939B (zh) | 2014-10-21 |
JP2013131289A (ja) | 2013-07-04 |
TW200849261A (en) | 2008-12-16 |
KR101460826B1 (ko) | 2014-11-11 |
US20080219053A1 (en) | 2008-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101460826B1 (ko) | 플래시 메모리용 부분 블록 소거 구조 | |
US20180329627A1 (en) | Flash memory system | |
JP5866032B2 (ja) | メモリシステム | |
US9043537B1 (en) | Update block programming order | |
KR101359850B1 (ko) | 메모리 소자의 데이터 라인 관리 | |
US9182928B2 (en) | Lower page only host burst writes | |
US7495957B2 (en) | Nonvolatile memory device having a block erase operation | |
US7551510B2 (en) | Memory block reallocation in a flash memory device | |
JP5196965B2 (ja) | 不揮発性半導体記憶装置 | |
JP2003217288A (ja) | リードディスターブを緩和したフラッシュメモリ | |
US9910607B2 (en) | Method of managing a memory, and a memory system | |
JP2008123330A (ja) | 不揮発性半導体記憶装置 | |
KR20090010481A (ko) | 선택 트랜지스터를 프로그램하는 낸드 플래시 메모리 장치및 그것의 프로그램 방법 | |
KR20100010355A (ko) | 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법 | |
JP2017054561A (ja) | 半導体記憶装置及びメモリシステム | |
US7864590B2 (en) | Non-volatile memory device and method of operating the same |
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 |