[go: up one dir, main page]

KR100643288B1 - 플래시 메모리의 데이터 처리 장치 및 방법 - Google Patents

플래시 메모리의 데이터 처리 장치 및 방법 Download PDF

Info

Publication number
KR100643288B1
KR100643288B1 KR1020040093607A KR20040093607A KR100643288B1 KR 100643288 B1 KR100643288 B1 KR 100643288B1 KR 1020040093607 A KR1020040093607 A KR 1020040093607A KR 20040093607 A KR20040093607 A KR 20040093607A KR 100643288 B1 KR100643288 B1 KR 100643288B1
Authority
KR
South Korea
Prior art keywords
ecc
data
extracted
error
flash memory
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
KR1020040093607A
Other languages
English (en)
Other versions
KR20060054538A (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 KR1020040093607A priority Critical patent/KR100643288B1/ko
Priority to US11/274,115 priority patent/US7613982B2/en
Publication of KR20060054538A publication Critical patent/KR20060054538A/ko
Application granted granted Critical
Publication of KR100643288B1 publication Critical patent/KR100643288B1/ko
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Landscapes

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

Abstract

본 발명은 플래시 메모리의 데이터 처리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 플래시 메모리의 데이터에 대한 유효성을 용이하게 판단할 수 있는 플래시 메모리의 데이터 처리 장치 및 방법에 관한 것이다.
본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 장치는, 소정의 논리 주소를 이용하여 데이터 연산을 요청하는 사용자 요청부와, 상기 논리 주소를 물리 주소로 변환하는 변환부와, 상기 변환된 물리 주소에 상기 요청된 데이터 연산을 수행하고, 상기 데이터에 대한 에러 정정 코드(Error Correction Code, 이하 ECC라 함)의 인버트된 데이터를 상기 ECC의 에러 발생 여부를 나타내는 영역에 기록하는 제어부를 포함한다.
플래시 메모리, ECC

Description

플래시 메모리의 데이터 처리 장치 및 방법{Data processing device and method for flash memory}
도 1a는 일반적인 소블럭 플래시 메모리의 구조가 도시된 도면.
도 1b는 일반적인 대블럭 플래시 메모리의 구조가 도시된 도면.
도 2는 종래의 기술에 따른 플래시 메모리에서의 데이터 영역 및 ECC 영역이 도시된 도면.
도 3은 종래의 기술에 따른 ECC를 통해 플래시 메모리에 발생한 에러를 검출 및 정정하는 방법이 도시된 도면.
도 4a는 종래의 기술에 따른 플래시 메모리의 데이터에 발생한 에러가 도시된 도면.
도 4b는 종래의 기술에 따른 플래시 메모리의 데이터에서의 잘못된 에러 정정이 도시된 도면.
도 5는 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 장치가 도시된 도면.
도 6은 본 발명의 실시예에 따른 플래시 메모리의 구조가 도시된 도면.
도 7은 본 발명의 실시예에 따라 플래시 메모리에 ECC 및 인버트된 데이터를 기록하는 방법이 도시된 도면.
도 8은 본 발명의 실시예에 따라 기록된 ECC 및 인버트된 데이터가 도시된 도면.
도 9는 본 발명의 실시예에 따른 ECC 및 인버트된 데이터를 통해 에러를 검출하고 정정하는 방법이 도시된 도면.
도 10a는 본 발명의 실시예에 따른 플래시 메모리에서 1비트 에러가 발생한 ECC가 도시된 도면.
도 10b는 본 발명의 실시예에 다른 플래시 메모리에서 2비트 에러가 발생한 ECC가 도시된 도면.
<도면의 주요 부분에 관한 부호의 설명>
100: 사용자 요청부 200: 변환부
300: 제어부 400: 디바이스 드라이버
500: 추출부
본 발명은 플래시 메모리의 데이터 처리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 플래시 메모리의 데이터에 대한 유효성을 용이하게 판단할 수 있는 플래시 메모리의 데이터 처리 장치 및 방법에 관한 것이다.
일반적으로, 가전 기기, 통신 기기, 셋탑 박스 등의 내장형 시스템(Embedded System)에서는 데이터를 저장하고 처리하기 위한 저장 매체로 비휘발성 메모리가 많이 사용되고 있다.
비휘발성 메모리 중에서 주로 사용되는 플래시 메모리는 전기적으로 데이터를 삭제하거나 다시 기록할 수 있는 비휘발성 기억 소자로서, 마그네틱 디스크 메모리를 기반으로 하는 저장 매체에 비해 전력 소모가 적으면서도 하드 디스크와 같은 빠른 액세스 타임(Access Time)을 가지며 크기가 작기 때문에 휴대 기기 등에 적합하다.
플래시 메모리는 하드웨어적 특성상 이미 기록된 데이터에 재기록을 수행할 경우, 해당 데이터가 기록된 블록 전체를 삭제하는 과정이 필요하다.
이와 같이, 플래시 메모리에서 데이터의 기록 및 삭제 단위의 불일치로 발생할 수 있는 성능 저하를 방지하기 위하여 논리 주소와 물리 주소의 개념이 도입되었다.
이때, 논리 주소는 사용자가 소정의 사용자 프로그램을 통하여 플래시 메모리에서 소정의 데이터 연산을 수행할 경우 사용되는 주소이고, 물리 주소는 실제 플래시 메모리에 소정의 데이터 연산을 수행될 경우 사용되는 주소이다.
또한, 플래시 메모리는 일반적으로 소블록 플래시 메모리와 대블록 플래시 메모리로 구분되는데, 소블록 플래시 메모리는 논리적인 연산 단위와 물리적인 기록 연산 단위가 동일한 반면, 대블록 플래시 메모리는 논리적인 연산 단위에 비하여 물리적인 기록 연산 단위가 큰 특성을 가진다.
도 1a및 도 1b는 일반적인 소블럭 플래시 메모리와 대블럭 플래시 메모리의 개략적인 구조가 도시된 도면이다.
소블럭 플래시 메모리는 도 1a에 도시된 바와 같이, 논리적인 연산 단위인 섹터(11)와, 물리적인 연산 단위인 페이지(12)가 동일한 것을 알 수 있다.
한편, 대블럭 플래시 메모리는 도 1b에 도시된 바와 같이, 적어도 하나 이상의 논리적인 연산 단위인 섹터(21)가 모여 하나의 물리적인 연산 단위인 페이지(22)를 이루는 것을 알 수 있다.
플래시 메모리를 기반으로 하는 시스템은 그 응용 분야의 특성상 예측하지 못한 전원 공급 중단이 자주 발생하게 된다. 따라서, 플래시 메모리 동작 중 전원이 중단될 경우에 대한 대비가 필수적으로 요구된다.
구체적으로, 플래시 메모리에 소정의 데이터를 기록하는 경우과 삭제하는 경우를 살펴보기로 한다. 우선, 플래시 메모리에 소정의 데이터를 기록하는 도중 전원 공급이 중단되면, 플래시 메모리에 기록하려 했던 데이터의 일부는 기록되고, 다른 일부는 기록되지 않는 경우가 발생하게 된다. 한편, 플래시 메모리에서 소정의 데이터를 삭제하는 도중 전원 공급이 중단되면, 플래시 메모리에서 지우려 했던 데이터의 일부는 지워지고, 다른 일부는 지워지지 않는 경우가 발생하게 된다.
따라서, 플래시 메모리에서의 데이터 기록 및 지우기와 같은 데이터 연산이 완료되기 전에 예측하지 못한 전원 공급 차단이 발생된 경우, 플래시 메모리의 데이터에 대한 유효성을 판단할 수 있는 다양한 방법이 제안되고 있다.
종래에는 연산중 전원 공급 중단, 쓰기 방해(write disturbance) 등의 예측하지 못한 상황 발생시, 플래시 메모리의 데이터에 대한 유효성을 판단하기 위해 에러 정정 코드(Error Correction Code, 이하 ECC라 함)를 사용하였다. 이러한 ECC 는 ECC 자신과 데이터에 대한 에러를 검출하고, 경우에 따라 검출된 에러를 정정하게 된다.
구체적으로, 플래시 메모리는 도 2에 도시된 바와 같이, 데이터 영역(31)과 ECC 영역(32)으로 이루어진 다수개의 페이지(33)가 모여 하나의 블록(34)을 구성한다.
또한, 플래시 메모리는 물리적 특성상 기록 장애(Write Disturbance)로 인해 1 비트 에러가 발생할 확률이 높다. 이때, ECC는 1 비트 에러에 대해서는 검출 및 정정이 가능하고, 2 비트 내지 m-1비트 에러에 대해서는 검출만이 가능하며, m비트 이상에 대해서는 정의되지 않은 상태이다. 따라서, m비트 이상의 에러에 대해서는 에러를 검출하지 못할수도 있고, 잘못된 정정이 이루어질 수 있는 가능성을 가지게 된다. 따라서, 플래시 메모리에 데이터 연산시 해당 데이터의 ECC를 함께 기록하여 플래시 메모리에서 전원 차단 등의 예측하지 못한 상황이 발생한 경우, 플래시 메모리의 데이터에 에러가 발생하였는지 검출하고, 검출된 에러를 정정하게 된다.
도 3는 ECC를 통해 에러를 검출하고, 검출된 에러를 정정하는 방법을 도시하고 있다.
도시된 바와 같이, 먼저 플래시 메모리로부터 데이터 및 데이터의 ECC를 추출한다(S10).
이때, 추출된 데이터를 통해 ECC를 다시 생성하게 된다(S20). 이때, 생성되는 ECC는 추출된 ECC와 동일한 알고리즘을 통해 생성된다.
생성된 ECC와 추출된 ECC를 비교하여 일치하는지의 여부를 판단하게 된다 (S30). 판단 결과 생성된 ECC와 추출된 ECC가 일치하지 않는 경우에는 추출된 데이터 및 ECC에 발생한 에러를 검출하는 과정을 거치게 된다.
이하, ECC에 의해 1비트 에러는 검출 및 정정 가능하고, 2비트 에러는 검출만 가능하며, 3비트 이상의 에러는 정의되지 않아 에러를 검출하지 못할수도 있고, 잘못된 정정이 이루어질 수 있는 가능성이 존재하는 경우를 예를 들어 설명한다.
다시 말해서, 추출된 데이터 및 ECC에서 1비트 에러가 발생한 경우(S40), 발생한 에러에 대해서 1비트 에러 정정이 수행된다(S50).또한, 1비트 에러 정정이 수행되면, 추출된 데이터는 유효한 것으로 판단된다(S60).
만일, 추출된 데이터 및 ECC에서 2비트 에러가 발생한 경우, 발생한 에러에 대해서 에러 발생 메시지를 발생한다(S70). 이때, 2비트 에러의 경우 검출만 가능하기 때문에 추출된 데이터는 유효하지 않은 것으로 판단된다(S80).
한편, 생성된 ECC와 추출된 ECC가 일치하는 경우 추출된 데이터는 유효한 것으로 판단한다.
이때, 추출된 데이터 및 ECC에서 3비트 에러가 발생한 경우, ECC는 데이터에 대한 잘못된 정정을 수행하여 에러가 없는 상태로 진행되는 경우가 발생하게 된다. 예를 들어, 추출된 데이터에서 1비트 에러가 발생하고 추출된 ECC에서 2비트 에러가 발생하게 되면 ECC는 잘못된 정정을 수행하여 유효하지 않은 데이터가 유효한 것으로 판단되는 경우가 발생할 수 있다.
구체적으로, 도 4a와 같이 플래시 메모리에 데이터가 존재하는 데이터 영역(31)에 1비트 에러가 발생하고 ECC 영역(32)에 2비트 에러가 발생하여 총 3비트의 에러가 발생하게 되면, 도 4b와 같이 ECC는 잘못된 에러 정정으로 인해 에러가 발생한 비트가 아닌 다른 비트를 정정하게 되는 경우가 발생하는 것이다. 따라서, 3비트 이상 에러 발생으로 인한 잘못된 에러 정정이 발생하는 경우를 최소화시킬 수 있는 방안이 요구되고 있다.
본 발명은 플래시 메모리에 소정의 데이터 연산을 수행하는 도중 예측하지 못한 상황 발생으로 인한 데이터 연산이 불완전하게 수행된 경우 데이터의 유효성을 용이하게 판단할 수 있는 플래시 메모리의 데이터 처리 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 장치는, 소정의 논리 주소를 이용하여 데이터 연산을 요청하는 사용자 요청부와, 상기 논리 주소를 물리 주소로 변환하는 변환부와, 상기 변환된 물리 주소에 상기 요청된 데이터 연산을 수행하고, 상기 데이터에 대한 ECC 의 인버트된 데이터를 상기 ECC의 에러 발생 여부를 나타내는 영역에 기록하는 제어부를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 플래시 메모 리의 데이터 처리 장치는, 소정의 논리 주소에 존재하는 데이터에 대한 ECC 및 상기 ECC의 인버트된 데이터를 추출하는 추출부와, 상기 추출된 ECC 및 인버트된 데이터의 관계를 통해 상기 추출된 ECC의 에러 발생 여부 판단과 발생한 에러 비트의 수를 인식할 수 있는 제어부를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 방법은, 소정의 논리 주소를 이용하여 소정의 데이터 연산이 요청되는 단계와, 상기 논리 주소가 물리 주소로 변환되는 단계와, 상기 변환된 물리 주소에 상기 요청된 데이터 연산을 수행하고, 상기 데이터에 대한 ECC의 인버트된 데이터를 상기 ECC의 에러 발생 여부를 나타내는 영역에 기록하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 방법은, 소정의 논리 주소에 존재하는 데이터에 대한 ECC 및 상기 ECC의 인버트된 데이터를 추출하는 단계와, 상기 추출된 ECC 및 인버트된 데이터의 관계를 통해 상기 추출된 ECC의 에러 발생 여부 판단과 에러가 발생한 비트의 수를 인식할 수 있는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태 로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범수를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
일반적으로 플래시 메모리는 크게 소블럭 플래시 메모리와 대블럭 플래시 메모리로 나누어진다.
소블럭 플래시 메모리는 실제 물리적인 연산 단위와 논리적인 기록 연산 단위가 동일한 반면, 상기 대블럭 플래시 메모리는 실제 물리적인 기록 연산 단위가 상기 논리적인 연산 단위보다 큰 크기를 가진다.
여기서, 논리적인 연산 단위는 흔히 섹터로 칭하며, 사용자가 소정의 사용자 프로그램을 통하여 상기 플래시 메모리로의 데이터 연산 즉, 데이터의 기록 및 삭제 등의 연산 단위이다.
또한, 물리적인 연산 단위는 흔히 페이지라 칭하며, 실제 플래시 메모리에서 데이터 연산, 예를 들어 데이터 기록 등의 연산 단위이다.
이때, 논리적인 연산 단위 및 물리적인 연산 단위는 섹터 및 페이지에 국한되지 않고 사용하는 장치에 따라 다양한 단위로 사용될 수 있다.
이때, 각 섹터에 데이터 연산시, 전원 공급 중단 등의 예측하지 못한 상황이 발생한 경우, 각 섹터의 데이터에 대한 유효성을 판단하기 위해 데이터와 더불어 ECC를 기록하게 된다. 이러한 ECC는 데이터 및 ECC 자체에 발생한 에러 검출 및 정정을 위해 사용된다.
일반적으로, ECC는 1비트 에러에 대해서는 에러 검출 및 정정이 가능하고, 2비트 내지 m-1비트 에러까지는 에러 검출만이 가능하며, m비트 이상의 에러에 대해서는 그 동작이 정의되어 있지 않다. 이때, m은 ECC 알고리즘의 종류와 구형 방법에 따라 결정될 수 있다. 본 발명의 실시예에서는 m이 3인 경우 즉, ECC가 1비트 에러에 대해서는 에러 검출 및 정정이 가능하고, 2비트 에러에 대해서는 에러 검출만 가능하며, 3비트 이상의 에러에 대해서 그 동작이 정의되지 않은 경우를 예를 들어 설명하기로 한다.
이때, 플래시 메모리의 데이터 및 ECC에서 3비트 이상의 에러가 발생한 경우, 발생한 에러가 검출되지 않을수도 있고 잘못된 정정을 수행할 수 있는 가능성을 포함하게 된다. 따라서, 본 발명의 실시예는 3비트 이상의 에러가 발생한 경우, 잘못된 정정이 수행되는 가능성을 최소화 시킬 수 있는 플래시 메모리의 데이터 처리 장치에 관한 것으로서, 도 5는 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 장치의 구조를 개략적으로 도시하고 있다.
도시된 바와 같이, 본 발명의 실시예에 따른 따른 플래시 메모리의 데이터 처리 장치는, 사용자가 소정의 논리 주소를 이용하여 플래시 메모리에서의 데이터 연산을 요청하는 사용자 요청부(100)와, 논리 주소를 물리 주소로 변환하는 변환부(200)와, 변환된 물리 주소에 따라 플래시 메모리의 동작을 제어하는 디바이스 드라이버(400)를 통해 플래시 메모리에 소정의 데이터 연산을 수행하고, 해당 데이터 에 대한 ECC의 인버트된 데이터를 ECC의 유효성 여부를 나타내는 인덱스 영역에 기록하는 제어부(300)와, ECC의 유효성 판단시, ECC 및 인버트된 데이터를 추출하는 추출부(500)를 포함할 수 있다.
본 발명의 실시예에 따른 플래시 메모리는 도 6에 도시된 바와 같이, 적어도 하나 이상의 논리 주소를 포함하며, 데이터 연산이 이루어지는 데이터 영역(610)과, 데이터 영역(610)에 존재하는 데이터에 해당하는 ECC가 기록되는 ECC 영역(620)과, 기록된 ECC에 대한 인버트된 데이터가 기록되는 인버트 영역(630)을 포함할 수 있다. 이때, 기록되는 ECC는 주로 헤밍코드 기법을 이용하여 해당 데이터를 통해 생성되며, 생성된 ECC는 데이터 연산시 데이터와 함께 ECC 영역(620)에 기록될 수 있다. 또한, 데이터 유효성 여부를 판단하는 경우에는 데이터 영역(610)에 존재하는 데이터를 따라 ECC를 ECC 영역(620)에 기록된 ECC와 동일한 알고리즘을 통해 생성하고, 기록된 ECC와 생성된 ECC를 비교하여 데이터 영역(610) 에서 발생한 에러를 경우에 따라 검출하고, 검출된 에러를 정정할 수 있다.
여기서, 인버트된 데이터는 ECC 영역(620)에 기록된 ECC 데이터가 소정의 변환 방식을 통해 변환된 데이터로서, 본 발명의 실시예에서는 변환 방식으로 논리 주소에 기록된 데이터의 1의 보수 변환을 이루어진 경우를 예를 들어 설명하고 있으나, 이에 한정되지 않으며 인버트된 데이터를 역변환시 ECC 영역(620)에 기록된 ECC와 동일하게 되는 모든 변환 방식, 예를 들어 2의 보수 변환등이 채택될 수 있다. 예를 들어, 인버트된 데이터가 ECC의 1의 보수인 경우, ECC가 '1010'인 경우 인버트된 데이터는 '0101'이 될 수 있는 것이다.
한편, 제어부(300)는 ECC 영역(620)에 기록된 ECC 및 인버트 영역(630)에 기록된 인버트된 데이터간의 관계를 통해 ECC 영역(610)에 존재하는 ECC에서 발생한 에러를 검출할 수 있다. 이때, ECC 및 인버트된 데이터는 추출부(500)에 의해 추출되며, 제어부(300)는 추출된 ECC와 인버트된 데이터가 인버트 관계인지의 여부를 판단하여 추출된 ECC에 대한 에러를 검출할 수 있다. 구체적으로, 제어부(300)는 인버트된 데이터를 역변환하여 ECC와 동일한지의 여부를 판단하고, 판단 결과에 따라 ECC에서 발생한 에러 비트를 판단할 수 있는 것이다.
본 발명의 실시예에서는 ECC가 1비트 에러는 검출 및 정정이 가능하고, 2비트 에러는 검출만 가능하며, 3비트 이상의 에러는 정의되지 않은 상태인 경우를 예를 들어 설명하고 있으므로, 제어부(300)는 ECC의 에러 검출 결과 2비트 이상의 에러가 발생한 경우, 해당하는 데이터 영역(610), ECC영역(620) 및 인버트 영역(630)에 존재하는 데이터는 모두 유효하지 않은 것을 판단하게 된다. 이는 기존에 ECC가 3비트 이상의 에러에 대해서는 정의되지 않은 상태이기 때문에 잘못된 정정이 수행될 가능성을 포함하고 있으므로, 본 발명의 실시예에서는 잘못된 정정이 수행될 가능성 중 ECC에서 2비트 이상의 에러가 발생한 경우에 대해서는 잘못된 정정이 수행되는 것을 사전에 방지하여 잘못된 정정이 발생할 가능성을 최소화시킬 수 있다.
한편, ECC 영역(620)의 ECC에서 에러가 발생하지 않거나 1비트 에러가 발생한 경우는 기존에 데이터 영역(610)에 존재하는 데이터를 통해 ECC를 생성하고, 생성된 ECC와 ECC 영역(620)으로부터 추출된 ECC를 비교하여 에러를 검출하고, 검출된 에러를 정정하는 일련의 과정을 수행할 수 있다.
이하, 본 발명의 실시예에 따른 플래시 메모리의 데이터 처리 방법을 살펴보기로 한다.
도 7은 본 발명의 실시예에 따른 플래시 메모리의 데이터 연산 수행시 ECC에 대한 인버트된 데이터를 생성하는 방법이 도시된 도면이다.
도시된 바와 같이, 먼저 사용자가 사용자 요청부(100)를 이용하여 소정의 논리 주소에 데이터 연산을 요청한다(S110).
이때, 제어부(300)는 데이터 연산 수행 이전에 데이터 연산시 사용되는 데이터에 해당하는 ECC를 생성한다(S120).
또한, 제어부(300)는 생성된 ECC를 전술한 변환 방식을 통해 변환한 인버트된 데이터를 생성한다(S130).
구체적으로, 제어부(300)는 사용자가 요청한 데이터 연산에 사용되는 데이터를 버퍼에 로드하고, 로드된 데이터를 통해 ECC를 생성한 다음 생성된 ECC를 통해 인버트된 데이터를 생성하여 다시 버퍼에 로드하는 것이다.
구체적으로, 인버트된 데이터가 ECC의 1의 보수로 이루어진 경우를 예를 들어 설명하면, 도 8에 도시된 바와 같이, ECC 영역(620)에 기록된 ECC가 '1010'이면, 인버트 영역(630)에 기록되는 인버트된 데이터는 '0101'이 될 수 있는 것이다.
이후, 제어부(300)는 요청한 데이터 연산에 따라 데이터 영역(610)에서 데이터 연산을 수행하는 동시에 생성된 ECC 및 인버트된 데이터를 각각 ECC 영역(620) 및 인버트 영역(630)에 기록하게 된다(S140).
전술한 바와 같은 도 7의 방법을 통해 생성된 ECC 및 인버트된 데이터를 통 해 ECC 영역(620)에 기록된 ECC에서 에러 발생 여부를 판단하는 방법은 도 9과 같다.
도시된 바와 같이, 먼저 추출부(500)가 플래시 메모리의 데이터 영역(610), ECC 영역(620) 및 인버트 영역(630)으로부터 데이터, ECC 및 인버트된 데이터를 추출한다(S210).
제어부(300)는 추출된 인버트된 데이터를 역변환하여 추출된 ECC와 일치하는지의 여부를 판단한다(S220). 예를 들어, 추출된 ECC와 인버트된 데이터가 전술한 도 8과 같은 경우, 에러가 발생하지 않은 상태라면 추출된 인버트된 데이터를 역변환하면 추출된 ECC와 동일하게 된다.
판단 결과 추출된 인버트된 데이터의 역변환시 추출된 ECC와의 관계에서 1비트 에러가 발생하였는지의 여부를 판단한다(S230).
이때, 추출된 인버트된 데이터의 역변환시 추출된 ECC와 일치하거나 1비트 에러가 발생한 경우에는, 제어부(300)는 추출된 데이터를 통해 ECC를 다시 생성한다(S240). 이때, 추출된 데이터에 대해 생성된 ECC는 추출된 ECC와 동일한 알고리즘을 통해 생성된다.
구체적으로, 도 10a에 도시된 바와 같이, 추출된 ECC와 인버트된 데이터에서 1비트 에러가 발생한 경우는 1비트 에러 정정은 가능하기 때문에 정상적으로 추출된 데이터 및 ECC에서 발생한 에러 비트를 다시 검출하는 과정을 거치게 되는 것이다.
제어부(300)는 생성된 ECC와 추출된 ECC를 비교하여 불일치 하는 경우 (S250), 제어부(300)는 추출된 데이터 및 ECC에서 1비트 에러가 발생하였는지의 여부를 판단한다(S260).
판단 결과, 추출된 데이터 및 ECC에서 1비트 에러가 발생한 경우, 발생한 에러를 정정하고(S270), 에러의 정정이 완료되면 추출된 데이터는 유효한 것으로 판단한다(S280).
만일, 전술한 S230 단계에서 추출된 인버트된 데이터의 역변환시 추출된 ECC와의 관계에서 2비트 에러가 발생하거나 전술한 S260 단계에서 추출된 데이터 및 ECC에서 2비트 에러가 발생한 경우에는 에러 발생 메시지를 발생시키게 된다(S290). 또한, 본 발명의 실시예에서 2비트 에러는 검출만 가능한 경우를 예를 들어 설명하고 있으므로, 에러 발생 메시지가 발생된 후 추출된 데이터는 유효하지 않은 것으로 판단한다(S300).
구체적으로, 도 10b에 도시된 바와 같이, 추출된 ECC 및 인버트된 데이터에서 2비트 에러가 발생한 경우에는 추출된 데이터에서 에러가 발생하지 않는 경우에도 이미 2비트 에러가 발생하였기 때문에 추출된 데이터에서 1비트 이상 에러가 발생하면 3비트 이상 에러가 발생한것이기 때문에 잘못된 정정이 수행될 수 있는 가능성을 포함하게 된다. 따라서, 추출된 ECC와 인버트된 데이터 비교에서 이미 2비트 에러가 발생한 경우에는 추출된 데이터 및 ECC는 유효하지 않는 것으로 판단하게 되는 것이다.
본 발명의 실시예에서는 추출된 데이터 및 ECC에서 발생한 에러를 검출하기 이전에 추출된 ECC의 에러 발생 여부를 판단하기 때문에 추출된 ECC에서 2비트 에 러가 발생한 경우에는 추출된 데이터에서 발생한 에러의 검출 여부와 무관하게 추출된 데이터 및 ECC가 유효하지 않은 것으로 판단하게 된다. 따라서, ECC를 통해 3비트 이상의 에러가 발생한 경우 잘못된 정정이 수행되는 가능성을 ECC에서 2비트의 에러가 발생한 경우에는 배제되도록 하기 때문에 ECC에 의한 잘못된 정정이 수행될 수 있는 가능성을 최소화할 수 있게 된다.
이상과 같이 본 발명에 따른 플래시 메모리의 데이터 처리 장치 및 방법을 예시된 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않으며 그 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
상기한 바와 같은 본 발명의 플래시 메모리의 데이터 처리 장치 및 방법에 따르면, 플래시 메모리에 기록된 ECC 알고리즘에 의해 사전 지정된 비트 이상의 에러가 발생한 경우, ECC에 의한 잘못된 정정이 수행되는 확률을 낮출수 있는 효과가 있다.

Claims (14)

  1. 소정의 논리 주소를 이용하여 데이터 연산을 요청하는 사용자 요청부;
    상기 논리 주소를 물리 주소로 변환하는 변환부; 및
    상기 변환된 물리 주소에 상기 요청된 데이터 연산을 수행하고, 상기 데이터의 유효성을 판단하기 위해 추출되는 에러 정정 코드(Error Correction Code, 이하 ECC라 함) 및 상기 ECC에 발생된 에러를 검출하기 위해 상기 ECC와 함께 추출되는 상기 ECC의 인버트된 데이터를 소정 영역에 기록하는 제어부를 포함하는 플래시 메모리의 데이터 처리 장치.
  2. 제 1 항에 있어서,
    상기 인버트된 데이터는 상기 ECC의 역데이터로 이루어지는 플래시 메모리의 데이터 처리 장치.
  3. 소정의 논리 주소에 존재하는 데이터에 대한 ECC 및 상기 ECC의 인버트된 데이터를 추출하는 추출부와,
    상기 추출된 ECC 및 인버트된 데이터의 관계를 통해 상기 추출된 ECC의 에러 발생 여부 판단과 발생한 에러 비트의 수를 인식할 수 있는 제어부를 포함하는 플래시 메모리의 데이터 처리 장치.
  4. 제 3 항에 있어서,
    상기 인버트된 데이터는 상기 추출된 ECC의 역데이터로 이루어지는 플래시 메모리의 데이터 처리 장치.
  5. 제 4 항에 있어서,
    상기 제어부는 상기 인버트된 데이터의 역변환시, 상기 추출된 ECC와 동일한 경우 상기 추출된 ECC를 정상으로 판단하는 플래시 메모리의 데이터 처리 장치.
  6. 제 5 항에 있어서,
    상기 제어부는 상기 추출된 ECC에서 사전 지정된 비트 이상으로 에러가 발생한 경우, 상기 논리 주소에 존재하는 데이터, 추출된 ECC 및 인버트된 데이터가 유효하지 않은 것으로 판단하는 플래시 메모리의 데이터 처리 장치.
  7. 제 6 항에 있어서,
    상기 제어부는 상기 추출된 ECC가 상기 사전 지정된 비트 미만으로 에러가 발생한 경우, 상기 논리 주소에 존재하는 데이터를 통해 새로 생성되는 ECC와 상기 추출된 ECC를 비교하여 상기 논리 주소에 존재하는 데이터의 에러 발생 여부를 판단하는 플래시 메모리의 데이터 처리 장치.
  8. 소정의 논리 주소를 이용하여 소정의 데이터 연산이 요청되는 단계;
    상기 논리 주소가 물리 주소로 변환되는 단계; 및
    상기 변환된 물리 주소에 상기 요청된 데이터 연산이 수행되고, 상기 데이터에 대한 유효성을 판단하기 위해 추출되는 ECC 및 상기 ECC에 발생된 에러를 검출하기 위해 상기 ECC와 함께 추출되는 상기 ECC의 인버트된 데이터가 소정 영역에 기록되는 단계를 포함하는 플래시 메모리의 데이터 처리 방법.
  9. 제 8 항에 있어서,
    상기 인버트된 데이터는 상기 ECC의 역데이터로 이루어지는 플래시 메모리의 데이터 처리 방법.
  10. 소정의 논리 주소에 존재하는 데이터에 대한 ECC 및 상기 ECC의 인버트된 데이터를 추출하는 단계와,
    상기 추출된 ECC 및 인버트된 데이터의 관계를 통해 상기 추출된 ECC의 에러 발생 여부 판단과 에러가 발생한 비트의 수를 인식할 수 있는 단계를 포함하는 플래시 메모리의 데이터 처리 방법.
  11. 제 10 항에 있어서,
    상기 인버트된 데이터는 상기 추출된 ECC의 역데이터로 이루어지는 플래시 메모리의 데이터 처리 방법.
  12. 제 11 항에 있어서,
    상기 추출된 ECC의 에러 발생 여부를 판단하는 단계는, 상기 인버트된 데이 터를 역변환하는 단계와,
    상기 역변환된 데이터와 상기 추출된 ECC와 동일한 경우 상기 추출된 ECC를 정상으로 판단하는 단계를 포함하는 플래시 메모리의 데이터 처리 방법.
  13. 제 12 항에 있어서,
    상기 추출된 ECC의 에러 발생 여부를 판단하는 단계는, 상기 역변환된 데이터와 상기 추출된 ECC의 비교 결과, 사전 지정된 비트 이상으로 에러가 발생한 경우, 상기 논리 주소에 존재하는 데이터, 추출된 ECC 및 인버트된 데이터가 유효하지 않은 것으로 판단하는 단계를 더 포함하는 플래시 메모리의 데이터 처리 방법.
  14. 제 13 항에 있어서,
    상기 추출된 ECC의 에러 발생 여부를 판단하는 단계는, 상기 역변환된 데이터와 상기 추출된 ECC의 비교 결과, 상기 추출된 ECC가 상기 사전 지정된 비트 미만으로 에러가 발생한 경우, 상기 논리 주소에 존재하는 데이터를 통해 새로 생성되는 ECC와 상기 추출된 ECC를 비교하여 상기 논리 주소에 존재하는 데이터의 에러 발생 여부를 판단하는 단계를 더 포함하는 플래시 메모리의 데이터 처리 방법.
KR1020040093607A 2004-11-16 2004-11-16 플래시 메모리의 데이터 처리 장치 및 방법 Expired - Lifetime KR100643288B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040093607A KR100643288B1 (ko) 2004-11-16 2004-11-16 플래시 메모리의 데이터 처리 장치 및 방법
US11/274,115 US7613982B2 (en) 2004-11-16 2005-11-16 Data processing apparatus and method for flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040093607A KR100643288B1 (ko) 2004-11-16 2004-11-16 플래시 메모리의 데이터 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060054538A KR20060054538A (ko) 2006-05-22
KR100643288B1 true KR100643288B1 (ko) 2006-11-10

Family

ID=36574001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040093607A Expired - Lifetime KR100643288B1 (ko) 2004-11-16 2004-11-16 플래시 메모리의 데이터 처리 장치 및 방법

Country Status (2)

Country Link
US (1) US7613982B2 (ko)
KR (1) KR100643288B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703727B1 (ko) * 2005-01-12 2007-04-05 삼성전자주식회사 비휘발성 메모리, 이를 위한 사상 제어 장치 및 방법
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US7539924B1 (en) 2005-11-15 2009-05-26 Western Digital Technologies, Inc. Disk drive implementing data path protection by encoding large host blocks into sub blocks
US7783955B2 (en) * 2006-01-18 2010-08-24 Sandisk Il Ltd. Method for implementing error-correction codes in flash memory
US7774684B2 (en) * 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
JP5064820B2 (ja) * 2007-02-01 2012-10-31 マーベル ワールド トレード リミテッド 磁気ディスクコントローラおよび方法
JP5221044B2 (ja) * 2007-02-01 2013-06-26 マーベル ワールド トレード リミテッド 磁気ディスクコントローラおよび方法
KR101486424B1 (ko) 2008-09-12 2015-01-26 삼성전자주식회사 에러 정정 회로, 에러 정정 회로를 구비하는 플래시 메모리시스템 및 에러 정정 회로의 동작 방법
US8397107B1 (en) * 2009-12-11 2013-03-12 Western Digital Technologies, Inc. Data storage device employing data path protection using both LBA and PBA
KR20130044694A (ko) * 2011-10-24 2013-05-03 삼성전자주식회사 메모리 시스템 및 그 데이터 기록 재생 방법
US8671250B2 (en) 2011-12-15 2014-03-11 Western Digital Technologies, Inc. Data storage device generating redundancy for data path protection of a parity sector
US8694862B2 (en) * 2012-04-20 2014-04-08 Arm Limited Data processing apparatus using implicit data storage data storage and method of implicit data storage
DE102013211077B4 (de) * 2013-06-13 2015-09-24 Infineon Technologies Ag Verfahren zum Testen eines Speichers und Speichersystem
JP2015056190A (ja) * 2013-09-11 2015-03-23 株式会社東芝 不揮発性半導体記憶装置
KR101593519B1 (ko) * 2014-05-23 2016-02-17 삼성전자주식회사 플래시 메모리 시스템 및 그것의 암호화 방법
CN105706067B (zh) * 2014-09-25 2019-04-26 株式会社京都软件研究 内置闪存的微型计算机和向内置于微型计算机的闪存的数据写入方法
US10776201B2 (en) * 2018-12-28 2020-09-15 Micron Technology, Inc. Extended error correction in storage device
CN110471818B (zh) * 2019-07-15 2023-11-17 深圳市德明利技术股份有限公司 一种对闪存出错物理地址的标记方法和装置以及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092723A (ja) * 1999-09-21 2001-04-06 Hitachi Ltd Ecc制御回路及びそれを有するメモリシステム

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840862A (en) * 1973-09-27 1974-10-08 Honeywell Inf Systems Status indicator apparatus for tag directory in associative stores
JPS59165300A (ja) * 1983-03-10 1984-09-18 Fujitsu Ltd メモリ障害訂正方式
JPS63298602A (ja) 1987-05-29 1988-12-06 Daikin Ind Ltd 空気調和装置のバックアップ装置
US4980888A (en) * 1988-09-12 1990-12-25 Digital Equipment Corporation Memory testing system
GB2251323B (en) 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
JPH0667912A (ja) 1992-08-20 1994-03-11 Yokogawa Electric Corp エラー検出訂正回路
US5473753A (en) 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
JP3373632B2 (ja) 1993-03-31 2003-02-04 株式会社東芝 不揮発性半導体記憶装置
JPH06309185A (ja) 1993-04-26 1994-11-04 Nec Eng Ltd 情報処理装置
US5617348A (en) 1995-07-24 1997-04-01 Motorola Low power data translation circuit and method of operation
US5708790A (en) * 1995-12-12 1998-01-13 International Business Machines Corporation Virtual memory mapping method and system for address translation mapping of logical memory partitions for BAT and TLB entries in a data processing system
US5875477A (en) 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
JP3489708B2 (ja) 1996-10-23 2004-01-26 シャープ株式会社 不揮発性半導体記憶装置
JPH10223000A (ja) 1997-02-04 1998-08-21 Mitsubishi Electric Corp 半導体記憶装置
JPH113284A (ja) * 1997-06-10 1999-01-06 Mitsubishi Electric Corp 情報記憶媒体およびそのセキュリティ方法
JP3432111B2 (ja) 1997-06-24 2003-08-04 シャープ株式会社 半導体記憶装置
US6000006A (en) 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
DE69732637T2 (de) 1997-12-22 2005-12-29 Stmicroelectronics S.R.L., Agrate Brianza Selbsttest und Korrektur von Ladungsverlustfehlern in einem Sektorenlöschbaren und-programmierbaren Flashspeicher
KR100319598B1 (ko) 1998-03-18 2002-04-06 김영환 플래시메모리어레이액세스방법및장치
JP3138688B2 (ja) 1998-07-24 2001-02-26 日本電気アイシーマイコンシステム株式会社 不揮発性半導体記憶装置及びプログラムベリファイ方法
JP2000067588A (ja) 1998-08-19 2000-03-03 Saginomiya Seisakusho Inc データ記憶装置及びデータ記憶装置の制御方法
JP4146006B2 (ja) 1998-09-28 2008-09-03 富士通株式会社 フラッシュメモリを有する電子機器
US6473877B1 (en) 1999-11-10 2002-10-29 Hewlett-Packard Company ECC code mechanism to detect wire stuck-at faults
US6141251A (en) * 2000-01-28 2000-10-31 Silicon Storage Technology, Inc. Non-volatile memory array having an index used in programming and erasing
JP2001351398A (ja) 2000-06-12 2001-12-21 Nec Corp 記憶装置
US6957378B2 (en) 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
US6977847B2 (en) 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
EP1376608A1 (fr) 2002-06-28 2004-01-02 Cp8 Procédé d'écriture dans une mémoire non volatile et système pour la mise en oeuvre d'un tel procédé
CN100364013C (zh) 2002-09-07 2008-01-23 鸿富锦精密工业(深圳)有限公司 在闪存中存放校验码的方法及装置
KR20050069925A (ko) 2002-10-02 2005-07-05 마쯔시다덴기산교 가부시키가이샤 비휘발성 기억장치의 제어방법
KR100457812B1 (ko) 2002-11-14 2004-11-18 삼성전자주식회사 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092723A (ja) * 1999-09-21 2001-04-06 Hitachi Ltd Ecc制御回路及びそれを有するメモリシステム

Also Published As

Publication number Publication date
KR20060054538A (ko) 2006-05-22
US7613982B2 (en) 2009-11-03
US20060120166A1 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
KR100643288B1 (ko) 플래시 메모리의 데이터 처리 장치 및 방법
JP5162763B2 (ja) メモリアクセスシステム
KR100850515B1 (ko) 멀티레벨 셀 플래시 메모리를 갖는 메모리 시스템 및그것의 프로그램 방법
US8175012B2 (en) Decoding/encoding method for booting from a NAND flash and system thereof
CN104572489B (zh) 磨损均衡方法及装置
US10613943B2 (en) Method and system for improving open block data reliability
US20080163031A1 (en) Method of facilitating reliably accessing flash memory
TW201814532A (zh) 資料儲存裝置及其資料寫入方法
TWI509624B (zh) 快閃記憶體裝置、記憶體控制器及快閃記憶體的控制方法
JP2009515281A (ja) フラッシュメモリ内のエラーから復旧するための方法
KR100643287B1 (ko) 플래시 메모리의 데이터 처리 장치 및 방법
US10020066B2 (en) Systems and methods for sub-zero threshold characterization in a memory cell
US11995224B2 (en) Data storage device and data processing method
JP2010079486A (ja) 半導体記録装置
US9430159B2 (en) Non-volatile memory devices and controllers
KR100631765B1 (ko) 플래시 메모리의 데이터 처리 장치 및 방법
KR100704618B1 (ko) 플래시 메모리의 데이터 복구 장치 및 방법
JP4357305B2 (ja) 外部記憶装置
CN114327265A (zh) 读取干扰检查方法、存储器存储装置及控制电路单元
TWI640868B (zh) 資料儲存裝置及其資料寫入方法
CN104461379A (zh) 提高nand闪存的稳定性的方法和nand闪存
CN107093458B (zh) 固态储存装置及其数据处理方法
KR20140101626A (ko) 솔리드 스테이트 드라이브의 데이터 처리 방법
CN118069070B (zh) 降低存储器软错误率的回写方法及装置
JP2005011386A (ja) 誤り訂正装置

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20041116

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20060321

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20060828

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20061031

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20061101

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20091001

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20101007

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20110930

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20120925

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20120925

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20130930

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20141001

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20151001

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20160930

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20160930

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20180927

Start annual number: 13

End annual number: 13

FPAY Annual fee payment

Payment date: 20190930

Year of fee payment: 14

PR1001 Payment of annual fee

Payment date: 20190930

Start annual number: 14

End annual number: 14

PR1001 Payment of annual fee

Payment date: 20200929

Start annual number: 15

End annual number: 15

PR1001 Payment of annual fee

Payment date: 20210929

Start annual number: 16

End annual number: 16