NVMe: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
No edit summary
Add a See Also section
Line 1: Line 1:

The [https://nvmexpress.org/specifications/ NVMe Specifications] can be found here.

Forum thread about this page [https://forum.osdev.org/viewtopic.php?f=8&t=36366 here].

== Overview ==
== Overview ==


Line 125: Line 120:
=== PRP ===
=== PRP ===


A PRP (physical region page) is a 64-bit physical memory address. It must be DWORD aligned. A list of PRPs is used in a data transfer to specific where data is transferred from/to in memory. A PRP list is subject to the follow rules:
A PRP (physical region page) is a 64-bit physical memory address. It must be DWORD aligned. A list of PRPs is used in a data transfer to specific, where data is transferred from/to in memory. A PRP list is subject to the follow rules:


* The size of the region specified by a given PRP is the minimum of: the amount of data that can be transferred without crossing a page boundary; and the amount of data remaining to be transferred.
* The size of the region specified by a given PRP is the minimum of: the amount of data that can be transferred without crossing a page boundary; and the amount of data remaining to be transferred.
Line 245: Line 240:
* Use the submission queue ID and command ID to work out which submitted command corresponds to this completion entry.
* Use the submission queue ID and command ID to work out which submitted command corresponds to this completion entry.
* Update the completion queue head doorbell register.
* Update the completion queue head doorbell register.

== See Also ==

=== External Links ===

* [https://nvmexpress.org/specifications/ NVMe Specifications]

=== Forum Threads ===

* [https://forum.osdev.org/viewtopic.php?f=8&t=36366 here]


[[Category:Storage]]
[[Category:Storage]]