Kompressorer och dekompressorer, hur fungerar de på RAM och SSD?

Kompressorer och dekompressorer, hur fungerar de

Ett av problemen med solida enheter eller SSD: er är att de har sämre lagringskapacitet än konventionella hårddiskar. Ett sätt att lösa detta problem är att använda en serie specialenheter, kompressorer och dekompressorer.

Även om det är en hårdvara som är lite känd just nu, kommer vi snart att se den citerad i specifikationerna för flera processorer, både för datorer och för andra enheter. Och vi pratar inte om en bit science fiction, eftersom system som redan säljs som videospelkonsoler och nya generationens grafikkort redan innehåller denna hårdvaruenhet.

Grundläggande användning av kompressorer och dekompressorer

Compresores Descompresores

Det förstås som datakomprimering för att ta ett informationsblock som upptar en viss mängd lagring och kryptera det på ett sådant sätt att ett block med samma information som upptar mindre information erhålls. Krypteringen som skapas av kompressionsenheten måste förstås av en analog enhet i andra änden, som vi kallar en dekompressor

Vad en dekompressor gör är att tillämpa en krypteringsalgoritm på en dataström som når den, uppenbarligen måste nämnda data tidigare komprimeras av en analog kompressor som krypterar data i ett format som dekompressorn kan förstå. Så båda extremerna fungerar i par och i en direkt korrelation.

Generellt sett finns det två typer av komprimering, den som är förlustfri och den andra inte, men när det gäller databehandling är den andra den mest effektiva, eftersom vi inte är intresserade av att förlora denna information för att undvika fel vid körning ett program från ram.

En processor är inte tillräckligt snabb för att dekomprimera data vid den hastigheten

RTX IO SSD

Gör ett enkelt test, ta ett filkompressionsprogram på din dator och observera hur CPU har bra tid att dekomprimera en fil på några hundra megabyte eller några gigabyte. Tänk dig nu att behöva dekomprimera tiotals gigabyte i realtid och du kan föreställa dig den datorkraft som krävs.

Detta är anledningen till att de nya GPU: erna, som är kompatibla med DirectStorage-standarden, har en speciell enhet för att dekomprimera data i farten, eftersom det inte skulle vara så snabbt att ge åtkomst till VRAM till CPU tillräckligt för att data ska komma tillräckligt snabbt till processorn.

Kompressorer och dekompressorer för att öka kapaciteten hos SSD-enheter

För närvarande är en av fördelarna med konventionella hårddiskar jämfört med SSD: er lagringskostnaderna, eftersom en SSD är mycket dyrare per gigabyte lagring än en hårddisk, med hjälp av en komprimerings- / dekompressionsenhet är det möjligt att öka lagringskapaciteten för en SSD effektivt utan att öka kostnaden.

För närvarande finns dessa enheter inte i processorerna, men eftersom de är en väsentlig del av GPU: erna på grund av stödet för DirectStorage i DX 12 Ultimate, så det är bara nödvändigt att flytta den här enheten till processorerna i framtida iterationer. Problemet med dess användning är att det kommer att kräva fullständig komprimering av data som tidigare finns på skivan, men i gengäld kommer det att få en mängd extra minne för lagring, vilket alltid är välkommet.

Den växande klyftan mellan RAM och processor

CPU -RAM

Verkligheten är att RAM inte har utvecklats i samma hastighet som processorer, vilket har lett till att de senare har utformats kring RAM-begränsningarna och försökt så mycket som möjligt att utveckla nya mekanismer inom processorn för att lindra denna nackdel. För tillfället finns det inga datakoder som är tillräckligt snabba för att möjliggöra komprimering och dekompression av dessa i farten från ett RAM-minne, men med tiden och när deras bearbetningskapacitet ökar kommer vi att se dem,

Idén att data som går till processorn kan komprimeras och dekomprimeras i farten resulterar också i en ökning av bandbredden, eftersom vi tekniskt överför en större mängd data per sekund än om data skickades okomprimerat, det är att det kommer att nå den punkt där dessa enheter, för att RAM inte ska vara kvar, måste läggas till både minnet och processorerna.

Ett bra sätt att göra detta är att använda flera kompressorer som arbetar parallellt för att dekomprimera data som kommer från RAM-minnet, där varje accelerator hanterar olika datablock.