KR102285275B1 - 하이브리드 메모리 드라이브, 컴퓨터 시스템, 및 멀티 모드 하이브리드 드라이브를 동작시키기 위한 관련 방법 - Google Patents
하이브리드 메모리 드라이브, 컴퓨터 시스템, 및 멀티 모드 하이브리드 드라이브를 동작시키기 위한 관련 방법 Download PDFInfo
- Publication number
- KR102285275B1 KR102285275B1 KR1020197005727A KR20197005727A KR102285275B1 KR 102285275 B1 KR102285275 B1 KR 102285275B1 KR 1020197005727 A KR1020197005727 A KR 1020197005727A KR 20197005727 A KR20197005727 A KR 20197005727A KR 102285275 B1 KR102285275 B1 KR 102285275B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory device
- bulk
- cache
- drive
- hybrid
- Prior art date
Links
Images
Classifications
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid disk, e.g. using both magnetic and solid state storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/261—Storage comprising a plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/281—Single cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/30—Providing cache or TLB in specific location of a processing system
- G06F2212/305—Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0028—Serial attached SCSI [SAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0032—Serial ATA [SATA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0036—Small computer system interface [SCSI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Coupling Device And Connection With Printed Circuit (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
멀티 모드 하이브리드 메모리 드라이브는 벌크 메모리 디바이스 및 제거 가능한 캐시 메모리 디바이스를 포함한다. 벌크 메모리 디바이스의 컨트롤러는, 제거 가능한 캐시 메모리 디바이스가 벌크 메모리 디바이스의 캐시 포트와 커플링되는 것을 검출하는 것에 응답하여 벌크 메모리 디바이스를 독립형 모드 또는 하이브리드 모드 중 어느 하나에서 동작시키도록 구성될 수도 있다. 멀티 모드 하이브리드 드라이브를 동작시키는 방법은 또한, 제거 가능한 캐시 메모리 디바이스의 존재를 결정하기 위해 벌크 메모리 디바이스의 캐시 포트를 모니터링하는 단계, 제거 가능한 캐시 메모리 디바이스가 존재하지 않는다는 것을 결정하는 것에 응답하여 벌크 메모리 디바이스를 독립형 드라이브로서 동작시키는 단계, 및 제거 가능한 캐시 메모리 디바이스가 존재한다는 것을 결정하는 것에 응답하여 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하여 벌크 메모리 디바이스를 하이브리드 드라이브로서 동작시키는 단계를 포함할 수도 있다. 추가적인 하이브리드 메모리 드라이브 및 컴퓨터 시스템이 또한 설명된다.
Description
우선권 주장
본 출원은 "HYBRID MEMORY DRIVES, COMPUTER SYSTEM, AND RELATED METHOD FOR OPERATING A MULTI-MODE HYBRID DRIVE"에 관해 2016년 8월 3일자로 출원된 미국 특허 출원 제15/227,165호의 출원일의 이익을 주장한다.
기술 분야
본 개시내용은, 다양한 실시형태에서, 일반적으로 컴퓨터 시스템 및 대용량 스토리지 디바이스(mass storage device)의 분야에 관한 것이다. 보다 구체적으로, 본 개시내용은, 자신의 동작 모드에 따라 하이브리드 드라이브 또는 독립형 드라이브(stand-alone drive) 중 어느 하나로서 동작하도록 구성되는 대용량 스토리지 디바이스에 관한 것이다.
불휘발성 메모리는, 예컨대 소비자 전자 디바이스 내에서 데이터의 대용량 저장을 위해 일반적으로 사용된다. 솔리드 스테이트 디바이스(solid state device: SSD), 하드 디스크 드라이브(hard disk drive: HDD), 및 하이브리드 드라이브와 같은, 다양한 타입의 대용량 스토리지 디바이스가 현재 사용되고 있다. SSD는, 빠른 데이터 액세스 시간, 낮은 전력 소모, 및 움직이는 기계 부품 없음으로 인해, 전통적인 전자 기계식 자기 HDD에 비해 장점을 가질 수 있는 솔리드 스테이트 메모리 디바이스(예를 들면, 플래시 메모리)를 사용한다. 결과적으로, SSD는 PC 및 노트북 시장에서 널리 사용되는 데이터 스토리지 디바이스가 되었다. 그러나, SSD는 HDD보다 생산하는 데 비용이 많이 든다. 따라서, HDD는, 종종, 저렴한 가격에서 대용량 스토리지가 소망되는 경우 선택되는 드라이브이다.
하이브리드 드라이브는, 전통적인 자기 HDD 저장 매체가 장기간 저장을 위해 사용되고 솔리드 스테이트 플래시 타입의 저장 매체가 캐시 스토리지를 위해 사용된다는 점에서, SSD 및 HDD 둘 모두의 특징부를 포함한다. 따라서, 하이브리드 드라이브는, 그들이 종래의 드라이브보다 더 높은 성능을, 그러나 더욱 합리적인 비용으로, 제공하기 때문에, 바람직하게 되었다. 예를 들면, 하이브리드 드라이브는, 플래시 메모리의 포함을 통해 더욱 SSD와 같은 성능을 제공할 수 있지만, 그러나, HDD와 관련되는 고용량 및 약간 더 저렴한 비용을 유지할 수 있다. 결과적으로, 하이브리드 드라이브에서 사용되는 소량의 솔리드 스테이트 메모리는, 더 짧은 부팅 시간 및 데이터 액세스 시간뿐만 아니라 전력 절감으로 나타날 수도 있지만, 그러나 종래의 하이브리드 드라이브는 또한 솔리드 스테이트 매체 용량의 유연성을 제한할 수도 있고 다수의 하이브리드 용량 공급이 소망되는 시스템 제조사에게 상당한 복잡성을 부가할 수도 있다. 종래의 하이브리드 드라이브가 주문자 상표 부착 제조사(Original Equipment Manufacturer: OEM)의 전반적인 공급에 복잡성을 부가할 수도 있기 때문에, OEM은 단순히 소비자가 선택할 드라이브 타입의 더 작은 세트를 제공할 수도 있다. 공급의 이 동일한 복잡성은 HDD 또는 하이브리드 드라이브 제조사에서 존재할 수도 있어서, 그들이 공급할 수도 있는 드라이브 타입의 수를 또한 제한할 수도 있다.
삭제
도 1은, 본 개시내용의 일 실시형태에 따른, 컴퓨터 시스템의 단순화된 블록도이다.
도 2는 도 1의 하이브리드 드라이브의 단순화된 블록도이다.
도 3은, 본 개시내용의 일 실시형태에 따른, 벌크 메모리 디바이스를 독립형 드라이브 또는 하이브리드 드라이브 중 어느 하나로서 동작시키는 방법을 예시하는 플로우차트이다.
도 2는 도 1의 하이브리드 드라이브의 단순화된 블록도이다.
도 3은, 본 개시내용의 일 실시형태에 따른, 벌크 메모리 디바이스를 독립형 드라이브 또는 하이브리드 드라이브 중 어느 하나로서 동작시키는 방법을 예시하는 플로우차트이다.
다음의 상세한 설명에서, 본 명세서의 일부를 형성하며, 본 개시내용이 실시될 수도 있는 특정한 실시형태가 예시되는 첨부 도면에 대한 참조가 이루어진다. 이들 실시형태는 기술 분야에서 통상의 지식을 가진 자가 본 개시내용을 실시하는 것을 가능하게 하기에 충분히 상세하게 설명된다. 그러나, 상세한 설명 및 특정한 예는, 본 개시내용의 실시형태의 예를 나타내지만, 제한으로서가 아니라 단지 예시로서 주어진다는 것이 이해되어야 한다. 이 개시내용으로부터, 다양한 치환, 수정, 추가, 재배열, 또는 이들의 조합이 본 개시내용의 범위 내에서 이루어질 수도 있고 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다.
본 명세서에서 제시되는 예시는 임의의 특정한 장치(예를 들면, 디바이스, 시스템 등) 또는 방법의 실제 뷰인 것으로 의도되는 것이 아니라, 본 개시내용의 다양한 실시형태를 설명하기 위해 활용되는 이상적인 표현에 불과하다. 따라서, 도면 중 일부는 명확화를 위해 단순화될 수도 있다. 따라서, 도면은 주어진 장치(예를 들면, 디바이스)의 모든 컴포넌트 또는 특정한 방법의 모든 동작을 묘사하지 않을 수도 있다. 게다가, 명세서 및 도면 전체에 걸쳐 동일한 특징부를 나타내기 위해 동일한 참조 번호가 사용될 수도 있다.
본 명세서에서 설명되는 정보 및 신호는, 여러 가지 상이한 기술 및 기법 중 임의의 것을 사용하여 표현될 수도 있다. 예를 들면, 설명 전체에 걸쳐 참조될 수도 있는 데이터, 명령어, 커맨드, 정보, 신호, 비트, 심볼, 및 칩은, 전압, 전류, 전자기파, 자기장 또는 입자, 광학 필드 또는 입자, 또는 이들의 임의의 조합에 의해 표현될 수도 있다. 몇몇 도면은, 표현 및 설명의 명확성을 위해, 신호를 단일의 신호로서 예시할 수도 있다. 신호는 신호의 버스를 나타낼 수도 있다는 것이 기술 분야에서 통상의 기술을 가진 자에 의해 이해될 것인데, 여기서, 버스는 다양한 비트 폭을 가질 수도 있고 본 개시내용은 단일의 데이터 신호를 포함하는 임의의 수의 데이터 신호 상에서 구현될 수도 있다.
본 명세서에서 개시되는 실시형태와 연계하여 설명되는 다양한 예시적인 로직 블록, 모듈, 회로, 및 알고리즘 액트(act)는, 범용 프로세서, 특수 목적 프로세서, 디지털 신호 프로세서(Digital Signal Processor: DSP), 주문형 반도체(Application Specific Integrated Circuit: ASIC), 필드 프로그래머블 게이트 어레이(field programmable gate array: FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 별개의 하드웨어 컴포넌트, 또는 본 명세서에서 설명되는 기능을 수행하도록 설계되는 이들의 임의의 조합과 함께 구현 또는 수행될 수도 있다.
본 명세서에서의 프로세서는, 본 개시내용의 프로세스를 수행하기에 적절한 임의의 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 상태 머신일 수도 있다. 프로세서는 또한, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 연계한 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성과 같은, 컴퓨팅 디바이스의 조합으로서 구현될 수도 있다. 본 개시내용의 실시형태에 따라 구성되는 경우, 특수 목적 컴퓨터는, 본 개시내용이 없으면, 컴퓨터가 본 개시내용의 프로세스를 수행할 수 없을 것이기 때문에, 컴퓨터의 기능을 향상시킨다. 본 개시내용은 또한, 추상적인 아이디어를 뛰어 넘는 하나 이상의 특정한 기술 환경에서 의미있는 제한을 제공한다. 예를 들면, 본 개시내용의 실시형태는 메모리 디바이스의 기술 분야에서, 특히 하이브리드 드라이브가 독립형 모드 또는 하이브리드 모드 중 어느 하나에서 동작하도록 구성되는 것에 대한 향상을 제공한다. 실시형태는 하이브리드 드라이브의 기능성을 향상시키는 특징부를 포함하고, 그 결과, 하이브리드 드라이브를 동작시키기 위한 새로운 디바이스 및 방법이 설명된다.
또한, 실시형태는, 플로우차트, 흐름도, 구조도, 또는 블록도로서 묘사되는 프로세스의 관점에서 설명될 수도 있다는 것을 유의한다. 비록 플로우차트가 동작 액트를 순차적 프로세스로서 설명할 수도 있지만, 이들 액트 중 많은 것은 다른 시퀀스에서, 병렬로, 또는 실질적으로 동시에 수행될 수 있다. 게다가, 액트의 순서는 재배열될 수도 있다. 프로세스는, 메소드, 함수, 프로시져, 서브루틴, 서브프로그램, 오퍼레이팅 시스템과 인터페이싱하는 것 등에 대응할 수도 있다. 더구나, 본 명세서에서 개시되는 방법은 하드웨어로, 소프트웨어로, 또는 둘 모두로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능은 컴퓨터 판독 가능 매체 상에 하나 이상의 명령어(예를 들면, 소프트웨어 코드, 펌웨어 등)로서 저장될 수도 있거나 또는 송신될 수도 있다. 컴퓨터 판독 가능 매체는, 컴퓨터 저장 매체 및 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 둘 모두를 포함한다.
본 개시내용의 실시형태는, 칩셋(chipset) 및 칩셋과 동작 가능하게 커플링되는 멀티 모드 하이브리드 드라이브를 포함하는 컴퓨터 시스템을 포함한다. 몇몇 실시형태에서, 멀티 모드 하이브리드 드라이브는, 제거 가능한 캐시 메모리 디바이스가 멀티 모드 하이브리드 드라이브의 캐시 포트에 커플링되지 않는 것에 응답하여 멀티 모드 하이브리드 드라이브에 대해 독립형 모드를 가능하게 하도록, 그리고 제거 가능한 캐시 메모리 디바이스가 멀티 모드 하이브리드 드라이브의 캐시 포트에 커플링되는 것에 응답하여 멀티 모드 하이브리드 드라이브에 대해 하이브리드 모드를 가능하게 하도록 구성된다. 본 명세서에서 사용될 때, 용어 "캐시 포트"는 제거 가능한 캐시 메모리를 커플링하기 위한 임의의 특정한 필수적인 물리적 구조체를 나타내는 것은 아니다. 게다가, 용어 "캐시"는, 하이브리드 드라이브가, 메인 저장 영역에 복제될 수도 있는 데이터 스토리지의 임시 캐시로서 되는 일반적인 사용을 가리키기 위해 편의상 사용된다. 그러나, 몇몇 실시형태에서, 캐시에 저장되는 데이터는 메인 저장 영역에 복제되지 않을 수도 있다는 것이 고려된다. 이러한 실시형태에서, 캐시 메모리 디바이스는 메인 저장 영역과는 상이한 저장 계층으로 간주될 수도 있고, 그 결과, 캐시 메모리 디바이스 내의 데이터는 반드시 메인 저장 영역에 복제되지는 않을 수도 있거나 또는 본질적으로 일시적일 수도 있다.
도 1은, 본 개시내용의 일 실시형태에 따른, 컴퓨터 시스템(100)의 단순화된 블록도이다. 컴퓨터 시스템(100)은, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 전자 판독기, 스마트 폰 또는 다른 타입의 통신 디바이스와 같은 소비자 전자 디바이스뿐만 아니라, 불휘발성 스토리지를 통합하는 임의의 타입의 컴퓨팅 시스템(예를 들면, 서버)일 수도 있다.
컴퓨터 시스템(100)은, 하나 이상의 메모리 컨트롤러 허브(104, 106)를 포함하는 칩셋(102)("호스트"로도 또한 칭해짐)을 포함한다. 특히, 칩셋(102)은 메모리 컨트롤러 허브(104)("노스브리지(northbridge)"로도 또한 칭해짐) 및 I/O 컨트롤러 허브(106)("사우스브리지(southbridge)"로도 또한 칭해짐)를 포함할 수도 있다. 메모리 컨트롤러 허브(104, 106)는 하나 이상의 프로세서(예를 들면, 단일의 코어, 멀티 코어 등)를 포함할 수도 있다. 물론, 몇몇 실시형태는, 노스브리지/사우스브리지 구성의 특징부를, 단일의 프로세서 다이를 구비하는 단일의 집적 회로에 통합하는 통합 칩셋을 포함할 수도 있다.
컴퓨터 시스템(100)은 또한 상이한 통신 버스를 통해 칩셋(102)과 커플링되는 상이한 디바이스 및 포트를 포함할 수도 있다. 예를 들면, 메모리 컨트롤러 허브(104)는 프로세서(108), 휘발성 메모리(112), 그래픽 프로세서(122), 및 디스플레이(124)와 커플링될 수도 있다. 프로세서(108)는 컴퓨터 시스템(100)에 대한 중앙 프로세싱 유닛(central processing unit: CPU)일 수도 있다. 휘발성 메모리(112)는, "시스템 메모리"로서 또한 칭해질 수도 있는 랜덤 액세스 메모리(random-access memory: RAM)(예를 들면, DRAM, SDRAM, LPDDR 등)를 포함할 수도 있다. 그래픽 프로세서(122)는, 칩셋(102)으로부터 데이터를 수신하는 것에 응답하여 다양한 멀티미디어 태스크를 핸들링하여 비디오 디스플레이 신호를 디스플레이(124)에 제공하도록 구성된다. 메모리 컨트롤러 허브(104)는, 프로세서(108), 휘발성 메모리(112), 그래픽 프로세서(122)가 서로 통신하는 것뿐만 아니라, I/O 컨트롤러 허브(106)와 커플링되는 디바이스 및 포트와 통신하는 것을 가능하게 하도록 구성된다.
I/O 컨트롤러 허브(106)는, 하이브리드 드라이브(110)뿐만 아니라, 수퍼 I/O 컨트롤러(114) 및 I/O 디바이스(116), USB 포트(118), 및 다른 네트워크 인터페이스(120)와 같은 다른 I/O 디바이스 및 포트와 커플링될 수도 있다. 물론, 도 1에서 도시되는 컴퓨터 시스템(100)은 단순화된 구성이라는 것이 인식된다. 광학 드라이브(예를 들면, DVD, 블루레이(Blu-ray) 등)와 같은, 다른 리소스 및 디바이스가, 소망될 때, 또한 포함될 수도 있다. 게다가, 별개의 것으로 도시되는 몇몇 컴포넌트는 통합 패키지에 존재할 수도 있거나 또는 다른 컴포넌트와 공통 집적 회로에 통합될 수도 있다. 시스템은, 병렬(예를 들면, 중복(redundant)) 리소스를 비롯한, 다양한 컴포넌트를 또한 포함할 수도 있다. 하이브리드 드라이브(110)는, 도 2 및 도 3을 참조하여 이하에서 추가로 논의될, 독립형 모드 또는 하이브리드 모드 중 어느 하나에서 동작하도록 구성되는 멀티 모드 드라이브일 수도 있다.
몇몇 실시형태에서, 하이브리드 메모리 드라이브는 벌크 메모리 디바이스 및 제거 가능한 캐시 메모리 디바이스를 포함한다. 벌크 메모리 디바이스는 벌크 저장 매체, 캐시 포트, 및 캐시 포트 및 벌크 저장 매체와 동작 가능하게 커플링되는 제1 컨트롤러를 포함한다. 벌크 저장 매체는 불휘발성 메모리를 포함한다. 제거 가능한 캐시 메모리 디바이스는, 불휘발성 메모리를 포함하는 캐시 저장 매체 및 캐시 저장 매체와 동작 가능하게 커플링되는 제2 컨트롤러를 포함한다. 제1 컨트롤러는, 제거 가능한 캐시 메모리 디바이스가 벌크 메모리 디바이스의 캐시 포트와 커플링되는 것 또는 벌크 메모리 디바이스가 하이브리드 드라이브로서 동작하도록 캐시로서의 사용에 유효하다는 것 중 적어도 하나인 것을 검출하는 것에 응답하여, 벌크 메모리 디바이스를 독립형 모드 또는 하이브리드 모드 중 어느 하나에서 동작시키도록 구성된다.
몇몇 실시형태에서, 불휘발성 메모리 드라이브는, 불휘발성 메모리의 물리적 블록을 포함하는 벌크 저장 매체, 캐시 포트, 및 벌크 저장 매체 및 캐시 포트와 동작 가능하게 커플링되는 컨트롤러를 포함한다. 컨트롤러는, 불휘발성 메모리를 구비하는 제거 가능한 캐시 메모리 디바이스가 캐시 포트와 커플링되는지의 여부를 검출하도록, 그리고 제거 가능한 캐시 메모리 디바이스가, 하이브리드 드라이브로서 벌크 저장 매체와 함께 그 내에서의 사용에 대해 유효하다는 것 또는 벌크 저장 매체와 커플링되는 것 중 적어도 하나라는 것을 검출하는 것에 응답하여 판독 또는 기록 동작 중 적어도 하나 동안 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하게끔 불휘발성 메모리 드라이브를 동작시키도록 구성된다.
하이브리드 드라이브(110)는 직렬 또는 병렬 데이터 버스를 사용하여 I/O 컨트롤러 허브(106)와 커플링될 수도 있다. 예를 들면, 하이브리드 드라이브(110)로부터 칩셋(102)으로의 데이터 버스는, 주변 장치 컴포넌트 인터커넥트 익스프레스(Peripheral Component Interconnect Express: PCIe) 버스, 직렬 고급 기술 부착(Serial Advanced Technology Attachment: SATA) 버스, 병렬 고급 기술 부착(Parallel Advanced Technology Attachment: PATA) 버스, 소형 컴퓨터 시스템 인터페이스(Small Computer System Interface: SCSI) 버스, 시리얼 부착 SCSI(Serial-Attached SCSI: SAS) 버스, 범용 직렬 버스(Universal Serial Bus: USB), 또는 이들의 조합을 포함할 수도 있다.
도 2는 도 1의 하이브리드 드라이브(110)의 단순화된 블록도이다. 하이브리드 드라이브(110)는 벌크 메모리 디바이스(200) 및 제거 가능한 캐시 메모리 디바이스(210)를 포함한다. 벌크 메모리 디바이스(200)는, 벌크 메모리 디바이스(200)와 커플링되어 있는 제거 가능한 캐시 메모리 디바이스(210)의 존재를 검출하는 것에 응답하여 독립형 모드 또는 하이브리드 모드 중 어느 하나에서 동작하도록 구성될 수도 있다. 예를 들면, 벌크 메모리 디바이스(200)는, 제거 가능한 캐시 메모리 디바이스(210)가 벌크 메모리 디바이스(200)와 커플링되지 않은 경우 독립형 모드에서, 그리고 제거 가능한 캐시 메모리 디바이스(210)가 벌크 메모리 디바이스(200)와 커플링되는 경우 하이브리드 모드에서 동작하도록 구성될 수도 있다.
벌크 메모리 디바이스(200)는 제1 컨트롤러(202), 벌크 저장 매체(204), 및 캐시 포트(206)를 포함할 수도 있다. 벌크 메모리 디바이스(200)의 제1 컨트롤러(202)는 제1 버스(201)를 통해 I/O 컨트롤러 허브(106)와 커플링될 수도 있다. 벌크 메모리 디바이스(200)의 제1 컨트롤러(202)는 제2 버스(203)를 통해 벌크 저장 매체(204)와 커플링될 수도 있다. 벌크 메모리 디바이스(200)의 제1 컨트롤러(202)는 제3 버스(205)를 통해 캐시 포트(206)와 커플링될 수도 있다.
벌크 저장 매체(204)는 불휘발성 메모리를 포함할 수도 있다. 본 개시내용의 실시형태는, 여러 가지 상이한 구성 및 용량의 불휘발성 메모리 어레이를 포함한다. 몇몇 실시형태에서, 불휘발성 메모리는 HDD로서, SSD로서, 또는 다른 적절한 타입의 장기간 데이터 스토리지로서 구성될 수도 있다. 몇몇 실시형태에서, HDD는 자기 매체를 포함할 수도 있다. 몇몇 실시형태에서, 벌크 저장 매체(204)는 솔리드 스테이트 매체(예를 들면, SSD)로서 구성될 수도 있다. 솔리드 스테이트 매체는, 단일 레벨 셀(single-level cell: SLC), 멀티 레벨 셀(multi-level cell: MLC)(예를 들면, 삼중 레벨 셀(triple-level cell: TLC), 사중 레벨 셀(quad-level cell: QLC) 등), 또는 이들의 조합의 블록을 포함할 수도 있는 플래시 기반의 메모리(예를 들면, NAND 플래시)와 같은 메모리를 포함할 수도 있다.
제거 가능한 캐시 메모리 디바이스(210)는, 캐시 저장 매체(214)와 동작 가능하게 커플링되는 제2 컨트롤러(212)를 포함할 수도 있다. 캐시 저장 매체(214)는 불휘발성 메모리를 또한 포함할 수도 있다. 몇몇 실시형태에서, 캐시 저장 매체(214)의 불휘발성 메모리는 플래시 기반의 메모리(예를 들면, NAND 플래시) 또는 3D XPoint와 같은 솔리드 스테이트 매체로 구성될 수도 있다. 몇몇 실시형태에서, 제거 가능한 캐시 메모리 디바이스(210)는, 시큐어 디지털(secure digital; SD) 카드, CFX 카드, 또는 내장된 컨트롤러를 갖는 다른 불휘발성 메모리 기술을 활용하는 카드로서 구성될 수도 있다. 제2 컨트롤러(212)는, 벌크 메모리 디바이스(200)로부터 수신되는 커맨드에 응답하여 제거 가능한 캐시 메모리 디바이스(210)에 대한 매체 관리 기능(예를 들면, 판독/기록)을 수행하도록 구성될 수도 있다.
캐시 포트(206)는, 옵션 사항으로(optionally), 벌크 메모리 디바이스(200)의 폼팩터와 (예를 들면, 슬롯, 포트 등으로서) 통합될 수도 있고, 그 결과, 제거 가능한 캐시 메모리 디바이스(210)는 캐시 포트(206)에 삽입되어 벌크 메모리 디바이스(200)를 하이브리드 드라이브로 변환할 수도 있다. 몇몇 실시형태에서, 캐시 포트(206)는 메모리 디바이스(210)의 폼팩터(예를 들면, 박스)의 외부에 노출될 수도 있다. 연결되는 경우, 벌크 메모리 디바이스(200) 및 제거 가능한 캐시 메모리 디바이스(210)는 본질적으로 단일의 유닛일 수도 있는데, 이것은 드라이브 제조사 및/또는 OEM이, 특정한 제품에 대한 드라이브가 독립형 드라이브이어야 하는지 또는 하이브리드 드라이브이어야 하는지의 여부를 결정하는 것을 가능하게 할 수도 있다. 게다가, 드라이브 제조사 및/또는 OEM은, 공통 폼팩터를 유지하면서, 벌크 메모리 디바이스(200)를, 벌크 저장 용량 및 캐시 저장 용량의 소망되는 조합을 갖는 제거 가능한 캐시 메모리 디바이스(210)와 혼합 및 매칭시키는 것에 의해, 하이브리드 드라이브의 용량을 결정할 수도 있다.
벌크 메모리 디바이스(200)는, 제거 가능한 캐시 메모리 디바이스(210)의 존재를 검출하도록 그리고 제1 컨트롤러(202)로 하여금 캐시 포트(206)에서의 제거 가능한 캐시 메모리 디바이스(210)의 존재에 따라 벌크 메모리 디바이스(200)의 동작을 독립형 모드 또는 하이브리드 모드 중 어느 하나에서 재구성하게 하도록 구성되는 (예를 들면, 벌크 저장 매체(204) 또는 다른 메모리에 저장되는) 펌웨어를 포함한다. 결과적으로, 벌크 메모리 디바이스(200)는, 독립형 드라이브 또는 하이브리드 드라이브 중 어느 하나로서 동작하도록 소프트웨어를 실행하여 동작 동안 데이터가 저장되고 검색되는 곳을 결정할 수도 있다. 따라서, 호스트는 자신의 소프트웨어를 재구성할 필요가 없을 수도 있고, 이것은 하이브리드 드라이브를 조립할 때 OEM 및/또는 드라이브 제조사에 대한 더 간단한 구현으로 나타날 수도 있다. 게다가, 제거 가능한 캐시 메모리 디바이스(210)가 제거 가능한 캐시 메모리 디바이스(210)에 대한 매체 관리 기능을 수행하도록 구성되는 자기 자신의 컨트롤러(즉, 제2 컨트롤러(212))를 구비하기 때문에, 벌크 메모리 디바이스(200)의 펌웨어는, 벌크 메모리 디바이스(200)로부터 커맨드를 수신하는 것에 응답하여 제거 가능한 캐시 메모리 디바이스(210) 상의 내장형 펌웨어가 이미 캐시 기능을 수행할 수 있을 수도 있기 때문에, 하이브리드 모드에서 단순화될 수도 있다.
제1 컨트롤러(202)를 외부 디바이스(예를 들면, 칩셋(102)(도 1), 제거 가능한 캐시 메모리 디바이스(210))에 커플링하는 버스(201, 205)는, PCIe, SATA, PATA, SCSI, SAS, 또는 이들의 조합과 같은, 하나 이상의 상이한 인터페이스 구성을 가지고 구성될 수도 있다. 다른 인터페이스 구성 및 프로토콜도 또한 고려된다. 몇몇 실시형태에서, 제1 버스(201) 및 제3 버스(205)는 동일한 타입의 인터페이스에 따라 구성될 수도 있고 동일한 프로토콜을 통해 통신할 수도 있다. 예를 들면, 제1 버스(201) 및 제3 버스(205) 둘 모두는 PCIe 버스로서 구성될 수도 있고, 제1 컨트롤러(202)는 불휘발성 메모리 익스프레스(non-volatile memory express; NVME) 프로토콜을 사용하여 통신하도록 구성될 수도 있다. 몇몇 실시형태에서, 제1 버스(201) 및 제3 버스(205)는 상이한 타입의 인터페이스에 따라 구성될 수도 있고 상이한 프로토콜을 통해 통신할 수도 있다. 예를 들면, 제1 버스(201)는 제1 컨트롤러(202)가 I/O 컨트롤러 허브(106)와 통신하도록 SATA 버스로서 구성될 수도 있고, 제3 버스(205)는 제1 컨트롤러(202)가 제거 가능한 캐시 메모리 디바이스(210)와 통신하도록 PCIe 버스로서 구성될 수도 있다. 이러한 실시형태에서, 제1 컨트롤러(202)는, 상이한 인터페이스를 통해 통신하기 위해 사용되는 상이한 프로토콜 사이에서 변환을 수행하도록 구성될 수도 있다.
하이브리드 드라이브(110)의 동작을 가속시키도록 동작 동안 캐시 저장 매체(214)가 데이터를 캐시하기 위해, 캐시 저장 매체(214)는 벌크 저장 매체(204)보다 더 빠른 메모리를 가지고 구성될 수도 있다. 이러한 실시형태에서, 내부 벌크 저장 매체를 포함하는 HDD 드라이브와 조합하여 적절한 NAND 기반의 플래시 디바이스가 제거 가능한 캐시 메모리 디바이스(210)로서 사용될 수도 있다. 많은 NAND 기반의 플래시 디바이스는 HDD 드라이브보다 더 빠른데, 이것은, 많은 NAND 기반의 플래시 디바이스가 HDD 드라이브의 속도를 향상시키기 위한 HDD 드라이브와의 유효한 조합을 제거 가능한 캐시 메모리 디바이스(210)에게 제공할 수도 있다는 것을 의미한다. 다른 실시형태에서, 내부 벌크 저장 매체를 포함하는 SSD 드라이브와 조합하여 적절한 NAND, 3D Xpoint, 또는 다른 불휘발성 메모리 기반의 디바이스가 제거 가능한 캐시 메모리 디바이스(210)로서 사용될 수도 있다. 몇몇 NAND 기반의 플래시 디바이스는 각각에서 사용되는 특정한 타입의 메모리에 따라 SSD 드라이브보다 더 느릴 수도 있다. 결과적으로, 벌크 메모리 디바이스(200)와 비교하여 제거 가능한 캐시 메모리 디바이스(210)로서 더 느린 메모리를 사용하는 것은, 벌크 스토리지 및 캐시 스토리지 둘 모두에 대해 단지 벌크 저장 매체(204)를 사용하는 것과 비교하여, 실제로 성능을 향상시키지 않을 수도 있다. 따라서, 스토리지 컨트롤러(202)는, 제거 가능한 캐시 메모리 디바이스(210)와의 벌크 메모리 디바이스(200)의 특정한 조합이 무효하다는 것을 결정할 수도 있다. 마찬가지로, 스토리지 컨트롤러(202)는, 제거 가능한 캐시 디바이스(210) 내의 저장 매체를 벌크 메모리 디바이스(200)에 대한 캐시로서 사용하기에 적절하지 않게 만드는 다른 특성(예를 들면, 용량, 내구성)을 그 저장 매체가 가지고 있다는 것을 결정할 수도 있고, 조합이 무효하다는 것을 결정할 수도 있다.
본 개시내용의 실시형태는 또한 멀티 모드 하이브리드 드라이브를 동작시키는 방법을 포함한다. 이러한 방법은, 제거 가능한 캐시 메모리 디바이스의 존재를 결정하기 위해 벌크 메모리 디바이스의 캐시 포트를 모니터링하는 것, 제거 가능한 캐시 메모리 디바이스가 존재하지 않는다는 것을 결정하는 것에 응답하여 벌크 메모리 디바이스를 독립형 드라이브로서 동작시키는 것, 및 제거 가능한 캐시 메모리 디바이스가 존재하고 유효하다는 것을 결정하는 것에 응답하여 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하여 벌크 메모리 디바이스를 하이브리드 드라이브로서 동작시키는 것을 포함할 수도 있다.
도 3은, 본 개시내용의 일 실시형태에 따른, 벌크 메모리 디바이스를 독립형 드라이브 또는 하이브리드 드라이브로서 동작시키는 방법을 예시하는 플로우차트(300)이다. 동작(310)에서, 벌크 메모리 디바이스는 캐시 포트를 모니터링할 수도 있다. 상기에서 논의되는 바와 같이, 캐시 포트는, 내부에 삽입되는 제거 가능한 캐시 디바이스를 수용하기 위해 벌크 메모리 디바이스의 폼팩터 내에서 일체로 형성될 수도 있다. 이러한 모니터링은 벌크 메모리 디바이스의 전력 인가시뿐만 아니라 벌크 메모리 디바이스의 동작 전반에 걸쳐 개시될 수도 있다.
동작(320)에서, 벌크 메모리 디바이스는 제거 가능한 캐시 메모리 디바이스가 캐시 포트에 존재하는지를 결정할 수도 있다. 존재하지 않는 경우, 동작(330)에서 벌크 메모리 디바이스의 독립형 모드가 가능해질 수도 있고, 벌크 메모리 디바이스는 제거 가능한 캐시 메모리 디바이스가 존재할 때까지 캐시 포트를 계속 모니터링할 수도 있다. 독립형 모드에서, 데이터 액세스(예를 들면, 판독/기록)는 벌크 메모리 디바이스의 벌크 저장 매체에서만 수행될 수도 있다.
동작(340)에서, 벌크 메모리 디바이스는 캐시 메모리 디바이스에 질의할 수도 있다. 예를 들면, 벌크 메모리 디바이스의 제1 컨트롤러는, 제거 가능한 캐시 메모리의 동작 파라미터(예를 들면, 용량, 타입, 내구성, 속도 등)를 결정하기 위해 제거 가능한 캐시 메모리 디바이스의 제2 컨트롤러와 대화할 수도 있다.
동작(350)에서, 벌크 메모리 디바이스는, 제거 가능한 캐시 메모리 디바이스가 의도된 사용 시나리오에 대해 유효한지를 결정할 수도 있다. 예를 들면, 벌크 메모리 디바이스는, 메모리의 타입이 벌크 메모리 디바이스의 컨트롤러와 호환되는지를 결정할 수도 있다. 벌크 메모리 디바이스는 또한, 용량, 내구성, 및/또는 속도가 소망되는 임계치 위에 있는지 및/또는 소망되는 동작 범위 이내에 있는지를 결정할 수도 있다. 예를 들면, 제거 가능한 캐시 메모리 디바이스의 속도가 벌크 메모리 디바이스의 속도보다 더 느리면, 벌크 메모리 디바이스는 자신의 독립형 모드에서 동작하는 것이 더 나을 수도 있는데, 그 이유는 하이브리드 모드에서 데이터를 캐시하기 위해 제거 가능한 캐시 메모리 디바이스를 사용하는 것이 성능을 향상시키지 않을 수도 있기 때문이다. 마찬가지로, 제거 가능한 캐시 메모리 디바이스의 용량이 그것의 의도된 사용을 위한 미리 결정된 임계치 미만이면, 벌크 메모리 디바이스는 자신의 독립형 모드에서 동작하는 것이 더 나을 수도 있다.
동작(360)에서, 벌크 메모리 디바이스는, 제거 가능한 캐시 메모리 디바이스가 의도된 사용 사례에 대해 유효하다는 것을 결정하고, 하이브리드 모드가 가능해질 수도 있다. 결과적으로, 벌크 메모리 디바이스의 제1 컨트롤러는, 제거 가능한 캐시 메모리 디바이스 및/또는 내부 벌크 저장 매체 사이의 데이터 액세스를 조정할 수도 있다. 예를 들면, 호스트로부터 판독 동작이 수신되면, 제1 컨트롤러는, 요청된 데이터가 제거 가능한 캐시 메모리 디바이스에서 이용 가능한지를 결정할 수도 있다. 이용 가능하다면, 제1 컨트롤러는 요청된 데이터를 제거 가능한 캐시 메모리 디바이스로부터 검색할 수도 있다. 요청된 데이터가 제거 가능한 캐시 메모리 디바이스에서 이용 가능하지 않은 경우, 제1 컨트롤러는 요청된 데이터를 내부 벌크 저장 매체로부터 검색할 수도 있다. 몇몇 실시형태에서, 제1 컨트롤러는 또한, 미래의 액세스를 위해, 요청된 데이터를 내부 벌크 저장 매체로부터 제거 가능한 캐시 메모리 디바이스에 저장(예를 들면, 이동, 복사 등)할 수도 있다. 기록 동작이 호스트로부터 수신되면, 제1 컨트롤러는, 유입하는 데이터가 어디에(예를 들면, 제거 가능한 캐시 메모리 디바이스, 벌크 저장 매체, 또는 둘 모두에) 저장되어야 하는지를 결정할 수도 있다. 이러한 결정은, 하이브리드 모드에서 동작할 때 벌크 메모리 디바이스의 펌웨어에 따라 소정의 데이터 타입에 주어지는 우선 순위에 의존할 수도 있다. 몇몇 실시형태에서, 제1 컨트롤러는, 하이브리드 드라이브의 사용 없이 미리 결정된 기간이 경과한 이후 및/또는 제거 가능한 캐시 메모리 디바이스에 저장되어 있는 데이터가 액세스되지 않는 동안, 가비지 수집 프로세스(garbage collection process)를 수행하여 데이터를 제거 가능한 캐시 메모리 디바이스로부터 내부 벌크 저장 매체로 이동시킬 수도 있다. 프로세스의 임의의 지점에서, 벌크 메모리 디바이스로부터 제거 가능한 스토리지 디바이스의 제거를 벌크 메모리 디바이스가 검출하면, 통지가 호스트로 발행될 수도 있다.
추가적인 비제한적인 실시형태는 다음을 포함한다:
실시형태 1. 불휘발성 메모리를 포함하는 벌크 저장 매체; 캐시 포트; 및 캐시 포트 및 벌크 저장 매체와 동작 가능하게 커플링되는 제1 컨트롤러를 포함하는 벌크 메모리 디바이스; 및 불휘발성 메모리를 포함하는 캐시 저장 매체; 및 캐시 저장 매체와 동작 가능하게 커플링되는 제2 컨트롤러를 포함하는 제거 가능한 캐시 메모리 디바이스를 포함하는 하이브리드 메모리 드라이브로서, 제1 컨트롤러는, 제거 가능한 캐시 메모리 디바이스가 벌크 메모리 디바이스의 캐시 포트와 커플링되는 것 또는 벌크 메모리 디바이스가 하이브리드 드라이브로서 동작하도록 캐시로서의 사용에 유효하다는 것 중 적어도 하나인 것을 검출하는 것에 응답하여, 벌크 메모리 디바이스를 독립형 모드 또는 하이브리드 모드 중 어느 하나에서 동작시키도록 구성된다.
실시형태 2. 실시형태 1의 하이브리드 메모리 드라이브로서, 벌크 저장 매체는 하드 디스크 드라이브로서 구성된다.
실시형태 3. 실시형태 1의 하이브리드 메모리 드라이브로서, 벌크 저장 매체는 솔리드 스테이트 드라이브로서 구성된다.
실시형태 4. 실시형태 1 내지 3 중 임의의 것의 하이브리드 메모리 드라이브로서, 제2 컨트롤러는, 제거 가능한 캐시 메모리 디바이스가 캐시 포트에 커플링되는 경우 제1 컨트롤러로부터 수신되는 커맨드에 응답하여 캐시 스토리지 디바이스에 대한 매체 액세스를 관리하도록 구성된다.
실시형태 5. 실시형태 1 내지 4 중 임의의 것의 하이브리드 메모리 드라이브로서, 벌크 메모리 디바이스는, 주변 장치 컴포넌트 인터커넥트 익스프레스(PCIe) 버스, 직렬 고급 기술 부착(SATA) 버스, 병렬 고급 기술 부착(PATA) 버스, 소형 컴퓨터 시스템 인터페이스(SCSI) 버스, 시리얼 부착 SCSI(SAS) 버스, 및 범용 직렬 버스(USB)로 이루어진 군으로부터 선택되는 제1 버스를 통해 호스트와 커플링된다.
실시형태 6. 실시형태 5의 하이브리드 메모리 드라이브로서, 벌크 메모리 디바이스는, 주변 장치 컴포넌트 인터커넥트 익스프레스(PCIe) 버스, 직렬 고급 기술 부착(SATA) 버스, 병렬 고급 기술 부착(PATA) 버스, 소형 컴퓨터 시스템 인터페이스(SCSI) 버스, 시리얼 부착 SCSI(SAS) 버스, 및 범용 직렬 버스(USB)로 이루어진 군으로부터 선택되는 제2 버스를 통해 제거 가능한 캐시 메모리 디바이스와 커플링된다.
실시형태 7. 실시형태 6의 하이브리드 메모리 드라이브로서, 제1 버스 및 제2 버스는 동일한 버스 타입의 것이다.
실시형태 8. 실시형태 6의 하이브리드 메모리 드라이브로서, 제1 버스 및 제2 버스는 상이한 버스 타입의 것이고, 제1 컨트롤러는 또한, 상이한 통신 프로토콜을 사용하여 호스트와 제거 가능한 캐시 메모리 디바이스 사이의 통신을 변환하도록 구성된다.
실시형태 9. 실시형태 1 내지 8 중 임의의 것의 하이브리드 메모리 디바이스로서, 벌크 저장 매체는 제1 타입의 불휘발성 메모리를 포함하고, 캐시 저장 매체는 제1 타입보다 더 빠른 제2 타입의 불휘발성 메모리를 포함한다.
실시형태 10. 불휘발성 메모리의 물리적 블록을 포함하는 벌크 저장 매체; 캐시 포트; 및 벌크 저장 매체 및 캐시 포트와 동작 가능하게 커플링되는 컨트롤러를 포함하며, 불휘발성 메모리를 구비하는 제거 가능한 캐시 메모리 디바이스가 캐시 포트와 커플링되는지의 여부를 검출하도록, 그리고 제거 가능한 캐시 메모리 디바이스가, 하이브리드 드라이브로서 벌크 저장 매체와 함께 그 내에서의 사용에 대해 유효하다는 것 또는 벌크 저장 매체와 커플링되는 것 중 적어도 하나의 것이다는 것을 검출하는 것에 응답하여 판독 또는 기록 동작 중 적어도 하나 동안 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하게끔 불휘발성 메모리 드라이브를 동작시키도록 구성되는, 불휘발성 메모리 드라이브.
실시형태 11. 실시형태 10의 불휘발성 메모리 드라이브로서, 컨트롤러는 또한, 제거 가능한 캐시 메모리 디바이스가 캐시 포트와 커플링되지 않는 것 또는 벌크 저장 매체와 함께 사용하기에 유효하지 않은 것을 검출하는 것에 응답하여 벌크 저장 매체를 독립형 드라이브로서 사용하게끔 불휘발성 메모리 드라이브를 동작시키도록 구성된다.
실시형태 12. 실시형태 10 또는 실시형태 11의 불휘발성 메모리 드라이브로서, 벌크 저장 매체는 솔리드 스테이트 저장 매체를 포함한다.
실시형태 13. 실시형태 10 또는 실시형태 11의 불휘발성 메모리 드라이브로서, 벌크 저장 매체는 자기 저장 매체를 포함한다.
실시형태 14. 실시형태 10 내지 실시형태 13 중 임의의 것의 불휘발성 메모리 드라이브로서, 컨트롤러는 제1 프로토콜을 사용하여 외부 호스트와의 통신을 변환하도록 그리고 제2 프로토콜을 사용하여 제거 가능한 캐시 메모리 디바이스와 통신하도록 구성된다.
실시형태 15. 실시형태 10 내지 14 중 임의의 것의 불휘발성 메모리 드라이브로서, 캐시 포트는 내부에 삽입되는 제거 가능한 캐시 메모리 디바이스를 수용하도록 구성되는 슬롯을 포함한다.
실시형태 16. 멀티 모드 하이브리드 드라이브를 동작시키는 방법으로서, 방법은: 제거 가능한 캐시 메모리 디바이스의 존재를 결정하기 위해 벌크 메모리 디바이스의 캐시 포트를 모니터링하는 것; 제거 가능한 캐시 메모리 디바이스가 존재하지 않는다는 것을 결정하는 것에 응답하여 벌크 메모리 디바이스를 독립형 드라이브로서 동작시키는 것; 및 제거 가능한 캐시 메모리 디바이스가 존재한다는 것을 결정하는 것에 응답하여 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하여 벌크 메모리 디바이스를 하이브리드 드라이브로서 동작시키는 것을 포함한다.
실시형태 17. 실시형태 16의 방법으로서, 캐시 포트를 모니터링하는 것은 벌크 메모리 디바이스의 전력에 응답하여 개시된다.
실시형태 18. 실시형태 16 또는 실시형태 17의 방법으로서, 제거 가능한 캐시 메모리 디바이스가 유효한지를 결정하는 것; 제거 가능한 캐시 메모리 디바이스가 유효하지 않다는 것을 결정하는 것에 응답하여 벌크 메모리 디바이스를 독립형 드라이브로서 동작시키는 것; 및 제거 가능한 캐시 메모리 디바이스가 유효하다는 것을 결정하는 것에 응답하여 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하여 벌크 메모리 디바이스를 하이브리드 드라이브로서 동작시키는 것을 더 포함한다.
실시형태 19. 실시형태 18의 방법으로서, 캐시 메모리 디바이스가 유효한지를 결정하는 것은, 제거 가능한 캐시 메모리 디바이스의 동작 파라미터를 결정하기 위해 제거 가능한 캐시 메모리 디바이스에 질의하는(interrogating) 것을 포함한다.
실시형태 20. 실시형태 19의 방법으로서, 동작 파라미터는, 제거 가능한 캐시 메모리 디바이스의 용량, 메모리 타입, 내구성, 또는 속도 중 적어도 하나를 포함한다.
실시형태 21. 실시형태 19의 방법으로서, 캐시 메모리 디바이스가 유효한지를 결정하는 것은, 동작 파라미터 중 하나 이상이 미리 결정된 범위 밖에 속하는지를 결정하는 것을 더 포함한다.
실시형태 22. 칩셋; 및 칩셋과 동작 가능하게 커플링되는 멀티 모드 하이브리드 드라이브를 포함하되, 멀티 모드 하이브리드 드라이브는, 제거 가능한 캐시 메모리 디바이스가 멀티 모드 하이브리드 드라이브의 캐시 포트에 커플링되지 않는 것에 응답하여 멀티 모드 하이브리드 드라이브에 대해 독립형 모드를 가능하게 하도록, 그리고 제거 가능한 캐시 메모리 디바이스가 멀티 모드 하이브리드 드라이브의 캐시 포트에 커플링되는 것에 응답하여 멀티 모드 하이브리드 드라이브에 대해 하이브리드 모드를 가능하게 하도록 구성되는, 컴퓨터 시스템.
실시형태 23. 실시형태 22의 컴퓨터 시스템으로서, 칩셋과 동작 가능하게 커플링되는 프로세서; 칩셋 및 디스플레이와 동작 가능하게 커플링되는 그래픽 프로세서; 및 칩셋과 동작 가능하게 커플링되는 I/O 디바이스를 더 포함한다.
실시형태 24. 실시형태 22 또는 실시형태 23의 컴퓨터 시스템으로서, 칩셋은, 주변 장치 컴포넌트 인터커넥트 익스프레스(PCIe) 버스, 직렬 고급 기술 부착(SATA) 버스, 병렬 고급 기술 부착(PATA) 버스, 소형 컴퓨터 시스템 인터페이스(SCSI) 버스, 및 시리얼 부착 SCSI(SAS) 버스 중 적어도 하나를 통해 멀티 모드 하이브리드 드라이브와 동작 가능하게 커플링된다.
실시형태 25. 실시형태 22 내지 실시형태 24 중 임의의 것의 컴퓨터 시스템은, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 서버, 전자 판독기, 통신 디바이스, 또는 칩셋 및 멀티 모드 하이브리드 드라이브를 통합하는 컴퓨팅 시스템 중 하나를 더 포함한다.
본 개시내용이 다양한 수정예 및 대안적인 형태가 가능하지만, 특정한 실시형태가 도면에서 예로서 도시되었고 본 명세서에서 상세히 설명되었다. 그러나, 본 개시내용은 개시되는 특정 형태로 제한되는 것은 아니다. 오히려, 본 개시내용은 첨부된 청구항 및 그들의 법적 등가물의 범위 내에 속하는 모든 수정예, 등가예, 및 대안예를 포괄하는 것이다.
몇몇 실시형태에서, 하이브리드 메모리 드라이브는 벌크 메모리 디바이스 및 제거 가능한 캐시 메모리 디바이스를 포함한다. 벌크 메모리 디바이스는 벌크 저장 매체, 캐시 포트, 및 캐시 포트 및 벌크 저장 매체와 동작 가능하게 커플링되는 제1 컨트롤러를 포함한다. 벌크 저장 매체는 불휘발성 메모리를 포함한다. 제거 가능한 캐시 메모리 디바이스는, 불휘발성 메모리를 포함하는 캐시 저장 매체 및 캐시 저장 매체와 동작 가능하게 커플링되는 제2 컨트롤러를 포함한다. 제1 컨트롤러는, 제거 가능한 캐시 메모리 디바이스가 벌크 메모리 디바이스의 캐시 포트와 커플링되는 것 또는 벌크 메모리 디바이스가 하이브리드 드라이브로서 동작하도록 캐시로서의 사용에 유효하다는 것 중 적어도 하나인 것을 검출하는 것에 응답하여, 벌크 메모리 디바이스를 독립형 모드 또는 하이브리드 모드 중 어느 하나에서 동작시키도록 구성된다.
본 개시내용의 실시형태는 또한 멀티 모드 하이브리드 드라이브를 동작시키는 방법을 포함한다. 이러한 방법은, 제거 가능한 캐시 메모리 디바이스의 존재를 결정하기 위해 벌크 메모리 디바이스의 캐시 포트를 모니터링하는 단계, 제거 가능한 캐시 메모리 디바이스가 존재하지 않는다는 것을 결정하는 것에 응답하여 벌크 메모리 디바이스를 독립형 드라이브로서 동작시키는 단계, 및 제거 가능한 캐시 메모리 디바이스가 존재하고 유효하다는 것을 결정하는 것에 응답하여 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하여 벌크 메모리 디바이스를 하이브리드 드라이브로서 동작시키는 단계를 포함할 수도 있다.
본 개시내용의 몇몇 실시형태는, 칩셋(chipset) 및 칩셋과 동작 가능하게 커플링되는 멀티 모드 하이브리드 드라이브를 포함하는 컴퓨터 시스템을 포함한다.
몇몇 실시형태에서, 하이브리드 메모리 드라이브는 벌크 메모리 디바이스 및 제거 가능한 캐시 메모리 디바이스를 포함한다. 벌크 메모리 디바이스는 벌크 저장 매체, 캐시 포트, 및 캐시 포트 및 벌크 저장 매체와 동작 가능하게 커플링되는 제1 컨트롤러를 포함한다. 벌크 저장 매체는 불휘발성 메모리를 포함한다. 제거 가능한 캐시 메모리 디바이스는, 불휘발성 메모리를 포함하는 캐시 저장 매체 및 캐시 저장 매체와 동작 가능하게 커플링되는 제2 컨트롤러를 포함한다. 제1 컨트롤러는, 제거 가능한 캐시 메모리 디바이스가 벌크 메모리 디바이스의 캐시 포트와 커플링되는 것 또는 벌크 메모리 디바이스가 하이브리드 드라이브로서 동작하도록 캐시로서의 사용에 유효하다는 것 중 적어도 하나인 것을 검출하는 것에 응답하여, 벌크 메모리 디바이스를 독립형 모드 또는 하이브리드 모드 중 어느 하나에서 동작시키도록 구성된다.
본 개시내용의 실시형태는 또한 멀티 모드 하이브리드 드라이브를 동작시키는 방법을 포함한다. 이러한 방법은, 제거 가능한 캐시 메모리 디바이스의 존재를 결정하기 위해 벌크 메모리 디바이스의 캐시 포트를 모니터링하는 단계, 제거 가능한 캐시 메모리 디바이스가 존재하지 않는다는 것을 결정하는 것에 응답하여 벌크 메모리 디바이스를 독립형 드라이브로서 동작시키는 단계, 및 제거 가능한 캐시 메모리 디바이스가 존재하고 유효하다는 것을 결정하는 것에 응답하여 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하여 벌크 메모리 디바이스를 하이브리드 드라이브로서 동작시키는 단계를 포함할 수도 있다.
본 개시내용의 몇몇 실시형태는, 칩셋(chipset) 및 칩셋과 동작 가능하게 커플링되는 멀티 모드 하이브리드 드라이브를 포함하는 컴퓨터 시스템을 포함한다.
Claims (19)
- 하이브리드 메모리 드라이브로서,
벌크 메모리 디바이스로서,
불휘발성 메모리를 포함하는 벌크 저장 매체;
캐시 포트; 및
상기 캐시 포트 및 상기 벌크 저장 매체와 동작 가능하게 커플링되는 제1 컨트롤러
를 포함하는, 상기 벌크 메모리 디바이스; 및
제거 가능한 캐시 메모리 디바이스로서, 불휘발성 메모리를 포함하는 캐시 저장 매체를 포함하는, 상기 제거 가능한 캐시 메모리 디바이스를 포함하되,
상기 제1 컨트롤러는, 상기 제거 가능한 캐시 메모리 디바이스가 상기 벌크 메모리 디바이스의 상기 캐시 포트와 커플링되는 것 및 상기 제거 가능한 캐시 메모리 디바이스가 관련된 임계치 이상의 속도 및 내구성 중 적어도 하나를 가지는 것에 기초하여 상기 벌크 메모리 디바이스가 캐시로서의 사용에 유효하다는 것 을 검출하는 것에 응답하여, 상기 벌크 메모리 디바이스를 하이브리드 모드에서 동작시키도록 구성되는, 하이브리드 메모리 드라이브. - 제1항에 있어서, 상기 벌크 저장 매체는 하드 디스크 드라이브로서 구성되는, 하이브리드 메모리 드라이브.
- 제1항에 있어서, 상기 벌크 저장 매체는 솔리드 스테이트 드라이브로서 구성되는, 하이브리드 메모리 드라이브.
- 제1항에 있어서, 상기 제거 가능한 캐시 메모리 디바이스가 상기 캐시 포트에 커플링되는 경우 상기 제1 컨트롤러로부터 수신되는 커맨드에 응답하여 상기 캐시 메모리 디바이스에 대한 매체 액세스를 관리하도록 구성되는 제2 컨트롤러를 더 포함하는, 하이브리드 메모리 드라이브.
- 제1항에 있어서, 상기 벌크 메모리 디바이스는, 주변 장치 컴포넌트 인터커넥트 익스프레스(Peripheral Component Interconnect Express: PCIe) 버스, 직렬 고급 기술 부착(Serial Advanced Technology Attachment: SATA) 버스, 병렬 고급 기술 부착(Parallel Advanced Technology Attachment: PATA) 버스, 소형 컴퓨터 시스템 인터페이스(Small Computer System Interface: SCSI) 버스, 시리얼 부착 SCSI(Serial-Attached SCSI: SAS) 버스, 및 범용 직렬 버스(Universal Serial Bus: USB)로 이루어진 군으로부터 선택되는 제1 버스를 통해 호스트와 커플링되는, 하이브리드 메모리 드라이브.
- 제5항에 있어서, 상기 벌크 메모리 디바이스는, 주변 장치 컴포넌트 인터커넥트 익스프레스(PCIe) 버스, 직렬 고급 기술 부착(SATA) 버스, 병렬 고급 기술 부착(PATA) 버스, 소형 컴퓨터 시스템 인터페이스(SCSI) 버스, 시리얼 부착 SCSI(SAS) 버스, 및 범용 직렬 버스(USB)로 이루어진 군으로부터 선택되는 제2 버스를 통해 상기 제거 가능한 캐시 메모리 디바이스와 커플링되는, 하이브리드 메모리 드라이브.
- 제6항에 있어서, 상기 제1 버스 및 상기 제2 버스는 동일한 버스 타입의 것인, 하이브리드 메모리 드라이브.
- 제6항에 있어서, 상기 제1 버스 및 상기 제2 버스는 상이한 버스 타입의 것이고, 상기 제1 컨트롤러는 또한, 상이한 통신 프로토콜을 사용하여 상기 호스트와 상기 제거 가능한 캐시 메모리 디바이스 사이의 통신을 변환하도록 구성되는, 하이브리드 메모리 드라이브.
- 제1항에 있어서, 상기 벌크 저장 매체는 제1 타입의 불휘발성 메모리를 포함하고, 상기 캐시 저장 매체는 상기 제1 타입보다 더 빠른 제2 타입의 불휘발성 메모리를 포함하는, 하이브리드 메모리 드라이브.
- 제1항에 있어서, 상기 캐시 포트는 내부에 삽입되는 상기 제거 가능한 캐시 메모리 디바이스를 수용하도록 구성되는 슬롯을 포함하는, 하이브리드 메모리 드라이브.
- 멀티 모드 하이브리드 드라이브를 동작시키는 방법으로서,
제거 가능한 캐시 메모리 디바이스의 존재를 결정하기 위해 벌크 메모리 디바이스의 캐시 포트를 모니터링하는 단계;
상기 제거 가능한 캐시 메모리 디바이스가 존재하지 않는다는 것을 결정하는 것에 응답하여 상기 벌크 메모리 디바이스를 독립형 드라이브로서 동작시키는 단계; 및
상기 제거 가능한 캐시 메모리 디바이스가 존재한다는 것 및 상기 제거 가능한 캐시 메모리 디바이스가 관련된 임계치 이상의 속도 및 내구성 중 적어도 하나를 가지는 것을 결정하는 것에 응답하여 상기 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하여 상기 벌크 메모리 디바이스를 하이브리드 드라이브로서 동작시키는 단계를 포함하는, 멀티 모드 하이브리드 드라이브를 동작시키는 방법. - 제11항에 있어서, 상기 캐시 포트를 모니터링하는 단계는 상기 벌크 메모리 디바이스의 전력에 응답하여 개시되는, 멀티 모드 하이브리드 드라이브를 동작시키는 방법.
- 제11항에 있어서,
상기 제거 가능한 캐시 메모리 디바이스가 유효한지를 결정하는 단계;
상기 제거 가능한 캐시 메모리 디바이스가 유효하지 않다는 것을 결정하는 것에 응답하여 상기 벌크 메모리 디바이스를 독립형 드라이브로서 동작시키는 단계; 및
상기 제거 가능한 캐시 메모리 디바이스가 유효하다는 것을 결정하는 것에 응답하여 상기 제거 가능한 캐시 메모리 디바이스를 데이터 캐시로서 사용하여 상기 벌크 메모리 디바이스를 하이브리드 드라이브로서 동작시키는 단계를 더 포함하는, 멀티 모드 하이브리드 드라이브를 동작시키는 방법. - 제13항에 있어서, 상기 캐시 메모리 디바이스가 유효한지를 결정하는 단계는, 상기 제거 가능한 캐시 메모리 디바이스의 동작 파라미터를 결정하기 위해 상기 제거 가능한 캐시 메모리 디바이스에 질의하는(interrogating) 단계를 포함하는, 멀티 모드 하이브리드 드라이브를 동작시키는 방법.
- 제14항에 있어서, 상기 동작 파라미터는, 상기 제거 가능한 캐시 메모리 디바이스의 용량, 메모리 타입, 내구성, 또는 속도 중 적어도 하나를 포함하는, 멀티 모드 하이브리드 드라이브를 동작시키는 방법.
- 제14항에 있어서, 상기 캐시 메모리 디바이스가 유효한지를 결정하는 단계는, 상기 동작 파라미터 중 하나 이상이 미리 결정된 범위 밖에 속하는지를 결정하는 단계를 더 포함하는, 멀티 모드 하이브리드 드라이브를 동작시키는 방법.
- 제1항 내지 제10항 중 어느 한 항의 상기 하이브리드 메모리 드라이브와 동작 가능하게 커플링되는 칩셋(chipset)을 포함하는, 컴퓨터 시스템.
- 제17항에 있어서,
상기 칩셋과 동작 가능하게 커플링되는 프로세서;
상기 칩셋 및 디스플레이와 동작 가능하게 커플링되는 그래픽 프로세서; 및
상기 칩셋과 동작 가능하게 커플링되는 I/O 디바이스를 더 포함하는, 컴퓨터 시스템. - 제17항에 있어서, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 서버, 전자 판독기, 통신 디바이스, 또는 상기 칩셋 및 상기 하이브리드 메모리 드라이브를 통합하는 컴퓨팅 시스템 중 하나를 더 포함하는, 컴퓨터 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/227,165 | 2016-08-03 | ||
US15/227,165 US9927975B2 (en) | 2016-08-03 | 2016-08-03 | Hybrid memory drives, computer system, and related method for operating a multi-mode hybrid drive |
PCT/US2017/042508 WO2018026504A1 (en) | 2016-08-03 | 2017-07-18 | Hybrid memory drives, computer system, and related method for operating a multi-mode hybrid drive |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190022933A KR20190022933A (ko) | 2019-03-06 |
KR102285275B1 true KR102285275B1 (ko) | 2021-08-04 |
Family
ID=61071468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197005727A KR102285275B1 (ko) | 2016-08-03 | 2017-07-18 | 하이브리드 메모리 드라이브, 컴퓨터 시스템, 및 멀티 모드 하이브리드 드라이브를 동작시키기 위한 관련 방법 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9927975B2 (ko) |
EP (2) | EP3494479A4 (ko) |
KR (1) | KR102285275B1 (ko) |
CN (2) | CN109690504B (ko) |
TW (3) | TWI747321B (ko) |
WO (1) | WO2018026504A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9927975B2 (en) | 2016-08-03 | 2018-03-27 | Micron Technology, Inc. | Hybrid memory drives, computer system, and related method for operating a multi-mode hybrid drive |
US10585819B2 (en) | 2018-03-05 | 2020-03-10 | Samsung Electronics Co., Ltd. | SSD architecture for FPGA based acceleration |
US10977198B2 (en) * | 2018-09-12 | 2021-04-13 | Micron Technology, Inc. | Hybrid memory system interface |
US11500555B2 (en) * | 2020-09-04 | 2022-11-15 | Micron Technology, Inc. | Volatile memory to non-volatile memory interface for power management |
US11928360B2 (en) | 2020-11-20 | 2024-03-12 | Western Digital Technologies, Inc. | Command slot management for memory devices |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070146803A1 (en) | 2005-12-26 | 2007-06-28 | Kabushiki Kaisha Toshiba | Information recording apparatus and recorded information management method |
US20080244179A1 (en) | 2007-03-30 | 2008-10-02 | Kealy Kevin P | Memory device with a built-in memory array and a connector for a removable memory device |
KR100866962B1 (ko) | 2007-03-08 | 2008-11-05 | 삼성전자주식회사 | Hdd를 하이브리드 hdd에서 노멀 hdd로 전환시키는방법 |
US20100095053A1 (en) | 2006-06-08 | 2010-04-15 | Bitmicro Networks, Inc. | hybrid multi-tiered caching storage system |
US20120233385A1 (en) | 2005-04-12 | 2012-09-13 | Sandisk Il Ltd. (Formerly Known As M-Systems Flash Disk Pioneers, Ltd.) | Hard disk drive with optional cache memory |
US20150134877A1 (en) * | 2013-11-08 | 2015-05-14 | Seagate Technology Llc | Data storage system with passive partitioning in a secondary memory |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140921A1 (en) * | 2004-06-10 | 2008-06-12 | Sehat Sutardja | Externally removable non-volatile semiconductor memory module for hard disk drives |
US20080005462A1 (en) | 2006-06-30 | 2008-01-03 | Mosaid Technologies Incorporated | Method of configuring non-volatile memory for a hybrid disk drive |
US8296521B2 (en) | 2006-06-30 | 2012-10-23 | Mosaid Technologies Incorporated | Method of configuring non-volatile memory for a hybrid disk drive |
US7774525B2 (en) | 2007-03-13 | 2010-08-10 | Dell Products L.P. | Zoned initialization of a solid state drive |
US20080270811A1 (en) * | 2007-04-26 | 2008-10-30 | Super Talent Electronics Inc. | Fast Suspend-Resume of Computer Motherboard Using Phase-Change Memory |
US7861038B2 (en) * | 2007-07-17 | 2010-12-28 | International Business Machines Corporation | Method and apparatus for managing data in a hybrid drive system |
KR20090034087A (ko) * | 2007-10-02 | 2009-04-07 | 삼성전자주식회사 | 비휘발성 저장매체를 이용한 미디어 컨텐츠 재생 방법 및그 장치 |
US9354857B2 (en) | 2008-03-19 | 2016-05-31 | Lenovo (Singapore) Pte. Ltd. | System and method to update firmware on a hybrid drive |
US8407398B2 (en) | 2008-10-01 | 2013-03-26 | Lenovo (Singapore) Pte. Ltd. | Cache mapping for solid state drives |
USD610156S1 (en) * | 2009-01-01 | 2010-02-16 | Orion Photo Industries, Inc. | USB flash drive |
US8321630B1 (en) * | 2010-01-28 | 2012-11-27 | Microsoft Corporation | Application-transparent hybridized caching for high-performance storage |
US9135172B2 (en) * | 2012-08-02 | 2015-09-15 | Qualcomm Incorporated | Cache data migration in a multicore processing system |
TWI597606B (zh) * | 2012-08-14 | 2017-09-01 | 緯創資通股份有限公司 | 電腦系統與其儲存裝置管理方法 |
US9052917B2 (en) | 2013-01-14 | 2015-06-09 | Lenovo (Singapore) Pte. Ltd. | Data storage for remote environment |
US9477611B2 (en) | 2013-10-21 | 2016-10-25 | Marvell World Trade Ltd. | Final level cache system and corresponding methods |
US9927975B2 (en) | 2016-08-03 | 2018-03-27 | Micron Technology, Inc. | Hybrid memory drives, computer system, and related method for operating a multi-mode hybrid drive |
-
2016
- 2016-08-03 US US15/227,165 patent/US9927975B2/en active Active
-
2017
- 2017-07-18 WO PCT/US2017/042508 patent/WO2018026504A1/en unknown
- 2017-07-18 CN CN201780054095.7A patent/CN109690504B/zh active Active
- 2017-07-18 EP EP17837384.1A patent/EP3494479A4/en not_active Ceased
- 2017-07-18 EP EP23185044.7A patent/EP4231157A3/en active Pending
- 2017-07-18 KR KR1020197005727A patent/KR102285275B1/ko active IP Right Grant
- 2017-07-18 CN CN202010723294.6A patent/CN111831233B/zh active Active
- 2017-08-03 TW TW109119540A patent/TWI747321B/zh active
- 2017-08-03 TW TW106126290A patent/TWI637270B/zh active
- 2017-08-03 TW TW107130319A patent/TWI696918B/zh active
-
2018
- 2018-03-23 US US15/933,820 patent/US10067676B2/en active Active
- 2018-08-22 US US16/108,341 patent/US10656833B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120233385A1 (en) | 2005-04-12 | 2012-09-13 | Sandisk Il Ltd. (Formerly Known As M-Systems Flash Disk Pioneers, Ltd.) | Hard disk drive with optional cache memory |
US20070146803A1 (en) | 2005-12-26 | 2007-06-28 | Kabushiki Kaisha Toshiba | Information recording apparatus and recorded information management method |
US20100095053A1 (en) | 2006-06-08 | 2010-04-15 | Bitmicro Networks, Inc. | hybrid multi-tiered caching storage system |
KR100866962B1 (ko) | 2007-03-08 | 2008-11-05 | 삼성전자주식회사 | Hdd를 하이브리드 hdd에서 노멀 hdd로 전환시키는방법 |
US20080244179A1 (en) | 2007-03-30 | 2008-10-02 | Kealy Kevin P | Memory device with a built-in memory array and a connector for a removable memory device |
US20150134877A1 (en) * | 2013-11-08 | 2015-05-14 | Seagate Technology Llc | Data storage system with passive partitioning in a secondary memory |
Also Published As
Publication number | Publication date |
---|---|
EP3494479A4 (en) | 2020-04-01 |
CN111831233B (zh) | 2024-05-10 |
US10656833B2 (en) | 2020-05-19 |
KR20190022933A (ko) | 2019-03-06 |
CN109690504A (zh) | 2019-04-26 |
EP4231157A2 (en) | 2023-08-23 |
TW202036303A (zh) | 2020-10-01 |
TW201805825A (zh) | 2018-02-16 |
CN109690504B (zh) | 2020-08-14 |
EP3494479A1 (en) | 2019-06-12 |
TW201908976A (zh) | 2019-03-01 |
US10067676B2 (en) | 2018-09-04 |
CN111831233A (zh) | 2020-10-27 |
US9927975B2 (en) | 2018-03-27 |
US20180356985A1 (en) | 2018-12-13 |
US20180039414A1 (en) | 2018-02-08 |
US20180210655A1 (en) | 2018-07-26 |
TWI747321B (zh) | 2021-11-21 |
TWI696918B (zh) | 2020-06-21 |
TWI637270B (zh) | 2018-10-01 |
EP4231157A3 (en) | 2023-11-01 |
WO2018026504A1 (en) | 2018-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102285275B1 (ko) | 하이브리드 메모리 드라이브, 컴퓨터 시스템, 및 멀티 모드 하이브리드 드라이브를 동작시키기 위한 관련 방법 | |
EP2997459B1 (en) | System and method for high performance and low cost flash translation layer | |
TWI492061B (zh) | 經由主機傳輸速率偵測之操作模式或特徵之選擇性啟用 | |
US8904095B2 (en) | Data storage device and operating method thereof | |
KR102114109B1 (ko) | 데이터 저장 장치 | |
KR20150074550A (ko) | 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템 | |
KR20130107070A (ko) | Ssd 콘트롤러 및 그의 제어 방법 | |
KR20220157487A (ko) | 메모리 서브시스템 제조 모드 | |
EP4016310A1 (en) | Logical to physical address indirection table in a persistent memory in a solid state drive | |
US11243896B2 (en) | Multiple pin configurations of memory devices | |
US11762553B2 (en) | Runtime selection of memory devices and storage devices in a disaggregated memory system | |
CN116917854A (zh) | 跨多个协议管理持久性存储器区域 | |
US11194512B2 (en) | Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof | |
US20170115886A1 (en) | Storage device and method of performing a write operation by the same |
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 |