Under Threat: How SSDs in Edge Computing Applications Can Maintain High Data Security and Integrity
September 14, 2021
Artificial intelligence (AI) is a data-heavy, compute-intensive technology. In embedded computing systems, it requires an inference engine typically hosted in a microprocessor or FPGA to detect patterns in a set of data. Connectivity and hardware constraints dictate that some or all of an AI system’s neural networking processing is performed locally, at the edge of the network. And this calls for local storage with high data capacity.
Given the large quantities of data handled by the typical edge computing application, the most suitable type of device for local data storage will be a solid-state disk (SSD) providing multiple tens of gigabytes of storage capacity.
So what are the key issues for IoT and embedded system developers to take account of when specifying an SSD for an edge computing application? It’s easy to assume that storage is a simple function and that an SSD lacks the smarts of a microcontroller or microprocessor. Not so — an SSD must be capable of playing an active role in the maintenance of an application’s data security and integrity.
An engineer specifying an SSD for embedded computing systems can benefit from an understanding of the functions and technologies that advanced SSDs deploy to keep user data and code safe from attack or impairment.
Connected to a hostile world
The AI systems that edge computing systems implement are often mission- or safety-critical. This is the case in a car, where driver assistance systems that detect pedestrians save lives. In the industrial environment, AI systems that perform condition-based monitoring of machines play an essential role in keeping production lines running.
So any threat to the stored data on which the AI system depends is a threat to the whole system. And any networked system is vulnerable to attack by a range of agents including hackers, commercial competitors, organized crime and hostile nation states.
All such threats to stored data can be thwarted by the application of modern security counter-measures:
Device authentication prevents unauthorized devices from modifying or replacing stored data
- Encryption of data at rest and in transit between devices means that it can only be read by authorized users who possess the secret key for decryption
Risk to the data on which edge computing systems operate does not, however, only arise from security threats. The operating environment can also impair the integrity of data stored in an SSD: extreme temperatures, shock and vibration, and unexpected power outages can all cause data bits to be lost or corrupted.
Storage market sets new benchmarks for security and integrity performance
The safety- or mission-critical nature of most AI-based embedded systems means that users need the strongest possible guarantee that the SSD will operate reliably, without losing or impairing data, and protect it from cyber-attack.
This requirement has become harder to achieve in recent years for two reasons. One is the increasing sophistication of the methods which hackers and cyber-criminals use to bypass security protections. The industry standard for the protection of data from snooping or tampering is the AES cryptographic algorithm. When AES cryptography is implemented in an SSD, it ensures that all data is stored in a secure, encrypted state. This provides a practically unbreakable barrier to attackers who want to steal or view stored data.
The second challenge today comes from the type of memory arrays used in modern, high-density SSDs. To provide high storage capacity of as much as 1TB in compact, chip-style form factors, embedded SSDs contain the latest Triple-Level Cell (TLC) or Quad-Level Cell (QLC) NAND Flash technology.
Compared to older Single-Level Cell (SLC) NAND memory, TLC and QLC NAND provide much higher memory density, but are less inherently robust. In TLC and QLC NAND arrays, the effects of repeated program/erase cycles and high-temperature operation can lead to increased bit error rates and a higher risk of data loss.
To counter these effects, today’s SSDs deploy advanced forms of Error Correction Code (ECC), which detect and correct bit errors generated during Read or Write operations in TLC or QLC NAND memory (see Figure 1).
SSDs can also implement sophisticated measures to protect data from loss at high operating temperatures, or after many program/erase cycles. Intelligent sensing in the SSD can detect at-risk memory cells, and recharge them automatically. The latest SSD technologies use complex algorithms to configure the timing of recharge operations depending on the number of program/erase cycles, operating temperature history, and the frequency and severity of bit errors analyzed on a block-by-block basis.
Fig. 1: ECC software applied at every data transfer point in an SSD protects the integrity of the data. (Image credit: Silicon Motion)
The crucial role of firmware in a secure, robust SSD
While Figure 1 illustrates the hardware components of an SSD, the most important component is not shown: the firmware which controls system operation. Every SSD includes firmware to implement basic functions such as data addressing, data retrieval, and allocation of data to memory blocks.
Fig. 2: modern SSDs use a variety of error correction algorithms to maintain data integrity over the lifetime of the device. (Image credit: Silicon Motion)
But in the most advanced SSDs, the firmware performs an additional range of sophisticated functions:
- Enhance the security of data
- Maintain data integrity by managing ECC software (see Figure 2)
- Prolong data retention by managing the physical condition of the NAND Flash array and refreshing at-risk data
An SSD’s firmware is readily configurable, so the functions that it performs can be made highly adaptive to the conditions to which each individual SSD is exposed – physical factors such as temperature and power cycling, as well as logical factors such as the number and type of program and erase operations.
For the embedded system developer, this means that the SSD’s firmware is as important a feature to evaluate as hardware specifications such as memory capacity, data retention time, and the program/erase cycle rating. Differences in firmware between one model of SSD and another play out in important parameters such as lifetime and bit error rates.
High-performance firmware can also control the operation of critical environmental protection functions which ensure that data integrity is maintained in adverse operating conditions. For instance, SSD firmware can implement data flush operations to save data being transferred to or from the NAND Flash array in the event of an unexpected power outage.
Comprehensive protection of critical application data
Edge computing systems process huge amounts of critical data, which in automotive, industrial, consumer or medical systems can be mission- or safety-critical, or subject to profound privacy concerns.
The threat to data applies as much to data stored in an SSD as it does to a device’s SoC, through which all application data pass. This means that an SSD requires comprehensive security and environmental protection functions.
System developers will benefit from careful evaluation of SSDs for embedded computing, to ensure that they provide comprehensive encryption of stored data, robust error correction for data stored in TLC or QLC NAND, and sophisticated monitoring and data protection functions to preserve the integrity of data stored in applications exposed to high temperatures or repeated program/erase cycles (see Figure 3).
Fig. 3: FerriSSD products in a BGA chip-style package meet edge computing applications’ need for high-density data storage up to 480GB in a small footprint. (Image credit: Silicon Motion)