KR20150057069A - 데이터 저장 장치 및 그것의 동작 방법 - Google Patents

데이터 저장 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20150057069A
KR20150057069A KR1020130139913A KR20130139913A KR20150057069A KR 20150057069 A KR20150057069 A KR 20150057069A KR 1020130139913 A KR1020130139913 A KR 1020130139913A KR 20130139913 A KR20130139913 A KR 20130139913A KR 20150057069 A KR20150057069 A KR 20150057069A
Authority
KR
South Korea
Prior art keywords
controller
data
read
host device
prefetch
Prior art date
Application number
KR1020130139913A
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 KR1020130139913A priority Critical patent/KR20150057069A/ko
Priority to US14/157,283 priority patent/US20150138900A1/en
Publication of KR20150057069A publication Critical patent/KR20150057069A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/10Address translation
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법은 호스트 장치로부터 읽기 요청된 논리 주소에 대응하는 물리 주소와, 상기 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 하나 이상의 물리 주소가 연속적인지 판단하는 단계 및 상기 하나 이상의 물리 주소가 연속적인 경우 상기 하나 이상의 물리 주소에 대응하는 불휘발성 메모리 장치의 영역의 데이터를 프리페치하는 단계를 포함한다.

Description

데이터 저장 장치 및 그것의 동작 방법{DATA STORAGE DEVICE AND OPERATING METHOD THEREOF}
본 발명은 데이터 저장 장치에 관한 것으로, 더욱 상세하게는 데이터 저장 장치의 프리페치 동작에 관한 것이다.
최근 컴퓨터 환경에 대한 패러다임(paradigm)이 언제, 어디서나 컴퓨터 시스템을 사용할 수 있도록 하는 유비쿼터스 컴퓨팅(ubiquitous computing)으로 전환되고 있다. 이로 인해 휴대폰, 디지털 카메라, 노트북 컴퓨터 등과 같은 휴대용 전자 장치의 사용이 급증하고 있다. 이와 같은 휴대용 전자 장치는 일반적으로 메모리 장치를 이용하는 데이터 저장 장치를 사용한다. 데이터 저장 장치는 휴대용 전자 장치의 주 기억 장치 또는 보조 기억 장치로 사용된다.
메모리 장치를 이용한 데이터 저장 장치는 기계적인 구동부가 없어서 안정성 및 내구성이 뛰어나며 정보의 액세스 속도가 매우 빠르고 전력 소모가 적다는 장점이 있다. 이러한 장점을 갖는 데이터 저장 장치는 USB(Universal Serial Bus) 메모리 장치, 다양한 인터페이스를 갖는 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive, 이하, SSD라 칭함)를 포함한다.
데이터 저장 장치는 점점 더 고속 동작이 가능하도록 개발되는 추세에 있다. 따라서, 데이터 저장 장치가 외부로부터 데이터 읽기 요청을 수신할 경우, 외부로의 데이터 전송을 더욱 빠르게 수행하기 위한 데이터 저장 장치의 동작 방법들이 요구된다.
본 발명의 실시 예는 데이터 전송을 더욱 빠르게 수행하기 위한 데이터 저장 장치 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법은 호스트 장치로부터 읽기 요청된 논리 주소에 대응하는 물리 주소와, 상기 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 하나 이상의 물리 주소가 연속적인지 판단하는 단계 및 상기 하나 이상의 물리 주소가 연속적인 경우, 상기 하나 이상의 물리 주소에 대응하는 불휘발성 메모리 장치의 영역에 저장된 데이터를 프리페치하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치는 불휘발성 메모리 장치 및컨트롤러를 포함하고, 상기 컨트롤러는 호스트 장치로부터 읽기 요청된 논리 주소에 대응하는 물리 주소와, 상기 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 하나 이상의 물리 주소가 연속적인지 판단하고, 상기 하나 이상의 물리 주소가 연속적인 경우 상기 하나 이상의 물리 주소에 대응하는 상기 불휘발성 메모리 장치의 영역의 데이터를 프리페치하도록 구성될 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치는 복수의 메모리 칩들 및 컨트롤러를 포함하고, 상기 컨트롤러는 호스트 장치로부터 읽기 요청된 논리 주소에 대응하는 상기 복수의 메모리 칩들 중 어느 하나의 물리 주소와, 상기 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 하나 이상의 물리 주소가 연속적인지 판단하고, 상기 하나 이상의 물리 주소가 연속적인 경우 상기 하나 이상의 물리 주소에 대응하는 영역의 데이터를 프리페치하도록 구성될 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치는 데이터 전송을 더욱 빠르게 수행할 수 있다.
도1은 본 발명의 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템을 예시적으로 도시한 블럭도,
도2는 본 발명의 실시 예에 따른 데이터 저장 장치의 보통의 읽기 동작을 설명하기 위한 도면,
도3은 본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법을 설명하기 위한 순서도,
도4는 도3의 동작 방법에 대한 설명을 돕기 위한 주소 매핑 테이블을 도시한 도면,
도5는 본 발명의 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템의 동작 방법을 설명하기 위한 타이밍도,
도6은 본 발명의 다른 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템을 예시적으로 도시한 블록도,
도7은 본 발명의 다른 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템의 동작 방법을 설명하기 위한 타이밍도이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
도면들에 있어서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 본 명세서에서 특정한 용어들이 사용되었으나. 이는 본 발명을 설명하기 위한 목적에서 사용된 것이며, 의미 한정이나 특허 청구 범위에 기재된 본 발명의 권리 범위를 제한하기 위하여 사용된 것은 아니다.
본 명세서에서 ‘및/또는’이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, ‘연결되는/결합되는’이란 표현은 다른 구성요소와 직접적으로 연결되거나 다른 구성요소를 통해서 간접적으로 연결되는 것을 포함하는 의미로 사용된다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 ‘포함한다’ 또는 ‘포함하는’으로 언급된 구성요소, 단계, 동작 및 소자는 하나 이상의 다른 구성요소, 단계, 동작 및 소자의 존재 또는 추가를 의미한다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 본 발명의 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템을 예시적으로 도시한 블럭도이다. 도1을 참조하면, 데이터 처리 시스템(100)은 호스트 장치(110) 및 데이터 저장 장치(120)를 포함한다.
호스트 장치(110)는, 예를 들면, 휴대폰, MP3 플레이어 등과 같은 휴대용 전자 장치들 또는 랩탑 컴퓨터, 데스크탑 컴퓨터, 게임기, TV, 빔 프로젝터 등과 같은 전자 장치들을 포함할 수 있다.
데이터 저장 장치(120)는 호스트 장치(110)의 요청에 응답하여 동작하도록 구성될 수 있다. 데이터 저장 장치(120)는 호스트 장치(110)에 의해서 처리되는 데이터를 저장하도록 구성될 수 있다. 즉, 데이터 저장 장치(120)는 호스트 장치(110)의 주 기억 장치 또는 보조 기억 장치로 사용될 수 있다.
데이터 저장 장치(120)는 데이터 프리페치(prefetch) 동작을 수행할 수 있다. 예를 들어, 데이터 저장 장치(120)는 호스트 장치(110)로부터 읽기 요청을 수신하기 전에 읽기 동작을 미리 수행하도록 구성될 수 있다. 예를 들어, 데이터 저장 장치(120)는 이전의 읽기 동작에 의해 전송된 데이터를 호스트 장치(110)로부터 다음의 읽기 요청을 수신하기 전까지 동작 메모리 장치(135)에 임시 저장하도록 구성될 수 있다. 예를 들어, 데이터 저장 장치(120)는 호스트 장치(110)로부터 읽기 요청을 수신한 경우, 프리페치한 데이터를 전송하도록 구성될 수 있다.
호스트 장치(110) 및 데이터 저장 장치(120)는 인터페이스(IF)를 통해서 연결될 수 있다. 인터페이스(IF)는 ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), USB(Unibersal Serial Bus), SCSI(Small Computer System Interface), ESDI(Enhanced Small Device Interface), IEEE 1394(Institue of Electrical and Eletronics Engineers), IDE(Integrated Drive Electronics), PCI-express(Peripheral Component Interconnect-Express), MMC(Multi Media Card) 인터페이스 및 UFS(Universal Flash Storage) 인터페이스 등과 같은 표준 인터페이스일 수 있다. 호스트 장치(110) 및 데이터 저장 장치(120)는 인터페이스(IF)를 통해서 읽기 요청 또는 쓰기 요청, 또는 데이터를 주고받을 수 있다.
데이터 저장 장치(120)는 컨트롤러(130) 및 불휘발성 메모리 장치(140)를 포함할 수 있다.
컨트롤러(130)는 데이터 저장 장치(120)의 제반 동작을 제어하도록 구성될 수 있다. 예를 들어, 컨트롤러(130)는 호스트 장치(110)로부터의 요청에 응답하여 불휘발성 메모리 장치(140)를 제어하도록 구성될 수 있다. 예를 들어, 컨트롤러(130)는 불휘발성 메모리 장치(140)로부터 전송된 데이터를 호스트 장치(110)로 제공하도록 구성될 수 있다. 다른 예로서, 컨트롤러(130)는 호스트 장치(110)로부터 제공된 데이터를 불휘발성 메모리 장치(140)에 저장하도록 구성될 수 있다. 이러한 동작을 위해서, 컨트롤러(130)는 불휘발성 메모리 장치(140)에 대한 읽기, 쓰기 및 소거 동작을 제어하도록 구성될 수 있다.
컨트롤러는(130)는 호스트 장치(110)로부터 읽기 요청된 논리 주소에 대응하는 불휘발성 메모리 장치(140)의 물리 주소와, 상기 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 불휘발성 메모리 장치(140)의 하나 이상의 물리 주소가 연속적인지 판단하고, 상기 하나 이상의 물리 주소가 연속적인 경우 상기 하나 이상의 물리 주소에 대응하는 영역의 데이터를 프리페치하도록 구성될 수 있다. 컨트롤러(130)는 상기 하나 이상의 물리 주소가 연속적인 범위를 조사하고, 연속적인 물리 주소들의 범위를 프리페치 범위로 결정하도록 구성될 수 있다.
컨트롤러(130)는 데이터 저장 장치(120)의 제반 동작을 제어하기 위한 펌웨어(firmware)를 구동하도록 구성될 수 있다. 펌웨어와 펌웨어의 구동에 필요한 데이터는 동작 메모리 장치(135)에 로딩되어 구동될 수 있다.
동작 메모리 장치(135)는 컨트롤러(130)의 동작에 필요한 펌웨어 및 데이터를 저장하도록 구성될 수 있다. 동작 메모리 장치(135)는 호스트 장치(110)로부터 불휘발성 메모리 장치(140)로 또는 불휘발성 메모리 장치(140)로부터 호스트 장치(110)로 전송될 데이터를 임시 저장하도록 구성될 수 있다. 즉, 동작 메모리 장치(135)는 버퍼 메모리 장치 또는 캐시(cache) 메모리 장치로서 동작될 수 있다.
불휘발성 메모리 장치(140)와 컨트롤러(130)는 채널(CH)을 통해 연결될 수 있다. 불휘발성 메모리 장치(140)와 컨트롤러(130)는 채널(CH)을 통하여 읽기 또는 쓰기 동작 명령 또는 데이터를 주고받을 수 있다. 불휘발성 메모리 장치(140)는 복수의 메모리 셀들로 구성된 페이지(page) 단위로 읽기 또는 쓰기 동작이 수행될 수 있다. 불휘발성 메모리 장치(140)는 복수의 페이지들로 구성된 블럭(block) 단위로 소거 동작이 수행될 수 있다. 또한, 불휘발성 메모리 장치(140)는 구조적인 특징으로 인해서 덮어쓰기(overwrite)가 불가능할 수 있다. 즉, 데이터가 저장된 불휘발성 메모리 장치(140)의 메모리 셀은 새로운 데이터를 저장하기 위해서 소거될 수 있다. 불휘발성 메모리 장치(140)의 이러한 특징들 때문에, 컨트롤러(130)는 플래시 변환 계층(flash translation layer: FTL)이라 불리는 추가적인 펌웨어를 구동하도록 구성될 수 있다.
플래시 변환 계층(FTL)은 호스트 장치(110)의 파일 시스템(미도시)으로부터 요청되는 액세스(예를 들면, 읽기 및 쓰기 요청)에 응답하여 데이터 저장 장치(120)가 동작할 수 있도록, 불휘발성 메모리 장치(140)의 읽기, 프로그램, 소거 동작을 관리할 수 있다. 또한, 플래시 변환 계층(FTL)은 불휘발성 메모리 장치(140)의 특성에 기인한 부수적인 동작을 관리할 수 있다. 예시적으로, 플래시 변환 계층(FTL)은 가비지 컬렉션(garbage collection) 동작, 웨어-레벨링(wear-leveling) 동작, 배드 블럭(bad block) 관리 동작 등과 같은 동작을 관리할 수 있다.
호스트 장치(110)가 데이터 저장 장치(120)를 액세스하는 경우(예를 들면, 읽기 또는 쓰기 동작을 요청하는 경우), 호스트 장치(110)는 논리 주소(logical address, LA)를 데이터 저장 장치(120)로 제공할 수 있다. 컨트롤러(130)는 제공된 논리 주소를 불휘발성 메모리 장치(140)의 물리 주소(physical address, PA)로 변환하고, 변환된 물리 주소를 참조하여 요청된 동작을 수행할 수 있다. 이러한 주소 변환 동작을 위해서 주소 변환 데이터, 즉, 주소 맵핑 테이블이 필요할 수 있다. 주소 맵핑 테이블은 플래시 변환 계층(FTL)에 의해서 관리될 수 있다. 주소 맵핑 테이블은 동작 메모리 장치(135)에 저장될 수 있다.
도2는 본 발명의 실시 예에 따른 데이터 저장 장치의 보통의 읽기 동작을 설명하기 위한 도면이다. 도2를 참조하면, 데이터 저장 장치(도1의 120)가 보통의 읽기 동작을 반복하여 수행하는 동안 발생하는 신호들의 흐름이 시간축 상에 표현된다.
데이터 저장 장치(120)는 프리페치 동작을 수행하지 않고 보통의 읽기 동작을 수행할 수 있다. 예를 들어, 데이터 저장 장치(120)는 도3을 참조하여 설명될 동작 방법에 따라 프리페치 동작을 수행할 것인지 판단할 수 있다. 데이터 저장 장치(120)는 프리페치 동작을 수행하지 않을 것으로 판단한 경우, 보통의 읽기 동작을 수행할 수 있다. 데이터 저장 장치(120)는 호스트 장치(도1의 110)로부터 읽기 요청을 수신하고 읽기 요청된 데이터를 전송하는 과정을 반복하는 보통의 읽기 동작을 수행할 수 있다.
데이터 저장 장치(120)는 호스트 장치(110)로부터 제1읽기 요청(RRQ1)을 수신할 수 있다(①). 비록 도시되지는 않았지만, 데이터 저장 장치(120)는 제1읽기 요청(RRQ1)에 대응하는 논리 주소를 호스트 장치(110)로부터 제공받을 수 있다. 컨트롤러(도1의 130)의 플래시 변환 계층(FTL)은 호스트(110)로부터 제공된 논리 주소에 대하여 주소 맵핑 동작을 수행할 수 있다. 컨트롤러(130)는 제공된 논리 주소를 그에 대응하는 불휘발성 메모리 장치(도1의 140)의 제1물리 주소(AD1)로 맵핑 테이블을 이용하여 변환할 수 있다.
컨트롤러(130)는 제1읽기 동작 명령(RC1) 및 제1물리 주소(AD1)를 불휘발성 메모리 장치(140)에 제공할 수 있다(②).
불휘발성 메모리 장치(140)는 제공된 제1물리 주소(AD1)에 대응하는 영역에 저장된 제1리드 데이터(RD1)를 컨트롤러(130)에 전송할 수 있다(③).
컨트롤러(130)는 전송된 제1리드 데이터(RD1)를 호스트 장치(110)로 전송할 수 있다(④).
데이터 저장 장치(120)는, 이어서, 호스트 장치(110)로부터 제2읽기 요청(RRQ2)을 수신할 수 있다(⑤). 데이터 저장 장치(120)가 제2읽기 요청(RRQ2)에 응답하여 읽기 동작을 수행하는 과정은 ①~④의 과정과 유사할 수 있다. 컨트롤러(130)는 제2읽기 동작 명령(RC2) 및 제2물리 주소(AD2)를 불휘발성 메모리 장치(140)에 제공할 수 있다(⑥). 불휘발성 메모리 장치(140)는 제공된 제2물리 주소(AD2)에 대응하는 영역에 저장된 제2리드 데이터(RD2)를 컨트롤러(130)에 전송할 수 있다(⑦). 컨트롤러(130)는 전송된 제2리드 데이터(RD2)를 호스트 장치(110)로 전송할 수 있다(⑧).
도3은 본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법을 설명하기 위한 순서도이다. 도3을 참조하면, 데이터 저장 장치(도1의 120)가 보통의 읽기 동작 및 데이터 프리페치 동작을 수행하는 과정이 도시되어 있다. 도4는 도3의 동작 방법에 대한 설명을 돕기 위한 주소 매핑 테이블을 도시한 도면이다. 이하, 도1, 도3및 도4를 참조하여 동작 방법을 상세히 설명한다.
데이터 저장 장치(120)는 프리페치 동작을 수행하기에 앞서 프리페치 동작을 수행할 것인지 판단할 수 있다. 프리페치 동작을 수행하는 데이터 저장 장치(120)의 컨트롤러(130)는 호스트 장치(110)로부터 읽기 요청(예를 들면, 도2의 제2읽기 요청(RRQ2))을 수신하기 전에 불휘발성 메모리 장치(140)에 대하여 읽기 동작(예를 들면, 도2의 ⑥~⑦의 과정)을 미리 수행할 수 있다. 프리페치 동작을 수행하는 컨트롤러(130)는 읽기 동작(예를 들면, 도2의 ⑥~⑦의 과정)에 의해 전송된 데이터(도2의 제2리드 데이터(RD2))를 호스트 장치(110)로부터 읽기 요청(예를 들면, 도2의 제2읽기 요청(RRQ2))을 수신하기 전까지 임시 저장할 수 있다.
S110 단계에서, 컨트롤러(130)는 호스트 장치(110)로부터 제1읽기 요청을 수신할 수 있다. 컨트롤러(130)는 제1읽기 요청에 대응하는 논리 주소를 호스트 장치(110)로부터 제공받을 수 있다.
S120단계에서, 컨트롤러(130)는 제1읽기 동작 명령(RC1) 및 제1물리 주소(AD1)를 불휘발성 메모리 장치에 제공할 수 있다.
S130단계에서, 컨트롤러(130)는 제1물리 주소(AD1)에 대응하는 영역에 저장된 제1리드 데이터(RD1)를 불휘발성 메모리 장치(140)로부터 전송받고, 호스트 장치로 전송할 수 있다.
S140 단계에서, 컨트롤러(130)는 프리페치 동작을 수행할 것인지 판단할 수 있다. 구체적으로, 컨트롤러(130)는 호스트 장치(110)로부터 제공된 논리 주소에 대응하는 불휘발성 메모리 장치(140)의 물리 주소와, 제공된 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 불휘발성 메모리 장치(140)의 하나 이상의 물리 주소가 연속적인지 판단할 수 있다. 하나 이상의 물리 주소가 연속적이라고 판단한 경우, 즉, 프리페치 동작을 수행할 것으로 판단한 경우(예), 절차는 S150 단계로 진행할 수 있다. 물리 주소가 불연속적이라고 판단한 경우, 즉, 프리페치 동작을 수행하지 않을 것으로 판단한 경우(아니오), 절차는 종료될 수 있다.
도4를 참조하여 예를 들면, 데이터 저장 장치는 호스트 장치(110)로부터 논리 주소 LA=1에 대한 읽기 요청을 수신할 수 있다. 주소 매핑 테이블을 참조하면 LA=1에 대응하는 물리 주소는 PA=33이다. 컨트롤러(130)는 제공된 논리 주소 LA=1의 연속된 논리 주소들 LA=2,3,…에 각각 대응하는 물리 주소들 PA=34,35,…이 물리 주소 PA=33와 연속적이라고 판단할 수 있다. 이러한 경우, 컨트롤러(130)는 프리페치 동작을 수행하기 위해 이하의 절차(S150이하의 절차)를 수행할 수 있다.
다른 예로서, 호스트 장치(110)로부터 논리 주소 LA=6에 대한 읽기 요청을 수신할 수 있다. 주소 매핑 테이블을 참조하면 LA=6에 대응하는 물리 주소는 PA=102이다. 컨트롤러(130)는 제공된 논리 주소 LA=6의 연속된 논리 주소들 LA=7,8,…에 각각 대응하는 물리 주소들 PA=56,57,…이 물리 주소 PA=102와 불연속적이라고 판단할 수 있다. 이러한 경우, 컨트롤러(130)는 논리 주소 LA=6에 대한 보통의 읽기 동작(즉, S120~S130단계)을 수행하고, 프리페치 동작은 수행하지 않을 수 있다.
S150 단계에서, 컨트롤러(130)는 하나 이상의 물리 주소가 연속적인 범위를 조사하고, 연속적인 범위를 프리페치할 범위로 결정할 수 있다. 앞서 설명한 예시의 경우, 논리 주소 LA=1에 대응하는 물리 주소 PA=33부터 논리 주소 LA=4에 대응하는 물리 주소 PA=36까지 연속적이므로, 컨트롤러(130)는 프리페치 범위를 물리 주소 PA=34부터 PA=36까지로 결정할 수 있다.
S160 단계에서, 컨트롤러(130)는 불휘발성 메모리 장치(140)에 읽기 동작 명령(PC) 및 프리페치 범위에 대응하는 물리 주소(PAD)를 제공할 수 있다. 앞서 설명한 예시의 경우, 우선 컨트롤러(130)는 물리 주소 PA=34에 대한 읽기 동작 명령(PC)을 제공할 수 있다.
S170단계에서, 불휘발성 메모리 장치(140)는 제공된 물리 주소(PAD)에 대응하는 영역에 저장된 데이터(이하, 프리페치 데이터(PD))를 컨트롤러(130)에 전송할 수 있다. 앞서 설명한 예시의 경우, 불휘발성 메모리 장치(140)는 물리 주소 PA=34에 대응하는 영역에 저장된 프리페치 데이터(PD)를 컨트롤러(130)에 전송할 수 있다.
S180 단계에서, 컨트롤러(130)는 전송된 프리페치 데이터(PD)를 동작 메모리 장치(도1의 135)에 저장할 수 있다. 컨트롤러(130)는 프리페치 데이터(PD)를 호스트 장치(110)로부터 새로운 읽기 요청을 수신하기 전까지 저장할 수 있다.
S160 단계 내지 S180 단계는 프리페치 범위가 복수의 물리 주소들로 결정되는 경우, 프리페치 범위 전체에 대해 프리페치 동작이 완료될 때까지 반복적으로 수행될 수 있다. 앞서 설명한 예시의 경우, S160 단계 내지 S180 단계는 나머지 물리 주소 PA=35부터 PA=36에 대하여 반복적으로 수행될 수 있다.
도5는 본 발명의 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템의 동작 방법을 설명하기 위한 타이밍도이다. 도5를 참조하면, 데이터 처리 시스템(도1의 100)의 읽기 동작 과정이 간략하게 도시된다. 도5에서 데이터 저장 장치(도1의 120)는 도3에서 설명한 과정에 따라 프리페치 동작을 수행할 것으로 판단한 경우를 가정한다. 따라서, 데이터 저장 장치(120)는 보통의 읽기 동작 및 프리페치 동작을 수행할 수 있다. 도5에서 컨트롤러(도1의 130)는 프리페치 동작을 수행하는 경우, 한번의 읽기 동작 명령(PC) 및 주소(PAD)를 제공하는 것으로 도시한다. 그러나, 프리페치 범위가 복수의 물리 주소들로 결정되는 경우, 각각의 물리 주소들에 대한 각각의 읽기 동작 명령(PC)들이 제공될 수 있다.
이하, 도1 및 도5를 참조하여 동작 방법을 상세히 설명한다.
데이터 저장 장치(120)는 호스트 장치(110)로부터 제1읽기 요청(RRQ1)을 수신할 수 있다(①). 컨트롤러(130)는 제1읽기 요청(RRQ1)에 응답하여 보통의 읽기 동작(②~③의 과정)을 수행할 수 있다. 즉, 컨트롤러(130)는 불휘발성 메모리 장치(140)에 제1읽기 동작 명령(RC1) 및 제1물리 주소(AD1)를 제공할 수 있다(②). 그리고, 불휘발성 메모리 장치(140)는 제공된 제1물리 주소(AD1)에 대응하는 영역에 저장된 제1리드 데이터(RD1)를 컨트롤러(130)에 전송할 수 있다(③). 컨트롤러(130)는 전송된 제1리드 데이터(RD1)를 호스트 장치(110)로 전송할 수 있다(④).
데이터 저장 장치(120)는 호스트 장치(110)로부터 제2읽기 요청(RRQ2)을 수신하기 전에 프리페치 동작(②'~③'의 과정)을 수행할 수 있다. 컨트롤러(130)는 불휘발성 메모리 장치(140)에 읽기 동작 명령(PC) 및 프리페치 범위에 대응하는 물리 주소(PAD)를 제공할 수 있다(②'). 불휘발성 메모리 장치(140)는 프리페치 데이터(PD)를 컨트롤러(130)에 전송할 수 있다(③'). 컨트롤러(130)는 전송된 프리페치 데이터(PD)를 제2읽기 요청(RRQ2)을 수신하기 전까지 동작 메모리 장치(135)에 저장할 수 있다.
데이터 저장 장치(120)는 호스트 장치(110)로부터 제2읽기 요청(RRQ2)을 수신할 수 있다(⑤). 제2읽기 요청(RRQ2)이 프리페치 데이터(PD)에 대한 요청이라면, 컨트롤러(130)는 동작 메모리 장치(135)에 저장한 프리페치 데이터(PD)를 전송할 수 있다(⑥).
도6은 본 발명의 다른 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템을 예시적으로 도시한 블록도이다. 도6을 참조하면, 데이터 처리 시스템(600)은 호스트 장치(610) 및 데이터 저장 장치(620)를 포함할 수 있다. 데이터 저장 장치(620)는 컨트롤러(630) 및 불휘발성 메모리 장치(640)를 포함할 수 있다.
불휘발성 메모리 장치(640)는 복수의 메모리 칩들을 포함할 수 있다. 도 6에서 불휘발성 메모리 장치(640)는 두 개의 메모리 칩들(642, 644)로 구성된 것으로 도시하고 있으나, 이에 한정되지 않는다. 각각의 메모리 칩들(642, 644)과 컨트롤러(630)는 채널들(CH1, CH2)을 통해 연결될 수 있다. 각각의 메모리 칩들(642, 644)과 컨트롤러(630)는 채널들(CH1, CH2)을 통하여 읽기 또는 쓰기 동작 명령 또는 데이터를 주고받을 수 있다.
컨트롤러(630)는 호스트 장치(610)로부터 읽기 요청된 논리 주소에 대응하는 두 개의 메모리 칩들(642, 644) 중 어느 하나, 예를 들어, 제1 메모리 칩(642)의 물리 주소와, 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 하나 이상의 물리 주소가 연속적인지 판단할 수 있다. 컨트롤러(630)는 하나 이상의 물리 주소가 연속적인 경우 하나 이상의 물리 주소에 대응하는 영역의 데이터를 프리페치할 수 있다. 이때, 프리페치 범위는 두 개의 메모리 칩들(642, 644) 중 나머지, 예를 들어, 제2 메모리 칩(644)에 대응할 수 있다. 이러한 경우, 컨트롤러(630)는 제2 메모리 칩(644)에 읽기 동작 명령 및 프리페치 범위에 대응하는 물리 주소를 인터리빙 방식으로 제공할 수 있다.
이와 같은 특징을 제외하고, 도6의 데이터 저장 장치(620)는 도1의 데이터 저장 장치(120)와 동일한 구성을 갖고, 동일한 동작을 수행할 수 있다. 따라서 상세한 설명은 생략한다.
도7은 본 발명의 다른 실시 예에 따른 데이터 저장 장치를 포함하는 데이터 처리 시스템의 동작 방법을 설명하기 위한 타이밍도이다. 도7를 참조하면, 데이터 처리 시스템(도6의 600)의 읽기 동작 과정이 도시된다. 도7에서 데이터 저장 장치(도6의 620)는 도3에서 설명한 과정에 따라 프리페치 동작을 수행할 것으로 판단한 경우를 가정한다. 따라서, 데이터 저장 장치(620)는 보통의 읽기 동작 및 프리페치 동작을 수행할 수 있다. 도7에서 컨트롤러(도6의 630)는 프리페치 동작을 수행하는 경우, 한번의 읽기 동작 명령(PC) 및 주소(PAD)를 제공하는 것으로 도시한다. 그러나, 프리페치 범위가 복수의 물리 주소들로 결정되는 경우, 각각의 물리 주소들에 대한 각각의 읽기 동작 명령(PC)들이 제공될 수 있다.
이하, 도6 및 도7을 참조하여 데이터 저장 장치(620)의 동작 방법을 상세히 설명한다.
데이터 저장 장치(620)는 호스트 장치(610)로부터 제1읽기 요청(RRQ1)을 수신할 수 있다(①). 컨트롤러(630)는 제1읽기 요청(RRQ1)에 응답하여 보통의 읽기 동작(②~③의 과정)을 수행할 수 있다. 즉, 컨트롤러(630)은 불휘발성 메모리 장치(640)의 해당 메모리 칩, 예를 들어 제1메모리 칩(642)에 읽기 동작 명령(RC1) 및 제1물리 주소(AD1)를 제공할 수 있다(②). 그리고, 제1메모리 칩(642)은 제공된 제1물리 주소(AD1)에 대응하는 영역에 저장된 제1리드 데이터(RD1)를 컨트롤러(630)에 전송할 수 있다(③).
컨트롤러(630)는 전송된 제1리드 데이터(RD1)를 호스트 장치(610)로 전송할 수 있다(④).
한편, 데이터 저장 장치(620)는 호스트 장치(610)로부터 제2읽기 요청(RRQ2)을 수신하기 전에 프리페치 동작(②'~③'의 과정)을 수행할 수 있다. 컨트롤러(630)는 불휘발성 메모리 장치(640)의 해당 메모리 칩, 예를 들어 제2메모리 칩(644)에 읽기 동작 명령(PC) 및 프리페치 범위에 대응하는 물리 주소(PAD)를 제공할 수 있다(②'). 제2메모리 칩(644)은 프리페치 데이터(PD)를 컨트롤러(630)에 전송할 수 있다(③'). 컨트롤러(630)는 전송된 프리페치 데이터(PD)를 제2읽기 요청(RRQ2)을 수신하기 전까지 동작 메모리 장치(635)에 저장할 수 있다. 프리페치 데이터(PD)가 제1리드 데이터(RD1)와 서로 다른 메모리 칩에 저장되어 있는 경우, 데이터 저장 장치(620)의 프리페치 동작(②'~③'의 과정)은 보통의 읽기 동작(②~③의 과정)과 동시에 수행될 수 있다.
데이터 저장 장치(620)는 호스트 장치(610)로부터 제2읽기 요청(RRQ2)을 수신할 수 있다(⑤). 제2읽기 요청(RRQ2)이 프리페치 데이터(PD)에 대한 요청이라면, 컨트롤러(630)는 동작 메모리 장치(635)에 저장한 프리페치 데이터(PD)를 전송할 수 있다(⑥).
따라서 본 발명의 실시 예에 따른 데이터 저장 장치를 포함한 데이터 처리 시스템은 읽기 동작을 빠르게 수행할 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 데이터 처리 시스템
110 : 호스트 장치
120 : 데이터 저장 장치
130 : 컨트롤러
135 : 동작 메모리 장치
140 : 불휘발성 메모리 장치

Claims (18)

  1. 호스트 장치로부터 읽기 요청된 논리 주소에 대응하는 물리 주소와, 상기 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 하나 이상의 물리 주소가 연속적인지 판단하는 단계; 및
    상기 하나 이상의 물리 주소가 연속적인 경우, 상기 하나 이상의 물리 주소에 대응하는 불휘발성 메모리 장치의 영역에 저장된 데이터를 프리페치하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 물리 주소가 연속적인 범위를 조사하고, 연속된 물리 주소의 범위를 프리페치 범위로 결정하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  3. 제2항에 있어서,
    상기 프리페치하는 단계는,
    읽기 동작 명령 및 상기 프리페치 범위에 대응하는 물리 주소를 제공하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  4. 제1항에 있어서,
    상기 프리페치하는 단계는,
    프리페치할 데이터를 동작 메모리 장치에 저장하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  5. 제4항에 있어서,
    프리페치된 데이터는 상기 호스트 장치로부터 상기 연속된 하나 이상의 논리 주소에 대한 읽기 요청을 수신하기 전까지 상기 동작 메모리 장치에 저장되는 것을 특징으로 하는 데이터 저장 장치의 동작 방법.
  6. 제1항에 있어서,
    상기 프리페치하는 단계 이후에, 상기 호스트 장치로부터 상기 연속된 하나 이상의 논리 주소에 대한 읽기 요청을 수신하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  7. 제6항에 있어서,
    프리페치된 데이터를 전송하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  8. 불휘발성 메모리 장치; 및
    컨트롤러를 포함하고,
    상기 컨트롤러는 호스트 장치로부터 읽기 요청된 논리 주소에 대응하는 물리 주소와, 상기 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 하나 이상의 물리 주소가 연속적인지 판단하고, 상기 하나 이상의 물리 주소가 연속적인 경우 상기 하나 이상의 물리 주소에 대응하는 상기 불휘발성 메모리 장치의 영역의 데이터를 프리페치하도록 구성된 데이터 저장 장치.
  9. 제8항에 있어서,
    상기 컨트롤러는,
    상기 하나 이상의 물리 주소가 연속적인 범위를 조사하고, 연속적인 물리 주소들의 범위를 프리페치 범위로 결정하는 데이터 저장 장치.
  10. 제9항에 있어서,
    상기 컨트롤러는,
    상기 불휘발성 메모리 장치에 읽기 동작 명령 및 상기 프리페치 범위에 대응하는 물리 주소를 제공하고, 상기 불휘발성 메모리 장치로부터 프리페치할 데이터를 전송받는 데이터 저장 장치.
  11. 제10항에 있어서,
    상기 컨트롤러는,
    프리페치된 데이터를 상기 호스트 장치로부터 상기 연속된 하나 이상의 논리 주소에 대한 읽기 요청을 수신하기 전까지 저장하는 동작 메모리 장치를 포함하는 데이터 저장 장치.
  12. 제8항에 있어서,
    상기 컨트롤러는,
    상기 호스트 장치로부터 상기 연속된 하나 이상의 논리 주소에 대한 읽기 요청을 수신한 경우, 프리페치된 데이터를 전송하는 데이터 저장 장치.
  13. 복수의 메모리 칩들; 및
    컨트롤러를 포함하고,
    상기 컨트롤러는 호스트 장치로부터 읽기 요청된 논리 주소에 대응하는 상기 복수의 메모리 칩들 중 어느 하나의 물리 주소와, 상기 논리 주소에 연속된 하나 이상의 논리 주소에 각각 대응하는 하나 이상의 물리 주소가 연속적인지 판단하고, 상기 하나 이상의 물리 주소가 연속적인 경우 상기 하나 이상의 물리 주소에 대응하는 영역의 데이터를 프리페치하도록 구성된 데이터 저장 장치.
  14. 제13항에 있어서,
    상기 컨트롤러는,
    상기 하나 이상의 물리 주소가 연속적인 범위를 조사하고, 연속적인 물리 주소들의 범위를 프리페치 범위로 결정하는 데이터 저장 장치.
  15. 제14항에 있어서,
    상기 프리페치 범위는 상기 복수의 메모리 칩들 중 나머지에 대응하는 데이터 저장 장치.
  16. 제15항에 있어서,
    상기 컨트롤러는,
    상기 복수의 메모리 칩들 중 상기 나머지에 읽기 동작 명령 및 상기 프리페치 범위에 대응하는 물리 주소를 인터리빙 방식으로 제공하고, 상기 복수의 메모리 칩들 중 상기 나머지로부터 프리페치할 데이터를 전송받는 데이터 저장 장치.
  17. 제16항에 있어서,
    상기 컨트롤러는,
    프리페치된 데이터를 상기 호스트 장치로부터 상기 연속된 하나 이상의 논리 주소에 대한 읽기 요청을 수신하기 전까지 저장하는 동작 메모리 장치를 포함하는 데이터 저장 장치.
  18. 제13항에 있어서,
    상기 컨트롤러는,
    상기 호스트 장치로부터 상기 연속된 하나 이상의 논리 주소에 대한 읽기 요청을 수신한 경우, 프리페치된 데이터를 전송하는 데이터 저장 장치.
KR1020130139913A 2013-11-18 2013-11-18 데이터 저장 장치 및 그것의 동작 방법 KR20150057069A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130139913A KR20150057069A (ko) 2013-11-18 2013-11-18 데이터 저장 장치 및 그것의 동작 방법
US14/157,283 US20150138900A1 (en) 2013-11-18 2014-01-16 Data storage device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130139913A KR20150057069A (ko) 2013-11-18 2013-11-18 데이터 저장 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20150057069A true KR20150057069A (ko) 2015-05-28

Family

ID=53173178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130139913A KR20150057069A (ko) 2013-11-18 2013-11-18 데이터 저장 장치 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US20150138900A1 (ko)
KR (1) KR20150057069A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9658955B2 (en) 2015-02-26 2017-05-23 SK Hynix Inc. Data storage device and operating method thereof

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10346041B2 (en) * 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US20190109720A1 (en) 2016-07-26 2019-04-11 Samsung Electronics Co., Ltd. Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd
US10402355B2 (en) 2017-02-08 2019-09-03 Texas Instruments Incorporated Apparatus and mechanism to bypass PCIe address translation by using alternative routing
KR20190107504A (ko) * 2018-03-12 2019-09-20 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11216364B2 (en) * 2020-02-18 2022-01-04 Micron Technology, Inc. Sequential read optimization in a memory sub-system that programs sequentially

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917701B2 (en) * 2007-03-12 2011-03-29 Arm Limited Cache circuitry, data processing apparatus and method for prefetching data by selecting one of a first prefetch linefill operation and a second prefetch linefill operation
US20090172335A1 (en) * 2007-12-31 2009-07-02 Anand Krishnamurthi Kulkarni Flash devices with raid
US9317436B2 (en) * 2013-06-21 2016-04-19 Hewlett Packard Enterprise Development Lp Cache node processing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9658955B2 (en) 2015-02-26 2017-05-23 SK Hynix Inc. Data storage device and operating method thereof

Also Published As

Publication number Publication date
US20150138900A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
KR20150057069A (ko) 데이터 저장 장치 및 그것의 동작 방법
US9852061B2 (en) Memory device and operating method of memory device
US8843697B2 (en) Operating method of data storage device
US8904095B2 (en) Data storage device and operating method thereof
KR102020466B1 (ko) 버퍼 메모리 장치를 포함하는 데이터 저장 장치
KR20150006614A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20170053278A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20180080589A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102523327B1 (ko) 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR20150055413A (ko) 데이터 저장 장치
KR102595233B1 (ko) 데이터 처리 시스템 및 그것의 동작 방법
KR20210027563A (ko) 저장 장치 및 그 동작 방법
KR20140078893A (ko) 데이터 저장 장치의 동작 방법
KR20200139433A (ko) 컨트롤러의 동작 방법 및 메모리 시스템
US20150019796A1 (en) Data storage device and operating method thereof
US20150052290A1 (en) Data storage device and operating method thereof
KR20200114052A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20170033480A (ko) 스토리지 장치 및 그것을 포함하는 서버 시스템의 매칭 키 검색 방법
US20190258593A1 (en) Memory controller and operating method thereof
CN110069427B (zh) 存储器控制器以及存储器控制器的操作方法
KR102425470B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20210156090A (ko) 저장 장치 및 그 동작 방법
KR20190113107A (ko) 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR20220045342A (ko) 호스트 장치, 데이터 저장 장치, 데이터 처리 시스템 및 데이터 처리 방법
KR20210156061A (ko) 저장 장치 및 그 동작 방법

Legal Events

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