Hi,

STEC is happy to announce an update to EnhanceIO ssd caching software for Linux 
kernel. Many thanks to kernel community for providing us valuable feedback to 
improve code and bug reports since the time it was published. The discussion 
comparing EnhanceIO to other well-known caching solutions: bcache and dm-cache 
was particularly interesting.  More such discussions will help us all improve 
our solutions.

Considering that a lot of the kernel community members have been able to use 
EnhanceIO successfully, we are now marking its status to be beta. We'll be 
submitting it to staging tree this week. We'll appreciate sign-offs from those 
who have tested it and recommend its inclusion in the mainline kernel.

On a related note, STEC EnhanceIO product version 1.2 was released this week.
Open source git was derived from and is identical in functionality to the 
source base of this product. It has undergone an extensive amount of testing by 
our QA. EnhanceIO open source git natuarally benefits from this testing.

We have done following changes since the last posting
- Corrected the sparse errors ( eg: errors due to address space mismatch ). 
- Updated cli with enable and notify ioctls. Also made the code partially
  checkpatch.pl clean. 
- Code cleanup
- Fixed spin lock initialisation issue during cache create
- Fixed ioctl structure to be compatible on 64 bit kernel with 32 bit user
  space
- Fixed an md create issue

Work to be done
- More cleanups
- Performance measurements and comparisons
- A detailed technical description of EnhanceIO functionality
- Use a patch format or a simple git format instead of current format so that a
  submission to Linux kernel will be possible.

A quick description of EnhanceIO
---------------------------------------------------------------------------------------------
Repository location - git://github.com/stec-inc/EnhanceIO.git
License - GPL
Source - Derived from the source base of EnhanceIO product Current state - Beta.
Ongoing work - More code cleanup, testing, more documentation, performance 
comparisons.

EnhanceIO driver is based on EnhanceIO SSD caching software product developed 
by STEC Inc. EnhanceIO was derived from Facebook's open source Flashcache 
project. EnhanceIO uses SSDs as cache devices for traditional rotating hard 
disk drives (referred to as source volumes throughout this document).

EnhanceIO can work with any block device, be it an entire physical disk, an 
individual disk partition,  a RAIDed DAS device, a SAN volume, a device mapper 
volume or a software RAID (md) device.

The source volume to SSD mapping is a set-associative mapping based on the 
source volume sector number with a default set size (aka associativity) of 512 
blocks and a default block size of 4 KB.  Partial cache blocks are not used.
The default value of 4 KB is chosen because it is the common I/O block size of 
most storage systems.  With these default values, each cache set is 2 MB (512 *
4 KB).  Therefore, a 400 GB SSD will have a little less than 200,000 cache sets 
because a little space is used for storing the meta data on the SSD.

EnhanceIO supports three caching modes: read-only, write-through, and 
write-back and three cache replacement policies: random, FIFO, and LRU.

Read-only caching mode causes EnhanceIO to direct write IO requests only to 
HDD. Read IO requests are issued to HDD and the data read from HDD is stored on 
SSD. Subsequent Read requests for the same blocks are carried out from SSD, 
thus reducing their latency by a substantial amount. 

In Write-through mode - reads are handled similar to Read-only mode.
Write-through mode causes EnhanceIO to write application data to both HDD and 
SSD. Subsequent reads of the same data benefit because they can be served from 
SSD.

Write-back improves write latency by writing application requested data only to 
SSD. This data, referred to as dirty data, is copied later to HDD 
asynchronously. Reads are handled similar to Read-only and Write-through modes.

PROPRIETARY-CONFIDENTIAL INFORMATION INCLUDED



This electronic transmission, and any documents attached hereto, may contain 
confidential, proprietary and/or legally privileged information. The 
information is intended only for use by the recipient named above. If you 
received this electronic message in error, please notify the sender and delete 
the electronic message. Any disclosure, copying, distribution, or use of the 
contents of information received in error is strictly prohibited, and violators 
will be pursued legally.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to