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:
| Minutes | Hex | Date and time (UTC) |
|---|---|---|
| 0 | 000000h | Unspecified |
| 16,235,130 | F7BA7Ah | 2026-11-13 09:30 |
| 16,777,215 | FFFFFFh | 2027-11-24 20:15, the last date the field holds |
| 16,777,216 | 1000000h | 2027-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:
| Bytes | Value | Meaning |
|---|---|---|
| 0 | C0h | Record type ID: OEM record |
| 1 | 02h or 82h | Record format version 2; bit 7 set when this is the last record of the area |
| 2 | 09h | Nine data bytes follow the header |
| 3 | checksum | Zero checksum of the nine data bytes |
| 4 | checksum | Zero checksum of header bytes 0 to 3 |
| 5–7 | AC 81 00 | VITA manufacturer ID 0081ACh, least significant byte first |
| 8 | 34h | VITA record ID: Alternate Manufacturing Date/Time |
| 9 | 00h | Record format version |
| 10–13 | 4 bytes | Minutes 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
000000hin 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 is000000hand 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.