KR20120062247A - 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치 - Google Patents

오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치 Download PDF

Info

Publication number
KR20120062247A
KR20120062247A KR1020100123434A KR20100123434A KR20120062247A KR 20120062247 A KR20120062247 A KR 20120062247A KR 1020100123434 A KR1020100123434 A KR 1020100123434A KR 20100123434 A KR20100123434 A KR 20100123434A KR 20120062247 A KR20120062247 A KR 20120062247A
Authority
KR
South Korea
Prior art keywords
data
group
error code
group data
ecode
Prior art date
Application number
KR1020100123434A
Other languages
English (en)
Other versions
KR101198250B1 (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 KR1020100123434A priority Critical patent/KR101198250B1/ko
Priority to US12/980,450 priority patent/US8612841B2/en
Publication of KR20120062247A publication Critical patent/KR20120062247A/ko
Application granted granted Critical
Publication of KR101198250B1 publication Critical patent/KR101198250B1/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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • G11C2029/0411Online error correction

Abstract

오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치가 개시된다. 오류코드 패턴 형성 회로는, 다수 비트의 오류코드 중 일부 비트 데이터를 제 1 그룹 데이터로 저장하였다가 제 1 구간에서 출력하는 제 1 저장부 및 상기 다수 비트의 오류코드 중 나머지 비트 데이터를 제 2 그룹 데이터로 저장하였다가 제 2 구간에서 출력하는 제 2 저장부를 포함하고, 상기 제 1 구간과 상기 제 2 구간은 서로 다른 것을 특징으로 한다.

Description

오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치{ERROR CODE GENERATING CIRCUIT AND MEMORY DEVICE INCLUDING THE SAME}
본 발명은 오류코드의 출력 패턴을 형성하는 회로 및 이를 포함하는 반도체 장치에 관한 것이다.
회로 기술이 발달하고 시스템의 동작 속도가 빨라지면서, 데이터를 입력받아 저장하거나 저장된 데이터를 출력하는 각종 회로 장치들도 보다 빠른 속도로 데이터를 입/출력하도록 요구되고 있다. 이에 따라 DRAM과 같은 메모리 장치에서는 시스템 클럭(Clock)의 라이징 엣지(Rising Edge) 뿐만 아니라 폴링 엣지(Falling Edge)에도 데이터를 동기화시켜 입/출력하는 DDR(Double Data Rate) 방식이 널리 사용되고 있으며, 최근에는 한 번의 클럭 사이클(cycle)마다 4비트 또는 8비트의 데이터를 입/출력하는 DDR2, DDR3 방식의 메모리 장치도 사용되고 있다.
그런데 이렇게 각종 회로 장치의 데이터 전송 속도가 빨라지면서 데이터 전송 오류가 발생할 확률 또한 매우 높아지게 되어, 데이터 전송의 신뢰성을 보장하기 위한 별도의 장치와 방법이 추가적으로 요구되고 있다. 이를 위한 구체적 방안으로서, 최근 각종 통신 장치나 메모리 장치 등에서는 데이터 전송시마다 오류 발생 여부를 확인할 수 있는 오류코드를 생성하여 데이터와 함께 전송하는 방법을 사용하고 있다. 이러한 오류코드에는 발생한 오류를 검출할 수 있는 오류검출코드(Error Detection Code, EDC)와, 오류 발생시 이를 자체적으로 정정할 수 있는 오류정정코드(Error Correction Code, ECC) 등이 있다.
도 1은 종래 기술에 의한 메모리 장치 내의 오류코드 생성 및 출력 회로의 구성도이다.
도 1을 참조하면, 오류코드 생성 및 출력회로는 오류코드 생성부(101), 저장부(103) 및 출력부(105)를 포함한다.
오류코드 생성부(101)는 리드(Read) 명령에 응답하여 메모리 장치의 메모리 셀 영역(도면에 미도시)으로부터 출력되는 리드 데이터(RDATA<0:63>)를 이용하거나, 라이트(Write) 명령에 응답하여 메모리 장치로 입력되는 라이트 데이터(WDATA<0:63>)을 이용하여 오류코드(ECODE<0:7>)를 생성한다. 여기에서 리드 데이터(RDATA<0:63>)와 라이트 데이터(WDATA<0:63>)는 64비트의 병렬 데이터일 수 있고, 생성된 오류코드(ECODE<0:7>)는 8비트의 병렬 데이터일 수 있다. 예를 들어, 오류코드 생성부(101)는 64비트의 리드 데이터(RDATA<0:63>) 또는 라이트 데이터(WDATA<0:63>)를 가지고 CRC-8 연산자를 이용한 순환중복검사(Cyclic Redundancy Check, CRC)를 수행하여 오류검출코드(EDC)인 8비트의 오류코드(ECODE<0:7>)를 생성할 수 있다.
저장부(103)는 생성된 오류코드(ECODE<0:7>)를 시스템 클럭에 동기시켜 출력하기 위해 잠시 저장하는 역할을 수행하며, 도 2에 도시된 바와 같이 8비트의 오류코드(ECODE<0:7>)를 비트 단위로 저장하는 8개의 파이프 레지스터(PIPE_0 ~ PIPE_7)를 포함할 수 있다. 한다. 파이프 레지스터(PIPE_0 ~ PIPE_7)는 입력신호(Pin)가 활성화되면 각각 대응되는 비트 데이터(ECODE<0> ~ ECODE<7>)를 저장하고, 출력신호(Pout)의 활성화시에 출력부(105)로 전달한다.
오류코드 출력부(105)는 저장부(103)에서 전달된 오류코드(P_ECODE<0:7>)를 출력 패드(107)를 통해 메모리 장치 외부로 출력하는 역할을 수행한다. 오류코드(P_ECODE<0:7>)는 병렬로 전달되고, 오류코드 출력부(105)는 이를 직렬 데이터로 변환하여 출력하는 병렬/직렬 변환부(Parallel to Serial Converter) 형태로 구현되는 것이 일반적이다.
도 3은 도 1의 회로에서 리드 동작시 오류코드(ECODE<0:7>)의 생성 및 출력 과정을 나타낸 타이밍도이다.
메모리 장치에 리드 명령(RD)이 인가되면 메모리 셀 영역으로부터 64비트의 리드 데이터(RDATA<0:63>)가 병렬로 출력되어 RGIO를 통해 오류코드 생성부(101)로 전달된다. 오류코드 생성부(101)는 리드 데이터(RDATA<0:63>)를 이용하여 8비트의 오류코드(ECODE<0:7>)를 생성하고, 생성된 오류코드(ECODE<0:7>)는 입력신호(Pin)의 활성화시에 저장부(103)에 저장되었다가 출력신호(Pout)의 활성화시에 출력부(105)로 전달된다. 출력부(105)는 입력받은 병렬 형태의 오류코드(P_ECODE<0:7>)를 직렬로 변환하여 출력 패드(107)를 통해 메모리 장치 외부로 출력한다.
그런데, 최근의 메모리 장치 또는 통신 장치 등에서 오류코드를 생성하여 출력하는 회로는 매우 고속으로 동작하는 데 반해, 이를 외부에서 테스트하기 위한 양산 장비의 동작 속도가 그에 미치지 못하는 경우에는 출력되는 오류코드를 제대로 인식하지 못하는 문제점이 발생한다. 예를 들어, 메모리 장치는 1GHz의 속도로 데이터를 출력하는데 반해 외부 테스트 장비의 최대 동작 주파수는 500MHz로 그에 미치지 못하는 경우, 직렬로 출력되는 8비트의 오류코드 중 4비트까지만 인식이 가능하게 된다.
본 발명은 상기한 문제점을 해결하기 위해 제안된 것으로, 저주파수의 테스트 장비로도 고주파수로 출력되는 오류코드의 테스트가 가능하도록 오류코드의 출력 패턴을 다양화하는 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치를 제공하는 것을 목적으로 한다.
이러한 목적을 달성하기 위한 본 발명에 의한 오류코드 패턴 형성 회로는, 다수 비트의 오류코드 중 일부 비트 데이터를 제 1 그룹 데이터로 저장하였다가 제 1 구간에서 출력하는 제 1 저장부 및 상기 다수 비트의 오류코드 중 나머지 비트 데이터를 제 2 그룹 데이터로 저장하였다가 제 2 구간에서 출력하는 제 2 저장부를 포함하고, 상기 제 1 구간과 상기 제 2 구간은 서로 다른 것을 특징으로 한다.
상기 제 1 저장부 및 상기 제 2 저장부는 상기 다수 비트의 오류코드를 비트 단위로 저장하기 위한 다수의 파이프 레지스터를 포함하고, 상기 다수의 파이프 레지스터는 제 1 그룹 파이프 레지스터와 제 2 그룹 파이프 레지스터로 구분될 수 있다.
상기 다수의 파이프 레지스터에는 각각 대응되는 제 1 그룹 데이터와 제 2 그룹 데이터가 1비트씩 입력되고, 일반 모드에서 상기 제 1 그룹 파이프 레지스터는 상기 제 1 그룹 데이터를, 상기 제 2 그룹 파이프 레지스터는 상기 제 2 그룹 데이터를 저장하고, 변환 모드에서는 상기 제 1 저장부의 다수의 파이프 레지스터는 모두 상기 제 1 그룹 데이터를 저장하고 상기 제 2 저장부의 다수의 파이프 레지스터는 모두 상기 제 2 그룹 데이터를 저장할 수 있다.
본 발명에 의한 메모리 장치는, 리드 데이터 또는 라이트 데이터를 이용하여 다수 비트의 오류코드를 생성하는 오류코드 생성부, 상기 다수 비트의 오류코드를 제 1 그룹 데이터와 제 2 그룹 데이터로 구분하여 출력하는 패턴 형성부 및 상기 패턴 형성부에서 출력된 데이터를 메모리 장치 외부로 출력하는 오류코드 출력부를 포함한다.
상기 패턴 형성부는, 상기 다수 비트의 오류코드 중 일부 비트 데이터를 상기 제 1 그룹 데이터로 저장하였다가 제 1 구간에서 출력하는 제 1 저장부 및 상기 다수 비트의 오류코드 중 나머지 비트 데이터를 상기 제 2 그룹 데이터로 저장하였다가 제 2 구간에서 출력하는 제 2 저장부를 포함할 수 있다.
상기 오류코드 출력부는 상기 패턴 형성부에서 출력되는 병렬 데이터를 직렬 데이터로 변환하여 하나의 출력 패드를 통해 상기 메모리 장치 외부로 출력할 수 있다.
본 발명에 의하면, 오류코드 패턴 형성 회로에 일반 모드와 변환 모드를 적용하고, 변환 모드에서는 다수 비트의 오류 코드를 제 1 그룹 데이터와 제 2 그룹 데이터로 구분하여 저장하였다가 서로 다른 구간에서 출력함으로써 오류코드의 출력 패턴을 다양화할 수 있다.
이를 통해 출력 데이터의 윈도우를 넓힐 수 있으므로 성능이 떨어지는 테스트 장비를 가지고도 고성능의 오류코드 생성 및 출력회로의 동작을 테스트할 수 있게 된다.
도 1은 종래 기술에 의한 메모리 장치 내의 오류코드 생성 및 출력 회로의 구성도.
도 2는 도 1의 저장부(103)의 내부 구성도.
도 3은 도 1의 회로에서 리드 동작시 오류코드(ECODE<0:7>)의 생성 및 출력 과정을 나타낸 타이밍도.
도 4는 본 발명의 일 실시예에 의한 오류코드 패턴 형성 회로의 일 실시예 구성도.
도 5a는 도 4의 제 1 저장부(401)의 일 실시예 구성도.
도 5b는 도 4의 제 2 저장부(403)의 일 실시예 구성도.
도 6a는 도 5a의 첫 번째 파이프 레지스터(500)를 상세히 나타낸 도면.
도 6b는 도 5a의 두 번째 파이프 레지스터(501)를 상세히 나타낸 도면.
도 7은 일반 모드에서 오류코드(ECODE<0:7>)의 출력 패턴을 나타낸 도면.
도 8은 변환 모드에서 오류코드(ECODE<0:7>)의 출력 패턴 변화를 나타낸 도면.
도 9는 본 발명에 의한 메모리 장치의 일 실시예 구성도.
도 10은 도 9의 메모리 장치에서 변환 모드가 적용되는 경우 오류코드(ECODE<0:7>)의 생성 및 출력 과정을 나타낸 타이밍도.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다.
도 4는 본 발명의 일 실시예에 의한 오류코드 패턴 형성 회로의 일 실시예 구성도이다.
도 4를 참조하면, 오류코드 패턴 형성 회로는, 다수 비트의 오류코드(ECODE<0:7>) 중 일부 비트 데이터를 제 1 그룹 데이터로 저장하였다가 제 1 구간에서 출력하는 제 1 저장부(401) 및 다수 비트의 오류코드(ECODE<0:7>) 중 나머지 비트 데이터를 제 2 그룹 데이터로 저장하였다가 제 2 구간에서 출력하는 제 2 저장부(403)를 포함한다. 여기에서 제 1 구간과 제 2 구간은 서로 다르다.
본 발명에 의한 오류코드 패턴 형성 회로는 일반 모드와 변환 모드에서 다른 방식으로 동작할 수 있다.
일반 모드에서는 도 1을 통해 설명한 종래의 저장부(103)와 동일한 방식으로 동작하며, 하나의 저장부(제 1 저장부(401) 또는 제 2 저장부(403))만으로도 1회의 연산에 의해 생성된 오류코드(ECODE<0:7>)의 저장 및 출력이 가능하다. 따라서 만약 2회의 리드 명령(또는 라이트 명령)이 연속적으로 인가되는 경우, 제 1 저장부(401)는 첫 번째 리드 데이터(또는 라이트 데이터)에 대한 오류코드(ECODE<0:7>)를 저장하였다가 출력하고, 제 2 저장부(403)는 두 번째 리드 데이터(또는 라이트 데이터)에 대한 오류코드(ECODE<0:7>)를 저장하였다가 출력하도록 구현할 수 있다.
반면에, 변환 모드에서는 다수 비트의 오류코드(ECODE<0:7>)를 제 1 그룹 데이터와 제 2 그룹 데이터로 구분하여 각각 제 1 저장부(401)와 제 2 저장부(403)에 저장하고, 양 그룹 데이터를 서로 다른 구간에서 출력함으로써 오류코드(ECODE<0:7>)의 출력 패턴을 다양화할 수 있다. 즉, 일반 모드에서 1회 연산에 의해 생성된 오류코드(ECODE<0:7>)를 1 싸이클(cycle) 동안에 모두 출력한다면, 변환 모드에서는 동일한 오류코드(ECODE<0:7>)를 두 그룹으로 나누어 2 싸이클 동안 출력함으로써 출력되는 데이터의 윈도우를 두 배로 넓힐 수가 있는 것이다. 따라서 이러한 변환 모드를 이용할 경우, 테스트 장비의 동작 주파수가 오류코드 출력 주파수보다 더 낮은 경우라도 이를 이용한 오류코드의 검증이 가능하게 된다.
또한, 본 실시예에서는 오류코드 패턴 형성 회로가 두 개의 저장부(401, 403)를 가지는 경우를 가정하였으나, 저장부의 갯수는 4개, 6개 등으로 확장될 수 있다. 만약 저장부가 4개인 경우, 일반 모드에서는 4회의 연산에 의해 생성된 서로 다른 4세트의 오류코드(ECODE<0:7>)를 제 1 ~ 4 저장부에 각각 따로 저장하였다가 출력하도록 하고, 변환 모드에서는 첫 번째로 생성된 오류코드(ECODE<0:7>)를 제 1, 2 저장부에 저장하였다가 출력하고 두 번째로 생성된 오류코드(ECODE<0:7>)를 제 3, 4 저장부에 저장하였다가 출력하도록 구현할 수 있다.
도 5a는 도 4의 제 1 저장부(401)의 일 실시예 구성도이다.
도 5a를 참조하면, 제 1 저장부(401)는 다수 비트의 오류코드(ECODE<0:7>)를 비트 단위로 저장하기 위한 다수의 파이프 레지스터(500 ~ 507)를 포함하고, 다수의 파이프 레지스터(500 ~ 507)는 제 1 그룹 파이프 레지스터(PIPE_EV)와 제 2 그룹 파이프 레지스터(PIPE_OD)로 구분된다. 본 실시예에서 오류코드(ECODE<0:7>)는 8비트의 병렬 데이터이고, 제 1 저장부(401)는 오류코드(ECODE<0:7>)의 각 비트 데이터를 저장하기 위한 8개의 파이프 레지스터(500 ~ 507)를 두고 있다.
오류코드(ECODE<0:7>)는 1회 연산에 의해 생성되어 제 1 저장부(401)에 병렬로 입력되므로, 파이프 레지스터(500 ~ 507)에는 모두 같은 입력신호(Pin<0>)와 출력신호(Pout<0>)가 입력된다. 각 파이프 레지스터(500 ~ 507)는 입력신호(Pin<0>)가 활성화되면 데이터를 저장하고 출력신호(Pout<0>)가 활성화되면 저장된 데이터를 P_ECODE1<0:7>로 출력한다.
파이프 레지스터(500 ~ 507) 각각에는 대응되는 제 1 그룹 데이터와 제 2 그룹 데이터가 1비트씩 입력된다. 본 실시예에서 제 1 그룹 데이터는 이븐(Even) 비트 데이터(ECODE<0>, ECODE<2>, ECODE<4>, ECODE<6>)를 의미하고, 제 2 그룹 데이터는 오드(Odd) 비트 데이터(ECODE<1>, ECODE<3>, ECODE<5>, ECODE<7>)를 의미한다.
파이프 레지스터(500 ~ 507)에는 모드 선택신호(Sel_MODE)가 입력되며, 모드 선택신호(Sel_MODE)의 논리 레벨에 따라 제 1 그룹 파이프 레지스터(PIPE_EV)와 제 2 그룹 파이프 레지스터(PIPE_OD)의 동작 방식이 달라진다. 여기에서 모드 선택신호(Sel_MODE)는 일반 모드에서는 논리 '로우(Low)'로 되고 변환 모드에서는 논리 '하이(High)'로 되는 신호이다.
구체적으로, 제 1 그룹 파이프 레지스터(500, 502, 504, 506)는 모드 선택신호(Sel_MODE)가 '로우'일 때 제 1 그룹 데이터(ECODE<0>, ECODE<2>, ECODE<4>, ECODE<6>)를 저장하고, 모드 선택신호(Sel_MODE)가 '하이'일 때 제 2 그룹 데이터(ECODE<1>, ECODE<3>, ECODE<5>, ECODE<7>)를 저장한다. 제 2 그룹 파이프 레지스터(501, 503, 505, 507)는 모드 선택신호(Sel_MODE)가 '로우'일 때 제 2 그룹 데이터(ECODE<1>, ECODE<3>, ECODE<5>, ECODE<7>)를 저장하고, 모드 선택신호(Sel_MODE)가 '하이'일 때 제 1 그룹 데이터(ECODE<0>, ECODE<2>, ECODE<4>, ECODE<6>)를 저장한다.
그런데, 도시된 바와 같이 제 1 저장부(401)의 제 1 그룹 파이프 레지스터(500, 502, 504, 506)는 모드 선택신호(Sel_MODE) 대신에 항상 '로우' 레벨에 있는 접지전압(VSS)을 입력받는다. 따라서 제 1 저장부(401)의 제 1 그룹 파이프 레지스터(500, 502, 504, 506)는 모드에 관계 없이 항상 제 1 그룹 데이터(ECODE<0>, ECODE<2>, ECODE<4>, ECODE<6>)를 저장한다.
따라서, 일반 모드 (Sel_MODE = 'Low') 에서는 제 1 저장부(401)의 8개의 파이프 레지스터(500 ~ 507)에 8비트의 오류코드(ECODE<0> ~ ECODE<7>)가 각각 1비트씩 저장된다. 반면에 변환 모드에서는 (Sel_MODE = 'High') 제 1 그룹 파이프 레지스터(PIPE_EV) 뿐만 아니라 제 2 그룹 파이프 레지스터(PIPE_OD)에도 모두 제 1 그룹 데이터(ECODE<0>, ECODE<2>, ECODE<4>, ECODE<6>)가 저장되므로, 8개의 파이프 레지스터(500 ~ 507)는 모두 제 1 그룹 데이터(ECODE<0>, ECODE<2>, ECODE<4>, ECODE<6>)를 저장한다. 즉, 변환 모드에서 파이프 레지스터(500, 501)에는 ECODE<0>이, 파이프 레지스터(502, 503)에는 ECODE<2>가, 파이프 레지스터(504, 505)에는 ECODE<4>가, 파이프 레지스터(506, 507)에는 ECODE<6>이 저장된다.
도 5b는 도 4의 제 2 저장부(403)의 일 실시예 구성도이다.
도 5b를 참조하면, 제 2 저장부(403)는 다수 비트의 오류코드(ECODE<0:7>)를 비트 단위로 저장하기 위한 다수의 파이프 레지스터(510 ~ 517)를 포함하고, 다수의 파이프 레지스터(510 ~ 517)는 제 1 그룹 파이프 레지스터(PIPE_EV)와 제 2 그룹 파이프 레지스터(PIPE_OD)로 구분된다. 오류코드(ECODE<0:7>)는 8비트의 병렬 데이터이고, 도 5a의 제 1 저장부(401)와 마찬가지로 제 2 저장부(403)는 오류코드(ECODE<0:7>)의 각 비트 데이터를 저장하기 위한 8개의 파이프 레지스터(510 ~ 517)를 두고 있다.
파이프 레지스터(510 ~ 517)에는 모두 같은 입력신호(Pin<1>)와 출력신호(Pout<1>)가 입력된다. 각 파이프 레지스터(510 ~ 517)는 입력신호(Pin<1>)가 활성화되면 데이터를 저장하고 출력신호(Pout<1>)가 활성화되면 저장된 데이터(DATA2<0> ~ DATA2<7>)를 출력한다. 변환 모드일 경우, 입력신호(Pin<1>)은 제 1 저장부(401)에 입력되는 입력신호(Pin<0>)와 같은 시점에 활성화되지만, 출력신호(Pout<1>)은 제 1 저장부(401)에 입력되는 출력신호(Pout<0>)와 다른 시점에 활성화된다. 제 1 그룹 데이터와 제 2 그룹 데이터를 서로 다른 구간에서 출력하기 위함이다.
파이프 레지스터(510 ~ 517)에는 각각 대응되는 제 1 그룹 데이터(ECODE<0>, ECODE<2>, ECODE<4>, ECODE<6>)와 제 2 그룹 데이터(ECODE<1>, ECODE<3>, ECODE<5>, ECODE<7>)가 1비트씩 입력되고, 모드 선택신호(Sel_MODE)가 입력된다. 모드 선택신호(Sel_MODE)는 일반 모드에서는 논리 '로우(Low)'로 되고 변환 모드에서는 논리 '하이(High)'로 된다.
제 1 그룹 파이프 레지스터(510, 512, 514, 516)는 모드 선택신호(Sel_MODE)가 '로우'일 때 제 1 그룹 데이터(ECODE<0>, ECODE<2>, ECODE<4>, ECODE<6>)를 저장하고, 모드 선택신호(Sel_MODE)가 '하이'일 때 제 2 그룹 데이터(ECODE<1>, ECODE<3>, ECODE<5>, ECODE<7>)를 저장한다. 제 2 그룹 파이프 레지스터(511, 513, 515, 517)는 모드 선택신호(Sel_MODE)가 '로우'일 때 제 2 그룹 데이터(ECODE<1>, ECODE<3>, ECODE<5>, ECODE<7>)를 저장하고, 모드 선택신호(Sel_MODE)가 '하이'일 때 제 1 그룹 데이터(ECODE<0>, ECODE<2>, ECODE<4>, ECODE<6>)를 저장한다.
그런데, 도 5a의 제 1 저장부(401)와 달리, 제 2 저장부(403)의 제 2 그룹 파이프 레지스터(511, 513, 515, 517)는 모드 선택신호(Sel_MODE) 대신에 항상 '로우' 상태에 있는 접지전압(VSS)을 입력받는다. 따라서 제 2 저장부(403)의 제 2 그룹 파이프 레지스터(511, 513, 515, 517)는 모드에 관계 없이 항상 제 2 그룹 데이터(ECODE<1>, ECODE<3>, ECODE<5>, ECODE<7>)를 저장한다.
따라서, 일반 모드 (Sel_MODE = 'Low') 에서는 제 2 저장부(403)의 8개의 파이프 레지스터(510 ~ 517)에 8비트의 오류코드(ECODE<0> ~ ECODE<7>)가 각각 1비트씩 저장된다. 반면에 변환 모드에서는 (Sel_MODE = 'High') 제 2 그룹 파이프 레지스터(PIPE_OD) 뿐만 아니라 제 1 그룹 파이프 레지스터(PIPE_EV)에도 모두 제 2 그룹 데이터(ECODE<1>, ECODE<3>, ECODE<5>, ECODE<7>)가 저장되므로, 8개의 파이프 레지스터(510 ~ 517)는 모두 제 2 그룹 데이터(ECODE<1>, ECODE<3>, ECODE<5>, ECODE<7>)를 저장한다. 즉, 변환 모드에서 파이프 레지스터(510, 511)에는 ECODE<1>이, 파이프 레지스터(512, 513)에는 ECODE<3>이, 파이프 레지스터(514, 515)에는 ECODE<5>가, 파이프 레지스터(516, 517)에는 ECODE<7>이 저장된다.
도 6a는 도 5a의 첫 번째 파이프 레지스터(500)를 상세히 나타낸 도면이고, 도 6b는 도 5a의 두 번째 파이프 레지스터(501)를 상세히 나타낸 도면이다.
제 1 저장부(401)와 제 2 저장부(403)의 제 1 그룹 파이프 레지스터(PIPE_EV)들은 도 6a와 같은 형태를 가질 수 있고, 제 2 그룹 파이프 레지스터(PIPE_OD)들은 도 6b와 같은 형태를 가질 수 있다.
도 6a 및 도 6b에 도시된 바와 같이, 첫 번째 파이프 레지스터(500)는 낸드 게이트(601, 603, 605)와 패스 게이트(607, 615) 및 래치(609, 611)를 포함하여 구성될 수 있고, 두 번째 파이프 레지스터(501)는 낸드 게이트(621, 623, 625)와 패스 게이트(627, 635) 및 래치(629, 631)를 포함하여 구성될 수 있다.
첫 번째 파이프 레지스터(500)의 경우, 3개의 낸드 게이트(601, 603, 605)에 의해 모드 선택신호(Sel_MODE)가 '로우'일 때에는 ECODE<0>이, 모드 선택신호(Sel_MODE)가 '하이'일 때에는 ECODE<1>이 선택된다. 입력신호(Pin<0>)가 활성화되면 선택된 데이터가 패스 게이트(607)를 통해 래치(609, 611)로 전달되어 저장되고, 출력신호(Pout<0>)의 활성화시에 패스 게이트(615)를 통해 P_ECODE1<0>으로 출력된다.
두 번째 파이프 레지스터(501)의 경우, 3개의 낸드 게이트(621, 623, 625)에 의해 모드 선택신호(Sel_MODE)가 '로우'일 때에는 ECODE<1>이, 모드 선택신호(Sel_MODE)가 '하이'일 때에는 ECODE<0>이 선택된다. 입력신호(Pin<0>)가 활성화되면 선택된 데이터가 패스 게이트(627)를 통해 래치(629, 631)로 전달되어 저장되고, 출력신호(Pout<0>)의 활성화시에 패스 게이트(635)를 통해 P_ECODE1<1>로 출력된다.
다만, 위의 두 파이프 레지스터(500, 501)는 각각 제 1 그룹 파이프 레지스터(PIPE_EV)와 제 2 그룹 파이프 레지스터(PIPE_OD)의 일반적인 형태를 설명한 것이며, 도 5a의 실시예에서 첫 번째 파이프 레지스터(500)에는 모드 선택신호(Sel_MODE)로 항상 '로우' 상태에 있는 접지전압(VSS)이 인가되므로 항상 ECODE<0>이 선택된다.
도 7은 일반 모드에서 오류코드(ECODE<0:7>)의 출력 패턴을 나타낸 도면이고, 도 8은 변환 모드에서 오류코드(ECODE<0:7>)의 출력 패턴 변화를 나타낸 도면이다.
도 7에 도시된 바와 같이, 일반 모드에서는 생성된 8비트의 오류코드(ECODE<0:7>)를 패턴 변화 없이 그대로 하나의 저장부(제 1 저장부(401) 또는 제 2 저장부(403))에 저장하였다가 출력한다.
반면에, 도 8에 도시된 바와 같이, 변환 모드에서는 8비트의 오류코드(ECODE<0:7>)를 제 1 그룹 데이터(Even0 ~ Even3)와 제 2 그룹 데이터(Odd0 ~ Odd3)로 구분하여 제 1 저장부(401)와 제 2 저장부(403)에 각각 저장하였다가 서로 다른 시점에 순차적으로 출력한다. 따라서 변환 모드에서는 오류코드(ECODE<0:7>)의 출력 패턴이 제 1 그룹 데이터(Even0 ~ Even3)가 먼저 출력되고 난 뒤 제 2 그룹 데이터(Odd0 ~ Odd3)가 출력되는 형태로 새롭게 형성되며, 각 비트 데이터가 출력되는 시간이 일반 모드의 두 배로 늘어나게 된다.
도 9는 본 발명에 의한 메모리 장치의 일 실시예 구성도이다.
도 9를 참조하면, 메모리 장치는, 리드 데이터(RDATA<0:63>) 또는 라이트 데이터(WDATA<0:63>)를 이용하여 다수 비트의 오류코드(ECODE<0:7>)를 생성하는 오류코드 생성부(901), 생성된 다수 비트의 오류코드(ECODE<0:7>)를 제 1 그룹 데이터와 제 2 그룹 데이터로 구분하여 출력하는 패턴 형성부(903) 및 패턴 형성부(903)에서 출력된 데이터(P_ECODE<0:7>)를 메모리 장치 외부로 출력하는 오류코드 출력부(905)를 포함하여 오류코드 생성 및 출력회로를 구성하고, 데이터의 입/출력 및 저장을 위한 구성으로 DQ 영역(907), 데이터 입력부(909), 데이터 출력부(911) 및 메모리 셀 영역(913)을 더 포함한다.
메모리 장치에 리드 명령이 인가되면, 메모리 셀 영역(913)에서 리드 데이터(RDATA<0:63>)가 출력되어 오류코드 생성부(901)와 데이터 출력부(911)로 전달된다. 일정 시간 이후 데이터 출력부(911)는 전달된 리드 데이터(RDATA<0:63>)를 8비트씩 직렬 변환하여 DQ 영역(907)의 데이터 입출력 패드(DQ<0:7>)을 통해 메모리 장치 외부로 출력된다. 메모리 장치에 라이트 명령이 인가되면, 메모리 장치 외부로부터 DQ 영역(907)의 데이터 입출력 패드(DQ<0:7>)를 통해 8비트씩 데이터가 직렬로 입력되고, 데이터 입력부(909)를 거치면서 병렬 변환되어 라이트 데이터(WDATA<0:63>)로 오류코드 생성부(901)와 메모리 셀 영역(913)에 전달된다. 여기에서 리드 데이터(RDATA<0:63>)와 라이트 데이터(WDATA<0:63>)는 64비트의 병렬 데이터이다.
오류코드 생성부(901)는 리드 데이터(RDATA<0:63>) 또는 라이트 데이터(RDATA<0:63>)에 대한 순환중복검사(CRC) 등의 연산을 수행하여 8비트의 오류코드(ECODE<0:7>)를 생성한다.
패턴 형성부(903)의 구성 및 동작 방식은 도 4 내지 도 8을 통해 설명한 오류코드 패턴 형성 회로와 동일하다. 모드 선택신호(Sel_MODE)를 이용하여 일반 모드와 변환 모드를 선택할 수 있고, 일반 모드에서는 입력된 오류코드(ECODE<0:7>)를 그대로 저장하였다가 출력하며, 변환 모드에서는 오류코드(ECODE<0:7>)를 제 1 그룹 데이터와 제 2 그룹 데이터로 구분하여 저장하였다가 서로 다른 구간에서 출력하여 다양한 출력 패턴을 만들 수 있다.
오류코드 출력부(905)는 출력 패턴이 형성된 오류코드(P_ECODE<0:7>)를 직렬로 변환하여 DQ 영역(907)의 출력 패드(8)를 통해 메모리 장치 외부로 출력한다.
도 10은 도 9의 메모리 장치에서 변환 모드가 적용되는 경우 오류코드(ECODE<0:7>)의 생성 및 출력 과정을 나타낸 타이밍도이다.
메모리 장치에 리드 명령(RD)이 인가되면 메모리 셀 영역(913)으로부터 64비트의 리드 데이터(RDATA<0:63>)가 병렬로 출력되어 오류코드 생성부(901)로 전달된다.
오류코드 생성부(901)는 리드 데이터(RDATA<0:7>)를 이용하여 8비트의 오류코드(ECODE<0:7>)를 생성하고, 패턴 형성부(903)는 제 1, 2 입력신호(Pin<0>, Pin(1>)의 활성화시에 오류코드(ECODE<0:7>)를 제 1 그룹 데이터(P_ECODE1<0:7>)와 제 2 그룹 데이터(P_ECODE2<0:7>)로 구분하여 저장한다. 여기에서 오류코드(ECODE<0:7>)는 병렬 데이터 형태로 패턴 형성부(903)에 인가되며, 제 1, 2 입력신호(Pin<0>, Pin<1>)는 동시에 활성화된다.
이어서 제 1 출력신호(Pout<0>)가 활성화되면 제 1 그룹 데이터(P_ECODE1<0:7>)가 오류코드 출력부(905)로 전달되고, 일정 시간 이후 제 2 출력신호(Pout<1>)가 활성화되면 제 2 그룹 데이터(P_ECODE2<0:7>)가 오류코드 출력부(905)로 전달된다. 오류코드 출력부(905)는 전달받은 병렬 형태의 제 1 그룹 데이터(P_ECODE1<0:7>)와 제 2 그룹 데이터(P_ECODE2<0:7>)를 직렬로 변환하여 DQ 영역(907)의 출력 패드(8)를 통해 순차적으로 출력한다.
메모리 장치에 라이트 명령(WT)이 인가되는 경우에는 메모리 장치 외부로부터 DQ 영역(907)의 데이터 입출력 패드(DQ<0:7>)를 통해 입력된 64비트의 라이트 데이터(WDATA<0:63>)를 이용하여 8비트의 오류코드(ECODE<0:7>)를 생성하게 되며, 그 패턴 형성 및 출력 과정은 위에서 설명한 것과 동일하다.
전술한 바와 같이, 본 발명에서는 저주파수의 테스트 장비로도 고주파수로 출력되는 오류코드의 테스트가 가능하도록 오류코드의 출력 패턴을 다양화하는 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치를 제안하였다. 이를 위해 오류코드 패턴 형성 회로에 일반 모드와 변환 모드를 적용하고, 변환 모드에서는 다수 비트의 오류 코드를 제 1 그룹 데이터와 제 2 그룹 데이터로 구분하여 저장하였다가 서로 다른 구간에서 출력함으로써 오류코드의 출력 패턴을 다양화할 수 있도록 하였다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (13)

  1. 다수 비트의 오류코드 중 일부 비트 데이터를 제 1 그룹 데이터로 저장하였다가 제 1 구간에서 출력하는 제 1 저장부; 및
    상기 다수 비트의 오류코드 중 나머지 비트 데이터를 제 2 그룹 데이터로 저장하였다가 제 2 구간에서 출력하는 제 2 저장부
    를 포함하고,
    상기 제 1 구간과 상기 제 2 구간은 서로 다른
    오류코드 패턴 형성 회로.
  2. 제 1항에 있어서,
    상기 제 1 저장부 및 상기 제 2 저장부는
    상기 다수 비트의 오류코드를 비트 단위로 저장하기 위한 다수의 파이프 레지스터를 포함하고,
    상기 다수의 파이프 레지스터는 제 1 그룹 파이프 레지스터와 제 2 그룹 파이프 레지스터로 구분되는
    오류코드 패턴 형성 회로.
  3. 제 2항에 있어서,
    상기 다수의 파이프 레지스터에는 각각 대응되는 제 1 그룹 데이터와 제 2 그룹 데이터가 1비트씩 입력되고,
    일반 모드에서 상기 제 1 그룹 파이프 레지스터는 상기 제 1 그룹 데이터를, 상기 제 2 그룹 파이프 레지스터는 상기 제 2 그룹 데이터를 저장하고,
    변환 모드에서 상기 제 1 저장부의 다수의 파이프 레지스터는 모두 상기 제 1 그룹 데이터를 저장하고 상기 제 2 저장부의 다수의 파이프 레지스터는 모두 상기 제 2 그룹 데이터를 저장하는
    오류코드 패턴 형성 회로.
  4. 제 1항에 있어서,
    상기 제 1 그룹 데이터는 이븐(Even) 비트 데이터이고, 상기 제 2 그룹 데이터는 오드(Odd) 비트 데이터인
    오류코드 패턴 형성 회로.
  5. 제 1항에 있어서,
    상기 다수 비트의 오류코드는 한 번의 순환중복검사(CRC)를 통해서 생성되는 오류검출코드(EDC)인
    오류코드 패턴 형성 회로.
  6. 리드 데이터 또는 라이트 데이터를 이용하여 다수 비트의 오류코드를 생성하는 오류코드 생성부;
    상기 다수 비트의 오류코드를 제 1 그룹 데이터와 제 2 그룹 데이터로 구분하여 출력하는 패턴 형성부; 및
    상기 패턴 형성부에서 출력된 데이터를 메모리 장치 외부로 출력하는 오류코드 출력부
    를 포함하는 메모리 장치.
  7. 제 6항에 있어서,
    상기 패턴 형성부는
    상기 다수 비트의 오류코드 중 일부 비트 데이터를 상기 제 1 그룹 데이터로 저장하였다가 제 1 구간에서 출력하는 제 1 저장부; 및
    상기 다수 비트의 오류코드 중 나머지 비트 데이터를 상기 제 2 그룹 데이터로 저장하였다가 제 2 구간에서 출력하는 제 2 저장부를 포함하는
    메모리 장치.
  8. 제 7항에 있어서,
    상기 제 1 저장부 및 상기 제 2 저장부는
    상기 다수 비트의 오류코드를 비트 단위로 저장하기 위한 다수의 파이프 레지스터를 포함하고,
    상기 다수의 파이프 레지스터는 제 1 그룹 파이프 레지스터와 제 2 그룹 파이프 레지스터로 구분되는
    메모리 장치.
  9. 제 8항에 있어서,
    상기 다수의 파이프 레지스터에는 각각 대응되는 제 1 그룹 데이터와 제 2 그룹 데이터가 1비트씩 입력되고,
    일반 모드에서 상기 제 1 그룹 파이프 레지스터는 상기 제 1 그룹 데이터를, 상기 제 2 그룹 파이프 레지스터는 상기 제 2 그룹 데이터를 저장하고,
    변환 모드에서 상기 제 1 저장부의 다수의 파이프 레지스터는 모두 상기 제 1 그룹 데이터를 저장하고 상기 제 2 저장부의 다수의 파이프 레지스터는 모두 상기 제 2 그룹 데이터를 저장하는
    메모리 장치.
  10. 제 7항에 있어서,
    상기 제 1 그룹 데이터는 이븐(Even) 비트 데이터이고, 상기 제 2 그룹 데이터는 오드(Odd) 비트 데이터인
    메모리 장치.
  11. 제 7항에 있어서,
    상기 리드 데이터는 리드 명령에 응답하여 메모리 셀 영역으로부터 상기 오류코드 생성부로 전달되는 다수 비트의 병렬 데이터이고, 상기 라이트 데이터는 라이트 명령에 응답하여 메모리 장치 외부로부터 상기 오류코드 생성부로 전달되는 다수 비트의 병렬 데이터인
    메모리 장치.
  12. 제 7항에 있어서,
    상기 오류코드 생성부는
    상기 리드 데이터 또는 상기 라이트 데이터에 대한 순환중복검사(CRC)를 수행하여 상기 다수 비트의 오류코드를 생성하는
    메모리 장치.
  13. 제 7항에 있어서,
    상기 오류코드 출력부는
    상기 패턴 형성부에서 출력되는 병렬 데이터를 직렬 데이터로 변환하여 하나의 출력 패드를 통해 상기 메모리 장치 외부로 출력하는
    메모리 장치.
KR1020100123434A 2010-12-06 2010-12-06 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치 KR101198250B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100123434A KR101198250B1 (ko) 2010-12-06 2010-12-06 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치
US12/980,450 US8612841B2 (en) 2010-12-06 2010-12-29 Error code pattern generation circuit and semiconductor memory device including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100123434A KR101198250B1 (ko) 2010-12-06 2010-12-06 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치

Publications (2)

Publication Number Publication Date
KR20120062247A true KR20120062247A (ko) 2012-06-14
KR101198250B1 KR101198250B1 (ko) 2012-11-07

Family

ID=46163427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100123434A KR101198250B1 (ko) 2010-12-06 2010-12-06 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치

Country Status (2)

Country Link
US (1) US8612841B2 (ko)
KR (1) KR101198250B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150062774A (ko) * 2013-11-29 2015-06-08 에스케이하이닉스 주식회사 오류 검출 회로 및 이를 이용하는 반도체 집적회로

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10236045B2 (en) 2012-09-21 2019-03-19 Samsung Electronics Co., Ltd. Semiconductor memory device having detection clock patterns phase-inverted from each other and detection clock generating method thereof
KR20200106731A (ko) 2019-03-05 2020-09-15 에스케이하이닉스 주식회사 반도체장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3184129B2 (ja) * 1997-09-29 2001-07-09 甲府日本電気株式会社 記憶装置
JP3165101B2 (ja) 1998-03-05 2001-05-14 日本電気アイシーマイコンシステム株式会社 多値式半導体メモリ装置およびその不良救済方法
KR100691065B1 (ko) 2000-05-03 2007-03-09 엘지전자 주식회사 고밀도 광 기록매체에서의 데이터 에러정정 코드생성방법과 이에 의한 에러 정정 방법, 그리고 그 장치
JP4437519B2 (ja) 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
JP4260688B2 (ja) 2004-06-09 2009-04-30 富士通株式会社 データ送信装置、データ送受信システム、データ送信装置の制御方法およびデータ送受信システムの制御方法
US7594158B2 (en) * 2005-08-26 2009-09-22 Hewlett-Packard Development Company, L.P. Parity error checking and compare using shared logic circuitry in a ternary content addressable memory
US8281221B2 (en) * 2005-10-18 2012-10-02 Nec Corporation Operation method of MRAM including correcting data for single-bit error and multi-bit error
KR100625811B1 (ko) * 2005-12-09 2006-09-18 엠텍비젼 주식회사 코드 데이터 에러 정정 방법 및 장치
US7904787B2 (en) * 2007-01-09 2011-03-08 International Business Machines Corporation Pipelined cyclic redundancy check for high bandwidth interfaces
KR100902051B1 (ko) * 2007-07-12 2009-06-15 주식회사 하이닉스반도체 오류 검사 코드 생성장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150062774A (ko) * 2013-11-29 2015-06-08 에스케이하이닉스 주식회사 오류 검출 회로 및 이를 이용하는 반도체 집적회로

Also Published As

Publication number Publication date
US8612841B2 (en) 2013-12-17
US20120144278A1 (en) 2012-06-07
KR101198250B1 (ko) 2012-11-07

Similar Documents

Publication Publication Date Title
US7882417B2 (en) Semiconductor memory device and memory system including the same
KR100837802B1 (ko) 데이터 입출력 오류 검출 기능을 갖는 반도체 메모리 장치
US9811273B1 (en) System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory
US7519891B2 (en) IO self test method and apparatus for memory
US7895485B2 (en) System and method for testing a packetized memory device
USRE49467E1 (en) Semiconductor memory devices, memory systems including semiconductor memory devices, and operating methods of semiconductor memory devices
US9923578B2 (en) Parity check circuit and memory device including the same
KR20120095842A (ko) 컴퓨터 메모리 테스트 구조
US9886987B1 (en) System and method for data-mask training in non-provisioned random access memory
KR101212759B1 (ko) 데이터 오류 검사 기능을 이용한 데이터 전송 방법, 데이터 오류 검사 기능을 이용한 반도체 메모리 및 메모리 시스템
US20200081520A1 (en) Systems and methods for frequency mode detection and implementation
JP2009211797A (ja) 半導体素子
CN104810060A (zh) 半导体测试装置
KR101198250B1 (ko) 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치
KR100850207B1 (ko) 시스터메틱 코드 발생을 위한 듀얼 클럭킹 방법을 채용한메모리 장치
US20210011803A1 (en) Systems and methods for performing a write pattern in memory devices
US8612663B1 (en) Integrated circuit devices, systems and methods having automatic configurable mapping of input and/or output data connections
KR20180070423A (ko) 메모리 장치
KR101187639B1 (ko) 집적회로
US9170869B2 (en) Switchable per-lane bit error count
US10445172B2 (en) Semiconductor device and operating method thereof
US20240110978A1 (en) Semiconductor chip and sequence checking circuit
US11928021B2 (en) Systems and methods for address fault detection
KR100902124B1 (ko) 반도체 메모리 장치의 테스트 회로
KR102002753B1 (ko) 메모리를 테스트하기 위한 인터페이스 카드

Legal Events

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

Payment date: 20150921

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160923

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170925

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180920

Year of fee payment: 7