SBP/2 over IEEE-1394 and future 1394 specifications Contact Info: Christopher Lee University of New Hampshire InterOperability Lab -

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

I/O Organization popo.
INPUT-OUTPUT ORGANIZATION
Lectures on File Management
Part IV: Memory Management
PROGRAMMABLE PERIPHERAL INTERFACE -8255
The ATA/IDE Interface Can we write a character-mode device driver for the hard disk?
DIRECT MEMORY ACCESS CS 147 Thursday July 5,2001 SEEMA RAI.
File Management Systems
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
1 6/22/ :39 Chapter 9Fiber Channel1 Rivier College CS575: Advanced LANs Chapter 9: Fibre Channel.
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
Storage Networking Technologies and Virtualization Section 2 DAS and Introduction to SCSI1.
0 What is a computer?  Simply put, a computer is a sophisticated electronic calculating machine that:  Accepts input information,  Processes the information.
Chapter 4 Section 3.
Storage device.
NETWORKING HARDWARE.
INPUT-OUTPUT ORGANIZATION
The University of New Hampshire InterOperability Laboratory Serial ATA (SATA) Protocol Chapter 10 – Transport Layer.
Introduction Part 1 The Microprocessor Based Systems  Memory and I/O System  Microprocessor.
1 Chapter Overview CD-ROM and DVD Drives Advanced Hard Disk Drives SCSI Drives.
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
CSCI 1101 Intro to Computers 6. Local Area Networks.
Computer Systems 1 Fundamentals of Computing The CPU & Von Neumann.
CPU BASICS, THE BUS, CLOCKS, I/O SUBSYSTEM Philip Chan.
Computer Processing of Data
Input/OUTPUT [I/O Module structure].
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
CHAPTER 9: Input / Output
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
MICROPROCESSOR INPUT/OUTPUT
Chapter 5 Section 2 : Storage Networking Technologies and Virtualization.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Computers Are Your Future Eleventh Edition Chapter 2: Inside the System Unit Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
Input/Output 2 What is I/O? How we get the CPU to communicate with devices From the computer’s point of view, it’s just 1’s and 0’s Gets interpreted.
Input/Output Computer component : Input/Output I/O Modules External Devices I/O Modules Function and Structure I/O Operation Techniques I/O Channels and.
File Structures. 2 Chapter - Objectives Disk Storage Devices Files of Records Operations on Files Unordered Files Ordered Files Hashed Files Dynamic and.
Organisasi Sistem Komputer Materi VIII (Input Output)
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 12: Planning and Implementing Server Availability and Scalability.
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
WEEK 11 – TOPOLOGIES, TCP/IP, SHARING & SECURITY IT1001- Personal Computer Hardware System & Operations.
THE MICROPROCESSOR A microprocessor is a single chip of silicon that performs all of the essential functions of a computer central processor unit (CPU)
Computer operation is of how the different parts of a computer system work together to perform a task.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
بسم الله الرحمن الرحيم MEMORY AND I/O.
1 Computer Architecture. 2 Basic Elements Processor Main Memory –volatile –referred to as real memory or primary memory I/O modules –secondary memory.
Lecture Overview Shift Register Buffering Direct Memory Access.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
The World Leader in High Performance Signal Processing Solutions SD/SDIO Introduction Cliff Cai.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Point-Point Protocol (PPP) by William F. Widulski.
Computer Organization
I/O SYSTEMS MANAGEMENT Krishna Kumar Ahirwar ( )
What is a computer? Simply put, a computer is a sophisticated electronic calculating machine that: Accepts input information, Processes the information.
Direct Attached Storage and Introduction to SCSI
Chapter 9 – Real Memory Organization and Management
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
CSI 400/500 Operating Systems Spring 2009
Direct Attached Storage and Introduction to SCSI
Chapter 5: Computer Systems Organization
COMP755 Advanced Operating Systems
Presentation transcript:

SBP/2 over IEEE-1394 and future 1394 specifications Contact Info: Christopher Lee University of New Hampshire InterOperability Lab Consortium

UNH InterOperability Lab - 2 What this presentation is… A general technical overview of the Serial Bus Protocol 2 Questions that this presentation attempts to answer –What is SBP/2? –Why is it needed? –What problems does it solve? –How does it work? –How is it implemented?

UNH InterOperability Lab - 3 What is SBP/2? The Serial Bus Protocol 2 was created by the T10 SCSI group. The group noticed the trend of the computer industry moving to faster, smaller, cheaper. Standard SCSI interfaces were bulky, expensive, and difficult to manage. Termination was a large problem, as was the “fat” cables used by SCSI technology.

UNH InterOperability Lab - 4 What is SBP/2? (cont) A parallel bus like SCSI is great for single peer to peer connections, but serial buses are better for peer to peer connections with multiple devices SBP/2 did not start originally for 1394, but modifications have made 1394 implementation anything but perfect

UNH InterOperability Lab - 5 Why SBP/2? 1394 needed a protocol for mass data storage. There are no defined command sets or protocols for 1394 so a generic data transfer command set was designed similar to SCSI. SBP/2 is to allow different devices to exchange data and commands between each other.

UNH InterOperability Lab - 6 Why SBP/2? (cont) SBP/2 can be used for: –hard drives, –magneto optical (MO) drives, –digital cameras, –CD-ROMs, –DVD-ROMs, –mass storage devices, –any device that can implement SCSI commands

UNH InterOperability Lab - 7 What problems does it solve? Ability of devices to identify themselves without prior knowledge To transfer data and commands abstractly, (encapsulated SCSI commands) Generic packet set of 1394 makes implementation of different protocols easier Enables devices to form large command task sets without transferring set beforehand Some security features via password login

UNH InterOperability Lab - 8 How does SBP/2 work? Each capability of a node is designated with a logical unit number (LUN) –nodes may have up to eight (8) LUNs The commands for the target are kept in system memory of the initiator –the target uses a read request block to fetch the command (ORB) –the target uses a field in the ORB to determine the direction of information flow

UNH InterOperability Lab - 9 Command Implementation All SBP/2 commands use the standard asynchronous packet transfers of read/write quadlet request/response, and read/write block request/response

UNH InterOperability Lab - 10 Initiators and targets... A transfer involves only one initiator, but can involve more than one target. All commands and data are encapsulated within a packet known as an operation request block (ORB)

UNH InterOperability Lab - 11 Address Pointers and Page Tables –SBP/2 standard address pointer »Last two bits not used, offset is higher –When a data block is fragmented, a page table may be utilized

UNH InterOperability Lab - 12 ORBs There are several different types of ORBs –Management ORBs responsible for administration commands, such as login, logout, password management, and target lists –Dummy ORB blank ORBs used as a placeholder in a linked list –Command Block ORB actual command ORBs, encapsulated SCSI commands

UNH InterOperability Lab - 13 ORBs (cont) All ORBs have the following fields in common –Notify bit advises the target whether or not completion notification is necessary –rq_fmt field specifies what type of ORB it is

UNH InterOperability Lab - 14 ORB Format Four ORB type dependent fields Notify bit -> Last portion of field can -> vary in size

UNH InterOperability Lab - 15 ORB Linked Lists One of the features of SBP/2 is the ability for ORBs to be formed into a linked list –Each ORB has a field that gives the address of the next ORB A target may fetch several ORBs and depending upon the node’s capabilities execute the commands in order or it may optimize the commands to make operation more efficient

UNH InterOperability Lab - 16 ORB Linked Lists

UNH InterOperability Lab - 17 Management ORBs Cannot be linked together Fields are function dependent login query logins reconnect set password logout abort task target reset

UNH InterOperability Lab - 18 Management ORB Format –Notify set to 1 -> –Status block ->

UNH InterOperability Lab - 19 Dummy ORBs Serve as placeholders in a command ORB linked list –can be used to initialize a target fetch agent Next_ORB pointer ->

UNH InterOperability Lab - 20 Command ORBs Used to encapsulate data transfer or device control commands All command ORBs have a next_ORB field –This field permits ORBs to be put in a linked list Contains a field indicating the size of the data block to be transferred Direction bit –Used to determine whether it needs to read or write

UNH InterOperability Lab - 21 Command Block ORB Format Next_ORB pointer -> Contains address of data buffer for command in -> command_block Encapsulated SCSI command ->

UNH InterOperability Lab - 22 ORB Implementation ORBs (commands) are stored on the initiator in system memory Each node utilizes a doorbell register –The doorbell register is used to indicate to the target that the initiator has added ORBs to a suspended linked list any value written to the doorbell indicates the doorbell has been “rung” Each node has a next_ORB register –An ORBs address is written to this register prior to “ringing the doorbell”

UNH InterOperability Lab - 23 Login An initator must login to a target before using a node’s resources –A password verification must take place –Using a login procedure, addressing issues in a dynamic environment are solved –Discovery of a node’s capabilities take place during login

UNH InterOperability Lab - 24 Login ORB Format »Password -> »Address for response block -> »Notify, reconnect, and LUN -> »Password and response length -> »Status block address ->

UNH InterOperability Lab - 25 Status Blocks A login ORB specifies the address in system memory that the target will use to store the status of command execution and/or completion The status response is dependent on the command ->

UNH InterOperability Lab - 26 Passwords Each node has a set of two passwords –A master password cannot be changed stored in static memory can only be read when already logged in –Secondary password can be changed should be noted on the end product

UNH InterOperability Lab - 27 Change Password Management ORB Format Changes secondary password –Uses login ID for verification New password -> Login_id of currently logged in initiator -> Status block address ->

UNH InterOperability Lab - 28 Reconnect The login ORB specifies a reconnect time –If disconnected, the initiator attempts to reconnect within the time-out period with a reconnect ORB The reconnect ORB specifies the address of a status block that the reconnecting target writes to

UNH InterOperability Lab - 29 Reconnect ORB Format <- Login_id that node received from login process ^ Status block address ^

UNH InterOperability Lab - 30 Logout When an initator no longer requires access to a target’s resources, it shall signal a logout request Upon a successful logout, all resources are released Status block address ->

UNH InterOperability Lab - 31 End Notes Current Microsoft implementation of SBP/2 –Uses a null password for login –Hard drives stay logged in –Printers log out after a print job –Notify is set at all times