Chassis slots accepting battery modules and other module types

A chassis includes a component interconnect board having multiple multi-function slots coupled thereto. Each of the multi-function slots is configured to accept different types of modules, including a battery module and one or more other types of modules, such as server modules or storage modules. The component interconnect board also includes a power bus coupled to receive external power and route the external power to the multiple multi-function slots.

BACKGROUND

Situations arise where it is desirable to have a large number of computers operating together at a particular location to provide a service, such as data centers or server farms providing services over the Internet. Oftentimes different customers or administrators of such locations have different interests, such as different desires as to whether particular computers are provided with battery backup power to protect against a power outage. It can be difficult for such locations to accommodate these different desires of various customers or administrators.

SUMMARY

In accordance with one or more aspects, an apparatus includes multiple multi-function slots coupled to a component interconnect board. Each of the multi-function slots is configured to accept different types of modules, including a battery module and one or more other types of modules (e.g., server modules or storage modules). The apparatus also includes a power bus coupled to receive external power and route the external power to the multiple multi-function slots (and in certain situations to provide power received from battery modules in one or more of the multi-function slots to other ones of the multi-function slots).

DETAILED DESCRIPTION

Chassis slots accepting battery modules and other module types are discussed herein. A chassis in a data center includes multiple slots into which battery modules as well as other types of modules (e.g., server modules, storage modules, and so forth) can be inserted. The battery modules provide backup power to the other modules in the chassis, such as during times when external power is lost or times of peak power usage so that the battery can provide extra power beyond the provisioning abilities of the data center power distribution system. The chassis are designed with multiple multi-function slots, each such multi-function slot being configured to accept these different types of modules. The types of modules, and how many of each type of module, are inserted into the multi-function slots of a chassis can vary on a chassis-by-chassis basis, allowing a common chassis design to be used regardless of how many of each type of module are to be inserted into any particular chassis. Additionally, different types of modules can be inserted into the same slot on the chassis at different times, such as a server module being inserted into a slot for an amount of time and then removed and a battery module inserted into that same slot.

FIG. 1illustrates an example system100implementing the chassis slots accepting battery modules and other module types in accordance with one or more embodiments. System100includes a data center102that receives external power104. Data center102includes one or more (n) chassis106(1), . . . ,106(n), each including one or more multi-function slots. The multi-function slots accept battery modules as well as one or more of a variety of other types of modules, such as storage modules, server modules, and so forth. Accordingly, different types of modules can be inserted into each of the multi-function slots at different times, as discussed in more detail below. The different chassis106can be arranged in different manners, such as each chassis106being a separate device (e.g., a single rack), one or more chassis106being included in a same device (e.g., the same rack), and so forth.

In system100, external power104is AC and/or DC power received from one or more conventional external power sources. Such an external power source can be, for example, a power station managed by a power utility company, a backup generator such as a diesel-powered or gas-powered generator associated with data center102, and so forth. External power104is referred to as external power because it is received from a source external to chassis106.

Data center102operates to provide one or more services to various computing devices. These computing devices can be located in close physical proximity to data center102, and/or located across a wide geographic range (e.g., throughout a country or throughout the world). Data center102can communicate with such computing devices via a variety of different networks, including the Internet, a local area network (LAN), a cellular or other phone network, an intranet, other public and/or proprietary networks, combinations thereof, and so forth. Data center102can be accessed by a variety of different types of computing devices, such as a desktop computer, a laptop computer, a notepad or tablet computer, a mobile station, an entertainment appliance, a television, a set-top box communicatively coupled to a display device, a cellular or other wireless phone, a game console, an automotive computer, and so forth.

Data center102can provide one or more of a variety of different services to computing devices. For example, data center102can provide one or more of a social networking service, an email service, a search service, an information resource/storage service, a messaging service, an image and/or video sharing service, a gaming or other entertainment service, and so forth. The one or more services provided by data center102can be publicly available or alternatively access to one or more of the services can be restricted to particular users (e.g., those having a valid account as verified by a service of data center102).

Multiple modules inserted into the multi-function slots of chassis106in data center102operate to provide the functionality of the one or more services provided by data center102. A variety of different types of modules can be included in data center102. Data center102typically includes one or more server modules (e.g., that include components such as one or more processors, random access memory, Flash memory, and so forth). Data center102can also include one or more other types of modules, such as a networking module (e.g., a gateway, a router, a switch, etc.), a data storage module (e.g., one or more magnetic disk drives), a battery module, and so forth.

Chassis106can be configured with different numbers of multi-function slots, such as 50 slots, 90 slots, and so forth. Additionally, different chassis106(or chassis106at different times) can have different types of modules, and different numbers of each of those different types of modules, inserted into the multi-function slots of that chassis. The number of battery modules inserted into the multi-function slots can vary, for example depending on the desired hold-up time for the chassis106(the amount of time other modules in chassis106are to be able to continue operation in the event of an interruption in external power104) and/or the desired amount of power to be provided during times of peak power usage (as discussed in more detail below). Battery modules could also be configured with different storage capacities by varying the number of batteries and/or types of batteries.

By way of example, in a chassis106with 48 slots, 36 of the slots can be filled with server modules and 12 slots filled can be filled with data storage modules if zero hold-up time is desired. Continuing with this example, if 30 seconds hold-up time is desired, then 4 server modules can be removed and each replaced with a battery module, and if 5 minutes of hold-up time is desired, then 16 processor and/or storage modules can each be replaced with a battery module.

FIG. 2is a block diagram illustrating an example chassis slot accepting multiple different types of modules in accordance with one or more embodiments.FIG. 2illustrates a multi-function slot202and three different types of modules: a battery module204, a server module206, and a storage module208. It should be noted that modules204,206, and208are examples, and that other types of modules can also be used with multi-function slot202.

Multi-function slot202is mounted on or otherwise coupled to a common interconnect board, as discussed in more detail below. Multiple multi-function slots202are typically coupled to the same common interconnect board, allowing different modules inserted into different slots202to communicate with one another. Multi-function slot202also routes power to and/or from the module that is inserted into slot202.

Each of modules204,206, and208includes a tab portion214,216, and218, respectively, that is compatible with multi-function slot202. Tab portions214,216, and218include contacts, pins, or other connection mechanisms that line up with contacts, receptors, or other connection mechanisms of multi-function slot202. Accordingly, when a module204,206, or208is inserted into multi-function slot202, components on the module204,206, or208can receive power from the common interconnect board to which multi-function slot202is coupled (or provide power to the common interconnect board in the case of battery module204), and communicate with other modules inserted into other slots of the common interconnect board to which multi-function slot202is coupled. Although multi-function slot202can accept various different types of modules204-208, it should be noted that a single module204-208is inserted into multi-function slot202at any particular time.

FIG. 3is a block diagram illustrating an example chassis300implementing the chassis slots accepting battery modules and other module types in accordance with one or more embodiments. Chassis300includes a common interconnect board302and multiple multi-function slots304coupled to common interconnect board302. Multi-function slots304can be mounted or otherwise coupled to common interconnect board302in any of a variety of well-known manners. In the example ofFIG. 3, server modules306are inserted into the multi-function slots304. External power308is received at chassis300and routed to multi-functions slots304via power bus310. Multi-function slots304route external power308received via power bus310to server modules306. For example, each multi-function slot304can include one or more pins, contacts, or other connection mechanisms allowing power from power bus310to be routed to the server module306inserted into the slot304. External power308can be, for example, external power104ofFIG. 1.

Chassis300also includes an isolation device312and chassis controller314. In the event of an interruption in external power308, isolation device312and chassis controller314are used to isolate chassis300from external power308and notify any battery modules that may be inserted into multi-function slots304to provide power to chassis300. This allows battery modules in chassis300to provide power in the event of an interruption in external power308. As no battery modules are illustrated inFIG. 3, no such battery power would be provided to power chassis300in the event of an interruption in external power308. Alternatively, as no battery modules are illustrated inFIG. 3, isolation device312and chassis controller314may take no action to isolate chassis300from external power308and/or to notify modules that may be inserted into multi-function slots304to provide power to chassis300.

It should be noted thatFIG. 3illustrates an example power topology for chassis300. Other signals and information can be communicated among various server modules304and other components of chassis300(e.g., chassis controller314). For example, chassis300can include one or more additional data and/or control buses to allow data and/or control information to be routed among modules306, other components of chassis300, and to other components or devices external to chassis300. These additional buses or other signal routings are not illustrated inFIG. 3in order to avoid cluttering the drawings.

Additionally, it should be noted that isolation device312and/or chassis controller314can perform other operations as well. For example, isolation device312can be used to cycle the power provided to power bus310and thus reboot server modules306. Depending on the power topology implemented for chassis300, isolation device312can be used to cycle the power to all server modules306, or alternatively to selected ones of server modules306.

In one or more embodiments, chassis controller314detects whether any battery modules are inserted into multi-function slots304. Chassis controller314can detect the type of module inserted into a multi-function slot304in different manners, such as receiving signals from the battery modules via a data and/or control bus, isolating chassis300from external power308and detecting whether any power is being provided on power bus310, and so forth. If no battery modules are inserted into multi-function slots304, then chassis controller314need not (but alternatively can) signal isolation device312to isolate chassis300from external power308in the event of an interruption in external power308.

FIG. 4is a block diagram illustrating another example chassis400implementing the chassis slots accepting battery modules and other module types in accordance with one or more embodiments. Chassis400is similar to chassis300ofFIG. 3, including a common interconnect board302that is configured the same as common interconnect board302ofFIG. 3(including multi-function slots304, power bus310, isolation device312, and chassis controller314). However, chassis400differs from chassis300in that server modules306are inserted into some multi-function slots304, while battery modules320are inserted into other multi-function slots304. As battery modules320are included in chassis400, battery power can be provided to power chassis400in the event of an interruption in external power308and/or during times of peak power usage. Battery modules320thus operate' as a battery backup for other modules in chassis400in the event of an interruption in external power308and/or as an additional power supply in the event of a peak in power usage. Chassis400and chassis300ofFIG. 3can be different chassis (but using commonly configured component interconnect boards302). Alternatively, chassis400can be chassis300ofFIG. 3at a different point in time (e.g., a point in time in which battery modules320are removed from chassis400and replaced with server modules).

In one or more embodiments, a monitor or other controller in the data center that includes chassis400monitors external power308and detects an interruption in external power308. This monitor or other controller is typically external to chassis400. A variety of causes exist for such an interruption, such as a failure at a power station that provides power308, a failure in a power transmission line between such a power station and the data center, and so forth. If an interruption in external power308is identified, the monitor or other controller provides power loss signal316to chassis controller314, notifying chassis controller314of the interruption in power.

If an interruption in external power308is identified, chassis controller314signals battery modules320to provide power to chassis400due to the interruption in external power308. In response, battery modules320provide power on power bus310that is routed to server modules306in place of external power308. Battery modules320operate as a battery backup for server modules306, allowing server modules306to continue to operate despite the interruption in external power308. Chassis controller314can also optionally provide various other signals to server modules306, such as signaling to server modules306to reduce or throttle back their performance (e.g., use a lower clock frequency, shut down one or more processor cores, use a lower data transfer rate, etc.) in response to an interruption in external power308being identified.

Additionally, if an interruption in external power308is identified, chassis controller314optionally signals isolation device312to isolate chassis400from external power308. This isolation prevents any power being provided by battery modules320from being discharged on the line or lines via which external power308is received by component interconnect board302.

When the interruption in external power308ceases (e.g., the problem causing the interruption has been fixed or a backup generator is providing power), the monitor or other controller optionally provides an indication to chassis controller314that the interruption in external power has ceased. This indication can be provided in different manners, such as a separate signal line input to chassis controller314, the monitor or other controller sending a different value over the same line as power loss signal316was sent, and so forth.

If an indication that the interruption in external power308has ceased is received, chassis controller314signals battery modules320to cease providing power to chassis400. In response, battery modules320cease providing power on power bus310. Chassis controller314can also optionally provide various other signals to server modules306, such as signaling server modules306to cease reducing or throttling back their performance. Additionally, if an indication that the interruption in external power308has ceased is received, chassis controller314also signals isolation device312to cease isolating chassis400from external power308.

Chassis controller314can optionally perform various other functions as well. For example, chassis controller314can detect which multi-function slots304have battery modules inserted into them, and which multi-function slots304have other types of modules inserted into them (the specific type of module, such as server module or storage module can be detected, or simply that they are not battery modules can be detected). The number of battery modules inserted into multi-function slots304and the number of other types of battery modules inserted into multi-function slots304can be identified by chassis controller314. Chassis controller314can then use these numbers (along with an indication of the battery capacity of the battery modules and the power used by the other types of modules) to readily determine the hold-up time that those batteries modules can provide for the other types of modules inserted into multi-function slots304of chassis400.

Chassis controller314can be pre-configured with (or obtain from another controller or other source) the battery capacity of the battery modules and the power used by other types of modules. Alternatively, each of one or more battery modules can indicate to chassis controller314(e.g., via one or more signals on a data and/or control bus) the amount of power that it provides. Similarly, each of one or more other types of modules can indicate to chassis controller314(e.g., via one or more signals on a data and/or control bus) the amount of power that the module uses. Chassis controller314can use this information regarding battery capacity and power used by other modules to determine the hold-up time that those battery modules can provide.

FIG. 5is a block diagram illustrating an example battery module500in accordance with one or more embodiments. Battery module500can be, for example, a battery module320ofFIG. 4. Battery module500includes a battery module controller502, an isolation device504, a battery charge power supply506, and one or more batteries508. Control information is received by battery module500from a chassis controller (e.g., chassis controller314ofFIGS. 3 and 4) via chassis control line512. External power is routed to battery module500via power bus514, and power from battery module500can be provided to other modules in the same chassis as battery module500via power bus514. Power bus514can be, for example, power bus310ofFIGS. 3 and 4.

Battery module controller502manages the operation of battery module500, receiving indications from a chassis controller (e.g., chassis controller314ofFIGS. 3 and 4) of interruptions in external power and providing information regarding the status of battery module500to the chassis controller. Battery module controller502controls when batteries508can be discharged to power bus514, such as when there is an interruption in external power or for power smoothing.

In the event of a loss in external power, the chassis controller (e.g., chassis controller314ofFIGS. 3 and 4) provides a signal to battery module controller502via chassis control line512, notifying battery module controller502of the interruption in power. In response to the interruption in external power, battery module controller502signals isolation device504to allow batteries508to discharge power to power bus514. This allows batteries508to power other modules in the same chassis as battery module500.

At some point after the interruption in power occurs, the providing of external power to the chassis resumes, at which point battery module controller502signals isolation device504to no longer allow batteries508to discharge power to power bus514.

Isolation device504also operates to isolate batteries508from power bus514, preventing batteries508from discharging power to power bus514except at times when batteries508are discharged to power bus514due to an interruption in external power or for power smoothing. For example, isolation device504prevents batteries508from discharging power to power bus514even if the voltage provided by batteries508is greater than the voltage on processor bus514. By way of another example, if batteries508are charging and at a lower voltage than power bus514, isolation device504prevents power bus514from charging batteries508.

Batteries508can be a variety of different types of rechargeable energy storage devices, such as sealed lead-acid batteries, lithium ion batteries, capacitors, supercapacitors, rotary devices, coiled spring devices, alternate power sources, and so forth. It should also be noted that different battery modules500inserted into multi-function slots of the same chassis can include different types of batteries508. For example, some battery modules500may include capacitors or supercapacitors, while other types of batteries508can include lithium ion batteries. The chassis controller (e.g., chassis controller314ofFIGS. 3 and 4) can signal all battery modules500to discharge power (e.g., in the event of an interruption in external power) to power bus514, or alternatively signal different battery modules500to discharge power to power bus514at different times. For example, the chassis controller can initially signal battery modules500that include capacitors or supercapacitors to discharge power to power bus514. If the interruption in external power continues for at least a threshold amount of time, then the chassis controller signals battery modules500to discharge power to power bus514.

When batteries508have less than a threshold charge, battery charge power supply506charges batteries508. This threshold charge can be a fixed amount (e.g., a particular number of watt hours), or alternatively a relative amount (e.g., 10% less than the maximum charge of batteries508). When batteries508have less than the threshold charge can be detected by battery charge power supply506, or alternatively by battery module controller502. Battery charge power supply506receives power from power bus514(e.g., via or under control of battery module controller502), and provides that received power to batteries508to charge batteries508.

In one or more embodiments, battery module controller502also monitors various aspects of batteries508, such as usage and/or health information regarding batteries508. This usage and/or health information can be, for example, an indication of a current charge of batteries508, an indication of a maximum charge of batteries508, and so forth. The information monitored by battery module controller502can be returned to a chassis controller (e.g., chassis controller314ofFIGS. 3 and 4) via chassis control line512, allowing the chassis controller to collect information regarding the monitored aspects of batteries508of all the battery modules included in the chassis. The chassis controller can then display or otherwise present such information to, for example, an administrator of the data center in which the chassis is located.

In one or more embodiments, battery module controller502also signals isolation device504to allow batteries508to discharge power to power bus514to facilitate power smoothing on power bus514. Situations can arise in which there is a peak in power usage by one or more modules in the same chassis as battery module500, and this peak results in the power supplied from a power supply on power bus514being exceeded. Such a power supply is typically included in the data center that includes battery module500, and can be included in the same chassis as battery module500or alternatively external to the chassis that includes battery module500. Such a power supply receives power from an external source (e.g., a power station or a backup generator) and provides power on power bus514. These power supplies can perform various operations, such as converting AC power to DC power, increasing or decreasing DC power received from an external source, and so forth.

Such peaks in power usage are oftentimes short in duration (e.g., on the order of a few seconds). Battery module controller502is configured to provide power from batteries508to power bus514during these times of peak power usage, providing power on power bus514concurrently with the power supply providing power on power bus514. Batteries508can thus effectively absorb power usage peaks, allowing the average current drawn by modules in the same chassis as battery module500to remain approximately flat or unchanged. It should be noted that during times of peak power usage, batteries508can provide power on power bus514in the absence of any interruption of external power as well as during an interruption of external power.

Peak power usage that exceeds the power supplied by the power supply can be detected in a variety of different manners. In one or more embodiments, battery module controller502monitors one or more of various indicators related to the power supplied by the power supply to determine when peak power usage exceeds the power supply on power bus514. For example, battery module controller502can monitor the input current on power bus514, such as by using a series resistor or inductive loop. By way of another example, power battery module controller502can monitor the output current of a power supply coupled to power bus514, such as by using a series resistor, inductive loop, or monitoring the voltage drop across an output FET (field-effect transistor). By way of another example, battery module controller502can monitor the switching frequency of an output rectifier of a power supply coupled to power bus514(e.g., higher duty cycles indicating higher power usage). One or more of these various indicators can be used to identify the power usage of modules receiving power via power bus514.

During times of peak usage, the module or modules that are peaking in their power usage can receive the power they desire and continue to operate as they desire. Performance of the devices need not be cut back or throttled due to a lack of power. Furthermore, a power supply coupled to power bus514need not be configured to provide all of the power during these times of peak usage, but can rely on batteries508during these times of peak usage. This allows for a lower cost power supply because the power supply can be sized for the average power used by the modules on the chassis rather than for the peak power usage. Furthermore, the system (e.g., data center) that includes the chassis has more predictable power loads, and thus need not provide an extra power margin in order to provide power during these times of peak usage because it is relying on batteries508.

In the discussions above, battery module controller502receives a signal via chassis control line512that notifies battery module controller502of the interruption in power. Alternatively, no such signal need be received. Rather, battery module controller502can monitor one or more of various indicators related to the power supplied by the power supply to determine when the power used by modules on power bus514exceeds the power supply on power bus514. This can be determined in different manners as discussed above. Battery module controller502signals isolation device504to allow batteries508to discharge power to power bus514if the power supplied by the power supply exceeds the power used by modules on power bus514. Battery module controller502then signals isolation device504to isolate batteries508from power bus514when the power used by modules on power bus514no longer exceeds the power supplied by the power supply. It should be noted that battery module controller502need not determine why the power used by modules on power bus514exceeds the power supplied by the power supply. E.g., battery module controller502can simply detect that the power used by modules on power bus514exceeds the power supplied by the power supply (whether due to an interruption in external power or a peak in power usage), and in response signal isolation device504to allow batteries508to discharge power to power bus514.

FIG. 6is a flowchart illustrating an example process600for using chassis slots accepting battery modules and other module types in accordance with one or more embodiments. Process600is carried out by a chassis of a data center, such as a chassis106ofFIG. 1, and can be implemented in software, firmware, hardware, or combinations thereof. Process600is shown as a set of acts and is not limited to the order shown for performing the operations of the various acts. Process600is an example process for using chassis slots accepting battery modules and other module types; additional discussions of using chassis slots accepting battery modules and other module types are included herein with reference to different figures.

In process600, a service is provided to one or more computing devices (act602). A variety of different services can be provided to computing devices located in close physical proximity to the chassis implementing process600and/or located across a wide geographic range as discussed above.

Power received from an external power source is routed to multi-function slots on a component interconnect board of the chassis (act604). This external power source can be, for example, a power station managed by a power utility company or a backup generator as discussed above.

Power from batteries of a battery module is prevented from being discharged on the power bus (act606). This battery module is a battery module inserted into one of the multi-function slots of the component interconnect board of the chassis. Power from the batteries is prevented from being discharged on the power bus unless an interruption in the external power is detected or a peak in power usage is detected as discussed above.

In the event of an interruption in external power being detected (act608), power is allowed to be discharged from the batteries of the battery module to the power bus (act610). Power is allowed to be discharged from the batteries until the interruption in external power ceases.

In the event of a peak in power usage being detected (act612), power is allowed to be discharged from the batteries of the battery module to the power bus (act614). Power is allowed to be discharged from the batteries until the peak in power usage ceases.

It should be noted that the chassis slots accepting battery modules and other module types discussed herein supports various usage scenarios. The types of modules, and how many of each type of module, to include in a chassis can vary on a chassis-by-chassis basis. An administrator or customer of the data center can determine whether battery modules are to be included in the chassis (e.g., based on the particular functionality provided by the modules of the chassis). The appropriate number of battery modules can then be inserted into multi-function slots of the chassis to provide the amount of power for the duration desired by the administrator or customer of the data center. Other types of modules (e.g., server modules, storage modules, etc.) can be inserted into any of the multi-function slots of the chassis into which a battery module is not inserted.

For example, different customers of a data center, such as different companies or different business units within the same company, are assigned different chassis and are able to select the configuration of their own chassis. These different companies or business units can select different numbers of battery modules, and thus have different battery backup configurations, even though their chassis are in the same data center. A first business unit may desire to have sufficient batteries to power the modules in their chassis for the time period between an interruption in external power from a power station and a backup generator being online, and accordingly would have a chassis with sufficient battery modules to provide this power. A second business unit may not be interested in spending money on any batteries, and accordingly would have a chassis with no battery modules. This second business unit can then have all of the multi-function slots of the chassis populated with other types of modules (e.g., server modules, storage modules, etc.).

Additionally, it should be noted that the chassis slots accepting battery modules and other module types discussed herein permits using smaller, more commonly available batteries in battery modules rather than using large, custom-built batteries for an entire data center. As these batteries in the battery modules are not custom-built, they are typically a lower cost than custom-built batteries.

Furthermore, it should be noted that the chassis slots accepting battery modules and other module types discussed herein can reduce overall costs for data centers and their customers. A common chassis design can be used in the data center, and in multiple different data centers, regardless of the number of battery modules that a particular customer desires to use in their chassis. The chassis need not include dedicated slots for battery modules, and thus any slots not used for battery modules can be populated with other types of modules.

In the discussion herein, reference is made to various different controllers (e.g., chassis controller314ofFIG. 3orFIG. 4, battery module controller502ofFIG. 5, and so forth). Generally, each controller accepts one or more inputs, and provides one or more outputs based at least in part on those one or more inputs. Each of the controllers discussed herein can be implemented in a variety of different manners. For example, a controller can be implemented as a processor executing software and/or firmware instructions. By way of another example, a controller can be implemented using discrete logic, a programmable logic device, and so forth.

FIG. 7illustrates an example computing device700that can be used with the chassis slots accepting battery modules and other module types in accordance with one or more embodiments. Computing device700can be, for example, a server module206or storage module208ofFIG. 2. Computing device700can also implement various controllers discussed herein, such as chassis controller314ofFIGS. 3 and 4, or battery module controller502ofFIG. 5.

Computing device700includes one or more processors or processing units702, one or more computer readable media704which can include one or more memory and/or storage components706, one or more input/output (I/O) devices708, and a bus710that allows the various components and devices to communicate with one another. Computer readable media704and/or one or more I/O devices708can be included as part of, or alternatively may be coupled to, computing device700. Bus710represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or local bus, and so forth using a variety of different bus architectures. Bus710can include wired and/or wireless buses.

Memory/storage component706represents one or more computer storage media. Component706can include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). Component706can include fixed media (e.g., RAM, ROM, a fixed hard drive, etc.) as well as removable media (e.g., a Flash memory drive, a removable hard drive, an optical disk, and so forth).

The techniques discussed herein can be implemented in software, with instructions being executed by one or more processing units702. It is to be appreciated that different instructions can be stored in different components of computing device700, such as in a processing unit702, in various cache memories of a processing unit702, in other cache memories of device700(not shown), on other computer readable media, and so forth. Additionally, it is to be appreciated that the location where instructions are stored in computing device700can change over time.

One or more input/output devices708allow a user to enter commands and information to computing device700, and/or allow information to be presented to the user and/or other components or devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, and so forth.

“Computer storage media” include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.

Generally, any of the functions or techniques described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module” and “component” as used herein generally represent software, firmware, hardware, or combinations thereof. In the case of a software implementation, the module or component represents program code that performs specified tasks when executed on a processor (e.g., CPU or CPUs). The program code can be stored in one or more computer readable memory devices, further description of which may be found with reference toFIG. 7. The features of the chassis slots accepting battery modules and other module types techniques described herein are platform-independent, meaning that the techniques can be implemented on a variety of commercial computing platforms having a variety of processors.