ROM
**ROM and Flash Memory Array Design and Read Access** is **the physical and circuit implementation of read-only and flash memories enabling high-density storage with efficient access — trading programmability for density and cost**. Read-Only Memory (ROM) stores fixed data programmed during manufacturing. Mask ROM uses different transistor sizes or metal layers to encode data. Advantage: simple design, low power, high density. Disadvantage: inflexible (reprogramming requires new masks). NOR-based Array: transistor per bit, gate is word line, drains on bit line. Selected transistor grounds bit line (conducting = 0); open bit line (0V = 1) is charged. Advantage: random access, good speed. Disadvantage: area inefficient (one transistor per bit). NAND-based Array: series transistors per word. Word line gates multiple transistors. Only if entire series conducts does bit line discharge (1, others 0). Advantage: high density (series string). Disadvantage: slower access. Flash memory: floating-gate transistors store charge. Programmed state (charge on floating gate) modifies threshold voltage, distinguishing 0/1. Advantage: electrically erasable and reprogrammable. Disadvantage: slower than ROM, additional circuitry. Single-Level Cell (SLC): stores 1 bit (0 or 1). Binary decision. Two voltage levels. Multi-Level Cell (MLC): stores 2 bits per cell (2 voltage levels). Quad-Level Cell (QLC): 4 bits (4 voltage levels). TLC (Triple): 3 bits. Higher bits per cell increase density but reduce noise margin and reliability. Read operations: bit line precharged, selected cell conducts (or not), discharge detected. Sense amplifier amplifies small voltage difference. For MLC, multiple sense levels distinguish multi-level states. Precise reference voltages critical. Reference generation and trimming compensate for process variations. Refresh/recovery: flash retention characteristics degrade over time. Charge leakage reduces stored charge. Read disturb (repeated reads generate holes that refill surface traps) ages cells. Error correction codes (ECC) correct read errors. Defect management: manufacturing defects create bad blocks. Factory defect mapping marks bad blocks as unusable. Runtime defect detection and remapping extends lifetime. Erase blocks: flash erases at block level (entire blocks, not individual cells). This is slower and wears out faster than individual writes. Wear leveling algorithms distribute erase cycles across blocks. Thermal effects: flash performance sensitive to temperature. Higher temperature increases read current but degrades retention. Temperature compensation in read circuits important. Memory architecture: large arrays require hierarchical decoding and multiplexing. Bank partitioning reduces word line lengths. Parallel reads improve throughput. **ROM and Flash memory array design trades speed and programmability against density and cost, with flash providing reprogrammability through floating-gate charge storage.**