Spdk/test/unit/lib
Claire J. In 658d118c06 lib/ftl: consider 3D TLC NAND read unit size
For the latest TLC NAND, one write buffer unit (rwb batch)
needs to be spread over three PUs instead of being allocated
to a single PU for better sequential read performance
since the optimal write size(ws_opt) of 3D TLC NAND is
3 times bigger than the optimal read size(rs_opt).

I added num_interleave_units in 'struct spdk_ftl_conf'
to configure the number of interleaving units per ws_opt.
If num_interleave_units is set as 1, the whole of the ws_opt
blocks are placed sequentially around each PU.
If num_interleave_units is set as N, the 1/N of the ws_opt
blocks are staggered. So consecutively numbered blocks
are separated by ws_opt / num_interleave_units.

The sequential read performance is improved from 1.9GiB/s
up to 2.97GiB/S with this patch on our system. No performance
degradation is observed on sequential writes or
4KB random reads/writes.

Please refer to the Trello card for more details.
https://trello.com/c/Osol93ZU

Change-Id: I371e72067b278ef43c3ac87a3d9ce9010d3fcb15
Signed-off-by: Claire J. In <claire.in@circuitblvd.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450976
Reviewed-by: Young Tack Jin <youngtack.jin@circuitblvd.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Wojciech Malikowski <wojciech.malikowski@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-05-24 23:29:22 +00:00
..
bdev bdev/compress: add UT for the poller 2019-05-22 15:36:48 +00:00
blob blobstore: Remove blob on blobstore load when required 2019-05-24 23:09:56 +00:00
blobfs UT/blobfs: add rename UT to blobfs_sync_ut 2019-05-22 18:20:43 +00:00
event event: No longer require event in spdk_subsystem_fini 2019-03-08 03:21:45 +00:00
ftl lib/ftl: consider 3D TLC NAND read unit size 2019-05-24 23:29:22 +00:00
ioat test/unit: remove duplicate mk/spdk.common.mk includes 2019-02-11 09:30:27 +00:00
iscsi thread: Add a mechanism to exit a lightweight thread 2019-05-22 04:23:17 +00:00
json json: add utilities function enabling itaration over JSON object 2018-10-18 16:07:37 +00:00
jsonrpc jsonrpc: fix received JSON buffer overwrite 2019-01-10 14:31:37 +00:00
log test/unit: remove duplicate mk/spdk.common.mk includes 2019-02-11 09:30:27 +00:00
lvol lvol: Fix for lvol failed deletion flow 2019-04-02 19:23:22 +00:00
notify lib/notify: rename spdk_notify_get_events to spdk_notify_foreach_event 2019-05-07 06:11:27 +00:00
nvme unit/nvme: add nvme_request_check_timeout() unit test 2019-05-14 22:49:12 +00:00
nvmf thread: Add a mechanism to exit a lightweight thread 2019-05-22 04:23:17 +00:00
reduce ut/reduce: use compress algorithm 2019-04-02 21:40:21 +00:00
scsi scsi: add persistent reservation out with register feature support 2019-05-24 23:04:03 +00:00
sock sock: Add spdk_sock_readv(sock, iov, iovcnt) 2019-03-08 01:21:26 +00:00
thread thread: Add a mechanism to exit a lightweight thread 2019-05-22 04:23:17 +00:00
util dif: Support multiple iovecs for data buffer in spdk_dif_generate_stream 2019-05-16 20:17:44 +00:00
vhost vhost_ut: Add tests for spdk_vhost_vq_avail_ring_get 2019-05-21 05:29:44 +00:00
json_mock.c subsystem: add per module configuration dump 2018-03-23 02:47:40 -04:00
Makefile bdev/nvme: always enable FTL 2019-05-02 08:41:56 +00:00