linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Matias Bjørling" <m@bjorling.me>
To: snitzer@redhat.com, agk@redhat.com, dm-devel@redhat.com,
	neilb@suse.de, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: "Matias Bjørling" <m@bjorling.me>
Subject: [PATCH RFC v1 00/01] dm-lightnvm introduction
Date: Thu, 20 Mar 2014 23:32:17 -0700	[thread overview]
Message-ID: <1395383538-18019-1-git-send-email-m@bjorling.me> (raw)

Hi,

Users that have custom firmware SSDs, may choose to expose their flash directly.
This allows the host to control logical to physical address mappings, garbage
collection strategy, wear-leveling, and so on.

This is beneficial when you either want to strip the cost of a costly controller
or want detailed control over an SSD. Such as implementing key-value stores,
object-stored, atomic I/Os, etc.

LightNVM implements the host-side core. It supports two modes. Users that
doesn't have hardware available and want to emulate an SSD, and users with a
physical SSD, that has a LightNVM compatible firmware.

The behavior of the core can be exposed through the various components that make
up an FTL. Thus, it is not single implementation, but instead possible to
mix the best algorithms for the user-space application workloads.

Currently, LightNVM implements a page-based FTL, cost-based GC and simple
wear-leveling. Additionally, it allows simulation of flash timings when hardware
isn't available. There's work on getting it to the OpenSSD platform with a
custom firmware and getting it stable for broad use.

There is still much work to do. I'm looking for feedback on the approach, dm
integration, and more. Any feedback is greatly appreciated.

A presentation was given at the recent Non-Volatile Memory Workshop (NVMW)
workshop. Slides are available at: http://bjorling.me/NVMW2014-LightNVM.pdf

Major todo's:
 * Patch has TODO and FIXME in places that needs to be cleaned.
 * LightNVM compatible firmware for the OpenSSD platform and integration.
 * Performance regressions during GC.
 * Durability during power failure.

Thanks,

Matias

Matias Bjørling (1):
  dm-lightnvm: An open FTL for open firmware SSDs

 drivers/md/Kconfig             |   1 +
 drivers/md/Makefile            |   1 +
 drivers/md/lightnvm/Kconfig    |  14 +
 drivers/md/lightnvm/Makefile   |   1 +
 drivers/md/lightnvm/core.c     | 705 +++++++++++++++++++++++++++++++++++++++++
 drivers/md/lightnvm/gc.c       | 208 ++++++++++++
 drivers/md/lightnvm/lightnvm.c | 589 ++++++++++++++++++++++++++++++++++
 drivers/md/lightnvm/lightnvm.h | 592 ++++++++++++++++++++++++++++++++++
 drivers/md/lightnvm/reg.c      |  41 +++
 9 files changed, 2152 insertions(+)
 create mode 100644 drivers/md/lightnvm/Kconfig
 create mode 100644 drivers/md/lightnvm/Makefile
 create mode 100644 drivers/md/lightnvm/core.c
 create mode 100644 drivers/md/lightnvm/gc.c
 create mode 100644 drivers/md/lightnvm/lightnvm.c
 create mode 100644 drivers/md/lightnvm/lightnvm.h
 create mode 100644 drivers/md/lightnvm/reg.c

-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2014-03-21  6:33 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-21  6:32 Matias Bjørling [this message]
2014-03-21  6:32 ` [PATCH RFC v1 01/01] dm-lightnvm: An open FTL for open firmware SSDs Matias Bjørling
2014-03-21 15:09   ` Mike Snitzer
2014-03-21 15:26     ` Matias Bjorling
2014-03-21 15:37   ` Christoph Hellwig
2014-03-21 16:24     ` Matias Bjorling
2014-03-25  2:22       ` [dm-devel] " Akira Hayakawa
2014-03-25  3:45         ` Matias Bjorling
2014-03-24  6:13     ` Bart Van Assche
2014-03-25  3:30       ` Matias Bjorling
2014-03-25 11:38         ` Takashi HOSHINO
2014-03-21  9:06 ` [dm-devel] [PATCH RFC v1 00/01] dm-lightnvm introduction Joe Thornber
2014-03-21 15:22   ` Matias Bjorling
2014-03-25  3:08     ` David Lang
2014-03-25  3:56       ` Matias Bjorling
2014-03-25 17:23         ` Richard Weinberger
2014-03-21 15:32 ` Richard Weinberger
2014-03-21 16:42   ` Matias Bjorling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1395383538-18019-1-git-send-email-m@bjorling.me \
    --to=m@bjorling.me \
    --cc=agk@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=snitzer@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).