rfc3783.Small Computer Systems Interface (SCSI) Command Ordering Considerations with iSCSI

更新时间:2023-06-19 13:42:58 阅读: 评论:0

Network Working Group                                    M. Chadalapaka Request for Comments: 3783                                    R. Elliott Category: Informational                              Hewlett-Packard Co.                                                                May 2004                Small Computer Systems Interface (SCSI)
Command Ordering Considerations with iSCSI
Status of this Memo
This memo provides information for the Internet community.  It does
not specify an Internet standard of any kind.  Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2004).  All Rights Rerved. Abstract
Internet Small Computer Systems Interface (iSCSI) is a Small Computer    Systems Interface (SCSI) transport protocol designed to run on top of    TCP.  The iSCSI ssion abstraction is equivalent to the classic SCSI    "I_T nexus", which reprents the logical relationship between an
Initiator and a Target (I and T) required in order to communicate via    the SCSI family of protocols.  The iSCSI ssion provides an ordered    command delivery from the SCSI initiator to the SCSI target.  This
document goes into the design considerations that led to the iSCSI
ssion model as it is defined today, relates the SCSI command
ordering features defined in T10 specifications to the iSCSI
concepts, and finally provides guidance to system designers on how
true command ordering solutions can be built bad on iSCSI.
Table of Contents
1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
2.  Definitions and Acronyms . . . . . . . . . . . . . . . . . . .  3      2.1.  Definitions. . . . . . . . . . . . . . . . . . . . . . .  3
2.2.  Acronyms . . . . . . . . . . . . . . . . . . . . . . . .  4
3.  Overview of the iSCSI Protocol . . . . . . . . . . . . . . . .  4      3.1.  Protocol Mapping Description . . . . . . . . . . . . . .  4      3.2.  The I_T Nexus Model. . . . . . . . . . . . . . . . . . .  5      3.3.  Ordered Command Delivery . . . . . . . . . . . . . . . .  6            3.3.1.  Questions. . . . . . . . . . . . . . . . . . . .  6            3.3.2.  The Session Guarantee. . . . . . . . . . . . . .  6            3.3.3.  Ordering Onus. . . . . . . . . . . . . . . . . .  7            3.3.
4.  Design Intent. . . . . . . . . . . . . . . . . .  7 Chadalapaka & Elliott        Informational                      [Page 1]
4.  The Command Ordering Scenario. . . . . . . . . . . . . . . . .  8      4.1.  SCSI Layer . . . . . . . . . . . . . . . . . . . . . . .  8            4.1.1.  Command Reference Number (CRN) . . . . . . . . .  8            4.1.2.  Task Attributes. . . . . . . . . . . . . . . . .  8            4.1.3.  Auto Contingent Allegiance (ACA) . . . . . . . .  8            4.1.4.  UA Interlock . . . . . . . . . . . . . . . . . .  9
4.2.  iSCSI Layer. . . . . . . . . . . . . . . . . . . . . . .  9
5.  Connection Failure Considerations. . . . . . . . . . . . . . .  9
6.  Command Ordering System Considerations . . . . . . . . . . . . 10
7.  Rervation Considerations . . . . . . . . . . . . . . . . . . 11
8.  Security Considerations. . . . . . . . . . . . . . . . . . . . 12
9.  References and Bibliography. . . . . . . . . . . . . . . . . . 12      9.1.  Normative References.. . . . . . . . . . . . . . . . . . 12
9.2.  Informative References . . . . . . . . . . . . . . . . . 12
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
11. Authors’ Address . . . . . . . . . . . . . . . . . . . . . . 13
12. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 14 1.  Introduction
iSCSI is a SCSI transport protocol ([iSCSI]) designed to enable
running SCSI application protocols on TCP/IP networks, including
potentially the Internet.  Given the size and scope of the Internet,  iSCSI thus enables some exciting new SCSI applications.  Potential
new application areas for exploiting iSCSI’s value include the
following:
a) Larger (diameter) Storage Area Networks (SANs) than had been
possible until now
b) Asynchronous remote mirroring
c) Remote tape vaulting
Each of the applications takes advantage of the practically
unlimited geographical distance that iSCSI enables between a SCSI
initiator and a SCSI target.  In each of the cas, becau of the    long delays involved, there is a very high incentive for the
initiator to stream SCSI commands back-to-back without waiting for
the SCSI status of previous commands.  Command streaming may be
employed primarily by two class of applications - while one class
may not particularly care about ordered command execution, the other    class does rely on ordered command execution (i.e. there is an
application-level dependency on the ordering among SCSI commands).
As an example, cas b) and c) listed earlier clearly require ordered    command execution.  A mirroring application does not want the writes    to be committed out of order on the remote SCSI target, so as to Chadalapaka & Elliott        Informational                      [Page 2]服装搭配学校
prerve the transactional integrity of the data on that target.  To    summarize, SCSI command streaming, when coupled with the guarantee of    ordered command execution on the SCSI target, is extremely valuable
for a critical class of applications in long-latency networks.
hook是什么意思
This document reviews the various protocol considerations in
designing storage solutions that employ SCSI command ordering.  This    document also analyzes and explains the design intent of [iSCSI] with    respect to command ordering.
2.  Definitions and Acronyms
2.1.  Definitions
-  I_T nexus: [SAM2] defines the I_T nexus as a relationship between      a SCSI initiator port and a SCSI target port.  [iSCSI] defines an      iSCSI ssion as the iSCSI reprentation of an I_T nexus.  In the      iSCSI context, the I_T nexus (i.e. the iSCSI ssion) is a
fundamentumrelationship between an iSCSI initiator’s end of the ssion (SCSI      Initiator Port) and the iSCSI target’s Portal Group (SCSI Target
Port).
-  PDU (Protocol Data Unit): An iSCSI initiator and iSCSI target
communicate using iSCSI protocol messages.  The messages are
called "iSCSI protocol data units" (iSCSI PDUs).
-  SCSI device: A SCSI device is an entity that contains one or more      SCSI ports that are connected to a rvice delivery subsystem and      supports SCSI application protocols.  In the iSCSI context, the
SCSI Device is the component within an iSCSI Node that provides
2014ama全美音乐奖the SCSI functionality.  The SCSI Device Name is defined to be the      iSCSI Name of the node.
-  Session: A group of logically related iSCSI connections that link      an initiator with a target form a ssion (equivalent to a SCSI
I-T nexus).  The number of participating iSCSI connections within      an iSCSI ssion may vary over time.  The multiplicity of
connections at the iSCSI level is completely hidden for the SCSI
layer - each SCSI port in an I_T nexus es only one peer SCSI
port across all the connections of a ssion.
Chadalapaka & Elliott        Informational                      [Page 3]
2.2.  Acronyms
Acronym                      Definition
--------------------------------------------------------------
ACA                          Auto Contingent Allegiance
ASC                          Additional Sen Code
ASCQ                        Additional Sen Code Qualifier
CRN                          Command Reference Number
IETF                        Internet Engineering Task Force
ISID                        Initiator Session Identifier
ITT                          Initiator Task Tag
LU                          Logical Unit
LUN                          Logical Unit Number
NIC                          Network Interface Card
PDU                          Protocol Data Unit
TMF                          Task Management Function
TSIH                        Target Session Identifying Handle
SAN                          Storage Area Network
SCSI                        Small Computer Systems Interface
TCP                          Transmission Control Protocol
UA                          Unit Attention
WG                          Working Group
3.  Overview of the iSCSI Protocol
3.1.  Protocol Mapping Description
The iSCSI protocol is a mapping of the SCSI remote procedure
invocation model (e [SAM2]) over the TCP protocol.
SCSI’s notion of a task maps to an iSCSI task.  Each iSCSI task is
uniquely identified within that I_T nexus by a 32-bit unique
identifier called Initiator Task Tag (ITT).  The ITT is both an iSCSI    identifier of the task and a classic SCSI task tag.
SCSI commands from the initiator to the target are carried in iSCSI
requests called SCSI Command PDUs.  SCSI status back to the initiator    is carried in iSCSI respons called SCSI Respon PDUs.  SCSI Data-  out from the initiator to the target is carried in SCSI Data-Out
utmPDUs, and the SCSI Data-in back to the initiator is carried in SCSI
Data-in PDUs.
Chadalapaka & Elliott        Informational                      [Page 4]
3.2.  The I_T Nexus Model
In the iSCSI model, the SCSI I_T nexus maps directly to the iSCSI
ssion, which is an iSCSI protocol abstraction spanning one or more    TCP connections.  The iSCSI protocol defines the mantics in order
to realize one logical flow of bidirectional communication on the I_T    nexus, potentially spanning multiple TCP connections (as many as
solon2^16).  The multiplicity of iSCSI connections is thus completely
contained at the iSCSI layer, while the SCSI layer is prented with    a single I_T nexus, even in a multi-connection ssion.  A ssion
between a pair of given iSCSI nodes is identified by the ssion
identifier (SSID) and each connection within a given ssion is英语谚语翻译
uniquely identified by a connection identifier (CID) in iSCSI.  The
SSID itlf has two components - Initiator Session Identifier (ISID)  and a Target Session Identifying Handler (TSIH) - each identifying
one end of the same ssion.
There are four crucial functional facets of iSCSI that together
prent this single logical flow abstraction to the SCSI layer, even    with an iSCSI ssion spanning across multiple iSCSI connections.
a) Ordered command delivery: A quence of SCSI commands that is
striped across all the connections in the ssion is
"reordered" by the target iSCSI layer into an identical
quence bad on a Command Sequence Number (CmdSN) that is
unique across the ssion.  The goal is to achieve bandwidth
aggregation from multiple TCP connections, but to still make it          appear to the target SCSI layer as if all the commands had
travelled in one flow.
b) Connection allegiance: All the PDU exchanges for a SCSI
Command, up to and including the SCSI Respon PDU for the
Command, are required to flow on the same iSCSI connection at
any given time.  This again is intended to hide the multi-
connection nature of a ssion becau the SCSI layer on either          side will never e the PDU contents out of order (e.g., status          cannot bypass read data for an initiator).
c) Task t management function handling: [iSCSI] specifies an
ordered quence of steps for the iSCSI layer on the SCSI
target in handling the two SCSI task management functions
(TMFs) that manage SCSI task ts.  The two TMFs are ABORT TASK          SET that aborts all active tasks in a ssion, and CLEAR TASK
SET that clears the tasks in the task t.  The goal of the
quence of steps is to guarantee that the initiator receives
the SCSI Respon PDUs of all unaffected tasks before the TMF
Respon itlf arrives, regardless of the number of
connections in the iSCSI ssion.  This operational model is Chadalapaka & Elliott        Informational                      [Page 5]
again intended to prerve the single flow abstraction to the
SCSI layer.
d) Immediate task management function handling: Even when a TMF
request is marked as "immediate" (i.e. only has a position in
the command stream, but does not consume a CmdSN), [iSCSI]
defines mantics that require the target iSCSI layer to ensure          that the TMF request is executed as if the commands and the TMF          request were all flowing on a single logical channel.  This
ensures that the TMF request will act on tasks that it was
meant to manage.
The following ctions will analyze the "Ordered command delivery"
aspect in more detail, since command ordering is the focus of this
bullfrogdocument.
3.3.  Ordered Command Delivery
3.3.1.  Questions
A couple of important questions related to iSCSI command ordering
were considered early on in the design of the iSCSI protocol.  The
questions were:
a) What should be the command ordering behavior required of iSCSI          implementations in the prence of transport errors, such as
errors that corrupt the data in a fashion that is not detected          by the TCP checksum (e.g., two offtting bit flips in the same          bit position), but is detected by the iSCSI CRC digest?
b) Should [iSCSI] require both initiators and targets to u
ordered command delivery?
Since the answers to the questions are critical to the
understanding of the ordering behavior required by the iSCSI
protocol, the following sub-ctions consider them in more detail.
3.3.2.  The Session Guarantee
differentfrom
The final disposition of question a) in ction 3.3.1 was reflected
ts什么意思
in [RFC3347], "iSCSI MUST specify strictly ordered delivery of SCSI
commands over an iSCSI ssion between an initiator/target pair, even    in the prence of transport errors."  Stated differently, an iSCSI
digest failure, or an iSCSI connection termination, must not cau
the iSCSI layer on a target to allow executing the commands in an
order different from that intended (as indicated by the CmdSN order)  by the initiator.  This design choice is enormously helpful in
building storage systems and solutions that can now always assume Chadalapaka & Elliott        Informational                      [Page 6]

本文发布于:2023-06-19 13:42:58,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/150531.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服装   谚语   搭配   翻译
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图