Top Banner
iATA Kulveer Singh [email protected] .ac.kr
26
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

iATA

Kulveer Singh

[email protected]

Page 2: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

ATA Concepts

• At the highest level, ATA is a family of interfaces for requesting services from I/O devices, including hard drives, tape drives, CD and DVD drives, printers, and scanners.

• In ATA parlance, an individual I/O device is called a "logical unit" (LU).

• ATA’s main advantage is using a logical addressing of data-blocks instead of the physical addressing of cylinders, head and sector.

• This allow storage apps to be developed faster and to be reused when a new type of disk entered the market.

Page 3: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

ATA Concepts(cont.)

• ATA is a client-server architecture.

• Clients of a ATA interface are called "clients".

• clients issue ATA "commands" to request service from a logical unit( LU ).

• The "device server" on the logical unit accepts ATA commands and executes them.

Page 4: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

ATA Concepts(cont.)

• A “ATA transport" maps the client-server ATA protocol to a specific interconnect.

• clients are one endpoint of a ATA transport. The "server" is the other endpoint.

• A server can have multiple Logical Units behind it.

• Each Logical Unit has an address within a server called a Logical Unit Number( LUN )

Page 5: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

ATA Concepts(cont.)

• Command Descriptor Blocks (CDB) is the data structure used to contain the command parameters that are to be handed by an client to a server.

• The CDB content and structure is defined by [SAM] and device-type specific ATA standards.

Page 6: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Parallel ATA

• Traditional ATA coupled the protocol with the transport layer i.e. ATA commands were sent to ATA devices via the ATA-bus.

• … a few years later, storage controllers in the “Open-Systems” arena have supported the ATA protocol, and have been attached to computers through the ATA parallel bus.

• The ATA parallel bus gave a very high bandwidth for bursting writes for a number of ATA devices connected through the bus.

• But, as things advanced in the storage world the Parallel ATA becomes a limiting factor.

Page 7: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Parallel ATA Limitation

• Parallel ATA has very restrictive distance capabilities( a few meters only ).

• Parallel ATA also limits the number of the connected devices( 8-16 )

• And like any other parallel bus interconnect the ATA parallel bus, has bandwidth limitations when more than one device try to get hold of the bus.

Page 8: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Parallel ATA Limitation

• While all those limitations might seem acceptable when considering a work-station or a small server, they are very restricting limitations when considering an enterprise Storage Network where a few hundreds of storage devices are shared between many computers.

Page 9: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Fibre Channel

• The protocol was developed at the late 80’ to be a very flexible, high-speed, scalable networking technology.

• Many protocols were remapped to FC including: IP, ATM, ATA, Escon(Ficon) …

• But, only the ATA mapping was widely adopted• In the mid 90’ it entered the storage world as a

serial transport layer for ATA (fcp).

Page 10: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

FC Problems:

• Price is too high( 1000$ for a FC nic )

• Limited distance ( 10-50 KM )

• Interoperability – Products of different FC vendors don’t play together.

• Isolated from IP network, a special(and expensive) switch is needed to connect

• Another network to maintain( assuming the organization already have an IP network )

• Reinvents the wheel - a totally different set of protocols for communication, addressing, name-servers, managements

Page 11: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

iATA

• iATA is a mapping of ATA-3 to TCP, as a “ATA transport”.

• It behaves as a Serial ATA transporter transferring ATA packets( read/write, data, status and control messages ) over a TCP stream.

• The idea is extremely simple, use existing building blocks( ATA, TCP ) to implement another service.

Page 12: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

iATA & IP Network

• The protocol will use the existing ATA architecture and commands, and the existing TCP/IP transport layer.

• Both these protocols are widely-deployed and well-understood. The thought is that using these mature protocols will entail a minimum of new invention, the most rapid possible adoption, and the greatest compatibility with Internet architecture, protocols, and equipment.

• The iATA protocol MUST NOT require modifications to the current IP and Ethernet infrastructure to support storage traffic over TCP.

• Nevertheless, the performance and security requirements ( not to mention the budget) of storage creates opportunities for improvement in security protocols and QoS implementations.

Page 13: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

iATA and ATA

• The iATA protocol MUST NOT require changes to the ATA-3 command sets and ATA client code except to reflect lengthier iATA server names and potentially lengthier timeouts.

• All ATA devices types SHOULD be supported, but iATA main interest are disk and tape controllers

• The iATA protocol MUST reliably transport ATA commands from the client to the server.

Page 14: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

ATA Envirnoment

Page 15: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

iATA Layers

ATA

iATA

Upper Functional Layers (e.g. SSL)

TCP

Lower Functional Layers (e.g. IPSec)

IP

LINK

Page 16: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Request Packet

Page 17: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Reply Packet

Page 18: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Request/Reply Fields

• Features: Parameters for the command • Sector Count: Number of sectors that will be used • LBA: Logical Block Address of the starting sector

that will be used • Device: Device selection and additional bits are

reserved for future usage.• Command: Command code• Error: Bits indicating different errors• Status: Bits indicating status of the action

Page 19: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

OS Layering

Page 20: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

ATA CommandsControl Commands

–Identify Device–Flush cache: –Set features

Data Commands

–Read sectors–Write Sectors

Page 21: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Identify Device

IDENTIFY-DEVICE: This command is used to gather information from the device. Features field in the request packet is used to specify the type of information requested. If the information cannot be returned within the Status field of reply packet, a string for example, a data stream should be returned after the packet and the size of the data must be given in the Sector Count field of the reply packet.

Page 22: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Flush Cache

FLUSH-CACHE: This command is used to force the device to flush its cache. If there is any data that needs to be written physically, the device should perform the writing of the data. This cache is nothing to do with the bu ering mechanism of ffiATA protocol. The cache is device specific and thus any device that does not have an inner cache must reply to this command by saying that it is successfully completed.

Page 23: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Features

SET-FEATURES: This command is used to modify device parameters. Features field in the request packet is used to specify the parameter that will be modified. Similarly, Sector Count and LBA fields are used to specify the value of that parameter.

Page 24: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Read Command

READ-SECTORS: This command is used to read one or more sectors from the device. After the reply packet, the device must send the data sector by sector as a stream. Size of the data stream can be calculated from the Sector Count field.

Page 25: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Write Command

WRITE-SECTORS: This command is used to write one or more sectors to the device. After the request packet, the host must send the data sector by sector as a stream. Size of the data stream can be calculated from the Sector Count field.

Page 26: IATA Kulveer Singh Kulveer.singh@dit.dongseo.ac.kr.

Thanks