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.
Flash
/flæʃ/
noun … “Non-volatile memory with electrical erase and write.”
Flash is a type of non-volatile memory that can be electrically erased and reprogrammed. Unlike traditional ROM, Flash supports multiple write and erase cycles, making it suitable for storage devices like SSDs, USB drives, and embedded systems. It combines the speed of semiconductor memory with persistent data retention, bridging the gap between volatile RAM and slower mechanical storage.
Memory Management
/ˈmɛməri ˈmænɪdʒmənt/
noun … “Organizing, allocating, and reclaiming memory.”
Memory Management is the process by which a computing system controls the allocation, usage, and reclamation of memory. It ensures that programs receive the memory they require while optimizing performance, preventing leaks, and avoiding conflicts. Effective memory management balances speed, space, and safety, and is implemented via operating system services, language runtimes, and hardware support.
Cache
/kæʃ/
noun … “Fast memory for frequently used data.”
Cache is a high-speed memory layer that stores copies of frequently accessed data to reduce access latency and improve overall system performance. It acts as an intermediary between slower main memory (e.g., RAM) or storage and the CPU, allowing repeated reads and writes to be served quickly. Caches are used in hardware (CPU caches, GPU caches), software (database query caching), and networking (CDN caches).
ROM
/roʊm/
noun … “Non-volatile storage for permanent instructions.”
ROM (Read-Only Memory) is a type of non-volatile memory used to store data or program instructions that must persist even when the system is powered off. Unlike volatile memory such as RAM, contents of ROM are typically fixed at manufacturing or written once and rarely modified. ROM is commonly used to hold firmware, bootloaders, and essential system-level instructions required to start and initialize hardware.
Memory
/ˈmɛməri/
noun … “Storage for data and instructions.”
Memory is the component or subsystem in a computing environment responsible for storing and retrieving data and program instructions. It encompasses volatile storage such as RAM, non-volatile storage like ROM, and other forms including cache, registers, and persistent memory. Effective memory management is critical for performance, multitasking, and ensuring data integrity across CPU operations.