KR100855979B1 - 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법 - Google Patents

바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법 Download PDF

Info

Publication number
KR100855979B1
KR100855979B1 KR1020070015087A KR20070015087A KR100855979B1 KR 100855979 B1 KR100855979 B1 KR 100855979B1 KR 1020070015087 A KR1020070015087 A KR 1020070015087A KR 20070015087 A KR20070015087 A KR 20070015087A KR 100855979 B1 KR100855979 B1 KR 100855979B1
Authority
KR
South Korea
Prior art keywords
mode
data
normal data
region
masking
Prior art date
Application number
KR1020070015087A
Other languages
English (en)
Other versions
KR20080075750A (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 KR1020070015087A priority Critical patent/KR100855979B1/ko
Priority to US11/865,856 priority patent/US8132086B2/en
Priority to JP2007340268A priority patent/JP2008198330A/ja
Priority to TW096151011A priority patent/TW200845021A/zh
Priority to CNA2007103035746A priority patent/CN101246748A/zh
Publication of KR20080075750A publication Critical patent/KR20080075750A/ko
Application granted granted Critical
Publication of KR100855979B1 publication Critical patent/KR100855979B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • 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
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding

Landscapes

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

Abstract

바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티 데이터 생성 방법이 개시된다. 상기 반도체 메모리 장치는 메모리 셀 어레이, ECC(Error Correction Code) 엔진 및 모드 선택부를 구비한다. 상기 메모리 셀 어레이는 노말 데이터들 및 패리티(parity) 데이터들을 저장한다. 상기 모드 선택부는 모드 선택 신호에 응답하여 마스킹(masking) 동작을 수행하는 마스킹 모드 및 노말 모드 중 하나를 선택한다. 상기 ECC 엔진은 상기 마스킹 모드에서 업데이트되는 제 1 영역 및 상기 마스킹 동작에 의하여 보존되는 제 2 영역을 포함하는 노말 데이터를 이용하여 상기 패리티 데이터를 계산한다. 상기 반도체 메모리 장치 및 패리티 데이터 생성 방법은 16비트 이상의 단위로 ECC(Error Correction Code) 코딩을 하면서 바이트(byte) 단위로 마스킹(masking) 동작을 수행할 수 있고, 기록 대기 시간(write time latency)을 최소화할 수 있는 장점이 있다.

Description

바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티 데이터 생성 방법{Semiconductor memory device for operation of byte masking and method for generating of parity data}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 데이터 비트와 패리티 비트의 관계를 나타내는 도면이다.
도 2는 노말 데이터와 패리티 데이터를 비트 단위로 구분한 도면이다.
도 3은 본 발명의 실시예에 따른 반도체 메모리 장치의 블록도이다.
도 4는 상기 마스킹 모드에서 도 3의 ECC 엔진의 동작을 설명하기 위한 블록도이다.
도 5(a)는 상기 노말 모드에서 도 3의 반도체 메모리 장치의 데이터 흐름을 보여주는 도면이다.
도 5(b)는 상기 마스킹 모드에서 도 3의 반도체 메모리 장치의 데이터 흐름을 보여주는 도면이다.
도 6은 마스킹 모드에서 도 3의 반도체 메모리 장치의 동작을 설명하기 위한 신호 파형도이다.
도 7은 본 발명의 실시예에 따른 패러티 데이터 생성 방법의 흐름도이다.
본 발명은 반도체 메모리 장치에 관한 것으로, 특히 바이트(byte) 마스킹(masking) 동작을 위한 반도체 메모리 장치 및 패리티 데이터 생성 방법에 관한 것이다.
반도체 메모리 장치의 메모리 용량의 증가에 따라, 결함 메모리 셀의 에러를 복구하거나 경감시키는 온-칩(on-chip) 에러 복구 회로를 사용하는 것이 필요하게 되었다. 통상의 에러 복구 회로로 ECC(Error Correction Code) 방식이 있다.
상기 ECC 방식의 에러 복구 회로를 갖는 반도체 메모리 장치는 데이터 비트를 저장하는 데이터 셀 및 패리티(parity) 비트를 저장하는 패리티 셀을 갖는다. 패리티 셀의 비트수는 필요한 에러 체크 및 정정 동작에 의존하여 선택된다. 메모리 장치로부터 데이터가 판독될 때, ECC 로직은 ECC 연산을 수행하여 결과를 체크한다. ECC 연산의 결과가 소정값 이외의 값이 되면, ECC 로직은 결함 데이터를 정정하고 정정된 데이터를 출력한다. 상기 ECC 방식의 에러 복구 회로의 에러 정정 능력은 데이터 비트 수와 패리티 비트 수의 비율로 결정된다. 즉, 에러 정정을 위하여 패리티 비트를 많이 사용할수록 정정할 수 있는 에러의 개수는 증가하지만 셀 오버헤드(cell overhead)가 커지는 문제가 있다.
도 1은 데이터 비트와 패리티 비트의 관계를 나타내는 도면이다.
도 1은 1 비트의 에러를 정정할 수 있는 해밍 코드(hamming code)를 사용한 경우를 나타낸다. 도 1을 참조하면, 8개의 데이터 비트에서 1 비트의 에러를 정정하기 위해서 필요한 패리티 비트의 수는 4개이다. 즉, 예를 들어 1GB(giga byte)의 메모리에 데이터를 저장하기 위해서는 실제로 1.5GB의 메모리가 필요하게 되는 것이다. 여기서, 1GB는 데이터가 저장되고 0.5GB는 패리티 데이터가 저장된다. 따라서, 도 1에서 알 수 있듯이 16비트 이상의 단위로 ECC 코딩을 하는 경우 셀 오버헤드는 감소한다.
도 2는 노말 데이터(220)와 패리티 데이터(230)를 비트 단위로 구분한 도면이다.
도 2를 참조하면, 노말 데이터(220)는 16개의 데이터 비트(D0, D1, ... , D15)를 가지고, 패리티 데이터(230)는 5개의 데이터 비트(P0, P1, P2, P3, P4)를 가진다. 앞서 설명한 대로 이 경우 8비트 단위로 ECC 코딩을 하는 경우에 비하여 셀 오버헤드는 감소하게 된다. 그러나, 이 경우는 8 비트, 즉 바이트(byte) 단위로 마스킹을 할 수 없다는 문제점이 생기게 된다. 마스킹이란 일정한 범위의 데이터 처리를 제한하는 것을 의미한다. 즉, 마스킹 동작을 제어하는 신호가 인에이블되면 라이트 명령이 인에이블되더라도 해당하는 데이터를 라이트하지 않는다. 이러한 마스킹은 일반적으로 바이트 단위로 이루어지게 된다. 예를 들어, 바이트 단위의 마스킹 동작을 수행해서 노말 데이터(220)의 제 1 영역(D0, D1, ... , D7)이 마스킹 된다고 가정하자. 이 경우 제 1 영역(D0, D1, ... , D7)은 마스킹되어 종래의 데이터가 저장되어 있고, 제 2 영역(D8, D9, ... , D15)은 새로운 데이터가 저장되게 된다. 이 경우 종래에는 패리티 데이터(P0, P1, P2, P3, P4)가 새로운 데이터와 종 래의 데이터에 의하여 업데이트 될 수 있는 방법이 없었다. 그러므로, 16비트 이상의 단위로 ECC 코딩을 하는 경우 상기 바이트 단위의 마스킹이 불가능하다는 문제가 있다.
즉, 종래 기술의 경우 바이트 단위의 마스킹을 수행하기 위해서는 8비트 단위의 ECC 코딩을 하여야 하므로 셀 오버헤드가 증가하는 문제점이 있다. 또한, 셀 오버헤드를 감소시키기 위해 16비트 이상의 단위로 ECC 코딩을 하는 경우는 상기 바이트 단위의 마스킹을 할 수 없다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 16비트 이상의 단위로 ECC(Error Correction Code) 코딩을 하면서 바이트(byte) 단위의 마스킹(masking) 동작을 수행할 수 있는 반도체 메모리 장치를 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 상기 반도체 메모리 장치에서 패리티 데이터를 생성하는 방법을 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 반도체 메모리 장치는 메모리 셀 어레이 및 ECC(Error Correction Code) 엔진을 구비한다. 상기 메모리 셀 어레이는 노말 데이터들 및 패리티(parity) 데이터들을 저장한다. 상기 ECC 엔진은 마스킹(masking) 동작을 수행하는 마스킹 모드에서 업데이트되는 제 1 영역 및 상기 마스킹 동작에 의하여 보존되는 제 2 영역을 포함하는 노말 데이터를 이용하여 상기 패리티 데이터를 계산한다.
상기 ECC 엔진은 상기 노말 데이터의 제 1 영역을 업데이트하기 전에 상기 노말 데이터의 제 2 영역을 리드하는 것이 바람직하다.
상기 반도체 메모리 장치는 상기 노말 데이터의 제 1 영역을 업데이트하기 위한 제 1 칼럼 선택 라인 및 상기 제 1 칼럼 선택 라인이 인에이블되기 전에 인에이블되고, 상기 노말 데이터의 제 2 영역을 리드하기 위한 제 2 칼럼 선택 라인을 구비하는 것이 바람직하다.
상기 ECC 엔진은 상기 계산된 패리티 데이터를 상기 메모리 셀 어레이로 전송하는 것이 바람직하다.
상기 반도체 메모리 장치는 모드 선택 신호에 응답하여 상기 마스킹 모드 및 노말 모드 중 하나를 선택하는 모드 선택부를 더 구비하는 것이 바람직하다.
상기 ECC 엔진은 상기 마스킹 모드를 선택하는 상기 모드 선택 신호가 인에이블 될 때 상기 노말 데이터의 제 2 영역을 리드하는 것이 바람직하다.
상기 ECC 엔진은 노말 모드에서 상기 업데이트 되는 노말 데이터를 이용하여 상기 패리티 데이터를 계산하는 것이 바람직하고, 해밍 코드(Hamming code)를 사용하는 것이 바람직하다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 패리티 데이터 생성 방법은 노말 데이터들 및 패리티(parity) 데이터들 저장하는 메모리 셀 어레이를 구비하는 반도체 메모리 장치의 패리티 데이터 생성 방법에 있어서, 마스킹(masking) 동작을 수행하는 마스킹 모드에서 상기 노말 데이터를 업데이트되는 제 1 영역 및 상기 마스킹 동작에 의하여 보존되는 제 2 영역으로 구분하는 단계 및 상기 노말 데이터의 제 1 영역 및 제 2 영역을 이용하여 상기 패리티 데이터를 계산하는 단계를 구비한다.
상기 패리티 데이터 생성 방법은 상기 노말 데이터의 제 1 영역을 업데이트하기 전에 상기 노말 데이터의 제 2 영역을 리드하는 단계를 더 구비하는 것이 바람직하다.
상기 패리티 데이터 생성 방법은 상기 노말 데이터의 제 1 영역을 업데이트하기 위한 제 1 칼럼 선택 라인이 인에이블되기 전에 상기 노말 데이터의 제 2 영역을 리드하기 위한 제 2 칼럼 선택 라인이 인에블되는 단계를 더 구비하는 것이 바람직하다.
상기 패리티 데이터 생성 방법은 상기 계산된 패리티 데이터를 상기 메모리 셀 어레이로 전송하는 단계를 더 구비하는 것이 바람직하다.
상기 패리티 데이터 생성 방법은 모드 선택 신호에 응답하여 상기 마스킹 모드 및 노말 모드 중 하나를 선택하는 단계를 더 구비하는 것이 바람직하다.
상기 패리티 데이터 생성 방법은 상기 마스킹 모드를 선택하는 상기 모드 선택 신호가 인에이블 될 때 상기 노말 데이터의 제 2 영역을 리드하는 단계를 더 구비하는 것이 바람직하다.
상기 패리티 데이터 생성 방법은 노말 모드에서 상기 업데이트 되는 노말 데이터를 이용하여 상기 패리티 데이터를 계산하는 단계를 더 구비하는 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 실시예에 따른 반도체 메모리 장치(300)의 블록도이다.
도 3을 참조하면, 반도체 메모리 장치(300)는 메모리 셀 어레이(310), ECC(Error Correction Code) 엔진(350) 및 모드 선택부(370)를 구비할 수 있다.
메모리 셀 어레이(310)는 노말 데이터들 및 패리티 데이터들을 저장한다. 즉, 상기 노말 데이터들은 메모리 셀 어레이(310)의 노말 데이터 영역(320_1, 320_2, ... , 320_n)에 저장되고, 상기 패리티 데이터들은 메모리 셀 어레이(310)의 패리티 데이터 영역(330_1, 330_2, ... , 330_n)에 저장된다.
ECC 엔진(350)은 상기 노말 데이터를 이용하여 상기 패리티 데이터를 계산한다. 마스킹(masking) 동작이 수행되는 마스킹 모드의 경우, ECC 엔진(350)은 업데이트되는 제 1 영역 및 상기 마스킹 동작에 의하여 보존되는 제 2 영역을 포함하는 노말 데이터를 이용하여 상기 패리티 데이터를 계산한다. 그리고, 상기 마스킹 동작을 수행하지 않는 노말 모드의 경우, 업데이트되는 노말 데이터를 이용하여 상기 패리티 데이터를 계산한다. ECC 엔진(350)은 상기 계산된 패리티 데이터를 메모리 셀 어레이(310)의 패리티 데이터 영역(330_1, 330_2, ... , 330_n)으로 전송한다. ECC 엔진(350)의 구체적 동작에 관하여는 이하 도 4 내지 도 6에서 보다 상세히 설 명한다. ECC 엔진(350)은 1 비트의 에러를 정정할 수 있는 해밍 코드(hamming code)를 사용하는 것이 바람직하다.
모드 선택부(370)는 모드 선택 신호(M_SEL)에 응답하여 상기 마스킹 모드 및 노말 모드 중 하나를 선택한다. 즉, 모드 선택부(370)의 선택 결과에 따라 ECC 엔진(350)의 동작이 달라진다. 모드 선택 신호(M_SEL)는 상기 반도체 메모리 장치의 여분의 컬럼 어드레스를 사용한 신호이거나 또는 상기 반도체 메모리 장치의 컨트롤 핀을 통하여 인가되는 신호인 것이 바람직하다. 다만, 이는 본 발명의 일 실시예일 뿐 상기 마스킹 모드 또는 노말 모드 중 하나를 선택할 수 있는 신호라면 다른 수단을 이용하여 생성되거나 인가되는 신호이어도 본 발명과 동일한 효과를 얻을 수 있음은 당업자에게 자명한 사항이다.
도 4는 상기 마스킹 모드에서 도 3의 ECC 엔진(350)의 동작을 설명하기 위한 블록도이다.
도 3 및 도 4를 참조하여 ECC 엔진(350)의 동작을 설명한다. 이하에서는, 노말 데이터 영역(320_1)에 16비트의 노말 데이터(D0, D1, ... , D15)가 기존에 저장되어 있는 상태에서 새로운 노말 데이터(Din)(D0', D1', ... , D15')를 저장하면서 8비트 단위로 바이트 마스킹 동작을 수행한다고 가정하자.
상기 마스킹 모드의 경우, ECC 엔진(350)은 제 1 영역(A) 및 제 2 영역(B)을 포함하는 노말 데이터를 이용하여 업데이트 된 패리티 데이터(P0', P1', P2', P3', P4')를 계산한다. 새로운 노말 데이터(Din)(D0', D1', ... , D15') 중 마스킹 동작에 영향을 받지 않고 업데이트 되는 노말 데이터(D8', D9', ... , D15')를 제 1 영 역(A)으로 정의한다. 또한, 기존의 노말 데이터(D0, D1, ... , D15) 중 마스킹 동작에 의하여 새로운 노말 데이터(Din)로 업데이트되지 않는 노말 데이터(D0, D1, ... , D7)를 제 2 영역(B)으로 정의한다.
즉, ECC 엔진(350)은 기존에 저장되어 있는 노말 데이터의 제 2 영역(B)(D0, D1, ... , D7) 및 업데이트 될 노말 데이터(Din)의 제 1 영역(A)(D8', D9', ... , D15')을 이용하여 변경된 패리티 데이터(P0', P1', P2', P3', P4')를 계산한다. 패리티 데이터(P0', P1', P2', P3', P4')를 계산하기 위하여, ECC 엔진(350)은 새로운 노말 데이터(Din)의 제 1 영역(A)(D8', D9', ... , D15')을 노말 데이터 영역(320_1)에 저장하기 전에 기존에 저장되어 있는 노말 데이터의 제 2 영역(B)(D0, D1, ... , D7)을 리드한다. 따라서, ECC 엔진(350)은 미리 리드한 기존의 노말 데이터의 제 2 영역(B)(D0, D1, ... , D7)과 업데이트 될 노말 데이터(Din)의 제 1 영역(A)(D8', D9', ... , D15')을 이용하여 변경된 패리티 데이터(P0', P1', P2', P3', P4')를 계산하고, 상기 제 1 영역(A) 및 패리티 영역(330_1)은 새로운 노말 데이터(D8', D9', ... , D15') 및 계산된 패리티 데이터(P0', P1', P2', P3', P4')로 업데이트 된다.
도 5(a)는 상기 노말 모드에서 도 3의 반도체 메모리 장치(300)의 데이터 흐름을 보여주는 도면이다.
도 5(a)를 참조하면, 16비트 단위의 새로운 노말 데이터(Din)가 입력되고 노말 모드인 경우, 16비트의 노말 데이터(Din)가 전부 노말 데이터 영역(320_1)에 저장된다. 즉, 상기 노말 데이터가 모두 업데이트 되므로, ECC 엔진(350)은 입력되는 노말 데이터(Din) 전부를 이용하여 5비트의 패리티 데이터(P0', P1', P2', P3', P4')를 계산하여 패리티 데이터 영역(330_1)으로 전송한다.
도 5(b)는 상기 마스킹 모드에서 도 3의 반도체 메모리 장치(300)의 데이터 흐름을 보여주는 도면이다.
도 4 및 도 5(b)를 참조하면, 16비트 단위의 새로운 노말 데이터(Din)가 입력되고 마스킹 모드인 경우, 16비트의 새로운 노말 데이터(Din) 중 8비트의 제 1 영역(A)(D8', D9', ... , D15')이 노말 데이터 영역(320_1)에 저장된다. 단, ECC 엔진(350)은 새로운 노말 데이터(Din)의 제 1 영역(A)(D8', D9', ... , D15')이 노말 데이터 영역(320_1)에 저장되기 전에, 기존에 저장되어 있던 노말 데이터 중 8비트의 제 2 영역(B)(D0, D1, ... , D7)을 리드한다. 상기 리드한 노말 데이터(D0, D1, ... , D7) 및 상기 업데이트 할 노말 데이터(D8', D9', ... , D15')를 이용하여 5비트의 패리티 데이터(P0', P1', P2', P3', P4')를 계산하여 패리티 데이터 영역(330_1)으로 전송한다.
도 6은 마스킹 모드에서 도 3의 반도체 메모리 장치(300)의 동작을 설명하기 위한 신호 파형도이다.
도 3 내지 도 6을 참조하면, 제 1 칼럼 선택 라인(CSL1)이 인에이블되면 새로운 노말 데이터(Din)의 제 1 영역(A)(D8', D9', ... , D15')이 노말 데이터 영역(320_1)에 저장되고, 업데이트된 패리티 데이터(P0', P1', P2', P3', P4')가 패리티 데이터 영역(330_1)에 저장된다. 또한, 제 2 칼럼 선택 라인(CSL2)이 인에이블되면 기존에 저장되어 있는 노말 데이터의 제 2 영역(B)(D0, D1, ... , D7)을 리 드한다. 반도체 메모리 장치(300)는 모드 선택 신호(M_SEL)가 인에이블 되면, 제 1 칼럼 선택 라인(CSL1)이 인에이블 되기 전에 제 2 칼럼 선택 라인(CSL2)을 인에이블 시킨다. 따라서, 모드 선택 신호(M_SEL)가 인에이블되면, 제 2 칼럼 선택 라인(CSL2)이 인에이블되어 노말 데이터의 제 2 영역(B)을 리드한다. 상기 리드한 노말 데이터(Dout)(D0, D1, ... , D7) 및 업데이트 할 노말 데이터(D8', D9', ... , D15')를 이용하여 패리티 데이터(P0', P1', P2', P3', P4')를 계산한다. 이후 제 1 칼럼 선택 라인(CSL1)이 인에이블되면, 업데이트 할 노말 데이터(D8', D9', ... , D15') 및 패리티 데이터(P0', P1', P2', P3', P4')는 노말 데이터 영역(320_1) 및 패리티 데이터 영역(330_1)에 저장된다. 종래의 경우는 마스킹 신호(DM1)가 인에이블되면 노말 데이터의 해당 영역에 마스킹 동작이 수행되는데, 이 경우 새로운 데이터를 저장하기 전에 기존의 데이터를 리드할 수 없어 패리티 데이터를 업데이트할 수 없었다. 그러나, 본 발명은 마스킹 신호(DM1)가 인에이블되기 전에 모드 선택 신호(M_SEL)를 먼저 인에이블 시켜 마스킹 모드로 진입함을 미리 알림으로써 새로운 데이터를 저장하기 전에 기존의 데이터를 리드할 수 있다.
도 7은 본 발명의 실시예에 따른 패러티 데이터 생성 방법의 흐름도이다.
도 3, 도 4 및 도 7을 참조하면, 모드 선택부(370)는 모드 선택 신호(M_SEL)에 응답하여 마스킹 모드 및 노말 모드 중 하나를 선택한다(S710 단계). 노말 모드의 경우, ECC 엔진(350)은 업데이트되는 노말 데이터(Din)를 이용하여 패리티 데이터를 계산한다(S720 단계). 마스킹 모드의 경우, ECC 엔진(350)은 노말 데이터를 업데이트되는 제 1 영역(A) 및 보존되는 제 2 영역(B)으로 구분한다(S730 단계). 즉, ECC 엔진(350)은 새로운 노말 데이터(Din) 중 마스킹 동작에 영향을 받지 않고 업데이트되는 제 1 영역(A)(D8', D9', ... , D15') 및 기존의 노말 데이터 중 마스킹 동작에 영향을 받아 새로운 노말 데이터(Din)로 업데이트되지 않는 제 2 영역(B)(D0, D1, ... , D7)으로 구분한다. ECC 엔진(350)은 제 1 영역(A)을 업데이트 하기 전에 제 2 영역(B)을 리드한다(S740 단계). ECC 엔진(350)은 업데이트 할 제 1 영역(A) 및 리드한 제 2 영역(B)을 이용하여 업데이트할 패리티 데이터(P0', P1', P2', P3', P4')를 계산한다(S750 단계). ECC 엔진(350)은 상기 계산된 패리티 데이터(P0', P1', P2', P3', P4')를 패리티 데이터 영역(330_1)으로 전송한다(S760 단계).
이상에서는 상기 16 비트 노말 데이터의 제 1 영역(A) 또는 제 2 영역(B)을 8비트 단위로 구성되는 것으로 하였으나, 이는 본 발명의 일 실시예일 뿐 다른 비트 수 단위로 영역을 구분하여도 본 발명과 동일한 효과를 얻을 수 있음은 자명한 사항이다. 또한, 16비트 노말 데이터 뿐 아니라 32비트 또는 64비트 노말 데이터의 경우도 동일한 방법에 의하여 바이트 마스킹을 수행할 수 있음은 역시 당업자에게 자명한 사항이다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 반도체 메모리 장치 및 패리티 데이터 생성 방법은 새로운 노말 데이터를 업데이트하기 전에 기존의 저장된 노말 데이터 중 마스킹 동작이 수행되는 노말 데이터를 리드하고 상기 업데이트할 데이터 및 상기 리드한 데이터를 이용하여 패리티 데이터를 계산함으로써, 16비트 이상의 단위로 ECC(Error Correction Code) 코딩을 하면서 바이트(byte) 단위로 마스킹(masking) 동작을 수행할 수 있는 장점이 있다. 또한 기록 대기 시간(write time latency)을 최소화할 수도 있다.

Claims (25)

  1. 노말 데이터들 및 패리티(parity) 데이터들을 저장하는 메모리 셀 어레이;
    상기 노말 데이터를 이용하여 상기 패리티 데이터를 계산하는 ECC(Error Correction Code) 엔진; 및
    모드 선택 신호에 응답하여 마스킹(masking) 동작을 수행하는 마스킹 모드 및 노말 모드 중 하나를 선택하는 모드 선택부를 구비하고,
    상기 ECC 엔진은,
    상기 마스킹 모드에서 업데이트되는 제 1 영역 및 상기 마스킹 동작에 의하여 보존되는 제 2 영역을 포함하는 노말 데이터를 이용하여 상기 패리티 데이터를 계산하는 것을 특징으로 하는 반도체 메모리 장치.
  2. 제1항에 있어서, 상기 ECC 엔진은,
    상기 노말 데이터의 제 1 영역을 업데이트하기 전에 상기 노말 데이터의 제 2 영역을 리드하는 것을 특징으로 하는 반도체 메모리 장치.
  3. 제1항에 있어서, 상기 반도체 메모리 장치는,
    상기 노말 데이터의 제 1 영역을 업데이트하기 위한 제 1 칼럼 선택 라인; 및
    상기 제 1 칼럼 선택 라인이 인에이블되기 전에 인에이블되고, 상기 노말 데이터의 제 2 영역을 리드하기 위한 제 2 칼럼 선택 라인을 구비하는 것을 특징으로 하는 반도체 메모리 장치.
  4. 제1항에 있어서, 상기 ECC 엔진은,
    상기 계산된 패리티 데이터를 상기 메모리 셀 어레이로 전송하는 것을 특징으로 하는 반도체 메모리 장치.
  5. 삭제
  6. 제1항에 있어서, 상기 ECC 엔진은,
    상기 마스킹 모드를 선택하는 상기 모드 선택 신호가 인에이블 될 때 상기 노말 데이터의 제 2 영역을 리드하는 것을 특징으로 하는 반도체 메모리 장치.
  7. 제1항에 있어서, 상기 모드 선택 신호는,
    상기 반도체 메모리 장치의 여분의 컬럼 어드레스를 사용한 신호인 것을 특징으로 하는 반도체 메모리 장치.
  8. 제1항에 있어서, 상기 모드 선택 신호는,
    상기 반도체 메모리 장치의 컨트롤 핀을 통하여 인가되는 신호인 것을 특징으로 하는 반도체 메모리 장치.
  9. 제1항에 있어서, 상기 마스킹 모드는,
    8비트 단위로 마스킹 동작을 수행하는 모드인 것을 특징으로 하는 반도체 메모리 장치.
  10. 제1항에 있어서, 상기 노말 데이터는,
    16비트 인 것을 특징으로 하는 반도체 메모리 장치.
  11. 제10항에 있어서, 상기 노말 데이터의 제 1 영역 또는 제 2 영역은,
    8비트인 것을 특징으로 하는 반도체 메모리 장치.
  12. 제10항에 있어서, 상기 제 1 영역은,
    상기 노말 데이터의 상위 8비트이고,
    상기 제 2 영역은,
    상기 노말 데이터의 하위 8비트인 것을 특징으로 하는 반도체 메모리 장치.
  13. 제10항에 있어서, 상기 제 1 영역은,
    상기 노말 데이터의 하위 8비트이고,
    상기 제 2 영역은,
    상기 노말 데이터의 상위 8비트인 것을 특징으로 하는 반도체 메모리 장치.
  14. 제1항에 있어서, 상기 ECC 엔진은,
    상기 노말 모드에서 상기 업데이트 되는 노말 데이터를 이용하여 상기 패리티 데이터를 계산하는 것을 특징으로 하는 반도체 메모리 장치.
  15. 제1항에 있어서, 상기 ECC 엔진은,
    해밍 코드(Hamming code)를 사용하는 것을 특징으로 하는 반도체 메모리 장치.
  16. 노말 데이터들 및 패리티(parity) 데이터들 저장하는 메모리 셀 어레이를 구비하는 반도체 메모리 장치의 패리티 데이터 생성 방법에 있어서,
    모드 선택 신호에 응답하여 마스킹(masking) 동작을 수행하는 마스킹 모드 및 노말 모드 중 하나를 선택하는 단계;
    상기 마스킹 모드에서 상기 노말 데이터를 업데이트되는 제 1 영역 및 상기 마스킹 동작에 의하여 보존되는 제 2 영역으로 구분하는 단계; 및
    상기 노말 데이터의 제 1 영역 및 제 2 영역을 이용하여 상기 패리티 데이터를 계산하는 단계를 구비하는 것을 특징으로 하는 패리티 데이터 생성 방법.
  17. 제16항에 있어서, 상기 패리티 데이터 생성 방법은,
    상기 노말 데이터의 제 1 영역을 업데이트하기 전에 상기 노말 데이터의 제 2 영역을 리드하는 단계를 더 구비하는 것을 특징으로 하는 것을 특징으로 하는 패리티 데이터 생성 방법.
  18. 제16항에 있어서, 상기 패리티 데이터 생성 방법은,
    상기 노말 데이터의 제 1 영역을 업데이트하기 위한 제 1 칼럼 선택 라인이 인에이블되기 전에 상기 노말 데이터의 제 2 영역을 리드하기 위한 제 2 칼럼 선택 라인이 인에블되는 단계를 더 구비하는 것을 특징으로 하는 패리티 데이터 생성 방법.
  19. 제16항에 있어서, 상기 패리티 데이터 생성 방법은,
    상기 계산된 패리티 데이터를 상기 메모리 셀 어레이로 전송하는 단계를 더 구비하는 것을 특징으로 하는 패리티 데이터 생성 방법.
  20. 삭제
  21. 제16항에 있어서, 상기 패리티 데이터 생성 방법은,
    상기 마스킹 모드를 선택하는 상기 모드 선택 신호가 인에이블 될 때 상기 노말 데이터의 제 2 영역을 리드하는 단계를 더 구비하는 것을 특징으로 하는 패리티 데이터 생성 방법.
  22. 제16항에 있어서, 상기 모드 선택 신호는,
    상기 반도체 메모리 장치의 여분의 컬럼 어드레스를 사용한 신호인 것을 특징으로 하는 패리티 데이터 생성 방법.
  23. 제16항에 있어서, 상기 모드 선택 신호는,
    상기 반도체 메모리 장치의 컨트롤 핀을 통하여 인가되는 신호인 것을 특징으로 하는 패리티 데이터 생성 방법.
  24. 제16항에 있어서, 상기 마스킹 모드는,
    8비트 단위로 마스킹 동작을 수행하는 모드인 것을 특징으로 하는 패리티 데이터 생성 방법.
  25. 제16항에 있어서, 상기 패리티 데이터 생성 방법은,
    상기 노말 모드에서 상기 업데이트 되는 노말 데이터를 이용하여 상기 패리티 데이터를 계산하는 단계를 더 구비하는 것을 특징으로 하는 패리티 데이터 생성 방법.
KR1020070015087A 2007-02-13 2007-02-13 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법 KR100855979B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020070015087A KR100855979B1 (ko) 2007-02-13 2007-02-13 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법
US11/865,856 US8132086B2 (en) 2007-02-13 2007-10-02 Semiconductor memory device for byte-based masking operation and method of generating parity data
JP2007340268A JP2008198330A (ja) 2007-02-13 2007-12-28 バイトマスキング動作のための半導体メモリ装置及びパリティデータ生成方法
TW096151011A TW200845021A (en) 2007-02-13 2007-12-28 Semiconductor memory device for byte-based masking operation and method of generating parity data
CNA2007103035746A CN101246748A (zh) 2007-02-13 2007-12-29 基于字节的掩码操作的设备和产生奇偶校验数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070015087A KR100855979B1 (ko) 2007-02-13 2007-02-13 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법

Publications (2)

Publication Number Publication Date
KR20080075750A KR20080075750A (ko) 2008-08-19
KR100855979B1 true KR100855979B1 (ko) 2008-09-02

Family

ID=39686910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070015087A KR100855979B1 (ko) 2007-02-13 2007-02-13 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법

Country Status (5)

Country Link
US (1) US8132086B2 (ko)
JP (1) JP2008198330A (ko)
KR (1) KR100855979B1 (ko)
CN (1) CN101246748A (ko)
TW (1) TW200845021A (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5067131B2 (ja) * 2007-11-07 2012-11-07 富士通セミコンダクター株式会社 半導体メモリ、半導体メモリの動作方法およびシステム
US8930779B2 (en) 2009-11-20 2015-01-06 Rambus Inc. Bit-replacement technique for DRAM error correction
US20120079349A1 (en) * 2010-09-24 2012-03-29 Arkady Bramnik Method and apparatus for multi-bit upset protection
US8644104B2 (en) 2011-01-14 2014-02-04 Rambus Inc. Memory system components that support error detection and correction
US9350386B2 (en) 2012-04-12 2016-05-24 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the same
US9037949B1 (en) 2012-06-21 2015-05-19 Rambus Inc. Error correction in a memory device
US9411678B1 (en) 2012-08-01 2016-08-09 Rambus Inc. DRAM retention monitoring method for dynamic error correction
WO2014074390A1 (en) 2012-11-06 2014-05-15 Rambus Inc. Memory repair using external tags
US9311181B2 (en) 2012-11-15 2016-04-12 Samsung Electronics Co., Ltd. Memory controller changing partial data in memory device and method for changing partial data thereof
US9064606B2 (en) * 2012-12-20 2015-06-23 Advanced Micro Devices, Inc. Memory interface supporting both ECC and per-byte data masking
CN103187104B (zh) * 2013-03-19 2016-11-23 西安紫光国芯半导体有限公司 Dram存储器的纠错方法
US9148176B2 (en) 2013-06-24 2015-09-29 Micron Technology, Inc. Circuits, apparatuses, and methods for correcting data errors
US9642671B2 (en) 2013-09-30 2017-05-09 Covidien Lp Limited-use medical device
CN103594120B (zh) * 2013-10-31 2018-08-21 西安紫光国芯半导体有限公司 以读代写的存储器纠错方法
US9965352B2 (en) * 2015-11-20 2018-05-08 Qualcomm Incorporated Separate link and array error correction in a memory system
KR20170121798A (ko) * 2016-04-26 2017-11-03 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
US10243584B2 (en) 2016-05-11 2019-03-26 Samsung Electronics Co., Ltd. Memory device including parity error detection circuit
KR102479212B1 (ko) * 2016-08-17 2022-12-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
KR102384706B1 (ko) 2017-06-09 2022-04-08 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR102258140B1 (ko) * 2017-07-06 2021-05-28 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템
KR20190031787A (ko) * 2017-09-18 2019-03-27 삼성전자주식회사 병렬 리드-모디파이-라이트 동작을 수행하는 메모리 장치
CN111984457B (zh) 2019-05-23 2022-09-02 华为技术有限公司 对存储信息更新的方法和装置
US11816353B2 (en) * 2021-12-20 2023-11-14 Western Digital Technologies, Inc. Parity data for non-volatile storage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02213965A (ja) * 1989-02-15 1990-08-27 Hitachi Ltd メモリ素子およびメモリ装置
JPH09320258A (ja) * 1996-05-28 1997-12-12 Hitachi Ltd Sdram、メモリモジュール、及びデータ処理装置
US20040015752A1 (en) 2002-07-16 2004-01-22 Patella Benjamin J. Detection of bit errors in maskable content addressable memories

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2811318C2 (de) * 1978-03-16 1983-02-17 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Übertragung und Speicherung eines Teilwortes
JPS62214599A (ja) * 1986-03-14 1987-09-21 Fujitsu Ltd 半導体記憶装置
JPS6376194A (ja) * 1986-09-19 1988-04-06 Hitachi Ltd 半導体記憶装置
JPH09180496A (ja) * 1995-12-28 1997-07-11 Fujitsu Ltd 半導体記憶装置
US6216247B1 (en) * 1998-05-29 2001-04-10 Intel Corporation 32-bit mode for a 64-bit ECC capable memory subsystem
US6957378B2 (en) * 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
JP4877894B2 (ja) * 2001-07-04 2012-02-15 ルネサスエレクトロニクス株式会社 半導体装置
US6961877B2 (en) * 2002-07-19 2005-11-01 Qlogic Corporation System and method for in-line error correction for storage systems
JP2005327437A (ja) * 2004-04-12 2005-11-24 Nec Electronics Corp 半導体記憶装置
JP2005310313A (ja) 2004-04-23 2005-11-04 Toshiba Corp 半導体記憶装置
US7451380B2 (en) * 2005-03-03 2008-11-11 International Business Machines Corporation Method for implementing enhanced vertical ECC storage in a dynamic random access memory
US20080168331A1 (en) * 2007-01-05 2008-07-10 Thomas Vogelsang Memory including error correction code circuit
US7945840B2 (en) * 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02213965A (ja) * 1989-02-15 1990-08-27 Hitachi Ltd メモリ素子およびメモリ装置
JPH09320258A (ja) * 1996-05-28 1997-12-12 Hitachi Ltd Sdram、メモリモジュール、及びデータ処理装置
US20040015752A1 (en) 2002-07-16 2004-01-22 Patella Benjamin J. Detection of bit errors in maskable content addressable memories

Also Published As

Publication number Publication date
JP2008198330A (ja) 2008-08-28
TW200845021A (en) 2008-11-16
US8132086B2 (en) 2012-03-06
KR20080075750A (ko) 2008-08-19
US20080195919A1 (en) 2008-08-14
CN101246748A (zh) 2008-08-20

Similar Documents

Publication Publication Date Title
KR100855979B1 (ko) 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법
US11385959B2 (en) Memory repair method and apparatus based on error code tracking
JP5135348B2 (ja) メモリ装置の信頼性、可用性、およびサービス性の改善
KR101531080B1 (ko) 데이터 처리 시스템에서 단일화된 캐시에 대한 에러 검출 스킴들
KR20090028507A (ko) 비휘발성 메모리 에러 보정 시스템 및 방법
US20110072333A1 (en) Control method for flash memory based on variable length ecc
US20040225944A1 (en) Systems and methods for processing an error correction code word for storage in memory components
US20140047296A1 (en) Error Correcting Code Design For A Parity Enabled Memory
KR20150090414A (ko) 에러 정정 동작을 수행하는 반도체 장치
US12013756B2 (en) Method and memory system for writing data to dram submodules based on the data traffic demand
US11782807B2 (en) Memory module with dedicated repair devices
CN106528437B (zh) 数据储存***与其相关方法
KR101999288B1 (ko) 메모리 데이터의 에러 보정 장치 및 방법
CN113223601A (zh) 一次写入型存储器码的纠错码管理的电路、***和方法
US9916196B2 (en) Memory module with dedicated repair devices
KR102023121B1 (ko) 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법
US7665009B2 (en) Device, data sector, method of processing data, and signal-bearing medium embodying program of device
US20070171737A1 (en) Semiconductor storage device
US10579470B1 (en) Address failure detection for memory devices having inline storage configurations
US20190294497A1 (en) Method of implementing error correction code used by memory storage apparatus and memory storage apparatus using the same
US11899954B2 (en) Memory with extension mode
JP5217570B2 (ja) メモリ装置及びメモリ制御方法
JPH10207786A (ja) メモリシステム
CN116340049A (zh) 存储器***及操作存储器***的方法
CN116954982A (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

Payment date: 20120802

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130731

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140731

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 12