×

Processing host transfer requests for direct block access storage devices

  • US 8,458,381 B2
  • Filed: 09/01/2010
  • Issued: 06/04/2013
  • Est. Priority Date: 09/23/2009
  • Status: Active Grant
First Claim
Patent Images

1. A method of processing, by a media controller, a transfer request from a host device, the method comprising:

  • generating, by a host subsystem, a single host context corresponding to a received host transfer request, wherein the host transfer request corresponds to data stored in one or more non-contiguous locations of a storage media coupled to the media controller, wherein the host transfer request is validated by a host command scheduler in the host subsystem;

    generating, by a programmable sequencer based on the host context, one or more sequencer contexts, each of the one or more sequencer contexts corresponding to at least part of the host transfer request, each part of the host transfer request corresponding to one of the non-contiguous locations of the storage media, thereby automatically generating, based on a single host context, one or more sequencer contexts for a scatter-gather operation;

    providing, by the programmable sequencer, the one or more sequencer contexts to a buffer subsystem of the media controller;

    if the host transfer request is a read request;

    retrieving, by the buffer subsystem, the data associated with the one or more sequencer contexts of the read request, from at least one of i) a corresponding buffer of the media controller and ii) the storage media; and

    combining, by the host subsystem, the data corresponding to the one or more sequencer contexts into at least one host transfer to the host device; and

    transmitting each host transfer to the host device;

    otherwise, if the host transfer request is a write request;

    receiving, by the buffer subsystem, the data associated with the host context from the host device;

    splitting, by the host subsystem, the data corresponding to the host context into data portions corresponding to the one or more sequencer contexts; and

    storing the data associated with the one or more sequencer contexts of the write request to at least one of i) a corresponding buffer of the media controller and ii) the storage media,wherein host-side context processing and storage media-side context processing are performed in parallel.

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