KR20150069291A - 데이터 복호화 장치 및 데이터 복호화 방법 - Google Patents

데이터 복호화 장치 및 데이터 복호화 방법 Download PDF

Info

Publication number
KR20150069291A
KR20150069291A KR1020130155545A KR20130155545A KR20150069291A KR 20150069291 A KR20150069291 A KR 20150069291A KR 1020130155545 A KR1020130155545 A KR 1020130155545A KR 20130155545 A KR20130155545 A KR 20130155545A KR 20150069291 A KR20150069291 A KR 20150069291A
Authority
KR
South Korea
Prior art keywords
data
error
read
error correction
memory cells
Prior art date
Application number
KR1020130155545A
Other languages
English (en)
Other versions
KR102133209B1 (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 KR1020130155545A priority Critical patent/KR102133209B1/ko
Priority to US14/254,659 priority patent/US9417953B2/en
Publication of KR20150069291A publication Critical patent/KR20150069291A/ko
Application granted granted Critical
Publication of KR102133209B1 publication Critical patent/KR102133209B1/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/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
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명에 따른 데이터 복호화 장치는 판독된 데이터의 오류 여부를 기설정된 복호화 방식에 기초하여 판단하고, 오류 발생 위치를 식별하는 제1 판정부, 오류 발생 위치에 대하여 기설정된 범위를 갖는 판독 전압에 기초하여 신뢰도를 검사함으로써 오류 발생 위치 중에서 저신뢰도 위치를 판별하는 제2 판정부, 및 저신뢰도 위치의 오류를 정정하여 오류 정정 데이터를 생성하는 오류 정정부를 포함한다.

Description

데이터 복호화 장치 및 데이터 복호화 방법{Apparatus for decoding data and method for decoding data}
본 발명은 데이터 복호화 장치 및 데이터 복호화 방법에 관한 것으로, 더욱 상세하게는 경판정(Hard decision) 방식과 연판정(Soft decision) 방식을 이용하여 데이터를 복호화 하는 장치 및 그 방법에 관한 것이다.
전자 기기는 다양한 동작을 수행할 수 있으며, 데이터를 송수신하는 것은 전자 기기가 수행하는 다양한 동작들 중 하나의 동작에 속한다.
데이터가 송수신됨에 있어서, 암호화(Encode) 및 복호화(Decode) 동작이 수반될 수 있다. 암호화는 일정한 규칙에 따라 데이터를 변환하고, 복호화는 암호화 규칙에 기초하여 암호화된 데이터를 본래의 데이터로 복원하는 것이다.
메모리 셀에 저장되어 있던 데이터를 복호화하는 경우에는 저장되었던 데이터가 정확하게 판독되었는 지를 판단하기 위한 오류 검출/정정 방법이 사용될 수 있다.
본 발명이 이루고자 하는 기술적 과제는 데이터 복호화 과정에서 오류가 발생한 다수의 셀들을 식별함에 있어서 경판정 및 연판정 방식을 모두 이용하고, 식별된 오류에 대한 정정 과정을 거침으로써 비트 오류율(BER, Bit Error Rate)를 향상시키는 데이터 복호화 장치 및 데이터 복호화 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 데이터 복호화 장치는 판독된 데이터의 오류 여부를 기설정된 복호화 방식에 기초하여 판단하고, 오류 발생 위치를 식별하는 제1 판정부, 상기 오류 발생 위치에 대하여 기설정된 범위를 갖는 판독 전압에 기초하여 신뢰도를 검사함으로써 상기 오류 발생 위치 중에서 저신뢰도 위치를 판별하는 제2 판정부, 및 상기 저신뢰도 위치의 오류를 정정하여 오류 정정 데이터를 생성하는 오류 정정부를 포함한다.
본 발명의 일 실시예에 따른 데이터 복호화 방법은 기설정된 복호화 방식에 기초하여 데이터의 오류 여부를 판단하고 오류 발생 위치를 식별하는 단계, 판독 전압을 달리하면서 상기 오류 발생 위치의 데이터를 재판독하여 상기 오류 발생 위치 중에서 저신뢰도 위치를 판별하는 단계, 및 상기 저신뢰도 위치의 오류를 정정하여 오류 정정 데이터를 생성하는 단계를 포함한다.
본 발명의 실시예들에 따른 데이터 복호화 장치 및 데이터 복호화 방법은 경판정 방식과 연판정 방식을 모두 이용하여 데이터 오류를 바로 잡음으로써 데이터 오류율을 현저히 낮출 수 있다.
본 발명의 실시예들에 따른 데이터 복호화 장치 및 데이터 복호화 방법은 복수의 셀들의 데이터의 오류를 정정함으로써 보다 많은 데이터 오류를 개선할 수 있다.
아울러 본 발명의 실시예는 예시를 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 데이터 복호화 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 복호화 장치에 포함된 오류 정정 유닛과 메모리 셀 어레이의 관계를 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 오류 정정 유닛을 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 경판정부를 나타내는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 오류 발생 위치 식별 방법을 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시예에 따른 연판정부의 저신뢰도 위치 판별 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 연판정부와 메모리 셀 어레이를 나타내는 블록도이다.
도 8은 본 발명의 일 실시예에 따른 데이터 복호화 방법을 설명하기 위한 흐름도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 도면의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양하게 변형될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 데이터 복호화 장치를 나타내는 블록도이다.
도 1을 참조하면, 데이터 복호화 장치(10)는 호스트(100), 컨트롤러(200) 및 메모리 장치(300)를 포함할 수 있다.
호스트(100)는 컨트롤러(200)에 대하여 명령을 전달하여 컨트롤러(200)가 메모리 장치(300)에 데이터를 기입하도록 하거나, 메모리 장치(300)로부터 데이터를 판독하여 호스트(100)로 전달하도록 한다. 다시 말하면, 호스트(100)로부터의 명령에 기초하여 컨트롤러(200)가 메모리 장치(300)에 액세스하고, 명령에 상응하는 동작을 수행하는 것이다.
호스트(100)는 호스트 인터페이스(도시되지 않음)를 통하여 컨트롤러(200)와 연결될 수 있으며, 호스트 인터페이스는 호스트(100)와 컨트롤러(200) 사이에서 제어 명령, 어드레스, 데이터 신호들을 송수신할 수 있도록 한다. 실시예에 따라, 호스트 인터페이스는 직렬 ATA(Serial Advanced Technology Attachment), 병렬 ATA(Parallel ATA), SCSI, 및 PCI-Express 등을 포함할 수 있으나, 이에 한정되지는 않는다.
컨트롤러(200)는 메모리 장치(300)에 기입될 데이터를 제공하여 메모리 장치(300)에 저장한다. 또한, 컨트롤러(200)는 메모리 장치(300)로부터 판독된 데이터를 수신하여 호스트(100)에 제공할 수도 있다.
상술한 바와 같이 컨트롤러(200)는 호스트(100)의 명령에 따라, 메모리 장치(300)에 대하여 기입될 데이터를 제공하거나, 메모리 장치(300)로부터 특정한 데이터를 읽어내어 판독된 데이터로 제공받을 수 있다.
그런데 메모리 장치(300)에 저장해 놓은 데이터를 다시 판독하였을 경우, 판독된 데이터가 기입한 데이터와 일치하는 것이 이상적이지만 그렇지 않은 경우가 있다.
따라서 오류 정정을 위한 수단을 구비하여 기입되어야 하는 데이터가 정확히 기입 되었는지, 그리고 판독된 데이터가 기입된 데이터와 일치하는 지를 판단하고, 오류를 정정할 필요가 있다.
본 발명의 일 실시예에 따른 데이터 복호화 장치는 메모리 장치(300)로부터 판독한 정보의 오류 여부를 검사함에 있어서, 경판정 및 연판정 방식을 모두 사용한다. 경판정 방식을 통하여 오류가 발생한 것으로 판단된 비트들에 대하여 다시 연판정을 통하여 오류를 개선함으로써 BER(Bit error rate) 커브를 개선할 수 있다.
도 2는 본 발명의 일 실시예에 따른 데이터 복호화 장치에 포함된 오류 정정 유닛과 메모리 셀 어레이의 관계를 도시한 블록도이다.
도 2를 참조하면, 데이터 복호화 장치(10)는 오류 정정 유닛(250)과 메모리 셀 어레이(350)를 포함할 수 있다.
오류 정정 유닛(250)은 도 1의 컨트롤러(200) 또는 메모리 장치(300) 내에 포함되거나 독립적으로 구현될 수도 있다.
오류 정정 유닛(250)은 기입 정보(DIN)를 수신하여 실제로 메모리 셀 어레이(350)에 기입되어야 하는 기입 데이터(wd)로 변환할 수 있다. 예를 들어, 기입 데이터(wd)는 실제로 메모리 셀 어레이(350)에 기입되어야 하는 기입 비트 및 기입 비트에 기초하여 생성된 오류 검출 비트(예를 들어, 패리티 비트) 또는 오류 정정 코드를 포함할 수 있다. 이하에서는 오류 검출 비트와 오류 정정 코드를 포함하여 오류 정정 코드로 설명하도록 한다.
오류 정정 유닛(250)은 메모리 셀 어레이(350)로부터 판독 데이터(rd)를 수신하여 판독 정보(DOUT)로 변환할 수 있다. 기입 데이터(wd)와 유사하게, 판독 데이터(rd)는 메모리 셀로부터 판독된 기입 비트와 오류 정정 코드를 포함할 수 있다.
오류 정정 유닛(250)은 판독 데이터(rd)의 판독된 기입 비트로부터 생성된 오류 정정 코드와 실제 판독 데이터에 포함된 오류 정정 코드를 비교하여 오류 여부를 판단하고, 오류를 정정하여 판독 정보(DOUT)를 컨트롤러(200) 또는 호스트(100)에 제공할 수 있다. 다른 실시예에 있어서, 오류 정정 유닛(250)은 기입 데이터(wd)에 포함된 오류 정정 코드와 판독 데이터(rd)에 포함된 오류 정정 코드를 비교함으로써 오류 여부를 판단하여 정정할 수도 있다. 또는 오류 정정 유닛(250)은 판독 데이터(rd)만으로 오류 여부를 검출할 수도 있다.
메모리 셀 어레이(350)는 복수의 행 및 복수의 열을 가지며, 행과 열이 교차하는 부분에 연결된 복수의 메모리 셀들을 포함한다. 메모리 셀들은 휘발성 메모리 셀들 및/또는 비휘발성 메모리 셀들을 포함할 수 있다. 실시예에 따라, 각 메모리 셀들은 적어도 하나 이상의 데이터 비트들을 저장할 수 있다. 예를 들어, 비휘발성 메모리 셀에 포함되는 NAND 플래시 메모리 셀의 경우, 하나의 메모리 셀에 하나의 데이터 비트를 저장하는 경우에는 SLC(Single Level Cell) 방식을 사용하는 것으로 일컬으며, 하나의 메모리 셀에 둘 이상의 데이터 비트를 저장하는 경우에는 MLC(Multi Level Cell) 방식을 사용하는 것으로 일컫는다.
본 명세서에서 메모리 셀 어레이(350)는 메모리 셀들 뿐만 아니라, 메모리 셀들에 데이터를 기입하고 판독하기 위한 다양한 구성요소들을 포함하는 구성으로 구현될 수 있다. 예를 들어, 메모리 셀 어레이(350)는 전압 생성기, 로우 디코더, 칼럼 디코더, 기입 및 판독 회로 등을 포함할 수 있다.
도 3은 본 발명의 일 실시예에 따른 오류 정정 유닛을 나타내는 블록도이다.
도 3을 참조하면, 오류 정정 유닛(250)은 인코더(251) 및 디코더(253)를 포함할 수 있다. 인코더(251)는 기입 정보(DIN)를 수신하여 기설정된 암호화 방식으로 메모리 셀에 기입되어야 하는 기입 데이터(wd)를 생성한다. 기입 데이터(wd)에는 실제 기입되어야 하는 정보뿐만 아니라 오류 정정 코드가 포함되어 있다.
인코더(251)는 인코딩 방식에 따라서 실제로 기입하여야 하는 기입 비트와 기입 비트에 기초하여 오류 정정 코드를 함께 생성하여 기입 데이터(wd)를 생성할 수 있다. 예를 들어, 인코더(251)는 TPC(Turbo product code)를 사용하여 기입 데이터(wd)를 생성할 수 있다.
디코더(253)는 경판정부(2533), 연판정부(2531) 및 오류 정정부(2535)를 포함할 수 있다. 디코더(253)는 판독 데이터(rd)의 오류 여부를 판단하고 정정함으로써 판독 정보(DOUT)를 제공한다.
경판정부(2533)는 메모리 셀 어레이(350)로부터 판독된 판독 데이터(rd)에 대하여 기설정된 복호화 방식으로 오류 여부를 판단한다. 예를 들어, 기설정된 복호화 방식은 암호화 방식과 동일하게 TPC 방식을 포함할 수 있다.
경판정부(2533)는 TPC 방식으로 메모리 셀 어레이(350)의 각 행과 각 열에 대하여 독립적으로 오류 여부를 판단하고, 오류가 발생된 행 부호와 열 부호를 식별한다. 식별된 오류 위치는 오류 발생 위치(eadr)로 연판정부(2531)에 제공된다.
본 발명의 일 실시예에 따른 경판정부(2533)는 각 행과 각 열에 대하여 독립적으로 오류 여부를 판단함으로써 오류 감지율을 향상시킬 수 있다.
연판정부(2531)는 오류 발생 위치(eadr)의 메모리 셀들에 대하여 판독 전압을 달리하며 데이터를 다시 판독한다. 즉, 디코더(253)가 직전에 메모리 셀 어레이(350)로부터 판독 데이터(rd)를 수신할 때에 메모리 셀 어레이(350)에 인가되었던 판독 전압(Vread)을 변경시켜 데이터를 다시 판독하는 것이다.
판독 전압을 변경시켜가며 데이터를 판독하는 것은, 판독 전압을 경계로 데이터의 값이 바뀌는 메모리 셀을 파악하기 위한 것으로서, 판독 전압 변경과 관련하여서는 도 6을 참조하여 구체적으로 설명하도록 한다.
연판정부(2531)는 판독 전압을 변경하면서 데이터를 재판독한 결과, 데이터가 변경되는 경우, 해당 메모리 셀을 저신뢰도 셀로 판별하고, 메모리 셀의 위치를 저신뢰도 위치로 결정한다.
연판정부(2531)는 경판정부(2533)에서 오류가 발생한 것으로 판단한 오류 발생 위치(eadr)에 대하여 연판정을 수행함으로써 오류 발생 위치(eadr) 중에서도 저신뢰도 위치(lr)를 식별하는 것으로 이해할 수 있다.
오류 정정부(2535)는 저신뢰도 위치(lr)의 판독 데이터(rd)의 오류를 정정하여 오류 정정 데이터(crd)를 경판정부(2533)로 다시 제공한다.
경판정부(2533)는 오류 정정 데이터(crd)의 오류 여부를 다시 판단하고 오류 발생 여부에 따라서 오류 정정부(2535)에 오류를 다시 정정하도록 하거나, 오류 정정 데이터(crd)가 경판정 방식에 따라 다시 오류가 발생한 것으로 판단되면, 연판정부(2531)에 제공하여 연판정 방식에 따라 오류 발생 여부를 판단하도록 할 수 있다.
이와 같은 오류 정정을 기설정된 횟수만큼 진행한 이후, 오류가 정정된 판독 정보(DOUT)는 컨트롤러(200) 또는 호스트(100)에 제공된다.
본 발명의 일 실시예에 따른 데이터 복호화 장치(10)는 경판정부(2533)에서 경판정 방식을 통하여 1차적으로 오류가 발생한 것으로 판단된 메모리 셀에 대하여 연판정부(2531)에서 연판정 방식을 통하여 최종적으로 신뢰도가 낮은 것으로 판단한 데이터에 대하여 오류 정정을 수행함으로써 복호 성능을 향상시킬 수 있다.
도 4는 본 발명의 일 실시예에 따른 경판정부를 나타내는 블록도이다.
도 4를 참조하면, 경판정부(2533)는 신드롬 생성기(2533_1) 및 오류 위치 판단기(2533_2)를 포함할 수 있다.
신드롬 생성기(2533_1)는 수신된 판독 데이터(rd)를 원시다항식(primitive polynomial)으로 나누어서 신드롬을 구할 수 있다. 인코더(251)를 통하여 전송된 기입 데이터(wd)는 원시 다항식의 곱만으로 이루어지기 때문에 판독 데이터(rd)에서 원시 다항식으로 나눈 나머지를 신드롬(syn)으로 생성한다.
오류 위치 판단기(2533_2)는 신드롬(syn)에 대하여 벨레켐프 메시(Berlekamp Massey) 알고리즘 및 치엔 탐색(Chien Search) 알고리즘을 사용하여 오류가 발생한 행 부호 및 열 부호를 식별함으로써 오류 발생 위치(eadr)를 생성한다.
도 5는 본 발명의 일 실시예에 따른 오류 발생 위치 식별 방법을 설명하기 위한 개념도이다.
도 5에서는 8행 및 8열로 배치된 복수의 메모리 셀들에 대한 오류 발생 위치 식별을 예시적으로 설명한다. 다만, 각 행 및 열로 표시한 것들은 암호화 및 복호화 방식에 따라 물리적으로는 다수의 행 및 열에 상응하는 단위일 수 있다. 즉, 도 5에서 도시된 각 오류 발생 영역들은 복수의 메모리 셀들을 포함할 수 있다.
경판정부(253)는 각각의 행 및 열에 대하여 복호화를 수행하고, 이에 대하여 3열과 6열, 그리고 2열과 7열에서 복호화가 실패한 것으로 나타난다.
만일 하나의 행 및 열에 대해서만 신드롬 생성을 수행한다면, 3열이 오류가 생성된 것으로 판단되면 7열의 오류는 정정이 불가능하며, 이는 행의 경우도 마찬가지이다.
따라서 본 발명의 일 실시예에 따른 경판정부(2533)는 복수의 행 및 열들에 대하여 독립적으로 신드롬을 생성함으로써, 2행 3열, 2행 6열, 7행 3열 및 7행 6열에서 오류가 발생한 것으로 판단하고 오류 발생 위치를 생성할 수 있다.
따라서, 한 번의 복호화 동작으로 오류가 발생한 메모리 셀들을 대부분 파악할 수 있게 되어 보다 많은 오류를 정정할 수 있으며 오류 정정에 소요되는 시간도 줄일 수 있다.
도 6은 본 발명의 일 실시예에 따른 연판정부의 저신뢰도 위치 판별 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 메모리 셀 어레이(350)에 포함된 복수의 메모리 셀들은 4 가지 상태를 가질 수 있으며, 이들 각각에 대하여 MSB(Most significant bit)와 LSB(Least significant bit)을 설정하여 2 비트의 데이터를 저장할 수 있다.
문턱 전압의 값을 기준으로 각각의 상태를 소거 상태(Erase), 제1 상태(PV1), 제2 상태(PV2), 및 제3 상태(PV3)로 분류하여 나타낼 수 있다. 이와 같은 상태의 구분은 특정한 전압 값을 판독 전압으로 인가하였을 경우, 메모리 셀에 포함된 트랜지스터가 온 이거나 오프되는 것을 기준으로 한 것이다.
예를 들어, Vr1의 판독 전압을 인가하였을 경우, Vr1보다 큰 문턱 전압을 가지는 제1 상태(PV1), 제2 상태(PV2) 및 제3 상태(PV3)의 셀들은 모두 턴 오프되며, 소거 상태(Erase)의 셀만이 턴 온 된다.
그런데 Vr1, Vr2, Vr3의 판독 전압들을 사이에 두고 점선으로 표시한 경계 부분에 위치한 메모리 셀들은 소거 상태(Erase)에 있는 것으로 판별되어야 함에도 제1 상태(PV1)에 있는 것으로 판단되거나, 제2 상태(PV2)에 있는 것으로 판단되어야 함에도 제3 상태(PV3)에 있는 것으로 판단될 수 있다.
판독 전압에 따른 온 오프 여부는 문턱 전압의 변이에 따라서 상이해질 수 있는데, 예를 들어, 메모리 셀에 포함된 플로팅 게이트 상에 전자가 과도하게 또는 과소하게 주입된 경우에 문턱 전압이 본래 상태보다 커지거나 작아질 수 있다. 따라서 의도하고자 하는 상태와 다른 상태로 판단될 수 있다.
따라서 각 상태들의 경계를 넓게 하면 경계 상태에 있는 메모리 셀들이 줄어들어, 메모리를 다르게 판단하는 경우가 줄어든다. 결국, 데이터 신뢰성 확보를 위해서는 판독 마진을 확보하는 것이 중요하다. 그러나 전자 기기가 소형화됨에 따라 동작 전압이 낮아져, 판독 마진을 확보하는 것은 쉽지 않다.
본 발명에서는 판독 전압의 경계를 사이에 두고, 일정한 전압 반경(R)에 있는 메모리 셀들이 저신뢰도 셀로 판별된다. 판독 전압을 사이에 두고 일정한 전압 반경(R)에 있는 메모리 셀들은 문턱 전압이 두 가지 상태로 판별될 수 있는 범위에 있기 때문에 신뢰도를 담보할 수 없기 때문이다.
각 상태의 경계면들을 확대하여 도면의 하단에 나타내었다. 이상적인 경우, r0 전압을 경계로 하여 셀들의 상태가 나뉜다.
예를 들어, 'A'영역을 확대한 것이라고 할 때, r0의 판독 전압을 메모리 셀에 인가하였을 경우, 소거 상태(Erase)에 있는 메모리 셀들은 턴-온되고, 제1 상태(PV1)에 있는 메모리 셀들은 턴-오프 되어야 한다.
그런데, 소거 상태(Erase)로 판독되어야 할 메모리 셀들 중 일부는 r0 의 판독 전압보다도 문턱 전압이 커, 턴-오프상태가 된다. 또한, 제1 상태(PV1)에 있는 것으로 판독되어야 할 메모리 셀들 중 일부는 r0의 판독 전압보다도 문턱 전압이 작아, 턴-온 상태가 된다.
연판정부(2531)는 r0의 판독 전압을 변경하여, r1의 판독 전압으로 오류 발생 위치의 메모리 셀들을 재판독한다. r1의 판독 전압으로 판독하게 되면, r0의 판독 전압으로 판독하였을 경우에는 턴 온되었던 제1 상태(PV1)의 메모리 셀들 중 일부가 턴 오프된다. 그리고 r0의 판독 전압으로 판독하였을 경우에는 턴 오프되었던 소거 상태(Erase)의 메모리 셀들 중 일부가 턴 온된다. 이와 같이 판독 전압의 변경으로 데이터 비트의 변경이 있는 메모리 셀들은 저신뢰도 셀로 판별된다.
다른 방식으로 r2의 판독 전압으로 오류 발생 위치의 메모리 셀들을 재판독한다. r2의 판독 전압으로 판독하게 되면, r0의 판독 전압으로 판독하였을 경우에는 턴 오프되었던 제1 상태(PV1)의 메모리 셀들 중 일부가 턴 온된다. 그리고 r0의 판독 전압으로 판독하였을 경우에는 턴 온 되었던 소거 상태(Erase)의 메모리 셀들 중 일부가 턴 오프된다. 유사하게 판독 전압의 변경으로 데이터 비트의 변경이 발생한 메모리 셀들이 저신뢰도 셀로 판별된다.
B, C 영역에 대해서도 마찬가지로 판독 전압을 변경하면서 메모리 셀의 데이터를 판독하면, 판독 전압(Vr2, Vr3)의 경계에 위치한 저신뢰도 메모리 셀들을 판별할 수 있다.
판독 전압을 기설정된 반경 내에서 변경하여 재판독을 수행함으로써 점선 경계 영역의 상태를 갖는 메모리 셀들이 저신뢰도 셀로 판별되고, 이에 따라 오류 발생 위치 중에서 저신뢰도 위치가 판별된다. 실시예에 따라, 오류 발생 셀들의 수는 저신뢰도 셀들의 수와 같거나 그보다 클 수 있다.
이러한 방식은 일정 범위 내의 판독 전압을 이용하는 것으로, 연판정 방식에 의하는 것으로 일컬을 수 있다.
따라서, 본 발명의 일 실시예에 따른 데이터 복호화 장치는, 경판정 방식을 통하여 오류가 있는 것으로 식별된 메모리 셀들에 대하여 연판정을 한번 더 수행하여 오류를 정정함으로써 오류 개선율을 향상시킬 수 있다.
도 7은 본 발명의 일 실시예에 따른 연판정부와 메모리 셀 어레이를 나타내는 블록도이다.
도 7을 참조하면, 연판정부(2531)는 재판독 제어기(2531_1) 및 저신뢰도 비트 판별기(2531_2)를 포함할 수 있다.
재판독 제어기(2531_1)는 경판정부(2533)로부터 오류 발생 위치(eadr)를 수신하고, 재판독 제어 신호(ercon)를 생성하여 메모리 셀 어레이(350)에 제공할 수 있다. 재판독 제어 신호(ercon)는 메모리 셀 어레이(350)의 오류 발생 위치(eadr)에 대하여 판독 전압을 달리하여 데이터를 읽어내게 함으로써 재판독 데이터(rrd)를 수신한다.
도 6을 참조하여 설명한 바와 같이, 재판독 제어 신호(ercon)는 최초에 경판정부(2533)가 수신한 판독 데이터(rd)가 어떠한 판독 전압에 기초했었는지 에 따라서 판독 데이터(rd)로부터 기설정된 크기만큼 변경된 판독 전압에 기초하여 재판독 하도록 제어한다.
예를 들어, 재판독 제어기(2531_1)는 판독 데이터(rd)가 r0의 판독 전압에 기초한 것이라면, r1의 판독 전압 또는 r2의 판독 전압에 기초하여 재판독을 수행하도록 한다. 이 경우, 기설정된 크기는 R0/2에 상응할 수 있다.
실시예에 따라, 판독 데이터(rd)의 기초가 된 실제 판독 전압(예를 들어, 도 6의 r0)으로부터 적은 크기만큼 판독 전압을 변경하였을 경우에 데이터가 변동되는 경우에는 신뢰도가 그만큼 낮은 것으로 판단할 수 있다. 결국 메모리 셀의 신뢰도는 판독 전압을 변경시킨 크기에 비례할 수 있다.
저신뢰도 비트 판별기(2531_2)는 메모리 셀 어레이(350)로부터 수신된 재판독 데이터(rrd)와 기존의 판독 데이터(rd)를 비교하여 플립이 발생한 비트를 판별한다. 비트 플립이 일어났다는 것은 판독 전압의 변경에 따라서 상태 변경이 발생한 것으로, 도 6에서 도시한 경계 영역에 위치한 것으로 이해할 수 있다.
저신뢰도 비트 판별기(2531_2)는 저신뢰도 셀을 판별하여 저신뢰도 위치(lr)를 오류 정정부(2535)로 전달한다. 실시예에 따라, 저신뢰도 위치(lr)에 포함된 메모리 셀들의 수는 오류 발생 위치(eadr)에 포함된 메모리 셀들의 수보다 적거나 같을 수 있다.
실시예에 따라, 메모리 셀 어레이(350)에 포함된 메모리 셀들 각각은 하나 이상의 비트를 저장할 수 있는데, 저신뢰도 셀은 해당 셀에서 적어도 하나의 비트에서 비트 플립이 발생한 경우를 의미할 수도 있다. 나아가 메모리 셀이 다수의 비트를 포함하는 경우에도 판독 전압에 따라서 변동되는 비트 자체를 판별할 수 있으므로 저신뢰도 위치(lr)는 저신뢰도 셀의 위치뿐만 아니라, 저신뢰도 셀의 어느 비트가 신뢰도가 낮은지에 대한 정보를 포함할 수도 있다.
오류 정정부(2535)는 저신뢰도 위치(lr)의 메모리 셀의 판독 데이터(rd)에 대한 오류를 정정하여 정정 판독 데이터(crd)로서 경판정부(2533)에 제공할 수 있다.
실시예에 따라, 오류 정정부(2535)는 저신뢰도 셀로 판별된 메모리 셀들 중에서 판독 데이터(rd)의 적어도 하나의 비트를 플립시켜 정정 판독 데이터(crd)를 생성할 수 있다. 또한 실시예에 따라 저신뢰도 셀로 판별된 메모리 셀들 중에서 메모리 셀들 내의 복수의 비트들 중에서 저신뢰도 비트로 판단된 비트를 플립시켜 정정 판독 데이터(crd)를 생성할 수 있다.
본 발명의 일 실시예에 따른 데이터 복호화 장치(10)는 정정 판독 데이터(crd)에 대하여 경판정부(2533)에서 TPC 복호를 통하여 오류 여부를 다시 판단하고, 연판정부(2533)에서 오류 여부에 기초하여 판독 전압을 변경시켜가며 다시 연판정을 수행할 수 있다.
다른 실시예에서는 경판정부(2533)에서 TPC 복호 실패가 일어난 경우, 다시 오류 정정부(2535)에 제공하여 오류를 정정하도록 할 수 있다.
정리하면, 재판독 이후에 생성된 오류 정정 데이터(crd)에 대한 오류 여부 판단은 경판정부(2533)와 연판정부(2531)에서 선택적으로 이루어질 수 있으며, 반복적으로 오류 여부 판단과 오류 정정 과정을 진행한 이후, 전체 복호화 동작이 종료될 수 있다.
반복적인 오류 여부 판단과 오류 정정 과정은 기설정된 횟수만큼 이루어질 수 있다. 여기서 기설정된 횟수는 컨트롤러(200) 또는 호스트(100)에서 설정될 수 있다.
도 8은 본 발명의 일 실시예에 따른 데이터 복호화 방법을 설명하기 위한 흐름도이다.
도 1 내지 도 8을 참조하여, 본 발명의 일 실시예에 따른 데이터 복호화 방법을 설명하도록 한다.
오류 정정 유닛(250)은 메모리 셀 어레이(350)로부터 데이터를 판독한다 (단계 S810). 오류 정정 유닛(250)은 컨트롤러(200)로부터 수신한 어드레스에 기초하여 메모리 셀 어레이(350)의 특정한 위치로부터 데이터를 판독할 수 있다.
수신된 판독 데이터(rd)에 대하여 경판정부(253)가 오류 여부를 판단한다 (단계 S820). 경판정부(253)는 기설정된 복호화 방식에 기초하여 판독 데이터(rd)의 오류 여부를 판단하고 오류 발생 위치를 식별할 수 있다.
도 4를 참조하여 설명한 바와 같이, 경판정부(253)는 TPC 복호화 방식에 따라 신드롬(syn)을 생성하여 오류 여부를 판단하고, 생성된 신드롬(syn)에 기초하여 오류 발생 위치를 식별할 수 있다.
복호화가 성공하면(단계 S830, 예), 해당 메모리 셀에 대해서는 오류가 발생하지 않았으므로 복호화가 종료된다.
다만, 복호화가 성공하지 못하면(단계 S830, 아니오), 오류 발생 위치(eadr)에 기초하여 연판정부(2531)가 해당 메모리 셀을 재판독한다 (단계 S840). 구체적으로 도 6 및 도 7을 참조하여 설명한 바와 같이, 연판정부(2531)는 판독 전압을 기설정된 크기만큼 변화시켜 메모리 셀 어레이(350)를 재판독한다.
연판정부(2531)는 재판독 데이터(rrd)의 비트 플립이 발생하는 것에 따라서 오류 발생 위치 중에서 저신뢰도 위치(lr)를 판별한다 (단계 S850).
오류 정정부(2535)는 판독 데이터(rd) 중에서 저신뢰도 위치(lr)에서의 비트를 적어도 하나 이상 플립 시킴으로써 오류 정정 데이터(crd)를 생성한다 (단계 S860).
오류 정정 데이터(crd)는 다시 경판정부(2533)에 제공되어 단계 S820 내지 단계 S860을 반복할 수 있다.
실시예에 따라 이러한 단계들의 반복은 기설정된 횟수만큼만 수행될 수 있으며, 다른 실시예에서는 경판정부(2533)와 연판정부(2531)를 통하여 한번 오류가 정정된 데이터에 대해서는 경판정 방식에 의해서만 오류 여부를 판별할 수도 있다.
설명한 바와 같이 본 발명의 일 실시예에 따른 데이터 복호화 장치 및 데이터 복호화 방법은 경판정 방식에 의하여 행 및 열에 대하여 독립적으로 오류 여부를 판단한 이후, 오류가 발생한 위치에 대하여 연판정 방식으로 신뢰도가 낮은 비트를 판단할 수 있다. 경판정 방식과 연판정 방식을 통하여 판단된 오류를 정정함으로써 BER 를 줄일 수 있다.
나아가, 본 발명의 실시예들에 따른 데이터 복호화 장치 및 데이터 복호화 방법은 TPC 방식을 사용한 경판정 복호화를 보완할 수 있는 연판정 복호화 방식을 함께 사용함으로써 복호화 성능을 향상시킬 수 있다.
이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
100 : 호스트
200 : 컨트롤러
300 : 메모리 장치
10 : 데이터 복호화 장치

Claims (16)

  1. 판독된 데이터의 오류 여부를 기설정된 복호화 방식에 기초하여 판단하고, 오류 발생 위치를 식별하는 제1 판정부;
    상기 오류 발생 위치에 대하여 기설정된 범위를 갖는 판독 전압에 기초하여 신뢰도를 검사함으로써 상기 오류 발생 위치 중에서 저신뢰도 위치를 판별하는 제2 판정부; 및
    상기 저신뢰도 위치의 오류를 정정하여 오류 정정 데이터를 생성하는 오류 정정부를 포함하는 것을 특징으로 하는 데이터 복호화 장치.
  2. 청구항 1에 있어서,
    상기 제1 판정부는,
    상기 오류 정정부로부터 수신한 상기 오류 정정 데이터에 대하여 상기 기설정된 복호화 방식에 기초하여 오류 여부를 다시 판단하는 것을 특징으로 하는 데이터 복호화 장치.
  3. 청구항 1에 있어서,
    복수의 행들 및 복수의 열들이 교차하는 영역에 배치된 복수의 메모리 셀들을 더 포함하며,
    상기 제1 판정부는 상기 기설정된 복호화 방식에 기초하여 상기 복수의 행들과 상기 복수의 열들 중에서 오류가 발생한 행 및 열의 위치를 식별하여 상기 오류 발생 위치를 식별하는 것을 특징으로 하는 데이터 복호화 장치.
  4. 청구항 3에 있어서,
    상기 제2 판정부는
    상기 오류 발생 위치에 포함된 상기 오류 행의 위치 및 오류 열의 위치에 존재하는 메모리 셀들에 대하여 상기 판독 전압을 상기 기설정된 범위 내에서 변화시켜가며 데이터를 재판독하여 재판독된 데이터와 상기 판독된 데이터를 비교하여 상기 저신뢰도 위치를 판별하는 것을 특징으로 하는 데이터 복호화 장치.
  5. 청구항 3에 있어서,
    상기 오류 정정부는
    상기 저신뢰도 위치의 판독된 데이터에 포함된 비트를 반전시켜 상기 제1 판정부에 상기 오류 정정 데이터를 제공하는 것을 특징으로 하는 데이터 복호화 장치.
  6. 청구항 3에 있어서,
    상기 판독된 데이터는 기입 비트 및 오류 정정 코드를 포함하는 것을 특징으로 하는 데이터 복호화 장치.
  7. 청구항 6에 있어서,
    상기 메모리 셀들의 기설정된 위치에 기입할 상기 기입 비트들을 제공하는 호스트를 더 포함하는 것을 특징으로 하는 데이터 복호화 장치.
  8. 청구항 6에 있어서,
    상기 기입 비트들에 기초하여 상기 오류 정정 코드를 생성하여 상기 메모리 셀들에 기입하도록 하는 인코더를 더 포함하는 것을 특징으로 하는 데이터 복호화 장치.
  9. 청구항 3에 있어서,
    상기 복수의 셀들은 비휘발성 메모리 셀들인 것을 특징으로 하는 데이터 복호화 장치.
  10. 기설정된 복호화 방식에 기초하여 데이터의 오류 여부를 판단하고 오류 발생 위치를 식별하는 제1 단계;
    판독 전압을 달리하면서 상기 오류 발생 위치의 데이터를 재판독하여 상기 오류 발생 위치 중에서 저신뢰도 위치를 판별하는 제2 단계; 및
    상기 저신뢰도 위치의 오류를 정정하여 오류 정정 데이터를 생성하는 제3 단계를 포함하는 것을 특징으로 하는 데이터 복호화 방법.
  11. 청구항 10에 있어서,
    상기 생성된 오류 데이터에 대하여 상기 제1 단계 및 제2 단계 중 적어도 하나의 단계를 반복하는 단계를 더 포함하는 것을 특징으로 하는 데이터 복호화 방법.
  12. 청구항 11에 있어서,
    상기 제1 단계는,
    복수의 행들 및 복수의 열들이 교차하는 영역에 배치된 복수의 메모리 셀들의 상기 복수의 행들과 상기 복수의 열들에 대하여 독립적으로 신드롬(Syndrome)을 생성하는 단계; 및
    상기 생성된 신드롬에 기초하여 상기 오류 발생 위치의 행 부호 및 열 부호를 식별하는 단계를 포함하는 것을 특징으로 하는 데이터 복호화 방법.
  13. 청구항 12에 있어서,
    상기 생성된 신드롬에 기초하여 상기 오류 발생 위치의 행 부호 및 열 부호를 식별하는 단계는,
    벨레캠프-메시 알고리즘 및 치엔 탐색 알고리즘을 사용하는 것을 특징으로 하는 데이터 복호화 방법.
  14. 청구항 12에 있어서,
    상기 제2 단계는,
    상기 판독 전압을 변경시키면서 상기 복수의 메모리 셀들 중 상기 오류 발생 위치의 데이터를 재판독하는 단계; 및
    상기 재판독된 데이터의 데이터 플립이 발생하는 경우, 상기 저신뢰도 위치로 판별하는 것을 특징으로 하는 데이터 복호화 방법.
  15. 청구항 10에 있어서,
    상기 제3 단계는,
    상기 저신뢰도 위치의 상기 판독된 데이터의 비트를 반전시키는 것을 특징으로 하는 데이터 복호화 방법.
  16. 청구항 10에 있어서,
    상기 데이터는 기입 비트 및 오류 정정 코드를 포함하는 것을 특징으로 하는 데이터 복호화 방법.
KR1020130155545A 2013-12-13 2013-12-13 데이터 복호화 장치 및 데이터 복호화 방법 KR102133209B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130155545A KR102133209B1 (ko) 2013-12-13 2013-12-13 데이터 복호화 장치 및 데이터 복호화 방법
US14/254,659 US9417953B2 (en) 2013-12-13 2014-04-16 Apparatus and method for decoding data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130155545A KR102133209B1 (ko) 2013-12-13 2013-12-13 데이터 복호화 장치 및 데이터 복호화 방법

Publications (2)

Publication Number Publication Date
KR20150069291A true KR20150069291A (ko) 2015-06-23
KR102133209B1 KR102133209B1 (ko) 2020-07-14

Family

ID=53369307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130155545A KR102133209B1 (ko) 2013-12-13 2013-12-13 데이터 복호화 장치 및 데이터 복호화 방법

Country Status (2)

Country Link
US (1) US9417953B2 (ko)
KR (1) KR102133209B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6657634B2 (ja) * 2015-07-24 2020-03-04 ソニー株式会社 符号化装置、メモリシステム、通信システムおよび符号化方法
TWI668695B (zh) * 2018-07-24 2019-08-11 群聯電子股份有限公司 電壓調整方法、記憶體控制電路單元以及記憶體儲存裝置
US11824556B1 (en) * 2022-07-25 2023-11-21 Samsung Electronics Co., Ltd. Error correction using soft decision bits and multiple hypotheses

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199149A1 (en) * 2007-12-05 2010-08-05 Hanan Weingarten Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of "first below" cells
US8365030B1 (en) * 2009-03-30 2013-01-29 Samsung Electronics Co., Ltd. Nonvolatile memory devices and error correction methods thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10211334B4 (de) 2002-03-14 2010-07-22 Rohde & Schwarz Gmbh & Co. Kg Verfahren zum Messen der effektiven Direktivität und/oder effektiven Quelltor-Anpassung eines systemkalibrierten vektoriellen Netzwerkanalysators und Kalibrierstandard-Satz
JP4946249B2 (ja) * 2006-08-07 2012-06-06 富士通セミコンダクター株式会社 Eccのコード長が変更可能な半導体メモリ装置
US8510633B2 (en) * 2007-04-17 2013-08-13 Nec Corporation Semiconductor storage device and method of operating the same
JP2009070509A (ja) * 2007-09-14 2009-04-02 Oki Electric Ind Co Ltd 半導体記憶装置
TW200943741A (en) * 2008-04-10 2009-10-16 Univ Nat Chiao Tung Decoding method and device suitable for shortened BCH codes or Reed-Solomon codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199149A1 (en) * 2007-12-05 2010-08-05 Hanan Weingarten Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of "first below" cells
US8365030B1 (en) * 2009-03-30 2013-01-29 Samsung Electronics Co., Ltd. Nonvolatile memory devices and error correction methods thereof

Also Published As

Publication number Publication date
US20150170765A1 (en) 2015-06-18
KR102133209B1 (ko) 2020-07-14
US9417953B2 (en) 2016-08-16

Similar Documents

Publication Publication Date Title
US20210035632A1 (en) Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
KR101696389B1 (ko) 비트 값들의 저장된 총계를 이용하여 데이터 에러들을 보정하는 시스템 및 방법
TWI574277B (zh) 記憶體裝置中之錯誤校正操作
US8112689B2 (en) ECC controller for use in flash memory device and memory system including the same
TWI594254B (zh) 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置
JP5297380B2 (ja) ソフト入力ソフト出力(siso)復号器を有する不揮発性メモリにおける統計ユニットおよび適応操作
US20190252035A1 (en) Decoding method, memory storage device and memory control circuit unit
US8826099B2 (en) Memory controller, semiconductor memory system, and memory control method
US20170123891A1 (en) Write mapping to mitigate hard errors via soft-decision decoding
US11868639B2 (en) Providing recovered data to a new memory cell at a memory sub-system based on an unsuccessful error correction operation
TWI514388B (zh) 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統
KR102257050B1 (ko) 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
US20140053041A1 (en) Nonvolatile semiconductor memory system error correction capability of which is improved
KR20130027138A (ko) 에러 정정 방법 및 이를 이용하는 메모리 장치
CN111415692B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
TWI725368B (zh) 解碼方法、記憶體控制電路單元以及記憶體儲存裝置
KR102661931B1 (ko) 오류 정정 코드를 지원하는 장치 및 그것의 테스트 방법
TW201337932A (zh) 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統
KR102133209B1 (ko) 데이터 복호화 장치 및 데이터 복호화 방법
KR20180123393A (ko) Siso 복호 방법, 디코더 및 반도체 메모리 시스템
KR20210010718A (ko) 메모리 시스템 및 메모리 시스템에서의 에러정정방법
KR101308616B1 (ko) 비휘발성 메모리 시스템
US20240054046A1 (en) Error-handling management during copyback operations in memory devices
CN111508546B (zh) 解码方法、存储器控制电路单元与存储器存储装置
KR20220034341A (ko) 메모리 컨트롤러, 스토리지 장치 및 메모리 컨트롤러의 구동방법

Legal Events

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