Designing Artificial Intelligence and Security into High-Performance SSDs

Michael Thompson, Sr. Product Marketing Manager, Synopsys 

In recent years, the memory used in electronic devices has been rapidly growing in volume. There is more storage capacity in the phone in your pocket than was in a mainframe computer 15 years ago. Autonomous vehicles, augmented reality, machine vision, and personal assistants are all seeing significant increases in capability and a common link in all of them is the need for large amounts of memory. The rapid growth in the size of storage is creating challenges in the design of SSD controllers, with compute in storage and artificial intelligence (AI) being employed to handle many new tasks. The increasing amount of information and processing power in SSDs also makes them a point of attack for hackers. With this growing threat the implementation of encryption and security is essential.  

Compute in Storage

As the size of SSDs grows, the need to do more processing inside of drives is also growing. Compute in storage is being used to deal with latency and power issues associated with moving large amounts of data and extending drive life while increasing reliability. In the past, data was moved from a drive to a compute device for processing. In enterprise systems, the data had to be transferred across multiple interfaces and protocols. Not only does this take time and increase latency but it also burns power. In the end, multiple copies of data would be held at different points in the system, increasing memory needs, and lowering data security. 

To eliminate these issues, compute is being moved into the storage device. This results in a significant reduction in data movement, minimized latency, reduced power, and increased data security because the data stays inside of the drive. An additional benefit is that the processing can be optimized for the workload, resulting in increased throughput and performance.  

Compute in storage is also being used to increase the reliability and endurance of SSDs. To increase the density of flash memory, designers have increased the number of bits that can be stored per cell. As the number of bits stored in a cell increases, the number of program/erase cycles that the cell can endure declines significantly. This is a big problem in SSDs, especially in enterprise applications where a cell could be erased and reprogrammed many times in a day. It is necessary to design storage controllers with enough performance to support in-storage compute using smart storage to deal with both the write amplification factor and the program/erase cycles of the memory to maximize endurance and reliability.  

Artificial Intelligence in Storage

This support is increasingly being implemented with AI. By using AI, the storage controller can determine where to store data based on how the data is likely to be used and accessed as well as by the type of memory that is available in the SSD. Data that must be accessed and written often can be stored in DRAM while data that is erased and written less often can be stored in the various levels of flash memory. 

 

Figure 1: The training and inferencing stages of AI in storage 

Using AI to increase SSD endurance and reliability involves measuring the characteristics of the memory such as: voltage threshold, page type, neighboring cell data, data-retention time, and write/erase cycles. These are then used as input for training the AI algorithm to get useful results.  Implementing the AI framework requires testing algorithms to find what works best for the specific memory and to create a graph of the target algorithm. The graph with the input coefficients (or weights) is determined through graph training and then programmed into the AI engine in the storage controller (Figure 1). This can be a very time-consuming process because of the testing and refining that happens when striving for the desired results.  

AI is also being used to generate metadata at the storage point to describe and save information about the data being stored. This makes it much easier to find specific data in an SSD and increases efficiency while searching the drive. Access to the data is what is fueling big data analytics, and this is being significantly augmented by using AI in storage. The use of AI will continue to grow in storage designs, and the benefits will increase as the AI engines become more powerful and the capabilities become better understood. 

The Need for Security

As the size and complexity of SSDs increases, the risk of cybersecurity threats also grows. SSDs can contain sensitive data. While encrypting the data is a good step to take, it isn’t enough to fully protect the drive.  If the controller in the SSD can be hacked the data can potentially be decrypted and stolen. SSD designers must plan for and build security into their compute in storage and controller devices. 

To ensure that an SSD has not been compromised, it should be able to assess its own integrity as it comes out of reset. When it determines it is secure, it can bring up the rest of the SSD drive and connections to the network. The best way to do this is to use a trusted execution environment (TEE) that is based on a separate processor in the SSD. The TEE supplies security services that can be used to build trust in the rest of the system. Separating the security processing function from other processing activity enables the security processor to run the security protocols in a very small, tightly controlled environment.   

 

SSD Drive with compute in storage

Figure 2: tRoot HSMs provide a trusted execution environment (TEE) to protect secure data 

The DesignWare® tRoot Hardware Secure Modules (HSMs) with Root of Trust provide designers with a trusted execution environment that protects sensitive information and data processing within the SSD and communication with external entities (Figure 2). The HSMs provide the capability to create, store, and manage data in the SSD in a secure fashion and then extend the trust to other internal and external entities as different systems that require authentication after reset. The tRoot HSMs reduce the requirements for designers to be able to manage their own security requirements. They offer designers options to create solutions with the most efficient combination of power, area, and performance and implement security-critical functions such as secure boot, debug, anti-tampering, and key management. 

ARC Processors for Storage

Synopsys DesignWare ARC® processors are widely used in flash storage controllers. They offer the highest performance-efficiency with a broad range of processor performance and capability. They support easy customization, reduce system latency and power consumption, while offering best-in-class code density. The ARC EM processors are designed for low power and small area, consuming as little as 2 uW/MHz power and are widely used in eMMC controllers. The ARC HS processors are designed for high performance, delivering up to 7500 DMIPS per core, and are widely used in SSD controllers and for in-storage compute processing.   

 

Figure 3: SSD Drive with compute in storage

The ARC EV processors offer a fully programmable and scalable solution for AI. They are implemented with a high-performance scalar core coupled with a 512-bit wide vector DSP. If implementation of object detection and classification is desired in the drive, an optional convolutional neural network (CNN) engine supports HD video streams.

Summary

The increase in size and performance of SSDs is enabling a range of new electronic products that are changing our world. This rapid growth in SSD capacity is changing the considerations in flash controller design. Compute in storage is now important for many SSD applications and increasingly this is being implemented with artificial intelligence. Security is also a critical consideration that must be addressed in the design of storage controllers. Synopsys offers a full range of IP to support flash storage controllers including security IP and ARC EM, HS, and EV processors. Synopsys DesignWare IP enables engineers to create state-of-the-art SSD controller designs that deliver optimal performance across the full range of flash storage application requirements.