Using Perforce Streams to Optimize Development of Flash Memory Solutions
-
Upload
perforce -
Category
Technology
-
view
1.417 -
download
1
description
Transcript of Using Perforce Streams to Optimize Development of Flash Memory Solutions
#
Young ChoeSVP at SK hynix
Using Perforce Streams to Optimize Development of NAND Solutions
#
Young ChoeSenior VPSK hynix
Graduated from the Seoul National University, Korea MS and Ph.D.(candidacy) from North Carolina State University Lead Software Developer at BMC Software VP, Linux Technology Group, Samsung Electronics Director, Systems Software, Android Platform Team at nVIDIA Currently, SVP, Software Engineering TF at SK hynix
#
NAND Solution Market Trend
[CAGR]
30%
64%
22%
48%
PPN
eMMC
SSD
Others
[ Unit : Bpcs, 16Gb Eq.]
“ The demand of
NAND Solution
products are
increased
continuously as like
SSD, eMMC… ”Source: SK hynix marketing, Mar. 2014
#
NAND Solution Development
Controller
Firmware
NAND Solution
V&V
Raw NAND Features of NAND Solution Development
Hardware + Software
Agility for prompt Technology Shift
High Quality of Software
Cross Development environment
#
Our Perforce Configuration
Our Development Environment
Distributed Development
Global Collaboration
Cross-Functional
Merge & Acquisition
Complexity
Europe
Korea
Taiwan
US
“Global Real-time Development by Perforce”
#
As-Was : Using classic depots
//SSD/…
//SSD/sandbox/…
//SSD/private/…
//SSD/sandbox/shin/…
//SSD/sandbox/mark/…
//SSD/private/jim/…
//SSD/private/li/…
…
…
Drawbacks of classic branch
Lack of Visibility
Hard Traceability
Difficult to identify Directive
Lack of Controllability
?
#
• Obtain the Global Visibility
– Modeling Development Lifecycle
• Intuitive Integration
– How to propagate the changes
• Unified Development Capability
– Same working environments (Tools, Interface and Process)
Major Considerations
#
• Benefits of Stream
– Codeline management (main/dev/rel types)
– Modeling development cycle
– Intuitive developer actions (green, gray and red arrows)
– Easy workspace management (One workspace)
– Inheritance of parent stream attributes
Stream helps us
#
As-Is : Using Stream depots
Stream Depots
Collaboration with Legacy Depot
Two layer Depth - Easy to find the target/source
Stream Type
Main / Dev / Rel / Virtual
#
• For Release Stream
– Prjname_CustomerName_Rev#
• For Dev Stream
– Target_Purpose ( No restriction )
• For Virtual Stream
– Prjname_CustomerName_Rev#_bin
Stream Naming Conventions (ex..)
#
Conclusion
• Global Collaboration– Seamless distributed working sites
• Visualization of Project Roadmap– Lifecycle management from Dev to Rel
• Increasing the Productivity– Same tools in everywhere
##
Thank you!Young [email protected]