JP5521610B2 - I / O control device and I / O control method - Google Patents

I / O control device and I / O control method Download PDF

Info

Publication number
JP5521610B2
JP5521610B2 JP2010029691A JP2010029691A JP5521610B2 JP 5521610 B2 JP5521610 B2 JP 5521610B2 JP 2010029691 A JP2010029691 A JP 2010029691A JP 2010029691 A JP2010029691 A JP 2010029691A JP 5521610 B2 JP5521610 B2 JP 5521610B2
Authority
JP
Japan
Prior art keywords
input
queue
output
processing
time
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.)
Expired - Fee Related
Application number
JP2010029691A
Other languages
Japanese (ja)
Other versions
JP2011165105A (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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2010029691A priority Critical patent/JP5521610B2/en
Publication of JP2011165105A publication Critical patent/JP2011165105A/en
Application granted granted Critical
Publication of JP5521610B2 publication Critical patent/JP5521610B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は入出力制御装置及び入出力制御方法に関する。   The present invention relates to an input / output control device and an input / output control method.

現在、SATA(Serial Advanced Technology Attachment)ディクス等の二次記憶装置は、コマンドを効率的に処理するためのコマンドキューイング機能を備えるものが多い。コマンドキューイング機能とは、キューに入れられたコマンドの発行順序にかかわらず、最適な処理効率となるようにコマンドを並べ替えた後に処理する機能である。コマンドキューイング機能が有効な二次記憶装置に対し、入出力手段(ディスクデバイスドライバ)は複数個の入出力処理を同時に発行することができる。二次記憶装置は、有限の深さをもつキューを備え、入出力手段から受け取った入出力処理をキューに格納する。二次記憶装置内のファームウェアは、ディスクのシークタイムが最小となるようにキュー内の入出力処理を並べ替えた後に入出力処理を実行する。   Currently, many secondary storage devices such as SATA (Serial Advanced Technology Attachment) disks have a command queuing function for efficiently processing commands. The command queuing function is a function for processing after rearranging commands so as to achieve optimum processing efficiency regardless of the order of issuing the commands in the queue. The input / output means (disk device driver) can issue a plurality of input / output processes simultaneously to the secondary storage device in which the command queuing function is effective. The secondary storage device includes a queue having a finite depth, and stores the input / output process received from the input / output means in the queue. The firmware in the secondary storage device executes the input / output processing after rearranging the input / output processing in the queue so that the seek time of the disk is minimized.

二次記憶装置は、一般に自己のコマンドキューイング機能を有効にするか否かを設定できる。コマンドキューイング機能を有効にした場合、入出力処理が二次記憶装置のファームウェアにより並べ替えられてしまうため、実行順序をコントロールできなくなる。一方、コマンドキューイング機能を無効にした場合、ディスクのシークタイムを短縮することができなくなる。よって、一般的な二次記憶装置によっては、リアルタイム性が必要とされる入出力処理の実行と、コマンドキューイング機能による入出力処理の最適化と、の両立ができなかった。   The secondary storage device can generally set whether or not to enable its own command queuing function. When the command queuing function is enabled, the execution order cannot be controlled because the input / output processing is rearranged by the firmware of the secondary storage device. On the other hand, when the command queuing function is disabled, the seek time of the disk cannot be shortened. Therefore, depending on a general secondary storage device, it has been impossible to achieve both the execution of input / output processing that requires real-time performance and the optimization of the input / output processing by the command queuing function.

特許文献1では、優先順位に基づいて、入力されたコマンドを適宜並べ替えて実行する入出力制御装置に関する技術が開示されている。当該入出力制御装置は、上位装置からの入出力処理の処理順序を複数のデバイス毎に管理するDAキューと、各デバイスへの入出力を管理するデバイスキューとを備える。当該入出力制御装置は、DAキュー及びデバイスキューを優先順位に応じて並べ替えることにより、優先順位の高い処理を素早く処理することができる。   Patent Document 1 discloses a technique related to an input / output control device that appropriately sorts and executes input commands based on priority. The input / output control device includes a DA queue for managing the processing order of input / output processing from the host device for each of a plurality of devices, and a device queue for managing input / output to each device. The input / output control apparatus can quickly process a process with a high priority by rearranging the DA queue and the device queue according to the priority.

特開2003−006135号公報JP 2003-006135 A 特開2009−181474号公報JP 2009-181474 A

しかしながら、特許文献1に記載の入出力制御装置によっては、入出力処理の最悪実行時間を算出できないという問題がある。当該問題について以下に説明する。   However, there is a problem that the worst execution time of the input / output processing cannot be calculated depending on the input / output control device described in Patent Document 1. This problem will be described below.

最悪実行時間とは、ある計算タスクを入力してから完了するまでにかかる時間のうち、最長の時間(最悪のケースの時間)を指す。最悪実行時間を知ることは、リアルタイム性の要求される各アプリケーションのタイミング解析にとって最重要とされる。   The worst execution time refers to the longest time (worst case time) among the time taken to complete a certain calculation task. Knowing the worst execution time is most important for timing analysis of each application that requires real-time performance.

特許文献1に記載の入出力制御装置は、キューに処理が入れられるたびに、優先度に応じてキュー内の処理の順序を頻繁に変更する。キューに入れられた処理順序が頻繁に変更されることにより、ある処理をキューに入力した時点から、当該処理を終了するまでの時間が算出できない。すなわち、各処理を入力してから終了するまでの最悪実行時間を算出できない。   The input / output control device described in Patent Document 1 frequently changes the order of processing in a queue according to the priority each time processing is put into the queue. Since the processing order placed in the queue is frequently changed, the time from when a certain process is input to the queue until the process is completed cannot be calculated. That is, the worst execution time from the input of each process to the end cannot be calculated.

つまり、特許文献1に記載の入出力装置によっては、コマンドキューイングによる処理高速化が図れるものの、リアルタイム性の要求される入出力処理の最悪実行時間が把握できない。   That is, although the input / output device described in Patent Document 1 can increase the processing speed by command queuing, it cannot grasp the worst execution time of input / output processing that requires real-time processing.

本発明はこのような問題を解決するためになされたものであり、リアルタイム性の要求される入出力処理の最悪実行時間を把握でき、かつ、リアルタイム性の要求されない入出力処理の処理時間の最適化を図れる入出力制御装置及び入出力制御方法を提供することを目的とする。   The present invention has been made to solve such a problem, and can grasp the worst execution time of input / output processing that requires real-time processing and can optimize the processing time of input / output processing that does not require real-time processing. It is an object of the present invention to provide an input / output control device and an input / output control method that can be realized.

本発明にかかる入出力制御装置の一態様は、最悪実行時間の算出が必要な入出力処理が格納され、格納された複数の入出力処理の順序が変更不能に構成された第1キューと、最悪実行時間の算出が不要な入出力処理が格納され、格納された複数の入出力処理の順序が変更可能に構成された第2キューと、前記第2キューに格納された前記複数の入出力処理を、処理時間が短縮されるように並べ替えるオーダリング部と、入出力処理を取り出すアクセス先を前記第1のキューまたは前記第2のキューのいずれかに決定するための条件を定めた切り替え条件を保持する切り替え条件保持部と、前記切り替え条件に基づいて、前記第1キューまたは前記第2キューから入出力処理を取得して実行する実行部と、を備え、入出力処理は優先順位に従って入力されるものである。   One aspect of the input / output control device according to the present invention stores a first queue in which an input / output process that requires calculation of the worst execution time is stored, and the order of the plurality of stored input / output processes cannot be changed; A second queue configured to store input / output processes that do not require calculation of the worst execution time, and to change the order of the stored plurality of input / output processes, and the plurality of input / outputs stored in the second queue An ordering unit that rearranges the processes so that the processing time is shortened, and a switching condition that defines a condition for determining the access destination from which the input / output process is taken out as either the first queue or the second queue A switching condition holding unit that holds the input / output process, and an execution unit that acquires and executes the input / output process from the first queue or the second queue based on the switching condition. It is intended to be input.

本発明にかかる入出力制御方法の一態様は、入出力処理が優先順位に従って入力され、入力データの並べ替えが出来ないように構成された第1キューに最悪実行時間の算出が必要な入出力処理を格納し、入力データの並べ替えが出来るように構成された第2キューに最悪実行時間の算出が不要な入出力処理を格納し、入出力処理を取り出すアクセス先を前記第1のキューまたは前記第2のキューのいずれかに決定するための条件を定めた切り替え条件を記憶し、前記第2キューに格納された前記複数の入出力処理を、処理時間が短縮されるように並べ替え、前記切り替え条件に基づいて、前記第1キューまたは前記第2キューから入出力処理を取得して実行するものである。   In one aspect of the input / output control method according to the present invention, input / output processing is input in accordance with a priority order, and input / output that requires calculation of the worst execution time in a first queue configured so that input data cannot be rearranged. An input / output process that does not require the calculation of the worst execution time is stored in a second queue configured to store processes and to be able to rearrange input data, and the access destination from which the input / output process is extracted is the first queue or Storing a switching condition that defines a condition for determining one of the second queues, and rearranging the plurality of input / output processes stored in the second queue so as to reduce a processing time; Based on the switching condition, input / output processing is acquired from the first queue or the second queue and executed.

本発明にかかる情報処理装置の一態様は、最悪実行時間の算出が必要な処理タスクが格納され、格納された複数の処理タスクの順序が変更不能に構成された第1キューと、最悪実行時間の算出が不要な処理タスクが格納され、格納された複数の処理タスクの順序が変更可能に構成された第2キューと、前記第2キューに格納された前記複数の処理タスクを、処理時間が短縮されるように並べ替えるオーダリング部と、処理タスクを取り出すアクセス先を前記第1のキューまたは前記第2のキューのいずれかに決定するための条件を定めた切り替え条件を保持する切り替え条件保持部と、前記切り替え条件に基づいて、前記第1キューまたは前記第2キューから処理タスクを取得して実行する実行部と、を備え、
処理タスクが優先順位に従って入力されるものである。
An aspect of the information processing apparatus according to the present invention includes a first queue configured to store a processing task that requires calculation of the worst execution time, and the order of the plurality of stored processing tasks cannot be changed, and the worst execution time. Processing tasks that do not need to be calculated, and a second queue configured to change the order of the plurality of stored processing tasks, and the plurality of processing tasks stored in the second queue include a processing time. An ordering unit that rearranges the processing tasks to be shortened, and a switching condition holding unit that holds a switching condition that defines a condition for determining the access destination from which the processing task is taken out as either the first queue or the second queue And an execution unit that acquires and executes a processing task from the first queue or the second queue based on the switching condition,
Processing tasks are input according to priority.

本発明にかかる入出力処理システムの一態様は、前記入出力処理装置と、前記送信装置と、を備える情報記憶システムであって、前記送信装置は、各アプリケーションの実行状態をモニタリングするモニタリング部を備え、前記モニタリングの結果に応じて前記切り替え条件変更要求を送信することを特徴とするものである。   One aspect of the input / output processing system according to the present invention is an information storage system including the input / output processing device and the transmission device, and the transmission device includes a monitoring unit that monitors an execution state of each application. The switching condition change request is transmitted according to the monitoring result.

本発明によれば、リアルタイム性の要求される入出力処理の最悪実行時間を把握でき、かつ、リアルタイム性の要求されない入出力処理の処理時間の最適化を図れる入出力制御装置及び入出力制御方法を提供することができる。   According to the present invention, an input / output control apparatus and an input / output control method that can grasp the worst execution time of input / output processing that requires real-time processing and that can optimize the processing time of input / output processing that does not require real-time processing. Can be provided.

実施の形態1にかかる入出力処理システムのブロック図である。1 is a block diagram of an input / output processing system according to a first exemplary embodiment; 実施の形態1にかかる入出力処理分別部101の動作を示すフローチャートである。4 is a flowchart showing an operation of an input / output processing sorting unit 101 according to the first exemplary embodiment. 実施の形態1にかかる入出力実行部108の入出力処理の実行動作を示したフローチャートである。3 is a flowchart showing an execution operation of input / output processing of an input / output execution unit 108 according to the first exemplary embodiment; 実施の形態1にかかる入出力処理システムのブロック図である。1 is a block diagram of an input / output processing system according to a first exemplary embodiment;

実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図1は本実施の形態にかかる入出力処理システムの構成を示すブロック図である。入出力処理システム1は、二次記憶装置10と、オペレーティングシステム200と、特権領域管理部210と、ハードリアルタイムアプリケーション220と、ソフトリアルタイムアプリケーション230と、非リアルタイムアプリケーション240と、を備える。
Embodiment 1
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration of an input / output processing system according to the present embodiment. The input / output processing system 1 includes a secondary storage device 10, an operating system 200, a privileged area management unit 210, a hard real-time application 220, a soft real-time application 230, and a non-real-time application 240.

二次記憶装置10は、入出力処理分別部101と、特権領域用キュー102と、非特権領域用キュー103と、オーダリング部104と、特権領域情報105と、閾値保持部106と、特権領域連続処理数保持部107と、入出力実行部108と、を備える。   The secondary storage device 10 includes an input / output processing sorting unit 101, a privileged area queue 102, a non-privileged area queue 103, an ordering unit 104, a privileged area information 105, a threshold holding unit 106, and a privileged area continuous A processing number holding unit 107 and an input / output execution unit 108 are provided.

入出力分別部101は、入力された入出力処理の種別に応じて、当該入力された入出力処理を特権領域用キュー102と、非特権領域用キュー103とに振り分けて入力する処理部である。入力された入出力処理が特権領域に対するものである場合、入出力分別部101は、当該入出力処理を特権領域用キュー102に入力する。特権領域に対する処理は、ハードリアルタイムアプリケーション220及びソフトリアルタイムアプリケーション230から出力された入出力処理である。特権領域とは、最悪実行時間の算出が必要な入出力処理が行われる領域である。一方、入力された入出力処理が非特権領域に対するものである場合、入出力分別部101は、当該入出力処理を非特権領域用キュー103に入力する。非特権領域に対する処理は、非リアルタイムアプリケーション240から出力された入出力処理である。非特権領域とは、最悪実行時間の算出が不要な入出力処理が行われる領域である。   The input / output classification unit 101 is a processing unit that distributes and inputs the input / output process to the privileged area queue 102 and the non-privileged area queue 103 according to the type of input / output process. . If the input / output process is for a privileged area, the input / output sorting unit 101 inputs the input / output process to the privileged area queue 102. Processing for the privileged area is input / output processing output from the hard real-time application 220 and the soft real-time application 230. The privileged area is an area where input / output processing that requires calculation of the worst execution time is performed. On the other hand, if the input / output process is for a non-privileged area, the input / output sorting unit 101 inputs the input / output process to the non-privileged area queue 103. Processing for the non-privileged area is input / output processing output from the non-real-time application 240. The non-privileged area is an area where input / output processing that does not require calculation of the worst execution time is performed.

特権領域用キュー102は、ハードリアルタイムアプリケーション220及びソフトリアルタイムアプリケーション230から出力された入出力処理が格納されるキューである。特権領域用キュー102に格納される入出力処理は、最悪実行時間の算出が必要な入出力処理である。特権領域用キュー102に格納された入出力処理の順序は並び変えられることが無いFIFO(First In, First Out)キューであり、有限の深さを持つ。すなわち、特権領域用キュー102に格納された入出力処理は、キューに入れられた順序のまま処理が行われる。   The privileged area queue 102 is a queue in which input / output processes output from the hard real-time application 220 and the soft real-time application 230 are stored. The input / output process stored in the privileged area queue 102 is an input / output process that requires calculation of the worst execution time. The order of input / output processing stored in the privileged area queue 102 is a FIFO (First In, First Out) queue that is not rearranged and has a finite depth. That is, the input / output processes stored in the privileged area queue 102 are performed in the order in which they are queued.

非特権領域用キュー103は、非リアルタイムアプリケーション240から出力された入出力処理が格納されるキューである。非特権領域用キュー103は有限の深さを持つキューである。非特権領域用キュー103に格納される入出力処理は、最悪実行時間の算出が不要な入出力処理である。非特権領域用キュー103に格納された入出力処理の順序は、オーダリング部104により並べ替えられる。   The non-privileged area queue 103 is a queue in which the input / output processing output from the non-real-time application 240 is stored. The non-privileged area queue 103 is a queue having a finite depth. The input / output process stored in the non-privileged area queue 103 is an input / output process that does not require calculation of the worst execution time. The order of input / output processing stored in the non-privileged area queue 103 is rearranged by the ordering unit 104.

オーダリング部104は、非特権領域用キュー103に格納された入出力処理を処理時間が短縮されるように並べ替える処理部である。本例では、オーダリング部104は、既存のコマンドキューイングにおけるリオーダリング機能を実現する処理部である。オーダリング部104は、二次記憶装置10内のディスク(不図示)のシークタイムが最短となるように、非特権領域用キュー103内の入出力処理を並べ替える。   The ordering unit 104 is a processing unit that rearranges the input / output processes stored in the non-privileged area queue 103 so that the processing time is shortened. In this example, the ordering unit 104 is a processing unit that realizes a reordering function in existing command queuing. The ordering unit 104 rearranges the input / output processing in the non-privileged area queue 103 so that the seek time of a disk (not shown) in the secondary storage device 10 is minimized.

特権領域情報105は、二次記憶装置10内の特権領域に関する情報を保持したファイルである。たとえば、特権領域情報105には、入出力実行部108が入出力処理を行う二次記憶装置10内の各ディスクが特権領域にかかるものであるか否かという情報を保持する。   The privileged area information 105 is a file that holds information related to the privileged area in the secondary storage device 10. For example, the privileged area information 105 holds information indicating whether or not each disk in the secondary storage device 10 on which the input / output execution unit 108 performs input / output processing is related to the privileged area.

閾値保持部106は、入出力処理を取り出すアクセス先を特権領域用キュー102または非特権領域用キュー103のいずれかに決定するための条件を定めた切り替え条件を保持する。本例では、閾値保持部106は、連続して特権領域用キュー102から取り出して実行した入出力処理の数の閾値として保持する。すなわち、閾値保持部106は、特権領域への入出力を連続して最大何回まで許可するかという情報を保持する。   The threshold value holding unit 106 holds a switching condition that defines a condition for determining the access destination from which the input / output process is taken out as either the privileged area queue 102 or the non-privileged area queue 103. In this example, the threshold value holding unit 106 holds the threshold value as the threshold value of the number of input / output processes that are continuously taken out from the privileged area queue 102 and executed. That is, the threshold value holding unit 106 holds information indicating how many times the input / output to the privileged area is permitted continuously.

閾値を超えない場合には、特権領域用キュー102に格納された入出力処理が実行される。閾値に達した場合には、非特権領域用キュー103に格納された入出力処理が実行される。たとえば、閾値保持部106が閾値として"10"を保持していた場合、特権領域連続処理数保持部107の保持する値が"10"となった後に、非特権領域用キュー103から1個の入出力処理が取り出され、実行される。   If the threshold is not exceeded, the input / output processing stored in the privileged area queue 102 is executed. When the threshold value is reached, the input / output processing stored in the non-privileged area queue 103 is executed. For example, when the threshold holding unit 106 holds “10” as the threshold, after the value held by the privileged area continuous processing number holding unit 107 becomes “10”, one value is stored in the non-privileged area queue 103. Input / output processing is retrieved and executed.

なお、閾値保持部106の保持する値を無限大と設定することも可能である。この場合、特権領域用キュー102に入出力処理が1つでも格納されている場合には、特権領域用キュー102から入出力処理が取り出されて実行されることになる。   Note that the value held by the threshold holding unit 106 can be set to infinity. In this case, if at least one input / output process is stored in the privileged area queue 102, the input / output process is taken out from the privileged area queue 102 and executed.

当該閾値は、システム構成を行う際(システムのインストール等の処理を行う際)に特権領域管理部210により設定される。また、当該閾値は後述するモニタリング部202による変更要求に応じて変更されうる。   The threshold value is set by the privileged area management unit 210 when the system configuration is performed (when processing such as system installation is performed). The threshold value can be changed in response to a change request from the monitoring unit 202 described later.

特権領域連続処理数保持部107は、特権領域用キュー102から取り出して実行した入出力処理の状態(本例では、連続して特権領域用キュー102から取り出して実行した入出力処理の数)を保持する処理部である。特権領域連続処理数保持部107の保持する値は、入出力実行部108の更新要求により変更される。ただし、ハードリアルタイムアプリケーション220からの入出力が処理されている間には、特権領域連続処理数保持部107は保持する値を変更しないように制御する。特権領域連続処理数保持部107が保持する値を変更しないことにより、ハードリアルタイムアプリケーション220が動作している間には、特権領域連続処理数保持部107の保持する値が閾値に達することはない。閾値に達することが無いため、ハードリアルタイムアプリケーション220が動作している間は、常に特権領域用キュー102内の入出力処理が実行される。   The privileged area continuous processing number holding unit 107 displays the state of the input / output processing that has been taken out from the privileged area queue 102 and executed (in this example, the number of input / output processes that have been taken out from the privileged area queue 102 and executed). A processing unit to be held. The value held by the privileged area continuous processing number holding unit 107 is changed by an update request from the input / output execution unit 108. However, while the input / output from the hard real-time application 220 is being processed, the privileged area continuous processing number holding unit 107 performs control so as not to change the value held. By not changing the value held by the privileged area continuous processing number holding unit 107, the value held by the privileged area continuous processing number holding unit 107 does not reach the threshold while the hard real-time application 220 is operating. . Since the threshold value is not reached, input / output processing in the privileged area queue 102 is always executed while the hard real-time application 220 is operating.

入出力実行部108は、特権領域用キュー102または非特権領域用キュー103から入出力処理を取り出して実行する処理部である。特権領域連続処理数保持部107が保持する値が閾値保持部106の保持する閾値に達しておらず、かつ、特権領域用キュー102が空ではない場合、入出力実行部108は特権領域用キュー102から入出力処理を取り出して実行する。特権領域用キュー102から入出力処理を取り出して実行した後に、入出力実行部108は、特権領域連続処理数保持部107の保持する値のインクリメント("1"増加させる)するための要求を特権領域連続処理数保持部107に出力する。   The input / output execution unit 108 is a processing unit that extracts and executes input / output processing from the privileged area queue 102 or the non-privileged area queue 103. When the value held by the privileged area continuous processing number holding unit 107 does not reach the threshold held by the threshold holding unit 106 and the privileged area queue 102 is not empty, the input / output execution unit 108 sets the privileged area queue The input / output process is extracted from 102 and executed. After the input / output processing is taken out from the privileged area queue 102 and executed, the input / output execution unit 108 requests a privilege to increment the value held by the privileged area continuous processing number holding unit 107 (increase “1”). The data is output to the area continuous processing number holding unit 107.

一方、特権領域連続処理数保持部107が保持する値が閾値保持部106の保持する閾値に達した場合、または、特権領域用キュー102が空の場合、入出力実行部108は非特権領域用キュー103から入出力処理を取り出して実行する。非特権領域用キュー103からから入出力処理を取り出して実行した後に、入出力実行部108は、特権領域連続処理数保持部107の保持する値を"0"に設定するための要求を特権領域連続処理数保持部107に出力する。   On the other hand, when the value held by the privileged area continuous processing number holding unit 107 reaches the threshold held by the threshold holding unit 106 or when the privileged area queue 102 is empty, the input / output execution unit 108 is used for the non-privileged area. I / O processing is taken out from the queue 103 and executed. After the input / output processing is extracted from the non-privileged area queue 103 and executed, the input / output execution unit 108 issues a request for setting the value held in the privileged area continuous processing number holding unit 107 to “0”. The data is output to the continuous processing number holding unit 107.

オペレーティングシステム200は、入出力部201と、モニタリング部202と、を備える。オペレーティングシステム200は、コンピュータ等の情報処理装置において、ハードウェアを抽象化したインターフェイスをアプリケーションソフトウェアに提供するソフトウェアであり、基本ソフトウェアの一種である。   The operating system 200 includes an input / output unit 201 and a monitoring unit 202. The operating system 200 is software that provides an application software with an interface that abstracts hardware in an information processing apparatus such as a computer, and is a kind of basic software.

入出力部201は、二次記憶装置10とのインターフェイスとなる処理部である。入出力部201は、各アプリケーション(220〜240)から入力された入出力処理を二次記憶装置10の入出力処理分別部101に入力する。この際、入出力部201は、オペレーティングシステム200のスケジューラ機能等により、特権領域に対する入出力処理を優先度に応じた順序に並べ替えた後に入出力処理分別部101に入力する。   The input / output unit 201 is a processing unit that serves as an interface with the secondary storage device 10. The input / output unit 201 inputs input / output processing input from each application (220 to 240) to the input / output processing sorting unit 101 of the secondary storage device 10. At this time, the input / output unit 201 rearranges the input / output processing for the privileged area in the order corresponding to the priority by the scheduler function of the operating system 200 and the like, and then inputs the input / output processing to the input / output processing sorting unit 101.

モニタリング部202は、各アプリケーション(220〜240)から生成されたプロセスの処理状態等をモニタリングする処理部である。モニタリング部220は、オペレーティングシステム200内において常時稼働する処理部であり、各アプリケーション(220〜240)の動作状態を監視する。モニタリング部202は当該監視により、非リアルタイムアプリケーションであっても長時間二次記憶装置20への入出力処理が終了していないアプリケーションがあるか否かを検出する。このようなアプリケーションが検出された場合、モニタリング部202は閾値保持部106に対して閾値を下げるような変更を要求する。   The monitoring unit 202 is a processing unit that monitors a processing state or the like of a process generated from each application (220 to 240). The monitoring unit 220 is a processing unit that always operates in the operating system 200 and monitors the operation state of each application (220 to 240). Based on the monitoring, the monitoring unit 202 detects whether or not there is an application for which input / output processing to the secondary storage device 20 has not been completed for a long time even if it is a non-real-time application. When such an application is detected, the monitoring unit 202 requests the threshold holding unit 106 to change the threshold value.

またモニタリング部202は、ハードリアルタイムアプリケーション220の動作状況をモニタリングし、当該動作状況を特権領域連続処理数保持部107に通知する。具体的には、モニタリング部202は、ハードリアルタイムアプリケーション220が動作開始状態になったことを特権領域連続処理数保持部107に通知する。また、ハードリアルタイムアプリケーション220の処理が終了したことを検知した場合、モニタリング部202は、停止状態になったことを特権領域連続処理数保持部107に通知する。当該通知に応じて、特権領域連続処理数保持部107は、保持する値をインクリメントするか否かを決定する。   In addition, the monitoring unit 202 monitors the operation status of the hard real-time application 220 and notifies the privileged area continuous processing number holding unit 107 of the operation status. Specifically, the monitoring unit 202 notifies the privileged area continuous processing number holding unit 107 that the hard real-time application 220 is in an operation start state. When the monitoring unit 202 detects that the processing of the hard real-time application 220 has been completed, the monitoring unit 202 notifies the privileged area continuous processing number holding unit 107 that the processing has stopped. In response to the notification, the privileged area continuous processing number holding unit 107 determines whether or not to increment the held value.

特権領域管理部210は、入出力処理システム1のシステム構成時に二次記憶装置10における各ディスクの状態を設定する処理部である。すなわち、特権領域管理部210は二次記憶装置10の各ディスクが特権領域であるか、非特権領域であるかを設定するための管理部である。特権領域管理部が設定した設定内容は、特権領域情報105として保存される。   The privileged area management unit 210 is a processing unit that sets the state of each disk in the secondary storage device 10 when the input / output processing system 1 is configured. That is, the privileged area management unit 210 is a management part for setting whether each disk of the secondary storage device 10 is a privileged area or a non-privileged area. The setting contents set by the privileged area management unit are stored as privileged area information 105.

ハードリアルタイムアプリケーション220は、確実に時間制約を厳守して処理を終了する必要がある処理を行うアプリケーションである。ソフトリアルタイムアプリケーション230は、時間制約を厳守して処理を終了する必要がないが、その処理の価値が、処理終了時間が長くなるにつれて下がるアプリケーションである。ハードリアルタイムアプリケーション220及びソフトリアルタイムアプリケーション230から出力された入出力処理は、二次記憶装置10に送信された後に特権領域用キュー102に格納される。   The hard real-time application 220 is an application that performs a process that needs to end the process with strict adherence to time constraints. The soft real-time application 230 is an application in which it is not necessary to strictly observe the time constraint and end the process, but the value of the process decreases as the process end time increases. The input / output processes output from the hard real-time application 220 and the soft real-time application 230 are transmitted to the secondary storage device 10 and then stored in the privileged area queue 102.

非リアルタイムアプリケーション240は、時間制約を厳守して処理を終了する必要が無い処理を行うアプリケーションである。非リアルタイムアプリケーション240から出力された入出力処理は、二次記憶装置10に送信された後に非特権領域用キュー103に格納される。   The non-real-time application 240 is an application that performs a process that does not require the process to be terminated with strict adherence to time constraints. The input / output process output from the non-real-time application 240 is transmitted to the secondary storage device 10 and then stored in the non-privileged area queue 103.

次に本実施の形態にかかる入出力処理システム1のシステム構成を決定する際の各処理部の動作について説明する。システムを構成する(システムをインストールする)際に、ユーザは特権領域及び非特権領域を考慮して二次記憶装置10の設定を行う。すなわち、ユーザはインストール時に二次記憶装置10のどのディスクを特権領域または非特権領域にするかを指定する。たとえば、ユーザは二次記憶装置10の1枚目のプラッタの表裏両面を特権領域と定めて、この領域にパーティション1を作成する。続いてユーザは、残りの領域を用いてパーティション2〜Nを作成して非特権領域とする。また、システムインストール時に、特権領域連続処理数保持部107の保持する値を"0"に設定する。   Next, the operation of each processing unit when determining the system configuration of the input / output processing system 1 according to the present embodiment will be described. When configuring the system (installing the system), the user sets the secondary storage device 10 in consideration of the privileged area and the non-privileged area. That is, the user designates which disk of the secondary storage device 10 is to be a privileged area or a non-privileged area at the time of installation. For example, the user defines the front and back surfaces of the first platter of the secondary storage device 10 as privileged areas, and creates a partition 1 in this area. Subsequently, the user creates partitions 2 to N using the remaining area and sets it as a non-privileged area. At the time of system installation, the value held by the privileged area continuous processing number holding unit 107 is set to “0”.

システムインストールの終了後、すなわちオペレーティングシステム200のインストール及び特権領域/非特権領域の設定が終わった後に、ユーザは特権領域管理部210に閾値保持部106の閾値を決めるための指示を行う。特権領域管理部210は、閾値保持部106が保持する閾値を設定する。この閾値は、特権領域への入出力を連続して最大何回まで許可するかを定める。   After the system installation is completed, that is, after the installation of the operating system 200 and the setting of the privileged area / non-privileged area are completed, the user instructs the privileged area management unit 210 to determine the threshold value of the threshold holding unit 106. The privileged area management unit 210 sets the threshold held by the threshold holding unit 106. This threshold determines the maximum number of times that input / output to the privileged area is permitted continuously.

続いて、本実施の形態にかかる入出力処理システム1による入出力処理の制御について図1〜図3を用いて説明する。図2は、入出力処理分別部101の動作を示すフローチャートである。まず、入出力処理分別部101の動作について説明する。   Next, control of input / output processing by the input / output processing system 1 according to the present embodiment will be described with reference to FIGS. FIG. 2 is a flowchart showing the operation of the input / output processing sorting unit 101. First, the operation of the input / output processing sorting unit 101 will be described.

各アプリケーション(220〜240)が出力した入出力処理は、入出力部201に入力される。この際、各アプリケーションが出力した入出力処理が二次記憶装置10のどのディスクに対する処理であるかは、例えばオペレーティングシステム200の機能により認識可能である。入出力処理は、オペレーティングシステム200のスケジューラ機能により処理の優先度が高い順序に並べ替えられる。入出力処理部201は、当該順序に並び変えられた入出力処理を入出力処理分別部101に入力する。   Input / output processing output by each application (220 to 240) is input to the input / output unit 201. At this time, it is possible to recognize to which disk of the secondary storage device 10 the input / output processing output by each application is based on the function of the operating system 200, for example. The input / output processing is rearranged in the order of high processing priority by the scheduler function of the operating system 200. The input / output processing unit 201 inputs the input / output processing rearranged in the order to the input / output processing sorting unit 101.

入出力処理分別部101は、入出力処理を受信する(S101)。入出力処理分別部101は、受信した入出力処理が特権領域への入出力であるか否かを判定する(S102)。特権領域への入出力である場合(S102:Yes)、入出力処理分別部101は特権領域用キュー102に空きがあるかを判定する(S103)。   The input / output process sorting unit 101 receives the input / output process (S101). The input / output processing sorting unit 101 determines whether or not the received input / output processing is input / output to the privileged area (S102). If the input / output is to / from the privileged area (S102: Yes), the input / output processing sorting unit 101 determines whether or not the privileged area queue 102 is empty (S103).

特権領域用キュー102に空きがある場合(S103:Yes)、入出力処理分別部101は、当該入出力処理を特権領域用キュー102に格納する(S104)。一方、特権領域用キュー102に空きがない場合(S103:No)、入出力処理分別部101は、特権領域用キュー102に空きが無い旨を入出力部201に通知する(S105)。   When the privileged area queue 102 is empty (S103: Yes), the input / output process sorting unit 101 stores the input / output process in the privileged area queue 102 (S104). On the other hand, if there is no free space in the privileged area queue 102 (S103: No), the input / output processing sorting unit 101 notifies the input / output unit 201 that there is no free space in the privileged area queue 102 (S105).

一方、入力された入出力処理が非特権領域への入出力である場合(S102:No)、入出力処理分別部101は非特権領域用キュー103に空きがあるかを判定する(S106)。   On the other hand, when the input / output process that has been input is an input / output to a non-privileged area (S102: No), the input / output process sorting unit 101 determines whether there is a free space in the non-privileged area queue 103 (S106).

非特権領域用キュー103に空きがある場合(S106:Yes)、入出力処理分別部101は、当該入出力処理を非特権領域用キュー103に格納する(S107)。一方、非特権領域用キュー103に空きがない場合(S106:No)、入出力処理分別部101は、非特権領域用キュー103に空きが無い旨を入出力部201に通知する(S108)。   If the non-privileged area queue 103 is empty (S106: Yes), the input / output process sorting unit 101 stores the input / output process in the non-privileged area queue 103 (S107). On the other hand, when there is no free space in the non-privileged area queue 103 (S106: No), the input / output processing sorting unit 101 notifies the input / output unit 201 that there is no free space in the non-privileged area queue 103 (S108).

次に、入出力処理の実行動作について図3を用いて説明する。図3は、入出力処理の実行動作を示したフローチャートである。   Next, an input / output process execution operation will be described with reference to FIG. FIG. 3 is a flowchart showing the execution operation of the input / output process.

入出力実行部108は、特権領域連続処理数保持部107が保持する特権領域連続処理数を読み込む。そして、入出力実行部108は特権領域連続処理数と、閾値保持部106から読み込んだ閾値を比較する(S201)。   The input / output execution unit 108 reads the privileged area continuous process count held by the privileged area continuous process count holding unit 107. The input / output execution unit 108 compares the number of privileged area continuous processes with the threshold read from the threshold holding unit 106 (S201).

特権領域連続処理数が閾値を超えていない場合(S201:No)、入出力実行部108は特権領域用キュー102が空か否かを判定する(S202)。特権領域用キュー102が空ではない場合(S202:No)、入出力実行部108は特権領域用キュー102から入出力処理を取り出して実行する(S203)。そして、入出力実行部108は特権領域連続処理数のインクリメントを特権領域連続処理数保持部107に要求する。ハードリアルタイムアプリケーション220が稼働中ではない場合(S204:No)、特権領域連続処理数保持部107は特権領域連続処理数のインクリメント処理を行う(S205)。ハードリアルタイムアプリケーション220が稼働中である場合(S204:Yes)、特権領域連続処理数保持部107は特権領域連続処理数のインクリメント処理を行わない。   When the number of privileged area continuous processes does not exceed the threshold (S201: No), the input / output execution unit 108 determines whether or not the privileged area queue 102 is empty (S202). When the privileged area queue 102 is not empty (S202: No), the input / output execution unit 108 takes out the input / output process from the privileged area queue 102 and executes it (S203). Then, the input / output execution unit 108 requests the privileged area continuous process number holding unit 107 to increment the privileged area continuous process number. When the hard real-time application 220 is not in operation (S204: No), the privileged area continuous process number holding unit 107 performs an increment process of the privileged area continuous process number (S205). When the hard real-time application 220 is in operation (S204: Yes), the privileged area continuous process number holding unit 107 does not perform the process of incrementing the privileged area continuous process number.

一方、特権領域用キュー102が空の場合(S202:Yes)、または、特権領域連続処理数が閾値に達している場合(S201:Yes)、入出力実行部108は非特権領域用キュー103が空か否かを判定する(S206)。非特権領域用キュー103が空である場合(S206:Yes)、入出力処理部108はS201の処理から再度処理を行う。   On the other hand, when the privileged area queue 102 is empty (S202: Yes), or when the number of privileged area continuous processes has reached the threshold (S201: Yes), the input / output execution unit 108 determines that the non-privileged area queue 103 is It is determined whether it is empty (S206). When the non-privileged area queue 103 is empty (S206: Yes), the input / output processing unit 108 performs the process again from the process of S201.

非特権領域用キュー103が空ではない場合(S206:No)、入出力実行部108は非特権領域用キュー103から入出力処理を取り出して実行する(S207)。ここで、非特権領域用キュー103に格納された入出力処理はオーダリング部104により処理時間が最適となる順序に並び変えられている。入出力処理の実行後、入出力実行部108は特権領域連続処理数を"0"に設定するための要求を特権領域連続処理数保持部107に出力する。特権領域連続処理数保持部107は、特権領域連続処理数を"0"に設定する(S208)。   When the non-privileged area queue 103 is not empty (S206: No), the input / output execution unit 108 extracts and executes the input / output processing from the non-privileged area queue 103 (S207). Here, the input / output processes stored in the non-privileged area queue 103 are rearranged by the ordering unit 104 in an order that optimizes the processing time. After execution of the input / output process, the input / output execution unit 108 outputs a request for setting the privileged area continuous process count to “0” to the privileged area continuous process count holding unit 107. The privileged area continuous process number holding unit 107 sets the privileged area continuous process number to “0” (S208).

次に本実施の形態にかかる入出力処理システムにおけるハードリアルタイプアプリケーション220の最悪実行時間の算出概念について説明する。各アプリケーション(220〜240)からの入出力処理の要求時に、オペレーティングシステム200はスケジューラ機能を用いて入出力処理の優先順位になるように入出力処理を並び変える。その後、入出力部201は、優先順位の順序に並び変えられた入出力処理を二次記憶装置10に入力する。特権領域用キュー102に格納された入出力処理はキューに入力された順序から並び変えられることなく実行される。   Next, the concept of calculating the worst execution time of the hard real type application 220 in the input / output processing system according to the present embodiment will be described. When input / output processing is requested from each application (220 to 240), the operating system 200 rearranges the input / output processing using the scheduler function so that the priority of the input / output processing is reached. Thereafter, the input / output unit 201 inputs the input / output processing rearranged in the priority order to the secondary storage device 10. The input / output processing stored in the privileged area queue 102 is executed without being rearranged in the order of input to the queue.

1つの入出力処理の完了にかかる時間は、ディスクのシークタイムと、入出力ブロックの読み込みまたは書き込みにかかる時間と、の加算により算出できる。一般にディスクのシークタイムはディスク1回転以内の時間と考えられるため、ディスク性能等から算出可能である。また、入出力処理にかかるブロックサイズは例えば特許文献2に開示の技術により計算可能である。よって、入出力ブロックの読み込みまたは書き込みにかかる時間も算出可能となる。ディスクのシークタイムと、入出力ブロックの読み込みまたは書き込みにかかる時間と、がわかることにより、1つの入出力処理の完了にかかる時間が算出できる。   The time required for completing one input / output process can be calculated by adding the seek time of the disk and the time required for reading or writing the input / output block. In general, the seek time of the disc is considered to be a time within one revolution of the disc, and can be calculated from the disc performance or the like. The block size for input / output processing can be calculated by the technique disclosed in Patent Document 2, for example. Therefore, the time required for reading or writing the input / output block can also be calculated. By knowing the seek time of the disk and the time taken to read or write the input / output block, the time taken to complete one input / output process can be calculated.

処理中または処理に取り掛かろうとしている非特権領域への入出力処理の有無、及び特権領域用キュー102に格納されている入出力処理数の2点は二次記憶装置10の一般的機能により算出可能である。すなわち、二次記憶装置10に入力するハードリアルタイムアプリケーション220の入出力処理が処理される前に実行される入出力処理の数と、1つの入出力処理の実行にかかる処理時間が算出可能である。そのため、ハードリアルタイムアプリケーション220による入出力処理の最悪実行時間が算出できる。   Two points, the presence / absence of input / output processing to the non-privileged area being processed or about to start processing, and the number of input / output processes stored in the privileged area queue 102 depend on the general function of the secondary storage device 10. It can be calculated. That is, it is possible to calculate the number of input / output processes executed before the input / output process of the hard real-time application 220 input to the secondary storage device 10 is processed and the processing time required to execute one input / output process. . Therefore, the worst execution time of input / output processing by the hard real-time application 220 can be calculated.

また、ソフトリアルタイムアプリケーション230の入出力処理の最悪実行時間も、閾値と、特権領域連続処理数と、の関係をさらに考慮することにより算出可能である。   Also, the worst execution time of the input / output processing of the soft real-time application 230 can be calculated by further considering the relationship between the threshold and the number of privileged area continuous processes.

続いて、本実施の形態にかかる入出力処理システムの効果について説明する。上述のようにオペレーティングシステム200は、優先順位に応じて入出力処理を並び変えた後に入出力処理を特権領域用キュー102(第1キュー)または非特権領域キュー103(第2キュー)に入力する。非特権領域キュー103には、最悪実行時間が不要な処理が入力されるため、オーダリング部104は処理時間が短縮するようにキュー内の並べ替えを行う。この並べ替えにより、コマンドキューイングの効果を得ることが出来る。   Next, effects of the input / output processing system according to the present embodiment will be described. As described above, the operating system 200 rearranges the input / output processes according to the priority order, and then inputs the input / output processes to the privileged area queue 102 (first queue) or the non-privileged area queue 103 (second queue). . Since a process that does not require the worst execution time is input to the non-privileged area queue 103, the ordering unit 104 rearranges the queue so that the processing time is shortened. The effect of command queuing can be obtained by this rearrangement.

また、最悪実行時間の算出が必要なリアルタイムアプリケーション220の入出力処理は、特権用領域キュー102に入れられた後に並び変えられることはない。そのため、上述したように、入力された段階でのキューの状況から最悪実行時間を算出することが可能になる。そのため、リアルタイムアプリケーション220のタイミング解析が容易となる。   In addition, input / output processing of the real-time application 220 that requires calculation of the worst execution time is not rearranged after being placed in the privileged area queue 102. Therefore, as described above, the worst execution time can be calculated from the queue status at the input stage. Therefore, the timing analysis of the real-time application 220 becomes easy.

また、上述のように連続して特権領域用キュー102から取り出して実行した処理の数である特権領域連続処理数(第1キュー連続処理数)を保持する。当該処理の数と、閾値と比較することにより、適切なタイミングで非リアルタイムアプリケーション240の入出力処理の実行も確保できる。当該閾値は、各アプリケーションの入出力処理の実行状況に応じて変更可能である。   Also, as described above, a privileged area continuous process number (first queue continuous process number), which is the number of processes that are continuously taken out from the privileged area queue 102 and executed, is held. By comparing the number of processes and the threshold value, it is possible to ensure execution of input / output processes of the non-real-time application 240 at an appropriate timing. The threshold value can be changed according to the execution status of the input / output process of each application.

さらにまた、確実に時間制約を厳守して処理を終了する必要があるハードリアルタイムアプリケーション220の動作中には上述の特権領域連続処理数のインクリメントを停止させる。これにより、ハードリアルタイムアプリケーション220のリアルタイム性を確保できる。   Furthermore, during the operation of the hard real-time application 220 that needs to end processing while strictly adhering to the time restriction, the increment of the number of privileged area continuous processes is stopped. Thereby, the real-time property of the hard real-time application 220 can be ensured.

本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。たとえば、上述の例では、二次記憶装置における入出力処理についての説明を行ったが、本発明はコマンドキューイング機能を備え、任意の処理タスクを処理する情報処理装置においても適用することが可能である。   The present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. For example, in the above example, the input / output processing in the secondary storage device has been described. However, the present invention can also be applied to an information processing device that has a command queuing function and processes any processing task. It is.

なお、本実施の形態1にかかる二次記憶装置(入出力制御装置)の最小構成を図4に示す。二次記憶装置10(入出力処理装置)は、特権領域用キュー102(第1キュー)と、非特権領域用キュー103(第2キュー)と、オーダリング部104と、閾値保持部106(切り替え条件保持部)と、入出力実行部108と、を備える。   FIG. 4 shows the minimum configuration of the secondary storage device (input / output control device) according to the first embodiment. The secondary storage device 10 (input / output processing device) includes a privileged area queue 102 (first queue), a non-privileged area queue 103 (second queue), an ordering unit 104, and a threshold holding unit 106 (switching condition). Holding unit) and an input / output execution unit 108.

二次記憶装置10には、入出力処理が優先順位の順序に並び変えられて入力される。特権領域用キュー102には、入力された入出力処理のうち、最悪実行時間の算出が必要な入出力処理が格納される。特権領域用キュー102はデータの並び変えを生じないFIFOキューである。一方、非特権領域用キュー103には、入力された入出力処理のうち、最悪実行時間の算出が不要な入出力処理が格納される。   Input / output processing is rearranged in the order of priority and input to the secondary storage device 10. The privileged area queue 102 stores input / output processes that require calculation of the worst execution time among the input / output processes that have been input. The privileged area queue 102 is a FIFO queue that does not cause data rearrangement. On the other hand, the non-privileged area queue 103 stores input / output processes that do not require calculation of the worst execution time among the input / output processes that have been input.

オーダリング部104は、非特権領域用キュー103に入力された入出力処理を処理時間が短縮されるように並び変える。   The ordering unit 104 rearranges the input / output processes input to the non-privileged area queue 103 so that the processing time is shortened.

閾値保持部106は、特権領域用キュー102または非特権領域用キュー103のどちらから入出力処理を取り出すかを定める条件を保持する。入出力実行部108は、閾値保持部106の保持する値に基づいてキューにアクセスし、入出力処理を実行する。   The threshold value holding unit 106 holds a condition for determining which of the privileged area queue 102 and the non-privileged area queue 103 the input / output processing is to be taken out. The input / output execution unit 108 accesses the queue based on the value held by the threshold holding unit 106 and executes input / output processing.

上記の図4の構成によっても、オーダリング部104による並び変え処理によりコマンドキューイングの効果を享受できる。また、特権領域用キュー102に入力された入出力処理の最悪実行時間は、入力された段階でのキューの状況と、閾値の条件から算出可能である。   Also with the configuration of FIG. 4 described above, the effect of command queuing can be enjoyed by the rearrangement process by the ordering unit 104. Also, the worst execution time of the input / output processing input to the privileged area queue 102 can be calculated from the queue status at the input stage and the threshold condition.

上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
最悪実行時間の算出が必要な入出力処理が格納され、格納された複数の入出力処理の順序が変更不能に構成された第1キューと、
最悪実行時間の算出が不要な入出力処理が格納され、格納された複数の入出力処理の順序が変更可能に構成された第2キューと、
前記第2キューに格納された前記複数の入出力処理を、処理時間が短縮されるように並べ替えるオーダリング部と、
入出力処理を取り出すアクセス先を前記第1のキューまたは前記第2のキューのいずれかに決定するための条件を定めた切り替え条件を保持する切り替え条件保持部と、
前記切り替え条件に基づいて、前記第1キューまたは前記第2キューから入出力処理を取得して実行する実行部と、を備え、
入出力処理は優先順位に従って入力されるものである入出力制御装置。
(Appendix 1)
A first queue configured to store an input / output process that requires calculation of the worst execution time and in which the order of the plurality of stored input / output processes cannot be changed;
A second queue configured to store input / output processes that do not require calculation of the worst execution time and to change the order of the plurality of stored input / output processes;
An ordering unit for rearranging the plurality of input / output processes stored in the second queue so as to reduce a processing time;
A switching condition holding unit that holds a switching condition that defines a condition for determining the access destination from which the input / output process is taken out as either the first queue or the second queue;
An execution unit that acquires and executes input / output processing from the first queue or the second queue based on the switching condition;
An input / output control device in which input / output processing is input according to priority.

(付記2)
前記第1キューは、確実に時間制約を厳守して処理を終了する必要があるハードリアルタイムアプリケーションからの入出力処理と、時間制約を厳守して処理を終了する必要はないが、その処理の価値が、処理終了時間が長くなるにつれて下がるソフトリアルタイムアプリケーションからの入出力処理と、を格納し、
前記第2キューは、時間制約を厳守して処理を終了する必要が無い非リアルタイムアプリケーションからの入出力処理を格納することを特徴とする付記1に記載の入出力制御装置。
(Appendix 2)
The first queue does not need to finish processing with strict adherence to the input / output processing from a hard real-time application that needs to strictly adhere to the time constraint, but the value of the processing. Stores the input / output processing from the soft real-time application that decreases as the processing end time increases,
2. The input / output control apparatus according to appendix 1, wherein the second queue stores input / output processing from a non-real-time application that does not have to end processing strictly in accordance with time constraints.

(付記3)
前記第1キューから取り出して実行した入出力処理の状態である第1キュー実行状態を保持する第1キュー状態保持部を備え、
前記実行部は、前記切り替え条件と、前記第1キュー実行状態と、に基づいて、前記第1キューまたは前記第2キューから入出力処理を取得して実行することを特徴とする付記1または付記2に記載の入出力制御装置。
(Appendix 3)
A first queue state holding unit that holds a first queue execution state that is a state of an input / output process that is taken out from the first queue and executed;
The execution unit acquires and executes an input / output process from the first queue or the second queue based on the switching condition and the first queue execution state. The input / output control apparatus according to 2.

(付記4)
前記第1キュー状態保持部は、連続して前記第1キューから取り出して実行した入出力処理の数である第1キュー連続処理数を保持し、
前記切り替え条件は、前記第1キュー連続処理数の上限値である閾値であり、
前記実行部は、前記第1キュー連続処理数が前記閾値未満である場合には前記第1キューから入出力処理を取得して実行し、前記第1キュー連続処理数が前記閾値に達した場合には前記第2キューから入出力処理を取得して実行することを特徴とする付記3に記載の入出力処理装置。
(Appendix 4)
The first queue state holding unit holds a first queue continuous processing number that is the number of input / output processes that are continuously taken out from the first queue and executed,
The switching condition is a threshold value that is an upper limit value of the first queue continuous processing number,
The execution unit acquires and executes an input / output process from the first queue when the first queue continuous processing number is less than the threshold, and the first queue continuous processing number reaches the threshold The input / output processing apparatus according to appendix 3, wherein the input / output processing is acquired from the second queue and executed.

(付記5)
前記切り替え条件保持部は、入出力処理を送信する送信装置からの切り替え条件変更要求に応じて保持する前記切り替え条件を変更することを特徴とする付記1乃至付記4のいずれか1項に記載の入出力装置。
(Appendix 5)
The said switching condition holding | maintenance part changes the said switching condition hold | maintained according to the switching condition change request | requirement from the transmitter which transmits input-output processing, The additional statement 1 thru | or any one of the additional notes 4 characterized by the above-mentioned I / O device.

(付記6)
前記第1キュー状態保持部は、前記ハードリアルタイムアプリケーションからの入出力処理が前記入出力処理装置に入力されている間は、前記第1キュー連続処理数を増加させないことを特徴とする付記4または付記5に記載の入出力処理装置。
(Appendix 6)
The first queue state holding unit does not increase the number of first queue continuous processes while input / output processing from the hard real-time application is being input to the input / output processing device. The input / output processing device according to attachment 5.

(付記7)
前記オーダリング部は、前記第2キューに格納された前記複数の入出力処理を、処理時間が最短となるように並べ替えることを特徴とする付記1乃至付記6のいずれか1項に記載の入出力処理装置。
(Appendix 7)
The input unit according to any one of appendix 1 to appendix 6, wherein the ordering unit rearranges the plurality of input / output processes stored in the second queue so as to minimize a processing time. Output processing device.

(付記8)
前記入出力処理装置と、前記送信装置と、を備える情報記憶システムであって、
前記送信装置は、各アプリケーションの実行状態をモニタリングするモニタリング部を備え、
前記モニタリングの結果に応じて前記切り替え条件変更要求を送信することを特徴とする入出力処理システム。
(Appendix 8)
An information storage system comprising the input / output processing device and the transmission device,
The transmission device includes a monitoring unit that monitors an execution state of each application,
The input / output processing system, wherein the switching condition change request is transmitted according to the monitoring result.

(付記9)
最悪実行時間の算出が必要な処理タスクが格納され、格納された複数の処理タスクの順序が変更不能に構成された第1キューと、
最悪実行時間の算出が不要な処理タスクが格納され、格納された複数の処理タスクの順序が変更可能に構成された第2キューと、
前記第2キューに格納された前記複数の処理タスクを、処理時間が短縮されるように並べ替えるオーダリング部と、
処理タスクを取り出すアクセス先を前記第1のキューまたは前記第2のキューのいずれかに決定するための条件を定めた切り替え条件を保持する切り替え条件保持部と、
前記切り替え条件に基づいて、前記第1キューまたは前記第2キューから処理タスクを取得して実行する実行部と、を備え、
処理タスクが優先順位に従って入力される情報処理装置。
(Appendix 9)
A first queue configured to store a processing task that requires calculation of the worst execution time, and configured so that the order of the plurality of stored processing tasks cannot be changed;
A second queue configured to store processing tasks that do not require calculation of the worst execution time, and to change the order of the plurality of stored processing tasks;
An ordering unit that rearranges the plurality of processing tasks stored in the second queue so as to reduce processing time;
A switching condition holding unit that holds a switching condition that defines a condition for determining an access destination from which a processing task is taken out as either the first queue or the second queue;
An execution unit that acquires and executes a processing task from the first queue or the second queue based on the switching condition;
An information processing apparatus in which processing tasks are input according to priority.

(付記10)
入出力処理が優先順位に従って入力され、
入力データの並べ替えが出来ないように構成された第1キューに最悪実行時間の算出が必要な入出力処理を格納し、
入力データの並べ替えが出来るように構成された第2キューに最悪実行時間の算出が不要な入出力処理を格納し、
入出力処理を取り出すアクセス先を前記第1のキューまたは前記第2のキューのいずれかに決定するための条件を定めた切り替え条件を記憶し、
前記第2キューに格納された前記複数の入出力処理を、処理時間が短縮されるように並べ替え、
前記切り替え条件に基づいて、前記第1キューまたは前記第2キューから入出力処理を取得して実行する入出力処理方法。
(Appendix 10)
Input / output processing is input according to priority,
Input / output processing that requires calculation of the worst execution time is stored in the first queue configured so that the input data cannot be rearranged.
Input / output processing that does not require calculation of the worst execution time is stored in the second queue configured so that the input data can be rearranged.
Storing a switching condition that defines a condition for determining an access destination from which input / output processing is taken out as either the first queue or the second queue;
Rearranging the plurality of input / output processes stored in the second queue so that the processing time is shortened,
An input / output processing method for acquiring and executing an input / output process from the first queue or the second queue based on the switching condition.

(付記11)
前記第1キューは、確実に時間制約を厳守して処理を終了する必要があるハードリアルタイムアプリケーションからの入出力処理と、時間制約を厳守して処理を終了する必要はないが、その処理の価値が、処理終了時間が長くなるにつれて下がるソフトリアルタイムアプリケーションからの入出力処理と、を格納し、
前記第2キューは、時間制約を厳守して処理を終了する必要が無い非リアルタイムアプリケーションからの入出力処理を格納することを特徴とする付記10に記載の入出力処理方法。
(Appendix 11)
The first queue does not need to finish processing with strict adherence to the input / output processing from a hard real-time application that needs to strictly adhere to the time constraint, but the value of the processing. Stores the input / output processing from the soft real-time application that decreases as the processing end time increases,
The input / output processing method according to appendix 10, wherein the second queue stores input / output processing from a non-real-time application that does not have to end processing strictly in accordance with time constraints.

(付記12)
前記第1キューから取り出して実行した入出力処理の状態である第1キュー実行状態を保持し、
前記入出力処理を取得して実行する処理では、前記切り替え条件と、前記第1キュー実行状態と、に基づいて、前記第1キューまたは前記第2キューから入出力処理を取得して実行することを特徴とする付記10または付記11に記載の入出力処理方法。
(Appendix 12)
Holding the first queue execution state, which is the state of the input / output processing taken out from the first queue and executed;
In the process of acquiring and executing the input / output process, the input / output process is acquired and executed from the first queue or the second queue based on the switching condition and the first queue execution state. The input / output processing method according to appendix 10 or appendix 11, wherein:

(付記13)
連続して前記第1キューから取り出して実行した入出力処理の数である第1キュー連続処理数を前記第1キュー実行状態として保持し、
前記切り替え条件は、前記第1キュー連続処理数の上限値である閾値であり、
前記入出力処理を取得して実行する処理では、前記第1キュー連続処理数が前記閾値未満である場合には前記第1キューから入出力処理を取得して実行し、前記第1キュー連続処理数が前記閾値に達した場合には前記第2キューから入出力処理を取得して実行することを特徴とする付記12に記載の入出力処理方法。
(Appendix 13)
Holding the first queue continuous processing number, which is the number of input / output processes continuously taken out from the first queue and executed, as the first queue execution state;
The switching condition is a threshold value that is an upper limit value of the first queue continuous processing number,
In the process of acquiring and executing the input / output process, when the number of first queue continuous processes is less than the threshold, the input / output process is acquired and executed from the first queue, and the first queue continuous process The input / output processing method according to appendix 12, wherein the input / output processing is acquired from the second queue and executed when the number reaches the threshold value.

(付記14)
入出力処理を送信する送信装置からの切り替え条件変更要求に応じて保持する前記切り替え条件を変更することを特徴とする付記10乃至付記13のいずれか1項に記載の入出力処理方法。
(Appendix 14)
14. The input / output processing method according to any one of appendix 10 to appendix 13, wherein the switching condition to be held is changed in response to a switching condition change request from a transmitting apparatus that transmits the input / output process.

(付記15)
前記ハードリアルタイムアプリケーションからの入出力処理が前記入出力処理装置に入力されている間は、前記第1キュー連続処理数を増加させないことを特徴とする付記13または付記14に記載の入出力処理方法。
(Appendix 15)
15. The input / output processing method according to appendix 13 or appendix 14, wherein the first queue continuous processing number is not increased while input / output processing from the hard real-time application is being input to the input / output processing device. .

(付記16)
前記第2キューに格納された前記複数の入出力処理を並べ替える処理では、前記第2キューに格納された前記複数の入出力処理を、処理時間が最短となるように並べ替えることを特徴とする付記10乃至付記15のいずれか1項に記載の入出力処理方法。
(Appendix 16)
In the process of rearranging the plurality of input / output processes stored in the second queue, the plurality of input / output processes stored in the second queue are rearranged so as to minimize the processing time. The input / output processing method according to any one of appendix 10 to appendix 15.

1 入出力処理システム
10 二次記憶装置
101 入出力処理分別部
102 特権領域用キュー
103 非特権領域用キュー
104 オーダリング部
105 特権領域情報
106 閾値保持部
107 特権領域連続処理数保持部
108 入出力実行部
200 オペレーティングシステム
201 入出力部
202 モニタリング部
210 特権領域管理部
220 ハードリアルタイムアプリケーション
230 ソフトリアルタイムアプリケーション
240 非リアルタイムアプリケーション
DESCRIPTION OF SYMBOLS 1 Input / output processing system 10 Secondary storage device 101 Input / output processing classification part 102 Privileged area queue 103 Non-privileged area queue 104 Ordering part 105 Privileged area information 106 Threshold holding part 107 Privileged area continuous processing number holding part 108 Input / output execution Unit 200 operating system 201 input / output unit 202 monitoring unit 210 privileged area management unit 220 hard real-time application 230 soft real-time application 240 non-real-time application

Claims (10)

最悪実行時間の算出が必要な入出力処理が格納され、格納された複数の入出力処理の順序が変更不能に構成された第1キューと、
最悪実行時間の算出が不要な入出力処理が格納され、格納された複数の入出力処理の順序が変更可能に構成された第2キューと、
前記第2キューに格納された前記複数の入出力処理を、処理時間が短縮されるように並べ替えるオーダリング部と、
入出力処理を取り出すアクセス先を前記第1のキューまたは前記第2のキューのいずれかに決定するための条件を定めた切り替え条件を保持する切り替え条件保持部と、
前記切り替え条件に基づいて、前記第1キューまたは前記第2キューから入出力処理を取得して実行する実行部と、を備え、
入出力処理は優先順位に従って入力されるものである入出力制御装置。
A first queue configured to store an input / output process that requires calculation of the worst execution time and in which the order of the plurality of stored input / output processes cannot be changed;
A second queue configured to store input / output processes that do not require calculation of the worst execution time and to change the order of the plurality of stored input / output processes;
An ordering unit for rearranging the plurality of input / output processes stored in the second queue so as to reduce a processing time;
A switching condition holding unit that holds a switching condition that defines a condition for determining the access destination from which the input / output process is taken out as either the first queue or the second queue;
An execution unit that acquires and executes input / output processing from the first queue or the second queue based on the switching condition;
An input / output control device in which input / output processing is input according to priority.
前記第1キューは、確実に時間制約を厳守して処理を終了する必要があるハードリアルタイムアプリケーションからの入出力処理と、時間制約を厳守して処理を終了する必要はないが、その処理の価値が、処理終了時間が長くなるにつれて下がるソフトリアルタイムアプリケーションからの入出力処理と、を格納し、
前記第2キューは、時間制約を厳守して処理を終了する必要が無い非リアルタイムアプリケーションからの入出力処理を格納することを特徴とする請求項1に記載の入出力制御装置。
The first queue does not need to finish processing with strict adherence to the input / output processing from a hard real-time application that needs to strictly adhere to the time constraint, but the value of the processing. Stores the input / output processing from the soft real-time application that decreases as the processing end time increases,
The input / output control apparatus according to claim 1, wherein the second queue stores input / output processing from a non-real-time application that does not need to end processing while strictly observing time constraints.
前記第1キューから取り出して実行した入出力処理の状態である第1キュー実行状態を保持する第1キュー状態保持部を備え、
前記実行部は、前記切り替え条件と、前記第1キュー実行状態と、に基づいて、前記第1キューまたは前記第2キューから入出力処理を取得して実行することを特徴とする請求項1または請求項2に記載の入出力制御装置。
A first queue state holding unit that holds a first queue execution state that is a state of an input / output process that is taken out from the first queue and executed;
The execution unit acquires and executes input / output processing from the first queue or the second queue based on the switching condition and the first queue execution state. The input / output control apparatus according to claim 2.
前記第1キュー状態保持部は、連続して前記第1キューから取り出して実行した入出力処理の数である第1キュー連続処理数を保持し、
前記切り替え条件は、前記第1キュー連続処理数の上限値である閾値であり、
前記実行部は、前記第1キュー連続処理数が前記閾値未満である場合には前記第1キューから入出力処理を取得して実行し、前記第1キュー連続処理数が前記閾値に達した場合には前記第2キューから入出力処理を取得して実行することを特徴とする請求項3に記載の入出力処理装置。
The first queue state holding unit holds a first queue continuous processing number that is the number of input / output processes that are continuously taken out from the first queue and executed,
The switching condition is a threshold value that is an upper limit value of the first queue continuous processing number,
The execution unit acquires and executes an input / output process from the first queue when the first queue continuous processing number is less than the threshold, and the first queue continuous processing number reaches the threshold 4. The input / output processing apparatus according to claim 3, wherein the input / output processing is acquired from the second queue and executed.
前記切り替え条件保持部は、入出力処理を送信する送信装置からの切り替え条件変更要求に応じて保持する前記切り替え条件を変更することを特徴とする請求項1乃至請求項4のいずれか1項に記載の入出力装置。   The switching condition holding unit changes the switching condition held in response to a switching condition change request from a transmission device that transmits input / output processing. The input / output device described. 前記第1キュー状態保持部は、前記ハードリアルタイムアプリケーションからの入出力処理が前記入出力処理装置に入力されている間は、前記第1キュー連続処理数を増加させないことを特徴とする請求項4または請求項5に記載の入出力処理装置。   5. The first queue state holding unit does not increase the number of first queue continuous processes while input / output processing from the hard real-time application is being input to the input / output processing device. Alternatively, the input / output processing device according to claim 5. 前記オーダリング部は、前記第2キューに格納された前記複数の入出力処理を、処理時間が最短となるように並べ替えることを特徴とする請求項1乃至請求項6のいずれか1項に記載の入出力処理装置。   7. The ordering unit according to claim 1, wherein the ordering unit rearranges the plurality of input / output processes stored in the second queue so as to minimize a processing time. I / O processing unit. 請求項1に記載の前記入出力処理装置と、入出力処理を送信する送信装置と、を備える情報記憶システムであって、
前記送信装置は、各アプリケーションの実行状態をモニタリングし、そのモニタリングの結果に応じて前記切り替え条件変更する要求を前記入出力処理装置に送信することを特徴とする入出力処理システム。
An information storage system comprising: the input / output processing device according to claim 1; and a transmission device that transmits input / output processing .
The transmission apparatus monitors an execution state of each application, and transmits a request for changing the switching condition to the input / output processing apparatus according to a result of the monitoring .
最悪実行時間の算出が必要な処理タスクが格納され、格納された複数の処理タスクの順序が変更不能に構成された第1キューと、
最悪実行時間の算出が不要な処理タスクが格納され、格納された複数の処理タスクの順序が変更可能に構成された第2キューと、
前記第2キューに格納された前記複数の処理タスクを、処理時間が短縮されるように並べ替えるオーダリング部と、
処理タスクを取り出すアクセス先を前記第1のキューまたは前記第2のキューのいずれかに決定するための条件を定めた切り替え条件を保持する切り替え条件保持部と、
前記切り替え条件に基づいて、前記第1キューまたは前記第2キューから処理タスクを取得して実行する実行部と、を備え、
処理タスクが優先順位に従って入力される情報処理装置。
A first queue configured to store a processing task that requires calculation of the worst execution time, and configured so that the order of the plurality of stored processing tasks cannot be changed;
A second queue configured to store processing tasks that do not require calculation of the worst execution time, and to change the order of the plurality of stored processing tasks;
An ordering unit that rearranges the plurality of processing tasks stored in the second queue so as to reduce processing time;
A switching condition holding unit that holds a switching condition that defines a condition for determining an access destination from which a processing task is taken out as either the first queue or the second queue;
An execution unit that acquires and executes a processing task from the first queue or the second queue based on the switching condition;
An information processing apparatus in which processing tasks are input according to priority.
入出力処理が優先順位に従って入力され、
入力データの並べ替えが出来ないように構成された第1キューに最悪実行時間の算出が必要な入出力処理を格納し、
入力データの並べ替えが出来るように構成された第2キューに最悪実行時間の算出が不要な入出力処理を格納し、
入出力処理を取り出すアクセス先を前記第1のキューまたは前記第2のキューのいずれかに決定するための条件を定めた切り替え条件を記憶し、
前記第2キューに格納された前記複数の入出力処理を、処理時間が短縮されるように並べ替え、
前記切り替え条件に基づいて、前記第1キューまたは前記第2キューから入出力処理を取得して実行する入出力処理方法。
Input / output processing is input according to priority,
Input / output processing that requires calculation of the worst execution time is stored in the first queue configured so that the input data cannot be rearranged.
Input / output processing that does not require calculation of the worst execution time is stored in the second queue configured so that the input data can be rearranged.
Storing a switching condition that defines a condition for determining an access destination from which input / output processing is taken out as either the first queue or the second queue;
Rearranging the plurality of input / output processes stored in the second queue so that the processing time is shortened,
An input / output processing method for acquiring and executing an input / output process from the first queue or the second queue based on the switching condition.
JP2010029691A 2010-02-15 2010-02-15 I / O control device and I / O control method Expired - Fee Related JP5521610B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010029691A JP5521610B2 (en) 2010-02-15 2010-02-15 I / O control device and I / O control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010029691A JP5521610B2 (en) 2010-02-15 2010-02-15 I / O control device and I / O control method

Publications (2)

Publication Number Publication Date
JP2011165105A JP2011165105A (en) 2011-08-25
JP5521610B2 true JP5521610B2 (en) 2014-06-18

Family

ID=44595679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010029691A Expired - Fee Related JP5521610B2 (en) 2010-02-15 2010-02-15 I / O control device and I / O control method

Country Status (1)

Country Link
JP (1) JP5521610B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5903873B2 (en) * 2011-12-19 2016-04-13 富士通株式会社 Storage device, storage device control method, and storage device control program
JP6053384B2 (en) 2012-08-08 2016-12-27 キヤノン株式会社 Information processing apparatus, memory control apparatus, and control method thereof
JP6244972B2 (en) * 2014-02-21 2017-12-13 富士通株式会社 Storage control device, storage device and storage control program
KR102317786B1 (en) 2015-02-02 2021-10-26 삼성전자주식회사 Input/output processing method in storage device, and storage device and non-volatile memory device adopting the same
JP6532385B2 (en) 2015-11-02 2019-06-19 キヤノン株式会社 INFORMATION PROCESSING SYSTEM, CONTROL METHOD THEREOF, AND PROGRAM
KR101982447B1 (en) * 2018-07-20 2019-08-28 세종대학교산학협력단 Method for precessing i/o of virtual machine

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10222310A (en) * 1997-02-10 1998-08-21 Matsushita Electric Ind Co Ltd Recording and reproducing device
JP3430999B2 (en) * 1999-11-10 2003-07-28 日本電気株式会社 Storage medium scheduler, real-time system, and scheduling method
US6496899B1 (en) * 2000-02-28 2002-12-17 Sun Microsystems, Inc. Disk scheduling system with bounded request reordering
JP2004104212A (en) * 2002-09-05 2004-04-02 Matsushita Electric Ind Co Ltd Band management file system apparatus, program thereof, and program recording medium
JP4754531B2 (en) * 2007-07-04 2011-08-24 日本電信電話株式会社 Device access control method and processing apparatus

Also Published As

Publication number Publication date
JP2011165105A (en) 2011-08-25

Similar Documents

Publication Publication Date Title
US11467769B2 (en) Managed fetching and execution of commands from submission queues
KR100415861B1 (en) A method for determining whether to issue a command from a disk controller to a disk drive, a disk controller and a memory media that stores a program
JP5521610B2 (en) I / O control device and I / O control method
US9262357B2 (en) Associating process priority with I/O queuing
US9501406B2 (en) Storage control apparatus and storage control method
KR101622168B1 (en) Realtime scheduling method and central processing unit based on the same
US8959249B1 (en) Cooperative cloud I/O scheduler
US20160306663A1 (en) Method and system for allocating fpga resources
US9043512B1 (en) Method for combining non-latency-sensitive and latency-sensitive input and output
US9852008B2 (en) Computer-readable recording medium storing execution information notification program, information processing apparatus, and information processing system
US20130138912A1 (en) Scheduling requests in a solid state memory device
EP2556432A2 (en) Opportunistic multitasking
US9858959B2 (en) Adaptively mounting and unmounting removable storage media based on monitoring requests and states of storage drives and the storage media
JP2006285810A5 (en)
US10545890B2 (en) Information processing device, information processing method, and program
JP2003131908A (en) Storage control apparatus
US20110252205A1 (en) Managing Access Commands By Multiple Level Caching
JP7221585B2 (en) Information processing device, information processing system, information processing device control method, and information processing device control program
JP5158576B2 (en) I / O control system, I / O control method, and I / O control program
WO2021137181A1 (en) Systems and methods for scheduling flash operations
US10346070B2 (en) Storage control apparatus and storage control method
EP3293625B1 (en) Method and device for accessing file, and storage system
CN112767978B (en) DDR command scheduling method, device, equipment and medium
Mishra et al. Bulk i/o storage management for big data applications
CN112015527B (en) Managing fetching and executing commands from a commit queue

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

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: 20140311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140324

R150 Certificate of patent or registration of utility model

Ref document number: 5521610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees