Výměna blesku NOR - NOR flash replacement

Zatímco flash paměť zůstává jedním z nejpopulárnějších úložišť v integrovaných systémech, protože je energeticky nezávislá , odolná vůči nárazům, má malé rozměry a nízkou spotřebu energie, její aplikace se výrazně rozrostla nad původní design. Na základě svého původního designu je paměť NOR flash navržena pro ukládání binárních kódů programů, protože podporuje XIP (eXecute-In-Place) a vysoký výkon při operacích čtení, zatímco paměť NAND flash se kvůli nižší ceně používá jako úložiště dat a vyšší výkon při operacích zápisu/mazání ve srovnání s bleskem NOR. V posledních letech šla cena NAND flash dolů mnohem rychleji než cena NOR flash. Aby se tedy nakonec snížily náklady na hardware, stává se použití NAND flash jako náhrady NOR flash (motivováno silnou poptávkou na trhu) novým trendem v návrzích vestavěných systémů, zejména na mobilních telefonech a arkádových hrách .

Přehled

Výměna závisí na dobře navržené správě paměti flash, kterou provádí buď software na hostitelském systému (jako základní médium), nebo hardwarové obvody/firmware uvnitř jeho zařízení. Zde je navržen účinný predikční mechanismus s omezenými požadavky na paměťový prostor a efektivní implementací. Mechanismus predikce shromažďuje přístupové vzorce provádění programu za účelem vytvoření grafu predikce přijetím konceptu pracovní sady . Podle predikčního grafu mechanismus predikce předem načte data (/kód) do mezipaměti SRAM , aby se snížila míra vynechání mezipaměti. Proto se zlepší výkon provádění programu a efektivně se vyplní mezera výkonu čtení mezi NAND a NOR.

Účinná strategie předběžného načítání

Tento přístup, odlišný od populárních myšlenek ukládání do mezipaměti v hierarchii paměti , se zaměřuje na mechanismus ukládání do mezipaměti orientovaný na aplikaci, který přijímá předvídání asistované predikcí na základě daných stop provádění aplikací. Návrhy vestavěných systémů jsou zvažovány s omezenou sadou aplikací, jako je sada vybraných systémových programů v mobilních telefonech nebo arkádové hry automatů v zábavním parku. Kromě toho je při implementaci omezena kapacita a výpočetní výkon SRAM.

Hardwarová architektura

Architektura pro zlepšení výkonu paměti NAND Flash

Hardwarový design obsahuje čtyři základní komponenty: hostitelské rozhraní, SRAM (mezipaměť), paměť NAND flash a řídicí logika. Aby se zaplnila výkonnostní mezera mezi NAND a NOR, slouží SRAM jako vrstva mezipaměti pro přístup k datům přes NAND. Hostitelské rozhraní odpovídá za komunikaci s hostitelským systémem prostřednictvím adresových a datových sběrnic . A co je nejdůležitější, řídicí logika spravuje aktivitu ukládání do mezipaměti a poskytuje emulaci služby NOR flash s NAND flash a SRAM; musí mít implementovaný mechanismus inteligentní predikce ke zlepšení výkonu systému. Řídicí logika má dvě hlavní součásti: Převodník emuluje přístup NOR flash přes NAND flash s mezipamětí SRAM, kde musí být překlad adres proveden z adresování bajtů (pro NOR) na adresování logické blokové adresy (LBA) (pro NAND). Všimněte si, že každá stránka NAND 512B/2KB odpovídá jednomu a čtyřem LBA. Procedura předběžného načtení se pokusí předběžně načíst data z NAND do SRAM tak, aby míra přístupů přístupu NOR byla vyšší než SRAM. Procedura by měla analyzovat a extrahovat chování cílové aplikace prostřednictvím sady shromážděných tras. Podle extrahovaných přístupových vzorů ze shromážděných tras procedura generuje predikční informace, označované jako predikční graf.

Predikční graf

Vzorec přístupu provádění aplikace přes NOR (nebo NAND) se skládá ze sekvence LBA. Když se aplikace spouští několikrát, může se objevit „virtuálně“ kompletní obrázek možného vzoru přístupu při provádění aplikace. Protože je většina spuštění aplikace závislá na vstupu nebo na datech, může po daném LBA existovat více než jeden následující LBA, kde každý LBA odpovídá jednomu uzlu v grafu. Uzly s více než jedním následným LBA se nazývají uzly větve a ostatní se nazývají pravidelné uzly. Graf, který odpovídá přístupovým vzorům, se označuje jako predikční graf konkrétní aplikace. Pokud by stránky v NAND flash mohly být předem načteny včas a existuje dostatek místa v paměti SRAM pro ukládání do mezipaměti, pak by všechny přístupy k datům mohly být prováděny přes SRAM.

Aby se graf predikce uložil do flash paměti s minimalizovanou režií (kapacita SRAM), následné informace LBA každého pravidelného uzlu se uloží do náhradní oblasti odpovídající stránky. Je tomu tak proto, že náhradní plocha stránky v aktuálních implementacích má nevyužitý prostor a čtení stránky obvykle přichází se čtením jejích dat a náhradních oblastí současně. Takovým způsobem je přístup k následným informacím LBA běžného uzlu bez dalších nákladů. Vzhledem k tomu, že pobočkový uzel má více než jedno následné LBA, nemusí mít náhradní část odpovídající stránky dostatek volného místa pro uložení informací. Je tedy udržována větevová tabulka, která ukládá následné informace LBA o všech uzlech větví. Počáteční vstupní adresu větvící tabulky, která odpovídá uzlu větve, lze uložit do náhradní oblasti příslušné stránky. Počáteční položka zaznamenává počet následujících LBA uzlu větve a následující LBA jsou uloženy v položkách následujících po počátečním záznamu. Tabulku větví lze uložit na flash paměť. Během běhu lze pro lepší výkon načíst celou tabulku do SRAM. Pokud není dostatek místa v paměti SRAM, lze části tabulky načíst způsobem na vyžádání .

Postup předběžného načtení

Cílem postupu předběžného načtení je předběžné načtení dat z NAND na základě daného predikčního grafu tak, aby většina přístupů k datům probíhala přes SRAM. Základní myšlenkou je předběžné načtení dat podle pořadí LBA v grafu. Aby bylo možné efektivně vyhledat vybranou stránku v mezipaměti, je ve správě mezipaměti přijata cyklická fronta . Data předem načtená z NAND flash se zařadí, zatímco data přenesená do hostitele se naopak vyřadí z provozu. Procedura předběžného načtení se provádí chamtivým způsobem: Nechť P1 je poslední předem načtená stránka. Pokud P1 odpovídá pravidelnému uzlu, pak je stránka, která odpovídá následujícímu LBA, předem načtena. Pokud P1 odpovídá uzlu větve, měl by postup předem načíst stránky sledováním všech možných dalších odkazů LBA na stejné bázi a způsobem každý s každým .

Reference

externí odkazy