-
Notifications
You must be signed in to change notification settings - Fork 56
KVSSD FAQ
-
What Linux OS and kernel version is supported?
- CentOS 7.2 Kernel v 3.10
- Ubuntu 16.04 Kernel v4.4.0 (distribution code only not Vanilla version) v4.9.5, v4.13, v4.15
-
What is the supported firmware version on the KV SSD?
All publicly released KV SSD firmware
-
What is the supported uDD version?
TBD
-
Is multiple Key Space supported?
Yes, device supports up to two Key Spaces. The current API support only one Key Space (keyspace id = 0). The multiple Key Space will be supported in the future release version.
-
Does KV device also support block command?
No, except for secure erase and smart log (KV SSD supports only KV interface)
-
Is there dual port support?
No
-
Is there device level compression or encryption?
No
-
Does KV device have SMART log support?
Yes
-
How to get total capacity of a KV device?
nvme-cli tool or kvs_get_device_capacity() API
-
How to get usage % of a KV device?
nvme-cli tool or kvs_get_device_utilization() API.
-
How to get the total number of Keys stored on a KV device?
This feature is currently not available.
-
Does KV device support Hot Swap?
Yes (please refer to Samsung PM983 SSD device spec)
-
Is there a filesystem that supports KV devices?
No
-
How does KV commands work with kernel driver?
IOCTL
-
What is your current QoS support?
Retrieve has a higher priority than store and iterator command inside device. No priority scheme is supported among submission queues (e.g. weighted round robin).
-
users must run all programs and API library with root privileges meaning that users must run programs as root or use sudo.
-
What are steps to use APIs?
Refer to API readme file
- install kernel driver or build user driver
- build KV API library
- set up library path correctly
- build & run application
-
What is supported range of key size supported?
4 to 255 Byte
-
What is the supported range of value size supported?
0 to 2 MB
-
Is offset Write supported?
No
-
Is offset read supported?
No
-
Is Range Query supported?
No
-
What is the optimal Key size?
16 Byte
-
What is the optimal Value size?
4 KB (4096 Byte) for OPS and 24KB for bandwidth
-
Can I get more usage info on Iterator?
Iterator usage: 1) open_iterator(), 2) iterator_next(), 3) close_iterator()
- Unordered iterator: no key ordering
- Prefix size (up to first 4B) & setting (refer to API spec)
- IO during iterator: undecided when Store or delete happens during iterator
- Iterator buffer size must be 32KB
- Key only iterator: no key and value iterator is supported
Iterator handle information is not preserved when power off occurs.
-
What is the maximum number of Iterators supported?
16
-
Is Batch operation supported?
No
-
Is FUSE command supported?
No
-
Does the API support Sync and Async?
Yes