JP6662530B1 - Control device, disk array system and data input / output method - Google Patents

Control device, disk array system and data input / output method Download PDF

Info

Publication number
JP6662530B1
JP6662530B1 JP2018215857A JP2018215857A JP6662530B1 JP 6662530 B1 JP6662530 B1 JP 6662530B1 JP 2018215857 A JP2018215857 A JP 2018215857A JP 2018215857 A JP2018215857 A JP 2018215857A JP 6662530 B1 JP6662530 B1 JP 6662530B1
Authority
JP
Japan
Prior art keywords
data
sector
hard disks
unit
reading
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2018215857A
Other languages
Japanese (ja)
Other versions
JP2020086598A (en
Inventor
和義 高沢
和義 高沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2018215857A priority Critical patent/JP6662530B1/en
Priority to PCT/JP2019/044304 priority patent/WO2020100883A1/en
Application granted granted Critical
Publication of JP6662530B1 publication Critical patent/JP6662530B1/en
Publication of JP2020086598A publication Critical patent/JP2020086598A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】ディスクアレイ装置の可用性と読み出し性能を向上する制御装置を提供する。【解決手段】制御装置は、単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込む書込部と、複数の前記ハードディスクの各々から並行して単位データごとに読み出しを行う読出部と、を備え、前記データを読み出す場合、前記読出部は、書き込み前の前記データの並びにおいて隣り合う前記単位データを、それぞれ異なる前記ハードディスクから同時に読み出す。【選択図】図1PROBLEM TO BE SOLVED: To provide a control device for improving availability and read performance of a disk array device. A controller writes writing target data composed of a plurality of unit data arranged side by side into each of a plurality of hard disks, and reads from each of the plurality of hard disks in parallel for each unit data. In the case of reading the data, the reading unit simultaneously reads the unit data adjacent to each other in the row of the data before writing from the different hard disks. [Selection diagram] Fig. 1

Description

本発明は、制御装置、ディスクアレイシステム及びデータ入出力方法に関する。   The present invention relates to a control device, a disk array system, and a data input / output method.

HDD(Hard Disk Drive)の可用性や入出力性能の向上のための技術にRAID(Redundant Array of Inexpensive Disks)がある。例えば、ストライピング方式のRAIDシステム(RAID0)では、複数のディスクに分散してデータを書き込むことにより、書き込み速度を向上することができる。また、ミラー方式のRAIDシステム(RAID1)では、複数のディスクに同じデータを書き込むことにより可用性が向上する。   RAID (Redundant Array of Inexpensive Disks) is a technology for improving the availability and input / output performance of HDDs (Hard Disk Drives). For example, in a striping type RAID system (RAID 0), writing data can be distributed to a plurality of disks to improve the writing speed. In a mirror type RAID system (RAID 1), availability is improved by writing the same data to a plurality of disks.

関連する技術として、特許文献1には、RAID1で構成された2つのHDDから所定サイズより大きなデータを読み出す際に、前半のデータを一方のHDDから、後半のデータを他方のHDDから同時に読み出すことにより、読み出し速度を向上させる技術が開示されている。   As a related technique, Patent Document 1 discloses that when data larger than a predetermined size is read from two HDDs configured with RAID1, the former data is read from one HDD and the latter data is read from the other HDD at the same time. Discloses a technique for improving the reading speed.

特開2017−16579号公報JP 2017-16579 A

RAID1では、読み出し時に一方のHDDから読み出すだけの為、可用性は向上するものの読み出し性能は向上しない。RAID0では、複数のHDDに別々のデータを書き込むため、読み出し性能は向上するが可用性は向上しない。   In RAID1, since data is read only from one HDD at the time of reading, availability is improved but read performance is not improved. In RAID0, since different data is written to a plurality of HDDs, read performance is improved, but availability is not improved.

そこでこの発明は、上述の課題を解決する制御装置、ディスクアレイシステム及びデータ入出力方法を提供することを目的としている。   Therefore, an object of the present invention is to provide a control device, a disk array system, and a data input / output method that solve the above-mentioned problems.

本発明の一態様によれば、制御装置は、単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込む書込部と、複数の前記ハードディスクの各々から並行して単位データごとに読み出しを行う読出部と、を備え、前記書込部は、前記データの並びを変更せずに前記ハードディスクの各々に書き込み、前記データを読み出す場合、前記読出部は、書き込み前の前記データの並びにおいて連続する前記単位データの各々を、複数の前記ハードディスクの1ずつ異なるセクタ位置から同時に読み出し、前記読出部は、一の前記ハードディスクの第1セクタ位置で異常を検出すると、残りの前記ハードディスクのうちの何れかにおいて、読み出し対象セクタを前記第1セクタ位置に設定し、当該ハードディスク以外の前記ハードディスクについては、前記第1セクタ位置を基準に1ずつ異なるセクタ位置を、新たな読み出し対象セクタとして設定する。
また、本発明の他の一態様によれば、制御装置は、単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込む書込部と、複数の前記ハードディスクの各々から並行して単位データごとに読み出しを行う読出部と、を備え、前記書込部は、前記読出部が複数の前記ハードディスクのそれぞれにおける同じセクタ位置を始点としてセクタ順に読み出しを行った場合に、書き込み前の前記データの並びにおいて連続する前記単位データを同時に読み出すことができるように前記単位データの並びを変更して、複数の前記ハードディスクの各々に書き込み、前記データを読み出す場合、前記読出部は、書き込み前の前記データの並びにおいて連続する前記単位データの各々を、異なる前記ハードディスクからセクタ順に同時に読み出し、前記読出部は、一の前記ハードディスクの一のセクタ位置で異常を検出すると、残りの前記ハードディスクのうちの何れかにおいて、前記異常が検出されたセクタ位置に書き込まれたものと同じ前記単位データが書き込まれたセクタ位置を、新たな読み出し対象セクタとして設定する。
According to one aspect of the present invention, the control device is configured to write data to be written, in which a plurality of unit data are arranged side by side, in a writing unit that writes the data to each of the plurality of hard disks, and in parallel from each of the plurality of hard disks. A reading unit that performs reading for each unit data, wherein the writing unit writes to each of the hard disks without changing the arrangement of the data, and reads the data. each of the unit data to be continuous at the arrangement of the data, and read out simultaneously from 1 by different sectors positions of the plurality of hard disks, the reading unit detects an abnormality in the first sector position one of the hard disk, In any of the remaining hard disks, a read target sector is set at the first sector position, and the hard disk is read. For the hard disk other than a 1 by different sector position relative to the first sector position is set as a new read target sector.
Further, according to another aspect of the present invention, the control device includes: a writing unit that writes data to be written, in which a plurality of unit data are arranged in a row, into each of the plurality of hard disks; And a reading unit that performs reading in units of unit data in parallel, and wherein the writing unit performs reading in sector order starting from the same sector position in each of the plurality of hard disks. When changing the arrangement of the unit data so that the continuous unit data can be simultaneously read in the arrangement of the data before writing, writing the data to each of the plurality of hard disks, and reading the data, the reading unit includes: Each of the continuous unit data in the arrangement of the data before writing is stored in a different one of the hard disks. When reading is performed simultaneously in the sector order, and the reading unit detects an abnormality in one sector position of one of the hard disks, one of the remaining hard disks is written in the sector position where the abnormality is detected. The sector position where the same unit data is written is set as a new read target sector.

また、本発明の一態様によれば、ディスクアレイシステムは、複数のハードディスクと、上記の制御装置と、を備える。   According to one aspect of the present invention, a disk array system includes a plurality of hard disks and the above-described control device.

また、本発明の他の一態様によれば、データ入出力方法は、単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込むステップと、複数の前記ハードディスクの各々から並行して単位データごとに読み出しを行うステップと、を有し、前記書き込むステップでは、前記データの並びを変更せずに前記ハードディスクの各々に書き込み、前記データを読み出す場合、前記読み出しを行うステップにて、書き込み前の前記データの並びにおいて連続する前記単位データの各々を、複数の前記ハードディスクの1ずつ異なるセクタ位置から同時に読み出し、前記読み出しを行うステップにて、一の前記ハードディスクの第1セクタ位置で異常を検出すると、残りの前記ハードディスクのうちの何れかにおいて、読み出し対象セクタを前記第1セクタ位置に設定し、当該ハードディスク以外の前記ハードディスクについては、前記第1セクタ位置を基準に1ずつ異なるセクタ位置を、新たな読み出し対象セクタとして設定する。
また、本発明の他の一態様によれば、データ入出力方法は、単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込むステップと、複数の前記ハードディスクの各々から並行して単位データごとに読み出しを行うステップと、を有し、前記書き込むステップでは、前記読み出しを行うステップにて複数の前記ハードディスクのそれぞれにおける同じセクタ位置を始点としてセクタ順に読み出しを行った場合に、書き込み前の前記データの並びにおいて連続する前記単位データを同時に読み出すことができるように前記単位データの並びを変更して、複数の前記ハードディスクの各々に書き込み、前記データを読み出す場合、前記読み出しを行うステップにて、書き込み前の前記データの並びにおいて連続する前記単位データの各々を、異なる前記ハードディスクからセクタ順に同時に読み出し、前記読み出しを行うステップにて、一の前記ハードディスクの一のセクタ位置で異常を検出すると、残りの前記ハードディスクのうちの何れかにおいて、前記異常が検出されたセクタ位置に書き込まれたものと同じ前記単位データが書き込まれたセクタ位置を、新たな読み出し対象セクタとして設定する。
According to another aspect of the present invention, a data input / output method includes a step of writing data to be written, in which a plurality of unit data are arranged side by side, to each of a plurality of hard disks; Reading from the hard disk without changing the arrangement of the data, and performing the reading when reading the data. at, each of the unit data to consecutive in a sequence of the data before the write, and read out simultaneously from 1 by different sectors positions of the plurality of hard disks, in performing the read, first one of the hard disk If an error is detected at one sector position, it will be transferred to one of the remaining hard disks. Te, and sets the read target sector in the first sector position, the for the hard disk other than the hard disk, one each different sector position relative to the first sector position is set as a new read target sector.
According to another aspect of the present invention, a data input / output method includes a step of writing data to be written, in which a plurality of unit data are arranged side by side, to each of a plurality of hard disks; And reading in units of unit data in parallel from the above, wherein in the writing step, the reading is performed in the order of sectors starting from the same sector position in each of the plurality of hard disks in the reading step. In a case where the arrangement of the unit data is changed so that the continuous unit data can be simultaneously read in the arrangement of the data before writing, and the data is written to each of the plurality of hard disks and the data is read, the reading is performed. In the step of performing In the step of simultaneously reading out each of the continuous unit data from different hard disks in the order of sectors and detecting an error at one sector position of one hard disk, any one of the remaining hard disks is detected. In the above, the sector position where the same unit data is written as the one written in the sector position where the abnormality is detected is set as a new read target sector.

本発明によれば、ディスクアレイシステムの可用性や読み出し性能を向上することができるという効果が得られる。   According to the present invention, it is possible to improve the availability and read performance of a disk array system.

本発明の各実施形態に係る情報処理システムの一例を示す図である。It is a figure showing an example of the information processing system concerning each embodiment of the present invention. 本発明の第一実施形態によるデータ入出力方法を説明する第1の図である。FIG. 3 is a first diagram illustrating a data input / output method according to the first embodiment of the present invention. 本発明の第一実施形態によるデータ入出力方法を説明する第2の図である。FIG. 4 is a second diagram illustrating the data input / output method according to the first embodiment of the present invention. 本発明の第一実施形態によるデータ入出力方法を説明する第3の図である。FIG. 6 is a third diagram illustrating the data input / output method according to the first embodiment of the present invention. 本発明の第一実施形態によるリビルド処理を説明する図である。FIG. 7 is a diagram illustrating a rebuild process according to the first embodiment of the present invention. 本発明の第二実施形態によるデータ入出力方法を説明する第1の図である。FIG. 7 is a first diagram illustrating a data input / output method according to a second embodiment of the present invention. 本発明の第二実施形態によるデータ格納順の一例を示す図である。It is a figure showing an example of the data storage order by a second embodiment of the present invention. 本発明の第二実施形態によるデータ入出力方法を説明する第2の図である。FIG. 11 is a second diagram illustrating a data input / output method according to a second embodiment of the present invention. 本発明の第二実施形態によるデータ入出力方法を説明する第3の図である。FIG. 13 is a third diagram illustrating a data input / output method according to the second embodiment of the present invention. 本発明の第二実施形態によるリビルド処理を説明する図である。It is a figure explaining a rebuilding process by a second embodiment of the present invention. 本発明の第二実施形態によるデータ格納順の他の例を示す図である。FIG. 11 is a diagram illustrating another example of a data storage order according to the second embodiment of the present invention. 本発明の各実施形態における制御装置の最小構成を示す図である。It is a figure showing the minimum composition of the control device in each embodiment of the present invention.

以下、本発明の各実施形態に係るディスクアレイシステムについて図面を参照して説明する。図1は、本発明の各実施形態に係る情報処理システムの一例を示す図である。
図示するように情報処理システム100は、ホスト装置1、RAIDコントローラ2、ディスクアレイ装置3を備える。
ホスト装置1は、OS(operating system)11と、ドライバ12と、CPU(central processing unit)13と、を備えている。OS11は、ホスト装置1で実行されるアプリケーション等の発行するIO命令を実行し、HDD(hard disk drive)#0,#1で構成されるディスクアレイ装置3への書き込みや読み出しを指示する。ドライバ12は、RAIDコントローラ2のデバイスドライバである。OS11およびドライバ12はソフトウェアである。OS11およびドライバ12は、CPU13が、例えば、ディスクアレイ装置3が記憶するOS11、ドライバ12のプログラムを読み出して実行することにより、その機能を発揮する。
Hereinafter, a disk array system according to each embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating an example of an information processing system according to each embodiment of the present invention.
1, the information processing system 100 includes a host device 1, a RAID controller 2, and a disk array device 3.
The host device 1 includes an OS (operating system) 11, a driver 12, and a CPU (central processing unit) 13. The OS 11 executes an IO command issued by an application or the like executed by the host device 1 and instructs writing and reading to and from the disk array device 3 composed of hard disk drives (HDDs) # 0 and # 1. The driver 12 is a device driver of the RAID controller 2. The OS 11 and the driver 12 are software. The OS 11 and the driver 12 exhibit their functions when the CPU 13 reads and executes the programs of the OS 11 and the driver 12 stored in the disk array device 3, for example.

RAIDコントローラ2は、書き込みコントローラ21と読み出しコントローラ22を備える。書き込みコントローラ21および読み出しコントローラ22は、RAID1(ミラー方式)に必要な機能を有したソフトウェア(ファームウェア)である。後述するように書き込みコントローラ21と読み出しコントローラ22は、RAID1によるデータの冗長化機能に加え、読み出し処理を高速化する機能を備えている。RAIDコントローラ2は、ディスクアレイ装置3に接続されている。書き込みコントローラ21および読み出しコントローラ22は、HDD#0およびHDD#1へのIO処理を実行する。   The RAID controller 2 includes a write controller 21 and a read controller 22. The write controller 21 and the read controller 22 are software (firmware) having functions necessary for RAID1 (mirror method). As described later, the write controller 21 and the read controller 22 have a function of accelerating the read processing in addition to the data redundancy function based on RAID1. The RAID controller 2 is connected to the disk array device 3. The write controller 21 and the read controller 22 execute an IO process on the HDD # 0 and the HDD # 1.

ディスクアレイ装置3は、HDD#0およびHDD#1を備える。HDD#0およびHDD#1は、データの冗長性を保証する1つの論理ディスクを構成している。   The disk array device 3 includes HDD # 0 and HDD # 1. HDD # 0 and HDD # 1 constitute one logical disk that guarantees data redundancy.

次に情報処理システム100におけるIO処理の流れについて説明する。ホスト装置1にてOS11がIO命令を発行すると、ドライバ12がそのIO命令を受け取る。ドライバ12は当該IO命令を、RAIDコントローラ2に出力してIOの実行を要求する。IO命令がWRITE処理の場合、書き込みコントローラ21が、HDD#0およびHDD#1へ同じデータを書き込む。これにより、RAID1と同様、データの冗長性が確保される。IO命令がREAD処理の場合、読み出しコントローラ22は、HDD#0およびHDD#1の各々から読み出し対象データの一部ずつを同時に並行して読み出す。RAID1の場合、一方のHDDから読み出し対象データの全てを読み出すため、読み出しコントローラ22は、RAID1の場合の2倍の速度でデータを読み出すことができる。   Next, the flow of the IO processing in the information processing system 100 will be described. When the OS 11 issues an IO command in the host device 1, the driver 12 receives the IO command. The driver 12 outputs the IO command to the RAID controller 2 and requests execution of the IO. When the IO instruction is a WRITE process, the write controller 21 writes the same data to HDD # 0 and HDD # 1. This ensures data redundancy, as in RAID1. When the IO instruction is a READ process, the read controller 22 simultaneously reads a part of the data to be read from each of the HDD # 0 and the HDD # 1 in parallel. In the case of RAID1, all of the data to be read is read from one HDD, so that the read controller 22 can read data at twice the speed of RAID1.

<第一実施形態>
次に第一実施形態におけるRAIDコントローラ2の処理について詳細に説明する。
図2は、本発明の第一実施形態によるデータ入出力方法を説明する第1の図である。
図2において矢印やHDD#0、HDD#1とともに示す数字列は、書き込みデータまたは読み込みデータのデータ構成を示している。例えば、書き込みコントローラ21へ入力されるデータ「01234567」は、この書き込み対象データが、「データ0」、「データ1」、「データ2」、「データ3」、「データ4」、「データ5」、「データ6」、「データ7」によって構成されていることを示している。データ0〜データ7の各々を便宜的に単位データと呼ぶ。図2に例示する書き込み対象データでは、単位データは、データ0〜データ7の順に並んでいる。
<First embodiment>
Next, the processing of the RAID controller 2 in the first embodiment will be described in detail.
FIG. 2 is a first diagram illustrating a data input / output method according to the first embodiment of the present invention.
In FIG. 2, arrows and numeral strings shown together with HDD # 0 and HDD # 1 indicate the data structure of write data or read data. For example, data “01234567” input to the write controller 21 is such that the data to be written is “data 0”, “data 1”, “data 2”, “data 3”, “data 4”, “data 5”. , “Data 6”, and “data 7”. Each of data 0 to data 7 is called unit data for convenience. In the write target data illustrated in FIG. 2, the unit data is arranged in the order of data 0 to data 7.

(データの書き込み)
ディスクアレイ装置3への8セクタ長(データ0〜データ7)の書き込み要求があった場合、書き込みコントローラ21は、HDD#0およびHDD#1の両方に、8セクタ分のデータの書き込みを実施する。書き込みコントローラ21は、書き込み対象データ(データ0〜データ7)を取得すると、この並びのまま、HDD#0とHDD#1にそれぞれ書き込む。このとき、書き込みコントローラ21は、HDD#0とHDD#1の同じセクタ位置にそれぞれの単位データを順に書き込む。図2の下表にHDD#0とHDD#1におけるセクタ位置と、書き込みコントローラ21が書き込む単位データの関係を示す。この表に例示するように、HDD#0およびHDD#1ともに、セクタ0には「データ0」が格納され、セクタ1には「データ1」が格納される。以降も同様にセクタNに「データN」(N=2〜7)が格納される。第一実施形態では、書き込みコントローラ21の動作は、RAID1と同じである。
(Write data)
When there is a write request of 8 sector length (data 0 to data 7) to the disk array device 3, the write controller 21 writes data of 8 sectors to both HDD # 0 and HDD # 1. . When the write controller 21 acquires the data to be written (data 0 to data 7), the write controller 21 writes the data in HDD # 0 and HDD # 1 in this order. At this time, the write controller 21 sequentially writes the respective unit data in the same sector position of the HDD # 0 and the HDD # 1. The lower table of FIG. 2 shows the relationship between the sector position in HDD # 0 and HDD # 1 and the unit data written by write controller 21. As exemplified in this table, “data 0” is stored in sector 0 and “data 1” is stored in sector 1 in both HDD # 0 and HDD # 1. Thereafter, “data N” (N = 2 to 7) is similarly stored in the sector N. In the first embodiment, the operation of the write controller 21 is the same as that of RAID1.

(通常時の読み出し)
次に読み出し処理について説明する。まず、通常時(非障害時)の動作について説明する。ホスト装置1から上記の8セクタ長のデータの読み出し指示を受けると、読み出しコントローラ22は、HDD#0とHDD#1の異なるセクタから並行して単位データの読み出しを行う。例えば、読み出しコントローラ22は、HDD#0の偶数セクタ(図2の表のセクタ0,2,4,6)から上記の並びにおける偶数が付された単位データ(データ0,2,4,6)を、HDD#1の奇数セクタ(図2の表のセクタ1,3,5,7)から奇数が付された単位データ(データ1,3,5,7)を同時に読み出す。より具体的には、読み出しコントローラ22は、HDD#0から、セクタ0、セクタ2、セクタ4、セクタ6の順に読み出し、HDD#1から、セクタ1、セクタ3、セクタ5、セクタ7の順に読み出す。このとき読み出しコントローラ22は、書き込み時のデータにおける単位データの並びにおいて隣り合う(連続する)単位データを同時に読み出す。具体的には、読み出しコントローラ22は、HDD#0のセクタ0とHDD#1のセクタ1の各々から単位データ(それぞれデータ0とデータ1)を同時に読み出す。そして、読み出しコントローラ22は、読み出した単位データ(データ0とデータ1)を同時に要求元(ホスト装置1)へ送付する。
(Normal reading)
Next, the reading process will be described. First, a normal operation (non-failure operation) will be described. When receiving the instruction to read the data having the 8-sector length from the host device 1, the read controller 22 reads the unit data in parallel from different sectors of the HDDs # 0 and # 1. For example, the read controller 22 starts from an even-numbered sector (sectors 0, 2, 4, and 6 in the table of FIG. 2) of HDD # 0 and assigns even-numbered unit data (data 0, 2, 4, 6) At the same time, odd-numbered unit data (data 1, 3, 5, 7) are simultaneously read from odd sectors (sectors 1, 3, 5, 7 in the table of FIG. 2) of HDD # 1. More specifically, the read controller 22 reads from HDD # 0 in the order of sector 0, sector 2, sector 4, and sector 6, and reads from HDD # 1 in the order of sector 1, sector 3, sector 5, and sector 7. . At this time, the read controller 22 simultaneously reads adjacent (continuous) unit data in the arrangement of the unit data in the data at the time of writing. Specifically, the read controller 22 simultaneously reads unit data (data 0 and data 1) from sector 0 of HDD # 0 and sector 1 of HDD # 1. Then, the read controller 22 simultaneously sends the read unit data (data 0 and data 1) to the request source (host device 1).

次に読み出しコントローラ22は、HDD#0のセクタ2からデータ2を、HDD#1のセクタ3からデータ3を同時に読み出し、それらを同時に要求元へ送付する。以降も同様にして、読み出しコントローラ22は、HDD#0のセクタ4およびHDD#1のセクタ5から同時に単位データ(データ4とデータ5)を読み出し、それらを同時に要求元へ送付する。最後に読み出しコントローラ22は、HDD#0のセクタ6およびHDD#1のセクタ7から同時に単位データ(データ6とデータ7)を読み出し、それらを要求元へ同時に送付する。このようにして8セクタ分のデータを読み出す。
このような処理により、データの冗長性を確保しつつ、片方のHDDからのみデータを読み出す場合に比べ、2倍の速度で読み出すことができる。
Next, the read controller 22 simultaneously reads data 2 from sector 2 of HDD # 0 and data 3 from sector 3 of HDD # 1 and sends them simultaneously to the request source. Thereafter, similarly, the read controller 22 simultaneously reads the unit data (data 4 and data 5) from the sector 4 of the HDD # 0 and the sector 5 of the HDD # 1, and sends them simultaneously to the request source. Finally, the read controller 22 reads the unit data (data 6 and data 7) from the sector 6 of the HDD # 0 and the sector 7 of the HDD # 1 at the same time, and sends them simultaneously to the request source. Thus, data for eight sectors is read.
By such processing, data can be read at twice the speed of reading data from only one of the HDDs while ensuring data redundancy.

また、情報処理におけるデータには、空間的局所性(必要とするデータはより近いアドレス近辺にまとまっている)という性質が認められ、意味のある順番で単位データが並べられ、書き込み、読み出しが行われることが多い。読み出しコントローラ22による読み出し処理であれば、隣り合う単位データ(例えば、データ0とデータ1、データ2とデータ3など)を同時に取得することができるので、読み出し後のOS11における処理においても高速化が期待できる。例えば、8セクタ長のデータのうち前半(データ0〜3)と後半(データ4〜7)に分けて前半データと後半データを1セクタずつ同時に並行して読み出す方法が提案されている(特許文献1)。この方法の場合、前半先頭のデータ0と後半先頭のデータ4を同時に読み出して要求元へ送信し、次にデータ1とデータ5を読み出して要求元へ送信するといった処理を繰り返す。このような読み出し方法の場合、要求元の処理でデータ0とデータ1が必要な場合、次の1セクタを読み出すまでの待ちが発生する。この点、本実施形態によれば、連続する単位データを高速に読むことができる。これにより、待ちの発生を低減し、処理を高速化することができる。   In addition, data in information processing has a property of spatial locality (necessary data is grouped in the vicinity of a closer address), and unit data is arranged in a meaningful order, and writing and reading are performed. It is often said. If the read processing is performed by the read controller 22, adjacent unit data (for example, data 0 and data 1, data 2 and data 3, etc.) can be obtained at the same time, so that the processing speed in the OS 11 after reading can be increased. Can be expected. For example, a method has been proposed in which the first half (data 0 to 3) and the second half (data 4 to 7) of eight sector length data are divided and the first half data and the second half data are simultaneously read out one sector at a time (Patent Document 1). 1). In the case of this method, the process of simultaneously reading the data 0 in the first half and the data 4 in the second half and transmitting the data to the request source, and then reading the data 1 and data 5 and transmitting them to the request source are repeated. In the case of such a read method, when data 0 and data 1 are required in the processing of the request source, a wait occurs until the next sector is read. In this regard, according to the present embodiment, continuous unit data can be read at high speed. As a result, occurrence of waiting can be reduced, and processing can be speeded up.

(データ異常検出時の読み出し)
次に、ある単位データ(以下の例では、HDD#0のセクタ2に格納されているデータ2)が壊れ、正常に読み出すことができなかった場合の動作を例に説明を行う。
図3は、本発明の第一実施形態によるデータ入出力方法を説明する第2の図である。
要求元から8セクタ分のデータに対する読み出し要求があったとする。通常時の場合で説明したように、読み出しコントローラ22は、まず、HDD#0のセクタ0からデータ0、HDD#1のセクタ1からデータ1を同時に読み出し、データ0とデータ1を同時に要求元に送付する。次に読み出しコントローラ22がHDD#0のセクタ2からデータ2、HDD#1のセクタ3からデータ3を同時に読み出そうとした際、データ2が壊れていることを検出したとする。すると、読み出しコントローラ22は、一旦、データ2とデータ3のデータを破棄する。そして今度は、読み出しコントローラ22は、異常が検出されたHDD#0のセクタ2に格納された単位データの読み出し先をHDD#1のセクタ2に切り替えて、HDD#0の読み出し対象セクタをセクタ2から1つ先へずらしたセクタ3に設定する。つまり、読み出しコントローラ22は、HDD#1のセクタ2を始点として、HDD#0の奇数セクタおよびHDD#1の偶数セクタからそれ以降の単位データをそれぞれ同時に読み出すよう制御を変更する。例えば、読み出しコントローラ22は、まず、HDD#1のセクタ2からデータ2、HDD#0のセクタ3からデータ3を同時に読み出し、データ2とデータ3を同時に要求元に送付する。次に読み出しコントローラ22は、HDD#1のセクタ4からデータ4、HDD#0のセクタ5からデータ5を同時に読み出し、それらを要求元に送付する。以降の単位データについても同様である。
(Read when data error is detected)
Next, an operation in the case where certain unit data (in the following example, data 2 stored in sector 2 of HDD # 0) is broken and cannot be read normally will be described as an example.
FIG. 3 is a second diagram illustrating the data input / output method according to the first embodiment of the present invention.
It is assumed that a read request for data of eight sectors has been made from the request source. As described in the normal case, the read controller 22 first reads data 0 from sector 0 of HDD # 0 and data 1 from sector 1 of HDD # 1 simultaneously, and sends data 0 and data 1 simultaneously to the request source. Send it. Next, it is assumed that the read controller 22 detects that data 2 is corrupted when trying to simultaneously read data 2 from sector 2 of HDD # 0 and data 3 from sector 3 of HDD # 1. Then, the read controller 22 temporarily discards the data 2 and the data 3. Then, this time, the read controller 22 switches the reading destination of the unit data stored in the sector 2 of the HDD # 0 in which the abnormality is detected to the sector 2 of the HDD # 1, and sets the read target sector of the HDD # 0 to the sector 2. Is set to sector 3 which is shifted to the next one. That is, the read controller 22 changes the control so as to simultaneously read unit data from the odd-numbered sector of the HDD # 0 and the even-numbered sector of the HDD # 1 starting from the sector 2 of the HDD # 1. For example, the read controller 22 first reads data 2 from sector 2 of HDD # 1 and data 3 from sector 3 of HDD # 0 at the same time, and simultaneously sends data 2 and data 3 to the request source. Next, the read controller 22 simultaneously reads data 4 from sector 4 of HDD # 1 and data 5 from sector 5 of HDD # 0 and sends them to the request source. The same applies to the subsequent unit data.

このような読出し制御により、データ2とデータ3を一度破棄し読み出し直すことによる1セクタのデータ読み出し分の遅れは生じるものの、HDD#0およびHDD#1から同時に連続する単位データを読み出すことができるため、通常時と同様に高速なデータ読み出しを継続することができる。   Such read control causes a delay of one sector data read due to once discarding and re-reading data 2 and data 3, but it is possible to read simultaneously continuous unit data from HDD # 0 and HDD # 1. Therefore, high-speed data reading can be continued as in the normal case.

(HDD障害時)
次に、あるHDD全体(以下の例では、HDD#0)が固定的に故障した場合の動作を説明する。
図4は、本発明の第一実施形態によるデータ入出力方法を説明する第3の図である。
HDD#0が故障している場合、RAIDコントローラ2は、通常のRAID1と同様、HDD#0を閉塞する。そして、要求元から8セクタ分のデータに対する読み出し要求があると、読み出しコントローラ22は、HDD#1からのみデータの読み出しを行う。読み出しコントローラ22は、セクタ0からセクタ7まで1セクタずつ順に単位データを読み出し、その都度、ホスト装置1へデータ0〜データ7を送付する。
なお、書き込みについては、書き込みコントローラ22が、閉塞されていないHDD#1に対して、図2の下表で例示したように書き込みを行う。
HDD障害時の読み出しおよび書き込み処理は、RAID1と同じである。
(At HDD failure)
Next, an operation in the case where an entire HDD (HDD # 0 in the following example) has a fixed failure will be described.
FIG. 4 is a third diagram illustrating the data input / output method according to the first embodiment of the present invention.
When the HDD # 0 has failed, the RAID controller 2 closes the HDD # 0 as in the case of the normal RAID1. Then, when there is a read request for data for eight sectors from the request source, the read controller 22 reads data only from HDD # 1. The read controller 22 reads the unit data in order from sector 0 to sector 7 one by one, and sends data 0 to data 7 to the host device 1 each time.
As for writing, the writing controller 22 writes data to the unblocked HDD # 1 as illustrated in the lower table of FIG.
The read and write processes at the time of HDD failure are the same as in RAID1.

(リビルド処理)
図5は、本発明の第一実施形態によるリビルド処理を説明する図である。
HDD#0が故障した場合、HDD#0を交換して、新たなHDD#0にHDD#1に書き込まれたデータと同じデータを書き込む。HDD#0にデータを書き込んでHDD#0とHDD#1の2台構成(RAID1)の状態に再構成する処理をリビルド処理という。具体的には、例えば、読み出しコントローラ22が、HDD#1からセクタ順に単位データを読み出し、書き込みコントローラ21へ送る。書き込みコントローラ21は、何もデータが書き込まれていないHDD#0の各セクタへHDD#1の同じセクタ位置に書き込まれたものと同じ単位データを書き込む。リビルト処理が終了すると、HDD#0とHDD#1に書き込まれたデータは一致する。従って、リビルト処理後は、図2を用いて説明したように、書き込み時には、HDD#0とHDD#1の同じセクタ位置に同じ単位データを書き込み、読み出し時には、HDD#0の偶数セクタおよびHDD#1の奇数セクタから同時に単位データを読み出すという制御を行うことができる。これにより、本実施形態による冗長性の確保、および高速読み出しを実現することができる。
(Rebuild processing)
FIG. 5 is a diagram illustrating a rebuild process according to the first embodiment of the present invention.
If the HDD # 0 fails, the HDD # 0 is replaced and the same data as the data written to the HDD # 1 is written to the new HDD # 0. A process of writing data to the HDD # 0 and reconfiguring it into a two-device configuration (RAID1) of the HDD # 0 and the HDD # 1 is called a rebuild process. Specifically, for example, the read controller 22 reads unit data from the HDD # 1 in the order of sectors and sends the unit data to the write controller 21. The write controller 21 writes the same unit data written in the same sector position of the HDD # 1 to each sector of the HDD # 0 where no data is written. When the rebuild process is completed, the data written to HDD # 0 and HDD # 1 match. Therefore, after the rebuilding process, as described with reference to FIG. 2, the same unit data is written in the same sector position of the HDD # 0 and the HDD # 1 at the time of writing, and the even unit and the HDD # 0 of the HDD # 0 are read at the time of reading. It is possible to control to simultaneously read out unit data from one odd-numbered sector. As a result, it is possible to secure redundancy and realize high-speed reading according to the present embodiment.

上記説明したように、本実施形態によれば、複数のHDDに同一のデータを書き込むことで冗長性を保ちつつ、複数のHDDから同時に別の単位データを読み出すことで、読み出し性能の高速化を図ることができる。特に連続する単位データを同時に読み出すことができるので、データ読み出し後の処理の高速化にも貢献することができる。
なお、ディスクアレイ装置を2つのHDDで構成する例を示したが、HDDの数は3台以上であってもよい。その場合、読み出しコントローラ22は、複数のHDDの1ずつずらしたセクタ位置から、同時に単位データを読み出す制御を行う。
As described above, according to the present embodiment, while maintaining redundancy by writing the same data to a plurality of HDDs, reading another unit data from a plurality of HDDs at the same time increases the read performance. Can be planned. In particular, since continuous unit data can be read at the same time, it is possible to contribute to speeding up of processing after data reading.
Although the example in which the disk array device is configured by two HDDs has been described, the number of HDDs may be three or more. In this case, the read controller 22 controls to simultaneously read the unit data from the sector positions of the plurality of HDDs shifted by one.

<第二実施形態>
第一実施形態では、HDD#0の偶数セクタおよびHDD#1の奇数セクタから同時に単位データを読み出す制御を説明した。第二実施例では、HDD#0とHDD#1の同じセクタ位置から同時に単位データを読み出す制御を説明する。
図6は、本発明の第二実施形態によるデータ入出力方法を説明する第1の図である。
図7は、本発明の第二実施形態によるデータ格納順の一例を示す図である。
第二実施形態においても図1で例示した情報処理システム100の構成を前提に説明を行う。但し、書き込みコントローラと読み込みコントローラの機能が第一実施形態と異なるため、書き込みコントローラ21a、読み込みコントローラ22aと記載する。
<Second embodiment>
In the first embodiment, control for simultaneously reading unit data from the even sector of HDD # 0 and the odd sector of HDD # 1 has been described. In the second embodiment, control for simultaneously reading unit data from the same sector position of HDD # 0 and HDD # 1 will be described.
FIG. 6 is a first diagram illustrating a data input / output method according to the second embodiment of the present invention.
FIG. 7 is a diagram illustrating an example of a data storage order according to the second embodiment of the present invention.
The description of the second embodiment will also be made on the premise of the configuration of the information processing system 100 illustrated in FIG. However, since the functions of the write controller and the read controller are different from those of the first embodiment, they are described as a write controller 21a and a read controller 22a.

(データの書き込み)
ディスクアレイ装置3への8セクタ長(データ0〜データ7)の書き込み要求があった場合、書き込みコントローラ21aは、HDD#0およびHDD#1の両方に8セクタ分のデータの書き込みを実施する。第二実施形態では、書き込みコントローラ21aは、HDD#0およびHDD#1に書き込む単位データの順序をあらかじめ入れ替える。どのように並べるかについては、読み出しコントローラ22aが、HDD#0およびHDD#1におけるある同じセクタ位置を始点としてセクタ順に読み出しを行った場合に、書き込み前のデータ(データ0〜データ7)の並びにおいて隣り合う単位データを同時に読み出すことができるように並び替えを行う。例えば、書き込みコントローラ21aは、HDD#0については、書き込み前データのうち、偶数が付された単位データを抽出してそれらの並び順を維持したまま前半に並べ、その後に奇数が付された単位データの並び順を変えることなく連続して並べ、その並びのままHDD#0へ書き込む。具体的には、書き込みコントローラ21aは、データ0〜データ7という並びを、データ0、データ2、データ4、データ6、データ1、データ3、データ5、データ7の順に並び替えて、この順のままセクタ順に格納していく。
(Write data)
When an 8-sector-length (data 0 to data 7) write request is issued to the disk array device 3, the write controller 21a writes 8 sectors of data to both the HDD # 0 and the HDD # 1. In the second embodiment, the write controller 21a switches the order of the unit data to be written to the HDDs # 0 and # 1 in advance. Regarding the arrangement, when the read controller 22a performs reading in the sector order starting from a certain same sector position in the HDD # 0 and the HDD # 1, the arrangement of data (data 0 to data 7) before writing is performed. Is rearranged so that adjacent unit data can be read simultaneously. For example, with respect to HDD # 0, the write controller 21a extracts, from the pre-write data, unit data to which even numbers are assigned, arranges them in the first half while maintaining their arrangement order, and thereafter adds units to which odd numbers are assigned. The data is arranged continuously without changing the arrangement order, and the data is written to the HDD # 0 as it is. Specifically, the write controller 21a rearranges the order of data 0 to data 7 in the order of data 0, data 2, data 4, data 6, data 1, data 3, data 5, and data 7, and The data is stored in the sector order as it is.

同様に、書き込みコントローラ21aは、HDD#1については、奇数が付された単位データを抽出してそれらの並び順を維持したまま前半に並べ、その後ろに偶数が付された単位データの並び順を変えることなく並べる。具体的には、書き込みコントローラ21aは、データ0〜データ7という並びを、データ1、データ3、データ5、データ7、データ0、データ2、データ4、データ6の順に並び替えて、この順のまま、HDD#1におけるHDD#0と同じセクタ位置に格納していく。書き込み後の様子を図6、図7(a)に示す。図7(a)の表に例示するように、HDD#0のセクタ0にはデータ0が、HDD#1のセクタ0にはデータ1が格納され、HDD#0のセクタ1にはデータ2が、HDD#1のセクタ1にはデータ3が格納される。以降のセクタについても同様である。つまり、HDD#0とHDD#1の同じ位置のセクタから同時に単位データを読み取ると、元のデータ(データ0〜データ7)の並びにおいて連続する単位データを取得することができる。このように第二実施形態では、読み出しコントローラ22aが、HDD#0およびHDD#1の例えばセクタ0から順に1つずつ次のセクタ位置を読み出したときに、同時に連続する単位データが得られるように並び替えを行って、書き込みを行う。また、書き込むセクタ長により書き込みセクタ位置は異なるため、読み出しコントローラ22aは、セクタ長の情報についても同時に(例えば、書き込み開始セクタ位置と対応付けて)HDD#0、HDD#1に書き込んで保持しておく。図7(b)に書き込み対象データの長さが4セクタ長の場合の書き込みセクタ位置を示す。   Similarly, for the HDD # 1, the write controller 21a extracts the odd-numbered unit data and arranges them in the first half while maintaining their arrangement order, followed by the arrangement order of the even-numbered unit data. Line up without changing. Specifically, the write controller 21a rearranges the order of data 0 to data 7 in the order of data 1, data 3, data 5, data 7, data 0, data 2, data 4, and data 6, and The data is stored in the same sector position in HDD # 1 as in HDD # 0. The state after writing is shown in FIGS. 6 and 7A. 7A, data 0 is stored in sector 0 of HDD # 0, data 1 is stored in sector 0 of HDD # 1, and data 2 is stored in sector 1 of HDD # 0. Data 3 is stored in sector 1 of HDD # 1. The same applies to the subsequent sectors. That is, by reading unit data from sectors at the same position in HDD # 0 and HDD # 1 at the same time, continuous unit data in the original data (data 0 to data 7) can be obtained. As described above, in the second embodiment, when the read controller 22a reads the next sector position one by one in order from, for example, sector 0 of HDD # 0 and HDD # 1, it is possible to obtain simultaneously continuous unit data. Rearrange and write. Since the write sector position differs depending on the write sector length, the read controller 22a also writes and holds the sector length information in the HDDs # 0 and # 1 simultaneously (for example, in association with the write start sector position). deep. FIG. 7B shows a write sector position when the length of the data to be written is 4 sectors.

(通常時の読み出し)
次に第二実施形態の読み出し処理について説明する。まず、通常時(非障害時)の動作について説明する。ホスト装置1から8セクタ長のデータの読み出し指示を受けると、読み出しコントローラ22aは、HDD#0とHDD#1の同じセクタ位置から並行して同時に単位データの読み出しを行う。図7(a)の例では、読み出しコントローラ22aは、まず、HDD#0のセクタ0とHDD#1のセクタ0から同時に単位データの読み出しを行う。読み出しコントローラ22aは、読み出した単位データ(データ0とデータ1)を同時に要求元(ホスト装置1)へ送付する。
(Normal reading)
Next, a reading process according to the second embodiment will be described. First, a normal operation (non-failure operation) will be described. Upon receiving an instruction to read data having a length of 8 sectors from the host device 1, the read controller 22a reads unit data simultaneously and simultaneously from the same sector position of the HDD # 0 and the HDD # 1. In the example of FIG. 7A, first, the read controller 22a simultaneously reads unit data from sector 0 of HDD # 0 and sector 0 of HDD # 1. The read controller 22a simultaneously sends the read unit data (data 0 and data 1) to the request source (host device 1).

次に読み出しコントローラ22aは、HDD#0のセクタ1からデータ2を、HDD#1のセクタ1からデータ3を同時に読み出し、それらを同時に要求元へ送付する。以降も同様にして、読み出しコントローラ22aは、HDD#0のセクタ2およびHDD#1のセクタ2から同時に単位データ(データ4とデータ5)を読み出し、それらを同時に要求元へ送付する。最後に読み出しコントローラ22aは、HDD#0のセクタ3およびHDD#1のセクタ3から同時に単位データ(データ6とデータ7)を読み出し、それらを要求元へ同時に送付する。このようにして8セクタ分のデータを読み出す。
このような処理により、第一実施形態と同様に、データの冗長性を確保しつつ、片方のHDDからのみデータを読み出す場合に比べ、2倍の速度で読み出すことができる。
Next, the read controller 22a simultaneously reads data 2 from sector 1 of HDD # 0 and data 3 from sector 1 of HDD # 1 and sends them simultaneously to the request source. Thereafter, similarly, the read controller 22a simultaneously reads the unit data (data 4 and data 5) from the sector 2 of the HDD # 0 and the sector 2 of the HDD # 1, and sends them simultaneously to the request source. Finally, the read controller 22a reads the unit data (data 6 and data 7) from the sector 3 of the HDD # 0 and the sector 3 of the HDD # 1 at the same time, and sends them simultaneously to the request source. Thus, data for eight sectors is read.
With such processing, as in the first embodiment, data can be read at twice the speed as compared with the case of reading data from only one of the HDDs while ensuring data redundancy.

ここで、第一実施形態の読み出し処理と比較する。第一実施形態では、HDD#0の偶数セクタおよびHDD#1の奇数セクタから同時に単位データを読み出すこととしている。1つのHDDに着目すると、セクタを1つ飛ばしでデータを読み込むことになる。HDDの性質として、連続しないセクタからデータを読み出す場合には、セクタを再サーチする処理が行われる。その観点からは、第一実施形態の読み出し処理には、再サーチによる若干の速度低下が発生する。これに対し、第二実施形態では、読み出しコントローラ22aは、HDD#0およびHDD#1における連続するセクタから次々と読み出しを行う。その為、セクタの再サーチが実行されることが無く、より高速な読み出しが可能となる。   Here, a comparison is made with the read processing of the first embodiment. In the first embodiment, unit data is simultaneously read from the even-numbered sector of HDD # 0 and the odd-numbered sector of HDD # 1. Focusing on one HDD, data is read by skipping one sector. As a property of the HDD, when data is read from discontinuous sectors, a process of re-searching the sectors is performed. From that point of view, in the read processing of the first embodiment, a slight speed reduction due to the re-search occurs. On the other hand, in the second embodiment, the read controller 22a sequentially reads data from consecutive sectors in the HDD # 0 and the HDD # 1. For this reason, the sector is not re-searched, and higher-speed reading can be performed.

(データ異常検出時の読み出し)
次に、ある単位データ(以下の例では、HDD#0のセクタ1に格納されているデータ2)が壊れ、正常に読み出すことができなかった場合の動作を例に説明を行う。
図8は、本発明の第二実施形態によるデータ入出力方法を説明する第2の図である。
要求元から8セクタ分のデータに対する読み出し要求があったとする。通常時の場合で説明したように、読み出しコントローラ22aは、まず、HDD#0のセクタ0からデータ0、HDD#1のセクタ0からデータ1を同時に読み出し、データ0とデータ1を同時に要求元に送付する。次に読み出しコントローラ22aがHDD#0のセクタ1からデータ2、HDD#1のセクタ1からデータ3を同時に読み出そうとした際、データ2が壊れていることを検出したとする。すると、読み出しコントローラ22aは、一旦、データ2とデータ3のデータを破棄する。そして今度は、読み出しコントローラ22aは、異常が検出されたHDD#0のセクタ1が格納する単位データの読み出し先をHDD#1に切り替えて、HDD#1においてデータ2が格納されたセクタ5を、HDD#0およびHDD#1の読み出し対象のセクタ位置に設定する。そして、読み出しコントローラ22aは、HDD#0のセクタ5からデータ3、HDD#1のセクタ5からデータ2を同時に読み出し、データ3とデータ2を同時に要求元に送付する。次に読み出しコントローラ22aは、HDD#0のセクタ6からデータ5、HDD#1のセクタ6からデータ4を同時に読み出し、それらの単位データを同時に要求元に送付する。最後に読み出しコントローラ22aは、HDD#0のセクタ7からデータ7、HDD#1のセクタ7からデータ6を同時に読み出し、それらの単位データを同時に要求元に送付する。
(Read when data error is detected)
Next, an operation in the case where certain unit data (in the following example, data 2 stored in the sector 1 of the HDD # 0) is broken and cannot be read normally will be described as an example.
FIG. 8 is a second diagram illustrating the data input / output method according to the second embodiment of the present invention.
It is assumed that a read request for data of 8 sectors has been made from the request source. As described in the normal case, the read controller 22a first reads data 0 from sector 0 of HDD # 0 and data 1 from sector 0 of HDD # 1 at the same time, and sends data 0 and data 1 simultaneously to the request source. Send it. Next, suppose that the read controller 22a detects that data 2 is corrupted when trying to simultaneously read data 2 from sector 1 of HDD # 0 and data 3 from sector 1 of HDD # 1. Then, the read controller 22a once discards the data 2 and the data 3. Then, this time, the read controller 22a switches the read destination of the unit data stored in the sector 1 of the HDD # 0 in which the abnormality is detected to the HDD # 1, and replaces the sector 5 in the HDD # 1 with the data 2 stored therein. This is set to the position of the sector to be read from HDD # 0 and HDD # 1. Then, the read controller 22a simultaneously reads the data 3 from the sector 5 of the HDD # 0 and the data 2 from the sector 5 of the HDD # 1, and simultaneously sends the data 3 and the data 2 to the request source. Next, the read controller 22a reads data 5 from the sector 6 of the HDD # 0 and data 4 from the sector 6 of the HDD # 1 at the same time, and simultaneously sends the unit data to the request source. Finally, the read controller 22a simultaneously reads the data 7 from the sector 7 of the HDD # 0 and the data 6 from the sector 7 of the HDD # 1, and simultaneously sends the unit data to the request source.

この例に示すように読み出しコントローラ22aは、異常データの検出前は、偶数が付された単位データをHDD#0から、奇数が付された単位データをHDD#1から同時に読み出すよう動作する。そして、異常データの検出後は、読み出しコントローラ22aは、奇数が付された単位データをHDD#0から、偶数が付された単位データをHDD#1から同時に読み出すよう制御を変更する。   As shown in this example, before detecting abnormal data, the read controller 22a operates to simultaneously read even-numbered unit data from HDD # 0 and odd-numbered unit data from HDD # 1. After detecting the abnormal data, the read controller 22a changes the control so that the odd-numbered unit data is simultaneously read from the HDD # 0 and the even-numbered unit data is simultaneously read from the HDD # 1.

これにより、データ2とデータ3を一度破棄し読み出し直すことによる1セクタのデータ読み出し分の遅れは生じるものの、以降はHDD#0およびHDD#1から同時に連続する単位データを読み出すことができるため、通常時と同様に高速なデータ読み出しを継続することができる。   As a result, although the data 2 and the data 3 are once discarded and read again, there is a delay corresponding to the data reading of one sector, but subsequently, unit data that is simultaneously continuous can be read from the HDDs # 0 and # 1. High-speed data reading can be continued as in the normal case.

(HDD障害時)
次に、あるHDD全体(以下の例では、HDD#0)が固定的に故障した場合の動作を説明する。
図9は、本発明の第二実施形態によるデータ入出力方法を説明する第3の図である。
HDD#0が故障している場合、RAIDコントローラ2は、通常のRAID1と同様にHDD#0を閉塞する。そして、要求元から8セクタ分のデータ書き出し要求があると、書き込みコントローラ22aは、閉塞されていないHDD#1にのみ書き込みを行う。このとき、書き込みコントローラ22aは、上記で説明したようにセクタ長に応じた並べ替えを行ってデータの書き込みとセクタ長情報の書き込みを行う。例えば、書き込みコントローラ22aは、データ0〜データ7を、データ1、データ3、データ5、データ7、データ0、データ2、データ4、データ6の順に並び変えて、HDD#1に書き込む。次に説明するように通常時と同様に並べ替えを行って書き込むことにより、リビルド処理後に図6、図7(a)で例示したディスク構成を再現することができる。
(At HDD failure)
Next, an operation in the case where an entire HDD (HDD # 0 in the following example) has a fixed failure will be described.
FIG. 9 is a third diagram illustrating a data input / output method according to the second embodiment of the present invention.
When the HDD # 0 has failed, the RAID controller 2 closes the HDD # 0 as in the case of the normal RAID1. Then, when there is a data write request for eight sectors from the request source, the write controller 22a writes only to the unblocked HDD # 1. At this time, the write controller 22a performs data writing and sector length information by performing rearrangement according to the sector length as described above. For example, the write controller 22a rearranges data 0 to data 7 in the order of data 1, data 3, data 5, data 7, data 0, data 2, data 4, and data 6, and writes the data to HDD # 1. As described below, by rearranging and writing in the same manner as in the normal case, the disk configuration illustrated in FIGS. 6 and 7A can be reproduced after the rebuild process.

そして、要求元から8セクタ分のデータに対する読み出し要求があると、読み出しコントローラ22aは、HDD#1からのみデータの読み出しを行う。読み出しコントローラ22aは、書き込み前データの並び順に単位データを読み出し、ホスト装置1へ読み出した単位データを送付する。例えば、読み出しコントローラ22aは、セクタ4、セクタ0、セクタ5、セクタ1、セクタ6、セクタ2、セクタ7、セクタ3の順に単位データを読み出して、その都度、ホスト装置1へ送付する。   Then, when there is a read request for data for eight sectors from the request source, the read controller 22a reads data only from HDD # 1. The read controller 22a reads the unit data in the order of the pre-write data, and sends the read unit data to the host device 1. For example, the read controller 22a reads unit data in the order of sector 4, sector 0, sector 5, sector 1, sector 6, sector 2, sector 7, and sector 3, and sends the data to the host device 1 each time.

(リビルド処理)
図10は、本発明の第二実施形態によるリビルド処理を説明する図である。
HDD#0が故障した場合、HDD#0を交換してリビルド処理を行う。具体的には、読み出しコントローラ22aが、上記の「HDD障害時」で説明したように、読み出し後の単位データの並びが元の並び順(データ0〜データ7)となるよう、HDD#1の適切なセクタ位置から単位データを読み出し、セクタ長さ(この例では8)の情報とともに書き込みコントローラ21aへ送る。書き込みコントローラ21aは、上記の「データの書き込み」で説明したように、セクタ長に応じたHDD#0向けの並び替えを行って、HDD#0への書き込みを行う。リビルト処理が終了すると、HDD#0とHDD#1に書き込まれたデータは、図6および図7(a)で例示したものになる。リビルド処理後は、図6を用いて説明したように、書き込みコントローラ21aが、セクタ長に応じた並べ替えを行って、連続するセクタに順に書き込む。そして、読み出しコントローラ22aは、同時にHDD#0とHDD#1の同じセクタ位置の単位データをセクタ順に読み出していく。これにより、本実施形態による冗長性の確保、および高速読み出しを実現することができる。
(Rebuild processing)
FIG. 10 is a diagram illustrating a rebuild process according to the second embodiment of the present invention.
When the HDD # 0 fails, the HDD # 0 is replaced and the rebuild process is performed. More specifically, the read controller 22a operates the HDD # 1 so that the arrangement of the read unit data is the original arrangement order (data 0 to data 7), as described in the above "when an HDD failure occurs". The unit data is read from an appropriate sector position and sent to the write controller 21a together with information on the sector length (8 in this example). The write controller 21a performs the rearrangement for the HDD # 0 according to the sector length and writes the data to the HDD # 0, as described in the above-mentioned "data writing". When the rebuilding process is completed, the data written to HDD # 0 and HDD # 1 are as illustrated in FIGS. 6 and 7A. After the rebuild processing, as described with reference to FIG. 6, the write controller 21a performs rearrangement according to the sector length and sequentially writes the data in consecutive sectors. Then, the read controller 22a simultaneously reads the unit data at the same sector position of the HDD # 0 and the HDD # 1 in the order of the sectors. As a result, it is possible to secure redundancy and realize high-speed reading according to the present embodiment.

本実施形態によれば、第一実施形態と同様、ディスクアレイ装置3の可用性および読み出し性能の向上を実現することができる。また、第一実施形態に比べ、読み出し速度をより高速化することができる。
なお、ディスクアレイ装置3を2つのHDD(HDD#0、HDD#1)で構成する例を示したが、HDDの数は3台以上であっても同様の書き込み制御および読み出し制御を適用することができる。例えば、HDDの数が3台(HDD#0、HDD#1、HDD#2)で、書き込む単位データの並びがデータ0〜データ7のデータの場合、図11に示すように並び替えて各HDDへ書き込んでもよい。具体的には、書き込みコントローラ21aは、HDD#0について、データ0、データ3、データ6、データ2、データ5、(空き)、データ1、データ4、データ7の順に並び替えて、この順のままセクタ順に格納していく。また、書き込みコントローラ21aは、HDD#1について、データ1、データ4、データ7、データ0、データ3、データ6、データ2、データ5、(空き)の順に並び替えて、この順のままセクタ順に格納していく。また、書き込みコントローラ21aは、HDD#2について、データ2、データ5、(空き)、データ1、データ4、データ7、データ0、データ3、データ6の順に並び替えて、この順のままセクタ順に格納していく。
According to the present embodiment, similarly to the first embodiment, the availability and read performance of the disk array device 3 can be improved. Further, the reading speed can be further increased as compared with the first embodiment.
Although the example in which the disk array device 3 is configured with two HDDs (HDD # 0, HDD # 1) has been described, the same write control and read control may be applied even when the number of HDDs is three or more. Can be. For example, when the number of HDDs is three (HDD # 0, HDD # 1, HDD # 2) and the arrangement of unit data to be written is data 0 to data 7, the rearrangement is performed as shown in FIG. May be written to. Specifically, the write controller 21a rearranges the data of HDD # 0 in the order of data 0, data 3, data 6, data 2, data 5, (empty), data 1, data 4, and data 7, and in this order. The data is stored in the sector order as it is. Further, the write controller 21a sorts the HDD # 1 in the order of data 1, data 4, data 7, data 0, data 3, data 6, data 2, data 5, and (empty), and keeps the sector in this order. Store them in order. The write controller 21a sorts the HDD # 2 in the order of data 2, data 5, (empty), data 1, data 4, data 7, data 0, data 3, and data 6, and keeps the sector in this order. Store them in order.

図12は、本発明の各実施形態における制御装置の最小構成を示す図である。
図12に示すように制御装置200は、少なくとも書込部210と、読出部220と、を備える。
書込部210は、単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込む。
読出部220は、複数のハードディスクの各々から並行して単位データごとに読み出しを行う。読出部220は、あるデータを読み出す場合、書き込み前の当該データの並びにおいて隣り合う単位データを異なるハードディスクから同時に読み出す。
一つの実施形態では、読出部220は、複数のハードディスクの1ずつ異なるセクタ位置から単位データを同時に読み出してもよい。
一つの実施形態では、書込部210は、読出部220が複数のハードディスクのそれぞれにおける同じセクタを始点としてセクタ順に読み出しを行った場合に、書き込み前のデータの並びにおいて隣り合う単位データを同時に読み出すことができるように単位データの並びを変更して、複数のハードディスクの各々に書き込んでもよい。
制御装置200は、上記の各実施形態におけるRAIDコントローラ2に対応する。書込部210は、書き込みコントローラ21,21aに対応する。読出部220は、読み出しコントローラ22,22aに対応する。
FIG. 12 is a diagram illustrating a minimum configuration of the control device according to each embodiment of the present invention.
As shown in FIG. 12, the control device 200 includes at least a writing unit 210 and a reading unit 220.
The writing unit 210 writes data to be written composed of a plurality of unit data arranged in each of a plurality of hard disks.
The reading unit 220 reads data from each of the plurality of hard disks in parallel for each unit data. When reading certain data, the reading unit 220 simultaneously reads, from different hard disks, unit data adjacent to each other in the arrangement of the data before writing.
In one embodiment, the reading unit 220 may simultaneously read unit data from different sector positions of each of a plurality of hard disks.
In one embodiment, when the reading unit 220 performs reading in the sector order starting from the same sector in each of the plurality of hard disks, the writing unit 210 simultaneously reads adjacent unit data in the data arrangement before writing. The arrangement of the unit data may be changed so that the data can be written to each of the plurality of hard disks.
The control device 200 corresponds to the RAID controller 2 in each of the above embodiments. The writing unit 210 corresponds to the writing controllers 21 and 21a. The read unit 220 corresponds to the read controllers 22, 22a.

その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。   In addition, it is possible to appropriately replace the components in the above-described embodiment with known components without departing from the spirit of the present invention. The technical scope of the present invention is not limited to the above embodiment, and various changes can be made without departing from the spirit of the present invention.

100・・・情報処理システム
1・・・ホスト装置
2・・・RAIDコントローラ
3・・・ディスクアレイ装置
11・・・OS
12・・・ドライバ
13・・・CPU
21、21a・・・書き込みコントローラ
22、22a・・・読み出しコントローラ
3・・・ディスクアレイ装置
#0、#1・・・HDD
200・・・制御装置
210・・・書込部
220・・・読出部
100 Information processing system 1 Host device 2 RAID controller 3 Disk array device 11 OS
12 ... Driver 13 ... CPU
21, 21a Write controller 22, 22a Read controller 3 Disk array device # 0, # 1 HDD
200 control device 210 writing unit 220 reading unit

Claims (6)

単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込む書込部と、
複数の前記ハードディスクの各々から並行して単位データごとに読み出しを行う読出部と、を備え、
前記書込部は、前記データの並びを変更せずに前記ハードディスクの各々に書き込み、
前記データを読み出す場合、前記読出部は、書き込み前の前記データの並びにおいて連続する前記単位データの各々を、複数の前記ハードディスクの1ずつ異なるセクタ位置から同時に読み出し、
前記読出部は、一の前記ハードディスクの第1セクタ位置で異常を検出すると、残りの前記ハードディスクのうちの何れかにおいて、読み出し対象セクタを前記第1セクタ位置に設定し、当該ハードディスク以外の前記ハードディスクについては、前記第1セクタ位置を基準に1ずつ異なるセクタ位置を、新たな読み出し対象セクタとして設定する、
制御装置。
A writing unit that writes data to be written composed of a plurality of unit data in each of a plurality of hard disks;
A reading unit that reads in units of unit data in parallel from each of the plurality of hard disks,
The writing unit writes to each of the hard disks without changing the arrangement of the data,
When reading the data, the reading section, each of said unit data successive in arrangement of the data before the write, and read out simultaneously from 1 by different sectors positions of the plurality of hard disks,
When detecting an abnormality at a first sector position of one of the hard disks, the reading unit sets a read target sector at the first sector position in one of the remaining hard disks, and sets the hard disk other than the hard disk. Is set as a new sector to be read, a sector position that differs by one from the first sector position.
Control device.
単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込む書込部と、
複数の前記ハードディスクの各々から並行して単位データごとに読み出しを行う読出部と、を備え、
前記書込部は、前記読出部が複数の前記ハードディスクのそれぞれにおける同じセクタ位置を始点としてセクタ順に読み出しを行った場合に、書き込み前の前記データの並びにおいて連続する前記単位データを同時に読み出すことができるように前記単位データの並びを変更して、複数の前記ハードディスクの各々に書き込み、
前記データを読み出す場合、前記読出部は、書き込み前の前記データの並びにおいて連続する前記単位データの各々を、異なる前記ハードディスクからセクタ順に同時に読み出し、
前記読出部は、一の前記ハードディスクの一のセクタ位置で異常を検出すると、残りの前記ハードディスクのうちの何れかにおいて、前記異常が検出されたセクタ位置に書き込まれたものと同じ前記単位データが書き込まれたセクタ位置を、新たな読み出し対象セクタとして設定する、
制御装置。
A writing unit that writes data to be written composed of a plurality of unit data in each of a plurality of hard disks;
A reading unit that reads in units of unit data in parallel from each of the plurality of hard disks,
The writing unit, when the reading unit performs reading in the order of sectors starting from the same sector position in each of the plurality of hard disks, sequentially reads the unit data consecutive in the data arrangement before writing. Changing the arrangement of the unit data so that it can be written to each of the plurality of hard disks,
When reading the data, the reading unit reads each of the unit data consecutive in the data arrangement before writing, simultaneously from different hard disks in sector order,
When the reading unit detects an abnormality at one sector position of one of the hard disks, the same unit data as that written at the sector position at which the abnormality is detected is applied to one of the remaining hard disks. Setting the written sector position as a new read target sector,
Control device.
一の前記ハードディスクが故障した場合、当該ハードディスクを閉塞し、
前記書込部は、他の前記ハードディスクへ閉塞前と同様の並び順で、前記単位データの書き込みを行う、
請求項2に記載の制御装置。
If one of the hard disks fails, close the hard disk,
The writing unit writes the unit data to the other hard disks in the same arrangement order as before the blockage,
The control device according to claim 2 .
複数のハードディスクと、
請求項1から請求項の何れか1項に記載の制御装置と、
を備えるディスクアレイシステム。
Multiple hard disks,
A control device according to any one of claims 1 to 3 ,
A disk array system comprising:
単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込むステップと、
複数の前記ハードディスクの各々から並行して単位データごとに読み出しを行うステップと、を有し、
前記書き込むステップでは、前記データの並びを変更せずに前記ハードディスクの各々に書き込み、
前記データを読み出す場合、前記読み出しを行うステップにて、書き込み前の前記データの並びにおいて連続する前記単位データの各々を、複数の前記ハードディスクの1ずつ異なるセクタ位置から同時に読み出し、
前記読み出しを行うステップにて、一の前記ハードディスクの第1セクタ位置で異常を検出すると、残りの前記ハードディスクのうちの何れかにおいて、読み出し対象セクタを前記第1セクタ位置に設定し、当該ハードディスク以外の前記ハードディスクについては、前記第1セクタ位置を基準に1ずつ異なるセクタ位置を、新たな読み出し対象セクタとして設定する、
データ入出力方法。
Writing data to be written composed of a plurality of unit data to each of the plurality of hard disks;
Reading in units of unit data in parallel from each of the plurality of hard disks,
In the writing step, writing to each of the hard disks without changing the arrangement of the data,
When reading the data, in performing the read, each of the unit data to consecutive in a sequence of the data before the write, and read out simultaneously from 1 by different sectors positions of the plurality of hard disks,
In the reading step, when an abnormality is detected at the first sector position of one hard disk, a read target sector is set at the first sector position in any of the remaining hard disks, In the hard disk, a sector position that differs by one from the first sector position is set as a new read target sector.
Data input / output method.
単位データが複数並んで構成される書き込み対象のデータを、複数のハードディスクの各々に書き込むステップと、Writing data to be written composed of a plurality of unit data to each of the plurality of hard disks;
複数の前記ハードディスクの各々から並行して単位データごとに読み出しを行うステップと、を有し、  Reading in units of unit data in parallel from each of the plurality of hard disks,
前記書き込むステップでは、前記読み出しを行うステップにて複数の前記ハードディスクのそれぞれにおける同じセクタ位置を始点としてセクタ順に読み出しを行った場合に、書き込み前の前記データの並びにおいて連続する前記単位データを同時に読み出すことができるように前記単位データの並びを変更して、複数の前記ハードディスクの各々に書き込み、In the writing step, when reading is performed in the sector order starting from the same sector position in each of the plurality of hard disks in the reading step, the unit data consecutive in the data arrangement before writing is simultaneously read Changing the arrangement of the unit data so that it can be written to each of the plurality of hard disks,
前記データを読み出す場合、前記読み出しを行うステップにて、書き込み前の前記データの並びにおいて連続する前記単位データの各々を、異なる前記ハードディスクからセクタ順に同時に読み出し、In the case of reading the data, in the step of performing the reading, each of the unit data continuous in the data arrangement before writing is simultaneously read from different hard disks in sector order,
前記読み出しを行うステップにて、一の前記ハードディスクの一のセクタ位置で異常を検出すると、残りの前記ハードディスクのうちの何れかにおいて、前記異常が検出されたセクタ位置に書き込まれたものと同じ前記単位データが書き込まれたセクタ位置を、新たな読み出し対象セクタとして設定する、In the step of performing the reading, when an abnormality is detected at one sector position of one of the hard disks, in any of the remaining hard disks, the same as the one written at the sector position at which the abnormality is detected is used. Setting the sector position where the unit data is written as a new read target sector,
データ入出力方法。Data input / output method.
JP2018215857A 2018-11-16 2018-11-16 Control device, disk array system and data input / output method Active JP6662530B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018215857A JP6662530B1 (en) 2018-11-16 2018-11-16 Control device, disk array system and data input / output method
PCT/JP2019/044304 WO2020100883A1 (en) 2018-11-16 2019-11-12 Disk array system, control device, and data input/output method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018215857A JP6662530B1 (en) 2018-11-16 2018-11-16 Control device, disk array system and data input / output method

Publications (2)

Publication Number Publication Date
JP6662530B1 true JP6662530B1 (en) 2020-03-11
JP2020086598A JP2020086598A (en) 2020-06-04

Family

ID=69998121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018215857A Active JP6662530B1 (en) 2018-11-16 2018-11-16 Control device, disk array system and data input / output method

Country Status (2)

Country Link
JP (1) JP6662530B1 (en)
WO (1) WO2020100883A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108316A (en) * 2001-09-26 2003-04-11 Toshiba Corp Disk array device and hot spare control method
US7143234B2 (en) * 2002-11-26 2006-11-28 Intel Corporation Bios storage array
TW200937190A (en) * 2008-02-22 2009-09-01 Jmicron Technology Corp Raid1 system and reading method for enhancing read performance
JP2010015195A (en) * 2008-06-30 2010-01-21 Toshiba Corp Storage controller and storage control method
JP2012103856A (en) * 2010-11-09 2012-05-31 Nippon Hoso Kyokai <Nhk> Recording device

Also Published As

Publication number Publication date
WO2020100883A1 (en) 2020-05-22
JP2020086598A (en) 2020-06-04

Similar Documents

Publication Publication Date Title
US7971013B2 (en) Compensating for write speed differences between mirroring storage devices by striping
US6895468B2 (en) Log-structured block system and method
US8095760B2 (en) Adjustment number of expanders in storage system
US20070088864A1 (en) RAID performance using command descriptor block pointer forwarding technique
JP4441929B2 (en) Disk device and hot swap method
KR20070045891A (en) Raid system, raid controller and rebuilt/copy back processing method thereof
US9286174B2 (en) Disk array having mirror configuration and rebuilding method therefor
JPH05181611A (en) Recorder and access system
JP2006024024A (en) Logical disk management method and device
JPH05314660A (en) Storage device
EP1310875A2 (en) Disk array subsystem and data generation method therefor
JP2005148854A (en) File system and its program
US20070038593A1 (en) Data Storage Control Apparatus And Method
US7496724B2 (en) Load balancing in a mirrored storage system
WO2017012391A1 (en) Method and apparatus for achieving raid level conversion
JP6662530B1 (en) Control device, disk array system and data input / output method
JPH11212728A (en) External storage sub-system
JP5505329B2 (en) Disk array device and control method thereof
JP3411451B2 (en) Disk array device
KR20220139420A (en) Proactive staging for complete stride destage
JP5729043B2 (en) Storage device and control device
JP4714720B2 (en) Storage device, control method therefor, and disk device
JP2009223355A (en) Disk control system for performing mirroring of hard disk and silicon disk
US9626111B1 (en) Sequential write of random workload in mirrored performance pool environments
JPH09265359A (en) Disk array system and its control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191007

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200206

R150 Certificate of patent or registration of utility model

Ref document number: 6662530

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150