KR100802059B1 - 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 - Google Patents

읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR100802059B1
KR100802059B1 KR1020060085865A KR20060085865A KR100802059B1 KR 100802059 B1 KR100802059 B1 KR 100802059B1 KR 1020060085865 A KR1020060085865 A KR 1020060085865A KR 20060085865 A KR20060085865 A KR 20060085865A KR 100802059 B1 KR100802059 B1 KR 100802059B1
Authority
KR
South Korea
Prior art keywords
read
error
read error
memory
memory block
Prior art date
Application number
KR1020060085865A
Other languages
English (en)
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 KR1020060085865A priority Critical patent/KR100802059B1/ko
Priority to US11/710,991 priority patent/US7826263B2/en
Priority to JP2007231833A priority patent/JP5138319B2/ja
Priority to CN2007101999126A priority patent/CN101183563B/zh
Application granted granted Critical
Publication of KR100802059B1 publication Critical patent/KR100802059B1/ko
Priority to US12/897,869 priority patent/US20110026326A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2229/00Indexing scheme relating to checking stores for correct operation, subsequent repair or testing stores during standby or offline operation
    • G11C2229/70Indexing scheme relating to G11C29/70, for implementation aspects of redundancy repair
    • G11C2229/72Location of redundancy information
    • G11C2229/723Redundancy information stored in a part of the memory core to be repaired

Abstract

여기에는 복수의 메모리 블록들을 갖는 플래시 메모리 장치를 포함하는 메모리 시스템의 동작 방법이 제공되며, 이 동작 방법은 상기 플래시 메모리 장치의 읽기 동작 동안 생긴 읽기 에러가 읽기 디스터브에 기인한 것인 지의 여부를 판별하는 단계와; 그리고 상기 읽기 에러가 읽기 디스터브에 기인한 것으로 판별되는 경우, 상기 읽기 에러가 발생한 메모리 블록을 빈 메모리 블록으로 대체하는 단계를 포함한다.

Description

읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는 메모리 시스템 및 그것의 동작 방법{MEMORY SYSTEM CAPABLE OF SUPPRESSING GENERATION OF BAD BLOCKS DUE TO READ DISTURBANCE AND OPERATING METHOD THEREOF}
도 1은 일반적인 플래시 메모리 장치를 보여주는 블록도이다.
도 2는 도 1에 도시된 플래시 메모리 장치의 읽기 동작을 설명하기 위한 타이밍도이다.
도 3은 읽기 디스터브로 인한 소프트 프로그램 현상을 설명하기 위한 도면이다.
도 4는 온 셀 및 오프 셀에 대응하는 문턱 전압 분포들을 보여주는 도면이다.
도 5는 읽기 사이클과 읽기 페일 사이의 상관관계를 보여주는 그래프이다.
도 6은 본 발명에 따른 메모리 시스템을 보여주는 블록도이다.
도 7은 본 발명에 따른 메모리 시스템의 읽기 에러를 관리하는 동작을 설명하기 위한 흐름도이다.
도 8은 본 발명에 따른 메모리 시스템의 블록 대체(또는 리프레쉬) 동작을 설명하기 위한 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 메모리 시스템의 읽기 에러를 관리하 는 동작을 설명하기 위한 흐름도이다.
도 10은 본 발명에 따른 플래시 메모리 장치 및 메모리 컨트롤러를 포함한 컴퓨팅 시스템을 개략적으로 보여주는 블록도이다.
* 도면의 주요 부분에 대한 부호 설명 *
100 : 플래시 메모리 장치 110 : 메모리 셀 어레이
120 : 읽기/쓰기 회로 200 : 메모리 컨트롤러
210 : 호스트 인터페이스 220 : 플래시 인터페이스
230 : 중앙처리장치 240 : ECC 회로
250 : 버퍼 램
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 플래시 메모리 장치에서 생기는 에러를 효율적으로 처리하는 장치에 관한 것이다.
에러 검출 및 정정 기술들은 다양한 원인들로 인해 손상되는 데이터의 효율적인 복구를 제공한다. 예를 들면, 메모리에 데이터를 저장하는 과정에서 다양한 원인들로 인해서 데이터가 손상될 수 있고, 소오스에서 목적지로 데이터가 전송되는 데이터 전송 채널의 불안(perturbations)에 의해서 데이터가 손상될 수 있다. 손상된 데이터를 검출하고 보정하기 위해서 다양한 방법들이 제안되어 오고 있다. 잘 알려진 에러 검출 기술들은 RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), BCH(Bose-Chaudhuri-Hocquenghem) 코드, CRC(Cyclic Redundancy Code) 코드 등이 있다. 이러한 코드들을 이용하여 손상된 데이터를 발견하고 보정하는 것이 가능하다. 불 휘발성 메모리 장치가 사용되는 대부분의 응용 분야에 있어서, 데이터는 오류정정코드(error correcting code: ECC)라 불리는 값 (이하, ECC 데이터라 칭함)과 함께 플래시 메모리 장치에 저장된다. ECC 데이터는 플래시 메모리 장치의 읽기 동작시 발생하는 에러를 정정하기 위한 것으로, ECC 데이터를 이용하여 정정 가능한 에러 비트 수는 제한되어 있다. 읽기 동작시 생기는 비트 에러는 잘 알려진 블록 대체(block replacement)와 같은 별도의 구제 과정없이 에러 검출 및 정정 기술을 통해 정정될 수 있다.
도 1은 일반적인 플래시 메모리 장치를 보여주는 블록도이고, 도 2는 도 1에 도시된 플래시 메모리 장치의 읽기 동작을 설명하기 위한 타이밍도이다.
먼저, 도 1을 참조하면, 일반적인 플래시 메모리 장치는 메모리 셀 어레이를 포함하며, 메모리 셀 어레이는 복수의 메모리 블록들을 갖는다. 도 1에는 단지 하나의 메모리 블록(BLK0)이 도시되어 있다. 메모리 블록(BLK0)은 열들 또는 비트 라인들에 각각 연결된 스트링들(또는 낸드 스트링이라 불림)(10)을 갖는다. 각 스트링(10)은 스트링 선택 트랜지스터(SST), 접지 선택 트랜지스터(GST), 그리고 선택 트랜지스터들(SST, GST) 사이에 직렬 연결된 메모리 셀들(또는 메모리 셀 트랜지스터들)(MC0∼MCn-1)을 포함한다. 선택 트랜지스터들(SST, GST)의 게이트들은 대응하는 스트링 및 접지 선택 라인들(SSL, GSL)에 각각 연결되고, 메모리 셀 트랜지스터들(MC0∼MCn-1)의 제어 게이트들은 대응하는 워드 라인들(WL0∼WLn-1)에 각각 연결 되어 있다. 비트 라인들(BL0∼BLm-1)에는 대응하는 페이지 버퍼들(PB)이 각각 연결되어 있다.
읽기 동작시, 도 2에 도시된 바와 같이, 선택된 워드 라인(예를 들면, WL0)은 0V의 전압으로 구동되고, 비선택된 워드 라인들(예를 들면, WL1WLn-1)은 읽기 전압(Vread)으로 각각 구동된다. 이때, 스트링 및 접지 선택 라인들(SSL, GSL)은 읽기 전압(Vread)으로 각각 구동되고, 페이지 버퍼들(PB)은 대응하는 비트 라인들(BL0∼BLm-1)로 감지 전류를 공급할 것이다. 비트 라인들(BL0∼BLm-1)의 전압들은 선택된 워드 라인에 연결된 메모리 셀들의 셀 상태들에 따라 결정될 것이다. 예를 들면, 선택된 워드 라인에 연결된 메모리 셀이 온 셀인 경우, 비트 라인의 전압은 접지 전압으로 낮아질 것이다. 이에 반해서, 선택된 워드 라인에 연결된 메모리 셀이 오프 셀인 경우, 비트 라인의 전압은 전원 전압으로 높아질 것이다. 이후, 비트 라인들의 전압들이 셀 데이터로서 대응하는 페이지 버퍼들(PB)에 의해서 감지될 것이다.
설명의 편의상, 비선택된 워드 라인에 연결된 메모리 셀은 비선택된 메모리 셀이라 칭하고, 선택된 워드 라인에 연결된 메모리 셀은 선택된 메모리 셀이라 칭한다.
앞서 언급된 바와 같이, 선택된 메모리 셀로부터 셀 데이터를 읽기 위해서는 비선택된 메모리 셀들의 워드 라인들에는 읽기 전압(Vread)이 인가된다. 여기서, 읽기 전압(Vread)은 오프 상태를 갖는 메모리 셀 트랜지스터를 턴 온시키기에 충분히 높은 전압이다. 읽기 동작 동안, 비선택된 메모리 셀 트랜지스터의 제어 게이트 에는 읽기 전압(Vread)이 인가되고, 비선택된 메모리 셀 트랜지스터의 기판(또는 벌크)에는 접지 전압이 인가되며, 비선택된 메모리 셀 트랜지스터의 드레인에는 소정의 전압이 인가된다. 이러한 바이어스 조건은 레벨 차이를 제외하면 프로그램 동작의 바이어스 조건과 유사하다. 그러한 까닭에, 도 3에 도시된 바와 같이, 읽기 동작 동안 기판에서 비선택된 메모리 셀 트랜지스터의 플로팅 게이트로 전자들이 주입될 수 있다. 즉, 온 상태(또는 소거 상태)를 갖는 비선택된 메모리 셀 트랜지스터가 읽기 동작의 바이어스 조건 하에서 소프트 프로그램되며, 이러한 현상은, 일반적으로, "읽기 디스터브"라 불린다.
읽기 디스터브로 인해서 온 상태(또는 소거 상태)를 갖는 메모리 셀의 문턱 전압이 점차적으로 증가될 것이다. 도 4의 점선으로 표시된 바와 같이, 온 상태를 갖는 메모리 셀의 문턱 전압은 읽기 동작의 반복에 따라 더욱 증가될 것이다. 이는 온 상태를 갖는 메모리 셀이 오프 셀로 판별되게 한다. 즉, 읽기 디스터브로 인한 문턱 전압 증가는 읽기 페일을 야기할 것이다.
앞서 언급된 바와 같이, 읽기 동작시 생기는 비트 에러는 잘 알려진 블록 대체와 같은 별도의 구제 과정없이 에러 검출 및 정정 기술을 통해 정정될 수 있다. 읽기 동작이 반복적으로 수행됨에 따라, 읽기 페일이 발생할 확률은, 도 5에 도시된 바와 같이, 점차적으로 증가될 수 있다. 에러가 정정된 데이터에 있어서, 다음의 읽기 동작시 추가적으로 에러가 발생할 확률이 높다. 읽혀진 데이터의 에러 비트 수가 허용되는 에러 비트 수를 초과하는 경우, 블록 대체 방식으로 알려진 별도의 구제 방식을 통해 읽혀진 데이터를 포함하는 메모리 블록이 플래시 메모리 장치 에 제공되는 여분의 메모리 블록(reserved memory block)으로 대체된다. 일단 읽혀진 데이터가 허용되는 에러 비트 수를 포함하면, 주어진 에러 검출 및 정정 기술을 통해 읽혀진 데이터의 에러가 정정된다. 하지만, 비록 읽혀진 데이터의 에러가 정정되더라도, 에러 정정된 데이터는 추후의 읽기 동작시 에러가 발생할 확률이 높다. 따라서, 에러 정정된 데이터의 신뢰성을 향상시킬 수 있는 기술이 요구되고 있다.
본 발명의 목적은 에러 정정된 데이터의 신뢰성을 향상시킬 수 있는 장치 및 그 방법을 제공하는 것이다.
본 발명의 다른 목적은 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는 장치 및 그 방법을 제공하는 것이다.
본 발명의 예시적인 실시예들은 복수의 메모리 블록들을 갖는 플래시 메모리 장치를 포함하는 메모리 시스템의 동작 방법을 제공하며, 이 동작 방법은 상기 플래시 메모리 장치의 읽기 동작 동안 생긴 읽기 에러가 읽기 디스터브에 기인한 것인 지의 여부를 판별하는 단계와; 그리고 상기 읽기 에러가 읽기 디스터브에 기인한 것으로 판별되는 경우, 상기 읽기 에러가 발생한 메모리 블록을 빈 메모리 블록으로 대체하는 단계를 포함한다.
본 발명의 다른 예시적인 실시예들은 복수의 메모리 블록들을 갖는 플래시 메모리 장치를 포함하는 메모리 시스템의 동작 방법을 제공하며, 이 동작 방법은 파워-업시 상기 플래시 메모리 장치로부터 읽기 에러 정보를 버퍼 램으로 복사하는 단계와; 상기 버퍼 램의 읽기 에러 정보에 의거하여, 정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하는 지의 여부를 판별하는 단계와; 그리고 정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하는 것으로 판별될 때, 상기 정정 가능한 읽기 에러가 발생한 메모리 블록을 빈 메모리 블록으로 대체하는 단계를 포함한다.
본 발명의 또 다른 예시적인 실시예들은 복수의 메모리 블록들을 포함하는 플래시 메모리 장치와; 그리고 상기 플래시 메모리 장치를 제어하는 메모리 컨트롤러를 포함하며, 상기 메모리 컨트롤러는 상기 플래시 메모리 장치의 읽기 동작 동안 생긴 읽기 에러가 읽기 디스터브에 기인한 것인 지의 여부를 판별하도록 구성되며; 그리고 상기 읽기 에러가 읽기 디스터브에 기인한 것으로 판별되는 경우, 상기 메모리 컨트롤러는 상기 읽기 에러가 발생한 메모리 블록이 빈 메모리 블록으로 대체되도록 상기 플래시 메모리 장치를 제어하는 메모리 시스템을 제공한다.
본 발명의 또 다른 예시적인 실시예들은 복수의 메모리 블록들을 포함하는 플래시 메모리 장치와; 그리고 상기 플래시 메모리 장치를 제어하는 메모리 컨트롤러를 포함하는 메모리 시스템을 제공한다. 여기서, 상기 메모리 컨트롤러는 중앙처리장치와; 상기 중앙처리장치의 제어에 따라 상기 플래시 메모리 장치로부터 읽혀진 데이터를 저장하는 버퍼 램과; 그리고 상기 버퍼 램으로 전송되는 데이터로부터 읽기 에러가 발생하였는 지의 여부를 검출하도록 구성된 에러 검사 정정 회로를 포함한다. 상기 버퍼 램으로 전송되는 데이터로부터 읽기 에러가 발생한 경우, 상기 중앙처리장치는 상기 에러 검사 정정 회로의 검출 결과에 따라, 상기 읽기 에러가 읽기 디스터브에 기인한 것인 지의 여부를 판별하도록 구성된다. 상기 읽기 에러가 읽기 디스터브에 기인한 것으로 판별되는 경우, 상기 중앙처리 장치는 상기 읽기 에러가 발생한 메모리 블록의 읽기 에러 정보를 상기 버퍼 램에 저장한다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 반도체 메모리 장치로서 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 6은 본 발명에 따른 메모리 시스템을 보여주는 블록도이다.
도 6을 참조하면, 본 발명에 따른 메모리 시스템(1000)은 플래시 메모리 장치(100)와 메모리 컨트롤러(200)를 포함한다. 플래시 메모리 장치(100)는 이 분야에 잘 알려진 낸드 플래시 메모리 장치를 포함할 것이다. 플래시 메모리 장치(100)는 메모리 셀 어레이(110)와 읽기/쓰기 회로(120)를 포함한다. 메모리 셀 어레이(110)는 N-비트 데이터 정보(N은 1 또는 그 보다 큰 정수)를 저장하기 위한 제 1 및 제 2 영역들(111, 112)로 구분되며, 제 1 및 제 2 영역들(111, 112) 각각은 복수의 메모리 블록들로 구성될 것이다. 예를 들면, 제 1 영역(111)의 메모리 블록들은 사용자 데이터 그리고/또는 코드 데이터를 저장하는 데 사용되고, 제 2 영역(112)의 메모리 블록들은 메모리 블록들을 관리하기 위한 메타 데이터를 저장하는 데 사용될 것이다. 제 1 영역(111)은 블록 대체를 위한 여분의 메모리 블록들을 포함할 것이다. 잘 알려진 바와 같이, 제 1 및 제 2 영역들(111, 112)의 메모리 블록들 각각은 메인 영역과 스페어 영역으로 구성될 것이다. 메인 영역에는 데이터가 저장되고, 스페어 영역에는 메인 영역의 데이터와 관련된 정보(예를 들면, ECC 데이터)가 저장될 수 있다. 하지만, 스페어 영역에 저장되는 데이터가 ECC 데이터에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명에 따르면, 제 2 영역(112)에 저장되는 메타 데이터는, 이후 설명되는 바와 같이, 제 1 영역(111)의 메모리 블록들에 대한 읽기 에러 정보를 갖는 테이블 정보를 포함할 것이다. 읽기 에러 정보는 제 1 영역(111)에 속하는 메모리 블록에 대한 읽기 동작시 허용 가능한 에러가 발생하였는 지의 여부를 나타낸다. 읽기 에러 정보는 허용 가능한 에러가 발생한 메모리 블록을 여분의 메모리 블록으로 대체하는 데 사용되며, 이는 이후 상세히 설명될 것이다. 이러한 블록 대체를 통해 읽기 디스터브로 인해 생기는 읽기 에러를 근본적으로 해결하는 것이 가능하다. 즉, 온 셀(또는 소거된 셀)이 읽기 디스터브로 인해 오프 셀로 판별되는 읽기 에러를 근본적으로 해결하는 것이 가능하다. 이러한 블록 대체는 허용 가능한 에러가 발생한 메모리 블록을 리프레쉬하기 위한 것이다.
읽기/쓰기 회로(120)는 메모리 셀 어레이(110)로부터 데이터를 읽도록 그리고 메모리 셀 어레이(110)에 데이터를 쓰도록 구성될 것이다. 비록 도면에는 도시되지 않았지만, 읽기/쓰기 회로(120)는 행 디코더 회로, 열 디코더 회로, 페이지 버퍼 회로, 고전압 발생 회로, 등을 포함할 것이다. 읽기/쓰기 회로(120)의 구성 요소들은 이 분야에 잘 알려져 있으며, 그것에 대한 설명은 그러므로 생략될 것이다. 여기서, 쓰기 동작은 프로그램 동작과 소거 동작을 포함할 것이다.
계속해서 도 6을 참조하면, 메모리 컨트롤러(200)는 호스트(예를 들면, 컴퓨팅 시스템)의 요청에 따라 플래시 메모리 장치(100)의 동작을 제어하도록 구성될 것이다. 메모리 컨트롤러(200)는 호스트 인터페이스(210), 플래시 인터페이스(220), 프로세싱 유니트로서 중앙처리장치(230), 에러 검사 정정 회로(도면에는, "ECC"로 표기됨)(240), 그리고 버퍼 램(250)을 포함한다. 호스트 인터페이스(210)는 호스트와 인터페이스하도록 구성되고, 플래시 인터페이스(220)는 플래시 메모리 장치(100)와 인터페이스하도록 구성된다. 중앙처리장치(230)는 호스트의 요청에 응답하여 플래시 메모리 장치(100)의 읽기/쓰기 동작을 제어하도록 구성될 것이다. 에러 검사 정정 회로(240)는 플래시 메모리 장치(100)로 전송되는 데이터(메인 데이터)로부터 ECC 데이터를 생성하도록 구성될 것이다. 그렇게 생성된 ECC 데이터는 메인 데이터가 저장되는 페이지의 스페어 영역에 저장되도록 플래시 메모리 장치(100)로 전송될 것이다. 에러 검사 정정 회로(240)는 플래시 메모리 장치(100)로부터 읽혀진 데이터의 에러를 검출하도록 구성될 것이다. 만약 읽혀진 데이터로부터 정정 가능한 읽기 에러가 검출되면, 에러 검사 정정 회로(240)는 플래시 메모리 장치(100)로부터 읽혀진 데이터의 에러를 정정하도록 구성될 것이다. 버퍼 램(250)은 플래시 메모리 장치(100)로부터 읽혀진 데이터 또는 호스트로부터 제공되는 데이터를 임시 저장하는 데 사용될 것이다. 또한, 버퍼 램(250)은 플래시 변환 레이어(flash translation layer: FTL)(251)를 저장하며, 플래시 변환 레이어는 중앙처리장치(230)에 의해서 운용될 것이다.
플래시 변환 레이어의 기능들은 논리 어드레스-물리 어드레스 사상 정보 관리, 배드 블럭 관리, 예상치 못한 전원 차단에 기인한 데이터 보존성 관리, 마모도 관리 등을 포함한다. 플래시 파일 레이어의 기능들은 U.S. Patent No. 5,404,485에 "FLASH FILE SYSTEM"이라는 제목으로, U.S. Patent No. 5,937,425에 "FLASH FILE SYSTEM OPTIMIZED FOR PAGE-MODE FLASH TECHNOLOGIES"라는 제목으로, 그리고 U.S. Patent No. 6,381,176에 "METHOD OF DRIVING REMAPPING IN FLASH MEMORY AND FLASH MEMORY ARCHITECTURE SUITABLE THEREFOR"라는 제목으로 각각 게재되어 있으며, 이 출원의 레퍼런스로 포함된다.
본 발명에 따른 버퍼 램(250)은 읽기 에러 정보를 관리하는 데 필요한 테이블 정보(252)를 저장하는 데 사용될 것이다. 이 테이블 정보(252)는 메타 데이터로, 중앙처리장치(230)의 제어하에 플래시 메모리 장치(100)의 제 2 영역(112)에 저장될 것이다. 이 테이블 정보(252)는 파워-업시 중앙처리장치(230)의 제어하에 플래시 메모리 장치(100)의 제 2 영역(112)로부터 버퍼 램(250)으로 복사될 것이다. 읽기 동작의 결과로서, 읽혀진 데이터가 ECC 회로(240)에 의해서 정정 가능한 비트 수만큼 에러 비트들을 포함하는 경우, 중앙처리장치(230)는 읽기 동작에 관련 된 페이지를 포함한 메모리 블록에서 읽기 에러가 발생하였음을 나타내도록 테이블 정보(252)를 업데이트한다. 바람직하게는, 테이블 정보(252)가 업데이트될 때마다, 업데이트된 테이블 정보는 중앙처리장치(230)의 제어하에 플래시 메모리 장치(100)의 제 2 영역(112)에 새롭게 저장될 것이다. 테이블 정보(252)가 업데이트되는 경우, 즉, 정정 가능한 읽기 에러가 발생하는 경우, 읽기 에러가 발생한 메모리 블록은 중앙처리장치(230)의 제어하에 메모리 셀 어레이(110)의 제 1 영역(111)에 속하는 여분의 메모리 블록으로 대체될 것이다. 이러한 블록 대체는 파워-업시 또는 테이블 정보의 업데이트시에 중앙처리장치(230)의 제어하에 자동적으로 수행되며, 이는 이후 상세히 설명될 것이다. 이 경우, 읽기 에러가 발생하는 메모리 블록은 소거된 후 여분의 메모리 블록으로 할당될 것이다. 잘 알려진 바와 같이, 메모리 블록들의 사상(mapping)은 플래시 변환 레이어(FTL)를 이용하여 중앙처리장치(230)에 의해서 관리될 것이다.
이상의 설명으로부터 알 수 있듯이, 읽기 디스터브로 인해 생기는 정정 가능한 읽기 에러가 발생하는 경우, 읽기 에러가 생긴 메모리 블록은 여분의 메모리 블록으로 대체될 것이다. 다시 말해서, 읽기 에러가 생긴 메모리 블록은 리프레쉬될 것이다. 그러한 까닭에, 정정 가능한 읽기 에러가 발생한 메모리 블록의 경우, 정정 가능한 읽기 에러가 발생할 확률을 현저하게 감소시키는 것이 가능하다. 따라서, 플래시 메모리 장치(100) 및 그것을 포함한 메모리 시스템(1000)의 신뢰성을 향상시킬 수 있다.
도 7은 본 발명에 따른 메모리 시스템의 읽기 에러를 관리하는 동작을 설명 하기 위한 흐름도이다. 이하, 본 발명에 따른 메모리 시스템의 읽기 에러를 관리하는 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
호스트로부터 읽기 동작이 요구될 때, 메모리 컨트롤러(200)는 읽기 동작이 수행되도록 플래시 메모리 장치(100)를 제어한다(S100). 잘 알려진 바와 같이, 메모리 컨트롤러(200)는 읽기 명령 및 어드레스를 정해진 타이밍에 따라 플래시 메모리 장치(100)로 전송하며, 플래시 메모리 장치(100)의 읽기/쓰기 회로(120)는 입력된 읽기 명령에 응답하여 입력된 어드레스에 대응하는 메모리 블록의 페이지로부터 데이터를 읽는다. 그렇게 읽혀진 데이터는 중앙처리장치(230)의 제어에 따라 플래시 인터페이스(220)를 통해 버퍼 램(250)으로 전송될 것이다.
버퍼 램(250)으로 데이터가 전송되는 동안, 읽혀진 데이터로부터 읽기 에러가 발생하였는 지의 여부가 판별될 것이다(S110). 잘 알려진 바와 같이, 읽혀진 데이터의 전송 경로는 다양하게 구현될 수 있다. 예를 들면, 읽혀진 데이터는 ECC 회로(240)와 버퍼 램(250)으로 동시에 전송될 수 있다. 이 경우, ECC 회로(240)는 버퍼 램(250)으로의 데이터 전송이 완료된 후 ECC 데이터를 이용하여 읽기 에러를 검출할 수 있다. 또는, 읽혀진 데이터는 ECC 회로(240)를 경유하여 버퍼 램(250)으로 전송될 수 있다. 이 경우, ECC 회로(240)는 버퍼 램(250)으로의 데이터 전송이 완료된 후 ECC 데이터를 이용하여 읽기 에러를 검출할 수 있다. 또는, 읽혀진 데이터는 버퍼 램(250)에 저장되고, ECC 회로(240)는 버퍼 램(250)에 저장된 데이터를 읽어 읽기 에러를 검출할 수 있다. 바람직하게는, 읽혀진 데이터는 ECC 회로(240)와 버퍼 램(250)으로 동시에 전송될 것이다.
ECC 회로(240)는 ECC 데이터를 이용하여 읽혀진 데이터로부터 에러가 발생하였는 지의 여부를 검출하고, 검출 결과로서 에러 비트 수 및 에러가 생긴 위치를 나타내는 에러 위치 정보(예를 들면, 어드레스 정보)를 내부의 레지스터에 저장할 것이다. ECC 동작이 완료되면, 중앙처리장치(230)는 ECC 회로(240)에 저장된 정보에 따라 읽기 에러가 발생하였는 지의 여부를 판별한다. 만약 읽혀진 데이터로부터 읽기 에러가 발생하지 않은 것으로 판별되면, 버퍼 램(250)에 저장된 데이터가 호스트 인터페이스(210)를 통해 호스트로 전송된 후 읽기 동작이 종료될 것이다.
이에 반해서, 만약 읽혀진 데이터로부터 읽기 에러가 발생한 것으로 판별되면, 중앙처리장치(230)는 ECC 회로(240)에 저장된 에러 비트 수 정보에 의거하여, 읽기 에러가 발생한 데이터의 에러 비트 수가 허용되는 비트 수를 초과하였는 지의 여부를 판별한다(S120). 만약 읽기 에러가 발생한 데이터의 에러 비트 수가 허용되는 비트 수를 초과한 것으로 판별되면, 중앙처리장치(230)는 플래시 변환 레이어(FTL)를 이용하여 읽기 에러가 발생하는 메모리 블록을 배드 블록으로 처리하고, 읽기 동작을 종료할 것이다(S130). 만약 읽기 에러가 발생한 데이터의 에러 비트 수가 허용되는 비트 수를 초과하지 않은 것으로 판별되면, 중앙처리장치(230)는 읽기 에러가 읽기 디스터브로 인한 것인 지의 여부를 판별한다(S140).
이 실시예에 있어서, 읽기 에러가 읽기 디스터브로 인해 발생하였는 지의 여부는 ECC 회로에 저장된 에러 위치 정보를 이용하여 버퍼 램(250)으로부터 에러 데이터를 읽고, 읽혀진 데이터가 논리 '0'인 지의 여부를 검출함으로써 결정될 것이다. 읽기 디스터브로 인한 읽기 에러는 논리 '1'의 데이터(메모리 셀이 소거 상태 를 나타냄)가 논리 '0'의 데이터(메모리 셀의 프로그램 상태를 나타냄)로 변경되는 것을 나타낸다. 다시 말해서, 읽기 디스터브로 인한 읽기 에러는 소거된 셀이 프로그램된 셀로 판별되는 것을 의미한다.
만약 읽기 에러가 읽기 디스터브로 인한 것이 아닌 것으로 판별되면, 중앙처리장치(230)는 버퍼 램(250)에 저장된 데이터의 에러를 정정할 것이다(S150). 예를 들면, 중앙처리장치(230)는 ECC 회로(240)에 저장된 정보(에러 위치 정보)에 의거하여 버퍼 램(250)에 저장된 데이터를 읽고, 읽혀진 데이터를 정정하고, 에러-정정된 데이터를 버퍼 램(250)에 저장할 것이다. 다른 실시예로서, 데이터 에러의 정정은 중앙처리장치(230)의 제어하에 ECC 회로(240)에 의해서 수행될 수도 있다. 예를 들면, 에러 데이터는 중앙처리장치(230)의 제어하에 버퍼 램(250)으로부터 읽혀지고, 그렇게 읽혀진 에러 데이터는 ECC 회로(240)로 전송될 것이다. ECC 회로(240)는 에러 데이터를 정정하고, 에러-정정된 데이터는 중앙처리장치(230)의 제어하에 버퍼 램(250)에 저장될 것이다. 이후, 버퍼 램(250)에 저장된 데이터가 호스트 인터페이스(210)를 통해 호스트로 전송된 후 읽기 동작이 종료될 것이다.
만약 읽기 에러가 읽기 디스터브로 인한 것으로 판별되면, 앞서 설명된 방식으로 버퍼 램(250)에 저장된 데이터의 에러가 중앙처리장치(230)/ECC 회로(240)에 의해서 정정될 것이다(S160). 버퍼 램(250)에 저장된 테이블 정보(252)는 현재 선택된 메모리 블록에서 정정 가능한 읽기 에러가 발생하였음을 나타내도록 중앙처리장치(230)에 의해서 업데이트될 것이다(S170). 업데이트된 테이블 정보(252)는 중앙처리장치(230)의 제어에 따라 메모리 셀 어레이(110)의 제 2 영역(112)에 저장될 것이다. 버퍼 램(250)에 저장된 데이터가 호스트 인터페이스(210)를 통해 호스트로 전송된 후 읽기 동작이 종료될 것이다. 여기서, 업데이트된 테이블 정보(252)를 메모리 셀 어레이(110)의 제 2 영역(112)에 저장하는 시점은 다양하게 변경될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 버퍼 램(250)에 저장된 데이터가 호스트 인터페이스(210)를 통해 호스트로 전송된 후, 업데이트된 테이블 정보(252)는 메모리 컨트롤러(200)의 유효 시간에 메모리 셀 어레이(110)의 제 2 영역(112)에 저장될 것이다. 업데이트된 테이블 정보(252)를 메모리 셀 어레이(110)의 제 2 영역(112)에 저장하는 시점이 여기에 개시된 것이 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명의 예시적인 실시예들에 있어서, S110, S120, S140, S150, 그리고 S160 단계들은 중앙처리장치(230) 대신 ECC 회로(240)에 의해서 처리될 수 있다. 예를 들면, ECC 회로(240)는 읽기 에러가 발생한 데이터의 에러 비트 수가 허용되는 비트 수를 초과하였는 지의 여부를 판별한다. 만약 읽기 에러가 발생한 데이터의 에러 비트 수가 허용되는 비트 수를 초과한 것으로 판별되면, ECC 회로(240)는 정정할 수 없는 읽기 에러가 발생하였음을 중앙처리장치(230)로 알린다. 중앙처리장치(230)는 플래시 변환 레이어(FTL)를 이용하여 읽기 에러가 발생하는 메모리 블록을 배드 블록으로 처리한다. 만약 읽기 에러가 발생한 데이터의 에러 비트 수가 허용되는 비트 수를 초과하지 않은 것으로 판별되면, ECC 회로(240)는 읽기 에러가 읽기 디스터브로 인한 것인 지의 여부를 판별한다. 만약 읽기 에러가 읽기 디스터브로 인한 것이 아닌 것으로 판별되면, ECC 회로(240)는 버퍼 램(250)에 저장된 데 이터의 에러를 정정할 것이다. 데이터 에러의 정정은 중앙처리장치(230)의 제어하에 ECC 회로(240)에 의해서 수행될 것이다. 예를 들면, 에러 데이터는 중앙처리장치(230)의 제어하에 버퍼 램(250)으로부터 읽혀지고, 그렇게 읽혀진 에러 데이터는 ECC 회로(240)로 전송될 것이다. ECC 회로(240)는 에러 데이터를 정정하고, 에러-정정된 데이터는 중앙처리장치(230)의 제어하에 버퍼 램(250)에 저장될 것이다. 이후, 버퍼 램(250)에 저장된 데이터가 호스트 인터페이스(210)를 통해 호스트로 전송된 후 읽기 동작이 종료될 것이다. 만약 읽기 에러가 읽기 디스터브로 인한 것으로 판별되면, ECC 회로(240)는 앞서 설명된 방식으로 버퍼 램(250)에 저장된 데이터의 에러를 정정할 것이다.
도 8은 본 발명에 따른 메모리 시스템의 블록 대체(또는 리프레쉬) 동작을 설명하기 위한 흐름도이다. 이하, 본 발명에 따른 메모리 시스템의 블록 대체(또는 리프레쉬) 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
메모리 시스템(1000)에 전원 전압이 공급되면(S200), 플래시 메모리 장치(100)의 제 2 영역(112)에 저장된 테이블 정보는 메모리 컨트롤러(200)의 버퍼 램(250)으로 복사된다(S210). 다음 단계(S220)에서, 중앙처리장치(230)는 버퍼 램(250)에 저장된 테이블 정보에 의거하여, 정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하는 지의 여부를 판별한다. 만약 정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하는 것으로 판별되면, 정정 가능한 읽기 에러를 갖는 메모리 블록의 데이터는 여분의 메모리 블록으로 복사될 것이다. 즉, 정정 가능한 읽기 에러를 갖는 메모리 블록이 여분의 메모리 블록으로 대체될 것이다(S230). 정정 가능 한 읽기 에러를 갖는 메모리 블록의 데이터 중 에러 데이터는 ECC 회로(240)에 의해서 정정되고, 에러 정정된 데이터는 여분의 메모리 블록으로 복사될 것이다. 구체적으로, 정정 가능한 읽기 에러를 갖는 메모리 블록의 페이지들 각각에 저장된 데이터는 읽기/쓰기 회로(120)를 통해 읽혀지고, 앞서 언급된 것과 동일한 방식으로 버퍼 램(250)에 임시 저장된다. 이때, 읽혀진 데이터로부터 에러가 검출되면, 앞서 언급된 것과 동일한 방식으로 에러 데이터가 정정될 것이다. 버퍼 램(250)에 저장된 데이터는 읽기/쓰기 회로(120)를 통해 여분의 메모리 블록의 대응하는 페이지에 저장될 것이다. 일단 정정 가능한 읽기 에러를 갖는 메모리 블록의 데이터는 여분의 메모리 블록으로 복사되면, 호스트의 요구되는 동작이 수행될 것이다(S240). 만약 정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하지 않는 것으로 판별되면, 절차는 S240 단계로 진행한다.
도 9는 본 발명의 다른 실시예에 따른 메모리 시스템의 읽기 에러를 관리하는 동작을 설명하기 위한 흐름도이다.
도 9는 블럭 대체 동작(또는 리프레쉬 동작)이 도 8에서 설명된 것과 달리 파워-오프 이전에 수행된다는 점을 제외하면 도 7과 실질적으로 동일하다. 도 9에 있어서, 단계들(S300∼S370)은 도 7의 단계들(S100∼S170)과 실질적으로 동일하며, 그것에 대한 설명은 그러므로 생략될 것이다. 도 9에 도시된 바와 같이, S380 단계에서 정정 가능한 읽기 에러를 갖는 메모리 블록에 대한 블록 대체 동작이 수행된다. 즉, 정정 가능한 읽기 에러를 갖는 메모리 블록이 리프레쉬될 것이다. 이러한 블록 대체 동작은 도 8에서 설명된 것과 실질적으로 동일하며, 그것에 대한 설명은 그러므로 생략될 것이다.
플래시 메모리 장치는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 불 휘발성 메모리 장치이다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지 뿐만 아니라 코드 스토리지로서 보다 널리 사용된다. 플래시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다. 본 발명에 따른 플래시 메모리 장치 및 메모리 컨트롤러를 포함한 컴퓨팅 시스템이 도 10에 개략적으로 도시되어 있다. 본 발명에 따른 컴퓨팅 시스템은 버스(401)에 전기적으로 연결된 마이크로프로세서(410), 사용자 인터페이스(420), 베이스밴드 칩셋(baseband chipset)과 같은 모뎀(430), 메모리 컨트롤러(440), 그리고 플래시 메모리 장치(440)를 포함한다. 메모리 컨트롤러(440)과 플래시 메모리 장치(440)는 도 6에 도시된 것과 실질적으로 동일하게 구성될 것이다. 플래시 메모리 장치(450)에는 마이크로프로세서(410)에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 메모리 컨트롤러(440)를 통해 저장될 것이다. 본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(450)가 추가적으로 제공될 것이다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명에 있어서, 읽기 디스터브로 인한 ECC 허용 범위 이상의 비트 에러 발생시, 해당 블록을 배드 블록으로 처리할 것인 지 아니면 디바이스 페일로 처리할 것인 지에 대해서 소프트웨어적으로 결정할 수 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
상술한 바와 같이, 읽기 디스터브로 인해 읽기 에러가 발생한 메모리 블록을 리프레쉬함으로써 정정 가능한 읽기 에러가 발생할 확률을 현저하게 감소시키는 것이 가능하다. 따라서, 플래시 메모리 장치 및 그것을 포함한 메모리 시스템의 신뢰성을 향상시킬 수 있다.

Claims (41)

  1. 복수의 메모리 블록들을 갖는 플래시 메모리 장치를 포함하는 메모리 시스템의 동작 방법에 있어서:
    (a) 상기 플래시 메모리 장치의 읽기 동작 동안 생긴 읽기 에러가 읽기 디스터브에 기인한 것인 지의 여부를 판별하는 단계와; 그리고
    (b) 상기 읽기 에러가 읽기 디스터브에 기인한 것으로 판별되는 경우, 상기 읽기 에러가 발생한 메모리 블록을 빈 메모리 블록으로 대체하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  2. 제 1 항에 있어서,
    상기 읽기 에러가 발생한 데이터의 에러 비트 수는 상기 메모리 시스템의 허용 가능한 에러 비트 수와 같거나 그 보다 적은 것을 특징으로 하는 메모리 시스템의 동작 방법.
  3. 제 1 항에 있어서,
    상기 읽기 에러가 읽기 디스터브에 기인하지 않은 것으로 판별되는 경우, 상기 플래시 메모리 장치로부터 읽혀진 데이터의 에러를 정정하고, 상기 에러-정정된 데이터를 외부로 출력하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  4. 제 1 항에 있어서,
    상기 (b) 단계는
    상기 플래시 메모리 장치로부터 읽혀진 데이터의 에러를 정정하고, 상기 에러-정정된 데이터를 외부로 출력하는 단계와;
    상기 읽기 에러가 발생한 메모리 블록의 읽기 에러 정보를 업데이트하는 단계와; 그리고
    상기 업데이트된 읽기 에러 정보에 따라 상기 읽기 에러가 발생한 메모리 블록을 빈 메모리 블록으로 대체하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  5. 제 4 항에 있어서,
    상기 업데이트된 읽기 에러 정보는 상기 플래시 메모리 장치 내에 저장되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  6. 제 5 항에 있어서,
    상기 빈 메모리 블록의 대체는 파워-업시 상기 플래시 메모리 장치로부터 읽혀진 읽기 에러 정보에 따라 수행되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  7. 제 4 항에 있어서,
    상기 메모리 블록들은 제 1 영역과 제 2 영역으로 구분되며, 상기 제 1 영역의 메모리 블록들은 사용자 데이터를 저장하는 데 사용되고 상기 제 2 영역의 메모리 블록들은 상기 읽기 에러 정보를 저장하는 데 사용되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  8. 제 4 항에 있어서,
    상기 빈 메모리 블록으로 대체된 메모리 블록은 소거된 후 빈 메모리 블록으로 지정되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  9. 제 1 항에 있어서,
    상기 읽기 에러가 읽기 디스터브에 기인하는 지의 여부는 에러가 발생하는 데이터 비트가 논리 '1'에서 논리 '0'로 변경되었는 지의 여부에 따라 판별되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  10. 복수의 메모리 블록들을 갖는 플래시 메모리 장치를 포함하는 메모리 시스템의 동작 방법에 있어서:
    파워-업시 상기 플래시 메모리 장치로부터 읽기 에러 정보를 버퍼 램으로 복사하는 단계와;
    상기 버퍼 램의 읽기 에러 정보에 의거하여, 정정 가능한 읽기 에러가 발생 한 메모리 블록이 존재하는 지의 여부를 판별하는 단계와; 그리고
    정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하는 것으로 판별될 때, 상기 정정 가능한 읽기 에러가 발생한 메모리 블록을 빈 메모리 블록으로 대체하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  11. 제 10 항에 있어서,
    상기 읽기 에러 정보는 읽기 동작시 생긴 메모리 블록의 읽기 에러가 읽기 디스터브에 기인한 것인 지의 여부를 나타내는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  12. 제 11 항에 있어서,
    상기 메모리 블록들은 제 1 영역과 제 2 영역으로 구분되며, 상기 제 1 영역의 메모리 블록들은 사용자 데이터를 저장하는 데 사용되고 상기 제 2 영역의 메모리 블록들은 상기 읽기 에러 정보를 저장하는 데 사용되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  13. 제 11 항에 있어서,
    상기 빈 메모리 블록으로 대체된 메모리 블록은 소거된 후 빈 메모리 블록으로 지정되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  14. 제 11 항에 있어서,
    상기 읽기 에러가 읽기 디스터브에 기인하는 지의 여부는 에러가 발생하는 데이터 비트가 논리 '1'에서 논리 '0'로 변경되었는 지의 여부에 따라 판별되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  15. 제 11 항에 있어서,
    정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하지 않는 것으로 판별될 때, 외부에서 요청된 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  16. 제 10 항에 있어서,
    상기 플래시 메모리 장치의 읽기 동작 동안 생긴 읽기 에러가 읽기 디스터브에 기인한 것인 지의 여부를 판별하는 단계와;
    상기 읽기 에러가 읽기 디스터브에 기인한 것으로 판별되는 경우, 상기 플래시 메모리 장치로부터 읽혀진 데이터의 에러를 정정하고, 상기 에러-정정된 데이터를 외부로 출력하는 단계와;
    상기 읽기 에러가 발생한 메모리 블록의 읽기 에러 정보로 상기 버퍼 램을 업데이트하는 단계와; 그리고
    상기 업데이트된 버퍼 램의 읽기 에러 정보를 상기 플래시 메모리 장치에 저장하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  17. 복수의 메모리 블록들을 포함하는 플래시 메모리 장치와; 그리고
    상기 플래시 메모리 장치를 제어하는 메모리 컨트롤러를 포함하며,
    상기 메모리 컨트롤러는 상기 플래시 메모리 장치의 읽기 동작 동안 생긴 읽기 에러가 읽기 디스터브에 기인한 것인 지의 여부를 판별하도록 구성되며; 그리고
    상기 읽기 에러가 읽기 디스터브에 기인한 것으로 판별되는 경우, 상기 메모리 컨트롤러는 상기 읽기 에러가 발생한 메모리 블록이 빈 메모리 블록으로 대체되도록 상기 플래시 메모리 장치를 제어하는 메모리 시스템.
  18. 제 17 항에 있어서,
    상기 읽기 에러가 발생한 데이터의 에러 비트 수는 상기 메모리 컨트롤러의 허용 가능한 에러 비트 수와 같거나 그 보다 적은 메모리 시스템.
  19. 제 17 항에 있어서,
    상기 읽기 에러가 읽기 디스터브에 기인하지 않은 것으로 판별되는 경우, 상기 메모리 컨트롤러는 상기 플래시 메모리 장치로부터 읽혀진 데이터의 에러를 정정하도록 그리고 상기 에러-정정된 데이터를 외부로 출력하도록 구성되는 메모리 시스템.
  20. 제 17 항에 있어서,
    상기 메모리 컨트롤러는 상기 플래시 메모리 장치로부터/로 읽혀진/전송될 데이터를 임시 저장하도록 구성된 버퍼 램을 포함하는 메모리 시스템.
  21. 제 20 항에 있어서,
    상기 메모리 컨트롤러는 상기 읽기 에러가 발생한 메모리 블록의 읽기 에러 정보를 상기 버퍼 램에 저장하도록 구성되는 메모리 시스템.
  22. 제 21 항에 있어서,
    상기 버퍼 램에 저장된 읽기 에러 정보는 상기 메모리 컨트롤러의 제어에 따라 상기 플래시 메모리 장치에 저장되는 메모리 시스템.
  23. 제 22 항에 있어서,
    상기 메모리 컨트롤러는 파워-업시 상기 플래시 메모리 장치로부터 출력되는 상기 읽기 에러 정보를 상기 버퍼 램에 저장하도록 구성되는 메모리 시스템.
  24. 제 23 항에 있어서,
    상기 메모리 컨트롤러는 상기 버퍼 램에 저장된 상기 읽기 에러 정보에 의거하여, 정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하는 지의 여부를 판별하도로 구성되는 메모리 시스템.
  25. 제 24 항에 있어서,
    정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하는 것으로 판별될 때, 상기 메모리 컨트롤러는 상기 정정 가능한 읽기 에러가 발생한 메모리 블록을 빈 메모리 블록으로 대체되도록 상기 플래시 메모리 장치를 제어하는 메모리 시스템.
  26. 제 25 항에 있어서,
    상기 빈 메모리 블록의 대체는 파워-업시 상기 플래시 메모리 장치로부터 읽혀진 읽기 에러 정보에 따라 수행되는 메모리 시스템.
  27. 제 21 항에 있어서,
    상기 읽기 에러 정보는 읽기 동작시 생긴 메모리 블록의 읽기 에러가 읽기 디스터브에 기인한 것인 지의 여부를 나타내는 메모리 시스템.
  28. 제 21 항에 있어서,
    상기 메모리 컨트롤러는 에러가 발생하는 데이터 비트가 논리 '1'에서 논리 '0'로 변경되었는 지의 여부에 따라, 상기 읽기 에러가 읽기 디스터브에 기인하는 지의 여부를 판별하는 메모리 시스템.
  29. 제 26 항에 있어서,
    상기 메모리 블록들은 제 1 영역과 제 2 영역으로 구분되며, 상기 제 1 영역 의 메모리 블록들은 사용자 데이터를 저장하는 데 사용되고 상기 제 2 영역의 메모리 블록들은 상기 읽기 에러 정보를 저장하는 데 사용되는 메모리 시스템.
  30. 제 17 항에 있어서,
    상기 플래시 메모리 장치는 단일-비트 데이터와 멀티-비트 데이터 중 어느 하나를 저장하는 메모리 시스템.
  31. 제 17 항에 있어서,
    상기 빈 메모리 블록으로 대체된 메모리 블록은 상기 메모리 컨트롤러의 제어하에 소거된 후 빈 메모리 블록으로 지정되는 것을 특징으로 하는 메모리 시스템.
  32. 복수의 메모리 블록들을 포함하는 플래시 메모리 장치와; 그리고
    상기 플래시 메모리 장치를 제어하는 메모리 컨트롤러를 포함하며,
    상기 메모리 컨트롤러는 중앙처리장치와; 상기 중앙처리장치의 제어에 따라 상기 플래시 메모리 장치로부터 읽혀진 데이터를 저장하는 버퍼 램과; 그리고 상기 버퍼 램으로 전송되는 데이터로부터 읽기 에러가 발생하였는 지의 여부를 검출하도록 구성된 에러 검사 정정 회로를 포함하며,
    상기 버퍼 램으로 전송되는 데이터로부터 읽기 에러가 발생한 경우, 상기 중앙처리장치는 상기 에러 검사 정정 회로의 검출 결과에 따라, 상기 읽기 에러가 읽 기 디스터브에 기인한 것인 지의 여부를 판별하도록 구성되며; 그리고
    상기 읽기 에러가 읽기 디스터브에 기인한 것으로 판별되는 경우, 상기 중앙처리 장치는 상기 읽기 에러가 발생한 메모리 블록의 읽기 에러 정보를 상기 버퍼 램에 저장하는 메모리 시스템.
  33. 제 32 항에 있어서,
    상기 중앙처리장치는 상기 버퍼 램의 읽기 에러 정보에 의거하여, 상기 읽기 에러가 발생한 메모리 블록이 빈 메모리 블록으로 대체하도록 상기 플래시 메모리 장치를 제어하는 메모리 시스템.
  34. 제 32 항에 있어서,
    상기 메모리 블록들은 제 1 영역과 제 2 영역으로 구분되며, 상기 제 1 영역의 메모리 블록들은 사용자 데이터를 저장하는 데 사용되고 상기 제 2 영역의 메모리 블록들은 상기 읽기 에러 정보를 저장하는 데 사용되는 메모리 시스템.
  35. 제 34 항에 있어서,
    상기 빈 메모리 블록의 대체는 파워-업시 상기 플래시 메모리 장치로부터 읽혀진 읽기 에러 정보에 따라 수행되는 메모리 시스템.
  36. 제 35 항에 있어서,
    상기 중앙 처리 장치는 상기 파워-업시 상기 읽기 에러 정보에 의거하여, 정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하는 지의 여부를 판별하는 메모리 시스템.
  37. 제 36 항에 있어서,
    정정 가능한 읽기 에러가 발생한 메모리 블록이 존재하는 것으로 판별될 때, 상기 중앙 처리 장치는 상기 정정 가능한 읽기 에러가 발생한 메모리 블록이 빈 메모리 블록으로 대체하도록 상기 플래시 메모리 장치를 제어하는 메모리 시스템.
  38. 제 32 항에 있어서,
    상기 읽기 에러가 발생한 데이터의 에러 비트 수는 상기 에러 검사 정정 회로의 허용 가능한 에러 비트 수와 같거나 그 보다 적은 메모리 시스템.
  39. 제 32 항에 있어서,
    상기 중앙 처리 장치는 상기 에러 검사 정정 회로의 검출 결과에 따라, 에러가 발생하는 데이터 비트가 논리 '1'에서 논리 '0'로 변경되었는 지의 여부를 검출하도록 구성되는 메모리 시스템.
  40. 제 39 항에 있어서,
    상기 읽기 에러가 읽기 디스터브에 기인하는 지의 여부는 에러가 발생하는 데이터 비트가 논리 '1'에서 논리 '0'로 변경되었는 지의 여부에 따라 결정되는 메모리 시스템.
  41. 제 33 항에 있어서,
    상기 빈 메모리 블록으로 대체된 메모리 블록은 소거된 후 빈 메모리 블록으로 지정되는 메모리 시스템.
KR1020060085865A 2006-09-06 2006-09-06 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 KR100802059B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020060085865A KR100802059B1 (ko) 2006-09-06 2006-09-06 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
US11/710,991 US7826263B2 (en) 2006-09-06 2007-02-27 Memory system including flash memory and method of operating the same
JP2007231833A JP5138319B2 (ja) 2006-09-06 2007-09-06 メモリーシステム及び該動作方法。
CN2007101999126A CN101183563B (zh) 2006-09-06 2007-09-06 包括闪存的存储器系统和操作该系统的方法
US12/897,869 US20110026326A1 (en) 2006-09-06 2010-10-05 Memory system including flash memory and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060085865A KR100802059B1 (ko) 2006-09-06 2006-09-06 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR100802059B1 true KR100802059B1 (ko) 2008-02-12

Family

ID=39151282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060085865A KR100802059B1 (ko) 2006-09-06 2006-09-06 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법

Country Status (4)

Country Link
US (2) US7826263B2 (ko)
JP (1) JP5138319B2 (ko)
KR (1) KR100802059B1 (ko)
CN (1) CN101183563B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110030172A (ko) * 2009-09-17 2011-03-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
US8139417B2 (en) 2008-12-17 2012-03-20 Samsung Electronics Co., Ltd. Flash memory device and read method
CN102855943A (zh) * 2008-11-28 2013-01-02 群联电子股份有限公司 错误校正控制器及其闪存芯片系统与错误校正方法
US9588700B2 (en) 2014-03-06 2017-03-07 SK Hynix Inc. Semiconductor device and method for programming healing patterns on memory blocks

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937647B2 (en) * 2007-07-27 2011-05-03 Actel Corporation Error-detecting and correcting FPGA architecture
WO2009095902A2 (en) * 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
WO2009037697A2 (en) * 2007-09-20 2009-03-26 Densbits Technologies Ltd. Improved systems and methods for determining logical values of coupled flash memory cells
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009072104A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
US8607128B2 (en) * 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009074979A2 (en) * 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
KR101406279B1 (ko) * 2007-12-20 2014-06-13 삼성전자주식회사 반도체 메모리 장치 및 그것의 읽기 페일 분석 방법
US8972472B2 (en) * 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8031521B1 (en) * 2008-05-20 2011-10-04 Marvell International Ltd. Reprogramming non-volatile memory devices for read disturbance mitigation
TWI473117B (zh) * 2008-06-04 2015-02-11 A Data Technology Co Ltd 具資料修正功能之快閃記憶體儲存裝置
CN101615420B (zh) * 2008-06-26 2014-01-08 威刚科技股份有限公司 具数据修正功能的闪存储存装置
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
KR101483190B1 (ko) * 2008-09-05 2015-01-19 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
WO2010043245A1 (de) * 2008-10-13 2010-04-22 Hyperstone Gmbh Verfahren zur sicherung eines ankerblocks in flashspeichern
KR20100098969A (ko) * 2009-03-02 2010-09-10 삼성전자주식회사 에러 정정 코드들의 신뢰성을 향상시킬 수 반도체 장치, 이를 포함하는 반도체 시스템, 및 에러 정정 코드 처리 방법
DK2228150T3 (da) * 2009-03-13 2012-07-09 Siemens Ag Fremstilling af stablede pladeelementer ved at kombinere en udskærings- og stablingsfremgangsmåde
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US9377960B2 (en) 2009-07-29 2016-06-28 Hgst Technologies Santa Ana, Inc. System and method of using stripes for recovering data in a flash storage system
US8453021B2 (en) 2009-07-29 2013-05-28 Stec, Inc. Wear leveling in solid-state device
US8266481B2 (en) * 2009-07-29 2012-09-11 Stec, Inc. System and method of wear-leveling in flash storage
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8305812B2 (en) * 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) * 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) * 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
KR101090394B1 (ko) * 2009-12-24 2011-12-07 주식회사 하이닉스반도체 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법
CN102122267A (zh) * 2010-01-07 2011-07-13 上海华虹集成电路有限责任公司 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器
US8700970B2 (en) * 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
KR101201582B1 (ko) * 2010-09-06 2012-11-14 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US9176800B2 (en) 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
JP5786702B2 (ja) * 2011-12-16 2015-09-30 大日本印刷株式会社 セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US20150248322A1 (en) * 2014-02-28 2015-09-03 Kabushiki Kaisha Toshiba Memory controller and memory system
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
WO2016022156A1 (en) * 2014-08-08 2016-02-11 Hewlett-Packard Development Company, L. P. Error counters on a memory device
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10014060B2 (en) * 2015-01-30 2018-07-03 Sandisk Technologies Llc Memory system and method for reducing read disturb errors
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10289480B2 (en) * 2015-03-12 2019-05-14 Toshiba Memory Corporation Memory system
CN106155585B (zh) * 2015-05-13 2020-05-15 爱思开海力士有限公司 自适应读取干扰收回策略
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
KR20180001711A (ko) 2016-06-27 2018-01-05 삼성전자주식회사 저장 장치
US10146604B2 (en) * 2016-08-23 2018-12-04 Oracle International Corporation Bad block detection and predictive analytics in NAND flash storage devices
FR3055714B1 (fr) * 2016-09-08 2018-09-28 Continental Automotive France Procede de correction d'erreur dans une memoire flash
CN110442298B (zh) * 2018-05-02 2021-01-12 杭州海康威视系统技术有限公司 存储设备异常检测方法及装置、分布式存储系统
KR102623234B1 (ko) * 2018-08-14 2024-01-11 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
JP2020047353A (ja) * 2018-09-20 2020-03-26 キオクシア株式会社 メモリシステム
KR20200079851A (ko) * 2018-12-26 2020-07-06 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
CN110262522B (zh) * 2019-07-29 2023-03-24 北京百度网讯科技有限公司 用于控制自动驾驶车辆的方法和装置
US10950317B2 (en) * 2019-08-02 2021-03-16 Micron Technology, Inc. Read disturb scan consolidation
US11287998B2 (en) 2019-08-02 2022-03-29 Micron Technology, Inc. Read count scaling factor for data integrity scan
US10877700B1 (en) * 2019-08-16 2020-12-29 Silicon Motion, Inc. Flash memory controller and method capable of efficiently reporting debug information to host device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105698A (ja) * 1993-10-01 1995-04-21 Mitsubishi Electric Corp 半導体記憶装置
JPH11345494A (ja) 1998-06-02 1999-12-14 Hitachi Ltd 半導体装置、データ処理システム及び不揮発性メモリセルの閾値変更方法
JP2002150783A (ja) 2000-11-10 2002-05-24 Toshiba Corp 半導体記憶装置およびそのメモリセルトランジスタのしきい値の変化を判別する方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4879690A (en) * 1987-09-07 1989-11-07 Mitsubishi Denki Kabushiki Kaisha Static random access memory with reduced soft error rate
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5619642A (en) * 1994-12-23 1997-04-08 Emc Corporation Fault tolerant memory system which utilizes data from a shadow memory device upon the detection of erroneous data in a main memory device
JP3565687B2 (ja) * 1997-08-06 2004-09-15 沖電気工業株式会社 半導体記憶装置およびその制御方法
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
JP2000137584A (ja) * 1998-10-30 2000-05-16 Nec Software Ltd 外部記憶装置の制御装置及び不良ブロック代替方法並びに不良ブロック代替制御プログラムを格納した記憶媒体
JP2000251483A (ja) 1999-02-24 2000-09-14 Sanyo Electric Co Ltd 1チップマイクロコンピュータとそのデータリフレッシュ方法
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
US6715104B2 (en) * 2000-07-25 2004-03-30 International Business Machines Corporation Memory access system
US7082091B2 (en) * 2001-07-31 2006-07-25 Ricoh Company, Ltd. Information reproducing method judging a multivalued level of a present cell by referring to judged multivalued levels of a preceding cell and an ensuing cell
DE60332091D1 (de) * 2002-01-31 2010-05-27 Panasonic Corp Informationsverarbeitungsvorrichtung, speicherverwaltungsvorrichtung, speicherverwaltungsverfahren und informationsverarbeitungsverfahren
JP4129381B2 (ja) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
JP4236485B2 (ja) * 2003-03-06 2009-03-11 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4256198B2 (ja) 2003-04-22 2009-04-22 株式会社東芝 データ記憶システム
US7334159B1 (en) * 2003-09-29 2008-02-19 Rockwell Automation Technologies, Inc. Self-testing RAM system and method
JP4041076B2 (ja) * 2004-02-27 2008-01-30 株式会社東芝 データ記憶システム
US7259989B2 (en) * 2004-09-03 2007-08-21 Matsushita Electric Industrial Co., Ltd. Non-volatile memory device
FR2875352B1 (fr) * 2004-09-10 2007-05-11 St Microelectronics Sa Procede de detection et de correction d'erreurs pour une memoire et circuit integre correspondant
US7308603B2 (en) * 2004-10-18 2007-12-11 International Business Machines Corporation Method and system for reducing memory faults while running an operating system
KR100645058B1 (ko) * 2004-11-03 2006-11-10 삼성전자주식회사 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
US7272043B2 (en) * 2004-12-27 2007-09-18 Macronix International Co., Ltd. Operation methods for a non-volatile memory cell in an array
US20070136640A1 (en) * 2005-12-14 2007-06-14 Jarrar Anis M Defect detection and repair in an embedded random access memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105698A (ja) * 1993-10-01 1995-04-21 Mitsubishi Electric Corp 半導体記憶装置
JPH11345494A (ja) 1998-06-02 1999-12-14 Hitachi Ltd 半導体装置、データ処理システム及び不揮発性メモリセルの閾値変更方法
JP2002150783A (ja) 2000-11-10 2002-05-24 Toshiba Corp 半導体記憶装置およびそのメモリセルトランジスタのしきい値の変化を判別する方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855943A (zh) * 2008-11-28 2013-01-02 群联电子股份有限公司 错误校正控制器及其闪存芯片系统与错误校正方法
US8139417B2 (en) 2008-12-17 2012-03-20 Samsung Electronics Co., Ltd. Flash memory device and read method
KR20110030172A (ko) * 2009-09-17 2011-03-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
KR101678909B1 (ko) 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
US9588700B2 (en) 2014-03-06 2017-03-07 SK Hynix Inc. Semiconductor device and method for programming healing patterns on memory blocks

Also Published As

Publication number Publication date
CN101183563B (zh) 2012-10-10
JP2008065830A (ja) 2008-03-21
CN101183563A (zh) 2008-05-21
US20080055989A1 (en) 2008-03-06
JP5138319B2 (ja) 2013-02-06
US20110026326A1 (en) 2011-02-03
US7826263B2 (en) 2010-11-02

Similar Documents

Publication Publication Date Title
KR100802059B1 (ko) 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
US8125825B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
KR101633048B1 (ko) 메모리 시스템 및 그것의 데이터 처리 방법
US8316278B2 (en) Memory system that detects bit errors due to read disturbance and methods thereof
KR101635506B1 (ko) 데이터 저장 시스템 및 그것의 읽기 방법
JP6127200B2 (ja) メモリデバイスにおけるエラー訂正動作
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
US7813187B2 (en) Multi-bit flash memory device and program method thereof
KR101491829B1 (ko) 읽기 디스터번스를 방지하는 메모리 장치 및 그 방법
US7954037B2 (en) Method for recovering from errors in flash memory
US7924628B2 (en) Operation of a non-volatile memory array
KR101736792B1 (ko) 플래시 메모리 및 그것의 셀프 인터리빙 방법
US8214725B2 (en) Memory access system
US20140269071A1 (en) Preserving data from adjacent word lines while programming binary non-volatile storage elements
US10725863B2 (en) Memory system and method for operating the same
US9471418B2 (en) Memory system that detects bit errors due to read disturbance and methods thereof
KR20160143371A (ko) 메모리 시스템 및 그 동작 방법
JP2009140564A (ja) Nand型フラッシュメモリおよびメモリシステム
US10775865B2 (en) Memory system including a nonvolatile memory and a volatile memory, and method
KR20140028543A (ko) 반도체 메모리 장치 및 이의 동작 방법

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee