InTech, 2010. — 240 p.
Many different forms of storage, based on various natural phenomena, has been invented. So far, no practical universal storage medium exists, and all forms of storage have some drawbacks. Therefore, a computer system usually contains several kinds of storage, each with an individual purpose.
Traditionally, the most important part of a digital computer is the central processing unit (CPU or, simply, a processor), because it actually operates on data, performs calculations, and controls all the other components. Without a memory, a computer would merely be able to perform fixed operations and immediately output the result. It would have to be reconfigured to change its behavior. This is acceptable for devices such as desk calculators or simple digital signal processors. Von Neumann machines differ in that they have a memory in which they store their operating instructions and data. Such computers are more versatile in that they do not need to have their hardware reconfigured for each new program, but can simply be reprogrammed with new in-memory instructions. Most modern computers are von Neumann machines.
In practice, almost all computers use a variety of memory types, organized in a storage hierarchy around the CPU, as a trade-off between performance and cost. Generally, the lower a storage is in the hierarchy, the lesser its bandwidth (the amount of transferred data per time unit) and the greater its latency (the time to access a particular storage location) is from the CPU. This traditional division of storage to primary, secondary, tertiary and off-line storage is also guided by cost per bit.
Primary storage (or main memory, or internal memory), often referred to simply as memory, is the only one directly accessible to the CPU. The CPU continuously reads instructions stored there and executes them as required. Any data actively operated on is also stored there in uniform manner. As the random-access memory (RAM) types used for primary storage are volatile (i.e., they lose the information when not powered), a computer containing only such storage would not have a source to read instructions from, in order to start the computer. Hence, non-volatile primary storage containing a small startup program is used to bootstrap the computer, that is, to read a larger program from non-volatile secondary storage to RAM and start to execute it.
Secondary storage (or external memory) 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 transfers the desired data using intermediate area in the primary storage. The secondary storage does not lose the data when the device is powered down – it is non-volatile. Per unit, it is typically also two orders of magnitude less expensive than primary storage. In modern computers, hard disk drives are usually used as secondary storage. The time taken to access a given byte of information stored on a hard disk is typically a few milliseconds. By contrast, the time taken to access a given byte of information stored in a RAM is measured in nanoseconds. This illustrates the very significant access-time difference which distinguishes solid-state memory from rotating magnetic storage devices: hard disks are typically about a million times slower than memory. Rotating optical storage devices, such as CD and DVD drives, have even longer access times. Some other examples of secondary storage technologies are: flash memory (e.g. USB flash drives), floppy disks, magnetic tape, paper tape, punched cards, stand-alone RAM disks, and Zip drives.
Tertiary storage or tertiary memory provides a third level of 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; this data is often copied to secondary storage before use. It is primarily used for archival of rarely accessed information since it is much slower than secondary storage (e.g. tens of seconds). This is primarily useful for extraordinarily large data stores, accessed without human operators. Typical examples include tape libraries and optical jukeboxes.
Off-line storage is a computer data storage on a medium or a device that is not under the control of a processing unit. In modern personal computers, most secondary and tertiary storage media are also used for off-line storage. Optical discs and flash memory devices are most popular, while in enterprise uses, magnetic tape is predominant. This book presents several advances in different research areas related to data storage, from the design of a hierarchical memory subsystem in embedded signal processing systems for data-intensive applications, to data representation in flash memories, to the data recording and retrieval in conventional optical data storage systems and the more recent holographic systems, to applications in medicine requiring massive image databases.
In optical storage systems, sensitive stored patterns can cause failure in data retrieval and decrease the system reliability. Modulation codes play the role of shaping the characteristics of stored data patterns. In conventional optical data storage systems, information is recorded in a one-dimensional spiral stream. The major concern of modulation codes for these systems is to separate the binary 1’s by a number of binary 0’s.
The holographic data storage systems are regarded as the next-generation optical data storage due to an extremely high capacity and ultra-fast transfer rate. In holographic systems, information is stored as pixels on two-dimensional pages. Different from the conventional optical data storage, the additional dimension inevitably brings new considerations to the design of modulation codes. The primary concern is that interferences between pixels are omni-directional. Moreover, interferences between pixels are imbalanced: since pixels carry different intensities to represent different bits of information, pixels with higher intensities tend to corrupt the signal fidelity of pixels with lower intensities more than the other way around.
Modulation Codes for Optical Data Storage.
Signal Processing in Holographic Data Storage.
Optical data storage in photosensitive glasses and spin state transition compounds.
Data Representation for Flash Memories.
Design and Implementation of FPGA- based Systolic Array for LZ Data Compression.
Design of Simple and High Speed Scheme to Protect Mass Storages.
Administration and Monitoring Service for Storage Virtualization in Grid Environments.
Power-Aware Memory Allocation for Embedded Data-Intensive Signal Processing Applications.
High Throughput Architecture for High Performance NoC.
Non-volatile memory interface protocols for smart sensor networks and mobile devices.
Electronic Nose System and Artificial Intelligent Techniques for Gases Identification.
Medical Image Intelligent Access Integrated with Electronic Medical Records System for Brain Degenerative Disease.
Use of RFID tags for data storage on quality control in cheese industries.