KR20120071060A - 동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법 - Google Patents

동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20120071060A
KR20120071060A KR1020100132645A KR20100132645A KR20120071060A KR 20120071060 A KR20120071060 A KR 20120071060A KR 1020100132645 A KR1020100132645 A KR 1020100132645A KR 20100132645 A KR20100132645 A KR 20100132645A KR 20120071060 A KR20120071060 A KR 20120071060A
Authority
KR
South Korea
Prior art keywords
domain
storage device
manager
message
domain manager
Prior art date
Application number
KR1020100132645A
Other languages
English (en)
Other versions
KR101702366B1 (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 삼성전자주식회사
Priority to KR1020100132645A priority Critical patent/KR101702366B1/ko
Priority to US13/332,764 priority patent/US8904072B2/en
Publication of KR20120071060A publication Critical patent/KR20120071060A/ko
Application granted granted Critical
Publication of KR101702366B1 publication Critical patent/KR101702366B1/ko

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

여기에는 디바이스 매니저를 갖는 제 1 장치와; 그리고 상기 제 1 장치와 함께 도메인을 형성하도록 구성되며, 도메인 매니저를 갖는 스토리지 장치를 포함하는 스토리지 시스템이 제공된다. 상기 도메인 매니저는 상기 디바이스 매니저로부터 전송되는 상기 디스커버리 메세지에 응답하여 도메인 매니저 메세지를 상기 제 1 장치로 전송하고, 상기 도메인 매니저 메세지에 따라 전송되는, 상기 제 1 장치의 구성들을 알리는, 등록 디바이스 메세지에 의거하여 상기 제 1 장치를 도메인에 등록한다. 상기 제 1 장치의 등록된 구성들은 상기 스토리지 장치의 기능이 동적으로 확장되도록 상기 스토리지 장치의 저장 매체에 저장된 데이터를 처리하기 위한 응용 프로그램의 구성들로서 배치된다.

Description

동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법{STORAGE DEVICE CAPABLE OF EXTENDING FUNCTIONS DYNAMICALY AND OPERATING METHOD THEREOF}
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 스토리지 장치에 관한 것이다.
하드디스크와 같은 스토리지 장치는 PATA, SATA, SCSI, SAS, 등과 같은 인터페이스들을 통해서 호스트와 연결된다. 그러한 인터페이스 상에서 스토리지 장치와 호스트 사이의 통신을 위해서 ATA/ SCSI 명령어 집합이 정의되어 사용된다. ATA/SCSI 명령어 집합은 공통적으로 블록 기반의 명령어들에 기반하고 있다. 명령어 집합들은 블록(예를 들면, 512-바이트) 단위로 스토리지 장치의 데이터를 읽고 쓸 수 있는 명령어들만을 제공한다.
다른 스토리지 장치로서, SSD는 복수의 플래시 메모리 칩들로 구성되며, SSD의 성능은 파일 시스템에서 데이터를 플래시 메모리 칩들에 어떻게 배치하느냐에 따라서 수십 배 이상의 차이가 난다. 그런데 기존의 블록 기반의 인터페이스의 경우, SSD 내부의 하드웨어 구성을 알기가 어려우며, 안다고 하더라도 SSD 내부의 하드웨어 구성을 활용하기에는 인터페이스가 제한적이다. 또한, 하드웨어 구성이 SSD마다 다르기 때문에, 파일 시스템을 각 SSD에 최적화하는 것도 현실적으로 불가능하다.
본 발명의 목적은 동적으로 기능을 확장할 수 있는 스토리지 장치 및 그것의 동작 방법을 제공하는 것이다.
본 발명의 일 특징은 디바이스 매니저를 갖는 제 1 장치와; 그리고 상기 제 1 장치와 함께 도메인을 형성하도록 구성되며, 도메인 매니저를 갖는 스토리지 장치를 포함하는 스토리지 시스템을 제공하는 것이다. 상기 도메인 매니저는 상기 디바이스 매니저로부터 전송되는 상기 디스커버리 메세지에 응답하여 도메인 매니저 메세지를 상기 제 1 장치로 전송하고, 상기 도메인 매니저 메세지에 따라 전송되는, 상기 제 1 장치의 구성들을 알리는, 등록 디바이스 메세지에 의거하여 상기 제 1 장치를 도메인에 등록한다. 상기 제 1 장치의 등록된 구성들은 상기 스토리지 장치의 기능이 동적으로 확장되도록 상기 스토리지 장치의 저장 매체에 저장된 데이터를 처리하기 위한 응용 프로그램의 구성들로서 배치된다.
예시적인 실시예에 있어서, 디바이스 매니저를 갖는 제 2 장치로부터 디스커버리 메세지가 수신될 때, 상기 도메인 매니저는 상기 제 2 장치의 디스커버리 메세지에 응답하여 도메인 매니저 메세지를 상기 제 2 장치로 전송하고, 상기 도메인 매니저 메세지에 따라 전송되는, 상기 제 2 장치의 구성들을 알리는, 등록 디바이스 메세지에 의거하여 상기 제 2 장치를 도메인에 등록한다.
예시적인 실시예에 있어서, 상기 응용 프로그램의 구성들의 연결이 끊어졌을 때, 상기 도메인 매니저는 상기 끊어진 구성을 포함하는 장치에 대해서 등록 해제를 수행하고, 상기 도메인에 등록된 구성들에 의거하여 상기 응용 프로그램의 구성들을 재배치한다.
예시적인 실시예에 있어서, 상기 도메인 매니저는 상기 도메인의 네트워크가 끊어졌는 지의 여부를 판별하도록 구성된다.
예시적인 실시예에 있어서, 상기 도메인의 네트워크가 끊어진 것으로 판별될 때, 상기 도메인 매니저는 상기 도메인의 등록된 장치들로 얼라이브 요청 메세지를 전송한다.
예시적인 실시예에 있어서, 상기 도메인 매니저는 상기 얼라이브 요청 메세지에 대한 응답이 상기 도메인에 속한 장치들로부터 소정 시간 내에 수신되지 않을 때 상기 도메인에 속한 장치들에 대해서 등록 해제를 수행하고, 상기 도메인에 등록된 구성들에 의거하여 상기 응용 프로그램의 구성들을 재배치한다.
예시적인 실시예에 있어서, 상기 스토리지 장치는 상기 저장 매체로서 플래시 메모리들을 이용한 반도체 드라이브를 포함한다.
예시적인 실시예에 있어서, 상기 스토리지 장치는 유선, 무선, 그리고 유무선 중 어느 하나를 통해 상기 제 1 장치와 통신한다.
예시적인 실시예에 있어서, 상기 도메인에 등록된 상기 제 1 장치는 상기 응용 프로그램의 배치 대상이 된다.
예시적인 실시예에 있어서, 상기 도메인 매니저는 사용자의 요청에 따라 상기 응용 프로그램에 대한 설치, 시작, 정지, 그리고 제거 동작들을 수행하도록 구성된다.
본 발명의 예시적인 실시예들에 의하면, 응용 프로그램의 일부 모듈이 하드웨어 구성과 관계없이 대상 스토리지 장치에서 동작할 수 있는 표준화된 운영 환경을 제공함으로써 스토리지 장치의 기능을 동적으로 확장하는 것이 가능하다. 따라서, 응용 프로그램의 벤더가 자신의 응용 프로그램에 최적화된 스토리지를 스토리지 벤더와 관계없이 직접 구현하는 것이 가능하다. 또한, 표준화된 운용 환경을 제공함으로써 응용 프로그램의 최적화 모듈을 거래할 수 있는 스토리지 응용 프로그램 시장을 창출하는 것이 가능하다.
도 1은 본 발명의 예시적인 실시예에 따른 스토리지 장치를 이용한 운영 환경을 개략적으로 설명하기 위한 도면이다.
도 2는 본 발명의 예시적인 실시예에 따른 도 1에 도시된 스토리지 장치의 도메인 매니저의 동작을 설명하기 위한 흐름도이다.
도 3은 본 발명의 예시적인 실시예에 따른 디바이스 매니저의 동작을 설명하기 위한 흐름도이다.
도 4는 본 발명의 예시적인 실시예에 따른 도 1에 도시된 스토리지 장치를 개략적으로 보여주는 블록도이다.
도 5는 도 4에 도시된 런타임 프레임워크 계층을 개략적으로 보여주는 도면이다.
도 6은 본 발명의 예시적인 실시예에 따른 도메인을 개략적으로 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
도면들에 있어서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 또한 명세서 전체에 걸쳐서 동일한 참조번호로 표시된 부분들은 동일한 구성요소를 나타낸다.
본 명세서에서 ‘및/또는’이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, ‘연결되는/결합되는’이란 표현은 다른 구성요소와 직접적으로 연결되거나 다른 구성요소를 통해 간접적으로 연결되는 것을 포함하는 의미로 사용된다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 ‘포함한다’ 또는 ‘포함하는’으로 언급된 구성요소, 단계, 동작 및 소자는 하나 이상의 다른 구성요소, 단계, 동작, 소자 및 장치의 존재 또는 추가를 의미한다.
도 1은 본 발명의 예시적인 실시예에 따른 스토리지 장치를 이용한 운영 환경을 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 예시적인 실시예에 따른 스토리지 장치(1000)는 플래시 메모리들로 구성되는 저장 매체(1001)를 포함한다. 저장 매체(1001)는 스토리지 장치(1000)를 동작시키는 데 필요한 그리고 프레임워크를 구성하는 데 필요한 프로그램들(예를 들면, 미들웨어, 가상 머신, 네이티브 인터페이스, FTL, OS, 등), 다양한 장치들에 필요한 프로그램들(예를 들면, 오디오 코덱, 비디오 코덱, 네트워크 프로그램, 다양한 인터페이스들, 등), 데이터, 등을 저장할 것이다. 저장 매체(1001)에 저장된 데이터는, 이후 설명되는 바와 같이, 스토리지 장치(1000)와 연결될 장치(들)를 통해 처리될 수 있다. 스토리지 장치(1000)는, 예를 들면, 오프젝트-기반 스토리지 장치(Object-based Stroage Device: OSD)를 지원하는 반도체 드라이브(Solid-State Drive: SSD)일 것이다.
스토리지 장치(1000)는 미들웨어(middleware)로서 도메인 매니저(1002) 및 디바이스 매니저(1003)를 포함할 것이다. 도메인 매니저(1002)는 스토리지 장치(1000)와 연결되는 하나 또는 그 보다 많은 장치들과 함께 스토리지 장치(1000)를 하나의 도메인으로 관리할 것이다. 도메인 매니저(1002)는 스토리지 장치(1000) 및 그것과 연결되는 하나 또는 그 보다 많은 장치들로 구성된 도메인을 관리할 것이다. 디바이스 매니저(1003)는 스토리지 장치(1000)와 연결된 하나 또는 그 보다 많은 장치들과의 연결 상태들을 관리할 것이다.
스토리지 장치(1000)에는 유선 방식, 무선 방식, 또는 유무선 방식으로 다양한 장치들(2000, 3000)이 연결될 것이다. 그러한 장치들(2000, 3000)은 현존하는 전자 장치들(예를 들면, 컴퓨터, 서버, 컴퓨터, PDA, 휴대폰, TV, 등)을 포함할 것이다. 스토리지 장치(1000)와 연결된 장치들(2000, 3000)은 대응하는 디바이스 매니저들(2001, 3001)을 각각 포함할 것이다. 장치들(2000, 3000)의 디바이스 매니저들(2001, 3001) 각각은 스토리지 장치(1000)의 도메인 매니저(1002)와의 연결 상태를 관리할 것이다. 장치들(2000, 3000)의 디바이스 매니저들(2001, 3001) 각각은 스토리지 장치(1000)의 도메인 매니저(1002)의 요청에 따라 도메인 매니저(1002)로 디바이스 정보를 제공할 것이다. 그러한 디바이스 정보는, 예를 들면, 각 장치에 포함된 어플리케이션의 구성들(components)(예를 들면, 디스플레이 구성, 오디오 구성, 플레이 구성, 연산 구성, 등)에 대한 정보를 포함할 것이다.
도메인 매니저(1002)는 스토리지 장치(1000)에서 동작하는 모듈로서, 도메인의 장치들(또는, 시스템들)과 각 장치의 운영 환경, CPU, 메모리 등의 자원 가용량에 관한 정보를 관리할 것이다. 도메인의 각 장치(또는, 시스템)은 이후 설명되는 디스커버리 및 등록 과정들을 통해 도메인에 등록될 것이다. 이를 위해서, 자바 네이밍(java naming), 디렉토리 인터페이스, RMI 레지스트리 등이 사용될 수 있다. 도메인에 등록된 장치(또는, 시스템)은 응용 프로그램의 배치 대상이 될 수 있다.
스토리지 장치(1000)는 이동 가능하도록 구성되며, 장치들(2000, 3000)에 고정되지 않는다. 하지만, 스토리지 장치(1000)가 도메인에 포함된 장치들(2000, 3000)에 고정될 수 있음은 잘 이해될 것이다. 이는 스토리지 장치(1000)가 장치들(2000, 3000)와의 통신을 자유롭게 설정할 수 있음을 의미한다. 이러한 운영 환경에 의하면, 스토리지 장치(1000)의 기능을 동적으로 확장하는 것이 가능하다. 다시 말해서, 본 발명의 예시적인 실시예에 따른 스토리지 장치(1000)의 기능이 다양한 장치들로 확장될 것이다. 예를 들면, 스토리지 장치(1000)가 디스플레이될 데이터를 저장하고 있는 경우, 스토리지 장치(1000)는 도메인에 포함된 장치들(2000, 3000)의 구성들 중 디스플레이 구성을 결정하고, 결정된 디스플레이 구성을 갖는 장치로 디스플레이될 데이터를 전송할 것이다. 디스플레이 구성을 갖는 장치는 디스플레이되도록 스토리지 장치(1000)로부터 전송된 데이터를 가공할 것이다. 만약 스토리지 장치(1000)와 디스플레이 구성을 갖는 장치 사이의 연결이 끊어질 때, 스토리지 장치(1000)는 다른 장치에 제공되는 디스플레이 구성을 이용하여 디스플레이 기능을 수행할 것이다. 스토리지 장치(1000)의 동적 기능 확장이 여기에 개시된 것에 국한되지 않음은 잘 이해될 것이다. 다시 말해서, 도메인 매니저(1002)는 응용 프로그램을 배치함에 있어서 자원 가용량/요구량, 사용자의 입력 등을 통해서 응용 구성들을 적절히 배치하고 연결할 것이다. 사용자는 도메인 매니저(1002)를 통해 응용 프로그램의 설치, 시작, 정지, 제거 등을 수행할 수 있다. 도메인의 각 장치(또는, 시스템)은 언제라도 등록 해제될 수 있다. 예를 들면, 각 장치(또는, 시스템)는 사용자 GUI를 통해 명시적으로 등록 해제될 수 있다. 또는, 각 장치(또는, 시스템)은 디바이스 매니저(2001/3001)의 타임아웃에 의해서 도메인 매니저를 통해 등록 해제될 수 있다. 이는 이후 상세히 설명될 것이다.
따라서, 장치들의 구성들을 동적으로 배치함으로써 스토리지 장치(1000)의 기능을 확장하는 것이 가능하다.
예시적인 실시예에 있어서, 스토리지 장치(1000)와 장치들(2000, 3000)은 스토리지 시스템을 구성할 것이다.
도 2는 본 발명의 예시적인 실시예에 따른 도 1에 도시된 스토리지 장치의 도메인 매니저의 동작을 설명하기 위한 흐름도이다. 이하, 본 발명의 예시적인 실시예에 따른 스토리지 장치의 도메인 매니저의 동작이 참조 도면들에 의거하여 상세히 설명될 것이다. 설명에 앞서, 스토리지 장치(1000)와 장치들(예를 들면, 2000, 3000)가 도메인을 구성한다고 가정하자.
도 2를 참조하면, S100 단계에서, 이벤트가 발생하였는 지의 여부가 판별될 것이다. 여기서, 이벤트는 이후 설명되는 바와 같이 다양하게 정의될 수 있다. 만약 이벤트가 발생하지 않은 것으로 판별되면, 이벤트를 검출하는 동작은 반복될 것이다. 만약 이벤트가 발생한 것으로 판별되면, 절차는 S110 단계로 진행할 것이다. S110 단계에서, 도메인에 속한 장치들(2000, 3000)로부터 등록 디바이스 메세지가 수신되었는 지의 여부가 판별될 것이다. 등록 디바이스 정보는 스토리지 장치(1000)와 연결된 장치들(2000, 3000)의 구성들을 나타내는 정보를 포함할 것이다. 만약 등록 디바이스 메세지가 수신된 것으로 판별되면, 절차는 S120 단계로 진행할 것이다. S120 단계에서, 등록 디바이스 메세지를 제공한 장치들(2000, 3000)가 도메인 매니저(1002)에 의해서 등록될 것이다. 연결된 장치들(2000, 3000)가 도메인 매니저(1002)에 의해서 등록된 후, S200 단계에서, 연결된 장치들(2000, 3000)의 구성들이 재배치될 것이다. 이러한 구성 재배치를 통해 장치들의 구성들을 스토리지 장치(1000)의 구성으로서 활용하는 것이 가능할 뿐만 아니라, 스토리지 장치(1000)에 저장된 데이터를 도메인에 포함된 장치들(2000, 3000)의 구성들을 통해 처리하는 것이 가능하다. 이후, 절차는 S100 단계로 진행할 것이다.
다시 S110 단계로 돌아가서, 만약 등록 디바이스 메세지가 수신되지 않은 것으로 판별되면, S130 단계에서, 디스커버리 메세지가 도메인의 장치들(2000, 3000)로부터 수신되었는 지의 여부가 판별될 것이다. 여기서, 디스커버리 메세지는, 이후 설명되는 바와 같이, 도메인에 포함된 장치들(2000, 3000)에 포함된 디바이스 매니저들(2001, 3001)로부터 각각 제공되며, 도메인 내에 존재하는 도메인 매니저(1002)를 찾기 위한 메세지이다. 만약 디스커버리 메세지가 수신된 것으로 판별되면, 절차는 S140 단계로 진행할 것이다. S140 단계에서, 스토리지 장치(1000)의 도메인 매지저(1002)는 디스커버리 메세지를 제공한 장치들(2000, 3000)로 도메인 매니저 메세지를 전송한다. 이후, 절차는 S100 단계로 진행할 것이다. 이에 반해서, 디스커버리 메세지가 수신되지 않은 것으로 판별되면, 절차는 S150 단계로 진행할 것이다.
S150 단계에서, 얼라이브 메세지가 수신되었는 지의 여부가 판별될 것이다. 얼라이브 메세지는, 이후 설명되는 바와 같이, 도메인에 포함된 장치가 살아있는 지의 여부를 알리기 위한 메세지로서, 도메인에 포함된 장치로부터 전송될 것이다. 만약 얼라이브 메세지가 수신된 것으로 판별되면, 절차는 S160 단계로 진행할 것이다. S160 단계에서, 얼라이브 요청 메세지가 도메인에 포함된 장치들로 전송될 때 설정된 타이머가 초기화될 것이다. 이후, 절차는 S100 단계로 진행할 것이다. 만약 얼라이브 메세지가 수신되지 않은 것으로 판별되면, 절차는 S170 단계로 진행할 것이다. S170 단계에서, 얼라이브 응답이 정해진 시간 내에 도메인의 장치들로부터 수신되었는 지의 여부가 판별될 것이다. 만약 얼라이브 응답이 정해진 시간 내에 수신되지 않은 것으로 판별되면, 절차는 S190 단계로 진행할 것이다. 만약 얼라이브 응답이 정해진 시간 내에 수신된 것으로 판별되면, 절차는 S180 단계로 진행할 것이다. S180 단계에서, 배치된 구성들 사이의 연결이 끊어졌는 지의 여부가 판별될 것이다. 여기서, 배치된 구성들은 하나의 어플리케이션을 형성할 것이다. 만약 배치된 구성들 사이의 연결이 끊어진 것으로 판별되면, 절차는 S190 단계로 진행할 것이다. S190 단계에서, 끊어진 구성들을 갖는 장치들의 등록이 해제될 것이다. 이후, 절차는 S200 단계로 진행할 것이다. S200 단계에서, 연결된 장치들(2000, 3000)의 구성들이 재배치될 것이다. 이후, 절차는 S100 단계로 진행할 것이다.
만약 배치된 구성들 사이의 연결이 끊어지지 않은 것으로 판별되면, 절차는 S210 단계로 진행할 것이다. 정해진 시간이 종료되었는 지의 여부가 판별될 것이다. 만약 정해진 시간이 종료된 것으로 판별되면, 절차는 S230 단계로 진행할 것이다. 만약 정해진 시간이 종료되지 않은 것으로 판별되면, 절차는 S220 단계로 진행할 것이다. S220 단계에서, 스토리지 장치(1000)의 도메인 매니저(1002)는 네트워크가 끊어졌는 지의 여부를 판별할 것이다. 만약 네트워크가 끊어지지 않은 것으로 판별되면, 절차는 S100 단계로 진행할 것이다. 만약 네트워크가 끊어진 것으로 판별되면, 절차는 S230 단계로 진행할 것이다. 정해진 시간이 종료된 것으로 판별되거나 네트워크가 끊어진 것으로 판별될 때, S230 단계에서, 스토리지 장치(1000)의 도메인 매니저(1002)는 얼라이브 요청 메세지를 도메인에 속한 장치들(2000, 3000)로 전송할 것이다. 얼라이브 요청 메세지가 도메인에 속한 장치들(2000, 3000)로 전송될 때, S160 단계에서 설명된 바와 같이, 얼라이브 응답이 정해진 시간 내에 수신되었는 지의 여부를 판별하기 위한 타이머가 설정될 것이다. 이후 절차는 S100 단계로 진행할 것이다.
상술한 동작들은 스토리지 장치(1000)의 도메인 매니저(1002)를 통해 행해질 것이다. 스토리지 장치(1000)와 하나 또는 그 보다 많은 장치들을 포함하는 도메인이 도메인 매니저(1002)를 통해 구성되며, 도메인을 구성하는 스토리지 장치(1000) 및 하나 또는 그 보다 많은 장치들은 도메인 매니저(1002)를 통해 자동적으로 서로 연결되거나 차단될 것이다. 이는 스토리지 장치(1000)의 도메인 매니저(1002)를 통해 스토리지 장치(1000)의 기능이 동적으로 확장됨을 의미한다.
예시적인 실시예에 있어서, 도 2에서 설명된 이벤트 판별 단계들의 처리 순서가 여기에 개시된 것과 다르게 결정될 수 있음은 잘 이해될 것이다.
도 3은 본 발명의 예시적인 실시예에 따른 디바이스 매니저의 동작을 설명하기 위한 흐름도이다. 이하, 본 발명의 예시적인 실시예에 따른 디바이스 매니저의 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
먼저, S300 단계에서, 이벤트가 발생하였는 지의 여부가 판별될 것이다. 만약 이벤트가 발생하지 않은 것으로 판별되면, 이벤트를 검출하는 동작이 반복될 것이다. 이에 반해서, 만약 이벤트가 발생한 것으로 판별되면, 절차는 S310 단계로 진행할 것이다. S310 단계에서, 얼라이브 요청 메세지가 수신되었는 지의 여부가 판별될 것이다. 그러한 얼라이브 요청 메세지는 도 2의 S190 단게에서 스토리지 장치(1000)의 도메인 매니저(1002)로부터 제공될 것이다. 얼라이브 요청 메세지가 수신된 것으로 판별되면, 절차는 S320 단계로 진행할 것이다. S320 단계에서, 얼라이브 메세지가 스토리지 장치(1000)의 도메인 매지저(1002)로 전송될 것이다. 이후, 절차는 S300 단계로 진행할 것이다.
얼라이브 요청 메세지가 수신되지 않은 것으로 판별되면, 절차는 S330 단계로 진행할 것이다. S330 단계에서, 네트워크가 변경되었는 지의 여부가 판별될 것이다. 여기서, 네트워크 변경은 무선에서 유선으로의 변경, 유선에서 무선으로의 변경, IP 주소의 변경, 등을 포함할 것이다. 만약 네트워크가 변경된 것으로 판별되면, 절차는 S350 단계로 진행할 것이다. 만약 네트워크가 변경되지 않은 것으로 판별되면, 절차는 S340 단계로 진행할 것이다. S340 단계에서, 정해진 시간이 종료되었는 지의 여부가 판별될 것이다. 정해진 시간이 종료된 것으로 판별되면, 절차는 S350 단계로 진행할 것이다. 네트워크가 변경되지 않은 것으로 판별되거나 정해진 시간이 종료된 것으로 판별될 때, S350 단계에서, 디스커버리 메세지가 전송될 것이다. 디스커버리 메세지는 도메인 매니저(1002)를 찾기 위한 메세지로서 사용될 것이다. 이후 절차는 S300 단계로 진행할 것이다.
다시 S340 단계로 돌아가서, 만약 정해진 시간이 종료되지 않은 것으로 판별되면, 절차는 S360 단계로 진행할 것이다. S360 단계에서, 어플리케시션을 구성하는 구성들 사이의 연결이 끊어졌는 지의 여부가 판별될 것이다. 만약 어플리케시션을 구성하는 구성들 사이의 연결이 끊어진 것으로 판별되면, 절차는 S370 단계로 진행할 것이다. 만약 어플리케시션을 구성하는 구성들 사이의 연결이 끊어지지 않은 것으로 판별되면, 절차는 S380 단계로 진행할 것이다. S380 단계에서, 도메인 매니저(1002)가 정해진 시간 내에 발견되지 않았는 지의 여부가 판별될 것이다. 도메인 매니저(1002)가 정해진 시간 내에 발견되지 않은 것으로 판별되면, 절차는 S370 단계로 진행할 것이다. 어플리케시션을 구성하는 구성들 사이의 연결이 끊어진 것으로 판별되거나 도메인 매니저(1002)가 정해진 시간 내에 발견되지 않은 것으로 판별될 때, S370 단계에서, 스토리지 장치(1000)와 관련된 동작들이 종료될 것이다. 그러한 동작들과 관련된 프로그램들이 스토리지 장치(1000)로부터 다운로드된 경우, 그러한 프로그램들은 제거될 것이다. 이후, 절차는 S300 단계로 진행할 것이다.
만약 도메인 매니저(1002)가 정해진 시간 내에 발견된 것으로 판별될 때, 절차는 S390 단계로 진행할 것이다. S390 단계에서 도메인 매니저 메세지가 수신되었는 지의 여부가 판별될 것이다. 도메인 매니저 메세지가 수신되지 않은 것으로 판별되면, 절차는 S300 단계로 진행할 것이다. 도메인 매니저 메세지가 수신된 것으로 판별되면, 절차는 S400 단계로 진행할 것이다. S400 단계에서 디바이스 매니저는 등록 디바이스 메세지를 스토리지 장치(1000)의 도메인 매니저(1002)로 전송할 것이다. 앞서 언급된 바와 같이, 등록 디바이스 메세지는 도메인에 속한 장치의 구성들을 나타내는 정보를 포함할 것이다. 이후, 절차는 S300 단계로 진행할 것이다.
예시적인 실시예에 있어서, 도 2에서 설명된 이벤트 판별 단계들의 처리 순서가 여기에 개시된 것과 다르게 결정될 수 있음은 잘 이해될 것이다.
도 4는 본 발명의 예시적인 실시예에 따른 도 1에 도시된 스토리지 장치를 개략적으로 보여주는 블록도이다.
도 4를 참조하면, 스토리지 장치(1000)는 저장 매체(1001)를 포함할 것이다. 그한 저장 매체(1001)는 플래시 메모리들로 구성될 것이다. 스토리지 장치(1000)는 또한 크게 세 종류의 계층들, 즉, 런타임 프레임워크 계층(run-time framework layer)(1004), 서비스 라이브러리 컴포넌트 계층(service library component layer)(1005), 그리고 응용 프로그램 계층(dynamically deployed application layer)(1006)을 포함할 것이다. 그러한 계층들(1004, 1005, 1006) 중 런타임 프레임워크 계층(1004)은 동적으로 배치된 응용 모듈들(또는, 구성들)이 동작하기 위한 운영 환경(operating environment)을 나타내고, 운영체제, 가상머신, FTL 등의 모듈들로 구성된다. 서비스 라이브러리 컴포넌트 계층(1005)은 라이브러리와 유사하게 응용 프로그램이 공통적으로 사용할 수 있는 서비스 라이브러리들이 동작하는 계층을 나타낸다. 마지막으로 응용 프로그램 계층(1006)은 동적으로 배치된 응용 프로그램 모듈(또는, 구성)이 동작하는 계층을 나타낸다.
도 5는 도 4에 도시된 런타임 프레임워크 계층을 개략적으로 보여주는 도면이다.
도 5를 참조하면, 런타임 프레임워크 계층(1004)은 OS 모듈, 가상머신 모듈, 네이티브 인터페이스 모듈, 미들웨어 모듈, Security 모듈로 구성된다. OS 모듈은 스케줄링과 메모리 관리 등을 담당하는 커널과 하드웨어에 대한 표준화되고 구조화된 접근을 제공하기 위한 장치 드라이버로 구성된다. 커널로서 바람직하게는 기존의 상용/비상용 RTOS(Real-Time Operating System) 커널이 사용된다. 플래시 메모리는 물론 하드웨어 가속기 등이 장착된 경우, 장치 드라이버는 플래시 메모리 및 하드웨어 가속기를 접근하기 위한 소프트웨어를 포함할 것이다. 실시예로서 반도체 드라이브(SSD)에 장착 가능한 하드웨어 가속기로는 압축 기능과 관련된 압축기/해제기(compressor/decompressor), 인코딩 기능과 관련된 인코더/디코더(encoder/decoder), 레귤라 익스플레션(regular expression)을 조사하는 하드웨어 모듈, 데이터 스트림을 주어진 규칙에 따라 조작/교체하는 기능을 갖는 스트림 에디터(stream editor) 등이 포함될 수 있다. 아울러 반도체 드라이브(SSD)에 와이파이(WiFi)나 이더넷(ethernet), 블루투스(bluetooth) 등이 장착된 경우, TCP/IP나 블루투스 프로토콜 스택도 OS 모듈에 포함될 수 있다.
가상 머신 모듈은 JVM이나 Dalvik VM 등이 포함될 수 있다. 본 발명의 예시적인 실시예에 따른 반도체 드라이브(SSD)에서 동작하는 응용 프로그램의 코드 형식으로 JVM이나 Dalvik VM 등의 가상 머신에 의해서 사용되는 바이트 코드를 사용하는 것이 가능하다. 그 이유는 표준화된 가상 머신을 사용하는 경우 각 반도체 드라이브 마다 별도의 코드를 작성할 필요가 없으며, 가상 머신이 제공하는 각종 서비스와 라이브러리들을 활용할 수 있기 때문이다. 또한 보안성의 측면에서도 가상 머신이 훨씬 유리하다.
네이티브 인터페이스 모듈은 반도체 드라이브(SSD)에서 동작하는 응용 프로그램 코드에서 OS 모듈의 기능을 직접 사용할 수 있도록 하기 위한 모듈이다. 전술한 것처럼 가상 머신을 사용하는 경우 타겟 프로세서 상에서 직접 동작하는 코드에 비하여 성능상의 저하가 있다. Native 인터페이스 모듈은 이러한 단점을 해결하기 위하여 타겟 프로세서 상에서 직접 코드를 동작시키도록 하기 위해서 제공된다.
미들웨어 모듈은 응용 프로그램과 서비스 컴포넌트를 제어하기 위한 각종 소프트웨어로 구성된다. 예를 들면, 그러한 기능들은 응용 프로그램 및 서비스 구성의 다운로드, 응용 프로그램 및 서비스 구성의 설치, 응용 프로그램 및 서비스 구성의 링킹, 응용 프로그램 및 서비스 구성의 라이프사이클 관리를 포함할 것이다. 즉, 그러한 기능들은 수행을 시작/정지시키고, 각종 파라미터들을 설정하는 기능들을 포함할 것이다.
도 6은 본 발명의 예시적인 실시예에 따른 도메인을 개략적으로 설명하기 위한 도면이다.
도 6을 참조하면, 본 발명의 예시적인 실시예에 따른 스토리지 장치(1000)의 동작 영역이 도메인에 포함된 장치들(예를 들면, 랩탑 컴퓨터 및 모바일 폰) (2000, 3000)로 확장될 수 있다. 스토리지 장치(1000)와 랩타 컴퓨터(2000)는, 예를 들면, SATA, SAS, USB, 등과 같은 네트워크 채널을 통해 연결될 수 있으며, 이는 앞서 설명된 도메인 매니저(1002)에 의해서 관리될 것이다. 또한, 스토리지 장치(1000)와 모바일 폰(3000)은, 예를 들면, 블루투스, 와이파이, 등과 같은 네트워크 채널을 통해 연결될 수 있으며, 이는 앞서 설명된 도메인 매니저(1002)에 의해서 관리될 것이다. 도시된 바와 같이, 응용 프로그램은 하나 또는 그 보다 많은 구성들로 이루어지며, 서로 간의 연결을 통해 통신한다. 응용 구성들의 연결 관계 즉, 응용 프로그램의 구조는 XML 등을 통해 기술될 수 있다. 도메인에 속한 장치들(또는, 시스템들)은 사용자가 스토리지 장치(1000)를 가지고 이동을 할때마다 동적으로 도메인에 포함되거나 제거될 수 있다.
본 발명의 예시적인 실시예들에 의하면, 응용 프로그램의 일부 모듈이 하드웨어 구성과 관계없이 대상 스토리지 장치에서 동작할 수 있는 표준화된 운영 환경을 제공함으로써 스토리지 장치의 기능을 동적으로 확장하는 것이 가능하다. 따라서, 응용 프로그램의 벤더가 자신의 응용 프로그램에 최적화된 스토리지를 스토리지 벤더와 관계없이 직접 구현하는 것이 가능하다. 또한, 표준화된 운용 환경을 제공함으로써 응용 프로그램의 최적화 모듈을 거래할 수 있는 스토리지 응용 프로그램 시장을 창출하는 것이 가능하다.
비록 도면에는 도시되지 않았지만, 도메인 매니저는 각 장치에도 제공될 수 있다. 이러한 경우, 각 장치 및 스토리지 장치는 개별적으로 도메인을 관리하며, 도메인을 관리하는 동작은 앞서 설명된 것과 실질적으로 동일하게 수행될 것이다.
몇몇 실시예에 있어서, 스토리지 장치(1000)에는 도메인의 장치에서 실행되는 응용 프로그램의 일부 모듈이 설치될 수 있다. 이러한 경우, 스토리지 장치(1000)에 설치된 모듈은 장치의 요청에 따라 저장된 데이터를 가공하고, 가공된 결과를 장치로 제공할 수 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
1000: 스토리지 장치
2000, 3000: 장치

Claims (10)

  1. 디바이스 매니저를 갖는 제 1 장치와; 그리고
    상기 제 1 장치와 함께 도메인을 형성하도록 구성되며, 도메인 매니저를 갖는 스토리지 장치를 포함하며,
    상기 도메인 매니저는 상기 디바이스 매니저로부터 전송되는 상기 디스커버리 메세지에 응답하여 도메인 매니저 메세지를 상기 제 1 장치로 전송하고, 상기 도메인 매니저 메세지에 따라 전송되는, 상기 제 1 장치의 구성들을 알리는, 등록 디바이스 메세지에 의거하여 상기 제 1 장치를 도메인에 등록하되, 상기 제 1 장치의 등록된 구성들은 상기 스토리지 장치의 기능이 동적으로 확장되도록 상기 스토리지 장치의 저장 매체에 저장된 데이터를 처리하기 위한 응용 프로그램의 구성들로서 배치되는 스토리지 시스템.
  2. 제 1 항에 있어서,
    디바이스 매니저를 갖는 제 2 장치로부터 디스커버리 메세지가 수신될 때, 상기 도메인 매니저는 상기 제 2 장치의 디스커버리 메세지에 응답하여 도메인 매니저 메세지를 상기 제 2 장치로 전송하고, 상기 도메인 매니저 메세지에 따라 전송되는, 상기 제 2 장치의 구성들을 알리는, 등록 디바이스 메세지에 의거하여 상기 제 2 장치를 도메인에 등록하는 스토리지 시스템.
  3. 제 2 항에 있어서,
    상기 응용 프로그램의 구성들의 연결이 끊어졌을 때, 상기 도메인 매니저는 상기 끊어진 구성을 포함하는 장치에 대해서 등록 해제를 수행하고, 상기 도메인에 등록된 구성들에 의거하여 상기 응용 프로그램의 구성들을 재배치하는 스토리지 시스템.
  4. 제 2 항에 있어서,
    상기 도메인 매니저는 상기 도메인의 네트워크가 끊어졌는 지의 여부를 판별하도록 구성되는 스토리지 시스템.
  5. 제 4 항에 있어서,
    상기 도메인의 네트워크가 끊어진 것으로 판별될 때, 상기 도메인 매니저는 상기 도메인의 등록된 장치들로 얼라이브 요청 메세지를 전송하는 스토리지 시스템.
  6. 제 5 항에 있어서,
    상기 도메인 매니저는 상기 얼라이브 요청 메세지에 대한 응답이 상기 도메인에 속한 장치들로부터 소정 시간 내에 수신되지 않을 때 상기 도메인에 속한 장치들에 대해서 등록 해제를 수행하고, 상기 도메인에 등록된 구성들에 의거하여 상기 응용 프로그램의 구성들을 재배치하는 스토리지 시스템.
  7. 제 1 항에 있어서,
    상기 스토리지 장치는 상기 저장 매체로서 플래시 메모리들을 이용한 반도체 드라이브를 포함하는 스토리지 시스템.
  8. 제 1 항에 있어서,
    상기 스토리지 장치는 유선, 무선, 그리고 유무선 중 어느 하나를 통해 상기 제 1 장치와 통신하는 스토리지 시스템.
  9. 제 1 항에 있어서,
    상기 도메인에 등록된 상기 제 1 장치는 상기 응용 프로그램의 배치 대상이 되는 스토리지 시스템.
  10. 제 1 항에 있어서,
    상기 도메인 매니저는 사용자의 요청에 따라 상기 응용 프로그램에 대한 설치, 시작, 정지, 그리고 제거 동작들을 수행하도록 구성되는 스토리지 시스템.
KR1020100132645A 2010-12-22 2010-12-22 동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법 KR101702366B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100132645A KR101702366B1 (ko) 2010-12-22 2010-12-22 동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법
US13/332,764 US8904072B2 (en) 2010-12-22 2011-12-21 Storage device to extend functions dynamically and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100132645A KR101702366B1 (ko) 2010-12-22 2010-12-22 동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20120071060A true KR20120071060A (ko) 2012-07-02
KR101702366B1 KR101702366B1 (ko) 2017-02-03

Family

ID=46318435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100132645A KR101702366B1 (ko) 2010-12-22 2010-12-22 동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US8904072B2 (ko)
KR (1) KR101702366B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799482B1 (en) 2012-04-11 2014-08-05 Artemis Internet Inc. Domain policy specification and enforcement
US8990392B1 (en) * 2012-04-11 2015-03-24 NCC Group Inc. Assessing a computing resource for compliance with a computing resource policy regime specification
US9264395B1 (en) 2012-04-11 2016-02-16 Artemis Internet Inc. Discovery engine
KR20150060149A (ko) * 2013-11-26 2015-06-03 삼성전자주식회사 멀티미디어 데이터를 분산 처리하는 저장 장치 및 방법
US11256431B1 (en) 2017-01-13 2022-02-22 Lightbits Labs Ltd. Storage system having a field programmable gate array
US10678458B2 (en) * 2018-02-09 2020-06-09 Micron Technology, Inc. Data storage device idle time processing
US10489085B2 (en) 2018-02-28 2019-11-26 Micron Technology, Inc. Latency-based scheduling of command processing in data storage devices
CN113342697B (zh) * 2021-07-19 2022-08-26 英韧科技(上海)有限公司 闪存转换层仿真测试系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060070283A (ko) * 2004-12-20 2006-06-23 한국전자통신연구원 낮은 프로세스 점유율을 가지는 객체기반 스토리지 장치및 그 제어 방법
KR20090003093A (ko) * 2006-12-04 2009-01-09 한국전자통신연구원 객체 파일 시스템을 이용한 비정형 데이터 관리 방법 및장치
US20100002636A1 (en) * 2008-07-01 2010-01-07 Telefonaktiebolaget Lm Ericsson Establishing channels between a domain manager and managed nodes

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228320B2 (en) 2004-11-17 2007-06-05 Hitachi, Ltd. System and method for creating an object-level snapshot in a storage system
JP2009163516A (ja) 2008-01-07 2009-07-23 Hitachi Ltd 情報記録再生装置及びその制御方法、並びにプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060070283A (ko) * 2004-12-20 2006-06-23 한국전자통신연구원 낮은 프로세스 점유율을 가지는 객체기반 스토리지 장치및 그 제어 방법
KR20090003093A (ko) * 2006-12-04 2009-01-09 한국전자통신연구원 객체 파일 시스템을 이용한 비정형 데이터 관리 방법 및장치
US20100002636A1 (en) * 2008-07-01 2010-01-07 Telefonaktiebolaget Lm Ericsson Establishing channels between a domain manager and managed nodes

Also Published As

Publication number Publication date
US8904072B2 (en) 2014-12-02
KR101702366B1 (ko) 2017-02-03
US20120166689A1 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
RU2486579C2 (ru) Устройство терминала, имеющее основанную на виртуальной машине (vm) структуру уровней для выполнения разнородных приложений
KR101702366B1 (ko) 동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법
KR101941618B1 (ko) 운영체제 핫-스위칭 방법 및 장치 및 이동 단말
US9946873B2 (en) Methods and apparatuses for secure compilation
US8677329B2 (en) Methods and apparatuses for a compiler server
US8966026B2 (en) Systems and methods for extension of server management functions
JP2008524686A (ja) コンピュータ装置においてアプリケーションを保守する方法
US8918776B2 (en) Self-adapting software system
KR20160112757A (ko) 사용자 장치 및 그것에 대한 무결성 검증 방법
CN106066803B (zh) 应用程序运行控制的方法及装置
WO2014015732A1 (zh) 一种终端能力描述信息的生成方法及系统
US20190310874A1 (en) Driver management method and host
JP2015517159A (ja) コンピュータ・システムのハードウエア資源の使用を制御する方法と、システムとピース・オブ・コード方法
US20140351833A1 (en) Multi-computing environment operating on a single native operating system
JP6092905B2 (ja) 複数のオペレーティングシステムを動作させる方法および電子装置
US20210405987A1 (en) Dynamic driver selection based on firmware for a hardware component
CN105677481A (zh) 一种数据处理方法、系统及电子设备
CN115357295B (zh) 系统回退方法、设备及存储介质
CN102214105A (zh) 平行化快速启动方法及具有多处理单元的电子装置
JP5534801B2 (ja) ソフトウェア無線装置
KR20200118980A (ko) 이종 운영체제를 실행하는 전자 장치 및 그 방법
US20210049025A1 (en) Electronic apparatus and object sharing method thereof
JP2007293730A (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
FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 4