This campaign is closed

SSDFS : ZNS SSD native file system

SSDFS is a file system that can prolong SSD lifetime (2x - 20x) and decrease carbon footprint.

You may also be interested in

Closed
Closed
Closed
Closed
Closed

SSDFS : ZNS SSD native file system

SSDFS : ZNS SSD native file system

SSDFS : ZNS SSD native file system

SSDFS : ZNS SSD native file system

SSDFS : ZNS SSD native file system

SSDFS is a file system that can prolong SSD lifetime (2x - 20x) and decrease carbon footprint.

SSDFS is a file system that can prolong SSD lifetime (2x - 20x) and decrease carbon footprint.

SSDFS is a file system that can prolong SSD lifetime (2x - 20x) and decrease carbon footprint.

SSDFS is a file system that can prolong SSD lifetime (2x - 20x) and decrease carbon footprint.

Viacheslav Dubeyko
Viacheslav Dubeyko
Viacheslav Dubeyko
Viacheslav Dubeyko
1 Campaign |
Mountain View, United States
$0 USD 0 backers
0% of $100,000 Flexible Goal Flexible Goal

Short self introduction

I was always passionate about file systems and data storage devices. To build a data storage system from scratch sounded to me like a magic. I spent a part of my career to learn and understand how ext2/3/4, xfs, jfs, hfs+, zfs, f2fs, nilfs2 file systems work. I contributed to hfs+ and nilfs2 file systems’ driver in Linux kernel. I dedicated 10 years of my life to research and innovations in file systems and storage devices areas. My LinkedIn profile: https://www.linkedin.com/in/vyacheslavdubeyko/. My github: https://github.com/dubeyko.

Why do you need SSDFS?

I realized in 2012 that there is no reasonably good file system for SSD or NAND flash case. Even flash-friendly file systems (like f2fs or nilfs2) have inevitable Garbage Collection (GC) overhead and significant write amplification that reduce storage device lifetime, degrade storage device performance, increase power consumption, and make TCO cost significant enough. As a result, SSDFS architecture has been designed and implemented to reduce carbon footprint, to decrease TCO cost, to be ZNS SSD and SMR HDD natively compatible, to make file system self-recoverable and easy resizable, to integrate computation offload and cognitive computing features into file system. I would like to make our planet more safe and better place to live, to deliver more efficient and smarter file system technologies into production. SSDFS file system can reduce carbon footprint, prolong SSD lifetime (2x – 20x), store more data in the same device, be more reliable, and to execute computation offload in storage space. Currently, SSDFS file system is not fully stable and not all features have been implemented. The goal of campaign is to raise money for making SSDFS production ready, finishing implementation of planned features (snapshot, deduplication, self-recovery, computation offload, etc.), push SSDFS into Linux kernel upstream, and make it available for everyday use.

SSDFS has flexible architecture, and it suggests a fundamental solution of elimination the necessity to use GC for Log-structured File System case. It introduces efficient techniques (compaction scheme, delta-encoding, deduplication) that gives the real opportunity to store more data in the same device compared with other file systems. SSDFS represents a cost-effective technology that can significantly reduce the TCO cost, guarantee reliability at the same time, and gives the mechanism to extract data from the severe corrupted file system volume.

What is the goal of SSDFS? 

SSDFS is open-source project, and everybody can use this technology on personal devices. SSDFS can prolong SSD lifetime and guarantee SSD efficiency for longer time. As a result, it can save money for business use-cases and workloads. Hardware acceleration features in SSDFS can be made as independent products and can be sold as additional SSDFS features. Contributors and supporters of SSDFS project can use this technology for personal use, for business applications, and participate in business of selling hardware acceleration features based on SSDFS file system. I believe that SSDFS can significantly change the landscape of flash-friendly file system applications.

Why do I need support?

SSDFS is mostly implemented but it is not production ready, requires stabilization (ZNS SSD support, 8K-64K logical block sizes, multiple erase blocks in segment), and some features (fsck, snapshots, deduplication, erasure coding, delta-encoding) are not fully implemented. Currently, it can be used for testing and benchmarking (it shows really good numbers and there are the room for improvements) but it’s not ready for using in production yet.

SSDFS tools: https://github.com/dubeyko/ssdfs-tools.git

SSDFS driver: https://github.com/dubeyko/ssdfs-driver.git

Linux kernel with SSDFS support: https://github.com/dubeyko/linux.git

How much funding I need and where it's going?

Stabilization of currently implemented functionality requires around one year. Implementation and stabilization of not finished features require another year.

TODO list:

  1. Stabilization (ZNS SSD + SMR HDD support, b-tree functionality, multiple erase blocks in segment, 8K - 64K logical block support, delta-encoding, memory folio adoption)
  2. Finish new features implementation (erase block inflation model, delta-encoding different logical blocks, deduplication, snapshots, erasure coding, encryption, fsck, recoverfs, resizefs, tunefs)
  3. Linux kernel upstream

My goal is to be focused on SSDFS stabilization and implementation next 2 years and I would like to raise money to be able to work on SSDFS file system. If I can raise $100,000, then I can work alone around 2 years. If I can raise $300,000, then I will be able to build a small team (2 team members) to finish stabilization faster and implement new software features (self-healing, cognitive computing). If I can raise $500,000, the I can build the team (4 team members) and try to implement hardware-based acceleration and heterogeneous memory pool based on SSDFS file system. Mostly, money will be used as salary and partially (10% - 20%) for hardware equipment buying (SSDFS testing).

Where the funds go if I don't reach the goal?

If I am unable to raise enough money, then I consider such strategy: (1) < $1000 – donate money to American Red Cross, (2) < $10,000 – buy hardware equipment (SSD, Intel NUC) for SSDFS testing.

The impact 

Everyone would like to live in better and safer world. One of the important goals is to decrease carbon footprint by using more efficient and smart computation technologies. Our world is full of data and smart management of storage devices is the fundamentally crucial way to make the impact to save our planet. SSDFS file system can decrease number of I/O requests (1.5x – 20x) compared with other file systems. It can eliminate GC overhead. As a result, it can decrease power consumption and prolong SSD lifetime. Additionally, it can guarantee that NAND flash will age more slowly. It means that SSD performance will degrade more slowly. SSDFS file system application in business and personal workloads can significantly decrease TCO cost, reduce carbon footprint, give the opportunity to store more data on the same device, and use the same device longer.

Risks & Challenges

SSDFS is mostly implemented, it’s already full-featured file system, but it’s not fully stable and not production ready yet. The main risks could be the necessity to spend more time for stabilization and finishing features implementation that it was estimated (current estimation 1 year for stabilization already implemented features + 1 year for finishing implementation and stabilization additional features). SSDFS is open-source file system, and it can be used for personal and business applications without any restrictions. I have plans to implement hardware acceleration of file system functionality. But implementation of these features could be challengeable, time-consuming, and require good expertise in FPGA-based development. Also, if these features are implemented for SSDFS architecture only, then selling such hardware acceleration features could be complicated. To make such hardware acceleration features generic enough for multiple file system architectures could be really challenging task. My strategy is to make SSDFS file system is production ready at first, build the community of users and then, try to introduce new hardware acceleration features.

Looking for more information? Check the project FAQ
Need more information
Let us know if you think this campaign contains prohibited content.

You may also be interested in

Up Caret