STRUCT NAND_MEMORY_ORGANIZATION(9)
π struct nand_memory_organization(9) π
Okay bestie, welcome to the Kernel API Manual entry for struct nand_memory_organization β literally the Memory organization structure, and it's giving blueprint energy. No cap, this is the vibe check for how NAND memory is laid out. π
β¨
π NAME π
struct nand_memory_organization β the Memory organization structure. It's iconic, it's organized, and it's here to hold all the layout details. π«Ά
π SYNOPSIS π
struct nand_memory_organization {
unsigned int bits_per_cell;
unsigned int pagesize;
unsigned int oobsize;
unsigned int pages_per_eraseblock;
unsigned int eraseblocks_per_lun;
unsigned int max_bad_eraseblocks_per_lun;
unsigned int planes_per_lun;
unsigned int luns_per_target;
unsigned int ntargets;
};
πΈ Members πΈ
Every field is here, bestie β no skipping, no summarizing, periodt. π
bits_per_cellβ number of bits per NAND cell. Literally how many bits each cell holds. β¨pagesizeβ page size. That's the page size, no cap. πoobsizeβ OOB area size. Yep, the out-of-band area's size. π¦pages_per_eraseblockβ number of pages per eraseblock. The way that pages stack inside an eraseblock is iconic. πeraseblocks_per_lunβ number of eraseblocks per LUN (Logical Unit Number). LUN said what it said. πmax_bad_eraseblocks_per_lunβ maximum number of bad eraseblocks per LUN. Bad blocks get a max, fr fr. πplanes_per_lunβ number of planes per LUN. Planes within a LUN, slay. πluns_per_targetβ number of LUN per target (target is a synonym for die). Iykyk. π²ntargetsβ total number of targets exposed by the NAND device. The whole target count, periodt. β
π SEE ALSO π
Kernel file: ./include/linux/mtd/nand.h.
Peep these related entries too β all of them, bestie π:
struct nand_row_converter(9)struct nand_pos(9)enum nand_page_io_req_type(9)struct nand_page_io_req(9)enum nand_ecc_engine_type(9)enum nand_ecc_placement(9)enum nand_ecc_algo(9)struct nand_ecc_props(9)struct nand_bbt(9)struct nand_ops(9)struct nand_ecc_context(9)struct nand_ecc_engine_ops(9)enum nand_ecc_engine_integration(9)struct nand_ecc_engine(9)struct nand_ecc_req_tweak_ctx(9)struct nand_ecc(9)struct nand_device(9)struct nand_io_iter(9)mtd_to_nanddev(9)nanddev_to_mtd(9)nanddev_page_size(9)nanddev_per_page_oobsize(9)nanddev_pages_per_eraseblock(9)nanddev_pages_per_target(9)nanddev_eraseblocks_per_lun(9)nanddev_eraseblocks_per_target(9)nanddev_target_size(9)nanddev_neraseblocks(9)nanddev_size(9)nanddev_get_memorg(9)nanddev_get_ecc_conf(9)nanddev_get_ecc_nsteps(9)nanddev_get_ecc_bytes_per_step(9)nanddev_get_ecc_requirements(9)nanddev_set_ecc_requirements(9)nanddev_register(9)nanddev_unregister(9)nanddev_set_of_node(9)nanddev_get_of_node(9)nanddev_offs_to_pos(9)nanddev_pos_cmp(9)nanddev_pos_to_offs(9)nanddev_pos_to_row(9)nanddev_pos_next_target(9)nanddev_pos_next_lun(9)nanddev_pos_next_eraseblock(9)nanddev_pos_next_page(9)nanddev_bbt_pos_to_entry(9)nanddev_bbt_is_initialized(9)
Source/version: ./include/linux/mtd π«Ά Date: October 2026 π«Ά Page: struct nand...organization(9). Bye bestie, go organize that memory πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms