La memorizzazione delle informazioni su disco è in qualche modo simile alla rappresentazione delle informazioni in un codice a barre. Ogni posizione su una traccia del disco è polarizzata in due modi, equivalenti alle aree bianche e nere di un codice a barre; come con un codice a barre, queste regioni polarizzate hanno varie larghezze che vengono utilizzate per codificare i dati. La codifica effettiva è diversa, tuttavia, poiché i codici a barre vengono generalmente utilizzati per contenere cifre decimali o caratteri scelti da un set relativamente piccolo (43 caratteri nel caso del codice 39), mentre le unità disco vengono utilizzate per memorizzare i byte di base 256. Si noti che le tecnologie di azionamento più vecchie utilizzavano solo tre larghezze di regioni a impulsi magnetici, la più ampia delle quali era tre volte la larghezza della più stretta. Le tecnologie di azionamento più recenti utilizzano molte più larghezze, poiché la larghezza della regione più stretta che il supporto può supportare è considerevolmente più ampia della distanza minima distinguibile tra le larghezze. Negli anni '80, aumentando il numero di diverse larghezze su un disco con una data larghezza minima aumenterebbe la capacità utilizzabile del 50%. Non so quale sia il rapporto oggi.
Le informazioni su un disco scrivibile in modo casuale sono divise in settori, ognuno dei quali è preceduto da un'intestazione di settore; l'intestazione del settore è essa stessa preceduta e seguita da un gap. Sia l'intestazione del settore che il settore iniziano con schemi speciali di larghezza delle regioni che non possono verificarsi in nessun altro luogo. Per leggere un settore, un'unità cerca il modello speciale che indica "intestazione di settore", quindi legge i byte che lo seguono. Se corrispondono al settore desiderato dall'unità, cerca un modello che indica "intestazione dati" e legge i dati associati. Se i dati non corrispondono al settore di interesse, l'unità torna a cercare un'altra "intestazione di settore".
Scrivere un settore è un po 'più complicato. L'elettronica dell'unità richiede un tempo breve ma diverso da zero (e non del tutto prevedibile) per passare dalla modalità di lettura a quella di scrittura. Per far fronte a ciò, le unità scrivono solo i dati di un intero settore alla volta. Per scrivere un settore, l'unità si avvia in modalità lettura, attende fino a quando non viene visualizzata l'intestazione del settore da scrivere; quindi passa alla modalità di scrittura, invia i dati e quindi torna alla modalità di lettura. Poiché vi sono spazi vuoti prima e dopo l'area dati, non importa se il disco a volte passa alla modalità di scrittura un po 'più velocemente o più lentamente, a condizione che (1) il modello "start" per un blocco sia preceduto da alcuni dati che non non corrisponde allo schema di avvio, in modo che anche se l'unità si avvia "in ritardo", la parte del vecchio blocco che non viene cancellata vince '
Durante la lettura dei dati, si determina quali dati sono rappresentati da un determinato punto sul disco "contando" le regioni magnetiche viste dalla precedente marcatura di inizio blocco. Durante la scrittura dei dati, quali dati sono rappresentati dal punto sul disco che passa la testina saranno determinati dal conteggio del controller della quantità di dati scritti finora. Si noti che non è possibile prevedere con precisione quale bit verrà rappresentato da qualsiasi punto del disco prima che venga scritto, poiché nel processo di scrittura è presente una certa quantità di "slop".