KR102403173B1 - 메모리 시스템에의 중요 데이터 저장 - Google Patents

메모리 시스템에의 중요 데이터 저장 Download PDF

Info

Publication number
KR102403173B1
KR102403173B1 KR1020207023893A KR20207023893A KR102403173B1 KR 102403173 B1 KR102403173 B1 KR 102403173B1 KR 1020207023893 A KR1020207023893 A KR 1020207023893A KR 20207023893 A KR20207023893 A KR 20207023893A KR 102403173 B1 KR102403173 B1 KR 102403173B1
Authority
KR
South Korea
Prior art keywords
data
error control
control operation
user data
memory
Prior art date
Application number
KR1020207023893A
Other languages
English (en)
Other versions
KR20200102528A (ko
Inventor
밤시 라야프로루
시바그나남 팔사사라시
삼파스 케이. 라트남
피터 필리
키쇼어 쿠마르 무치헬라
Original Assignee
마이크론 테크놀로지, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20200102528A publication Critical patent/KR20200102528A/ko
Application granted granted Critical
Publication of KR102403173B1 publication Critical patent/KR102403173B1/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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

메모리 시스템에 저장될 사용자 데이터가 수신될 수 있다. 상기 메모리 시스템과 연관된 시스템 데이터가 식별될 수 있고 오류 제어 동작에 기초하여 상기 메모리 시스템에 상기 사용자 데이터 및 상기 시스템 데이터가 저장될 수 있다. 상기 시스템 데이터의 서브 세트가 식별될 수 있고 다른 오류 제어 동작에 기초하여 상기 메모리 시스템에 상기 시스템 데이터의 상기 서브 세트가 저장될 수 있다.

Description

메모리 시스템에의 중요 데이터 저장
본 개시는 개괄적으로 메모리 시스템들, 보다 구체적으로는 메모리 시스템에 중요 데이터를 저장하는 것에 관한 것이다.
메모리 시스템은 고체 상태 라이브(SSD)와 같은 메모리 시스템일 수 있고 데이터를 저장하는 하나 이상의 메모리 디바이스를 포함할 수 있다. 메모리 시스템은 비휘발성 메모리 디바이스들 및 휘발성 메모리 디바이스들과 같은 메모리 디바이스를 포함할 수 있다. 일반적으로, 호스트 시스템은 메모리 시스템을 이용하여 메모리 시스템의 메모리 디바이스들에 데이터를 저장하고 메모리 시스템의 메모리 디바이스들로부터 데이터를 회수할 수 있다.
본 개시는 아래에 제공되는 구체적인 내용 및 본 개시의 다양한 구현의 첨부 도면들로부터 보다 완전하게 이해될 것이다.
도 1은 본 개시의 일부 실시 예에 따른 메모리 시스템을 포함하는 예시적인 컴퓨팅 환경을 도시한다.
도 2는 일부 실시 예에 따른 오류 제어 동작에 기초하여 저장되는 데이터의 블록도이다.
도 3은 본 개시의 일부 실시 예에 따라 오류 제어 동작에 기초하여 사용자 데이터를 저장하고 다른 오류 제어 동작에 기초하여 중요 데이터를 저장하기 위한 예시적인 방법의 흐름도이다.
도 4는 일부 실시 예에 따라 중요 데이터에 기초하여 사용자 데이터에 대한 판독 동작을 수행하기 위한 예시적인 방법의 흐름도이다.
도 5는 본 개시의 구현들이 동작할 수 있는 예시적인 컴퓨터 시스템의 블록도이다.
본 개시의 양태들은 메모리 시스템에 중요 데이터를 저장하는 것에 관한 것이다. 일반적으로, 호스트 시스템은 하나 이상의 메모리 디바이스를 포함하는 메모리 시스템을 이용할 수 있다. 메모리 시스템의 일례는 고체 상태 드라이브(SSD) 또는 하이브리드 메모리/저장 시스템이다. 호스트 시스템은 메모리 시스템에 데이터를 저장하기 위한 기록 요청들 및 현재 메모리 시스템에 저장된 데이터를 회수하기 위한 판독 요청들을 제공할 수 있다. 사용자 데이터가 호스트 시스템으로부터 수신되고 메모리 시스템에 저장됨에 따라, 메모리 시스템은 수신된 사용자 데이터와 함께 추가 데이터를 저장할 수 있다. 그러한 추가 데이터는 메모리 시스템의 특성들을 식별하는 시스템 데이터일 수 있다. 시스템 데이터는 사용자 데이터가 메모리 시스템에 저장되는 시간에 메모리 시스템의 특성들을 식별할 수 있다.
메모리 시스템은 메모리 시스템에 저장 및 회수되는 사용자 데이터 및 시스템 데이터에 대한 오류 검출 및 정정(즉, 오류 제어) 동작을 구현할 수 있다. 오류 제어 동작은 사용자 데이터를 인코딩하고 인코딩된 사용자 데이터를 메모리 시스템에 저장할 수 있다. 그 후, 사용자 데이터가 메모리 시스템에 의해 판독되고 호스트 시스템으로 리턴될 때, 인코딩된 사용자 데이터를 디코딩하고 노이즈 또는 사용자 데이터가 메모리 시스템에 저장되거나 메모리로부터 판독될 때 사용자 데이터의 값 또는 비트가 전환되게 하는(예를 들어, '0' 값에서 '1' 값으로 또는 그 반대로) 다른 그러한 손상에 의해 야기되었을 수 있는 임의의 오류들을 검출함으로써 회수된 사용자 데이터에 관해 오류 제어 동작이 수행될 수 있다. 그 후 검출된 오류는 오류 제어 동작을 사용함으로써 정정될 수 있다.
사용자 데이터를 회수하기 위한 판독 동작은 시스템 데이터의 일 부분에 기초할 수 있다. 예를 들어, 시스템 데이터에 포함되는 중요 데이터가 메모리 시스템에 의해 메모리 시스템의 메모리 디바이스에 저장된 대응하는 사용자 데이터를 판독하는 방법을 결정하는데 사용될 수 있다.
일례로서, 중요 데이터는 특정 사용자 데이터가 메모리 시스템의 메모리 디바이스에 기록되었을 때 메모리 시스템의 온도 값을 지정할 수 있다. 온도 값은 이후에 메모리 디바이스에서 대응하는 사용자 데이터를 회수할 때 사용될 특정 판독 전압 레벨을 결정하는데 사용될 수 있다. 예를 들어, 사용자 데이터에 대한 요청을 수신한 후, 인코딩된 시스템 데이터가 회수될 수 있고 오류 제어 동작이 시스템 데이터에 관해 수행되어 중요 데이터가 회수될 수 있다. 그 후, 메모리 시스템은 중요 데이터에 기초하여 메모리 디바이스로부터 사용자 데이터를 회수할 수 있다. 사용자 데이터에 대한 판독 동작을 수행하는 방법을 결정하는데 중요 데이터의 사용은 중요 데이터를 사용함으로써 가능하게 되는 사용자 데이터에 대한 판독 동작의 결과로서 보다 적은 오류가 존재할 수 있기 때문에 회수된 사용자 데이터에서 보다 적은 오류를 초래할 수 있다. 그에 따라, 오류 제어 동작은 회수된 사용자 데이터에 보다 적은 오류가 검출되고 정정될 수 있으므로 사용자 데이터에 잠재적인 오류들을 보다 쉽게 검출 및 정정할 수 있다.
종래의 메모리 시스템들은 동일한 유형의 오류 제어 동작에 기초하여 사용자 데이터 및 시스템 데이터를 인코딩할 수 있다. 그러나, 회수된 시스템 데이터에 존재하는 오류 수가 오류 제어 동작의 오류 정정 성능을 초과하는 것의 결과로서 오류 제어 동작이 시스템 데이터를 복구할 수 없다면, 회수되는 시스템 데이터 또한 보다 많은 오류를 포함할 수 있다. 그러한 경우에 시스템 데이터에서의 오류들이 정정되지 않을 수 있기 때문에, 시스템 데이터에 포함되는 중요 데이터에 의해 판독 동작이 보조될 수 없음에 따라 사용자 데이터에 대한 판독 동작 또한 오류 수가 증가할 수 있다.
본 개시의 양태들은 오류 제어 동작에 기초하여 메모리 시스템에 중요 데이터를 저장함으로써 상기한 그리고 다른 결점들을 해결한다. 예를 들어, 초기 오류 제어 동작을 사용함으로써 메모리 시스템에 메모리 시스템의 사용자 데이터 및 시스템 데이터가 저장될 수 있다. 시스템 데이터는 사용자 데이터가 메모리 시스템에 저장되는 시간에 메모리 시스템의 온도 값과 같은 중요 데이터를 포함할 수 있다. 중요 데이터를 저장하는데 다른 오류 제어 동작이 사용될 수 있다. 다른 오류 제어 동작은 사용자 데이터 및 시스템 데이터를 저장하는데 사용되었던 초기 오류 제어 동작과 상이할 수 있다. 예를 들어, 다른 오류 제어 동작은 초기 오류 제어 동작보다 많은 오류들을 정정할 수 있을 수 있다. 그에 따라, 초기 오류 제어 동작은 시스템 데이터를 저장하는데 사용될 수 있고, 다른 오류 제어 동작은 사용자 데이터의 판독 동작을 수행하는 방법을 결정하는데 사용되는 시스템 데이터의 서브 세트(예를 들어, 중요 데이터)를 저장하는데 사용될 수 있다.
사용자 데이터에 대한 호스트 시스템으로부터의 후속 요청에 응답하여, 메모리 시스템은 초기 오류 제어 동작에 기초하여 저장되었던 시스템 데이터를 회수할 수 있다. 초기 오류 제어 동작이 성공적이면, 시스템 데이터로부터의 중요 데이터가 식별되고 대응하는 사용자 데이터에 대한 판독 동작을 수행하는데 사용될 수 있다. 그 다음, 초기 오류 제어 동작은 회수된 사용자 데이터에 대하여 사용될 수 있다. 그 외, 초기 오류 제어 동작이 성공적이지 않았다면(즉, 실패), 다른 오류 제어 동작에 기초하여 저장되었던 중요 데이터가 다른 오류 제어 동작을 사용함으로써 회수될 수 있다. 그 다음, 중요 데이터는 초기 오류 제어 동작에 기초하여 저장되었던 대응하는 사용자 데이터에 대한 판독 동작을 수행하는데 사용될 수 있다. 예를 들어, 메모리 시스템은 중요 시스템 데이터에 기초하여 특정 판독 전압 레벨을 적용하여 사용자 데이터를 회수할 수 있고 그 다음, 회수된 사용자 데이터에 대해 제1 오류 제어 동작이 사용될 수 있다.
본 개시의 이점들은 메모리 시스템에 저장되는 사용자 데이터의 신뢰성 증가를 포함하나, 이에 제한되지는 않는다. 예를 들어, 추가 오류 제어 동작이 제1 오류 제어 동작의 오류 정정 성능보다 개선된 오류 정정 성능을 제공할 수 있다. 그에 따라, 추가 오류 제어 동작에 기초하여 중요 데이터를 저장하는 것은 사용자 데이터에 대해 개선된 판독 동작을 제공하는데 사용될 수 있는 추가 오류 정정 능력을 제공할 수 있다. 개선된 판독 동작은 회수된 사용자 데이터의 오류를 정정하는데 초기 오류 제어 동작이 덜 빈번하게 사용되도록 오류들을 감소시킬 수 있다. 또한, 추가 오류 제어 동작은 초기 오류 제어 동작보다 수행하는데 더 많은 시간을 이용할 수 있다. 그러나, 시스템 데이터를 회수할 때 초기 오류 제어 동작이 실패할 때 추가 오류 제어 동작이 이용되므로, 시스템 데이터 신뢰성이 회복될 수 없을 때 추가 제어 동작의 사용이 선택적으로 수행될 수 있다.
또한, 중요 데이터는 사용자 데이터가 판독되기 전에 판독될 수 있기 때문에, 중요 데이터는 사용자 데이터가 유효한지 여부를 식별하는데 사용될 수 있다. 사용자 데이터가 유효한 데이터가 아닌 경우(예를 들어, 더 이상 호스트 시스템에 의해 사용되지 않는 경우), 메모리 시스템은 추가 오류 제어 동작을 수행하지 않기로 결정할 수 있으며, 그 결과 다른 판독 또는 기록 동작들이 추가 오류 제어 동작 대신 수행될 수 있음에 따라 메모리 시스템의 성능이 개선된다. 또한, 사용자 데이터는 사용자 데이터의 오류들을 감소시키기 위해 사용자 데이터에 대해 수행되는 판독 동작을 가능하게 하는데 사용될 수 있다. 오류들을 감소시키면 보다 적은 오류를 정정하는데 추가 오류 제어 동작이 사용됨에 따라 메모리 시스템의 성능이 개선될 수 있다.
도 1은 본 개시의 일부 구현 예에 따른 메모리 시스템(110)을 포함하는 예시적인 컴퓨팅 환경(100)을 도시한다. 메모리 시스템(110)은 메모리 디바이스들(112A 내지 112N)rhk 같은 매체를 포함할 수 있다. 메모리 디바이스들(112A 내지 112N)은 휘발성 메모리 디바이스들, 비휘발성 메모리 디바이스들, 또는 이들의 조합일 수 있다. 일부 실시 예에서, 메모리 시스템은 저장 시스템이다. 저장 시스템의 일례는 SSD이다. 일반적으로, 컴퓨팅 환경(100)은 메모리 시스템(110)을 사용하는 호스트 시스템(120)을 포함할 수 있다. 일부 구현 예에서, 호스트 시스템(120)은 메모리 시스템(110)에 데이터를 기록하고 메모리 시스템(110)으로부터 데이터를 판독할 수 있다. 일부 실시 예에서, 메모리 시스템(110)은 하이브리드 메모리/저장 시스템이다.
호스트 시스템(120)은 데스크탑 컴퓨터, 랩탑 컴퓨터, 네트워크 서버, 모바일 디바이스와 같은 컴퓨팅 디바이스, 또는 메모리 및 프로세싱 디바이스를 포함하는 그러한 컴퓨팅 디바이스일 수 있다. 호스트 시스템(120)은 호스트 시스템(120)이 메모리 시스템(110)으로부터 데이터를 판독하거나 이에 데이터를 기록할 수 있도록 메모리 시스템(110)을 포함하거나 이에 연결될 수 있다. 호스트 시스템(120)은 물리적 호스트 인터페이스를 통해 메모리 시스템(110)에 연결될 수 있다. 여기서 사용될 때, "~에 접속(coupled to)"은 일반적으로 유선이든 무선이든, 전기적, 광학적, 자기적 등을 비롯한 간접 통신 연결 또는 직접 통신 연결일 수 있는 구성요소들 간 연결을 지칭한다. 물리적 호스트 인터페이스의 예들은 SATA(Serial Advanced Technology Attachment) 인터페이스, PCIe(Peripheral Component Interconnect Express) 인터페이스, USB(Universal Serial Bus) 인터페이스, 파이버 채널, 직렬 접속 SCSI(SAS) 등을 포함하나, 이에 제한되지는 않는다. 물리적 호스트 인터페이스는 호스트 시스템(120)과 메모리 시스템(110) 간에 데이터를 전송하는데 사용될 수 있다. 호스트 시스템(120)은 또한 NVMe(NVM Express) 인터페이스를 더 이용하여 메모리 시스템(110)이 PCIe 인터페이스에 의해 호스트 시스템(120)과 접속될 때 메모리 디바이스들(112A 내지 112N)에 액세스할 수 있다. 물리적 호스트 인터페이스는 메모리 시스템(110)과 호스트 시스템(120) 간에 제어, 어드레스, 데이터 및 다른 신호들을 전달하기 위한 인터페이스를 제공할 수 있다.
메모리 디바이스들(112A 내지 112N)은 상이한 유형들의 비휘발성 메모리 디바이스들 및/또는 휘발성 메모리 디바이스들의 임의의 조합을 포함할 수 있다. 비휘발성 메모리 디바이스들의 일례는 NAND(negative-and)형 플래시 메모리를 포함한다. 메모리 디바이스들(112A 내지 112N) 각각은 단일 레벨 셀들(SLC들) 또는 다중 레벨 셀들(MLC들)(예를 들어, 삼중 레벨 셀들(TLC들) 또는 사중 레벨 셀들(QLC들))과 같은 메모리 셀들의 하나 이상의 메모리 셀 어레이를 포함할 수 있다. 일부 구현 예에서, 특정 메모리 디바이스는 메모리 셀들의 SLC 부분 및 MLC 부분 둘 다를 포함할 수 있다. 메모리 셀들 각각은 호스트 시스템(120)에 의해 사용되는 데이터의 비트들(예를 들어, 데이터 블록들)을 저장할 수 있다. NAND형 플래시 메모리와 같은 비휘발성 메모리 디바이스들이 설명되지만, 메모리 디바이스들(112A 내지 112N)은 휘발성 메모리와 같은 임의의 다른 유형의 메모리에 기초할 수 있다. 일부 구현 예에서, 메모리 디바이스들(112A 내지 112N)은 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 상 변화 메모리(PCM), 마그네토 랜덤 액세스 메모리(MRAM, magneto random access memory), NOR(negative-or) 플래시 메모리, 전기 소거 가능 프로그램 가능한 판독 전용 메모리(EEPROM) 및 비휘발성 메모리 셀들의 교차점 어레이일 수 있으나, 이에 제한되지는 않는다. 비휘발성 메모리의 교차점 어레이는 적층 가능한 크로스 그리드 데이터 액세스 어레이와 함께 벌크 저항의 변화에 기초하여 비트 저장를 수행할 수 있다. 또한, 많은 플래시 기반 메모리와 달리, 교차점 비휘발성 메모리는 제자리에서 기록 동작을 수행할 수 있으며, 이때 비휘발성 메모리 셀은 사전에 소거되지 않고 프로그래밍될 수 있다. 또한, 메모리 디바이스들(112A 내지 112N)의 메모리 셀들은 데이터를 저장하는 데 사용되는 메모리 디바이스의 단위를 지칭할 수 있는 메모리 페이지들 또는 데이터 블록들로 그룹화될 수 있다.
제어기(115)는 메모리 디바이스들(112A 내지 112N)과 통신하여 메모리 디바이스들(112A 내지 112N)에서의 데이터 판독, 데이터 기록 또는 데이터 소거와 같은 동작들 및 다른 그러한 동작들을 수행할 수 있다. 제어기(115)는 하나 이상의 집적 회로 및/또는 이산 구성요소, 버퍼 메모리 또는 이들의 조합과 같은 하드웨어를 포함할 수 있다. 제어기(115)는 마이크로 제어기, 특수 목적 논리 회로(예를 들어, 필드 프로그램 가능 게이트 어레이(FPGA, field programmable gate array), 특수 용도 집적 회로(ASIC, application specific integrated circuit) 등) 또는 다른 적합한 프로세서일 수 있다. 제어기(115)는 로컬 메모리(119)에 저장된 지시들을 실행하도록 구성된 프로세서(프로세싱 디바이스)(117)를 포함할 수 있다. 도시된 예에서, 제어기(115)의 로컬 메모리(119)는 메모리 시스템(110)과 호스트 시스템(120) 간 통신을 핸들링하는 것을 포함하여, 메모리 시스템(110)의 동작을 제어하는 다양한 프로세스, 동작, 로직 흐름 및 루틴을 수행하기 위한 지시들을 저장하도록 구성된 내장 메모리(122)를 포함한다. 일부 실시 예에서, 로컬 메모리(119)는 메모리 포인터들, 페치된 데이터 등을 저장하는 메모리 레지스터들을 포함할 수 있다. 로컬 메모리(119)는 또한 마이크로-코드를 저장하기 위한 판독 전용 메모리(ROM)를 포함할 수 있다. 도 1의 예시적인 메모리 시스템(110)이 제어기(115)를 포함하는 것으로 도시되었지만, 본 개시의 다른 실시 예에서, 메모리 시스템(110)은 제어기(115)를 포함하지 않을 수 있고, 대신에 외부 제어(예를 들어, 외부 호스트에 의해, 또는 메모리 시스템과 별개인 프로세서 또는 제어기에 의해 제공되는)에 의존할 수 있다.
일반적으로, 제어기(115)는 호스트 시스템(120)으로부터 명령들 또는 동작들을 수신할 수 있고 명령들 또는 동작들을 지시들 또는 적절한 명령들로 변환하여 메모리 디바이스들(112A 내지 112N)에 대한 요구되는 액세스를 달성할 수 있다. 제어기(115)는 메모리 디바이스들(112A 내지 112N)과 연관된 웨어 레벨링 동작들, 가비지 수집 동작들, 오류 검출 및 오류 정정 코드(ECC, error-correcting code) 동작들, 암호화 동작들, 캐싱 동작들 및 논리 블록 어드레스와 물리 블록 어드레스 간의 어드레스 변환과 같은 다른 동작들을 담당할 수 있다. 제어기(115)는 물리적 호스트 인터페이스를 통해 호스트 시스템(120)과 통신하기 위한 호스트 인터페이스 회로를 더 포함할 수 있다. 호스트 인터페이스 회로는 호스트 시스템으로부터 수신된 명령들을 메모리 디바이스들(112A 내지 112N)에 액세스하기 위한 명령 지시들로 변환할뿐만 아니라 메모리 디바이스들(112A 내지 112N)과 연관된 응답들을 호스트 시스템(120)용 정보로 변환할 수도 있다.
메모리 시스템(110)은 메모리 디바이스들(112A 내지 112N)에 중요 데이터를 저장하는데 사용될 수 있는 중요 데이터 구성요소(113)를 포함할 수 있다. 예를 들어, 중요 데이터 구성요소(113)는 호스트 시스템(120)으로부터 사용자 데이터를 수신할 수 있고 초기 오류 제어 동작에 기초하여 사용자 데이터를 저장할 수 있다. 중요 데이터 구성요소(113)는 또한 사용자 데이터가 메모리 시스템에 저장될 때 시스템 데이터를 식별할 수 있다. 예를 들어, 사용자 데이터가 메모리 디바이스에 기록되었을 때 메모리 시스템 또는 메모리 시스템의 메모리 디바이스의 온도가 시스템 데이터에 포함될 수 있다. 그 다음, 중요 데이터와 같은 시스템 데이터의 일 부분이 식별될 수 있다. 그 다음, 중요 데이터 구성요소(113)가 추가 오류 제어 동작에 기초하여 중요 데이터를 저장할 수 있다. 그 후, 중요 데이터 구성요소(113)는 사용자 데이터에 대한 판독 요청이 호스트 시스템(120)으로부터 수신될 때 시스템 데이터에 대한 오류 제어 동작 및/또는 중요 데이터에 대한 추가 오류 제어 동작을 수행할 수 있다. 중요 데이터 구성요소(113)의 동작들에 관한 추가 세부 사항들은 후술된다.
메모리 시스템(110)은 또한 도시되지 않은 추가 회로 또는 구성요소들도 포함할 수 있다. 일부 구현 예에서, 메모리 시스템(110)은 제어기(115)로부터 어드레스를 수신하고 어드레스를 디코딩하여 메모리 디바이스들(112A 내지 112N)에 액세스할 수 있는 캐시 또는 버퍼(예를 들어, DRAM) 및 어드레스 회로(예를 들어, 로우 디코더 및 컬럼 디코더)를 포함할 수 있다.
도 2는 일부 실시 예에 따른 오류 제어 동작에 기초하여 저장되는 데이터의 블록도이다. 데이터는 도 1의 중요 데이터 구성요소(113)에 의해 저장 또는 판독될 수 있다.
도 2에 도시된 바와 같이, 사용자 데이터(210), 시스템 데이터(220) 및 패리티 데이터(230)가 초기 또는 제1 오류 제어 동작에 기초하여 메모리 시스템에 저장될 수 있다. 제1 오류 제어 동작의 예는 저밀도 패리티 체크 코드(LDPC, low-density parity-check) 오류 제어 동작과 같은 오류 정정 코드(ECC) 동작을 포함하나, 이에 제한되지는 않는다. 사용자 데이터(210)는 호스트 시스템으로부터 수신되어 메모리 시스템의 메모리 디바이스에 저장되는 데이터일 수 있다. 또한, 시스템 데이터(220)는 사용자 데이터(210)가 메모리 시스템에 저장된 시간에 메모리 시스템의 특성들 또는 조건들을 식별할 수 있다. 예를 들어, 시스템 데이터(220)는 메모리 시스템의 상태 또는 동작 조건들을 식별하는 정보를 포함할 수 있으나, 이에 제한되지는 않는다. 일부 실시 예에서, 시스템 데이터는 메모리 시스템의 특정 동작들이 언제 수행되었는지의 표시 또는 호스트 시스템 또는 메모리 시스템 생성 데이터(예를 들어, 사용자 데이터와 함께 사용되는 암호화 키들)와 같은 다른 정보를 포함한다. 시스템 데이터(220)의 일 부분 또는 서브 세트는 중요 데이터일 수 있다. 중요 데이터의 예들은 사용자 데이터(210)가 메모리 시스템에 저장되었을 때의 메모리 시스템의 온도, 사용자 데이터(210)가 메모리 시스템에 저장되었던 시간의 표시, 사용자 데이터(210)의 논리 블록 어드레스 및 논리 블록 어드레스에 매핑된 메모리 시스템의 대응하는 물리적 블록 어드레스, 또는 메모리 시스템의 상황 또는 상태와 관련된 다른 그러한 특성들 또는 정보을 포함하지만 이에 제한되지는 않는다. 일부 실시 예에서, 중요 데이터는 사용자 데이터(210)가 메모리 시스템에 저장되었을 때 메모리 시스템의 압력 또는 고도와 같은 환경 메트릭, 사용자 데이터(210)가 기록되었을 때 또는 메모리 시스템 또는 호스트 시스템에 의해 다른 동작이 수행된 때를 나타내는 타임스탬프 정보, 호스트 시스템 생성 중요 데이터 및 암호화 키들과 같이 사용자 데이터(210)와 사용되는 추가 데이터를 포함한다. 시스템 데이터(220)는 제1 오류 제어 동작을 사용함으로써 저장될 수 있다. 예를 들어, 사용자 데이터(210) 및 시스템 데이터(220) 양자가 동일한 제1 오류 제어 동작에 기초하여 인코딩될 수 있다. 또한, 사용자 데이터(210) 및 시스템 데이터(220)를 인코딩하는데 사용되는 제1 오류 제어 동작은 메모리 시스템으로부터 사용자 데이터(210) 및 시스템 데이터(220)를 판독할 때 후속하여 제1 오류 제어 동작에 의해 사용되는 패리티 데이터(230)를 생성하는데 사용될 수 있다. 예를 들어, 패리티 데이터(230)는 사용자 데이터(210) 및 시스템 데이터(220)에서의 오류들을 검출 및 정정하는데 사용될 수 있다.
또한, 중요 데이터(240) 및 대응하는 패리티 데이터(250)는 또한 사용자 데이터(210)가 메모리 시스템에 저장될 때 추가 또는 제2 오류 제어 동작에 기초하여 메모리 시스템에 저장될 수도 있다. 예를 들어, 초기 오류 제어의 유형과 상이한 유형의 오류 제어 동작이 중요 데이터(240) 및 그것의 대응하는 패리티 데이터(250)를 저장하는데 사용될 수 있다. 중요 데이터(240)는 시스템 데이터(220)의 서브 세트 또는 부분으로부터 식별될 수 있다. 일부 실시 예에서, 중요 데이터(240)는 메모리 시스템에 의해 사용자 데이터(210)에 관한 판독 동작을 수행하는데 사용되는 정보이다. 예를 들어, 중요 데이터(240)는 사용자 데이터(210)와 연관된 기록 온도를 식별할 수 있다. 그 다음, 기록 온도는 사용자 데이터(210)의 판독 동작을 수행하기 위해, 사용자 데이터(210)를 저장하는 하나 이상의 메모리 셀에 인가할 판독 전압 레벨 또는 특정 임계 전압을 결정하는데 사용될 수 있다. 그에 따라, 중요 데이터(240)는 사용자 데이터(210)에 대한 판독 동작을 보조하는데 사용되는 시스템 데이터(220)로부터의 정보일 수 있다. 중요 데이터(240)는 제2 오류 제어 동작에 기초하여 인코딩될 수 있다. 제2 오류 제어 동작의 일례는 순환 중복 검사(CRC) 오류 제어 동작을 포함하나, 이에 제한되지는 않는다. 또한, 대응하는 패리티 데이터(250)는 중요 데이터(240)를 인코딩하는데 사용되는 제2 오류 제어 동작에 기초하여 생성될 수 있다.
이와 같이, 사용자 데이터(210) 및 시스템 데이터(220)는 제1 오류 제어 동작에 기초하여 저장될 수 있다. 중요 데이터(240)는 제1 오류 제어 동작과 상이한 제2 오류 제어 동작에 기초하여 저장될 수 있다. 일부 실시 예에서, 제1 오류 제어 동작은 동일한 크기의 데이터의 오류 검출 및 정정을 수행하기 위해 제2 오류 제어 동작보다 완료하는데 시가닝 덜 걸린다. 또한, 제2 오류 제어 동작은 제1 오류 제어 동작보다 데이터에서 더 많은 오류들을 검출 및 정정할 수 있을 수 있다. 일부 실시 예에서, 제1 오류 제어 동작은 하드웨어에 의해 수행되고 제2 오류 제어 동작은 소프트웨어 또는 펌웨어에 의해 수행된다. 또한, 제1 오류 제어 동작은 제2 오류 제어 동작보다 오류들을 더 정정하기 위해 더 적은 패리티 데이터를 이용할 수 있다. 메모리 시스템에의 사용자 데이터(210), 시스템 데이터(220), 패리티 데이터(230), 중요 데이터(240) 및 대응하는 추가 패리티 데이터(250)의 기록은 도 3과 관련하여 더 상세히 설명된다. 또한, 메모리 시스템으로부터의 사용자 데이터(210)의 판독은 도 4와 관련하여 더 상세히 설명된다.
도 3은 본 개시의 일부 실시 예에 따라 오류 제어 동작에 기초하여 사용자 데이터를 저장하고 다른 오류 제어 동작에 기초하여 중요 데이터를 저장하기 위한 예시적인 방법(300)의 흐름도이다. 방법(300)은 하드웨어(예를 들어, 프로세싱 디바이스, 회로, 전용 로직, 프로그램 가능한 로직, 마이크로 코드, 디바이스의 하드웨어, 집적 회로 등), 소프트웨어(예를 들어, 프로세싱 디바이스에 관해 운영 또는 실행되는 지시들) 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행될 수 있다. 일부 실시 예에서, 방법(300)은 도 1의 중요 데이터 구성요소(113)에 의해 수행된다.
블록(310)에서, 프로세싱 로직이 사용자 데이터를 수신한다. 예를 들어, 사용자 데이터가 호스트 시스템에 의해 제공되는 기록 요청에서 식별될 수 있다. 프로세싱 로직은 또한 사용자 데이터와 연관된 시스템 데이터를 식별할 수 있다(블록 220). 예를 들어, 시스템 데이터는 사용자 데이터가 메모리 시스템에 기록되는 시간에 메모리 시스템의 하나 이상의 특성을 식별할 수 있다. 예를 들어, 사용자 데이터가 메모리 시스템에 저장될 때 메모리 시스템의 온도가 식별될 수 있다. 환경 조건들, 논리 블록 어드레스 및 물리 블록 어드레스 정보 및 전술한 바와 같은 다른 정보가 식별될 수 있다. 그 후, 프로세싱 로직은 오류 제어 동작에 기초하여 사용자 데이터 및 시스템 데이터를 저장할 수 있다(블록 330). 예를 들어, 사용자 데이터 및 시스템 데이터는 오류 제어 동작을 사용함으로써 인코딩될 수 있다. 또한, 시스템 데이터 및 사용자 데이터 및 인코딩된 사용자 데이터, 인코딩된 시스템 데이터에 대한 패리티 데이터가 생성될 수 있고, 패리티 데이터는 메모리 시스템에 기록될 수 있다.
프로세싱 로직은 시스템 데이터로부터 중요 데이터를 식별할 수 있다(블록 340). 예를 들어, 중요 데이터는 시스템 데이터의 일 부분으로부터 식별될 수 있다. 중요 데이터는 사용자 데이터의 판독 동작의 수행을 가능하게 하는데 사용되는 정보(예를 들어, 기록 온도)에 대응할 수 있다. 프로세싱 로직은 사용자 데이터 및 시스템 데이터를 저장하는데 사용된 오류 제어 동작과 상이한 다른 오류 제어 동작에 기초하여 중요 데이터를 저장할 수 있다(블록 350). 다른 오류 제어 동작은 중요 데이터에 대한 대응하는 패리티 데이터(예를 들어, 추가 패리티 데이터)를 추가로 생성할 수 있다. 대응하는 패리티 데이터는 다른 오류 제어 동작에 기초하여 인코딩되는 중요 데이터와 함께 메모리 시스템에 저장될 수 있다. 일부 실시 예에서, 다른 오류 제어 동작은 중요 데이터와 대응하는 패리티 데이터의 크기 사이의 비가 다른 오류 제어 동작의 신뢰성 또는 오류 정정 성능을 결정하는데 사용되는 CRC 오류 제어 동작이다. 예를 들어, 중요 데이터의 크기와 대응하는 패리티 데이터의 크기 사이의 비가 낮을수록(예를 들어, 대응하는 패리티 데이터의 크기가 중요 데이터의 크기에 더 가깝울수록), 비가 더 높을 때보다 신뢰성 및 다른 오류 제어 동작의 오류 정정 성능이 더 개선된다. 중요 데이터에 대해 개선된 오류 정정을 제공하기 위해 중요 데이터에 대해 대응하는 패리티 데이터의 크기가 더 클 수 있다. 일부 실시 예에서, 중요 데이터의 크기 대 그것의 대응하는 패리티 데이터의 크기의 비는 사용자 데이터 또는 시스템 데이터의 크기 및 관련 패리티 데이터의 크기의 비보다 더 낮다.
이와 같이, 사용자 데이터 및 시스템 데이터는 제1 오류 제어 동작에 기초하여 저장될 수 있다. 시스템 데이터의 서브 세트(예를 들어, 중요 데이터)는 제1 오류 제어 동작과 상이한 유형의 오류 제어 동작인 제2 오류 제어 동작에 기초하여 저장될 수 있다.
도 4는 일부 실시 예에 따라 중요 데이터에 기초하여 사용자 데이터에 대한 판독 동작을 수행하기 위한 예시적인 방법(400)의 흐름도이다. 방법(400)은 하드웨어(예를 들어, 프로세싱 디바이스, 회로, 전용 로직, 프로그램 가능한 로직, 마이크로 코드, 디바이스의 하드웨어, 집적 회로 등), 소프트웨어(예를 들어, 프로세싱 디바이스에 관해 운영 또는 실행되는 지시들) 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 일부 실시 예에서, 방법(400)은 도 1의 중요 데이터 구성요소(113)에 의해 수행된다.
방법(400)은 도 3의 방법(300)과 관련하여 설명된 바와 같이 사용자 데이터 및 중요 데이터를 저장한 후 사용자 데이터 및 중요 데이터를 판독하는 것에 대응할 수 있다. 도 4에 도시된 바와 같이, 블록(410)에서, 프로세싱 로직은 사용자 데이터에 대한 판독 요청을 수신할 수 있다. 예를 들어, 호스트 시스템은 호스트 시스템으로부터의 기록 요청에서 이전에 식별된 후 메모리 시스템에 저장되었던 사용자 데이터에 대한 판독 요청을 제공할 수 있다. 프로세싱 로직은 초기 오류 제어 동작을 사용함으로써 사용자 데이터와 연관된 시스템 데이터를 회수할 수 있다(블록 420). 예를 들어, 인코딩된 시스템 데이터가 메모리 시스템으로부터 판독될 수 있고 그 다음 인코딩된 시스템 데이터를 디코딩하는데 초기 오류 제어 동작이 사용될 수 있다. 프로세싱 로직은 초기 오류 제어 동작이 성공적이었는지 여부를 결정할 수 있다(블록 430). 예를 들어, 회수 및 디코딩된 시스템 데이터의 각각의 검출된 오류가 오류 제어 동작에 의해 정정되었다면 초기 오류 제어 동작은 성공적인 것으로 간주될 수 있다. 오류 제어 동작이 성공적이었다면, 프로세싱 로직은 시스템 데이터로부터 중요 데이터를 식별할 수 있다(블록 460). 예를 들어, 중요 데이터에 대응하는 시스템 데이터의 일 부분이 식별될 수 있다. 프로세싱 로직은 중요 데이터에 기초하여 사용자 데이터에 대한 판독 동작을 수행할 수 있다(블록 470). 판독 동작은 중요 데이터를 사용하여 메모리 시스템에 저장되었던 인코딩된 사용자 데이터를 회수하는 방법을 결정할 수 있다. 일부 실시 예에서, 판독 동작 파라미터는 중요 데이터에 기초하여 변경되거나 조정될 수 있다. 판독 동작 파라미터는 인코딩된 사용자 데이터를 회수하기 위해 판독 동작에 사용되는 특정 판독 전압 레벨일 수 있다. 조정된 판독 동작 파라미터는 회수된 사용자 데이터에서 오류가 덜 검출되게 할 수 있다. 그 후, 초기 오류 제어 동작은 시스템 데이터로부터 식별된 중요 데이터에 기초하여 판독되었던 인코딩된 사용자 데이터를 디코딩하는데 사용될 수 있다.
그 외, 오류 제어 동작이 성공적이지 않았다면, 프로세싱 로직은 추가 오류 제어 동작에 기초하여 중요 데이터를 회수할 수 있다(블록 440). 예를 들어, 중요 데이터가 인코딩된 사용자 데이터와 인코딩 및 별도로 저장될 수 있다. 그 다음, 추가 오류 제어 동작은 인코딩된 중요 데이터를 디코딩하는데 사용될 수 있다. 일부 실시 예에서, 추가 오류 제어 동작은 제1 오류 제어 동작의 결과에 사용될 수 있다. 예를 들어, 제1 오류 제어 동작은 검출되지 않은 오류들 중 전부가 아닌 서브 세트가 정정될 수 있을 때 실패할 수 있다. 그 다음, 추가 오류 제어 동작은 정정된 오류들의 서브 세트와 함께 제1 오류 제어 동작의 출력을 사용하여 나머지 오류들을 정정할 수 있다. 그 후, 프로세싱 로직은 추가 오류 제어 동작을 사용함으로써 회수되었던 중요 데이터에 기초하여 사용자 데이터에 대한 판독 동작을 수행할 수 있다(블록 450).
사용자 데이터에 대해 판독 동작이 수행된 후, 그 다음 사용자 데이터를 인코딩하는데 사용되었던 초기 오류 제어 동작은 사용자 데이터에 대한 오류들을 검출하고 정정하는데 사용될 수 있다. 이와 같이, 초기 오류 제어 동작을 사용하여 시스템 데이터가 회수될 수 있다. 초기 오류 제어 동작이 성공적이라면, 회수된 시스템 데이터로부터의 중요 데이터가 사용자 데이터에 대한 판독 동작을 교정하는데 사용될 수 있고 그 다음 초기 오류 제어 동작이 사용자 데이터와 함께 사용될 수 있다. 그 외, 초기 오류 제어 동작이 성공적이지 않다면, 상이한 오류 제어 동작을 사용하여 중요 데이터가 회수될 수 있고 그 다음 중요 데이터를 사용하여 사용자 데이터에 대한 판독 동작이 교정되고 그 다음 사용자 데이터를 저장하는데 사용되었던 초기 오류 제어 동작이 또한 사용자 데이터의 오류 정정 및 검출을 수행할 수 있다.
일부 실시 예에서, 중요 데이터는 다른 오류 제어 동작을 선택하는데 사용되거나 사용자 데이터에 대한 판독 동작을 수행할 때 초기 오류 제어 동작을 가능하게 하는데 사용되는 데이터이다. 예를 들어, 사용자 데이터가 메모리 시스템에 저장되었던 이후에 경과된 시간량이 특정 오류 제어 동작을 선택하는데 사용될 수 있다. 일부 실시 예에서, 이용 가능한 오류 제어 동작들의 세트 중 특정 오류 제어 동작은 중요 데이터(예를 들어, 경과된 시간량)에 기초하여 선택될 수 있다. 동일하거나 대안적인 실시 예들에서, 경과된 시간량은 사용자 데이터를 회수할 때 초기 오류 제어 동작에 의해 사용되는 추가 데이터일 수 있다. 그에 따라, 중요 데이터는 오류 제어 동작의 일부로서 또는 사용자 데이터에 대한 판독 동작을 수행할 때 오류 제어 동작을 선택하는데 사용될 수 있다.
전술한 바와 같이, 중요 데이터는 사용자 데이터의 논리 블록 어드레스 및 대응하는 물리 블록 어드레스를 식별할 수 있다. 그러한 예에서, 논리 블록 어드레스 또는 물리 블록 어드레스는 사용자 데이터에 대한 판독 동작을 수행할지 여부를 결정하는데 사용될 수 있다. 예를 들어, 호스트 시스템이 논리 블록 어드레스 또는 매핑된 물리 블록 어드레스에 부여된 데이터가 더 이상 유효하지 않다고 이미 나타었다면(예를 들어, 호스트 시스템이 데이터 소거 요청을 제공하였다면), 사용자 데이터에 대한 판독 동작을 수행하지 않을 것으로 결정될 수 있다. 그 외, 논리 블록 어드레스 또는 매핑된 물리 블록 어드레스에 부여된 데이터가 유효하지 않다는 표시가 없다면, 사용자 데이터에 대한 판독 동작을 수행하기로 결정될 수 있다.
도 5는 기계가 여기서 논의된 방법들 중 임의의 하나 이상을 수행하게 하는 지시들의 세트가 실행될 수 있는 컴퓨터 시스템(500)의 예시적인 기계를 도시한다. 일부 구현 예에서, 컴퓨터 시스템(500)은 메모리 시스템(예를 들어, 도 1의 메모리 시스템(110))을 포함하거나 이용하는 호스트 시스템(예를 들어, 도 1의 호스트 시스템(120))에 대응할 수 있거나 제어기의 동작들을 수행하는데(예를 들어, 도 1의 중요 데이터 구성요소(113)에 대응하는 동작들을 수행하기 위해 운영 체제를 실행하는데) 사용될 수 있다. 대안적인 구현 예들에서, 기계는 LAN, 인트라넷, 엑스트라넷 및/또는 인터넷의 다른 기계들에 연결(예를 들어, 네트워킹)될 수 있다. 기계는 클라이언트-서버 네트워크 환경에서의 서버 또는 클라이언트 기계로서, 피어 투 피어(또는 분산) 네트워크 환경에서의 피어 기계로서, 또는 클라우드컴퓨팅 인프라 또는 환경에서의 서버 또는 클라이언트 기계로서 작동할 수 있다.
기계는 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인용 정보 단말기(PDA), 모바일 전화, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브릿지 또는 해당 기계에 의해 취해질 동작들을 특정하는 지시들의 세트를 실행할 수 있는(순차적 또는 그 외) 임의의 기계일 수 있다. 나아가, 단일 기계가 도시되어 있지만, "기계"라는 용어는 또한 여기서 논의된 임의의 하나 이상의 방법론을 수행하기 위한 명령들의 집합(또는 다수의 집합)을 개별적으로 또는 공동으로 실행하는 임의의 기계 집합을 포함하는 것으로 간주된다.
예시적인 컴퓨터 시스템(500)은 버스(530)를 통해 서로 통신하는 프로세싱 디바이스(502), 메인 메모리(504)(예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(DRAM) 이를테면 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM) 등), 정적 메모리(506)(예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등), 및 데이터 저장 시스템(518)을 포함한다.
프로세싱 디바이스(502)는 마이크로 프로세서, 중앙 프로세싱 유닛 등과 같은 하나 이상의 범용 프로세싱 디바이스를 나타낸다. 보다 구체적으로, 프로세싱 디바이스는 복합 명령 집합 컴퓨팅(CISC, complex instruction set computing) 마이크로 프로세서, 축소 명령 집합 컴퓨팅(RISC, reduced instruction set computing) 마이크로 프로세서, 훨신 긴 명령어(VLIW, very long instruction word) 마이크로 프로세서, 또는 다른 명령 집합들을 구현하는 프로세서, 또는 명령 집합들의 조합을 구현하는 프로세서일 수 있다. 프로세싱 디바이스(502)는 또한 특수 목적 집적 회로(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스일 수 있다.. 프로세싱 디바이스(502)는 여기서 논의된 동작들 및 단계들을 수행하기 위한 지시들(526)을 실행하도록 구성된다. 컴퓨터 시스템(500)은 네트워크(520)를 통해 통신하기 위한 네트워크 인터페이스 장치(508)를 더 포함할 수 있다.
데이터 저장 시스템(518)은 여기에 설명된 방법들 또는 기능들 중 임의의 하나 이상을 구현하는 지시들 또는 소프트웨어의 하나 이상의 세트(526)가 저장되는 기계 판독 가능한 저장 매체(524)(컴퓨터 판독 가능한 매체라고도 함)를 포함할 수 있다. 지시들(526)은 또한 기계 판독 가능한 저장 매체를 구성하는 컴퓨터 시스템(500), 메인 메모리(504) 및 프로세싱 디바이스(502)에 의한 이들의 실행 동안 메인 메모리(504) 내에 그리고/또는 프로세싱 디바이스(502) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 기계 판독 가능한 저장 매체(524), 데이터 저장 시스템(518) 및/또는 메인 메모리(504)는 도 1의 메모리 시스템(110)에 대응할 수 있다.
일 구현 예에서, 지시들(526)은 중요 데이터 구성요소(예를 들어, 도 1의 중요 데이터 구성요소(113))에 대응하는 기능을 구현하기 위한 지시들을 포함한다. 기계 판독 가능한 저장 매체(524)가 예시적인 구현 예에서 단일 매체인 것으로 도시되어 있지만, "기계 판독 가능한 저장 매체"라는 용어는 지시들의 하나 이상의 세트를 저장하는 단일 매체 또는 다중 매체를 포함하는 것으로 취해져야 한다. "기계 판독 가능한 매체"라는 용어는 또한 기계에 의한 실행을 위한 지시들의 세트를 저장 또는 인코딩할 수 있고 기계가 본 개시의 방법들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 취해져야 한다. 그에 따라 "기계 판독 가능한 저장 매체"라는 용어는 고체 상태 메모리들, 광학 매체들 및 자기 매체들을 포함하지만 이에 제한되지는 않는 것으로 취해져야 한다.
전술한 구체적인 내용의 일부 부분은 컴퓨터 메모리 내의 데이터 비트들에 관한 동작들의 알고리즘들 및 상징적 표현들과 관련하여 제시되었다. 이러한 알고리즘적 설명 및 표현은 데이터 프로세싱 분야의 통상의 기술자가 그들의 작업 내용을 다른 통상의 기술자들게 가장 효과적으로 전달하는데 사용하는 방식들이다. 여기서 알고리즘은 일반적으로 요구되는 결과를 도출하는 자기-일관 동작 시퀀스인 것으로 생각된다. 동작들은 물리적 수량들을 물리적으로 조작해야 하는 것들이다. 반드시 그런 것은 아니지만, 일반적으로 이러한 양들은 저장, 조합, 비교 및 그 외 다르게 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 이러한 신호들을 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 나타내는 것이 주로 일반적인 용법의 이유로 때때로 편리한 것으로 입증되었다.
그러나, 이러한 그리고 유사한 용어들 모두는 적절한 물리량들과 연관되어야 하고 이러한 수량들에 적용되는 편리한 라벨들일 뿐임을 명심해야 한다. 본 개시는 컴퓨터 시스템의 레지스터들 및 메모리들 내 물리적(전자) 수량들로서 표현된 데이터를 조작하고 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장 시스템들 내 물리적 수량들로서 유사하게 표현되는 다른 데이터로 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스들을 나타낼 수 있다.
본 개시는 또한 여기서의 동작들을 수행하기 위한 장치에 관한 것이다. 이러한 장치는 의도된 목적들을 위해 특별히 구성될 수 있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 그러한 컴퓨터 프로그램은 이에 제한되지는 않지만, 각각 컴퓨터 시스템 버스에 접속되는 플로피 디스크, 광 디스크, CD-ROM 및 자기-광학 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 또는 전자 지시들을 저장하기에 적합한 임의의 유형의 매체를 포함하는 임의의 유형의 디스크와 같은 컴퓨터 판독 가능한 저장 매체에 저장될 수 있다.
여기에 제시된 알고리즘들 및 디스플레이들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치와 관련이 없다. 다양한 범용 시스템이 여기서의 교시에 따른 프로그램들과 함께 사용될 수 있거나, 방법을 수행하기 위해 보다 특화된 장치를 구성하는 것이 편리함을 증명할 수 있다. 이러한 다양한 시스템의 구조는 아래의 설명에서 제시될 것이다. 또한, 본 개시는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 여기서 설명된 바와 같이 본 개시의 교시를 구현하는데 다양한 프로그래밍 언어가 사용될 수 있다는 것이 이해될 것이다.
본 개시는 본 개시에 따라 프로세스를 수행하기 위해 컴퓨터 시스템(또는 다른 전자 디바이스들)을 프로그래밍하는데 사용될 수 있는 지시들을 저장한 기계 판독 가능한 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 기계 판독 가능한 매체는 기계(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 일부 구현 예에서, 기계 판독 가능한(예를 들어, 컴퓨터 판독 가능한) 매체는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스들 등과 같은 기계(예를 들어, 컴퓨터) 판독 가능한 저장 매체를 포함한다.
전술한 명세서에서, 본 개시의 구현 예들은 그 특정 예시적인 구현 예들을 참조하여 설명되었다. 다음의 청구범위에 제시된 본 개시의 구현 예들의 보다 넓은 사상 및 범위를 벗어나지 않고 다양한 변경이 이루어질 수 있음이 명백할 것이다. 따라서, 본 명세서 및 도면들은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 방법으로서,
    메모리 시스템에 저장될 사용자 데이터를 수신하는 단계;
    상기 메모리 시스템과 연관된 시스템 데이터를 식별하는 단계 - 상기 시스템 데이터는 상기 사용자 데이터가 상기 메모리 시스템에 기록될 때의 상기 메모리 시스템의 하나 이상의 특성을 포함함 -;
    오류 정정 코드(ECC)에 기초한 오류 제어 동작을 사용하여 상기 메모리 시스템에 상기 사용자 데이터 및 상기 시스템 데이터를 저장하는 단계;
    상기 시스템 데이터의 서브 세트를 식별하는 단계 - 상기 서브 세트는 상기 사용자 데이터를 판독하기 위해 상기 메모리 시스템에 대해 판독 동작을 수행하는데 사용되는 상기 시스템 데이터 내의 정보를 포함하고, 상기 정보는 상기 사용자 데이터가 상기 메모리 시스템에 기록될 때의 기록 온도를 포함함 -; 및
    프로세싱 디바이스에 의해, 순환 중복 검사(CRC)에 기초하고 상기 오류 제어 동작과는 상이한 다른 오류 제어 동작을 사용하여 상기 메모리 시스템에 상기 시스템 데이터의 상기 서브 세트를 저장하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 오류 제어 동작에 기초하여 상기 메모리 시스템에 상기 사용자 데이터 및 상기 시스템 데이터를 저장하는 단계는:
    상기 오류 제어 동작에 기초하여 상기 사용자 데이터 및 상기 시스템 데이터를 인코딩하는 단계;
    상기 오류 제어 동작에 기초하여 상기 사용자 데이터 및 상기 시스템 데이터에 대한 패러티 데이터를 생성하는 단계; 및
    상기 메모리 시스템에 상기 패러티 데이터, 인코딩된 상기 사용자 데이터 및 인코딩된 상기 시스템 데이터를 저장하는 단계를 포함하는, 방법.
  3. 청구항 2에 있어서, 상기 다른 오류 제어 동작에 기초하여 상기 메모리 시스템에 상기 시스템 데이터의 상기 서브 세트를 저장하는 단계는:
    상기 다른 오류 제어 동작에 기초하여 상기 시스템 데이터의 상기 서브 세트를 인코딩하는 단계;
    상기 다른 오류 제어 동작과 연관된 추가 패러티 데이터를 생성하는 단계; 및
    상기 메모리 시스템에 상기 추가 패러티 데이터 및 상기 시스템 데이터의 인코딩된 상기 서브 세트를 저장하는 단계를 포함하는, 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 청구항 1에 있어서, 상기 다른 오류 제어 동작에 기초하여 상기 메모리 시스템에 저장되는 상기 시스템 데이터의 상기 서브 세트는 상기 메모리 시스템에 저장된 상기 시스템 데이터에 대하여 상기 오류 제어 동작이 실패할 때 상기 메모리 시스템에 저장된 상기 사용자 데이터로 판독 동작을 수행하는데 사용되는, 방법.
  8. 명령들을 포함하는 비일시적 컴퓨터 판독 가능한 매체로서, 명령들은 프로세싱 디바이스에 의해 실행될 때, 상기 프로세싱 디바이스로 하여금:
    메모리 시스템에 저장될 사용자 데이터를 수신하는 단계;
    상기 메모리 시스템과 연관된 시스템 데이터를 식별하는 단계 - 상기 시스템 데이터는 상기 사용자 데이터가 상기 메모리 시스템에 기록될 때의 상기 메모리 시스템의 하나 이상의 특성을 포함함 -;
    오류 정정 코드(ECC)에 기초한 오류 제어 동작을 사용하여 상기 메모리 시스템에 상기 사용자 데이터 및 상기 시스템 데이터를 저장하는 단계;
    상기 시스템 데이터의 서브 세트를 식별하는 단계 - 상기 서브 세트는 상기 사용자 데이터를 판독하기 위해 상기 메모리 시스템에 대해 판독 동작을 수행하는데 사용되는 상기 시스템 데이터 내의 정보를 포함하고, 상기 정보는 상기 사용자 데이터가 상기 메모리 시스템에 기록될 때의 기록 온도를 포함함 -; 및
    순환 중복 검사(CRC)에 기초하고 상기 오류 제어 동작과는 상이한 다른 오류 제어 동작을 사용하여 상기 메모리 시스템에 상기 시스템 데이터의 상기 서브 세트를 저장하는 단계를 포함하여 수행하게 하는, 비일시적 컴퓨터 판독 가능한 매체.
  9. 청구항 8에 있어서, 상기 오류 제어 동작에 기초하여 상기 메모리 시스템에 상기 사용자 데이터 및 상기 시스템 데이터를 저장하는 단계는:
    상기 오류 제어 동작에 기초하여 상기 사용자 데이터 및 상기 시스템 데이터를 인코딩하는 단계;
    상기 오류 제어 동작에 기초하여 상기 사용자 데이터 및 상기 시스템 데이터에 대한 패러티 데이터를 생성하는 단계; 및
    상기 메모리 시스템에 상기 패러티 데이터, 인코딩된 상기 사용자 데이터 및 인코딩된 상기 시스템 데이터를 저장하는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능한 매체.
  10. 청구항 9에 있어서, 상기 다른 오류 제어 동작에 기초하여 상기 메모리 시스템에 상기 시스템 데이터의 상기 서브 세트를 저장하는 단계는:
    상기 다른 오류 제어 동작에 기초하여 상기 시스템 데이터의 상기 서브 세트를 인코딩하는 단계;
    상기 다른 오류 제어 동작과 연관된 추가 패러티 데이터를 생성하는 단계; 및
    상기 메모리 시스템에 상기 추가 패러티 데이터 및 상기 시스템 데이터의 인코딩된 상기 서브 세트를 저장하는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능한 매체.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 청구항 8에 있어서, 상기 다른 오류 제어 동작에 기초하여 상기 메모리 시스템에 저장되는 상기 시스템 데이터의 상기 서브 세트는 상기 메모리 시스템에 저장된 상기 시스템 데이터에 대하여 상기 오류 제어 동작이 실패할 때 상기 메모리 시스템에 저장된 상기 사용자 데이터로 판독 동작을 수행하는데 사용되는, 비일시적 컴퓨터 판독 가능한 매체.
  15. 시스템으로서,
    메모리 디바이스; 및
    상기 메모리 디바이스와 작동 가능하게 접속되는 프로세싱 디바이스로서:
    상기 메모리 디바이스에 저장된 사용자 데이터를 회수하기 위한 요청을 수신하고;
    상기 사용자 데이터와 연관된 오류 제어 동작을 수행하고 - 상기 오류 제어 동작은 오류 정정 코드(ECC)에 기초함 -;
    상기 오류 제어 동작의 실패 표시를 수신하고;
    상기 오류 제어 동작의 상기 실패 표시를 수신하는 것에 응답하여, 상기 메모리 디바이스에 저장된 중요 데이터를 식별하고 - 상기 중요 데이터는 상기 사용자 데이터를 판독하기 위해 상기 메모리 디바이스에 대해 판독 동작을 수행하는데 사용되는 정보를 포함하고, 상기 정보는 상기 사용자 데이터가 상기 메모리 디바이스에 기록될 때의 기록 온도를 포함함 -;
    상기 중요 데이터에 관해 순환 중복 검사(CRC)에 기초하고 상기 오류 제어 동작과는 상이한 다른 오류 제어 동작을 수행하여 상기 메모리 디바이스에 저장된 상기 중요 데이터를 회수하며;
    상기 다른 오류 제어 동작의 상기 수행에 기초하여 회수되는 상기 중요 데이터를 사용함으로써 상기 사용자 데이터를 판독하는, 상기 프로세싱 디바이스를 포함하는, 시스템.
  16. 청구항 15에 있어서, 상기 프로세싱 디바이스는 또한:
    상기 다른 오류 제어 동작의 상기 수행에 기초하여 회수되는 상기 중요 데이터에 기초하여 판독 동작 파라미터를 조정하고;
    조정된 상기 판독 동작 파라미터에 기초하여 상기 사용자 데이터를 회수하며;
    조정된 상기 판독 동작 파라미터에 기초하여 회수되는 회수된 상기 사용자 데이터에 관해 상기 오류 제어 동작을 수행하는, 시스템.
  17. 청구항 15에 있어서, 상기 다른 오류 제어 동작의 상기 수행에 기초하여 회수되는 상기 중요 데이터를 사용함으로써 상기 사용자 데이터를 판독하기 위해, 상기 프로세싱 디바이스는 또한:
    상기 사용자 데이터와 연관된 논리 블록 어드레스를 식별하며;
    상기 논리 블록 어드레스에 부여된 데이터가 유효한지 여부를 결정하되, 상기 사용자 데이터는 상기 논리 블록 어드레스에 부여된 데이터가 유효할 때 판독되는, 시스템.
  18. 삭제
  19. 청구항 15에 있어서, 상기 중요 데이터는 상기 사용자 데이터가 저장되는 시간에 기록 온도를 식별하는, 시스템.
  20. 청구항 15에 있어서, 상기 사용자 데이터와 연관된 상기 오류 제어 동작을 수행하기 위해, 상기 프로세싱 디바이스는:
    상기 사용자 데이터에 대응하는 시스템 데이터를 식별하며, 상기 오류 제어 동작은 상기 사용자 데이터에 대응하는 상기 시스템 데이터로 수행되는, 시스템.
KR1020207023893A 2018-01-24 2019-01-17 메모리 시스템에의 중요 데이터 저장 KR102403173B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862621502P 2018-01-24 2018-01-24
US62/621,502 2018-01-24
US16/029,331 US10963340B2 (en) 2018-01-24 2018-07-06 Storing critical data at a memory system
US16/029,331 2018-07-06
PCT/US2019/014051 WO2019147473A1 (en) 2018-01-24 2019-01-17 Storing critical data at a memory system

Publications (2)

Publication Number Publication Date
KR20200102528A KR20200102528A (ko) 2020-08-31
KR102403173B1 true KR102403173B1 (ko) 2022-05-30

Family

ID=67300019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207023893A KR102403173B1 (ko) 2018-01-24 2019-01-17 메모리 시스템에의 중요 데이터 저장

Country Status (5)

Country Link
US (2) US10963340B2 (ko)
EP (1) EP3743814A4 (ko)
KR (1) KR102403173B1 (ko)
CN (1) CN111712803B (ko)
WO (1) WO2019147473A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11769076B2 (en) * 2019-10-14 2023-09-26 Micron Technology, Inc. Memory sub-system with a virtualized bus and internal logic to perform a machine learning operation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144270A1 (en) * 2007-09-06 2012-06-07 Western Digital Technologies, Inc. Storage subsystem capable of adjusting ecc settings based on monitored conditions
US20140129901A1 (en) * 2012-11-05 2014-05-08 Kabushiki Kaisha Toshiba Memory system
KR101678919B1 (ko) * 2011-05-02 2016-11-24 삼성전자주식회사 메모리 시스템 및 에러 정정 방법
US20170024277A1 (en) * 2008-04-11 2017-01-26 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8472274B2 (en) * 2011-03-02 2013-06-25 Apple Inc. Using temperature sensors with a memory device
US9189329B1 (en) * 2011-10-13 2015-11-17 Marvell International Ltd. Generating error correcting code (ECC) data using an ECC corresponding to an identified ECC protection level
CN103051664B (zh) * 2012-08-14 2016-04-27 深圳市朗科科技股份有限公司 一种云存储系统的文件管理方法、装置及该云存储系统
US10146482B2 (en) 2014-08-01 2018-12-04 Toshiba Memory Corporation Global error recovery system
US9530512B2 (en) * 2014-09-19 2016-12-27 Sandisk Technologies Llc Temperature dependent sensing scheme to counteract cross-temperature threshold voltage distribution widening
US10298259B1 (en) * 2015-06-16 2019-05-21 Amazon Technologies, Inc. Multi-layered data redundancy coding techniques
US9996281B2 (en) * 2016-03-04 2018-06-12 Western Digital Technologies, Inc. Temperature variation compensation
US9910606B2 (en) 2016-03-23 2018-03-06 Seagate Technology Llc End of life extension of solid state memory
US10372625B2 (en) * 2016-12-27 2019-08-06 Intel Corporation Secure memory
CN107153793B (zh) * 2017-05-17 2020-03-27 深圳市马博士网络科技有限公司 一种重要数据存储的防破译方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144270A1 (en) * 2007-09-06 2012-06-07 Western Digital Technologies, Inc. Storage subsystem capable of adjusting ecc settings based on monitored conditions
US20170024277A1 (en) * 2008-04-11 2017-01-26 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device
KR101678919B1 (ko) * 2011-05-02 2016-11-24 삼성전자주식회사 메모리 시스템 및 에러 정정 방법
US20140129901A1 (en) * 2012-11-05 2014-05-08 Kabushiki Kaisha Toshiba Memory system

Also Published As

Publication number Publication date
EP3743814A1 (en) 2020-12-02
US20190227870A1 (en) 2019-07-25
US10963340B2 (en) 2021-03-30
CN111712803B (zh) 2024-05-17
WO2019147473A1 (en) 2019-08-01
EP3743814A4 (en) 2021-11-03
US20210191816A1 (en) 2021-06-24
KR20200102528A (ko) 2020-08-31
US11726874B2 (en) 2023-08-15
CN111712803A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
US11749373B2 (en) Bad block management for memory sub-systems
US11526395B2 (en) Write buffer management
US11726869B2 (en) Performing error control operation on memory component for garbage collection
US20210389910A1 (en) Managing a memory system including memory devices with different characteristics
US11868202B2 (en) Granular error reporting on multi-pass programming of non-volatile memory
US10991440B2 (en) Performing read operation prior to two-pass programming of storage system
KR102403173B1 (ko) 메모리 시스템에의 중요 데이터 저장
US20220164107A1 (en) Using bad blocks for system data in memory
US11221912B2 (en) Mitigating an undetectable error when retrieving critical data during error handling
US11632137B2 (en) Early decoding termination for a memory sub-system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant