KR20140074285A - 데이터를 카피하는 시스템 및 방법 - Google Patents

데이터를 카피하는 시스템 및 방법 Download PDF

Info

Publication number
KR20140074285A
KR20140074285A KR1020147005785A KR20147005785A KR20140074285A KR 20140074285 A KR20140074285 A KR 20140074285A KR 1020147005785 A KR1020147005785 A KR 1020147005785A KR 20147005785 A KR20147005785 A KR 20147005785A KR 20140074285 A KR20140074285 A KR 20140074285A
Authority
KR
South Korea
Prior art keywords
data
group
storage elements
die
copy
Prior art date
Application number
KR1020147005785A
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 샌디스크 테크놀로지스, 인코포레이티드
Publication of KR20140074285A publication Critical patent/KR20140074285A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

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

Abstract

방법이 제시되는바, 이 방법은 메모리 다이 내의 소스 위치로부터 메모리 다이 내의 목적지 위치로의 데이터의 카피를 명령하는 커맨드를 수신하는 것을 포함한다. 이 방법은 기준이 충족되는지 여부를 결정하는 것을 포함하는바, 이는 미리정의된 파라미터를 동적 임계치와 비교하는 것을 포함한다. 기준이 충족된다는 결정에 응답하여, 이 방법은 메모리 다이 내의 소스 위치로부터 제어기 다이로 데이터를 이동시키고 데이터를 제어기 다이로 이동시킨 이후에 제어기 다이로부터의 데이터의 에러 정정된 형태를 메모리 다이 내의 목적지 위치로 이동시킴으로써, 카피를 실행하는 것을 포함한다. 기준이 충족되지 않는다는 결정에 응답하여, 이 방법은 데이터를 제어기 다이로 이동시킴 없이 소스 위치에서 목적지 위치로 메모리 다이 내에서 데이터를 이동시킴으로써, 카피를 실행하는 것을 포함한다.

Description

데이터를 카피하는 시스템 및 방법{SYSTEM AND METHOD OF COPYING DATA}
관련 출원에 대한 상호-참조
본 출원은 미국 특허 출원 번호 제13/593,107호(출원일: 2012년 8월 23일)에 대한 우선권 혜택을 주장하는바, 상기 미국 출원은 또한, 미국 가특허 출원 번호 제61/528,381호(출원일: 2011년 8월 29일)에 대한 우선권 혜택을 주장한다. 이러한 출원들 각각의 내용은 그 전체가 참조로 본 명세서에 명확하게 통합된다.
본 개시내용은 일반적으로 메모리에서 데이터를 카피(copy)하는 것에 관한 것이다.
비휘발성 메모리 디바이스들, 예를 들어 범용 직렬 버스(Universal Serial Bus, USB) 플래시 메모리 드라이브들 및 탈착가능 저장 카드들은 데이터 및 소프트웨어 애플리케이션들의 휴대성을 증가시킨다. 이러한 디바이스들은 메모리 내의 소스 위치(source location)로부터 메모리 내의 목적지 위치(destination location)로 데이터를 카피할 수 있는바, 이러한 카피는 카피된 데이터에서의 에러들을 제거하기 위해 에러 검출 및 정정 기법들을 사용하여 수행된다. 대안적으로, 이러한 디바이스들은 카피 동작 동안 에러 검출 및 정정을 사용함이 없이 소스 위치로부터 목적지 위치로 데이터를 카피할 수 있다. 에러 검출 및 정정을 사용함이 없이 데이터를 카피하는 것은 카피 레이턴시(copy latency)를 감소시키지만 데이터 내에 누적되는 너무 많은 에러들로 인해 데이터가 복원될 수 없게 될 위험성을 증가시킨다. 따라서, 누적된 에러들로 인해 데이터가 복원될 수 없게 될 위험성을 허용가능할 정도로 낮게 유지시키면서 비휘발성 메모리 디바이스 내에서 데이터를 카피하는 평균 속도를 증가시키는 것이 이로울 수 있다.
하나의 메모리 위치로부터 또 다른 하나의 메모리 위치로의 데이터의 카피가, 데이터의 에러 검출 및 정정을 포함하는 풀 카피(full copy) 절차를 통해 수행될 것인지 아니면 데이터에 누적될 수 있는 에러들을 정정하지 않는 "카피-백(copy-back)" 절차를 통해 수행될 것인지 여부의 결정이 행해진다. 이러한 결정은 하나 이상의 미리정의된 파라미터(predefined parameter)들을 하나 이상의 임계치(threshold)들과 비교하는 것에 근거할 수 있다. 미리정의된 파라미터들은, 예시적 사례로서, 데이터에서의 예측된 에러들의 총수(count), 카피하기 전에 데이터를 저장하는 저장 소자들의 제 1 그룹의 기입/소거 싸이클(write/erase cycle)들의 총수, 데이터가 카피된 저장 소자들의 제 2 그룹의 기입/소거 싸이클들의 총수, 또는 데이터가 저장 소자들의 제 1 그룹에 프로그래밍된 이후 경과된 시간을 포함할 수 있다. 예시적 사례로서, 임계치들은, 예컨대, 메모리 디바이스의 연령(age) 그리고 소스 위치 혹은 목적지 위치의 기입/소거 싸이클들의 개수에 근거하여, 동적으로 계산될 수 있다. 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부의 결정은, 데이터가 높은 중요도(importance)를 갖는다고 메타데이터(metadata)가 표시하는지 여부에 근거할 수 있거나, 혹은 데이터가 높은-해상도의 판독 모드(high-resolution read mode)를 사용하여 판독돼야만 한다고 메타데이터가 표시하는지 여부에 근거할 수 있다.
도 1은 동적 카피-임계치(dynamic copy-threshold)를 결정하기 위한 룩업 테이블(lookup table) 및 메모리를 포함하는 시스템의 제 1 실시예를 나타낸 블록도이다.
도 2는 도 1의 룩업 테이블의 실시예를 나타낸 일반적인 도면이다.
도 3은 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하는 방법의 제 1 특정 실시예의 흐름도이다.
도 4는 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하는 방법의 제 2 특정 실시예의 흐름도이다.
도 5는 상태 경계 전압 영역들(state boundary voltage regions) 내에 있는 셀(cell)들의 총수에 근거하여 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하기 위한 상태 경계 전압 영역들의 세트를 예시하는 일반적인 도면이다.
도 6은 동적 임계치에 근거하여 풀 카피 혹은 카피-백을 선택하도록 구성된 풀 카피/카피-백 제어 회로의 제 1 실시예를 포함하는 시스템의 블록도이다.
도 7은 하나 이상의 파라미터들에 근거하여 풀 카피 혹은 카피-백을 선택하도록 구성된 풀 카피/카피-백 제어 회로의 제 2 실시예를 포함하는 도 6의 시스템의 메모리의 블록도이다.
도 8은 메타데이터에 근거하여 풀 카피 혹은 카피-백을 선택하도록 구성된 도 6의 풀 카피/카피-백 제어 회로의 제 3 실시예의 블록도이다.
도 9는 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하는 방법의 제 4 특정 실시예의 흐름도이다.
도 10은 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하는 방법의 제 5 특정 실시예의 흐름도이다.
도 11은 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하는 방법의 제 6 특정 실시예의 흐름도이다.
도 12는 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하는 방법의 제 7 특정 실시예의 흐름도이다.
"카피-백(copy-back)"은 데이터의 페이지가 플래시 다이(flash die)와 같은 메모리 내의 제 1 물리적 어드레스로부터 플래시 다이 내의 제 2 물리적 어드레스로, 플래시 다이 밖으로 데이터를 전송함이 없이, 카피되는 동작을 말한다. 페이지 카피 동작은 예를 들어, 가비지 수집(garbage collection) 동안 플래시 관리 시스템에서 수행될 수 있고, 여전히 유효한 사용자 데이터의 페이지를 새로운 위치로 이동시키는 것을 포함할 수 있다. 플래시 다이는 플래시 다이 밖으로 데이터를 전송함이 없이 두 개의 물리적 위치들 간에 데이터를 이동시키는 카피-백 동작을 수행하기 위한 커맨드들을 지원할 수 있다. 카피-백 동작을 수행하기 위한 커맨드들을 지원하는 플래시 디바이스들을 관리하는 플래시 관리 시스템들은 가비지 수집 동안 데이터를 이동시키기 위한 플래시 다이의 내부 카피-백 동작들 사용할 수 없다. 대신에, 플래시 메모리 어레이 내의 위치들(예를 들어, 물리적 페이지들) 간의 페이지 카피 동작들은:
(a) 플래시 어레이 내의 소스 물리적 페이지로부터 플래시 다이 데이터 레지스터로 데이터를 판독하고;
(b) 데이터 레지스터로부터 플래시 다이 밖으로 (플래시 다이를 플래시 제어기에 연결시키는) 버스를 통해 데이터를 이동시키고;
(c) 플래시 제어기에서, 에러들에 대해 데이터를 점검하고 임의의 에러들을 정정하고;
(d) 만약 임의의 에러들이 정정되었다면, 제어기로부터의 정정된 데이터를 버스를 통해 플래시 다이 데이터 레지스터로 전송하고; 그리고
(e) 데이터 레지스터로부터의 데이터를 플래시 어레이 내의 목적지 위치에 프로그래밍함으로써 수행될 수 있다.
앞서의 절차는 플래시 다이로부터 제어기로 버스를 통해 데이터를 이동시킬 때 버스 싸이클(bus cycle)들을 소비한다. 그러나, 데이터를 제어기로 전송하는 것은 데이터가 플래시 다이 내에 프로그래밍된 이후 데이터에 누적될 수 있는 에러들의 정정을 가능하게 한다.
플래시 페이지에 저장된 사용자 데이터는 데이터에서의 검출된 에러들의 정정을 가능하게 하는 에러 정정 패리티 비트(error correction parity bit)들을 동반할 수 있다. 앞서의 절차에 따라 페이지를 복사할 때, 데이터의 본래 위치에서 누적된 임의의 에러들은 제어기에서 정정되고, 데이터는 본래의 형태(정정된 형태)로 재설정된다. 그러나, 만약 이러한 것 대신에 내부 카피-백 방법이 데이터를 카피하기 위해 사용된다면, 어떠한 에러 정정도 일어나지 않는다. 만약 카피된 데이터가, 내부 카피-백 동작을 사용하여 카피되기 전에, 에러들을 누적했다면, 새로운 위치에서의 데이터의 형태도 또한 이러한 에러들을 포함한다. 이후에, 데이터가 다시 플래시 관리 소프트웨어에 의해 다시 이동될 때, 추가적인 에러들이 데이터에 누적될 수 있다. 데이터가 삭제되지 않는 한, 혹은 오버-라이트(over-write)되지 않는 한, 에러들의 이러한 누적에 대해서는 제한이 없다. 어떤 포인트(point)에서 데이터 내의 에러들의 개수는 에러들을 정정하기 위한 제어기의 에러 정정 메커니즘의 능력을 초과할 수 있는바, 이러한 포인트에서 데이터는 오염되게 되고 손실될 수 있다. 따라서, 플래시 어레이 내의 물리적 위치들 간에 데이터를 이동시킬 때 내부 다이의 카피-백 동작들에 의존하는 것은 위험할 수 있고 정정될 수 없는 데이터 손실로 끝날 수 있다.
더욱이, 제어 필드(control field)들은 사용자 데이터와 관련될 수 있고 사용자 데이터와 함께 저장될 수 있다. 제어 필드들은 사용자 데이터의 물리적 어드레스에 의존할 수 있고, 따라서 사용자 데이터가 두 개의 물리적 어드레스들 간에 이동될 때 변경될 수 있다. 이러한 제어 필드들을 사용하는 플래시 관리 시스템들에서, 사용자 데이터의 단순한 카피-백 구현은 또한, 플래시 관리 알고리즘들을 실행시키는 플래시 제어기에 의해 제어 필드들을 업데이트하는 것을 포함할 수 있는바, 여기서 데이터는 플래시 다이의 데이터 레지스터에 계속 남아있다.
메모리 디바이스는 미리결정된 한도(limit)와 비교하여, 데이터에 대응하는 카운터(counter)의 값에 근거하여, 카피-백 커맨드로 데이터를 이동시키도록 구성될 수 있다. 미리결정된 한도 아래에 카운터가 있다면, 카운터는 증분되고, 데이터의 블록으로부터의 데이터는 카피-백 커맨드를 사용하여 이동된다. 미리결정된 한도에 카운터가 도달하는 경우, 카운터는 재설정되고 데이터의 블록으로부터의 데이터는 시스템 메모리(예를 들어, 제어기에서의 메모리)로 이동되고 에러들에 대해 검사가 수행된다. 임의의 에러들이 정정되면, 데이터는 비휘발성 메모리로 다시 전달된다.
그러나, 미리결정된 한도를 카피-백들의 개수로 설정하는 것은 수 가지 단점을 가질 수 있다. (상대적으로 낮은 예측 예러율을 가질 수 있는) 갓 제조된 플래시 메모리 디바이스에 대해 설정된 한도는, 일정 시간 주기 동안 많은 기입/소거(Write/Erase)(W/E) 싸이클을 겪은 (상대적으로 높은 예측 예러율을 갖는) 플래시 메모리 디바이스에 적용되는 경우, 결과적으로 데이터가 손실되게 할 것이다. 반면, 노후화된 플래시 메모리 디바이스에 대해 설정된 한도는 갓 제조된 플래시 메모리 디바이스에 대해 너무 비관적인바, 이것은 결과적으로 불필요한 에러 정정 동작들이 수행되게 할 것이다.
단일 파라미터(즉, 마지막 풀 카피 이후 수행된 카피-백들의 수의 총개수)를 미리결정된 한도와 비교하는 것의 또 다른 단점은 메모리의 다른 파라미터들이 무시된다는 것이다. 본 명세서에서 설명되는 바와 같이, 일부 실시예들에서, 메모리의 다른 파라미터들은 이러한 마지막 풀 카피 이후의 카피-백들의 수의 총개수 대신에 사용될 수 있거나 혹은 이에 추가하여 사용될 수 있다.
메모리 시스템은 외부 버스를 통해 제어기에 연결된 메모리 어레이를 포함할 수 있다. 어레이 내의 물리적 어드레스는 외부 버스보다 더 빠른 데이터 전달 속도를 제공하는 내부 버스를 통해 연결될 수 있다. 그러나, 내부 버스를 통한 데이터 전달은 에러 정정 능력을 제공할 수 없다. 만약 카피-백 동작이 수행된다면, 에러들은 카피된 데이터에 누적될 수 있다. 만약 카피 절차가 제어기를 통해 수행된다면, 데이터에서의 에러들은 정정되고, 메모리는 에러들이 없는 데이터(예를 들어, 코드워드)로 프로그래밍될 수 있다. 그러나, 제어기를 통한 카피 절차는 카피-백 동작보다 더 큰 레이턴시를 유발시킬 수 있다.
빠른 카피-백 동작을 수행할 것인지 아니면 풀 카피 동작을 수행할 것인지의 결정은 하나 이상의 기준들이 충족되는지 여부에 근거할 수 있다. 만약 하나 이상의 기준들이 충족되는 경우 풀 카피 동작이 수행될 수 있다. 풀 카피 동작은, 메모리 다이 내의 소스 위치로부터 외부 제어기로 데이터를 카피하는 것, 데이터에 관해 에러 정정을 수행하는 것, 그리고 정정된 데이터를 메모리 다이 내의 목적지 위치로 카피하는 것을 포함한다. 예시적인 비한정적 사례로서, 이러한 기준들은:
데이터에서의 예측된 에러들의 개수가 에러-임계치를 초과하는가;
소스 위치의 기입/소거 싸이클들의 개수가 소스-기입/소거-임계치를 초과하는가;
목적지 위치의 기입/소거 싸이클들의 개수가 목적지-기입/소거-임계치를 초과하는가;
데이터가 소스 위치에 프로그램된 이후 경과된 시간이 소스-데이터-보유-임계치를 초과하는가;
데이터와 관련된 메타-데이터가 데이터는 에러 정정을 통해 판독돼야함을 표시하는가(예를 들어, 메타데이터가 데이터의 중요도(importance)가 높음을 표시하거나 데이터가 더 긴 데이터 보유 사양(data retention specification)을 요구한다고 표시하기 때문에, 데이터는 에러 정정을 통해 판독돼야함을 표시하는가); 또는
데이터의 판독 모드가 풀 카피 동작을 요구하는가(예를 들어, 판독 모드가 높은 해상도를 갖는 판독을 표시하는가, 즉, 단지 하드 비트(hard bit)들만을 갖는 판독과는 달리 추가적인 소프트 비트(soft bit)들을 갖는 판독을 표시하는가)
중 하나 이상을 포함할 수 있다.
데이터 카피 동작이 카피-백 동작을 통해 수행될지 아니면 풀 카피 동작을 통해 수행될지 여부를 결정하기 위해, 앞서의 기준들 각각은 단독 기준으로서 독립적으로 고려될 수 있다. 대안적으로, 데이터 카피 동작이 카피-백 동작을 통해 수행될지 아니면 풀 카피 동작을 통해 수행될지 여부를 결정하기 위해, 이러한 기준들 중 둘 이상의 기준들의 조합이 사용될 수 있다.
대안적으로, 혹은 추가적으로, 풀 카피 절차를 수행할지 아니면 빠른 카피-백 절차를 수행할지 여부를 결정하기 위해, 이러한 기준들에 대한 하나 이상의 동적으로 계산된 임계치들이 사용될 수 있다. 이러한 기준의 예는, 마지막 풀 카피 이후의 카피-백들의 개수가, 동적으로 계산된 카피-백 임계치를 초과했는지 일 수 있다. 만약 기준이 충족된다면, 즉 마지막 풀 카피 이후의 카피-백들의 개수가, 동적으로 계산된 카피-백 임계치를 초과했다면(그리고 소스 위치로부터 목적지 위치로 데이터를 이동시키도록 하는 커맨드가 수신되었다면), 풀 카피 절차가 수행될 수 있는바, 이러한 풀 카피 절차는 데이터를 제어기에 카피하는 것, 데이터를 디코딩 데이터로 디코딩하는 것(여기에는 데이터에서의 임의의 에러들을 정정하는 것이 포함됨), 그리고 에러들이 없는 새로운 코드-워드를 형성하도록 디코딩 데이터를 인코딩하는 것을 포함한다. 그 다음에, 이러한 새로운 코드-워드는 목적지 위치에 프로그래밍될 수 있다. 다른 경우에, 만약 기준이 충족되지 않는다면, 즉 임계치를 초과하지 못했다면, 메모리 다이 내에서의 소스로부터 목적지로의 카피-백 동작이 수행될 수 있다.
예시적인 비한정적 사례로서, 파라미터화된 기준의 예들은:
마지막 풀 카피 이후 카피-백 동작들의 개수가, 동적으로 설정된 파라미터 카피-임계치보다 더 큰가;
데이터에서의 예측된 에러들의 개수가, 동적으로 설정된 파라미터 에러-임계치를 초과하는가;
소스 위치의 기입/소거 싸이클들의 개수가, 동적으로 설정된 파라미터 소스-기입/소거-임계치를 초과하는가;
목적지 위치의 기입/소거 싸이클들의 개수가, 동적으로 설정된 파라미터 목적지-기입/소거-임계치를 초과하는가; 또는
데이터가 소스 위치에 프로그램된 이후 경과된 시간이, 동적으로 설정된 파라미터 소스-데이터-보유-임계치를 초과하는가
를 포함할 수 있다. 이러한 기준들 중 하나 이상의 기준들의 임의의 다른 조합이 사용될 수 있다.
약간 더 복합적인 기준들의 또 다른 예는, 코드-워드 내의 패리티 비트들의 개수가 패리티-임계치보다 작은가, 그리고 코드-워드의 마지막 풀 카피 이후 코드-워드의 카피-백 동작들의 개수가 카피-임계치보다 더 큰가 일 수 있다. 본 개시내용의 일부 실시예들은 플래시 메모리의 제 1 타입인 데이터 소스, 그리고 플래시 메모리의 제 2 타입인 데이터 목적지를 포함할 수 있음에 유의해야 한다. 예를 들어, 데이터 카피는, 싱글-레벨 셀(Single-Level Cell, SLC) 플래시 메모리 타입을 갖는 소스로부터 멀티-레벨 셀(Multi-Level Cell, MLC) 플래시 메모리 타입을 갖는 목적지로, 혹은 MLC 소스로부터 SLC 목적지로, 혹은 MLC 소스로부터 트리-레벨 셀(Tri-Level Cell, TLC) 목적지로, 혹은 트리-레벨 셀(TLC) 소스로부터 MLC 목적지로, 및 기타 등등으로 수행될 수 있다. 더욱이, 메모리 시스템에 의해 사용되는 에러 정정 코딩(Error Correction Coding, ECC) 방식이 판독 비트들과 관련된 신뢰도 측정치를 사용할 수 있다고 하면, 적어도 일부 경우들(예를 들어, MLC 소스로부터 MLC 목적지로, 혹은 TLC 소스로부터 TLC 목적지로 행해지는 경우)은 데이터가 제어기로 추출되기 전에 카피-백 동작들의 개수를 더 크게 할 수 있는데, 왜냐하면 이러한 경우에 있어 멀티-상태 에러(multi-state error)는 SLC-대-TLC 카피-백 동작들과 비교하여 더 제한되기 때문이다. 예를 들어, SLC-대-TLC 카피-백 동작에 있어서, 만약 에러가 하나 이상의 SLC 페이지에서 발생했다면, TLC 상태에서의 상당량의 "점프(jump)"(예를 들어, 멀티-상태 전이(multi-state transition))가 있을 수 있다. 이러한 점프는 판독 임계치를 메모리 내에서 가장 가까이 있는 상태와 비교하는 판독 메커니즘에 의해서 관측될 수 없고, 이에 따라 판독 데이터의 신뢰도를 감소시킬 수 있다.
다양한 파라미터들이 메모리의 상태에 따라 계산될 수 있다. 도 1은 메모리(102)를 포함함과 아울러 룩업 테이블(LookUp Table, LUT)(104)을 구현한 데이터 저장 시스템(100)의 특정 실시예를 나타낸다. LUT(104)에 대한 인덱스들(Indices)은, 디바이스 연령(106) 및 기입/소거(W/E) 싸이클들의 총수(108)로서 예시된 바와 같이, 메모리(102)의 상태와 관련된다. LUT(104)의 엔트리(entry)들은, 카피-임계치 파라미터(110)의 값으로서 예시된 바와 같이, 계산될 파라미터의 값들을 포함한다.
예를 들어, 카피-임계치 파라미터는 2-차원 LUT를 살펴봄으로써 결정될 수 있는바, 2-차원 LUT에서, LUT에 대한 인덱스들은 LUT의 하나의 차원 상에서는 블록의 연령(즉, 블록이 프로그래밍된 이후 경과된 시간에 비례하는 어떤 측정치)이고, LUT의 제2의 차원 상에서는 기입/소거 싸이클들의 개수이다. 연령 및 기입/소거 싸이클의 각각의 조합에 대해, 대응하는 카피-임계치가 존재할 수 있다. 갓 제조된 디바이스(예를 들어, 디바이스 연령 파라미터의 값이 낮은 디바이스)는 많은 카피-백 동작들을 허용하는 상대적으로 큰 카피-임계치를 수용할 수 있고, 반면 기입/소거 싸이클들이 많았던 노후화된 디바이스는 더 적은 수의 카피-백 동작들을 허용하는 낮은 카피-임계치를 수용할 수 있다. 도 2는 카피-백 임계치를 계산 혹은 결정하기 위해 사용될 수 있는 LUT(200)를 예시한 것이다. 예를 들어, LUT(200)는 도 1의 LUT(104)로서 사용될 수 있다. LUT(200)의 엔트리들 내에 예시된 값들은 예시적 목적으로 제공되는 것이며, 실제 값들을 나타내지 않을 수 있다. 갓 제조된 메모리 디바이스의 W/E 싸이클들의 값은 낮을 수 있다(예를 들어, 연령 값으로 "0"을 가질 수 있음). LUT(200)는 이러한 디바이스에 대해 가장 큰 저장되는 카피-백 임계치를 제공할 수 있다(즉, LUT(200)의 하위-좌측 엔트리 내에서의 값 "30"). LUT(200)의 예에서 하위-좌측 엔트리의 우측으로 수평방향으로 있는 LUT(200)의 엔트리들은 동일한 기입/소거 값(예를 들어, "0")에 대응하고 있지만, 블록 연령(즉, 블록 프로그래밍 이후 경과한 증가된 시간)은 증가하는 것에 대응하고 있는바, 블록 연령 증가로 인해 더 작은 카피-백 임계치의 값들을 갖고 있다. LUT(200)의 엔트리들에 대해 상향으로 움직이는 것은 기입/소거 싸이클들의 개수의 증가에 대응하고, 이에 따라 카피-백 임계치의 값이 감소하는 것에 대응한다.
도 1 및 도 2가 LUT를 사용하여 카피-임계치를 결정하는 것을 예시하고 있지만, 다른 실시예들에서, 카피-임계치는 메모리 시스템의 실시간 혹은 거의 실시간 파라미터들에 따라 계산될 수 있다. 예를 들어, 주어진 인코딩 방식에 대해 메모리 시스템의 카피-백 임계치를 계산하기 위한 방법은:
a. 초기 카피-백 임계치를 설정하는 것;
b. 초기 카피-백 임계치로 설정된 카피-백 파라미터로 메모리 시스템을 동작시키는 것;
c. 카피-백 임계치에 도달하고 데이터가 제어기로 전송된 각각의 시간의 현재 및 과거 데이터를 사용하여 (각각의 코드-워드에서의 정정된 에러들의 개수에 근거하는) 히스토그램(histogram)을 발생시키는 것; 그리고
d. 이러한 히스토그램에 따라 카피-백 임계치를 업데이트하는 것을 포함할 수 있다.
대안적으로, 풀 히스토그램(full histogram)이 발생되지 않을 수 있다. 대신에, 디코딩 프로세스 동안 코드-워드 내에서 검출된 에러들의 최대 개수가 사용될 수 있다. 만약 검출된 에러들의 최대 개수가 적어도 제1의 미리정의된 수에 의해 인코딩 방식의 에러 정정 능력보다 더 작다면, 카피-백 임계치는 증가될 수 있다. 만약 에러들의 최대 개수가 (인코딩 방식의 에러 정정 능력보다 약간 작을 수 있는) 제2의 미리정의된 수보다 더 작지 않다면, 혹은 코드-워드 디코딩 프로세스 동안 정정되지 않은 에러들이 존재한다면, 카피-백 임계치는 감소될 수 있다.
선택에 따라서, 메모리 제어기는 주어진 시간 주기에서 디코더에 의해 검출된 에러들의 누적된 개수를 추적할 수 있고, 카피-백 임계치는 에러들의 누적된 개수에 따라 업데이트될 수 있다.
도 3은 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하는 방법(300)을 제시한다. 방법(300)은 데이터 저장 디바이스에서 수행될 수 있고, 여기서 데이터 저장 디바이스는, 도 6에 관하여 설명되는 바와 같이, 제어기에 결합되는 메모리(예를 들어, 플래시 메모리)를 포함하며, 제어기는 에러 정정 코딩(ECC) 디코더를 구비한 에러 정정 코딩(ECC) 엔진을 포함한다. 카피-백-임계 변수(Copy-Back-Threshold variable)(CBT)가 302에서 어떤 초기 값으로 초기화된다. 304에서 데이터를 카피하도록 하는 카피 커맨드를 (예를 들어, 호스트 디바이스로부터) 수신함에 응답하여, 306에서 카피-백 카운터(Copy-Back counter)의 값(CB)이 CBT와 비교된다. 만약 CB가 CBT보다 더 크지 않다면, 308에서 카피-백 동작이 수행된다. 만약 CB가 CBT보다 더 크다면, 310에서 풀 카피가 수행된다. 풀 카피 절차는 데이터를 제어기로 전달하는 것, 그리고 데이터에 관해 ECC 디코딩을 수행하는 것을 포함한다.
제어기는 ECC 디코더에 의해 정정된 에러들의 개수에 관한 통계치들을 보유할 수 있다. 예를 들어, 이러한 통계치들은 에러들의 누적된 개수의 형태일 수 있거나, 혹은 디코딩된 코드워드들에서의 정정된 에러들의 개수의 풀 히스토그램(full histogram)을 포함할 수 있다. 도 3에서 예시되는 바와 같이, 제어기는 (어떤 시간 주기 동안) 임의의 단일 코드-워드에서 정정된 에러들의 최대 개수인 단일의 수를 저장할 수 있다. 일정 시간 주기 동안의 검출된 에러들의 이러한 최대 개수(MaxErr로서 표시됨)가 제 1 임계치(E1)보다는 크고 제 2 임계치(E2)보다는 작은지의 결정이 312에서 행해진다. 만약 MaxErr이 El과 E2 사이에 존재한다면, 방법(300)은 CBT를 업데이트함이 없이 종료된다.
312에서, MaxErr이 E1보다 더 작은 것으로 결정된다면, 316에서 CBT는 증가될 수 있다. CBT의 증가는, 데이터의 각각의 풀 카피 사이에 최대 개수의 카피-백들이, 카피된 데이터에 관해 수행되어 카피 동작들의 전체 레이턴시가 감소되도록 일어날 수 있다. 누적된 에러들의 최대 검출 개수(즉, MaxErr)가 ECC 디코더의 에러 정정 능력보다 훨씬 더 작기 때문에(MaxErr < El로 표시됨), 풀 카피들 사이에 수행된 하나 이상의 추가적인 카피-백들에 있어서, 데이터에 누적되기에 충분한 수의 추가적인 에러들이 데이터를 ECC 디코더에 의해 정정될 수 없게 할 확률은 매우 낮을 수 있다. 대안적으로, 312에서 MaxErr이 E2보다 더 큰 것으로 결정되고, E2가 ECC 디코더의 에러 정정 능력에 가깝다면, 316에서 CBT는 감소된다.
316에서, CBT를 업데이트하는 것에 추가하여, 파라미터 MaxErr은 314에서 재설정되고, 이에 따라 다음 업데이트는 CBT를 업데이트한 이후의 시스템의 성능에 근거하게 될 것이다.
도 4는 도 3의 방법(300)과 유사한 방법(400)을 예시한다. 방법(400)은 단일 반복 이후에 끝나지 않고, 오히려, 방법(400)은 새로운 카피 커맨드들을 수신하기 위한 연속 루프 구조(continuous loop structure)를 갖는다. 방법(400)에서, CBT는 MaxErr의 값이 E1보다 작거나 혹은 E2보다 큰 경우 업데이트 된다.
방법(400)은 402에서 CBT를 초기화시키고, 404에서 카피 커맨드를 수신하는 것을 포함한다. 406에서 현재 CB가 CBT보다 더 큰지 여부의 결정이 행해진다. 406에서 현재 CB가 CBT보다 더 크지 않음에 응답하여, 408에서 카피-백이 수행되고, 프로세싱은 404로 리턴(return)한다. 대안적으로, 406에서 현재 CB가 CBT보다 더 작음에 응답하여, 410에서 풀 카피가 수행된다.
410에서, 풀 카피를 수행한 이후, 412에서 MaxErr의 값이 E1과 E2 사이에 있는지 여부의 결정이 행해진다. 412에서 MaxErr의 값이 E1과 E2 사이에 있음에 응답하여, 프로세싱은 404로 리턴한다. 그렇지 않다면, 즉 412에서 MaxErr의 값이 E1과 E2 사이에 없음에 응답하여, 414에서 MaxErr이 E1과 같은지 아니면 E1보다 작은지의 결정이 행해진다. 414에서 MaxErr의 값이 E1과 같음 혹은 E1보다 작음에 응답하여, 416에서 CBT가 증가된다. 그렇지 않다면, 즉, 414에서 MaxErr의 값이 E1과 같음 혹은 E1보다 작음이 아닌 것에 응답하여, 418에서 CBT가 감소된다. (416에서 혹은 418에서) CBT를 업데이트한 이후, 420에서 MaxErr은 재설정되고, 프로세싱은 404로 리턴한다.
다른 실시예들에서, 방법(400)은 각각의 풀 카피 동작이 수행된 이후가 아니라 복수의 풀 카피 동작들이 수행된 이후에만 CBT가 업데이트되도록 수정될 수 있다. 고려될 수 있는 파라미터는 도 4에서 예시된 카피-백 카운터(CB)와는 다른 파라미터일 수 있다. (ECC 디코더에 의해 검출된 에러들의 최대 개수를 나타내는) MaxErr 대신에, 다른 실시예들은 에러들의 평균 개수, 에러들의 개수의 중앙치(median), CBT의 값에 따라 달라질 수 있는 값을 갖는 임의의 다른 파라미터를 사용할 수 있다.
카피-임계치의 실시간 계산을 위한 또 다른 옵션은:
a. (예를 들어, 단일 카피-백 동작 이후 일어난 풀 카피 동작 디코더에 의해 플립핑(flipping)된 비트들의 개수를 측정함으로써) 단일 카피-백 동작에 의해 유발된 비트 에러 확률
Figure pct00001
를 추정하는 것;
b.
Figure pct00002
개의 카피-백 동작들 이후에 유발된 비트 에러 확률이 원하는 비트 에러 확률
Figure pct00003
을 초과하지 않도록 하는 가장 큰 수
Figure pct00004
를 추정하는 것(이것은 제어기의 ECC 엔진의 에러 정정 능력에 따라 결정됨); 그리고
c. 카피-임계치를 가장 큰 수
Figure pct00005
로 설정하는 것을 포함한다.
가장 큰 수
Figure pct00006
의 추정은,
Figure pct00007
Figure pct00008
개의 카피-백들의 시간주기 동안 크게 변하지 않는다고 가정함으로써, 계산될 수 있다.
Figure pct00009
개의 카피-백들 이후 비트 에러 확률은
Figure pct00010
으로 주어진다. 따라서,
Figure pct00011
는 아래와 같이 계산될 수 있다:
Figure pct00012
여기서
Figure pct00013
Figure pct00014
보다 크지 않은 가장 큰 정수를 표시한다.
또 다른 실시예는 주어진 카피-백 임계치에 대해 인코딩 방식을 계산하기 위한 방법을 포함하는바, 이 방법은:
a. 초기 코딩 방식을 설정하는 것;
b. 이러한 초기 코딩 방식으로 설정된 코딩 방식으로 메모리 시스템을 동작시키는 것;
c. 미리결정된 카피-백 임계치에 도달하고 데이터가 에러 정정을 위해 제어기로 전송될 때마다 단일 코드-워드에서의 제어기에 의해 정정된 에러들의 개수의 히스토그램을 발생시키는 것; 그리고
d. 이러한 히스토그램에 따라 코딩 방식을 업데이트하는 것을 포함한다.
풀 히스토그램을 발생시키는 것에 대한 대안으로서, 디코딩 프로세스 동안 일어난 단일 코드워드에서의 에러들의 최대 개수를 표시하는 정보가 저장될 수 있고, 코딩 방식을 업데이트하는데 사용될 수 있다. 만약 에러들의 최대 개수가 적어도 제1의 미리정의된 수에 의해 인코딩 방식이 사용하는 코드의 에러 정정 능력보다 더 작다면, 코딩 방식은 더 큰 코드율(code rate)을 갖는 코딩 방식으로 업데이트될 수 있다(즉, 이 코딩 방식은 더 적은 리던던시(redundancy)를 사용하게 됨). 만약 에러들의 최대 개수가 (코드의 에러 정정 능력보다 약간 작을 수 있는) 제2의 미리정의된 수보다 더 작지 않다면, 혹은 디코딩 프로세스 동안 정정되지 않은 에러들이 존재한다면, 코딩 방식은 더 작은 코드율을 갖는 코딩 방식으로 업데이트될 수 있다(즉, 이 코딩 방식은 더 많은 리던던시를 사용하게 됨).
코딩 방식을 업데이트하는 것은 코드들의 동일한 "패밀리(family)"에 속한 코딩 방식들 간의 스위칭(switching)을 포함할 수 있다. 예를 들어, 작은 코드율(큰 리던던시)을 갖는 단일의 긴 코드가 디폴트 코드(default code)로서 사용될 수 있다. 코드에 의한 인코딩 이후, 코드-워드는 펑처링(puncturing)될 수 있고, 펑처링된 코드-워드는 메모리에 저장될 수 있다. 펑처링의 양은 카피-백 임계치 및 메모리의 상태(예를 들어, 메모리 연령, 기입/소거 싸이클들의 개수, 하나 이상의 다른 파라미터들, 혹은 이들의 임의의 조합)에 따라 달라질 수 있다.
다른 변형예들은 카피-백 임계치와 코딩 방식을 동시에 업데이트하는 것을 포함할 수 있다. 예를 들어, 만약 (단일 코드-워드에서의) ECC에 의해 정정된 에러들의 최대 개수가 매우 작다면, 카피-백 임계치는 증가될 수 있고 코딩 방식은 더 큰 코드율을 갖는 코드로 업데이트될 수 있다. 반면, 만약 정정되지 않은 에러들이 디코더에서 출현한다면, 카피-백 임계치는 감소될 수 있고 이와 동시에 코딩 방식은 더 작은 코드-율을 갖는 코드로 변경될 수 있다.
본 개시내용의 다른 실시예들은, 예시적 사례로서, 데이터에서의 예측된 에러들의 개수, 소스 위치의 기입/소거 싸이클들의 개수, 혹은 목적지 위치의 기입/소거 싸이클들의 개수와 같은 다른 파라미터들을 업데이트할 수 있다.
데이터에서의 예측된 에러들의 개수는 사용된 코딩 방식과 밀접하게 관련될 수 있고, 데이터에서의 예측된 에러들의 개수의 동적 계산은 코딩 방식의 계산과 매우 유사할 수 있다. 디코딩 방식에 의해 정정된 에러들의 개수에 대한 통계치들이 수집될 수 있고, 이러한 통계치들은 에러들의 예측된 개수를 계산하는데 사용될 수 있다.
소스 혹은 목적지에 대한 기입/소거 싸이클들의 개수를 업데이트하는 것은 간단(straightforward)할 수 있다. 소스에 대한 기입/소거 싸이클들의 개수 및 목적지에 대한 기입/소거 싸이클들의 개수는 메모리 디바이스에 의해 사용된 코딩 방식 혹은 카피-백 임계치를 업데이트하기 위해 (함께 혹은 개별적으로) 사용될 수 있다.
글로벌 카피-백 임계치(global copy-back threshold)가 전체 메모리에 대해 사용될 수 있다. 그러나, 특정 상황 하에서, 로컬 파라미터(local parameter)들이 사용될 수 있는바, 예컨대 소스 위치에 대한 기입/소거 싸이클들의 개수 및/또는 목적지 위치에 대한 기입/소거 싸이클들의 개수와 같은 것이 사용될 수 있다.
일부 실시예들에서, 메모리 어레이는 하나 이상의 함수들을 계산하기 위한 회로를 포함할 수 있다. 카피-백 절차를 수행할지 아니면 풀 카피 절차를 수행할지 여부의 결정은 이러한 함수들의 값들에 의존할 수 있다.
예를 들어, 코드워드의 신드롬(syndrome)(예를 들어, 만족되지 않는 패리티 체크 방정식(unsatisfied parity check equation)들의 개수의 표시)을 계산하는 회로가 메모리 어레이 내에 구현될 수 있거나, 혹은 그렇지 않다면 메모리 다이(즉, 제어기 다이에 결합될 수 있는 플래시 메모리 다이) 상에 구현될 수 있다. 메모리 어레이 내에서 소스 위치로부터 목적지 위치로 데이터를 카피하도록 하는 카피 커맨드가 수신되는 경우, 소스 위치에서의 코드워드의 신드롬이 메모리 다이 내에서 계산될 수 있다. 만약 신드롬 가중치가 (미리결정된 혹은 동적으로 계산된) 임계치를 초과한다면, 풀 카피 절차가 수행될 수 있는바, 여기서 풀 카피 절차는, 코드워드를 제어기로 전달하는 것, 그리고 모든 에러들을 정정하기 위해 풀 ECC 디코딩을 수행하는 것을 포함한다. 만약 신드롬 가중치가 작다면, 카피-백 절차가 그 대신에 수행될 수 있다.
도 5는 상태 경계 전압 영역들 내에 있는 셀들의 총수에 근거하여 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하기 위한 상태 경계 전압 영역들의 세트를 예시하는 일반적인 도면이다. 그래프(500)는 메모리 셀들의 서로 다른 상태들에 대한 임계 전압 분포를 제시하는 메모리 셀들의 그룹 내에서의 전압 분포를 예시한다. 각각의 상태에 대한 분포의 중심은 v*로 표시되어 있다(여기서, *는 숫자 1, 2, 3, 혹은 4 중 하나임). v*의 우측 끝에는, 하이 임계 전압 포인트(high threshold voltage point)가 H*(하이(High)를 의미하는 H)로 표시되어 있고, 좌측 끝에는, 로우 임계 전압 포인트(low threshold voltage point)가 L*(로우(Low)를 의미하는 L)로 표시되어 있다. L*와 H* 사이에서 판독되는 임의의 임계 전압은 높은 신뢰도 레벨로 v*와 관련될 수 있다. H*의 우측에 있음과 아울러 L(*+l)의 좌측에 있는 전압 임계치들이 v*과 관련되는 것인지 아니면 v(*+l)과 관련되는 것인지 여부를 결정하는 것은 어렵다. H*의 우측에서 L(*+l)의 좌측까지의 각각의 구간은 상태 경계 전압 영역(즉, 메모리 셀의 상태들 사이의 경계를 포함하는 전압 영역)으로서 예시된다. 제 1 상태 경계 전압 영역(502)은 H1에서 L2에 걸쳐 있고, 전압 VB12를 포함한다. VB12는 상태 1(상태 "Er")과 상태 2(상태 "A") 사이의 경계를 식별시키는 전이 전압(transition voltage)이다. 제 2 상태 경계 전압 영역(504)은 H2에서 L3에 걸쳐 있고, 상태 2(상태 "A")와 상태 3(상태 "B") 사이의 경계를 식별시키는 전이 전압 VB23을 포함한다. 제 3 상태 경계 전압 영역(506)은 H3에서 L4에 걸쳐 있고, 상태 3(상태 "B")과 상태 4(상태 "C") 사이의 경계를 식별시키는 전이 전압 VB34를 포함한다. H*와 그 옆에 있는 L(*+l) 간의 구간들의 세트(즉, 경계 전압 구간들(502, 505, 및 506)의 세트는 "FZ"로서 표시될 수 있다. 도 5에서 예시되는 사례에서, FZ는 H1과 L2 사이의 구간, H2와 L3 사이의 구간, 그리고 H3과 L4 사이의 구간을 포함한다.
Figure pct00015
4개의 상태들 각각의 프로그래밍은, 소거 상태에서의 셀은 그 임계 전압이 중심 전압 vl 근방이 되도록 충전되고, 상태 A에서의 셀은 그 임계 전압이 중심 전압 v2 근방이 되도록 충전되고, 상태 B에서의 셀은 그 임계 전압이 중심 전압 v3 근방이 되도록 충전되고, 그리고 상태 C에서의 셀은 그 임계 전압이 중심 전압 v4 근방이 되도록 충전되는 그러한 방식으로 설계될 수 있다. 시간이 진행함에 따라 그리고 데이터가 이동됨에 따라, 전압 분포는 도 5에서 제시되는 것과 같은 뾰족한 형태가 아닐 수 있다. 예를 들어, 카피-백 프로세스 동안, 상태 A로 본래 프로그래밍된 셀은 그 임계 전압이 이제 H2의 우측에 있도록 프로그래밍될 수 있고(이에 따라 상태 B와 관련될 수 있음), 혹은 L2의 좌측에 있도록 프로그래밍될 수 있다(이에 따라 소거 상태(Er)와 관련될 수 있음).
메모리 어레이는 FZ에 존재하는 셀들의 임계 전압을 검출하는 회로를 포함할 수 있다. 저장 소자들(예를 들어, 메모리 셀들)의 그룹으로부터 데이터를 카피하도록 하는 카피 커맨드가 수신되는 경우, 상태 경계 전압 영역들(502, 504, 및 506)의 세트 내에 있는(즉, FZ 내에 있는) 임계 전압들을 갖는 셀들의 총수가 계산될 수 있다. 만약 이러한 총수가 (미리결정된 혹은 동적으로 계산된) FZ-임계치를 초과한다면(이것은, 도 5에서, 경계 전압 영역들의 세트 내에 있는 셀들의 총수를 메모리 다이 상에 있는 비교기(508)를 통해 임계치와 비교하는 것으로 예시되어 있음), 풀 카피 절차가 수행될 수 있는바, 여기서 풀 카피 절차는, 저장 소자들의 그룹으로부터 판독된 코드워드를 제어기로 전달하는 것, 그리고 모든 에러들을 정정하기 위해 풀 ECC 디코딩을 수행하는 것을 포함한다. 만약 이러한 총수가 FZ-임계치를 초과하지 않는다면, 제어기와 관련됨이 없이 카피-백 절차가 수행될 수 있다. 풀 카피가 수행되고 코드워드가 다시 메모리에 프로그래밍되는 경우, (프로그램/검증으로서 알려져 있는) 풀 프로그래밍 시퀀스는 임계 전압들이 셀 상태 전압 윈도우(cell states voltage window)의 중심들을 향해 확실하게 집중되도록 수행될 수 있다.
다른 실시예들에서, 메모리 다이는 신드롬 계산 및/또는 상태 경계 전압 영역들의 세트 내에 있는 임계 전압들을 갖는 셀들의 카운팅(counting)을 대신하는 혹은 이에 추가되는 기능을 구현하는 다른 회로를 포함할 수 있다. 메모리 다이는 또한, 제어기를 참조함이 없이 카피-백을 위한 조건들이 충족되는지 여부를 메모리 내에서 계산하는 회로를 포함할 수 있다.
도 6은 호스트 디바이스(604)에 동작가능하게 결합된 데이터 저장 디바이스(602)를 포함하는 시스템(600)을 도시한다. 데이터 저장 디바이스(602)는 ECC 엔진(614)을 갖는 제어기(608)를 포함한다. 제어기(608)는 버스(612)를 통해 NAND 플래시 다이와 같은 메모리(610)에 결합된다. 메모리(610)는 동적 임계치에 근거하여 풀 카피 혹은 카피-백을 선택하도록 구성된 풀 카피/카피-백 제어 회로(624)를 포함한다.
데이터 저장 디바이스(602)는 메모리 카드일 수 있는바, 예를 들어, 시큐어 디지털(Secure Digital, SD®) 카드, 마이크로SD 카드(microSD® card), 미니SD 카드(miniSD.TM card)(미국 델라웨어 주 윌밍턴에 소재한 SD-3C LLC의 상표), 멀티미디어카드(MultiMediaCard.TM, MMC.TM) 카드(MMC 카드)(미국 버지니아 주 알링톤에 소재한 JEDEC 솔리드 스테이트 테크놀로지 어소시에이션(JEDEC Solid State Technology Association)의 상표), 혹은 콤팩트플래시(CompactFlash®, CF) 카드(미국 캘리포니아 주 밀피타스에 소재한 샌디스크 코포레이션(SanDisk Corporation)의 상표)가 있다. 대안적으로, 데이터 저장 디바이스(602)는 호스트 디바이스(604) 내의 임베디드 메모리(embedded memory)일 수 있는바, 예를 들면, 예시적 사례로서, eMMC®(미국 버지니아 주 알링톤에 소재한 JEDEC 솔리드 스테이트 테크놀로지 어소시에이션의 상표) 및 eSD가 있다.
호스트 디바이스(604)는 데이터 저장 디바이스(602)에 동작가능하게 결합되도록 구성된 디바이스일 수 있는바, 예를 들어, 모바일 전화기, 뮤직 플레이어 혹은 비디오 플레이어, 개인 휴대 단말기(Personal Digital Assistant, PDA), 게이밍 디바이스(gaming device), 전자-책 판독기(electronic-book reader), 카메라, 컴퓨터(예를 들어, 랩탑 혹은 노트북 컴퓨터), 임의의 다른 전자 디바이스, 또는 이들의 임의의 조합일 수 있다. 호스트 디바이스(604)는, 메모리(610) 내의 소스 위치(616)로부터 메모리(610) 내의 목적지 위치(618)로 데이터를 카피하도록 하는 커맨드(606)와 같은 명령들을 데이터 저장 디바이스(602)에 전송하도록 구성된다.
제어기(608)는 호스트 디바이스(604)로부터 커맨드(606)와 같은 메시지들을 수신하도록 구성된다. 제어기(608)는 메모리(610)에 대한 기입 액세스 요청들 혹은 판독 액세스 요청들에 응답하도록 구성된다. 예를 들어, 제어기(608)는 호스트 디바이스(604)가 요청한 데이터를 메모리(610)로부터 검색하고 그 요청된 데이터를 호스트 디바이스(604)에 전송하는 것을 개시시키도록 구성된다. 제어기(608)는 또한, 가비지 수집과 같은 메모리 관리 동작들을 수행하도록 구성될 수 있다. 제어기(608)는 호스트 디바이스(604)로부터의 어떠한 카피 커맨드들을 수신함이 없이 메모리(610)로 하여금 데이터를 소스 위치(616)로부터 목적지 위치(618)로 카피하게 명령하도록 구성될 수 있다.
메모리(610)는 하나 이상의 메모리 어레이들을 갖는 NAND 플래시 다이일 수 있다. 소스 위치(616)는 플래시 메모리 셀들의 워드 라인과 같은 저장 소자들의 그룹을 포함한다. 목적지 위치(618)는 또한, 플래시 메모리 셀들의 워드 라인과 같은 저장 소자들의 그룹을 포함할 수 있다. 예를 들어, 소스 위치(616) 혹은 목적지 위치(618)에서의 저장 소자들은 셀당 단일 비트를 저장하는 싱글-레벨 셀(SLC) 저장 소자들로서 동작하도록 구성될 수 있거나 혹은 셀당 하나 이상의 비트를 저장하는 멀티-레벨 셀(MLC) 저장 소자들로서 동작하도록 구성될 수 있다.
메모리(610)는 소스 위치(616)로부터 데이터를 판독하여 판독된 데이터를 데이터 레지스터(620)에 저장함으로써 카피 동작을 개시시키도록 구성될 수 있다. 카피-백 동작들에 대해서, 데이터는 데이터 레지스터(620)로부터 목적지 위치(618)로 기입될 수 있다. 풀 카피 동작들에 대해, 데이터 레지스터(620)에서의 데이터는 버스(612)를 통해 제어기(608)로 전송될 수 있고, 제어기(608)에서는 ECC 디코딩 동작이 ECC 엔진(614)에서 수행될 수 있다. 메모리(610)는 제어기(608)로부터 에러 정보를 수신한다. 예를 들어, 메모리(610)는 (만약 에러들이 존재한다면) 데이터에서 검출된 에러들의 위치들의 표시를 제어기(608)로부터 수신할 수 있고, 데이터 레지스터(620)에서 데이터를 정정할 수 있다. 또 다른 예로서, 메모리(610)는 제어기(608)로부터 데이터의 에러-정정된 형태를 수신할 수 있고, 이러한 데이터를 데이터 레지스터(620)에서 오버라이트할 수 있다. 그 다음에 메모리(610)는 데이터의 이러한 에러-정정된 형태를 데이터 레지스터(620)로부터 목적지 위치(618)로 카피할 수 있다.
메모리(610)는 풀 카피/카피-백 회로(624)의 출력에 근거하여 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하도록 구성된다. 풀 카피/카피-백 회로(624)는 하나 이상의 파라미터들(622)을 수신할 수 있다. 수신된 파라미터들(622) 중 하나 이상의 파라미터는 하나 이상의 동적 임계치들(630)을 발생시키기 위해 동적 임계치 발생기(626)에 제공될 수 있다. 수신된 파라미터들(622) 중 하나 이상의 파라미터는 하나 이상의 동적 임계치들(630)과의 비교를 위해 비교기(628)에 제공될 수 있다. 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부를 결정하기 위해 이러한 비교의 결과가 사용될 수 있다.
풀 카피/카피-백 회로(624)는 메모리(610)로 하여금 풀 카피/카피-백 기준이 충족되는지 여부를 결정할 수 있게 한다. 풀 카피/카피-백 기준이 충족되는지 여부를 결정하는 것은 미리정의된 파라미터(632)를 동적 임계치(630)와 비교하는 것을 포함할 수 있다. 기준들이 충족된다는 결정에 응답하여, 메모리(610)는 메모리 다이 내의 소스 위치(616)에서의 저장 소자들의 제 1 그룹으로부터의 데이터를 제어기 다이에서의 제어기(608)로 이동시킴으로써 카피를 실행시킬 수 있다. 데이터를 제어기 다이로 이동시킨 이후에, 데이터의 에러-정정된 형태가 제어기 다이로부터 메모리 다이 내의 목적지 위치(618)에서의 저장 소자들의 제 2 그룹으로 이동될 수 있다. 기준들이 충족되지 않는다는 결정에 응답하여, 메모리(610)는 데이터를 제어기 다이로 이동시킴 없이 저장 소자들의 제 1 그룹으로부터의 저장 소자들의 제 2 그룹으로 메모리 다이 내에서 데이터를 이동시킴으로써 카피를 실행시킬 수 있다. 기준들이 충족되는지 여부를 결정하는 것은 또한, 제2의 미리정의된 파라미터(632)를 제2의 동적 임계치(630)와 비교하는 것을 포함할 수 있다. 기준들이 충족되는지 여부를 결정하기 위해 임의 개수의 파라미터들이 사용될 수 있다.
하나 이상의 미리정의된 파라미터들(632)은 도 1 내지 도 5에 관하여 설명된 파라미터들 중 임의의 파라미터일 수 있다. 예로서, 미리정의된 파라미터(632)는 도 7에 관하여 더 상세히 설명되는 바와 같이, 데이터에서의 예측된 에러들의 총수일 수 있다. 다른 예들로서, 미리정의된 파라미터(632)는, 예시적인 비한정적 사례들로서, 소스 위치(616)에서의 저장 소자들의 제 1 그룹의 기입/소거 싸이클들의 총수, 목적지 위치(618)에서의 저장 소자들의 제 2 그룹의 기입/소거 싸이클들의 총수, 데이터가 소스 위치(616)에서의 저장 소자들의 제 1 그룹에 프로그래밍된 이후 경과된 시간, 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 데이터에 적용된 카피-백 동작들의 총수, 데이터에서의 패리티 비트들의 총수, 하나 이상의 다른 파라미터들, 또는 이들의 임의의 조합일 수 있다.
동적 임계치(630)는 도 1 내지 도 5에 관하여 설명된 하나 이상의 파라미터들에 적어도 부분적으로 근거하여 결정될 수 있다. 예를 들어, 동적 임계치(630)는 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 데이터에 적용된 카피-백 동작들의 총수, 저장 소자들의 제 1 그룹의 기입/소거 싸이클들의 총수, 저장 소자들의 제 2 그룹의 기입/소거 싸이클들의 총수, 제어기 다이를 통한 데이터의 이전의 카피 동안 검출된 데이터에서의 에러들의 총수, 메모리 디바이스의 연령, 하나 이상의 파라미터들, 또는 이들의 임의의 조합에 적어도 부분적으로 근거하여 결정될 수 있다. 동적 임계치 발생기(626)는 도 1의 LUT(104)와 같은 LUT를 포함할 수 있다. 대안적으로, 혹은 추가적으로, 동적 임계치 발생기(626)는 동적 임계치들(630) 중 하나 이상의 동적 임계치를 발생시키기 위해 파라미터들(622) 중 하나 이상의 파라미터의 값들에 근거하여 계산을 수행하도록 구성된 회로를 포함할 수 있다.
도 7은 파라미터들(622) 중 하나 이상의 파라미터에 근거하여 풀 카피 혹은 카피-백을 선택하도록 구성된 풀 카피/카피-백 제어 회로(624)의 실시예를 포함하는 도 6의 메모리(610)의 또 다른 실시예의 블록도이다. 예로서, 미리정의된 파라미터(632)는 데이터에서의 예측된 에러들의 총수(742), 소스 위치(616)에서의 저장 소자들의 제 1 그룹의 기입/소거 싸이클들의 총수(744), 목적지 위치(618)에서의 저장 소자들의 제 2 그룹의 기입/소거 싸이클들의 총수(746), 그리고 데이터가 저장 소자들의 제 1 그룹에 프로그래밍된 이후 경과된 시간(748) 중 하나 이상을 포함할 수 있다.
예측된 에러들의 총수(742)는 신드롬 발생에 따라, 혹은 임계 전압 영역 검출에 따라, 혹은 이들의 조합에 따라 발생될 수 있다. 예시적 목적으로, 메모리(610)는 신드롬 발생 회로(760)를 포함할 수 있다. 신드롬 발생 회로(760)는 소스 위치(616)로부터 판독된 데이터에 관해 복수의 패리티 체크 계산을 수행함과 아울러 신드롬을 발생시키거나 혹은 패리티 체크 상태를 표시하는 다른 정보를 발생시키도록 구성될 수 있다. 메모리(610)는 메모리 다이 내의 신드롬 발생 회로(760)에서 신드롬 발생 동작을 개시시키도록 구성될 수 있다. 예측된 에러들의 총수(742)는 신드롬 발생 회로(760)에 의해 메모리 다이에서 계산된 신드롬 혹은 다른 정보(750)(예를 들어, 신드롬 가중치)에 근거하여 결정될 수 있다.
대안적으로, 혹은 추가적으로, 소스 위치(616)에서의 저장 소자들의 제 1 그룹의 저장 소자들은 플래시 메모리 셀들일 수 있고, 예측된 에러들의 총수(742)는 상태 경계 전압 영역들의 세트 내에 있는 임계 전압들을 갖는 저장 소자들의 제 1 그룹 내의 플래시 메모리 셀들의 총수(752)에 근거하여 결정될 수 있다. 예를 들어, 상태 경계 전압 영역들의 세트의 각각의 상태 경계 전압 영역은, 도 5에 관하여 설명된 바와 같은, 프로그래밍가능한 플래시 메모리 셀 상태들의 세트의 상태들 간의 경계를 식별시키는 전이 전압을 포함하는 전압 범위에 대응할 수 있다. 메모리(610)는 총수(752)를 발생시키도록 구성된 경계 전압 영역 검출기(762)를 포함할 수 있다.
풀 카피/카피-백 회로(624)는 비교기(628)에 액세스가능한 임계치 발생기 혹은 저장소(726)를 포함할 수 있는바, 여기서 비교기(628)는 하나 이상의 임계치들(730)을 미리정의된 파라미터들(632) 중 하나 이상과 비교할 수 있다. 임계치들(730) 중 하나 이상은 동적으로 선택 혹은 계산되지 않는 미리정의된 값들일 수 있다. 대안적으로, 혹은 추가적으로, 임계치들(730) 중 하나 이상은 도 6에 관하여 설명된 바와 같이, 동적으로 결정될 수 있다(예를 들어, LUT로부터 검색될 수 있거나 또는 계산될 수 있음).
도 7에 예시된 메모리(610)가 신드롬 발생 회로(760) 및 경계 전압 영역 검출기(762)를 포함하고 있지만, 예측된 에러들의 총수(742)가 신드롬 정보와는 다른 인자들에 근거하여 결정되는 경우와 같은 다른 실시예들에서, 메모리(610)는 신드롬 발생 회로(760)를 포함하지 않는다. 예측된 에러들의 총수(742)가 경계 영역들의 세트 내에 있는 임계 전압을 갖는 셀들의 총수와는 다른 인자들에 근거하여 결정되는 경우와 같은 다른 실시예들에서, 메모리(610)는 경계 전압 영역 검출기(762)를 포함하지 않는다. 일부 실시예들에서, 메모리(610)는 신드롬 발생 회로(760)를 포함하지 않고, 또한 경계 전압 영역 검출기(762)를 포함하지 않는다. 예를 들어, 풀 카피/카피-백 결정은 예측된 에러들의 총수(742)를 결정함이 없이 수행될 수 있거나, 또는 다른 메커니즘에 근거하여 예측된 에러들의 총수(742)를 결정함으로써 행해질 수 있다.
도 8은 메타데이터(622)에 근거하여 풀 카피 혹은 카피-백을 선택하도록 구성된 도 6의 풀 카피/카피-백 제어 회로(624)의 또 다른 실시예의 블록도이다. 메타데이터(622)는 판독 모드의 표시(842), 카피될 데이터의 중요도의 표시(844), 카피될 데이터의 데이터 보유 사양의 표시(즉, 데이터가 신뢰가능하게 판독될 수 있음을 계속 보장하면서 얼마나 많은 저장 시간이 제공되는지의 표시) 혹은 이들의 임의의 조합을 포함할 수 있다.
예를 들어, 메모리(610)는 제 1 판독 모드에 따라, 그리고 제 2 판독 모드에 따라, 메모리 셀들의 상태들을 감지하도록 구성될 수 있다. 제 1 판독 모드는 제 2 판독 모드보다 더 높은 판독 해상도에 대응할 수 있다. 예를 들어, 제 1 판독 모드는 소프트 비트들의 사용을 포함할 수 있고, 제 2 판독 모드는 소프트 비트들을 판독함이 없이(혹은 제 1 판독 모드보다 더 적은 소프트 비트들을 판독) 하드 비트들의 판독을 포함할 수 있다. 풀 카피/카피-백 제어 회로(624)는, 메타데이터(622)가 제 1 판독 모드를 표시하는지 여부에 근거하여 풀 카피 혹은 카피-백을 선택하도록 구성될 수 있다. 예시적 목적으로, 메타데이터(622)가 제 1 판독 모드를 표시할 때, 풀 카피가 선택될 수 있고, 반면 메타데이터(622)가 제 2 판독 모드를 표시할 때, 카피-백이 선택될 수 있다.
또 다른 예로서, 풀 카피/카피-백 제어 회로(624)는, 메타데이터(622)가 데이터의 중요도가 높음을 표시하는지 여부 또는 데이터가 더 높은 데이터 보유 사양과 관련되어 있는지 여부에 근거하여 풀 카피 혹은 카피-백을 선택하도록 구성될 수 있다. 예시적 목적으로, 메타데이터(622)가 높은 중요도를 표시할 때, 풀 카피가 선택될 수 있고, 반면 메타데이터(622)가 높은 중요도를 표시하지 않을 때, 카피-백이 선택될 수 있다.
풀 카피/카피-백 제어 회로(624)는 도 6 내지 도 8에 관하여 설명되는 기능들의 조합을 수행할 수 있음을 이해해야 한다. 예를 들어, 풀 카피/카피-백 제어 회로(624)는 풀 카피를 수행할지 아니면 카피-백을 수행할지 여부의 결정을, 제 1 파라미터를 동적 임계치(dynamic threshold)와 비교하는 것, 제 2 파라미터를 정적 임계치(static threshold)와 비교하는 것, 그리고 판독 모드 및/또는 중요도의 표시들에 대해 메타데이터를 검사하는 것에 근거하여 행할 수 있다.
도 9는 데이터를 카피하는 방법(900)의 흐름도이다. 방법(900)은 도 6의 데이터 저장 디바이스(602)와 같은 메모리 다이와 제어기 다이를 구비한 메모리 디바이스에서 수행될 수 있다. 방법(900)은 902에서, 메모리 디바이스가 메모리 디바이스 외부에 있는 호스트에 동작가능하게 결합되어 있는 동안 호스트로부터(또는, 예를 들어, 가비지 수집의 일부분으로서 메모리 관리 동안 제어기 다이로부터) 커맨드를 수신하는 것을 포함하는바, 여기서 커맨드는 메모리 다이 내의 소스 위치로부터 메모리 다이 내의 목적지 위치로 데이터를 카피하도록 명령하고, 소스 위치는 저장 소자들의 제 1 그룹을 포함하고, 목적지 위치는 저장 소자들의 제 2 그룹을 포함한다. 예를 들어, 데이터 저장 디바이스(602)는 호스트 디바이스(604)로부터 커맨드(606)를 수신할 수 있다.
904에서, 메모리 디바이스는 기준이 충족되는지 여부를 결정하는바, 이러한 기준이 충족되는지 여부를 결정하는 것은 미리정의된 파라미터를 동적 임계치와 비교하는 것을 포함한다. 예를 들어, 풀 카피/카피-백 회로(624)는 기준이 충족되는지 여부를 결정하기 위해 하나 이상의 미리정의된 파라미터들(632)을 하나 이상의 임계치들과 비교할 수 있다. 예시적으로, 이러한 기준은 (데이터의 마지막 풀 카피 이후) 카피될 데이터에 대해 수행된 카피-백 동작들의 총수가 카피-백 임계치를 초과하는가 일 수 있다. 카피-백 임계치는, 데이터 저장 디바이스(602)의 메모리(610)의 연령을 표시하는 파라미터를 사용하여 그리고 데이터의 소스 위치의 W/E 싸이클들의 개수를 표시하는 파라미터를 사용하여, 도 1의 LUT(104)에서 룩업 동작을 수행함으로써 결정될 수 있다. 기준이 충족되는지 여부를 결정하는 것은 또한, 제2의 미리정의된 파라미터를 제2의 동적 임계치와 비교하는 것을 포함할 수 있다.
906에서, 기준이 충족된다는 결정에 응답하여, 메모리 디바이스는 풀 카피를 수행함으로써 카피를 실행한다. 908에서, 데이터는 메모리 다이 내의 저장 소자들의 제 1 그룹으로부터 제어기 다이로 이동된다. 데이터를 제어기 다이로 이동시킨 이후, 910에서, 데이터의 에러-정정된 형태가 제어기 다이로부터 메모리 다이 내의 저장 소자들의 제 2 그룹으로 이동된다. 예를 들어, 에러-정정된 형태는 제어기로부터 데이터 레지스터(예컨대, 도 6의 데이터 레지스터(620))에 수신될 수 있고, 데이터 레지스터로부터 목적지 위치로 카피될 수 있다.
906에서, 기준이 충족되지 않는다는 결정에 응답하여, 메모리 디바이스는 카피-백을 수행함으로써 카피를 실행한다. 912에서, 데이터를 제어기 다이로 이동시킴 없이 데이터는 저장 소자들의 제 1 그룹으로부터 저장 소자들의 제 2 그룹으로 메모리 다이 내에서 이동된다. 예를 들어, 데이터는 소스 위치로부터 데이터 레지스터(예컨대, 도 6의 데이터 레지스터(620))에 기입될 수 있고, 데이터 레지스터로부터 목적지 위치로 카피될 수 있다.
미리정의된 파라미터는 데이터에서의 예측된 에러들의 총수일 수 있다. 예를 들어, 방법(900)은 도 7의 신드롬 발생 회로(760)와 같은 메모리 다이 내의 신드롬 발생 회로에서 신드롬 발생 동작을 개시시키는 것을 포함할 수 있다. 예측된 에러들의 총수는 신드롬 발생 회로에 의해 메모리 다이 내에서 계산된 신드롬에 근거하여 결정될 수 있다. 또 하나의 예로서, 저장 소자들의 제 1 그룹의 저장 소자들은 플래시 메모리 셀들일 수 있고, 예측된 에러들의 총수는 상태 경계 전압 영역들의 세트 내에 있는 임계 전압들을 갖는 저장 소자들의 제 1 그룹 내의 플래시 메모리 셀들의 총수에 근거하여 결정될 수 있다. 상태 경계 전압 영역들의 세트의 각각의 상태 경계 전압 영역은, 도 5에 관하여 설명된 바와 같은, 프로그래밍가능한 플래시 메모리 셀 상태들의 세트의 상태들 간의 경계를 식별시키는 전이 전압을 포함하는 전압 범위에 대응할 수 있다.
미리정의된 파라미터는, 저장 소자들의 제 1 그룹의 기입/소거 싸이클들의 총수, 저장 소자들의 제 2 그룹의 기입/소거 싸이클들의 총수, 데이터가 저장 소자들의 제 1 그룹에 프로그래밍된 이후 경과된 시간, 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 데이터에 적용된 카피-백 동작들의 총수, 데이터에서의 패리티 비트들의 총수, 또는 하나 이상의 다른 파라미터들일 수 있다.
동적 임계치는, 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 데이터에 적용된 카피-백 동작들의 총수에 적어도 부분적으로 근거하여, 저장 소자들의 제 1 그룹의 기입/소거 싸이클들의 총수에 적어도 부분적으로 근거하여, 저장 소자들의 제 2 그룹의 기입/소거 싸이클들의 총수에 적어도 부분적으로 근거하여, 제어기 다이를 통한 데이터의 이전의 카피 동안 검출된 데이터에서의 에러들의 총수에 적어도 부분적으로 근거하여, 메모리 디바이스의 연령에 적어도 부분적으로 근거하여, 하나 이상의 다른 파라미터들에 적어도 부분적으로 근거하여, 또는 이들의 임의의 조합에 의해 결정될 수 있다.
방법(900)은 또한, 도 3 및 도 4에서의 카피-백 카운터의 값(CB)과 같은, 소스 위치의 다이렉트 카피(direct copy)들의 총수를 업데이트할 수 있다. 기준이 충족된다는 결정에 응답하여, 다이렉트 카피들의 총수는 재설정될 수 있다(왜냐하면 풀 카피가 수행되기 때문). 기준이 충족되지 않는다는 결정에 응답하여, 다이렉트 카피들의 총수는 증분될 수 있다.
방법(900)은 또한, 하나 이상의 에러들이 제어기 다이에서 정정된 것에 응답하여, 누적된 에러 값을 업데이트하는 것을 포함할 수 있다. 예를 들어, 도 3 및 도 4에서의 MaxErr의 값은 정정된 에러들의 개수가 MaxErr의 현재 값을 초과한다는 것에 응답하여 증가될 수 있다. 또 다른 예로서, 만약 누적된 에러 값이 에러들의 평균 개수 혹은 에러들의 개수의 중앙치에 근거하여 계산된다면, 누적된 에러 값은 풀 카피 동작 동안 에러들의 정정으로부터의 결과들을 포함하도록 업데이트될 수 있다.
도 10은 데이터를 카피하는 방법(1000)의 흐름도이다. 방법(1000)은 도 7의 메모리(610)를 포함하는 도 6의 데이터 저장 디바이스(602)와 같은 메모리 다이와 제어기 다이를 구비한 메모리 디바이스에서 수행될 수 있다. 방법(1000)은 1002에서, 메모리 디바이스가 메모리 디바이스 외부에 있는 호스트에 동작가능하게 결합되어 있는 동안 호스트로부터 커맨드를 수신하는 것을 포함하고, 여기서 커맨드는 메모리 다이 내의 소스 위치로부터 메모리 다이 내의 목적지 위치로 데이터를 카피하도록 명령하고, 소스 위치는 저장 소자들의 제 1 그룹을 포함하며, 목적지 위치는 저장 소자들의 제 2 그룹을 포함한다.
1004에서, 메모리 디바이스는 기준이 충족되는지 여부를 결정하는바, 이러한 기준이 충족되는지 여부를 결정하는 것은 미리정의된 파라미터를 임계치와 비교하는 것을 포함하고, 여기서, 미리정의된 파라미터는, 데이터에서의 예측된 에러들의 총수, 저장 소자들의 제 1 그룹의 기입/소거 싸이클들의 총수, 저장 소자들의 제 2 그룹의 기입/소거 싸이클들의 총수, 그리고 데이터가 저장 소자들의 제 1 그룹에 프로그래밍된 이후 경과된 시간 중 하나이다.
1006에서, 기준이 충족된다는 결정에 응답하여, 메모리 디바이스는 풀 카피를 수행함으로써 카피를 실행한다. 1008에서, 데이터는 메모리 다이 내의 저장 소자들의 제 1 그룹으로부터 제어기 다이로 이동된다. 데이터를 제어기 다이로 이동시킨 이후, 1010에서, 데이터의 에러-정정된 형태가 제어기 다이로부터 메모리 다이 내의 저장 소자들의 제 2 그룹으로 이동된다. 예를 들어, 에러-정정된 형태는 제어기로부터 데이터 레지스터(예컨대, 도 6의 데이터 레지스터(620))에 수신될 수 있고, 데이터 레지스터로부터 목적지 위치로 카피될 수 있다.
1006에서, 기준이 충족되지 않는다는 결정에 응답하여, 메모리 디바이스는 카피-백을 수행함으로써 카피를 실행한다. 1012에서, 데이터를 제어기 다이로 이동시킴 없이 데이터는 저장 소자들의 제 1 그룹으로부터 저장 소자들의 제 2 그룹으로 메모리 다이 내에서 이동된다. 예를 들어, 데이터는 소스 위치로부터 데이터 레지스터(예컨대, 도 6의 데이터 레지스터(620))에 기입될 수 있고, 데이터 레지스터로부터 목적지 위치로 카피될 수 있다.
임계치는 미리정의될 수 있고, 또는 임계치는 동적 임계치일 수 있다. 동적 임계치는, 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 데이터에 적용된 카피-백 동작들의 총수, 저장 소자들의 제 1 그룹의 기입/소거 싸이클들의 총수, 저장 소자들의 제 2 그룹의 기입/소거 싸이클들의 총수, 그리고 제어기 다이를 통한 데이터의 이전의 카피 동안 검출된 데이터에서의 에러들의 총수 중 적어도 하나에 근거하여 계산될 수 있다.
도 11은 데이터를 카피하는 방법(1100)의 흐름도이다. 방법(1100)은 도 6의 데이터 저장 디바이스(602)와 같은 메모리 다이와 제어기 다이를 구비한 메모리 디바이스에서 수행될 수 있다. 도 8에 관하여 설명된 바와 같이, 메모리 다이는 제 1 판독 모드에 따라, 그리고 제 2 판독 모드에 따라, 메모리 셀들의 상태들을 감지하도록 구성될 수 있고, 여기서 제 1 판독 모드는 제 2 판독 모드보다 더 높은 판독 해상도에 대응한다. 1102에서, 메모리 디바이스는 메모리 다이 내의 소스 위치로부터 메모리 다이 내의 목적지 위치로 데이터를 카피하도록 하는 커맨드를 수신하고, 여기서 소스 위치는 저장 소자들의 제 1 그룹을 포함하고, 목적지 위치는 저장 소자들의 제 2 그룹을 포함한다.
1104에서, 저장 소자들의 제 1 그룹에 저장된 데이터와 관련된 메타데이터가 판독된다. 예를 들어, 메타데이터는 저장 소자들의 제 1 그룹과 관련된 메모리의 헤더 부분(header portion) 혹은 메타데이터 부분(metadata portion)으로부터 판독될 수 있다. 1106에서, 메모리 디바이스는 메타데이터가 제 1 판독 모드를 표시하는지 여부에 근거하여 데이터에 관해 에러 정정 코딩(ECC) 동작을 수행할지 여부를 결정한다.
1108에서, ECC 동작을 수행할 것을 결정함에 응답하여, 메모리 디바이스는 풀 카피를 수행함으로써 카피를 실행할 수 있다. 1110에서, 데이터는 메모리 다이 내의 저장 소자들의 제 1 그룹으로부터 제어기 다이로 이동될 수 있다. 데이터를 제어기 다이로 이동시킨 이후, 1112에서, 데이터의 에러-정정된 형태가 제어기 다이로부터 메모리 다이 내의 저장 소자들의 제 2 그룹으로 이동될 수 있다. 예를 들어, 에러-정정된 형태는 제어기로부터 데이터 레지스터(예컨대, 도 6의 데이터 레지스터(620))에 수신될 수 있고, 데이터 레지스터로부터 목적지 위치로 카피될 수 있다.
1108에서, ECC 동작을 수행하지 않을 것을 결정함에 응답하여, 메모리 디바이스는 카피-백을 수행함으로써 카피를 실행할 수 있다. 1114에서, 데이터를 제어기 다이로 이동시킴 없이 데이터는 저장 소자들의 제 1 그룹으로부터 저장 소자들의 제 2 그룹으로 메모리 다이 내에서 이동될 수 있다. 예를 들어, 데이터는 소스 위치로부터 데이터 레지스터(예컨대, 도 6의 데이터 레지스터(620))에 기입될 수 있고, 데이터 레지스터로부터 목적지 위치로 카피될 수 있다.
도 12는 데이터를 카피하는 방법(1200)의 흐름도이다. 방법(1200)은 도 6의 데이터 저장 디바이스(602)와 같은 메모리 다이와 제어기 다이를 구비한 메모리 디바이스에서 수행될 수 있다. 1202에서, 메모리 디바이스는 메모리 다이 내의 소스 위치로부터 메모리 다이 내의 목적지 위치로 데이터를 카피하도록 하는 커맨드를 수신하고, 여기서 소스 위치는 저장 소자들의 제 1 그룹을 포함하며, 목적지 위치는 저장 소자들의 제 2 그룹을 포함한다.
1204에서, 저장 소자들의 제 1 그룹에 저장된 데이터와 관련된 메타데이터가 판독된다. 예를 들어, 메타데이터는 저장 소자들의 제 1 그룹과 관련된 메모리의 헤더 부분 혹은 메타데이터 부분으로부터 판독될 수 있다. 1206에서, 메모리 디바이스는 메타데이터가 데이터의 중요도가 높음을 표시하는지 여부에 근거하여 데이터에 관해 에러 정정 코딩(ECC) 동작을 수행할지 여부를 결정한다.
1208에서, ECC 동작을 수행할 것을 결정함에 응답하여, 메모리 디바이스는 풀 카피를 수행함으로써 카피를 실행할 수 있다. 1210에서, 데이터는 메모리 다이 내의 저장 소자들의 제 1 그룹으로부터 제어기 다이로 이동될 수 있다. 데이터를 제어기 다이로 이동시킨 이후, 1212에서, 데이터의 에러-정정된 형태가 제어기 다이로부터 메모리 다이 내의 저장 소자들의 제 2 그룹으로 이동될 수 있다. 예를 들어, 에러-정정된 형태는 제어기로부터 데이터 레지스터(예컨대, 도 6의 데이터 레지스터(620))에 수신될 수 있고, 데이터 레지스터로부터 목적지 위치로 카피될 수 있다.
1208에서, ECC 동작을 수행하지 않을 것을 결정함에 응답하여, 메모리 디바이스는 카피-백을 수행함으로써 카피를 실행할 수 있다. 1214에서, 데이터를 제어기 다이로 이동시킴 없이 데이터는 저장 소자들의 제 1 그룹으로부터 저장 소자들의 제 2 그룹으로 메모리 다이 내에서 이동될 수 있다. 예를 들어, 데이터는 소스 위치로부터 데이터 레지스터(예컨대, 도 6의 데이터 레지스터(620))에 기입될 수 있고, 데이터 레지스터로부터 목적지 위치로 카피될 수 있다.
도 11 및 도 12는 메모리 다이 내의 소스 위치로부터 메모리 다이 내의 목적지 위치로 데이터를 카피하도록 하는 커맨드를 수신하는 것, 그리고 소스 위치에서의 저장된 데이터와 관련된 메타데이터를 판독하는 것을 포함하는 데이터 카피 방법에 대응할 수 있다. 메타데이터는 저장된 데이터가 에러 정정 프로세싱의 수행 없이 메모리 다이 내에서 카피된 횟수와는 관련이 없을 수 있다. 저장된 데이터에 관해 에러 정정 코딩(ECC) 동작을 수행할지 여부의 결정이 이러한 메타데이터에 근거하여 수행된다.
예를 들어, ECC 동작을 수행할지 여부의 결정은, 저장된 데이터의 중요도가 높음을 메타데이터가 표시하는 것에 응답하여 ECC 동작을 수행할 것을 결정하는 것을 포함할 수 있다. 또 다른 예로서, 메모리 다이는 제 1 판독 모드에 따라, 그리고 제 2 판독 모드에 따라, 메모리 셀들의 상태들을 감지하도록 구성될 수 있다. 제 1 판독 모드는 제 2 판독 모드보다 더 높은 판독 해상도에 대응할 수 있다. ECC 동작을 수행할지 여부의 결정은, 메타데이터가 제 1 판독 모드를 표시함에 응답하여 ECC 동작을 수행할 것을 결정하는 것을 포함할 수 있다.
ECC 동작을 수행할 것을 결정함에 응답하여, 방법은 저장된 데이터를 메모리 다이로부터 제어기 다이로 이동시키는 것, 그리고 저장된 데이터를 제어기 다이로 이동시킨 이후, 저장된 데이터의 에러-정정된 형태를 제어기 다이로부터 메모리 다이로 이동시키는 것을 포함할 수 있다. ECC 동작을 수행하지 않을 것을 결정함에 응답하여, 방법은 데이터를 제어기 다이로 이동시킴 없이 소스 위치로부터 목적지 위치로 메모리 다이 내에서 데이터를 이동시키는 것을 포함할 수 있다.
본 명세서에서 제시되는 다양한 컴포넌트들이 블록 컴포넌트들로서 예시되고 일반적인 용어로 서술되고 있지만, 이러한 컴포넌트들은, 데이터 저장 디바이스(예를 들어, 도 6의 데이터 저장 디바이스(602))로 하여금 해당 컴포넌트에 속한 특정 기능들 또는 이들의 임의의 조합을 수행할 수 있도록 구성된 하나 이상의 마이크로프로세서, 상태 머신, 혹은 다른 회로를 포함할 수 있다. 예를 들어, 풀 카피/카피-백 제어 회로(624)는 메모리(610)로 하여금 풀 카피 동작 혹은 카피-백 동작을 수행하도록 명령하는 물리적 컴포넌트들(예를 들어, 제어기들, 상태 머신들, 로직 회로들, 혹은 다른 구조들)을 나타낼 수 있다.
풀 카피/카피-백 제어 회로(624)는, 파라미터들과 정적 혹은 동적 임계치들의 하나 이상의 비교에 근거하여, 혹은 데이터와 관련된 메타데이터를 검사하는 것에 근거하여, 혹은 이들의 조합에 의해, 풀 카피 동작을 수행할지 아니면 카피-백 동작을 수행할지 여부를 결정하도록 프로그래밍된 마이크로프로세서 또는 마이크로제어기를 사용하여 구현될 수 있다. 특정 실시예에서, 풀 카피/카피-백 제어 회로(624)는 메모리(610)에 저장되는 명령들을 실행하는 프로세서를 포함한다. 대안적으로, 혹은 추가적으로, 프로세서에 의해 실행되는 실행가능한 명령들은 메모리(610)의 일부분이 아닌 별개의 메모리 위치에 저장될 수 있는바, 예를 들어, 판독-전용 메모리(ROM)(미도시)에 저장될 수 있다.
특정 실시예에서, 데이터 저장 디바이스(602)는 하나 이상의 외부 디바이스에 선택적으로 결합되도록 구성된 휴대용 디바이스일 수 있다. 그러나, 다른 실시예들에서, 데이터 저장 디바이스(602)는 하나 이상의 호스트 디바이스 내에, 예를 들어, 휴대용 통신 디바이스의 하우징 내에, 부착(attach)되거나 임베드(embed)될 수 있다. 예를 들어, 데이터 저장 디바이스(602)는 패키징된 장치 내에 존재할 수 있는바, 예를 들어, 무선 전화기, 개인 휴대 정보 단말기(PDA), 게이밍 디바이스 혹은 콘솔, 휴대용 네비게이션 디바이스, 또는 내부 비휘발성 메모리를 사용하는 다른 디바이스 내에 존재할 수 있다. 특정 실시예에서, 데이터 저장 디바이스(602)는 비휘발성 메모리, 예를 들어, 플래시 메모리(예컨대, NAND, NOR, 멀티-레벨 셀(MLC)), 분할된 비트-라인 NOR(Divided bit-line NOR, DINOR), AND, 고용량성 커플링율(high capacitive coupling ratio, HiCR), 비대칭 무접점 트랜지스터(Asymmetrical Contactless Transistor, ACT), 혹은 다른 플래시 메모리), 소거가능하고 프로그래밍가능한 판독-전용 메모리(Erasable Programmable Read-Only Memory, EPROM), 전기적으로 소거가능하고 프로그래밍가능 판독-전용 메모리(Electrically-Erasable Programmable Read-Only Memory, EEPROM), 판독-전용 메모리(Read-Only Memory, ROM), 일회 프로그래밍가능 메모리(One-Time Programmable memory, OTP), 또는 임의의 다른 타입의 메모리를 포함한다.
본 명세서에서 설명되는 실시예들의 예는 다양한 실시예들의 포괄적인 이해를 제공하도록 의도되었다. 다른 실시예들이 본 개시내용으로부터 활용 및 도출될 수 있으며, 이에 따라 구조적 및 논리적 대체물들 그리고 변경들이 본 개시내용의 사상으로부터 벗어남이 없이 만들어질 수 있다. 본 개시내용은 다양한 실시예의 임의의 모든 후속 채택 혹은 변형을 포괄하도록 의도되었다. 이에 따라, 본 개시내용 및 도면들은 한정적 의미가 아닌 예시적 의미로서 고려돼야 한다.
앞서 개시된 주된 내용은 한정적 의미가 아닌 예시적 의미로서 고려돼야 하는바, 첨부되는 특허청구범위는 본 개시내용의 범위 내에 있는 이러한 모든 수정예, 개선예, 및 다른 실시예를 포괄하도록 의도되었다. 따라서, 법이 허용하는 최대 범위까지, 본 발명의 범위는 다음의 특허청구범위와 그 등가물의 허용가능한 최광의 해석으로 결정돼야만 하며, 앞서의 상세한 설명에 의해 제한을 받거나 한정돼서는 안 된다.

Claims (65)

  1. 데이터(data)를 카피(copy)하는 방법으로서,
    제어기 다이(controller die) 및 메모리 다이(memory die)를 구비한 메모리 디바이스(memory device)에서,
    상기 메모리 디바이스가 상기 메모리 디바이스 외부에 있는 호스트(host)에 동작가능하게 결합되어 있는 동안 상기 호스트로부터 커맨드(command)를 수신하는 단계와, 여기서 상기 커맨드는 상기 메모리 다이 내의 소스 위치(source location)로부터 상기 메모리 다이 내의 목적지 위치(destination location)로 데이터를 카피하도록 명령하고, 상기 소스 위치는 저장 소자들의 제 1 그룹을 포함하고, 상기 목적지 위치는 저장 소자들의 제 2 그룹을 포함하며;
    기준(criterion)이 충족되는지 여부를 상기 메모리 디바이스에 의해 결정하는 단계와, 여기서 상기 기준이 충족되는지 여부를 결정하는 단계는 미리정의된 파라미터(predefined parameter)를 동적 임계치(dynamic threshold)와 비교하는 것을 포함하고,
    상기 기준이 충족된다는 결정에 응답하여,
    상기 메모리 다이 내의 저장 소자들의 상기 제 1 그룹으로부터 상기 제어기 다이로 상기 데이터를 이동시키고, 그리고
    상기 데이터를 상기 제어기 다이로 이동시킨 이후에 상기 제어기 다이로부터의 상기 데이터의 에러 정정된 형태(error-corrected version)를 상기 메모리 다이 내의 저장 소자들의 상기 제 2 그룹으로 이동시킴으로써, 상기 카피를 실행하는 단계와; 그리고
    상기 기준이 충족되지 않는다는 결정에 응답하여,
    상기 데이터를 상기 제어기 다이로 이동시킴 없이 저장 소자들의 상기 제 1 그룹으로부터 저장 소자들의 상기 제 2 그룹으로 상기 메모리 다이 내에서 상기 데이터를 이동시킴으로써, 상기 카피를 실행하는 단계를 수행하는 것을 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  2. 제1항에 있어서,
    상기 기준이 충족되는지 여부를 결정하는 단계는 또한, 제2의 미리정의된 파라미터를 제2의 동적 임계치와 비교하는 것을 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  3. 제1항에 있어서,
    상기 미리정의된 파라미터는, 상기 데이터에서의 예측된 에러들의 총수(count)인 것을 특징으로 하는 데이터를 카피하는 방법.
  4. 제3항에 있어서,
    상기 메모리 다이 내의 신드롬 발생 회로(syndrome generation circuitry)에서 신드롬 발생 동작을 개시(initiating)시키는 단계를 더 포함하고,
    상기 예측된 에러들의 총수는 상기 신드롬 발생 회로에 의해 상기 메모리 다이에서 계산된 신드롬에 근거하여 결정되는 것을 특징으로 하는 데이터를 카피하는 방법.
  5. 제3항에 있어서,
    저장 소자들의 상기 제 1 그룹의 저장 소자들은 플래시 메모리 셀(flash memory cell)들이고,
    상기 예측된 에러들의 총수는 상태 경계 전압 영역(state boundary voltage region)들의 세트 내에 있는 임계 전압들을 갖는 저장 소자들의 상기 제 1 그룹 내의 플래시 메모리 셀들의 총수에 근거하여 결정되고, 그리고
    상기 상태 경계 전압 영역들의 세트의 각각의 상태 경계 전압 영역은, 프로그래밍가능한 플래시 메모리 셀 상태들의 세트의 상태들 간의 경계를 식별시키는 전이 전압(transition voltage)을 포함하는 전압 범위에 대응하는 것을 특징으로 하는 데이터를 카피하는 방법.
  6. 제1항에 있어서,
    상기 미리정의된 파라미터는, 저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클(write/erase cycle)들의 총수인 것을 특징으로 하는 데이터를 카피하는 방법.
  7. 제1항에 있어서,
    상기 미리정의된 파라미터는, 저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수인 것을 특징으로 하는 데이터를 카피하는 방법.
  8. 제1항에 있어서,
    상기 미리정의된 파라미터는, 상기 데이터가 저장 소자들의 상기 제 1 그룹에 프로그래밍된 이후 경과된 시간인 것을 특징으로 하는 데이터를 카피하는 방법.
  9. 제1항에 있어서,
    상기 미리정의된 파라미터는, 상기 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 상기 데이터에 적용된 카피-백 동작(copy-back operation)들의 총수인 것을 특징으로 하는 데이터를 카피하는 방법.
  10. 제1항에 있어서,
    상기 미리정의된 파라미터는, 상기 데이터에서의 패리티 비트(parity bit)들의 총수인 것을 특징으로 하는 데이터를 카피하는 방법.
  11. 제1항에 있어서,
    상기 동적 임계치는 상기 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 상기 데이터에 적용된 카피-백 동작들의 총수에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터를 카피하는 방법.
  12. 제1항에 있어서,
    상기 동적 임계치는 저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클들의 총수에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터를 카피하는 방법.
  13. 제1항에 있어서,
    상기 동적 임계치는 저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터를 카피하는 방법.
  14. 제1항에 있어서,
    상기 동적 임계치는 상기 제어기 다이를 통한 상기 데이터의 이전의 카피(previous copy) 동안 검출된 상기 데이터에서의 에러들의 총수에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터를 카피하는 방법.
  15. 제1항에 있어서,
    상기 동적 임계치는 상기 메모리 디바이스의 연령(age)에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터를 카피하는 방법.
  16. 제1항에 있어서,
    상기 소스 위치의 다이렉트 카피들(direct copies)의 총수를 업데이트하는 단계를 더 포함하고, 상기 업데이트는,
    상기 기준이 충족된다는 결정에 응답하여서는, 다이렉트 카피들의 총수를 재설정하고, 그리고
    상기 기준이 충족되지 않는다는 결정에 응답하여서는, 다이렉트 카피들의 총수를 증분시킴으로써 수행되는 것을 특징으로 하는 데이터를 카피하는 방법.
  17. 제1항에 있어서,
    하나 이상의 에러들이 상기 제어기 다이에서 정정된 것에 응답하여, 누적된 에러 값(accumulated error value)을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  18. 데이터를 카피하는 방법으로서,
    제어기 다이 및 메모리 다이를 구비한 메모리 디바이스에서,
    상기 메모리 디바이스가 상기 메모리 디바이스 외부에 있는 호스트에 동작가능하게 결합되어 있는 동안 상기 호스트로부터 커맨드를 수신하는 단계와, 여기서 상기 커맨드는 상기 메모리 다이 내의 소스 위치로부터 상기 메모리 다이 내의 목적지 위치로 데이터를 카피하도록 명령하고, 상기 소스 위치는 저장 소자들의 제 1 그룹을 포함하고, 상기 목적지 위치는 저장 소자들의 제 2 그룹을 포함하며;
    기준이 충족되는지 여부를 상기 메모리 디바이스에 의해 결정하는 단계와, 여기서 상기 기준이 충족되는지 여부를 결정하는 단계는 미리정의된 파라미터를 임계치와 비교하는 것을 포함하고, 상기 미리정의된 파라미터는, 상기 데이터에서의 예측된 에러들의 총수, 저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클들의 총수, 저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수, 그리고 상기 데이터가 저장 소자들의 상기 제 1 그룹에 프로그래밍된 이후 경과된 시간 중 하나이며;
    상기 기준이 충족된다는 결정에 응답하여,
    저장 소자들의 상기 제 1 그룹으로부터 상기 제어기 다이로 상기 데이터를 이동시키고, 그리고
    상기 데이터를 상기 제어기 다이로 이동시킨 이후에 상기 제어기 다이로부터의 상기 데이터의 에러 정정된 형태를 저장 소자들의 상기 제 2 그룹으로 이동시킴으로써, 상기 카피를 실행하는 단계와; 그리고
    상기 기준이 충족되지 않는다는 결정에 응답하여,
    상기 데이터를 상기 제어기 다이로 이동시킴 없이 저장 소자들의 상기 제 1 그룹으로부터 저장 소자들의 상기 제 2 그룹으로 상기 메모리 다이 내에서 상기 데이터를 이동시킴으로써, 상기 카피를 실행하는 단계를 수행하는 것을 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  19. 제18항에 있어서,
    상기 기준이 충족되는지 여부를 결정하는 단계는 또한, 제2의 미리정의된 파라미터를 제2의 임계치와 비교하는 것을 포함하고, 여기서 상기 제2의 미리정의된 파라미터는, 상기 데이터에서의 예측된 에러들의 총수, 저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클들의 총수, 저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수, 그리고 상기 데이터가 저장 소자들의 상기 제 1 그룹에 프로그래밍된 이후 경과된 시간 중 또 다른 하나인 것을 특징으로 하는 데이터를 카피하는 방법.
  20. 제18항에 있어서,
    상기 임계치는 미리정의된 임계치인 것을 특징으로 하는 데이터를 카피하는 방법.
  21. 제18항에 있어서,
    상기 임계치는 동적 임계치이며,
    상기 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 상기 데이터에 적용된 카피-백 동작들의 총수,
    저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클들의 총수,
    저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수, 그리고
    상기 제어기 다이를 통한 상기 데이터의 이전의 카피 동안 검출된 상기 데이터에서의 에러들의 총수
    중 적어도 하나에 근거하여 계산되는 것을 특징으로 하는 데이터를 카피하는 방법.
  22. 데이터를 카피하는 방법으로서,
    제 1 판독 모드에 따라 메모리 셀들의 상태들을 감지함과 아울러 상기 제 1 판독 모드보다 더 낮은 판독 해상도(reading resolution)에 대응하는 제 2 판독 모드에 따라서 메모리 셀들의 상태들을 감지하도록 되어 있는 메모리 다이와, 그리고 제어기 다이를 구비한 메모리 디바이스에서,
    상기 메모리 다이 내의 소스 위치로부터 상기 메모리 다이 내의 목적지 위치로 데이터를 카피하도록 하는 커맨드를 수신하는 단계와, 여기서 상기 소스 위치는 저장 소자들의 제 1 그룹을 포함하고, 상기 목적지 위치는 저장 소자들의 제 2 그룹을 포함하며;
    저장 소자들의 상기 제 1 그룹에 저장된 데이터와 관련된 메타데이터(metadata)를 판독하는 단계와; 그리고
    상기 메타데이터가 상기 제 1 판독 모드를 표시하는지 여부에 근거하여 상기 데이터에 관해 에러 정정 코딩(Error Correction Coding, ECC) 동작을 수행할지 여부를 결정하는 단계를 수행하는 것을 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  23. 제22항에 있어서,
    상기 ECC 동작을 수행할 것을 결정한 것에 응답하여,
    저장 소자들의 상기 제 1 그룹으로부터 상기 제어기 다이로 상기 데이터를 이동시키는 단계와; 그리고
    상기 데이터를 상기 제어기 다이로 이동시킨 이후에 상기 제어기 다이로부터의 상기 데이터의 에러 정정된 형태를 저장 소자들의 상기 제 2 그룹으로 이동시키는 단계를 더 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  24. 제22항에 있어서,
    상기 ECC 동작을 수행하지 않을 것을 결정한 것에 응답하여,
    상기 데이터를 상기 제어기 다이로 이동시킴 없이 저장 소자들의 상기 제 1 그룹으로부터 저장 소자들의 상기 제 2 그룹으로 상기 메모리 다이 내에서 상기 데이터를 이동시키는 단계를 더 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  25. 데이터를 카피하는 방법으로서,
    제어기 다이 및 메모리 다이를 구비한 메모리 디바이스에서,
    상기 메모리 다이 내의 소스 위치로부터 상기 메모리 다이 내의 목적지 위치로 데이터를 카피하도록 하는 커맨드를 수신하는 단계와, 여기서 상기 소스 위치는 저장 소자들의 제 1 그룹을 포함하고, 상기 목적지 위치는 저장 소자들의 제 2 그룹을 포함하며;
    저장 소자들의 상기 제 1 그룹에 저장된 데이터와 관련된 메타데이터를 판독하는 단계와; 그리고
    상기 메타데이터가 상기 데이터의 중요도(importance)가 높음을 표시하는지 여부에 근거하여 상기 데이터에 관해 에러 정정 코딩(ECC) 동작을 수행할지 여부를 결정하는 단계를 수행하는 것을 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  26. 제25항에 있어서,
    상기 ECC 동작을 수행할 것을 결정한 것에 응답하여,
    저장 소자들의 상기 제 1 그룹으로부터 상기 제어기 다이로 상기 데이터를 이동시키는 단계와; 그리고
    상기 데이터를 상기 제어기 다이로 이동시킨 이후에 상기 제어기 다이로부터의 상기 데이터의 에러 정정된 형태를 저장 소자들의 상기 제 2 그룹으로 이동시키는 단계를 더 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  27. 제25항에 있어서,
    상기 ECC 동작을 수행하지 않을 것을 결정한 것에 응답하여,
    상기 데이터를 상기 제어기 다이로 이동시킴 없이 저장 소자들의 상기 제 1 그룹으로부터 저장 소자들의 상기 제 2 그룹으로 상기 메모리 다이 내에서 상기 데이터를 이동시키는 단계를 더 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  28. 데이터를 카피하는 방법으로서,
    제어기 다이 및 메모리 다이를 구비한 메모리 디바이스에서,
    상기 메모리 다이 내의 소스 위치로부터 상기 메모리 다이 내의 목적지 위치로 데이터를 카피하도록 하는 커맨드를 수신하는 단계와;
    상기 소스 위치에서의 저장된 데이터와 관련된 메타데이터를 판독하는 단계와, 여기서 상기 메타데이터는 상기 저장된 데이터가 에러 정정 프로세싱(error correction processing)의 수행 없이 상기 메모리 다이 내에서 카피된 횟수와는 관련이 없으며; 그리고
    상기 메타데이터에 근거하여 상기 저장된 데이터에 관해 에러 정정 코딩(ECC) 동작을 수행할지 여부를 결정하는 단계를 수행하는 것을 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  29. 제28항에 있어서,
    상기 ECC 동작을 수행할 것을 결정한 것에 응답하여,
    상기 메모리 다이로부터 상기 제어기 다이로 상기 저장된 데이터를 이동시키는 단계와; 그리고
    상기 저장된 데이터를 상기 제어기 다이로 이동시킨 이후에 상기 제어기 다이로부터의 상기 저장된 데이터의 에러 정정된 형태를 상기 메모리 다이로 이동시키는 단계를 더 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  30. 제28항에 있어서,
    상기 ECC 동작을 수행하지 않을 것을 결정한 것에 응답하여,
    상기 데이터를 상기 제어기 다이로 이동시킴 없이 상기 소스 위치로부터 상기 목적지 위치로 상기 메모리 다이 내에서 상기 데이터를 이동시키는 단계를 더 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  31. 제28항에 있어서,
    상기 메모리 다이는 제 1 판독 모드에 따라 메모리 셀들의 상태들을 감지함과 아울러 상기 제 1 판독 모드보다 더 낮은 판독 해상도에 대응하는 제 2 판독 모드에 따라서 메모리 셀들의 상태들을 감지하도록 되어 있고,
    상기 ECC 동작을 수행할지 여부를 결정하는 단계는 상기 메타데이터가 상기 제 1 판독 모드를 표시한다는 것에 응답하여 상기 ECC 동작을 수행할 것을 결정하는 것을 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  32. 제28항에 있어서,
    상기 ECC 동작을 수행할지 여부를 결정하는 단계는 상기 메타데이터가 상기 저장된 데이터의 중요도가 높음을 표시하는 것에 응답하여 상기 ECC 동작을 수행할 것을 결정하는 것을 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  33. 제28항에 있어서,
    상기 ECC 동작을 수행할지 여부를 결정하는 단계는 상기 메타데이터가 상기 저장된 데이터의 데이터 보유 사양(data retention specification)이 높음을 표시하는 것에 응답하여 상기 ECC 동작을 수행할 것을 결정하는 것을 포함하는 것을 특징으로 하는 데이터를 카피하는 방법.
  34. 데이터 저장 디바이스로서,
    제어기 다이와; 그리고
    저장 소자들의 제 1 그룹 및 저장 소자들의 제 2 그룹을 포함하는 메모리 다이를 포함하여 구성되며,
    상기 제어기 다이는, 상기 메모리 다이 내의 소스 위치로부터 상기 메모리 다이 내의 목적지 위치로 데이터의 카피를 명령하도록 되어 있고, 여기서 상기 소스 위치는 저장 소자들의 상기 제 1 그룹을 포함하고, 상기 목적지 위치는 저장 소자들의 상기 제 2 그룹을 포함하며,
    상기 데이터 저장 디바이스는, 미리정의된 파라미터와 동적 임계치의 비교에 적어도 부분적으로 근거하여 기준이 충족되는지 여부를 결정하도록 되어 있고,
    상기 기준이 충족된다는 결정에 응답하여, 상기 데이터 저장 디바이스는, 상기 메모리 다이 내의 저장 소자들의 상기 제 1 그룹으로부터 상기 제어기 다이로 상기 데이터를 이동시키고, 그리고 상기 데이터를 상기 제어기 다이로 이동시킨 이후에 상기 제어기 다이로부터의 상기 데이터의 에러 정정된 형태를 상기 메모리 다이 내의 저장 소자들의 상기 제 2 그룹으로 이동시킴으로써, 상기 카피를 실행하도록 되어 있고,
    상기 기준이 충족되지 않는다는 결정에 응답하여, 상기 데이터 저장 디바이스는, 상기 데이터를 상기 제어기 다이로 이동시킴 없이 저장 소자들의 상기 제 1 그룹으로부터 저장 소자들의 상기 제 2 그룹으로 상기 메모리 다이 내에서 상기 데이터를 이동시킴으로써, 상기 카피를 실행하도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  35. 제34항에 있어서,
    상기 메모리는 상기 기준이 충족되는지 여부를 결정하도록 되어 있는 카피 제어 회로(copy control circuit)를 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  36. 제35항에 있어서,
    상기 카피 제어 회로는 비교기에 결합되는 동적 임계치 발생기(dynamic threshold generator)를 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  37. 제34항에 있어서,
    상기 미리정의된 파라미터는, 상기 데이터에서의 예측된 에러들의 총수인 것을 특징으로 하는 데이터 저장 디바이스.
  38. 제37항에 있어서,
    상기 메모리 다이는 신드롬 발생 회로를 포함하고,
    상기 예측된 에러들의 총수는 상기 신드롬 발생 회로에 의해 계산된 신드롬에 근거하여 결정되는 것을 특징으로 하는 데이터 저장 디바이스.
  39. 제37항에 있어서,
    저장 소자들의 상기 제 1 그룹의 저장 소자들은 플래시 메모리 셀들이고,
    상기 메모리 다이는, 상태 경계 전압 영역들의 세트 내에 있는 임계 전압들을 갖는 저장 소자들의 상기 제 1 그룹 내의 플래시 메모리 셀들의 총수를 발생시키도록 되어 있는 경계 전압 영역 검출기를 포함하고,
    상기 상태 경계 전압 영역들의 세트의 각각의 상태 경계 전압 영역은 프로그래밍가능한 플래시 메모리 셀 상태들의 세트의 상태들 간의 경계를 식별시키는 전이 전압을 포함하는 전압 범위에 대응하고, 그리고
    상기 예측된 에러들의 총수는 상기 상태 경계 전압 영역들의 세트 내에 있는 임계 전압들을 갖는 저장 소자들의 상기 제 1 그룹 내의 플래시 메모리 셀들의 총수에 근거하여 결정되는 것을 특징으로 하는 데이터 저장 디바이스.
  40. 제34항에 있어서,
    상기 미리정의된 파라미터는, 저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클들의 총수인 것을 특징으로 하는 데이터 저장 디바이스.
  41. 제34항에 있어서,
    상기 미리정의된 파라미터는, 저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수인 것을 특징으로 하는 데이터 저장 디바이스.
  42. 제34항에 있어서,
    상기 미리정의된 파라미터는, 상기 데이터가 저장 소자들의 상기 제 1 그룹에 프로그래밍된 이후 경과된 시간인 것을 특징으로 하는 데이터 저장 디바이스.
  43. 제34항에 있어서,
    상기 미리정의된 파라미터는, 상기 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 상기 데이터에 적용된 카피-백 동작들의 총수인 것을 특징으로 하는 데이터 저장 디바이스.
  44. 제34항에 있어서,
    상기 미리정의된 파라미터는, 상기 데이터에서의 패리티 비트들의 총수인 것을 특징으로 하는 데이터 저장 디바이스.
  45. 제34항에 있어서,
    상기 동적 임계치는 상기 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 상기 데이터에 적용된 카피-백 동작들의 총수에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터 저장 디바이스.
  46. 제34항에 있어서,
    상기 동적 임계치는 저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클들의 총수에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터 저장 디바이스.
  47. 제34항에 있어서,
    상기 동적 임계치는 저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터 저장 디바이스.
  48. 제34항에 있어서,
    상기 동적 임계치는 상기 제어기 다이를 통한 상기 데이터의 이전의 카피 동안 검출된 상기 데이터에서의 에러들의 총수에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터 저장 디바이스.
  49. 제34항에 있어서,
    상기 동적 임계치는 상기 메모리 디바이스의 연령에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 데이터 저장 디바이스.
  50. 제34항에 있어서,
    상기 데이터 저장 디바이스는, 상기 소스 위치의 다이렉트 카피들의 총수를 업데이트하도록 되어있고, 상기 업데이트는,
    상기 기준이 충족된다는 결정에 응답하여서는, 다이렉트 카피들의 총수를 재설정하고, 그리고
    상기 기준이 충족되지 않는다는 결정에 응답하여서는, 다이렉트 카피들의 총수를 증분시킴으로써 수행되는 것을 특징으로 하는 데이터 저장 디바이스.
  51. 제34항에 있어서,
    상기 데이터 저장 디바이스는 하나 이상의 에러들이 상기 제어기 다이에서 정정된 것에 응답하여, 누적된 에러 값을 업데이트하도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  52. 데이터 저장 디바이스로서,
    제어기 다이와; 그리고
    저장 소자들의 제 1 그룹 및 저장 소자들의 제 2 그룹을 포함하는 메모리 다이를 포함하여 구성되며,
    상기 제어기 다이는, 상기 메모리 다이 내의 소스 위치로부터 상기 메모리 다이 내의 목적지 위치로 데이터의 카피를 명령하도록 되어 있고, 여기서 상기 소스 위치는 저장 소자들의 상기 제 1 그룹을 포함하고, 상기 목적지 위치는 저장 소자들의 상기 제 2 그룹을 포함하며,
    상기 데이터 저장 디바이스는, 미리정의된 파라미터와 임계치의 비교에 적어도 부분적으로 근거하여 기준이 충족되는지 여부를 결정하도록 되어 있고, 여기서 상기 미리정의된 파라미터는, 상기 데이터에서의 예측된 에러들의 총수, 저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클들의 총수, 저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수, 그리고 상기 데이터가 저장 소자들의 상기 제 1 그룹에 프로그래밍된 이후 경과된 시간 중 하나이고,
    상기 기준이 충족된다는 결정에 응답하여, 상기 데이터 저장 디바이스는, 상기 메모리 다이 내의 저장 소자들의 상기 제 1 그룹으로부터 상기 제어기 다이로 상기 데이터를 이동시키고, 그리고 상기 데이터를 상기 제어기 다이로 이동시킨 이후에 상기 제어기 다이로부터의 상기 데이터의 에러 정정된 형태를 상기 메모리 다이 내의 저장 소자들의 상기 제 2 그룹으로 이동시킴으로써, 상기 카피를 실행하도록 되어 있고, 그리고
    상기 기준이 충족되지 않는다는 결정에 응답하여, 상기 데이터 저장 디바이스는, 상기 데이터를 상기 제어기 다이로 이동시킴 없이 저장 소자들의 상기 제 1 그룹으로부터 저장 소자들의 상기 제 2 그룹으로 상기 메모리 다이 내에서 상기 데이터를 이동시킴으로써, 상기 카피를 실행하도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  53. 제52항에 있어서,
    상기 기준이 충족되는지 여부를 결정하는 것은 또한, 제2의 미리정의된 파라미터를 제2의 임계치와 비교하는 것을 포함하고, 여기서 상기 제2의 미리정의된 파라미터는, 상기 데이터에서의 예측된 에러들의 총수, 저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클들의 총수, 저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수, 그리고 상기 데이터가 저장 소자들의 상기 제 1 그룹에 프로그래밍된 이후 경과된 시간 중 또 다른 하나인 것을 특징으로 하는 데이터 저장 디바이스.
  54. 제52항에 있어서,
    상기 임계치는 미리정의된 임계치인 것을 특징으로 하는 데이터 저장 디바이스.
  55. 제52항에 있어서,
    상기 임계치는 동적 임계치이며,
    상기 데이터에 가장 최근의 에러 정정 동작을 적용한 이후 상기 데이터에 적용된 카피-백 동작들의 총수,
    저장 소자들의 상기 제 1 그룹의 기입/소거 싸이클들의 총수,
    저장 소자들의 상기 제 2 그룹의 기입/소거 싸이클들의 총수, 그리고
    상기 제어기 다이를 통한 상기 데이터의 이전의 카피 동안 검출된 상기 데이터에서의 에러들의 총수
    중 적어도 하나에 근거하여 계산되는 것을 특징으로 하는 데이터 저장 디바이스.
  56. 데이터 저장 디바이스로서,
    제어기 다이와; 그리고
    메모리 다이를 포함하여 구성되며,
    상기 메모리 다이는, 제 1 판독 모드에 따라 메모리 셀들의 상태들을 감지함과 아울러 상기 제 1 판독 모드보다 더 낮은 판독 해상도에 대응하는 제 2 판독 모드에 따라서 메모리 셀들의 상태들을 감지하도록 되어 있고, 상기 메모리 다이는 저장 소자들의 제 1 그룹 및 저장 소자들의 제 2 그룹을 포함하고,
    상기 메모리 다이는, 저장 소자들의 제 1 그룹을 포함하는 소스 위치로부터 저장 소자들의 제 2 그룹을 포함하는 목적지 위치로 데이터를 카피하도록 하는 커맨드를 상기 제어기로부터 수신함에 응답하여, 저장 소자들의 상기 제 1 그룹에 저장된 데이터와 관련된 메타데이터를 판독하고, 상기 메타데이터가 상기 제 1 판독 모드를 표시하는지 여부에 근거하여 상기 데이터에 관해 에러 정정 코딩(ECC) 동작을 수행할지 여부를 결정하도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  57. 제56항에 있어서,
    상기 ECC 동작을 수행할 것을 결정한 것에 응답하여, 상기 데이터 저장 디바이스는, 저장 소자들의 상기 제 1 그룹으로부터 상기 제어기 다이로 상기 데이터를 이동시키고 상기 데이터를 상기 제어기 다이로 이동시킨 이후에 상기 제어기 다이로부터의 상기 데이터의 에러 정정된 형태를 저장 소자들의 상기 제 2 그룹으로 이동시키도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  58. 제56항에 있어서,
    상기 ECC 동작을 수행하지 않을 것을 결정한 것에 응답하여, 상기 데이터 저장 디바이스는, 상기 데이터를 상기 제어기 다이로 이동시킴 없이 저장 소자들의 상기 제 1 그룹으로부터 저장 소자들의 상기 제 2 그룹으로 상기 메모리 다이 내에서 상기 데이터를 이동시키도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  59. 데이터 저장 디바이스로서,
    제어기 다이와; 그리고
    저장 소자들의 제 1 그룹 및 저장 소자들의 제 2 그룹을 포함하는 메모리 다이를 포함하여 구성되며,
    상기 메모리 다이는, 저장 소자들의 상기 제 1 그룹을 포함하는 소스 위치로부터 저장 소자들의 상기 제 2 그룹을 포함하는 목적지 위치로 데이터를 카피하도록 하는 커맨드를 상기 제어기 다이로부터 수신함에 응답하여, 저장 소자들의 상기 제 1 그룹에 저장된 데이터와 관련된 메타데이터를 판독하고 상기 메타데이터가 상기 데이터의 중요도가 높음을 표시하는지 여부에 근거하여 상기 데이터에 관해 에러 정정 코딩(ECC) 동작을 수행할지 여부를 결정하도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  60. 제59항에 있어서,
    상기 ECC 동작을 수행할 것을 결정한 것에 응답하여, 상기 데이터 저장 디바이스는, 저장 소자들의 상기 제 1 그룹으로부터 상기 제어기 다이로 상기 데이터를 이동시키고 상기 데이터를 상기 제어기 다이로 이동시킨 이후에 상기 제어기 다이로부터의 상기 데이터의 에러 정정된 형태를 저장 소자들의 상기 제 2 그룹으로 이동시키도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  61. 제59항에 있어서,
    상기 ECC 동작을 수행하지 않을 것을 결정한 것에 응답하여, 상기 데이터 저장 디바이스는, 상기 데이터를 상기 제어기 다이로 이동시킴 없이 저장 소자들의 상기 제 1 그룹으로부터 저장 소자들의 상기 제 2 그룹으로 상기 메모리 다이 내에서 상기 데이터를 이동시키도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  62. 데이터 저장 디바이스로서,
    제어기 다이와; 그리고
    저장 소자들의 제 1 그룹 및 저장 소자들의 제 2 그룹을 포함하는 메모리 다이를 포함하여 구성되며,
    상기 메모리 다이는, 저장 소자들의 상기 제 1 그룹을 포함하는 소스 위치로부터 저장 소자들의 상기 제 2 그룹을 포함하는 목적지 위치로 데이터를 카피하도록 하는 커맨드를 상기 제어기 다이로부터 수신함에 응답하여, 저장 소자들의 상기 제 1 그룹에 저장된 데이터와 관련된 메타데이터를 판독하고 상기 메타데이터에 근거하여 에러 정정 코딩(ECC) 동작을 수행할지 여부를 결정하도록 되어 있고, 상기 메타데이터는 상기 저장된 데이터가 에러 정정 프로세싱의 수행 없이 상기 메모리 다이 내에서 카피된 횟수와는 관련이 없는 것을 특징으로 하는 데이터 저장 디바이스.
  63. 제62항에 있어서,
    상기 메모리 다이는, 제 1 판독 모드에 따라 메모리 셀들의 상태들을 감지함과 아울러 상기 제 1 판독 모드보다 더 낮은 판독 해상도에 대응하는 제 2 판독 모드에 따라서 메모리 셀들의 상태들을 감지하도록 되어 있고,
    상기 ECC 동작을 수행할지 여부를 결정하는 것은 상기 메타데이터가 상기 제 1 판독 모드를 표시한다는 것에 응답하여 상기 ECC 동작을 수행할 것을 결정하는 것을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  64. 제62항에 있어서,
    상기 ECC 동작을 수행할지 여부를 결정하는 것은, 상기 메타데이터가 상기 저장된 데이터의 중요도가 높음을 표시하는 것에 응답하여 상기 ECC 동작을 수행할 것을 결정하는 것을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  65. 제62항에 있어서,
    상기 ECC 동작을 수행할지 여부를 결정하는 것은, 상기 메타데이터가 상기 저장된 데이터의 데이터 보유 사양이 높음을 표시하는 것에 응답하여 상기 ECC 동작을 수행할 것을 결정하는 것을 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
KR1020147005785A 2011-08-29 2012-08-24 데이터를 카피하는 시스템 및 방법 KR20140074285A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161528381P 2011-08-29 2011-08-29
US61/528,381 2011-08-29
US13/593,107 US9158621B2 (en) 2011-08-29 2012-08-23 System and method of copying data
US13/593,107 2012-08-23
PCT/US2012/052231 WO2013032892A1 (en) 2011-08-29 2012-08-24 System and method of copying data

Publications (1)

Publication Number Publication Date
KR20140074285A true KR20140074285A (ko) 2014-06-17

Family

ID=47745459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147005785A KR20140074285A (ko) 2011-08-29 2012-08-24 데이터를 카피하는 시스템 및 방법

Country Status (4)

Country Link
US (1) US9158621B2 (ko)
EP (1) EP2751689B1 (ko)
KR (1) KR20140074285A (ko)
WO (1) WO2013032892A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687249B2 (en) 2019-12-17 2023-06-27 SK Hynix Inc. Memory system and operation method thereof

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012001763A1 (ja) * 2010-06-28 2012-01-05 株式会社日立製作所 計算機システムの管理方法及びクライアントコンピュータ
KR101830808B1 (ko) * 2011-11-04 2018-02-22 삼성전자주식회사 메모리 시스템 및 그것의 데이터 저장 방법
JP2013232263A (ja) * 2012-04-27 2013-11-14 Toshiba Corp 半導体メモリ
US9009566B2 (en) * 2012-09-12 2015-04-14 Macronix International Co., Ltd. Outputting information of ECC corrected bits
US9728263B2 (en) 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
US10475523B2 (en) 2013-05-31 2019-11-12 Western Digital Technologies, Inc. Updating read voltages triggered by the rate of temperature change
US9697905B2 (en) * 2013-05-31 2017-07-04 Sandisk Technologies Llc Updating read voltages using syndrome weight comparisons
US9378097B1 (en) * 2013-08-27 2016-06-28 Sk Hynix Memory Solutions Inc. Selective copy-back
US9411683B2 (en) * 2013-12-26 2016-08-09 Intel Corporation Error correction in memory
WO2015106162A1 (en) * 2014-01-09 2015-07-16 SanDisk Technologies, Inc. Selective copyback for on die buffered non-volatile memory
US20150199282A1 (en) * 2014-01-16 2015-07-16 Storart Technology Co., Ltd. Scramble random seed prediction method with storage device built-in data copy back procedure
US9785501B2 (en) * 2014-02-18 2017-10-10 Sandisk Technologies Llc Error detection and handling for a data storage device
US9105333B1 (en) * 2014-07-03 2015-08-11 Sandisk Technologies Inc. On-chip copying of data between NAND flash memory and ReRAM of a memory die
US10210041B2 (en) 2015-11-05 2019-02-19 SK Hynix Inc. Systems and methods for low latency copy operations in non-volatile memory
US10048877B2 (en) * 2015-12-21 2018-08-14 Intel Corporation Predictive memory maintenance
US10430350B1 (en) * 2017-06-27 2019-10-01 Wells Fargo Bank, N.A. Secure storage of data through a multifaceted security scheme
US20190035445A1 (en) * 2017-07-31 2019-01-31 CNEX Labs, Inc. a Delaware Corporation Method and Apparatus for Providing Low Latency Solid State Memory Access
US10418097B2 (en) 2017-11-27 2019-09-17 Western Digital Technologies, Inc. Non-volatile storage system with read calibration
US10534551B1 (en) * 2018-06-22 2020-01-14 Micron Technology, Inc. Managing write operations during a power loss
US10811091B2 (en) 2018-10-12 2020-10-20 Western Digital Technologies, Inc. Adaptive processing for read threshold voltage calibration
US11138064B2 (en) 2018-12-13 2021-10-05 Micron Technology, Inc. Dynamic control of error management and signaling
JP2020144554A (ja) 2019-03-05 2020-09-10 キオクシア株式会社 記憶装置およびデータ読出方法
US10866858B2 (en) * 2019-04-16 2020-12-15 Samsung Electronics Co., Ltd. Memory systems having reduced memory channel traffic and methods for operating the same
US11282567B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Sequential SLC read optimization
US11281578B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Garbage collection in a memory sub-system during a low battery state
US11726869B2 (en) 2019-08-20 2023-08-15 Micron Technology, Inc. Performing error control operation on memory component for garbage collection
US11281392B2 (en) 2019-08-28 2022-03-22 Micron Technology, Inc. Garbage collection in a memory component using an adjusted parameter
TWI747191B (zh) * 2020-03-09 2021-11-21 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
US11256617B2 (en) * 2020-04-01 2022-02-22 Micron Technology, Inc. Metadata aware copyback for memory devices
US11327884B2 (en) 2020-04-01 2022-05-10 Micron Technology, Inc. Self-seeded randomizer for data randomization in flash memory
KR20230152501A (ko) * 2022-04-27 2023-11-03 한국과학기술원 플래시 기반 저장 장치 및 그 카피백 동작 방법
US11934266B2 (en) * 2022-06-01 2024-03-19 Micron Technology, Inc. Memory compaction management in memory devices
US20240193037A1 (en) * 2022-12-07 2024-06-13 Western Digital Technologies, Inc. Error correction systems and methods for dna storage

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000006A (en) 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6895464B2 (en) * 2002-06-03 2005-05-17 Honeywell International Inc. Flash memory management system and method utilizing multiple block list windows
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
KR100543447B1 (ko) 2003-04-03 2006-01-23 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
US7958430B1 (en) * 2005-06-20 2011-06-07 Cypress Semiconductor Corporation Flash memory device and method
KR100837274B1 (ko) * 2006-08-28 2008-06-11 삼성전자주식회사 오토 멀티-페이지 카피백 기능을 갖는 플래시 메모리 장치및 그것의 블록 대체 방법
US7925936B1 (en) * 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
EP2215636B1 (de) * 2007-11-26 2014-07-23 Hyperstone GmbH VERFAHREN ZUR GLEICHMÄßIGEN NUTZUNG MEHRERER FLASHSPEICHERCHIPS
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8443260B2 (en) 2007-12-27 2013-05-14 Sandisk Il Ltd. Error correction in copy back memory operations
US8271515B2 (en) * 2008-01-29 2012-09-18 Cadence Design Systems, Inc. System and method for providing copyback data integrity in a non-volatile memory system
US8099543B2 (en) 2009-02-03 2012-01-17 Micron Technology, Inc. Methods of operarting memory devices within a communication protocol standard timeout requirement
WO2010097065A1 (de) * 2009-02-26 2010-09-02 Hyperstone Gmbh Verfahren zur verwaltung von flashspeichern mit gemischten speichertypen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687249B2 (en) 2019-12-17 2023-06-27 SK Hynix Inc. Memory system and operation method thereof

Also Published As

Publication number Publication date
EP2751689B1 (en) 2018-08-15
US20130055047A1 (en) 2013-02-28
WO2013032892A1 (en) 2013-03-07
US9158621B2 (en) 2015-10-13
EP2751689A1 (en) 2014-07-09

Similar Documents

Publication Publication Date Title
EP2751689B1 (en) System and method of copying data
US9728263B2 (en) Method and device for iteratively updating read voltages
US8862967B2 (en) Statistical distribution based variable-bit error correction coding
US9240235B2 (en) Mitigating disturb effects for non-volatile memory
KR101369444B1 (ko) 정정 불가능한 에러를 해결하는 하이브리드 에러 정정 코딩
US9124300B2 (en) Error correction coding in non-volatile memory
KR101891378B1 (ko) 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법
US9785501B2 (en) Error detection and handling for a data storage device
US9153331B2 (en) Tracking cell erase counts of non-volatile memory
US8787079B2 (en) Reading data from multi-level cell memory
WO2015047688A1 (en) Updating read voltages
US9129689B2 (en) Tracking erase pulses for non-volatile memory
TW201346923A (zh) 使用單一錯誤偵測奇偶校驗的抹除修正
US9507658B2 (en) Data reading method, memory storage device and memory controlling circuit unit
WO2015094799A2 (en) System and method of managing tags associated with read voltages
US11526395B2 (en) Write buffer management
US20160054921A1 (en) Memory management method, memory storage device and memory controlling circuit unit
US20140269067A1 (en) Tracking erase operations to regions of non-volatile memory
CN114270304B (zh) 存储器组件的同一平面内的数据压缩
TWI844591B (zh) 減少基於校驗子的準循環解碼器的延遲

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application