KR20200055898A - Low-power raid scheduling method for distributed storage application - Google Patents

Low-power raid scheduling method for distributed storage application Download PDF

Info

Publication number
KR20200055898A
KR20200055898A KR1020180139542A KR20180139542A KR20200055898A KR 20200055898 A KR20200055898 A KR 20200055898A KR 1020180139542 A KR1020180139542 A KR 1020180139542A KR 20180139542 A KR20180139542 A KR 20180139542A KR 20200055898 A KR20200055898 A KR 20200055898A
Authority
KR
South Korea
Prior art keywords
dpm
raid
mode
data
parity
Prior art date
Application number
KR1020180139542A
Other languages
Korean (ko)
Other versions
KR102197379B1 (en
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 KR1020180139542A priority Critical patent/KR102197379B1/en
Publication of KR20200055898A publication Critical patent/KR20200055898A/en
Application granted granted Critical
Publication of KR102197379B1 publication Critical patent/KR102197379B1/en

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/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • 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
    • 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

Abstract

Disclosed is a low-power redundant array of inexpensive disks (RAID) scheduling method for distributed a storage application. According to an embodiment, a RAID scheduling method includes the steps of: receiving a chunk of data from an initiator server, by the distributed storage application, generating a parity block using the CPU on the target storage server, and separately stripping the data block using an SSD and the parity block using an HDD; and converting the power mode of the SDD and the HDD, by an energy-aware encoding scheduler, from an active mode to an idle mode or a standby mode.

Description

분산스토리지 어플리케이션의 저전력 RAID 스케쥴링 기법{LOW-POWER RAID SCHEDULING METHOD FOR DISTRIBUTED STORAGE APPLICATION}LOW-POWER RAID SCHEDULING METHOD FOR DISTRIBUTED STORAGE APPLICATION}

아래의 실시예들은 분산스토리지 어플리케이션의 저전력 RAID 스케쥴링 기법에 관한 것으로, 더욱 상세하게는 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키기 위한 전력 모드 스케쥴링 기법에 관한 것이다. The following embodiments relate to a low-power RAID scheduling technique for a distributed storage application, and more particularly, to a power mode scheduling technique for reducing energy consumption in a distributed storage application.

스토리지 어플리케이션 개발의 최근 동향은 연구자들이 에너지 소비 관점에서 분산형 스토리지 시스템의 돌파구를 만들어야 할 필요성을 제시한다. 분산형 스토리지 어플리케이션(분산스토리지 어플리케이션)에서, RAID(Redundant Array of Inexpensive Disks)는 데이터와 패리티 블록을 스토리지 노드에 스트라이프(stripe) 해야 하기 때문에 높은 에너지 소모를 요구한다. RAID는 노드 실패(node failures)에 강인하도록 스토리지 어플리케이션에 권한을 부여한다. 우선, RAID는 파일 시스템 레벨에서 데이터 청크를 데이터 블록으로 분할한다. 이후, RAID는 데이터 블록으로부터 이중(redundant) 데이터 블록을 생성한다. 마지막으로, RAID는 커널 레벨에서 동시적인 물리적 쓰기를 수행한다. The recent trend in storage application development suggests that researchers need to make a breakthrough in distributed storage systems in terms of energy consumption. In distributed storage applications (distributed storage applications), RAID (Redundant Array of Inexpensive Disks) requires high energy consumption because data and parity blocks must be striped to the storage node. RAID empowers storage applications to tolerate node failures. First, RAID divides a chunk of data into blocks of data at the file system level. Then, RAID creates a redundant data block from the data block. Finally, RAID performs concurrent physical writes at the kernel level.

표 1은 분산형 스토리지 어플리케이션을 위해 개발된 스케쥴링 방법들 간의 비교를 나타낸다. Table 1 shows a comparison between scheduling methods developed for distributed storage applications.

[표 1][Table 1]

Figure pat00001
Figure pat00001

표 1에는, 이레이저 코드(erasure codes), 스토리지 네트워크(storage network), 디스크 배열(disk array) 및 동적 전력 관리(Dynamic Power Management, DPM)의 I/O 레벨(level) 및 DPM 프로세스(process)의 관점에서, 본 실시예에서 제안하는 스토리지 어플리케이션의 내용이 기존 스토리지 어플리케이션의 내용과 비교되어 있다. Table 1 shows the I / O levels and DPM processes of erasure codes, storage networks, disk arrays and dynamic power management (DPM). From the perspective of, the contents of the storage application proposed in this embodiment are compared with the contents of the existing storage application.

기존 Son 등(비특허문헌 1), Zhu 등(비특허문헌 2), Pirahandeh등(비특허문헌 3)의 연구에서, DPM 스케쥴러는 단일한 논리적 I/O 연산 또는 다수의 논리적 I/O 연산에 적용된다. 기존 연구에서는 오프라인(off-line)과 온라인(on-line)의 두 가지 유형의 DPM을 제시했다. 오프라인 DPM은 사전에 스토리지 노드의 유휴 기간(idle period)의 길이를 알고 있는 반면, 온라인 DPM은 그렇지 않다. 또한, DPM 프로세스 유형의 관점에서, 기존 Son 등(비특허문헌 1) 및 Pirahandeh등(비특허문헌 3)에서 제안된 DPM 스케쥴러들은 온라인 과정을 사용하고, Zhu 등(비특허문헌 2)에서 제안된 DPM 스케쥴러는 온라인 또는 오프라인 과정을 사용한다. In the existing studies of Son et al. (Non-patent document 1), Zhu et al. (Non-patent document 2), and Pirahandeh et al. (Non-patent document 3), the DPM scheduler is used for a single logical I / O operation or multiple logical I / O operations. Applies. Previous studies suggested two types of DPM: off-line and on-line. Offline DPM knows the length of the storage node's idle period in advance, whereas online DPM does not. In addition, from the perspective of the DPM process type, the existing DPM schedulers proposed by Son et al. (Non-patent document 1) and Pirahandeh et al. (Non-patent document 3) use an online process, and proposed by Zhu et al. (Non-patent document 2). The DPM scheduler uses online or offline courses.

Woo, S.S., Kandemir, M.: Runtime system support for softwareguided disk power management. In: Processing of the Cluster Computing, pp. 139-148 (2007) Woo, S.S., Kandemir, M .: Runtime system support for softwareguided disk power management. In: Processing of the Cluster Computing, pp. 139-148 (2007) . Zhu, Q., David, F.M., Devaraj, C.F., Li, Z., Zhou, Y., Cao, P.: Reducing energy consumption of disk storage using power-aware cache management. In: Processing of the IEEE on Software(2004). Zhu, Q., David, F.M., Devaraj, C.F., Li, Z., Zhou, Y., Cao, P .: Reducing energy consumption of disk storage using power-aware cache management. In: Processing of the IEEE on Software (2004) Pirahandeh, M., Kim, H.: Reliable energy-aware SSD based RAID-6 system. In: Proceedings of the FAST Conference in Storage Systems, San Jose, USA (2012) Pirahandeh, M., Kim, H .: Reliable energy-aware SSD based RAID-6 system. In: Proceedings of the FAST Conference in Storage Systems, San Jose, USA (2012)

실시예들은 분산스토리지 어플리케이션의 저전력 RAID 스케쥴링 기법에 관하여 기술하며, 보다 구체적으로 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키기 위한 전력 모드 스케쥴링 기술을 제공한다. Embodiments describe a low-power RAID scheduling technique for distributed storage applications, and more specifically, provide a power mode scheduling technique for reducing energy consumption in distributed storage applications.

실시예들은 인코더의 경우 높은 전송 속도를 이용하기 위해 온라인 DPM 과정을 사용하여 물리적 데이터 블록들을 파이프라이닝(pipelines)하고, 패리티 블록들은 오프라인 DPM 과정을 사용하여 이후에 파이프라이닝 되게 함으로써, 온라인과 오프라인 DPM 방식을 모두 사용하여 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키는 분산스토리지 어플리케이션의 저전력 RAID 스케쥴링 기법을 제공하는데 있다.The embodiments pipeline physical data blocks using an online DPM process to utilize a high transmission rate in the case of an encoder, and parity blocks are subsequently pipelined using an offline DPM process, thereby enabling online and offline DPM. It is to provide a low-power RAID scheduling technique for distributed storage applications that reduces energy consumption in distributed storage applications by using all methods.

실시예들은 스토리지 어플리케이션이 어떤 I/O 연산도 수행하지 않고, 스토리지 노드의 전력 모드를 활성 상태에서 유휴 상태 또는 예비 상태로 전환하도록 함으로써, 에너지 소비를 감소시킬 수 있는 분산스토리지 어플리케이션의 저전력 RAID 스케쥴링 기법을 제공하는데 있다. Embodiments are low-power RAID scheduling scheme of a distributed storage application that can reduce energy consumption by allowing the storage application to switch the power mode of the storage node from an active state to an idle state or a standby state without performing any I / O operations. To provide.

일 실시예에 따른 RAID(Redundant Array of Inexpensive Disks) 스케쥴링 방법은, 분산형 스토리지 어플리케이션은 이니시에이터 서버로부터 데이터 청크를 전달 받아, 목표 스토리지 서버에서 CPU를 사용하여 패리티 블록을 생성하고, SSD를 사용하는 데이터 블록과 HDD를 사용하는 상기 패리티 블록을 개별적으로 스트라이프(stripe)하는 단계; 및 에너지 인식 인코딩 스케쥴러는 상기 SDD 및 상기 HDD의 전력 모드를 활성 모드에서 유휴 모드 또는 대기 모드로 전환시키는 단계를 포함하여 이루어질 수 있다. According to an exemplary embodiment, a RAID (Redundant Array of Inexpensive Disks) scheduling method, a distributed storage application receives a data chunk from an initiator server, generates a parity block using a CPU in a target storage server, and uses SSD data Separately striping the parity blocks using blocks and HDDs; And the energy-aware encoding scheduler comprising switching the power modes of the SDD and the HDD from an active mode to an idle mode or a standby mode.

에너지 인식 인코딩 스케쥴러는 상기 SDD 및 상기 HDD의 전력 모드를 활성 모드에서 유휴 모드 또는 대기 모드로 전환시키는 단계는, 온라인 DPM(Dynamic Power Management) 방법을 사용하여 물리적 상기 데이터 블록들을 파이프라이닝(pipelines)하는 단계; 및 오프라인 DPM 방법을 사용하여 상기 패리티 블록들을 파이프라이닝하는 단계를 포함하고, 상기 온라인 DPM 방법과 상기 오프라인 DPM 방법을 사용하여 분산형 스토리지 어플리케이션의 에너지 소비를 감소시킬 수 있다. The energy-aware encoding scheduler converts the power modes of the SDD and the HDD from an active mode to an idle mode or a standby mode, and pipes the physical data blocks using an online dynamic power management (DPM) method. step; And pipelining the parity blocks using an offline DPM method, and reducing energy consumption of the distributed storage application using the online DPM method and the offline DPM method.

다른 실시예에 따른 RAID(Redundant Array of Inexpensive Disks) 스케쥴링 시스템은, SSD를 사용하는 데이터 블록과 HDD를 사용하는 패리티 블록을 개별적으로 스트라이프(stripe)하는 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키기 위해, 상기 SDD 및 상기 HDD의 전력 모드를 활성 모드에서 유휴 모드 또는 대기 모드로 전환시키는 에너지 인식 인코딩 스케쥴러를 포함하여 이루어질 수 있다. According to another embodiment of the RAID (Redundant Array of Inexpensive Disks) scheduling system, in order to reduce energy consumption of a distributed storage application that separately stripes a data block using an SSD and a parity block using an HDD, And an energy-aware encoding scheduler that switches the power mode of the SDD and the HDD from an active mode to an idle mode or a standby mode.

상기 에너지 인식 인코딩 스케쥴러는, 물리적 상기 데이터 블록들을 파이프라이닝(pipelines)하는 온라인 DPM(Dynamic Power Management)부; 및 상기 패리티 블록들을 파이프라이닝하는 오프라인 DPM부를 포함하고, 상기 온라인 DPM부와 상기 오프라인 DPM부를 사용하여 분산형 스토리지 어플리케이션의 에너지 소비를 감소시킬 수 있다. The energy-aware encoding scheduler includes: an online dynamic power management (DPM) unit that physically pipelines the data blocks; And an offline DPM unit for pipelining the parity blocks, and using the online DPM unit and the offline DPM unit to reduce energy consumption of a distributed storage application.

또한, 이니시에이터 서버로부터 데이터 청크를 전달 받아, 목표 스토리지 서버에서 CPU를 사용하여 상기 패리티 블록을 생성하고, 상기 SSD를 사용하는 상기 데이터 블록과 상기 HDD를 사용하는 상기 패리티 블록을 개별적으로 스트라이프(stripe)하는 분산형 스토리지 어플리케이션을 더 포함할 수 있다. In addition, a data chunk is received from an initiator server, and the target storage server generates a parity block using a CPU, and separately stripes the data block using the SSD and the parity block using the HDD. It may further include a distributed storage application.

실시예들에 따르면 인코더의 경우 높은 전송 속도를 이용하기 위해 온라인 DPM 과정을 사용하여 물리적 데이터 블록들을 파이프라이닝(pipelines)하고, 패리티 블록들은 오프라인 DPM 과정을 사용하여 이후에 파이프라이닝 되게 함으로써, 온라인과 오프라인 DPM 방식을 모두 사용하여 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키는 분산스토리지 어플리케이션의 저전력 RAID 스케쥴링 기법을 제공할 수 있다.According to embodiments, in the case of an encoder, the physical data blocks are pipelined using an online DPM process to use a high transmission rate, and the parity blocks are subsequently pipelined using an offline DPM process, thereby allowing online and It is possible to provide a low-power RAID scheduling technique for distributed storage applications that reduces energy consumption of distributed storage applications by using all offline DPM methods.

실시예들에 따르면 스토리지 어플리케이션이 어떤 I/O 연산도 수행하지 않고, 스토리지 노드의 전력 모드를 활성 상태에서 유휴 상태 또는 예비 상태로 전환하도록 함으로써, 에너지 소비를 감소시킬 수 있는 분산스토리지 어플리케이션의 저전력 RAID 스케쥴링 기법을 제공할 수 있다. According to embodiments, the storage application does not perform any I / O operation, and the power mode of the storage node can be switched from an active state to an idle state or a standby state, thereby reducing energy consumption. Scheduling techniques can be provided.

도 1은 종래의 분산형 스토리지 어플리케이션에서 DPM을 기반으로 하는 스케쥴링 방법을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 RAID 스케쥴링 방법을 나타내는 흐름도이다.
도 3은 일 실시예에 따른 RAID 스케쥴링 시스템을 나타내는 블록도이다.
도 4는 일 실시예에 따른 분산형 스토리지 어플리케이션에서 DPM를 기반으로 하는 RAID 스케쥴링 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 인코딩 전력 관리 모델의 예를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 디코딩 전력 관리 모델의 예를 설명하기 위한 도면이다.
1 is a diagram illustrating a DPM-based scheduling method in a conventional distributed storage application.
2 is a flowchart illustrating a RAID scheduling method according to an embodiment.
3 is a block diagram illustrating a RAID scheduling system according to an embodiment.
4 is a diagram for explaining a RAID scheduling method based on DPM in a distributed storage application according to an embodiment.
5 is a diagram illustrating an example of an encoding power management model according to an embodiment.
6 is a diagram for explaining an example of a decoding power management model according to an embodiment.

이하, 첨부된 도면을 참조하여 실시예들을 설명한다. 그러나, 기술되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명되는 실시예들에 의하여 한정되는 것은 아니다. 또한, 여러 실시예들은 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.Hereinafter, embodiments will be described with reference to the accompanying drawings. However, the described embodiments may be modified in various other forms, and the scope of the present invention is not limited by the embodiments described below. In addition, various embodiments are provided to more fully describe the present invention to those skilled in the art. The shape and size of elements in the drawings may be exaggerated for a more clear description.

아래의 실시예에서는 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키기 위한 전력 모드 스케쥴링을 제안한다. 제안하는 분산형 스토리지 어플리케이션은 이니시에이터 서버(initiator sever), 목표 스토리지 서버(target storage server) 및 iSCSI 고속 스토리지 네트워크로 구성될 수 있다. 제안하는 분산형 스토리지 어플리케이션은 CPU를 사용하여 패리티를 생성하며, 목표 스토리지 서버에서 패리티와 데이터 블록을 스트라이프(stripe)할 수 있다. 에너지 인식 인코딩 스케쥴러는 스토리지 어플리케이션이 어떤 I/O 연산도 수행하지 않고, 스토리지 노드의 전력 모드를 활성 상태에서 유휴 상태 또는 예비 상태로 전환할 수 있게 한다. In the following embodiment, power mode scheduling for reducing energy consumption in distributed storage applications is proposed. The proposed distributed storage application may be composed of an initiator sever, a target storage server, and an iSCSI high-speed storage network. The proposed distributed storage application uses a CPU to generate parity, and can strip parity and data blocks on the target storage server. The energy aware encoding scheduler allows the storage application to switch the power mode of the storage node from active to idle or redundant without performing any I / O operations.

신뢰성을 보장하도록 설계된 분산형 RAID 스토리지 어플리케이션들은 노드 실패 허용(node fault tolerance)을 제공하기 위해 다양한 이레이저 코딩(erasure coding) 방식을 사용하여 "패리티 노드(parity nodes)"라고 불리는 코딩 데이터 노드를 생성한다. Reed-Solomon(RS) 코드, 단일 패리티 확인(Single Parity Check, SPC) 코드와 같은 다양한 유형의 이레이저 코드가 있으며, 이들은 코딩 방식에 의해 정의된다. 분산형 RAID 스토리지 어플리케이션에서, 워크로드(workload) D가 k 개의 데이터 청크로 구성, 즉

Figure pat00002
라고 가정한다. i 번째 데이터 청크는 nw 개의 데이터 블록으로 구성되며,
Figure pat00003
이다. i 번째 패리티 청크는 패리티 블록들로 구성되며,
Figure pat00004
이다. 여기서, mw는 스트라이프의 개수를 나타낸다. Distributed RAID storage applications designed to ensure reliability create coded data nodes called "parity nodes" using various erasure coding methods to provide node fault tolerance. do. There are various types of erasure codes such as Reed-Solomon (RS) codes and Single Parity Check (SPC) codes, which are defined by coding schemes. In a distributed RAID storage application, workload D consists of k data chunks, i.e.
Figure pat00002
Is assumed. The i th data chunk consists of nw data blocks,
Figure pat00003
to be. The i-th parity chunk consists of parity blocks,
Figure pat00004
to be. Here, mw represents the number of stripes.

표 2는 코시(Cauchy) RS 코드를 사용하는 패리티 생성자(parity generator)의 슈도 코드(pseudo code)를 나타낸다. Table 2 shows a pseudo code of a parity generator using a Cauchy RS code.

[표 2][Table 2]

Figure pat00005
Figure pat00005

이레이저 코드에서,

Figure pat00006
라고 가정한다. 여기서, 생성자 행렬(generator matrix)
Figure pat00007
wn x wn 코드 워드를 갖는 항등 행렬 I 및 m x n 코딩 블록을 갖는 코딩 행렬 X =
Figure pat00008
로 구성된다. XOR 연산은 스트라이프의 데이터 코드 워드들 간에 수행된다. CPU 코어를 사용하는 분산형 스토리지 어플리케이션(SA1, SA2, SA4 및 SA5)에서, i 번째 스트라이프에서 패리티 코드 워드 Pi를 생성하기 위한 XOR 연산의 시퀀스는 다음 식과 같이 나타낼 수 있다.In this laser code,
Figure pat00006
Is assumed. Here, the generator matrix
Figure pat00007
Is the identity matrix I with wn x wn code words and the coding matrix X = with m x n coding blocks
Figure pat00008
It consists of. The XOR operation is performed between stripes of data code words. In a distributed storage application (SA1, SA2, SA4, and SA5) using a CPU core, a sequence of XOR operations for generating the parity code word P i in the i-th stripe can be expressed as the following equation.

[수학식 1][Equation 1]

Figure pat00009
Figure pat00009

먼저, 분산형 스토리지 어플리케이션에 대한 기존의 에너지 인식 I/O 스케쥴링 방법에 대해 설명한다. First, an existing energy-aware I / O scheduling method for a distributed storage application will be described.

도 1은 종래의 분산형 스토리지 어플리케이션에서 DPM을 기반으로 하는 스케쥴링 방법을 설명하기 위한 도면이다. 1 is a diagram illustrating a DPM-based scheduling method in a conventional distributed storage application.

도 1을 참조하면, 종래의 분산형 스토리지 어플리케이션에서 DPM을 기반으로 한 논리적 쓰기 스케쥴링 방법(k=2, n=2, m=1, w=2)을 나타내는 것으로, 두 개의 슬레이브 데이터 노드(두 개의 SSD) 및 하나의 슬레이브 패리티 노드(하나의 HDD)를 사용하는 기존의 RAID 5 스토리지 어플리케이션에서, 분산형 스토리지 어플리케이션에 대한 기존의 에너지 인식 I/O 스케쥴링 방법의 순서도(sequence diagram)를 보여준다. 기존의 RAID 레벨 5의 논리적 쓰기 연산 지연(Logical Write, LW)은 다음 식과 같이 나타낼 수 있다.Referring to FIG. 1, a logical write scheduling method (k = 2, n = 2, m = 1, w = 2) based on DPM in a conventional distributed storage application is shown, and two slave data nodes (two In a conventional RAID 5 storage application using one SSD) and one slave parity node (one HDD), a sequence diagram of an existing energy-aware I / O scheduling method for a distributed storage application is shown. The logical write operation delay (LW) of the existing RAID level 5 can be expressed as the following equation.

[수학식 2][Equation 2]

Figure pat00010
Figure pat00010

표 3은 표기법 목록(notation list)을 나타낸다. Table 3 shows the notation list.

[표 3][Table 3]

Figure pat00011
Figure pat00011

표 3에 나타난 바와 같이, Spin up, Ch, ABC, ABR, XOR, SR, PW, Spin dawn 각각은 디스크 전력 모드를 대기(standby)/유휴(idle) 모드에서 활성(active) 모드로 바꾸는 것, 데이터를 청크로 분할하는 것, 블록을 메인 메모리에 할당하는 것, 블록을 레지스터에 할당하거나 레지스터로부터 할당받는 것, 패리티 계산 스케쥴러(parity computing scheduler)를 사용해 XOR 연산을 수행하는 것, 시스템 커널을 사용해 메인 메모리에서 블록을 읽는 것, RAID 장치 드라이버를 사용해 블록을 디스크에 물리적으로 쓰는 것 및 디스크 전력 모드를 활성 모드에서 대기/유휴 모드로 바꾸는 것에 의한 지연을 나타낸다. As shown in Table 3, Spin up, Ch, ABC, ABR, XOR, SR, PW, and Spin dawn each change the disk power mode from standby / idle mode to active mode, Splitting data into chunks, allocating blocks to main memory, allocating blocks from or to registers, performing XOR operations using the parity computing scheduler, and using the system kernel Denotes delays by reading blocks from main memory, physically writing blocks to disk using a RAID device driver, and switching disk power mode from active mode to standby / idle mode.

목표 스토리지 서버에 대한 쓰기 완성(Write Completion,WC) 반응 이후에 다음 명령이 전송될 수 있기 때문에, LW 지연은 iSCSI 이니시에이터(initiator)의 명령 및 명령 완성까지의 반응 간의 경과 시간(elapsed time, twc)으로서 정의될 수 있다. 마지막으로, 논리적 쓰기는 노드 배열의 스토리지 장치 유형에 관계없이 온라인 또는 오프라인으로 처리될 수 있다.Since the next command can be sent after a Write Completion (WC) response to the target storage server, the LW delay is the elapsed time between the command of the iSCSI initiator and the response to completion of the command (t wc) ). Finally, logical writes can be handled online or offline regardless of the type of storage device in the node array.

도 2는 일 실시예에 따른 RAID 스케쥴링 방법을 나타내는 흐름도이다. 2 is a flowchart illustrating a RAID scheduling method according to an embodiment.

도 2를 참조하면, 일 실시예에 따른 RAID 스케쥴링 방법은, 분산형 스토리지 어플리케이션은 이니시에이터 서버로부터 데이터 청크를 전달 받아, 목표 스토리지 서버에서 CPU를 사용하여 패리티 블록을 생성하고, SSD를 사용하는 데이터 블록과 HDD를 사용하는 패리티 블록을 개별적으로 스트라이프(stripe)하는 단계(S110), 및 에너지 인식 인코딩 스케쥴러는 SDD 및 HDD의 전력 모드를 활성 모드에서 유휴 모드 또는 대기 모드로 전환시키는 단계(S120)를 포함하여 이루어질 수 있다. Referring to FIG. 2, in a RAID scheduling method according to an embodiment, a distributed storage application receives a data chunk from an initiator server, generates a parity block using a CPU in a target storage server, and a data block using an SSD And striping the parity blocks using the HDD separately (S110), and the energy-aware encoding scheduler converting the power mode of the SDD and HDD from an active mode to an idle mode or a standby mode (S120). Can be achieved.

에너지 인식 인코딩 스케쥴러는 SDD 및 HDD의 전력 모드를 활성 모드에서 유휴 모드 또는 대기 모드로 전환시키는 단계(S120)는, 온라인 DPM(Dynamic Power Management) 방법을 사용하여 물리적 데이터 블록들을 파이프라이닝(pipelines)하는 단계(S121), 및 오프라인 DPM 방법을 사용하여 패리티 블록들을 파이프라이닝하는 단계(S122)를 포함하고, 온라인 DPM 방법과 오프라인 DPM 방법을 사용하여 분산형 스토리지 어플리케이션의 에너지 소비를 감소시킬 수 있다. The energy-aware encoding scheduler converts the power modes of the SDD and HDD from an active mode to an idle mode or a standby mode (S120), by using an online dynamic power management (DPM) method to pipeline physical data blocks. Step S121, and pipelining the parity blocks using an offline DPM method (S122), may reduce energy consumption of the distributed storage application using an online DPM method and an offline DPM method.

일 실시예에 따른 RAID 스케쥴링 방법은 아래에서 예를 들어 설명하기로 한다. A RAID scheduling method according to an embodiment will be described as an example below.

동적 전력 관리(Dynamic Power Management, DPM) 방법은 실행 시간(runtime)(온라인, online) 또는 그 전(오프라인, offline)에 이용 가능한 정보에 기반해서 전력 모드와 관련된(power-mode-related) 결정을 내린다. 본 실시예들은 온라인과 오프라인 DPM 방식을 모두 사용하여 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키는 에너지 인식 RAID 스케쥴링 방법을 제공한다. 제안하는 에너지 인식 RAID(Redundant Array of Inexpensive Disk) 스케쥴링 방법은 스토리지 어플리케이션이 어떠한 물리적 I/O 연산도 수행하지 않고 데이터와 패리티 블록을 개별적으로 스트라이프하며, 전력 모드를 활성(active) 모드에서 유휴(idle) 모드 또는 예비(standby) 모드로 전환한다는 점에서 기존의 RAID 방법들과 차이가 있다. Dynamic Power Management (DPM) methods make power-mode-related decisions based on information available at run time (online, online) or before (offline, offline). Get off. The present embodiments provide an energy-aware RAID scheduling method that reduces energy consumption of distributed storage applications using both online and offline DPM methods. The proposed Energy-Aware Redundant Array of Inexpensive Disk (RAID) scheduling method allows the storage application to stripe data and parity blocks individually without performing any physical I / O operations, and power mode is idle in active mode. ) It is different from the existing RAID methods in that it switches to the standby mode or standby mode.

일 실시예에 따른 RAID 스케쥴링 방법은 일 실시예에 따른 RAID 스케쥴링 시스템을 통해 보다 상세히 설명할 수 있다. The RAID scheduling method according to an embodiment may be described in more detail through a RAID scheduling system according to an embodiment.

도 3은 일 실시예에 따른 RAID 스케쥴링 시스템을 나타내는 블록도이다. 3 is a block diagram illustrating a RAID scheduling system according to an embodiment.

도 3을 참조하면, 일 실시예에 따른 RAID 스케쥴링 시스템(100)은 에너지 인식 인코딩 스케쥴러(120)를 포함하여 이루어질 수 있으며, 에너지 인식 인코딩 스케쥴러(120)는 온라인 DPM부(121)와 오프라인 DPM부(122)를 포함하여 이루어질 수 있다. 실시예에 따라 RAID 스케쥴링 시스템(100)은 분산형 스토리지 어플리케이션(110)을 더 포함할 수 있다. Referring to FIG. 3, the RAID scheduling system 100 according to an embodiment may include an energy-aware encoding scheduler 120, and the energy-aware encoding scheduler 120 includes an online DPM unit 121 and an offline DPM unit It can be made, including 122. According to an embodiment, the RAID scheduling system 100 may further include a distributed storage application 110.

단계(S110)에서, 분산형 스토리지 어플리케이션(110)은 이니시에이터 서버로부터 데이터 청크를 전달 받아, 목표 스토리지 서버에서 CPU를 사용하여 패리티 블록을 생성하고, SSD를 사용하는 데이터 블록과 HDD를 사용하는 패리티 블록을 개별적으로 스트라이프(stripe)할 수 있다. In step S110, the distributed storage application 110 receives the data chunk from the initiator server, generates a parity block using a CPU in the target storage server, and a data block using an SSD and a parity block using an HDD Can be striped individually.

단계(S120)에서, 에너지 인식 인코딩 스케쥴러(120)는 SDD 및 HDD의 전력 모드를 활성 모드에서 유휴 모드 또는 대기 모드로 전환시킬 수 있다. In step S120, the energy-aware encoding scheduler 120 may switch the power modes of the SDD and HDD from an active mode to an idle mode or a standby mode.

여기서, 에너지 인식 인코딩 스케쥴러(120)는 온라인 DPM부(121)와 오프라인 DPM부(122)를 포함하여 이루어질 수 있다. Here, the energy-aware encoding scheduler 120 may include an online DPM unit 121 and an offline DPM unit 122.

단계(S121)에서, 온라인 DPM부(121)는 온라인 DPM 방법을 사용하여 물리적 데이터 블록들을 파이프라이닝할 수 있다. In step S121, the online DPM unit 121 may pipelin the physical data blocks using the online DPM method.

단계(S122)에서, 오프라인 DPM부(122)는 오프라인 DPM 방법을 사용하여 패리티 블록들을 파이프라이닝할 수 있다.In step S122, the offline DPM unit 122 may pipeline the parity blocks using the offline DPM method.

본 실시예에서 제안하는 스토리지 어플리케이션의 경우, DPM 스케쥴러는 스토리지 시스템이 어떠한 I/O 연산도 수행하지 않고 전력 모드를 저전력 모드로 바꿈으로써 스토리지 장치의 효율적인 사용을 가능하게 한다. In the case of the storage application proposed in this embodiment, the DPM scheduler enables efficient use of the storage device by changing the power mode to a low power mode without performing any I / O operations by the storage system.

이러한 하이브리드 스토리지 어플리케이션은 노드 배열 시 SSD와 HHD의 조합을 통해 이루어진다. 제안하는 분산형 스토리지 어플리케이션(110)에서, 인코더는 높은 전송 속도를 이용하기 위해 온라인 DPM 과정을 사용하여 물리적 데이터 블록들을 파이프라이닝하는(pipelines) 반면, 패리티 블록들은 오프라인 DPM 과정을 사용하여 후에 파이프라이닝 된다. 이는 제안하는 분산형 스토리지 어플리케이션(110)이 SSD를 사용하는 데이터 노드와 HDD를 사용하는 패리티 노드에 개별적인 DPM 방법을 수행하도록 할 것이다.This hybrid storage application is achieved through a combination of SSD and HHD when arranging nodes. In the proposed distributed storage application 110, the encoder pipelines physical data blocks using an online DPM process to utilize a high transmission rate, while parity blocks pipeline later using an offline DPM process. do. This will allow the proposed distributed storage application 110 to perform individual DPM methods on data nodes using SSDs and parity nodes using HDDs.

기존의 DPM 스케쥴러들은 단일한 논리적 I/O 연산 또는 다수의 논리적 I/O 연산(워크로드, workload)에 적용되는 반면, 제안하는 DPM 스케쥴러는 물리적 I/O 연산에 적용된다. 실험 결과, 제안하는 스토리지 어플리케이션이 기존 스토리지 어플리케이션과 비교했을 때 평균적인 에너지 소비가 26-36% 감소되는 것을 확인하였다. Existing DPM schedulers are applied to a single logical I / O operation or multiple logical I / O operations (workload, workload), while the proposed DPM scheduler is applied to a physical I / O operation. As a result of the experiment, it was confirmed that the average energy consumption is reduced by 26-36% when the proposed storage application is compared with the existing storage application.

아래에서 일 실시예에 따른 RAID 스케쥴링 방법 및 시스템을 보다 상세히 설명한다. Hereinafter, a RAID scheduling method and a system according to an embodiment will be described in more detail.

먼저, 일 실시예들에 따른 분산형 스토리지 어플리케이션에 대해 설명한다. First, a distributed storage application according to one embodiment will be described.

제안하는 에너지 인식 분산형 스토리지 어플리케이션(간단히, 분산형 스토리지 어플리케이션 또는 스토리지 어플리케이션이라 할 수 있음.)(SA3)은 이니시에이터 서버, 목표 스토리지 서버 및 iSCSI 고속 스토리지 네트워크를 포함하여 구성될 수 있고, 분산형 스토리지 시스템의 에너지 소비를 감소시킬 수 있다. The proposed energy-aware distributed storage application (simply referred to as a distributed storage application or storage application) (SA3) can be configured including an initiator server, a target storage server, and an iSCSI high-speed storage network, and distributed storage It can reduce the energy consumption of the system.

이니시에이터 서버에서, 데이터 청킹 모듈(data chunking module)은 파일을 다수의 데이터 청크로 분류하고, 이 데이터 청크들은 스토리지 네트워크를 거쳐 iSCI 프로토콜을 사용하여 목표 스토리지 서버로 전송된다. In the initiator server, a data chunking module classifies the file into a number of data chunks, which are then transferred over the storage network to the target storage server using the iSCI protocol.

목표 스토리지 서버에서, 하나의 데이터 청크는 CPU 메인 메모리에 저장되는 다수의 데이터 블록으로 분류된다. 패리티 생성자(parity generator)는 패리티 계산 함수(parity compute function) 및 메모리 할당자 함수(memory allocator function)를 사용하여 패리티 블록들을 생성한다. In the target storage server, one chunk of data is divided into a number of data blocks stored in the CPU main memory. The parity generator generates parity blocks using a parity compute function and a memory allocator function.

목표 스토리지 서버 내에 패리티 생성자를 둠으로써, 제안하는 분산형 스토리지 어플리케이션의 I/O 성능을 기존 스토리지 어플리케이션의 I/O 성능과 타당하게 비교할 수 있다. 그 이유는 기존의 모든 스토리지 어플리케이션(SA1, SA2, SA4, SA5)에서는 패리티 생성자가 동일한 스토리지 서버에 존재했기 때문이다. By placing a parity generator in the target storage server, the I / O performance of the proposed distributed storage application can be compared with the I / O performance of the existing storage application. The reason is that in all the existing storage applications (SA1, SA2, SA4, SA5), the parity generator was present in the same storage server.

제안하는 에너지 인식 인코딩 스케쥴러는 전력 모드 전환 함수(power-mode-switching function) 및 디스크(SSD 및 HHD) 에너지 프로파일러(energy profiler)를 사용하여 데이터 디스크의 전력 모드를 전환한다. 에너지 인식 인코딩 스케쥴러는 활성 모드 및 유휴 모드 사이에서 SSD 전력 모드를 전환하거나 활성 모드 및 대기 모드 사이에서 HDD 전력 모드를 전환함으로써 전력 소비를 감소시키는 데 사용된다. The proposed energy-aware encoding scheduler uses a power-mode-switching function and a disk (SSD and HHD) energy profiler to switch the power mode of the data disk. The energy aware encoding scheduler is used to reduce power consumption by switching the SSD power mode between active and idle modes, or by switching the HDD power mode between active and standby modes.

마지막으로, I/O 리디렉터(redirector)는 에너지 인식 스케쥴러 방식을 사용하여 데이터와 패리티 블록을 하이브리드 스토리지에 스트라이프(write)할 수 있다.Finally, the I / O redirector can write data and parity blocks to hybrid storage using an energy-aware scheduler method.

도 4는 일 실시예에 따른 분산형 스토리지 어플리케이션에서 DPM를 기반으로 하는 RAID 스케쥴링 방법을 설명하기 위한 도면이다. 4 is a diagram for explaining a RAID scheduling method based on DPM in a distributed storage application according to an embodiment.

도 4를 참조하면, 스토리지 어플리케이션(SA3)의 DPM 기반 논리적 쓰기 RAID 스케쥴링 방법(k=1, n=2, m=1, w=2)에 관한 것으로, 두 개의 데이터 노드(두 개의 SSD) 및 하나의 패리티 노드(하나의 HHD)를 사용할 수 있다. Referring to FIG. 4, a DPM-based logical write RAID scheduling method (k = 1, n = 2, m = 1, w = 2) of a storage application (SA3) relates to two data nodes (two SSDs) and One parity node (one HHD) can be used.

제안하는 분산형 스토리지 어플리케이션의 논리적 쓰기(logical write) 연산 지연 LW는 다음 식과 같이 정의될 수 있다. The logical write operation delay LW of the proposed distributed storage application may be defined as the following equation.

[수학식 3][Equation 3]

Figure pat00012
Figure pat00012

[수학식 4][Equation 4]

Figure pat00013
Figure pat00013

여기서,

Figure pat00014
지연은 iSCSI 이니시에이터(initiator)의 명령과 데이터 완성 반응 간의 경과 시간(
Figure pat00015
)으로 정의될 수 있다. 다음 명령이 목표 스토리지 서버의 데이터 쓰기 완성(Data Write Completion, DWC) 반응 이후에 전송될 수 있기 때문에,
Figure pat00016
지연은 데이터 완성 반응 명령과 패리티 완성 반응 간의 경과 시간(
Figure pat00017
)으로 정의될 수 있다.here,
Figure pat00014
The delay is the elapsed time between the command of the iSCSI initiator and the data completion reaction (
Figure pat00015
). Because the following command can be sent after the Data Write Completion (DWC) response of the target storage server,
Figure pat00016
The delay is the elapsed time between the data completion response command and parity completion response (
Figure pat00017
).

아래에서는 에너지 인식 분산형 RAID 디코더(Energy-aware distributed RAID decoder)에 대해 설명한다. Hereinafter, an energy-aware distributed RAID decoder will be described.

표 4는 m 개의 디스크 실패(disk failures)를 복구할 수 있는 분산형 RAID 디코더를 보여준다. Table 4 shows a distributed RAID decoder capable of recovering m disk failures.

[표 4][Table 4]

Figure pat00018
Figure pat00018

표 4를 참조하면, 라인 (1-3)에서, 분산형 RAID 디코더는 데이터 노드에 위치한 데이터 디스크들의 회전을 빠르게 하고(Spins up), n 개의 데이터 디스크에서 데이터 청크를 읽으며 최종적으로 데이터 디스크들의 회전을 느리게 한다. 라인 (4)에서, 데이터 디스크 실패의 수

Figure pat00019
m을 초과하면, 복구될 수 없는 완전한 실패(disaster failure)이다. 라인 (5-13)에서,
Figure pat00020
번의 디스크 실패가 발생하면, 알고리즘은 최대 mw 개의 실패된 데이터 코드 워드들을 복구한다. 라인 (6)에서, 분산형 RAID 디코더는 패리티 노드에 위치하는 패리티 디스크들의 회전을 빠르게 한다. 라인 (7)에서, 분산형 RAID 디코더는 대응하는 생존 데이터 및 패리티 코드 워드를 ds에 할당한다. 라인 (8)에서, 분산형 RAID 디코더는 패리티 노드에 위치한 패리티 디스크들의 회전을 느리게 한다. 라인 (9-10)에서, RAID 디코더는 역 코딩 코드 워드(inverted coding code words)
Figure pat00021
를 저장하며, 실패된 데이터 코드 워드(failed data code words)에 대응하는 열들이 제거된다. 라인 (11)에서, 패리티 계산 알고리즘(parity computation algorithm)을 사용하여, 분산형 RAID 디코더는 역 코딩 코드 워드
Figure pat00022
와 생존 데이터 및 패리티 코드 워드 ds 간의 행렬 곱을 수행함으로써 실패된 데이터 코드 워드를 복구한다. 라인 (12)에서, 생존 데이터 코드 워드 및 복구된 데이터 코드 워드
Figure pat00023
Figure pat00024
을 복구하기 위해 합쳐진다. 마지막으로, 라인 (13)에서 복구된 데이터 청크
Figure pat00025
는 메인 메모리에서 호스트로 읽혀진다.Referring to Table 4, in line (1-3), the distributed RAID decoder speeds up the rotation of data disks located in the data node (Spins up), reads a chunk of data from n data disks, and finally rotates the data disks. Slow down. On line 4, the number of data disk failures
Figure pat00019
If m exceeds m , it is a complete failure that cannot be repaired. On line (5-13),
Figure pat00020
If one disk failure occurs, the algorithm recovers up to mw failed data code words. At line 6, the distributed RAID decoder speeds up the rotation of parity disks located at the parity node. At line 7, the distributed RAID decoder assigns the corresponding survival data and parity code words to ds . At line 8, the distributed RAID decoder slows the rotation of the parity disks located at the parity node. In line 9-10, the RAID decoder is inverted coding code words
Figure pat00021
And the columns corresponding to the failed data code words are removed. At line 11, using a parity computation algorithm, the distributed RAID decoder is inverse coded code word.
Figure pat00022
The failed data code word is recovered by performing matrix multiplication between and survival data and parity code word ds . In line 12, the survival data code word and the recovered data code word
Figure pat00023
silver
Figure pat00024
To recover them. Finally, the chunk of data recovered in line (13)
Figure pat00025
Is read from main memory to the host.

RAID 스토리지 시스템에서, 스토리지 장치가 실패해도 디스크를 복구하기에 충분한 데이터가 여전히 존재하도록, 데이터는 많은 스토리지 장치에 걸쳐 저장된 패리티 데이터와 함께 저장되어야 한다. RAID 구조를 기반으로 에너지 절약 스토리지 시스템을 개발하는 것은 중요하다. In a RAID storage system, data must be stored with parity data stored across many storage devices so that even if the storage device fails, there is still enough data to recover the disk. It is important to develop an energy-saving storage system based on the RAID structure.

디스크 전력 관리(Disk Power Management, DPM)는 성능에 영향을 주지 않은 채 가능하면 언제든지 저전력 모드로 디스크를 전환시켜서 에너지를 절약해야 한다. I/O 연산이 완료되자마자, DPM은 디스크가 유휴 모드에 머물러야 하는지 여부에 대해 결정한다. 그러나, 유휴 기간은 디스크 회전을 빠르게 하거나 느리게 하는 비용을 고려해야 하므로, 저전력 대기 모드로 디스크를 천천히 회전시키는 것이 더 유리하다. 그러므로 디스크는 현재 요청이 만족된(serviced) 직후 천천히 회전하고 다음 요청을 위한 시간에는 활성 모드로 빠르게 회전한다. 이 외, 현재 요청이 완료된 이후에는 유휴 모드로 있는 것이 더 낫다. Disk Power Management (DPM) should save energy by putting disks into a low-power mode whenever possible without affecting performance. As soon as the I / O operation is complete, DPM determines whether the disk should remain in idle mode. However, it is more advantageous to rotate the disk slowly in a low power standby mode, since the idle period must consider the cost of speeding up or slowing down the disk rotation. Therefore, the disk rotates slowly immediately after the current request is serviced, and quickly rotates to the active mode at the time for the next request. Besides, it is better to be in idle mode after the current request is completed.

또한, DPM 방법은 오직 부분적인 정보만을 사용하여 결정을 내려야 한다. 온라인 DPM은 시스템에 대한 입력이 모두 이용 가능하기 전에 자원 비용에 대해 결정을 내려야 한다. 따라서, 온라인 DPM은 끝나는 순간까지 유휴 기간의 길이를 알지 못한다. 그러나, 오프라인 DPM은 사전에 유휴 기간의 길이를 알고 있다.In addition, the DPM method must make a decision using only partial information. Online DPM must make a decision on resource costs before all input to the system is available. Therefore, the online DPM does not know the length of the idle period until the end. However, the offline DPM knows the length of the idle period in advance.

여기에서, 디스크 전력 관리를 위한 물리적 데이터 블록을 인코딩하고 디코딩하는 새로운 DPM를 제안할 수 있다. 제안하는 DPM은 온라인 DPM이 데이터 SSD를 처리하고, 오프라인 DPM이 패리티 HDD를 처리하도록 한다. CPU 기반 인코딩의 총 에너지 비용 E(t)는 다음 식을 기반으로 계산될 수 있다.Here, it is possible to propose a new DPM that encodes and decodes physical data blocks for disk power management. The proposed DPM allows online DPM to process data SSD and offline DPM to process parity HDD. The total energy cost E (t) of the CPU-based encoding can be calculated based on the following equation.

[수학식 5][Equation 5]

Figure pat00026
Figure pat00026

[수학식 6][Equation 6]

Figure pat00027
Figure pat00027

[수학식 7][Equation 7]

Figure pat00028
Figure pat00028

여기서,

Figure pat00029
,
Figure pat00030
Figure pat00031
는 각각 유휴(idle)/대기(standby) 시간, 패리티 생성 시간 및 읽기/쓰기 시간을 나타낸다. coding, active 및 dile/standby 모드를 위한 전력 소비는 각각
Figure pat00032
,
Figure pat00033
Figure pat00034
라고 표현되며, 각 CPU 사이클에 대한 전력 소비는
Figure pat00035
라고 표현된다. 데이터 디스크, 코딩 디스크 및 CPU 코어의 개수는 각각 n, m,
Figure pat00036
라고 표현된다.here,
Figure pat00029
,
Figure pat00030
And
Figure pat00031
Denotes idle / standby time, parity generation time, and read / write time, respectively. Power consumption for coding, active and dile / standby modes are respectively
Figure pat00032
,
Figure pat00033
And
Figure pat00034
And the power consumption for each CPU cycle
Figure pat00035
Is expressed. The number of data disks, coding disks and CPU cores is n, m, respectively.
Figure pat00036
Is expressed.

또한,

Figure pat00037
는 활성 모드에서 유휴/대기 모드로 디스크 회전을 느리게 하는 데 요구되는 시간이고,
Figure pat00038
는 유휴/대기 모드에서 활성 모드로 디스크 회전을 빠르게 하는 데 요구되는 에너지이다. [수학식 7]에 나타난 바와 같이, 스토리지 시스템의 스루풋 Thr은 목표 스토리지 서버 측의 인코딩 시간에 대한 데이터 크기
Figure pat00039
의 비율이다. 따라서, 인코딩 시간은 유휴(idle) 시간, 대기(standby) 시간, 코딩(coding) 시간 및 활성(active) 시간의 합으로 계산된다.In addition,
Figure pat00037
Is the time required to slow the disk rotation from active mode to idle / standby mode,
Figure pat00038
Is the energy required to accelerate the disk rotation from idle / standby mode to active mode. As shown in [Equation 7], the throughput Thr of the storage system is the data size for the encoding time of the target storage server.
Figure pat00039
It is the ratio of. Accordingly, the encoding time is calculated as the sum of idle time, standby time, coding time, and active time.

아래에서는 에너지 인식 모델을 분석한다. Below we analyze the energy perception model.

도 5는 일 실시예에 따른 인코딩 전력 관리 모델의 예를 설명하기 위한 도면이다. 5 is a diagram illustrating an example of an encoding power management model according to an embodiment.

도 5를 참조하면, 세 가지 RAID 논리적 쓰기 (인코딩) 전력 관리 모델의 예시를 나타내는 것으로, (a)는 일 실시예에 따른 전력 관리 모델이고, (b)는 기존의 나이브(naive) 모델이며, (c)는 기존의 Pirahandeh의 모델을 나타낸다(k=2, w=2, n=2, m=1).Referring to FIG. 5, an example of three RAID logical write (encoding) power management models is shown, (a) is a power management model according to an embodiment, and (b) is a conventional naive model, (c) shows the model of the existing Pirahandeh (k = 2, w = 2, n = 2, m = 1).

도 6은 일 실시예에 따른 디코딩 전력 관리 모델의 예를 설명하기 위한 도면이다. 6 is a diagram for explaining an example of a decoding power management model according to an embodiment.

도 6을 참조하면, 세 가지 RAID 논리적 디그레이드 읽기(degraded read)(디코딩) 전력 관리 모델의 예시를 나타내는 것으로, (a)는 일 실시예에 따른 전력 관리 모델이고, (b)는 기존의 나이브(naive) 모델이며, (c)는 기존의 Pirahandeh의 모델을 나타낸다(k=2, w=2, n=2, m=1).Referring to FIG. 6, an example of three RAID logical degraded read (decoding) power management models is shown, (a) is a power management model according to an embodiment, and (b) is a conventional naive (naive) model, and (c) represents the existing model of Pirahandeh (k = 2, w = 2, n = 2, m = 1).

도 5 및 6에 도시된 바와 같이, 에너지 흐름을 측정하기 위해 세 가지의 RAID 전력 관리 모델이 사용된다. SSD는 ON, OFF, 활성(active) 및 유휴(idle)라는 전력 모드를 갖고, HDD는 슬립(sleep)(드라이브가 꺼짐), 대기(드라이브가 천천히 도는 저전력 모드) 및 활성(일반적인 연산)이라는 전력 모드를 갖는다. RAID 전력 관리 장비들은 인코더 또는 디코더가 스토리지 장치로부터 데이터 코드 워드를 읽거나(

Figure pat00040
), CPU를 사용해 패리티가 생성되거나(
Figure pat00041
), 코드 워드들이 스토리지 장치에 쓰이거나(
Figure pat00042
) 할 때, 전력 모드가 전환될 수 있도록 한다.As shown in Figures 5 and 6, three RAID power management models are used to measure energy flow. SSD has power modes of ON, OFF, active and idle, and HDD has power of sleep (drive is off), standby (drive is in low power mode) and active (normal operation) It has a mode. RAID power management devices require encoders or decoders to read data code words from storage devices (
Figure pat00040
), Or parity is generated using the CPU (
Figure pat00041
), Or code words are written to the storage device (
Figure pat00042
), The power mode can be switched.

도 5a 및 6a는 각각 제안하는 일 실시예에 따른 RAID 전력 관리 모델(SA3)을 사용하여 인코딩 및 디코딩 과정의 에너지 흐름을 보여준다. 에너지 소비를 감소시키기 위해, 제안하는 전력 관리 모델은 각 읽기/쓰기 연산이 발생할 때 디스크 전력을 유휴/대기 모드에서 활성 모드로 전환시킨다(회전 속도 상승). 제안하는 전력 관리 모델은 각 읽기/쓰기 연산이 수행된 이후 디스크 전력을 활성 모드에서 유휴/대기 모드로 전환시킨다(회전 속도 하강).5A and 6A show the energy flow of the encoding and decoding process using the RAID power management model SA3 according to an embodiment, respectively. To reduce energy consumption, the proposed power management model shifts disk power from idle / standby mode to active mode as each read / write operation occurs (rotation speed increases). The proposed power management model converts the disk power from active mode to idle / standby mode after each read / write operation is performed (rotation speed decreases).

도 5b 및 6b는 각각 Son 등(비특허문헌 1)(SA1) 및 Zhu 등(비특허문헌 2)(SA2)가 제안한 나이브(naive) RAID 전력 관리 모델을 나타낸다. 나이브 모델은 CPU 기반 패리티 생성 알고리즘에 기초하여 설계된다. 에너지 소비를 감소시키기 위하여, 나이브 모델은 인코딩 또는 디코딩 과정이 시작되기 전에 디스크 전력을 유휴/대기 모드에서 활성 모드로 전환시킨다(회전 속도 상승). 나이브 모델은 인코딩 또는 디코딩 과정이 완료된 이후 디스크 전력을 활성 모드에서 유휴/대기 모드로 전환시킨다(회전 속도 하강).5B and 6B show a naive RAID power management model proposed by Son et al. (Non-patent document 1) (SA1) and Zhu et al. (Non-patent document 2) (SA2), respectively. The naive model is designed based on a CPU-based parity generation algorithm. To reduce energy consumption, the naive model converts disk power from idle / standby mode to active mode before the encoding or decoding process begins (increasing rotational speed). The naive model converts the disk power from active mode to idle / standby mode after the encoding or decoding process is completed (lower rotation speed).

도 5c 및 6c는 Pirahandeh 등(비특허문헌 3)이 제안한 RAID 전력 관리 모델을 보여준다. 이 모델은 CPU 기반 패리티 생성 알고리즘을 기초로 설계된다. 에너지 소비를 감소시키기 위해 Pirahandeh 등의 모델은 인코딩 과정이 시작되기 전에 SSD 전력을 유휴 모드에서 활성 모드로 전환시킨다(회전 속도 상승). 이 모델은 인코딩 과정이 완료된 이후 SSD 전력을 활성 모드에서 유휴 모드로 전환시킨다(회전 속도 하강). HHD 전력은 오직 인코더가 패리티 쓰기 연산을 수행할 때만 활성 모드가 될 것이다. 디코딩 과정 동안, SSD2가 실패하면 생존 SSD 전력은 활성 모드가 될 것이며, 실패된 데이터가 복구되면, 실패된 SSD는 활성 모드가 될 것이다. 그러나, 이 모델은 디코더가 생존 SSD 및 패리티 HDD에 접근함으로써 실패된 데이터를 복구하면 HDD 전력을 활성 모드로 전환시킨다.5c and 6c show the RAID power management model proposed by Pirahandeh et al. (Non-Patent Document 3). This model is designed based on the CPU-based parity generation algorithm. To reduce energy consumption, models such as Pirahandeh convert SSD power from idle to active mode (increased rotational speed) before the encoding process begins. This model converts SSD power from active to idle mode after the encoding process is complete (lower speed). HHD power will only be in active mode when the encoder performs a parity write operation. During the decoding process, if SSD2 fails, the surviving SSD power will be in active mode, and if the failed data is recovered, the failed SSD will be in active mode. However, this model puts the HDD power into active mode when the decoder recovers the failed data by accessing the surviving SSD and the parity HDD.

에너지 인식 스케쥴링 시스템은 하나의 디스크 에너지 프로파일러(disk energy profiler) 및 전력 모드 전환 함수들(power-mode-switching functions)로 구성된다. 디스크 에너지 프로파일러는 스토리지 장치의 전력 모드 프로파일을 설정한다. 전력 모드 전환 함수 또한 I/O 연산이 완료되면 제안하는 RAID 전력 관리 모델에 기반해서 스토리지 장치 전력을 유휴/대기 전력 모드로 전환할 것이다.The energy-aware scheduling system consists of a disk energy profiler and power-mode-switching functions. The disk energy profiler sets the power mode profile of the storage device. The power mode switching function will also convert storage device power to idle / standby power mode based on the proposed RAID power management model when the I / O operation is completed.

결과적으로, 일 실시예에 따른 분산형 스토리지 어플리케이션(SA3)의 평균적인 인코딩 에너지 소비는 SA1, SA2, SA4 및 SA5의 기존 스토리지 시스템 각각의 에너지 소비보다 더 낮다. 또한, 일 실시예에 따른 분산형 스토리지 어플리케이션(SA3)는 SA1, SA2, SA4 및 SA5의 기존 스토리지 시스템보다 더 높은 인코딩 및 디코딩 성능을 갖는다. As a result, the average encoding energy consumption of the distributed storage application SA3 according to an embodiment is lower than the energy consumption of each of the existing storage systems of SA1, SA2, SA4, and SA5. In addition, the distributed storage application SA3 according to an embodiment has higher encoding and decoding performance than existing storage systems of SA1, SA2, SA4, and SA5.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and / or combinations of hardware components and software components. For example, the devices and components described in the embodiments include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor (micro signal processor), a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose computers or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may run an operating system (OS) and one or more software applications running on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and / or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. Can be embodied in The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded in the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specifically configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by a limited embodiment and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques are performed in a different order than the described method, and / or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if substituted or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (5)

RAID(Redundant Array of Inexpensive Disks) 스케쥴링 방법에 있어서,
분산형 스토리지 어플리케이션은 이니시에이터 서버로부터 데이터 청크를 전달 받아, 목표 스토리지 서버에서 CPU를 사용하여 패리티 블록을 생성하고, SSD를 사용하는 데이터 블록과 HDD를 사용하는 상기 패리티 블록을 개별적으로 스트라이프(stripe)하는 단계; 및
에너지 인식 인코딩 스케쥴러는 상기 SDD 및 상기 HDD의 전력 모드를 활성 모드에서 유휴 모드 또는 대기 모드로 전환시키는 단계
를 포함하는, RAID 스케쥴링 방법.
In the RAID (Redundant Array of Inexpensive Disks) scheduling method,
The distributed storage application receives a chunk of data from the initiator server, generates a parity block using a CPU in the target storage server, and stripes the data block using an SSD and the parity block using an HDD individually. step; And
The energy-aware encoding scheduler converts the power modes of the SDD and the HDD from an active mode to an idle mode or a standby mode.
RAID scheduling method comprising a.
제1항에 있어서,
에너지 인식 인코딩 스케쥴러는 상기 SDD 및 상기 HDD의 전력 모드를 활성 모드에서 유휴 모드 또는 대기 모드로 전환시키는 단계는,
온라인 DPM(Dynamic Power Management) 방법을 사용하여 물리적 상기 데이터 블록들을 파이프라이닝(pipelines)하는 단계; 및
오프라인 DPM 방법을 사용하여 상기 패리티 블록들을 파이프라이닝하는 단계
를 포함하고,
상기 온라인 DPM 방법과 상기 오프라인 DPM 방법을 사용하여 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키는, RAID 스케쥴링 방법.
According to claim 1,
The energy-aware encoding scheduler converts the power modes of the SDD and the HDD from an active mode to an idle mode or a standby mode,
Pipelining the physical data blocks using an online dynamic power management (DPM) method; And
Pipelining the parity blocks using an offline DPM method
Including,
A RAID scheduling method using the online DPM method and the offline DPM method to reduce energy consumption of a distributed storage application.
RAID(Redundant Array of Inexpensive Disks) 스케쥴링 시스템에 있어서,
SSD를 사용하는 데이터 블록과 HDD를 사용하는 패리티 블록을 개별적으로 스트라이프(stripe)하는 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키기 위해, 상기 SDD 및 상기 HDD의 전력 모드를 활성 모드에서 유휴 모드 또는 대기 모드로 전환시키는 에너지 인식 인코딩 스케쥴러
를 포함하는, RAID 스케쥴링 시스템.
In the RAID (Redundant Array of Inexpensive Disks) scheduling system,
In order to reduce energy consumption of distributed storage applications that individually strip data blocks using SSD and parity blocks using HDD, the power mode of the SDD and the HDD is in an active mode to an idle mode or a standby mode. Energy aware encoding scheduler to convert to
RAID scheduling system comprising a.
제3항에 있어서,
상기 에너지 인식 인코딩 스케쥴러는,
물리적 상기 데이터 블록들을 파이프라이닝(pipelines)하는 온라인 DPM(Dynamic Power Management)부; 및
상기 패리티 블록들을 파이프라이닝하는 오프라인 DPM부
를 포함하고,
상기 온라인 DPM부와 상기 오프라인 DPM부를 사용하여 분산형 스토리지 어플리케이션의 에너지 소비를 감소시키는, RAID 스케쥴링 시스템.
According to claim 3,
The energy-aware encoding scheduler,
An online dynamic power management (DPM) unit that pipelines the physical data blocks; And
Offline DPM unit for pipelining the parity blocks
Including,
A RAID scheduling system that reduces energy consumption of distributed storage applications by using the online DPM unit and the offline DPM unit.
제3항에 있어서,
이니시에이터 서버로부터 데이터 청크를 전달 받아, 목표 스토리지 서버에서 CPU를 사용하여 상기 패리티 블록을 생성하고, 상기 SSD를 사용하는 상기 데이터 블록과 상기 HDD를 사용하는 상기 패리티 블록을 개별적으로 스트라이프(stripe)하는 분산형 스토리지 어플리케이션
을 더 포함하는, RAID 스케쥴링 시스템.
According to claim 3,
Distribution that receives the data chunk from the initiator server, generates the parity block using the CPU at the target storage server, and separately stripes the data block using the SSD and the parity block using the HDD Type storage application
Further comprising, RAID scheduling system.
KR1020180139542A 2018-11-14 2018-11-14 Low-power raid scheduling method for distributed storage application KR102197379B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180139542A KR102197379B1 (en) 2018-11-14 2018-11-14 Low-power raid scheduling method for distributed storage application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180139542A KR102197379B1 (en) 2018-11-14 2018-11-14 Low-power raid scheduling method for distributed storage application

Publications (2)

Publication Number Publication Date
KR20200055898A true KR20200055898A (en) 2020-05-22
KR102197379B1 KR102197379B1 (en) 2020-12-31

Family

ID=70913685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180139542A KR102197379B1 (en) 2018-11-14 2018-11-14 Low-power raid scheduling method for distributed storage application

Country Status (1)

Country Link
KR (1) KR102197379B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11662949B2 (en) 2020-11-04 2023-05-30 Samsung Electronics Co., Ltd. Storage server, a method of operating the same storage server and a data center including the same storage server

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154167A1 (en) * 2009-12-23 2011-06-23 Nvidia Corporation Optimizing raid migration performance
KR20120094782A (en) * 2011-02-17 2012-08-27 인하대학교 산학협력단 Storage system with solid state disk
EP2894558A1 (en) * 2014-01-13 2015-07-15 Alcatel Lucent Online power management in a content distribution network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154167A1 (en) * 2009-12-23 2011-06-23 Nvidia Corporation Optimizing raid migration performance
KR20120094782A (en) * 2011-02-17 2012-08-27 인하대학교 산학협력단 Storage system with solid state disk
EP2894558A1 (en) * 2014-01-13 2015-07-15 Alcatel Lucent Online power management in a content distribution network

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
. Zhu, Q., David, F.M., Devaraj, C.F., Li, Z., Zhou, Y., Cao, P.: Reducing energy consumption of disk storage using power-aware cache management. In: Processing of the IEEE on Software(2004)
Hwisung Jung. 외 1인."Uncertainty-Aware Dynamic Power Management in Partially Observable Domains", IEEE Trans. on VLSI Systems,2008.01.18.제17권 제7호,(제929면 내지 제942면)* *
Pirahandeh, M., Kim, H.: Reliable energy-aware SSD based RAID-6 system. In: Proceedings of the FAST Conference in Storage Systems, San Jose, USA (2012)
Woo, S.S., Kandemir, M.: Runtime system support for softwareguided disk power management. In: Processing of the Cluster Computing, pp. 139-148 (2007)
Yongfeng Dong. 외 4인."HS-RAID2: Optimizing Small Write Performance in HS-RAID".Journal of Electrical and Computer Engineering.2016.02.28.Volume 2016,(제1면 내지 제8면)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11662949B2 (en) 2020-11-04 2023-05-30 Samsung Electronics Co., Ltd. Storage server, a method of operating the same storage server and a data center including the same storage server

Also Published As

Publication number Publication date
KR102197379B1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
US11579974B1 (en) Data protection using intra-device parity and intra-device parity
US11444641B2 (en) Data storage system with enforced fencing
US11438411B2 (en) Data storage system with redundant internal networks
US11467732B2 (en) Data storage system with multiple durability levels
US10140136B2 (en) Distributed virtual array data storage system and method
US10001944B2 (en) Systems and methods for data organization in storage systems using large erasure codes
US20190114223A1 (en) Accelerating erasure code replication in distributed systems
US9286261B1 (en) Architecture and method for a burst buffer using flash technology
JP6162547B2 (en) Scalable storage protection
CN102047237B (en) Providing object-level input/output requests between virtual machines to access a storage subsystem
US20180181348A1 (en) Data storage system with multi-tier control plane
US20090217067A1 (en) Systems and Methods for Reducing Power Consumption in a Redundant Storage Array
US10402104B2 (en) Devices and methods for a data storage device
WO2015030679A1 (en) Raid parity stripe reconstruction
TWI765129B (en) Storage system
WO2011002438A1 (en) Organizing and managing a memory blade with super pages and buffers
US9092152B1 (en) Data storage system employing a distributed compute engine memory controller with embedded logic and arithmetic functionality and method for data migration between high-performance computing architectures and data storage devices using the same
Petrini et al. System-level fault-tolerance in large-scale parallel machines with buffered coscheduling
KR102197379B1 (en) Low-power raid scheduling method for distributed storage application
US20110154165A1 (en) Storage apparatus and data transfer method
WO2022007225A1 (en) Data storage method, storage system, storage device, and storage medium
Li et al. A hierarchical RAID architecture towards fast recovery and high reliability
Koh et al. Understanding system characteristics of online erasure coding on scalable, distributed and large-scale SSD array systems
Pirahandeh et al. Energy-aware GPU-RAID scheduling for reducing energy consumption in cloud storage systems
KR102141158B1 (en) Low-power gpu scheduling method for distributed storage application

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)