From: "Matias Bjørling" <m@bjorling.me>
To: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: "Matias Bjørling" <m@bjorling.me>
Subject: [PATCH RFC 0/5] lightnvm: Introduce System Blocks
Date: Mon, 14 Dec 2015 14:17:02 +0100 [thread overview]
Message-ID: <1450099027-24745-1-git-send-email-m@bjorling.me> (raw)
Hi,
Currently a device is brought up via the media manager, which detects if
a device supports it. We like to allow a drive to be intialized to a
specific media manager and therefore introduce new functionality in the
core to scan a specific set of flash blocks, that maintains what we call
system blocks.
With this patchset, the disk should first be initialized to a given
media manager, which then takes control over the device. The core and
media managers are free to update the system block for the device. In
the case of the initialization PPA for the media manager is changed or
for other reasons.
A system block is duplicated in three places to prevent the system block
data to be unreachable. We currently allocate blocks on three different
luns, the first lun from the first channel, the first lun from the
middle channel, and from the first lun in the last channel. If a device
only have a single or two channels, only one or two system blocks are
maintained.
The three luns each have two blocks reserved during initialization,
which amounts to approximately 1.5M updates in total, which is much more
updates that we expect with current workloads.
The first four patches prepares the core to directlt interact with the
device, and the last patch introduces the recovery scheme.
Later patches will add the management functionality and integrate with
the gennvm media manager.
Thanks,
Matias
Matias Bjørling (5):
lightnvm: move ppa erase logic to core
lightnvm: refactor rqd ppa list into set/free
lightnvm: add sync support for submit_io
lightnvm: introduce nvm_submit_ppa
lightnvm: core on-disk initialization
drivers/lightnvm/Makefile | 2 +-
drivers/lightnvm/core.c | 128 +++++++++++
drivers/lightnvm/gennvm.c | 68 +-----
drivers/lightnvm/sysblk.c | 524 +++++++++++++++++++++++++++++++++++++++++++
drivers/nvme/host/lightnvm.c | 7 +
include/linux/lightnvm.h | 39 ++++
6 files changed, 703 insertions(+), 65 deletions(-)
create mode 100644 drivers/lightnvm/sysblk.c
--
2.1.4
next reply other threads:[~2015-12-14 13:17 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-14 13:17 Matias Bjørling [this message]
2015-12-14 13:17 ` [PATCH RFC 1/5] lightnvm: move ppa erase logic to core Matias Bjørling
2015-12-14 13:17 ` [PATCH RFC 2/5] lightnvm: refactor rqd ppa list into set/free Matias Bjørling
2015-12-14 13:17 ` [PATCH RFC 3/5] lightnvm: add sync support for submit_io Matias Bjørling
2015-12-15 12:34 ` Christoph Hellwig
2015-12-15 14:10 ` Matias Bjørling
2015-12-14 13:17 ` [PATCH RFC 4/5] lightnvm: introduce nvm_submit_ppa Matias Bjørling
2015-12-14 13:17 ` [PATCH RFC 5/5] lightnvm: core on-disk initialization Matias Bjørling
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=1450099027-24745-1-git-send-email-m@bjorling.me \
--to=m@bjorling.me \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.