← All articles

The IPMI FRU Date Rollover in November 2027

The 3-byte board manufacturing date in an IPMI FRU image stops at 2027-11-24 20:15 UTC. Here is what breaks and how to fix it.

IronKernel ·

The IPMI FRU board manufacturing date runs out on 2027-11-24 at 20:15 UTC. The Board Info Area of an IPMI FRU image stores the date as a 3-byte count of minutes, and a board built one minute later has a date the field cannot hold. This article gives the exact rollover time, shows what a truncated date decodes to, and describes the VITA 46.11 record that carries the date instead.

How the FRU board date is stored

The IPMI Platform Management FRU Information Storage Definition v1.0 puts the manufacturing date in the Board Info Area, right after the language code. The value is the number of minutes since 1996-01-01 00:00, least significant byte first, and 000000h means unspecified. A board built on 2026-11-13 at 09:30 is 16,235,130 minutes after the origin, F7BA7Ah, and the area stores 7A BA F7. The IPMI FRU format explained shows where the field sits in a complete image.

The exact rollover date

Three bytes hold 224 values, 000000h to FFFFFFh. The largest, 16,777,215 minutes, falls on 2027-11-24 20:15 UTC. The next minute, 20:16, is 224 = 16,777,216 minutes, 1000000h, which needs a fourth byte. We computed these values with Python's datetime from the 1996-01-01 origin:

MinutesHexDate and time (UTC)
0000000hUnspecified
16,235,130F7BA7Ah2026-11-13 09:30
16,777,215FFFFFFh2027-11-24 20:15, the last date the field holds
16,777,2161000000h2027-11-24 20:16, does not fit in 3 bytes

What happens to boards built after the rollover

A tool that keeps only the low 24 bits of the minute count writes a date that wraps back to 1996. A board built at 2028-01-01 00:00 is 16,830,720 minutes, 100D100h; the low 24 bits are 00D100h, which decodes as 1996-02-07 03:44. A board built at exactly 20:16 on 2027-11-24 truncates to 000000h and reads as unspecified. Asset databases and fleet reports that sort boards by manufacturing date then receive dates from 1996.

The field cannot simply be widened: readers decode exactly three bytes at that position, and the fields after it follow directly.

The VITA 46.11 Alternate Manufacturing Date/Time record

ANSI/VITA 46.11 defines a MultiRecord that holds the date as a 32-bit minute count from the same origin. It is an OEM record in the MultiRecord Area, 14 bytes long:

BytesValueMeaning
0C0hRecord type ID: OEM record
102h or 82hRecord format version 2; bit 7 set when this is the last record of the area
209hNine data bytes follow the header
3checksumZero checksum of the nine data bytes
4checksumZero checksum of header bytes 0 to 3
5–7AC 81 00VITA manufacturer ID 0081ACh, least significant byte first
834hVITA record ID: Alternate Manufacturing Date/Time
900hRecord format version
10–134 bytesMinutes since 1996-01-01 00:00 UTC, least significant byte first; 00000000h means unspecified

Four bytes count 232 minutes, which runs past the year 9999. For the board built on 2028-01-01 00:00, bytes 10 to 13 are 00 D1 00 01.

When the standard 3-byte field is nonzero, it is the date in use. When it is 000000h, the date is the one in the record. A board built after the rollover therefore writes 000000h in the Board Info Area and the true date in the record. A reader that knows only the standard field sees "unspecified" instead of a wrong date, and a reader that knows the record sees the right one.

What tool and firmware writers should do now

  • FRU programming tools: do not truncate the minute count to 24 bits. For a date after 2027-11-24 20:15 UTC, write 000000h in the board area and add the Alternate Manufacturing Date/Time record.
  • FRU decoders: walk the MultiRecord chain and recognize an OEM record whose data starts with AC 81 00 34. When the board date is 000000h and the record holds a nonzero count, show the record's date.
  • Management controller firmware: leave room in the FRU image for the 14-byte record, and update both of its checksums when the date is written.
  • Test data: add FRU images dated after the rollover to the tests of every tool that parses FRU data.

To check an image by hand, decode a FRU image in your browser and look at both the board date and the MultiRecord Area.

How the IronKernel IPMC stores the date

The IronKernel VITA 46.11 IPMC keeps the manufacturing date only in the Alternate Manufacturing Date/Time record. Its built FRU image has 000000h in the standard board field and the 14-byte VITA record as the one record of the MultiRecord Area. Setting the date rewrites the record in place with both checksums and sets the standard field to 000000h. The date accepts any minute from 1996-01-01 00:01 to 9999-12-31 23:59 UTC.

When a Chassis Manager writes a nonzero value to the standard field, that value is the date in use; the record supplies the date only while the standard field is 000000h. The code is public in the IPMIRustFRU repository, in crates/ipmc-fru/src/date.rs and records.rs.

Further reading

A VITA 46.11 IPMC ready for the 2027 rollover

Our IPMC keeps the manufacturing date in the VITA Alternate Manufacturing Date/Time record, valid to the year 9999.