KR100827662B1 - 반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및정정 방법 - Google Patents
반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및정정 방법 Download PDFInfo
- Publication number
- KR100827662B1 KR100827662B1 KR1020060108422A KR20060108422A KR100827662B1 KR 100827662 B1 KR100827662 B1 KR 100827662B1 KR 1020060108422 A KR1020060108422 A KR 1020060108422A KR 20060108422 A KR20060108422 A KR 20060108422A KR 100827662 B1 KR100827662 B1 KR 100827662B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- normal
- signal
- parity
- read
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Dram (AREA)
Abstract
본 발명은 반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및 정정 방법에 관한 것으로서, 본 발명의 반도체 메모리 장치는 노멀 데이터를 저장하는 복수개의 제1 메모리 뱅크들과 제1 플래그 신호의 제어에 따라 패리티 데이터를 저장하는 소정 갯수의 제2 메모리 뱅크들을 구비하는 메모리 셀 어레이, 소정 갯수의 제2 메모리 뱅크들에 패리티 데이터를 저장하기 위한 별도의 메모리 뱅크 사용 여부를 제어하는 제1 및 제2 플래그 신호를 설정하는 모드 설정 회로, 라이트 데이터를 인가받아 제2 플래그 신호에 응답하여 패리티 데이터를 생성하여 노멀 데이터와 패리티 데이터를 출력하는 패리티 데이터 발생부, 메모리 셀 어레이에서 리드된 노멀 리드 데이터와 패리티 리드 데이터를 인가받아 제2 플래그 신호에 응답하여 데이터의 오류를 검출하고 오류가 검출되면 데이터를 정정하여 출력하는 데이터 오류 검출 및 정정부를 구비하는 것을 특징으로 한다. 따라서, 본 발명에 의할 경우 데이터의 중요도나 반도체 메모리 장치의 출하 전에 신뢰성의 취약 여부에 따라 선택적으로 데이터의 오류 검출 및 정정을 수행하여 데이터의 패리티 비트 추가로 인한 오버 헤드를 최소화할 수 있다.
Description
도 1은 종래 기술에 따른 반도체 메모리 장치의 개략적인 전체 블록도이다.
도 2a는 종래의 반도체 메모리 장치 내 메모리 셀 어레이의 구성도이다.
도 2b는 본 발명의 반도체 메모리 장치 내 메모리 셀 어레이의 구성도이다.
도 3은 본 발명에 따른 반도체 메모리 장치의 개략적인 전체 블록도이다.
도 4는 도3에 나타낸 본 발명의 반도체 메모리 장치의 동작 타이밍도이다.
본 발명은 반도체 메모리 장치에 관한 것으로서, 특히 반도체 칩의 수율을 향상시키기 위해 데이터 오류 검출 및 정정용 데이터를 저장하는 메모리 셀을 구비하는 메모리 뱅크를 할당하고 오류가 발생한 데이타를 구제하는 반도체 메모리 장치에 관한 것이다.
최근의 반도체 기술의 빠른 발전은 집적 회로의 고집적화와 고기능화를 가져왔으며, 특히 반도체 메모리장치 분야의 고집적화는 괄목할 만한 성장을 이루었다.
그런데, 반도체 집적 회로의 고기능화에 의해 반도체 칩의 크기가 커지면, 반도체 칩의 수율은 그에 비례하여 감소하며, 또한 집적도를 높이기 위한 디자인 룰(design rule)의 축소는 반도체 칩의 수율을 더욱 감소시킨다. 이에 따라 반도체 집적 회로 중 수율이 가장 중요시 되는 반도체 메모리 장치에서는 소위 불량 구제 회로를 반도체 칩에 내장하여 수율을 높여왔다.
상기와 같은 반도체 칩의 수율을 향상시키기 위해 반도체 칩 내에 내장되는 불량 구제 수단의 일종인 오류 정정 코드(Error Correction Code : 이하 ECC)는 반도체 메모리 셀 어레이에, 실제로 저장하고 싶은 메인 데이타와 상기 메인 데이타로부터 디지탈 통신에서 사용하는 해밍 코드(Hamming Code)를 이용하여 반도체 메모리 내부에서 발생한 패리티 데이타(Parity Data)를 저장한 후, 리드 동작시 메인 데이타와 패리티 데이타와의 조합을 통해 오류가 발생한 데이타를 구제해 주는 불량 구제 회로이다.
특히, 고신뢰성을 요구하는 비휘발성(non-volatile) 메모리 제품인 EEPROM이나 마스크 ROM과 같은 메모리 소자에는 점차 ECC의 적용이 일반적으로 증가하는 추세이다.
이러한 ECC의 적용은 패리티 셀(parity cell)의 추가로 인한 칩 사이즈의 증가, 오류 정정 회로에 대한 스피드 지연 등의 손실이 발생되지만 신뢰성 및 수율 향상 폭은 이를 상쇄할 수 있을 정도로 충분하므로, 특히 리드 전용의 고집적 메모리 소자의 경우에는 리던던시(redundancy)의 적용이 어려워, 수율 및 신뢰성 향상을 위하여 ECC의 내장이 필수적으로 되고 있다.
도 1은 종래의 일반적인 반도체 메모리 장치의 개략적인 전체 블록도로서, 어드레스 입력버퍼(10), 명령어 디코더(12), 복수개의 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D), 복수개의 로우 어드레스 디코더들(20-1 내지 20-4), 복수개의 컬럼 어드레스 디코더들(30-1 내지 30-4), 데이타 입력 버퍼(40), 패리티 데이터 발생부(42), 데이터 입력 드라이버(44), 출력 멀티플렉서(50), 데이터 오류 검출 및 정정부(52), 데이타 출력 버퍼(54)를 구비한다.
복수개의 메모리 뱅크들은 각각 노멀 메모리 셀들(60-1 내지 60-4)과 ECC용 메모리 셀들(70-1 내지 70-4)로 구성되는데, 본 실시예에서는 이해의 편의를 위하여 복수개의 메모리 뱅크들이 4개의 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)로 구성되는 것으로 설정한다.
도 1을 참조하여 종래의 일반적인 반도체 메모리 장치의 개략적인 각 블록들의 기능을 설명하면 다음과 같다.
어드레스 입력버퍼(10)는 액티브 동작시에 액티브 신호(ACT) 및 클럭신호(PCLK)에 응답하여 외부 어드레스(ADD)를 인가받아 버퍼하여 내부 로우 어드레스(ra[14:0])를 발생하고, 라이트 또는 리드 동작시에 라이트 또는 리드 신호(WE, RE) 및 클럭신호(PCLK)에 응답하여 외부 어드레스(ADD)를 입력하고 버퍼하여 내부 컬럼 어드레스(ca[14:0])를 발생한다.
명령어 디코더(12)는 명령어 신호(CMD)를 인가받아 클럭신호(PCLK)에 응답하여 디코딩하여 액티브 신호(ACT), 라이트 신호(WE), 및 리드 신호(RE)를 발생한다.
복수개의 로우 어드레스 디코더들(20-1 내지 20-4) 각각은 내부 로우 어드레 스(ra[14:0])와 액티브 신호(ACT)를 인가받아 디코딩하여 4개의 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D) 각각마다의 복수개의 워드 선택신호들 중 하나의 신호(WL_A, WL_B, WL_C, WL_D)를 활성화한다.
복수개의 컬럼 어드레스 디코더들(30-1 내지 30-4) 각각은 버퍼된 내부 컬럼 어드레스(ca[14:0])와 액티브 신호(ACT)를 인가받아 디코딩하여 4개의 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D) 각각마다의 복수개의 컬럼 선택신호들 중 하나의 신호(CSL_A, CSL_B, CSL_C, CSL_D)를 활성화한다.
복수개의 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D) 각각은 데이터 라이트 신호(WE) 또는 데이터 리드 신호(RE)에 응답하여 노멀 메모리 셀들(60-1 내지 60-4)에 통상의 데이터를 입력하거나 출력하고, ECC용 메모리 셀들(70-1 내지 70-4)에 패리티 데이터를 입력하거나 출력한다.
데이터 입력버퍼(10)는 라이트 신호(WE) 및 클럭신호(PCLK)에 응답하여 데이터 입출력 핀들을 통하여 N 비트의 라이트 데이터(Di)를 인가받아 버퍼하여 버퍼된 라이트 데이터를 출력한다.
패리티 데이터 발생부(42)는 데이터 입력버퍼(10)에서 버퍼된 라이트 데이터를 인가받아 인코딩하여 패리티 데이터를 생성하여 N 비트의 노멀 라이트 데이터와 M 비트의 패리티 라이트 데이터를 구분하여 출력한다.
출력 멀티플렉서(50)는 데이터 리드 신호(RE)에 응답하여 복수개의 메모리 뱅크들로부터 N 비트의 노멀 리드 데이터와 M 비트의 패리티 리드 데이터를 인가받아 멀티플렉싱한 후에 출력한다.
데이터 오류 검출 및 정정부(52)는 출력 멀티플렉서(50)에서 출력된 N 비트의 노멀 리드 데이터와 M 비트의 패리티 리드 데이터를 인가받아 디코딩하여 본래의 N 비트의 리드 데이터로 복원하여 출력한다. 이 과정에서 복원된 리드 데이터를 해밍 코드 알고리즘을 이용하여 에러를 검출하고 오류가 감지된 데이터는 정정하게 되는데, 해밍 코드 알고리즘은 일반적인 불량 구제 회로에서 데이터의 오류 검출 및 정정용으로 사용되는 공지된 기술이므로 여기에서는 상세한 설명을 생략한다.
데이터 출력버퍼(54)는 데이터 오류 검출 및 정정부(52)로부터 N 비트의 리드 데이터를 인가받아 소정 시간 지연하여 버퍼된 리드 데이터를 데이터 입출력 핀들로 출력한다.
도 1을 참조하여 종래의 일반적인 반도체 메모리 장치의 데이터 에러 검출 및 정정 동작을 설명하면 다음과 같다.
예를 들어, 복수개의 워드 라인 선택 신호들이 n비트이고, 복수개의 컬럼 선택 신호들이 m비트이며, 라이트 데이터(Di) 및 리드 데이터(Do)가 N 비트의 병렬 데이터로(에서) 변환되는 K 개의 직렬 데이터라고 가정한다.
먼저 반도체 메모리 장치 외부로부터 메모리 셀 어레이(30) 내 제1 내지 제4 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)에 데이터가 순차적으로 라이트되는 동작을 설명한다.
외부로부터 소정의 명령어들과 함께 15비트의 로우 어드레스(RA[14:0])가 인가되면, 명령어 디코더(12)는 내부적으로 액티브 명령(ACT)을 발생하고, 어드레스 입력버퍼(10)는 버퍼된 클럭 신호(PCLK)에 응답하여 로우 어드레스(RA)를 버퍼하여 버퍼된 15비트의 내부 로우 어드레스(ra[14:0])를 발생한다.
복수개의 로우 어드레스 디코더들(20-1 내지 20-4) 각각은 내부 로우 어드레스(ra[14:0]) 중 13 비트(ra[12:0])를 디코딩하여 워드 라인 선택신호들(WL1 ~ n)을 발생하고, 이에 따라 워드 라인 선택신호들(WL1 ~ n)중의 하나의 선택신호가 활성화된다. 이때, 최상위 2비트(ra[14:13])를 뱅크 어드레스로 하여 디코딩하여 메모리 뱅크를 선택한다. 즉, 최상위 2비트의 조합이 '00' '01' '10' '11'이므로 데이터 라이트시에 각각 제1 내지 제4 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)에 매칭되어 선택된다.
이 후, 외부로부터 소정의 명령어들과 함께 15비트의 컬럼 어드레스(CA[14:0])가 인가되면, 명령어 디코더(12)는 라이트 명령(WE)을 발생하고, 어드레스 입력버퍼(10)는 버퍼된 클럭 신호(PCLK)에 응답하여 컬럼 어드레스(CA)를 버퍼하여 15비트의 버퍼된 컬럼 어드레스(ca[14:0])를 발생한다.
복수개의 컬럼 어드레스 디코더들(30-1 내지 30-4) 각각은 버퍼된 내부 컬럼 어드레스(ca[14:0]) 중 13 비트(ca[12:0])를 디코딩하여 복수개의 컬럼 선택신호들(CSL1 ~ m)을 발생하고, 이에 따라 컬럼 선택신호들(CSL1 ~ m) 중 하나의 컬럼 선택신호가 활성화된다. 또한, 로우 어드레스 디코더(20)와 마찬가지로 최상위 2비트(ca[14:13])를 뱅크 어드레스로 하여 디코딩하여 메모리 뱅크를 선택한다.
예를 들어, 인가된 뱅크 어드레스의 조합이 "00"이라고 가정한다면 복수개의 메모리 뱅크들 중에서 제1 메모리 뱅크(BA_A)가 선택된 경우이다.
데이터 입력버퍼(10)가 라이트 신호(WE) 및 클럭신호(PCLK)에 응답하여 데이 터 입출력 핀들을 통하여 N 비트의 라이트 데이터(Di)를 인가받아 버퍼하여 버퍼된 라이트 데이터를 출력한다.
패리티 데이터 발생부(42)는 데이터 입력버퍼(10)에서 버퍼된 라이트 데이터를 인가받아 패리티 데이터를 생성하여 인코딩하는데, N 비트의 노멀 라이트 데이터와 M 비트의 패리티 라이트 데이터를 구분하여 N 비트의 노멀 라이트 데이터는 제1 메모리 뱅크의 노멀 메모리 셀들(60-1)에 입력하고, 패리티 라이트 데이터는 제1 메모리 뱅크의 ECC용 메모리 셀들(70-1 내지 70-4)에 입력한다.
이와 같이 하여 뱅크 어드레스의 조합을 '01', '10', '11' 으로 인가하여 복수개의 메모리 뱅크들 중에서 제2 내지 제4 메모리 뱅크들(BA_B, BA_C, BA_D)이 선택되어 각 메모리 뱅크들의 노멀 메모리 셀들(60-1 내지 60-4)과 ECC용 메모리 셀들(70-1 내지 70-4)에 각각 노멀 라이트 데이터와 패리티 라이트 데이터가 입력된다.
다음으로, 메모리 셀 어레이(30) 내 제1 내지 제4 메모리 뱅크들로부터 반도체 메모리 장치 외부로 데이터가 순차적으로 리드되는 동작을 설명한다.
외부로부터 소정의 명령어들과 함께 15비트의 로우 어드레스(RA)가 인가되면, 상술한 데이터 라이트 동작에서의 액티브 명령(ACT)이 인가될 때와 동일한 방법으로 동작을 수행하여 워드 라인 선택신호들(WL1 ~ n)중의 하나의 선택신호가 활성화되고, 최상위 2비트(ca[14:13])를 뱅크 어드레스로 하여 디코딩하여 메모리 셀 어레이(30) 내 메모리 뱅크를 선택한다.
외부로부터 소정의 명령어들과 함께 15비트의 컬럼 어드레스(CA)가 인가되 면, 명령어 디코더(12)는 리드 명령(RE)을 발생하고, 어드레스 입력버퍼(10)는 버퍼된 클럭 신호(PCLK)에 응답하여 컬럼 어드레스(CA)를 버퍼하여 15비트의 버퍼된 내부 컬럼 어드레스(ca[14:0])를 발생한다.
컬럼 어드레스 디코더(22)는 버퍼된 내부 컬럼 어드레스(ca[14:0]) 중 13 비트(ca[12:0])를 디코딩하여 컬럼 선택신호들(CSL1 ~ m)을 발생하고, 이에 따라 컬럼 선택신호들(CSL1 ~ m)중의 하나의 컬럼 선택신호가 활성화된다. 이때, 로우 어드레스 디코더(20)와 마찬가지로 최상위 2비트(ca[12:0])를 뱅크 어드레스로 하여 디코딩하여 메모리 셀 어레이(30) 내 메모리 뱅크를 선택한다.
예를 들어, 데이터 라이트 동작시와 마찬가지로 인가된 뱅크 어드레스의 조합을 "00"이라고 가정한다면 복수개의 메모리 뱅크들 중에서 제1 메모리 뱅크(BA_A)가 선택된 경우이다.
출력 멀티플렉서(50)는 데이터 리드 신호(RE)에 응답하여 제1 메모리 뱅크로부터 N 비트의 노멀 리드 데이터와 M 비트의 패리티 리드 데이터를 인가받아 멀티플렉싱한 후에 출력한다.
데이터 오류 검출 및 정정부(52)는 출력 멀티플렉서(50)에서 출력된 N 비트의 노멀 리드 데이터와 M 비트의 패리티 리드 데이터를 동시에 인가받아 디코딩하여 본래의 N 비트의 리드 데이터(Do)로 복원하여 출력한다. 이 과정에서 복원된 리드 데이터(Do)를 일반적인 해밍 코드 알고리즘을 이용하여 에러를 검출하고 오류가 감지된 데이터는 정정하게 된다.
데이터 출력버퍼(10)는 데이터 오류 검출 및 정정부(52)로부터 N 비트의 리 드 데이터를 인가받아 소정 시간 지연하여 버퍼된 리드 데이터(Do)를 데이터 입출력 핀들로 출력한다.
이와 같이 하여 뱅크 어드레스의 조합을 '01', '10', '11' 으로 인가하여 복수개의 메모리 뱅크들 중에서 제2 내지 제4 메모리 뱅크들(BA_B, BA_C, BA_D)이 선택되어 동일하게 각 메모리 뱅크들의 노멀 메모리 셀들(60-1 내지 60-4)과 ECC용 메모리 셀들(70-1 내지 70-4)로부터 각각 노멀 리드 데이터와 패리티 리드 데이터가 출력되고, 출력 멀티플렉서(50)의 N 비트의 노멀 리드 데이터와 M 비트의 패리티 리드 데이터 멀티플렉싱 후에 데이터 오류 검출 및 정정부(52)의 본래의 N 비트의 리드 데이터(Do)로의 디코딩하는 과정에서 일반적인 해밍 코드 알고리즘을 이용하여 에러를 검출하고 오류가 감지된 데이터는 정정하게 된다.
그런데, 종래의 각 메모리 뱅크별로 ECC용 메모리 셀들이 별도로 존재하는 일반적인 반도체 메모리 장치의 경우에는 데이터 에러 검출 및 정정 효과가 현저하나 모든 데이터의 에러 검출 및 정정 비트의 추가로 인한 오버 헤드(Overhead) 문제가 발생할 수 있다.
예를 들어 1기가 바이트 휴대용 기기 용도의 반도체 메모리 장치의 경우 리프레쉬 주기의 시간 증가나 SER(Soft Error Rate)을 감소기키기 위하여 0.5 기가 바이트 영역을 갖는 데이터 에러 검출 및 정정 회로를 채용한 바 있다. 즉, 반도체 메모리 셀 내의 모든 커패시터는 정전 용량 값이 일정해야 리프레쉬 동작의 주기가 일정한데, 정전 용량 값의 변화나 산포의 차이로 인해 리프레쉬 동작의 주기도 증가할 수 있고, 반도체 메모리 장치가 패키지된 상태에서 각종 전자기파에 노출될 때 메모리 셀 내 커패시터의 정전 용량 값이 변화됨으로 인해 소프트 에러 현상이 발생할 수 있다.
이와 같은 문제점을 해결하기 위하여 종래에는 여분의 데이터 에러 검출 및 정정 회로와 같은 불량 구제 회로를 구비하여 상기 문제점들을 다소 감소시키기는 하였으나, 종래의 메모리 뱅크 구조 및 데이터 폭이 8 비트인 기존의 반도체 메모리 장치에서는 모든 데이터의 에러 검출 및 정정 회로의 추가로 인한 오버 헤드가 크게 되는 취약점이 있었다.
본 발명의 목적은 데이터 오류 검출 및 정정용 메모리 셀들로 구성되는 별도의 메모리 뱅크를 할당하고 데이터의 중요도나 반도체 메모리 장치의 출하 전에 신뢰성의 취약 여부에 따라 선택적으로 데이터의 오류 검출 및 정정을 수행하는 반도체 메모리 장치를 제공함에 있다.
본 발명의 다른 목적은 상기 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법을 제공하는데 있다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치는 노멀 데이터를 저장하는 복수개의 제1 메모리 뱅크들과 제1 플래그 신호의 제어에 따라 패리티 데이터를 저장하는 복수개의 제1 메모리 뱅크들의 갯수보다 적은 소정 갯수의 제2 메모리 뱅크들을 구비하는 메모리 셀 어레이, 소정 갯수의 제2 메모리 뱅크들에 패리티 데이터를 저장하기 위한 별도의 메모리 뱅크 사용 여부를 제어하는 제1 플래그 신호 및 제2 플래그 신호를 설정하는 모드 설정 회로, 라이트 동작시 라 이트 데이터를 인가받아 제2 플래그 신호에 응답하여 라이트 데이터에 대한 패리티 데이터를 생성하여 노멀 데이터와 패리티 데이터를 출력하는 패리티 데이터 발생부, 리드 동작시 메모리 셀 어레이에서 리드된 노멀 리드 데이터와 패리티 리드 데이터를 인가받아 제2 플래그 신호에 응답하여 노멀 리드 데이터의 오류를 검출하고 오류가 검출되면 노멀 리드 데이터를 정정하여 정정된 리드 데이터를 출력하는 데이터 오류 검출 및 정정부를 구비하는 것을 특징으로 한다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치는 로우 어드레스 및 컬럼 어드레스에 응답하여 복수개의 제1 메모리 뱅크들 중 하나의 메모리 뱅크와 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하는 복수개의 어드레스 디코더들, 외부로부터 명령어들을 인가받아 디코딩하여 액티브 신호, 모드 설정 명령 신호, 라이트 신호, 리드 신호를 발생하는 명령어 디코더를 더 구비하는 것을 특징으로 한다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치는 노멀 데이터를 인가받아 소정 시간 지연하여 출력하는 노멀 데이터 입력 드라이버, 패리티 데이터를 인가받아 소정 시간 지연하여 출력하는 패리티 데이터 입력 드라이버, 리드 신호에 응답하여 복수개의 제1 메모리 뱅크들에 저장되어 있던 노멀 리드 데이터를 인가받아 멀티플렉싱한 후에 출력하는 노멀 출력 멀티플렉서, 리드 신호에 응답하여 소정 갯수의 제2 메모리 뱅크들에 저장되어 있던 패리티 리드 데이터를 인가받아 멀티플렉싱한 후에 출력하는 패리티 출력 멀티플렉서를 더 구비하는 것을 특징으로 한다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치는 라이트 신호에 응답하여 라이트 데이터를 인가받아 버퍼하여 버퍼된 라이트 데이터를 출력하는 데이터 입력 버퍼, 정정된 리드 데이터를 인가받아 소정 시간 지연하여 버퍼된 리드 데이터를 출력하는 데이터 출력 버퍼를 더 구비하는 것을 특징으로 한다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 복수개의 어드레스 디코더들은 로우 어드레스 및 컬럼 어드레스 중 소정의 비트들에 응답하여 복수개의 제1 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하고, 제1 플래그 신호의 제어에 따라 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하는 것을 특징으로 한다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 소정의 비트들은 로우 어드레스 및 컬럼 어드레스 중 어느 하나의 어드레스의 최상위 비트들인 뱅크 어드레스인 것을 특징으로 한다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 패리티 데이터 발생부는 라이트 데이터를 N 비트로 인가받아 제2 플래그 신호의 제어에 의해 N 비트의 노멀 데이터 및 M 비트의 패리티 데이터로 인코딩하여 N+M 비트의 인코딩된 라이트 데이터로 변환시키는 것을 특징으로 한다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정부는 N 비트의 노멀 리드 데이터와 M 비트의 패리티 리드 데이터를 동시에 N+M 비트로 인가받아 제2 플래그 신호의 제어에 의해 디코딩하여 본 래 N 비트의 리드 데이터로 복원시키는 것을 특징으로 한다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 모드 설정 회로는 입출력 데이터의 중요도나 복수개의 제1 메모리 뱅크들의 신뢰성에 따라 별도의 메모리 뱅크를 사용하게 하는 모드 설정 명령에 응답하여 디코딩한 후에 제1 및 제2 플래그 신호를 발생하는 것을 특징으로 한다.
상기 본 발명의 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 모드 설정 회로는 뱅크 어드레스를 인가받아 모드 설정 명령의 제어에 따라 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하게 하는 제1 플래그 신호를 발생하고, 모드 설정 명령 신호와 라이트 신호가 인가되면 제2 플래그 신호를 데이터 인코딩 인에이블용으로 발생하며, 모드 설정 명령 신호와 리드 신호가 인가되면 제2 플래그 신호를 데이터 디코딩 인에이블용으로 발생하는 것을 특징으로 한다.
상기 본 발명의 다른 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법은 노멀 데이터를 저장하는 복수개의 제1 메모리 뱅크들과 제1 플래그 신호의 제어에 따라 패리티 데이터를 저장하는 복수개의 제1 메모리 뱅크들의 갯수보다 적은 소정 갯수의 제2 메모리 뱅크들로 구성된 메모리 셀 어레이를 구비한 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법에 있어서, 패리티 데이터를 저장하기 위하여 소정 갯수의 제2 메모리 뱅크들을 별도로 사용할지 여부를 제어하는 제1 플래그 신호 및 제2 플래그 신호를 설정하는 모드 설정 단계, 라이트 동작시 라이트 데이터를 인가받아 제2 플래그 신호에 응답하여 라이트 데이터에 대한 패리티 데이터를 생성하고 인코딩하여 노멀 데이터와 패리티 데이터를 출력하는 패리티 데이터 발생 단계, 노멀 데이터의 입출력시에는 노멀 데이터를 복수개의 제1 메모리 뱅크들로 입출력하고 패리티 데이터의 발생시에는 노멀 데이터 및 패리티 데이터를 복수개의 제1 메모리 뱅크들 및 소정 갯수의 제2 메모리 뱅크들에 각각 입출력하는 데이터 입출력 단계, 리드 동작시 출력된 노멀 데이터와 출력된 패리티 데이터를 인가받아 제2 플래그 신호에 응답하여 노멀 리드 데이터의 오류를 검출하고 오류가 검출되면 노멀 리드 데이터를 정정하여 정정된 리드 데이터를 출력하는 데이터 오류 검출 및 정정 단계를 구비하는 것을 특징으로 한다.
상기 본 발명의 다른 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법은 노멀 데이터 입출력시에는 복수개의 제1 메모리 뱅크들의 어드레스를 선택하고, 노멀 데이터 및 패리티 데이터 입출력시에는 복수개의 제1 메모리 뱅크들 및 소정 갯수의 제2 메모리 뱅크들의 어드레스를 선택하는 어드레스 디코딩 단계, 외부로부터 명령어들을 인가받아 디코딩하여 액티브 신호, 모드 설정 명령 신호, 라이트 신호, 리드 신호를 발생하는 명령어 디코딩 단계를 더 구비하는 것을 특징으로 한다.
상기 본 발명의 다른 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법의 어드레스 디코딩 단계는 노멀 데이터 입출력시에는 로우 어드레스 및 컬럼 어드레스 중 소정의 비트들에 응답하여 복수개의 제1 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하고, 노멀 데이터 및 패리티 데이터 입출력시에는 소정의 비트들에 응답하여 제1 플래그 신호의 제어에 따라 복수개의 제1 메모리 뱅크들 중 하나의 메모리 뱅크 및 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하는 것을 특징으로 한다.
상기 본 발명의 다른 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법의 소정의 비트들은 로우 어드레스 및 컬럼 어드레스 중 어느 하나의 어드레스의 최상위 비트들인 뱅크 어드레스인 것을 특징으로 한다.
상기 본 발명의 다른 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법은 노멀 데이터를 인가받아 소정 시간 지연하여 출력하는 노멀 데이터 입력 드라이빙 단계, 패리티 데이터를 인가받아 소정 시간 지연하여 출력하는 패리티 데이터 입력 드라이빙 단계, 리드 신호에 응답하여 복수개의 제1 메모리 뱅크들에 저장되어 있던 노멀 데이터를 인가받아 멀티플렉싱한 후에 출력하는 노멀 출력 멀티플렉싱 단계, 리드 신호에 응답하여 소정 갯수의 제2 메모리 뱅크들에 저장되어 있던 패리티 데이터를 인가받아 멀티플렉싱한 후에 출력하는 패리티 출력 멀티플렉싱 단계를 더 구비하는 것을 특징으로 한다.
상기 본 발명의 다른 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법은 라이트 신호에 응답하여 라이트 데이터를 인가받아 버퍼하여 버퍼된 라이트 데이터를 출력하는 데이터 입력 버퍼 단계, 정정된 리드 데이터를 인가받아 소정 시간 지연하여 버퍼된 리드 데이터를 출력하는 데이터 출력 버퍼 단계를 더 구비하는 것을 특징으로 한다.
상기 본 발명의 다른 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법의 모드 설정 단계는 입출력 데이터의 중요도나 복수개의 제1 메모리 뱅크들의 신뢰성에 따라 별도의 메모리 뱅크를 사용하게 하는 모드 설정 명령에 응답하여 디코딩한 후에 제1 및 제2 플래그 신호를 발생하는 것을 특징으로 한다.
상기 본 발명의 다른 목적을 달성하기 위한 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법의 모드 설정 단계는 뱅크 어드레스를 인가받아 모드 설정 명령의 제어에 따라 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하게 하는 제1 플래그 신호를 발생하고, 모드 설정 명령 신호와 라이트 신호가 인가되면 제2 플래그 신호를 데이터 인코딩 인에이블용으로 발생하며, 모드 설정 명령 신호와 리드 신호가 인가되면 제2 플래그 신호를 데이터 디코딩 인에이블용으로 발생하는 것을 특징으로 한다.
이하, 첨부한 도면을 참조하여, 본 발명의 반도체 메모리 장치를 설명하면 다음과 같다.
도 2a 및 도 2b는 종래의 반도체 메모리 장치와 본 발명의 반도체 메모리 장치 내 메모리 셀 어레이를 대비하여 나타낸 구성도로서, 도 2a는 종래의 반도체 메모리 장치 내 메모리 셀 어레이의 구성도이고 도 2b는 본 발명의 반도체 메모리 장치 내 메모리 셀 어레이의 구성도이다.
도 2a에서 종래의 반도체 메모리 장치 내 메모리 셀 어레이는 복수개의 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)로 구성되고 각 메모리 뱅크는 노멀 메모리 셀 들(60-1 내지 60-4)과 ECC용 메모리 셀들(70-1 내지 70-4)로 구성되는데, 본 실시예에서는 이해의 편의를 위하여 4개의 메모리 뱅크들로 구성되는 것으로 설정한다.
따라서, 복수개의 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D) 각각은 노멀 메모리 셀들(60-1 내지 60-4)에는 통상의 데이터를 입력하거나 출력하고, ECC용 메모리 셀들(70-1 내지 70-4)에는 상기 통상의 데이터의 오류를 검출하고 정정할 목적으로 해밍 코드를 이용하여 상기 통상의 데이터로부터 생성된 패리티 데이터를 입력하거나 출력한다.
반면, 도 2b에서 본 발명의 반도체 메모리 장치 내 메모리 셀 어레이는 복수개의 노멀 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)과 복수개의 ECC용 메모리 뱅크(BA_ECC)들을 구비한다. 각 노멀 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)은 노멀 메모리 셀들(60-1 내지 60-4)로 구성되고 복수개의 ECC용 메모리 뱅크(BA_ECC)들은 ECC용 메모리 셀들(70-1 내지 70-4)로 구성되는데, 본 실시예에서는 이해의 편의를 위하여 4개의 노멀 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)과 1개의 ECC용 메모리 뱅크(BA_ECC)를 구비하는 것으로 설정한다.
따라서, 복수개의 노멀 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D) 각각에는 통상의 데이터를 입력하거나 출력하고, ECC용 메모리 뱅크(BA_ECC)에는 상기 통상의 데이터의 오류를 검출하고 정정할 목적으로 해밍 코드를 이용하여 상기 통상의 데이터로부터 생성된 패리티 데이터를 입력하거나 출력한다.
도 2b를 참조하여 본 발명의 반도체 메모리 장치에서 데이터 오류 검출 및 정정용 메모리 뱅크를 할당하는 방식을 설명하면 다음과 같다.
한 가지 방식은 반도체 메모리 장치 스펙(Specification) 상에 명시하는 방식으로서, 반도체 메모리 장치 사용자가 입출력 데이터의 중요도에 따라 중요한 데이터만을 ECC용 메모리 뱅크(BA_ECC)에 저장하는데, 이때 반도체 메모리 장치 사용자는 모드 레지스터 설정 신호를 이용하여 복수개의 메모리 뱅크들 중에서 한 개 이상의 ECC용 메모리 뱅크(BA_ECC)들을 별도로 할당한다.
또 다른 방식은 반도체 메모리 장치 스펙에 명시하지 않는 방식으로서, 반도체 메모리 장치 판매자가 웨이퍼 테스트 및 패키지 테스트 등의 제반의 칩 테스트 공정을 거친 반도체 메모리 장치의 출하 전에 신뢰성이 취약한 메모리 뱅크들에 대해서만 ECC용 메모리 뱅크(BA_ECC)들을 할당하는 방식이다. 예를 들면 노아(NOR) 플레쉬와 같은 코드 저장 메모리 반도체 장치인 경우 OTP(One Time Programmable) 블록이나 부팅 영역과 같은 기능상 중요 영역에는 의무적으로 ECC용 메모리 뱅크(BA_ECC)들을 할당하고, 그 외의 메모리 뱅크들은 뱅크 프리(bank-free) 개념으로 무작위로 ECC용 메모리 뱅크(BA_ECC)들을 할당한다.
여기에서 OTP(One Time Programmable) 블록이란 윈도우 업(window up)시 한번만 프로그램하여 사용할 수 있는 블록으로서, 사용자가 여러번 프로그램과 소거를 할수 있는 MTP(Multiple Time Programmable) 제품과 대조되는 블록이다.
다음으로 도 3은 본 발명에 의해 별도의 데이터 오류 검출 및 정정용 메모리 뱅크를 할당하는 반도체 메모리 장치의 개략적인 전체 블록도로서, 어드레스 입력버퍼(10), 명령어 디코더(120), 모드 설정 회로(200), 복수개의 노멀 메모리 뱅크 들(BA_A, BA_B, BA_C, BA_D), ECC용 메모리 뱅크(BA_ECC), 복수개의 로우 어드레스 디코더들(20-1 내지 20-4), 복수개의 컬럼 어드레스 디코더들(30-1 내지 30-4), 노멀 데이터 입력 드라이버(320), 노멀 출력 멀티플렉서(420), ECC용 데이터 입력 드라이버(340), ECC용 출력 멀티플렉서(440), 패리티 데이터 발생부(300), 데이터 오류 검출 및 정정부(400), 데이타 입력 버퍼(40), 데이타 출력 버퍼(54)를 구비한다.
본 실시예에서는 이해의 편의를 위하여 복수개의 노멀 메모리 뱅크들이 4개의 노멀 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)로 구성되고 ECC용 메모리 뱅크(BA_ECC)는 저장되는 패리티 데이터의 크기에 따라 복수개의 메모리 뱅크로 존재할 수 있으나 본 실시예에서는 한 개의 메모리 뱅크로 구성되는 것으로 설정한다.
도 3을 참조하여 본 발명의 반도체 메모리 장치 각 블록들의 기능을 설명하면 다음과 같다.
어드레스 입력버퍼(10), 복수개의 로우 어드레스 디코더들(20-1 내지 20-4), 복수개의 컬럼 어드레스 디코더들(30-1 내지 30-4), 노멀 데이터 입력 드라이버(320), 노멀 출력 멀티플렉서(420), 데이타 입력 버퍼(40), 데이타 출력버퍼(54)는 도 1의 종래 일반적인 반도체 메모리 장치의 개략적인 각 블록들의 기능과 동일하므로 여기에서는 상세한 설명을 생략하고 상이한 기능을 갖는 블록들에 대해서만 설명한다.
가장 큰 차이점은 메모리 셀 어레이 내에 복수개의 노멀 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D) 뿐 아니라 별도의 복수개의 ECC용 메모리 뱅 크(BA_ECC)들이 독립적으로 구성되어 통상의 데이터는 복수개의 노멀 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D) 각각의 노멀 메모리 셀들(60-1 내지 60-4)에 저장하고, 데이터의 오류 검출 및 정정용 패리티 데이터는 별도의 ECC용 메모리 뱅크(BA_ECC)의 ECC용 메모리 셀들(100-3)에 저장한다는 점과 데이터 입력 드라이버와 출력 멀티플렉서가 각각 노멀 데이터 입출력용과 ECC용 데이터 입출력용으로 구분하여 독립적으로 구비한다는 점이다.
또한, 명령어 디코더(120)는 액티브 신호(ACT), 라이트 신호(WE), 및 리드 신호(RE)를 발생할 뿐 아니라 입출력 데이터의 중요도에 따라 메모리 뱅크가 별도의 할당이 필요하여 반도체 메모리 장치 사용자가 설정하는 명령어 또는 신뢰성이 취약한 메모리 뱅크들을 위한 별도의 할당이 필요하여 반도체 메모리 장치 판매자가 설정하는 명령어를 인가받아 디코딩하여 사용자의 모드 설정 명령 신호(U_MRS) 또는 판매자의 모드 설정 명령 신호(V_MRS)를 출력한다.
모드 설정 회로(200)는 로우 어드레스(RA)를 인가받아 디코딩한 후에 사용자의 모드 설정 명령 신호(U_MRS) 또는 판매자의 모드 설정 명령 신호(V_MRS)의 제어에 따라 내장된 퓨즈들의 개폐와 비교기에서의 비교 동작을 제어하여 ECC용 어드레스 플래그 신호(Eadd_flag), 인코딩 플래그 신호(enc_flag) 및 디코딩 플래그 신호(dec_flag)를 발생한다는 차이점이 있다.
다음으로, 도 4는 도3에 나타낸 본 발명의 반도체 메모리 장치의 데이터 오류 검출 및 정정용 메모리 뱅크를 할당하여 데이터를 입출력하는 동작을 설명하기 위한 동작 타이밍도로서, 클럭신호(PCLK), 디코딩된 명령어 신호(CMD_d), 입력 어드레스 신호(ADD), ECC용 어드레스 플래그 신호(Eadd_flag), 복수개의 메모리 뱅크 워드 라인 선택 신호들(WL_A 내지 WL_D, WL_E), 복수개의 메모리 뱅크 컬럼 라인 선택 신호들(CSL_A 내지 CSL_D, CSL_E), 인코딩 플래그 신호(enc_flag), 디코딩 플래그 신호(dec_flag), 라이트 데이터 신호(Di), 노멀 데이터 입력 신호(norm_Di), 패리티 데이터 입력 신호(par_Di), 노멀 데이터 출력 신호(norm_Do), 패리티 데이터 출력 신호(par_Do), 리드 데이터 신호(Do)로 구성된다.
클럭신호(PCLK)는 일정한 위상과 주기를 가지고 토글(toggle)되고, 디코딩된 명령어 신호(CMD_d)는 액티브 명령(ACT), 모드 설정 명령(U_MRS 또는 V_MRS), 데이터 라이트 명령(WE), 데이터 리드 명령(RE)이 순차적으로 로드된다.
입력 어드레스 신호(ADD)는 액티브 명령(ACT)에 따라 어드레스 핀을 통해 로우 어드레스(RA)를 로드하고, 데이터 라이트 명령(WE)에 따라 데이터를 라이트할 컬럼 어드레스(CA)를 로드하며, 데이터 리드 명령(RE)에 따라 데이터를 리드할 컬럼 어드레스(CA)를 로드한다.
본 실시예에서는 내부 로우 어드레스(ra[14:0]) 중 최상위 2비트(ra[14:13])를 뱅크 어드레스로 하여 "00"을 인가하여 디코딩함으로써 메모리 셀 어레이(30) 내 제1 메모리 뱅크(BA_A)를 선택하므로 해당 메모리 뱅크의 워드 라인 선택 신호(WL_A)가 활성화되고, 내부 컬럼 어드레스(ca[14:0]) 중 최상위 3비트(ca[14:13])를 뱅크 어드레스로 하여 "00"을 인가하여 디코딩함으로써 메모리 셀 어레이(30) 내 제1 메모리 뱅크를 선택(BA_A)하므로 해당 메모리 뱅크의 컬럼 라인 선택 신호(CSL_A)가 활성화된 것으로 예시한다.
이때 모드 설정 회로(200)는 로우 어드레스(RA)를 인가받아 모드 설정 명령(U_MRS 또는 V_MRS)의 제어에 따라 각각 ECC용 메모리 뱅크(BA_ECC)의 워드 라인 선택 신호(WL_E) 및 컬럼 라인 선택 신호(CSL_E)를 활성화시키는 ECC용 어드레스 플래그 신호(Eadd_flag)를 발생한다.
데이터 라이트 명령(WE)이 로드되면 인코딩 플래그 신호(enc_flag)가 하이 레벨로 천이되었다가 한 주기 후에 다시 로우 레벨로 천이되고, 데이터 리드 명령(RE)이 로드되면 디코딩 플래그 신호(dec_flag)가 하이 레벨로 천이되었다가 한 주기 후에 다시 로우 레벨로 천이된다.
라이트 데이터(Di)가 데이터 라이트 신호(WE)에 따라 데이터 핀(DQ)을 통해 복수개의 제1 메모리 뱅크의 라이트 데이터(Di_A-1 ~ Di_A-K)를 로드하고 인코딩 플래그 신호(enc_flag)가 하이 레벨로 천이되면 다음 클럭의 상승 에지에서 노멀 데이터 입력 신호(norm_Di)와 패리티 데이터 입력 신호(par_Di)는 각각 라이트 데이터 신호(Di)에 로드된 제1 메모리 뱅크의 라이트 데이터(Di_A-1 ~ Di_A-K)와 이 데이터 각각의 패리티 라이트 데이터(Di_E-1 ~ Di_E-K)가 인코딩되어 로드된다.
또한, 데이터 리드 신호(RE)에 따라 노멀 데이터 출력 신호(norm_Do)와 패리티 데이터 출력 신호(par_Do)가 각각 제1 메모리 뱅크의 노멀 리드 데이터(Do_A-1 ~Do_A-K)와 이 데이터 각각의 패리티 리드 데이터(Do_E-1 ~Do_E-K)를 로드한 상태에서 디코딩 플래그 신호(dec_flag)가 하이 레벨로 천이되면 다음 클럭의 상승 에지에서 리드 데이터 신호(Do)에는 제1 메모리 뱅크의 디코딩된 리드 데이 터(Do_A-1 ~Do_A-K)가 출력된다.
도 2 내지 도 4를 참조하여 본 발명의 반도체 메모리 장치의 동작을 설명하면 다음과 같다.
도 2에서와 같이 메모리 셀 어레이 내 복수개의 메모리 뱅크들 중에 ECC용 메모리 뱅크(BA_ECC)의 할당이 완료되면 패리티 데이터 발생부(300) 또는 데이터 오류 검출 및 정정부(400)는 해당 ECC용 메모리 뱅크(BA_ECC)에 대한 라이트 또는 리드 동작을 수행할 경우에만 데이터 오류 검출 및 정정용 인코딩 작업을 수행하게 된다.
먼저 반도체 메모리 장치 외부로부터 메모리 셀 어레이 내 제1 내지 제4 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D) 및 ECC용 메모리 뱅크(BA_ECC)에 데이터가 라이트되는 동작을 설명한다.
명령어 디코더(120)의 액티브 명령(ACT), 데이터 라이트 명령(WE) 발생, 컬럼 어드레스 디코더(500)의 내부 로우 어드레스(ra[14:0]), 내부 컬럼 어드레스(ca[14:0]) 발생하는 동작은 도 1 에 나타낸 종래의 반도체 메모리 장치의 데이터 라이트 동작과 동일하므로 여기에서는 상세한 설명을 생략하고 차이점이 있는 동작만 설명한다.
예를 들어, 본 발명의 제1 실시예로서 반도체 메모리 장치 사용자가 중요도가 매우 크다고 판단된 제1 데이터와 중요도가 그리 크지 않다고 판단된 제2 데이터를 메모리 셀 어레이 내 복수개의 메모리 뱅크들에 함께 저장한다고 가정한다면, 제1 데이터의 패리티 비트는 ECC용 메모리 뱅크(BA_ECC)를 별도로 할당하여 저장하고 제1 데이터의 노멀 데이터(Di_A-1 ~ Di_A-K)와 제2 데이터는 복수개의 노멀 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)에 저장하기 위하여 반도체 메모리 장치 사용자는 명령어 디코더(120)에 모드 레지스터 셋의 형태로 명령어를 입력한다.
이에 따라 명령어 디코더(120)는 사용자의 모드 설정 명령(U_MRS)을 출력하고 모드 설정 회로(200)는 사용자의 모드 설정 명령(U_MRS)을 인가받아 하이 레벨의 인코딩 플래그 신호(enc_flag)를 출력한다.
사용자의 모드 설정 명령(U_MRS)은 모드 레지스터 셋의 형태로 인가되는데, 모드 설정 회로(200)에 내장된 복수개의 퓨즈들의 개폐를 제어하고 내장된 비교기에서 어드레스 입력버퍼(10)로부터 인가되는 뱅크 어드레스와 비교함으로써 비교 결과의 출력 신호를 인코딩 플래그 신호(enc_flag)의 형태로 출력한다.
여기에서, 뱅크 어드레스는 내부 로우 어드레스(ra[14:0]) 중에서 최상위 2비트(ra[14:13])의 조합으로서 4개의 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)과 일대일로 매칭되는 어드레스이다.
즉, 내부 로우 어드레스(ra[14:0])의 최상위 2비트(ra[14:13])의 조합이 '00' '01' '10' '11'이라면 데이터 라이트 및 리드시에 각각 제1 메모리 뱅크(BA_A), 제2 메모리 뱅크(BA_B), 제3 메모리 뱅크(BA_C), 제4 메모리 뱅크(BA_D)에 동일하게 매칭되어 선택된다.
이와 동시에 모드 설정 회로(200)에 사용자의 모드 설정 명령(U_MRS)이 인가되어 중요도가 매우 크다고 판단된 제1 데이터가 인가된 경우에는 하이 레벨의 인 코딩 플래그 신호(enc_flag)를 출력하고 중요도가 그리 크지 않다고 판단된 제2 데이터가 인가된 경우에는 로우 레벨의 인코딩 플래그 신호(enc_flag)를 출력한다.
이에 따라 패리티 데이터 발생부(300)는 데이터 라이트 명령(WE)이 인가되고 하이 레벨의 인코딩 플래그 신호(enc_flag)가 출력된 제1 데이터에 대해서만 ECC용 인코딩 동작을 수행하게 하고 로우 레벨의 인코딩 플래그 신호(enc_flag)가 출력된 제2 데이터에 대해서는 ECC용 인코딩 동작을 수행하지 않게 한다.
패리티 데이터 발생부(300)는 데이터 입력 버퍼(40)를 통하여 인가된 제1 및 제2 데이터를 인가받아 인코딩 플래그 신호(enc_flag)의 제어에 의해 패리티 데이터를 생성한 후에 인코딩하여 N 비트의 제1 데이터의 노멀 라이트 데이터(Di_A-1 ~ Di_A-K)와 M 비트의 제1 데이터의 패리티 라이트 데이터(Di_E-1 ~ Di_E-K)로 출력한다. 이를 통하여 N 비트로 입력된 라이트 데이터(Di)가 N 비트의 노멀 데이터 및 M 비트의 패리티 데이터로 인코딩되어 N+M 비트의 인코딩 데이터로 변환되어 각각 노멀 데이터 입력 신호(norm_Di) 및 패리티 데이터 입력 신호(par_Di)로 출력된다.
노멀 데이터 입력 드라이버(320)는 패리티 데이터 발생부(300)로부터 N 비트의 제1 데이터의 노멀 라이트 데이터(Di_A-1 ~ Di_A-K)를 인가받아 소정 시간 지연하여 출력하고, ECC용 데이터 입력 드라이버(340)는 M 비트의 제1 데이터의 패리티 라이트 데이터(Di_E-1 ~ Di_E-K)를 인가받아 소정 시간 지연하여 출력한다.
메모리 셀 어레이는 노멀 데이터 입력 드라이버(320)로부터 소정 시간 지연된 N 비트의 제1 데이터의 노멀 라이트 데이터 및 ECC용 데이터 입력 드라이 버(340)로부터 소정 시간 지연된 M 비트의 제1 데이터의 패리티 라이트 데이터를 인가받아 각각 제1 메모리 뱅크(BA_A)와 ECC용 메모리 뱅크(BA_ECC)에 라이트한다.
또한, 본 발명의 제2 실시예로서 반도체 메모리 장치 판매자가 칩 테스트 공정을 거친 반도체 메모리 장치의 출하 전에 신뢰성이 상대적으로 취약한 제3 메모리 뱅크(BA_C)의 제3 라이트 데이터와 신뢰성이 상대적으로 강한 제4 메모리 뱅크(BA_D)의 제4 라이트 데이터를 저장한다고 가정한다면, 제3 데이터의 패리티 비트는 ECC용 메모리 뱅크(BA_ECC)를 별도로 할당하여 저장하고 제3 데이터의 노멀 데이터와 제4 라이트 데이터를 복수개의 노멀 메모리 뱅크들(BA_A, BA_B, BA_C, BA_D)에 저장하기 위하여 반도체 메모리 장치 판매자는 명령어 디코더(120)에 모드 레지스터 셋의 형태로 명령어를 입력한다.
이에 따라 명령어 디코더(120)는 판매자의 모드 설정 명령(V_MRS)을 출력하고 모드 설정 회로(200)는 판매자의 모드 설정 명령(V_MRS)을 인가받아 하이 레벨의 인코딩 플래그 신호(enc_flag)를 출력한다.
제1 실시예에서와 마찬가지로, 판매자의 모드 설정 명령(V_MRS)은 모드 레지스터 셋의 형태로 인가되어 모드 설정 회로(200)의 내부 동작에 따라 인코딩 플래그 신호(enc_flag)의 형태로 출력한다.
이에 따라 패리티 데이터 발생부(300)는 데이터 라이트 명령(WE)이 인가되고 하이 레벨의 인코딩 플래그 신호(enc_flag)가 출력된 제3 데이터에 대해서만 ECC용 인코딩 동작을 수행하게 하고 로우 레벨의 인코딩 플래그 신호(enc_flag)가 출력된 제4 데이터에 대해서는 ECC용 인코딩 동작을 수행하지 않게 한다.
즉, 패리티 데이터 발생부(300)는 데이타 입력 버퍼(40)를 통하여 인가된 제3 및 제4 데이터를 인가받아 인코딩 플래그 신호(enc_flag)의 제어에 의해 패리티 데이터를 생성한 후에 인코딩하여 N 비트의 제3 데이터의 노멀 라이트 데이터와 M 비트의 제3 데이터의 패리티 라이트 데이터로 출력한다. 이를 통하여 N 비트로 입력된 라이트 데이터(Di)가 N 비트의 노멀 데이터 및 M 비트의 패리티 데이터로 인코딩되어 N+M 비트의 인코딩 데이터로 변환되어 각각 노멀 데이터 입력 신호(norm_Di) 및 패리티 데이터 입력 신호(par_Di)로 출력된다.
노멀 데이터 입력 드라이버(320)는 패리티 데이터 발생부(300)로부터 N 비트의 제3 데이터의 노멀 라이트 데이터를 인가받아 소정 시간 지연하여 출력하고, ECC용 데이터 입력 드라이버(340)는 M 비트의 제3 데이터의 패리티 라이트 데이터를 인가받아 소정 시간 지연하여 출력한다.
메모리 셀 어레이는 노멀 데이터 입력 드라이버(320)로부터 소정 시간 지연된 N 비트의 제3 데이터의 노멀 라이트 데이터 및 ECC용 데이터 입력 드라이버(340)로부터 소정 시간 지연된 M 비트의 제3 데이터의 패리티 라이트 데이터를 인가받아 각각 제3 메모리 뱅크(BA_C)와 ECC용 메모리 뱅크(BA_ECC)에 라이트한다.
다음으로, 메모리 셀 어레이(30) 내 제1 내지 제4 메모리 뱅크들로부터 반도체 메모리 장치 외부로 데이터가 리드되는 동작을 설명한다.
명령어 디코더(120)의 액티브 명령(ACT), 데이터 리드 명령(RE) 발생, 컬럼 어드레스 디코더(500)의 내부 로우 어드레스(ra[14:0]), 내부 컬럼 어드레 스(ca[14:0]) 발생의 동작은 도 1 및 도 2에 나타낸 종래의 반도체 메모리 장치의 데이터 리드 동작과 동일하므로 여기에서는 상세한 설명을 생략하고 차이점이 있는 동작만 설명한다.
본 발명의 데이터 라이트 동작에서와 마찬가지로, 본 발명의 제1 실시예로서 반도체 메모리 장치 사용자가 제1 및 제2 데이터의 중요도에 따라 모드 설정 회로(200)에 사용자의 모드 설정 명령 신호(U_MRS)을 인가하였다고 가정한다면, 모드 설정 회로(200)는 데이터 리드 명령(RE)에 응답하여 하이 레벨의 디코딩 플래그 신호(dec_flag)를 출력한다.
노멀 출력 멀티플렉서(420)는 제1 메모리 뱅크(BA_A)의 노멀 메모리 셀들(60-1)에 저장되어 있던 제1 데이터의 노멀 리드 데이터(Do_A-1 ~Do_A-K)를 인가받고 ECC용 출력 멀티플렉서(440)는 ECC용 메모리 뱅크(BA_ECC)의 ECC용 메모리 셀들(100-3)에 저장되어 있던 제1 데이터의 패리티 리드 데이터(Do_E-1 ~Do_E-K)를 인가받아 각각 N 비트와 M 비트의 리드 데이터로 멀티플렉싱하여 각각 노멀 데이터 출력 신호(norm_Do) 및 패리티 데이터 출력 신호(par_Do)로 출력한다.
데이터 오류 검출 및 정정부(400)는 노멀 출력 멀티플렉서(420)에서 출력된 N 비트의 제1 데이터 노멀 리드 데이터(Do_A-1 ~Do_A-K)와 ECC용 출력 멀티플렉서(440)에서 출력된 M 비트의 제1 데이터 패리티 리드 데이터(Do_E-1 ~Do_E-K)를 동시에 N+M 비트로 인가받아 디코딩 플래그 신호(dec_flag)의 제어에 따라 디코딩하여 일반적인 해밍 코드 알고리즘을 이용하여 에러를 검출하고 오류가 감지된 데이터는 정정하게 된다.
데이터 출력버퍼(10)는 데이터 오류 검출 및 정정부(400)로부터 N 비트의 제1 리드 데이터를 인가받아 소정 시간 지연하여 버퍼된 제1 리드 데이터(Do_A-1 ~Do_A-K)를 데이터 핀(DQ)으로 출력한다.
또한, 본 발명의 제2 실시예로서 반도체 메모리 장치 판매자가 칩 테스트 공정을 거친 반도체 메모리 장치의 출하 전에 신뢰성이 상대적으로 취약한 제3 메모리 뱅크(BA_C)의 제3 라이트 데이터와 신뢰성이 상대적으로 강한 제4 메모리 뱅크(BA_D)의 제4 라이트 데이터를 저장한다고 가정한다면, 노멀 출력 멀티플렉서(420)는 제3 메모리 뱅크(BA_C)의 노멀 메모리 셀들(60-3)에 저장되어 있던 제3 데이터의 노멀 리드 데이터를 인가받고 ECC용 출력 멀티플렉서(440)는 ECC용 메모리 뱅크(BA_ECC)의 ECC용 메모리 셀들(100-3)에 저장되어 있던 제3 데이터의 패리티 리드 데이터를 인가받아 각각 N 비트와 M 비트의 리드 데이터로 멀티플렉싱하여 각각 노멀 데이터 출력 신호(norm_Do) 및 패리티 데이터 출력 신호(par_Do)로 출력한다.
데이터 오류 검출 및 정정부(400)는 노멀 출력 멀티플렉서(420)에서 출력된 N 비트의 제3 데이터 중 N 비트의 노멀 리드 데이터와 ECC용 출력 멀티플렉서(440)에서 출력된 M 비트의 패리티 리드 데이터를 동시에 N+M 비트로 인가받아 디코딩 플래그 신호(dec_flag)의 제어에 따라 디코딩하여 제1 실시예에서와 같이 일반적인 해밍 코드 알고리즘을 이용하여 에러를 검출하고 오류가 감지된 데이터는 정정하게 된다.
데이터 출력버퍼(10)는 데이터 오류 검출 및 정정부(400)로부터 N 비트의 제 3 리드 데이터를 인가받아 소정 시간 지연하여 버퍼된 제3 리드 데이터(Do)를 데이터 입출력 핀(DQ)으로 출력한다.
이와 같이 하여 데이터의 중요도에 따라 반도체 메모리 장치 사용자가 인가하는 모드 설정 명령(U_MRS) 또는 반도체 메모리 장치의 출하 전에 신뢰성의 취약성 여부에 따라 반도체 메모리 장치 판매자가 인가하는 모드 설정 명령(V_MRS)을 모드 레지스터 셋에 의하여 인가하면 ECC용 메모리 뱅크(BA_ECC)가 선택된다.
이에 따라 데이터 라이트 동작시에는 제1 메모리 뱅크(BA_A)와 동일하게 패리티 데이터 발생부(300)는 데이타 입력 버퍼(40)를 통하여 인가된 제2 또는 제4 메모리 뱅크(BA_B, BA_D)에 저장될 데이터를 인가받아 인코딩 플래그 신호(enc_flag)의 제어에 의해 인코딩하여 N 비트의 각 메모리 뱅크의 노멀 라이트 데이터와 M 비트의 패리티 라이트 데이터로 변환된다.
또한, 노멀 데이터 입력 드라이버(320)와 ECC용 데이터 입력 드라이버(340)는 패리티 데이터 발생부(300)로부터 인코딩된 제2 또는 제4 메모리 뱅크(BA_B, BA_D)에 저장될 라이트 데이터를 인가받아 각 메모리 뱅크의 노멀 메모리 셀들(60-2, 60-4)과 ECC용 메모리 뱅크(BA_ECC)의 ECC용 메모리 셀들(100-3)로 라이트한다.
한편, 데이터 리드 동작시에는 제2 또는 제4 메모리 뱅크(BA_B, BA_D)의 노멀 메모리 셀들(60-2, 60-4)과 ECC용 메모리 뱅크(BA_ECC)의 ECC용 메모리 셀들(100-3)로부터 각 메모리 뱅크의 노멀 리드 데이터와 패리티 리드 데이터가 출력되고, 노멀 출력 멀티플렉서(420)는 N 비트의 각 메모리 뱅크의 노멀 리드 데이터 를 멀티플렉싱하고 ECC용 출력 멀티플렉서(440)는 M 비트의 각 메모리 뱅크의 패리티 리드 데이터를 멀티플렉싱한다.
그 후에 데이터 오류 검출 및 정정부(400)는 노멀 출력 멀티플렉서(420) 및 ECC용 출력 멀티플렉서(440)로부터 멀티플렉싱된 리드 데이터(norm_Do, par_Do)를 인가받아 디코딩 플래그 신호(dec_flag)의 제어에 의해 본래의 N 비트의 제2 또는 제4 메모리 뱅크의 리드 데이터(Do)로 디코딩하는 과정에서 일반적인 해밍 코드 알고리즘을 이용하여 에러를 검출하고 오류가 감지된 데이터는 정정하여 출력하게 된다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 발명은 반도체 메모리 장치의 데이터 오류 검출 및 정정용 메모리 뱅크를 별도로 구비하고 데이터의 중요도나 반도체 메모리 장치의 출하 전에 신뢰성의 취약 여부에 따라 선택적으로 데이터의 오류 검출 및 정정을 수행하여 모든 데이터의 패리티 비트 추가로 인한 오버 헤드를 최소화할 수 있다.
Claims (18)
- 노멀 데이터를 저장하는 복수개의 제1 메모리 뱅크들과 제1 플래그 신호의 제어에 따라 패리티 데이터를 저장하는 상기 복수개의 제1 메모리 뱅크들의 갯수보다 적은 소정 갯수의 제2 메모리 뱅크들을 구비하는 메모리 셀 어레이;상기 소정 갯수의 제2 메모리 뱅크들에 상기 패리티 데이터를 저장하기 위한 별도의 메모리 뱅크 사용 여부를 제어하는 상기 제1 플래그 신호 및 제2 플래그 신호를 설정하는 모드 설정 회로;라이트 동작시 라이트 데이터를 인가받아 상기 제2 플래그 신호에 응답하여 상기 라이트 데이터에 대한 패리티 데이터를 생성하여 상기 노멀 데이터와 상기 패리티 데이터를 출력하는 패리티 데이터 발생부;리드 동작시 상기 메모리 셀 어레이에서 리드된 노멀 리드 데이터와 패리티 리드 데이터를 인가받아 상기 제2 플래그 신호에 응답하여 상기 노멀 리드 데이터의 오류를 검출하고 상기 오류가 검출되면 상기 노멀 리드 데이터를 정정하여 정정된 리드 데이터를 출력하는 데이터 오류 검출 및 정정부를 구비하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 1항에 있어서,상기 반도체 메모리 장치는로우 어드레스 및 컬럼 어드레스에 응답하여 상기 복수개의 제1 메모리 뱅크 들 중 하나의 메모리 뱅크와 상기 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하는 복수개의 어드레스 디코더들;외부로부터 명령어들을 인가받아 디코딩하여 액티브 신호, 모드 설정 명령 신호, 라이트 신호, 리드 신호를 발생하는 명령어 디코더를 더 구비하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 2항에 있어서,상기 반도체 메모리 장치는상기 노멀 데이터를 인가받아 소정 시간 지연하여 출력하는 노멀 데이터 입력 드라이버;상기 패리티 데이터를 인가받아 소정 시간 지연하여 출력하는 패리티 데이터 입력 드라이버;상기 리드 신호에 응답하여 복수개의 제1 메모리 뱅크들에 저장되어 있던 상기 노멀 리드 데이터를 인가받아 멀티플렉싱한 후에 출력하는 노멀 출력 멀티플렉서;상기 리드 신호에 응답하여 상기 소정 갯수의 제2 메모리 뱅크들에 저장되어 있던 상기 패리티 리드 데이터를 인가받아 멀티플렉싱한 후에 출력하는 패리티 출력 멀티플렉서를 더 구비하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 2항에 있어서,상기 반도체 메모리 장치는상기 라이트 신호에 응답하여 상기 라이트 데이터를 인가받아 버퍼하여 버퍼된 라이트 데이터를 출력하는 데이터 입력 버퍼;상기 정정된 리드 데이터를 인가받아 소정 시간 지연하여 버퍼된 리드 데이터를 출력하는 데이터 출력 버퍼를 더 구비하는 것을 특징으로 하는 반도체 메모리 장치.
- 제2항에 있어서,상기 복수개의 어드레스 디코더들은상기 로우 어드레스 및 상기 컬럼 어드레스 중 소정의 비트들에 응답하여 상기 복수개의 제1 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하고,상기 제1 플래그 신호의 제어에 따라 상기 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하는 것을 특징으로 하는 반도체 메모리 장치.
- 제5항에 있어서,상기 소정의 비트들은상기 로우 어드레스 및 상기 컬럼 어드레스 중 어느 하나의 어드레스의 최상위 비트들인 뱅크 어드레스인 것을 특징으로 하는 반도체 메모리 장치.
- 제 1 항에 있어서,상기 패리티 데이터 발생부는상기 라이트 데이터를 N 비트로 인가받아 상기 제2 플래그 신호의 제어에 의해 N 비트의 상기 노멀 데이터 및 M 비트의 상기 패리티 데이터로 인코딩하여 N+M 비트의 인코딩된 라이트 데이터로 변환시키는 것을 특징으로 하는 반도체 메모리 장치.
- 제 1 항에 있어서,상기 데이터 오류 검출 및 정정부는N 비트의 상기 노멀 리드 데이터와 M 비트의 상기 패리티 리드 데이터를 동시에 N+M 비트로 인가받아 상기 제2 플래그 신호의 제어에 의해 디코딩하여 본래 N 비트의 상기 리드 데이터로 복원시키는 것을 특징으로 하는 반도체 메모리 장치.
- 제 2 항에 있어서,상기 모드 설정 회로는입출력 데이터의 중요도나 상기 복수개의 제1 메모리 뱅크들의 신뢰성에 따라 별도의 메모리 뱅크를 사용하게 하는 상기 모드 설정 명령에 응답하여 디코딩한 후에 상기 제1 및 제2 플래그 신호를 발생하는 것을 특징으로 하는 반도체 메모리 장치.
- 제 6항에 있어서,상기 모드 설정 회로는상기 뱅크 어드레스를 인가받아 상기 모드 설정 명령의 제어에 따라 상기 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하게 하는 상기 제1 플래그 신호를 발생하고,상기 모드 설정 명령 신호와 상기 라이트 신호가 인가되면 상기 제2 플래그 신호를 데이터 인코딩 인에이블용으로 발생하며,상기 모드 설정 명령 신호와 상기 리드 신호가 인가되면 상기 제2 플래그 신호를 데이터 디코딩 인에이블용으로 발생하는 것을 특징으로 하는 반도체 메모리 장치.
- 노멀 데이터를 저장하는 복수개의 제1 메모리 뱅크들과 제1 플래그 신호의 제어에 따라 패리티 데이터를 저장하는 상기 복수개의 제1 메모리 뱅크들의 갯수보다 적은 소정 갯수의 제2 메모리 뱅크들로 구성된 메모리 셀 어레이를 구비한 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법에 있어서,상기 패리티 데이터를 저장하기 위하여 상기 소정 갯수의 제2 메모리 뱅크들을 별도로 사용할지 여부를 제어하는 상기 제1 플래그 신호 및 제2 플래그 신호를 설정하는 모드 설정 단계;라이트 동작시 라이트 데이터를 인가받아 상기 제2 플래그 신호에 응답하여 상기 라이트 데이터에 대한 패리티 데이터를 생성하고 인코딩하여 상기 노멀 데이터와 상기 패리티 데이터를 출력하는 패리티 데이터 발생 단계;상기 노멀 데이터의 입출력시에는 상기 노멀 데이터를 상기 복수개의 제1 메모리 뱅크들로 입출력하고 상기 패리티 데이터의 발생시에는 상기 노멀 데이터 및 상기 패리티 데이터를 상기 복수개의 제1 메모리 뱅크들 및 상기 소정 갯수의 제2 메모리 뱅크들에 각각 입출력하는 데이터 입출력 단계;리드 동작시 상기 출력된 노멀 데이터와 상기 출력된 패리티 데이터를 인가받아 상기 제2 플래그 신호에 응답하여 상기 노멀 리드 데이터의 오류를 검출하고 상기 오류가 검출되면 상기 노멀 리드 데이터를 정정하여 정정된 리드 데이터를 출력하는 데이터 오류 검출 및 정정 단계를 구비하는 것을 특징으로 하는 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법.
- 제 11항에 있어서,상기 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법은상기 노멀 데이터 입출력시에는 상기 복수개의 제1 메모리 뱅크들의 어드레스를 선택하고, 상기 노멀 데이터 및 상기 패리티 데이터 입출력시에는 상기 복수개의 제1 메모리 뱅크들 및 상기 소정 갯수의 제2 메모리 뱅크들의 어드레스를 선택하는 어드레스 디코딩 단계;외부로부터 명령어들을 인가받아 디코딩하여 액티브 신호, 모드 설정 명령 신호, 라이트 신호, 리드 신호를 발생하는 명령어 디코딩 단계를 더 구비하는 것을 특징으로 하는 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법.
- 제12항에 있어서,상기 어드레스 디코딩 단계는상기 노멀 데이터 입출력시에는 로우 어드레스 및 컬럼 어드레스 중 소정의 비트들에 응답하여 상기 복수개의 제1 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하고,상기 노멀 데이터 및 상기 패리티 데이터 입출력시에는 상기 소정의 비트들에 응답하여 상기 제1 플래그 신호의 제어에 따라 상기 복수개의 제1 메모리 뱅크들 중 하나의 메모리 뱅크 및 상기 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하는 것을 특징으로 하는 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법.
- 제13항에 있어서,상기 소정의 비트들은상기 로우 어드레스 및 상기 컬럼 어드레스 중 어느 하나의 어드레스의 최상위 비트들인 뱅크 어드레스인 것을 특징으로 하는 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법.
- 제 14항에 있어서,상기 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법은상기 노멀 데이터를 인가받아 소정 시간 지연하여 출력하는 노멀 데이터 입력 드라이빙 단계;상기 패리티 데이터를 인가받아 소정 시간 지연하여 출력하는 패리티 데이터 입력 드라이빙 단계;상기 리드 신호에 응답하여 복수개의 제1 메모리 뱅크들에 저장되어 있던 상기 노멀 데이터를 인가받아 멀티플렉싱한 후에 출력하는 노멀 출력 멀티플렉싱 단계;상기 리드 신호에 응답하여 상기 소정 갯수의 제2 메모리 뱅크들에 저장되어 있던 상기 패리티 데이터를 인가받아 멀티플렉싱한 후에 출력하는 패리티 출력 멀티플렉싱 단계를 더 구비하는 것을 특징으로 하는 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법.
- 제 15항에 있어서,상기 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법은상기 라이트 신호에 응답하여 상기 라이트 데이터를 인가받아 버퍼하여 버퍼된 라이트 데이터를 출력하는 데이터 입력 버퍼 단계;상기 정정된 리드 데이터를 인가받아 소정 시간 지연하여 버퍼된 리드 데이터를 출력하는 데이터 출력 버퍼 단계를 더 구비하는 것을 특징으로 하는 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법.
- 제 16 항에 있어서,상기 모드 설정 단계는입출력 데이터의 중요도나 상기 복수개의 제1 메모리 뱅크들의 신뢰성에 따라 별도의 메모리 뱅크를 사용하게 하는 상기 모드 설정 명령에 응답하여 디코딩한 후에 상기 제1 및 제2 플래그 신호를 발생하는 것을 특징으로 하는 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법.
- 제 17 항에 있어서,상기 모드 설정 단계는상기 뱅크 어드레스를 인가받아 상기 모드 설정 명령의 제어에 따라 상기 소정 갯수의 제2 메모리 뱅크들 중 하나의 메모리 뱅크를 억세스하게 하는 상기 제1 플래그 신호를 발생하고,상기 모드 설정 명령 신호와 상기 라이트 신호가 인가되면 상기 제2 플래그 신호를 데이터 인코딩 인에이블용으로 발생하며,상기 모드 설정 명령 신호와 상기 리드 신호가 인가되면 상기 제2 플래그 신호를 데이터 디코딩 인에이블용으로 발생하는 것을 특징으로 하는 반도체 메모리 장치의 데이터 오류 검출 및 정정 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060108422A KR100827662B1 (ko) | 2006-11-03 | 2006-11-03 | 반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및정정 방법 |
US11/773,214 US7949928B2 (en) | 2006-11-03 | 2007-07-03 | Semiconductor memory device and data error detection and correction method of the same |
US13/099,640 US8190968B2 (en) | 2006-11-03 | 2011-05-03 | Semiconductor memory device and data error detection and correction method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060108422A KR100827662B1 (ko) | 2006-11-03 | 2006-11-03 | 반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및정정 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100827662B1 true KR100827662B1 (ko) | 2008-05-07 |
Family
ID=39361062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060108422A KR100827662B1 (ko) | 2006-11-03 | 2006-11-03 | 반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및정정 방법 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7949928B2 (ko) |
KR (1) | KR100827662B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013138083A1 (en) * | 2012-03-15 | 2013-09-19 | Micron Technology, Inc. | Error protection for memory devices |
KR20140135605A (ko) * | 2013-05-16 | 2014-11-26 | 실리콘 모션 인코포레이티드 | 플래시 메모리 제어 방법, 제어기 및 전자 장치 |
CN112017703A (zh) * | 2019-05-31 | 2020-12-01 | 爱思开海力士有限公司 | 半导体器件 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080080882A (ko) * | 2007-03-02 | 2008-09-05 | 삼성전자주식회사 | Ecc용 레이어를 구비하는 다층 구조 반도체 메모리 장치및 이를 이용하는 에러 검출 및 정정 방법 |
JP5067131B2 (ja) * | 2007-11-07 | 2012-11-07 | 富士通セミコンダクター株式会社 | 半導体メモリ、半導体メモリの動作方法およびシステム |
JP2010020839A (ja) * | 2008-07-10 | 2010-01-28 | Panasonic Corp | 半導体記憶装置 |
JP2010277352A (ja) * | 2009-05-28 | 2010-12-09 | Toshiba Corp | メモリシステム |
JP5595514B2 (ja) | 2009-11-20 | 2014-09-24 | ラムバス・インコーポレーテッド | Dramエラー訂正用のビット交換技術 |
CN101706788B (zh) * | 2009-11-25 | 2012-11-14 | 惠州Tcl移动通信有限公司 | 一种嵌入式文件系统的跨区访问方法 |
US8539303B2 (en) * | 2010-12-20 | 2013-09-17 | Intel Corporation | Low overhead error correcting code protection for stored information |
US8644104B2 (en) | 2011-01-14 | 2014-02-04 | Rambus Inc. | Memory system components that support error detection and correction |
JP5346354B2 (ja) * | 2011-05-17 | 2013-11-20 | シャープ株式会社 | 不揮発性半導体記憶装置 |
JP5490062B2 (ja) * | 2011-07-19 | 2014-05-14 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US8700972B2 (en) * | 2011-08-17 | 2014-04-15 | Broadcom Corporation | Adaptive ultra-low voltage memory |
JP6370528B2 (ja) * | 2011-09-30 | 2018-08-08 | ラムバス・インコーポレーテッド | メモリデバイス群間でのチェックビットメモリデバイスの共有 |
US9323608B2 (en) * | 2012-06-07 | 2016-04-26 | Micron Technology, Inc. | Integrity of a data bus |
KR102083498B1 (ko) * | 2012-07-03 | 2020-04-14 | 삼성전자 주식회사 | 선택적 ecc 동작을 수행하는 메모리 장치 |
US9235466B2 (en) | 2012-07-03 | 2016-01-12 | Samsung Electronics Co., Ltd. | Memory devices with selective error correction code |
WO2014051625A1 (en) * | 2012-09-28 | 2014-04-03 | Hewlett-Packard Development Company, L.P. | Dynamically selecting between memory error detection and memory error correction |
US9734921B2 (en) | 2012-11-06 | 2017-08-15 | Rambus Inc. | Memory repair using external tags |
US9600189B2 (en) * | 2014-06-11 | 2017-03-21 | International Business Machines Corporation | Bank-level fault management in a memory system |
KR102305095B1 (ko) | 2015-04-13 | 2021-09-24 | 삼성전자주식회사 | 비휘발성 메모리 컨트롤러의 동작 방법 |
US9703630B2 (en) | 2015-06-08 | 2017-07-11 | International Business Machines Corporation | Selective error coding |
KR20170054182A (ko) * | 2015-11-09 | 2017-05-17 | 에스케이하이닉스 주식회사 | 반도체 장치 |
CN107039086B (zh) * | 2017-05-17 | 2024-08-30 | 西安紫光国芯半导体有限公司 | 具有兼容不同数据长度的纠错功能的存储器和纠错方法 |
KR20190031787A (ko) * | 2017-09-18 | 2019-03-27 | 삼성전자주식회사 | 병렬 리드-모디파이-라이트 동작을 수행하는 메모리 장치 |
US11036578B2 (en) * | 2018-04-12 | 2021-06-15 | Samsung Electronics Co., Ltd. | Semiconductor memory devices and memory systems including the same |
KR102652001B1 (ko) * | 2019-05-22 | 2024-03-27 | 삼성전자주식회사 | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 |
CN112131037B (zh) * | 2019-06-24 | 2023-11-14 | 华邦电子股份有限公司 | 存储器装置 |
JP7338608B2 (ja) * | 2020-10-30 | 2023-09-05 | 横河電機株式会社 | 装置、方法およびプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910005974B1 (ko) * | 1988-07-18 | 1991-08-09 | 삼성전자 주식회사 | 에러 정정수단을 가진 불휘발성 반도체 메모리 |
KR20000009118A (ko) * | 1998-07-21 | 2000-02-15 | 김영환 | 리드/라이트 데이터 에러 검증장치 및 방법 |
JP2000305861A (ja) | 1999-04-26 | 2000-11-02 | Hitachi Ltd | 記憶装置およびメモリカード |
US20060195774A1 (en) | 2005-02-17 | 2006-08-31 | Stephen Bowyer | Error correction circuit and method |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0661691B2 (ja) | 1989-09-29 | 1994-08-17 | オリンパス光学工業株式会社 | 光学素子研磨方法および装置 |
JPH06275098A (ja) * | 1993-03-24 | 1994-09-30 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP3165101B2 (ja) | 1998-03-05 | 2001-05-14 | 日本電気アイシーマイコンシステム株式会社 | 多値式半導体メモリ装置およびその不良救済方法 |
JP3940544B2 (ja) * | 2000-04-27 | 2007-07-04 | 株式会社東芝 | 不揮発性半導体メモリのベリファイ方法 |
JP3595495B2 (ja) | 2000-07-27 | 2004-12-02 | Necマイクロシステム株式会社 | 半導体記憶装置 |
JP2002056671A (ja) * | 2000-08-14 | 2002-02-22 | Hitachi Ltd | ダイナミック型ramのデータ保持方法と半導体集積回路装置 |
US6957378B2 (en) * | 2001-06-04 | 2005-10-18 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
JP4877894B2 (ja) | 2001-07-04 | 2012-02-15 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP3914839B2 (ja) * | 2002-07-11 | 2007-05-16 | エルピーダメモリ株式会社 | 半導体記憶装置 |
JP4478974B2 (ja) * | 2004-01-30 | 2010-06-09 | エルピーダメモリ株式会社 | 半導体記憶装置及びそのリフレッシュ制御方法 |
JP4191100B2 (ja) * | 2004-06-18 | 2008-12-03 | エルピーダメモリ株式会社 | 半導体記憶装置 |
JP2006004559A (ja) * | 2004-06-18 | 2006-01-05 | Elpida Memory Inc | 半導体記憶装置 |
JP4237109B2 (ja) * | 2004-06-18 | 2009-03-11 | エルピーダメモリ株式会社 | 半導体記憶装置及びリフレッシュ周期制御方法 |
JP4578226B2 (ja) * | 2004-12-17 | 2010-11-10 | 富士通セミコンダクター株式会社 | 半導体メモリ |
JP4980565B2 (ja) * | 2004-12-21 | 2012-07-18 | 富士通セミコンダクター株式会社 | 半導体メモリ |
JP2006179057A (ja) * | 2004-12-21 | 2006-07-06 | Fujitsu Ltd | 半導体メモリ |
US7506226B2 (en) * | 2006-05-23 | 2009-03-17 | Micron Technology, Inc. | System and method for more efficiently using error correction codes to facilitate memory device testing |
-
2006
- 2006-11-03 KR KR1020060108422A patent/KR100827662B1/ko not_active IP Right Cessation
-
2007
- 2007-07-03 US US11/773,214 patent/US7949928B2/en not_active Expired - Fee Related
-
2011
- 2011-05-03 US US13/099,640 patent/US8190968B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910005974B1 (ko) * | 1988-07-18 | 1991-08-09 | 삼성전자 주식회사 | 에러 정정수단을 가진 불휘발성 반도체 메모리 |
KR20000009118A (ko) * | 1998-07-21 | 2000-02-15 | 김영환 | 리드/라이트 데이터 에러 검증장치 및 방법 |
JP2000305861A (ja) | 1999-04-26 | 2000-11-02 | Hitachi Ltd | 記憶装置およびメモリカード |
US20060195774A1 (en) | 2005-02-17 | 2006-08-31 | Stephen Bowyer | Error correction circuit and method |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013138083A1 (en) * | 2012-03-15 | 2013-09-19 | Micron Technology, Inc. | Error protection for memory devices |
US9361181B2 (en) | 2012-03-15 | 2016-06-07 | Micron Technology, Inc. | Error protection for memory devices |
US9417958B2 (en) | 2012-06-06 | 2016-08-16 | Silicon Motion Inc. | Flash memory control method, controller and electronic apparatus |
KR20140135605A (ko) * | 2013-05-16 | 2014-11-26 | 실리콘 모션 인코포레이티드 | 플래시 메모리 제어 방법, 제어기 및 전자 장치 |
KR101659888B1 (ko) | 2013-05-16 | 2016-09-26 | 실리콘 모션 인코포레이티드 | 플래시 메모리 제어 방법, 제어기 및 전자 장치 |
CN112017703A (zh) * | 2019-05-31 | 2020-12-01 | 爱思开海力士有限公司 | 半导体器件 |
CN112017703B (zh) * | 2019-05-31 | 2024-01-02 | 爱思开海力士有限公司 | 半导体器件 |
Also Published As
Publication number | Publication date |
---|---|
US8190968B2 (en) | 2012-05-29 |
US20080109700A1 (en) | 2008-05-08 |
US7949928B2 (en) | 2011-05-24 |
US20110209030A1 (en) | 2011-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100827662B1 (ko) | 반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및정정 방법 | |
US10839885B2 (en) | Systems and methods for performing row hammer refresh operations in redundant memory | |
US10403390B1 (en) | Post-packaging repair of redundant rows | |
US7392456B2 (en) | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory | |
US6418068B1 (en) | Self-healing memory | |
KR20210063561A (ko) | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 | |
US11276456B2 (en) | Systems and methods for capture and replacement of hammered word line address | |
US11748198B2 (en) | Apparatuses, systems, and methods for error correction | |
CN112384897B (zh) | 用于半导体存储器的错误校正编码与数据总线反转的设备与方法 | |
JP2002343100A (ja) | プリチャージ制御信号生成回路及びこれを用いた半導体メモリ装置 | |
CN111627487A (zh) | 占据面积减少的熔丝电路 | |
JP2006268971A (ja) | 半導体記憶装置及びそのテスト方法 | |
US20240321328A1 (en) | Apparatuses, systems, and methods for managing metadata storage at a memory | |
CN114121075A (zh) | 用于存储器刷新的系统及方法 | |
US20090003098A1 (en) | Method for Hiding Defective Memory Cells and Semiconductor Memories | |
CN113362883B (zh) | 可配置软封装后修复(sppr)方案 | |
CN114944186A (zh) | 用于多泵错误校正的设备、系统和方法 | |
KR20130102398A (ko) | 반도체 메모리 장치의 병렬 비트 테스트 회로 | |
KR20170118484A (ko) | 리프레쉬 제어 장치 | |
US20240296095A1 (en) | Apparatuses and methods for read commands with different levels of ecc capability | |
US20240296096A1 (en) | Apparatuses and methods for selectable expansion of error correction capability | |
US20240289217A1 (en) | Apparatuses and methods for variable input ecc circuits | |
KR20240071166A (ko) | 반도체시스템 | |
CN118471314A (zh) | 用于存储存储器元数据的设备、系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment | ||
FPAY | Annual fee payment | ||
LAPS | Lapse due to unpaid annual fee |