ENUM MEM_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 enum mem_type(9) 🌸

okay bestie, so this is the enum mem_type page from the Kernel API Manual β€” yes, the Kernel API one, that's the manual we're in πŸ’…. It's all about memory types. And if you want the full deep-dive reference (like, the actual DRAM lore), the page points you at http://en.wikipedia.org/wiki/DRAM β€” go wild πŸ¦‹.


✨ SYNOPSIS ✨

enum mem_type {
    MEM_EMPTY ,
    MEM_RESERVED ,
    MEM_UNKNOWN ,
    MEM_FPM ,
    MEM_EDO ,
    MEM_BEDO ,
    MEM_SDR ,
    MEM_RDR ,
    MEM_DDR ,
    MEM_RDDR ,
    MEM_RMBS ,
    MEM_DDR2 ,
    MEM_FB_DDR2 ,
    MEM_RDDR2 ,
    MEM_XDR ,
    MEM_DDR3 ,
    MEM_RDDR3 ,
    MEM_LRDDR3 ,
    MEM_LPDDR3 ,
    MEM_DDR4 ,
    MEM_RDDR4 ,
    MEM_LRDDR4 ,
    MEM_LPDDR4 ,
    MEM_DDR5 ,
    MEM_RDDR5 ,
    MEM_LRDDR5 ,
    MEM_LPDDR5 ,
    MEM_NVDIMM ,
    MEM_WIO2 ,
    MEM_HBM2 ,
    MEM_HBM3

};

πŸŽ€ Constants πŸŽ€

the whole alphabet of memory vibes, one by one, no skips πŸ’–

  • MEM_EMPTY β€” empty csrow. literally nothing in there, ghost town πŸ‘»
  • MEM_RESERVED β€” a reserved csrow type. it's reserved, bestie, back off πŸ™ˆ
  • MEM_UNKNOWN β€” unknown csrow type. we simply do not know her πŸ’€
  • MEM_FPM β€” FPM β€” Fast Page Mode, and it was used on systems up to 1995. vintage, honestly πŸ•°οΈ
  • MEM_EDO β€” EDO β€” Extended data out, used on systems up to 1998. also vintage, also iconic ✨
  • MEM_BEDO β€” BEDO β€” Burst Extended data out, which is an EDO variant. a little sequel moment πŸ“
  • MEM_SDR β€” SDR β€” Single data rate SDRAM, aka http://en.wikipedia.org/wiki/Synchronous_dynamic_random-access_memory. and here's the tea: they use 3 pins for chip select β€” pins 0 and 2 are for rank 0; pins 1 and 3 are for rank 1, if the memory is dual-rank πŸ‘‘
  • MEM_RDR β€” Registered SDR SDRAM. registered, fancy πŸŽ€
  • MEM_DDR β€” Double data rate SDRAM, see http://en.wikipedia.org/wiki/DDR_SDRAM πŸ”₯
  • MEM_RDDR β€” Registered Double data rate SDRAM. it's a variant of the DDR memories. a registered memory has a buffer inside it, hiding part of the memory details from the memory controller β€” sneaky little buffer, iykyk 🫢
  • MEM_RMBS β€” Rambus DRAM, used on a few Pentium III/IV controllers. a few. not many. exclusive πŸ’…
  • MEM_DDR2 β€” DDR2 RAM, as described at JEDEC JESD79-2F. those memories are labeled as "PC2-" instead of "PC" to differentiate from DDR. branding, honestly πŸ¦‹
  • MEM_FB_DDR2 β€” Fully-Buffered DDR2, as described at JEDEC Std No. 205 and JESD206. those memories are accessed per DIMM slot, and not by a chip select signal πŸ‘€
  • MEM_RDDR2 β€” Registered DDR2 RAM. a variant of the DDR2 memories πŸ’œ
  • MEM_XDR β€” Rambus XDR. it's an evolution of the original RAMBUS memories, created to compete with DDR2. weren't used on any x86 arch, but cell_edac PPC memory controller uses it. niche king 🌈
  • MEM_DDR3 β€” DDR3 RAM ⭐
  • MEM_RDDR3 β€” Registered DDR3 RAM. a variant of the DDR3 memories πŸ’–
  • MEM_LRDDR3 β€” Load-Reduced DDR3 memory πŸŽ€
  • MEM_LPDDR3 β€” Low-Power DDR3 memory 🌸
  • MEM_DDR4 β€” Unbuffered DDR4 RAM πŸ”₯
  • MEM_RDDR4 β€” Registered DDR4 RAM. a variant of the DDR4 memories 🫢
  • MEM_LRDDR4 β€” Load-Reduced DDR4 memory πŸ¦‹
  • MEM_LPDDR4 β€” Low-Power DDR4 memory 🌿
  • MEM_DDR5 β€” Unbuffered DDR5 RAM πŸ‘‘
  • MEM_RDDR5 β€” Registered DDR5 RAM ✨
  • MEM_LRDDR5 β€” Load-Reduced DDR5 memory πŸ’…
  • MEM_LPDDR5 β€” Low-Power DDR5 memory 🧚
  • MEM_NVDIMM β€” Non-volatile RAM. she persists πŸ’Ύ
  • MEM_WIO2 β€” Wide I/O 2 😀
  • MEM_HBM2 β€” High bandwidth Memory Gen 2 πŸš€
  • MEM_HBM3 β€” High bandwidth Memory Gen 3 πŸš€πŸš€

🌈 SEE ALSO 🌈

kernel file ./include/linux/edac.h, plus the whole friend group: enum dev_type(9), enum hw_event_mc_err_type(9), enum edac_type(9), enum scrub_type(9), enum edac_mc_layer_type(9), struct edac_mc_layer(9), struct rank_info(9), struct edac_raw_error_desc(9), edac_get_dimm(9), struct edac_scrub_ops(9), struct edac_ecs_ops(9), struct edac_mem_repair_ops(9) β€” go read them all, no cap πŸ’–


and that's the page!! this one lives under ./include/linux in the tree, and the manpage itself is dated October 2026 πŸ—“οΈ β€” so yeah, future-coded AND iconic. mwah, see u in the next manpage bestie πŸ«ΆπŸ’…βœ¨

πŸ“¦ where this page comes from