LIBJEDEC(3JEDEC) JEDEC Support Library Functions LIBJEDEC(3JEDEC)
NAME
libjedec - JEDEC support library
LIBRARY
JEDEC Support Library Functions (libjedec, -ljedec)
<
libjedec.h>
DESCRIPTION
The
libjedec library provides consumers access to several different
classes of functions that are related to various JEDEC standards
including:
+o Parsing Serial Presence Data (SPD) commonly found in DIMM
modules
+o Translating JEDEC vendor IDs to a well-known vendor name
+o Translating JEDEC temperature range names to their numeric
range
This library is an uncommitted interface and API or ABI stability is
not guaranteed.
SPD Parsing
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.
Vendor ID Translation
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 JEP106BK from September 2024.
Temperature Ranges
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.
INTERFACE STABILITY
Uncommitted 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-LEVEL MT-Safe While all functions in this library are currently
MT-Safe, there is no
guarantee that this will apply to future functions.
SEE ALSO
libjedec_spd(3JEDEC),
libjedec_temp_range(3JEDEC),
libjedec_vendor_string(3JEDEC) Standard Manufacturer's Identification Code, JEP106BK, JEDEC Solid
State Technology Association, September 2024.
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.
illumos October 27, 2024 illumos