找回密码
 注册
关于网站域名变更的通知
查看: 364|回复: 2
打印 上一主题 下一主题

NVMe与AHCI对比-Anatomy of the Interfaces

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-9 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
: s, [7 T) o5 F1 `7 C  |( }2 y1 n

; O* Y/ J; @" }
NVMe与AHCI对比-Anatomy of the InteRFaces
! k, Z! ^/ N" g# V
ge-newline">
Before going into a detailed analysis of the two interfaces it will be helpful to establish acommon understanding of the elements of an interface and establish a commonterminology associated with an interface. In this section I’ll present my own ontologyand an associated terminology. It should serve the purpose of creating the foundationsneeded to position each of the discussed interfaces with respect to one another.
  W4 ^/ O1 V" d' l' g3 c( O3.1 OverviewAn interface can be decomposed into various components. This paper uses thefollowing decomposition.# e/ i: t5 v: A. i& \: `) b8 O
  • Transport
    ! W- u- R" @( l9 ?  K* }
           Logical
* \8 n: n- X, p           Physical
  • Register Set
  • Queuing Layer or Model
  • Protocol
  • Command Set$ C% U0 u) ]8 |9 y5 b+ [
$ [/ @& E' D# h5 U- C* @
6 R9 g7 K  |: }9 A$ ~
3.1.1 Transport
$ l/ f- n8 S9 g3 f% ]1 r: qFundamentally a transport is the mechanism by which information is conveyed ormoved from one point in a system to another in an orderly and predictable manner. Atransport is a combination of other elements of the interface. Interfaces depend ontransports. Transports can be physical or logical. Logical transports can run on top ofphysical transports. Transports can be layered or tunneled. Transports are alsosometimes referred to as protocols, but in this paper the two terms have distinctlydifferent meanings.
" i* n) {; J: v3 v0 I8 e) D! k' x, n4 R' a8 z3 P+ g: R. i7 M
As described in the previous section both AHCI and NVMe are layered on top of PCIe.PCIe has its own transport and protocols that include a physical and data link layer that
is not included in either AHCI or NVMe. Both AHCI and NVMe are logical transports thatare layered on top of the underlying physical bus transports and protocols on which theyare implemented.% R. X+ C) H4 ^. _# a! [

) e6 q- m( P/ t! I9 M
5 U1 `+ r$ j9 F0 u8 `) Y% v. o7 s

4 I- S( I: n  i

该用户从未签到

2#
 楼主| 发表于 2019-4-9 10:01 | 只看该作者
3.1.2 Register Set
2 ^1 B! K" g4 j4 ]; S, q. v. j4 NEach interface defines a register set that is mapped into various PCI address spacetypes. In addition to the registers required by the PCI specification, registers that mapinto the PCI Configuration Space, there are registers that are defined to describe andcontrol the device itself. These latter registers map into the PCI/PCIe bus addressspace which are in turn mapped into the system’s address space. These register setscan be grouped into,
, M# P' h0 s( S) q4 z+ H" ]3 F Capabilities Registers: u! W0 Z0 R# i- c
 Configuration Registers
: O) [% a8 B" Z$ c' f$ D6 A Status Registers" G% l1 R( a# @9 T( {+ G3 V
Registers of these types exist in both interfaces. They allow the user to configureoperational aspects of the device, provide status on the device and to operate accesschannels to the storage extents within the various device domains.% g3 x% }  B3 l2 I1 J
, g5 `/ ?! w- L# S& N$ Q9 l
* N+ {5 b) x& V. M0 V
3.1.3 Queuing Layer9 m( p$ P/ M" k& X8 n
Most interfaces use queues for moving commands, command status and/or data acrossthe transport. Queues are typically used for smoothing the flow of information and data,functioning as elasticity buffers, and possibly maintaining command ordering of sometype. They provide the buffers needed for temporary storage of command andcommand status until they can be processed by the host or device.; p0 p! ~! x& \9 c+ O4 N# L
Queuing layers must have usage rules associated with them. The mechanisms used toupdate queue head and tail pointers and notifications of when a queue has beenupdated to interested parties are all part of the queuing layer and its associatedprotocols.- {% B0 r* d, x2 R9 v
/ R3 V2 b& U  s& o

该用户从未签到

3#
 楼主| 发表于 2019-4-9 10:02 | 只看该作者
Zedd 发表于 2019-4-9 10:01
- I$ S# T7 n& L7 J3.1.2 Register Set
% o0 ^5 K" ^* g6 w. \; }Each interface defines a register set that is mapped into various PCI address sp ...

: J/ g' P/ ~& _9 ]- J0 A
3.1.4 Protocol) m; ~1 k/ I4 x5 Q  e7 s
The elements that make up an interface, whether physical or logical, have rules ofusage. These rules make up a protocol. The term “protocol” will mean different things todifferent people and may even mean slightly different things in usage by the sameperson depending on context. In this paper my usage of “protocol” is as follows.
- J/ c  J$ D1 Y6 B, D! a& [“The set of rules that apply to the usage of the various physical and logical components
0 T3 |, w9 H2 ?0 n5 T$ Eof an interface or transport that must be adhered to by all entities, whether initiators or
targets/requestors or responders, that connect to an interface or transport, either physical or logical, in order to facilitate the correct and orderly exchange of information.”
: c9 P9 H8 ~" Z2 O3 J- C$ c' I& A$ M" ]# ~
3.1.5 Command Set- y6 R8 s) F. `. Z$ F, d
The definition of an interface may include the definition of a command set. In this papera command set will be defined as the set of tasks to which the interface is dedicated.For a storage interface typical commands would be read, write, trim, etc.

+ y7 l1 }; o+ u% g5 u
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-29 21:55 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表