KR100637779B1 - Raid 기억 시스템의 메모리를 구성하는 장치 및 방법 - Google Patents

Raid 기억 시스템의 메모리를 구성하는 장치 및 방법 Download PDF

Info

Publication number
KR100637779B1
KR100637779B1 KR1020040026774A KR20040026774A KR100637779B1 KR 100637779 B1 KR100637779 B1 KR 100637779B1 KR 1020040026774 A KR1020040026774 A KR 1020040026774A KR 20040026774 A KR20040026774 A KR 20040026774A KR 100637779 B1 KR100637779 B1 KR 100637779B1
Authority
KR
South Korea
Prior art keywords
parameter
data
memory
storage
write operation
Prior art date
Application number
KR1020040026774A
Other languages
English (en)
Other versions
KR20040092424A (ko
Inventor
스케일스윌리엄제임스
랭킨호워드챨스
오루크니콜라스마이클
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20040092424A publication Critical patent/KR20040092424A/ko
Application granted granted Critical
Publication of KR100637779B1 publication Critical patent/KR100637779B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H17/00Fencing, e.g. fences, enclosures, corrals
    • E04H17/02Wire fencing, e.g. made of wire mesh
    • E04H17/06Parts for wire fences
    • E04H17/08Anchoring means therefor, e.g. specially-shaped parts entering the ground; Struts or the like
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H17/00Fencing, e.g. fences, enclosures, corrals
    • E04H17/02Wire fencing, e.g. made of wire mesh
    • E04H17/10Wire fencing, e.g. made of wire mesh characterised by the way of connecting wire to posts; Droppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Abstract

본 발명은 가상 RAID 제어기와 함께 동작하여 복수개의 I/O 동작의 성능 특성을 시험함으로써 최적의 I/O 구성을 결정할 수 있는 메모리를 구비한 장치에 관한 것이다.

Description

RAID 기억 시스템의 메모리를 구성하는 장치 및 방법 {CONFIGURING MEMORY FOR A RAID STORAGE SYSTEM}
도 1은 본 발명의 양호한 실시예에서 스토리지 영역 네트워크(SAN)의 구성을 나타내는 개략도.
도 2는 가상 기억 장치의 예시적인 구성을 나타내는 개략도.
도 3은 도 1의 기억 장치 어레이를 가로질러 도 2의 기억 블록들이 스트립된 상기 기억 장치 어레이의 예시적인 구성을 나타내는 개략도.
도 4는 가상 기억 장치에 대한 기입을 행할 때 기억 설비에 의해 개시되는 기입 동작의 성분들을 나타내는 개략도.
도 5는 도 2의 가상 기억 장치에 대한 스트라이프 정렬 기입 동작을 제공하도록 도 1의 기억 설비를 구성하는 방법을 나타내는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
102 : 스토리지 영역 네트워크(SAN)
104 : 호스트
106 : 스위치
108 : RAID 기억 시스템
20 : 가상 기억 장치
30, 32, 34 : 기억 장치
36 : 스트라이프
1084 : 기억 장치 어레이
본 발명은 RAID 기억 시스템의 메모리를 구성하는 것에 관한 것으로, 특히 가상 RAID 제어기 및 분리된 메모리를 구비한 RAID 기억 시스템의 메모리를 구성하는 것에 관한 것이다.
기억 시스템에 있어서, 독립 기억 장치의 어레이는 RAID(Redundant Array of Inexpensive Disks; 저가 디스크의 용장 어레이)라고 알려진 기술을 이용하여 단일 가상 기억 장치로서 동작하도록 구성될 수 있다. RAID 기억 시스템과 함께 동작하도록 구성된 컴퓨터 시스템은 마치 RAID 기억 시스템이 단일 기억 장치인 것처럼 RAID 기억 시스템에서 입력 및 출력(I/O) 동작(판독 및 기입 동작 등)을 수행할 수 있다. RAID 기억 시스템은 독립 기억 장치의 어레이 및 RAID 제어기를 포함한다. RAID 제어기는 독립 기억 장치 어레이의 가상 조망(virtualised view)을 제공하는데, 이것은 독립 기억 장치 어레이가 순차적인 기억 요소(storage element) 리스트를 가진 단일 가상 기억 장치로서 나타난다는 것을 의미한다. 기억 요소들은 통상적으로 기억의 블록들로 알려져 있고, 이 블록들에 기억된 데이터는 데이터 블록이라고 알려져 있다. I/O 동작은 가상 기억 장치 내의 하나 이상의 기억 블록들을 참 조하여 자격이 주어진다. 가상 기억 장치에서 I/O 동작이 수행될 때, RAID 제어기는 독립 기억 장치 어레이에 I/O 동작을 맵(map)한다. 기억 장치 어레이를 가상화(virtualise)하고 I/O 동작을 맵하기 위하여, RAID 제어기는 1988년 패터슨(Patterson) 등에 의한 논문 "A Case for Redundant Arrays of Inexpensive Disks(RAID)"에서 설명되어 있는 표준 RAID 기술을 이용할 수 있다. 이 기술들의 일부는 뒤에서 고려된다.
기억 장치 어레이의 가상 조망을 단일 가상 기억 장치로서 제공함에 있어서, 기억 장치 어레이를 가로질러 가상 기억 장치의 데이터 블록들을 분산시키는 것은 RAID 제어기의 기능이다. 이것을 달성하는 한가지 방법은 스트리핑(striping)이라고 알려진 기술을 사용하는 것이다. 스트리핑은 기억 장치를 통하여 둥근 리본 형태로 데이터 블록을 분산시키는 것을 포함한다. RAID 기억 시스템에서 데이터 블록들을 기억시킬 때, 스트립(strip)이라고 알려진 다수의 데이터 블록은 각각의 기억 장치에 기억된다. 스트립의 사이즈는 특수한 RAID 구현에 의해 결정될 수 있고 또는 구성할 수 있다. 제1 기억 장치에 기억된 제1 스트립 및 후속 기억 장치에 기억된 후속 스트립을 포함한 스트립의 행은 스트라이프(stripe)라고 알려져 있다. 스트라이프의 사이즈는 스트라이프를 구성하는 모든 스트립의 총 사이즈(total size)이다. 이 방법으로 데이터 블록들을 기억하기 위하여 다수의 독립 기억 장치를 사용하면 다수의 기억 장치들이 I/O 동작 중에 병렬로 동작할 수 있기 때문에 단일 기억 장치와 비교해서 고성능 I/O 동작을 제공한다.
디스크 기억 장치와 같은 물리적 기억 장치들은 신뢰성이 나쁘고, 신뢰성 있 는 기억 시스템을 제공하는 것이 RAID 제어기의 추가적인 기능이다. 신뢰성을 제공하기 위한 한가지 기술은 독립 기억 장치의 어레이에 데이터와 함께 체크 정보를 기억시키는 것을 수반한다. 체크 정보는 기억 장치 어레이에서 단일 기억 장치의 고장(failure)과 같이, 단일 지점의 고장(single point of failure)에 기인하여 판독 불능으로 되는 데이터의 재생성을 가능하게 하는 용장 정보이다. 판독 불능 데이터는 판독 가능 데이터와 용장 체크 정보의 조합으로부터 재생성된다. 체크 정보는 스트라이프 내의 단일 스트립을 점유하는 패리티 데이터로서 기록(record)되고, 스트라이프 내의 모든 데이터 스트립에 대하여 배타적 OR(XOR) 논리 연산기를 적용함으로써 계산된다. 예를 들어, 데이터 스트립 A, B 및 C를 포함하는 스트라이프는 'A XOR B XOR C'로서 계산된 패리티 스트립에 의해 추가로 보충된다. 기억 시스템에서 단일 지점 고장이 있는 경우에, 패리티 스트립은 액세스 불능 데이터 스트립을 재생성하기 위해 사용된다. 예를 들어, 데이터 스트립 A, B, C 및 패리티(PARITY)를 포함하는 스트라이프가 4개의 독립 기억 장치 W, X, Y 및 Z에 각각 기억되어 있고 기억 장치 X가 고장이면, 기억 장치 X에 기억된 스트립(B)은 액세스 불능으로 될 것이다. 스트립(B)은 나머지 데이터 스트립과 패리티 스트립으로부터 XOR 계산을 통하여 계산될 수 있다. 이러한 복구 계산은 A XOR C XOR PARITY = B이다.
고장이 있는 경우에 실행할 체크 정보에 대하여, 그것은 정확하고 유지될 필요가 있다. 그러므로, RAID 기억 시스템에서의 데이터에 대한 변화는 체크 정보의 적절한 변화에 의해 반영되어야 한다. 이것은 데이터에 대한 변화가 아래에 설명하 는 이유 때문에 ("소규모 기입"이라고 알려진) 전체 스트라이프의 사이즈보다 더 작은 데이터 유닛에 영향을 줄 때에 불편할 수 있다. RAID 제어기를 구비하고 스트리핑 기술을 이용하며 각각의 스트라이프가 데이터 스트립과 패리티 스트립을 포함하는 RAID 기억 시스템을 생각하자. 기억 시스템(가상 기억 장치)의 가상 조망(virtual view)에서의 단일 블록이 단일 데이터 스트립에 대응하도록 상기 RAID 기억 시스템이 구성되면, 가상 기억 장치에 대한 단일 블록의 기입 동작은 RAID 스트라이프의 단일 스트립의 기입 동작과 같이 RAID 제어기에 의해 구현된다. 스트라이프의 단일 스트립의 변화는 대응하는 패리티 스트립에 대한 적절한 변화에 의해 반영되어야 한다. 따라서, 스트라이프의 패리티 스트립은 재계산되어야 한다. 패리티 스트립을 재계산하기 위하여, 스트라이프에 덮어쓰기(overwrite)되는 데이터 스트립("구(old)" 데이터 스트립)은 기존의 패리티 데이터로부터 배제되어야 한다. 이것은 패리티 데이터와 구 데이터 스트립에 대한 XOR 동작을 수행함으로써 달성될 수 있다. 또한, 교체 데이터 스트립("신(new)" 데이터 스트립)은 수정된 패리티 스트립을 생성하기 위해 패리티 데이터에 포함되어야 한다. 이것은 패리티 데이터와 신 데이터 스트립에 대한 XOR 동작을 수행함으로써 달성될 수 있다. 계속해서, 수정된 패리티 스트립과 신 데이터 스트립은 스트라이프 내에 기입되어야 한다. 따라서, 교체 스트립을 기존의 스트라이프에 기입하기 위하여, 이하의 동작, 즉 (구 데이터 스트립과 패리티 스트립의) 2회의 판독 동작; 패리티 스트립의 수정; 및 (신 데이터 스트립과 수정된 패리티 스트립의) 2회의 기입 동작을 수행할 필요가 있다. 소규모 기입을 실행하기 위한 이 방법은 체크 정보의 일관성을 유지 하기 위해 필요한 추가의 판독 동작 및 기입 동작 때문에 RAID 기억 시스템의 성능 감소를 야기한다. 이것은 소규모 기입 동작의 판독-수정-기입 문제로서 알려져 있다.
위에서 언급한 소규모 기입 동작의 성능 관계 때문에, 기존의 체크 정보를 유지하는 필요성을 회피하기 위해 RAID 기억 시스템에 대한 기입을 행할 때 하나 이상의 완전한 스트라이프를 덮어쓰기하는 것이 바람직하다. 기입 동작에 의해 하나 이상의 완전한 스트라이프를 덮어쓰기하기 위해, RAID 기억 시스템에 기입될 데이터 유닛은 (패리티 스트립을 제외한) 스트라이프 사이즈의 배수인 적당한 사이즈를 가질 필요가 있다. 하나 이상의 완전한 스트라이프를 덮어쓰기하기 위해, 데이터 유닛은 RAID 스프라이프의 제1 스트립에 대응하는 RAID 기억 장치의 가상 조망의 블록에 기입될 필요가 또한 있다. RAID 스트라이프의 제1 스트립 외의 임의의 스트립에 대응하는 블록에 대한 기입 동작은 소규모 기입 동작인 스트라이프의 일부의 기입을 포함한다. 기입 동작이 RAID 스트라이프의 제1 스트립에 대응하는 것을 보장하는 것은 "스트라이프 정렬(stripe alignment)"이라고 알려져 있다. 따라서, 기입 동작에 의해 하나 이상의 RAID 스트라이프를 완전하게 덮어쓰기하는 것을 보장하기 위해, 주어진 RAID 기억 시스템에 대한 스트라이프 사이즈 및 정렬 기준이 정합되어야 한다. 이러한 기준을 만족시키는 기입 동작은 "스트라이프 정렬 기입(stripe aligned write)"이라고 알려져 있다. 스트라이프 정렬 기입은 하나 이상의 스트라이프가 새로 기입된 데이터로 완전하게 교체되고 새로운 체크 정보가 기입 동작의 일부로서 상기 새로운 데이터에 대하여 계산되기 때문에 RAID 스트라이 프에서 기존의 체크 정보를 유지할 필요가 없다. RAID 기억 시스템에 대한 모든 기입 동작이 스트라이프 정렬되는 것을 보장함으로써 소규모 기입 동작의 판독-수정-기입 문제가 제거되어 성능이 개선된다.
RAID 기억 시스템에 대한 기입 동작은 항상 스트라이프 정렬되는 것은 아니고, 소규모 기입 동작은 소규모 기입 동작이 완전한 RAID 스트라이프보다 사이즈가 더 작은 데이터 유닛을 수반한다는 정의에 의한 것처럼 스트라이프 정렬되지 않을 것이다. 기존의 RAID 기억 시스템은 캐시 등의 메모리를 사용할 수 있고, 여기에서 다수의 소규모 기입 동작은 완전한 스트라이프를 구성하는 단일 기입 동작으로 수집된다. 결국, 소규모 기입의 수집은 스트라이프 정렬되고 RAID 기억 장치에 기입될 수 있다. 상기와 같은 실행할 캐시 메모리는 스트라이프 사이즈 및 정렬을 포함하는 RAID 기억 시스템의 파라미터 내에서 동작하도록 구성되어야 한다. 이 파라미터들은 상이한 RAID 기억 시스템에 대하여 다르게 될 수 있고, 전형적으로 상이한 판매인이 제공한 RAID 기억 시스템에 대하여 상이하다. 가끔은 사용자 또는 제어기 자체에 의해 적당한 스트라이프 사이즈 및 정렬 파라미터로서 쉽게 구성되도록 캐시 메모리가 RAID 제어기 내에 집적된다.
RAID 기억 시스템 자체는 점차적으로 스토리지 영역 네트워크(storage area network; SAN)와 같은 구성에서 가상화(virtualise)되고 있다. SAN은 하나 이상의 서버를 하나 이상의 기억 장치에 연결하는 네트워크를 포함한다. SAN의 기억 장치들은 RAID 기억 시스템으로서 구현되는 가상 기억 장치들을 포함할 수 있다. SAN 내의 하나 이상의 스위치들은 장치들을 접속하고 호스트와 기억 장치 사이에서 SAN 을 통한 루트를 제공한다. SAN은 기억 장치들을 가상화하여 SAN에 접속된 장치들의 상호 동작성(interoperability)을 보장한다. 기억 장치의 실제 구현 상세가 SAN의 기타 장치들에 대하여 알려져 있지 않다는 것은 SAN의 기억 장치의 가상화의 특징이다. 예를 들어, SAN의 호스트는 SAN에 부착된 기억 장치가 단일 디스크로서 구현되는지 또는 RAID 기억 시스템으로서 구현되는지를 판정하지 못할 수 있다. SAN의 기억 장치의 가상화는 또한, 성능 및 신뢰성을 더욱 개선하기 위하여 많은 RAID 기억 시스템을 포함한 많은 기억 장치에 걸쳐 데이터를 분산시킬 수 있게 한다. 이것은 SAN의 스위치에 부착할 수 있는, IBM사의 토털 스토리지 가상화 엔진(Total Storage Virtualization Engine)과 같은 기억 설비를 이용하여 달성된다. 캐시 메모리는 RAID 기억 시스템과 같은 기억 장치 내에 집적되지 않고 SAN 내에 독립적으로 설치되어, 데이터가 다수의 SAN 기억 장치에 걸쳐 분산될 때 상기 메모리들을 사용할 수 있게 하는 것이 바람직하다. 예를 들어, 캐시 메모리는 SAN 내의 스위치에 부착된 기억 설비 내에 설치될 수 있다.
캐시 메모리가 RAID 기억 시스템의 RAID 제어기에 집적되지 않고 RAID 제어기가 예를 들면 SAN을 통하여 가상화될 때, RAID 기억 시스템의 특정의 스트라이프 사이즈 및 정렬 특성은 캐시 메모리에 용이하게 이용할 수 없다. 캐시 메모리를 가상화 RAID 제어기로부터 분리시키면 캐시 메모리가 적당한 스트라이프 사이즈 및 정렬 특성으로서 자동으로 구성될 수가 없는데, 그 이유는 상기 특성들이 캐시 메모리에 대하여 알려져 있지 않아서 수동으로 구성하거나 또는 전혀 구성할 수가 없기 때문이다. 부적절한 스트라이프 사이즈 및 정렬 구성의 결과는 기입 동작이 적 절하게 스트라이프 정렬되지 않을 것이기 때문에 판독-수정-기입 문제에 봉착할 가능성을 증가시킨다. 따라서, 종래의 기억 시스템에서 상기와 같은 문제점들을 제거하기 위한 시스템 및 방법을 제공하는 것이 바람직하다.
그러므로, 본 발명은, 그 제1 태양에서, 각각의 I/O 동작이 RAID 제어기에 대한 데이터 블록의 기입을 포함하고 I/O 구성이 데이터 길이 및 데이터 정렬을 포함하는 복수의 I/O 동작의 성능 특성을 시험함으로써 최적의 I/O 구성을 판정하기 위해, 가상화 RAID 제어기와 함께 동작할 수 있는 메모리를 가진 장치를 제공한다. 이 장치는 메모리에 기억된 데이터의 가상화 RAID 제어기에 대한 기입 동작이 적당한 길이 및 정렬로 이루어져서 판독-수정-기입 문제에 봉착함이 없이 스트라이프 정렬 기입을 제공한다는 장점을 갖는다.
바람직하게, 메모리는 캐시이다.
바람직하게, 성능 특성은 응답 시간이다.
본 발명은, 제2 태양에서, I/O 동작이 RAID 제어기에 데이터 블록을 기입하는 것을 포함하는 복수의 I/O 동작을 수행하는 단계와; 상기 복수의 I/O 동작의 성능 특성을 시험하는 단계와; 상기 시험 단계에 응답하여, I/O 구성이 데이터 길이 및 데이터 정렬을 포함하는 최적의 I/O 구성을 후속 I/O 동작을 위하여 설정하는 단계를 포함하는, 가상 RAID 제어기와 함께 동작할 수 있는 메모리를 구비한 장치를 동작시키는 방법을 제공한다.
본 발명은 또한, 제3 태양에서, 데이터 처리 시스템에서 실행될 때 데이터 처리 시스템이 상기 방법을 수행하도록 지시하는 컴퓨터 판독 가능한 기억 매체에 저장된 컴퓨터 프로그램 코드를 포함한 컴퓨터 프로그램 제품을 제공한다.
도 1은 본 발명의 양호한 실시예에서 스토리지 영역 네트워크(SAN)(102)의 구성을 나타내는 개략도이다. SAN(102)은 기억 설비(1062)를 포함한 스위치(106)를 구비한다. 양호한 실시예에 있어서, 기억 설비(1062)는 IBM사의 토털 스토리지 가상화 엔진이다. 기억 설비(1062)는 메모리(10622)와, 스트라이프 사이즈 속성(10624)과, 스트라이프 정렬 속성(10626)을 포함한다. 양호한 실시예에 있어서, 메모리(10622)는 캐시이다. 대안적으로, 메모리(10622)는 입력 버퍼 또는 출력 버퍼이다. 스트라이프 사이즈 속성(10624)과 스트라이프 정렬 속성(10626)은 기억 설비(1062)의 구성 파라미터이다. SAN(102)은 호스트(104)를 RAID 기억 시스템(108)에 접속한다. 양호한 실시예에 있어서, 호스트(104)는 컴퓨터 시스템이다. RAID 기억 시스템(108)은 RAID 제어기(1082)와 기억 장치의 어레이(1084)를 포함한다. 양호한 실시예에 있어서, 기억 장치의 어레이(1084)는 디스크의 어레이이다. RAID 제어기(1082)는 기억 장치 어레이(1084)를 가로질러 데이터를 분산시키기 위하여 스트리핑을 이용한다. RAID 제어기(1082)는 또한 기억 장치 어레이(1084)에 기억된 데이터에 대하여 패리티 정보를 유지한다. 이러한 기술을 이용함으로써, RAID 제어기(1082)는 단일 가상 기억 장치로서 기억 장치 어레이(1084)에 대한 신뢰성 있는 액세스를 제공한다.
도 2는 가상 기억 장치(20)의 예시적인 구성을 나타내는 개략도이다. 가상 기억 장치는 물리적인 기억 장치가 아니고, 그 대신에 RAID 제어기(1082)에 의해 SAN(102) 및 호스트(104)에 나타나는 기억 장치 어레이(1084)를 나타낸다. 가상 기억 장치(20)는 각각 고정량의 데이터를 기억하는 기억 요소인 순차적인 기억 블록(202, 204, 206, 208)의 리스트를 포함한다. 기억 블록들(202, 204, 206, 208)은 이들이 기억할 수 있는 데이터의 바이트의 수를 나타내는 기억 용량을 각각 가지며, 각 기억 블록들(202, 204, 206, 208)의 기억 용량은 동일하다. 기억 블록들(202, 204, 206, 208)은 도 3에 도시되고 이하에 설명하는 바와 같이 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로질러 스트립된다.
도 3은 도 2의 기억 블록들(202, 204, 206, 208)이 스트립된 도 1의 기억 장치 어레이(1084)의 예시적인 구성을 나타내는 개략도이다. 기억 장치 어레이(1084)는 개별적인 기억 장치(30, 32, 34)를 포함한다. 가상 기억 장치(20)에 기억된 데이터는 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로질러 스트립된다. 데이터 스트라이프(36)는 기억 장치(30, 32, 34)에 각각 기억되어 있는 스트립(302, 322) 및 패리티 스트립(342)을 포함한다. 예시된 구성에서, 스트립(302, 322)과 패리티 스트립(342)은 각각 2개의 기억 블록을 내포하고 있다. 결국, 가상 기억 장치(20)는 기억 블록(202, 204)을 기억 장치(30)의 스트립(302)에 저장하고, 기억 블록(206, 208)을 기억 장치(32)의 스트립(322)에 저장하는 것에 의해 기억 장치 어레이(1084)를 가로질러 스트립된다. 추가적으로, RAID 제어기(1082)는 기억 장치(34)에 패리티 스트립(342)을 유지한다. 패리티 스트립(342)은 패리티 데이터를 기억하는 2개의 기억 블록(3422, 3424)을 포함한 다. 패리티 데이터는 배타적 OR(XOR) 논리 연산기를 이용하여 RAID 제어기(1082)에 의해 계산된다. 기억 블록(3422)에 기억된 패리티 데이터는 기억 블록(202)에 기억된 데이터와 기억 블록(206)에 기억된 데이터를 XOR한 것이다. 기억 블록(3424)에 기억된 패리티 데이터는 기억 블록(204)에 기억된 데이터와 기억 블록(208)에 기억된 데이터를 XOR한 것이다. 기억 장치 중의 하나(30 또는 32)가 고장인 것과 같은 단일 지점의 고장이 있는 경우에, 패리티 스트립(342)은 스트라이프(36)의 손실된 스트립을 재생성하기 위해 사용될 수 있다.
동작시에, 호스트(104)는 RAID 기억 시스템(108)과 함께 동작하여 호스트(104)가 가상 기억 장치(20)에 대한 입력 및 출력(I/O) 동작을 수행할 수 있다. 가상 기억 장치(20)에 대한 I/O 동작은 스위치(106)와 기억 설비(1062)를 통하여 이루어진다. 스위치(106)는 기억 설비(1062)에 대하여 I/O 동작을 지시하고, 이 기억 설비(1062)는 메모리(10622)를 이용하여 가상 기억 장치(20)에 대한 스트라이프 정렬 기입 동작을 수행한다. 기억 설비(1062)가 가상 기억 장치(20)에 대한 I/O 동작을 수행할 때, RAID 제어기(1082)는 상기 I/O 동작을 기억 장치 어레이(1084)에 대한 I/O 동작으로 변환시킨다. RAID 기억 시스템(108)과 RAID 제어기(1082)는 SAN(102)의 스위치(106) 및 기억 설비(1062)에 의해 가상화된다고 말하여진다.
도 4는 가상 기억 장치(20)에 대한 기입시에 기억 설비(1062)에 의해 개시되는 기입 동작(402)의 성분들을 나타내는 블록도이다. 기입 동작(402)은 가상 기억 장치(20)에 기입될 데이터 유닛(404)을 포함한다. 기입 동작(402)은 또한 데이터 사이즈 파라미터(406)를 포함한다. 데이터 사이즈 파라미터(406)의 값은 가상 기억 장치(20)에 기입될 데이터 유닛(404)의 사이즈의 측정치이고 가상 기억 장치(20)의 다수의 기억 블록으로서 표현될 수 있다. 기입 동작(402)은 또한 블록 파라미터(408)를 포함한다. 블록 파라미터(408)의 값은 가상 기억 장치(20)의 어느 기억 블록(202, 204, 206 또는 208)에 데이터 유닛(404)이 기입되어야 하는지를 식별한다. 특수한 기입 동작을 위한 데이터 사이즈 파라미터(406)와 블록 파라미터(408)의 조합은 기입 동작(402)을 위한 파라미터 투플(parameter-tuple)이라고 한다. 동작시에, 기입 동작(402)은 데이터 유닛(404)이 블록 파라미터(408)에 의해 식별된 기억 블록에서 시작하여 가상 기억 장치(20)에 기입되게 한다. 이 기술에 숙련된 사람들에게 알려져 있는 바와 같이, 기억 블록의 용량보다 더 큰 데이터 유닛이 기억 장치의 초기 기억 블록에 기입되면, 데이터 유닛의 기억을 위해 초기 기억 블록으로 시작하는 후속 기억 블록의 수집이 이용된다.
기억 설비(1062)가 메모리(10622)를 이용하여 가상 기억 장치(20)에 대한 스트라이프 정렬 기입 동작을 제공하기 위해서는 RAID 제어기(1082)에 대하여 적당한 스트라이프 사이즈 속성(10624) 및 스트라이프 정렬 속성(10626)을 가진 기억 설비(1062)를 구성할 필요가 있다. 이 파라미터들은 가상 기억 장치(20)에 대한 일련의 기입 동작의 성능을 분석함으로써 기억 설비(1062)에 의해 판정되고, 각각의 기입 동작은 상이한 파라미터 투플을 갖는다. 양호한 실시예에 있어서, 이러한 기입 동작은 RAID 기억 시스템(108)이 아이들(idle) 상태에 있을 때에 발생한다.
도 5는 도 2의 가상 기억 장치(20)에 대한 스트라이프 정렬 기입 동작을 제공하기 위하여 도 1의 기억 설비(1062)를 구성하는 방법을 설명하는 흐름도이다. 도 5의 방법은 기억 설비(1062)에 의해 실행되고 가상 기억 장치(20)에 대한 반복된 기입 동작을 수반한다. 단계 500에서, 다수의 파라미터 투플 세트가 컴파일되고, 각각의 파라미터 투플은 데이터 사이즈 파라미터(406)와 블록 파라미터(408)의 상이한 조합을 포함한다. 단계 502는 파라미터 투플 세트의 각 파라미터 투플을 통한 루프를 개시한다. 단계 504에서, 기억 설비(1062)는 각각의 파라미터 투플에 대하여 기입 파라미터로서 파라미터 투플을 가진 가상 기억 장치(20)에 대한 기입 동작을 수행한다. 단계 506에서, 기입 동작의 성능 측정이 행하여지고 기록된다. 양호한 실시예에 있어서, 성능 측정은 단계 504에서 기입 동작을 완성하는데 걸리는 시간의 측정을 포함한다. 성능 측정은 랜덤 액세스 메모리(도시 생략)와 같은 기억 설비(1062)의 기억 장치에 기록될 수 있다. 단계 508은 각각의 파라미터 투플을 통한 루프를 계속한다. 단계 510에서, 최상의 성능을 가진 기입 동작이 각 기입 동작의 성능의 기록으로부터 식별된다. 양호한 실시예에 있어서, 최상의 성능을 가진 기입 동작은 완성하는데 최소의 시간이 소요되는 기입 동작이 되는 것으로 판정된다. 최상의 성능을 가진 기입 동작을 식별함에 있어서, 대응하는 파라미터 투플이 식별된다. 계속하여 단계 512에서, 기억 설비(1062)는 스트라이프 사이즈(10624)의 값이 최상의 성능을 가진 기입 동작의 데이터 사이즈 파라미터(406)의 값이 되도록 설정되고, 스트라이프 정렬(10626)의 값이 최상의 성능을 가진 기입 동작의 블록 파라미터(408)의 값이 되도록 구성된다.
최상의 성능을 가진 기입 동작의 파라미터 투플에 따르는 스트라이프 사이즈(10624)와 스트라이프 정렬(10626)을 가진 기억 설비(1062)의 구성은 캐시와 같은 메모리(10622)를 이용하여 스트라이프 정렬 기입 동작에 대한 기억 설비(1062)를 제공한다. 기억 설비(1062)에 의한 스트라이프 정렬 기입 동작은 판독-수정-기입 문제에 봉착하지 않음으로써 I/O 성능을 개선한다.
도 5의 방법의 예로서 아래의 표 1에 표시한 3개의 파라미터 투플의 세트를 생각한다.
파라미터 투플 데이터 사이즈 파라미터(406) 블록 파라미터(408)
Q 3개의 블록 가상 기억 장치(20)의 블록(204)
R 2개의 블록 가상 기억 장치(20)의 블록(202)
S 4개의 블록 가상 기억 장치(20)의 블록(202)
단계 500에서, 파라미터 투플 Q, R 및 S의 세트는 표 1에 표시한 바와 같이 정의된다. 단계 502는 파라미터 투플 Q에서 시작하여 각 파라미터 투플을 통한 루프를 개시한다. 단계 504에서, 기억 설비(1062)는 기입 파라미터로서 파라미터 투플 Q를 가진 가상 기억 장치(20)에 대한 기입 동작을 수행한다. 따라서, 3개의 데이터 블록들이 가상 기억 장치(20)의 기억 블록(204)에 기입되게 하는 기입 동작이 발생한다. 이제 도 2를 참조하면, 파라미터 투플 Q에 대한 기입 동작은 가상 기억 장치(20)의 기억 블록(204, 206, 208)에 데이터가 기입되게 한다. 기입 동작은 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로지르는 기입 동작으로 변환된다. 이제 도 3을 참조하면, 파라미터 투플 Q에 대한 기입 동작은 기억 장치 어레이(1084)의 스트립(302)의 기억 블록(204) 및 스트립(322)의 기억 블록(206, 208)에 데이터가 기입되게 한다. 그 결과, 전체 스트라이프(36)가 기입되지 않고(기억 블록 202는 기입되지 않음), 패리티 스트립(342)은 판독-수정-기입 처리를 이 용하여 기억 블록(204, 206, 208)에 대한 변화를 반영하도록 갱신되어야 한다. 패리티 스트립의 갱신은 파라미터 투플 Q에 대한 기입 동작을 완성하는데 필요한 시간을 증가시키는 효과를 갖고, 그에 따라서 단계 506에서 측정 및 기록되는 기입 동작의 성능 저하를 야기한다. 단계 508에서, 루프는 아래에 설명하는 바와 같이 다음 파라미터 투플 R에 대하여 계속된다.
단계 504에서, 기억 설비(1062)는 기입 파라미터로서 파라미터 투플 R을 가진 가상 기억 장치(20)에 대한 기입 동작을 수행한다. 따라서, 2개의 데이터 블록이 가상 기억 장치(20)의 기억 블록(202)에서 기입되게 하는 기입 동작이 발생한다. 이제 도 2를 참조하면, 파라미터 투플 R에 대한 기입 동작은 가상 기억 장치(20)의 기억 블록(202, 204)에 데이터가 기입되게 한다. 기입 동작은 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로지르는 기입 동작으로 변환된다. 이제 도 3을 참조하면, 파라미터 투플 R에 대한 기입 동작은 기억 장치 어레이(1084)의 스트립(302)의 기억 블록(202, 204)에 데이터가 기입되게 한다. 그 결과, 전체 스트라이프(36)가 기입되지 않고(기억 블록 206과 208은 기입되지 않음), 패리티 스트립(342)은 판독-수정-기입 처리를 이용하여 기억 블록(202, 204)에 대한 변화를 반영하도록 갱신되어야 한다. 패리티 스트립의 갱신은 파라미터 투플 R에 대한 기입 동작을 완성하는데 필요한 시간을 증가시키는 효과를 갖고, 그에 따라서 단계 506에서 측정 및 기록되는 기입 동작의 성능 저하를 야기한다. 단계 508에서, 루프는 아래에 설명하는 바와 같이 다음 파라미터 투플 S에 대하여 계속된다.
단계 504에서, 기억 설비(1062)는 기입 파라미터로서 파라미터 투플 S를 가진 가상 기억 장치(20)에 대한 기입 동작을 수행한다. 따라서, 4개의 데이터 블록이 가상 기억 장치(20)의 기억 블록(202)에서 기입되게 하는 기입 동작이 발생한다. 이제 도 2를 참조하면, 파라미터 투플 S에 대한 기입 동작은 가상 기억 장치(20)의 기억 블록(202, 204, 206, 208)에 데이터가 기입되게 한다. 기입 동작은 RAID 제어기(1082)에 의해 기억 장치 어레이(1084)를 가로지르는 기입 동작으로 변환된다. 이제 도 3을 참조하면, 파라미터 투플 S에 대한 기입 동작은 기억 장치 어레이(1084)의 스트립(302)의 기억 블록(202, 204)과 스트립(322)의 기억 블록(206, 208)에 데이터가 기입되게 한다. 그 결과, 전체 스트라이프(36)가 기입되고, 패리티 스트립(342)은 RAID 제어기(1082)에 의해 계산된다. 파라미터 투플 S에 대한 기입 동작에서는 판독-수정-기입 문제에 봉착되지 않기 때문에, 기입 동작의 성능은 높고, 이것은 단계 506에서 측정 및 기록된다. 단계 508에서, 루프는 3개의 파라미터 투플(Q, R, S)이 모두 처리되었을 때 종료한다.
단계 510에서, 최상의 성능을 가진 기입 동작은 각 기입 동작의 성능의 기록으로부터 식별된다. 이 예에서, 파라미터 투플 Q 및 R에 대한 기입 동작은 판독-수정-기입 문제에 봉착하고, 그 결과 성능이 저하된다. 파라미터 투플 S에 대한 기입 동작은 판독-수정-기입 문제에 봉착하지 않고, 그 결과, 완성에 최소의 시간이 소요되는 최고의 성능을 가진 기입 동작이다. 결국, 단계 512에서, 기억 설비(1062)는 스트라이프 사이즈(10624)의 값이 최상의 성능을 가진 기입 동작의 데이터 사이즈 파라미터(406)의 값이 되도록 설정되게 구성되고, 스트라이프 정렬(10626)의 값 이 최상의 성능을 가진 기입 동작의 블록 파라미터(408)의 값이 되도록 구성된다. 따라서, 스트라이프 사이즈(10624)의 값은 4개의 블록의 사이즈가 되도록 설정되고, 스트라이프 정렬(10626)의 값은 가상 기억 장치(20)의 블록(202)이 되도록 설정된다.
지금까지 양호한 실시예를 상세하게 설명하였지만, 이 기술에 숙련된 사람이라면 본 발명의 정신 및 범위로부터 이탈함이 없이 많은 변형예가 가능하다는 것을 이해할 수 있을 것이다.
본 발명에 의하면, 메모리에 기억된 데이터의 가상화 RAID 제어기에 대한 기입 동작이 적당한 길이 및 정렬로 이루어져서 판독-수정-기입 문제에 봉착함이 없이 스트라이프 정렬 기입을 제공할 수 있다.

Claims (14)

  1. 가상화 RAID 제어기와 함께 동작하여 복수개의 I/O 동작의 성능 특성을 시험함으로써 최적의 I/O 구성을 결정할 수 있는 메모리를 구비한 장치로서, 상기 I/O 동작은 상기 RAID 제어기에 대한 데이터 블록의 기입을 포함하며, 상기 I/O 구성은 데이터 길이 및 데이터 정렬을 포함하는 것인 장치.
  2. 제1항에 있어서, 상기 메모리는 캐시인 장치.
  3. 제1항에 있어서, 상기 메모리는 입력 버퍼인 장치.
  4. 제1항에 있어서, 상기 메모리는 출력 버퍼인 장치.
  5. 제1항에 있어서, 상기 성능 특성은 응답 시간인 장치.
  6. 가상화 RAID 제어기와 함께 동작하는 메모리를 구비한 장치를 동작시키는 방법에 있어서,
    I/O 동작이 상기 RAID 제어기에 데이터 블록을 기입하는 것을 포함하는 복수개의 I/O 동작을 수행하는 단계와;
    상기 복수개의 I/O 동작의 성능 특성을 시험하는 단계와;
    상기 시험 단계에 응답하여, I/O 구성이 데이터 길이 및 데이터 정렬을 포함하는 최적의 I/O 구성을 후속 I/O 동작을 위하여 설정하는 단계
    를 포함하는 동작 방법.
  7. 제6항에 있어서, 상기 RAID 제어기가 아이들(idle) 상태에 있을 때 상기 방법을 수행하는 동작 방법.
  8. 제6항에 있어서, 상기 메모리는 캐시인 동작 방법.
  9. 제6항에 있어서, 상기 메모리는 입력 버퍼인 동작 방법.
  10. 제6항에 있어서, 상기 메모리는 출력 버퍼인 동작 방법.
  11. 제6항에 있어서, 상기 성능 특성은 응답 시간인 동작 방법.
  12. 데이터 처리 시스템에서 실행될 때 상기 데이터 처리 시스템이 청구항 제6항 내지 제11항 중 어느 하나의 청구항에 기재된 방법의 각 단계들을 컴퓨터에서 구현가능하게 하는 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
  13. 호스트에 연결하기 위한 제1 인터페이스와 가상 기억 장치에 연결하기 위한 제2 인터페이스를 포함하는 기억 설비에 있어서, 상기 기억 설비는 제어기 판독 매체에 저장된 프로그램 인스트럭션을 포함하는 컴퓨터 프로그램에 따라 동작하는 제어기를 더 포함하고, 상기 프로그램 인스트럭션은,
    파라미터 투플(parameter-tuples)의 세트를 생성하는 제1 프로그램 인스트럭션 - 상기 세트의 각 파라미터 투플은 데이터 유닛, 그리고 데이터 사이즈 파라미터 및 블록 파라미터의 상이한 조합을 포함함 - ;
    상기 파라미터 투플 세트의 각 파라미터 투플에 응답하여 상기 파라미터 투플을 기입 파라미터로 하여 상기 가상 기억 장치에 기입 동작을 수행하고, 상기 기입 동작의 성능 측정을 행하고 기록하는 제2 프로그램 인스트럭션; 및
    최상으로 기록된 성능 측정을 갖는 기입 동작에 관련된 파라미터 투플을 식별하고, 가상 기억 장치와 관련된 스트라이프 사이즈 특성의 값이 상기 식별된 파라미터 투플의 상기 데이터 사이즈 파라미터의 값으로 설정되고, 상기 가상 기억 장치와 관련된 스트라이프 정렬 특성의 값이 상기 식별 파라미터 투플의 블록 파라미터의 값으로 설정되도록 상기 기억 설비를 구성하는 제3 프로그램 인스트럭션
    을 포함하는 것인 기억 설비.
  14. 호스트에 연결하기 위한 제1 인터페이스와 가상 기억 장치에 연결하기 위한 제2 인터페이스를 포함하는 기억 설비에 있어서,
    파라미터 투플의 세트를 생성하는 수단 - 상기 세트의 각 파라미터 투플은 데이터 유닛, 그리고 데이터 사이즈 파라미터 및 블록 파라미터의 상이한 조합을 포함함 - 과;
    상기 파라미터 투플 세트의 각 파라미터 투플에 응답하여 상기 파라미터 투플을 기입 파라미터로 하여 상기 가상 기억 장치에 기입 동작을 수행하고 상기 기입 동작의 성능 측정을 행하고 기록하는 수단과;
    최상으로 기록된 성능 측정을 갖는 기입 동작에 관련된 파라미터 투플을 식별하고, 가상 기억 장치와 관련된 스트라이프 사이즈 특성의 값이 상기 식별된 파라미터 투플의 상기 데이터 사이즈 파라미터의 값으로 설정되고 상기 가상 기억 장치와 관련된 스트라이프 정렬 특성의 값은 상기 식별 파라미터 투플의 블록 파라미터의 값으로 설정되도록 상기 기억 설비를 구성하는 수단
    을 포함하는 기억 설비.
KR1020040026774A 2003-04-26 2004-04-19 Raid 기억 시스템의 메모리를 구성하는 장치 및 방법 KR100637779B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0309538.7 2003-04-26
GB0309538A GB2400935B (en) 2003-04-26 2003-04-26 Configuring memory for a raid storage system

Publications (2)

Publication Number Publication Date
KR20040092424A KR20040092424A (ko) 2004-11-03
KR100637779B1 true KR100637779B1 (ko) 2006-10-25

Family

ID=33042180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040026774A KR100637779B1 (ko) 2003-04-26 2004-04-19 Raid 기억 시스템의 메모리를 구성하는 장치 및 방법

Country Status (6)

Country Link
US (2) US7191285B2 (ko)
JP (2) JP2004326759A (ko)
KR (1) KR100637779B1 (ko)
CN (1) CN1280702C (ko)
GB (1) GB2400935B (ko)
TW (1) TWI266187B (ko)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040011532A1 (en) * 2002-07-16 2004-01-22 White Jack D. Combined rod guide and rod rotator device
US8560671B1 (en) * 2003-10-23 2013-10-15 Netapp, Inc. Systems and methods for path-based management of virtual servers in storage network environments
US20060095138A1 (en) * 2004-06-09 2006-05-04 Csaba Truckai Composites and methods for treating bone
US7678116B2 (en) 2004-12-06 2010-03-16 Dfine, Inc. Bone treatment systems and methods
US7559932B2 (en) 2004-12-06 2009-07-14 Dfine, Inc. Bone treatment systems and methods
US20060100706A1 (en) * 2004-11-10 2006-05-11 Shadduck John H Stent systems and methods for spine treatment
US7682378B2 (en) 2004-11-10 2010-03-23 Dfine, Inc. Bone treatment systems and methods for introducing an abrading structure to abrade bone
DE102005023258A1 (de) * 2004-11-16 2006-11-23 Fan Separator Gmbh Drehtrommel zur aeroben Erwärmung rieselfähiger Feststoffe
US8562607B2 (en) * 2004-11-19 2013-10-22 Dfine, Inc. Bone treatment systems and methods
US20060122614A1 (en) * 2004-12-06 2006-06-08 Csaba Truckai Bone treatment systems and methods
US7717918B2 (en) * 2004-12-06 2010-05-18 Dfine, Inc. Bone treatment systems and methods
US8070753B2 (en) * 2004-12-06 2011-12-06 Dfine, Inc. Bone treatment systems and methods
US7722620B2 (en) 2004-12-06 2010-05-25 Dfine, Inc. Bone treatment systems and methods
US7302522B2 (en) * 2004-12-27 2007-11-27 Lsi Corporation Optimizing I/O performance in a RAID subsystem using an adaptive maximum request size for a logical drive
CN100354833C (zh) * 2005-01-14 2007-12-12 英业达股份有限公司 San系统异常情况下的保护方法
CN100388239C (zh) * 2005-01-18 2008-05-14 英业达股份有限公司 在线增加廉价磁盘冗余阵列磁盘数量的方法与系统
JP2007011673A (ja) * 2005-06-30 2007-01-18 Fujitsu Ltd ホスト間データ転送方法、プログラム及びシステム
US8540723B2 (en) 2009-04-14 2013-09-24 Dfine, Inc. Medical system and method of use
US8777479B2 (en) 2008-10-13 2014-07-15 Dfine, Inc. System for use in bone cement preparation and delivery
US9066769B2 (en) 2005-08-22 2015-06-30 Dfine, Inc. Bone treatment systems and methods
US20090012525A1 (en) * 2005-09-01 2009-01-08 Eric Buehlmann Devices and systems for delivering bone fill material
CN100336007C (zh) * 2005-09-29 2007-09-05 威盛电子股份有限公司 磁盘阵列数据写入方法
JP4817783B2 (ja) 2005-09-30 2011-11-16 富士通株式会社 Raidシステム及びそのリビルド/コピーバック処理方法
JP4472617B2 (ja) 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US7451354B2 (en) * 2006-01-06 2008-11-11 International Business Business Machines Apparatus and method to configure, format, and test, a data storage subsystem product
US20070214314A1 (en) * 2006-03-07 2007-09-13 Reuter James M Methods and systems for hierarchical management of distributed data
US7415574B2 (en) * 2006-07-05 2008-08-19 Cisco Technology, Inc. Dynamic, on-demand storage area network (SAN) cache
US8046629B1 (en) * 2006-07-24 2011-10-25 Marvell World Trade Ltd. File server for redundant array of independent disks (RAID) system
US7676702B2 (en) * 2006-08-14 2010-03-09 International Business Machines Corporation Preemptive data protection for copy services in storage systems and applications
US8696679B2 (en) 2006-12-08 2014-04-15 Dfine, Inc. Bone treatment systems and methods
US20080188858A1 (en) * 2007-02-05 2008-08-07 Robert Luzzi Bone treatment systems and methods
JP4347351B2 (ja) * 2007-02-15 2009-10-21 富士通株式会社 データ暗号化装置、データ復号化装置、データ暗号化方法、データ復号化方法およびデータ中継装置
US8065398B2 (en) * 2007-03-19 2011-11-22 Network Appliance, Inc. Method and apparatus for application-driven storage provisioning on a unified network storage system
US7882393B2 (en) * 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
ES2438999T3 (es) 2007-04-03 2014-01-21 Dfine, Inc. Sistemas de tratamiento óseo
WO2008137428A2 (en) * 2007-04-30 2008-11-13 Dfine, Inc. Bone treatment systems and methods
US7779308B2 (en) * 2007-06-21 2010-08-17 International Business Machines Corporation Error processing across multiple initiator network
US7856022B1 (en) * 2007-06-28 2010-12-21 Emc Corporation Non-disruptive data migration with external virtualization engine
US9597118B2 (en) 2007-07-20 2017-03-21 Dfine, Inc. Bone anchor apparatus and method
US8386610B2 (en) * 2007-12-31 2013-02-26 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
US9445854B2 (en) * 2008-02-01 2016-09-20 Dfine, Inc. Bone treatment systems and methods
EP2252336B1 (en) 2008-02-28 2014-06-25 Dfine, Inc. Bone treatment systems and methods
US9180416B2 (en) 2008-04-21 2015-11-10 Dfine, Inc. System for use in bone cement preparation and delivery
US8171339B2 (en) * 2008-06-02 2012-05-01 International Business Machines Corporation Testing a virtualised storage system in response to disk exercising commands
JP2010009548A (ja) * 2008-06-30 2010-01-14 Toshiba Corp 記憶装置、制御装置、記憶システム、および記憶方法
TW201028845A (en) * 2009-01-16 2010-08-01 Inventec Corp RAID testing method and testing system
US8266501B2 (en) * 2009-09-29 2012-09-11 Micron Technology, Inc. Stripe based memory operation
US8495289B2 (en) * 2010-02-24 2013-07-23 Red Hat, Inc. Automatically detecting discrepancies between storage subsystem alignments
EP2671160A2 (en) * 2011-02-01 2013-12-11 Drobo, Inc. System, apparatus, and method supporting asymmetrical block-level redundant storage
US10922225B2 (en) 2011-02-01 2021-02-16 Drobo, Inc. Fast cache reheat
US20120278550A1 (en) * 2011-04-26 2012-11-01 Byungcheol Cho System architecture based on raid controller collaboration
US9176670B2 (en) * 2011-04-26 2015-11-03 Taejin Info Tech Co., Ltd. System architecture based on asymmetric raid storage
US20120278527A1 (en) * 2011-04-26 2012-11-01 Byungcheol Cho System architecture based on hybrid raid storage
JP2012252485A (ja) * 2011-06-02 2012-12-20 Nec Corp 記憶制御装置、及び、記憶制御方法
US8650471B2 (en) * 2011-06-28 2014-02-11 Dell Products L.P. System and method for look-aside parity based raid
US8327185B1 (en) * 2012-03-23 2012-12-04 DSSD, Inc. Method and system for multi-dimensional raid
US9411817B2 (en) * 2013-09-23 2016-08-09 Google Inc. Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems based on desired file reliability or availability
CN103645995B (zh) * 2013-12-04 2016-12-07 华为技术有限公司 写数据的方法及装置
US9830110B2 (en) * 2014-06-20 2017-11-28 Dell Products, Lp System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller
US9917790B2 (en) * 2014-07-31 2018-03-13 Microsoft Technology Licensing, Llc Storage device access mediation
JP6540068B2 (ja) * 2015-02-10 2019-07-10 富士通株式会社 ストレージ制御装置、制御方法、および制御プログラム
US10466913B2 (en) 2015-04-29 2019-11-05 EMC IP Holding Company LLC Method and system for replicating and using grid level metadata in a storage system
US10254992B2 (en) * 2015-04-30 2019-04-09 International Business Machines Corporation Rebalancing data storage in a dispersed storage network
US9740440B2 (en) * 2015-05-21 2017-08-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array
WO2016190891A1 (en) * 2015-05-23 2016-12-01 Hewlett Packard Enterprise Development Lp Translate data operations based on data stripe size
US10127113B1 (en) 2016-03-31 2018-11-13 EMC IP Holding Company LLC Method and system for checkerboard RAID
US10969960B2 (en) * 2016-09-01 2021-04-06 Samsung Electronics Co., Ltd. Storage device and host for the same
US10339062B2 (en) 2017-04-28 2019-07-02 EMC IP Holding Company LLC Method and system for writing data to and read data from persistent storage
US10289491B1 (en) 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance
US10466930B2 (en) 2017-04-28 2019-11-05 EMC IP Holding Company LLC Method and system for fast ordered writes with atomic multicast
US10614019B2 (en) 2017-04-28 2020-04-07 EMC IP Holding Company LLC Method and system for fast ordered writes with target collaboration
CN109683817A (zh) * 2018-12-14 2019-04-26 浪潮电子信息产业股份有限公司 一种数据写入方法、系统及电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095532A1 (en) 2001-01-16 2002-07-18 International Business Machines Corporation: System, method, and computer program for explicitly tunable I/O device controller

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3747788B2 (ja) * 1993-06-21 2006-02-22 株式会社日立製作所 計算機システムおよび二次記憶装置
US5615335A (en) * 1994-11-10 1997-03-25 Emc Corporation Storage system self-test apparatus and method
US5623598A (en) * 1994-11-22 1997-04-22 Hewlett-Packard Company Method for identifying ways to improve performance in computer data storage systems
JP3201219B2 (ja) 1995-05-29 2001-08-20 三菱電機株式会社 入出力処理システム
JP3400297B2 (ja) 1997-06-04 2003-04-28 株式会社日立製作所 記憶サブシステムおよび記憶サブシステムのデータコピー方法
US6567889B1 (en) * 1997-12-19 2003-05-20 Lsi Logic Corporation Apparatus and method to provide virtual solid state disk in cache memory in a storage controller
JPH11203055A (ja) * 1998-01-09 1999-07-30 Alps Electric Co Ltd ディスクアレイ装置
EP1198793A4 (en) * 1999-05-03 2004-05-12 3Ware Inc METHOD AND DEVICE FOR A SYMMETRIC PLATE ARRANGEMENT
US6629158B1 (en) * 2000-02-16 2003-09-30 International Business Machines Corporation System, apparatus, and method for configuring an array controller
JP3557994B2 (ja) * 2000-04-05 2004-08-25 日本電気株式会社 ファイルデータ格納装置及び方法並びに記録媒体
US6665743B2 (en) * 2001-04-18 2003-12-16 International Business Machines Corporation Method, system, and program for initializing a storage space
US20030135609A1 (en) * 2002-01-16 2003-07-17 Sun Microsystems, Inc. Method, system, and program for determining a modification of a system resource configuration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095532A1 (en) 2001-01-16 2002-07-18 International Business Machines Corporation: System, method, and computer program for explicitly tunable I/O device controller

Also Published As

Publication number Publication date
CN1542600A (zh) 2004-11-03
JP2009163773A (ja) 2009-07-23
US20070113008A1 (en) 2007-05-17
US7191285B2 (en) 2007-03-13
US20040225926A1 (en) 2004-11-11
CN1280702C (zh) 2006-10-18
GB2400935B (en) 2006-02-15
GB2400935A (en) 2004-10-27
TWI266187B (en) 2006-11-11
KR20040092424A (ko) 2004-11-03
JP2004326759A (ja) 2004-11-18
TW200500856A (en) 2005-01-01

Similar Documents

Publication Publication Date Title
KR100637779B1 (ko) Raid 기억 시스템의 메모리를 구성하는 장치 및 방법
US10606491B2 (en) Providing redundancy in a virtualized storage system for a computer system
US6898668B2 (en) System and method for reorganizing data in a raid storage system
US8880801B1 (en) Techniques for reliability and availability assessment of data storage configurations
US7424582B2 (en) Storage system, formatting method and computer program to enable high speed physical formatting
JP5537976B2 (ja) 大容量ディスクドライブの使用方法及び装置
US7831764B2 (en) Storage system having plural flash memory drives and method for controlling data storage
US10664367B2 (en) Shared storage parity on RAID
US7774643B2 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US9684591B2 (en) Storage system and storage apparatus
US8751862B2 (en) System and method to support background initialization for controller that supports fast rebuild using in block data
US7467269B2 (en) Storage apparatus and storage apparatus control method
US20060155944A1 (en) System and method for data migration and shredding
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
JP2000293317A (ja) 記憶制御装置
US20080028049A1 (en) Storage performance management method
CN111124262B (zh) 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质
US8433949B2 (en) Disk array apparatus and physical disk restoration method
JP6451770B2 (ja) ストレージ制御装置およびストレージ制御プログラム
US11544005B2 (en) Storage system and processing method
US11409666B2 (en) Techniques for providing I/O hints using I/O flags
CN117171031A (zh) 产品部署策略的确定方法、装置、计算机设备和存储介质
MXPA99003253A (en) Expansion of the number of drives in a raid set while maintaining integrity of migrated data

Legal Events

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

Payment date: 20100824

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee