by Thomas M. Rent

SSD Architecture

While FLASH memory is the cornerstone of the Solid State Drive (SSD) and FLASH-based drives (USB Thumbdrives), before data gets to the FLASH memory, there are several other SSD components that data must pass through. Core drive functions in an SSD include FLASH addressing, control, error handling, and scaling. 

A combination of hardware, firmware, and software approaches are used for each of these drive management functions, with trade-offs being made by the system designer to establish the ideal mix for each flash-based drive.

The primary trade-offs include:
  • Performance
    • Access latency
    • Sustained Read rate
    • Sustained write rate
    • Reformatting time (TRIM)
  • Physical limits and goals
    • Packaging (form factor, PWB, and available component packages)
    • Power usage and dissipation
    • Weight
    • Scaling (add parts, use denser parts, add submodules)
  • Cost
    • Competitive base offering
    • Competitive scaled offering
  • System Interface
    • Fixed (one and only one target system interface)
    • Available with different interfaces (i.e.: SATA and SAS)
    • Available with multiple interfaces (i.e.: 1394/Firewire and USB)
Once a set of requirements are established for an individual SSD, the system architect is able to explore a wide range of approaches to achieve the requirements. It is an iterative process where various solutions are generated, simulated, tested, and compared, with one System Design ultimately being selected for implementation. 
This final system design identifies which parts of each of the management functions (addressing, control, error handling, and scaling) are to be provided by hardware, firmware, and software – both at the product offering level and in the software driver at the host level.
Figure 1 illustrates a general view of the common architectural system component associated with any SDD system. Table 1 provides summary details for each component of functional area.
SSD Architecture Components
Figure 2 illustrates a simplest equivalent implementation that most people are familiar with; -  a USB thumbdrive. In the case of the thumb drive, a simple up to two FLASH chips are combined with a single controller chip to comprise a SSD drive. The controller utilizes firmware for many functions rather than dedicated (and faster) hardware. In the case of thumbdrives, cost is the overriding criteria so more functions are done in software in the controller and in the host driver, rather than in hardware.  
Flash Drive Architecture Components
Return to the SSD Guide