×

Scatter-gather approach for parallel data transfer in a mass storage system

  • US 10,489,318 B1
  • Filed: 04/17/2015
  • Issued: 11/26/2019
  • Est. Priority Date: 03/15/2013
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus, comprising:

  • a volatile memory configured to store data;

    a Direct Memory Access (DMA) controller directly coupled by a local bus to the volatile memory;

    a first flash module comprising a first flash buffer chip, a first flash memory bus, and a first flash bank comprising a first plurality of flash devices including a first flash device, wherein the first plurality of flash devices are coupled by the first flash memory bus to the first flash buffer chip in the first flash module; and

    a second flash module comprising a second flash buffer chip, a second flash memory bus, and a second flash bank comprising a second plurality of flash devices including a second flash device, wherein the second plurality of flash devices are coupled by the second flash memory bus to the second flash buffer chip in the second flash module;

    wherein the first flash buffer chip in the first flash module and the second flash buffer chip in the second flash module are directly coupled by a flash interconnect to the DMA controller;

    wherein the flash interconnect comprises a first plurality of high speed buses that is directly coupled to the first flash buffer chip in the first flash module and to the DMA controller;

    wherein the flash interconnect comprises a second plurality of high speed buses that is directly coupled to the second flash buffer chip in the second flash module and to the first flash buffer chip in the first flash module;

    wherein the first flash device is configured to store a first data stripe of the data and wherein the second flash device is configured to store a second data stripe of the data;

    wherein the DMA controller comprises a DMA controller data buffer, a first DMA engine, and a second DMA engine;

    wherein the DMA controller data buffer comprises a first buffer location and a second buffer location;

    wherein the first DMA engine transfers the first data stripe between the first flash device and the first buffer location when a predetermined portion of data stripes is stored in the first flash buffer chip; and

    wherein the second DMA engine transfers the second data stripe between the second flash device and the second buffer location when a predetermined portion of data stripes is stored in the second flash buffer chip.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×