WO2016037943A1 - Modulares computersystem und servermodul - Google Patents

Modulares computersystem und servermodul Download PDF

Info

Publication number
WO2016037943A1
WO2016037943A1 PCT/EP2015/070264 EP2015070264W WO2016037943A1 WO 2016037943 A1 WO2016037943 A1 WO 2016037943A1 EP 2015070264 W EP2015070264 W EP 2015070264W WO 2016037943 A1 WO2016037943 A1 WO 2016037943A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration data
computer system
memory
data
control device
Prior art date
Application number
PCT/EP2015/070264
Other languages
English (en)
French (fr)
Inventor
Hans-Jürgen HEINRICHS
Walter Unruh
Original Assignee
Fujitsu Technology Solutions Intellectual Property Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Technology Solutions Intellectual Property Gmbh filed Critical Fujitsu Technology Solutions Intellectual Property Gmbh
Priority to GB1700734.5A priority Critical patent/GB2543981A/en
Publication of WO2016037943A1 publication Critical patent/WO2016037943A1/de
Priority to US15/406,908 priority patent/US10420246B2/en

Links

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1488Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures
    • H05K7/1489Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures characterized by the mounting of blades therein, e.g. brackets, rails, trays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7864Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1438Back panels or connecting means therefor; Terminals; Coding means to avoid wrong insertion
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1487Blade assemblies, e.g. blade cases or inner arrangements within a blade
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1488Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1498Resource management, Optimisation arrangements, e.g. configuration, identification, tracking, physical location

Definitions

  • the invention relates to a modular computer system
  • the invention further relates to a server module for a modular
  • Computer system and a rack assembly with at least one rack-mounted in the rack housing modular computer system are provided.
  • server computers In order to be able to expand computing power as required, various approaches to building expandable computer systems are known from the prior art.
  • a relatively straightforward approach is to install server computers in server racks with a standard form factor, typically a 19-inch rack bay, and add server servers as needed to complement other server computers.
  • the individual server computers work relatively independently.
  • server computers have individual power supplies and network interfaces on.
  • Such systems are relatively inexpensive, but require a relatively large amount of space and
  • An alternative approach is to integrate individual, so-called blade servers into a blade server system. This includes a blade system in addition to the actual blade servers arranged thereon
  • each blade system typically includes one or more of so-called
  • Blade server systems allow high computational density, but are relatively expensive. This is among other things on the
  • the individual server modules can be connected to a common power supply, cooling and similar simple or standardized components such as hard drives, but the server modules themselves are largely independent server computers.
  • such modular computer systems do not require a central management instance, as is common, for example, with blade server systems. They allow a high computational density at a relatively low cost of the overall system.
  • WO 2013/068250 AI known.
  • the server system disclosed therein comprises at least one located in the chassis
  • circuit board has at least a first microcontroller.
  • Server system further includes one in the first
  • first server slot has a first system management controller.
  • the first microcontroller and the first system management controller are coupled to one another via at least one first signal line, and the first microcontroller is configured to provide the system management controller at least one chassis-specific one
  • arrangement is enabled to be chassis-specific over a network and system management controller of a single server bay
  • the structure of the chassis itself or the components are kept as simple as possible in order to limit their price and complexity.
  • the present application describes a modular computer system comprising a chassis having a plurality of receiving wells for receiving
  • the computer system includes a non-volatile memory device and disposed in the chassis
  • Memory device connected control device.
  • Storage device is set up to
  • Store configuration data of a plurality of functional modules and the control device is adapted to receive from recorded in a receiving slot functional module requests for writing, reading and / or deleting configuration data to map the requests to an address space of the storage device and to transmit corresponding control commands to the storage device ,
  • Receptacles at least one electrically with the Control device connected to the connection for electrical contacting of a recorded in the respective receiving shaft functional module. It is the
  • Control device connected via a first serial bus system to the terminals for the transmission of configuration data recorded in the receiving slots function modules and the first serial bus system is adapted to prevent the simultaneous transmission of configuration data by different functional modules.
  • a serial bus system Through the use of a serial bus system, the number of lines required for data transmission can be kept low. Conflicting access to the control device can be avoided by bus arbitration measures.
  • the control device can be avoided by bus arbitration measures.
  • Memory device a plurality of memory blocks for storing data ready.
  • the control device provides a file system for accessing the storage device by means of path and / or file names and is adapted to be picked up by those recorded in the receiving slots
  • Function modules received path and / or file frames on the path and / or file name associated blocks of
  • Map memory device By providing a file system, the individual functional modules can be used under
  • Control means a log for accessing the stored configuration data in the file system in the Recording modules, whereby the protocol ensures atomic access to individual elements of the file system.
  • a protocol of atomic operations can ensure consistency of stored data, especially the consistency of the file system itself.
  • Memory device a programmable read-only memory, in particular a flash memory, the memory cells in the unprogrammed state, a first logical value
  • control device is set up to receive data bits of data recorded in the receiving wells
  • Configuration data with a second logical value can be mapped onto memory cells of the memory device in the unprogrammed state.
  • data bits may differ between known file systems and physical ones
  • Memory devices such as in particular a flash memory, are used to compensate for conventions in order to reduce the number of required programming operations.
  • the programmable read-only memory can only be erased in blocks and the
  • Control device has a buffer for
  • the control device is set up to receive a request for
  • Memory block to compare and reject the request for writing configuration data without intermediate deletion or the writing of the configuration data to be written, if the comparison has shown that the
  • Control device further adapted to the associated data block without intermediate deletion with the
  • control device is set up to delete the associated data block and to subsequently describe it with the configuration data to be described if the comparison has shown that at least one transition from the second logical value to the first logical value for writing the configuration data in the programmable
  • Steps may take a number of delete operations
  • a server module for use in a modular
  • the server module includes
  • System components at least one module connector for electrically contacting the modular computer system and at least one firmware component for storing and retrieving configuration data. It is at least one
  • Control device of the modular computer system to transmit and retrieve the configuration data to be retrieved via the module connection from the control device of the modular computer system.
  • Server module can be based on the providence of a module internal
  • Memory in particular a flash memory to the memory of configuration data can be dispensed with.
  • the server module has at least one system management module, wherein the system management module via a serial
  • System management bus is connected to the module connector.
  • the system management module is set up to handle the
  • FIG. 1 is a front perspective view of a chassis of a modular computer system
  • FIG. 2 is a rear perspective view of the chassis according to
  • FIG. 1 A first figure.
  • FIG. 3 is a schematic representation of the system structure of the modular computer system.
  • Figure 4 is a perspective view of different
  • Figure 5 is a schematic representation of different
  • Figure 6 is a schematic representation of the compound of
  • Figure 7 is a schematic representation of the electrical
  • FIG. 8 shows a flow chart of a method for writing a data block
  • FIG. 8 shows a flowchart of a method for writing a data block
  • Figure 9 is a schematic representation of the sequence of a
  • Figure 10 is a schematic representation of the sequence of a
  • FIG. 1 shows a perspective front view of a
  • the chassis 2 corresponds to a
  • Standard format especially a 19-inch rack format for insertion in a corresponding rack housing.
  • chassis 2 in the region of a front two
  • Attachment tabs 3a and 3b with which the chassis 2 is fixed to vertical hole rails 6 of the otherwise not shown rack housing. To be used for attachment
  • the chassis 2 according to FIG. 1 has a Height of two so-called height units of 44.45 millimeters each.
  • height units 44.45 millimeters each.
  • the use of other heights to accommodate larger or other than the components described below is possible.
  • control panels 4a and 4b are arranged on the attachment tabs 3a and 3b, which display various control data or serve to input control data.
  • the space available between the operating panels 4a and 4b is used in the
  • a standard format especially hard disk modules.
  • the illustrated embodiment can be in the
  • middle area a total of 24 HDD modules
  • the described modular computer system 1 serves to accommodate up to four individual functional modules, in particular
  • Server modules in corresponding receiving slots 7a to 7d.
  • the function modules are from one in Figure 2
  • Receptacles are not physically separate from each other
  • Figure 3 shows a schematic plan view of the
  • chassis 2 comprises a perpendicular to
  • the first circuit board 9 is sometimes referred to as a midplane, since it is arranged in a housing interior and can be contacted from two sides by other components.
  • the individual functional modules 13 and other components of the modular computer system 1 are interconnected.
  • each of the functional modules 13 has a module connection 17, which can be plugged into a corresponding terminal 18 of the first printed circuit board 9.
  • Memory slots 14 are assigned. About the second
  • Printed circuit boards 10a to 10d can be contacted by a group 5 of in each case six memory slots 14, for example via standardized SAS or SATA connectors.
  • the four second circuit boards 10a to 10d are over four
  • PCB connectors IIa to lld can themselves be printed circuit boards with corresponding connectors. Between the first circuit board 9 and the second circuit boards 10a to 10d, four cooling devices 12a to 12d are arranged in the exemplary embodiment.
  • Cooling devices 12a to 12d are each double ventilator systems, with two axially behind one another
  • the cooling devices 12a to 12d suck air from the front through the groups 5a to 5d of
  • connection structure 16 is therefore arranged between the power supply units 15 and the first circuit board 9, which is particularly suitable for the transmission of large currents.
  • FIG. 4 shows a perspective view of the various system components of the modular computer system 1 without the associated chassis 2.
  • the structure of the connection structure 16 can be seen in detail.
  • the first printed circuit board 9 and the second printed circuit boards 10a to 10d have, in addition to the connections required for the connection of the various functional modules 13 or memory slots 14, openings which allow ventilation of the components installed in the chassis 2.
  • the function module 13 is configured as a server module 22.
  • the server module 22 In the exemplary embodiment, the
  • Server module 22 a hidden in the figure 4 system board and two processors 23a and 23b arranged thereon with a total of four associated memory banks 24 on. At the back of the server module 22 are various
  • Connector for example, for connecting the server module 22 to a local area network, provided.
  • FIG. 5 schematically shows different possibilities for equipping the modular computer system 1
  • each of the receiving bays 7a to 7d has its own one
  • Function module 13a to 13d for example, a server module 22 equipped.
  • a second configuration 26 only two functional modules 13a and 13b, each having a double width, are arranged in respectively two adjacent receiving slots 7a and 7c or 7b and 7d.
  • a third configuration 27 in each case two functional modules 13a and 13b with a double overall height are arranged in two receiving shafts 7a and 7b or 7c and 7d lying one above the other.
  • This configuration is particularly flexible, since, for example, a server module 22 with a single height can be combined with an overlying additional module, such as a high-performance computing module with one or more graphics processors.
  • Figure 5 is a fourth
  • Configuration 28 can be seen in the only one
  • Function module 13 with a double width and twice the height of all receiving shafts 7a to 7d fills.
  • Function modules 13 own network or other
  • Standard components are used. When executed as server modules 22, for example, each of the modules
  • Function Modules 13 is a system board
  • Printed circuit board with components arranged thereon such as
  • processors 23 and memory banks 24 For example, processors 23 and memory banks 24.
  • a system management usually takes place via a data network and a system management component of the individual
  • Modular computer system 1 is therefore inter alia a standard-compliant connection of the individual functional modules 13 of importance.
  • Figure 6 shows schematically the connection of four
  • Server modules 22a to 22d with the various components of the chassis 2. As can be seen from FIG. 6, each of the server modules 22a to 22d is connected via three bus systems 34, 36 and 45 to the respective other server modules 22a to 22d or to a chassis interface unit 31.
  • system management modules 32 also known as “intelligent remote management controllers” (iRMC)
  • iRMC intelligent remote management controllers
  • Interface module 33 with a so-called IPMB bus 34 for communication with neighboring server modules 22nd
  • system management modules 32 are connected to various components of the chassis interface unit 31 via a second interface module 35 and a serial system management bus 36.
  • system management bus 36 is used to connect the system management modules 32 to control modules (not shown in FIG. 6) of the power supplies 15, a
  • Ambient temperature sensor 37 a so-called chassis FRU memory 39 for storing a chassis identifier, a
  • capacitor-buffered light path controller 40 for storing and outputting error conditions via so-called "customer soap service” (CSS) light emitting diodes, a first
  • Microcontroller 41 for exchanging control data via the control panels 4a and 4b, a second microcontroller 42 for connecting a flash memory 43 and a third
  • Microcontroller 44 for controlling the cooling devices 12a to 12d.
  • system management bus 36 In addition to the system management bus 36 are the
  • Server modules 22a to 22d also independent of the
  • Control panels 4a and 4b has its own, another serial bus system 47a and 47b with the first
  • Microcontroller 41 connected.
  • bus systems 34, 36, 45, 47a and 47b are each designed as serial bus systems. It should be noted that the various serial bus systems 34, 36, 45, 47a and 47b are each designed as serial bus systems. It should be noted that the various serial bus systems 34, 36, 45, 47a and 47b are each designed as serial bus systems. It should be noted that the various serial bus systems 34, 36, 45, 47a and 47b are each designed as serial bus systems. It should be noted that the various serial
  • Bus systems 34, 36, 45, 47a and 47b only one each
  • bus-specific methods By means of bus-specific methods, parallel accesses by different functional modules 13 to the bus systems 34, 36 and 45 are avoided.
  • the bus masters such as the system management chips 32, monitor according to the I2C protocol whether bus lines are already being driven by another bus subscriber while they are transmitting data themselves. If such a collision is detected, the recognizing bus user waits for a predetermined period of time before restarting a transaction. In this way it is ensured that only one transaction takes place on the system management bus 36 at a time.
  • the serial masters such as the system management chips 32
  • Bus systems 45, 47a and 47b is the first microcontroller 41 single bus master, so that there are no conflicts.
  • control circuit 46 permits monitoring of the secondary DC supply voltage provided by the power supplies 15 and also a primary mains AC voltage independent of the
  • control circuit 46 requires only a few control lines for connection to the power supplies 15.
  • each of the power supplies 15 has a
  • Control line for signaling a fault of the primary supply voltage a control line for signaling a stable secondary supply voltage and a third control line for switching on the respective power supply 15 on.
  • the different control lines are through the
  • Control circuit 46 evaluated by means of a discrete circuit and to the individual server modules 22nd
  • configuration data such as BIOS settings and / or
  • Network settings in particular virtual network addresses to be used, usually in one or more
  • So-called chassis PROMs with storage capacities of 64 or 128 kB stored.
  • System board of the server system independent memory such settings can be maintained, for example, when replacing a system board in the server system.
  • Such memory modules are connected via a so-called I 2 C bus to a system management module of the respective server system. Do this
  • the chassis 2 of the modular computer system 1 allows the storage of Configuration data for a plurality of accommodated in the receiving slots 7a-7d function modules 13 in a single, central, arranged on the first circuit board 9 of the chassis 2 flash memory 43. This remains in the modular computer system 1 such
  • Receiving shaft 7a is replaced.
  • the proposed solution does not require a separate memory for each functional module 13 and / or for each receiving shaft 7.
  • accesses to the flash memory 43 take place via the second microcontroller 42.
  • the second microcontroller 42 receives requests from the flash memory 43.
  • the flash memory 43 is a relatively inexpensive flash memory device with a relatively large memory capacity of, for example, 4 MB and an SPI interface 80.
  • Microcontroller 42 In this way, the different server modules 22a to 22d and possibly contained therein logical server nodes each of the storage of data in the flash memory 43 while maintaining the usual I 2 C protocol is enabled.
  • Microcontroller 42 a file system to access the
  • Function modules 13 on contained path or File name and sets the corresponding write, read ⁇ or other requests to physical memory addresses of the flash memory 43.
  • the second microcontroller 42 also manages metadata concerning the file system itself.
  • the protocol used by the second microcontroller 42 has only atomic operations. Each operation is atomic in that it provides at least one complete block of the data through the microcontroller 42
  • the second microcontroller 42 provides a so-called FAT file system in which individual blocks have the size of 512 bytes. In order to implement the atomic read or write operations, a block with up to 512 bytes of user data is thus read or written with each bus transaction. Furthermore, as under
  • the second microcontroller 42 also serves to convert the block size of the file system used to the size of the memory blocks of the flash memory 43 differing therefrom in the exemplary embodiment.
  • the flash memory 43 is segmented into blocks of 4 KB of data, which are only deleted together can.
  • the microcontroller 42 has a buffer store 81 in which a plurality of blocks of the file system can be temporarily stored.
  • Memory block typically fills each memory cell with the logical value "1." To avoid unnecessary
  • the microcontroller 42 inverts all bits from over the system management bus 36
  • This data inversion is completely transparent to a server module 22 connected to the system management bus 36.
  • Flash memory 43 basically allow only a limited number of erase and subsequent
  • Computer system 1 required erase and write operations, therefore, the method described below is used.
  • FIG. 8 shows a flowchart of a method for
  • a write command is received via the system management bus 36. Based on the
  • Path information in the write command received in step S41 a corresponding memory block of the flash memory 43 is determined in step S42.
  • a corresponding memory block of the flash memory 43 is determined in step S42.
  • Serve for this purpose for example, in the flash memory 43 or a working memory of the Microcontroller 42 stored metadata about the managed by the microcontroller 42 file system.
  • step S42 its contents are read into the latch 81 in a step S43.
  • step S44 those in the
  • Embodiment always a 4 KB block is read from the flash memory 43, while with each
  • Step S45 it is determined in step S45 that at least some of the data of the cached data block has changed, it is checked in a further step S46 whether the changes merely relate to the transition from unprogrammed values, that is to logical value 1, to programmed values, that is to say the logical values Value 0, the flash memory 43 require. If this is the case because, for example, in the configuration data contained in the system management bus 36 only additional
  • step S47 If one has been set, only the bits of the corresponding memory block of the flash memory 43 are overwritten in a step S47, the values of which are set to one programmed value have been set. On the other hand, it is determined in step S46 that also changes of one
  • step S48 the entire associated block of the flash memory 43 is cleared in a step S48.
  • step S49 the entire block stored in the buffer memory 81 is newly entered into the buffer memory 81
  • Erase operations for the nonvolatile flash memory 43 are avoided as much as possible. In particular, this reduces the number of erase operations in the flash memory 43 to such an extent that typically all changes occur
  • Computer system 1 are expected to be stored error-free in the flash memory 43 and retrieved.
  • the implementation of the FAT file system by the second microcontroller 42 allows a particularly flexible
  • firmware components of the individual server modules can address the flash memory 43 using symbolic names and, if necessary, configuration data with others
  • Figures 9 and 10 show the flow of two atomic bus transactions for reading and writing data via the system management bus 36.
  • Microcontroller 42 addressed by specifying a corresponding address of the I 2 C bus. This confirms the incoming Request below.
  • the function module 13 then transmits its own node number.
  • the node number in the exemplary embodiment is the logical address of a computer node of one of the server modules 22 in one of the
  • each physical receiving shaft 7a to 7d are each four
  • logical computer nodes provided so that a total of 16 different node numbers can be assigned.
  • the actual command here a read operation
  • the number of data to be read is transmitted.
  • an offset is specified in the file to be read.
  • a file name of the file to be read is specified.
  • the filename can contain path information as well as the file name in the so-called eight-plus-three format, ie the so-called FAT-16 format.
  • Unused bytes of the file name which is up to 32 bytes long, are padded with a predetermined character, in particular the value "0."
  • a check sum is transmitted over the previously transmitted data, in particular a CRC8 checksum of sender and receiver with respect to system management bus 36.
  • the second microcontroller 42 determines based on stored metadata of the file system a corresponding memory block of
  • Flash memory 43 and reads the requested data in the latch 81. As a result, the
  • Microcontroller 42 returns a status of the read operation to function module 13 confirming it.
  • the number of valid data bytes to the function module transmitted and with a checksum in the example again with a CRC8 checksum, the following one
  • Bus cycles are transmitted a maximum of 512 bytes of data of the requested data block. After completion of the data transmission, a check sum is transmitted again over the previously transmitted data. If needed, subsequent so-called dummy cycles are transmitted to compensate for any difference between transmitted data and requested data before the bus transaction is terminated in a final step.
  • Function module 13 logically the provision of data, while the microcontroller 42 only confirms the number of successfully written data bytes and a checksum for verification of the transaction back to the function module 13 transmitted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)

Abstract

Die Erfindung betrifft ein modulares Computersystem (1), umfassend ein Chassis (2) mit einer Mehrzahl von Aufnahmeschächten (7) zur Aufnahme von korrespondierenden Funktionsmodulen (13), insbesondere Servermodulen (22). Das modulare Computersystem (1) umfasst eine in dem Chassis (2) angeordnete, nichtflüchtige Speichervorrichtung und wenigstens eine in dem Chassis (2) angeordnete, mit der Speichervorrichtung verbundene Steuervorrichtung. Dabei ist die Speichervorrichtung dazu eingerichtet, Konfigurationsdaten einer Mehrzahl von Funktionsmodulen (13) zu speichern. Die Steuervorrichtung ist dazu eingerichtet, von in einem Aufnahmeschacht (7) aufgenommenen Funktionsmodul (13) übermittelten Anfragen zum Schreiben, Lesen und/oder Löschen von Konfigurationsdaten entgegenzunehmen, die Anfragen auf einen Adressraum der Speichervorrichtung abzubilden und korrespondierende Steuerbefehle an die Speichervorrichtung zu übertragen. Die Erfindung betrifft des Weiteren ein Servermodul (22) zur Verwendung in einem derartigen modularen Computersystem (1).

Description

Beschreibung
Modulares Computersystem und Servermodul Die Erfindung betrifft ein modulares Computersystem,
umfassend ein Chassis mit einer Mehrzahl von
Aufnahmeschächten zur Aufnahme von korrespondierenden
Funktionsmodulen, insbesondere Servermodulen. Die Erfindung betrifft des Weiteren ein Servermodul für ein modulares
Computersystem und eine Rackanordnung mit wenigstens einem als Rack-Einschub in das Rackgehäuse aufgenommenen modularen ComputerSystem.
Mit der weltweit steigenden Nachfrage nach IT- Dienstleistungen nimmt der Bedarf an Rechenleistung weiter zu. Dabei nimmt neben der reinen Bereitstellung von
Rechenleistung auch der damit verbundene Platz- und
Energiebedarf eine bedeutende Rolle ein. Dies betrifft sowohl relativ kleine Server-Anordnungen, wie sie beispielsweise in IT-Abteilungen kleiner und mittlerer Unternehmen zu finden sind, als auch Rechenzentren von großen Unternehmen oder spezialisierten Anbietern von IT-Dienstleistungen.
Um Rechenleistung bedarfsgerecht erweitern zu können, sind aus dem Stand der Technik verschiedene Ansätze zum Aufbau erweiterbarer Rechenanlagen bekannt. Ein verhältnismäßig einfacher Ansatz besteht darin, Servercomputer in Server- Racks mit einem Standard-Formfaktor, typischerweise einem 19- Zoll Rack-Einschub, einzubauen und nach Bedarf entsprechende Server-Racks um weitere Servercomputer zu ergänzen. Die einzelnen Servercomputer arbeiten dabei verhältnismäßig eigenständig. Insbesondere weisen derartige Servercomputer individuelle Stromversorgungen und Netzwerkschnittstellen auf. Solche Systeme sind vergleichsweise kostengünstig, erfordern aber einen relativ hohen Raumbedarf und
Verwaltungsaufwand . Ein alternativer Ansatz besteht in der Integration von einzelnen, so genannten Blade-Servern in ein Blade- Serversystem. Dabei umfasst ein Blade-System neben den eigentlichen Blade-Servern mit darauf angeordneten
Prozessoren und Hauptspeichern eine Anzahl von
Infrastrukturkomponenten wie etwa Netzteile, Netzwerk- Switches, Netzwerkschnittstellen und Massenspeichereinheiten, auf die die einzelnen Bladeserver als gemeinsam genutzte Ressourcen zugreifen. Darüber hinaus umfasst jedes Blade- System typischerweise ein oder mehrere sogenanntes
Management-Blades , die zur Überwachung, Verwaltung und
Administration der übrigen Komponenten dient. Blade- Serversysteme gestatten eine hohe Rechendichte, sind aber verhältnismäßig teuer. Dies ist unter anderem auf die
Vielzahl von speziellen Komponenten zurückzuführen, die zum Aufbau eines funktionstüchtigen Blade-Serversystems benötigt werden .
Bei einem dritten Ansatz, der unter anderem als modulares Computersystem oder als Multi-Node-Computersystem bezeichnet wird, ist eine Mehrzahl von Servermodulen in einem
gemeinsamen Chassis aufgenommen. Da die Servermodule
teilweise über kein eigenes abgeschlossenes Gehäuse verfügen, werden sie teilweise auch als "skinless" Server bezeichnet. Über das Chassis können die einzelnen Servermodule mit einer gemeinsamen Stromversorgung, Kühlung und ähnlichen einfachen oder standardisierten Komponenten wie Festplattenlaufwerken verbunden werden, wobei die Servermodule selbst jedoch weitgehend eigenständige Servercomputer darstellen. Insbesondere benötigen derartige modulare Computersysteme keine zentrale Verwaltungsinstanz, wie dies beispielsweise bei Blade-Serversystemen üblich ist. Sie gestatten eine hohe Rechendichte bei relativ geringen Kosten des Gesamtsystems.
Ein modulares Computersystem der zuvor beschriebenen Art ist beispielsweise aus der internationalen Anmeldung
WO 2013/068250 AI bekannt. Das dort offenbarte Serversystem umfasst wenigstens eine in dem Chassis angeordnete
Leiterplatte zur Kontaktierung von in Einschubplätzen
aufgenommenen Server-Einschüben, wobei die Leiterplatte wenigstens einen ersten MikroController aufweist. Das
Serversystem umfasst des Weiteren einen in dem ersten
Einschubplatz angeordneten und mit der wenigstens einen
Leiterplatte gekoppelten ersten Server-Einschub, wobei der erste Server-Einschub einen ersten System-Management- Controller aufweist. Dabei sind der erste MikroController und der erste System-Management-Controller über wenigstens eine erste Signalleitung miteinander gekoppelt, und der erste MikroController ist dazu eingerichtet, dem System-Management- Controller wenigstens einen Chassis-spezifischen
Konfigurationswert bereitzustellen. Durch die genannte
Anordnung wird insbesondere ermöglicht, über ein Netzwerk und einen System-Management-Controller eines einzelnen Server- Einschubs mittelbar auf Chassis-spezifische
Konfigurationsdaten des Serversystems zuzugreifen, ohne dass das Chassis selbst eine Netzwerkschnittstelle aufweist.
Bei derartigen Computersystemen besteht eine Herausforderung darin, die Nutzung von über das Chassis bereitgestellte
Systemkomponenten zu vereinfachen oder zu verbessern, um eine Integration des modularen Computersystems zu verbessern.
Gleichzeitig soll der Aufbau des Chassis selbst bzw. der darin verbauten Komponenten so einfach wie möglich gehalten werden, um deren Preis und Komplexität zu begrenzen.
Vor diesem Hintergrund beschreibt die vorliegenden Anmeldung ein modulares Computersystem, umfassend ein Chassis mit einer Mehrzahl von Aufnahmeschächten zur Aufnahme von
korrespondierenden Funktionsmodulen, insbesondere
Servermodulen. Das Computersystem umfasst eine in dem Chassis angeordnete, nichtflüchtige Speichervorrichtung und
wenigstens eine in dem Chassis angeordnete und mit der
Speichervorrichtung verbundene Steuervorrichtung. Die
Speichervorrichtung ist dazu eingerichtet,
Konfigurationsdaten einer Mehrzahl von Funktionsmodulen zu speichern und die Steuervorrichtung ist dazu eingerichtet, von in einem Aufnahmeschacht aufgenommenen Funktionsmodul übermittelter Anfragen zum Schreiben, Lesen und/oder Löschen von Konfigurationsdaten entgegenzunehmen, die Anfragen auf einen Adressraum der Speichervorrichtung abzubilden und korrespondierende Steuerbefehle an die Speichervorrichtung zu übertragen .
Durch die genannten Merkmale wird eine gemeinsame Nutzung einer Speichervorrichtung des Chassis des modularen
Computersystems durch eine Vielzahl von Funktionsmodulen, insbesondere Servermodule, ermöglicht. Dabei kann die
zwischen die einzelnen Funktionsmodule und die
Speichervorrichtung geschaltete Steuervorrichtung die
Anfragen der einzelnen Funktionsmodule auf einen oder mehrere Adressräume der Speichervorrichtung abbilden, so dass es zu keinen Konflikten bezüglich der gespeicherten Daten kommt.
Gemäß wenigstens einer Ausgestaltung weist jeder der
Aufnahmeschächte wenigstens einen elektrisch mit der Steuervorrichtung verbundenen Anschluss zur elektrischen Kontaktierung von einem in dem jeweiligen Aufnahmeschacht aufgenommenen Funktionsmodul auf. Dabei ist die
Steuervorrichtung über ein erstes serielles Bussystem mit den Anschlüssen zur Übertragung von Konfigurationsdaten an in den Aufnahmeschächten aufgenommenen Funktionsmodulen verbunden und das erste serielle Bussystem ist dazu eingerichtet, die gleichzeitige Übermittlung von Konfigurationsdaten durch unterschiedliche Funktionsmodule zu verhindern. Durch die Verwendung eines seriellen Bussystems kann die Anzahl der zur Datenübertragung benötigten Leitungen gering gehalten werden Dabei können durch Maßnahmen zur Busarbitrierung Konflikte beim Zugriff auf die Steuervorrichtung vermieden werden. In wenigstens einer Ausgestaltung stellt die
Speichervorrichtung eine Mehrzahl von Speicherblöcken zum Speichern von Daten bereit. Die Steuervorrichtung stellt ein Dateisystem zum Zugriff auf die Speichervorrichtung mittels Pfad- und/oder Dateinamen bereit und ist dazu eingerichtet, von den in den Aufnahmeschächten aufgenommenen
Funktionsmodulen empfangenen Pfad- und/oder Dateinahmen auf den Pfad- und/oder Dateinamen zugeordnete Blöcke der
Speichervorrichtung abzubilden. Durch Bereitstellung eines Dateisystems können die einzelnen Funktionsmodule unter
Verwendung von logischen Dateinamen, insbesondere Pfad- und Dateinamen, auf gespeicherte Daten zugreifen, ohne das
Adressschema der Speichervorrichtung zu kennen. Darüber hinaus kann hierdurch ein gezielter Datenaustausch zwischen unterschiedlichen Funktionsmodulen ermöglicht werden.
In wenigstens einer Ausgestaltung implementiert die
Steuervorrichtung ein Protokoll zum Zugriff auf die in den Dateisystem gespeicherten Konfigurationsdaten durch in den Aufnahmeschächten aufgenommenen Funktionsmodule, wobei das Protokoll einen atomaren Zugriff auf einzelne Elemente des Dateisystems sicherstellt. Durch die Verwendung eines
Protokolls mit atomaren Operationen kann eine Konsistenz gespeicherter Daten, insbesondere die Konsistenz von dem Dateisystem selbst, sichergestellt werden.
In wenigstens einer Ausgestaltung umfasst die
Speichervorrichtung einen programmierbaren Festwertspeicher, insbesondere einen Flash-Speicher, dessen Speicherzellen im unprogrammierten Zustand einen ersten logischen Wert
besitzen. Dabei ist die Steuervorrichtung dazu eingerichtet, Datenbits von in den Aufnahmeschächten aufgenommenen
Funktionsmodulen empfangenen Konfigurationsdaten zu
invertieren, so dass Datenbits der empfangenen
Konfigurationsdaten mit einem zweiten logischen Wert auf Speicherzellen der Speichervorrichtung im unprogrammierten Zustand abgebildet werden. Durch die Invertierung von
Datenbits können insbesondere Unterschiede zwischen in bekannten Dateisystemen und physikalischen
Speichervorrichtungen, wie insbesondere einem Flash-Speicher, verwendeten Konventionen ausgeglichen werden, um die Anzahl der benötigten Programmieroperationen zu reduzieren. In wenigstens einer Ausgestaltung ist der programmierbare Festwertspeicher nur blockweise löschbar und die
Steuervorrichtung weist einen Zwischenspeicher zum
Zwischenspeichern von wenigstens einem Datenblock des
programmierbaren Festwertspeichers auf. Die Steuervorrichtung ist dazu eingerichtet, beim Empfang einer Anfrage zum
Schreiben von Konfigurationsdaten, die in der Anfrage
enthaltenen Konfigurationsdaten und/oder einen der Anfrage zugeordneten Speicherblock der Speichervorrichtung in den Zwischenspeicher zu laden, die zu schreibenden
Konfigurationsdaten mit den Daten des zugeordneten
Speicherblocks zu vergleichen und die Anfrage zum Schreiben von Konfigurationsdaten ohne zwischenzeitliche Löschung oder dem Schreiben der zu schreibenden Konfigurationsdaten zu verwerfen, wenn der Vergleich ergeben hat, dass der
zwischengespeicherte Datenblock die zu schreibenden
Konfigurationsdaten identisch enthält. Durch eine Analyse, ob die neu zu schreibenden Daten einen Überschuss über die bereits gespeicherten Daten enthalten, kann auf eine
Schreiboperation unter gewissen Umständen vollständig
verzichtet werden.
In wenigstens einer weiteren Ausgestaltung ist die
Steuervorrichtung weiter dazu eingerichtet, dem zugeordneten Datenblock ohne zwischenzeitliche Löschung mit dem zu
schreibenden Konfigurationsdaten zu überschreiben, wenn der Vergleich ergeben hat, das ausschließlich Übergänge vom ersten logischen Wert entsprechend dem unprogrammierten
Zustand auf den zweiten logischen Wert entsprechend einem programmierten Zustand zum Schreiben der Konfigurationsdaten in den programmierbaren Festwertspeicher erforderlich sind. Des Weiteren ist die Steuervorrichtung dazu eingerichtet, den zugeordneten Datenblock zu löschen und nachfolgend mit dem zu beschreibenden Konfigurationsdaten zu beschreiben, wenn der Vergleich ergeben hat, dass wenigstens ein Übergang vom zweiten logischen Wert auf den ersten logischen Wert zum Schreiben der Konfigurationsdaten im programmierbaren
Festwertspeicher erforderlich ist. Durch die genannten
Schritte kann eine Anzahl von Löschoperationen eines
programmierbaren Festwertspeichers, insbesondere eines Flash- Speichers, weiter reduziert werden. Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Servermodul zur Verwendung in einem modularen
Computersystem mit einer Steuervorrichtung und einer
Speichervorrichtung, insbesondere dem oben genannten
Computersystem, beschrieben. Das Servermodul umfasst
wenigstens eine Systemplatine zur Aufnahme von
Systemkomponenten, wenigstens einem Modulanschluss zur elektrischen Kontaktierung des modularen Computersystems und wenigstens eine Firmware-Komponente zum Speichern und Abrufen von Konfigurationsdaten. Dabei ist die wenigstens eine
Firmware-Komponente dazu eingerichtet, zu speichernde
Konfigurationsdaten über den Modulanschluss an die
Steuervorrichtung des modularen Computersystems zu übertragen und abzurufende Konfigurationsdaten über den Modulanschluss von der Steuervorrichtung des modularen Computersystems abzurufen. Durch Übertragen beziehungsweise Abrufen von
Konfigurationsdaten über einen Modulanschluss eines
Servermoduls kann auf die Vorsehung eines modulinternen
Speichers, insbesondere eines Flash-Speichers zum Speicher von Konfigurationsdaten, verzichtet werden.
In wenigstens einer Ausgestaltung weist das Servermodul wenigstens einen Systemmanagement-Baustein auf, wobei der Systemmanagementbaustein über einen seriellen
Systemmanagementbus mit dem Modulanschluss verbunden ist. Der Systemmanagementbaustein ist dazu eingerichtet, die
wenigstens eine Firmware-Komponente auszuführen, um
Konfigurationsdaten über den Systemmanagementbus mit der Steuervorrichtung auszutauschen. Durch die Verwendung eines Systemmanagementbausteins, der typischerweise mit den meisten Komponenten eines Servermoduls über einen Systemmanagementbus verbunden ist, kann der Datenaustausch von Konfigurationsdaten ohne zusätzliche Hardwarekomponenten auf Seiten des Servermoduls umgesetzt werden.
Weitere vorteilhafte Ausgestaltungen sind in den angehängten Patentansprüchen sowie der nachfolgenden ausführlichen
Beschreibung eines Ausführungsbeispiels offenbart.
Die Erfindung wird nachfolgend anhand eines beispielhaften modularen Computersystems unter Bezugnahme auf die
angehängten Figuren im Detail beschrieben. In den Figuren und der Beschreibung werden einzelne Instanzen gleichartiger Komponenten durch einen alphabetischen Suffix voneinander unterschieden. Ist kein Suffix angegeben, wird jeweils auf alle Komponenten Bezug genommen. In den Figuren zeigen:
Figur 1 eine perspektivische Vorderansicht eines Chassis eines modularen Computersystems,
Figur 2 eine perspektivische Rückansicht des Chassis gemäß
Figur 1,
Figur 3 eine schematische Darstellung des Systemaufbaus des modularen Computersystems,
Figur 4 eine perspektivische Ansicht unterschiedlicher
Funktionseinheiten des modularen Computersystems,
Figur 5 eine schematische Darstellung unterschiedlicher
Konfigurationen des modularen Computersystems,
Figur 6 eine schematische Darstellung der Verbindung von
Funktionsmodulen mit Komponenten des Chassis, Figur 7 eine schematische Darstellung des elektrischen
Anschlusses eines Flash-Bausteins an ein serielles Bussystem des modularen Computersystems, Figur 8 ein Ablaufdiagramm eines Verfahrens zum Schreiben eines Datenblocks,
Figur 9 eine schematische Darstellung des Ablaufs einer
Leseoperation und
Figur 10 eine schematische Darstellung des Ablaufs einer
Schreiboperation .
Bevor auf die Details der erfindungsgemäßen Lösung
eingegangen wird, wird zunächst anhand der Figuren 1 bis 5 der allgemeine Systemaufbau eines modularen Computersystems gemäß dem verwendeten Ausführungsbeispiel beschrieben. Bei dem beschriebenen Computersystem handelt es sich um ein sogenanntes Multi-Node-System, bei dem mehrere, logisch weitgehend unabhängig voneinander arbeitende Servermodule in einem gemeinsamen Chassis angeordnet sind.
Figur 1 zeigt eine perspektivische Vorderansicht eines
Chassis 2 für ein derartiges modulares Computersystem 1. Im Ausführungsbeispiel entspricht das Chassis 2 einem
Standardformat, insbesondere einem 19-Zoll-Rackformat zum Einschub in ein korrespondierendes Rackgehäuse. Hierzu weist das Chassis 2 im Bereich einer Vorderseite zwei
Befestigungslaschen 3a und 3b auf, mit denen das Chassis 2 an senkrechten Lochschienen 6 des im Übrigen nicht dargestellten Rackgehäuses befestigt ist. Zur Befestigung dienen
beispielsweise Daumenschrauben oder andere an sich bekannte Befestigungsmittel. Das Chassis 2 gemäß Figur 1 weist eine Bauhöhe von zwei sogenannten Höheneinheiten von jeweils 44,45 Millimetern auf. Selbstverständlich ist auch die Verwendung anderer Bauhöhen zur Aufnahme von größeren oder anderen als den nachfolgend beschriebenen Komponenten möglich.
Um die zur Verfügung stehende, von der Vorderseite des
Rackgehäuses aus erreichbare Fläche optimal auszunutzen, sind auf den Befestigungslaschen 3a und 3b Bedienpanels 4a bzw. 4b angeordnet, die verschiedene Steuerdaten anzeigen bzw. zur Eingabe von Steuerdaten dienen. Der zwischen den Bedienpanels 4a und 4b zur Verfügung stehende Raum dient im
Ausführungsbeispiel zur Aufnahme von Speichereinschüben in einem Standardformat, insbesondere Festplattenmodulen. Im dargestellten Ausführungsbeispiel lassen sich in dem
mittleren Bereich insgesamt 24 Festplattenmodule mit
Festplattenlaufwerken im 2 , 5-Zoll-Format anordnen, die in vier Gruppen 5a bis 5d von Speichereinschüben aufgeteilt sind . Das beschriebene modulare Computersystem 1 dient zur Aufnahme von bis zu vier einzelnen Funktionsmodule, insbesondere
Servermodulen, in korrespondierenden Aufnahmeschächten 7a bis 7d. Die Funktionsmodule werden von einer in Figur 2
dargestellten Rückseite her in das Chassis 2 eingeschoben. Obwohl die einzelnen Aufnahmeschächte 7a bis 7d in der Figur 2 durch gestrichelte Linien voneinander getrennt dargestellt sind, wird darauf hingewiesen, dass eine physikalische
Trennung in dem Chassis 2 nicht erforderlich ist. Auf diese Weise können insbesondere größere Funktionsmodule in
benachbarte Aufnahmeschächte 7a bis 7d aufgenommen werden, wie unten anhand der Figur 5 beschrieben. In einem seitlichen Bereich der Rückseite weist des Chassis 2 zwei weitere
Aufnahmeschächte 8a und 8b zur Aufnahme von zwei korrespondierenden Netzteilen auf. Auch diese
Aufnahmeschächte sind nicht physikalisch voneinander
getrennt . Figur 3 zeigt eine schematische Draufsicht auf den
Systemaufbau des modularen Computersystems 1. Darin ist zu erkennen, dass im Inneren des Chassis 2 neben den zuvor genannten Komponenten weitere Komponenten angeordnet sind. Insbesondere umfasst das Chassis 2 eine senkrecht zur
Einschubrichtung von Funktionsmodule 13 angeordnete erste
Leiterplatte 9. Die erste Leiterplatte 9 wird teilweise auch als Midplane bezeichnet, da sie in einem Gehäuseinneren angeordnet ist und von zwei Seiten durch weitere Komponenten kontaktiert werden kann. Über die erste Leiterplatte 9 sind die einzelnen Funktionsmodule 13 und sonstige Komponenten des modularen Computersystems 1 miteinander verbunden. Zur elektrischen Kontaktierung weist jedes der Funktionsmodule 13 einen Modulanschluss 17 auf, der in einen korrespondierenden Anschluss 18 der ersten Leiterplatte 9 eingesteckt werden kann.
Darüber hinaus umfasst das modulare Computersystem 1 im
Ausführungsbeispiel vier zweite Leiterplatten 10a bis lOd, die jeweils einer der Gruppen 5a bis 5d von
Speichereinschüben 14 zugeordnet sind. Über die zweiten
Leiterplatten 10a bis lOd kann eine Gruppe 5 von jeweils sechs Speichereinschüben 14, beispielsweise über genormte SAS- oder SATA-Steckverbinder kontaktiert werden. Die vier zweiten Leiterplatten 10a bis lOd sind über vier
korrespondierende Leiterplattenverbinder IIa bis lld mit der ersten Leiterplatte 9 verbunden. Bei den
Leiterplattenverbindern IIa bis lld kann es sich selber um Leiterplatten mit entsprechenden Steckverbindern handeln. Zwischen der ersten Leiterplatte 9 und den zweiten Leiterplatten 10a bis lOd sind im Ausführungsbeispiel vier Kühlvorrichtungen 12a bis 12d angeordnet. Bei den
Kühlvorrichtungen 12a bis 12d handelt es sich jeweils um Doppellüftersysteme, mit zwei axial hintereinander
angeordneten Einzellüftern. Die Kühlvorrichtungen 12a bis 12d saugen Luft von vorne durch die Gruppen 5a bis 5d von
Speichereinschüben 14 an und blasen diese durch in die
Aufnahmeschächte 7a bis 7d eingesetzten Funktionsmodule 13 und Netzteile 15 aus dem Chassis 2 heraus.
Schließlich ist in Figur 3 zu erkennen, dass die Netzteile 15 sich nicht über die gesamte Tiefe zwischen der Rückseite des Chassis 2 und der ersten Leiterplatte 9 erstrecken. Zur elektrischen Kontaktierung ist zwischen den Netzteilen 15 und der ersten Leiterplatte 9 daher eine Verbindungsstruktur 16 angeordnet, die sich insbesondere zur Übertragung von großen Strömen eignet.
Figur 4 zeigt eine perspektivische Ansicht der verschiedenen Systemkomponenten des modularen Computersystems 1 ohne das zugehörige Chassis 2. In der Darstellung gemäß Figur 4 ist insbesondere der Aufbau der Verbindungsstruktur 16 im Detail zu erkennen. Neben zwei Kupferplatten 19 weist die Verbindungsstruktur 16 des
Weiteren eine dritte Leiterplatte 20 auf, die
Steuerkomponenten der Netzteile 15 über einen in der Figur nicht zu erkennenden Systemmanagementbus mit weiteren
Systemkomponenten des modularen Computersystems 1 verbindet. Im Ausführungsbeispiel sind Kupferschienen 21 auf der
Rückseite der Leiterplatte 9 angeordnet, um die über die Verbindungsstruktur 16 von den Netzteilen übertragene
elektrische Energie an die in den Aufnahmeschächten 7a bis 7d aufgenommenen Funktionsmodule 13 zu übertragen. Die erste Leiterplatte 9 sowie die zweiten Leiterplatten 10a bis lOd weisen neben dem zum Anschluss der verschiedenen Funktionsmodule 13 bzw. Speichereinschübe 14 erforderlichen Anschlüsse jeweils Öffnungen auf, die eine Belüftung der in dem Chassis 2 verbauten Komponenten ermöglicht.
Des Weiteren ist zu erkennen, dass im dargestellten
Ausführungsbeispiel das Funktionsmodul 13 als Servermodul 22 ausgestaltet ist. Im Ausführungsbeispiel weist das
Servermodul 22 eine in der Figur 4 verdeckte Systemplatine sowie zwei darauf angeordnete Prozessoren 23a und 23b mit insgesamt vier zugeordneten Speicherbänken 24 auf. An der Rückseite des Servermoduls 22 sind verschiedene
Steckverbinder, beispielsweise zum Anschluss des Servermoduls 22 an ein lokales Datennetzwerk, vorgesehen.
Figur 5 zeigt schematisch unterschiedliche Möglichkeiten zur Bestückung des modularen Computersystems 1 mit
Funktionsmodulen 13. In einer ersten Konfiguration 25 ist jeder der Aufnahmeschächte 7a bis 7d mit einem eigenen
Funktionsmodul 13a bis 13d, beispielsweise einem Servermodul 22, bestückt. In einer zweiten Konfiguration 26 sind nur zwei Funktionsmodule 13a und 13b mit jeweils doppelter Breite in jeweils zwei benachbarten Aufnahmeschächten 7a und 7c bzw. 7b und 7d angeordnet. In einer dritten Konfiguration 27 sind jeweils zwei Funktionsmodule 13a und 13b mit einer doppelten Bauhöhe in zwei übereinander liegenden Aufnahmeschächten 7a und 7b bzw. 7c und 7d angeordnet. Diese Konfiguration ist besonders flexibel, da beispielsweise ein Servermodul 22 mit einer einzelnen Bauhöhe mit einem darüber liegenden Zusatzmodul, beispielsweise einem High-Performance-Computing- Modul mit einer oder mehreren Grafikprozessoren, kombiniert werden kann. Schließlich ist in Figur 5 eine vierte
Konfiguration 28 zu erkennen, in der nur ein einzelnes
Funktionsmodul 13 mit einer doppelten Breite und doppelten Höhe alle Aufnahmeschächte 7a bis 7d ausfüllt.
Im Folgenden wird die Verbindung der einzelnen
Funktionsmodule 13 mit weiteren Komponenten des Chassis 2 im Detail beschrieben. An dieser Stelle wird darauf hingewiesen, dass die Funktionsmodule 13, insbesondere in der Form von Servermodulen 22, weitgehend unabhängig voneinander arbeiten. Insbesondere ist jedes der Funktionsmodule 13 mit einer eigenen, korrespondierenden Gruppe 5 von Speichereinschüben verbunden. Zur Kommunikation nach außen nutzt jedes der
Funktionsmodule 13 eine eigene Netzwerk- oder sonstige
Kommunikationsschnittstelle. Dementsprechend können zum
Aufbau der einzelnen Funktionsmodule 13 weitgehend
Standardkomponenten eingesetzt werden. Bei der Ausführung als Servermodule 22 umfasst beispielsweise jedes der
Funktionsmodule 13 eine als Systemplatine ausgeführte
Leiterplatte mit darauf angeordneten Komponenten, wie
beispielsweise Prozessoren 23 und Speicherbänken 24. Eine Systemverwaltung findet in der Regel über ein Datennetzwerk und einen Systemmanagement-Baustein der einzelnen
Servermodule 22 statt. Für die Systemintegration des
modularen Computersystem 1 ist daher unter anderem eine standardkonforme Anbindung der einzelnen Funktionsmodule 13 von Bedeutung.
Figur 6 zeigt schematisch die Verbindung von vier
Servermodulen 22a bis 22d mit den verschiedenen Komponenten des Chassis 2. Wie sich der Figur 6 entnehmen lässt, ist jedes der Servermodule 22a bis 22d über drei Bussysteme 34, 36 und 45 mit den jeweils anderen Servermodulen 22a bis 22d bzw. einer Chassis-Schnittstellen-Einheit 31 verbunden.
Insbesondere sind sogenannte Systemmanagement-Bausteine 32, auch bekannt als „intelligent Remote Management Controller" (iRMC) , der Servermodule 22 über einen ersten
Schnittstellenbaustein 33 mit einem sogenannten IPMB-Bus 34 zur Kommunikation mit benachbarten Servermodulen 22
verbunden. Des Weiteren sind die Systemmanagement-Bausteine 32 über einen zweiten Schnittstellenbaustein 35 und einen seriellen Systemmanagementbus 36 an verschiedene Komponenten der Chassis-Schnittstellen-Einheit 31 angeschlossen.
Insbesondere dient der Systemmanagementbus 36 zum Anschluss der Systemmanagement-Bausteine 32 an in der Figur 6 nicht dargestellte Steuerbausteine der Netzteile 15, einen
Umgebungstemperatursensor 37, einen sogenannten Chassis-FRU- Speicher 39 zum Speichern einer Chassiskennung, einen
kondensatorgepufferten Light-Path-Controller 40 zum Speichern und Ausgaben von Fehlerzuständen über so genannte „Customer Seif Service" (CSS) Leuchtdioden, einen ersten
MikroController 41 zum Austausch von Steuerdaten über die Bedienpanels 4a und 4b, einen zweiten MikroController 42 zur Anbindung eines Flash-Speichers 43 sowie einen dritten
MikroController 44 zur Ansteuerung der Kühlvorrichtungen 12a bis 12d. Neben dem Systemmanagementbus 36 sind die
Servermodule 22a bis 22d auch unabhängig von den
Systemmanagement-Bausteinen 32 über ein weiteres serielles Bussystem 45 mit dem ersten MikroController 41 zur Anbindung an die Bedienpanels 4a und 4b verbunden. Jedes der
Bedienpanels 4a und 4b ist über ein eigenes, weiteres serielles Bussystem 47a bzw. 47b mit dem ersten
MikroController 41 verbunden.
Im Ausführungsbeispiel sind die Bussysteme 34, 36, 45, 47a und 47b jeweils als serielle Bussysteme ausgestaltet. Es wird darauf hingewiesen, dass die verschiedenen seriellen
Bussysteme 34, 36, 45, 47a und 47b jeweils nur eine
verhältnismäßig geringe Anzahl an Signalleitungen der daran angeschlossenen Komponenten benötigen. Somit müssen auf der ersten Leiterplatte 9 nur verhältnismäßig wenige Leitungen vorgesehen werden, was insbesondere die Durchlüftung und somit Kühlung des modularen Computersystems 1 verbessert.
Über buseigene Methoden werden parallele Zugriffe durch unterschiedliche Funktionsmodule 13 auf die Bussysteme 34, 36 und 45 vermieden. Im Fall des IPMB-Bussystems 34 sowie des Systemmanagementbusses 36 überwachen die Bus-Master, wie beispielsweise die Systemmanagement-Bausteine 32, gemäß dem I2C-Protokoll , ob Busleitungen bereits von einem anderen Busteilnehmer getrieben werden, während sie selber Daten senden. Wird eine solche Kollision festgestellt, wartet der erkennende Busteilnehmer für einen vorbestimmten Zeitraum, bevor eine Transaktion erneut gestartet wird. Auf diese Weise ist sichergestellt, dass jeweils nur eine Transaktion auf dem Systemmanagementbus 36 stattfindet. Für die seriellen
Bussysteme 45, 47a und 47b ist der erste MikroController 41 einziger Busmaster, sodass sich keine Konflikte ergeben.
Schließlich ist in der Figur 6 zu erkennen, dass die zwei Netzteile 15 über eine dedizierte Steuerschaltung 46
miteinander verbunden sind. Die Steuerschaltung 46 erlaubt unter anderem eine Überwachung der durch die Netzteile 15 bereitgestellten sekundären Versorgungsgleichspannung sowie einer primären Netzwechselspannung unabhängig von dem
Systemmanagementbus 36. Auch die Steuerschaltung 46 benötigt nur wenige Steuerleitungen zum Anschluss an die Netzteile 15. Beispielsweise weist jedes der Netzteile 15 eine
Steuerleitung zum Signalisieren einer Störung der primären Versorgungsspannung, eine Steuerleitung zum Signalisierung einer stabilen sekundären Versorgungsspannung und eine dritte Steuerleitung zum Einschalten des jeweiligen Netzteils 15 auf. Die verschiedenen Steuerleitungen werden durch die
Steuerschaltung 46 mit Hilfe einer diskreten Schaltung ausgewertet und an die einzelnen Servermodule 22
weitergeleitet bzw. von den Servermodulen 22 abgefragt, kombiniert und an die Netzteile 15 weitergeleitet. In konventionellen Serversystemen werden Konfigurationsdaten, wie beispielsweise BIOS-Einstellungen und/oder
Netzwerkeinstellungen, insbesondere zu verwendende virtuelle Netzwerkadressen, in der Regel in einem oder mehreren
sogenannten Chassis-PROMs mit Speicherkapazitäten von 64 oder 128 kB gespeichert. Durch die Speicherung in einem von der
Systemplatine des Serversystems unabhängigen Speicher können derartige Einstellungen beispielsweise beim Austausch einer Systemplatine in dem Serversystem erhalten bleiben.
Üblicherweise werden derartige Speicherbausteine über einen sogenannten I2C-Bus an einem Systemmanagement-Baustein des jeweiligen Serversystems angebunden. Dabei erfolgen
Speicherzugriffe vom Systemmanagementbaustein auf einen vorgegebenen Adressbereich des Chassis-PROM, ohne das
Zugriffe durch anderer Komponenten den Zugriff stören würden. Entsprechende Speicherbausteine sind relativ teuer.
Im beschriebenen Ausführungsbeispiel gestattet das Chassis 2 des modularen Computersystems 1 die Speicherung von Konfigurationsdaten für eine Mehrzahl von in den Aufnahmeschächten 7a bis 7d aufgenommenen Funktionsmodulen 13 in einem einzigen, zentralen, auf der ersten Leiterplatte 9 des Chassis 2 angeordneten Flash-Speicher 43. Hierdurch bleiben in dem modularen Computersystem 1 derartige
Einstellungen auch dann erhalten, wenn ein Funktionsmodul 13, insbesondere ein Servermodul 22, durch Einsetzen eines anderen, gleichartigen Funktionsmoduls 13 in demselben
Aufnahmeschacht 7a ersetzt wird. Gleichzeitig erfordert die vorgeschlagene Lösung nicht für jedes Funktionsmodul 13 und/oder für jeden Aufnahmeschacht 7 einen eigenen Speicher.
Wie in Figur 7 dargestellt finden Zugriffe auf den Flash- Speicher 43 über den zweiten MikroController 42 statt. Dabei erhält der zweite MikroController 42 Anfragen der
Systemmanagement-Bausteine 32 über den Systemmanagementbus 36 gemäß dem I2C-Protokoll . Bei dem Flash-Speicher 43 handelt es sich um einen verhältnismäßig preisgünstigen Flash- Speicherbaustein mit einer relativ großen Speicherkapazität von beispielsweise 4 MB und einer SPI-Schnittstelle 80. Die Umsetzung zwischen dem Systemmanagementbus 36 einerseits und der SPI-Schnittstelle 80 andererseits erfolgt durch den
MikroController 42. Hierdurch wird den unterschiedlichen Servermodulen 22a bis 22d und eventuell darin enthaltenen logischen Serverknoten jeweils die Speicherung von Daten in dem Flash-Speicher 43 bei Beibehaltung des üblichen I2C- Protokolls ermöglicht.
Zur Trennung der gespeicherten Daten stellt der zweite
MikroController 42 ein Dateisystem zum Zugriff auf den
Speicher des Flash-Speicherbausteins 43 zur Verfügung. Hierzu wertet er Anfragen von Firmware-Komponenten der
Funktionsmodule 13 auf darin enthaltenen Pfad- oder Dateinamen aus und setzt die entsprechenden Schreib-, Lese¬ oder sonstigen Anfragen auf physikalische Speicheradressen des Flash-Speichers 43 um. Darüber hinaus verwaltet der zweite Mikrocontroller 42 auch Metadaten, die das Dateisystem selbst betreffen.
Um Konflikte bei parallelen Zugriffen auf das Dateisystem zu vermeiden, weist das von dem zweiten Mikrocontroller 42 eingesetzte Protokoll lediglich atomare Operationen auf. Jede Operation ist insofern atomar, als dass sie wenigstens einen kompletten Block des durch den Mikrocontroller 42
bereitgestellten Dateisystems betrifft. Im
Ausführungsbeispiel stellt der zweite Mikrocontroller 42 ein sogenanntes FAT-Dateisystem bereit, bei dem einzelne Blöcke die Größe von 512 Byte aufweisen. Zur Implementierung der atomaren Schreib- bzw. Leseoperationen wird damit mit jeder Bustransaktion ein Block mit bis zu 512 Bytes Nutzdaten gelesen bzw. geschrieben. Des Weiteren werden wie unter
Bezugnahme auf die Figur 6 beschriebenen parallele Zugriffe durch unterschiedliche Funktionsmodule 13 vermieden.
Der zweite Mikrocontroller 42 dient auch zur Umsetzung der Blockgröße des eingesetzten Dateisystems auf die davon im Ausführungsbeispiel abweichende Größe der Speicherblöcke des Flash-Speichers 43. Im Ausführungsbeispiel ist der Flash- Speicher 43 in Blöcke von 4 KB Daten segmentiert, die jeweils nur gemeinsam gelöscht werden können. Zur Umsetzung dieser unterschiedlichen Blockgrößen weist der Mikrocontroller 42 einen Zwischenspeicher 81 auf, in dem mehrere Blöcke des Dateisystems zwischengespeichert werden können.
Bei der Umsetzung von Operationen durch den Mikrocontroller 42 berücksichtigt dieser auch, dass nicht beschriebene Teile von Datenblöcken eines FAT-Dateisystems typischerweise mit dem logischen Wert „0" aufgefüllt sind. Umgekehrt ist in einem Flash-Speicher 43 nach einem Löschen eines
Speicherblocks jede Speicherzelle typischerweise mit dem logischen Wert „1" befüllt. Zur Vermeidung von unnötigen
Programmiervorgängen invertiert der MikroController 42 daher sämtliche Bits von über den Systemmanagementbus 36
ausgetauschten Daten. Diese Dateninversion ist für ein an den Systemmanagementbus 36 angeschlossenes Servermodul 22 völlig transparent.
Beim Auslesen des Flash-Speichers 43 wird stets ein
kompletter Block aus dem Flash-Speicher in den
Zwischenspeicher 81 gelesen. Nachfolgende Leseoperationen über den Systemmanagementbus 36, die nachfolgende Blöcke des Dateisystems betreffen, können somit direkt aus dem
Zwischenspeicher 81 beantwortet werden.
In Schreibrichtung fällt dem Zwischenspeicher 81 eine weitere Aufgabe zu. Flash-Speicher 43 gestatten grundsätzlich nur eine begrenzte Anzahl von Lösch- und nachfolgenden
Schreibvorgängen. Zur Verminderung der im Betrieb des
Computersystems 1 erforderlichen Lösch- und Schreibvorgängen wird daher das nachfolgend beschriebene Verfahren verwendet.
Figur 8 zeigt ein Ablaufdiagramm eine Verfahrens zum
Überschreiben eines Datenblocks in dem Flash-Speicher 43. In einem ersten Schritt S41 wird ein Schreibbefehl über den Systemmanagementbus 36 empfangen. Basierend auf den
Pfadangabe in dem in Schritt S41 empfangenen Schreibbefehl wird in Schritt S42 ein korrespondierender Speicherblock des Flash-Speichers 43 bestimmt. Hierzu dienen beispielsweise in dem Flash-Speicher 43 oder einem Arbeitsspeicher des Mikrocontrollers 42 abgelegte Metadaten über das von dem MikroController 42 verwalteten Dateisystem. Wurde ein
zugehöriger Speicherblock in Schritt S42 bestimmt, wird dessen Inhalt in einem Schritt S43 in den Zwischenspeicher 81 eingelesen. In einem Schritt S44 werden die in dem
Zwischenspeicher 81 eingelesenen Daten entsprechend dem
Schreibbefehl ganz oder teilweise überschrieben. Da im
Ausführungsbeispiel stets ein 4 KB Block von dem Flash- Speicher 43 eingelesen wird, während mit jeder
Schreiboperation maximal 512 Datenbytes geändert werden, handelt es sich im Ausführungsbeispiel stets nur um ein teilweises Überschreiben der in dem Zwischenspeicher 81 gespeicherten Daten. In einem Schritt S45 wird überprüft, ob die in dem
Zwischenspeicher 81 enthaltenen Daten identisch zu den im korrespondierenden Block des Flash-Speichers 43 gespeicherten Daten sind. Ist dies der Fall, beispielsweise weil nur erneut dieselben Konfigurationsdaten in dem Flash-Speicher 43 gesichert werden sollen, wurde durch die Schreiboperation effektiv keine Datenänderung bewirkt, sodass das Verfahren ohne weitere Aktion beendet werden kann. Wird in Schritt S45 dagegen festgestellt, dass sich zumindest einige der Daten des zwischengespeicherten Datenblocks geändert haben, wird in einem weiteren Schritt S46 überprüft, ob die Änderungen lediglich dem Übergang von unprogrammierten Werten, also dem logischen Wert 1, auf programmierte Werte, also den logischen Wert 0, des Flash-Speichers 43 erfordern. Ist dies der Fall, weil beispielsweise in den über den Systemmanagementbus 36 enthaltenen Konfigurationsdaten ausschließlich zusätzliche
Einsen gesetzt wurden, werden in einem Schritt S47 lediglich die Bits des korrespondierenden Speicherblocks des Flash- Speichers 43 überschrieben, deren Werte auf einen programmierten Wert gesetzt wurden. Wird in Schritt S46 dagegen festgestellt, dass auch Änderungen von einem
programmierten auf einen unprogrammierten Zustand des Flash- Speichers 43 erforderlich sind, wird der gesamte zugeordnete Block des Flash-Speichers 43 in einem Schritt S48 gelöscht. In einem nachfolgenden Schritt S49 wird der gesamte in dem Zwischenspeicher 81 gespeicherte Block neu in den
korrespondierenden Block des Flash-Speichers 43 geschrieben. Durch das beschriebene Verfahren werden Schreib- und
Löschoperationen für den nichtflüchtigen Flash-Speicher 43 so weit wie möglich vermieden. Hierdurch wird insbesondere die Anzahl der Löschoperationen in dem Flash-Speicher 43 so weit reduziert, dass typischerweise sämtliche Änderungen an
Konfigurationsdaten, die im Betrieb des modularen
Computersystems 1 zu erwarten sind, fehlerfrei in dem Flash- Speicher 43 gespeichert und wieder abgerufen werden können.
Zudem erlaubt die Implementierung des FAT-Dateisystems durch den zweiten MikroController 42 eine besonders flexible
Ansteuerung des Flash-Speichers 43. Dementsprechend können Firmware-Komponenten der einzelnen Servermodule den Flash- Speicher 43 unter Verwendung symbolischer Namen ansprechen und bei Bedarf auch Konfigurationsdaten mit anderen
Servermodulen 22 austauschen.
Die Figuren 9 und 10 zeigen den Ablauf von zwei atomaren Bustransaktionen zum Lesen bzw. Schreiben von Daten über den Systemmanagementbus 36.
Gemäß Figur 9 wird in einem ersten Buszyklus der zweite
MikroController 42 durch Angabe einer entsprechenden Adresse des I2C-Busses adressiert. Dieser bestätigt die eingehende Anfrage nachfolgend. Daraufhin übermittelt das Funktionsmodul 13 seine eigene Knotennummer. Bei der Knotennummer handelt es sich im Ausführungsbeispiel um die logische Adresse eines Rechnerknotens eines der Servermodule 22 in einem der
Aufnahmeschächte 7a bis 7d. Im Ausführungsbeispiel sind je physikalischem Aufnahmeschacht 7a bis 7d jeweils vier
logische Rechnerknoten vorgesehen, sodass insgesamt 16 unterschiedliche Knotennummern vergeben werden können. Nach Bestätigung der Knotennummer wird der eigentliche Befehl, hier eine Leseoperation, übermittelt und bestätigen. In den nachfolgenden zwei Bytes wird die Anzahl der zu lesenden Daten übertragen. In den nachfolgenden vier Buszyklen wird eine Offset-Angabe in der zu lesenden Datei angegeben. In den nachfolgenden 32 Buszyklen wird ein Dateiname der zu lesenden Datei angegeben. Dabei kann der Dateiname sowohl Pfadangaben als auch den Dateinamen im sogenannten Acht-plus-drei-Format , das heißt dem sogenannten FAT-16-Format , selbst enthalten. Nicht genutzte Bytes des bis zu 32 Byte langen Dateinamens werden mit einem vorbestimmten Zeichen, insbesondere dem Wert „0", aufgefüllt. In einem nachfolgenden Buszyklus wird eine Checksumme über die bisher übertragenen Daten, insbesondere eine CRC8-Checksumme, übertragen. Danach wechseln die Rolle von Sender und Empfänger bezüglich des Systemmanagementbusses 36.
Nach Überprüfung der übertragenen Daten bestimmt der zweite MikroController 42 basierend auf gespeicherten Metadaten des Dateisystems einen korrespondierenden Speicherblock des
Flash-Speichers 43 und liest die angeforderten Daten in den Zwischenspeicher 81 ein. Als Ergebnis liefert der
MikroController 42 einen Status der Leseoperation an das Funktionsmodul 13 zurück, das diesen bestätigt. Nachfolgend wird die Anzahl der gültigen Datenbytes an das Funktionsmodul übertragen und mit einer Checksumme, im Beispiel wieder mit einer CRC8-Checksumme,
Figure imgf000027_0001
den nachfolgende
Buszyklen werden maximal 512 Byte Daten des angeforderten Datenblocks übertragen. Nach Abschluss der Datenübertragung wird erneut eine Checksumme über die zuvor übertragenen Daten übermittelt. Bei Bedarf werden nachfolgend sogenannte Dummy- Zyklen übertragen, um einen eventuellen Unterschied zwischen übertragenen Daten und angeforderten Daten auszugleichen, bevor in einem abschließenden Schritt die Bustransaktion beendet wird.
Die in der Figur 10 dargestellte Schreiboperation wird auf äquivalente Weise durchgeführt. Dabei übernimmt das
Funktionsmodul 13 logischerweise die Bereitstellung der Daten, während der MikroController 42 lediglich die Anzahl der erfolgreich geschriebenen Datenbytes bestätigt und eine Checksumme zur Verifizierung der Transaktion zurück an das Funktionsmodul 13 übermittelt.
Bezugs zeichenliste
1 Modulares Computersystem
2 Chassis
3 Befestigungslasche
4 Bedienpanel
5 Gruppe von Speichereinschüben
6 Lochschiene
7 Aufnahmeschacht (für Funktionsmodul)
8 weiterer Aufnahmeschacht (für Netzteil)
9 erste Leiterplatte
10 zweite Leiterplatte
11 Leiterplattenverbinder
12 Kühlvorrichtung
13 Funktionsmodul
14 Speichereinschub
15 Netzteil
16 Verbindungsstruktur
17 Modulanschluss
18 (korrespondierender) Anschluss
19 Kupferplatte
20 dritte Leiterplatte
21 Kupferschiene
22 Servermodul
23 Prozessor
24 Speicherbank
25 erste Konfiguration
26 zweite Konfiguration
27 dritte Konfiguration
28 vierte Konfiguration
31 Chassis-Schnittstellen-Einheit
32 Systemmanagement-Baustein
33 erster Schnittstellenbaustein 34 IPMB-Bussystem
35 zweiter Schnittstellenbaustein
36 Systemmanagementbus
37 Umgebungstemperatursensor
39 Chassis-FRU-Speicher
40 Light-Path-Controller
41 erster MikroController (für die Bedienpanels)
42 zweiter MikroController (für den Flash-Speicher)
43 Flash-Speicher
44 dritter MikroController (für die
Kühlvorrichtungen)
45 serielles Bussystem
46 Steuerschaltung
47 serielles Bussystem
80 SPI-Schnittstelle
81 Zwischenspeicher
S41 bis S49 Verfahrensschritte

Claims

Patentansprüche
1. Modulares Computersystem (1), umfassend:
ein Chassis (2) mit einer Mehrzahl von Aufnahmeschächten (7) zur Aufnahme von korrespondierenden Funktionsmodulen (13), insbesondere Servermodulen (22);
eine in dem Chassis (2) angeordnete, nichtflüchtige Speichervorrichtung; und
wenigstens eine in dem Chassis (2) angeordnete, mit der Speichervorrichtung verbundene Steuervorrichtung;
wobei
die Speichervorrichtung dazu eingerichtet ist,
Konfigurationsdaten einer Mehrzahl von Funktionsmodulen (13) zu speichern; und
die Steuervorrichtung dazu eingerichtet ist, von in einem Aufnahmeschacht (7) aufgenommenen Funktionsmodul (13) übermittelte Anfragen zum Schreiben, Lesen und/oder Löschen von Konfigurationsdaten entgegenzunehmen, die Anfragen auf einen Adressraum der Speichervorrichtung abzubilden und korrespondierende Steuerbefehle an die Speichervorrichtung zu übertragen.
2. Modulares Computersystem (1) nach Anspruch 1, wobei
jeder der Aufnahmeschächte (7) wenigstens einen
elektrisch mit der Steuervorrichtung verbundenen
Anschluss (18) zur elektrischen Kontaktierung von einem in dem jeweiligen Aufnahmeschacht (7) aufgenommenen Funktionsmodul (13) aufweist;
die Steuervorrichtung über ein erstes serielles Bussystem mit den Anschlüssen (18) zur Übertragung von
Konfigurationsdaten an in den Aufnahmeschächten (7) aufgenommenen Funktionsmodulen (13) verbunden ist; und das erste serielle Bussystem dazu eingerichtet ist, die gleichzeitige Übermittlung von Konfigurationsdaten durch unterschiedliche Funktionsmodule (13) zu verhindern.
3. Modulares Computersystem (1) nach Anspruch 1 oder 2,
wobei die Steuervorrichtung über ein zweites serielles Bussystem mit der Speichervorrichtung verbunden ist.
4. Modulares Computersystem (1) nach einem der Ansprüche 1 bis 3, wobei
die Speichervorrichtung eine Mehrzahl von Speicherblöcken zum Speichern von Daten bereitstellt;
die Steuervorrichtung ein Dateisystem zum Zugriff auf die Speichervorrichtung mittels Pfad- und/oder Dateinamen bereitstellt; und
die Steuervorrichtung dazu eingerichtet ist, von in den Aufnahmeschächten (7) aufgenommenen Funktionsmodulen (13) empfangene Pfad- und/oder Dateinamen auf den Pfad- und/oder Dateinamen zugeordnete Blöcke der
Speichervorrichtung abzubilden.
5. Modulares Computersystem (1) nach Anspruch 4, wobei ein in einem ersten Aufnahmeschacht (7a) aufgenommenes erstes Funktionsmodul (13a) dazu eingerichtet ist,
Konfigurationsdaten über das Dateisystem mit einem in einem zweiten Aufnahmeschacht (7b) aufgenommenen zweiten Funktionsmodul (13b) auszutauschen.
6. Modulares Computersystem (1) nach Anspruch 4 oder 5,
wobei die Steuervorrichtung ein Protokoll zum Zugriff auf die in dem Dateisystem gespeicherten Konfigurationsdaten durch in den Aufnahmeschächten (7) aufgenommenen
Funktionsmodule (13) implementiert, wobei das Protokoll einen atomaren Zugriff auf einzelne Elemente des
Dateisystems sicherstellt.
Modulares Computersystem (1) nach Anspruch 6, wobei das Protokoll zur atomaren Übertragung von Datenblöcken einer vorbestimmten Größe und den Datenblöcken zugeordneten Validierungsdaten eingerichtet ist.
Modulares Computersystem (1) nach einem der Ansprüche 1 bis 7, wobei
die Speichervorrichtung einen programmierbaren
Festwertspeicher, insbesondere einen Flash-Speicher (43) , umfasst, dessen Speicherzellen im unprogrammierten
Zustand einen ersten logischen Wert besitzen;
die Steuervorrichtung dazu eingerichtet ist, Datenbits von in den Aufnahmeschächten (7) aufgenommenen
Funktionsmodulen (13) empfangenen Konfigurationsdaten zu invertieren, so dass Datenbits der empfangenen
Konfigurationsdaten mit einem zweiten logischen Wert auf Speicherzellen der Speichervorrichtung im
unprogrammierten Zustand abgebildet werden.
Modulares Computersystem (1) nach Anspruch 8, wobei der programmierbare Festwertspeicher nur blockweise löschbar ist und die Steuervorrichtung einen Zwischenspeicher (81) zum Zwischenspeichern von wenigstens einem Datenblock des programmierbaren Festwertspeichers aufweist sowie dazu eingerichtet ist,
beim Empfang einer Anfrage zum Schreiben von
Konfigurationsdaten in der Anfrage enthaltenen
Konfigurationsdaten und/oder einem der Anfrage
zugeordneten Speicherblock der Speichervorrichtung in dem Zwischenspeicher (81) zu laden; die zu schreibenden Konfigurationsdaten mit den Daten des zugeordneten Speicherblocks zu vergleichen;
die Anfrage zum Schreiben von Konfigurationsdaten ohne zwischenzeitliche Löschung oder dem Schreiben der zu schreibenden Konfigurationsdaten zu verwerfen, wenn der Vergleich ergeben hat, dass der zwischengespeicherte Datenblock die zu schreibenden Konfigurationsdaten identisch enthält.
Modulares Computersystem (1) nach Anspruch 9, wobei die Steuervorrichtung weiter dazu eingerichtet ist,
den zugeordneten Datenblock ohne zwischenzeitliche
Löschung mit den zu schreibenden Konfigurationsdaten zu überschreiben, wenn der Vergleich ergeben hat, dass ausschließlich Übergänge vom ersten logischen Wert entsprechend dem unprogrammierten Zustand auf den zweiten logischen Wert entsprechend einem programmierten Zustand zum Schreiben der Konfigurationsdaten in den
programmierbaren Festwertspeicher erforderlich sind; und den zugeordneten Datenblock zu löschen und nachfolgend mit den zu schreibenden Konfigurationsdaten zu
beschreiben, wenn der Vergleich ergeben hat, dass
wenigstens ein Übergang vom zweiten logischen Wert auf den ersten logischen Wert zum Schreiben der
Konfigurationsdaten in den programmierbaren
Festwertspeicher erforderlich ist.
Servermodul (22) zur Verwendung in einem modularen
Computersystem (1) mit einer Steuervorrichtung in einer Speichervorrichtung, insbesondere dem Computersystem (1) nach einem der Ansprüche 1 bis 10, umfassend:
wenigstens eine Systemplatine zur Aufnahme von
Systemkomponenten; wenigstens einen Modulanschluss (17) zur elektrischen Kontaktierung des modularen Computersystems (1); und wenigstens eine Firmware-Komponente zum Speichern und Abrufen von Konfigurationsdaten;
wobei die wenigstens eine Firmware-Komponente dazu eingerichtet ist, zu speichernde Konfigurationsdaten über den Modulanschluss (17) an die Steuervorrichtung des modularen Computersystems (1) zu übertragen und
abzurufende Konfigurationsdaten über den Modulanschluss (17) von der Steuervorrichtung des modularen
Computersystems (1) abzurufen.
Servermodul (22) nach Anspruch 11, wobei die wenigstens eine Firmware-Komponente dazu eingerichtet ist,
Konfigurationsdaten unter Verwendung von Pfad- und/oder Dateinamen in einem Dateisystem zu speichern
beziehungsweise aus dem Dateisystem abzurufen.
13. Servermodul (22) nach Anspruch 11 oder 12, wobei die
wenigstens eine Firmware-Komponente dazu eingerichtet ist, Konfigurationsdaten unter Verwendung von atomaren Operationen gemäß einem Protokoll der Steuervorrichtung zu speichern beziehungsweise abzurufen.
Servermodul (22) nach einem der Ansprüche 11 bis 13, aufweisend wenigstens einen Systemmanagement-Baustein (32), der über einen seriellen Systemmanagementbus (36) mit dem Modulanschluss (17) verbunden und dazu
eingerichtet ist, die wenigstens eine Firmware-Komponente auszuführen, um Konfigurationsdaten über den
Systemmanagementbus (36) mit der Steuervorrichtung aus zutausehen . Servermodul (22) nach Anspruch 14, bei dem der
Systemmanagement-Baustein (32) dazu eingerichtet ist, bei Erkennung einer gleichzeitigen Nutzung des
Systemmanagementbusses (36) durch einen anderen
Busteilnehmer einen Austausch von Konfigurationsdaten abzubrechen und nach einer vorbestimmten Wartezeit erneut zu starten.
PCT/EP2015/070264 2014-09-09 2015-09-04 Modulares computersystem und servermodul WO2016037943A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB1700734.5A GB2543981A (en) 2014-09-09 2015-09-04 Modular computer system and server module
US15/406,908 US10420246B2 (en) 2014-09-09 2017-01-16 Modular computer system and server module

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102014112943.1A DE102014112943B4 (de) 2014-09-09 2014-09-09 Modulares Computersystem und Servermodul
DE102014112943.1 2014-09-09

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/406,908 Continuation US10420246B2 (en) 2014-09-09 2017-01-16 Modular computer system and server module

Publications (1)

Publication Number Publication Date
WO2016037943A1 true WO2016037943A1 (de) 2016-03-17

Family

ID=54072827

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2015/070264 WO2016037943A1 (de) 2014-09-09 2015-09-04 Modulares computersystem und servermodul

Country Status (4)

Country Link
US (1) US10420246B2 (de)
DE (1) DE102014112943B4 (de)
GB (1) GB2543981A (de)
WO (1) WO2016037943A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT522657A1 (de) * 2019-05-20 2020-12-15 B & R Ind Automation Gmbh Funktionseinheit mit Recheneinheit

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122016B (zh) * 2016-02-25 2020-07-31 纬创资通(中山)有限公司 机壳与服务器
US10216682B2 (en) * 2016-06-15 2019-02-26 Epro Gmbh Configuration distribution
US10552341B2 (en) * 2017-02-17 2020-02-04 International Business Machines Corporation Zone storage—quickly returning to a state of consistency following an unexpected event
CN111857253A (zh) * 2019-04-29 2020-10-30 伊姆西Ip控股有限责任公司 机箱和用于制造机箱的方法
CN112147670A (zh) * 2020-08-06 2020-12-29 上海昊博影像科技有限公司 电子部件参数分布式管理方法以及平板探测器
EP4068920A1 (de) * 2021-04-04 2022-10-05 Atos Global IT Solutions and Services Private Limited Verbindungsmodul zum verbinden von recheneinheiten in einem hpc-schrank und verfahren zum einsetzen des verbindungsmoduls
KR20230041138A (ko) * 2021-09-16 2023-03-24 삼성디스플레이 주식회사 롤러블 표시 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276613A1 (en) * 2008-05-02 2009-11-05 Inventec Corporation Method of sharing basic input output system, and blade server and computer using the same
DE102011118058A1 (de) * 2011-11-09 2013-05-16 Fujitsu Technology Solutions Intellectual Property Gmbh Serversystem und Verfahren zum Übertragen wenigstens eines chassis-spezifischen Konfigurationswertes

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533210B2 (en) 2002-10-24 2009-05-12 Sun Microsystems, Inc. Virtual communication interfaces for a micro-controller
JP2004355351A (ja) 2003-05-29 2004-12-16 Hitachi Ltd サーバ装置
US7289334B2 (en) 2003-08-27 2007-10-30 Epicenter, Inc. Rack architecture and management system
US7738242B2 (en) 2004-01-08 2010-06-15 Hewlett-Packard Development Company, L.P. System and method for displaying chassis component information
US7412544B2 (en) 2004-06-18 2008-08-12 International Business Machines Corporation Reconfigurable USB I/O device persona
US7418525B2 (en) 2004-10-29 2008-08-26 International Business Machines Corporation Shared simultaneously-connected removable drives and servers each housing an I/O controller which maintains an uninterrupted protocol connection
JP4725719B2 (ja) 2005-03-28 2011-07-13 日本電気株式会社 ブレードサーバシステムおよびその管理方法
US7480303B1 (en) 2005-05-16 2009-01-20 Pericom Semiconductor Corp. Pseudo-ethernet switch without ethernet media-access-controllers (MAC's) that copies ethernet context registers between PCI-express ports
US8131902B2 (en) 2007-03-06 2012-03-06 International Business Machines Corporation Determining orientation of blade server inserted into a blade chassis
JP4853344B2 (ja) 2007-03-22 2012-01-11 日本電気株式会社 ファン回転制御方法、ファン回転制御システム、およびファン回転制御プログラム
US9354678B2 (en) 2009-08-11 2016-05-31 Hewlett Packard Enterprise Development Lp Enclosure airflow controller
DE102009037567B4 (de) 2009-08-14 2011-09-22 Sinitec Vertriebsgesellschaft Mbh Kühlanordnung, Serverrack und Verfahren zur Steuerung einer Kühlanordnung
US8508928B2 (en) 2009-09-24 2013-08-13 Jabil Circuit, Inc. Incorporation of multiple, 2.5-inch or smaller hard disk drives into a single drive carrier with a single midplane or baseboard connector
US8769188B2 (en) 2009-11-18 2014-07-01 Mediatek Inc. Nonvolatile memory controller and method for writing data to nonvolatile memory
TWI398775B (zh) 2010-03-10 2013-06-11 Aten Int Co Ltd 具雙螢幕之多電腦管理設備及其操作方法
TW201203225A (en) 2010-07-05 2012-01-16 Hon Hai Prec Ind Co Ltd High speed storage system for hard disk
CN102129274B (zh) 2010-12-28 2014-09-17 华为技术有限公司 服务器、服务器组件及控制风扇转速方法
DE102011017386A1 (de) 2011-03-30 2012-10-04 Fujitsu Technology Solutions Intellectual Property Gmbh Baugruppenträger, Server sowie Anordnung mit einem derartigen Baugruppenträger und zumindest einem Server
TWI469730B (zh) 2011-12-30 2015-01-11 Hon Hai Prec Ind Co Ltd 機櫃系統及其伺服器
US9020656B2 (en) 2012-03-27 2015-04-28 Dell Products L.P. Information handling system thermal control by energy conservation
TW201344060A (zh) 2012-04-27 2013-11-01 Hon Hai Prec Ind Co Ltd 機櫃系統及其風扇控制系統及其控制方法
US20130346667A1 (en) 2012-06-21 2013-12-26 Jonathan Stroud Serial port access system and method in a computing system
US20140073234A1 (en) 2012-09-11 2014-03-13 International Business Machines Corporation Chassis with an airflow adjustment
KR20140144520A (ko) 2013-06-11 2014-12-19 삼성전자주식회사 프로세서 모듈, 마이크로 서버 및 프로세서 모듈의 제어 방법
TWI512603B (zh) * 2013-08-23 2015-12-11 Ibm 電子裝置及其資料回置方法
US9788451B2 (en) 2013-12-23 2017-10-10 Dell Products, L.P. Block chassis sled having one-third width computing and storage nodes for increased processing and storage configuration flexibility within a modular, scalable and/or expandable rack-based information handling system
US10139878B2 (en) * 2014-03-17 2018-11-27 Dell Products L.P. Systems and methods for extended power performance capability discovery for a modular chassis
US9568961B1 (en) * 2015-07-22 2017-02-14 Celestica Technology Consultancy (Shanghai) Co. Ltd Electronic apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276613A1 (en) * 2008-05-02 2009-11-05 Inventec Corporation Method of sharing basic input output system, and blade server and computer using the same
DE102011118058A1 (de) * 2011-11-09 2013-05-16 Fujitsu Technology Solutions Intellectual Property Gmbh Serversystem und Verfahren zum Übertragen wenigstens eines chassis-spezifischen Konfigurationswertes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT522657A1 (de) * 2019-05-20 2020-12-15 B & R Ind Automation Gmbh Funktionseinheit mit Recheneinheit

Also Published As

Publication number Publication date
DE102014112943A1 (de) 2016-03-10
US20170127550A1 (en) 2017-05-04
GB2543981A (en) 2017-05-03
US10420246B2 (en) 2019-09-17
GB201700734D0 (en) 2017-03-01
DE102014112943B4 (de) 2018-03-08

Similar Documents

Publication Publication Date Title
DE102014112943B4 (de) Modulares Computersystem und Servermodul
DE102012210914B4 (de) Switch-Fabric-Management
DE112018002951B4 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE60316776T2 (de) Auf netzwerkdatenspeicherung bezogene operationen
DE102011014588A1 (de) Multicasting-Schreibanforderungen an Mehrfachspeicher-Controller
DE102012210582A1 (de) Verringern der Auswirkung des Ausfalls einer Vermittlungsstelle in einem Schaltnetzwerk mittels Schaltkarten
DE112011100564B4 (de) Einfügen eines Flash-Zwischenspeichers in große Speichersysteme
EP2751699B1 (de) Serversystem und verfahren zum übertragen wenigstens eines chassis-spezifischen konfigurationswertes
DE112017003704T5 (de) Technologien für verbesserte Speicherabnutzungsverteilung
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden
DE102018105943A1 (de) Kontextbewusste dynamische Befehlsplanung für ein Datenspeichersystem
DE112013006549T5 (de) Computersystem und Datensteuerverfahren
DE112010003136T5 (de) Verfahren und Systeme für eine Zwischenelementplatine
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE19515661C2 (de) Halbleiter-Plattenvorrichtung
DE112007001135T5 (de) Gemeinschaftliche Nutzung von Daten durch Partitionen in einem partitionierbaren System
DE112013006634T5 (de) Computersystem und Computersystemsteuerverfahren
DE102004024130B4 (de) Speichersystem und Verfahren zum Betrieb eines Speichersystems
DE602004007884T2 (de) Speichersteuerungssystem und -Verfahren
DE102014112942B3 (de) Modulares Computersystem, Servermodul und Rackanordnung
EP2880534A2 (de) Hochverfügbares rechnersystem, arbeitsverfahren und dessen verwendung
DE112018004138B4 (de) Asynchrone aktualisierung von metadatenspuren in reaktion auf einen mittels einer e/a-operation über eine busschnittstelle erzeugten cachetreffer
DE102018131983A1 (de) Switch-unterstützte datenspeicher-netzwerkverkehrsverwaltung in einem rechenzentrum
DE102008046577A1 (de) Anschlussvorrichtung zum Anschluss einer Mehrzahl von Peripheriegeräten und Betriebsverfahren
DE112022002830T5 (de) Spiegeln von daten in schreibcaches eines controllers eines nicht flüchtigen speichers

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15762544

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 201700734

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20150904

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15762544

Country of ref document: EP

Kind code of ref document: A1