Table of Contents


FlashMemory Plugin For OMV6

FlashMemory Plugin For OMV6



Summary

The FlashMemory Plugin was designed to make booting from USB thumbdrives and SD-cards feasible and a practical alternative to booting from a hard drive or SSD. In addition to the relative low cost, using USB thumbdrives enable easy OS backup options, quick recovery from boot drive failure and it saves a SATA port for a data storage drive.

This plugin is REQUIRED, for a flash media boot drive, or it will have a short life. For an in-depth explanation see; Why is the FlashMemory Plugin Required?

Prerequisites

Installation

For OMV6; installing OMV-Extras is accomplished by copying and pasting the following wget command, on your server's command line, as root:

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

Highlight the line above and hit ctrl+c. In an SSH client like PuTTY, a right mouse click will paste the line in.
Note: If you're unsure of how to get on the command line, see this reference for → installing and using PuTTY.
When the script is complete, OMV-Extra's will be installed and activated.


With OMV extra's installed, there are two choices to install the FlashMemory Plugin:


1. Installation on the command line:

apt-get install openmediavault-flashmemory

Again, paste the above into the command line, as described above.

2. Installation within the GUI:

The Flashmemory plugin can now be found under, System, Plugins. Find openmediavault-flashmemory 6.X, highlight it and install.

Configuration

Configuration is not necessary. When installed, the Flashmemory plugin is working as designed.



Why is the FlashMemory Plugin Required?


Wear Leveling

While modern flash media drive is solid state, it’s life is limited by the number of write cycles it can withstand before it goes “read-only”. When an OEM specified number of flash memory blocks refuse to erase, the device’s controller will set it “read only”. At that point, the device’s useful life is over.

To extend the life of flash media, most modern flash devices have “wear leveling” built into their controllers. If blocks are written, but not erased, they experience no wear. If blocks are erased, the next new write is set on adjacent blocks that have never been written before. As data is erased and written, blocks are used starting at the beginning of the device’s available storage address range and proceed, in sequence, working toward the end. When the end of the range is reached, the process starts at the beginning and cycles through again. This wear leveling process avoids writing a single location to failure, and spreads wear evenly throughout.

With wear leveling and using two drives of the same type, a drive that is twice the size will last roughly two times longer than the smaller drive. This may seem like is a strong vote for using a larger flash drive. However, when backups are considered, drives of twice the size also take twice as long to image and their image files are twice as large. (When using flash media as a boot drive, a practical trade-off should be considered in the 16 to 32GB range.)

The Purpose of the Plugin

Most writes to OMV's boot drive are entries being appended to log files. While log file entries are very small writes, that may be as little at 80 bytes, they occur on a regular basis. A write operation to a flash device is done in writable “blocks” that are, typically, 2KB or 4KB minimum regardless of how small the write may be. This results in what is called “write amplification” where numerous large segments (2 to 4KB) of the drive are written to record very small amounts of data (+/- 80 bytes). The end result is writing all of the available blocks of the flash device rapidly, to exhaustion, where it will go read-only.

The primary purpose of the Flash Memory Plugin is to reduce the frequency of writes to flash media by consolidating very small writes into one, larger, bulk write that is flushed to the boot drive on shutdown. This dramatically reduces the number of blocks physically written to the Flash Device. The plugin can reduce the number of blocks written to the Flash drive by, potentially, an order of magnitude or 1/10th the amount that would otherwise be written. By extension, a drive of a given size might last up to 10 times longer than it would without the Flash Media plugin.

It's worth noting that SSD's would benefit from the FlashMemory plugin as well.

Source Code

FlashMemory


A Closing Note

We, who support the openmediavault project, hope you’ve found this guide to be useful and that you’ll find your openmediavault server to be efficient, easy to use, and enjoyable.

If you found this plugin guide to be helpful, please consider a modest donation to support the hosting costs of this server.

OMV-Extras.org



Venmo: ryecoaaron