Which storage device retains its data even after the computer is switched off?

Understanding the Technology

Littlejohn Shinder, Michael Cross, in Scene of the Cybercrime (Second Edition), 2008

Hard Disks

Hard disks are nonvolatile storage devices that are used to store and retrieve data quickly. Nonvolatile storage is physical media that retains data without electrical power. This means that no data is lost when the computer is powered off, making hard disks suitable for permanent storage of information. As we'll discuss in the sections that follow, hard disk drives write the digital data as magnetic patterns to rigid disks that are stored inside the hard disk drive (HDD). Because the HDD is installed in the computer, it is able to access and process the data faster than removable media such as floppy disks.

Although hard disks have been used for decades in computers, the use of them has expanded to other forms of technology. Today, you can find camcorders, game systems, and Digital Video Recorders that use hard disks to store data instead of magnetic tapes or other media. Regardless of their use, the hard disks and their related file systems all perform the same tasks of storing data so that it can be retrieved, processed, and viewed at a later time.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9781597492768000042

Storage Networks

Gary Lee, in Cloud Networking, 2014

Hard disk drives

Spinning magnetic disks known as hard disk drives have been used for decades as non-volatile storage for computer systems. They were first introduced by IBM in 1956 and, by the early 1980s, these drives were the size of small washing machines and could hold around 64 megabytes of data. Today, drives small enough to fit into laptops can hold multiple terabytes (> 1,000,000 megabytes) of data. Magnetic tape has also been used for storage, but due to slow access times has been relegated to the archive tier. More recently, Blu-ray disc capacities have increased to the point that they may also be used for data archiving.

Data center applications have driven the need for special disk drive features that may not be found on commercial HDDs for the PC or laptop. A hard disk usually contains multiple rotating platters and an actuator arm with a read/write head that may remind some people of a miniature record turntable. Although the disks are random access, there is a seek time that depends on the rotational speed of the disk along with the reaction time of the actuator arm and the position of the data on the disk relative to the arm. The individual tracks, like the grooves on a record, are where the data is stored using what is effectively tiny polarized magnets. Based on this technology, disk drive manufacturers can make trade-offs between density, performance, and reliability. Obviously, tightly packed tracks lead to higher data density. But the high rotational speeds and actuator arm movements required for high-performance disk drives also require larger track spacing in order to minimize read and write errors. In addition, dozens of drives may be packed together in a storage array chassis, leading to vibrational transfer that also may require larger track spacing for reliable operation. Because of these reasons, HDDs in personal computers may have higher storage density and/or lower cost than HDDs designed for data center applications, but they do not have the reliability and performance needed for these applications. For some high-performance applications, the HDDs may even be “short stroked,” which means only the faster access outer sectors of the drive are used.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780128007280000084

A Bright, Shiny Future

Jim Blinn, in Jim Blinn's Corner, 2003

What Will Probably Happen

We know from viewing past predictions that short-term predictions tend to be overly optimistic, and long-term predictions tend to be overly conservative. Here are some short-term predictions that I feel pretty sure of, mainly because most of them are almost here now. They will surely be done deals in 20 years.

Computers

Computers will be faster. Computers will be cheaper. Computers will have more memory. Computers will still crash.

If present trends continue, computer speeds and main memory sizes will increase by several thousandfold, and nonvolatile storage will increase by several hundred-thousandfold. Small, incredibly cheap, special-purpose computers will abound, all communicating with each other. Ivan Sutherland’s “Wheel of Reincarnation” will have gone through another couple of turns, and the main CPU will be doing the graphics again instead of special-purpose processors. Everyone will finally agree that computers are finally fast enough and storage is large enough to satisfy them.

Display Technologies

CRTs will be gone. We finally really will have cheap flat-panel displays that consume very little power and are lightweight. We’ll have small, portable display pads connected to our base CPU or network via wireless LAN technology. Their resolution will be about the same as today’s laser printers. We’ll watch TV on these devices, do e-mail and voicemail, and read books on them. We will still use large-screen displays for group viewing of movies, but head-mounted displays will be lightweight and common. Direct neural inputs to the brain will be the hot new experimental technology. I can already hear kids saying, “But Dad, all the kids have Neural Internet Receivers.”

Applications

Data rates and storage capacity for large quantities of video and movies will be considered trivial. Bandwidth bottlenecks will diminish but not disappear. Consider the bandwidth hierarchy:

Bus speed

Wired LAN speed

Wireless LAN speed

Wired WAN speed

Wireless WAN speed

Each item will advance to the current speeds of the next level or two up. This means that we’ll still need to compress file sizes to communicate practically with the next level down in the hierarchy.

The communication between small computers will make the proliferation of remote controls obsolete. We’ll be able to control everything from any display or terminal device in the house. These devices will be colorful—no more black-on-black buttons that are impossible to see while watching TV.

Movies will not be distributed as a sequence of images. Instead they will be distributed as the database necessary to construct the images on the fly. What we now think of as computer-rendering techniques will be used as a playback decompression technique. Newly produced movies/videos will be generated directly in this format. Older movies/videos will be stored in this format after some processing to re-extract the layering of the images. (This is basically the intent of MPEG 4; we will probably be up to MPEG 8 or 9 by then.)

The Web will have long since taken over television as the primary communications medium of the world. Much of the world’s commerce will be done on the Web. Shipping companies will thrive.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9781558608603500182

Introduction to Digital Logic Design

Ian Grout, in Digital Systems Design with FPGAs and CPLDs, 2008

5.6.3 Read-Only Memory

ROM is used for holding program code that must be retained when the memory power is removed, so it is considered nonvolatile storage. The code can take one of three forms:

1.

Fixed when the memory is fabricated—mask-programmable ROM

2.

Electrically programmed once—PROM, programmable ROM

3.

Electrically programmed multiple times—EPROM (electrically programmable ROM) erased using ultraviolet (UV) light; EEPROM or E2PROM (electrically erasable PROM); and flash (also electrically erased).

PROM is sometimes considered in the same category of circuit as programmable logic, although in this text, PROM is discussed only in the memory category.

RAM is used for holding data and program code that must be accessed quickly and modified during normal operation. RAM differs from read-only memory (ROM) in that it can be both read from and written to in the normal circuit application. However, flash memory is also referred to as nonvolatile RAM (NVRAM).

A basic ROM design in which ROM is provided in a dual in-line package is shown in Figure 5.83. Here, the ROM consists of the following connections:

Which storage device retains its data even after the computer is switched off?

Figure 5.83. Basic ROM in a DIL package

Address lines define the memory location to be selected for reading or writing.

Output data lines access the data from memory.

Output enable (OE) is a control input that enables the output buffer for reading data from the memory (usually active low).

Chip select (CS) selects the memory (usually active low).

Power supply provides the necessary power to operate the circuit.

In this view, the data bus is considered to be unidirectional (i.e., output only). Where the ROM may be electrically programmed, then the data and control line arrangement will be more complex.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780750683975000052

The hardware

Doug Abbott, in Linux for Embedded and Real-Time Applications (Fourth Edition), 2018

Flash Memory and File Systems

BeagleBone Black Memory Configuration

The BeagleBone Black has several forms of memory, both volatile and nonvolatile, as shown in Fig. 6.9. There are two forms of nonvolatile storage: a 4 KB EEPROM (Electrically Erasable Programmable Read-Only Memory) that stores ID data about the board itself, and a 4 GB eMMC (embedded Multi-Media Card) NAND flash that uses a byte-wide port for address and data. In addition to the on-board NAND flash, there is a microSD card slot for additional storage. Finally, there is 512 MB of DDR3 RAM for working memory.

Which storage device retains its data even after the computer is switched off?

Figure 6.9. BeagleBone Black memory configuration.

The eMMC is divided into two partitions: a 32 MB VFAT formatted boot partition and the remainder is formatted as an ext4 root file system. Once the board is booted, the boot partition is visible to your workstation as a USB drive. It is also mounted in the BBB’s file system as /boot/uboot.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780128112779000067

Embedded Platform Boot Sequence

Peter Barry, Patrick Crowley, in Modern Embedded Computing, 2012

Shadowing

From the reset vector, execution starts off executing directly from the nonvolatile flash storage (NVRAM). This operating mode is known as execute in place (XIP). The read performance of nonvolatile storage is much slower than the read performance of DRAM. So most early firmware will copy code from the slower nonvolatile storage into RAM. The firmware starts to run the RAM copy of the firmware. This process is sometimes known as shadowing. Shadowing involves having the same contents in RAM and flash; with a change in the address decoders the RAM copy is logically in front of the flash copy and the program starts to execute from RAM. On other embedded systems, the chip selects ranges that are managed to allow the change from flash to RAM execution. Most computing systems run as little as possible directly from flash. However, some constrained (in terms of RAM) embedded platforms execute all the application in place (directly from Flash memory). This is generally an option on very small embedded devices. The Intel architecture platforms generally do not execute in place for anything but the very initial boot steps before memory have been configured. The firmware is often compressed. This allows reduction of the NVRAM requirements for the firmware. Clearly, the processor cannot execute a compressed image in place.

There is a trade-off between the storage requirements of a uncompressed firmware image and the time it takes to decompress the image. The decompression algorithm may take much longer to load and execute than it would for the image to remain uncompressed. Prefetchers in the processor, if enabled, may also speed up execution in place, and some SOCs have internal NVRAM cache buffers to assist in pipelining the data from the flash to the processor.

Figure 6.3 shows the memory map at initialization in real mode, which can only access 1 MB of memory.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780123914903000060

Keeping users empowered in a cloudy Internet of Things

Stefanie Gerdes, ... Olaf Bergmann, in The Cloud Security Ecosystem, 2015

Abstract

The Internet of Things includes Smart Objects, small devices with limited abilities, typically made to fulfill a single simple task. They have limited system resources, such as processing power, memory, non-volatile storage, and transmission capacity, are frequently powered from primary batteries, and often lack user interfaces and displays. These devices benefit from being associated with less-constrained devices, in particular for user interactions, as well as for defining their purpose in life in the first place, which includes setting policies relevant to security and privacy. Smart objects will be ubiquitous and attain significant insight into and control over many aspects of everyday life, which makes users expect a very high level of security and privacy of them and of the less-constrained devices controlling them. Cloud-based systems will be hard pressed to fulfill these expectations on their own: The human will need to stay in the loop at least for policy setting.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780128015957000112

Operating Systems

Thomas Sterling, ... Maciej Brodowicz, in High Performance Computing, 2018

11.2.4 File Management

The OS is responsible for users' data and programs organized in files through a hierarchy of named directories. The file system managed by the OS presents this abstraction of the system to the user, and includes many more functions and used services. The system supports nonvolatile storage; that is, the information does not go away when the associated processes terminate. Ordinarily the file system resides on secondary storage, which is primarily hosted by hard-disk drives. However, newer systems may include nonvolatile random access memory (NVRAM) semiconductor devices for lower power consumption and faster response, sometimes dedicated to metadata for large graph structures. In the case of laptops, pads, and phones, solid-state devices made from these components may constitute all the file system. File management may also involve tertiary storage in the form of tape robots. The cost per byte of such storage is much lower than the cost for other forms, with much higher density, and it is therefore are perfect for archival storage of files. Initial access times can be measured in minutes, however, so the OS supports the user's file management system across a complex multilevel storage system, and possibly mounts external file systems as well for even greater data storage space.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780124201583000113

Embedded Processor Architecture

Peter Barry, Patrick Crowley, in Modern Embedded Computing, 2012

Memory Mapping and Protection

For the most trivial of embedded processors, the address space that the processor runs in is the same as the physical addresses used in the system. That is, the pointers used by your program are used directly to decode the physical memory, peripherals, and external devices. These systems are known as Memory Management Unit (MMU)-less processors, to which category the ARM M3 and older ARM7 TDMI belong. All programs and processes live in the same overall address space. The executable running on such a device is typically a monolithic image (all linked together). Most of the system runs either a single program or an RTOS. It is unusual to run a general-purpose operating system such as Linux, although a limited version of Linux is available for such devices, known as uCLinux.

In MMU-less devices, there is often the need to provide some form of protection between different aspects of the system. This level of protection is provided by the provisions of a memory protection unit (MPU). The MPU defines the portions of the system memory map that are valid and provides different access control for system and user processes. On some SOC devices the MPU also controls whether a memory region is cacheable. The MPU typically supports a limited number of defined regions.

Given the increasing complexity of the software running on embedded systems, it is increasingly likely that the SOC has a significantly more capable protection mechanism known as a memory management unit (MMU). The MMU provides protection and a fine-grained address translation capability between the processor’s address space and the physical addresses used throughout the system. The processor address space is known as the linear address space on Intel processors and is often referred to as virtual address space by other architectures. The MMU has support for different translations based on the currently active process. This allows each process to live in the same linear address space, but actually be resident in different physical address spaces. The MMU is also a fundamental building block that allows a processor to support a virtual memory system. A virtual memory system allows the operating system to overcommit the amount of memory provided to applications by having a mechanism to move data in and out from a backing store typically on a disk. This mechanism is known as paging.

Embedded systems do not typically employ the use of virtual memory paging. For a number of reasons, embedded systems shy away from the use of virtual memory paging: paging can introduce significant non-determinism to the behavior of the system, and page faults can take a significant number of processor cycles to handle. A page fault requires copying the processes’ virtual memory page from a disk to an allocated physical memory page, an operation that is tens of thousands of times slower than accessing memory. If a process triggers a page fault, it is suspended until the page fault handler completes the data move. While embedded systems do require nonvolatile storage, it is unlikely that a traditional spinning hard disk medium is used due to environments, cost, serviceability, and power considerations. Flash memory is the predominant nonvolatile storage mechanism used in embedded systems, and a paged virtual memory system would generate a significant number of transactions to the flash-based file system. Given that flash-based nonvolatile storage lifetime is measured in terms of erase cycles, paging could adversely affect the product’s longevity. Most real-time operating systems do not actually support paging for the reasons mentioned above. The Linux operating system does support paging (also known as swapping) by default. It can be disabled at kernel build time by setting the CONFIG_SWAP=N. Swapping can also be disabled at runtime using the root command swapoff -a, but the swap partition or file will remain and consume storage resources.

PROTECTION ON INTEL ARCHITECTURE

The IA-32 architecture has been one of the most consistent and pervasive architectures to date. The earliest products in the architecture (8086 and 80286) provided memory protection by way of segmentation. Given that Intel architecture has always been backward compatible, the segmentation features remain. However, most operating systems use the MMU capabilities for protection (as well as address translation).

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780123914903000059

Embedded Platform Architecture

Peter Barry, Patrick Crowley, in Modern Embedded Computing, 2012

Power Delivery

The details of the power deliver mechanism are not critical to understand as a software developer, but one topic may be relevant, and that is the management of power failure events. In many cases systems provide an indication that the power is about to fail. In this scenario, the platform has a very limited amount of time to perform critical save operations. The interrupt should be handled with the upmost priority; usually, the software flushes cached elements from RAM to nonvolatile storage (such as flash).

A subset of power fail scenarios is known as brown-outs. These are cases where the power supply drops below its normal operating level but not completely off. Think of an engine cranking in your car; this is such a heavy electrical load that the power to some of the electronics can drop momentarily. Managing these scenarios is beyond the scope of this book, but rest assured there can be significant effort expended in testing these scenario; in particular, the integrity of the nonvolatile storage file systems needs particular attention. The technique often requires fail-safe file system updates that can easily be rolled back in the event of corruption due to brown-outs. It is important to have robust brown-out detection circuitry on such platforms. Bear in mind that nothing can be trusted in this grey zone of operation.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780123914903000047