1. Field of the Invention
The present invention pertains to dual inline memory modules (“DIMMs”) and, more particularly, to a DIMM connector accommodating sideband signals.
2. Description of the Related Art
As the power of individual electronic computing devices has increased, computing systems have become more distributed. Early “personal” computers, although powerful for their time, were suitable for little more than primitive word processing, spreadsheet, and video game applications. More intensive applications, e.g., computer aided design/computer aided manufacturing (“CAD/CAM”) applications were typically hosted on relatively large, more powerful “mainframe” computers. Users invoked applications from time-sharing terminals that served as a conduit for information. However, most of the computational power resided on the host mainframe, where most of the computations were performed.
Stand-alone computing devices eventually evolved from dumb terminals and weak personal computers to powerful personal computers and workstations. As they became more powerful, the computational hours for applications became more distributed. Individual computers eventually became networked, and the networks distributed the computational activities among the network members. Many computations once performed on a mainframe computer, or that were not previously performed, were now performed on networked personal computers. Networks also permitted users to share certain types of computing resources, such as printers and storage.
More powerful computing devices also permitted larger, more complex networks and other computing systems. Small local area networks (“LANs”) became wide area networks (“WANs”). Recently, networks have evolved to produce system or storage area networks (“SANs”). Some of these networks are public, e.g., the Internet. Some may be characterized as “enterprise computing systems” because, although very large, they restrict access to members of a single enterprise or other people they may authorize. Some enterprise computing systems are referred to as “intranets” because they employ the same communication protocols as the Internet.
FIG. 1 illustrates some concepts associated with large scale computing systems such as SANs. The computing system 100 includes two servers 105, 110 that include a Redundant Array of Independent Disks (“RAID”) controller 115, a Fibre Host Bus Adapter (“HBA”) 120, and at least one internal disk 125. Each RAID controller is connected to the internal disk 125 and an external storage enclosure 130, also commonly referred to as Just a Bunch Of Disks (“JBOD”). The RAID controller 115, internal disk 125, and JBOD 130 constitute “direct attached storage” subsystem. The direct attached storage subsystem is “local” to the respective servers 105, 110 in the sense that other servers cannot read from or write to it. The Fibre HBA 120 connected to a switch or hub 135 in a switched Fibre fabric 140. The servers 150, 110 can both read from and write to the mass storage units 145 through their respective Fibre HBA 120 and the switch/hub 135 in the switched fabric 140. Thus, the Fibre HBAs 120, switched fabric 140, switch/hub 135, and mass storage units 145 constitute a “shared” memory subsystem.
Most types of electronic and computing systems comprise many different devices that electronically communicate with each other over one or more buses. Exemplary types of devices include, but are not limited to, processors (e.g., microprocessors, digital signal processors, and micro-controllers), memory devices (e.g., hard disk drives, floppy disk drives, and optical disk drives), and peripheral devices (e.g., keyboards, monitors, mice). When electrically connected to a bus, these types of devices, as well as others not listed, are all sometimes generically referred to as “bus devices.” In FIG. 1, the RAID controllers 115 communicate the buses 150, 155, respectively. The Fibre HBA 120 communicates with switched Fabric 140 and mass storage units 145 over buses 160, 165, respectively.
For instance, a computer typically includes one or more printed circuit boards having multiple integrated circuit components (or “bus devices”) and connectors mounted to them. The components and connectors are interconnected by and communicate with each other over trace etched into the board. The boards are interconnected by plugging one or more of the boards into another board intended for this purpose. A first component on a board communicates with a second component on the same board over the traces etched onto the board. The first component communicates with a component on another board through the connectors by which the two boards are plugged into the third board intended for that purpose. Thus, both the traces on the boards and the connectors between the boards are a part of the bus. Again referring to FIG. 1, the RAID controllers 115 and Fibre HBAs 120 are two such printed circuit boards.
DIMMs are one common type of memory component. A DIMM is simply a printed circuit board (“PCB”) on which a number of memory chips are mounted. The memory chips are usually some form of “volatile” memory, which means that the data stored in them will be lost if power supplied to the chips is interrupted. Many DIMMs therefore include battery packs mounted to them. The battery packs house batteries that provide “backup” power to the DIMM if the primary source of power is interrupted for some reason. The backup power supplied by the battery packs then provides an opportunity to save the data if primary power is restored in time.
DIMMs are widely used in mass storage devices such as redundant arrays of inexpensive disks (“RAIDs”). DIMMs are sometimes used in a RAID controller to implement a type of memory known as “cache,” and DIMMs used in this context are therefore sometimes referred to as “cache cards.” RAID controllers will only allow posted writes to occur when it can guarantee that the batteries can sustain backup for a minimum period of time agreed upon by the user in the event of a power outage.
Still another problem arises from the pin-out on connectors. Using a custom cache card limits the users options for upgrading and replacement of the memory module. By adding battery packs to a standard DIMM module allows the user to use a larger standard DIMM modules if more read ahead caching is required or use the battery backed DIMM if posted write data is required. The majority of the pins defined for DIMM connectors are required for normal operation. Side band signals used for battery status and control need to be shared with low priority DIMM signals or use special signals defined as no-connect. Typically, the industry has used custom non-industry standard cache card outlines and connectors, industry standard cache card without batteries, or industry standard cache card with batteries on main board. Alternatively, the industry has embedded the cache card on the main RAID controller. Each of these approaches has its disadvantages.
The present invention is directed to resolving, or at least reducing, one or all of the problems mentioned above.