KR100543447B1 - 에러정정기능을 가진 플래쉬메모리장치 - Google Patents

에러정정기능을 가진 플래쉬메모리장치 Download PDF

Info

Publication number
KR100543447B1
KR100543447B1 KR1020030021114A KR20030021114A KR100543447B1 KR 100543447 B1 KR100543447 B1 KR 100543447B1 KR 1020030021114 A KR1020030021114 A KR 1020030021114A KR 20030021114 A KR20030021114 A KR 20030021114A KR 100543447 B1 KR100543447 B1 KR 100543447B1
Authority
KR
South Korea
Prior art keywords
data
parity
page
page buffer
correction
Prior art date
Application number
KR1020030021114A
Other languages
English (en)
Other versions
KR20040086923A (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 KR1020030021114A priority Critical patent/KR100543447B1/ko
Priority to JP2004095529A priority patent/JP2004311010A/ja
Priority to DE602004003275T priority patent/DE602004003275T2/de
Priority to EP04007598A priority patent/EP1465203B1/en
Priority to US10/817,061 priority patent/US7296128B2/en
Priority to CN2004100477591A priority patent/CN1551244B/zh
Priority to CN201310047282.6A priority patent/CN103136068B/zh
Priority to CN2011100089100A priority patent/CN102034545A/zh
Publication of KR20040086923A publication Critical patent/KR20040086923A/ko
Application granted granted Critical
Publication of KR100543447B1 publication Critical patent/KR100543447B1/ko
Priority to US11/874,821 priority patent/US20080163030A1/en
Priority to US13/486,387 priority patent/US20120239866A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • 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/26Sensing or reading circuits; Data output circuits

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

Abstract

본 발명은 낸드형 플래쉬메모리에서의 카피백에 관한 것이다. 고유의 비트에러가 전사되는 것을 방지하기 위하여, 본 발명에 따른 낸드형 플래쉬메모리는, 페이지버퍼에 특정 페이지의 저장된 상기 원데이타의 비트에러를 정정하는 회로, 상기 원데이타를 상기 회로로 제공하고 상기 회로에 의해 정정된 보정데이타를 상기 페이지버퍼로 제공하는 수단, 그리고 상기 원데이타를 상기 페이지버퍼로 복사하고 상기 페이지버퍼로부터 상기 보정데이타를 다른 페이지에 저장하는 수단을 포함한다.
카피백, 페이지버퍼, 에러정정

Description

에러정정기능을 가진 플래쉬메모리장치{FLASH MEMORY WITH ERROR CORRECTION FOR PAGE COPY}
도 1은 낸드형 플래쉬메모리에서 종래의 카피백 동작을 보여주는 도면이다.
도 2는 낸드형 플래쉬메모리에서 본 발명에 따른 카피백시의 에러정정 과정을 개략적으로 보여주는 도면이다.
도 3은 본 발명에 따른 에러정정회로의 구성도이다.
도 4는 페이지버퍼와 에러정정회로사이의 데이타전송을 위한 회로 구성을 보여주는 회로도이다.
도 5는 페이지버퍼와 에러정정회로 사이의 데이타 전송과정을 개략적으로 보여주는 타이밍도이다.
도 6은 본 발명에 따른 컬럼패리티 및 라인패리티 발생 방식을 보여주는 도면이다.
도 7은 도 6에 보인 컬럼패리티를 발생하는 회로도이다.
도 8은 도 6에 보인 라인패리티를 발생하는 회로도이다.
도 9는 본 발명에 따라 페이버퍼로부터 에러정정회로로의 데이타전송과정을 상세하게 보여주는 타이밍도이다.
도 10은 본 발명에 따른 에러정정과정을 보여주는 순서도이다.
본 발명에 따른 도면들에서 실질적으로 동일한 구성과 기능을 가진 구성요소들에 대하여는 동일한 참조부호를 사용한다.
본 발명은 플래쉬메모리에 관한 것으로서, 특히 낸드(NAND)형 플래쉬메모리의 카피백에 관한 것이다.
고집적 대용량에 유용한 낸드형 플래쉬메모리는 비휘발성메모리로서 현재 이동통신환경, 셋탑박스 도는 게임기 등에서 널리 사용되고 있으며, 그 응용범위가 증가하고 있다. 낸드형 플래쉬메모리에는 메모리로서의 기본적 기능인 읽기, 쓰기(또는 프로그램) 및 소거 동작을 수행할 수 있으며, 새로운 응용에 부합하기 위하여 카피백(copy-back) 기능이 요구된다.
카피백은 낸드형 플래쉬메모리에서 특정 어드레스의 페이지에 저장된 데이타를 다른 어드레스의 페이지로 옮기는 기능이다. 카피백 동작은, 특정 어드레스의 페이지에 저장된 데이타를 내부의 페이지버퍼에 임시로 저장한 다음 메모리의 외부로 독출하는 과정없이 저장된 페이지 데이타를 곧바로 쓰기(또는 프로그램) 데이타로 이용하여 다른 어드레스의 페이지에 저장한다. 카피백 기능을 이용함에 의해, 옮기고자 하는 데이타를 읽어내는 동작과 다시 특정 어드레스의 페이지에 대한 쓰기 동작을 위한 데이타 로딩동작을 생략할 수 있으므로, 시스템의 처리속도에 관련 된 성능을 향상시킬 수 있다.
그러나, 도 1에 보인 바와 같이, 페이지 PG4에 저장된 데이타를 페이지 PGn-3으로 옮기는 카피백 과정에서, 읽고자 하는 페이지인 PG4와 쓰고자 하는 페이지인 PGn-3에 각각 1비트씩의 에러가 존개하는 경우가 있다. 그러한 상태에서, PG4의 데이타가 페이지버퍼 10으로 임시 저장된 후 PGn-3에 쓰여지게 되면, 결과적으로 2비트의 에러가 PGn-3에 나타나게 된다. 현재, 카드형 메모리컨트롤러의 대부분은 하나의 페이지당 1비트의 에러를 보정할 수 있도록 설계되는 것이 기본이지만, 도 1의 경우와 같이 카피백 후에 발생되는 2비트의 에러에 대하여는 복원하는 것이 불가능하다.
이와 같은 문제점을 해결하기 위하여, 카피백 기능이 내장된 플래쉬메모리를 채용하는 메모리 컨트롤러에 1페이지당 2비트의 에러를 정정할 수 있는 회로를 추가할 수는 있지만, 회로가 복잡하고 효율성이 떨어진다.
따라서, 본 발명의 목적은 낸드형 플래쉬메모리에서 카피백 동작에 따른 비트 에러를 줄일 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 낸드형 플래쉬메모리에서 카피백 과정에서 원래의 비트에러가 전사되는 것을 방지하는 장치 및 방법을 제공함에 있다.
전술한 본 발명의 목적을 달성하기 위하여, 본 발명에 실시예에 따른 낸드형 플래쉬메모리는, 페이지버퍼에 특정 페이지에 저장된 원데이타의 비트에러를 정정하는 회로, 상기 원데이타를 상기 회로로 제공하고 상기 회로에 의해 정정된 보정 데이타를 상기 페이지버퍼로 제공하는 수단, 그리고 상기 원데이타를 상기 페이지버퍼로 복사하고 상기 페이지버퍼로부터 상기 보정데이타를 다른 페이지에 저장하는 수단을 포함한다.
본 발명의 실시예에 따른 낸드형 플래쉬메모리는 상기 원데이타로부터 상기 보정데이타를 생성하고 전송하는 과정에서 별도의 버퍼를 사용하지 않고 낸드형 플래쉬메모리에서 통상의 프로그램 또는 독출동작을 위하여 사용되는 페이지버퍼를 이용한다.
상기 원데이타는 프로그램과정에서 생성된 고유의 패리티를 갖고 있으며, 상기 회로는 상기 원데이타로부터 새로운 패리티를 생성하고 상기 새로운 패리티와 상기 고유의 패리티를 비교한다.
또한, 본 발명의 실시예에 따른 카피백 방법은, 상기 원데이타를 상기 페이지버퍼에 저장하는 단계; 상기 페이지버퍼에 저장된 상기 원데이타로부터 새로운 패리티를 생성하는 단계; 상기 고유의 패리티와 상기 새로운 패리티를 비교하는 단계; 상기 비교결과에 응답하여 상기 원데이타에 대한 보정데이타를 형성하는 단계; 그리고 상기 보정데이타를 상기 페이지버퍼를 통하여 상기 다른 어드레스의 페이지로 옮기는 단계를 순차적으로 진행한다.
본 발명이 적용되는 메모리는 낸드형 플래쉬메모리로서, 집적회로 카드 등과 같은 휴대용 카드 장치에 채용될 수 있다.
본 발명에 따른 낸드형 플래쉬메모리는 다수개의 메모리셀들이 스트링 형태 로 배열되고, 메모리셀들의 스트링들은 행과 열로 배열된 워드라인들과 비트라인들에 연결되어 있다.
본 발명에 따른 낸드형 플래쉬메모리는 또한 어드레스에 의해 지정되는 복수개의 페이지들로 구분된다. 각 페이지는 하나의 워드라인에 연결된 다수개의 메모리셀들로 구성되며, 하나의 페이지를 구성하는 메모리셀들의 비트라인들에 각각 연결된다. 각 페이지는 읽기 및 쓰기의 기본단위가 된다.
본 발명에 따른 낸드형 플래쉬메모리는 메모리셀의 데이타를 지우는 소거동작, 일정한 페이지에 데이타를 쓰는 프로그램동작, 메모리셀에 저장된 데이타를 메모리의 외부로 읽어내는 독출동작, 소거 또는 프로그램된 데이타에 대한 검증동작, 그리고 메모리 외부로 데이타를 독출하지 않고 특정 페이지의 데이타를 다른 페이지로 옮겨 저장하는 카피백동작을 수행하도록 설계된다.
이러한 기능적인 동작들을 수행하기 위하여, 본 발명에 따른 낸드형 플래쉬메모리는 프로그램, 독출, 또는 카피백 동작시에 데이타를 로딩하거나 메모리셀로부터 읽혀진 데이타를 일시적으로 저장하는 페이지버퍼회로를 가진다. 또한, 외부에서 제공되는 어드레스에 응답하여 페이지 또는 메모리셀의 지정하기 위한 버퍼 및 디코더와, 데이타값을 감지하기 위한 센스앰프, 데이타의 입출을 통제하는 게이트회로, 그리고 제동작들을 통제하고 관리하기 위한 제어회로를 포함한다.
본 발명에 따른 실시예는 카피백 동작에 관련된 에러 감지 및 정정에 관하여 기술될 것이며, 낸드형 플래쉬메모리의 다른 동작들(소거, 프로그램, 독출 등)에 관하여는 생략하거나 간단히 설명할 것이다. 그러나, 본 발명에 따른 낸드형 플래 쉬메모리에서 그러한 동작들이 당연히 수행될 수 있음을 이해하여야 한다.
후술되는 본 발명의 실시예에서는, 외부로 데이타가 읽혀지는 동작을 "독출(read)"로 정의하고, 특정 페이지의 데이타가 페이지버퍼로 옮겨지는 동작을 "복사(copy)"로 정의하고, 그리고 페이지버퍼로부터 다른 페이지로 데이타가 옮겨지는 동작을 "전사"로 정의한다. 또한, 비트 에러를 가진 특정 페이지의 데이타를 "원데이타"로 정의하고, 에러정정되어 다른 페이지로 전사될 데이타를 "보정데이타"로 정의한다.
이하, 본 발명에 따른 실시예를 첨부된 도면들 도 2 내지 도 9를 참조하여 설명한다.
도 2는 본 발명에 따른 카피백시의 에러 감지 및 정정 과정을 개략적으로 보여준다. 먼저, 페이지 PG4에 저장된 데이타가 읽기 과정을 통하여 페이지버퍼 10에 저장된다. 페이지버퍼 10에 저장된 PG4의 데이타(즉, 원데이타)는 다른 페이지 PGn-3에 쓰이기(또는 전사되기) 전에 에러정정회로(ECC) 20를 통하여 에러정정된다. 그 후, 에러정정된 데이타(즉, 보정데이타)는 페이지버퍼 10을 통하여 다른 페이지 PGn-3에 프로그램된다. 그 결과, 원데이타가 보유하고 있던 에러 비트가 도 1의 경우와 같이 다른 페이지에 전사되는 현상이 방지된다.
전사된 페이지 PGn-3에 자체적인 1비트의 에러가 있더라도 통상의 에러 감지 및 정정기능에 의하여 보정될 것이다. 본 발명에 따른 카피백 동작에서의 에러 감지 및 정정 과정에 관한 구체적인 예는 후술될 것이다.
도 3은 본 발명에 따른 카피백시의 에러 감지 및 정정을 위한 기능적인 구성 과 상호연결관계를 보여 주며, 도 4는 에러정정을 위하여 원데이타 및 보정데이타를 전송하기 위하여 페이지버퍼와 입출력라인(I/O) 사이에 배치된 래치/컬럼디코딩 블럭(LDB)의 구성을 보여 준다.
도 3을 참조하면, 페이지버퍼 10에 임시로 저장된 원데이타 De가 에러정정회로 20으로 제공되면, 이전의 프로그램과정에서 생성되어 일부 메모리영역에 저장되어 있던 구(old) 패리티 OP와 복사과정에서 새롭게 발생된 신(new) 패리티 NP를 비교기 50에서 비교한다. 여기서, 신 패리티 NP는 카피백동작 중에 발생되는 비트에러(진행성 비트에러)에 대한 정정을 위하여 발생되는 패리티 데이타이다. 구 패리티 OP와 신 패리티 NP는 동일한 방식으로 발생된다. 구 패리티 OP와 신 패리티 NP를 비교한 후, 에러가 있는 해당 어드레스에 관한 정보 Ae가 비교기 50으로부터 출력된다. 에러 어드레스정보 Ae를 입력한 에러정정 논리회로 60은 원데이타 De의 에러를 보정한 다음 보정데이타 Dc를 제어신호들 CNT와 함께 페이지버퍼 10으로 전송한다. 본 발명에 따른 패리티의 발생과 비교에 관하여는 후술될 것이다.
도 4는 페이지버퍼를 통한 원데이타 및 보정데이타의 입출력 경로를 보여 준다. 도 4를 참조하면, 특정 어드레스의 페이지의 원데이타는 각각의 입출력라인들 I/O0~I/On-1에 대응하여 배치된 래치/컬럼디코딩 블럭들 LDB0~LDBn을 통하여 도 3의 에러정정회로 20으로 제공된다. 또한, 에러정정회로 20에 의한 보정데이타는, 래치/컬럼디코딩 블럭들 LDB1~LDBn을 통하여 다른 페이지로 전사된다.
특정 어드레스의 페이지의 원데이타(De)는 페이지버퍼 센싱 블럭 12에 의해 읽혀진 다음 각각의 비트라인들에 대응하는 래치들 LCH0~LCHn-1에 임시 저장된다. 래치들에 저장된 원데이타는 컬럼 디코딩에 의해 제어되는 게이트신호들 YA0~YAn-1 및 YB0~YBn-1에 응답하여 컬럼게이트들(또는 Y-게이트들) AF0~AFn-1 및 BG0~BGn-1을 통하여 입출력라인들 I/O0~I/On-1으로 순차적으로 전송된다. 예컨대, 비트라인 BL0에 해당하는 원데이타 비트가 입출력라인 I/O0를 통하여 에러정정회로 20로 전송되기 위해서는, 도 5에 보인 바와 같이, 게이트신호 YA0 및 YB0가 동시에 "하이"상태로 활성화되어 있어야 한다(Error Data Out).
에러정정회로 20의 동작에 의해 보정된 데이타(Dc)는 입출력라인들 I/O0~I/On-1을 통하여 입력되어 각각의 비트라인들에 대응하는 래치들에 일시저장된다. 예컨대, 비트라인 BL0에 대응하는 보정데이타 비트가 에러정정회로 20으로부터 입출력라인 I/O0를 통하여 페이지버퍼로 전송되기 위해서는, 도 5에 보인 바와 같이, 게이트신호 YA0 및 YB0가 동시에 "하이"상태로 활성화되어 있어야 한다(Corrected Data In). 입출력라인들과 컬럼게이트들을 통하여 전송된 보정데이타는 상기 래치들에 저장된 다음 다른 페이지로 전사될 것이다.
도 6은 본 발명에 따라 패리티를 발생시키는 과정을 보여 준다. 패리티를 발생시키는 방식에는 병렬방식과 직렬방식이 있으나, 본 발명의 실시예에서는 회로적인 부담을 줄이기 위하여 직렬방식을 채용한다.
본 발명의 실시예에서 패리티발생의 대상이 되는 원데이타는 예컨대 8비트-512바이트로 구성된다. 본 발명의 실시예에서는, 하나의 바이트(Byte)를 구성하는 8비트에 대한 컬럼패리티와, 각각 8비트로 된 512바이트에 대한 라인패리티를 구한다.
컬럼패리티와 라인패리티를 발생하는 회로는 도 7과 도 8에 각각 도시되어 있으며, 이 회로들은 도 4의 패리티발생회로 40에 내장된다. 컬럼 또는 라인패리티의 발생은 해당하는 비트 또는 바이트에서의 비트에러를 검출하기 위하여 가능한 조합들을 익스클루시브-오아(Exclusive-OR; XOR) 논리 연산으로 처리한다.
먼저, 도 6 및 도 7과 아래의 표 1을 참조하여 컬럼패리티를 발생하는 과정을 설명한다. 표 1은 하나의 바이트를 구성하는 원데이타의 8비트에 대한 컬럼패리티 비트들 CP1, nCP1, CP2, nCP2, CP4, nCP4를 생성하기 위한 익스클루시브-오아 논리 조합들을 나타낸 것이다.
컬럼패리티 계 산 식
b7 b6 b5 b4 b3 b2 b1 b0
CP1 * * * *
nCP1 * * * *
CP2 * * * *
nCP2 * * * *
CP4 * * * *
nCP4 * * * *
표 1에 따른 6개의 컬럼패리티비트들의 연산식들은 다음과 같다. "*"은 익스클루시브-오아 논리연산자를 나타낸다.
CP1 = b7 * b5 * b3 * b1
nCP1 = b6 * b4 * b2 * b0
CP2 = b7 * b6 * b3 * b2
nCP2 = b5 * b4 * b1 * b0
CP4 = b7 * b6 * b5 * b4
nCP4 = b3 * b2 * b1 * b0
이와같은 컬럼패리티 발생을 위한 연산조합을 구현하기 위하여, 도 7을 참조하면, 각 컬럼패리티비트는 4개의 XOR 게이트들(XR)과 하나의 플립플럽 FF를 통하여 발생된다. 각 입출력라인은 각 데이타비트에 대응한다. 즉, 컬럼패리티비트 nCP4는, 입출력라인 I/O0 및 I/O1에 입력이 연결된 XR1, 입출력라인 I/O2 및 I/O3에 입력이 연결된 XR2, XR1 및 XR2의 출력에 입력이 연결된 XR13, XR13의 출력과 궤환되는 컬럼패리티비트 nCP4를 입력으로 하는 XR19, 그리고 XR19의 출력을 입력하여 컬럼패리티비트 nCP4를 발생하는 플립플럽 FF6을 통하여 발생된다. nCP4와 상보되는(complementary) 컬럼패리티비트 CP4는, 입출력라인 I/O4 및 I/O5에 입력이 연결된 XR3, 입출력라인 I/O6 및 I/O7에 입력이 연결된 XR4, XR3 및 XR4의 출력에 입력이 연결된 XR14, XR14의 출력과 궤환되는 컬럼패리티비트 CP4를 입력으로 하는 XR20, 그리고 XR20의 출력을 입력하여 컬럼패리티비트 CP4를 발생하는 플립플럽 FF5를 통하여 발생된다.
컬럼패리티비트 nCP2는, 입출력라인 I/O0 및 I/O1에 입력이 연결된 XR5, 입출력라인 I/O4 및 I/O5에 입력이 연결된 XR6, XR5 및 XR6의 출력에 입력이 연결된 XR15, XR15의 출력과 궤환되는 컬럼패리티비트 nCP2를 입력으로 하는 XR21, 그리고 XR21의 출력을 입력하여 컬럼패리티비트 nCP2를 발생하는 플립플럽 FF4를 통하여 발생된다. nCP2와 상보되는 컬럼패리티비트 CP2는, 입출력라인 I/O2 및 I/O3에 입력이 연결된 XR7, 입출력라인 I/O6 및 I/O7에 입력이 연결된 XR8, XR7 및 XR8의 출력에 입력이 연결된 XR16, XR16의 출력과 궤환되는 컬럼패리티비트 CP2를 입력으로 하는 XR22, 그리고 XR22의 출력을 입력하여 컬럼패리티비트 CP2를 발생하는 플립플럽 FF3를 통하여 발생된다.
컬럼패리티비트 nCP1은, 입출력라인 I/O0 및 I/O2에 입력이 연결된 XR9, 입출력라인 I/O4 및 I/O6에 입력이 연결된 XR10, XR9 및 XR10의 출력에 입력이 연결된 XR17, XR17의 출력과 궤환되는 컬럼패리티비트 nCP1을 입력으로 하는 XR23, 그리고 XR23의 출력을 입력하여 컬럼패리티비트 nCP1을 발생하는 플립플럽 FF2를 통하여 발생된다. nCP1과 상보되는 컬럼패리티비트 CP1은, 입출력라인 I/O1 및 I/O3에 입력이 연결된 XR11, 입출력라인 I/O5 및 I/O7에 입력이 연결된 XR12, XR11 및 XR12의 출력에 입력이 연결된 XR18, XR18의 출력과 궤환되는 컬럼패리티비트 CP1을 입력으로 하는 XR24, 그리고 XR24의 출력을 입력하여 컬럼패리티비트 CP1을 발생하는 플립플럽 FF1을 통하여 발생된다.
각 컬럼패리티비트가 해당하는 플립플럽의 전단에 위치한 XOR게이트로 궤환입력되는 것은, 페이지버퍼에 복사된 원데이타에서 현재 데이타비트와 다음 데이타비트간의 변동을 검출(즉, 카피백 중에 발생되는 진행성 비트에러를 검출)하여 직렬로 처리하기 위함이다. 클럭신호 CLK와 리셋신호 RST가 플립플럽들 FF1~FF6에 공통으로 인가된다. 따라서, 플립플럽들 FF1~FF6은 클럭신호 CLK의 매 주기마다 상승에지에 응답하여 해당하는 컬럼패리티비트를 출력한다.
컬럼패리티를 발생함에 있어서, 가령 b3가 에러비트라고 가정하면, 컬럼패리티비트들 중 CP1, CP2 및 nCP4가 "1"로 나타날 것이다.
다음으로, 도 6 및 도 8과 아래의 표 2를 참조하여 라인패리티를 발생하는 과정을 설명한다. 표 2는 바이트 단위로 모두 512개의 바이트들에 대한 라인패리티 비트들 LP1, nLP1,.., LP512, nLP512를 생성하기 위한 익스클루시브-오아(XOR) 논리 조합들을 나타낸 것이다. XOR 논리연산을 위한 조합방식은 전술한 컬럼패리티들에 대한 방식과 동일함을 알 수 있다.
라인 패리티 계 산 식
B512 B511 B510 B509 .. B256 B255 B254 B253 .. B4 B3 B2 B1
LP1 * * .. * * .. * *
nLP1 * * .. * * .. * *
LP2 * * .. * * .. * *
nLP2 * * .. * * .. * *
LP4 * * * * .. * * * * ..
nLP4 .. .. * * * *
.. ...
LP512 * * * * .. ..
nLP512 .. * ** * .. * * * *
표 2에 따른 1024개의 라인패리티비트들의 연산식들은 다음과 같다. "*"은 익스클루시브-오아 논리연산자를 나타내며, "^B"는 8개의 데이타비트들을 포괄하는 XOR연산결과를 나타내며(즉, ^B = b7 * b6 * b5 * b4 * b3 * b2 * b1 * b0), 이를 이하 "단위 바이트 패리티비트"라 칭한다.
LP1 = ^B512 * ^B510 *..* ^B256 * ^B254 *..* ^B4 * ^B2
nLP2 = ^B511 * ^B509 *..* ^B255 * ^B253 *..* ^B3 * ^B1
LP2 = ^B512 * ^B511 *..* ^B256 * ^B255 *..* ^B4 * ^B3
nLP2 = ^B510 * ^B509 *..* ^B254 * ^B253 * .. ^B2 * ^B1
LP4 = ^B512 * ^B511 * ^B510 * ^B509 *..* ^B256 * ^B255 * ^B254 * ^B253
*..* ^B8 * ^B7 * ^B6 * ^B5
nLP4 = ^B508 * ^B507 * ^B506 * ^B505 *..* ^B252 * ^B252 * ^B250 * ^B249
*..* ^B4 * ^B3 * ^B2 * ^B1
......................................
LP512 = ^B512 * B511 * ^B510 * ^B509 *..* ^B260 * ^B259 * ^B258 * ^B257
nLP512 = ^B256 * ^B255 * ^B254 * ^B253 *..* ^B4 * ^B3 * ^B2 * ^B1
이와같은 라인패리티를 발생하기 위한 연산조합을 구현하기 위하여, 도 8을 참조하면, 한 바이트를 구성하는 8비트들에 대한 XOR연산결과를 XOR게이트들 XR31~XR37을 통하여 먼저 산출한다(^B). 이로부터 512개의 라인패리티비트들 LP1~LP512 및 512개의 상보 라인패리티비트들 nLP1~nLP512를 발생하기 위하여 단위 바이트 패리티비트 ^B가 산출되는 XOR게이트 XR37의 출력을 1024개로 분지하고, 각각의 분지된 비트경로가 각각의 해당하는 클럭제어신호들 CLK1~CLK512 및 nCLK1~nCLK512에 응답하여 라인패리티비트들로 발생되도록 한다.
즉, XOR게이트 XR37로부터 발생된 단위 바이트 패리티비트 ^B는 낸드게이트들 ND1~ND1024에 공통으로 인가된다. 8개의 데이타비트들 중 어느 하나가 에러비트이면 ^B는 "1"로 나타난다. 낸드게이트들 ND1~ND1024는 클럭제어신호들 nCLK1, CLK1, nCLK2, CLK2,..,nCLK512, CLK512에 의해 그것들의 비트경로가 제어된다. 낸드게이트들 ND1~ND1024의 출력들은 XOR게이트들 XOR1~XOR1024에 각각 입력된다. XOR게이트들 XOR1~XOR1024는 또한 해당하는 라인패리티비트들 nLP1, LP1,..,nLP512, LP512를 각각 입력한다. XOR1~XOR1024의 출력은 플립플럽들 FF1~FF1024을 통하여 해당하는 라인패리티비트들로 발생된다.
도 9의 타이밍도는 페이지버퍼 10으로부터 에러정정회로 20으로 원데이타를 보내기 위한 게이트제어신호들 및 클럭제어신호들의 상태를 보여준다. 도 9의 타이밍도는 전술한 도 4 내지 도 8의 회로동작에 관련되어 있다. 도 9의 타이밍도에서 진행되는 원데이타 전송과정은 도 4의 첫번째 래치/컬럼디코딩 블럭 LDB1을 통하여 이루어지는 것을 일례로 한다.
먼저, 게이트제어신호 YB1이 하이레벨인 상태에서 게이트제어신호들 YA1~YAn이 순차적으로 하이레벨로 됨에 따라 각 비트라인에 대응하는 데이타비트들이 대응하는 입출력라인 I/O를 통하여 에러정정회로 20으로 전송된다. 마찬가지로, 게이트신호 YB0 내지 YBn-1이 순차적으로 각각 하이레벨인 동안 게이트신호들 YA0~YAn-1이 순차적으로 하이레벨로 되면서 n개의 비트들이 입출력라인을 통하여 에러정정회로로 공급되어, 총 512 바이트의 원데이타가 에러정정회로로 제공된다.
한편, 에러정정회로 20에서는, 클럭신호 CLK가 일정한 주기로 발진(oscillating)함에 따라 도 7에 보인 컬럼패리티 발생회로의 플립플럽들 FF1~FF6은 컬럼패리티비트 CP1/nCP1~CP4/nCP4들을 출력한다. 클럭신호 CLK로부터 분주되어 생성되는 클럭제어신호들 CLK1/nCLK1~CLK512/nCLK512에 응답하여 도 8에 보인 라인패리티제어회로의 낸드게이트들 ND1~ND1024가 비트경로를 활성화시키고, 클럭신호 CLK에 응답하여 플립플럽들 FF1~FF1024로부터 라인패리티비트들 LP1/nLP1~LP512/nLP512가 발생된다.
도 10은 본 발명에 따른 카피백중의 에러정정 과정을 일괄적으로 보여준다. 먼저, 통상적인 프로그램과정에서 패리티(구 패리티)를 발생하여(단계 S1) 이를 메모리의 스페어영역에 저장한다(단계 S2). 그 다음, 특정 어드레스의 페이지로부터 원데이타를 페이지버퍼로 복사하는 동안 전술한 과정(도 6 내지 도 8)을 통하여 신패리티를 발생시킨 후(단계 S3), 에러정정회로 20의 비교기 50에서 원 패리티 OP와 신 패리티 NP를 비교한다(단계 S4). 512 바이트의 데이타에 대하여 구 패리티 OP와 신 패리티는 예를 들면 24비트로 동일한 비트수이다.
구 패리티와 신 패리티를 비교한 결과, 구 패리티 및 신 패리티의 각 24비트가 모두 동일하면(즉, XOR연산에 의한 비교결과값이 "0"이면) 에러가 없는 것으로 처리된다(단계 S5). 그러나, 24비트 중에 1/2인 12비트에 대한 비교결과값이 "1"이면 1-비트에러로 감지된다. 한편, 24비트 중에 1비트에 대한 비교결과값만이 "1"로 나타나면, 이는 원래의 1-비트에러로서 복사된 페이지에서 원래 갖고 있던 치유 가능한 단일에러로 인식된다. 다른 한편으로, 전술한 다른 상태로 비교결과가 나타나는 경우에는 적어도 2비트 이상의 에러가 있는 경우이다.
이와 같은 에러상태에 대하여 커맨드에 응답하게 하여 사용자로 하여금 알 수 있도록 하는 것이 가능하다. 또한, 본 발명의 실시예에서 보인 에러정정회로 20은 본 발명에 따른 낸드형 플래쉬메모리에 내장되어 있다.
전술한 실시예에서 보인 본 발명의 수단 또는 방법에 준하여 본 발명의 기술분야에서 통상의 지식을 가진 자는 본 발명의 범위내에서 본 발명의 변형 및 응용이 가능하다.
본 발명의 실시예에 의하면, 특정어드레스의 페이지에 저장된 원데이타에 존재하는 에러비트를 정정한 다음 다른 페이지로 프로그램함에 의해, 카피백 후에 원데이타의 에러비트가 전사되는 것을 방지하는 효과가 있다.
또한, 본 발명의 실시예에 의하면, 에러정정을 위한 별도의 버퍼를 사용하지 않고 낸드형 플래쉬메모리에서 사용되는 페이지버퍼를 이용하기 때문에, 카피백시의 에러정정을 위한 회로 구성상의 부담을 줄이는 이점이 있다.
또한, 본 발명의 실시예에 의하면, 카피백 동작에서 뿐만 아니라 정상동작시에 페이지버퍼를 통한 데이타의 이동과정에서 발생될 수 있는 진행성 비트에러를 치유할 수 있는 수단을 제공하는 효과가 있다.

Claims (19)

  1. 비휘발성메모리에 있어서:
    데이타를 저장하는 복수개의 페이지들;
    페이지단위의 데이타를 임시로 저장하는 페이지 버퍼:
    상기 페이지버퍼에 저장되어 있는 원데이타의 비트에러를 정정하는 회로;
    상기 페이지 버퍼로부터 상기 원데이타를 상기 회로로 제공하고, 상기 회로에 의해 정정된 보정데이타를 상기 페이지버퍼로 제공하는 수단; 그리고
    상기 복수개의 페이지들 중 어느 하나로부터 상기 원데이타를 상기 페이지버퍼로 복사하고, 상기 페이지버퍼로부터 상기 보정데이타를 다른 페이지로 저장하는 수단을 포함하며,
    상기 보정데이타를 다른 페이지로 저장하는 수단은, 상기 원데이타에 대한 보정이 수행된 이후에 상기 보정데이타를 저장함을 특징으로 하는 비휘발성메모리.
  2. 제1항에 있어서,
    상기 원데이타가 고유의 패리티를 갖고 있음을 특징으로 하는 비휘발성메모리.
  3. 제2항에 있어서,
    상기 회로가, 상기 원데이타로부터 새로운 패리티를 생성하고, 상기 새로운 패리티와 상기 고유의 패리티를 비교함을 특징으로 하는 비휘발성메모리.
  4. 제3항에 있어서,
    상기 회로가:
    상기 원데이타에서 하나의 바이트를 구성하는 비트들에 대한 컬럼패리티를 생성하는 회로; 그리고
    상기 원데이타에서 소정갯수의 비트들로 구성된 바이트들에 대한 라인패리티를 생성하는 회로를 구비함을 특징으로 하는 비휘발성메모리.
  5. 제1항에 있어서,
    상기 비휘발성메모리가 낸드형 플래쉬메모리임을 특징으로 하는 비휘발성메모리.
  6. 비휘발성메모리에 있어서:
    데이타를 저장하는 복수개의 페이지들로 구성된 데이타 저장영역;
    상기 페이지들에 대한 프로그램 동작 중에 발생된 제1패리티를 상기 데이타 저장영역의 스페어영역에 저장하는 제1수단;
    페이지단위의 데이타를 저장하는 페이지버퍼;
    상기 페이지들 중 특정 어드레스의 페이지에 저장된 원데이타를 상기 페이지버퍼에 복사하는 제2수단;
    상기 페이지버퍼에 저장된 상기 원데이타로부터 제2패리티를 생성하는 제3수단;
    상기 제1패리티와 상기 제2패리티를 비교한 결과에 응답하여 상기 원데이타의 보정데이타를 상기 페이지버퍼로 전송하는 제4수단; 그리고
    상기 페이지버퍼에 저장된 보정데이타를 상기 페이지들 중 다른 어드레스의 페이지에 저장하는 제5수단을 포함하며,
    상기 제 5 수단은, 상기 원데이타에 대한 보정이 수행된 이후에 상기 보정데이타를 저장함을 특징으로 하는 비휘발성메모리.
  7. 삭제
  8. 제6항에 있어서,
    상기 제2패리티가 컬럼패리티와 라인패리티로 이루어짐을 특징으로 하는 비휘발성메모리.
  9. 제8항에 있어서,
    상기 제3수단이:
    상기 원데이타에서 하나의 바이트를 구성하는 비트들에 대한 컬럼패리티를 생성하는 회로; 그리고
    상기 원데이타에서 소정갯수의 비트들로 구성된 바이트들에 대한 라인패리티를 생성하는 회로를 구비함을 특징으로 하는 비휘발성메모리.
  10. 제6항에 있어서,
    상기 비휘발성메모리가 낸드형 플래쉬메모리임을 특징으로 하는 비휘발성메모리.
  11. 페이지단위의 데이타를 저장하는 페이지버퍼를 가지는 비휘발성메모리에서 특정 어드레스의 페이지에 저장되며 고유의 패리티를 포함하는 원데이타를 다른 어드레스의 페이지로 옮기는 방법에 있어서:
    상기 원데이타를 상기 페이지버퍼에 저장하는 단계;
    상기 페이지버퍼에 저장된 상기 원데이타로부터 새로운 패리티를 생성하는 단계;
    상기 고유의 패리티와 상기 새로운 패리티를 비교하는 단계;
    상기 비교결과에 응답하여 상기 원데이타에 대한 보정데이타를 형성하는 단계; 그리고
    상기 보정데이타를 상기 페이지버퍼를 통하여 상기 다른 어드레스의 페이지로 저장하는 단계가 순차적으로 이루어짐을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 원데이타를 상기 페이지버퍼에 저장하기 전에, 상기 원데이타에 대한 상기 고유의 패리티를 상기 메모리의 스페어영역에 저장하는 단계를 더 구비함을 특징으로 하는 방법.
  13. 제11항에 있어서,
    상기 비교결과에 따른 상태를 외부에서 알 수 있도록 하는 단계를 더 구비함을 특징으로 하는 방법.
  14. 비휘발성메모리에 있어서:
    데이타를 저장하는 복수개의 페이지들로 구성된 데이타 저장영역;
    특정 페이지의 데이타를 저장하며 상기 데이타 저장영역과 연결되는 페이지버퍼;
    상기 페이지버퍼와 연결되며 상기 데이타의 비트불량을 감지하는 비트불량 감지수단과 상기 비트불량을 보정하는 비트불량 보정수단을 포함하는 에러정정수단을 포함하며,
    상기 페이지 버퍼에 저장되어 있는 상기 데이타는 상기 에러정정수단을 통해 상기 비트불량이 보정된 후, 상기 페이지 버퍼를 통해 상기 특정 페이지와 다른 페이지에 저장됨을 특징으로 하는 비휘발성메모리.
  15. 제14항에 있어서,
    상기 비트불량 감지수단은, 상기 페이지버퍼에 저장된 데이타를 입력으로 하여 새로운 패리티를 생성하는 패리티발생회로와, 상기 새로운 패리티와 상기 데이타에 포함되어 있는 고유의 패리티를 비교하여 에러 어드레스정보를 발생하는 비교기를 포함함을 특징으로 하는 비휘발성메모리.
  16. 제15항에 있어서,
    상기 에러 어드레스정보는, 상기 비트불량 보정수단으로 입력되어 상기 데이타를 보정하고 보정된 데이타를 상기 페이지버퍼로 전송함을 특징으로 하는 비휘발성메모리.
  17. 제16항에 있어서,
    상기 보정된 데이타의 전송은 제어신호에 의하여 제어됨을 특징으로 하는 비휘발성메모리.
  18. 삭제
  19. 제14항에 있어서,
    상기 비휘발성메모리가 낸드형 플래쉬메모리임을 특징으로 하는 비휘발성메모리.
KR1020030021114A 2003-04-03 2003-04-03 에러정정기능을 가진 플래쉬메모리장치 KR100543447B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
KR1020030021114A KR100543447B1 (ko) 2003-04-03 2003-04-03 에러정정기능을 가진 플래쉬메모리장치
JP2004095529A JP2004311010A (ja) 2003-04-03 2004-03-29 エラー訂正機能を有したフラッシュメモリ装置
EP04007598A EP1465203B1 (en) 2003-04-03 2004-03-30 Nonvolatile memory with page copy capability and method thereof
DE602004003275T DE602004003275T2 (de) 2003-04-03 2004-03-30 Nichtflüchtiger Speicher mit Seiten-Kopierfunktion und entsprechendes Verfahren
US10/817,061 US7296128B2 (en) 2003-04-03 2004-04-02 Nonvolatile memory with error correction for page copy operation and method thereof
CN2004100477591A CN1551244B (zh) 2003-04-03 2004-04-05 用于页复制操作的可纠错的非易失性存储器及其方法
CN201310047282.6A CN103136068B (zh) 2003-04-03 2004-04-05 用于页复制操作的可纠错的非易失性存储器及其方法
CN2011100089100A CN102034545A (zh) 2003-04-03 2004-04-05 用于页复制操作的可纠错的非易失性存储器及其方法
US11/874,821 US20080163030A1 (en) 2003-04-03 2007-10-18 Nonvolatile memory with error correction for page copy operation and method thereof
US13/486,387 US20120239866A1 (en) 2003-04-03 2012-06-01 Non-volatile memory with error correction for page copy operation and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030021114A KR100543447B1 (ko) 2003-04-03 2003-04-03 에러정정기능을 가진 플래쉬메모리장치

Publications (2)

Publication Number Publication Date
KR20040086923A KR20040086923A (ko) 2004-10-13
KR100543447B1 true KR100543447B1 (ko) 2006-01-23

Family

ID=32844907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030021114A KR100543447B1 (ko) 2003-04-03 2003-04-03 에러정정기능을 가진 플래쉬메모리장치

Country Status (6)

Country Link
US (3) US7296128B2 (ko)
EP (1) EP1465203B1 (ko)
JP (1) JP2004311010A (ko)
KR (1) KR100543447B1 (ko)
CN (3) CN102034545A (ko)
DE (1) DE602004003275T2 (ko)

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881133B2 (en) * 2003-11-11 2011-02-01 Samsung Electronics Co., Ltd. Method of managing a flash memory and the flash memory
JP4237648B2 (ja) * 2004-01-30 2009-03-11 株式会社東芝 不揮発性半導体記憶装置
US7466597B2 (en) * 2004-09-09 2008-12-16 Samsung Electronics Co., Ltd. NAND flash memory device and copyback program method for same
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7379368B2 (en) * 2005-02-25 2008-05-27 Frankfurt Gmbh, Llc Method and system for reducing volatile DRAM power budget
KR100626393B1 (ko) 2005-04-07 2006-09-20 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 멀티-페이지 카피백 방법
KR100669352B1 (ko) * 2005-09-07 2007-01-16 삼성전자주식회사 카피 백 프로그램 동작 동안에 에러 검출 및 데이터 리로딩동작을 수행할 수 있는 낸드 플래시 메모리 장치
KR101197556B1 (ko) * 2006-01-09 2012-11-09 삼성전자주식회사 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드
EP1808863A1 (en) * 2006-01-16 2007-07-18 Deutsche Thomson-Brandt Gmbh Method and apparatus for recording high-speed input data into a matrix of memory devices
JP4956230B2 (ja) * 2006-04-10 2012-06-20 株式会社東芝 メモリコントローラ
JP4908083B2 (ja) * 2006-06-30 2012-04-04 株式会社東芝 メモリコントローラ
JP5378664B2 (ja) * 2006-08-28 2013-12-25 三星電子株式会社 マルチ−ページコピーバック機能を有するフラッシュメモリー装置及びそのブロック置換方法
KR100755718B1 (ko) 2006-09-04 2007-09-05 삼성전자주식회사 멀티 레벨 셀 플래시 메모리에서 런-타임 배드 블록 관리를위한 장치 및 방법
JP2008077810A (ja) 2006-09-25 2008-04-03 Toshiba Corp 不揮発性半導体記憶装置
JP4655034B2 (ja) * 2006-12-25 2011-03-23 Tdk株式会社 メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
KR100882841B1 (ko) * 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법
KR100898673B1 (ko) 2007-08-08 2009-05-22 주식회사 하이닉스반도체 플래시 메모리 소자 및 그 동작 방법
US8291174B2 (en) 2007-08-15 2012-10-16 Micron Technology, Inc. Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same
US7822911B2 (en) * 2007-08-15 2010-10-26 Micron Technology, Inc. Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same
US8055852B2 (en) 2007-08-15 2011-11-08 Micron Technology, Inc. Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
KR101425957B1 (ko) * 2007-08-21 2014-08-06 삼성전자주식회사 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템
US9582417B2 (en) * 2007-08-30 2017-02-28 Virident Systems, Llc Memory apparatus and methods thereof for preventing read errors on weak pages in a non-volatile memory system
US8443260B2 (en) * 2007-12-27 2013-05-14 Sandisk Il Ltd. Error correction in copy back memory operations
US7978516B2 (en) 2007-12-27 2011-07-12 Pliant Technology, Inc. Flash memory controller having reduced pinout
US9594679B2 (en) 2008-05-01 2017-03-14 Sandisk Il Ltd. Flash cache flushing method and system
JP2010009141A (ja) 2008-06-24 2010-01-14 Toshiba Corp データ転送方法
CN101615420B (zh) * 2008-06-26 2014-01-08 威刚科技股份有限公司 具数据修正功能的闪存储存装置
TWI382422B (zh) * 2008-07-11 2013-01-11 Genesys Logic Inc 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法
KR101030146B1 (ko) * 2008-08-29 2011-04-18 서울대학교산학협력단 페이지 버퍼를 쓰기 캐시로 이용하는 플래시 기반 저장 장치 및 이용 방법
US8595572B2 (en) * 2009-04-08 2013-11-26 Google Inc. Data storage device with metadata command
US8566507B2 (en) * 2009-04-08 2013-10-22 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips
EP2441004B8 (en) * 2009-06-12 2020-02-19 Violin Systems LLC Memory system having persistent garbage collection
US8214700B2 (en) * 2009-10-28 2012-07-03 Sandisk Technologies Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
CN101699406B (zh) * 2009-11-12 2011-12-14 威盛电子股份有限公司 数据储存系统与方法
TWI417887B (zh) * 2009-12-02 2013-12-01 Via Tech Inc 資料儲存系統與方法
CN102117230B (zh) * 2009-12-31 2013-01-09 群联电子股份有限公司 数据写入方法、闪存控制器与闪存储存装置
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size
US20120110244A1 (en) * 2010-11-02 2012-05-03 Micron Technology, Inc. Copyback operations
JP2012133843A (ja) * 2010-12-21 2012-07-12 Toshiba Corp 半導体記憶装置
US8560922B2 (en) 2011-03-04 2013-10-15 International Business Machines Corporation Bad block management for flash memory
US8589775B2 (en) * 2011-03-14 2013-11-19 Infineon Technologies Ag Error tolerant flip-flops
US20120324156A1 (en) * 2011-06-17 2012-12-20 Naveen Muralimanohar Method and system of organizing a heterogeneous memory architecture
US8909982B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US9158621B2 (en) 2011-08-29 2015-10-13 Sandisk Technologies Inc. System and method of copying data
US8938658B2 (en) 2011-11-07 2015-01-20 Sandisk Enterprise Ip Llc Statistical read comparison signal generation for memory systems
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US9223649B2 (en) * 2012-02-15 2015-12-29 Sandisk Technologies Inc. System and method of sending correction data to a buffer of a non-volatile memory
US8625386B2 (en) * 2012-03-22 2014-01-07 Seiko Epson Corporation Non-volatile memory device, circuit board, printing material container and printer
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US8996951B2 (en) 2012-11-15 2015-03-31 Elwha, Llc Error correction with non-volatile memory on an integrated circuit
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9361221B1 (en) 2013-08-26 2016-06-07 Sandisk Technologies Inc. Write amplification reduction through reliable writes during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9497889B2 (en) 2014-02-27 2016-11-15 Sandisk Technologies Llc Heat dissipation for substrate assemblies
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9478314B2 (en) * 2014-09-15 2016-10-25 Macronix International Co., Ltd. Memory utilizing bundle-level status values and bundle status circuits
KR102248207B1 (ko) 2014-10-30 2021-05-06 삼성전자주식회사 저장 장치 및 그것의 동작 방법
KR102023121B1 (ko) * 2014-10-31 2019-11-04 에스케이하이닉스 주식회사 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법
KR102336458B1 (ko) * 2015-07-30 2021-12-08 삼성전자주식회사 고속으로 결함 비트 라인을 검출하는 불휘발성 메모리 장치 및 그것의 테스트 시스템
US9619321B1 (en) * 2015-10-08 2017-04-11 Seagate Technology Llc Internal copy-back with read-verify
KR102511459B1 (ko) * 2016-03-17 2023-03-17 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
CN106775454B (zh) * 2016-11-21 2019-07-19 建荣半导体(深圳)有限公司 一种管理坏列地址的方法及其装置
US10853170B2 (en) * 2018-09-06 2020-12-01 Texas Instruments Incorporated ECC protected storage

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52129334A (en) * 1976-04-23 1977-10-29 Nec Corp Memor
US4358848A (en) * 1980-11-14 1982-11-09 International Business Machines Corporation Dual function ECC system with block check byte
US4453251A (en) * 1981-10-13 1984-06-05 Burroughs Corporation Error-correcting memory with low storage overhead and fast correction mechanism
JPH05128882A (ja) * 1991-11-06 1993-05-25 Mitsubishi Electric Corp データ処理装置
JPH05174496A (ja) * 1991-12-25 1993-07-13 Sony Corp ディジタル記録装置のid信号処理装置
KR950003013B1 (ko) * 1992-03-30 1995-03-29 삼성전자 주식회사 틀림정정회로를 가지는 이이피롬
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5754753A (en) * 1992-06-11 1998-05-19 Digital Equipment Corporation Multiple-bit error correction in computer main memory
US5343426A (en) * 1992-06-11 1994-08-30 Digital Equipment Corporation Data formater/converter for use with solid-state disk memory using storage devices with defects
US5459742A (en) * 1992-06-11 1995-10-17 Quantum Corporation Solid state disk memory using storage devices with defects
JPH08153045A (ja) * 1994-11-30 1996-06-11 Nec Corp メモリ制御回路
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
KR0172366B1 (ko) * 1995-11-10 1999-03-30 김광호 불휘발성 반도체 메모리 장치의 독출 및 프로그램 방법과 그 회로
EP0862762B1 (en) * 1996-08-16 2002-10-09 Tokyo Electron Device Limited Semiconductor memory device having error detection and correction
US5978952A (en) * 1996-12-31 1999-11-02 Intel Corporation Time-distributed ECC scrubbing to correct memory errors
JPH10302485A (ja) * 1997-04-28 1998-11-13 Hitachi Inf Technol:Kk フラッシュ・メモリを有する情報処理装置
JP3173438B2 (ja) * 1997-06-04 2001-06-04 ソニー株式会社 メモリカード及び装着装置
JPH10340575A (ja) * 1997-06-04 1998-12-22 Sony Corp 外部記憶装置及びその制御装置、データ送受信装置
US6040997A (en) * 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
JP2001006379A (ja) * 1999-06-16 2001-01-12 Fujitsu Ltd 複写、移動機能を有するフラッシュメモリ
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
JP4165990B2 (ja) * 1999-12-20 2008-10-15 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法
US6728913B1 (en) * 2000-02-25 2004-04-27 Advanced Micro Devices, Inc. Data recycling in memory
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6941505B2 (en) * 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
JP2002351685A (ja) * 2001-05-22 2002-12-06 Sankyo Seiki Mfg Co Ltd 不揮発性メモリのデータ更新方法及び制御装置
JP2003030993A (ja) * 2001-07-17 2003-01-31 Toshiba Corp 半導体記憶装置
US6775728B2 (en) * 2001-11-15 2004-08-10 Intel Corporation Method and system for concurrent handler execution in an SMI and PMI-based dispatch-execution framework
JP3802411B2 (ja) * 2001-12-20 2006-07-26 株式会社東芝 不揮発性半導体記憶装置のデータコピー方法
JP4236485B2 (ja) * 2003-03-06 2009-03-11 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Also Published As

Publication number Publication date
JP2004311010A (ja) 2004-11-04
CN102034545A (zh) 2011-04-27
DE602004003275T2 (de) 2007-05-31
CN103136068B (zh) 2017-05-31
CN1551244A (zh) 2004-12-01
DE602004003275D1 (de) 2007-01-04
US7296128B2 (en) 2007-11-13
EP1465203B1 (en) 2006-11-22
KR20040086923A (ko) 2004-10-13
EP1465203A1 (en) 2004-10-06
US20040202034A1 (en) 2004-10-14
CN1551244B (zh) 2013-05-01
US20080163030A1 (en) 2008-07-03
CN103136068A (zh) 2013-06-05
US20120239866A1 (en) 2012-09-20

Similar Documents

Publication Publication Date Title
KR100543447B1 (ko) 에러정정기능을 가진 플래쉬메모리장치
KR101312146B1 (ko) Nand 메모리들을 위한 관리 데이터의 프로그래밍
US9117530B2 (en) Preserving data from adjacent word lines while programming binary non-volatile storage elements
JP4129381B2 (ja) 不揮発性半導体記憶装置
US8125825B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
US7403436B2 (en) Non-volatile semiconductor memory device
KR101807346B1 (ko) 비휘발성 메모리에 비트 스캔 회로 및 방법
US20040255225A1 (en) Control circuit for error checking and correction and memory controller
KR20130049332A (ko) 메모리 시스템 및 그것의 동작 방법
US7949929B2 (en) Controller and storage device having the same
KR20190051570A (ko) 메모리 시스템 및 그것의 동작 방법
KR102560902B1 (ko) 반도체 기억 장치 및 독출 방법
US11704055B2 (en) Storage device, controller and method for operating thereof
JP2008251154A (ja) 不揮発性半導体記憶装置
JP4582078B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR100634432B1 (ko) 카피백 프로그램 동작 중에 에러를 검출하는 낸드 플래시메모리 장치 및 에러 검출 방법
TWI805450B (zh) 借助侵害位元資訊來進行記憶體裝置的存取控制的方法、記憶體裝置以及記憶體裝置的控制器
JP2002175697A (ja) 半導体記憶装置及びこれを用いた情報処理装置
KR20240074701A (ko) 메모리 시스템 제어기, 메모리 및 그 동작 방법, 및 전자 디바이스
CN116417048A (zh) 存储器装置的存取管理方法、存储器装置、电子装置以及控制器
JP2022118840A (ja) 半導体装置および連続読出し方法
JP2009158051A (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: 20130102

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 15