Browse Prior Art Database

Optimizing Solid State Drive performance by separating Flash management and host controller command processing

IP.com Disclosure Number: IPCOM000228720D
Publication Date: 2013-Jul-01
Document File: 4 page(s) / 142K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method, applied to Solid State Drives, that separates the host command processing and flash management firmware onto different processing nodes such that operations from one are isolated from operations on the other. This design addresses the problem of processing delays.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 4

Optimizing Solid State Drive performance by separating Flash management and host controller command processing

In a Solid State Drive (SSD), two main services must be performed. First, the SSD must handle and respond to commands sent by the host controller to which it is attached. Second, the SSD must interact with its embedded flash controller in order to save data from the host controller to flash, read data from the flash, and provide that data to the host controller, and perform garbage collection operations. It is important that SSDs have low latency when responding to host controller commands. Processing delays caused by contention between the host processing service and the flash management service can severely impact latency and overall performance. This problem is amplified if the host controller is able to queue a large amount of outstanding commands to the Solid State Disk and is further amplified if the embedded flash controller must perform error detection and correction for any of the commands.

Current solutions to the problem implement a complicated queueing and interleaving mechanism such that host controller commands and flash controller management are interleaved to hide the various latencies involved. The drawback to these types of solutions is twofold. First, the algorithms can become extremely complicated, leading to a large amount of exception conditions with a large probability of introducing difficult to find bugs. Second, even small modifications to the processing code can result in the entire interleaving mechanism to become inefficient, requiring developers to re-tune the algorithm with each change.

A solution is required that separates the host command processing from the flash management processing in such a way

that host command processing is not impacted by any operations being performed by the flash management process, but al...