# NVMe * NVMe有两种命令 * 一种叫**Admin Command**,用以Host管理和控制SSD * 另外一种就是**I/O Command**,用以Host和SSD之间数据的传输 * Admin Command: *  *  * I/O Command: *  * Host又是怎么把这些命令发送给SSD执行呢? * NVMe有三宝:Submission Queue (SQ),Completion Queue(CQ)和Doorbell Register (DB)。 SQ和CQ位于Host的内存中,DB则位于SSD的控制器内部。 *  * 系统中只能有一对Admin SQ/CQ,但可以有很多对I/O SQ/CQ * I/O SQ是可以赋予不同优先级的 * I/O SQ/CQ深度可达64K,Admin SQ/CQ深达4K * I/O SQ/CQ的广度和深度都可以灵活配置 * 每条命令大小是64字节,每条命令完成状态是16字节 *  *  * Host有两种方式来告诉SSD数据所在内存位置,一是PRP (Physical Region Page, 不是P2P!),二是SGL (Scatter/Gather List)。 * 一段数据空间,对PRP来说,它只能映射到一个个物理页,而对SGL来说,它可以映射到任意大小的连续物理空间。 *  ### Reference SSDFans
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up