Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Computer data storage
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Hierarchy of storage == {{Main|Memory hierarchy}} [[File:Computer storage types.svg|thumb|right|350px|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 unit|control circuitry]], storage space, and [[input/output]] devices. Technology and capacity as in common [[home computer]]s around 2005.]] Generally, the lower a storage is in the hierarchy, the lesser its [[Bandwidth (computing)|bandwidth]] and the greater its access [[latency (engineering)|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. In contemporary usage, ''memory'' is usually fast but temporary [[semiconductor memory|semiconductor]] [[random-access memory|read-write memory]], typically [[DRAM]] (dynamic RAM) or other such devices. ''Storage'' consists of storage devices and their media not directly accessible by the [[CPU]] ([[Secondary storage|secondary]] or [[tertiary storage]]), typically [[hard disk drive]]s, [[optical disc]] drives, and other devices slower than RAM but [[non-volatile]] (retaining contents when powered down).<ref>''Storage'' as defined in Microsoft Computing Dictionary, 4th Ed. (c)1999 or in The Authoritative Dictionary of IEEE Standard Terms, 7th Ed., (c) 2000.</ref> Historically, ''memory'' has, depending on technology, been called ''central memory'', ''core memory'', ''core storage'', ''drum'', ''main memory'', ''real storage'', or ''internal memory''. Meanwhile, slower persistent storage devices have been referred to as ''secondary storage'', ''external memory'', or ''auxiliary/peripheral storage''. === Primary storage === <!-- Additional DIRECT links point to this section by its name. --> {{Main|Computer memory}} ''Primary storage'' (also known as ''main memory'', ''internal memory'', or ''prime 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 a 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]]. Core memory remained dominant until the 1970s, when advances in [[integrated circuit]] technology allowed [[semiconductor memory]] to become economically competitive.<!-- 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 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 [[volatile memory|volatile]], meaning that they lose the information when not powered. Besides storing opened programs, it serves as [[Page cache|disk cache]] and [[write buffer]] to improve both reading and writing performance. Operating systems borrow RAM capacity for caching so long as it's not needed by running software.<ref>{{cite web| url = https://www.kernel.org/doc/html/latest/admin-guide/sysctl/vm.html| title = Documentation for /proc/sys/vm/ β The Linux Kernel documentation}}</ref> Spare memory can be utilized as [[RAM drive]] for temporary high-speed data storage. 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 (computer architecture)|word]] of data (often 32 or 64 bits). CPU instructions instruct the [[arithmetic logic unit]] to perform various calculations or other operations on this data (or with the help of it). Registers are the fastest of all forms of computer data storage. * [[Processor cache]] is an intermediate stage between ultra-fast registers and much slower main memory. It was introduced solely to improve the performance of computers. 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, main memory is much slower, but has a much greater storage capacity than processor registers. Multi-level [[Memory hierarchy|hierarchical cache]] setup is also commonly usedβ''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 central processing unit via a ''memory bus''. It is actually 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 in the [[Memory cell (computing)|memory cells]] 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. As the RAM types used for primary storage are volatile (uninitialized 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]]''). Many types of "ROM" are not literally ''read only'', as updates to them are possible; however it is slow and memory must be erased in large portions before it can be re-written. Some [[embedded system]]s run programs directly from ROM (or similar), because such programs are rarely changed. Standard computers do not store non-rudimentary programs in ROM, and rather, use large capacities of secondary storage, which is non-volatile as well, and not as costly. Recently, ''primary storage'' and ''secondary storage'' in some uses refer to what was historically called, respectively, ''secondary storage'' and ''tertiary storage''.<ref>{{cite web|url=http://searchstorage.techtarget.com/topics/0,295493,sid5_tax298620,00.html|title=Primary storage or storage hardware (shows usage of term "primary storage" meaning "hard disk storage")|url-status=dead|archive-url=https://web.archive.org/web/20080910151628/http://searchstorage.techtarget.com/topics/0,295493,sid5_tax298620,00.html|archive-date=10 September 2008|website=searchstorage.techtarget.com|access-date=18 June 2011}}</ref> The primary storage, including [[Read-only memory|ROM]], [[EEPROM]], [[NOR flash]], and [[Random access memory|RAM]],<ref>{{cite book | url=https://books.google.com/books?id=QGPHAl9GE-IC&dq=size+of+a+memory+address&pg=PA321 | isbn=978-0-7637-3769-6 | title=The Essentials of Computer Organization and Architecture | date=2006 | publisher=Jones & Bartlett Learning }}</ref> are usually [[byte-addressable]]. === Secondary storage === <!-- Note that additional direct links point to this section by its name. -->''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 its 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. In modern computers, [[hard disk drive]]s (HDDs) or [[solid-state drive]]s (SSDs) are usually used as secondary storage. The [[access time]] per byte for HDDs or SSDs is typically measured in [[millisecond]]s (thousandths of a second), while the access time per byte for primary storage is measured in [[nanosecond]]s (billionths of a second). Thus, secondary storage is significantly slower than primary storage. Rotating [[Optical disc drive|optical storage]] devices, such as [[CD]] and [[DVD]] drives, have even longer access times. Other examples of secondary storage technologies include [[USB flash drive]]s, [[floppy disk]]s, [[magnetic-tape data storage|magnetic tape]], [[paper tape]], [[punched card]]s, and [[RAM drive|RAM disks]]. Once the [[disk read/write head]] on HDDs reaches the proper placement and the data, subsequent data on the track are very fast to access. To reduce the seek time and rotational latency, data are transferred to and from disks in large contiguous blocks. Sequential or block access on disks is orders of magnitude faster than random access, and many sophisticated paradigms have been developed to design efficient algorithms based on sequential and block access. Another way to reduce the I/O bottleneck is to use multiple disks in parallel to increase the bandwidth between primary and secondary memory, for example, using [[RAID]].<ref>{{cite book|author=[[J. S. Vitter]]|url=http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf|url-status=live|title=Algorithms and data structures for external memory|archive-url=https://web.archive.org/web/20110104233254/http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf |archive-date=4 January 2011|series=Series on foundations and trends in theoretical computer science|publisher=now Publishers|location=Hanover, MA|year=2008|isbn=978-1-60198-106-6}}</ref> Secondary storage is often formatted according to a [[file system]] format, which provides the abstraction necessary to organize data into [[Computer file|files]] and [[Directory (computing)|directories]], while also providing [[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 the 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 (computer memory)|pages]]) to a swap file or page file on secondary storage, retrieving them later when needed. If a lot of pages are moved to slower secondary storage, the system performance is degraded. The secondary storage, including [[Hard disk drive|HDD]], [[optical disc drive|ODD]] and [[Solid state drive|SSD]], are usually block-addressable. === Tertiary storage === <!-- Note that additional direct links point to this section by its name. --> {{See also|Nearline storage|Cloud storage}} [[File:StorageTek Powderhorn tape library.jpg|thumb|A large [[tape library]], with tape cartridges placed on shelves in the front, and a robotic arm moving in the back. The visible height of the library is about 180 cm.]] ''Tertiary storage'' or ''tertiary memory''<ref>{{cite web|url=http://www.eecs.berkeley.edu/Pubs/TechRpts/1994/CSD-94-847.pdf|url-status=live|title=A thesis on tertiary storage|archive-url=https://web.archive.org/web/20070927233543/http://www.eecs.berkeley.edu/Pubs/TechRpts/1994/CSD-94-847.pdf |archive-date=27 September 2007|access-date=18 June 2011}}</ref> 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 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. Tertiary storage is also known as ''[[nearline storage]]'' because it is "near to online". The formal distinction between online, nearline, and offline storage is:<ref name="pearson2010">{{cite web |last=Pearson |first=Tony |year=2010 |url=https://www.ibm.com/developerworks/community/blogs/InsideSystemStorage/entry/the_correct_use_of_the_term_nearline2 |url-status=dead|title=Correct use of the term nearline|work=IBM developer-works, inside system storage|archive-url=https://web.archive.org/web/20151124110253/https://www.ibm.com/developerworks/community/blogs/InsideSystemStorage/entry/the_correct_use_of_the_term_nearline2?lang=en|archive-date=24 November 2015|access-date=16 August 2015}}</ref> * Online storage is immediately available for I/O. * Nearline storage is not immediately available, but can be made online quickly without human intervention. * Offline storage is not immediately available, and requires some human intervention to become online. For example, always-on spinning hard disk drives are online storage, while spinning drives that spin down automatically, such as in massive arrays of idle disks ([[Non-RAID drive architectures#MAID|MAID]]), are nearline storage. Removable media such as [[tape cartridge]]s that can be automatically loaded, as in [[tape libraries]], are nearline storage, while tape cartridges that must be manually loaded are offline storage. === Off-line storage === <!-- Additional direct links point to this section by name. --> ''Off-line storage'' is computer data storage on a medium or a device that is not under the control of a [[central processing unit|processing unit]].<ref>{{Cite tech report |last = National Communications System |author-link = National Communications System |title = Federal Standard 1037C β Telecommunications: Glossary of Telecommunication Terms |publisher = General Services Administration |date = August 7, 1996 |id = FS-1037C |url = http://www.its.bldrdoc.gov/fs-1037/fs-1037c.htm |access-date = 2007-10-08 |url-status = dead |archive-url = https://web.archive.org/web/20090302235918/http://www.its.bldrdoc.gov/fs-1037/fs-1037c.htm |archive-date = 2 March 2009}} 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. [[Off-line]] storage is used to [[Data communication|transfer information]] since the detached medium can easily be physically transported. Additionally, it is useful for cases of disaster, where, for example, a fire destroys the original data, a medium in a remote location will be unaffected, enabling [[IT disaster recovery|disaster recovery]]. Off-line storage increases 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 rarely accessed, 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 the most popular, and to a much lesser extent removable hard disk drives; older examples include floppy disks and Zip disks. In enterprise uses, magnetic tape cartridges are predominant; older examples include open-reel magnetic tape and punched cards.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)