KR20080030451A - 암호 변환 장치, 암호 변환 방법 및 기록매체 - Google Patents

암호 변환 장치, 암호 변환 방법 및 기록매체 Download PDF

Info

Publication number
KR20080030451A
KR20080030451A KR1020070047065A KR20070047065A KR20080030451A KR 20080030451 A KR20080030451 A KR 20080030451A KR 1020070047065 A KR1020070047065 A KR 1020070047065A KR 20070047065 A KR20070047065 A KR 20070047065A KR 20080030451 A KR20080030451 A KR 20080030451A
Authority
KR
South Korea
Prior art keywords
data
encrypted data
conversion
encryption
storage
Prior art date
Application number
KR1020070047065A
Other languages
English (en)
Other versions
KR100895570B1 (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 KR20080030451A publication Critical patent/KR20080030451A/ko
Application granted granted Critical
Publication of KR100895570B1 publication Critical patent/KR100895570B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

데이터를 암호화 또는 복호화하는 시간을 짧게 하는 것을 과제로 한다. 스토리지(10)는, 관리 장치(40)로부터 소정의 볼륨에 대한 암호 변환 요구를 접수하면, 디스크 장치(50)로부터 암호 변환 버퍼(14b)에 소정의 볼륨에서의 비암호화 데이터의 리드를 개시한다. 그리고, 스토리지(10)는, 비암호화 데이터를 용장화하여, 소정의 암호화 데이터로 암호 변환한다. 구체적으로는, 스토리지(10)는, 암호 변환 버퍼(14b) 내의 비암호화 데이터를 CM1의 암호 변환 버퍼(24b)에 이중화한 후, 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하고 암호 버퍼(14a)에 암호 변환된 데이터를 전달한다. 그 후, 스토리지(10)는, 암호 변환된 암호화 데이터를 디스크 장치(50)에 기입한다.
Figure P1020070047065
디스크 장치, 스토리지, 암호화, 비암호화, 복호 변환, 판독 기입 제어

Description

암호 변환 장치, 암호 변환 방법 및 기록매체{CODE CONVERSION APPARATUS, CODE CONVERSION METHOD, AND RECORDING MEDIUM}
도 1은 실시예 1에 따른 스토리지의 개요 및 특징을 설명하기 위한 도면.
도 2는 실시예 1에 따른 스토리지의 개요 및 특징을 설명하기 위한 도면.
도 3은 실시예 1에 따른 스토리지의 개요 및 특징을 설명하기 위한 도면.
도 4는 실시예 1에 따른 스토리지를 포함하는 시스템 전체의 구성을 도시하는 도면.
도 5는 실시예 1에 따른 스토리지(10)의 구성을 도시하는 블록도.
도 6은 진척 상황을 감시하는 처리를 설명하기 위한 도면.
도 7은 판독 기입 제어 처리를 설명하기 위한 도면.
도 8은 실시예 1에 따른 스토리지(10)의 암호 변환 처리 동작을 도시하는 플로우차트.
도 9는 실시예 1에 따른 스토리지(10)의 복호 변환 처리 동작을 도시하는 플로우차트.
도 10은 실시예 1에 따른 스토리지(10)의 재암호 변환 처리 동작을 도시하는 플로우차트.
도 11은 실시예 1에 따른 스토리지(10)의 판독 기입 제어 처리 동작을 도시 하는 플로우차트.
도 12는 실시예 2에 따른 스토리지의 판독 기입 제어 처리를 자세히 설명하기 위한 도면.
도 13은 실시예 2에 따른 스토리지의 판독 기입 제어 처리 수순을 설명하기 위한 플로우차트.
도 14는 실시예 3에 따른 스토리지의 암호 변환 버퍼에 대해서 설명하기 위한 도면.
도 15는 실시예 3에 따른 스토리지 내의 CM에 장해가 발생한 경우에 대해 설명하기 위한 플로우차트.
도 16은 실시예 3에 따른 스토리지(10)의 리커버리 처리를 설명하기 위한 도면.
도 17은 실시예 3에 따른 스토리지(10)의 리커버리 처리를 설명하기 위한 도면.
도 18은 실시예 3에 따른 스토리지(10)의 리커버리 처리를 설명하기 위한 도면.
도 19는 실시예 3에 따른 스토리지(10)의 리커버리 처리를 설명하기 위한 도면.
도 20은 실시예 3에 따른 스토리지(10)의 리커버리 처리를 설명하기 위한 도면.
도 21은 실시예 3에 따른 스토리지(10)의 리커버리 처리를 설명하기 위한 도 면.
도 22는 실시예 3에 따른 스토리지(10)의 강제 보존 처리를 설명하기 위한 도면.
도 23은 실시예 3에 따른 스토리지(10)의 복구 처리를 설명하기 위한 도면.
도 24는 실시예 3에 따른 스토리지(10)의 복구 처리를 설명하기 위한 도면.
도 25는 실시예 3에 따른 스토리지(10)의 복구 처리를 설명하기 위한 도면.
도 26은 실시예 3에 따른 스토리지(10)의 복구 처리를 설명하기 위한 도면.
도 27은 실시예 3에 따른 스토리지(10)의 복구 처리를 설명하기 위한 도면.
도 28은 암호 변환 프로그램을 실행하는 컴퓨터를 도시하는 도면.
<도면의 주요부분에 대한 부호의 설명>
10: 스토리지
11: 스위치 제어 I/F
12: 디스크 제어 I/F
13: 제어부
13a: 암호 변환부
13b: 복호 변환부
13c: 재암호 변환부
13d: 관리용 제어부
13e: 판독 기입 제어부
14: 기억부
14a: 암호 버퍼
14b: 암호 변환 버퍼
20: 호스트
30: 스위치
40: 관리 장치
50: 디스크 장치
[특허 문헌1] 일본 특허 공개 2006-127061호 공보
본 발명은, 디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 암호 변환 장치, 암호 변환 방법 및 암호 변환 프로그램에 관한 것이다.
종래부터, 디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 시큐러티의 향상을 도모하기 위해, 디스크 장치 내의 데이터를 암호화하는 방법이 실시되고 있다.
예를 들면, 특허 문헌 1에서는, 디스크 장치 내의 데이터를 암호화하는 암호화 장치를 디스크 장치(스토리지)의 외부에 구비한다. 이와 같은 암호화 장치는, 암호화 또는 복호화하는 취지의 지시를 유저로부터 접수하면, 디스크 장치 내에 기 억된 데이터를 판독하여, 암호화 또는 복호화하고, 그 암호화 또는 복호화된 데이터를 디스크 장치로 복귀시키는 처리를 행한다.
그런데, 상기한 종래의 기술에서는, 암호화 장치가 디스크 장치 내의 데이터를 판독하고 나서, 그 판독한 데이터를 암호화 또는 복호화하므로, 암호화 장치가 디스크 장치 내의 데이터를 판독하는 시간이 걸려, 데이터를 암호화 또는 복호화하는 시간이 길다고 하는 과제가 있었다. 또한, 이 때문에 호스트로부터 디스크 장치에의 판독 기입 요구가 지체된다고 하는 결과도 초래하고 있었다.
따라서, 본 발명은, 전술한 종래 기술의 과제를 해결하기 위해 이루어진 것으로, 데이터를 암호화 또는 복호화하는 시간을 짧게 하는 것을 목적으로 한다.
전술한 과제를 해결하고, 목적을 달성하기 위해서, 본 발명의 제1 양상에 따른 발명은, 디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 상기 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 암호 변환 장치로서, 상기 디스크 장치 내에 기억된 암호화 데이터를 상기 스토리지 내의 암호 버퍼에 저장하는 암호화 데이터 저장 수단과, 상기 디스크 장치 내에 기억된 비암호화 데이터를 상기 스토리지 내의 암호 변환 버퍼에 저장하는 비암호화 데이터 저장 수단과, 상기 암호화 데이터 저장 수단에 의해 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하는 암호 변환 수단과, 상기 비암호화 데이터 저장 수단에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하는 복호 변 환 수단과, 상기 비암호화 데이터 저장 수단에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하는 재암호 변환 수단을 구비하는 것을 특징으로 한다.
또한, 본 발명의 제2 양상에 따른 발명은, 디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 상기 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 암호 변환 방법으로서, 상기 디스크 장치 내에 기억된 암호화 데이터를 상기 스토리지 내의 암호 버퍼에 저장하는 암호화 데이터 저장 공정과, 상기 디스크 장치 내에 기억된 비암호화 데이터를 상기 스토리지 내의 암호 변환 버퍼에 저장하는 비암호화 데이터 저장 공정과, 상기 암호화 데이터 저장 공정에 의해 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하는 암호 변환 공정과, 상기 비암호화 데이터 저장 공정에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하는 복호 변환 공정과, 상기 비암호화 데이터 저장 공정에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하는 재암호 변환 공정을 포함한 것을 특징으로 한다.
또한, 본 발명의 제3 양상에 따른 발명은, 디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 상기 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 방법을 상기 스토리지 내의 컴퓨터에 실행시키는 암호 변환 프로그램으로서, 상기 디스크 장치 내에 기억된 암호화 데이터를 상기 스토리지 내의 암호 버퍼에 저장하는 암호화 데이터 저장 수순과, 상기 디스크 장치 내에 기억된 비암호화 데이터를 상기 스토리지 내의 암호 변환 버퍼에 저장하는 비암호화 데이터 저장 수순과, 상기 암호화 데이터 저장 수순에 의해 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하는 암호 변환 수순과, 상기 비암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하는 복호 변환 수순과, 상기 비암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하는 재암호 변환 수순을 컴퓨터에 실행시키는 것을 특징으로 하는 것을 특징으로 한다.
또한, 본 발명의 제4 양상에 따른 발명은, 상기의 발명에서, 상기 암호 변환 수순은, 상기 비암호화 데이터 저장 수순에 의해 저장된 상기 비암호화 데이터를 용장화하여 소정의 암호화 데이터로 암호 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하고, 상기 복호 변환 수순은, 상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 데이터를 용장화하여 상기 디스크 장치에 기입하고, 상기 재암호 변환 수순은, 상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 데이터를 용장화하여 상기 상이한 암호화 데이터로 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하는 것을 특징으로 한다.
또한, 본 발명의 제5 양상에 따른 발명은, 상기의 발명에서, 상기 암호 변환 수순, 상기 복호 변환 수순 또는 상기 재암호 변환 수순에 의해 암호 변환 또는 복호 변환되어 있는 데이터의 진척 상황을 감시하는 진척 상황 감시 수순과, 암호 변환 또는 복호 변환 중에 상기 디스크 장치에 데이터의 판독 기입을 요구하는 판독 기입 요구를 접수한 경우에, 상기 진척 상황 감시 수순에 의해 감시된 상기 진척 상황에 따라서, 상기 판독 기입 요구에 기초한 판독 기입 제어를 행하는 판독 기입 제어 수순을 컴퓨터에 더 실행시키는 것을 특징으로 한다.
또한, 본 발명의 제6 양상에 따른 발명은, 상기의 발명에서, 상기 판독 기입 제어 수순은, 상기 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 상기 판독 기입 요구를 접수한 경우에, 그 복호 변환이 종료될 때까지 대기한 후에, 상기 판독을 요구받은 데이터에서의 암호화 데이터와 비암호화 데이터를 분할하여 판독하고, 판독한 암호화 데이터를 복호 변환하여 상기 비암호화 데이터와 결합하고, 그 결합된 데이터의 판독 제어를 행하는 것을 특징으로 한다.
또한, 본 발명의 제7 양상에 따른 발명은, 상기의 발명에서, 상기 판독 기입 제어 수순은, 상기 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 상기 판독 기입 요구를 접수한 경우에, 그 판독을 요구받은 데이터에서의 비암호화 데이터와 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 분할하고, 분할된 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 복호 변환하여 상기 비암호화 데이터와 결합하고, 그 결합된 데이터의 판독 제어를 행하는 것을 특징으로 한다.
또한, 본 발명의 제8 양상에 따른 발명은, 상기의 발명에서, 상기 판독 기입 제어 수순은, 상기 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 상기 판독 기입 요구를 접수한 경우에, 그 복호 변환 중의 데이터가 복호 변환되어 상기 암호 변환 버퍼에 저장된 후, 그 암호 변환 버퍼로부터 판독 제어를 행하는 것을 특징으로 한다.
또한, 본 발명의 제9 양상에 따른 발명은, 상기의 발명에서, 상기 암호 변환 버퍼는, 로컬 데이터로서 비암호화 데이터를 기억하는 로컬 영역과, 다른 암호 변환 버퍼가 저장하는 로컬 데이터에 대응하는 미러 데이터로서 비암호화 데이터를 기억하는 미러 영역으로 이루어지는 것으로서, 상기 로컬 데이터를 상기 로컬 영역에 기입함과 함께, 다른 암호 변환 버퍼에서의 미러 영역에 상기 로컬 데이터에 대응하는 미러 데이터를 기입하는 지시를 내리는 기입 제어 수순을 컴퓨터에 더 실행시키고, 상기 암호 변환 수순은, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 그 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 상기 다른 암호 변환 버퍼 대신에, 상기 미러 영역에 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하고, 상기 복호 변환 수순은, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 그 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 상기 다른 암호 변환 버퍼 대신에, 상기 미러 영역에 저장된 상기 비암호화 데이터를 상기 디스크 장치에 기입하고, 상기 재암호 변환 수순은, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 그 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 상기 다른 암호 변환 버퍼 대신에, 상기 미러 영역에 저장된 상기 비암호화 데이터를 상기 상이한 암호화 데이터로 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하는 것을 특징으로 한다.
또한, 본 발명의 제10 양상에 따른 발명은, 상기의 발명에서, 상기 기입 제어 수순은, 자기의 로컬 영역에 저장된 상기 로컬 데이터에 대응하는 상기 미러 데이터를 저장하고 있는 다른 암호 변환 버퍼에 장해가 발생한 경우에는, 상기 로컬 데이터에 대응하는 상기 미러 데이터를 장해가 발생하고 있지 않은 다른 암호 변환 버퍼의 미러 영역에 기입하는 지시를 내리는 것을 특징으로 한다.
<발명의 효과>
본 발명의 제1, 제2, 또는 제3 양상에 따르면, 디스크 장치 내에 기억된 암호화 데이터를 스토리지 내의 암호 버퍼에 저장하고, 디스크 장치 내에 기억된 비암호화 데이터를 스토리지 내의 암호 변환 버퍼에 저장하고, 저장된 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하고, 저장된 암호화 데이터를 비암호화 데이터로 복호 변환하고, 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하므로, 스토리지의 외부에 데이터를 판독하지 않고, 스토리지 내에서 데이터를 암호화 또는 복호화하는 결과, 데이터를 암호화 또는 복호화하는 시간을 짧게 하는 것이 가능하다.
또한, 본 발명의 제4 양상에 따르면, 저장된 비암호화 데이터를 용장화하여 소정의 암호화 데이터로 암호 변환하고, 암호 변환된 암호화 데이터를 디스크 장치에 기입하고, 저장된 암호화 데이터를 비암호화 데이터로 복호 변환하고, 복호 변 환된 데이터를 용장화하여 디스크 장치에 기입하고, 저장된 암호화 데이터를 비암호화 데이터로 복호 변환하고, 복호 변환된 데이터를 용장화하여 상이한 암호화 데이터로 변환하고, 암호 변환된 암호화 데이터를 디스크 장치에 기입하므로, 비암호화 데이터를 암호화 데이터로 변환하는 것, 암호화 데이터를 비암호화 데이터로 변환하는 것, 암호화 데이터를 상이한 암호화 데이터로 하는 것 각각을 행하는 것이 가능하다. 또한, 용장화함으로써 데이터가 로스트되지 않도록 하는 것도 가능하다.
또한, 본 발명의 제5 양상에 따르면, 암호 변환 또는 복호 변환되어 있는 데이터의 진척 상황을 감시하여, 암호 변환 또는 복호 변환 중에 디스크 장치에 데이터의 판독 기입을 요구하는 판독 기입 요구를 접수한 경우에, 감시된 진척 상황에 따라서, 판독 기입 요구에 기초한 판독 기입 제어를 행하므로, 암호 변환 또는 복호 변환되어 있는 데이터의 진척 상황에 따라서, 판독 기입 요구에 기초한 판독 기입 제어를 행하는 것이 가능하다.
또한, 본 발명의 제6 양상에 따르면, 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 판독 기입 요구를 접수한 경우에, 복호 변환이 종료될 때까지 대기한 후에, 판독을 요구받은 데이터에서의 암호화 데이터와 비암호화 데이터를 분할하여 판독하고, 판독한 암호화 데이터를 복호 변환하여 비암호화 데이터와 결합하고, 결합된 데이터의 판독 제어를 행하므로, 암호화 데이터와 비암호화 데이터를 분할하여, 이미 암호화된 데이터에 대하여 복호 변환을 대기할 필요가 없어지는 결과, 판독 기입 제어를 행하는 시간을 짧게 하는 것이 가능하다.
또한, 본 발명의 제7 양상에 따르면, 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 판독 기입 요구를 접수한 경우에, 판독을 요구받은 데이터에서의 비암호화 데이터와 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 분할하고, 분할된 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 복호 변환하여 비암호화 데이터와 결합하고, 결합된 데이터의 판독 제어를 행하므로, 복호 변환 중의 데이터를 대기하지 않고, 병행하여 암호화 데이터를 비암호화 데이터로 복호 변환하는 결과, 판독 기입 제어를 행하는 시간을 짧게 하는 것이 가능하다.
또한, 본 발명의 제8 양상에 따르면, 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 판독 기입 요구를 접수한 경우에, 복호 변환 중의 데이터가 복호 변환되어 암호 변환 버퍼에 저장된 후, 암호 변환 버퍼로부터 판독 제어를 행하므로, 암호 변환 버퍼에 저장되어 있는 데이터에 대하여, 디스크 장치로부터 판독할 필요가 없어지는 결과, 판독 기입 제어를 행하는 시간을 짧게 하는 것이 가능하다.
또한, 본 발명의 제9 양상에 따르면, 암호 변환 버퍼는, 로컬 데이터로서 비암호화 데이터를 기억하는 로컬 영역과, 다른 암호 변환 버퍼가 저장하는 로컬 데이터에 대응하는 미러 데이터로서 비암호화 데이터를 기억하는 미러 영역으로 이루어지는 것으로서, 로컬 데이터를 로컬 영역에 기입함과 함께, 다른 암호 변환 버퍼에서의 미러 영역에 로컬 데이터에 대응하는 미러 데이터를 기입하는 지시를 내리고, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에 는, 다른 암호 변환 버퍼 대신에, 미러 영역에 저장된 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하고, 그 암호 변환된 암호화 데이터를 디스크 장치에 기입하고, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 다른 암호 변환 버퍼 대신에, 미러 영역에 저장된 비암호화 데이터를 디스크 장치에 기입하고, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 다른 암호 변환 버퍼 대신에, 미러 영역에 저장된 비암호화 데이터를 상이한 암호화 데이터로 변환하고, 암호 변환된 암호화 데이터를 디스크 장치에 기입하므로, 다른 암호 변환 버퍼에 장해가 발생한 경우라도, 다른 암호 변환 버퍼의 로컬 데이터에 대응하는 미러 데이터를 이용하여, 암호 변환 처리, 복호 변환 처리, 재암호 변환 처리를 속행하는 것이 가능하다.
또한, 본 발명의 제10 양상에 따르면, 자기의 로컬 영역에 저장된 로컬 데이터에 대응하는 미러 데이터를 저장하고 있는 다른 암호 변환 버퍼에 장해가 발생한 경우에는, 로컬 데이터에 대응하는 미러 데이터를 장해가 발생하고 있지 않은 다른 암호 변환 버퍼의 미러 영역에 기입하는 지시를 내리므로, 미러 버퍼에 장해가 발생한 경우라도, 비암호화 데이터를 재이중화하는 것이 가능하다.
<발명을 실시하기 위한 최량의 형태>
이하에 첨부 도면을 참조하여, 본 발명에 따른 암호 변환 장치, 암호 변환 방법 및 암호 변환 프로그램의 실시예를 상세히 설명한다. 또한, 이하에 설명하는 실시예에서는, 기억 장치로서의 스토리지에 본 발명을 내장한 경우의 예를 설명한다.
(실시예 1)
이하의 실시예에서는, 실시예 1에 따른 스토리지의 개요 및 특징, 스토리지의 구성 및 처리의 흐름을 순서대로 설명하고, 마지막으로 실시예 1에 의한 효과를 설명한다.
[실시예 1에 따른 스토리지의 개요 및 특징]
우선 가장 먼저, 도 1∼도 3을 이용하여, 실시예 1에 따른 스토리지의 개요 및 특징을 설명한다. 도 1∼도 3은, 실시예 1에 따른 스토리지의 개요 및 특징을 설명하기 위한 도면이다.
실시예 1의 스토리지(10)에서는, 디스크 장치(50) 내에 기억된 데이터의 관리를 행하는 스토리지(10)에서, 디스크 장치(50)에 의해 기억된 데이터를 암호화 또는 복호화하는 것을 개요로 한다. 그리고, 이 스토리지(10)에서는, 스토리지(10)의 외부에 데이터를 판독하지 않고, 스토리지(10) 내에서 데이터를 암호화 또는 복호화하는 결과, 데이터를 암호화 또는 복호화하는 시간을 짧게 하는 점에 주된 특징이 있다.
이 주된 특징에 대하여 구체적으로 설명하면, 스토리지(10)는, 도 1에 도시한 바와 같이, 디스크 장치(50) 내에 기억된 암호화 데이터를 기억하는 암호 버퍼(14a)와, 디스크 장치(50) 내에 기억된 비암호화 데이터를 기억하는 암호 변환 버퍼(14b)를 구비한다.
이와 같은 구성 하에, 스토리지(10)는, 관리 장치(40)로부터 소정의 볼륨에 대한 암호 변환 요구를 접수하면(도 1의 (1) 참조), 디스크 장치(50)로부터 암호 변환 버퍼(14b)에 소정의 볼륨에서의 비암호화 데이터의 리드를 개시한다(도 1의 (2) 참조).
그리고, 스토리지(10)는, 비암호화 데이터를 용장화하여(도 1의 (3) 참조), 소정의 암호화 데이터로 암호 변환한다(도 1의 (4) 참조). 구체적으로는, 스토리지(10)는, 암호 변환 버퍼(14b) 내의 비암호화 데이터를 CM(Controller Module)1의 암호 변환 버퍼(24b)에 이중화한 후, 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하고 암호 버퍼(14a)에 암호 변환된 데이터를 전달한다. 그 후, 스토리지(10)는, 암호 변환된 암호화 데이터를 디스크 장치(50)에 기입한다(도 1의 (5) 참조).
계속해서, 도 2를 이용하여 복호 변환 처리에 대해서 설명한다. 스토리지(10)는, 관리 장치(40)로부터 소정의 볼륨에 대한 복호 변환 요구를 접수하면(도 2의 (1) 참조), 디스크 장치(50)로부터 암호 버퍼(14a)에 소정의 볼륨에서의 암호화 데이터의 리드를 개시한다(도 2의 (2) 참조).
그리고, 스토리지(10)는, 암호 버퍼(14a)에 저장된 암호화 데이터를 비암호화 데이터로 복호 변환하고(도 2의 (3) 참조), 복호 변환된 데이터를 용장화한다(도 2의 (4) 참조). 구체적으로는, 스토리지(10)는, 암호화 데이터를 복호 변환하여 암호 변환 버퍼(14b) 내에 저장하고, 암호 변환 버퍼(14b) 내의 비암호화 데이터를 이중화한다. 그 후, 스토리지(10)는, 복호 변환된 비암호화 데이터를 디스크 장치(50)에 기입한다(도 2의 (5) 참조).
계속해서, 도 3을 이용하여 재암호 변환 처리에 대해서 설명한다. 스토리지(10)는, 관리 장치(40)로부터 소정의 볼륨에 대한 재암호 변환 요구를 접수하면(도 3의 (1) 참조), 디스크 장치(50)로부터 암호 버퍼(14a)에 소정의 볼륨에서의 암호화 데이터의 리드를 개시한다(도 3의 (2) 참조).
그리고, 스토리지(10)는, 암호 버퍼(14a)에 저장된 암호화 데이터를 비암호화 데이터로 복호 변환하고(도 3의 (3) 참조), 그 복호 변환된 데이터를 용장화한다(도 3의 (4) 참조). 구체적으로는, 스토리지(10)는, 암호화 데이터를 복호 변환하여 암호 변환 버퍼(14b) 내에 저장하고, 암호 변환 버퍼(14b) 내의 비암호화 데이터를 이중화한다. 그 후, 스토리지(10)는, 이중화된 비암호화 데이터를 복호 변환되기 전의 암호와는 상이한 암호화 데이터로 변환하고(도 3의 (5) 참조), 암호 변환된 암호화 데이터를 디스크 장치(50)에 기입한다(도 3의 (6) 참조).
이와 같이, 스토리지(10)는, 상기한 주된 특징과 같이, 스토리지(10)의 외부에 데이터를 판독하지 않고, 스토리지(10) 내에서 데이터를 암호화 또는 복호화하는 결과, 데이터를 암호화 또는 복호화하는 시간을 짧게 하는 것이 가능하다.
[스토리지를 포함하는 시스템 전체의 구성]
다음으로, 도 4를 이용하여, 도 1∼3에 도시한 스토리지를 포함하는 시스템 전체의 구성을 설명한다. 도 4는, 실시예 1에 따른 스토리지를 포함하는 시스템 전체의 구성을 도시하는 도면이다.
도 4에 도시한 바와 같이, 스토리지 시스템(1)은, 스토리지(10)와, 호스 트(20)와, 스위치(30)와, 관리 장치(40)로 구성된다. 또한, 스토리지 시스템(1)에서는, 스토리지(10)와 호스트(20)와 관리 장치(40)가 스위치(30)를 통해서 접속된다.
호스트(20)는, 데이터의 판독 또는 기입을 요구하는 호스트 I/O 요구를 스토리지(10)에 대하여 통지하고, 디스크 장치(50) 내에서의 데이터의 판독 기입을 요구한다. 스위치(30)는, 스토리지(10), 호스트(20), 관리 장치(40)의 데이터의 송수신처를 조정한다. 관리 장치(40)는, 비암호화 데이터를 암호화 데이터로 암호 변환하도록 요구하는 암호 변환 요구, 암호화 데이터를 비암호화 데이터로 복호 변환하도록 요구하는 복호 변환 요구, 암호화 데이터를 다른 암호로 변환하도록 요구하는 재암호 변환 요구를 스토리지(10)에 대하여 통지한다.
스토리지(10)는, 호스트(20)로부터의 호스트 I/O 요구를 CM 내의 CA(Chanel Adapter)가 접수하고, 도시하지 않은 캐쉬를 이용하여, CM이 디스크 장치(50) 내에서의 데이터의 판독 기입을 제어하고 있다. 또한, 스토리지(10)는, 백그라운드의 처리로서, 관리 장치(40)로부터 접수한 암호 변환 요구, 복호 변환 요구, 재암호 변환 요구에 따른, 암호화 처리, 복호화 처리, 재복호화 처리를 행하고 있다.
[스토리지의 구성]
다음으로, 도 5를 이용하여, 도 1∼3에 도시한 스토리지(10)의 구성을 설명한다. 도 5는, 실시예 1에 따른 스토리지(10)의 구성을 도시하는 블록도이고, 도 6은, 진척 상황을 감시하는 처리를 설명하기 위한 도면이고, 도 7은, 판독 기입 제어 처리를 설명하기 위한 도면이다. 도 5에 도시한 바와 같이, 이 스토리지(10) 는, 스위치 제어 I/F(11), 디스크 제어 I/F(12), 제어부(13), 기억부(14)를 구비하고, 스위치(30)를 통해서 호스트(20) 및 관리 장치(40)와 접속된다. 이하에 이들 각 부의 처리를 설명한다.
스위치 제어 I/F(11)는, 접속되는 호스트(20) 및 관리 장치(40)와의 사이에서 주고받는 각종 정보에 관한 통신을 제어한다. 구체적으로는, 스위치 제어 I/F(11)는, 호스트(20)로부터 데이터의 판독 또는 기입을 요구하는 호스트 I/O 요구를 수신하고, 요구된 디스크 장치(50) 내의 데이터를 송신한다. 또한, 스위치 제어 I/F(11)는, 관리 장치(40)로부터 암호 변환 요구, 복호 변환 요구, 재암호 변환 요구를 수신한다.
디스크 제어 I/F(12)는, 접속되는 디스크 장치(50)와의 사이에서 주고받는 각종 정보에 관한 통신을 제어한다. 구체적으로는, 디스크 제어 I/F(12)는, 디스크 장치(50)와의 사이에서 암호화 데이터 및 비암호화 데이터의 송수신을 행한다.
기억부(14)는, 제어부(13)에 의한 각종 처리에 필요한 데이터 및 프로그램을 저장하는데, 특히 본 발명에 밀접하게 관련된 것으로서는, 암호 버퍼(14a) 및 암호 변환 버퍼(14b)를 구비한다. 이 암호 버퍼(14a)는, 암호화 데이터를 기억하는 수단이다. 또한, 암호 변환 버퍼(14b)는, 비암호화 데이터를 기억하는 수단이다. 또한, 기억부(14)는, 도시하고 있지 않지만, 암호화나 복호화에 이용되는 암호 키를 기억한다.
제어부(13)는, 각종 처리 수순 등을 규정한 프로그램 및 소요 데이터를 저장하기 위한 내부 메모리를 갖고, 이들에 의해 다양한 처리를 실행하는 처리부이며, 특히 본 발명에 밀접하게 관련된 것으로서는, 암호 변환부(13a), 복호 변환부(13b), 재암호 변환부(13c), 관리용 제어부(13d), 판독 기입 제어부(13e)를 구비한다. 또한, 암호 변환부(13a)는, 특허 청구의 범위에 기재된 「암호 변환 수단」에 대응하고, 복호 변환부(13b)는, 특허 청구의 범위에 기재된 「복호 변환 수단」에 대응하고, 재암호 변환부(13c)는, 특허 청구의 범위에 기재된 「재암호 변환 수단」에 대응한다.
암호 변환부(13a)는, 비암호화 데이터를 소정의 암호화 데이터로 암호 변환한다. 구체적으로는, 암호 변환부(13a)는, 관리 장치(40)로부터 소정의 볼륨에 대한 암호 변환 요구를 접수하면, 기억 영역 내에 암호 변환 버퍼(14b)가 획득되어 있는지를 판정하고, 그 결과, 암호 변환 버퍼(14b)가 획득되어 있지 않은 경우에는, 암호 변환 버퍼(14b)를 기억 영역 내에 획득한다. 또한, 암호 변환부(13a)는, 기억 영역 내에 암호 변환 버퍼(14b)가 획득되어 있는 경우에는, 디스크 장치(50)로부터 암호 변환 버퍼(14b)에 소정의 볼륨에서의 비암호화 데이터의 리드를 개시한다.
그리고, 암호 변환부(13a)는, 암호 변환 버퍼(14b) 내의 비암호화 데이터를 이중화한 후, 비암호화 데이터를 소정의 암호화 데이터로 암호 변환한다. 그리고, 암호 변환부(13a)는, 암호 변환된 암호화 데이터의 디스크 장치(50)에의 라이트를 행하고, 볼륨의 최후까지 암호 변환이 종료되었는지를 판정하여, 그 결과, 볼륨의 최후까지 변환이 종료되어 있지 않은 경우에는, 아직 암호 변환되어 있지 않은 데이터를 암호 변환 버퍼(14b)에 리드하여 상기의 암호 변환 처리를 반복한다. 또 한, 암호 변환부(13a)는, 볼륨의 최후까지 암호 변환이 종료된 경우에는, 처리를 종료한다.
복호 변환부(13b)는, 암호화 데이터를 비암호화 데이터로 복호 변환한다. 구체적으로는, 복호 변환부(13b)는, 관리 장치(40)로부터 소정의 볼륨에 대한 복호 변환 요구를 접수하면, 기억 영역 내에 암호 버퍼(14a)가 획득되어 있는지를 판정하여, 그 결과, 암호 버퍼(14a)가 획득되어 있지 않은 경우에는, 암호 버퍼(14a)를 기억 영역 내에 획득한다. 또한, 복호 변환부(13b)는, 기억 영역 내에 암호 버퍼(14a)가 획득되어 있는 경우에는, 디스크 장치(50)로부터 암호 버퍼(14a)에 소정의 볼륨에서의 암호화 데이터의 리드를 개시한다.
그리고, 복호 변환부(13b)는, 암호화 데이터를 복호 변환하여 암호 변환 버퍼(14b) 내에 저장하고, 암호 변환 버퍼(14b) 내의 비암호화 데이터를 이중화한 후, 복호 변환된 비암호화 데이터의 디스크 장치(50)에의 라이트를 행한다. 그 후, 복호 변환부(13b)는, 볼륨의 최후까지 복호 변환이 종료되었는지를 판정하여, 그 결과, 볼륨의 최후까지 변환이 종료되어 있지 않은 경우에는, 아직 복호 변환되어 있지 않은 데이터를 암호 변환 버퍼(14b)에 리드하여 상기의 복호 변환 처리를 반복한다. 또한, 복호 변환부(13b)는, 볼륨의 최후까지 복호 변환이 종료된 경우에는, 처리를 종료한다.
재암호 변환부(13c)는, 암호화 데이터를 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환되기 전의 암호와는 상이한 암호로 변환한다. 구체적으로는, 재암호 변환부(13c)는, 관리 장치(40)로부터 소정의 볼륨에 대한 재암호 변 환 요구를 접수하면, 기억 영역 내에 암호 버퍼(14a)가 획득되어 있는지를 판정하여, 그 결과, 암호 버퍼(14a)가 획득되어 있지 않은 경우에는, 암호 버퍼(14a)를 기억 영역 내에 획득한다. 또한, 재암호 변환부(13c)는, 기억 영역 내에 암호 버퍼(14a)가 획득되어 있는 경우에는, 디스크 장치(50)로부터 암호 버퍼(14a)에 소정의 볼륨에서의 암호화 데이터의 리드를 개시한다.
그리고, 재암호 변환부(13c)는, 암호화 데이터를 복호 변환하여 암호 변환 버퍼(14b) 내에 저장하고, 암호 변환 버퍼(14b) 내의 비암호화 데이터를 이중화한 후, 이중화된 비암호화 데이터를 복호 변환되기 전의 암호와는 상이한 암호화 데이터로 변환한다. 그 후, 재암호 변환부(13c)는, 암호 변환된 암호화 데이터의 디스크 장치(50)에의 라이트를 행하고, 볼륨의 최후까지 암호 변환이 종료되었는지를 판정하여, 그 결과, 볼륨의 최후까지 변환이 종료되어 있지 않은 경우에는, 아직 암호 변환되어 있지 않은 데이터를 암호 버퍼(14a)에 리드하여 상기의 재암호 변환 처리를 반복한다. 또한, 재암호 변환부(13c)는, 볼륨의 최후까지 암호 변환이 종료된 경우에는, 처리를 종료한다.
관리용 제어부(13d)는, 암호 변환 또는 복호 변환되어 있는 데이터를 감시한다. 구체적으로는, 암호 변환부(13a), 복호 변환부(13b) 또는 재암호 변환부(13c)에 의해 암호 변환 또는 복호 변환되어 있는 데이터의 진척 상황을 감시한다. 예를 들면, 관리용 제어부(13d)는, 도 6의 예에서 보면, 기억 영역(500∼550의 기억 영역에 저장된 데이터에 대하여 복호 변환 중임을 진척 상황으로서 파악하고, 감시한다.
판독 기입 제어부(13e)는, 호스트(20)로부터의 호스트 I/O 요구를 접수하고, 관리용 제어부(13d)에 의해 감시된 진척 상황에 따라서, 호스트 I/O 요구에 기초한 디스크 장치(50)에의 기록 및 판독 제어를 행한다.
구체적으로는, 판독 기입 제어부(13e)는, 호스트 I/O 요구를 접수하면, 호스트 I/O 요구의 요구 대상인 볼륨이 복호 변환 처리중인지를 판정한다. 그 결과, 판독 기입 제어부(13e)는, 호스트 I/O 요구의 요구 대상인 볼륨이 복호 변환 처리중이 아닌 경우에는, 호스트 I/O 요구의 요구 대상인 데이터가 암호화 데이터인지를 판정하여, 그 결과, 암호화 데이터가 아니면, 그대로 디스크 장치(50)에 액세스하여, 호스트 I/O 요구에 대응하는 처리를 행한다. 한편, 판독 기입 제어부(13e)는, 호스트 I/O 요구의 요구 대상인 데이터가 암호화 데이터인 경우에는, 복호 변환 처리를 행한 후에, 디스크 장치(50)에 액세스하여, 호스트 I/O 요구에 대응하는 처리를 행한다.
또한, 판독 기입 제어부(13e)는, 호스트 I/O 요구의 요구 대상인 볼륨이 복호 변환 처리중인 경우에는, 현재 복호 변환 중인 영역에의 호스트 I/O 요구인지를 판정한다. 그 결과, 판독 기입 제어부(13e)는, 현재 복호 변환 중인 영역에의 호스트 I/O 요구인 경우에는, 그 복호 변환이 종료될 때까지 대기하는 배타 처리를 행하고, 호스트 I/O 요구가 진척 상황에 있어서의 암호화 데이터와 비암호화 데이터를 걸치는지를 판정한다. 한편, 판독 기입 제어부(13e)는, 현재 복호 변환 중인 영역에의 호스트 I/O 요구가 아닌 경우에는, 배타 처리를 행하지 않고서, 호스트 I/O 요구가 진척을 걸치는지를 판정한다.
그 결과, 판독 기입 제어부(13e)는, 호스트 I/O 요구가 진척을 걸치지 않는 경우에는, 디스크 장치(50)에 액세스하여, 호스트 I/O 요구 대상으로 되는 데이터가 암호화 데이터인지를 판정한다. 그 결과, 판독 기입 제어부(13e)는, 암호화 데이터인 경우에는, 복호 변환 처리를 행하고, 호스트 I/O 요구에 대한 처리를 행하고, 한편, 암호화 데이터가 아닌 경우에는, 복호 변환하지 않고서, 호스트 I/O 요구에 대한 처리를 행한다.
한편, 판독 기입 제어부(13e)는, 호스트 I/O 요구가 진척을 걸치는 경우에는, 진척 전후에서 분할하여, 암호화 데이터와 비암호화 데이터를 각각 디스크 액세스한다. 그리고, 판독 기입 제어부(13e)는, 암호화 데이터를 복호 변환하여, 비암호화 데이터와 결합하고, 호스트 I/O 요구에 대응하는 처리를 행한다. 또한, 판독 기입 제어부(13e)는, 호스트(20)로부터 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 호스트 I/O 요구를 접수한 경우에는, 캐쉬에 전송하여 직접 호스트(20)에 데이터를 보낸다.
여기서, 도 7을 이용하여, 구체적인 예를 이용하여 설명하면, 판독 기입 제어부(13e)는, 호스트 I/O 요구를 접수한 경우에(도 7의 예에서는, 기억 영역(500∼600)에 저장된 데이터에 대하여 호스트 I/O 요구를 접수), 그 호스트 I/O 요구를 접수한 데이터가 현재 복호 변환 중(도 7의 예에서는, 기억 영역(500∼550)이 복호 변환 중)이므로, 그 복호 변환이 종료될 때까지 대기하는 배타 처리를 행한다. 그리고, 판독 기입 제어부(13e)는, 진척 전후(도 7의 예에서는, 기억 영역(500∼550)의 비암호화와 기억 영역(551∼600)의 암호화 데이터)에서 분할하여, 암호화 데이 터와 비암호화 데이터를 각각 디스크 액세스한다. 그리고, 판독 기입 제어부(13e)는, 암호화 데이터를 복호 변환하여, 비암호화 데이터와 결합하고, 호스트 I/O 요구에 대응하는 처리를 행한다.
[스토리지에 의한 암호 변환 처리]
다음으로, 도 8을 이용하여, 실시예 1에 따른 스토리지(10)에 의한 암호 변환 처리를 설명한다. 도 8은, 실시예 1에 따른 스토리지(10)의 암호 변환 처리 동작을 도시하는 플로우차트이다.
도 8에 도시한 바와 같이, 스토리지(10)의 암호 변환부(13a)는, 관리 장치(40)로부터 소정의 볼륨에 대한 암호 변환 요구를 접수하면(스텝 S101 예), 기억 영역 내에 암호 변환 버퍼(14b)가 획득되어 있는지를 판정하여(스텝 S102), 그 결과, 암호 변환 버퍼(14b)가 획득되어 있지 않은 경우에는(스텝 S102 아니오), 암호 변환 버퍼(14b)를 기억 영역 내에 획득하여(스텝 S103), 디스크 장치(50)로부터 암호 변환 버퍼(14b)에 소정의 볼륨에서의 비암호화 데이터의 리드를 개시한다(스텝 S104). 또한, 암호 변환부(13a)는, 기억 영역 내에 암호 변환 버퍼(14b)가 획득되어 있는 경우에는(스텝 S102 예), 그대로 디스크 장치(50)로부터 암호 변환 버퍼(14b)에 소정의 볼륨에서의 비암호화 데이터의 리드를 개시한다(스텝 S104).
그리고, 암호 변환부(13a)는, 암호 변환 버퍼(14b) 내의 비암호화 데이터를 이중화한 후(스텝 S105), 비암호화 데이터를 소정의 암호화 데이터로 암호 변환한다(스텝 S106). 그리고, 암호 변환부(13a)는, 암호 변환된 암호화 데이터의 디스크 장치(50)에의 라이트를 행한 후(스텝 S107), 볼륨의 최후까지 암호 변환이 종료 되었는지를 판정하여(스텝 S108), 그 결과, 볼륨의 최후까지 변환이 종료되어 있지 않은 경우에는(스텝 S108 아니오), 아직 암호 변환되어 있지 않은 데이터를 암호 변환 버퍼(14b)에 리드하여(스텝 S104), 상기의 암호 변환 처리를 반복한다. 또한, 암호 변환부(13a)는, 볼륨의 최후까지 암호 변환이 종료된 경우에는(스텝 S108 예), 처리를 종료한다.
[스토리지에 의한 복호 변환 처리]
다음으로, 도 9를 이용하여, 실시예 1에 따른 스토리지(10)에 의한 복호 변환 처리를 설명한다. 도 9는, 실시예 1에 따른 스토리지(10)의 복호 변환 처리 동작을 도시하는 플로우차트이다.
도 9에 도시한 바와 같이, 스토리지(10)의 복호 변환부(13b)는, 관리 장치(40)로부터 소정의 볼륨에 대한 복호 변환 요구를 접수하면(스텝 S201 예), 기억 영역 내에 암호 버퍼(14a)가 획득되어 있는지를 판정하여(스텝 S202), 그 결과, 암호 버퍼(14a)가 획득되어 있지 않은 경우에는(스텝 S202 아니오), 암호 버퍼(14a)를 기억 영역 내에 획득한다(스텝 S203). 또한, 복호 변환부(13b)는, 기억 영역 내에 암호 버퍼(14a)가 획득되어 있는 경우에는(스텝 S202 예), 디스크 장치(50)로부터 암호 버퍼(14a)에 소정의 볼륨에서의 암호화 데이터의 리드를 개시한다(스텝 S204).
그리고, 복호 변환부(13b)는, 암호화 데이터를 복호 변환하여 암호 변환 버퍼(14b) 내에 저장하고(스텝 S205), 암호 변환 버퍼(14b) 내의 비암호화 데이터를 이중화한 후(스텝 S206), 복호 변환된 비암호화 데이터의 디스크 장치(50)에의 라 이트를 행한다(스텝 S207). 그 후, 복호 변환부(13b)는, 볼륨의 최후까지 복호 변환이 종료되었는지를 판정하여(스텝 S208), 그 결과, 볼륨의 최후까지 변환이 종료되어 있지 않은 경우에는(스텝 S208 아니오), 아직 복호 변환되어 있지 않은 데이터를 암호 변환 버퍼(14b)에 리드하여(스텝 S204), 상기의 복호 변환 처리를 반복한다. 또한, 복호 변환부(13b)는, 볼륨의 최후까지 복호 변환이 종료된 경우에는(스텝 S208 예), 처리를 종료한다.
[스토리지에 의한 재암호 변환 처리]
다음으로, 도 10을 이용하여, 실시예 1에 따른 스토리지(10)에 의한 재암호 변환 처리를 설명한다. 도 10은, 실시예 1에 따른 스토리지(10)의 재암호 변환 처리 동작을 도시하는 플로우차트이다.
도 10에 도시한 바와 같이, 스토리지(10)의 재암호 변환부(13c)는, 관리 장치(40)로부터 소정의 볼륨에 대한 재암호 변환 요구를 접수하면(스텝 S301 예), 기억 영역 내에 암호 버퍼(14a)가 획득되어 있는지를 판정하여(스텝 S302), 그 결과, 암호 버퍼(14a)가 획득되어 있지 않은 경우에는(스텝 S302 아니오), 암호 버퍼(14a)를 기억 영역 내에 획득한다(스텝 S303). 또한, 재암호 변환부(13c)는, 기억 영역 내에 암호 버퍼(14a)가 획득되어 있는 경우에는(스텝 S302 예), 디스크 장치(50)로부터 암호 버퍼(14a)에 소정의 볼륨에서의 암호화 데이터의 리드를 개시한다(스텝 S304).
그리고, 재암호 변환부(13c)는, 암호화 데이터를 복호 변환하여 암호 변환 버퍼(14b) 내에 저장하고(스텝 S305), 암호 변환 버퍼(14b) 내의 비암호화 데이터 를 이중화한 후(스텝 S306), 이중화된 비암호화 데이터를 복호 변환되기 전의 암호와는 상이한 암호화 데이터로 변환한다(스텝 S307). 그 후, 재암호 변환부(13c)는, 암호 변환된 암호화 데이터의 디스크 장치(50)에의 라이트를 행하고(스텝 S308), 볼륨의 최후까지 암호 변환이 종료되었는지를 판정하여(스텝 S309), 그 결과, 볼륨의 최후까지 변환이 종료되어 있지 않은 경우에는(스텝 S309 아니오), 아직 암호 변환되어 있지 않은 데이터를 암호 버퍼(14a)에 리드하여(스텝 S304), 상기의 재암호 변환 처리를 반복한다. 또한, 재암호 변환부(13c)는, 볼륨의 최후까지 암호 변환이 종료된 경우에는(스텝 S309 예), 처리를 종료한다.
[스토리지에 의한 판독 기입 제어 처리]
다음으로, 도 11을 이용하여, 실시예 1에 따른 스토리지(10)에 의한 판독 기입 제어 처리를 설명한다. 도 11은, 실시예 1에 따른 스토리지(10)의 판독 기입 제어 처리 동작을 도시하는 플로우차트이다.
도 11에 도시한 바와 같이, 스토리지(10)의 판독 기입 제어부(13e)는, 호스트 I/O 요구를 접수하면(스텝 S401 예), 호스트 I/O 요구의 요구 대상인 볼륨이 복호 변환 처리중인지를 판정한다(스텝 S402). 그 결과, 판독 기입 제어부(13e)는, 호스트 I/O 요구의 요구 대상인 볼륨이 복호 변환 처리중이 아닌 경우에는(스텝 S402 아니오), 디스크 장치(50)에 액세스하여(스텝 S409), 호스트 I/O 요구의 요구 대상인 데이터가 암호화 데이터인지를 판정하여(스텝 S410), 그 결과, 암호화 데이터가 아니면(스텝 S410 아니오), 호스트 I/O 요구에 대응하는 처리를 행한다(스텝 S412). 한편, 판독 기입 제어부(13e)는, 호스트 I/O 요구의 요구 대상인 데이터가 암호화 데이터인 경우에는(스텝 S410 예), 복호 변환 처리를 행한 후에(스텝 S411), 호스트 I/O 요구에 대응하는 처리를 행한다(스텝 S412).
또한, 판독 기입 제어부(13e)는, 호스트 I/O 요구의 요구 대상인 볼륨이 복호 변환 처리중인 경우에는(스텝 S402 예), 현재 복호 변환 중인 영역에의 호스트 I/O 요구인지를 판정한다(스텝 S403). 그 결과, 판독 기입 제어부(13e)는, 현재 복호 변환 중인 영역에의 호스트 I/O 요구인 경우에는(스텝 S403 예), 그 복호 변환이 종료될 때까지 대기하는 배타 처리를 행하고(스텝 S404), 호스트 I/O 요구가 진척 상황에 있어서의 암호화 데이터와 비암호화 데이터를 걸치는지를 판정한다(스텝 S405). 한편, 판독 기입 제어부(13e)는, 현재 복호 변환 중인 영역에의 호스트 I/O 요구가 아닌 경우에는(스텝 S403 아니오), 배타 처리를 행하지 않고서, 호스트 I/O 요구가 진척을 걸치는지를 판정한다(스텝 S405).
그 결과, 판독 기입 제어부(13e)는, 호스트 I/O 요구가 진척을 걸치지 않는 경우에는(스텝 S405 아니오), 디스크 장치(50)에 액세스하여(스텝 S409), 호스트 I/O 요구 대상으로 되는 데이터가 암호화 데이터인지를 판정한다(스텝 S410). 그 결과, 판독 기입 제어부(13e)는, 암호화 데이터인 경우에는(스텝 S410 예), 복호 변환 처리를 행하고(스텝 S411), 호스트 I/O 요구에 대한 처리를 행하고(스텝 S412), 한편, 암호화 데이터가 아닌 경우에는(스텝 S410 아니오), 복호 변환하지 않고, 호스트 I/O 요구에 대한 처리를 행한다(스텝 S412).
한편, 판독 기입 제어부(13e)는, 호스트 I/O 요구가 진척을 걸치는 경우에는(스텝 S405 예), 진척 전후에서 분할하여, 암호화 데이터와 비암호화 데이터를 각각 디스크 장치(50)에 액세스하여 판독한다(스텝 S406). 그리고, 판독 기입 제어부(13e)는, 암호화 데이터를 복호 변환하여(스텝 S407), 비암호화 데이터와 결합하고(스텝 S408), 호스트 I/O 요구에 대응하는 처리를 행한다(스텝 S412).
[실시예 1의 효과]
전술해 온 바와 같이, 스토리지(10)는, 디스크 장치(50) 내에 기억된 암호화 데이터를 스토리지(10) 내의 암호 버퍼(14a)에 저장하고, 디스크 장치(50) 내에 기억된 비암호화 데이터를 스토리지(10) 내의 암호 변환 버퍼(14b)에 저장하고, 저장된 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하고, 저장된 암호화 데이터를 비암호화 데이터로 복호 변환하고, 저장된 암호화 데이터를 비암호화 데이터로 복호 변환하고, 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하므로, 스토리지(10)의 외부에 데이터를 판독하지 않고, 스토리지(10) 내에서 데이터를 암호화 또는 복호화하는 결과, 데이터를 암호화 또는 복호화하는 시간을 짧게 하는 것이 가능하다.
또한, 실시예 1에 따르면, 저장된 비암호화 데이터를 용장화하여 소정의 암호화 데이터로 암호 변환하고, 암호 변환된 암호화 데이터를 디스크 장치(50)에 기입하고, 저장된 암호화 데이터를 비암호화 데이터로 복호 변환하고, 복호 변환된 데이터를 용장화하여 디스크 장치(50)에 기입하고, 저장된 암호화 데이터를 비암호화 데이터로 복호 변환하고, 복호 변환된 데이터를 용장화하여 상이한 암호화 데이터로 변환하고, 암호 변환된 암호화 데이터를 디스크 장치(50)에 기입하므로, 비암호화 데이터를 암호화 데이터로 변환하는 것, 암호화 데이터를 비암호화 데이터로 변환하는 것, 암호화 데이터를 상이한 암호화 데이터로 하는 것 각각을 행하는 것이 가능하다. 또한, 용장화함으로써 데이터가 로스트되지 않도록 하는 것도 가능하다.
또한, 실시예 1에 따르면, 암호 변환 또는 복호 변환되어 있는 데이터의 진척 상황을 감시하여, 암호 변환 또는 복호 변환 중에 디스크 장치(50)에 데이터의 판독 기입을 요구하는 판독 기입 요구를 접수한 경우에, 감시된 진척 상황에 따라서, 판독 기입 요구에 기초한 판독 기입 제어를 행하므로, 암호 변환 또는 복호 변환되어 있는 데이터의 진척 상황에 따라서, 판독 기입 요구에 기초한 판독 기입 제어를 행하는 것이 가능하다.
또한, 실시예 1에 따르면, 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 판독 기입 요구를 접수한 경우에, 복호 변환이 종료될 때까지 대기한 후에, 판독을 요구받은 데이터에서의 암호화 데이터와 비암호화 데이터를 분할하여 판독하고, 판독한 암호화 데이터를 복호 변환하여 비암호화 데이터와 결합하고, 결합된 데이터의 판독 제어를 행하므로, 암호화 데이터와 비암호화 데이터를 분할하여, 이미 암호화된 데이터에 대하여 복호 변환을 대기할 필요가 없어지는 결과, 판독 기입 제어를 행하는 시간을 짧게 하는 것이 가능하다.
또한, 실시예 1에 따르면, 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 판독 기입 요구를 접수한 경우에, 그 복호 변환 중의 데이터가 복호 변환되어 암호 변환 버퍼(14b)에 저장된 후, 그 암호 변환 버퍼(14b)로부터 판독 제어를 행하는 것을 특징으로 한다.
또한, 실시예 1에 따르면, 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 판독 기입 요구를 접수한 경우에, 복호 변환 중의 데이터가 복호 변환되어 암호 변환 버퍼(14b)에 저장된 후, 암호 변환 버퍼(14b)로부터 판독 제어를 행하므로, 암호 변환 버퍼(14b)에 저장되어 있는 데이터에 대하여, 디스크 장치(50)로부터 판독할 필요가 없어지는 결과, 판독 기입 제어를 행하는 시간을 짧게 하는 것이 가능하다.
(실시예 2)
그런데, 상기의 실시예 1에서는, 현재 암호 변환 중인 영역에의 호스트 I/O 요구인 경우에는, 그 복호 변환이 종료될 때까지 대기하는 배타 처리를 행하고 호스트 I/O 요구에 대응하는 처리를 행하는 경우를 설명했지만, 본 발명은 이것에 한정되는 것이 아니라, 복호 변환이 종료되는 것을 대기하지 않고, 호스트 I/O 요구에 대응하는 처리를 행하도록 하여도 된다.
따라서, 이하의 실시예 2에서는, 복호 변환이 종료하는 것을 대기하지 않고, 호스트 I/O 요구에 대응하는 처리를 행하는 경우로서, 도 12 및 도 13을 이용하여, 실시예 2에서의 스토리지에 대해서 설명한다. 도 12는, 실시예 2에 따른 스토리지의 판독 기입 제어 처리를 자세히 설명하기 위한 도면이고, 도 13은, 실시예 2에 따른 스토리지의 판독 기입 제어 처리 수순을 설명하기 위한 플로우차트이다.
우선 가장 먼저, 도 12를 이용하여, 실시예 2에 따른 스토리지(10)의 판독 기입 제어 처리를 설명한다. 도 12에 도시한 바와 같이, 스토리지(10)는, 실시예 1과 마찬가지로, 호스트 I/O 요구를 접수한 경우에(도 12의 예에서는, 기억 영 역(500∼600)에 저장된 데이터에 대하여 호스트 I/O 요구를 접수), 그 호스트 I/O 요구를 접수한 데이터를 비암호화 데이터와 암호화 데이터(현재 복호 변환되어 있는 데이터 및 암호화 데이터)로 분할한다. 그리고, 스토리지(10)는, 암호화 데이터를 복호 변환하여 비암호화 데이터와 결합하고, 호스트 I/O 요구를 접수한 데이터를 모두 비암호화 데이터로 한 후, 호스트 I/O 요구에 대응하는 처리를 행한다.
다음으로, 도 13을 이용하여 실시예 2에 따른 스토리지의 판독 기입 제어 처리에 대해서 설명한다. 실시예 2의 판독 기입 제어 처리는, 도 11에 도시한 실시예 1에 따른 판독 기입 제어 처리와 비교하여, 배타 처리를 행하지 않는 점이 상위하다.
즉, 도 13에 도시한 바와 같이, 스토리지(10)의 판독 기입 제어부(13e)는, 호스트 I/O 요구를 접수하면(스텝 S501 예), 호스트 I/O 요구의 요구 대상인 볼륨이 복호 변환 처리중인지를 판정한다(스텝 S502). 그 결과, 판독 기입 제어부(13e)는, 호스트 I/O 요구의 요구 대상인 볼륨이 복호 변환 처리중인 경우에는(스텝 S502 예), 호스트 I/O 요구가 진척 상황에 있어서의 암호화 데이터와 비암호화 데이터를 걸치는지를 판정한다(스텝 S503).
그 결과, 판독 기입 제어부(13e)는, 호스트 I/O 요구가 진척 상황에 있어서의 암호화 데이터와 비암호화 데이터를 걸치는 경우에는(스텝 S503 예), 비암호화 데이터와, 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 분할하고, 각각 디스크 장치(50)에 액세스하여 판독한다(스텝 S504). 그리고, 판독 기입 제어부(13e)는, 실시예 1과 마찬가지로, 암호화 데이터를 복호 변환하여(스텝 S505), 비암호화 데이터와 결합하고(스텝 S506), 호스트 I/O 요구에 대응하는 처리를 행한다(스텝 S510).
또한, 판독 기입 제어부(13e)는, 호스트 I/O 요구의 요구 대상인 볼륨이 복호 변환 처리중이 아닌 경우에는(스텝 S502 아니오), 또는, 호스트 I/O 요구가 진척을 걸치지 않는 경우에는(스텝 S503 아니오), 실시예 1과 마찬가지로, 디스크 장치(50)에 액세스하여(스텝 S507), 호스트 I/O 요구 대상으로 되는 데이터가 암호화 데이터인지를 판정한다(스텝 S508). 그 결과, 판독 기입 제어부(13e)는, 암호화 데이터인 경우에는(스텝 S508 예), 복호 변환 처리를 행하고(스텝 S509), 호스트 I/O 요구에 대한 처리를 행하고(스텝 S510), 한편, 암호화 데이터가 아닌 경우에는(스텝 S508 아니오), 복호 변환하지 않고, 호스트 I/O 요구에 대한 처리를 행한다(스텝 S510).
이와 같이, 상기의 실시예 2에서는, 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 판독 기입 요구를 접수한 경우에, 판독을 요구받은 데이터에서의 비암호화 데이터와 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 분할하고, 분할된 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 복호 변환하여 비암호화 데이터와 결합하고, 결합된 데이터의 판독 제어를 행하므로, 복호 변환 중의 데이터를 대기하지 않고서, 병행하여 암호화 데이터를 비암호화 데이터로 복호 변환하는 결과, 판독 기입 제어를 행하는 시간을 짧게 하는 것이 가능하다.
(실시예 3)
그런데, 스토리지 내의 암호 변환 버퍼는, 로컬 데이터로서 비암호화 데이터 를 기억하는 로컬 영역과, 다른 암호 변환 버퍼가 저장하는 로컬 데이터에 대응하는 미러 데이터로서 비암호화 데이터를 기억하는 미러 영역으로 이루어지는 것이어도 된다.
따라서, 이하의 실시예 3에서는, 암호 변환 버퍼가 로컬 영역과 미러 영역으로 이루어지는 경우로서, 도 14 및 도 15를 이용하여, 실시예 3에서의 스토리지에 대하여 설명한다. 도 14는, 실시예 3에 따른 스토리지의 암호 변환 버퍼에 대해서 설명하기 위한 도면이고, 도 15는, 실시예 3에 따른 스토리지 내의 CM에 장해가 발생한 경우에 대해서 설명하기 위한 플로우차트이다.
실시예 3에 따른 스토리지(10)에서는, 도 14에 도시한 바와 같이, 각 CM 내의 암호 변환 버퍼가 로컬 데이터로서 비암호화 데이터를 기억하는 로컬 영역(Local)과, 다른 암호 변환 버퍼가 저장하는 로컬 데이터에 대응하는 미러 데이터로서 비암호화 데이터를 기억하는 미러 영역(Mirror)으로 이루어진다. 그리고, 스토리지(10)는, CM 내의 암호 변환 버퍼에서의 로컬 데이터를 로컬 영역에 기입함과 함께, 다른 CM의 암호 변환 버퍼에서의 미러 영역에 로컬 데이터에 대응하는 미러 데이터를 기입하는 지시를 내려서 비암호화 데이터의 이중화를 행하고 있다. 구체적으로는, 스토리지(10)의 CM0은, 로컬 데이터를 암호 변환 버퍼(14b)의 로컬 영역에 기입함과 함께, CM1에서의 암호 변환 버퍼(24b)의 미러 영역에 로컬 데이터에 대응하는 미러 데이터를 기입하는 지시를 내려, 비암호화 데이터의 이중화를 행하고 있다.
또한, 도 15에 도시한 바와 같이, 스토리지(10) 내의 CM에 장해가 발생하는 경우가 생각된다. 이와 같은 경우에, 장해가 발생한 CM 내의 로컬 데이터에 관한 처리를 행할 수 없기 때문에, 그 로컬 데이터에 대응하는 미러 데이터를 기억하는 CM(이하, 미러 CM이라고 함)이 처리를 이어받을 필요가 있다. 또한, 장해가 발생한 CM 내의 미러 데이터가 손실되어, 그 미러 데이터에 대응하는 로컬 데이터가 일중화 상태로 되기 때문에, 재이중화할 필요가 있다. 즉, 도 15의 예를 이용하여 설명하면, 스토리지(10) 내의 CM1이 고장난 경우에는, CM1 내의 암호 변환 버퍼(24b)에서의 로컬 영역에 기억된 로컬 데이터에 관한 처리를 행할 수 없으므로, CM1의 미러 CM인 CM2가 암호 변환 버퍼(34b)에서의 미러 영역에 기억된 미러 데이터를 이용하여 처리를 행할 필요가 있다. 또한, 스토리지(10) 내의 CM1이 고장난 경우에는, CM0 내의 암호 변환 버퍼(14b)에서의 로컬 영역에 기억된 로컬 데이터가 일중화 상태로 되기 때문에, CM2 내의 암호 변환 버퍼(34b)에서의 미러 영역에 재이중화할 필요가 있다.
따라서, 실시예 3의 스토리지에서는, 스토리지(10) 내의 CM에 장해가 발생한 경우에 있어서, 다음과 같은 처리를 행하고 있다. 또한, 이하에서는, 상기한 장해가 발생한 로컬 데이터의 처리를 이어받는 처리나, 재이중화하는 처리를 리커버리 처리라고 하고, 그 리커버리 처리의 대상으로 되는 데이터를 리커버리 대상이라고 한다.
[스토리지에 의한 리커버리 처리]
다음으로, 도 16∼도 21을 이용하여, 실시예 3에 따른 스토리지(10)에 의한 리커버리 처리를 설명한다. 도 16∼도 21은, 실시예 3에 따른 스토리지(10)의 리 커버리 처리를 설명하기 위한 도면이다.
도 16에 도시한 바와 같이, CM0은, 로컬 영역에 로컬 데이터를 저장하고, 그 로컬 데이터에 대응하는 미러 데이터를 CM1이 미러 영역에 저장한다. 또한, CM1은, 로컬 영역에 로컬 데이터를 저장하고, 그 로컬 데이터에 대응하는 미러 데이터를 CM2가 미러 영역에 저장한다. 또한, CM2는, 로컬 영역에 로컬 데이터를 저장하고, 그 로컬 데이터에 대응하는 미러 데이터를 CM0이 미러 영역에 저장한다. 또한, 스토리지는, 도시하고 있지 않지만, 모든 CM을 관리하는 메인 컨트롤러를 구비하고 있다.
이와 같은 구성 하에, 도 17에 도시한 바와 같이, 스토리지(10) 내의 CM1에 장해가 발생한 경우에는, 메인 컨트롤러는, 처리를 일단 중지할 것을 요구하는 Suspend 통지를 CM0, CM2에 대하여 통지한다. 여기에서, 스토리지(10)는, CM0의 로컬 데이터 및 CM2의 로컬 데이터의 진척 정보에 대하여, 디스크 장치(50)에 데이터의 재기입 중임을 나타내는 phase=WRITE인 경우에는, CM0의 로컬 데이터 및 CM2의 로컬 데이터에 대하여 디스크 장치(50)에의 재기입을 속행하고, 진척 정보가 갱신될 때까지 처리를 중지하지 않고 계속한다. 또한, 도 17에 도시하는 경우에서의 스토리지(10)는, CM2의 로컬 데이터에 대해서는 재기입이 완료되었지만, CM0의 로컬 데이터에 대해서는 재기입을 할 수 없어 남아 버린 것으로 한다.
계속해서, 스토리지(10)의 CM0은, 도 18에 도시한 바와 같이, 자기의 로컬 영역에 저장된 로컬 데이터에 대응하는 미러 데이터를 저장하고 있는 CM1에 장해가 발생하고 있으므로, 로컬 데이터에 대응하는 미러 데이터를, 장해가 발생하고 있지 않은 CM2의 미러 영역에 기입하는 지시를 내린다. 그러나, CM0은, CM2의 미러 영역 내에 이미 CM1의 미러 데이터가 저장되어 있는 경우에는, CM2의 미러 영역에 로컬 데이터를 이중화하는 것을 대기한다.
구체적으로는, 스토리지(10)는, 메인 컨트롤러가 처리 재개를 위한 준비를 갖추는 요구를 하는 Degrade 통지를 CM0, CM2에 대하여 통지하면, 일중화 상태이고, 또한 phase=WRITE인 CM0의 로컬 데이터와 CM2의 미러 데이터를 리커버리 처리 대상으로 한다. 즉, 리커버리 처리 대상임을 나타내는 플래그를 온으로 하고, 몇 개분의 볼륨에 대하여 리커버리가 필요한지를 나타내는 카운터를 설정한다(예를 들면, CM0의 카운터는 「3」, CM2의 카운터는 「2」). 그리고, 스토리지(10)는, CM0의 로컬 데이터의 재이중화인 CM2의 플래그가 ON인 경우에는, CM2의 미러 데이터를 파괴할 우려가 있기 때문에, CM0의 재이중화를 억지한다.
그리고, 스토리지(10)는, 도 19에 도시한 바와 같이, CM1에 대하여 장해가 발생해서 CM1에 저장된 로컬 데이터에 대응하는 미러 데이터가 CM2의 미러 영역에 저장되어 있는 경우에는, CM2의 미러 데이터를 리커버리 대상으로 하고, CM1 대신에 CM2가 미러 데이터를 이용하여 처리를 이어받는다.
구체적으로는, 스토리지(10)는, 메인 컨트롤러가 처리의 재개를 요구하는 Resume 통지를 CM0, CM2에 대하여 통지하면, CM2에 대해서는, 리커버리 대상으로서 CM1 대신에 CM2가 미러 데이터의 처리를 행하고, 그 밖에도 통상대로 처리를 재개한다. 또한, CM0에 대해서는, 리커버리 대상의 로컬 데이터만 처리를 재개하고, 그 밖의 통상 처리에 대해서는, 새로운 이중화처인 CM2의 미러 데이터가 사용 불가 능이기 때문 처리는 재개하지 않는다.
그리고, 스토리지(10)는, 도 20에 도시한 바와 같이, CM2의 미러 영역 내에 이미 저장되어 있던 데이터가 없어지면, CM2의 미러 영역에 데이터가 없음을 나타내는 정보를 CM0에 통지하고, CM0이 통지를 수신한 경우에는, CM0의 로컬 데이터를 CM2의 미러 영역에 기입한다.
구체적으로는, 스토리지(10)는, CM0의 로컬 데이터와 CM2의 미러 데이터의 리커버리 처리가 완료하면, CM0 및 CM2의 플래그를 오프로 하고, 카운터를 디크리먼트한다. 그리고, 스토리지(10)는, CM2의 카운터 수가 제로로 되면, 메인 컨트롤러가 리커버리 처리를 완료하여 CM2의 미러 영역에 데이터가 없음을 나타내는 RecoveryComplete 통지를 CM0에 통지하고, CM0이 이중화 억지 상태를 해제하여 통상의 처리를 재개한다.
또한, 스토리지(10)는, 도 21에 도시한 바와 같이, 장해가 발생하고 있던 CM1이 복구된 경우에는, 메인 컨트롤러가 CM0, CM2에 대하여, CMP-Upgrade 통지를 하면, CM0의 로컬 데이터를 CM1의 미러 영역에서 이중화하고, CM1의 로컬 데이터를 CM2의 미러 영역에서 이중화하여, 각 CM이 통상의 처리를 재개한다.
[스토리지에 의한 강제 보존 처리]
다음으로, 도 22를 이용하여, 실시예 3에 따른 스토리지(10)에 의한 강제 보존 처리를 설명한다. 도 22는, 실시예 3에 따른 스토리지(10)의 강제 보존 처리를 설명하기 위한 도면이다.
도 22에 도시한 바와 같이, 스토리지(10)는, CM0의 로컬 영역에 저장된 로컬 데이터에 대응하는 미러 데이터를 저장하고 있는 CM1에 장해가 발생함과 함께, CM2에도 장해가 발생한 경우에는, CM0, CM1, CM2의 데이터를 강제 보존하면서, CM0, CM1, CM2의 데이터에 관한 처리를 강제적으로 중지한다.
[스토리지에 의한 복구 처리]
다음으로, 도 23∼도 27을 이용하여, 실시예 3에 따른 스토리지(10)에 의한 복구 처리를 설명한다. 도 23∼도 27은, 실시예 3에 따른 스토리지(10)의 복구 처리를 설명하기 위한 도면이다.
도 23에 도시한 바와 같이, 스토리지(10)는, CM0에 장해가 발생한 경우에는, CM1의 미러 데이터를 리커버리 대상으로 하여 리커버리 처리를 개시한다.
계속해서, 스토리지(10)의 CM1은, 도 24에 도시한 바와 같이, 리커버리 처리로서, 미러 데이터(도 23의 예에서 보면, 흑색 세모의 데이터)를 CM2의 미러 영역에 재이중화하고, 그 미러 데이터를 CM1의 로컬 영역에 다시 취하여, 남은 처리를 행한다.
그리고, CM1은, 도 25에 도시한 바와 같이, CM0이 복구한 경우에는, CM0의 원래 담당이었던 로컬 데이터(도 24의 예에서 보면, 백색 세모의 데이터)에 대하여, CM0이 로컬 버퍼를 확보하고, 그 CM0에서의 로컬 영역에 CM1의 로컬 영역에 저장된 로컬 데이터를 기입하는 지시를 CM0에 개시한다.
따라서, CM0의 로컬 데이터(도 25의 예에서 보면, 백색 세모의 데이터)에 대한 미러 데이터를 CM1의 미러 영역에 저장할 필요가 있으므로, CM1은, 도 26에 도시한 바와 같이, 자기의 로컬 영역 내에 미러 영역에 저장해야 할 미러 데이터를 유지하고 있는 경우에는, 그 미러 데이터를 미러 영역에 저장한다.
또한, CM0의 원래 담당이었던 로컬 데이터(도 26의 예에서 보면, 흑색 동그라미의 데이터)를 CM0에 저장할 필요가 있고, 또한 CM1도 미러 데이터로서 저장하고 있을 필요가 있으므로, CM1은, 도 27에 도시한 바와 같이, CM0의 로컬 영역에 CM1의 미러 영역에 저장된 미러 데이터를 기입하는 지시를 CM0에 개시함과 함께, 그 미러 데이터를 그대로 저장한다.
[실시예 3의 효과]
전술해 온 바와 같이, 스토리지(10)의 암호 변환 버퍼(14b)는, 로컬 데이터로서 비암호화 데이터를 기억하는 로컬 영역과, 다른 암호 변환 버퍼(14b)가 저장하는 로컬 데이터에 대응하는 미러 데이터로서 비암호화 데이터를 기억하는 미러 영역으로 이루어지는 것으로서, 로컬 데이터를 로컬 영역에 기입함과 함께, 다른 암호 변환 버퍼(14b)에서의 미러 영역에 로컬 데이터에 대응하는 미러 데이터를 기입하는 지시를 내리고, 다른 암호 변환 버퍼(14b)에 대하여 장해가 발생해서 다른 암호 변환 버퍼(14b)에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 다른 암호 변환 버퍼(14b) 대신에, 미러 영역에 저장된 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하고, 그 암호 변환된 암호화 데이터를 디스크 장치(50)에 기입하고, 다른 암호 변환 버퍼(14b)에 대하여 장해가 발생해서 다른 암호 변환 버퍼(14b)에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 다른 암호 변환 버퍼(14b) 대신에, 미러 영역에 저장된 비암호화 데이터를 디스크 장치(50)에 기입하고, 다른 암호 변환 버퍼(14b)에 대하여 장해가 발생해서 다른 암호 변환 버퍼(14b)에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 다른 암호 변환 버퍼(14b) 대신에, 미러 영역에 저장된 비암호화 데이터를 상이한 암호화 데이터로 변환하고, 암호 변환된 암호화 데이터를 디스크 장치(50)에 기입하므로, 다른 암호 변환 버퍼(14b)에 장해가 발생한 경우라도, 다른 암호 변환 버퍼(14b)의 로컬 데이터에 대응하는 미러 데이터를 이용하여, 암호 변환 처리, 복호 변환 처리, 재암호 변환 처리를 속행하는 것이 가능하다.
또한, 실시예 3에 따르면, 자기의 로컬 영역에 저장된 로컬 데이터에 대응하는 미러 데이터를 저장하고 있는 다른 암호 변환 버퍼(14b)에 장해가 발생한 경우에는, 로컬 데이터에 대응하는 미러 데이터를 장해가 발생하고 있지 않은 다른 암호 변환 버퍼(14b)의 미러 영역에 기입하는 지시를 내리므로, 미러 버퍼에 장해가 발생한 경우라도, 비암호화 데이터를 재이중화하는 것이 가능하다.
또한, 실시예 3에 따르면, 다른 암호 변환 버퍼(14b)의 미러 영역 내에 이미 데이터가 저장되어 있는 경우에는, 다른 암호 변환 버퍼(14b)의 미러 영역에 비암호화 데이터를 기입하는 것을 대기하므로, 다른 암호 변환 버퍼(14b)의 미러 영역 내에 이미 데이터가 저장되어 있는 데이터를 덮어쓰기 하는 것을 방지하는 것이 가능하다.
또한, 실시예 3에 따르면, 다른 암호 변환 버퍼(14b)의 미러 영역 내에 이미 저장되어 있던 데이터가 없어지면, 다른 암호 변환 버퍼(14b)의 미러 영역에 데이터가 없음을 나타내는 저장 상황 정보를 통지하고, 통지된 저장 상황 정보를 수신 한 경우에는, 비암호화 데이터를 다른 암호 변환 버퍼(14b)의 미러 영역에 기입하므로, 미러 영역 내에 이미 저장되어 있던 데이터가 없어진 후, 곧 비암호화 데이터를 재이중화하는 것이 가능하다.
또한, 실시예 3에 따르면, 자기의 로컬 영역에 저장된 로컬 데이터에 대응하는 미러 데이터를 저장하고 있는 암호 변환 버퍼(14b)에 장해가 발생함과 함께, 다른 암호 변환 버퍼(14b)에도 장해가 발생한 경우에는, 암호 변환 버퍼(14b)에 저장된 비암호화 데이터를 보존하면서, 비암호화 데이터에 관한 처리를 중지하므로, 저장된 데이터를 로스트하지 않도록, 강제적으로 보존하는 것이 가능하다.
또한, 실시예 3에 따르면, 자기의 미러 영역에 저장된 미러 데이터에 대응하는 로컬 데이터를 저장하는 다른 암호 변환 버퍼(14b)가 복구된 경우에는, 다른 암호 변환 버퍼(14b)에서의 로컬 영역에 자기의 미러 영역에 저장된 미러 데이터를 기입하는 지시를 내리므로, 장해가 발생하기 이전의 상태로 복귀하는 것이 가능하다.
또한, 실시예 3에 따르면, 자기의 로컬 영역 내에 미러 영역에 저장해야 할 비암호화 데이터를 유지하고 있는 경우에는, 비암호화 데이터를 미러 영역에 저장하므로, 서로 다른 모듈간의 통신을 생략하여 처리 속도를 향상시키는 것이 가능하다.
(실시예 4)
그런데, 지금까지 본 발명의 실시예에 대해서 설명했지만, 본 발명은 전술한 실시예 이외에도, 다양한 서로 다른 형태로 실시되어도 되는 것이다. 따라서, 이 하에서는 실시예 4로서 본 발명에 포함되는 다른 실시예를 설명한다.
(1) 시스템 구성 등
또한, 도시한 각 장치의 각 구성 요소는 기능 개념적인 것으로서, 반드시 물리적으로 도시한 바와 같이 구성되어 있을 것을 요하지 않는다. 즉, 각 장치의 분산·통합의 구체적 형태는 도시한 것에 한정되지 않고, 그 전부 또는 일부를, 각종 부하나 사용 상황 등에 따라서, 임의의 단위로 기능적 또는 물리적으로 분산·통합하여 구성할 수 있다. 예를 들면, 암호 변환부(13a), 복호 변환부(13b) 및 재암호 변환부(13c)를 통합하여도 된다. 또한, 각 장치에서 행해지는 각 처리 기능은, 그 전부 또는 임의의 일부가, CPU 및 그 CPU에서 해석 실행되는 프로그램에 의해 실현되거나, 혹은, 와이어드 로직에 의한 하드웨어로서 실현될 수 있다.
(2) 프로그램
그런데, 상기의 실시예에서 설명한 각종 처리는, 미리 준비된 프로그램을 컴퓨터에 의해 실행함으로써 실현할 수 있다. 따라서, 이하에서는, 도 28을 이용하여, 상기의 실시예와 마찬가지의 기능을 갖는 프로그램을 실행하는 컴퓨터의 일례를 설명한다. 도 28은, 암호 변환 프로그램을 실행하는 컴퓨터를 도시하는 도면이다.
도 28에 도시한 바와 같이, 스토리지로서의 컴퓨터(600)는, HDD(610), RAM(620), ROM(630) 및 CPU(640)를 버스(650)로 접속하여 구성된다.
그리고, ROM(630)에는, 상기의 실시예와 마찬가지의 기능을 발휘하는 스토리지, 즉, 도 28에 도시한 바와 같이, 암호 변환 프로그램(631), 복호 변환 프로그 램(632), 재암호 변환 프로그램(633), 관리용 제어 프로그램(634) 및 판독 기입 제어 프로그램(635)이 미리 기억되어 있다. 또한, 프로그램(631∼635)에 대해서는, 도 28에 도시한 스토리지의 각 구성 요소와 마찬가지로, 적절히 통합 또는 분산하여도 된다.
그리고, CPU(640)가, 이들 프로그램(631∼635)을 ROM(630)으로부터 판독하여 실행함으로써, 도 28에 도시한 바와 같이, 각 프로그램(631∼635)은, 암호 변환 프로세스(641), 복호 변환 프로세스(642), 재암호 변환 프로세스(643), 관리용 제어 프로세스(644) 및 판독 기입 제어 프로세스(645)로서 기능하게 된다. 각 프로세스(641∼645)는, 도 5에 도시한 암호 변환부(13a), 복호 변환부(13b), 재암호 변환부(13c), 관리용 제어부(13d), 판독 기입 제어부(13e)에 각각 대응한다.
또한, HDD(610)에는, 도 28에 도시한 바와 같이, 데이터를 암호화 또는 복호화에 이용되는 암호 키(복호 키)(611)를 기억한다.
(부기 1)
디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 상기 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 암호 변환 장치로서,
상기 디스크 장치 내에 기억된 암호화 데이터를 상기 스토리지 내의 암호 버퍼에 저장하는 암호화 데이터 저장 수단과,
상기 디스크 장치 내에 기억된 비암호화 데이터를 상기 스토리지 내의 암호 변환 버퍼에 저장하는 비암호화 데이터 저장 수단과,
상기 비암호화 데이터 저장 수단에 의해 저장된 상기 비암호화 데이터를 소 정의 암호화 데이터로 암호 변환하는 암호 변환 수단과,
상기 암호화 데이터 저장 수단에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하는 복호 변환 수단과,
상기 암호화 데이터 저장 수단에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하는 재암호 변환 수단
을 구비하는 것을 특징으로 하는 암호 변환 장치.
(부기 2)
디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 상기 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 암호 변환 방법으로서,
상기 디스크 장치 내에 기억된 암호화 데이터를 상기 스토리지 내의 암호 버퍼에 저장하는 암호화 데이터 저장 공정과,
상기 디스크 장치 내에 기억된 비암호화 데이터를 상기 스토리지 내의 암호 변환 버퍼에 저장하는 비암호화 데이터 저장 공정과,
상기 비암호화 데이터 저장 공정에 의해 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하는 암호 변환 공정과,
상기 암호화 데이터 저장 공정에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하는 복호 변환 공정과,
상기 암호화 데이터 저장 공정에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하는 재암호 변환 공정
을 포함한 것을 특징으로 하는 암호 변환 방법.
(부기 3)
디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 상기 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 방법을 상기 스토리지 내의 컴퓨터에 실행시키는 암호 변환 프로그램으로서,
상기 디스크 장치 내에 기억된 암호화 데이터를 상기 스토리지 내의 암호 버퍼에 저장하는 암호화 데이터 저장 수순과,
상기 디스크 장치 내에 기억된 비암호화 데이터를 상기 스토리지 내의 암호 변환 버퍼에 저장하는 비암호화 데이터 저장 수순과,
상기 비암호화 데이터 저장 수순에 의해 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하는 암호 변환 수순과,
상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하는 복호 변환 수순과,
상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하는 재암호 변환 수순
을 컴퓨터에 실행시키는 것을 특징으로 하는 암호 변환 프로그램.
(부기 4)
상기 암호 변환 수순은, 상기 비암호화 데이터 저장 수순에 의해 저장된 상 기 비암호화 데이터를 용장화하여 소정의 암호화 데이터로 암호 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하고,
상기 복호 변환 수순은, 상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 데이터를 용장화하여 상기 디스크 장치에 기입하고,
상기 재암호 변환 수순은, 상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 데이터를 용장화하여 상기 상이한 암호화 데이터로 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하는 것을 특징으로 하는 부기 3에 기재된 암호 변환 프로그램.
(부기 5)
상기 암호 변환 수순, 상기 복호 변환 수순 또는 상기 재암호 변환 수순에 의해 암호 변환 또는 복호 변환되어 있는 데이터의 진척 상황을 감시하는 진척 상황 감시 수순과,
암호 변환 또는 복호 변환 중에 상기 디스크 장치에 데이터의 판독 기입을 요구하는 판독 기입 요구를 접수한 경우에, 상기 진척 상황 감시 수순에 의해 감시된 상기 진척 상황에 따라서, 상기 판독 기입 요구에 기초한 판독 기입 제어를 행하는 판독 기입 제어 수순을 컴퓨터에 더 실행시키는 것을 특징으로 하는 부기 3에 기재된 암호 변환 프로그램.
(부기 6)
상기 판독 기입 제어 수순은, 상기 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 상기 판독 기입 요구를 접수한 경우에, 그 복호 변환이 종료될 때까지 대기한 후에, 상기 판독을 요구받은 데이터에서의 암호화 데이터와 비암호화 데이터를 분할하여 판독하고, 판독한 암호화 데이터를 복호 변환하여 상기 비암호화 데이터와 결합하고, 그 결합된 데이터의 판독 제어를 행하는 것을 특징으로 하는 부기 5에 기재된 암호 변환 프로그램.
(부기 7)
상기 판독 기입 제어 수순은, 상기 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 상기 판독 기입 요구를 접수한 경우에, 그 판독을 요구받은 데이터에서의 비암호화 데이터와 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 분할하고, 분할된 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 복호 변환하여 상기 비암호화 데이터와 결합하고, 그 결합된 데이터의 판독 제어를 행하는 것을 특징으로 하는 부기 5에 기재된 암호 변환 프로그램.
(부기 8)
상기 판독 기입 제어 수순은, 상기 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 상기 판독 기입 요구를 접수한 경우에, 그 복호 변환 중의 데이터가 복호 변환되어 상기 암호 변환 버퍼에 저장된 후, 그 암호 변환 버퍼로부터 판독 제어를 행하는 것을 특징으로 하는 부기 5에 기재된 암호 변환 프로그램.
(부기 9)
상기 암호 변환 버퍼는, 로컬 데이터로서 비암호화 데이터를 기억하는 로컬 영역과, 다른 암호 변환 버퍼가 저장하는 로컬 데이터에 대응하는 미러 데이터로서 비암호화 데이터를 기억하는 미러 영역으로 이루어지는 것으로서,
상기 로컬 데이터를 상기 로컬 영역에 기입함과 함께, 다른 암호 변환 버퍼에서의 미러 영역에 상기 로컬 데이터에 대응하는 미러 데이터를 기입하는 지시를 내리는 기입 제어 수순을 컴퓨터에 더 시키고,
상기 암호 변환 수순은, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 그 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 상기 다른 암호 변환 버퍼 대신에, 상기 미러 영역에 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하고,
상기 복호 변환 수순은, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 그 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 상기 다른 암호 변환 버퍼 대신에, 상기 미러 영역에 저장된 상기 비암호화 데이터를 상기 디스크 장치에 기입하고,
상기 재암호 변환 수순은, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 그 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 상기 다른 암호 변환 버퍼 대신에, 상기 미러 영역에 저장된 상기 비암호화 데이터를 상기 상이한 암호화 데이터로 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하는 것을 특징으로 하는 부기 3에 기재된 암호 변환 프로그램.
(부기 10)
상기 기입 제어 수순은, 자기의 로컬 영역에 저장된 상기 로컬 데이터에 대응하는 상기 미러 데이터를 저장하고 있는 다른 암호 변환 버퍼에 장해가 발생한 경우에는, 상기 로컬 데이터에 대응하는 상기 미러 데이터를 장해가 발생하고 있지 않은 다른 암호 변환 버퍼의 미러 영역에 기입하는 지시를 내리는 것을 특징으로 하는 부기 9에 기재된 암호 변환 프로그램.
(부기 11)
상기 기입 제어 수순은, 상기 다른 암호 변환 버퍼의 미러 영역 내에 이미 데이터가 저장되어 있는 경우에는, 그 다른 암호 변환 버퍼의 미러 영역에 상기 비암호화 데이터를 기입하는 것을 대기하는 것을 특징으로 하는 부기 10에 기재된 암호 변환 프로그램.
(부기 12)
상기 다른 암호 변환 버퍼의 미러 영역 내에 이미 저장되어 있던 데이터가 없어지면, 그 다른 암호 변환 버퍼의 미러 영역에 데이터가 없음을 나타내는 저장 상황 정보를 통지하는 저장 상황 통지 수순을 컴퓨터에 더 실행시키고,
상기 기입 제어 수순은, 상기 저장 상황 통지 수순에 의해 통지된 상기 저장 상황 정보를 수신한 경우에는, 상기 비암호화 데이터를 상기 다른 암호 변환 버퍼의 미러 영역에 기입하는 것을 특징으로 하는 부기 11에 기재된 암호 변환 프로그램.
(부기 13)
상기 자기의 로컬 영역에 저장된 상기 로컬 데이터에 대응하는 상기 미러 데이터를 저장하고 있는 암호 변환 버퍼에 장해가 발생함과 함께, 다른 암호 변환 버퍼에도 장해가 발생한 경우에는, 상기 암호 변환 버퍼에 저장된 상기 비암호화 데이터를 보존하면서, 그 비암호화 데이터에 관한 처리를 중지하는 중지 수순을 컴퓨터에 더 실행시키는 것을 특징으로 하는 부기 9에 기재된 암호 변환 프로그램.
(부기 14)
상기 자기의 미러 영역에 저장된 미러 데이터에 대응하는 로컬 데이터를 저장하는 다른 암호 변환 버퍼가 복구된 경우에는, 그 다른 암호 변환 버퍼에서의 로컬 영역에 상기 자기의 미러 영역에 저장된 미러 데이터를 기입하는 지시를 내리는 복구 수순을 컴퓨터에 더 실행시키는 것을 특징으로 하는 부기 9에 기재된 암호 변환 프로그램.
(부기 15)
상기 복구 수순은, 상기 자기의 로컬 영역 내에 미러 영역에 저장해야 할 상기 비암호화 데이터를 유지하고 있는 경우에는, 그 비암호화 데이터를 상기 미러 영역에 저장하는 것을 특징으로 하는 부기 9에 기재된 암호 변환 프로그램.
이상과 같이, 본 발명에 따른 암호 변환 장치, 암호 변환 방법 및 암호 변환 프로그램은, 디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 경우에 유용하며, 특히, 데이터를 암호화 또는 복호화하는 시간을 짧게 하는 데에 적합하다.

Claims (10)

  1. 디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 상기 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 암호 변환 장치로서,
    상기 디스크 장치 내에 기억된 암호화 데이터를 상기 스토리지 내의 암호 버퍼에 저장하는 암호화 데이터 저장 수단과,
    상기 디스크 장치 내에 기억된 비암호화 데이터를 상기 스토리지 내의 암호 변환 버퍼에 저장하는 비암호화 데이터 저장 수단과,
    상기 비암호화 데이터 저장 수단에 의해 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하는 암호 변환 수단과,
    상기 암호화 데이터 저장 수단에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하는 복호 변환 수단과,
    상기 암호화 데이터 저장 수단에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하는 재암호 변환 수단
    을 구비하는 것을 특징으로 하는 암호 변환 장치.
  2. 디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 상기 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 암호 변환 방법으로서,
    상기 디스크 장치 내에 기억된 암호화 데이터를 상기 스토리지 내의 암호 버 퍼에 저장하는 암호화 데이터 저장 공정과,
    상기 디스크 장치 내에 기억된 비암호화 데이터를 상기 스토리지 내의 암호 변환 버퍼에 저장하는 비암호화 데이터 저장 공정과,
    상기 비암호화 데이터 저장 공정에 의해 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하는 암호 변환 공정과,
    상기 암호화 데이터 저장 공정에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하는 복호 변환 공정과,
    상기 암호화 데이터 저장 공정에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하는 재암호 변환 공정
    을 포함한 것을 특징으로 하는 암호 변환 방법.
  3. 디스크 장치 내에 기억된 데이터의 관리를 행하는 스토리지에서, 상기 디스크 장치에 의해 기억된 데이터를 암호화 또는 복호화하는 방법을 상기 스토리지 내의 컴퓨터에 실행시키는 암호 변환 프로그램을 기록한 컴퓨터 판독가능한 기록매체로서,
    상기 디스크 장치 내에 기억된 암호화 데이터를 상기 스토리지 내의 암호 버퍼에 저장하는 암호화 데이터 저장 수순과,
    상기 디스크 장치 내에 기억된 비암호화 데이터를 상기 스토리지 내의 암호 변환 버퍼에 저장하는 비암호화 데이터 저장 수순과,
    상기 비암호화 데이터 저장 수순에 의해 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하는 암호 변환 수순과,
    상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하는 복호 변환 수순과,
    상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 비암호화 데이터를 복호 변환 전과는 상이한 암호화 데이터로 변환하는 재암호 변환 수순
    을 컴퓨터에 실행시키는 것을 특징으로 하는 암호 변환 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  4. 제3항에 있어서,
    상기 암호 변환 수순은, 상기 비암호화 데이터 저장 수순에 의해 저장된 상기 비암호화 데이터를 용장화하여 소정의 암호화 데이터로 암호 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하고,
    상기 복호 변환 수순은, 상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 데이터를 용장화하여 상기 디스크 장치에 기입하고,
    상기 재암호 변환 수순은, 상기 암호화 데이터 저장 수순에 의해 저장된 상기 암호화 데이터를 비암호화 데이터로 복호 변환하고, 그 복호 변환된 데이터를 용장화하여 상기 상이한 암호화 데이터로 변환하고, 그 암호 변환된 암호화 데이터 를 상기 디스크 장치에 기입하는 것을 특징으로 하는 암호 변환 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  5. 제3항에 있어서,
    상기 암호 변환 수순, 상기 복호 변환 수순 또는 상기 재암호 변환 수순에 의해 암호 변환 또는 복호 변환되어 있는 데이터의 진척 상황을 감시하는 진척 상황 감시 수순과,
    암호 변환 또는 복호 변환 중에 상기 디스크 장치에 데이터의 판독 기입을 요구하는 판독 기입 요구를 접수한 경우에, 상기 진척 상황 감시 수순에 의해 감시된 상기 진척 상황에 따라서, 상기 판독 기입 요구에 기초한 판독 기입 제어를 행하는 판독 기입 제어 수순
    을 컴퓨터에 더 실행시키는 것을 특징으로 하는 암호 변환 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  6. 제5항에 있어서,
    상기 판독 기입 제어 수순은, 상기 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 상기 판독 기입 요구를 접수한 경우에, 그 복호 변환이 종료될 때까지 대기한 후에, 상기 판독을 요구받은 데이터에서의 암호화 데이터와 비암호화 데이터를 분할하여 판독하고, 판독한 암호화 데이터를 복호 변환하여 상기 비암호화 데이터와 결합하고, 그 결합된 데이터의 판독 제어를 행하는 것을 특징으로 하는 암호 변환 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  7. 제5항에 있어서,
    상기 판독 기입 제어 수순은, 상기 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 상기 판독 기입 요구를 접수한 경우에, 그 판독을 요구받은 데이터에서의 비암호화 데이터와 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 분할하고, 분할된 현재 복호 변환되어 있는 데이터 및 암호화 데이터를 복호 변환하여 상기 비암호화 데이터와 결합하고, 그 결합된 데이터의 판독 제어를 행하는 것을 특징으로 하는 암호 변환 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  8. 제5항에 있어서,
    상기 판독 기입 제어 수순은, 상기 복호 변환 중의 데이터를 포함하는 데이터의 판독을 요구하는 상기 판독 기입 요구를 접수한 경우에, 그 복호 변환 중의 데이터가 복호 변환되어 상기 암호 변환 버퍼에 저장된 후, 그 암호 변환 버퍼로부터 판독 제어를 행하는 것을 특징으로 하는 암호 변환 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  9. 제3항 내지 제8항 중 어느 한 항에 있어서,
    상기 암호 변환 버퍼는, 로컬 데이터로서 비암호화 데이터를 기억하는 로컬 영역과, 다른 암호 변환 버퍼가 저장하는 로컬 데이터에 대응하는 미러 데이터로서 비암호화 데이터를 기억하는 미러 영역으로 이루어지는 것으로서,
    상기 로컬 데이터를 상기 로컬 영역에 기입함과 함께, 다른 암호 변환 버퍼에서의 미러 영역에 상기 로컬 데이터에 대응하는 미러 데이터를 기입하는 지시를 내리는 기입 제어 수순을 컴퓨터에 더 실행시키고,
    상기 암호 변환 수순은, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 그 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 상기 다른 암호 변환 버퍼 대신에, 상기 미러 영역에 저장된 상기 비암호화 데이터를 소정의 암호화 데이터로 암호 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하고,
    상기 복호 변환 수순은, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 그 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 상기 다른 암호 변환 버퍼 대신에, 상기 미러 영역에 저장된 상기 비암호화 데이터를 상기 디스크 장치에 기입하고,
    상기 재암호 변환 수순은, 다른 암호 변환 버퍼에 대하여 장해가 발생해서 그 다른 암호 변환 버퍼에 저장된 로컬 데이터에 대응하는 미러 데이터가 자기의 미러 영역에 저장되어 있는 경우에는, 상기 다른 암호 변환 버퍼 대신에, 상기 미러 영역에 저장된 상기 비암호화 데이터를 상기 상이한 암호화 데이터로 변환하고, 그 암호 변환된 암호화 데이터를 상기 디스크 장치에 기입하는 것을 특징으로 하는 암호 변환 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  10. 제9항에 있어서,
    상기 기입 제어 수순은, 자기의 로컬 영역에 저장된 상기 로컬 데이터에 대응하는 상기 미러 데이터를 저장하고 있는 다른 암호 변환 버퍼에 장해가 발생한 경우에는, 상기 로컬 데이터에 대응하는 상기 미러 데이터를 장해가 발생하고 있지 않은 다른 암호 변환 버퍼의 미러 영역에 기입하는 지시를 내리는 것을 특징으로 하는 암호 변환 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
KR1020070047065A 2006-09-29 2007-05-15 암호 변환 장치, 암호 변환 방법 및 기록매체 KR100895570B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00268011 2006-09-29
JP2006268011 2006-09-29

Publications (2)

Publication Number Publication Date
KR20080030451A true KR20080030451A (ko) 2008-04-04
KR100895570B1 KR100895570B1 (ko) 2009-04-29

Family

ID=39255865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070047065A KR100895570B1 (ko) 2006-09-29 2007-05-15 암호 변환 장치, 암호 변환 방법 및 기록매체

Country Status (3)

Country Link
US (1) US20080080706A1 (ko)
KR (1) KR100895570B1 (ko)
CN (1) CN101154195B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4843531B2 (ja) * 2006-09-29 2011-12-21 富士通株式会社 暗号変換装置、暗号変換方法および暗号変換プログラム
JP5539024B2 (ja) * 2010-05-27 2014-07-02 キヤノン株式会社 データ暗号化装置およびその制御方法
WO2017155516A1 (en) * 2016-03-08 2017-09-14 Hewlett-Packard Development Company, L.P. Securing data
US20180322768A1 (en) * 2017-05-05 2018-11-08 Lenovo (Singapore) Pte. Ltd. Wearable Electronic Device Alerts
WO2021155959A1 (en) * 2020-02-07 2021-08-12 Telefonaktiebolaget Lm Ericsson (Publ) Storage provisioning

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805706A (en) * 1996-04-17 1998-09-08 Intel Corporation Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format
KR100692425B1 (ko) * 2001-09-28 2007-03-09 하이 덴시티 디바이시스 에이에스 대량 저장 장치의 암호화/복호화를 위한 방법 및 장치
US20060053308A1 (en) * 2004-09-08 2006-03-09 Raidy 2 Go Ltd. Secured redundant memory subsystem
KR20060058546A (ko) * 2004-11-25 2006-05-30 펜타시큐리티시스템 주식회사 데이터베이스 암호화 및 접근 제어 방법 및 장치
US8045714B2 (en) * 2005-02-07 2011-10-25 Microsoft Corporation Systems and methods for managing multiple keys for file encryption and decryption
US7925895B2 (en) * 2005-02-22 2011-04-12 Kyocera Mita Corporation Data management apparatus, data management method, and storage medium
US7730327B2 (en) * 2005-09-09 2010-06-01 Netapp, Inc. Managing the encryption of data

Also Published As

Publication number Publication date
CN101154195B (zh) 2010-12-01
KR100895570B1 (ko) 2009-04-29
CN101154195A (zh) 2008-04-02
US20080080706A1 (en) 2008-04-03

Similar Documents

Publication Publication Date Title
JP4843531B2 (ja) 暗号変換装置、暗号変換方法および暗号変換プログラム
US8140864B2 (en) Computer system, storage system, and data management method for updating encryption key
KR101565223B1 (ko) 인플레이스 암호화 시스템 및 방법
JP4648687B2 (ja) データストレージシステムにおける暗号化変換の方法と装置
JP6067757B2 (ja) ストレージ装置とホスト間でデータ伝送を保護するためのストレージ・コントローラ・バス・インターフェースの使用
US20040172538A1 (en) Information processing with data storage
US20130290736A1 (en) Data storage device, data control device and method for encrypting data
WO2000057290A1 (fr) Processeur d&#39;informations
WO2012047200A1 (en) Scrambling an address and encrypting write data for storing in a storage device
US20110219241A1 (en) Encryption program operation management system and program
JPH03261987A (ja) ファイル暗号化方法およびファイル暗号システム
JP5175617B2 (ja) データ保護システム、データ保護方法、及びメモリカード
AU2012204448A1 (en) System and method for in-place encryption
JP2008052360A (ja) ストレージ装置およびライト実行プログラム
JP2007215028A (ja) データ暗号化装置、データ暗号化方法、データ暗号化プログラム、および記録媒体
KR100895570B1 (ko) 암호 변환 장치, 암호 변환 방법 및 기록매체
WO2016084444A1 (ja) 秘密分散システムおよび秘密分散機能付きストレージコントローラ
CN110650191A (zh) 一种分布式存储系统的数据读写方法
JP2009111687A (ja) 記憶装置、暗号化データ処理方法
KR20050101163A (ko) 단말 장치 및 그것을 구비한 데이터 보호 시스템
JP2009253490A (ja) メモリシステムの暗号化方式
JPH10275115A (ja) データ暗号化保存方法及びシステム装置
JP4834774B2 (ja) データ記憶装置のコントローラ、データ記憶装置及びその制御方法
JP4867935B2 (ja) 暗号化データ記憶装置、暗号化データ管理方法、データ暗号化装置、及び暗号化データ管理制御プログラム
JPH05233460A (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
FPAY Annual fee payment

Payment date: 20130404

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140401

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 11