Jump to content

Computer data storage: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Reverted edits by 195.194.22.45 (talk) to last version by Loren.wilton
Line 27: Line 27:
=== Primary storage === <!-- Note that additional DIRECT links point to this section by its name. -->
=== Primary storage === <!-- Note that additional DIRECT links point to this section by its name. -->
:''Direct links to this section: [[Primary storage]], [[Main memory]].'' <!-- A *lot* of people will need a direct to link to the subject, and mostly they don't know about # magic. Inform them about the possibility, or they will split this article in no-time. -->
:''Direct links to this section: [[Primary storage]], [[Main memory]].'' <!-- A *lot* of people will need a direct to link to the subject, and mostly they don't know about # magic. Inform them about the possibility, or they will split this article in no-time. -->

'''Primary storage''', presently known as '''memory''', is the only one directly accessible to the CPU. The CPU continuously reads instructions stored there and executes them. Any data actively operated on is also stored there in uniform manner.

Historically, [[History of computing hardware|early computers]] used [[delay line memory|delay lines]], [[Williams tube]]s, or rotating [[drum memory|magnetic drums]] as primary storage. By 1954, those unreliable methods were mostly replaced by [[magnetic core memory]], which was still rather cumbersome. Undoubtedly, a revolution was started with the invention of a [[transistor]], that soon enabled then-unbelievable miniaturization of electronic memory via [[solid-state]] [[silicon chip]] technology. <!-- Please DO NOT EXPAND above text! Change but no expand any further. Anyone desiring to know more types, let it be [[twistor memory]] or [[bubble memory]] etc, will click the History link. Do not confuse other readers. -->

This led to a modern [[random access memory]] (RAM). It is small-sized, light, but quite expensive at the same time. (The particular types of RAM used for primary storage are also [[volatile memory|volatile]], i.e. loses the information when not powered).

As shown in the diagram, traditionally there are two more sub-layers of the primary storage, besides main large-capacity RAM:
* [[Processor register]]s are located inside the processor. Each register typically holds a [[word (computing)|word]] of data (often 32 or 64 bits). CPU instructions instruct the [[arithmetic and logic unit]] to perform various calculations or other operations on this data (or with the help of it). Registers are technically among the fastest of all forms of computer data storage, being switching transistors integrated on the CPU's [[silicon chip|chip]], and functioning as electronic "[[Flip-flop (electronics)|flip-flops]]".
* [[CPU cache|Processor cache]] is an intermediate stage between ultra-fast registers and much slower main memory. It's introduced solely to increase performance of the computer. Most actively used information in the main memory is just duplicated in the cache memory, which is faster, but of much lesser capacity. On the other hand it is much slower, but much larger than processor registers. Multi-level [[Memory hierarchy|hierarchical cache]] setup is also commonly used&mdash;''primary cache'' being smallest, fastest and located inside the processor; ''secondary cache'' being somewhat larger and slower. <!-- Please DO NOT EXPAND above text, especially with L1/L2/etc variants - reader can always click the link. -->

Main memory is directly or indirectly connected to the CPU via a ''memory bus'', today sometimes referred to as a [[front side bus]]. It is actually comprised of two buses (not on the diagram): an [[address bus]] and a [[data bus]]. The CPU firstly sends a number through an address bus, a number called [[memory address]], that indicates the desired location of data. Then it reads or writes the data itself using the data bus. Additionally, a [[memory management unit]] (MMU) is a small device between CPU and RAM recalculating the actual memory address, for example to provide an abstraction of [[virtual memory]] or other tasks.<!-- No more about pretty advanced concept of virtualization needed here, or readers will freak out. Yeah MMU can do much more - they will click the link. -->

As the RAM types used for primary storage are volatile (cleared at start up), a computer containing only such storage would not have a source to read instructions from, in order to start the computer. Hence, [[Non-volatile memory|non-volatile primary storage]] containing a small startup program ([[BIOS]]) is used to [[Bootstrapping (computing)|bootstrap]] the computer, that is, to read a larger program from non-volatile ''secondary'' storage to RAM and start to execute it. A non-volatile technology used for this purpose is called ROM, for [[read-only memory]] (the terminology may be somewhat confusing as most ROM types are also capable of ''random access'').<!-- yes there are other things besides BIOS, those will be easily accessed with [[bootstrap]] link -->

Many types of "ROM" are not literally ''read only'', as updates are possible; however it is slow and memory must be erased in large portions before it can be re-written. Some [[embedded systems]] run programs directly from ROM (or similar), because such programs are rarely changed. Standard computers do not store non-rudimentary programs in ROM, rather use large capacities
of secondary storage, which is non-volatile as well, and not as costly. <!-- mention NVRAM here, and risk severe confusion - as this is secondary memory, yet RAM descendent -->

Recently, ''primary storage'' and ''secondary storage'' in some uses refer to what was historically called, respectively, ''secondary storage'' and ''tertiary storage''.<ref>http://searchstorage.techtarget.com/topics/0,295493,sid5_tax298620,00.html "Primary Storage or Storage Hardware" (shows usage of term "primary storage" meaning "hard disk storage")</ref>
<!-- THESE are leftover links to [[Primary Storage]]
[[ar:ذاكرة رئيسية]]
[[de:Arbeitsspeicher]]
[[es:Memoria (informática)]]
[[nl:intern geheugen]]
[[ja:主記憶装置]]
[[pl:Pamięć komputerowa]]
[[ru:Оперативная память]]
[[sk:Operačná pamäť]]
[[sv:Arbetsminne]]
THESE are leftover links to [[Primary Storage]] -->

=== Secondary storage === <!-- Note that additional DIRECT links point to this section by its name. -->
[[Image:Hard disk platter reflection.jpg|thumb|A hard disk drive with protective cover removed.]]

'''Secondary storage''', or ''storage'' in popular usage, 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 desired data using [[buffer (computer science)|intermediate area]] in primary storage. Secondary storage does not lose the data when the device is powered down&mdash;it is non-volatile. Per unit, it is typically also an order of magnitude less expensive than primary storage. Consequently, modern computer systems typically have an order of magnitude more secondary storage than primary storage and data is kept for a longer time there.

In modern computers, [[hard disk]]s 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 thousandths of a second, or milliseconds. By contrast, the time taken to access a given byte of information stored in random access memory is measured in thousand-millionths of a second, or 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 disc drive|optical storage]] devices, such as [[compact disc|CD]] and [[DVD]] drives, have even longer access times.

Some other examples of secondary storage technologies are: [[flash memory]] (e.g. [[USB stick]]s or keys), [[floppy disk]]s, [[Magnetic tape data storage|magnetic tape]], [[Punched tape|paper tape]], [[punch card]]s, standalone [[RAM disk]]s, and [[Zip drive]]s.

The secondary storage is often formatted according to a [[filesystem]] format, which provides the abstraction necessary to organize data into [[files]] and [[directories]], providing also additional information (called [[metadata]]) describing the owner of a certain file, the access time, the access permissions, and other information.

Most computer [[operating system]]s use the concept of [[virtual memory]], allowing utilization of more primary storage capacity than is physically available in the system. As the primary memory fills up, the system moves the least-used chunks (''[[page (computing)|pages]]'') to secondary storage devices (to a [[swap file]] or [[page file]]), retrieving them later when they are needed. As more of these retrievals from slower secondary storage are necessary, the more the overall system performance is degraded.

=== Tertiary storage === <!-- Note that additional DIRECT links point to this section by its name. -->
[[Image:StorageTek Powderhorn tape library.jpg|thumb|Large [[tape library]]. Tape cartridges placed on shelves in the front, robotic arm moving in the back. Visible height of the library is about 180 cm.]]
'''Tertiary storage''' or '''tertiary memory''',<ref> [http://www.eecs.berkeley.edu/Pubs/TechRpts/1994/CSD-94-847.pdf A thesis on Tertiary storage] </ref> 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. 5-60 seconds vs. 1-10 milliseconds). This is primarily useful for extraordinarily large data stores, accessed without human operators. Typical examples include [[tape library|tape libraries]] and [[optical jukebox]]es.

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 [[industrial robot|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.

=== Off-line storage === <!-- Note that additional DIRECT links point to this section by its name. -->
'''Off-line storage''', also known as '''disconnected storage''', is a computer data storage on a medium or a device that is not under the control of a [[central processing unit|processing unit]].<ref>{{Citation
| last = National Communications System
| author-link = National Communications System
| title = Federal Standard 1037C - Telecommunications: Glossary of Telecommunication Terms
| publisher = General Services Administration
| year = 1996
| id = FS-1037C
| url = http://www.its.bldrdoc.gov/fs-1037/fs-1037c.htm
| accessdate = 2007-10-08
}} See also article [[Federal Standard 1037C]].</ref> 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.

[[On-line and off-line|Off-line]] storage is used to [[data transfer|transfer information]], since the detached medium can be easily physically transported. Additionally in case a disaster, for example a fire, destroys the original data, a medium in a remote location will be probably unaffected, enabling [[disaster recovery]]. Off-line storage increases a general [[information security]], since it is physically inaccessible from a computer, and data confidentiality or integrity cannot be affected by computer-based attack techniques. Also, if the information stored for archival purposes is accessed seldom or never, off-line storage is less expensive than tertiary storage.

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, and to much lesser extent removable hard disk drives. In enterprise uses, magnetic tape is predominant. Older examples are floppy disks, Zip disks, or punched cards.


== Characteristics of storage ==
== Characteristics of storage ==

Revision as of 12:29, 21 April 2008

1 GiB of SDRAM mounted in a personal computer. An example of primary storage.
40 GB hard disk drive (HDD); when connected to a computer it serves as secondary storage.
160 GB SDLT tape cartridge, an example of off-line storage. When used within a robotic tape library, it is classified as tertiary storage instead.

Computer data storage, often called storage or memory, refers to computer components, devices, and recording media that retain digital data used for computing for some interval of time. Computer data storage provides one of the core functions of the modern computer, that of information retention. It is one of the fundamental components of all modern computers, and coupled with a central processing unit (CPU, a processor), implements the basic computer model used since the 1940s.

In contemporary usage, memory usually refers to a form of semiconductor storage known as random access memory (RAM) and sometimes other forms of fast but temporary storage. Similarly, storage today more commonly refers to mass storage - optical discs, forms of magnetic storage like hard disks, and other types slower than RAM, but of a more permanent nature. Historically, memory and storage were respectively called primary storage and secondary storage.

The contemporary distinctions are helpful, because they are also fundamental to the architecture of computers in general. As well, they reflect an important and significant technical difference between memory and mass storage devices, which has been blurred by the historical usage of the term storage. Nevertheless, this article uses the traditional nomenclature.

Purpose of storage

Various forms of storage, based on various natural phenomena, have 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.

A digital computer represents information using the binary numeral system. Text, numbers, pictures, audio, and nearly any other form of information can be converted into a string of bits, or binary digits, each of which has a value of 1 or 0. The most common unit of storage is the byte, equal to 8 bits. A piece of information can be handled by any computer whose storage space is large enough to accommodate the binary representation of the piece of information, or simply data. For example, using eight million bits, or about one megabyte, a typical computer could store a small novel.

Traditionally the most important part of every computer is the central processing unit (CPU, or simply a processor), because it actually operates on data, performs any calculations, and controls all the other components.

Without significant amount of 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 behaviour. 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; they also tend to be simpler to design, in that a relatively simple processor may keep state between successive computations to build up complex procedural results. 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 tradeoff between performance and cost. Generally, the lower a storage is in the hierarchy, the lesser its bandwidth and the greater its access latency is from the CPU. This traditional division of storage to primary, secondary, tertiary and off-line storage is also guided by cost per bit.

Hierarchy of storage

Various forms of storage, divided according to their distance from the central processing unit. The fundamental components of a general-purpose computer are arithmetic and logic unit, control circuitry, storage space, and input/output devices. Technology and capacity as in common home computers around 2005.

Primary storage

Direct links to this section: Primary storage, Main memory.

Characteristics of storage

A 1GB DDR RAM memory module

Storage technologies at all levels of the storage hierarchy can be differentiated by evaluating certain core characteristics as well as measuring characteristics specific to a particular implementation. These core characteristics are volatility, mutability, accessibility, and addressibility. For any particular implementation of any storage technology, the characteristics worth measuring are capacity and performance.

Volatility

Non-volatile memory
Will retain the stored information even if it is not constantly supplied with electric power. It is suitable for long-term storage of information. Nowadays used for most of secondary, tertiary, and off-line storage. In 1950s and 1960s, it was also used for primary storage, in the form of magnetic core memory.
Volatile memory
Requires constant power to maintain the stored information. The fastest memory technologies of today are volatile ones (not a universal rule). Since primary storage is required to be very fast, it predominantly uses volatile memory.

Differentation

Dynamic memory
A form of volatile memory which also requires the stored information to be periodically re-read and re-written, or refreshed, otherwise it would vanish.
Static memory
A form of volatile memory similar to DRAM with the exception that it does not refresh on occasion.
  • side note* most modern PC system developers have gone with DRAM as the standard with SDRAM and SRAM being slowly phased out of the common marketplace as new motherboards are not being built to support these styles of chips.

Mutability

Read/write storage or mutable storage
Allows information to be overwritten at any time. A computer without some amount of read/write storage for primary storage purposes would be useless for many tasks. Modern computers typically use read/write storage also for secondary storage.
Read only storage
Retains the information stored at the time of manufacture, and write once storage (WORM) allows the information to be written only once at some point after manufacture. These are called immutable storage. Immutable storage is used for tertiary and off-line storage. Examples include CD-ROM and CD-R.
Slow write, fast read storage
Read/write storage which allows information to be overwritten multiple times, but with the write operation being much slower than the read operation. Examples include CD-RW.

Accessibility

Random access
Any location in storage can be accessed at any moment in approximately the same amount of time. Such characteristic is well suited for primary and secondary storage.
Sequential access
The accessing of pieces of information will be in a serial order, one after the other; therefore the time to access a particular piece of information depends upon which piece of information was last accessed. Such characteristic is typical of off-line storage.

Addressability

Location-addressable
Each individually accessible unit of information in storage is selected with its numerical memory address. In modern computers, location-addressable storage usually limits to primary storage, accessed internally by computer programs, since location-addressability is very efficient, but burdensome for humans.
File addressable
Information is divided into files of variable length, and a particular file is selected with human-readable directory and file names. The underlying device is still location-addressable, but the operating system of a computer provides the file system abstraction to make the operation more understandable. In modern computers, secondary, tertiary and off-line storage use file systems.
Content-addressable
Each individually accessible unit of information is selected with a hash value, or a short identifier with number? pertaining to the memory address the information is stored on. Content-addressable storage can be implemented using software (computer program) or hardware (computer device), with hardware being faster but more expensive option.

Capacity

Raw capacity
The total amount of stored information that a storage device or medium can hold. It is expressed as a quantity of bits or bytes (e.g. 10.4 megabytes).
Density
The compactness of stored information. It is the storage capacity of a medium divided with a unit of length, area or volume (e.g. 1.2 megabytes per square inch).

Performance

Latency
The time it takes to access a particular location in storage. The relevant unit of measurement is typically nanosecond for primary storage, millisecond for secondary storage, and second for tertiary storage. It may make sense to separate read latency and write latency, and in case of sequential access storage, minimum, maximum and average latency.
Throughput
The rate at which information can be read from or written to the storage. In computer data storage, throughput is usually expressed in terms of megabytes per second or MB/s, though bit rate may also be used. As with latency, read rate and write rate may need to be differentiated. Also accessing media sequentially, as opposed to randomly, typically yields maximum throughput.

Fundamental storage technologies

As of 2008, the most commonly used data storage technologies are semiconductor, magnetic, and optical, while paper still sees some limited usage. Some other fundamental storage technologies have also been used in the past or are proposed for development.

Semiconductor

Semiconductor memory uses semiconductor-based integrated circuits to store information. A semiconductor memory chip may contain millions of tiny transistors or capacitors. Both volatile and non-volatile forms of semiconductor memory exist. In modern computers, primary storage almost exclusively consists of dynamic volatile semiconductor memory or dynamic random access memory. Since the turn of the century, a type of non-volatile semiconductor memory known as flash memory has steadily gained share as off-line storage for home computers. Non-volatile semiconductor memory is also used for secondary storage in various advanced electronic devices and specialized computers.

Magnetic

Magnetic storage uses different patterns of magnetization on a magnetically coated surface to store information. Magnetic storage is non-volatile. The information is accessed using one or more read/write heads which may contain one or more recording transducers. A read/write head only covers a part of the surface so that the head or medium or both must be moved relative to another in order to access data. In modern computers, magnetic storage will take these forms:

In early computers, magnetic storage was also used for primary storage in a form of magnetic drum, or core memory, core rope memory, thin film memory, twistor memory or bubble memory. Also unlike today, magnetic tape was often used for secondary storage.

Optical

Optical storage, the typical Optical disc, stores information in deformities on the surface of a circular disc and reads this information by illuminating the surface with a laser diode and observing the reflection. Optical disc storage is non-volatile. The deformities may be permanent (read only media ), formed once (write once media) or reversible (recordable or read/write media). The following forms are currently in common use: [1]

Magneto-optical disc storage is optical disc storage where the magnetic state on a ferromagnetic surface stores information. The information is read optically and written by combining magnetic and optical methods. Magneto-optical disc storage is non-volatile, sequential access, slow write, fast read storage used for tertiary and off-line storage.

3D optical data storage has also been proposed.

Paper

Paper data storage, typically in the form of paper tape or punch cards, has long been used to store information for automatic processing, particularly before general-purpose computers existed. Information was recorded by punching holes into the paper or cardboard medium and was read mechanically (or later optically) to determine whether a particular location on the medium was solid or contained a hole.

Uncommon

Vacuum tube memory
A Williams tube used a cathode ray tube, and a Selectron tube used a large vacuum tube to store information. These primary storage devices were short-lived in the market, since Williams tube was unreliable and Selectron tube was expensive.
Electro-acoustic memory
Delay line memory used sound waves in a substance such as mercury to store information. Delay line memory was dynamic volatile, cycle sequential read/write storage, and was used for primary storage.
Phase-change planar memory
uses different mechanical phases of phase change material to store information in an X-Y addressable matrix, and reads the information by observing the varying electric resistance of the material. Phase-change memory would be non-volatile, random access read/write storage, and might be used for primary, secondary and off-line storage. Most rewritable and many write once optical disks already use phase change material to store information.
Holographic storage
stores information optically inside crystals or photopolymers. Holographic storage can utilize the whole volume of the storage medium, unlike optical disc storage which is limited to a small number of surface layers. Holographic storage would be non-volatile, sequential access, and either write once or read/write storage. It might be used for secondary and off-line storage. See Holographic Versatile Disc (HVD).
Molecular memory
stores information in polymers that can store electric charge. Molecular memory might be especially suited for primary storage.

Network connectivity

A secondary or tertiary storage may connect to a computer utilizing computer networks. This concept does not pertain to the primary storage, which is shared between multiple processors in a much lesser degree.

  • Direct-attached storage (DAS) is a traditional mass storage, that does not use any network. This is still a most popular approach. This term was coined lately, together with NAS and SAN.
  • Network-attached storage (NAS) is mass storage attached to a computer which another computer can access at file level over a local-area network, a private wide-area network, or in the case of online file storage, over the Internet. NAS is commonly associated with the NFS and CIFS/SMB protocols.
  • Storage area network (SAN) is a specialized network, that provides other computers with storage capacity. The crucial difference between NAS and SAN is the former presents and manages file systems to client computers, whilst a latter provides access at block-addressing (raw) level, leaving it to attaching systems to manage data or file systems within the provided capacity. SAN is commonly associated with Fibre Channel networks.

Robotic storage

Large quantities of individual magnetic tapes, and optical or magneto-optical discs may be stored in robotic tertiary storage devices. In tape storage field they are known as tape libraries, and in optical storage field optical jukeboxes, or optical disk libraries per analogy. Smallest forms of either technology containing just one drive device are referred to as autoloaders or autochangers.

Robotic-access storage devices may have a number of slots, each holding individual media, and usually one or more picking robots that traverse the slots and load media to built-in drives. The arrangement of the slots and picking devices affects performance. Important characteristics of such storage are possible expansion options: adding slots, modules, drives, robots. Tape libraries may have from 10 to more than 100,000 slots, and provide terabytes or petabytes of near-line information. Optical jukeboxes are somewhat smaller solutions, up to 1,000 slots.

Robotic storage is used for backups, and for high-capacity archives in imaging, medical, and video industries. Hierarchical storage management is a most known archiving strategy of automatically migrating long-unused files from fast hard disk storage to libraries or jukeboxes. If the files are needed, they are retrieved back to disk.

See also

Primary storage topics

Secondary, tertiary and off-line storage topics

Data storage conferences

References

  1. ^ The DVD FAQ is a comprehensive reference of DVD technologies.