Secondary storage devices such as hard disks, optical discs, and solid-state storage are used to permanently store programs and data on a computer system. Hard disks use rigid materials and can hold greater amounts of data than floppy disks. Optical discs such as CDs, DVDs, and Blu-ray discs are commonly used for multimedia and installing applications. Various file allocation methods such as linked lists are used to organize files on these secondary storage devices. Encoding schemes like RLL and ZBR are used to efficiently store data by increasing density. Networking protocols and models like TCP/IP and OSI provide communication standards between storage devices, computers, and across networks.