""" NAND Flash SSD Simulation (Modular) ----------------------------------- This file documents the SSD architecture and usage for the modular simulation. Components: - nand_cell.py: MultiLevelCell (single cell physics/logic) - nand_page.py: Page (group of cells, ECC) - nand_block.py: Block (group of pages) - nand_plane.py: Plane (group of blocks) - dram_cache.py: DRAMCache, Buffer (cache, buffer, metadata) - ftl.py: FTL (Flash Translation Layer, mapping table) - ssd_controller.py: SSDController (manages all above, FTL, cache, buffer) - main.py: Demo/entry point Usage: ------ Import and use the SSDController and other components in your own scripts, or run main.py for a demo. Example: from ssd_controller import SSDController ssd = SSDController(...) ssd.program(lba, data) ssd.read(lba) See main.py for a full demonstration of SSD features, including DRAM cache, buffer, FTL, wear leveling, garbage collection, and retention simulation. """