Nonvolatile logical partition system data management

A logical partition (LPAR) computer system for managing partition configuration data is disclosed, which includes a nonvolatile memory, and a plurality of logical partitions, each running independently from the other logical partitions. The system also includes a console coupled to the computer system for accepting logical partition configuration data input by an operator. The configuration data entered by the operator specifies the processors, I/O, and memory allocated to each logical partition defined for the system. The system further includes a set of tables maintained in the nonvolatile memory for storing the logical partition configuration data, such that the logical partition configuration data is persistent across system power cycles.

FIELD OF THE INVENTION

The present invention relates to multiprocessor computer systems, and more particularly to a system and method for managing logical partition data.

BACKGROUND OF THE INVENTION

Logical partitioning is the ability to make a single multiprocessing system run as if it were two or more independent systems. Each logical partition represents a division of resources in the system and operates as an independent logical system. Each partition is logical because the division of resources may be physical or virtual. An example logical partitions is the partitioning of a multiprocessor computer system into multiple independent servers, each with it own processors, main storage, and I/O devices.

An operator configures the system into logical partitions by assigning system resources to the desired partitions. Once system power is interrupted, however, either expectedly or unexpectedly, the configuration is lost, causing the operator to manually reconfigure all the logical partitions.

Accordingly, what is needed is a system and method for managing the configuration of the system resources allocated to each logical partition and to have that configuration data be persistent across system power cycles. The present invention addresses such a need.

SUMMARY OF THE INVENTION

The present invention provides a logical partition (LPAR) computer system with a method for managing partition configuration data. The system includes a nonvolatile memory, and a plurality of logical partitions, each running independently from the other logical partitions. The system also includes a console coupled to the computer system for accepting logical partition configuration data input by an operator. The configuration data entered by the operator specifies the processors, I/O, and memory allocated to each logical partition defined for the system. The system further includes a set of tables maintained in the nonvolatile memory for storing the logical partition configuration data, such that the logical partition configuration data is persistent across system power cycles.

Accordingly, the present invention provides nonvolatile memory tables that allow an operator to initially configure the LPAR system, and to later reconfigure the system. After the configuration, the tables provide the LPAR system with the information necessary to determine how the system is to be partitioned and booted.

DESCRIPTION OF THE INVENTION

FIG. 1is a block diagram illustrating a block diagram of a logical partition (LPAR) computer system in accordance with a preferred embodiment of the present invention. The system10includes multiple processors12a,large amount of memory12b,and many I/O devices12b.These hardware resources of the system10may be divided into logical partitions12that operate as independent logical systems. Each logical partition12has its own processor(s)12a,memory12b,and I/O devices12c,and may run its own operating system12dindependently of the other logical partitions12. In a preferred embodiment, the system10may have up to sixteen logical partitions12.

The system10also includes a control service processor18, a nonvolatile random access memory (NVRAM)14, and an external hardware service console (HSC)16. In a preferred embodiment, the HSC16may be implemented using a conventional PC running the Linux™ operating system, and appropriate application software.

The processors12afor the system are arranged in processor nodes (not shown). Multiple processor nodes are mounted in frames, which contain and provide power for the processors12a,switches, disk drives and other hardware. Frames have locations known as drawers that have some maximum number of slots into which the processor nodes, I/O devices12b,and memory12bboards are mounted.

Using the HSC16, an operator configures the system10into logical partitions12by assigning system resources to the desired partitions. In a conventional LPAR system10, however, once system power is interrupted, the configuration is lost, causing the operator to manually reconfigure all the logical partitions.

The present invention provides an operator with a method for managing the configuration of the system resources allocated to each logical partition12. The present invention also allows the control service processor18to determine how the entire system10should be started. The method and system include providing a set of tables22in the NVRAM14for storing which processors12a,I/O devices12b,and memory12care allocated to each logical partition12defined for the system10. Because the configuration of the system resources is stored in the NVRAM14, the configuration data remains persistent across system10power cycles. In addition, the operator may reconfigure the system10by reallocating the system resources in the tables22through the HSC16.

In one preferred embodiment, the tables22include a processor table22a,a drawer table22b,an I/O slot assignment table22c,a partition status/command table22d,and a system resource table22e.The processor table22amaintains a record for each of the processors12ain the system10. Each record may include fields containing an ID of the logical partition12assigned to the processor12a,a physical location ID, a processor status, and a processor state, for instance.

The drawer table22bincludes a record for each drawer in the system10and may include fields for containing the drawer status, and the number of slots. The I/O slot assignment table22cincludes a record for each slot in the system10, and may include fields for containing a location code, an I/O device ID, and an ID of the partition12assigned to the slot.

The partition status/command table22dincludes a record for each partition12, and may include fields for containing a command state of the partition, a current command for the partition, and a last command for the partition, for instance. The system resource table22emaintains information regarding the resources available for the system10. The system resource table22emay include fields for containing a maximum number of slots, a maximum number of processors12, a maximum number of drawers, a maximum number of slots for any drawer type, total memory installed, total memory allocated for the logical partitions12, and system time information, for example.

In operation, when the system10is first booted, the tables22are initialized to contain predetermined default values. During the boot process, system code running in the command service processor18detects the system resources (e.g., number of processors12a,memory12b,drawers, slots, I/O devices12cand so on) in the system, and updates the corresponding records and fields in the tables22.

After the system10has finished its boot process, arrived at a partition stand-by state, and ready to instantiate partitions, an operator can access the tables via the HSC16to configure the system resources into logical partitions12. As the operator enters the configuration data defining what system resources are allocated to which logical partitions12, the corresponding records and fields in the tables22are updated with the configuration data. After configuring the system, the operator may enter a “boot partition” command on the HSC to boot one or all of the logical partitions12. In response, software running in the command service processor18accesses the tables22and boots the logical partitions using the information from the tables.

The NVRAM LPAR tables22allow an operator through the HSC interface, to initially configure the LPAR system10, and to later reconfigure the system. After the configuration, the NVRAM LPAR tables22provide the control service processor18with the information necessary to determine how the system is to be partitioned and booted.