SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Samsung Proprietary
Introduction of eMMC
Yejin Moon
Product Planning & Application
Samsung Electronics
Nov. 2011
2/21
Samsung ProprietaryContents
eMMC4.4
eMMC4.41
eMMC4.5
3/21
Samsung Proprietary
eMMC 4.3  2 boot partitions and 1 user data partition
eMMC 4.4  RPMB partition is added
 4 general purpose partitions and enhanced user data area
can be set in normal user data area
Multi Partition
Normal User Data Area
Boot 1 Boot 2 RPMB
(Secure Data)
General Purpose Partition
Enhanced User data
area(SLC mode)
Partitions NAND type Default Size Remarks
Boot Area Partition 1 SLC Mode 128KB Size as multiple of 128KB (max. 32MB)
Boot Area Partition 2 SLC Mode 128KB Size as multiple of 128KB (max. 32MB)
RPMB Area Partition SLC Mode 128KB Size as multiple of 128KB (max. 32MB)
General Purpose Partitions
MLC “or”
Enhanced Area
0KB
Available size can be seen by following:
(EXT_CSD[145]* 82 + EXT_CSD[144]* 81 +EXT_CSD[143]) *
HC_WP_GPR_SIZE*HC_ERASE_GPR_SIZE * 512KB byte
User Data
Area
Enhanced Area SLC Mode 0KB Start address  multiple of Write Protect Group size
Default Area MLC 93.1%
4/21
Samsung ProprietaryRPMB(Replay Protect Memory Block)
Key
RPMB (hidden)
Prevents illegal data copy or access
Only handled by security key (SHA-256)
When host tries to access to RPMB,
a) Host reads key the counter value to generate MAC (token) using SHA-256 algorithm
b) The host sends the generated MAC to eMMC controller
c) eMMC controller reads the key which was pre-loaded by host and the counter value
to generate MAC using SHA-256
d) Compares two MAC. If two keys are identical, RPMB access is allowed
eMMC
SHA-256
SHA-256
Host
Key
MAC
Ⓐ
Ⓑ
Ⓒ
Ⓓ
Ⓔ
* Host should provide SHA-256
Counter
Counter
* Each counter includes the # of success to access RPMB
5/21
Samsung ProprietaryTRIM
Mark data that is invalid.
Similar to STL_Delete()
Trim data should be shown as “0” or “1” (by JEDEC)
[SAMSUNG] trim data is shown as “0”
Candidate for merging
Invalid dataAll data are candidate
for merging
Valid data
Invalid data
No TRIM : Do not know whether
the data is valid or not
TRIM : eMMC knows whether
the data is valid or not
6/21
Samsung ProprietarySecure TRIM/Erase  Sanitize
Secure Trim/Erase
Step 1: marks data which is logically deleted
Step 2 : Actual secure purge operation is executed
 secure purge: overwrite single character not only to trimed blocks but also to data
which was generated by internal operation like wear-leveling, and then erase
physically
 The more data in step 1, the longer step 2.
* Between step 1 and step 2, other operations can be executed
Secure Trim and Secure Erase are identical except operation unit
-Secure Erase: erase unit is Erase Group size (512KB)
-Secure Trim : step1: sector based size(512byte)
step2: purge unit is Write Group size(512KB)
VFX는 어떻게 되어져 있지?
Valid data
Trim data
Purge Operation
Write Single Character
(1 or 0)
0xFF
0xFF
0xFF
Merge valid data to
new block
0xFF
0xFF
0xFF
Erase original data
7/21
Samsung Proprietary
eMMC4.41 eMMC4.5
Clock Frequency
~ 52MHz DDR
(104MB/s)
~ 200MHz
(SDR)
Pin Count (w/o Power pin) 11 11
H/W reset Yes Yes
Alternative Boot Yes Yes
Multi-Partition Yes Yes
Simultaneous Partition Access No No
Performance
Trim Yes Yes
Discard No Yes
Security
RPMB Yes Yes
Secure Erase Yes
Sanitizer
Secure Trim Yes
Performance
High Priority Interrupt Yes Yes
Back Ground Operation Yes Yes
Packed CMD No Yes
Data Tag No Yes
Context ID No Yes
Cache Operation No Yes
Reliability Dynamic Capacity No Yes
Remarkable changes in eMMC4.4 : Performance and Security
Additional features of performance and reliability in eMMC 4.5
eMMC Version Comparison
8/21
Samsung Proprietary
eMMC4.4
eMMC4.41
eMMC4.5
9/21
Samsung ProprietaryHPI(High Priority Interrupt)
DAT
CMD
Write Stop Read
High priority Interrupt
Write
SLC: max 2ms
MLC: max 10ms
Max 1ms
Read
stops ongoing write operation and then read data within a
specific time
aborts ongoing writing operation by CMD 12
[SAMSUNG] Reliable Write, Write, Secure Trim, Trim, Secure Erase,
Erase can be interrupted by HPI
If read/ write partition is different, additional partition switching
time is needed for changing partition
10/21
Samsung ProprietaryBackground Operation
Host gives free time to the device. During this time device can do
housekeeping like merge operation.
Host should check that necessity (4 levels) of background operation
Helps to improve performance
Level Descriptions
0 No operation required
1
Background operation which is not
critical
2
Background operation which impacts
on performance
3 Background operation which is critical
[Background operation]
Not operating Doing Maintenance
11/21
Samsung ProprietaryData Atomicity
Sudden Power Off
Or abnormal case
Reliable
Write
Sector #1 Sector #2 Sector #3 Sector #12 Sector #13 Sector #14……
Roll-back to start point
Sector #1 Sector #2 Sector #3 Sector #4 Sector #5 Sector #6Write
Sudden Power Off
Or abnormal case
Normal Reliable Write (eMMC4.4)
The old data that logical address point must retain unchanged until a new
data is successfully written to the same logical address
Reliable write sector (EXT_CSD[222]) : 1 or 255
Enhanced Reliable Write – Sector based Atomicity (eMMC4.41)
SAMSUNG eMMC supports both eMMC 4.4 and eMMC4.41
Flexible “reliable write sector count” support : from 1 to 255
12/21
Samsung Proprietary
eMMC4.4
eMMC4.41
eMMC4.5
13/21
Samsung ProprietaryeMMC Feature Summary
Basic features for mass storagea + base memory for mobile
environment
High performance – DDR, HS200, packed command, cache
Low latency – HPI, background op, cache
Low cost (unified storage) – boot, partition
Hint – trim, discard, data tag, partition attribute, power-off
notification, RTC, dynamic capacity
Security – RPMB, secure trim/erase, sanitize
Version Features
4.3 Booting, sleep, reliable write
4.4 DDR mode, partition, trim, security enhancement
4.41 Background operation, HPI (High Priority Interrupt)
4.5 Higher data rate (SDR 200MHz), data tag, partition attribute,
discard, power-off notification, RTC, dynamic capacity,
packed command, cache, sanitize
14/21
Samsung ProprietaryeMMC 4.5 Features
Most features can be utilized by host & need host driver support
Category Features Meaning Where to
change
Performance HS200 MMC interface speed increases (104200Mbps) HW
Packed CMD Vectored read/write command (ex. readv/writev) D/D
Cache Write-back & flush like HDD D/D
Hint Discard Mark unused LBA without zero-filling (ex. Deleted files) D/D
Context ID Specify context ID for write command (ex. File, task) App, FS, D/D
Data tag Specify data tag for write command (ex. FS meta) App, FS, D/D
Partition type Specify GPAP type (system code, non-persistent) D/D
Power-off
notify
Host shall not intentionally power-off device without
notification
D/D
RTC Send RTC info to device (App,) D/D
Dynamic
capacity
Device request host for capacity reduction FS, D/D
Security Sanitize Purge all unused LBA App, D/D
15/21
Samsung ProprietaryeMMC 4.5 – Trim & Discard
Benefits
Reduce write timeout by reducing garbage collection cost
Level 3 over-provision
Trim vs. Discard – misalignment handling
-NAND page
16/21
Samsung ProprietaryEffectiveness of Trim
Trim is useful both for higher throughput and for reducing
performance fluctuation
Write timeout will be shorter if trim is used well
-<Write Performance Fluctuation >
17/21
Samsung ProprietaryeMMC 4.5 – Packed Command
Benefits
Reduces # of discrete I/O CMD processing (usually random
pattern)  higher read and write IOPS
Example of Packed read
Internal data processing can be pipelined if there are multiple
flash chips that can operate in parallel
-CMD
-DAT
-NAND
-RD
-Legacy
-Read
-tR
-(User)
-DATA
-RD
-Meta -User
-DATA
-RD
-Meta -User
-DATA
-tR
-(Meta)
-CMD
-DAT
-NAND
-Packed
-Read
-RD
-HDR
-Meta -User
-DATA-DATA-DATA
-Meta-Meta
-Inter-flash
-interleaving
-User-User
18/21
Samsung ProprietaryeMMC 4.5 – Cache
Benefits
Buffers write operations that usually come in burst  higher
write IOPS, shorter write latency
May interleave read I/O if there is no ongoing flush operation
-CMD
-DAT
-NAND
-WR
-DATA
-tPROG
-WR
-DATA
-tPROG
-WR
-DATA
-tPROG
-Legacy
-Write
-CMD
-DAT
-NAND
-WR
-DATA
-WR
-DATA
-tPROG
-WR
-DATA
-tPROG
-Cached
-Write
-tPROG
-tPROG
-Flush
-DATA
-RD
-tR
19/21
Samsung ProprietaryeMMC 4.5 – Power-off Notify & Sanitize
Power-off notification
eMMC FW could use power-off signal for
-marking where the last write operation happened
-flushing dirty metadata of FW into nonvolatile memory
As a result, eMMC initialization process could be shortened
Sanitize
Secure erase/trim (4.4) – mark data to be securely deleted and
purge at once
Sanitize (4.5) – purge unused data at once  may take huge time
for completion
-Step 1. mark secure erase/trim
-Step 2. purge
-Unused user space (trim/erase)
-Step 1. sanitize
20 / 21 2011.10.17 / Memory Product Planning
Samsung Proprietary
SAMSUNG eMMC 4.5 Schedule
ES sample will be ready in early Dec ‘12 w/o SDR200.
ES sample w/ SDR200 will be ready in the end of 1Q ‘12.
CS sample w/ SDR200 will be ready in 2Q ‘12.
Year
2011 2012
Nov Dec 1Q 2Q 3Q 4Q
4.5 ES
(w/o SDR200)
4.5 CS
(w/SDR200 )
4.5 ES
(w/SDR200 )
Samsung Proprietary
Questions to yejin.moon@samsung.com

Mais conteúdo relacionado

Mais procurados

What is Universal Flash Storage (UFS)?
What is Universal Flash Storage (UFS)?What is Universal Flash Storage (UFS)?
What is Universal Flash Storage (UFS)?
UniversalFlash
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
Houcheng Lin
 

Mais procurados (20)

Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)Bootstrap process of u boot (NDS32 RISC CPU)
Bootstrap process of u boot (NDS32 RISC CPU)
 
What is Universal Flash Storage (UFS)?
What is Universal Flash Storage (UFS)?What is Universal Flash Storage (UFS)?
What is Universal Flash Storage (UFS)?
 
Universal flash storage
Universal flash storageUniversal flash storage
Universal flash storage
 
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
 
Ufs whitepaper
Ufs whitepaperUfs whitepaper
Ufs whitepaper
 
LCA13: Power State Coordination Interface
LCA13: Power State Coordination InterfaceLCA13: Power State Coordination Interface
LCA13: Power State Coordination Interface
 
DDR
DDRDDR
DDR
 
Linux Initialization Process (2)
Linux Initialization Process (2)Linux Initialization Process (2)
Linux Initialization Process (2)
 
Lcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future EnhancementsLcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future Enhancements
 
Arm DynamIQ: Intelligent Solutions Using Cluster Based Multiprocessing
Arm DynamIQ: Intelligent Solutions Using Cluster Based MultiprocessingArm DynamIQ: Intelligent Solutions Using Cluster Based Multiprocessing
Arm DynamIQ: Intelligent Solutions Using Cluster Based Multiprocessing
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
Continguous Memory Allocator in the Linux Kernel
Continguous Memory Allocator in the Linux KernelContinguous Memory Allocator in the Linux Kernel
Continguous Memory Allocator in the Linux Kernel
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE
 
SFO15-TR9: PSCI, ACPI (and UEFI to boot)
SFO15-TR9: PSCI, ACPI (and UEFI to boot)SFO15-TR9: PSCI, ACPI (and UEFI to boot)
SFO15-TR9: PSCI, ACPI (and UEFI to boot)
 
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
Kernel Recipes 2015: Linux Kernel IO subsystem - How it works and how can I s...
 
Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8
 
BKK16-110 A Gentle Introduction to Trusted Execution and OP-TEE
BKK16-110 A Gentle Introduction to Trusted Execution and OP-TEEBKK16-110 A Gentle Introduction to Trusted Execution and OP-TEE
BKK16-110 A Gentle Introduction to Trusted Execution and OP-TEE
 
COSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem portingCOSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem porting
 

Semelhante a Q4.11: Introduction to eMMC

Introduction of ram ddr3
Introduction of ram ddr3Introduction of ram ddr3
Introduction of ram ddr3
Technocratz
 
301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilog301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilog
Srinivas Naidu
 
SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3
UniFabric
 
Basicarchitecturememory
BasicarchitecturememoryBasicarchitecturememory
Basicarchitecturememory
Aditya Narang
 

Semelhante a Q4.11: Introduction to eMMC (20)

Dlm ppt
Dlm pptDlm ppt
Dlm ppt
 
DDR DIMM Design
DDR DIMM DesignDDR DIMM Design
DDR DIMM Design
 
Introduction of ram ddr3
Introduction of ram ddr3Introduction of ram ddr3
Introduction of ram ddr3
 
Introduction of ram ddr3
Introduction of ram ddr3Introduction of ram ddr3
Introduction of ram ddr3
 
UNIT 3.docx
UNIT 3.docxUNIT 3.docx
UNIT 3.docx
 
Volatile Uses for Persistent Memory
Volatile Uses for Persistent MemoryVolatile Uses for Persistent Memory
Volatile Uses for Persistent Memory
 
Big Lab Problems Solved with Spectrum Scale: Innovations for the Coral Program
Big Lab Problems Solved with Spectrum Scale: Innovations for the Coral ProgramBig Lab Problems Solved with Spectrum Scale: Innovations for the Coral Program
Big Lab Problems Solved with Spectrum Scale: Innovations for the Coral Program
 
The ideal and reality of NVDIMM RAS
The ideal and reality of NVDIMM RASThe ideal and reality of NVDIMM RAS
The ideal and reality of NVDIMM RAS
 
301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilog301378156 design-of-sram-in-verilog
301378156 design-of-sram-in-verilog
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
 
SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3SOUG_SDM_OracleDB_V3
SOUG_SDM_OracleDB_V3
 
DB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
DB2 10 & 11 for z/OS System Performance Monitoring and OptimisationDB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
DB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
 
Modeling of DDR4 Memory and Advanced Verifications of DDR4 Memory Subsystem
Modeling of DDR4 Memory and Advanced Verifications of DDR4 Memory SubsystemModeling of DDR4 Memory and Advanced Verifications of DDR4 Memory Subsystem
Modeling of DDR4 Memory and Advanced Verifications of DDR4 Memory Subsystem
 
PowerEdge Rack and Tower Server Masters - AMD Server Memory.pptx
PowerEdge Rack and Tower Server Masters - AMD Server Memory.pptxPowerEdge Rack and Tower Server Masters - AMD Server Memory.pptx
PowerEdge Rack and Tower Server Masters - AMD Server Memory.pptx
 
IRJET- Design And VLSI Verification of DDR SDRAM Controller Using VHDL
IRJET- Design And VLSI Verification of DDR SDRAM Controller Using VHDLIRJET- Design And VLSI Verification of DDR SDRAM Controller Using VHDL
IRJET- Design And VLSI Verification of DDR SDRAM Controller Using VHDL
 
Reimagining HPC Compute and Storage Architecture with Intel Optane Technology
Reimagining HPC Compute and Storage Architecture with Intel Optane TechnologyReimagining HPC Compute and Storage Architecture with Intel Optane Technology
Reimagining HPC Compute and Storage Architecture with Intel Optane Technology
 
L010236974
L010236974L010236974
L010236974
 
Basicarchitecturememory
BasicarchitecturememoryBasicarchitecturememory
Basicarchitecturememory
 
Power 7 Overview
Power 7 OverviewPower 7 Overview
Power 7 Overview
 
Transforming your Business with Scale-Out Flash: How MongoDB & Flash Accelera...
Transforming your Business with Scale-Out Flash: How MongoDB & Flash Accelera...Transforming your Business with Scale-Out Flash: How MongoDB & Flash Accelera...
Transforming your Business with Scale-Out Flash: How MongoDB & Flash Accelera...
 

Mais de Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 

Mais de Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Q4.11: Introduction to eMMC

  • 1. Samsung Proprietary Introduction of eMMC Yejin Moon Product Planning & Application Samsung Electronics Nov. 2011
  • 3. 3/21 Samsung Proprietary eMMC 4.3  2 boot partitions and 1 user data partition eMMC 4.4  RPMB partition is added  4 general purpose partitions and enhanced user data area can be set in normal user data area Multi Partition Normal User Data Area Boot 1 Boot 2 RPMB (Secure Data) General Purpose Partition Enhanced User data area(SLC mode) Partitions NAND type Default Size Remarks Boot Area Partition 1 SLC Mode 128KB Size as multiple of 128KB (max. 32MB) Boot Area Partition 2 SLC Mode 128KB Size as multiple of 128KB (max. 32MB) RPMB Area Partition SLC Mode 128KB Size as multiple of 128KB (max. 32MB) General Purpose Partitions MLC “or” Enhanced Area 0KB Available size can be seen by following: (EXT_CSD[145]* 82 + EXT_CSD[144]* 81 +EXT_CSD[143]) * HC_WP_GPR_SIZE*HC_ERASE_GPR_SIZE * 512KB byte User Data Area Enhanced Area SLC Mode 0KB Start address  multiple of Write Protect Group size Default Area MLC 93.1%
  • 4. 4/21 Samsung ProprietaryRPMB(Replay Protect Memory Block) Key RPMB (hidden) Prevents illegal data copy or access Only handled by security key (SHA-256) When host tries to access to RPMB, a) Host reads key the counter value to generate MAC (token) using SHA-256 algorithm b) The host sends the generated MAC to eMMC controller c) eMMC controller reads the key which was pre-loaded by host and the counter value to generate MAC using SHA-256 d) Compares two MAC. If two keys are identical, RPMB access is allowed eMMC SHA-256 SHA-256 Host Key MAC Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ * Host should provide SHA-256 Counter Counter * Each counter includes the # of success to access RPMB
  • 5. 5/21 Samsung ProprietaryTRIM Mark data that is invalid. Similar to STL_Delete() Trim data should be shown as “0” or “1” (by JEDEC) [SAMSUNG] trim data is shown as “0” Candidate for merging Invalid dataAll data are candidate for merging Valid data Invalid data No TRIM : Do not know whether the data is valid or not TRIM : eMMC knows whether the data is valid or not
  • 6. 6/21 Samsung ProprietarySecure TRIM/Erase  Sanitize Secure Trim/Erase Step 1: marks data which is logically deleted Step 2 : Actual secure purge operation is executed  secure purge: overwrite single character not only to trimed blocks but also to data which was generated by internal operation like wear-leveling, and then erase physically  The more data in step 1, the longer step 2. * Between step 1 and step 2, other operations can be executed Secure Trim and Secure Erase are identical except operation unit -Secure Erase: erase unit is Erase Group size (512KB) -Secure Trim : step1: sector based size(512byte) step2: purge unit is Write Group size(512KB) VFX는 어떻게 되어져 있지? Valid data Trim data Purge Operation Write Single Character (1 or 0) 0xFF 0xFF 0xFF Merge valid data to new block 0xFF 0xFF 0xFF Erase original data
  • 7. 7/21 Samsung Proprietary eMMC4.41 eMMC4.5 Clock Frequency ~ 52MHz DDR (104MB/s) ~ 200MHz (SDR) Pin Count (w/o Power pin) 11 11 H/W reset Yes Yes Alternative Boot Yes Yes Multi-Partition Yes Yes Simultaneous Partition Access No No Performance Trim Yes Yes Discard No Yes Security RPMB Yes Yes Secure Erase Yes Sanitizer Secure Trim Yes Performance High Priority Interrupt Yes Yes Back Ground Operation Yes Yes Packed CMD No Yes Data Tag No Yes Context ID No Yes Cache Operation No Yes Reliability Dynamic Capacity No Yes Remarkable changes in eMMC4.4 : Performance and Security Additional features of performance and reliability in eMMC 4.5 eMMC Version Comparison
  • 9. 9/21 Samsung ProprietaryHPI(High Priority Interrupt) DAT CMD Write Stop Read High priority Interrupt Write SLC: max 2ms MLC: max 10ms Max 1ms Read stops ongoing write operation and then read data within a specific time aborts ongoing writing operation by CMD 12 [SAMSUNG] Reliable Write, Write, Secure Trim, Trim, Secure Erase, Erase can be interrupted by HPI If read/ write partition is different, additional partition switching time is needed for changing partition
  • 10. 10/21 Samsung ProprietaryBackground Operation Host gives free time to the device. During this time device can do housekeeping like merge operation. Host should check that necessity (4 levels) of background operation Helps to improve performance Level Descriptions 0 No operation required 1 Background operation which is not critical 2 Background operation which impacts on performance 3 Background operation which is critical [Background operation] Not operating Doing Maintenance
  • 11. 11/21 Samsung ProprietaryData Atomicity Sudden Power Off Or abnormal case Reliable Write Sector #1 Sector #2 Sector #3 Sector #12 Sector #13 Sector #14…… Roll-back to start point Sector #1 Sector #2 Sector #3 Sector #4 Sector #5 Sector #6Write Sudden Power Off Or abnormal case Normal Reliable Write (eMMC4.4) The old data that logical address point must retain unchanged until a new data is successfully written to the same logical address Reliable write sector (EXT_CSD[222]) : 1 or 255 Enhanced Reliable Write – Sector based Atomicity (eMMC4.41) SAMSUNG eMMC supports both eMMC 4.4 and eMMC4.41 Flexible “reliable write sector count” support : from 1 to 255
  • 13. 13/21 Samsung ProprietaryeMMC Feature Summary Basic features for mass storagea + base memory for mobile environment High performance – DDR, HS200, packed command, cache Low latency – HPI, background op, cache Low cost (unified storage) – boot, partition Hint – trim, discard, data tag, partition attribute, power-off notification, RTC, dynamic capacity Security – RPMB, secure trim/erase, sanitize Version Features 4.3 Booting, sleep, reliable write 4.4 DDR mode, partition, trim, security enhancement 4.41 Background operation, HPI (High Priority Interrupt) 4.5 Higher data rate (SDR 200MHz), data tag, partition attribute, discard, power-off notification, RTC, dynamic capacity, packed command, cache, sanitize
  • 14. 14/21 Samsung ProprietaryeMMC 4.5 Features Most features can be utilized by host & need host driver support Category Features Meaning Where to change Performance HS200 MMC interface speed increases (104200Mbps) HW Packed CMD Vectored read/write command (ex. readv/writev) D/D Cache Write-back & flush like HDD D/D Hint Discard Mark unused LBA without zero-filling (ex. Deleted files) D/D Context ID Specify context ID for write command (ex. File, task) App, FS, D/D Data tag Specify data tag for write command (ex. FS meta) App, FS, D/D Partition type Specify GPAP type (system code, non-persistent) D/D Power-off notify Host shall not intentionally power-off device without notification D/D RTC Send RTC info to device (App,) D/D Dynamic capacity Device request host for capacity reduction FS, D/D Security Sanitize Purge all unused LBA App, D/D
  • 15. 15/21 Samsung ProprietaryeMMC 4.5 – Trim & Discard Benefits Reduce write timeout by reducing garbage collection cost Level 3 over-provision Trim vs. Discard – misalignment handling -NAND page
  • 16. 16/21 Samsung ProprietaryEffectiveness of Trim Trim is useful both for higher throughput and for reducing performance fluctuation Write timeout will be shorter if trim is used well -<Write Performance Fluctuation >
  • 17. 17/21 Samsung ProprietaryeMMC 4.5 – Packed Command Benefits Reduces # of discrete I/O CMD processing (usually random pattern)  higher read and write IOPS Example of Packed read Internal data processing can be pipelined if there are multiple flash chips that can operate in parallel -CMD -DAT -NAND -RD -Legacy -Read -tR -(User) -DATA -RD -Meta -User -DATA -RD -Meta -User -DATA -tR -(Meta) -CMD -DAT -NAND -Packed -Read -RD -HDR -Meta -User -DATA-DATA-DATA -Meta-Meta -Inter-flash -interleaving -User-User
  • 18. 18/21 Samsung ProprietaryeMMC 4.5 – Cache Benefits Buffers write operations that usually come in burst  higher write IOPS, shorter write latency May interleave read I/O if there is no ongoing flush operation -CMD -DAT -NAND -WR -DATA -tPROG -WR -DATA -tPROG -WR -DATA -tPROG -Legacy -Write -CMD -DAT -NAND -WR -DATA -WR -DATA -tPROG -WR -DATA -tPROG -Cached -Write -tPROG -tPROG -Flush -DATA -RD -tR
  • 19. 19/21 Samsung ProprietaryeMMC 4.5 – Power-off Notify & Sanitize Power-off notification eMMC FW could use power-off signal for -marking where the last write operation happened -flushing dirty metadata of FW into nonvolatile memory As a result, eMMC initialization process could be shortened Sanitize Secure erase/trim (4.4) – mark data to be securely deleted and purge at once Sanitize (4.5) – purge unused data at once  may take huge time for completion -Step 1. mark secure erase/trim -Step 2. purge -Unused user space (trim/erase) -Step 1. sanitize
  • 20. 20 / 21 2011.10.17 / Memory Product Planning Samsung Proprietary SAMSUNG eMMC 4.5 Schedule ES sample will be ready in early Dec ‘12 w/o SDR200. ES sample w/ SDR200 will be ready in the end of 1Q ‘12. CS sample w/ SDR200 will be ready in 2Q ‘12. Year 2011 2012 Nov Dec 1Q 2Q 3Q 4Q 4.5 ES (w/o SDR200) 4.5 CS (w/SDR200 ) 4.5 ES (w/SDR200 )
  • 21. Samsung Proprietary Questions to yejin.moon@samsung.com