상기의 과제를 이루기 위한 본 발명에 따른 플래시 메모리 장치는, 각각 복수의 메모리 블록들을 포함하는 복수의 매트들; 및 블록 어드레스에 응답하여, 상기 복수의 매트들 각각에 포함되는 배드 블록들의 어드레스를 동일 매트 내에 포함되는 정상 블록의 어드레스와 교환되도록 상기 복수의 메모리 블록들 중 어느 하나를 선택하는 블록 선택부를 포함하되, 상기 블록 선택부는 상기 배드 블록들의 어드레스를 특정 블록 어드레스 범위에 분포하도록 설정된다.
이 실시예에 있어서, 상기 배드 블록들의 어드레스는 상기 특정 블록 어드레스 범위에 연속적으로 위치한다.
이 실시예에 있어서, 상기 블록 선택부는 상기 배드 블록들의 어드레스를 상기 특정 블록 어드레스 범위의 최종 어드레스로부터 시작하여 역순으로 할당되도록 설정된다.
이 실시예에 있어서, 상기 블록 선택부는, 상기 복수의 매트들 각각에 대응하며 상기 블록 어드레스에 응답하여 상기 복수의 매트들 각각에 포함되는 복수의 메모리 블록들 중 어느 하나를 선택하기 위한 복수의 리맵핑부들을 포함한다.
이 실시예에 있어서, 상기 복수의 리맵핑부들 각각은, 상기 블록 어드레스가 배드 블록에 대응하는 경우, 상기 배드 블록에 대응하는 예비 블록을 선택하기 위 한 전환 신호를 생성하는 블록 전환 제어부; 상기 전환 신호에 응답하여 상기 배드 블록의 선택을 차단하기 위한 디스에이블 신호를 생성하는 디스에이블 회로; 및 상기 블록 어드레스로부터 상기 블록 선택 신호를 생성하되, 상기 디스에이블 신호가 입력되면 상기 배드 블록에 대응하는 메모리 블록을 비활성화하는 블록 선택 신호를 생성하는 프리-디코더를 포함한다.
이 실시예에 있어서, 상기 블록 전환 제어부는, 상기 배드 블록들의 블록 어드레스를 저장하기 위한 배드 블록 저장 수단; 및 각각의 상기 배드 블록들과 교환되는 상기 예비 블록들의 블록 어드레스를 저장하기 위한 예비 블록 저장 수단을 더 포함한다.
이 실시예에 있어서, 상기 예비 블록 저장 수단에는 대응하는 매트의 상기 예비 블록들의 어드레스들 중 최상위 어드레스의 블록으로부터 시작하여 역순으로 저장된다.
이 실시예에 있어서, 상기 배드 블록들의 어드레스는 하위 배드 블록의 어드레스가 높은 예비 블록들의 어드레스와 대응되도록 설정된다.
이 실시예에 있어서, 상기 블록 전환 제어부는, 상기 블록 어드레스와 상기 배드 블록 어드레스 및 상기 예비 블록 어드레스를 비교하여 상기 전환 신호 및 상기 배드 블록 어드레스 중 어느 하나를 선택적으로 출력하는 비교 선택부를 더 포함한다.
이 실시예에 있어서, 상기 비교 선택부는, 상기 블록 어드레스가 상기 배드 블록 어드레스와 일치하는 경우 상기 배드 블록 어드레스에 대응하는 전환 신호를 생성한다.
이 실시예에 있어서, 상기 전환 신호에 따라 상기 배드 블록을 대체하기 위한 예비 블록들 중 어느 하나가 선택된다.
이 실시예에 있어서, 상기 비교 선택부는, 상기 블록 어드레스가 상기 예비 블록 어드레스와 일치하는 경우 상기 예비 블록 어드레스에 대응하는 배드 블록 어드레스를 상기 프리-디코더로 제공한다.
이 실시예에 있어서, 상기 블록 어드레스가 상기 예비 블록 어드레스와 일치하는 경우, 상기 프리-디코더는 상기 배드 블록 어드레스에 대응하는 블록을 선택하도록 상기 블록 선택 신호를 생성한다.
이 실시예에 있어서, 상기 배드 블록 저장 수단 및 상기 예비 블록 저장 수단 각각은 레지스터 회로이다.
이 실시예에 있어서, 상기 레지스터 회로 각각에 저장되는 상기 배드 블록 어드레스 및 상기 배드 블록 어드레스에 대응하는 예비 블록 어드레스는 상기 복수의 매트들 특정 영역에 프로그램되는 초기화 데이터 중 일부이다.
이 실시예에 있어서, 상기 배드 블록 저장 수단 및 상기 예비 블록 저장 수단 각각은 퓨즈 회로이다.
이 실시예에 있어서, 상기 배드 블록 저장 수단 및 상기 예비 블록 저장 수단 각각은 전기적 퓨즈(E-fuse) 회로이다.
이 실시예에 있어서, 상기 복수의 매트들은, 짝수 블록 어드레스를 가지는 복수의 메모리 블록들을 포함하는 제 1 매트; 및 홀수 블록 어드레스를 가지는 복 수의 메모리 블록들을 포함하는 제 2 매트를 포함한다.
이 실시예에 있어서, 상기 복수의 매트들 각각은 연속되는 블록 어드레스를 갖는 메모리 블록들을 포함한다.
상기 목적을 달성하기 위한 복수의 매트들을 포함하는 플래시 메모리 장치의 배드 블록 리맵핑 방법은, 상기 복수의 매트들 각각에 포함되는 배드 블록들의 어드레스를 검출하는 단계; 및 상기 복수의 매트들 각각에 포함되는 배드 블록들의 어드레스를 상기 복수의 매트들 각각에 포함되는 예비 블록들의 어드레스로 전환하도록 설정하는 단계를 포함하되, 상기 설정하는 단계에서, 상기 예비 블록들의 어드레스로 전환된 배드 블록들은 특정 블록 어드레스 범위에 위치한다.
이 실시예에 있어서, 상기 배드 블록들의 어드레스는 상기 특정 블록 어드레스 범위의 최종 어드레스로부터 시작하여 역순으로 할당되도록 설정된다.
이 실시예에 있어서, 상기 복수의 매트들은, 짝수 블록 어드레스에 대응하는 메모리 블록들을 포함하는 제 1 매트; 및 홀수 블록 어드레스에 대응하는 메모리 블록들을 포함하는 제 2 매트를 포함한다.
이 실시예에 있어서, 상기 특정 블록 어드레스 범위는 상기 플래시 메모리 장치의 블록 어드레스 범위 중 어느 한 어드레스 범위에 대응한다.
이 실시예에 있어서, 상기 복수의 매트들은, 각각 연속되는 복수의 블록 어드레스에 대응하는 메모리 블록들을 포함하는 제 1 매트; 및 상기 제 1 매트이 최종 블록 어드레스에 연속되는 블록 어드레스를 갖는 메모리 블록을 포함하며, 각각 연속되는 블록 어드레스에 대응하는 메모리 블록들을 포함하는 제 2 매트를 포함한 다.
이 실시예에 있어서, 상기 특정 블록 어드레스 범위는, 상기 제 1 매트에 대응하는 영역과 상기 제 2 매트에 대응하는 각기 다른 블록 어드레스 범위를 갖는다.
이 실시예에 있어서, 상기 설정하는 단계에 따라 상기 배드 블록들의 어드레스는 상기 특정 블록 어드레스 범위에 연속적으로 위치한다.
이 실시예에 있어서, 상기 특정 블록 어드레스 범위를 검출하여 상기 배드 블록들의 어드레스를 획득하는 단계를 더 포함한다.
상기 목적을 달성하기 위한 본 발명의 플래시 메모리 시스템은, 각각 복수의 메모리 블록들을 포함하는 복수의 매트들; 및 블록 어드레스에 응답하여, 상기 복수의 매트들 각각에 포함되는 배드 블록들의 어드레스를 동일 매트 내에 포함되는 정상 블록의 어드레스와 교환되도록 상기 복수의 메모리 블록들 중 어느 하나를 선택하는 블록 선택부를 포함하되, 상기 블록 선택부는 상기 배드 블록들의 어드레스를 특정 블록 어드레스 범위에 연속적으로 분포하도록 설정되는 플래시 메모리 장치; 및 상기 플래시 메모리 장치를 제어하기 위한 메모리 컨트롤러를 포함한다.
상기 목적을 달성하기 위한 본 발명의 모바일 시스템은, 각각 복수의 메모리 블록들을 포함하는 복수의 매트들; 및 블록 어드레스에 응답하여, 상기 복수의 매트들 각각에 포함되는 배드 블록들의 어드레스를 동일 매트 내에 포함되는 정상 블록의 어드레스와 교환되도록 상기 복수의 메모리 블록들 중 어느 하나를 선택하는 블록 선택부를 포함하되, 상기 블록 선택부는 상기 배드 블록들의 어드레스를 특정 블록 어드레스 범위에 연속적으로 분포하도록 설정되는 플래시 메모리 장치; 및 상기 플래시 메모리 장치를 제어하기 위한 메모리 컨트롤러를 포함하는 플래시 메모리 시스템; 및 상기 플래시 메모리 시스템을 장착하는 컴퓨팅 시스템을 포함한다.
이상의 구성 및 방법에 따르면, 외부에서 신속하게 배드 블록에 대한 검색을 수행할 수 있는 플래시 메모리 장치 및 컴퓨터 시스템을 제공할 수 있다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 낸드형(NAND type) 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다. 이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 2는 본 발명의 배드 블록 리맵핑 방법을 간략히 보여주는 도면이다. 도 2를 참조하면, 본 발명에 따른 블록 어드레스의 리맵핑에 따라 플래시 메모리 장치 의 배드 블록들은 특정 범위에 연속적인 어드레스를 갖도록 재배열된다. 배드 블록들의 리맵핑 이전, 플래시 메모리 장치의 외부에서 인식되는 배드 블록들은 전체 블록 어드레스 범위에서 랜덤하게 분포한다. 그러나, 배드 블록들의 어드레스가 리맵핑되면, 외부에서 인식되는 배드 블록들은 특정 어드레스 범위에 연속적으로 분포하게 될 것이다.
도면에서, 각각의 블록 어드레스 맵 (10)은 블록 리맵핑 이전의 배드 블록들의 분포를 나타낸다. 그리고 블록 어드레스 맵 (20)은 블록 리맵핑 이후의 배드 블록들의 분포를 보여준다. 이러한 배드 블록들의 리맵핑을 위하여 배드 블록들의 어드레스는 지정된 특정 어드레스 범위에 존재하는 예비 블록들과 순차적으로 전환된다. 따라서, 배드 블록들이 집중적으로 분포하는 일부 블록 어드레스만을 검색하는 것으로 플래시 메모리 장치에 존재하는 모든 배드 블록들의 어드레스를 파악할 수 있다.
도 3은 본 발명의 제 1 실시예에 따른 플래시 메모리 장치(100) 및 그것의 배드 블록 리맵핑 방법을 보여주는 블록도이다. 도 3을 참조하면, 플래시 메모리 장치(100)는 각각 서로 다른 코어 영역으로 구분된다. 예를 들면, 플래시 메모리 장치(100)는 각각 독립적으로 프로그램 및 소거될 수 있는 메모리 셀 영역, 즉 복수의 매트(MAT)들로 구분될 수 있다. 각각의 매트에 포함되는 배드 블록들의 어드레스는 각각의 매트에 포함되는 정상 블록들로 대체되도록 리맵핑된다. 이러한 리맵핑 동작은 각각의 매트에 대응하는 블록 리맵핑부들(130, 160)에 의해서 이루어진다. 좀더 상세히 설명하면 다음과 같다.
제 1 매트(MAT1)는 행 디코더(110) 및 셀 어레이(120) 그리고 블록 어드레스(BLK_Add)에 응답하여 블록 선택 신호(P, Q, R)를 생성하는 블록 리맵핑부(130)를 포함한다. 제 2 매트(MAT2)는 행 디코더(140) 및 셀 어레이(150)를 포함한다. 그리고 블록 어드레스(BLK_Add)에 응답하여 선택된 블록에 대응하는 디코더를 선택하기 위한 블록 리맵핑부(160)를 포함한다. 제 1 매트(MAT1)의 행 디코더(110)는 블록 선택 신호(P, Q, R) 또는 전환 신호(/REPi, i=1~16)에 응답하여 셀 어레이(120)에 메모리 블록들 중 어느 하나를 선택한다. 행 디코더(140)의 기능은 행 디코더(110)에 준한다.
제 1 매트(MAT1)의 블록 리맵핑부(130)는 배드 블록의 블록 어드레스를 셀 어레이(120)의 예비 블록으로 전환하기 위한 동작을 수행한다. 예를 들면, 블록 리맵핑부(130)는 배드 블록들(MCB4, MCB8, MCBk)의 블록 어드레스를 예비 블록들(MCB2046, MCB2044, MCB2042)로 전환하도록 설정된다. 블록 어드레스(BLK_Add)가 배드 블록에 대응하는 경우, 블록 리맵핑부(130)는 배드 블록의 선택을 차단하도록 블록 선택신호(P, Q, R)를 생성한다. 동시에, 블록 리맵핑부(130)는 배드 블록에 대응하는 예비 블록을 선택하도록 전환 신호(/REPi)를 생성한다. 제 2 매트(MAT2)의 블록 리맵핑부(160)의 동작은 제 1 매트(MAT1)에 대응하는 블록 리맵핑부(130)에 준한다.
이상의 설명에 따르면, 플래시 메모리 장치(100)는 짝수 어드레스에 대응하는 메모리 블록들이 할당되는 매트와 홀수 어드레스에 대응하는 메모리 블록들이 할당되는 매트를 포함한다. 그리고 각각의 매트에 포함되는 배드 블록들은 각각의 매트 내에 포함되는 예비 블록들로 어드레스가 전환된다. 배드 블록들의 어드레스는 각 매트에 할당되는 예비 블록들의 어드레스로 전환되되, 예비 블록들의 최종 블록 어드레스로부터 시작하여 역순으로 배드 블록들과 블록 어드레스가 전환된다. 특히, 제 1 매트(MAT1)의 메모리 블록들은 짝수에 대응하는 블록 어드레스로 할당되는 반면에, 제 2 매트(MAT2)의 메모리 블록들은 홀수에 대응하는 블록 어드레스로 할당된다. 예를 들면, 제 1 매트(MAT1)의 최하위 블록이 'MCB0'이고, 최상위 블록 'MCB2046'까지 순차적으로 짝수 어드레스에 대응하도록 블록 어드레스가 할당된다. 그리고 제 2 매트(MAT2)의 최하위 블록이 'MCB1'이며 최상위 블록은 'MCB2047'에 대응한다. 이 경우, 블록 어드레스의 카운트-업시 지그재그(Zigzag)식으로 제 1 매트(MAT1)와 제 2 매트(MAT2)를 번갈아 지시하도록 블록 시퀀스(Block sequence)가 이루어진다. 그리고 배드 블록들의 블록 어드레스는 최상위 어드레스 블록으로부터 시작하여 역순으로 매트 내의 예비 블록들의 블록 어드레스와 전환된다.
이러한 블록 어드레스의 할당과 배드 블록의 리맵핑을 통해서 하나의 플래시 메모리 장치(100)에 포함되는 배드 블록들은 어드레스 맵 상에서 최상위 블록 어드레스 부근에 집중적으로 분포하게 된다. 따라서, 플래시 메모리 장치(100)는 허용 가능한 배드 블록의 수를 명시하고, 배드 블록이 존재할 수 있는 블록 어드레스 범위(예비 블록 어드레스 범위)를 제공받는다. 상술한 본 발명의 배드 블록의 리맵핑 설정에 따라 배드 블록들의 어드레스는 최상위 블록 어드레스 부근에 집중적으로 분포된다. 이러한 블록 리맵핑 방법에 따라, 플래시 메모리 장치(100)에 포함되는 모든 메모리 블록들이 검색되지 않고도 배드 블록의 어드레스를 외부로 제공할 수 있는 여지를 제공할 수 있다. 여기서, 예비 블록들이 각 매트 내에서 최상위 블록 어드레스에 대응하는 블록들로 구성되었으나, 본 발명은 이에 국한되지 않는다. 즉, 예비 블록들은 매트 내의 특정 블록 어드레스 범위에 임의로 지정될 수 있다. 이 경우, 배드 블록들이 리맵핑된 이 후에는 상술한 예비 블록으로 지정된 특정 블록 어드레스 범위에 포함될 것이다.
도 4는 상술한 도 3의 블록 리맵핑부(130)의 구성을 보여주는 블록도이다. 도 4를 참조하면, 외부로부터 블록 어드레스(BLK_Add)가 입력되면, 블록 전환 제어부(131)는 입력된 블록 어드레스(BLK_Add)가 배드 블록, 또는 배드 블록과 어드레스가 교환되는 예비 블록에 대응하는지를 검출한다. 만일 입력되는 블록 어드레스(BLK_Add)가 배드 블록에 대응하는 경우, 배드 블록을 대체하기 위한 예비 블록을 선택하도록 전환 신호(/REPi)를 생성한다. 반면에, 블록 어드레스(BLK_Add)가 배드 블록과 전환되기 위한 예비 블록들 중 어느 하나를 지시하는 경우, 블록 전환 제어부(131)는 배드 예비 블록에 대응하는 배드 블록을 선택하도록 배드 블록 어드레스(BB_Add)를 행 프리 디코더(135)로 제공한다. 이러한, 블록 어드레스의 전환을 통하여 블록 전환 제어부는 배드 블록에 대한 리맵핑 동작을 수행한다. 좀더 상세히 설명하면 다음과 같다.
블록 전환 제어부(131)는 입력되는 블록 어드레스(BLK_Add)가 배드 블록 또는, 배드 블록을 대체하는 예비 블록에 대응하는지의 여부를 판단한다. 블록 어드레스(BLK_Add)가 배드 블록들 중 어느 하나에 대응하는 경우, 블록 전환 제어부(131)는 배드 블록과 대응하는 예비 블록을 선택하도록 전환 신호(/REPi)를 출력 한다. 전환 신호(/REPi)는 행 디코더(110)에 제공되며, 전환 신호(/REPi)에 배드 블록과 대응하는 예비 블록이 선택된다. 또한, 전환 신호(/REPi)는 디스에이블 회로(134)에 제공되며, 디스에이블 회로(134)는 블록 어드레스(BLK_Add)에 대응하는 메모리 블록의 선택을 차단하기 위한 디스에이블 신호(/RPDdis)를 생성한다.
반면에, 블록 어드레스(BLK_Add)가 배드 블록들 중 어느 하나와 전환되기 위한 예비 블록에 대응하는 경우, 블록 전환 제어부(131)는 대응하는 배드 블록의 어드레스(BB_Add)를 행 프리-디코더(135)에 제공한다. 배드 블록의 어드레스(BB_Add)를 제공받은 행 프리 디코더(135)는 입력된 블록 어드레스(BLK_Add)에 대응하는 예비 블록을 선택하는 대신에, 블록 어드레스(BB_Add)에 대응하는 배드 블록을 선택한다. 즉, 행 프리-디코더(135)는 입력되는 블록 어드레스(BLK_Add)가 예비 블록에 대응하는 경우, 그에 대응하는 배드 블록을 선택하도록 블록 선택 신호(P, Q, R)를 생성한다. 여기서, 전환 신호(/REPi)를 생성하기 위하여, 블록 전환 제어부(131)는 배드 블록들의 블록 어드레스를 저장하는 배드 블록 레지스터(132)를 포함한다. 배드 블록 레지스터(132)에는 리페어되지 못한 모든 배드 블록의 어드레스가 저장된다. 배드 블록 어드레스는 플래시 메모리 장치(100)의 초기화 동작 동안에 셀 어레이의 초기화 데이터 영역으로부터 독출되어 배드 블록 레지스터(132)에 저장된다. 블록 전환 제어부(131)는 배드 블록에 대응하는 예비 블록의 어드레스를 저장하기 위한 예비 블록 레지스터(133)를 포함한다. 블록 전환 제어부(131)는 블록 리맵핑에 의해서 전환되는 배드 블록과 예비 블록의 대응관계를 배드 블록 레지스터(132) 및 예비 블록 레지스터(133)를 사용하여 구성한다. 블록 전환 제어부(131)로부터 출력되는 전환 신호(/REPi)는 예비 블록이 선택되도록 각각의 예비 블록에 대응하는 행 디코더(110)를 활성화한다. 여기서, 배드 블록 레지스터(132) 및 예비 블록 레지스터(133)에 저장되는 초기화 데이터에 의해서 본 발명에 따른 배드 블록 리맵핑이 구현된다. 따라서, 초기화 데이터의 설정을 통하여 본 발명의 사상이 구현될 수 있음은 이 분야에서 통상의 지식을 습득한 자들에게는 자명하다. 그리고, 배드 블록 레지스터(132) 및 예비 블록 레지스터(133)는 퓨즈 박스와 같이 퓨즈 프로그램을 통해서 설정될 수 있으며, 전기적 퓨즈(e-Fuse)로 구성될 수 있다.
디스에이블 회로(134)는 배드 블록에 대응하는 메모리 블록의 선택을 차단하기 위한 디스에이블 신호(/RPDdis)를 생성한다. 디스에이블 회로(134)는 전환 신호(/REPi)가 활성화되면, 블록의 선택을 차단하기 위한 디스에이블 신호(/RPDdis)를 생성한다.
행 프리-디코더(135)는 블록 어드레스(BLK_Add)를 디코딩하여 블록을 선택하기 위한 블록 선택 신호(P, Q, R)를 생성한다. 행 디코더(110)는 행 프리디코더(135)로부터의 블록 선택 신호(P, Q, R)에 응답하여 블록을 선택한다. 그러나 행 프리-디코더(135)는 디스에이블 신호(/RPDdis)가 활성화되면 입력되는 블록 어드레스(BLK_Add)에 대응하는 배드 블록이 비활성화되도록 블록 선택 신호(P, Q, R)를 생성한다. 반면에, 행 프리-디코더(135)는 외부로부터 입력되는 블록 어드레스(BLK_Add)가 배드 블록과 전환되는 예비 블록들 중 어느 하나에 대응하는 경우, 예비 블록에 대응하는 배드 블록을 선택하도록 블록 선택 신호(P, Q, R)를 생성한다. 즉, 외부로부터 입력되는 블록 어드레스(BLK_Add)가 지시하는 예비 블록에 대 응하는 배드 블록을 선택하도록 배드 블록 어드레스(BB_Add)에 응답하여 배드 블록을 선택하기 위한 블록 선택 신호(P, Q, R)를 생성한다.
제 1 매트(MAT1)에 대응하는 블록 리맵핑부(130)는 제 1 매트(MAT1) 내의 배드 블록의 어드레스를 예비 블록의 어드레스로 전환하도록 설정된다. 특히, 배드 블록의 블록 어드레스를 예비 블록의 최상위 블록 어드레스로부터 시작하여 역순으로 전환되도록 설정된다. 제 2 매트(MAT2)의 블록 리맵핑을 위한 블록 리맵핑부(160)의 구성도 블록 리맵핑부 (130)에 준한다. 본 발명의 배드 블록의 리맵핑은 블록 전환 제어부(131)에 포함되는 배드 블록 레지스터(132) 및 예비 블록 레지스터(133)에 저장되는 초기화 데이터에 의해서 이루어진다. 초기화 데이터는 셀 어레이의 특정 영역으로부터 독출되거나, 퓨즈 프로그램을 통해서 제공될 수 있다.
도 5는 도 4의 블록 전환 제어부(131)의 실시예를 간략히 보여주는 블록도이다. 도 5를 참조하면, 블록 전환 제어부(131)는 외부로부터 입력되는 블록 어드레스(BLK_Add)를 배드 블록 어드레스 또는 예비 블록 어드레스와 비교한다. 비교 결과에 따라 블록 전환 제어부(131)는 전환 신호(/REPi) 또는 배드 블록 어드레스(BB_Add)를 생성하는 것으로 본 발명에 따른 블록 리맵핑 동작을 수행한다.
블록 전환 제어부(131)는 블록 리맵핑 이전의 배드 블록 어드레스들이 저장되는 배드 블록 레지스터들(BB_reg1~BB_reg16)과 상술한 배드 블록들 각각을 대체하기 위한 예비 블록 어드레스들이 저장되는 예비 블록 레지스터들(133, RB_reg1~RB_reg16)을 포함한다. 일반적으로 예비 블록 레지스터들(133)은 플래시 메모리 장치(100)에서 허용 가능한 배드 블록의 개수만큼 구비된다. 그리고 예비 블록 레지스터(RB_reg1)에는 제 1 매트(MAT1)에 포함되는 블록들 중 최상위 블록 어드레스(예를 들면, MCB2046)가 저장될 수 있다. 그리고 예비 블록 레지스터(RB_reg2)에는 제 1 매트(MAT1)에 포함되는 블록들 중 차상위 블록 어드레스(예를 들면, MCB2044)가 저장될 수 있다. 이와 같은 방식으로 예비 블록 레지스터들(RB_reg1~RB_reg16)은 제 1 매트(MAT1)에 포함되는 블록에 대응하는 배드 블록들의 수만큼을 대체하기 위한 예비 블록 어드레스가 최상위 블록 어드레스(예를 들면, MCB2046)로부터 역순(Up-side-down)으로 저장된다.
반면에, 배드 블록 레지스터들(132, BB_reg1~BB_reg16)은 블록 리맵핑 이전에 제 1 매트(MAT1)에 포함되는 배드 블록들의 블록 어드레스들을 순차적으로 저장한다. 따라서, 제 1 매트(MAT1)에 포함되는 배드 블록의 수에 대응하는 배드 블록 레지스터들만이 배드 블록 어드레스를 저장한다. 다시 말하면, 제 1 매트(MAT1)에 배드 블록이 3개가 존재하는 경우, 각각에 대응하는 배드 블록의 블록 어드레스가 순차적으로 배드 블록 레지스터(BB_reg1)로부터 배드 블록 레지스터(BB_reg3)까지만 채워지게 될 것이다. 그리고 그에 대응하는 예비 블록 레지스터(RB_reg1)로부터 예비 블록 레지스터(RB_reg3)가 블록 어드레스(MCB2046, MCB2044, MCB2042)를 저장하게 될 것이다.
비교 선택기(1310)는 외부로부터 입력되는 블록 어드레스(BLK_Add)와 배드 블록 레지스터(132) 또는 예비 블록 레지스터(133)에 저장된 블록 어드레스를 비교한다. 만일, 외부로부터 입력되는 블록 어드레스(BLK_Add)가 배드 블록들 중 어느 하나와 일치하는 경우 비교 선택기(1310)는 대응하는 전환 신호들(/REPi) 중 어느 하나를 활성화하여 예비 블록이 선택되도록 한다. 그리고 외부로부터 입력되는 블록 어드레스(BLK_Add)를 행 프리-디코더(135)로 전달한다. 만일, 외부로부터 입력되는 블록 어드레스(BLK_Add)가 예비 블록 레지스터(133)에 저장된 예비 블록 어드레스들 중 어느 하나와 일치하는 경우, 비교 선택기(1310)는 예비 블록에 대응하는 배드 블록을 선택하도록 배드 블록 어드레스(BB_Add)를 행 프리-디코더(135)로 전달한다.
상술한, 블록 전환 제어부(131)의 전환 신호(/REPi) 및 배드 블록 어드레스(BB_Add)의 제공에 따라, 본 발명에 따른 배드 블록의 리맵핑이 구현될 수 있다.
도 6은 도 3에서 설명된 방법에 따라 리맵핑된 블록 어드레스 맵을 간략히 보여준다. 도 6을 참조하면, 제 1 매트(MAT1)에 포함되는 홀수 블록과 제 2 매트(MAT2)에 포함되는 짝수 블록에 의해서 플래시 메모리 장치(100)의 전체 블록이 구성된다. 그리고 배드 블록들은 어드레스의 역순으로 동일 매트 내의 지정된 예비 블록들과 전환된다. 도 3에 도시된 방법에 따라 블록 어드레스가 할당되고 배드 블록이 리맵핑되면, 배드 블록들은 특정 어드레스 부근에 집중적으로 분포된다. 즉, 배드 블록들은 지정된 예비 블록들 중 최상위 어드레스에 대응하는 블록들로부터 시작하여 배드 블록들 수만큼 카운트-다운된 어드레스까지 분포하게 될 것이다. 만일 전체 메모리 블록의 수가 2048개라 가정하는 경우, 블록 어드레스는 유효 블록 범위(170)와 예비 블록 범위(180)로 구분된다. 유효 블록 범위(170)에는 정상 블록들이 분포하는 어드레스 범위이다. 예비 블록 범위(180)는 본 발명의 배드 블록 리맵핑에 따라 배드 블록들의 어드레스가 할당될 수 있는 어드레스 범위이다. 예비 블록 범위(180)의 크기는 사용자의 목적에 따라 다양하게 변동가능하다.
유효 블록 범위(170)에는 메모리 블록들(MB0~MB2013)이 포함된다. 배드 블록의 리맵핑 이전에 유효 블록 범위(170)에 존재하는 배드 블록들의 어드레스는 블록 리맵핑에 의하여 예비 블록 범위(190)에 포함되는 정상 블록들의 어드레스와 교환된다. 특히, 제 1 매트(MAT1)에 존재하는 배드 블록의 어드레스는 제 1 매트(MAT1)의 예비 블록에 포함되는 블록 어드레스와 교환된다. 제 2 매트(MAT2)에 존재하는 배드 블록의 어드레스는 제 2 매트(MAT2)의 예비 블록에 포함되는 블록 어드레스와 교환된다. 따라서, 유효 블록 범위(170)에는 결함이 있는 메모리 블록이 존재하지 않는다. 플래시 메모리 장치(100, 도 2 참조)는 외부의 액세스 요청이 있을 경우, 유효 블록 범위(170)에 대응하는 메모리 블록을 할당함으로써 배드 블록으로의 액세스를 미연에 방지할 수 있다.
예비 블록 범위(180)에는 메모리 블록들(MB2014~2047)이 포함되며, 본 발명에 따른 블록 리맵핑에 의해서 최상위 블록으로부터 시작하여 역순으로 배드 블록들이 할당된다. 그러나, 제 1 매트(MAT1)에 포함되는 배드 블록의 수가 제 2 매트(MAT2)에 포함되는 배드 블록의 수보다 훨씬 많을 경우, 또는 그 반대의 경우도 있을 수 있다. 이 경우, 제 1 매트(MAT1)에 존재하는 짝수 어드레스에 대응하는 배드 블록들은 제 1 매트(MAT1)의 예비 블록들과 교환된다. 따라서, 예비 블록 범위(180)에는 짝수 어드레스의 배드 블록의 수가 홀수 어드레스의 배드 블록보다 많게 된다. 이런 경우, 예비 블록 범위(180)의 일부 구간에는 비연속적으로 배드 블록들이 분포할 수 있다. 하지만, 플래시 메모리 장치(100)에 존재하는 모든 배드 블록들이 예비 블록 범위(180)에 포함되는 것이 자명하다.
이상에서 설명된 본 발명에 따른 배드 블록의 리맵핑 방법에 따르면, 배드 블록들은 메모리 장치의 블록 어드레스들 중 최상위 어드레스로부터 역순으로 리맵핑된다. 따라서, 리페어되지 못한 배드 블록들은 예비 블록 범위(180)의 최상위 블록 어드레스로부터 역순으로 할당되며, 최상위 블록 어드레스 부근에 집중적으로 분포하게 될 것이다. 결국, 본 발명에 따라 배드 블록들이 리맵핑된 플래시 메모리 장치는 어드레스를 통해서 이루어지는 배드 블록의 관리에 효율성을 제공할 수 있다. 예를 들면, 플래시 메모리 장치의 배드 블록들은 예비 블록 영역(180)에 포함되는 블록들을 검색하는 것만으로도 검출이 가능하다.
도 7은 본 발명의 제 2 실시예를 보여주는 도면이다. 도 7을 참조하면, 본 발명의 메모리 장치는 적어도 2개의 매트(MAT)를 포함한다. 제 1 매트(MAT1)에 포함되는 메모리 블록들은 블록 어드레스 (MCB0~MCB1023)를 갖는다. 그리고 제 2 매트(MAT2)에 포함되는 메모리 블록들은 블록 어드레스 (MCB1024~MCB2047)를 갖는다. 각각의 매트에 존재하는 배드 블록들의 리맵핑 방법은 다음과 같다.
각각의 매트 내에 존재하는 배드 블록들의 블록 어드레스는 각 매트 내에 존재하는 예비 블록들의 어드레스와 교환된다. 제 1 매트(MAT1) 내의 배드 블록들의 어드레스는 예비 블록들(MCB1008~MCB1023) 중 최상위 블록 어드레스로부터 시작하여 역순으로 교환된다. 예를 들면, 제 1 매트(MAT1)에 존재하는 낮은 블록 어드레스의 배드 블록일수록 높은 블록 어드레스의 예비 블록과 교환된다. 즉, 제 1 매트(MAT1)에 존재하는 배드 블록들의 블록 어드레스가 (MCB2, MCB4, MCBk)라면, 각 각의 배드 블록들은 동일 매트 내의 예비 블록들 (MCB1023, MCB1022, MCB1021)로 전환된다. 배드 블록들 중 가장 낮은 블록 어드레스를 갖는 메모리 블록(MCB2)의 블록 어드레스는 제 1 매트(MAT1)에서 최상위 블록 어드레스를 갖는 예비 블록(MCB1023)과 교환된다. 그리고 제 1 매트(MAT1) 내에서 차순위로 낮은 블록 어드레스를 갖는 메모리 블록(MCB4)은 제 1 매트 내에서 차순위로 높은 블록 어드레스를 갖는 예비 블록(MCB1022)과 교환된다. 제 2 매트(MAT2)에 대응하는 배드 블록들의 블록 어드레스도 제 1 매트(MAT1)와 동일한 방식으로 제 2 매트(MAT2) 내의 예비 블록들과 교환된다.
이러한 매트 단위 배드 블록의 리맵핑은 각각의 매트에 대응하는 블록 리맵핑부(230, 260)의 설정을 통해서 구현된다. 블록 리맵핑부(230)의 설정 및 동작을 설명하는 것으로 제 1 매트(MAT1) 및 제 2 매트(MAT2)의 배드 블록들의 리맵핑 동작을 기술하기로 한다.
블록 어드레스(BLK_Add)가 입력되면, 블록 리맵핑부(230)는 블록 어드레스(BLK_Add)가 제 1 매트(MAT1)의 배드 블록들 중 어느 하나의 어드레스와 동일한지를 비교한다. 만일 블록 어드레스(BLK_Add)가 배드 블록들 중 어느 하나와 동일한 것으로 판정되면, 블록 리맵핑부(230)는 입력된 배드 블록의 선택을 차단하도록 블록 선택 신호(P, Q, R)를 생성한다. 그리고, 입력된 어드레스에 대응하는 배드 블록 대신에 선택되는 예비 블록들 중 어느 하나의 블록을 선택하도록 전환 신호(/REPi)들 중 어느 하나를 활성화한다. 이러한 동작을 구현하기 위하여, 블록 리맵핑부(230)는 도 3에서 도시된 구성들을 포함한다. 즉, 블록 리맵핑부(230)는 제 1 매트(MAT1)의 내부에 포함되는 배드 블록들의 블록 어드레스를 저장하는 저장 수단을 포함한다. 그리고, 블록 리맵핑부(230)는 각각의 배드 블록들과 전환되기 위한 예비 블록의 블록 어드레스를 저장하기 위한 저장 수단을 포함한다.
제 2 매트(MAT2)에 포함되는 배드 블록의 리맵핑을 위한 블록 리맵핑부(260)의 구성 및 설정은 블록 리맵핑부(230)에 준한다.
상술한 제 2 실시예에 따른 블록 리맵핑에 따르면, 배드 블록들은 각각의 매트에서 예비 블록들 중 최상위 블록 어드레스로부터 시작하여 역순으로 리맵핑된다. 따라서, 연속되는 블록 어드레스의 특정 구간에서 배드 블록들이 집중적으로 분포한다. 각 매트에 대응하는 배드 블록들은 각 매트에 대응하는 예비 블록 어드레스 범위에 분포하게 될 것이다.
도 8은 도 7의 배드 블록 전환 방식으로 리맵핑된 블록 어드레스 맵을 간략히 보여준다. 도 8을 참조하면, 제 1 매트(MAT1)에 포함되는 블록들(MCB0~MCB1023)과 제 2 매트(MAT2)에 포함되는 블록들(MCB1024~MCB2047)에 의해서 플래시 메모리 장치의 전체 블록이 구성된다. 그리고 배드 블록들은 동일 매트 내의 지정된 예비 블록들과 어드레스의 역순으로 대체된다. 도 7에 도시된 방식에 따라 블록 어드레스가 할당되고 배드 블록이 리맵핑되면, 배드 블록들은 각 매트들에 대응하는 어느 한 어드레스 범위에 집중된다. 각 매트들에 있어서, 배드 블록들이 각 매트들의 최상위 예비 블록으로부터 역순으로 교환되도록 리맵핑되면, 도 8과 같은 블록 어드레스 맵이 구성된다.
제 1 매트 범위(270)에는 블록 어드레스가 (MCB0~MCB1023)에 대응하는 메모 리 블록들이 포함된다. 그리고 제 1 매트 범위(270)는 정상 블록들이 분포하는 유효 블록 범위(271)와 배드 블록들이 할당될 수 있는 예비 블록 범위(272)를 포함한다. 유효 블록 범위(271)에는 메모리 블록들(MB0~MB1007)이 포함된다. 예비 블록 범위(272)에는 메모리 블록들(MB1008~MCB1023)이 포함되며, 블록 리맵핑에 의해서 최상위 블록으로부터 제 1 매트(MAT1)에 포함되는 배드 블록들이 리맵핑된다. 예를 들면, 제 1 매트(MAT1)에 4개의 배드 블록이 존재하는 것으로 가정하면, 배드 블록들 각각은 제 1 매트(MAT1)의 최상위 어드레스에 대응하는 메모리 블록으로부터 역순으로 전환된다. 따라서, 제 1 매트(MAT1)의 배드 블록(273)은 예비 블록들(MCB1020~MCB1023)에 리맵핑될 것이다.
제 2 매트 범위(280)에는 블록 어드레스가 (MCB1024~MCB2047)에 대응하는 메모리 블록들이 포함된다. 그리고 제 2 매트 범위(280)는 정상 블록들이 분포하는 유효 블록 범위(281)와 배드 블록들이 할당될 수 있는 예비 블록 범위(282)를 포함한다. 유효 블록 범위(281)에는 메모리 블록들(MB1024~MB2031)이 포함된다. 예비 블록 범위(282)에는 메모리 블록들(MB2032~MCB2047)이 포함되며, 블록 리맵핑에 의해서 최상위 블록으로부터 제 2 매트(MAT2)에 포함되는 배드 블록들이 할당된다. 예를 들면, 제 2 매트(MAT2)에 3개의 배드 블록이 존재하면, 각각의 배드 블록은 제 2 매트(MAT2)의 최상위 메모리 블록으로부터 역순으로 전환된다. 따라서, 제 2 매트(MAT2)의 배드 블록(283)은 예비 블록들(MCB2043~MCB2047)에 리맵핑될 것이다.
상술한 본 발명의 제 2 실시예의 블록 리맵핑 방법에 따르면, 배드 블록들의 어드레스는 각 매트에 할당되는 예비 블록 범위의 최상위 어드레스부터 역순으로 시작되는 어드레스 범위에 집중적으로 분포한다. 따라서, 배드 블록들은 예비 블록 영역(272, 282)에 포함되는 블록들을 검색하는 것으로도 검출이 가능하게 될 것이다.
도 9는 상술한 본 발명에 따른 배드 블록의 리맵핑 방법을 보여주는 순서도이다. 도 9를 참조하면, 본 발명에 따른 배드 블록의 리맵핑은 테스트 공정에서 이루어지며, 테스트 공정에서 설정된 배드 블록 어드레스와 예비 블록 어드레스는 플래시 메모리 장치의 부팅시에 적용된다. 이하, 배드 블록들의 리맵핑을 위한 제반 동작들이 상술한 도면들에 의거하여 설명될 것이다.
리페어되지 않는 배드 블록들은 블록 내의 특정 영역에 배드 블록임을 지시하는 데이터가 기입된다. 상술한 블록 내의 특정 영역만을 독출하는 것만으로 대응하는 블록이 배드 블록인지 정상 블록인지의 여부를 확인할 수 있다. 따라서, 테스트 장치는 상술한 특정 영역에 저장된 데이터가 배드 블록인 메모리 블록들을 제 1 매트(MAT1) 및 제 2 매트(MAT2)로부터 검출한다(S110). 테스트 장치는 상술한 배드 블록들을 각각 포함하는 매트 내의 예비 블록들로 블록 어드레스를 전환하기 위한 초기화 데이터를 생성한다. 즉, 제 1 매트(MAT1)에 포함되는 배드 블록들은 제 1 매트(MAT1)에 구비되는 예비 블록들의 어드레스와 교환되도록 초기화 데이터를 설정한다. 초기화 데이터는 상술한 배드 블록 레지스터(132)에 저장되는 배드 블록 어드레스와 예비 블록 레지스터(133)에 저장되는 예비 블록 어드레스이다. 배드 블록들과 블록 어드레스가 전환되는 예비 블록들은 허용 가능한 크기의 예비 블록 어드레스 범위의 최상위 어드레스로부터 시작하여 역순으로 할당된다. 따라서, 블록 리맵핑된 이후의 배드 블록들은 매트 내에서 특정 어드레스로부터 최상위 블록 어드레스까지 연속적으로 분포한다. 초기화 데이터는 본 발명의 제 1 실시예 또는 제 2 실시예를 따르도록 설정될 수 있다(S120). 플래시 메모리 장치는 초기화 동작 동안에 상술한 초기화 데이터를 배드 블록 레지스터(132) 및 예비 블록 레지스터(133)에 저장된다. 초기화 데이터의 저장에 따라, 본 발명의 배드 블록의 리맵핑 동작은 완료된다(S130). 그 이후에는 플래시 메모리 장치의 외부로부터 배드 블록의 검색이 이루어지면, 리맵핑된 블록 어드레스에 따라서, 배드 블록에 대한 정보를 외부로 제공하게 될 것이다. 즉, 특정 어드레스 범위에 연속적으로 배드 블록이 분포하게 되며, 외부에서는 상술한 특정 어드레스 범위만을 검색하는 것으로도 플래시 메모리 장치의 모든 배드 블록의 검색이 가능하다.
이러한 배드 블록의 리맵핑 동작에 따라, 플래시 메모리 장치를 액세스하는 사용자 또는 메모리 컨트롤러는 용이하게 배드 블록의 어드레스를 검색할 수 있다.
도 10은 본 발명의 플래시 메모리 장치를 구비하는 메모리 카드(300)의 일예를 간략히 도시한 블록도이다. 도 10을 참조하면, 고용량의 데이터 저장 능력을 지원하기 위한 메모리 카드(300)는 본 발명에 따른 플래시 메모리 장치(310)를 장착한다. 본 발명에 따른 메모리 카드(300)는 호스트(Host)와 플래시 메모리 장치(310) 간의 제반 데이터 교환을 제어하는 메모리 컨트롤러(320)를 포함한다. 플래시 메모리 장치(310)의 배드 블록들은 상술한 본 발명의 제 1 실시예 또는 제 2 실시예에 따라 매트 단위로 리맵핑된다. 따라서, 메모리 컨트롤러(320) 또는 호스트(Host)는 플래시 메모리 장치(310)의 모든 블록들을 스캔하지 않고도 셀 어레이 영역에 포함되는 배드 블록의 위치를 확인할 수 있다.
SRAM(321)은 프로세싱 유닛(322)의 동작 메모리로써 사용된다. 호스트 인터페이스(323)는 메모리 카드(300)와 접속되는 호스트의 데이터 교환 프로토콜을 구비한다. 에러 정정 블록(324)은 멀티 비트 플래시 메모리 장치(310)로부터 독출된 데이터에 포함되는 에러를 검출 및 정정한다. 메모리 인터페이스(325)는 본 발명의 플래시 메모리 장치(310)와 인터페이싱 한다. 프로세싱 유닛(322)은 메모리 컨트롤러(320)의 데이터 교환을 위한 제반 제어 동작을 수행한다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 카드(300)는 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
상술한 메모리 카드(300)에 따르면, 메모리 장치에 존재하는 배드 블록 정보를 제공받기 위하여 플래시 메모리 장치(310)에 포함되는 모든 메모리 블록들을 스캔하지 않아도 된다. 예비 블록 범위에 대응하는 블록 어드레스를 검색하는 것만으로도 리페어되지 못한 모든 배드 블록들의 어드레스가 제공될 수 있기 때문이다.
이상의 본 발명의 플래시 메모리 장치 및 메모리 카드 시스템에 따르면, 일부 블록 어드레스 범위만을 선택적으로 검색하는 것으로도 배드 블록에 대한 어드레스를 획득 또는 제공할 수 있다. 따라서, 플래시 메모리 장치 및 시스템의 퍼포먼스를 향상시킬 수 있다.
도 11은 본 발명에 따른 플래시 메모리 시스템을 장착하는 컴퓨팅 시스템(400)을 간략히 보여주는 블록도이다. 도 11을 참조하면, 모바일 기기나 데스크 톱 컴퓨터와 같은 정보 처리 시스템에 본 발명의 플래시 메모리 시스템(410)이 장착된다. 본 발명에 따른 컴퓨팅 시스템(400)은 메모리 컨트롤러(412) 및 플래시 메모리 장치(411)로 구성되는 플래시 메모리 시스템(410)과 각각 버스(460)에 전기적으로 연결된 중앙처리장치(430), 램(440), 유저 인터페이스(450), 전원(420)을 포함한다. 플래시 메모리 시스템(410)은 앞서 언급된 메모리 카드 또는 플래시 메모리 시스템과 실질적으로 동일하게 구성될 것이다. 플래시 메모리 장치(411)에는 유저 인터페이스(450)를 통해서 제공되거나 또는, 중앙처리장치(430)에 의해서 처리된 데이터가 메모리 컨트롤러(412)를 통해 저장된다. 여기서, 플래시 메모리 시스템(410)을 장착하는 호스트에 대응하는 중앙처리장치(430) 및 기타 구성들은 배드 블록의 리맵핑에 따라 신속하게 플래시 메모리 장치(411)에 액세스될 수 있다. 상술한 플래시 메모리 시스템(410)이 반도체 디스크 장치(SSD)로 구성될 수 있으며, 이 경우 시스템(400)의 부팅 속도가 획기적으로 빨라질 것이다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 시스템에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor:CIS), 모바일 디램 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명에 따른 플래시 메모리 장치 또는 메모리 시스템은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 또는 메모리 시스템은 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) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.