The main objective of the SSD Self-Test Diagnostic Framework project, performed for one of the world’s leading semiconductor companies, was to develop the diagnostic framework and a set of real-time performance optimization routines to be used during the manufacture and quality verification of each newly produced enterprise SSD.
The verification needed to be performed before the drive leaves production to the buyer’s facilities. A large subset of diagnostics were used for optimization of NAND flash access algorithms to substantially prolong drive lifecycle.
As part of these diagnostics, the PSA team reviewed and ported legacy diagnostics API and test commands from the previous SSD. A number of enhancements were made as well, such as development of proprietary algorithms, parallel multi-processor commands execution and support of new interleave commands providing a pre-determined performance for new high-capacity SSD. As part of the project, the infrastructure and diagnostic commands were validated on FGPA board in the customer’s laboratory for later integration with proprietary System-on-Chip.
The Scope of the Project:
Firstly, our team conducted the necessary requirements gathering and updates. After that, we worked on the architecture and design documentation. As well, we worked on verification and porting of the legacy code. We then worked on developing the Linux based NAND access interface simulator.
After that we focused on code reviews and technology transfer. We provided as well onsite development support for the entire duration of the project.
The total duration of the project took 1 year and required a team of 5 engineers.
From a Project Management perspective, the way we managed the project was in Agile Sprints, consisting of:
– Weekly updated project plan and budget
– Managing the program consisting of Fixed price and Time and Material projects
– Regular stand-up calls with customer representatives
– Daily oversight and review of all activities.
The Technologies that we used in the development process are:
– Agile (Scrum)
– Embedded C
– Xilix, Altera FPGA’s
– SlickEdit, Tera Term, SourcePoint
– Code Collaborator
If you are interested in talking to our development team about a concept you would like to create or a project you are currently working on, get in touch with us at firstname.lastname@example.org.