27
Solid State Storage Solid State Storage System for the System for the International Space International Space Station Station Jake Berlier Jake Berlier David Jacob David Jacob Dr. Jerry Tucker Dr. Jerry Tucker Dr. James M. McCollum Dr. James M. McCollum

Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Embed Size (px)

Citation preview

Page 1: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Solid State Storage System for Solid State Storage System for the International Space Stationthe International Space Station

Jake BerlierJake BerlierDavid JacobDavid Jacob

Dr. Jerry TuckerDr. Jerry TuckerDr. James M. McCollumDr. James M. McCollum

Page 2: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

OutlineOutline

IntroductionIntroduction

Orion ProjectOrion Project

Solid State Storage System OverviewSolid State Storage System Overview

Progress to DateProgress to Date

ConclusionConclusion

Page 3: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

IntroductionIntroduction

Goal: Design and implement a solid state Goal: Design and implement a solid state storage system with data redundancy for storage system with data redundancy for space-applicationsspace-applications

Aerospace Innovations Inc. contract for Aerospace Innovations Inc. contract for NASANASA– Tom Johnson, Bob AkamineTom Johnson, Bob Akamine

Supporting Orion ProjectSupporting Orion Project

Page 4: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Constellation: Ares and Orion Constellation: Ares and Orion SpacecraftSpacecraft

Phase-out older space Shuttle Phase-out older space Shuttle and phase-in new Ares and and phase-in new Ares and Orion spacecraftOrion spacecraftThis project will be This project will be incorporated in a system that incorporated in a system that will capture telemetry and will capture telemetry and video datavideo data– Train “auto-docking” with Train “auto-docking” with

International Space StationInternational Space Station

Images from: http://www.nasa.gov/Atlantis Space Shuttle

Orion Crew Vehicle and Ares Launch Vehicle

Page 5: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

RequirementsRequirements

Record data to Solid State drivesRecord data to Solid State drives– Write speed Write speed faster than Aurora faster than Aurora– Data redundancy and recoveryData redundancy and recovery

RAID 6 encoding and decodingRAID 6 encoding and decodingCRCCRC2 Drive recovery may be done on the ground2 Drive recovery may be done on the ground

2 different data sources2 different data sources– Must be able to switch so that the key data is Must be able to switch so that the key data is

collectedcollected

Radiation Hardening/ResistanceRadiation Hardening/ResistanceSolid State DrivesSolid State Drives

Page 6: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Secondary GoalsSecondary Goals

Reading from drivesReading from drives– Single error correctionSingle error correction– Double error correctionDouble error correction

Page 7: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Xilinx ML410 FPGA Selection and Xilinx ML410 FPGA Selection and Personality ModulePersonality Module

ML410 FPGA was ML410 FPGA was selected over newer selected over newer FPGAsFPGAs– Radiation resistance Radiation resistance

(latchup)(latchup)– FunctionalityFunctionality

Personality Module Personality Module – More SATA portsMore SATA ports– Development GPIODevelopment GPIO

Image from: www.xilinx.com

Page 8: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

System OverviewSystem Overview

Aurora Aurora InterfaceInterface

SATA SATA ControllerController

PLB PLB ArchitectureArchitecture

Power PCPower PC

Aurora Command Interface

Aurora Data Interface

Aurora PHY

Aurora PHY

PLB

M

S

M

S

PPCS

Interrupt Controller

S

SATA

ControllerM

S

HD HD HD

DA

TA

RE

CO

RD

ER

Aurora InterfaceAurora Interface

Page 9: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Data RecorderData Recorder

Two data sourcesTwo data sources– Primary and secondaryPrimary and secondary– Aurora InterfaceAurora Interface

(outside scope of project)(outside scope of project)

Page 10: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Open IP Core (Free!)Open IP Core (Free!)– Differential signalingDifferential signaling– High speed (multiple Giga-High speed (multiple Giga-

bits)bits)

Command vs. DataCommand vs. Data– User Flow Control with User Flow Control with

embedded commandsembedded commands– Separation of Data from Separation of Data from

CommandCommand

Aurora InterfaceAurora Interface(outside scope of project)(outside scope of project)

Aurora Command Interface

Aurora Data Interface

Aurora PHY

Aurora PHY

M

S

M

S

Aurora InterfaceAurora Interface

Page 11: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

SATA/RAID ControllerSATA/RAID Controller

PLB InterfacePLB Interface– MasterMaster– SlaveSlave

SATA IP Core/ SATA IP Core/ Supporting HDLSupporting HDL

Data BufferData Buffer

RAID 6 RAID 6 Encoding/ Encoding/ DecodingDecoding

Master FSM Slave Registers and Address Decoder

“Word Stripe” Buffer

RAID Encode/Decode

SATA IP Core

HD

SATA IP Core

HD

SATA IP Core

HD

SATA IP Core

HD

SATA IP Core

HD

SATA IP Core

HD

SATA IP Core

HD

SATA IP Core

HD

PLBSM

Page 12: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

PLB ArchitecturePLB Architecture

Master ComponentsMaster Components– Burst-line SupportBurst-line Support

Slave ComponentsSlave Components– PPCPPC– Control/Status Control/Status

RegistersRegisters

InterruptsInterrupts

PLB

Interrupt Controller

S

Page 13: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Role of Power PC and ChipscopeRole of Power PC and Chipscope

Power PCPower PC– Top-Level ControlTop-Level Control– Debugging and DevelopmentDebugging and Development

Compile time vs. Build timeCompile time vs. Build time

ChipscopeChipscope– View status of signals during operationView status of signals during operation

Page 14: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Spring/Summer Development Spring/Summer Development TimelineTimeline

January February March April May June July

Software SATA

Controller

Working SATA PHY

RAID Planning

System Requirement

Analysis

RAID Simulation

Testing (Proof of Concept)

Aurora-SATA Interface

MGT Side-A

Single Drive SATA

Single Drive

Aurora System

Dual Drive

Aurora System

Six Drive

Aurora System

RAID 6 System

RAID 6 System with Secondary

Goals

Page 15: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

SATA OverviewSATA Overview

Command Layer

Transport Layer

Link Layer

Physical Layer

Application Layer

Command Layer

Transport Layer

Link Layer

Physical Layer

Application Layer

HOST DEVICE

Physical Connection(SATA Port)

SATA TopologyApplication LayerApplication Layer

– High-level interface (Wishbone)High-level interface (Wishbone)– Control registers, etc…Control registers, etc…

Command LayerCommand Layer– FSM for parsing commandsFSM for parsing commands

Transport LayerTransport Layer– Frame Information Structure (FIS)Frame Information Structure (FIS)– BufferingBuffering– Error ReportingError Reporting– Flow ControlFlow Control

Link LayerLink Layer– ScramblerScrambler– 8b-10b encoding8b-10b encoding– CRCCRC– Communication PrimativesCommunication Primatives

Physical LayerPhysical Layer– Handles physical transmission of differential signalsHandles physical transmission of differential signals

Page 16: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

ASICS WS SATA IP CoreASICS WS SATA IP Core

ProprietaryProprietaryImplements Application, Implements Application, Command, Transport, and Command, Transport, and Link layers (no PHY)Link layers (no PHY)Interface:Interface:– Application layer - Application layer -

WishboneWishbone– PHY connectionsPHY connections– External bufferExternal buffer

ASICS SATA Core

WB FSM

FIFO

PHY

HD

Page 17: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

SATA Physical LayerSATA Physical Layer

XAPP 716XAPP 716SATA Host Controller (Linux SATA Host Controller (Linux over Ethernet)over Ethernet)– Implements a basic SATA physical layer using Implements a basic SATA physical layer using

the ASICS WS corethe ASICS WS core– Source code (minus the ASICS WS core) is Source code (minus the ASICS WS core) is

publicly available from Xilinxpublicly available from Xilinx– Physical layer uses MGTPhysical layer uses MGT

Page 18: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Multi-Gigabit Transceiver (MGT)Multi-Gigabit Transceiver (MGT)

High-speed serial data connectionsHigh-speed serial data connections

Functionality:Functionality:– 8b-10b encoding/decoding8b-10b encoding/decoding– ScramblingScrambling– PLL/clock synchronizationPLL/clock synchronization

DRP - threshold detection not automaticDRP - threshold detection not automatic

Side A vs. Side B of MGTSide A vs. Side B of MGT– Can accommodate two SATA connectionsCan accommodate two SATA connections

Page 19: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

SATA – Software to Hardware SATA – Software to Hardware (Wishbone Interface)(Wishbone Interface)

Currently, SATA works with software control Currently, SATA works with software control from the Power PCfrom the Power PC– SlowSlow– Serial Writing/ReadingSerial Writing/Reading– Easier and faster for initial implementationEasier and faster for initial implementation

Move to hardware in stages:Move to hardware in stages:– Wishbone interfaceWishbone interface– Multiple Hard DrivesMultiple Hard Drives– RAIDRAID– Etc…Etc…

Page 20: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Current Stage of Development: PLB Current Stage of Development: PLB Master Burst to SATA in HardwareMaster Burst to SATA in Hardware

Master vs. SlaveMaster vs. Slave– Speed improvement through Master BurstSpeed improvement through Master Burst

Will enable throughput testing for read and Will enable throughput testing for read and writewrite– Data for single drive, estimate for multiple Data for single drive, estimate for multiple

drivesdrives

Page 21: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

2-Drive System2-Drive System

Implementation for both sides of MGTImplementation for both sides of MGT– Currently, only one side is connectedCurrently, only one side is connected– ConstraintsConstraints

Control for multiple drives (drive-pairs)Control for multiple drives (drive-pairs)– FSMFSM

Management of critical resourcesManagement of critical resources– Digital Clock ManagersDigital Clock Managers– Better estimate of resource usageBetter estimate of resource usage

Page 22: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

6-Drive System6-Drive System

Control for multiple drives (for entire Control for multiple drives (for entire system)system)– 6 data drives6 data drives– Word Stripe bufferWord Stripe buffer

Power consumption estimationPower consumption estimation

Throughput testingThroughput testing– Maximum speed of systemMaximum speed of system

Page 23: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

8-Drive System with RAID8-Drive System with RAID

Raid encoding/decodingRaid encoding/decoding

Working system!Working system!– Primary goal is writingPrimary goal is writing

Speed criticalSpeed critical

– Secondary goals:Secondary goals:Read with single error correction on the flyRead with single error correction on the fly

Read with double error correction using CRCRead with double error correction using CRC

Higher speed is more desirableHigher speed is more desirable

Page 24: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

RAID OverviewRAID Overview

Encoding on the flyEncoding on the fly

Single Error Correction for reads (on the Single Error Correction for reads (on the fly)fly)

Double Error Correction for reads (on Double Error Correction for reads (on Ground or during mission)Ground or during mission)

Page 25: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Other Project MilestonesOther Project Milestones

Solid State Drive TestingSolid State Drive Testing

Radiation TestingRadiation Testing

Page 26: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

ConclusionConclusion

Reconfigurable DesignReconfigurable Design– Plan for requirementsPlan for requirements– Debugging and incremental development with Debugging and incremental development with

Power PC and ChipscopePower PC and Chipscope

Working system delivered by the end of Working system delivered by the end of JuneJune

Page 27: Solid State Storage System for the International Space Station Jake Berlier David Jacob Dr. Jerry Tucker Dr. James M. McCollum

Questions?Questions?