KR20100124082A - 고체 상태 드라이브 장치 - Google Patents

고체 상태 드라이브 장치 Download PDF

Info

Publication number
KR20100124082A
KR20100124082A KR1020090043143A KR20090043143A KR20100124082A KR 20100124082 A KR20100124082 A KR 20100124082A KR 1020090043143 A KR1020090043143 A KR 1020090043143A KR 20090043143 A KR20090043143 A KR 20090043143A KR 20100124082 A KR20100124082 A KR 20100124082A
Authority
KR
South Korea
Prior art keywords
host
core
flash
memory controller
memory device
Prior art date
Application number
KR1020090043143A
Other languages
English (en)
Other versions
KR101600951B1 (ko
Inventor
임승호
장실완
지운혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020090043143A priority Critical patent/KR101600951B1/ko
Priority to US12/662,992 priority patent/US8904084B2/en
Publication of KR20100124082A publication Critical patent/KR20100124082A/ko
Priority to US14/532,520 priority patent/US9052838B2/en
Priority to US14/711,401 priority patent/US9262077B2/en
Application granted granted Critical
Publication of KR101600951B1 publication Critical patent/KR101600951B1/ko

Links

Images

Classifications

    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements

Landscapes

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

Abstract

본 발명의 실시예에 따른 고체 상태 드라이브 장치는 복수의 플래시 메모리 장치들과 이들을 제어하는 컨트롤러를 포함한다. 상기 메모리 컨트롤러는 플래시 메모리로 구성된 메모리 장치 및 호스트와 연결되고, 상기 메모리 장치를 제어하는 메모리 컨트롤러를 포함한다. 상기 메모리 컨트롤러는 제1 및 제2 코어들, 상기 제1 코어의 제어에 응답하여 상기 호스트와 인터페이스하는 호스트 인터페이스부 및 상기 제2 코어의 제어에 응답하여 상기 플래시 메모리를 제어하는 플래시 메모리 컨트롤러를 포함한다. 상기 제1 코어는 상기 호스트와 데이터를 송수신하도록 제어하고, 상기 제2 코어는 상기 메모리 장치와 데이터를 송수신하도록 제어한다. 따라서, 본 발명은 듀얼 코어를 포함하는 메모리 컨트롤러를 사용하여 호스트의 부하를 저감시킬 수 있다.

Description

고체 상태 드라이브 장치{SOLID STATE DRIVE DEVICE}
본 발명은 고체 상태 드라이브에 관한 것으로, 더욱 상세하게는 듀얼 코어 기반의 고체 상태 드라이브에 관한 것이다.
근래의 하드 디스크(HDD) 트랜드(Trend)에 따르면, 자기 디스크 장치를 대신하는 기억 소자로 플래시 메모리를 채택한 고체 상태 드라이브(Solid State Drive) 장치에 대한 요구가 점차 증가되고 있다. 고체 상태 드라이브 장치는 컴퓨터 시스템이나 휴대용 기기의 대용량 저장 장치로서 자기 디스크 장치에 비하여 기억 용량이나 비용 면에서는 불리하지만 액세스 속도와 소형화 및 충격으로부터의 안정성 등에 우위를 점하고 있다. 또한 공정 기술과 설계 기술의 진보에 따라 점차 고체 상태 드라이브의 기억 용량 증가와 비용의 감소가 예상되며, 머지않아 고체 상태 드라이브 장치는 자기 디스크를 대체할 것이다.
상술한 고체 상태 드라이브 장치를 컴퓨터 시스템이나 기타 휴대용 기기의 대용량 저장 장치로 사용할 경우, 호스트 측의 데이터 교환 프로토콜과 플래시 메모리와의 호환을 위한 제어 장치가 필요하다.
일반적인 컴퓨터 시스템에서는 디스크 드라이버의 데이터 전송 프로토콜로 미국의 IBM사가 제안한 하드 디스크(HDD)용 규격인 ATA(Advanced Technology Attachment) 방식이 사용된다. 이러한 프로토콜과 호환성을 갖기 위해서는 ATA 방식으로 데이터를 교환하기 위한 인터페이스(Interface) 및 플래시 메모리와의 인터페이스가 필요하다. 상술한 데이터 교환의 제반 동작들을 제어하는 장치를 고체 상태 드라이브 제어 장치(SSD Controller)라 한다.
본 발명의 목적은 듀얼 코어를 내장한 메모리 컨트롤러를 포함하는 고체 상태 드라이브 장치를 제공하는 데 있다.
본 발명의 실시예에 따른 고체 상태 드라이브 장치는 복수의 플래시 메모리들을 포함하는 메모리 장치; 및 호스트와 연결되고, 상기 메모리 장치를 제어하는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는 제1 및 제2 코어들; 상기 제1 코어의 제어에 응답하여 상기 호스트와 인터페이스하는 호스트 인터페이스부; 및 상기 제2 코어의 제어에 응답하여 상기 복수의 플래시 메모리들을 제어하는 플래시 메모리 컨트롤러를 포함하고, 상기 제1 코어는 상기 호스트와 데이터를 송수신하도록 제어하고, 상기 제2 코어는 상기 메모리 장치와 데이터를 송수신하도록 제어한다.
실시 예로서, 상기 호스트와 데이터를 송수신하는 동안, 상기 데이터를 임시로 저장하는 버퍼를 제어하는 버퍼 관리부를 더 포함한다.
실시 예로서, 상기 제1 코어는 상기 버퍼 관리부 및 상기 호스트 인터페이스부를 제어한다.
실시 예로서, 상기 제2 코어는 상기 플래시 메모리 컨트롤러를 제어한다.
실시 예로서, 상기 제1 및 제2 코어 각각은 상기 호스트 인터페이스부를 제어하는 호스트 인터페이스 계층부; 상기 버퍼 관리부를 제어하는 캐쉬 할당 계층부; 상기 플래시 메모리 컨트롤러의 플래시 변환 계층(FTL)을 제어하는 플래시 변환 계층부; 및 상기 플래시 메모리와 인터페이스를 제어하는 플래시 인터페이스 계층부를 포함한다.
실시 예로서, 상기 제1 및 제2 코어 각각은 상기 호스트에 의한 억세스 명령을 저장하는 큐 관리부를 더 포함하고, 상기 제1 및 제2 코어의 큐 관리부 각각은 IPC 프로토콜에 따라 상호 통신한다.
실시 예로서, 상기 제1 및 제2 코어 각각은 ARM(TM) 프로세서를 포함한다.
실시 예로서, 상기 호스트 인터페이스부는 S-ATA, P-ATA, USB, PCI 인터페이스들 중 하나를 포함한다.
본 발명에 따른 듀얼 코어를 포함하는 고체 상태 드라이브 장치는 호스트 프로세서의 부하를 저감시킬 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시예를 첨부된 도면을 참조 하여 설명한다.
도 1은 본 발명의 실시예에 따른 고체 상태 드라이브 장치 및 이에 접속된 호스트를 도시한 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 고체 상태 드라이브 장치(1)는 메모리 장치(10)와 이를 제어하는 메모리 컨트롤러(20)를 포함한다. 메모리 장치(10)는 세컨더리 저장장치(Secondary Storage)로서 대용량의 데이터를 저장하도록 구성된다. 일반적으로 세컨더리 저장장치는 하드 디스크 드라이브(HDD), 광학 디스크 드라이브(ODD) 등이 있으나, 본 발명의 실시예에 따른 메모리 장치(10)는 고체 상태 드라이브(SSD)를 예시한다.
메모리 장치(10)는 제1 내지 제4 채널(Channel1-Channel4)을 포함한다. 제1 내지 제4 채널(Channel1-Channel4)들 각각에는 4개의 플래시 메모리(Flash Memory)가 연결된다. 하나의 채널(channel)에는 2 Gbyte(기가 바이트)의 플래시 메모리가 4개씩 연결된다. 제1 내지 제4 채널(Channel1-Channel4)들 각각은 4개의 플래시 메모리를 포함하도록 도시되었으나, 그 이상의 플래시 메모리를 포함하도록 구현될 수 있다. 또한, 제1 내지 제4 채널(Channel1-Channel4)을 포함한 메모리 장치(10)가 도시되었으나, 그 이상의 채널을 포함하도록 구현될 수 있다.
메모리 컨트롤러(20)는 플래시 메모리 컨트롤러(21), 버퍼 관리부(22), 호스트 인터페이스부(24) 및 코어(26)을 포함한다. 플래시 메모리 컨트롤러(21)는 제1 내지 제4 채널(Channel1-Channel4)들 각각에 연결된 플래시 메모리를 제어한다.
버퍼 관리부(22)는 램(23)을 제어한다. 램(23)은 호스트(25)로 전송될 데이 터를 임시로 저장하거나 호스트(25)로부터 전송된 데이터를 메모리 장치(10)에 저장하기 위하여 임시로 저장하는 버퍼 역할을 수행한다. 램(23)은 다이나믹 랜덤 억세스 메모리(DRAM)로 구현된다.
호스트 인터페이스부(24)는 메모리 장치(10)와 호스트(25)를 상호 연결한다. 본 발명의 실시예에 따른 호스트 인터페이스부(24)는 S-ATA(Serial Advanced Technology Attachment) 인터페이스를 예시한다. 또는, 호스트 인터페이스부(24)는 P-ATA(Parallel Advanced Technology Attachment), USB, PCI(Peripheral Component Interconnect) 인터페이스들 중 적어도 하나를 포함할 것이다.
코어(26)는 플래시 메모리 컨트롤러(21), 버퍼 관리부(22) 및 호스트 인터페이스부(24)를 제어한다. 일반적으로 코어(26)는 ARM(TM)사의 ARM7TDMI(TM)로 구현된다. 본 발명의 실시예에 따른 코어(26)은 도 2 내지 도 3을 통하여 상세히 설명될 것이다. 도 2에서는 코어의 내부 블록들이 설명되고, 도 3에서는 도 2에서 도시된 코어의 내부 블록들의 동작이 설명될 것이다.
도 2는 도 1에 도시된 코어를 상세히 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명은 싱글 코어를 포함하는 메모리 컨트롤러(20)를 예시한다. 코어(26)은 호스트 인터페이스 계층부(261), 캐쉬 할당 계층부(262), 플래시 변환 계층부(263) 및 플래시 인터페이스 계층부(264)를 포함한다.
호스트 인터페이스 계층부(261)는 호스트 인터페이스부(24)를 제어하여 호스트(25)와 메모리 컨트롤러(20)가 인터페이스하도록 제어한다. 캐쉬 할당 계층부(262)는 버퍼 관리부(22)를 제어한다. 플래시 변환 계층부(263)는 플래시 메모리 컨트롤러(21)의 FTL(Flash Translation Layer)를 제어한다. 플래시 인터페이스 계층부(264)는 플래시 메모리 컨트롤러(21)와 메모리 장치(10)를 인터페이스하도록 제어한다.
코어(26)는 하나의 기능 블록(예를 들면, 호스트 인터페이스 계층부(261), 캐쉬 할당 계층부(262), 플래시 변환 계층부(263) 및 플래시 인터페이스 계층부(264))이 동작하는 동안 다른 기능 블록들을 구동할 수 없다. 따라서, 이러한 동작 특성은 싱글 코어를 포함하는 메모리 컨트롤러의 성능을 제한한다. 호스트 인터페이스 계층부(261), 캐쉬 할당 계층부(262), 플래시 변환 계층부(263) 및 플래시 인터페이스 계층부(264)의 구체적인 동작은 도 3을 통하여 상세히 설명될 것이다.
도 3는 도 2에 도시된 코어의 내부 블록들의 동작을 도시한 개념도이다.
도 1 내지 도 3를 참조하면, 호스트 인터페이스 계층부(261)는 호스트(25)에 인터페이스를 제공하도록 호스트 인터페이스부(24)를 제어한다. 캐쉬 할당 계층부(262)는 호스트(25)로부터 요청된 데이터를 임시로 저장하는 램(23)을 관리하는 버퍼 관리부(22)를 제어한다. 캐쉬 할당 계층부(262)는 호스트 인터페이스부(24)를 통하여 호스트(25)로부터 요청된 데이터를 임시로 저장하는 램(23)에 저장하도록 버퍼 관리부(22)를 제어한다. 플래시 변환 계층부(263)는 호스트(25)에 의하여 요청된 데이터가 제1 내지 제4 채널(Channel1-Channel4)들로부터 독출되도록 플래시 메모리 컨트롤러(21)를 제어한다. 플래시 인터페이스 계층부(264)는 메모리 장치(10)에 인터페이스를 제공하도록 플래시 메모리 컨트롤러(21)를 제어한다.
고체 상태 드라이브 장치(1)는 하나의 코어(26)만을 포함한다. 즉, 싱글 코 어(26)는 호스트(25) 및 플래시 메모리와 관련된 프로세싱(Processing)을 모두 담당한다. 싱글 코어를 포함하는 메모리 컨트롤러에서 코어(26)는 호스트 인터페이스 계층부(261), 캐쉬 할당 계층부(262), 플래시 변환 계층부(263) 및 플래시 인터페이스 계층부(264)의 동작을 순차적으로 처리한다. 즉, 코어(26)는 호스트 인터페이스 계층부(261), 캐쉬 할당 계층부(262), 플래시 변환 계층부(263) 및 플래시 인터페이스 계층부(264)의 동작을 병렬적으로 처리할 수 없다. 이로 인하여 싱글 코어를 포함하는 메모리 컨트롤러는 성능에 한계를 가지게 된다. 또한, 최근에는 메모리 장치(10)의 채널의 수의 증가로 인하여 싱글 코어 기반의 메모리 컨트롤러는 성능에 제한이 따르게 된다.
상술한 바에 따르면, 지금까지 싱글 코어를 포함하는 메모리 컨트롤러에 대하여 설명되었다. 이하에서 두 개의 코어(즉, 듀얼 코어)를 포함하는 메모리 컨트롤러에 대하여 설명될 것이다. 듀얼 코어를 포함하는 메모리 컨트롤러는 도 4 내지 도 7을 통하여 상세히 설명될 것이다.
도 4은 본 발명의 제2 실시예에 따른 고체 상태 드라이브 장치 및 이에 접속된 호스트를 도시한 블록도이다.
도 4을 참조하면, 본 발명의 실시예에 따른 고체 상태 드라이브 장치(10)는 메모리 장치(110)와 이를 제어하는 메모리 컨트롤러(120)를 포함한다.
메모리 장치(110)는 세컨더리 저장장치(Secondary Storage)로서 대용량의 데이터를 저장하도록 구성된다. 본 발명의 실시예에 따른 메모리 장치(110)는 고체 상태 드라이브(SSD)를 예시한다.
메모리 장치(110)는 제1 내지 제4 채널(Channel1-Channel4)을 포함한다. 제1 내지 제4 채널(Channel1-Channel4)들 각각에는 4개의 플래시 메모리(Flash Memory)가 연결된다. 제1 내지 제4 채널(Channel1-Channel4)들 각각은 4개의 플래시 메모리를 포함하도록 도시되었으나, 그 이상의 플래시 메모리를 포함하도록 구현될 수 있다. 또한, 메모리 장치(110)는 제1 내지 제4 채널(Channel1-Channel4)이 도시되었으나, 그 이상의 채널을 포함하도록 구현될 수 있다.
메모리 컨트롤러(120)는 플래시 메모리 컨트롤러(121), 버퍼 관리부(122), 호스트 인터페이스부(124) 및 제1 및 제2 코어(126,127)들을 포함한다. 플래시 메모리 컨트롤러(121)는 제1 내지 제4 채널(Channel1-Channel4)들 각각에 연결된 플래시 메모리를 제어한다.
버퍼 관리부(122)는 램(123)을 제어한다. 램(123)은 호스트(125)로 전송될 데이터를 임시로 저장하거나 호스트(125)로부터 전송된 데이터를 메모리 장치(110)에 저장하기 위하여 임시로 저장하는 버퍼 역할을 수행한다. 램(123)은 버퍼 관리부(122)의 제어에 따라 임시로 저장된 데이터를 호스트(125) 또는 메모리 장치(110)로 전송한다. 호스트 인터페이스부(124)는 메모리 장치(110)와 호스트(125)를 상호 연결한다.
제1 및 제2 코어(126, 127)는 순차적으로 수행되는 호스트 인터페이스 작업, 캐쉬 할당 작업, 플래시 변환 작업 및 플래시 인터페이스 작업을 나누어 실행한다. 예를 들면, 제1 코어(126)는 버퍼 관리부(122) 및 호스트 인터페이스부(124)를 제어하고, 제2 코어(127)는 플래시 메모리 컨트롤러(121)를 제어한다. 즉, 제1 코 어(126)는 주로 호스트(25)와 관련된 프로세싱을 담당하고, 제2 코어(127)는 주로 플래시 메모리와 관련된 프로세싱을 담당한다. 이 경우는 도 5에서 상세히 설명될 것이다.
또는, 제1 코어(126)는 플래시 메모리 컨트롤러(121), 버퍼 관리부(122) 및 호스트 인터페이스부(124)를 제어하고, 제2 코어(127)는 플래시 메모리 컨트롤러(121)만을 제어한다. 이 경우는 도 6에서 상세히 설명될 것이다.
이하, 제1 및 제2 코어의 동작은 도 5 내지 도 7을 통하여 상세히 설명될 것이다.
도 5는 도 4에 도시된 제1 및 제2 코어의 제1 실시예에 따른 동작을 도시한 개념도이다.
도 4 및 도 5를 참조하면, 제1 코어(126)는 호스트(125)와 관련된 데이터 입출력을 제어하고, 제2 코어(127)는 메모리 장치(110)와 관련된 데이터 입출력을 제어한다.
제1 코어(126)은 호스트 인터페이스 계층부(1261), 캐쉬 할당 계층부(1262) 및 제1 큐 관리부(1263)를 포함한다. 호스트 인터페이스 계층부(1261)는 호스트(125)로부터 요청에 응답하여 호스트 인터페이스부(124)를 제어한다. 캐쉬 할당 계층부(1262)는 호스트(125)로부터 요청된 데이터를 임시로 저장하는 램(123)을 관리하는 버퍼 관리부(122)를 제어한다. 제1 큐 관리부(1263)는 제1 코어(126)에 입력된 명령어를 순차적으로 저장한다.
제2 코어(127)은 제2 큐 관리부(1271), 플래시 변환 계층부(1272) 및 플래시 인터페이스 계층부(1273)를 포함한다. 제2 큐 관리부(1271)는 제2 코어(127)에 입력된 명령어를 순차적으로 저장한다. 플래시 변환 계층부(1272)는 호스트(125)에 의하여 요청된 데이터가 제1 내지 제4 채널(Channel1-Channel4)들로부터 독출되도록 플래시 메모리 컨트롤러(121)를 제어한다. 플래시 인터페이스 계층부(1273)는 메모리 장치(210)에 인터페이스를 제공하도록 플래시 메모리 컨트롤러(121)을 제어한다. 제1 및 제2 큐 관리부(1263, 1271)은 IPC 프로토콜에 따라 통신한다. IPC(Interprocess Communication)은 프로그래머가 하나의 운영체계(Operating System)에서 동시에 수행될 개별 프로그램을 생성하고 다룰 수 있도록 해주는 프로그래밍 인터페이스 집합으로서, 하나의 프로그램이 동시에 많은 사용자의 요구를 처리할 수 있도록 한다. IPC 프로토콜은 프로세서들 간의 통신에서 인터페이스를 제공한다.
계속해서 도 4 및 도 5를 참조하면, 제1 큐 관리부(1263)는 호스트(125)로부터 입력된 명령어를 저장한다. 제1 큐 관리부(1263)는 메모리 장치(110)를 직접 제어하는 명령어를 IPC 프로토콜에 따라 제2 큐 관리부(1271)에 전송한다.
제1 코어(126)는 호스트(125)와 데이터 통신에 필요한 제어를 담당하고, 제2 코어(127)는 메모리 장치(110)와 데이터 통신에 필요한 제어를 담당한다.
따라서, 도 5에 도시된 듀얼 코어를 포함하는 메모리 컨트롤러(120)는 도 1에 도시된 싱글 코어를 포함하는 메모리 컨트롤러(20)와 비교하여 호스트(125) 및 메모리 장치(110)와 통신을 병렬적으로 수행할 수 있다.
계속해서 도 6에서는 제1 및 제2 코어의 제2 실시예에 따른 동작에 대하여 설명될 것이다.
도 6는 도 4에 도시된 제1 및 제2 코어의 제2 실시예에 따른 동작을 도시한 개념도이다.
도 4 및 도 6를 참조하면, 제1 코어(226)는 호스트(225) 및 메모리 장치(210)와 관련된 데이터 입출력을 제어하고, 제2 코어(227)는 메모리 장치(210)와 관련된 데이터 입출력만을 제어한다.
제1 코어(226)은 호스트 인터페이스 계층부(2261), 캐쉬 할당 계층부(2262), 제1 큐 관리부(2263), 제1 플래시 변환 계층부(2264) 및 제1 플래시 인터페이스 계층부(2265)를 포함한다. 호스트 인터페이스 계층부(2261)는 호스트(225)에 인터페이스를 제공하도록 제어한다. 캐쉬 할당 계층부(2262)는 버퍼를 관리하도록 제어한다. 제1 큐 관리부(2263)는 제1 코어(226)에 입력된 명령어를 순차적으로 저장한다. 제1 플래시 변환 계층부(2264)는 메모리 장치(210)의 제1 채널(Channel1)을 제어한다. 제1 플래시 인터페이스 계층부(2273)는 메모리 장치(210)에 인터페이스를 제공하도록 제어한다.
제2 코어(227)은 제2 큐 관리부(2271), 제2 플래시 변환 계층부(2272) 및 제2 플래시 인터페이스 계층부(2273)를 포함한다. 제2 큐 관리부(2271)는 제2 코어(227)에 입력된 명령어를 순차적으로 저장한다. 제2 플래시 변환 계층부(2272)는 제2 내지 제4 채널(Channel2-Channel4)들을 제어한다. 제2 플래시 인터페이스 계층부(2273)는 메모리 장치(210)에 인터페이스를 제공하도록 제어한다.
제1 및 제2 큐 관리부(2263, 2271)은 IPC 프로토콜에 따라 통신한다. 즉, 제 1 및 제2 코어(226, 227)의 부하를 균등하게 유지하기 위하여 제1 큐 관리부(2263)는 메모리 장치(210)를 직접 제어하는 명령어를 IPC 프로토콜에 따라 제2 큐 관리부(2271)에 전송한다.
또는, 제1 및 제2 코어(226, 227)의 부하를 균등하게 유지하기 위하여 제1 코어(226)는 특정 채널에 연결된 플래시 메모리 장치를 직접 제어한다. 예를 들면, 도 6에 도시된 바와 같이, 제1 코어(226)은 제1 채널(Channel1)을 직접 제어하고, 제2 코어(227)은 제2 내지 제4 채널(Channel2-4)을 직접 제어한다. 또는, 제1 코어(226)은 제1 내지 제2 채널(Channel1-2)을 직접 제어하고, 제2 코어(227)은 제3 내지 제4 채널(Channel3-4)을 직접 제어할 수 있다.
또한, 제1 및 제2 코어(226, 227)의 부하를 균등하게 유지하기 위하여 제1 큐 관리부(2263)는 저장된 명령어(즉, 요청된 큐)를 IPC 프로토콜에 따라 제2 큐 관리부(2271)에 전송한다. 이러한 동작은 도 7을 통하여 상세히 설명된다.
도 7은 도 6에 도시된 제1 및 제2 큐 관리부의 동작을 도시한 순서도이다.
도 6 및 도 7을 참조하면, 제1 큐 관리부(2263)는 호스트(225)로부터 전송된 명령어를 저장한다. 제1 큐 관리부(2263)는 IPC 프로토콜에 따라 제2큐 관리부(2271)에 메모리 장치(210)와 관련된 명령어를 전송한다. 제1 및 제2 큐 관리부(2263, 2271) 각각은 호스트(225)로부터 전송된 명령어(즉, 큐(Queue))를 모니터링한다(S01). 만약 제1 큐 관리부(2263)에 요청된 큐의 수가 제2 큐 관리부(2271)에 요청된 큐의 수보다 소정값(Th)이상 더 큰지를 비교한다(S02). 그렇다면, 제1 코어(226)는 직접 처리하는 채널들 중 하나의 채널을 제2 코어(227)로 이동시킨 다(S03). 예를 들면, 도 6에 도시된 바와 같이 제1 코어(226)는 제1 채널(Channel1)을 직접 제어한다. 만약 S02 단계에서 제1 큐 관리부(2263)의 큐의 개수가 제2 큐 관리부(2271)의 큐의 개수보다 소정값(Th)이상 더 크다면, 제1 채널(Channel1)은 제2 코어(227)에 의하여 직접 제어되도록 한다.
그렇지 않다면, 제2 큐 관리부(2271)에 저장된 큐의 수가 제1 큐 관리부(2263)에 저장된 명령어의 수보다 소정값(Th)보다 더 큰지를 비교한다(S04). 그렇다면, 제2 코어(227)는 직접 처리하는 채널들 중 하나의 채널을 제1 코어(226)로 이동시킨다(S05). 그렇지 않다면, 모든 과정을 종료한다.
예를 들면, 도 6에 도시된 바와 같이 제2 코어(227)는 제2 내지 제4 채널(Channel2-4)을 직접 제어한다. 만약 S04 단계에서 제2 큐 관리부(2271)의 큐의 개수가 제1 큐 관리부(2263)의 큐의 개수보다 소정값(Th)이상 더 크다면, 제2 채널(Channel1)은 제1 코어(226)에 의하여 제어되도록 한다.
본 발명의 실시예에 따른 듀얼 코어를 포함하는 메모리 컨트롤러는 도 1에 도시된 싱글 코어와 비교하여 호스트(225) 및 메모리 장치(210)와 병렬적으로 데이터를 통신할 수 있다.
예를 들면, 도 5에 도시된 바와 같이 제1 코어(126)는 호스트(125)와 데이터 통신에 필요한 제어를 담당하고, 제2 코어(127)는 메모리 장치(110)와 데이터 통신에 필요한 제어를 담당한다.
또한, 도 6 및 도 7에 도시된 바와 같이 제1 코어(226)는 호스트(225) 및 메모리 장치(210)와 데이터 통신에 필요한 제어를 담당하고, 제2 코어(227)는 메모리 장치(210)와 데이터 통신에 필요한 제어를 담당한다.
따라서, 본 발명은 메모리 컨트롤러의 성능을 향상시키고, 호스트의 부하를 저감시킬 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 실시예에 따른 고체 상태 드라이브 장치 및 이에 접속된 호스트를 도시한 블록도이다.
도 2는 도 1에 도시된 코어를 상세히 도시한 블록도이다.
도 3는 도 2에 도시된 코어의 내부 블록들의 동작을 도시한 개념도이다.
도 4은 본 발명의 제2 실시예에 따른 고체 상태 드라이브 장치 및 이에 접속된 호스트를 도시한 블록도이다.
도 5는 도 4에 도시된 제1 및 제2 코어의 제1 실시예에 따른 동작을 도시한 개념도이다.
도 6는 도 4에 도시된 제1 및 제2 코어의 제2 실시예에 따른 동작을 도시한 개념도이다.
도 7은 도 6에 도시된 큐 관리부의 동작을 도시한 순서도이다.
* 도면의 주요 부분에 대한 부호 설명 *
110; 메모리 장치 120; 메모리 컨트롤러
121; 플래시 메모리 컨트롤러 122; 버퍼 관리부
123; 램 124; 호스트 인터페이스
125; 호스트 126; 제1 코어
1261; 호스트 인터페이스 계층부 1262; 캐쉬 할당 계층부
1263; 큐 관리부 1264; 플래시 변환 계층부
1265; 플래시 인터페이스 계층부 127; 제2 코어

Claims (8)

  1. 복수의 플래시 메모리들을 포함하는 메모리 장치; 및
    호스트와 연결되고, 상기 메모리 장치를 제어하는 메모리 컨트롤러를 포함하되,
    상기 메모리 컨트롤러는,
    제1 및 제2 코어들;
    상기 호스트와 인터페이스하는 호스트 인터페이스부; 및
    상기 복수의 플래시 메모리들을 제어하는 플래시 메모리 컨트롤러를 포함하되,
    상기 제1 코어는 상기 호스트와 데이터를 송수신하도록 제어하고, 상기 제2 코어는 상기 메모리 장치와 데이터를 송수신하도록 제어하는 고체 상태 드라이브 장치.
  2. 제 1 항에 있어서,
    상기 호스트와 데이터를 송수신하는 동안, 상기 데이터를 임시로 저장하는 버퍼를 제어하는 버퍼 관리부를 더 포함하는 고체 상태 드라이브 장치.
  3. 제 2 항에 있어서,
    상기 제1 코어는 상기 버퍼 관리부 및 상기 호스트 인터페이스부를 제어하는 고체 상태 드라이브 장치.
  4. 제 3 항에 있어서,
    상기 제2 코어는 상기 플래시 메모리 컨트롤러를 제어하는 고체 상태 드라이브 장치.
  5. 제 2 항에 있어서,
    상기 제1 및 제2 코어 각각은,
    상기 호스트 인터페이스부를 제어하는 호스트 인터페이스 계층부;
    상기 버퍼 관리부를 제어하는 캐쉬 할당 계층부;
    상기 플래시 메모리 컨트롤러의 플래시 변환 계층(FTL)을 제어하는 플래시 변환 계층부; 및
    상기 플래시 메모리와 인터페이스를 제어하는 플래시 인터페이스 계층부를 포함하는 고체 상태 드라이브 장치.
  6. 제 5 항에 있어서,
    상기 제1 및 제2 코어 각각은,
    상기 호스트에 의한 억세스 명령을 저장하는 큐 관리부를 더 포함하고,
    상기 제1 및 제2 코어의 큐 관리부 각각은 IPC 프로토콜에 따라 상호 통신하는 고체 상태 드라이브 장치.
  7. 제 1 항에 있어서,
    상기 제1 및 제2 코어 각각은 ARM(TM) 프로세서를 포함하는 고체 상태 드라이브 장치.
  8. 제 1 항에 있어서,
    상기 호스트 인터페이스부는 S-ATA, P-ATA, USB, PCI 인터페이스들 중 하나를 포함하는 고체 상태 드라이브 장치.
KR1020090043143A 2009-05-18 2009-05-18 고체 상태 드라이브 장치 KR101600951B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020090043143A KR101600951B1 (ko) 2009-05-18 2009-05-18 고체 상태 드라이브 장치
US12/662,992 US8904084B2 (en) 2009-05-18 2010-05-14 Solid state drive device
US14/532,520 US9052838B2 (en) 2009-05-18 2014-11-04 Solid state drive device
US14/711,401 US9262077B2 (en) 2009-05-18 2015-05-13 Solid state drive device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090043143A KR101600951B1 (ko) 2009-05-18 2009-05-18 고체 상태 드라이브 장치

Publications (2)

Publication Number Publication Date
KR20100124082A true KR20100124082A (ko) 2010-11-26
KR101600951B1 KR101600951B1 (ko) 2016-03-08

Family

ID=43069424

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090043143A KR101600951B1 (ko) 2009-05-18 2009-05-18 고체 상태 드라이브 장치

Country Status (2)

Country Link
US (3) US8904084B2 (ko)
KR (1) KR101600951B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013176912A1 (en) * 2012-05-23 2013-11-28 Violin Memory, Inc. Flash memory controller
US9436267B2 (en) 2013-10-17 2016-09-06 SK Hynix Inc. Data storage device
US10082961B2 (en) 2014-11-03 2018-09-25 SK Hynix Inc. Memory system having multiple host channel and performing a cache operation and method of operating the same

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101516580B1 (ko) 2009-04-22 2015-05-11 삼성전자주식회사 컨트롤러, 이를 포함하는 데이터 저장 장치 및 데이터 저장 시스템, 및 그 방법
US8489843B2 (en) * 2010-04-20 2013-07-16 Chip Memory Technology, Inc. Configurable memory device
US8918595B2 (en) * 2011-04-28 2014-12-23 Seagate Technology Llc Enforcing system intentions during memory scheduling
US9740439B2 (en) 2011-12-23 2017-08-22 International Business Machines Corporation Solid-state storage management
US10114550B2 (en) 2016-01-07 2018-10-30 Samsung Electronics Co., Ltd. Data storage device and data processing system including the data storage device
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center
EP3457716A1 (en) * 2017-09-15 2019-03-20 Oticon A/s Providing and transmitting audio signal
KR102611566B1 (ko) 2018-07-06 2023-12-07 삼성전자주식회사 솔리드 스테이트 드라이브 및 그의 메모리 할당 방법
KR20200085966A (ko) * 2019-01-07 2020-07-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060033877A (ko) * 2003-07-01 2006-04-20 모토로라 인코포레이티드 프로세서간 통신 프로토콜
US20090049234A1 (en) * 2007-08-14 2009-02-19 Samsung Electronics Co., Ltd. Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US20090083476A1 (en) * 2007-09-21 2009-03-26 Phison Electronics Corp. Solid state disk storage system with parallel accesssing architecture and solid state disck controller

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4212796A1 (de) 1992-04-16 1993-10-21 Bayer Ag Propenoyl-imidazolderivate
KR960005394B1 (ko) 1993-10-18 1996-04-24 엘지전자주식회사 멀티 프로세서 시스템
KR0149687B1 (ko) 1993-12-29 1998-10-15 정장호 멀티프로세서 시스템의 공통메모리 억세스 제어회로
JP4392877B2 (ja) * 1998-09-18 2010-01-06 株式会社日立製作所 ディスクアレイ制御装置
JP4190859B2 (ja) * 2002-10-28 2008-12-03 株式会社日立製作所 記憶装置の制御装置、及び記憶装置の制御装置の制御方法
US8281084B2 (en) * 2003-01-13 2012-10-02 Emlilex Design & Manufacturing Corp. Method and interface for access to memory within a first electronic device by a second electronic device
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
JP4377279B2 (ja) * 2004-05-06 2009-12-02 株式会社日立製作所 ストレージシステム、コンピュータシステム、およびストレージシステムの設定方法
US20070043965A1 (en) 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
DE102005054587A1 (de) 2005-11-16 2007-05-24 Robert Bosch Gmbh Programmgesteuerte Einheit und Verfahren zum Betreiben derselbigen
JP2007148952A (ja) * 2005-11-30 2007-06-14 Renesas Technology Corp 半導体集積回路
US8344475B2 (en) * 2006-11-29 2013-01-01 Rambus Inc. Integrated circuit heating to effect in-situ annealing
KR100816761B1 (ko) * 2006-12-04 2008-03-25 삼성전자주식회사 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법
JP4939234B2 (ja) * 2007-01-11 2012-05-23 株式会社日立製作所 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
US8332572B2 (en) * 2008-02-05 2012-12-11 Spansion Llc Wear leveling mechanism using a DRAM buffer
KR20090087689A (ko) * 2008-02-13 2009-08-18 삼성전자주식회사 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법
JP5032371B2 (ja) 2008-03-01 2012-09-26 株式会社東芝 メモリシステム
US8341338B2 (en) * 2009-05-06 2012-12-25 Samsung Electronics Co., Ltd. Data storage device and related method of operation
CN101594269B (zh) * 2009-06-29 2012-05-02 成都市华为赛门铁克科技有限公司 一种异常连接的检测方法、装置及网关设备
WO2011141956A1 (en) * 2010-05-11 2011-11-17 Hitachi, Ltd. Storage device and method of controlling storage device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060033877A (ko) * 2003-07-01 2006-04-20 모토로라 인코포레이티드 프로세서간 통신 프로토콜
US20090049234A1 (en) * 2007-08-14 2009-02-19 Samsung Electronics Co., Ltd. Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US20090083476A1 (en) * 2007-09-21 2009-03-26 Phison Electronics Corp. Solid state disk storage system with parallel accesssing architecture and solid state disck controller

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013176912A1 (en) * 2012-05-23 2013-11-28 Violin Memory, Inc. Flash memory controller
US9436267B2 (en) 2013-10-17 2016-09-06 SK Hynix Inc. Data storage device
US10082961B2 (en) 2014-11-03 2018-09-25 SK Hynix Inc. Memory system having multiple host channel and performing a cache operation and method of operating the same

Also Published As

Publication number Publication date
KR101600951B1 (ko) 2016-03-08
US20150058546A1 (en) 2015-02-26
US20100293319A1 (en) 2010-11-18
US9052838B2 (en) 2015-06-09
US9262077B2 (en) 2016-02-16
US8904084B2 (en) 2014-12-02
US20150248242A1 (en) 2015-09-03

Similar Documents

Publication Publication Date Title
KR20100124082A (ko) 고체 상태 드라이브 장치
EP2849076B1 (en) Dma transmission method and system
EP2849077B1 (en) Method for writing data into storage device and storage device
US8392635B2 (en) Selectively enabling a host transfer interrupt
KR102513920B1 (ko) 비휘발성 스토리지 시스템 및 비휘발성 스토리지 장치들을 위한 데이터 스토리지 액세스 프로토콜
US11397675B2 (en) Storage device, computer system, and operation method of storage device configured to arbitrarily stop garbage collection
JP2005222123A5 (ko)
KR102523419B1 (ko) 저장 장치에서 가속 커널들의 상태 모니터링 방법 및 이를 사용하는 저장 장치
KR20210119529A (ko) 스토리지 장치 컨텐츠를 스트리밍하는 시스템들 및 방법들
US20220350655A1 (en) Controller and memory system having the same
KR20100064562A (ko) 메모리 장치 및 메모리 장치의 제어 방법
WO2017016380A1 (en) Advance cache allocator
US11029847B2 (en) Method and system for shared direct access storage
EP1513071A2 (en) Memory bandwidth control device
CN113986137A (zh) 存储装置和存储系统
KR102334473B1 (ko) 적응형 딥러닝 가속 장치 및 방법
Ha et al. Dynamic capacity service for improving CXL pooled memory efficiency
CN116680714A (zh) 一种分布式数据加密记录系统及方法
US11080192B2 (en) Storage system and storage control method
US10228883B2 (en) Storage device that postpones completion of read command to begin execution of a non-read command
TW201546614A (zh) 電子裝置以及資料寫入方法
US20240168876A1 (en) Solving submission queue entry overflow using metadata or data pointers
US11030007B2 (en) Multi-constraint dynamic resource manager
CN110568991B (zh) 降低锁引起的io命令冲突的方法与存储设备
US20170308472A1 (en) Computer system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 5