LIBJEDEC(3JEDEC) 3JEDEC LIBJEDEC(3JEDEC)

libjedecJEDEC support library

library “libjedec” <libjedec.h>

The libjedec library provides consumers access to several different classes of functions that are related to various JEDEC standards including:

This library is an uncommitted interface and API or ABI stability is not guaranteed.

Most DDR DIMM modules embed information about them which describes the timing, size and orientation, and manufacturing information of the device. The encoding of this information changes with each generation of the DDR devices and has its own format. The library attempts to normalize information across generations where possible.

The function libjedec_spd(3JEDEC) provides an interface to parse a full data payload into a nvlist_t, a name-value pair list usable with libnvpair(3LIB).

Currently DDR3, DDR4, DDR5, LPDDR3, LPDDR4, LPDDR4X, LPDDR5, and LPDDR5X are supported.

JEDEC Vendor IDs come as a pair of a continuation number and an index into a block. These are then translated into well-known names by the JEDEC standard JEP106 (Standard Manufacturer's Identification Code). This vendor information can be found in different contexts such as SPD data, various SPI NOR and SPI NAND devices, SMBIOS, and more.

The function libjedec_vendor_string(3JEDEC) provides the ability to translate the IDs to a well known name.

Currently the library implements JEP106BH from September 2023.

Many JEDEC standards embed information about temperature ranges that components support for the case operating temperature, the ambient air temperature, and related. These ranges are in turn defined in JESD402-1B (Temperature Range and Measurement Standards for Components and Modules).

The function libjedec_temp_range(3JEDEC) provides a way to translate these named ranges into the corresponding lower and upper bounds of the range. When other parts of the library parse data, they will emit the temperature range using the library's libjedec_temp_range_t type, which is defined in the aforementioned manual page.

The interfaces in this library are currently designed for use for software that is a part of illumos and are subject to change at any time. They are documented as an aid to developers and no API or ABI stability is currently intended, though it is not expected to change dramatically.

MT-Safe

While all functions in this library are currently MT-Safe, there is no guarantee that this will apply to future functions.

libjedec_spd(3JEDEC), libjedec_temp_range(3JEDEC), libjedec_vendor_string(3JEDEC)

Standard Manufacturer's Identification Code, JEP106BH, JEDEC Solid State Technology Association, September 2023.

Temperature Range and Measurement Standards for Components and Modules, JESD402-1B, JEDEC Solid State Technology Association, September 2024.

Serial Presence Detect (SPD), General Standard, 21-C, JEDEC Solid State Technology Association.

DDR5 Serial Presence Detect (SPD) Contents, JESD400-5B Document Release 1.2, JEDEC Solid State Technology Association, October 2023.

LPDDR5/5X Serial Presence Detect (SPD) Contents, JESD406-5 Document Release 1.0, JEDEC Solid State Technology Association, June 2024.

September 14, 2024 OmniOS