HamburgerMenu
hirist

Storage Development Lead

SEMI LEAF
Multiple Locations
8 - 10 Years

Posted on: 27/08/2025

Job Description

Job Description :


Role & Responsibilities :


1. Architect & Lead Storage Subsystem Development :


- Design and lead implementation of Linux-based storage stack for embedded or server platforms.

- Define architecture for storage interfaces (eMMC, UFS, NVMe, SATA, SD, USB mass storage, etc.).

- Optimize for performance, power, and reliability on target SoC or platform.


2. Driver Development & Integration :


- Develop and maintain Linux kernel drivers for storage devices and controllers.

- Ensure upstream alignment with mainline Linux or maintain vendor-specific forks as needed.

- Integrate vendor storage controller IPs and firmware.


3. File System & Block Layer Expertise :


- Work with Linux file systems (ext4, f2fs, xfs, btrfs).

- Optimize storage stack performance using IO schedulers, caching strategies, and tuning.


4. Reliability, Data Integrity & Power Resilience :


- Implement support for journaling, wear leveling (especially for flash), secure erase, and TRIM.

- Ensure data integrity during power loss (power-fail robustness).

- Work with hardware teams on power rail sequencing and power management integration.


5. Cross-Functional Collaboration :


- Coordinate with SoC vendors, QA, product management, and firmware/hardware teams.

- Collaborate with bootloader, security, and OTA (Over-The-Air) update teams for seamless storage handling.


6. Debugging & Performance Analysis :


- Use tools like blktrace, iostat, fio, perf, strace, and kernel logs for performance and issue analysis.

- Root cause field issues (e.g., storage corruption, I/O latency) across layers.


7. Compliance & Validation :


- Validate storage against JEDEC/UFS/SD/USB/NVMe standards.

- Ensure support for secure boot, encrypted storage (dm-crypt, LUKS), and SELinux/AppArmor policies where needed.


8. Mentorship & Leadership :


- Lead and mentor a team of kernel and platform developers.

- Conduct code reviews and establish best practices for Linux storage development.


Required Expertise :


Kernel Programming :


- Strong knowledge of Linux storage subsystems (block layer, VFS, I/O stack).

- Proficiency in C and kernel debugging techniques.

Storage Protocols & Interfaces :


- Hands-on with eMMC, UFS, NVMe, USB mass storage, SATA, SPI-NAND/NOR, SDIO, etc.

- Understanding of storage standards (SCSI, AHCI, NVMe spec, JEDEC).

Filesystems :


- Deep knowledge of ext4, f2fs, and familiarity with log-structured or flash-optimized file systems.

Performance & Tuning :


- Expertise in tuning I/O performance and handling flash-specific issues (latency, endurance, etc.).

Tools :


- blktrace, iostat, fio, perf, gdb, crash, etc.

Security :


- Secure storage handling, key management, dm-verity/dm-crypt, rollback protection.

Yocto/Build Systems (optional but useful) :


- Understanding of build flows for embedded Linux using Yocto or Buildroot.


info-icon

Did you find something suspicious?