NAND managing Algorithm Engineer

Firmware San Jose, California


Description

Roles & Responsibilities:

  • Design & implement error recovery algorithm for Flash Interface Layer of SSD.
  • Design & implement firmware code for Flash Interface Layer of SSD.
  •  Integrate developed code with other modules and resolve issues.
  •  Debug and solve the bugs on FPGA/ASIC environment.
  •  Proactively contribute in teamwork.
  •  Proactively engage with other teams including SoC, hardware, validation teams with good communication skills.

Qualifications:

  • Experience of developing error recovery algorithm.
  • Experience or good knowledge over NAND flash commands and operations.
  •  Proficient in C or C++ programming.
  •  Hands-on experience in debugging tools such as JTAG, In-Circuit Emulator, etc.
  • Excellent code and design review skills.
  •  Ability to generate product level quality output.
  • Experience in software design and programming in embedded controller environment.
  •  Ability to work creatively and analytically in a problem- solving environment.
  • Good oral and written skills for communication and documentation.
  • Good understanding of ARM architecture and experience in ARM assembly is a plus.
  •  Good understanding in Linux kernel, device drivers and storage S/W stack is a plus.

[MUST]

-        5+ years of design and implementing experience in recovery algorithm

-        Working experience with enterprise SSD

-        2+ years of working experience with Flash Interface Layer

-        FA experience (need to know Flash Interface Layer level of SSD FW design/concepts)

-        Windows/Linux system knowledge (user/kernel space)

-        working programming skill (any language – prefer C/C++ & scripting with JavaScript/Python)

-        Team player

[Expected skills]

-        C, C++, Javascript, Python

-        Knowledge of SATA / PCIe-NVMe spec (at least know how to read/interpret the spec + know where to get the info/data)

-        Working knowledge of protocol analyzer

-        General SSD knowledge (host / back-end);

-        SW automation

-        Planning

-        Human attributes