Hello....
Long story short, I am learning to use the P3700 SSD in my application by developing low-level software to generate NVMe command (PCIe). My first step was to perform basic write and read of the SSD drive - which I've completed.
My next step is to increase performance, where I'm having an issue.
For background, here's basically what the software is doing:
-Disable Controller
-Configure Controller Registers (queue size, admim submission queue address, ...)
-Enable Controller
-NVMe Allocate I/O completion queue command
-NVMe Allocate I/O submission qeuue command
-Format NVMe Namespace command
-Write NVMe Command (1 LBA)
-Read NVMe Command (1 LBA)
-Verify data
-Repeat write, read, verify....
Although slow, these is working.
Now my issue (first issue):
- I modified the software to perform the NVMe Write Command to multiple LBAs (2 LBA) followed by a READ of those 2 LBA.
- The read data returned for the 1st LBA (or 4kB) matches the expected data.
- The read data returned for the 2nd LBA seems to be garbage data (non-zero)
Any suggestions where to look?
I've tried multiple debugging steps without progress.
If an app engineer from Intel could help .... I could provide the full NVMe commands.
Regards...