blob: 2f5d5f4a4c75b37d7e848a9e97f63c88ee40de84 [file] [log] [blame]
Matias Bjørlingcd9e9802015-10-28 19:54:55 +01001#
2# Open-Channel SSD NVM configuration
3#
4
5menuconfig NVM
6 bool "Open-Channel SSD target support"
Geert Uytterhoevene105ddb2016-09-16 14:25:03 +02007 depends on BLOCK && HAS_DMA
Matias Bjørlingcd9e9802015-10-28 19:54:55 +01008 help
9 Say Y here to get to enable Open-channel SSDs.
10
11 Open-Channel SSDs implement a set of extension to SSDs, that
12 exposes direct access to the underlying non-volatile memory.
13
14 If you say N, all options in this submenu will be skipped and disabled
15 only do this if you know what you are doing.
16
17if NVM
18
19config NVM_DEBUG
20 bool "Open-Channel SSD debugging support"
Matias Bjørling41586242015-12-06 11:25:51 +010021 default n
Matias Bjørlingcd9e9802015-10-28 19:54:55 +010022 ---help---
23 Exposes a debug management interface to create/remove targets at:
24
25 /sys/module/lnvm/parameters/configure_debug
26
27 It is required to create/remove targets without IOCTLs.
28
Matias Bjørling48add0f2015-10-28 19:54:56 +010029config NVM_GENNVM
Matias Bjørling5e60edb2016-07-07 09:54:15 +020030 tristate "General Non-Volatile Memory Manager for Open-Channel SSDs"
Matias Bjørling48add0f2015-10-28 19:54:56 +010031 ---help---
Matias Bjørling5e60edb2016-07-07 09:54:15 +020032 Non-volatile memory media manager for Open-Channel SSDs that implements
33 physical media metadata management and block provisioning API.
34
35 This is the standard media manager for using Open-Channel SSDs, and
36 required for targets to be instantiated.
Matias Bjørling48add0f2015-10-28 19:54:56 +010037
Matias Bjørlingae1519e2015-10-28 19:54:57 +010038config NVM_RRPC
39 tristate "Round-robin Hybrid Open-Channel SSD target"
40 ---help---
41 Allows an open-channel SSD to be exposed as a block device to the
42 host. The target is implemented using a linear mapping table and
43 cost-based garbage collection. It is optimized for 4K IO sizes.
44
Matias Bjørlingcd9e9802015-10-28 19:54:55 +010045endif # NVM