Segmenting read requests and interleaving segmented read and write requests to reduce latency and maximize throughput in a flash storage device
Abstract:
In an all-flash storage array, write requests can take about 9 to 10 times longer than a read request of the same size. There could be several problems when reading or writing from all-flash storage, such as a large write request slowing down small read requests, or other write requests. Also, a large read request may slow down smaller read requests by filling the incoming requests queue. In one implementation, a determination is made on what is the maximum size of a request to flash storage that improves the throughput of a flash chip (e.g., write requests beyond a certain size do not improve throughput). A chunklet is defined as a block of data having the calculated maximum size. As write requests come in, the write requests are broken into chunklets, and then the chunklets are queued for processing by the flash chip. One chunklet is processed at a time per write request. This way, one write request does not monopolize the use of the flash chip for a period of time, allowing other requests to be queued while the chunklet is being processed by the all-flash storage.
Information query
Patent Agency Ranking
0/0