KR20100084537A - 디스크 스핀 시간 및 스핀업 동작의 횟수를 최소화하기 위해 리버싱된 백업 동작을 사용하기 위한 시스템 및 방법 - Google Patents
디스크 스핀 시간 및 스핀업 동작의 횟수를 최소화하기 위해 리버싱된 백업 동작을 사용하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20100084537A KR20100084537A KR1020107010196A KR20107010196A KR20100084537A KR 20100084537 A KR20100084537 A KR 20100084537A KR 1020107010196 A KR1020107010196 A KR 1020107010196A KR 20107010196 A KR20107010196 A KR 20107010196A KR 20100084537 A KR20100084537 A KR 20100084537A
- Authority
- KR
- South Korea
- Prior art keywords
- client
- data
- local hard
- hard drive
- remote server
- Prior art date
Links
Images
Classifications
-
- 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/2071—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 using a plurality of controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3221—Monitoring of peripheral devices of disk drive devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3268—Power saving in hard disk drive
-
- 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/2069—Management of state, configuration or failover
-
- 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/2082—Data synchronisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
Abstract
로컬 하드 드라이브에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 로컬 하드 드라이브의 수명을 연장시키도록 로컬 하드 드라이브를 대기(회전하지 않는) 모드로 유지시키며 디스크 스핀업 동작의 횟수를 최소화하기 위한 리버싱된 데이터 백업 동작을 제공하기 위한 방법 및 시스템이 개시되었다. 본 발명은 로컬 하드 디스크가 대기 모드에 있도록 네트워크 연결 및 그것의 대역폭이 충분할 때 주 저장 시스템으로서 원격 저장 시스템을 사용한다. 네트워크 연결이 되어있지 않거나 데이터 흐름을 처리하기에 충분치 않다면, 로컬 하드 디스크는 스핀업하고 판독 및 기록을 위한 주 저장장치로서 임시로 사용된다. 필요로되거나 가능할 때, 두 저장장치의 위치에 데이터는 동기화된다.
Description
본 발명은 일반적으로 로컬 하드 드라이브의 수명을 연장시키고 전력 소비, 열 및 소음을 감소시키는 한편 데이터를 백업하기 위한 방법 및 시스템에 관한 것이다. 더욱 자세하게는, 본 발명은 로컬 하드 드라이브에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 로컬 하드 드라이브의 수명을 연장시키도록 로컬 하드 드라이브를 대기 모드(stand-by mode)(회전하지 않는)로 유지시키기 위한 리버싱된 백업 동작을 위한 방법 및 시스템에 관한 것이다.
하드 디스크는 기계적인 디바이스이다.(하드 드라이브, 하드 디스크, 고정 디스크 드라이브로 일반적으로 지칭되는, 하드 디스크 또는 하드 디스크 드라이브(HDD)는 자기 표면을 갖는 고속으로 회전하는 플래터에 디지털식으로 인코딩된 데이터를 저장하는 비휘발성 저장 디바이스이다. HDD에 대한 더 많은 정보에 관해서는, http://www.techweb.com/encyclopedia/defineterm.jhtml?term=harddisk를 참조) 이들 디스크가 회전하고 있을 때, HDD는 전력을 소비하고, 소음을 발생시키며, HDD는 충격 및 충돌에 민감하다. 하드 드라이브는 데스크톱 및 노트북 컴퓨터 전력의 5% 내지 13%를 소비한다. 이것은 전체 IT 전력 소비를 증가시키고 휴대용 컴퓨터의 배터리 수명을 감소시킬 뿐만아니라 시스템에 의해 발생된 열을 증가시킨다. 과도한 열은 사용자에게 불편을 줄 수 있고 작업 환경의 주위 공기를 냉각시키기 위해 컴퓨터 및 에어컨디셔너로부터의 열을 제거하는 팬의 전력 소비를 증가시킨다. 사무실 컴퓨터는 데이터 센터에 의해 소비된 추가적인 1.2%의 전기 및 미국에서 발생된 전기의 약 1%를 소비한다. 컴퓨터의 수의 증가가 예상된다면, 이 비율은 미래에 상당히 증가할 것이다. 상황은 특히 대도시에서 심각한 데, 대도시에선 전가 가격이 최고치이고 전력 공급의 증가는 전혀 불가능할 수도 있다. 이러한 경우에, 사업을 확장시킬 수 있는 유일한 가능성은 기존의 전력 소비를 감소시키는 것이다.
저강도의 사무실 소음(예를 들어, 워크스테이션 또는 랩톱내의 HDD의 회전에 의한)은 생산성, 동기 부여 및 배울 능력을 감소시키며, 건강 위험을 초래할 수도 있다. 5,400-7,200 RPM으로 회전하는 평균 데스크톱 하드 드라이브의 소음 레벨은 일반적으로 30 내지 50dBA이다. 고속으로 회전하는 고성능 하드 디스크는 더 많은 소음을 발생시킨다. 디스크 헤드의 탐색 관련(seek-related) 소음은 사용자의 주의를 흩뜨리는 데 이 소음의 불규칙적 특성으로 인해 더욱 사용자의 주의를 흩뜨린다. (디스크의 표면을 판독하고 기록하기 위해선, 드라이브는 액추에이터 아암의 일단부에 위치된, 헤드로 지칭되는 소형 전자기 어셈블리를 사용한다. 스핀들상의 각각의 플래터 표면에 하나의 헤드가 있다. 디스크는 매우 고속으로 회전하여 헤드가 디스크의 표면 위를 고속으로 이동하는 것을 허용한다. 액추에이터 아암의 타단부를 향해 피벗지점이 있고, 이 단부에 음성 코일이 있고 이것이 헤드를 이동시킨다.) 당업자는 양호한 방음기능을 갖는 제조 컴퓨터도 가능하다고 주장할 수 있지만, 기존의 하드웨어 의한 사무실 소음 레벨을 감소시키는 시스템 및 방법이 요망된다.
더욱이, 회전하는 하드 디스크 드라이브는 깨지기 쉽고 충격에 민감하다. (워크스테이션 및, 물론 랩톱도 워크스테이션 및 랩톱이 떨어 뜨려지는 경우 특히 랩톱이 떨어 뜨려지는 경우 물리적 충격에 영향을 훨씬 많이 받게된다.) 디스크 플래터 위를 이동하는 디스크 헤드의 상대 속도는 디스크 속도에 좌우되고 15KRPM 드라이브에 대해 시간 당 150마일을 초과할 수 있다. 급작스런 충겨 또는 진동의 경우에, 디스크 헤드는 플래터 표면을 접촉하여 손상시킬 수 있다.
회전 영향은 모바일 디바이스에 대해 문제를 악화시킨다. 소형 디스크 플래터도 플래터, 디스크 헤드 및 디스크 플래터로부터 긁힌 입자들의 층돌에 으한 연쇄 반응을 일으킬 수 있다. 그러므로, 디스크 드라이브 헤드와 플래터의 단일 충돌의 경우도 드라이브의 고속 손실 및 데이터의 고속 손실 결과를 초래할 수 있다.
대기 모드에 있는 비회전 디스크는 회전중인 디스크 보다 전력을 덜 소비하고 열을 덜 발생시키며 회전하고 있는 유휴 상태의 디스크 보다 적어도 3배 정도 전력을 덜 소비하고 열을 덜 발생시킨다. 이 애플리케이션의 목적을 위해, 용어 "대기(stand-by)"는 스핀하고 있지 않은 즉 비회전 상태를 지칭한다. 또한, 스핀하고 있지 않은 비회전 디스크는 소음이 없다. 이런 상태의 디스크는 충격에 4내 내지 5배 정도 덜 민감하고 따라서 더욱 신뢰성이 있다. 그러므로, 디스크가 스핀하고 있는 시간을 최소화하는 것이 바람직하다.
오늘날 존재하는 "회전하는 하드 디스크"에 대한 대부분의 해결책은 휴대용 디바이스, 서버, 또는 RAID 제어기를 대상으로 한다. "한 매체" 해결책은 단지 하나의 저장 디바이스에 의한 문제만을 해결한다. 불행히도, 미래의 상황을 예측하는 것(디스크 액세스 패턴을 포함함)은 불가능하고 기록을 지연시키는 것은 데이터의 손실 위험을 증가시킨다. 데이터 판독에 대한 틀린 예측은 디스크 드라이브가 언제나 회전하고 있는 시스템에 비해 흔히 전력 소비를 증가시킨다. 또한, 캐시에 없는 데이터에 대한 판독 요구의 경우에 디스크 드라이브가 스핀업하기 까지 사용자는 수초 동안 대기한다. 데이터 기록을 지연시키는 것은 데이터 손실 가능성을 증가시키고 하드 디스크 마모를 상당히 증가시키는 디스크의 스핀업을 빈번히 행한다. 예를 들어, 데스크톱 하드 디스크는 고장나기 전에 전체 약 50,000번의 스핀업 절차를 견딜 수 있다. 플래시 메모리는 전력을 덜 소모하고 더 고속으로 동작한다. 그러나, 용량이 작고 제한된 횟수의 기록만을 견딜 수 있다. 하이브리드 드라이브는 빌트인 비휘발성 플래시 메모리를 포함한다. 이것은 캐시 저장을 위한 메모리 용량을 증가시키고 디스크 드라이브를 스핀업하지 않고도 일정량의 데이터를 지속적으로 저장하는 것을 허용한다. 그러므로, 하이브리드 드라이브는 더 많은 데이터를 미리인출(prefetch)하는 것을 허용하고 디스크로의 데이터 기록을 데이터 신뢰성을 잃지 않고 지연시키는 것을 허용한다. 불행히도, 하이브리드 드라이브는상기와 같은 문제점들을 단지 부분적으로만 해결한다. 판독 요구 예측오류 및 대량의 기록은 여전히 디스크에 액세스할 것을 필요로 한다. 또한, 하이브리드 드라이브는 기존의 하드 드라이브의 대체를 필요로 하는 하드웨어 솔루션이고, 플래시 메모리가 마모되었다면 업그레이드하는 것 및 데이터 블록에 대해 동작하는 것이 어렵거나 불가능하며 따라서 파일 시스템 레벨의 메타 정보에 액세스하지 못한다. (메타 정보는 데이터 미리인출 최적화에 필요하다). 두 개의 독립적인 디바이스로서 하드 디스크 드라이브와 플래시 드라이브에 대해 작용하는 실험적인 드라이브 레벨 솔루션은 제1 및 제2 문제점에 대한 염려가 없다.
디스크 없는 서버, 워크스테이션 및 씬 클라이언트(thin client)는 로컬 하드 드라이브 대신에 원격 저장장치를 사용한다. 원격 저장 시스템은 일반적으로 다수의 하드 디스크로 이루어 진다. 이러한 시스템은 디스크의 인기도에 따라 데이터를 그 디스크에 분배하고, 상이한 특성을 갖는 다중 속도 디스크 또는 디스크들을 사용하며, 일부 디스크에 대해 판독 및 기록을 위한 캐시로 전용할 수 있다. 이것은 빈번하게 다수의 디스크들이 상당한 백분율로 오프상태에 있도록 하는 능력을 허용한다. 불행히도, 디스크없는 클라이언트는 영구적이고 고품질의 네트워크 연결을 필요로 한다. 그러므로, 이 기술은 대부분의 모바일 시스템에 대해선 적합하지 않다. 또한, 디스크없는 시스템은 덜 일반적이고 따라서 구성하기가 어렵고 사용자 및 관리자를 지원하기가 어려우며, 따라서 하드 드라이브를 사용하는 시스템이가장 널리 사용된다.
대부분의 노트 북 및 서버 시스템내의 하드 디스크는 어떠한 판독 및 기록 요구가 행해지지 않는 경우에도 유휴 모드로 유지된다. 시스템의 하드 디스크를 대기(비회전) 모드에 두는 시스템은 흔히 자신들이 해결하는 것 보다 더 많은 문제점을 부가한다.
디스크가 전혀없는 클라이언트는 사용자 및 관리자에게 불편사항을 부가한다. 데스크톱 솔루션은 큰 대기시간을 갖고 네트워크 문제가 생기는 경우엔 사용할 수 없게 된다. 또한, 그러한 시스템은, 머신 자체에 의해 한정되지 않는, 상이한 관리 프로세스를 갖는다. 이것이 디스크없는 데스크톱 및 서버가 제한된 선택사항을 갖는 이유이다. 플래시 메모리의 최근의 크기의 증가로 인해, 플래시 메모리가 시스템 디스크를 대체할 것으로 예상된다. 그러나, 오늘날 이용할 수 있고 적어도 미래에 이용할 수 있을 크기는 사용자가 필요로 하는 것 보다 훨씬 작고 고가이다.
다수의(상이할 수도 있는) 디스크를 조합하는 솔루션은 서버 타입 워크로드에 더욱 효과적이라는 것이 알려졌다. 불행히도, 서버 및 데스크톱은 단 하나의 (시스템) 디스크만을 갖는다. 플래시 메모리와 하드 디스크의 조합은 부분적으로 문제를 해결하지만 여전히 수명이 짧고 플래시 메모리가 캐시에 없는 데이터 판독을 요구하는 경우엔 긴 액세스 대기시간을 갖는 결과를 초래한다. 데이터를 저장하기 위해 네트워크 연결을 이용하여 디스크와 플래시 메모리를 증대시키기 위한 이전의 시도들은 모바일 시스템상에서 배터리 수명을 늘리고 성능을 개선시키는 것으로 나타났다. 그러나, 그러한 시도들은 디스크 수명을 감소시키고 서버상에서의 전력 소비를 증가시키고 그 결과 기업 규모에서 전반적으로 전력 소비를 증가시킨다.
데이터 신뢰성 및 이용가능성은 일반적으로 저장 시스템에겐 가장 중요한 필요요건이다. 종래의 전력 최적화 솔루션은 흔히 이 필요요건들과 상반되고 사용자와 관리자의 편리성을 감소시킨다. 예를 들어, 빈번한 스핀업 및 스핀 다운 동작은 데이터 신뢰성 및 이용가능성을 증가시키지만 하드 디스크 드라이브의 수명 및 신뢰성을 감소시킨다. 결과적으로, 이 특징들은 대부분의 서버 및 데스크톱상에서 사용불가능하게 되거나 그 구성에 한 시간 정도의 긴 타임아웃을 필요로 한다. 노트북 하드 디스크는 더 많은 스핀업 동작 규모 정도로 생존할 수 있지만 전력 균형 붕괴가고려되는 경우에만 일년안에 마모될 것이다. 마찬가지로, 디스크없는 클라이언트는 서능을 열화시키고 네트워크 인프라구조 문제가 발생하는 경우 동작하지 않게 된다.
전력 소비문제에 추가하여, 하드 디스크는 소음, 손상되기 쉬움, 분실 또는 손실의 용이함등과 같은 일련의 기타 문제를 제기한다. 그러나, 서버, 데스크톱 및 모바일 시스템은 상이한 디스크 및 상이한 배치 시나리오를 갖는 데, 이는 상기 설명한 문제들을 중요하게 하거나 전혀 중요하지 않게 한다. 예를 들어, 노트북의 디스크는 유휴 상태에서 전력을 거의 소비하지 않으며 그것의 전력소비 최적화는 기업 규모로는 거의 인식할 수 없을 정도일 뿐만 아니라 배터리 수명에는 일반적으로 무시할 만한 정도이다. 기업내의 데스크톱은 고속 로컬 네트워크에 거의 언제나 신뢰성있게 연결되는 반면에 노트북은 임의의 시점에 연결이 끊길 수 있다.
하기와 같은 기능을 제공하는 클라이언트 파일 시스템이 필요로 된다.
1. 일시적인 네트워크 문제로 인해 데스크톱이 연결이 끊길 때 또는 모바일 클라이언트가 네트워크 인프라구조로부터 분리되어 있을 때, 필요한 백업 저장의 비용을 상당히 증가시키지 않고, 기업내의 데스크톱의 각각의 하드 디스크의 실행시간 데이터 보호(CDP 또는 적어도 복제)를 제공하는 것;
2. 로컬 하드 디스크를 짧은 시간 동안 하루에 수회 스핀업시키는 것;
3. 적어도 일반적인 사용자 워크로드하에서 로컬 디스크에 대한 동작과 유사한 데이터 액세스 대기시간 및 대역폭을 제공하는 것; 및
4. 기존의 인프라구조에서 최소의 하드웨어 및 소프트웨어 수정을 필요로 하는 것.
하드 디스크는 고장나는데, 이 고장은 필수적이고 예측불가능하다. 사람들은 실수를 하거나 유용한 데이터를 덮어 쓰기하거나 삭제한다. 하드 디스크 또는 전체 컴퓨터는 분실 떠는 손실될 수 있다. 데이터 백업 시스템은 이러한 유해한 이벤트의 결과들을 최소화하려고 노력한다. 데이터 백업 시스템은 주기적으로 파일의 서브셋트의 스냅숏을 생성한다. 이것은 두 개의 문제를 제기한다.
1. 일부 중요한 데이터는 파일 서브셋트 선택에 대한 실수(이것은 선택이 이미 너무 늦은 경우 일반적으로 실현된다)로 인해 보호되지 않은 상태에 놓일 수 있다.
2. 가장 최근의 (따라서 빈번하게 가장 중요한) 데이터 갱신 내용이 보호되지 않는다.
첫번째 문제는 전체 하드 디스크를 백업함으로써 해결될 수 있다. 그러나, 그것은 일반적으로 시간이 많이 걸리는 작업이고 백업을 위해 고가의 저장 시스템이 사용되기 때문에 비용을 고려할 때 금지되는 것으로 고려된다. 또한, 백업 저장장치의 양을 증가시키는 것은 기업 전력 소비를 증가시킨다.
두 번째 문제는 실행시간 데이터 복제에 의해 부분적으로 해결된다. 또한, 파일의 초기 버전으로 되돌아가는 것은 흔히 바람직하다. 예를 들어, 사용자가 실수로 문서의 일부를 삭제하는 경우, 사용자는 삭제된 부분을 복구하기 위해 파일의 초기 버전으로 되돌아갈 필요가 있다. 연속 데이터 보호(CDP;Continuous Data Protection)는 모든 데이터 갱신에 대해 즉시적으로 백업 복사본을 보존한다. 이것은 사용자가 파일을 임의의 이전 시점의 상태로 되돌릴 수 있게 한다. 불행히도, 모바일 사용자는 신뢰할 수 있는 네트워크 링크에 연결되지 않았을 때 보호되지 않은 상태에 놓인다.
그러므로, 관련 기술의 결점중의 적어도 하나를 해결하는 해결책이 필요하다.
본 발명은 로컬 하드 드라이브에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 로컬 하드 드라이브의 수명을 연장시키도록 로컬 하드 드라이브를 대기(회전하지 않는) 모드로 유지시키기 위한 리버싱된 데이터 백업 동작을 제공하는 방법 및 프로그램 제품을 제공한다.
로컬 하드 드라이브와 원격 서버상에서의 데이터 복제는 데이터 생존성을 개선시키기 위해 사용되는 일반적인 기술이다. 예를 들어, 연속 데이터 보호(CDP;Continuous Data Protection) 시스템은 로컬 데이터가 수정될 때 마다 데이터를 원격 서버상에 복제할 수 있다. 본 발명은 네트워크 연결 및 그 대역폭이 충분할 때 주 저장 시스템으로서 원격 저장 시스템을 사용한다. 데이터가 원격 저장 시스템으로부터 판독되거나 이 시스템에 기록되는 시간 동안, 로컬 하드 디스크는 대기 모드에 머물러 있을 수 있다. 네트워크 연결이 되어있지 않거나 데이터 흐름을 처리하는 데 충분하지 않다면, 로컬 하드 디스크는 스핀업되고 판독 및 기록을 위한 주 저장 장치로서 임시로 사용된다. 가능한 경우엔, 두 저장장치의 위치에 있는 데이터는 동기화된다. 특히, 드라이브가 스핀업 상태에 있을 때, 원격 저장장치에 보내진 이전의 모든 기록들은 로컬 디스크에 기록된다. 시스템이 충분한 네트워크 연결을 획득했을 때, 로컬 하드 디스크에 이전에 기록된 데이터는 원격 서버에 기록된다.
임의의 시점에 네트워크 연결이 끊길 수 있는 모바일 시스템은 원격 서버에 보내진 데이터를 메모리에 보관해야 한다. 이 시스템들은 시스템의 파워다운시 또는 네트워크 연결이 끊겼을 때 상기와 같은 데이터를 로컬 디스크에 비워낸다. 데이터는 저장 위치중의 적어도 하나에 일관성을 유지하여 저장된다는 것을 유의해야 한다. 서버측 저장이 로컬 저장에 비해 신뢰성이 훨씬 높기 때문에, 데이터 신뢰성은 통상적인 CDP 시스템의 경우와 동일하다. 데이터는가능할 때 마다 CDP 서버에 저장되고 그렇지 않은 경우엔 로컬 하드 디스크에 저장된다. 유선 NIC는 하드 디스크 보다 전력을 덜 소비한다. 현대의 무선 네트워크 인터페이스 및 프로토콜은 충분한 보안, 대역폭, 낮은 대기 시간을 제공하고 전력을 거의 소비하지 않는다. 또한, 무선 인터페이스는 대부분의 현대 모바일 컴퓨터에 존재하고 일부는 여러 다양한 유형의 인터페이스를 갖는다(예로소, 와이파이 및 블루투쓰) 하드 디스크 드라이브는 어떠한 데이터도 판독되거나 기록되지 않을 때 대기(비회전) 모드에 놓일 수 있다. 그러므로, 로컬 시스템상에서의 전력 절감은 (1) 하드 드라이브가 정상적으로 유휴 모드(디스크는 회전하지만 데이터 판독 및 기록 요구에 대해 어떠한 것도 서비스되지않음)에 있는 동안 전력 절감 및 (2) 종래의 디스크 전력 절약 접근 방법에 비해 덜 빈번한 디스크 스핀업 동작으로부터 생긴다. 또한, 다수의 큰 하드 드라이브를 갖춘 백업 저장 시스템은 백업 서버를 사용하는 개별 컴퓨터의 모든 로컬 디스크 보다 에너지를 덜 소비한다. 그러므로, 본 발명은 기업에서 소비되는 에너지의 전체양을 감소시킬 수 있다.
본 발명은 개인용 컴퓨터 및 휴대용 디바이스에 대해 하기와 같은 이점을 갖는다.
1. 클라이언트상에서의 (및 백업 서버상에서의 특별한 전력 절감 조치가 적용된다면 기업내에서 전반적인) 전력 절감;
2. 감소된 소음 레벨; 및
3. 충격 및 진동에 대한 증가된 디스크 드라이브 생존가능성
데이터 프리페칭에 기초한 표준 솔루션에 비해, 제안된 발명은 더욱 적은 횟수의 디스크 스핀업을 필요로 하고 따라서 다음과 같은 추가의 장점을 갖는다.
1. 더 많은 전력 절감을 허용하고; 소음을 덜 발생시키거나 전혀 발생시키지 않으며; 디스크를 충격에 덜 취약하게 함.
2. 디스크 수명을 감소시키지 않음.
3. 사용자는 캐시 미스가 발생하는 경우 디스크가 스핀업할 때 까지 수 초 동안 대기할 필요가 없음.
본 발명의 시스템 및 방법은 또한 데이터 센터내의 CDP 클라이언트로서 구성된 서버상에 배치될 수 있다. 그러한 경우에 하기와 같은 추가의 이점을 제공한다.
1. 연산 노드상에서의 열 발생 감소; 및
2. 상기 설명한 바와 같이, 다수의 하드 드라이브를 갖춘 저장 시스템은 자신의 전력 소비를 더욱 효과적으로 최적화할 수 있으므로, 전체 시스템의 열 발생 감소.
본 발명은 필요에 따라(예를 들어, 높은 I/O 활동 주기 동안) 로컬 하드 드라이브와 원격 서버간의 스위칭을 허용하고 시스템은 여전히 사용자에게 편리한 것인, 부팅 디스크를 갖춘 일반적인 시스템으로서 구성된다.
도 1a는 "정상" 동작 모드에서 본 발명에 따른 시스템을 예시한 도면이다.
도 1b는 동기화 동안 동작하는 본 발명에 따른 시스템을 예시한 도면이다.
도 1c는 파일 액세스를 위해 로컬 저장장치를 사용하여 동작하는 본 발명에 따른 시스템을 예시한 도면이다.
도 1d는 고레벨에 있는 본 발명에 따른 시스템을 예시한 도면이다.
도 2는 본 발명의 시스템에 대한 예시적인 스택가능 구현을 나타낸 도면이다.
도 3a는 동기화가 필요로 될 때를 결정하는 본 발명에 따른 방법을 예시한 도면이다.
도 3b는 액세스할 데이터 저장장치를 결정하는 본 발명에 따른 방법을 예시한 도면이다.
도 4는 본 발명에 따른 클라이언트를 예시한 도면이다.
도 1b는 동기화 동안 동작하는 본 발명에 따른 시스템을 예시한 도면이다.
도 1c는 파일 액세스를 위해 로컬 저장장치를 사용하여 동작하는 본 발명에 따른 시스템을 예시한 도면이다.
도 1d는 고레벨에 있는 본 발명에 따른 시스템을 예시한 도면이다.
도 2는 본 발명의 시스템에 대한 예시적인 스택가능 구현을 나타낸 도면이다.
도 3a는 동기화가 필요로 될 때를 결정하는 본 발명에 따른 방법을 예시한 도면이다.
도 3b는 액세스할 데이터 저장장치를 결정하는 본 발명에 따른 방법을 예시한 도면이다.
도 4는 본 발명에 따른 클라이언트를 예시한 도면이다.
본 발명의 상기한 특징 및 기타 특징은 첨부 도면과 연계하여 본 발명의 여러 양상에 대한 하기에 설명하는 발명의 상세한 설명으로부터 더욱 용이하게 이해될 것이다.
도면은 반드시 축척비율에 따라 나타낼 필요는 없다. 도면은 단순히 개략적인 표현을 나타내는 것이고, 발명의 특정한 파라미터를 반영하는 것을 의도하진 않는다. 도면은 단지 발명의 대표적인 실시태양만을 묘사하는 것을 의도하므로 발명의 범위를 제한하는 것으로 이해되지 않아야 한다. 도면에서 유사하게 부여한 도면 참조부호는 유사한 구성요소를 나타낸다.
본 발명의 연속 데이터 보호(CDP;continuous data protection) 클라이언트 파일 시스템은 모든 데이터에 대해 계층적인 실행시간 데이터 보호를 제공하고 대부분의 기업 하드 디스크가 대부분의 시간에 대기 상태(stand-by state)(플래터가 회전하지 않는)로 유지될 수 있도록 한다. 본 발명의 CDP 클라이언트 파일 시스템은 실제 기업에서 사용되도록 하기 위해 디스크 수명을 감소시키지 않는다. CDP 클라이언트 파일 시스템은 데이터 신뢰성을 실질적으로 증가시키고, 전체 전력 소비를 감소시키고, 기업을 더욱 친환경적이 되게 하고, 성능을 개선시킴으로써 사용자편리를 증가시키며, 사무실 소음레벨을 감소시킨다.
요약하면, 본 발명의 CDP 클라이언트 파일 시스템은 하기와 같은 기능을 제공한다.
1. 일시적인 네트워크 문제로 인해 데스크톱이 연결이 끊길 때 또는 모바일 클라이언트가 네트워크 인프라구조로부터 분리되어 있을 때, 필요한 백업 저장의 비용을 상당히 증가시키지 않고, 기업내의 각각의 하드 디스크의 실행시간 데이터 보호(CDP 또는 적어도 복제)를 제공하는 것;
2. 로컬 하드 디스크를 짧은 시간 동안 하루에 단지 수회 스핀업시키는 것;
3. 적어도 일반적인 사용자 워크로드하에서 로컬 디스크에 대한 동작과 유사한 데이터 액세스 대기시간 및 대역폭을 제공하는 것; 및
4. 기존의 인프라구조에서 최소의 하드웨어 및 소프트웨어 수정을 필요로 하는 것.
상기한 바와 같은 난제(challenge)를 해결하기 위해, 본 발명은 하기와 같은 이점을 제공한다. (1) 버퍼에 저장되어 모든 시간 동안 보호함; (2) 리버싱된 백업 동작; 및 (3) 모든 데이터 보호. 또한, 본 발명의 CDP 클라이언트 파일 시스템은 임의의 기존의 기업 IT 인프라구조에 맞도록 모듈러 구조를 갖는다. 본원은 특히 (2) 리버싱된 백업 동작에 대해 설명한다.
본 발명의 CDP 클라이언트 파일 시스템은 정상적인 조건하에서 백업 및 로컬 하드 디스크 저장장치의 사용을 리버싱한다. 즉, 모든 판독 및 기록 요구는 정상적으로 원격 백업 타겟에 전송되지만 로컬 디스크엔 전송되지 않는다. 본 발명의 도 1에 도시된 시스템(100)은 파일에 대한 IBM사의 Tivoli® CDP(IBM's Tivoli® Continuous Data Protection for Files) 와 같은, CDP 시스템(108)에 연결된 애플리케이션(102)을 갖는 CDP 클라이언트(101)를 갖는다. (파일에 대한 IBM사의 Tivoli® CDP는 붕괴, 사용자 에러, 바이러스 또는 시스템 고장의 경우에 완전한 데이터 보호를 제공하는 복구 솔루션이다.)(파일에 대한 IBM's Tivoli® CDP에 대한 더 많은 정보에 대해선, http://www-306.ibm.com/software/tivoli/resource-center/storage/cdp.jsp?S_TACT=104CB62&ca=104CB627를 참조) CDP 시스템(108)은 기록 동작(114) 및 판독 동작(116)이 원격 서버(110)에 대해 행해질 수 있도록 외부 통신 채널(112)과 네트워크(113)를 통해 원격 서버(110)에 연결된다. 시스템(100)은 또한 로컬 하드 드라이브(105)를 갖는다. CDP는 서버측(110)상에 제공된다. 그 경우에, 원격 클라이언트가 버저닝 파일 시스템으로부터의 파일에 대한 특정한 파일 버전을 요구하는 것을 허용하는 특수한 매커니즘의 구현을 필요로 한다. 클라이언트상에서 스택가능 버저닝 파일 시스템을 실행시키는 것도 가능하다는 것을 유의해야 한다. 이 구현은 시스템이 임의의 수정없이 기존의 파일 서버(예를들어, NFS 또는 CIFS 서버)(110)를 사용하는 것을 허용하지만 열악한 성능을 가질 것으로 예상된다. 대표적인 사용에서, 본 발명에 따라, 애플리케이션(102)에 대한 데이터는 원격 서버(110)에 (장기간)저장되고 애플리케이션(102)은 네트워크(113)와 원격 서버(110)이 동작하고 있을 때 필요에 따른 기준으로 원격 서버에 대해 판독/기록 동작을 수행한다.
도 1b는 원격 서버(110)가 CDP 클라이언트(101)의 로컬 하드 드라이브(105)와 동기화하고 있을 때의 시간 동안 본 발명의 시스템(200)을 예시한다. 동기화(양방향 판독/기록 화살표(118)로 예시된 바와 같은)는, 클라이언트(101)가 셧다운되었을 때(따라서 로컬 하드 드라이브(105)는 원격 서버(110)가 클라이언트를 위한 주 저장장치에 있었을 때의 시간 동안에 행해진 모든 갱신내용을 가지게 됨), 클라이언트(101)가 부트업되었을 때(따라서 로컬 하드 드라이브(105)와 원격 서버(110)는 클라이언트의 충돌 또는 바람직하지 못한 셧다운에 기인하여 놓칠 수도 있었을 갱신내용을 가지게 됨), 클라이언트가 서버와 다시 연결되었을 때, 서버가 다운되거나 네트워크가 다운되거나 데이터를 서버(110)로/로부터 전송하기엔 충분치 않은 용량을 가지고 있을 때, 또는 클라이언트가 로컬 하드 드라이브(105)에 대해 지나치게 많은 해결되지 않은 기록을 가지고 있을 때 발생한다. 동기화를 초래할 수 있는, 만일 기타 조건들이 존재한다면, 이 조건들로는 사용자에 의한 수동작업에 의한 디스크 스핀업을 포함하고 사용자 편리에 기인한 디스크 스핀업은 본원에서 언급되지 않는다. 이것은 도 1c에, 내부 통신 채널(106)을 통해 로컬 하드 드라이브(105)와 애플리케이션(102)간의 판독/기록 화살표(122/120)로 도시되어 있다
도 1d엔 기본 네트워크 블록도가 도시되어 있다. 네트워크 어댑터(도 4의 네트워크 어댑터(438))는 시스템(100)(도 1d에서, 클라이언트(101))이 개인 또는 공용 네트워크(네트워크(113)) 중재를 통해 타겟 서버(원격 서버(110)) 또는 원격 프린터(프린터(120)) 또는 저장 디바이스(저장장치(122))에 연결될 수 있도록 시스템에 연결된다. (컴퓨터 네트워크는 데이터, 자원 및 통신의 공유를 위한 목적으로 원격통신 시스템을 사용하여 함께 연결된 다수의 컴퓨터로 이루어진다. 더욱 상세한 정보에 대해선, http://historyoftheinternet.org/를 참조). 모뎀, 케이블 모뎀 및 이더넷 카드들은 단지 현재 이용가능한 여러 타입의 네트워크 어댑터들이다. 네트워크 카드, 네트워크 어댑터 또는 NIC는(network interface card) 컴퓨터가 컴퓨터 네트워크를 통해 통신할 수 있도록 설계된 컴퓨터 하드웨어의 부분이다. 이는 네트워크 카드, 네트워크 어댑터 또는 NIC가 네트워킹 매체에 대한 물리적 액세스를 제공하고 MAC 주소의 사용을 통해 로우 레벨의 주소지정 시스템을 제공하므로, OSI 계층 1(물리 계층) 및 계층 2(데이터 링크 계층) 디바이스이다. 이는 사용자가 케이블을 사용하여 또는 무선으로 서로 연결하는 것을 허용한다.
상기 설명한 바와 같이, 본 발명의 클라이언트는 원격 서버(110)와 로컬 하드 디스크(105)의 역할을 리버싱시키는 데; 로컬 하드 디스크(105)는 원격 위치에 저장된 데이터의 백업이 된다. 이것은 로컬 네트워크 인프라구조(LAN/WAN (113))가 문제를 갖고 있을 때, 고대역폭 워크로드에 대해 충분하지 못할 때, 및 모바일 클라이언트가 분리 모드에서 동작하거나 열악한 네트워크 연결로 동작하고 있을 때 사용된다.
리버스 동작 모드는 본 발명의 클라이언트가 시스템 및 기타 로컬 워크스테이션 하드 디스크를 대부분의 시간 동안 오프로 유지시키는 것을 허용한다. 어떤 의미에선, 로컬 하드 디스크는 서버 연결 문제가 있거나 원격 저장 대역폭 및 대기시간이 사용자에게 현저한 불편을 초래할 경우에 복구 매커니즘이 될 수 있다.
본 발명의 시스템(200)은 도 2에 도시된 바와 같은 스택가능 파일 시스템으로서 또는 스택가능 디바이스 드라이브로서 구현될 수 있다. 스택가능 디바이스 드라이브는 파일 시스템 캐시의 하위에서 동작하고 메타 정보에 대한 직접적 액세스권한을 갖지 못하며 따라서, 본원에선 고려되지 않는다. 도 2에 도시된 바와 같은 스택가능 파일 시스템과 같은 스택가능 파일 시스템은 파일 시스템 캐시의 상위에서 동작하고 메타 정보에 대한 액세스 권한을 가지며 기존의 파일 시스템의 특징 및 양호하게 유지된 코드를 재사용할 수 있다. 제안된 기능을 구현하는 스택가능 파일 시스템(200)은 두 개의 하위 파일 시스템으로서, 하나는 로컬 하드 디스크(105)에 장착된 Ext3(104)와 같은 로컬 파일 시스템이고 다른 하나는 NFS(206) 또는 CIFS와 같은 원격 파일 시스템인 파일 시스템들 위에 장착될 수 있다. 본 발명의 스택가능 파일 시스템(200)운 주 파일 시스템으로서 두 개의 파일 시스템(104, 206)중 임의의 것을 사용할 수 있다. 가장 간단한 경우에서, 로컬 디스크 드라이브(105)는 일정 시간 동안 사용되지 않는다면 APM 또는 ACPI에 의해 자동적으로 턴오프될 것이다. (APM(Advanced Power Mannagement)는 인텔 및 마이크로소프트사에 의해 개발된 API이고 이것은 운영체제가 전력 관리를 달성하기 위해 (컴퓨터 펌웨어의 부분으로서) BIOS와 작용하도록 IBM 호환형 개인 컴퓨터에서 실행할 수 있도록 한다.) ACPI는 APM의 후계자임을 의도한다. ACPI(Advanced Configuration and Power Interface)) 규격은 하드웨어를 인식하기 위한 공통 인터페이스, 마더보드 및 디바이스 구성 및 전력 관리를 정의하는 HP, 인텔, 마이크로소프트, 피닉스 및 도시바에 의해 1996년 12월 개발되어 맨처음 출시된 개방 산업 표준이다. 상기 규격에 따르면, "ACPI는 운영체제 지향형 구성 및 전력 관리(OSPM; Operating System-directed configuration and Power Management)의 주요 요소이다." 좀 더 복잡한 경우에, 스택가능 파일 시스템(200)은 명백히 로컬 하드 디스크(105)를 대기 모드에 있도록 할 수 있다.
독립적인 클라이언트측 솔루션은 클라이언트측 상에서 완전하게 백업된 데이터에 대한 데이터 버저닝을 지원해야 한다. 예를 들어, 이것은 원격 파일 시스템 위에 장착된 버전에프에스(VersionFS) 스택가능 파일 시스템을 사용하여 달성될 수 있다. 이 경우, 클라이언트는 서버측상에서 임의의 수정을 필요로 함이 없이 임의의 표준 파일 서버와 통신할 수 있다. 불행히도, 그러한 구현은 클라이언트와 서버간에 전송된 데이터 및 요구의 과도한 양 때문에 열악한 성능을 가질 수 있다. 성능면에서의 이유로 인해, 서버측상에서 파일 버저닝을 지원하는 것과 클라이언트가 임의의 이전 파일 버전으로 되돌아갈 수 있게 하는 특수한 프로토콜을 지원하는 것을 필요로 할 수 있다.
일반적인 CDP 시스템은 단지 사용자 파일 시스템의 서브셋트만을 백업한다. 그러나, 사용자가 백업할 파일의 서브셋트를 선택할 때 빈번하게 오류를 범한다는 문제가 있다. 본 발명은 모든 것이 백업되므로 이러한 문제를 일으키는 것을 허용하지 않는다.
압축은 저장 공간을 절약할 뿐만 아니라 서버 성능을 개선시킬 수 있는 데 이는 더 작은 캐시 메모리를 사용하기 때문이다. 어느 경우에도, 이진수로 된 프로그램 기타 재생가능한 파일은 대응하는 프로그램을 재설치하고 일부 기타 파일을 재생하는 것 보단 백업으로부터 상기 파일들을 더욱 용이하게 복구할 수 있게 한다.
그럼에도 불구하고, 재생가능한 데이터를 백업하는 것이 바람직하지 않다면, 당업자는 그러한 파일을 백업하거나 가장 빈번하게 사용되는 파일들만을 백업할 수 있다.
상기 설명한 스택가능 파일 시스템 구현은 플래시 메모리 디바이스 위에 장착된 추가의 하위 파일 시스템을 지원하도록 자연적으로 확장될 수 있다. 이러한 추가의 파일 시스템은 기록을 버퍼링하고 일부 추가의 프리펫치된 데이터를 보관하기 위해 하이브리드 드라이브 및 드라이버 레벨 플래시 메모리 솔루션과 유사하게 사용될 수 있다. 그러나, 파일 시스템 레벨 구현은 여러 추가의 이점들을 갖는다.
1. 더욱 영리한 프리페치 결정을 행하기 위해 메타 정보에 액세스함;
2. 페이지 캐시 보다 상위에서 동작함으로써, 성능을 개선시킴; 그리고
3. 기타 파일 시스템의 재사용. 예를 들어, 제안된 스택가능 파일 시스템은플래시 드라이브 수명을 늘리기 위해 플래시 메모리에 대해 특별히 설계된 파일 시스템(예를 들아, JFFS2) 위에 장착될 수 있다.
데이터 갱신은 여러 조건을 기초로 하여 하루에 여러 번 로컬 디스크와 동기화된다. 동기화 구현을 결정하기 위한 이 방법(300)은 도 3a에 도시되어 있고 단계 302에서 시작한다. 단계 303에서, 저장 시스템이 장착되었는지의 여부에 대해 결정된다. 만일 저장 시스템이 장착되었다면, 단계 306에서, 동기화 프로세스가 계속되는 데 여기서 본 발명의 CDP 클라이언트는 원격 서버와 로컬 하드 드라이브간에 데이터를 동기화한다. 이것은, 원격 서버로의 네트워크 연결이 다음 부트 업 동작시 가능하지 않는 경우에도, 시스템은 자율적으로 동작하기 위해 모든 데이터를 국부적으로 가질 것이라는 것을 보장한다. 그후 방법은 방법이 종료하는 단계 322로 간다. 만일 저장 시스템이 장착되어 있지 않다면, 단계 308에서, 시스템이 메모리를 전부 사용했는지의 여부가 결정되고 메모리를 전부 사용하지 않았다면 단계 304에서, 저장 시스템이 현재 장착되지 않았는지가 결정된다. 저장 시스템이 현재 장착되지 않았다면, 상기한 바와 같이 동기화 프로세스는 단계 306에서, 계속된다. 단계 308에서, 메모리를 전부 사용하였다고 결정되면, 단계 310에서, 본 발명의 CDP 클라이언트가 로컬 하드 디스크를 스핀업하도록 구성되고 마크된 캐시 페이지를 로컬 디스크에 보냈는지에 대해 결정된다. 만일 마크된 캐시 페이지를 로컬 디스크에 보내지 않았다면, 페이지는 단계 312에서, 누락되고 프로세스는 단계 322에서, 종료한다. 이 모드는 영구적인 서버 및 워크스테이션에 적합하다. 영구적인 서버 및 워크스테이션이 재부팅되고 그들의 소프트웨어가 충돌한다해도, 그것들의 로컬 하드 디스크는 다음 부팅 시간 동안 재동기화될 수 있다. 만일 마크된 캐시 페이지를 로컬 디스크에 보냈다면, 단계 318에서, CDP 클라이언트는 로컬 하드 디스크를 스핀업하고, 단계 320에서, CDP 클라이언트는 마크된 캐시 페이지를 로컬 디스크에 보내고 프로세스는 단계 322에서, 종료한다. 이 구성은 모바일 컴퓨터가 임의의 시점에 서버로부터 분리되어 질 것을 필요로 한다. 이것들은 일반적으로 2.5인치 하드 디스크가 탑재되어 있고 상대적으로 빈번한 스핀 업 동작을 유지할 수 있다. 또한, 이 모드는 불안정한 네트워크 연결을 갖는 사무실 환경에서 필요로 할 수 있다. 본 발명의 시스템은 성능 개선을 위한 여러 최적화를 갖는다. 특히, 클라이언트가 단계 312에서, 페이지를 누락시키지 않으면, 이것들은 동기화시 서버로부터 인출될 필요가 없다. 또한, 데이터가 클라이언트에 의해 수정되지 않는다면, 서버상의 정보는 변화하지 않으며 따라서 데이터 및 메타 데이터를 재유효화할 필요는 없다. CDP 클라이언트는 수정되었지만(캐시(430)는 도 4에서 대표적인 클라이언트(402)내에 있는 것으로 도시되어 있음) 로컬 디스크(도 4의 418)에 보내지지 않은(메모리 캐시 페이지가 원격 저장 시스템에 보내지지 않은 경우에도) 메모리 캐시 페이지를 마크한다. 단계 304에서, 저장 시스템이 장착되어 있는 것으로 결정되면, 단계 314에서, 원격 저장 시스템으로의 대역폭 및 대기 시간이 사용자에 대해 현저한 불편을 초래하는지에 대해 결정된다. 만일 사용자에 대해 현저한 불편을 초래한다면, 프로세스는 단계 306으로 이동하고 상기 설명한 바와 같이 계속된다. 이와 같이 본 발명의 시스템 및 방법은, 로컬 저장장치를 사용하여 전력을 절감시킬 수 있음을 탐지하기 때문만이 아니라 긴 주기의 고 대역폭 데이터 판독 활동이 있다면, 로컬 디스크를 스핀업 시킨다.
본 발명의 시스템 및 방법은 시스템 페이지 캐시가 미해결의 기록 요구로 채워져 있다면 기록에 대해 동일하게 행한다. 또다시, 과도한 캐시 내용 지움(cache purging)에 기인하여 사용자에게 불편을 주는 것을 방지하기 위해 그리고 데이터 신뢰성을 향상시키기 위해 필요하다.
어느 경우에도, 본 발명의 CDP 클라이언트는 구성가능한 빈도로, 예를 들어 적어도 하루에 한번 또는 특정 횟수의 저 시스템 활동시 복사본을 주기적으로 동기화한다. 이것은 도 3a에 도시되어 있는 데, 도 3a의 단계 314에서, 원격 저장 시스템으로의 대역폭 및 대기시간이 사용자에게 현저한 불편을 초래하지 않는다면, 프로세스는 단계 315로 가서, 동기화를 위한 사전지정된 시간, 사전지정된 빈도 또는 사전지정된 활동량에 도달했는지가 결정된다. 만일 상기와 같은 사항에 도달하지 않았다면, 프로세스는 단계 322에서 종료하거나 대안으로, 만일 상기와 같은 사항에 도달하였다면, 프로세스는 상기 설명한 단계 306으로 간다. 도 3a는 직렬 방식으로 검사되는 동기화를 위한 조건을 예시하지만(단계 303, 304,314,315) 대안으로서 동기화를 위한 조건은 병렬 방식으로 검사될 수 있다.
대안으로서, 사용자는 수동으로 일부 특정한 요인에 대해 제한된 시간양 동안 디스크를 턴온시킬 수 있다.
본 발명의 CDP 클라이언트는 스핀업 동작의 비율 및 전체 스핀 시간에 대하여 정보를 보관하고 따라서 사용자 편리에 대한 균형을 맞춘다. 따라서, 본 발명의 CDP 클라이언트는 로컬 디스크가 지나치게 많이 스핀업하였거나 지난 수일 간 전체 스핀한 시간이 지나치게 긴 경우엔 고 대역폭 이용인 경우에도 로컬 하드 디스크를 스핀업 시키지 않을 것이다.
도 3b는 판독 또는 기록 동작이 필요할 때 액세스할 데이터 저장장치를 클라이언트에 의해 결정하는 방법(300B)을 예시하는 데 단계 302B에서 시작하여 단계 304B로 계속되며 여기서 원격 서버로의 네트워크 연결이 되어 있는지가 결정된다. 만일 연결되어 있지 않다면, 단계 306B에서, 데이터는, 경우에 따라서, 로컬 하드 드라이브로부터 판독되거나 이 드라이브에 기록되고 프로세스는 단계 322B에서 종료한다. 만일 연결되어 있다면, 단계 308B에서, 원격 서버가 업되고 동작하고 있는지가 결정된다. 만일 원격 서버가 업되지 않고 동작하고 있지 않다면, 프로세스는 상기 설명한 바와 같이 단계 306B로 간다. 만일 원격 서버가 업되고 동작하고 있다면, 단계 314B에서, 원격 저장 시스템으로의 대역폭 및 대기시간이 사용자에게 현저한 불편을 초래하고 있는지가 결정되고, 만일 현저한 불편을 초래하고 있다면, 프로세스는 상기 설명한 바와 같이 단계 306B로 간다. 만일 현저한 불편을 초래하고 있지 않다면, 단계 316B에서, 데이터는 상황에 따라서, 원격 서버로부터 데이터를 판독하거나 원격 서버에 데이터를 기록하고 프로세스는 단계 322B에서 종료한다.
도 4에 도시된 바와 같이, 시스템(400)내의 클라이언트(402)는 로컬 하드 드라이브(로컬 하드 드라이브 저장장치(418))에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 로컬 하드 드라이브(로컬 하드 드라이브 저장장치(418))의 수명을 연장시키도록 로컬 하드 드라이브(로컬 하드 드라이브 저장장치(418))를 대기(회전하지 않는) 모드로 유지시키기 위해 리버싱된 데이터 백업 동작을 수행한다. 대다수의 처리 시스템에서와 같이, 클라이언트(402)는 프로그램 코드를 저장 및/또는 실행하는 데 적합하고 시스템 버스를 통해 메모리 요소와 직간접으로 연결된 적어도 하나의 프로세서(처리 유닛(406))을 포함할 것이다. 메모리 요소는 프로그램 코드의 실제 실행 동안 채용된 로컬 메모리(RAM(430)), 벌크 저장장치(로컬 하드 드라이브 저장장치(418)), 및 정상 동작 동안 원격 서버(110)로부터 검색되어야 하거나 원격 서버(110)가 이용불가능할 때 동작 동안 로컬 하드 드라이브 저장장치(418)로부터 검색되어야 하는 프로그램 코드의 검색 횟수를 감소시키기 위해 적어도 일부 프로그램 코드에 대한 임시 저장 장소를 제공하는 캐시 메모리를 포함할 수 있다. 입력/출력 즉 I/O 디바이스(외부 디바이스(416))(키보드, 디스플레이, 포인팅 디바이스를 포함하지만 이에 한정되진 않음)는 직접적으로 또는 중재 I/O 제어기(I/O 인터페이스(414))를 통해 시스템에 연결된다. 클라이언트(402)는 또한 플래시 메모리(400)도 갖는다.
본 발명은 일반적으로 하드웨어 및/또는 소프트웨어를 통해 컴퓨터로 구현된다. 따라서, 클라이언트 시스템 및/또는 서버는 종래 기술에서 알려진 바와 같은 컴퓨터화된 컴포넌트를 포함할 것이다. 이러한 컴포넌트는 일반적으로 (컴포넌트들 중에서도) 처리 유닛, 메모리, 버스, 입력/출력(I/O) 인터페이스, 외부 디바이스등을 포함한다.
연속 데이터 보호를 위해 로컬 플래시 메모리 및 원격 서버 하이브리드를 수반하는 특정한 실시예가 묘사되고 설명되었을 지라도, 본 발명은 임의 유형의 백업 서버와 연계하여 구현될 수 있음을 알아야 한다.
본 명세서에서 로컬 하드 드라이브에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 로컬 하드 드라이브의 수명을 연장시키도록 로컬 하드 드라이브를 대기(회전하지 않는) 모드로 유지시키기 위한 리버싱된 데이터 백업 동작을 위한 시스템 및 방법으로서 도시되고 설명되었지만, 본 발명은 또한 여러 대안 실시예를 제공한다는 것을 알아야 한다. 예를 들어, 한 실시예에서, 본 발명은 컴퓨터 인프라구조가 리버싱된 데이터 백업 동작을 허용할 수 있도록 하기 위해 컴퓨터 프로그램 코드를 포함하는 컴퓨터로 판독가능한/사용가능한 매체를 제공한다. 이러한 의미에서 보면, 컴퓨터로 판독가능한/사용가능한 매체는 본 발명의 여러 프로세스 단계들의 각각을 구현하는 프로그램 코드를 포함한다. 용어로서 컴퓨터로 판독가능한 매체 또는 컴퓨터로 사용가능한 매체는 프로그램 코드의 하나 이상의 임의의 유형의 실제 구현물을 포함한다. 특히, 컴퓨터로 판독가능한/사용가능한 매체는 하나 이상의 휴대형 저장 제조 물품(예로서, 컴팩트 디스크, 자기 디스크, 테이프등)에 구체화되거나, 메모리 및/또는 저장 시스템(예로서, 고정된 디스크, 판독 전용 메모리, 임의 접근 메모리, 캐시 메모리등)과 같은 컴퓨팅 디바이스의 하나 이상의 데이터 저장부에 구체화된 컴퓨터 프로그램 코드, 및/또는 네트워크를 거쳐 이동하는(예로서, 프로그램 코드의 유선/무선 전자적 배포 동안) 데이터 신호(예로서, 전파된 신호)를 포함할 수 있다.
또다른 실시예에서, 본 발명은 로컬 하드 드라이브에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 로컬 하드 드라이브의 수명을 연장시키도록 로컬 하드 드라이브를 대기(회전하지 않는) 모드로 유지시키기 위한 리버싱된 데이터 백업 동작을 위한 컴퓨터로 구현된 방법을 제공한다. 이 경우에, 컴퓨터화된 인프라구조가 제공될 수 있고 발명의 프로세스 단계들을 수행하기 위한 하나 이상의 시스템이 획득되고(예를들어, 생성되고, 구입되고, 사용되고, 수정되는 등) 배치되어 컴퓨터화된 인프라구조가 될 수 있다. 이러한 의미에서 보면, 시스템의 배치는 (1) 컴퓨터로 판독가능한 매체로부터 컴퓨터 시스템과 같은 컴퓨팅 디바이스상에 프로그램 코드를 설치하는 것; (2) 하나 이상의 컴퓨팅 디바이스를 컴퓨터 인프라구조에 추가하는 것; 및 (3) 컴퓨터화된 인프라구조가 발명의 프로세스 단계들을 수행할 수 있도록 하기 위해 컴퓨터 인프라구조의 하나 이상의 기존 시스템을 통합하는 것 및/또는 수정하는 것 중 하나 이상을 포함한다.
본원에서 사용되는 바와 같이, 용어 "프로그램 코드" 및 "컴퓨터 프로그램 코드"는 동의어이고 정보 처리 능력을 갖는 컴퓨팅 디바이스가 특정한 기능을 직접 수행하게 하거나 (a) 다른 언어 또는 코드 또는 표기로 변환; 및/또는 (b) 상이한 재료 형태로 재생하는 것중 하나 또는 둘 모두를 수행한 후 특정한 기능을 수행하게 한도록 의도된, 임의의 언어, 코드 또는 표기로로 된 명령어 셋트의 표현을 의미한다. 이러한 의미에서 보면, 프로그램 코드는 애플리케이션/소프트웨어 프로그램, 컴포넌트 소프트웨어/함수 라이브러리, 운영 체제, 특정한 컴퓨팅 및/또는 I/O 디바이스를 위한 기본 I/O 시스템/드라이버등에서 하나 이상으로서 구체화될 수 있다.
본 발명의 다양한 양상에 대한 상기 설명은 예시적으로 그리고 설명을 위한 목적으로 제공되었다. 본 발명에 대해 하나도 빠뜨리는 것 없이 설명되었다거나 개시된 형태에 한정된다는 것으로 설명한 것은 아니며, 명백히 다수의 수정 및 변형도 가능하다. 당업자에겐 명백할 수 있는 그러한 수정 및 변형도 첨부 특허청구범위에 의해 정의된 발명의 범위내에 포함된다는 것을 의도한다.
101; 클라이언트
102;애플리케이션
105; 로컬 하드 드라이브
106; 내부 통신 채널
108; 시스템
110; 원격 서버
112; 외부 통신 채널
404; 컴퓨터 시스템
406; 처리 유닛
410; 메모리
414; I/O 인터페이스(들)
416; 외부 디바이스(들)
418; 로컬 하드 디스크
420; 디스플레이
432; 캐쉬
438; 네트워크 어댑터
440;플래시 메모리
442;하드 디스크 드라이버
444; 플래시 디스크 디바이스 드라이버
446;네트워크 프로토콜 구현체
102;애플리케이션
105; 로컬 하드 드라이브
106; 내부 통신 채널
108; 시스템
110; 원격 서버
112; 외부 통신 채널
404; 컴퓨터 시스템
406; 처리 유닛
410; 메모리
414; I/O 인터페이스(들)
416; 외부 디바이스(들)
418; 로컬 하드 디스크
420; 디스플레이
432; 캐쉬
438; 네트워크 어댑터
440;플래시 메모리
442;하드 디스크 드라이버
444; 플래시 디스크 디바이스 드라이버
446;네트워크 프로토콜 구현체
Claims (10)
- 클라이언트로부터의 데이터를 저장하기 위한 원격 서버를 갖는 시스템에서 로컬 하드 드라이브에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 로컬 하드 드라이브의 수명을 연장시키도록 로컬 하드 드라이브를 대기(회전하지 않는) 모드로 유지시키며 디스크 스핀업 동작의 횟수를 최소화하기 위한 리버싱된 데이터 백업 방법에 있어서,
상기 클라이언트는 클라이언트 데이터를 네트워크를 통해 원격 서버에 기록하고 상기 클라이언트 데이터를 상기 원격 서버에서부터 상기 네트워크를 통해 판독하며, 상기 클라이언트는 상기 원격 서버에 저장된 클라이언트 데이터의 백업을 제공하기 위한 적어도 하나의 로컬 하드 드라이브를 갖고 있으며,
상기 리버싱된 데이터 백업 방법은,
a. 상기 로컬 하드 드라이브와 상기 원격 서버에 저장된 상기 클라이언트 데이터를 동기화하기 위한 하나 이상의 조건이 존재하는지를 결정하는 단계와,
b. 상기 하나 이상의 조건 중 적어도 하나가 존재한다면, 상기 원격 서버와 상기 로컬 하드 드라이브 간에 상기 클라이언트 데이터를 동기화하는 단계
를 포함하는 리버싱된 데이터 백업 방법. - 제1항에 있어서, 상기 하나 이상의 조건 중 하나의 조건은 저장 시스템이 장착되어 있다는 것인 리버싱된 데이터 백업 방법.
- 제1항에 있어서, 상기 하나 이상의 조건 중 하나의 조건은 저장 시스템이 장착되어 있지 않다는 것인 리버싱된 데이터 백업 방법.
- 제1항에 있어서, 상기 하나 이상의 조건 중 하나의 조건은 원격 저장 시스템과 클라이언트 간의 대기시간 또는 대역폭이 시스템의 하나 이상의 사용자에게 현저한 불편을 야기시킨다는 것인 리버싱된 데이터 백업 방법.
- 제1항에 있어서, 상기 하나 이상의 조건 중 하나의 조건은 상기 클라이언트가 메모리를 전부 사용했다는 것인 리버싱된 데이터 백업 방법.
- 원격 데이터 저장장치와 클라이언트 내에 로컬 데이터 저장장치를 가지며, 상기 클라이언트와 상기 원격 데이터 저장장치가 네트워크를 통해 연결되는 것인 시스템에서 상기 클라이언트가 액세스할 데이터 저장장치를 결정하기 위한 방법에 있어서,
네트워크가 동작하고 있는지를 결정하는 단계를 포함하며,
상기 네트워크가 동작하고 있지 않다면, 상기 클라이언트가 상기 로컬 데이터 저장장치에 액세스하고,
상기 네트워크가 동작하고 있다면, 상기 원격 데이터 저장장치가 동작하고 있는지를 결정하고,
상기 원격 데이터 저장장치가 동작하고 있지 않다면, 상기 클라이언트가 상기 로컬 데이터 저장장치에 액세스하고,
상기 원격 데이터 저장장치가 동작하고 있다면, 상기 원격 저장 시스템에 대한 대역폭 또는 대기시간이 사용자에게 현저한 불편을 야기시키는지의 여부를 결정하고,
상기 사용자에게 현저한 불편을 야기시킨다면, 상기 클라이언트가 상기 로컬 데이터 저장장치에 액세스하고,
상기 사용자에게 현저한 불편을 야기시키지 않는다면, 상기 클라이언트가 상기 원격 데이터 저장장치에 액세스하는 것인, 클라이언트가 액세스할 데이터 저장장치를 결정하기 위한 방법. - 네트워크 I/O, CPU 및 하나 이상의 데이터베이스를 포함하는 시스템에서 동작하고, 상기 시스템 내의 로컬 하드 드라이브에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 상기 로컬 하드 드라이브의 수명을 연장시키도록 상기 로컬 하드 드라이브를 대기(회전하지 않는) 모드로 유지시키며 디스크 스핀업 동작의 횟수를 최소화하기 위한 리버싱된 백업 동작에 대한 방법을 구현하기 위한 컴퓨터로 판독가능한 기록 매체 내의 컴퓨터 프로그램 제품에 있어서,
상기 시스템은 클라이언트로부터의 데이터를 저장하고 저장되어 있는 클라이언트 데이터를 갖는 원격 서버를 더 포함하며, 상기 클라이언트는 상기 클라이언트 데이터를 네트워크를 통해 클라이언트 원격 서버에 기록하고 상기 클라이언트 데이터를 상기 클라이언트 원격 서버에서부터 상기 네트워크를 통해 판독하며, 상기 클라이언트는 상기 원격 서버에 저장된 상기 클라이언트 데이터의 백업을 제공하기 위한 적어도 하나의 로컬 하드 드라이브를 갖고 있으며,
상기 방법은,
a. 상기 로컬 하드 드라이브와 상기 원격 서버에 저장된 상기 클라이언트 데이터를 동기화하기 위한 하나 이상의 조건이 존재하는지를 결정하는 단계와,
b. 상기 하나 이상의 조건 중 적어도 하나가 존재한다면, 상기 원격 서버와 상기 로컬 하드 드라이브 간에 클라이언트 데이터를 동기화하는 단계를 포함하는 것인 컴퓨터 프로그램 제품. - 네트워크 I/O, CPU 및 하나 이상의 데이터베이스를 포함하는 시스템에서 동작하고, 상기 시스템 내의 로컬 하드 드라이브에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 상기 로컬 하드 드라이브의 수명을 연장시키도록 상기 로컬 하드 드라이브를 대기(회전하지 않는) 모드로 유지시키며 디스크 스핀업 동작의 횟수를 최소화하기 위한 리버싱된 백업 동작에 대한 방법을 구현하기 위한 컴퓨터로 판독가능한 기록 매체 내의 컴퓨터 프로그램 제품에 있어서,
상기 시스템은 클라이언트로부터의 데이터를 저장하고 저장되어 있는 클라이언트 데이터를 갖는 원격 서버를 더 포함하며, 상기 클라이언트는 상기 네트워크를 통해 상기 원격 서버로 및 상기 원격 서버에서부터 상기 네트워크를 통해 데이터에 액세스하며, 상기 클라이언트는 상기 원격 서버에 저장된 클라이언트 데이터의 백업을 제공하기 위한 적어도 하나의 로컬 하드 드라이브를 갖고 있으며,
상기 방법은,
네트워크가 동작하고 있는지를 결정하는 단계를 포함하며,
상기 네트워크가 동작하고 있지 않다면, 상기 클라이언트가 상기 로컬 데이터 저장장치에 액세스하고,
상기 네트워크가 동작하고 있다면, 상기 원격 데이터 저장장치가 동작하고 있는지를 결정하고,
상기 원격 데이터 저장장치가 동작하고 있지 않다면, 상기 클라이언트가 상기 로컬 데이터 저장장치에 액세스하고,
상기 원격 데이터 저장장치가 동작하고 있다면, 상기 원격 저장 시스템에 대한 대역폭 또는 대기시간이 사용자에게 현저한 불편을 야기시키는지의 여부를 결정하고,
상기 사용자에게 현저한 불편을 야기시킨다면, 상기 클라이언트가 상기 로컬 데이터 저장장치에 액세스하고,
상기 사용자에게 현저한 불편을 야기시키지 않는다면, 상기 클라이언트가 상기 원격 데이터 저장장치에 액세스하는 것인 컴퓨터 프로그램 제품. - 로컬 하드 드라이브에 의해 발생된 전력 소비, 열 및 소음을 감소시키고 로컬 하드 드라이브의 수명을 연장시키도록 로컬 하드 드라이브를 대기(회전하지 않는) 모드로 유지시키며 디스크 스핀업 동작의 횟수를 최소화하기 위한 리버싱된 백업 동작을 위한 시스템에 있어서,
a. 클라이언트로부터의 클라이언트 데이터를 저장하기 위한 원격 서버와,
b. 상기 클라이언트 데이터를 네트워크를 통해 상기 원격 서버에 기록하고 상기 클라이언트 데이터를 상기 원격 서버에서부터 상기 네트워크를 통해 판독하기 위해 상기 네트워크를 통해 상기 원격 서버에 연결된 클라이언트 - 상기 클라이언트는 상기 원격 서버에 저장된 클라이언트 데이터의 백업을 제공하기 위한 적어도 하나의 로컬 하드 드라이브를 갖고 있음 - 와,
c. 상기 클라이언트 데이터의 백업이 상기 로컬 하드 드라이브에 저장되도록 상기 원격 서버에 저장된 상기 클라이언트 데이터를 상기 로컬 하드 드라이브에 백업하기 위해 하나 이상의 조건이 존재하는지를 결정하고 상기 원격 서버로부터의 상기 클라이언트 데이터를 상기 로컬 하드 드라이브에 백업하며, 상기 하나 이상의 조건이 모두 존재한다면, 상기 원격 서버로부터의 상기 클라이언트 데이터를 상기 로컬 하드 드라이브에 백업하는 처리 유닛
을 포함하는 것인 리버싱된 백업 동작을 위한 시스템. - 제9항에 있어서, 상기 하나 이상의 조건 중 하나의 조건은 최종 동기화가 행해진 때로부터 사전지정된 시간량이 경과했다는 것이고, 상기 하나 이상의 조건 중 다른 하나의 조건은 사전지정된 동기화 빈도(frequency rate)에 도달되었다는 것이고, 상기 하나 이상의 조건 중 또다른 하나의 조건은 상기 클라이언트 데이터를 상기 원격 서버에 기록하거나 상기 원격 서버에서부터 판독하는 사전지정된 활동량이 초과되었다는 것인 리버싱된 백업 동작을 위한 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/877,947 | 2007-10-24 | ||
US11/877,947 US8037240B2 (en) | 2007-10-24 | 2007-10-24 | System and method for using reversed backup operation for minimizing the disk spinning time and the number of spin-up operations |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100084537A true KR20100084537A (ko) | 2010-07-26 |
Family
ID=40579909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107010196A KR20100084537A (ko) | 2007-10-24 | 2008-09-22 | 디스크 스핀 시간 및 스핀업 동작의 횟수를 최소화하기 위해 리버싱된 백업 동작을 사용하기 위한 시스템 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8037240B2 (ko) |
EP (1) | EP2218013B1 (ko) |
JP (1) | JP5623284B2 (ko) |
KR (1) | KR20100084537A (ko) |
CN (1) | CN101836197B (ko) |
WO (1) | WO2009055175A1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8010738B1 (en) * | 2008-06-27 | 2011-08-30 | Emc Corporation | Techniques for obtaining a specified lifetime for a data storage device |
US8135907B2 (en) * | 2008-06-30 | 2012-03-13 | Oracle America, Inc. | Method and system for managing wear-level aware file systems |
KR101636777B1 (ko) * | 2008-08-08 | 2016-07-21 | 시게이트 테크놀로지 엘엘씨 | 하이브리드 저장 장치 및 그에 대한 논리 블록 어드레스 할당 방법 |
JP5279626B2 (ja) * | 2009-06-12 | 2013-09-04 | 株式会社日立製作所 | 記憶装置制御プログラム |
US8370306B1 (en) * | 2009-11-13 | 2013-02-05 | Symantec Corporation | Systems and methods for recovering from continuous-data-protection blackouts |
US8938582B2 (en) * | 2010-07-01 | 2015-01-20 | Infinidat Ltd. | Storage systems with reduced energy consumption |
KR101530463B1 (ko) * | 2010-11-16 | 2015-06-29 | 인텔 코포레이션 | 데이터 기억 시스템에 대한 엔드포인트 캐싱 |
WO2014065803A1 (en) * | 2012-10-25 | 2014-05-01 | Hewlett-Packard Development Company, L.P. | Hard drive backup |
US9442668B1 (en) * | 2013-08-29 | 2016-09-13 | Western Digital Technologies, Inc. | Adaptive power management control with performance feedback |
US9613722B2 (en) * | 2014-09-26 | 2017-04-04 | Intel Corporation | Method and apparatus for reverse memory sparing |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103797B1 (en) * | 1998-03-30 | 2006-09-05 | Emc Corporation | Resource allocation throttling in remote data mirroring system |
US6237008B1 (en) * | 1998-07-20 | 2001-05-22 | International Business Machines Corporation | System and method for enabling pair-pair remote copy storage volumes to mirror data in another storage volume |
US7203732B2 (en) * | 1999-11-11 | 2007-04-10 | Miralink Corporation | Flexible remote data mirroring |
AU6533501A (en) * | 2000-06-05 | 2001-12-24 | Miralink Corp | Flexible remote data mirroring |
JP3860098B2 (ja) * | 2002-08-30 | 2006-12-20 | 株式会社東芝 | 情報端末装置 |
US7036040B2 (en) * | 2002-11-26 | 2006-04-25 | Microsoft Corporation | Reliability of diskless network-bootable computers using non-volatile memory cache |
JP2004334463A (ja) * | 2003-05-07 | 2004-11-25 | Sony Corp | 情報処理装置、リソース提供システム、および情報処理方法、並びにコンピュータ・プログラム |
US7069351B2 (en) * | 2003-06-02 | 2006-06-27 | Chung Keicy K | Computer storage device having network interface |
US7032089B1 (en) * | 2003-06-09 | 2006-04-18 | Veritas Operating Corporation | Replica synchronization using copy-on-read technique |
JP4571455B2 (ja) * | 2003-07-29 | 2010-10-27 | 株式会社リコー | 画像形成装置、情報処理方法、情報処理プログラム、記録媒体、及び分散ファイルシステム |
KR101138434B1 (ko) * | 2004-08-31 | 2012-04-26 | 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 | 실시간 통신 플랫폼에 기반하여 네트워크 하드디스크를실행하는 시스템 및 그 방법 |
US7502961B2 (en) * | 2004-09-09 | 2009-03-10 | Microsoft Corporation | Method, system, and apparatus for providing alert synthesis in a data protection system |
JP4887618B2 (ja) * | 2004-11-19 | 2012-02-29 | 日本電気株式会社 | ストレージシステムとそのレプリケーション方法並びにプログラム |
US7461102B2 (en) * | 2004-12-09 | 2008-12-02 | International Business Machines Corporation | Method for performing scheduled backups of a backup node associated with a plurality of agent nodes |
US7366861B2 (en) * | 2005-03-07 | 2008-04-29 | Microsoft Corporation | Portable media synchronization manager |
US7620773B2 (en) * | 2005-04-15 | 2009-11-17 | Microsoft Corporation | In-line non volatile memory disk read cache and write buffer |
US7389379B1 (en) * | 2005-04-25 | 2008-06-17 | Network Appliance, Inc. | Selective disk offlining |
US20070033356A1 (en) * | 2005-08-03 | 2007-02-08 | Boris Erlikhman | System for Enabling Secure and Automatic Data Backup and Instant Recovery |
US20070136397A1 (en) * | 2005-12-09 | 2007-06-14 | Interdigital Technology Corporation | Information life-cycle management architecture for a device with infinite storage capacity |
TWI307035B (en) * | 2006-04-10 | 2009-03-01 | Ind Tech Res Inst | Method and system for backing up remote mirror data on internet |
US20080140901A1 (en) * | 2006-12-11 | 2008-06-12 | Corrion Bradley W | Safe removal of external device from computing device |
-
2007
- 2007-10-24 US US11/877,947 patent/US8037240B2/en not_active Expired - Fee Related
-
2008
- 2008-09-22 CN CN200880112939XA patent/CN101836197B/zh not_active Expired - Fee Related
- 2008-09-22 WO PCT/US2008/077154 patent/WO2009055175A1/en active Search and Examination
- 2008-09-22 EP EP08842893A patent/EP2218013B1/en not_active Not-in-force
- 2008-09-22 KR KR1020107010196A patent/KR20100084537A/ko not_active Application Discontinuation
- 2008-09-22 JP JP2010531106A patent/JP5623284B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011502302A (ja) | 2011-01-20 |
EP2218013A1 (en) | 2010-08-18 |
US20090113123A1 (en) | 2009-04-30 |
CN101836197A (zh) | 2010-09-15 |
US8037240B2 (en) | 2011-10-11 |
EP2218013A4 (en) | 2012-02-15 |
EP2218013B1 (en) | 2012-12-05 |
WO2009055175A1 (en) | 2009-04-30 |
JP5623284B2 (ja) | 2014-11-12 |
CN101836197B (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5623284B2 (ja) | 逆データ・バックアップのための方法、コンピュータ・プログラム及びシステム | |
EP1605453B1 (en) | Adaptive storage system | |
US7827423B2 (en) | Low power computer with main and auxiliary processors | |
EP1424628B1 (en) | Improved reliability of diskless network-bootable computers using non-volatile memory cache | |
JP3062050B2 (ja) | ディスク駆動制御方法及び装置 | |
US8301852B2 (en) | Virtual storage migration technique to minimize spinning disks | |
US6745212B2 (en) | Preferential caching of uncopied logical volumes in an IBM peer-to-peer virtual tape server | |
JP5404637B2 (ja) | 継続的データ保護を提供するための方法、システム及びコンピュータ・プログラム | |
US20060075185A1 (en) | Method for caching data and power conservation in an information handling system | |
TW200847007A (en) | Systems for supporting ReadyDrive and ReadyBoost accelerators in a single flash-memory storage device | |
Joukov et al. | GreenFS: Making enterprise computers greener by protecting them better | |
US7096299B2 (en) | Method and apparatus for transferring system context information between mobile computer and base station | |
US7047356B2 (en) | Storage controller with the disk drive and the RAM in a hybrid architecture | |
JP2003084922A (ja) | データ保存方法及び電子計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E601 | Decision to refuse application |