Vad är en skrivbuffert?

I datorarkitektur finns det minnesbitar som kallas buffertar. Dessa buffertar är små och innehåller information som snabbt måste kunna nås. En skrivbuffert, som hålls i centralprocessorns (CPU) cache, innehåller information som måste kunna skrivas från bufferten till RAM-området (Random Access Memory) i datorn. De flesta data från cachen läses och skrivs inte, så skrivbufferten är liten jämfört med läsdelen av cachen. Skrivbufferten kan bara hantera en skrivbegäran åt gången, så endast ett datum släpps när en skrivbegäran tas emot.

I minnesarkitektur, oavsett om minnet är från CPU eller RAM, finns det ett avsnitt som kallas cache. Detta representerar en mycket liten del av hela minnet, och den lagrar tidigare lästa data så att de kan återställas senare. Genom att lagra informationen kommer datorn att kunna återkalla den mycket snabbare och enklare när användaren kommer åt den igen.

En skrivbuffert, som exklusivt lagras i CPU-cachen, lagrar information för skrivning. Skillnaden mellan en läs- och skrivförfrågan är hur informationen hanteras. I en läsbegäran återställs informationen som den är, utan några ändringar eller beräkningar. En skrivbegäran är mer komplicerad, eftersom informationen måste ändras eller beräknas innan den kan användas.

Majoriteten av förfrågningarna är läsbegäranden, som att återkalla en statisk webbplats eller öppna ett tidigare sparat dokument som inte har ändrats. Skrivbufferten hjälper till att organisera hela bufferten. Istället för att ha alla läs- och skrivförfrågningar på ett ställe, vilket dramatiskt kan minska cachehastigheten, lagras skrivinformationen bara i en sektion så att denna sektion enbart kan arbeta med skrivförfrågningar. Resten av cachen lämnas sedan för att arbeta med de dominerande läsbegärandena.

I skrivbufferten kan förfrågningar endast hanteras en åt gången. Istället för lässektionen i cachen, som hanterar många förfrågningar samtidigt, kan skrivsektionen bara släppa information för en begäran. Detta beror främst på att skrivförfrågningar är svårare att fylla, så cachen måste koncentrera sig på en uppgift.

Även om bufferten bara kan fylla en skrivbegäran åt gången, rör den sig fortfarande snabbt. Skrivförfrågningar behöver bara en liten bit information för att fungera, och data återkallas inom millisekunder. Även om de är långsammare än läsbegäranden, fylls skrivbegäranden fortfarande med bara en kort tidsfördröjning.