SRAM
/ˈɛsˌræm/
noun … “High-speed, volatile memory with no refresh needed.”
RAM
/ræm/
noun … “Fast, temporary memory for active data.”
Non-Volatile Memory
/nɒn ˈvɑːlətɪl ˈmɛməri/
noun … “Memory that retains data without power.”
Non-Volatile Memory (NVM) is a type of memory that preserves stored information even when the system loses power. Unlike volatile memory such as RAM, which requires constant power to maintain data, non-volatile memory maintains content permanently or until explicitly overwritten. This property makes NVM essential for storage devices, firmware, and persistent configuration in embedded systems.
Bootloader
/ˈbuːtˌloʊdər/
noun … “Initial program that starts the system.”
Bootloader is a small, specialized program stored in non-volatile memory such as ROM or Flash, responsible for initializing hardware components and loading the operating system or runtime environment into RAM. It serves as the first stage of the boot process, bridging the gap between firmware and the OS, ensuring that the system starts reliably and securely.
EEPROM
/iˌiːˌpɹoʊˈm/
noun … “Electrically erasable programmable memory.”
Wear Leveling
/wɛər ˈlɛvəlɪŋ/
noun … “Evenly distribute writes to prolong memory lifespan.”
Wear Leveling is a technique used in non-volatile memory devices, such as Flash storage and SSDs, to prevent certain memory blocks from wearing out prematurely due to repeated program/erase cycles. Flash memory cells have a limited number of write cycles, and wear leveling distributes writes across the device to ensure all blocks age uniformly, extending the effective lifespan of the storage.
Garbage Collection
/ˈɡɑːrbɪdʒ kəˈlɛkʃən/
noun … “Automatic memory reclamation.”
Garbage Collection is a runtime process in programming languages that automatically identifies and reclaims memory occupied by objects that are no longer reachable or needed by a program. This eliminates the need for manual deallocation and reduces memory leaks, particularly in managed languages like Java, C#, and Python. Garbage collection works closely with heap memory, tracking allocations and references to determine which memory blocks can be safely freed.
Heap
/hiːp/
noun … “Dynamic memory area for runtime allocation.”
Heap is a region of memory used for dynamic allocation, where programs request and release blocks of memory at runtime rather than compile-time. Unlike the stack, which operates in a last-in, first-out manner, the heap allows arbitrary allocation sizes and lifetimes. Proper management of the heap is crucial to prevent fragmentation, leaks, and performance degradation.
Key characteristics of Heap include:
Cache Coherency
/kæʃ koʊˈhɪərəns/
noun … “Keeping multiple caches in sync.”
Cache Coherency is the consistency model ensuring that multiple copies of data in different caches reflect the same value at any given time. In multiprocessor or multi-core systems, each CPU may have its own cache, and maintaining coherency prevents processors from operating on stale or conflicting data. Cache coherency is critical for correctness in concurrent programs and high-performance systems.
Firmware
/ˈfɜːrmwɛr/
noun … “Software embedded in hardware.”
Firmware is specialized software stored in non-volatile memory, such as ROM or Flash, that provides low-level control for a device’s hardware. It acts as an intermediary between the hardware and higher-level software, enabling the system to initialize, configure, and operate correctly. Firmware is essential in embedded systems, computers, networking devices, and peripherals.