Nothing Special   »   [go: up one dir, main page]

KR20120050891A - 스토리지 시스템에서 요청에 대한 응답과 연관된 지연의 감소 - Google Patents

스토리지 시스템에서 요청에 대한 응답과 연관된 지연의 감소 Download PDF

Info

Publication number
KR20120050891A
KR20120050891A KR1020110060744A KR20110060744A KR20120050891A KR 20120050891 A KR20120050891 A KR 20120050891A KR 1020110060744 A KR1020110060744 A KR 1020110060744A KR 20110060744 A KR20110060744 A KR 20110060744A KR 20120050891 A KR20120050891 A KR 20120050891A
Authority
KR
South Korea
Prior art keywords
storage
type
host device
data
read
Prior art date
Application number
KR1020110060744A
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 엘에스아이 코포레이션
Publication of KR20120050891A publication Critical patent/KR20120050891A/ko

Links

Images

Classifications

    • 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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/0866Addressing 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/224Disk storage
    • 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/0656Data buffering 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

방법은 스토리지 가상화 엔진을 통해 가상 볼륨을 제 1 유형의 스토리지에 매핑하도록 구성된 활성 영역 및 제 2 유형의 스토리지에 매핑하도록 구성된 비활성 영역으로 세그먼트화하는 단계를 포함한다. 제 2 유형의 스토리지는 호스트 디바이스와 연관된 데이터를 포함하고 제 1 유형의 스토리지는 호스트 디바이스와 연관된 데이터에 대응하는 특정 시점 이미지를 포함한다. 제 1 유형의 스토리지는 제 2 유형의 스토리지 보다 더 높은 성능을 제공한다. 본 방법은 또한 제 1 유형의 스토리지의 공간의 일부를 기록 동작 및/또는 판독 동작 동안 캐시 메모리로서 작용하도록 할당하는 단계, 및 제 1 유형의 스토리지를 통해 대응하는 기록 동작 및/또는 판독 동작을 수행함으로써 기록 요청 및/또는 판독 요청에 대한 응답과 관련된 지연을 감소시키는 단계를 포함한다.

Description

스토리지 시스템에서 요청에 대한 응답과 연관된 지연의 감소{LATENCY REDUCTION ASSOCIATED WITH A RESPONSE TO A REQUEST IN A STORAGE SYSTEM}
본 발명은 일반적으로 스토리지 시스템(storage system)에 관한 것으로, 보다 구체적으로, 스토리지 시스템에서 기록 요청 및/또는 판독 요청에 대한 응답과 연관된 지연(latency)을 감소시키는 방법, 장치 및/또는 시스템에 관한 것이다.
스토리지 시스템은 스토리지 풀(storage pool)에 저장되어 있는 개체(예컨대, 조직체)에 속하는 하나 이상의 사용자와 연관된 데이터를 포함할 수 있다. 데이터의 일부는 하나 이상의 사용자에 의해 자주 액세스될 수 있으며 데이터의 다른 일부는 하나 이상의 사용자에 의해 덜 자주 액세스될 수 있다. 또한, 스토리지 시스템은 하나 이상의 사용자와 연관된 데이터를 그 내부에 백업하도록 구성될 수 있다.
자주 액세스되는 데이터가 저성능을 제공하는 하드웨어에 저장될 때, 이에 대한 판독/기록 요청은 증가된 응답 시간으로 처리될 수 있다. 더욱이, 저성능을 제공하는 하드웨어가 그 최대 용량에 가깝게 저장된 데이터를 포함하면, 응답 시간은 훨씬 더욱 증가될 수 있다. 예시적인 시나리오에서, 하드웨어가 클라우드 스토리지 환경에서 서비스로 제공되는 원격 스토리지와 연관될 때, 하나 이상의 사용자는 판독/기록 타임아웃에 직면할 수 있으며, 이는 인간의 노력의 낭비 및/또는 생산성의 손실을 가져올 수 있다.
스토리지 시스템에서 기록 요청 및/또는 판독 요청에 대한 응답과 연관된 지연을 감소시키기 위한 방법, 장치 및/또는 시스템이 개시된다.
일 양태에서, 방법은 스토리지 가상화 엔진(storage virtualization engine)을 통해 가상 볼륨(virtual volume)을 제 1 유형의 스토리지로 매핑하도록 구성된 활성 영역 및 제 2 유형의 스토리지로 매핑하도록 구성된 비활성 영역으로 세그먼트화(segmenting)하는 단계를 포함한다. 상기 제 2 유형의 스토리지는 호스트 디바이스와 연관된 데이터를 포함하도록 구성되고 제 1 유형의 스토리지는 상기 호스트 디바이스와 연관된 상기 데이터에 대응하는 특정 시점(point-in-time) 이미지를 포함하도록 구성된다. 상기 제 1 유형의 스토리지는 상기 제 2 유형의 스토리지 보다 더 높은 성능을 제공하고, 상기 스토리지 가상화 엔진은 상기 가상 볼륨을 상기 제 1 유형의 스토리지와 상기 제 2 유형의 스토리지의 스토리지 위치에 매핑하도록 구성된다.
상기 방법은 또한 상기 호스트 디바이스를 통해 기록 동작 및/또는 판독 동작 동안 대응하는 기록 요청 및/또는 판독 요청에 응답하여 상기 제 1 유형의 스토리지의 공간 일부를 캐시 메모리로서 작용하도록 할당하는 단계, 및 상기 제 1 유형의 스토리지를 통해 상기 대응하는 기록 동작 및/또는 상기 판독 동작을 수행함으로써 상기 기록 요청 및/또는 상기 판독 요청에 대한 응답과 관련된 지연을 감소시키는 단계를 포함한다. 상기 기록 동작은 상기 제 1 유형의 스토리지에서 상기 제 2 유형의 스토리지에 기록될 데이터를 캐싱하는 단계를 포함하고, 상기 판독 동작은 상기 제 1 유형의 스토리지에서 캐시된 최근에 기록된 데이터 또는 상기 제 2 유형의 스토리지로부터의 상기 데이터의 일부를 상기 제 1 유형의 스토리지의 적절한 캐시 위치로 페치하여 그로부터 판독되게 하는 단계를 포함한다.
다른 양태에서, 방법은 제 1 유형의 스토리지에서 호스트 디바이스와 연관된 데이터에 대응하는 특정 시점 이미지를 저장하고 제 2 유형의 스토리지에서 상기 호스트 디바이스와 연관된 상기 데이터를 저장하는 단계를 포함한다. 상기 제 2 유형의 스토리지는 상기 제 1 유형의 스토리지와 비교하여 더 낮은 성능을 제공한다. 상기 방법은 또한 상기 특정 시점 이미지가 차지하는 메모리가 임계값을 초과할 때 상기 호스트 디바이스와 연관된 최소 최근 액세스된 데이터에 대응하는 하나 이상의 특정 시점 이미지(들)를 상기 제 2 유형의 스토리지에 재동기화하거나 이동시키 단계, 및 스토리지 가상화 엔진을 통해 가상 볼륨을 상기 제 1 유형의 스토리지에 매핑하도록 구성된 활성 영역 및 상기 제 2 유형의 스토리지에 매핑하도록 구성된 비활성 영역으로 세그먼트화하는 단계를 포함한다.
상기 스토리지 가상화 엔진은 상기 가상 볼륨을 상기 제 1 유형의 스토리지 및 상기 제 2 유형의 스토리지의 스토리지 위치에 매핑하도록 구성된다. 또한, 상기 방법은 상기 호스트 장치를 통해 기록 동작 및/또는 판독 동작 동안 대응하는 기록 요청 및/또는 판독 요청에 응답하여 상기 제 1 유형의 스토리지의 공간의 일부를 캐시 메모리로서 작용하도록 할당하는 단계, 및 상기 제 1 유형의 스토리지를 통해 상기 기록 동작 및/또는 상기 판독 동작을 수행하는 단계를 포함한다. 상기 기록 동작은 상기 제 1 유형의 스토리지에서 상기 제 2 유형의 스토리지에 기록될 데이터를 캐시하는 단계를 포함하고, 상기 판독 동작은 상기 제 1 유형의 스토리지에서 캐시된 최근에 기록된 데이터 또는 상기 제 2 유형의 스토리지로부터의 상기 데이터를 상기 제 1 유형의 스토리지의 적절한 캐시 위치로 페치하여 그로부터 판독되게 하는 단계를 포함한다.
또 다른 형태에서, 스토리지 시스템은 기록 요청 및/또는 판독 요청을 생성하도록 구성된 호스트 디바이스, 상기 호스트 디바이스와 연관된 제 1 유형의 스토리지, 및 상기 호스트 디바이스와 연관된 제 2 유형의 스토리지를 포함한다. 상기 제 2 유형의 스토리지는 상기 제 1 유형의 스토리지 보다 더 낮은 성능을 제공한다. 상기 스토리지 시스템은 또한 상기 스토리지 시스템의 스토리지 관리와 연관되며, 상기 제 1 유형의 스토리지 및 상기 제 2 유형의 스토리지에 대해 상기 제 1 유형의 스토리지에 매핑하도록 구성된 활성 영역 및 상기 제 2 유형의 스토리지에 매핑하도록 구성된 비활성 영역으로 가상 볼륨 세그먼트화를 수행하도록 구성된 스토리지 가상화 엔진을 포함한다. 상기 제 2 유형의 스토리지는 상기 호스트 디바이스와 연관된 데이터를 포함하도록 구성되고 상기 제 1 유형의 스토리지는 상기 호스트 디바이스와 연관된 상기 데이터에 대응하는 특정 시점 이미지를 포함하도록 구성된다.
상기 호스트 디바이스에서 사용자는 상기 호스트 디바이스를 통해 기록 동작 및/또는 판독 동작 동안 상기 대응하는 기록 요청 및/또는 상기 판독 요청에 응답하여 상기 제 1 유형의 스토리지의 공간의 일부를 캐시 메모리로서 작용하게 할당하도록 구성된다. 상기 스토리지 가상화 엔진은 상기 제 1 유형의 스토리지를 통해 상기 기록 동작 및/또는 상기 판독 동작의 수행을 가능하게 하여 상기 대응하는 기록 요청 및/또는 상기 판독 요청에 대한 응답과 관련된 지연을 감소하도록 구성된다. 상기 기록 동작 동안, 상기 제 2 유형의 스토리지에 기록될 데이터는 상기 제 1 유형의 스토리지에서 캐시된다. 상기 판독 동작 동안, 상기 제 1 유형의 스토리지에서 캐시된 최근에 기록된 데이터 또는 상기 제 2 유형의 스토리지로부터의 상기 데이터의 일부는 상기 제 1 유형의 스토리지의 적절한 캐시 위치로 페치하여 그로부터 판독되게 한다.
본 명세서에서 개시된 상기 방법 및 시스템은 다양한 양태를 성취하기 위해 어떠한 수단으로도 구현될 수 있으며, 머신에 의해 실행될 때 상기 머신이 본 명세서에서 개시된 동작들 중 어떤 동작을 수행하도록 하는 명령어들의 세트를 구현하는 머신 판독가능 매체의 형태로 실행될 수 있다. 다른 특징들은 첨부의 도면 및 다음의 상세한 설명으로부터 자명해질 것이다.
이상과 같이, 본 발명은 제 1 유형의 스토리지가 제 2 유형의 스토리지보다 더 높은 성능을 제공할 수 있고, 기록 요청 및/또는 판독 요청에 대한 응답과 관련된 지연을 감소시킬 수 있다.
본 발명의 실시예들은 예를 들어 설명된 것으로 첨부의 도면으로 제한되는 것은 아니며, 도면에서 동일한 참조부호는 동일한 구성요소를 나타낸다.
도 1은 하나 이상의 실시예에 따른, 스토리지 시스템의 개략도이다.
도 2는 하나 이상의 실시예에 따른, 분할된 가상 볼륨, 및 가상 볼륨이 매핑되는 스토리지의 유형의 설명도이다.
도 3은 하나 이상의 실시예에 따른, 데이터 기록 프로세스의 설명도이다.
도 4는 하나 이상의 실시예에 따른, 도 3의 데이터 기록 프로세스에 이어서 후기입 캐시(write-back cache)로부터 적절한 유형의 스토리지로의 데이터 기록에 대한 설명도이다.
도 5는 하나 이상의 실시예에 따른, 데이터 판독 프로세스의 설명도이다.
도 6은 하나 이상의 실시예에 따른, 도 2의 이미지 데이터 볼륨과 연관된 최소 최근 사용(Least Recently Used: LRU) 캐시를 구현하는데 수반되는 동작을 상세히 설명하는 흐름도이다.
도 7은 하나 이상의 실시예에 따른, 도 1의 스토리지 시스템에서 기록 요청 및/또는 판독 요청과 연관된 지연을 감소하기 위한 방법에 수반되는 동작을 상세히 설명하는 프로세스 흐름도이다.
도 8은 하나 이상의 실시예에 따른, 도 1의 스토리지 시스템에서 기록 동작 및/또는 판독 동작을 수행하는데 수반되는 동작을 상세히 설명하는 프로세스 흐름도이다.
본 실시예들의 다른 특징들은 첨부의 도면 및 다음의 상세 설명으로부터 자명해 질 것이다.
스토리지 시스템에서 기록 요청 및/또는 판독 요청에 대한 응답과 연관되는 지연을 감소하기 위한 방법, 장치 및/또는 시스템이 개시된다. 본 실시예들이 특정한 예시적인 실시예들과 관련하여 설명되었지만, 다양한 실시예들의 더 넓은 정신 및 범주에서 벗어나지 않고 이들 실시예에 대해 많은 변형 및 변경이 이루어질 수 있음이 명백해 질 것이다.
도 1은 하나 이상의 실시예에 따른 스토리지 시스템(100)을 도시한다. 하나 이상의 실시예에서, 스토리지 시스템(100)은 이와 연관된 데이터가 하나 이상의 "스토리지 풀"에 저장되고/되거나 외부적으로 백업되도록 구성된 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N)를 포함할 수 있다. 하나 이상의 실시예에서, 하나 이상의 스토리지 풀(들) 각각은 고상 드라이브(Solid-State Drive: SSD) 기반, 하드 디스크 드라이브(HDD) 기반(HDD에 대한 액세스는, 예를 들어, 파이버 채널(FC) 프로토콜, 직렬 접속 소형 컴퓨터 시스템 인터페이스(SAS) 프로토콜 또는 직렬 고급 기술 부착(Serial Advanced Technology Attachment(SATA) 프로토콜에 기반을 둠), 원격 인터넷 소형 컴퓨터 시스템 인터페이스(iSCSI) 볼륨 기반, 원격 객체 스토리지 기반 또는 이들의 조합일 수 있다. 하나 이상의 실시예에서, 전술한 드라이브는 직접 부착 디스크(104) 또는 로컬 스토리지 어레이(106)일 수 있다.
도 1은 예시적인 예로서 직접 부착 디스크(104) 및 로컬 스토리지 어레이(106) 양자가 드라이브 기반의 스토리지를 구성한 것을 도시한다. 하나 이상의 실시예에서, 직접 부착 디스크(104) 및 로컬 스토리지 어레이(106)는 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))와 동일한 위치에 있을 수 있다. 도 1은 또한 원격 iSCSI 볼륨(108) 및 원격 객체 스토리지(110) 양자가 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))의 위치에서 멀리 떨어진 위치에 있는 것을 도시한다. 하나 이상의 실시예에서, 원격 객체 스토리지(110)는 이와 연관된 에뮬레이션 드라이버가 블록 디바이스(block device)로서 그것의 시청을 가능하게 할 것을 요구할 수 있다.
하나 이상의 실시예에서, 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))는 컴퓨터 네트워크(120)을 통해 이와 연관된 원격 스토리지(예컨대, 원격 iSCSI 볼륨(108), 원격 객체 스토리지(110))와 통신하도록 구성될 수 있다. 하나 이상의 실시예에서, 컴퓨터 네트워크(120)는 스토리지 영역 네트워크(SAN), 근거리 네트워크(LAN), 광역 네트워크(WAN), 통신 링크, 예를 들어, 인터넷을 이용하는 가상 사설 네트워크(VPN), 또는 이들의 어떤 조합일 수 있다. 하나 이상의 실시예에서, 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))와 연관된 스토리지(예컨대, 직접 부착 디스크(104), 로컬 스토리지 어레이(106))는 네트워크 부착 스토리지(NAS) 디바이스 또는 직접 부착 스토리지(DAS) 디바이스로서 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))와 직접 통신할 수 있다.
도 1의 예시적인 실시예에서, 스토리지 가상화 엔진(132)은 컴퓨터 네트워크(120)에 결합될 수 있으며, 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))와 연관된 스토리지를 직접 부착 디스크(104), 로컬 스토리지 어레이(106), 원격 iSCSI 볼륨(108) 및 원격 객체 스토리지(110) 및/또는 스토리지 애플리케이션에 유연하게 할당하도록 구성될 수 있다. LSI® 스토리지 가상화 매니저TM(Storage Virtualization Manager; SVMTM)는 스토리지 가상화 엔진(132)의 일예일 수 있다. 하나 이상의 실시예에서, 스토리지 가상화 엔진(132)은 스토리지 시스템(100)에서 스토리지 풀링 및 그 내부에서의 가상 볼륨 할당에 대한 중앙집중 관리를 가능하게 할 수 있다. 하나 이상의 실시예에서, 스토리지 가상화 엔진(132)은 컴퓨터 네트워크(120)에 결합된 물리적 디바이스를 모니터링할 수 있다. 하나 이상의 실시예에서, 물리적 디바이스는 호스트 디바이스(예컨대, 하나 이상의 호스트 디바이스(1021-N)) 및/또는 하나 이상의 스토리지 풀로 구성된 스토리지(예컨대, 직접 부착 디스크(104), 로컬 스토리지 어레이(106), 원격 iSCSI 볼률(108) 및/또는 원격 객체 스토리지(110))일 수 있다. 본 명세서에서 사용되는 스토리지 가상화 엔진(132)은 하드웨어 또는 소프트웨어를 지칭할 수 있다.
따라서, 도 1의 예시적인 실시예에서, 스토리지 가상화 엔진(132)은 이와 연관된 에이전트를 통해 컴퓨터 네트워크(120)에 결합된 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N)), 직접 부착 디스크(104), 로컬 스토리지 어레이(106), 원격 iSCSI 볼륨(108) 및/또는 원격 객체 스토리지(110)를 모니터하도록 구성될 수 있다. 예시적인 일 실시예에서, 스토리지 가상화 엔진(132)과 연관된 에이전트는 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N)에 설치된 그래픽 사용자 인터페이스(GUI) 툴 일 수 있다. 하나 이상의 실시예에서, 에이전트는 모든 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))가 아닌, 다수의 호스트 디바이스에 설치될 수 있다. 다른 예에서, 에이전트는 스토리지 시스템(100)의 관리자와 연관되도록 구성된 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))에 단독으로 설치될 수 있다. 또 다른 실시예에서, 에이전트는 그 일부가 스토리지 시스템(100)인 클라우드 컴퓨팅 환경과 연관된 스토리지 서비스의 고객(들)으로 구성된 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))에 설치될 수 있다.
하나 이상의 실시예에서, 스토리지 가상화 엔진(132)은 스토리지 시스템(100)과 연관된 스토리지 풀링 및/또는 가상 볼륨 할당의 중앙집중 관리를 가능하게 하도록 구성될 수 있다. 또한, 하나 이상의 실시예에서, 스토리지 가상화 엔진(132)은 이와 연관된 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))로부터의 볼륨 정보의 검색 및 판독/기록 요청에 응답하여 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))로부터 이와 연관된 스토리지 디바이스로 직접 입출력(I/O)의 라우팅을 가능하게 하도록 구성될 수 있다.
하나 이상의 실시예에서, 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))는, 이것으로 제한되는 것은 아니지만, 네트워크 파일 시스템(NFS) 프로토콜, 공통 인터넷 파일 시스템(CIFS) 프로토콜 및 iSCSI 프로토콜을 포함하는 프로토콜과 연관된 데이터 세트를 지원할 수 있다. 도 1의 예시적인 실시예에서, 컴퓨터 네트워크(120)는 직접 부착 디스크(104), 로컬 스토리지 어레이(106), 원격 iSCSI 볼륨(108) 및 원격 객체 스토리지(110)와 호환되는 적절한 제어기를 구비할 수 있다. 예를 들어, 주변 장치 상호연결(Peripheral Component Interconnect: PCI) 독립 디스크의 여분 배열(Redundant Array of Independent Disks: RAID) 제어기는 직접 부착 디스크(104)와 호환될 수 있으며 FC/iSCSI 제어기는 로컬 스토리지 어레이(106) 및/또는 원격 iSCSI 볼륨(108)과 호환될 수 있다.
전술한 바와 같이, 원격 객체 스토리지(110)는 이와 연관된 에뮬레이션 드라이버를 구비할 수 있다. 예시적인 일 실시예에서, 로컬 블록 디바이스는 에뮬레이션 드라이버 및 원격 객체 스토리지(110)를 포함하는 클라우드와 연관된 애플리케이션 프로그래밍 인터페이스(API)를 이용하여 에뮬레이트될 수 있다. 통상의 블록 스토리지가 클라우드와 연관되는 다른 예시적인 실시예에서, 클라우드와 연관된 벤더(vendor)는 iSCSI 논리적 장치 번호(Logical Unit Number: LUN)를 가능하게 할 수 있으며, 그런 후 그에 적합한 소프트웨어를 설치할 수 있다.
스토리지 가상화 엔진(132)은 또한 직접 부착 디스크(104), 로컬 스토리지 어레이(106), 원격 iSCSI 볼륨(108) 및 원격 객체 스토리지(110)와 연관된 스토리지 어레이 제어기에서 실행하도록 구성될 수 있음이 자명하다. 전술한 변형은 예시적인 실시예의 범주 내에 완전히 속한다.
하나 이상의 실시예에서, 하나 이상의 스토리지 풀(예컨대, 직접 부착 디스크(104), 로컬 스토리지 어레이(106), 원격 iSCSI 볼륨(108), 원격 객체 스토리지(110))와 연관된 스토리지 어레이의 가상 볼륨은 스토리지 가상 엔진(132)을 통해 세그먼트화될 수 있다. 하나 이상의 실시예에서, 가상 볼륨은 스토리지 풀의 하나 이상의 구성 요소(예컨대, 직접 부착 디스크(104), 로컬 스토리지 어레이(106), 원격 iSCSI 볼륨(108), 원격 객체 스토리지(110))의 용량으로부터 유도될 수 있다. 하나 이상의 실시예에서, 가상 볼륨 세그먼트화에 이어서, 스토리지 풀의 하나 이상의 구성 요소(예컨대, 직접 부착 디스크(104), 로컬 스토리지 어레이(106), 원격 iSCSI 볼륨(108), 원격 객체 스토리지(110))의 스토리지 위치에 가상 볼륨이 매핑될 수 있다.
하나 이상의 실시예에서, 스토리지 가상화 엔진(132)은 가상 볼륨을 스토리지 풀과 연관된 제 1 유형의 스토리지에 매핑하도록 구성된 활성 영역 및 스토리지 풀과 연관된 제 2 유형의 스토리지에 매핑하도록 구성된 비활성 영역으로 분할하도록 구성될 수 있다. 하나 이상의 실시예에서, 스토리지 가상화 엔진(132)은 스토리지 풀과 연관된 데이터 볼륨을 분리하여 베이스 데이터 볼륨이 스토리지 풀의 구성 요소에 존재하고 이미지 데이터 볼륨이 스토리지 풀의 다른 구성 요소에 존재할 수 있도록 구성될 수 있다. 하나 이상의 실시예에서, 에이전트가 설치되어 있는 하나 이상의 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))에서 사용자/사용자들은 스토리지 풀의 구성 요소 및/또는 다른 구성 요소를 선택할 수 있다. 하나 이상의 실시예에서, 이미지 데이터 볼륨은 베이스 데이터 볼륨과 연관된 특정 시점(point-in-time)의 이미지(예컨대, 스냅샷)를 포함할 수 있다.
도 2는 하나 이상의 실시예에 따른, 전술한 분리된 가상 볼륨(202) 및 가상 볼륨(202)이 매핑되는 스토리지의 유형(예컨대, 제 1 유형의 스토리지(204), 제 2 유형의 스토리지(206))를 예시한다. 하나 이상의 실시예에서, 전술한 바와 같이, 가상 볼륨(202)은 활성 영역(212) 및 비활성 영역(214)으로 분리될 수 있으며, 스토리지 풀과 연관된 데이터 볼륨(도시되지 않음)은 이미지 데이터 볼륨(222) 및 베이스 데이터 볼륨(224)으로 분리될 수 있다. 하나 이상의 실시예에서, 베이스 데이터 볼륨(224)은 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))와 연관된 데이터를 포함할 수 있다. 다시 전술한 바와 같이, 하나 이상의 실시예에서, 이미지 데이터 볼륨(222)은 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))와 연관된 데이터에 대응하는 특정 시점의 이미지를 포함할 수 있다.
전술한 바와 같이, 하나 이상의 실시예에서, 활성 영역(212)은 제 1 유형의 스토리지(204)에 매핑되고 비활성 영역(214)은 제 2 유형의 스토리지(206)에 매핑될 수 있다. 하나 이상의 실시예에서, 스토리지 가상화 엔진(132)은 스토리지 풀 중 제 1 유형의 스토리지(204) 상에 이미지 데이터 볼륨(222)을 제 2 유형의 스토리지(206) 상에 베이스 데이터 볼륨(224)의 저장을 가능하게 하도록 구성될 수 있다. 하나 이상의 실시예에서, 제 1 유형의 스토리지(204) 상에 존재하는 이미지 데이터 볼륨(222)은 데이터 볼륨과 연관된 특정 시점의 이미지를 저장하도록 구성될 수 있다. 하나 이상의 실시예에서, 전술한 바와 같이, 전술한 스토리지 위치는 사용자가 액세스 가능할 수 있다.
하나 이상의 실시예에서, 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))에서 사용자는 캐싱 목적으로 이와 연관된 로컬 스토리지의 일부 공간을 할당할 수 있다. 원격 스토리지는 사용자에게 클라우드 서비스로서 제공될 수 있다. 따라서, 하나 이상의 실시예에서, 제 1 유형의 스토리지(204)(이미지 데이터 볼륨(222)을 포함함)는 캐싱 목적으로 할당된 일부 공간을 포함할 수 있고, 제 2 유형의 스토리지(206)는 원격 스토리지일 수 있다. 하나 이상의 실시예에서, 사용자는 이와 연관된 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))에서 데이터 기록 요청을 시작할 수 있다. 도 3은 하나 이상의 실시예에 따른 데이터 기록 프로세스를 예시한다. 하나 이상의 실시예에서, 도 3에 도시된 바와 같이, 호스트 디바이스에서 발신된 데이터 기록 요청(예컨대, 기록 요청(302))이 활성 영역(212)과 연관될 수 있기 때문에, 기록 동작은 제 1 유형의 스토리지(204) 상에서 수행될 수 있다. 하나 이상의 실시예에서, 제 1 유형의 스토리지(204)가 제 2 유형의 스토리지(206) 보다 더 높은 성능으로 연관될 때, (예컨대, 사용자에 의해) 그 내부에 할당된 캐시는 후기입 캐시로 사용될 수 있다.
도 3에서 도시된 바와 같이, 하나 이상의 실시예에서, 기록 동작(예컨대, 기록(304))은 고성능을 갖는 제 1 유형의 스토리지(204) 상에서 수행될 수 있다. 따라서, 하나 이상의 실시예에서, 모든 기록 요청(예컨대, 기록 요청(302))은 고속 스토리지(예컨대, 제 1 유형의 스토리지(204)) 상에서 수행되는 기록 동작(예컨대, 기록(304))으로 인해 고속으로 처리될 수 있다. 하나 이상의 실시예에서, 최근에 기록된 데이터는 캐싱 목적으로 고속 스토리지 상의 공간에 대한 사용자 할당을 통해 쉽게 액세스 가능할 수 있다.
하나 이상의 실시예에서, 전술한 바와 같이, 제 1 유형의 스토리지(204)는 이제 후기입 캐시를 포함할 수 있다. 하나 이상의 실시예에서, 최근에 기록된 데이터는 후기입 캐시에 저장될 수 있으며 이를 통해 액세스될 수 있다. 하나 이상의 실시예에서, 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))의 유휴(idle) 사이클 동안, 최근에 기록된 데이터는 제 2 유형의 스토리지(206)(예컨대, 베이스 데이터 볼륨(224))에 기록될 수 있다. 하나 이상의 실시예에서, 제 2 유형의 스토리지(206)가, 호스트 디바이스가 컴퓨터 네트워크(120)를 통해 이와 통신하도록 구성되어 있는 원격 스토리지인 경우, 최근에 기록된 데이터는 컴퓨터 네트워크(120)와 연관된 조건을 또한 고려하여 (예컨대, 고 대역폭 가용성, 저 트래픽과 같은 최적의 조건 동안) 제 2 유형의 스토리지(206)에 기록될 수 있다. 하나 이상의 실시예에서, 후기입 캐시에 최근에 기록된 데이터의 특정 시점 이미지(들)는 제 2 유형의 스토리지(206)에 기록하기 전에 스토리지 가상화 엔진(132)을 통해 가져올 수 있다. 도 4는 후기입 캐시로부터 제 2 유형의 스토리지(206)로 데이터를 기록하는 것을 도시한다.
하나 이상의 실시예에서, 전술한 바와 같이, 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))에서 사용자는 이와 연관된 로컬 스토리지의 일부 공간을 캐싱 목적으로 할당할 수 있다. 원격 스토리지는 사용자에게 제공된 클라우드 서비스일 수 있다. 따라서, 하나 이상의 실시예에서, 다시 제 1 유형의 스토리지(204)(이미지 데이터 볼륨(222)을 포함함)는 캐싱 목적으로 일부 공간을 포함할 수 있고, 제 2 유형의 스토리지(206)는 원격 스토리지일 수 있다. 하나 이상의 실시예에서, 사용자는 이와 연관된 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))에서 데이터 판독 요청을 시작할 수 있다.
도 5는 하나 이상의 실시예에 따른 데이터 판독 프로세스를 예시한다. 하나 이상의 실시예에서, 적어도 판독 요청(예컨대, 판독 요청(502))에 응답하여, 스토리지 가상화 엔진(132)은 이미지 데이터 볼륨(222)에 저장된 특정 시점의 이미지와 연관된 맵을 초기화하여 "판독 전용" 대신에 "권한 없음(no permission)" 상태를 표시하도록 구성될 수 있다. 따라서, 하나 이상의 실시예에서, 판독 요청(502)은 전술한 "권한 없음" 상태로 인해 실패할 수 있다. 하나 이상의 실시예에서, 판독 요청(502)은 베이스 데이터 볼륨(224)으로부터의 판독(예컨대, 판독(504)) 또는 이미지 데이터 볼륨(222)의 캐시로 최근 기록된 데이터를 판독하는 것에 관련되는 것일 수 있다. 하나 이상의 실시예에서, 판독 요청이 실패하면, 스토리지 가상화 엔진(132)은 데이터의 적절한 부분을, 가상 볼륨(202)의 활성 영역(212) 또는 비활성 영역(214)에 전술한 부분을 매핑하는 것과 상관없이, 베이스 데이터 볼륨(224) 또는 이미지 데이터 볼륨(222)으로부터 카피하는 것을 가능하게 하도록 구성될 수 있다.
하나 이상의 실시예에서, 데이터의 적절한 부분이 카피된 베이스 데이터 볼륨(224) 또는 이미지 데이터 볼륨(222)은 그래서 미사용(unused)으로 표시될 수 있다. 따라서, 하나 이상의 실시예에서, 만일 데이터의 적절한 부분이 베이스 데이터 볼륨(224)으로부터 카피되면, 데이터의 적절한 부분은 베이스 데이터 볼륨(224)으로부터 제 1 유형의 스토리지(204)의 캐시 위치로 페치될 수 있다. 하나 이상의 실시예에서, 만일 데이터의 적절한 부분이 이미지 데이터 볼륨(222)으로부터 카피되면, 데이터의 적절한 부분은 이미지 데이터 볼륨(222)으로부터 제 1 유형의 스토리지(204)의 적절한 캐시 위치로 페치될 수 있다. 하나 이상의 실시예에서, 특정 시점의 이미지는 스토리지 가상화 엔진(132)을 통해 생성/데이터 최근 액세스의 순서로 이미지 데이터 볼륨(222)의 상부에서 하부로 배열될 수 있다. 가장 최근에 액세스된 데이터는 이미지 데이터 볼륨(222)의 상부 위치에 대응하고 최소 최근 액세스된 데이터는 이미지 데이터 볼륨(222)의 하부 위치에 대응한다.
따라서, 하나 이상의 실시예에서, 캐싱에 할당된 위치는 판독 캐시로서 사용될 수 있다. 하나 이상의 실시예에서, 판독될 데이터의 위치(예컨대, 베이스 데이터 볼륨(224), 이미지 데이터 볼륨(222)의 하위 부분)와 상관없이, 데이터는 이미지 데이터 볼륨(222)의 상부로 가져올 수 있어 그 내부에서 판독될 수 있다. 따라서, 하나 이상의 실시예에서, 스토리지 풀에서 최근에 판독된 영역(예컨대, 데이터의 일부)은 제 2 유형의 스토리지(206)와 비교하여 더 높은 성능을 가질 수 있는, 제 1 유형의 스토리지(204)의 성능으로 액세스될 수 있다. 하나 이상의 실시예에서, 동일한 영역에 대한 반복되는 액세스는 판독 캐시로 인해 성능을 더욱 향상시킬 수 있다. 하나 이상의 실시예에서, 제 1 유형의 스토리지(204)에서 캐시된 최근 기록된 데이터 또는 제 2 유형의 스토리지(206)로부터의 데이터의 일부는 판독 동작의 성공적인 완료 이후에 그 내부의 원래 위치로 제공될 수 있다.
따라서, 하나 이상의 실시예에서, 스토리지 풀에서 최근에 액세스된 영역은 그 내부의 위치와 상관없이, 제 1 유형의 스토리지(204)에 매핑될 수 있다. 하나 이상의 실시예에서, 특정 시점의 이미지가 자주(예컨대, 주기적으로) 생성될 때, 이미지 데이터 볼륨(222)의 하부 위치는 최소 최근 사용 데이터의 특정 시점 이미지(들)를 보유할 수 있으며 이미지 데이터 볼륨(222)의 상부 위치는 가장 최근에 사용된 데이터의 특정 시점 이미지(들)를 보유할 수 있다. 따라서, 하나 이상의 실시예에서, 하부의 특정 시점의 이미지(들)와 연관된 삭제(또는, 재동기화)는 이미지 데이터 볼륨(222)으로부터 최소 최근 데이터를 폐기할 수 있다. 하나 이상의 실시예에서, 이미지 데이터 볼륨(222)에서 폐기된 특정 시점의 이미지(들)와 연관된 데이터는 베이스 데이터 볼륨(224)에서 이와 대응하는 원래의 데이터와 재동기화될 수 있다.
하나 이상의 실시예에서, 최소 최근 특정 시점의 이미지(들)는 이미지 데이터 볼륨(222)에서 삭제되는 대신에 베이스 데이터 볼륨(224)으로 이동될 수 있다. 도 6은 하나 이상의 실시예에 따른, 이미지 데이터 볼륨(222)과 연관된 최소 최근 사용(Least Recently Used: LRU) 캐시를 구현하는데 수반되는 동작을 상세히 설명하는 흐름도를 도시한다. 하나 이상의 실시예에서, 동작(602)은 이미지 데이터 볼륨(222)에서 데이터의 특정 시점 이미지를 자주(예컨대, 주기적으로) 생성하는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 동작(604)은 이미지 데이터 볼륨(222)과 연관된 캐시 메모리가 임계값을 초과하는지에 대해 체크하는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 초과한다면, 동작(606)은 하부의 특정 시점 이미지(들)를 베이스 데이터 볼륨(224)의 자유 공간으로 재동기화/이동하는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 초과하지 않는다면, 제어는 동작(602)으로 통과할 수 있다.
따라서, 하나 이상의 실시예에서, 두 스토리지 풀의 볼륨은 (예컨대, 호스트 디바이스(예컨대, 호스트 디바이스(1021-N))에서 사용자를 통해) 고속 스토리지 용량(예컨대, 제 1 유형의 스토리지(204))이 캐시 목적으로 사용될 수 있고 저속 스토리지 용량(예컨대, 제 2 유형의 스토리지(206))이 데이터의 대부분을 저장하는데 사용될 수 있도록 할당될 수 있다. 하나 이상의 실시예에서, 전술한 기술을 이용하는 스토리지 시스템(100)에서 판독 요청과 기록 요청과 연관된 지연이 감소할 수 있다. 하나 이상의 실시예에서, 가상 볼륨(202)은 특정 스토리지 공간 상에서 스토리지 가상화 엔진(132)을 통해 규정될 수 있으며, 특정 시점의 이미지는 더 나은 성능을 갖는 상이한 스토리지 공간 상에 저장된다. 따라서, 하나 이상의 실시예에서, 특정 시점의 이미지와 연관된 스토리지는 데이터의 나머지에 대한 캐시로 사용될 수 있다. 하나 이상의 실시예에서, 스토리지 가상화 엔진(132)은 전술한 캐시 내부 및 외부에서의 데이터의 전달을 관리하여 성능을 개선할 수 있다.
도 7은 하나 이상의 실시예에 따른, 스토리지 시스템(100)에서 기록 요청 및/또는 판독 요청에 대한 응답과 연관된 지연을 감소시키는 방법에 수반되는 동작을 상세히 설명하는 프로세스 흐름도를 도시한다. 하나 이상의 실시예에서, 동작(702)은 스토리지 가상화 엔진(132)을 통해 가상 볼륨(202)을 제 1 유형의 스토리지(204)에 매핑하도록 구성된 활성 영역(212) 및 제 2 유형의 스토리지(206)에 매핑하도록 구성된 비활성 영역(214)으로 세그먼트화하는 단계를 포함한다. 하나 이상의 실시예에서, 제 2 유형의 스토리지(206)는 호스트 디바이스와 연관된 데이터를 포함하도록 구성될 수 있고 제 1 유형의 스토리지(204)는 호스트 디바이스와 연관된 데이터에 대응하는 특정 시점의 이미지를 포함하도록 구성될 수 있다. 하나 이상의 실시예에서, 제 1 유형의 스토리지(204)는 제 2 유형의 스토리지(206) 보다 더 높은 성능을 제공할 수 있고, 스토리지 가상화 엔진(132)은 가상 볼륨(202)을 제 1 유형의 스토리지(204) 및 제 2 유형의 스토리지(206)의 스토리지 위치에 매핑하도록 구성될 수 있다.
하나 이상의 실시예에서, 동작(704)은 호스트 디바이스를 통해 기록 동작 및/또는 판독 동작 동안 대응하는 기록 요청 및/또는 판독 요청에 응답하여 제 1 유형의 스토리지(204)의 공간의 일부를 캐시 메모리로서 작용하도록 할당하는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 동작(706)은 제 1 유형의 스토리지(204)를 통해 대응하는 기록 동작 및/또는 판독 동작을 수행함으로써 기록 요청 및/또는 판독 요청에 대한 응답과 연관된 지연을 감소시키는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 기록 동작은 제 1 유형의 스토리지(204)에서 제 2 유형의 스토리지(206)에 기록될 데이터를 캐시하는 단계를 포함하고, 판독 동작은 제 1 유형의 스토리지(204)에서 캐시된 최근에 기록된 데이터 또는 제 2 유형의 스토리지(206)로부터의 데이터의 일부를 제 1 유형의 스토리지(204)의 적절한 캐시 위치로 페치하여 그로부터 판독되게 하는 단계를 포함한다.
도 8은 하나 이상의 실시예에 따른, 스토리지 시스템(100)에서 판독 동작 및/또는 기록 동작을 수행하는데 수반되는 동작을 상세히 설명하는 프로세스 흐름도를 도시한다. 하나 이상의 실시예에서, 동작(802)은 제 1 유형의 스토리지(204)에서 호스트 디바이스와 연관된 데이터에 대응하는 특정 시점의 이미지를 저장하는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 동작(804)은 제 2 유형의 스토리지(206)에서 호스트 디바이스와 연관된 데이터를 저장하는 것을 포함할 수 있다. 하나 이상의 실시예에서, 제 2 유형의 스토리지(206)는 제 1 유형의 스토리지(204) 보다 낮은 성능을 제공할 수 있다.
하나 이상의 실시예에서, 동작(806)은 특정 시점 이미지가 차지하는 메모리가 임계값을 초과할 때 호스트 디바이스와 연관된 최소 최근 액세스된 데이터에 대응하는 하나 이상의 특정 시점 이미지(들)를 제 2 유형의 스토리지(206)에 재동기화 또는 이동하는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 동작(808)은 스토리지 가상화 엔진(132)을 통해 가상 볼륨(202)을 제 1 유형의 스토리지(204)에 매핑하도록 구성된 활성 영역(212) 및 제 2 유형의 스토리지(206)에 매핑하도록 구성된 비활성 영역(214)으로 세그먼트화하는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 스토리지 가상화 엔진(132)은 가상 볼륨(202)을 제 1 유형의 스토리지(204) 및 제 2 유형의 스토리지(206)의 스토리지 위치에 매핑하도록 구성될 수 있다.
하나 이상의 실시예에서, 동작(810)은 호스트 디바이스를 통해 기록 동작 및/또는 판독 동작 동안 대응하는 기록 요청 및/또는 판독 요청에 응답하여 제 1 유형의 스토리지(204)의 공간의 일부를 캐시 메모리로서 작용하도록 할당하는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 그 다음에 동작(812)은 제 1 유형의 스토리지(204)를 통해 기록 동작 및/또는 판독 동작을 수행하는 단계를 포함할 수 있다. 하나 이상의 실시예에서, 기록 동작은 제 1 유형의 스토리지(204)에서 제 2 유형의 스토리지(206)에 기록될 데이터를 캐시하는 단계를 포함하고, 판독 동작은 제 1 유형의 스토리지(204)에서 캐시된 최근에 기록된 데이터 또는 제 2 유형의 스토리지(206)로부터의 데이터의 일부를 제 1 유형의 스토리지(204)의 적절한 캐시 위치로 페치하여 그로부터 판독되게 하는 단계를 포함한다.
본 발명이 특정한 예시적인 실시예를 참조하여 설명되었지만, 다양한 실시예의 더 넓은 정신 및 범주에서 벗어나지 않고 이들 실시예에 대해 많은 변형 및 변경이 이루어질 있음이 자명할 것이다. 또한, 예를 들어, 본 명세서에서 기술된 각종 디바이스 및 모듈들은 하드웨어 회로(예컨대, CMOS 기반의 로직 회로), 펌웨어, 소프트웨어 또는 하드웨어, 펌웨어, 및 소프트웨어의 어떤 조합(예컨대, 머신 판독가능한 매체로 구현됨)을 이용하여 가능하게 되고 동작될 수 있다.
또한, 본 명세서에서 기술된 다양한 동작, 프로세스, 및 방법은 데이터 처리 시스템(예컨대, 컴퓨터 디바이스)과 호환되는 머신 판독가능 매체 및/또는 머신 액세스가능 매체에서 구현될 수 있으며, (예컨대, 다양한 동작을 성취하기 위한 수단을 포함하여) 어떠한 순서로도 수행될 수 있음이 인식될 것이다. 따라서, 본 명세서 및 도면은 제한적인 의미라기보다는 설명적인 의미로 간주되어야 한다.
102: 호스트 디바이스 104: 직접 부착 디스크
106: 로컬 스토리지 어레이 108: 원격 iSCSI 볼륨
110: 원격 객체 스토리지 120: 네트워크
132: 스토리지 가상화 엔진 202: 가상 볼륨
204: 제 1 유형의 스토리지 206: 제 2 유형의 스토리지
212: 활성 영역 214: 비활성 영역
222: 이미지 데이터 볼륨 224: 베이스 데이터 볼륨

Claims (24)

  1. 스토리지 가상화 엔진을 통해 가상 볼륨을 제 1 유형의 스토리지에 매핑하도록 구성된 활성 영역 및 제 2 유형의 스토리지에 매핑하도록 구성된 비활성 영역으로 세그먼트화하는 단계 - 상기 제 2 유형의 스토리지는 호스트 디바이스와 연관된 데이터를 포함하도록 구성되고, 상기 제 1 유형의 스토리지는 상기 호스트 디바이스와 연관된 상기 데이터에 대응하는 특정 시점(point-in-time) 이미지를 포함하도록 구성되며, 상기 제 1 유형의 스토리지는 상기 제 2 유형의 스토리지 보다 더 높은 성능을 가지며, 상기 스토리지 가상화 엔진은 상기 가상 볼륨을 상기 제 1 유형의 스토리지의 스토리지 위치 및 상기 제 2 유형의 스토리지의 스토리지 위치에 매핑됨 - 와;
    상기 호스트 디바이스를 통한 기록 요청 및 판독 요청 중 대응하는 적어도 하나에 응답하여 기록 동작 및 판독 동작 중 적어도 하나 동안 상기 제 1 유형의 스토리지의 공간의 일부를 캐시 메모리로서 기능하도록 할당하는 단계와;
    상기 제 1 유형의 스토리지를 통해 상기 기록 동작 및 상기 판독 동작 중 상기 대응하는 적어도 하나를 수행함으로써 상기 기록 요청 및 상기 판독 요청 중 상기 적어도 하나에 대한 응답과 연관된 지연(latency)을 감소시키는 단계 - 상기 기록 동작은 상기 제 1 유형의 스토리지에서 상기 제 2 유형의 스토리지에 기록될 데이터를 캐시하는 단계를 포함하고, 상기 판독 동작은 상기 제 1 유형의 스토리지에서 캐시된 최근에 기록된 데이터 및 상기 제 2 유형의 스토리지로부터의 상기 데이터 중 하나의 일부를 상기 제 1 유형의 스토리지의 적절한 캐시 위치로 페치하여 그로부터 판독되게 하는 단계를 포함함 -
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 스토리지 가상화 엔진을 통해, 상기 판독 동작 이전에 상기 제 1 유형의 스토리지의 상기 특정 시점 이미지와 연관된 판독 전용 맵을 초기화하여 상기 판독 요청이 실패하게 "권한 없음(no permission)" 상태를 표시하는 단계를 더 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 특정 시점 이미지를 최근 데이터 액세스의 순서대로 상기 제 1 유형의 스토리지에 배열하는 단계를 더 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 제 1 유형의 스토리지에서 캐시된 상기 최근에 기록된 데이터 및 상기 제 2 유형의 스토리지로부터의 상기 데이터 중 상기 하나의 일부를 상기 판독 동작의 성공적인 완료 이후에 그 내부의 원래 위치로 제공하는 단계를 더 포함하는
    방법.
  5. 제 1 항에 있어서,
    상기 제 1 유형의 스토리지에서 캐시된 상기 데이터를 상기 호스트 디바이스의 유휴(idle) 사이클 동안 상기 제 2 유형의 스토리지에 기록하는 단계를 더 포함하는
    방법.
  6. 제 1 항에 있어서,
    상기 제 1 유형의 스토리지는 상기 호스트 디바이스와 연관된 로컬 스토리지이고, 상기 제 2 유형의 스토리지는 상기 호스트 디바이스와 연관된 원격 스토리지인
    방법.
  7. 제 3 항에 있어서,
    상기 제 1 유형의 스토리지에서 상기 스토리지 가상화 엔진을 통해 상기 호스트 디바이스와 연관된 상기 데이터에 대응하는 상기 특정 시점 이미지를 주기적으로 생성하는 단계와,
    상기 특정 시점 이미지가 차지하는 메모리가 임계값을 초과할 때 상기 호스트 디바이스와 연관된 최소 최근 액세스된(least recently accessed) 데이터에 대응하는 적어도 하나의 특정 시점 이미지를 상기 제 2 유형의 스토리지에 재동기화 및 이동 중 하나를 수행하는 단계를 더 포함하는
    방법.
  8. 제 6 항에 있어서,
    상기 제 1 유형의 스토리지는 직접 부착 디스크 및 로컬 스토리지 어레이 중 하나이고, 상기 제 2 유형의 스토리지는 직접 부착 디스크, 로컬 스토리지 어레이, 원격 인터넷 소형 컴퓨터 시스템 인터페이스(iSCSI) 볼륨 및 원격 객체 스토리지 중 하나인
    방법.
  9. 제 6 항에 있어서,
    상기 호스트 디바이스는 컴퓨터 네트워크를 통해 상기 제 2 유형의 스토리지에 결합되는
    방법.
  10. 방법으로서,
    제 1 유형의 스토리지에서 호스트 디바이스와 연관된 데이터에 대응하는 특정 시점 이미지를 저장하는 단계와,
    제 2 유형의 스토리지에서 상기 호스트 디바이스와 연관된 상기 데이터를 저장하는 단계 - 상기 제 2 유형의 스토리지는 상기 제 1 유형의 스토리지 보다 더 낮은 성능을 가짐 - 와,
    특정 시점(point-in-time) 이미지가 차지하는 메모리가 임계값을 초과할 때 상기 호스트 디바이스와 연관된 최소 최근 액세스된(least recently accessed) 데이터에 대응하는 적어도 하나의 상기 특정 시점 이미지를 상기 제 2 유형의 스토리지에 재동기화 및 이동 중 하나를 수행하는 단계와,
    스토리지 가상화 엔진을 통해 가상 볼륨을 상기 제 1 유형의 스토리지에 매핑하도록 구성된 활성 영역 및 상기 제 2 유형의 스토리지에 매핑하도록 구성된 비활성 영역으로 세그먼트화하는 단계 - 상기 스토리지 가상화 엔진은 상기 가상 볼륨을 상기 제 1 유형의 스토리지의 스토리지 위치 및 상기 제 2 유형의 스토리지의 스토리지 위치에 매핑하도록 구성됨 - 와,
    상기 호스트 디바이스를 통한 기록 요청 및 판독 요청 중 대응하는 적어도 하나에 응답하여 기록 동작 및 판독 동작 중 적어도 하나 동안 상기 제 1 유형의 스토리지의 공간의 일부를 캐시 메모리로서 기능하도록 할당하는 단계와,
    상기 제 1 유형의 스토리지를 통해 상기 기록 동작 및 상기 판독 동작 중 상기 적어도 하나를 수행하는 단계 - 상기 기록 동작은 상기 제 1 유형의 스토리지에서 상기 제 2 유형의 스토리지에 기록될 데이터를 캐시하는 단계를 포함하고, 상기 판독 동작은 상기 제 1 유형의 스토리지에서 캐시된 최근에 기록된 데이터 및 상기 제 2 유형의 스토리지로부터의 상기 데이터 중 하나의 일부를 상기 제 1 유형의 스토리지의 적절한 캐시 위치로 페치하여 그로부터 판독되게 하는 단계를 포함함 -
    를 포함하는 방법.
  11. 제 10 항에 있어서,
    상기 스토리지 가상화 엔진을 통해, 상기 판독 동작 이전에 상기 제 1 유형의 스토리지의 상기 특정 시점 이미지와 연관된 판독 전용 맵을 초기화하여 상기 판독 요청이 실패하게 "권한 없음(no permission)" 상태를 표시하는 단계를 더 포함하는
    방법.
  12. 제 10 항에 있어서,
    상기 특정 시점 이미지를 최근 데이터 액세스의 순서대로 상기 제 1 유형의 스토리지에 배열하는 단계를 더 포함하는
    방법.
  13. 제 10 항에 있어서,
    상기 제 1 유형의 스토리지에서 캐시된 상기 최근에 기록된 데이터 및 상기 제 2 유형의 스토리지로부터의 상기 데이터 중 하나의 상기 일부를 상기 판독 동작의 성공적인 완료 이후에 그 내부의 원래 위치로 제공하는 단계를 더 포함하는
    방법.
  14. 제 10 항에 있어서,
    상기 제 1 유형의 스토리지에서 상기 캐시된 데이터를 상기 호스트 디바이스의 유휴(idle) 사이클 동안 상기 제 2 유형의 스토리지에 기록하는 단계를 더 포함하는
    방법.
  15. 제 10 항에 있어서,
    상기 제 1 유형의 스토리지는 상기 호스트 디바이스와 연관된 로컬 스토리지이고, 상기 제 2 유형의 스토리지는 상기 호스트 디바이스와 연관된 원격 스토리지인
    방법.
  16. 스토리지 시스템으로서,
    기록 요청 및 판독 요청 중 적어도 하나를 생성하도록 구성된 호스트 디바이스와;
    상기 호스트 디바이스와 연관된 제 1 유형의 스토리지와;
    상기 호스트 디바이스와 연관되며, 상기 제 1 유형의 스토리지 보다 더 낮은 성능을 갖는 제 2 유형의 스토리지와;
    상기 스토리지 시스템의 스토리지 관리와 연관되며, 상기 제 1 유형의 스토리지 및 상기 제 2 유형의 스토리지에 대해 상기 제 1 유형의 스토리지에 매핑하도록 구성된 활성 영역 및 상기 제 2 유형의 스토리지에 매핑하도록 구성된 비활성 영역으로의 가상 볼륨 세그먼트화를 수행하도록 구성된 스토리지 가상화 엔진 - 상기 제 2 유형의 스토리지는 상기 호스트 디바이스와 연관된 데이터를 포함하도록 구성되고 상기 제 1 유형의 스토리지는 상기 호스트 디바이스와 연관된 상기 데이터에 대응하는 특정 시점(point-in-time) 이미지를 포함하도록 구성됨 - 을 포함하며,
    상기 호스트 디바이스에서 사용자는 상기 호스트 디바이스를 통해 기록 동작 및 판독 동작 중 적어도 하나 동안 상기 기록 요청 및 상기 판독 요청 중 대응하는 적어도 하나에 응답하여 상기 제 1 유형의 스토리지의 공간의 일부를 캐시 메모리로서 기능하게 할당하도록 구성되고,
    상기 스토리지 가상화 엔진은 상기 제 1 유형의 스토리지를 통해 상기 기록 동작 및 상기 판독 동작 중 상기 적어도 하나의 수행을 가능하게 하여 상기 기록 요청 및 상기 판독 요청 중 상기 대응하는 적어도 하나에 대한 응답과 연관된 지연(latency)을 감소시키도록 구성되고,
    상기 기록 동작 동안, 상기 제 2 유형의 스토리지에 기록될 데이터는 상기 제 1 유형의 스토리지에서 캐시되고, 그리고
    상기 판독 동작 동안, 상기 제 1 유형의 스토리지에서 캐시된 최근에 기록된 데이터 및 상기 제 2 유형의 스토리지로부터의 상기 데이터 중 하나의 일부는 상기 제 1 유형의 스토리지의 적절한 캐시 위치로 페치되어 그로부터 판독되게 하는
    스토리지 시스템.
  17. 제 16 항에 있어서,
    상기 스토리지 가상화 엔진은 상기 판독 동작 이전에 상기 제 1 유형의 스토리지의 상기 특정 시점 이미지와 연관된 판독 전용 맵을 초기화하여 상기 판독 요청이 실패하게 "권한 없음" 상태를 표시하도록 또한 구성된
    스토리지 시스템.
  18. 제 16 항에 있어서,
    상기 스토리지 가상화 엔진은 상기 특정 시점 이미지를 최근 데이터 액세스의 순서대로 제 1 유형의 스토리지에 배열하도록 또한 구성된
    스토리지 시스템.
  19. 제 16 항에 있어서,
    상기 제 1 유형의 스토리지에서 캐시된 상기 최근에 기록된 데이터 및 상기 제 2 유형의 스토리지로부터의 상기 데이터 중 하나의 상기 일부는 상기 판독 동작의 성공적인 완료 이후에 그 내부의 원래 위치로 제공되는
    스토리지 시스템.
  20. 제 16 항에 있어서,
    상기 제 1 유형의 스토리지에서 상기 캐시된 데이터는 상기 호스트 디바이스의 유휴(idle) 사이클 동안 상기 제 2 유형의 스토리지에 기록되는
    스토리지 시스템.
  21. 제 16 항에 있어서,
    상기 제 1 유형의 스토리지는 상기 호스트 디바이스와 연관된 로컬 스토리지이고 상기 제 2 유형의 스토리지는 상기 호스트 디바이스와 연관된 원격 스토리지인
    스토리지 시스템.
  22. 제 18 항에 있어서,
    상기 스토리지 가상화 엔진은,
    상기 제 1 유형의 스토리지에서 상기 호스트 디바이스와 연관된 상기 데이터에 대응하는 상기 특정 시점 이미지를 주기적으로 생성하고, 그리고
    상기 특정 시점 이미지가 차지하는 메모리가 임계값을 초과할 때 상기 호스트 디바이스와 연관된 최소 최근 액세스된 데이터에 대응하는 적어도 하나의 특정 시점 이미지를 상기 제 2 유형의 스토리지에 재동기화 및 이동 중 하나를 수행하도록 또한 구성된
    스토리지 시스템.
  23. 제 21 항에 있어서,
    상기 제 1 유형의 스토리지는 직접 부착 디스크 및 로컬 스토리지 어레이 중 하나이고, 상기 제 2 유형의 스토리지는 직접 부착 디스크, 로컬 스토리지 어레이, 원격 iSCSI 볼륨 및 원격 객체 스토리지 중 하나인
    스토리지 시스템.
  24. 제 21 항에 있어서,
    상기 스토리지 시스템은 상기 제 2 유형의 스토리지를 상기 호스트 디바이스에 결합하도록 구성된 컴퓨터 네트워크를 더 포함하는
    스토리지 시스템.
KR1020110060744A 2010-11-08 2011-06-22 스토리지 시스템에서 요청에 대한 응답과 연관된 지연의 감소 KR20120050891A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/941,112 2010-11-08
US12/941,112 US8782335B2 (en) 2010-11-08 2010-11-08 Latency reduction associated with a response to a request in a storage system

Publications (1)

Publication Number Publication Date
KR20120050891A true KR20120050891A (ko) 2012-05-21

Family

ID=45062899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110060744A KR20120050891A (ko) 2010-11-08 2011-06-22 스토리지 시스템에서 요청에 대한 응답과 연관된 지연의 감소

Country Status (6)

Country Link
US (1) US8782335B2 (ko)
EP (1) EP2450784B1 (ko)
JP (1) JP5813375B2 (ko)
KR (1) KR20120050891A (ko)
CN (1) CN102467352B (ko)
TW (1) TWI488044B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102636910B1 (ko) * 2023-11-21 2024-02-15 주식회사 인텔렉투스 가상 머신을 이용한 엣지 디바이스 및 이를 이용한 데이터 처리 방법

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103392164B (zh) * 2011-05-31 2016-08-10 株式会社日立制作所 存储系统和存储控制方法
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US8601473B1 (en) * 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9652265B1 (en) 2011-08-10 2017-05-16 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
US9811531B2 (en) 2013-08-26 2017-11-07 Vmware, Inc. Scalable distributed storage architecture
US10747475B2 (en) 2013-08-26 2020-08-18 Vmware, Inc. Virtual disk blueprints for a virtualized storage area network, wherein virtual disk objects are created from local physical storage of host computers that are running multiple virtual machines
US11016820B2 (en) 2013-08-26 2021-05-25 Vmware, Inc. Load balancing of resources
US9887924B2 (en) 2013-08-26 2018-02-06 Vmware, Inc. Distributed policy-based provisioning and enforcement for quality of service
CN104516827B (zh) * 2013-09-27 2018-01-30 杭州信核数据科技股份有限公司 一种读缓存的方法及装置
JP2015166963A (ja) * 2014-03-04 2015-09-24 富士通株式会社 情報提供方法、装置及びプログラム
CN104503924B (zh) * 2014-12-16 2018-02-13 华为技术有限公司 一种分层存储系统中的区域分配方法及装置
KR102317787B1 (ko) 2015-02-11 2021-10-26 삼성전자주식회사 메시지 전송 플로우 관리 방법 및 이를 적용하는 스토리지 디바이스
US9747040B1 (en) * 2015-06-30 2017-08-29 EMC IP Holding Company LLC Method and system for machine learning for write command selection based on technology feedback
US10082963B2 (en) * 2016-04-18 2018-09-25 Super Micro Computer, Inc. Low capacity latency storage enclosure with expander
KR102546474B1 (ko) * 2016-04-25 2023-06-22 삼성전자주식회사 모바일 장치의 동작 방법 및 모바일 장치
CN107515723B (zh) * 2016-06-16 2020-04-24 伊姆西Ip控股有限责任公司 用于管理存储系统中的存储器的方法和系统
US12026062B2 (en) * 2021-01-04 2024-07-02 EMC IP Holding Company LLC Provider-agnostic management of backup data stored on a cloud-based object storage

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875478A (en) * 1996-12-03 1999-02-23 Emc Corporation Computer backup using a file system, network, disk, tape and remote archiving repository media system
JP3033736B2 (ja) * 1998-06-18 2000-04-17 長野日本電気ソフトウェア株式会社 リモートディスク装置アクセスシステム
US6748502B2 (en) * 2001-01-12 2004-06-08 Hitachi, Ltd. Virtual volume storage
US6868439B2 (en) * 2002-04-04 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection
US20060013222A1 (en) 2002-06-28 2006-01-19 Brocade Communications Systems, Inc. Apparatus and method for internet protocol data processing in a storage processing device
JP2004334463A (ja) * 2003-05-07 2004-11-25 Sony Corp 情報処理装置、リソース提供システム、および情報処理方法、並びにコンピュータ・プログラム
US8627489B2 (en) * 2003-10-31 2014-01-07 Adobe Systems Incorporated Distributed document version control
JP2006155202A (ja) * 2004-11-29 2006-06-15 Toshiba Corp 遠隔バックアップシステム及び方法
US8171246B2 (en) * 2008-05-31 2012-05-01 Lsi Corporation Ranking and prioritizing point in time snapshots
CN101325610B (zh) * 2008-07-30 2011-12-28 杭州华三通信技术有限公司 虚拟磁带库备份系统以及磁盘电源控制方法
CN102177496A (zh) * 2008-08-07 2011-09-07 康佩伦特科技公司 用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法
US8301852B2 (en) * 2008-11-13 2012-10-30 International Business Machines Corporation Virtual storage migration technique to minimize spinning disks
US8321645B2 (en) * 2009-04-29 2012-11-27 Netapp, Inc. Mechanisms for moving data in a hybrid aggregate

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102636910B1 (ko) * 2023-11-21 2024-02-15 주식회사 인텔렉투스 가상 머신을 이용한 엣지 디바이스 및 이를 이용한 데이터 처리 방법

Also Published As

Publication number Publication date
EP2450784A2 (en) 2012-05-09
CN102467352B (zh) 2016-04-13
EP2450784A3 (en) 2013-07-10
TWI488044B (zh) 2015-06-11
CN102467352A (zh) 2012-05-23
JP2012104097A (ja) 2012-05-31
US8782335B2 (en) 2014-07-15
JP5813375B2 (ja) 2015-11-17
EP2450784B1 (en) 2018-05-02
US20120117320A1 (en) 2012-05-10
TW201220060A (en) 2012-05-16

Similar Documents

Publication Publication Date Title
US8782335B2 (en) Latency reduction associated with a response to a request in a storage system
US10031703B1 (en) Extent-based tiering for virtual storage using full LUNs
US9141529B2 (en) Methods and apparatus for providing acceleration of virtual machines in virtual environments
US7886114B2 (en) Storage controller for cache slot management
US8639876B2 (en) Extent allocation in thinly provisioned storage environment
US8392670B2 (en) Performance management of access to flash memory in a storage device
JP6569477B2 (ja) ストレージ制御装置、および制御プログラム
US10372371B2 (en) Dynamic data relocation using cloud based ranks
US10462012B1 (en) Seamless data migration to the cloud
US9323682B1 (en) Non-intrusive automated storage tiering using information of front end storage activities
WO2015015550A1 (ja) 計算機システム及び制御方法
US8924675B1 (en) Selective migration of physical data
JP2010049502A (ja) ストレージサブシステム、及びこれを有するストレージシステム
US20130024618A1 (en) Log structure array
US20130346688A1 (en) Computer system and method of controlling i/o with respect to storage apparatus
US8799573B2 (en) Storage system and its logical unit management method
US8713257B2 (en) Method and system for shared high speed cache in SAS switches
US11513849B2 (en) Weighted resource cost matrix scheduler
US11315028B2 (en) Method and apparatus for increasing the accuracy of predicting future IO operations on a storage system
US20210224002A1 (en) Storage control apparatus and storage medium
CN109683815B (zh) 一种双控磁盘阵列分层存储方法
US10235053B1 (en) Method and system for using host driver for flexible allocation fast-sideways data movements
JP5597266B2 (ja) ストレージシステム
US11144445B1 (en) Use of compression domains that are more granular than storage allocation units
JP7495191B2 (ja) I/o性能を最適化するためのメモリ・コピーおよびメモリ・マッピング間の動的な切り替え

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid