public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/5] lightnvm: Introduce System Blocks
@ 2015-12-14 13:17 Matias Bjørling
  2015-12-14 13:17 ` [PATCH RFC 1/5] lightnvm: move ppa erase logic to core Matias Bjørling
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Matias Bjørling @ 2015-12-14 13:17 UTC (permalink / raw)
  To: linux-block, linux-kernel; +Cc: Matias Bjørling

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-12-15 14:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-14 13:17 [PATCH RFC 0/5] lightnvm: Introduce System Blocks Matias Bjørling
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox