Re: [請益] 請問SSD韌體工程師須具備什麼?
之前很多人問類似問題,
大家熱心推文回答完後就刪文,
有用的資訊都不見了,
另開一篇免得又做白工,
這篇標題用全型字SSD,
讓搜尋SSD看不到也是頗無言...
SSD FW在不同公司的要求都不同,
底層有到要懂封裝、BOM表,
高階的可能只要呼叫ic廠的API,
發問時說一下公司類型會更精確,
以下是我想到的相關知識,
有遺漏的請大家幫忙補充。
A. 語言相關 MCU programming
不幸的話有組語,
通常是C/C++,
volatile要會用,
用指標或陣列存取既定的位址,
進階一點要掌握linking loader,
能給記憶體配置表,
也許要建tool chain(公司沒買工具)
B. 架構相關 計算機組織
這類的都是有點概念就好,
知道細節是分析bug有幫助,
pipeline、I/D-Cache是基本,
內部bus如AHB、AXI,
各CPU的獨特功能,
如ARM的register bank。
C. host protocol相關
分工細一點可能碰不到,
但跳槽應該會被問:p
被分到的話要會看分析儀的trace,
主流是SATA和NVMe,
SATA的話SATA spec和ATA spec,
有空看一下host端,intel網站有,
ide controller、bus master,
還有目前的AHCI,
NVMe就PCIe spec和NVMe spec,
NVMe如同AHCI,被driver控制,
讀寫指令的方向和SATA想法不同,
搞懂了會覺得很有趣^^
D. NAND flash相關
最噁心的部分,慢又不穩的東西,
了解一下SLC,MLC,TLC的原理,
就知道為何越來越便宜也越不穩,
廠商還分了兩個陣營更麻煩,
可以先找廠商的datasheet,
瞭解基本的讀寫流程,
以後要看示波器debug,
因為不穩所以要ECC,硬體會做,
所以知道概念能操控就好,
因為很慢所以有各種加速方式,
新人進去再學也行,
剩下的就是雜七雜八的知識,
wear leveling,LBA和flash對應,
還原資料、加解密、資料保護…
很多但很重要。
E. IC相關
上電過程、power management、
IO pad控制、電壓、溫度、...
也都是知道越多越好,
但新人不苛求啦。
草草結束是宵夜吃完要上工了,
希望大家有興趣的幫忙補充,
手機排版亂亂的請見諒。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.145.36
※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1495042563.A.AA9.html
推
05/18 01:44, , 1F
05/18 01:44, 1F
推
05/18 01:55, , 2F
05/18 01:55, 2F
推
05/18 02:18, , 3F
05/18 02:18, 3F
→
05/18 02:21, , 4F
05/18 02:21, 4F
→
05/18 02:26, , 5F
05/18 02:26, 5F
→
05/18 02:39, , 6F
05/18 02:39, 6F
推
05/18 02:41, , 7F
05/18 02:41, 7F
推
05/18 04:10, , 8F
05/18 04:10, 8F
→
05/18 07:56, , 9F
05/18 07:56, 9F
推
05/18 08:51, , 10F
05/18 08:51, 10F
推
05/18 09:04, , 11F
05/18 09:04, 11F
推
05/18 09:20, , 12F
05/18 09:20, 12F
推
05/18 09:42, , 13F
05/18 09:42, 13F
推
05/18 10:20, , 14F
05/18 10:20, 14F
推
05/18 10:30, , 15F
05/18 10:30, 15F
推
05/18 10:32, , 16F
05/18 10:32, 16F
推
05/18 11:38, , 17F
05/18 11:38, 17F
推
05/18 12:20, , 18F
05/18 12:20, 18F
推
05/18 12:34, , 19F
05/18 12:34, 19F
推
05/18 12:41, , 20F
05/18 12:41, 20F
推
05/18 13:37, , 21F
05/18 13:37, 21F
推
05/18 14:52, , 22F
05/18 14:52, 22F
→
05/18 16:05, , 23F
05/18 16:05, 23F
推
05/18 16:31, , 24F
05/18 16:31, 24F
推
05/18 16:57, , 25F
05/18 16:57, 25F
推
05/18 19:50, , 26F
05/18 19:50, 26F
推
05/19 01:37, , 27F
05/19 01:37, 27F
推
05/20 01:08, , 28F
05/20 01:08, 28F
推
05/20 11:38, , 29F
05/20 11:38, 29F
推
05/20 15:11, , 30F
05/20 15:11, 30F
→
05/20 15:11, , 31F
05/20 15:11, 31F
→
05/20 15:11, , 32F
05/20 15:11, 32F