Chapter 5 Data Storage Technology Chapter goals Describe the distinguishing characteristics of primary and secondary storage Describe the devices used to implement primary storage Describe the memory allocation schemes Compare and contrast secondary storage technology alternatives Goals cont. Describe factors that determine storage device performance Choose appropriate secondary storage technologies and devices Explore storage devices and their technologies Outlines characteristics common to all storage devices Explains the technology strengths and weaknesses of primary storage and secondary storage Storage types Primary storage – memory or RAM Holds instructions and data for currently executing programs Volatile – requires electricity to maintain data Secondary storage – electromagnetic or optical devices Non-volatile storage devices with large capacities Storage device components Storage devices are comprised of Storage medium Read/write mechanism Device controller – interface between the storage device and the system bus (discussed in chapter 6) Storage device characteristics Speed Speed of primary storage (RAM) directly impacts performance of entire system RAM extends the limited capacity of CPU registers The CPU continually moves data and instructions between registers and RAM If a read/write to RAM takes more than one CPU cycle, then CPU must wait for information RAM is faster than secondary storage by a factor of 105 or more Speed cont. Speed is also an issue for secondary storage Called “access time” or “seek time” Access time is defined as time to complete one read or write operation Access time for disk or tape storage can vary depending on location of information, therefore access time is expressed as an average Access times Primary storage – expressed in nanoseconds (billionths of a second) Secondary storage – expressed in milliseconds (thousandths of a second) Data transfer rate Complete measure of data access speed consists of access time and the unit of data transfer to/from the storage device Access time plus how much data is transferred Data transfer unit for primary storage is based on word size (usually 32 bit) Data transfer unit Data transfer unit (amount of data moved at a time) for secondary storage varies depending on the device Unit is called a “block” Block size is stated in bytes “Sector” is data transfer unit for magnetic and optical devices Common sector/block size is 512 bytes Data transfer rate Expressed in terms of bytes/second Access time combined with data transfer unit Data transfer rate describes how much data can be transferred between devices over a period of time Volatility Volatile – storage device is volatile if it cannot reliable hold data for long periods of time Non–volatile – storage device is non-volatile if it can reliably store data for long periods of time Computer systems need a combination of volatile and non-volatile storage devices Access method Physical structure of storage device’s read/write mechanism determines the way(s) data can be accessed Serial access Random access Parallel access Serial access Stores and retrieves data items in a linear or sequential order Slowest access method Tape typically used for backup purposes Random access Also called a direct access device Can directly access data stored on the device All primary storage and disk storage devices are direct access Parallel access – with multiple read/write heads, can simultaneously access more than one storage location Portability Data can be made portable by storing it on a removable storage medium or device. Portable devices typically have slower access speed than permanently installed devices and those with nonremovable media. Cost and capacity An increase in speed, permanence or portability generally comes at increased cost if all other factors are held constant. Storage Device Characteristics Primary storage devices Random access memory (RAM) is a generic term for storage device that Microchip implementation using semiconductors Ability to read and write with equal speed Random access to stored bytes, words, or larger data units SRAM vs. DRAM Static RAM – implemented with transistors Requires continuous supply of electricity to preserve data Dynamic RAM – uses transistors and capacitors Require a fresh infusion of power thousands of times per second. Each refresh operation is called a refresh cycle Read only memory ROM – random access memory device that can store data permanently or semi-permanently Typically used to store BIOS (basic input output services) Instructions stored in ROM is called firmware Memory packaging CPU Memory Access Management of RAM is critical to performance of computer Organization, access, and management or RAM is done by the operating system How memory is accessed is large factor in performance of RAM Physical memory organization Main memory of any computer is a sequence of contiguous memory cells Addressable memory – highest number storage byte that can be represented Determined by the number of bits used to represent an address If 32 bits used to represent and address, highest address is 232 = 4,294,967,296, or 4 GB Physical memory – actual memory installed, usually less than addressable memory Memory addressing & allocation Memory allocation is the assignment or reservation of memory segments for system software, application programs, and data Memory allocation is the responsibility of the operating system Common scheme is to place OS in low memory and applications in high memory This can be demonstrated with C++ program Memory allocation Absolute vs. relative addressing Some programming languages (C, C++) allow instructions that reference explicit memory locations BRANCH to location # STO to location # Absolute addressing describes memory address operands that refer to actual physical memory locations Problems with absolute addressing If a program refers to a physical memory address in the code, then OS loses ability to re-arrange application locations in memory Instead, programs use relative addressing Relative addressing Instructions that refer to memory use a combination of registers to compute addresses When OS loads application into memory, OS loads starting point of application into one register Instruction in application that refers to memory location is using an offset (i.e. distance from beginning of application) OS adds offset to starting point to calculate physical memory location Segmented memory Each application has unique starting address Magnetic storage Uses magnetism to store binary information onto a storage medium that can store magnetic information Least expensive medium for secondary storage Can be portable Retains data without electricity Over longer periods of time will eventually lose information Read/write in magnetic device Magnetic decay and leakage Primary disadvantage is loss of data over time Magnetic Decay – the tendency of magnetically charges particles to lose their charge over time Magnetic Leakage – a decrease in the strength of individual bit charges Magnetic storage Organization of tracks and sectors Optical mass storage devices Advantages: Higher recording density Longer data life Retain data for decades Not subject to problems of magnetic decay and leakage Optical storage Optical storage devices store bit values as variations in light reflection. Storage medium is a surface of highly reflective material. The read mechanism consists of a low-power laser and a photoelectric cell. Storing binary information Examples of optical devices Chapter summary A typical computer system has primary and secondary storage devices The critical performance characteristics of primary storage devices are their access speed and the number of bits that can be accessed in a single read or write operation Summary cont. Programs generally are created as through they occupied contiguous primary storage locations starting at the first location Magnetic storage storage devices store data bits as magnetic charges Optical discs store data bits as variations in light reflection