Signature Verbs Extension Richard L. Graham. Data Integrity Field (DIF) Used to provide data block integrity check capabilities (CRC) for block storage.

Slides:



Advertisements
Similar presentations
Lecture 101 Lecture 10: Kernel Modules and Device Drivers ECE 412: Microcomputer Laboratory.
Advertisements

More on File Management
Middleware Support for RDMA-based Data Transfer in Cloud Computing Yufei Ren, Tan Li, Dantong Yu, Shudong Jin, Thomas Robertazzi Department of Electrical.
The Linux Kernel: Memory Management
File Systems.
OS Memory Addressing.
Fibre Channel over InfiniBand Dror Goldenberg Mellanox Technologies.
Operating Systems Input/Output Devices (Ch , 12.7; , 13.7)
VIA and Its Extension To TCP/IP Network Yingping Lu Based on Paper “Queue Pair IP, …” by Philip Buonadonna.
11/13/01CS-550 Presentation - Overview of Microsoft disk operating system. 1 An Overview of Microsoft Disk Operating System.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
1 File Management in Representative Operating Systems.
1 COMP541 Interrupts, DMA, Serial I/O Montek Singh April 24, 2007.
1 I/O Management in Representative Operating Systems.
Storage Networking Technologies and Virtualization Section 2 DAS and Introduction to SCSI1.
15-Oct-2007 External Path Protection Discussion By Curtis E. Stevens.
IWARP Ethernet Key to Driving Ethernet into the Future Brian Hausauer Chief Architect NetEffect, Inc.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
SHARKFEST '08 | Foothill College | March 31 - April 2, 2008 File and Disk Sharing Protocols April 2, 2008 Richard Sharpe Senior Software Engineer | Data.
1 Input/Output. 2 Principles of I/O Hardware Some typical device, network, and data base rates.
SRP Update Bart Van Assche,.
Intel
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 346, Royden, Operating System Concepts Operating Systems Lecture 24 Paging.
Disk Access. DISK STRUCTURE Sector: Smallest unit of data transfer from/to disk; 512B 2/4/8 adjacent sectors transferred together: Blocks Read/write heads.
TPT-RAID: A High Performance Multi-Box Storage System
Copyright DataDirect Networks - All Rights Reserved - Not reproducible without express written permission Adventures Installing Infiniband Storage Randy.
Chapter 5 Section 2 : Storage Networking Technologies and Virtualization.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 2: Computer-System Structures Computer System Operation I/O Structure.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
1 CSE Department MAITSandeep Tayal Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
2: Computer-System Structures
© 2012 MELLANOX TECHNOLOGIES 1 The Exascale Interconnect Technology Rich Graham – Sr. Solutions Architect.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University1 Input/Output CS 342 – Operating Systems Ibrahim Korpeoglu Bilkent University.
SCSI Commands Overview
Cache Control and Cache Coherence Protocols How to Manage State of Cache How to Keep Processors Reading the Correct Information.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
ISCSI Extensions for RDMA (iSER) draft-ko-iwarp-iser-02 Mike Ko IBM August 2, 2004.
GUID Partition Table Unified Extensible Firmware Interface (UEFI)
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 2 Computer-System Structures Slide 1 Chapter 2 Computer-System Structures.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 2: Computer-System Structures Computer System Architecture and Operation.
Intel Open Source Technology Center Lu Baolu 2015/09
iSER update 2014 OFA Developer Workshop Eyal Salomon
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
AFS/OSD Project R.Belloni, L.Giammarino, A.Maslennikov, G.Palumbo, H.Reuter, R.Toebbicke.
OS Memory Addressing. Architecture CPU – Processing units – Caches – Interrupt controllers – MMU Memory Interconnect North bridge South bridge PCI, etc.
Hands-On Microsoft Windows Server 2008 Chapter 7 Configuring and Managing Data Storage.
UDI Network Drivers Network Interface Metalanguage Barry Feild SCO Server Products Group
File System Department of Computer Science Southern Illinois University Edwardsville Spring, 2016 Dr. Hiroshi Fujinoki CS 314.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 33 Paging Read Ch. 9.4.
CMSC 611: Advanced Computer Architecture
Introduction to Kernel
I/O SYSTEMS MANAGEMENT Krishna Kumar Ahirwar ( )
GUID Partition Table Unified Extensible Firmware Interface (UEFI)
Direct Attached Storage and Introduction to SCSI
File System Implementation
Fabric Interfaces Architecture – v4
GUID Partition Table Unified Extensible Firmware Interface (UEFI)
Direct Attached Storage and Introduction to SCSI
Computer-System Architecture
So far… Text RO …. printf() RW link printf Linking, loading
Lecture 3: Main Memory.
GUID Partition Table Unified Extensible Firmware Interface (UEFI)
CS703 - Advanced Operating Systems
GUID Partition Table Unified Extensible Firmware Interface (UEFI)
Presentation transcript:

Signature Verbs Extension Richard L. Graham

Data Integrity Field (DIF) Used to provide data block integrity check capabilities (CRC) for block storage (SCSI) Proposed by the T10 committee DIX extends the support to main memory Motivation: –Data integrity checks are included in: memory bus I/O bus (PCI-e) internal chips RAID controller within arrays network packet interfaces –Missing data protection: storage controller iSCSI can DMA wrong pages from memory and calculate checksum on these pages Array may receive incorrect data and use it to generate RAID parity blocks Disks may write to the wrong logical block March 30 – April 2, 2014#OFADevWorkshop2

What is DIF The standard specify an additional 8 byte field designated for data integrity/protection for each data block (usually of size 512 bytes but not a must). GUARD tag (Logical Block Guarding): –16-bit CRC covering the hardware sector –Regardless of sector size –4096 KB sectors appear only to gain momentum in lower end REFERENCE tag (Misdirected writes): –4 bytes – depend on protection type –For Type 1 protection, REF tag contains lower 32 bits of LBA –For Type 2 protection, REF tag has to match LBA in CDB + N –Wraps at 2TB with 512 byte sectors, 16TB with 4KB APPLICATION tag (Up for grabs): –2 bytes per sector –Ownership negotiated with target 3

4 System Architecture Host Machine IB Target Machine FC/SATA/SCSI Storage Memory Initiator with *DIF Offload Support Host Machine Memory Legacy Initiator DIF Enabled Target *DIF Offload Support Data Meta Data (DIF)

5 System Architecture

6

Signature Verbs - Actions 1. Allocate Signature enabled memory regions mr_init_attr.flags |= IB_MR_SIGNATURE_EN; sig_mr = ib_create_mr(pd, &mr_init_attr); 2. Set QP as Signature enabled qp_init_attr.create_flags |= IB_QP_CREATE_SIGNATURE_EN; sig_qp = ib_create_qp(pd, &qp_init_attr); 3. Register Signature MR (send work request IB_WR_REG_SIG_MR ) sig_wr.opcode = IB_WR_REG_SIG_MR; sig_wr.sg_list = data_sge; /* Data buffer */ sig_wr.wr.sig_handover.prot = prot_sge; /* protection buffer */ sig_wr.wr.sig_handover.sig_attrs = &sig_attrs; /* signature attributes struct */ sig_wr.wr.sig_handover.sig_mr = pi_ctx->sig_mr;/* Signature enabled MR */ ret = ib_post_send(qp, sig_wr, &bad_wr); 3.5. do RDMA (data-transfer) – Leverage existing verbs support 4. Check Signature status ret = ib_check_mr_status(sig_mr, IB_MR_CHECK_SIG_STATUS, &mr_status); 7

Leverage Extended User Mode Memory Registration Memory Key Creation: Support combining contiguous registered memory regions into a single memory region. H/W treats them as a single contiguous region (and handles the non-contiguous regions) For a given memory region, supports non-contiguous access to memory, using a regular structure representation – base pointer, element length, stride, repeat count. –Can combine these from multiple different memory keys Memory descriptors are created by posting WQE’s to fill in the memory key Supports local and remote non-contiguous memory access –Eliminates the need for some memory copies

Combining Contiguous Memory Regions

Non-Contiguous Memory Access – Regular Access Memory Wire

Non-Contiguous Memory Access – Regular Access March 30 – April 2, 2014#OFADevWorkshop11 Wire Memory

12 Example in SCSI transport

#OFADevWorkshop Thank You