A flashcache egy Linux kernelmodul , amely az Eszközleképező veremben fut, és lehetővé teszi, hogy egyetlen blokkeszközt használjon más blokkeszközökhöz való hozzáférés gyorsítótárazására . A Facebook által kifejlesztett és 2010 tavaszán megjelent a GPL licenc feltételei szerint . Eredetileg az SSD -meghajtók használatát tervezték a lassabb (de sokkal nagyobb kapacitású és olcsóbb) lemezmeghajtók gyorsítótárazására .
A flashcache használatának hatékonysága sok tényezőtől függ, általában a technológia segít azokban a feladatokban, amelyek teljesítményét az I / O korlátozza, túlnyomórészt az olvasási műveletek, és a működő adatkészlet mennyisége túl nagy ahhoz, hogy a RAM-ban gyorsítótárazható legyen. . Mint minden gyorsítótárazási technológia esetében, nagyszámú "hideg" (nem gyorsítótárazott) olvasás esetén a teljesítmény alacsonyabb lehet, mint egy gyorsítótárazott eszközé; sokáig tarthat a gyorsítótár „bemelegítése” [1] .
A kernelben található bcache és dm-cache -től eltérően a flashcache- t külön modulként kell felépíteni. Fork of flashcache – saját fejlesztésű EnhanceIO , nem használja az eszközleképezőt.
A Flashcache az Eszközleképezőt használja egy blokkeszköz létrehozásához . Létrehozásakor két másik eszközt ad át neki (mindkettő Device Mapper használatával és nem). Az egyik a "lassú és nagy", a második a "kicsi és gyors" (általában SSD vagy blokk elektronikus lemez ). Ha a gyorsítótárazási mód engedélyezve van, a flashcache eszközhöz való minden egyes hozzáférést ellenőriz a gyorsítótárban, és ha a gyorsítótárban van, akkor onnan visszaadja, nem pedig lassú lemezről olvassa be. Ha az adat nem található a gyorsítótárban, akkor a rendszer a lassú lemezről olvassa be és a gyorsítótárba írja.
Különféle házirendek léteznek az írásra - visszaírási módban az adatok először egy gyorsítótárazó eszközre íródnak, majd onnan a háttérben egy lassú eszközre kerülnek (általában lényegesen nagyobb blokkokban és sorban, ami növeli a lassú merevlemezek teljesítményét véletlenszerű műveletek nagyságrendekkel). Ráadásul a "hot data" (gyakran használt adatok) gyakran felülírásra kerül, ami olyan helyzethez vezet, hogy a gyorsítótárban többször is felülíródnak az adatok, de valójában csak egyszer tárolódnak egy lassú eszközön. Számos lusta írási lehetőség áll rendelkezésre a testreszabáshoz.
Átírási módban az adatok először egy lassú eszközre íródnak, majd a gyorsítótárba, abban a reményben, hogy a közeljövőben beolvassák). Létezik egy köztes átírási mód is , amikor az adatok lassú eszközre íródnak, és csak az első olvasás után kerülnek a gyorsítótárba.
A gyorsítótár támogatja a FILO - és FIFO - adatkizárási algoritmusokat, emellett lehetőség van a gyorsítótár kézi visszaállítására is. A visszaírási gyorsítótár állandó (az újraindítások között is megmarad), és betölthető. Az átírási módok és az átírási módok nem állandóak, ami azt jelenti, hogy a gyorsítótárat minden rendszerindításkor újra kell létrehozni.