Vad är interleaving?

I datorer är interfoliering en metod för att skriva och läsa data ur sekvens. Datainterleaving används för att kombinera flera digitala dataströmmar, som i filer som innehåller både ljud och video. Denna teknik används också för minnesinterleave i disklagring och datorminne, som används för att göra data läsa och skriva snabbare. En de-interfolierare använder mappning för att dechiffrera interfolierade data; det är mer eller mindre ett diagram över det interfolierade mönstret som datorn använder för att dechiffrera data.

I mediefiler tillåter interleaving en spelare att snabbt läsa ljud- och videodata. Detta ger användaren en enda fil som innehåller både ljud och video som en korrekt konfigurerad mediaspelare kan läsa och spela. Att läsa interfolierade mediefiler kräver ofta en codec för att spela den interfolierade filen. En codec är en mjukvaruplugin som talar om för en spelare hur man läser en interfolierad mediefil. Den vanligaste interfolierade mediafiltypen är Audio Video Interleave, mer känd som AVI.

Minnesinterleave är en process där mer än en datakälla förs genom samma dataström i ett försök att påskynda bearbetningen. Interleaving används vanligtvis för hårddiskar eller Random Access Memory (RAM). Medan data bearbetas på målplatsen, förbereds nästa data av ytterligare datakällor, så mer data kan bearbetas medan den första datakällan laddar nästa data i rad.

För att förstå hur minnesinterleave fungerar, föreställ dig att en åkledare på en nöjespark har två hissar som var och en rymmer fyra åkåkare som leder upp till ingången till hans åktur. Han lastar ryttare snabbt men har inte plats för folk att ställa upp i lastutrymmet. För att få åkarna upp på lastplanet har konduktören assistenter längst ner i hissen som följer med grupper om fyra upp till åket, en hiss i taget. I ett interfolierat system skulle konduktören instruera assistenten att tajma avgångar i ett förskjutet system utformat för att hålla flödet av ryttare snabbt och smidigt. På liknande sätt flödar interfolierade data från flera ställen, förskjutna för att ge datakällor tid att ladda om medan andra dataströmmar bearbetas.

En nackdel med minnesinterleave vid dataöverföring är att det kan orsaka latens. Latens är en systemtidsfördröjning. När en datakälla stoppas påverkar det alla datakällor som använder den dataöverföringsströmmen, vilket orsakar en avmattning i systemets svar. På samma sätt, om nöjesparkskonduktören har problem med att lasta en hiss full med förare, kommer den att sakta ner båda linjerna eftersom han inte kan behandla fler förare förrän den gruppen har laddats.

I äldre hårddiskar användes interfolierat minne för att kompensera för hårddiskens läsning långsammare än motorn snurrar. Data skrevs ur sekvens för att ge hårddisken tid att bearbeta data under läsning. Nyare hårddiskar är konstruerade tillräckligt snabbt för att läsa data vid snurrhastigheten, vilket eliminerar behovet av minnesinterleaving.