Information processing device

The information processing device prioritizes initialization of critical paths based on device priority to ensure rapid OS booting with reliability, addressing the inefficiencies of full-path initialization before OS startup.

JP7597355B2Active Publication Date: 2024-12-10NEC SOLUTION INNOVATORS LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2020184870
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-11-05
Publication Date
2024-12-10
Estimated Expiration
2040-11-05

AI Technical Summary

Technical Problem

Existing systems face challenges in quickly booting an operating system (OS) while ensuring reliability, particularly due to the need to initialize all paths with peripheral devices before OS startup, which can be time-consuming and unreliable.

Method used

An information processing device initializes only some of the multiple paths connected to a device by prioritizing initialization based on device priority or availability, allowing the OS to start with partially initialized paths and completing the remaining initialization post-startup.

Benefits of technology

This approach enables rapid OS booting with ensured reliability by initializing critical paths first, followed by completing the rest post-OS startup, thus optimizing the initialization process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007597355000001
    Figure 0007597355000001
  • Figure 0007597355000002
    Figure 0007597355000002
  • Figure 0007597355000003
    Figure 0007597355000003
Patent Text Reader

Abstract

To provide an information processing apparatus which can start an OS quickly while securing reliability, an initialization method, and a program.SOLUTION: An information processing apparatus (system initializer) connected to each of devices via paths includes an initialization unit which initializes only some of the paths connected to a device to be initialized. When one of the paths connected to the device is successfully initialized, the initialization unit initializes paths connected to the other devices without initializing the other paths.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device, an initialization method, and a program. [Background technology]

[0002] In order to ensure I / O (Input / Output) performance and reliability after the OS (Operating System) starts up, systems with peripheral devices connected may perform initialization of all paths to the peripheral devices before the OS starts up.

[0003] An example of a document that describes such initialization of a peripheral device is, for example, Patent Document 1. Patent Document 1 describes a computer system having a main memory means for storing data indicating the internal state of the system, and an interface means for interfacing with at least one peripheral device including a communication device. According to Patent Document 1, the system has a storage means for storing the memory contents of the main memory means, a state storage processing means for storing the memory contents of the main memory means immediately before power is turned off in the storage means, a state recovery means for recovering the memory contents stored in the storage means when the power is turned on again, and an initialization means for initializing a part of the memory contents recovered by the state recovery means based on the current state of the peripheral device obtained via the interface means. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Publication No. 05-333962 Summary of the Invention [Problem to be solved by the invention]

[0005] In the case of the technology described in Patent Document 1, for example, there are cases where it is not possible to respond to cases where the device configuration is changed while the power is off, and there is an issue with ensuring reliability. In addition, in order to ensure reliability, there is also a method of issuing I / O to all paths before starting the OS and judging whether the paths are valid or not based on the results. However, when checking whether all paths are valid or not, it takes a very long time to issue I / O to all paths.

[0006] Thus, there has been a problem that it is sometimes difficult to boot up an OS quickly while ensuring reliability. Therefore, an object of the present disclosure is to provide an information processing device, an initialization method, and a program that solve the problem that it is sometimes difficult to boot up an OS quickly while ensuring reliability. [Means for solving the problem]

[0007] In order to achieve this object, an information processing device according to one embodiment of the present disclosure includes: An information processing device connected to a plurality of devices via a plurality of paths, The device has an initialization unit that initializes only some of the paths among a plurality of paths connected to the device to be initialized. The structure is as follows.

[0008] In addition, an initialization method according to another aspect of the present disclosure includes: An information processing device connected to each of a plurality of devices via a plurality of paths, When initialization of one of multiple paths connected to a device is successful, initialization is not performed on the other paths connected to the device, but initialization is performed on paths connected to other devices. The structure is as follows.

[0009] In addition, a program according to another aspect of the present disclosure includes: An information processing device connected to each of a plurality of devices via a plurality of paths, This is a program for realizing an initialization unit that initializes only some of the paths among a plurality of paths connected to a device to be initialized. Effect of the Invention

[0010] According to the above-mentioned configurations, it is possible to quickly start up the OS while ensuring reliability. [Brief description of the drawings]

[0011] [Figure 1] 1 is a diagram illustrating a configuration example of a host device and a group of devices according to a first embodiment of the present disclosure. [Diagram 2] 2 is a block diagram showing a configuration example of a system initializer shown in FIG. 1. [Diagram 3] FIG. 3 is a diagram showing an example of a device management table shown in FIG. 2. [Figure 4] FIG. 3 is a diagram showing an example of a path management table shown in FIG. 2; [Diagram 5] 2 is a block diagram showing an example of the configuration of the OS shown in FIG. 1. [Figure 6] 11 is a flowchart showing an example of the operation of a system initializer at the time of initial startup. [Figure 7] 13 is a flowchart showing an example of the operation of the system initializer from the second time onward. [Figure 8] 11 is a flowchart showing an example of the operation of an OS at the time of initial boot. [Figure 9] 13 is a flowchart showing an example of the operation of the OS from the second time onward. [Figure 10] FIG. 11 is a diagram illustrating an example of a hardware configuration of an information processing device according to a second embodiment of the present disclosure. [Figure 11] 1 is a block diagram showing an example of the configuration of an information processing device; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] [First embodiment] A first embodiment of the present disclosure will be described with reference to Figs. 1 to 9. Fig. 1 shows: FIG. 2 is a diagram showing an example of the configuration of a host device 100 and a device 200. FIG. 2 is a block diagram showing an example of the configuration of a system initializer 110. FIG. 3 is a diagram showing an example of a device management table 111. FIG. 4 is a diagram showing an example of a path management table 112. FIG. 5 is a block diagram showing an example of the configuration of an OS 130. FIGS. 6 and 7 are flowcharts showing an example of the operation of the system initializer 110. FIGS. 8 and 9 are flowcharts showing an example of the operation of the OS.

[0013] In the first embodiment of the present disclosure, a host device 100 connected to a plurality of devices 200 via paths will be described. The host device 100 in this embodiment initializes paths connecting to the devices 200 at startup. As will be described later, in this embodiment, the host device 100 initializes only some of the paths connecting to the devices 200 to be initialized and starts up the OS 130. Then, after starting up the OS 130, the host device 100 initializes the remaining paths.

[0014] As described later, the device 200 to be initialized differs depending on whether or not a priority, which will be described later, has been acquired. For example, when a priority has been acquired, the device 200 to be initialized is a device 200 connected to the host device 100 whose priority is equal to or higher than a priority threshold. In other words, when a priority has been acquired, the system initializer 110, which will be described later, selects a device 200 connected to the host device 100 whose priority is equal to or higher than a priority threshold as a device 200 to be initialized. On the other hand, when a priority has not been acquired, the device 200 to be initialized is all the devices 200 connected to the host device 100. In other words, when a priority has not been acquired, the system initializer 110 selects all the devices 200 connected to the host device 100 as devices 200 to be initialized. The device 200 to be initialized may be other than the above-mentioned examples.

[0015] Fig. 1 shows an example of the configuration of a host device 100. Referring to Fig. 1, the host device 100 is connected to each device 200 constituting a peripheral device group using a plurality of paths. For example, in the case shown in Fig. 1, the host device 100 is connected to each device 200 using four paths. Note that the host device 100 may be connected to the device 200 using a number of paths other than those exemplified above, such as three paths. Also, the number of paths may be different for each device 200.

[0016] 1, the host device 100 has, for example, a system initializer 110, an OS start process 120, and an OS 130. For example, the host device 100 has a calculation device such as a CPU, and a storage device. For example, the host device 100 can realize each of the above-mentioned processing units by causing the calculation device to execute a program stored in the storage device. The host device 100 may realize each of the above-mentioned processing units by hardware, or a combination of hardware and software.

[0017] The system initializer 110 performs path initialization processing before starting the OS 130. Fig. 2 shows an example of the configuration of the system initializer 110. Referring to Fig. 2, for example, the system initializer 110 can have a device management table 111 and a path management table 112. The system initializer 110 also has, as main processing units, a device management table copy unit 113, a path information acquisition unit 114, a path selection unit 115, an initialization I / O issuing unit 116, an I / O result check unit 117, and a table update unit 118.

[0018] The device management table 111 is a table for managing each device 200, which is a group of peripheral devices connected to the host device 100. Fig. 3 shows an example of the configuration of the device management table 111. Referring to Fig. 3, the device management table 111 includes, for example, a device identification name, a path ID, and a validity flag.

[0019] Here, the device identification name is identification information that uniquely identifies the device 200. The device identification name is given in advance to each device 200. The connection path name is identification information for identifying a path connected to the device 200 indicated by the device identification name. The connection path name is given in advance to each path. The valid flag is a flag that indicates whether the path indicated by the connection path name is valid or invalid.

[0020] The path management table 112 is a table for managing the path initialization process. For example, the path management table 112 is generated by a device management table copying unit 113 (described later) copying the device management table 111. By using the path management table 112 generated by copying the device management table 111 to manage the path initialization process, it is possible to manage the path initialization process without interfering with other processing units that refer to the device management table 111.

[0021] Fig. 4 shows an example of the configuration of the path management table 112. Referring to Fig. 4, the path management table 112 includes, for example, a device identification name, a path ID, a valid flag, an initialization flag, a priority, and an access time.

[0022] Here, the device identification name, path ID, and validity flag are the same as those in the device management table 111. Therefore, a description will be omitted. The initialization flag is a flag indicating whether or not initialization processing has been performed on the path indicated by the connection path name. The initialization flag is updated by performing initialization processing. The priority indicates the priority when executing initialization processing for the second or subsequent times. Details of the priority will be described later. The access time indicates the time of the first access to the device 200 indicated by the device identification name. For example, the access time indicates a relative time (e.g. μs) with the start of operation of the initializer 110 being 0 seconds.

[0023] The device management table copying unit 113 generates the path management table 112 by copying the device management table 111. Furthermore, when the device management table 111 is updated, the device management table copying unit 113 reflects the updated information in the path management table 112.

[0024] For example, when the path management table 112 has not been generated, such as when the system initializer 110 is started for the first time, the device management table copying unit 113 generates the path management table 112 by copying the device management table 111 or the like.

[0025] Furthermore, when the path management table 112 has already been generated, such as when the system initializer 110 is started for the second or subsequent time, the device management table copy unit 113 checks whether the device management table 111 has been updated by comparing the path management table 112 with the device management table 111. If the device management table 111 has been updated, the device management table copy unit 113 reflects the updated information in the path management table 112.

[0026] For example, as described above, the device management table copying unit 113 creates and updates the path management table 112 when the system initializer 110 is started up.

[0027] The path information acquisition unit 114 acquires path information including a path ID and the like by referring to the path management table 112 .

[0028] Here, the path information acquisition unit 114 acquires path information using different criteria depending on whether or not a priority is set, for example. In other words, the path information acquisition unit 114 acquires path information selected using different criteria depending on whether a priority has not yet been acquired, such as when the system initializer 110 is started for the first time, and whether a priority has been acquired, such as when the system initializer 110 is started for the second or subsequent times.

[0029] For example, when the priority has not been acquired, the path information acquisition unit 114 acquires any path information corresponding to any device 200, such as the top of the table. After that, an initialization process, such as issuing an initialization I / O, is performed on the path indicated by the path information acquired by the path information acquisition unit 114.

[0030] Furthermore, the path information acquisition unit 114 acquires path information according to the result of the initialization process. For example, if the initialization process fails as a result of the initialization process, the path information acquisition unit 114 acquires other arbitrary path information corresponding to the same device 200 as the path for which the initialization process was performed. On the other hand, if the initialization is successful, the path information acquisition unit 114 acquires arbitrary path information corresponding to the next device 200. The next device 200 may be determined by any method, such as by determining according to the order of the table.

[0031] For example, as described above, when the priority has not been acquired, the path information acquisition unit 114 acquires any path information corresponding to any device 200. Furthermore, the path information acquisition unit 114 acquires path information so that initialization is successful for one of the multiple paths connecting to the device 200. In other words, when initialization is successful for one of the multiple paths connecting to the device 200, the path information acquisition unit 114 acquires path information corresponding to the other devices 200 without acquiring other path information corresponding to the device 200 for which the initialization has been successful.

[0032] Also, for example, when the priority level is acquired, the path information acquisition unit 114 acquires any path information corresponding to the device 200 with the highest priority among the devices 200 whose priority level is equal to or higher than the priority threshold level. After that, an initialization process such as issuing an initialization I / O is performed on the path indicated by the path information acquired by the path information acquisition unit 114. The priority threshold level may be any value.

[0033] Furthermore, the path information acquisition unit 114 acquires path information according to the result of the initialization process. For example, if the initialization process fails, the path information acquisition unit 114 acquires other arbitrary path information corresponding to the same device 200 as the path for which the initialization process was performed. On the other hand, if the initialization is successful, the path information acquisition unit 114 acquires arbitrary path information corresponding to the device 200 with the next highest priority.

[0034] For example, as described above, when the priority is acquired, the path information acquisition unit 114 performs the initialization process on the devices 200 whose priority is equal to or higher than the priority threshold in the order of priority. In other words, the path information acquisition unit 114 does not acquire path information corresponding to the devices 200 whose priority is lower than the priority threshold. In addition, the path information acquisition unit 114 acquires path information so that the initialization of one of the multiple paths connecting the device 200 to be initialized is successful. In other words, when the initialization of one of the multiple paths connecting the device 200 is successful, the path information acquisition unit 114 acquires path information corresponding to the other devices 200 without acquiring other path information corresponding to the device 200 whose initialization is successful.

[0035] When there are multiple devices 200 with the same priority, the path information acquisition unit 114 may acquire path information corresponding to a device 200 selected by any method from among the devices 200 with the same priority.

[0036] The path selection unit 115 selects a path for issuing an initialization I / O based on the path information acquired by the path information acquisition unit 114. For example, the path selection unit 115 selects a path indicated by a path ID included in the path information.

[0037] The initialization I / O issuing unit 116 issues an initialization I / O to the path selected by the path selection unit 115 after the path information acquisition unit 114 acquires the path information. The initialization I / O issuing unit 116 may have a known configuration.

[0038] The I / O result check unit 117 checks whether the initialization is successful or not, depending on the result of the initialization I / O issued by the initialization I / O issuing unit 116. The I / O result check unit 117 may also have a known configuration.

[0039] The table update unit 118 updates the path management table 112 according to the result of the check by the I / O result check unit 117. For example, if the I / O result check unit 117 determines that the initialization was successful, the table update unit 118 changes the valid flag and the initialization flag corresponding to the path for which the initialization process was performed in the path management table 112 to ON. On the other hand, if the I / O result check unit 117 determines that the initialization was unsuccessful, the table update unit 118 changes the valid flag corresponding to the path for which the initialization process was performed in the path management table 112 to OFF and changes the initialization flag to ON.

[0040] Furthermore, the table update unit 118 can change the valid flag and the initialization flag of the path management table 112 to OFF when the system initializer 110 is started for the second or subsequent times.

[0041] The OS start process 120 starts the OS 130 after the system initializer 110 performs initialization processing on the device 200 to be initialized. As described above, the system initializer 110 performs initialization processing on the device 200 to be initialized so that initialization is successful for one of the multiple paths connected to the device 200. Therefore, the OS start process 120 starts the OS 130 at the stage where initialization is successful for one of the multiple paths connected to each device 200 to be initialized. In other words, the OS start process 120 starts the OS 130 at the stage where initialization is successful for some paths that satisfy a predetermined condition. The OS start process 120 may be a known process.

[0042] The OS 130 performs initialization processing for paths that were not initialized by the system initializer 110. Furthermore, when an I / O is issued to a device 200 for which no paths have been initialized, the OS 130 initializes the paths before issuing the I / O. Furthermore, the OS 130 measures the priority according to the access time and user at the time of issuing the I / O.

[0043] 5 shows an example of the configuration of the OS 130. Referring to FIG. 5, for example, the OS 130 can have a path management table 131. In addition to general functions such as user jobs and I / O functions, the OS 130 has, as main processing units, a peripheral device initialization unit including a path information acquisition unit 132, a path selection unit 133, an initialization I / O issuing unit 134, and an I / O result check unit 135, and a path management table update unit including a validity flag change unit 136, an initialization flag change unit 137, a priority change unit 138, an access time change unit 139, and a notification unit 140. In addition, in the case of this embodiment, the I / O function of the OS 130 can have a function of calling the priority change unit 138 and the access time change unit 139 when issuing an I / O.

[0044] The path management table 131 is a table for managing path initialization processing. Updates to the path management table 131 are reflected in the path management table 112. In addition, the configuration of the path management table 112 is reflected in the path management table 131. The path management table 131 may be the same as the path management table 112.

[0045] The path information acquisition unit 132 refers to the path management table 131 to acquire path information including a path ID and the like.

[0046] Here, the path information acquisition unit 132 acquires path information about paths that the system initializer 110 has not performed initialization processing on. Similarly to the path information acquisition unit 114, the path information acquisition unit 132 acquires path information about paths that the system initializer 110 has not performed initialization processing on using different criteria depending on whether or not a priority is set. In other words, the path information acquisition unit 114 acquires path information selected using different criteria depending on whether a priority has not yet been acquired, such as when the system initializer 110 is started for the first time, and whether a priority has been acquired, such as when the system initializer 110 is started for the second or subsequent times.

[0047] For example, when the priority is not acquired, the path information acquisition unit 132 acquires path information in order from the top of the table for paths that the system initializer 110 has not performed initialization processing on. As a result, the OS 130 sequentially initializes paths that the system initializer 110 has not performed initialization processing on.

[0048] Also, for example, when the priority is acquired, the path information acquisition unit 132 acquires path information in descending order of priority for paths that have not been initialized by the system initializer 110. As a result, the OS 130 performs initialization in descending order of priority for paths that have not been initialized by the system initializer 110.

[0049] For example, as described above, the path information acquisition unit 132 sequentially acquires path information about paths for which the system initializer 110 has not performed initialization processing.

[0050] In addition, when the priority is acquired, the device 200 whose priority is equal to or higher than the priority threshold becomes the device 200 to be initialized by the system initializer 110. Therefore, the device 200 whose priority is lower than the priority threshold is not initialized by the system initializer 110. As a result, when an I / O is issued by an I / O function of the OS 130, there is a possibility that initialization has not been performed for all paths corresponding to the device 200 to which the I / O is issued. In this way, when an I / O is issued to a device 200 whose corresponding paths have not been initialized, the path information acquisition unit 132 can acquire any path information corresponding to the device 200. This allows the OS 130 to perform initialization processing for the path indicated by the path information acquired by the path information acquisition unit 132. In addition, after the initialization processing by the OS 130, an I / O can be issued by an I / O function or the like.

[0051] The path selection unit 133, the initialization I / O issuing unit 134, and the I / O result check unit 135 perform the same processing as the path selection unit 115, the initialization I / O issuing unit 116, and the I / O result check unit 117. For example, the path selection unit 133 selects a path for which to issue an initialization I / O, based on the path information acquired by the path information acquisition unit 132. Furthermore, the initialization I / O issuing unit 134 issues an initialization I / O to the path selected by the path selection unit 133 after the path information acquisition unit 132 acquires the path information. Then, the I / O result check unit 135 checks whether the initialization has been successful, depending on the result of the initialization I / O issued by the initialization I / O issuing unit 134.

[0052] The validity flag change unit 136 and the initialization flag change unit 137 perform the same processing as the table update unit 118. For example, if the I / O result check unit 135 determines that the initialization was successful, the validity flag change unit 136 changes to on the validity flag in the path management table 131 corresponding to the path for which the initialization process was performed. Also, the initialization flag change unit 137 changes to on the initialization flag corresponding to the path for which the initialization process was performed. On the other hand, if the I / O result check unit 135 determines that the initialization was unsuccessful, the validity flag change unit 136 changes to off the validity flag in the path management table 131 corresponding to the path for which the initialization process was performed. Also, the initialization flag change unit 137 changes to on the initialization flag corresponding to the path for which the initialization process was performed.

[0053] The priority change unit 138 changes the priority items included in the path management table 131. For example, the priority change unit 138 adds a priority value according to at least one of the access time when an I / O is issued and the user. The settings of the time and the user and the value to be added may be set arbitrarily.

[0054] As an example, the priority change unit 138 adds 1 to the priority value when an I / O is issued before the OS 130 is started. Also, the priority change unit 138 adds 0 to the priority value when an I / O is issued after the OS 130 is started. In this way, the priority change unit 138 can add a different value depending on whether the light-emitting object of the I / O is before or after the OS 130 is started. Note that the priority change unit 138 may be configured to add the priority value in stages depending on the time that has elapsed since the system initializer 110 was started when the I / O was issued.

[0055] Also, as an example, the priority change unit 138 adds a value according to the user of the I / O. For example, the priority change unit 138 changes the priority value according to the user, for example, if the user of the I / O is a subsystem, the priority value is increased by 2, if the user is a user, the priority value is increased by 1, if there is no user, the priority value is increased by 0, etc.

[0056] For example, as described above, the priority change unit 138 adds a priority value depending on the access time when an I / O is issued and the user.

[0057] The access time change unit 139 changes the access time item included in the path management table 131. For example, when an I / O is issued by an I / O function of the OS 130, the access time change unit 139 writes the time at which the I / O was issued (for example, the time elapsed since the system initializer 110 started operating) in the access time item.

[0058] The notification unit 140 can notify other functional units of the OS 130 that a change has been made to the path management table 131 by the validity flag change unit 136, the initialization flag change unit 137, the priority change unit 138, the access time change unit 139, etc. In other words, when a change has been made to the path management table 131, the notification unit 140 notifies other processing units, external devices, etc. that a change has been made to the path management table 131.

[0059] The above is an example of the configuration of the host device 100. Next, an example of the operation when performing the path initialization process will be described with reference to Fig. 6 to Fig. 9. First, an example of the operation when the system initializer 110 performs the initialization process will be described with reference to Fig. 6 and Fig. 7.

[0060] Fig. 6 shows an example of the operation of the system initializer 110 when the priority has not been acquired. Referring to Fig. 6, the system initializer 110 starts up (step S110).

[0061] The device management table copying unit 113 generates the path management table 112 by copying the device management table 111 (step S102).

[0062] The path information acquisition unit 114 acquires path information including a path ID and the like by referring to the path management table 112. For example, the path information acquisition unit 114 acquires any path information corresponding to any device 200, such as the top of the table. Furthermore, the path selection unit 115 selects a path for which an initialization I / O is to be issued, based on the path information acquired by the path information acquisition unit 114. Then, the initialization I / O issuing unit 116 issues an initialization I / O to the path selected by the path selection unit 115 after the path information acquisition unit 114 acquires the path information. In this manner, the path initialization process is performed (step S103).

[0063] The I / O result check unit 117 checks whether the initialization is successful or not according to the result of the initialization I / O issued by the initialization I / O issuing unit 116 (step S104). If the initialization is unsuccessful (step S104, No), the table update unit 118 changes the valid flag corresponding to the path for which the initialization process has been performed in the path management table 112 to OFF, and changes the initialization flag to ON. In addition, the path information acquisition unit 114 acquires any other path information corresponding to the same device 200 as the path for which the initialization process has been performed (step S105), and returns to the process of step S103.

[0064] On the other hand, if the initialization is successful (Yes at step S104), the table updater 118 changes the valid flag and the initialization flag corresponding to the path for which the initialization process has been performed in the path management table 112 to ON (step S106).

[0065] When the initialization process for initializing one of the multiple paths connected to all devices 200 to be initialized is completed (Yes in step S107), the system initializer 110 ends the process. After that, the OS start process 120 starts the OS 130. On the other hand, if there are devices 200 to be initialized remaining (No in step S107), the path information acquisition unit 114 acquires any path information corresponding to the next device 200 (step S108) and returns to the process of step S103.

[0066] The above is an example of the operation of the system initializer 110 when the priority has not been acquired. Next, an example of the operation of the system initializer 110 when the priority has been acquired will be described with reference to FIG.

[0067] Referring to FIG. 7, the system initializer 110 starts (step S210).

[0068] The device management table copy unit 113 checks whether the device management table 111 has been updated (step S202). If the device management table 111 has been updated (step S202, Yes), the device management table copy unit 113 reflects the updated information in the path management table 112 (step S203).

[0069] The table update unit 118 turns off the valid flag and the initialization flag in the path management table 112 (step S204).

[0070] The path information acquisition unit 114 acquires path information including a path ID and the like based on the priority by referring to the path management table 112. For example, the path information acquisition unit 114 acquires any path information corresponding to the device 200 with the highest priority among the devices 200 whose priority is equal to or higher than the priority threshold (step S205). Furthermore, the path selection unit 115 selects a path for which an initialization I / O is to be issued based on the path information acquired by the path information acquisition unit 114. Then, the initialization I / O issuing unit 116 issues an initialization I / O to the path selected by the path selection unit 115 after the path information acquisition unit 114 acquires the path information. In this manner, the path initialization process is performed (step S206).

[0071] The I / O result check unit 117 checks whether the initialization is successful or not according to the result of the initialization I / O issued by the initialization I / O issuing unit 116 (step S207). If the initialization is unsuccessful (step S207, No), the table update unit 118 changes the valid flag corresponding to the path for which the initialization process has been performed in the path management table 112 to OFF, and changes the initialization flag to ON. In addition, the path information acquisition unit 114 acquires any other path information corresponding to the same device 200 as the path for which the initialization process has been performed (step S208), and returns to the process of step S206.

[0072] On the other hand, if the initialization is successful (Yes at step S207), the table updater 118 changes the valid flag and the initialization flag corresponding to the path for which the initialization process has been performed in the path management table 112 to ON (step S209).

[0073] When the initialization process for initializing one of the multiple paths connected to all devices 200 to be initialized is completed (Yes in step S210), the system initializer 110 ends the process. After that, the OS start process 120 starts the OS 130. On the other hand, if there are devices 200 to be initialized remaining (No in step S210), the path information acquisition unit 114 acquires any path information corresponding to the device 200 with the next highest priority (step S211) and returns to the process of step S205.

[0074] The above is an example of the operation of the system initializer 110 when the priority has been acquired. Next, an example of the operation of the OS 130 when the priority has not been acquired will be described with reference to FIG.

[0075] The path information acquisition unit 132 acquires path information including a path ID and the like by referring to the path management table 131. For example, the path information acquisition unit 132 acquires path information from the top of the table for paths that have not been initialized by the system initializer 110 (step S301).

[0076] The path selection unit 133 selects a path for issuing an initialization I / O based on the path information acquired by the path information acquisition unit 132. Then, the initialization I / O issuing unit 134 issues an initialization I / O to the path selected by the path selection unit 133 after the path information acquisition unit 132 acquires the path information. In this manner, the path initialization process is performed (step S302).

[0077] The I / O result check unit 135 checks whether the initialization is successful or not according to the result of the initialization I / O issued by the initialization I / O issuing unit 134 (step S303). If the initialization is unsuccessful (step S303, No), the valid flag change unit 136 changes the valid flag to off, and the initialization flag change unit 137 changes the initialization flag to on (step S304). On the other hand, if the initialization is successful (step S303, Yes), the valid flag change unit 136 changes the valid flag to on, and the initialization flag change unit 137 changes the initialization flag to on (step S305).

[0078] If the initialization process has been performed on all paths (step S306, Yes), the OS 130 ends the path initialization process. On the other hand, if there are paths remaining that have not been initialized (step S306, No), the path information acquisition unit 132 acquires the next path information (step S307) and returns to the process of step S302.

[0079] The above is an example of the operation of the OS 130 when the priority has not been acquired. Next, an example of the operation of the OS 130 when the priority has been acquired will be described with reference to FIG.

[0080] The path information acquisition unit 132 acquires path information including a path ID and the like by referring to the path management table 131. For example, the path information acquisition unit 132 acquires path information in descending order of priority for paths that have not been initialized by the system initializer 110 (step S401).

[0081] The path selection unit 133 selects a path for issuing an initialization I / O based on the path information acquired by the path information acquisition unit 132. Then, the initialization I / O issuing unit 134 issues an initialization I / O to the path selected by the path selection unit 133 after the path information acquisition unit 132 acquires the path information. In this manner, the path initialization process is performed in order of priority (step S402).

[0082] The I / O result check unit 135 checks whether the initialization is successful or not according to the result of the initialization I / O issued by the initialization I / O issuing unit 134 (step S403). If the initialization is unsuccessful (step S403, No), the valid flag change unit 136 changes the valid flag to off, and the initialization flag change unit 137 changes the initialization flag to on (step S404). On the other hand, if the initialization is successful (step S403, Yes), the valid flag change unit 136 changes the valid flag to on, and the initialization flag change unit 137 changes the initialization flag to on (step S405).

[0083] If the initialization process has been performed on all paths (step S406, Yes), the OS 130 ends the path initialization process. On the other hand, if there are paths remaining that have not been initialized (step S406, No), the path information acquisition unit 132 acquires the next path information (step S407) and returns to the process of step S402.

[0084] The above is an example of the operation of the OS 130 when the priority has been acquired.

[0085] In this way, the host device 100 has a system initializer 110 having a path information acquisition unit 114, a path selection unit 115, and an initialization I / O issuing unit 116. With this configuration, the system initializer 110 can operate to initialize only some of the paths connected to the device 200 to be initialized. As a result, it becomes possible to start the OS 130 in a state where only some of the paths connected to the device 200 to be initialized have been initialized. This makes it possible to start the OS 130 quickly while ensuring reliability.

[0086] Furthermore, the OS 130 has a configuration for initializing paths that were not initialized by the system initializer 110. With this configuration, it becomes possible to initialize the remaining paths after the OS 130 is started.

[0087] In this embodiment, the case where the processing based on the priority is performed even when the device management table 111 is updated has been described. However, for example, when the device management table copying unit 113 determines that the device management table 111 is updated, the processing using the priority may not be performed. In other words, when the device management table 111 is updated, the system initializer 110 may set all the devices 200 connected to the host device 100 as the initialization targets. The system initializer 110 may determine the devices 200 to be initialized based on criteria other than those exemplified above, such as setting the devices 200 whose priority is equal to or higher than the priority threshold and the newly added devices 200 as the initialization targets.

[0088] [Second embodiment] Next, a second embodiment of the present disclosure will be described with reference to Fig. 10 and Fig. 11. In the second embodiment, an information processing device 300 connected to a plurality of devices via a plurality of paths will be described.

[0089] Fig. 10 shows an example of a hardware configuration of the information processing device 300. Referring to Fig. 10, the information processing device 300 has, as an example, the following hardware configuration. ·CPU(Central Processing Unit)301(Arithmetic unit) ROM (Read Only Memory) 302 (storage device) RAM (Random Access Memory) 303 (storage device) Programs 304 loaded into RAM 303 A storage device 305 for storing the programs 304 A drive device 306 that reads and writes from a recording medium 310 outside the information processing device A communication interface 307 for connecting to a communication network 311 outside the information processing device Input / output interface 308 for inputting and outputting data Bus 309 connecting each component

[0090] 11 by the CPU 301 acquiring the program group 304 and executing it. The program group 304 is stored in advance in the storage device 305 or the ROM 302, for example, and is loaded into the RAM 303 or the like by the CPU 301 for execution as necessary. The program group 304 may be supplied to the CPU 301 via the communication network 311, or may be stored in advance in the recording medium 310, and the drive device 306 may read out the programs and supply them to the CPU 301.

[0091] 10 shows an example of the hardware configuration of the information processing device 300. The hardware configuration of the information processing device 300 is not limited to the above. For example, the information processing device 300 may be configured with a part of the above configuration, such as not having the drive device 306.

[0092] The initialization unit 321 initializes only some of the paths among a plurality of paths connecting to the device to be initialized.

[0093] In this way, the information processing device 300 has the initialization unit 321. With this configuration, the initialization unit 321 can initialize only some of the paths among a plurality of paths connecting to the device to be initialized. As a result, it becomes possible to quickly start up the OS while ensuring reliability.

[0094] The information processing device 300 described above can be realized by incorporating a predetermined program in the information processing device 300. Specifically, the program according to another embodiment of the present invention is a program for realizing an initialization unit in the information processing device 300 connected to each of a plurality of devices via a plurality of paths, which initializes only some of the paths connected to the device to be initialized.

[0095] Furthermore, the initialization method realized by the information processing device 300 described above is a method in which, when the information processing device 300, which is connected to each of a plurality of devices via a plurality of paths, successfully initializes one of the plurality of paths connecting to a device, it does not initialize the other paths connecting to that device, but initializes the paths connecting to the other devices.

[0096] Even if the invention is a program (or a recording medium) or an initialization method having the above-mentioned configuration, it has the same functions and effects as the above-mentioned information processing device 300, and therefore can achieve the above-mentioned object of the present invention.

[0097] <Additional Notes> A part or all of the above-described embodiment can be described as follows: An outline of an information processing device and the like according to the present invention will be described below. However, the present invention is not limited to the following configuration.

[0098] (Appendix 1) An information processing device connected to a plurality of devices via a plurality of paths, The device has an initialization unit that initializes only some of the paths among a plurality of paths connected to the device to be initialized. Information processing device. (Appendix 2) 2. The information processing device according to claim 1, When the initialization of one of the paths connected to the device is successful, the initialization unit does not initialize the other paths connected to the device. Information processing device. (Appendix 3) The information processing device according to claim 1 or 2, When the initialization of one of the paths connected to the device is successful, the initialization unit does not initialize the other paths connected to the device, but initializes paths connected to other devices. Information processing device. (Appendix 4) An information processing device according to any one of Supplementary Note 1 to Supplementary Note 3, The initialization unit selects a device to be initialized according to a priority acquired in advance. Information processing device. (Appendix 5) The information processing device according to claim 4, The priority is acquired based on at least one of the time when the device is accessed and the user at the time of accessing the device. Information processing device. (Appendix 6) The information processing device according to claim 4 or 5, The initialization unit selects a device to be initialized based on different criteria depending on whether the priority has been acquired. Information processing device. (Appendix 7) An information processing device according to any one of Supplementary Note 1 to Supplementary Note 6, The initialization unit manages the initialization by using a path management table generated based on a device management table for managing the devices. Information processing device. (Appendix 8) An information processing device according to any one of Supplementary Note 1 to Supplementary Note 7, The initialization unit has an OS that initializes paths that have not been initialized. Information processing device. (Appendix 9) An information processing device connected to each of a plurality of devices via a plurality of paths, When initialization of one of multiple paths connected to a device is successful, initialization is not performed on the other paths connected to the device, but initialization is performed on paths connected to other devices. Initialization method. (Appendix 10) An information processing device connected to each of a plurality of devices via a plurality of paths, A program for implementing an initialization unit that initializes only some of a plurality of paths connected to a device to be initialized.

[0099] The programs described in the above embodiments and appendices may be stored in a storage device or a computer-readable recording medium, such as a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, or a semiconductor memory.

[0100] Although the present invention has been described with reference to the above-mentioned embodiments, the present invention is not limited to the above-mentioned embodiments. Various modifications that can be understood by a person skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. [Explanation of symbols]

[0101] 100 Host device 110 System Initializer 111 Device Management Table 112 Path Management Table 113 Device management table copy section 114 Path information acquisition unit 115 Path Selection Section 116 Initialize I / O Issuer 117 I / O result check section 118 Table Update Section 120 OS Start Process 130 OS 131 Path Management Table 132 Path information acquisition unit 133 Path Selection Unit 134 Initialize I / O Issuer 135 I / O result check section 136 Valid flag change section 137 Initialization flag change section 138 Priority Change Section 139 Access Time Change Section 140 Notification Department 200 equipment 300 Information processing device 301 CPU 302 ROM 303 RAM 304 Programs 305 Storage device 306 Drive Unit 307 Communication Interface 308 Input / Output Interface 309 Bus 310 Recording media 311 Communication Network 321 Initialization section

Claims

1. An information processing device connected to a plurality of devices via a plurality of paths, An initialization unit is provided for initializing only a part of a plurality of paths connected to a device to be initialized, When the initialization of one of the paths connected to the device is successful, the initialization unit does not initialize the other paths connected to the device, but initializes paths connected to other devices. Information processing device.

2. 2. The information processing device according to claim 1, The initialization unit selects a device to be initialized according to a priority acquired in advance. Information processing device.

3. 3. The information processing device according to claim 2, The priority is obtained based on at least one of the time when the device is accessed and the user at the time of accessing the device. Information processing device.

4. 3. The information processing device according to claim 2, The initialization unit selects a device to be initialized based on different criteria depending on whether the priority has been acquired. Information processing device.

5. The information processing device according to any one of claims 1 to 4, The initialization unit manages the initialization by using a path management table generated based on a device management table for managing the devices. Information processing device.

6. The information processing device according to any one of claims 1 to 5, The initialization unit has an OS that initializes paths that have not been initialized. Information processing device.

7. An information processing device connected to each of a plurality of devices via a plurality of paths, Initialize only some of the paths among the multiple paths connected to the device to be initialized, When the initialization is performed, if the initialization of one of the paths connected to the device is successful, the initialization is not performed on the other paths connected to the device, but the initialization is performed on the paths connected to the other devices. Initialization method.

8. An information processing device connected to each of a plurality of devices via a plurality of paths, An initialization unit is provided for initializing only a portion of a plurality of paths connected to a device to be initialized; When the initialization of one of the paths connected to the device is successful, the initialization unit does not initialize the other paths connected to the device, but initializes paths connected to other devices. program.

9. An information processing device connected to a plurality of devices via a plurality of paths, An initialization unit is provided for initializing only a part of a plurality of paths connected to a device to be initialized, The initialization unit has an OS that initializes paths that have not been initialized. Information processing device.

Citation Information

Patent Citations

  • Computer system

    JP1993333962A

  • Method and apparatus for embedding self-description information in equipment

    JP2001512297A

  • Disk array device and method for controlling it

    JP2005165440A

  • Fast boot from operating system hiatus

    JP2009512020A

  • Data processor including serial bus that requires initialization at time of use

    JP2014149598A