Block (data storage)

From Wikipedia, the free encyclopedia

In computing (specifically data transmission and data storage), block size indicates a nominal size, usually expressed in bytes or bits, of a block of data. Data thus structured is said to be blocked. The process of putting data into blocks is called blocking. Blocking is used to facilitate the handling of the data-stream by the computer program receiving the data. Blocked data is normally read a block at a time. Blocking is almost universally employed when storing data to 9-track magnetic tape, to rotating media such as floppy disks, hard disks, and optical discs, and to NAND flash memory.

Most file systems are based on a block device, which is a level of abstraction for the hardware responsible for storing and retrieving specified blocks of data, though the block size in file systems block may be multiple of the physical block size. In classical file systems, a single block may only contain a part of a single file. This leads to space inefficiency due to internal fragmentation, since file lengths are often not multiples of block size, and thus the last block of files will remain half-empty. Some newer file systems attempt to solve this through techniques called block suballocation and tail merging.

Block storage is normally abstracted by a file system or database management system for use by applications and end users. The physical or logical volumes accessed via Block I/O may be devices internal to a server, direct attached via SCSI or Fibre Channel, or distant devices accessed via a storage area network (SAN) using a protocol such as iSCSI, or AoE. Database management systems often use their own Block I/O for improved performance and recoverability as compared to layering the DBMS on top of a file system.

[edit] See also

[edit] External links

In other languages