ื•ื•ืกื˜ืจืŸ ื“ื™ื’ื™ื˜ืœ ืคืจืกืžื” ืžืขืจื›ืช ืงื‘ืฆื™ื ืžื™ื•ื—ื“ืช ืฉืœ Zonefs ืขื‘ื•ืจ ื›ื•ื ื ื™ื ืื–ื•ืจื™ื™ื

ืžื ื”ืœ ืคื™ืชื•ื— ืชื•ื›ื ื” ื‘-Western Digital ืžื•ืฆืข ื‘ืจืฉื™ืžืช ื”ืชืคื•ืฆื” ืฉืœ ืžืคืชื—ื™ ืœื™ื‘ืช ืœื™ื ื•ืงืก, ืžืขืจื›ืช ืงื‘ืฆื™ื ื—ื“ืฉื” ื‘ืฉื Zonefs, ืฉืžื˜ืจืชื” ืœืคืฉื˜ ืขื‘ื•ื“ื” ื‘ืจืžื” ื ืžื•ื›ื” ืขื ื”ืชืงื ื™ ืื—ืกื•ืŸ ืื–ื•ืจื™ื™ื. Zonefs ืžืฉื™ื™ืš ื›ืœ ืื–ื•ืจ ื‘ื›ื•ื ืŸ ืœืงื•ื‘ืฅ ื ืคืจื“ ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื ื‘ืžืฆื‘ ื’ื•ืœืžื™ ืœืœื ืžื ื™ืคื•ืœืฆื™ื” ื‘ืจืžืช ื”ืžื’ื–ืจ ื•ื”ื—ืกื™ืžื”.

Zonefs ืื™ื ื• FS ืชื•ืื POSIX ื•ื”ื•ื ืžื•ื’ื‘ืœ ืœื”ื™ืงืฃ ืฆืจ ืœืžื“ื™ ื”ืžืืคืฉืจ ืœื™ื™ืฉื•ืžื™ื ืœื”ืฉืชืžืฉ ื‘-API ืฉืœ ื”ืงื‘ืฆื™ื ื‘ืžืงื•ื ืœื’ืฉืช ื™ืฉื™ืจื•ืช ืœื”ืชืงืŸ ื”ื‘ืœื•ืง ื‘ืืžืฆืขื•ืช ioctl. ืงื‘ืฆื™ื ื”ืงืฉื•ืจื™ื ืœืื–ื•ืจ ื“ื•ืจืฉื™ื ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ืจืฆื™ืคื•ืช ื”ื—ืœ ืžืกื•ืฃ ื”ืงื•ื‘ืฅ (ื›ืชื™ื‘ื” ื‘ืžืฆื‘ ื”ื•ืกืคื”).

ื”ืงื‘ืฆื™ื ื”ืžืกื•ืคืงื™ื ื‘-Zonefs ื™ื›ื•ืœื™ื ืœืฉืžืฉ ืœื”ืฆื‘ื” ืขืœ ื’ื‘ื™ ื›ื•ื ื ื™ ืžืกื“ ื ืชื•ื ื™ื ืื–ื•ืจื™ื™ื ื”ืžืฉืชืžืฉื™ื ื‘ืžื‘ื ื™ ืื—ืกื•ืŸ ื‘ืฆื•ืจื” ืฉืœ ื™ื•ืžื ื™ LSM (log-structured merge), ื”ื—ืœ ืžื”ืจืขื™ื•ืŸ ืฉืœ ืงื•ื‘ืฅ ืื—ื“ - ืื–ื•ืจ ืื—ืกื•ืŸ ืื—ื“. ืœื“ื•ื’ืžื”, ืžื‘ื ื™ื ื“ื•ืžื™ื ืžืฉืžืฉื™ื ื‘ืžืกื“ื™ ื”ื ืชื•ื ื™ื ืฉืœ RocksDB ื•-LevelDB. ื”ื’ื™ืฉื” ื”ืžื•ืฆืขืช ืžืืคืฉืจืช ืœื”ืคื—ื™ืช ืืช ื”ืขืœื•ืช ืฉืœ ื”ืขื‘ืจืช ืงื•ื“ ืฉืชื•ื›ื ืŸ ื‘ืžืงื•ืจ ืœืชืคืขืœ ืงื‘ืฆื™ื ื‘ืžืงื•ื ืœื—ืกื•ื ืžื›ืฉื™ืจื™ื, ื›ืžื• ื’ื ืœืืจื’ืŸ ืขื‘ื•ื“ื” ื‘ืจืžื” ื ืžื•ื›ื” ืขื ื›ื•ื ื ื™ื ืื–ื•ืจื™ื™ื ืžื™ื™ืฉื•ืžื™ื ื‘ืฉืคื•ืช ืชื›ื ื•ืช ืฉืื™ื ืŸ C.

ื›ื•ื ื ื™ื ืชื—ืช ืื–ื•ืจื™ื ืžึฐืจื•ึผืžึธื– ืžื›ืฉื™ืจื™ื ืžื•ืคืขืœื™ื ื“ื™ืกืงื™ื ืžื’ื ื˜ื™ื™ื ืงืฉื™ื—ื™ื ืื• NVMe SSD, ืฉื˜ื— ื”ืื—ืกื•ืŸ ืฉื‘ื• ืžื—ื•ืœืง ืœืื–ื•ืจื™ื ื”ืžืจื›ื™ื‘ื™ื ืงื‘ื•ืฆื•ืช ืฉืœ ื‘ืœื•ืงื™ื ืื• ืกืงื˜ื•ืจื™ื, ืฉืœืชื•ื›ื ืžื•ืชืจืช ืจืง ื”ื•ืกืคื” ืจืฆื™ืคื” ืฉืœ ื ืชื•ื ื™ื ืขื ืขื“ื›ื•ืŸ ื›ืœ ืงื‘ื•ืฆืช ื”ื‘ืœื•ืงื™ื.

ืœื“ื•ื’ืžื”, ื™ื™ืขื•ื“ ื”ืงืœื˜ื” ืžืฉืžืฉ ื‘ืžื›ืฉื™ืจื™ื ืขื ื”ืงืœื˜ื” ืžื’ื ื˜ื™ืช ืžืจื•ืฆืคืช (ื”ืงืœื˜ื” ืžื’ื ื˜ื™ืช ืจืขืคื™ื, SMR), ืฉื‘ื• ืจื•ื—ื‘ ื”ืžืกืœื•ืœ ืงื˜ืŸ ืžืจื•ื—ื‘ ื”ืจืืฉ ื”ืžื’ื ื˜ื™, ื•ื”ื”ืงืœื˜ื” ืžืชื‘ืฆืขืช ื‘ื—ืคื™ืคื” ื—ืœืงื™ืช ืฉืœ ื”ืžืกืœื•ืœ ื”ืกืžื•ืš, ื›ืœื•ืžืจ. ื›ืœ ื”ืงืœื˜ื” ื—ื•ื–ืจืช ื’ื•ืจืžืช ืœืฆื•ืจืš ืœื”ืงืœื™ื˜ ืžื—ื“ืฉ ืฉืœ ื›ืœ ืงื‘ื•ืฆืช ื”ืจืฆื•ืขื•ืช. ืœื’ื‘ื™ ื›ื•ื ื ื™ SSD, ื”ื ื›ื‘ื•ืœื™ื ื‘ืชื—ื™ืœื” ืœืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ืขื•ืงื‘ื•ืช ืขื ื ื™ืงื•ื™ ื ืชื•ื ื™ื ืจืืฉื•ื ื™, ืืš ืคืขื•ืœื•ืช ืืœื• ืžื•ืกืชืจื•ืช ื‘ืจืžืช ื”ื‘ืงืจ ื•ื‘ืฉื›ื‘ืช FTL (ืฉื›ื‘ืช ืชืจื’ื•ื ืคืœืืฉ). ื›ื“ื™ ืœื”ื’ื‘ื™ืจ ืืช ื”ื™ืขื™ืœื•ืช ืขื‘ื•ืจ ืกื•ื’ื™ื ืžืกื•ื™ืžื™ื ืฉืœ ืขื•ืžืก, ืืจื’ื•ืŸ NVMe ืชืงืŸ ืืช ืžืžืฉืง ื”-ZNS (Zoned Namespaces), ื”ืžืืคืฉืจ ื’ื™ืฉื” ื™ืฉื™ืจื” ืœืื–ื•ืจื™ื, ืชื•ืš ืขืงื™ืคืช ืฉื›ื‘ืช FTL.

ื•ื•ืกื˜ืจืŸ ื“ื™ื’ื™ื˜ืœ ืคืจืกืžื” ืžืขืจื›ืช ืงื‘ืฆื™ื ืžื™ื•ื—ื“ืช ืฉืœ Zonefs ืขื‘ื•ืจ ื›ื•ื ื ื™ื ืื–ื•ืจื™ื™ื

ื‘ืœื™ื ื•ืงืก ืขื‘ื•ืจ ื›ื•ื ื ื™ื ืงืฉื™ื—ื™ื ืื–ื•ืจื™ื™ื ืžืื– ืœื™ื‘ื” 4.10 ืžื•ึผืฆึธืข ื”ืชืงื ื™ ZBC (SCSI) ื•-ZAC (ATA), ื•ื”ื—ืœ ืžื”ื’ืจืกื” 4.13, ื ื•ืกืฃ ื”ืžื•ื“ื•ืœ dm-zoned, ื”ืžื™ื™ืฆื’ ื›ื•ื ืŸ ืื–ื•ืจื™ ื›ื”ืชืงืŸ ื‘ืœื•ืง ืจื’ื™ืœ, ื•ืžืกืชื™ืจ ืืช ืžื’ื‘ืœื•ืช ื”ื›ืชื™ื‘ื” ืฉื”ื•ืคืขืœื• ื‘ืžื”ืœืš ื”ืคืขื•ืœื”. ื‘ืจืžืช ืžืขืจื›ืช ื”ืงื‘ืฆื™ื, ืชืžื™ื›ื” ื‘- zoning ื›ื‘ืจ ืฉื•ืœื‘ื” ื‘ืžืขืจื›ืช ื”ืงื‘ืฆื™ื F2FS, ื•ืขืจื›ืช ืชื™ืงื•ื ื™ื ืœืžืขืจื›ืช ื”ืงื‘ืฆื™ื Btrfs ื ืžืฆืืช ื‘ืคื™ืชื•ื—, ืฉื”ืชืืžืชื ืœื›ื•ื ื ื™ื ืื–ื•ืจื™ื™ื ืžืคื•ืฉื˜ืช ืขืœ ื™ื“ื™ ืขื‘ื•ื“ื” ื‘-CoW (Copy-on -ื›ืชื•ื‘).
ืชืคืขื•ืœ Ext4 ื•-XFS ืขืœ ื›ื•ื ื ื™ื ืื–ื•ืจื™ื™ื ื ื™ืชืŸ ืœืืจื’ืŸ ื‘ืืžืฆืขื•ืช dm-zoned. ื›ื“ื™ ืœืคืฉื˜ ืืช ื”ืชืจื’ื•ื ืฉืœ ืžืขืจื›ื•ืช ืงื‘ืฆื™ื, ืžื•ืฆืข ืžืžืฉืง ื”-ZBD, ืฉืžืชืจื’ื ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ืืงืจืื™ื•ืช ืœืงื‘ืฆื™ื ืœื–ืจืžื™ื ืฉืœ ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ืขื•ืงื‘ื•ืช.

ื•ื•ืกื˜ืจืŸ ื“ื™ื’ื™ื˜ืœ ืคืจืกืžื” ืžืขืจื›ืช ืงื‘ืฆื™ื ืžื™ื•ื—ื“ืช ืฉืœ Zonefs ืขื‘ื•ืจ ื›ื•ื ื ื™ื ืื–ื•ืจื™ื™ื

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”