KR20090024495A - 반도체 메모리 장치 및 그것의 블록 관리 방법 - Google Patents
반도체 메모리 장치 및 그것의 블록 관리 방법 Download PDFInfo
- Publication number
- KR20090024495A KR20090024495A KR1020070089547A KR20070089547A KR20090024495A KR 20090024495 A KR20090024495 A KR 20090024495A KR 1020070089547 A KR1020070089547 A KR 1020070089547A KR 20070089547 A KR20070089547 A KR 20070089547A KR 20090024495 A KR20090024495 A KR 20090024495A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- blocks
- spare area
- semiconductor memory
- empty
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/808—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
본 발명은 반도체 메모리 장치에 관한 것으로, 구체적으로는, 멀티 플레인 구조의 반도체 메모리 장치 및 그것의 블록 관리 방법에 관한 것이다. 본 발명에 따른 멀티 플레인 구조의 반도체 메모리 장치의 블록 관리 방법에 있어서, 상기 반도체 메모리 장치는 예비 영역과 데이터 영역으로 구분된 복수의 플레인들을 포함하고, 상기 예비 영역과 데이터 영역 각각은 복수의 블록들을 포함하고, 인접한 플레인에 연속하여 배열된 복수의 블록들은 다중 플레인 연산 그룹을 구성하며, 상기 블록 관리 방법은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하는지 여부에 따라 제 1 또는 제 2 동작을 수행하며, 상기 제 1 동작에서는 상기 데이터 영역의 블록들이 상기 다중 플레인 연산 그룹 단위로 상기 예비 영역의 비어있는 블록들로 교체되고, 상기 제 2 동작에서는 상기 데이터 영역의 블록이 상기 예비 영역의 비어있는 블록으로 교체되는 방법이 제공된다.
Description
본 발명은 반도체 메모리 장치에 관한 것으로, 구체적으로는, 멀티 플레인 구조의 반도체 메모리 장치 및 그것의 블록 관리 방법에 관한 것이다.
반도체 메모리 장치는 데이터를 저장해 두고 필요할 때 읽어볼 수 있는 기억장치이다. 반도체 메모리 장치는 크게 램(Random Access Memory: RAM)과 롬(Read Only Memory: ROM)으로 나누어진다. 램에 저장된 데이터는 전원 공급이 중단되면 소멸된다. 이러한 타입의 메모리를 휘발성(volatile) 메모리라고 한다. 반면에, 롬에 저장된 데이터는 전원 공급이 중단되더라도 소멸되지 않는다. 이러한 타입의 메모리를 비휘발성(nonvolatile) 메모리라고 한다. 비휘발성 메모리의 일종으로서 플래시 메모리가 각광받고 있다.
종래의 플래시 메모리에서는 모든 블록들(blocks)이 하나의 플레인(plane)에 배치된다. 이러한 구조를 단일 플레인(single plane) 구조라 한다. 여기서 블록은 소거(erase) 연산의 단위이다. 단일 플레인 구조의 플래시 메모리에서, 소거(erase)의 경우에는 한 번에 하나의 블록(block)에 대해서만, 기록(program)과 판독(read)의 경우에는 한 번에 하나의 페이지(page)에 대해서만 명령의 수행이 가능하다.
반도체 메모리 장치의 성능을 향상시키기 위하여 다중 플레인(multi plane) 구조가 제안되었다. 다중 플레인 구조 반도체 메모리에서는 블록들이 복수의 플레인들에 분산 배치된다. 다중 플레인 구조의 장점은 서로 다른 플레인에 위치한 블록들 또는 페이지들에 대해 동시에 소거(erase), 기록(program) 또는 판독(read) 등의 연산을 수행할 수 있다는 것이다. 동시에 연산이 되는 블록들은 인접한 플레인에 연속하여 배열된다. 이렇게 동시에 연산되는 블록들의 집합을 다중 플레인 연산 그룹(multi plane operation group)라고 한다.
도 1은 단일 플레인 구조와 다중 플레인 구조를 비교하여 보여주는 도면이다. 도 1(a)는 단일 플레인 구조를 보여주고, 도 1(b)는 다중 플레인 구조를 보여준다.
도 1(a)의 플래시 메모리는 하나의 플레인(PLN0)으로 구성된다. 플레인은 복수의 블록들(BLK0 ~ BLKn-1)을 포함한다. 이러한 구조를 단일 플레인 구조라 한다. 단일 플레인 구조에서는 한번에 하나의 블록에 대해서만 플래시 연산(operation)이 수행된다. 플래시 연산은 프로그램(program), 읽기(read), 소거(erase) 동작 등을 포함한다. 도시된 바와 같이, 외부로부터 블록들(BLK0, BLK1)에 대한 연산 요청이 있는 경우, 블록(BLK0)에 대한 단일 플래시 연산(OP1)이 끝난 후에 블록(BLK1)에 대한 단일 플래시 연산(OP2)이 수행된다. 결국, 두 개의 블록(BLK0, BLK1)에 대해 두 번의 단일 플래시 연산(OP1, OP2)이 수행된다.
도 1(b)의 플래시 메모리는 두 개의 플레인들(PLN0, PLN1)로 구성된다. 각각의 플레인은 복수의 블록들(BLK0 ~ BLKn-1)을 포함한다. 이러한 구조를 다중 플레인 구조라 한다. 본 실시예에서는 두 개의 플레인들(PLN0, PLN1)이 예시되었지만, 본 발명의 범위는 이에 한정되지 않는다. 예를 들어, 플레인의 개수는 2개보다 많을 수 있다.
다중 플레인 구조 반도체 메모리에서는 블록들이 하나 이상의 플레인 상에 분산 배치되고, 인접한 플레인에 연속하여 배치된 블록들에 대한 동시 연산의 수행이 가능하다. 다시 말해서, 다중 플레인 구조에서는 한번에 복수의 블록들에 대해서 플래시 연산이 수행될 수 있다. 도 1(b)를 참조하면, 외부로부터 블록들(BLK0, BLK1)에 대한 연산 요청이 있는 경우, 블록들(BLK0, BLK1)에 대해 한 번의 다중 플래시 연산(OP1)이 수행된다. 결국, 두 개의 블록(BLK0, BLK1)에 대해 한 번의 다중 플래시 연산(OP1)이 수행된다.
다중 플레인 연산은 단일 플레인 연산의 확장(expansion)이다. 예를 들면, 네 개의 메모리 플레인들을 갖추고 있는 장치에서 서로 인접한 네 개의 페이지들에 대해 동시에 프로그램이 수행될 수 있다. 자세히 설명하면, 먼저, 네 개의 페이지들에 각각 연결된 페이지 버퍼들(page buffers)에 데이터가 로드(load)된다. 네 개의 페이지 버퍼들이 모두 채워진 후에, 네 개의 페이지들이 동시에(simultaneously) 프로그램된다. 따라서, 각각의 페이지들을 별도로 프로그램할 때보다 프로그램에 걸리는 시간이 줄어들게 된다.
결국, 단일 플레인 구조 반도체 메모리에서는 한 번에 하나의 블록에 대해서 만 플래시 연산이 수행되는 반면, 다중 플레인 구조 반도체 메모리에서는 인접한 플레인에 연속하여 배열된 블록들(adjacent blocks)에 대해 동시에 플래시 연산이 수행될 수 있으므로 성능이 향상된다. 따라서, 반도체 메모리 장치의 성능을 향상시키기 위해서 다중 플레인 구조가 사용된다.
그런데, 플래시 메모리에서 배드 블록(bad block)이 발생하면, 반도체 메모리 장치의 신뢰성을 보장하기 위해 배드 블록은 검출(detect)되고, 정상 블록으로 교체(replacement)되어야 한다. 배드 블록은 정상적으로 데이터를 저장하거나 읽어내는 것이 불가능한 블록을 의미하며, 출하시부터 포함되거나 후발적인 요인에 의해서 생성된다. 특히, 다중 플레인 구조 반도체 메모리에서 배드 블록이 생성된 경우의 교체 방법이 문제된다.
본 발명의 목적은 다중 플레인 구조 반도체 메모리의 배드 블록 교체시, 다중 교체 또는 단일 교체를 병용함으로써 반도체 메모리 장치의 성능을 향상시키고 데이터 영역을 더욱 확보할 수 있는 블록 관리 방법을 제공하는 것이다.
본 발명의 다른 목적은 다중 플레인 구조 반도체 메모리의 배드 블록 교체시, 데이터 영역을 사용함으로써 반도체 메모리 장치의 성능을 향상시키고 데이터 영역을 더욱 확보할 수 있는 블록 관리 방법을 제공하는 것이다.
본 발명의 예시적인 실시예들은 멀티 플레인 구조의 반도체 메모리 장치의 블록 관리 방법에 있어서: 상기 반도체 메모리 장치는 예비 영역과 데이터 영역으로 구분된 복수의 플레인들을 포함하고, 상기 예비 영역과 데이터 영역 각각은 복수의 블록들을 포함하고, 인접한 플레인에 연속하여 배열된 복수의 블록들은 다중 플레인 연산 그룹을 구성하며, 상기 블록 관리 방법은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하는지 여부에 따라 제 1 또는 제 2 동작을 수행하며, 상기 제 1 동작에서는 상기 데이터 영역의 블록들이 상기 다중 플레인 연산 그룹 단위로 상기 예비 영역의 비어있는 블록들로 교체되고, 상기 제 2 동작에서는 상기 데이터 영역의 블록이 상기 예비 영역의 비어있는 블록으로 교체되는 방법을 제공한다.
예시적인 실시예에 있어서, 상기 예비 영역에 비어있는 블록이 존재하는지 여부에 따라 상기 데이터 영역의 블록이 상기 데이터 영역의 기 교체된 유효 블록 중 비어있는 블록으로 교체되는 제 3 동작을 수행한다.
예시적인 실시예에 있어서, 상기 제 1 동작은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하는 경우에 수행된다.
예시적인 실시예에 있어서, 상기 제 2 동작은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하지 않는 경우에 수행된다.
예시적인 실시예에 있어서, 상기 제 3 동작은 상기 예비 영역에 비어있는 블록이 존재하지 않는 경우에 수행된다.
예시적인 실시예에 있어서, 상기 예비 영역은 상기 데이터 영역에 존재하는 배드 블록의 교체를 위해 구비된다.
예시적인 실시예에 있어서, 블록 교체 정보를 저장하는 단계를 더 포함한다.
예시적인 실시예에 있어서, 상기 다중 플레인 연산 그룹을 하나의 단위로 하여 다중 플레인 연산이 수행된다.
본 발명의 다른 예시적인 실시예들은 반도체 메모리 장치에 있어서: 예비 영역과 데이터 영역으로 구분된 복수의 플레인들; 및 제어 모듈을 포함하고, 상기 예비 영역과 데이터 영역 각각은 복수의 블록들을 포함하고, 인접한 플레인에 연속하여 배열된 복수의 블록들은 다중 플레인 연산 그룹을 구성하며, 상기 제어 모듈은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하는지 여부에 따라 제 1 또는 제 2 동작이 수행되도록 상기 복수의 플레인들을 제어하며, 상기 제 1 동작에서는 상기 데이터 영역의 블록들이 상기 다중 플레인 연산 그 룹 단위로 상기 예비 영역의 비어있는 블록들로 교체되고, 상기 제 2 동작에서는 상기 데이터 영역의 블록이 상기 예비 영역의 비어있는 블록으로 교체되는 장치를 제공한다.
예시적인 실시예에 있어서, 상기 제어 모듈은 상기 예비 영역에 비어있는 블록이 존재하는지 여부에 따라 상기 데이터 영역의 블록이 상기 데이터 영역의 기 교체된 유효 블록 중 비어있는 블록으로 교체되는 제 3 동작이 수행되도록 상기 복수의 플레인들을 제어한다.
예시적인 실시예에 있어서, 상기 제어 모듈은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하는 경우에 상기 제 1 동작이 수행되도록 상기 복수의 플레인들을 제어한다.
예시적인 실시예에 있어서, 상기 제어 모듈은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하지 않는 경우에 상기 제 2 동작이 수행되도록 상기 복수의 플레인들을 제어한다.
예시적인 실시예에 있어서, 상기 제어 모듈은 상기 예비 영역에 비어있는 블록이 존재하지 않는 경우에 상기 제 3 동작이 수행되도록 상기 복수의 플레인들을 제어한다.
예시적인 실시예에 있어서, 상기 예비 영역은 상기 데이터 영역에 존재하는 배드 블록의 교체를 위해 구비된다.
예시적인 실시예에 있어서, 상기 제어 모듈은 블록 교체 정보를 저장하도록 구성된다.
예시적인 실시예에 있어서, 상기 다중 플레인 연산 그룹을 하나의 단위로 하여 다중 플레인 연산이 수행된다.
본 발명의 또 다른 예시적인 실시예들은 반도체 메모리 장치와; 그리고 상기 반도체 메모리 장치를 제어하도록 구성된 컨트롤러를 포함하며, 상기 반도체 메모리 장치는 청구항 1에 기재된 블록 관리 방법에 따라 데이터가 관리되는 메모리 카드를 제공한다.
본 발명의 또 다른 예시적인 실시예들은 반도체 메모리 장치와; 그리고 상기 반도체 메모리 장치를 제어하도록 구성된 컨트롤러를 포함하며, 상기 반도체 메모리 장치는 청구항 9에 기재된 반도체 메모리 장치인 메모리 카드를 제공한다.
본 발명에 의하면, 배드 블록 교체시 다중 교체 또는 단일 교체를 병용함으로써 반도체 메모리 장치의 성능을 향상시키고 데이터 영역을 더욱 확보하는 것이 가능해진다.
본 발명에 의하면, 배드 블록 교체시, 데이터 영역을 이용함으로써 반도체 메모리 장치의 성능을 향상시키고 데이터 영역을 더욱 확보하는 것이 가능해진다.
다중 플레인 구조에서 배드 블록을 교체하기 위한 여러 가지 방법들이 사용된다. 도 2는 배드 블록과 이에 인접한 블록을 동시에 교체하는 방법을 보여주는 도면이다. 이하에서, 이러한 교체 방법은 다중 교체(multi replacement)로 불릴 것이다.
도 2에 도시된 플래시 메모리의 각 플레인(PLN0, PLN1)은 데이터 영역(DAT)과 예비 영역(RSV)으로 나누어진다. 데이터 영역(DAT)은 일반적인 사용자 데이터를 위해 사용되고, 예비 영역(RSV)은 배드 블록을 교체하기 위해 사용된다. 본 발명의 일부 실시예들에 있어서, 데이터 영역(DAT)은 6개의 블록들(BLK0 ~ BLK5)을 포함하고, 예비 영역(RSV)은 4개의 블록들(BLK6 ~ BLK9)을 포함한다. 단, 본 발명은 이러한 구성에 의해 한정되지 않으며, 데이터 영역 및 예비 영역에 포함된 블록들의 수는 변경될 수 있다.
도 2(a)를 참조하면, 본 발명의 일부 실시예들에 있어서, 블록(BLK2)은 배드 블록(bad block)이고 이에 인접한 블록(BLK3)는 정상 블록(valid block)인 것으로 가정된다. 반도체 메모리 장치의 신뢰성 향상을 위해 배드 블록(BLK2)는 정상 블록으로 교체되어야 한다. 도 2(b)에서는 배드 블록(BLK2)과 인접한 블록(BLK3)이 함께 교체되는 다중 교체 방법이 설명될 것이다.
도 2(b)를 참조하면, 데이터 영역(DAT)의 블록들(BLK2, BLK3)이 예비 영역(RSV)의 블록들(BLK6, BLK7)로 교체된다. 교체 동작이 끝난 후, 교체(mapping) 정보가 표의 형태로 저장된다. 전원이 공급되지 않는 경우에도 교체 정보가 유지되기 위해, 교체 정보는 비휘발성 메모리 장치에 저장될 수 있다.
도 2(d)는 각 블록의 교체 상태(mapping status)를 보여주는 사상 표(mapping table)이다. 도 2(d)를 참조하면, 예를 들어, 데이터 영역의 배드 블록(BLK2)은 예비 영역의 블록(BLK6)으로 교체된다. 따라서, 외부(예를 들면, 호스트)로부터 블록(BLK2)에 접근할 것을 요구하는 명령이 입력되면, 사상 표의 참조에 의해 예비 영역의 블록(BLK6)이 액세스 된다.
도 2(c)는 교체 동작이 완료된 후의 다중 플레인 연산을 보여준다. 도시된 바와 같이, 블록들(BLK6, BLK7)에 대해서 동시에 플래시 연산(OP1)이 수행되므로 한번에 하나의 블록에 대해 연산을 수행하는 단일 플레인 연산에 비해 시스템의 성능이 향상된다. 그러나, 블록(BLK3)은 실제로는 사용 가능한(usable) 블록들임에도 불구하고 사용되지 못하게 된다. 결국, 사용 가능한 데이터 영역이 감소되는 문제가 생긴다.
도 3은 배드 블록만을 단독으로 교체하는 방법을 보여주는 도면이다. 이하에서, 이러한 교체 방법은 단일 교체(single replacement)로 불릴 것이다. 도 3에 도시된 반도체 메모리 장치는 도 2의 경우와 같은 위치(BLK2)에 배드 블록을 가진다.
도 3(b)에서는 배드 블록(BLK2)이 단독으로 교체되는 방법이 설명될 것이다. 도 3(b)를 참조하면, 데이터 영역의 배드 블록(BLK2)만이 예비 영역(RSV)의 블록(BLK6)으로 교체된다. 교체 동작이 완료된 후, 교체 정보가 표의 형태로 저장된다.
도 3(d)는 각 블록의 교체 상태를 보여주는 사상 표(mapping table)이다. 도 3(d)를 참조하면, 데이터 영역의 배드 블록(BLK2)은 예비 영역의 블록(BLK6)으로 교체된다. 따라서, 외부(예를 들면, 호스트)로부터 블록(BLK2)에 접근할 것을 요구하는 명령이 입력되면, 사상 표가 참조되어 예비 영역의 블록(BLK6)이 액세스 된다.
도 3(c)는 데이터 영역의 블록(BLK2)이 정상 블록(BLK6)으로 교체된 후의 플 래시 연산을 보여준다. 외부로부터 블록들(BLK2, BLK3)에 대한 연산 명령이 입력되면, 사상 표에 의해 블록들(BLK6, BLK3)에 대한 연산이 수행된다. 이 경우, 블록들(BLK6, BLK3)이 인접한 플레인에 연속하여 위치하지 않기 때문에 다중 플레인 연산이 수행될 수 없고, 두 번의 단일 플레인 연산들(OP1, OP2)이 수행된다. 따라서, 한번에 두 개의 블록에 대해 연산이 수행되는 다중 플레인 연산 보다 시스템의 성능이 저하된다. 그러나, 정상 블록(BLK3)이 사용될 수 있기 때문에 데이터 영역의 용량이 더욱 확보되는 장점이 있다.
도 4는 본 발명에 따른 블록 관리 방법을 설명하기 위한 블록도이다.
도 4를 참조하면, 본 발명에 따른 반도체 메모리 장치(100)는 플래시 메모리(110)와 제어 모듈(120)을 포함한다. 이하, 도면에서 동일한 참조 번호는 동일한 구성 요소를 나타내기 위해 사용된다.
플래시 메모리(110)는 데이터 영역(DAT1 ~ DATn)과 예비 영역(RSV1 ~ RSVn)으로 나누어진 복수의 플레인들(111 ~ 11n)을 포함한다. 도면에는 도시되지 않았지만, 각각의 플레인은 복수의 블록들을 포함하고, 각각의 블록은 행들(또는 워드 라인들) 및 열들(또는 비트 라인들)의 매트릭스(Matrix) 형태로 배열된 메모리 셀들로 구성된다. 단, 본 발명의 범위는 이러한 구성에 한정되지 않는다. 예를 들면, 반도체 메모리 장치 내의 데이터 영역과 예비 영역의 크기 및 위치는 임의로 변경될 수 있다.
본 발명의 예시적인 실시예에 있어서, 두 개의 플레인들(120)을 단위로 하여 다중 플레인 연산이 수행된다. 따라서, 이하에서는 두 개의 플레인들(120)을 단위 로 한 다중 플레인 연산이 주로 설명될 것이다. 그러나, 본 발명의 범위는 이러한 구성에 의해 한정되지 않고, 두 개 이상의 플레인들에 대해 다중 플레인 연산이 수행될 수 있다.
배드 블록의 생성 여부는 배드 블록 감지 모듈에 의해 수행된다. 배드 블록 감지 모듈은 제어 모듈에 포함될 수 있다. 또는, 배드 블록 감지 모듈은 독립한 구성일 수 있다. 배드 블록 감지 모듈은 이미 알려진 배드 블록 감지 방법을 이용하여 배드 블록을 감지한다. 따라서, 배드 블록 감지 모듈에 대한 자세한 설명은 생략된다. 배드 블록 감지 결과는 제어 모듈(120)에 전달된다.
제어 모듈(120)은 플래시 메모리(100)의 전반적인 동작을 제어하도록 구성된다. 본 발명의 예시적인 실시예에 따르면, 제어 모듈(120)은 배드 블록을 정상 블록으로 교체하기 위한 일련의 동작들을 제어한다. 또한, 본 발명의 예시적인 실시예에 따르면, 제어 모듈(120)은 반도체 메모리 장치(100)의 일부로서 포함되지만, 본 발명의 범위는 이러한 구성에 한정되지 않는다. 예를 들면, 플래시 메모리 카드에서 제어 모듈(120)은 반도체 메모리 장치(100)의 외부에 위치할 수 있다.
제어 모듈(120)은 호스트로부터 수신되는 제어 신호에 응답하여 메모리 셀 어레이(110)에 대한 연산을 수행한다. 제어 신호는 다중 플레인 연산의 종류(program, read, erase)에 대한 정보, 다중 플레인 연산이 수행될 플레인들의 개수에 대한 정보 등을 적어도 포함할 수 있다. 또한, 제어 모듈(120)은 사상 정보를 사상 표에 저장되도록 제어한다. 사상 표에는 블록의 교체 정보가 기록된다. 사상 표는 전원이 공급되지 않는 경우에도 교체 정보가 유지될 수 있도록 비휘발성 메모 리 장치로 구성될 수 있다. 사상 표는 플래시 메모리(110)의 일부에 저장되거나 별도의 비휘발성 메모리에 저장될 수 있다. 사상 표에 저장된 블록의 교체 정보는 제어 모듈(120)에 의해 참조된다.
도 5는 본 발명에 따른 반도체 메모리 장치의 블록 관리 방법을 보여주는 흐름도이다. 이하, 본 발명에 따른 반도체 메모리 장치의 블록 관리 방법이 도 4 및 도 5를 참조하여 자세히 설명될 것이다. 본 실시예에 있어서, 다중 플레인 연산은 두 개의 플레인에 대해 수행되는 것으로 가정된다. 따라서, 이하에서는 도 4에 도시된 플레인들(111~11n) 중 두 개의 플레인들(111, 112)이 예로서 설명될 것이다.
도 5를 참조하면, 먼저 두 개의 플레인들(111, 112)에 배드 블록이 생성되었는지 여부가 검출된다(S210). 배드 블록의 생성 여부는 배드 블록 감지 모듈에 의해 검출된다. 배드 블록 감지 모듈은 감지 결과를 제어 모듈(120)에 전달한다.
배드 블록이 감지되면 먼저, 예비 영역(RSV1, RSV2)에 두 개의 연속한 비어있는 블록들이 존재하는지 여부가 검출된다(S220). 여기서, 연속한 블록들이라 함은 인접한 플레인에 연속하여 위치하는 블록들을 의미한다. 예를 들어, 도 2의 블록들(BLK2, BLK3)은 연속한 블록들에 해당한다. 다중 플레인 연산은 연속한 블록들에 대하여 수행되기 때문에, 이하에서 연속한 블록들은 다중 플레인 연산 그룹(multi plane operation group)으로 불릴 것이다.
예비 영역(RSV1, RSV2)에 두 개의 연속한 비어있는 블록들이 존재하면, 배드 블록과 그에 인접한 블록이 함께 교체된다(S230). 배드 블록과 그에 인접한 블록을 함께 교체하는 이유는 다중 플레인 연산을 수행하기 위함이다. 블록의 교체가 끝난 후, 블록 교체 정보(mapping status)는 사상 표에 저장된다. 또한, 배드 블록과 함께 교체된 유효 블록(BLK3)에 대한 정보가 저장된다(S280). 블록 교체 정보와 마찬가지고, 유효 블록에 대한 정보는 비휘발성 메모리 장치에 저장될 수 있다. 여기서, 유효 블록이라 함은 사용 가능한 블록임에도 불구하고 배드 블록과 함께 교체된 블록을 의미한다. 이후, 배드 블록 교체 동작은 종료된다.
반면에, 예비 영역(RSV1, RSV2)에 두 개의 연속한 비어있는 블록들이 존재하지 않으면, 예비 영역(RSV1, RSV2)에 비어있는 블록이 존재하는지 여부가 검사된다(S240). 예비 영역(111)에 비어있는 블록이 존재하면, 배드 블록만이 교체된다(S250). 블록의 교체가 끝난 후, 블록 교체 정보는 사상 표에 저장되고(S280), 배드 블록 교체 동작은 종료된다.
반면에, 예비 영역(111)에 비어있는 블록이 존재하지 않으면, 데이터 영역(112)에 배드 블록과 함께 교체된 블록이 존재하는지 여부가 검출된다(S260). 이러한 검출을 위해 기 저장된 유효 블록에 대한 정보가 참조된다. 배드 블록에 인접한 블록은 유효한 블록임에도 불구하고 다중 플레인 연산을 위해 함께 교체된 것이기 때문에 다른 배드 블록의 교체를 위해 사용될 수 있다(S270). 배드 블록의 교체가 끝난 후, 블록 교체 정보는 사상 표에 저장되고(S280), 배드 블록 교체 동작은 종료된다. 반면에, 데이터 영역(DAT1, DAT2)에 비어있는 블록이 존재하지 않으면, 배드 블록은 교체되지 않고, 배드 블록 교체 동작은 종료된다.
요약하면, 예비 영역(RSV1, RSV2)에 두 개의 연속한 비어있는 블록들이 존재하면 다중 플레인 연산을 위해 배드 블록과 인접 블록이 함께 교체된다. 그리고, 예비 영역(RSV1, RSV2)에 연속하지 않은 비어있는 블록만이 존재하면, 배드 블록만이 교체된다. 마지막으로, 예비 영역(RSV1, RSV2)에 비어있는 블록이 존재하지 않으면, 데이터 영역(DAT1, DAT2)의 유효 블록을 이용하여 배드 블록이 교체된다. 따라서, 다중 플레인 연산을 통한 속도 향상과 데이터 영역의 용량의 확보를 동시에 실현할 수 있게 된다. 이러한 본 발명의 효과는 도 7 및 도 8을 참조하여 설명될 것이다.
도 6은 본 발명에 따른 반도체 메모리 장치의 블록 관리 방법을 보여주는 블록도이다.
도 6(a)에는 다중 플레인 연산 단위로서 두 개의 플레인들(PLN0, PLN1)이 도시된다. 다시 말하면, 인접한 플레인에 연속하여 위치한 두 개의 블록들에 대해 다중 플레인 연산이 수행된다. 도시된 플레인들(PLN0, PLN1)은 데이터 영역(DAT)과 예비 영역(RSV)으로 구성된다. 예시적으로, 데이터 영역(DAT)은 6개의 블록들(BLK0 ~ BLK5)을 포함하고, 예비 영역(RSV)은 4개의 블록들(BLK6 ~ BLK9)을 포함한다. 블록들(BLK1, BLK2, BLK5, BLK6)은 배드 블록인 것으로 가정된다.
먼저, 배드 블록(BLK2)과 이에 인접한 블록(BLK3)을 함께 교체하기 위해, 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들이 존재하는지 여부가 검출된다. 도 6(b)를 참조하면, 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들(BLK8, BLK9)이 존재한다. 따라서, 블록들(BLK2, BLK3)은 각각 블록들(BLK8, BLK9)로 교체된다. 이 때, 유효 블록(BLK3)에 대한 정보가 저장된다. 유효 블록에 대한 정보는 배드 블록의 교체를 위해 참조될 수 있다.
그 다음, 배드 블록(BLK5)과 이에 인접한 블록(BLK4)을 함께 교체하기 위하여 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들이 존재하는지 여부가 검출된다. 도 6(b)를 참조하면, 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들이 존재하지 않는다. 이어서, 예비 영역(RSV)에 하나의 비어있는 블록이 존재하는지 여부가 검출된다. 예비 영역에 비어있는 블록이 존재하기 때문에 도 6(c)에 도시된 바와 같이, 배드 블록(BLK5)은 예비 영역(RSV)의 블록(BLK7)으로 교체된다.
그 다음, 배드 블록(BLK1)을 교체하기 위하여 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들이 존재하는지 여부가 검출된다. 도 6(c)를 참조하면, 예비 영역에 두 개의 연속한 비어있는 블록들이 존재하지 않는다. 이어서, 예비 영역에 비어있는 블록이 존재하는지 여부가 검출된다. 도 6(d)를 참조하면, 예비 영역(RSV)에 비어있는 블록이 존재하지 않고, 데이터 영역(DAT)에 사용 가능한 블록(BLK3)이 존재한다. 이 경우, 배드 블록(BLK1)은 데이터 영역(DAT) 내의 블록(BLK3)으로 교체된다.
도 6(f)는 블록이 교체된 상태를 보여주는 사상 표(mapping table)이다. 도 6(f)를 참조하면, 블록들(BLK1, BLK2, BLK3, BLK5)은 각각 블록들(BLK3, BLK8, BLK9, BLK7)로 교체된다. 따라서, 외부(예를 들면, 호스트)로부터 블록(BLK1)에 접근할 것을 요구하는 명령이 입력되면, 사상 표에 의해 예비 영역의 블록(BLK3)이 액세스 된다.
도 7은 본 발명의 다른 실시예에 따른 반도체 메모리 장치의 블록 관리 방법을 보여주는 블록도이다.
도 7(a)에는 다중 플레인 연산 단위로서 두 개의 플레인들(PLN0, PLN1)이 도시된다. 도시된 플레인들(PLN0, PLN1)은 데이터 영역(DAT)과 예비 영역(RSV)으로 구성된다. 예시적으로, 데이터 영역(DAT)은 6개의 블록들(BLK0 ~ BLK5)을 포함하고, 예비 영역(RSV)은 4개의 블록들(BLK6 ~ BLK9)을 포함한다. 블록들(BLK0, BLK2, BLK3, BLK7)은 배드 블록인 것으로 가정된다.
먼저, 배드 블록(BLK0)과 이에 인접한 블록(BLK1)을 함께 교체하기 위해, 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들이 존재하는지 여부가 검출된다. 도 7(b)를 참조하면, 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들(BLK8, BLK9)이 존재한다. 따라서, 블록들(BLK0, BLK1)은 각각 블록들(BLK8, BLK9)로 교체된다. 이때, 유효 블록(BLK1)에 대한 정보가 저장된다. 유효 블록에 대한 정보는 배드 블록의 교체를 위해 참조될 수 있다.
그 다음, 배드 블록들(BLK2, BLK3)을 교체하기 위하여 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들이 존재하는지 여부가 검출된다. 도 7(b)를 참조하면, 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들이 존재하지 않는다. 이어서, 예비 영역(RSV)에 하나의 비어있는 블록이 존재하는지 여부가 검출된다. 예비 영역에 하나의 비어있는 블록이 존재하기 때문에 도 7(c)에 도시된 바와 같이, 배드 블록(BLK2)은 예비 영역(RSV)의 블록(BLK6)으로 교체된다.
그 다음, 배드 블록(BLK3)을 교체하기 위하여 예비 영역(RSV)에 두 개의 연속한 비어있는 블록들이 존재하는지 여부가 검출된다. 도 7(c)를 참조하면, 예비 영역에 두 개의 연속한 비어있는 블록들이 존재하지 않는다. 이어서, 예비 영역에 비어있는 블록이 존재하는지 여부가 검출된다. 도 7(d)를 참조하면, 예비 영역(RSV)에 비어있는 블록이 존재하지 않고, 데이터 영역(DAT)에 사용 가능한 블록(BLK1)이 존재한다. 이 경우, 배드 블록(BLK3)은 데이터 영역(DAT) 내의 블록(BLK1)으로 교체된다.
도 7(e)는 블록이 교체된 상태를 보여주는 사상 표(mapping table)이다. 도 6(f)를 참조하면, 블록들(BLK0, BLK1, BLK2, BLK3)은 각각 블록들(BLK8, BLK9, BLK6, BLK1)로 교체된다. 따라서, 외부(예를 들면, 호스트)로부터 블록(BLK1)에 접근할 것을 요구하는 명령이 입력되면, 사상 표에 의해 예비 영역의 블록(BLK9)이 액세스 된다.
도 8은 본 발명에 따른 반도체 메모리 장치의 블록 관리 방법에서 필요한 예비 영역(RSV)의 크기를 보여주는 도면이다.
배드 블록을 처리하는데 필요한 예비 영역(RSV)이 커질수록 사용 가능한 데이터 영역(DAT)의 크기는 줄어든다. 다중 플레인 구조에서 발생될 수 있는 최악의 경우는 도 8(a)와 같이, 데이터 영역(DAT)에 배드 블록들이 모두 인접하지 않게 발생하는 형태이다. 다중 교체 방법과 본 발명에서 배드 블록을 처리하는데 필요한 영역의 크기는 표 1과 같다.
배드 블록과 인접 블록을 함께 교체 (다중 교체) | 본 발명 | |
N개의 배드 블록을 처리하는데 필요한 예비 영역의 크기 | N * 플레인의 개수 | N |
도 8(a)는 배드 블록과 인접 블록을 함께 교체하는 경우(다중 교체)에 필요한 예비 영역(RSV)의 크기를 보여주는 도면이다. 도 8(a)를 참조하면, 데이터 영역(DAT)에 4개의 배드 블록들이 서로 다른 행에 존재한다. 따라서, 배드 블록을 인접 블록과 함께 교체해야 하기 때문에, 예비 영역(RSV)에 총 8개의 블록들이 요구된다.
도 8(b)는 본 발명에 따른 교체 방법의 경우에 필요한 예비 영역(RSV)의 크기를 보여주는 도면이다. 도 8(b)를 참조하면, 예비 영역(RSV)에 두 개의 인접한 비어있는 블록들이 존재하는 경우에는 배드 블록과 인접 블록을 함께 교체(다중 교체)하고, 그렇지 않은 경우에는 예비 영역(RSV) 또는 데이터 영역(DAT)을 이용하여 배드 블록만을 교체(단일 교체)하기 때문에 예비 영역(RSV)에는 모두 4개의 블록만이 요구된다. 결국, 줄어든 예비 영역(RSV)의 크기 만큼 데이터 영역(DAT)을 넓게 사용하는 것이 가능해진다.
도 9는 본 발명에 따른 반도체 메모리 장치의 블록 관리 방법에서의 연산 속도를 보여주는 도면이다.
도 9(a)는 배드 블록과 인접 블록이 함께 교체되는 경우(다중 교체)의 연산을 보여준다. 도 9(a)를 참조하면, 배드 블록과 인접 블록이 함께 교체(다중 교체)되기 때문에 4번의 다중 플레인 연산들이 수행된다. 따라서, 빠른 연산 속도를 갖는다. 도 9(b)는 배드 블록만 교체되는 경우(단일 교체)의 연산을 보여준다. 도 8(b)를 참조하면, 배드 블록만 교체(단일 교체)되기 때문에 8번의 단일 플레인 연산들이 수행된다. 따라서, 느린 연산 속도를 갖는다.
도 9(c)는 본 발명에 따른 블록 관리 방법의 연산을 보여준다. 도 9(c)를 참조하면, 다중 교체와 단일 교체가 병용되기 때문에 2번의 다중 플레인 연산들과, 4번의 단일 플레인 연산들이 수행된다. 따라서, 배드 블록만 교체(단일 교체)될 때보다 연산 속도가 향상된다. 이와 같이, 다중 교체와 단일 교체가 병용됨으로써 반도체 메모리 장치의 연산 속도가 향상되고, 데이터 영역의 용량을 더욱 확보할 수 있다.
도 10은 본 발명에 따른 반도체 메모리 장치를 포함한 컴퓨팅 시스템(300)을 개략적으로 보여주는 블록도이다.
도 10을 참조하면, 컴퓨팅 시스템(300)은 프로세서(310), 컨트롤러(320), 입력 장치들(330), 출력 장치들(340), 플래시 메모리(350), 그리고 주 기억 장치(360)를 포함한다. 도면에서 실선은 데이터 또는 명령이 이동하는 시스템 버스(system bus)를 나타낸다.
본 발명에 따른 컴퓨팅 시스템(300)은 입력 장치들(330)(키보드, 카메라 등)을 통해 외부로부터 데이터를 입력받는다. 입력된 데이터는 사용자에 의한 명령이거나 카메라 등에 의한 영상 데이터 등의 멀티 미디어 데이터일 수 있다. 입력된 데이터는 플래시 메모리(350)에 저장된다.
컨트롤러(320)는 플래시 메모리(350)에 저장된 명령에 응답하여 각 컴포넌트들을 제어한다. 프로세서(310)는 컨트롤러(320)에 의한 제어에 응답하여 프로세스를 처리한다. 처리 결과는 플래시 메모리(350) 또는 주 기억 장치(360)에 저장된다. 출력 장치들(340)은 컨트롤러(320)에 의한 제어에 응답하여 플래시 메모리(350) 또는 주 기억 장치(360)에 저장된 데이터를 출력한다. 출력 장치들(340)은 플래시 메모리(350)에 저장된 데이터를 인간이 감지 가능한 형태로 출력한다. 예를 들어, 출력 장치(340)는 디스플레이 또는 스피커 등이 될 수 있다.
플래시 메모리(350)는 도 4에 도시된 것과 실질적으로 동일하게 구성될 것이다. 프로세서(310), 컨트롤러(320), 입력 장치들(330), 출력 장치들(340), 그리고 주 기억 장치(360)는 호스트를 구성한다.
플래시 메모리(350), 그리고/또는 컨트롤러(320)는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 플래시 메모리(350) 그리고/또는 컨트롤러(120)는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다.
비록 도면에는 도시되지 않았지만 컴퓨팅 시스템(300)의 동작에 필요한 전원을 공급하기 위한 전원 공급부가 요구됨은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 그리고, 컴퓨팅 시스템(300)이 모바일 장치인 경우, 컴퓨팅 시스템(300)의 동작 전압을 공급하기 위한 배터리가 추가로 포함될 것이다. 플래시 메모리(350)의 성능 및 용량이 향상됨에 따라 컴퓨팅 시스템(300)의 성능 및 용량도 이에 비례하여 향상될 것이다.
또한, 본 발명에 따른 반도체 메모리 장치는 SSD(Solid State Disk)에도 적용될 수 있다. 최근 하드디스크 드라이브(HDD)를 교체해 나갈 것으로 예상되는 SSD 제품이 차세대 메모리시장에서 각광을 받고 있다. SSD는 기계적으로 움직이는 하드디스크 드라이브에 비해 속도가 빠르고 외부 충격에 강하며, 소비전력도 낮다는 장점을 가진다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
도 1은 단일 플레인 구조와 다중 플레인 구조를 비교하여 보여주는 도면이다.
도 2는 배드 블록과 이에 인접한 블록을 동시에 교체하는 방법을 보여주는 도면이다.
도 3은 배드 블록만을 단독으로 교체하는 방법을 보여주는 도면이다.
도 4는 본 발명에 따른 블록 관리 방법을 설명하기 위한 블록도이다.
도 5는 본 발명에 따른 반도체 메모리 장치의 블록 관리 방법을 보여주는 흐름도이다.
도 6은 본 발명에 따른 반도체 메모리 장치의 블록 관리 방법을 보여주는 블록도이다.
도 7은 본 발명의 다른 실시예에 따른 반도체 메모리 장치의 블록 관리 방법을 보여주는 블록도이다.
도 8은 본 발명에 따른 반도체 메모리 장치의 블록 관리 방법에서 필요한 예비 영역의 크기를 보여주는 도면이다.
도 9는 본 발명에 따른 반도체 메모리 장치의 블록 관리 방법에서의 연산 속도를 보여주는 도면이다.
도 10은 본 발명에 따른 반도체 메모리 장치를 포함한 컴퓨팅 시스템을 개략적으로 보여주는 블록도이다.
Claims (18)
- 멀티 플레인 구조의 반도체 메모리 장치의 블록 관리 방법에 있어서:상기 반도체 메모리 장치는 예비 영역과 데이터 영역으로 구분된 복수의 플레인들을 포함하고, 상기 예비 영역과 데이터 영역 각각은 복수의 블록들을 포함하고, 인접한 플레인에 연속하여 배열된 복수의 블록들은 다중 플레인 연산 그룹을 구성하며,상기 블록 관리 방법은상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하는지 여부에 따라 제 1 또는 제 2 동작을 수행하며, 상기 제 1 동작에서는 상기 데이터 영역의 블록들이 상기 다중 플레인 연산 그룹 단위로 상기 예비 영역의 비어있는 블록들로 교체되고, 상기 제 2 동작에서는 상기 데이터 영역의 블록이 상기 예비 영역의 비어있는 블록으로 교체되는 방법.
- 제 1 항에 있어서,상기 예비 영역에 비어있는 블록이 존재하는지 여부에 따라 상기 데이터 영역의 블록이 상기 데이터 영역의 기 교체된 유효 블록 중 비어있는 블록으로 교체되는 제 3 동작을 수행하는 방법.
- 제 1 항에 있어서,상기 제 1 동작은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하는 경우에 수행되는 방법.
- 제 1 항에 있어서,상기 제 2 동작은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하지 않는 경우에 수행되는 방법.
- 제 2 항에 있어서,상기 제 3 동작은 상기 예비 영역에 비어있는 블록이 존재하지 않는 경우에 수행되는 방법.
- 제 1 항에 있어서,상기 예비 영역은 상기 데이터 영역에 존재하는 배드 블록의 교체를 위해 구비되는 방법.
- 제 1 항에 있어서,블록 교체 정보를 저장하는 단계를 더 포함하는 방법.
- 제 1 항에 있어서,상기 다중 플레인 연산 그룹을 하나의 단위로 하여 다중 플레인 연산이 수행 되는 방법.
- 반도체 메모리 장치에 있어서:예비 영역과 데이터 영역으로 구분된 복수의 플레인들; 및제어 모듈을 포함하고,상기 예비 영역과 데이터 영역 각각은 복수의 블록들을 포함하고, 인접한 플레인에 연속하여 배열된 복수의 블록들은 다중 플레인 연산 그룹을 구성하며,상기 제어 모듈은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하는지 여부에 따라 제 1 또는 제 2 동작이 수행되도록 상기 복수의 플레인들을 제어하며, 상기 제 1 동작에서는 상기 데이터 영역의 블록들이 상기 다중 플레인 연산 그룹 단위로 상기 예비 영역의 비어있는 블록들로 교체되고, 상기 제 2 동작에서는 상기 데이터 영역의 블록이 상기 예비 영역의 비어있는 블록으로 교체되는 장치.
- 제 9 항에 있어서,상기 제어 모듈은 상기 예비 영역에 비어있는 블록이 존재하는지 여부에 따라 상기 데이터 영역의 블록이 상기 데이터 영역의 기 교체된 유효 블록 중 비어있는 블록으로 교체되는 제 3 동작이 수행되도록 상기 복수의 플레인들을 제어하는 장치.
- 제 9 항에 있어서,상기 제어 모듈은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하는 경우에 상기 제 1 동작이 수행되도록 상기 복수의 플레인들을 제어하는 장치.
- 제 9 항에 있어서,상기 제어 모듈은 상기 예비 영역에 상기 다중 플레인 연산 그룹 단위의 비어있는 블록들이 존재하지 않는 경우에 상기 제 2 동작이 수행되도록 상기 복수의 플레인들을 제어하는 장치.
- 제 10 항에 있어서,상기 제어 모듈은 상기 예비 영역에 비어있는 블록이 존재하지 않는 경우에 상기 제 3 동작이 수행되도록 상기 복수의 플레인들을 제어하는 장치.
- 제 9 항에 있어서,상기 예비 영역은 상기 데이터 영역에 존재하는 배드 블록의 교체를 위해 구비되는 장치.
- 제 9 항에 있어서,상기 제어 모듈은 블록 교체 정보를 저장하도록 구성되는 장치.
- 제 9 항에 있어서,상기 다중 플레인 연산 그룹을 하나의 단위로 하여 다중 플레인 연산이 수행되는 장치.
- 반도체 메모리 장치와; 그리고상기 반도체 메모리 장치를 제어하도록 구성된 컨트롤러를 포함하며,상기 반도체 메모리 장치는 청구항 1에 기재된 블록 관리 방법에 따라 데이터가 관리되는 메모리 카드.
- 반도체 메모리 장치와; 그리고상기 반도체 메모리 장치를 제어하도록 구성된 컨트롤러를 포함하며,상기 반도체 메모리 장치는 청구항 9에 기재된 반도체 메모리 장치인 메모리 카드.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070089547A KR101399549B1 (ko) | 2007-09-04 | 2007-09-04 | 반도체 메모리 장치 및 그것의 블록 관리 방법 |
US12/202,177 US8127071B2 (en) | 2007-09-04 | 2008-08-29 | Semiconductor memory device and block management method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070089547A KR101399549B1 (ko) | 2007-09-04 | 2007-09-04 | 반도체 메모리 장치 및 그것의 블록 관리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090024495A true KR20090024495A (ko) | 2009-03-09 |
KR101399549B1 KR101399549B1 (ko) | 2014-05-28 |
Family
ID=40407240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070089547A KR101399549B1 (ko) | 2007-09-04 | 2007-09-04 | 반도체 메모리 장치 및 그것의 블록 관리 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8127071B2 (ko) |
KR (1) | KR101399549B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020023517A1 (en) * | 2018-07-24 | 2020-01-30 | Micron Technology, Inc. | Spare substitution in memory system |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8904083B2 (en) * | 2008-07-30 | 2014-12-02 | Infineon Technologies Ag | Method and apparatus for storing data in solid state memory |
US20100332942A1 (en) * | 2008-09-10 | 2010-12-30 | Arm Limited | Memory controller for NAND memory using forward error correction |
KR20120003283A (ko) * | 2010-07-02 | 2012-01-10 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 배드 블록 관리 방법 |
TWI420308B (zh) * | 2010-10-13 | 2013-12-21 | Phison Electronics Corp | 區塊管理方法、記憶體控制器與記憶體儲存裝置 |
US8578208B2 (en) * | 2011-01-13 | 2013-11-05 | Micron Technology, Inc. | Determining location of error detection data |
US8959416B1 (en) * | 2011-12-16 | 2015-02-17 | Western Digital Technologies, Inc. | Memory defect management using signature identification |
KR102708642B1 (ko) * | 2016-09-05 | 2024-09-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102420025B1 (ko) * | 2017-06-19 | 2022-07-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN108182960A (zh) * | 2018-01-12 | 2018-06-19 | 江苏华存电子科技有限公司 | 一种提升储存装置可用容量的坏块管理方法 |
KR20190092941A (ko) * | 2018-01-31 | 2019-08-08 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN108491740A (zh) * | 2018-02-01 | 2018-09-04 | 珠海全志科技股份有限公司 | 一种tf卡性能实时监测方法 |
KR102517681B1 (ko) | 2018-06-05 | 2023-04-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20210123528A (ko) | 2020-04-03 | 2021-10-14 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이를 포함하는 저장장치 및 그 동작 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6567290B2 (en) | 2000-07-05 | 2003-05-20 | Mosaic Systems, Inc. | High-speed low-power semiconductor memory architecture |
KR100526186B1 (ko) | 2003-04-04 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 오류블록 관리방법 및 장치 |
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US20080052446A1 (en) * | 2006-08-28 | 2008-02-28 | Sandisk Il Ltd. | Logical super block mapping for NAND flash memory |
TWI381393B (zh) * | 2008-10-06 | 2013-01-01 | Phison Electronics Corp | 區塊管理與更換方法、快閃記憶體儲存系統及其控制器 |
US8095765B2 (en) * | 2009-03-04 | 2012-01-10 | Micron Technology, Inc. | Memory block management |
-
2007
- 2007-09-04 KR KR1020070089547A patent/KR101399549B1/ko active IP Right Grant
-
2008
- 2008-08-29 US US12/202,177 patent/US8127071B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020023517A1 (en) * | 2018-07-24 | 2020-01-30 | Micron Technology, Inc. | Spare substitution in memory system |
US10990472B2 (en) | 2018-07-24 | 2021-04-27 | Micron Technology, Inc. | Spare substitution in memory system |
US11182241B2 (en) | 2018-07-24 | 2021-11-23 | Micron Technology, Inc. | Grouping bits of a code word for memory device operations |
US11422884B2 (en) | 2018-07-24 | 2022-08-23 | Micron Technology, Inc. | Spare substitution in memory system |
US11726866B2 (en) | 2018-07-24 | 2023-08-15 | Micron Technology, Inc. | Spare substitution in memory system |
US12093129B2 (en) | 2018-07-24 | 2024-09-17 | Lodestar Licensing Group, Llc | Spare substitution in memory system |
Also Published As
Publication number | Publication date |
---|---|
KR101399549B1 (ko) | 2014-05-28 |
US20090059695A1 (en) | 2009-03-05 |
US8127071B2 (en) | 2012-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101399549B1 (ko) | 반도체 메모리 장치 및 그것의 블록 관리 방법 | |
US10929285B2 (en) | Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer | |
US10114562B2 (en) | Adaptive block allocation in nonvolatile memory | |
US10289557B2 (en) | Storage system and method for fast lookup in a table-caching database | |
US8705302B2 (en) | Semiconductor memory devices having self-refresh capability | |
US9778848B2 (en) | Method and apparatus for improving read performance of a solid state drive | |
US9728262B2 (en) | Non-volatile memory systems with multi-write direction memory units | |
US20180211707A1 (en) | Semiconductor memory device and method of controlling semiconductor memory device | |
US9431120B1 (en) | Memory die and method for efficient use of data latches in serving mixed traffic loads | |
US9875049B2 (en) | Memory system and method for reducing peak current consumption | |
US20150339223A1 (en) | Memory system and method | |
US10365834B2 (en) | Memory system controlling interleaving write to memory chips | |
US12086462B2 (en) | Pre-suspend before program in a non-volatile memory (NVM) | |
US20220076753A1 (en) | Storage System and Method for a Hybrid Quad-Level Cell (QLC) Write Scheme for Reduced Random Access Memory (RAM) Footprint | |
US11086786B2 (en) | Storage system and method for caching a single mapping entry for a random read command | |
US11829270B2 (en) | Semiconductor die failure recovery in a data storage device | |
US20220283720A1 (en) | Storage controller redirecting write operation and operating method thereof | |
US20150339069A1 (en) | Memory system and method | |
US11626183B2 (en) | Method and storage system with a non-volatile bad block read cache using partial blocks | |
KR101070511B1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
US10642746B2 (en) | Controlling cached/non-cached memory access decisions based on memory access queue fill levels | |
US20170308326A1 (en) | Storage system and method for improved command flow | |
US12019916B2 (en) | Method of scheduling commands for memory device and memory system performing the same | |
US11194482B1 (en) | Storage system and method for segregating outliers in a virtualization system | |
US10902922B2 (en) | Nonvolatile memory device storing data in sub-blocks and operating method thereof |
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: 20170427 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180430 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190429 Year of fee payment: 6 |