File size: 1,000 Bytes
e9bc512
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

"""

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.

"""