Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf ·...

24
Sejun Kwon([email protected]) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction to the Jasmine OpenSSD Platform

Transcript of Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf ·...

Page 1: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

Sejun Kwon([email protected])

Computer Systems Laboratory

Sungkyunkwan University

http://csl.skku.edu

Introduction to the Jasmine OpenSSD Platform

Page 2: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 2

Contents

▪ Schedule

▪ Project Overview

▪ OpenSSD Platform

▪ Development Environment

Page 3: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 3

Schedule

Date Title

3/10 (Mon) Intro. to the Jasmine OpenSSD Platform

3/17 (Mon) Dummy FTL

3/24 (Mon) Tutorial FTL

3/31 (Mon) Greedy FTL

4/7 (Mon) Reliability Issues

4/14 (Mon) Project #1 Log Block Scheme

4/28 (Mon) Project #1 Q&A, Kernel-Based FTL

5/12 (Mon) Project #2 Suggestions

5/26 (Mon) Project #2 Progress Report

6/? (Mon) Project #2 Presentation

Page 4: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 4

Project Overview

▪ Project #1. Log Block FTL

• “A Space-efficient Flash Translation Layer for CompactFlash Systems,” 2002

• Implement on OpenSSD Platform

▪ Project #2. Term Project

• Implement other FTLs

• Performance, Reliability

Page 5: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

Jasmine OpenSSD Platform

Page 8: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 8

▪ HDD• Slow Read/Write speed• Different Sequential/Random I/O speed• In-Place update

▪ SSD• Fast Read/Write speed• Similar Sequential/Random I/O speed• In-Place update is impossible.

- Page unit write/ Block unit erase.

• Wearing.

HDD vs SSD

Page 9: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 9

The OpenSSD Project

▪ It is an initiative to promote research and education on the recent SSD technology

▪ Providing OpenSSD platforms on which open source SSD firmware can be developed

Page 10: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 10

Indilinx Jasmine PlatformNAND Flash Module

UARTJTAG

Mobile SDRAM

Barefoot Controller(ARM7TDMI-S)

SATA 3.0Gbps

Power

Power Switch

Factory Mode Jumper

Page 11: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 11

Hardware Architecture

SRAM

(96KB)

NAND Flash

NAND Controller

INDILINX

BarefootTM

Controller

Clock

Generator

Controller

ROM

Controller

ARM7TDMI-S

Core

Buffer

Manager

SATA

Device

DRAM

ControllerMemory Utility

APB Bridge

UART

GPIO

Timer

WDT

PMU

ICU

SATA Host interface DRAM

AHB

DRAM Access Bus

JTAG

JTAG debug port

Page 12: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 12

Hardware Architecture

SRAM

(96KB)

NAND Flash

NAND Controller

INDILINX

BarefootTM

Controller

Clock

Generator

Controller

ROM

Controller

ARM7TDMI-S

Core

Buffer

Manager

SATA

Device

DRAM

ControllerMemory Utility

APB Bridge

UART

GPIO

Timer

WDT

PMU

ICU

SATA Host interface DRAM

AHB

DRAM Access Bus

JTAG

JTAG debug port

Code, variable

Micro processor

BufferRead/write to flash

For debug

Page 13: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

Development Environment

Page 14: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 14

Development Environment

▪ Hardware Requirement

▪ Software Requirement

• Code Sourcery G++ Lite Edition for ARM EABI

• MS Visual Studio 2010

• MS Visual Studio Express Free Edition 2010

• Jasmine OpenSSD Firmware

Page 15: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 15

Hardware Setup

Serial

RS 232 CableSATA Cable

UART

SATA

Power

Power Cable

Page 16: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 16

Hardware Setup

SATA to USB gender

Page 17: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 17

Software Setup

▪ Code Sourcery G++ Lite Edition for ARM EABI• To build firmware binary (firmware.bin)

▪ MS Visual Studio 2010 & MS Visual Studio Express Free Edition 2010• To build the firmware installer (install.exe)

▪ Hyper Terminal• To debug firmware with serial communication• BAUD_115200/8/N/1/X

Page 18: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 18

Firmware & Installer

▪ Download Jasmine Firmware• http://www.openssd-project.org• 1.1.0 Version

▪ Build firmware> cd ./build_gnu> build.bat

▪ Build the firmware installer• Compile installer folder with Visual C++• Or, you can download from

http://csl.skku.edu/uploads/ICE3028S12/InstallerXP.zip

Page 19: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 19

Install Firmware

▪ Power-up Jasmine board as ‘Factory Mode’

▪ Run installer

> cd ./build_gnu

> install.exe

Device Manager

Page 20: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 20

Install Firmware

▪ Install for the first time

• 1 -> 2 -> 6 -> 3

▪ Re-install

• 1 -> 2 -> 3

Page 21: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 21

Run Firmware

▪ Power-down Jasmine board

▪ Power-up Jasmine board as ‘Normal Mode’

▪ Now, Jasmine is ready to process SATA command

Device Manager

Page 22: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 22

Technical Resource

▪ Download resources from OpenSSD Wiki

• http://www.openssd-project.org

• Technical Reference Manual

• FTL Developer’s Guide

• Jasmine Firmware

Page 23: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 23

Contact TA

▪ Office: #85557 Computer Systems Lab.

▪ E-mail: [email protected]

Page 24: Introduction to the Jasmine OpenSSD Platformcsl.skku.edu/uploads/ICE3028S14/lab1-intro.pdf · 2014-03-07 · ICE3028: Embedded Systems Design (Spring 2014) –Jin-Soo Kim (jinsookim@skku.edu)

ICE3028: Embedded Systems Design (Spring 2014) – Jin-Soo Kim ([email protected]) 24

Any Questions?