Single-level store
Single-level storage (SLS) is a computer storage concept where the entire storage of a computer is thought of as a single two-dimensional plane of addresses, pointing to pages. Pages may be in primary storage (RAM) or in secondary storage (disk); however, the current location of an address is unimportant to a process.
SLS is most often associated with IBM i (formerly known as i5/OS or OS/400), the operating system of the IBM System i, although it was originally introduced in 1962 by the Atlas system at Manchester.[1] Since it filled an important need, Atlas's storage system was widely copied, first by Multics in a project shared by MIT, General Electric and Bell Labs. IBM first implemented SLS in 1978 in the System/38 and its Control Program Facility (CPF) operating system, the predecessor to IBM i.
Design
With a single-level storage the entire storage of a computer is thought of as a single two-dimensional plane of addresses, pointing to pages. Pages may be in primary storage (RAM) or in secondary storage (disk); however, the current location of an address is unimportant to a process. The operating system takes on the responsibility of locating pages and making them available for processing. If a page is in primary storage, it is immediately available. If a page is on disk, a page fault occurs and the operating system brings the page into primary storage. No explicit I/O to secondary storage is done by processes; instead, reads from secondary storage are done as the result of page faults and writes to secondary storage are done when pages that have been modified since being read from secondary storage into primary storage are written back to their location in secondary storage.
With the i5/OS implementation of single-level storage, page faults are divided into two categories. These are database faults and non-database faults. Database faults occur when a page associated with a relational database object like a table, view or index is not currently in primary storage. Non-database faults occur when any other type of object is not currently in primary storage.
The i5/OS treats all secondary storage as a single pool of data, rather than as a collection of multiple pools (file systems), as is usually done on Unix- and CP/M-based systems like BSD, Linux and Microsoft Windows. It intentionally scatters the pages of all objects across all disks so that the objects can be stored and retrieved much more rapidly. As a result, an i5/OS server rarely becomes disk bound. Single-level storage operating systems also allow CPU, memory and disk resources to be freely substituted for each other at run time to smooth out performance bottlenecks.
History
IBM's design of the single-level storage was originally conceived and pioneered by Frank Soltis in the late 1970s as a way to build a transitional implementation to computers with 100% solid state memory. The thinking at the time was that disk drives would become obsolete, and would be replaced entirely with some form of solid state memory. i5/OS was designed to be independent of the form of hardware memory used for secondary storage. This has not come to be, however, because while solid state memory has become exponentially cheaper, disk drives have also become similarly cheaper; thus, the price ratio in favour of disk drives continues: very much higher capacities than solid state memory, very much slower to access, and much less expensive.
See also
- Atlas (computer)
- System/38
- IBM i5/OS
- Extremely Reliable Operating System
- Multics
- Virtual memory
- Memory-mapped file
References
- ↑ One-Level Storage System, T. Kilburn, D.B.G. Edwards, M.J. Lanigan, F.H. Sumner, IRE Trans. Electronic Computers April 1962 Accessed 2011-10-13