KR101963629B1 - 메모리 관리 시스템 및 그 방법 - Google Patents

메모리 관리 시스템 및 그 방법 Download PDF

Info

Publication number
KR101963629B1
KR101963629B1 KR1020160086017A KR20160086017A KR101963629B1 KR 101963629 B1 KR101963629 B1 KR 101963629B1 KR 1020160086017 A KR1020160086017 A KR 1020160086017A KR 20160086017 A KR20160086017 A KR 20160086017A KR 101963629 B1 KR101963629 B1 KR 101963629B1
Authority
KR
South Korea
Prior art keywords
area
spare
virtual
physical
virtual area
Prior art date
Application number
KR1020160086017A
Other languages
English (en)
Other versions
KR20180005844A (ko
Inventor
김선욱
김호권
전재영
최규현
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020160086017A priority Critical patent/KR101963629B1/ko
Priority to US15/641,670 priority patent/US10776227B2/en
Priority to CN201710552316.5A priority patent/CN107590031B/zh
Publication of KR20180005844A publication Critical patent/KR20180005844A/ko
Application granted granted Critical
Publication of KR101963629B1 publication Critical patent/KR101963629B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

본 발명은 메모리 관리 시스템 및 그 방법을 개시한다. 즉, 본 발명은 메모리의 결함을 복구하는 시스템에서 제한된 스페어 셀을 물리 영역과 가상 영역에 대해 최적으로 분배(또는 할당)함으로써, 메모리 칩의 수율을 높일 수 있다.

Description

메모리 관리 시스템 및 그 방법{Memory management system and method thereof}
본 발명은 메모리 관리 시스템 및 그 방법에 관한 것으로, 특히 메모리의 결함을 복구하는 시스템에서 제한된 스페어 셀을 물리 영역과 가상 영역에 대해 최적으로 분배(또는 할당)하고, 분배 시점의 K 비트의 위치 정보, M+N-K 비트의 위치 정보 및 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 스페어 셀의 할당 결과에 따라 결함 주소를 저장하는 메모리 관리 시스템 및 그 방법에 관한 것이다.
다수의 서브어레이(subarray)로 구성된 메모리 시스템에서는 서브어레이 단위로 스페어 로우(spare row), 스페어 컬럼(spare column) 등을 두고, 결함 복구(fault recovery)를 실행한다.
이러한 시스템에서는 특정 서브어레이에 결함이 많이 발생할 경우, 결함 위치에 대한 정보를 저장할 수 있는 저장 공간이 부족하여 기존의 스페어 셀 매핑 정보를 담는 구조로는 복구할 수 없는 상황이 발생한다.
또한, 하나의 메모리 칩이 복수의 더 작은 크기의 서브어레이로 구성된 경우, 결함이 발생한 칩에 대해서, 서브어레이 단위로 복구를 실시한다.
일부 서브어레이에 많은 결함이 발생하고 다른 서브어레이는 결함이 적게 발생한다면, 결함을 스페어 셀로 할당하여 치료할 때, 결함이 많이 발생한 서브어레이 때문에 칩의 복구 확률이 낮아지며, 반대로 결함이 적게 발생한 서브어레이에는 결함 정보에 대한 저장 공간이 남아 있을 수 있다.
한국공개특허 제10-2014-0015591호 [명칭: 동적 언어들의 해시테이블들에 대한 하드웨어 지원]
본 발명의 목적은 메모리의 결함을 복구하는 시스템에서 제한된 스페어 셀을 물리 영역과 가상 영역에 대해 최적으로 분배(또는 할당)하는 메모리 관리 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 다른 목적은 서브어레이가 단위 영역의 물리 영역이 되고, 이를 재조합한 가상 영역을 각각 별개의 스페어 셀에 최적으로 분배하여 결함 복구를 최대화하는 메모리 관리 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 가상 영역의 설계 목표값뿐만 아니라 물리 영역의 설계 목표값을 동시에 만족하는 스페어 셀의 할당을 제공하고, 할당 시점의 K 비트의 위치 정보, M+N-K 비트의 위치 정보 및 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 스페어 셀의 할당 결과에 따라 결함 주소를 저장하는 메모리 관리 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 패스트 컬럼-우선(fast column-first) 알고리즘과 패스트 로우-우선(fast row-first) 알고리즘을 통해 선택된 가상 영역에 대해 컬럼 또는 로우를 사용하여 반복적으로 복구를 수행한 후, 다음 가상 영역에 대한 복구를 수행하는 메모리 관리 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 실시예에 따른 메모리 관리 방법은 분석 장치를 통해 물리 영역과 가상 영역의 결함을 서로 다른 스페어 셀(spare cell)을 통해 복구(repair)하는 메모리 관리 방법에 있어서, 상기 분석 장치를 통해, 상기 물리 영역에서 스페어 로우(spare row)의 주소로 결함 주소를 대체하여 결함을 복구하는 단계; 및 상기 분석 장치를 통해, 상기 가상 영역에서 스페어 컬럼(spare column)의 주소로 결함 주소를 대체하여 결함을 복구하는 단계를 포함할 수 있다.
본 발명의 실시예에 따른 메모리 관리 방법은 메모리 관리 방법에 있어서, 분석 장치를 통해, 가상 영역에서 우선적으로 결함을 복구하는 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 가상 영역에서 우선적으로 결함을 복구하는 단계는, 상기 분석 장치를 통해, 물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 생성하는 단계; 상기 분석 장치를 통해, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하는 단계; 상기 분석 장치를 통해, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같은지 여부를 확인하는 단계; 및 상기 확인 결과, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 클 때, 상기 분석 장치를 통해, 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 상기 가상 영역(VQ)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단하는 단계를 포함하며, 상기 Q는, 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차가 최대값을 갖는 가상 영역의 값일 수 있다.
본 발명과 관련된 일 예로서 상기 결함 정보 관리 테이블은, 상기 물리 영역(PX)과 상기 가상 영역(VY)에 대해서, 결함 개수(fX ,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 상기 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY) 및 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)의 관계를 나타내며, 상기 X는 물리 영역을 나타내고, Y는 가상 영역을 나타낼 수 있다.
본 발명과 관련된 일 예로서 상기 확인 결과, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때, 상기 분석 장치를 통해, 결함 복구가 성공적으로 완료된 것으로 확인하고, 결함 복구 완료 시점에서의 상기 가상 영역과 관련한 K 비트의 위치 정보, 상기 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하는 단계를 더 포함하며, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 가상 기본영역의 키 값에 대응하는 '0'과, 가상 서브영역의 키 값에 대응하는 '1'로 구성하며, 상기 M, N 및 K는 자연수이고, 상기 K는 M+N보다 작거나 같을 수 있다.
본 발명과 관련된 일 예로서 상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 사용 가능한 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과할 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 가상 영역(VQ)의 모든 물리 영역(PX)에 대해서, (PX,VQ)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인하는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA ,Q)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키는 단계; 상기 분석 장치를 통해, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키는 단계; 및 상기 분석 장치를 통해, 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하는 과정으로 복귀하여, 스페어 로우를 할당하는 과정을 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때까지 반복 수행하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 가상 영역에서 우선적으로 결함을 복구하는 단계는, 상기 분석 장치를 통해, 물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 생성하는 단계; 상기 분석 장치를 통해, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차이 값(AY-CY)을 각각 연산하는 단계; 상기 분석 장치를 통해, 상기 연산된 차이 값(AY-CY)을 근거로 상기 연산된 차이 값(AY-CY) 및 상기 차이 값(AY-CY)에 대응하는 가상 영역(VY)을 정렬하는 단계; 상기 분석 장치를 통해, 상기 정렬된 순서대로, 결함이 복구되지 않은 가상 영역(VD)을 선택하는 단계; 상기 분석 장치를 통해, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 단계; 및 상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 클 때, 상기 분석 장치를 통해, 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 상기 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단하는 단계를 포함하며, 상기 D는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차 값을 이용하여 가상 영역을 내림 차순으로 정렬하고, 정렬된 순서대로 결함이 복구되지 않은 가상 영역을 선택한 값일 수 있다.
본 발명과 관련된 일 예로서 상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 가상 영역(VD)의 모든 물리 영역(PX)에 대해서, (PX,VD)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인하는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)의 (fA ,D)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키는 단계; 상기 분석 장치를 통해, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키는 단계; 및 상기 분석 장치를 통해, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 상기 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정으로 복귀하여, 상기 선택된 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 상기 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 상기 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때까지 반복 수행하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때, 상기 분석 장치를 통해, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 2차로 확인하는 단계; 상기 2차 확인 결과, 상기 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때, 상기 분석 장치를 통해, 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하는 단계; 상기 2차 확인 결과, 상기 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 클 때, 상기 분석 장치를 통해, 상기 정렬된 가상 영역(VD) 중에서 결함이 복구되지 않은 다음 순서의 가상 영역을 선택하는 단계를 더 포함하며, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 가상 기본영역의 키 값에 대응하는 '0'과, 가상 서브영역의 키 값에 대응하는 '1'로 구성하며, 상기 M, N 및 K는 자연수이고, 상기 K는 M+N보다 작거나 같을 수 있다.
본 발명과 관련된 일 예로서 사용 가능한 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과할 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 메모리 관리 시스템은 메모리 관리 시스템에 있어서, 물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 저장하는 저장 매체; 및 가상 영역에서 우선적으로 결함을 복구하는 분석 장치를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 분석 장치는, 물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 생성하고, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하고, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같은지 여부를 확인하고, 상기 확인 결과, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 클 때, 상기 가상 영역(VQ)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단하며, 상기 Q는, 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차가 최대값을 갖는 가상 영역의 값일 수 있다.
본 발명과 관련된 일 예로서 상기 분석 장치는, 상기 확인 결과, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때, 결함 복구가 성공적으로 완료된 것으로 확인하고, 결함 복구 완료 시점에서의 상기 가상 영역과 관련한 K 비트의 위치 정보, 상기 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하며, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 가상 기본영역의 키 값에 대응하는 '0'과, 가상 서브영역의 키 값에 대응하는 '1'로 구성하며, 상기 M, N 및 K는 자연수이고, 상기 K는 M+N보다 작거나 같을 수 있다.
본 발명과 관련된 일 예로서 상기 분석 장치는, 상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료할 수 있다.
본 발명과 관련된 일 예로서 상기 분석 장치는, 사용 가능한 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과할 때, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료할 수 있다.
본 발명과 관련된 일 예로서 상기 분석 장치는, 상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 가상 영역(VQ)의 모든 물리 영역(PX)에 대해서, (PX,VQ)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하고, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인하고, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA,Q)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키고, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키고, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키고, 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하는 과정으로 복귀하여, 스페어 로우를 할당하는 과정을 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때까지 반복 수행할 수 있다.
본 발명의 실시예에 따른 메모리 관리 방법은 메모리 관리 방법에 있어서, 분석 장치를 통해, 물리 영역에서 우선적으로 결함을 복구하는 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 물리 영역에서 우선적으로 결함을 복구하는 단계는, 상기 분석 장치를 통해, 물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 생성하는 단계; 상기 분석 장치를 통해, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하는 단계; 상기 분석 장치를 통해, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단하는 단계; 및 상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 모든 가상 영역에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 상기 가상 영역에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 확인하는 단계를 포함하며, 상기 Q는, 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차가 최대값을 갖는 가상 영역의 값일 수 있다.
본 발명과 관련된 일 예로서 상기 확인 결과, 상기 모든 가상 영역에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 상기 가상 영역에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때, 상기 분석 장치를 통해, 결함 복구가 성공적으로 완료된 것으로 확인하고, 결함 복구 완료 시점에서의 상기 가상 영역과 관련한 K 비트의 위치 정보, 상기 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하는 단계를 더 포함하며, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 가상 기본영역의 키 값에 대응하는 '0'과, 가상 서브영역의 키 값에 대응하는 '1'로 구성하며, 상기 M, N 및 K는 자연수이고, 상기 K는 M+N보다 작거나 같을 수 있다.
본 발명과 관련된 일 예로서 상기 확인 결과, 상기 모든 가상 영역에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 상기 가상 영역에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 클 때, 상기 분석 장치를 통해, 상기 가상 영역(VY)에서의 사용 가능한 스페어 로우만으로는 복구가 불가능한 상태로 판단하여, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 가상 영역의 모든 물리 영역(PX)에 대해서), (PX,VQ)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인하는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA ,Q)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키는 단계; 상기 분석 장치를 통해, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키는 단계; 및 상기 분석 장치를 통해, 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하는 과정으로 복귀하여, 상기 스페어 로우를 할당하는 과정을 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 0일 때까지 반복 수행하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 물리 영역에서 우선적으로 결함을 복구하는 단계는, 상기 분석 장치를 통해, 물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 생성하는 단계; 상기 분석 장치를 통해, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차이 값(AY-CY)을 각각 연산하는 단계; 상기 분석 장치를 통해, 상기 연산된 차이 값(AY-CY)을 근거로 상기 연산된 차이 값(AY-CY) 및 상기 차이 값(AY-CY)에 대응하는 가상 영역(VY)을 정렬하는 단계; 상기 분석 장치를 통해, 상기 정렬된 순서대로, 결함이 복구되지 않은 가상 영역(VD)을 선택하는 단계; 상기 분석 장치를 통해, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 단계; 상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 클 때, 상기 분석 장치를 통해, 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 상기 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 1차로 판단하는 단계; 상기 1차 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 가상 영역(VD)의 모든 물리 영역(PX)에 대해서, (PX,VD)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하는 단계; 및 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인하는 단계를 포함하며, 상기 D는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차 값을 이용하여 가상 영역을 내림 차순으로 정렬하고, 정렬된 순서대로 결함이 복구되지 않은 가상 영역을 선택한 값일 수 있다.
본 발명과 관련된 일 예로서 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)의 (fA ,D)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키는 단계; 상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키는 단계; 상기 분석 장치를 통해, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키는 단계; 및 상기 분석 장치를 통해, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 상기 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정으로 복귀하여, 상기 선택된 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 상기 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 상기 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때까지 반복 수행하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 1차 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때, 상기 분석 장치를 통해, 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 2차로 확인하는 단계; 상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때, 상기 분석 장치를 통해, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 2차로 판단하는 단계; 상기 2차 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 정렬된 순서대로, 결함이 복구되지 않은 다음 순서의 가상 영역(VD)을 선택하는 단계; 상기 2차 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하는 단계; 및 상기 2차 확인 결과, 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 클 때, 상기 분석 장치를 통해, 상기 정렬된 모든 가상 영역(VY) 중에서 결함이 복구되지 않은 가상 영역(VD)을 선택하는 과정으로 복귀하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 사용 가능한 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과할 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료하는 단계를 더 포함할 수 있다.
본 발명은 메모리의 결함을 복구하는 시스템에서 제한된 스페어 셀을 물리 영역과 가상 영역에 대해 최적으로 분배(또는 할당)함으로써, 메모리 칩의 수율을 높일 수 있는 효과가 있다.
또한, 본 발명은 서브어레이가 단위 영역의 물리 영역이 되고, 이를 재조합한 가상 영역을 각각 별개의 스페어 셀에 최적으로 분배하여 결함 복구를 최대화함으로써, 시스템의 목적에 따라 여분의 스페어 셀의 활용 가능성을 높일 수 있는 효과가 있다.
또한, 본 발명은 가상 영역의 설계 목표값뿐만 아니라 물리 영역의 설계 목표값을 동시에 만족하는 스페어 셀의 할당을 제공하고, 할당 시점의 K 비트의 위치 정보, M+N-K 비트의 위치 정보 및 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 스페어 셀의 할당 결과에 따라 결함 주소를 저장함으로써, 물리 영역과 가상 영역에 대해서 각각 최소의 스페어 셀을 사용하여 최적의 효율을 제공할 수 있는 효과가 있다.
또한, 본 발명은 패스트 컬럼-우선(fast column-first) 알고리즘과 패스트 로우-우선(fast row-first) 알고리즘을 통해 선택된 가상 영역에 대해 컬럼 또는 로우를 사용하여 반복적으로 복구를 수행한 후, 다음 가상 영역에 대한 복구를 수행함으로써, 전체 복구 시간을 단축시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 복수의 단위 영역으로 구성된 정보 저장 테이블과, 최적의 정보 저장을 찾기 위한 분석 장치로 구성된 전체 분석 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 정보 저장 위치를 해싱하는 단위인 물리 기본영역을 복수의 동일한 크기의 물리 서브영역으로 나눈 예를 나타낸 도이다.
도 3 내지 도 5는 본 발명의 실시예에 따른 결함 블록을 포함하는 4×4 메모리 블록을 이용하여 4-way set-associative 캐시를 구현할 때, 가장 최적의 캐시 메모리를 구성하는 예시를 나타낸 도이다.
도 6 내지 도 8은 DRAM과 같은 메모리 칩에서 결함 주소를 저장하는 단계에 본 발명의 실시예를 적용한 예시를 나타낸 도이다.
도 9는 본 발명의 실시예에 따른 결함 셀을 최적의 스페어 셀에 할당하기 위해 사용하는 결함 정보 관리 테이블을 나타낸 도이다.
도 10은 본 발명의 실시예에 따른 컬럼-우선(column-first)을 근거로 한 메모리 관리 방법을 나타낸 흐름도이다.
도 11 내지 도 27은 본 발명의 실시예에 따른 컬럼-우선 알고리즘을 이용하여 결함 셀에 대한 복구를 수행하는 예를 나타낸 도이다.
도 28은 본 발명의 실시예에 따른 로우-우선(row-first)을 근거로 한 메모리 관리 방법을 나타낸 흐름도이다.
도 29는 본 발명의 실시예에 따른 패스트 컬럼-우선(fast column-first)을 근거로 한 메모리 관리 방법을 나타낸 흐름도이다.
도 30은 본 발명의 실시예에 따른 차이 값을 정렬한 상태를 나타낸 도이다.
도 31 내지 도 46은 본 발명의 실시예에 따른 패스트 컬럼-우선 알고리즘을 이용하여 결함 셀에 대한 복구를 수행하는 예를 나타낸 도이다.
도 47은 본 발명의 실시예에 따른 패스트 로우-우선(fast row-first)을 근거로 한 메모리 관리 방법을 나타낸 흐름도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 복수의 단위 영역으로 구성된 정보 저장 테이블과, 최적의 정보 저장을 찾기 위한 분석 장치로 구성된 전체 분석 시스템(10)의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 분석 시스템(10)은 저장 매체(100) 및 분석 장치(200)로 구성된다. 도 1에 도시된 분석 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 분석 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 분석 시스템(10)이 구현될 수도 있다.
상기 저장 매체(100)는 DRAM(Dynamic Random Access Memory), 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory: ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), PCM(Phase Change Memory), MRAM(Magnetorresistance Random Access Memory) 등의 저장매체 중 어느 하나일 수 있다.
또한, 상기 저장 매체(100)는 정보 저장 테이블(110)을 포함한다.
상기 정보 저장 테이블(110)은 물리 영역과 관련한 정보(또는 물리 영역과 관련한 주소 정보), 가상 영역과 관련한 정보(또는 가상 영역과 관련한 주소 정보), 데이터(또는 정보) 등으로 구성한다. 여기서, 상기 물리 영역과 관련한 정보는 물리 기본영역의 위치 정보, 물리 서브영역의 위치 정보 등을 포함한다. 또한, 상기 가상 영역과 관련한 정보는 가상 기본영역의 위치 정보, 가상 서브영역의 위치 정보 등을 포함한다. 이때, 상기 데이터(또는 정보)는 결함 정보, 결함의 위치 정보, 라우팅 정보, 패킷 정보 등을 포함한다. 또한, 상기 데이터(또는 정보)는 분석 시스템(10)이 적용되는 분야(예를 들어, 메모리 분야, 데이터 통신 분야 등 포함)에 따라 다를 수 있으며, 설계자의 설계에 따라 변경되어 적용할 수 있다. 예를 들어, 상기 데이터(또는 정보)는 리던던트 셀을 이용한 메모리 리페어를 적용하는 메모리 시스템의 경우, 해당 메모리 시스템에 제공된 스페어 셀과 교체되는 결함 셀의 위치(또는 위치 정보)일 수 있다.
상기 분석 장치(200)는 상기 분석 시스템(10)의 전반적인 제어 기능을 수행한다.
또한, 상기 분석 장치(200)는 상기 분석 시스템(10)의 최적의 정보 저장 위치(또는 미리 설정된 목표값을 만족하는 K 비트의 위치 정보 및 M+N-K 비트의 위치 정보)를 찾고, 상기 찾은 최적의 정보 저장 위치에 해당하는 K 비트의 위치 정보 및 M+N-K 비트의 위치 정보를 상기 분석 시스템(10)에 할당해주는 기능을 수행한다.
또한, 상기 분석 장치(200)는 상기 정보 저장 테이블(110)에서, 정보 저장 위치를 해싱하는 정보 관리 단위 영역(또는 단위 영역)을 물리 기본영역으로 매핑한다. 여기서, 상기 정보 저장 테이블(110)은 저장 매체(100) 내에 포함되며, 복수의 단위 영역으로 구성한다.
이때, DRAM, PCM, MRAM, SRAM 등과 같은 메모리 시스템에서 정보를 저장하고 관리하고자 하는 기본 영역이 뱅크(bank)일 경우, 상기 분석 장치(200)는 한 뱅크 내의 모든 로우(row)를 하나로 합치고, 상기 합쳐진 모든 로우를 2M개의 물리 기본영역으로 나누고, 상기 단위 영역을 상기 나뉜 2M개의 물리 기본영역으로 매핑할 수도 있다.
또한, 상기 저장 매체(100) 내의 물리 기본영역이 관리를 위한 2M개가 아닌 경우, 상기 분석 장치(200)는 상기 저장 매체(100) 내의 복수의 단위 영역을 2M개로 만든 후, 상기 2M개의 단위 영역을 상기 물리 기본영역으로 매핑할 수도 있다. 여기서, 상기 M은 자연수일 수 있다.
즉, 상기 분석 장치(200)는 설계자의 설계에 따른 2M개의 단위 영역을 구성하기 위해서, 단위 영역의 개수가 2M개가 아닌 경우, 기존의 단위 영역을 설계자의 설계에 따른 2M개의 개수를 가지는 새로운 단위 영역으로 매핑하는 전처리 과정을 수행하고, 2M개의 개수를 가지는 상기 전처리된 단위 영역을 상기 물리 기본영역으로 매핑할 수도 있다.
또한, 상기 분석 장치(200)는 상기 저장 매체(100)(또는 상기 정보 저장 테이블(110)) 내의 복수의 물리 기본영역을 동일한 크기의 복수의 물리 서브영역으로 각각 분할한다.
즉, 상기 분석 장치(200)는 상기 저장 매체(100)(또는 상기 정보 저장 테이블(110)) 내의 2M개의 물리 기본영역을 2N개의 물리 서브영역으로 각각 분할한다. 여기서, 상기 N은 자연수일 수 있다. 이때, 하나의 물리 기본영역을 N개의 물리 서브영역으로 나누어 해싱하는 경우, 상기 물리 서브영역을 인덱싱하기 위해서는 추가 비트가 필요할 수 있다.
또한, 상기 분석 장치(200)는 2M+N개로 구성된 M+N 비트로 인덱싱되는 복수의 물리 서브영역에 대해서, 복수의 물리 서브영역을 조합(또는 구성)하여, 2K개의 가상 기본영역을 생성한다. 이때, 상기 K는 자연수이고, M+N보다 작거나 같을 수 있다. 여기서, 물리 기본영역에 접근하기 위한 비트가 M 비트이고, 물리 서브영역에 접근하기 위한 비트가 N 비트인 경우, 가상 기본영역을 생성하기 위해서 조합 가능한 경우의 수는 M+ NCM +N-K개가 된다. 또한, 상기 K의 크기는 상기 정보 저장 테이블(110)을 접근하기 위한 비트 수일 수 있다.
또한, 상기 분석 장치(200)는 상기 생성된 2K개의 가상 기본영역을 각각 동일한 크기의 2M+N-K개의 가상 서브영역으로 분할(또는 재설정)한다.
즉, 상기 분석 장치(200)는 물리 서브영역을 조합하여, 2M+N개로 구성된 M+N 비트 중에서, 미리 설정된 최상위 비트에서 최하위 비트에 대해 미리 설정된 비트 단위로 가상 기본영역의 키 값을 설정하고, 상기 M+N 비트 중에서 상기 가상 기본영역의 키 값으로 설정되고 남은 비트(또는 남은 영역)를 가상 서브영역의 키 값으로 설정하여, 전체 가상 영역의 키를 구성한다. 여기서, 상기 분석 장치(200)는 상기 가상 영역의 키(또는 전체 가상 영역의 키)를 구성하기 위해서, 상기 가상 기본영역의 키 값을 얻기 위한 K 비트의 위치 정보와, 상기 가상 서브영역의 키 값을 얻기 위한 M+N-K 비트의 위치 정보를 각각 생성한다.
이와 같이, 상기 분석 장치(200)는 상기 M+N 비트 중에서, K 비트의 위치 정보를 이용하여 가상 기본영역의 키 값을 얻고(또는 설정하고), 상기 M+N 비트 중에서 상기 가상 기본영역의 키 값으로 설정되고 남은 비트의 위치 정보를 이용하여 가상 서브영역의 키 값을 얻을 수 있는 해시 함수를 구성할 수 있다. 여기서, 상기 해시 함수는 물리 영역 주소를 근거로 가상 영역과 관련한 위치 정보(예를 들어 K 비트의 위치 정보, M+N-K 비트의 위치 정보 등 포함)를 제공한다.
또한, 상기 분석 장치(200)는 상기 임시로 조합된(또는 구성된) 가상 기본영역(또는 가상 기본영역의 조합) 내의 저장할 정보의 수(또는 조합된/재조합된 정보의 수)가 미리 설정된 목표값을 만족하는지 여부를 확인(또는 판단)한다. 여기서, 상기 목표값은 저장할 정보에 대응하여 미리 설정된 값(또는 해당 저장할 정보를 만족시키기 위한 값)으로, 리던던트 셀(redundant cell)을 이용한 메모리 리페어(또는 메모리 복구)를 적용하는 메모리 시스템의 경우, 해당 메모리 시스템에 제공된 미리 설정된 사용 가능한(또는 해당 메모리 시스템에서 사용 가능한) 스페어 셀(spare cell)의 수(예를 들어 스페어 로우(spare row)의 수, 스페어 컬럼(spare column)의 수 등 포함)일 수 있다. 즉, 상기 목표값은 상기 저장할 정보에 대응하여 미리 설정된 값으로 매핑된 모든 물리 기본영역에 사용가능한 동일한 리소스의 수일 수 있다. 또한, 결함 메모리 블록을 회피하는 메모리 시스템의 경우, 상기 목표값은 상기 메모리 시스템의 모든 물리 기본영역에 사용가능한 동일한 메모리 블록의 수일 수 있다.
확인 결과(또는 판단 결과), 상기 조합된(또는 구성된/생성된) 가상 기본영역(또는 가상 기본영역의 조합) 내의 저장할 정보의 수가 미리 설정된 목표값을 만족하는 경우, 상기 분석 장치(200)는 M+N 비트 중에서, 해당 목표값을 만족하는 해당 가상 기본영역과 관련한 K 비트의 위치 정보와, 해당 목표값을 만족하는 해당 가상 서브영역과 관련한 M+N-K 비트의 위치 정보를 상기 저장 매체(100) 내의 미리 설정된(또는 미리 할당된) 저장 영역에 저장한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다.
즉, 상기 조합된(또는 구성된/생성된) 가상 기본영역(또는 가상 기본영역의 조합) 내의 저장할 정보의 수가 미리 설정된 목표값을 만족하는 경우, 상기 분석 장치(200)는 M+N 비트 중에서, 해당 목표값을 만족하는 가상 기본영역에 대응하는 K 비트의 위치를 생성하고, 해당 목표값을 만족하는 가상 서브영역에 대응하는 M+N-K 비트의 위치를 생성한다. 또한, 상기 분석 장치(200)는 상기 생성된 K 비트의 위치(또는 K 비트의 위치 정보) 및 상기 생성된 M+N-K 비트의 위치(또는 M+N-K 비트의 위치 정보)를 벡터 형태로 상기 저장 매체(100) 내의 미리 설정된 저장 영역에 저장한다.
또한, 상기 분석 장치(200)는 상기 저장 매체(100) 내의 미리 설정된 저장 영역에 저장된 K 비트의 위치 정보(또는 목표값을 만족하는 해당 가상 기본영역과 관련한 K 비트의 위치 정보) 및 M+N-K 비트의 위치 정보(또는 목표값을 만족하는 해당 가상 서브영역과 관련한 M+N-K 비트의 위치 정보)를 근거로, 상기 정보 저장 테이블(110)을 성공적으로 관리할 수 있는 것으로 판단하며, 상기 정보 저장 테이블(110)에 상기 가상 영역의 위치 정보(또는 상기 가상 영역에 대한 위치 정보)에 대응하는 데이터를 저장한다. 여기서, 상기 데이터(또는 정보)는 결함 정보, 결함의 위치 정보, 라우팅 정보, 패킷 정보 등을 포함한다. 또한, 상기 데이터(또는 정보)는 분석 시스템(10)이 적용되는 분야(예를 들어, 메모리 분야, 데이터 통신 분야 등 포함)에 따라 다를 수 있으며, 설계자의 설계에 따라 변경되어 적용할 수 있다. 예를 들어, 상기 데이터(또는 정보)는 리던던트 셀을 이용한 메모리 리페어를 적용하는 메모리 시스템의 경우, 해당 메모리 시스템에 제공된 스페어 셀과 교체되는 결함 셀의 위치(또는 위치 정보)일 수 있다.
또한, 확인 결과(또는 판단 결과), 상기 조합된(또는 구성된/생성된) 가상 기본영역(또는 가상 기본영역의 조합) 내의 저장할 정보의 수가 미리 설정된 목표값을 만족하지 않은 경우, 상기 분석 장치(200)는 상기 조합 가능한 경우의 수(예를 들어 M+ NCM +N-K) 중에서 앞서 조합된 경우(또는 상기 해싱 방법에 따라 조합된 복수의 경우/재조합된 복수의 경우)를 제외하고, 미리 설정된 해싱 방법에 따라(또는 미리 설정된 해시 함수를 근거로/다른 K 비트의 위치에 대하여) 상기 복수의 물리 서브영역을 재조합하여 재조합된 가상 기본영역을 확인하고, 확인된 재조합된 가상 기본영역 내의 저장할 정보의 수가 상기 미리 설정된 목표값을 만족하는지 여부를 확인하는 과정을 반복하여 수행한다.
이와 같이, 상기 분석 장치(200)는 상기 복수의 물리 서브영역에 대해서 모든 구성 가능한 조합에서의 가상 기본영역이 설계하고자 하는 목표값을 만족하는 첫 번째 물리 서브영역의 조합을 확인한다.
또한, M+N 비트 중 모든 K 비트의 위치 조합에 대하여 상기 목표값을 만족하지 않을 경우, 상기 분석 장치(200)는 상기 데이터를 저장할 수 없는 것(또는 상기 정보 저장 테이블(110)을 성공적으로 관리하지 못하는 것)으로 판단하며, 전체 과정을 종료한다.
도 3 내지 도 5는 본 발명의 실시예에 따른 결함 블록을 포함하는 4×4 메모리 블록을 이용하여 4-way set-associative 캐시를 구현할 때, 가장 최적의 캐시 메모리를 구성하는 예시를 나타낸 도이다. 전체 16개의 메모리 블록에서 3개의 블록에 오류가 있으므로, 4-way set-associative 캐시를 구성할 때, 각 셋(set)에 1개의 오류를 할당하게 하는 것이 목표값(또는 설계 목표값)이 된다.
또한, 4-way set-associative 캐시이므로, K는 2가 된다.
또한, 상기 도 3에 도시된 바와 같이, 4-way 캐시 메모리를 구성하고자 하는 경우, 상기 분석 장치(200)는 로우 주소(row address)로 구성된 단위 영역을 물리 기본영역으로 매핑하여, 물리 기본영역을 4개의 물리 기본영역으로 구성하고, 각 물리 기본영역을 4개의 물리 서브영역으로 구성한다.
따라서, 상기 분석 장치(200)는 물리 서브영역에 접근하기 위하여 물리 기본영역에 접근하는 상위 2 비트와 접근된 물리 기본영역 내의 물리 서브영역에 접근하기 위한 하위 2 비트의 총 4 비트로 해싱을 적용한다.
또한, 상기 도 4에 도시된 바와 같이, 가상 기본영역(또는 물리 기본영역)으로 해싱하는 경우, 셋 0(set 0)에 대한 접근 시 3개의 결함 블록이 할당되기 때문에 목표값을 만족하지 못한다.
또한, 상기 도 5에 도시된 바와 같이, 가상 기본영역을 해싱하기 위하여 물리 서브영역에 접근하는 4 비트 중에서, 하위 2 비트를 가상 기본영역에 접근하기 위한 주소로 사용하고(또는 K 비트의 위치 정보), 상위 2 비트를 가상 기본영역 내의 가상 서브영역에 접근하기 위한 주소로 사용하면(또는 M+N-K 비트의 위치 정보), 각 가상 기본영역에 결함 블록이 하나씩 발생한 것으로 관리됨으로써, 상기 목표값을 만족시킬 수 있다. 결과적으로, 전체적인 시스템의 성능 저하를 최소화시킬 수 있어 최적의 성능을 발휘하도록 캐시 메모리를 구성할 수 있다.
도 6 내지 도 8은 DRAM과 같은 메모리 칩에서 결함 주소를 저장하는 단계에 본 발명의 실시예를 적용한 예시를 나타낸 도이다.
또한, 상기 도 6에 도시된 바와 같이, DRAM 메모리 칩은 다수의 어레이들로 구성한다.
또한, 상기 어레이는 다수의 더 작은 크기의 서브어레이들로 구성한다.
이러한 구성의 메모리 칩에서 결함이 발생하는 경우, 결함이 난 주소를 저장 및 관리하며 리페어를 수행함에 있어서, 리페어는 하나 또는 복수의 서브어레이별로 이루어진다.
따라서, 기존의 경우 어레이 내에서 결함 주소의 저장 공간이 남아있는 다른 서브어레이가 있더라도 사용할 수 없었지만, 본 발명의 실시예를 적용하면, 어레이 내에 남아있는 다른 서브어레이의 결함 주소 저장 공간을 활용하여 해당 메모리 내의 저장 공간을 계속하여 사용할 수 있다.
또한, 상기 도 6에 도시된 DRAM 메모리 칩을 본 발명의 실시예에 적용하고자 하는 경우, 어레이 내의 서브어레이가 본 발명의 단위 영역이 되며, 상기 단위 영역이 물리 기본영역이 되며, 상기 물리 기본영역 내의 물리 서브영역은 서브어레이를 물리 서브영역의 개수로 나눈 것이다.
또한, 물리 기본영역별로 결함이 관리되고 치료(또는 복구)되므로 결함 주소를 관리하기 위한 정보 저장 테이블(110)의 엔트리 수는 물리 기본영역의 수와 같고, 결과적으로 K는 2가 된다.
또한, 상기 어레이 내의 서브어레이의 크기가 다른 경우, 이를 하나로 합하고, 상기 합한 서브어레이를 2M개의 가상 서브어레이로 나누고, 상기 나눈 가상 서브어레이를 물리 서브어레이로 매핑할 수 있다.
또한, 하나의 서브어레이가 결함을 리페어할 수 있는 수가 2개라고 가정할 때, 2가 목표값이 되고, 상기 도 7에 나타낸 물리 기본영역 0(또는 서브어레이 0) 안에는 F0, F1 및 F2 주소에서 총 3개의 결함이 발생한 것이므로, 서브어레이 0에 대해 리페어할 수 있는 2개가 넘어가게 된다.
즉, 상기 도 7에 나타낸 바와 같이, 물리 기본영역당 2개씩 리페어할 수 있고 물리 기본영역이 총 4개이므로 최대 8개까지 결함 주소를 관리할 수 있음에도, 결함의 수가 F0 ~ F5 까지 총 6개만 있는 상태에서 리페어할 수 없는 경우가 된다.
이와 같이, 상기 도 7의 경우, 각 물리 기본영역을 2개의 물리 서브영역으로 나누고, 본 발명의 실시예에 따라 가상 기본영역을 조합한 예시이다.
즉, 상기 분석 장치(200)는 각 물리 기본영역을 2개의 물리 서브영역으로 나누고, 가상 기본영역을 조합하는데 기본영역을 해싱하기 위해서 최상위 2 비트(또는 K 비트의 위치 정보)를 기본영역의 키 값으로 사용하고, 최하위 1 비트(또는 M+N-K 비트의 위치 정보)를 서브영역의 키 값으로 인덱싱하여, 가상 기본영역을 물리 기본영역과 같게 했을 때로 물리 기본영역(또는 가상 기본영역) 0에는 총 3개의 결함 주소에 대한 저장 공간이 필요하지만, 제공되는 저장 공간은 기본영역당 2개로 제한되므로 결함 주소를 관리할 수 있는 한계를 넘어가게 된다.
또한, 상기 도 8에 나타낸 바와 같이, 상기 분석 장치(200)는 각 물리 기본영역을 2개의 물리 서브영역으로 나누고, 가상 기본영역을 조합하는데 기본영역을 해싱하기 위해서 최하위 2 비트(또는 K 비트의 위치 정보)를 기본영역의 키 값으로 사용하고, 최상위 1 비트(또는 M+N-K 비트의 위치 정보)를 서브영역의 키 값으로 인덱싱하여, 모든 가상 기본영역의 결함 주소가 2개를 넘지 않아 모든 결함 주소를 저장할 수 있도록 구성한다. 이때, 서로 다른 물리 기본영역과 조합되기 때문에, 어떤 물리 기본영역의 주소인지 구별하기 위해서 태그(tag) 비트를 고려할 수 있으며, 상기 태그 비트는 설계자의 설계에 따라 사용하지 않을 수도 있다.
또한, 예를 들어, 상기 해시 함수의 정보는 가상 기본영역을 선택하는 비트(또는 K 비트의 위치 정보)를 0으로 설정하고, 가상 서브영역을 선택하는 비트(또는 M+N-K 비트의 위치 정보)를 1로 설정하는 벡터 형태로 생성할 수 있다.
또한, 상기 도 8에서의 가상 기본영역을 선택하는 비트(또는 K 비트의 위치 정보)와 가상 서브영역을 선택하는 비트(또는 M+N-K 비트의 위치 정보)를 벡터 형태로 저장한 값은 총 8개의 가상 서브영역이 생기므로 log2(8) = 3으로 총 3 비트의 인덱스에 사용된 비트 중에서 최하위 2 비트가 가상 기본영역이 되므로 100이 된다.
또한, 본 발명의 실시예에 따른, 메모리 관리 방법을 위해서, 상기 도 1에 도시된 바와 같이, 분석 시스템(또는 메모리 관리 시스템)(10)은 저장 매체(100) 및 분석 장치(200)로 구성된다.
상기 저장 매체(100)는 상기 정보 저장 테이블(110)을 포함한다.
또한, 상기 저장 매체(100)(또는 상기 정보 저장 테이블(110))는 상기 분석 장치(200)의 제어에 의해, 상기 저장 매체(100) 내의 미리 설정된 저장 영역에 K 비트의 위치 정보(또는 목표값을 만족하는 해당 가상 기본영역과 관련한 K 비트의 위치 정보) 및 M+N-K 비트의 위치 정보(또는 목표값을 만족하는 해당 가상 서브영역과 관련한 M+N-K 비트의 위치 정보)를 저장한다.
또한, 상기 저장 매체(100)(또는 상기 정보 저장 테이블(110))는 상기 분석 장치(200)의 제어에 의해, 상기 저장 영역에 저장된 K 비트의 위치 정보(또는 목표값을 만족하는 해당 가상 기본영역과 관련한 K 비트의 위치 정보) 및 M+N-K 비트의 위치 정보(또는 목표값을 만족하는 해당 가상 서브영역과 관련한 M+N-K 비트의 위치 정보)를 근거로, 상기 정보 저장 테이블(110)(또는 상기 저장 매체(100) 내의 결함 주소 저장 공간)에 상기 가상 영역의 위치 정보(또는 상기 가상 영역에 대한 위치 정보)에 대응하는 데이터를 저장한다. 여기서, 상기 데이터(또는 정보)는 결함 정보, 결함의 위치 정보, 라우팅 정보, 패킷 정보 등을 포함한다. 또한, 상기 데이터(또는 정보)는 분석 시스템(10)이 적용되는 분야(예를 들어, 메모리 분야, 데이터 통신 분야 등 포함)에 따라 다를 수 있으며, 설계자의 설계에 따라 변경되어 적용할 수 있다. 예를 들어, 상기 데이터(또는 정보)는 리던던트 셀을 이용한 메모리 리페어를 적용하는 메모리 시스템의 경우, 해당 메모리 시스템에 제공된 스페어 셀과 교체되는 결함 셀의 위치(또는 위치 정보)일 수 있다.
또한, 상기 저장 매체(100)는 복수의 컬럼 주소, 복수의 로우 주소 등을 저장한다.
또한, 상기 저장 매체(100)는 상기 분석 장치(200)에 의해 생성되는 결함 정보 관리 테이블을 저장한다.
또한, 상기 분석 장치(또는 메모리 관리부)(200)는 물리 영역(또는 물리 기본 영역, PX)과 가상 영역(또는 가상 기본 영역, VY)에 대해서, 결함 개수(fX ,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY), 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY) 등의 관계를 나타내는 결함 정보 관리 테이블을 생성한다. 이때, 상기 X는 물리 영역을 나타내고, Y는 가상 영역을 나타낸다.
여기서, 상기 분석 장치(200)에 의해서, 상기 가상 영역은 정보 저장 위치를 해싱하는 정보 관리 단위 영역(또는 단위 영역)을 물리 기본영역으로 매핑하고, 상기 물리 기본영역(또는 상기 매핑된 물리 기본영역)을 동일한 크기의 복수의 물리 서브 영역으로 나눈 상태에서, 구성 가능한 모든 조합 중 하나일 수 있다.
또한, 상기 분석 장치(200)는 상기 구성 가능한 모든 조합에 대해 메모리 관리 방법을 통해 미리 설정된 목표값을 만족하는지 여부를 확인한다. 이때, 상기 목표값은 저장할 정보에 대응하여 미리 설정된 값(또는 해당 저장할 정보를 만족시키기 위한 값)으로, 리던던트 셀(redundant cell)을 이용한 메모리 리페어(또는 메모리 복구)를 적용하는 메모리 시스템의 경우, 해당 메모리 시스템에 제공된 미리 설정된 사용 가능한(또는 해당 메모리 시스템에서 사용 가능한) 스페어 셀(spare cell)의 수(예를 들어 스페어 로우(spare row)의 수, 스페어 컬럼(spare column)의 수 등 포함)일 수 있다. 즉, 상기 목표값은 상기 저장할 정보에 대응하여 미리 설정된 값으로 매핑된 모든 물리 기본영역에 사용가능한 동일한 리소스의 수일 수 있다. 또한, 결함 메모리 블록을 회피하는 메모리 시스템의 경우, 상기 목표값은 상기 메모리 시스템의 모든 물리 기본영역에 사용가능한 동일한 메모리 블록의 수일 수 있다.
또한, 상기 조합된 가상 기본영역 내의 저장할 정보의 수가 상기 미리 설정된 목표값을 만족하는 경우, 상기 분석 장치(200)는 M+N 비트 중에서, 해당 목표값을 만족하는 해당 가상 기본영역과 관련한 K 비트의 위치 정보와, 해당 목표값을 만족하는 해당 가상 서브영역과 관련한 M+N-K 비트의 위치 정보를 상기 저장 매체(100) 내의 미리 설정된(또는 미리 할당된) 저장 영역에 저장한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다. 여기서, 상기 M은 물리 영역의 개수를 나타내고, 상기 N은 가상 영역의 개수를 나타내고, 상기 M, N 및 K는 자연수이다. 또한, 상기 K의 크기는 상기 정보 저장 테이블(110)을 접근하기 위한 비트 수일 수 있다.
즉, 상기 목표값을 만족하는 K 비트의 위치 정보와, M+N-K 비트의 위치 정보를 찾기 위해서, 상기 분석 장치(200)는 최적으로 정보를 정보 저장 공간에 할당하기 위한 결함 정보 관리 테이블을 생성한다.
본 발명의 실시예에서는 상기 목표값이 메모리 시스템에서, 해당 메모리 시스템에 제공된 미리 설정된 사용 가능한(또는 해당 메모리 시스템에서 사용 가능한) 스페어 셀(spare cell)의 수이며, 도 9에 도시된 바와 같이, 최적으로 결함 셀의 위치 정보를 정보 저장 테이블(110)에 할당하여 결함 리페어를 하기 위해 결함 정보 관리 테이블을 생성한다.
또한, 본 발명의 실시예에서는 물리 영역이 M개, 각 물리 영역에 가상 영역이 N개가 있다고 가정하고, 물리 영역은 X, 가상 영역은 Y의 기호를 사용하여 나타낸다. 여기서, X는 0 ≤ X ≤ M-1을 만족하고, Y는 0 ≤ Y ≤ N-1을 만족한다.
또한, 상기 도 9에 도시된 바와 같이, M=4이고, N=4인 경우, PX는 상기 메모리 관리 시스템(10)의 X번째 물리 영역을 나타내고, VY는 상기 메모리 관리 시스템(10)의 Y번째 가상 영역을 나타낸다. 예를 들어, P0는 0번째 물리 영역을 나타내며, V2는 2번째 가상 영역을 나타낸다. 또한, fX ,Y는 물리 영역 PX, 가상 영역 VY인 (PX , VY)에서 발생한 결함 중 복구되지 않은 결함의 개수를 나타낸다. 또한, 물리 영역을 여러 개의 물리 서브영역으로 분할하고, 가상 영역으로 재조합하게 되므로, 같은 PX에 속하는 물리 서브영역이라고 하더라도, 해당 물리 서브영역이 속하는 가상 영역은 VY1 및 VY2와 같이 서로 다를 수 있다. 예를 들어, 상기 결함 정보 관리 테이블의 (P0 , V2) 항목에 해당하는 f0 ,2는 물리 영역 0번 및 가상 영역 2번의 주소를 가지는 결함 셀 중 복구되지 않은 결함의 개수를 나타낸다. 또한, 상기 fX ,Y는 최초에는 결함의 개수와 동일한 값을 가지지만, 스페어 셀을 할당하여 복구하는 과정에서 fX ,Y의 값은 감소하게 된다.
또한, RX는 X번째 물리 영역에서 사용 가능한 스페어 로우(spare row)의 개수를 나타내며, CY는 Y번째 가상 영역에서 사용 가능한 스페어 컬럼(spare column)의 개수를 나타낸다. 또한, 물리 영역은 결함이 발생한 결함 셀을 스페어 로우로 대체함으로써, 복구를 수행할 수 있다. 또한, 가상 영역은 결함이 발생한 결함 셀을 스페어 컬럼으로 대체함으로써, 복구를 수행할 수 있다.
또한, AY는 Y번째 가상 영역에서 복구되지 않은 결함이 있는 컬럼(또는 결함 컬럼)의 개수를 나타낸다. 만약 한 개의 컬럼에 한 개의 결함만 존재한다면, AY의 값은
Figure 112016065749552-pat00001
의 값과 동일하다. 또한, 한 개의 컬럼에 여러 개의 결함이 있는 경우, 결함의 개수는 여러 개지만 결함이 있는 컬럼의 개수는 하나이다. 따라서, AY의 값은
Figure 112016065749552-pat00002
의 값보다 작거나 같다. 또한, 결함 컬럼의 개수인 AY 값은 스페어 컬럼의 개수와 비교하면서, 복구할 로우를 선택하거나 전체 과정의 종료 조건을 판단하는 데 사용한다.
또한, 상기 결함 정보 관리 테이블은 물리 영역과 가상 영역으로 구분된 상기 메모리 관리 시스템(10)에서 전체 과정을 수행하는데 필요한 정보를 제공한다.
또한, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택한다. 여기서, 상기 Q는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차가 최대값을 갖는 가상 영역의 값일 수 있다.
즉, 상기 분석 장치(200)는 모든 가상 영역을 대상으로 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 검색(또는 선택/확인)한다.
또한, 상기 분석 장치(200)는 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 해당 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같은지 여부를 확인한다.
상기 확인 결과, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 해당 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같은 경우, 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 가상 영역에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다.
또한, 상기 확인 결과, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 해당 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 큰 경우, 상기 분석 장치(200)는 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 해당 가상 영역(VQ)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다.
상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료한다.
또한, 상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 가상 영역(VQ)의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VQ)에 대해서), (PX,VQ)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA ,Q)의 값을 제 1 개수인 해당 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 제 2 개수인 해당 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 사용 가능한 스페어 로우의 개수(RA)를 제 3 개수인 사용한 스페어 로우의 개수만큼 감소시킨다.
또한, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하는 과정으로 복귀하여, 상기 스페어 로우를 할당하는 과정을 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 해당 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때까지 반복 수행한다.
만약, 남아 있는 스페어 로우가 없으면서 (AY-CY)이 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과하는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료한다.
이와 같이, 상기 분석 장치(200)는 컬럼-우선(column-first)(또는 컬럼-우선 알고리즘)을 근거로 하여 메모리 관리 기능을 수행할 수 있다.
또한, 로우-우선(row-first)(또는 로우-우선 알고리즘)을 근거로 하여 메모리 관리 기능을 수행하고자 하는 경우, 상기 분석 장치(200)는 앞서 설명된 과정들의 순서를 변경하여 메모리 관리 기능을 수행할 수 있다.
즉, 상기 분석 장치(200)는 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다.
상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 확인한다.
상기 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은 경우, 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역(VY)과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 가상 영역에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다.
또한, 상기 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 큰 경우, 상기 분석 장치(200)는 해당 가상 영역(VY)에서의 사용 가능한 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료한다.
또한, 상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 가상 영역(VQ)의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VQ)에 대해서), (PX,VQ)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA ,Q)의 값을 제 1 개수인 해당 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 제 2 개수인 해당 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 사용 가능한 스페어 로우의 개수(RA)를 제 3 개수인 사용한 스페어 로우의 개수만큼 감소시킨다.
또한, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하는 과정으로 복귀하여, 상기 스페어 로우를 할당하는 과정을 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 0일 때까지(또는 존재하지 않을 때까지) 반복 수행한다.
이와 같이, 컬럼-우선(또는 컬럼-우선 알고리즘)은 스페어 컬럼을 최대한 활용하고 스페어 로우를 남길 가능성이 높은 방향으로 진행되는 반면에, 로우-우선(또는 로우-우선 알고리즘)은 스페어 로우를 최대한 활용하고 스페어 컬럼을 남길 가능성이 높은 방향으로 진행된다.
또한, 패스트 컬럼-우선(fast column-first)을 근거로 하여 메모리 관리 기능을 수행하고자 하는 경우, 상기 분석 장치(200)는 앞서 설명된 과정들의 순서를 변경하고 일부 과정들을 추가하여 메모리 관리 기능을 수행할 수 있다.
즉, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY) 간의 차이 값(AY-CY)을 각각 연산한다.
또한, 상기 분석 장치(200)는 상기 연산된 차이 값(AY-CY)을 정렬한다. 이때, 정렬 방식은 내림 차순, 오름 차순 등일 수 있다.
즉, 상기 분석 장치(200)는 상기 연산된 차이 값(AY-CY)을 근거로 상기 연산된 차이 값(AY-CY) 및 상기 차이 값(AY-CY)에 대응하는 가상 영역(VY)을 정렬한다.
또한, 상기 분석 장치(200)는 상기 정렬된 순서대로, 결함이 복구되지 않은 가상 영역(VD)을 선택한다. 여기서, 상기 D는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차 값을 이용하여 가상 영역을 내림 차순으로 정렬하고, 정렬된 순서대로 결함이 복구되지 않은 가상 영역을 선택한 값일 수 있다.
또한, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인한다.
상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 큰 경우, 상기 분석 장치(200)는 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다.
상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료한다.
또한, 상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 가상 영역(VD)의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VD)에 대해서), (PX,VD)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)의 (fA ,D)의 값을 제 1 개수인 해당 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 제 2 개수인 해당 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 사용 가능한 스페어 로우의 개수(RA)를 제 3 개수인 사용한 스페어 로우의 개수만큼 감소시킨다.
또한, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정(예를 들어 S2940 단계)으로 복귀하여, 해당 선택된 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 해당 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때까지 반복 수행한다.
또한, 상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은 경우, 상기 분석 장치(200)는 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 2차로 확인한다.
상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은 경우, 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 가상 영역에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다.
또한, 상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같지 않은 경우(또는 복구되지 않고 결함이 있는 컬럼의 개수(AY) 중에서 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 큰 경우가 적어도 하나 이상 존재하는 경우), 상기 분석 장치(200)는 상기 정렬된 모든 가상 영역(VY) 중에서 결함이 복구되지 않은 다음 순서의 가상 영역(또는 새로운 가상 영역)(VD)을 선택하는 과정으로 복귀한다.
즉, 해당 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때까지 반복 수행한 이후, 상기 분석 장치(200)는 새로운 가상 영역(VD)을 선택하고, 상기 선택된 새로운 가상 영역(VD)에 대해서 상기 선택된 새로운 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 새로운 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정과, 해당 선택된 새로운 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 해당 선택된 새로운 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때까지 반복 수행한다.
이와 같이, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼에 대한 스페어 로우 할당 과정을 통해, 모든 가상 영역(VY)에 대해서 스페어 컬럼 할당 과정을 수행할 수 있다.
만약, 남아 있는(또는 사용 가능한) 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과하는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료한다.
또한, 패스트 로우-우선(fast row-first)을 근거로 하여 메모리 관리 기능을 수행하고자 하는 경우, 상기 분석 장치(200)는 앞서 설명된 과정들의 순서를 변경하고 일부 과정들을 추가하여 메모리 관리 기능을 수행할 수 있다.
즉, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY) 간의 차이 값(AY-CY)을 각각 연산한다.
또한, 상기 분석 장치(200)는 상기 연산된 차이 값(AY-CY)을 정렬한다. 이때, 정렬 방식은 내림 차순, 오름 차순 등일 수 있다.
즉, 상기 분석 장치(200)는 상기 연산된 차이 값(AY-CY)을 근거로 상기 연산된 차이 값(AY-CY) 및 상기 차이 값(AY-CY)에 대응하는 가상 영역(VY)을 정렬한다.
또한, 상기 분석 장치(200)는 상기 정렬된 순서대로, 결함이 복구되지 않은 가상 영역(VD)을 선택한다. 여기서, 상기 D는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차 값을 이용하여 가상 영역을 내림 차순으로 정렬하고, 정렬된 순서대로 결함이 복구되지 않은 가상 영역을 선택한 값일 수 있다.
또한, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인한다.
상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 큰 경우, 상기 분석 장치(200)는 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다.
상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료한다.
또한, 상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 가상 영역(VD)의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VD)에 대해서), (PX,VD)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)의 (fA ,D)의 값을 제 1 개수인 해당 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 제 2 개수인 해당 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 사용 가능한 스페어 로우의 개수(RA)를 제 3 개수인 사용한 스페어 로우의 개수만큼 감소시킨다.
또한, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정(예를 들어 S4740 단계)으로 복귀하여, 해당 선택된 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 해당 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때까지 반복 수행한다.
또한, 상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은 경우, 상기 분석 장치(200)는 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 2차로 확인한다.
상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은 경우, 상기 분석 장치(200)는 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 2차로 판단한다.
상기 2차 판단 결과, 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 정렬된 순서대로, 결함이 복구되지 않은 다음 순서의 가상 영역(VD)을 선택한다. 여기서, 상기 D는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차 값을 이용하여 가상 영역을 내림 차순으로 정렬하고, 정렬된 순서대로 결함이 복구되지 않은 가상 영역을 선택한 값일 수 있다.
또한, 상기 분석 장치(200)는 상기 새로 선택된 다음 순서의 가상 영역에 대해서, 해당 다음 순서의 가상 영역의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VD)에 대해서), (PX,VD)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하고, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인하는 과정으로 복귀한다.
또한, 상기 2차 판단 결과, 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 가상 영역에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다.
또한, 상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같지 않은 경우(또는 복구되지 않고 결함이 있는 컬럼의 개수(AY) 중에서 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 큰 경우가 적어도 하나 이상 존재하는 경우), 상기 분석 장치(200)는 상기 정렬된 모든 가상 영역(VY) 중에서 결함이 복구되지 않은 가상 영역(VD)을 선택하는 과정으로 복귀한다.
또한, 해당 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때까지 반복 수행한 이후, 상기 분석 장치(200)는 새로운 가상 영역(VD)을 선택하고, 상기 선택된 새로운 가상 영역(VD)에 대해서 상기 선택된 새로운 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 새로운 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정과, 해당 선택된 새로운 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 해당 선택된 새로운 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때까지 반복 수행한다.
이와 같이, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼에 대한 스페어 로우 할당 과정을 통해, 모든 가상 영역(VY)에 대해서 스페어 컬럼 할당 과정을 수행할 수 있다.
만약, 남아 있는(또는 사용 가능한) 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과하는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료한다.
또한, 상기 컬럼-우선 알고리즘, 상기 로우-우선 알고리즘, 상기 패스트 컬럼-우선 알고리즘, 상기 패스트 로우-우선 알고리즘 등은 메모리 제조 과정에서 각 메모리 시스템(미도시)의 환경과 목적에 따라 설계자의 선택에 따라 선택적으로 사용될 수 있다.
이와 같이, 메모리의 결함을 복구하는 시스템에서 제한된 스페어 셀을 물리 영역과 가상 영역에 대해 최적으로 분배(또는 할당)할 수 있다.
또한, 이와 같이, 서브어레이가 단위 영역의 물리 영역이 되고, 이를 재조합한 가상 영역을 각각 별개의 스페어 셀에 최적으로 분배하여 결함 복구를 최대화할 수 있다.
또한, 이와 같이, 가상 영역의 설계 목표값뿐만 아니라 물리 영역의 설계 목표값을 동시에 만족하는 스페어 셀의 할당을 제공하고, 할당 시점의 K 비트의 위치 정보, M+N-K 비트의 위치 정보 및 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 스페어 셀의 할당 결과에 따라 결함 주소를 저장할 수 있다.
또한, 이와 같이, 패스트 컬럼-우선(fast column-first) 알고리즘과 패스트 로우-우선(fast row-first) 알고리즘을 통해 선택된 가상 영역에 대해 컬럼 또는 로우를 사용하여 반복적으로 복구를 수행한 후, 다음 가상 영역에 대한 복구를 수행할 수 있다.
이하에서는, 본 발명에 따른 메모리 관리 방법을 도 1 내지 도 47을 참조하여 상세히 설명한다.
도 10은 본 발명의 실시예에 따른 컬럼-우선(column-first)을 근거로 한 메모리 관리 방법을 나타낸 흐름도이다.
먼저, 분석 장치(200)는 물리 영역(또는 물리 기본 영역, PX)과 가상 영역(또는 가상 기본 영역, VY)에 대해서, 결함 개수(fX ,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY), 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY) 등의 관계를 나타내는 결함 정보 관리 테이블을 생성한다. 이때, 상기 X는 물리 영역을 나타내고, Y는 가상 영역을 나타낸다.
여기서, 상기 분석 장치(200)에 의해서, 상기 가상 영역은 정보 저장 위치를 해싱하는 정보 관리 단위 영역(또는 단위 영역)을 물리 기본영역으로 매핑하고, 상기 물리 기본영역(또는 상기 매핑된 물리 기본영역)을 동일한 크기의 복수의 물리 서브 영역으로 나눈 상태에서, 구성 가능한 모든 조합 중 하나일 수 있다.
또한, 상기 분석 장치(200)는 상기 구성 가능한 모든 조합에 대해 메모리 관리 방법을 통해 미리 설정된 목표값을 만족하는지 여부를 확인한다. 이때, 상기 목표값은 저장할 정보에 대응하여 미리 설정된 값(또는 해당 저장할 정보를 만족시키기 위한 값)으로, 리던던트 셀(redundant cell)을 이용한 메모리 리페어(또는 메모리 복구)를 적용하는 메모리 시스템의 경우, 해당 메모리 시스템에 제공된 미리 설정된 사용 가능한(또는 해당 메모리 시스템에서 사용 가능한) 스페어 셀(spare cell)의 수(예를 들어 스페어 로우(spare row)의 수, 스페어 컬럼(spare column)의 수 등 포함)일 수 있다. 즉, 상기 목표값은 상기 저장할 정보에 대응하여 미리 설정된 값으로 매핑된 모든 물리 기본영역에 사용가능한 동일한 리소스의 수일 수 있다. 또한, 결함 메모리 블록을 회피하는 메모리 시스템의 경우, 상기 목표값은 상기 메모리 시스템의 모든 물리 기본영역에 사용가능한 동일한 메모리 블록의 수일 수 있다.
또한, 상기 조합된 가상 기본영역 내의 저장할 정보의 수가 상기 미리 설정된 목표값을 만족하는 경우, 상기 분석 장치(200)는 M+N 비트 중에서, 해당 목표값을 만족하는 해당 가상 기본영역과 관련한 K 비트의 위치 정보와, 해당 목표값을 만족하는 해당 가상 서브영역과 관련한 M+N-K 비트의 위치 정보를 상기 저장 매체(100) 내의 미리 설정된(또는 미리 할당된) 저장 영역에 저장한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다. 여기서, 상기 M은 물리 영역의 개수를 나타내고, 상기 N은 가상 영역의 개수를 나타내고, 상기 M, N 및 K는 자연수이다. 또한, 상기 K의 크기는 상기 정보 저장 테이블(110)을 접근하기 위한 비트 수일 수 있다.
일 예로, 도 11에 도시된 바와 같이, 본 발명의 실시예를 간단히 하기 위해서 하나의 로우 또는 컬럼에 여러 개의 결함이 존재하지 않는다고 가정한 상태(또는 하나의 로우 또는 컬럼에는 1개의 결함만이 존재할 수 있는 상태)에서, 상기 분석 장치(200)는 상기 저장 매체(100)의 물리 영역(또는 서브어레이)을 복수의 물리 서브영역(subregion)으로 나누고, 각 물리 서브 영역을 조합(또는 재조합)하여 가상 기본영역 및 가상 서브영역을 생성한다. 이때, 본 발명의 실시예에서는 예시를 간단히 하기 위해서, 각 물리 서브 영역의 같은 번호끼리 재조합하여 가상 영역을 생성하였으나, 이에 한정되는 것은 아니며, 상기 도 1 및 관련 상세한 설명에 기재된 바와 같이, 상기 목표값을 만족하는 물리 서브 영역 간의 조합을 통해 상기 가상 영역을 생성할 수 있다. 여기서, 각 물리 영역의 0번 물리 서브 영역은 0번 가상 영역(예를 들어 황색)으로 재조합되며, 각 물리 영역의 1번 물리 서브 영역은 1번 가상 영역(예를 들어 청색)으로 재조합되며, 각 물리 영역의 2번 물리 서브 영역은 2번 가상 영역(예를 들어 녹색)으로 재조합되며, 각 물리 영역의 3번 물리 서브 영역은 3번 가상 영역(예를 들어 적색)으로 재조합된다. 또한, 물리 영역은 스페어 로우를 이용하여 결함 복구를 수행하며, 재조합된 가상 영역은 스페어 컬럼을 이용하여 결함 복구를 수행한다.
본 발명의 실시예에서는 각 물리 영역은 4개 또는 3개의 스페어 로우를 사용할 수 있는 상태인 것으로 설정하며, 가상 영역은 7개 또는 8개의 스페어 컬럼을 사용할 수 있는 상태인 것으로 설정한다. 이때, 스페어 셀의 개수가 달라지는 이유는 메모리 제작 과정에서 스페어 로우 영역 및 스페어 컬럼 영역에도 결함이 발생할 수 있어, 특정 영역에서는 설계 시 삽입한 모든 스페어 셀을 사용하지 못할 수 있기 때문이다. 또한, 본 발명의 실시예에서는 위와 같은 문제가 발생한 경우에도 항상 최적의 결함 복구 방식을 찾아 동작함을 보여주기 위해서 특정 스페어 셀의 개수를 다르게 설정한 상태이다.
또한, 도 12에 도시된 바와 같이, 상기 분석 장치(200)는 상기 물리 영역(예를 들어 P0 ~ P3), 가상 영역(예를 들어 V0 ~ V3), 상기 물리 영역과 상기 가상 영역과 관련하여 결함 셀(fault cell)이 발생한 위치에 따른 결함 개수(예를 들어 f0,0 ~ f3 ,3), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(예를 들어 R0 ~ R3), 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(예를 들어 C0 ~ C3), 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(예를 들어 A0 ~ A3) 등의 관계를 나타내는 결함 정보 관리 테이블을 생성한다. 또한, 상기 도 12에 도시된 바와 같이, 예시 목표값에 따라 P3에는 스페어 로우 3개를 사용 가능한 것으로 설정하고 나머지 물리 영역에는 스페어 로우 4개를 사용 가능한 것으로 설정하며, V1에는 스페어 컬럼 7개를 사용 가능한 것으로 설정하고 나머지 가상 영역에는 스페어 컬럼 8개를 사용 가능한 것으로 설정한다(S1010).
이후, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택한다. 여기서, 상기 Q는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차가 최대값을 갖는 가상 영역의 값일 수 있다.
즉, 상기 분석 장치(200)는 모든 가상 영역을 대상으로 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 검색(또는 선택/확인)한다.
일 예로, 상기 도 12에 도시된 바와 같이, 상기 분석 장치(200)는 상기 모든 가상 영역(예를 들어 V0 ~ V3)에 대해서, A0-C0(15-8=7), A1-C1(8-7=1), A2-C2(15-8=7) 및 A3-C3(8-8=0)를 산출하고, 상기 산출된 A0-C0(15-8=7), A1-C1(8-7=1), A2-C2(15-8=7) 및 A3-C3(8-8=0) 중에서 최대값을 갖는 가상 영역 V0 및 V2를 확인하고, 상기 확인된 최대값을 갖는 가상 영역 V0 및 V2 중에서 어느 하나인 V0를 선택한다(S1020).
이후, 상기 분석 장치(200)는 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 해당 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같은지 여부를 확인한다.
일 예로, 상기 도 12에 도시된 바와 같이, 상기 분석 장치(200)는 상기 선택된 가상 영역 V0에서의 복구되지 않고 결함이 있는 컬럼의 개수인 A0(예를 들어 15)가 상기 선택된 가상 영역 V0에서의 사용 가능한 스페어 컬럼의 개수인 C0(예를 들어 8)보다 작거나 같은지 여부를 확인한다(S1030).
상기 확인 결과, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 해당 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같은 경우, 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 가상 영역에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다.
일 예로, 상기 선택된 가상 영역 V0에서의 복구되지 않고 결함이 있는 컬럼의 개수인 A0(예를 들어 8)가 상기 선택된 가상 영역 V0에서의 사용 가능한 스페어 컬럼의 개수인 C0(예를 들어 8)와 같을 때, 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 가상 영역 V0와 관련한 K 비트의 위치 정보, 가상 영역 V0와 관련한 M+N-K 비트의 위치 정보 및 가상 영역 V0에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 스페어 셀의 할당 결과에 따른 결함 주소를 저장하고, 결함 복구 과정을 종료한다(S1040).
또한, 상기 확인 결과, 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 해당 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 큰 경우, 상기 분석 장치(200)는 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 해당 가상 영역(VQ)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다.
일 예로, 상기 도 12에 도시된 바와 같이, 상기 선택된 가상 영역 V0에서의 복구되지 않고 결함이 있는 컬럼의 개수인 A0(예를 들어 15)가 상기 선택된 가상 영역 V0에서의 사용 가능한 스페어 컬럼의 개수인 C0(예를 들어 8)보다 클 때, 상기 분석 장치(200)는 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다(S1050).
상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료한다.
일 예로, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치(200)는 결함 복구가 실패된 것으로 판단하고, 전체 결함 복구 과정을 종료한다(S1060).
또한, 상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 가상 영역(VQ)의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VQ)에 대해서), (PX,VQ)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인한다.
일 예로, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 도 12에 도시된 바와 같이, 상기 분석 장치(200)는 해당 가상 영역 V0에서 결함이 있고(예를 들어 fX ,0 ≠ 0) 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대(예를 들어 4)인 복수의 물리 영역(예를 들어 P0, P1 및 P2)을 찾는다. 이후, 상기 분석 장치(200)는 상기 찾은 복수의 물리 영역(예를 들어 P0, P1 및 P2) 중에서 어느 하나의 물리 영역(예를 들어 P0)을 선택한다(S1070).
이후, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA ,Q)의 값을 제 1 개수인 해당 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 제 2 개수인 해당 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 사용 가능한 스페어 로우의 개수(RA)를 제 3 개수인 사용한 스페어 로우의 개수만큼 감소시킨다.
일 예로, 도 13에 도시된 바와 같이, 상기 분석 장치(200)는 상기 가상 영역 V0과 관련한 물리 영역 P0에 대해서, 해당 물리 영역 P0에 대응하는 (P0, V0)의 (f0,0)의 값인 4를 1만큼 감소시켜 3으로 만들고, 상기 (P0, V0)에 대응하는 결함이 있는 컬럼의 개수(A0)인 15를 1만큼 감소시켜 14로 만들고, 상기 (P0, V0)에 대응하는 스페어 로우의 개수(R0)인 4를 1만큼 감소시켜 3으로 만든다(S1080).
이후, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하는 과정(예를 들어 S1020 단계)로 복귀하여, 상기 스페어 로우를 할당하는 과정을 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 해당 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때까지 반복 수행한다.
일 예로, 도 12 내지 도 27에 도시된 바와 같이, 상기 분석 장치(200)는 상기 스페어 로우를 할당하는 과정을 반복 수행하여, 최종적으로 상기 도 27에 도시된 바와 같은 결함 정보 관리 테이블을 생성한다. 여기서, (AY-CY)이 최대값을 가지는 가상 영역 V0의 A0 값이 사용 가능한 스페어 컬럼의 개수인 C0 이하이므로 복구가 성공하고 전체 스페어 로우 할당 과정이 종료된다(S1090).
만약, 남아 있는 스페어 로우가 없으면서 (AY-CY)이 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과하는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료한다.
또한, 본 발명의 실시예에 따른 컬럼-우선(column-first)을 근거로 한 메모리 관리 방법의 실행 결과, P0의 스페어 로우 4개를 모두 사용하여 (P0 , V0)의 결함 1개 및 (P0 , V2)의 결함 3개를 복구하였고, P1의 스페어 로우 4개를 모두 사용하여 (P1 , V0)의 결함 2개, (P1 , V1)의 결함 1개 및 (P1 , V2)의 결함 1개를 복구하였고, P2의 스페어 로우 4개를 모두 사용하여 (P2 , V0)의 결함 2개 및 (P2 , V2)의 결함 2개를 복구하였고, P3의 스페어 로우 3개를 모두 사용하여 (P3 , V0)의 결함 2개 및 (P3 , V2)의 결함 1개를 복구하였다. 또한, 남아 있는 결함은 모두 스페어 컬럼을 통하여 복구 가능한 것이 확인되었으며, 본 발명의 실시예에 따른 컬럼-우선을 근거로 한 메모리 관리 방법에 의해 성공적으로 스페어 셀 할당을 완료할 수 있다.
도 28은 본 발명의 실시예에 따른 로우-우선(row-first)을 근거로 한 메모리 관리 방법을 나타낸 흐름도이다.
먼저, 분석 장치(200)는 물리 영역(또는 물리 기본 영역, PX)과 가상 영역(또는 가상 기본 영역, VY)에 대해서, 결함 개수(fX ,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY), 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY) 등의 관계를 나타내는 결함 정보 관리 테이블을 생성한다.
여기서, 상기 분석 장치(200)에 의해서, 상기 가상 영역은 정보 저장 위치를 해싱하는 정보 관리 단위 영역(또는 단위 영역)을 물리 기본영역으로 매핑하고, 상기 물리 기본영역(또는 상기 매핑된 물리 기본영역)을 동일한 크기의 복수의 물리 서브 영역으로 나눈 상태에서, 구성 가능한 모든 조합 중 하나일 수 있다.
또한, 상기 분석 장치(200)는 상기 구성 가능한 모든 조합에 대해 메모리 관리 방법을 통해 미리 설정된 목표값을 만족하는지 여부를 확인한다. 이때, 상기 목표값은 저장할 정보에 대응하여 미리 설정된 값(또는 해당 저장할 정보를 만족시키기 위한 값)으로, 리던던트 셀을 이용한 메모리 리페어(또는 메모리 복구)를 적용하는 메모리 시스템의 경우, 해당 메모리 시스템에 제공된 미리 설정된 사용 가능한(또는 해당 메모리 시스템에서 사용 가능한) 스페어 셀의 수(예를 들어 스페어 로우의 수, 스페어 컬럼의 수 등 포함)일 수 있다. 즉, 상기 목표값은 상기 저장할 정보에 대응하여 미리 설정된 값으로 매핑된 모든 물리 기본영역에 사용가능한 동일한 리소스의 수일 수 있다. 또한, 결함 메모리 블록을 회피하는 메모리 시스템의 경우, 상기 목표값은 상기 메모리 시스템의 모든 물리 기본영역에 사용가능한 동일한 메모리 블록의 수일 수 있다.
또한, 상기 조합된 가상 기본영역 내의 저장할 정보의 수가 상기 미리 설정된 목표값을 만족하는 경우, 상기 분석 장치(200)는 M+N 비트 중에서, 해당 목표값을 만족하는 해당 가상 기본영역과 관련한 K 비트의 위치 정보와, 해당 목표값을 만족하는 해당 가상 서브영역과 관련한 M+N-K 비트의 위치 정보를 상기 저장 매체(100) 내의 미리 설정된(또는 미리 할당된) 저장 영역에 저장한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다. 여기서, 상기 M은 물리 영역의 개수를 나타내고, 상기 N은 가상 영역의 개수를 나타내고, 상기 M, N 및 K는 자연수이다. 또한, 상기 K의 크기는 상기 정보 저장 테이블(110)을 접근하기 위한 비트 수일 수 있다(S2810).
이후, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택한다. 여기서, 상기 Q는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차가 최대값을 갖는 가상 영역의 값일 수 있다.
즉, 상기 분석 장치(200)는 모든 가상 영역을 대상으로 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 검색(또는 선택/확인)한다(S2820).
이후, 상기 분석 장치(200)는 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다(S2830).
상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 확인한다(S2840).
상기 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은 경우, 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역(VY)과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 가상 영역에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다(S2850).
또한, 상기 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 큰 경우, 상기 분석 장치(200)는 해당 가상 영역(VY)에서의 사용 가능한 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료한다(S2860).
또한, 상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 가상 영역(VQ)의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VQ)에 대해서), (PX,VQ)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인한다(S2870).
이후, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA ,Q)의 값을 제 1 개수인 해당 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 제 2 개수인 해당 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 사용 가능한 스페어 로우의 개수(RA)를 제 3 개수인 사용한 스페어 로우의 개수만큼 감소시킨다(S2880).
이후, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 가상 영역(VQ)을 선택하는 과정(예를 들어 S2820 단계)으로 복귀하여, 상기 스페어 로우를 할당하는 과정을 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 0일 때까지(또는 존재하지 않을 때까지) 반복 수행한다(S2890).
도 29는 본 발명의 실시예에 따른 패스트 컬럼-우선(fast column-first)을 근거로 한 메모리 관리 방법을 나타낸 흐름도이다.
먼저, 분석 장치(200)는 물리 영역(또는 물리 기본 영역, PX)과 가상 영역(또는 가상 기본 영역, VY)에 대해서, 결함 개수(fX ,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY), 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY) 등의 관계를 나타내는 결함 정보 관리 테이블을 생성한다. 이때, 상기 X는 물리 영역을 나타내고, Y는 가상 영역을 나타낸다.
여기서, 상기 분석 장치(200)에 의해서, 상기 가상 영역은 정보 저장 위치를 해싱하는 정보 관리 단위 영역(또는 단위 영역)을 물리 기본영역으로 매핑하고, 상기 물리 기본영역(또는 상기 매핑된 물리 기본영역)을 동일한 크기의 복수의 물리 서브 영역으로 나눈 상태에서, 구성 가능한 모든 조합 중 하나일 수 있다.
또한, 상기 분석 장치(200)는 상기 구성 가능한 모든 조합에 대해 메모리 관리 방법을 통해 미리 설정된 목표값을 만족하는지 여부를 확인한다. 이때, 상기 목표값은 저장할 정보에 대응하여 미리 설정된 값(또는 해당 저장할 정보를 만족시키기 위한 값)으로, 리던던트 셀(redundant cell)을 이용한 메모리 리페어(또는 메모리 복구)를 적용하는 메모리 시스템의 경우, 해당 메모리 시스템에 제공된 미리 설정된 사용 가능한(또는 해당 메모리 시스템에서 사용 가능한) 스페어 셀(spare cell)의 수(예를 들어 스페어 로우(spare row)의 수, 스페어 컬럼(spare column)의 수 등 포함)일 수 있다. 즉, 상기 목표값은 상기 저장할 정보에 대응하여 미리 설정된 값으로 매핑된 모든 물리 기본영역에 사용가능한 동일한 리소스의 수일 수 있다. 또한, 결함 메모리 블록을 회피하는 메모리 시스템의 경우, 상기 목표값은 상기 메모리 시스템의 모든 물리 기본영역에 사용가능한 동일한 메모리 블록의 수일 수 있다.
또한, 상기 조합된 가상 기본영역 내의 저장할 정보의 수가 상기 미리 설정된 목표값을 만족하는 경우, 상기 분석 장치(200)는 M+N 비트 중에서, 해당 목표값을 만족하는 해당 가상 기본영역과 관련한 K 비트의 위치 정보와, 해당 목표값을 만족하는 해당 가상 서브영역과 관련한 M+N-K 비트의 위치 정보를 상기 저장 매체(100) 내의 미리 설정된(또는 미리 할당된) 저장 영역에 저장한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다. 여기서, 상기 M은 물리 영역의 개수를 나타내고, 상기 N은 가상 영역의 개수를 나타내고, 상기 M, N 및 K는 자연수이다. 또한, 상기 K의 크기는 상기 정보 저장 테이블(110)을 접근하기 위한 비트 수일 수 있다.
일 예로, 도 11에 도시된 바와 같이, 본 발명의 실시예를 간단히 하기 위해서 하나의 로우 또는 컬럼에 여러 개의 결함이 존재하지 않는다고 가정한 상태(또는 하나의 로우 또는 컬럼에는 1개의 결함만이 존재할 수 있는 상태)에서, 상기 분석 장치(200)는 상기 저장 매체(100)의 물리 영역(또는 서브어레이)을 복수의 물리 서브영역(subregion)으로 나누고, 각 물리 서브 영역을 조합(또는 재조합)하여 가상 기본영역 및 가상 서브영역을 생성한다. 이때, 본 발명의 실시예에서는 예시를 간단히 하기 위해서, 각 물리 서브 영역의 같은 번호끼리 재조합하여 가상 영역을 생성하였으나, 이에 한정되는 것은 아니며, 상기 도 1 및 관련 상세한 설명에 기재된 바와 같이, 상기 목표값을 만족하는 물리 서브 영역 간의 조합을 통해 상기 가상 영역을 생성할 수 있다. 여기서, 각 물리 영역의 0번 물리 서브 영역은 0번 가상 영역(예를 들어 황색)으로 재조합되며, 각 물리 영역의 1번 물리 서브 영역은 1번 가상 영역(예를 들어 청색)으로 재조합되며, 각 물리 영역의 2번 물리 서브 영역은 2번 가상 영역(예를 들어 녹색)으로 재조합되며, 각 물리 영역의 3번 물리 서브 영역은 3번 가상 영역(예를 들어 적색)으로 재조합된다. 또한, 물리 영역은 스페어 로우를 이용하여 결함 복구를 수행하며, 재조합된 가상 영역은 스페어 컬럼을 이용하여 결함 복구를 수행한다.
본 발명의 실시예에서는 각 물리 영역은 4개 또는 3개의 스페어 로우를 사용할 수 있는 상태인 것으로 설정하며, 가상 영역은 7개 또는 8개의 스페어 컬럼을 사용할 수 있는 상태인 것으로 설정한다. 이때, 스페어 셀의 개수가 달라지는 이유는 메모리 제작 과정에서 스페어 로우 영역 및 스페어 컬럼 영역에도 결함이 발생할 수 있어, 특정 영역에서는 설계 시 삽입한 모든 스페어 셀을 사용하지 못할 수 있기 때문이다. 또한, 본 발명의 실시예에서는 위와 같은 문제가 발생한 경우에도 항상 최적의 결함 복구 방식을 찾아 동작함을 보여주기 위해서 특정 스페어 셀의 개수를 다르게 설정한 상태이다.
또한, 도 31에 도시된 바와 같이, 상기 분석 장치(200)는 상기 물리 영역(예를 들어 P0 ~ P3), 가상 영역(예를 들어 V0 ~ V3), 상기 물리 영역과 상기 가상 영역과 관련하여 결함 셀(fault cell)이 발생한 위치에 따른 결함 개수(예를 들어 f0,0 ~ f3 ,3), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(예를 들어 R0 ~ R3), 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(예를 들어 C0 ~ C3), 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(예를 들어 A0 ~ A3) 등의 관계를 나타내는 결함 정보 관리 테이블을 생성한다. 또한, 상기 도 31에 도시된 바와 같이, 예시 목표값에 따라 P3에는 스페어 로우 3개를 사용 가능한 것으로 설정하고 나머지 물리 영역에는 스페어 로우 4개를 사용 가능한 것으로 설정하며, V1에는 스페어 컬럼 7개를 사용 가능한 것으로 설정하고 나머지 가상 영역에는 스페어 컬럼 8개를 사용 가능한 것으로 설정한다(S2910).
이후, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY) 간의 차이 값(AY-CY)을 각각 연산한다.
또한, 상기 분석 장치(200)는 상기 연산된 차이 값(AY-CY)을 정렬한다. 이때, 정렬 방식은 내림 차순, 오름 차순 등일 수 있다.
즉, 상기 분석 장치(200)는 상기 연산된 차이 값(AY-CY)을 근거로 상기 연산된 차이 값(AY-CY) 및 상기 차이 값(AY-CY)에 대응하는 가상 영역(VY)을 정렬한다.
일 예로, 도 30에 도시된 바와 같이, 상기 분석 장치(200)는 상기 모든 가상 영역(예를 들어 V0 ~ V3)에 대해서, A0-C0(15-8=7), A1-C1(8-7=1), A2-C2(15-8=7) 및 A3-C3(8-8=0)를 산출하고, 상기 산출된 A0-C0(15-8=7), A1-C1(8-7=1), A2-C2(15-8=7) 및 A3-C3(8-8=0)를 내림 차순으로 정렬한다(S2920).
이후, 상기 분석 장치(200)는 상기 정렬된 순서대로, 결함이 복구되지 않은 가상 영역(VD)을 선택한다. 여기서, 상기 D는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차 값을 이용하여 가상 영역을 내림 차순으로 정렬하고, 정렬된 순서대로 결함이 복구되지 않은 가상 영역을 선택한 값일 수 있다.
일 예로, 상기 분석 장치(200)는 상기 도 30에 도시된 상기 모든 가상 영역(예를 들어 V0 ~ V3)에 대한 차이 값(AY-CY) 중에서, 결함이 복구되지 않은 가상 영역인 첫 번째 순서에 위치한 A0-C0(15-8=7)에 대응하는 V0를 선택한다(S2930).
이후, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인한다.
일 예로, 상기 도 31에 도시된 바와 같이, 상기 분석 장치(200)는 상기 선택된 가상 영역 V0에서의 복구되지 않고 결함이 있는 컬럼의 개수인 A0(예를 들어 15)가 상기 선택된 가상 영역 V0에서의 사용 가능한 스페어 컬럼의 개수인 C0(예를 들어 8)보다 작거나 같은지 여부를 확인한다(S2940).
상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 큰 경우, 상기 분석 장치(200)는 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다.
일 예로, 상기 도 31에 도시된 바와 같이, 상기 분석 장치(200)는 상기 선택된 가상 영역 V0에서의 복구되지 않고 결함이 있는 컬럼의 개수인 A0(예를 들어 15)가 상기 선택된 가상 영역 V0에서의 사용 가능한 스페어 컬럼의 개수인 C0(예를 들어 8)보다 클 때, 상기 분석 장치(200)는 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다(S2950).
상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료한다.
일 예로, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치(200)는 결함 복구가 실패된 것으로 판단하고, 전체 결함 복구 과정을 종료한다(S2960).
또한, 상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 가상 영역(VD)의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VD)에 대해서), (PX,VD)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인한다.
일 예로, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 도 31에 도시된 바와 같이, 상기 분석 장치(200)는 해당 가상 영역 V0에서 결함이 있고(예를 들어 fX ,0 ≠ 0) 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대(예를 들어 4)인 복수의 물리 영역(예를 들어 P0, P1 및 P2)을 찾는다. 이후, 상기 분석 장치(200)는 상기 찾은 복수의 물리 영역(예를 들어 P0, P1 및 P2) 중에서 어느 하나의 물리 영역(예를 들어 P0)을 선택한다(S2970).
이후, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)의 (fA ,D)의 값을 제 1 개수인 해당 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 제 2 개수인 해당 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 사용 가능한 스페어 로우의 개수(RA)를 제 3 개수인 사용한 스페어 로우의 개수만큼 감소시킨다.
일 예로, 도 32에 도시된 바와 같이, 상기 분석 장치(200)는 상기 가상 영역 V0과 관련한 물리 영역 P0에 대해서, 해당 물리 영역 P0에 대응하는 (P0, V0)의 (f0,0)의 값인 4를 1만큼 감소시켜 3으로 만들고, 상기 (P0, V0)에 대응하는 결함이 있는 컬럼의 개수(A0)인 15를 1만큼 감소시켜 14로 만들고, 상기 (P0, V0)에 대응하는 스페어 로우의 개수(R0)인 4를 1만큼 감소시켜 3으로 만든다(S2980).
이후, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정(예를 들어 S2940 단계)으로 복귀하여, 해당 선택된 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 해당 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때까지 반복 수행한다.
일 예로, 상기 도 31 내지 도 38에 도시된 바와 같이, 상기 분석 장치(200)는 상기 가상 영역 V0에 대해서 상기 가상 영역 V0과 관련한 A0 <= C0을 만족하도록 상기 스페어 로우를 할당하는 과정을 반복 수행한다(S2990).
또한, 상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은 경우, 상기 분석 장치(200)는 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 2차로 확인한다.
일 예로, 상기 선택된 가상 영역 V0에서의 복구되지 않고 결함이 있는 컬럼의 개수인 A0(예를 들어 8)가 상기 선택된 가상 영역 V0에서의 사용 가능한 스페어 컬럼의 개수인 C0(예를 들어 8)와 같을 때, 상기 분석 장치(200)는 상기 모든 가상 영역(예를 들어 V0 ~ V3)에 대해서, 상기 모든 가상 영역(예를 들어 V0 ~ V3)에서의 복구되지 않고 결함이 있는 컬럼의 개수(A0, A1, A2, A3)가 해당 모든 가상 영역(예를 들어 V0 ~ V3)에서의 사용 가능한 스페어 컬럼의 개수(C0, C1, C2, C3)보다 작거나 같은지 여부를 2차로 확인한다(S3000).
상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은 경우, 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 가상 영역에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다.
일 예로, 상기 모든 가상 영역(예를 들어 V0 ~ V3)에 대해서, 상기 모든 가상 영역(예를 들어 V0 ~ V3)에서의 복구되지 않고 결함이 있는 컬럼의 개수(A0, A1, A2, A3)가 해당 모든 가상 영역(예를 들어 V0 ~ V3)에서의 사용 가능한 스페어 컬럼의 개수(C0, C1, C2, C3)보다 작거나 같을 때, 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 모든 가상 영역(예를 들어 V0 ~ V3)과 관련한 K 비트의 위치 정보, 해당 모든 가상 영역(예를 들어 V0 ~ V3)과 관련한 M+N-K 비트의 위치 정보 및 해당 모든 가상 영역(예를 들어 V0 ~ V3)에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 스페어 셀의 할당 결과에 따른 결함 주소를 저장하고, 결함 복구 과정을 종료한다(S3010).
또한, 상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같지 않은 경우(또는 복구되지 않고 결함이 있는 컬럼의 개수(AY) 중에서 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 큰 경우가 적어도 하나 이상 존재하는 경우), 상기 분석 장치(200)는 상기 정렬된 모든 가상 영역(VY) 중에서 결함이 복구되지 않은 다음 순서의 가상 영역(또는 새로운 가상 영역)(VD)을 선택하는 과정으로 복귀한다.
즉, 해당 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때까지 반복 수행한 이후, 상기 분석 장치(200)는 새로운 가상 영역(VD)을 선택하고, 상기 선택된 새로운 가상 영역(VD)에 대해서 상기 선택된 새로운 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 새로운 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정과, 해당 선택된 새로운 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 해당 선택된 새로운 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때까지 반복 수행한다.
이와 같이, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼에 대한 스페어 로우 할당 과정을 통해, 모든 가상 영역(VY)에 대해서 스페어 컬럼 할당 과정을 수행할 수 있다.
일 예로, 상기 가상 영역 V0에 대한 스페어 로우 할당이 완료된 이후, 상기 모든 가상 영역(예를 들어 V0 ~ V3)에 대해서, 복구되지 않고 결함이 있는 컬럼의 개수(A2)가 해당 모든 가상 영역에서의 사용 가능한 스페어 컬럼의 개수(C2)보다 클 때, 상기 분석 장치(200)는 상기 도 30에 도시된 상기 정렬된 모든 가상 영역(예를 들어 V0 ~ V3)에 대한 차이 값(AY-CY) 중에서, 결함이 복구되지 않은 가상 영역인 두 번째 순서에 위치한 A2-C2(15-8=7)에 대응하는 V2를 선택하고, 상기 선택된 가상 영역 V2에 대해서 스페어 로우를 할당하는 과정을 반복 수행한다.
즉, 도 39 내지 도 45에 도시된 바와 같이, 상기 분석 장치(200)는 상기 가상 영역 V2에 대해서 상기 가상 영역 V2과 관련한 A2 <= C2를 만족하도록 상기 스페어 로우를 할당하는 과정을 반복 수행한다.
또한, 상기 분석 장치(200)는 상기 가상 영역 V2에 대한 스페어 로우 할당이 완료된 이후, 상기 도 31에 도시된 상기 모든 가상 영역(예를 들어 V0 ~ V3)에 대한 차이 값(AY-CY) 중에서, 결함이 복구되지 않은 가상 영역인 세 번째 순서에 위치한 A1-C1(8-7=1)에 대응하는 V1을 선택하고, 상기 선택된 가상 영역 V1에 대해서 스페어 로우를 할당하는 과정을 반복 수행한다.
즉, 도 46에 도시된 바와 같이, 상기 분석 장치(200)는 상기 가상 영역 V1에 대해서 상기 가상 영역 V1과 관련한 A1 <= C1를 만족하도록 상기 스페어 로우를 할당하는 과정을 수행하여, 상기 모든 가상 영역(예를 들어 V0 ~ V3)에 대한 스페어 컬럼 할당 과정을 수행하고, 복구가 성공하고 전체 스페어 로우 할당 과정이 종료된다(S3020).
만약, 남아 있는(또는 사용 가능한) 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과하는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료한다.
도 47은 본 발명의 실시예에 따른 패스트 로우-우선(fast row-first)을 근거로 한 메모리 관리 방법을 나타낸 흐름도이다.
먼저, 분석 장치(200)는 물리 영역(또는 물리 기본 영역, PX)과 가상 영역(또는 가상 기본 영역, VY)에 대해서, 결함 개수(fX ,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY), 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY) 등의 관계를 나타내는 결함 정보 관리 테이블을 생성한다. 이때, 상기 X는 물리 영역을 나타내고, Y는 가상 영역을 나타낸다.
여기서, 상기 분석 장치(200)에 의해서, 상기 가상 영역은 정보 저장 위치를 해싱하는 정보 관리 단위 영역(또는 단위 영역)을 물리 기본영역으로 매핑하고, 상기 물리 기본영역(또는 상기 매핑된 물리 기본영역)을 동일한 크기의 복수의 물리 서브 영역으로 나눈 상태에서, 구성 가능한 모든 조합 중 하나일 수 있다.
또한, 상기 분석 장치(200)는 상기 구성 가능한 모든 조합에 대해 메모리 관리 방법을 통해 미리 설정된 목표값을 만족하는지 여부를 확인한다. 이때, 상기 목표값은 저장할 정보에 대응하여 미리 설정된 값(또는 해당 저장할 정보를 만족시키기 위한 값)으로, 리던던트 셀(redundant cell)을 이용한 메모리 리페어(또는 메모리 복구)를 적용하는 메모리 시스템의 경우, 해당 메모리 시스템에 제공된 미리 설정된 사용 가능한(또는 해당 메모리 시스템에서 사용 가능한) 스페어 셀(spare cell)의 수(예를 들어 스페어 로우(spare row)의 수, 스페어 컬럼(spare column)의 수 등 포함)일 수 있다. 즉, 상기 목표값은 상기 저장할 정보에 대응하여 미리 설정된 값으로 매핑된 모든 물리 기본영역에 사용가능한 동일한 리소스의 수일 수 있다. 또한, 결함 메모리 블록을 회피하는 메모리 시스템의 경우, 상기 목표값은 상기 메모리 시스템의 모든 물리 기본영역에 사용가능한 동일한 메모리 블록의 수일 수 있다.
또한, 상기 조합된 가상 기본영역 내의 저장할 정보의 수가 상기 미리 설정된 목표값을 만족하는 경우, 상기 분석 장치(200)는 M+N 비트 중에서, 해당 목표값을 만족하는 해당 가상 기본영역과 관련한 K 비트의 위치 정보와, 해당 목표값을 만족하는 해당 가상 서브영역과 관련한 M+N-K 비트의 위치 정보를 상기 저장 매체(100) 내의 미리 설정된(또는 미리 할당된) 저장 영역에 저장한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다. 여기서, 상기 M은 물리 영역의 개수를 나타내고, 상기 N은 가상 영역의 개수를 나타내고, 상기 M, N 및 K는 자연수이다. 또한, 상기 K의 크기는 상기 정보 저장 테이블(110)을 접근하기 위한 비트 수일 수 있다(S4710).
이후, 상기 분석 장치(200)는 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY) 간의 차이 값(AY-CY)을 각각 연산한다.
또한, 상기 분석 장치(200)는 상기 연산된 차이 값(AY-CY)을 정렬한다. 이때, 정렬 방식은 내림 차순, 오름 차순 등일 수 있다.
즉, 상기 분석 장치(200)는 상기 연산된 차이 값(AY-CY)을 근거로 상기 연산된 차이 값(AY-CY) 및 상기 차이 값(AY-CY)에 대응하는 가상 영역(VY)을 정렬한다(S4720).
이후, 상기 분석 장치(200)는 상기 정렬된 순서대로, 결함이 복구되지 않은 가상 영역(VD)을 선택한다. 여기서, 상기 D는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차 값을 이용하여 가상 영역을 내림 차순으로 정렬하고, 정렬된 순서대로 결함이 복구되지 않은 가상 영역을 선택한 값일 수 있다(S4730).
이후, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인한다(S4740).
상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 큰 경우, 상기 분석 장치(200)는 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단한다(S4750).
상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료한다(S4760).
또한, 상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 가상 영역(VD)의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VD)에 대해서), (PX,VD)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택한다.
또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인한다(S4770).
이후, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)의 (fA ,D)의 값을 제 1 개수인 해당 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 제 2 개수인 해당 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시킨다. 또한, 상기 분석 장치(200)는 사용 가능한 스페어 로우의 개수(RA)를 제 3 개수인 사용한 스페어 로우의 개수만큼 감소시킨다(S4780).
이후, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정(예를 들어 S4740 단계)으로 복귀하여, 해당 선택된 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 해당 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때까지 반복 수행한다(S4790).
또한, 상기 1차 확인 결과, 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은 경우, 상기 분석 장치(200)는 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 2차로 확인한다(S4800).
상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은 경우, 상기 분석 장치(200)는 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 2차로 판단한다(S4810).
상기 2차 판단 결과, 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는 경우, 상기 분석 장치(200)는 상기 정렬된 순서대로, 결함이 복구되지 않은 다음 순서의 가상 영역(VD)을 선택한다. 여기서, 상기 D는 결함이 있는 컬럼의 개수와 스페어 컬럼의 개수 간의 차 값을 이용하여 가상 영역을 내림 차순으로 정렬하고, 정렬된 순서대로 결함이 복구되지 않은 가상 영역을 선택한 값일 수 있다.
또한, 상기 분석 장치(200)는 상기 새로 선택된 다음 순서의 가상 영역에 대해서, 해당 다음 순서의 가상 영역의 모든 물리 영역(PX)에 대해서(또는 상기 가상 영역(VD)에 대해서), (PX,VD)에 결함이 있고, 해당 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하고, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인하는 과정(또는 S4770 단계)으로 복귀한다(S4820).
또한, 상기 2차 판단 결과, 해당 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않는 경우, 상기 분석 장치(200)는 상기 분석 장치(200)는 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 가상 영역에 대응하는 저장 매체(100) 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료한다. 여기서, 상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 상기 가상 기본영역의 키 값(또는 K 비트의 위치)에 대응하는 '0'(또는 K 비트)과, 상기 가상 서브영역의 키 값(또는 M+N-K 비트의 위치)에 대응하는 '1'(또는 M+N-K 비트)로 구성한다(S4830).
또한, 상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같지 않은 경우(또는 복구되지 않고 결함이 있는 컬럼의 개수(AY) 중에서 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 큰 경우가 적어도 하나 이상 존재하는 경우), 상기 분석 장치(200)는 상기 정렬된 모든 가상 영역(VY) 중에서 결함이 복구되지 않은 가상 영역(VD)을 선택하는 과정으로 복귀한다.
또한, 해당 선택된 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때까지 반복 수행한 이후, 상기 분석 장치(200)는 새로운 가상 영역(VD)을 선택하고, 상기 선택된 새로운 가상 영역(VD)에 대해서 상기 선택된 새로운 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 새로운 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정과, 해당 선택된 새로운 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 해당 선택된 새로운 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때까지 반복 수행한다.
이와 같이, 상기 분석 장치(200)는 상기 선택된 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼에 대한 스페어 로우 할당 과정을 통해, 모든 가상 영역(VY)에 대해서 스페어 컬럼 할당 과정을 수행할 수 있다(S4840).
만약, 남아 있는(또는 사용 가능한) 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과하는 경우, 상기 분석 장치(200)는 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료한다.
본 발명의 실시예는 앞서 설명된 바와 같이, 메모리의 결함을 복구하는 시스템에서 제한된 스페어 셀을 물리 영역과 가상 영역에 대해 최적으로 분배(또는 할당)하여, 메모리 칩의 수율을 높일 수 있다.
또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 서브어레이가 단위 영역의 물리 영역이 되고, 이를 재조합한 가상 영역을 각각 별개의 스페어 셀에 최적으로 분배하여 결함 복구를 최대화하여, 시스템의 목적에 따라 여분의 스페어 셀의 활용 가능성을 높일 수 있다.
또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 가상 영역의 설계 목표값뿐만 아니라 물리 영역의 설계 목표값을 동시에 만족하는 스페어 셀의 할당을 제공하고, 할당 시점의 K 비트의 위치 정보, M+N-K 비트의 위치 정보 및 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 스페어 셀의 할당 결과에 따라 결함 주소를 저장하여, 물리 영역과 가상 영역에 대해서 각각 최소의 스페어 셀을 사용하여 최적의 효율을 제공할 수 있다.
또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 패스트 컬럼-우선(fast column-first) 알고리즘과 패스트 로우-우선(fast row-first) 알고리즘을 통해 선택된 가상 영역에 대해 컬럼 또는 로우를 사용하여 반복적으로 복구를 수행한 후, 다음 가상 영역에 대한 복구를 수행하여, 전체 복구 시간을 단축시킬 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명은 메모리의 결함을 복구하는 시스템에서 제한된 스페어 셀을 물리 영역과 가상 영역에 대해 최적으로 분배(또는 할당)함으로써, 메모리 칩의 수율을 높일 수 있는 것으로, 메모리 분야 등의 정보 저장 디바이스에서 광범위하게 이용될 수 있다.
10: 분석 시스템/메모리 관리 시스템 100: 저장 매체
110: 정보 저장 테이블 200: 분석 장치

Claims (32)

  1. 물리적으로 고정된 셀의 집합으로 구성된 물리 영역(PX)을 위한 제 1 스페어 셀(spare cell)과 해싱을 이용하여 논리적으로 재구성된 가상 영역(VY)을 위한 제 2 스페어 셀이 존재하며, 결함을 상기 물리 영역의 제 1 스페어 셀 또는 상기 가상 영역의 제 2 스페어 셀로 복구(repair)하는 메모리 관리 방법에 있어서,
    분석 장치를 통해, 상기 물리 영역(PX)에서 가상 영역의 결함 컬럼의 개수를 고려하여 스페어 로우(spare row)의 주소로 결함 주소를 대체하여 결함을 복구하는 단계; 및
    상기 분석 장치를 통해, 상기 가상 영역(VY)에서 스페어 컬럼(spare column)의 주소로 결함 주소를 대체하여 결함을 복구하는 단계를 포함하는 메모리 관리 방법.
  2. 물리적으로 고정된 셀의 집합으로 구성된 물리 영역(PX)을 위한 제 1 스페어 셀과 해싱을 이용하여 논리적으로 재구성된 가상 영역(VY)을 위한 제 2 스페어 셀이 존재하며, 결함을 상기 물리 영역의 제 1 스페어 셀 또는 상기 가상 영역의 제 2 스페어 셀로 복구하는 메모리 관리 방법에 있어서,
    분석 장치를 통해, 상기 가상 영역에서 물리 영역의 결함 컬럼의 개수를 고려하여 우선적으로 결함을 복구하는 단계를 포함하는 메모리 관리 방법.
  3. 제 2 항에 있어서,
    상기 가상 영역에서 우선적으로 결함을 복구하는 단계는,
    상기 분석 장치를 통해, 상기 물리 영역(PX) 및 가상 영역(VY)과 관련한 결함 정보 관리 테이블을 생성하는 단계;
    상기 분석 장치를 통해, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 제 1 가상 영역(VQ)을 선택하는 단계;
    상기 분석 장치를 통해, 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 제 1 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같은지 여부를 확인하는 단계; 및
    상기 확인 결과, 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 제 1 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 클 때, 상기 분석 장치를 통해, 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 상기 제 1 가상 영역(VQ)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
  4. 제 3 항에 있어서,
    상기 결함 정보 관리 테이블은,
    상기 물리 영역(PX)과 상기 가상 영역(VY)에 대해서, 결함 개수(fX,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 상기 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY) 및 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)의 관계를 나타내는 것을 특징으로 하는 메모리 관리 방법.
  5. 제 3 항에 있어서,
    상기 확인 결과, 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 제 1 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때, 상기 분석 장치를 통해, 결함 복구가 성공적으로 완료된 것으로 확인하고, 결함 복구 완료 시점에서의 상기 가상 영역과 관련한 K 비트의 위치 정보, 상기 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하는 단계를 더 포함하며,
    상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 가상 기본영역의 키 값에 대응하는 '0'과, 가상 서브영역의 키 값에 대응하는 '1'로 구성하며,
    상기 M, N 및 K는 자연수이고, 상기 K는 M+N보다 작거나 같은 것을 특징으로 하는 메모리 관리 방법.
  6. 제 3 항에 있어서,
    상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  7. 제 3 항에 있어서,
    사용 가능한 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과할 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  8. 제 3 항에 있어서,
    상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 제 1 가상 영역(VQ)의 모든 물리 영역(PX)에 대해서, (PX,VQ)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인하는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA,Q)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키는 단계;
    상기 분석 장치를 통해, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키는 단계; 및
    상기 분석 장치를 통해, 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 제 1 가상 영역(VQ)을 선택하는 과정으로 복귀하여, 스페어 로우를 할당하는 과정을 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 제 1 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때까지 반복 수행하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  9. 제 2 항에 있어서,
    상기 가상 영역에서 우선적으로 결함을 복구하는 단계는,
    상기 분석 장치를 통해, 물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 생성하는 단계;
    상기 분석 장치를 통해, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차이 값(AY-CY)을 각각 연산하는 단계;
    상기 분석 장치를 통해, 상기 연산된 차이 값(AY-CY)을 근거로 상기 연산된 차이 값(AY-CY) 및 상기 차이 값(AY-CY)에 대응하는 가상 영역(VY)을 정렬하는 단계;
    상기 분석 장치를 통해, 상기 정렬된 순서대로, 결함이 복구되지 않은 제 2 가상 영역(VD)을 선택하는 단계;
    상기 분석 장치를 통해, 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 단계; 및
    상기 1차 확인 결과, 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 클 때, 상기 분석 장치를 통해, 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 상기 제 2 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
  10. 제 9 항에 있어서,
    상기 결함 정보 관리 테이블은,
    상기 물리 영역(PX)과 상기 가상 영역(VY)에 대해서, 결함 개수(fX,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 상기 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY) 및 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)의 관계를 나타내는 것을 특징으로 하는 메모리 관리 방법.
  11. 제 9 항에 있어서,
    상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 제 2 가상 영역(VD)의 모든 물리 영역(PX)에 대해서, (PX,VD)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인하는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)의 (fA,D)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키는 단계;
    상기 분석 장치를 통해, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키는 단계; 및
    상기 분석 장치를 통해, 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 상기 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정으로 복귀하여, 상기 선택된 제 2 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 상기 선택된 제 2 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 상기 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때까지 반복 수행하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  12. 제 9 항에 있어서,
    상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  13. 제 9 항에 있어서,
    상기 1차 확인 결과, 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때, 상기 분석 장치를 통해, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 2차로 확인하는 단계;
    상기 2차 확인 결과, 상기 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때, 상기 분석 장치를 통해, 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하는 단계;
    상기 2차 확인 결과, 상기 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 클 때, 상기 분석 장치를 통해, 상기 정렬된 제 2 가상 영역(VD) 중에서 결함이 복구되지 않은 다음 순서의 가상 영역을 선택하는 단계를 더 포함하며,
    상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 가상 기본영역의 키 값에 대응하는 '0'과, 가상 서브영역의 키 값에 대응하는 '1'로 구성하며,
    상기 M, N 및 K는 자연수이고, 상기 K는 M+N보다 작거나 같은 것을 특징으로 하는 메모리 관리 방법.
  14. 제 9 항에 있어서,
    사용 가능한 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과할 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  15. 물리적으로 고정된 셀의 집합으로 구성된 물리 영역(PX)을 위한 위한 제 1 스페어 셀과 해싱을 이용하여 논리적으로 재구성된 가상 영역(VY)을 위한 제 2 스페어 셀이 존재하며, 결함을 상기 물리 영역의 제 1 스페어 셀 또는 상기 가상 영역의 제 2 스페어 셀로 복구하는 메모리 관리 시스템에 있어서,
    상기 물리 영역 및 상기 가상 영역과 관련한 결함 정보 관리 테이블을 저장하는 저장 매체; 및
    상기 가상 영역에서 물리 영역의 결함 컬럼의 개수를 고려하여 우선적으로 결함을 복구하는 분석 장치를 포함하는 메모리 관리 시스템.
  16. 제 15 항에 있어서,
    상기 분석 장치는,
    물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 생성하고, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 제 1 가상 영역(VQ)을 선택하고, 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 제 1 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같은지 여부를 확인하고, 상기 확인 결과, 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 제 1 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 클 때, 상기 제 1 가상 영역(VQ)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단하는 것을 특징으로 하는 메모리 관리 시스템.
  17. 제 15 항에 있어서,
    상기 결함 정보 관리 테이블은,
    상기 물리 영역(PX)과 상기 가상 영역(VY)에 대해서, 결함 개수(fX,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 상기 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY) 및 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)의 관계를 나타내는 것을 특징으로 하는 메모리 관리 시스템.
  18. 제 16 항에 있어서,
    상기 분석 장치는,
    상기 확인 결과, 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 제 1 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때, 결함 복구가 성공적으로 완료된 것으로 확인하고, 결함 복구 완료 시점에서의 상기 가상 영역과 관련한 K 비트의 위치 정보, 상기 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하며,
    상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 가상 기본영역의 키 값에 대응하는 '0'과, 가상 서브영역의 키 값에 대응하는 '1'로 구성하며,
    상기 M, N 및 K는 자연수이고, 상기 K는 M+N보다 작거나 같은 것을 특징으로 하는 메모리 관리 시스템.
  19. 제 16 항에 있어서,
    상기 분석 장치는,
    상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 것을 특징으로 하는 메모리 관리 시스템.
  20. 제 15 항에 있어서,
    상기 분석 장치는,
    사용 가능한 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과할 때, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 것을 특징으로 하는 메모리 관리 시스템.
  21. 제 16 항에 있어서,
    상기 분석 장치는,
    상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 제 1 가상 영역(VQ)의 모든 물리 영역(PX)에 대해서, (PX,VQ)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하고, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인하고, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA,Q)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키고, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키고, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키고, 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 제 1 가상 영역(VQ)을 선택하는 과정으로 복귀하여, 스페어 로우를 할당하는 과정을 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)가 상기 제 1 가상 영역(VQ)에서의 사용 가능한 스페어 컬럼의 개수(CQ)보다 작거나 같을 때까지 반복 수행하는 것을 특징으로 하는 메모리 관리 시스템.
  22. 물리적으로 고정된 셀의 집합으로 구성된 물리 영역(PX)을 위한 제 1 스페어 셀과 해싱을 이용하여 논리적으로 재구성된 가상 영역(VY)을 위한 제 2 스페어 셀이 존재하며, 결함을 상기 물리 영역의 제 1 스페어 셀 또는 상기 가상 영역의 제 2 스페어 셀로 복구(repair)하는 메모리 관리 방법에 있어서,
    분석 장치를 통해, 상기 물리 영역(PX)에서 가상 영역의 결함 컬럼의 개수를 고려하여 우선적으로 결함을 복구하는 단계를 포함하는 메모리 관리 방법.
  23. 제 22 항에 있어서,
    상기 물리 영역에서 우선적으로 결함을 복구하는 단계는,
    상기 분석 장치를 통해, 물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 생성하는 단계;
    상기 분석 장치를 통해, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 제 1 가상 영역(VQ)을 선택하는 단계;
    상기 분석 장치를 통해, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 판단하는 단계; 및
    상기 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 모든 가상 영역에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 상기 가상 영역에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 확인하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
  24. 제 23 항에 있어서,
    상기 확인 결과, 상기 모든 가상 영역에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 상기 가상 영역에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때, 상기 분석 장치를 통해, 결함 복구가 성공적으로 완료된 것으로 확인하고, 결함 복구 완료 시점에서의 상기 가상 영역과 관련한 K 비트의 위치 정보, 상기 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하는 단계를 더 포함하며,
    상기 K 비트의 위치 정보의 값과 상기 M+N-K 비트의 위치 정보의 값은 벡터 형태로 구성되며, 각 비트의 위치를 가상 기본영역의 키 값에 대응하는 '0'과, 가상 서브영역의 키 값에 대응하는 '1'로 구성하며,
    상기 M, N 및 K는 자연수이고, 상기 K는 M+N보다 작거나 같은 것을 특징으로 하는 메모리 관리 방법.
  25. 제 23 항에 있어서,
    상기 확인 결과, 상기 모든 가상 영역에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 상기 가상 영역에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 클 때, 상기 분석 장치를 통해, 상기 가상 영역(VY)에서의 사용 가능한 스페어 로우만으로는 복구가 불가능한 상태로 판단하여, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  26. 제 23 항에 있어서,
    상기 판단 결과, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 가상 영역의 모든 물리 영역(PX)에 대해서), (PX,VQ)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)에서 상기 선택된 제 1 가상 영역(VQ)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 최대로 감소시킬 수 있는 로우를 확인하는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VQ)의 (fA,Q)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AQ)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키는 단계;
    상기 분석 장치를 통해, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키는 단계; 및
    상기 분석 장치를 통해, 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 갖는 제 1 가상 영역(VQ)을 선택하는 과정으로 복귀하여, 상기 스페어 로우를 할당하는 과정을 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 0일 때까지 반복 수행하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  27. 제 22 항에 있어서,
    상기 물리 영역에서 우선적으로 결함을 복구하는 단계는,
    상기 분석 장치를 통해, 물리 영역 및 가상 영역과 관련한 결함 정보 관리 테이블을 생성하는 단계;
    상기 분석 장치를 통해, 상기 결함 정보 관리 테이블에 포함된 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차이 값(AY-CY)을 각각 연산하는 단계;
    상기 분석 장치를 통해, 상기 연산된 차이 값(AY-CY)을 근거로 상기 연산된 차이 값(AY-CY) 및 상기 차이 값(AY-CY)에 대응하는 가상 영역(VY)을 정렬하는 단계;
    상기 분석 장치를 통해, 상기 정렬된 순서대로, 결함이 복구되지 않은 제 2 가상 영역(VD)을 선택하는 단계;
    상기 분석 장치를 통해, 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 단계;
    상기 1차 확인 결과, 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 클 때, 상기 분석 장치를 통해, 스페어 컬럼만으로는 복구가 불가능한 상태로 판단하여, 스페어 로우로 복구하기 위해서, 상기 제 2 가상 영역(VD)에서, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 1차로 판단하는 단계;
    상기 1차 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 제 2 가상 영역(VD)의 모든 물리 영역(PX)에 대해서, (PX,VD)에 결함이 있고, 상기 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 최대인 물리 영역(PA)을 하나 선택하는 단계; 및
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)에서 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 최대로 감소시킬 수 있는 로우를 확인하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
  28. 제 27 항에 있어서,
    상기 결함 정보 관리 테이블은,
    상기 물리 영역(PX)과 상기 가상 영역(VY)에 대해서, 결함 개수(fX,Y), 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX), 상기 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY) 및 상기 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)의 관계를 나타내는 것을 특징으로 하는 메모리 관리 방법.
  29. 제 27 항에 있어서,
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 (PA, VD)의 (fA,D)의 값을 스페어 로우를 통해 복구될 수 있는 결함의 개수만큼 감소시키는 단계;
    상기 분석 장치를 통해, 상기 선택된 물리 영역(PA)에 대응하는 복구되지 않고 결함이 있는 컬럼의 개수(AD)를 상기 스페어 로우를 통해 복구될 수 있어 결함 복구가 필요없는 컬럼의 개수만큼 감소시키는 단계;
    상기 분석 장치를 통해, 사용 가능한 스페어 로우의 개수(RA)를 사용한 스페어 로우의 개수만큼 감소시키는 단계; 및
    상기 분석 장치를 통해, 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 상기 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같은지 여부를 1차로 확인하는 과정으로 복귀하여, 상기 선택된 제 2 가상 영역(VD)에 대해서 상기 스페어 로우를 할당하는 과정을 상기 선택된 제 2 가상 영역(VD)에 대해서 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 상기 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때까지 반복 수행하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  30. 제 27 항에 있어서,
    상기 1차 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전체 과정을 종료하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  31. 제 27 항에 있어서,
    상기 1차 확인 결과, 상기 선택된 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 작거나 같을 때, 상기 분석 장치를 통해, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 모든 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같은지 여부를 2차로 확인하는 단계;
    상기 2차 확인 결과, 모든 가상 영역(VY)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AY)가 해당 가상 영역(VY)에서의 사용 가능한 스페어 컬럼의 개수(CY)보다 작거나 같을 때, 상기 분석 장치를 통해, 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하는지 여부를 2차로 판단하는 단계;
    상기 2차 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재할 때, 상기 분석 장치를 통해, 상기 정렬된 순서대로, 결함이 복구되지 않은 다음 순서의 제 2 가상 영역(VD)을 선택하는 단계;
    상기 2차 판단 결과, 상기 모든 물리 영역(PX)에 대해 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 미리 설정된 0보다 큰 각 물리 영역에서 사용 가능한 스페어 로우의 개수(RX)가 존재하지 않을 때, 상기 분석 장치를 통해, 결함 복구가 성공적으로 완료된 것으로 확인하고, 해당 결함 복구 완료 시점에서의 해당 가상 영역과 관련한 K 비트의 위치 정보, 해당 가상 영역과 관련한 M+N-K 비트의 위치 정보 및 해당 스페어 셀의 할당 결과에 따른 결함 주소를 상기 가상 영역에 대응하는 저장 매체 내의 물리 영역과 가상 영역으로 관리되는 결함 주소 저장 공간에 저장하고, 전체 과정을 종료하는 단계; 및
    상기 2차 확인 결과, 제 2 가상 영역(VD)에서의 복구되지 않고 결함이 있는 컬럼의 개수(AD)가 해당 제 2 가상 영역(VD)에서의 사용 가능한 스페어 컬럼의 개수(CD)보다 클 때, 상기 분석 장치를 통해, 상기 정렬된 모든 가상 영역(VY) 중에서 결함이 복구되지 않은 가상 영역(VD)을 선택하는 과정으로 복귀하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
  32. 제 27 항에 있어서,
    사용 가능한 스페어 로우가 없으면서 각 가상 영역에서 복구되지 않고 결함이 있는 컬럼의 개수(AY)와 각 가상 영역에서 사용 가능한 스페어 컬럼의 개수(CY)의 차(AY-CY)가 최대값을 가지는 가상 영역 VY의 AY 값이 CY 값을 초과할 때, 상기 분석 장치를 통해, 결함 복구가 실패한 것으로 판단하고, 전제 과정을 종료하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
KR1020160086017A 2016-07-07 2016-07-07 메모리 관리 시스템 및 그 방법 KR101963629B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160086017A KR101963629B1 (ko) 2016-07-07 2016-07-07 메모리 관리 시스템 및 그 방법
US15/641,670 US10776227B2 (en) 2016-07-07 2017-07-05 Memory management system and method thereof
CN201710552316.5A CN107590031B (zh) 2016-07-07 2017-07-07 存储器管理系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160086017A KR101963629B1 (ko) 2016-07-07 2016-07-07 메모리 관리 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20180005844A KR20180005844A (ko) 2018-01-17
KR101963629B1 true KR101963629B1 (ko) 2019-03-29

Family

ID=60910786

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160086017A KR101963629B1 (ko) 2016-07-07 2016-07-07 메모리 관리 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US10776227B2 (ko)
KR (1) KR101963629B1 (ko)
CN (1) CN107590031B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102122821B1 (ko) * 2018-02-26 2020-06-15 고려대학교 산학협력단 결함 정보 저장 테이블을 이용한 리페어 분석 시스템 및 그의 리페어 분석 방법
CN110610737B (zh) * 2018-06-14 2021-10-29 珠海兴芯存储科技有限公司 存储器的修复方法
CN110797071B (zh) * 2019-10-31 2021-10-22 西安紫光国芯半导体有限公司 一种多子块nand闪存缺陷的修复方法
CN111158589B (zh) * 2019-12-16 2023-10-20 绿晶半导体科技(北京)有限公司 存储阵列的动态管理方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173778A (ja) 2011-02-17 2012-09-10 Sony Corp 管理装置、および管理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100297709B1 (ko) * 1998-04-21 2001-08-07 윤종용 다수개의메모리뱅크를구비하는반도체메모리장치의테스트방법및반도체메모리테스트장비
JP5032155B2 (ja) * 2007-03-02 2012-09-26 株式会社東芝 不揮発性半導体記憶装置、及び不揮発性半導体記憶システム
KR100907708B1 (ko) * 2007-11-02 2009-07-14 한양대학교 산학협력단 저장 장치의 오류 복구 방법, 저장 장치의 정보 저장 방법,오류 복구 시스템 및 오류 저장 시스템
JP5010505B2 (ja) * 2008-03-01 2012-08-29 株式会社東芝 メモリシステム
KR101615623B1 (ko) * 2009-05-27 2016-04-27 삼성전자주식회사 정보 저장 매체, 기록 재생 방법 및 기록 재생 장치
JP5549249B2 (ja) * 2010-02-04 2014-07-16 富士通株式会社 ストレージ装置、ストレージ装置のデータ復元方法及びストレージコントローラ
JP4987997B2 (ja) * 2010-02-26 2012-08-01 株式会社東芝 メモリシステム
KR20120124285A (ko) * 2011-05-03 2012-11-13 삼성전자주식회사 배드 블록 관리를 위한 방법 및 메모리 시스템
US9063749B2 (en) 2011-05-27 2015-06-23 Qualcomm Incorporated Hardware support for hashtables in dynamic languages
KR102072449B1 (ko) * 2012-06-01 2020-02-04 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법
US9633066B1 (en) * 2014-10-13 2017-04-25 Veritas Technologies Llc Taking a consistent cut during replication for storage across multiple nodes without blocking input/output
FR3045182A1 (fr) * 2015-12-15 2017-06-16 Stmicroelectronics Rousset Procede et dispositif de gestion d'espace memoire

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173778A (ja) 2011-02-17 2012-09-10 Sony Corp 管理装置、および管理方法

Also Published As

Publication number Publication date
CN107590031A (zh) 2018-01-16
CN107590031B (zh) 2021-12-24
KR20180005844A (ko) 2018-01-17
US20180011770A1 (en) 2018-01-11
US10776227B2 (en) 2020-09-15

Similar Documents

Publication Publication Date Title
KR101963629B1 (ko) 메모리 관리 시스템 및 그 방법
US10296237B2 (en) System and method for raid management, reallocation, and restripping
US7996736B2 (en) Bad page marking strategy for fast readout in memory
JP3581249B2 (ja) 半導体不良ビット救済処理方法及び半導体不良ビット救済処理装置
CN103455386B (zh) 一种修复出错数据的方法和设备
CN107544858B (zh) 基于物理区域和虚拟区域应用故障修复的存储器设备及其控制方法
US11200962B2 (en) Memory devices having spare column remap storages and methods of remapping column addresses in the memory devices
CN105989899B (zh) 存储器修补方法及其应用元件
US8321726B2 (en) Repairing memory arrays
KR101754348B1 (ko) 정보 저장 테이블을 관리하는 분석 시스템 및 그의 제어 방법
WO2022037199A1 (zh) 失效位元的修补方法及装置
KR20170079439A (ko) 메모리 디바이스 및 상기 메모리 디바이스의 리페어 분석 방법
KR101959403B1 (ko) 리페어 분석 방법 및 장치
US20230298686A1 (en) Redundancy managing method and apparatus for semiconductor memories
KR101836748B1 (ko) 다양한 여분 셀들을 이용하여 메모리 뱅크들을 수리하기 위한 장치 및 방법
KR20160085320A (ko) 스토리지 장치용 기록 방법 및 기록 장치
US20230317198A1 (en) Dynamic fault clustering method and apparatus
JP4565428B2 (ja) 半導体メモリ試験装置
CN117831596B (zh) 一种存储芯片稀疏失效单元电路的修复方法
KR20190036381A (ko) 스페어 컬럼 리맵 스토리지를 갖는 메모리 장치 및 그 메모리 장치의 컬럼 어드레스 리맵핑 방법
US20230377674A1 (en) Component overprovisioning in layered devices
JPH0224899A (ja) 救済アドレス割当て法
CN108630248A (zh) 存储器装置

Legal Events

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