KR102592902B1 - 메모리 시스템 및 이의 동작 방법 - Google Patents

메모리 시스템 및 이의 동작 방법 Download PDF

Info

Publication number
KR102592902B1
KR102592902B1 KR1020180106199A KR20180106199A KR102592902B1 KR 102592902 B1 KR102592902 B1 KR 102592902B1 KR 1020180106199 A KR1020180106199 A KR 1020180106199A KR 20180106199 A KR20180106199 A KR 20180106199A KR 102592902 B1 KR102592902 B1 KR 102592902B1
Authority
KR
South Korea
Prior art keywords
dies
level information
reliability level
memory
reliability
Prior art date
Application number
KR1020180106199A
Other languages
English (en)
Other versions
KR20200027862A (ko
Inventor
김종욱
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020180106199A priority Critical patent/KR102592902B1/ko
Priority to US16/380,433 priority patent/US10838627B2/en
Priority to CN201910418075.4A priority patent/CN110879789B/zh
Publication of KR20200027862A publication Critical patent/KR20200027862A/ko
Application granted granted Critical
Publication of KR102592902B1 publication Critical patent/KR102592902B1/ko

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/006Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation at wafer scale level, i.e. wafer scale integration [WSI]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67242Apparatus for monitoring, sorting or marking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 기술은 데이터가 저장되는 다수의 다이들을 포함하는 저장 장치; 및 상기 저장 장치의 동작을 제어하는 메모리 컨트롤러를 포함하고, 상기 다이들은 상기 다이들 각각에 대한 신뢰도 등급 정보를 저장하고, 상기 메모리 컨트롤러는 상기 다이들로부터 상기 신뢰도 등급 정보를 전송받고, 전송받은 상기 신뢰도 등급 정보에 따라 상기 다이들을 관리하기 위한 기준 값들을 설정하고, 상기 기준 값들에 따라 상기 다이들을 각각 관리하는 메모리 시스템 및 이의 동작 방법을 포함한다.

Description

메모리 시스템 및 이의 동작 방법{Memory system and operation method of the same}
본 발명은 메모리 시스템 및 이의 동작 방법에 관한 것으로, 보다 구체적으로는 메모리 시스템에 포함된 다이들(dies)의 특성에 따라 다이들을 각각 다르게 제어하는 메모리 시스템 및 이의 동작 방법에 관한 것이다.
메모리 시스템은 데이터가 저장되는 저장 장치와, 저장 장치를 제어하는 메모리 컨트롤러를 포함할 수 있다. 메모리 컨트롤러는 호스트의 요청(request)에 따라 저장 장치를 제어할 수 있고, 호스트의 요청이 없더라도 저장 장치를 관리하기 위한 내부 동작을 수행할 수 있다.
저장 장치는 다수의 다이들(dies)을 포함할 수 있다.
다수의 다이들이 웨이퍼(wafer)에서 제조되는데, 제조 공정의 특성상 하나의 웨이퍼에서 제조되는 다이들은 웨이퍼의 위치에 따라 전기적 특성이 다를 수 있다. 예를 들면, 제조 공정 시 사용되는 다양한 액체나 가스 등이 웨이퍼의 모든 영역에서 균일한 량으로 사용되는 것이 이상적이지만, 실질적으로는 웨이퍼의 위치에 따라 액체나 가스 등의 사용량에 약간의 차이가 발생할 수 있으며, 액체나 가스의 사용량 외에도 다양한 원인으로 인해 웨이퍼의 위치에 따라 다이들의 전기적 특성이 약간씩 다를 수 있다.
본 발명의 실시예는 다이들의 전기적 특성을 고려하여 메모리 시스템에 포함된 저장 장치를 관리할 수 있는 메모리 시스템 및 이의 동작 방법을 제공한다.
본 발명의 실시예에 따른 메모리 시스템은, 데이터가 저장되는 다수의 다이들을 포함하는 저장 장치; 및 상기 저장 장치의 동작을 제어하는 메모리 컨트롤러를 포함하고, 상기 다이들은 상기 다이들 각각에 대한 신뢰도 등급 정보를 저장하고, 상기 메모리 컨트롤러는 상기 다이들로부터 상기 신뢰도 등급 정보를 전송받고, 전송받은 상기 신뢰도 등급 정보에 따라 상기 다이들을 관리하기 위한 기준 값들을 설정하고, 상기 기준 값들에 따라 상기 다이들을 각각 관리한다.
본 발명의 실시예에 따른 메모리 시스템의 동작 방법은, 데이터가 저장되는 다이들의 제조 공정 시, 상기 다이들에 대한 신뢰도 등급 정보를 상기 다이들중 적어도 하나의 다이에 저장하는 단계; 상기 다이들을 제어하는 메모리 컨트롤러에 상기 다이들 각각에 대한 기준 값으로 리드 카운트 값, 프로그램 카운트 값 및 프리 블록 개수를 저장 및 업데이트하는 단계; 상기 다이들 중 선택된 다이로부터 상기 신뢰도 등급 정보를 수신받고, 상기 신뢰도 등급에 대응되는 상기 기준 값을 선택하는 단계; 및 상기 신뢰도 등급 정보와 선택된 상기 기준 값에 따라 상기 선택된 다이를 관리하기 위한 커맨드들을 생성하는 단계를 포함한다.
본 기술은 메모리 시스템에 포함된 각 다이들의 전기적 특성에 대한 정보를 각 다이에 저장하고, 다이들을 제어하는 메모리 컨트롤러가 각 다이들에 저장된 정보에 따라 각 다이들을 제어함으로써, 메모리 시스템의 신뢰도(reliability)를 개선할 수 있다.
도 1은 다이들(dies)이 형성되는 웨이퍼를 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 3a는 본 발명의 일 실시예에 따른 메모리 컨트롤러를 설명하기 위한 도면이다.
도 3b는 본 발명의 다른 실시예에 따른 메모리 컨트롤러를 설명하기 위한 도면이다.
도 4는 도 3b의 신뢰도 매니저를 설명하기 위한 도면이다.
도 5는 도 2의 다이를 설명하기 위한 도면이다.
도 6은 도 5의 메모리 셀 어레이를 설명하기 위한 도면이다.
도 7은 도 6의 메타 블록에 저장되는 신뢰도 등급 정보를 설명하기 위한 도면이다.
도 8은 신뢰도 등급에 따라 저장 장치를 관리하는 실시예를 설명하기 위한 도면이다.
도 9는 중앙 처리 장치의 동작 방법을 설명하기 위한 도면이다.
도 10은 각 다이에 따라 기준을 각각 적용하여 다이들을 관리하는 실시예를 설명하기 위한 도면이다.
도 11 및 도 12는 신뢰도 등급에 따라 저장 장치를 관리하는 다른 실시예를 설명하기 위한 도면이다.
도 13은 도 2에 도시된 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 14는 도 2에 도시된 메모리 컨트롤러를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 15는 도 2에 도시된 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 16은 도 2에 도시된 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 다이들(dies)이 형성되는 웨이퍼를 설명하기 위한 도면이다.
도 1을 참조하면, 하나의 웨이퍼(wafer; 100)에서 다수의 다이들(DI)이 형성될 수 있다. 다이들의 집적도가 높아지면서 다이들의 사이즈는 감소하게 되고, 이로 인해 웨이퍼(100)에 형성되는 다이들(DI)의 개수도 증가될 수 있다. 하나의 웨이퍼 내에서 다수의 다이들(DI)이 형성되기 때문에, 다이들(DI)이 형성되는 위치에 따라 다이들(DI)의 전기적 특성에 차이가 발생할 수 있다. 웨이퍼(100)의 일부를 확대하면(110) 다수의 다이들(DI)은 스크라이브 래인(scribe lane)을 경계로 하여 형성될 수 있다.
예를 들면, 웨이퍼(100) 상에 다수의 다이들(DI)을 형성하기 위해서 다양한 종류의 액체 및 가스 등이 사용될 수 있으며, 웨이퍼(100) 전체에 연마 등의 공정이 동시에 수행될 수도 있다. 이상적으로는, 웨이퍼에서 제조되는 다이들(DI)에 동일한 제조 공정이 수행되어 모든 다이들(DI)의 전기적 특성이 서로 동일해야 하지만, 실질적인 제조 공정의 특성상 웨이퍼(100) 내의 서로 다른 영역들에 사용되는 액체나 가스 등의 량에 차이가 있을 수 있다. 예를 들면, 웨이퍼(100)의 중앙 영역(100c)에서 액체 및 가스 등이 고르게 사용될 수 있으나, 가장장치 영역(100e)에서는 중앙 영역(100c) 대비 액체 및 가스 등이 불균일하게 사용될 수 있다. 이에 따라, 웨이퍼(100)의 중앙 영역(100c)에 형성되는 다이들(DI)은 가장자리 영역(100e)에 형성되는 다이들(DI)보다 전기적 특성이 좋을 수 있고, 에러율도 더 낮을 수 있다. 예를 들면, 가장자리 영역(100e)에 형성되는 다이들(DI)에서는 서로 분리되어야 하는 라인들이 서로 접하는 등의 결함이 중앙 영역(100c)보다 상대적으로 더 많이 발생할 수 있다.
본 실시예에서는, 각 다이들(DI)의 전기적 특성에 맞추어 다이들(DI)을 관리하는 메모리 시스템이 제공된다.
도 2는 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 2를 참조하면, 메모리 시스템(1000)은 데이터를 저장하는 저장 장치(storage device; 1100)와, 호스트(Host; 2000)의 요청에 따라 저장 장치(1100)를 제어하는 메모리 컨트롤러(memory controller; 1200)를 포함할 수 있다.
호스트(2000)는 USB (Universal Serial Bus), SATA (Serial AT Attachment), SAS (Serial Attached SCSI), HSIC (High Speed Interchip), SCSI (Small Computer System Interface), PCI (Peripheral Component Interconnection), PCIe (PCI express), NVMe (NonVolatile Memory express), UFS (Universal Flash Storage), SD (Secure Digital), MMC (MultiMedia Card), eMMC (embedded MMC), DIMM (Dual In-line Memory Module), RDIMM (Registered DIMM), LRDIMM (Load Reduced DIMM) 등과 같은 다양한 통신 방식들 중 적어도 하나를 이용하여 메모리 시스템(1000)과 통신할 수 있다.
저장 장치(1100)는 다수의 다이들(DI)을 포함할 수 있다. 다이들(DI)은 메모리 컨트롤러(1200)의 제어에 따라 데이터를 저장하거나 데이터를 출력할 수 있다. 도 1에서 상술한 바와 같이, 저장 장치(1100)에 포함된 다이들(DI)의 전기적 특성이 서로 다를 수 있으므로, 다이들(DI) 각각에는 전기적 특성에 따른 신뢰도 등급 정보가 저장될 수 있다. 이러한 신뢰도 등급 정보는 다이들(DI)의 제조 공정 시 각 다이들에 수행되는 테스트 결과에 따라 결정될 수 있으며, 결정된 각 다이들의 신뢰도 등급 정보는 각 다이들(DI)에 저장될 수 있다. 본 실시예에서, 메모리 컨트롤러(1200)는 다이들(DI)에 저장된 신뢰도 등급 정보에 따라 다이들(DI)을 각각 관리할 수 있다. 다이들(DI)은 전원 공급이 차단되면 저장된 데이터가 소멸되는 휘발성 메모리 장치로 이루어지거나, 전원 공급이 차단되더라도 저장된 데이터가 유지되는 비휘발성 메모리 장치로 이루어질 수 있다.
메모리 컨트롤러(1200)는 메모리 시스템(1000)의 동작을 전반적으로 제어하며, 호스트(2000)와 저장 장치(1100) 사이의 데이터 교환을 제어할 수 있다. 메모리 컨트롤러(1200)는 채널(channel; CH)을 통해 저장 장치(1100)에 연결될 수 있으며, 채널(CH)을 통해 커맨드, 어드레스 및 데이터를 전송할 수 있다. 예를 들면, 메모리 컨트롤러(1200)는 호스트(2000)의 요청에 따라 프로그램(program), 리드(read) 또는 소거(erase)하기 위한 커맨드를 채널을 통해 저장 장치(1100)에 전송할 수 있다. 메모리 컨트롤러(1200)는 저장 장치(1100)에 포함된 다이들(DI)로부터 신뢰도 등급 정보를 수신받고, 다이들(DI)의 신뢰도 등급 정보와 싸이클링(cycling) 횟수에 따라 다이들(DI)을 가변적으로 관리할 수 있다.
도 3a는 본 발명의 일 실시예에 따른 메모리 컨트롤러를 설명하기 위한 도면이다.
도 3a를 참조하면, 메모리 컨트롤러(1200)는 호스트(2000)와 저장 장치(1100) 사이에서 통신하기 위하여 내부 메모리(Internal memory; IM; 31), 중앙 처리 장치(Central Processing Unit; CPU; 32), 호스트 인터페이스(Host Interface; 33), 에러 정정 회로(Error Correction Circuit; ECC; 34) 및 메모리 인터페이스(Memory Interface; 35)를 포함할 수 있다.
내부 메모리(31), 중앙 처리 장치(32), 호스트 인터페이스(33), 에러 정정 회로(34) 및 메모리 인터페이스(35)는 버스(bus; 36)를 통해 서로 통신할 수 있다.
내부 메모리(31)는 메모리 시스템(1000)의 동작에 필요한 다양한 시스템 정보들을 저장할 수 있다. 예를 들면, 내부 메모리(31)는 메모리 시스템(1000)의 동작에 필요한 어드레스 정보 등을 저장할 수 있다. 내부 메모리(31)는 SRAM 또는 DRAM 혹은 PCRAM, STT-RAM, ReRAM 등 랜덤 억세스 가능한 메모리로 구현될 수 있다. 예를 들면, 내부 메모리(31)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), DDR4 SDRAM, LPDDR4(Low Power Double Data Rate4) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, LPDDR(Low Power DDR) 또는 RDRAM(Rambus Dynamic Random Access Memory)을 포함할 수 있다.
본 실시예에 따르면, 내부 메모리(31)는 각 다이들(DI)에 대한 신뢰도 정보가 저장 및 업데이트되는 신뢰도 테이블(Reliability Table; R_Table; 31a)을 포함할 수 있다. 신뢰도 테이블(31a)에는 다양한 싸이클링 구간 정보와, 싸이클링 구간 정보에 각각 대응되는 기준 값이 저장될 수 있다. 여기서 싸이클링은 다이(DI)에서 수행되는 소거 및 프로그램 동작이 한 번씩 수행되는 단위를 의미한다. 예를 들면, 하나의 다이(DI)에서 한 번의 소거 동작이 수행되고 한 번의 프로그램 동작이 수행되면, 해당 다이(DI)의 싸이클링 횟수는 ‘1’ 만큼 증가한다. 또한, 신뢰도 테이블(31a)에는 싸이클링 구간 정보 외에도 리드 카운트 값(read count value), 프로그램 카운트 값(program count value) 및 프리 블록 개수(free block number)를 포함한 다양한 정보가 저장될 수 있다.
신뢰도 테이블(31a)에 포함되는 정보의 원본은 다이(DI)에 저장될 수 있으며, 다이(DI)에 저장된 신뢰도 테이블(31a)의 정보는 메모리 시스템(1000)의 부팅 시 내부 메모리(31)로 전송될 수 있다. 내부 메모리(31)에 전송된 신뢰도 테이블(31a)의 정보는 메모리 시스템(1000)이 동작하는 동안 중앙 처리 장치(32)에 의해 업데이트될 수 있다.
중앙 처리 장치(32)는 저장 장치(1100)를 제어하기 위한 각종 연산을 수행하거나, 다양한 커맨드들(commands)을 생성할 수 있다. 예를 들면, 중앙 처리 장치(32)는 호스트(2000)로부터 요청(request)을 수신 받으면, 수신된 요청에 따라 커맨드들을 생성할 수 있다. 또한, 중앙 처리 장치(32)는 호스트(2000)의 요청이 없더라도, 저장 장치(1100)를 관리하기 위한 내부 동작용 커맨드들을 생성할 수 있으며, 생성된 커맨드들에 따라 내부 메모리(31), 호스트 인터페이스 (33), 에러 정정 회로(34) 및 메모리 인터페이스(35)를 제어할 수 있다.
또한, 중앙 처리 장치(32)는 다양한 동작들을 제어할 수 있는 소프트웨어인 펌웨어가 저장되는 펌웨어 메모리(firmware Memory; FM; 32a)를 포함할 수 있다. 또한 펌웨어는 저장 장치(1100) 또는 내부 메모리(31)에도 저장될 수 있다. 본 실시예에 따르면, 펌웨어 메모리(32a)에 저장된 펌웨어는 신뢰도 관리 동작을 수행할 수 있다. 예를 들면, 펌웨어는 각 다이들(도 2의 DI)에 대한 프로그램 동작이나 소거 동작 요청이 있을 때 마다 싸이클링 횟수가 업데이트되도록 신뢰도 테이블(31a)을 제어할 수 있고, 각 다이들(DI)의 신뢰도 등급 정보와 싸이클링 횟수에 따라 각 다이들(DI)을 관리하기 위한 다양한 기준 값들을 설정할 수 있다. 따라서, 중앙 처리 장치(32)는 펌웨어에서 연산된 기준 값에 따라 저장 장치(1100)를 제어하기 위한 커맨드들을 생성할 수 있다. 예를 들면, 중앙 처리 장치(32)는 펌웨어에서 연산된 각 다이들(DI)의 기준 값들에 따라 리드 리클레임, 웨어 레벨링 또는 가비지 컬렉션 등을 실행할 수 있다.
호스트 인터페이스(33)는 메모리 컨트롤러(1200)와 호스트(2000) 사이에서 커맨드, 어드레스 및 데이터 등을 주고받을 수 있다. 호스트 인터페이스(33)는 PCIe(Peripheral Component Interconnect Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), SAS(serial attached SCSI) 또는 NVMe(Non-Volatile Memory Express)와 같은 프로토콜을 사용하여 호스트(2000)와 통신할 수 있다. 호스트 인터페이스(33)는 상술한 예에 한정되지 않으며, USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스들을 포함할 수 있다.
에러 정정 회로(34)는 프로그램 동작 시 호스트(도 2의 2000)로부터 수신된 데이터를 인코딩(encoding)할 수 있고, 리드 동작 시 저장 장치(1100)로부터 수신된 데이터를 디코딩(decoding)할 수 있다. 또한, 에러 정정 회로(34)는 리드 동작 시 리드된 데이터로부터 검출된 에러 비트 수가 허용 비트 수보다 많으면 페일(fail) 신호를 출력할 수 있고, 검출된 에러 비트 수가 허용 비트 수보다 적으면 검출된 에러 비트를 보정할 수 있다.
메모리 인터페이스(35)는 메모리 컨트롤러(1200)와 저장 장치(1100) 사이에서 커맨드, 어드레스 및 데이터 등을 주고받을 수 있다. 예를 들면, 메모리 인터페이스(35)는 채널(channel)을 통해 저장 장치(1100)에 커맨드, 어드레스 및 데이터 등을 전송할 수 있고, 저장 장치(1100)로부터 데이터 등을 수신 받을 수 있다.
도 3b는 본 발명의 다른 실시예에 따른 메모리 컨트롤러를 설명하기 위한 도면이다.
도 3b를 참조하면, 신뢰도 관리 동작 및 신뢰도 정보를 저장 및 업데이트하는 동작을 수행하는 하드웨어로써 신뢰도 매니저(Reliability Manager; 37)를 별도로 포함할 수 있다. 즉, 도 3a에서 상술한 펌웨어의 일부 기능인 신뢰도 관리 동작과, 내부 메모리(31)에 저장되는 신뢰도 정보의 저장 및 업데이트 기능을 신뢰도 매니저(37)가 수행할 수 있다. 도 3b에서는 도 3a와 중복되는 장치들(31~36)에 대한 설명은 생략하고, 신뢰도 매니저(37)에 대하여 설명하도록 한다.
신뢰도 매니저(37)는 각 다이들(도 2의 DI)로부터 신뢰도 등급 정보를 수신받고, 각 다이들(DI)에 대한 프로그램 동작이나 소거 동작 요청이 있을 때 마다 그 횟수를 업데이트 할 수 있다. 예를 들면, 신뢰도 매니저(37)는 각 다이들(DI)에서 수행되는 소거 및 프로그램 동작의 싸이클링 횟수를 업데이트할 수 있다. 또한, 신뢰도 매니저(37)는 싸이클링 횟수 외에도 리드 카운트 값, 프로그램 카운트 값 및 프리 블록 개수 등을 포함한 다양한 정보를 저장 및 업데이트할 수 있다.
신뢰도 매니저(37)는 신뢰도 등급 정보와 싸이클링 횟수, 리드 카운트 값, 프로그램 카운트 값 및 프리 블록 개수 등의 정보를 기준 값들로 사용하여 리드 리클레임(read reclaim), 웨어 레벨링(wear leveling) 및 가비지 컬렉션(garbage collection) 등을 실행할 수 있다.
리드 리클레임은 다이(DI)에서 수행된 리드 동작 횟수가 미리 설정된 횟수에 도달한 경우, 다이(DI)에 저장된 데이터의 신뢰도가 저하되는 현상을 방지하기 위하여, 동일한 다이에 포함된 메모리 블록들 사이에서 데이터를 카피하는 동작을 의미한다. 웨어 레벨링은 프로그램 동작이 특정 다이 또는 블록에 과도하게 수행되지 않도록 어드레스를 분산 시키는 동작을 의미한다. 가비지 컬렉션은 프리 블록의 개수가 설정된 개수보다 적어지는 경우, 유효 페이지들을 특정 블록으로 카피하여 모으고, 카피된 유효 페이지들이 포함되었던 기존 블록들을 소거함으로써 프리 블록들의 개수를 증가시키는 동작을 의미한다.
따라서, 리드 리클레임을 실행하기 위한 기준 값은 다이(DI)에 수행된 리드 동작의 횟수일 수 있고, 웨어 레벨링을 실행하기 위한 기준 값은 다이에 수행된 프로그램 동작의 횟수일 수 있으며, 가비지 컬렉션을 실행하기 위한 기준 값은 프리 블록의 개수일 수 있다.
신뢰도 매니저(37)는 신뢰도 등급 정보와 다양한 정보에 따라 리드 리클레임, 웨어 레벨링 또는 가비지 컬렉션을 실행하기 위한 기준 값들을 각 다이(DI) 별로 다르게 관리할 수 있다.
도 4는 도 3의 신뢰도 매니저를 설명하기 위한 도면이다.
도 4를 참조하면, 신뢰도 매니저(37)는 신뢰도 테이블(Reliability Table; 37a) 및 설정 값 컨트롤러(Set Value Controller; 37b)를 포함할 수 있다.
신뢰도 테이블(37a)에는 신뢰도 등급 정보에 따른 다양한 싸이클링 구간 정보와, 싸이클링 구간 정보에 각각 대응되는 기준 값이 저장될 수 있다. 여기서, 기준 값은 리드 리클레임 기준 값일 수 있다. 예를 들면, 리드 리클레임 기준 값은 리드 리클레임 동작이 수행되는 리드 카운트 값일 수 있다. 리드 카운트 값 외에도, 기준 값은 상술한 바와 같이 프로그램 카운트 값 및 프리 블록 개수를 포함할 수 있다. 이하 설명에서는 리드 리클레임 기준 값을 실시예로써 설명하도록 하지만, 웨어 레벨링 기준 값 또는 가비지 컬렉션 기준 값의 설정에도 적용될 수 있다. 또한, 상술한 실시예 외에도, 기준 값은 저장 장치(1100)를 관리하는 다양한 내부 동작들의 실행 시기에 대한 값일 수 있다.
설정 값 컨트롤러(37b)는 신뢰도 관리 동작을 수행할 수 있다. 예를 들면, 설정 값 컨트롤러(37b)는 선택된 다이(DI)로부터 신뢰도 등급 정보를 수신 받고, 신뢰도 등급 정보에 대응되는 선택된 다이(DI)의 내부 동작을 수행하기 위한 기준 값을 선택할 수 있다. 예를 들면, 설정 값 컨트롤러(37b)는 선택된 다이(DI)의 싸이클링 구간들 중에서 현재 싸이클링 횟수가 포함된 구간에 대응되는 기준 값을 선택할 수 있다. 설정 값 컨트롤러(37b)는 중앙 처리 장치(32)의 제어에 따라 동작할 수 있다. 예를 들면, 설정 값 컨트롤러(37b)는 중앙 처리 장치(32)로부터 신뢰도 관리 신호가 인에이블되면 신뢰도 관리 동작을 수행할 수 있다.
설정 값 컨트롤러(37b)의 제어에 따라 신뢰도 테이블(37a)에서 선택된 기준 값은 중앙 처리 장치(32)로 전송되고, 중앙 처리 장치(32)는 수신된 기준 값에 따라 내부 동작을 수행할지를 결정할 수 있고, 내부 동작을 수행해야 하는 경우에는 내부 동작에 필요한 커맨드들을 생성할 수 있다.
도 5는 도 2의 다이를 설명하기 위한 도면이다.
데이터가 저장되는 다이들(DI)은 서로 동일한 구조로 구성될 수 있으므로, 도 5에서는 어느 하나의 다이(DI)를 예를 들어 설명하도록 한다.
도 5를 참조하면, 다이(DI)는 휘발성 메모리 또는 불휘발성 메모리를 포함하는 어떠한 저장 매체로든 구현될 수 있다. 예를 들어, 다이(DI)가 휘발성 메모리 장치로 구현되는 경우, 메모리 장치는 DRAM(Dynamic random access memory), SRAM(Static random access memory), TRAM(Thyristor RAM), Z-RAM(Zero capacitor RAM), TTRAM(Twin transistor RAM), MRAM(Magnetoresistive RAM), UDIMM(Unbuffered Dual In-Line Memory Module), RDIMM(Registered DIMM), LRDIMM(Load Reduced DIMM), NVDIMM(Non Volatile DIMM) 등을 포함할 수 있다. 다이(DI)가 불휘발성 메모리 장치로 구현되는 경우, 메모리 장치는 EPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(Flash) 메모리, MRAM(Magnetic RAM), 스핀-전달 토크 MRAM (Spin-Transfer Torque MRAM), Conductive bridging RAM(CBRAM), FeRAM (Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM: RRAM), 나노튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM: PoRAM), 나노 부유 게이트 메모리(Nano Floating Gate Memory: NFGM), 홀로그래픽 메모리 (Holographic Memory), 분자 전자 메모리(Molecular Electronics Memory), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)를 포함할 수 있다.
상술한 다이(DI)는 메모리 컨트롤러(1200)에서 출력되는 커맨드들에 응답하여 다양한 동작을 수행할 수 있다. 이를 위해, 다이(DI)는 데이터가 저장되는 메모리 셀 어레이(Memory Cell Array; 1110), 주변 회로들(Peripheral Circuits; 1120) 및 제어 로직(Control Logic; 1130)을 포함할 수 있다.
메모리 셀 어레이(1110)는 데이터가 저장되는 다수의 메모리 셀들을 포함할 수 있다. 예를 들면, 메모리 셀 어레이(1110)는 다수의 메모리 블록들을 포함할 수 있고, 메모리 블록들 각각에 다수의 메모리 셀들이 포함될 수 있다. 메모리 블록들 중 일부 메모리 블록에는 다이(DI)의 신뢰도 등급 정보가 저장될 수 있다. 보다 구체적으로 설명하면, 메모리 블록이 포함된 다이(DI)의 신뢰도 등급 정보가 해당 다이(DI)의 일부 메모리 블록에 저장될 수 있다.
주변 회로들(1120)은 전압 생성부(Voltage Generator; 51), 로우 디코더(Row Decoder; 52), 컬럼 디코더(Column Decoder; 53) 및 입출력 회로(Input/Output Circuit; 54)를 포함할 수 있다.
전압 생성부(51)는 제어 로직(1130)에서 출력되는 전압 생성 코드(C_vol)에 따라 다양한 레벨을 가지는 동작 전압들(Vop)을 생성 및 출력할 수 있다. 예를 들면, 전압 생성부(51)는 프로그램 전압, 리드 전압, 소거 전압, 패스 전압 등을 동작 전압들(Vop)로써 출력할 수 있다.
로우 디코더(52)는 제어 로직(1130)에서 출력되는 로우 어드레스(RADD)에 응답하여, 선택된 메모리 블록에 동작 전압들(Vop)을 전달할 수 있다.
컬럼 디코더(53)는 제어 로직(1130)에서 출력되는 컬럼 어드레스(CADD)에 응답하여, 메모리 셀 어레이(1110)에 연결된 비트라인들(BL)과 데이터를 주고받을 수 있다.
입출력 회로(54)는 입출력 라인들(IO)을 통해 메모리 컨트롤러(1200)에 연결되어 커맨드(CMD) 및 어드레스(ADD)를 수신 받을 수 있고, 데이터(DATA)를 입출력 할 수 있다. 예를 들면, 입출력 회로(54)는 메모리 컨트롤러(1200)로부터 커맨드(CMD) 및 어드레스(ADD)를 수신 받고, 이를 제어 로직(1130)으로 전달할 수 있다. 또한, 입출력 회로(54)는 메모리 컨트롤러(1200)로부터 수신된 데이터(DATA)를 컬럼 라인들(CL)을 통해 컬럼 디코더(53)로 전송하거나, 컬럼 라인들(CL)을 통해 수신된 데이터(DATA)를 입출력 라인들(IO)을 통해 메모리 컨트롤러(1200)로 출력할 수 있다. 예를 들면, 일부 메모리 블록에 저장된 신뢰도 등급 정보가 데이터(DATA)로써 메모리 컨트롤러(1200)에 출력될 수 있다.
상술한 장치들의 신뢰도 관리 동작을 도 6 내지 도 9를 참조하여 설명하면 다음과 같다.
도 6은 도 5의 메모리 셀 어레이를 설명하기 위한 도면이다.
도 6을 참조하면, 메모리 셀 어레이(1110)에는 신뢰도 등급 정보(REL_GR#)가 저장될 수 있으며, 메모리 셀 어레이(1110)에 저장된 신뢰도 등급 정보(REL_GR#)는 메모리 컨트롤러(도 2의 1200)의 요청에 따라 메모리 컨트롤러(1200)로 전송될 수 있다. 신뢰도 등급 정보(REL_GR#)는 메모리 셀 어레이(1110)가 포함된 다이(DI)의 신뢰도 등급에 대한 정보일 수 있으며, 다이(DI)의 제조 공정 이후에 제1 내지 제j 메모리 블록들(MB1~MBj) 중 어느 하나의 메모리 블록에 저장될 수 있다. 신뢰도 등급 정보(REL_GR#)가 저장되는 메모리 셀 어레이(1110)를 구체적으로 설명하면 다음과 같다.
메모리 셀 어레이(1110)는 다수의 플래인들(planes; PL1~PLi; i는 양의 정수)을 포함할 수 있다. 예를 들면, 제1 내지 제i 플래인들(PL1~PLi)은 주변 회로들(1120)의 제어에 따라 각각 개별적으로 데이터를 저장할 수 있다.
제1 내지 제i 플래인들(PL1~PLi) 각각은 제1 내지 제j 메모리 블록들(MB1~MBj)을 포함할 수 있다. 제1 내지 제j 메모리 블록들(MB1~MBj)에는 다수의 메모리 셀들이 포함될 수 있다. 제1 내지 제j 메모리 블록들(MB1~MBj) 중 일부는 사용자 데이터(User DATA)가 저장되는 사용자 블록(User Block; USB)으로 사용될 수 있고, 다른 일부는 시스템 데이터(System DATA)가 저장되는 메타 블록(Meta Block; MTB)으로 사용될 수 있다.
메타 블록(MTB)에는 어드레스 정보와 같은 다양한 시스템 데이터가 저장될 수 있으며, 이 외에도 신뢰도 등급 정보(REL_GR#)가 저장될 수 있다. 또한, 메타 블록(MTB)은 CAM(Content Addressable Memory) 블록을 포함할 수 있으며, 신뢰도 등급 정보(REL_GR#)는 이러한 CAM 블록에 저장될 수도 있다. CAM 블록은 데이터를 유지하는 메모리 본래의 저장 기능 이외에, 외부로부터 입력된 데이터와 내부에 유지하고 있는 데이터와의 일치를 검출하는 비교 기능을 갖고 있으며, 어드레스 변환용 테이블을 저장하는 용도로도 사용될 수 있다.
도 7은 도 6의 메타 블록에 저장되는 신뢰도 등급 정보를 설명하기 위한 도면이다.
도 7을 참조하면, 신뢰도 등급 정보(REL_GR#)는 각 다이들(DI)의 제조 공정 이후에 수행되는 테스트 동작의 결과에 따라 저장되거나, 웨이퍼 내에서 다이들(DI)의 위치에 따라 저장될 수 있다.
신뢰도 등급 정보(REL_GR#)가 테스트 동작에 따라 저장되는 경우, 테스트 프로그램, 테스트 리드 및 테스트 소거 등의 다양한 테스트 동작들이 수행될 수 있다. 신뢰도 등급 정보(REL_GR#)는 이러한 테스트 동작 시 검출되는 에러 비트의 수에 따라 결정될 수 있다. 예를 들어, 에러 비트의 수가 적을수록 등급이 낮게(1에 가까운 등급) 부여될 수 있고, 에러 비트의 수가 많을수록 등급이 높게(A에 가까운 등급; A는 양의 정수) 부여될 수 있다.
신뢰도 등급 정보(REL_GR#)가 웨이퍼 내에서 다이들(DI)의 위치에 따라 저장되는 경우, 다이(DI)의 위치가 웨이퍼의 중앙에 가까울수록 등급이 낮게(1에 가까운 등급) 부여될 수 있고, 웨이퍼의 가장자리에 가까울수록 등급이 높게(A에 가까운 등급) 부여될 수 있다.
예를 들면, 다이들의 신뢰도에 따라 제1 다이의 메타 블록(MTB)에는 ‘1’의 신뢰도 등급(REL_GR)이 부여될 수 있고, 제2 다이의 메타 블록(MTB)에는 ‘3’의 신뢰도 등급(REL_GR)이 부여될 수 있다.
상술한 실시예에서는 신뢰도가 높을수록 신뢰도 등급 정보(REL_GR#)를 낮게 부여하고, 신뢰도가 낮을수록 신뢰도 등급 정보(REL_GR#)를 높게 부여하였으나, 이와 반대로 등급이 부여될 수도 있다.
메타 블록(MTB)에 저장된 신뢰도 등급 정보(REL_GR#)는 메모리 컨트롤러(1200)가 신뢰도 관리 동작을 수행할 경우 메모리 컨트롤러(1200)로 출력될 수 있다. 메모리 컨트롤러(1200)는 수신된 신뢰도 등급 정보(REL_GR#)와 각 다이의 현재 싸이클링 횟수를 신뢰도 테이블(도 3a의 31a 또는 도 4의 37a)에 대응시키고, 신뢰도 테이블(31a 또는 37a)에서 선택된 기준 값에 따라 저장 장치(1100)를 제어하기 위한 커맨드들을 생성할 수 있다.
신뢰도 테이블(31a 또는 37a)에서 기준 값을 선택하는 방법을 설명하면 다음과 같다.
도 8은 신뢰도 등급에 따라 저장 장치를 관리하는 실시예를 설명하기 위한 도면이다.
도 8을 참조하면, 메모리 컨트롤러(1200)의 신뢰도 테이블(도 3a의 31a 또는 도 4의 37a)에는 다양한 싸이클링 구간 정보(EWC)와, 싸이클링 구간 정보(EWC)에 각각 대응되는 기준 값(RR)이 저장될 수 있다. 도 8에서는 본 실시예의 이해를 돕기 위하여, 리드 리클레임(read reclaim)을 예를 들어 설명하도록 한다.
싸이클링 구간 정보(EWC)는 각 메모리 블록들에서 수행된 소거(erase) 및 쓰기(write) 동작의 횟수일 수 있다. 기준 값(RR)은 각각의 싸이클링 구간 정보(EWC)에 대응되어 서로 다르게 설정될 수 있다. 따라서, 설정 값 컨트롤러(도 4의 37b)는 다이들(DI)의 동작이 진행될수록, 각 다이들(DI)의 싸이클링 구간이 신뢰도 테이블(31a 또는 37a)의 어디에 해당되는지 싸이클링 구간 정보(EWC)를 지속적으로 업데이트(81)할 수 있다.
즉, 선택된 다이의 신뢰도 등급 정보(REL_GR#)와 싸이클링 구간 정보(EWC)에 따라 기준 값(RR)이 결정될 수 있고, 결정된 기준 값(RR)에 따라 리드 리클레임이 수행될 수 있다. 선택된 다이의 신뢰도 등급 정보(REL_GR#)는 고정된 정보일 수 있고, 싸이클링 구간 정보(EWC)는 다이(DI)의 동작에 따라 가변되므로, 리드 리클레임 동작을 수행하기 위한 기준 값(RR)도 신뢰도 등급 정보(REL_GR#)와 싸이클링 구간 정보(EWC)에 따라 가변될 수 있다.
예를 들면, 선택된 다이(DI)로부터 수신된 신뢰도 등급 정보(REL_GR#)가 ‘1’이고, 선택된 다이(DI)에 포함된 메모리 블록들 중 선택된 메모리 블록의 싸이클링 구간 정보(EWC)가 0.4k~3k 라면, 선택된 메모리 블록의 리드 리클레임 동작의 기준 값(RR)은 350k로 설정될 수 있다. 즉, 선택된 다이(DI)의 선택된 메모리 블록에서 리드 동작이 기준 값(RR)에 해당되는 350k 번 수행되면 선택된 메모리 블록의 리드 리클레임 동작이 수행될 수 있다. 여기서, 단위 ‘k’는 1000 회를 의미한다. 따라서, 선택된 다이(DI)에서도 메모리 블록들마다 기준 값(RR)이 다를 수 있다. 다만, 선택된 다이(DI)에 포함된 메모리 블록들의 신뢰도 등급 정보(REL_GR#)는 서로 동일하므로, 메모리 블록들 각각의 싸이클링 구간 정보(EWC)에 따라 기준 값(RR)이 다르게 설정될 수 있다. 설정 값 컨트롤러(37b)는 신뢰도 테이블(31a 또는 37a)에서 설정된 기준 값(RR)을 중앙 처리 장치로 출력할 수 있다(82).
또 다른 예로, 서로 다른 다이들(DI) 각각에 포함된 메모리 블록들의 싸이클링 구간 정보(EWC)가 서로 동일하더라도, 다이들(DI)의 신뢰도 등급 정보(REL_GR#)가 서로 다르면 기준 값(RR)도 서로 다를 수 있다. 예를 들면, 제1 다이의 선택된 메모리 블록과 제2 다이의 선택된 메모리 블록의 싸이클링 구간 정보(EWC)가 6.1k~9k로 서로 동일하더라도, 제1 다이의 신뢰도 등급 정보(REL_GR#)가 ‘1’이면 제1 다이의 선택된 메모리 블록의 기준 값(RR)은 250k로 설정될 수 있지만, 제2 다이의 신뢰도 등급 정보(REL_GR#)가 ‘2’이면 제2 다이의 선택된 메모리 블록의 기준 값(RR)은 200k로 설정될 수 있다. 도 8에서 ‘A’는 2 보다 큰 양의 정수일 수 있고, ‘BB’는 45보다 작은 양의 정수일 수 있다.
이처럼, 신뢰도 테이블(31a 또는 37a)에 저장되는 싸이클링 구간 정보(EWC) 및 기준 값(RR)은 메모리 시스템(1000)에 따라 다를 수 있다.
도 9는 중앙 처리 장치의 동작 방법을 설명하기 위한 도면이다.
도 9를 참조하면, 중앙 처리 장치(32)는 선택된 다이의 선택된 메모리 블록의 싸이클링 구간 정보를 신뢰도 테이블(31a 또는 37a)에 전송할 수 있고, 신뢰도 테이블(31a 또는 37a)로부터 출력된 기준 값(RR)에 따라 커맨드(CMD)를 생성할 수 있다. 예를 들면, 중앙 처리 장치(32)는 메모리 시스템(1000)의 내부 동작 시, 기준 값(RR)에 따라 선택된 메모리 블록의 리드 리클레임 동작을 위한 커맨드(CMD)를 생성하고 출력할 수 있다.
도 10은 각 다이에 따라 기준을 각각 적용하여 다이들을 관리하는 실시예를 설명하기 위한 도면이다.
도 10을 참조하면, 도 1 내지 도 9에서 상술한 실시예에 따라, 다이 별로(DI1~DI4) 신뢰도 등급 정보(REL_GR#) 및 싸이클링 구간 정보(EWC)에 따라 기준 값들(RR1~RR4)이 다르게 설정될 수 있다. 따라서, 중앙 처리 장치(32)는 다이들(DI1~DI4)과 각 다이에 포함된 메모리 블록들의 리드 리클레임 동작을 다른 기준 값들(RR1~RR4)에 따라 서로 다르게 관리할 수 있다.
도 11 및 도 12는 신뢰도 등급에 따라 저장 장치를 관리하는 다른 실시예를 설명하기 위한 도면으로써, 도 11은 신뢰도 등급에 따른 웨어 레벨링 관리 방법에 관한 실시예를 나타내고, 도 12는 신뢰도 등급에 따른 가비지 컬렉션 관리 방법에 관한 실시예를 나타낸다.
도 11을 참조하면, 웨어 레벨링은 각 다이들의 신뢰도 등급 정보(REL_GR#)와 프로그램 카운트 값(PGM_C)에 따라 실행될 수 있다. 예를 들면, 다이의 신뢰도 등급이 높을수록(REL_GR 값이 낮을수록 신뢰도 등급이 높음) 프로그램 동작 시 더 자주 선택되도록 웨어 레벨링을 조절할 수 있다. 예를 들어, 제1 다이(DI1)의 신뢰도 등급(REL_GR#)은 1등급이고 현재 프로그램 카운트 값이 C1이고, 제2 다이(DI2)의 신뢰도 등급(REL_GR#)은 2등급이고 현재 프로그램 카운트 값이 C4라고 가정한다. C1과 C4가 서로 동일한 값인 경우, 프로그램 동작 시 제2 다이(DI2)보다 제1 다이(DI1)가 우선적으로 선택될 수 있다. 만약, C1이 C4보다 큰 값인 경우, 프로그램 동작 시 제1 다이(DI1)보다 제2 다이(DI2)가 우선적으로 선택될 수 있다. 이는 일 실시예에 해당되므로, 신뢰도 등급(REL_GR#)과 각 다이의 프로그램 카운트 값을 다양한 방식으로 비교하여 프로그램 동작 시 다이를 선택할 수 있다.
도 12를 참조하면, 가비지 컬렉션은 각 다이들의 신뢰도 등급 정보(REL_GR#)와 프리 블록 개수(free block number; FBN)에 따라 실행될 수 있다. 예를 들면, 신뢰도가 제1 등급인 다이들(DI1, DI3, DI4)에서는 프리 블록 개수(FBN)가 2개 또는 이보다 적은 경우에 가비지 컬렉션이 실행될 수 있고, 신뢰도가 제2 등급인 다이들(DI2, DI5, DI6)에서는 프리 블록 개수(FBN)가 4개 또는 이보다 적은 경우에 가비지 컬렉션이 실행될 수 있으며, 신뢰도가 제3 등급인 다이들(DI8, DI12, DI14)에서는 프리 블록 개수(FBN)가 6개 또는 이보다 적은 경우에 가비지 컬렉션이 실행될 수 있다. 즉, 신뢰도 등급이 좋을수록 프리 블록 개수의 기준 값이 낮고, 신뢰도 등급이 나쁠수록 프리 블록 개수의 기준 값이 높을 수 있다. 따라서, 신뢰도 등급이 나쁜 블록일수록 가비지 컬렉션이 자주 수행될 수 있다.
도 13은 도 2에 도시된 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 13을 참조하면, 메모리 시스템(Memory System; 30000)은 이동 전화기(cellular phone), 스마트폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant) 또는 무선 통신 장치로 구현될 수 있다. 메모리 시스템(30000)은 저장 장치(1100)와 상기 저장 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)를 포함할 수 있다. 메모리 컨트롤러(1200)는 프로세서(Processor; 3100)의 제어에 따라 저장 장치(1100)의 데이터 액세스 동작, 예컨대 프로그램(program) 동작, 소거(erase) 동작 또는 리드(read) 동작 등을 제어할 수 있다.
저장 장치(1100)에 프로그램된 데이터는 메모리 컨트롤러(1200)의 제어에 따라 디스플레이(Display; 3200)를 통하여 출력될 수 있다.
무선 송수신기(RADIO TRANSCEIVER; 3300)는 안테나(ANT)를 통하여 무선 신호를 주고받을 수 있다. 예컨대, 무선 송수신기(3300)는 안테나(ANT)를 통하여 수신된 무선 신호를 프로세서(3100)에서 처리(process)될 수 있는 신호로 변경할 수 있다. 따라서, 프로세서(3100)는 무선 송수신기(3300)로부터 출력된 신호를 처리(process)하고 처리(process)된 신호를 메모리 컨트롤러(1200) 또는 디스플레이(3200)로 전송할 수 있다. 메모리 컨트롤러(1200)는 프로세서(3100)에 의하여 처리(process)된 신호를 저장 장치(1100)에 전송할 수 있다. 또한, 무선 송수신기(3300)는 프로세서(3100)로부터 출력된 신호를 무선 신호로 변경하고 변경된 무선 신호를 안테나(ANT)를 통하여 외부 장치로 출력할 수 있다. 입력 장치(Input Device; 3400)는 프로세서(3100)의 동작을 제어하기 위한 제어 신호 또는 프로세서(3100)에 의하여 처리(process)될 데이터를 입력할 수 있는 장치로서, 터치 패드(touch pad)와 컴퓨터 마우스(computer mouse)와 같은 포인팅 장치(pointing device), 키패드(keypad) 또는 키보드로 구현될 수 있다. 프로세서(3100)는 메모리 컨트롤러(1200)로부터 출력된 데이터, 무선 송수신기(3300)로부터 출력된 데이터, 또는 입력 장치(3400)로부터 출력된 데이터가 디스플레이(3200)를 통하여 출력될 수 있도록 디스플레이(3200)의 동작을 제어할 수 있다.
실시 예에 따라, 저장 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)는 프로세서(3100)의 일부로서 구현될 수 있고 또한 프로세서(3100)와 별도의 칩으로 구현될 수 있다.
도 14는 도 2에 도시된 메모리 컨트롤러를 포함하는 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 14를 참조하면, 메모리 시스템(Memory System; 40000)은 PC(personal computer), 태블릿(tablet) PC, 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어로 구현될 수 있다.
메모리 시스템(40000)은 저장 장치(1100)와 상기 저장 장치(1100)의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(1200)를 포함할 수 있다.
프로세서(Processor; 4100)는 입력 장치(Input Device; 4200)를 통하여 입력된 데이터에 따라 저장 장치(1100)에 저장된 데이터를 디스플레이(Display; 4300)를 통하여 출력할 수 있다. 예컨대, 입력 장치(4200)는 터치 패드 또는 컴퓨터 마우스와 같은 포인팅 장치, 키패드, 또는 키보드로 구현될 수 있다.
프로세서(4100)는 메모리 시스템(40000)의 전반적인 동작을 제어할 수 있고 메모리 컨트롤러(1200)의 동작을 제어할 수 있다. 실시 예에 따라 저장 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)는 프로세서(4100)의 일부로서 구현되거나, 프로세서(4100)와 별도의 칩으로 구현될 수 있다.
도 15는 도 2에 도시된 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 15를 참조하면, 메모리 시스템(50000)은 이미지 처리 장치, 예컨대 디지털 카메라, 디지털 카메라가 부착된 이동 전화기, 디지털 카메라가 부착된 스마트 폰, 또는 디지털 카메라가 부착된 태블릿 PC로 구현될 수 있다.
메모리 시스템(50000)은 저장 장치(1100)와 상기 저장 장치(1100)의 데이터 처리 동작, 예컨대 프로그램 동작, 소거 동작 또는 리드 동작을 제어할 수 있는 메모리 컨트롤러(1200)를 포함한다.
메모리 시스템(50000)의 이미지 센서(Image Sensor; 5200)는 광학 이미지를 디지털 신호들로 변환할 수 있고, 변환된 디지털 신호들은 프로세서(Processor; 5100) 또는 메모리 컨트롤러(1200)로 전송될 수 있다. 프로세서(5100)의 제어에 따라, 상기 변환된 디지털 신호들은 디스플레이(Display; 5300)를 통하여 출력되거나 메모리 컨트롤러(1200)를 통하여 저장 장치(1100)에 저장될 수 있다. 또한, 저장 장치(1100)에 저장된 데이터는 프로세서(5100) 또는 메모리 컨트롤러(1200)의 제어에 따라 디스플레이(5300)를 통하여 출력될 수 있다.
실시 예에 따라 저장 장치(1100)의 동작을 제어할 수 있는 메모리 컨트롤러(1200)는 프로세서(5100)의 일부로서 구현되거나 프로세서(5100)와 별개의 칩으로 구현될 수 있다.
도 16은 도 2에 도시된 메모리 시스템의 다른 실시 예를 설명하기 위한 도면이다.
도 16을 참조하면, 메모리 시스템(Memory System; 70000)은 메모리 카드(memory card) 또는 스마트 카드(smart card)로 구현될 수 있다. 메모리 시스템(70000)은 저장 장치(1100), 메모리 컨트롤러(1200) 및 카드 인터페이스(Card Interface; 7100)를 포함할 수 있다.
메모리 컨트롤러(1200)는 저장 장치(1100)와 카드 인터페이스(7100) 사이에서 데이터의 교환을 제어할 수 있다. 실시 예에 따라, 카드 인터페이스(7100)는 SD(secure digital) 카드 인터페이스 또는 MMC(multi-media card) 인터페이스일 수 있으나 이에 한정되는 것은 아니다.
카드 인터페이스(7100)는 호스트(HOST; 60000)의 프로토콜에 따라 호스트(60000)와 메모리 컨트롤러(1200) 사이에서 데이터 교환을 인터페이스할 수 있다. 실시 예에 따라 카드 인터페이스(7100)는 USB(Universal Serial Bus) 프로토콜, IC(InterChip)-USB 프로토콜을 지원할 수 있다. 여기서, 카드 인터페이스(7100)는 호스트(60000)가 사용하는 프로토콜을 지원할 수 있는 하드웨어, 상기 하드웨어에 탑재된 소프트웨어 또는 신호 전송 방식을 의미할 수 있다.
메모리 시스템(70000)이 PC, 태블릿 PC, 디지털 카메라, 디지털 오디오 플레이어, 이동 전화기, 콘솔 비디오 게임 하드웨어, 또는 디지털 셋-탑 박스와 같은 호스트(60000)의 호스트 인터페이스(6200)와 접속될 때, 호스트 인터페이스(6200)는 마이크로프로세서(Microprocessor; μP; 6100)의 제어에 따라 카드 인터페이스(7100)와 메모리 컨트롤러(1200)를 통하여 저장 장치(1100)와 데이터 통신을 수행할 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 웨이퍼 100c: 중앙 영역
100e: 가장자리 영역 1000: 메모리 시스템
1100: 저장 장치 1200: 메모리 컨트롤러
31: 내부 메모리 32: 중앙 처리 장치
33: 호스트 인터페이스 34: 에러 정정 회로
35: 메모리 인터페이스 37: 신뢰도 매니저
31a, 37a: 신뢰도 테이블 37b: 설정 값 컨트롤러
REL_GR#: 신뢰도 등급 정보 EWC: 싸이클링 구간 정보
RR: 기준 값

Claims (21)

  1. 데이터가 저장되는 다수의 다이들을 포함하는 저장 장치; 및
    상기 저장 장치의 동작을 제어하는 메모리 컨트롤러를 포함하고,
    상기 다이들 중 적어도 하나의 다이는 상기 다이들 각각에 대한 신뢰도 등급 정보를 저장하고,
    상기 메모리 컨트롤러는,
    상기 신뢰도 등급 정보와, 상기 신뢰도 등급 정보에 각각 대응되는 기준 값들이 저장된 신뢰도 테이블;
    상기 적어도 하나의 다이로부터 상기 신뢰도 등급 정보를 전송받고, 전송받은 상기 신뢰도 등급 정보를 이용하여 상기 신뢰도 테이블로부터 상기 다이들을 관리하기 위한 상기 기준 값들을 선택하는 설정 값 컨트롤러; 및
    선택된 상기 기준 값들에 따라 상기 다이들을 각각 관리하는 중앙 처리 장치;를 포함하는 메모리 시스템.
  2. ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 신뢰도 등급 정보는, 상기 다이들의 제조 공정 시 수행되는 테스트 동작의 결과에 따라 결정되거나, 웨이퍼 내에서 상기 다이들의 위치에 따라 결정되는 메모리 시스템.
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서, 상기 다이들은,
    각각 상기 다이들 각각에 대한 상기 신뢰도 등급 정보를 저장하는 메모리 시스템.
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제2항에 있어서,
    상기 신뢰도 등급 정보가 상기 테스트 동작에 따라 결정되는 경우,
    상기 신뢰도 등급 정보는 상기 테스트 동작에서 검출되는 에러 비트의 수에 따라 결정되는 메모리 시스템.
  5. 삭제
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제2항에 있어서,
    상기 신뢰도 등급 정보가 상기 웨이퍼 내에서 다이들의 위치에 따라 저장되는 경우,
    상기 신뢰도 등급 정보는 상기 웨이퍼에서 제조된 상기 다이들의 위치에 따라 결정되는 메모리 시스템.
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 기준 값을 리드 카운트 값으로 하여 리드 리클레임(read reclaim)이 실행되거나,
    상기 기준 값을 프로그램 카운트 값으로 하여 웨어 레벨링(wear leveling)이 실행되거나,
    상기 기준 값을 프리 블록 개수로 하여 가비지 컬렉션(garbage collection)이 실행되는 메모리 시스템.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제7항에 있어서,
    상기 리드 리클레임의 상기 기준 값은 상기 신뢰도 등급 정보에 따른 다이의 신뢰도가 높을수록 높게 설정되는 메모리 시스템.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제7항에 있어서,
    상기 신뢰도 등급 정보가 서로 다른 다이들에서 상기 기준 값이 서로 동일한 경우, 상기 웨어 레벨링은 상기 서로 다른 다이들 중 상기 신뢰도 등급 정보에 따라 상대적으로 높은 신뢰도를 갖는 다이에 우선적으로 실행되는 메모리 시스템.
  10. ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈
    제7항에 있어서,
    상기 가비지 컬렉션의 상기 기준 값은 상기 신뢰도 등급 정보에 따른 다이의 신뢰도가 높을수록 작게 설정되는 메모리 시스템.
  11. 삭제
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서, 상기 메모리 컨트롤러는,
    상기 신뢰도 테이블 및 시스템 정보들을 저장하는 내부 메모리;를 더 포함하는 메모리 시스템.
  13. 데이터가 저장되는 다이들의 제조 공정 시, 상기 다이들에 대한 신뢰도 등급 정보를 상기 다이들 중 적어도 하나의 다이에 저장하는 단계;
    상기 다이들을 제어하는 메모리 컨트롤러에 상기 다이들 각각에 대한 기준 값으로 리드 카운트 값, 프로그램 카운트 값 및 프리 블록 개수를 저장 및 업데이트하는 단계;
    상기 다이들 중 선택된 다이로부터 상기 신뢰도 등급 정보를 수신받고, 수신받은 상기 신뢰도 등급 정보를 사용하여 상기 메모리 컨트롤러에 포함된 신뢰도 테이블로부터 상기 신뢰도 등급에 대응되는 상기 기준 값을 선택하는 단계; 및
    상기 신뢰도 등급 정보와 선택된 상기 기준 값에 따라 상기 선택된 다이를 관리하기 위한 커맨드들을 생성하는 단계;를 포함하고,
    상기 신뢰도 테이블은,
    상기 신뢰도 등급 정보와, 상기 신뢰도 등급 정보에 각각 대응되는 기준 값들이 저장된, 메모리 시스템의 동작 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 신뢰도 등급 정보를 상기 다이들 중 적어도 하나의 다이에 저장하는 단계는,
    상기 다이들의 제조 공정 이후에 상기 다이들 각각에 대한 테스트 동작을 수행하고, 상기 테스트 동작의 결과를 저장하거나,
    상기 다이가 제조되는 웨이퍼 내에서 상기 다이들의 위치에 따라 결과를 저장하는 메모리 시스템의 동작 방법.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서,
    상기 테스트 동작을 수행하는 경우,
    상기 신뢰도 등급 정보는 상기 테스트 동작에서 검출되는 에러 비트의 수에 따라 결정되는 메모리 시스템의 동작 방법.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서,
    상기 테스트 동작은 테스트 프로그램, 테스트 리드 또는 테스트 소거 동작으로 수행되는 메모리 시스템의 동작 방법.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서,
    상기 신뢰도 등급 정보가 상기 다이들의 위치에 따라 결정되는 경우,
    상기 신뢰도 등급 정보는 상기 다이들이 제조된 위치가 상기 웨이퍼의 중앙 영역인지 또는 가장자리 영역인지에 따라 결정되는 메모리 시스템의 동작 방법.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 커맨드들은, 상기 다이들의 리드 리클레임(read reclaim), 웨어 레벨링(wear leveling) 또는 가비지 컬렉션(garbage collection)을 실행하기 위해 생성되는 메모리 시스템의 동작 방법.
  19. ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 신뢰도 등급 정보는 상기 다이들에 포함된 다수의 메모리 블록들 중 시스템 데이터가 저장되는 메타 블록에 저장되는 메모리 시스템의 동작 방법.
  20. 각각 기 결정된 신뢰도 등급 정보를 저장하는 하나 이상의 메모리 장치들; 및
    상기 신뢰도 등급 정보를 기초로 리드 리클레임(read reclaim)을 수행하도록 상기 메모리 장치들 각각을 제어하는 메모리 컨트롤러;를 포함하고,
    상기 메모리 장치들 각각의 상기 신뢰도 등급 정보는,
    싸이클 횟수의 다양한 구간들에 대한 정보 및 상기 다양한 구간들 각각에 대응되는 복수의 트리거 값들을 포함하고,
    상기 싸이클 횟수는,
    메모리 블록들에서 수행된 한 쌍의 소거 및 쓰기 동작의 동작 횟수를 나타내고,
    상기 메모리 컨트롤러는,
    상기 신뢰도 등급 정보와, 상기 신뢰도 등급 정보에 각각 대응되는 기준 값들이 저장된 신뢰도 테이블; 및
    상기 하나 이상의 메모리 장치들로부터 상기 신뢰도 등급 정보를 수신받고, 수신받은 상기 신뢰도 등급 정보를 사용하여 상기 신뢰도 테이블로부터 상기 하나 이상의 메모리 장치들을 관리하기 위한 상기 기준 값들을 선택하는 설정 값 컨트롤러;를 포함하는, 메모리 시스템.
  21. ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈
    제20항에 있어서, 상기 트리거 값들은,
    상기 메모리 블록들에서 수행될 상기 리드 리클레임을 트리거하는 상기 싸이클 횟수, 또는
    상기 메모리 장치들에서 수행될 웨어 레벨링(wear leveling)을 트리거하는 상기 메모리 장치들에서 수행된 쓰기 동작의 동작 횟수, 또는
    상기 메모리 장치들에서 수행될 가비지 컬렉션(garbage collection)을 트리거하는 상기 메모리 장치들 내 프리 메모리 블록의 개수를 나타내는, 메모리 시스템.
KR1020180106199A 2018-09-05 2018-09-05 메모리 시스템 및 이의 동작 방법 KR102592902B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180106199A KR102592902B1 (ko) 2018-09-05 2018-09-05 메모리 시스템 및 이의 동작 방법
US16/380,433 US10838627B2 (en) 2018-09-05 2019-04-10 Memory system and method of operating the same
CN201910418075.4A CN110879789B (zh) 2018-09-05 2019-05-20 存储器系统及操作该存储器系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180106199A KR102592902B1 (ko) 2018-09-05 2018-09-05 메모리 시스템 및 이의 동작 방법

Publications (2)

Publication Number Publication Date
KR20200027862A KR20200027862A (ko) 2020-03-13
KR102592902B1 true KR102592902B1 (ko) 2023-10-24

Family

ID=69641115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180106199A KR102592902B1 (ko) 2018-09-05 2018-09-05 메모리 시스템 및 이의 동작 방법

Country Status (3)

Country Link
US (1) US10838627B2 (ko)
KR (1) KR102592902B1 (ko)
CN (1) CN110879789B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112908399B (zh) * 2021-02-05 2022-01-18 置富科技(深圳)股份有限公司 闪存的异常检测方法、装置、计算机设备及存储介质
US11640270B2 (en) * 2021-07-27 2023-05-02 Beijing Tenafe Electronic Technology Co., Ltd. Firmware-controlled and table-based conditioning for flexible storage controller
KR20230050695A (ko) * 2021-10-08 2023-04-17 삼성전자주식회사 스토리지 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
KR20130061967A (ko) * 2011-12-02 2013-06-12 삼성전자주식회사 메모리 시스템 및 그것의 웨어 레벨링 방법
US9208070B2 (en) * 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
US9021339B2 (en) * 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
KR20160096435A (ko) * 2015-02-05 2016-08-16 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
CN106354615B (zh) * 2015-07-21 2021-06-01 北京忆恒创源科技有限公司 固态硬盘日志生成方法及其装置
US10459793B2 (en) * 2016-03-17 2019-10-29 Western Digital Technologies, Inc. Data reliability information in a non-volatile memory device
KR102534633B1 (ko) * 2016-04-14 2023-05-23 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102653401B1 (ko) * 2016-07-18 2024-04-03 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
미국공개특허 제2017-0269992호(2017.09.21.) 1부.*
한국공개특허 제10-2013-0061967호(2013.06.12.) 1부.*
한국공개특허 제10-2016-0096435호(2016.08.16.) 1부.*
한국공개특허 제10-2017-0118288호(2017.10.25.) 1부.*

Also Published As

Publication number Publication date
CN110879789A (zh) 2020-03-13
CN110879789B (zh) 2023-05-12
US10838627B2 (en) 2020-11-17
US20200073558A1 (en) 2020-03-05
KR20200027862A (ko) 2020-03-13

Similar Documents

Publication Publication Date Title
US11086537B2 (en) Method and system to perform urgency level garbage collection based on write history of memory blocks
US10896134B2 (en) Informative value in indexing, classifying, searching
US11216218B2 (en) Unmap data pattern for coarse mapping memory sub-system
US11144449B2 (en) Memory system and operation method thereof
US11768613B2 (en) Aggregation and virtualization of solid state drives
US11853202B2 (en) Memory system performing garbage collection operation by exchanging information related to garbage collection with host and method of operating the memory system
US11243700B2 (en) Memory system for changing cell mode of memory block and operation method thereof
KR102592902B1 (ko) 메모리 시스템 및 이의 동작 방법
US20190347193A1 (en) Memory system and operating method thereof
US20230418485A1 (en) Host device, storage device, and electronic device
US20210240632A1 (en) Memory controller and operating method thereof
CN111444115A (zh) 存储装置及其操作方法
US11042317B2 (en) Memory system for reducing fragmentation based on sequential index and operating method thereof
US10901888B2 (en) Memory system and operating method thereof
US11726683B2 (en) Storage system and operating method for moving data between storage devices thereof
US11055020B2 (en) Data storage device sharing operations with another data storage device and method of operating the same
US20200073805A1 (en) Controller and operation method thereof
US11954350B2 (en) Storage device and method of operating the same
US11281381B2 (en) Storage node of distributed storage system and method of operating the same
US11301391B2 (en) Access unit and management segment memory operations
US20190073126A1 (en) Memory system and operating method of the same
US20220382673A1 (en) Storage device and method of operating the same
US20240095181A1 (en) Storage device, host device, and electronic device
US20240061778A1 (en) Memory sub-system cache extension to page buffers of a memory array
US11080198B2 (en) Data processing system and operating method thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant