KR102067014B1 - 어드레스 리매핑이 가능한 메모리 시스템 - Google Patents

어드레스 리매핑이 가능한 메모리 시스템 Download PDF

Info

Publication number
KR102067014B1
KR102067014B1 KR1020140001222A KR20140001222A KR102067014B1 KR 102067014 B1 KR102067014 B1 KR 102067014B1 KR 1020140001222 A KR1020140001222 A KR 1020140001222A KR 20140001222 A KR20140001222 A KR 20140001222A KR 102067014 B1 KR102067014 B1 KR 102067014B1
Authority
KR
South Korea
Prior art keywords
address
memory cell
logical
cell array
mapping information
Prior art date
Application number
KR1020140001222A
Other languages
English (en)
Other versions
KR20150081577A (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 KR1020140001222A priority Critical patent/KR102067014B1/ko
Priority to US14/524,476 priority patent/US10083764B2/en
Publication of KR20150081577A publication Critical patent/KR20150081577A/ko
Application granted granted Critical
Publication of KR102067014B1 publication Critical patent/KR102067014B1/ko

Links

Images

Classifications

    • 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/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Landscapes

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

Abstract

메모리 시스템은 메모리 컨트롤러, 적어도 하나의 메모리 셀 어레이, 적어도 하나의 불량 메모리 셀 위치 정보 저장 장치, 적어도 하나의 어드레스 매핑 테이블, 적어도 하나의 어드레스 변환부 및 적어도 하나의 매핑 정보 계산부를 포함한다. 메모리 컨트롤러는 논리 어드레스 신호 및 어드레스 리매핑 명령을 생성한다. 적어도 하나의 메모리 셀 어레이는 복수의 논리 블록들을 포함한다. 적어도 하나의 어드레스 매핑 테이블은 적어도 하나의 어드레스 매핑 정보를 저장한다. 적어도 하나의 어드레스 변환부는 적어도 하나의 어드레스 매핑 정보에 기초하여 논리 어드레스 신호를 적어도 하나의 메모리 셀 어레이의 물리 어드레스 신호로 변환한다. 적어도 하나의 매핑 정보 계산부는 어드레스 리매핑 명령을 수신하는 경우, 불량 메모리 셀들의 위치 정보에 기초하여 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 적어도 하나의 어드레스 매핑 정보를 생성한다.

Description

어드레스 리매핑이 가능한 메모리 시스템{MEMORY SYSTEM CAPABLE OF RE-MAPPING ADDRESS}
본 발명은 메모리 시스템에 관한 것으로서, 더욱 상세하게는 불량 메모리 셀들의 위치 정보에 기초하여 어드레스 리매핑이 가능한 메모리 시스템에 관한 것이다.
메모리 시스템을 생산하는 공정이 세분화되면서, 메모리 시스템에 포함되는 메모리 셀 어레이가 포함하는 불량 메모리 셀들의 수는 기하급수적으로 증가하고 있다. 불량 메모리 셀들을 여분 메모리 셀들로 대체하는 방법을 이용하여 메모리 셀 어레이의 기능은 복구될 수 있으나, 불량 메모리 셀들의 수가 여분 메모리 셀들의 수보다 많아서 모든 불량 메모리 셀들이 여분 메모리 셀들로 대체되지 못하는 경우, 불량 메모리 셀들을 포함하는 메모리 셀 어레이에서 정상 사용될 수 있는 부분을 최대한 늘려주는 메모리 시스템이 필요하다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 불량 메모리 셀들의 위치 정보에 기초하여 불량 메모리 셀들을 포함하는 메모리 셀 어레이에서 정상 사용될 수 있는 부분을 최대한 늘리도록 어드레스 리매핑이 가능한 메모리 시스템을 제공하는 데 있다.
상기 일 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 메모리 시스템은 메모리 컨트롤러, 적어도 하나의 메모리 셀 어레이, 적어도 하나의 불량 메모리 셀 위치 정보 저장 장치, 적어도 하나의 어드레스 매핑 테이블, 적어도 하나의 어드레스 변환부(Address translation unit) 및 적어도 하나의 매핑 정보 계산부(Mapping information calculating unit)를 포함한다. 상기 메모리 컨트롤러는 논리 어드레스 신호 및 어드레스 리매핑(Re-mapping) 명령을 생성한다. 상기 적어도 하나의 메모리 셀 어레이는 복수의 논리 블록들을 포함한다. 상기 적어도 하나의 어드레스 매핑 테이블은 적어도 하나의 어드레스 매핑 정보를 저장한다. 상기 적어도 하나의 어드레스 변환부는 상기 적어도 하나의 어드레스 매핑 정보에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 물리 어드레스 신호로 변환한다. 상기 적어도 하나의 매핑 정보 계산부는 상기 어드레스 리매핑 명령을 수신하는 경우, 상기 불량 메모리 셀들의 위치 정보에 기초하여 상기 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 상기 적어도 하나의 어드레스 매핑 정보를 생성한다.
일 실시예에 있어서, 상기 불량 메모리 셀들은 상기 적어도 하나의 메모리 셀 어레이의 제조 시에 생성될 수 있다.
일 실시예에 있어서, 상기 불량 메모리 셀들은 상기 적어도 하나의 메모리 셀 어레이의 사용 시에 생성될 수 있다.
일 실시예에 있어서, 상기 메모리 컨트롤러는 분할된 데이터 신호들의 각각을 상기 적어도 하나의 메모리 셀 어레이의 각각과 송수신할 수 있다.
일 실시예에 있어서, 상기 적어도 하나의 어드레스 변환부의 각각은 상기 적어도 하나의 어드레스 매핑 정보의 각각에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 각각의 물리 어드레스 신호로 변환할 수 있다.
일 실시예에 있어서, 상기 적어도 하나의 매핑 정보 계산부의 각각은 상기 적어도 하나의 어드레스 매핑 정보의 각각을 생성하고, 상기 적어도 하나의 어드레스 매핑 테이블의 각각은 상기 적어도 하나의 어드레스 매핑 정보의 각각을 저장할 수 있다.
일 실시예에 있어서, 상기 메모리 시스템이 하나의 어드레스 변환부, 하나의 어드레스 매핑 테이블 및 하나의 매핑 정보 계산부만을 포함하는 경우, 상기 하나의 어드레스 변환부는 상기 적어도 하나의 어드레스 매핑 정보에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 물리 어드레스 신호로 변환하고, 상기 하나의 매핑 정보 계산부는 상기 적어도 하나의 어드레스 매핑 정보를 생성하고, 상기 하나의 어드레스 매핑 테이블은 상기 적어도 하나의 어드레스 매핑 정보를 저장할 수 있다.
일 실시예에 있어서, 상기 논리 어드레스 신호는 논리 열 어드레스 신호 및 논리 행 어드레스 신호를 포함하고, 상기 물리 어드레스 신호는 물리 열 어드레스 신호 및 물리 행 어드레스 신호를 포함할 수 있다.
일 실시예에 있어서, 상기 적어도 하나의 어드레스 매핑 정보의 각각은 상기 논리 열 어드레스 신호와 상기 적어도 하나의 메모리 셀 어레이의 각각의 물리 열 어드레스 신호의 매핑 관계 및 상기 논리 행 어드레스 신호와 상기 적어도 하나의 메모리 셀 어레이의 각각의 물리 행 어드레스 신호의 매핑 관계를 포함할 수 있다.
일 실시예에 있어서, 상기 논리 블록들은 상기 적어도 하나의 메모리 셀 어레이를 구성하는 페이지(Page)일 수 있다.
일 실시예에 있어서, 상기 어드레스 리매핑 명령은 상기 메모리 시스템의 초기화 시에 생성될 수 있다.
상기 일 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 메모리 시스템은 메모리 컨트롤러, 적어도 하나의 메모리 셀 어레이, 적어도 하나의 제1 불량 메모리 셀 위치 정보 저장 장치, 적어도 하나의 제2 불량 메모리 셀 위치 정보 저장 장치, 적어도 하나의 어드레스 매핑 테이블, 적어도 하나의 어드레스 변환부(Address translation unit) 및 적어도 하나의 매핑 정보 계산부(Mapping information calculating unit)를 포함한다. 상기 메모리 컨트롤러는 논리 어드레스 신호 및 어드레스 리매핑(Re-mapping) 명령을 생성한다. 상기 적어도 하나의 메모리 셀 어레이는 복수의 논리 블록들을 포함한다. 상기 적어도 하나의 제1 불량 메모리 셀 위치 정보 저장 장치는 상기 적어도 하나의 메모리 셀 어레이의 제조 시에 생성된, 상기 적어도 하나의 메모리 셀 어레이에 포함되는 제1 불량 메모리 셀들의 위치 정보를 저장한다. 상기 적어도 하나의 제2 불량 메모리 셀 위치 정보 저장 장치는 상기 적어도 하나의 메모리 셀 어레이의 사용 중에 생성된, 상기 적어도 하나의 메모리 셀 어레이에 포함되는 제2 불량 메모리 셀들의 위치 정보를 저장한다. 상기 적어도 하나의 어드레스 매핑 테이블은 적어도 하나의 어드레스 매핑 정보를 저장한다. 상기 적어도 하나의 어드레스 변환부는 상기 적어도 하나의 어드레스 매핑 정보에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 물리 어드레스 신호로 변환한다. 상기 적어도 하나의 매핑 정보 계산부는 상기 어드레스 리매핑 명령을 수신하는 경우, 상기 제1 불량 메모리 셀들의 위치 정보 및 상기 제2 불량 메모리 셀들의 위치 정보에 기초하여 상기 제1 불량 메모리 셀 또는 상기 제2 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 상기 적어도 하나의 어드레스 매핑 정보를 생성한다.
일 실시예에 있어서, 상기 적어도 하나의 어드레스 변환부의 각각은 상기 적어도 하나의 어드레스 매핑 정보의 각각에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 각각의 물리 어드레스 신호로 변환할 수 있다.
일 실시예에 있어서, 상기 적어도 하나의 매핑 정보 계산부의 각각은 상기 적어도 하나의 어드레스 매핑 정보의 각각을 생성하고, 상기 적어도 하나의 어드레스 매핑 테이블의 각각은 상기 적어도 하나의 어드레스 매핑 정보의 각각을 저장할 수 있다.
일 실시예에 있어서, 상기 메모리 시스템이 하나의 어드레스 변환부, 하나의 어드레스 매핑 테이블 및 하나의 매핑 정보 계산부만을 포함하는 경우, 상기 하나의 어드레스 변환부는 상기 적어도 하나의 어드레스 매핑 정보에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 물리 어드레스 신호로 변환하고, 상기 하나의 매핑 정보 계산부는 상기 적어도 하나의 어드레스 매핑 정보를 생성하고, 상기 하나의 어드레스 매핑 테이블은 상기 적어도 하나의 어드레스 매핑 정보를 저장할 수 있다.
본 발명의 일 실시예에 따른 메모리 시스템은 불량 메모리 셀들의 위치 정보에 기초하여 어드레스를 리매핑하여 불량 메모리 셀들을 포함하는 페이지의 수를 최소화함으로써, 메모리 셀 어레이에서 정상 사용될 수 있는 부분을 최대한 늘릴 수 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 2a 및 2b는 도 1의 메모리 시스템의 어드레스 리매핑 과정을 나타내는 도면들이다.
도 3a 및 3b는 본 발명의 실시예들에 따른 메모리 시스템들을 나타내는 블록도들이다.
도 4a 및 4b는 도 3a 및 3b의 메모리 시스템들의 어드레스 리매핑 과정을 나타내는 도면들이다.
도 5 내지 6b는 본 발명의 실시예들에 따른 메모리 시스템들을 나타내는 블록도이다.
도 7은 본 발명의 일 실시예에 따른 메모리 시스템의 어드레스 리매핑 과정을 나타내는 순서도이다.
도 8은 본 발명의 실시예들에 따른 메모리 시스템을 모바일 시스템에 응용한 예를 나타내는 블록도이다.
도 9는 본 발명의 실시예들에 따른 메모리 시스템을 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 메모리 컨트롤러(CONTROLLER; 110) 및 메모리 장치(120)를 포함한다. 메모리 장치(120)는 메모리 셀 어레이(MCA; 124), 불량 메모리 셀 위치 정보 저장 장치(FLIS; 125), 어드레스 매핑 테이블(AMT; 122), 어드레스 변환부(ATU; 121) 및 매핑 정보 계산부(MIC; 123)를 포함한다. 메모리 컨트롤러(110)는 논리 어드레스 신호(LA) 및 어드레스 리매핑 명령(ACC)을 생성한다. 메모리 셀 어레이(124)는 복수의 논리 블록들을 포함한다. 불량 메모리 셀 위치 정보 저장 장치(125)는 메모리 셀 어레이(124)에 포함되는 불량 메모리 셀들의 위치 정보(FLI)를 저장한다. 어드레스 매핑 테이블(122)은 어드레스 매핑 정보(MI)를 저장한다. 어드레스 변환부(121)는 어드레스 매핑 정보(MI)에 기초하여 논리 어드레스 신호(LA)를 메모리 셀 어레이(124)의 물리 어드레스 신호(PA)로 변환한다. 매핑 정보 계산부(123)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 불량 메모리 셀들의 위치 정보(FLI)에 기초하여 상기 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 어드레스 매핑 정보(MI)를 생성한다. 메모리 컨트롤러(110)는 데이터 신호(DS)를 메모리 셀 어레이(124)와 송수신할 수 있다.
어드레스 리매핑 명령(ACC)은 메모리 시스템(100)의 초기화 시에 생성될 수 있다. 상기 불량 메모리 셀들은 메모리 셀 어레이(124)의 제조 시에 생성될 수 있다. 상기 불량 메모리 셀들은 메모리 셀 어레이(124)의 사용 시에 생성될 수 있다.
일 실시예에서, 매핑 정보 계산부(123)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 메모리 셀 어레이(124)가 불량 메모리 셀을 포함하고 있지 않아서 불량 메모리 셀들의 위치 정보(FLI)가 포함하는 정보가 없는 경우에도, 메모리 셀 어레이(124)에 포함되는 메모리 셀들의 수명을 연장하기 위하여 새로운 어드레스 매핑 정보를 생성할 수 있다. 상기 어드레스 매핑 테이블(122)은 상기 새로운 어드레스 매핑 정보를 저장할 수 있다. 어드레스 변환부(121)는 상기 새로운 어드레스 매핑 정보에 기초하여 논리 어드레스 신호(LA)를 메모리 셀 어레이(124)의 물리 어드레스 신호(PA)로 변환할 수 있다.
도 2a 및 2b는 도 1의 메모리 시스템의 어드레스 리매핑 과정을 나타내는 도면들이다.
도 2a를 참조하면, 메모리 셀 어레이(230a)는 도 1의 메모리 시스템(100)에 포함되는 메모리 셀 어레이(124)에 대응된다. 메모리 셀 어레이(230a)는 도 1의 메모리 시스템(100)의 메모리 셀 어레이(124)를 물리 행 어드레스 값(222a) 및 물리 열 어드레스 값(212a)에 기준하여 정렬한 것이다.
일 실시예에서, 메모리 셀 어레이(230a)는 9개의 논리 블록들(B1a, B2a, B3a, B4a, B5a, B6a, B7a, B8a, B9a)을 포함할 수 있다. 제1 논리 블록(B1a)은 제1 불량 메모리 셀(A)을 포함한다. 제3 논리 블록(B3a)은 정상 메모리 셀(232a)과 제2 불량 메모리 셀(B) 및 제3 불량 메모리 셀(C)을 포함한다. 제9 논리 블록(B9a)은 제4 불량 메모리 셀(D) 및 제5 불량 메모리 셀(E)을 포함한다. 논리 블록들(B1a, B2a, B3a, B4a, B5a, B6a, B7a, B8a, B9a)의 각각은 메모리 셀 어레이(124)를 구성하는 페이지(Page)일 수 있다.
도 1의 메모리 시스템(100)의 논리 어드레스 신호(LA)는 논리 열 어드레스 신호 및 논리 행 어드레스 신호를 포함하고, 물리 어드레스 신호(PA)는 물리 열 어드레스 신호 및 물리 행 어드레스 신호를 포함할 수 있다. 논리 열 어드레스 신호는 00h 내지 0bh의 어드레스 값들(211a) 중 하나를 가질 수 있다. 물리 열 어드레스 신호는 00h 내지 0bh의 어드레스 값들(212a) 중 하나를 가질 수 있다. 논리 행 어드레스 신호는 00h 내지 0bh의 어드레스 값들(221a) 중 하나를 가질 수 있다. 물리 행 어드레스 신호는 00h 내지 0bh의 어드레스 값들(222a)을 가질 수 있다.
도 1의 메모리 시스템(100)의 어드레스 매핑 정보(MI)는 논리 열 어드레스 신호와 메모리 셀 어레이(124)의 물리 열 어드레스 신호의 매핑 관계(213a) 및 논리 행 어드레스 신호와 메모리 셀 어레이(124)의 물리 행 어드레스 신호의 매핑 관계(223a)를 포함할 수 있다.
일 실시예에서, 논리 열 어드레스 신호와 물리 열 어드레스 신호가 동일하게 매핑되고, 논리 행 어드레스 신호와 물리 행 어드레스 신호가 동일하게 매핑되는 경우, 제1 불량 메모리 셀(A)은 논리 행 어드레스 00h 및 논리 열 어드레스 00h에 위치하고, 제2 불량 메모리 셀(B)은 논리 행 어드레스 00h 및 논리 열 어드레스 09h에 위치하고, 제3 불량 메모리 셀(C)은 논리 행 어드레스 0bh 및 논리 열 어드레스 0bh에 위치하고, 제4 불량 메모리 셀(D)은 논리 행 어드레스 09h 및 논리 열 어드레스 0ah에 위치하고, 제5 불량 메모리 셀(E)은 논리 행 어드레스 0bh 및 논리 열 어드레스 0ah에 위치한다. 이 경우, 제1 불량 메모리 셀(A)을 포함하는 제1 논리 블록(B1a), 제2 불량 메모리 셀(B) 및 제3 불량 메모리 셀(C)을 포함하는 제3 논리 블록(B3a), 제4 불량 메모리 셀(D) 및 제5 불량 메모리 셀(E)을 포함하는 제9 논리 블록(B9a)은 사용할 수 없다.
다른 실시예에서, 도 1의 메모리 시스템(100)에 포함되는 어드레스 변환부(121)는 어드레스 매핑 정보(MI)에 기초하여 논리 열 어드레스 신호를 물리 열 어드레스 신호에 일대일 매핑(213a)할 수 있으며, 논리 행 어드레스 신호를 물리 행 어드레스 신호에 일대일 매핑(223a)할 수 있다. 어드레스 변환부(121)는 논리 열 어드레스 신호 00h는 물리 열 어드레스 신호 00h에 매핑하고, 논리 열 어드레스 신호 01h는 물리 열 어드레스 신호 09h에 매핑하고, 논리 열 어드레스 신호 02h는 물리 열 어드레스 신호 0ah에 매핑하고, 논리 열 어드레스 신호 03h는 물리 열 어드레스 신호 0bh에 매핑하고, 논리 열 어드레스 신호 04h는 물리 열 어드레스 신호 01h에 매핑하고, 논리 열 어드레스 신호 05h는 물리 열 어드레스 신호 02h에 매핑하고, 논리 열 어드레스 신호 06h는 물리 열 어드레스 신호 03h에 매핑하고, 논리 열 어드레스 신호 07h는 물리 열 어드레스 신호 04h에 매핑하고, 논리 열 어드레스 신호 08h는 물리 열 어드레스 신호 05h에 매핑하고, 논리 열 어드레스 신호 09h는 물리 열 어드레스 신호 06h에 매핑하고, 논리 열 어드레스 신호 0ah는 물리 열 어드레스 신호 07h에 매핑하고, 논리 열 어드레스 신호 0bh는 물리 열 어드레스 신호 08h에 매핑(213a)할 수 있다.
어드레스 변환부(121)는 논리 행 어드레스 신호 00h는 물리 행 어드레스 신호 00h에 매핑하고, 논리 행 어드레스 신호 01h는 물리 행 어드레스 신호 09h에 매핑하고, 논리 행 어드레스 신호 02h는 물리 행 어드레스 신호 0ah에 매핑하고, 논리 행 어드레스 신호 03h는 물리 행 어드레스 신호 0bh에 매핑하고, 논리 행 어드레스 신호 04h는 물리 행 어드레스 신호 01h에 매핑하고, 논리 행 어드레스 신호 05h는 물리 행 어드레스 신호 02h에 매핑하고, 논리 행 어드레스 신호 06h는 물리 행 어드레스 신호 03h에 매핑하고, 논리 행 어드레스 신호 07h는 물리 행 어드레스 신호 04h에 매핑하고, 논리 행 어드레스 신호 08h는 물리 행 어드레스 신호 05h에 매핑하고, 논리 행 어드레스 신호 09h는 물리 행 어드레스 신호 06h에 매핑하고, 논리 행 어드레스 신호 0ah는 물리 행 어드레스 신호 07h에 매핑하고, 논리 행 어드레스 신호 0bh는 물리 행 어드레스 신호 08h에 매핑(223a)할 수 있다. 이 경우에 대하여 도 2b를 참조하여 후술한다.
도 2b를 참조하면, 메모리 셀 어레이(230b)는 도 1의 메모리 시스템(100)의 메모리 셀 어레이(124)를 논리 행 어드레스(221b) 및 논리 열 어드레스(211b)에 기준하여 정렬한 것이다. 메모리 셀 어레이(230b)는 9개의 논리 블록들(B1b, B2b, B3b, B4b, B5b, B6b, B7b, B8b, B9b)을 포함할 수 있다.
제1 불량 메모리 셀(A)은 논리 행 어드레스 00h 및 논리 열 어드레스 00h에 위치하고, 제2 불량 메모리 셀(B)은 논리 행 어드레스 00h 및 논리 열 어드레스 01h에 위치하고, 제3 불량 메모리 셀(C)은 논리 행 어드레스 00h 및 논리 열 어드레스 03h에 위치하고, 제4 불량 메모리 셀(D)은 논리 행 어드레스 01h 및 논리 열 어드레스 02h에 위치하고, 제5 불량 메모리 셀(E)은 논리 행 어드레스 03h 및 논리 열 어드레스 02h에 위치한다.
제1 불량 메모리 셀(A), 제2 불량 메모리 셀(B), 제3 불량 메모리 셀(C), 제4 불량 메모리 셀(D) 및 제5 불량 메모리 셀(E)을 포함하는 제1 논리 블록(B1b)은 사용될 수 없고, 메모리 셀 어레이(230b)에서 제1 논리 블록(B1b)을 제외한 나머지 논리 블록들(B2b, B3b, B4b, B5b, B6b, B7b, B8b, B9b)은 사용될 수 있다.
도 3a 및 3b는 본 발명의 실시예들에 따른 메모리 시스템들을 나타내는 블록도들이다.
도 3a를 참조하면, 메모리 시스템(300a)은 메모리 컨트롤러(CONTROLLER; 310a) 및 메모리 장치(320a)를 포함한다. 메모리 장치(320a)는 제1 메모리 모듈(321a), 제2 메모리 모듈(322a) 내지 제N 메모리 모듈(32Na)을 포함한다. 제1 메모리 모듈(321a)은 제1 메모리 셀 어레이(MCA31a), 제1 불량 메모리 셀 위치 정보 저장 장치(FLIS_31a), 제1 어드레스 매핑 테이블(AMT31a), 제1 어드레스 변환부(ATU31a) 및 제1 매핑 정보 계산부(MIC31a)를 포함한다. 제2 메모리 모듈(322a)은 제2 메모리 셀 어레이(MCA32a), 제2 불량 메모리 셀 위치 정보 저장 장치(FLIS_32a), 제2 어드레스 매핑 테이블(AMT32a), 제2 어드레스 변환부(ATU32a) 및 제2 매핑 정보 계산부(MIC32a)를 포함한다. 제N 메모리 모듈(32Na)은 제N 메모리 셀 어레이(MCA3Na), 제N 불량 메모리 셀 위치 정보 저장 장치(FLIS_3Na), 제N 어드레스 매핑 테이블(AMT3Na), 제N 어드레스 변환부(ATU3Na) 및 제N 매핑 정보 계산부(MIC3Na)를 포함한다. 메모리 컨트롤러(310a)는 논리 어드레스 신호(LA) 및 어드레스 리매핑 명령(ACC)을 생성한다. 메모리 셀 어레이들(MCA31a, MCA32a, MCA3Na)은 복수의 논리 블록들을 각각 포함한다.
제1 불량 메모리 셀 위치 정보 저장 장치 (FLIS_31a)는 제1 메모리 셀 어레이(MCA31a)에 포함되는 제1 불량 메모리 셀들의 위치 정보를 저장하고, 제2 불량 메모리 셀 위치 정보 저장 장치(FLIS_32a)는 제2 메모리 셀 어레이(MCA32a)에 포함되는 제2 불량 메모리 셀들의 위치 정보를 저장하고, 제N 불량 메모리 셀 위치 정보 저장 장치(FLIS_3Na)는 제N 메모리 셀 어레이(MCA3Na)에 포함되는 제3 불량 메모리 셀들의 위치 정보를 저장할 수 있다.
어드레스 매핑 테이블들(AMT31a, AMT32a, AMT3Na)의 각각은 어드레스 매핑 정보들(MI31a, MI32a, MI3Na)의 각각을 저장할 수 있다. 다시 말하면, 제1 어드레스 매핑 테이블(AMT31a)은 제1 어드레스 매핑 정보(MI31a)를 저장할 수 있고, 제2 어드레스 매핑 테이블(AMT32a)은 제2 어드레스 매핑 정보(MI32a)를 저장할 수 있고, 제N 어드레스 매핑 테이블(AMT3Na)은 제N 어드레스 매핑 정보(MI3Na)를 저장할 수 있다.
어드레스 변환부들(ATU31a, ATU32a, ATU3Na)의 각각은 논리 어드레스 신호(LA)를 어드레스 변환부들(ATU31a, ATU32a, ATU3Na)의 각각에 상응하는 메모리 셀 어레이들(MCA31a, MCA32a, MCA3Na)의 각각의 물리 어드레스 신호로 변환할 수 있다. 제1 어드레스 변환부(ATU31a)는 논리 어드레스 신호(LA)를 제1 메모리 셀 어레이(MCA31a)의 물리 어드레스 신호(PA31a)로 변환할 수 있고, 제2 어드레스 변환부(ATU32a)는 논리 어드레스 신호(LA)를 제2 메모리 셀 어레이(MCA32a)의 물리 어드레스 신호(PA32a)로 변환할 수 있고, 제N 어드레스 변환부(ATU3Na)는 논리 어드레스 신호(LA)를 제N 메모리 셀 어레이(MCA3Na)의 물리 어드레스 신호(PA3Na)로 변환할 수 있다.
매핑 정보 계산부들(MIC31a, MIC32a, MIC3Na)의 각각은 매핑 정보 계산부들(MIC31a, MIC32a, MIC3Na)의 각각에 상응하는 어드레스 매핑 정보들(MI31a, MI32a, MI3Na)의 각각을 생성할 수 있다. 제1 매핑 정보 계산부(MIC31a)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 상기 제1 불량 메모리 셀들의 위치 정보(FLI31a)에 기초하여 상기 제1 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 제1 어드레스 매핑 정보(MI31a)를 생성할 수 있다. 제2 매핑 정보 계산부(MIC32a)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 상기 제2 불량 메모리 셀들의 위치 정보(FLI32a)에 기초하여 상기 제2 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 제2 어드레스 매핑 정보(MI32a)를 생성할 수 있다. 제N 매핑 정보 계산부(MIC3Na)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 상기 제N 불량 메모리 셀들의 위치 정보(FLI3Na)에 기초하여 상기 제N 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 제N 어드레스 매핑 정보(MI3Na)를 생성할 수 있다.
메모리 컨트롤러(310a)는 데이터 신호를 출력한다. 상기 데이터 신호는 비트를 단위로 하여 분할 데이터 신호들(DS1, DS2, DSN)로 분할될 수 있다. 일 실시예에서, 상기 데이터 신호가 24비트 신호(D[23:0])이고, N이 3의 값을 가진다면, 제1 분할 데이터 신호(DS1)는 상위 8비트(D[23:16])를 포함할 수 있고, 제2 분할 데이터 신호(DS2)는 중간 8비트(D[15:8])를 포함할 수 있고, 제N 분할 데이터 신호(DSN)는 하위 8비트(D[7:0])를 포함할 수 있다. 다른 실시예에서, 데이터 신호가 24비트 신호(D[23:0])이고, N이 3의 값을 가진다면, 제1 분할 데이터 신호(DS1)는 하위 8비트(D[7:0])를 포함할 수 있고, 제2 분할 데이터 신호(DS2)는 중간 8비트(D[15:8])를 포함할 수 있고, 제N 분할 데이터 신호(DSN)는 상위 8비트(D[23:16])를 포함할 수 있다.
메모리 컨트롤러(310a)는 분할 데이터 신호들(DS1, DS2, DSN)의 각각을 메모리 셀 어레이들(MCA31a, MCA32a, MCA3Na)의 각각과 송수신할 수 있다. 메모리 컨트롤러(310a)는 제1 분할 데이터 신호(DS1)를 제1 메모리 셀 어레이(MCA31a)와 송수신할 수 있다. 메모리 컨트롤러(310a)는 제2 분할 데이터 신호(DS2)를 제2 메모리 셀 어레이(MCA32a)와 송수신할 수 있다. 메모리 컨트롤러(310a)는 제N 분할 데이터 신호(DSN)를 제N 메모리 셀 어레이(MCA3Na)와 송수신할 수 있다.
도 3b를 참조하면, 메모리 시스템(300b)은 메모리 컨트롤러(CONTROLLER; 310b) 및 메모리 장치(320b)를 포함한다. 메모리 장치(320b)는 어드레스 매핑 테이블(AMT3b), 어드레스 변환부(ATU3b), 매핑 정보 계산부(MIC3b), 제1 메모리 모듈(321b), 제2 메모리 모듈(322b) 내지 제N 메모리 모듈(32Nb)을 포함한다. 제1 메모리 모듈(321b)은 제1 메모리 셀 어레이(MCA31b) 및 제1 불량 메모리 셀 위치 정보 저장 장치(FLIS_31b)를 포함한다. 제2 메모리 모듈(322b)은 제2 메모리 셀 어레이(MCA32b) 및 제2 불량 메모리 셀 위치 정보 저장 장치(FLIS_32b)를 포함한다. 제N 메모리 모듈(32Nb)은 제N 메모리 셀 어레이(MCA3Nb) 및 제N 불량 메모리 셀 위치 정보 저장 장치(FLIS_3Nb)를 포함한다.
제1 불량 메모리 셀 위치 정보 저장 장치(FLIS_31b)는 제1 메모리 셀 어레이(MCA31b)에 포함되는 제1 불량 메모리 셀들의 위치 정보(FLI31b)를 저장하고, 제2 불량 메모리 셀 위치 정보 저장 장치(FLIS_32b)는 제2 메모리 셀 어레이(MCA32b)에 포함되는 제2 불량 메모리 셀들의 위치 정보(FLI32b)를 저장하고, 제N 불량 메모리 셀 위치 정보 저장 장치(FLIS_3Nb)는 제N 메모리 셀 어레이(MCA3Nb)에 포함되는 제N 불량 메모리 셀들의 위치 정보(FLI3Nb)를 저장할 수 있다.
어드레스 매핑 테이블(AMT3b)은 어드레스 매핑 정보(MI3b)를 저장할 수 있다. 어드레스 변환부(ATU3b)는 논리 어드레스 신호(LA)를 메모리 셀 어레이들(MCA31b, MCA32b, MCA3Nb)의 물리 어드레스 신호들(PA31b, PA32b, PA3Nb)로 변환할 수 있다. 매핑 정보 계산부(MIC3b)는 어드레스 매핑 정보(MI3b)를 생성할 수 있다. 매핑 정보 계산부(MIC3b)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 상기 제1 불량 메모리 셀들의 위치 정보(FLI31b), 상기 제2 불량 메모리 셀들의 위치 정보(FLI32b) 및 상기 제N 불량 메모리 셀들의 위치 정보(FLI3Nb)에 기초하여 상기 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 어드레스 매핑 정보(MI3b)를 생성할 수 있다.
메모리 컨트롤러(310b)는 분할 데이터 신호들(DS1, DS2, DSN)의 각각을 메모리 셀 어레이들(MCA31b, MCA32b, MCA3Nb)의 각각과 송수신할 수 있다. 도 3a를 참조하여 분할 데이터 신호들(DS1, DS2, DSN)에 대하여 전술하였으므로, 설명을 생략한다.
도 4a 및 4b는 도 3a 및 3b의 메모리 시스템들의 어드레스 리매핑 과정을 나타내는 도면들이다.
도 4a 및 4b는 도 3a 및 3b의 메모리 시스템들이 2개의 메모리 모듈들을 포함하는 경우를 도시한다. 제1 메모리 셀 어레이(430a)는 도 3a의 메모리 시스템(300a)에 포함되는 제1 메모리 셀 어레이(MCA31a) 또는 도 3b의 메모리 시스템(300b)에 포함되는 제1 메모리 셀 어레이(MCA31b)에 대응될 수 있다. 제2 메모리 셀 어레이(440a)는 도 3a의 메모리 시스템(300a)에 포함되는 제2 메모리 셀 어레이(MCA32a) 또는 도 3b의 메모리 시스템(300b)에 포함되는 제2 메모리 셀 어레이(MCA32b)에 대응될 수 있다.
도 3a의 메모리 시스템(300a)의 논리 어드레스 신호(LA)에 상응하는 데이터 신호 또는 도 3b의 메모리 시스템(300b)의 논리 어드레스 신호(LA)에 상응하는 데이터 신호는 반으로 분할되어 제1 메모리 셀 어레이(430a)와 제2 메모리 셀 어레이(440a)에 각각 저장될 수 있다. 일 실시예에서, 데이터 신호가 24비트 신호(D[23:0])인 경우, 하위 12비트 신호(D[11:0])는 제1 메모리 셀(432a)에 저장될 수 있고, 상위 12비트 신호(D[23:12])는 제2 메모리 셀(442a)에 저장될 수 있다. 다른 실시예에서, 데이터 신호가 24비트 신호(D[23:0])인 경우, 상위 12비트 신호(D[23:12])는 제1 메모리 셀 어레이(430a)에 포함되는 제1 메모리 셀(432a)에 저장될 수 있고, 하위 12비트 신호(D[11:0])는 제2 메모리 셀 어레이(440a)에 포함되는 제2 메모리 셀(442a)에 저장될 수 있다. 상위 비트 신호가 제1 메모리 셀 어레이(430a)에 포함되는 메모리 셀에 저장되고, 하위 비트 신호가 제2 메모리 셀 어레이(440a)에 포함되는 메모리 셀에 저장되는 경우에 대하여 이하 설명한다.
메모리 셀 어레이들(430a, 440a)은 도 3a의 메모리 시스템(300a)에 포함되는 메모리 셀 어레이들(MCA31a, MCA32a) 또는 도 3b의 메모리 시스템(300b)에 포함되는 메모리 셀 어레이들(MCA31b, MCA32b)을 물리 행 어드레스(422a) 및 물리 열 어드레스(412a)에 기준하여 정렬한 것이다.
제1 메모리 셀 어레이(430a)는 9개의 논리 블록들(B11a, B12a, B13a, B14a, B15a, B16a, B17a, B18a, B19a)을 포함할 수 있다. 제2 메모리 셀 어레이(440a)는 9개의 논리 블록들(B21a, B22a, B23a, B24a, B25a, B26a, B27a, B28a, B29a)을 포함할 수 있다. 제(1, 1) 논리 블록(B11a)은 제1 불량 메모리 셀(A)을 포함하고, 제(1, 3) 논리 블록(B13a)은 제2 불량 메모리 셀(B)을 포함하고, 제(1, 9) 논리 블록(B19a)은 제3 불량 메모리 셀(C)을 포함한다. 제(2, 4) 논리 블록(B24a)은 제4 불량 메모리 셀(D)을 포함하고, 제(2, 6) 논리 블록(B26a)은 제5 불량 메모리 셀(E) 및 제6 불량 메모리 셀(F)을 포함하고, 제(2, 9) 논리 블록(B29a)은 제7 불량 메모리 셀(G) 및 제8 불량 메모리 셀(H)을 포함한다.
도 3a의 메모리 시스템(300a)의 논리 어드레스 신호(LA) 또는 도 3b의 메모리 시스템(300b)의 논리 어드레스 신호(LA)는 논리 열 어드레스 신호 및 논리 행 어드레스 신호를 포함한다. 도 3a의 메모리 시스템(300a)의 물리 어드레스 신호들(PA31a, PA32a, PA3Na)의 각각 또는 도 3b의 메모리 시스템(300b)의 물리 어드레스 신호들(PA31b, PA32b, PA3Nb)의 각각은 물리 열 어드레스 신호 및 물리 행 어드레스 신호를 포함할 수 있다.
일 실시예에서, 도 3a의 메모리 시스템(300a)의 논리 열 어드레스 신호 또는 도 3b의 메모리 시스템(300b)의 논리 열 어드레스 신호는 00h 내지 0bh의 어드레스 값들(411a) 중 하나를 가질 수 있다. 도 3a의 메모리 시스템(300a)의 물리 열 어드레스 신호 또는 도 3b의 메모리 시스템(300b)의 물리 열 어드레스 신호는 00h 내지 0bh의 어드레스 값들(412a) 중 하나를 가질 수 있다. 도 3a의 메모리 시스템(300a)의 논리 행 어드레스 신호 또는 도 3b의 메모리 시스템(300b)의 논리 행 어드레스 신호는 00h 내지 0bh의 어드레스 값들(412a) 중 하나를 가질 수 있다. 도 3a의 메모리 시스템(300a)의 물리 행 어드레스 신호 또는 도 3b의 메모리 시스템(300b)의 물리 행 어드레스 신호는 00h 내지 0bh의 어드레스 값들(422a) 중 하나를 가질 수 있다.
일 실시예에서, 논리 열 어드레스 신호와 제1 메모리 셀 어레이(MCA31a 또는 MCA31b)의 물리 열 어드레스 신호가 동일하게 매핑되고, 논리 행 어드레스 신호와 제1 메모리 셀 어레이(MCA31a 또는 MCA31b)의 물리 행 어드레스 신호가 동일하게 매핑되고, 논리 열 어드레스 신호와 제2 메모리 셀 어레이(MCA32a 또는 MCA32b)의 물리 열 어드레스 신호가 동일하게 매핑되고, 논리 행 어드레스 신호와 제2 메모리 셀 어레이(MCA32a 또는 MCA32b)의 물리 행 어드레스 신호가 동일하게 매핑되는 경우, 제1 불량 메모리 셀(A)은 논리 행 어드레스 00h 및 논리 열 어드레스 00h에 상응하는 데이터의 상위 비트 데이터에 해당하고, 제2 불량 메모리 셀(B)은 논리 행 어드레스 00h 및 논리 열 어드레스 09h에 상응하는 데이터의 상위 비트 데이터에 해당하고, 제3 불량 메모리 셀(C)은 논리 행 어드레스 09h 및 논리 열 어드레스 09h에 상응하는 데이터의 상위 비트 데이터에 해당하고, 제4 불량 메모리 셀(D)은 논리 행 어드레스 06h 및 논리 열 어드레스 02h에 상응하는 데이터의 하위 비트 데이터에 해당하고, 제5 불량 메모리 셀(E)은 논리 행 어드레스 06h 및 논리 열 어드레스 09h에 상응하는 데이터의 하위 비트 데이터에 해당하고, 제6 불량 메모리 셀(F)은 논리 행 어드레스 06h 및 논리 열 어드레스 0ah에 상응하는 데이터의 하위 비트 데이터에 해당하고, 제7 불량 메모리 셀(G)은 논리 행 어드레스 09h 및 논리 열 어드레스 09h에 상응하는 데이터의 하위 비트 데이터에 해당하고, 제8 불량 메모리 셀(H)은 논리 행 어드레스 0bh 및 논리 열 어드레스 0bh에 상응하는 데이터의 하위 비트 데이터에 해당한다.
이 경우, 제1 불량 메모리 셀(A)로 인해 제(1, 1) 논리 블록(B11a) 및 제(2, 1) 논리 블록(B21a)을 사용할 수 없고, 제2 불량 메모리 셀(B)로 인해 제(1, 3) 논리 블록(B13a) 및 제(2, 3) 논리 블록(B23a)을 사용할 수 없고, 제3 불량 메모리 셀(C), 제7 불량 메모리 셀(G) 및 제8 불량 메모리 셀(H)로 인해 제(1, 9) 논리 블록(B19a) 및 제(2, 9) 논리 블록(B29a)을 사용할 수 없고, 제4 불량 메모리 셀(D)로 인해 제(1, 4) 논리 블록(B14a) 및 제(2, 4) 논리 블록(B24a)을 사용할 수 없고, 제5 불량 메모리 셀(E) 및 제6 불량 메모리 셀(F)로 인해 제(1, 6) 논리 블록(B16a) 및 제(2, 6) 논리 블록(B26a)을 사용할 수 없다.
제1 실시예에서, 도 3a의 메모리 시스템(300a)에 포함되는 제1 어드레스 변환부 (ATU31a)는 제1 어드레스 매핑 정보(MI31a)에 기초하여 논리 열 어드레스 신호를 제1 메모리 셀 어레이(MCA31a)의 물리 열 어드레스 신호에 일대일 매핑(413a)할 수 있으며, 논리 행 어드레스 신호를 제1 메모리 셀 어레이(MCA31a)의 물리 행 어드레스 신호에 일대일 매핑(423a)할 수 있다. 도 3a의 메모리 시스템(300a)에 포함되는 제2 어드레스 변환부 (ATU32a)는 제2 어드레스 매핑 정보(MI32a)에 기초하여 논리 열 어드레스 신호를 제2 메모리 셀 어레이(MCA32a)의 물리 열 어드레스 신호에 일대일 매핑(414a)할 수 있으며, 논리 행 어드레스 신호를 제2 메모리 셀 어레이(MCA32a)의 물리 행 어드레스 신호에 일대일 매핑(424a)할 수 있다.
제2 실시예에서, 도 3b의 메모리 시스템(300b)에 포함되는 어드레스 변환부 (ATU3b)는 어드레스 매핑 정보(MI3b)에 기초하여 논리 열 어드레스 신호를 제1 메모리 셀 어레이(MCA31b)의 물리 열 어드레스 신호에 일대일 매핑(413a)할 수 있으며, 논리 열 어드레스 신호를 제2 메모리 셀 어레이(MCA32b)의 물리 열 어드레스 신호에 일대일 매핑(414a)할 수 있다. 도 3b의 메모리 시스템(300b)에 포함되는 어드레스 변환부 (ATU3b)는 어드레스 매핑 정보(MI3b)에 기초하여 논리 행 어드레스 신호를 제1 메모리 셀 어레이(MCA31b)의 물리 행 어드레스 신호에 일대일 매핑(423a)할 수 있으며, 논리 행 어드레스 신호를 제2 메모리 셀 어레이(MCA32b)의 물리 행 어드레스 신호에 일대일 매핑(424a)할 수 있다.
상기 제1 실시예 및 상기 제2 실시예에서, 논리 열 어드레스 신호 00h는 물리 열 어드레스 신호 00h에 매핑되고, 논리 열 어드레스 신호 01h는 물리 열 어드레스 신호 09h에 매핑되고, 논리 열 어드레스 신호 02h는 물리 열 어드레스 신호 02h에 매핑되고, 논리 열 어드레스 신호 03h는 물리 열 어드레스 신호 0bh에 매핑되고, 논리 열 어드레스 신호 04h는 물리 열 어드레스 신호 01h에 매핑되고, 논리 열 어드레스 신호 05h는 물리 열 어드레스 신호 03h에 매핑되고, 논리 열 어드레스 신호 06h는 물리 열 어드레스 신호 04h에 매핑되고, 논리 열 어드레스 신호 07h는 물리 열 어드레스 신호 05h에 매핑되고, 논리 열 어드레스 신호 08h는 물리 열 어드레스 신호 06h에 매핑되고, 논리 열 어드레스 신호 09h는 물리 열 어드레스 신호 07h에 매핑되고, 논리 열 어드레스 신호 0ah는 물리 열 어드레스 신호 0ah에 매핑되고, 논리 열 어드레스 신호 0bh는 물리 열 어드레스 신호 08h에 매핑(413a, 414a)될 수 있다.
상기 제1 실시예 및 상기 제2 실시예에서, 논리 행 어드레스 신호 00h는 물리 행 어드레스 신호 00h에 매핑되고, 논리 행 어드레스 신호 01h는 물리 행 어드레스 신호 09h에 매핑되고, 논리 행 어드레스 신호 02h는 물리 행 어드레스 신호 06h에 매핑되고, 논리 행 어드레스 신호 03h는 물리 행 어드레스 신호 0bh에 매핑되고, 논리 행 어드레스 신호 04h는 물리 행 어드레스 신호 01h에 매핑되고, 논리 행 어드레스 신호 05h는 물리 행 어드레스 신호 02h에 매핑되고, 논리 행 어드레스 신호 06h는 물리 행 어드레스 신호 03h에 매핑되고, 논리 행 어드레스 신호 07h는 물리 행 어드레스 신호 04h에 매핑되고, 논리 행 어드레스 신호 08h는 물리 행 어드레스 신호 05h에 매핑되고, 논리 행 어드레스 신호 09h는 물리 행 어드레스 신호 07h에 매핑되고, 논리 행 어드레스 신호 0ah는 물리 행 어드레스 신호 08h에 매핑되고, 논리 행 어드레스 신호 0bh는 물리 행 어드레스 신호 0ah에 매핑(423a, 424a)될 수 있다. 이 경우에 대하여 도 4b를 참조하여 후술한다.
도 4b를 참조하면, 메모리 셀 어레이들(430b, 440b)은 도 3a의 메모리 시스템(300a)에 포함되는 메모리 셀 어레이들(MCA31a, MCA32a) 또는 도 3b의 메모리 시스템(300b)에 포함되는 메모리 셀 어레이들(MCA31b, MCA32b)을 논리 행 어드레스(421b) 및 논리 열 어드레스(411b)에 기준하여 정렬한 것이다.
제1 메모리 셀 어레이(430b)는 9개의 논리 블록들(B11b, B12b, B13b, B14b, B15b, B16b, B17b, B18b, B19b)을 포함할 수 있다. 제2 메모리 셀 어레이(440b)는 9개의 논리 블록들(B21b, B22b, B23b, B24b, B25b, B26b, B27b, B28b, B29b)을 포함할 수 있다.
이 경우, 불량 메모리 셀들(A, B, C, D, E, F, G, H)로 인해 제(1, 1) 논리 블록(B11b) 및 제(2, 1) 논리 블록(B21b)만 사용할 수 없고, 나머지 논리 블록들(B12b, B22b, B13b, B23b, B14b, B24b, B15b, B25b, B16b, B26b, B17b, B27b, B18b, B28b, B19b, B29b)은 사용할 수 있다. 논리 열 어드레스 신호와 물리 열 어드레스 신호를 동일하게 매핑하고, 논리 행 어드레스 신호와 물리 행 어드레스 신호를 동일하게 매핑하는 경우와 비교해서 더 많은 논리 블록들을 사용할 수 있다.
도 5 내지 6b는 본 발명의 실시예들에 따른 메모리 시스템들을 나타내는 블록도이다.
도 5를 참조하면, 메모리 시스템(500)은 메모리 컨트롤러(CONTROLLER; 510) 및 메모리 장치(520)를 포함한다. 메모리 장치(520)는 메모리 셀 어레이(MCA; 524), 제1 불량 메모리 셀 위치 정보 저장 장치(FLIS1; 525), 제2 불량 메모리 셀 위치 정보 저장 장치(FLIS2; 526), 어드레스 매핑 테이블(AMT; 522), 어드레스 변환부(ATU; 521) 및 매핑 정보 계산부(MIC; 523)를 포함한다. 메모리 컨트롤러(510)는 논리 어드레스 신호(LA) 및 어드레스 리매핑 명령(ACC)을 생성한다. 메모리 셀 어레이(524)는 복수의 논리 블록들을 포함한다. 제1 불량 메모리 셀 위치 정보 저장 장치(FLIS1)는 메모리 셀 어레이(524)의 제조 시에 생성된, 메모리 셀 어레이(524)에 포함되는 제1 불량 메모리 셀들의 위치 정보(FLI1)를 저장한다. 제2 불량 메모리 셀 위치 정보 저장 장치(FLIS2)는 메모리 셀 어레이(524)의 사용 중에 생성된, 메모리 셀 어레이(524)에 포함되는 제2 불량 메모리 셀들의 위치 정보(FLI2)를 저장한다. 어드레스 매핑 테이블(522)은 어드레스 매핑 정보(MI)를 저장한다. 어드레스 변환부(521)는 어드레스 매핑 정보(MI)에 기초하여 논리 어드레스 신호(LA)를 메모리 셀 어레이(524)의 물리 어드레스 신호(PA)로 변환한다. 매핑 정보 계산부(523)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 제1 불량 메모리 셀들의 위치 정보(FLI1) 및 제2 불량 메모리 셀들의 위치 정보(FLI2)에 기초하여 상기 제1 불량 메모리 셀 또는 상기 제2 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 어드레스 매핑 정보(MI)를 생성한다. 메모리 컨트롤러(510)는 제2 불량 메모리 셀들의 위치 정보(FLI2)를 설정 신호(CS)를 통해서 제2 불량 메모리 셀 위치 정보 저장 장치(FLIS2)에 저장할 수 있다.
도 6a를 참조하면, 메모리 시스템(600a)은 메모리 컨트롤러(CONTROLLER; 610a) 및 메모리 장치(620a)를 포함한다. 메모리 장치(620a)는 제1 메모리 모듈(621a), 제2 메모리 모듈(622a) 내지 제N 메모리 모듈(62Na)을 포함한다. 제1 메모리 모듈(621a)은 제1 메모리 셀 어레이(MCA61a), 제(1, 1) 불량 메모리 셀 위치 정보 저장 장치(FLIS1_61a), 제(1, 2) 불량 메모리 셀 위치 정보 저장 장치(FLIS2_61a), 제1 어드레스 매핑 테이블(AMT61a), 제1 어드레스 변환부(ATU61a) 및 제1 매핑 정보 계산부(MIC61a)를 포함한다. 제2 메모리 모듈(622a)은 제2 메모리 셀 어레이(MCA62a), 제(2, 1) 불량 메모리 셀 위치 정보 저장 장치(FLIS1_62a), 제(2, 2) 불량 메모리 셀 위치 정보 저장 장치(FLIS2_62a), 제2 어드레스 매핑 테이블(AMT62a), 제2 어드레스 변환부(ATU62a) 및 제2 매핑 정보 계산부(MIC62a)를 포함한다. 제N 메모리 모듈(62Na)은 제N 메모리 셀 어레이(MCA6Na), 제(N, 1) 불량 메모리 셀 위치 정보 저장 장치(FLIS1_6Na), 제(N, 2) 불량 메모리 셀 위치 정보 저장 장치(FLIS2_6Na), 제N 어드레스 매핑 테이블(AMT6Na), 제N 어드레스 변환부(ATU6Na) 및 제N 매핑 정보 계산부(MIC6Na)를 포함한다.
제1 메모리 셀 어레이(MCA61a)는 제조 시 생성된 제(1, 1) 불량 메모리 셀들 및 사용 시 생성된 제(1, 2) 불량 메모리 셀들을 포함한다. 제2 메모리 셀 어레이(MCA62a)는 제조 시 생성된 제(2, 1) 불량 메모리 셀들 및 사용 시 생성된 제(2, 2) 불량 메모리 셀들을 포함한다. 제N 메모리 셀 어레이(MCA6Na)는 제조 시 생성된 제(N, 1) 불량 메모리 셀들 및 사용 시 생성된 제(N, 2) 불량 메모리 셀들을 포함한다.
제1 매핑 정보 계산부(MIC61a)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 제(1, 1) 불량 메모리 셀들의 위치 정보(FLI161a) 및 제(1, 2) 불량 메모리 셀들의 위치 정보(FLI261a)에 기초하여 상기 제(1, 1) 불량 메모리 셀 또는 상기 제(1, 2) 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 제1 어드레스 매핑 정보(MI61a)를 생성한다. 제2 매핑 정보 계산부(MIC62a)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 제(2, 1) 불량 메모리 셀들의 위치 정보(FLI162a) 및 제(2, 2) 불량 메모리 셀들의 위치 정보(FLI262a)에 기초하여 상기 제(2, 1) 불량 메모리 셀 또는 상기 제(2, 2) 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 제2 어드레스 매핑 정보(MI62a)를 생성한다. 제N 매핑 정보 계산부(MIC6Na)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 제(N, 1) 불량 메모리 셀들의 위치 정보(FLI16Na) 및 제(N, 2) 불량 메모리 셀들의 위치 정보(FLI26Na)에 기초하여 상기 제(N, 1) 불량 메모리 셀 또는 상기 제(N, 2) 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 제N 어드레스 매핑 정보(MI6Na)를 생성한다.
도 6a의 메모리 시스템(600a)의 나머지 부분은 도 3a 및 5를 참조하여 이해할 수 있으므로 설명을 생략한다.
도 6b를 참조하면, 메모리 시스템(600b)은 메모리 컨트롤러(CONTROLLER; 610b) 및 메모리 장치(620b)를 포함한다. 메모리 장치(620b)는 어드레스 매핑 테이블(AMT6b), 어드레스 변환부(ATU6b), 제2 불량 메모리 셀 위치 정보 저장 장치(FLIS2_6b), 매핑 정보 계산부(MIC6b), 제1 메모리 모듈(621b), 제2 메모리 모듈(622b) 내지 제N 메모리 모듈(62Nb)을 포함한다. 제1 메모리 모듈(621b)은 제1 메모리 셀 어레이(MCA61b) 및 제(1, 1) 불량 메모리 셀 위치 정보 저장 장치(FLIS1_61b)를 포함한다. 제2 메모리 모듈(622b)은 제2 메모리 셀 어레이(MCA62b) 및 제(2, 1) 불량 메모리 셀 위치 정보 저장 장치(FLIS1_62b)를 포함한다. 제N 메모리 모듈(62Nb)은 제N 메모리 셀 어레이(MCA6Nb) 및 제(N, 1) 불량 메모리 셀 위치 정보 저장 장치(FLIS1_6Nb)를 포함한다.
제2 불량 메모리 셀 위치 정보 저장 장치(FLIS2_6b)는 제1 메모리 셀 어레이(MCA61b)의 사용 시 생성된 제(1, 2) 불량 메모리 셀 위치 정보, 제2 메모리 셀 어레이(MCA62b)의 사용 시 생성된 제(2, 2) 불량 메모리 셀 위치 정보 및 제N 메모리 셀 어레이(MCA6Nb)의 사용 시 생성된 제(N, 2) 불량 메모리 셀 위치 정보를 합한 정보(FLI262b)를 저장한다.
매핑 정보 계산부(MIC6b)는 어드레스 리매핑 명령(ACC)을 수신하는 경우, 제(1, 1) 불량 메모리 셀들의 위치 정보(FLI161b), 상기 제(1, 2) 불량 메모리 셀들의 위치 정보, 제(2, 1) 불량 메모리 셀들의 위치 정보(FLI162b), 상기 제(2, 2) 불량 메모리 셀들의 위치 정보, 제(N, 1) 불량 메모리 셀들의 위치 정보(FLI16Nb) 및 상기 제(N, 2) 불량 메모리 셀들의 위치 정보에 기초하여 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 어드레스 매핑 정보(MI6b)를 생성한다.
도 6b의 메모리 시스템(600b)의 나머지 부분은 도 3b 및 5를 참조하여 이해할 수 있으므로 설명을 생략한다.
도 7은 본 발명의 일 실시예에 따른 메모리 시스템의 어드레스 리매핑 과정을 나타내는 순서도이다.
도 7을 참조하면, 메모리 시스템의 어드레스를 리매핑하기 위하여, 먼저 메모리 셀 어레이에 포함되는 불량 메모리 셀들의 위치 정보를 생성(단계 S110)한다. 다음으로, 상기 불량 메모리 셀들의 위치 정보에 기초하여 상기 불량 메모리 셀들을 포함하는 논리 블록의 수를 감소시키는 어드레스 매핑 정보를 생성(단계 S120)한다. 다음으로, 상기 어드레스 매핑 정보를 저장(단계 S130)한다. 다음으로, 상기 어드레스 매핑 정보에 기초하여 재정렬된 어드레스 변환부를 통해 상기 메모리 셀 어레이에 접근(단계 S140)한다.
상기 불량 메모리 셀들의 위치 정보를 생성하는 단계(S110), 상기 어드레스 매핑 정보를 생성하는 단계(S120), 상기 어드레스 매핑 정보를 저장하는 단계(S130) 및 상기 어드레스 매핑 정보에 기초하여 재정렬된 어드레스 변환부를 통해 상기 메모리 셀 어레이에 접근하는 단계(S140)는 도 1 내지 도 6을 참조하여 전술하였으므로 자세한 설명은 생략한다.
도 8은 본 발명의 실시예들에 따른 메모리 시스템을 모바일 시스템에 응용한 예를 나타내는 블록도이다.
도 8을 참조하면, 모바일 시스템(800)은 어플리케이션 프로세서(810), 통신(Connectivity)부(820), 사용자 인터페이스(830), 비휘발성 메모리 장치(840), 메모리 장치(850), 및 파워 서플라이(860)를 포함한다. 실시예에 따라, 모바일 시스템(800)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템 등과 같은 임의의 모바일 시스템일 수 있다.
어플리케이션 프로세서(810)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 실시예에 따라, 어플리케이션 프로세서(810)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 어플리케이션 프로세서(810)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 실시예에 따라, 어플리케이션 프로세서(810)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
통신부(820)는 외부 장치와 무선 통신 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신부(820)는 이더넷(Ethernet) 통신, 근거리 자기장 통신(Near Field Communication; NFC), 무선 식별(Radio Frequency Identification; RFID) 통신, 이동 통신(Mobile Telecommunication), 메모리 카드 통신, 범용 직렬 버스(Universal Serial Bus; USB) 통신 등을 수행할 수 있다. 예를 들어, 통신부(820)는 베이스밴드 칩 셋(Baseband Chipset)을 포함할 수 있고, GSM, GPRS, WCDMA, HSxPA 등의 통신을 지원할 수 있다.
메모리 장치(850)는 어플리케이션 프로세서(810)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다. 예를 들어, 메모리 장치(850)는 DDR SDRAM, LPDDR SDRAM, GDDR SDRAM, RDRAM 등과 같은 동적 랜덤 액세스 메모리일 수 있다. 메모리 장치(850)는 도 1, 3a, 3b, 5, 6a, 6b의 메모리 시스템들에 포함되는 메모리 장치일 수 있다. 어플리케이션 프로세서(810)는 도 1, 3a, 3b, 5, 6a, 6b의 메모리 시스템들에 포함되는 메모리 컨트롤러일 수 있다.
비휘발성 메모리 장치(840)는 모바일 시스템(800)을 부팅하기 위한 부트 이미지를 저장할 수 있다. 예를 들어, 비휘발성 메모리 장치(850)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(Flash Memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 또는 이와 유사한 메모리로 구현될 수 있다.
사용자 인터페이스(830)는 키패드, 터치 스크린과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함할 수 있다. 파워 서플라이(860)는 모바일 시스템(800)의 동작 전압을 공급할 수 있다. 또한, 실시예에 따라, 모바일 시스템(800)은 카메라 이미지 프로세서(Camera Image Processor; CIS)를 더 포함할 수 있고, 메모리 카드(Memory Card), 솔리드 스테이트 드라이브(Solid State Drive; SSD), 하드 디스크 드라이브(Hard Disk Drive; HDD), 씨디롬(CD-ROM) 등과 같은 저장 장치를 더 포함할 수 있다.
모바일 시스템(800) 또는 모바일 시스템(800)의 구성요소들은 다양한 형태들의 패키지를 이용하여 실장될 수 있는데, 예를 들어, PoP(Package on Package), BGAs(Ball grid arrays), CSPs(Chip scale packages), PLCC(Plastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Die in Wafer Form, COB(Chip On Board), CERDIP(Ceramic Dual In-Line Package), MQFP(Plastic Metric Quad Flat Pack), TQFP(Thin Quad Flat-Pack), SOIC(Small Outline Integrated Circuit), SSOP(Shrink Small Outline Package), TSOP(Thin Small Outline Package), TQFP(Thin Quad Flat-Pack), SIP(System In Package), MCP(Multi Chip Package), WFP(Wafer-level Fabricated Package), WSP(Wafer-Level Processed Stack Package) 등과 같은 패키지들을 이용하여 실장될 수 있다.
도 9는 본 발명의 실시예들에 따른 메모리 시스템을 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
도 9를 참조하면, 컴퓨팅 시스템(900)은 프로세서(910), 입출력 허브(920), 입출력 컨트롤러 허브(930), 메모리 장치(940) 및 그래픽 카드(950)를 포함한다. 실시예에 따라, 컴퓨팅 시스템(900)은 개인용 컴퓨터(Personal Computer; PC), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 노트북(Laptop), 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box), 음악 재생기(Music Player), 휴대용 게임 콘솔(portable game console), 네비게이션(Navigation) 시스템 등과 같은 임의의 컴퓨팅 시스템일 수 있다.
프로세서(910)는 특정 계산들 또는 태스크들과 같은 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(910)는 마이크로프로세서 또는 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 실시예에 따라, 프로세서(910)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세서(1510)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 도 9에는 하나의 프로세서(910)를 포함하는 컴퓨팅 시스템(900)이 도시되어 있으나, 실시예에 따라, 컴퓨팅 시스템(900)은 복수의 프로세서들을 포함할 수 있다. 또한, 실시예에 따라, 프로세서(910)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
프로세서(910)는 메모리 장치(940)의 동작을 제어하는 메모리 컨트롤러(911)를 포함할 수 있다. 메모리 컨트롤러(911)는 도 1, 3a, 3b, 5, 6a, 6b의 메모리 시스템들에 포함되는 메모리 컨트롤러일 수 있다. 메모리 컨트롤러(911)는 집적 메모리 컨트롤러(Integrated Memory Controller; IMC)라 불릴 수 있다. 메모리 컨트롤러(911)와 메모리 장치(940) 사이의 메모리 인터페이스는 복수의 신호선들을 포함하는 하나의 채널로 구현되거나, 복수의 채널들로 구현될 수 있다.
메모리 장치(940)는 메모리 컨트롤러(911)로부터 제공된 데이터를 저장하는 복수의 메모리 모듈들(941)을 포함할 수 있다. 메모리 장치(940)는 도 1, 3a, 3b, 5, 6a, 6b의 메모리 시스템들에 포함되는 메모리 장치일 수 있다.
입출력 허브(920)는 그래픽 카드(950)와 같은 장치들과 프로세서(910) 사이의 데이터 전송을 관리할 수 있다. 입출력 허브(920)는 다양한 방식의 인터페이스를 통하여 프로세서(910)에 연결될 수 있다. 예를 들어, 입출력 허브(920)와 프로세서(910)는, 프론트 사이드 버스(Front Side Bus; FSB), 시스템 버스(System Bus), 하이퍼트랜스포트(HyperTransport), 라이트닝 데이터 트랜스포트(Lightning Data Transport; LDT), 퀵패스 인터커넥트(QuickPath Interconnect; QPI), 공통 시스템 인터페이스(Common System Interface; CSI) 등의 다양한 표준의 인터페이스로 연결될 수 있다. 도 9에는 하나의 입출력 허브(920)를 포함하는 컴퓨팅 시스템(900)이 도시되어 있으나, 실시예에 따라, 컴퓨팅 시스템(900)은 복수의 입출력 허브들을 포함할 수 있다.
입출력 허브(920)는 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 허브(920)는 가속 그래픽 포트(Accelerated Graphics Port; AGP) 인터페이스, 주변 구성요소 인터페이스-익스프레스(Peripheral Component Interface-Express; PCIe), 통신 스트리밍 구조(Communications Streaming Architecture; CSA) 인터페이스 등을 제공할 수 있다.
그래픽 카드(950)는 AGP 또는 PCIe를 통하여 입출력 허브(920)와 연결될 수 있다. 그래픽 카드(950)는 영상을 표시하기 위한 디스플레이 장치(미도시)를 제어할 수 있다. 그래픽 카드(950)는 이미지 데이터 처리를 위한 내부 프로세서 및 내부 메모리 장치를 포함할 수 있다. 실시예에 따라, 입출력 허브(920)는, 입출력 허브(920)의 외부에 위치한 그래픽 카드(950)와 함께, 또는 그래픽 카드(950) 대신에 입출력 허브(920)의 내부에 그래픽 장치를 포함할 수 있다. 입출력 허브(920)에 포함된 그래픽 장치는 집적 그래픽(Integrated Graphics)이라 불릴 수 있다. 또한, 메모리 컨트롤러 및 그래픽 장치를 포함하는 입출력 허브(920)는 그래픽 및 메모리 컨트롤러 허브(Graphics and Memory Controller Hub; GMCH)라 불릴 수 있다.
입출력 컨트롤러 허브(930)는 다양한 시스템 인터페이스들이 효율적으로 동작하도록 데이터 버퍼링 및 인터페이스 중재를 수행할 수 있다. 입출력 컨트롤러 허브(930)는 내부 버스를 통하여 입출력 허브(920)와 연결될 수 있다. 예를 들어, 입출력 허브(920)와 입출력 컨트롤러 허브(930)는 다이렉트 미디어 인터페이스(Direct Media Interface; DMI), 허브 인터페이스, 엔터프라이즈 사우스브릿지 인터페이스(Enterprise Southbridge Interface; ESI), PCIe 등을 통하여 연결될 수 있다.
입출력 컨트롤러 허브(930)는 주변 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 컨트롤러 허브(930)는 범용 직렬 버스(Universal Serial Bus; USB) 포트, 직렬 ATA(Serial Advanced Technology Attachment; SATA) 포트, 범용 입출력(General Purpose Input/Output; GPIO), 로우 핀 카운트(Low Pin Count; LPC) 버스, 직렬 주변 인터페이스(Serial Peripheral Interface; SPI), PCI, PCIe 등을 제공할 수 있다.
실시예에 따라, 프로세서(910), 입출력 허브(920) 및 입출력 컨트롤러 허브(930)는 각각 분리된 칩셋들 또는 집적 회로들로 구현되거나, 프로세서(910), 입출력 허브(920) 또는 입출력 컨트롤러 허브(930) 중 2 이상의 구성요소들이 하나의 칩셋으로 구현될 수 있다.
본 발명은 메모리 시스템을 사용하는 다양한 종류의 컴퓨팅 시스템에 적용될 수 있다. 예를 들어, 본 발명은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 캠코더(Camcoder), 개인용 컴퓨터(Personal Computer; PC), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 노트북(Laptop), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템, 스마트 카드(Smart Card), 프린터(Printer) 등에 유용하게 이용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 논리 어드레스 신호 및 어드레스 리매핑(Re-mapping) 명령을 생성하는 메모리 컨트롤러;
    복수의 논리 블록들을 포함하는 적어도 하나의 메모리 셀 어레이;
    상기 적어도 하나의 메모리 셀 어레이에 포함되는 불량 메모리 셀들의 위치 정보를 저장하는 적어도 하나의 불량 메모리 셀 위치 정보 저장 장치;
    적어도 하나의 어드레스 매핑 정보를 저장하는 적어도 하나의 어드레스 매핑 테이블;
    상기 적어도 하나의 어드레스 매핑 정보에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 물리 어드레스 신호로 변환하는 적어도 하나의 어드레스 변환부(Address translation unit); 및
    상기 어드레스 리매핑 명령을 수신하는 경우, 상기 불량 메모리 셀들의 위치 정보에 기초하여 상기 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 상기 적어도 하나의 어드레스 매핑 정보를 생성하는 적어도 하나의 매핑 정보 계산부(Mapping information calculating unit)를 포함하고,
    상기 적어도 하나의 매핑 정보 계산부는 상기 불량 메모리 셀들을 포함하는 상기 논리 블록들 중 적어도 두 개의 논리 블록의 모든 불량 메모리 셀들이 상기 논리 블록들 중 제1 논리 블록에 이동되도록 상기 적어도 하나의 어드레스 매핑 정보를 생성하는 메모리 시스템.
  2. 제1 항에 있어서,
    상기 불량 메모리 셀들은 상기 적어도 하나의 메모리 셀 어레이의 제조 시에 생성된 것을 특징으로 하는 메모리 시스템.
  3. 제1 항에 있어서,
    상기 불량 메모리 셀들은 상기 적어도 하나의 메모리 셀 어레이의 사용 시에 생성된 것을 특징으로 하는 메모리 시스템.
  4. 제1 항에 있어서,
    상기 메모리 컨트롤러는 분할된 데이터 신호들의 각각을 상기 적어도 하나의 메모리 셀 어레이의 각각과 송수신하는 것을 특징으로 하는 메모리 시스템.
  5. 제1 항에 있어서,
    상기 적어도 하나의 어드레스 변환부의 각각은 상기 적어도 하나의 어드레스 매핑 정보의 각각에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 각각의 물리 어드레스 신호로 변환하는 것을 특징으로 하는 메모리 시스템.
  6. 제1 항에 있어서,
    상기 적어도 하나의 매핑 정보 계산부의 각각은 상기 적어도 하나의 어드레스 매핑 정보의 각각을 생성하고,
    상기 적어도 하나의 어드레스 매핑 테이블의 각각은 상기 적어도 하나의 어드레스 매핑 정보의 각각을 저장하는 것을 특징으로 하는 메모리 시스템.
  7. 제1 항에 있어서,
    상기 메모리 시스템이 하나의 어드레스 변환부, 하나의 어드레스 매핑 테이블 및 하나의 매핑 정보 계산부만을 포함하는 경우,
    상기 하나의 어드레스 변환부는 상기 적어도 하나의 어드레스 매핑 정보에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 물리 어드레스 신호로 변환하고,
    상기 하나의 매핑 정보 계산부는 상기 적어도 하나의 어드레스 매핑 정보를 생성하고,
    상기 하나의 어드레스 매핑 테이블은 상기 적어도 하나의 어드레스 매핑 정보를 저장하는 것을 특징으로 하는 메모리 시스템.
  8. 제1 항에 있어서,
    상기 논리 블록들은 상기 적어도 하나의 메모리 셀 어레이를 구성하는 페이지(Page)인 것을 특징으로 하는 메모리 시스템.
  9. 제1 항에 있어서,
    상기 어드레스 리매핑 명령은 상기 메모리 시스템의 초기화 시에 생성되는 것을 특징으로 하는 메모리 시스템.
  10. 논리 어드레스 신호 및 어드레스 리매핑(Re-mapping) 명령을 생성하는 메모리 컨트롤러;
    복수의 논리 블록들을 포함하는 적어도 하나의 메모리 셀 어레이;
    상기 적어도 하나의 메모리 셀 어레이의 제조 시에 생성된, 상기 적어도 하나의 메모리 셀 어레이에 포함되는 제1 불량 메모리 셀들의 위치 정보를 저장하는 적어도 하나의 제1 불량 메모리 셀 위치 정보 저장 장치;
    상기 적어도 하나의 메모리 셀 어레이의 사용 중에 생성된, 상기 적어도 하나의 메모리 셀 어레이에 포함되는 제2 불량 메모리 셀들의 위치 정보를 저장하는 적어도 하나의 제2 불량 메모리 셀 위치 정보 저장 장치;
    적어도 하나의 어드레스 매핑 정보를 저장하는 적어도 하나의 어드레스 매핑 테이블;
    상기 적어도 하나의 어드레스 매핑 정보에 기초하여 상기 논리 어드레스 신호를 상기 적어도 하나의 메모리 셀 어레이의 물리 어드레스 신호로 변환하는 적어도 하나의 어드레스 변환부(Address translation unit); 및
    상기 어드레스 리매핑 명령을 수신하는 경우, 상기 제1 불량 메모리 셀들의 위치 정보 및 상기 제2 불량 메모리 셀들의 위치 정보에 기초하여 상기 제1 불량 메모리 셀 또는 상기 제2 불량 메모리 셀들을 포함하는 논리 블록들의 수를 감소시키는 상기 적어도 하나의 어드레스 매핑 정보를 생성하는 적어도 하나의 매핑 정보 계산부(Mapping information calculating unit)를 포함하고,
    상기 적어도 하나의 매핑 정보 계산부는 상기 불량 메모리 셀들을 포함하는 상기 논리 블록들 중 적어도 두 개의 논리 블록의 모든 불량 메모리 셀들이 상기 논리 블록들 중 제1 논리 블록에 이동되도록 상기 적어도 하나의 어드레스 매핑 정보를 생성하는 메모리 시스템.
KR1020140001222A 2014-01-06 2014-01-06 어드레스 리매핑이 가능한 메모리 시스템 KR102067014B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140001222A KR102067014B1 (ko) 2014-01-06 2014-01-06 어드레스 리매핑이 가능한 메모리 시스템
US14/524,476 US10083764B2 (en) 2014-01-06 2014-10-27 Memory system capable of re-mapping address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140001222A KR102067014B1 (ko) 2014-01-06 2014-01-06 어드레스 리매핑이 가능한 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20150081577A KR20150081577A (ko) 2015-07-15
KR102067014B1 true KR102067014B1 (ko) 2020-02-11

Family

ID=53521466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140001222A KR102067014B1 (ko) 2014-01-06 2014-01-06 어드레스 리매핑이 가능한 메모리 시스템

Country Status (2)

Country Link
US (1) US10083764B2 (ko)
KR (1) KR102067014B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6779821B2 (ja) * 2017-03-24 2020-11-04 キオクシア株式会社 メモリシステム及びデータの読み出し方法
US10825543B2 (en) 2018-07-25 2020-11-03 International Business Machines Corporation Locating failures in memory with redundancy
KR20230030795A (ko) * 2021-08-26 2023-03-07 삼성전자주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100172179A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Spare Block Management of Non-Volatile Memories

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997032253A1 (en) * 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
US6081463A (en) 1998-02-25 2000-06-27 Micron Technology, Inc. Semiconductor memory remapping
US6381708B1 (en) 1998-04-28 2002-04-30 Micron Technology, Inc. Method for decoding addresses for a defective memory array
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
JP4316085B2 (ja) 1999-12-28 2009-08-19 株式会社東芝 半導体集積回路装置及び集積回路システム
JP2002123431A (ja) 2000-10-12 2002-04-26 Kenji Ko Dramおよびそのメモリページ作動方法
US7925938B2 (en) 2001-10-12 2011-04-12 Geneticware Co. Ltd. Structure and method of repairing SDRAM by generating slicing table of fault distribution
JP2006107590A (ja) 2004-10-04 2006-04-20 Nec Electronics Corp 半導体集積回路装置及びそのテスト方法
US7620792B2 (en) * 2006-08-21 2009-11-17 Sigmatel, Inc. Processing system, memory and methods for use therewith
US20080191990A1 (en) 2007-02-08 2008-08-14 Nec Electronics Corporation Driver and display method using the same
US7916540B2 (en) 2007-05-17 2011-03-29 Samsung Electronics Co., Ltd. Non-volatile memory devices and systems including bad blocks address re-mapped and methods of operating the same
US7835207B2 (en) 2008-10-07 2010-11-16 Micron Technology, Inc. Stacked device remapping and repair
KR20100115970A (ko) 2009-04-21 2010-10-29 삼성전자주식회사 배드 셀 관리 방법과 그 장치
KR20110030779A (ko) 2009-09-18 2011-03-24 삼성전자주식회사 메모리 장치, 이를 구비하는 메모리 시스템 및 이의 제어 방법
US9003247B2 (en) * 2011-04-28 2015-04-07 Hewlett-Packard Development Company, L.P. Remapping data with pointer
KR102072449B1 (ko) * 2012-06-01 2020-02-04 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법
US9442838B2 (en) * 2012-10-22 2016-09-13 Rambus Inc. Remapping memory cells based on future endurance measurements
US9460815B2 (en) * 2013-12-30 2016-10-04 Sandisk Technologies Llc Reusing partial bad blocks in NAND memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100172179A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Spare Block Management of Non-Volatile Memories

Also Published As

Publication number Publication date
US10083764B2 (en) 2018-09-25
US20150199230A1 (en) 2015-07-16
KR20150081577A (ko) 2015-07-15

Similar Documents

Publication Publication Date Title
US9171605B1 (en) Concentrated address detecting method of semiconductor device and concentrated address detecting circuit using the same
CN107688436B (zh) 存储器模块和控制其的方法
KR102189824B1 (ko) 메모리 장치의 단위 어레이, 이를 포함하는 메모리 장치 및 메모리 시스템
KR20170034217A (ko) 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법
US9007856B2 (en) Repair control circuit and semiconductor memory device including the same
CN112930567A (zh) 温度通知的存储器刷新
US9355038B2 (en) Cache bank spreading for compression algorithms
KR102067014B1 (ko) 어드레스 리매핑이 가능한 메모리 시스템
KR102218712B1 (ko) 저장 장치의 어드레스 맵핑 방법 및 저장 장치의 데이터 독출 방법
US9552163B1 (en) Systems and methods for providing non-power-of-two flash cell mapping
CN104299637A (zh) 快闪存储器装置及其运作方法
KR20130048394A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
KR20190052366A (ko) 컨트롤러 및 컨트롤러의 동작방법
KR101799439B1 (ko) 메모리 시스템 및 이를 이용한 어드레스 맵핑 방법
US11194656B2 (en) Memory system
KR20170006640A (ko) 클럭 신호 발생 장치 및 이를 포함하는 메모리 장치
CN113965205A (zh) 位串压缩
US20130205073A1 (en) Memory device, memory system, and programming method thereof
US9954559B2 (en) Fixed point conversion of LLR values based on correlation
US9880930B2 (en) Method for operating controller and method for operating device including the same
KR102144107B1 (ko) 리페어 제어 회로 및 이를 포함하는 반도체 메모리 장치
KR102433924B1 (ko) 디스플레이 컨트롤러, 그리고 이를 포함하는 어플리케이션 프로세서
KR20150085301A (ko) 메모리 시스템의 동작 방법 및 이를 포함하는 메모리 시스템의 초기화 방법
US20140331006A1 (en) Semiconductor memory devices
US10095424B2 (en) Apparatus and method for programming non-volatile memory using a multi-cell storage cell group

Legal Events

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