डिस्क पर सूचना का संग्रहण कुछ हद तक बारकोड में सूचना के प्रतिनिधित्व के समान है। एक डिस्क ट्रैक पर प्रत्येक स्थान को दो तरीकों में से एक में ध्रुवीकृत किया जाता है, एक बारकोड के सफेद और काले क्षेत्रों के बराबर; बारकोड के साथ, इन ध्रुवीकृत क्षेत्रों में विभिन्न चौड़ाई हैं जो डेटा को कोड करने के लिए उपयोग की जाती हैं। वास्तविक एन्कोडिंग अलग है, हालांकि, चूंकि बारकोड आमतौर पर या तो दशमलव अंकों या अपेक्षाकृत छोटे सेट (कोड 39 के मामले में 43 वर्ण) से चुने गए वर्णों को रखने के लिए उपयोग किया जाता है, जबकि डिस्क ड्राइव का उपयोग बेस-256 बाइट्स को स्टोर करने के लिए किया जाता है। ध्यान दें कि पुराने ड्राइव प्रौद्योगिकियां चुंबकीय-पल्स क्षेत्रों की सिर्फ तीन चौड़ाई का उपयोग करती थीं, जिनमें से सबसे चौड़ी चौड़ाई की चौड़ाई तीन गुना थी। नई ड्राइव प्रौद्योगिकियां कई और चौड़ाई का उपयोग करती हैं, चूँकि संकरे क्षेत्र की चौड़ाई मीडिया का समर्थन कर सकती है, वह चौड़ाई के बीच न्यूनतम विवेचनात्मक दूरी से काफी व्यापक है। 1980 के दशक में, किसी दिए गए न्यूनतम चौड़ाई वाले ड्राइव पर विभिन्न चौड़ाई की संख्या बढ़ने से उपयोग करने की क्षमता 50% बढ़ जाएगी। मुझे नहीं पता कि आज क्या अनुपात है।
यादृच्छिक रूप से लिखने योग्य डिस्क पर जानकारी को सेक्टरों में विभाजित किया गया है, जिनमें से प्रत्येक को सेक्टर हेडर से पहले लिया गया है; सेक्टर हेडर खुद से पहले और एक अंतराल के बाद है। सेक्टर हेडर और सेक्टर दोनों क्षेत्र चौड़ाई के विशेष पैटर्न के साथ शुरू होते हैं जो कहीं और नहीं हो सकते। एक सेक्टर को पढ़ने के लिए, एक ड्राइव विशेष पैटर्न के लिए देखता है जो "सेक्टर हेडर" को इंगित करता है, फिर उसके बाद आने वाले बाइट्स को पढ़ता है। यदि वे उस क्षेत्र से मेल खाते हैं जो ड्राइव चाहता है, तो यह "डेटा हेडर" को दर्शाता एक पैटर्न देखता है और संबंधित डेटा को पढ़ता है। यदि डेटा ब्याज के क्षेत्र से मेल नहीं खाता है, तो ड्राइव दूसरे "सेक्टर हेडर" की तलाश में वापस चला जाता है।
सेक्टर लिखना थोड़ा पेचीदा है। ड्राइव इलेक्ट्रॉनिक्स पढ़ने और लिखने के मोड के बीच स्विच करने के लिए समय की एक छोटी लेकिन गैर-शून्य (और पूरी तरह से अनुमानित नहीं) राशि लेते हैं। इससे निपटने के लिए, ड्राइव एक समय में केवल एक पूरे क्षेत्र को डेटा लिखते हैं। किसी सेक्टर को लिखने के लिए, ड्राइव रीड मोड में शुरू होता है, तब तक इंतजार करता है जब तक कि उस सेक्टर के हेडर को लिखा न जाए; तब यह मोड लिखने के लिए स्विच करता है, डेटा को आउटपुट करता है, और फिर रीड मोड पर स्विच करता है। क्योंकि डेटा क्षेत्र से पहले और बाद में अंतराल होते हैं, इससे कोई फर्क नहीं पड़ता कि ड्राइव कभी-कभी मोड को थोड़ा तेज या धीमा करने के लिए स्विच करती है, बशर्ते कि (1) ब्लॉक के लिए "स्टार्ट" पैटर्न कुछ डेटा से पहले हो जो doesn 'टी स्टार्ट पैटर्न से मेल खाता है, ताकि भले ही ड्राइव "देर से" शुरू हो, पुराने ब्लॉक का हिस्सा जो मिटा नहीं है वह जीता है'
डेटा पढ़ते समय, कोई यह निर्धारित करता है कि डिस्क पर किसी विशेष स्थान द्वारा "स्टार्टिंग" चुंबकीय क्षेत्रों को "स्टार्टिंग" के रूप में दर्शाया गया है, जो पिछले स्टार्ट-ऑफ-ब्लॉक मार्किंग के बाद से देखा गया है। डेटा लिखते समय, डिस्क जिस स्थान से गुजर रही है, उस डेटा का प्रतिनिधित्व किस डेटा द्वारा किया जाता है, यह अब तक लिखे गए डेटा की मात्रा की नियंत्रक द्वारा निर्धारित किया जाएगा। ध्यान दें कि सटीक रूप से यह अनुमान लगाने का कोई तरीका नहीं है कि कौन सा बिट डिस्क पर किसी भी स्पॉट द्वारा लिखा जाएगा, क्योंकि यह लिखने की प्रक्रिया में एक निश्चित मात्रा में "ढलान" है।