Nynějším skutečným problémem jsou úložné technologie, které by se dokázaly vyrovnat s exponenciálním nárůstem procesorového výkonu za posledních dvacet let. Výrobci čipů pokračovali ve zvyšování výkonu jednotlivých procesorových jader, v kombinaci více jader v integrovaném obvodu a ve vývoji technologií, které mohou těsně propojit více integrovaných obvodů ve víceprocesorových systémech. V takovém scénáři ale nakonec všechny tyto jednotky potřebují přístup ke stále stejnému úložnému subsystému.
Podnikoví manažeři IT dychtí po využití víceprocesorových systémů, protože mají potenciál zvýšit počet vstupně-výstupních operací za sekundu (IOPS), které může systém zpracovat, a také zvýšit počet IOPS na každý watt (IOPS/W), což je hledisko určující energetickou účinnost řešení.
Nové procesory ale nabízejí lepší poměr IOPS vůči nákladům i spotřebě energie za předpokladu, že zpracovávající prvky získají včas přístup ke zpracovávaným datům. Aktivní procesory čekající na data jen zbytečně plýtvají časem a penězi.
Hierarchie úložišť
V systému, který dodává každému jádru procesoru příslušný kód a data, samozřejmě existuje více úrovní úložných technologií. Obvykle každé jádro obsahuje místní vyrovnávací paměť cache, která pracuje na rychlosti procesoru. Více jader v čipu pak sdílí paměť cache druhé a někdy i třetí úrovně. Tyto paměti cache jsou propojeny s DRAM. Rychlost DRAM, přístupová doba pamětí cache a rychlosti datových přenosů se přizpůsobily procesorovému výkonu.
Přerušení vzniká z důvodu výkonnostní mezery mezi paměttmi DRAM a klasickými rotačními úložišti – z důvodu přístupové doby či propustnosti přenosů dat. Dodavatelé pevných disků odvedli skvělou práci při návrhu a výrobě zařízení s vysokou kapacitou, která přinášejí nízkou cenu za gigabajt. Tyto disky však mají ze své podstaty omezení v možné rychlosti přístupu k datům a v rychlosti přenosu těchto dat do pamětí DRAM.
Přístupová doba závisí na rychlosti pohybu čtecí hlavy disku nad datovými stopami na disku a na rotační latenci pro sektor, kde jsou data umístěna - sektor se musí pomocí otáčení dostat pod čtecí hlavu. Maximální přenosová rychlost je určena rychlostí rotace disku a kódovacím schématem, které dohromady definují počet bajtů za sekundu, které jež jsou z disku čteny.
Pevné disky mají celkem dobrý výkon při čtení a přenosech sekvenčních dat. Operace náhodného hledání však přidávají latenci. A dokonce ani operace sekvenčního čtení nyní neuspokojí potřebu nejnovějších procesorů dostávat data extrémně rychle.
Podnikové systémy provádějící zpracování on-line transakcí, jako jsou například finanční transakce a dolování dat v systémech řízení vztahů se zákazníky, přitom vyžadují rychlý náhodný přístup k datům.
Také cloud computing obsahuje prvek náhodnosti. Ta všeobecně roste s technologiemi, jako je například virtualizace, která rozšiřuje oblasti nasazení systémů aktivních v každém okamžiku. Každá mikrosekunda latence se přímo vztahuje k finanční ztrátě, nižší efektivitě využití procesorů a energii proplýtvané systémem.
Flash paměti naštěstí nabízejí potenciál zaplnit výkonnostní mezeru mezi pamětmi DRAM a rotačními úložišti. Jsou sice pomalejší než DRAM, ale nabízejí nižší ceny za uložený gigabajt. Tato cena je sice mnohem vyšší než u diskových úložišť, ale podniky rády zaplatí příplatek, protože flash také nabízí mnohem lepší propustnost v MB/s a rychlejší náhodný přístup k datům, což má za výsledek lepší poměr ceny za IOPS ve srovnání s rotačními úložišti.
Zvyšování kapacity flash pamětí a rozumné náklady vedly k rostoucímu trendu využívání SSD, které jsou k dispozici v provedení klasických disků. Disky SSD navíc nejčastěji využijí disková rozhraní jako SATA (sériové ATA) a SAS (sériově připojené SCSI).
Problém rozhraní SSD
Provedení v podobě běžného disku a jemu odpovídajícího rozhraní umožňuje dodavatelům IT bezproblémově nahrazovat pomocí SSD disky magnetické. Systémový hardware ani software ovladače nevyžadují žádné změny. Administrátor jednoduše zamění jeden typ zařízení za druhý a získá okamžitě významně lepší přístupové doby a o něco rychlejší datové přenosy.
Klasická disková rozhraní však nejsou pro úložiště založená na pamětech flash úplně vhodná. Flash totiž dokáže podporovat mnohem vyšší přenosové rychlosti, než jaké nabízí nejnovější generace diskových rozhraní. Výrobci SSD už dnes mohou do rozměru 2,5" vměstnat zařízení flash tak, že snadno překročí výkonnostní profil vyvinutý pro pevné disky.
Většina běžných současných systémů využívá druhou generaci rozhraní SATA a SAS (označovaná jako rozhraní s propustností 3 Gb/s), která nabízejí přenosové rychlosti okolo 300 MB/s. Třetí generace rozhraní SATA a SAS tuto rychlost zvyšuje na 600 MB/s - disky založené na těchto rozhraních si již v podnikových systémech našly své uplatnění.
Zatímco tyto propustnosti podporují nejrychlejší mechanické úložné prvky, nové architektury Flash NAND či vícečipová řešení flash poskytují sdruženou šířku pásma, která významně převyšuje propustnost obou klasických rozhraní.
Stručně řečeno - problém s výkonem SSD se přesunul ze zařízení flash do oblasti hostitelského rozhraní. Segment SSD potřebuje rychlejší hostitelská rozhraní, aby bylo možné plně využít výhod flash úložišť.
Hostitelské rozhraní PCIe může toto slabé místo úložiště vyřešit a poskytnout nebývalý výkon pomocí připojení SSD přímo na hostitelskou sběrnici PCIe. Například čtyřcestná linka (x4) PCIe Generation 3 (G3), která by měla být dodávána ve velkém už v příštím roce, dokáže produktu SSD poskytnout přenosovou rychlost až 4 GB/s.
Je budoucnost v PCIe?
Rozhraní jako PCIe by nejen mohlo zvládnout šířku pásma vícekanálového úložného systému s podporou flash technologií, ale také může nabídnout další výhody. Například SSD využívající klasické diskové rozhraní trpí latencí vnášenou do přenosů čipem příslušného storage řadiče, který zpracovává vstupně-výstupní diskové operace.
Zařízení s PCIe se ale připojují přímo ke sběrnici hostitele, takže se eliminuje vrstva architektury spojená se zastaralou infrastrukturou úložišť. Působivý výkon disků PCIe SSD přiměl významné výrobce k používání disků PCIe SSD v serverech a v úložných polích a k vytváření úložných systémů využívajících vrstvy (tierings), které dokážouí akcelerovat aplikace při současném snížení ceny za IOPS.
Přesun úložiště na PCIe přináší návrhářům systémů další výzvy. Jak již bylo výše zmíněno, produkty SSD založené na rozhraních SATA a SAS si zachovávaly softwarovou kompatibilitu a někteří návrháři systémů se zdráhají takové výhody vzdát. Každá implementace úložiště PCIe totiž vytváří potřebu nového softwarového ovladače.
Navzdory tomuto softwarovému problému k přechodu na úložiště s podporou PCIe již dochází. Požadavek na výkon v podnikové sféře si tento přechod doslova vynucuje. Neexistuje totiž žádný jiný způsob k zajištění lepších charakteristik IOPS, IOPS/W a IOPS v přepočtu na dolar, které manažeři IT v současnosti požadují.
Výhody použití PCIe pro připojení úložiště jsou zjevné. Lze tak dosáhnout více než pětinásobné datové propustnosti ve srovnání s technologiemi SATA a SAS. Jde také eliminovat komponenty, jako jsou adaptéry HBA (Hhost Bbus Aadapters) či integrované obvody typu Serdes v rozhraních SATA a SAS - to uspoří peníze a elektrickou energii na systémové úrovni. Rozhraní PCIe navíc dostane úložiště blíže k procesoru a zredukuje latenci.
Otázka, kterou průmysl řeší, tedy není, zda použít rozhraní PCIe k připojení flash úložišť, ale jak to udělat. Existuje více možností a některé jsou již dodávány na trh v podobě takzvaných ranných produktů.
Současná PCIe SSD
Nejjednodušší implementace mohou využívat stávající existující integrované obvody řadičů flash, které jsou schopny řídit operace čtení a zápisu do paměti, ale nemají žádnou podporu pro potřeby systémových I/O. Takové prvky by obvykle pracovaly za integrovaným obvodem rozhraní disku v existujících produktech SSD založených na SATA či SAS.
Alternativně lze také spustit software pro řízení flash na hostitelském procesoru pro zprovoznění funkcí jednoduchého řadiče přes PCIe. Takový přístup však není ideální. Za prvé spotřebovává prostředky procesoru a paměti hostitele, které by jinak ideálně měly zvládnout vyšší IOPS.
Za druhé vyžaduje proprietární ovladače a přináší problémy se způsobilostí OEM. Za třetí pak není možné mít bootovatelný disk, protože aby bylo možno spustit software pro řízení flash a pro práci s úložištěm, je nutné systém nejprve zavést. A za čtvrté taková architektura není škálovatelná z důvodu neustále rostoucích nároků na systémové prostředky.
Takové návrhy mohou tedy uspět jen ve specifických případech. V současné době jsou takto koncipované produkty primárné využívány jako paměti cache pro pevné disky namísto náhrady vysoce výkonných klasických disků.
Z dlouhodobého pohledu budou robustnější a efektivnější návrhy PCIe SSD spoléhat na komplexní systémy v čipech s nativní podporou PCIe a s integrovaným řadičem - budou tedy kompletně implementovat koncept úložného zařízení.
Takový produkt by odlehčil zátěži hostitelského procesoru i paměti a ve finále umožnil použití standardních ovladačů operačního systému, které by podporovaly metodu plug-and-play podobně, jako činí současná rozhraní SATA a SAS.