KR20180062246A - 재분배기를 포함하는 메모리 시스템 - Google Patents

재분배기를 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20180062246A
KR20180062246A KR1020160162304A KR20160162304A KR20180062246A KR 20180062246 A KR20180062246 A KR 20180062246A KR 1020160162304 A KR1020160162304 A KR 1020160162304A KR 20160162304 A KR20160162304 A KR 20160162304A KR 20180062246 A KR20180062246 A KR 20180062246A
Authority
KR
South Korea
Prior art keywords
data
domain
flash
memory die
redistributor
Prior art date
Application number
KR1020160162304A
Other languages
English (en)
Inventor
장실완
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160162304A priority Critical patent/KR20180062246A/ko
Priority to US15/711,196 priority patent/US10740244B2/en
Publication of KR20180062246A publication Critical patent/KR20180062246A/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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
    • G06F11/142Reconfiguring to eliminate the 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2017Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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
    • 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
    • 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/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

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

Abstract

메모리 시스템에 있어서, 제1 스페어 메모리 다이를 포함하는 제1 플래시 도메인, 복수의 비휘발성 메모리 다이들을 포함하는 제2 플래시 도메인, 제1 데이터 및 제2 데이터를 생성하며, 상기 제1 데이터에 대응하는 제1 논리적 어드레스 및 상기 제2 데이터에 대응하는 제2 논리적 어드레스를 생성하는 도메인 분배기 및 상기 도메인 분배기로부터 상기 제1 데이터 및 상기 제2 데이터를 수신하여 상기 제1 플래시 도메인 및 상기 제2 플래시 도메인으로 상기 제1 데이터 및 상기 제2 데이터를 제공하는 제1 재분배기를 포함하고, 상기 제1 재분배기는, 상기 제2 플래시 도메인이 페일 메모리 다이를 포함할 때, 상기 제2 데이터 중 상기 페일 메모리 다이에 대응하는 일부 데이터를 상기 제1 플래시 도메인으로 제공하여, 상기 페일 메모리 다이를 상기 제1 스페어 메모리 다이로 교체할 수 있다.

Description

재분배기를 포함하는 메모리 시스템{Memory System}
본 개시의 기술적 사상은 메모리 시스템에 관한 것으로, 더욱 상세하게는 페일 메모리 다이를 스페어 메모리 다이로 교체할 수 있는 재분배기를 포함하는 메모리 시스템에 관한 것이다.
정보화 사회의 도래와 함께 개인이 저장하고 이동해야 할 데이터의 양도 폭발적으로 늘어나고 있다. 이와 같은 데이터 저장매체의 수요 증가로 인해, 다양한 종류의 개인용 데이터 저장 장치들이 개발되고 있다.
최근 들어서는 하드디스크 드라이브를 대신하는 데이터 저장 장치로서, 플래시 메모리를 채택한 솔리드 스테이트 디스크(Solid State Disk, SSD) 및 메모리 카드가 널리 사용되고 있다. 비휘발성 메모리로서 플래시 메모리는 전원이 차단되어도 저장하고 있는 데이터를 유지할 수 있다. SSD는 작동시 열과 소음이 거의 발생하기 않고, 외부 충격에 강하기 때문에, 기존의 하드디스크 드라이브에 비하여 휴대용 기기에 적합한 데이터 저장 장치로서 평가되고 있으며, 스토리지 장치의 신뢰성 및 동작 속도 향상을 위해 활발하게 연구되고 있다.
본 개시의 기술적 사상이 이루고자 하는 과제는 메모리 장치가 페일 메모리 다이를 포함하는 경우, 스페어 다이로 교체하여 페일 메모리 다이를 효율적으로 관리할 수 있는 메모리 시스템을 제공하는데 있다.
본 개시의 기술적 사상에 의한 일 양태에 따른 메모리 시스템은, 제1 스페어 메모리 다이를 포함하는 제1 플래시 도메인, 복수의 비휘발성 메모리 다이들을 포함하는 제2 플래시 도메인, 제1 데이터 및 제2 데이터를 생성하며, 상기 제1 데이터에 대응하는 제1 논리적 어드레스 및 상기 제2 데이터에 대응하는 제2 논리적 어드레스를 생성하는 도메인 분배기 및 상기 도메인 분배기로부터 상기 제1 데이터 및 상기 제2 데이터를 수신하여 상기 제1 플래시 도메인 및 상기 제2 플래시 도메인으로 상기 제1 데이터 및 상기 제2 데이터를 제공하는 제1 재분배기; 를 포함하고, 상기 제1 재분배기는, 상기 제2 플래시 도메인이 제1 페일 메모리 다이를 포함할 때, 상기 제2 데이터 중 상기 제1 페일 메모리 다이에 대응하는 일부 데이터를 상기 제1 플래시 도메인으로 제공하여, 상기 제1 페일 메모리 다이를 상기 제1 스페어 메모리 다이로 교체할 수 있다.
본 개시의 기술적 사상에 의한 일 양태에 따른 메모리 시스템은, 제1 스페어 메모리 다이를 포함하는 제1 플래시 도메인, 복수의 비휘발성 메모리 다이들을 포함하는 제2 플래시 도메인, 제1 데이터 및 제2 데이터를 생성하며, 상기 제1 데이터에 대응하는 제1 논리적 어드레스 및 상기 제2 데이터에 대응하는 제2 논리적 어드레스를 생성하는 도메인 분배기, 상기 제1 플래시 도메인 및 상기 제2 플래시 도메인으로 상기 제1 데이터 및 상기 제2 데이터를 출력하는 제1 재분배기, 상기 제1 재분배기로 상기 제1 데이터를 출력하는 제1 도메인 서버 및 상기 제1 재분배기로 상기 제2 데이터를 출력하는 제2 도메인 서버를 포함하고, 상기 제1 재분배기는, 상기 제2 플래시 도메인이 제1 페일 메모리 다이를 포함할 때, 상기 제2 데이터 중 상기 제1 페일 메모리 다이에 대응하는 일부 데이터를 상기 제1 플래시 도메인으로 출력하여, 상기 페일 메모리 다이를 상기 제1 스페어 메모리 다이로 교체할 수 있다.
본 개시의 기술적 사상에 따른 메모리 시스템은, 메모리 시스템에 포함된 각각의 플래시 도메인마다 스페어 메모리 다이를 포함하지 않더라도, 스페어 메모리 다이를 포함하지 않은 플래시 도메인에서 발생된 페일 메모리 다이를 다른 플래시 도메인의 스페어 메모리 다이를 이용하여 교체할 수 있다. 더불어, 하나의 플래시 도메인에 복수의 페일 메모리 다이들이 발생되더라도 복수의 페일 메모리 다이들 중 일부를 다른 플래시 도메인의 스페어 메모리 다이로 교체할 수 있어, 페일 메모리 다이의 효율적인 관리가 가능하다.
도 1은 본 발명의 일 실시예에 따른 불휘발성 메모리 시스템을 포함하는 시스템을 개략적으로 나타내는 블록도이다.
도 2는 도 1의 콘트롤러의 일 구현의 예를 나타내는 블록도이다.
도 3a은 도 1에 도시된 불휘발성 메모리 장치들을 구성하는 불휘발성 메모리 다이의 세부 구성을 예시적으로 보여준다.
도 3b는 도 3a에 도시된 메모리 셀 어레이를 구성하는 메모리 블록의 세부 구성을 예시적으로 보여준다.
도 4는 본 개시의 기술적 사상에 따른 메모리 시스템을 나타내는 블록도 이다.
도 5a 내지 도 5c는 본 개시의 기술적 사상에 메모리 시스템에 포함된 플래시 도메인에 페일 메모리 다이가 발생했을 때, 복수된 데이터를 스페어 메모리 다이로 이동(Migration)하는 개념을 나타내는 블록도이다.
도 6 내지 도 8은 본 개시의 기술적 사상에 따른 메모리 시스템을 나타내는 블록도 이다.
도 9는 본 개시의 다양한 실시예들에 따른 메모리 시스템의 동작 방법을 나타내는 플로우 차트이다.
이하, 첨부 도면을 참조하여 본 개시의 실시예들을 상세히 설명한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고, 이들에 대한 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 불휘발성 메모리 시스템을 포함하는 시스템을 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 시스템(10)은 호스트(2000)와 메모리 시스템(1000)을 포함할 수 있다. 메모리 시스템(1000)은 솔리드 스테이트 드라이브(Solid State Drive, SSD)일 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 메모리 시스템(1000)은 임베디드 멀티미디어 카드(embedded multimedia card, eMMC), 유니버셜 플래시 스토리지(universal flash storage, UFS), 또는 레이드(redundant array of independent disk, RAID) 등으로 구현될 수 있다.
메모리 시스템(1000)과 통신하는 호스트(2000)는 다양한 장치가 적용될 수 있다. 예를 들어, 호스트(2000)는 PMP, PDA, 스마트폰과 같은 휴대용 전자 장치, 컴퓨터 혹은 HDTV와 같은 전자 장치 또는 상기 전자 장치에 장착된 어플리케이션 프로세서들일 수 있다. 메모리 시스템(1000)은 호스트(2000)로부터의 데이터 억세스 요청에 응답하여 데이터를 기록하거나 독출하는 메모리 동작을 수행한다.
메모리 시스템(1000)은 콘트롤러(100)와 하나 이상의 불휘발성 메모리 장치들(200)을 포함할 수 있다. 콘트롤러(100)는 하나 이상의 채널을 통해 불휘발성 메모리 장치들(200)을 억세스할 수 있다. 예를 들어, 메모리 시스템(1000)은 n 개의 채널들(Ch1-Chn)을 포함하고, 콘트롤러(100)는 n 개의 채널들(Ch1-Chn)을 통해 불휘발성 메모리 장치들(200)을 억세스할 수 있다. 일 동작 예로서, 콘트롤러(100)는 서로 다른 채널에 대응하는 불휘발성 메모리 장치들(200)을 병렬하게 억세스할 수 있다.
불휘발성 메모리 장치들(200)은 플래시 메모리 장치를 포함할 수 있다. 그러나 이는 예시적인 것에 불과한 것으로서, 본 발명의 실시예는 이에 한정될 필요가 없다. 예컨대, 불휘발성 메모리 장치들(200)은 ReRAM(resistive random access memory), MRAM(magnetoresistive random memory), PRAM(phase-change random access memory) 등의 불휘발성 메모리를 포함할 수 있다.
콘트롤러(100)는 호스트(2000)의 요청에 따른 메모리 동작을 제어하기 위한 하나 이상의 중앙 처리 장치(CPU)를 포함할 수 있다. 일 실시예로서, 콘트롤러(100)는 호스트(2000)와의 인터페이스에 관련된 동작을 처리하기 위한 제1 CPU(110)와 메모리 인터페이스에 관련된 동작을 처리하기 위한 제2 CPU(120)를 포함할 수 있다. 제1 CPU(110)는 호스트(2000)로부터의 요청을 병렬하게 처리할 수 있는 하나 이상의 CPU들을 포함할 수 있다. 또한, 제2 CPU(120)는 불휘발성 메모리 장치들(200)에 대한 억세스를 병렬하게 처리할 수 있는 하나 이상의 CPU들을 포함할 수 있다.
제1 CPU(110)와 제2 CPU(120)는 다양한 방식으로 메모리 시스템(1000)에 구비될 수 있다. 예를 들어, 콘트롤러(100)는 하나의 제1 CPU(110)와 다수 개의 제2 CPU(120)를 포함할 수 있다. 또는, 콘트롤러(100)는 다수 개의 제1 CPU(110)와 다수 개의 제2 CPU(120)를 포함할 수 있다. 또한, 예를 들어, 제1 CPU(110)와 제2 CPU(120)는 서로 동일한 동작 속도를 갖거나, 또는 서로 다른 동작 속도를 가질 수 있다. 예를 들어, 제1 CPU(110)는 제2 CPU(120)에 비해 두 배 빠른 동작 속도를 가질 수 있다.
제1 CPU(110)는 제1 처리 단위로서 호스트 인터페이스 동작을 처리할 수 있다. 또한, 제2 CPU(120)는 제2 처리 단위로서 메모리 인터페이스 동작을 처리할 수 있다. 상기 제1 처리 단위 및 제2 처리 단위는, 각각 데이터 억세스의 단위와 관련된 제1 맵핑 단위와 제2 맵핑 단위를 포함할 수 있다. 제1 CPU(110)는 소정의 사이즈를 갖는 제1 맵핑 단위에 따라 호스트(2000)로부터의 커맨드를 처리할 수 있으며, 제2 CPU(120)는 제1 맵핑 단위와 서로 다른 사이즈를 갖는 제2 맵핑 단위에 따라 데이터 억세스 동작을 수행할 수 있다.
불휘발성 메모리 장치들(200)이 플래시 메모리 장치를 포함하는 경우, 콘트롤러(100)는 플래시 변환 계층(FTL)을 포함할 수 있다. FTL은 플래시 메모리 장치의 기록, 독출 및 소거 동작 등에 대한 관리를 위한 시스템 소프트웨어(또는, 펌웨어)를 포함할 수 있으며, 콘트롤러(100) 내부의 동작 메모리에 로딩되어 제2 CPU(120)에 의해 구동될 수 있다. FTL은 논리적 어드레스와 물리적 어드레스 사이의 변환 정보를 포함하는 맵핑 테이블을 포함할 수 있다.
제1 CPU(110)는 호스트로부터 제공된 데이터 억세스 요청을 처리하여 하나 이상의 내부 커맨드들을 발생하고 이들을 제2 CPU(120)로 전달할 수 있다. 또한, 플래시 메모리 시스템의 경우에서, 제2 CPU(120)는 FTL을 구동함으로써 어드레스 변환 동작을 수행하거나 불휘발성 메모리 장치들(200)과의 데이터 송수신을 제어하는 동작을 수행할 수 있다. 제1 CPU(110)는 호스트와의 인터페이스에 관련된 동작을 수행함에 따라 호스트 CPU(HCPU)로 지칭될 수 있으며, 제2 CPU(120)는 FTL을 구동하는 동작을 수행함에 따라 FTL CPU(FCPU)로 지칭될 수 있다.
본 개시의 실시예에 따라, 제1 CPU(110)의 제1 맵핑 단위와 제2 CPU(120)의 제2 맵핑 단위는 그 사이즈가 서로 다를 수 있다. 예를 들어, 제1 CPU(110)는 호스트(2000)로부터의 커맨드에 따라 처리될 데이터를 제1 맵핑 단위에 따라 분할하고, 분할된 데이터에 따른 내부 커맨드들을 발생할 수 있다. 또한, 제2 CPU(120)는 불휘발성 메모리 장치들(200)에 대한 억세스 동작을 제2 맵핑 단위에 따라 수행할 수 있다.
본 개시의 일 실시예에 따른 메모리 시스템(1000)은 제1 CPU(110)에 포함된 재분배기 및 각각의 플래시 도메인을 관리하는 복수의 도메인 서버들을 통하여, 복수의 불휘발성 메모리 다이들을 포함하는 플래시 도메인에 발생된 페일 메모리 다이를 다른 플래시 도메인에 포함된 스페어 메모리 다이로 교체할 수 있다.
도 2는 도 1의 콘트롤러의 일 구현의 예를 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 콘트롤러(100)는 호스트 CPU(HCPU, 110), 다수 개의 FTL CPU들(FCPU, 120_1-120_4), 호스트 인터페이스(130), 메모리 인터페이스(140), RAM(150), ROM(116) 및 버퍼(170)를 포함할 수 있다. 예를 들어, 하나의 HCPU(110)와 제1 내지 제4 FCPU(120_1-120_4)가 콘트롤러(100)에 구비되는 예가 도시된다. 그러나, 전술한 바와 같이 다양한 개수의 HCPU 및 FCPU가 콘트롤러(100)에 구비될 수도 있다.
호스트 인터페이스(130)는 호스트와 불휘발성 메모리 시스템(1000)의 물리적 연결을 제공한다. 예를 들어, 호스트 인터페이스(130)는, ATA(advanced technology attachment), SATA(serial ATA), e-SATA(external SATA), SCSI(small computer small interface), SAS(serial attached SCSI), PCI(peripheral component interconnection), PCI-E(PCI express), IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi media card), eMMC(embedded multi media card), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식들을 포함할 수 있다.
한편, 메모리 인터페이스(140)는 메모리 콘트롤러(100)와 불휘발성 메모리 장치들(200) 사이의 물리적 연결을 제공한다. 예를 들어, 커맨드, 어드레스 및 데이터 등이 메모리 인터페이스(140)를 통해 메모리 콘트롤러(100)와 불휘발성 메모리 장치들(200) 사이에서 송수신될 수 있다. 호스트로부터 기록 요청되는 데이터와 불휘발성 메모리 장치들(200)로부터 독출된 데이터는 버퍼(170)에 일시 저장될 수 있다. 버퍼(170)는 캐시, ROM, PROM, EPROM, EEPROM, PRAM, 플래시 메모리, SRAM, 또는 DRAM을 포함할 수 있다.
한편, RAM(150)은 동작 메모리(Working memory)로서 이용될 수 있다. 콘트롤러(100)의 전반적인 동작을 제어하기 위해 HCPU(110)와 제1 내지 제4 FCPU(120_1 - 120_4)는 펌웨어(firmware)를 구동할 수 있으며, 펌웨어(firmware)는 RAM(150)에 로딩될 수 있다. RAM(150)은 각종 메모리로 구현될 수 있으며, 예컨대 캐시(cache) 메모리, DRAM, SRAM, PRAM, 플래시 메모리 장치들 중 적어도 하나로 구현될 수 있다.
펌웨어(firmware)의 예를 들어 플래시 변환 계층(FTL)이 RAM(150)에 로딩될 수 있으며, 플래시 변환 계층(FTL)을 구동함에 의해 다양한 기능들이 수행될 수 있다. 예를 들어, 플래시 변환 계층(FTL)은 메모리 셀들에 대한 마모도(wear-level)를 관리하는 웨어-레벨링 기능과, 호스트로부터의 논리적 어드레스를 메모리 셀들의 물리적 위치를 나타내는 물리적 어드레스로 변환하는 어드레스 변환 기능을 포함할 수 있다. 한편, ROM(116)은 불휘발성 메모리 시스템(1000)이 채용된 시스템의 초기 부팅에 필요한 부팅 코드(booting code)를 저장할 수 있으며, 또한 ROM(116)은 콘트롤러(100)의 전반적인 제어를 위해 HCPU(110)와 제1 내지 제4 FCPU(120_1-120_4)에 의해 실행 가능한 각종 코드들을 저장할 수 있다. 일 실시예에 따라, HCPU(110)와 제1 내지 제4 FCPU(120_1-120_4)가 맵핑 단위를 관리하는 동작은 ROM(116)에 저장된 코드들을 실행함에 의해 수행될 수 있다.
HCPU(110)는 호스트로부터의 커맨드를 제1 맵핑 단위에 따라 분할하고, 분할된 커맨드들(예를 들어, 내부 커맨드들)을 발생할 수 있다. 또한, HCPU(110)는 제1 맵핑 단위에 따른 내부 커맨드들을 제1 내지 제4 FCPU(120_1-120_4)로 분할하여 전달할 수 있다. HCPU(110)는 도메인 분배기(111), 도메인 서버(112) 및 재분배기(113)를 포함할 수 있다.
제1 내지 제4 FCPU(120_1-120_4)는 각각 할당된 내부 요청들을 처리하며, 메모리 억세스 동작을 수행할 수 있다. 제1 내지 제4 FCPU(120_1-120_4)에서는 상기 제1 및 제2 맵핑 단위에 따라 논리적 어드레스를 물리적 어드레스로 변환하는 어드레스 변환 동작이 수행될 수 있다. 예를 들어, 호스트(2000)는 소정의 사이즈 단위로 데이터를 지시하는 논리적 어드레스(예를 들어, 호스트 논리적 어드레스)를 불휘발성 메모리 시스템(1000)으로 제공할 수 있다.
HCPU(110) 및 제1 내지 제4 FCPU(120_1-120_4)는 하나의 장치로 구현될 수 있으며, 하나의 장치 내에서 기능적으로 각각이 구분될 수 있다.
도 3a은 도 1에 도시된 불휘발성 메모리 장치들을 구성하는 불휘발성 메모리 다이의 세부 구성을 예시적으로 보여준다.
도 3a를 참조하면, 복수의 불휘발성 메모리 다이들은 메모리 셀 어레이(11), 제어 로직(control logic; 12), 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)를 포함할 수 있다.
메모리 셀 어레이(11)는 하나 이상의 스트링 선택 라인(SSL), 복수의 워드 라인들(WL) 및 하나 이상의 접지 선택 라인(GSL)에 연결될 수 있으며, 또한 복수의 비트 라인들(BL)에 연결될 수 있다. 메모리 셀 어레이(11)는 복수의 워드 라인들(WL) 및 복수의 비트 라인들(BL)이 교차하는 영역들에 배치되는 복수의 메모리 셀들(MC)을 포함할 수 있다.
메모리 셀 어레이(11)에 소거 전압이 인가되면 복수의 메모리 셀들(MC)은 소거 상태가 되며, 메모리 셀 어레이(11)에 프로그램 전압이 인가되면 복수의 메모리 셀들(MC)은 프로그램 상태가 된다. 이때, 각 메모리 셀(MC)은 문턱 전압에 따라 구분되는 소거 상태 및 제1 내지 제n 프로그램 상태들(P1 내지 Pn) 중 하나를 가질 수 있다.
여기서, n은 2 이상의 자연수일 수 있다. 예를 들어, 메모리 셀(MC)이 2 비트 레벨 셀인 경우 n은 3일 수 있다. 다른 예에서, 메모리 셀(MC)이 3 비트 레벨 셀인 경우 n은 7일 수 있다. 또 다른 예에서, 메모리 셀(MC)이 4 비트 레벨 셀인 경우 n은 15일 수 있다. 이와 같이, 복수의 메모리 셀들(MC)은 멀티 레벨 셀들을 포함할 수 있다. 그러나, 본 발명의 기술적 사상은 이에 한정되지 않고, 복수의 메모리 셀들(MC)은 싱글 레벨 셀들을 포함할 수도 있다.
제어 로직(12)은 메모리 컨트롤러(210)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(11)에 데이터를 기입하거나 메모리 셀 어레이(11)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(12)은 플래시 메모리 칩(221-1) 내의 각종 동작을 전반적으로 제어할 수 있다.
제어 로직(12)에서 출력된 각종 제어 신호는 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)에 제공될 수 있다. 구체적으로, 제어 로직(12)은 전압 생성부(13)에 전압 제어 신호(CTRL_vol)를 제공할 수 있고, 로우 디코더(14)에 로우 어드레스(X_ADDR)를 제공할 수 있으며, 페이지 버퍼(15)에 칼럼 어드레스(Y_ADDR)를 제공할 수 있다.
이때, 제1 구동 전압(VWL)은 프로그램 전압(또는 기입 전압), 독출 전압, 소거 전압, 패스 전압 또는 프로그램 검증 전압일 수 있다. 또한, 제2 구동 전압(VSSL)은 스트링 선택 전압, 즉, 온(on) 전압 또는 오프(off) 전압일 수 있다. 나아가, 제3 구동 전압(VGSL)은 그라운드 선택 전압, 즉, 온 전압 또는 오프 전압일 수 있다.
본 실시예에서, 전압 생성부(13)는 전압 제어 신호(CTRL_vol)를 기초로 하여, 프로그램 루프가 시작될 때, 즉, 프로그램 루프의 횟수가 1인 경우, 프로그램 시작 전압을 프로그램 전압으로 생성할 수 있다. 또한, 전압 생성부(13)는 프로그램 루프의 횟수가 증가할수록 프로그램 시작 전압에서 스텝 전압만큼 단계적으로 증가하는 전압을 프로그램 전압으로 생성할 수 있다.
로우 디코더(14)는 복수의 워드 라인들(WL)을 통해 메모리 셀 어레이(11)에 연결되고, 제어 로직(12)으로부터 수신한 로우 어드레스(X_ADDR)에 응답하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 활성화할 수 있다. 구체적으로, 독출 동작 시에 로우 디코더(14)는 선택된 워드 라인에 독출 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다.
한편, 프로그램 동작 시에 로우 디코더(14)는 선택된 워드 라인에 프로그램 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다. 본 실시예에서, 프로그램 루프들 중 적어도 하나에서 로우 디코더(14)는 선택된 워드 라인 및 추가 선택된 워드 라인에 프로그램 전압을 인가할 수 있다.
페이지 버퍼(15)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(11)에 연결될 수 있다. 구체적으로, 독출 동작 시에 페이지 버퍼(15)는 감지 증폭기(sense amplifier)로 동작하여 메모리 셀 어레이(11)에 저장된 데이터(DATA)를 출력할 수 있다. 한편, 프로그램 동작 시에 페이지 버퍼(15)는 기입 드라이버(write driver)로 동작하여 메모리 셀 어레이(11)에 저장하고자 하는 데이터(DATA)를 입력시킬 수 있다.
도 3b는 도 3a에 도시된 메모리 셀 어레이를 구성하는 메모리 블록의 세부 구성을 예시적으로 보여준다. 도 3b는 셀 블록이 3D 형태로 구현되는 예를 나타내나, 이에 한정되는 것은 아니며, 2D의 형태로 구현될 수도 있다.
도 3b를 참조하면, 셀 블록(BLK)은 기판(SUB)에 대해 수직 방향으로 형성되어 있다. 도 3b에서는, 셀 블록(BLK)이 2 개의 선택 라인들(GSL, SSL), 8 개의 워드 라인들(WL1-WL8), 그리고 3 개의 비트 라인들(BL1-BL3)을 포함하는 것으로 도시되어 있으나, 실제로는 이것들보다 더 많거나 적을 수 있다. 셀 블록(BLK)은 도 3b의 각각의 메모리 블록(BLK1 내지 BLKa)에 해당될 수 있다.
기판(SUB)은 제1 도전형(예를 들어, p 타입)을 가지며, 기판(SUB) 상에 제1 방향(예를 들어, Y 방향)을 따라 연장되고, 제2 도전형(예를 들어, n 타입)의 불순물들이 도핑된 공통 소스 라인(CSL)이 제공될 수 있다. 인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 연장되는 복수의 절연막들(IL)이 제3 방향(예를 들어, Z 방향)을 따라 순차적으로 제공되며, 복수의 절연막들(IL)은 제3 방향을 따라 특정 거리만큼 이격될 수 있다. 예를 들어, 복수의 절연막들(IL)은 실리콘 산화물과 같은 절연 물질을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며, 제3 방향을 따라 복수의 절연막들(IL)을 관통하는 복수의 필라들(pillars)(P)이 제공될 수 있다. 예를 들어, 복수의 필라들(P)은 복수의 절연막들(IL)을 관통하여 기판(SUB)과 컨택할 것이다. 구체적으로, 각 필라(P)의 표면층(surface layer, S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(charge storage layer, CS)이 제공된다. 전하 저장층(CS)은 게이트 절연층(또는 터널링 절연층이라고 지칭함), 전하 트랩층 및 블로킹 절연층을 포함할 수 있다. 예를 들어, 전하 저장층(CS)은 ONO(oxide-nitride-oxide) 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에, 선택 라인들(GSL, SSL) 및 워드 라인들(WL1-WL8)과 같은 게이트 전극(GE)이 제공될 수 있다.
복수의 필라들(P) 상에는 드레인들 또는 드레인 컨택들(DR)이 각각 제공될 수 있다. 예를 들어, 드레인들 또는 드레인 컨택들(DR)은 제2 도전형을 갖는 불순물들이 도핑된 실리콘 물질을 포함할 수 있다. 드레인들 상에, 제2 방향(예를 들어, X 방향)으로 신장되고 제1 방향을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL1-BL3)이 제공될 수 있다.
도 4는 본 개시의 기술적 사상에 따른 메모리 시스템을 나타내는 블록도 이다.
도 4를 참조하면, 메모리 시스템(1000)은 HCPU(110) 및 제1 내지 제4 플래시 도메인(FD_0-FD_3)을 포함할 수 있다. HCPU(110)는 도메인 분배기(111), 제1 내지 제4 도메인 서버(112_1-112_4) 및 재분배기(113)를 포함할 수 있다. 도 4에 따르면, 메모리 시스템(1000)은 4개의 플래시 도메인들과 4개의 도메인 서버들을 포함하는 것으로 도시되었으나, 이에 한정되는 것은 아니다.
도메인 분배기(111)는 호스트로부터 커맨드(HCMD), 데이터(HDATA) 및 논리적 어드레스(HLA)를 수신할 수 있다. 도메인 분배기(111)는 호스트로부터의 커맨드(HCMD)를 처리하여 데이터(HDATA)를 제1 내지 제4 데이터로 분할할 수 있다. 또한, 도메인 분배기(111)는 분할된 제1 내지 제4 데이터의 각각의 논리적 위치를 나타내는 제1 내지 제4 논리적 어드레스를 생성할 수 있다. 도메인 분배기(111)는 제1 내지 제4 데이터 및 제1 내지 제4 논리적 어드레스를 재분배기(113)로 출력할 수 있다.
재분배기(113)는 제1 내지 제4 도메인 서버(112_1-112_4)와 도메인 분배기(111) 사이에서 서로 연결될 수 있다. 재분배기(113)는 도메인 분배기(111)로부터 전송된 제1 내지 제4 내부 커맨드, 제1 내지 제4 데이터 및 제1 내지 제4 논리적 어드레스를 제1 내지 제4 도메인 서버(112_1-112_4)로 전달할 수 있다. 제1 내지 제4 플래시 도메인(FD_1-FD_4)이 페일 메모리 다이를 포함하지 않는 경우에, 재분배기(113)는 제1 데이터를 제1 도메인 서버(112_1)로, 제2 데이터를 제2 도메인 서버(112_2)로, 제3 데이터를 제3 도메인 서버(112_3)로, 제4 데이터를 제4 도메인 서버(112_4)로 각각 전송한다. 재분배기(113)에 대해서는 도 5a 내지 도 5c에 대한 설명에서 후술하도록 하겠다.
도 4에서는 도메인 분배기(111) 및 재분배기(113)를 별도의 구성으로 도시하였으나, 이에 한정되는 것은 아니며, 분배기(115)가 도메인 분배기(111) 및 재분배기(113)를 포함하도록 구성되고, 분배기(115)는 하나의 모듈로 구현될 수 있다. 분배기(115)는 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다.
제1 내지 제4 도메인 서버(112_1-112_4) 각각은 재분배기(113)로부터 제1 내지 제4 내부 커맨드, 제1 내지 제4 데이터 및 제1 내지 제4 논리적 어드레스를 각각 수신하여, 제1 내지 제4 플래시 도메인(FD_1-FD_4)으로 각각 출력할 수 있다. 제1 내지 제4 도메인 서버(112_1-112_4) 각각은 제1 내지 제4 플래시 도메인(FD_1-FD_4)과 1:1로 대응되는 구조로, 제1 내지 제4 도메인 서버(112_1-112_4) 각각은 제1 내지 제4 플래시 도메인(FD_1-FD_4)을 각각 관리할 수 있다.
제1 내지 제4 플래시 도메인(FD_1-FD_4)은 복수의 채널들에 연결된 복수의 불휘발성 메모리 다이들을 포함할 수 있다. 또한, 제1 내지 제4 플래시 도메인(FD_1-FD_4)은 각각 내부의 불휘발성 메모리 다이들을 관리하기 위한 CPU 및 CPU에 전용되어 있는 메모리들을 포함할 수 있다. 이 때, CPU는 도 2의 제1 내지 제4 FCPU(120_1-120_4)일 수 있다.
제1 내지 제4 플래시 도메인(FD_1-FD_4) 각각은 각각의 제1 내지 제4 데이터 및 제1 내지 제4 논리적 어드레스를 수신할 수 있다. 제1 내지 제4 플래시 도메인(FD_1-FD_4)은 각각 수신한 제1 내지 제4 논리적 어드레스를 제1 내지 제4 물리적 어드레스로 변환할 수 있고, 제1 내지 제4 물리적 어드레스에 대응하는 불휘발성 메모리 다이들에 대해 제1 내지 제4 데이터를 각각 기입하거나, 저장된 데이터들을 독출할 수 있다. 제1 내지 제4 플래시 도메인(FD_1-FD_4)은 각각 제1 내지 제4 도메인 서버(112_1-112_4)가 관리가 가능한 영역을 정의한 것으로 볼 수 있다.
제1 내지 제4 플래시 도메인(FD_1-FD_4)에 대해서는 도 5a에 대한 설명에서 후술하도록 하겠다.
도 5a 내지 도 5c는 본 개시의 기술적 사상에 메모리 시스템에 포함된 플래시 도메인에 페일 메모리 다이가 발생했을 때, 복수된 데이터를 스페어 메모리 다이로 이동(Migration)하는 개념을 나타내는 블록도이다. 도 5a 내지 도 5c는 도 4의 재분배기, 제1 플래시 도메인 및 제2 플래시 도메인만을 예시적으로 나타낸 도면이다. 제3 플래시 도메인 및 제4 플래시 도메인에도 본 도면에 대한 설명이 적용될 수 있다.
도 4 및 도 5a를 참조하면, 제1 플래시 도메인(FD_0) 및 제2 플래시 도메인(FD_1)에는 각각 제1 내지 제4 채널(CH_0-CH_3)이 형성될 수 있다. 각각의 제1 내지 제3 채널(CH_0-CH_3)에는 각각 복수 개의 비휘발성 메모리 다이들이 전기적으로 연결될 수 있다. 각각의 채널(CH_0-CH_3)은 대응되는 비휘발성 메모리 다이들로 커맨드, 어드레스 및 데이터를 송수신할 수 있는 독립적인 버스를 의미할 수 있다. 서로 다른 채널에 접속된 비휘발성 메모리 다이들은 각각 독립적으로 동작할 수 있다. 각각의 채널에 접속된 복수의 비휘발성 메모리 다이들은 복수 개의 웨이(way)들을 형성할 수 있다. 예를 들어, 하나의 플래시 도메인에 4개의 채널들과 4개 또는 5개의 웨이들이 형성될 수 있으나, 이에 한정되는 것은 아니다. 각각의 웨이들에는 비휘발성 메모리 다이가 접속될 수 있다.
웨이는 동일한 채널을 공유하는 비휘발성 메모리 다이들을 구분하기 위한 단위이다. 채널 번호와 웨이 번호에 따라서 각각의 플래시 메모리 칩들이 식별될 수 있다. 호스트로부터 제공된 리퀘스트(request)가 어느 채널의 어느 웨이의 비휘발성 메모리 다이에서 수행될 지는 수신한 논리적 어드레스에 의해 정해질 수 있다.
제1 플래시 도메인(FD_0) 및 제2 플래시 도메인(FD_1)은 각각 제1 내지 제16 불휘발성 메모리 다이(NVM_1-NVM_16)를 포함할 수 있다. 제1 플래시 도메인(FD_0) 및 제2 플래시 도메인(FD_1) 중 적어도 하나는 추가적으로 스페어 메모리 다이를 포함할 수 있다. 예를 들어, 제1 플래시 도메인(FD_0)은 스페어 메모리 다이를 포함하고, 제2 플래시 도메인(FD_1)은 스페어 메모리 다이를 포함하지 않을 수 있다. 제1 플래시 도메인(FD_0) 및 제2 플래시 도메인(FD_1)은 각각 제1 도메인 서버(112_1) 및 제2 도메인 서버(112_2)로부터 수신한 제1 논리적 어드레스 및 제2 논리적 어드레스를 각각 제1 물리적 어드레스 및 제2 물리적 어드레스로 변환할 수 있다. 따라서, 제1 플래시 도메인(FD_0) 및 제2 플래시 도메인(FD_1) 각각은 도 2의 제1 및 제2 FCPU(120_1, 120_2)를 포함할 수 있고, 논리적 어드레스와 물리적 어드레스 사이의 변환 정보를 포함하는 맵핑 테이블을 포함할 수 있다.
제1 플래시 도메인(FD_0)의 제16 불휘발성 메모리 다이(NVM_16)에 페일이 발생될 때의 데이터 이동 동작의 일 예를 설명하면 다음과 같다.
제1 플래시 도메인(FD_0)의 제16 불휘발성 메모리 다이에 대한 독출 커맨드가 수신되면, 상기 제16 불휘발성 메모리 다이(NVM_16)으로부터 독출 단위의 데이터와 이에 대응하는 ECC 패리티가 독출되고, ECC 패리티를 이용한 에러 정정 동작이 수행될 수 있다. 상기 제16 불휘발성 메모리 다이(NVM_16)가 페일됨에 따라, 상기 제16 불휘발성 메모리 다이(NVM_16)로부터 독출된 데이터에 대한 에러 정정 동작이 실패하고, 이에 따라 상기 제16 불휘발성 메모리 다이(NVM_16)에 저장된 데이터를 복구하기 위한 복구 동작이 수행될 수 있다. 예를 들어, RAID 리커버리가 수행될 수 있다. 상기 독출 요청된 데이터와 함께 RAID 스트라이프를 구성하는 다른 데이터 및 RAID 패리티가 제16 불휘발성 메모리 다이(NVM_16) 이외의 불휘발성 메모리 다이로부터 독출될 수 있고, 상기 독출된 데이터 및 RAID 패리티를 이용한 RAID 리커버리를 통해, 호스트로부터 독출 요청된 데이터가 복구되고, 복구된 데이터가 호스트로 출력될 수 있다.
이와 함께, 복구된 제16 불휘발성 메모리 다이(NVM_16)의 데이터는 스페어 메모리 다이로 이동(Migration)되고, 저장될 수 있다. 또한, 제16 불휘발성 메모리 다이(NVM_16)의 데이터가 스페어 메모리 다이로 이동됨에 따라, 제1 플래시 도메인(FD_0) 내에서, 제16 불휘발성 메모리 다이(NVM_16)의 데이터의 저장 위치를 나타내는 맵핑 정보가 변경될 수 있다.
예를 들어, 도 2의 RAM(150)에 저장되는 소프트웨어는 전술한 ECC 기능, RAID 리커버리 기능 및 데이터 이동 기능을 위한 프로그램들을 포함할 수 있다. 즉, HCPU(110) 또는 제1 내지 제4 FCPU(120_1-120_4)가 RAM(150)에 저장된 프로그램들을 실행함으로써, 전술한 실시예에 따른 RAID 리커버리 기능 및 데이터 이동 기능을 수행할 수 있을 것이다. 다만, 이에 한정되는 것은 아니며, RAID 리커버리 기능 및 데이터 이동 기능을 수행하는 별도의 하드 웨어로 구성될 수도 있다.
따라서, 스페어 메모리 다이를 포함하는 플래시 도메인에 페일 메모리 다이가 발생한 경우에, 재분배기(113)는 제1 논리적 어드레스를 변경하지 않고, 제1 도메인 서버(112_1)와 제1 플래시 도메인(FD_0)이 제1 데이터를 송수신 할 수 있다. 또한, 재분배기(113)는 제2 논리적 어드레스를 변경하지 않고, 제2 도메인 서버(112_2)와 제2 플래시 도메인(FD_1)이 송수신 있도록 할 수 있다.
도 4 및 도 5b를 참조하면, 제1 플래시 도메인(FD_0)은 스페어 메모리 다이를 포함하고, 제2 플래시 도메인(FD_1)은 스페어 메모리 다이를 포함하지 않을 수 있다. 제2 플래시 도메인(FD_1)의 제16 불휘발성 메모리 다이(NVM_16)에 페일이 발생될 때의 데이터 이동 동작의 일 예를 설명하면 다음과 같다.
도 5a에서 전술한 바와 같이, 데이터 복구 동작을 수행함으로써, 제2 플래시 도메인(FD_1)의 제16 불휘발성 메모리 다이(NVM_16)의 데이터는 복구될 수 있다. 복구된 제16 불휘발성 메모리 다이(NVM_16)의 데이터는 제1 플래시 도메인(FD_0)의 스페어 메모리 다이로 이동되고, 저장될 수 있다. 다만, 도 5a에서와는 달리 복구된 데이터가 기존에 저장되어 있던 제2 플래시 도메인(FD_1)과는 다른 플래시 도메인인 제1 플래시 도메인(FD_0)으로 이동될 수 있다. 따라서, 재분배기(113)는 도메인 분배기(111)로부터 수신한 제2 데이터 중 복구된 제16 불휘발성 메모리 다이(NVM_16)의 데이터를 제1 도메인 서버(112_1)로 출력하여, 제2 플래시 도메인(FD_1)의 제16 불휘발성 메모리 다이(NVM_16)를 스페어 메모리 다이로 교체할 수 있다.
또한, 제2 플래시 도메인(FD_1)의 제16 불휘발성 메모리 다이(NVM_16)의 데이터가 스페어 메모리 다이로 이동됨에 따라, 상기 제16 불휘발성 메모리 다이(NVM_16)의 데이터에 대응되는 제2 논리적 어드레스의 일부가 변경될 수 있고, 변경 전후의 제2 논리적 어드레스에 관한 맵핑 정보는 재분배기(113)의 매핑 테이블에 저장될 수 있다.
도 4 및 도 5c를 참조하면, 제1 플래시 도메인(FD_0) 및 제2 플래시 도메인(FD_1)은 각각 스페어 메모리 다이를 포함할 수 있다. 제2 플래시 도메인(FD_1)의 제15 및 제16 불휘발성 메모리 다이(NVM_15, NVM_16)에 페일이 발생될 때의 데이터 이동 동작의 일 예를 설명하면 다음과 같다.
도 5a에서 전술한 바와 같이, 데이터 복구 동작을 수행함으로써, 제2 플래시 도메인(FD_1)의 제15 및 제16 불휘발성 메모리 다이(NVM_15, NVM_16)의 데이터는 복구될 수 있다. 복구된 제16 불휘발성 메모리 다이(NVM_16)의 데이터는 제2 플래시 도메인(FD_1)의 스페어 메모리 다이로 이동(Migration_1)되고, 저장될 수 있다. 복구된 제15 불휘발성 메모리 다이(NVM_15)의 데이터는 제1 플래시 도메인(FD_0)의 스페어 메모리 다이로 이동(Migration_2)되고, 저장될 수 있다.
다만, 도 5a에서와는 달리 제15 불휘발성 메모리 다이(NVM_15)의 데이터 데이터는 기존에 저장되어 있던 제2 플래시 도메인(FD_1)과는 다른 플래시 도메인인 제1 플래시 도메인(FD_0)으로 이동하게 된다. 따라서, 재분배기(113)는 도메인 분배기(111)로부터 수신한 제2 데이터 중 복구된 제15 불휘발성 메모리 다이(NVM_15)의 데이터를 제1 도메인 서버(112_1)로 출력하여, 제2 플래시 도메인(FD_1)의 제16 불휘발성 메모리 다이(NVM_16)를 스페어 메모리 다이로 교체할 수 있다.
또한, 제2 플래시 도메인(FD_1)의 제15 불휘발성 메모리 다이(NVM_15)의 데이터가 스페어 메모리 다이로 이동됨에 따라, 제2 플래시 도메인(FD_1)의 제15 불휘발성 메모리 다이(NVM_15)의 데이터에 대응되는 제2 논리적 어드레스의 일부가 변경될 수 있고, 변경 전후의 제2 논리적 어드레스에 관한 맵핑 정보는 재분배기(113)의 매핑 테이블에 저장될 수 있다.
도 5a 내지 도 5c를 참조하여, 전술한 본 개시의 일 실시예에 따르면, 독출 단위의 데이터에 대한 복구 동작을 통해 복구된 데이터를 호스트로 출력함과 함께, 복구된 데이터를 스페어 메모리 다이로 이동시킬 수 있다. 이에 따라, 호스트로부터의 요청에 응답하여 정상적으로 복구된 데이터가 바로 호스트로 제공될 수 있으며, 이후 상기 페일 메모리 다이에 대한 독출 동작이 재차 요청되더라도, 복구 동작을 별도로 수행함이 없이 스페어 메모리 다이로부터 정상적인 데이터가 독출될 수 있다.
또한, 플래시 도메인마다 스페어 메모리 다이를 모두 포함하지 않더라도, 스페어 메모리 다이를 포함하지 않은 플래시 도메인에서 발생된 페일 메모리 다이를 다른 플래시 도메인의 스페어 메모리 다이를 이용하여 교체가 가능하다. 따라서, 각각의 플래시 도메인 마다 스페어 메모리 다이를 포함하도록 구성하여 발생할 수 있는 스페어 메모리 다이의 낭비를 방지할 수 있다. 더불어, 플래시 도메인에 복수의 페일 메모리 다이들이 발생되더라도, 복수의 페일 메모리 다이들 중 일부를 다른 플래시 도메인의 스페어 메모리 다이로 교체할 수 있으므로, 페일 메모리 다이의 관리에 효율적일 수 있다.
도 6은 본 개시의 기술적 사상에 따른 메모리 시스템을 나타내는 블록도 이다. 도 6에서 도 4에서와 동일한 참조 부호는 동일 부재를 의미하며, 여기서는 설명의 간략화를 위하여 중복되는 구성의 상세한 설명은 생략한다.
도 6을 참조하면, 메모리 시스템(1000A)은 HCPU(110A) 및 제1 내지 제4 플래시 도메인(FD_0-FD_3)을 포함할 수 있다. HCPU(110A)는 도메인 분배기(111), 제1 내지 제4 도메인 서버(112_1-112_4) 및 제1 및 제2 재분배기(113_1, 113_2)를 포함할 수 있다.
제1 재분배기(113_1)는 제1 및 제2 도메인 서버(112_1-112_2)와 도메인 분배기(111) 사이에서 서로 연결될 수 있다. 제1 재분배기(113_1)는 도메인 분배기(111)로부터 전송된 제1 및 제2 내부 커맨드, 제1 및 제2 데이터 및 제1 및 제2 논리적 어드레스를 제1 및 제2 도메인 서버(112_1-112_2)로 전달할 수 있다. 제1 및 제2 플래시 도메인(FD_0, FD_1)가 페일 메모리 다이를 포함하지 않는 경우에는 제1 재분배기(113_1)는 제1 데이터를 제1 도메인 서버(112_1)로 출력하고, 제2 데이터를 제2 도메인 서버(112_2)로 출력한다. 제1 및 제2 플래시 도메인(FD_0, FD_1)가 페일 메모리 다이를 포함하는지 여부 및 제1 및 제2 플래시 도메인(FD_0, FD_1)가 스페어 메모리 다이를 포함하는지 여부에 따라, 제1 재분배기(113_1)는 제2 데이터 중 일부를 제1 도메인 서버(112_1)로 출력하거나, 제1 데이터 중 일부를 제2 도메인 서버(112_2)로 출력할 수 있다.
제2 재분배기(113_2)는 제3 및 제4 도메인 서버(112_3-112_4)와 도메인 분배기(111) 사이에서 서로 연결될 수 있다. 제2 재분배기(113_2)는 도메인 분배기(111)로부터 전송된 제3 및 제4 내부 커맨드, 제3 및 제4 데이터 및 제3 및 제4 논리적 어드레스를 제3 및 제4 도메인 서버(112_3-112_4)로 전달할 수 있다. 제3 및 제4 플래시 도메인(FD_2, FD_3)이 페일 메모리 다이를 포함하지 않는 경우, 제2 재분배기(113_2)는 제3 데이터를 제3 도메인 서버(112_3)로 출력하고, 제4 데이터를 제4 도메인 서버(112_4)로 출력한다. 제3 및 제4 플래시 도메인(FD_2, FD_3)이 페일 메모리 다이를 포함하는지 여부 및 제3 및 제4 플래시 도메인(FD_2, FD_3)이 스페어 메모리 다이를 포함하는지 여부에 따라, 제1 재분배기(113_1)는 제4 데이터 중 일부를 제3 도메인 서버(112_3)로 출력하거나, 제3 데이터 중 일부를 제4 도메인 서버(112_4)로 출력할 수 있다.
따라서, 제1 및 제2 재분배기(113_1, 113_2)는 각각 도 5a 내지 도 5c의 설명에서 전술한 바와 같이 제1 내지 제4 플래시 도메인(FD_0-FD_4)에 페일 메모리 다이가 발생했을 때, 복구된 데이터를 스페어 메모리 다이로 이동시킬 수 있다. 다만, 이에 한정되는 것은 아니며, HCPU(110A)는 제1 및 제2 재분배기(113_1, 113_2) 중 하나만을 포함할 수도 있다.
도 7은 본 개시의 기술적 사상에 따른 메모리 시스템을 나타내는 블록도 이다. 도 7에서 도 4에서와 동일한 참조 부호는 동일 부재를 의미하며, 여기서는 설명의 간략화를 위하여 중복되는 구성의 상세한 설명은 생략한다.
도 7을 참조하면, 메모리 시스템(1000B)은 HCPU(110B) 및 제1 내지 제4 플래시 도메인(FD_0-FD_3)을 포함할 수 있다. HCPU(110B)는 도메인 분배기(111), 제1 내지 제4 도메인 서버(112_1-112_4) 및 재분배기(113B)를 포함할 수 있다.
도메인 분배기(111)는 제1 내지 제4 내부 커맨드, 제1 내지 제4 데이터 및 제1 내지 제4 논리적 어드레스를 각각 제1 내지 제4 도메인 서버(112_1-112_4)로 출력할 수 있다. 제1 내지 제4 도메인 서버(112_1-112_4) 각각은 도메인 분배기(111)로부터 제1 내지 제4 내부 커맨드, 제1 내지 제4 데이터 및 제1 내지 제4 논리적 어드레스를 각각 수신하여, 재분배기(113B)로 각각 출력할 수 있다.
재분배기(113B)는 제1 내지 제4 도메인 서버(112_1-112_4)와 제1 내지 제4 플래시 도메인(FD_0-FD_3)사이에서 서로 연결될 수 있다. 재분배기(113B)는 제1 내지 제4 도메인 서버(112_1-112_4)로부터 전송된 제1 내지 제4 내부 커맨드, 제1 내지 제4 데이터 및 제1 내지 제4 논리적 어드레스를 제1 내지 제4 플래시 도메인(FD_0-FD_3)으로 전달할 수 있다. 제1 내지 제4 플래시 도메인(FD_1-FD_4)이 페일 메모리 다이를 포함하지 않는 경우에, 재분배기(113B)는 제1 데이터를 제1 플래시 도메인(FD_0)으로, 제2 데이터를 제2 플래시 도메인(FD_1)으로, 제3 데이터를 제4 플래시 도메인(FD_2)으로, 제4 데이터를 제4 플래시 도메인(FD_3)으로 각각 전송한다.
제1 내지 제4 플래시 도메인(FD_0-FD_3)이 페일 메모리 다이를 포함하는지 여부 및 제1 내지 제4 플래시 도메인(FD_0-FD_3)이 스페어 메모리 다이를 포함하는지에 따라, 재분배기(113B)는 제1 내지 제4 논리적 어드레스 중 일부를 변경하여, 제1 내지 제4 데이터 중 일부를 페일 메모리 다이를 포함하지 않는 경우와는 다른 플래시 도메인으로 출력할 수 있다. 따라서, 재분배기(113B)는 각각 도 5a 내지 도 5c의 설명에서 전술한 바와 같이 제1 내지 제4 플래시 도메인(FD_0-FD_3)에 페일 메모리 다이가 발생했을 때, 복구된 데이터를 스페어 메모리 다이로 이동시킬 수 있다.
도 8은 본 개시의 기술적 사상에 따른 메모리 시스템을 나타내는 블록도 이다. 도 8에서 도 4 및 도 7에서와 동일한 참조 부호는 동일 부재를 의미하며, 여기서는 설명의 간략화를 위하여 중복되는 구성의 상세한 설명은 생략한다.
도 8을 참조하면, 메모리 시스템(1000C)은 HCPU(110C) 및 제1 내지 제4 플래시 도메인(FD_0-FD_3)을 포함할 수 있다. HCPU(110C)는 도메인 분배기(111), 제1 내지 제4 도메인 서버(112_1-112_4) 및 제1 및 제2 재분배기(113_1B, 113_2B)를 포함할 수 있다.
제1 및 제2 도메인 서버(112_1, 112_2) 도메인 분배기(111)로부터 제1 및 제2 내부 커맨드, 제1 및 제2 데이터 및 제1 및 제2 논리적 어드레스를 각각 수신하여, 제1 재분배기(113_1B)로 각각 출력할 수 있다. 제3 및 제4 도메인 서버(112_3, 112_4) 도메인 분배기(111)로부터 제3 및 제4 내부 커맨드, 제3 및 제4 데이터 및 제3 및 제4 논리적 어드레스를 각각 수신하여, 제2 재분배기(113_2B)로 각각 출력할 수 있다.
제1 및 제2 플래시 도메인(FD_0, FD_1)이 페일 메모리 다이를 포함하지 않는 경우에, 제1 재분배기(113_1)는 제1 데이터를 제1 플래시 도메인(FD_0)으로 출력하고, 제2 데이터를 제2 플래시 도메인(FD_1)으로 출력한다. 제1 및 제2 플래시 도메인(FD_0, FD_1)이 페일 메모리 다이를 포함하는지 여부 및 제1 및 제2 플래시 도메인(FD_0, FD_1)이 스페어 메모리 다이를 포함하는지 여부에 따라, 제1 재분배기(113_1B)는 제2 데이터 중 일부를 제1 플래시 도메인(FD_0)로 출력하거나, 제1 데이터 중 일부를 제2 플래시 도메인(FD_1)로 출력할 수 있다.
제3 및 제4 플래시 도메인(FD_2, FD_3)이 페일 메모리 다이를 포함하지 않는 경우에, 제2 재분배기(113_2B)는 제3 데이터를 제3 플래시 도메인(FD_2)으로 출력하고, 제4 데이터를 제4 플래시 도메인(FD_3)으로 출력한다. 제3 및 제4 플래시 도메인(FD_2, FD_3)이 페일 메모리 다이를 포함하는지 여부 및 제3 및 제4 플래시 도메인(FD_2, FD_3)이 스페어 메모리 다이를 포함하는지 여부에 따라, 제2 재분배기(113_2B)는 제4 데이터 중 일부를 제3 플래시 도메인(FD_2)로 출력하거나, 제3 데이터 중 일부를 제4 플래시 도메인(FD_3)로 출력할 수 있다.
따라서, 제1 및 제2 재분배기(113_1B, 113_2B)는 각각 도 5a 내지 도 5c의 설명에서 전술한 바와 같이 제1 내지 제4 플래시 도메인(FD_0-FD_3)에 페일 메모리 다이가 발생했을 때, 복구된 데이터를 스페어 메모리 다이로 이동시킬 수 있다.
다만, 이에 한정되는 것은 아니며, HCPU(110C)는 제1 및 제2 재분배기(113_1B, 113_2B) 중 하나만을 포함할 수도 있다.
도 9는 본 개시의 다양한 실시예들에 따른 메모리 시스템의 동작 방법을 나타내는 플로우 차트이다.
도 9를 참조하면, 복수의 플래시 도메인에 포함된 불휘발성 메모리 다이에 대한 독출 커맨드가 수신되면, 불휘발성 메모리 다이로부터 독출 단위의 데이터와 이에 대응하는 ECC 패리티가 독출되고, ECC 패리티를 이용한 에러 정정 동작이 수행될 수 있다. 제1 플래시 도메인에 포함된 불휘발성 메모리 다이의 독출 단위의 ECC 페일이 검출되면(S21), 독출된 데이터에 대한 에러 정정 동작이 실패하고, 이에 따라 상기 페일이 발생된 불휘발성 메모리 다이에 저장된 데이터를 복구하기 위한 복구 동작이 수행될 수 있다. (S22) 예를 들어, RAID 리커버리 동작이 수행될 수 있다.
이와 함께, 도메인 분배기는 각 플래시 도메인으로부터 스페어 메모리 다이가 존재하는지 여부에 대한 정보를 수신하고, 제1 플래시 도메인에 스페어 메모리 다이가 존재하는지를 판단할 수 있다. (S23) 도메인 분배기는 제1 플래시 도메인에 스페어 메모리 다이가 있더라도, 이미 다른 데이터가 저장되어 있다면 더 이상 스페어 메모리 다이로 판단하지 않을 수 있다.
제1 플래시 도메인에 스페어 메모리 다이가 존재한다면, 재분배기는 복구된 데이터를 제1 플래시 도메인으로 직접 전송하거나, 제1 플래시 도메인과 연결된 제1 도메인 서버로 전송할 수 있다. 따라서, 복구된 데이터가 제1 플래시 도메인의 스페어 메모리 다이로 이동할 수 있다. (S24)
제1 플래시 도메인에 스페어 메모리 다이가 존재하지 않는다면, 재분배기는 도메인 분배기로부터 스페어 메모리 다이를 포함하는 제2 플래시 도메인에 대한 정보를 수신하고, 복구된 데이터를 제2 플래시 도메인으로 직접 전송하거나, 제2 플래시 도메인과 연결된 제2 도메인 서버로 전송할 수 있다. 따라서, 복구된 데이터가 제2 플래시 도메인의 스페어 메모리 다이로 이동할 수 있다. (S25) 제1 플래시 도메인의 불휘발성 메모리 다이에 저장되어 있던 데이터를 제2 플래시 도메인의 불휘발성 메모리 다이로 이동시켜 저장함에 따라 변경된 논리적 어드레스에 대한 정보는 재분배기의 맵핑 테이블에 저장될 수 있다. (S26)
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.
10: 시스템 1000: 메모리 시스템 2000: 호스트 100: 콘트롤러
200: 불휘발성 메모리 장치들 110: HCPU 111: 도메인 분배기 112: 도메인 서버
113: 재분배기

Claims (10)

  1. 제1 스페어 메모리 다이를 포함하는 제1 플래시 도메인;
    복수의 비휘발성 메모리 다이들을 포함하는 제2 플래시 도메인;
    제1 데이터 및 제2 데이터를 생성하며, 상기 제1 데이터에 대응하는 제1 논리적 어드레스 및 상기 제2 데이터에 대응하는 제2 논리적 어드레스를 생성하는 도메인 분배기; 및
    상기 도메인 분배기로부터 상기 제1 데이터 및 상기 제2 데이터를 수신하여 상기 제1 플래시 도메인 및 상기 제2 플래시 도메인으로 상기 제1 데이터 및 상기 제2 데이터를 제공하는 제1 재분배기; 를 포함하고,
    상기 제1 재분배기는,
    상기 제2 플래시 도메인이 제1 페일 메모리 다이를 포함할 때, 상기 제2 데이터 중 상기 제1 페일 메모리 다이에 대응하는 일부 데이터를 상기 제1 플래시 도메인으로 제공하여, 상기 제1 페일 메모리 다이를 상기 제1 스페어 메모리 다이로 교체하는 것을 특징으로 하는 메모리 시스템.
  2. 제1 항에 있어서,
    상기 제1 플래시 도메인과 데이터를 서로 송수신하는 제1 도메인 서버;및
    상기 제2 플래시 도메인과 데이터를 서로 송수신하는 제2 도메인 서버;를 더 포함하는 것을 특징으로 하는 메모리 시스템.
  3. 제1 항에 있어서,
    상기 제2 플래시 도메인이 상기 제1 페일 메모리 다이를 포함할 때,
    상기 제1 재분배기는 상기 제2 논리적 어드레스를 변경하고, 변경된 제2 논리적 어드레스를 포함하는 매핑 테이블을 저장하는 것을 특징으로 하는 메모리 시스템.
  4. 제1 항에 있어서,
    상기 제2 플래시 도메인은 제2 스페어 메모리 다이를 포함하고,
    상기 제1 재분배기는, 도메인 분배기로부터 상기 제2 스페어 메모리 다이에 다른 데이터가 저장되어 있는지에 대한 정보를 수신하여, 상기 제2 데이터 중 상기 제1 페일 메모리 다이에 대응하는 일부 데이터를 상기 제1 플래시 도메인으로 제공할지를 결정하는 것을 특징으로 하는 메모리 시스템.
  5. 제1 항에 있어서,
    상기 복수의 비휘발성 메모리 다이들로부터 독출된 데이터 및 RAID 패리티를 이용하여, 상기 페일 메모리 다이에 저장된 데이터를 복구하는 리커버리 동작을 수행하는 것을 특징으로 하는 메모리 시스템.
  6. 제5 항에 있어서,
    상기 제1 재분배기는 복구된 데이터를 상기 제1 플래시 도메인으로 제공하여, 복구된 데이터가 상기 제1 스페어 메모리 다이에 저장되는 것을 특징으로 하는 메모리 시스템.
  7. 제1 항에 있어서,
    복수의 비휘발성 메모리 다이를 포함하는 제3 플래시 도메인; 및
    복수의 비휘발성 메모리 다이들을 포함하는 제4 플래시 도메인;을 더 포함하는 것을 특징으로 하는 메모리 시스템.
  8. 제7 항에 있어서,
    상기 도메인 분배기는 제3 데이터 및 제4 데이터를 생성하며, 상기 제3 데이터에 대응하는 제3 논리적 어드레스 및 상기 제4 데이터에 대응하는 제4 논리적 어드레스를 생성하고,
    상기 제1 재분배기는, 상기 도메인 분배기로부터 상기 제3 데이터 및 상기 제4 데이터를 수신하여, 상기 제3 플래시 도메인 및 상기 제4 플래시 도메인으로 상기 제3 데이터 및 상기 제4 데이터를 제공하는 것을 특징으로 하는 메모리 시스템.
  9. 제1 항에 있어서,
    상기 도메인 분배기 및 상기 제1 재분배기는 하나의 기능 모듈을 구성하는 것을 특징으로 하는 메모리 시스템.
  10. 제1 스페어 메모리 다이를 포함하는 제1 플래시 도메인;
    복수의 비휘발성 메모리 다이들을 포함하는 제2 플래시 도메인;
    제1 데이터 및 제2 데이터를 생성하며, 상기 제1 데이터에 대응하는 제1 논리적 어드레스 및 상기 제2 데이터에 대응하는 제2 논리적 어드레스를 생성하는 도메인 분배기;
    상기 제1 플래시 도메인 및 상기 제2 플래시 도메인으로 상기 제1 데이터 및 상기 제2 데이터를 출력하는 제1 재분배기;
    상기 제1 재분배기로 상기 제1 데이터를 출력하는 제1 도메인 서버; 및
    상기 제1 재분배기로 상기 제2 데이터를 출력하는 제2 도메인 서버;를 포함하고,
    상기 제1 재분배기는,
    상기 제2 플래시 도메인이 제1 페일 메모리 다이를 포함할 때, 상기 제2 데이터 중 상기 제1 페일 메모리 다이에 대응하는 일부 데이터를 상기 제1 플래시 도메인으로 출력하여, 상기 페일 메모리 다이를 상기 제1 스페어 메모리 다이로 교체하는 것을 특징으로 하는 메모리 시스템.
KR1020160162304A 2016-11-30 2016-11-30 재분배기를 포함하는 메모리 시스템 KR20180062246A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160162304A KR20180062246A (ko) 2016-11-30 2016-11-30 재분배기를 포함하는 메모리 시스템
US15/711,196 US10740244B2 (en) 2016-11-30 2017-09-21 Memory system including a redirector for replacing a fail memory die with a spare memory die

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160162304A KR20180062246A (ko) 2016-11-30 2016-11-30 재분배기를 포함하는 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20180062246A true KR20180062246A (ko) 2018-06-08

Family

ID=62190851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160162304A KR20180062246A (ko) 2016-11-30 2016-11-30 재분배기를 포함하는 메모리 시스템

Country Status (2)

Country Link
US (1) US10740244B2 (ko)
KR (1) KR20180062246A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331584B2 (en) * 2017-03-09 2019-06-25 Toshiba Memory Corporation Internal system namespace exposed through use of two local processors and controller memory buffer with two reserved areas

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055249B2 (en) 2019-06-25 2021-07-06 Micron Technology, Inc. Access optimization in aggregated and virtualized solid state drives
US11762798B2 (en) 2019-06-25 2023-09-19 Micron Technology, Inc. Aggregated and virtualized solid state drives with multiple host interfaces
US10942846B2 (en) 2019-06-25 2021-03-09 Micron Technology, Inc. Aggregated and virtualized solid state drives accessed via multiple logical address spaces
US11513923B2 (en) 2019-06-25 2022-11-29 Micron Technology, Inc. Dynamic fail-safe redundancy in aggregated and virtualized solid state drives
US11573708B2 (en) * 2019-06-25 2023-02-07 Micron Technology, Inc. Fail-safe redundancy in aggregated and virtualized solid state drives
US11768613B2 (en) 2019-06-25 2023-09-26 Micron Technology, Inc. Aggregation and virtualization of solid state drives
US10942881B2 (en) 2019-06-25 2021-03-09 Micron Technology, Inc. Parallel operations in aggregated and virtualized solid state drives

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4818812B2 (ja) * 2006-05-31 2011-11-16 株式会社日立製作所 フラッシュメモリストレージシステム
WO2009020436A1 (en) 2007-08-06 2009-02-12 Agency For Science, Technology And Research Process of forming a cadmium and selenium containing nanocrystalline composite and nanocrstalline composite obtained therefrom
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US20100162037A1 (en) * 2008-12-22 2010-06-24 International Business Machines Corporation Memory System having Spare Memory Devices Attached to a Local Interface Bus
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US8700842B2 (en) 2010-04-12 2014-04-15 Sandisk Enterprise Ip Llc Minimizing write operations to a flash memory-based object store
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
WO2012050934A2 (en) * 2010-09-28 2012-04-19 Fusion-Io, Inc. Apparatus, system, and method for a direct interface between a memory controller and non-volatile memory using a command protocol
US9195588B2 (en) 2010-11-02 2015-11-24 Hewlett-Packard Development Company, L.P. Solid-state disk (SSD) management
US9032244B2 (en) 2012-11-16 2015-05-12 Microsoft Technology Licensing, Llc Memory segment remapping to address fragmentation
US9135164B2 (en) * 2013-03-15 2015-09-15 Virident Systems Inc. Synchronous mirroring in non-volatile memory systems
US20150039813A1 (en) 2013-08-05 2015-02-05 Greenliant Llc NAND Interface Capacity Extender Device For Extending Solid State Drives Capacity, Performance, And Reliability
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9424131B2 (en) 2013-09-19 2016-08-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Spatially decoupled redundancy schemes for a solid state drive (SSD)
US9471428B2 (en) 2014-05-06 2016-10-18 International Business Machines Corporation Using spare capacity in solid state drives
US20150370670A1 (en) 2014-06-18 2015-12-24 NXGN Data, Inc. Method of channel content rebuild via raid in ultra high capacity ssd

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331584B2 (en) * 2017-03-09 2019-06-25 Toshiba Memory Corporation Internal system namespace exposed through use of two local processors and controller memory buffer with two reserved areas

Also Published As

Publication number Publication date
US10740244B2 (en) 2020-08-11
US20180150401A1 (en) 2018-05-31

Similar Documents

Publication Publication Date Title
US10740244B2 (en) Memory system including a redirector for replacing a fail memory die with a spare memory die
KR102391499B1 (ko) 저장 장치 및 그 동작 방법
US9812209B2 (en) System and method for memory integrated circuit chip write abort indication
US11048585B2 (en) Storage device and operating method thereof
US11915763B2 (en) Operating method of memory system including memory controller and nonvolatile memory device
KR20140013392A (ko) 불휘발성 메모리 장치 및 그것의 데이터 관리 방법
CN112860178B (zh) 存储器装置、存储器控制器、存储器系统及其操作方法
CN111128280B (zh) 存储装置及其操作方法
CN114863962A (zh) 存储器系统及其操作方法
US11194732B2 (en) Storage device and method of operating the same
US11561725B2 (en) System and operating method thereof
CN111258931A (zh) 存储器控制器及操作该存储器控制器的方法
US11237768B2 (en) Memory device changing memory area in which data is stored and operating method thereof
US11036586B2 (en) Storage device and operating method thereof
CN113936721A (zh) 存储器系统、存储器装置和操作存储器装置的方法
CN113703662A (zh) 存储器系统、存储器控制器及其操作方法
CN115952115A (zh) 基于融合链表控制同步操作的存储器控制器及其操作方法
CN112447234A (zh) 存储器控制器及其操作方法
KR20200117555A (ko) 메모리 시스템, 메모리 장치 및 메모리 컨트롤러
CN114296631B (zh) 存储器系统及其操作方法
US11966608B2 (en) Memory controller with improved data reliability and memory system including the same
CN115481056A (zh) 存储器系统及存储器系统的操作方法
KR20240050109A (ko) 반도체 메모리 장치 및 이의 동작 방법
CN114968078A (zh) 存储器装置及其操作方法
CN114911721A (zh) 存储器系统及存储器系统的操作方法

Legal Events

Date Code Title Description
A201 Request for examination