KR101124480B1 - 스토리지 어레이에서의 미러링된 캐시 볼륨을 이용한 드라이브 오버헤드 저감 시스템 - Google Patents
스토리지 어레이에서의 미러링된 캐시 볼륨을 이용한 드라이브 오버헤드 저감 시스템 Download PDFInfo
- Publication number
- KR101124480B1 KR101124480B1 KR1020100029143A KR20100029143A KR101124480B1 KR 101124480 B1 KR101124480 B1 KR 101124480B1 KR 1020100029143 A KR1020100029143 A KR 1020100029143A KR 20100029143 A KR20100029143 A KR 20100029143A KR 101124480 B1 KR101124480 B1 KR 101124480B1
- Authority
- KR
- South Korea
- Prior art keywords
- write
- cache region
- read
- requests
- read cache
- Prior art date
Links
Images
Classifications
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2087—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
-
- 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/221—Static RAM
-
- 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/28—Using a specific disk cache architecture
- G06F2212/285—Redundant cache memory
- G06F2212/286—Mirrored cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
본 발명의 시스템은 호스트, 솔리드 스테이트 디바이스, 및 추상적 계층을 포함한다. 호스트는 복수의 입/출력(IO) 요구들을 발생시키도록 구성될 수 있다. 솔리드 스테이트 디바이스는 쓰기 캐시 영역 및 읽기 캐시 영역을 포함할 수 있다. 읽기 캐시 영역은 쓰기 캐시 영역의 미러일 수 있다. 추상적 계층은 (ⅰ)복수의 IO 요구들을 수신하고, (ⅱ)IO 요구들을 처리하고, (ⅲ)복수의 IO 요구들을 쓰기 캐시 영역 및 읽기 캐시 영역에 매핑하도록 구성될 수 있다.
Description
본 발명은 스토리지 어레이들에 관한 것으로, 특히 스토리지 어레이에서의 미러링된 캐시 볼륨을 이용한 드라이브 오버헤드 저감 방법 및/또는 장치에 관한 것이다.
종래의 스토리지 어레이들(또는 컨트롤러들)은 컨트롤러 캐시의 이용을 제한한다. 라이트 스루 캐시 방법(write through cache policy)에서, 입/출력(IO) 쓰기 요구는 특정 하드디스크 드라이브(HDD)의 응답 시간에 의존하여야 한다. 대량의 IO 요구 SAN(storage array network) 환경에서, HDD 응답 시간은 더욱더 지연된다. IO 리드-어헤드 캐시 방법(read-ahead cache policy)에서, 원치않는 데이터가 패치되어 그 결과 HDD 응답 시간에 해당하는 지연을 갖는 다이렉트 리드-투-HDD(direct read-to-HDD)로 이어진다. 원치않는 데이터 패치에 소모되는 시간이 낭비된다.
캐시용 백업 배터리가 없는 경우에 DRAM들에 저장된 쓰기 캐시들 및 읽기 캐시들은 라이트 스루 캐시 방법(write through cache policy)으로 HDD에의 쓰기에 의존한다. 라이트 스루 캐시 방법으로 HDD에의 쓰기는 HDD의 지연시간에 추가된다. 원치않는 데이터의 프리-패치 결과들이 쓰기 데이터를 얻는 시간 지연에 추가되기 때문에 리드-어헤드 캐시 방법은 HDD의 지연시간 저감에 도움이 되지 않는다.
본 발명은 스토리지 어레이에서의 미러링된 캐시 볼륨을 이용한 드라이브 오버헤드 저감 방법 및/또는 장치를 제공하는 것을 목적으로 한다.
본 발명의 시스템은 호스트, 솔리드 스테이트 디바이스, 및 추상적 계층을 포함한다. 호스트는 복수의 입/출력(IO) 요구들을 발생시키도록 구성될 수 있다. 솔리드 스테이트 디바이스는 쓰기 캐시 영역 및 읽기 캐시 영역을 포함할 수 있다. 읽기 캐시 영역은 쓰기 캐시 영역의 미러일 수 있다. 추상적 계층은 (ⅰ)복수의 IO 요구들을 수신하고, (ⅱ)IO 요구들을 처리하고, (ⅲ)복수의 IO 요구들을 쓰기 캐시 영역 및 읽기 캐시 영역에 매핑하도록 구성될 수 있다.
본 발명의 목적들, 특징들, 및 장점들은 (ⅰ)하드디스크 오버헤드를 저감시키고, (ⅱ)스토리지 어레이에 미러링된 캐시 볼륨을 구현하고, (ⅲ)라이트 스루 모드(write through mode)가 전형적인 하드디스크 드라이브(HDD) 대신에 솔리드 스테이트 드라이브(SSD)에 쓸 수 있도록 하고, (ⅳ)LUN들의 생성동안 미러링된 캐시 볼륨을 갖는 LUN들을 생성하고, (ⅴ)LUN들이 생성된 후에 미러링된 캐시 볼륨들을 생성하고, (ⅵ)모든 데이터가 미러링되어 HDD 및 미러링된 LUN에 동기적으로 쓰여질 때까지 현재 데이터를 비동기적으로 미러링하고, (ⅶ)HDD 지연을 회피하기 위해 (HDD 대신에) 읽기 IO 요구들을 위한 미러링된 캐시 볼륨을 이용하고, (ⅷ)사용자 선택가능 미러드 캐시 볼륨을 제공하고, (ⅸ)미러링된 캐시 볼륨을 이용한 읽기 캐시가 SSD(또는 플래시 드라이브)가 되도록 하고, (ⅹ)DRAM들과 분리된 SSD에 쓰기 캐시 및 읽기 캐시를 가지고, (ⅹⅰ)쓰기 캐시용 백업 배터리가 없는 경우에 라이트 스루 캐시 방법(write through cache policy)으로 HDD에 쓰고, (ⅹⅱ)SSD 쓰기 캐시에 쓰여질 수 있고, (ⅹⅲ)읽기 캐시 영역의 미러링된 캐시 볼륨을 갖는 LUN들에 의해 읽기 IO 요구들이 보다 빨리 서비스되게 할 수 있고, (ⅹⅳ)잘못된 예측들로 인해 프리패치 읽기 캐시 모드와 그 결과 얻어지는 원치않는 데이터를 없애고, 및/또는 (ⅹⅴ)처리 시간 및 HDD 지연 시간을 줄일 수 있는 방법 및/또는 장치의 제공을 포함한다.
본 발명의 목적들, 특징들, 및 장점들은 다음의 상세한 설명, 첨부한 청구범위, 및 도면으로부터 명백할 것이다.
도 1은 본 발명의 일실시예의 블록도이다.
도 2는 본 발명의 일실시예의 상세 블록도이다.
도 3은 본 발명의 다른 실시예의 블록도이다.
도 1은 본 발명의 일실시예의 블록도이다.
도 2는 본 발명의 일실시예의 상세 블록도이다.
도 3은 본 발명의 다른 실시예의 블록도이다.
도 1은 본 발명의 바람직한 실시예에 따른 시스템(100)의 블록도이다. 일반적으로 시스템(100)은 모듈(102), 모듈(104), 모듈(106), 모듈(108), 모듈(110), 모듈(112), 및 연결부(114)를 포함한다. 모듈(102)은 서버로 구현될 수 있다. 일예로, 모듈(102)은 호스트로 구현될 수 있다. 모듈(104)은 컨트롤러로 구현될 수 있다. 모듈(106)은 스토리지 어레이로 구현될 수 있다. 모듈(108)은 하드디스크 드라이브(HDD)로 구현될 수 있다. 일예로, HDD(108)는 복수의 물리적인 디스크들(예를 들면, P1,P2,P3)을 구현할 수 있다. 물리적인 디스크들의 개수는 특정 용도의 설계 기준을 충족시키기 위해 변할 수 있다. 일예로, HDD(108)는 스토리지 어레이(106)의 일부일 수 있다. 컨트롤러(104)는 모듈(110)을 포함할 수 있다. 모듈(110)은 입/출력(IO) 추상적 계층으로 구현될 수 있다. 모듈(106)은 모듈(112)을 포함할 수 있다. 모듈(112)은 솔리드 스테이트 디바이스로 구현될 수 있다. 연결부(114)는 네트워크 연결부, 예를 들어 파이버 채널 연결부 등의 네트워크 연결부일 수 있다. 시스템(100)은 스토리지 어레이(106)의 HDD(108) 액세스시의 지연시간으로 인한 오버헤드를 저감시킬 수 있다.
도 2는 시스템(100)의 상세 블록도이다. 일반적으로 모듈(112)은 쓰기 캐시 영역(116)과 읽기 캐시 영역(118)을 포함한다. 일예로, 쓰기 캐시 영역(116)과 읽기 캐시 영역(118)은 SSD(112)의 서로다른 위치에 배치(예를 들면, 매핑)될 수 있다. 쓰기 캐시 영역(116)은 일반적으로 복수의 LUN들(120a-120n)(예를 들면, LUN0, LUN1, LUN2 등)을 포함한다. 읽기 캐시 영역(118)은 일반적으로 LUN(122)(예를 들면, LUNO')을 포함한다. 일예로, LUN(122)은 LUN들(120a-120n)중 특정 하나(예를 들면, LUN(120a))의 미러링된 캐시 볼륨으로 구현될 수 있다. LUN들(120a-120n) 및 LUN(122)의 개수는 특정 용도의 설계 기준을 충족시키기 위해 (예를 들면, 2048개 또는 그 이상까지) 변할 수 있다(예를 들면, 증가 및/또는 감소될 수 있다). IO 요구들은 일반적으로 LUN들(120a-120n) 및 LUN(122)으로 전달되며, LUN들(120a-120n) 및 LUN(122)은 이러한 요구들을 스토리지 어레이(106)의 스토리지 디바이스들(예를 들면, 물리적인 디스크들 P1,P2, 또는 P3)로 옮긴다.
컨트롤러(104)(또는 펌웨어)는 IO 추상적 계층(110)으로 구성될 수 있다. 호스트(102)로부터 처리될 IO 요구는 IO 추상적 계층(110)으로 전달될 수 있다. IO 추상적 계층(110)은 솔리드 스테이트 디바이스(112)의 쓰기 캐시 영역(116) 및 읽기 캐시 영역(118)(예를 들면, LUN들(120a-120n) 및 LUN(122))으로 매핑시킬 수 있다. 쓰기 캐시 영역(116)은 SSD(112)에 매핑될 수 있다. 읽기 캐시 영역(118)은 SSD(112)의 다른 위치(또는 영역)에 매핑될 수 있다. 일예로, 읽기 캐시 영역(118)은 플래시 드라이브에 매핑될 수 있다. 읽기 캐시 영역(118)은 LUN들(120a-120n)중 특정 하나의 쓰기 캐시 영역(116)의 미러일 수 있다. 예를 들면, LUN(120a)(예를 들면, LUN0)에 대한 IO 쓰기 요구는 SSD(112)의 쓰기 캐시 영역(116)에 매핑될 수 있다. IO 쓰기 요구는 읽기 캐시 영역(118)에 동기적으로(또는 비동기적으로) 미러링될 수 있다.
IO 추상적 계층(110)은 IO 쓰기가 완료되면 신호(예를 들면, 양호 상태 신호)를 호스트(102)로 리턴시킬 수 있다. LUN(122)(예를 들면, LUNO')에 대한 IO 읽기 요구가 호스트(102)에서 IO 추상적 계층(110)으로 전달될 수 있다. IO 추상적 계층(110)은 LUN(122)에서 원하는 데이터를 검색하기 위해 미러링된 읽기 캐시 영역(118)을 읽을 수 있다. 원하는 데이터가 SSD(112)의 읽기 캐시 영역(118)에 저장되어 있으면 IO 추상적 계층(110)은 HDD(108)를 읽을 필요가 없다. 원하는 데이터가 SSD(112)의 읽기 캐시 영역(118)에 저장되어 있으면, HDD(108)의 읽기와 관련된 응답 시간의 지연을 회피할 수 있다. 일예로, IO 쓰기 요구들은 HDD(108)(예를 들면, 쓰기 캐시 영역(116))와 SSD(112)의 미러링된 읽기 캐시 영역(118)에 비동기적으로 쓰여질 수 있다.
IO 쓰기 요구는 호스트(또는 개시자)(102)에서 IO 추상적 계층(110)으로 전달될 수 있다. IO 추상적 계층(110)은 IO 요구를 SSD(112)(예를 들면, 쓰기 캐시 영역(116))에 쓸 수 있다. IO 추상적 계층(110)은 신호(예를 들면, "양호" 상태 신호)를 호스트(102)로 전달할 수 있다. 일예로, IO 추상적 계층(110)은 라이트 스루 캐시 방법(write through cache policy)으로 SSD(112)에 IO 요구를 쓰고 양호 상태 신호를 호스트(102)로 전달할 수 있다. IO 추상적 계층(110)은, 라이트 백 캐시 방법(write back cache policy)으로 IO 요구를 컨트롤러/어레이 DRAM에 쓰는 동안, 양호 상태 신호를 호스트(102)로 전달할 수 있다. IO 추상적 계층(110)은 SSD(112)의 쓰기 캐시 영역(116)(예를 들면, LUN(120a))에서 IO 읽기 요구를 처리하는 대신에 LUN(122)에서 IO 읽기 요구를 처리할 수 있다.
IO 읽기 요구는 호스트(102)로부터 전달될 수 있다. IO 읽기 요구는 IO 추상적 계층(110)으로 전달될 수 있다. IO 추상적 계층(110)은 이전 IO 요구들을 HDD(108)의 LUN들(120a-120n)(예를 들면, LUN0)에 비동기적으로 쓸 수 있다. IO 요구들은 읽기 캐시 영역(118)의 LUN(122)에 미러링될 수 있다. 일예로, LUN(122)은 LUN들(120a-120n)중 특정 하나(예를 들면, LUN0)의 미러링된 캐시 볼륨일 수 있다. LUN들(120a-120n) 및 LUN(122)은 IO 추상적 계층(110)에 의해 동기적으로(또는 비동기적으로) 쓰여질 수 있다. 읽기 캐시 영역(118)의 미러링된 LUN(122)이 LUN들(120a-120n)의 구성동안 생성될 수 있다. LUN들(120a-120n)의 구성동안 LUN(122)이 매핑될 수 있다. 일예로, 특정 설계 용도에 따라 사용자 선택을 기반으로 LUN(122)이 매핑될 수 있다.
LUN들(120a-120n)중 하나 이상(예를 들면, 120b-120n)은 미러링된 캐시 볼륨없이 구성될 수 있다. LUN들(120b-120n)은 (현재 LSI 스토리지 어레이들에서 제공되는) 리드 프리패치 캐시 방법(read pre-fetch cache policy)을 사용하도록 구성될 수 있다. IO 읽기 요구를 처리하기 위해, IO 추상적 계층(110)은 LUN(122)으로부터 미러링된 캐시 볼륨(예를 들면, 읽기 캐시 영역(118))을 읽을 수 있다. IO 읽기 요구 처리는 HDD(108)(예를 들면, 쓰기 캐시 영역(116))로부터의 IO 읽기 요구 처리보다 LUN(122)로부터의 IO 읽기 요구 처리가 빠를 수 있다. IO 읽기 요구는 호스트(102)로 리턴될 수 있다.
도 3은 시스템(100')의 블록도이다. 일반적으로 시스템(100')은 호스트(102), 컨트롤러(104), 모듈(106'), 및 HDD(108)를 포함한다. 컨트롤러(104)는 IO 추상적 계층(110)을 구현할 수 있다. 모듈(106')은 스토리지 어레이로 구현될 수 있다. 스토리지 어레이(106')는 일반적으로 모듈(112')과 모듈(130)을 포함한다. 모듈(112')은 솔리드 스테이트 디바이스(SSD)로 구현될 수 있다. SSD(112')는 일반적으로 쓰기 캐시 영역(116)을 포함한다. 쓰기 캐시 영역은 일반적으로 복수의 LUN들(120a-120n)을 포함한다. 모듈(130)은 플래시 드라이브로 구현될 수 있다. 플래시 드라이브(130)는 일반적으로 읽기 캐시 영역(118)을 포함한다. 읽기 캐시 영역은 LUN(122)을 포함할 수 있다. 일예로, 플래시 드라이브(130)는 복수의 LUN들(120a-120n)을 미러링하도록 구성된 복수의 LUN들을 포함할 수 있다.
제조비용은 솔리드 스테이트 드라이브(SSD)의 구현 또는 전체 미러링된 LUN을 저장하기 위한 플래시 드라이브의 구현과 관련될 수 있다. 소정의 LUN들을 위한 미러를 구현함으로써, 성능 대 비용 밸런스를 얻을 수 있다. 성능 개선은 일반적으로 SSD 구현의 추가 비용만큼 얻어진다.
본 발명이 특정 실시예를 참조하여 특별히 도시되고 설명되었지만, 본 발명의 범위를 일탈하지 않고 형태와 상세에 있어 다양한 변형물이 가능하다는 것을 이 기술분야의 당업자는 이해할 것이다.
본 발명은 계류중인 특허출원 제61/046,815호(2008.4.22), 제12/143,123호(2008.6.20), 제61/080,806호(2008.7.15), 제61/080,762호(2008.7.15), 제12/178,064호(2008.7.23), 제12/238,858호(2008.9.26), 제61/100,034호(2008.9.25), 제12/324,224호(2008.11.26), 제12/354,126호(2009.1.15), 및 제12/395,786호(2009.3.2)와 관련되어 있으며, 여기에 참조로서 포함되어 있다.
Claims (20)
- 입/출력(I/O) 쓰기 요구와 I/O 읽기 요구를 포함하는 복수의 입/출력(IO) 요구들을 발생시키도록 구성된 호스트;
(ⅰ) 솔리드 스테이트 디바이스 및 (ⅱ)복수의 하드 디스크 드라이브들(HDD)을 포함하는 드라이브 어레이로서, 상기 솔리드 스테이트 디바이스는 (a)쓰기 캐시 영역 및 (b)읽기 캐시 영역을 포함하고, (A)상기 드라이브 어레이는 상기 입/출력 요구들에 따라 데이터를 저장 및/또는 검색하고, (B)상기 읽기 캐시 영역은 상기 쓰기 캐시 영역의 일부의 데이터 미러이고, (C)상기 읽기 캐시 영역과 상기 쓰기 캐시 영역 사이의 상기 데이터 미러는 상기 읽기 캐시 영역을 액세스할 때 지연 오버헤드를 회피하기 위해 상기 쓰기 캐시 영역에 상기 데이터가 쓰여진 후에 동기화되는 드라이브 어레이; 및
(ⅰ)상기 복수의 IO 요구들을 수신하고, (ⅱ)상기 IO 요구들을 처리하고, (ⅲ)상기 복수의 IO 요구들을 상기 쓰기 캐시 영역 및 상기 읽기 캐시 영역에 매핑하도록 구성된 추상적 계층을 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제1항에 있어서,
상기 IO 쓰기 요구가 상기 쓰기 캐시 영역 및 상기 읽기 캐시 영역에 동기적으로 쓰여지는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제1항에 있어서,
상기 IO 읽기 요구가 상기 읽기 캐시 영역에서 처리되는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제1항에 있어서,
상기 추상적 계층은 컨트롤러상에서 실행되는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제1항에 있어서,
상기 솔리드 스테이트 디바이스는 스토리지 어레이상에 구현되는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제1항에 있어서,
상기 읽기 캐시 영역은 상기 쓰기 캐시 영역과 다른 위치에 매핑되는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제1항에 있어서,
상기 추상적 계층은 상기 IO 쓰기 요구가 완료되면 신호를 상기 호스트로 리턴시키는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제1항에 있어서,
상기 쓰기 캐시 영역 및 상기 읽기 캐시 영역은 각각 LUN을 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제1항에 있어서,
상기 IO 쓰기 요구가 상기 쓰기 캐시 영역 및 상기 읽기 캐시 영역에 비동기적으로 쓰여지는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - (A) 입/출력(I/O) 쓰기 요구와 I/O 읽기 요구를 포함하는 복수의 입/출력(IO) 요구들을 발생시키는 단계;
(B) 상기 복수의 IO 요구들을 수신하는 단계;
(C) 상기 복수의 IO 요구들을 처리하는 단계;
(D) 상기 복수의 IO 요구들을 쓰기 캐시 영역 및 읽기 캐시 영역에 매핑하는 단계; 및
(E) 상기 쓰기 캐시 영역의 후에 상기 읽기 캐시 영역을 미러링하는 단계를 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 방법. - 제10항에 있어서,
상기 단계(D)는 상기 IO 쓰기 요구를 상기 쓰기 캐시 영역 및 상기 읽기 캐시 영역에 동기적으로 쓰는 단계를 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 방법. - 제10항에 있어서,
상기 단계(C)는 상기 IO 읽기 요구를 상기 읽기 캐시 영역에서 처리하는 단계를 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 방법. - 제10항에 있어서,
상기 IO 쓰기 요구가 완료된 후에 신호를 호스트로 리턴시키는 단계를 더 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 방법. - 제10항에 있어서,
상기 읽기 캐시 영역 및 상기 쓰기 캐시 영역은 각각 LUN을 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 방법. - 제10항에 있어서,
상기 단계(D)는 상기 IO 쓰기 요구를 상기 쓰기 캐시 영역 및 상기 읽기 캐시 영역에 비동기적으로 쓰는 단계를 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 방법. - 제10항에 있어서,
상기 읽기 캐시 영역은 플래시 드라이브를 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 방법. - 제10항에 있어서,
상기 읽기 캐시 영역은 상기 쓰기 캐시 영역과 다른 위치에 매핑되는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 방법. - 입/출력(I/O) 쓰기 요구와 I/O 읽기 요구를 포함하는 복수의 입/출력(IO) 요구들을 발생시키도록 구성된 호스트;
쓰기 캐시 영역을 포함하는 솔리드 스테이트 디바이스;
상기 쓰기 캐시 영역의 미러인 읽기 캐시 영역을 포함하는 플래시 드라이브; 및
(ⅰ)상기 복수의 IO 요구들을 수신하고, (ⅱ)상기 IO 요구들을 처리하고, (ⅲ)상기 복수의 IO 요구들을 상기 쓰기 캐시 영역 및 상기 읽기 캐시 영역에 매핑하도록 구성된 추상적 계층을 포함하는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제18항에 있어서,
상기 IO 쓰기 요구는 상기 쓰기 캐시 영역 및 상기 읽기 캐시 영역에 동기적으로 쓰여지는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템. - 제18항에 있어서,
상기 IO 쓰기 요구는 상기 쓰기 캐시 영역 및 상기 읽기 캐시 영역에 비동기적으로 쓰여지는 것을 특징으로 하는 스토리지 어레이에서의 드라이브 오버헤드 저감 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/417,096 US8140762B2 (en) | 2008-04-22 | 2009-04-02 | System to reduce drive overhead using a mirrored cache volume in a storage array |
US12/417,096 | 2009-04-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100110271A KR20100110271A (ko) | 2010-10-12 |
KR101124480B1 true KR101124480B1 (ko) | 2012-03-16 |
Family
ID=45813138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100029143A KR101124480B1 (ko) | 2009-04-02 | 2010-03-31 | 스토리지 어레이에서의 미러링된 캐시 볼륨을 이용한 드라이브 오버헤드 저감 시스템 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2237157B1 (ko) |
JP (2) | JP5415333B2 (ko) |
KR (1) | KR101124480B1 (ko) |
CN (1) | CN101859234B (ko) |
TW (1) | TWI371686B (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296782B2 (en) | 2008-04-22 | 2012-10-23 | Lsi Corporation | System eliminating hardware duplication during application testing of an internal storage array across different operating systems |
TWI472920B (zh) * | 2011-09-01 | 2015-02-11 | A system and method for improving the read and write speed of a hybrid storage unit | |
EP2761481A4 (en) | 2011-09-30 | 2015-06-17 | Intel Corp | PRESENTATION OF DIRECT ACCESS STORAGE DEVICE IN LOGIC READER MODEL |
JP6056211B2 (ja) * | 2012-06-22 | 2017-01-11 | 富士通株式会社 | 情報管理装置、情報管理プログラム、及び情報管理方法 |
US9081686B2 (en) * | 2012-11-19 | 2015-07-14 | Vmware, Inc. | Coordinated hypervisor staging of I/O data for storage devices on external cache devices |
JP6036736B2 (ja) | 2014-03-31 | 2016-11-30 | 日本電気株式会社 | キャッシュ装置、ストレージ装置、キャッシュ制御方法、及びストレージ制御プログラム |
CN106557264B (zh) * | 2015-09-25 | 2019-11-08 | 伊姆西公司 | 针对固态硬盘的存储方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586291A (en) | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
US6446237B1 (en) | 1998-08-04 | 2002-09-03 | International Business Machines Corporation | Updating and reading data and parity blocks in a shared disk system |
US20040117438A1 (en) | 2000-11-02 | 2004-06-17 | John Considine | Switching system |
KR20060123573A (ko) * | 2004-02-04 | 2006-12-01 | 샌디스크 코포레이션 | 듀얼 매체 저장 장치 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06505584A (ja) | 1991-03-05 | 1994-06-23 | ザイテル コーポレーション | キャッシュメモリ |
JP3699797B2 (ja) | 1997-02-04 | 2005-09-28 | 沖電気工業株式会社 | ディスクアレイ装置 |
US6081875A (en) * | 1997-05-19 | 2000-06-27 | Emc Corporation | Apparatus and method for backup of a disk storage system |
US6321298B1 (en) * | 1999-01-25 | 2001-11-20 | International Business Machines Corporation | Full cache coherency across multiple raid controllers |
WO2003075166A1 (fr) * | 2002-03-06 | 2003-09-12 | Fujitsu Limited | Systeme de stockage et procede de transfert de donnees dans ledit systeme |
US7330931B2 (en) * | 2003-06-26 | 2008-02-12 | Copan Systems, Inc. | Method and system for accessing auxiliary data in power-efficient high-capacity scalable storage system |
JP4338075B2 (ja) * | 2003-07-22 | 2009-09-30 | 株式会社日立製作所 | 記憶装置システム |
JP4625675B2 (ja) | 2004-10-20 | 2011-02-02 | 株式会社日立製作所 | ストレージ装置のリソース割り当て方法及びストレージ装置 |
JP4819369B2 (ja) * | 2005-02-15 | 2011-11-24 | 株式会社日立製作所 | ストレージシステム |
JP5008845B2 (ja) * | 2005-09-01 | 2012-08-22 | 株式会社日立製作所 | ストレージシステムとストレージ装置及びその制御方法 |
JP4394670B2 (ja) * | 2006-09-28 | 2010-01-06 | 株式会社日立製作所 | ディスク制御装置及びストレージシステム |
-
2009
- 2009-12-21 TW TW098143847A patent/TWI371686B/zh not_active IP Right Cessation
-
2010
- 2010-03-26 JP JP2010071656A patent/JP5415333B2/ja not_active Expired - Fee Related
- 2010-03-31 EP EP10158683.2A patent/EP2237157B1/en not_active Not-in-force
- 2010-03-31 KR KR1020100029143A patent/KR101124480B1/ko not_active IP Right Cessation
- 2010-04-01 CN CN2010101468523A patent/CN101859234B/zh not_active Expired - Fee Related
-
2012
- 2012-10-12 JP JP2012226878A patent/JP2013047965A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586291A (en) | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
US6446237B1 (en) | 1998-08-04 | 2002-09-03 | International Business Machines Corporation | Updating and reading data and parity blocks in a shared disk system |
US20040117438A1 (en) | 2000-11-02 | 2004-06-17 | John Considine | Switching system |
KR20060123573A (ko) * | 2004-02-04 | 2006-12-01 | 샌디스크 코포레이션 | 듀얼 매체 저장 장치 |
Also Published As
Publication number | Publication date |
---|---|
JP2013047965A (ja) | 2013-03-07 |
CN101859234A (zh) | 2010-10-13 |
TWI371686B (en) | 2012-09-01 |
TW201037510A (en) | 2010-10-16 |
CN101859234B (zh) | 2013-09-11 |
EP2237157A1 (en) | 2010-10-06 |
JP2010244532A (ja) | 2010-10-28 |
JP5415333B2 (ja) | 2014-02-12 |
EP2237157B1 (en) | 2014-02-12 |
KR20100110271A (ko) | 2010-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8140762B2 (en) | System to reduce drive overhead using a mirrored cache volume in a storage array | |
KR101124480B1 (ko) | 스토리지 어레이에서의 미러링된 캐시 볼륨을 이용한 드라이브 오버헤드 저감 시스템 | |
US8775729B2 (en) | Prefetching data tracks and parity data to use for destaging updated tracks | |
US8762650B2 (en) | Prefetching tracks using multiple caches | |
US8745325B2 (en) | Using an attribute of a write request to determine where to cache data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device | |
US8677062B2 (en) | Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device | |
US6978325B2 (en) | Transferring data in virtual tape server, involves determining availability of small chain of data, if large chain is not available while transferring data to physical volumes in peak mode | |
US8935479B2 (en) | Adaptive cache promotions in a two level caching system | |
US8825944B2 (en) | Populating strides of tracks to demote from a first cache to a second cache | |
US20100100664A1 (en) | Storage system | |
US8949536B2 (en) | Prefetching source tracks for destaging updated tracks in a copy relationship | |
US6378038B1 (en) | Method and system for caching data using raid level selection | |
US8825952B2 (en) | Handling high priority requests in a sequential access storage device having a non-volatile storage cache | |
US20080147970A1 (en) | Data storage system having a global cache memory distributed among non-volatile memories within system disk drives | |
US8996789B2 (en) | Handling high priority requests in a sequential access storage device having a non-volatile storage cache | |
US11055001B2 (en) | Localized data block destaging | |
JP3999446B2 (ja) | ディスク装置及び同装置を複数備えた計算機システム |
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 | ||
LAPS | Lapse due to unpaid annual fee |