KR20230068240A - Storage device including the same and method of operating the same - Google Patents
Storage device including the same and method of operating the same Download PDFInfo
- Publication number
- KR20230068240A KR20230068240A KR1020220012595A KR20220012595A KR20230068240A KR 20230068240 A KR20230068240 A KR 20230068240A KR 1020220012595 A KR1020220012595 A KR 1020220012595A KR 20220012595 A KR20220012595 A KR 20220012595A KR 20230068240 A KR20230068240 A KR 20230068240A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory
- path
- recovery data
- core
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
Abstract
스토리지 장치 및 이의 동작 방법이 개시된다. 스토리지 장치는, 복수의 메모리 영역들을 포함하는 비휘발성 메모리, 퍼포먼스 패쓰 및 적어도 하나의 다이렉트 패쓰를 통해 비휘발성 메모리를 제어하고 리커버리 데이터를 저장하는 버퍼 메모리를 포함하는 스토리지 컨트롤러를 포함하고, 스토리지 컨트롤러는, 전원이 차단되고 퍼포먼스 패쓰에 고장이 감지되면적어도 하나의 다이렉스 패쓰를 통해 리커버리 데이터를 비휘발성 메모리에 기입하고, 퍼포먼스 패쓰는 데이터에 대한 기입 동작, 독출 동작 및 소거 동작을 수행하는 경로이고, 적어도 하나의 다이렉트 패쓰는 데이터에 대한 기입 동작만을 수행하는 경로일 수 있다.A storage device and a method of operating the same are disclosed. The storage device includes a storage controller including a non-volatile memory including a plurality of memory areas, a performance path, and a buffer memory that controls the non-volatile memory and stores recovery data through a performance path and at least one direct path. , When power is cut off and a failure is detected in the performance path, recovery data is written to a non-volatile memory through at least one direct path, and the performance path is a path for performing a write operation, a read operation, and an erase operation for data, At least one direct path may be a path that performs only a write operation on data.
Description
본 개시의 기술적 사상은 스토리지 장치 및 이의 동작 방법에 관한 것으로서, 더욱 상세하게는 전원 차단 복구(power off recovery) 동작을 수행하는 스토리지 장치 및 이의 동작 방법에 관한 것이다.The technical idea of the present disclosure relates to a storage device and an operating method thereof, and more particularly, to a storage device performing a power off recovery operation and an operating method thereof.
비휘발성 메모리로서 플래시 메모리는 전원이 차단되어도 저장하고 있는 데이터를 유지할 수 있다. 최근 eMMC(embedded Multi-Media Card), UFS(Universal Flash Storage), SSD(Solid State Drive), 및 메모리 카드 등의 플래시 메모리를 포함하는 스토리지 장치가 널리 사용되고 있으며, 스토리지 장치는 많은 양의 데이터를 저장하거나 이동시키는데 유용하게 사용되고 있다. 스토리지 장치의 신뢰성을 향상시킬 수 있는 방법 및 장치에 대한 요구가 지속적으로 제기되고 있다.As a non-volatile memory, flash memory can retain stored data even when power is cut off. Recently, storage devices including flash memories such as embedded multi-media cards (eMMC), universal flash storage (UFS), solid state drives (SSDs), and memory cards have been widely used, and storage devices store large amounts of data. It is useful for moving or moving. Demands for methods and devices capable of improving the reliability of storage devices are continuously raised.
외부 요인에 의하여 전원이 급작스럽게 오프되는 예를 들어, 파워 페일(power fail)이 발생할 경우, 스토리지 장치 내부의 버퍼 메모리에 존재하던 데이터가 손실될 수 있다. 이를 방지하기 위해, PLP(power loss protection)를 적용할 수 있다. PLP가 적용된 경우, 파워 로스(power loss)시, 예비 전력을 공급하여 버퍼 메모리에 존재하는 데이터를 비휘발성 메모리로 이동시킬 수 있다.When power is suddenly turned off by an external factor, for example, a power failure occurs, data existing in a buffer memory inside the storage device may be lost. To prevent this, power loss protection (PLP) may be applied. When the PLP is applied, in case of power loss, data existing in the buffer memory may be moved to the non-volatile memory by supplying reserve power.
본 개시의 기술적 사상이 해결하고자 하는 과제는, 파워 페일 처리 도중 오류가 발생하더라도 에러 상태가 되는 것이 방지될 수 있는 스토리지 장치 및 이의 동작 방법을 제공하는 데에 있다.An object to be solved by the technical idea of the present disclosure is to provide a storage device and an operating method thereof capable of preventing an error state even when an error occurs during power fail processing.
상기 기술적 과제를 달성하기 위한 본 개시의 기술적 사상에 따른 스토리지 장치는, 복수의 메모리 영역들을 포함하는 비휘발성 메모리, 퍼포먼스 패쓰 및 적어도 하나의 다이렉트 패쓰를 통해 비휘발성 메모리를 제어하고 리커버리 데이터를 저장하는 버퍼 메모리를 포함하는 스토리지 컨트롤러를 포함하고, 스토리지 컨트롤러는, 전원이 차단되고 퍼포먼스 패쓰에 고장이 감지되면적어도 하나의 다이렉스 패쓰를 통해 리커버리 데이터를 비휘발성 메모리에 기입하고, 퍼포먼스 패쓰는 데이터에 대한 기입 동작, 독출 동작 및 소거 동작을 수행하는 경로이고, 적어도 하나의 다이렉트 패쓰는 데이터에 대한 기입 동작만을 수행하는 경로일 수 있다.A storage device according to the technical idea of the present disclosure for achieving the above technical problem is to control the nonvolatile memory and store recovery data through a nonvolatile memory including a plurality of memory areas, a performance path, and at least one direct path. A storage controller including a buffer memory, wherein the storage controller writes recovery data to a non-volatile memory through at least one direct path when power is cut off and a failure is detected in the performance path, and the performance path is A path for performing a write operation, a read operation, and an erase operation, and at least one direct path may be a path for performing only a write operation on data.
상기 기술적 과제를 달성하기 위한 본 개시의 기술적 사상에 따른 스토리지 컨트롤러 및 비휘발성 메모리를 포함하는 스토리지 장치의 동작 방법은, 전원이 차단되고 퍼포먼스 패쓰에 고장이 감지되면 코어를 선택하고 버퍼 메모리에 기입된 리커버리 데이터를 수집하는 단계, 및 선택된 코어에 대응하는 다이렉트 패쓰를 통해 비휘발성 메모리에 리커버리 데이터를 기입하는 단계를 포함하고, 퍼포먼스 패쓰는 데이터에 대한 기입 동작, 독출 동작 및 소거 동작을 수행하는 경로이고, 다이렉트 패쓰는 데이터에 대한 기입 동작만을 수행하는 경로일 수 있다.In an operating method of a storage device including a storage controller and a non-volatile memory according to the technical idea of the present disclosure for achieving the above technical problem, when power is cut off and a failure in a performance path is detected, a core is selected and written to a buffer memory. Collecting recovery data, and writing the recovery data to a non-volatile memory through a direct path corresponding to the selected core, and the performance path is a path for performing a write operation, a read operation, and an erase operation for data. , the direct path may be a path that performs only a write operation on data.
상기 기술적 과제를 달성하기 위한 본 개시의 기술적 사상에 따른 스토리지 컨트롤러 및 비휘발성 메모리를 포함하는 스토리지 장치의 동작 방법은, 버퍼 메모리에 기입된 리커버리 데이터를 비휘발성 메모리에 기입하기 위한 기입 정보를 설정하는 단계, 전원이 차단되고 퍼포먼스 패쓰에 고장이 감지되면, 코어를 선택하고 리커버리 데이터를 수집하는 단계, 및 선택된 코어에 대응하는 다이렉트 패쓰를 통해 비휘발성 메모리에 리커버리 데이터를 기입하는 단계를 포함하고, 퍼포먼스 패쓰는 복수의 코어들을 포함하고, 다이렉트 패쓰는 대응하는 하나의 코어를 포함할 수 있다.A method of operating a storage device including a storage controller and a non-volatile memory according to the technical idea of the present disclosure for achieving the above technical problem includes setting write information for writing recovery data written in a buffer memory to a non-volatile memory. Step, when power is cut off and a failure is detected in the performance path, selecting a core and collecting recovery data, and writing recovery data to a non-volatile memory through a direct path corresponding to the selected core, A path may include a plurality of cores, and a direct path may include a corresponding one core.
본 개시의 기술적 사상에 따른 스토리지 장치는, 퍼포먼스 패쓰에 고장(fault)이 감지된 경우 코어가 직접적으로 비휘발성 메모리에 접근하는 다이렉트 패쓰를 통해 버퍼 메모리에 저장된 리커버리 데이터를 비휘발성 메모리에 저장할 수 있다. 따라서, 갑작스런 전원 차단 이후 오류, 즉, 파워 페일 처리 도중 오류가 발생하더라도 스토리지 장치가 에러 상태에 빠지지는 것이 방지되고, 스토리지 장치의 계속 사용이 가능할 수 있다.In the storage device according to the technical idea of the present disclosure, when a fault is detected in the performance path, recovery data stored in the buffer memory may be stored in the non-volatile memory through a direct path through which the core directly accesses the non-volatile memory. . Accordingly, even if an error occurs after a sudden power failure, ie, an error occurs during power failure processing, the storage device is prevented from entering an error state, and the storage device can be continuously used.
본 개시의 예시적 실시 예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 본 개시의 예시적 실시 예들에 대한 기재로부터 본 개시의 예시적 실시 예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시 예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시 예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.Effects that can be obtained in the exemplary embodiments of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned above can be obtained from the description of the exemplary embodiments of the present disclosure below. It can be clearly derived and understood by those skilled in the art to which they belong. That is, unintended effects according to the exemplary embodiments of the present disclosure may also be derived by those skilled in the art from the exemplary embodiments of the present disclosure.
도 1은 본 개시의 예시적인 실시 예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 2는 본 개시의 예시적인 실시 예에 따른 스토리지 장치의 스토리지 컨트롤러를 나타내는 블록도이다.
도 3 내지 도 5는 본 개시의 예시적인 실시 예에 따른 스토리지 장치에 전원이 차단될 때, 비휘발성 메모리에 데이터를 기입하는 동작을 설명하기 위한 도면들이다.
도 6는 도 1의 비휘발성 메모리에 포함된 복수의 메모리 장치들 중 하나의 메모리 장치를 설명하는 블록도이다.
도 7은 도 2의 버퍼 메모리에 저장된 리커버리 데이터를 설명하기 위한 도면이다.
도 8은 본 개시의 예시적인 실시 예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 9는 본 개시의 예시적인 실시 예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 10은 본 개시의 예시적인 실시 예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 11은 본 개시의 예시적 실시 예에 따른 스토리지 장치가 적용된 시스템을 도시한 도면이다.
도 12는 본 발명의 하나의 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.1 is a block diagram illustrating a storage system according to an exemplary embodiment of the present disclosure.
2 is a block diagram illustrating a storage controller of a storage device according to an exemplary embodiment of the present disclosure.
3 to 5 are diagrams for describing an operation of writing data to a nonvolatile memory when power is cut off to a storage device according to an exemplary embodiment of the present disclosure.
FIG. 6 is a block diagram illustrating one memory device among a plurality of memory devices included in the nonvolatile memory of FIG. 1 .
FIG. 7 is a diagram for explaining recovery data stored in the buffer memory of FIG. 2 .
8 is a flowchart illustrating a method of operating a storage device according to an exemplary embodiment of the present disclosure.
9 is a flowchart illustrating a method of operating a storage device according to an exemplary embodiment of the present disclosure.
10 is a flowchart illustrating a method of operating a storage device according to an exemplary embodiment of the present disclosure.
11 is a diagram illustrating a system to which a storage device according to an exemplary embodiment of the present disclosure is applied.
12 is a block diagram illustrating a memory system according to an exemplary embodiment of the inventive concept.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다.Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings.
도 1은 본 개시의 예시적인 실시 예에 따른 스토리지 시스템(10)을 나타내는 블록도이다.1 is a block diagram illustrating a
스토리지 시스템(10)은 예를 들어, PC(personal computer), 데이터 서버, 네트워크-결합 스토리지(network-attached storage, NAS), IoT(Internet of Things) 장치, 또는 휴대용 전자 기기로 구현될 수 있다. 휴대용 전자 기기는, 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라, 디지털 비디오 카메라, 오디오 장치, PMP(portable multimedia player), PND(personal navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), e-북(e-book), 웨어러블 기기 등일 수 있다.The
스토리지 시스템(10)은 스토리지 장치(100) 및 호스트(200)를 포함할 수 있다. 호스트(200)는 스토리지 장치(100)의 동작을 제어할 수 있다. 예시적인 실시 예에서, 스토리지 장치(100)는 하나 이상의 솔리드 스테이트 드라이브(Solid State Drive, SSD)를 포함할 수 있다. 스토리지 장치(100)가 솔리드 스테이트 드라이브를 포함하는 경우, 스토리지 장치(100)는 데이터를 저장하는 복수의 플래시 메모리 장치들(예를 들어, NAND 메모리 장치들)을 포함할 수 있다. The
스토리지 장치(100)는 하나 이상의 플래시 메모리 장치들을 포함하는 플래시 메모리 장치에 해당할 수 있다. 예시적인 실시 예에서, 스토리지 장치(100)는 스토리지 시스템(10)에 내장되는 임베디드(embedded) 메모리일 수 있다. 예를 들어, 스토리지 장치(100)는 eMMC(embedded Multi-Media Card) 또는 임베디드 UFS(Universal Flash Storage) 메모리 장치일 수 있다. 예시적인 실시 예에서, 스토리지 장치(100)는 스토리지 시스템(10)에 착탈 가능한 외장(external) 메모리일 수 있다. 예를 들어, 스토리지 장치(100)는 UFS 메모리 카드, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 또는 메모리 스틱(Memory Stick)일 수 있다.The
도 1을 참조하면, 스토리지 시스템(10)은 스토리지 장치(100) 및 호스트(200)를 포함할 수 있다. 호스트(200) 및 스토리지 장치(100)는 다양한 인터페이스를 통하여 서로 통신할 수 있다. 스토리지 장치(100)는 신호 커넥터(signal connector, 140)를 통해 호스트(200)와 신호를 주고 받을 수 있고, 파워 커넥터(power connector, 150)를 통해 전원을 입력 받을 수 있다. Referring to FIG. 1 , a
호스트(200)는 리드 요청 및 프로그램 요청 등의 요청(REQ)을 스토리지 장치(100)에 전달할 수 있다. 예시적인 실시 예에서, 호스트(200)는 AP(Application Processor) 또는 SoC(System-On-a-Chip, SoC)로 구현될 수 있다. The
스토리지 장치(100)는 스토리지 컨트롤러(110), 비휘발성 메모리(120) 및 보조 전원 장치(130)를 포함할 수 있다.The
스토리지 컨트롤러(110)는 신호 커넥터(140)를 통해 호스트(200)와 신호들을 주고 받을 수 있다. 여기에서, 신호들에는 요청(REQ), 데이터(DATA) 및 에러 신호(ES) 등이 포함될 수 있다. The
스토리지 컨트롤러(110)는 채널(CH)을 통해 비휘발성 메모리(120)의 동작을 제어할 수 있다. 스토리지 컨트롤러(110)는 호스트(200)로부터의 리드 요청에 응답하여 비휘발성 메모리(120)에 저장된 데이터(DATA)를 독출하거나, 또는 호스트(200)로부터의 라이트 요청에 응답하여 비휘발성 메모리(120)에 데이터(DATA)를 기입하도록 비휘발성 메모리(120)를 제어할 수 있다. The
예시적인 실시 예에서, 비휘발성 메모리(120)는 데이터를 저장하는 복수의 메모리 장치(121)들을 포함할 수 있다. 복수의 메모리 장치들 각각은 반도체 칩, 또는 반도체 다이(die)일 수 있다. 복수의 메모리 장치들 각각은 대응하는 채널에 연결될 수 있다. 예를 들어, 복수의 메모리 장치(121)들은 제1 채널을 통해 스토리지 컨트롤러(110)와 연결되는 제1 메모리 장치들, 제2 채널을 통해 스토리지 컨트롤러(110)와 연결되는 제2 메모리 장치들, 및 제m 채널을 통해 스토리지 컨트롤러(110)와 연결되는 제m 메모리 장치들을 포함할 수 있다. 이 때, m는 2이상의 자연수일 수 있다. 복수의 메모리 장치(121)들 중 동일한 채널에 연결된 복수의 메모리 장치들은 인터리빙 방식으로 기입 동작, 독출 동작 및 소거 동작이 수행될 수 있다.In an exemplary embodiment, the
복수의 메모리 장치(121)들 각각은 메모리 셀 어레이를 포함할 수 있고, 예시적인 실시 예에서, 메모리 셀 어레이는 플래시 메모리 셀들을 포함할 수 있고, 예를 들어, 플래시 메모리 셀들은 낸드(NAND) 플래시 메모리 셀들일 수 있다. 그러나, 본 개시는 이에 한정되지 않고, 메모리 셀들은 ReRAM(resistive RAM), PRAM(phase change RAM), MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수도 있다.Each of the plurality of
보조 전원 장치(130)는 파워 커넥터(150)를 통해 호스트(200)와 연결될 수 있다. 보조 전원 장치(130)는 호스트(200)로부터 전원(PWR)을 입력 받고, 충전할 수 있다. 다만, 보조 전원 장치(130)는 스토리지 장치(100) 내에 위치할 수도 있고, 스토리지 장치(100) 밖에 위치할 수도 있다. 보조 전원 장치(130)는 전원(PWR)에 기초하여, 내부 전원 전압을 생성할 수 있고, 스토리지 컨트롤러(110) 및 비휘발성 메모리(120)에 내부 전원 전압을 제공할 수 있다. The
예시적인 실시 예에서, 보조 전원 장치(130)는 전원 손실 보호 집적 회로(Power-Loss Protection Integrated Circuit; PLP IC)를 포함할 수 있다. 전원 손실 보호 집적 회로는 스토리지 장치(100)의 전원이 갑자기 차단(오프, off)된 경우에(즉, sudden power off 또는 power fail), 보조 전원 전압을 일정 시간 동안 생성하고, 스토리지 컨트롤러(110) 및 비휘발성 메모리(120)에 제공할 수 있다. In an exemplary embodiment, the
스토리지 컨트롤러(110)는 일반 동작 시, 즉, 전원이 공급되는 동안, 퍼포먼스 패쓰(performance path, PP)를 통해 비휘발성 메모리(120)에 데이터를 기입할 수 있다. 반면, 갑작스럽게 전원 차단이 발생되고, 퍼포먼스 패쓰(PP)에 고장(fault)이 감지된 경우에는, 다이렉트 패쓰(direct path, DP)를 통해 비휘발성 메모리(120)에 데이터를 기입할 수 있다. 이 때, 퍼포먼스 패쓰(PP)는, 스토리지 컨트롤러(110)에 포함된 코어가 여러 모듈을 거쳐 비휘발성 메모리(120)에 대한 동작, 예를 들어, 기입(program) 동작, 독출 동작, 및 소거 동작을 수행하는 경로일 수 있다. 반면, 다이렉트 패쓰(DP)는, 스토리지 컨트롤러(110)에 포함된 코어가 다른 모듈을 거치지 않고, 직접 데이터를 비휘발성 메모리(120)에 기입하는 경로일 수 있다. 즉, 다이렉트 패쓰(DP)는 전원 차단 시에 스토리지 컨트롤러(110)의 버퍼 메모리에 기입된 데이터를 비휘발성 메모리(120)에 옮겨 기입하는 동작을 수행하기 위해 정의된 별도의 경로일 수 있다.The
예시적인 실시 예에서, 스토리지 컨트롤러(110)는 퍼포먼스 패쓰(PP)의 고장 발생 여부를 assert 또는 core hang으로부터 판단할 수 있다. 또는, 예시적인 실시 예에서, 스토리지 컨트롤러(110)는 퍼포먼스 패쓰(PP)를 통한 전원 차단 처리 동작의 각 step들이 지정된 시간 내에 처리되지 못한 것으로 판단하면, 퍼포먼스 패쓰(PP)에 고장이 발생한 것으로 판단할 수 있다.In an exemplary embodiment, the
본 개시에 따른 스토리지 장치(100)는 퍼포먼스 패쓰(PP)에 고장이 감지된 경우, 특정 코어가 직접적으로 비휘발성 메모리(120)에 접근하는 다이렉트 패쓰(DP)를 통해 버퍼 메모리에 저장된 리커버리 데이터를 비휘발성 메모리에 저장할 수 있다. 따라서, 파워 페일 처리 도중 오류가 발생하더라도 스토리지 장치가 에러 상태에 빠지지는 것이 방지되고, 스토리지 장치의 계속 사용이 가능할 수 있다. 리커버리 데이터의 구성에 대해서는 도 7에서 구체적으로 후술하겠다.In the
스토리지 장치(100)는 갑작스러운 전원 차단에 의해 사용자 데이터가 비휘발성 메모리(120)에 기입되지 못하는 경우에는, 호스트(200)로 에러 신호(ES)를 전송할 수 있다. 예를 들어, 에러 신호(ES)는 rebuild assist로서 호스트(200)에 전송될 수 있다. The
도 2는 본 개시의 예시적인 실시 예에 따른 스토리지 장치(100)의 스토리지 컨트롤러(110)를 나타내는 블록도이다.2 is a block diagram illustrating the
도 1 및 도 2를 참조하면, 스토리지 컨트롤러(110)는 프로세서(111), 호스트 인터페이스(114) 및 메모리 인터페이스(115)를 포함할 수 있다. 또한, 스토리지 컨트롤러(110)는 플래시 변환 레이어(Flash Translation Layer(FTL), 112), 버퍼 메모리(113)를 포함할 수 있다. 스토리지 컨트롤러(110)는 플래시 변환 레이어(112)가 로딩되는 워킹 메모리를 더 포함할 수 있으며, 프로세서(111)가 플래시 변환 레이어(112)를 실행하는 것에 의해 비휘발성 메모리(120)에 대한 데이터 기입 및 독출 동작이 제어될 수 있다. 이러한 스토리지 컨트롤러(110)의 구성들은 버스(116)를 통해 서로 통신할 수 있다.Referring to FIGS. 1 and 2 , the
프로세서(111)은 중앙 처리 장치나 마이크로 프로세서 등을 포함할 수 있으며, 스토리지 컨트롤러(110)의 전반적인 동작을 제어할 수 있다. 프로세서(111)는 특정 동작을 수행하도록 구성되는 프로그램 코드의 명령어 집합을 실행할 수 있는 하나 이상의 코어들을 포함할 수 있다. 예를 들어, 프로세서(111)는 워킹 메모리에 저장된 펌웨어의 명령 코드를 실행할 수 있다.The
프로세서(111)는 비휘발성 메모리(120)에 데이터를 기입하거나, 비휘발성 메모리(120)로부터 데이터를 독출하거나, 데이터를 소거하기 위해 퍼포먼스 패쓰(PP)에 포함된 스토리지 컨트롤러(110)의 각 구성을 제어할 수 있다. 프로세서(111)는 전원 차단이 감지되면, 우선 퍼포먼스 패쓰(PP)에 포함된 스토리지 컨트롤러(110)의 각 구성을 제어함으로써, 버퍼 메모리(113)에 기입된 데이터를 비휘발성 메모리(120)에 전원 차단 처리 동작을 수행할 수 있다. The
예시적인 실시 예에서, 프로세서(111)는 하나의 코어를 포함할 수 있다. 프로세서(111)의 코어는, 전원이 차단되고 퍼포먼스 패쓰(PP)에 고장이 감지되면, 전용 컨택스트를 실행하여 버퍼 메모리(113)에 저장된 리커버리 데이터를 비휘발성 메모리(120)에 저장하는 동작을 수행할 수 있다. 예를 들어, 프로세서(111)의 코어는, 인터럽트 컨택스트를 실행하거나, RTOS(real time operating system) 태스크를 처리함으로써 상기 동작을 수행할 수 있고, 프로세서(111)의 코어가 상기 동작을 수행하기 위한 경로가 다이렉트 패쓰(DP)로 정의될 수 있다. 또는, 예시적인 실시 예에서, 프로세서(111)는 복수의 코어들을 포함할 수 있고, 복수의 코어들을 포함하는 프로세서(111)의 동작에 대해서는 도 3, 도 4 및 도 5 등에서 자세히 후술하겠다.In an exemplary embodiment, the
호스트 인터페이스(114)는 호스트(100)와 패킷(packet)을 송수신할 수 있다. 호스트(100)로부터 호스트 인터페이스(114)로 전송되는 패킷은 요청(도 1의 REQ) 혹은 비휘발성 메모리(220)에 기록될 데이터(도 1의 DATA) 등을 포함할 수 있으며, 호스트 인터페이스(114)로부터 호스트(100)로 전송되는 패킷은 요청(REQ)에 대한 응답(response) 혹은 비휘발성 메모리(220)로부터 독출된 데이터(DATA) 등을 포함할 수 있다. 예를 들어, 호스트 인터페이스(114)는 USB(Universal Serial Bus), MMC, PCI-E(PCIExpress), ATA(AT Attachment), SATA(Serial AT Attachment), PATA(Parallel AT Attachment), SCSI(Small Computer System Interface), SAS(Serial Attached SCSI), ESDI(Enhanced Small Disk Interface), IDE(Integrated Drive Electronics) 등에 따른 인터페이스를 제공할 수 있다.The
메모리 인터페이스(115)는 비휘발성 메모리(220)에 기록될 데이터를 비휘발성 메모리(220)로 전송하거나, 비휘발성 메모리(220)로부터 독출된 데이터를 수신할 수 있다. 이러한 메모리 인터페이스(115)는 토글(Toggle) 혹은 온파이(ONFI)와 같은 표준 규약을 준수하도록 구현될 수 있다.The
플래시 변환 계층(112)은 어드레스 매핑(address mapping), 웨어-레벨링(wear-leveling), 가비지 콜렉션(garbage collection)과 같은 여러 기능을 수행할 수 있다. 어드레스 매핑 동작은 호스트로부터 수신한 논리 어드레스(logical address)를, 비휘발성 메모리(220) 내에 데이터를 실제로 저장하는 데 사용되는 물리 어드레스(physical address)로 바꾸는 동작이다. 웨어-레벨링은 비휘발성 메모리(220) 내의 블록(block)들이 균일하게 사용되도록 하여 특정 블록의 과도한 열화를 방지하기 위한 기술로, 예시적으로 물리 블록(physical block)들의 소거 카운트들을 밸런싱하는 펌웨어 기술을 통해 구현될 수 있다. 가비지 콜렉션은, 블록의 유효 데이터를 새 블록에 복사한 후 기존 블록을 소거(erase)하는 방식을 통해 비휘발성 메모리(220) 내에서 사용 가능한 용량을 확보하기 위한 기술이다. The
버퍼 메모리(113)는 비휘발성 메모리(220)에 기입될 데이터 혹은 비휘발성 메모리(220)로부터 독출될 데이터를 임시로 저장할 수 있다. 버퍼 메모리(113)는 스토리지 컨트롤러(110) 내에 구비되는 구성일 수 있으나, 스토리지 컨트롤러(110)의 외부에 배치될 수도 있다.The
예시적인 실시 예에서, 버퍼 메모리(113)는 DRAM(Dynamic Ramdom Access Memory)일 수 있다. 다만, 이에 한정되지는 않으며, 버퍼 메모리(113)는 SRAM(Static Random Access Memory), PRAM(Phase-change Random Access Memory) 또는 플래시 메모리 등으로 구현될 수 있다.In an exemplary embodiment, the
도 3 내지 도 5는 본 개시의 예시적인 실시 예에 따른 스토리지 장치(100)에 전원이 차단될 때, 비휘발성 메모리(120)에 데이터를 기입하는 동작을 설명하기 위한 도면들이다. 스토리지 장치에 전원이 차단되면, 보조 전압을 이용하여 스토리지 장치가 동작할 수 있다. 도 3 내지 도 5의 프로세서들(111, 111a, 111b)은 도 2의 프로세서(111)일 수 있고, 복수의 코어들을 포함할 수 있다. 3 to 5 are diagrams for describing an operation of writing data into the
도 3을 참조하면, 프로세서(111)는 제1 코어(111_1) 및 제2 코어(111_2)를 포함할 수 있다. 제1 코어(111_1) 및 제2 코어(111_2)는 서로 상이한 테스크를 처리하는 코어일 수 있다. 예시적인 실시 예에서, 제1 코어(111_1)는 호스트(예를 들어, 도 1의 200)와의 인터페이스에 관련된 동작을 수행하는 호스트 코어일 수 있고, 제2 코어(111_2)는 플래시 변환 레이어(예를 들어, 도 2의 112)를 구동하여 비휘발성 메모리(120)와의 인터페이스에 관련된 동작을 수행하는 FTL 코어(NAND 코어)일 수 있으나, 다만, 본 개시는 이에 한정되지는 않는다. Referring to FIG. 3 , the
퍼포먼스 패쓰(PP)에서는 제1 코어(111_1) 및 제2 코어(111_2)가 서로 유기적으로 연결될 수 있고, 제1 코어(111_1) 및 제2 코어(112_2)가 함께 동작할 수 있다. 반면, 제1 코어(111_1)는 제1 다이렉트 패쓰(DP1)를 통해 비휘발성 메모리(120)에 직접 데이터를 기입할 수 있고, 제2 코어(111_2)는 제2 다이렉트 패쓰(DP2)를 통해 비휘발성 메모리(120)에 직접 데이터를 기입할 수 있다. 퍼포먼스 패쓰(PP)와 달리, 제1 다이렉트 패쓰(DP1) 및 제2 다이렉트 패쓰(DP2) 각각은 비휘발성 메모리(120)에 데이터를 기입하는 동작만이 수행가능하도록 구성될 수 있으며, 지정된 코어만이 동작하도록 구성될 수 있다. 따라서, 전원 차단이 발생하고, 퍼포먼스 패쓰(PP)에 고장이 감지된 경우에는 제1 다이렉트 패쓰(DP1) 또는 제2 다이렉트 패쓰(DP2)를 통해 버퍼 메모리(113)에 저장된 리커버리 데이터를 비휘발성 메모리(120)에 저장할 수 있다. 퍼포먼스 패쓰(PP)에 고장이 발생하더라도 스토리지 장치(100)가 에러 상태에 빠지지는 것이 방지될 수 있다. In the performance path PP, the first core 111_1 and the second core 111_2 may be organically connected to each other, and the first core 111_1 and the second core 112_2 may operate together. On the other hand, the first core 111_1 can directly write data into the
비휘발성 메모리(120)는 복수의 메모리 영역들, 예를 들어, 제1 내지 제k 메모리 영역(MR1~MRk)을 포함할 수 있다. 이 때, k는 3이상의 자연수일 수 있다. 제1 내지 제k 메모리 영역(MR1~MRk) 중 제1 메모리 영역(MR1)은 제1 코어(111_1)가 제1 다이렉트 패쓰(DP1)를 통해 접근하도록 지정될 수 있고, 제2 메모리 영역(MR2)은 제2 코어(111_2)가 제2 다이렉트 패쓰(DP2)를 통해 접근하도록 지정될 수 있다. 다만, 이에 한정되지 않고, 제1 메모리 영역(MR1)은 제1 코어(111_1)가 제1 다이렉트 패쓰(DP1)를 통해 접근하도록 지정될 수도 있고, 제2 코어(111_2)가 제2 다이렉트 패쓰(DP2)를 통해 접근하도록 지정될 수도 있다. 예시적인 실시 예에서, 특정 코어에 대응하는 메모리 영역은, 퍼포먼스 패쓰(PP)에 고장 발생 시 데이터를 비휘발성 메모리(120)에 기입하기 위한 데이터의 기입 정보로서 미리 지정될 수 있다. The
도 3에서는 예시적으로 퍼포먼스 패쓰(PP)에 고장이 발생하고, 제1 다이렉트 패쓰(DP1)를 통해 제1 코어(111_1)가 비휘발성 메모리(120)의 제1 메모리 영역(MR1)에 접근하여 데이터(예를 들어, 리커버리 데이터)를 기입하는 예를 도시한 것이다. 다만, 본 개시는 이에 한정되지 않으며, 퍼포먼스 패쓰(PP) 중 제2 코어(111_2)에 고장이 발생된 것이 아닌 경우에 제2 코어(111_2)가 제2 다이렉트 패쓰(DP2)를 통해 제2 메모리 영역(MR2)에 리커버리 데이터를 기입할 수도 있다.3 exemplarily, a failure occurs in the performance path PP, and the first core 111_1 accesses the first memory area MR1 of the
도 4를 참조하면, 프로세서(111a)는 복수의 제1 코어들(111_1a) 및 복수의 제2 코어들(111_2a)을 포함할 수 있다. 복수의 제1 코어들(111_1a)은 서로 동일한 테스크를 처리하는 코어들일 수 있고, 복수의 제2 코어들(111_2a)은 서로 동일한 테스크를 처리하는 코어들일 수 있다. 예시적인 실시 예에서, 복수의 제1 코어들(111_1a)은 호스트(200)와의 인터페이스에 관련된 동작을 수행하는 호스트 코어일 수 있고, 복수의 제2 코어들(111_2a)들은 비휘발성 메모리(120)와의 인터페이스에 관련된 동작을 수행하는 FTL 코어(NAND 코어)일 수 있다. 복수의 제1 코어들(111_1a) 각각에 제1 다이렉트 패쓰들(DP11, DP12)이 대응될 수 있고, 복수의 제2 코어들(111_2a) 각각에 제2 다이렉트 패쓰들(DP21, DP22)이 대응될 수 있다. Referring to FIG. 4 , the
복수의 제1 코어들(111_1a) 각각은 제1 다이렉트 패쓰들(DP11, DP12)을 통해 접근 가능한 메모리 영역이 지정될 수 있고, 복수의 제2 코어들(111_2a) 각각은 제2 다이렉트 패쓰들(DP21, DP22)을 통해 접근 가능한 메모리 영역이 지정될 수 있다. 예를 들어, 복수의 제1 코어들(111_1a) 중 하나의 코어는 제1 다이렉트 패쓰(DP11)를 통해 제1 메모리 영역(MR1)에 리커버리 데이터를 기입할 수 있고, 복수의 제1 코어들(111_1a) 중 다른 하나의 코어는 제1 다이렉트 패쓰(DP12)를 통해 제k 메모리 영역(MRk)에 리커버리 데이터를 기입할 수 있다.Each of the plurality of first cores 111_1a may be assigned a memory area accessible through first direct paths DP11 and DP12, and each of the plurality of second cores 111_2a may use second direct paths ( Accessible memory areas can be designated through DP21 and DP22). For example, one of the plurality of first cores 111_1a may write recovery data in the first memory area MR1 through the first direct path DP11, and the plurality of first cores ( The other core of 111_1a) may write recovery data into the kth memory area MRk through the first direct path DP12.
전원 차단이 발생하고 퍼포먼스 패쓰(PP)에 고장이 감지된 경우에는, 복수의 제1 코어들(111_1a)이 이하의 동작을 수행하기 위한 코어들로 선택될 수 있고, 복수의 제1 코어들(111_1a)은 제1 다이렉트 패쓰들(DP11, DP12)을 통해 버퍼 메모리(113)에 저장된 리커버리 데이터를 비휘발성 메모리(120)에 저장(미러링(mirroring) 동작)할 수 있다. 복수의 제1 코어들(111_1a)이 동일한 데이터를 각각 비휘발성 메모리(120)에 기입함으로써, 제1 다이렉트 패쓰들(DP11, DP12) 중 일부에 고장이 발생하거나 제1 메모리 영역(MR1) 및 제k 메모리 영역(MRk) 중 일부에 고장이 발생하더라도, 스토리지 장치(100)가 에러 상태에 빠지지는 것이 방지될 수 있다. When a power cut occurs and a failure is detected in the performance path (PP), the plurality of first cores 111_1a may be selected as cores for performing the following operation, and the plurality of first cores ( 111_1a) may store the recovery data stored in the
도 5를 참조하면, 프로세서(111b)는 제1 코어(111_1), 제2 코어(111_2) 및 제3 코어(111_3)를 포함할 수 있다. 제1 코어(111_1), 제2 코어(111_2) 및 제3 코어(111_3)는 서로 상이한 테스크를 처리하는 코어들일 수 있다. 예시적인 실시 예에서, 제1 코어(111_1)는 호스트(200)와의 인터페이스에 관련된 동작을 수행하는 호스트 코어일 수 있고, 제2 코어(111_2)는 비휘발성 메모리(120)와의 인터페이스에 관련된 동작을 수행하는 FTL 코어(NAND 코어)일 수 있고, 제3 코어(111_3)는 제1 코어(111_1) 및 제2 코어(111_3) 사이에서 제1 코어(111_1) 및 제2 코어(111_3)의 동작을 보조할 수 있다. 또는, 제3 코어(111_3)는 제1 코어(111_1) 및 제2 코어(111_2)와 상이한 동작을 수행할 수 있다. 제1 코어(111_1), 제2 코어(111_2) 및 제3 코어(111_3) 각각은 하나의 코어로 구성될 수도 있고, 또는 도 4에서 설명된 바와 같이 복수로 구성될 수의 코어들로 구성될 수도 있다. Referring to FIG. 5 , the
퍼포먼스 패쓰(PP)에는 제1 코어(111_1), 제3 코어(111_3), 및 제2 코어(111_2)가 순차적으로 포함될 수 있다. 제1 코어(111_1), 제2 코어(111_2), 및 제3 코어(111_3) 각각은 제1 다이렉트 패쓰(DP1), 제2 다이렉트 패쓰(DP2) 및 제3 다이렉트 패쓰(DP3)에 대응될 수 있다. The first core 111_1, the third core 111_3, and the second core 111_2 may be sequentially included in the performance path PP. Each of the first core 111_1, the second core 111_2, and the third core 111_3 may correspond to the first direct path DP1, the second direct path DP2, and the third direct path DP3. there is.
제1 코어(111_1)는 제1 다이렉트 패쓰(DP1)를 통해 접근 가능한 메모리 영역, 예를 들어, 제1 메모리 영역(MR1)이 지정될 수 있다. 제2 코어(111_2)는 제2 다이렉트 패쓰(DP2)를 통해 접근 가능한 메모리 영역, 예를 들어, 제2 메모리 영역(MR2)이 지정될 수 있다. 제3 코어(111_3)는 제3 다이렉트 패쓰(DP3)를 통해 접근 가능한 메모리 영역, 예를 들어, 제k 메모리 영역(MRk)이 지정될 수 있다. The first core 111_1 may be assigned a memory area accessible through the first direct path DP1, for example, the first memory area MR1. The second core 111_2 may be assigned a memory area accessible through the second direct path DP2, for example, the second memory area MR2. A memory area accessible to the third core 111_3 through the third direct path DP3, for example, a kth memory area MRk, may be designated.
전원 차단이 발생하고 퍼포먼스 패쓰(PP)에 고장이 감지된 경우에는, 예시적으로 제1 코어(111_1) 및 제3 코어(111_3)가 이하의 동작을 수행하기 위한 코어들로 선택될 수 있다. 제1 코어(111_1) 및 제3 코어(111_3)는 제1 다이렉트 패쓰(DP1) 및 제3 다이렉트 패쓰(DP3)를 통해 버퍼 메모리(113)에 저장된 리커버리 데이터를 비휘발성 메모리(120)에 저장(미러링 동작)할 수 있다. 제1 코어(111_1) 및 제3 코어(111_3)가 동일한 데이터를 각각 비휘발성 메모리(120)에 기입함으로써, 제1 다이렉트 패쓰(DP1) 및 제3 다이렉트 패쓰(DP3) 중 일부에 고장이 발생하더라도, 스토리지 장치(100)가 에러 상태에 빠지지는 것이 방지될 수 있다.When power is cut off and a failure is detected in the performance path (PP), the first core 111_1 and the third core 111_3 may be exemplarily selected as cores for performing the following operations. The first core 111_1 and the third core 111_3 store the recovery data stored in the
도 6는 도 1의 비휘발성 메모리(120)에 포함된 복수의 메모리 장치들 중 하나의 메모리 장치(121)를 설명하는 블록도이다.FIG. 6 is a block diagram illustrating one
도 1 및 도 6을 참조하면, 메모리 장치(121)는 메모리 셀 어레이(122), 어드레스 디코더(123), 제어 로직 블록(124), 페이지 버퍼(125), 입출력 회로(126), 및 전압 생성기(127)를 포함할 수 있다. 도시되지는 않았으나, 메모리 장치(121)는 입출력 인터페이스를 더 포함할 수 있다.1 and 6 , the
메모리 셀 어레이(122)는 워드 라인들(WL), 스트링 선택 라인들(SSL), 그라운드 선택 라인들(GSL) 및 비트 라인들(BL)에 연결될 수 있다. 메모리 셀 어레이(122)는 워드 라인들(WL), 스트링 선택 라인들(SSL) 및 그라운드 선택 라인들(GSL)을 통해 어드레스 디코더(123)에 연결되고, 비트 라인들(BL)을 통해 페이지 버퍼(125)에 연결될 수 있다. 메모리 셀 어레이(122)는 복수의 메모리 블록들(BLK1~BLKn)을 포함할 수 있다.The
복수의 메모리 블록들(BLK1~BLKn) 각각은 복수의 메모리 셀들 및 복수의 선택 트랜지스터들을 포함할 수 있다. 메모리 셀들은 워드라인들(WL)에 연결되고, 선택 트랜지스터들은 스트링 선택 라인들(SSL) 또는 그라운드 선택 라인들(GSL)에 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKn) 각각의 메모리 셀들은 1-비트 데이터를 저장하는 싱글 레벨 셀들(Single Level Cells) 또는 2이상-비트 데이터를 저장하는 멀티 레벨 셀들(Multi Level Cells)로 구성될 수 있다.Each of the plurality of memory blocks BLK1 to BLKn may include a plurality of memory cells and a plurality of selection transistors. Memory cells may be connected to word lines WL, and select transistors may be connected to string select lines SSL or ground select lines GSL. Each of the memory cells of the plurality of memory blocks BLK1 to BLKn may be composed of single level cells storing 1-bit data or multi-level cells storing 2 or more-bit data. can
어드레스 디코더(123)는 메모리 셀 어레이(122)의 복수의 메모리 블록들(BLK1~BLKn) 중 하나를 선택할 수 있고, 선택된 메모리 블록의 워드라인들(WL) 중 하나를 선택할 수 있고, 복수의 스트링 선택 라인들(SSL) 중 하나를 선택할 수 있다.The
제어 로직 블록(124, 또는 제어 로직 회로)는 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(122)에 대한 기입, 독출 및 소거 동작을 수행하기 위한 각종 제어 신호를 출력할 수 있다. 제어 로직 블록(124)은 어드레스 디코더(123)에 로우 어드레스(X-ADDR)를 제공할 수 있고, 페이지 버퍼(125)에 칼럼 어드레스(Y-ADDR)를 제공할 수 있고, 전압 생성기(127)에 전압 제어 신호(CTRL_Vol)를 제공할 수 있다. The control logic block 124 (or control logic circuit) is configured to perform write, read, and erase operations on the
복수의 메모리 블록들(BLK1~BLKn) 각각은 복수의 페이지들을 포함할 수 있다. 제어 로직 블록(124)는 복수의 메모리 블록들(BLK1~BLKn) 각각의 단위로 소거 동작을 수행할 수 있다. 제어 로직 블록(124)는 복수의 페이지들 각각의 단위로 독출 동작을 수행할 수 있고, 기입 동작을 수행할 수 있다.Each of the plurality of memory blocks BLK1 to BLKn may include a plurality of pages. The
페이지 버퍼(125)는 동작 모드에 따라 라이트 드라이버로서 또는 감지 증폭기로서 동작할 수 있다. 독출 동작시, 페이지 버퍼(125)는 제어 로직 블록(124)의 제어에 따라 선택된 메모리 셀의 비트라인(BL)을 센싱할 수 있다. 센싱된 데이터는 페이지 버퍼(125) 내부에 구비되는 래치들에 저장될 수 있다. 페이지 버퍼(125)는 제어 로직 블록(124)의 제어에 따라 래치들에 저장된 데이터를 입출력 회로(126)로 덤핑할 수 있다.The
입출력 회로(126)는 메모리 장치(121)의 외부로부터 입출력 라인(I/O)을 통해서 제공되는 명령어(CMD), 어드레스(ADDR), 제어 신호(CTRL) 및 데이터(DATA)를 일시 저장할 수 있다. 입출력 회로(126)는 메모리 장치(121)의 읽기 데이터를 일시 저장하고, 지정된 시점에 입출력 라인(I/O)을 통해서 외부로 출력할 수 있다.The input/
전압 생성기(127)는 전압 제어 신호(CTRL_Vol)를 기초로 하여 메모리 셀 어레이(122)에 대한 기입 동작, 독출 동작 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성기(127)는 워드 라인 전압(VWL), 예를 들어, 프로그램 전압, 리드 전압, 패스 전압, 이레이즈 검증 전압 또는 프로그램 검증 전압 등을 생성할 수 있다. 또한, 전압 생성기(127)는 전압 제어 신호(CTRL_Vol)를 기초로 하여 스트링 선택 라인 전압 및 그라운드 선택 라인 전압을 생성할 수 있다. 또한, 전압 생성기(127)는 메모리 셀 어레이(122)에 제공할 이레이즈 전압을 생성할 수 있다.The
도 7은 도 2의 버퍼 메모리(113)에 저장된 리커버리 데이터를 설명하기 위한 도면이다.FIG. 7 is a diagram for explaining recovery data stored in the
도 1 및 도 7을 참조하면, 버퍼 메모리(113)에는 리커버리 데이터가 저장될 수 있다. 리커버리 데이터는, 전원이 차단된 이후 다시 전원이 복구되었을 때, 스토리지 장치(100)를 복구하기 위해 필요한 데이터일 수 있다. 따라서, 스토리지 장치(100)는 전원이 차단되면 버퍼 메모리(113)에 저장되어 있던 리커버리 데이터를 비휘발성 메모리(120)로 이동시켜 저장할 수 있다. Referring to FIGS. 1 and 7 , recovery data may be stored in the
리커버리 데이터는 사용자 데이터, 디버그 데이터, 사용자 데이터 다이제스트, 디바이스 메타데이터, 및 맵 데이터 등을 포함할 수 있다. 디바이스 메타데이터는 스토리지 장치(100)에 관한 정보일 수 있다. 예를 들어, 스마트 데이터, 시큐리티 데이터, 및 비휘발성 메모리(120)의 특성에 대한 메타데이터 등을 포함할 수 있다. 맵 데이터는 L2P 데이터로서, 비휘발성 메모리(120)에 기입된 사용자 데이터에 대한 맵 데이터일 수 있다. Recovery data may include user data, debug data, user data digest, device metadata, map data, and the like. Device metadata may be information about the
리커버리 데이터 중 일부는 최소 리커버리 데이터일 수 있다. 최소 리커버리 데이터는 스토리지 장치(100)가 사용불가 상태, 즉, 파워 페일 상태가 되지 않기 위해 필요한 데이터일 수 있다. 최소 리커버리 데이터는 사용자 데이터 다이제스트, 디바이스 메타데이터, 및 맵 데이터 등을 포함할 수 있다. 이 때, 사용자 데이터 다이제스트는, 사용자 데이터를 모두 비휘발성 메모리(120)에 기입하지 못했을 때, 데이터 불량 표시(uncor mark)를 하기 위해 필요할 수 있다.Some of the recovery data may be minimal recovery data. The minimum recovery data may be data required to prevent the
스토리지 장치(100)는 전원이 차단되면, 리커버리 데이터를 버퍼 메모리(113)에서 비휘발성 메모리(120)로 이동시킬 수 있으나, 최소 리커버리 데이터를 우선적으로 이동시킬 수 있다. When power is cut off, the
도 8은 본 개시의 예시적인 실시 예에 따른 스토리지 장치(100)의 동작 방법을 나타내는 흐름도이다. 도 8에 도시된 S10 단계 내지 S50 단계의 동작 방법은 도 1의 스토리지 장치(100)에서 시계열적으로 수행될 수 있다. 8 is a flowchart illustrating a method of operating the
도 1 및 도 8을 참조하면, S10 단계에서 리커버리 데이터를 기입하기 위한 기입 정보를 설정할 수 있다. 예시적인 실시 예에서, S10 단계는 스토리지 장치(100)에 전원이 제공될 때 수행될 수 있다. 데이터의 기입 정보는 이후 S50 단계 또는 S60 단계에서 리커버리 데이터가 기입될 비휘발성 메모리(120)의 위치 및 메모리 어드레스에 대한 정보를 포함할 수 있다. Referring to FIGS. 1 and 8 , write information for writing recovery data may be set in step S10. In an exemplary embodiment, step S10 may be performed when power is supplied to the
예를 들어, S10 단계에서는 퍼포먼스 패쓰(PP)에 고장 발생 시의 데이터를 기입하기 위한 기입 정보를 설정할 수 있다. 도 3 내지 도 5에서 설명된 바와 같이, 특정 코어는 대응하는 다이렉트 패쓰를 형성할 수 있고, S10 단계에서 특정 다이렉트 패쓰에 대응하는 메모리 영역이 설정될 수 있다. For example, in step S10, write information for writing data when a failure occurs in the performance path PP may be set. As described in FIGS. 3 to 5 , a specific core may form a corresponding direct path, and a memory area corresponding to the specific direct path may be set in step S10 .
S20 단계에서 스토리지 장치(100)로 제공되는 전원이 차단될 수 있고, S30 단계에서 퍼포먼스 패쓰(PP)의 고장을 감지할 수 있다. 예를 들어, 스토리지 장치(100)는 퍼포먼스 패쓰(PP)의 고장 발생 여부를 assert 또는 core hang으로부터 판단할 수 있다. 또는, 예시적인 실시 예에서, 도 8에서 후술할 바와 같이, 스토리지 장치(100)는 퍼포먼스 패쓰(PP)를 통한 전원 차단 처리 동작의 각 step들이 지정된 시간 내에 처리되지 못한 것으로 판단하면, 퍼포먼스 패쓰(PP)에 고장이 발생한 것으로 판단할 수 있다.In step S20, power provided to the
퍼포먼스 패쓰(PP)에 고장이 감지되지 않으면, 즉, 퍼포먼스 패쓰(PP)가 정상으로 판단되면 S60 단계에서 스토리지 장치(30)는, 퍼포먼스 패쓰(PP)를 통해 전원 차단 처리를 수행할 수 있다. 예를 들어, 스토리지 장치(30)는 퍼포먼스 패쓰(PP)를 통해 버퍼 메모리에 기입된 리커버리 데이터를 비휘발성 메모리에 기입하는 전원 차단 처리를 수행할 수 있다. If a failure is not detected in the performance path PP, that is, if the performance path PP is determined to be normal, the storage device 30 may perform a power cut process through the performance path PP in step S60. For example, the storage device 30 may perform a power cut-off process of writing recovery data written in the buffer memory to the non-volatile memory through the performance path PP.
퍼포먼스 패쓰(PP)에 고장이 감지되면, S40 단계에서, 스토리지 장치(100)는 이 후 단계들을 수행하기 위한 코어를 선택할 수 있고, 버퍼 메모리에 기입된 리커버리 데이터를 수집할 수 있다. 예를 들어, 프로세서가 단일 코어로 구성된 경우에는 단일 코어가 선택될 수 있다. 또는, 예를 들어, 프로세서가 복수의 코어들로 구성된 경우에는, 비휘발성 메모리(120)에 직접 접근할 수 있는 다이렉트 패쓰들이 형성된 코어들 중에서 고장이 발생되지 않은 코어가 선택될 수 있다. 또한, 스토리지 장치(100)는 S40 단계에서, 비휘발성 메모리(120)에 설정된 다양한 설정 값들을 리셋할 수 있다. If a failure is detected in the performance path (PP), in step S40 , the
S50 단계에서, 스토리지 장치(100)는 선택된 코어에 대응하는 다이렉트 패쓰(DP)를 통해 비휘발성 메모리(120)에 리커버리 데이터를 기입할 수 있다. 스토리지 장치(100)는 S10 단계에서 설정된 기입 정보에 기초하여, 비휘발성 메모리(120)에 리커버리 데이터를 기입할 수 있다.In step S50 , the
선택된 코어는 비휘발성 메모리(120)에 포함된 복수의 메모리 영역들 중 대응하는 메모리 영역에 리커버리 데이터를 기입할 수 있다. 상기 기입 정보는 선택된 코어에 대응하는 메모리 영역의 위치 정보를 포함할 수 있다. 예를 들어, 도 3에서와 같이 제1 코어가 선택된 경우, S50 단계에서, 스토리지 장치(100)는 제1 다이렉트 패쓰(DP1)를 통해 제1 메모리 영역(MR1)에 리커버리 데이터를 기입할 수 있다. The selected core may write recovery data in a corresponding memory area among a plurality of memory areas included in the
따라서, 본 개시에 따른 스토리지 장치(100)는 퍼포먼스 패쓰(PP)에 고장이 감지된 경우, 선택된 코어가 직접적으로 비휘발성 메모리(120)에 접근하는 다이렉트 패쓰(DP)를 통해 버퍼 메모리에 저장된 리커버리 데이터를 비휘발성 메모리에 저장할 수 있다. 따라서, 파워 페일 처리 도중 오류가 발생하더라도 스토리지 장치가 에러 상태에 빠지지는 것이 방지될 수 있다.Therefore, in the
도 9는 본 개시의 예시적인 실시 예에 따른 스토리지 장치(100)의 동작 방법을 나타내는 흐름도이다. 도 9에 도시된 S30 단계는 도 8의 S30 단계의 일 예시일 수 있고, S31 내지 S34 단계를 포함할 수 있다. 9 is a flowchart illustrating a method of operating the
도 1 및 도 9를 참조하면, S31 단계에서 스토리지 장치(100)는 지정된 시간 안에 리커버리 데이터의 제1 데이터에 대한 기입 동작이 완료되었는지 판단할 수 있고, S32 단계에서 스토리지 장치(100)는 지정된 시간 안에 리커버리 데이터의 제i 데이터에 대한 기입 동작이 완료되었는지 판단할 수 있다. 즉, 스토리지 장치(100)는 S31 단계 및 S32 단계에서, 리커버리 데이터에 포함된 제1 내지 제i 데이터에 대한 기입 동작 각각이 지정된 시간 안에 완료되었는지 판단할 수 있다. 이 때, 기입 동작은 비휘발성 메모리(120)에 기입하는 동작을 의미할 수 있고, i은 2 이상의 자연수일 수 있다. 예를 들어, 지정된 시간은 10ms일 수 있다. 도 9에서는 S31 단계 이후에 S32 단계가 수행되는 것으로 도시되었으나, 이에 한정되지는 않으며, S31 단계 및 S32 단계의 수행 순서는 자유롭게 변형이 가능하다.Referring to FIGS. 1 and 9 , in step S31, the
제1 내지 제i 데이터는 사용자 데이터, 디바이스 메타데이터, 맵 데이터, 및 디버그 데이터 등을 포함할 수 있다. 예를 들어, 제1 데이터는 사용자 데이터일 수 있고, 제2 데이터는 디바이스 메타데이터 중 일부일 수 있고, 제3 데이터는 디바이스 메타데이터 중 다른 일부일 수 있다. The first through i-th data may include user data, device metadata, map data, and debug data. For example, the first data may be user data, the second data may be part of device metadata, and the third data may be another part of device metadata.
제1 내지 제i 데이터에 대한 기입 동작 각각이 모두 지정 시간안에 완료되면, S33 단계에서 스토리지 장치(100)는 퍼포먼스 패쓰(PP)를 정상으로 판단할 수 있다. 반면, 제1 내지 제i 데이터에 대한 기입 동작 중 어느 하나의 기입 동작이라도 지정된 시간 이내에 완료되지 못하면, 퍼포먼스 패쓰(PP)가 고장인 것으로 판단할 수 있다.When each of the write operations for the first to i-th data is completed within a specified time, the
도 10은 본 개시의 예시적인 실시 예에 따른 스토리지 장치(100)의 동작 방법을 나타내는 흐름도이다. 도 10은 스토리지 장치(100)에 전원이 제공된 후의 리커버리 동작을 설명하기 위한 도면이다. 도 10에 도시된 S100 내지 S700 단계는 도 8의 S10 단계 내지 S60 단계가 수행된 이 후에 수행될 수 있다. 10 is a flowchart illustrating a method of operating the
도 1 및 도 10을 참조하면, S100 단계에서 스토리지 장치(100)로 전원이 제공될 수 있고, S200 단계에서 스토리지 장치(100)는 비휘발성 메모리(120)에서 지정된 위치를 스캔할 수 있다. 상기 지정된 위치는 전원 차단 처리 동작을 수행하기 위해, 리커버리 데이터를 저장하도록 미리 지정된 위치일 수 있다. 예를 들어, 스토리지 장치(100)는 비휘발성 메모리(120)의 복수의 메모리 영역들(예를 들어, 도 3의 MR1~MRk) 중 미리 지정된 메모리 영역을 스캔할 수 있다. 1 and 10 , power may be supplied to the
S300 단계에서 스토리지 장치(100)는 비휘발성 메모리(120)의 지정된 위치에 리커버리 데이터가 모두 기입되었는지 확인할 수 있고, 상기 지정된 위치에 리커버리 데이터가 모두 기입된 경우에는 S400 단계에서 비휘발성 메모리(120)를 오픈할 수 있다. 비휘발성 메모리(120)가 오픈되면, 스토리지 컨트롤러(110)는 퍼포먼스 패쓰(PP)를 통해 비휘발성 메모리(120)의 동작을 제어할 수 있고, 기입 동작, 독출 동작, 및 소거 동작을 수행할 수 있다. In step S300, the
비휘발성 메모리(120)의 지정된 위치에 리커버리 데이터가 기입되지 않은 경우에는 S500 단계에서 스토리지 장치(100)는 상기 지정된 위치에 최소 리커버리 데이터가 기입되었는지 확인할 수 있다. 최소 리커버리 데이터는 예를 들어, 사용자 데이터 다이제스트, 디바이스 메타데이터, 및 맵 데이터를 포함할 수 있다. When the recovery data is not written to the designated location of the
최소 리커버리 데이터가 기입된 경우에는 S600 단계에서 스토리지 장치(100)는 사용자 데이터에 데이터 불량 표시(uncor mark)를 할 수 있다. 예를 들어, 스토리지 장치(100)는 최소 리커버리 데이터에 포함된 사용자 데이터 다이제스트에 대응하는 사용자 데이터에 데이터 불량 표시를 할 수 있다. When the minimum recovery data is written, the
이 때, 사용자 데이터는 스토리지 컨트롤러(110)의 버퍼 메모리(예를 들어, 도 7의 113)에 저장되었으나, 비휘발성 메모리(120)로 이동되지 못한 사용자 데이터일 수 있다. 따라서, 스토리지 장치(100)는 해당 사용자 데이터가 불량임을 표시하고, 해당 사용자 데이터에 대응하는 응답 신호인 에러 신호(예를 들어, 도 1의 ES)를 호스트(200)로 전송할 수 있다. 스토리지 장치(100)는 S600 단계가 완료되면, S400 단계를 수행할 수 있다.In this case, the user data may be user data stored in the buffer memory (eg, 113 of FIG. 7 ) of the
S500 단계에서 최소 리커버리 데이터 중 적어도 일부 데이터가 기입되지 않은 경우에는, S700 단계에서 스토리지 장치(100)는 스토리지 장치(100)를 사용불가 상태로 판단할 수 있다. 이에 따라, 스토리지 장치(100)는 호스트(200)에 사용불가 상태임을 알릴 수 있다.When at least some of the minimum recovery data is not written in step S500, the
도 11은 본 개시의 예시적 실시 예에 따른 스토리지 장치가 적용된 시스템을 도시한 도면이다. 11 is a diagram illustrating a system to which a storage device according to an exemplary embodiment of the present disclosure is applied.
도 11을 참조하면, 도 11의 시스템(1000)은 기본적으로 휴대용 통신 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 웨어러블 기기, 헬스케어 기기 또는 IOT(internet of things) 기기와 같은 모바일(mobile) 시스템일 수 있다. 하지만 도 11의 시스템(1000)은 반드시 모바일 시스템에 한정되는 것은 아니고, 개인용 컴퓨터(personal computer), 랩탑(laptop) 컴퓨터, 서버(server), 미디어 재생기(media player) 또는 내비게이션(navigation)과 같은 차량용(automotive) 장비 등이 될 수도 있다.Referring to FIG. 11, the
도 11을 참조하면, 시스템(1000)은 메인 프로세서(main processor)(1100), 메모리(1200a, 1200b) 및 스토리지 장치(1300a, 1300b)를 포함할 수 있으며, 추가로 촬영 장치(image capturing device)(1410), 사용자 입력 장치(user input device)(1420), 센서(1430), 통신 장치(1440), 디스플레이(1450), 스피커(1460), 전력 공급 장치(power supplying device)(1470) 및 연결 인터페이스(connecting interface)(1480) 중 하나 이상을 포함할 수 있다.Referring to FIG. 11 , a
메인 프로세서(1100)는 시스템(1000)의 전반적인 동작, 보다 구체적으로는 시스템(1000)을 이루는 다른 구성 요소들의 동작을 제어할 수 있다. 이와 같은 메인 프로세서(1100)는 범용 프로세서, 전용 프로세서 또는 애플리케이션 프로세서(application processor) 등으로 구현될 수 있다. The
메인 프로세서(1100)는 하나 이상의 CPU 코어(1110)를 포함할 수 있으며, 메모리(1200a, 1200b) 및/또는 스토리지 장치(1300a, 1300b)를 제어하기 위한 컨트롤러(1120)를 더 포함할 수 있다. 실시예에 따라서는, 메인 프로세서(1100)는 AI(artificial intelligence) 데이터 연산 등 고속 데이터 연산을 위한 전용 회로인 가속기(accelerator) 블록(1130)을 더 포함할 수 있다. 이와 같은 가속기 블록(1130)은 GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 및/또는 DPU(Data Processing Unit) 등을 포함할 수 있으며, 메인 프로세서(1100)의 다른 구성 요소와는 물리적으로 독립된 별개의 칩(chip)으로 구현될 수도 있다.The
메모리(1200a, 1200b)는 시스템(1000)의 주기억 장치로 사용될 수 있으며, SRAM 및/또는 DRAM 등의 휘발성 메모리를 포함할 수 있으나, 플래시 메모리, PRAM 및/또는 RRAM 등의 비휘발성 메모리를 포함할 수도 있다. 메모리(1200a, 1200b)는 메인 프로세서(1100)와 동일한 패키지 내에 구현되는 것도 가능하다.The memories 1200a and 1200b may be used as main memory devices of the
스토리지 장치(1300a, 1300b)는 전원 공급 여부와 관계 없이 데이터를 저장하는 비휘발성 저장 장치로서 기능할 수 있으며, 메모리(1200a, 1200b)에 비해 상대적으로 큰 저장 용량을 가질 수 있다. 스토리지 장치(1300a, 1300b)는 스토리지 컨트롤러(1310a, 1310b)와, 스토리지 컨트롤러(1310a, 1310b)의 제어 하에 데이터를 저장하는 비휘발성 메모리(non-volatile memory, NVM)(1320a, 1320b)를 포함할 수 있다. 비휘발성 메모리(1320a, 1320b)는 NAND 플래시 메모리를 포함할 수 있으나, PRAM 및/또는 RRAM 등의 다른 종류의 비휘발성 메모리를 포함할 수도 있다. The storage devices 1300a and 1300b may function as non-volatile storage devices that store data regardless of whether or not power is supplied, and may have a relatively large storage capacity compared to the memories 1200a and 1200b. The storage devices 1300a and 1300b may include storage controllers 1310a and 1310b and non-volatile memories (NVMs) 1320a and 1320b that store data under the control of the storage controllers 1310a and 1310b. can The non-volatile memories 1320a and 1320b may include NAND flash memories, but may also include other types of non-volatile memories such as PRAM and/or RRAM.
스토리지 장치(1300a, 1300b)는 메인 프로세서(1100)와는 물리적으로 분리된 상태로 시스템(1000)에 포함될 수도 있고, 메인 프로세서(1100)와 동일한 패키지 내에 구현될 수도 있다. 또한, 스토리지 장치(1300a, 1300b)는 SSD(solid state device) 혹은 메모리 카드(memory card)와 같은 형태를 가짐으로써, 후술할 연결 인터페이스(1480)와 같은 인터페이스를 통해 시스템(1000)의 다른 구성 요소들과 탈부착 가능하도록 결합될 수도 있다. 이와 같은 스토리지 장치(1300a, 1300b)는 UFS(universal flash storage)와 같은 표준 규약이 적용되는 장치일 수 있다. The storage devices 1300a and 1300b may be included in the
스토리지 장치(1300a, 1300b)는 도 1 내지 도 10에서 설명된 스토리지 장치(100)로 구현될 수 있다. 따라서, 스토리지 장치(1300a, 1300b)는 갑작스러운 전원 차단이 발생하고, 퍼포먼스 패쓰에 고장이 감지되더라도 코어가 직접적으로 내부의 비휘발성 메모리에 접근하는 다이렉트 패쓰(DP)를 통해 버퍼 메모리에 저장된 리커버리 데이터를 비휘발성 메모리에 저장할 수 있다. 따라서, 스토리지 장치(1300a, 1300b)는 파워 페일로 인한 오류가 발생하더라도 스토리지 장치가 에러 상태에 빠지지는 것이 방지될 수 있고, 스토리지 장치(1300a, 1300b)의 계속 사용이 가능할 수 있다. The storage devices 1300a and 1300b may be implemented as the
촬영 장치(1410)는 정지 영상 또는 동영상을 촬영할 수 있으며, 카메라(camera), 캠코더(camcorder) 및/또는 웹캠(webcam) 등일 수 있다. The photographing
사용자 입력 장치(1420)는 시스템(1000)의 사용자로부터 입력된 다양한 유형의 데이터를 수신할 수 있으며, 터치 패드(touch pad), 키패드(keyboard), 키보드(keyboard), 마우스(mouse) 및/또는 마이크(microphone) 등일 수 있다.The
센서(1430)는 시스템(1000)의 외부로부터 획득될 수 있는 다양한 유형의 물리량을 감지하고, 감지된 물리량을 전기 신호로 변환할 수 있다. 이와 같은 센서(1430)는 온도 센서, 압력 센서, 조도 센서, 위치 센서, 가속도 센서, 바이오 센서(biosensor) 및/또는 자이로스코프(gyroscope) 등일 수 있다. The
통신 장치(1440)는 다양한 통신 규약에 따라 시스템(1000) 외부의 다른 장치들과의 사이에서 신호의 송신 및 수신을 수행할 수 있다. 이와 같은 통신 장치(1440)는 안테나, 트랜시버(transceiver) 및/또는 모뎀(MODEM) 등을 포함하여 구현될 수 있다.The
디스플레이(1450) 및 스피커(1460)는 시스템(1000)의 사용자에게 각각 시각적 정보와 청각적 정보를 출력하는 출력 장치로 기능할 수 있다.The
전력 공급 장치(1470)는 시스템(1000)에 내장된 배터리 및/또는 외부 전원으로부터 공급되는 전력을 적절히 변환하여 시스템(1000)의 각 구성 요소들에게 공급할 수 있다.The
연결 인터페이스(1480)는 시스템(1000)과, 시스템(1000)에 연결되어 시스템(1000과 데이터를 주고받을 수 있는 외부 장치 사이의 연결을 제공할 수 있다. 연결 인터페이스(1480)는 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe(NVM express), IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC(embedded multi-media card), UFS(Universal Flash Storage), eUFS(embedded Universal Flash Storage), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식으로 구현될 수 있다. The
도 12는 본 발명의 하나의 실시 예에 따른 메모리 시스템을 나타내는 블록도이다.12 is a block diagram illustrating a memory system according to an exemplary embodiment of the inventive concept.
도 12을 참조하면, 메모리 시스템(3000)은 메모리 장치(3100) 및 메모리 컨트롤러(3200)를 포함할 수 있다. 메모리 시스템(3000)은 도 1의 스토리지 장치(100)일 수 있고, 메모리 장치(3100)는 도 1의 비휘발성 메모리(120)일 수 있고, 메모리 컨트롤러(3200)는 도 1의 스토리지 컨트롤러(110)일 수 있다.Referring to FIG. 12 , a
메모리 시스템(3000)은 복수의 채널들(CH1~CHm)을 지원할 수 있고, 메모리 장치(3100)와 메모리 컨트롤러(3200)는 복수의 채널들(CH1~CHm)을 통해 연결될 수 있다. 예를 들어, 메모리 시스템(3000)은 SSD와 같은 스토리지 장치로 구현될 수 있다. 메모리 장치(3100)는 도 1의 비휘발성 메모리(120)일 수 있고, 메모리 컨트롤러(322)는 도 1의 스토리지 컨트롤러(110)일 수 있다. The
메모리 장치(3100)는 복수의 비휘발성 메모리 장치들(NVM11~NVMma)을 포함할 수 있다. 비휘발성 메모리 장치들(NVM11~NVMma) 각각은 대응하는 웨이(way)를 통해 복수의 채널들(CH1~CHm) 중 하나에 연결될 수 있다. 예를 들어, 비휘발성 메모리 장치들(NVM11~NVM1a)은 웨이들(W11~W1a)을 통해 제1 채널(CH1)에 연결되고, 비휘발성 메모리 장치들(NVM21~NVM2a)은 웨이들(W21~W2a)을 통해 제2 채널(CH2)에 연결될 수 있다. 예시적인 실시 예에서, 비휘발성 메모리 장치들(NVM11~NVMma) 각각은 메모리 컨트롤러(3200)로부터의 개별적인 명령에 따라 동작할 수 있는 임의의 메모리 단위로 구현될 수 있다. 예를 들어, 비휘발성 메모리 장치들(NVM11~NVMma) 각각은 메모리 칩(memory chip) 또는 다이(memory die)로 구현될 수 있으나, 본 개시는 이에 한정되는 것은 아니다. The
메모리 컨트롤러(3200)는 복수의 채널들(CH1~CHm)을 통해 메모리 장치(3100)와 신호들을 송수신할 수 있다. 예를 들어, 메모리 컨트롤러(3200)는 채널들(CH1~CHm)을 통해 메모리 장치(3100)로 커맨드들(ICMD1~ICMDm), 어드레스들(ADDR1~ADDRm), 및 데이터(DATA1~DATAm)를 메모리 장치(3100)로 전송하거나, 메모리 장치(3100)로부터 데이터(DATA1~DATAm)를 수신할 수 있다.The
메모리 컨트롤러(3200)는 각각의 채널을 통해 해당 채널에 연결된 비휘발성 메모리 장치들 중 하나를 선택하고, 선택된 비휘발성 메모리 장치와 신호들을 송수신할 수 있다. 예를 들어, 메모리 컨트롤러(3200)는 제1 채널(CH1)에 연결된 비휘발성 메모리 장치들(NVM11~NVM1a) 중 비휘발성 메모리 장치(NVM11)를 선택할 수 있다. 메모리 컨트롤러(3200)는 선택된 비휘발성 메모리 장치(NVM11)로 제1 채널(CH1)을 통해 커맨드(ICMD1), 어드레스(ADDR1), 및 데이터(DATA1)를 전송하거나, 선택된 비휘발성 메모리 장치(NVM11)로부터 데이터(DATA1)를 수신할 수 있다.The
메모리 컨트롤러(3200)는 서로 다른 채널들을 통해 메모리 장치(3100)와 신호들을 병렬적으로 송수신할 수 있다. 예를 들어, 메모리 컨트롤러(3200)는 제1 채널(CH1)을 통해 메모리 장치(3100)로 커맨드(ICMD1)를 전송하는 동안 제2 채널(CH2)을 통해 메모리 장치(3100)로 커맨드(ICMD2)를 전송할 수 있다. 예를 들어, 메모리 컨트롤러(3200)는 제1 채널(CH1)을 통해 메모리 장치(3100)로부터 데이터(DATA1)를 수신하는 동안 제2 채널(CH2)을 통해 메모리 장치(3100)로부터 데이터(DATA2)를 수신할 수 있다.The
메모리 컨트롤러(3200)는 메모리 장치(3100)의 전반적인 동작을 제어할 수 있다. 메모리 컨트롤러(3200)는 채널들(CH1~CHm)로 신호를 전송하여 채널들(CH1~CHm)에 연결된 비휘발성 메모리 장치들(NVM11~NVMma) 각각을 제어할 수 있다. 예를 들어, 메모리 컨트롤러(3200)는 제1 채널(CH1)로 커맨드(ICMD1) 및 어드레스(ADDR1)를 전송하여 비휘발성 메모리 장치들(NVM11~NVM1a) 중 선택된 하나를 제어할 수 있다.The
비휘발성 메모리 장치들(NVM11~NVMma) 각각은 메모리 컨트롤러(3200)의 제어에 따라 동작할 수 있다. 예를 들어, 비휘발성 메모리 장치(NVM11)는 제1 채널(CH1)로 제공되는 커맨드(ICMD1), 어드레스(ADDR1), 및 데이터(DATA1)에 따라 데이터(DATA1)를 기입할 수 있다. 예를 들어, 비휘발성 메모리 장치(NVM21)는 제2 채널(CH2)로 제공되는 커맨드(ICMD2) 및 어드레스(ADDR2)에 따라 데이터(DATA2)를 독출하고, 독출된 데이터(DATA2)를 메모리 컨트롤러(3200)로 전송할 수 있다.Each of the nonvolatile memory devices NVM11 to NVMma may operate under the control of the
도 12에는 메모리 장치(3100)가 m개의 채널을 통해 메모리 컨트롤러(3200)와 통신하고, 메모리 장치(3100)가 각각의 채널에 대응하여 a개의 비휘발성 메모리 장치를 포함하는 것으로 도시되나, 채널들의 개수와 하나의 채널에 연결된 비휘발성 메모리 장치의 개수는 다양하게 변경될 수 있다.12 shows that the
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As above, exemplary embodiments have been disclosed in the drawings and specifications. Although the embodiments have been described using specific terms in this specification, they are only used for the purpose of explaining the technical idea of the present disclosure, and are not used to limit the scope of the present disclosure described in the claims. . Therefore, those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical scope of protection of the present disclosure should be determined by the technical spirit of the appended claims.
Claims (20)
퍼포먼스 패쓰 및 적어도 하나의 다이렉트 패쓰를 통해 상기 비휘발성 메모리를 제어하고, 리커버리 데이터를 저장하는 버퍼 메모리를 포함하는 스토리지 컨트롤러를 포함하고,
상기 스토리지 컨트롤러는, 전원이 차단되고 상기 퍼포먼스 패쓰에 고장이 감지되면, 상기 적어도 하나의 다이렉스 패쓰를 통해 리커버리 데이터를 상기 비휘발성 메모리에 기입하고,
상기 퍼포먼스 패쓰는, 데이터에 대한 기입 동작, 독출 동작 및 소거 동작을 수행하는 경로이고,
상기 적어도 하나의 다이렉트 패쓰는, 데이터에 대한 기입 동작만을 수행하는 경로인 것을 특징으로 하는 스토리지 장치. a non-volatile memory including a plurality of memory areas;
A storage controller including a buffer memory that controls the non-volatile memory through a performance path and at least one direct path and stores recovery data;
The storage controller writes recovery data into the non-volatile memory through the at least one direct path when power is cut off and a failure is detected in the performance path;
The performance path is a path for performing a write operation, a read operation, and an erase operation for data,
The storage device according to claim 1 , wherein the at least one direct path is a path for performing only a write operation on data.
상기 스토리지 컨트롤러는,
호스트와의 인터페이스에 관련된 동작을 수행하는 제1 코어; 및
상기 비휘발성 메모리와의 인터페이스에 관련된 동작을 수행하는 제2 코어를 포함하고,
상기 퍼포먼스 패쓰에 상기 제1 코어 및 상기 제2 코어가 포함되는 것을 특징으로 하는 스토리지 장치.According to claim 1,
The storage controller,
a first core that performs an operation related to an interface with a host; and
A second core performing an operation related to an interface with the non-volatile memory;
The storage device, wherein the first core and the second core are included in the performance path.
상기 적어도 하나의 다이렉트 패쓰는 제1 다이렉트 패쓰 및 제2 다이렉트 패쓰를 포함하고,
상기 제1 코어는 상기 제1 다이렉트 패쓰를 통해 상기 복수의 메모리 영역들 중 제1 메모리 영역에 상기 리커버리 데이터를 기입하고,
상기 제2 코어는 상기 제2 다이렉트 패쓰를 통해 상기 복수의 메모리 영역들 중 제2 메모리 영역에 상기 리커버리 데이터를 기입하는 것을 특징으로 하는 스토리지 장치.According to claim 2,
The at least one direct path includes a first direct path and a second direct path,
The first core writes the recovery data into a first memory area among the plurality of memory areas through the first direct path;
The storage device of claim 1 , wherein the second core writes the recovery data into a second memory area among the plurality of memory areas through the second direct path.
상기 스토리지 컨트롤러는,
호스트와의 인터페이스에 관련된 동작을 수행하는 복수의 제1 코어들; 및
상기 비휘발성 메모리와의 인터페이스에 관련된 동작을 수행하는 복수의 제2 코어들을 포함하고,
상기 퍼포먼스 패쓰에 상기 제1 코어들 및 상기 제2 코어들이 포함되고,
전원이 차단되고 상기 퍼포먼스 패쓰에 고장이 감지되면, 상기 복수의 제1 코어들 각각은 상기 적어도 하나의 다이렉트 패쓰를 통해 동일한 상기 리커버리 데이터를 상기 비휘발성 메모리에 기입하는 것을 특징으로 하는 스토리지 장치.According to claim 1,
The storage controller,
a plurality of first cores performing operations related to an interface with a host; and
A plurality of second cores performing operations related to an interface with the non-volatile memory;
The first cores and the second cores are included in the performance path,
The storage device, characterized in that, when power is cut off and a failure is detected in the performance path, each of the plurality of first cores writes the same recovery data to the non-volatile memory through the at least one direct path.
상기 스토리지 컨트롤러는 상기 퍼포먼스 패쓰에 차례로 포함되는 제1 내지 제3 코어를 포함하고,
전원이 차단되고 상기 퍼포먼스 패쓰에 고장이 감지되면, 상기 제1 코어 및 상기 제2 코어 각각은 상기 적어도 하나의 다이렉트 패쓰를 통해 동일한 상기 리커버리 데이터를 상기 비휘발성 메모리에 기입하는 것을 특징으로 하는 스토리지 장치.According to claim 1,
The storage controller includes first to third cores sequentially included in the performance path;
When power is cut off and a failure is detected in the performance path, each of the first core and the second core writes the same recovery data to the nonvolatile memory through the at least one direct path. .
상기 적어도 하나의 다이렉트 패쓰는 제1 내지 제3 다이렉트 패쓰를 포함하고,
상기 제1 코어는 상기 제1 다이렉트 패쓰를 통해 상기 복수의 메모리 영역들 중 제1 메모리 영역에 상기 리커버리 데이터를 기입하고,
상기 제3 코어는 상기 제3 다이렉트 패쓰를 통해 상기 복수의 메모리 영역들 중 제2 메모리 영역에 상기 리커버리 데이터를 기입하는 것을 특징으로 하는 스토리지 장치.According to claim 5,
The at least one direct path includes first to third direct paths,
The first core writes the recovery data into a first memory area among the plurality of memory areas through the first direct path;
The storage device of claim 1 , wherein the third core writes the recovery data into a second memory area among the plurality of memory areas through the third direct path.
상기 리커버리 데이터는, 사용자 데이터, 디버그 데이터, 사용자 데이터 다이제스트, 디바이스 메타데이터, 및 맵 데이터를 포함하는 것을 특징으로 하는 스토리지 장치.According to claim 1,
The storage device according to claim 1 , wherein the recovery data includes user data, debug data, user data digest, device metadata, and map data.
전원이 차단되고 퍼포먼스 패쓰에 고장이 감지되면, 코어를 선택하고, 버퍼 메모리에 기입된 리커버리 데이터를 수집하는 단계; 및
선택된 코어에 대응하는 다이렉트 패쓰를 통해 상기 비휘발성 메모리에 상기 리커버리 데이터를 기입하는 단계를 포함하고,
상기 퍼포먼스 패쓰는, 데이터에 대한 기입 동작, 독출 동작 및 소거 동작을 수행하는 경로이고,
상기 다이렉트 패쓰는, 데이터에 대한 기입 동작만을 수행하는 경로인 것을 특징으로 하는 스토리지 장치의 동작 방법.A method of operating a storage device including a storage controller and a non-volatile memory, comprising:
selecting a core and collecting recovery data written in a buffer memory when power is cut off and a failure is detected in a performance path; and
And writing the recovery data to the non-volatile memory through a direct path corresponding to the selected core,
The performance path is a path for performing a write operation, a read operation, and an erase operation for data,
The method of claim 1 , wherein the direct path is a path for performing only a write operation on data.
전원이 차단되고 퍼포먼스 패쓰가 정상으로 판단되면, 상기 퍼포먼스 패쓰를 통해 상기 비휘발성 메모리에 상기 리커버리 데이터를 기입하는 단계를 더 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 8,
and writing the recovery data to the non-volatile memory through the performance path when power is cut off and the performance path is determined to be normal.
상기 리커버리 데이터는, 사용자 데이터, 디버그 데이터, 사용자 데이터 다이제스트, 디바이스 메타데이터, 및 맵 데이터를 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 8,
The recovery data includes user data, debug data, user data digest, device metadata, and map data.
상기 리커버리 데이터의 제1 데이터 내지 제n 데이터를 상기 비휘발성 메모리에 기입하는 기입 동작들 각각이 지정된 시간 내에 완료된 경우, 상기 퍼포먼스 패쓰를 정상으로 판단하는 단계를 더 포함하는 스토리지 장치의 동작 방법.According to claim 8,
and determining that the performance path is normal when each of the write operations for writing the first to nth data of the recovery data into the nonvolatile memory is completed within a specified time.
상기 리커버리 데이터가 기입될 상기 비휘발성 메모리의 위치 정보를 포함하는 기입 정보를 설정하는 단계를 더 포함하고,
상기 리커버리 데이터를 기입하는 단계는, 상기 기입 정보에 기초하여 상기 비휘발성 메모리에 상기 리커버리 데이터를 기입하는 단계를 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 8,
Further comprising setting write information including location information of the non-volatile memory where the recovery data is to be written;
The method of operating a storage device, wherein the writing of the recovery data includes writing the recovery data into the non-volatile memory based on the write information.
상기 비휘발성 메모리는 복수의 메모리 영역들을 포함하고,
상기 리커버리 데이터를 기입하는 단계는, 상기 기입 정보에 기초하여 상기 복수의 메모리 영역들 중 상기 선택된 코어에 대응하는 메모리 영역에 상기 리커버리 데이터를 기입하는 단계를 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 12,
The non-volatile memory includes a plurality of memory areas,
The writing of the recovery data may include writing the recovery data into a memory area corresponding to the selected core among the plurality of memory areas based on the write information. .
상기 전원이 제공되면, 상기 비휘발성 메모리에서 지정된 위치를 스캔하는 단계; 및
상기 지정된 위치에 상기 리커버리 데이터가 모두 기입된 경우, 상기 비휘발성 메모리를 오픈하는 단계를 더 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 8,
scanning a designated location in the non-volatile memory when the power is provided; and
and opening the non-volatile memory when all of the recovery data is written in the designated location.
상기 전원이 제공되면, 상기 비휘발성 메모리에서 지정된 위치를 스캔하는 단계; 및
상기 지정된 위치에 상기 리커버리 데이터 중 최소 리커버리 데이터가 기입된 경우, 상기 최소 리커버리 데이터에 대응하는 사용자 데이터에 데이터 불량 표시하는 단계를 더 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 8,
scanning a designated location in the non-volatile memory when the power is provided; and
and displaying user data corresponding to the minimum recovery data as data failure when minimum recovery data among the recovery data is written in the designated location.
상기 최소 리커버리 데이터는, 사용자 데이터 다이제스트, 디바이스 메타데이터, 및 맵 데이터를 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 15,
Wherein the minimum recovery data includes a user data digest, device metadata, and map data.
상기 지정된 위치에 상기 리커버리 데이터 중 최소 리커버리 데이터가 기입된 경우, 상기 최소 리커버리 데이터에 대응하는 사용자 데이터에 따른 응답 신호로서 에러 신호를 호스트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 15,
and transmitting an error signal to a host as a response signal according to user data corresponding to the minimum recovery data when minimum recovery data among the recovery data is written in the designated location. method.
버퍼 메모리에 기입된 리커버리 데이터를 상기 비휘발성 메모리에 기입하기 위한 기입 정보를 설정하는 단계;
전원이 차단되고 퍼포먼스 패쓰에 고장이 감지되면, 코어를 선택하고, 상기 리커버리 데이터를 수집하는 단계; 및
선택된 코어에 대응하는 다이렉트 패쓰를 통해 상기 비휘발성 메모리에 상기 리커버리 데이터를 기입하는 단계를 포함하고,
상기 퍼포먼스 패쓰는 복수의 코어들을 포함하고, 상기 다이렉트 패쓰는 대응하는 하나의 코어를 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.A method of operating a storage device including a storage controller and a non-volatile memory, comprising:
setting write information for writing the recovery data written in the buffer memory to the non-volatile memory;
selecting a core and collecting the recovery data when power is cut off and a failure is detected in a performance path; and
And writing the recovery data to the non-volatile memory through a direct path corresponding to the selected core,
The method of claim 1 , wherein the performance path includes a plurality of cores, and the direct path includes a corresponding core.
상기 전원이 제공되면, 상기 비휘발성 메모리에서 지정된 위치를 스캔하는 단계; 및
상기 지정된 위치에 상기 리커버리 데이터가 모두 기입된 경우, 상기 비휘발성 메모리를 오픈하는 단계를 더 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 18,
scanning a designated location in the non-volatile memory when the power is provided; and
and opening the non-volatile memory when all of the recovery data is written in the designated location.
상기 전원이 제공되면, 상기 비휘발성 메모리에서 지정된 위치를 스캔하는 단계; 및
상기 지정된 위치에 상기 리커버리 데이터 중 최소 리커버리 데이터가 기입된 경우, 상기 최소 리커버리 데이터에 대응하는 사용자 데이터에 데이터 불량 표시하는 단계를 더 포함하고,
상기 최소 리커버리 데이터는, 사용자 데이터 다이제스트, 디바이스 메타데이터, 및 맵 데이터를 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 18,
scanning a designated location in the non-volatile memory when the power is provided; and
When minimum recovery data among the recovery data is written in the designated location, displaying data failure in user data corresponding to the minimum recovery data;
Wherein the minimum recovery data includes a user data digest, device metadata, and map data.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22198600.3A EP4181125A3 (en) | 2021-11-10 | 2022-09-29 | Storage device and operating method thereof |
CN202211337580.4A CN116107492A (en) | 2021-11-10 | 2022-10-28 | Memory device and method of operating the same |
US17/978,415 US20230142479A1 (en) | 2021-11-10 | 2022-11-01 | Storage device and operating method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210154270 | 2021-11-10 | ||
KR1020210154270 | 2021-11-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230068240A true KR20230068240A (en) | 2023-05-17 |
KR102553263B1 KR102553263B1 (en) | 2023-07-10 |
Family
ID=86547191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220012595A KR102553263B1 (en) | 2021-11-10 | 2022-01-27 | Storage device including the same and method of operating the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102553263B1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010063096A (en) * | 1999-12-21 | 2001-07-09 | 오길록 | Fault tolerance control system with duplicated data channel by a method of concurrent writes |
KR20160092206A (en) * | 2015-01-27 | 2016-08-04 | 에스케이하이닉스 주식회사 | Semiconductor device |
KR20160144564A (en) * | 2015-06-08 | 2016-12-19 | 삼성전자주식회사 | Nonvolatile memory module and operation method thereof |
KR20170070921A (en) * | 2015-12-14 | 2017-06-23 | 삼성전자주식회사 | Storage device and operating method of storage device |
KR20210004726A (en) * | 2019-07-05 | 2021-01-13 | 에스케이하이닉스 주식회사 | Data Storage Device and Operation Method Thereof |
KR20210034456A (en) * | 2019-09-20 | 2021-03-30 | 삼성전자주식회사 | Storage device and method of operating the storage device |
KR102317788B1 (en) * | 2021-05-14 | 2021-10-26 | 삼성전자주식회사 | Storage device and operating method of storage controller |
-
2022
- 2022-01-27 KR KR1020220012595A patent/KR102553263B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010063096A (en) * | 1999-12-21 | 2001-07-09 | 오길록 | Fault tolerance control system with duplicated data channel by a method of concurrent writes |
KR20160092206A (en) * | 2015-01-27 | 2016-08-04 | 에스케이하이닉스 주식회사 | Semiconductor device |
KR20160144564A (en) * | 2015-06-08 | 2016-12-19 | 삼성전자주식회사 | Nonvolatile memory module and operation method thereof |
KR20170070921A (en) * | 2015-12-14 | 2017-06-23 | 삼성전자주식회사 | Storage device and operating method of storage device |
KR20210004726A (en) * | 2019-07-05 | 2021-01-13 | 에스케이하이닉스 주식회사 | Data Storage Device and Operation Method Thereof |
KR20210034456A (en) * | 2019-09-20 | 2021-03-30 | 삼성전자주식회사 | Storage device and method of operating the storage device |
KR102317788B1 (en) * | 2021-05-14 | 2021-10-26 | 삼성전자주식회사 | Storage device and operating method of storage controller |
Also Published As
Publication number | Publication date |
---|---|
KR102553263B1 (en) | 2023-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102465321B1 (en) | Data storage device | |
KR20170053278A (en) | Data storage device and operating method thereof | |
KR102233400B1 (en) | Data storage device and operating method thereof | |
KR20200085967A (en) | Data storage device and operating method thereof | |
KR20190083148A (en) | Data storage device and operating method thereof and data process system containing the same | |
US11704048B2 (en) | Electronic device | |
KR20170111386A (en) | Data storage device and operating method thereof | |
KR20210098717A (en) | Controller, operating method thereof and storage device including the same | |
KR20200076431A (en) | Operating method of memory controller and memory system, and memory system | |
KR20200114212A (en) | Data storage device and operating method thereof | |
KR20180097026A (en) | Nonvolatile memory device, data stroage device including thereof and operating method of data storage device | |
KR20170094674A (en) | Data storage device | |
KR20210147696A (en) | Data storage device and operating method thereof | |
KR20190006677A (en) | Data storage device and operating method thereof | |
KR102474937B1 (en) | Data storage device and operating method thereof | |
KR20220103340A (en) | Data storage device and operating method thereof | |
KR20190095825A (en) | Data storage device and operating method thereof | |
KR20210156010A (en) | Storage device and operating method thereof | |
KR102475688B1 (en) | Nonvolatile memory device, data storage apparatus including the same and operating method thereof | |
KR102434840B1 (en) | Data storage device | |
KR102553263B1 (en) | Storage device including the same and method of operating the same | |
KR20160119607A (en) | Data storage device and operating method thereof | |
KR20190041082A (en) | Data storage device and operating method thereof | |
EP4181125A2 (en) | Storage device and operating method thereof | |
US11281590B2 (en) | Controller, operating method thereof and storage device including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |