Linux Foundation on esitanud avatud platvormi esimese vÀljaande programmeeritavalt hallatavatele Flash-mÀludele SEF (Software Enabled Flash), mis on loodud KIOXIA (endine Toshiba Memory Corporation) edastatud koodi pÔhjal; just 1980. aastal leiutati Flash-mÀlu. Tööriista allikakood on kirjutatud C keeles ja levitatakse BSD litsentsi alusel.
Tööriist sisaldab Linuxi tuumale mĂ”eldud plaastrite komplekti, SEF seadmete (Software Enabled Flash) plokkdraiverit, kĂ€surea haldustööriistu, QEMU-le mĂ”eldud para-virtualiseeritud SEF draivereid, API-ga rakenduste arendamise raamatukogu, samuti nvme-cli ja FIO jaoks mĂ”eldud plaastrid, mis lisavad SEF-i toe. SDK sisaldab ka FTL (Flash Translation Layer) tarkvarakihi toote nĂ€idisrakendust, mis tagab plokiseadmest pĂ€rinevate kĂ€skluste teisendamise tegelikule Flash-mĂ€lu kiibile, prĂŒgi kogumise ning andmete jagamise mĂ€lurakkude vahel. FTL rakendab paindlikku andmete paigutuse (FDP â Flexible Data Placement), tsoonimise (ZNS â Zoned Namespace) ja NVMe spetsifikatsiooni toe.
TavapĂ€rastes Flash-mĂ€lu seadmetes kujutab vĂ€line sĂŒsteem endast musta kasti, kus osa mĂ€lust on reserveeritud teenindusoperatsioonide jaoks. Olud on muutlikud ja vĂ”ivad esineda ettearvamatud viivitused, mis on seotud kontrolleri sisemise aktiivsusega, nĂ€iteks prĂŒgikoristuse ajal. Erinevalt traditsioonilistest Flash-mĂ€lu seadmetest, mille andmete ja riknenud plokkide haldamine ning prĂŒgikoristus toimub kontrolleri tarkvara poolt, vĂ”imaldavad SEF tugi seadmed viia madala taseme Flash mĂ€lutöötluse loogika tarkvara ja operatsioonisĂŒsteemi kĂŒlge.
SEF vĂ”imaldab otse juhtida andmete fĂŒĂŒsilist paigutust, muuta koormuse jaotamise algoritme, hallata prioriteete ja QoS-i, vabastada lisakiht plokkide tĂ”lgetest, kasutada kogu saadaval olevat mĂ€lu, tagada ennustatav toimimine salvestusseadmest ja jagada salvestusseade virtuaalseteks seadmeteks, mis on isoleeritud sisendi/ vĂ€ljundi tasemel ning millel on erinev prioriteet töötlemisel. SEF-i lĂ€henemine vĂ€hendab kulusid ja parandab salvestusseadmest suhtlemise efektiivsust, kohandudes jooksvalt praeguste prĂŒgikogumise, mĂ€lu reserveerimise ja plokkide jaotamise vajadustega kulumise vĂ€hendamiseks.
NÀiteks vÔimaldab SEF normaliseerida jÔudlust olukordades, kus kasutatakse erinevatel aegadel soetatud salvestusseadmestikku, mille omadused erinevad. Salvestusseadmete puhul, mida peamiselt kasutatakse ainult lugemiseks, saab SEF-i abil rakendada lihtsamaid plokkide jaotamise algoritme ning vÀhendada teenindusotstarbeliseks otstarbeks reserveeritud mÀlu.
Allikas: opennet.ru
