KR100391240B1 - 기록/재생 장치, 반도체 메모리 및 이 반도체 메모리를이용하는 메모리 카드 - Google Patents

기록/재생 장치, 반도체 메모리 및 이 반도체 메모리를이용하는 메모리 카드 Download PDF

Info

Publication number
KR100391240B1
KR100391240B1 KR10-2000-0051038A KR20000051038A KR100391240B1 KR 100391240 B1 KR100391240 B1 KR 100391240B1 KR 20000051038 A KR20000051038 A KR 20000051038A KR 100391240 B1 KR100391240 B1 KR 100391240B1
Authority
KR
South Korea
Prior art keywords
error
error correction
correction code
data
code
Prior art date
Application number
KR10-2000-0051038A
Other languages
English (en)
Other versions
KR20010067139A (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 가부시키가이샤 히타치세이사쿠쇼
Publication of KR20010067139A publication Critical patent/KR20010067139A/ko
Application granted granted Critical
Publication of KR100391240B1 publication Critical patent/KR100391240B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

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)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

반도체 메모리에서, 제어기의 ECC 회로는 제1 에러 정정 코드를 이용하여 제1 에러 정정을 실행하고, 플래시 메모리의 ECC 회로는 제2 에러 정정 코드를 이용하여 제2 에러 정정을 실행한다. 제1 및 제2 에러 정정 코드는 동일한 갈로아 필드를 이용하는 BCH 코드(특히, RS 코드)이며, 그들의 생성 다항식은 연속적 루트를 갖는다. 플래시 메모리 칩은 제2 에러 정정 코드를 이용하여 에러 정정이 행해졌음을 나타내는 정정 정보, 에러 정정 도중의 계산 정보 및 에러 위치 및 에러값에 대한 정보를 제어기에 통지한다. 제어기는 제1 에러 정정 코드에 기초하여 플래시 메모리 칩에 의해 제공된 정보를 이용하여 에러 검출을 실행한다. 에러가 검출되면, 제어기는 플래시 메모리에 의해 제공된 에러 위치 및 에러값에 대한 정보 및 정정 정보에 기초하여 플래시 메모리 칩에 의해 이루어진 제2 에러 정정의 결과를 취소한다. 제어기는 계산 정보로부터 얻어진 제2 에러 정정 코드의 신드롬 및 제어기에 의해 계산된 제1 에러 정정 코드의 신드롬을 이용하여 에러 위치 및 에러값을 계산한다. 제어기는 계산된 에러 위치 및 에러값에 기초하여 복원 데이터에 대해 에러 정정을 실행한다.

Description

기록/재생 장치, 반도체 메모리 및 이 반도체 메모리를 이용하는 메모리 카드{RECORDING/REPRODUCTION DEVICE, SEMICONDUCTOR MEMORY, AND MEMORY CARD USING THE SEMICONDUCTOR MEMORY}
본 발명은 기록/재생 장치, 반도체 메모리, 및 이 반도체 메모리를 이용한 메모리 카드에 관한 것으로, 특히 반도체 메모리의 에러 정정 능력과 제어기의 에러 정정 능력을 모두 이용하는 기록/재생 장치에 관한 것이다. 본 발명에 따르면, 장치의 반도체 메모리가 이 장치에 의한 데이터 처리 단위보다 큰 데이터 소거 단위를 갖는 경우에도 처리를 단순화시킬 수 있다. 본 발명에 따른 기록/재생 장치는 신뢰성이 매우 좋으며 값도 저렴하다.
일본 특개평 9-305497호 공보의 도 1에 도시된 바와 같이, 비휘발성 반도체 메모리를 이용한 기록/재생 장치의 일례인 플래시 메모리 디스크는 플래시 메모리 칩, 인터페이스 칩, 마이크로프로세서 등으로 구성되어 있다.
플래시 메모리 칩은 기록 동작이 소정 회수를 초과하면 에러율이 증가하기 쉽기 때문에, 플래시 메모리 디스크의 신뢰성을 유지하는 것은 인터페이스 칩이나 마이크로프로세서의 에러 정정 기능(에러 검출 기능 포함)에 달려 있다.
플래시 메모리는 또한 종종 개별 부품으로도 사용된다. 그러므로 일본 특개평 3-5995호 공보에 개시된 바와 같이 플래시 메모리 칩은 일정 수준의 신뢰성을 갖도록 그 자체로서 에러 정정 기능을 갖도록 설계되어 있다.
일본 특개소 59-165541, 62-73336, 및 특개평 1-155721호 공보에 개시된 바와 같이, 대용량 자기 디스크 시스템의 가변장 포맷 방식은 연결 코드를 이용하여 에러 정정 코드의 용량 바이트를 감소시켜 에러 정정 효율을 향상시키는 것으로 알려져 있다.
에러 정정 기능을 갖는 플래시 메모리 칩을 개별 부품으로서의 플래시 메모리 칩보다 더 큰 신뢰성을 필요로 하는 시스템, 예컨대 플래시 메모리 디스크 등에 사용하는 경우에는 플래시 메모리 칩 외부에 우수한 에러 정정 기능을 가진 제어기를 구비해야 할 필요가 있다. 그러나 플래시 메모리 칩의 에러 정정 기능의 이용에 의해서도 오정정이 생길 수 있으며 이는 시스템의 신뢰성을 전반적으로 저하시키게 되며 따라서 이 에러 정정 기능은 항상 유용한 것은 아니라는 문제가 있다.
예컨대, 1 바이트 에러를 처리하기 위한 에러 정정 기능을 가진 플래시 메모리 칩을 3 바이트 에러까지의 정정을 필요로 하는 시스템에 사용하는 경우에는 이 시스템에 3 바이트 에러를 정정할 수 있는 제어기가 구비된다. 플래시 메모리 칩에서 생기는 3 바이트 에러는 플래시 메모리 칩의 에러 정정 기능을 사용하지 않고서 제어기에 의해 정정될 수있다. 반면에 플래시 메모리 칩의 에러 정정 기능에 의한 에러 정정이 시도되는 경우에는 그 능력 이상의 에러로 인해 종종 오정정이 생기며 이 3 바이트 에러를 제어기의 에러 정정 기능의 능력 이상인 4 바이트 에러로 변환시킨다. 그 결과, 시스템은 3 바이트 에러 조차도 정정할 수 없게 된다.
그럼에도 불구하고, 플래시 메모리 칩의 에러 정정 기능을 사용하지 않는 경우, 시스템이 불필요하게 큰 회로 면적을 갖게 되고 사용하지 않는 기능으로 인해 불필요하게 값이 비싸진다는 점에서 문제가 있다.
에러 정정 기능을 가진 플래시 메모리 칩을 핵심 요소로 사용하여 더욱 신뢰성 있는 에러 정정 기능을 갖는 시스템의 설계를 시도하는 경우에는 도 18a의 프로우챠트와 도 18b의 플래시 메모리 칩의 블록도로 도시된 바와 같은 설계 과정을 거쳐야 할 필요가 있다. 이 플로우챠트에서, 단계(1501)에서는 플래시 메모리 칩(1511)의 에러 정정 기능 블록(1512)을 제거하고, 단계(1502)에서는 플래시 메모리 칩(1511)의 인터페이스 블록을 재설계하여 새로운 플래시 메모리(1513)를 만들고, 단계(1503)에서는 제어기(1514)를 설계하고 이 제어기 내에 에러 정정 기능 블록을 포함시킨다. 그 결과, 설계 작업이 증가되고 코스트가 증가하는 점에서 문제가 될 것이다.
"메모리 스틱"과 MMC(Multi-Media Card) 장치는 크기와 중량을 감소시키기 위해 플래시 메모리 칩(1513)과 제어기(1514)를 하나의 칩으로 통합시킨다. 그러나, 이러한 장치들을 설계하는 것도 도 18a의 과정을 필요로 하므로 설계 작업이 증가하고 코스트가 증가한다.
플래시 메모리 카드(플래시 메모리 칩들로 구성된 메모리 카드)를 이용하는 휴대형 단말기와 MPEG 카메라 장치는 종종 512 바이트를 데이터 처리 단위로 채택한다. 그에 반해, 플래시 메모리 칩은 회로 규모를 줄이고 바이트당 처리 속도를 높이기 위해 데이터 소거 단위가 예컨대 1024 바이트와 2048 바이트로 더 높이는 추세이다.
따라서, 데이터 처리 단위인 512 바이트의 데이터 판독 시에 데이터 소거 단위인 1024 바이트 이상의 데이터를 판독하여 에러 정정 코드를 검사하고, 또한 데이터 처리 단위인 512 바이트 데이터의 기록 시에 1024 바이트 이상의 데이터를 판독하여 에러 정정 코드를 재계산해야 할 필요가 있어 복잡한 과정을 거치게 된다.
고신뢰성의 에러 정정 기능은 고성능 제어기를 필요로 하는 고속 계산을 수반하므로 비용이 비싸다. 그러나 휴대형 기록/재생 장치 등에 사용되는 플래시 메모리 카드는 신뢰성보다는 저렴한 가격이 요구된다.
본 발명은 상기 종래 기술의 결점을 극복하고, 그 에러 정정 기능이 계속 동작되는 메모리 칩 코어 소자를 사용하는 1칩 반도체 메모리 시스템의 설계를 용이하게 하도록 된 것이다.
본 발명의 목적은 에러 정정 기능을 갖는 반도체 메모리를 코어 소자로 사용하고, 반도체 메모리의 에러 정정 기능을 사용하지만 상기 반도체 메모리보다 에러 정정 기능에서 더 신뢰성 있는 기록/재생 장치를 제공하고, 상기 기록/재생 장치에 유용한 반도체 메모리를 제공하는 것이다.
본 발명의 또다른 목적은 이 부품들을 사용하는 장치들의 데이터 처리 단위보다 큰 데이터 소거 단위를 갖는 경우에도 처리를 간소화할 수 있는 반도체 메모리와 메모리칩을 제공하는 것이다.
본 발명의 또다른 목적은 매우 신뢰성 있고 비싸지 않은 기록/재생 장치를 제공하는 것이다.
제1 관점에서, 본 발명은 외부로부터 입력된 데이터에 대해 제1 에러 정정 코드를 생성하는 제1 에러 정정 코드 발생기와 상기 에러 정정 코드를 사용하여 에러 검출 및 정정을 행하는 제1 에러 정정기를 갖는 제어부와, 상기 제어부에 의해 제공된 제1 에러 정정 코드에 대해 제2 에러 정정 코드를 생성하는 제2 에러 정정 코드 생성기와, 제어부로부터의 데이터와 이 데이터가 제외되어 있는 제1 에러 정정 코드인 제1 에러 정정 코드 검사 심볼과 상기 데이터와 제1 에러 정정 코드 검사 심볼이 제외되어 있는 제2 에러 정정 코드인 제2 에러 정정 코드 검사 심볼을 저장하는 메모리와, 상기 메모리로부터 판독된 데이터와 제1 및 제2 에러 정정 코드 검사 심볼을 사용함으로써 에러 검출 및 정정을 행하는 제2 에러 정정기를 갖는 반도체 메모리부를 포함하고, 상기 제2 에러 정정 코드는 제1 에러 정정 코드와 동일한 갈로아 필드내의 BCH 코드이고 연속적인 루트를 가지며, 제어부는 상기 제2 에러 정정기에 의해 제공된 에러 정정 결과를 사용함으로써 에러 정정을 행하는 기록/재생 장치에 있다.
또한, 본 발명은 또한 외부와 데이터를 입출력하는 외부 인터페이스와, 입력된 데이터에 대해 제1 에러 정정 코드를 생성하는 제1 에러 정정 코드 생성기와 상기 제1 에러 정정 코드를 사용하여 에러 검출 및 정정을 행하는 제1 에러 정정기를 갖는 제어부와, 상기 제어부에 의해 제공된 제1 에러 정정 코드에 대해, 제1 에러 정정 코드와 동일한 갈로아 필드내의 BCH 코드이며 연속적인 루트를 갖는 제2 에러 정정 코드를 생성하는 제2 에러 정정 코드 생성기와 제어부로부터의 데이터와 이 데이터가 제외되어 있는 제1 에러 정정 코드인 제1 에러 정정 코드 검사 심볼과 상기 데이터와 제1 에러 정정 코드 검사 심볼이 제외되어 있는 제2 에러 정정 코드인 제2 에러 정정 코드 검사 심볼을 저장하는 메모리와 상기 데이터와 제1 및 제 2 에러 정정 코드 검사 심볼을 사용함으로써 에러 검출 및 정정을 행하는 제2 에러 정정기를 갖는 반도체 메모리부를 포함하고, 상기 제어부는 반도체 메모리부에 의해 제공된 에러 정정 결과를 사용함으로써 에러 정정을 행하는 기록/재생 장치에 있다.
또한, 본 발명은 외부와 데이터를 입출력하는 외부 인터페이스와, 입력된 데이터에 대해 제1 에러 정정 코드를 생성하는 제1 에러 정정 코드 생성기와 상기 제1 에러 정정 코드를 사용하여 에러 검출 및 정정을 행하는 제1 에러 정정기를 갖는 제어부와, 상기 제어부에 의해 제공된 데이터에 대해, 제1 에러 정정 코드와 동일한 갈로아 필드의 BCH(Bose-Chaudhuri-Hocquenghem) 코드이며 연속적인 루트를 갖는 제2 에러 정정 코드와 상기 데이터가 제외되어 있는 제1 에러 정정 코드인 제1 에러 정정 코드 검사 심볼을 생성하는 제2 에러 정정 코드 생성기와, 상기 데이터와 상기 제1 에러 정정 코드 검사 심볼과 상기 데이터와 상기 제1 에러 정정 코드 검사 심볼이 제외되어 있는 제2 에러 정정 코드인 제2 에러 정정 코드 검사 심볼을 저장하는 메모리와, 상기 메모리로부터 판독된 상기 데이터와 제1 및 제2 에러 정정 코드 검사 심볼을 사용함으로써 에러 검출 및 정정을 행하는 제2 에러 정정기와, 상기 제2 에러 정정기가 상기 데이터와 에러 정정 도중의 계산 정보 및 검출된 에러 위치 및 에러값의 정보를 정정하였는지에 대한 정보를 제1 에러 정정기에 통지하는 정정 정보 통지부와, 메모리로부터 판독된 데이터 및 제1 에러 정정 코드 검사 심볼 또는 상기 제2 에러 정정기에 의해 정정된 데이터와 제1 에러 정정 코드 검사 심볼을 제1 에러 정정기에 전송하는 데이터 전송기를 갖는 반도체 메모리부를 포함하고, 상기 제1 에러 정정기는 상기 데이터 전송기에 의해 제공된 상기 데이터와 제1 에러 정정 코드 검사 심볼을 사용하여 에러를 검출하고, 만약 제2 에러 정정기가 상기 데이터를 정정하였으면, 에러 위치와 에러값을 사용하여 에러 미정정 데이터를 복원하고, 에러가 이 복원 데이터와 제1 에러 정정 코드 검사 심볼에서 검출되면 제1 에러 정정 코드 검사 심볼과 계산의 정보를 사용하여 복원 데이터에 대해 에러 정정을 행하고 제1 에러 정정 코드를 사용하여 에러 검출을 행하고, 또는 제2 에러 정정기가 데이터 정정에 실패하였으면, 제1 에러 정정 코드 검사 심볼과 계산의 정보를 사용하여 상기 에러 미정정 데이터에 대해 에러 정정을 시도하고, 이 에러 정정이 실패하면, 제1 에러 정정 코드 검사 심볼을 사용하여 상기 복원 데이터나 에러 미정정 데이터에 대해 에러 정정을 시도하는 기록/재생 장치에 있다.
더욱이, 본 발명은 제2 에러 정정 코드 - 제1 에러 정정 코드와 같은 갈로아 필드(Galois field)내의 BCH 코드이며, 제1 에러 정정기(corrector)에 의해 제공되는 데이터 및 제1 에러 정정 코드 검사 기호에 대해 연속적인 루트(root)를 가짐 - 를 생성하는 제2 에러 정정 발생기; 데이터와 제1 및 제2 에러 정정 코드 검사 기호를 저장하는 메모리; 메모리에서 판독된 데이터와 제1 및 제2 에러 정정 코드 검사 기호를 사용하여 에러 검출과 정정을 구현하는 제2 에러 정정기; 제2 에러 정정기가 데이터 및 제1 에러 정정 코드 검사 기호를 정정했는지에 대한 정보, 에러 정정 도중의 계산 정보 및 검출된 에러 위치와 에러값의 정보를 제1 에러 정정기에 표시하는 정정 정보 표시기; 및 메모리에서 판독된 데이터 및 제1 에러 정정 코드 검사 기호 또는 제2 에러 정정기 및 제1 에러 정정 코드 검사 기호에 의해 정정된 데이터를 제1 에러 정정기로 보내기 위한 송신기를 포함하는 반도체 메모리 내에 존재한다.
제1 관점의 기록/재생 장치에서, 데이터가 장치에 기록되는 경우, 제어기 부분은 제1 에러 정정 코드 검사 기호를 생성하고, 반도체 메모리 부분은 제2 에러 정정 코드 검사 기호를 생성하고, 데이터와 제1 및 제2 에러 정정 코드 검사 기호들은 메모리에 저장된다. 데이터가 장치로부터 판독되는 경우, 반도체 메모리 부분은 제2 에러 정정 코드 검사 기호를 사용함으로써 메모리에서 판독된 데이터 및 제1 에러 정정 코드 검사 기호에 대해 에러 검출 및 정정을 구현하고, 메모리에서 판독된 데이터 및 제1 에러 정정 코드 검사 기호 또는 정정된 데이터 및 제1 에러 정정 코드 검사 기호를 제어기 부분으로 전달한다. 제어기 부분은 제1 에러 정정 코드 검사 기호를 사용함으로써, 반도체 메모리 부분에 의해 제공된 데이터에 대해 에러 검출을 구현하며, (1)만일 에러가 검출되고 반도체 메모리 부분이 에러 부분을 정정하면, 제어기 부분은 반도체 메모리 부분에 의해 만들어진 에러 정정 결과를 취소하고 메모리에서 판독된 데이터 및 제1 에러 정정 코드 검사 기호를 복원한다. 이 과정에서, 반도체 메모리 부분은 정정이 행해졌는지에 대한 정보 및 에러 위치와 에러 값의 정보를 제어기 부분에 표시한다. 결과적으로, 반도체 메모리 부분이 잘못된 정정을 행할때조차도, 제어기 부분은 부정적인 영향을 받지 않지만, 에러 정정 능력에 기초한 에러를 정정할 수 있다. 그렇지 않다면, (2) 만일 에러가 검출되고, 반도체 메모리 부분이 에러를 정정하지 않는다면, 제어기 부분은 메모리에서 판독된 데이터 및 제1 에러 정정 코드 검사 기호를 변하지 않은 상태로 사용한다. (1) 및 (2) 모두의 경우에, 제어기 부분은 제1 및 제2 에러 정정 코드를 사용하여 에러 정정을 구현한다. 이 과정에서, 반도체 메모리 부분은 정정이 행해졌는지에 대한 정보와 에러 정정 도중의 계산 정보를 제어기 부분에 표시하고, 제1 및 제2 에러 정정 코드는 갈로아 필드상의 BCH 코드들이며, 계속적인 루트들을 가진다. 즉, 제1 및 제2 에러 정정 코드들은 그것들의 생성 다항식들의 루트에서 계속적인 "멱(power)"을 가진다. 결과적으로, 반도체 메모리 부분과 제어기 부분 모드의 에러 정정 능력은 신뢰성을 향상하기 위해 이용될 수 있다.
제1 관점에서의 반도체 메모리 부분은 제1 관점의 기록/재생 장치에 대해 적절히 사용될 수 있다.
두번째 특징으로서 본 발명은 기록/재생 디바이스로 귀결되는데 이 디바이스는 바깥측과 데이터 처리를 행하는 외부 인터페이스, 입력 데이터에 대한 제 1 에러 정정 코드를 발생시키는 제 1 에러 정정 코드 발생기, 및 상기 제 1 에러 정정 코드를 사용하여 에러 검출 및 정정을 구현하는 제 1 에러 정정기를 구비한 제어부, 및 제어부에 의해 제공된 제 1 에러 정정 코드에 대해 제 1 에러 정정 코드와 동일한 갈로아 필드(galois field) 상의 BCH 코드이고 연속 루트(root)를 갖는 제 2 에러 정정 코드를 발생시키는 제 2 에러 정정 코드 발생기, 제어부로부터의 데이터와 그로부터 제외된 데이터와 함께 제 1 에러 정정 코드가 되는 제 1 에러 정정 코드 검사 심볼 및 데이터와 그로부터 제외된 제 1 에러 정정 코드 검사 심볼과 함께 제2 에러 정정 코드가 되는 제 2 에러 정정 코드 검사 심볼을 기억하는 메모리, 및 메모리로부터 판독된 데이터 및 제 1 및 제 2 에러 정정 코드 검사 심볼을 사용하여 에러 검출 및 정정을 구현하는 제 2 에러 정정기를 구비한 반도체 메모리부를 포함하고, 상기 제어부는 에러를 검출했을 때 제 1 에러 정정 코드 검사 심볼 및 반도체 메모리부에 의해 제공된 계산 결과에 따라서 에러 정정을 수행하고, 에러 정정에 실패했을 때 제 1 에러 정정 코드 검사 심볼을 사용하여 메모리로부터 판독된 데이터에 대해 에러 정정을 수행한다.
또한 본 발명은 기록/재생 디바이스로 귀결되는데 이 디바이스는 바깥측과 데이터 처리를 행하는 외부 인터페이스, 입력 데이터에 대한 제 1 에러 정정 코드를 발생시키는 제 1 에러 정정 코드 발생기, 및 제 1 에러 정정 코드를 사용하여 에러 검출 및 정정을 구현하는 제 1 에러 정정기를 구비한 제어부, 및 제어부에 의해 제공된 제 1 에러 정정 코드에 대해 제 1 에러 정정 코드와 동일한 갈로아 필드 상에서 BCH 코드가 되고 연속 루트를 갖는 제 2 에러 정정 코드를 발생시키는 제 2 에러 정정 코드 발생기, 데이터, 그로부터 제외된 데이터와 함께 제 1 에러 정정 코드가 되는 제 1 에러 정정 코드 검사 심볼, 및 데이터 및 그로부터 제외된 제 1 에러 정정 코드 검사 심볼과 함께 제 2 에러 정정 코드가 되는 제 2 에러 정정 코드 검사 심볼을 기억하는 메모리, 메모리로부터 판독된 데이터 및 제 1 및 제 2 에러 정정 코드 검사 심볼을 사용하여 에러 검출 및 정정을 구현하는 제 2 에러 정정기, 제 2 에러 정정기가 에러를 검출했는지의 여부에 대한 정보, 데이터 및 제 1 에러 정정 코드 검사 심볼이 정정되었는지의 여부에 대한 정보 및 제 1 에러 정정기에 대한 에러 정정 도중의 계산 정보를 표시하는 검출/정정 정보 표시기, 및 메모리로부터 판독된 데이터 및 제 1 에러 정정 코드 검사 심볼 및 제 2 에러 정정기에 의해 정정된 데이터 및 제 1 에러 정정 코드 검사 심볼을 제 1 에러 정정기로 전송하는 데이터 전송기를 구비한 반도체 메모리부를 포함하고, 상기 제 1 에러 정정기는 제 2 에러 정정기가 에러를 검출하지 않았으나 제 1 에러 정정 코드 검사 심볼을 사용하여 메모리로부터 판독된 데이터에서 에러를 검출한 경우에, 또는 제 2 에러 정정기가 데이터 정정에 실패했으나 제 1 에러 정정 코드 검사 심볼을 사용하여 메모리로부터 판독된 데이터에서 에러를 검출한 경우에, 또는 제 2 에러 정정기에 의해 정정되었던 데이터에서 제 1 에러 정정 코드 검사 심볼을 사용하여 에러를 검출한 경우에, 제 1 에러 정정 코드 검사 심볼 및 계산된 정보를 사용하여 메모리로부터 판독된 데이터에 대한 에러 정정을 시도하고 에러 정정이 실패했을 때 제 1 에러 정정 코드 검사 심볼을 사용하여 메모리로부터 판독된 에러 정정이 안된 데이터에 대한 에러 정정을 시도한다.
또한, 본 발명은, 제1 에러 정정 코드와 동일한 갈로아 필드상의 BCH 코드이고 외부로부터 입력되는 제1 에러 정정 코드 검사 심볼 및 데이터를 위한 연속적인 루트를 갖는 제2 에러 정정 코드를 생성시키는 제2 에러 정정 코드 생성기와, 데이터와 제1 및 제2 정정 코드 검사 심볼을 저장하는 메모리와, 메모리로부터 판독된 데이터와 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실시하는 제2 에러 정정기와, 제2 에러 정정기가 에러를 검출하였는지 여부에 관한 정보와, 데이터와 제1 에러 정정 코드 검사 심볼이 정정되었는지 여부에 관한 정보와, 제1 에러 정정기에 대한 에러 정정 도중의 계산 정보를 표시하는 검출/정정 정보 표시기와, 메모리로부터 판독된 데이터와 제1 에러 정정 코드 검사 심볼 및 제2 에러 정정기에 의해 정정된 데이터와 제1 에러 정정 코드 심볼을 제1 에러 정정기로 보내는 데이터 송신기를 포함하는 반도체 메모리부에 관한 것이다.
제2 관점의 기록/재생 장치에 있어서, 장치에 데이터를 기록하는 경우, 제어부는 제1 에러 정정 코드 검사 심볼을 생성하고, 반도체 메모리부는 제2 에러 정정 코드 검사 심볼을 생성하며, 데이터와 제1 및 제2 에러 정정 코드 검사 심볼은 메모리에 기억된다. 장치에서 데이터를 판독하는 경우, 반도체 메모리부는 제2 에러 정정 코드 검사 심볼을 사용하여 메모리로부터 판독된 데이터와 제1 에러 정정 코드 검사 심볼에 대한 에러 검출 및 정정를 실시하고, 메모리로부터 판독된 데이터와 제1 에러 정정 코드 검사 심볼 및 정정된 데이터와 제1 에러 정정 코드 검사 심볼을 제어부로 보낸다. 제어부에서, 제2 에러 정정기가 에러를 검출하지 않고 메모리로부터 판독된 데이터와 제1 에러 정정 코드 검사 심볼에서 에러를 검출한 경우 또는 제2 에러 검출기가 데이터와 제1 에러 정정된 코드 검사 심볼을 정정하는데 실패하고 메모리로부터 판독된 데이터와 제1 에러 정정 코드 검사 심볼에서 에러를 검출한 경우, 제1 에러 정정 코드 검사 심볼 및 계산 정보를 이용하여 메모리로부터 판독된 데이터에 대한 에러 정정을 실시하며(이 처리를 위해, 반도체 메모리부는 에러가 검출되었는지 여부에 관한 정보 및 제어부에 대한 에러 정정 도중의 계산 정보를 표시하며, 제1 및 제2 에러 정정 코드는 연속적인 루트를 갖는 동일한 갈로아 필드의 BCH 코드이다, 즉 제1 및 제2 에러 정정 코드는 그 생성 다항식의 루트에서 연속적인 "파워"를 갖는다), 만일 에러 정정이 실패하면, 제1 에러 정정 코드 검사 심볼을 사용하여 메모리로부터 판독된 데이터에 대한 에러 정정을 실시한다. 따라서, 반도체 메모리부 및 제어부의 에러 정정 능력을 모두 사용하여 신뢰성을 향상시킬 수 있다. 제2 에러 정정기가 데이터를 정정하였지만 에러 정정된 제1 에러 정정 코드 검사 심볼을 사용하여 에러 정정된 데이터에서 에러가 검출되는 경우, 제어부는 에러-비정정된 제1 에러 정정 코드 검사 심볼 및 계산 정보를 이용하여 메모리로부터 판독된 에러-비정정된 데이터에 대한 에러 정정를 실시한다. 이 처리를 위해, 반도체 메모리부는 에러가 검출되었는지 여부에 관한 정보 및 제어부에 대한 에러 정정 도중의 계산 정보를 표시하며, 제1 및 제2 에러 정정 코드는 연속적인 루트를 갖는 동일한 갈로아 필드의 BCH 코드이다, 즉 제1 및 제2 에러 정정 코드는 그 생성 다항식의 루트에서 연속적인 "파워"를 갖는다. 만일 에러 정정이 실패하면, 제어부는 에러-비정정된 제1 에러 정정 코드 검사 심볼을 사용하여 메모리로부터 판독된 에러-비정정된 데이터에 대한 에러 정정을 실시한다. 따라서, 반도체 메모리부가 잘못된 정정을 행하더라도 장치는 악영향을 받지않으며, 반도체 메모리부 및 제어부의 에러 정정 능력을 모두 사용하여 신뢰성을 향상시킬 수 있다.
제2 관점의 반도체 메모리는 제2 관점의 기록/재생 장치용으로 사용하기에 적합하다.
BCH 코드에 관하여는, 특히 RS(Reed Solomon) 코드를 사용하는 것이 바람직하다.
계산 정보는 양호하게는, 제2 에러 정정 코드의 코드 다항식을 생성 다항식으로 나누어 생기는 잔여 다항식 또는 생성 다항식의 루트를 제2 에러 정정 코드의 코드 다항식에 대입하여 생기는 신드롬인 잉여 다항식이다.
제3 관점으로 보면, 본 발명은 데이터 처리 단위로 에러 정정 코딩을 실시하고, 데이터 처리 단위보다 2배 이상 큰 처리 단위로 데이터 소거를 실시하는 반도체 메모리에 관한 것이다.
본 발명의 제3 관점의 반도체 메모리는 데이터 처리 단위로 에러 정정 코드화를 실행하고, 따라서 예를 들어 데이터 처리 단위인 512 바이트의 데이터의 각각의 판독에서 데이터 소거 단위인 1024 바이트 이상의 전체 데이터를 판독함으로써 에러 정정 코드를 검사할 필요가 없으며, 데이터 처리 단위인 512 바이트의 데이터의 각각의 재기록에서 데이터 소거 단위인 1024 바이트의 전체 데이터를 판독함으로써 에러 정정 코드를 재계산할 필요가 없다. 결과적으로, 애플리케이션 장치가 데이터 처리 단위보다도 큰 데이터 소거 단위를 갖는 경우일지라도, 처리가 간략화될 수 있다. 데이터 소거 단위가 데이터 처리 단위보다 2배 이상인 경우, 회로 스케일은 감소되고 바이트당 처리 속도가 증가한다.
제4 관점에서, 본 발명은 외부와의 데이터 입출력을 위한 인터페이스 기능을 갖는 마이크로프로세서와 에러 정정 기능을 갖는 반도체 메모리를 결합시키는 기록/재생 장치에 특징이 있다.
제4 관점의 기록/재생 장치는 주 구성 성분으로 마이크로프로세서를 사용하기 때문에 비싸지 않으며, 반도체 메모리 내에 에러 정정 기능이 있기 때문에 상당히 신뢰성이 있다.
제5 관점에서, 본 발명은 외부로부터 입력된 데이터에 대해 제1 에러 정정 코드를 발생시키는 제1 에러 정정 코드 발생기, 및 상기 제1 에러 정정 코드를 이용하여 에러 검출 및 정정을 실행하는 제1 에러 정정기를 구비한 카드 제어부, 상기 카드 제어부에 의해 제공된 데이터 및 상기 제1 에러 정정 코드에 대해 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 카드 제어부로부터의 상기 데이터와, 상기 데이터가 제외된 상기 제1 에러 정정 코드인 제1 에러 정정 코드 검사 심볼과, 상기 데이터 및 제1 에러 정정 코드 검사 심볼을 제외된 상기 제2 에러 정정 코드인 제2 에러 정정 코드 검사 심볼을 저장하는 메모리, 및 상기 메모리로부터 판독된 상기 데이터와 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기를 구비한 반도체 메모리부, 및 외부 장치에 의해 데이터를 입출력하는 접속부를 포함하는 메모리 카드에 특징이 있으며, 상기 제2 에러 정정 코드는 상기 제1 에러 정정 코드와 동일한 갈로아 필드(Galois field) 내의 BCH 코드이고 연속적 루트(continuous root)를 가지며, 상기 제어부는 상기 제2 에러 정정기에 의해 제공된 에러 정정 결과를 이용하여 에러 정정을 실행한다.
제5 관점의 메모리 카드는 제1 관점의 기록/재생 장치와 동일한 효과를 얻는다.
제6 관점에서, 본 발명은 외부와 데이터를 입출력하는 외부 인터페이스, 입력된 데이터에 대해 제1 에러 정정 코드를 발생시키는 제1 에러 정정 코드 발생기, 및 상기 제1 에러 정정 코드를 이용하여 에러 검출 및 정정을 실행하는 제1 에러 정정기를 구비한 카드 제어부, 상기 카드 제어부에 의해 제공된 상기 제1 에러 정정 코드에 대해, 상기 제1 에러 정정 코드와 동일한 갈로아 필드 내의 BCH 코드이고 연속적 루트를 갖는, 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 제어부로부터의 상기 데이터와, 상기 데이터가 제외된 상기 제1 에러 정정 코드인 제1 에러 정정 코드 검사 심볼과, 상기 데이터 및 제1 에러 정정 코드 검사 심볼이 제외된 상기 제2 에러 정정 코드인 제2 에러 정정 코드 검사 심볼을 저장하는 메모리, 및 상기 메모리로부터 판독된 상기 데이터와 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기를 구비한 반도체 메모리부, 및 외부 장치와 데이터를 입출력하는 접속부를 포함하는 메모리 카드에 특징이 있으며, 상기 카드 제어부는 에러를 검출한 후에 상기 반도체 메모리부에 의해 제공된 상기 제1 에러 정정 코드 검사 심볼 및 계산 정보에 기초하여 에러 정정을 수행하고, 에러 정정이 실패한 후에는, 제1 에러 정정 코드 검사 심볼을 사용하여 상기 메모리로부터 판독된 데이터에 대한 정정을 실행한다.
제6 관점의 메모리 카드는 제2 관점의 기록/재생 장치와 동일한 효과를 얻는다.
본 발명의 이들 및 다른 특징들 및 장점들이 첨부 도면과 결합하여 후술된 본 발명의 양호한 실시예의 상세한 설명으로부터 명백해질 것이다.
도 1은 본 발명에 기초한 플래시 메모리 디스크의 제1 실시예를 도시하는 블록도.
도 2는 도 1에 도시된 플래시 메모리 칩의 상세한 블록도.
도 3은 도 1에 도시된 플래시 메모리 디스크의 데이터 포맷을 도시하는 개념도.
도 4는 도 1에 도시된 온-칩 ECC 회로의 판독 동작을 도시하는 흐름도.
도 5는 외부 코드로부터 관찰된 에러 위치 및 내부 코드로부터 관찰된 에러 위치를 설명하는데 사용되는 데이터 포맷의 개념도.
도 6은 도 1에 도시된 제어 장치에서 ECC 회로의 판독 동작을 도시하는 흐름도.
도 7은 본 발명에 기초한 플래시 메모리 칩의 제2 실시예를 도시하는 상세한 블록도.
도 8은 도 7에 도시된 온-칩 ECC 회로의 판독 동작을 도시하는 흐름도.
도 9는 도 7에 도시된 제어 장치에서 ECC 회로의 판독 동작을 도시하는 흐름도.
도 10은 본 발명에 기초한 플래시 메모리 카드를 사용한 MPEG 카메라의 실시예의 정면도.
도 11은 본 발명에 기초한 플래시 메모리 카드의 실시예를 도시하는 블록도.
도 12는 도 11에 도시된 플래시 메모리 카드의 데이터 포맷을 도시하는 개념도.
도 13a는 도 11에 도시된 플래시 메모리 카드의 설계 절차를 도시하는 흐름도가고, 도 13b는 플래시 메모리 카드의 블록도.
도 14는 도 11에 도시된 플래시 메모리 카드를 사용한 휴대용 터미널 디바이스의 실시예의 투시도.
도 15는 다른 실시예에 기초한 플래시 메모리 카드를 사용한 휴대용 기록/재생 디바이스의 실시예의 투시도.
도 16은 본 발명에 기초한 플래시 메모리 카드의 다른 실시예를 도시하는 블록도.
도 17은 도 16에 도시된 플래시 메모리 카드의 데이터 포맷을 도시하는 개념도.
도 18a는 종래의 플래시 메모리 카드의 설계 절차를 도시하는 흐름도가고, 도 18b는 종래의 플래시 메모리 카드의 블록도.
<도면의 주요 부분에 대한 부호의 설명>
101 : 플래시 메모리 디스크
102 : 제어기
103 : CPU
104 : 데이터 버퍼
105 : 내부 버스 인터페이스
106 : 외부 버스 인터페이스
107 : ECC 회로
115 : 플래시 메모리 소자
120 : 온-칩 ECC
607 : 제어 회로
608 : 에러 정정 회로
609 : 에러 정정 코딩 회로
620 : 래치
901 : 플래시 메모리 카드
902 : 마이크로 프로세서
본 발명의 실시예를 도면을 참조하여 설명한다. 그러나, 본 발명은 이들 실시예에 제한되지 않는다.
먼저, 플래시 메모리 디스크의 하나의 실시예가 설명된다.
도 1은 본 발명에 기초한 플래시 메모리 디스크의 블록도를 도시한다. 플래시 메모리 디스크(101)는 제어 장치(102), 플래시 메모리 칩(111∼114), 및 이들 부분을 접속하는 내부 버스(108)를 포함한다.
제어 장치(102)는 CPU(103), 데이터 버퍼(104), 내부 버스 인터페이스(105), 외부 버스 인터페이스(106), 및 ECC(에러 정정 코드) 회로(107)를 포함한다. 외부 버스 인터페이스(106)가 AT 버스, PCI 버스, 또는 SCSI 버스와 같은 일반적인 외부 인터페이스 버스(109)에 연결된다. 외부 인터페이스 버스(109)를 통해 연결될 수 있는 외부 디바이스는 MPEG 카메라, 휴대 단말 장치, 및 휴대용 음악 또는 음성 기록/재생 유닛을 포함한다.
플래시 메모리 칩(111∼114)은 플래시 메모리 소자(115∼118) 및 온-칩 ECC 회로(120∼123)으로 각각 구성된다. 각각의 온-칩 ECC 회로(120∼123)는 에러 정정 코드를 생성하여 에러를 정정하는 기능 뿐 아니라 에러 검출 주파수를 검사하는 기능을 가져, 데이터를 에러 검출률이 높은 영역에서 에러 검출률이 낮은 영역으로 이동시킨다.
도 2는 도 1에 도시된 플래시 메모리 칩의 온-칩 ECC 회로의 내부 구성을 도시한다. 온-칩 ECC 회로(120)는 잔여 다항식 레지스터(601), 정정 OK 플래그(605) 및 정정 실패(FAIL) 플래그(606)를 갖는 정정 플래그 레지스터(602), 에러 위치 레지스터(603), 에러값 레지스터(604), 제어 회로(607), 에러 정정 회로(608), 및 에러 정정 코딩 회로(609)를 포함한다. 다른 플래시 메모리 칩(112∼114) 상의 온-칩 ECC 회로(121∼123)는 동일한 구성을 갖는다.
도 3은 각 데이터 단위마다 생성된 에러 정정 코드를 나타낸다. 데이터(131)는 512 바이트의 8비트 단위를 갖는다.
에러 정정 코드 검사 심볼은 제어 장치(102)에서 ECC 회로(107)에 의해 데이터에 부가되는 5-심볼 외부 코드 검사 심볼(C1), 및 플래시 메모리 칩(111) 상의 온-칩 ECC 회로(120)에서의 에러 정정 코딩 회로(609)에 의해 데이터에 부가되는 3-심볼 내부 코드 검사 심볼(C2)으로 구성된다.
외부 코드 C1′(외부 코드 검사 코드 C1가 부가된 데이터)와 내부 코드 C2′(내부 코드 검사 코드 C2가 부가된 외부 코드 검사 코드 C1가 부가된 데이터)는 다음의 수학식에 의해 공식화되는 갈로아 필드 GF(210) 상의 BCH 코드들이다. 본 실시예에서, BCH 코드는 2진 BCH 코드 또는 RS(리드 솔로몬 코드) 코드이다. 다음의 설명은 RS 코드의 사용에 기초한 것이다. 본 실시예에서, 외부 코드 C1′와 내부 코드 C2′는 수학식 1에 의해 공식화되는 갈로아 필드 GF(210)의 RS 코드이다. 하나의 심볼은 갈로아 필드의 크기에 좌우되는 단위 크기를 가지며, 본 케이스의 경우 그 크기는 10바이트이다.
외부 코드 C1′는 다음의 수학식 2로 주어지는 생성 다항식을 갖고 있다.
내부 코드 C2′는 다음의 수학식 3으로 주어지는 생성 다항식을 갖고 있다.
수학식 2와 수학식 3에서 예시한 바와 같이, 외부 코드 C1′와 내부 코드 C2′의 생성 다항식은 루트의 연속 지수(continuous indexes of roots)를 갖는다. 특히, 수학식 2는 0 내지 4의 연속루트의 지수를 가지며, 수학식 3은 5 내지 7의 연속루트의 지수를 갖는다. 그리고, 이들은 0 내지 7의 연속루트를 갖는다.
다음에, 데이터 기록 동작을 상세히 설명한다.
512바이트 × 8비트의 데이터가 외부 버스(109)를 통해 외부 디바이스로부터 플래시 메모리 디스크(101)에 주어진다. 플래시 메모리 디스크(101)의 콘트롤러(102)는 입력 데이터를 외부 버스 인터페이스(106)를 통해 ECC 회로(107)에 전송한다.
GF(210)인 갈로아 필드를 사용하는 ECC 회로(107)는 512 바이트 × 8비트 데이터의 각 바이트마다 2비트의 더미 데이터 즉, d511(제511번째 byte), d510(제510번째 byte), d509,...,d0(d511 내지 d0는 8비트의 GF(28)로 표현되고, 512 바이트 × 10바이트의 데이터 즉, d511′, d510′, d509′,...,d0′를 발생하여 수학식 4의 코드 다항식을 얻는다.
외부 코드 검사 코드 C1은 5부호이고, x5으로 승산되는 코드 다항식 4인 수학식 5를 생성 다항식 2으로 나누어 얻어지는 잔여 다항식은 다음의 수학식 6에 의해 얻어진다.
다음에 수학식 6으로부터 외부 코드 검사 코드 C1으로서 R14, R13, R12, R11 및 R10이 얻어진다.
콘트롤러(102)는 512바이트 × 8비트의 입력 데이터와 5부호 × 10비트의 외부 코드 검사 코드 C1을 내부 버스 인터페이스(105)를 통해 d511, d510, .., d0, R14, R13, R12, R11 및 R10의 순으로 플래시 메모리 칩(111, 112, 113, 또는 114) 중 하나에 전송한다. 플래시 메모리칩(111)로의 전송을 본 명세서에서 추정해본다.
갈로아 필드 GF(210)을 사용하는 플래시 메모리칩(111)의 온칩 ECC 회로(120)내 에러 정정 코드 회로(609)는 51바이트 × 8비트 데이터 [d511, d510, d509, .. ,d0]의 각각의 바이트에 2비트의 더미 데이터 0을 첨가하여 512 바이트 × 10비트 d[d511′,d510′,d509′,..d0′]를 생성하고, 외부 코드 검사 코드 C1부호 × 10비트 [R14, R13, R12, R11, 및 R10]을 부가하여 수학식 7의 코드 다항식을 얻는다.
내부 코드 검사 코드 C2는 3부호이고, x3으로 승산되는 코드 다항식(7)인 수학식 8을 생성 다항식 3으로 나누어 얻어진 잔여 다항식은 수학식 9로 나타낸 것처럼 얻어진다.
다음에 다항식 9로부터 내부 코드 검사 코드 C2로서 R22, R21, R20이 얻어진다.
계속해서, 온칩 ECC 회로(120)내 에러 정정 코드 회로(609)는 512바이트 × 8비트 입력 데이터, 5부호 × 10비트 외부 코드 검사 코드 C1, 및 3부호 × 10비트 내부 코드 검사 코드 C2를 d511, d510,..,d0, R14, R13, R12, R11, R10, R22, R21, 및 R20)의 순으로 플래시 메모리 소자(115)내에 기록한다.
다음에, 데이터 판독동작을 설명한다. 여기서는 플래시 메모리칩(111)로부터의 데이터 판독인 것으로 한다.
온-칩 ECC 회로(120)내의 제어 회로(607)는 플래시 메모리 소자(115)로부터 에러 가능성 있는 데이터 [d511*, d510*,...,d0*, R14", R13", R12", R11", R22", R21", 및 R20"]를 판독하여서, 에러 정정 회로(608)에 전달한다.
도 4는 에러 정정 회로(608)의 동작을 흐름도를 사용하여 도시하였다.
단계 401은 판독된 데이터 [d511*, d510*,...,d0*, R14", R13", R12", R11", R22", R21", 및 R20"]로부터 다음의 부호 다항식을 구한다.
ECC 회로(107)는 GF(210)의 갈로아 필드(Galois field)를 사용하여서, 512-바이트 데이터 [d511*, d510*,...,d0*](이것들은 GF(28)인 8비트로 표현된 번호들임)의 각 바이트에 2-비트 더미 데이터 "0"을 추가하여, d511",...,d0"을 제공한다.
다음으로, 회로는 다학식(수학식 10)을 내부 코드 C2'의 생성 다항식(수학식 3)으로 나누어서 잔여 다항식이 존재하는지 그렇지 않은지에 따라 에러 존재 유무를 판정할 수 있다.
단계 402는 에러가 존재하면 단계 403으로 진행하며, 다른 경우 즉, 에러가 존재하지 않으면, 데이터 [d511*, d510*,...,d0*]와 외부 코드 검사 심볼 C1 [R14", R13", R12", R11", R10"]을 제어기(102)로 전송하고 처리를 종료한다.
단계 403은 다음의 잔여 다항식(수학식 11)에 대한 값 R32, R31, 및 R30을 잔여 다항식 레지스터(601)에 저장한다.
단계 404에서는, 에러 정정 회로(608)를 사용하여 1-심볼의 에러 정정을 실시한다. 구체적으로는, 에러 정정 회로(608)는 보통의 에러 트랩 디코딩 방법 등을 사용하여서, 에러 위치 T1 및 에러 값 T2를 계산한다. 도 5에 도시된 바와 같이, 에러 위치 T1=0은 내부 코드 검사 시스템 C2의 최하위 심볼을 나타내며, T1≥8은 512-바이트 데이터내에 에러가 존재함을 나타내며, 7≥T1≥3은 심볼 C1 내에 에러가 존재함을 나타내며, 2≥T2≥0은 내부 코드 검사 심볼 C2내에 에러가 존재함을 나타낸다.
계산된 에러 위치 T1 및 에러 값 T2를 사용하여 에러 정정을 실행하여, 에러-정정된 데이터 [d511"',d510"',...,d1"', d0"] 및 외부 코드 검사 심볼 C1 [R14"', R13"', R12"', R11"', R10"']을 구할 수 있다. 에러 정정은 에러 위치 T1에 해당하는 코드 심볼과 에러 값 T2과의 배타적 논리합을 취하여 그 결과 값을 그 위치의 심볼로 한다.
단계 405에서는, 에러 정정이 수행되었으면 단계 406으로 진행하고, 그렇지 않으면(에러 위치 T1 및 에러 값 T2의 계산이 잘못된 경우), 단계 408로 진행한다.
단계 406에서는, 에러 플래그 레지스터(602)의 정정 OK 플래그(605)를 온(ON)한다.
단계 407에서는, 에러 위치 T1을 에러 위치 레지스터(603)에 로딩하고, 에러 값 T2를 에러 값 레지스터(604)에 로딩한다. 단계는 에러 정정된 데이터 [d511"', d510"',...,d1"', d0"']에서 2-비트 더미 데이터 "0"을 제거한 8-비트 데이터 [d511*', d510*',...,d0*']와, 외부 코드 검사 심볼 C1 [R14"', R13"', R12"', R11"', R10"']을 제어기(102)에 전송하고 처리를 종료한다.
단계 408에서는, 정정 플래그 레지스터(602)의 정정 FAIL 플래그(606)를 온하고, 에러-정정되지 않은 데이터와 외부 코드 검사 심볼 C1 [d511*, d510*,...,d0*, R14", R13", R12", R11", R10"]을 제어기(102)에 전송하고 처리를 종료한다.
도 6은 ECC 회로(107)의 동작을 흐름도를 사용하여 도시하였다.
단계 501에서는, 플래시 메모리 칩(111)으로부터 에러-정정된 데이터 [d511*', d510*', ...,d1*', d0*']와 외부 코드 검사 심볼 C1 [R14"', R13"', R12"', R11"', R10"'], 또는 에러-정정되지 않은 데이터 [d511*, d510*,...,d1*, d0*]과 외부 코드 검사 심볼 C1 [R14", R13", R12", R11", R10"]을 판독한다.
단계 502에서는 외부 코드 C1'에 기초하여 에러 검사를 실시한다. 구체적으로는, 외부 코드 C1'의 생성 수식(수학식 2)의 해를, 플래시 메모리 칩(111)에서 판독된 데이터 및 외부 코드 검사 심볼 C1으로부터 구해진 코드 다항식 C(x)의 x에 대입하여서, 얻어진 값들 S0, S1, S2, S3, 및 S4 중의 적어도 하나가 0이 아닌지 또는 이들 값 모두가 0인지에 따라 에러의 존재 여부를 판정한다. 이 값들 S0, S1, S2, S3, 및 S4는 소위 "신드롬"이라 불린다.
단계 503에서는, 에러가 존재하지 않으면 단계 512로 진행하며, 그렇지 않은 경우 단계 504로 진행한다.
단계 504에서는, 플래시 메모리 칩(111)상의 정정 OK 플래그(605)를 판독하고, 정정 OK 플래그가 온이면, 즉 플래시 메모리 칩(111)에서 에러 정정이 시행되었다면 단계 505로 진행하며, 또는 정정 OK 플래그가 오프이면, 즉 플래시 메모리 칩(111)에서 에러 정정이 시행되지 않았다면 단계 S508로 진행한다.
단계 505에서는 플래시 메모리 칩(111)상의 에러 위치 탐사 장치 레지스터(603)로부터 에러 위치 T1을 판독하고, 에러 위치 T1와 에러 값 T2과의 배타적 논리 합을 취하여서, 플래시 메모리 소자(115)로부터 판독된 데이터를 복원한다.
단계 506에서는 외부 코드 C1'에 기초된 복원된 데이터와 외부 코드 검사 심볼 C1에 대해 다른 에러 검사를 실시하고, 신드롬 S0, S1, S2, S3, 및 S4를 재계산한다. 이 단계에서는 신드롬 S0, S1, S2, S3, 및 S4 중의 적어도 하나가 0이 아니거나 또는 신드롬 모두가 0인지에 따라 에러 존재 유무를 판정한다.
단계 507에서는 에러가 존재하지 않으면 단계 512로 진행하고, 그렇지 않은 경우 단계 508로 진행한다.
단계 508에서는 플래시 메모리 칩(111)상의 잔여 다항식 레지스터(601)로부터 잔여 다항식(수학식 11)을 판독하고, 수학식 12을 계산하여서 신드롬 S5, S6, 및 S7의 값을 구한다.
데이터 또는 외부 코드 검사 심볼 C1에서 3-심볼 에러가 발생하고, 에러들은 외부 코드 C1'(내부 코드 C2'로부터 본 에러 위치는 3 바이트만큼 시프팅된다)로부터 알 수 있는 에러 위치 K1, K2, 및 K3과, 에러 값들 E1, E2, 및 E3를 가지며, 신드롬 S0-S7은 다음 수학식 13으로 얻어진다고 가정한다.
S5, S6, 및 S7을 α15, α18, α21로 각각 나누면 다음 수학식 14이 얻어진다.
수학식 14에서, E1, E2, 및 E3는 에러 값을, K1, K2, 및 K3는 에러 위치들을 나타낸다. 수학식 14은 일반적인 3-심볼 정정 RS 코드의 신드롬과 동일하며, 3-심볼 에러 정정은 일반적인 에러 정정 알고리즘에 의해 행해질 수 있다. 일반적인 에러 정정 알고리즘은 피터슨(Peterson) 알고리즘, 유클리드 알고리즘, 및 쳉(Chien) 검색을 포함한다.
수학식 14에서 8개 신드롬 S0-S7이 사용되어 3-심볼 에러 정정을 실시한다.
단계 509에서는 정정이 행해졌으면 단계 512로 진행하며, 그렇지 않은 경우 단계 510으로 진행한다.
단계 510에서는 이전 단계 506에서 구한 5개 신드롬 S0-S4을 사용하여 2-심볼 에러 정정을 실시한다.
단계 511에서는 정정이 행해졌으면 단계 512로 진행하고, 그렇지 않은 경우 단계 513으로 진행한다.
단계 512에서 외부 버스 인터페이스(106)와 외부 버스(109)를 통해, 외부 장치에 데이터를 전송하고, 동작을 종료한다.
단계 513에서는 외부 버스 인터페이스(106)와 외부 버스(109)를 통해서, 외부 장치에 정정될 수 없는 에러의 발생을 통지하고, 동작을 종료한다.
이상의 제1 실시예에서, 제어기(102)내의 ECC 회로(107)의 제1 에러 정정 코드와, 플래시 메모리 칩(111-114)상의 ECC 회로(120-123)의 제2 에러 정정 코드들은 갈로아 필드(Galois field)를 사용한 BCH 코드(특히, RS 코드들임)이고, 이들 에러 정정 코드들의 생성 다항식은 연속하는 루트를 갖는다. ECC 회로(107)는 제1 에러 정정 코드를 사용하여서 제1 에러 정정 코딩을 실시하며, 플래시 메모리 칩(111-114)은 제2 에러 정정 코드들을 사용하여 제2 에러 정정 코딩을 실시한다.
플래시 메모리 칩(111-114)은 제2 에러 정정이 제2 에러 정정 코드를 사용하여 행해졌음을 나타내는 정정 정보, 에러 정정 도중의 계산 정보, 및 에러 위치와 에러 값의 정보를 제어기(102)에 통지한다. 제어기(102)는 플래시 메모리 칩(111-114)에 의해 제공된 정보를 사용하여, 제1 에러 정정 코드에 기초하여 에러를 검출한다. 만일 에러가 검출되면, 제어기(102)는 정정 정보와, 플래시 메모리 칩(111-114)에 의해 제공된 에러 위치 및 에러 값의 정보에 기초하여, 플래시 메모리 칩(111-114)에 의해 행해진 제2 에러 정정 결과를 소거한다.
제어기(102)는 계산 정보로부터 검색된 제2 에러 정정 코드의 신드롬과, 제어기(102)에 의해 계산된 제1 에러 정정 코드의 신드롬을 사용하여, 에러 위치 및 에러 값을 계산한다. 에러 정정은 계산된 에러 위치 및 에러 값에 기초되어 복원된 데이터에 대하여 수행된다.
상술된 바와 같이, 제1 실시예의 플래시 메모리 디스크(101)는 플래시 메모리 칩(111-114)상의 ECC 회로(120-123)의 1-심볼 에러 정정 능력과, 제어기(102)의 ECC 회로(107)의 2-심볼 에러 정정 능력으로부터 얻어진 3-심볼 에러 정정 능력을 갖는다. 그 결과, 제어기(102)의 ECC 회로(107) 플래시 메모리 칩들 상의 ECC 회로들을 사용하지 않은 채, 3-심볼 에러 정정 능력을 갖도록 설계된 경우에 비해, 회로 규모가 2/3만큼 저감된다. ECC 회로(107)의 코딩 회로 및 신드롬 발생기는 능력 정도에 비례하여 그 스케일이 증가했음을 인지하여야만 한다.
상기 설명에서는, 플래시 메모리 칩(111-114)상의 온-칩 ECC 회로(120-123)가 내부 코드 C2'의 코드 다항식을 생성 다항식으로 나누었을 때의 나머지인 잔여 다항식을 잔여 다항식 레지스터(601)를 거쳐 제어기(102)에 통지하였지만, 또 다른 방법은 신드롬 레지스터를 구비하여 내부 코드 C2'의 코드식에 생성 다항식의 해를 대입함으로써 구해진 신드롬 S5, S6, 및 S7을 통지하는 것이다.
다음으로, 본 발명의 제2 실시예가 설명될 것이다. 제1 실시예와는 대조되게, 제2 실시예는 제어기(102)가 데이터를 플래시 메모리 칩(111)에 의해 정정된 데이터로부터 정정되지 않은 데이터를 복원할 필요를 없애준다.
도 7은 이 실시예에 기초한 플래시 메모리 칩의 내부 구성의 블럭도를 도시한 것이다. 이 플래시 메모리 칩(111a)은 도 2에서 도시된 플래시 메모리 칩(111)으로부터 도출된 것으로, 에러 위치 레지스터(603) 및 에러값 레지스터(604)가 제거되었으며 플래시 메모리 소자(115)와 온-칩 ECC 회로(120a) 사이에 래치 회로(620)가 부가되었고 정정 플래그 레지스터(602a)에 에러 플래그(621)가 부가되었다.
래치 회로(620)는 플래시 메모리 소자(115)로부터 에러-가능 데이터 [d511*, d510*, …, d0*, R14", R13", R12", R11", R10", R22", R21", R20"]를 판독하여 보유하고, 이 데이터를 에러 정정 회로(608)에 로딩시키고 또한 이 데이터를 제어기(102)에 입력시킨다.
에러 플래그(621)는 에러 정정 회로(608)가 에러를 검출할 때는 "존재"를 나타내도록 셋트되고, 그렇지 않으면 "부재"를 나타내도록 리셋트된다. 도 2의 플래시 메모리 칩(112-114)에 대응하는 나머지 플래시 메모리 칩(112a-114a)은 동일한 구성을 갖는다.
도 8은 에러 정정 회로(608)의 동작에 대한 흐름도를 도시한 것이다.
단계(401)에서는 제1 실시예에서와 동일한 방법으로 판독 출력된 에러-가능 데이터 [d511*, d510*, …, d0*, R14", R13", R12", R11", R10", R22", R21", R20"]로부터 코드 다항식 (수학식 10)을 구한다. 이 단계에서, 코드 다항식 (수학식 10)을 내부 코드 C2'의 생성 다항식 (수학식 3)으로 나누었을 때의, 나머지의 존재 여부에 따라 에러의 존재 여부가 판정된다.
단계(402)에서 에러가 없으면 단계(4021)로 진행하고, 그렇지 않으면 단계(4022)로 진행한다. 단계(4021)에서는 에러 플래그(621)가 "부재"를 표시하도록 리셋트되어 처리가 종료된다. 단계(4022)에서는 에러 플래그(621)가 "존재"를 표시하도록 셋트된다.
단계(403)에서는 상기에서 언급한 잔여 다항식 (수학식 11)을 잔여 다항식 레지스터(601)에 저장한다.
단계(404)에서는 에러 정정 회로(608)에서 1-심볼 에러 정정이 행해져 에러 정정된 데이터 [d511"', d510"', …, d1"', d0"'] 및 외부 코드 검사 심볼 C1 [R14"', R13"', R12"', R11"', R10"']이 구해진다.
단계(405)에서 에러 정정이 행해졌으면 단계(406)로 진행하고, 그렇지 않으면 (에러 위치 T1 및 에러값 T2의 계산을 실패한 경우) 단계(408)로 진행한다.
단계(406)에서는 2-비트 더미가 제거된 채 에러 정정된 데이터 [d511"', d510"', …, d1"', d0"']인 데이터[d511*', …, d0*']와 외부 코드 검사 심볼 C1 [R14"', R13"', R12"', R11"', R10"']이 제어기(102)에 전송되어, 정정 플래그 레지스터(602) 내의 정정 OK 플래그(605)를 턴온시킴으로써 처리가 종료된다.
단계(408)에서는 정정 플래그 레지스터(602) 내의 정정 FAIL 플래그(606)를 턴온시킴으로써 처리가 종료된다.
도 9에서는 제어기(102) 내의 ECC 회로(107)의 동작에 대한 흐름도를 도시한 것이다.
단계(521)에서는 플래시 메모리 칩(111)으로부터 에러가 정정되지 않은 데이터 A [d511*, d510*, …, d0*,] 및 외부 코드 검사 심볼 C1A [R14", R13", R12", R11", R10"]를 판독하여, ECC 회로(107)에서 각 바이트마다 신드롬 A를 계산한다. 보다 상세히 기술하자면, 외부 코드 C1'의 생성 다항식 (수학식 2)의 루트(root)를 2-비트 더미 "0"이 가산된 데이터 A 및 외부 코드 검사 심볼 C1A로부터 구해진 코드 다항식 C(x)의 x에 대입함으로써, 신드롬 A [S0, S1, S2, S3, 및 S4]가 구해진다.
단계(522)에서는 온-칩 ECC 회로(120a) 내의 에러 플래그(621)를 검사하여, 만일 "존재"를 표시하면 단계(523)로 진행하고, "부재"를 표시하는 경우에는 단계(526)로 진행한다.
단계(523)에서는 플래시 메모리 칩(111) 내의 정정 OK 플래그(605)를 검사하여, 온(on)이면, 즉 플래시 메모리 칩(111)에서 에러 정정이 행해졌으면 단계(524)로 진행하고, 오프(off)인 경우, 즉 플래시 메모리 칩(111)에서 에러 정정이 행해지지 않았으면 단계(526)로 진행한다.
단계(524)에서는 플래시 메모리 칩(111a)으로부터 에러 정정된 데이터 B [d511*', d510*', …, d0*',] 및 외부 코드 검사 심볼 C1B [R14", R13", R12", R11", R10"]를 판독하여, 신드롬 B를 생성한다. 보다 상세히 기술하자면, 외부 코드 C1'의 생성 다항식 (수학식 2)의 루트를 2-비트 더미 "0"이 가산된 데이터 B 및 외부 코드 검사 심볼 C1B로부터 구해진 코드 다항식 C(x)의 x에 대입함으로써 신드롬 B [S0, S1, S2, S3, 및 S4]가 구해진다.
단계(525)에서는 신드롬 B가 "0"이면(S0, S1, S2, S3, 및 S4가 모두 "0"인 경우) 에러가 존재하지 않는다고 판정하여 단계(527)로 진행하고, 그렇지 않고 신드롬 B가 "0"이 아니면(S0, S1, S2, S3, 및 S4 중 어느 하나가 0이 아닌 경우) 에러가 존재하는 것으로 판단하여 단계(526)로 진행한다.
단계(526)에서는 신드롬 A가 "0"이면(S0, S1, S2, S3, 및 S4가 모두 "0"인 경우) 에러가 존재하지 않는다고 판정하여 단계(512)로 진행하고, 그렇지 않고 신드롬 A가 "0"이 아니면(S0, S1, S2, S3, 및 S4 중 어느 하나가 0이 아닌 경우) 에러가 존재하는 것으로 판단하여 단계(508)로 진행한다.
단계(508)에서는 도 6의 단계(508)에서와 동일한 방식으로 8개의 신드롬 S0-S7을 사용하여 데이터 A에 대한 3-심볼 에러 정정을 행한다.
단계(509)에서 정정이 행해졌으면 단계(512)로 진행하고, 그렇지 않으면 단계(510)로 진행한다.
단계(510)에서는 이전 단계(521)에서 구해진 신드롬 S0-S4를 사용하여 데이터 A에 대한 2-심볼 에러 정정을 행한다.
단계(511)에서 정정이 행해졌으면 단계(512)로 진행하고, 그렇지 않으면 단계(513)로 진행한다.
단계(512)에서 데이터 A 또는 정정된 데이터 A를 외부 버스 인터페이스(106) 및 외부 버스(109)를 통해 외부 장치로 전송함으로써 동작이 종료된다.
단계(513)에서 외부 버스 인터페이스(106) 및 외부 버스(109)를 통해 외부 장치에 대해 정정할 수 없는 에러의 발생을 표시함으로써 동작이 종료된다.
단계(527)에서 데이터 B를 외부 버스 인터페이스(106) 및 외부 버스(109)를 통해 외부 장치로 전송함으로써 동작이 종료된다.
상술된 바와 같이, 제2 실시예의 플래시 메모리 디스크(101a)는 이전의 제1 실시예의 플래시 메모리 디스크(101)와 동일한 효과를 달성하면서도 제어기(102)가 정정되지 않은 데이터를 복원할 필요가 없어진다.
다음에는, 본 발명에 기초한 플래시 메모리 카드에 대해 기술하기로 한다.
도 10은 플래시 메모리 카드를 사용하는 MPEG 카메라의 실시예의 정면도를 도시한 것이다. 참조 부호(10)는 MPEG 카메라를 나타내고, 참조 부호(900)는 플래시 메모리 카드를 나타낸다.
도 11은 플래시 메모리 카드의 구성에 대한 실시예를 도시한 것이다. 플래시 메모리 카드(900)는 제1 실시예의 플래시 메모리 칩(111-113) 또는 제2 실시예의 플래시 메모리 칩(111a-113a)과, 제1 및 제2 실시예의 제어기(102)와 동일한 카드 제어기(102a)로 구성된다. 플래시 메모리 카드(900)는 데이터 처리를 위해 MPEG 카메라(10)에 접속하기 위한 커넥터 단자(도시 안됨)를 포함한다.도 12는 플래시 메모리 카드의 데이터 포맷의 실시예를 도시한 것이다. 도시된 2048 바이트의 레코드는 카드 제어기(102a)에 의한 데이터 소거 단위이다. MPEG 카메라(10)에 의한 데이터 처리 단위인 512 바이트마다 에러 정정 코드 ECC가 부가된다.
데이터 처리 단위와 동일한 512-바이트 데이터에 대한 에러 정정 코드 ECC를 처리하는 플래시 메모리 카드(900)는 판독/기록 동작 시에 여분의 데이터를 판독 출력할 필요가 없으므로, 처리가 간략화되어 동작이 고속화된다. 데이터 소거 단위가 데이터 처리 단위의 2배 이상인 2048 바이트이기 때문에, 회로 규모를 감축시킬 수 있어 바이트당 처리 속도가 증가된다.
도 13a는 반도체 칩 상에 형성된 MMC(멀티-미디어 카드) 또는 "메모리 스틱" 등의 플래시 메모리 카드(900)에 대한 설계 절차의 흐름을 도시한 것이고, 도 13b는 플래시 메모리 카드(900)의 구성을 도시한 것이다. 플래시 메모리 칩(111-113)의 온-칩 ECC 회로(120-123)는 그대로 사용할 수 있으므로, 제어기(120) 및 에러 정정 기능 블럭에 대한 설계 단계(1401)만을 필요로 하여 설계 작업 및 제조 비용을 절감할 수 있다.
플래시 메모리 카드(900)는 도 14에 도시한 바와 같이 휴대 단말 장치(11)용으로 이용될 수도 있다.
다음으로, 본 발명에 기초한 플래시 메모리의 다른 실시예를 도 15, 16 및 17를 참조하여 설명한다.
도 15는 본 실시예의 플래시 메모리 카드를 이용하는 휴대용 기록/재생 유닛의 외관을 도시하고 있고, 도 16은 본 발명에 기초한 플래시 메모리의 다른 실시예의 블럭 다이어그램을 도시하고 있다.
플래시 메모리 카드(901)는 도 15에 도시한 바와 같이 음악 또는 음성 휴대용 기록/재생 유닛(12)에 적절하게 이용될 수 있다. 도 16에 도시한 플래시 메모리 카드(901)는 제1 실시예의 플래시 메모리 칩(111-113) 및 마이크로프로세서(902)로 구성되어 있다. 플래시 메모리 카드(901)는 데이터 송수신을 위해 음악 또는 음성 휴대용 기록/재생 유닛(902)와의 접속을 위한 커넥터 단자(도시되지 않음)를 가지고 있다.
에러 정정 기능은 고속 계산을 필요로 하므로, 시스템 성능에 악영향을 미치지 않으면서 마이크로프로세서(902)가 이를 처리하는 것은 힘들다. 이 때문에, 마이크로프로세서(902)는 외부와의 데이터 송수신을 위한 인터페이스 기능을 가지고 있지만, 에러 정정 기능을 가지고 있지 않다.
따라서, 도 17에 도시된 바와 같은 플래시 메모리의 데이터 포맷에서, 플래시 메모리 칩(111-113)상의 ECC 회로(120-123)에 의해 생성된 내부 코드 C2만이 에러 정정 코드 ECC로서 512 바이트의 각 데이터에 추가된다. 여기에서, 512 바이트는 음악 또는 음성 휴대용 기록/재생 유닛(12)의 데이터 처리 단위이다.
비싼 제어기 대신에 저렴한 마이크로프로세서(902)를 이용하는 이러한 플래시 메모리 카드(901)를 매우 저렴한 비용으로 제조할 수 있다. 음악 또는 음성 휴대용 기록/재생 유닛(12)의 데이터 처리 단위인 512-바이트 크기의 에러 정정 코드 ECC의 처리에 기초하므로, 판독/기록 동작시 다른 데이터 판독이 불필요하고, 따라서 처리를 단순화할 수 있을 뿐만 아니라 동작 속도를 향상시킬 수 있다. 데이터 소거 단위가 데이터 처리 단위보다 2배 이상이므로, 회로 규모를 감소시키고 바이트당 처리 속도를 향상시킬 수 있다.
이러한 플래시 메모리 카드(901)는 신뢰성의 측면에서는 플래시 메모리 카드(900)보다는 떨어지지만, 그 낮은 단가를 비교해보면 문제가 되지 않는다.
본 발명에 따른 기록/재생 장치 및 반도체 메모리는 이하의 효과를 발휘한다.
(a) 제1 및 제2 실시예의 기록/재생 장치는 반도체 메모리와 제어부 모두의 에러 정정 능력을 이용할 수 있으므로, 신뢰성을 향상시키고, 반도체 메모리가 에러 정정을 하더라도 장치는 그것에 의해 악영향을 받지 않는다. 특히, 예를 들면 반도체 메모리가 1-심볼 에러 정정 능력을 갖고 제어부가 2-심볼 에러 정정 능력을 가지고 있는 경우, 기록/재생 장치는 전체적으로 3-심볼 에러 정정 능력을 가지게 된다.
일반적으로, 에러 정정 회로의 코딩 회로 및 신드롬 생성 회로는 에러 정정 능력의 정도에 비례하여 그 크기가 더 커진다. 반면에, 본 발명에 따르면, 종래 설계와 비교할 때 제어부의 에러 정정 회로의 크기가 2/3으로 삭감될 수 있다.
(b) 제3 실시예의 메모리 카드는 반도체 메모리가 사용되는 장치에서의 데이터 처리 단위로 에러 정정 코드를 처리하여, 결과적으로 처리가 단순화될 수 있다. 데이터 처리 단위보다 큰 데이터 소거 단위를 선택함으로써, 회로 규모가 감소될 수 있고, 바이트당 처리 속도가 증가될 수 있다. 반도체 메모리의 에러 정정 능력이 그대로 이용될 수 있고, 에러 정정 기능을 갖는 반도체 메모리에 기초한 기록/재생 장치를 설계하는 것이 용이하게 된다.
(c) 제4 실시예의 기록/재생 장치는 반도체 메모리 칩과 마이크로프로세서만을 포함하도록 구성될 수 있으므로, 저렴한 단가로 제조될 수 있다.
본 발명은 그 사상 및 실질적인 특성을 벗어나지 않고서 다른 특정 형태로 실시될 수 있다. 그러므로, 본 실시예들은 모든 면에서 설명을 위해 제시한 것이지, 본 발명을 한정하는 것으로 받아 들여서는 안된다. 본 발명의 범위는 이하에첨부된 청구 범위에 한정되며, 청구 범위와 등가인 모든 변형과 상기 실시예들은 모두 본 발명의 범주에 포함된다.

Claims (22)

  1. 기록/재생 장치에 있어서,
    외부로부터 입력된 데이터에 대해 제1 에러 정정 코드를 발생시키는 제1 에러 정정 코드 발생기, 및 상기 제1 에러 정정 코드를 이용하여 에러 검출 및 정정을 실행하는 제1 에러 정정기를 구비한 제어부; 및
    상기 제어부에 의해 제공된 상기 제1 에러 정정 코드에 대해 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 제어부로부터의 상기 데이터와, 상기 제1 에러 정정 코드로부터 상기 데이터를 제외한 제1 에러 정정 코드 검사 심볼과, 상기 제2 에러 정정 코드로부터 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 제외한 제2 에러 정정 코드 검사 심볼을 저장하는 메모리, 및 상기 메모리로부터 판독된 상기 데이터와 상기 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기를 구비한 반도체 메모리부
    를 포함하며,
    상기 제2 에러 정정 코드는 상기 제1 에러 정정 코드와 동일한 갈로아 필드(Galois field) 내의 BCH 코드이고 연속적 루트(continuous root)를 가지며, 상기 제어부는 상기 제2 에러 정정기에 의해 제공된 에러 정정 결과를 이용하여 에러 정정을 실행하는 것을 특징으로 하는 기록/재생 장치.
  2. 기록/재생 장치에 있어서,
    외부와 데이터를 입출력하는 외부 인터페이스, 입력된 데이터에 대해 제1 에러 정정 코드를 발생시키는 제1 에러 정정 코드 발생기, 및 상기 제1 에러 정정 코드를 이용하여 에러 검출 및 에러 정정을 실행하는 제1 에러 정정기를 구비한 제어부; 및
    상기 제어부에 의해 제공된 상기 제1 에러 정정 코드에 대해, 상기 제1 에러 정정 코드와 동일한 갈로아 필드 내의 BCH 코드이고 연속적 루트를 갖는, 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 제어부로부터의 상기 데이터와, 상기 제1 에러 정정 코드로부터 상기 데이터를 제외한 제1 에러 정정 코드 검사 심볼과, 상기 제2 에러 정정 코드로부터 상기 데이터 및 제1 에러 정정 코드 검사 심볼을 제외한 제2 에러 정정 코드 검사 심볼을 저장하는 메모리, 및 상기 메모리로부터 판독된 상기 데이터와 상기 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기를 구비한 반도체 메모리부
    를 포함하며,
    상기 제어부는 상기 반도체 메모리부에 의해 제공된 에러 정정 결과를 이용하여 에러 정정을 실행하는 것을 특징으로 하는 기록/재생 장치.
  3. 제2항에 있어서,
    상기 정정 결과는, 상기 제2 에러 정정기가 상기 데이터 및 제1 에러 정정 코드 검사 심볼을 정정하였는지 여부에 대한 정보와, 에러 정정 도중의 계산 정보와, 검출된 에러 위치 및 에러값에 대한 정보와, 상기 메모리로부터 판독된 상기 데이터 및 제1 에러 정정 코드 검사 심볼을 포함하는 것을 특징으로 하는 기록/재생 장치.
  4. 제2항에 있어서,
    상기 정정 결과는, 상기 제2 에러 정정기가 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 정정하였는지 여부에 대한 정보와, 상기 제2 에러 정정기에 의해 정정된 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 포함하는 것을 특징으로 하는 기록/재생 장치.
  5. 기록/재생 장치에 있어서,
    외부와 데이터를 입출력하는 외부 인터페이스, 입력된 데이터에 대해 제1 에러 정정 코드를 발생시키는 제1 에러 정정 코드 발생기, 및 상기 제1 에러 정정 코드를 이용하여 에러 검출 및 정정을 실행하는 제1 에러 정정기를 구비한 제어부; 및
    상기 제어부에 의해 제공된 상기 제1 에러 정정 코드에 대해, 상기 제1 에러 정정 코드와 동일한 갈로아 필드 내의 BCH 코드이고 연속적 루트를 갖는, 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 제어부로부터의 상기 데이터와, 상기 제1 에러 정정 코드로부터 상기 데이터를 제외한 제1 에러 정정 코드 검사 심볼과, 상기 제2 에러 정정 코드로부터 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 제외한 제2 에러 정정 코드 검사 심볼을 저장하는 메모리, 상기 메모리로부터 판독된 상기 데이터와 상기 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기, 상기 제2 에러 정정기가 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 정정하였는지 여부에 대한 정보와, 에러 정정 도중의 계산 정보와, 검출된 에러 위치 및 에러값에 대한 정보를 상기 제1 에러 정정기에 통지하는 정정 정보 통지부, 및 상기 메모리로부터 판독된 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼 또는 상기 제2 에러 정정기에 의해 정정된 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 상기 제1 에러 정정기에 송신하는 데이터 송신기를 구비한 반도체 메모리부
    를 포함하며,
    상기 제1 에러 정정기는 상기 데이터 송신기에 의해 제공된 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 이용하여 에러를 검출하고, 만일 상기 제2 에러 정정기가 상기 데이터를 정정하였다면, 에러 위치 및 에러값을 이용하여 에러 정정되지 않은 데이터를 복원하고, 만일 상기 복원된 데이터 및 상기 제1 에러 정정 코드 검사 심볼에서 에러가 검출되면, 상기 제1 에러 정정 코드 검사 심볼 및 계산 정보를 이용하여 상기 복원된 데이터에 대해 에러 정정을 실행하고, 상기 제1 에러 정정 코드를 이용하여 에러 검출을 실행하며, 또는, 만일 상기 제2 에러 정정기가 상기 데이터 정정에 실패하였다면, 상기 제1 에러 정정 코드 검사 심볼 및 계산 정보를 이용하여 에러 정정되지 않은 데이터에 대해 에러 정정을 시도하고, 만일 에러 정정이 실패하면, 상기 제1 에러 정정 코드 검사 심볼을 이용하여 상기 복원된 데이터 또는 에러 정정되지 않은 데이터에 대해 에러 정정을 시도하는 것을 특징으로 하는 기록/재생 장치.
  6. 제 5항에 있어서,
    상기 BCH 코드는 RS 코드인 것을 특징으로 하는 기록/재생 장치.
  7. 제 5항에 있어서,
    상기 계산 정보는, 제2의 에러 정정 코드의 코드 다항식을 생성 다항식으로 나눈 나머지인 잔여 다항식 또는 제 2의 에러 정정 코드의 코드 다항식에 생성 다항식의 루트(root)를 대입하여 얻어진 신드롬(syndrome)을 포함하는 것을 특징으로 하는 기록/재생 장치.
  8. 기록/재생 장치에 있어서,
    외부와 데이터를 입출력하는 외부 인터페이스, 입력된 데이터에 대해 제1 에러 정정 코드를 발생시키는 제1 에러 정정 코드 발생기, 및 상기 제1 에러 정정 코드를 이용하여 에러 검출 및 정정을 실행하는 제1 에러 정정기를 구비한 제어부; 및
    상기 제어부에 의해 제공된 상기 제1 에러 정정 코드에 대해, 상기 제1 에러 정정 코드와 동일한 갈로아 필드 내의 BCH 코드이고 연속적 루트를 갖는, 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 제어부로부터의 상기 데이터와, 상기 제1 에러 정정 코드로부터 상기 데이터를 제외한 제1 에러 정정 코드 검사 심볼과, 상기 제2 에러 정정 코드로부터 상기 데이터 및 제1 에러 정정 코드 검사 심볼을 제외한 제2 에러 정정 코드 검사 심볼을 저장하는 메모리, 및 상기 메모리로부터 판독된 상기 데이터와 상기 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기를 구비한 반도체 메모리부
    를 포함하며,
    상기 제어부는, 에러 검출시, 상기 메모리로부터 판독된 데이터에 대해, 제 1의 에러 정정 코드 검사 심볼 및 상기 반도체 메모리부에 의해 제공된 계산 정보에 기초하여 에러 정정을 실행하고, 에러 정정 실패시, 제 1의 에러 정정 코드 검사 심볼을 사용하여 에러 정정을 실행하는 것을 특징으로 하는 기록/재생 장치.
  9. 제 8항에 있어서,
    상기 반도체 메모리부에 의해 상기 제어부에 제공된 상기 정보는 에러가 검출되었는지 여부에 대한 정보 및 에러 정정이 실행되었는지 여부에 대한 정보를 포함하는 것을 특징으로 하는 기록/재생 장치.
  10. 기록/재생 장치에 있어서,
    외부와 데이터를 입출력하는 외부 인터페이스, 입력된 데이터에 대해 제1 에러 정정 코드를 발생시키는 제1 에러 정정 코드 발생기, 및 상기 제1 에러 정정 코드를 이용하여 에러 검출 및 정정을 실행하는 제1 에러 정정기를 구비한 제어부; 및
    상기 제어부에 의해 제공된 상기 제1 에러 정정 코드에 대해, 상기 제1 에러 정정 코드와 동일한 갈로아 필드 내의 BCH 코드이고 연속적 루트를 갖는, 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 데이터와, 상기 제1 에러 정정 코드로부터 상기 데이터를 제외한 제1 에러 정정 코드 검사 심볼과, 상기 제2 에러 정정 코드로부터 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 제외한 제2 에러 정정 코드 검사 심볼을 저장하는 메모리, 상기 메모리로부터 판독된 상기 데이터와 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기, 상기 제2 에러 정정기가 에러를 검출했는지 여부에 대한 정보, 상기 데이터 및 상기 제 1 에러 정정 코드 검사 심볼이 정정되었는지 여부에 대한 정보 및 에러 정정 도중의 계산 정보를 상기 제 1 에러 정정기에 통지하는 정보 통지부 및 상기 메모리로부터 판독된 데이터 및 상기 제 1의 에러 정정 코드 검사 심볼과 상기 제 2 에러 정정기에 의해 정정된 데이터 및 상기 제 1 에러 정정 코드 검사 심볼을 상기 제 1 에러 정정기에 송신하는 데이터 송신기를 포함하는 반도체 메모리부
    를 포함하며,
    상기 제1 에러 정정기는, 상기 제 2 에러 정정기가 에러를 검출하지 않고 상기 메모리로부터 판독된 데이터에 대해 제 1 에러 정정 코드 검사 심볼을 이용하여 에러를 검출한 경우, 또는 상기 제 2 에러 정정기가 데이터 정정에 실패하고 상기 메모리로부터 판독된 데이터에 대해 제 1 에러 정정 코드 검사 심볼을 이용하여 에러를 검출한 경우, 또는 상기 제 2 에러 정정기에 의해 정정된 데이터에 대해 상기 제 2 에러 정정기가 제 1 에러 정정 코드 검사 심볼을 이용하여 에러를 검출한 경우에는, 제 1 에러 정정 코드 검사 심볼 및 계산 정보를 이용하여 상기 메모리로부터 판독된 데이터에 관한 에러 정정을 시도하며, 만약 에러 정정이 실패하면, 상기 메모리로부터 판독된 데이터에 대해, 제 1 에러 정정 코드 검사 심볼을 이용하여 에러 정정을 시도하는 것을 특징으로 하는 기록/재생 장치.
  11. 제 10항에 있어서,
    상기 BCH 코드는 RS 코드인 것을 특징으로 하는 기록/재생 장치.
  12. 제 10항에 있어서,
    상기 계산 정보는, 제 2의 에러 정정 코드의 코드 다항식을 생성 다항식으로 나눈 나머지인 잔여 다항식 또는 제 2의 에러 정정 코드의 코드 다항식에 생성 다항식의 루트를 대입하여 얻어지는 신드롬을 포함하는 것을 특징으로 하는 기록/재생 장치.
  13. 반도체 메모리에 있어서,
    제 1 에러 정정기에 의해 제공된 상기 제1 에러 정정 코드에 대해, 상기 제1 에러 정정 코드와 동일한 갈로아 필드 내의 BCH 코드이고 연속적 루트를 갖는, 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 데이터 및 제1 및 제 2 에러 정정 코드 검사 심볼을 저장하는 메모리, 상기 메모리로부터 판독된 상기 데이터와 상기 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기, 상기 제2 에러 정정기가 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 정정하였는지 여부에 대한 정보와, 에러 정정 도중의 계산 정보와, 검출된 에러 위치 및 에러값에 대한 정보를 상기 제1 에러 정정기에 통지하는 정정 정보 통지부, 및 상기 메모리로부터 판독된 상기 데이터 및 상기 제1 에러 정정 코드 검사 심볼 또는 상기 제2 에러 정정기에 의해 정정된 데이터 및 상기 제1 에러 정정 코드 검사 심볼을 상기 제1 에러 정정기에 송신하는 데이터 송신기
    를 포함하는 것을 특징으로 하는 반도체 메모리.
  14. 제 13항에 있어서,
    상기 BCH 코드는 RS 코드인 것을 특징으로 하는 반도체 메모리.
  15. 제 13항에 있어서,
    상기 계산 정보는, 제 2의 에러 정정 코드의 코드 다항식을 생성 다항식으로 나눈 나머지인 잔여 다항식 또는 제 2의 에러 정정 코드의 코드 다항식에 생성 다항식의 루트를 대입하여 얻어진 신드롬을 포함하는 것을 특징으로 하는 반도체 메모리.
  16. 반도체 메모리에 있어서,
    제 1 에러 정정기에 의해 제공된 상기 제1 에러 정정 코드에 대해, 상기 제1 에러 정정 코드와 동일한 갈로아 필드 내의 BCH 코드이고 연속적 루트를 갖는, 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 데이터와, 제 1 및 제 2 에러 정정 코드 검사 심볼을 저장하는 메모리, 상기 메모리로부터 판독된 상기 데이터와 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기, 상기 제2 에러 정정기가 에러를 검출했는지 여부에 대한 정보, 상기 데이터 및 제 1 에러 정정 코드 검사 심볼이 정정되었는지 여부에 대한 정보 및 에러 정정 도중의 계산 정보를 상기 제 1 에러 정정기에 통지하는 정보 통지부 및 상기 메모리로부터 판독된 데이터 및 제 1의 에러 정정 코드 검사 심볼과 상기 제 2 에러 정정기에 의해 정정된 데이터 및 제 1 에러 정정 코드 검사 심볼을 상기 제 1 에러 정정기에 송신하는 데이터 송신기
    를 포함하는 것을 특징으로 하는 반도체 메모리.
  17. 제 16항에 있어서,
    상기 BCH 코드는 RS 코드인 것을 특징으로 하는 반도체 메모리.
  18. 제 16항에 있어서,
    상기 계산 정보는, 제 2의 에러 정정 코드의 코드 다항식을 생성 다항식으로 나눈 나머지인 잔여 다항식 또는 제 2의 에러 정정 코드의 코드 다항식에 생성 다항식의 루트를 대입하여 얻어진 신드롬을 포함하는 것을 특징으로 하는 반도체 메모리.
  19. 반도체 메모리에 있어서,
    데이터를 저장하는 메모리부,
    상기 메모리부로부터 판독된 데이터에 대해, 판독 또는 기입되는 데이터 처리 단위마다 에러를 정정하는 에러 정정부, 및
    상기 메모리부에 저장된 데이터를 상기 데이터 처리 단위의 2배 이상의 단위로 소거하는 데이터 소거부를 포함하는 것을 특징으로 하는 반도체 메모리.
  20. 메모리 카드에 있어서,
    외부로부터 입력된 데이터에 대해 제1 에러 정정 코드를 발생시키는 제1 에러 정정 코드 발생기, 및 상기 제1 에러 정정 코드를 이용하여 에러 검출 및 정정을 실행하는 제1 에러 정정기를 구비한 카드 제어부;
    상기 카드 제어부에 의해 제공된 데이터 및 상기 제1 에러 정정 코드에 대해 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 제어부로부터의 상기 데이터와, 상기 제1 에러 정정 코드로부터 상기 데이터를 제외한 제1 에러 정정 코드 검사 심볼과, 상기 제2 에러 정정 코드로부터 상기 데이터 및 제1 에러 정정 코드 검사 심볼을 제외한 제2 에러 정정 코드 검사 심볼을 저장하는 메모리, 및 상기 메모리로부터 판독된 상기 데이터와 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기를 구비한 반도체 메모리부;및
    외부 장치와 데이터를 입출력하는 접속부를 포함하며,
    상기 제2 에러 정정 코드는 상기 제1 에러 정정 코드와 동일한 갈로아 필드 내의 BCH 코드이고 연속적 루트를 가지며, 상기 제어부는 상기 제2 에러 정정기에 의해 제공된 에러 정정 결과를 이용하여 에러 정정을 실행하는 것을 특징으로 하는 메모리 카드.
  21. 메모리 카드에 있어서,
    외부와 데이터를 입출력하는 외부 인터페이스, 입력된 데이터에 대해 제1 에러 정정 코드를 발생시키는 제1 에러 정정 코드 발생기, 및 상기 제1 에러 정정 코드를 이용하여 에러 검출 및 정정을 실행하는 제1 에러 정정기를 구비한 카드 제어부;
    상기 카드 제어부에 의해 제공된 데이터 및 상기 제1 에러 정정 코드에 대해, 상기 제1 에러 정정 코드와 동일한 갈로아 필드 내의 BCH 코드이고 연속적 루트를 갖는, 제2 에러 정정 코드를 발생시키는 제2 에러 정정 코드 발생기, 상기 제어부로부터의 상기 데이터와, 상기 제1 에러 정정 코드로부터 상기 데이터를 제외한 제1 에러 정정 코드 검사 심볼과, 상기 제2 에러 정정 코드로부터 상기 데이터 및 제1 에러 정정 코드 검사 심볼을 제외한 제2 에러 정정 코드 검사 심볼을 저장하는 메모리, 및 상기 메모리로부터 판독된 상기 데이터와 상기 제1 및 제2 에러 정정 코드 검사 심볼을 이용하여 에러 검출 및 정정을 실행하는 제2 에러 정정기를 구비한 반도체 메모리부;및
    외부 장치와 데이터를 입출력하는 접속부를 포함하며,
    상기 카드 제어부는, 에러 검출시, 제 1의 에러 정정 코드 검사 심볼 및 상기 반도체 메모리부에 의해 제공된 계산 정보에 기초하여 에러 정정을 실행하고, 에러 정정 실패시, 상기 메모리로부터 판독된 데이터에 대해 제 1의 에러 정정 코드 검사 심볼을 사용하여 에러 정정을 실행하는 것을 특징으로 하는 메모리 카드.
  22. 삭제
KR10-2000-0051038A 1999-12-16 2000-08-31 기록/재생 장치, 반도체 메모리 및 이 반도체 메모리를이용하는 메모리 카드 KR100391240B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP35734999A JP3975245B2 (ja) 1999-12-16 1999-12-16 記録再生装置および半導体メモリ
JP1999-357349 1999-12-16

Publications (2)

Publication Number Publication Date
KR20010067139A KR20010067139A (ko) 2001-07-12
KR100391240B1 true KR100391240B1 (ko) 2003-07-12

Family

ID=18453681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0051038A KR100391240B1 (ko) 1999-12-16 2000-08-31 기록/재생 장치, 반도체 메모리 및 이 반도체 메모리를이용하는 메모리 카드

Country Status (4)

Country Link
US (1) US6651212B1 (ko)
JP (1) JP3975245B2 (ko)
KR (1) KR100391240B1 (ko)
TW (1) TW479170B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370699B2 (en) 2008-03-25 2013-02-05 Samsung Electronics Co., Ltd. Semiconductor memory apparatus for reducing bus traffic between NAND flash memory device and controller
KR101846643B1 (ko) 2015-02-03 2018-04-06 인피니언 테크놀로지스 아게 제1 데이터 채널의 제1 데이터 및 제2 데이터 채널의 제2 데이터를 포함하는 결합 데이터 프레임에 대한 결합 에러 정정 코드를 제공하기 위한 방법 및 장치와 센서 시스템
US10289508B2 (en) 2015-02-03 2019-05-14 Infineon Technologies Ag Sensor system and method for identifying faults related to a substrate

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836236B2 (en) * 2004-02-12 2010-11-16 Super Talent Electronics, Inc. Extended secure-digital (SD) devices and hosts
US20020095680A1 (en) * 2001-01-12 2002-07-18 Davidson Robert J. Personal movie storage module
JP4112849B2 (ja) * 2001-11-21 2008-07-02 株式会社東芝 半導体記憶装置
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
US7296213B2 (en) * 2002-12-11 2007-11-13 Nvidia Corporation Error correction cache for flash memory
US7606157B2 (en) * 2003-01-23 2009-10-20 Broadcom Corporation Apparatus and method for communicating arbitrarily encoded data over a 1-gigabit ethernet
JP2004246754A (ja) 2003-02-17 2004-09-02 Renesas Technology Corp 半導体記憶装置およびその制御装置
EP1460542B1 (en) 2003-03-19 2018-10-31 Micron Technology, INC. Integrated memory system comprising at least a non-volatile memory and an automatic error corrector
KR100981999B1 (ko) 2003-03-20 2010-09-13 유니버시티 오브 미시간 집적회로의 처리단 내에서의 시스템적이고 랜덤한 오류의검출 및 회복
US8650470B2 (en) 2003-03-20 2014-02-11 Arm Limited Error recovery within integrated circuit
US8185812B2 (en) 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
US7260001B2 (en) 2003-03-20 2007-08-21 Arm Limited Memory system having fast and slow data reading mechanisms
US8576820B2 (en) 2003-07-03 2013-11-05 Broadcom Corporation Standby mode for use in a device having a multiple channel physical layer
US8645803B2 (en) * 2010-05-10 2014-02-04 Ternarylogic Llc Methods and systems for rapid error correction by forward and reverse determination of coding states
US7426676B2 (en) * 2004-01-14 2008-09-16 Broadcom Corporation Data retrieval from a storage device using a combined error correction and detection approach
US7389465B2 (en) * 2004-01-30 2008-06-17 Micron Technology, Inc. Error detection and correction scheme for a memory device
US7069369B2 (en) * 2004-02-12 2006-06-27 Super Talent Electronics, Inc. Extended-Secure-Digital interface using a second protocol for faster transfers
US8060670B2 (en) * 2004-03-17 2011-11-15 Super Talent Electronics, Inc. Method and systems for storing and accessing data in USB attached-SCSI (UAS) and bulk-only-transfer (BOT) based flash-memory device
CN100454226C (zh) * 2004-07-08 2009-01-21 松下电器产业株式会社 主机、存储装置以及对存储装置的访问方法
US7466597B2 (en) 2004-09-09 2008-12-16 Samsung Electronics Co., Ltd. NAND flash memory device and copyback program method for same
JP4695385B2 (ja) 2004-11-30 2011-06-08 株式会社東芝 メモリカードおよびカードコントローラ
GB2428496A (en) * 2005-07-15 2007-01-31 Global Silicon Ltd Error correction for flash memory
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US20070089023A1 (en) * 2005-09-30 2007-04-19 Sigmatel, Inc. System and method for system resource access
JP4846384B2 (ja) * 2006-02-20 2011-12-28 株式会社東芝 半導体記憶装置
US7773421B2 (en) * 2006-05-08 2010-08-10 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
US8077516B2 (en) * 2006-05-08 2011-12-13 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
US7471562B2 (en) * 2006-05-08 2008-12-30 Macronix International Co., Ltd. Method and apparatus for accessing nonvolatile memory with read error by changing read reference
JP2007305267A (ja) * 2006-05-15 2007-11-22 Toshiba Corp 半導体記憶装置
US20070268905A1 (en) * 2006-05-18 2007-11-22 Sigmatel, Inc. Non-volatile memory error correction system and method
JP4901334B2 (ja) * 2006-06-30 2012-03-21 株式会社東芝 メモリコントローラ
US8015473B2 (en) * 2006-12-19 2011-09-06 Intel Corporation Method, system, and apparatus for ECC protection of small data structures
KR100856129B1 (ko) * 2006-12-29 2008-09-03 삼성전자주식회사 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
KR100872186B1 (ko) 2007-01-04 2008-12-09 삼성전자주식회사 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
JP4905161B2 (ja) * 2007-01-31 2012-03-28 富士通株式会社 Raid装置及びガロア体を用いたデータ復元装置
KR100907218B1 (ko) * 2007-03-28 2009-07-10 삼성전자주식회사 읽기 레벨 제어 장치 및 그 방법
KR100873824B1 (ko) * 2007-05-04 2008-12-15 삼성전자주식회사 오류 제어 코드 장치 및 그 방법
US8060798B2 (en) 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
US8001444B2 (en) * 2007-08-08 2011-08-16 Intel Corporation ECC functional block placement in a multi-channel mass storage device
JP4621715B2 (ja) 2007-08-13 2011-01-26 株式会社東芝 メモリ装置
US7770079B2 (en) * 2007-08-22 2010-08-03 Micron Technology Inc. Error scanning in flash memory
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US20090070655A1 (en) * 2007-09-11 2009-03-12 Silicon Motion, Inc. Method for Generating an ECC Code for a Memory Device
JP4856110B2 (ja) * 2008-03-01 2012-01-18 株式会社東芝 チェンサーチ装置およびチェンサーチ方法
US8171386B2 (en) 2008-03-27 2012-05-01 Arm Limited Single event upset error detection within sequential storage circuitry of an integrated circuit
JP2010097600A (ja) * 2008-09-22 2010-04-30 Panasonic Corp 半導体記録装置
US20100100797A1 (en) * 2008-10-16 2010-04-22 Genesys Logic, Inc. Dual mode error correction code (ecc) apparatus for flash memory and method thereof
JP5259343B2 (ja) 2008-10-31 2013-08-07 株式会社東芝 メモリ装置
TWI396202B (zh) * 2008-11-14 2013-05-11 Phison Electronics Corp 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法
KR101655306B1 (ko) * 2010-02-24 2016-09-07 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
US8418026B2 (en) * 2010-10-27 2013-04-09 Sandisk Technologies Inc. Hybrid error correction coding to address uncorrectable errors
US20120110244A1 (en) * 2010-11-02 2012-05-03 Micron Technology, Inc. Copyback operations
US8484542B2 (en) 2011-02-08 2013-07-09 Sandisk Technologies Inc. Data recovery using additional error correction coding data
US8493120B2 (en) 2011-03-10 2013-07-23 Arm Limited Storage circuitry and method with increased resilience to single event upsets
TW201239893A (en) * 2011-03-25 2012-10-01 Silicon Motion Inc Method for enhancing data protection performance, and associated personal computer and storage medium
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US9021336B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US8972824B1 (en) * 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
KR101979734B1 (ko) 2012-08-07 2019-05-17 삼성전자 주식회사 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
KR102004928B1 (ko) 2012-12-04 2019-07-29 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 에러 정정 코드 처리 방법
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9262263B2 (en) 2013-11-25 2016-02-16 Qualcomm Incorporated Bit recovery system
US9378081B2 (en) 2014-01-02 2016-06-28 Qualcomm Incorporated Bit remapping system
US9454422B2 (en) 2014-01-30 2016-09-27 International Business Machines Corporation Error feedback and logging with memory on-chip error checking and correcting (ECC)
KR102579014B1 (ko) * 2018-11-06 2023-09-15 삼성전자주식회사 에러 정정 코드 디코더, 반도체 메모리 장치 및 메모리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990045218A (ko) * 1997-11-13 1999-06-25 야스카와 히데아키 불휘발성 기억 장치, 불휘발성 기억 장치의 제어 방법 및 불휘발성 기억 장치를 제어하는 프로그램을 기록한 정보 기록 매체

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849975A (en) 1987-11-10 1989-07-18 International Business Machines Corporation Error correction method and apparatus
JPH07114077B2 (ja) 1989-06-01 1995-12-06 三菱電機株式会社 不揮発性半導体記憶装置
JPH0387000A (ja) * 1989-08-30 1991-04-11 Mitsubishi Electric Corp 半導体記憶装置
JP3482676B2 (ja) * 1994-03-15 2003-12-22 ソニー株式会社 データ記録方法及びデータ記録装置
JPH09244961A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp フラッシュata−pcカード
JPH09330273A (ja) * 1996-06-10 1997-12-22 Mitsubishi Electric Corp メモリカードおよびメモリカードにおける誤り訂正方法
US5754567A (en) * 1996-10-15 1998-05-19 Micron Quantum Devices, Inc. Write reduction in flash memory systems through ECC usage
JPH10198608A (ja) * 1997-01-08 1998-07-31 Mitsubishi Electric Corp メモリカード
JPH10207726A (ja) * 1997-01-23 1998-08-07 Oki Electric Ind Co Ltd 半導体ディスク装置
US5961660A (en) * 1997-03-03 1999-10-05 International Business Machines Corporation Method and apparatus for optimizing ECC memory performance

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990045218A (ko) * 1997-11-13 1999-06-25 야스카와 히데아키 불휘발성 기억 장치, 불휘발성 기억 장치의 제어 방법 및 불휘발성 기억 장치를 제어하는 프로그램을 기록한 정보 기록 매체

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370699B2 (en) 2008-03-25 2013-02-05 Samsung Electronics Co., Ltd. Semiconductor memory apparatus for reducing bus traffic between NAND flash memory device and controller
KR101489827B1 (ko) * 2008-03-25 2015-02-04 삼성전자주식회사 낸드 플래시 메모리와 컨트롤러 간의 효율적인 프로토콜을사용하는 반도체 메모리 장치
KR101846643B1 (ko) 2015-02-03 2018-04-06 인피니언 테크놀로지스 아게 제1 데이터 채널의 제1 데이터 및 제2 데이터 채널의 제2 데이터를 포함하는 결합 데이터 프레임에 대한 결합 에러 정정 코드를 제공하기 위한 방법 및 장치와 센서 시스템
US10289508B2 (en) 2015-02-03 2019-05-14 Infineon Technologies Ag Sensor system and method for identifying faults related to a substrate
US10298271B2 (en) 2015-02-03 2019-05-21 Infineon Technologies Ag Method and apparatus for providing a joint error correction code for a combined data frame comprising first data of a first data channel and second data of a second data channel and sensor system
US10931314B2 (en) 2015-02-03 2021-02-23 Infineon Technologies Ag Method and apparatus for providing a joint error correction code for a combined data frame comprising first data of a first data channel and second data of a second data channel and sensor system
US11438017B2 (en) 2015-02-03 2022-09-06 Infineon Technologies Ag Method and apparatus for providing a joint error correction code for a combined data frame comprising first data of a first data channel and second data of a second data channel and sensor system

Also Published As

Publication number Publication date
JP3975245B2 (ja) 2007-09-12
KR20010067139A (ko) 2001-07-12
JP2001175542A (ja) 2001-06-29
TW479170B (en) 2002-03-11
US6651212B1 (en) 2003-11-18

Similar Documents

Publication Publication Date Title
KR100391240B1 (ko) 기록/재생 장치, 반도체 메모리 및 이 반도체 메모리를이용하는 메모리 카드
EP0864125B1 (en) Data integrity and cross-check code with logical block address
US7844880B2 (en) Error correction for flash memory
EP0117287B1 (en) Method for correcting errors in digital data and system employing such method
US7278085B1 (en) Simple error-correction codes for data buffers
US6574774B1 (en) Physical block address recovery apparatus system and method for cyclic error correction codes
US7231585B2 (en) Error correction for flash memory
JPH11508712A (ja) ディスクドライブバッファ内のデータを保護するための方法および装置
EP1560215A2 (en) Improved data retrieval from a storage device using a combined error correction and detection approach
US7890846B2 (en) Electronic data flash card with Reed Solomon error detection and correction capability
JPH08330975A (ja) 誤り訂正符号復号化方法およびこの方法を用いる回路
US7310765B1 (en) Method and apparatus for checking read errors with two cyclic redundancy check stages
JP2009295273A (ja) 誤り訂正符号エンティティのための消失訂正のコンピュータ実現化方法
JP4790790B2 (ja) 誤り検出訂正回路及び半導体メモリ
EP1293978A1 (en) Coding/decoding process and device, for instance for disk drives
US20040098654A1 (en) FIFO memory with ECC function
JP2004362758A (ja) 記憶媒体から検索されたデータの誤りを訂正するシステムおよび方法、ならびにコンピュータにこれらの誤りを訂正させるためのコンピュータ実行可能な命令を含むコンピュータ読取可能な記憶媒体
US7665009B2 (en) Device, data sector, method of processing data, and signal-bearing medium embodying program of device
EP1499026A1 (en) Error correction decoding method and apparatus
JP2000349652A (ja) 誤り訂正手段を備えた記憶装置
US11824560B2 (en) ECC decoders having low latency
CN116954981A (zh) 存储数据的方法、读取数据的方法和相关设备
KR19980026491A (ko) 디지털 신호계의 에러와 이레이저의 정정장치
JPH10116478A (ja) エラー訂正方法および装置
JP2000137650A (ja) 誤り訂正方法

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: 20130621

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140626

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150618

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee