KR20180045834A - 정보 처리 장치, 그 제어 방법 및 기억 매체 - Google Patents

정보 처리 장치, 그 제어 방법 및 기억 매체 Download PDF

Info

Publication number
KR20180045834A
KR20180045834A KR1020170139049A KR20170139049A KR20180045834A KR 20180045834 A KR20180045834 A KR 20180045834A KR 1020170139049 A KR1020170139049 A KR 1020170139049A KR 20170139049 A KR20170139049 A KR 20170139049A KR 20180045834 A KR20180045834 A KR 20180045834A
Authority
KR
South Korea
Prior art keywords
storage device
storage
data
writing
response
Prior art date
Application number
KR1020170139049A
Other languages
English (en)
Other versions
KR102175598B1 (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 KR20180045834A publication Critical patent/KR20180045834A/ko
Application granted granted Critical
Publication of KR102175598B1 publication Critical patent/KR102175598B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2058Error 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 more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2071Error 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
    • G06F11/2076Synchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2087Error 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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

정보 처리 장치가 복수의 기억 장치에 접속되고 상기 복수의 기억 장치 사이에서 미러링을 행한다. 데이터 기입 명령에 따라, 기입 명령이 상기 복수의 기억 장치의 각각에 발행되고, 상기 복수의 기억 장치 중 제1 기억 장치로부터 기입 명령의 기입 완료를 나타내는 응답이 수신되지 않은 경우, 다른 기억 장치로부터의 응답을 미리정해진 시간 대기한다. 미리 정해진 시간 내에 상기 다른 기억 장치로부터 응답이 수신되지 않은 경우, 데이터 기입 명령의 발행원에 기입 완료를 나타내는 응답이 통지되며, 통지 후에 제1 기억 장치에 저장된 데이터가 다른 기억 장치에 카피됨으로서 미러링된다.

Description

정보 처리 장치, 그 제어 방법 및 기억 매체{INFORMATION PROCESSING APPARATUS, METHOD OF CONTROLLING THE SAME, AND STORAGE MEDIUM}
본 발명은 정보 처리 장치, 그 제어 방법 및 기억 매체에 관한 것이다.
최근, SSD(solid state drive)의 보급에 수반하여, 보조 기억 장치(auxiliary storage device)로서 SSD가 화상 형성 장치에 구비되어 오고 있다. SSD는, 종래 사용되고 있는 HDD(hard disk drive) 등의 기억 장치와 비교하면, 액세스 성능, 발열, 동작음, 내충격성, 소비 전력, 및 크기 등의 점에서 우수하다. 한편, 재기입 횟수(rewrite count)의 제한, 메모리 용량, 및 비용 등의 점에서는 열악하다. 이후, HDD 및 SSD를 총칭적인 용어들로서 사용하고, 디스크 또는 드라이브로서 표현하지만, 이들은 특별히 명기되지 않는 한 동일한 것으로 한다.
한편, 디스크를 사용한 미러링 장치(mirroring device)는, 2개의 디스크가 동시에 고장나는 것이 드물다는 사실을 이용하여 내고장성(fault tolerance)을 향상시키는 장치이다. 이러한 미러링 장치에서는 통상적으로 액세스 성능과 내고장성이 기대되며, 동등한 성능을 갖는 기억 장치가 장착된다. 그러나, 화상 형성 장치에서는, 비용의 관점에서, 예를 들어 HDD와 SSD와 같이 다른 성능의 기억 장치를 조합해서 미러링 장치로서 장착하는 경우가 있다.
미러링 장치에서는, 주 드라이브로서 사용하는 마스터 드라이브와, 부 드라이브로서 사용하는 백업 드라이브가 있고, 판독은 마스터 드라이브로부터 행하고, 기입은 양쪽 드라이브에 대해 행한다. 마스터 드라이브에 문제가 있는 경우, 주 드라이브와 부 드라이브를 전환한 후에 사용을 행한다.
예를 들어, SSD를 마스터 드라이브로서 사용하고 HDD를 백업 드라이브로서 사용하는 경우를 상정한다. 각각의 드라이브에 대해서는 액세스 성능에서 장점과 단점이 존재하기 때문에, 작은 사이즈의 기입(랜덤 액세스)을 SSD가 먼저 완료하고, 큰 사이즈의 기입(시퀀셜 액세스)을 HDD가 먼저 완료하는 현상이 발생한다.
예를 들어, 일본 특허 공개 공보 제2009-223355호에서는, 데이터의 판독 시에서, 이러한 장점이나 단점을 이용하는 처리를 행하고 있다. 즉, 데이터의 제1 반부 부분을 랜덤 액세스 성능이 높은 SSD로부터 판독하고, 제2 반부 부분을 시퀀셜 액세스 성능이 높은 HDD로부터 판독하는 등의 동작을 유발시킴으로써, 종합적으로 판독 성능을 향상시키고 있다.
호스트로부터 미러링 장치에의 기입 명령이 있는 경우, 양쪽 드라이브에 대하여 기입 명령을 발행하고, 양쪽 드라이브에의 기입이 완료되고 나서 호스트에 대해 응답이 이루어진다. 이로 인해, 응답까지의 시간은, 처리가 늦은 드라이브의 성능에 의해 정해지고, 액세스 성능이 낮은 드라이브를 사용하고 있으면, 그 액세스 성능이 미러링 장치의 액세스 성능을 규정하게 된다.
본 발명의 양태는 종래의 기술의 상기 문제를 제거하는 것이다.
본 발명의 특징은 서로 상이한 액세스 성능을 갖는 복수의 기억 장치를 사용하여 미러링을 실행하는 경우에도 장치의 액세스 성능의 저하를 전체적으로 억제할 수 있는 기술을 제공하는 것이다.
본 발명의 제1 양태에 따르면, 복수의 기억 장치에 접속되고 상기 복수의 기억 장치 사이에서 미러링을 행하도록 동작가능한 정보 처리 장치가 제공되며, 상기 장치는, 데이터 기입 명령에 따라, 상기 복수의 기억 장치의 각각에 기입 명령을 발행하도록 구성된 제1 발행 유닛; 상기 복수의 기억 장치 중 제1 기억 장치로부터 상기 기입 명령에 대한 기입 완료를 나타내는 응답이 수신되는 경우, 상기 복수의 기억 장치 중 다른 기억 장치로부터의 응답을 미리정해진 시간 대기하도록 구성된 대기 유닛; 상기 미리정해진 시간 내에 상기 복수의 기억 장치 중 상기 다른 기억 장치로부터 응답이 수신되지 않은 경우, 상기 데이터 기입 명령의 발행원에 기입 완료를 나타내는 응답을 통지하도록 구성된 통지 유닛; 및 상기 통지 유닛에 의한 통지 후에, 상기 제1 기억 장치에 기억된 데이터를 상기 다른 기억 장치에 카피하여 미러링을 행하도록 구성된 제어 유닛을 포함한다.
본 발명의 제2 양태에 따르면, 복수의 기억 장치에 접속되고 상기 복수의 기억 장치 사이에서 미러링을 행하는 정보 처리 장치를 제어하는 방법이 제공되며, 상기 방법은, 데이터 기입 명령에 따라, 상기 복수의 기억 장치의 각각에 기입 명령을 발행하는 제1 발행 단계; 상기 복수의 기억 장치 중 제1 기억 장치로부터 상기 기입 명령에 대한 기입 완료를 나타내는 응답이 수신되는 경우, 상기 복수의 기억 장치 중 다른 기억 장치로부터의 응답을 미리정해진 시간 대기하는 대기 단계; 상기 미리정해진 시간 내에 상기 복수의 기억 장치 중 상기 다른 기억 장치로부터 응답이 수신되지 않은 경우, 상기 데이터 기입 명령의 발행원에 기입 완료를 나타내는 응답을 통지하는 통지 단계; 및 통지 후, 상기 제1 기억 장치에 기억된 데이터를 상기 복수의 기억 장치 중 상기 다른 기억 장치에 카피하여 미러링을 행하는 제어 단계를 포함한다.
본 발명의 추가적인 특징은 첨부된 도면을 참고한 예시적인 실시예에 대한 이하의 설명으로부터 명확해질 것이다.
본 명세서에 통합되며 그 일부를 구성하는 첨부의 도면은 본 발명의 실시예를 도시하며 설명과 함께 본 발명의 원리를 설명하는 역할을 한다.
도 1은 본 발명의 제1 실시예에 따른 미러링 장치의 구성을 설명하는 블록도이다.
도 2는 본 발명의 제1 실시예에 따른 미러링 장치에서의 2개의 기억 장치에의 기입 동작을 설명하는 시퀀스 차트이다.
도 3은 본 발명의 제1 실시예에 따른 미러링 장치에서의 복수의 기억 장치에의 기입 동작을 설명하는 흐름도이다.
도 4는 본 발명의 제2 실시예에 따른 미러링 장치에서의 2개의 기억 장치에의 기입 동작을 설명하는 시퀀스 차트이다.
도 5는 본 발명의 제2 실시예에 따른 미러링 장치에서의 복수의 기억 장치에의 기입 동작을 설명하는 흐름도이다.
이제 이하에서 첨부의 도면을 참고하여 본 발명의 실시예에 대해서 상세하게 설명한다. 이하의 실시예는 본 발명의 청구항을 한정하고자 하는 것이 아니며, 이하의 실시예에 따라 설명되는 양태의 조합 모두가 본 발명에 따른 문제를 해결하기 위한 수단에 관하여 반드시 요구되는 것은 아니라는 것을 이해해야 한다. 본 실시예에서는, SSD와 HDD을 조합한 미러링 장치를 예로서 설명하지만, 본 발명은 그것에 한정되는 것은 아니다.
(제1 실시예)
도 1은 본 발명의 제1 실시예에 따른 미러링 장치(100)의 구성을 설명하는 블록도이다. 본 실시예에서는, 이러한 미러링 장치를 구비한 정보 처리 장치를 예로서 설명한다.
미러링 장치(100)는, ROM(102) 혹은 예를 들어, 하드 디스크 등의 기억 장치(110)에 기억된 프로그램을 RAM(103)에 전개해서 그것을 실행하는 CPU(101)를 구비한다. CPU(101)는 시스템 버스(115)에 접속되는 각 디바이스를 총괄적으로 제어한다. 여기서, 복수의 불휘발성 기억 장치가 접속될 수 있으며, 기억 장치(111)는 선택적으로 접속된다. 기억 장치(110, 111)는 모두 각각 디스크 컨트롤러(109) 및 디스크 컨트롤러(118)를 개재해서 시스템 버스(115)에 접속되는 불휘발 기억 장치이며, 각각의 기억 장치에 관한 판독 및 기입의 제어는 이들 컨트롤러에 따라 행해진다. 여기서, 기억 장치(110, 111)에는 동일한 데이터가 기입되는 제어가 행해지지만, 하나는 주 기억부이며 다른 것은 부 기억부이다. 주 기억부 및 부 기업부는 고장이나 착탈 등에 의해 전환되기 때문에, 이하에서 주 기억부 또는 부 기억부를 표현하는 경우에는 기억 장치(110, 111) 중 어느 것인가를 표현하는 것으로 한다.
RAM(103)은, CPU(101)의 주메모리 및 워크 에어리어, 기억 장치(110, 111)에 관해 판독 또는 기입을 행하는 데이터의 버퍼 등으로서 기능한다. 미러링 장치(100)는, 디스크 컨트롤러(116)를 개재해서 호스트 컴퓨터(외부 장치)(117)와 접속되고, 기억 장치(110, 111)로부터 판독되거나 그것에 기입되는 데이터를 전송한다. 데이터 전송 유닛(119)은, 디스크 컨트롤러(109, 116, 118)에 접속되고, 이들 디스크 컨트롤러 사이의 데이터 전송을 행한다.
제1 실시예에서는, 호스트 컴퓨터(117) 및 기억 장치(110, 111)는 미러링 장치(100)의 외부에 접속되어 있지만, 미러링 장치(100) 내에 포함될 수 있다.
도 2는, 본 발명의 제1 실시예에 따른 미러링 장치(100)에서의 2개의 기억 장치에의 기입 동작을 설명하는 시퀀스 차트이다.
호스트 컴퓨터(117)의 유저에 의해 데이터가 입력되면, 참조 번호 201에서, 디스크 드라이브를 개재해서 호스트 컴퓨터(117)로부터 미러링 장치(100)에 데이터를 기입하기 위한 기입 명령(Write A)이 발행된다. 이 기입 명령을 수신한 미러링 장치(100)는, 참조 번호 202에서, 기억 장치(110, 111)의 양쪽에 그 데이터를 기입하기 위한 기입 명령을 발행한다. 여기서, 기입 사이즈 또는 타이밍, 기억 장치(110, 111)의 액세스 성능 등에 따라 기입 속도에 차이가 있다. 따라서, 참조 번호 203에서, 기억 장치 중 하나(여기서는, 기억 장치(110)로 한다)로부터 기입 완료 응답이 있는 것으로 한다.
이어서, 참조 번호 204에서, 미러링 장치(100)는 다른 기억 장치(111)로부터 오는 기입 완료 응답을 위해 미리정해진 시간을 기다린다. 미리정해진 시간을 기다려도 기억 장치(111)로부터 기입 완료 응답이 없는 경우에는, 참조 번호 205에서, 미러링 장치(100)는 내부 상태를 오직 하나의 기억 장치에 의해 동작되는 것을 나타내는 디그레이드 상태(degraded state)로 설정한다. 참조 번호 206에서, 미러링 장치는, 기입 명령에 포함되어 있는 기입 위치와 데이터 사이즈 및 기억 장치(111)에의 기입이 완료되지 않은 것을 미동기 리스트(not-yet-synchronized list)로서 예를 들어 RAM(103)에 유지한다. 참조 번호 207에서, 미러링 장치는 호스트 컴퓨터(117)에 대하여 기입 완료를 통지한다.
이어서, 참조 번호 208에서, 미러링 장치(100)는, 미동기 리스트에 정보가 있는 것을 확인하면, 미동기 리스트에 등록되어 있는 기입 위치와 데이터 사이즈에 대응하는 데이터(Data A)를 기억 장치(110)로부터 판독한다. 여기에서는, 기억 장치(110)에 대하여 판독 명령(Read A)을 발행하고, 데이터(Data A)를 기억 장치(110)로부터 판독한다. 참조 번호 209에서, 데이터를 기억 장치(111)에 기입하기 위한 기입 명령(Write A)을 기억 장치(111)에 발행하고, 데이터(Data A)를 기억 장치(111)에 기입한다. 이렇게 해서, 기입이 성공하면(210), 참조 번호 210에서, 미동기 리스트에 등록되어 있는 정보를 삭제한다. 참조 번호 211에서, 미러링 장치(100)의 내부 상태를, 양쪽의 기억 장치(110, 111)의 동기화가 달성되어 있는 것을 나타내는 미러 상태로 변경한다.
도 3은 본 발명의 제1 실시예에 따른 미러링 장치(100)에서의 복수의 기억 장치에의 기입 동작을 설명하는 흐름도이다. 이 흐름도에서 나타내는 처리는, CPU(101)가 ROM(102)에 기억되어 있는 프로그램을 RAM(103)에 전개하고 그것을 실행함으로써 달성된다. 이 처리는 호스트 컴퓨터(117)로부터 데이터와 기입 명령을 수신함으로써 개시된다.
먼저, 단계 S301에서, CPU(101)는, 호스트 컴퓨터(117)로부터 수신한 데이터를 기억 장치(110)와 기억 장치(111)의 양쪽에 기입하기 위해서, 2개의 기억 장치(110, 111)에 기입 명령을 발행한다. 처리는 단계 S302로 진행하고, CPU(101)는 기억 장치(110, 111)로부터의 기입 완료 응답을 기다린다. 단계 S303에서, CPU(101)는, 미리정해진 시간이 경과했는지의 여부를 판정하고, 미리정해진 시간이 경과했으면 처리는 단계 S304로 진행하고, 그렇지 않을 때는 처리는 단계 S302로 복귀된다. 단계 S304에서, CPU(101)는, 2개의 기억 장치(110, 111)의 양쪽으로부터 기입 완료 응답을 수신했는지의 여부를 판정하고, 양쪽으로부터 기입 완료 응답을 수신했을 때는 이 처리를 종료하지만, 그렇지 않을 때는 처리는 단계 S305로 진행한다. 여기에서는 장치 중 하나로부터만 기입 완료 응답을 수신한 것으로 하여 설명한다. 2개의 기억 장치(110, 111) 중 어느 것으로부터도 기입 완료 응답을 수신하지 않은 경우에는, 에러로서 처리된다.
단계 S305에서, CPU(101)는, 미러링 장치의 상태를 오직 하나의 기억 장치에 의해서만 동작하고 있는 것을 나타내는 디그레이드 상태로 변경한다. 이렇게 하여, 하나로부터만 기입 완료 응답이 있는 경우에는, 그 응답이 있었던 디스크를 사용해서 처리를 계속할 수 있을 경우가 많다. 이 경우, 기입 완료 응답이 있었던 디스크에 데이터를 유지하고, 기입 완료 응답이 있었던 디스크만을 사용해서 운용을 계속할 수 있다. 이른바 디그레이드 상태가 미러링 장치에서 식별되도록 하기 위해서, 장치는 디그레이드 상태로 설정된다. 이에 의해, 기입 완료 응답이 없는 디스크로부터의 응답을 기다리지 않고, 기입 완료 응답이 있었던 디스크만을 사용해서 처리를 계속할 수 있다. 처리는 단계 S306로 진행하고, CPU(101)는 기입 완료 응답을 수신하지 않은 기억 장치의 식별 정보와, 전술한 기입 명령에 포함되어 있는 기입 위치와 데이터 사이즈를 미동기 리스트 정보로서 예를 들어 RAM(103)에 기억한다. 처리는 단계 S307로 진행하고, CPU(101)는 기입 명령의 발행원인 호스트 컴퓨터(117)에 대하여 기입 완료를 통지한다.
이어서, 처리는 단계 S308로 진행하고, CPU(101)는 RAM(103)의 미동기 리스트에 정보가 등록되어 있는지의 여부를 판정하고, 정보가 등록되어 있을 때는 처리는 단계 S309로 진행하고, 그렇지 않을 때는 처리는 단계 S312로 진행한다. 단계 S309에서, CPU(101)는, 미동기 리스트에 등록되어 있는 기입 위치와 데이터 사이즈에 대응하는 데이터를 기입 완료 응답을 수신한 기억 장치(예를 들어, 기억 장치(110))로부터 판독한다. 그리고, 기입 완료 응답을 수신되지 않은 기억 장치(예를 들어, 기억 장치(111))에 기입하는 카피 처리를 실행한다. 이 기입이 성공하면, 처리는 단계 S310로 진행하고, CPU(101)는 미동기 리스트로부터 정보를 삭제한다. 처리는 단계 S311로 진행하고, 미동기 리스트에 다른 정보가 존재하는 지의 여부를 판정하고, 존재한다면 처리는 단계 S309로 복귀되어서 마찬가지의 처리를 실행한다. 단계 S311의 처리는, 예를 들어 3 이상의 기억 장치를 사용해서 미러링을 행하는 경우에 적용할 수 있도록 하기 위해서이다. 이렇게 해서, 미동기 리스트에 등록되어 있는 정보가 없어지면, 처리는 단계 S312로 진행하고, CPU(101)는, 미러링 장치의 상태를 양쪽의 기억 장치(110, 111)의 동기가 달성된 것을 나타내는 미러 상태로 설정하고, 이 처리는 종료된다.
이상 설명한 바와 같은 제1 실시예에 의하면, 복수의 기억 장치를 사용해서 미러링을 행할 때, 기입 처리에서, 가장 성능이 높은 기억 장치에 기입 처리에 대응하는 기입 완료를 통지할 수 있다. 이에 의해, 서로 상이한 성능을 갖는 기억 장치가 사용되는 경우에도, 더 낮은 성능의 기억 장치에 기인하는 미러링 장치의 액세스 성능의 저하를 억제할 수 있는 효과가 있다.
제1 실시예에서는, 양쪽의 기억 장치의 동기화가 달성되어 있지 않은 디그레이드 상태가 일시적으로 발생한다. 이와 같이, 2개의 기억 장치가 동기화되어 있지 않은 것을 중요시하는 사용자를 위해서, 사용자가 디그레이드 상태로의 이행을 허가할지를 선택할 수 있도록 하는 구성도 취해질 수 있다. 이러하였으면, 사용자가 디그레이드 상태로의 이행을 허용하는 경우 상술한 제1 실시 예의 동작이 취해지지만, 허가되지 않는 경우 모든 기억 장치에의 기입이 완료된 후에만 호스트 컴퓨터에 대해 응답이 이루어진다.
또한, 전술의 단계 S303의 미리정해진 시간을 사용자가 임의의 값으로 설정할 수 있도록 하는 구성도 취해질 수 있다. 이에 의해, 사용자는 사용자가 희망하는 액세스 기간과 데이터의 동기화 사이의 균형을 달성할 수 있다.
(제2 실시예)
이어서, 본 발명의 제2 실시예에 대해서 설명한다. 제2 실시예에서는, 본 발명의 하나의 특징적인 동작인 더 고속인 기입 동작을 실행하는 고속 기입 모드를 갖는 예에 대해서 설명한다. 제2 실시예에 따른 미러링 장치의 구성은 전술한 제1 실시예의 경우와 동일하기 때문에, 그 설명은 생략한다.
도 4는, 본 발명의 제2 실시예에 따른 미러링 장치(100)에서의 2개의 기억 장치에의 기입 동작을 설명하는 시퀀스 차트이다. 도 4에서, 전술한 도 2의 것과 동일한 부분은 동일한 참조 번호로 나타내고 그에 대한 설명은 생략한다.
제2 실시예에 따른 미러링 장치(100)는, 고속 기입 모드가 내부적으로 설정되어 있는지의 여부를 나타내는 정보 및 고속 기입 모드에서 기억 장치(110, 111) 중 어느 것을 우선할지에 대한 정보를 유지한다. 이 정보는 미리 호스트 컴퓨터(117)로부터 제공될 수 있고, 예를 들어 전술한 미리정해진 시간을 대기하는 처리(204)가 실행된 횟수로부터 데이터를 기입할 수 있는 기억 장치를 자동으로 판단할 수 있다. 예를 들어, 기억 장치(110)가 SSD이고, 기억 장치(111)가 HDD인 경우에는, 고속 기입 모드에서 기억 장치(110)를 우선하도록 설정한다.
도 4에서, 참조 번호 201에서 호스트 컴퓨터(117)로부터 미러링 장치(100)에 데이터를 기입하기 위한 기입 명령(Write A)이 발행되면, 미러링 장치(100)는 고속 기입 모드인지의 여부를 판정한다. 여기서, 고속 기입 모드가 아닌 경우에는, 전술한 제1 실시예와 마찬가지로 참조 번호 202 내지 211의 동작을 행한다.
한편, 고속 기입 모드의 경우에는, 참조 번호 401에서, 우선하는 기억 장치(여기서는, 예를 들어 기억 장치(110)로 한다)에만 기입 명령을 발행한다. 도 2를 참조하여 설명한 참조 번호 205 내지 211의 동작을 행한다. 즉, 기억 장치(111)에의 데이터의 기입이 실행되지 않기 때문에, 미러링 장치(100)는 내부 상태를 한쪽의 기억 장치에 의해서만 동작되는 것을 나타내는 디그레이드 상태로 설정한다. 참조 번호 206에서 미동기 리스트에 정보가 등록되고, 참조 번호 208 내지 209에서 기억 장치(111)에 대한 미러링을 행한다. 미러링이 성공하면, 미동기 리스트의 정보를 삭제하고, 미러링 장치(100)는 내부 상태를 미러링 상태로 설정한다.
부가적으로, 고속 기입 모드의 경우에는, 참조 번호 402에서, 참조 번호 401에서의 기억 장치(110)에의 기입 처리와 참조 번호 209에서의 기억 장치(111)에의 기입 처리 사이의 처리 시간을 비교한다. 참조 번호 209에서의 기억 장치(111)에의 기입 처리의 처리 시간이 짧으면, 참조 번호 403에서 고속 기입 모드를 오프로 설정한다.
도 5는, 본 발명의 제2 실시예에 따른 미러링 장치(100)에서의 복수의 기억 장치에의 기입 동작을 설명하는 흐름도이다. 이 흐름도에서 나타내는 처리는, CPU(101)가 ROM(102)에 기억되어 있는 프로그램을 RAM(103)에 전개하고 그것을 실행함으로써 달성된다. 이 처리는 호스트 컴퓨터(117)로부터 데이터와 기입 명령을 수신함으로써 개시된다. 도 5에서, 도 3의 것과 동일한 부분은 동일한 참조 번호로 나타내고 그에 대한 설명은 생략한다. 이 처리는 호스트 컴퓨터(117)로부터 데이터와 기입 명령을 수신함으로써 개시된다.
먼저, 단계 S501에서, CPU(101)는 RAM(103)에 고속 기입 모드가 설정되어 있는지의 여부를 판정한다. 단계 S501에서 고속 기입 모드가 설정되어 있지 않다고 판정되는 경우, 처리는 단계 S301로 진행하고, 제1 실시예에서 전술한 바와 같이 단계 S301 내지 단계 S312의 처리가 실행된다. 이때 단계 S304에서, 미리정해진 시간 내에 모든 기억 장치에 대한 데이터의 기입이 완료되었으면, 처리는 단계 S503으로 진행하고, CPU(101)는 미러링 장치(100)의 상태를 미러링 상태로 설정하고, 이 처리를 종료한다.
단계 S501에서 고속 기입 모드가 설정된다고 판정되면, 처리는 단계 S502로 진행되고, CPU(101)는 우선하는 기억 장치(여기서는, 예를 들어 기억 장치(110)로 한다)에만 기입 명령을 발행하고, 처리는 단계 S305로 진행한다. 단계 S305에서, CPU(101)는, 미러링 장치(100)의 상태를 하나의 기억 장치에 의해서만 동작되는 것을 나타내는 디그레이드 상태로 변경한다. 도 3을 참조하여 설명한 바와 같이, 단계 S306 내지 단계 S312의 처리를 실행하고, 단계 S309에서, 단계 S502에서 기억 장치(110)에 기입한 데이터를 기억 장치(111)에 기입함으로써 기억 장치(111)에 대한 미러링 처리를 행한다.
이렇게 해서 미러링 처리에 성공하면, 처리는 단계 S504로 진행하고, CPU(101)는 단계 S501에서와 마찬가지로 RAM(103)에 고속 기입 모드가 설정되어 있는지의 여부를 판정한다. 단계 S504에서 고속 기입 모드가 설정되어 있지 않다고 판정했을 때에는, 처리는 종료된다. 한편, 고속 기입 모드가 설정되었다고 판정하면, 처리는 단계 S505로 진행하고, CPU(101)는, 단계 S502에서 기억 장치(110)에 데이터를 기입한 처리에 필요한 시간과, 단계 S309에서 기억 장치(111)에 동일한 데이터를 기입하는 데 필요한 시간을 비교한다. 기억 장치(111)에 동일한 데이터를 기입하는 처리에 필요한 시간이 짧다고 판정되면, 처리는 단계 S506로 진행하고, 고속 기입 모드의 설정을 오프로 하고, 이 처리를 종료한다. 여기서, 우선하는 기억 장치(예를 들어, 기억 장치(110))의 기입 처리에 필요한 시간이 길기 때문에, 기억 장치(110)를 우선시키는 고속 기입 모드의 의미가 없다. 한편, 기억 장치(111)에 동일한 데이터를 기입하는 처리에 필요한 시간이 길면, 고속 기입 모드를 유지한 상태로 이 처리를 종료한다.
단계 S506에서, 유저에 의해 더 느린 액세스 성능을 갖는 기억 장치가 우선되도록 설정되어 있기 때문에, 고속 기입 모드를 오프로 하는(해제하는) 것을 경고를 실행하는 구성이 취해질 수 있다. 이 경우, 어느 기억 장치가 액세스 성능이 높은 지를 나타내는 정보도 유저에게 제시하는 구성이 취해질 수 있다.
이상 설명한 바와 같이 제2 실시예에 의하면, 더 고속인 액세스 성능을 갖는 기억 장치를 우선시켜서 데이터를 기입하는 고속 기입 모드를 채용함으로써, 고속 액세스 성능에 따른 타이밍에서 기입 완료 응답을 호스트 컴퓨터에 복귀시킬 수 있다. 미동기 리스트에 등록되어 있는 다른 기억 장치에 대하여는, 데이터를 순차적으로 기입해서 미러링을 행할 수 있다.
또한, 고속 기입 모드가 더 느린 액세스 성능을 갖는 기억 장치를 우선하도록 잘못 설정되어 있으면, 고속 기입 모드를 오프로 전환할 수 있다.
도 5의 단계 S506에서 고속 기입 모드를 오프로 설정하고 있지만, 예를 들어 기억 장치를 우선하도록 지정하기 위한 고속 기입 모드가 호스트 컴퓨터(117)로부터의 지시에 의해 미리 설정되어 있는 경우에는, 고속 기입 모드를 오프로 전환하는 정보가 호스트 컴퓨터(117)에 통지된다. 이에 의해, 저속인 액세스 성능을 갖는 기억 장치가 고속 기입 모드에서 우선하는 기억 장치로 지정되어 있는 것을 호스트 컴퓨터(117)의 유저에게 통지할 수 있다.
또한, 기억 장치(110, 111)의 모델 번호를 기억해 두고, 어느 것인가가 교환되었을 때, 만약 고속 기입 모드가 설정되어 있으면, 고속 기입 모드를 해제하는 구성을 취할 수 있다.
다른 실시예
본 발명의 실시예는, 전술한 실시예 중 하나 이상의 기능을 실행하기 위해 저장 매체(보다 완전하게는 '비일시적 컴퓨터 판독가능 저장 매체'라 칭할 수도 있음)에 기록된 컴퓨터 실행가능 명령어(예를 들어, 하나 이상의 프로그램)를 판독 및 실행하고 그리고/또는 전술한 실시예(들) 중 하나 이상의 기능을 실행하는 하나 이상의 회로(예를 들어, 주문형 집적 회로(ASIC))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어 전술한 실시예 중 하나 이상의 기능을 실행하기 위해 저장 매체로부터 컴퓨터 실행가능 명령어를 판독 및 실행함으로써 그리고/또는 전술한 실시예 중 하나 이상의 기능을 실행하기 위해 하나 이상의 회로를 제어함으로써 상기 시스템 또는 장치의 컴퓨터에 의해 실행되는 방법에 의해 실현될 수도 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, 중앙 처리 유닛(CPU), 마이크로 처리 유닛(MPU))를 포함할 수 있고 컴퓨터 실행가능 명령어를 판독 및 실행하기 위한 별도의 컴퓨터 또는 별도의 프로세서의 네트워크를 포함할 수 있다. 컴퓨터 실행가능 명령어는 예를 들어 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는, 예를 들어 하드 디스크, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 분산형 컴퓨팅 시스템의 스토리지, 광디스크(예를 들어, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD) 또는 블루레이 디스크(BD)™), 플래시 메모리 디바이스, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
(기타의 실시예)
본 발명은, 상기의 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다.
또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
본 발명을 예시적인 실시예를 참고하여 설명하였지만, 본 발명은 개시된 예시적인 실시예로 한정되지 않음을 이해해야 한다. 이하의 청구항의 범위는 이러한 모든 변형과 동등한 구조 및 기능을 포함하도록 최광의로 해석되어야 한다.

Claims (17)

  1. 복수의 기억 장치에 접속되고 상기 복수의 기억 장치 사이에서 미러링을 행하도록 동작가능한 정보 처리 장치이며,
    데이터 기입 명령에 따라, 상기 복수의 기억 장치의 각각에 기입 명령을 발행하도록 구성된 제1 발행 유닛;
    상기 복수의 기억 장치 중 제1 기억 장치로부터 상기 기입 명령에 대한 기입 완료를 나타내는 응답이 수신되는 경우, 상기 복수의 기억 장치 중 다른 기억 장치로부터의 응답을 미리정해진 시간 대기하도록 구성된 대기 유닛;
    상기 미리정해진 시간 내에 상기 복수의 기억 장치 중 상기 다른 기억 장치로부터 응답이 수신되지 않은 경우, 상기 데이터 기입 명령의 발행원에 기입 완료를 나타내는 응답을 통지하도록 구성된 통지 유닛; 및
    상기 통지 유닛에 의한 통지 후에, 상기 제1 기억 장치에 기억된 데이터를 상기 다른 기억 장치에 카피하여 미러링을 행하도록 구성된 제어 유닛을 포함하는, 정보 처리 장치.
  2. 제1항에 있어서,
    상기 통지 유닛은,
    상기 미리정해진 시간 내에 상기 복수의 기억 장치 중 상기 다른 기억 장치로부터 응답이 수신되지 않은 경우, 상기 데이터의 기입 위치와 데이터 사이즈의 정보 및 기입이 완료되지 않은 기억 장치를 식별하는 정보를 등록하도록 구성된 등록 유닛을 포함하며,
    상기 제어 유닛은, 상기 등록 유닛에 의해 등록된 정보에 기초하여, 상기 제1 기억 장치에 기억된 데이터를 상기 기입이 완료되지 않은 기억 장치에 카피하고, 상기 카피가 성공하면 상기 등록 유닛에 의해 등록된 상기 정보를 삭제하는, 정보 처리 장치.
  3. 제1항에 있어서,
    상기 복수의 기억 장치 중 상기 다른 기억 장치로부터의 응답이 상기 미리정해진 시간 동안 수신되지 않은 경우, 미러링 상태에 있지 않은 것을 나타내는 디그레이드 상태를 설정하도록 구성된 설정 유닛을 더 포함하는, 정보 처리 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    기억 장치를 우선화하도록 지정하는 고속 기입 모드가 설정되어 있는지의 여부를 판정하도록 구성된 판정 유닛; 및
    상기 판정 유닛에 의해 상기 고속 기입 모드가 설정되어 있다고 판정되면, 상기 데이터 기입 명령에 따라, 우선화된 상기 기억 장치에 기입 명령을 발행하도록 구성된 제2 발행 유닛을 더 포함하는, 정보 처리 장치.
  5. 제4항에 있어서,
    상기 판정 유닛에 의해 상기 고속 기입 모드가 설정되어 있다고 판정되는 경우, 상기 우선화된 기억 장치에 상기 데이터를 기입하는 데 필요한 제1 시간과 상기 우선화된 기억 장치 이외의 기억 장치에 상기 데이터를 기입하는 데 필요한 제2 시간을 비교하고, 상기 제2 시간이 상기 제1 시간보다 짧은 경우 상기 고속 기입 모드를 해제하도록 구성된 해제 유닛을 더 포함하는, 정보 처리 장치.
  6. 제5항에 있어서,
    외부 장치로부터의 지시에 따라 상기 고속 기입 모드가 설정되는 경우, 상기 해제 유닛은 상기 고속 기입 모드가 해제된 것을 상기 외부 장치에 추가로 통지하는, 정보 처리 장치.
  7. 제5항에 있어서,
    상기 해제 유닛이 상기 고속 기입 모드를 해제했을 때, 상기 우선화된 기억 장치의 액세스 성능이 다른 기억 장치의 액세스 성능보다 낮은 것을 유저에게 경고하도록 구성된 경고 유닛을 더 포함하는, 정보 처리 장치.
  8. 제1항에 있어서,
    상기 데이터 기입 명령은 호스트 컴퓨터로부터 설정되는, 정보 처리 장치.
  9. 복수의 기억 장치에 접속되고 상기 복수의 기억 장치 사이에서 미러링을 행하는 정보 처리 장치를 제어하는 방법이며,
    데이터 기입 명령에 따라, 상기 복수의 기억 장치의 각각에 기입 명령을 발행하는 제1 발행 단계;
    상기 복수의 기억 장치 중 제1 기억 장치로부터 상기 기입 명령에 대한 기입 완료를 나타내는 응답이 수신되는 경우, 상기 복수의 기억 장치 중 다른 기억 장치로부터의 응답을 미리정해진 시간 대기하는 대기 단계;
    상기 미리정해진 시간 내에 상기 복수의 기억 장치 중 상기 다른 기억 장치로부터 응답이 수신되지 않은 경우, 상기 데이터 기입 명령의 발행원에 기입 완료를 나타내는 응답을 통지하는 통지 단계; 및
    통지 후, 상기 제1 기억 장치에 기억된 데이터를 상기 복수의 기억 장치 중 상기 다른 기억 장치에 카피하여 미러링을 행하는 제어 단계를 포함하는, 정보 처리 장치의 제어 방법.
  10. 제9항에 있어서,
    상기 통지 단계는,
    상기 미리정해진 시간 내에 상기 복수의 기억 장치 중 상기 다른 기억 장치로부터 응답이 수신되지 않은 경우, 상기 데이터의 기입 위치와 데이터 사이즈의 정보 및 기입이 완료되지 않은 기억 장치를 식별하는 정보를 등록하는 등록 단계를 포함하며,
    상기 제어 단계는, 상기 등록 단계에서 등록된 정보에 기초하여, 상기 제1 기억 장치에 기억된 데이터를 상기 기입이 완료되지 않은 기억 장치에 카피하고, 상기 카피가 성공하면 상기 등록 단계에서 등록된 상기 정보를 삭제하는, 정보 처리 장치의 제어 방법.
  11. 제9항에 있어서,
    상기 복수의 기억 장치 중 상기 다른 기억 장치로부터의 응답이 상기 미리정해진 시간 동안 수신되지 않은 경우, 미러링 상태에 있지 않은 것을 나타내는 디그레이드 상태를 설정하는 설정 단계를 더 포함하는, 정보 처리 장치의 제어 방법.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    기억 장치를 우선화하도록 지정하는 고속 기입 모드가 설정되어 있는지 여부를 판정하는 판정 단계; 및
    상기 판정 단계에서 상기 고속 기입 모드가 설정되어 있다고 판정되면, 상기 데이터 기입 명령에 따라, 우선화된 상기 기억 장치에 기입 명령을 발행하는 제2 발행 단계를 더 포함하는, 정보 처리 장치의 제어 방법.
  13. 제12항에 있어서,
    상기 판정 단계에서 상기 고속 기입 모드가 설정되어 있다고 판정되는 경우, 상기 우선화된 기억 장치에 상기 데이터를 기입하는 데 필요한 제1 시간과 상기 우선화된 기억 장치 이외의 기억 장치에 상기 데이터를 기입하는 데 필요한 제2 시간을 비교하고, 상기 제2 시간이 상기 제1 시간보다 짧은 경우 상기 고속 기입 모드를 해제하는 해제 단계를 더 포함하는, 정보 처리 장치의 제어 방법.
  14. 제13항에 있어서,
    외부 장치로부터의 지시에 따라 상기 고속 기입 모드가 설정되는 경우, 상기 해제 단계는 상기 고속 기입 모드가 해제된 것을 상기 외부 장치에 추가로 통지하는, 정보 처리 장치의 제어 방법.
  15. 제13항에 있어서,
    상기 해제 단계가 상기 고속 기입 모드를 해제했을 때, 상기 우선화된 기억 장치의 액세스 성능이 다른 기억 장치의 액세스 성능보다 낮은 것을 유저에게 경고하는 경고 단계를 더 포함하는, 정보 처리 장치의 제어 방법.
  16. 제9항에 있어서,
    상기 데이터 기입 명령은 호스트 컴퓨터로부터 설정되는, 정보 처리 장치의 제어 방법.
  17. 프로세서가 제9항에 의해 규정된 정보 처리 장치의 제어 방법을 실행하게 하는 프로그램을 저장하는 컴퓨터 판독가능 기억 매체.
KR1020170139049A 2016-10-26 2017-10-25 정보 처리 장치, 그 제어 방법 및 기억 매체 KR102175598B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2016-209888 2016-10-26
JP2016209888A JP6814020B2 (ja) 2016-10-26 2016-10-26 情報処理装置とその制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
KR20180045834A true KR20180045834A (ko) 2018-05-04
KR102175598B1 KR102175598B1 (ko) 2020-11-06

Family

ID=60182307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170139049A KR102175598B1 (ko) 2016-10-26 2017-10-25 정보 처리 장치, 그 제어 방법 및 기억 매체

Country Status (5)

Country Link
US (1) US20180113772A1 (ko)
EP (1) EP3316138A1 (ko)
JP (1) JP6814020B2 (ko)
KR (1) KR102175598B1 (ko)
CN (1) CN107992383B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082003A (ja) 2019-11-19 2021-05-27 キヤノン株式会社 情報処理装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040123180A1 (en) * 2002-12-20 2004-06-24 Kenichi Soejima Method and apparatus for adjusting performance of logical volume copy destination
US20050154847A1 (en) * 2004-01-14 2005-07-14 Elipsan Limited Mirrored data storage system
US7702871B1 (en) * 2007-08-31 2010-04-20 Emc Corporation Write pacing
US20100332772A1 (en) * 2009-06-25 2010-12-30 Fujitsu Limited Apparatus, computer-readable recording medium and storage system

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148604A (ja) * 1998-11-12 2000-05-30 Hitachi Ltd 記憶装置の制御方法
JP3997061B2 (ja) * 2001-05-11 2007-10-24 株式会社日立製作所 記憶サブシステムおよび記憶サブシステムの制御方法
US6757790B2 (en) * 2002-02-19 2004-06-29 Emc Corporation Distributed, scalable data storage facility with cache memory
US7757052B2 (en) * 2005-01-05 2010-07-13 International Business Machines Corporation Apparatus, system, and method for optimizing recall of logical volumes in a virtual tape server
JP4942446B2 (ja) * 2006-10-11 2012-05-30 株式会社日立製作所 ストレージ装置及びその制御方法
US8904098B2 (en) * 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
US20090006745A1 (en) * 2007-06-28 2009-01-01 Cavallo Joseph S Accessing snapshot data image of a data mirroring volume
US7792014B2 (en) * 2007-09-28 2010-09-07 Integrated Device Technology, Inc. Method of skipping nullified packets during mass replay from replay buffer
US20090204650A1 (en) * 2007-11-15 2009-08-13 Attune Systems, Inc. File Deduplication using Copy-on-Write Storage Tiers
US7979652B1 (en) * 2007-12-20 2011-07-12 Amazon Technologies, Inc. System and method for M-synchronous replication
JP2009223355A (ja) 2008-03-13 2009-10-01 Hitachi Software Eng Co Ltd ハードディスクとシリコンディスクのミラーリングを行うディスク制御システム
JP5194962B2 (ja) * 2008-04-03 2013-05-08 富士通株式会社 データ処理方法、ストレージ装置およびストレージシステム
JP2010198441A (ja) * 2009-02-26 2010-09-09 Toshiba Corp ミラーリングシステム
JP2011003094A (ja) * 2009-06-19 2011-01-06 Toshiba Corp 二重化処理装置および二重化処理制御方法
JP5720210B2 (ja) * 2010-12-02 2015-05-20 富士通株式会社 アクセス制御装置、誤り訂正制御方法およびストレージ装置
US20120198152A1 (en) * 2011-02-01 2012-08-02 Drobo, Inc. System, apparatus, and method supporting asymmetrical block-level redundant storage
JP5273185B2 (ja) * 2011-02-25 2013-08-28 日本電気株式会社 記録媒体制御システム、記録媒体制御方法、記録媒体制御プログラム
JP2012230621A (ja) * 2011-04-27 2012-11-22 Sony Corp メモリ装置、メモリ制御装置、メモリ制御方法
JP5524279B2 (ja) * 2011-09-13 2014-06-18 株式会社東芝 情報処理装置および情報処理方法
US9311014B2 (en) * 2012-11-29 2016-04-12 Infinidat Ltd. Storage system and methods of mapping addresses of snapshot families
WO2014128910A1 (ja) * 2013-02-22 2014-08-28 株式会社日立製作所 ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法
US10082979B2 (en) * 2013-08-06 2018-09-25 International Business Machines Corporation Input/output operation management in a device mirror relationship
KR102116702B1 (ko) * 2013-09-27 2020-05-29 삼성전자 주식회사 데이터 미러링 제어 장치 및 방법
US9996423B2 (en) * 2013-11-04 2018-06-12 Falconstor, Inc. Point in time snapshots using copy on predicted write
JP5797848B1 (ja) * 2014-03-04 2015-10-21 株式会社東芝 階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム
KR102211126B1 (ko) * 2014-04-17 2021-02-02 삼성전자주식회사 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법
WO2015198412A1 (ja) * 2014-06-25 2015-12-30 株式会社日立製作所 ストレージシステム
JP2016057876A (ja) * 2014-09-10 2016-04-21 富士通株式会社 情報処理装置、入出力制御プログラム、及び入出力制御方法
CN105573857A (zh) * 2014-10-10 2016-05-11 北京计算机技术及应用研究所 一种多控磁盘阵列缓存镜像方法及系统
WO2016059715A1 (ja) * 2014-10-17 2016-04-21 株式会社日立製作所 計算機システム
US10496320B2 (en) * 2015-12-28 2019-12-03 Netapp Inc. Synchronous replication
US11194500B2 (en) * 2016-01-28 2021-12-07 Netapp, Inc. Resilient implementation of client file operations and replication
JP6680030B2 (ja) * 2016-03-24 2020-04-15 富士通株式会社 制御プログラム、制御方法、および制御装置
JP2018132964A (ja) * 2017-02-16 2018-08-23 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040123180A1 (en) * 2002-12-20 2004-06-24 Kenichi Soejima Method and apparatus for adjusting performance of logical volume copy destination
US20050154847A1 (en) * 2004-01-14 2005-07-14 Elipsan Limited Mirrored data storage system
US7702871B1 (en) * 2007-08-31 2010-04-20 Emc Corporation Write pacing
US20100332772A1 (en) * 2009-06-25 2010-12-30 Fujitsu Limited Apparatus, computer-readable recording medium and storage system

Also Published As

Publication number Publication date
EP3316138A1 (en) 2018-05-02
KR102175598B1 (ko) 2020-11-06
JP2018073005A (ja) 2018-05-10
CN107992383B (zh) 2021-09-28
JP6814020B2 (ja) 2021-01-13
US20180113772A1 (en) 2018-04-26
CN107992383A (zh) 2018-05-04

Similar Documents

Publication Publication Date Title
JP2007115233A (ja) ディスク制御装置、ディスク制御方法、ディスク制御プログラム
JP2008269142A (ja) ディスクアレイ装置
JP2011095916A (ja) 電子機器
JP2010170295A (ja) 記憶装置、記憶装置のデータ転送方法
CN106844417B (zh) 基于文件目录的热迁移方法及装置
JP6069962B2 (ja) 情報処理装置、領域解放制御プログラム、および領域解放制御方法
CN107992383B (zh) 信息处理装置、其控制方法以及存储介质
JP2018022440A5 (ko)
US9015385B2 (en) Data storage device and method of controlling data storage device
JP2007193886A (ja) ディスク装置、データ書込み制御方法およびコマンド制御方法
JP2009104369A (ja) ディスクサブシステム
JP2012123551A (ja) 情報記憶装置
US9779001B2 (en) Mirroring device, control method thereof, and storage medium that maintain difference in remaining writable amounts of data
US11669268B2 (en) Information processing apparatus and control method therefor
JP5661313B2 (ja) 記憶装置
WO2016006108A1 (ja) ストレージおよびその制御方法
US10061536B2 (en) Disk synchronization
JP7405008B2 (ja) 情報処理装置、情報処理プログラム、及び、情報処理方法
JP2018073005A5 (ko)
JP2020177390A (ja) 半導体装置及び制御方法
JP2018063491A (ja) 制御装置、制御方法及びプログラム
JP2013232253A (ja) データ転送方法、読取装置、書込み装置及び複写装置
JP4750620B2 (ja) 階層型ストレージ装置のデータリード方法及びシステム
JP6064305B2 (ja) 印刷制御装置よびプログラム
JP2015161996A (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