Obnovení paměti - Memory refresh

Obnovení paměti je proces periodického čtení informací z oblasti počítačové paměti a okamžité přepisování přečtených informací do stejné oblasti bez úprav za účelem uchování informací. Obnovení paměti je proces údržby na pozadí vyžadovaný během provozu polovodičové dynamické paměti s náhodným přístupem (DRAM), nejpoužívanějšího typu počítačové paměti, a ve skutečnosti je určující charakteristikou této třídy paměti.

V čipu DRAM je každý bit paměťových dat uložen jako přítomnost nebo nepřítomnost elektrického náboje na malém kondenzátoru na čipu. Jak čas plyne, náboje v paměťových buňkách unikají, takže bez obnovení by uložená data byla nakonec ztracena. Aby se tomu zabránilo, externí obvody pravidelně čtou každou buňku a přepisují ji, čímž obnovují náboj na kondenzátoru na původní úroveň. Každý cyklus obnovy paměti obnovuje následnou oblast paměťových buněk, čímž opakovaně obnovuje všechny buňky v po sobě následujícím cyklu. Tento proces je prováděn automaticky na pozadí paměťovými obvody a je pro uživatele transparentní. Zatímco probíhá obnovovací cyklus, paměť není k dispozici pro běžné operace čtení a zápisu, ale v moderní paměti není tento čas „režie“ dostatečně velký na to, aby výrazně zpomalil provoz paměti.

K dispozici je elektronická paměť, která nevyžaduje aktualizaci, nazývaná statická paměť s náhodným přístupem (SRAM). Obvody SRAM vyžadují větší plochu na čipu, protože paměťový článek SRAM vyžaduje čtyři až šest tranzistorů , ve srovnání s jediným tranzistorem a kondenzátorem pro DRAM. V důsledku toho je hustota dat v čipech SRAM mnohem nižší než v DRAM a SRAM má vyšší cenu za bit. DRAM se proto používá pro hlavní paměť v počítačích, herních konzolách, grafických kartách a aplikacích vyžadujících velké kapacity a nízké náklady. Potřeba obnovy paměti značně komplikuje časování a obvody DRAM než obvody SRAM, ale hustota a cenové výhody DRAM tuto složitost ospravedlňují.

Jak funguje aktualizace DRAM

Během provozu paměti musí být každá paměťová buňka obnovována opakovaně, v rámci maximálního intervalu mezi obnovami stanoveného výrobcem, který je obvykle v milisekundové oblasti. Obnovení nepoužívá běžné operace paměti (cykly čtení a zápisu) používané k přístupu k datům, ale specializované cykly nazývané obnovovací cykly, které jsou generovány oddělenými obvody čítačů v obvodech paměti a proloženy mezi normálními přístupy k paměti.

Úložné buňky na paměťovém čipu jsou rozmístěny v obdélníkovém poli řádků a sloupců. Proces čtení v DRAM je destruktivní a odstraňuje náboj z paměťových buněk v celé řadě, takže na čipu je řada specializovaných západek nazývaných zesilovače smyslů , jedna pro každý sloupec paměťových buněk, která dočasně uchovávají data. Během normální operace čtení zesilovače po přečtení a zablokování dat přepíší data v přístupném řádku před odesláním bitu z jednoho sloupce na výstup. To znamená, že normální čtecí elektronika na čipu může paralelně aktualizovat celou řadu paměti, což výrazně urychluje proces obnovy. Běžný cyklus čtení nebo zápisu obnovuje řadu paměti, ale nelze se spoléhat na normální přístupy k paměti, aby byly v potřebném čase zasaženy všechny řádky, což vyžaduje samostatný proces aktualizace. Spíše než používat běžný čtecí cyklus v procesu aktualizace se pro úsporu času používá zkrácený cyklus nazývaný obnovovací cyklus. Cyklus aktualizace je podobný cyklu čtení, ale probíhá rychleji ze dvou důvodů:

  • K aktualizaci je potřeba pouze adresa řádku, takže na obvody adres čipů nemusí být použita adresa sloupce.
  • Data načtená z buněk nemusí být vložena do výstupních vyrovnávacích pamětí nebo datové sběrnice k odeslání do CPU.

Obnovovací obvody musí provést obnovovací cyklus na každém řádku na čipu v časovém intervalu obnovení, aby se zajistilo, že se každá buňka obnoví.

Typy obnovovacích obvodů

Přestože v některých raných systémech mikroprocesor kontroloval aktualizaci, s časovačem spouštějícím periodické přerušení, který spustil podprogram, který provedl aktualizaci, znamenalo to, že mikroprocesor nemohl být pozastaven, jednostupňový nebo přepnut do úsporné hibernace bez zastavení aktualizace proces a ztrátu dat v paměti. V moderních systémech je tedy obnova zpracovávána obvody v řadiči paměti nebo stále častěji na samotném čipu. Některé čipy DRAM, jako je pseudostatická RAM (PSRAM), mají na čipu všechny obnovovací obvody a pokud jde o zbytek počítače , fungují jako statické paměti RAM .

Obvod obnovy se obvykle skládá z čítače obnov, který obsahuje adresu řádku, který má být aktualizován, který je aplikován na řádky adresy řádku čipu , a časovače, který zvyšuje čítač, aby procházel řádky. Tento čítač může být součástí obvodů řadiče paměti nebo na samotném paměťovém čipu. Byly použity dvě strategie plánování:

  • Burst refresh - série obnovovacích cyklů se provádí jeden po druhém, dokud se neobnoví všechny řádky, a poté proběhne normální přístup do paměti, dokud není vyžadováno další obnovení
  • Distribuovaná aktualizace - obnovovací cykly se provádějí v pravidelných intervalech, proložené přístupy do paměti.

Funkce Burst refresh má za následek dlouhou dobu, kdy je paměť nedostupná, takže distribuovaná aktualizace byla použita ve většině moderních systémů, zejména v systémech v reálném čase . V distribuovaném obnovování je interval mezi obnovovacími cykly

Například paměť DDR SDRAM má dobu aktualizace 64 ms a 8 192 řádků, takže interval cyklu obnovy je 7,8 μs.

Nedávné generace čipů DRAM obsahují integrální obnovovací čítač a obvody pro řízení paměti mohou tento čítač použít nebo poskytnout adresu řádku z externího čítače. Tyto čipy mají tři standardní způsoby obnovení, vybrané různými vzory signálů na řádcích „výběr sloupců“ (CAS) a „výběr řádku“ (RAS):

  • Obnovit pouze RAS “ - V tomto režimu je adresa řádku k obnovení poskytována linkami sběrnice adres, takže se používá s externími čítači v řadiči paměti.
  • CAS before RAS refresh “ (CBR) - V tomto režimu čítač na čipu sleduje řádek, který má být obnoven, a externí obvod pouze iniciuje obnovovací cykly. Tento režim spotřebovává méně energie, protože vyrovnávací paměti sběrnice adres nemusí být napájeny. Používá se ve většině moderních počítačů.
  • Skrytá aktualizace “ - Toto je alternativní verze obnovovacího cyklu CBR, kterou lze kombinovat s předchozím cyklem čtení nebo zápisu. Během přenosu dat se aktualizace provádí souběžně, což šetří čas.

Od generace čipů DRAM 2012 byl režim „pouze RAS“ odstraněn a k vygenerování aktualizace je použit interní čítač. Čip má další „režim spánku“, který se používá, když je počítač v režimu hibernace , ve kterém oscilátor na čipu generuje interní obnovovací cykly, takže je možné vypnout externí hodiny.

Aktualizovat režii

Podíl času, který paměť věnuje obnově, režii obnovení, lze vypočítat z časování systému:

Například čip SDRAM má 2 13 = 8 192 řádků, obnovovací interval 64 ms, paměťová sběrnice běží na 133 MHz a obnovovací cyklus trvá 4 hodinové cykly. Čas na obnovovací cyklus je

Obnovovacími cykly tedy zabere méně než 0,4% času paměťového čipu. U čipů SDRAM je paměť v každém čipu rozdělena do bank, které jsou paralelně obnovovány, což šetří další čas. Počet potřebných obnovovacích cyklů je tedy počet řádků v jedné bance, uvedený ve specifikacích, které v generaci čipů 2012 byly zmrazeny na 8 192.

Interval obnovení

Maximální časový interval mezi obnovovacími operacemi je standardizován společností JEDEC pro každou technologii DRAM a je specifikován ve specifikaci čipu výrobce. Obvykle se pohybuje v rozmezí milisekund pro DRAM a mikrosekund pro eDRAM . U čipů DDR2 SDRAM je to 64 ms. Záleží na poměru náboje uloženého v kondenzátorech paměťových článků k svodovým proudům. Navzdory skutečnosti, že geometrie kondenzátorů se s každou novou generací paměťových čipů zmenšuje, takže kondenzátory pozdější generace ukládají méně náboje, obnovovací časy pro DRAM se zlepšují; od 8 ms pro 1M čipy, 32 ms pro 16M čipy, do 64 ms pro 256M čipy. Tohoto zlepšení je dosaženo hlavně vývojem tranzistorů, které způsobují výrazně menší únik. Delší doba obnovení znamená, že menší část času zařízení je obsazena obnovou, takže zbývá více času na přístup do paměti. Přestože v předchozích DRAMech režie obnovení zabírala až 10% času na čipu, u moderních čipů je tento podíl menší než 1%.

Protože svodové proudy v polovodičích rostou s teplotou, musí být obnovovací časy při vysoké teplotě zkráceny. Čipy DDR2 SDRAM mají obnovovací strukturu s kompenzací teploty; Pokud teplota skříně čipu překročí 85 ° C (185 ° F), musí být doba cyklu obnovy zkrácena na polovinu.

Skutečná trvanlivost čitelných hodnot náboje a tím i dat ve většině paměťových buněk DRAM je mnohem delší než doba obnovení, až 1–10 sekund. Nicméně svodové proudy tranzistorů se mezi různými paměťovými buňkami na stejném čipu značně liší v důsledku kolísání procesu. Aby se zajistilo, že se všechny paměťové buňky obnoví, než dojde ke ztrátě jednoho bitu, musí výrobci nastavit jejich obnovovací časy konzervativně krátké.

Toto časté obnovování paměti DRAM spotřebuje třetinu celkového výkonu odebíraného elektronickými zařízeními s nízkým výkonem v pohotovostním režimu. Výzkumníci navrhli několik přístupů k prodloužení doby chodu baterie mezi nabitími snížením obnovovací frekvence, včetně obnovování s kompenzací teploty (TCR) a umístění podporujícího zachování v DRAM (RAPID). Experimenty ukazují, že v typickém běžně dostupném čipu DRAM pouze několik slabých buněk skutečně vyžaduje v nejhorším případě obnovovací interval 64 ms, a to pouze na horním konci specifikovaného teplotního rozsahu. Při pokojové teplotě (např. 24 ° C (75 ° F)) je třeba tytéž slabé články aktualizovat jednou za 500 ms, aby fungovaly správně. Pokud se systém může vyhnout použití nejslabších 1% stránek, je třeba typickou paměť DRAM aktualizovat pouze jednou za sekundu, a to i při 70 ° C (158 ° F), aby správně fungovala zbývajících 99% stránek. Některé experimenty kombinují tyto dvě komplementární techniky a poskytují správnou činnost při pokojové teplotě v intervalech obnovy 10 sekund.

U aplikací odolných vůči chybám (např. Grafické aplikace) obnovování nekritických dat uložených v paměti DRAM nebo eDRAM nižší rychlostí, než je jejich doba uchování, šetří energii s menší ztrátou kvality, což je příklad přibližného výpočtu .

Technologie paměti SRAM a DRAM

SRAM

Ve statické paměti s náhodným přístupem (SRAM), jiném typu polovodičové paměti, nejsou data uložena jako náboj na kondenzátoru, ale v páru střídačů s křížovou vazbou , takže SRAM není třeba obnovovat. Dva základní typy paměti mají výhody i nevýhody. Statickou paměť lze považovat za trvalou, když je zapnutá, tj. Jakmile je zapsána, paměť zůstane, dokud se konkrétně nezmění, a proto je její použití z hlediska návrhu systému jednoduché. Vnitřní konstrukce každého článku SRAM však vyžaduje šest tranzistorů ve srovnání s jediným tranzistorem požadovaným pro článek DRAM, takže hustota SRAM je mnohem nižší a cena za bit mnohem vyšší než u DRAM.

Obnovení na základě CPU

Některé rané mikroprocesory (např. Zilog Z80 ) poskytovaly speciální interní registry, které by mohly poskytovat RAS (Row-Address Strobe) k obnově dynamických paměťových buněk, přičemž registr se zvyšuje v každém obnovovacím cyklu. To by také mohlo být dosaženo dalších integrovaných obvodů již použitých v systému, pokud jsou tyto projekty již generovány cycling přistupuje přes RAM ( např Motorola 6845 ). U procesorů, jako je Z80, byla dostupnost aktualizace RAS velkým prodejním místem díky zjednodušujícímu návrhu hardwaru. Zde je aktualizace RAS signalizována jedinečnou kombinací adresních a řídicích vodičů během provozně nadbytečných hodinových cyklů (stavy T), tj. Během dekódování/provádění instrukce, kdy sběrnice nemusí být vyžadovány. Místo toho, aby byla sběrnice během takových stavů T neaktivní, byl by obnovovací registr prezentován na adresové sběrnici spolu s kombinací řídicích vodičů pro indikaci obnovovacím obvodům.

V raných verzích Z80 všudypřítomnost 16 kB RAM čipů ( tj. 128 řádků) a nedostatek předvídavosti vedly k tomu, že se registr R zvýšil pouze o 7 bitů v širokém rozsahu (0–127, tj. 128 řádků) ; 8. bit mohl nastavit uživatel, ale interní cyklování by zůstalo nezměněno. S rychlým nástupem 64 kbit+ čipů DRAM (s 8bitovým RAS) bylo nutné kolem obnovovacího signálu vybudovat další obvody nebo logiku, aby se syntetizoval chybějící 8. bit a zabránilo se ztrátě bloků paměti po několika milisekundách. V některých kontextech bylo možné využít přerušení k převrácení 8. bitu ve vhodnou dobu a pokrýt tak celý rozsah registru R (256 řádků). Další metodou, možná univerzálnější, ale také hardwarově složitější, bylo použití 8bitového čipu čítače, jehož výstup by místo registru R poskytoval obnovovací adresu RAS: jako hodiny byl použit obnovovací signál z CPU pro tento čítač, což má za následek, že se paměťový řádek aktualizuje s každým obnovovacím cyklem. Pozdější verze a licencované „work-alikes“ jádra Z80 napravily nezařazení 8. bitu do automatického cyklování a moderní CPU výrazně rozšířilo takové základní zajišťování, aby poskytovalo bohatá řešení typu vše v jednom pro aktualizaci DRAM.

Pseudostatický DRAM

Pseudostatická RAM (PSRAM nebo PSDRAM) je dynamická RAM s integrovanými obvody pro aktualizaci a řízení adresy, aby se chovala podobně jako statická RAM (SRAM). Kombinuje vysokou hustotu DRAM se snadným použitím skutečného SRAM. PSRAM (výrobce Numonyx) se používá v Apple iPhone a dalších vestavěných systémech.

Některé součásti DRAM mají „režim automatické obnovy“, který zahrnuje velkou část stejné logiky, která je potřebná pro pseudo-statický provoz, ale tento režim je často ekvivalentní pohotovostnímu režimu. Je určen především k tomu, aby systému umožnil pozastavit provoz jeho řadiče DRAM, aby se ušetřila energie, aniž by došlo ke ztrátě dat uložených v paměti DRAM, a nikoli k povolení provozu bez samostatného řadiče DRAM, jako je tomu v případě PSRAM. Vložené varianta PSRAM prodává MoSys pod názvem 1T-SRAM . Technicky je to DRAM, ale chová se hodně jako SRAM a používá se v konzolích Nintendo Gamecube a Wii .

Další technologie paměti využívající aktualizaci

Několik raných technologií počítačové paměti také vyžadovalo periodické procesy podobné svým účelem jako obnovení paměti. Williams trubka má nejtěsnější podobnost, protože, jak s DRAM, to je v podstatě kapacitní paměť, ve které jsou hodnoty uloženy pro každý bit bude postupně rozpadat, pokud aktualizovány.

V paměti magnetického jádra může každá paměťová buňka uchovávat data neomezeně dlouho i při vypnutém napájení, ale čtení dat z jakékoli paměťové buňky vymaže její obsah. V důsledku toho řadič paměti obvykle přidal obnovovací cyklus po každém cyklu čtení , aby vytvořil iluzi nedestruktivní operace čtení.

Paměť zpožděné linky vyžaduje neustálé obnovování, protože data jsou ve skutečnosti uložena jako signál v přenosové lince . V tomto případě je obnovovací frekvence srovnatelná s dobou přístupu do paměti .

Viz také

Reference