ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° SEF для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ управляСмых Flash-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Linux Foundation прСдставила ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ выпуск ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ управляСмых Flash-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ SEF (Software Enabled Flash), построСнной Π½Π° основС ΠΊΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ KIOXIA (Π΄ΠΎ пСрСимСнования Toshiba Memory Corporation), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² 1980 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π»Π° ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π° Flash-ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты инструмСнтария написаны Π½Π° языкС Π‘ΠΈ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ для ядра Linux, Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для устройств SEF (Software Enabled Flash), ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для управлСния ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΏΠ°Ρ€Π°Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ SEF-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для QEMU, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с API для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠ°Ρ‚Ρ‡ΠΈ для nvme-cli ΠΈ FIO, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ SEF. SDK Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΡ‚Π°Π»ΠΎΠ½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ уровня FTL (Flash Translation Layer), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств Π² обращСния ΠΊ фактичСскому Ρ‡ΠΈΠΏΡƒ Flash-памяти, сборку мусора ΠΈ распрСдСлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ячСйкам памяти. FTL Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ размСщСния Π΄Π°Π½Π½Ρ‹Ρ… (FDP — Flexible Data Placement), зонирования (ZNS — Zoned Namespace) ΠΈ спСцификации NVMe.

Π’ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Flash для Π²Π½Π΅ΡˆΠ½ΠΈΡ… систСм Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ прСдставляСт собой Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ ящик, Ρ‡Π°ΡΡ‚ΡŒ памяти Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ рСзСрвируСтся ΠΏΠΎΠ΄ слуТСбныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ нСпостоянны ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ нСпрСдсказуСмыС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΠ·-Π·Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ активности ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ врСмя сборки мусора. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Flash-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ, распрСдСлСниСм Π΄Π°Π½Π½Ρ‹Ρ…, изоляциСй сбойных Π±Π»ΠΎΠΊΠΎΠ² ΠΈ сборкой мусора Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… занимаСтся ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ SEF ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ вынСсти Π»ΠΎΠ³ΠΈΠΊΡƒ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‡ΠΈΠΏΠΎΠΌ Flash-памяти Π½Π° сторону ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

SEF Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ физичСским Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠ΅Π½ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ распрСдСлСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌΠΈ ΠΈ QoS, ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ слоя трансляции Π±Π»ΠΎΠΊΠΎΠ², Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всю Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ прСдсказуСмой Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ устройства, ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π² SEF ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ взаимодСйствия с Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΌ Π·Π° счёт Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ потрСбностям Π»ΠΎΠ³ΠΈΠΊΠΈ сборки мусора, рСзСрвирования памяти ΠΈ распрСдСлСния Π±Π»ΠΎΠΊΠΎΠ² для сниТСния износа.

НапримСр, SEF позволяСт Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² условиях использования массива ΠΈΠ· ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Ρ‘Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Π½ΠΎΠ΅ врСмя Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ с ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ характСристиками. Для Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСимущСствСнно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, благодаря SEF ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ распрСдСлСния Π±Π»ΠΎΠΊΠΎΠ² ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ для слуТСбных Ρ†Π΅Π»Π΅ΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru