muhammad ahmad seagate technology · 2018 storage developer conference. © seagate technology. all...
TRANSCRIPT
![Page 1: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/1.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1
What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest
Muhammad AhmadSeagate Technology
![Page 2: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/2.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 2
Supports multiple operating system Architecture portable Interface (SAS/SATA/NVMe) agnostic Storage media independent Self-Contained (short dependency tree) Open source
One tool to rule them all
Problem Statement
![Page 3: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/3.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 3
Need a highly portable, secure, non-disruptive software stack to enable various use cases of storage devices that are integrated in diverse hardware platforms & operating systems.
Vision Statement
![Page 4: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/4.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 4
Open source (MPL) cross-platform project, written in C, is a collection of utilities written for storage products based on the storage industry standard T10/T13/NVMe specifications that allows device diagnostics and management.
openSeaChest
![Page 5: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/5.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 5
Use case based (Power, SMART, Erase etc.) Supports SATA/SAS/NVMe* direct attached Supports Windows, Linux, Free BSD, Solaris &
Vmware* ARM for Lin/Win, other arch (e.g. mips) for Linux Lightweight & portable (works anywhere) Built on customizable opensea-* libraries
openSeaChest – key features
![Page 6: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/6.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 6
Big Picture
![Page 7: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/7.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 7
opensea-* libraries (transport)
USBSATA SAS
Operating System Layer
Command Layer
![Page 8: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/8.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 8
opensea-* libraries (transport)
USBSATA SAS
OS Layer
Command Layer Common Commands
ATA Command SCT Command SCSI/STA Command NVMe Command
send_IO
Linux ioctl Windows DeviceIOControl FreeBSD Cam IO CSMI IO
![Page 9: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/9.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 9
Code Flow
SATA
OS Layer
Command Layer cmds.c : firmware_Download_Command ( )
ata_cmds.c : ata_Download_Microcode ( )
send_IO
Windows DeviceIoControl
opensea-operations/src/firmware_download.c : firmware_Download ( )
![Page 10: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/10.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 10
Big Picture
![Page 11: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/11.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 11
Big Picture
![Page 12: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/12.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 12
openSeaChest_Basics openSeaChest_Configure openSeaChest_Erase openSeaChest_Firmware openSeaChest_FormatUnit openSeaChest_GenericTests openSeaChest_Info openSeaChest_Logs openSeaChest_NVMe openSeaChest_PowerControl openSeaChest_SMART openSeaChest_ZBD
Toolset
![Page 13: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/13.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 13
--showEraseSupport
--performQuickestErase
Use cases (Repurpose)
![Page 14: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/14.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 14
-v [0-4], --verbose [0 | 1 | 2 | 3 | 4] Demo
Poor Mans Bus Trace (Tips)
![Page 15: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/15.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 15
--modelMatch [model Number] --onlyFW [firmware revision] --onlySeagate Demo or Screen Shots
Cherry Picking (Tips)
![Page 16: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/16.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 16
Demo
Parallel Execution (Tips)
![Page 17: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/17.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 17
Vmware ESXi 6.5+ (Beta) Big Endian Support UEFI transport layer JSON (Maybe) RAID (Maybe) MAC OS X (USB Support)
Coming down the pipe?
![Page 18: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/18.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 18
https://github.com/Seagate/openSeaChest
https://github.com/Seagate (for libraries)
https://apps1.seagate.com/downloads/certificate.html?key=381195785857 (Bootable Linux USB Key with Tools)
References & Resources:
![Page 19: Muhammad Ahmad Seagate Technology · 2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 1 What’s better than sg3utils, hd/sdparm An Introduction to openSeaChest](https://reader030.vdocuments.us/reader030/viewer/2022011816/5e6c2bf072405110af5b0eff/html5/thumbnails/19.jpg)
2018 Storage Developer Conference. © Seagate Technology. All Rights Reserved. 19