KR20170095184A - 데이터 기입 방법, 장치, 및 시스템 - Google Patents

데이터 기입 방법, 장치, 및 시스템 Download PDF

Info

Publication number
KR20170095184A
KR20170095184A KR1020177010863A KR20177010863A KR20170095184A KR 20170095184 A KR20170095184 A KR 20170095184A KR 1020177010863 A KR1020177010863 A KR 1020177010863A KR 20177010863 A KR20177010863 A KR 20177010863A KR 20170095184 A KR20170095184 A KR 20170095184A
Authority
KR
South Korea
Prior art keywords
lock
data
written
storage
storage array
Prior art date
Application number
KR1020177010863A
Other languages
English (en)
Other versions
KR101903536B1 (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 KR20170095184A publication Critical patent/KR20170095184A/ko
Application granted granted Critical
Publication of KR101903536B1 publication Critical patent/KR101903536B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

액티브-액티브 시스템에서는, 기입 잠금 허가가 제2 스토리지 어레이에 부여되고, 제1 스토리지 어레이가 기입될 데이터 및 잠금 취소 요청을 함께 잠금 서버에 송신하고; 잠금 서버는 기입될 데이터를 싣고 있는 잠금 취소 요청을 제2 잠금 서버에 송신하며; 기입될 데이터를 저장한 후에, 제2 잠금 서버는 잠금 취소 성공 메시지을 잠금 서버에 송신하고; 잠금 서버는 기입 잠금 허가를 제1 스토리지 어레이에 할당하며; 제1 스토리지 어레이는 기입 잠금 허가를 획득하고 기입될 데이터를 저장한다. 이 방법을 이용함으로써, 기입될 데이터가 비교적 적은 수의 절차를 이용하여 2개의 스토리지 어레이에 저장된다.

Description

데이터 기입 방법, 장치, 및 시스템{DATA WRITE METHOD, APPARATUS, AND SYSTEM}
본 발명은 컴퓨터 분야에 관한 것으로, 상세하게는 저장 기술에 관한 것이다.
스토리지 전용 네트워크(storage area network, SAN) 기술에서는, 호스트가 파이버 채널(fibre channel, FC)을 이용하여 스토리지 어레이에 연결되고, 스토리지 시스템이 데이터 저장 서비스를 호스트에 제공한다.
데이터 안정성을 향상시키기 위해, 스토리지 시스템은 2개의 스토리지 어레이를 이용할 수 있다. 도 1을 참조하면, 스토리지 시스템에는 스토리지 어레이(121)와 스토리지 어레이(123)가 있고, 2개의 스토리지 어레이는 FC를 이용하여 서로 연결되어 있다. 호스트가 데이터를 스토리지 어레이(121)에 기입하는 경우, 스토리지 어레이(121)는 데이터를 로컬 스토리지에 저장할 뿐만 아니라, 데이터를 저장을 위한 스토리지 어레이(123)에도 송신한다. 유사하게, 스토리지 어레이(123)에 의해 수신된 데이터는 저장을 위한 스토리지 어레이(121)에도 송신된다. 이 저장 방식에서는, 2개의 스토리지 어레이가 저장 서비스를 호스트에 제공할 수 있고, 2개의 스토리지 어레이에는 동일한 데이터가 저장되어 있다. 이를 액티브-액티브 스토리지 시스템(active-active storage system)이라고 한다. 액티브-액티브 스토리지 시스템에서는, 하나의 스토리지 어레이에 결함이 있더라도, 호스트가 다른 스토리지 어레이로부터 데이터를 획득할 수도 있으며, 따라서 데이터 보안이 향상된다.
2개의 스토리지 어레이에는 동일한 컨텐츠(content)가 기입된다. 그러므로, 2개의 스토리지 어레이의 논리 주소 세그먼트는 서로 일치한다. 2개의 스토리지 어레이 내의 일관성 없는 데이터를 방지하기 위해, 구체적인 구현에서 전역 잠금(global lock)이 상호 배타적인 기입 동작을 보장하기 위해 사용된다. 동일한 시구간 내에서, 하나의 스토리지 어레이만이 적용에 의하여 논리 주소 세그먼트(logical address segment)의 기입 잠금을 획득할 수 있으며, 논리 주소 세그먼트의 기입 잠금을 획득하였던 이 스토리지 어레이만이 2개의 스토리지 어레이에 데이터를 기입할 수 있다.
스토리지 어레이(121)가 적용에 의하여 잠금 서버(122)로부터 논리 주소 세그먼트의 기입 잠금을 획득하였다면, 스토리지 어레이(123)는 기입 잠금을 획득할 수 없으며, 따라서 스토리지 어레이(123)에 대응하는 논리 주소 세그먼트에 데이터를 기입할 수 없다. 스토리지 어레이(123)는, 기입 잠금이 잠금 서버(122)에 의해 스토리지 어레이(121)로부터 철회된 후에만 기입 잠금을 획득할 수 있다.
기입 잠금을 철회하는 과정에서는, 2개의 스토리지 어레이가 잠금 서버(122)와 통신할 필요가 있다. 기입 잠금이 철회된 후, 스토리지 어레이(121)에 의해 획득되는 데이터가 스토리지 어레이(123)에 기입될 수 있도록 2개의 스토리지 어레이가 또한 서로 통신할 필요가 있다.
스토리지 어레이(121)와 스토리지 어레이(123)은 일반적으로 멀리 떨어져 있는데, 예를 들어 100 km 내지 300 km의 거리에서 떨어져 있다. 따라서, 도 1의 토폴로지에서는, 스토리지 어레이(121)가 잠금 서버(122)에 인접해 있고, 2개의 스토리지 어레이 간의 통신 시간이 무시될 수 있다. 하지만, 잠금 서버(122)와 스토리지 어레이(123) 간의 통신 및 스토리지 어레이(121)와 스토리지 어레이(123) 간의 통신에는 많은 시간이 걸릴 수 있다. 예를 들어, 매번 수 밀리초가 통신에 소요된다. 잠금 서버(122)가 스토리지 어레이(123)에 보다 가깝게 이동되면, 잠금 서버(122)와 스토리지 어레이(123) 간의 통신에는 더 짧은 시간이 걸리지만, 스토리지 어레이(121)와 잠금 서버(122) 간의 통신에는 이에 대응하여 더 긴 시간이 걸릴 수 있다.
따라서, 원거리 액티브-액티브 시스템에서는, 잠금 서버와 2개의 스토리지 어레이 사이의 총 통신 시간을 줄이는 방법이 해결될 필요가 있는 문제이다.
본 발명의 제1 양태는 잠금 서버에 적용되는 데이터 기입 방법을 제공한다. 상기 잠금 서버는 제1 스토리지 어레이 및 제2 스토리지 어레이에 연결된다. 상기 제1 스토리지 어레이 및 상기 제2 스토리지 어레이는 액티브-액티브 스토리지 시스템을 구성할 수 있다. 상기 데이터 기입 방법은, 제1 스토리지 어레이로부터 잠금 요청을 수신하는 단계 - 상기 잠금 요청은 잠금 명령, 기입될 데이터, 및 기입 주소를 싣고 있고, 상기 기입 주소는 상기 기입될 데이터를 저장하기 위한 위치를 나타내고 있음 -; 상기 기입 주소에 대한 기입 잠금 허가(write lock permission)가 제2 스토리지 어레이에 이미 부여되어 있다고 검출된 경우, 상기 잠금 서버가 잠금 취소 요청(lock revocation request)을 상기 제2 스토리지 어레이에 송신하는 단계 - 상기 잠금 취소 요청은 상기 기입 잠금 허가를 철회하기 위해 사용되고, 상기 잠금 취소 요청은 상기 기입될 데이터 및 상기 기입 주소를 추가로 싣고 있고 또한 상기 기입될 데이터를 상기 기입 주소에 따라 저장하도록 상기 제2 스토리지 어레이에 지시하기 위해 사용됨 -; 및 상기 제2 스토리지 어레이에 의해 송신되는 잠금 취소 성공 메시지를 수신한 후에 잠금 할당 메시지를 상기 제1 스토리지 어레이에 송신하는 단계를 포함한다. 여기서, 상기 잠금 취소 성공 메시지는 상기 제2 스토리지 어레이가 상기 기입 잠금 허가의 사용을 종료했다는 것을 나타내기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용되고, 상기 잠금 할당 메시지는 상기 제1 스토리지 어레이에 의해 요청된 상기 기입 잠금 허가를 상기 제1 스토리지 어레이에 할당하기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용된다. 데이터 기입 방법은 액티브-액티브 스토리지 시스템 내에 있을 수 있다.
상기 데이터 기입 방법은, 잠금 충돌의 경우에 상기 제1 스토리지 어레이가 상기 제2 스토리지 어레이에 데이터를 기입하는 효율을 향상시킨다.
제1 양태의 제1 가능한 구현 방식에서, 상기 잠금 취소 요청을 수신한 후에, 상기 데이터 기입 방법은, 상기 제2 스토리지 어레이가 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장하고, 상기 잠금 취소 성공 메시지를 송신하는 단계; 상기 잠금 할당 메시지를 수신한 후에, 상기 제1 스토리지 어레이가 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장하는 단계를 더 포함한다.
상기 데이터 기입 방법은, 잠금 충돌의 경우에 동일한 데이터를 상기 제1 스토리지 어레이와 상기 제2 스토리지 어레이의 동일한 위치에 기입하는 효율을 향상시킨다.
제1 양태의 제1 가능한 구현 방식을 참조하여, 선택적으로, 상기 제2 스토리지 어레이가 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장하는 것은 구체적으로, 상기 제2 스토리지 어레이가 다른 기입될 데이터와 상기 기입될 데이터를 결합하고, 결합된 데이터를 상기 기입 주소에 따라 상기 로컬 스토리지에 저장하는 것을 포함한다.
상기 데이터 기입 방법은, 상기 제2 스토리지 어레이로의 데이터 기입 효율을 추가로 향상시킨다.
선택적으로, 상기 결합하는 것은 구체적으로, 상기 다른 기입될 데이터와 상기 기입될 데이터가 주소 중첩 부분(address-overlapping part)을 공유하면, 상기 주소 중첩 부분을 상기 기입될 데이터로서 저장하는 것을 포함한다.
상기 데이터 기입 방법은, 상기 제2 스토리지 어레이로의 데이터 기입 효율을 추가로 향상시키기 위한 실현 가능한 수단을 제공한다.
제1 양태의 제2 가능한 구현 방식에서, 상기 제1 스토리지 어레이 및 상기 제2 스토리지 어레이 각각이 스토리지 전용 네트워크(storage area network, SAN) 스토리지 컨트롤러 및 상기 SAN 스토리지 컨트롤러에 연결된 스토리지를 포함한다.
제1 양태의 제3 가능한 구현 방식에서, 상기 제1 스토리지 어레이와 상기 제2 스토리지 어레이가 객체 스토리지 어레이(object storage array)이다. 여기서, 상기 객체 스토리지 어레이는 객체 스토리지 컨트롤러 및 객체 스토리지를 포함한다.
제1 양태의 제4 가능한 구현 방식에서, 상기 기입 주소는 논리적 장치 번호(logical unit number, LUN) ID이면서 LUN에서의 주소 범위이다.
제2 양태에 따르면, 제1 양태 및 제1 양태의 다양한 가능한 방식에 기초하여, 본 발명은 대응하는 효과를 가진 대응하는 잠금 관리 장치를 추가로 제공한다.
제3 양태에 따르면, 시스템이 상세하게 제공되며, 상기 시스템은 잠금 서버, 제1 스토리지 어레이, 및 제2 스토리지 어레이를 포함한다.
상기 제1 스토리지 어레이는 기입될 데이터 및 상기 기입될 데이터를 저장하기 위한 위치를 나타내는 기입 주소를 싣고 있는 데이터 기입 요청을 수신한 다음에 잠금 명령, 상기 기입될 데이터, 및 상기 기입 주소를 싣고 있는 잠금 요청을 잠금 서버에 송신하도록 구성된다. 상기 잠금 서버는 상기 잠금 요청을 수신하고, 상기 기입 주소에 대한 기입 잠금 허가가 상기 제2 스토리지 어레이에 이미 부여되어 있다고 검출된 경우 잠금 취소 요청을 상기 제2 스토리지 어레이에 송신하도록 구성된다. 여기서, 상기 잠금 취소 요청은 상기 제2 스토리지 어레이에 부여된 상기 기입 잠금 허가를 철회하기 위해 사용되고, 또한 상기 잠금 취소 요청은 상기 기입될 데이터 및 상기 기입 주소를 추가로 싣고 있다. 상기 제2 스토리지 어레이는, 상기 잠금 취소 요청을 수신한 후에, 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장한 다음에 잠금 취소 성공 메시지를 상기 잠금 서버에 송신하도록 구성된다. 여기서, 상기 잠금 취소 성공 메시지는 상기 제2 스토리지 어레이가 상기 기입 잠금 허가의 사용을 종료했다는 것을 나타내고, 또한 잠금 취소 성공 메시지는 상기 기입될 데이터가 성공적으로 기입되어 있다는 정보를 싣고 있다는 것을 나타내기 위해 사용된다. 상기 잠금 서버는 추가적으로, 상기 잠금 취소 성공 메시지를 수신한 후에, 잠금 할당 메시지를 상기 제1 스토리지 어레이에 송신하도록 구성된다. 여기서, 상기 잠금 할당 메시지는 상기 제1 스토리지 어레이에 의해 요청된 상기 기입 잠금 허가를 상기 제1 스토리지 어레이에 할당하기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용된다. 상기 제1 스토리지 어레이는 추가적으로, 상기 잠금 할당 메시지를 수신한 후에, 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장하도록 구성된다.
액티브-액티브 시스템 해결수단이 액티브-액티브 시스템의 효율을 향상시키기 위해 제공된다. 다시 말해, 잠금 충돌의 경우에 동일한 데이터를 상기 제1 스토리지 어레이와 상기 제2 스토리지 어레이의 동일한 위치에 기입하는 효율이 향상된다.
따라서, 본 발명은 상기 제1 스토리지 어레이의 스토리지 컨트롤러 및 상기 제2 스토리지 어레이의 스토리지 블록 스토리지 컨트롤러에 각각 적용되는 2개의 데이터 기입 방법을 추가로 제공한다. 상기 2개의 스토리지 컨트롤러는 제1 양태 및 제1 양태의 다양한 가능한 구현 방식에서의 상기 제1 스토리지 어레이 및 상기 제2 스토리지 어레이의 동작을 각각 실행할 수 있으며, 대응하는 효과를 가지고 있다. 차이점은, 상기 스토리지 어레이에는 컨트롤러가 있지만, 스토리지 컨트롤러의 경우 스토리지 컨트롤러에는 스토리지가 로컬에 위치하지 않을 수 있다는 것이다. 또한, 상기 2개의 추가 제공된 데이터 기입 방법의 경우, 본 발명은 상기 2개의 방법에 대응하는 장치를 추가로 제공한다.
또한, 본 발명에서, 상기 제1 스토리지 컨트롤러에 의해 실행되는 데이터 기입 방법과 상기 제2 스토리지 컨트롤러에 의해 실행되는 데이터 기입 방법이 함께 결합될 수 있다. 2가지 결합 방식이 있다. 하나의 결합 방식에서는, 동일한 기입될 데이터를 2개의 스토리지에 기입하기 위해, 데이터 기입 시스템의 2개의 스토리지 컨트롤러가 상기 2가지 방법을 각각 실행한다. 다른 구현 방식에서는, 동일한 스토리지 컨트롤러가 2개의 방법을 실행한다. 기입될 데이터를 기입하는 과정에서 상기 스토리지 컨트롤러가 상기 제1 스토리지 어레이 내의 컨트롤러 역할을 하고, 기입될 데이터를 기입하는 다른 과정에서 상기 제2 스토리지 어레이 내의 컨트롤러 역할을 한다.
이에 따라, 본 발명은 컴퓨터로 판독 가능한 비휘발성 저장 매체 및 컴퓨터 프로그램 제품을 추가로 제공한다. 컴퓨터로 판독 가능한 비휘발성 저장 매체에 포함되고 또한 컴퓨터 프로그램 제품에 포함된 컴퓨터 명령이 본 발명에서 제공되는 스토리지 장치의 메모리에 로딩되는 경우, 스토리지 장치의 중앙처리장치(CPU)가 컴퓨터 명령을 실행해서 스토리지 장치가 본 발명의 다양한 양태의 다양한 가능한 구현 해결수단을 실행할 수 있다.
도 1은 본 발명에 따른 잠금 관리 시스템의 실시예의 토폴로지 다이어그램이다.
도 2는 본 발명에 따른 잠금 관리 시스템의 실시예의 토폴로지 다이어그램이다.
도 3은 본 발명에 따른 데이터 기입 방법의 실시예의 구조도이다.
도 4는 본 발명에 따른 잠금 관리 장치의 실시예의 구조도이다.
도 5는 본 발명에 따른 잠금 서버의 실시예의 구조도이다.
도 6은 본 발명에 따른 데이터 기입 장치의 실시예의 구조도이다.
도 7은 본 발명에 따른 스토리지 컨트롤러의 실시예의 구조도이다.
이하, 본 발명의 실시예의 첨부 도면을 참조하여, 본 발명의 실시예의 과제 해결수단에 대해 명확하고 완전하게 설명한다. 명백히, 설명되는 실시예는 본 발명의 모든 실시예가 아니라 단지 일부 실시예일 뿐이다.
잠금 서버, 제1 스토리지 어레이, 제2 스토리지 어레이를 포함하는 스토리지 시스템이 예로서 사용된다. 종래 기술에서는, 기입될 데이터를 호스트로부터 수신한 후에, 제1 스토리지 어레이가 기입될 주소에 따라 잠금 허가(구체적으로, 기입 잠금 허가일 수 있음)를 잠금 서버에 신청한다. 이 시점에 기입 잠금 허가가 제2 스토리지 어레이에 부여되어 있으면(즉, 잠금 충돌(lock conflict)이 존재하면), 제2 스토리지 어레이가 데이터를 기입한 후에 부여된 기입 잠금 허가를 적시에 해제할 수 있도록, 잠금 서버가 잠금 취소 요청을 제2 스토리지 어레이에 송신한다.
다음의 실시예에서는 데이터 기입 과정에 대해 설명한다. 데이터 수정도 데이터 기입에 속한다는 것을 유의해야 한다.
현재 데이터를 기입한 후에, 제2 스토리지 어레이는 기입 잠금 허가가 해제된 것, 즉 잠금 취소가 성공한 것을 잠금 서버에 통지한다. 잠금 서버는 권한부여 메시지를 송신함으로써 제1 스토리지 어레이로의 기입 잠금을 승인한다. 기입 잠금을 획득한 후에, 제2 스토리지 어레이가 기입될 데이터를 기입할 수 있도록, 제1 스토리지 어레이는 기입될 데이터를 로컬에 기입하고, 제1 스토리지 컨트롤러와 제2 스토리지 어레이의 스토리지 컨트롤러 간의 송신 채널을 이용함으로써 기입될 데이터를 제2 스토리지 어레이에 송신한다. 제1 스토리지 어레이와 제2 스토리지 어레이 양쪽 모두가 기입될 데이터를 기입한 후에, 데이터 기입의 전체 과정이 종료된다.
명백히, 제1 스토리지 어레이와 잠금 서버가 통합되어 있으면, 원거리 메시지 전송이 다음과 같이 3회 수행될 필요가 있다: 잠금 서버가 잠금 취소 요청을 제2 스토리지 어레이에 송신하고; 제2 스토리지 어레이가 잠금 허가를 잠금 서버에 방출하며; 제1 스토리지 어레이가 기입될 데이터를 제2 스토리지 어레이에 송신한다.
요약하면, 본 발명의 본 실시예에서는, 데이터 전송 횟수 및 전체 서비스의 총 시간을 줄이기 위해, 제3 메시지가 다른 2개의 메시지에 결합될 수 있다. 또한, 본 발명의 본 실시예에 따르면, 2개의 데이터를 비휘발성 저장 매체에 개별적으로 저장하는 것에 비해 시간이 절약될 수 있도록, 제2 스토리지 컨트롤러가 제1 스토리지 어레이로부터 수신된 기입될 데이터 및 로컬 스토리지 내의 데이터를 결합하고 결합된 데이터를 비휘발성 저장 매체에 저장할 수 있다.
또한, 잠금 취소 응답 과정 및 잠금 서버가 잠금을 제1 스토리지 어레이에 할당하는 과정에서, 데이터 기입 응답 메시지가 또한 결합될 수 있어서 시간 절약 효과가 발생한다. 잠금 취소 성공 메시지는 제2 스토리지 어레이가 기입 잠금 허가의 사용을 종료했다는 것 및 잠금 서버에 의해 기입 잠금 허가가 철회되었다는 것을 나타낼 뿐만 아니라, 제2 스토리지 어레이가 기입 잠금 허가의 사용을 종료했다는 정보도 싣고 있을 수 있다. 잠금 서버에 의해 제1 스토리지 어레이에 송신되는 잠금 할당 메시지가 제1 스토리지 어레이에 의해 요청된 기입 잠금 허가를 제1 스토리지 어레이에 할당하기 위해 사용될 뿐만 아니라, 제2 스토리지 어레이가 기입될 데이터의 기입을 종료했다는 것을 제1 스토리지 어레이에 통지하기 위해 또한 사용된다.
메시지 결합의 경우, 결합된 메시지가 결합되기 전의 메시지의 정보를 싣고 있을 필요가 있을 뿐이라는 것을 이해할 수 있을 것이다. 본 출원에서는 메시지의 네이밍 및 대응하는 정보(예를 들어, 패킷 헤더 전송 또는 페이로드 전송이 사용될 수 있음)의 전송 방식이 제한되지 않는다. 예를 들어, 전술한 바와 같이, 잠금 취소 성공 메시지가 2개의 정보, 즉 잠금 허가의 취소가 허용된다는 정보 1; 및 제2 스토리지 어레이가 기입 잠금 허가의 사용을 종료했다는 정보 2를 싣고 있다. 메시지가 "잠금 취소 성공 메시지"라고 명명되지만, 이것은 정보 1 및 정보 2 간의 우선순위 관계, 또는 전체 메시지 내에서 2개의 정보의 위치를 제한한다는 것, 또는 메시지 내에서 2개의 정보를 기록하기 위한 필드의 타입을 제한한다는 것을 의미하지 않는다.
도 2를 참조하면, 도 2는 본 발명에 따른 스토리지 시스템(20)의 구조도이다. 도면에 도시된 바와 같이, 스토리지 시스템(20)은 제1 스토리지 어레이(21) 및 제2 스토리지 어레이(23)를 포함한다. 호스트(21)는 제1 스토리지 어레이(22)의 스토리지 컨트롤러(211) 및 제2 스토리지 어레이(23)의 스토리지 컨트롤러(231)에 연결된다. 제1 스토리지 어레이(22)는 제1 스토리지 컨트롤러(231)에 연결된 제1 스토리지(222)를 더 포함한다. 제2 스토리지 어레이(3)는 제2 스토리지 컨트롤러(231)에 연결된 제2 스토리지(232)를 더 포함한다. 또한, 잠금 서버(223) 및 제2 스토리지 컨트롤러(231)는 예를 들어, 파이버 채널을 이용하여 연결된다. 선택적으로, 호스트(21)는 제2 스토리지 어레이(23)의 제2 스토리지 컨트롤러(231)에 연결될 수 있다. 제1 스토리지 어레이(22)는 제1 스토리지 컨트롤러(21)에 연결된 잠금 서버(223)를 더 포함할 수 있다.
2개의 스토리지 어레이 내의 데이터가 일관성을 유지하며, 스토리지 어레이 중 하나에 데이터가 기입되는 경우, 동일한 데이터가 또한 동일한 위치에서 다른 스토리지 어레이에 기입될 필요가 있다. 예를 들어, 제1 스토리지 어레이(22)에 기입된 모든 데이터가 제2 스토리지 어레이(23)의 동일한 기입 주소에 또한 기입될 수 있다. 제1 스토리지 어레이(22) 및 제2 스토리지 어레이(23) 양쪽 모두가 기입을 완료한 경우에만 전체 기록 프로세스가 종료된다.
또한, 제1 스토리지 어레이 및 제2 스토리지 어레이는 주소 공간의 분할 및 사용의 관점에서 일관성이 있다. 즉, 제1 스토리지 어레이 및 제2 스토리지 어레이는 동일한 개수의 LUN을 가지고 있고, LUN ID는 일대일 방식으로 서로 대응하며, LUN의 크기도 또한 일대일 방식으로 서로 일치한다. 동일한 주소 범위가 동일한 데이터를 저장하기 위해 사용된다. 따라서,동일한 주소에 따라 2개의 스토리지 어레이로부터 동일한 데이터가 획득될 수 있다. 스토리지 어레이 중 어느 한쪽이 결함이 있는 경우, 호스트가 다른 스토리지 어레이로부터 필요한 데이터를 획득할 수 있다.
본 발명에서의 스토리지 어레이는 블록(block) 기반 스토리지 어레이, 예를 들어 SAN일 수 있거나; 또는 객체(object) 기반 스토리지 어레이일 수 있다. 설명의 편의를 위해, 이하에서 SAN이 설명을 위한 예로서 사용된다
제1 스토리지 어레이 및 제2 스토리지 어레이는 SAN 스토리지 어레이일 수 있다. 스토리지 컨트롤러는 컴퓨터와 같으며, 호스트로부터 데이터를 수신하고 저장을 위한 스토리지에 데이터를 송신할 수 있다. 스토리지는 비휘발성 저장 매체, 예를 들어 지속적으로 데이터를 저장할 수 있는 하드 디스크 또는 솔리드 스테이트 하드 디스크일 수 있다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예는 스토리지 시스템(20)을 제공하며, 스토리지 시스템(20)은 제1 스토리지 어레이(21), 제2 스토리지 어레이(3), 및 잠금 서버(23)를 포함한다. 잠금 서버(23)는 제1 스토리지 어레이(21)에 통합되어 있을 수 있다. 스토리지 시스템에서, 제1 스토리지 어레이(2) 및 제2 스토리지 어레이(3)는 서로 통신하지 않을 수 있지만, 데이터 기입을 구현하기 위해 잠금 서버(23)에 의존한다. 이하에서 스토리지 시스템(20) 내의 장치의 기능에 대해 설명한다.
제1 스토리지 어레이(2)는 기입될 데이터 및 기입될 데이터를 저장하기 위한 위치를 나타내는 기입 주소를 싣고 있는 데이터 기입 요청을 수신하고; 그 다음에 잠금 명령, 기입될 데이터, 및 기입 주소를 싣고 있는 잠금 요청을 잠금 서버(23)에 송신하도록 구성된다.
잠금 서버(23)는, 잠금 요청을 수신하고, 기입 주소에 대한 기입 잠금 허가가 제2 스토리지 어레이(3)에 이미 부여되어 있다는 것이 검출되면, 잠금 취소 요청을 제2 스토리지 어레이(3)에 송신하도록 구성된다. 여기서, 잠금 취소 요청은 제2 스토리지 어레이(3)에 부여된 기입 잠금 허가를 철회하기 위해 사용되고, 잠금 취소 요청은 기입될 데이터 및 기입 주소를 추가로 싣고 있다.
제2 스토리지 어레이(3)는, 잠금 취소 요청을 수신한 후에, 기입될 데이터를 기입 주소에 따라 로컬 스토리지에 저장한 다음, 잠금 취소 성공 메시지를 잠금 서버(23)에 송신하도록 구성된다. 여기서, 잠금 취소 성공 메시지는 제2 스토리지 어레이(3)가 기입 잠금 허가의 사용을 종료했다는 것을 나타내기 위해 사용되고, 또한 잠금 취소 성공 메시지는 기입될 데이터가 성공적으로 기입되어 있다는 정보를 싣고 있다.
잠금 서버(23)은 추가적으로, 잠금 취소 성공 메시지를 수신한 후에 잠금 할당 메시지를 제1 스토리지 어레이(2)에 송신하도록 구성된다. 여기서, 잠금 할당 메시지는 제1 스토리지 어레이(2)에 의해 요청된 기입 잠금 허가를 제1 스토리지 어레이(2)에 할당하기 위해 사용되고, 제2 스토리지 어레이(3)가 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용된다. 제1 스토리지 어레이(2)는 추가적으로, 잠금 할당 메시지를 수신한 후에, 기입될 데이터를 기입 주소에 따라 로컬 스토리지에 저장하도록 구성된다.
도 3을 참조하면, 이하에서는 아키텍쳐를 이용하여 데이터를 저장하기 위한 방법에 대해 설명한다.
단계 S31: 제1 스토리지 컨트롤러가 호스트로부터 기입 요청을 수신한다. 기입 요청은 기입될 데이터 및 기입 주소를 싣고 있다.
기입 요청은, 실려 있는 기입될 데이터가 저장될 필요가 있다는 것을 나타낸다. 기입될 데이터는 제1 스토리지와 제2 스토리지에 저장될 필요가 있는 데이터이다. 기입 주소는 기입될 데이터를 스토리지 어레이에 저장하기 위해 사용되는 주소이다. 기입 주소는 2개 부분, 즉 LUN ID와 주소 범위(address range)를 포함할 수 있다. LUN ID는 LUN을 표시하기 위해 사용되고, 주소 범위는 LUN에서의 구체적인 위치를 추가로 표시한다. 주소 범위는 예를 들어, 연속적인 주소 세그먼트이고, 주소 범위는 2가지 방식, 즉 시작 주소와 종료 주소, 예를 들어 (0X00001111, 0X00011111), 및 시작 주소와 기입될 데이터의 길이로 설명될 수 있다.
본 발명의 본 실시예에서, 기입 주소 공간이 잠금 서버에 의해 수행되는 허가 관리의 최소 단위(minimal granularity)로서 사용된다. 다른 실시예에서는, 다른 단위가 허가 관리의 단위로서 사용될 수 있다. 본 실시예에서는 이에 대해 상세하게 설명하지 않는다.
단계 S32: 기입 요청을 수신한 후에, 기입 주소가 나타내는 스토리지 공간에 대한 기입 잠금 허가를 획득하도록 요청하기 위해, 제1 스토리지 컨트롤러가 잠금 요청을 잠금 서버에 송신한다. 잠금 요청은 기입될 데이터 및 기입 주소를 추가로 싣고 있고, 기입 주소는 기입될 데이터를 저장하기 위한 위치를 나타내고 있다. 잠금 요청은 제1 스토리지 컨트롤러가 바라는 허가를 나타내기 위한 잠금 허가 정보를 추가로 싣고 있을 수 있고, 본 실시예에서 설명되는 잠금 허가 정보는 기입 잠금 허가이다.
본 실시예에서는, 잠금 서버가 잠금 허가를 관리하도록 구성되는데, 예를 들어 잠금 허가 할당, 잠금 충돌 검출, 및 잠금 취소를 수행한다. 잠금 서버는 독립적인 서버일 수 있거나; 또는 도 2에 도시된 바와 같이, 스토리지 어레이에 위치하면서 스토리지 컨트롤러와 통신하는 하드웨어 또는 소프트웨어일 수 있거나; 또는 스토리지 컨트롤러에 통합되어 있는 소프트웨어 또는 하드웨어일 수 있다. 종래 기술과는 달리, 본 발명의 본 실시예에서의 잠금 서버는 추가적으로, 기입될 데이터를 수신하고 송신하고, 대응하는 응답 메시지를 수신하고 송신하도록 구성된다.
또한, 잠금 서버는 분산된 아키텍쳐를 가질 수 있다. 즉, 복수의 잠금 서버가 모든 잠금 허가를 공동으로 관리하고, 각각의 잠금 서버가 잠금 허가 중 일부를 관리한다. 예를 들어, 각각의 스토리지 어레이가 잠금 서버를 가지고 있고, 각각의 잠금 서버가 일부 주소 범위에 대한 관리 허가를 가지고 있다. 분산된 잠금 관리의 시나리오에서, 본 발명의 본 실시예에서의 잠금 서버는 적용되는 주소 범위에 대한 관리 허가를 가지고 있는 잠금 서버를 지칭한다.
예를 들어, 기입 요청이 스토리지 어레이 내의 원본 데이터를 부분적으로 갱신하는 것이면, 데이터 잠금 요청은 Lock(LUN ID, 범위(range), 권리(right), DeltaData)로서 표현될 수 있다. Lock은 이것이 잠금 요청이라는 것을 나타내고; LUN ID는 잠길 주소에서의 LUN을 식별하기 위해 사용되며; 범위는 LUN에서의 잠금을 위한 주소 범위를 식별하기 위해 사용되고; 권리는 바라는 허가(예를 들어, 기입 허가일 수 있음)를 나타내며; 델타 데이터(Delta Data)는 이번에 기입 허가가 적용되는 기입될 데이터, 구체적으로는 현재 기입 요청 중에 스토리지 어레이에 갱신될 필요가 있는 데이터이다. 기입 요청과 비교하여, 잠금 요청은 권리 정보, 즉 잠금 허가 정보를 가지고 있다.
DeltaData는 복수의 데이터 세그먼트를 싣고 있을 수 있고, DeltaData는 포함된 데이터 세그먼트의 개수에 따라 복수의 DeltaItem으로 분할될 수 있다. 각각의 DeltaItem은 오프셋(offset), 길이(length), 및 컨텐츠(content)를 포함한다. 컨텐츠는 연속적인 기입될 데이터 세그먼트이고, 모든 컨텐츠는 함께 기입될 데이터를 구성하며; 오프셋은 DeltaData에서 컨텐츠의 시작 위치를 나타내고; 길이는 DeltaItem 내의 길이이다.
선택적으로, 기입될 데이터가 연속적이라면, 잠금 요청은 Lock(LUN ID, 범위, 권리, 데이터)로서 표현될 수 있다. 데이터(data)는 연속적인 데이터이다. 따라서, 데이터는 DeltaItem으로 분할될 필요가 없다. 이러한 잠금 요청이 2가지 가능한 경우에 사용될 수 있다. 하나의 가능한 경우에서는, 전체 기입될 데이터가 신규이고 또한 제1 스토리지 어레이에 저장되어 있지 않다. 다른 가능한 경우에서는, 일부 데이터(Dealtadata와 동일)가 신규이고, 나머지 데이터가 연속적인 주소를 가진 데이터를 구성하기 위해 스토리지 어레이로부터 판독되며, 연속적인 주소를 가진 데이터의 길이는 범위가 나타내는 길이와 동일하다.
단계 S33: 제1 스토리지 컨트롤러로부터 잠금 요청을 수신한 후에, 잠금 서버가 기입 주소가 이미 다른 스토리지 컨트롤러에 의해 잠겨 있는지 여부를 체크한다.
기입 주소가 다른 스토리지 컨트롤러에 의해 잠겨 있지 않으면, 제1 스토리지 컨트롤러가 승인된다. 즉, 배타적인 데이터 기입 허가가, 잠금 요청에 의해 요청된 주소 범위에 따라 제1 스토리지 컨트롤러에 할당된다. 다음, 제2 스토리지 컨트롤러가 기입될 데이터를 제2 스토리지에 저장할 수 있도록, 제1 스토리지 컨트롤러가 기입될 데이터를 제1 스토리지에 기입하고, 기입될 데이터를 제2 스토리지 컨트롤러에 송신한다. 제1 스토리지 어레이가 기입될 데이터를 로컬에 성공적으로 기입하고 제2 스토리지 어레이로부터 기입될 데이터가 성공적으로 기입되었다는 응답 메시지를 수신한 후에, 전체 기록 프로세스가 완료되고, 프로세스가 종료한다.
기입 주소가 이미 다른 스토리지 컨트롤러에 의해 잠겨 있으면, 잠금 허가가 제2 스토리지 어레이에 부여된다고 가정하면, 잠금 서버가 잠금 취소 요청을 제2 스토리지 컨트롤러에 송신한다. 잠금 취소 요청은 기입 잠금 허가를 철회하기 위해 사용된다. 잠금 취소 요청은 기입될 데이터 및 기입 주소를 추가로 싣고 있고, 기입될 데이터를 기입 주소에 따라 저장하도록 제2 스토리지 어레이에 지시하기 위해 사용된다.
본 실시예에서의 잠금 취소 요청은 잠금 요청 내에 있는 기입 주소 및 기입될 데이터를 싣고 있으며, 강화된 잠금 취소 요청이다. 따라서, 취소 요청은 2개의 정보, 즉 기입 잠금 허가를 철회하기 위한 요청 정보, 및 기입 주소와 기입될 데이터에 관한 정보를 실제로 싣고 있다. 종래의 취소 요청은 기입 잠금 허가를 철회하기 위한 요청 정보만을 싣고 있다.
단계 S34: 잠금 취소 요청을 수신한 후에, 제2 스토리지 컨트롤러가 잠금 취소 요청을 처리한다.
잠금 취소 요청의 처리는 2개의 부분, 즉 잠금 취소 요청에 실려 있는 기입될 데이터를 로컬 제2 스토리지 컨트롤러에 기입하는 첫번째 부분과, 잠금 취소 성공 메시지 및 기입될 데이터가 성공적으로 기입되었다는 메시지를 잠금 서버에 반환하는 두번째 부분을 포함한다. 잠금 취소 성공 메시지는 제2 스토리지 어레이가 기입 잠금 허가의 사용을 종료했다는 것을 나타내기 위해 사용되고, 제2 스토리지 어레이가 더 이상 기입 잠금 허가를 사용할 필요가 없으며 기입 잠금 허가가 잠금 서버에 의해 철회될 수 있다는 것을 잠금 서버에 통지한다.
첫번째 부분에서는, 제2 스토리지 컨트롤러가 기입될 데이터를 기입 주소에 따라 제2 스토리지에 기입한다.
제2 스토리지에서는, 기입될 데이터 외의 데이터가 제2 스토리지에 기입될 필요가 있으면, 2개의 데이터가 개별적으로 기입될 수 있다. 다른 데이터가 먼저 기입되고, 그 다음에 기입될 데이터가 기입된다.
동일한 기입 주소에 대해서, 제1 스토리지 어레이와 제2 스토리지 어레이 간에 기입 잠금 허가 충돌이 있다는 것을 단계 S33으로부터 알 수 있을 것이다. 따라서, 기입될 데이터 및 다른 데이터는 동일한 주소 범위에 위치한다. 따라서, 본 출원에서는 기입될 데이터와 다른 데이터가 결합될 수 있고, 결합된 데이터는 제2 스토리지에 추가로 기입된다. 이런 방식으로, 효율이 더 향상될 수 있다. 기입될 데이터가 스토리지 시스템에 기입되는 시점이 다른 기입될 데이터가 스토리지 시스템에 기입되는 시점보다 늦다. 따라서, 기입될 데이터가 최신 데이터이다. 따라서, 결합 중에, 다른 기입될 데이터와 기입될 데이터가 주소 중첩 부분을 공유하면, 주소 중첩 부분이 기입될 데이터에 속한 컨텐츠로서 저장된다. 다시 말해, 주소 중첩 부분의 경우, 다른 기입될 데이터에 속한 컨텐츠가 폐기된다.
두번째 부분에서는, 기입 동작을 완료한 후에, 제2 스토리지 컨트롤러가 잠금 취소 성공 메시지 및 기입될 데이터가 성공적으로 기입되었다는 메시지를 생성하고, 이 2개의 메시지를 잠금 서버에 송신한다. 절차를 줄이기 위하여, 2개의 메시지가 결합되어 송신될 수 있다. 즉, 잠금 취소 성공 메시지는 기입될 데이터가 성공적으로 기입되어 있다는 정보를 싣고 있다. 신규 잠금 취소 성공 메시지는 제2 스토리지 어레이가 기입 잠금 허가의 사용을 종료했다는 것을 나타내기 위해 사용되고, 또한 제2 스토리지 어레이가 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용된다.
스토리지 컨트롤러는 2가지 방식으로 데이터 기입 성공을 결정할 수 있다. 첫번째 방식에서는, 스토리지 컨트롤러가 기입될 필요가 있는 모든 데이터를 송신하였다. 두번째 방식에서는, 스토리지가 모든 수신된 데이터를 저장한 후에, 스토리지 컨트롤러가 스토리지가 저장을 완료하였다는 것을 나타내는 응답 메시지를 수신한다.
단계 S35: 잠금 서버가 수신된 잠금 취소 성공 메시지를 제1 스토리지 컨트롤러에 포워딩한다. 또는, 잠금 서버가 제2 스토리지 어레이의 기입 완료 메시지를 제1 스토리지 컨트롤러에 송신하고, 기입 잠금 허가 할당 메시지를 제1 스토리지 어레이에 송신한다. 여기서, 기입 잠금 허가 할당 메시지는 기입 주소에 대한 기입 잠금 허가를 제1 스토리지 컨트롤러에 할당하기 위해 사용된다. 2개의 메시지가 하나로 결합될 수 있다. 즉, 기입 잠금 허가 할당 메시지는 제2 스토리지 어레이의 기입 완료 메시지를 싣고 있다. 결합 후의 신규 잠금 할당 메시지는 제1 스토리지 어레이에 의해 요청된 기입 잠금 허가를 제1 스토리지 어레이에 할당하기 위해 사용되고 또한 제2 스토리지 어레이가 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용된다. 또는, 잠금 서버가 데이터 기입 명령을 제1 스토리지 컨트롤러에 송신한다.
단계 S36: 단계 S35에서 잠금 서버에 의해 송신된 메시지를 수신한 후에, 제1 스토리지 컨트롤러가 기입될 데이터를 LUN ID 및 상기 범위에 의해 결정된 기입 주소에 따라 제1 스토리지에 기입한다. 그 다음, 기입될 데이터를 기입하는 전체 과정이 종료된다는 것을 호스트에 통지하기 위해, 제1 스토리지 컨트롤러가 기입 완료 응답 메시지를 호스트에 송신한다. 이때, 제1 스토리지 어레이의 스토리지와 제2 스토리지 어레이의 스토리지 양쪽 모두는 동일한 스토리지 위치에 기입될 데이터를 저장한다.
도 2 및 전술한 과정에서는, 잠금 서버가 제1 스토리지 어레이 내에 위치하고, 취소 요청이 기입 주소 및 기입될 데이터를 추가적으로 싣고 있다는 것을 유의해야 한다. 이것은 2개의 정보를 한번에 송신하는 것과 같고, 잠금 서버와 제2 스토리지 어레이 간의 통신 횟수가 줄어들며, 대응하는 응답 메시지도 또한 결합될 수 있고, 시간이 절약된다. 또한, 2개의 스토리지 컨트롤러와 잠금 서버 간의 통신 횟수도 또한 감소된다.
제1 스토리지 어레이와 잠금 서버 간의 메시지 및 응답 메시지가 또한 결합될 수 있다. 따라서, 다른 실시예에서는, 잠금 서버가 2개의 스토리지 어레이 사이에 위치하거나, 또는 잠금 서버가 제2 스토리지 어레이에 위치하고, 시간도 또한 절약될 수 있다.
도 4를 참조하면, 본 발명의 일 실시예는 잠금 관리 장치(4)를 추가로 제공한다. 잠금 관리 장치(4)는 전술한 방법에서 언급된 잠금 서버의 단계를 실행할 수 있고, 잠금 서버 또는 잠금 서버에서 실행되는 소프트웨어일 수 있다. 잠금 관리 장치(4)는 제1 스토리지 어레이 및 제2 스토리지 어레이와 통신한다. 잠금 관리 장치(4)는, 제1 스토리지 어레이 및 제2 스토리지 어레이와 통신하도록 구성된 송수신기 모듈(41); 및 송수신기 모듈(41)과 통신하고, 또한 구체적으로, 송수신기 모듈(41)을 이용하여 제1 스토리지 어레이로부터 잠금 요청을 수신한 후에 잠금 취소 요청을 생성하고 이 잠금 취소 요청을 제2 스토리지 어레이에 송수신기 모듈(41)을 이용하여 송신하며, 송수신기 모듈(41)을 이용하여 제2 스토리지 어레이로부터 잠금 취소 성공 메시지를 수신한 후에, 잠금 할당 메시지를 생성하고 이 잠금 할당 메시지를 제1 스토리지 어레이에 송수신기 모듈(41)을 이용하여 송신하도록 구성된 잠금 관리 모듈(42)을 포함한다.
잠금 요청은 잠금 명령, 기입될 데이터, 및 기입 주소를 싣고 있다. 기입 주소는 기입될 데이터를 저장하기 위한 위치를 나타낸다. 잠금 취소 요청은 제2 스토리지 어레이에 부여된 기입 잠금 허가를 철회하기 위해 사용된다. 잠금 취소 요청은 기입될 데이터 및 기입 주소를 추가로 싣고 있고, 또한 잠금 취소 요청은 기입될 데이터를 기입 주소에 따라 저장하도록 제2 스토리지 어레이에 지시하기 위해 추가로 사용된다. 잠금 취소 성공 메시지는 제2 스토리지 어레이가 기입 잠금 허가의 사용을 종료했다는 것을 나타내기 위해 사용되고 또한 제2 스토리지 어레이가 기입될 데이터를 기입했다는 것을 나타내기 위해 추가로 사용된다. 잠금 할당 메시지는 제1 스토리지 어레이에 의해 요청된 기입 잠금 허가를 제1 스토리지 어레이에 할당하기 위해 사용되고 또한 제2 스토리지 어레이가 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 사용된다.
기입 주소는 논리적 장치 번호(LUN) ID 및 LUN에서의 주소 범위이다.
잠금 관리 장치(4) 및 잠금 관리 장치(4) 내의 모듈의 기능에 대해서는 이미 방법 실시예에서 자세히 설명하였으며, 세부사항은 여기서 다시 설명하지 않는다.
도 5를 참조하면, 본 발명의 다른 실시예는 잠금 서버를 제공한다. 잠금 서버(5)는 인터페이스(51) 및 프로세서(52)를 포함하고, 인터페이스(51)는 제1 스토리지 어레이 및 제2 스토리지 어레이에 연결된다. 잠금 서버(5)는 전술한 방법에서 언급된 잠금 서버의 기능을 실행할 수 있다.
프로세서(52)는 인터페이스(51)와 통신하고, 또한 인터페이스(51)를 이용하여 제1 스토리지 어레이로부터 잠금 요청을 수신한 후에 잠금 취소 요청을 생성하고 이 잠금 취소 요청을 제2 스토리지 어레이에 인터페이스(51)를 이용하여 송신하며; 인터페이스(51)를 이용하여 제2 스토리지 어레이로부터 잠금 취소 성공 메시지를 수신한 후에 잠금 할당 메시지를 생성하고 잠금 할당 메시지를 제1 스토리지 어레이에 인터페이스(51)를 이용하여 송신하도록 구성된다.
도 6을 참조하면, 본 발명의 일 실시예는 데이터 기입 장치를 제공한다. 장치는 스토리지 컨트롤러 또는 컨트롤러에서 실행되는 소프트웨어이고, 전술한 방법 실시예에서는 제1 스토리지 어레이 내의 컨트롤러로서 기능한다. 데이터 기입 장치(6)는 스토리지 및 잠금 서버와 통신하고, 데이터 기입 장치(6)는 송수신기 모듈(61) 및 처리 모듈(62)을 포함한다.
송수신기 모듈(61)은 호스트로부터 데이터 기입 요청을 수신하도록 구성된다. 여기서, 데이터 기입 요청은 기입될 데이터 및 기입 주소를 싣고 있고, 기입 주소는 기입될 데이터를 저장하기 위한 위치를 나타내고 있다.
처리 모듈(62)은 송수신기 모듈(61)과 통신하고, 송수신기 모듈(61)이 데이터 기입 요청을 수신한 후에 잠금 요청을 생성하고 이 잠금 요청을 잠금 서버에 송수신기 모듈(61)을 이용하여 송신하도록 구성된다. 여기서, 잠금 요청은 잠금 명령, 기입될 데이터, 및 기입 주소를 싣고 있다.
처리 모듈(62)는 추가적으로, 잠금 서버에 의해 송신된 잠금 할당 메시지를 송수신기 모듈(61)을 이용하여 수신한 후에, 기입될 데이터를 기입 주소에 따라 저장하도록 스토리지에 지시하도록 구성된다. 여기서, 잠금 할당 메시지는 제1 스토리지 어레이에 의해 요청된 기입 잠금 허가를 제1 스토리지 어레이를 할당하기 위해 사용되고 또한 다른 스토리지 컨트롤러가 기입 주소에 따라 기입될 데이터 기입하였다는 것을 나타내기 위해 추가로 사용된다.
처리 모듈(62)는 추가적으로, 데이터를 스토리지에 기입한 후에, 데이터 기입 완료 메시지를 호스트에 송수신기 모듈(61)을 이용하여 송신하도록 구성된다.
장치는 전술한 방법 실시예에서의 제1 스토리지 어레이 내의 컨트롤러의 기능을 가지고 있으며, 대응하는 단계를 실행할 수 있다. 따라서, 전술한 방법 실시예를 참조할 수 있고, 세부사항은 여기서 다시 설명하지 않는다.
도 7을 참조하면, 본 발명은 스토리지 컨트롤러의 실시예를 추가로 제공한다. 스토리지 컨트롤러는 스토리지와 결합되고, 전술한 방법 실시예에서의 제1 스토리지 어레이 내의 컨트롤러의 기능을 가지고 있으며, 대응하는 단계를 실행할 수 있다. 스토리지 컨트롤러의 기능 및 실행 가능한 동작에 대해서는 방법 실시예를 참조하라. 스토리지 컨트롤러(7)는 스토리지 및 잠금 서버에 연결될 수 있다. 스토리지 컨트롤러(7)는 인터페이스(71) 및 프로세서(72)를 포함한다.
인터페이스(71)는 호스트로부터 데이터 기입 요청을 수신하도록 구성된다. 여기서, 데이터 기입 요청은 기입될 데이터 및 기입 주소를 싣고 있고, 기입 주소는 기입될 데이터를 저장하기 위한 위치를 나타내고 있다.
프로세서(72)는 송수신기 모듈과 통신하고, 또한 송수신기 모듈을 이용하여 데이터 기입 요청을 수신한 후에 잠금 요청을 생성하고 이 잠금 요청을 잠금 서버에 인터페이스(71)를 이용하여 송신하도록 구성된다. 여기서, 잠금 요청은 잠금 명령, 기입될 데이터, 및 기입 주소를 싣고 있다.
프로세서(72)는 추가적으로, 잠금 서버에 의해 송신된 잠금 할당 메시지를 인터페이스(71)를 이용하여 수신한 후에, 기입될 데이터를 기입 주소에 따라 저장하도록 스토리지에 지시하도록 구성된다. 여기서, 잠금 할당 메시지는 제1 스토리지 컨트롤러에 의해 요청되는 기입 잠금 허가를 제1 스토리지 컨트롤러에 할당하기 위해 사용되고 또한 다른 스토리지 컨트롤러가 기입 주소에 따라 기입될 데이터 기입하였다는 것을 나타내기 위해 추가로 사용된다.
프로세서(72)는 추가적으로, 데이터를 스토리지에 기입한 후에, 데이터 기입 완료 메시지를 호스트에 인터페이스(71)를 이용하여 송신하도록 구성된다.
본 발명의 일 실시예는 다른 데이터 기입 장치를 제공하고, 이 장치의 구조는 전술한 데이터 기입 장치의 구조와 동일하다. 따라서, 도 6을 참조할 수 있다. 데이터 장치(6)는 스토리지 컨트롤러 또는 컨트롤러에서 실행되는 소프트웨어이고, 전술한 방법 실시예에서의 제2 스토리지 어레이 내의 컨트롤러로서 기능한다. 실제로, 서로 다른 서비스에 대해서 하나의 데이터 기입 장치가 제1 스토리지 컨트롤러의 기능을 구현할 뿐만 아니라, 제2 스토리지 컨트롤러의 기능도 구현할 수 있다. 따라서, 본 실시예에서의 데이터 기입 장치와 전술한 실시예에서 언급된 데이터 기입 장치는 하나의 데이터 기입 장치로 결합될 수 있다.
본 실시예에서, 데이터 기입 장치(6)에는 기입 잠금 허가가 부여된다. 데이터 기입 장치는 스토리지 및 잠금 서버와 통신하고, 데이터 기입 장치(6)는 이하를 포함한다:
잠금 서버에 의해 송신된 잠금 취소 요청을 수신하도록 구성된 송수신기 모듈(61) - 잠금 취소 요청은 기입 잠금 허가를 철회하기 위해 사용되고, 잠금 취소 요청은 기입될 데이터 및 기입 주소를 추가로 싣고 있음 -; 및 기입될 데이터를 기입 주소에 따라 저장하도록 스토리지에 지시하고, 잠금 취소 성공 메시지를 생성하도록 구성된 처리 모듈(62) - 잠금 취소 성공 메시지는 제2 스토리지 어레이가 기입 잠금 허가의 사용을 종료했다는 것, 및 추가로, 잠금 취소 성공 메시지는 기입될 데이터가 성공적으로 기입되어 있다는 정보를 싣고 있다는 것을 나타내기 위해 사용됨 -. 송수신기 모듈(61)은 추가적으로, 잠금 취소 성공 메시지를 잠금 서버에 송신하도록 구성된다.
본 발명은 스토리지 컨트롤러의 실시예를 추가로 제공하고, 스토리지 컨트롤러의 구조는 전술한 실시예에서의 스토리지 컨트롤러의 구조와 동일하다. 따라서, 도 7을 참조할 수도 있다.
본 실시예에서의 스토리지 컨트롤러(7)는 스토리지와 결합되고, 전술한 방법 실시예에서의 제2 스토리지 어레이 내의 스토리지 컨트롤러와 동일하다. 스토리지 컨트롤러(7)의 기능 및 실행 가능한 동작에 대해서는 방법 실시예를 참조하라.
스토리지 컨트롤러(7)에는 기입 잠금 허가가 부여되고, 스토리지 컨트롤러는 스토리지 및 잠금 서버에 연결된다.
인터페이스(71)는 잠금 서버에 의해 송신된 잠금 취소 요청을 수신하도록 구성된다. 여기서, 잠금 취소 요청은 기입 잠금 허가를 철회하기 위해 사용되고, 잠금 취소 요청은 기입될 데이터 및 기입 주소를 추가로 싣고 있다. 프로세서(72)는 인터페이스(71)에 연결되고, 또한 기입될 데이터를 기입 주소에 따라 저장하도록 스토리지에 지시하고, 잠금 취소 성공 메시지를 생성하도록 구성된다. 여기서, 잠금 취소 성공 메시지는 제2 스토리지 어레이가 기입 잠금 허가의 사용을 종료했다는 것을 나타내기 위해 사용되고, 또한 잠금 취소 성공 메시지는 기입될 데이터가 성공적으로 기입되어 있다는 정보를 싣고 있다. 인터페이스(71)는 추가적으로, 잠금 취소 성공 메시지를 잠금 서버에 송신하도록 구성된다.
잠금 서버는 프로세서 및 인터페이스를 포함하고, 인터페이스는 제1 스토리지 컨트롤러 및 제2 스토리지 컨트롤러에 연결된다. 잠금 서버에 의해 실행되는 동작은 구체적으로, 프로세서에 의해 실행된다. 잠금 서버는 메모리를 더 포함할 수 있고, 잠금 서버가 잠금 서버의 동작을 실행할 수 있도록 프로세서는 메모리 내의 프로그램을 실행한다.
전술한 본 발명의 실시예에서의 "스토리지 어레이"에 대해 2가지 해석이 있다. 하나의 해석에서는, 스토리지 어레이가 스토리지 컨트롤러와 스토리지의 조합이고, "로컬 스토리지"가 스토리지 컨트롤러에 의해 관리되는 스토리지이다. 다른 해석에서는, 스토리지 어레이가 스토리지 컨트롤러이면서 스토리지를 포함하지 않고, "로컬 스토리지"가 스토리지 컨트롤러에 의해 관리되는 스토리지이다.
본 발명의 실시예는 데이터를 삭제하기 위해 추가로 사용될 수 있고, 기입될 데이터가 송신될 필요가 없고 단지 삭제 주소만이 제공될 필요가 있을 뿐이라는 차이점이 있다.
본 발명의 각각의 양태 또는 각각의 양태의 가능한 구현 방식은 구체적으로, 시스템, 방법, 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 본 발명의 각각의 양태 또는 각각의 양태의 가능한 구현 방식은 하드웨어만의 실시예, 소프트웨어만의 실시예(펌웨어, 및 상주 소프트웨어(resident software) 등을 포함함), 또는 소프트웨어와 하드웨어의 조합을 가진 실시예의 형태를 사용할 수 있으며, 본 명세서에서는 이들을 "회로", "모듈", 또는 "시스템"이라고 통칭한다. 또한, 본 발명의 각각의 양태 또는 각각의 양태의 가능한 구현 방식은 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 여기서, 컴퓨터 프로그램 제품은 컴퓨터로 판독 가능한 매체에 저장되는, 컴퓨터로 판독 가능한 프로그램 코드를 지칭한다.
컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 저장 매체일 수 있다. 컴퓨터로 판독 가능한 저장 매체는 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도전성 시스템, 디바이스, 또는 장치, 또는 임의의 적절한 이들의 조합, 예컨대 랜덤 액세스 스토리지(RAM), 읽기 전용 스토리지(ROM), 삭제가능 프로그램 가능 읽기 전용 스토리지(이피롬 또는 플래쉬 스토리지), 광섬유, 및 콤팩트 디스크 읽기 전용 스토리지(CD-ROM)를 포함하지만 이에 제한되지 않는다.
프로세서는 흐름도 내의 각각의 단계 또는 단계의 조합에서 지정된 기능 및 동작을 수행할 수 있고, 블록도 내의 각각의 블록 또는 블록의 조합에서 지정된 기능 및 동작을 구현하기 위해 장치가 생성될 수 있도록, 컴퓨터 내의 프로세서는 컴퓨터로 판독 가능한 매체에 저장되는, 컴퓨터로 판독 가능한 프로그램 코드를 판독한다.
명백히, 당업자라면 본 발명의 권리 범위를 벗어나지 않고도 본 발명에 대해 다양한 수정 및 변경이 가능할 것이다. 본 발명은 다음의 청구 범위 및 그와 동등한 기술에 의해 정의되는 보호 범위에 속하는 이러한 수정과 변경을 포함하도록 의도된다.

Claims (19)

  1. 제1 스토리지 어레이 및 제2 스토리지 어레이에 연결된 잠금 서버(lock server)에 적용되는 데이터 기입 방법(data write method)으로서,
    제1 스토리지 어레이로부터 잠금 요청을 수신하는 단계 - 상기 잠금 요청은 잠금 명령, 기입될 데이터, 및 기입 주소를 싣고 있고, 상기 기입 주소는 상기 기입될 데이터를 저장하기 위한 위치를 나타내고 있음 -;
    상기 기입 주소에 대한 기입 잠금 허가(write lock permission)가 제2 스토리지 어레이에 이미 부여되어 있다고 검출된 경우, 상기 잠금 서버가 잠금 취소 요청(lock revocation request)을 상기 제2 스토리지 어레이에 송신하는 단계 - 상기 잠금 취소 요청은 상기 기입 잠금 허가를 철회하기 위해 사용되고, 상기 잠금 취소 요청은 상기 기입될 데이터 및 상기 기입 주소를 추가로 싣고 있고 또한 상기 기입될 데이터를 상기 기입 주소에 따라 저장하도록 상기 제2 스토리지 어레이에 지시하기 위해 사용됨 -; 및
    상기 제2 스토리지 어레이에 의해 송신되는 잠금 취소 성공 메시지를 수신한 후에 잠금 할당 메시지를 상기 제1 스토리지 어레이에 송신하는 단계 - 상기 잠금 취소 성공 메시지는 상기 제2 스토리지 어레이가 상기 기입 잠금 허가의 사용을 종료했다는 것을 나타내기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용되고, 상기 잠금 할당 메시지는 상기 제1 스토리지 어레이에 의해 요청된 상기 기입 잠금 허가를 상기 제1 스토리지 어레이에 할당하기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용됨 -
    를 포함하는 잠금 서버에 적용되는 데이터 기입 방법.
  2. 제1항에 있어서,
    상기 잠금 취소 요청을 수신한 후에, 상기 제2 스토리지 어레이가 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장하고, 상기 잠금 취소 성공 메시지를 송신하는 단계; 및
    상기 잠금 할당 메시지를 수신한 후에, 상기 제1 스토리지 어레이가 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장하는 단계
    를 더 포함하는 잠금 서버에 적용되는 데이터 기입 방법.
  3. 제2항에 있어서,
    상기 제2 스토리지 어레이가 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장하는 것은 구체적으로,
    상기 제2 스토리지 어레이가 다른 기입될 데이터와 상기 기입될 데이터를 결합하고, 결합된 데이터를 상기 기입 주소에 따라 상기 로컬 스토리지에 저장하는 것
    을 포함하는, 잠금 서버에 적용되는 데이터 기입 방법.
  4. 제3항에 있어서,
    상기 결합하는 것은 구체적으로,
    상기 다른 기입될 데이터와 상기 기입될 데이터가 주소 중첩 부분(address-overlapping part)을 공유하면, 상기 주소 중첩 부분을 상기 기입될 데이터로서 저장하는 것
    을 포함하는, 잠금 서버에 적용되는 데이터 기입 방법.
  5. 제1항에 있어서,
    상기 제1 스토리지 어레이 및 상기 제2 스토리지 어레이 각각이 스토리지 전용 네트워크(storage area network, SAN) 스토리지 컨트롤러 및 상기 SAN 스토리지 컨트롤러에 연결된 스토리지를 포함하는, 잠금 서버에 적용되는 데이터 기입 방법.
  6. 제1항에 있어서,
    상기 기입 주소는 논리적 장치 번호(logical unit number, LUN) ID이면서 LUN에서의 주소 범위인, 잠금 서버에 적용되는 데이터 기입 방법.
  7. 제1 스토리지 어레이 및 제2 스토리지 어레이와 통신하는 잠금 관리 장치로서,
    상기 제1 스토리지 어레이 및 상기 제2 스토리지 어레이와 통신하도록 구성된 송수신기 모듈; 및
    상기 송수신기 모듈과 통신하고, 또한 구체적으로, 상기 송수신기 모듈을 이용하여 상기 제1 스토리지 어레이로부터 잠금 요청을 수신한 후에 잠금 취소 요청을 생성하고 상기 잠금 취소 요청을 상기 제2 스토리지 어레이에 상기 송수신기 모듈을 이용하여 송신하며, 상기 송수신기 모듈을 이용하여 상기 제2 스토리지 어레이로부터 잠금 취소 성공 메시지를 수신한 후에 잠금 할당 메시지를 생성하고 상기 잠금 할당 메시지를 상기 제1 스토리지 어레이에 상기 송수신기 모듈을 이용하여 송신하도록 구성된 잠금 관리 모듈
    을 포함하고,
    상기 잠금 요청은 잠금 명령, 기입될 데이터, 및 기입 주소를 싣고 있고, 상기 기입 주소는 상기 기입될 데이터를 저장하기 위한 위치를 나타내고 있으며;
    상기 잠금 취소 요청은 상기 제2 스토리지 어레이에 부여된 기입 잠금 허가를 철회하기 위해 사용되고 - 여기서, 상기 잠금 취소 요청은 상기 기입될 데이터 및 상기 기입 주소를 추가로 싣고 있고, 또한 상기 잠금 취소 요청은 상기 기입될 데이터를 상기 기입 주소에 따라 저장하기 위해 추가로 사용됨 -;
    상기 잠금 취소 성공 메시지는, 상기 제2 스토리지 어레이가 상기 기입 잠금 허가의 사용을 종료했다는 것을 나타내기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용되며;
    상기 잠금 할당 메시지는, 상기 제1 스토리지 어레이에 의해 요청된 상기 기입 잠금 허가를 상기 제1 스토리지 어레이에 할당하기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용되는, 잠금 관리 장치.
  8. 제7항에 있어서,
    상기 기입 주소는 논리적 장치 번호(logical unit number, LUN) ID이면서 LUN에서의 주소 범위인, 잠금 관리 장치.
  9. 제7항 또는 제8항에 있어서,
    상기 잠금 관리 장치와 상기 제1 스토리지 어레이가 통합되어 있는, 잠금 관리 장치.
  10. 스토리지 시스템으로서,
    제1 스토리지 어레이, 잠금 서버, 및 제2 스토리지 어레이를 포함하고,
    상기 제1 스토리지 어레이는 기입될 데이터 및 상기 기입될 데이터를 저장하기 위한 위치를 나타내는 기입 주소를 싣고 있는 데이터 기입 요청을 수신한 다음에 잠금 명령, 상기 기입될 데이터, 및 상기 기입 주소를 싣고 있는 잠금 요청을 잠금 서버에 송신하도록 구성되고;
    상기 잠금 서버는 상기 잠금 요청을 수신하고, 상기 기입 주소에 대한 기입 잠금 허가가 상기 제2 스토리지 어레이에 이미 부여되어 있다고 검출된 경우 잠금 취소 요청을 상기 제2 스토리지 어레이에 송신하도록 구성되며 - 여기서, 상기 잠금 취소 요청은 상기 제2 스토리지 어레이에 부여된 상기 기입 잠금 허가를 철회하기 위해 사용되고, 또한 상기 잠금 취소 요청은 상기 기입될 데이터 및 상기 기입 주소를 추가로 싣고 있음 -;
    상기 제2 스토리지 어레이는, 상기 잠금 취소 요청을 수신한 후에, 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장한 다음에 잠금 취소 성공 메시지를 상기 잠금 서버에 송신하도록 구성되고 - 여기서, 상기 잠금 취소 성공 메시지는 상기 제2 스토리지 어레이가 상기 기입 잠금 허가의 사용을 종료했다는 것을 나타내고, 또한 잠금 취소 성공 메시지는 상기 기입될 데이터가 성공적으로 기입되어 있다는 정보를 싣고 있다는 것을 나타내기 위해 사용됨 -,
    상기 잠금 서버는 추가적으로, 상기 잠금 취소 성공 메시지를 수신한 후에, 잠금 할당 메시지를 상기 제1 스토리지 어레이에 송신하도록 구성되며 - 여기서, 상기 잠금 할당 메시지는 상기 제1 스토리지 어레이에 의해 요청된 상기 기입 잠금 허가를 상기 제1 스토리지 어레이에 할당하기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용됨 -,
    상기 제1 스토리지 어레이는 추가적으로, 상기 잠금 할당 메시지를 수신한 후에, 상기 기입될 데이터를 상기 기입 주소에 따라 로컬 스토리지에 저장하도록 구성된, 스토리지 시스템.
  11. 잠금 서버로서,
    프로세서 및 인터페이스를 포함하고,
    상기 인터페이스는 제1 스토리지 어레이 및 제2 스토리지 어레이에 연결되고,
    상기 프로세서는 상기 인터페이스와 통신하고, 또한 상기 인터페이스를 이용하여 상기 제1 스토리지 어레이로부터 잠금 요청을 수신한 후에 잠금 취소 요청을 생성하고 상기 잠금 취소 요청을 상기 제2 스토리지 어레이에 상기 인터페이스를 이용하여 송신하며, 상기 인터페이스를 이용하여 상기 제2 스토리지 어레이로부터 잠금 취소 성공 메시지를 수신한 후에 잠금 할당 메시지를 생성하고 상기 잠금 할당 메시지를 상기 제1 스토리지 어레이에 상기 인터페이스를 이용하여 송신하도록 구성되고,
    상기 잠금 요청은 잠금 명령, 기입될 데이터, 및 기입 주소를 싣고 있고, 상기 기입 주소는 상기 기입될 데이터를 저장하기 위한 위치를 나타내고 있으며;
    상기 잠금 취소 요청은 상기 제2 스토리지 어레이에 부여된 기입 잠금 허가를 철회하기 위해 사용되고 - 여기서, 상기 잠금 취소 요청은 상기 기입될 데이터 및 상기 기입 주소를 추가로 싣고 있고, 또한 상기 잠금 취소 요청은 상기 기입될 데이터를 상기 기입 주소에 따라 저장하기 위해 추가로 사용됨 -;
    상기 잠금 취소 성공 메시지는, 상기 제2 스토리지 어레이가 상기 기입 잠금 허가의 사용을 종료했다는 것을 나타내기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용되며;
    상기 잠금 할당 메시지는, 상기 제1 스토리지 어레이에 의해 요청된 상기 기입 잠금 허가를 상기 제1 스토리지 어레이에 할당하기 위해 사용되고 또한 상기 제2 스토리지 어레이가 상기 기입될 데이터의 기입을 완료했다는 것을 나타내기 위해 추가로 사용되는, 잠금 서버.
  12. 스토리지 및 잠금 서버에 연결된 스토리지 컨트롤러에 적용되는 데이터 기입 방법으로서,
    기입될 데이터 및 상기 기입될 데이터를 저장하기 위한 위치를 나타내는 기입 주소를 싣고 있는 데이터 기입 요청을 호스트로부터 수신한 다음에 잠금 명령, 상기 기입될 데이터, 및 상기 기입 주소를 싣고 있는 잠금 요청을 상기 잠금 서버에 송신하는 단계;
    상기 잠금 서버에 의해 송신되는 잠금 할당 메시지를 수신한 후에, 상기 기입될 데이터를 상기 기입 주소에 따라 저장하도록 상기 스토리지에 지시하는 단계 - 상기 잠금 할당 메시지는 상기 제1 스토리지 어레이에 의해 요청되는 기입 잠금 허가를 상기 제1 스토리지 어레이에 할당하기 위해 사용되고 또한 다른 스토리지 컨트롤러가 상기 기입될 데이터를 상기 기입 주소에 따라 기입하였다는 것을 나타내기 위해 추가로 사용됨 -; 및
    상기 데이터를 상기 스토리지에 기입한 후에, 데이터 기입 완료 메시지를 상기 호스트에 송신하는 단계
    를 포함하는 데이터 기입 방법.
  13. 스토리지 및 잠금 서버와 통신하는 데이터 기입 장치로서,
    호스트로부터 데이터 기입 요청을 수신하도록 구성된 송수신기 모듈 - 상기 데이터 기입 요청은 기입될 데이터 및 기입 주소를 싣고 있고, 상기 기입 주소는 상기 기입될 데이터를 저장하기 위한 위치를 나타내고 있음 -; 및
    상기 송수신기 모듈과 통신하고, 또한 상기 송수신기 모듈이 상기 데이터 기입 요청을 수신한 후에 잠금 요청을 생성하고 상기 잠금 요청을 상기 잠금 서버에 상기 송수신기 모듈을 이용하여 송신하도록 구성된 처리 모듈 - 상기 잠금 요청은 잠금 명령, 상기 기입될 데이터, 및 상기 기입 주소를 싣고 있음 -
    을 포함하고,
    상기 처리 모듈은 추가적으로, 상기 잠금 서버에 의해 송신되는 잠금 할당 메시지를 상기 송수신기 모듈을 이용하여 수신한 후에, 상기 기입될 데이터를 상기 기입 주소에 따라 저장하게끔 상기 스토리지에 지시하도록 구성되고 - 여기서, 상기 잠금 할당 메시지는 상기 제1 스토리지 어레이에 의해 요청된 기입 잠금 허가를 상기 제1 스토리지 어레이를 할당하기 위해 사용되고 또한 다른 스토리지 컨트롤러가 상기 기입 주소에 따라 상기 기입될 데이터 기입하였다는 것을 나타내기 위해 추가로 사용됨 -;
    상기 처리 모듈은 추가적으로, 상기 데이터를 상기 스토리지에 기입한 후에, 데이터 기입 완료 메시지를 상기 호스트에 상기 송수신기 모듈을 이용하여 송신하도록 구성된, 데이터 기입 장치.
  14. 스토리지 및 잠금 서버에 연결된 스토리지 컨트롤러로서,
    호스트로부터 데이터 기입 요청을 수신하도록 구성된 인터페이스 - 상기 데이터 기입 요청은 기입될 데이터 및 기입 주소를 싣고 있고, 상기 기입 주소는 상기 기입될 데이터를 저장하기 위한 위치를 나타내고 있음 -; 및
    상기 송수신기 모듈과 통신하고, 또한 상기 송수신기 모듈을 이용하여 상기 데이터 기입 요청을 수신한 후에 잠금 요청을 생성하고 상기 잠금 요청을 상기 잠금 서버에 상기 인터페이스를 이용하여 송신하도록 구성된 프로세서 - 상기 잠금 요청은 잠금 명령, 상기 기입될 데이터, 및 상기 기입 주소를 싣고 있음 -;
    를 포함하고,
    상기 프로세서는 추가적으로, 상기 잠금 서버에 의해 송신되는 잠금 할당 메시지를 상기 인터페이스를 이용하여 수신한 후에, 상기 기입될 데이터를 상기 기입 주소에 따라 저장하게끔 상기 스토리지에 지시하도록 구성되고 - 여기서, 상기 잠금 할당 메시지는 상기 제1 스토리지 컨트롤러에 의해 요청되는 기입 잠금 허가를 상기 제1 스토리지 컨트롤러에 할당하기 위해 사용되고 또한 다른 스토리지 컨트롤러가 상기 기입될 데이터를 상기 기입 주소에 따라 기입하였다는 것을 나타내기 위해 추가로 사용됨 -;
    상기 프로세서는 추가적으로, 상기 데이터를 상기 스토리지에 기입한 후에, 데이터 기입 완료 메시지를 상기 호스트에 상기 인터페이스를 이용하여 송신하도록 구성된, 스토리지 컨트롤러.
  15. 스토리지 및 잠금 서버에 연결되고 기입 잠금 허가가 부여된 스토리지 컨트롤러에 적용되는 데이터 기입 방법으로서,
    상기 잠금 서버에 의해 송신되는 잠금 취소 요청을 수신하는 단계 - 상기 잠금 취소 요청은 상기 기입 잠금 허가를 철회하기 위해 사용되고, 또한 상기 잠금 취소 요청은 기입될 데이터 및 기입 주소를 추가로 싣고 있음 -;
    상기 기입될 데이터를 상기 기입 주소에 따라 저장하도록 상기 스토리지에 지시하는 단계; 및
    잠금 취소 성공 메시지를 상기 잠금 서버에 송신하는 단계 - 상기 잠금 취소 성공 메시지는 제2 스토리지 어레이가 상기 기입 잠금 허가의 사용을 종료했다는 것을 나타내고, 또한 상기 잠금 취소 성공 정보가 상기 기입될 데이터가 성공적으로 기입되어 있다는 정보를 싣고 있다는 것을 나타내기 위해 사용됨 -
    를 포함하는 데이터 기입 방법.
  16. 제15항에 있어서,
    상기 스토리지 컨트롤러가 상기 기입될 데이터를 상기 기입 주소에 따라 저장하도록 상기 스토리지에 지시하는 단계는 구체적으로,
    상기 스토리지 컨트롤러 내의 다른 기입될 데이터와 상기 기입될 데이터를 결합하고, 결합된 데이터를 상기 기입 주소에 따라 저장하도록 상기 스토리지에 지시하는 단계
    를 포함하는, 데이터 기입 방법.
  17. 스토리지 및 잠금 서버와 통신하고 기입 잠금 허가가 부여된 데이터 기입 장치로서,
    상기 잠금 서버에 의해 송신되는 잠금 취소 요청을 수신하도록 구성된 송수신기 모듈 - 상기 잠금 취소 요청은 상기 기입 잠금 허가를 철회하기 위해 사용되고, 또한 상기 잠금 취소 요청은 기입될 데이터 및 상기 기입 주소를 추가로 싣고 있음 -; 및
    상기 기입될 데이터를 상기 기입 주소에 따라 저장하도록 상기 스토리지에 지시하고, 잠금 취소 성공 메시지를 생성하도록 구성된 처리 모듈 - 상기 잠금 취소 성공 메시지는 제2 스토리지 어레이가 상기 기입 잠금 허가의 사용을 종료했다는 것을 나타내고, 또한 상기 잠금 취소 성공 정보가 상기 기입될 데이터가 성공적으로 기입되어 있다는 정보를 싣고 있다는 것을 나타내기 위해 사용됨 -
    을 포함하고,
    상기 송수신기 모듈은 추가적으로, 상기 잠금 취소 성공 메시지를 상기 잠금 서버에 송신하도록 구성된, 데이터 기입 장치.
  18. 스토리지 및 잠금 서버에 연결되고 기입 잠금 허가가 부여된 스토리지 컨트롤러로서,
    상기 잠금 서버에 의해 송신되는 잠금 취소 요청을 수신하도록 구성된 인터페이스 - 상기 잠금 취소 요청은 상기 기입 잠금 허가를 철회하기 위해 사용되고, 또한 상기 잠금 취소 요청은 기입될 데이터 및 상기 기입 주소를 추가로 싣고 있음 -; 및
    상기 인터페이스에 연결되고, 또한 상기 기입될 데이터를 상기 기입 주소에 따라 저장하게끔 상기 스토리지에 지시하고 잠금 취소 성공 메시지를 생성하도록 구성된 프로세서 - 상기 잠금 취소 성공 메시지는 제2 스토리지 어레이가 상기 기입 잠금 허가의 사용을 종료했다는 것을 나타내고, 또한 상기 잠금 취소 성공 메세지는 상기 기입될 데이터가 성공적으로 기입되어 있다는 정보를 싣고 있다는 것을 나타내기 위해 사용됨 -
    를 포함하고,
    상기 인터페이스는 추가적으로, 상기 잠금 취소 성공 메시지를 상기 잠금 서버에 송신하도록 구성된, 스토리지 컨트롤러.
  19. 제18항에 있어서,
    상기 스토리지 컨트롤러가 상기 기입될 데이터를 상기 기입 주소에 따라 저장하게끔 상기 스토리지에 지시하도록 구성된다는 것은 구체적으로,
    상기 스토리지 컨트롤러가 상기 스토리지 컨트롤러 내의 다른 기입될 데이터와 상기 기입될 데이터를 결합하고, 결합된 데이터를 상기 기입 주소에 따라 저장하게끔 상기 스토리지에 지시하도록 구성된다는 것
    을 포함하는, 스토리지 컨트롤러.
KR1020177010863A 2015-12-31 2015-12-31 데이터 기입 방법, 장치, 및 시스템 KR101903536B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/100249 WO2017113351A1 (zh) 2015-12-31 2015-12-31 写数据方法和装置以及***

Publications (2)

Publication Number Publication Date
KR20170095184A true KR20170095184A (ko) 2017-08-22
KR101903536B1 KR101903536B1 (ko) 2018-10-02

Family

ID=59219092

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177010863A KR101903536B1 (ko) 2015-12-31 2015-12-31 데이터 기입 방법, 장치, 및 시스템

Country Status (8)

Country Link
US (3) US10776285B2 (ko)
EP (2) EP3553647B1 (ko)
KR (1) KR101903536B1 (ko)
CN (2) CN107209733B (ko)
AU (1) AU2015410318C1 (ko)
BR (1) BR112017006639B1 (ko)
CA (1) CA2963365C (ko)
WO (1) WO2017113351A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200056778A (ko) * 2018-11-15 2020-05-25 오스템임플란트 주식회사 정보 잠금 방법 및 이를 수행하는 치과용 업무 통합관리 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102529710B1 (ko) * 2018-02-19 2023-05-09 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN108958984B (zh) * 2018-08-13 2022-02-11 深圳市证通电子股份有限公司 基于ceph的双活同步在线热备方法
CN110968563B (zh) * 2018-09-29 2023-11-17 华为技术有限公司 一种数据存储方法、元数据服务器及客户端
CN109815227B (zh) * 2018-12-13 2024-04-16 平安科技(深圳)有限公司 数据锁管理方法、装置、计算机设备及存储介质
CN109739443B (zh) * 2019-01-08 2022-02-18 郑州云海信息技术有限公司 一种ssd混合读写的方法、装置、设备及存储介质
CN110321357B (zh) * 2019-06-14 2021-06-29 北京奇艺世纪科技有限公司 一种读写控制方法、装置及服务器
US20210073050A1 (en) * 2019-09-11 2021-03-11 International Business Machines Corporation Re-dispatching tasks on associated processors to reduce lock contention
CN110888603B (zh) * 2019-11-27 2024-01-16 深圳前海环融联易信息科技服务有限公司 高并发数据写入方法、装置、计算机设备及存储介质
CN111405015B (zh) * 2020-03-09 2022-09-30 中国建设银行股份有限公司 一种数据处理方法、装置、设备及存储介质
US11334293B1 (en) * 2021-01-28 2022-05-17 EMC IP Holding Company LLC Facilitating the implementation of cluster counters on lock value blocks in distributed file systems
CN113703674B (zh) * 2021-07-30 2023-08-11 苏州浪潮智能科技有限公司 一种存储***的写数据方法及相关装置
CN113885806A (zh) * 2021-10-21 2022-01-04 郑州云海信息技术有限公司 一种盘阵的写入控制方法、装置以及存储介质
CN115951844B (zh) * 2023-03-13 2023-06-06 浪潮电子信息产业股份有限公司 分布式文件***的文件锁管理方法、设备及介质
CN118093730B (zh) * 2024-04-29 2024-07-23 济南浪潮数据技术有限公司 数据双写方法、装置、计算机设备及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001125868A (ja) * 1999-09-09 2001-05-11 E Cat:Kk ファイル共用装置、及びその方法、ファイル処理装置、及びその方法、ファイル共用プログラムを記録した記録媒体並びにファイル処理プログラムを記録した記録媒体
JP2005285086A (ja) * 2004-03-29 2005-10-13 Hitachi Ltd マルチステージのボリュームロッキングに対する方法と装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457098B1 (en) * 1998-12-23 2002-09-24 Lsi Logic Corporation Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
JP3944449B2 (ja) * 2002-12-19 2007-07-11 株式会社日立製作所 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
US20050155011A1 (en) * 2004-01-12 2005-07-14 Stephan Heik Method and system for restricting access in a distributed job environment
US8543781B2 (en) * 2004-02-06 2013-09-24 Vmware, Inc. Hybrid locking using network and on-disk based schemes
US7751341B2 (en) * 2004-10-05 2010-07-06 Cisco Technology, Inc. Message distribution across fibre channel fabrics
GB0428108D0 (en) * 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting
KR100825721B1 (ko) * 2005-12-08 2008-04-29 한국전자통신연구원 객체 기반 스토리지 시스템에서 사용자 파일 관리자 내의시간 기반 캐쉬 일관성 유지 시스템 및 방법
CN101252603B (zh) * 2008-04-11 2011-03-30 清华大学 基于存储区域网络san的集群分布式锁管理方法
US9626859B2 (en) * 2012-04-11 2017-04-18 Digilock Asia Limited Electronic locking systems, methods, and apparatus
US9176902B1 (en) * 2012-06-27 2015-11-03 Emc Corporation Data migration techniques
US10318171B1 (en) * 2012-06-29 2019-06-11 EMC IP Holding Company LLC Accessing fast memory in a data storage array
WO2014101108A1 (zh) 2012-12-28 2014-07-03 华为技术有限公司 分布式存储***的缓存方法、节点和计算机可读介质
WO2015077955A1 (zh) * 2013-11-28 2015-06-04 华为技术有限公司 一种写数据方法、装置和***
CN104954392A (zh) * 2014-03-24 2015-09-30 ***通信集团河北有限公司 一种云盘及其实现方法、装置
CN106133676B (zh) * 2014-04-21 2019-05-17 株式会社日立制作所 存储***
US9805056B2 (en) * 2014-06-24 2017-10-31 Panzura, Inc. Synchronizing file updates between two cloud controllers of a distributed filesystem
US9600949B2 (en) * 2014-07-30 2017-03-21 Master Lock Company Llc Wireless key management for authentication
CN104536834A (zh) * 2014-11-26 2015-04-22 华为技术有限公司 一种授权锁权限的方法和分布式锁管理器
CN104636088B (zh) * 2015-02-17 2018-04-10 华为技术有限公司 一种将数据写入数据服务器的方法及存储***
US9959062B1 (en) * 2016-02-05 2018-05-01 Datadirect Networks, Inc. Low latency and reduced overhead data storage system and method for sharing multiple storage devices by high performance computing architectures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001125868A (ja) * 1999-09-09 2001-05-11 E Cat:Kk ファイル共用装置、及びその方法、ファイル処理装置、及びその方法、ファイル共用プログラムを記録した記録媒体並びにファイル処理プログラムを記録した記録媒体
JP2005285086A (ja) * 2004-03-29 2005-10-13 Hitachi Ltd マルチステージのボリュームロッキングに対する方法と装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Active-Active DC Solution Technical White Paper(HyperMetro)", (2015.06.29.). 1부. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200056778A (ko) * 2018-11-15 2020-05-25 오스템임플란트 주식회사 정보 잠금 방법 및 이를 수행하는 치과용 업무 통합관리 장치

Also Published As

Publication number Publication date
EP3217248A1 (en) 2017-09-13
CN107209733B (zh) 2019-01-18
CA2963365C (en) 2019-02-05
WO2017113351A1 (zh) 2017-07-06
AU2015410318B2 (en) 2018-11-08
CN110134327B (zh) 2022-03-29
BR112017006639A2 (pt) 2017-12-19
AU2015410318A1 (en) 2017-07-20
CN110134327A (zh) 2019-08-16
BR112017006639B1 (pt) 2022-12-13
EP3553647A1 (en) 2019-10-16
CN107209733A (zh) 2017-09-26
EP3217248B1 (en) 2019-04-03
US20180260340A1 (en) 2018-09-13
US20220309007A1 (en) 2022-09-29
EP3553647B1 (en) 2023-10-25
US11366768B2 (en) 2022-06-21
CA2963365A1 (en) 2017-06-30
US10776285B2 (en) 2020-09-15
AU2015410318C1 (en) 2019-01-31
EP3217248A4 (en) 2017-12-27
US20200394142A1 (en) 2020-12-17
KR101903536B1 (ko) 2018-10-02

Similar Documents

Publication Publication Date Title
KR101903536B1 (ko) 데이터 기입 방법, 장치, 및 시스템
CN107209644B (zh) 一种数据处理方法以及NVMe存储器
US10901636B2 (en) Target optimized auto provisioning of storage in a discoverable storage network
CN106133676B (zh) 存储***
CN103827843B (zh) 一种写数据方法、装置和***
US7596659B2 (en) Method and system for balanced striping of objects
CN107466456B (zh) 加锁请求的处理方法及服务器
EP3089040A1 (en) Security access control method for hard disk, and hard disk
WO2015085826A1 (zh) 一种访问共享资源的方法及装置
US8782292B2 (en) Methods and structure for performing a rebuild of a logical volume with a serial attached SCSI expander
US20140041053A1 (en) Data block access control
US9319350B2 (en) Virtual address for virtual port
US7240167B2 (en) Storage apparatus
US20100082934A1 (en) Computer system and storage system
US8756380B2 (en) Controlling access to a removable medium from a module and an external device
JP7313458B2 (ja) ストレージシステム、ストレージノード及びデータ記憶方法
KR101333944B1 (ko) 분산시스템 및 그 아이디 할당 방법
KR101436493B1 (ko) 클라이언트식별서버 및 클라이언트식별서버의 동작 방법
KR20140018342A (ko) 포트 번호 특정 시스템, 포트 번호 특정 시스템 제어 방법 및 그 제어용 프로그램을 기록한 컴퓨터 판독가능 기록 매체
JP2000076019A (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