Method and device for automatically configuring a working mode of a storage device

By automatically configuring the storage device operating mode of the information processing equipment through the service processor, the burden of manual configuration by users is eliminated, and automatic optimization of device performance and efficient maintenance are achieved.

CN115203082BActive Publication Date: 2026-01-27LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110378179.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-08
Publication Date
2026-01-27
Estimated Expiration
2041-04-08

AI Technical Summary

Technical Problem

In existing technologies, users need to manually configure the operating mode of the storage devices of information processing equipment, which requires reconfiguration when the number of storage devices changes, increasing the burden on users and potentially leading to performance not being maximized.

Method used

By introducing a service processor into the information processing device, the operating modes of multiple storage devices are automatically configured. Based on driver and link information, an appropriate configuration strategy is selected, including trying a fixed mode, the same mode, or the best performance mode. Automatic configuration is achieved using signal switches and backplane registers.

Benefits of technology

It enables automatic configuration updates when storage devices are connected or replaced, ensuring that the devices always operate at optimal performance, reducing the need for user intervention and improving device maintenance efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115203082B_ABST
    Figure CN115203082B_ABST
Patent Text Reader

Abstract

An information handling device is disclosed that is adapted to automatically configure the operating mode of a plurality of storage devices. The information handling device includes a backplane adapted to connect to the plurality of storage devices, a storage controller connected to the backplane, and a service processor connected to the backplane and the storage controller. When the plurality of storage devices are connected to the backplane, the service processor is adapted to read drive information about the plurality of storage devices from the backplane and to read link information about available physical links from the storage controller. The service processor is further adapted to automatically configure the operating mode of at least one of the plurality of storage devices based on the link information and the drive information. Using the automatic configuration method, user intervention is not required when there is an opportunity to connect a storage device, and the system automatically achieves the best performance of the storage device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to storage devices of information processing equipment, and more particularly to the configuration of multiple storage devices in their operating modes. Background Technology

[0002] Modern computer systems use secondary storage devices to store large amounts of data because primary storage devices (such as Random Access Memory (RAM)) are too expensive for storage. In recent years, solid-state drives (SSDs) have become increasingly accepted by mainstream users, and in some cases, they can effectively replace traditional hard drives due to their higher throughput, greater shock resistance, and quieter operation. To match the high read and write speeds available on SSDs, various advanced communication protocols have been developed to attempt to eliminate data transfer bottlenecks between the SSD drive and the CPU, such as communication protocols based on the PCIe (Peripheral Component Interconnect Fast) bus. A PCIe connection consists of one or more serially connected data transfer channels, meaning that storage devices connected via the PCIe bus can be assigned different transfer channels, allowing them to operate in different modes. The NVMe (Non-Volatile Memory Standard) interface is an exemplary protocol designed to access SSD drives connected via the PCIe bus and supports different operating modes, such as x1 and x4. x1 mode means using only one PCIe channel, providing optimal compatibility, while x4 mode offers optimal performance at the cost of bandwidth.

[0003] However, while traditional technologies offer users the option to manually configure the operating modes of secondary storage devices connected to information processing equipment, this manual configuration presents certain drawbacks. In particular, changing the number of storage devices connected to the information processing equipment can be burdensome for users, as it may require reconfiguring the operating modes of all storage devices. Furthermore, since users don't always have access to and can configure information processing equipment (e.g., servers in data centers), outdated configurations of storage device operating modes, from a PCIe channel perspective, may prevent existing configurations from maximizing overall drive performance. Summary of the Invention

[0004] Therefore, in one aspect, the present invention provides an information processing apparatus adapted to automatically configure operating modes of multiple storage devices. The information processing apparatus includes: a backplane adapted to connect to the multiple storage devices, a storage controller connected to the backplane, and a service processor connected to the backplane and the storage controller. The service processor is adapted to read drive information about the multiple storage devices from the backplane when connected to the backplane, and to read link information about available physical links from the storage controller. The service processor is also adapted to automatically configure the operating mode of at least one of the multiple storage devices based on the link information and the drive information.

[0005] Preferably, the service processor is also adapted to identify the supported operating modes of multiple storage devices from the driver information, and then select a configuration strategy for the multiple storage devices based on the link information.

[0006] Preferably, the service processor is also adapted to select one or more configuration strategies from the following: e) attempt to set at least one of the multiple storage devices to a fixed mode; f) set one or more of the multiple storage devices to the same operating mode; and g) set as many of the multiple storage devices as possible to their respective optimal performance operating modes.

[0007] Preferably, the service processor is also adapted to first implement policy e), then implement policy f) and / or policy g).

[0008] Preferably, for strategy e), the service processor is also adapted to set one of the multiple storage devices to fixed mode only when there is a sufficient number of physical links available for the other storage devices among the multiple storage devices.

[0009] Preferably, for strategy g), the service processor is also adapted to determine whether there is a sufficient number of physical links for one of the storage devices to support the optimal performance mode. If there is not a sufficient number of physical links for the storage device to support the optimal performance mode, the service processor is also adapted to determine whether the next performance mode is available.

[0010] Preferably, the information processing device further includes a signal switch. This signal switch allows the backplane to be connected to multiple storage devices.

[0011] Preferably, the signal switch is connected to two or more connectors on the backplane simultaneously, and the signal switch is adapted to allow two or more of the multiple storage devices to be connected thereto.

[0012] Preferably, the multiple storage devices include non-volatile memory standard (NVMe) drives.

[0013] Preferably, the NVMe drive is adapted by the service processor to operate in one of the following operating modes: x1, x2, and x4.

[0014] Preferably, the service processor is adapted to configure the operating mode of the NVMe drive by writing registers in the backplane.

[0015] In another aspect of the invention, a method for automatically configuring the operating modes of multiple storage devices is provided, comprising the steps of: a) reading driver information relating to multiple storage devices connected to a backplane of an information processing device; b) reading link information relating to available physical links from a storage controller connected to the backplane; and c) automatically configuring the operating mode of at least one of the multiple storage devices based on the link information and the driver information.

[0016] Preferably, step c) further includes: d) setting multiple storage devices to the same operating mode; or e) setting as many of the multiple storage devices as possible to their respective optimal performance operating modes.

[0017] Preferably, step c) further includes the following step before step d): f) attempting to set at least one of the multiple storage devices to a fixed mode.

[0018] Preferably, step f) further includes checking whether there are a sufficient number of physical links for the other storage devices among the multiple storage devices before setting at least one of the multiple storage devices to a fixed mode.

[0019] Preferably, step e) further includes: h) determining whether there is a sufficient number of physical links for one of the storage devices to support the optimal performance mode; and i) if there is not a sufficient number of physical links for the storage device to support the optimal performance mode, determining whether the next performance mode is available.

[0020] Preferably, the multiple storage devices include non-volatile memory standard (NVMe) drives.

[0021] Preferably, the NVMe drive is adapted by the service processor to operate in one of the following operating modes: x1, x2, and x4.

[0022] Therefore, the embodiments described herein provide a solution for automatically configuring the optimal operating mode for multiple storage devices connected to an information processing device, an example being U.3 mode for a U.3 NVMe drive. This optimal operating mode configuration automatically enables the overall maximum performance of the connected storage devices while ensuring that each storage device operates at least in its most basic operating mode, thus preventing automatic configuration from rendering all connected storage devices unusable. Such configuration requires no user intervention and is entirely performed by the information processing device (e.g., by its service processor). Therefore, less human intervention is required when maintaining the information processing device, and remote maintenance may not even be necessary.

[0023] The automatic configuration provided by the embodiment is dynamic each time a new storage device is connected to the information processing device, or when a device is replaced or removed, and this configuration is automatically updated to ensure optimal performance is always achieved by changing the storage device. For example, the service processor reconfigures the storage device whenever the information processing device has the opportunity to restart it. Therefore, the optimally configured storage device is always in a ready state when the information processing device's operating system takes control of it. Attached Figure Description

[0024] The foregoing and further features of the present invention will become apparent from the following description of embodiments, which are provided by way of example only in conjunction with the accompanying drawings, wherein:

[0025] Figure 1 This is a block diagram of the control and connection arrangement of storage devices in an information processing apparatus according to an embodiment of the present invention.

[0026] Figure 2 A connection interface for a storage device provided on an information processing device according to another embodiment is shown.

[0027] Figure 3 This is a flowchart of a method for automatically configuring the operating mode of a storage device according to another embodiment of the present invention.

[0028] Figure 4 It is shown Figure 3 A detailed sub-flowchart of step S0 in the process.

[0029] Figure 5 It is shown Figure 3 A sub-flowchart detailing step S1.

[0030] Figure 6 Is using Figure 3-5 The illustration shows an exemplary scenario where the method described above is used to reconfigure the working mode after two new devices are installed.

[0031] Figure 7 Is using Figure 3-5 The illustration shows an exemplary scenario in which the method described in the article reconfigures the working mode after removing three devices.

[0032] In the accompanying drawings, similar reference numerals indicate similar components throughout the several embodiments described herein. Detailed Implementation

[0033] Now for reference Figure 1 This illustration shows a portion of a schematic diagram of an information processing apparatus according to an embodiment of the present invention. As will be understood by those skilled in the art, the information processing apparatus in this embodiment is a server adapted to process requests and transmit data via a network connection. The server includes a motherboard (not shown), on which, as will be understood by those skilled in the art, basic components of the server are mounted, such as a central processing unit, a logic chipset, memory, etc. (all not shown). The server also includes a backplane management controller (BMC) 24 located on the motherboard. The BMC 24 is an example of a service processor that is functionally different from the CPU and adapted to operate independently of the CPU.

[0034] The server is scalable to removably connect to storage devices external to the information processing equipment. In terms of hardware interface, a drive backplane 22 is mounted on a motherboard that provides multiple device connectors allowing one or more storage devices to be connected directly or via cables, such as hard disk drives or SSDs supporting SAS (Serial Attached SCSI) or SATA (Serial Advanced Technology Attachment) protocols, or SSDs supporting the Non-Volatile Memory Standard (NVMe) protocol. If supported, the drive backplane 22 allows for hot-swapping of storage devices. As those skilled in the art will understand, the drive backplane 22 is essentially a component of the storage device connectors, and in this embodiment, there is no bus driver circuitry within the drive backplane 22. As a result, data streams from the individual device connectors (or drive bays, if the connectors allow individual storage devices to connect directly to the drive backplane 22 without cables) are passed to additional cables that connect the drive backplane 22 to the storage controller 20 in the information processing equipment. Depending on the type of switching connector on the drive backplane 22, these cables include an NVMe cable 28a, a SATA / SAS / NVMe x1 cable 28b, and another NVMe cable 28c.

[0035] Driver backplane 22 via I 2The C (internal integrated circuit) bus 25 connects to the BMC 24, which is adapted to configure the drive backplane 22, including setting the operating mode of the supported storage devices connected to the drive backplane 22. An example of the protocol used by the BMC 24 is the Universal Backplane Management (UBM) protocol from a UBM host running on the BMC 24 host. Therefore, the BMC 24 is able to read the drive backplane registers on the drive backplane 22 to know how many storage drives are currently installed, their bay numbers and types (e.g., SATA, SAS, U.2 NVMe drives, or U.3 NVMe drives), collectively referred to as drive information.

[0036] On the other hand, for certain NVMe drives (e.g., U.3 NVMe drives) connected to the drive backplane 22, their operating modes can be configured by the BMC 24, such as x1, x2, and x4 (meaning the number of PCIe lanes allocated to a particular NVMe drive). Users can manually configure this via the interfaces provided by the BMC 24 and the network adapter interfaces; however, in this embodiment, the BMC 24 can also configure it automatically without user intervention. During this configuration, the BMC 24 automatically sets the backplane U.3 mode register based on an algorithm that will be described in detail later. However, before automatic configuration can be performed, the BMC 24 requires link information from the storage controller 20 regarding the characteristics of the storage controller 20.

[0037] As those skilled in the art will understand, storage controller 20 is a hardware device or software program for managing hard disk drives or SSDs, and therefore they function as logical units. Storage controller 20 may be an onboard device on the motherboard, or, more commonly, a PCIe expansion card mounted on the motherboard. 2 Bus 26 of the C or PCIe protocol communicates with BMC 24. (via I...) 2 The C or PCIe bus 26 and BMC 24 can communicate with the storage controller 20 and obtain its model, number of PHYs, and information about the storage drives connected to it.

[0038] To enable automatic configuration of operating modes on storage devices, storage controller 20 supports all operating modes of these storage devices that can be automatically configured (e.g., U.3 mode). On the other hand, drive backplane 22 should be able to switch the corresponding PCIe lane to storage controller 20. Although in Figure 1 Not shown in, but in Figure 2 The diagram illustrates the internal structure of an exemplary driver backplane according to an embodiment of the present invention, which can be applied to (but is not limited to) [various applications]. Figure 1The drive backplane 22 is located within the drive backplane. Specifically, drive backplane 122 contains eight drive bays 130, from Bay 0 to Bay 7, for connecting storage devices (not shown). All drive bays 130 are identical and each acts as a storage device connector, supporting up to four PCIe lanes as physical links allocated to the drive bay 130. The PCIe lanes are labeled from PCIe0 to PCIe3, and PCIe0 and PCIe1 can each be used as SAS ports. All eight drive bays 130 are connected to two signal switches 132a and 132b, which are part of drive backplane 22. The first four drive bays 130 (Bay 0-Bay 3) are connected to the first signal switch 132a, and the last four drive bays 130 (Bay 4-Bay 7) are connected to the second signal switch 132b. Signal switch 132a connects to an x8 NVMe connector 128a, which supports up to eight PCIe lanes. Similarly, signal switch 132b connects to another x8 NVMe connector 128c. However, both signal switches 132a and 132b also share a common connection to a third connector, which is the x8 SATA / SAS / NVMe connector 128b. In this way, each signal switch 132a and 132b simultaneously connects to two connectors on the drive backplane 122. All three connectors 128a, 128b, and 128c are suitable for direct connection to the motherboard, or as... Figure 1 In this case, they are connected to the memory controller mounted on the motherboard. Signal switches 132a and 132b are mechanical PCIe switches, which can be connected to the BMC (not shown) via I... 2 Controlled by the C-bus, and with their respective registers written to the driver backplane 120 via the BMC, the switching states of signal switches 132a and 132b can be changed, thereby allocating different numbers of PCIe lanes to the storage device. Figure 2The backplane 122 provides switching between four sources (i.e., drive bays 130) for a total of 16 PCIe lanes at the outputs of each signal switch 132a and 132b connected to x8 NVMe connectors 128a and 128c. This allows multiple storage devices to be connected to the drive backplane 122 simultaneously, supporting a total number of PCIe lanes greater than those supported by individual NVMe connectors 128a or 128c, thus providing flexibility in the PCIe lanes allocated to each storage device. Equally important are the second outputs of the signal switches 132a and 132b to a third connector, which is the x8 SATA / SAS / NVMe connector 128b. Thus, for storage devices connected to each signal switch 132a and 132b that cannot handle the additional PCIe lanes (>8), these additional PCIe lanes can be allocated to the x8 SATA / SAS / NVMe connector 128b, allowing storage devices utilizing such additional PCIe lanes to operate in a faster operating mode.

[0039] Turn now Figure 3-6 This illustrates the working principle of automatic configuration of the operating mode of a storage device according to an embodiment of the present invention. Although not exclusive, this configuration method can be applied to... Figure 1 Information processing equipment in the middle, because Figure 1 The information processing device in the invention can operate under other configuration methods according to the invention, or can be... Figure 3-6 The method shown is used for Figure 1 The structures shown are different on information processing devices. However, for ease of understanding, the following description is based on... Figure 1 The hardware in the process.

[0040] Figure 3 The automatic configuration method is initiated immediately after the information processing device is started in step 140, especially when starting the BMC 24 (which is started separately and typically before the host of the information processing device). For the automatic configuration method to be executed effectively, all necessary cables between the storage controller 20 and the drive backplane 22 should be pre-connected (e.g., ...). Figure 1(28a-28c) Otherwise, the user must intervene during method execution to establish a connection. Next, in step 141, BMC 24 reads drive information from drive backplane 22, such as SATA, SAS, NVMe, etc., regarding the type of all installed storage drives. In this example, it is assumed that there are N connected SATA / SAS drives and M connected U.3 NVMe drives, where the operating mode of the U.3 NVMe drives may change. Then, in step 142, BMC 24 reads link information from storage controller 20, which includes the maximum number of PHY connections Q and the connected drives. The maximum number of PHY connections Q indicates the total number of available physical links supported by storage controller 20 (i.e., PCIe lanes in this embodiment). Note that the maximum number of PHY connections of storage controller 20 can be expanded by connecting expanders to storage controller 20. Next, BMC 24 also determines how many installed storage drives are set to operate in a fixed U.3 mode, meaning that the operating mode of these storage devices is not flexible. Note that the fixed U.3 mode can be the same or different for different storage drives. In step 143, it is assumed that K storage drives are configured to operate in fixed U.3 mode, consuming Z PHY connections, where K and Z are initially set to zero. Then, in step 144, BMC 24 determines, based on information read from the drive backplane 22, whether any U.3 NVMe drives are configured to operate in fixed U.3 mode. If one or more U.3 NVMe drives are configured to operate in fixed U.3 mode, the method proceeds to subroutine S0 in step 145, where the values ​​of K and Z can be updated, and then proceeds to step 146. Otherwise, if no U.3 NVMe drives are configured to operate in fixed U.3 mode, the method proceeds directly to step 146.

[0041] In such Figure 4In the S0 subroutine shown, the method initially continues at step 151, where BMC 24 determines whether the number of currently available PHYs is sufficient to support all installed storage drives, including those set to fixed U.3 mode. This means the number of available PHYs must be large enough to support all storage drives set to their respective fixed U.3 modes, and must also support all storage drives not set to fixed U.3 mode to work at least in basic mode (x1). If there are currently enough PHYs, the method proceeds to step 157, where ideally all these U.3 NVMe drives that require fixed U.3 mode are set to the desired fixed U.3 mode, which could be x1, x2, or x4. K is then updated to the number of drives set to fixed U.3 mode, and Z is updated to the number of PHYs that set these U.3 NVMe drives to fixed U.3 mode. On the other hand, if BMC 24 determines in step 151 that there are not enough PHYs for all U.3 NVMe drives that require a fixed U.3 mode, the method proceeds to step 152, where a fixed U.3 mode is set for each drive that needs it. In step 152, BMC 24 processes the first storage drive, and in step 153, it determines whether the storage device is a U.3 NVMe drive (which allows its operating mode to be configured). If not, the storage device is not configured, and the method proceeds directly to step 156. However, if it is determined in step 153 that the storage device is a U.3 NVMe drive, the method proceeds to step 154, where BMC 24 determines whether the remaining number of available PHYs is sufficient to support all installed drives operating at least in basic mode (x1), while setting the current storage device to its fixed U.3 mode. If the determination in step 154 ​​is positive, the method proceeds to step 155, where the current storage drive is set to fixed U.3 mode, and K and Z are also updated, where K = K + 1 and Z = Z + (the number of PHYs consumed by the current storage drive). The method then proceeds to step 156. However, if the determination in step 154 ​​is negative, the method in subroutine S0 terminates and proceeds to step 146, thus bypassing step 156 which considers whether there are other U.3 storage drives to be configured to fixed U.3 mode, since no further configurations are available for the remaining U.3 storage devices in fixed U.3 mode.

[0042] When the method proceeds to step 156 above, BMC 24 checks if the recently configured U.3 storage device is the last drive. If yes, the S0 subroutine completes, and the method returns to step 146. If no, the method returns to step 152 to configure the next storage drive for a possible fixed U.3 mode. Steps between 152 and 156 can be repeated many times as long as there are still a sufficient number of PHYs and storage devices available for possible fixed U.3 mode configurations.

[0043] After completing the S0 subroutine, the method in step 146 calculates the maximum number of available PHY connections for (MK) U.3 NVMe drives after configuring the fixed U.3 mode, since K U.3 NVMe drives were set to fixed U.3 mode in the S0 subroutine. In step 146, the maximum number of available PHYs Y is calculated as Y = (Q – N – Z – R), where R is the number of reserved connections for hot-swappable drives (and therefore cannot be used for auto-configuration later), and the user setting is stored in BMC 24. In step 147, BMC 24 then determines whether Y > 4 * (MK). If so, it indicates that all (MK) U.3 NVMe drives (excluding the K drives already set to fixed U.3 mode) have a sufficient number of PHYs to operate in maximum performance mode (i.e., x4 mode). Then, in step 149, a backplane register is written to the drive backplane 22 to configure signal switches (e.g., ...). Figure 2 The signal switch shown is used to enable x4 operating mode on all U.3 NVMe drives that are not set to fixed U.3 mode. This completes the automatic configuration, and the method ends at step 150.

[0044] However, if it is determined in step 147 that there are not enough PHYs to make all the remaining U.3NVMe drives work in x4 mode, the method proceeds to the S1 subroutine in step 148, which... Figure 5This is explained in detail below. In summary, the S1 subroutine is an adaptive approach that maximizes overall performance while ensuring that all connected storage drives are free of failures. In step 158, a configuration strategy is assigned, which can be either setting all remaining U.3 NVMe drives to the same number of PHYs (i.e., with the same operating mode) in step 159, or setting as many as possible of the maximum number of PHYs supported by each remaining U.3 NVMe drive (i.e., the corresponding optimal performance) in step 160. It can be seen that the choice of configuration strategy is made after BMC 24 determines the operating modes supported by the storage devices, such as whether these storage devices are U.3 NVMe devices, and if so, whether they are configured to operate in a fixed U.3 mode.

[0045] If the strategy in step 159 is selected, the method proceeds to step 163, where BMC 24 determines whether Y > (2 * (MK)). If yes, in step 162, BMC 24 assigns x2 mode to all remaining U.3 NVMe drives, as this is the best performance scenario for the "average" strategy in step 159, and then the S1 subroutine ends. In step 163, if Y is not greater than (2 * (MK)), the method proceeds to step 164 to consider whether Y > (MK). If yes, in step 165, BMC 24 assigns x1 mode to all remaining U.3 NVMe drives, which is the least preferred option, resulting in the worst overall performance for the U.3 NVMe drives configured in the S1 subroutine. However, if it is determined in step 164 that Y is not even greater than (MK), it means that there are simply not enough PHYs for all connected storage drives, and even basic x1 mode cannot be implemented. As a result, at least one storage device will become inoperable to the host in the information processing device. Then, in step 150, the S1 subroutine ends.

[0046] Returning to step 160, if an alternative strategy for "best available" performance of up to a few U.3 NVMe drives is selected, the method proceeds to step 166, where a new parameter is initialized to L = 0, where L is the number of U.3 drives allocated. The method then proceeds incrementally. In step 167, it is determined whether (Y – 4) > (M – K – L). If so, it means that the first of the remaining U.3 NVMe drives can be set to the x4 best performance mode, while ensuring that at least x1 mode can be allocated to all other U.3 NVMe drives for proper operation. In this case, the method proceeds to step 168, where the first drive is allocated to x4 mode, L is incremented by 1, and Y is updated to Y = Y – 4. The method then returns to step 167 again, performing step 168 on as many U.3 NVMe drives as possible, provided they have the sufficient number of PHYs determined in step 167.

[0047] If it is determined in step 167 that (Y–4) is equal to or less than (M–K–L), the method proceeds to step 169, where, after attempting to set a sufficient number of x4 modes in step 168, it attempts to assign x2 modes to the remaining U.3NVMe drives. In step 169, it is determined whether (Y–2) > (M–K–L). If so, it means that the first of the remaining U.3NVMe drives can be set to the intermediate performance mode of x2, while ensuring that at least x1 mode can be assigned to all other U.3NVMe drives for them to function properly. The x2 mode is not the optimal performance mode, but it is the next performance mode immediately following the optimal performance mode. In this case, the method proceeds to step 170, where the first drive is assigned to x2 mode, L is incremented by 1, and Y is updated to Y = Y–2. The method then returns to step 169 again, and step 170 can be performed on as many U.3NVMe drives as possible, provided they have the sufficient number of PHYs determined in step 169.

[0048] If it is determined in step 169 that (Y–2) is equal to or less than (M–K–L), the method proceeds to step 171, where it attempts to assign as many x1 modes as x4 to the remaining U.3NVMe drives, and attempts to assign x2 modes in steps 168 and 170. In step 171, it is determined that (Y–1) > (MKL). If so, it means that all remaining U.3NVMe drives in step 171 can be set to the basic x1 mode. In this case, the method proceeds to step 172, where the first drive is assigned to x1 mode, L is incremented by 1, and Y is updated to Y = Y–1. The method then returns to step 171 again, and finally performs step 172 for all remaining U.3NVMe drives. Thus, since at least x1 modes are available to ensure that all remaining U.3NVMe drives are available at the start of the S1 subroutine, L will eventually be updated to the value of (MK).

[0049] It should be noted that, similar to the "average" strategy in step 159, in the "best availability" performance strategy for up to U.3 NVMe drives, there may be no PHY quantity even if all storage drives are set to at least x1 mode. This can happen when the "best availability" strategy is selected in step 160, and then the result is determined to be negative in all three steps 167, 169, and 171 in sequence, meaning that even one of steps 168, 170, and 172 is not executed. As a result, at least one storage device will become inoperable to the host in the information processing device. Then, in step 150, the S1 subroutine ends.

[0050] The above description completes the method for automatically configuring the operating mode of connected storage devices based on link information and driver information, such as... Figure 3-5 As shown. It should be noted that all configurations in steps 149, 155, 157, 168, 170, and 172 are implemented by writing backplane registers on the driver backplane 22 via BMC 24, therefore, like... Figure 2 By setting the signal switches as described above, the desired number of PCIe lanes to the storage controller 20 can be allocated to the storage device. This allows the U.3 NVMe drive to be configured in its operating mode. It should also be noted that... Figure 3-5 The automatic configuration method is executed only when the information processing device is started, because otherwise, if the automatic configuration method were executed during the operation of the information processing device (e.g., during the operation of the server), reconfiguring the operating mode of the storage device would only result in service interruption. Therefore, if the connection of the storage device is changed during the operation of the information processing device, any newly connected device (e.g., via hot-plugging) will only operate in x1 mode, while existing connected devices will continue to operate in the operating mode set before the change.

[0051] Figure 6-7 It shows the use of Figure 3-5 Two exemplary automatic configuration processes for information processing devices described in the method. Figure 6 The diagram shows a drive backplane 222 to which two existing U.3 NVMe devices 230a are connected. Each U.3 NVMe device 230a operates in x4 mode and RAID (Redundant Array of Independent Disks) 1 mode (mirrored). Assuming the total number of available PHYs on drive backplane 222 is 8, when two new storage drives 230b are connected to drive backplane 222, these two new storage drives 230b will have no available PHYs. However, after performing an auto-configuration method (using an "average" strategy), all four storage drives, including the existing 230a and the new 230b, operate in x2 mode, which is the optimal result under the "average" strategy.

[0052] Figure 7 The diagram shows a drive backplane 322 with six U.3 NVMe devices 330a, 330b, and 330c connected to it, each operating in x1 mode. Note that for storage device 330a, although it operates in x1 mode, it utilizes two physical PCIe lanes because it runs in RAID 0 (striped) mode. The three storage devices 330c operate in RAID 5 (striped with parity) mode. Assuming a total of 8 available PHYs on drive backplane 322, when the three storage devices 330c are later removed from the connection to drive backplane 332, only the three storage devices 330a and 330b that previously operated in x1 mode remain. However, by performing an auto-configuration method (using an "average" strategy), the three storage devices 330a and 330b can now operate in x2 mode, which is the optimal result under the "average" strategy.

[0053] Therefore, exemplary embodiments have been fully described. Although this description relates to embodiments, it will be apparent to those skilled in the art that the invention can be practiced by changing these specific details. Therefore, the invention should not be construed as limited to the embodiments set forth herein.

[0054] Although embodiments have been shown and described in detail in the accompanying drawings and the foregoing description, they should be considered exemplary and not limiting in nature. It should be understood that exemplary embodiments are shown and described only and do not limit the scope of the invention in any way. It will be understood that any feature described herein can be used with any embodiment. The illustrative embodiments are not mutually exclusive, nor do they exclude other embodiments not listed herein. Therefore, the invention also provides embodiments that include combinations of one or more of the illustrative embodiments described above. Modifications and variations can be made to the invention without departing from the spirit and scope thereof; therefore, only the limitations set forth in the appended claims should be applied.

[0055] As an example, in Figure 1 In the embodiments described, the server is used as an example of an information processing device. However, those skilled in the art should understand that in other variations of the invention, different types of information processing devices can be used. For example, as long as they contain a service processor and a main processor, they can be used as personal computers, laptops, etc., wherein the service processor is adapted to automatically configure the operating mode of the storage devices connected to the information processing device.

[0056] In addition, Figure 2 In the drive backplane, two signal switches are used to switch the connection from the connectors on the drive backplane to the available PCIe lanes of the storage device. It should be noted that, although preferred, it is not advisable to provide as many connectors as the number of PCIe lanes required by the storage device (e.g., whether it is possible to provide...). Figure 2 The driver backplane in the middle provides 32 individual x1 connectors, which allows the invention to be implemented without the use of any signal switches.

Claims

1. An information processing device suitable for automatically configuring multiple storage devices in an operating mode, the information processing device comprising: a) A backplane suitable for connecting to multiple storage devices; b) The storage controller connected to the backplane; c) Service processors connected to the backplane and storage controller; The service processor is adapted to read drive information about multiple storage devices from the backplane when connected to the backplane, and to read link information about available physical links from the storage controller; the drive information includes the rack number and type of the multiple storage devices; the link information includes the total number of available physical links supported by the storage controller; The service processor is also adapted to automatically configure the operating mode of at least one of the plurality of storage devices based on the link information and the driver information, wherein the service processor is adapted to identify the supported operating modes of the plurality of storage devices from the driver information and then select a configuration strategy for the plurality of storage devices based on the link information.

2. The information processing device according to claim 1, wherein, The service processor is also adapted to select one or more of the configuration strategies from the following: e) Attempt to set at least one of the plurality of storage devices to a fixed mode; f) Set one or more of the plurality of storage devices to the same operating mode; as well as g) Set as many of the plurality of storage devices as possible to their respective optimal performance operating modes.

3. The information processing device according to claim 2, wherein, The service processor is also adapted to first implement policy e), then policy f) and / or policy g).

4. The information processing device according to claim 2, wherein, For strategy e), the service processor is also adapted to set one of the plurality of storage devices to fixed mode only when a sufficient number of physical links are available for the other storage devices among the plurality of storage devices.

5. The information processing device according to claim 2, wherein, For strategy g), the service processor is further adapted to determine whether there is a sufficient number of physical links for one of the plurality of storage devices to support the optimal performance mode; if there is not a sufficient number of physical links for the storage device to support the optimal performance mode, the service processor is further adapted to determine whether the next performance mode is available.

6. The information processing device according to any one of the preceding claims further includes a signal switch, through which the backplane is adapted to be connected to the plurality of storage devices.

7. A method for automatically configuring the operating modes of multiple storage devices, comprising the following steps: a) Read drive information relating to multiple storage devices connected to the backplane of the information processing device, the drive information including the tray number and type of the multiple storage devices; b) Read link information about available physical links from the storage controller connected to the backplane, the link information including the total number of available physical links supported by the storage controller; as well as c) Automatically configure the operating mode of at least one of a plurality of storage devices based on link information and driver information, including identifying the supported operating modes of the plurality of storage devices from the driver information and then selecting a configuration strategy for the plurality of storage devices based on the link information.

8. The method according to claim 7, wherein, Step c) also includes: d) Configure the plurality of storage devices to the same operating mode; or e) Set as many of the multiple storage devices as possible to their respective optimal performance operating modes.

9. The method according to claim 8, wherein, Step c) includes the following steps before step d): f) Attempt to set at least one of the plurality of storage devices to a fixed mode.

Citation Information

Patent Citations

  • Multi-collocation module equipment and automatic collocation method for module

    CN101317784A

  • Storage system and storage control method

    CN104969204A