question: How is storage freed in computer hardware at a physical level?
comment: When you delete, it just marks those memory cells as rewritable. It’s not truly deleted until something is saved into it.
passages: Removable media have become very common with microcomputer platforms. They allow programs and data to be transferred between machines without a physical connection. Common examples include USB flash drives, memory cards, CD-ROMs, and DVDs. Utilities have therefore been developed to detect the presence and availability of a medium and then mount that medium without any user intervention.
   When a computer needs to read information from the tertiary storage, it will first consult a catalog database to determine which tape or disc contains the information. Next, the computer will instruct a robotic arm to fetch the medium and place it in a drive. When the computer has finished reading the information, the robotic arm will return the medium to its place in the library.
  
  Tertiary storage is also known as "nearline storage" because it is "near to online". The formal distinction between online, nearline, and offline storage is:
  
  BULLET::::- Online storage is immediately available for I/O.
   Data remanence has also been observed in dynamic random-access memory (DRAM). Modern DRAM chips have a built-in self-refresh module, as they not only require a power supply to retain data, but must also be periodically refreshed to prevent their data contents from fading away from the capacitors in their integrated circuits. A study found data remanence in DRAM with data retention of seconds to minutes at room temperature and "a full week without refresh when cooled with liquid nitrogen." The study authors were able to use a cold boot attack to recover cryptographic keys for several popular full disk encryption systems, including Microsoft BitLocker, Apple FileVault, dm-crypt for Linux, and TrueCrypt.
   "Off-line storage" is a computer data storage on a medium or a device that is not under the control of a processing unit. The medium is recorded, usually in a secondary or tertiary storage device, and then physically removed or disconnected. It must be inserted or connected by a human operator before a computer can access it again. Unlike tertiary storage, it cannot be accessed without human interaction.
   An opposite process of mounting is called unmounting, in which the operating system cuts off all user access to files and directories on the mount point, writes the remaining queue of user data to the storage device, refreshes file system metadata, then relinquishes access to the device; making the storage device safe for removal.
  
  Normally, when the computer is shutting down, every mounted storage will undergo an unmounting process to ensure that all queued data got written, and to preserve integrity of file system structure on the media.
  
  Section::::Overview.
   BULLET::::- In the second approach, the kernel of the OS is loaded, and part of the system's memory is configured as a large RAM disk, and then the remainder of the OS image is fetched and loaded into the RAM disk. This is the implementation that Microsoft has chosen for its Windows XP Embedded remote boot feature.
   BULLET::::- Until the advent of non-volatile computer memories like USB sticks, persistent data storage was traditionally achieved by writing the data to external block devices like magnetic tape and disk drives. These devices typically seek to a location on the magnetic media and then read or write blocks of data of a predetermined size. In this case, the seek location on the media,is the data key and the blocks are the data values. Early data file-systems, or disc operating systems used to reserve contiguous blocks on the disc drive for data files. In those systems, the files could be filled up, running out of data space before all the data had been written to them. Thus much unused data space was reserved unproductively to avoid incurring that situation. This was known as raw disk. Later file-systems introduced partitions. They reserved blocks of disc data space for partitions and used the allocated blocks more economically, by dynamically assigning blocks of a partition to a file as needed. To achieve this, the file-system had to keep track of which blocks were used or unused by data files in a catalog or file allocation table. Though this made better use of the disc data space, it resulted in fragmentation of files across the disc, and a concomitant performance overhead due to latency. Modern file systems reorganize fragmented files dynamically to optimize file access times. Further developments in file systems resulted in virtualization of disc drives i.e. where a logical drive can be defined as partitions from a number of physical drives.
   The central processing unit (CPU) of a computer is what manipulates data by performing computations. In practice, almost all computers use a storage hierarchy, which puts fast but expensive and small storage options close to the CPU and slower but larger and cheaper options farther away. Generally the fast volatile technologies (which lose data when off power) are referred to as "memory", while slower persistent technologies are referred to as "storage".
   Data storage is another category of hardware that has traditionally been very energy disproportional. Although storage technologies are non-volatile, meaning that no power is required to retain data, the interface on the storage devices are typically powered up for access on demand. For example, in hard drives, although the data is stored in a non-volatile magnetic state, the disk is typically kept spinning at constant RPM, which requires considerable power. This is in addition to the solid-state electronics that maintain communications with the rest of the computer system, such as the Serial ATA interface commonly found in computers.
   The TRIM feature in many SSD devices, if properly implemented, will eventually erase data after it is deleted, but the process can take some time, typically several minutes. Many older operating systems do not support this feature, and not all combinations of drives and operating systems work.
  
  Section::::Complications.:Data in RAM.
  
  Data remanence has been observed in static random-access memory (SRAM), which is typically considered volatile ("i.e.", the contents degrade with loss of external power). In one study, data retention was observed even at room temperature.
   When data is deleted from storage devices, the references to the data are removed from the directory structure. The space can then be used, or overwritten, with data from other files or computer functions. The deleted data itself is not immediately removed from the physical drive and often exists as a number of disconnected fragments. This data, so long as it is not overwritten, can be recovered.
   where
   Section::::Data structure transformations.:Array re-sizing (temporary array insertion).
  
  In this method, elements that are accessed more frequently are identified via profiling or static considerations. A copy of these elements is then stored in a temporary array which can be accessed without any data cache miss. This results in a significant system energy reduction, but it can also reduce performance.
  
  Section::::Using scratchpad memory.
   File systems can be used on numerous different types of storage devices that use different kinds of media. As of 2019, hard disk drives have been key storage devices and are projected to remain so for the foreseeable future. Other kinds of media that are used include SSDs, magnetic tapes, and optical discs. In some cases, such as with tmpfs, the computer's main memory (random-access memory, RAM) is used to create a temporary file system for short-term use.
   When records are inserted into a control interval, they are placed in the correct order relative to other records. This may require records to be moved out of the way inside the control interval. Conversely, when a record is deleted, later records are moved down so that the free space remains contiguous. If there is not enough free space in a control interval for a record to be inserted, the control interval is split. Roughly half the records are stored in the original control interval while the remaining records are moved into a new control interval. The new control interval is taken from a pool of free control intervals within the same control area as the original control interval. If there is no remaining free control interval within that control area, the control area itself is split and the control intervals are distributed equally between the old and the new control areas.
   Every stored-program computer may use a form of non-volatile storage (that is, storage that retains its data when power is removed) to store the initial program that runs when the computer is powered on or otherwise begins execution (a process known as bootstrapping, often abbreviated to "booting" or "booting up"). Likewise, every non-trivial computer needs some form of mutable memory to record changes in its state as it executes.
   Computer data storage
  
  Computer data storage, often called storage or memory, is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers.
   The loss of usable memory caused by the PCI hole, when using memory-mapped I/O, is caused by using the same address space for both physical memory and to communicate with hardware devices. Thus, installed hardware devices need some of the address space in order to communicate with the processor and system software. As 32-bit hardware has a total of four gigabytes of addressable memory, some of the real physical memory of a 32-bit machine, when enough memory is installed, needs to be sacrificed by making it hidden so the devices have room to communicate. Which part of physical memory becomes replaced with the device communication space depends upon the machine, but it is usually anything above 2.5 to 3.5 GB.
   A file system can present a file of a particular type as a volume in its own right, similar to a loop device. The OS refers to this functionality as an image filing system. This allows transparent handling of archives and similar files, which appear as directories with some special properties. Files inside the image file appear in the hierarchy underneath the parent archive. It is not necessary for the archive to contain the data it refers to: some symbolic link and network share filesystems put a reference inside the image file and go elsewhere for the data.
   "Secondary storage" (also known as "external memory" or "auxiliary storage"), differs from primary storage in that it is not directly accessible by the CPU. The computer usually uses its input/output channels to access secondary storage and transfer the desired data to primary storage. Secondary storage is non-volatile (retaining data when power is shut off). Modern computer systems typically have two orders of magnitude more secondary storage than primary storage because secondary storage is less expensive.
   The computer's operating system, using a combination of hardware and software, maps memory addresses used by a program, called "virtual addresses", into "physical addresses" in computer memory. Main storage, as seen by a process or task, appears as a contiguous address space or collection of contiguous segments. The operating system manages virtual address spaces and the assignment of real memory to virtual memory. Address translation hardware in the CPU, often referred to as a memory management unit or "MMU", automatically translates virtual addresses to physical addresses. Software within the operating system may extend these capabilities to provide a virtual address space that can exceed the capacity of real memory and thus reference more memory than is physically present in the computer.
   "Tertiary storage" or "tertiary memory" is a level below secondary storage. Typically, it involves a robotic mechanism which will "mount" (insert) and "dismount" removable mass storage media into a storage device according to the system's demands; such data are often copied to secondary storage before use. It is primarily used for archiving rarely accessed information since it is much slower than secondary storage (e.g. 5–60 seconds vs. 1–10 milliseconds). This is primarily useful for extraordinarily large data stores, accessed without human operators. Typical examples include tape libraries and optical jukeboxes.
   In some situations, such as in embedded devices, auxiliary storage is limited or non-existent. In these cases, virtual memory compression can allow a virtual memory system to operate, where otherwise virtual memory would have to be disabled. This allows the system to run certain software which would otherwise be unable to operate in an environment with no virtual memory.
   Section::::Implementations.
  
  Section::::Implementations.:Volume managers.
  
  Some Unix systems have snapshot-capable logical volume managers. These implement copy-on-write on entire block devices by copying changed blocksjust before they are to be overwritten within "parent" volumesto other storage, thus preserving a self-consistent past image of the block device. Filesystems on such snapshot images can later be mounted as if they were on a read-only media.
   When not being worked on assets can be held in a DAM in a variety of formats including blob (binary large object in a database) or as a file in a normal file system, that are "cheaper" to store than the form needed during operations on them. This makes it possible to implement a large scale DAM as an assembly of high performance processing systems in a network with a high density storage solution at its centre.
  
  Section::::Media asset issues.
  